--- /srv/rebuilderd/tmp/rebuilderdgZLZaF/inputs/libfftw3-dev_3.3.10-2+b1_armhf.deb +++ /srv/rebuilderd/tmp/rebuilderdgZLZaF/out/libfftw3-dev_3.3.10-2+b1_armhf.deb ├── file list │ @@ -1,3 +1,3 @@ │ -rw-r--r-- 0 0 0 4 2024-11-29 16:21:01.000000 debian-binary │ -rw-r--r-- 0 0 0 1232 2024-11-29 16:21:01.000000 control.tar.xz │ --rw-r--r-- 0 0 0 833284 2024-11-29 16:21:01.000000 data.tar.xz │ +-rw-r--r-- 0 0 0 831084 2024-11-29 16:21:01.000000 data.tar.xz ├── control.tar.xz │ ├── control.tar │ │ ├── ./control │ │ │ @@ -1,13 +1,13 @@ │ │ │ Package: libfftw3-dev │ │ │ Source: fftw3 (3.3.10-2) │ │ │ Version: 3.3.10-2+b1 │ │ │ Architecture: armhf │ │ │ Maintainer: Debian Science Maintainers │ │ │ -Installed-Size: 3200 │ │ │ +Installed-Size: 3275 │ │ │ Depends: libfftw3-bin (= 3.3.10-2+b1), libfftw3-double3 (= 3.3.10-2+b1), libfftw3-single3 (= 3.3.10-2+b1) │ │ │ Suggests: libfftw3-doc │ │ │ Section: libdevel │ │ │ Priority: optional │ │ │ Multi-Arch: same │ │ │ Homepage: https://fftw.org │ │ │ Description: Library for computing Fast Fourier Transforms - development │ │ ├── ./md5sums │ │ │ ├── ./md5sums │ │ │ │┄ Files differ ├── data.tar.xz │ ├── data.tar │ │ ├── file list │ │ │ @@ -4,20 +4,20 @@ │ │ │ -rw-r--r-- 0 root (0) root (0) 2447 2024-11-29 16:21:01.000000 ./usr/include/fftw3.f │ │ │ -rw-r--r-- 0 root (0) root (0) 55032 2024-11-29 16:21:01.000000 ./usr/include/fftw3.f03 │ │ │ -rw-r--r-- 0 root (0) root (0) 31986 2024-11-29 16:21:01.000000 ./usr/include/fftw3.h │ │ │ -rw-r--r-- 0 root (0) root (0) 27203 2024-11-29 16:21:01.000000 ./usr/include/fftw3l.f03 │ │ │ -rw-r--r-- 0 root (0) root (0) 25902 2024-11-29 16:21:01.000000 ./usr/include/fftw3q.f03 │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-11-29 16:21:01.000000 ./usr/lib/ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-11-29 16:21:01.000000 ./usr/lib/arm-linux-gnueabihf/ │ │ │ --rw-r--r-- 0 root (0) root (0) 1166786 2024-11-29 16:21:01.000000 ./usr/lib/arm-linux-gnueabihf/libfftw3.a │ │ │ --rw-r--r-- 0 root (0) root (0) 25918 2024-11-29 16:21:01.000000 ./usr/lib/arm-linux-gnueabihf/libfftw3_omp.a │ │ │ --rw-r--r-- 0 root (0) root (0) 28702 2024-11-29 16:21:01.000000 ./usr/lib/arm-linux-gnueabihf/libfftw3_threads.a │ │ │ --rw-r--r-- 0 root (0) root (0) 1810484 2024-11-29 16:21:01.000000 ./usr/lib/arm-linux-gnueabihf/libfftw3f.a │ │ │ --rw-r--r-- 0 root (0) root (0) 26076 2024-11-29 16:21:01.000000 ./usr/lib/arm-linux-gnueabihf/libfftw3f_omp.a │ │ │ --rw-r--r-- 0 root (0) root (0) 28866 2024-11-29 16:21:01.000000 ./usr/lib/arm-linux-gnueabihf/libfftw3f_threads.a │ │ │ +-rw-r--r-- 0 root (0) root (0) 1197214 2024-11-29 16:21:01.000000 ./usr/lib/arm-linux-gnueabihf/libfftw3.a │ │ │ +-rw-r--r-- 0 root (0) root (0) 27010 2024-11-29 16:21:01.000000 ./usr/lib/arm-linux-gnueabihf/libfftw3_omp.a │ │ │ +-rw-r--r-- 0 root (0) root (0) 29854 2024-11-29 16:21:01.000000 ./usr/lib/arm-linux-gnueabihf/libfftw3_threads.a │ │ │ +-rw-r--r-- 0 root (0) root (0) 1852524 2024-11-29 16:21:01.000000 ./usr/lib/arm-linux-gnueabihf/libfftw3f.a │ │ │ +-rw-r--r-- 0 root (0) root (0) 27168 2024-11-29 16:21:01.000000 ./usr/lib/arm-linux-gnueabihf/libfftw3f_omp.a │ │ │ +-rw-r--r-- 0 root (0) root (0) 30018 2024-11-29 16:21:01.000000 ./usr/lib/arm-linux-gnueabihf/libfftw3f_threads.a │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-11-29 16:21:01.000000 ./usr/lib/arm-linux-gnueabihf/pkgconfig/ │ │ │ -rw-r--r-- 0 root (0) root (0) 245 2024-11-29 16:21:01.000000 ./usr/lib/arm-linux-gnueabihf/pkgconfig/fftw3.pc │ │ │ -rw-r--r-- 0 root (0) root (0) 246 2024-11-29 16:21:01.000000 ./usr/lib/arm-linux-gnueabihf/pkgconfig/fftw3f.pc │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-11-29 16:21:01.000000 ./usr/share/ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-11-29 16:21:01.000000 ./usr/share/doc/ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-11-29 16:21:01.000000 ./usr/share/doc/libfftw3-dev/ │ │ │ -rw-r--r-- 0 root (0) root (0) 10046 2021-02-25 22:52:19.000000 ./usr/share/doc/libfftw3-dev/NEWS.gz │ │ ├── ./usr/lib/arm-linux-gnueabihf/libfftw3.a │ │ │ ├── nm -s {} │ │ │ │┄ error from `nm -s {}`: │ │ │ │┄ nm: debug.o: no symbols │ │ │ │┄ nm: altivec.o: no symbols │ │ │ │┄ nm: avx-128-fma.o: no symbols │ │ │ │┄ nm: avx.o: no symbols │ │ │ │┄ nm: avx2.o: no symbols │ │ │ │┄ nm: avx512.o: no symbols │ │ │ │┄ nm: kcvi.o: no symbols │ │ │ │┄ nm: neon.o: no symbols │ │ │ │┄ nm: sse2.o: no symbols │ │ │ │┄ nm: taint.o: no symbols │ │ │ │┄ nm: vsx.o: no symbols │ │ │ │ @@ -637,16 +637,16 @@ │ │ │ │ align.o: │ │ │ │ 00000000 T fftw_ialignment_of │ │ │ │ │ │ │ │ alloc.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000008 r .LC1 │ │ │ │ U fftw_assertion_failed │ │ │ │ -00000030 T fftw_ifree │ │ │ │ -00000034 T fftw_ifree0 │ │ │ │ +00000034 T fftw_ifree │ │ │ │ +00000038 T fftw_ifree0 │ │ │ │ U fftw_kernel_free │ │ │ │ U fftw_kernel_malloc │ │ │ │ 00000000 T fftw_malloc_plain │ │ │ │ │ │ │ │ assert.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ @@ -659,41 +659,41 @@ │ │ │ │ │ │ │ │ awake.o: │ │ │ │ 00000000 T fftw_null_awake │ │ │ │ │ │ │ │ buffered.o: │ │ │ │ U __aeabi_idiv │ │ │ │ U __aeabi_idivmod │ │ │ │ -00000064 T fftw_bufdist │ │ │ │ +00000084 T fftw_bufdist │ │ │ │ U fftw_imax │ │ │ │ U fftw_imin │ │ │ │ U fftw_modulo │ │ │ │ 00000000 T fftw_nbuf │ │ │ │ -00000088 T fftw_nbuf_redundant │ │ │ │ -0000007c T fftw_toobig │ │ │ │ +000000ac T fftw_nbuf_redundant │ │ │ │ +000000a0 T fftw_toobig │ │ │ │ │ │ │ │ cpy1d.o: │ │ │ │ 00000000 T fftw_cpy1d │ │ │ │ │ │ │ │ cpy2d-pair.o: │ │ │ │ 00000000 T fftw_cpy2d_pair │ │ │ │ -00000140 T fftw_cpy2d_pair_ci │ │ │ │ -0000018c T fftw_cpy2d_pair_co │ │ │ │ -000000d8 T fftw_zero1d_pair │ │ │ │ +00000190 T fftw_cpy2d_pair_ci │ │ │ │ +000001f0 T fftw_cpy2d_pair_co │ │ │ │ +00000104 T fftw_zero1d_pair │ │ │ │ U memset │ │ │ │ │ │ │ │ cpy2d.o: │ │ │ │ -0000015c t dotile │ │ │ │ -00000248 t dotile_buf │ │ │ │ +00000190 t dotile │ │ │ │ +000002c8 t dotile_buf │ │ │ │ U fftw_compute_tilesz │ │ │ │ 00000000 T fftw_cpy2d │ │ │ │ -000001ac T fftw_cpy2d_ci │ │ │ │ -000001fc T fftw_cpy2d_co │ │ │ │ -000002b8 T fftw_cpy2d_tiled │ │ │ │ -0000030c T fftw_cpy2d_tiledbuf │ │ │ │ +000001f8 T fftw_cpy2d_ci │ │ │ │ +00000260 T fftw_cpy2d_co │ │ │ │ +00000348 T fftw_cpy2d_tiled │ │ │ │ +000003b0 T fftw_cpy2d_tiledbuf │ │ │ │ U fftw_tile2d │ │ │ │ │ │ │ │ ct.o: │ │ │ │ U __aeabi_idiv │ │ │ │ 00000000 T fftw_ct_uglyp │ │ │ │ │ │ │ │ debug.o: │ │ │ │ @@ -710,170 +710,170 @@ │ │ │ │ kalloc.o: │ │ │ │ 00000004 T fftw_kernel_free │ │ │ │ 00000000 T fftw_kernel_malloc │ │ │ │ U free │ │ │ │ U malloc │ │ │ │ │ │ │ │ md5-1.o: │ │ │ │ -00000050 T fftw_md5INT │ │ │ │ -00000038 T fftw_md5int │ │ │ │ +00000070 T fftw_md5INT │ │ │ │ +00000054 T fftw_md5int │ │ │ │ 00000000 T fftw_md5putb │ │ │ │ U fftw_md5putc │ │ │ │ -00000020 T fftw_md5puts │ │ │ │ -00000068 T fftw_md5unsigned │ │ │ │ +00000030 T fftw_md5puts │ │ │ │ +0000008c T fftw_md5unsigned │ │ │ │ │ │ │ │ md5.o: │ │ │ │ 00000000 T fftw_md5begin │ │ │ │ -00000160 T fftw_md5end │ │ │ │ +000001a8 T fftw_md5end │ │ │ │ 00000030 T fftw_md5putc │ │ │ │ 00000100 r roundtab │ │ │ │ 00000000 r sintab │ │ │ │ │ │ │ │ minmax.o: │ │ │ │ 00000000 T fftw_imax │ │ │ │ 00000008 T fftw_imin │ │ │ │ │ │ │ │ ops.o: │ │ │ │ -000000a0 T fftw_ops_add │ │ │ │ -000000ac T fftw_ops_add2 │ │ │ │ -00000018 T fftw_ops_cpy │ │ │ │ -00000054 T fftw_ops_madd │ │ │ │ -000000b4 T fftw_ops_madd2 │ │ │ │ -00000034 T fftw_ops_other │ │ │ │ +000000b0 T fftw_ops_add │ │ │ │ +000000c0 T fftw_ops_add2 │ │ │ │ +0000001c T fftw_ops_cpy │ │ │ │ +00000064 T fftw_ops_madd │ │ │ │ +000000c8 T fftw_ops_madd2 │ │ │ │ +00000040 T fftw_ops_other │ │ │ │ 00000000 T fftw_ops_zero │ │ │ │ │ │ │ │ pickdim.o: │ │ │ │ 00000000 T fftw_pickdim │ │ │ │ │ │ │ │ plan.o: │ │ │ │ U fftw_ifree │ │ │ │ U fftw_malloc_plain │ │ │ │ 00000000 T fftw_mkplan │ │ │ │ U fftw_ops_zero │ │ │ │ -00000040 T fftw_plan_awake │ │ │ │ -00000024 T fftw_plan_destroy_internal │ │ │ │ -0000003c T fftw_plan_null_destroy │ │ │ │ +00000058 T fftw_plan_awake │ │ │ │ +00000038 T fftw_plan_destroy_internal │ │ │ │ +00000054 T fftw_plan_null_destroy │ │ │ │ │ │ │ │ planner.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 0000000c r .LC1 │ │ │ │ 00000024 r .LC2 │ │ │ │ 00000054 r .LC3 │ │ │ │ 00000058 r .LC4 │ │ │ │ 00000084 r .LC5 │ │ │ │ 00000094 r .LC6 │ │ │ │ 000000a4 r .LC7 │ │ │ │ 000000d8 r .LC8 │ │ │ │ 000000dc r .LC9 │ │ │ │ U __aeabi_uidivmod │ │ │ │ -000009ec t evaluate_plan │ │ │ │ -0000089c t exprt │ │ │ │ +00000b50 t evaluate_plan │ │ │ │ +000009e8 t exprt │ │ │ │ U fftw_assertion_failed │ │ │ │ U fftw_elapsed_since │ │ │ │ U fftw_hash │ │ │ │ -000009c0 T fftw_iestimate_cost │ │ │ │ +00000b20 T fftw_iestimate_cost │ │ │ │ U fftw_ifree │ │ │ │ U fftw_ifree0 │ │ │ │ U fftw_malloc_plain │ │ │ │ U fftw_md5begin │ │ │ │ U fftw_md5end │ │ │ │ U fftw_md5int │ │ │ │ U fftw_md5puts │ │ │ │ U fftw_md5unsigned │ │ │ │ U fftw_measure_execution_time │ │ │ │ -0000121c T fftw_mkplan_d │ │ │ │ -00001234 T fftw_mkplan_f_d │ │ │ │ -00001128 T fftw_mkplanner │ │ │ │ +00001438 T fftw_mkplan_d │ │ │ │ +0000145c T fftw_mkplan_f_d │ │ │ │ +00001314 T fftw_mkplanner │ │ │ │ U fftw_next_prime │ │ │ │ U fftw_plan_destroy_internal │ │ │ │ -000011d8 T fftw_planner_destroy │ │ │ │ +000013e0 T fftw_planner_destroy │ │ │ │ U fftw_problem_destroy │ │ │ │ U fftw_solver_destroy │ │ │ │ U fftw_solver_use │ │ │ │ -00000224 t forget │ │ │ │ -00000188 t hgrow │ │ │ │ -0000009c t hinsert0 │ │ │ │ -00000280 t htab_insert │ │ │ │ -000004b0 t htab_lookup │ │ │ │ -000005e0 t imprt │ │ │ │ +000002ac t forget │ │ │ │ +000001e0 t hgrow │ │ │ │ +000000c4 t hinsert0 │ │ │ │ +0000030c t htab_insert │ │ │ │ +0000057c t htab_lookup │ │ │ │ +000006d4 t imprt │ │ │ │ U memset │ │ │ │ -00000c7c t mkplan │ │ │ │ +00000e24 t mkplan │ │ │ │ 00000000 d padt.1 │ │ │ │ 00000000 t register_solver │ │ │ │ -00000a8c t search0 │ │ │ │ +00000c14 t search0 │ │ │ │ 00000000 r stimeout │ │ │ │ U strcmp │ │ │ │ │ │ │ │ primes.o: │ │ │ │ U __aeabi_idiv │ │ │ │ U __aeabi_idivmod │ │ │ │ -00000250 T fftw_choose_radix │ │ │ │ -000001f0 T fftw_factors_into │ │ │ │ -000002b0 T fftw_factors_into_small_primes │ │ │ │ -000000c4 T fftw_find_generator │ │ │ │ -00000188 T fftw_first_divisor │ │ │ │ -000001bc T fftw_is_prime │ │ │ │ -0000022c T fftw_isqrt │ │ │ │ -00000294 T fftw_modulo │ │ │ │ -000001d8 T fftw_next_prime │ │ │ │ -00000048 T fftw_power_mod │ │ │ │ -00000048 t fftw_power_mod.localalias │ │ │ │ +000002ec T fftw_choose_radix │ │ │ │ +0000026c T fftw_factors_into │ │ │ │ +0000035c T fftw_factors_into_small_primes │ │ │ │ +000000f0 T fftw_find_generator │ │ │ │ +000001e8 T fftw_first_divisor │ │ │ │ +0000022c T fftw_is_prime │ │ │ │ +000002b8 T fftw_isqrt │ │ │ │ +00000338 T fftw_modulo │ │ │ │ +00000250 T fftw_next_prime │ │ │ │ +0000004c T fftw_power_mod │ │ │ │ +0000004c t fftw_power_mod.localalias │ │ │ │ 00000000 T fftw_safe_mulmod │ │ │ │ 00000000 r primes.0 │ │ │ │ │ │ │ │ print.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000004 r .LC1 │ │ │ │ 0000000c r .LC2 │ │ │ │ U fftw_ifree │ │ │ │ U fftw_malloc_plain │ │ │ │ -0000037c T fftw_mkprinter │ │ │ │ -000003a8 T fftw_printer_destroy │ │ │ │ +000003d4 T fftw_mkprinter │ │ │ │ +00000410 T fftw_printer_destroy │ │ │ │ U fftw_tensor_print │ │ │ │ -00000360 t print │ │ │ │ +000003b4 t print │ │ │ │ 00000000 t vprint │ │ │ │ │ │ │ │ problem.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000010 r .LC1 │ │ │ │ U fftw_malloc_plain │ │ │ │ U fftw_md5puts │ │ │ │ 00000028 T fftw_mkproblem │ │ │ │ -00000040 T fftw_mkproblem_unsolvable │ │ │ │ -00000034 T fftw_problem_destroy │ │ │ │ +00000044 T fftw_mkproblem_unsolvable │ │ │ │ +00000038 T fftw_problem_destroy │ │ │ │ 00000000 d padt │ │ │ │ 00000000 d the_unsolvable_problem │ │ │ │ 00000000 t unsolvable_destroy │ │ │ │ 00000014 t unsolvable_hash │ │ │ │ 00000004 t unsolvable_print │ │ │ │ 00000024 t unsolvable_zero │ │ │ │ │ │ │ │ rader.o: │ │ │ │ U fftw_ifree │ │ │ │ U fftw_malloc_plain │ │ │ │ -0000005c T fftw_rader_tl_delete │ │ │ │ -00000030 T fftw_rader_tl_find │ │ │ │ +00000074 T fftw_rader_tl_delete │ │ │ │ +00000048 T fftw_rader_tl_find │ │ │ │ 00000000 T fftw_rader_tl_insert │ │ │ │ │ │ │ │ scan.o: │ │ │ │ U fftw_ifree │ │ │ │ U fftw_malloc_plain │ │ │ │ -000001e0 T fftw_mkscanner │ │ │ │ -00000208 T fftw_scanner_destroy │ │ │ │ +00000220 T fftw_mkscanner │ │ │ │ +00000248 T fftw_scanner_destroy │ │ │ │ 00000000 t getlong │ │ │ │ -000001c4 t scan │ │ │ │ -000000b4 t vscan │ │ │ │ +00000200 t scan │ │ │ │ +000000cc t vscan │ │ │ │ │ │ │ │ solver.o: │ │ │ │ U fftw_ifree │ │ │ │ U fftw_malloc_plain │ │ │ │ 00000000 T fftw_mksolver │ │ │ │ -00000018 T fftw_solver_destroy │ │ │ │ -00000038 T fftw_solver_register │ │ │ │ -00000010 T fftw_solver_use │ │ │ │ +00000020 T fftw_solver_destroy │ │ │ │ +00000048 T fftw_solver_register │ │ │ │ +00000014 T fftw_solver_use │ │ │ │ │ │ │ │ solvtab.o: │ │ │ │ 00000000 T fftw_solvtab_exec │ │ │ │ │ │ │ │ stride.o: │ │ │ │ 00000000 R fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ │ │ │ @@ -885,143 +885,143 @@ │ │ │ │ 0000001c r .LC4 │ │ │ │ 00000020 r .LC5 │ │ │ │ U fftw_ifree │ │ │ │ U fftw_malloc_plain │ │ │ │ U fftw_md5INT │ │ │ │ U fftw_md5int │ │ │ │ 00000000 T fftw_mktensor │ │ │ │ -00000028 T fftw_tensor_destroy │ │ │ │ -00000060 T fftw_tensor_md5 │ │ │ │ -000000d4 T fftw_tensor_print │ │ │ │ -0000002c T fftw_tensor_sz │ │ │ │ -000000a4 T fftw_tensor_tornk1 │ │ │ │ +0000003c T fftw_tensor_destroy │ │ │ │ +00000080 T fftw_tensor_md5 │ │ │ │ +00000118 T fftw_tensor_print │ │ │ │ +00000040 T fftw_tensor_sz │ │ │ │ +000000e0 T fftw_tensor_tornk1 │ │ │ │ │ │ │ │ tensor1.o: │ │ │ │ U fftw_mktensor │ │ │ │ 00000000 T fftw_mktensor_0d │ │ │ │ 00000008 T fftw_mktensor_1d │ │ │ │ │ │ │ │ tensor2.o: │ │ │ │ U fftw_mktensor │ │ │ │ 00000000 T fftw_mktensor_2d │ │ │ │ -00000024 T fftw_mktensor_3d │ │ │ │ +00000038 T fftw_mktensor_3d │ │ │ │ │ │ │ │ tensor3.o: │ │ │ │ U fftw_mktensor │ │ │ │ 00000000 T fftw_mktensor_4d │ │ │ │ -0000003c T fftw_mktensor_5d │ │ │ │ +00000050 T fftw_mktensor_5d │ │ │ │ │ │ │ │ tensor4.o: │ │ │ │ U fftw_iabs │ │ │ │ U fftw_imax │ │ │ │ U fftw_imin │ │ │ │ -000000f0 T fftw_tensor_inplace_strides │ │ │ │ -0000011c T fftw_tensor_inplace_strides2 │ │ │ │ +00000154 T fftw_tensor_inplace_strides │ │ │ │ +0000018c T fftw_tensor_inplace_strides2 │ │ │ │ 00000000 T fftw_tensor_max_index │ │ │ │ -00000058 T fftw_tensor_min_istride │ │ │ │ -00000094 T fftw_tensor_min_ostride │ │ │ │ -000000d4 T fftw_tensor_min_stride │ │ │ │ -00000138 T fftw_tensor_strides_decrease │ │ │ │ +00000074 T fftw_tensor_min_istride │ │ │ │ +000000d4 T fftw_tensor_min_ostride │ │ │ │ +0000012c T fftw_tensor_min_stride │ │ │ │ +000001a8 T fftw_tensor_strides_decrease │ │ │ │ │ │ │ │ tensor5.o: │ │ │ │ U fftw_mktensor │ │ │ │ -00000148 T fftw_tensor_append │ │ │ │ +000001c4 T fftw_tensor_append │ │ │ │ 00000000 T fftw_tensor_copy │ │ │ │ -00000088 T fftw_tensor_copy_except │ │ │ │ -00000040 T fftw_tensor_copy_inplace │ │ │ │ -00000100 T fftw_tensor_copy_sub │ │ │ │ +000000b8 T fftw_tensor_copy_except │ │ │ │ +00000058 T fftw_tensor_copy_inplace │ │ │ │ +0000016c T fftw_tensor_copy_sub │ │ │ │ │ │ │ │ tensor7.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 t compare_by_istride │ │ │ │ -00000024 T fftw_dimcmp │ │ │ │ +00000030 T fftw_dimcmp │ │ │ │ U fftw_iabs │ │ │ │ U fftw_imin │ │ │ │ U fftw_mktensor │ │ │ │ U fftw_tensor_append │ │ │ │ -000000ac T fftw_tensor_compress │ │ │ │ -00000144 T fftw_tensor_compress_contiguous │ │ │ │ +000000cc T fftw_tensor_compress │ │ │ │ +00000184 T fftw_tensor_compress_contiguous │ │ │ │ U fftw_tensor_copy_inplace │ │ │ │ U fftw_tensor_copy_sub │ │ │ │ U fftw_tensor_destroy │ │ │ │ U fftw_tensor_destroy4 │ │ │ │ -0000030c T fftw_tensor_equal │ │ │ │ -00000358 T fftw_tensor_inplace_locations │ │ │ │ -000002e8 T fftw_tensor_split │ │ │ │ +000003ac T fftw_tensor_equal │ │ │ │ +00000410 T fftw_tensor_inplace_locations │ │ │ │ +00000370 T fftw_tensor_split │ │ │ │ U fftw_tensor_sz │ │ │ │ U qsort │ │ │ │ │ │ │ │ tensor8.o: │ │ │ │ U fftw_tensor_destroy │ │ │ │ 00000000 T fftw_tensor_destroy2 │ │ │ │ -00000014 T fftw_tensor_destroy4 │ │ │ │ +00000018 T fftw_tensor_destroy4 │ │ │ │ │ │ │ │ tensor9.o: │ │ │ │ 00000000 T fftw_tensor_kosherp │ │ │ │ │ │ │ │ tile2d.o: │ │ │ │ U __aeabi_idiv │ │ │ │ -00000718 T fftw_compute_tilesz │ │ │ │ +00000784 T fftw_compute_tilesz │ │ │ │ U fftw_isqrt │ │ │ │ 00000000 T fftw_tile2d │ │ │ │ 00000000 t fftw_tile2d.localalias │ │ │ │ │ │ │ │ timer.o: │ │ │ │ U __aeabi_l2d │ │ │ │ U __gettimeofday64 │ │ │ │ -0000001c T fftw_elapsed_since │ │ │ │ +00000034 T fftw_elapsed_since │ │ │ │ 00000000 T fftw_get_crude_time │ │ │ │ -000000a0 T fftw_measure_execution_time │ │ │ │ +000000e8 T fftw_measure_execution_time │ │ │ │ │ │ │ │ transpose.o: │ │ │ │ 00000000 t dotile │ │ │ │ -00000198 t dotile_buf │ │ │ │ +000001cc t dotile_buf │ │ │ │ U fftw_compute_tilesz │ │ │ │ U fftw_cpy2d_ci │ │ │ │ U fftw_cpy2d_co │ │ │ │ U fftw_tile2d │ │ │ │ -00000564 T fftw_transpose │ │ │ │ -000006a4 T fftw_transpose_tiled │ │ │ │ -00000714 T fftw_transpose_tiledbuf │ │ │ │ -0000025c t transpose_rec │ │ │ │ +000005dc T fftw_transpose │ │ │ │ +00000754 T fftw_transpose_tiled │ │ │ │ +000007e4 T fftw_transpose_tiledbuf │ │ │ │ +000002a0 t transpose_rec │ │ │ │ │ │ │ │ trig.o: │ │ │ │ U __aeabi_idiv │ │ │ │ -000000b0 t cexp_zero │ │ │ │ -000001d0 t cexpl_sincos │ │ │ │ +000000b8 t cexp_zero │ │ │ │ +000001fc t cexpl_sincos │ │ │ │ 00000000 t cexpl_sqrtn_table │ │ │ │ -000001c0 t cexpl_zero │ │ │ │ +000001e8 t cexpl_zero │ │ │ │ U fftw_ifree │ │ │ │ U fftw_ifree0 │ │ │ │ U fftw_malloc_plain │ │ │ │ -00000290 T fftw_mktriggen │ │ │ │ -000003b8 T fftw_triggen_destroy │ │ │ │ -00000100 t real_cexp │ │ │ │ -000000c0 t rotate_generic │ │ │ │ -00000050 t rotate_sqrtn_table │ │ │ │ +000002d8 T fftw_mktriggen │ │ │ │ +00000434 T fftw_triggen_destroy │ │ │ │ +00000110 t real_cexp │ │ │ │ +000000cc t rotate_generic │ │ │ │ +00000054 t rotate_sqrtn_table │ │ │ │ U sincos │ │ │ │ │ │ │ │ twiddle.o: │ │ │ │ U __aeabi_idiv │ │ │ │ U __aeabi_idivmod │ │ │ │ U fftw_ifree │ │ │ │ U fftw_malloc_plain │ │ │ │ U fftw_mktriggen │ │ │ │ U fftw_safe_mulmod │ │ │ │ U fftw_triggen_destroy │ │ │ │ -00000040 T fftw_twiddle_awake │ │ │ │ +00000048 T fftw_twiddle_awake │ │ │ │ 00000000 T fftw_twiddle_length │ │ │ │ 00000000 b twlist │ │ │ │ │ │ │ │ bluestein.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ -00000028 t apply │ │ │ │ -0000023c t awake │ │ │ │ -00000020 t destroy │ │ │ │ -00000504 T fftw_dft_bluestein_register │ │ │ │ +0000002c t apply │ │ │ │ +00000274 t awake │ │ │ │ +00000024 t destroy │ │ │ │ +000005a0 T fftw_dft_bluestein_register │ │ │ │ U fftw_dft_solve │ │ │ │ U fftw_factors_into_small_primes │ │ │ │ U fftw_ifree │ │ │ │ U fftw_ifree0 │ │ │ │ U fftw_is_prime │ │ │ │ U fftw_malloc_plain │ │ │ │ U fftw_mkplan_dft │ │ │ │ @@ -1031,28 +1031,28 @@ │ │ │ │ U fftw_mktensor_1d │ │ │ │ U fftw_mktriggen │ │ │ │ U fftw_ops_add │ │ │ │ U fftw_plan_awake │ │ │ │ U fftw_plan_destroy_internal │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_triggen_destroy │ │ │ │ -000003b0 t mkplan │ │ │ │ +0000041c t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ 00000000 t print │ │ │ │ 00000000 d sadt.1 │ │ │ │ │ │ │ │ lt1-buffered.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ U __aeabi_idiv │ │ │ │ U __aeabi_idivmod │ │ │ │ -0000003c t apply │ │ │ │ -000003dc t awake │ │ │ │ -000000e8 t destroy │ │ │ │ +00000054 t apply │ │ │ │ +00000458 t awake │ │ │ │ +00000124 t destroy │ │ │ │ U fftw_bufdist │ │ │ │ -000003fc T fftw_dft_buffered_register │ │ │ │ +00000484 T fftw_dft_buffered_register │ │ │ │ U fftw_dft_solve │ │ │ │ U fftw_ifree │ │ │ │ U fftw_ifree0 │ │ │ │ U fftw_malloc_plain │ │ │ │ U fftw_mkplan_d │ │ │ │ U fftw_mkplan_dft │ │ │ │ U fftw_mkplan_f_d │ │ │ │ @@ -1070,15 +1070,15 @@ │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_tensor_copy │ │ │ │ U fftw_tensor_inplace_strides2 │ │ │ │ U fftw_tensor_sz │ │ │ │ U fftw_tensor_tornk1 │ │ │ │ U fftw_toobig │ │ │ │ 00000000 r maxnbufs │ │ │ │ -00000104 t mkplan │ │ │ │ +00000144 t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ 00000000 t print │ │ │ │ 00000000 d sadt.1 │ │ │ │ │ │ │ │ conf.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ U fftw_ct_generic_register │ │ │ │ @@ -1098,199 +1098,199 @@ │ │ │ │ 00000000 d s │ │ │ │ │ │ │ │ lt2-ct.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000004 r .LC1 │ │ │ │ 00000008 r .LC2 │ │ │ │ U __aeabi_idiv │ │ │ │ -00000024 t apply_dif │ │ │ │ +00000038 t apply_dif │ │ │ │ 00000000 t apply_dit │ │ │ │ -000000a8 t awake │ │ │ │ -00000094 t destroy │ │ │ │ +000000d4 t awake │ │ │ │ +000000bc t destroy │ │ │ │ U fftw_choose_radix │ │ │ │ -000000c0 T fftw_ct_applicable │ │ │ │ +000000f8 T fftw_ct_applicable │ │ │ │ U fftw_dft_solve │ │ │ │ U fftw_mkplan │ │ │ │ U fftw_mkplan_d │ │ │ │ U fftw_mkplan_dft │ │ │ │ -0000037c T fftw_mkplan_dftw │ │ │ │ +000003f8 T fftw_mkplan_dftw │ │ │ │ U fftw_mkproblem_dft_d │ │ │ │ U fftw_mksolver │ │ │ │ -0000035c T fftw_mksolver_ct │ │ │ │ +000003cc T fftw_mksolver_ct │ │ │ │ 00000000 B fftw_mksolver_ct_hook │ │ │ │ U fftw_mktensor_1d │ │ │ │ U fftw_mktensor_2d │ │ │ │ U fftw_ops_add │ │ │ │ U fftw_plan_awake │ │ │ │ U fftw_plan_destroy_internal │ │ │ │ U fftw_tensor_tornk1 │ │ │ │ -00000138 t mkplan │ │ │ │ +00000180 t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ -00000050 t print │ │ │ │ +00000078 t print │ │ │ │ 00000000 d sadt.1 │ │ │ │ │ │ │ │ dftw-direct.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000024 r .LC1 │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ U __aeabi_idiv │ │ │ │ 00000000 t apply │ │ │ │ -00000440 t apply_buf │ │ │ │ -00000050 t apply_extra_iter │ │ │ │ -00000150 t awake │ │ │ │ -000000e0 t destroy │ │ │ │ +000004e0 t apply_buf │ │ │ │ +00000068 t apply_extra_iter │ │ │ │ +000001ac t awake │ │ │ │ +00000124 t destroy │ │ │ │ U fftw_cpy2d_pair_ci │ │ │ │ U fftw_cpy2d_pair_co │ │ │ │ U fftw_ct_uglyp │ │ │ │ U fftw_ifree │ │ │ │ U fftw_malloc_plain │ │ │ │ U fftw_mkplan_dftw │ │ │ │ U fftw_mksolver_ct │ │ │ │ U fftw_mksolver_ct_hook │ │ │ │ U fftw_ops_madd2 │ │ │ │ U fftw_ops_zero │ │ │ │ -0000061c T fftw_regsolver_ct_directw │ │ │ │ +00000700 T fftw_regsolver_ct_directw │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_twiddle_awake │ │ │ │ U fftw_twiddle_length │ │ │ │ -00000184 t mkcldw │ │ │ │ +000001e0 t mkcldw │ │ │ │ 00000000 d padt.0 │ │ │ │ -000000e4 t print │ │ │ │ +00000128 t print │ │ │ │ │ │ │ │ dftw-directsq.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ U __aeabi_idiv │ │ │ │ 00000000 t apply │ │ │ │ -00000148 t awake │ │ │ │ -00000034 t destroy │ │ │ │ +00000180 t awake │ │ │ │ +00000038 t destroy │ │ │ │ U fftw_mkplan_dftw │ │ │ │ U fftw_mksolver_ct │ │ │ │ U fftw_mksolver_ct_hook │ │ │ │ U fftw_ops_madd2 │ │ │ │ U fftw_ops_zero │ │ │ │ -00000178 T fftw_regsolver_ct_directwsq │ │ │ │ +000001b0 T fftw_regsolver_ct_directwsq │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_twiddle_awake │ │ │ │ U fftw_twiddle_length │ │ │ │ -00000038 t mkcldw │ │ │ │ +0000003c t mkcldw │ │ │ │ 00000000 d padt.0 │ │ │ │ -0000010c t print │ │ │ │ +00000134 t print │ │ │ │ │ │ │ │ dftw-generic.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000004 r .LC1 │ │ │ │ 00000008 r .LC2 │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ -0000018c t apply_dif │ │ │ │ -00000160 t apply_dit │ │ │ │ -00000334 t awake │ │ │ │ +000001e0 t apply_dif │ │ │ │ +0000019c t apply_dit │ │ │ │ +000003c4 t awake │ │ │ │ 00000000 t bytwiddle │ │ │ │ -00000204 t destroy │ │ │ │ -00000364 T fftw_ct_generic_register │ │ │ │ +0000026c t destroy │ │ │ │ +00000404 T fftw_ct_generic_register │ │ │ │ U fftw_mkplan_d │ │ │ │ U fftw_mkplan_dftw │ │ │ │ U fftw_mkproblem_dft_d │ │ │ │ U fftw_mksolver_ct │ │ │ │ U fftw_mksolver_ct_hook │ │ │ │ U fftw_mktensor_1d │ │ │ │ U fftw_mktensor_2d │ │ │ │ U fftw_plan_awake │ │ │ │ U fftw_plan_destroy_internal │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_twiddle_awake │ │ │ │ -0000020c t mkcldw │ │ │ │ +00000274 t mkcldw │ │ │ │ 00000000 d padt.1 │ │ │ │ -000001c4 t print │ │ │ │ +0000022c t print │ │ │ │ 00000000 r tw.0 │ │ │ │ │ │ │ │ dftw-genericbuf.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ U __aeabi_idivmod │ │ │ │ -00000170 t apply │ │ │ │ -000002cc t awake │ │ │ │ +000001a4 t apply │ │ │ │ +00000334 t awake │ │ │ │ 0000001c r batchsizes.1 │ │ │ │ -00000024 t destroy │ │ │ │ +00000028 t destroy │ │ │ │ U fftw_cpy2d_pair_co │ │ │ │ -000002f8 T fftw_ct_genericbuf_register │ │ │ │ +00000374 T fftw_ct_genericbuf_register │ │ │ │ U fftw_ifree │ │ │ │ U fftw_malloc_plain │ │ │ │ U fftw_mkplan_d │ │ │ │ U fftw_mkplan_dftw │ │ │ │ U fftw_mkproblem_dft_d │ │ │ │ U fftw_mksolver_ct │ │ │ │ U fftw_mksolver_ct_hook │ │ │ │ U fftw_mktensor_1d │ │ │ │ U fftw_mktriggen │ │ │ │ U fftw_plan_awake │ │ │ │ U fftw_plan_destroy_internal │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_triggen_destroy │ │ │ │ -0000002c t mkcldw │ │ │ │ +00000030 t mkcldw │ │ │ │ 00000000 d padt.0 │ │ │ │ 00000000 t print │ │ │ │ 00000000 r radices.2 │ │ │ │ │ │ │ │ direct.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000020 r .LC1 │ │ │ │ U __aeabi_idiv │ │ │ │ U __aeabi_idivmod │ │ │ │ 00000000 t apply │ │ │ │ -000003a0 t apply_buf │ │ │ │ +0000041c t apply_buf │ │ │ │ 00000038 t apply_extra_iter │ │ │ │ -000000a4 t destroy │ │ │ │ +000000cc t destroy │ │ │ │ U fftw_cpy2d_pair_ci │ │ │ │ U fftw_cpy2d_pair_co │ │ │ │ U fftw_dft_solve │ │ │ │ U fftw_iabs │ │ │ │ U fftw_ifree │ │ │ │ U fftw_malloc_plain │ │ │ │ U fftw_mkplan_dft │ │ │ │ U fftw_mksolver │ │ │ │ -00000574 T fftw_mksolver_dft_direct │ │ │ │ -00000594 T fftw_mksolver_dft_directbuf │ │ │ │ +00000620 T fftw_mksolver_dft_direct │ │ │ │ +00000650 T fftw_mksolver_dft_directbuf │ │ │ │ U fftw_null_awake │ │ │ │ U fftw_ops_madd2 │ │ │ │ U fftw_ops_zero │ │ │ │ U fftw_tensor_inplace_strides2 │ │ │ │ U fftw_tensor_tornk1 │ │ │ │ -000000ec t mkplan │ │ │ │ +00000130 t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ -000000a8 t print │ │ │ │ +000000d0 t print │ │ │ │ 00000000 d sadt.1 │ │ │ │ │ │ │ │ generic.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000014 t apply │ │ │ │ -00000270 t awake │ │ │ │ -00000360 T fftw_dft_generic_register │ │ │ │ +000002a0 t awake │ │ │ │ +000003a8 T fftw_dft_generic_register │ │ │ │ U fftw_dft_solve │ │ │ │ U fftw_ifree │ │ │ │ U fftw_is_prime │ │ │ │ U fftw_malloc_plain │ │ │ │ U fftw_mkplan_dft │ │ │ │ U fftw_mksolver │ │ │ │ U fftw_plan_null_destroy │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_twiddle_awake │ │ │ │ 00000000 r half_tw.0 │ │ │ │ -000002a0 t mkplan │ │ │ │ +000002d4 t mkplan │ │ │ │ 00000000 d padt.1 │ │ │ │ 00000000 t print │ │ │ │ 00000000 d sadt.2 │ │ │ │ │ │ │ │ indirect-transpose.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ U __aeabi_idiv │ │ │ │ 00000000 t apply_op │ │ │ │ -000000f8 t awake │ │ │ │ -000000dc t destroy │ │ │ │ -00000460 T fftw_dft_indirect_transpose_register │ │ │ │ +00000128 t awake │ │ │ │ +00000108 t destroy │ │ │ │ +000004e4 T fftw_dft_indirect_transpose_register │ │ │ │ U fftw_dft_solve │ │ │ │ U fftw_iabs │ │ │ │ U fftw_mkplan_d │ │ │ │ U fftw_mkplan_dft │ │ │ │ U fftw_mkproblem_dft_d │ │ │ │ U fftw_mksolver │ │ │ │ U fftw_mktensor_0d │ │ │ │ @@ -1300,28 +1300,28 @@ │ │ │ │ U fftw_plan_destroy_internal │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_tensor_append │ │ │ │ U fftw_tensor_copy │ │ │ │ U fftw_tensor_copy_inplace │ │ │ │ U fftw_tensor_destroy2 │ │ │ │ U fftw_tensor_inplace_strides2 │ │ │ │ -00000118 t mkplan │ │ │ │ +00000154 t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ -000000b8 t print │ │ │ │ +000000e0 t print │ │ │ │ 00000000 d sadt.1 │ │ │ │ │ │ │ │ indirect.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000018 d adt_after │ │ │ │ 0000000c d adt_before │ │ │ │ -00000028 t apply_after │ │ │ │ +0000003c t apply_after │ │ │ │ 00000000 t apply_before │ │ │ │ -000001f0 t awake │ │ │ │ -00000084 t destroy │ │ │ │ -00000260 T fftw_dft_indirect_register │ │ │ │ +0000023c t awake │ │ │ │ +000000b4 t destroy │ │ │ │ +000002e0 T fftw_dft_indirect_register │ │ │ │ U fftw_dft_solve │ │ │ │ U fftw_mkplan_d │ │ │ │ U fftw_mkplan_dft │ │ │ │ U fftw_mkplan_f_d │ │ │ │ U fftw_mkproblem_dft_d │ │ │ │ U fftw_mksolver │ │ │ │ U fftw_mktensor_0d │ │ │ │ @@ -1331,19 +1331,19 @@ │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_tensor_append │ │ │ │ U fftw_tensor_copy_inplace │ │ │ │ U fftw_tensor_inplace_strides2 │ │ │ │ U fftw_tensor_min_istride │ │ │ │ U fftw_tensor_min_ostride │ │ │ │ U fftw_tensor_strides_decrease │ │ │ │ -00000208 t mkcld_after │ │ │ │ -00000234 t mkcld_before │ │ │ │ -00000098 t mkplan │ │ │ │ +00000260 t mkcld_after │ │ │ │ +000002a0 t mkcld_before │ │ │ │ +000000cc t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ -00000060 t print │ │ │ │ +0000008c t print │ │ │ │ 00000000 d sadt.1 │ │ │ │ │ │ │ │ kdft-dif.o: │ │ │ │ 00000000 T fftw_kdft_dif_register │ │ │ │ U fftw_regsolver_ct_directw │ │ │ │ │ │ │ │ kdft-difsq.o: │ │ │ │ @@ -1359,15 +1359,15 @@ │ │ │ │ U fftw_mksolver_dft_direct │ │ │ │ U fftw_mksolver_dft_directbuf │ │ │ │ U fftw_solver_register │ │ │ │ │ │ │ │ nop.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000000 t apply │ │ │ │ -00000060 T fftw_dft_nop_register │ │ │ │ +00000068 T fftw_dft_nop_register │ │ │ │ U fftw_dft_solve │ │ │ │ U fftw_mkplan_dft │ │ │ │ U fftw_mksolver │ │ │ │ U fftw_null_awake │ │ │ │ U fftw_ops_zero │ │ │ │ U fftw_plan_null_destroy │ │ │ │ U fftw_solver_register │ │ │ │ @@ -1388,37 +1388,37 @@ │ │ │ │ U fftw_dft_zerotens │ │ │ │ U fftw_ialignment_of │ │ │ │ U fftw_ifree │ │ │ │ U fftw_md5INT │ │ │ │ U fftw_md5int │ │ │ │ U fftw_md5puts │ │ │ │ U fftw_mkproblem │ │ │ │ -00000124 T fftw_mkproblem_dft │ │ │ │ -00000180 T fftw_mkproblem_dft_d │ │ │ │ +00000170 T fftw_mkproblem_dft │ │ │ │ +000001f8 T fftw_mkproblem_dft_d │ │ │ │ U fftw_mkproblem_unsolvable │ │ │ │ U fftw_tensor_append │ │ │ │ U fftw_tensor_compress │ │ │ │ U fftw_tensor_compress_contiguous │ │ │ │ U fftw_tensor_destroy │ │ │ │ U fftw_tensor_destroy2 │ │ │ │ U fftw_tensor_inplace_locations │ │ │ │ U fftw_tensor_md5 │ │ │ │ -00000094 t hash │ │ │ │ +000000c8 t hash │ │ │ │ 00000000 d padt │ │ │ │ -00000018 t print │ │ │ │ -00000074 t zero │ │ │ │ +0000001c t print │ │ │ │ +0000009c t zero │ │ │ │ │ │ │ │ lt5-rader.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000020 r .LC1 │ │ │ │ U __aeabi_idivmod │ │ │ │ -00000064 t apply │ │ │ │ -000002f8 t awake │ │ │ │ -000002dc t destroy │ │ │ │ -00000640 T fftw_dft_rader_register │ │ │ │ +00000070 t apply │ │ │ │ +00000340 t awake │ │ │ │ +00000320 t destroy │ │ │ │ +000006f0 T fftw_dft_rader_register │ │ │ │ U fftw_dft_solve │ │ │ │ U fftw_factors_into_small_primes │ │ │ │ U fftw_find_generator │ │ │ │ U fftw_ifree │ │ │ │ U fftw_ifree0 │ │ │ │ U fftw_is_prime │ │ │ │ U fftw_malloc_plain │ │ │ │ @@ -1434,27 +1434,27 @@ │ │ │ │ U fftw_power_mod │ │ │ │ U fftw_rader_tl_delete │ │ │ │ U fftw_rader_tl_find │ │ │ │ U fftw_rader_tl_insert │ │ │ │ U fftw_safe_mulmod │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_triggen_destroy │ │ │ │ -00000454 t mkplan │ │ │ │ +000004b8 t mkplan │ │ │ │ 00000000 b omegas │ │ │ │ 00000000 d padt.0 │ │ │ │ 00000000 t print │ │ │ │ 00000000 d sadt.1 │ │ │ │ │ │ │ │ rank-geq2.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000000 t apply │ │ │ │ -000001c0 t awake │ │ │ │ +00000200 t awake │ │ │ │ 00000000 r buddies.2 │ │ │ │ -0000004c t destroy │ │ │ │ -000001d8 T fftw_dft_rank_geq2_register │ │ │ │ +00000060 t destroy │ │ │ │ +00000224 T fftw_dft_rank_geq2_register │ │ │ │ U fftw_dft_solve │ │ │ │ U fftw_mkplan_d │ │ │ │ U fftw_mkplan_dft │ │ │ │ U fftw_mkproblem_dft_d │ │ │ │ U fftw_mksolver │ │ │ │ U fftw_ops_add │ │ │ │ U fftw_pickdim │ │ │ │ @@ -1464,30 +1464,30 @@ │ │ │ │ U fftw_tensor_append │ │ │ │ U fftw_tensor_copy │ │ │ │ U fftw_tensor_copy_inplace │ │ │ │ U fftw_tensor_destroy4 │ │ │ │ U fftw_tensor_max_index │ │ │ │ U fftw_tensor_min_stride │ │ │ │ U fftw_tensor_split │ │ │ │ -00000060 t mkplan │ │ │ │ +00000078 t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ -00000028 t print │ │ │ │ +0000003c t print │ │ │ │ 00000000 d sadt.1 │ │ │ │ │ │ │ │ solve.o: │ │ │ │ 00000000 T fftw_dft_solve │ │ │ │ │ │ │ │ vrank-geq1.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000000 t apply │ │ │ │ -00000208 t awake │ │ │ │ +00000248 t awake │ │ │ │ 00000000 r buddies.2 │ │ │ │ -00000200 t destroy │ │ │ │ +00000240 t destroy │ │ │ │ U fftw_dft_solve │ │ │ │ -00000210 T fftw_dft_vrank_geq1_register │ │ │ │ +00000250 T fftw_dft_vrank_geq1_register │ │ │ │ U fftw_iabs │ │ │ │ U fftw_imin │ │ │ │ U fftw_mkplan_d │ │ │ │ U fftw_mkplan_dft │ │ │ │ U fftw_mkproblem_dft_d │ │ │ │ U fftw_mksolver │ │ │ │ U fftw_ops_madd2 │ │ │ │ @@ -1495,21 +1495,21 @@ │ │ │ │ U fftw_pickdim │ │ │ │ U fftw_plan_awake │ │ │ │ U fftw_plan_destroy_internal │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_tensor_copy │ │ │ │ U fftw_tensor_copy_except │ │ │ │ U fftw_tensor_max_index │ │ │ │ -00000080 t mkplan │ │ │ │ +000000a4 t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ -0000005c t print │ │ │ │ +00000080 t print │ │ │ │ 00000000 d sadt.1 │ │ │ │ │ │ │ │ zero.o: │ │ │ │ -00000498 T fftw_dft_zerotens │ │ │ │ +000004d8 T fftw_dft_zerotens │ │ │ │ U memset │ │ │ │ 00000000 t recur │ │ │ │ │ │ │ │ n.o: │ │ │ │ 00000000 D fftw_dft_n_genus │ │ │ │ 00000000 t okp │ │ │ │ │ │ │ │ @@ -1570,461 +1570,461 @@ │ │ │ │ U fftw_codelet_t2_8 │ │ │ │ 00000000 D fftw_solvtab_dft_standard │ │ │ │ │ │ │ │ n1_10.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000003f8 T fftw_codelet_n1_10 │ │ │ │ +00000420 T fftw_codelet_n1_10 │ │ │ │ U fftw_dft_n_genus │ │ │ │ U fftw_kdft_register │ │ │ │ 00000000 t n1_10 │ │ │ │ │ │ │ │ n1_11.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000768 T fftw_codelet_n1_11 │ │ │ │ +000007b0 T fftw_codelet_n1_11 │ │ │ │ U fftw_dft_n_genus │ │ │ │ U fftw_kdft_register │ │ │ │ 00000000 t n1_11 │ │ │ │ │ │ │ │ n1_12.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -0000042c T fftw_codelet_n1_12 │ │ │ │ +00000450 T fftw_codelet_n1_12 │ │ │ │ U fftw_dft_n_genus │ │ │ │ U fftw_kdft_register │ │ │ │ 00000000 t n1_12 │ │ │ │ │ │ │ │ n1_13.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000008b8 T fftw_codelet_n1_13 │ │ │ │ +000008c0 T fftw_codelet_n1_13 │ │ │ │ U fftw_dft_n_genus │ │ │ │ U fftw_kdft_register │ │ │ │ 00000000 t n1_13 │ │ │ │ │ │ │ │ n1_14.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000700 T fftw_codelet_n1_14 │ │ │ │ +00000708 T fftw_codelet_n1_14 │ │ │ │ U fftw_dft_n_genus │ │ │ │ U fftw_kdft_register │ │ │ │ 00000000 t n1_14 │ │ │ │ │ │ │ │ n1_15.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000740 T fftw_codelet_n1_15 │ │ │ │ +00000758 T fftw_codelet_n1_15 │ │ │ │ U fftw_dft_n_genus │ │ │ │ U fftw_kdft_register │ │ │ │ 00000000 t n1_15 │ │ │ │ │ │ │ │ n1_16.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000005f8 T fftw_codelet_n1_16 │ │ │ │ +00000648 T fftw_codelet_n1_16 │ │ │ │ U fftw_dft_n_genus │ │ │ │ U fftw_kdft_register │ │ │ │ 00000000 t n1_16 │ │ │ │ │ │ │ │ n1_2.o: │ │ │ │ 00000000 d desc │ │ │ │ -000000c0 T fftw_codelet_n1_2 │ │ │ │ +000000e8 T fftw_codelet_n1_2 │ │ │ │ U fftw_dft_n_genus │ │ │ │ U fftw_kdft_register │ │ │ │ 00000000 t n1_2 │ │ │ │ │ │ │ │ n1_20.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000918 T fftw_codelet_n1_20 │ │ │ │ +00000978 T fftw_codelet_n1_20 │ │ │ │ U fftw_dft_n_genus │ │ │ │ U fftw_kdft_register │ │ │ │ 00000000 t n1_20 │ │ │ │ │ │ │ │ n1_25.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00001010 T fftw_codelet_n1_25 │ │ │ │ +00001078 T fftw_codelet_n1_25 │ │ │ │ U fftw_dft_n_genus │ │ │ │ U fftw_kdft_register │ │ │ │ 00000000 t n1_25 │ │ │ │ │ │ │ │ n1_3.o: │ │ │ │ 00000000 d desc │ │ │ │ -00000178 T fftw_codelet_n1_3 │ │ │ │ +00000190 T fftw_codelet_n1_3 │ │ │ │ U fftw_dft_n_genus │ │ │ │ U fftw_kdft_register │ │ │ │ 00000000 t n1_3 │ │ │ │ │ │ │ │ n1_32.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000f0c T fftw_codelet_n1_32 │ │ │ │ +00000f88 T fftw_codelet_n1_32 │ │ │ │ U fftw_dft_n_genus │ │ │ │ U fftw_kdft_register │ │ │ │ 00000000 t n1_32 │ │ │ │ │ │ │ │ n1_4.o: │ │ │ │ 00000000 d desc │ │ │ │ -000001ac T fftw_codelet_n1_4 │ │ │ │ +000001c8 T fftw_codelet_n1_4 │ │ │ │ U fftw_dft_n_genus │ │ │ │ U fftw_kdft_register │ │ │ │ 00000000 t n1_4 │ │ │ │ │ │ │ │ n1_5.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000330 T fftw_codelet_n1_5 │ │ │ │ +00000350 T fftw_codelet_n1_5 │ │ │ │ U fftw_dft_n_genus │ │ │ │ U fftw_kdft_register │ │ │ │ 00000000 t n1_5 │ │ │ │ │ │ │ │ n1_6.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000003c0 T fftw_codelet_n1_6 │ │ │ │ +000003e0 T fftw_codelet_n1_6 │ │ │ │ U fftw_dft_n_genus │ │ │ │ U fftw_kdft_register │ │ │ │ 00000000 t n1_6 │ │ │ │ │ │ │ │ n1_64.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000023c0 T fftw_codelet_n1_64 │ │ │ │ +000024a8 T fftw_codelet_n1_64 │ │ │ │ U fftw_dft_n_genus │ │ │ │ U fftw_kdft_register │ │ │ │ 00000000 t n1_64 │ │ │ │ │ │ │ │ n1_7.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000660 T fftw_codelet_n1_7 │ │ │ │ +000006b0 T fftw_codelet_n1_7 │ │ │ │ U fftw_dft_n_genus │ │ │ │ U fftw_kdft_register │ │ │ │ 00000000 t n1_7 │ │ │ │ │ │ │ │ n1_8.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000004d8 T fftw_codelet_n1_8 │ │ │ │ +000004f8 T fftw_codelet_n1_8 │ │ │ │ U fftw_dft_n_genus │ │ │ │ U fftw_kdft_register │ │ │ │ 00000000 t n1_8 │ │ │ │ │ │ │ │ n1_9.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000003c0 T fftw_codelet_n1_9 │ │ │ │ +000003f0 T fftw_codelet_n1_9 │ │ │ │ U fftw_dft_n_genus │ │ │ │ U fftw_kdft_register │ │ │ │ 00000000 t n1_9 │ │ │ │ │ │ │ │ q1_2.o: │ │ │ │ 00000000 d desc │ │ │ │ -000001a4 T fftw_codelet_q1_2 │ │ │ │ +000001d0 T fftw_codelet_q1_2 │ │ │ │ U fftw_dft_t_genus │ │ │ │ U fftw_kdft_difsq_register │ │ │ │ 00000000 t q1_2 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ q1_3.o: │ │ │ │ 00000000 d desc │ │ │ │ -00000318 T fftw_codelet_q1_3 │ │ │ │ +00000358 T fftw_codelet_q1_3 │ │ │ │ U fftw_dft_t_genus │ │ │ │ U fftw_kdft_difsq_register │ │ │ │ 00000000 t q1_3 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ q1_4.o: │ │ │ │ 00000000 d desc │ │ │ │ -0000055c T fftw_codelet_q1_4 │ │ │ │ +000005b0 T fftw_codelet_q1_4 │ │ │ │ U fftw_dft_t_genus │ │ │ │ U fftw_kdft_difsq_register │ │ │ │ 00000000 t q1_4 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ q1_5.o: │ │ │ │ 00000000 d desc │ │ │ │ -00000adc T fftw_codelet_q1_5 │ │ │ │ +00000b44 T fftw_codelet_q1_5 │ │ │ │ U fftw_dft_t_genus │ │ │ │ U fftw_kdft_difsq_register │ │ │ │ 00000000 t q1_5 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ q1_6.o: │ │ │ │ 00000000 d desc │ │ │ │ -00000ed8 T fftw_codelet_q1_6 │ │ │ │ +00000f58 T fftw_codelet_q1_6 │ │ │ │ U fftw_dft_t_genus │ │ │ │ U fftw_kdft_difsq_register │ │ │ │ 00000000 t q1_6 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ q1_8.o: │ │ │ │ 00000000 d desc │ │ │ │ -00001e48 T fftw_codelet_q1_8 │ │ │ │ +00001f1c T fftw_codelet_q1_8 │ │ │ │ U fftw_dft_t_genus │ │ │ │ U fftw_kdft_difsq_register │ │ │ │ 00000000 t q1_8 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ t1_10.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000004c8 T fftw_codelet_t1_10 │ │ │ │ +00000500 T fftw_codelet_t1_10 │ │ │ │ U fftw_dft_t_genus │ │ │ │ U fftw_kdft_dit_register │ │ │ │ 00000000 t t1_10 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ t1_12.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000588 T fftw_codelet_t1_12 │ │ │ │ +000005c8 T fftw_codelet_t1_12 │ │ │ │ U fftw_dft_t_genus │ │ │ │ U fftw_kdft_dit_register │ │ │ │ 00000000 t t1_12 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ t1_15.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000008a4 T fftw_codelet_t1_15 │ │ │ │ +000008b8 T fftw_codelet_t1_15 │ │ │ │ U fftw_dft_t_genus │ │ │ │ U fftw_kdft_dit_register │ │ │ │ 00000000 t t1_15 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ t1_16.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000007bc T fftw_codelet_t1_16 │ │ │ │ +000007f0 T fftw_codelet_t1_16 │ │ │ │ U fftw_dft_t_genus │ │ │ │ U fftw_kdft_dit_register │ │ │ │ 00000000 t t1_16 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ t1_2.o: │ │ │ │ 00000000 d desc │ │ │ │ -000000e0 T fftw_codelet_t1_2 │ │ │ │ +00000100 T fftw_codelet_t1_2 │ │ │ │ U fftw_dft_t_genus │ │ │ │ U fftw_kdft_dit_register │ │ │ │ 00000000 t t1_2 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ t1_20.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000a90 T fftw_codelet_t1_20 │ │ │ │ +00000b00 T fftw_codelet_t1_20 │ │ │ │ U fftw_dft_t_genus │ │ │ │ U fftw_kdft_dit_register │ │ │ │ 00000000 t t1_20 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ t1_25.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000011fc T fftw_codelet_t1_25 │ │ │ │ +00001244 T fftw_codelet_t1_25 │ │ │ │ U fftw_dft_t_genus │ │ │ │ U fftw_kdft_dit_register │ │ │ │ 00000000 t t1_25 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ t1_3.o: │ │ │ │ 00000000 d desc │ │ │ │ -000001b0 T fftw_codelet_t1_3 │ │ │ │ +000001d0 T fftw_codelet_t1_3 │ │ │ │ U fftw_dft_t_genus │ │ │ │ U fftw_kdft_dit_register │ │ │ │ 00000000 t t1_3 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ t1_32.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -0000123c T fftw_codelet_t1_32 │ │ │ │ +0000126c T fftw_codelet_t1_32 │ │ │ │ U fftw_dft_t_genus │ │ │ │ U fftw_kdft_dit_register │ │ │ │ 00000000 t t1_32 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ t1_4.o: │ │ │ │ 00000000 d desc │ │ │ │ -00000218 T fftw_codelet_t1_4 │ │ │ │ +0000023c T fftw_codelet_t1_4 │ │ │ │ U fftw_dft_t_genus │ │ │ │ U fftw_kdft_dit_register │ │ │ │ 00000000 t t1_4 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ t1_5.o: │ │ │ │ 00000000 d desc │ │ │ │ -00000378 T fftw_codelet_t1_5 │ │ │ │ +000003a0 T fftw_codelet_t1_5 │ │ │ │ U fftw_dft_t_genus │ │ │ │ U fftw_kdft_dit_register │ │ │ │ 00000000 t t1_5 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ t1_6.o: │ │ │ │ 00000000 d desc │ │ │ │ -0000042c T fftw_codelet_t1_6 │ │ │ │ +0000044c T fftw_codelet_t1_6 │ │ │ │ U fftw_dft_t_genus │ │ │ │ U fftw_kdft_dit_register │ │ │ │ 00000000 t t1_6 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ t1_64.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00002e44 T fftw_codelet_t1_64 │ │ │ │ +00002f14 T fftw_codelet_t1_64 │ │ │ │ U fftw_dft_t_genus │ │ │ │ U fftw_kdft_dit_register │ │ │ │ 00000000 t t1_64 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ t1_7.o: │ │ │ │ 00000000 d desc │ │ │ │ -000003b8 T fftw_codelet_t1_7 │ │ │ │ +000003d8 T fftw_codelet_t1_7 │ │ │ │ U fftw_dft_t_genus │ │ │ │ U fftw_kdft_dit_register │ │ │ │ 00000000 t t1_7 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ t1_8.o: │ │ │ │ 00000000 d desc │ │ │ │ -000002e8 T fftw_codelet_t1_8 │ │ │ │ +00000328 T fftw_codelet_t1_8 │ │ │ │ U fftw_dft_t_genus │ │ │ │ U fftw_kdft_dit_register │ │ │ │ 00000000 t t1_8 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ t1_9.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000480 T fftw_codelet_t1_9 │ │ │ │ +000004b8 T fftw_codelet_t1_9 │ │ │ │ U fftw_dft_t_genus │ │ │ │ U fftw_kdft_dit_register │ │ │ │ 00000000 t t1_9 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ t2_10.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000538 T fftw_codelet_t2_10 │ │ │ │ +00000580 T fftw_codelet_t2_10 │ │ │ │ U fftw_dft_t_genus │ │ │ │ U fftw_kdft_dit_register │ │ │ │ 00000000 t t2_10 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ t2_16.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000008b8 T fftw_codelet_t2_16 │ │ │ │ +00000918 T fftw_codelet_t2_16 │ │ │ │ U fftw_dft_t_genus │ │ │ │ U fftw_kdft_dit_register │ │ │ │ 00000000 t t2_16 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ t2_20.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000cb4 T fftw_codelet_t2_20 │ │ │ │ +00000d10 T fftw_codelet_t2_20 │ │ │ │ U fftw_dft_t_genus │ │ │ │ U fftw_kdft_dit_register │ │ │ │ 00000000 t t2_20 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ t2_25.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -0000149c T fftw_codelet_t2_25 │ │ │ │ +000014e8 T fftw_codelet_t2_25 │ │ │ │ U fftw_dft_t_genus │ │ │ │ U fftw_kdft_dit_register │ │ │ │ 00000000 t t2_25 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ t2_32.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000014e0 T fftw_codelet_t2_32 │ │ │ │ +00001568 T fftw_codelet_t2_32 │ │ │ │ U fftw_dft_t_genus │ │ │ │ U fftw_kdft_dit_register │ │ │ │ 00000000 t t2_32 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ t2_4.o: │ │ │ │ 00000000 d desc │ │ │ │ -00000224 T fftw_codelet_t2_4 │ │ │ │ +00000248 T fftw_codelet_t2_4 │ │ │ │ U fftw_dft_t_genus │ │ │ │ U fftw_kdft_dit_register │ │ │ │ 00000000 t t2_4 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ t2_5.o: │ │ │ │ 00000000 d desc │ │ │ │ -00000398 T fftw_codelet_t2_5 │ │ │ │ +000003c0 T fftw_codelet_t2_5 │ │ │ │ U fftw_dft_t_genus │ │ │ │ U fftw_kdft_dit_register │ │ │ │ 00000000 t t2_5 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ t2_64.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00003a88 T fftw_codelet_t2_64 │ │ │ │ +00003b58 T fftw_codelet_t2_64 │ │ │ │ U fftw_dft_t_genus │ │ │ │ U fftw_kdft_dit_register │ │ │ │ 00000000 t t2_64 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ t2_8.o: │ │ │ │ 00000000 d desc │ │ │ │ -00000340 T fftw_codelet_t2_8 │ │ │ │ +00000368 T fftw_codelet_t2_8 │ │ │ │ U fftw_dft_t_genus │ │ │ │ U fftw_kdft_dit_register │ │ │ │ 00000000 t t2_8 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ lt6-buffered.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ U __aeabi_idiv │ │ │ │ U __aeabi_idivmod │ │ │ │ -0000003c t apply │ │ │ │ -000000c4 t apply_hc2r │ │ │ │ -0000049c t awake │ │ │ │ -0000014c t destroy │ │ │ │ +00000054 t apply │ │ │ │ +00000100 t apply_hc2r │ │ │ │ +00000540 t awake │ │ │ │ +000001ac t destroy │ │ │ │ U fftw_bufdist │ │ │ │ U fftw_ifree │ │ │ │ U fftw_ifree0 │ │ │ │ U fftw_malloc_plain │ │ │ │ U fftw_mkplan_d │ │ │ │ U fftw_mkplan_f_d │ │ │ │ U fftw_mkplan_rdft │ │ │ │ @@ -2035,36 +2035,36 @@ │ │ │ │ U fftw_mktensor_2d │ │ │ │ U fftw_nbuf │ │ │ │ U fftw_nbuf_redundant │ │ │ │ U fftw_ops_add │ │ │ │ U fftw_ops_madd │ │ │ │ U fftw_plan_awake │ │ │ │ U fftw_plan_destroy_internal │ │ │ │ -000004bc T fftw_rdft_buffered_register │ │ │ │ +0000056c T fftw_rdft_buffered_register │ │ │ │ U fftw_rdft_solve │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_tensor_copy │ │ │ │ U fftw_tensor_inplace_strides2 │ │ │ │ U fftw_tensor_sz │ │ │ │ U fftw_tensor_tornk1 │ │ │ │ U fftw_toobig │ │ │ │ 00000000 r maxnbufs │ │ │ │ -00000168 t mkplan │ │ │ │ +000001cc t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ 00000000 t print │ │ │ │ 00000000 d sadt.1 │ │ │ │ │ │ │ │ buffered2.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ U __aeabi_idiv │ │ │ │ U __aeabi_idivmod │ │ │ │ -0000003c t apply_hc2r │ │ │ │ -000000f0 t apply_r2hc │ │ │ │ -00000600 t awake │ │ │ │ -000001a0 t destroy │ │ │ │ +00000054 t apply_hc2r │ │ │ │ +00000128 t apply_r2hc │ │ │ │ +000006ac t awake │ │ │ │ +000001fc t destroy │ │ │ │ U fftw_bufdist │ │ │ │ U fftw_ifree │ │ │ │ U fftw_ifree0 │ │ │ │ U fftw_malloc_plain │ │ │ │ U fftw_mkplan_d │ │ │ │ U fftw_mkplan_f_d │ │ │ │ U fftw_mkplan_rdft2 │ │ │ │ @@ -2076,24 +2076,24 @@ │ │ │ │ U fftw_mktensor_2d │ │ │ │ U fftw_nbuf │ │ │ │ U fftw_nbuf_redundant │ │ │ │ U fftw_ops_add │ │ │ │ U fftw_ops_madd │ │ │ │ U fftw_plan_awake │ │ │ │ U fftw_plan_destroy_internal │ │ │ │ -00000620 T fftw_rdft2_buffered_register │ │ │ │ +000006d8 T fftw_rdft2_buffered_register │ │ │ │ U fftw_rdft2_inplace_strides │ │ │ │ U fftw_rdft2_solve │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_tensor_copy │ │ │ │ U fftw_tensor_sz │ │ │ │ U fftw_tensor_tornk1 │ │ │ │ U fftw_toobig │ │ │ │ 00000000 r maxnbufs │ │ │ │ -000001bc t mkplan │ │ │ │ +0000021c t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ 00000000 t print │ │ │ │ 00000000 d sadt.1 │ │ │ │ │ │ │ │ lt7-conf.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ U fftw_dft_r2hc_register │ │ │ │ @@ -2124,18 +2124,18 @@ │ │ │ │ │ │ │ │ ct-hc2c-direct.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000030 r .LC1 │ │ │ │ U __aeabi_idiv │ │ │ │ U __aeabi_idivmod │ │ │ │ 00000000 t apply │ │ │ │ -00000640 t apply_buf │ │ │ │ -000000b4 t apply_extra_iter │ │ │ │ -00000240 t awake │ │ │ │ -000001a8 t destroy │ │ │ │ +0000074c t apply_buf │ │ │ │ +000000e8 t apply_extra_iter │ │ │ │ +000002d0 t awake │ │ │ │ +0000021c t destroy │ │ │ │ U fftw_cpy2d_pair_ci │ │ │ │ U fftw_cpy2d_pair_co │ │ │ │ U fftw_ct_uglyp │ │ │ │ U fftw_ifree │ │ │ │ U fftw_malloc_plain │ │ │ │ U fftw_mkplan_d │ │ │ │ U fftw_mkplan_hc2c │ │ │ │ @@ -2143,105 +2143,105 @@ │ │ │ │ U fftw_mksolver_hc2c │ │ │ │ U fftw_mktensor_0d │ │ │ │ U fftw_mktensor_1d │ │ │ │ U fftw_ops_madd2 │ │ │ │ U fftw_ops_zero │ │ │ │ U fftw_plan_awake │ │ │ │ U fftw_plan_destroy_internal │ │ │ │ -000009cc T fftw_regsolver_hc2c_direct │ │ │ │ +00000b40 T fftw_regsolver_hc2c_direct │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_twiddle_awake │ │ │ │ U fftw_twiddle_length │ │ │ │ U fftw_zero1d_pair │ │ │ │ -00000284 t mkcldw │ │ │ │ +00000320 t mkcldw │ │ │ │ 00000000 d padt.0 │ │ │ │ -000001bc t print │ │ │ │ +00000234 t print │ │ │ │ │ │ │ │ ct-hc2c.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000004 r .LC1 │ │ │ │ 00000008 r .LC2 │ │ │ │ U __aeabi_idiv │ │ │ │ -00000020 t apply_dif │ │ │ │ -00000064 t apply_dif_dft │ │ │ │ +0000002c t apply_dif │ │ │ │ +00000090 t apply_dif_dft │ │ │ │ 00000000 t apply_dit │ │ │ │ -00000040 t apply_dit_dft │ │ │ │ -0000042c t awake │ │ │ │ -00000418 t destroy │ │ │ │ +00000058 t apply_dit_dft │ │ │ │ +000004a8 t awake │ │ │ │ +00000490 t destroy │ │ │ │ U fftw_choose_radix │ │ │ │ U fftw_mkplan │ │ │ │ U fftw_mkplan_d │ │ │ │ -00000460 T fftw_mkplan_hc2c │ │ │ │ +000004f4 T fftw_mkplan_hc2c │ │ │ │ U fftw_mkplan_rdft2 │ │ │ │ U fftw_mkproblem_dft_d │ │ │ │ U fftw_mkproblem_rdft_1_d │ │ │ │ U fftw_mksolver │ │ │ │ -00000444 T fftw_mksolver_hc2c │ │ │ │ +000004cc T fftw_mksolver_hc2c │ │ │ │ U fftw_mktensor_1d │ │ │ │ U fftw_mktensor_2d │ │ │ │ U fftw_mktensor_3d │ │ │ │ U fftw_ops_add │ │ │ │ U fftw_plan_awake │ │ │ │ U fftw_plan_destroy_internal │ │ │ │ U fftw_rdft2_solve │ │ │ │ U fftw_tensor_tornk1 │ │ │ │ -000000e4 t mkplan │ │ │ │ +00000124 t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ -00000094 t print │ │ │ │ +000000d0 t print │ │ │ │ 00000000 d sadt.1 │ │ │ │ │ │ │ │ dft-r2hc.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000000 t apply │ │ │ │ -000002a8 t awake │ │ │ │ -000002a0 t destroy │ │ │ │ -000002b0 T fftw_dft_r2hc_register │ │ │ │ +00000328 t awake │ │ │ │ +00000320 t destroy │ │ │ │ +00000330 T fftw_dft_r2hc_register │ │ │ │ U fftw_dft_solve │ │ │ │ U fftw_mkplan_d │ │ │ │ U fftw_mkplan_dft │ │ │ │ U fftw_mkproblem_rdft_1 │ │ │ │ U fftw_mksolver │ │ │ │ U fftw_mktensor_1d │ │ │ │ U fftw_plan_awake │ │ │ │ U fftw_plan_destroy_internal │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_tensor_append │ │ │ │ U fftw_tensor_destroy2 │ │ │ │ -000000ec t mkplan │ │ │ │ +00000124 t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ -000000d0 t print │ │ │ │ +00000104 t print │ │ │ │ 00000000 d sadt.1 │ │ │ │ │ │ │ │ dht-r2hc.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000000 t apply │ │ │ │ -00000164 t awake │ │ │ │ -0000015c t destroy │ │ │ │ -0000016c T fftw_dht_r2hc_register │ │ │ │ +000001a8 t awake │ │ │ │ +000001a0 t destroy │ │ │ │ +000001b0 T fftw_dht_r2hc_register │ │ │ │ U fftw_mkplan_f_d │ │ │ │ U fftw_mkplan_rdft │ │ │ │ U fftw_mkproblem_rdft_1 │ │ │ │ U fftw_mksolver │ │ │ │ U fftw_plan_awake │ │ │ │ U fftw_plan_destroy_internal │ │ │ │ U fftw_rdft_solve │ │ │ │ U fftw_solver_register │ │ │ │ -00000098 t mkplan │ │ │ │ +000000bc t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ -0000007c t print │ │ │ │ +0000009c t print │ │ │ │ 00000000 d sadt.1 │ │ │ │ │ │ │ │ dht-rader.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000024 r .LC1 │ │ │ │ U __aeabi_idivmod │ │ │ │ -00000084 t apply │ │ │ │ -0000035c t awake │ │ │ │ -00000068 t destroy │ │ │ │ -00000730 T fftw_dht_rader_register │ │ │ │ +00000094 t apply │ │ │ │ +000003b0 t awake │ │ │ │ +00000074 t destroy │ │ │ │ +00000808 T fftw_dht_rader_register │ │ │ │ U fftw_factors_into │ │ │ │ U fftw_factors_into_small_primes │ │ │ │ U fftw_find_generator │ │ │ │ U fftw_ifree │ │ │ │ U fftw_ifree0 │ │ │ │ U fftw_is_prime │ │ │ │ U fftw_malloc_plain │ │ │ │ @@ -2259,126 +2259,126 @@ │ │ │ │ U fftw_rader_tl_find │ │ │ │ U fftw_rader_tl_insert │ │ │ │ U fftw_rdft_solve │ │ │ │ U fftw_safe_mulmod │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_triggen_destroy │ │ │ │ U memset │ │ │ │ -000004f4 t mkplan │ │ │ │ +00000574 t mkplan │ │ │ │ 00000000 b omegas │ │ │ │ 00000000 d padt.1 │ │ │ │ 00000000 r primes.0 │ │ │ │ 00000000 t print │ │ │ │ 00000000 d sadt.2 │ │ │ │ │ │ │ │ direct-r2c.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000028 r .LC1 │ │ │ │ U __aeabi_idiv │ │ │ │ -000002a4 t apply_buf_hc2r │ │ │ │ -000002b0 t apply_buf_r2hc │ │ │ │ -00000048 t apply_hc2r │ │ │ │ +000002fc t apply_buf_hc2r │ │ │ │ +00000308 t apply_buf_r2hc │ │ │ │ +00000044 t apply_hc2r │ │ │ │ 00000000 t apply_r2hc │ │ │ │ -00000090 t destroy │ │ │ │ -00000094 t dobatch_hc2r │ │ │ │ -00000144 t dobatch_r2hc │ │ │ │ +00000098 t destroy │ │ │ │ +0000009c t dobatch_hc2r │ │ │ │ +0000016c t dobatch_r2hc │ │ │ │ U fftw_cpy2d_ci │ │ │ │ U fftw_cpy2d_co │ │ │ │ U fftw_ifree │ │ │ │ U fftw_malloc_plain │ │ │ │ U fftw_mkplan_rdft │ │ │ │ U fftw_mksolver │ │ │ │ -00000504 T fftw_mksolver_rdft_r2c_direct │ │ │ │ -00000524 T fftw_mksolver_rdft_r2c_directbuf │ │ │ │ +00000598 T fftw_mksolver_rdft_r2c_direct │ │ │ │ +000005c8 T fftw_mksolver_rdft_r2c_directbuf │ │ │ │ U fftw_null_awake │ │ │ │ U fftw_ops_madd2 │ │ │ │ U fftw_ops_zero │ │ │ │ U fftw_rdft_kind_str │ │ │ │ U fftw_rdft_solve │ │ │ │ U fftw_tensor_inplace_strides2 │ │ │ │ U fftw_tensor_tornk1 │ │ │ │ -000001fc t iterate │ │ │ │ -000002bc t mkplan │ │ │ │ +00000230 t iterate │ │ │ │ +00000314 t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ -000004a4 t print │ │ │ │ +00000524 t print │ │ │ │ 00000000 d sadt.1 │ │ │ │ │ │ │ │ direct-r2r.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ U __aeabi_idiv │ │ │ │ 00000000 t apply │ │ │ │ 0000002c t destroy │ │ │ │ U fftw_mkplan_rdft │ │ │ │ U fftw_mksolver │ │ │ │ -00000128 T fftw_mksolver_rdft_r2r_direct │ │ │ │ +00000158 T fftw_mksolver_rdft_r2r_direct │ │ │ │ U fftw_null_awake │ │ │ │ U fftw_ops_madd2 │ │ │ │ U fftw_ops_zero │ │ │ │ U fftw_rdft_kind_str │ │ │ │ U fftw_rdft_solve │ │ │ │ U fftw_tensor_inplace_strides2 │ │ │ │ U fftw_tensor_tornk1 │ │ │ │ 00000030 t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ -000000f4 t print │ │ │ │ +00000110 t print │ │ │ │ 00000000 d sadt.1 │ │ │ │ │ │ │ │ direct2.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ U __aeabi_idiv │ │ │ │ 00000000 t apply │ │ │ │ -00000038 t apply_r2hc │ │ │ │ -000000c0 t destroy │ │ │ │ +0000003c t apply_r2hc │ │ │ │ +000000dc t destroy │ │ │ │ U fftw_mkplan_rdft2 │ │ │ │ U fftw_mksolver │ │ │ │ -00000238 T fftw_mksolver_rdft2_direct │ │ │ │ +00000288 T fftw_mksolver_rdft2_direct │ │ │ │ U fftw_null_awake │ │ │ │ U fftw_ops_madd2 │ │ │ │ U fftw_ops_zero │ │ │ │ U fftw_rdft2_inplace_strides │ │ │ │ U fftw_rdft2_solve │ │ │ │ U fftw_rdft_kind_str │ │ │ │ U fftw_tensor_tornk1 │ │ │ │ -000000c4 t mkplan │ │ │ │ +000000e0 t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ -00000204 t print │ │ │ │ +0000023c t print │ │ │ │ 00000000 d sadt.1 │ │ │ │ │ │ │ │ lt8-generic.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000008 r .LC1 │ │ │ │ 00000010 r .LC2 │ │ │ │ -00000030 t apply_hc2r │ │ │ │ -000001b8 t apply_r2hc │ │ │ │ -0000040c t awake │ │ │ │ +00000034 t apply_hc2r │ │ │ │ +000001f0 t apply_r2hc │ │ │ │ +0000049c t awake │ │ │ │ U fftw_ifree │ │ │ │ U fftw_is_prime │ │ │ │ U fftw_malloc_plain │ │ │ │ U fftw_mkplan_rdft │ │ │ │ U fftw_mksolver │ │ │ │ U fftw_plan_null_destroy │ │ │ │ -0000043c T fftw_rdft_generic_register │ │ │ │ +000004d0 T fftw_rdft_generic_register │ │ │ │ U fftw_rdft_solve │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_twiddle_awake │ │ │ │ 00000000 r half_tw.0 │ │ │ │ -00000338 t mkplan │ │ │ │ +000003a8 t mkplan │ │ │ │ 00000000 d padt.1 │ │ │ │ 00000000 t print │ │ │ │ 00000000 d sadt.2 │ │ │ │ │ │ │ │ hc2hc-direct.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000030 r .LC1 │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ U __aeabi_idiv │ │ │ │ 00000000 t apply │ │ │ │ -00000374 t apply_buf │ │ │ │ -00000330 t awake │ │ │ │ -00000098 t destroy │ │ │ │ +00000404 t apply_buf │ │ │ │ +000003b4 t awake │ │ │ │ +000000cc t destroy │ │ │ │ U fftw_cpy2d_ci │ │ │ │ U fftw_cpy2d_co │ │ │ │ U fftw_ct_uglyp │ │ │ │ U fftw_ifree │ │ │ │ U fftw_malloc_plain │ │ │ │ U fftw_mkplan_d │ │ │ │ U fftw_mkplan_hc2hc │ │ │ │ @@ -2387,111 +2387,111 @@ │ │ │ │ U fftw_mksolver_hc2hc_hook │ │ │ │ U fftw_mktensor_0d │ │ │ │ U fftw_mktensor_1d │ │ │ │ U fftw_ops_madd2 │ │ │ │ U fftw_ops_zero │ │ │ │ U fftw_plan_awake │ │ │ │ U fftw_plan_destroy_internal │ │ │ │ -00000608 T fftw_regsolver_hc2hc_direct │ │ │ │ +000006d0 T fftw_regsolver_hc2hc_direct │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_twiddle_awake │ │ │ │ U fftw_twiddle_length │ │ │ │ -000000ac t mkcldw │ │ │ │ +000000e4 t mkcldw │ │ │ │ 00000000 d padt.0 │ │ │ │ -000002b8 t print │ │ │ │ +00000328 t print │ │ │ │ │ │ │ │ hc2hc-generic.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000004 r .LC1 │ │ │ │ 00000008 r .LC2 │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ -00000188 t apply_dif │ │ │ │ -00000708 t apply_dit │ │ │ │ -000006d0 t awake │ │ │ │ +000001cc t apply_dif │ │ │ │ +00000800 t apply_dit │ │ │ │ +000007b8 t awake │ │ │ │ 00000000 t bytwiddle │ │ │ │ -000006bc t destroy │ │ │ │ -00000a10 T fftw_hc2hc_generic_register │ │ │ │ +000007a0 t destroy │ │ │ │ +00000b78 T fftw_hc2hc_generic_register │ │ │ │ U fftw_mkplan_d │ │ │ │ U fftw_mkplan_hc2hc │ │ │ │ U fftw_mkproblem_rdft_1_d │ │ │ │ U fftw_mksolver_hc2hc │ │ │ │ U fftw_mksolver_hc2hc_hook │ │ │ │ U fftw_mktensor_0d │ │ │ │ U fftw_mktensor_1d │ │ │ │ U fftw_mktensor_3d │ │ │ │ U fftw_plan_awake │ │ │ │ U fftw_plan_destroy_internal │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_twiddle_awake │ │ │ │ -00000508 t mkcldw │ │ │ │ +000005b4 t mkcldw │ │ │ │ 00000000 d padt.1 │ │ │ │ -000004bc t print │ │ │ │ +00000568 t print │ │ │ │ 00000000 r tw.0 │ │ │ │ │ │ │ │ hc2hc.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000004 r .LC1 │ │ │ │ 00000008 r .LC2 │ │ │ │ U __aeabi_idiv │ │ │ │ -00000018 t apply_dif │ │ │ │ +00000024 t apply_dif │ │ │ │ 00000000 t apply_dit │ │ │ │ -0000008c t awake │ │ │ │ -00000078 t destroy │ │ │ │ +000000a8 t awake │ │ │ │ +00000090 t destroy │ │ │ │ U fftw_choose_radix │ │ │ │ -000000a4 T fftw_hc2hc_applicable │ │ │ │ +000000cc T fftw_hc2hc_applicable │ │ │ │ U fftw_mkplan │ │ │ │ U fftw_mkplan_d │ │ │ │ -000002f0 T fftw_mkplan_hc2hc │ │ │ │ +0000035c T fftw_mkplan_hc2hc │ │ │ │ U fftw_mkplan_rdft │ │ │ │ U fftw_mkproblem_rdft_d │ │ │ │ U fftw_mksolver │ │ │ │ -000002d8 T fftw_mksolver_hc2hc │ │ │ │ +00000338 T fftw_mksolver_hc2hc │ │ │ │ 00000000 B fftw_mksolver_hc2hc_hook │ │ │ │ U fftw_mktensor_1d │ │ │ │ U fftw_mktensor_2d │ │ │ │ U fftw_ops_add │ │ │ │ U fftw_plan_awake │ │ │ │ U fftw_plan_destroy_internal │ │ │ │ U fftw_rdft_solve │ │ │ │ U fftw_tensor_tornk1 │ │ │ │ -0000010c t mkplan │ │ │ │ +00000148 t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ -00000034 t print │ │ │ │ +0000004c t print │ │ │ │ 00000000 d sadt.1 │ │ │ │ │ │ │ │ lt9-indirect.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000018 d adt_after │ │ │ │ 0000000c d adt_before │ │ │ │ -0000001c t apply_after │ │ │ │ +00000028 t apply_after │ │ │ │ 00000000 t apply_before │ │ │ │ -000001a0 t awake │ │ │ │ -00000060 t destroy │ │ │ │ +000001d4 t awake │ │ │ │ +0000007c t destroy │ │ │ │ U fftw_mkplan_d │ │ │ │ U fftw_mkplan_f_d │ │ │ │ U fftw_mkplan_rdft │ │ │ │ U fftw_mkproblem_rdft_0_d │ │ │ │ U fftw_mkproblem_rdft_d │ │ │ │ U fftw_mksolver │ │ │ │ U fftw_ops_add │ │ │ │ U fftw_plan_awake │ │ │ │ U fftw_plan_destroy_internal │ │ │ │ -00000210 T fftw_rdft_indirect_register │ │ │ │ +00000280 T fftw_rdft_indirect_register │ │ │ │ U fftw_rdft_solve │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_tensor_append │ │ │ │ U fftw_tensor_copy_inplace │ │ │ │ U fftw_tensor_inplace_strides2 │ │ │ │ U fftw_tensor_min_istride │ │ │ │ U fftw_tensor_min_ostride │ │ │ │ -000001b8 t mkcld_after │ │ │ │ -000001e4 t mkcld_before │ │ │ │ -00000074 t mkplan │ │ │ │ +000001f8 t mkcld_after │ │ │ │ +0000023c t mkcld_before │ │ │ │ +00000094 t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ -0000003c t print │ │ │ │ +00000054 t print │ │ │ │ 00000000 d sadt.1 │ │ │ │ │ │ │ │ khc2c.o: │ │ │ │ 00000000 T fftw_khc2c_register │ │ │ │ U fftw_regsolver_hc2c_direct │ │ │ │ │ │ │ │ khc2hc.o: │ │ │ │ @@ -2514,15 +2514,15 @@ │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000000 t apply │ │ │ │ U fftw_mkplan_rdft │ │ │ │ U fftw_mksolver │ │ │ │ U fftw_null_awake │ │ │ │ U fftw_ops_zero │ │ │ │ U fftw_plan_null_destroy │ │ │ │ -00000060 T fftw_rdft_nop_register │ │ │ │ +00000068 T fftw_rdft_nop_register │ │ │ │ U fftw_rdft_solve │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_tensor_inplace_strides │ │ │ │ 00000014 t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ 00000004 t print │ │ │ │ 00000000 d sadt.1 │ │ │ │ @@ -2532,15 +2532,15 @@ │ │ │ │ 00000000 t apply │ │ │ │ U fftw_mkplan_rdft2 │ │ │ │ U fftw_mksolver │ │ │ │ U fftw_null_awake │ │ │ │ U fftw_ops_zero │ │ │ │ U fftw_plan_null_destroy │ │ │ │ U fftw_rdft2_inplace_strides │ │ │ │ -00000064 T fftw_rdft2_nop_register │ │ │ │ +0000006c T fftw_rdft2_nop_register │ │ │ │ U fftw_rdft2_solve │ │ │ │ U fftw_solver_register │ │ │ │ 00000014 t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ 00000004 t print │ │ │ │ 00000000 d sadt.1 │ │ │ │ │ │ │ │ @@ -2560,230 +2560,230 @@ │ │ │ │ 00000000 t destroy │ │ │ │ U fftw_dimcmp │ │ │ │ U fftw_ialignment_of │ │ │ │ U fftw_ifree │ │ │ │ U fftw_md5int │ │ │ │ U fftw_md5puts │ │ │ │ U fftw_mkproblem │ │ │ │ -00000780 T fftw_mkproblem_rdft │ │ │ │ -000009cc T fftw_mkproblem_rdft_0_d │ │ │ │ -000009ac T fftw_mkproblem_rdft_1 │ │ │ │ -000009bc T fftw_mkproblem_rdft_1_d │ │ │ │ -0000098c T fftw_mkproblem_rdft_d │ │ │ │ +000008bc T fftw_mkproblem_rdft │ │ │ │ +00000b9c T fftw_mkproblem_rdft_0_d │ │ │ │ +00000b74 T fftw_mkproblem_rdft_1 │ │ │ │ +00000b88 T fftw_mkproblem_rdft_1_d │ │ │ │ +00000b48 T fftw_mkproblem_rdft_d │ │ │ │ U fftw_mkproblem_unsolvable │ │ │ │ U fftw_mktensor │ │ │ │ U fftw_mktensor_0d │ │ │ │ -00000770 T fftw_rdft_kind_str │ │ │ │ -000003c8 T fftw_rdft_zerotens │ │ │ │ +000008ac T fftw_rdft_kind_str │ │ │ │ +00000460 T fftw_rdft_zerotens │ │ │ │ U fftw_tensor_append │ │ │ │ U fftw_tensor_compress_contiguous │ │ │ │ U fftw_tensor_destroy │ │ │ │ U fftw_tensor_destroy2 │ │ │ │ U fftw_tensor_inplace_locations │ │ │ │ U fftw_tensor_md5 │ │ │ │ -0000008c t hash │ │ │ │ +000000a8 t hash │ │ │ │ 00000000 r kstr.0 │ │ │ │ U memset │ │ │ │ 00000000 d padt │ │ │ │ -00000018 t print │ │ │ │ -00000108 t recur │ │ │ │ -00000750 t zero │ │ │ │ +0000001c t print │ │ │ │ +0000013c t recur │ │ │ │ +00000880 t zero │ │ │ │ │ │ │ │ problem2.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000014 r .LC1 │ │ │ │ -00000030 t destroy │ │ │ │ +00000034 t destroy │ │ │ │ U fftw_dft_zerotens │ │ │ │ U fftw_ialignment_of │ │ │ │ U fftw_ifree │ │ │ │ U fftw_md5INT │ │ │ │ U fftw_md5int │ │ │ │ U fftw_md5puts │ │ │ │ U fftw_mkproblem │ │ │ │ -00000a14 T fftw_mkproblem_rdft2 │ │ │ │ -00000ac0 T fftw_mkproblem_rdft2_d │ │ │ │ -00000ae8 T fftw_mkproblem_rdft2_d_3pointers │ │ │ │ +00000b70 T fftw_mkproblem_rdft2 │ │ │ │ +00000c58 T fftw_mkproblem_rdft2_d │ │ │ │ +00000c8c T fftw_mkproblem_rdft2_d_3pointers │ │ │ │ U fftw_mkproblem_unsolvable │ │ │ │ -00000928 T fftw_rdft2_complex_n │ │ │ │ +00000a2c T fftw_rdft2_complex_n │ │ │ │ U fftw_tensor_append │ │ │ │ U fftw_tensor_compress │ │ │ │ U fftw_tensor_compress_contiguous │ │ │ │ U fftw_tensor_copy │ │ │ │ U fftw_tensor_copy_except │ │ │ │ U fftw_tensor_copy_sub │ │ │ │ U fftw_tensor_destroy │ │ │ │ U fftw_tensor_destroy2 │ │ │ │ U fftw_tensor_md5 │ │ │ │ -00000048 t hash │ │ │ │ +00000050 t hash │ │ │ │ 00000000 d padt │ │ │ │ 00000000 t print │ │ │ │ -000000e0 t recur │ │ │ │ -00000458 t vrecur │ │ │ │ -00000950 t zero │ │ │ │ +00000100 t recur │ │ │ │ +000004f8 t vrecur │ │ │ │ +00000a60 t zero │ │ │ │ │ │ │ │ rank-geq2-rdft2.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ -00000028 t apply_hc2r │ │ │ │ +0000003c t apply_hc2r │ │ │ │ 00000000 t apply_r2hc │ │ │ │ -00000270 t awake │ │ │ │ +000002c8 t awake │ │ │ │ 00000000 r buddies.2 │ │ │ │ -00000088 t destroy │ │ │ │ +000000b4 t destroy │ │ │ │ U fftw_mkplan_d │ │ │ │ U fftw_mkplan_rdft2 │ │ │ │ U fftw_mkproblem_dft_d │ │ │ │ U fftw_mkproblem_rdft2_d │ │ │ │ U fftw_mksolver │ │ │ │ U fftw_ops_add │ │ │ │ U fftw_pickdim │ │ │ │ U fftw_plan_awake │ │ │ │ U fftw_plan_destroy_internal │ │ │ │ -00000288 T fftw_rdft2_rank_geq2_register │ │ │ │ +000002ec T fftw_rdft2_rank_geq2_register │ │ │ │ U fftw_rdft2_solve │ │ │ │ U fftw_rdft2_tensor_max_index │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_tensor_append │ │ │ │ U fftw_tensor_copy │ │ │ │ U fftw_tensor_copy_inplace │ │ │ │ U fftw_tensor_destroy4 │ │ │ │ U fftw_tensor_min_stride │ │ │ │ U fftw_tensor_split │ │ │ │ -0000009c t mkplan │ │ │ │ +000000cc t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ -00000064 t print │ │ │ │ +00000090 t print │ │ │ │ 00000000 d sadt.1 │ │ │ │ │ │ │ │ lt13-rank-geq2.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000000 t apply │ │ │ │ -000001b8 t awake │ │ │ │ +000001f8 t awake │ │ │ │ 00000000 r buddies.2 │ │ │ │ -00000040 t destroy │ │ │ │ +0000004c t destroy │ │ │ │ U fftw_mkplan_d │ │ │ │ U fftw_mkplan_rdft │ │ │ │ U fftw_mkproblem_rdft_d │ │ │ │ U fftw_mksolver │ │ │ │ U fftw_ops_add │ │ │ │ U fftw_pickdim │ │ │ │ U fftw_plan_awake │ │ │ │ U fftw_plan_destroy_internal │ │ │ │ -000001d0 T fftw_rdft_rank_geq2_register │ │ │ │ +0000021c T fftw_rdft_rank_geq2_register │ │ │ │ U fftw_rdft_solve │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_tensor_append │ │ │ │ U fftw_tensor_copy │ │ │ │ U fftw_tensor_copy_inplace │ │ │ │ U fftw_tensor_destroy4 │ │ │ │ U fftw_tensor_max_index │ │ │ │ U fftw_tensor_min_stride │ │ │ │ U fftw_tensor_split │ │ │ │ -00000054 t mkplan │ │ │ │ +00000064 t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ -0000001c t print │ │ │ │ +00000028 t print │ │ │ │ 00000000 d sadt.1 │ │ │ │ │ │ │ │ rank0-rdft2.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 0000001c r .LC1 │ │ │ │ -00000200 t apply_hc2r │ │ │ │ +00000280 t apply_hc2r │ │ │ │ 00000000 t apply_r2hc │ │ │ │ -00000150 t apply_r2hc_inplace │ │ │ │ -00000308 t awake │ │ │ │ -000002fc t destroy │ │ │ │ +00000190 t apply_r2hc_inplace │ │ │ │ +000003a8 t awake │ │ │ │ +0000039c t destroy │ │ │ │ U fftw_mkplan_d │ │ │ │ U fftw_mkplan_rdft2 │ │ │ │ U fftw_mkproblem_rdft_0_d │ │ │ │ U fftw_mksolver │ │ │ │ U fftw_ops_other │ │ │ │ U fftw_plan_awake │ │ │ │ U fftw_plan_destroy_internal │ │ │ │ U fftw_rdft2_inplace_strides │ │ │ │ -00000344 T fftw_rdft2_rank0_register │ │ │ │ +000003e4 T fftw_rdft2_rank0_register │ │ │ │ U fftw_rdft2_solve │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_tensor_copy │ │ │ │ U fftw_tensor_tornk1 │ │ │ │ -00000214 t mkplan │ │ │ │ +00000294 t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ -00000314 t print │ │ │ │ +000003b4 t print │ │ │ │ 00000000 d sadt.1 │ │ │ │ │ │ │ │ rank0.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000008 r .LC1 │ │ │ │ 0000000c r .LC2 │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ -00000210 t applicable │ │ │ │ -0000013c t applicable_cpy2dco │ │ │ │ -000001a4 t applicable_ip_sq │ │ │ │ -000000a0 t applicable_ip_sq_tiled │ │ │ │ +00000284 t applicable │ │ │ │ +00000178 t applicable_cpy2dco │ │ │ │ +000001fc t applicable_ip_sq │ │ │ │ +000000bc t applicable_ip_sq_tiled │ │ │ │ 00000000 t applicable_iter │ │ │ │ 0000000c t applicable_memcpy │ │ │ │ -00000028 t applicable_memcpy_loop │ │ │ │ -00000114 t applicable_tiled │ │ │ │ -00001344 t apply_cpy2dco │ │ │ │ -00000dd8 t apply_ip_sq │ │ │ │ -00000e44 t apply_ip_sq_tiled │ │ │ │ -00000d6c t apply_ip_sq_tiledbuf │ │ │ │ -0000144c t apply_iter │ │ │ │ -00000198 t apply_memcpy │ │ │ │ -00000894 t apply_memcpy_loop │ │ │ │ -000013c8 t apply_tiled │ │ │ │ -000012c0 t apply_tiledbuf │ │ │ │ -00000eb0 t copy │ │ │ │ +0000002c t applicable_memcpy_loop │ │ │ │ +0000014c t applicable_tiled │ │ │ │ +000015e4 t apply_cpy2dco │ │ │ │ +00000fd8 t apply_ip_sq │ │ │ │ +00001060 t apply_ip_sq_tiled │ │ │ │ +00000f50 t apply_ip_sq_tiledbuf │ │ │ │ +00001734 t apply_iter │ │ │ │ +000001ec t apply_memcpy │ │ │ │ +00000a0c t apply_memcpy_loop │ │ │ │ +0000168c t apply_tiled │ │ │ │ +0000153c t apply_tiledbuf │ │ │ │ +000010e8 t copy │ │ │ │ U fftw_compute_tilesz │ │ │ │ U fftw_cpy1d │ │ │ │ U fftw_cpy2d_ci │ │ │ │ U fftw_cpy2d_co │ │ │ │ U fftw_cpy2d_tiled │ │ │ │ U fftw_cpy2d_tiledbuf │ │ │ │ U fftw_iabs │ │ │ │ U fftw_mkplan_rdft │ │ │ │ U fftw_mksolver │ │ │ │ U fftw_null_awake │ │ │ │ U fftw_ops_other │ │ │ │ U fftw_plan_null_destroy │ │ │ │ -0000150c T fftw_rdft_rank0_register │ │ │ │ +00001810 T fftw_rdft_rank0_register │ │ │ │ U fftw_rdft_solve │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_tensor_sz │ │ │ │ U fftw_transpose │ │ │ │ U fftw_transpose_tiled │ │ │ │ U fftw_transpose_tiledbuf │ │ │ │ U memcpy │ │ │ │ -00000414 t memcpy_loop │ │ │ │ -00000320 t mkplan │ │ │ │ +000004f4 t memcpy_loop │ │ │ │ +000003d8 t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ -00000048 t print │ │ │ │ +0000004c t print │ │ │ │ 0000006c d sadt.2 │ │ │ │ 00000000 d tab.1 │ │ │ │ -00000914 t transpose │ │ │ │ +00000ab4 t transpose │ │ │ │ │ │ │ │ rdft-dht.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000008 r .LC1 │ │ │ │ 00000010 r .LC2 │ │ │ │ -00000094 t apply_hc2r │ │ │ │ -0000011c t apply_hc2r_save │ │ │ │ +000000b4 t apply_hc2r │ │ │ │ +0000014c t apply_hc2r_save │ │ │ │ 00000000 t apply_r2hc │ │ │ │ -00000390 t awake │ │ │ │ -00000388 t destroy │ │ │ │ +00000408 t awake │ │ │ │ +00000400 t destroy │ │ │ │ U fftw_mkplan_d │ │ │ │ U fftw_mkplan_rdft │ │ │ │ U fftw_mkproblem_rdft_1 │ │ │ │ U fftw_mksolver │ │ │ │ U fftw_plan_awake │ │ │ │ U fftw_plan_destroy_internal │ │ │ │ -00000398 T fftw_rdft_dht_register │ │ │ │ +00000410 T fftw_rdft_dht_register │ │ │ │ U fftw_rdft_solve │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_tensor_copy_inplace │ │ │ │ U fftw_tensor_destroy │ │ │ │ -00000238 t mkplan │ │ │ │ +00000288 t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ -000001f8 t print │ │ │ │ +00000248 t print │ │ │ │ 00000000 d sadt.1 │ │ │ │ │ │ │ │ rdft2-inplace-strides.o: │ │ │ │ U __aeabi_idiv │ │ │ │ U fftw_iabs │ │ │ │ U fftw_imax │ │ │ │ 00000000 T fftw_rdft2_inplace_strides │ │ │ │ @@ -2793,18 +2793,18 @@ │ │ │ │ │ │ │ │ rdft2-rdft.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000008 r .LC1 │ │ │ │ 00000010 r .LC2 │ │ │ │ U __aeabi_idiv │ │ │ │ U __aeabi_idivmod │ │ │ │ -00000064 t apply_hc2r │ │ │ │ -00000240 t apply_r2hc │ │ │ │ -00000484 t awake │ │ │ │ -00000470 t destroy │ │ │ │ +00000074 t apply_hc2r │ │ │ │ +00000294 t apply_r2hc │ │ │ │ +00000530 t awake │ │ │ │ +00000518 t destroy │ │ │ │ U fftw_bufdist │ │ │ │ U fftw_iabs │ │ │ │ U fftw_ifree │ │ │ │ U fftw_ifree0 │ │ │ │ U fftw_imax │ │ │ │ U fftw_imin │ │ │ │ U fftw_malloc_plain │ │ │ │ @@ -2816,22 +2816,22 @@ │ │ │ │ U fftw_mksolver │ │ │ │ U fftw_mktensor_1d │ │ │ │ U fftw_nbuf │ │ │ │ U fftw_ops_madd │ │ │ │ U fftw_plan_awake │ │ │ │ U fftw_plan_destroy_internal │ │ │ │ U fftw_rdft2_inplace_strides │ │ │ │ -00000834 T fftw_rdft2_rdft_register │ │ │ │ +00000948 T fftw_rdft2_rdft_register │ │ │ │ U fftw_rdft2_solve │ │ │ │ U fftw_rdft2_strides │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_tensor_copy │ │ │ │ U fftw_tensor_tornk1 │ │ │ │ U fftw_toobig │ │ │ │ -0000049c t mkplan │ │ │ │ +00000554 t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ 00000000 t print │ │ │ │ 00000000 d sadt.1 │ │ │ │ │ │ │ │ rdft2-strides.o: │ │ │ │ 00000000 T fftw_rdft2_strides │ │ │ │ │ │ │ │ @@ -2846,17 +2846,17 @@ │ │ │ │ │ │ │ │ solve2.o: │ │ │ │ 00000000 T fftw_rdft2_solve │ │ │ │ │ │ │ │ vrank-geq1-rdft2.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000000 t apply │ │ │ │ -00000230 t awake │ │ │ │ +00000278 t awake │ │ │ │ 00000000 r buddies.2 │ │ │ │ -00000228 t destroy │ │ │ │ +00000270 t destroy │ │ │ │ U fftw_iabs │ │ │ │ U fftw_imin │ │ │ │ U fftw_mkplan_d │ │ │ │ U fftw_mkplan_rdft2 │ │ │ │ U fftw_mkproblem_rdft2_d │ │ │ │ U fftw_mksolver │ │ │ │ U fftw_ops_madd2 │ │ │ │ @@ -2864,69 +2864,69 @@ │ │ │ │ U fftw_pickdim │ │ │ │ U fftw_plan_awake │ │ │ │ U fftw_plan_destroy_internal │ │ │ │ U fftw_rdft2_inplace_strides │ │ │ │ U fftw_rdft2_solve │ │ │ │ U fftw_rdft2_strides │ │ │ │ U fftw_rdft2_tensor_max_index │ │ │ │ -00000238 T fftw_rdft2_vrank_geq1_register │ │ │ │ +00000280 T fftw_rdft2_vrank_geq1_register │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_tensor_copy │ │ │ │ U fftw_tensor_copy_except │ │ │ │ -00000080 t mkplan │ │ │ │ +000000a4 t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ -0000005c t print │ │ │ │ +00000080 t print │ │ │ │ 00000000 d sadt.1 │ │ │ │ │ │ │ │ lt15-vrank-geq1.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000000 t apply │ │ │ │ -00000208 t awake │ │ │ │ +00000258 t awake │ │ │ │ 00000000 r buddies.2 │ │ │ │ -00000200 t destroy │ │ │ │ +00000250 t destroy │ │ │ │ U fftw_iabs │ │ │ │ U fftw_imin │ │ │ │ U fftw_mkplan_d │ │ │ │ U fftw_mkplan_rdft │ │ │ │ U fftw_mkproblem_rdft_d │ │ │ │ U fftw_mksolver │ │ │ │ U fftw_ops_madd2 │ │ │ │ U fftw_ops_zero │ │ │ │ U fftw_pickdim │ │ │ │ U fftw_plan_awake │ │ │ │ U fftw_plan_destroy_internal │ │ │ │ U fftw_rdft_solve │ │ │ │ -00000210 T fftw_rdft_vrank_geq1_register │ │ │ │ +00000260 T fftw_rdft_vrank_geq1_register │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_tensor_copy │ │ │ │ U fftw_tensor_copy_except │ │ │ │ U fftw_tensor_max_index │ │ │ │ -00000064 t mkplan │ │ │ │ +00000088 t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ -00000040 t print │ │ │ │ +00000064 t print │ │ │ │ 00000000 d sadt.1 │ │ │ │ │ │ │ │ vrank3-transpose.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 0000000c r .LC1 │ │ │ │ 00000014 r .LC2 │ │ │ │ U __aeabi_idiv │ │ │ │ U __aeabi_idivmod │ │ │ │ 00000028 d adt_cut │ │ │ │ 00000038 d adt_gcd │ │ │ │ 00000018 d adt_toms513 │ │ │ │ 00000000 d adts.2 │ │ │ │ -000009bc t applicable_cut │ │ │ │ -00000d70 t applicable_gcd │ │ │ │ -00000e60 t applicable_toms513 │ │ │ │ -000006c0 t apply_cut │ │ │ │ -000005e0 t apply_gcd │ │ │ │ -000000d8 t apply_toms513 │ │ │ │ -000000b8 t awake │ │ │ │ -0000009c t destroy │ │ │ │ +00000aa0 t applicable_cut │ │ │ │ +00000edc t applicable_gcd │ │ │ │ +00001010 t applicable_toms513 │ │ │ │ +00000744 t apply_cut │ │ │ │ +00000638 t apply_gcd │ │ │ │ +000000f8 t apply_toms513 │ │ │ │ +000000cc t awake │ │ │ │ +000000ac t destroy │ │ │ │ U fftw_iabs │ │ │ │ U fftw_ifree │ │ │ │ U fftw_imax │ │ │ │ U fftw_imin │ │ │ │ U fftw_malloc_plain │ │ │ │ U fftw_mkplan_d │ │ │ │ U fftw_mkplan_rdft │ │ │ │ @@ -2936,26 +2936,26 @@ │ │ │ │ U fftw_ops_add2 │ │ │ │ U fftw_ops_madd │ │ │ │ U fftw_ops_madd2 │ │ │ │ U fftw_ops_zero │ │ │ │ U fftw_plan_awake │ │ │ │ U fftw_plan_destroy_internal │ │ │ │ U fftw_rdft_solve │ │ │ │ -00001404 T fftw_rdft_vrank3_transpose_register │ │ │ │ +00001638 T fftw_rdft_vrank3_transpose_register │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_tensor_sz │ │ │ │ U memcpy │ │ │ │ U memmove │ │ │ │ U memset │ │ │ │ -00000aec t mkcldrn_cut │ │ │ │ -0000085c t mkcldrn_gcd │ │ │ │ +00000c28 t mkcldrn_cut │ │ │ │ +00000914 t mkcldrn_gcd │ │ │ │ 00000000 t mkcldrn_toms513 │ │ │ │ -00000f44 t mkplan │ │ │ │ +00001130 t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ -0000002c t print │ │ │ │ +00000030 t print │ │ │ │ 0000000c d sadt.1 │ │ │ │ │ │ │ │ hc2c.o: │ │ │ │ 00000000 D fftw_rdft_hc2cb_genus │ │ │ │ 0000000c D fftw_rdft_hc2cf_genus │ │ │ │ 00000000 t okp │ │ │ │ │ │ │ │ @@ -3062,796 +3062,796 @@ │ │ │ │ U fftw_codelet_r2cf_9 │ │ │ │ 00000000 D fftw_solvtab_rdft_r2cf │ │ │ │ │ │ │ │ hc2cf2_16.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000008b8 T fftw_codelet_hc2cf2_16 │ │ │ │ +000008f0 T fftw_codelet_hc2cf2_16 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cf_genus │ │ │ │ 00000000 t hc2cf2_16 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cf2_20.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000cb0 T fftw_codelet_hc2cf2_20 │ │ │ │ +00000cf0 T fftw_codelet_hc2cf2_20 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cf_genus │ │ │ │ 00000000 t hc2cf2_20 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cf2_32.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00001508 T fftw_codelet_hc2cf2_32 │ │ │ │ +00001590 T fftw_codelet_hc2cf2_32 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cf_genus │ │ │ │ 00000000 t hc2cf2_32 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cf2_4.o: │ │ │ │ 00000000 d desc │ │ │ │ -00000230 T fftw_codelet_hc2cf2_4 │ │ │ │ +00000254 T fftw_codelet_hc2cf2_4 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cf_genus │ │ │ │ 00000000 t hc2cf2_4 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cf2_8.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000358 T fftw_codelet_hc2cf2_8 │ │ │ │ +00000378 T fftw_codelet_hc2cf2_8 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cf_genus │ │ │ │ 00000000 t hc2cf2_8 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cf_10.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000004b4 T fftw_codelet_hc2cf_10 │ │ │ │ +000004f0 T fftw_codelet_hc2cf_10 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cf_genus │ │ │ │ 00000000 t hc2cf_10 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cf_12.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -0000057c T fftw_codelet_hc2cf_12 │ │ │ │ +000005b0 T fftw_codelet_hc2cf_12 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cf_genus │ │ │ │ 00000000 t hc2cf_12 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cf_16.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000007a0 T fftw_codelet_hc2cf_16 │ │ │ │ +000007d8 T fftw_codelet_hc2cf_16 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cf_genus │ │ │ │ 00000000 t hc2cf_16 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cf_2.o: │ │ │ │ 00000000 d desc │ │ │ │ -000000e4 T fftw_codelet_hc2cf_2 │ │ │ │ +00000110 T fftw_codelet_hc2cf_2 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cf_genus │ │ │ │ 00000000 t hc2cf_2 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cf_20.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000acc T fftw_codelet_hc2cf_20 │ │ │ │ +00000af4 T fftw_codelet_hc2cf_20 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cf_genus │ │ │ │ 00000000 t hc2cf_20 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cf_32.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00001224 T fftw_codelet_hc2cf_32 │ │ │ │ +00001260 T fftw_codelet_hc2cf_32 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cf_genus │ │ │ │ 00000000 t hc2cf_32 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cf_4.o: │ │ │ │ 00000000 d desc │ │ │ │ -00000220 T fftw_codelet_hc2cf_4 │ │ │ │ +00000248 T fftw_codelet_hc2cf_4 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cf_genus │ │ │ │ 00000000 t hc2cf_4 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cf_6.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000428 T fftw_codelet_hc2cf_6 │ │ │ │ +00000468 T fftw_codelet_hc2cf_6 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cf_genus │ │ │ │ 00000000 t hc2cf_6 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cf_8.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000002f0 T fftw_codelet_hc2cf_8 │ │ │ │ +00000320 T fftw_codelet_hc2cf_8 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cf_genus │ │ │ │ 00000000 t hc2cf_8 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cfdft2_16.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000009d0 T fftw_codelet_hc2cfdft2_16 │ │ │ │ +00000a20 T fftw_codelet_hc2cfdft2_16 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cf_genus │ │ │ │ 00000000 t hc2cfdft2_16 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cfdft2_20.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000e40 T fftw_codelet_hc2cfdft2_20 │ │ │ │ +00000e68 T fftw_codelet_hc2cfdft2_20 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cf_genus │ │ │ │ 00000000 t hc2cfdft2_20 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cfdft2_32.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000017dc T fftw_codelet_hc2cfdft2_32 │ │ │ │ +0000189c T fftw_codelet_hc2cfdft2_32 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cf_genus │ │ │ │ 00000000 t hc2cfdft2_32 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cfdft2_4.o: │ │ │ │ 00000000 d desc │ │ │ │ -000002bc T fftw_codelet_hc2cfdft2_4 │ │ │ │ +000002e0 T fftw_codelet_hc2cfdft2_4 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cf_genus │ │ │ │ 00000000 t hc2cfdft2_4 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cfdft2_8.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000440 T fftw_codelet_hc2cfdft2_8 │ │ │ │ +00000480 T fftw_codelet_hc2cfdft2_8 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cf_genus │ │ │ │ 00000000 t hc2cfdft2_8 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cfdft_10.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000005b4 T fftw_codelet_hc2cfdft_10 │ │ │ │ +000005f4 T fftw_codelet_hc2cfdft_10 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cf_genus │ │ │ │ 00000000 t hc2cfdft_10 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cfdft_12.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000624 T fftw_codelet_hc2cfdft_12 │ │ │ │ +00000668 T fftw_codelet_hc2cfdft_12 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cf_genus │ │ │ │ 00000000 t hc2cfdft_12 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cfdft_16.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000888 T fftw_codelet_hc2cfdft_16 │ │ │ │ +000008d8 T fftw_codelet_hc2cfdft_16 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cf_genus │ │ │ │ 00000000 t hc2cfdft_16 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cfdft_2.o: │ │ │ │ 00000000 d desc │ │ │ │ -0000012c T fftw_codelet_hc2cfdft_2 │ │ │ │ +00000154 T fftw_codelet_hc2cfdft_2 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cf_genus │ │ │ │ 00000000 t hc2cfdft_2 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cfdft_20.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000c20 T fftw_codelet_hc2cfdft_20 │ │ │ │ +00000c58 T fftw_codelet_hc2cfdft_20 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cf_genus │ │ │ │ 00000000 t hc2cfdft_20 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cfdft_32.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00001404 T fftw_codelet_hc2cfdft_32 │ │ │ │ +00001488 T fftw_codelet_hc2cfdft_32 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cf_genus │ │ │ │ 00000000 t hc2cfdft_32 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cfdft_4.o: │ │ │ │ 00000000 d desc │ │ │ │ -000002b0 T fftw_codelet_hc2cfdft_4 │ │ │ │ +000002d4 T fftw_codelet_hc2cfdft_4 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cf_genus │ │ │ │ 00000000 t hc2cfdft_4 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cfdft_6.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000004f0 T fftw_codelet_hc2cfdft_6 │ │ │ │ +00000528 T fftw_codelet_hc2cfdft_6 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cf_genus │ │ │ │ 00000000 t hc2cfdft_6 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cfdft_8.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000003c0 T fftw_codelet_hc2cfdft_8 │ │ │ │ +000003f8 T fftw_codelet_hc2cfdft_8 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cf_genus │ │ │ │ 00000000 t hc2cfdft_8 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hf2_16.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000008c8 T fftw_codelet_hf2_16 │ │ │ │ +00000900 T fftw_codelet_hf2_16 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hf_genus │ │ │ │ 00000000 t hf2_16 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hf2_20.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000c9c T fftw_codelet_hf2_20 │ │ │ │ +00000cd4 T fftw_codelet_hf2_20 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hf_genus │ │ │ │ 00000000 t hf2_20 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hf2_25.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00001524 T fftw_codelet_hf2_25 │ │ │ │ +0000153c T fftw_codelet_hf2_25 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hf_genus │ │ │ │ 00000000 t hf2_25 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hf2_32.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -0000154c T fftw_codelet_hf2_32 │ │ │ │ +000015b8 T fftw_codelet_hf2_32 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hf_genus │ │ │ │ 00000000 t hf2_32 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hf2_4.o: │ │ │ │ 00000000 d desc │ │ │ │ -0000024c T fftw_codelet_hf2_4 │ │ │ │ +00000270 T fftw_codelet_hf2_4 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hf_genus │ │ │ │ 00000000 t hf2_4 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hf2_5.o: │ │ │ │ 00000000 d desc │ │ │ │ -000003b8 T fftw_codelet_hf2_5 │ │ │ │ +000003f8 T fftw_codelet_hf2_5 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hf_genus │ │ │ │ 00000000 t hf2_5 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hf2_8.o: │ │ │ │ 00000000 d desc │ │ │ │ -00000348 T fftw_codelet_hf2_8 │ │ │ │ +00000388 T fftw_codelet_hf2_8 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hf_genus │ │ │ │ 00000000 t hf2_8 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hf_10.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000004cc T fftw_codelet_hf_10 │ │ │ │ +00000500 T fftw_codelet_hf_10 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hf_genus │ │ │ │ 00000000 t hf_10 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hf_12.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -0000058c T fftw_codelet_hf_12 │ │ │ │ +000005c4 T fftw_codelet_hf_12 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hf_genus │ │ │ │ 00000000 t hf_12 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hf_15.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000008a8 T fftw_codelet_hf_15 │ │ │ │ +000008d8 T fftw_codelet_hf_15 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hf_genus │ │ │ │ 00000000 t hf_15 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hf_16.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000007b8 T fftw_codelet_hf_16 │ │ │ │ +000007f8 T fftw_codelet_hf_16 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hf_genus │ │ │ │ 00000000 t hf_16 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hf_2.o: │ │ │ │ 00000000 d desc │ │ │ │ -000000f0 T fftw_codelet_hf_2 │ │ │ │ +0000010c T fftw_codelet_hf_2 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hf_genus │ │ │ │ 00000000 t hf_2 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hf_20.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000ab0 T fftw_codelet_hf_20 │ │ │ │ +00000ad8 T fftw_codelet_hf_20 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hf_genus │ │ │ │ 00000000 t hf_20 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hf_25.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -0000120c T fftw_codelet_hf_25 │ │ │ │ +00001294 T fftw_codelet_hf_25 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hf_genus │ │ │ │ 00000000 t hf_25 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hf_3.o: │ │ │ │ 00000000 d desc │ │ │ │ -000001c8 T fftw_codelet_hf_3 │ │ │ │ +000001f0 T fftw_codelet_hf_3 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hf_genus │ │ │ │ 00000000 t hf_3 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hf_32.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00001240 T fftw_codelet_hf_32 │ │ │ │ +00001270 T fftw_codelet_hf_32 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hf_genus │ │ │ │ 00000000 t hf_32 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hf_4.o: │ │ │ │ 00000000 d desc │ │ │ │ -00000240 T fftw_codelet_hf_4 │ │ │ │ +00000264 T fftw_codelet_hf_4 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hf_genus │ │ │ │ 00000000 t hf_4 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hf_5.o: │ │ │ │ 00000000 d desc │ │ │ │ -000003a0 T fftw_codelet_hf_5 │ │ │ │ +000003d8 T fftw_codelet_hf_5 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hf_genus │ │ │ │ 00000000 t hf_5 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hf_6.o: │ │ │ │ 00000000 d desc │ │ │ │ -00000438 T fftw_codelet_hf_6 │ │ │ │ +00000464 T fftw_codelet_hf_6 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hf_genus │ │ │ │ 00000000 t hf_6 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hf_64.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00002eac T fftw_codelet_hf_64 │ │ │ │ +00002f40 T fftw_codelet_hf_64 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hf_genus │ │ │ │ 00000000 t hf_64 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hf_7.o: │ │ │ │ 00000000 d desc │ │ │ │ -000003a0 T fftw_codelet_hf_7 │ │ │ │ +000003e0 T fftw_codelet_hf_7 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hf_genus │ │ │ │ 00000000 t hf_7 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hf_8.o: │ │ │ │ 00000000 d desc │ │ │ │ -00000308 T fftw_codelet_hf_8 │ │ │ │ +00000348 T fftw_codelet_hf_8 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hf_genus │ │ │ │ 00000000 t hf_8 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hf_9.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000004a8 T fftw_codelet_hf_9 │ │ │ │ +000004dc T fftw_codelet_hf_9 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hf_genus │ │ │ │ 00000000 t hf_9 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ r2cfII_10.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000340 T fftw_codelet_r2cfII_10 │ │ │ │ +00000360 T fftw_codelet_r2cfII_10 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cfII_genus │ │ │ │ 00000000 t r2cfII_10 │ │ │ │ │ │ │ │ r2cfII_12.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000430 T fftw_codelet_r2cfII_12 │ │ │ │ +00000458 T fftw_codelet_r2cfII_12 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cfII_genus │ │ │ │ 00000000 t r2cfII_12 │ │ │ │ │ │ │ │ r2cfII_15.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000390 T fftw_codelet_r2cfII_15 │ │ │ │ +000003d8 T fftw_codelet_r2cfII_15 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cfII_genus │ │ │ │ 00000000 t r2cfII_15 │ │ │ │ │ │ │ │ r2cfII_16.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000003a8 T fftw_codelet_r2cfII_16 │ │ │ │ +000003d0 T fftw_codelet_r2cfII_16 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cfII_genus │ │ │ │ 00000000 t r2cfII_16 │ │ │ │ │ │ │ │ r2cfII_2.o: │ │ │ │ 00000000 d desc │ │ │ │ -00000058 T fftw_codelet_r2cfII_2 │ │ │ │ +0000006c T fftw_codelet_r2cfII_2 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cfII_genus │ │ │ │ 00000000 t r2cfII_2 │ │ │ │ │ │ │ │ r2cfII_20.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000004fc T fftw_codelet_r2cfII_20 │ │ │ │ +00000560 T fftw_codelet_r2cfII_20 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cfII_genus │ │ │ │ 00000000 t r2cfII_20 │ │ │ │ │ │ │ │ r2cfII_25.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000b90 T fftw_codelet_r2cfII_25 │ │ │ │ +00000bc0 T fftw_codelet_r2cfII_25 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cfII_genus │ │ │ │ 00000000 t r2cfII_25 │ │ │ │ │ │ │ │ r2cfII_3.o: │ │ │ │ 00000000 d desc │ │ │ │ -000000c0 T fftw_codelet_r2cfII_3 │ │ │ │ +000000e8 T fftw_codelet_r2cfII_3 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cfII_genus │ │ │ │ 00000000 t r2cfII_3 │ │ │ │ │ │ │ │ r2cfII_32.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000818 T fftw_codelet_r2cfII_32 │ │ │ │ +00000858 T fftw_codelet_r2cfII_32 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cfII_genus │ │ │ │ 00000000 t r2cfII_32 │ │ │ │ │ │ │ │ r2cfII_4.o: │ │ │ │ 00000000 d desc │ │ │ │ -00000108 T fftw_codelet_r2cfII_4 │ │ │ │ +00000128 T fftw_codelet_r2cfII_4 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cfII_genus │ │ │ │ 00000000 t r2cfII_4 │ │ │ │ │ │ │ │ r2cfII_5.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000001b8 T fftw_codelet_r2cfII_5 │ │ │ │ +000001e0 T fftw_codelet_r2cfII_5 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cfII_genus │ │ │ │ 00000000 t r2cfII_5 │ │ │ │ │ │ │ │ r2cfII_6.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000001d0 T fftw_codelet_r2cfII_6 │ │ │ │ +000001e8 T fftw_codelet_r2cfII_6 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cfII_genus │ │ │ │ 00000000 t r2cfII_6 │ │ │ │ │ │ │ │ r2cfII_64.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000013c0 T fftw_codelet_r2cfII_64 │ │ │ │ +00001474 T fftw_codelet_r2cfII_64 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cfII_genus │ │ │ │ 00000000 t r2cfII_64 │ │ │ │ │ │ │ │ r2cfII_7.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000002e0 T fftw_codelet_r2cfII_7 │ │ │ │ +00000300 T fftw_codelet_r2cfII_7 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cfII_genus │ │ │ │ 00000000 t r2cfII_7 │ │ │ │ │ │ │ │ r2cfII_8.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000002a8 T fftw_codelet_r2cfII_8 │ │ │ │ +000002d0 T fftw_codelet_r2cfII_8 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cfII_genus │ │ │ │ 00000000 t r2cfII_8 │ │ │ │ │ │ │ │ r2cfII_9.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000468 T fftw_codelet_r2cfII_9 │ │ │ │ +00000498 T fftw_codelet_r2cfII_9 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cfII_genus │ │ │ │ 00000000 t r2cfII_9 │ │ │ │ │ │ │ │ r2cf_10.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000368 T fftw_codelet_r2cf_10 │ │ │ │ +000003a0 T fftw_codelet_r2cf_10 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cf_genus │ │ │ │ 00000000 t r2cf_10 │ │ │ │ │ │ │ │ r2cf_11.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000638 T fftw_codelet_r2cf_11 │ │ │ │ +00000658 T fftw_codelet_r2cf_11 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cf_genus │ │ │ │ 00000000 t r2cf_11 │ │ │ │ │ │ │ │ r2cf_12.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000003c0 T fftw_codelet_r2cf_12 │ │ │ │ +00000408 T fftw_codelet_r2cf_12 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cf_genus │ │ │ │ 00000000 t r2cf_12 │ │ │ │ │ │ │ │ r2cf_128.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000028a8 T fftw_codelet_r2cf_128 │ │ │ │ +00002980 T fftw_codelet_r2cf_128 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cf_genus │ │ │ │ 00000000 t r2cf_128 │ │ │ │ │ │ │ │ r2cf_13.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000003f8 T fftw_codelet_r2cf_13 │ │ │ │ +00000420 T fftw_codelet_r2cf_13 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cf_genus │ │ │ │ 00000000 t r2cf_13 │ │ │ │ │ │ │ │ r2cf_14.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000338 T fftw_codelet_r2cf_14 │ │ │ │ +00000358 T fftw_codelet_r2cf_14 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cf_genus │ │ │ │ 00000000 t r2cf_14 │ │ │ │ │ │ │ │ r2cf_15.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000380 T fftw_codelet_r2cf_15 │ │ │ │ +00000398 T fftw_codelet_r2cf_15 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cf_genus │ │ │ │ 00000000 t r2cf_15 │ │ │ │ │ │ │ │ r2cf_16.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000005c0 T fftw_codelet_r2cf_16 │ │ │ │ +00000608 T fftw_codelet_r2cf_16 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cf_genus │ │ │ │ 00000000 t r2cf_16 │ │ │ │ │ │ │ │ r2cf_2.o: │ │ │ │ 00000000 d desc │ │ │ │ -0000006c T fftw_codelet_r2cf_2 │ │ │ │ +00000080 T fftw_codelet_r2cf_2 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cf_genus │ │ │ │ 00000000 t r2cf_2 │ │ │ │ │ │ │ │ r2cf_20.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000434 T fftw_codelet_r2cf_20 │ │ │ │ +00000474 T fftw_codelet_r2cf_20 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cf_genus │ │ │ │ 00000000 t r2cf_20 │ │ │ │ │ │ │ │ r2cf_25.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000bac T fftw_codelet_r2cf_25 │ │ │ │ +00000bf0 T fftw_codelet_r2cf_25 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cf_genus │ │ │ │ 00000000 t r2cf_25 │ │ │ │ │ │ │ │ r2cf_3.o: │ │ │ │ 00000000 d desc │ │ │ │ -000000d0 T fftw_codelet_r2cf_3 │ │ │ │ +000000f8 T fftw_codelet_r2cf_3 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cf_genus │ │ │ │ 00000000 t r2cf_3 │ │ │ │ │ │ │ │ r2cf_32.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000006e8 T fftw_codelet_r2cf_32 │ │ │ │ +00000748 T fftw_codelet_r2cf_32 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cf_genus │ │ │ │ 00000000 t r2cf_32 │ │ │ │ │ │ │ │ r2cf_4.o: │ │ │ │ 00000000 d desc │ │ │ │ -000000d8 T fftw_codelet_r2cf_4 │ │ │ │ +00000100 T fftw_codelet_r2cf_4 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cf_genus │ │ │ │ 00000000 t r2cf_4 │ │ │ │ │ │ │ │ r2cf_5.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000001d0 T fftw_codelet_r2cf_5 │ │ │ │ +000001e8 T fftw_codelet_r2cf_5 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cf_genus │ │ │ │ 00000000 t r2cf_5 │ │ │ │ │ │ │ │ r2cf_6.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000001e8 T fftw_codelet_r2cf_6 │ │ │ │ +00000210 T fftw_codelet_r2cf_6 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cf_genus │ │ │ │ 00000000 t r2cf_6 │ │ │ │ │ │ │ │ r2cf_64.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00001034 T fftw_codelet_r2cf_64 │ │ │ │ +000010e0 T fftw_codelet_r2cf_64 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cf_genus │ │ │ │ 00000000 t r2cf_64 │ │ │ │ │ │ │ │ r2cf_7.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000002e8 T fftw_codelet_r2cf_7 │ │ │ │ +00000308 T fftw_codelet_r2cf_7 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cf_genus │ │ │ │ 00000000 t r2cf_7 │ │ │ │ │ │ │ │ r2cf_8.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000258 T fftw_codelet_r2cf_8 │ │ │ │ +00000280 T fftw_codelet_r2cf_8 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cf_genus │ │ │ │ 00000000 t r2cf_8 │ │ │ │ │ │ │ │ r2cf_9.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000450 T fftw_codelet_r2cf_9 │ │ │ │ +00000490 T fftw_codelet_r2cf_9 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cf_genus │ │ │ │ 00000000 t r2cf_9 │ │ │ │ │ │ │ │ lt17-codlist.o: │ │ │ │ U fftw_codelet_hb2_16 │ │ │ │ U fftw_codelet_hb2_20 │ │ │ │ @@ -3942,816 +3942,816 @@ │ │ │ │ U fftw_codelet_r2cb_9 │ │ │ │ 00000000 D fftw_solvtab_rdft_r2cb │ │ │ │ │ │ │ │ hb2_16.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000918 T fftw_codelet_hb2_16 │ │ │ │ +00000950 T fftw_codelet_hb2_16 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hb_genus │ │ │ │ 00000000 t hb2_16 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hb2_20.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000d80 T fftw_codelet_hb2_20 │ │ │ │ +00000df8 T fftw_codelet_hb2_20 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hb_genus │ │ │ │ 00000000 t hb2_20 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hb2_25.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00001558 T fftw_codelet_hb2_25 │ │ │ │ +000015a8 T fftw_codelet_hb2_25 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hb_genus │ │ │ │ 00000000 t hb2_25 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hb2_32.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000016f4 T fftw_codelet_hb2_32 │ │ │ │ +00001780 T fftw_codelet_hb2_32 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hb_genus │ │ │ │ 00000000 t hb2_32 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hb2_4.o: │ │ │ │ 00000000 d desc │ │ │ │ -00000248 T fftw_codelet_hb2_4 │ │ │ │ +00000270 T fftw_codelet_hb2_4 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hb_genus │ │ │ │ 00000000 t hb2_4 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hb2_5.o: │ │ │ │ 00000000 d desc │ │ │ │ -0000044c T fftw_codelet_hb2_5 │ │ │ │ +00000474 T fftw_codelet_hb2_5 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hb_genus │ │ │ │ 00000000 t hb2_5 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hb2_8.o: │ │ │ │ 00000000 d desc │ │ │ │ -00000398 T fftw_codelet_hb2_8 │ │ │ │ +000003d8 T fftw_codelet_hb2_8 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hb_genus │ │ │ │ 00000000 t hb2_8 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hb_10.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000004a0 T fftw_codelet_hb_10 │ │ │ │ +000004d0 T fftw_codelet_hb_10 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hb_genus │ │ │ │ 00000000 t hb_10 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hb_12.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000520 T fftw_codelet_hb_12 │ │ │ │ +0000054c T fftw_codelet_hb_12 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hb_genus │ │ │ │ 00000000 t hb_12 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hb_15.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000908 T fftw_codelet_hb_15 │ │ │ │ +00000900 T fftw_codelet_hb_15 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hb_genus │ │ │ │ 00000000 t hb_15 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hb_16.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000007a4 T fftw_codelet_hb_16 │ │ │ │ +000007dc T fftw_codelet_hb_16 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hb_genus │ │ │ │ 00000000 t hb_16 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hb_2.o: │ │ │ │ 00000000 d desc │ │ │ │ -000000ec T fftw_codelet_hb_2 │ │ │ │ +0000010c T fftw_codelet_hb_2 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hb_genus │ │ │ │ 00000000 t hb_2 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hb_20.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000b6c T fftw_codelet_hb_20 │ │ │ │ +00000bbc T fftw_codelet_hb_20 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hb_genus │ │ │ │ 00000000 t hb_20 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hb_25.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00001254 T fftw_codelet_hb_25 │ │ │ │ +000012b0 T fftw_codelet_hb_25 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hb_genus │ │ │ │ 00000000 t hb_25 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hb_3.o: │ │ │ │ 00000000 d desc │ │ │ │ -000001d8 T fftw_codelet_hb_3 │ │ │ │ +00000200 T fftw_codelet_hb_3 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hb_genus │ │ │ │ 00000000 t hb_3 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hb_32.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00001238 T fftw_codelet_hb_32 │ │ │ │ +00001288 T fftw_codelet_hb_32 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hb_genus │ │ │ │ 00000000 t hb_32 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hb_4.o: │ │ │ │ 00000000 d desc │ │ │ │ -0000023c T fftw_codelet_hb_4 │ │ │ │ +00000264 T fftw_codelet_hb_4 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hb_genus │ │ │ │ 00000000 t hb_4 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hb_5.o: │ │ │ │ 00000000 d desc │ │ │ │ -000003c0 T fftw_codelet_hb_5 │ │ │ │ +000003d8 T fftw_codelet_hb_5 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hb_genus │ │ │ │ 00000000 t hb_5 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hb_6.o: │ │ │ │ 00000000 d desc │ │ │ │ -00000430 T fftw_codelet_hb_6 │ │ │ │ +00000458 T fftw_codelet_hb_6 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hb_genus │ │ │ │ 00000000 t hb_6 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hb_64.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00002f48 T fftw_codelet_hb_64 │ │ │ │ +00002f98 T fftw_codelet_hb_64 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hb_genus │ │ │ │ 00000000 t hb_64 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hb_7.o: │ │ │ │ 00000000 d desc │ │ │ │ -00000388 T fftw_codelet_hb_7 │ │ │ │ +000003d0 T fftw_codelet_hb_7 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hb_genus │ │ │ │ 00000000 t hb_7 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hb_8.o: │ │ │ │ 00000000 d desc │ │ │ │ -000002f8 T fftw_codelet_hb_8 │ │ │ │ +00000340 T fftw_codelet_hb_8 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hb_genus │ │ │ │ 00000000 t hb_8 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hb_9.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000004bc T fftw_codelet_hb_9 │ │ │ │ +000004f0 T fftw_codelet_hb_9 │ │ │ │ U fftw_khc2hc_register │ │ │ │ U fftw_rdft_hb_genus │ │ │ │ 00000000 t hb_9 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cb2_16.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000914 T fftw_codelet_hc2cb2_16 │ │ │ │ +00000924 T fftw_codelet_hc2cb2_16 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cb_genus │ │ │ │ 00000000 t hc2cb2_16 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cb2_20.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000da4 T fftw_codelet_hc2cb2_20 │ │ │ │ +00000dcc T fftw_codelet_hc2cb2_20 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cb_genus │ │ │ │ 00000000 t hc2cb2_20 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cb2_32.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000016ac T fftw_codelet_hc2cb2_32 │ │ │ │ +00001710 T fftw_codelet_hc2cb2_32 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cb_genus │ │ │ │ 00000000 t hc2cb2_32 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cb2_4.o: │ │ │ │ 00000000 d desc │ │ │ │ -0000022c T fftw_codelet_hc2cb2_4 │ │ │ │ +00000254 T fftw_codelet_hc2cb2_4 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cb_genus │ │ │ │ 00000000 t hc2cb2_4 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cb2_8.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000398 T fftw_codelet_hc2cb2_8 │ │ │ │ +000003c8 T fftw_codelet_hc2cb2_8 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cb_genus │ │ │ │ 00000000 t hc2cb2_8 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cb_10.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000004a0 T fftw_codelet_hc2cb_10 │ │ │ │ +000004d0 T fftw_codelet_hc2cb_10 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cb_genus │ │ │ │ 00000000 t hc2cb_10 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cb_12.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000004fc T fftw_codelet_hc2cb_12 │ │ │ │ +00000534 T fftw_codelet_hc2cb_12 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cb_genus │ │ │ │ 00000000 t hc2cb_12 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cb_16.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -0000077c T fftw_codelet_hc2cb_16 │ │ │ │ +000007b0 T fftw_codelet_hc2cb_16 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cb_genus │ │ │ │ 00000000 t hc2cb_16 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cb_2.o: │ │ │ │ 00000000 d desc │ │ │ │ -000000e4 T fftw_codelet_hc2cb_2 │ │ │ │ +00000110 T fftw_codelet_hc2cb_2 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cb_genus │ │ │ │ 00000000 t hc2cb_2 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cb_20.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000b4c T fftw_codelet_hc2cb_20 │ │ │ │ +00000b88 T fftw_codelet_hc2cb_20 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cb_genus │ │ │ │ 00000000 t hc2cb_20 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cb_32.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00001208 T fftw_codelet_hc2cb_32 │ │ │ │ +00001228 T fftw_codelet_hc2cb_32 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cb_genus │ │ │ │ 00000000 t hc2cb_32 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cb_4.o: │ │ │ │ 00000000 d desc │ │ │ │ -00000220 T fftw_codelet_hc2cb_4 │ │ │ │ +00000248 T fftw_codelet_hc2cb_4 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cb_genus │ │ │ │ 00000000 t hc2cb_4 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cb_6.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000438 T fftw_codelet_hc2cb_6 │ │ │ │ +00000468 T fftw_codelet_hc2cb_6 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cb_genus │ │ │ │ 00000000 t hc2cb_6 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cb_8.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000002f0 T fftw_codelet_hc2cb_8 │ │ │ │ +00000328 T fftw_codelet_hc2cb_8 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cb_genus │ │ │ │ 00000000 t hc2cb_8 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cbdft2_16.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000850 T fftw_codelet_hc2cbdft2_16 │ │ │ │ +00000888 T fftw_codelet_hc2cbdft2_16 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cb_genus │ │ │ │ 00000000 t hc2cbdft2_16 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cbdft2_20.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000bfc T fftw_codelet_hc2cbdft2_20 │ │ │ │ +00000c3c T fftw_codelet_hc2cbdft2_20 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cb_genus │ │ │ │ 00000000 t hc2cbdft2_20 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cbdft2_32.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00001378 T fftw_codelet_hc2cbdft2_32 │ │ │ │ +000013e4 T fftw_codelet_hc2cbdft2_32 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cb_genus │ │ │ │ 00000000 t hc2cbdft2_32 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cbdft2_4.o: │ │ │ │ 00000000 d desc │ │ │ │ -00000268 T fftw_codelet_hc2cbdft2_4 │ │ │ │ +0000028c T fftw_codelet_hc2cbdft2_4 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cb_genus │ │ │ │ 00000000 t hc2cbdft2_4 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cbdft2_8.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000378 T fftw_codelet_hc2cbdft2_8 │ │ │ │ +000003a8 T fftw_codelet_hc2cbdft2_8 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cb_genus │ │ │ │ 00000000 t hc2cbdft2_8 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cbdft_10.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000544 T fftw_codelet_hc2cbdft_10 │ │ │ │ +00000578 T fftw_codelet_hc2cbdft_10 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cb_genus │ │ │ │ 00000000 t hc2cbdft_10 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cbdft_12.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000005e8 T fftw_codelet_hc2cbdft_12 │ │ │ │ +0000061c T fftw_codelet_hc2cbdft_12 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cb_genus │ │ │ │ 00000000 t hc2cbdft_12 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cbdft_16.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000850 T fftw_codelet_hc2cbdft_16 │ │ │ │ +00000888 T fftw_codelet_hc2cbdft_16 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cb_genus │ │ │ │ 00000000 t hc2cbdft_16 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cbdft_2.o: │ │ │ │ 00000000 d desc │ │ │ │ -00000104 T fftw_codelet_hc2cbdft_2 │ │ │ │ +00000130 T fftw_codelet_hc2cbdft_2 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cb_genus │ │ │ │ 00000000 t hc2cbdft_2 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cbdft_20.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000bfc T fftw_codelet_hc2cbdft_20 │ │ │ │ +00000c3c T fftw_codelet_hc2cbdft_20 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cb_genus │ │ │ │ 00000000 t hc2cbdft_20 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cbdft_32.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00001378 T fftw_codelet_hc2cbdft_32 │ │ │ │ +000013e4 T fftw_codelet_hc2cbdft_32 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cb_genus │ │ │ │ 00000000 t hc2cbdft_32 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cbdft_4.o: │ │ │ │ 00000000 d desc │ │ │ │ -00000268 T fftw_codelet_hc2cbdft_4 │ │ │ │ +0000028c T fftw_codelet_hc2cbdft_4 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cb_genus │ │ │ │ 00000000 t hc2cbdft_4 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cbdft_6.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000004e0 T fftw_codelet_hc2cbdft_6 │ │ │ │ +00000518 T fftw_codelet_hc2cbdft_6 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cb_genus │ │ │ │ 00000000 t hc2cbdft_6 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ hc2cbdft_8.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000378 T fftw_codelet_hc2cbdft_8 │ │ │ │ +000003a8 T fftw_codelet_hc2cbdft_8 │ │ │ │ U fftw_khc2c_register │ │ │ │ U fftw_rdft_hc2cb_genus │ │ │ │ 00000000 t hc2cbdft_8 │ │ │ │ 00000000 r twinstr │ │ │ │ │ │ │ │ r2cbIII_10.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000368 T fftw_codelet_r2cbIII_10 │ │ │ │ +00000388 T fftw_codelet_r2cbIII_10 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cbIII_genus │ │ │ │ 00000000 t r2cbIII_10 │ │ │ │ │ │ │ │ r2cbIII_12.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000458 T fftw_codelet_r2cbIII_12 │ │ │ │ +00000490 T fftw_codelet_r2cbIII_12 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cbIII_genus │ │ │ │ 00000000 t r2cbIII_12 │ │ │ │ │ │ │ │ r2cbIII_15.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000360 T fftw_codelet_r2cbIII_15 │ │ │ │ +00000388 T fftw_codelet_r2cbIII_15 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cbIII_genus │ │ │ │ 00000000 t r2cbIII_15 │ │ │ │ │ │ │ │ r2cbIII_16.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000390 T fftw_codelet_r2cbIII_16 │ │ │ │ +000003d0 T fftw_codelet_r2cbIII_16 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cbIII_genus │ │ │ │ 00000000 t r2cbIII_16 │ │ │ │ │ │ │ │ r2cbIII_2.o: │ │ │ │ 00000000 d desc │ │ │ │ -00000068 T fftw_codelet_r2cbIII_2 │ │ │ │ +0000007c T fftw_codelet_r2cbIII_2 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cbIII_genus │ │ │ │ 00000000 t r2cbIII_2 │ │ │ │ │ │ │ │ r2cbIII_20.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000004a0 T fftw_codelet_r2cbIII_20 │ │ │ │ +000004dc T fftw_codelet_r2cbIII_20 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cbIII_genus │ │ │ │ 00000000 t r2cbIII_20 │ │ │ │ │ │ │ │ r2cbIII_25.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000778 T fftw_codelet_r2cbIII_25 │ │ │ │ +000007c8 T fftw_codelet_r2cbIII_25 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cbIII_genus │ │ │ │ 00000000 t r2cbIII_25 │ │ │ │ │ │ │ │ r2cbIII_3.o: │ │ │ │ 00000000 d desc │ │ │ │ -000000c8 T fftw_codelet_r2cbIII_3 │ │ │ │ +000000f0 T fftw_codelet_r2cbIII_3 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cbIII_genus │ │ │ │ 00000000 t r2cbIII_3 │ │ │ │ │ │ │ │ r2cbIII_32.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000008a0 T fftw_codelet_r2cbIII_32 │ │ │ │ +000008dc T fftw_codelet_r2cbIII_32 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cbIII_genus │ │ │ │ 00000000 t r2cbIII_32 │ │ │ │ │ │ │ │ r2cbIII_4.o: │ │ │ │ 00000000 d desc │ │ │ │ -00000110 T fftw_codelet_r2cbIII_4 │ │ │ │ +00000138 T fftw_codelet_r2cbIII_4 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cbIII_genus │ │ │ │ 00000000 t r2cbIII_4 │ │ │ │ │ │ │ │ r2cbIII_5.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000001c8 T fftw_codelet_r2cbIII_5 │ │ │ │ +000001e8 T fftw_codelet_r2cbIII_5 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cbIII_genus │ │ │ │ 00000000 t r2cbIII_5 │ │ │ │ │ │ │ │ r2cbIII_6.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000001d0 T fftw_codelet_r2cbIII_6 │ │ │ │ +000001f0 T fftw_codelet_r2cbIII_6 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cbIII_genus │ │ │ │ 00000000 t r2cbIII_6 │ │ │ │ │ │ │ │ r2cbIII_64.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00001390 T fftw_codelet_r2cbIII_64 │ │ │ │ +00001450 T fftw_codelet_r2cbIII_64 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cbIII_genus │ │ │ │ 00000000 t r2cbIII_64 │ │ │ │ │ │ │ │ r2cbIII_7.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000002f8 T fftw_codelet_r2cbIII_7 │ │ │ │ +00000318 T fftw_codelet_r2cbIII_7 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cbIII_genus │ │ │ │ 00000000 t r2cbIII_7 │ │ │ │ │ │ │ │ r2cbIII_8.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000002b8 T fftw_codelet_r2cbIII_8 │ │ │ │ +000002e0 T fftw_codelet_r2cbIII_8 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cbIII_genus │ │ │ │ 00000000 t r2cbIII_8 │ │ │ │ │ │ │ │ r2cbIII_9.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000003c8 T fftw_codelet_r2cbIII_9 │ │ │ │ +000003e8 T fftw_codelet_r2cbIII_9 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cbIII_genus │ │ │ │ 00000000 t r2cbIII_9 │ │ │ │ │ │ │ │ r2cb_10.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000370 T fftw_codelet_r2cb_10 │ │ │ │ +000003a0 T fftw_codelet_r2cb_10 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cb_genus │ │ │ │ 00000000 t r2cb_10 │ │ │ │ │ │ │ │ r2cb_11.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000658 T fftw_codelet_r2cb_11 │ │ │ │ +00000680 T fftw_codelet_r2cb_11 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cb_genus │ │ │ │ 00000000 t r2cb_11 │ │ │ │ │ │ │ │ r2cb_12.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000003c8 T fftw_codelet_r2cb_12 │ │ │ │ +00000400 T fftw_codelet_r2cb_12 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cb_genus │ │ │ │ 00000000 t r2cb_12 │ │ │ │ │ │ │ │ r2cb_128.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00002918 T fftw_codelet_r2cb_128 │ │ │ │ +000029d0 T fftw_codelet_r2cb_128 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cb_genus │ │ │ │ 00000000 t r2cb_128 │ │ │ │ │ │ │ │ r2cb_13.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000003c8 T fftw_codelet_r2cb_13 │ │ │ │ +00000400 T fftw_codelet_r2cb_13 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cb_genus │ │ │ │ 00000000 t r2cb_13 │ │ │ │ │ │ │ │ r2cb_14.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000368 T fftw_codelet_r2cb_14 │ │ │ │ +000003b8 T fftw_codelet_r2cb_14 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cb_genus │ │ │ │ 00000000 t r2cb_14 │ │ │ │ │ │ │ │ r2cb_15.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000350 T fftw_codelet_r2cb_15 │ │ │ │ +00000398 T fftw_codelet_r2cb_15 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cb_genus │ │ │ │ 00000000 t r2cb_15 │ │ │ │ │ │ │ │ r2cb_16.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000308 T fftw_codelet_r2cb_16 │ │ │ │ +00000338 T fftw_codelet_r2cb_16 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cb_genus │ │ │ │ 00000000 t r2cb_16 │ │ │ │ │ │ │ │ r2cb_2.o: │ │ │ │ 00000000 d desc │ │ │ │ -00000070 T fftw_codelet_r2cb_2 │ │ │ │ +00000084 T fftw_codelet_r2cb_2 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cb_genus │ │ │ │ 00000000 t r2cb_2 │ │ │ │ │ │ │ │ r2cb_20.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -0000042c T fftw_codelet_r2cb_20 │ │ │ │ +000004a8 T fftw_codelet_r2cb_20 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cb_genus │ │ │ │ 00000000 t r2cb_20 │ │ │ │ │ │ │ │ r2cb_25.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000788 T fftw_codelet_r2cb_25 │ │ │ │ +000007e8 T fftw_codelet_r2cb_25 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cb_genus │ │ │ │ 00000000 t r2cb_25 │ │ │ │ │ │ │ │ r2cb_3.o: │ │ │ │ 00000000 d desc │ │ │ │ -000000c8 T fftw_codelet_r2cb_3 │ │ │ │ +000000f0 T fftw_codelet_r2cb_3 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cb_genus │ │ │ │ 00000000 t r2cb_3 │ │ │ │ │ │ │ │ r2cb_32.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000758 T fftw_codelet_r2cb_32 │ │ │ │ +000007c0 T fftw_codelet_r2cb_32 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cb_genus │ │ │ │ 00000000 t r2cb_32 │ │ │ │ │ │ │ │ r2cb_4.o: │ │ │ │ 00000000 d desc │ │ │ │ -000000e0 T fftw_codelet_r2cb_4 │ │ │ │ +00000108 T fftw_codelet_r2cb_4 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cb_genus │ │ │ │ 00000000 t r2cb_4 │ │ │ │ │ │ │ │ r2cb_5.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000001d8 T fftw_codelet_r2cb_5 │ │ │ │ +000001f8 T fftw_codelet_r2cb_5 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cb_genus │ │ │ │ 00000000 t r2cb_5 │ │ │ │ │ │ │ │ r2cb_6.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000001d8 T fftw_codelet_r2cb_6 │ │ │ │ +00000200 T fftw_codelet_r2cb_6 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cb_genus │ │ │ │ 00000000 t r2cb_6 │ │ │ │ │ │ │ │ r2cb_64.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00001184 T fftw_codelet_r2cb_64 │ │ │ │ +00001220 T fftw_codelet_r2cb_64 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cb_genus │ │ │ │ 00000000 t r2cb_64 │ │ │ │ │ │ │ │ r2cb_7.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000308 T fftw_codelet_r2cb_7 │ │ │ │ +00000328 T fftw_codelet_r2cb_7 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cb_genus │ │ │ │ 00000000 t r2cb_7 │ │ │ │ │ │ │ │ r2cb_8.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -00000278 T fftw_codelet_r2cb_8 │ │ │ │ +00000298 T fftw_codelet_r2cb_8 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cb_genus │ │ │ │ 00000000 t r2cb_8 │ │ │ │ │ │ │ │ r2cb_9.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ 00000000 d desc │ │ │ │ U fftw_an_INT_guaranteed_to_be_zero │ │ │ │ -000003d0 T fftw_codelet_r2cb_9 │ │ │ │ +00000418 T fftw_codelet_r2cb_9 │ │ │ │ U fftw_kr2c_register │ │ │ │ U fftw_rdft_r2cb_genus │ │ │ │ 00000000 t r2cb_9 │ │ │ │ │ │ │ │ lt18-codlist.o: │ │ │ │ U fftw_codelet_e01_8 │ │ │ │ U fftw_codelet_e10_8 │ │ │ │ 00000000 D fftw_solvtab_rdft_r2r │ │ │ │ │ │ │ │ e01_8.o: │ │ │ │ 00000000 d desc │ │ │ │ 00000000 t e01_8 │ │ │ │ -00000318 T fftw_codelet_e01_8 │ │ │ │ +00000358 T fftw_codelet_e01_8 │ │ │ │ U fftw_kr2r_register │ │ │ │ U fftw_rdft_r2r_genus │ │ │ │ │ │ │ │ e10_8.o: │ │ │ │ 00000000 d desc │ │ │ │ 00000000 t e10_8 │ │ │ │ -00000318 T fftw_codelet_e10_8 │ │ │ │ +00000370 T fftw_codelet_e10_8 │ │ │ │ U fftw_kr2r_register │ │ │ │ U fftw_rdft_r2r_genus │ │ │ │ │ │ │ │ lt19-conf.o: │ │ │ │ U fftw_redft00e_r2hc_pad_register │ │ │ │ U fftw_reodft00e_splitradix_register │ │ │ │ U fftw_reodft010e_r2hc_register │ │ │ │ @@ -4760,191 +4760,191 @@ │ │ │ │ 00000000 T fftw_reodft_conf_standard │ │ │ │ U fftw_rodft00e_r2hc_pad_register │ │ │ │ U fftw_solvtab_exec │ │ │ │ 00000000 d s │ │ │ │ │ │ │ │ redft00e-r2hc-pad.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ -00000028 t apply │ │ │ │ -00000284 t awake │ │ │ │ -00000270 t destroy │ │ │ │ +0000002c t apply │ │ │ │ +000002e4 t awake │ │ │ │ +000002cc t destroy │ │ │ │ U fftw_ifree │ │ │ │ U fftw_ifree0 │ │ │ │ U fftw_malloc_plain │ │ │ │ U fftw_mkplan_d │ │ │ │ U fftw_mkplan_rdft │ │ │ │ U fftw_mkproblem_rdft_1_d │ │ │ │ U fftw_mksolver │ │ │ │ U fftw_mktensor_0d │ │ │ │ U fftw_mktensor_1d │ │ │ │ U fftw_ops_madd2 │ │ │ │ U fftw_ops_zero │ │ │ │ U fftw_plan_awake │ │ │ │ U fftw_plan_destroy_internal │ │ │ │ U fftw_rdft_solve │ │ │ │ -0000029c T fftw_redft00e_r2hc_pad_register │ │ │ │ +00000308 T fftw_redft00e_r2hc_pad_register │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_tensor_tornk1 │ │ │ │ -00000120 t mkplan │ │ │ │ +00000154 t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ 00000000 t print │ │ │ │ 00000000 d sadt.1 │ │ │ │ │ │ │ │ reodft00e-splitradix.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ 00000028 r .LC1 │ │ │ │ -000003dc t apply_e │ │ │ │ +0000042c t apply_e │ │ │ │ 00000000 t apply_o │ │ │ │ -00000714 t awake │ │ │ │ -00000700 t destroy │ │ │ │ +000007bc t awake │ │ │ │ +000007a4 t destroy │ │ │ │ U fftw_ifree │ │ │ │ U fftw_malloc_plain │ │ │ │ U fftw_mkplan_d │ │ │ │ U fftw_mkplan_rdft │ │ │ │ U fftw_mkproblem_rdft_1_d │ │ │ │ U fftw_mksolver │ │ │ │ U fftw_mktensor_0d │ │ │ │ U fftw_mktensor_1d │ │ │ │ U fftw_ops_madd2 │ │ │ │ U fftw_ops_zero │ │ │ │ U fftw_plan_awake │ │ │ │ U fftw_plan_destroy_internal │ │ │ │ U fftw_rdft_solve │ │ │ │ -000009bc T fftw_reodft00e_splitradix_register │ │ │ │ +00000ad4 T fftw_reodft00e_splitradix_register │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_tensor_tornk1 │ │ │ │ U fftw_twiddle_awake │ │ │ │ -000007a0 t mkplan │ │ │ │ +00000874 t mkplan │ │ │ │ 00000000 d padt.1 │ │ │ │ -00000758 t print │ │ │ │ +00000814 t print │ │ │ │ 00000000 r reodft00e_tw.0 │ │ │ │ 00000000 d sadt.2 │ │ │ │ │ │ │ │ reodft010e-r2hc.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ -0000069c t apply_re01 │ │ │ │ -00000478 t apply_re10 │ │ │ │ -0000023c t apply_ro01 │ │ │ │ +00000794 t apply_re01 │ │ │ │ +00000524 t apply_re10 │ │ │ │ +00000290 t apply_ro01 │ │ │ │ 00000000 t apply_ro10 │ │ │ │ -00000ad8 t awake │ │ │ │ -00000aa4 t destroy │ │ │ │ +00000c60 t awake │ │ │ │ +00000c20 t destroy │ │ │ │ U fftw_ifree │ │ │ │ U fftw_malloc_plain │ │ │ │ U fftw_mkplan_d │ │ │ │ U fftw_mkplan_rdft │ │ │ │ U fftw_mkproblem_rdft_1_d │ │ │ │ U fftw_mksolver │ │ │ │ U fftw_mktensor_0d │ │ │ │ U fftw_mktensor_1d │ │ │ │ U fftw_ops_madd2 │ │ │ │ U fftw_ops_zero │ │ │ │ U fftw_plan_awake │ │ │ │ U fftw_plan_destroy_internal │ │ │ │ U fftw_rdft_kind_str │ │ │ │ U fftw_rdft_solve │ │ │ │ -00000b10 T fftw_reodft010e_r2hc_register │ │ │ │ +00000cac T fftw_reodft010e_r2hc_register │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_tensor_tornk1 │ │ │ │ U fftw_twiddle_awake │ │ │ │ -000008cc t mkplan │ │ │ │ +00000a10 t mkplan │ │ │ │ 00000000 d padt.1 │ │ │ │ -00000aac t print │ │ │ │ +00000c28 t print │ │ │ │ 00000000 r reodft010e_tw.0 │ │ │ │ 00000000 d sadt.2 │ │ │ │ │ │ │ │ reodft11e-r2hc-odd.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ -00000734 t apply_re11 │ │ │ │ +000007c4 t apply_re11 │ │ │ │ 00000000 t apply_ro11 │ │ │ │ -00000e28 t awake │ │ │ │ -00000df4 t destroy │ │ │ │ +00000f58 t awake │ │ │ │ +00000f18 t destroy │ │ │ │ U fftw_ifree │ │ │ │ U fftw_malloc_plain │ │ │ │ U fftw_mkplan_d │ │ │ │ U fftw_mkplan_rdft │ │ │ │ U fftw_mkproblem_rdft_1_d │ │ │ │ U fftw_mksolver │ │ │ │ U fftw_mktensor_0d │ │ │ │ U fftw_mktensor_1d │ │ │ │ U fftw_ops_madd2 │ │ │ │ U fftw_ops_zero │ │ │ │ U fftw_plan_awake │ │ │ │ U fftw_plan_destroy_internal │ │ │ │ U fftw_rdft_kind_str │ │ │ │ U fftw_rdft_solve │ │ │ │ -00000f5c T fftw_reodft11e_r2hc_odd_register │ │ │ │ +000010ac T fftw_reodft11e_r2hc_odd_register │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_tensor_tornk1 │ │ │ │ -00000e30 t mkplan │ │ │ │ +00000f60 t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ -00000dfc t print │ │ │ │ +00000f20 t print │ │ │ │ 00000000 d sadt.1 │ │ │ │ │ │ │ │ reodft11e-radix2.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ -00000508 t apply_re11 │ │ │ │ +00000578 t apply_re11 │ │ │ │ 00000000 t apply_ro11 │ │ │ │ -00000a38 t awake │ │ │ │ -00000a04 t destroy │ │ │ │ +00000b2c t awake │ │ │ │ +00000aec t destroy │ │ │ │ U fftw_ifree │ │ │ │ U fftw_malloc_plain │ │ │ │ U fftw_mkplan_d │ │ │ │ U fftw_mkplan_rdft │ │ │ │ U fftw_mkproblem_rdft_1_d │ │ │ │ U fftw_mksolver │ │ │ │ U fftw_mktensor_1d │ │ │ │ U fftw_ops_madd2 │ │ │ │ U fftw_ops_zero │ │ │ │ U fftw_plan_awake │ │ │ │ U fftw_plan_destroy_internal │ │ │ │ U fftw_rdft_kind_str │ │ │ │ U fftw_rdft_solve │ │ │ │ -00000c04 T fftw_reodft11e_radix2_r2hc_register │ │ │ │ +00000d54 T fftw_reodft11e_radix2_r2hc_register │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_tensor_tornk1 │ │ │ │ U fftw_twiddle_awake │ │ │ │ -00000a8c t mkplan │ │ │ │ +00000ba4 t mkplan │ │ │ │ 00000000 d padt.2 │ │ │ │ -00000a0c t print │ │ │ │ +00000af4 t print │ │ │ │ 00000000 r reodft010e_tw.1 │ │ │ │ 0000000c r reodft11e_tw.0 │ │ │ │ 00000000 d sadt.3 │ │ │ │ │ │ │ │ rodft00e-r2hc-pad.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ -00000028 t apply │ │ │ │ -00000290 t awake │ │ │ │ -0000027c t destroy │ │ │ │ +0000002c t apply │ │ │ │ +000002e4 t awake │ │ │ │ +000002cc t destroy │ │ │ │ U fftw_ifree │ │ │ │ U fftw_ifree0 │ │ │ │ U fftw_malloc_plain │ │ │ │ U fftw_mkplan_d │ │ │ │ U fftw_mkplan_rdft │ │ │ │ U fftw_mkproblem_rdft_1_d │ │ │ │ U fftw_mksolver │ │ │ │ U fftw_mktensor_0d │ │ │ │ U fftw_mktensor_1d │ │ │ │ U fftw_ops_madd2 │ │ │ │ U fftw_ops_zero │ │ │ │ U fftw_plan_awake │ │ │ │ U fftw_plan_destroy_internal │ │ │ │ U fftw_rdft_solve │ │ │ │ -000002a8 T fftw_rodft00e_r2hc_pad_register │ │ │ │ +00000308 T fftw_rodft00e_r2hc_pad_register │ │ │ │ U fftw_solver_register │ │ │ │ U fftw_tensor_tornk1 │ │ │ │ -00000128 t mkplan │ │ │ │ +00000150 t mkplan │ │ │ │ 00000000 d padt.0 │ │ │ │ 00000000 t print │ │ │ │ 00000000 d sadt.1 │ │ │ │ │ │ │ │ apiplan.o: │ │ │ │ 00000004 b after_planner_hook │ │ │ │ 00000000 b before_planner_hook │ │ │ │ -00000360 T fftw_alignment_of │ │ │ │ -0000031c T fftw_destroy_plan │ │ │ │ +000003e8 T fftw_alignment_of │ │ │ │ +0000039c T fftw_destroy_plan │ │ │ │ U fftw_get_crude_time │ │ │ │ U fftw_ialignment_of │ │ │ │ U fftw_ifree │ │ │ │ U fftw_malloc_plain │ │ │ │ U fftw_mapflags │ │ │ │ 00000010 T fftw_mkapiplan │ │ │ │ U fftw_plan_awake │ │ │ │ @@ -4985,15 +4985,15 @@ │ │ │ │ 00000000 T fftw_execute │ │ │ │ │ │ │ │ export-wisdom-to-file.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ U fclose │ │ │ │ U ferror │ │ │ │ 00000000 T fftw_export_wisdom_to_file │ │ │ │ -00000020 T fftw_export_wisdom_to_filename │ │ │ │ +00000024 T fftw_export_wisdom_to_filename │ │ │ │ U fftw_mkprinter_file │ │ │ │ U fftw_printer_destroy │ │ │ │ U fftw_the_planner │ │ │ │ U fopen64 │ │ │ │ │ │ │ │ export-wisdom-to-string.o: │ │ │ │ 00000000 T fftw_export_wisdom_to_string │ │ │ │ @@ -5008,106 +5008,106 @@ │ │ │ │ U fftw_mkprinter │ │ │ │ U fftw_printer_destroy │ │ │ │ U fftw_the_planner │ │ │ │ 00000000 t putchr_generic │ │ │ │ │ │ │ │ f77api.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ -00000044 T dfftw_cleanup_ │ │ │ │ -00000ff0 T dfftw_cleanup__ │ │ │ │ -000000d0 T dfftw_cost_ │ │ │ │ -0000107c T dfftw_cost__ │ │ │ │ -0000003c T dfftw_destroy_plan_ │ │ │ │ -00000fe8 T dfftw_destroy_plan__ │ │ │ │ -000000c0 T dfftw_estimate_cost_ │ │ │ │ -0000106c T dfftw_estimate_cost__ │ │ │ │ -00000030 T dfftw_execute_ │ │ │ │ -00000fdc T dfftw_execute__ │ │ │ │ -0000048c T dfftw_execute_dft_ │ │ │ │ -00001438 T dfftw_execute_dft__ │ │ │ │ -00000bf0 T dfftw_execute_dft_c2r_ │ │ │ │ -00001b9c T dfftw_execute_dft_c2r__ │ │ │ │ -0000083c T dfftw_execute_dft_r2c_ │ │ │ │ -000017e8 T dfftw_execute_dft_r2c__ │ │ │ │ -00000fd4 T dfftw_execute_r2r_ │ │ │ │ -00001f80 T dfftw_execute_r2r__ │ │ │ │ -000004bc T dfftw_execute_split_dft_ │ │ │ │ -00001468 T dfftw_execute_split_dft__ │ │ │ │ -00000c14 T dfftw_execute_split_dft_c2r_ │ │ │ │ -00001bc0 T dfftw_execute_split_dft_c2r__ │ │ │ │ -00000860 T dfftw_execute_split_dft_r2c_ │ │ │ │ -0000180c T dfftw_execute_split_dft_r2c__ │ │ │ │ -0000004c T dfftw_export_wisdom_ │ │ │ │ -00000ff8 T dfftw_export_wisdom__ │ │ │ │ -000000b8 T dfftw_flops_ │ │ │ │ -00001064 T dfftw_flops__ │ │ │ │ -00000048 T dfftw_forget_wisdom_ │ │ │ │ -00000ff4 T dfftw_forget_wisdom__ │ │ │ │ -00000088 T dfftw_import_system_wisdom_ │ │ │ │ -00001034 T dfftw_import_system_wisdom__ │ │ │ │ -00000068 T dfftw_import_wisdom_ │ │ │ │ -00001014 T dfftw_import_wisdom__ │ │ │ │ -000000e8 T dfftw_plan_dft_ │ │ │ │ -0000014c T dfftw_plan_dft_1d_ │ │ │ │ -000010f8 T dfftw_plan_dft_1d__ │ │ │ │ -00000170 T dfftw_plan_dft_2d_ │ │ │ │ -0000111c T dfftw_plan_dft_2d__ │ │ │ │ -00000198 T dfftw_plan_dft_3d_ │ │ │ │ -00001144 T dfftw_plan_dft_3d__ │ │ │ │ -00001094 T dfftw_plan_dft__ │ │ │ │ -00000880 T dfftw_plan_dft_c2r_ │ │ │ │ -000008e4 T dfftw_plan_dft_c2r_1d_ │ │ │ │ -00001890 T dfftw_plan_dft_c2r_1d__ │ │ │ │ -000008fc T dfftw_plan_dft_c2r_2d_ │ │ │ │ -000018a8 T dfftw_plan_dft_c2r_2d__ │ │ │ │ -0000091c T dfftw_plan_dft_c2r_3d_ │ │ │ │ -000018c8 T dfftw_plan_dft_c2r_3d__ │ │ │ │ -0000182c T dfftw_plan_dft_c2r__ │ │ │ │ -000004cc T dfftw_plan_dft_r2c_ │ │ │ │ -00000530 T dfftw_plan_dft_r2c_1d_ │ │ │ │ -000014dc T dfftw_plan_dft_r2c_1d__ │ │ │ │ -00000548 T dfftw_plan_dft_r2c_2d_ │ │ │ │ -000014f4 T dfftw_plan_dft_r2c_2d__ │ │ │ │ -00000568 T dfftw_plan_dft_r2c_3d_ │ │ │ │ -00001514 T dfftw_plan_dft_r2c_3d__ │ │ │ │ -00001478 T dfftw_plan_dft_r2c__ │ │ │ │ -000002bc T dfftw_plan_guru_dft_ │ │ │ │ -00001268 T dfftw_plan_guru_dft__ │ │ │ │ -00000a2c T dfftw_plan_guru_dft_c2r_ │ │ │ │ -000019d8 T dfftw_plan_guru_dft_c2r__ │ │ │ │ -00000678 T dfftw_plan_guru_dft_r2c_ │ │ │ │ -00001624 T dfftw_plan_guru_dft_r2c__ │ │ │ │ -00000eb8 T dfftw_plan_guru_r2r_ │ │ │ │ -00001e64 T dfftw_plan_guru_r2r__ │ │ │ │ -000003a0 T dfftw_plan_guru_split_dft_ │ │ │ │ -0000134c T dfftw_plan_guru_split_dft__ │ │ │ │ -00000b0c T dfftw_plan_guru_split_dft_c2r_ │ │ │ │ -00001ab8 T dfftw_plan_guru_split_dft_c2r__ │ │ │ │ -00000758 T dfftw_plan_guru_split_dft_r2c_ │ │ │ │ -00001704 T dfftw_plan_guru_split_dft_r2c__ │ │ │ │ -000001c4 T dfftw_plan_many_dft_ │ │ │ │ -00001170 T dfftw_plan_many_dft__ │ │ │ │ -00000940 T dfftw_plan_many_dft_c2r_ │ │ │ │ -000018ec T dfftw_plan_many_dft_c2r__ │ │ │ │ -0000058c T dfftw_plan_many_dft_r2c_ │ │ │ │ -00001538 T dfftw_plan_many_dft_r2c__ │ │ │ │ -00000d6c T dfftw_plan_many_r2r_ │ │ │ │ -00001d18 T dfftw_plan_many_r2r__ │ │ │ │ -00000c3c T dfftw_plan_r2r_ │ │ │ │ -00000ce4 T dfftw_plan_r2r_1d_ │ │ │ │ -00001c90 T dfftw_plan_r2r_1d__ │ │ │ │ -00000d08 T dfftw_plan_r2r_2d_ │ │ │ │ -00001cb4 T dfftw_plan_r2r_2d__ │ │ │ │ -00000d34 T dfftw_plan_r2r_3d_ │ │ │ │ -00001ce0 T dfftw_plan_r2r_3d__ │ │ │ │ -00001be8 T dfftw_plan_r2r__ │ │ │ │ -00000094 T dfftw_print_plan_ │ │ │ │ -00001040 T dfftw_print_plan__ │ │ │ │ -000000e0 T dfftw_set_timelimit_ │ │ │ │ -0000108c T dfftw_set_timelimit__ │ │ │ │ +0000004c T dfftw_cleanup_ │ │ │ │ +000012f0 T dfftw_cleanup__ │ │ │ │ +000000e8 T dfftw_cost_ │ │ │ │ +0000138c T dfftw_cost__ │ │ │ │ +00000044 T dfftw_destroy_plan_ │ │ │ │ +000012e8 T dfftw_destroy_plan__ │ │ │ │ +000000d4 T dfftw_estimate_cost_ │ │ │ │ +00001378 T dfftw_estimate_cost__ │ │ │ │ +00000038 T dfftw_execute_ │ │ │ │ +000012dc T dfftw_execute__ │ │ │ │ +00000560 T dfftw_execute_dft_ │ │ │ │ +00001804 T dfftw_execute_dft__ │ │ │ │ +00000e6c T dfftw_execute_dft_c2r_ │ │ │ │ +00002110 T dfftw_execute_dft_c2r__ │ │ │ │ +000009e8 T dfftw_execute_dft_r2c_ │ │ │ │ +00001c8c T dfftw_execute_dft_r2c__ │ │ │ │ +000012d4 T dfftw_execute_r2r_ │ │ │ │ +00002578 T dfftw_execute_r2r__ │ │ │ │ +000005a8 T dfftw_execute_split_dft_ │ │ │ │ +0000184c T dfftw_execute_split_dft__ │ │ │ │ +00000e94 T dfftw_execute_split_dft_c2r_ │ │ │ │ +00002138 T dfftw_execute_split_dft_c2r__ │ │ │ │ +00000a10 T dfftw_execute_split_dft_r2c_ │ │ │ │ +00001cb4 T dfftw_execute_split_dft_r2c__ │ │ │ │ +00000054 T dfftw_export_wisdom_ │ │ │ │ +000012f8 T dfftw_export_wisdom__ │ │ │ │ +000000cc T dfftw_flops_ │ │ │ │ +00001370 T dfftw_flops__ │ │ │ │ +00000050 T dfftw_forget_wisdom_ │ │ │ │ +000012f4 T dfftw_forget_wisdom__ │ │ │ │ +00000094 T dfftw_import_system_wisdom_ │ │ │ │ +00001338 T dfftw_import_system_wisdom__ │ │ │ │ +00000074 T dfftw_import_wisdom_ │ │ │ │ +00001318 T dfftw_import_wisdom__ │ │ │ │ +00000104 T dfftw_plan_dft_ │ │ │ │ +00000190 T dfftw_plan_dft_1d_ │ │ │ │ +00001434 T dfftw_plan_dft_1d__ │ │ │ │ +000001b4 T dfftw_plan_dft_2d_ │ │ │ │ +00001458 T dfftw_plan_dft_2d__ │ │ │ │ +000001dc T dfftw_plan_dft_3d_ │ │ │ │ +00001480 T dfftw_plan_dft_3d__ │ │ │ │ +000013a8 T dfftw_plan_dft__ │ │ │ │ +00000a40 T dfftw_plan_dft_c2r_ │ │ │ │ +00000ac4 T dfftw_plan_dft_c2r_1d_ │ │ │ │ +00001d68 T dfftw_plan_dft_c2r_1d__ │ │ │ │ +00000ae0 T dfftw_plan_dft_c2r_2d_ │ │ │ │ +00001d84 T dfftw_plan_dft_c2r_2d__ │ │ │ │ +00000b04 T dfftw_plan_dft_c2r_3d_ │ │ │ │ +00001da8 T dfftw_plan_dft_c2r_3d__ │ │ │ │ +00001ce4 T dfftw_plan_dft_c2r__ │ │ │ │ +000005bc T dfftw_plan_dft_r2c_ │ │ │ │ +00000640 T dfftw_plan_dft_r2c_1d_ │ │ │ │ +000018e4 T dfftw_plan_dft_r2c_1d__ │ │ │ │ +0000065c T dfftw_plan_dft_r2c_2d_ │ │ │ │ +00001900 T dfftw_plan_dft_r2c_2d__ │ │ │ │ +00000680 T dfftw_plan_dft_r2c_3d_ │ │ │ │ +00001924 T dfftw_plan_dft_r2c_3d__ │ │ │ │ +00001860 T dfftw_plan_dft_r2c__ │ │ │ │ +0000032c T dfftw_plan_guru_dft_ │ │ │ │ +000015d0 T dfftw_plan_guru_dft__ │ │ │ │ +00000c48 T dfftw_plan_guru_dft_c2r_ │ │ │ │ +00001eec T dfftw_plan_guru_dft_c2r__ │ │ │ │ +000007c4 T dfftw_plan_guru_dft_r2c_ │ │ │ │ +00001a68 T dfftw_plan_guru_dft_r2c__ │ │ │ │ +00001180 T dfftw_plan_guru_r2r_ │ │ │ │ +00002424 T dfftw_plan_guru_r2r__ │ │ │ │ +00000444 T dfftw_plan_guru_split_dft_ │ │ │ │ +000016e8 T dfftw_plan_guru_split_dft__ │ │ │ │ +00000d58 T dfftw_plan_guru_split_dft_c2r_ │ │ │ │ +00001ffc T dfftw_plan_guru_split_dft_c2r__ │ │ │ │ +000008d4 T dfftw_plan_guru_split_dft_r2c_ │ │ │ │ +00001b78 T dfftw_plan_guru_split_dft_r2c__ │ │ │ │ +00000208 T dfftw_plan_many_dft_ │ │ │ │ +000014ac T dfftw_plan_many_dft__ │ │ │ │ +00000b2c T dfftw_plan_many_dft_c2r_ │ │ │ │ +00001dd0 T dfftw_plan_many_dft_c2r__ │ │ │ │ +000006a8 T dfftw_plan_many_dft_r2c_ │ │ │ │ +0000194c T dfftw_plan_many_dft_r2c__ │ │ │ │ +00001014 T dfftw_plan_many_r2r_ │ │ │ │ +000022b8 T dfftw_plan_many_r2r__ │ │ │ │ +00000ebc T dfftw_plan_r2r_ │ │ │ │ +00000f88 T dfftw_plan_r2r_1d_ │ │ │ │ +0000222c T dfftw_plan_r2r_1d__ │ │ │ │ +00000fac T dfftw_plan_r2r_2d_ │ │ │ │ +00002250 T dfftw_plan_r2r_2d__ │ │ │ │ +00000fdc T dfftw_plan_r2r_3d_ │ │ │ │ +00002280 T dfftw_plan_r2r_3d__ │ │ │ │ +00002160 T dfftw_plan_r2r__ │ │ │ │ +000000a4 T dfftw_print_plan_ │ │ │ │ +00001348 T dfftw_print_plan__ │ │ │ │ +000000fc T dfftw_set_timelimit_ │ │ │ │ +000013a0 T dfftw_set_timelimit__ │ │ │ │ U fflush │ │ │ │ U fftw_cleanup │ │ │ │ U fftw_cost │ │ │ │ U fftw_destroy_plan │ │ │ │ U fftw_estimate_cost │ │ │ │ U fftw_export_wisdom │ │ │ │ U fftw_flops │ │ │ │ @@ -5141,21 +5141,21 @@ │ │ │ │ U fftw_plan_many_r2r │ │ │ │ U fftw_plan_r2r │ │ │ │ U fftw_plan_r2r_1d │ │ │ │ U fftw_plan_r2r_2d │ │ │ │ U fftw_plan_r2r_3d │ │ │ │ U fftw_print_plan │ │ │ │ U fftw_set_timelimit │ │ │ │ -00000018 t read_char │ │ │ │ +0000001c t read_char │ │ │ │ U stdout │ │ │ │ 00000000 t write_char │ │ │ │ │ │ │ │ flops.o: │ │ │ │ -00000078 T fftw_cost │ │ │ │ -00000064 T fftw_estimate_cost │ │ │ │ +00000094 T fftw_cost │ │ │ │ +0000007c T fftw_estimate_cost │ │ │ │ 00000000 T fftw_flops │ │ │ │ U fftw_iestimate_cost │ │ │ │ U fftw_the_planner │ │ │ │ │ │ │ │ forget-wisdom.o: │ │ │ │ 00000000 T fftw_forget_wisdom │ │ │ │ U fftw_the_planner │ │ │ │ @@ -5167,25 +5167,25 @@ │ │ │ │ 00000000 T fftw_import_system_wisdom │ │ │ │ U fftw_import_wisdom_from_file │ │ │ │ U fopen64 │ │ │ │ │ │ │ │ import-wisdom-from-file.o: │ │ │ │ 00000000 r .LC0 │ │ │ │ U fclose │ │ │ │ -00000040 T fftw_import_wisdom_from_file │ │ │ │ -00000078 T fftw_import_wisdom_from_filename │ │ │ │ +00000050 T fftw_import_wisdom_from_file │ │ │ │ +00000094 T fftw_import_wisdom_from_filename │ │ │ │ U fftw_mkscanner │ │ │ │ U fftw_scanner_destroy │ │ │ │ U fftw_the_planner │ │ │ │ U fopen64 │ │ │ │ U fread │ │ │ │ 00000000 t getchr_file │ │ │ │ │ │ │ │ import-wisdom-from-string.o: │ │ │ │ -00000014 T fftw_import_wisdom_from_string │ │ │ │ +00000018 T fftw_import_wisdom_from_string │ │ │ │ U fftw_mkscanner │ │ │ │ U fftw_scanner_destroy │ │ │ │ U fftw_the_planner │ │ │ │ 00000000 t getchr_str │ │ │ │ │ │ │ │ import-wisdom.o: │ │ │ │ 00000008 T fftw_import_wisdom │ │ │ │ @@ -5210,38 +5210,38 @@ │ │ │ │ mapflags.o: │ │ │ │ 00000000 T fftw_mapflags │ │ │ │ U log │ │ │ │ U memcpy │ │ │ │ │ │ │ │ mkprinter-file.o: │ │ │ │ U fftw_mkprinter │ │ │ │ -00000058 T fftw_mkprinter_file │ │ │ │ +00000074 T fftw_mkprinter_file │ │ │ │ U fwrite │ │ │ │ 00000000 t mycleanup │ │ │ │ -00000020 t myputchr │ │ │ │ +00000030 t myputchr │ │ │ │ │ │ │ │ mkprinter-str.o: │ │ │ │ U fftw_mkprinter │ │ │ │ -0000001c T fftw_mkprinter_cnt │ │ │ │ -00000038 T fftw_mkprinter_str │ │ │ │ +00000020 T fftw_mkprinter_cnt │ │ │ │ +00000044 T fftw_mkprinter_str │ │ │ │ 00000000 t putchr_cnt │ │ │ │ 0000000c t putchr_str │ │ │ │ │ │ │ │ mktensor-iodims.o: │ │ │ │ -00000048 T fftw_guru_kosherp │ │ │ │ +00000064 T fftw_guru_kosherp │ │ │ │ U fftw_mktensor │ │ │ │ 00000000 T fftw_mktensor_iodims │ │ │ │ │ │ │ │ mktensor-iodims64.o: │ │ │ │ -00000048 T fftw_guru64_kosherp │ │ │ │ +00000064 T fftw_guru64_kosherp │ │ │ │ U fftw_mktensor │ │ │ │ 00000000 T fftw_mktensor_iodims64 │ │ │ │ │ │ │ │ mktensor-rowmajor.o: │ │ │ │ -0000008c T fftw_many_kosherp │ │ │ │ +000000ac T fftw_many_kosherp │ │ │ │ U fftw_mktensor │ │ │ │ 00000000 T fftw_mktensor_rowmajor │ │ │ │ │ │ │ │ plan-dft-1d.o: │ │ │ │ U fftw_plan_dft │ │ │ │ 00000000 T fftw_plan_dft_1d │ │ │ │ │ │ │ │ @@ -5452,19 +5452,19 @@ │ │ │ │ │ │ │ │ plan-r2r.o: │ │ │ │ U fftw_plan_many_r2r │ │ │ │ 00000000 T fftw_plan_r2r │ │ │ │ │ │ │ │ print-plan.o: │ │ │ │ U _GLOBAL_OFFSET_TABLE_ │ │ │ │ -00000048 T fftw_fprint_plan │ │ │ │ +00000054 T fftw_fprint_plan │ │ │ │ U fftw_mkprinter_cnt │ │ │ │ U fftw_mkprinter_file │ │ │ │ U fftw_mkprinter_str │ │ │ │ -00000068 T fftw_print_plan │ │ │ │ +00000080 T fftw_print_plan │ │ │ │ U fftw_printer_destroy │ │ │ │ 00000000 T fftw_sprint_plan │ │ │ │ U malloc │ │ │ │ U stdout │ │ │ │ │ │ │ │ rdft2-pad.o: │ │ │ │ U fftw_malloc_plain │ │ │ │ @@ -5472,15 +5472,15 @@ │ │ │ │ U memcpy │ │ │ │ │ │ │ │ the-planner.o: │ │ │ │ 00000020 T fftw_cleanup │ │ │ │ U fftw_configure_planner │ │ │ │ U fftw_mkplanner │ │ │ │ U fftw_planner_destroy │ │ │ │ -00000038 T fftw_set_timelimit │ │ │ │ +0000003c T fftw_set_timelimit │ │ │ │ 00000000 T fftw_the_planner │ │ │ │ 00000000 b plnr │ │ │ │ │ │ │ │ version.o: │ │ │ │ 00000010 R fftw_cc │ │ │ │ 0000000c R fftw_codelet_optim │ │ │ │ 00000000 R fftw_version │ │ │ ├── file list │ │ │ │ @@ -1,424 +1,424 @@ │ │ │ │ ---------- 0 0 0 15734 1970-01-01 00:00:00.000000 / │ │ │ │ ---------- 0 0 0 0 1970-01-01 00:00:00.000000 // │ │ │ │ -?rw-r--r-- 0 0 0 616 1970-01-01 00:00:00.000000 align.o │ │ │ │ -?rw-r--r-- 0 0 0 1084 1970-01-01 00:00:00.000000 alloc.o │ │ │ │ -?rw-r--r-- 0 0 0 1092 1970-01-01 00:00:00.000000 assert.o │ │ │ │ +?rw-r--r-- 0 0 0 620 1970-01-01 00:00:00.000000 align.o │ │ │ │ +?rw-r--r-- 0 0 0 1088 1970-01-01 00:00:00.000000 alloc.o │ │ │ │ +?rw-r--r-- 0 0 0 1104 1970-01-01 00:00:00.000000 assert.o │ │ │ │ ?rw-r--r-- 0 0 0 612 1970-01-01 00:00:00.000000 awake.o │ │ │ │ -?rw-r--r-- 0 0 0 1164 1970-01-01 00:00:00.000000 buffered.o │ │ │ │ -?rw-r--r-- 0 0 0 880 1970-01-01 00:00:00.000000 cpy1d.o │ │ │ │ -?rw-r--r-- 0 0 0 1336 1970-01-01 00:00:00.000000 cpy2d-pair.o │ │ │ │ -?rw-r--r-- 0 0 0 1952 1970-01-01 00:00:00.000000 cpy2d.o │ │ │ │ -?rw-r--r-- 0 0 0 740 1970-01-01 00:00:00.000000 ct.o │ │ │ │ +?rw-r--r-- 0 0 0 1236 1970-01-01 00:00:00.000000 buffered.o │ │ │ │ +?rw-r--r-- 0 0 0 916 1970-01-01 00:00:00.000000 cpy1d.o │ │ │ │ +?rw-r--r-- 0 0 0 1440 1970-01-01 00:00:00.000000 cpy2d-pair.o │ │ │ │ +?rw-r--r-- 0 0 0 2140 1970-01-01 00:00:00.000000 cpy2d.o │ │ │ │ +?rw-r--r-- 0 0 0 748 1970-01-01 00:00:00.000000 ct.o │ │ │ │ ?rw-r--r-- 0 0 0 444 1970-01-01 00:00:00.000000 debug.o │ │ │ │ ?rw-r--r-- 0 0 0 640 1970-01-01 00:00:00.000000 extract-reim.o │ │ │ │ ?rw-r--r-- 0 0 0 632 1970-01-01 00:00:00.000000 hash.o │ │ │ │ ?rw-r--r-- 0 0 0 612 1970-01-01 00:00:00.000000 iabs.o │ │ │ │ ?rw-r--r-- 0 0 0 744 1970-01-01 00:00:00.000000 kalloc.o │ │ │ │ -?rw-r--r-- 0 0 0 964 1970-01-01 00:00:00.000000 md5-1.o │ │ │ │ -?rw-r--r-- 0 0 0 1696 1970-01-01 00:00:00.000000 md5.o │ │ │ │ +?rw-r--r-- 0 0 0 1004 1970-01-01 00:00:00.000000 md5-1.o │ │ │ │ +?rw-r--r-- 0 0 0 1792 1970-01-01 00:00:00.000000 md5.o │ │ │ │ ?rw-r--r-- 0 0 0 644 1970-01-01 00:00:00.000000 minmax.o │ │ │ │ -?rw-r--r-- 0 0 0 1052 1970-01-01 00:00:00.000000 ops.o │ │ │ │ -?rw-r--r-- 0 0 0 1036 1970-01-01 00:00:00.000000 pickdim.o │ │ │ │ -?rw-r--r-- 0 0 0 964 1970-01-01 00:00:00.000000 plan.o │ │ │ │ -?rw-r--r-- 0 0 0 8124 1970-01-01 00:00:00.000000 planner.o │ │ │ │ -?rw-r--r-- 0 0 0 2148 1970-01-01 00:00:00.000000 primes.o │ │ │ │ -?rw-r--r-- 0 0 0 2128 1970-01-01 00:00:00.000000 print.o │ │ │ │ -?rw-r--r-- 0 0 0 1660 1970-01-01 00:00:00.000000 problem.o │ │ │ │ -?rw-r--r-- 0 0 0 964 1970-01-01 00:00:00.000000 rader.o │ │ │ │ -?rw-r--r-- 0 0 0 1404 1970-01-01 00:00:00.000000 scan.o │ │ │ │ -?rw-r--r-- 0 0 0 896 1970-01-01 00:00:00.000000 solver.o │ │ │ │ -?rw-r--r-- 0 0 0 656 1970-01-01 00:00:00.000000 solvtab.o │ │ │ │ +?rw-r--r-- 0 0 0 1072 1970-01-01 00:00:00.000000 ops.o │ │ │ │ +?rw-r--r-- 0 0 0 1092 1970-01-01 00:00:00.000000 pickdim.o │ │ │ │ +?rw-r--r-- 0 0 0 1000 1970-01-01 00:00:00.000000 plan.o │ │ │ │ +?rw-r--r-- 0 0 0 8688 1970-01-01 00:00:00.000000 planner.o │ │ │ │ +?rw-r--r-- 0 0 0 2320 1970-01-01 00:00:00.000000 primes.o │ │ │ │ +?rw-r--r-- 0 0 0 2236 1970-01-01 00:00:00.000000 print.o │ │ │ │ +?rw-r--r-- 0 0 0 1664 1970-01-01 00:00:00.000000 problem.o │ │ │ │ +?rw-r--r-- 0 0 0 996 1970-01-01 00:00:00.000000 rader.o │ │ │ │ +?rw-r--r-- 0 0 0 1468 1970-01-01 00:00:00.000000 scan.o │ │ │ │ +?rw-r--r-- 0 0 0 912 1970-01-01 00:00:00.000000 solver.o │ │ │ │ +?rw-r--r-- 0 0 0 676 1970-01-01 00:00:00.000000 solvtab.o │ │ │ │ ?rw-r--r-- 0 0 0 680 1970-01-01 00:00:00.000000 stride.o │ │ │ │ -?rw-r--r-- 0 0 0 1684 1970-01-01 00:00:00.000000 tensor.o │ │ │ │ -?rw-r--r-- 0 0 0 764 1970-01-01 00:00:00.000000 tensor1.o │ │ │ │ -?rw-r--r-- 0 0 0 816 1970-01-01 00:00:00.000000 tensor2.o │ │ │ │ -?rw-r--r-- 0 0 0 864 1970-01-01 00:00:00.000000 tensor3.o │ │ │ │ -?rw-r--r-- 0 0 0 1568 1970-01-01 00:00:00.000000 tensor4.o │ │ │ │ -?rw-r--r-- 0 0 0 1352 1970-01-01 00:00:00.000000 tensor5.o │ │ │ │ -?rw-r--r-- 0 0 0 2500 1970-01-01 00:00:00.000000 tensor7.o │ │ │ │ -?rw-r--r-- 0 0 0 808 1970-01-01 00:00:00.000000 tensor8.o │ │ │ │ -?rw-r--r-- 0 0 0 664 1970-01-01 00:00:00.000000 tensor9.o │ │ │ │ -?rw-r--r-- 0 0 0 2636 1970-01-01 00:00:00.000000 tile2d.o │ │ │ │ -?rw-r--r-- 0 0 0 1032 1970-01-01 00:00:00.000000 timer.o │ │ │ │ -?rw-r--r-- 0 0 0 3092 1970-01-01 00:00:00.000000 transpose.o │ │ │ │ -?rw-r--r-- 0 0 0 2264 1970-01-01 00:00:00.000000 trig.o │ │ │ │ -?rw-r--r-- 0 0 0 2112 1970-01-01 00:00:00.000000 twiddle.o │ │ │ │ -?rw-r--r-- 0 0 0 3472 1970-01-01 00:00:00.000000 bluestein.o │ │ │ │ -?rw-r--r-- 0 0 0 3856 1970-01-01 00:00:00.000000 lt1-buffered.o │ │ │ │ -?rw-r--r-- 0 0 0 2184 1970-01-01 00:00:00.000000 conf.o │ │ │ │ -?rw-r--r-- 0 0 0 3180 1970-01-01 00:00:00.000000 lt2-ct.o │ │ │ │ -?rw-r--r-- 0 0 0 3828 1970-01-01 00:00:00.000000 dftw-direct.o │ │ │ │ -?rw-r--r-- 0 0 0 2136 1970-01-01 00:00:00.000000 dftw-directsq.o │ │ │ │ -?rw-r--r-- 0 0 0 3072 1970-01-01 00:00:00.000000 dftw-generic.o │ │ │ │ -?rw-r--r-- 0 0 0 3028 1970-01-01 00:00:00.000000 dftw-genericbuf.o │ │ │ │ -?rw-r--r-- 0 0 0 3712 1970-01-01 00:00:00.000000 direct.o │ │ │ │ -?rw-r--r-- 0 0 0 2780 1970-01-01 00:00:00.000000 generic.o │ │ │ │ -?rw-r--r-- 0 0 0 3476 1970-01-01 00:00:00.000000 indirect-transpose.o │ │ │ │ -?rw-r--r-- 0 0 0 3180 1970-01-01 00:00:00.000000 indirect.o │ │ │ │ +?rw-r--r-- 0 0 0 1784 1970-01-01 00:00:00.000000 tensor.o │ │ │ │ +?rw-r--r-- 0 0 0 776 1970-01-01 00:00:00.000000 tensor1.o │ │ │ │ +?rw-r--r-- 0 0 0 856 1970-01-01 00:00:00.000000 tensor2.o │ │ │ │ +?rw-r--r-- 0 0 0 904 1970-01-01 00:00:00.000000 tensor3.o │ │ │ │ +?rw-r--r-- 0 0 0 1708 1970-01-01 00:00:00.000000 tensor4.o │ │ │ │ +?rw-r--r-- 0 0 0 1532 1970-01-01 00:00:00.000000 tensor5.o │ │ │ │ +?rw-r--r-- 0 0 0 2712 1970-01-01 00:00:00.000000 tensor7.o │ │ │ │ +?rw-r--r-- 0 0 0 824 1970-01-01 00:00:00.000000 tensor8.o │ │ │ │ +?rw-r--r-- 0 0 0 676 1970-01-01 00:00:00.000000 tensor9.o │ │ │ │ +?rw-r--r-- 0 0 0 2752 1970-01-01 00:00:00.000000 tile2d.o │ │ │ │ +?rw-r--r-- 0 0 0 1104 1970-01-01 00:00:00.000000 timer.o │ │ │ │ +?rw-r--r-- 0 0 0 3340 1970-01-01 00:00:00.000000 transpose.o │ │ │ │ +?rw-r--r-- 0 0 0 2392 1970-01-01 00:00:00.000000 trig.o │ │ │ │ +?rw-r--r-- 0 0 0 2196 1970-01-01 00:00:00.000000 twiddle.o │ │ │ │ +?rw-r--r-- 0 0 0 3624 1970-01-01 00:00:00.000000 bluestein.o │ │ │ │ +?rw-r--r-- 0 0 0 4012 1970-01-01 00:00:00.000000 lt1-buffered.o │ │ │ │ +?rw-r--r-- 0 0 0 2196 1970-01-01 00:00:00.000000 conf.o │ │ │ │ +?rw-r--r-- 0 0 0 3308 1970-01-01 00:00:00.000000 lt2-ct.o │ │ │ │ +?rw-r--r-- 0 0 0 4116 1970-01-01 00:00:00.000000 dftw-direct.o │ │ │ │ +?rw-r--r-- 0 0 0 2240 1970-01-01 00:00:00.000000 dftw-directsq.o │ │ │ │ +?rw-r--r-- 0 0 0 3276 1970-01-01 00:00:00.000000 dftw-generic.o │ │ │ │ +?rw-r--r-- 0 0 0 3196 1970-01-01 00:00:00.000000 dftw-genericbuf.o │ │ │ │ +?rw-r--r-- 0 0 0 3916 1970-01-01 00:00:00.000000 direct.o │ │ │ │ +?rw-r--r-- 0 0 0 2856 1970-01-01 00:00:00.000000 generic.o │ │ │ │ +?rw-r--r-- 0 0 0 3612 1970-01-01 00:00:00.000000 indirect-transpose.o │ │ │ │ +?rw-r--r-- 0 0 0 3324 1970-01-01 00:00:00.000000 indirect.o │ │ │ │ ?rw-r--r-- 0 0 0 720 1970-01-01 00:00:00.000000 kdft-dif.o │ │ │ │ ?rw-r--r-- 0 0 0 724 1970-01-01 00:00:00.000000 kdft-difsq.o │ │ │ │ ?rw-r--r-- 0 0 0 720 1970-01-01 00:00:00.000000 kdft-dit.o │ │ │ │ -?rw-r--r-- 0 0 0 856 1970-01-01 00:00:00.000000 kdft.o │ │ │ │ -?rw-r--r-- 0 0 0 1768 1970-01-01 00:00:00.000000 nop.o │ │ │ │ -?rw-r--r-- 0 0 0 700 1970-01-01 00:00:00.000000 lt3-plan.o │ │ │ │ -?rw-r--r-- 0 0 0 2420 1970-01-01 00:00:00.000000 lt4-problem.o │ │ │ │ -?rw-r--r-- 0 0 0 4352 1970-01-01 00:00:00.000000 lt5-rader.o │ │ │ │ -?rw-r--r-- 0 0 0 2844 1970-01-01 00:00:00.000000 rank-geq2.o │ │ │ │ +?rw-r--r-- 0 0 0 868 1970-01-01 00:00:00.000000 kdft.o │ │ │ │ +?rw-r--r-- 0 0 0 1780 1970-01-01 00:00:00.000000 nop.o │ │ │ │ +?rw-r--r-- 0 0 0 704 1970-01-01 00:00:00.000000 lt3-plan.o │ │ │ │ +?rw-r--r-- 0 0 0 2552 1970-01-01 00:00:00.000000 lt4-problem.o │ │ │ │ +?rw-r--r-- 0 0 0 4532 1970-01-01 00:00:00.000000 lt5-rader.o │ │ │ │ +?rw-r--r-- 0 0 0 2956 1970-01-01 00:00:00.000000 rank-geq2.o │ │ │ │ ?rw-r--r-- 0 0 0 632 1970-01-01 00:00:00.000000 solve.o │ │ │ │ -?rw-r--r-- 0 0 0 2784 1970-01-01 00:00:00.000000 vrank-geq1.o │ │ │ │ -?rw-r--r-- 0 0 0 3128 1970-01-01 00:00:00.000000 zero.o │ │ │ │ +?rw-r--r-- 0 0 0 2876 1970-01-01 00:00:00.000000 vrank-geq1.o │ │ │ │ +?rw-r--r-- 0 0 0 3376 1970-01-01 00:00:00.000000 zero.o │ │ │ │ ?rw-r--r-- 0 0 0 844 1970-01-01 00:00:00.000000 n.o │ │ │ │ ?rw-r--r-- 0 0 0 824 1970-01-01 00:00:00.000000 t.o │ │ │ │ ?rw-r--r-- 0 0 0 4736 1970-01-01 00:00:00.000000 codlist.o │ │ │ │ -?rw-r--r-- 0 0 0 2280 1970-01-01 00:00:00.000000 n1_10.o │ │ │ │ -?rw-r--r-- 0 0 0 3192 1970-01-01 00:00:00.000000 n1_11.o │ │ │ │ -?rw-r--r-- 0 0 0 2332 1970-01-01 00:00:00.000000 n1_12.o │ │ │ │ -?rw-r--r-- 0 0 0 3528 1970-01-01 00:00:00.000000 n1_13.o │ │ │ │ -?rw-r--r-- 0 0 0 3088 1970-01-01 00:00:00.000000 n1_14.o │ │ │ │ -?rw-r--r-- 0 0 0 3152 1970-01-01 00:00:00.000000 n1_15.o │ │ │ │ -?rw-r--r-- 0 0 0 2792 1970-01-01 00:00:00.000000 n1_16.o │ │ │ │ -?rw-r--r-- 0 0 0 1316 1970-01-01 00:00:00.000000 n1_2.o │ │ │ │ -?rw-r--r-- 0 0 0 3624 1970-01-01 00:00:00.000000 n1_20.o │ │ │ │ -?rw-r--r-- 0 0 0 5440 1970-01-01 00:00:00.000000 n1_25.o │ │ │ │ -?rw-r--r-- 0 0 0 1532 1970-01-01 00:00:00.000000 n1_3.o │ │ │ │ -?rw-r--r-- 0 0 0 5148 1970-01-01 00:00:00.000000 n1_32.o │ │ │ │ -?rw-r--r-- 0 0 0 1552 1970-01-01 00:00:00.000000 n1_4.o │ │ │ │ -?rw-r--r-- 0 0 0 2076 1970-01-01 00:00:00.000000 n1_5.o │ │ │ │ -?rw-r--r-- 0 0 0 2220 1970-01-01 00:00:00.000000 n1_6.o │ │ │ │ -?rw-r--r-- 0 0 0 10544 1970-01-01 00:00:00.000000 n1_64.o │ │ │ │ -?rw-r--r-- 0 0 0 2924 1970-01-01 00:00:00.000000 n1_7.o │ │ │ │ -?rw-r--r-- 0 0 0 2532 1970-01-01 00:00:00.000000 n1_8.o │ │ │ │ -?rw-r--r-- 0 0 0 2220 1970-01-01 00:00:00.000000 n1_9.o │ │ │ │ -?rw-r--r-- 0 0 0 1668 1970-01-01 00:00:00.000000 q1_2.o │ │ │ │ -?rw-r--r-- 0 0 0 2072 1970-01-01 00:00:00.000000 q1_3.o │ │ │ │ -?rw-r--r-- 0 0 0 2620 1970-01-01 00:00:00.000000 q1_4.o │ │ │ │ -?rw-r--r-- 0 0 0 4060 1970-01-01 00:00:00.000000 q1_5.o │ │ │ │ -?rw-r--r-- 0 0 0 5080 1970-01-01 00:00:00.000000 q1_6.o │ │ │ │ -?rw-r--r-- 0 0 0 9032 1970-01-01 00:00:00.000000 q1_8.o │ │ │ │ -?rw-r--r-- 0 0 0 2644 1970-01-01 00:00:00.000000 t1_10.o │ │ │ │ -?rw-r--r-- 0 0 0 2804 1970-01-01 00:00:00.000000 t1_12.o │ │ │ │ -?rw-r--r-- 0 0 0 3632 1970-01-01 00:00:00.000000 t1_15.o │ │ │ │ -?rw-r--r-- 0 0 0 3368 1970-01-01 00:00:00.000000 t1_16.o │ │ │ │ -?rw-r--r-- 0 0 0 1472 1970-01-01 00:00:00.000000 t1_2.o │ │ │ │ -?rw-r--r-- 0 0 0 4124 1970-01-01 00:00:00.000000 t1_20.o │ │ │ │ -?rw-r--r-- 0 0 0 6056 1970-01-01 00:00:00.000000 t1_25.o │ │ │ │ -?rw-r--r-- 0 0 0 1712 1970-01-01 00:00:00.000000 t1_3.o │ │ │ │ -?rw-r--r-- 0 0 0 6088 1970-01-01 00:00:00.000000 t1_32.o │ │ │ │ -?rw-r--r-- 0 0 0 1784 1970-01-01 00:00:00.000000 t1_4.o │ │ │ │ -?rw-r--r-- 0 0 0 2168 1970-01-01 00:00:00.000000 t1_5.o │ │ │ │ -?rw-r--r-- 0 0 0 2348 1970-01-01 00:00:00.000000 t1_6.o │ │ │ │ -?rw-r--r-- 0 0 0 13392 1970-01-01 00:00:00.000000 t1_64.o │ │ │ │ -?rw-r--r-- 0 0 0 2232 1970-01-01 00:00:00.000000 t1_7.o │ │ │ │ -?rw-r--r-- 0 0 0 2024 1970-01-01 00:00:00.000000 t1_8.o │ │ │ │ -?rw-r--r-- 0 0 0 2568 1970-01-01 00:00:00.000000 t1_9.o │ │ │ │ -?rw-r--r-- 0 0 0 2764 1970-01-01 00:00:00.000000 t2_10.o │ │ │ │ -?rw-r--r-- 0 0 0 3664 1970-01-01 00:00:00.000000 t2_16.o │ │ │ │ -?rw-r--r-- 0 0 0 4684 1970-01-01 00:00:00.000000 t2_20.o │ │ │ │ -?rw-r--r-- 0 0 0 6740 1970-01-01 00:00:00.000000 t2_25.o │ │ │ │ -?rw-r--r-- 0 0 0 6808 1970-01-01 00:00:00.000000 t2_32.o │ │ │ │ -?rw-r--r-- 0 0 0 1800 1970-01-01 00:00:00.000000 t2_4.o │ │ │ │ -?rw-r--r-- 0 0 0 2204 1970-01-01 00:00:00.000000 t2_5.o │ │ │ │ -?rw-r--r-- 0 0 0 16580 1970-01-01 00:00:00.000000 t2_64.o │ │ │ │ -?rw-r--r-- 0 0 0 2120 1970-01-01 00:00:00.000000 t2_8.o │ │ │ │ -?rw-r--r-- 0 0 0 4144 1970-01-01 00:00:00.000000 lt6-buffered.o │ │ │ │ -?rw-r--r-- 0 0 0 4636 1970-01-01 00:00:00.000000 buffered2.o │ │ │ │ -?rw-r--r-- 0 0 0 3080 1970-01-01 00:00:00.000000 lt7-conf.o │ │ │ │ -?rw-r--r-- 0 0 0 5020 1970-01-01 00:00:00.000000 ct-hc2c-direct.o │ │ │ │ -?rw-r--r-- 0 0 0 3568 1970-01-01 00:00:00.000000 ct-hc2c.o │ │ │ │ -?rw-r--r-- 0 0 0 2552 1970-01-01 00:00:00.000000 dft-r2hc.o │ │ │ │ -?rw-r--r-- 0 0 0 2104 1970-01-01 00:00:00.000000 dht-r2hc.o │ │ │ │ -?rw-r--r-- 0 0 0 4900 1970-01-01 00:00:00.000000 dht-rader.o │ │ │ │ -?rw-r--r-- 0 0 0 3784 1970-01-01 00:00:00.000000 direct-r2c.o │ │ │ │ -?rw-r--r-- 0 0 0 2104 1970-01-01 00:00:00.000000 direct-r2r.o │ │ │ │ -?rw-r--r-- 0 0 0 2420 1970-01-01 00:00:00.000000 direct2.o │ │ │ │ -?rw-r--r-- 0 0 0 3212 1970-01-01 00:00:00.000000 lt8-generic.o │ │ │ │ -?rw-r--r-- 0 0 0 4116 1970-01-01 00:00:00.000000 hc2hc-direct.o │ │ │ │ -?rw-r--r-- 0 0 0 4796 1970-01-01 00:00:00.000000 hc2hc-generic.o │ │ │ │ -?rw-r--r-- 0 0 0 3052 1970-01-01 00:00:00.000000 hc2hc.o │ │ │ │ -?rw-r--r-- 0 0 0 3040 1970-01-01 00:00:00.000000 lt9-indirect.o │ │ │ │ +?rw-r--r-- 0 0 0 2320 1970-01-01 00:00:00.000000 n1_10.o │ │ │ │ +?rw-r--r-- 0 0 0 3264 1970-01-01 00:00:00.000000 n1_11.o │ │ │ │ +?rw-r--r-- 0 0 0 2368 1970-01-01 00:00:00.000000 n1_12.o │ │ │ │ +?rw-r--r-- 0 0 0 3536 1970-01-01 00:00:00.000000 n1_13.o │ │ │ │ +?rw-r--r-- 0 0 0 3064 1970-01-01 00:00:00.000000 n1_14.o │ │ │ │ +?rw-r--r-- 0 0 0 3144 1970-01-01 00:00:00.000000 n1_15.o │ │ │ │ +?rw-r--r-- 0 0 0 2872 1970-01-01 00:00:00.000000 n1_16.o │ │ │ │ +?rw-r--r-- 0 0 0 1356 1970-01-01 00:00:00.000000 n1_2.o │ │ │ │ +?rw-r--r-- 0 0 0 3688 1970-01-01 00:00:00.000000 n1_20.o │ │ │ │ +?rw-r--r-- 0 0 0 5544 1970-01-01 00:00:00.000000 n1_25.o │ │ │ │ +?rw-r--r-- 0 0 0 1556 1970-01-01 00:00:00.000000 n1_3.o │ │ │ │ +?rw-r--r-- 0 0 0 5304 1970-01-01 00:00:00.000000 n1_32.o │ │ │ │ +?rw-r--r-- 0 0 0 1580 1970-01-01 00:00:00.000000 n1_4.o │ │ │ │ +?rw-r--r-- 0 0 0 2108 1970-01-01 00:00:00.000000 n1_5.o │ │ │ │ +?rw-r--r-- 0 0 0 2252 1970-01-01 00:00:00.000000 n1_6.o │ │ │ │ +?rw-r--r-- 0 0 0 10776 1970-01-01 00:00:00.000000 n1_64.o │ │ │ │ +?rw-r--r-- 0 0 0 3004 1970-01-01 00:00:00.000000 n1_7.o │ │ │ │ +?rw-r--r-- 0 0 0 2564 1970-01-01 00:00:00.000000 n1_8.o │ │ │ │ +?rw-r--r-- 0 0 0 2268 1970-01-01 00:00:00.000000 n1_9.o │ │ │ │ +?rw-r--r-- 0 0 0 1712 1970-01-01 00:00:00.000000 q1_2.o │ │ │ │ +?rw-r--r-- 0 0 0 2136 1970-01-01 00:00:00.000000 q1_3.o │ │ │ │ +?rw-r--r-- 0 0 0 2704 1970-01-01 00:00:00.000000 q1_4.o │ │ │ │ +?rw-r--r-- 0 0 0 4164 1970-01-01 00:00:00.000000 q1_5.o │ │ │ │ +?rw-r--r-- 0 0 0 5208 1970-01-01 00:00:00.000000 q1_6.o │ │ │ │ +?rw-r--r-- 0 0 0 9244 1970-01-01 00:00:00.000000 q1_8.o │ │ │ │ +?rw-r--r-- 0 0 0 2700 1970-01-01 00:00:00.000000 t1_10.o │ │ │ │ +?rw-r--r-- 0 0 0 2868 1970-01-01 00:00:00.000000 t1_12.o │ │ │ │ +?rw-r--r-- 0 0 0 3652 1970-01-01 00:00:00.000000 t1_15.o │ │ │ │ +?rw-r--r-- 0 0 0 3452 1970-01-01 00:00:00.000000 t1_16.o │ │ │ │ +?rw-r--r-- 0 0 0 1504 1970-01-01 00:00:00.000000 t1_2.o │ │ │ │ +?rw-r--r-- 0 0 0 4204 1970-01-01 00:00:00.000000 t1_20.o │ │ │ │ +?rw-r--r-- 0 0 0 6128 1970-01-01 00:00:00.000000 t1_25.o │ │ │ │ +?rw-r--r-- 0 0 0 1744 1970-01-01 00:00:00.000000 t1_3.o │ │ │ │ +?rw-r--r-- 0 0 0 6136 1970-01-01 00:00:00.000000 t1_32.o │ │ │ │ +?rw-r--r-- 0 0 0 1820 1970-01-01 00:00:00.000000 t1_4.o │ │ │ │ +?rw-r--r-- 0 0 0 2208 1970-01-01 00:00:00.000000 t1_5.o │ │ │ │ +?rw-r--r-- 0 0 0 2380 1970-01-01 00:00:00.000000 t1_6.o │ │ │ │ +?rw-r--r-- 0 0 0 13600 1970-01-01 00:00:00.000000 t1_64.o │ │ │ │ +?rw-r--r-- 0 0 0 2264 1970-01-01 00:00:00.000000 t1_7.o │ │ │ │ +?rw-r--r-- 0 0 0 2088 1970-01-01 00:00:00.000000 t1_8.o │ │ │ │ +?rw-r--r-- 0 0 0 2624 1970-01-01 00:00:00.000000 t1_9.o │ │ │ │ +?rw-r--r-- 0 0 0 2836 1970-01-01 00:00:00.000000 t2_10.o │ │ │ │ +?rw-r--r-- 0 0 0 3760 1970-01-01 00:00:00.000000 t2_16.o │ │ │ │ +?rw-r--r-- 0 0 0 4776 1970-01-01 00:00:00.000000 t2_20.o │ │ │ │ +?rw-r--r-- 0 0 0 6816 1970-01-01 00:00:00.000000 t2_25.o │ │ │ │ +?rw-r--r-- 0 0 0 6944 1970-01-01 00:00:00.000000 t2_32.o │ │ │ │ +?rw-r--r-- 0 0 0 1836 1970-01-01 00:00:00.000000 t2_4.o │ │ │ │ +?rw-r--r-- 0 0 0 2244 1970-01-01 00:00:00.000000 t2_5.o │ │ │ │ +?rw-r--r-- 0 0 0 16788 1970-01-01 00:00:00.000000 t2_64.o │ │ │ │ +?rw-r--r-- 0 0 0 2160 1970-01-01 00:00:00.000000 t2_8.o │ │ │ │ +?rw-r--r-- 0 0 0 4340 1970-01-01 00:00:00.000000 lt6-buffered.o │ │ │ │ +?rw-r--r-- 0 0 0 4840 1970-01-01 00:00:00.000000 buffered2.o │ │ │ │ +?rw-r--r-- 0 0 0 3092 1970-01-01 00:00:00.000000 lt7-conf.o │ │ │ │ +?rw-r--r-- 0 0 0 5416 1970-01-01 00:00:00.000000 ct-hc2c-direct.o │ │ │ │ +?rw-r--r-- 0 0 0 3720 1970-01-01 00:00:00.000000 ct-hc2c.o │ │ │ │ +?rw-r--r-- 0 0 0 2684 1970-01-01 00:00:00.000000 dft-r2hc.o │ │ │ │ +?rw-r--r-- 0 0 0 2176 1970-01-01 00:00:00.000000 dht-r2hc.o │ │ │ │ +?rw-r--r-- 0 0 0 5136 1970-01-01 00:00:00.000000 dht-rader.o │ │ │ │ +?rw-r--r-- 0 0 0 3964 1970-01-01 00:00:00.000000 direct-r2c.o │ │ │ │ +?rw-r--r-- 0 0 0 2164 1970-01-01 00:00:00.000000 direct-r2r.o │ │ │ │ +?rw-r--r-- 0 0 0 2512 1970-01-01 00:00:00.000000 direct2.o │ │ │ │ +?rw-r--r-- 0 0 0 3380 1970-01-01 00:00:00.000000 lt8-generic.o │ │ │ │ +?rw-r--r-- 0 0 0 4364 1970-01-01 00:00:00.000000 hc2hc-direct.o │ │ │ │ +?rw-r--r-- 0 0 0 5184 1970-01-01 00:00:00.000000 hc2hc-generic.o │ │ │ │ +?rw-r--r-- 0 0 0 3164 1970-01-01 00:00:00.000000 hc2hc.o │ │ │ │ +?rw-r--r-- 0 0 0 3168 1970-01-01 00:00:00.000000 lt9-indirect.o │ │ │ │ ?rw-r--r-- 0 0 0 712 1970-01-01 00:00:00.000000 khc2c.o │ │ │ │ ?rw-r--r-- 0 0 0 716 1970-01-01 00:00:00.000000 khc2hc.o │ │ │ │ -?rw-r--r-- 0 0 0 940 1970-01-01 00:00:00.000000 kr2c.o │ │ │ │ -?rw-r--r-- 0 0 0 780 1970-01-01 00:00:00.000000 kr2r.o │ │ │ │ -?rw-r--r-- 0 0 0 1772 1970-01-01 00:00:00.000000 lt10-nop.o │ │ │ │ -?rw-r--r-- 0 0 0 1776 1970-01-01 00:00:00.000000 nop2.o │ │ │ │ -?rw-r--r-- 0 0 0 704 1970-01-01 00:00:00.000000 lt11-plan.o │ │ │ │ -?rw-r--r-- 0 0 0 704 1970-01-01 00:00:00.000000 plan2.o │ │ │ │ -?rw-r--r-- 0 0 0 5232 1970-01-01 00:00:00.000000 lt12-problem.o │ │ │ │ -?rw-r--r-- 0 0 0 5236 1970-01-01 00:00:00.000000 problem2.o │ │ │ │ -?rw-r--r-- 0 0 0 3132 1970-01-01 00:00:00.000000 rank-geq2-rdft2.o │ │ │ │ -?rw-r--r-- 0 0 0 2844 1970-01-01 00:00:00.000000 lt13-rank-geq2.o │ │ │ │ -?rw-r--r-- 0 0 0 2924 1970-01-01 00:00:00.000000 rank0-rdft2.o │ │ │ │ -?rw-r--r-- 0 0 0 9192 1970-01-01 00:00:00.000000 rank0.o │ │ │ │ -?rw-r--r-- 0 0 0 2920 1970-01-01 00:00:00.000000 rdft-dht.o │ │ │ │ -?rw-r--r-- 0 0 0 1168 1970-01-01 00:00:00.000000 rdft2-inplace-strides.o │ │ │ │ -?rw-r--r-- 0 0 0 5028 1970-01-01 00:00:00.000000 rdft2-rdft.o │ │ │ │ +?rw-r--r-- 0 0 0 952 1970-01-01 00:00:00.000000 kr2c.o │ │ │ │ +?rw-r--r-- 0 0 0 784 1970-01-01 00:00:00.000000 kr2r.o │ │ │ │ +?rw-r--r-- 0 0 0 1784 1970-01-01 00:00:00.000000 lt10-nop.o │ │ │ │ +?rw-r--r-- 0 0 0 1788 1970-01-01 00:00:00.000000 nop2.o │ │ │ │ +?rw-r--r-- 0 0 0 708 1970-01-01 00:00:00.000000 lt11-plan.o │ │ │ │ +?rw-r--r-- 0 0 0 708 1970-01-01 00:00:00.000000 plan2.o │ │ │ │ +?rw-r--r-- 0 0 0 5712 1970-01-01 00:00:00.000000 lt12-problem.o │ │ │ │ +?rw-r--r-- 0 0 0 5688 1970-01-01 00:00:00.000000 problem2.o │ │ │ │ +?rw-r--r-- 0 0 0 3268 1970-01-01 00:00:00.000000 rank-geq2-rdft2.o │ │ │ │ +?rw-r--r-- 0 0 0 2956 1970-01-01 00:00:00.000000 lt13-rank-geq2.o │ │ │ │ +?rw-r--r-- 0 0 0 3088 1970-01-01 00:00:00.000000 rank0-rdft2.o │ │ │ │ +?rw-r--r-- 0 0 0 9980 1970-01-01 00:00:00.000000 rank0.o │ │ │ │ +?rw-r--r-- 0 0 0 3044 1970-01-01 00:00:00.000000 rdft-dht.o │ │ │ │ +?rw-r--r-- 0 0 0 1224 1970-01-01 00:00:00.000000 rdft2-inplace-strides.o │ │ │ │ +?rw-r--r-- 0 0 0 5308 1970-01-01 00:00:00.000000 rdft2-rdft.o │ │ │ │ ?rw-r--r-- 0 0 0 636 1970-01-01 00:00:00.000000 rdft2-strides.o │ │ │ │ -?rw-r--r-- 0 0 0 972 1970-01-01 00:00:00.000000 rdft2-tensor-max-index.o │ │ │ │ +?rw-r--r-- 0 0 0 1004 1970-01-01 00:00:00.000000 rdft2-tensor-max-index.o │ │ │ │ ?rw-r--r-- 0 0 0 616 1970-01-01 00:00:00.000000 lt14-solve.o │ │ │ │ ?rw-r--r-- 0 0 0 636 1970-01-01 00:00:00.000000 solve2.o │ │ │ │ -?rw-r--r-- 0 0 0 2936 1970-01-01 00:00:00.000000 vrank-geq1-rdft2.o │ │ │ │ -?rw-r--r-- 0 0 0 2788 1970-01-01 00:00:00.000000 lt15-vrank-geq1.o │ │ │ │ -?rw-r--r-- 0 0 0 8776 1970-01-01 00:00:00.000000 vrank3-transpose.o │ │ │ │ -?rw-r--r-- 0 0 0 840 1970-01-01 00:00:00.000000 hc2c.o │ │ │ │ +?rw-r--r-- 0 0 0 3036 1970-01-01 00:00:00.000000 vrank-geq1-rdft2.o │ │ │ │ +?rw-r--r-- 0 0 0 2896 1970-01-01 00:00:00.000000 lt15-vrank-geq1.o │ │ │ │ +?rw-r--r-- 0 0 0 9364 1970-01-01 00:00:00.000000 vrank3-transpose.o │ │ │ │ +?rw-r--r-- 0 0 0 844 1970-01-01 00:00:00.000000 hc2c.o │ │ │ │ ?rw-r--r-- 0 0 0 712 1970-01-01 00:00:00.000000 hfb.o │ │ │ │ ?rw-r--r-- 0 0 0 812 1970-01-01 00:00:00.000000 r2c.o │ │ │ │ ?rw-r--r-- 0 0 0 664 1970-01-01 00:00:00.000000 r2r.o │ │ │ │ ?rw-r--r-- 0 0 0 8156 1970-01-01 00:00:00.000000 lt16-codlist.o │ │ │ │ -?rw-r--r-- 0 0 0 3664 1970-01-01 00:00:00.000000 hc2cf2_16.o │ │ │ │ -?rw-r--r-- 0 0 0 4680 1970-01-01 00:00:00.000000 hc2cf2_20.o │ │ │ │ -?rw-r--r-- 0 0 0 6816 1970-01-01 00:00:00.000000 hc2cf2_32.o │ │ │ │ -?rw-r--r-- 0 0 0 1808 1970-01-01 00:00:00.000000 hc2cf2_4.o │ │ │ │ -?rw-r--r-- 0 0 0 2244 1970-01-01 00:00:00.000000 hc2cf2_8.o │ │ │ │ -?rw-r--r-- 0 0 0 2584 1970-01-01 00:00:00.000000 hc2cf_10.o │ │ │ │ -?rw-r--r-- 0 0 0 2784 1970-01-01 00:00:00.000000 hc2cf_12.o │ │ │ │ -?rw-r--r-- 0 0 0 3364 1970-01-01 00:00:00.000000 hc2cf_16.o │ │ │ │ -?rw-r--r-- 0 0 0 1472 1970-01-01 00:00:00.000000 hc2cf_2.o │ │ │ │ -?rw-r--r-- 0 0 0 4144 1970-01-01 00:00:00.000000 hc2cf_20.o │ │ │ │ -?rw-r--r-- 0 0 0 6056 1970-01-01 00:00:00.000000 hc2cf_32.o │ │ │ │ -?rw-r--r-- 0 0 0 1788 1970-01-01 00:00:00.000000 hc2cf_4.o │ │ │ │ -?rw-r--r-- 0 0 0 2444 1970-01-01 00:00:00.000000 hc2cf_6.o │ │ │ │ -?rw-r--r-- 0 0 0 2132 1970-01-01 00:00:00.000000 hc2cf_8.o │ │ │ │ -?rw-r--r-- 0 0 0 3912 1970-01-01 00:00:00.000000 hc2cfdft2_16.o │ │ │ │ -?rw-r--r-- 0 0 0 5080 1970-01-01 00:00:00.000000 hc2cfdft2_20.o │ │ │ │ -?rw-r--r-- 0 0 0 7540 1970-01-01 00:00:00.000000 hc2cfdft2_32.o │ │ │ │ -?rw-r--r-- 0 0 0 1956 1970-01-01 00:00:00.000000 hc2cfdft2_4.o │ │ │ │ -?rw-r--r-- 0 0 0 2484 1970-01-01 00:00:00.000000 hc2cfdft2_8.o │ │ │ │ -?rw-r--r-- 0 0 0 2848 1970-01-01 00:00:00.000000 hc2cfdft_10.o │ │ │ │ -?rw-r--r-- 0 0 0 2960 1970-01-01 00:00:00.000000 hc2cfdft_12.o │ │ │ │ -?rw-r--r-- 0 0 0 3604 1970-01-01 00:00:00.000000 hc2cfdft_16.o │ │ │ │ -?rw-r--r-- 0 0 0 1552 1970-01-01 00:00:00.000000 hc2cfdft_2.o │ │ │ │ -?rw-r--r-- 0 0 0 4524 1970-01-01 00:00:00.000000 hc2cfdft_20.o │ │ │ │ -?rw-r--r-- 0 0 0 6544 1970-01-01 00:00:00.000000 hc2cfdft_32.o │ │ │ │ -?rw-r--r-- 0 0 0 1940 1970-01-01 00:00:00.000000 hc2cfdft_4.o │ │ │ │ -?rw-r--r-- 0 0 0 2684 1970-01-01 00:00:00.000000 hc2cfdft_6.o │ │ │ │ -?rw-r--r-- 0 0 0 2348 1970-01-01 00:00:00.000000 hc2cfdft_8.o │ │ │ │ -?rw-r--r-- 0 0 0 3632 1970-01-01 00:00:00.000000 hf2_16.o │ │ │ │ -?rw-r--r-- 0 0 0 4644 1970-01-01 00:00:00.000000 hf2_20.o │ │ │ │ -?rw-r--r-- 0 0 0 6860 1970-01-01 00:00:00.000000 hf2_25.o │ │ │ │ -?rw-r--r-- 0 0 0 6868 1970-01-01 00:00:00.000000 hf2_32.o │ │ │ │ -?rw-r--r-- 0 0 0 1828 1970-01-01 00:00:00.000000 hf2_4.o │ │ │ │ -?rw-r--r-- 0 0 0 2224 1970-01-01 00:00:00.000000 hf2_5.o │ │ │ │ -?rw-r--r-- 0 0 0 2116 1970-01-01 00:00:00.000000 hf2_8.o │ │ │ │ -?rw-r--r-- 0 0 0 2600 1970-01-01 00:00:00.000000 hf_10.o │ │ │ │ -?rw-r--r-- 0 0 0 2792 1970-01-01 00:00:00.000000 hf_12.o │ │ │ │ -?rw-r--r-- 0 0 0 3620 1970-01-01 00:00:00.000000 hf_15.o │ │ │ │ -?rw-r--r-- 0 0 0 3380 1970-01-01 00:00:00.000000 hf_16.o │ │ │ │ -?rw-r--r-- 0 0 0 1472 1970-01-01 00:00:00.000000 hf_2.o │ │ │ │ -?rw-r--r-- 0 0 0 4108 1970-01-01 00:00:00.000000 hf_20.o │ │ │ │ -?rw-r--r-- 0 0 0 6056 1970-01-01 00:00:00.000000 hf_25.o │ │ │ │ -?rw-r--r-- 0 0 0 1720 1970-01-01 00:00:00.000000 hf_3.o │ │ │ │ -?rw-r--r-- 0 0 0 6076 1970-01-01 00:00:00.000000 hf_32.o │ │ │ │ -?rw-r--r-- 0 0 0 1808 1970-01-01 00:00:00.000000 hf_4.o │ │ │ │ -?rw-r--r-- 0 0 0 2192 1970-01-01 00:00:00.000000 hf_5.o │ │ │ │ -?rw-r--r-- 0 0 0 2344 1970-01-01 00:00:00.000000 hf_6.o │ │ │ │ -?rw-r--r-- 0 0 0 13480 1970-01-01 00:00:00.000000 hf_64.o │ │ │ │ -?rw-r--r-- 0 0 0 2192 1970-01-01 00:00:00.000000 hf_7.o │ │ │ │ -?rw-r--r-- 0 0 0 2040 1970-01-01 00:00:00.000000 hf_8.o │ │ │ │ -?rw-r--r-- 0 0 0 2560 1970-01-01 00:00:00.000000 hf_9.o │ │ │ │ -?rw-r--r-- 0 0 0 2096 1970-01-01 00:00:00.000000 r2cfII_10.o │ │ │ │ -?rw-r--r-- 0 0 0 2336 1970-01-01 00:00:00.000000 r2cfII_12.o │ │ │ │ -?rw-r--r-- 0 0 0 2176 1970-01-01 00:00:00.000000 r2cfII_15.o │ │ │ │ -?rw-r--r-- 0 0 0 2200 1970-01-01 00:00:00.000000 r2cfII_16.o │ │ │ │ -?rw-r--r-- 0 0 0 1208 1970-01-01 00:00:00.000000 r2cfII_2.o │ │ │ │ -?rw-r--r-- 0 0 0 2540 1970-01-01 00:00:00.000000 r2cfII_20.o │ │ │ │ -?rw-r--r-- 0 0 0 4256 1970-01-01 00:00:00.000000 r2cfII_25.o │ │ │ │ -?rw-r--r-- 0 0 0 1344 1970-01-01 00:00:00.000000 r2cfII_3.o │ │ │ │ -?rw-r--r-- 0 0 0 3368 1970-01-01 00:00:00.000000 r2cfII_32.o │ │ │ │ -?rw-r--r-- 0 0 0 1416 1970-01-01 00:00:00.000000 r2cfII_4.o │ │ │ │ -?rw-r--r-- 0 0 0 1696 1970-01-01 00:00:00.000000 r2cfII_5.o │ │ │ │ -?rw-r--r-- 0 0 0 1720 1970-01-01 00:00:00.000000 r2cfII_6.o │ │ │ │ -?rw-r--r-- 0 0 0 6384 1970-01-01 00:00:00.000000 r2cfII_64.o │ │ │ │ -?rw-r--r-- 0 0 0 1992 1970-01-01 00:00:00.000000 r2cfII_7.o │ │ │ │ -?rw-r--r-- 0 0 0 1936 1970-01-01 00:00:00.000000 r2cfII_8.o │ │ │ │ -?rw-r--r-- 0 0 0 2384 1970-01-01 00:00:00.000000 r2cfII_9.o │ │ │ │ -?rw-r--r-- 0 0 0 2128 1970-01-01 00:00:00.000000 r2cf_10.o │ │ │ │ -?rw-r--r-- 0 0 0 2880 1970-01-01 00:00:00.000000 r2cf_11.o │ │ │ │ -?rw-r--r-- 0 0 0 2216 1970-01-01 00:00:00.000000 r2cf_12.o │ │ │ │ -?rw-r--r-- 0 0 0 11824 1970-01-01 00:00:00.000000 r2cf_128.o │ │ │ │ -?rw-r--r-- 0 0 0 2272 1970-01-01 00:00:00.000000 r2cf_13.o │ │ │ │ -?rw-r--r-- 0 0 0 2080 1970-01-01 00:00:00.000000 r2cf_14.o │ │ │ │ -?rw-r--r-- 0 0 0 2152 1970-01-01 00:00:00.000000 r2cf_15.o │ │ │ │ -?rw-r--r-- 0 0 0 2760 1970-01-01 00:00:00.000000 r2cf_16.o │ │ │ │ -?rw-r--r-- 0 0 0 1224 1970-01-01 00:00:00.000000 r2cf_2.o │ │ │ │ -?rw-r--r-- 0 0 0 2332 1970-01-01 00:00:00.000000 r2cf_20.o │ │ │ │ -?rw-r--r-- 0 0 0 4276 1970-01-01 00:00:00.000000 r2cf_25.o │ │ │ │ -?rw-r--r-- 0 0 0 1356 1970-01-01 00:00:00.000000 r2cf_3.o │ │ │ │ -?rw-r--r-- 0 0 0 3056 1970-01-01 00:00:00.000000 r2cf_32.o │ │ │ │ -?rw-r--r-- 0 0 0 1332 1970-01-01 00:00:00.000000 r2cf_4.o │ │ │ │ -?rw-r--r-- 0 0 0 1716 1970-01-01 00:00:00.000000 r2cf_5.o │ │ │ │ -?rw-r--r-- 0 0 0 1740 1970-01-01 00:00:00.000000 r2cf_6.o │ │ │ │ -?rw-r--r-- 0 0 0 5436 1970-01-01 00:00:00.000000 r2cf_64.o │ │ │ │ -?rw-r--r-- 0 0 0 1996 1970-01-01 00:00:00.000000 r2cf_7.o │ │ │ │ -?rw-r--r-- 0 0 0 1852 1970-01-01 00:00:00.000000 r2cf_8.o │ │ │ │ -?rw-r--r-- 0 0 0 2356 1970-01-01 00:00:00.000000 r2cf_9.o │ │ │ │ +?rw-r--r-- 0 0 0 3720 1970-01-01 00:00:00.000000 hc2cf2_16.o │ │ │ │ +?rw-r--r-- 0 0 0 4744 1970-01-01 00:00:00.000000 hc2cf2_20.o │ │ │ │ +?rw-r--r-- 0 0 0 6952 1970-01-01 00:00:00.000000 hc2cf2_32.o │ │ │ │ +?rw-r--r-- 0 0 0 1844 1970-01-01 00:00:00.000000 hc2cf2_4.o │ │ │ │ +?rw-r--r-- 0 0 0 2276 1970-01-01 00:00:00.000000 hc2cf2_8.o │ │ │ │ +?rw-r--r-- 0 0 0 2644 1970-01-01 00:00:00.000000 hc2cf_10.o │ │ │ │ +?rw-r--r-- 0 0 0 2836 1970-01-01 00:00:00.000000 hc2cf_12.o │ │ │ │ +?rw-r--r-- 0 0 0 3420 1970-01-01 00:00:00.000000 hc2cf_16.o │ │ │ │ +?rw-r--r-- 0 0 0 1516 1970-01-01 00:00:00.000000 hc2cf_2.o │ │ │ │ +?rw-r--r-- 0 0 0 4184 1970-01-01 00:00:00.000000 hc2cf_20.o │ │ │ │ +?rw-r--r-- 0 0 0 6116 1970-01-01 00:00:00.000000 hc2cf_32.o │ │ │ │ +?rw-r--r-- 0 0 0 1828 1970-01-01 00:00:00.000000 hc2cf_4.o │ │ │ │ +?rw-r--r-- 0 0 0 2540 1970-01-01 00:00:00.000000 hc2cf_6.o │ │ │ │ +?rw-r--r-- 0 0 0 2180 1970-01-01 00:00:00.000000 hc2cf_8.o │ │ │ │ +?rw-r--r-- 0 0 0 3992 1970-01-01 00:00:00.000000 hc2cfdft2_16.o │ │ │ │ +?rw-r--r-- 0 0 0 5120 1970-01-01 00:00:00.000000 hc2cfdft2_20.o │ │ │ │ +?rw-r--r-- 0 0 0 7732 1970-01-01 00:00:00.000000 hc2cfdft2_32.o │ │ │ │ +?rw-r--r-- 0 0 0 1992 1970-01-01 00:00:00.000000 hc2cfdft2_4.o │ │ │ │ +?rw-r--r-- 0 0 0 2548 1970-01-01 00:00:00.000000 hc2cfdft2_8.o │ │ │ │ +?rw-r--r-- 0 0 0 2912 1970-01-01 00:00:00.000000 hc2cfdft_10.o │ │ │ │ +?rw-r--r-- 0 0 0 3028 1970-01-01 00:00:00.000000 hc2cfdft_12.o │ │ │ │ +?rw-r--r-- 0 0 0 3684 1970-01-01 00:00:00.000000 hc2cfdft_16.o │ │ │ │ +?rw-r--r-- 0 0 0 1592 1970-01-01 00:00:00.000000 hc2cfdft_2.o │ │ │ │ +?rw-r--r-- 0 0 0 4580 1970-01-01 00:00:00.000000 hc2cfdft_20.o │ │ │ │ +?rw-r--r-- 0 0 0 6676 1970-01-01 00:00:00.000000 hc2cfdft_32.o │ │ │ │ +?rw-r--r-- 0 0 0 1976 1970-01-01 00:00:00.000000 hc2cfdft_4.o │ │ │ │ +?rw-r--r-- 0 0 0 2740 1970-01-01 00:00:00.000000 hc2cfdft_6.o │ │ │ │ +?rw-r--r-- 0 0 0 2404 1970-01-01 00:00:00.000000 hc2cfdft_8.o │ │ │ │ +?rw-r--r-- 0 0 0 3688 1970-01-01 00:00:00.000000 hf2_16.o │ │ │ │ +?rw-r--r-- 0 0 0 4700 1970-01-01 00:00:00.000000 hf2_20.o │ │ │ │ +?rw-r--r-- 0 0 0 6884 1970-01-01 00:00:00.000000 hf2_25.o │ │ │ │ +?rw-r--r-- 0 0 0 6976 1970-01-01 00:00:00.000000 hf2_32.o │ │ │ │ +?rw-r--r-- 0 0 0 1864 1970-01-01 00:00:00.000000 hf2_4.o │ │ │ │ +?rw-r--r-- 0 0 0 2288 1970-01-01 00:00:00.000000 hf2_5.o │ │ │ │ +?rw-r--r-- 0 0 0 2180 1970-01-01 00:00:00.000000 hf2_8.o │ │ │ │ +?rw-r--r-- 0 0 0 2652 1970-01-01 00:00:00.000000 hf_10.o │ │ │ │ +?rw-r--r-- 0 0 0 2848 1970-01-01 00:00:00.000000 hf_12.o │ │ │ │ +?rw-r--r-- 0 0 0 3668 1970-01-01 00:00:00.000000 hf_15.o │ │ │ │ +?rw-r--r-- 0 0 0 3444 1970-01-01 00:00:00.000000 hf_16.o │ │ │ │ +?rw-r--r-- 0 0 0 1500 1970-01-01 00:00:00.000000 hf_2.o │ │ │ │ +?rw-r--r-- 0 0 0 4148 1970-01-01 00:00:00.000000 hf_20.o │ │ │ │ +?rw-r--r-- 0 0 0 6192 1970-01-01 00:00:00.000000 hf_25.o │ │ │ │ +?rw-r--r-- 0 0 0 1760 1970-01-01 00:00:00.000000 hf_3.o │ │ │ │ +?rw-r--r-- 0 0 0 6124 1970-01-01 00:00:00.000000 hf_32.o │ │ │ │ +?rw-r--r-- 0 0 0 1844 1970-01-01 00:00:00.000000 hf_4.o │ │ │ │ +?rw-r--r-- 0 0 0 2248 1970-01-01 00:00:00.000000 hf_5.o │ │ │ │ +?rw-r--r-- 0 0 0 2388 1970-01-01 00:00:00.000000 hf_6.o │ │ │ │ +?rw-r--r-- 0 0 0 13628 1970-01-01 00:00:00.000000 hf_64.o │ │ │ │ +?rw-r--r-- 0 0 0 2256 1970-01-01 00:00:00.000000 hf_7.o │ │ │ │ +?rw-r--r-- 0 0 0 2104 1970-01-01 00:00:00.000000 hf_8.o │ │ │ │ +?rw-r--r-- 0 0 0 2612 1970-01-01 00:00:00.000000 hf_9.o │ │ │ │ +?rw-r--r-- 0 0 0 2128 1970-01-01 00:00:00.000000 r2cfII_10.o │ │ │ │ +?rw-r--r-- 0 0 0 2376 1970-01-01 00:00:00.000000 r2cfII_12.o │ │ │ │ +?rw-r--r-- 0 0 0 2248 1970-01-01 00:00:00.000000 r2cfII_15.o │ │ │ │ +?rw-r--r-- 0 0 0 2240 1970-01-01 00:00:00.000000 r2cfII_16.o │ │ │ │ +?rw-r--r-- 0 0 0 1228 1970-01-01 00:00:00.000000 r2cfII_2.o │ │ │ │ +?rw-r--r-- 0 0 0 2640 1970-01-01 00:00:00.000000 r2cfII_20.o │ │ │ │ +?rw-r--r-- 0 0 0 4304 1970-01-01 00:00:00.000000 r2cfII_25.o │ │ │ │ +?rw-r--r-- 0 0 0 1384 1970-01-01 00:00:00.000000 r2cfII_3.o │ │ │ │ +?rw-r--r-- 0 0 0 3432 1970-01-01 00:00:00.000000 r2cfII_32.o │ │ │ │ +?rw-r--r-- 0 0 0 1448 1970-01-01 00:00:00.000000 r2cfII_4.o │ │ │ │ +?rw-r--r-- 0 0 0 1736 1970-01-01 00:00:00.000000 r2cfII_5.o │ │ │ │ +?rw-r--r-- 0 0 0 1744 1970-01-01 00:00:00.000000 r2cfII_6.o │ │ │ │ +?rw-r--r-- 0 0 0 6564 1970-01-01 00:00:00.000000 r2cfII_64.o │ │ │ │ +?rw-r--r-- 0 0 0 2024 1970-01-01 00:00:00.000000 r2cfII_7.o │ │ │ │ +?rw-r--r-- 0 0 0 1976 1970-01-01 00:00:00.000000 r2cfII_8.o │ │ │ │ +?rw-r--r-- 0 0 0 2432 1970-01-01 00:00:00.000000 r2cfII_9.o │ │ │ │ +?rw-r--r-- 0 0 0 2184 1970-01-01 00:00:00.000000 r2cf_10.o │ │ │ │ +?rw-r--r-- 0 0 0 2912 1970-01-01 00:00:00.000000 r2cf_11.o │ │ │ │ +?rw-r--r-- 0 0 0 2288 1970-01-01 00:00:00.000000 r2cf_12.o │ │ │ │ +?rw-r--r-- 0 0 0 12040 1970-01-01 00:00:00.000000 r2cf_128.o │ │ │ │ +?rw-r--r-- 0 0 0 2312 1970-01-01 00:00:00.000000 r2cf_13.o │ │ │ │ +?rw-r--r-- 0 0 0 2112 1970-01-01 00:00:00.000000 r2cf_14.o │ │ │ │ +?rw-r--r-- 0 0 0 2176 1970-01-01 00:00:00.000000 r2cf_15.o │ │ │ │ +?rw-r--r-- 0 0 0 2832 1970-01-01 00:00:00.000000 r2cf_16.o │ │ │ │ +?rw-r--r-- 0 0 0 1244 1970-01-01 00:00:00.000000 r2cf_2.o │ │ │ │ +?rw-r--r-- 0 0 0 2396 1970-01-01 00:00:00.000000 r2cf_20.o │ │ │ │ +?rw-r--r-- 0 0 0 4344 1970-01-01 00:00:00.000000 r2cf_25.o │ │ │ │ +?rw-r--r-- 0 0 0 1396 1970-01-01 00:00:00.000000 r2cf_3.o │ │ │ │ +?rw-r--r-- 0 0 0 3152 1970-01-01 00:00:00.000000 r2cf_32.o │ │ │ │ +?rw-r--r-- 0 0 0 1372 1970-01-01 00:00:00.000000 r2cf_4.o │ │ │ │ +?rw-r--r-- 0 0 0 1740 1970-01-01 00:00:00.000000 r2cf_5.o │ │ │ │ +?rw-r--r-- 0 0 0 1780 1970-01-01 00:00:00.000000 r2cf_6.o │ │ │ │ +?rw-r--r-- 0 0 0 5608 1970-01-01 00:00:00.000000 r2cf_64.o │ │ │ │ +?rw-r--r-- 0 0 0 2028 1970-01-01 00:00:00.000000 r2cf_7.o │ │ │ │ +?rw-r--r-- 0 0 0 1892 1970-01-01 00:00:00.000000 r2cf_8.o │ │ │ │ +?rw-r--r-- 0 0 0 2420 1970-01-01 00:00:00.000000 r2cf_9.o │ │ │ │ ?rw-r--r-- 0 0 0 8172 1970-01-01 00:00:00.000000 lt17-codlist.o │ │ │ │ -?rw-r--r-- 0 0 0 3712 1970-01-01 00:00:00.000000 hb2_16.o │ │ │ │ -?rw-r--r-- 0 0 0 4872 1970-01-01 00:00:00.000000 hb2_20.o │ │ │ │ -?rw-r--r-- 0 0 0 6912 1970-01-01 00:00:00.000000 hb2_25.o │ │ │ │ -?rw-r--r-- 0 0 0 7324 1970-01-01 00:00:00.000000 hb2_32.o │ │ │ │ -?rw-r--r-- 0 0 0 1824 1970-01-01 00:00:00.000000 hb2_4.o │ │ │ │ -?rw-r--r-- 0 0 0 2372 1970-01-01 00:00:00.000000 hb2_5.o │ │ │ │ -?rw-r--r-- 0 0 0 2196 1970-01-01 00:00:00.000000 hb2_8.o │ │ │ │ -?rw-r--r-- 0 0 0 2556 1970-01-01 00:00:00.000000 hb_10.o │ │ │ │ -?rw-r--r-- 0 0 0 2684 1970-01-01 00:00:00.000000 hb_12.o │ │ │ │ -?rw-r--r-- 0 0 0 3716 1970-01-01 00:00:00.000000 hb_15.o │ │ │ │ -?rw-r--r-- 0 0 0 3328 1970-01-01 00:00:00.000000 hb_16.o │ │ │ │ -?rw-r--r-- 0 0 0 1468 1970-01-01 00:00:00.000000 hb_2.o │ │ │ │ -?rw-r--r-- 0 0 0 4328 1970-01-01 00:00:00.000000 hb_20.o │ │ │ │ -?rw-r--r-- 0 0 0 6128 1970-01-01 00:00:00.000000 hb_25.o │ │ │ │ -?rw-r--r-- 0 0 0 1736 1970-01-01 00:00:00.000000 hb_3.o │ │ │ │ -?rw-r--r-- 0 0 0 6100 1970-01-01 00:00:00.000000 hb_32.o │ │ │ │ -?rw-r--r-- 0 0 0 1804 1970-01-01 00:00:00.000000 hb_4.o │ │ │ │ -?rw-r--r-- 0 0 0 2224 1970-01-01 00:00:00.000000 hb_5.o │ │ │ │ -?rw-r--r-- 0 0 0 2336 1970-01-01 00:00:00.000000 hb_6.o │ │ │ │ -?rw-r--r-- 0 0 0 13636 1970-01-01 00:00:00.000000 hb_64.o │ │ │ │ -?rw-r--r-- 0 0 0 2168 1970-01-01 00:00:00.000000 hb_7.o │ │ │ │ -?rw-r--r-- 0 0 0 2024 1970-01-01 00:00:00.000000 hb_8.o │ │ │ │ -?rw-r--r-- 0 0 0 2580 1970-01-01 00:00:00.000000 hb_9.o │ │ │ │ -?rw-r--r-- 0 0 0 3724 1970-01-01 00:00:00.000000 hc2cb2_16.o │ │ │ │ -?rw-r--r-- 0 0 0 4924 1970-01-01 00:00:00.000000 hc2cb2_20.o │ │ │ │ -?rw-r--r-- 0 0 0 7268 1970-01-01 00:00:00.000000 hc2cb2_32.o │ │ │ │ -?rw-r--r-- 0 0 0 1804 1970-01-01 00:00:00.000000 hc2cb2_4.o │ │ │ │ -?rw-r--r-- 0 0 0 2308 1970-01-01 00:00:00.000000 hc2cb2_8.o │ │ │ │ -?rw-r--r-- 0 0 0 2564 1970-01-01 00:00:00.000000 hc2cb_10.o │ │ │ │ -?rw-r--r-- 0 0 0 2656 1970-01-01 00:00:00.000000 hc2cb_12.o │ │ │ │ -?rw-r--r-- 0 0 0 3296 1970-01-01 00:00:00.000000 hc2cb_16.o │ │ │ │ -?rw-r--r-- 0 0 0 1472 1970-01-01 00:00:00.000000 hc2cb_2.o │ │ │ │ -?rw-r--r-- 0 0 0 4304 1970-01-01 00:00:00.000000 hc2cb_20.o │ │ │ │ -?rw-r--r-- 0 0 0 6060 1970-01-01 00:00:00.000000 hc2cb_32.o │ │ │ │ -?rw-r--r-- 0 0 0 1788 1970-01-01 00:00:00.000000 hc2cb_4.o │ │ │ │ -?rw-r--r-- 0 0 0 2492 1970-01-01 00:00:00.000000 hc2cb_6.o │ │ │ │ -?rw-r--r-- 0 0 0 2132 1970-01-01 00:00:00.000000 hc2cb_8.o │ │ │ │ -?rw-r--r-- 0 0 0 3516 1970-01-01 00:00:00.000000 hc2cbdft2_16.o │ │ │ │ -?rw-r--r-- 0 0 0 4488 1970-01-01 00:00:00.000000 hc2cbdft2_20.o │ │ │ │ -?rw-r--r-- 0 0 0 6436 1970-01-01 00:00:00.000000 hc2cbdft2_32.o │ │ │ │ -?rw-r--r-- 0 0 0 1868 1970-01-01 00:00:00.000000 hc2cbdft2_4.o │ │ │ │ -?rw-r--r-- 0 0 0 2276 1970-01-01 00:00:00.000000 hc2cbdft2_8.o │ │ │ │ -?rw-r--r-- 0 0 0 2736 1970-01-01 00:00:00.000000 hc2cbdft_10.o │ │ │ │ -?rw-r--r-- 0 0 0 2900 1970-01-01 00:00:00.000000 hc2cbdft_12.o │ │ │ │ -?rw-r--r-- 0 0 0 3516 1970-01-01 00:00:00.000000 hc2cbdft_16.o │ │ │ │ -?rw-r--r-- 0 0 0 1512 1970-01-01 00:00:00.000000 hc2cbdft_2.o │ │ │ │ -?rw-r--r-- 0 0 0 4488 1970-01-01 00:00:00.000000 hc2cbdft_20.o │ │ │ │ -?rw-r--r-- 0 0 0 6436 1970-01-01 00:00:00.000000 hc2cbdft_32.o │ │ │ │ -?rw-r--r-- 0 0 0 1868 1970-01-01 00:00:00.000000 hc2cbdft_4.o │ │ │ │ -?rw-r--r-- 0 0 0 2668 1970-01-01 00:00:00.000000 hc2cbdft_6.o │ │ │ │ -?rw-r--r-- 0 0 0 2276 1970-01-01 00:00:00.000000 hc2cbdft_8.o │ │ │ │ -?rw-r--r-- 0 0 0 2136 1970-01-01 00:00:00.000000 r2cbIII_10.o │ │ │ │ -?rw-r--r-- 0 0 0 2408 1970-01-01 00:00:00.000000 r2cbIII_12.o │ │ │ │ -?rw-r--r-- 0 0 0 2128 1970-01-01 00:00:00.000000 r2cbIII_15.o │ │ │ │ -?rw-r--r-- 0 0 0 2176 1970-01-01 00:00:00.000000 r2cbIII_16.o │ │ │ │ -?rw-r--r-- 0 0 0 1232 1970-01-01 00:00:00.000000 r2cbIII_2.o │ │ │ │ -?rw-r--r-- 0 0 0 2448 1970-01-01 00:00:00.000000 r2cbIII_20.o │ │ │ │ -?rw-r--r-- 0 0 0 3208 1970-01-01 00:00:00.000000 r2cbIII_25.o │ │ │ │ -?rw-r--r-- 0 0 0 1360 1970-01-01 00:00:00.000000 r2cbIII_3.o │ │ │ │ -?rw-r--r-- 0 0 0 3504 1970-01-01 00:00:00.000000 r2cbIII_32.o │ │ │ │ -?rw-r--r-- 0 0 0 1432 1970-01-01 00:00:00.000000 r2cbIII_4.o │ │ │ │ -?rw-r--r-- 0 0 0 1720 1970-01-01 00:00:00.000000 r2cbIII_5.o │ │ │ │ -?rw-r--r-- 0 0 0 1728 1970-01-01 00:00:00.000000 r2cbIII_6.o │ │ │ │ -?rw-r--r-- 0 0 0 6336 1970-01-01 00:00:00.000000 r2cbIII_64.o │ │ │ │ -?rw-r--r-- 0 0 0 2024 1970-01-01 00:00:00.000000 r2cbIII_7.o │ │ │ │ -?rw-r--r-- 0 0 0 1960 1970-01-01 00:00:00.000000 r2cbIII_8.o │ │ │ │ -?rw-r--r-- 0 0 0 2232 1970-01-01 00:00:00.000000 r2cbIII_9.o │ │ │ │ -?rw-r--r-- 0 0 0 2136 1970-01-01 00:00:00.000000 r2cb_10.o │ │ │ │ -?rw-r--r-- 0 0 0 2912 1970-01-01 00:00:00.000000 r2cb_11.o │ │ │ │ -?rw-r--r-- 0 0 0 2224 1970-01-01 00:00:00.000000 r2cb_12.o │ │ │ │ -?rw-r--r-- 0 0 0 11936 1970-01-01 00:00:00.000000 r2cb_128.o │ │ │ │ -?rw-r--r-- 0 0 0 2224 1970-01-01 00:00:00.000000 r2cb_13.o │ │ │ │ -?rw-r--r-- 0 0 0 2128 1970-01-01 00:00:00.000000 r2cb_14.o │ │ │ │ -?rw-r--r-- 0 0 0 2104 1970-01-01 00:00:00.000000 r2cb_15.o │ │ │ │ -?rw-r--r-- 0 0 0 2032 1970-01-01 00:00:00.000000 r2cb_16.o │ │ │ │ -?rw-r--r-- 0 0 0 1228 1970-01-01 00:00:00.000000 r2cb_2.o │ │ │ │ -?rw-r--r-- 0 0 0 2324 1970-01-01 00:00:00.000000 r2cb_20.o │ │ │ │ -?rw-r--r-- 0 0 0 3216 1970-01-01 00:00:00.000000 r2cb_25.o │ │ │ │ -?rw-r--r-- 0 0 0 1348 1970-01-01 00:00:00.000000 r2cb_3.o │ │ │ │ -?rw-r--r-- 0 0 0 3168 1970-01-01 00:00:00.000000 r2cb_32.o │ │ │ │ -?rw-r--r-- 0 0 0 1340 1970-01-01 00:00:00.000000 r2cb_4.o │ │ │ │ -?rw-r--r-- 0 0 0 1724 1970-01-01 00:00:00.000000 r2cb_5.o │ │ │ │ -?rw-r--r-- 0 0 0 1724 1970-01-01 00:00:00.000000 r2cb_6.o │ │ │ │ -?rw-r--r-- 0 0 0 5804 1970-01-01 00:00:00.000000 r2cb_64.o │ │ │ │ -?rw-r--r-- 0 0 0 2028 1970-01-01 00:00:00.000000 r2cb_7.o │ │ │ │ -?rw-r--r-- 0 0 0 1884 1970-01-01 00:00:00.000000 r2cb_8.o │ │ │ │ -?rw-r--r-- 0 0 0 2228 1970-01-01 00:00:00.000000 r2cb_9.o │ │ │ │ +?rw-r--r-- 0 0 0 3768 1970-01-01 00:00:00.000000 hb2_16.o │ │ │ │ +?rw-r--r-- 0 0 0 4992 1970-01-01 00:00:00.000000 hb2_20.o │ │ │ │ +?rw-r--r-- 0 0 0 6992 1970-01-01 00:00:00.000000 hb2_25.o │ │ │ │ +?rw-r--r-- 0 0 0 7464 1970-01-01 00:00:00.000000 hb2_32.o │ │ │ │ +?rw-r--r-- 0 0 0 1864 1970-01-01 00:00:00.000000 hb2_4.o │ │ │ │ +?rw-r--r-- 0 0 0 2412 1970-01-01 00:00:00.000000 hb2_5.o │ │ │ │ +?rw-r--r-- 0 0 0 2260 1970-01-01 00:00:00.000000 hb2_8.o │ │ │ │ +?rw-r--r-- 0 0 0 2604 1970-01-01 00:00:00.000000 hb_10.o │ │ │ │ +?rw-r--r-- 0 0 0 2728 1970-01-01 00:00:00.000000 hb_12.o │ │ │ │ +?rw-r--r-- 0 0 0 3708 1970-01-01 00:00:00.000000 hb_15.o │ │ │ │ +?rw-r--r-- 0 0 0 3384 1970-01-01 00:00:00.000000 hb_16.o │ │ │ │ +?rw-r--r-- 0 0 0 1500 1970-01-01 00:00:00.000000 hb_2.o │ │ │ │ +?rw-r--r-- 0 0 0 4408 1970-01-01 00:00:00.000000 hb_20.o │ │ │ │ +?rw-r--r-- 0 0 0 6220 1970-01-01 00:00:00.000000 hb_25.o │ │ │ │ +?rw-r--r-- 0 0 0 1776 1970-01-01 00:00:00.000000 hb_3.o │ │ │ │ +?rw-r--r-- 0 0 0 6180 1970-01-01 00:00:00.000000 hb_32.o │ │ │ │ +?rw-r--r-- 0 0 0 1844 1970-01-01 00:00:00.000000 hb_4.o │ │ │ │ +?rw-r--r-- 0 0 0 2248 1970-01-01 00:00:00.000000 hb_5.o │ │ │ │ +?rw-r--r-- 0 0 0 2376 1970-01-01 00:00:00.000000 hb_6.o │ │ │ │ +?rw-r--r-- 0 0 0 13716 1970-01-01 00:00:00.000000 hb_64.o │ │ │ │ +?rw-r--r-- 0 0 0 2240 1970-01-01 00:00:00.000000 hb_7.o │ │ │ │ +?rw-r--r-- 0 0 0 2096 1970-01-01 00:00:00.000000 hb_8.o │ │ │ │ +?rw-r--r-- 0 0 0 2632 1970-01-01 00:00:00.000000 hb_9.o │ │ │ │ +?rw-r--r-- 0 0 0 3740 1970-01-01 00:00:00.000000 hc2cb2_16.o │ │ │ │ +?rw-r--r-- 0 0 0 4964 1970-01-01 00:00:00.000000 hc2cb2_20.o │ │ │ │ +?rw-r--r-- 0 0 0 7368 1970-01-01 00:00:00.000000 hc2cb2_32.o │ │ │ │ +?rw-r--r-- 0 0 0 1844 1970-01-01 00:00:00.000000 hc2cb2_4.o │ │ │ │ +?rw-r--r-- 0 0 0 2356 1970-01-01 00:00:00.000000 hc2cb2_8.o │ │ │ │ +?rw-r--r-- 0 0 0 2612 1970-01-01 00:00:00.000000 hc2cb_10.o │ │ │ │ +?rw-r--r-- 0 0 0 2712 1970-01-01 00:00:00.000000 hc2cb_12.o │ │ │ │ +?rw-r--r-- 0 0 0 3348 1970-01-01 00:00:00.000000 hc2cb_16.o │ │ │ │ +?rw-r--r-- 0 0 0 1516 1970-01-01 00:00:00.000000 hc2cb_2.o │ │ │ │ +?rw-r--r-- 0 0 0 4364 1970-01-01 00:00:00.000000 hc2cb_20.o │ │ │ │ +?rw-r--r-- 0 0 0 6092 1970-01-01 00:00:00.000000 hc2cb_32.o │ │ │ │ +?rw-r--r-- 0 0 0 1828 1970-01-01 00:00:00.000000 hc2cb_4.o │ │ │ │ +?rw-r--r-- 0 0 0 2540 1970-01-01 00:00:00.000000 hc2cb_6.o │ │ │ │ +?rw-r--r-- 0 0 0 2188 1970-01-01 00:00:00.000000 hc2cb_8.o │ │ │ │ +?rw-r--r-- 0 0 0 3572 1970-01-01 00:00:00.000000 hc2cbdft2_16.o │ │ │ │ +?rw-r--r-- 0 0 0 4552 1970-01-01 00:00:00.000000 hc2cbdft2_20.o │ │ │ │ +?rw-r--r-- 0 0 0 6544 1970-01-01 00:00:00.000000 hc2cbdft2_32.o │ │ │ │ +?rw-r--r-- 0 0 0 1904 1970-01-01 00:00:00.000000 hc2cbdft2_4.o │ │ │ │ +?rw-r--r-- 0 0 0 2324 1970-01-01 00:00:00.000000 hc2cbdft2_8.o │ │ │ │ +?rw-r--r-- 0 0 0 2788 1970-01-01 00:00:00.000000 hc2cbdft_10.o │ │ │ │ +?rw-r--r-- 0 0 0 2952 1970-01-01 00:00:00.000000 hc2cbdft_12.o │ │ │ │ +?rw-r--r-- 0 0 0 3572 1970-01-01 00:00:00.000000 hc2cbdft_16.o │ │ │ │ +?rw-r--r-- 0 0 0 1556 1970-01-01 00:00:00.000000 hc2cbdft_2.o │ │ │ │ +?rw-r--r-- 0 0 0 4552 1970-01-01 00:00:00.000000 hc2cbdft_20.o │ │ │ │ +?rw-r--r-- 0 0 0 6544 1970-01-01 00:00:00.000000 hc2cbdft_32.o │ │ │ │ +?rw-r--r-- 0 0 0 1904 1970-01-01 00:00:00.000000 hc2cbdft_4.o │ │ │ │ +?rw-r--r-- 0 0 0 2724 1970-01-01 00:00:00.000000 hc2cbdft_6.o │ │ │ │ +?rw-r--r-- 0 0 0 2324 1970-01-01 00:00:00.000000 hc2cbdft_8.o │ │ │ │ +?rw-r--r-- 0 0 0 2168 1970-01-01 00:00:00.000000 r2cbIII_10.o │ │ │ │ +?rw-r--r-- 0 0 0 2464 1970-01-01 00:00:00.000000 r2cbIII_12.o │ │ │ │ +?rw-r--r-- 0 0 0 2168 1970-01-01 00:00:00.000000 r2cbIII_15.o │ │ │ │ +?rw-r--r-- 0 0 0 2240 1970-01-01 00:00:00.000000 r2cbIII_16.o │ │ │ │ +?rw-r--r-- 0 0 0 1252 1970-01-01 00:00:00.000000 r2cbIII_2.o │ │ │ │ +?rw-r--r-- 0 0 0 2508 1970-01-01 00:00:00.000000 r2cbIII_20.o │ │ │ │ +?rw-r--r-- 0 0 0 3288 1970-01-01 00:00:00.000000 r2cbIII_25.o │ │ │ │ +?rw-r--r-- 0 0 0 1400 1970-01-01 00:00:00.000000 r2cbIII_3.o │ │ │ │ +?rw-r--r-- 0 0 0 3564 1970-01-01 00:00:00.000000 r2cbIII_32.o │ │ │ │ +?rw-r--r-- 0 0 0 1472 1970-01-01 00:00:00.000000 r2cbIII_4.o │ │ │ │ +?rw-r--r-- 0 0 0 1752 1970-01-01 00:00:00.000000 r2cbIII_5.o │ │ │ │ +?rw-r--r-- 0 0 0 1760 1970-01-01 00:00:00.000000 r2cbIII_6.o │ │ │ │ +?rw-r--r-- 0 0 0 6528 1970-01-01 00:00:00.000000 r2cbIII_64.o │ │ │ │ +?rw-r--r-- 0 0 0 2056 1970-01-01 00:00:00.000000 r2cbIII_7.o │ │ │ │ +?rw-r--r-- 0 0 0 2000 1970-01-01 00:00:00.000000 r2cbIII_8.o │ │ │ │ +?rw-r--r-- 0 0 0 2264 1970-01-01 00:00:00.000000 r2cbIII_9.o │ │ │ │ +?rw-r--r-- 0 0 0 2184 1970-01-01 00:00:00.000000 r2cb_10.o │ │ │ │ +?rw-r--r-- 0 0 0 2952 1970-01-01 00:00:00.000000 r2cb_11.o │ │ │ │ +?rw-r--r-- 0 0 0 2280 1970-01-01 00:00:00.000000 r2cb_12.o │ │ │ │ +?rw-r--r-- 0 0 0 12120 1970-01-01 00:00:00.000000 r2cb_128.o │ │ │ │ +?rw-r--r-- 0 0 0 2280 1970-01-01 00:00:00.000000 r2cb_13.o │ │ │ │ +?rw-r--r-- 0 0 0 2208 1970-01-01 00:00:00.000000 r2cb_14.o │ │ │ │ +?rw-r--r-- 0 0 0 2176 1970-01-01 00:00:00.000000 r2cb_15.o │ │ │ │ +?rw-r--r-- 0 0 0 2080 1970-01-01 00:00:00.000000 r2cb_16.o │ │ │ │ +?rw-r--r-- 0 0 0 1248 1970-01-01 00:00:00.000000 r2cb_2.o │ │ │ │ +?rw-r--r-- 0 0 0 2448 1970-01-01 00:00:00.000000 r2cb_20.o │ │ │ │ +?rw-r--r-- 0 0 0 3312 1970-01-01 00:00:00.000000 r2cb_25.o │ │ │ │ +?rw-r--r-- 0 0 0 1388 1970-01-01 00:00:00.000000 r2cb_3.o │ │ │ │ +?rw-r--r-- 0 0 0 3272 1970-01-01 00:00:00.000000 r2cb_32.o │ │ │ │ +?rw-r--r-- 0 0 0 1380 1970-01-01 00:00:00.000000 r2cb_4.o │ │ │ │ +?rw-r--r-- 0 0 0 1756 1970-01-01 00:00:00.000000 r2cb_5.o │ │ │ │ +?rw-r--r-- 0 0 0 1764 1970-01-01 00:00:00.000000 r2cb_6.o │ │ │ │ +?rw-r--r-- 0 0 0 5960 1970-01-01 00:00:00.000000 r2cb_64.o │ │ │ │ +?rw-r--r-- 0 0 0 2060 1970-01-01 00:00:00.000000 r2cb_7.o │ │ │ │ +?rw-r--r-- 0 0 0 1916 1970-01-01 00:00:00.000000 r2cb_8.o │ │ │ │ +?rw-r--r-- 0 0 0 2300 1970-01-01 00:00:00.000000 r2cb_9.o │ │ │ │ ?rw-r--r-- 0 0 0 964 1970-01-01 00:00:00.000000 lt18-codlist.o │ │ │ │ -?rw-r--r-- 0 0 0 1940 1970-01-01 00:00:00.000000 e01_8.o │ │ │ │ -?rw-r--r-- 0 0 0 1940 1970-01-01 00:00:00.000000 e10_8.o │ │ │ │ +?rw-r--r-- 0 0 0 2004 1970-01-01 00:00:00.000000 e01_8.o │ │ │ │ +?rw-r--r-- 0 0 0 2028 1970-01-01 00:00:00.000000 e10_8.o │ │ │ │ ?rw-r--r-- 0 0 0 1628 1970-01-01 00:00:00.000000 lt19-conf.o │ │ │ │ -?rw-r--r-- 0 0 0 2860 1970-01-01 00:00:00.000000 redft00e-r2hc-pad.o │ │ │ │ -?rw-r--r-- 0 0 0 4972 1970-01-01 00:00:00.000000 reodft00e-splitradix.o │ │ │ │ -?rw-r--r-- 0 0 0 5380 1970-01-01 00:00:00.000000 reodft010e-r2hc.o │ │ │ │ -?rw-r--r-- 0 0 0 6164 1970-01-01 00:00:00.000000 reodft11e-r2hc-odd.o │ │ │ │ -?rw-r--r-- 0 0 0 5472 1970-01-01 00:00:00.000000 reodft11e-radix2.o │ │ │ │ -?rw-r--r-- 0 0 0 2904 1970-01-01 00:00:00.000000 rodft00e-r2hc-pad.o │ │ │ │ -?rw-r--r-- 0 0 0 2480 1970-01-01 00:00:00.000000 apiplan.o │ │ │ │ -?rw-r--r-- 0 0 0 828 1970-01-01 00:00:00.000000 configure.o │ │ │ │ -?rw-r--r-- 0 0 0 652 1970-01-01 00:00:00.000000 execute-dft-c2r.o │ │ │ │ -?rw-r--r-- 0 0 0 648 1970-01-01 00:00:00.000000 execute-dft-r2c.o │ │ │ │ -?rw-r--r-- 0 0 0 660 1970-01-01 00:00:00.000000 execute-dft.o │ │ │ │ +?rw-r--r-- 0 0 0 2972 1970-01-01 00:00:00.000000 redft00e-r2hc-pad.o │ │ │ │ +?rw-r--r-- 0 0 0 5256 1970-01-01 00:00:00.000000 reodft00e-splitradix.o │ │ │ │ +?rw-r--r-- 0 0 0 5796 1970-01-01 00:00:00.000000 reodft010e-r2hc.o │ │ │ │ +?rw-r--r-- 0 0 0 6504 1970-01-01 00:00:00.000000 reodft11e-r2hc-odd.o │ │ │ │ +?rw-r--r-- 0 0 0 5812 1970-01-01 00:00:00.000000 reodft11e-radix2.o │ │ │ │ +?rw-r--r-- 0 0 0 3004 1970-01-01 00:00:00.000000 rodft00e-r2hc-pad.o │ │ │ │ +?rw-r--r-- 0 0 0 2616 1970-01-01 00:00:00.000000 apiplan.o │ │ │ │ +?rw-r--r-- 0 0 0 832 1970-01-01 00:00:00.000000 configure.o │ │ │ │ +?rw-r--r-- 0 0 0 656 1970-01-01 00:00:00.000000 execute-dft-c2r.o │ │ │ │ +?rw-r--r-- 0 0 0 652 1970-01-01 00:00:00.000000 execute-dft-r2c.o │ │ │ │ +?rw-r--r-- 0 0 0 684 1970-01-01 00:00:00.000000 execute-dft.o │ │ │ │ ?rw-r--r-- 0 0 0 620 1970-01-01 00:00:00.000000 execute-r2r.o │ │ │ │ -?rw-r--r-- 0 0 0 656 1970-01-01 00:00:00.000000 execute-split-dft-c2r.o │ │ │ │ -?rw-r--r-- 0 0 0 648 1970-01-01 00:00:00.000000 execute-split-dft-r2c.o │ │ │ │ +?rw-r--r-- 0 0 0 660 1970-01-01 00:00:00.000000 execute-split-dft-c2r.o │ │ │ │ +?rw-r--r-- 0 0 0 668 1970-01-01 00:00:00.000000 execute-split-dft-r2c.o │ │ │ │ ?rw-r--r-- 0 0 0 632 1970-01-01 00:00:00.000000 execute-split-dft.o │ │ │ │ ?rw-r--r-- 0 0 0 620 1970-01-01 00:00:00.000000 execute.o │ │ │ │ -?rw-r--r-- 0 0 0 1148 1970-01-01 00:00:00.000000 export-wisdom-to-file.o │ │ │ │ -?rw-r--r-- 0 0 0 952 1970-01-01 00:00:00.000000 export-wisdom-to-string.o │ │ │ │ -?rw-r--r-- 0 0 0 904 1970-01-01 00:00:00.000000 export-wisdom.o │ │ │ │ -?rw-r--r-- 0 0 0 15668 1970-01-01 00:00:00.000000 f77api.o │ │ │ │ -?rw-r--r-- 0 0 0 932 1970-01-01 00:00:00.000000 flops.o │ │ │ │ -?rw-r--r-- 0 0 0 716 1970-01-01 00:00:00.000000 forget-wisdom.o │ │ │ │ -?rw-r--r-- 0 0 0 996 1970-01-01 00:00:00.000000 import-system-wisdom.o │ │ │ │ -?rw-r--r-- 0 0 0 1292 1970-01-01 00:00:00.000000 import-wisdom-from-file.o │ │ │ │ -?rw-r--r-- 0 0 0 916 1970-01-01 00:00:00.000000 import-wisdom-from-string.o │ │ │ │ -?rw-r--r-- 0 0 0 900 1970-01-01 00:00:00.000000 import-wisdom.o │ │ │ │ +?rw-r--r-- 0 0 0 1168 1970-01-01 00:00:00.000000 export-wisdom-to-file.o │ │ │ │ +?rw-r--r-- 0 0 0 964 1970-01-01 00:00:00.000000 export-wisdom-to-string.o │ │ │ │ +?rw-r--r-- 0 0 0 920 1970-01-01 00:00:00.000000 export-wisdom.o │ │ │ │ +?rw-r--r-- 0 0 0 17196 1970-01-01 00:00:00.000000 f77api.o │ │ │ │ +?rw-r--r-- 0 0 0 960 1970-01-01 00:00:00.000000 flops.o │ │ │ │ +?rw-r--r-- 0 0 0 720 1970-01-01 00:00:00.000000 forget-wisdom.o │ │ │ │ +?rw-r--r-- 0 0 0 1008 1970-01-01 00:00:00.000000 import-system-wisdom.o │ │ │ │ +?rw-r--r-- 0 0 0 1332 1970-01-01 00:00:00.000000 import-wisdom-from-file.o │ │ │ │ +?rw-r--r-- 0 0 0 932 1970-01-01 00:00:00.000000 import-wisdom-from-string.o │ │ │ │ +?rw-r--r-- 0 0 0 912 1970-01-01 00:00:00.000000 import-wisdom.o │ │ │ │ ?rw-r--r-- 0 0 0 868 1970-01-01 00:00:00.000000 malloc.o │ │ │ │ -?rw-r--r-- 0 0 0 936 1970-01-01 00:00:00.000000 map-r2r-kind.o │ │ │ │ -?rw-r--r-- 0 0 0 1564 1970-01-01 00:00:00.000000 mapflags.o │ │ │ │ -?rw-r--r-- 0 0 0 948 1970-01-01 00:00:00.000000 mkprinter-file.o │ │ │ │ -?rw-r--r-- 0 0 0 944 1970-01-01 00:00:00.000000 mkprinter-str.o │ │ │ │ -?rw-r--r-- 0 0 0 944 1970-01-01 00:00:00.000000 mktensor-iodims.o │ │ │ │ -?rw-r--r-- 0 0 0 948 1970-01-01 00:00:00.000000 mktensor-iodims64.o │ │ │ │ -?rw-r--r-- 0 0 0 916 1970-01-01 00:00:00.000000 mktensor-rowmajor.o │ │ │ │ -?rw-r--r-- 0 0 0 724 1970-01-01 00:00:00.000000 plan-dft-1d.o │ │ │ │ -?rw-r--r-- 0 0 0 724 1970-01-01 00:00:00.000000 plan-dft-2d.o │ │ │ │ -?rw-r--r-- 0 0 0 728 1970-01-01 00:00:00.000000 plan-dft-3d.o │ │ │ │ -?rw-r--r-- 0 0 0 728 1970-01-01 00:00:00.000000 plan-dft-c2r-1d.o │ │ │ │ -?rw-r--r-- 0 0 0 728 1970-01-01 00:00:00.000000 plan-dft-c2r-2d.o │ │ │ │ -?rw-r--r-- 0 0 0 732 1970-01-01 00:00:00.000000 plan-dft-c2r-3d.o │ │ │ │ -?rw-r--r-- 0 0 0 744 1970-01-01 00:00:00.000000 plan-dft-c2r.o │ │ │ │ -?rw-r--r-- 0 0 0 728 1970-01-01 00:00:00.000000 plan-dft-r2c-1d.o │ │ │ │ -?rw-r--r-- 0 0 0 728 1970-01-01 00:00:00.000000 plan-dft-r2c-2d.o │ │ │ │ -?rw-r--r-- 0 0 0 732 1970-01-01 00:00:00.000000 plan-dft-r2c-3d.o │ │ │ │ -?rw-r--r-- 0 0 0 744 1970-01-01 00:00:00.000000 plan-dft-r2c.o │ │ │ │ -?rw-r--r-- 0 0 0 740 1970-01-01 00:00:00.000000 plan-dft.o │ │ │ │ -?rw-r--r-- 0 0 0 1004 1970-01-01 00:00:00.000000 plan-guru-dft-c2r.o │ │ │ │ -?rw-r--r-- 0 0 0 984 1970-01-01 00:00:00.000000 plan-guru-dft-r2c.o │ │ │ │ -?rw-r--r-- 0 0 0 996 1970-01-01 00:00:00.000000 plan-guru-dft.o │ │ │ │ -?rw-r--r-- 0 0 0 1024 1970-01-01 00:00:00.000000 plan-guru-r2r.o │ │ │ │ -?rw-r--r-- 0 0 0 960 1970-01-01 00:00:00.000000 plan-guru-split-dft-c2r.o │ │ │ │ -?rw-r--r-- 0 0 0 952 1970-01-01 00:00:00.000000 plan-guru-split-dft-r2c.o │ │ │ │ -?rw-r--r-- 0 0 0 964 1970-01-01 00:00:00.000000 plan-guru-split-dft.o │ │ │ │ -?rw-r--r-- 0 0 0 1012 1970-01-01 00:00:00.000000 plan-guru64-dft-c2r.o │ │ │ │ -?rw-r--r-- 0 0 0 992 1970-01-01 00:00:00.000000 plan-guru64-dft-r2c.o │ │ │ │ -?rw-r--r-- 0 0 0 1004 1970-01-01 00:00:00.000000 plan-guru64-dft.o │ │ │ │ -?rw-r--r-- 0 0 0 1028 1970-01-01 00:00:00.000000 plan-guru64-r2r.o │ │ │ │ -?rw-r--r-- 0 0 0 968 1970-01-01 00:00:00.000000 plan-guru64-split-dft-c2r.o │ │ │ │ -?rw-r--r-- 0 0 0 960 1970-01-01 00:00:00.000000 plan-guru64-split-dft-r2c.o │ │ │ │ -?rw-r--r-- 0 0 0 972 1970-01-01 00:00:00.000000 plan-guru64-split-dft.o │ │ │ │ -?rw-r--r-- 0 0 0 1228 1970-01-01 00:00:00.000000 plan-many-dft-c2r.o │ │ │ │ -?rw-r--r-- 0 0 0 1216 1970-01-01 00:00:00.000000 plan-many-dft-r2c.o │ │ │ │ -?rw-r--r-- 0 0 0 1072 1970-01-01 00:00:00.000000 plan-many-dft.o │ │ │ │ -?rw-r--r-- 0 0 0 1088 1970-01-01 00:00:00.000000 plan-many-r2r.o │ │ │ │ -?rw-r--r-- 0 0 0 728 1970-01-01 00:00:00.000000 plan-r2r-1d.o │ │ │ │ -?rw-r--r-- 0 0 0 732 1970-01-01 00:00:00.000000 plan-r2r-2d.o │ │ │ │ -?rw-r--r-- 0 0 0 740 1970-01-01 00:00:00.000000 plan-r2r-3d.o │ │ │ │ -?rw-r--r-- 0 0 0 740 1970-01-01 00:00:00.000000 plan-r2r.o │ │ │ │ -?rw-r--r-- 0 0 0 1172 1970-01-01 00:00:00.000000 print-plan.o │ │ │ │ -?rw-r--r-- 0 0 0 816 1970-01-01 00:00:00.000000 rdft2-pad.o │ │ │ │ -?rw-r--r-- 0 0 0 1072 1970-01-01 00:00:00.000000 the-planner.o │ │ │ │ +?rw-r--r-- 0 0 0 964 1970-01-01 00:00:00.000000 map-r2r-kind.o │ │ │ │ +?rw-r--r-- 0 0 0 1588 1970-01-01 00:00:00.000000 mapflags.o │ │ │ │ +?rw-r--r-- 0 0 0 980 1970-01-01 00:00:00.000000 mkprinter-file.o │ │ │ │ +?rw-r--r-- 0 0 0 964 1970-01-01 00:00:00.000000 mkprinter-str.o │ │ │ │ +?rw-r--r-- 0 0 0 992 1970-01-01 00:00:00.000000 mktensor-iodims.o │ │ │ │ +?rw-r--r-- 0 0 0 996 1970-01-01 00:00:00.000000 mktensor-iodims64.o │ │ │ │ +?rw-r--r-- 0 0 0 956 1970-01-01 00:00:00.000000 mktensor-rowmajor.o │ │ │ │ +?rw-r--r-- 0 0 0 728 1970-01-01 00:00:00.000000 plan-dft-1d.o │ │ │ │ +?rw-r--r-- 0 0 0 728 1970-01-01 00:00:00.000000 plan-dft-2d.o │ │ │ │ +?rw-r--r-- 0 0 0 732 1970-01-01 00:00:00.000000 plan-dft-3d.o │ │ │ │ +?rw-r--r-- 0 0 0 732 1970-01-01 00:00:00.000000 plan-dft-c2r-1d.o │ │ │ │ +?rw-r--r-- 0 0 0 732 1970-01-01 00:00:00.000000 plan-dft-c2r-2d.o │ │ │ │ +?rw-r--r-- 0 0 0 736 1970-01-01 00:00:00.000000 plan-dft-c2r-3d.o │ │ │ │ +?rw-r--r-- 0 0 0 748 1970-01-01 00:00:00.000000 plan-dft-c2r.o │ │ │ │ +?rw-r--r-- 0 0 0 732 1970-01-01 00:00:00.000000 plan-dft-r2c-1d.o │ │ │ │ +?rw-r--r-- 0 0 0 732 1970-01-01 00:00:00.000000 plan-dft-r2c-2d.o │ │ │ │ +?rw-r--r-- 0 0 0 736 1970-01-01 00:00:00.000000 plan-dft-r2c-3d.o │ │ │ │ +?rw-r--r-- 0 0 0 748 1970-01-01 00:00:00.000000 plan-dft-r2c.o │ │ │ │ +?rw-r--r-- 0 0 0 744 1970-01-01 00:00:00.000000 plan-dft.o │ │ │ │ +?rw-r--r-- 0 0 0 1040 1970-01-01 00:00:00.000000 plan-guru-dft-c2r.o │ │ │ │ +?rw-r--r-- 0 0 0 1016 1970-01-01 00:00:00.000000 plan-guru-dft-r2c.o │ │ │ │ +?rw-r--r-- 0 0 0 1016 1970-01-01 00:00:00.000000 plan-guru-dft.o │ │ │ │ +?rw-r--r-- 0 0 0 1044 1970-01-01 00:00:00.000000 plan-guru-r2r.o │ │ │ │ +?rw-r--r-- 0 0 0 1020 1970-01-01 00:00:00.000000 plan-guru-split-dft-c2r.o │ │ │ │ +?rw-r--r-- 0 0 0 1008 1970-01-01 00:00:00.000000 plan-guru-split-dft-r2c.o │ │ │ │ +?rw-r--r-- 0 0 0 1024 1970-01-01 00:00:00.000000 plan-guru-split-dft.o │ │ │ │ +?rw-r--r-- 0 0 0 1048 1970-01-01 00:00:00.000000 plan-guru64-dft-c2r.o │ │ │ │ +?rw-r--r-- 0 0 0 1024 1970-01-01 00:00:00.000000 plan-guru64-dft-r2c.o │ │ │ │ +?rw-r--r-- 0 0 0 1024 1970-01-01 00:00:00.000000 plan-guru64-dft.o │ │ │ │ +?rw-r--r-- 0 0 0 1048 1970-01-01 00:00:00.000000 plan-guru64-r2r.o │ │ │ │ +?rw-r--r-- 0 0 0 1028 1970-01-01 00:00:00.000000 plan-guru64-split-dft-c2r.o │ │ │ │ +?rw-r--r-- 0 0 0 1016 1970-01-01 00:00:00.000000 plan-guru64-split-dft-r2c.o │ │ │ │ +?rw-r--r-- 0 0 0 1032 1970-01-01 00:00:00.000000 plan-guru64-split-dft.o │ │ │ │ +?rw-r--r-- 0 0 0 1264 1970-01-01 00:00:00.000000 plan-many-dft-c2r.o │ │ │ │ +?rw-r--r-- 0 0 0 1236 1970-01-01 00:00:00.000000 plan-many-dft-r2c.o │ │ │ │ +?rw-r--r-- 0 0 0 1104 1970-01-01 00:00:00.000000 plan-many-dft.o │ │ │ │ +?rw-r--r-- 0 0 0 1112 1970-01-01 00:00:00.000000 plan-many-r2r.o │ │ │ │ +?rw-r--r-- 0 0 0 732 1970-01-01 00:00:00.000000 plan-r2r-1d.o │ │ │ │ +?rw-r--r-- 0 0 0 736 1970-01-01 00:00:00.000000 plan-r2r-2d.o │ │ │ │ +?rw-r--r-- 0 0 0 744 1970-01-01 00:00:00.000000 plan-r2r-3d.o │ │ │ │ +?rw-r--r-- 0 0 0 744 1970-01-01 00:00:00.000000 plan-r2r.o │ │ │ │ +?rw-r--r-- 0 0 0 1196 1970-01-01 00:00:00.000000 print-plan.o │ │ │ │ +?rw-r--r-- 0 0 0 852 1970-01-01 00:00:00.000000 rdft2-pad.o │ │ │ │ +?rw-r--r-- 0 0 0 1080 1970-01-01 00:00:00.000000 the-planner.o │ │ │ │ ?rw-r--r-- 0 0 0 808 1970-01-01 00:00:00.000000 version.o │ │ │ │ ?rw-r--r-- 0 0 0 444 1970-01-01 00:00:00.000000 altivec.o │ │ │ │ ?rw-r--r-- 0 0 0 444 1970-01-01 00:00:00.000000 avx-128-fma.o │ │ │ │ ?rw-r--r-- 0 0 0 444 1970-01-01 00:00:00.000000 avx.o │ │ │ │ ?rw-r--r-- 0 0 0 444 1970-01-01 00:00:00.000000 avx2.o │ │ │ │ ?rw-r--r-- 0 0 0 444 1970-01-01 00:00:00.000000 avx512.o │ │ │ │ ?rw-r--r-- 0 0 0 444 1970-01-01 00:00:00.000000 kcvi.o │ │ │ ├── align.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 256 (bytes into file) │ │ │ │ │ + Start of section headers: 260 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 9 │ │ │ │ │ Section header string table index: 8 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,18 +1,18 @@ │ │ │ │ │ -There are 9 section headers, starting at offset 0x100: │ │ │ │ │ +There are 9 section headers, starting at offset 0x104: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000004 00 AX 0 0 4 │ │ │ │ │ - [ 2] .data PROGBITS 00000000 000038 000000 00 WA 0 0 1 │ │ │ │ │ - [ 3] .bss NOBITS 00000000 000038 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .note.GNU-stack PROGBITS 00000000 000038 000000 00 0 0 1 │ │ │ │ │ - [ 5] .ARM.attributes ARM_ATTRIBUTES 00000000 000038 000033 00 0 0 1 │ │ │ │ │ - [ 6] .symtab SYMTAB 00000000 00006c 000030 10 7 2 4 │ │ │ │ │ - [ 7] .strtab STRTAB 00000000 00009c 000017 00 0 0 1 │ │ │ │ │ - [ 8] .shstrtab STRTAB 00000000 0000b3 00004c 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000008 00 AX 0 0 4 │ │ │ │ │ + [ 2] .data PROGBITS 00000000 00003c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 3] .bss NOBITS 00000000 00003c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .note.GNU-stack PROGBITS 00000000 00003c 000000 00 0 0 1 │ │ │ │ │ + [ 5] .ARM.attributes ARM_ATTRIBUTES 00000000 00003c 000033 00 0 0 1 │ │ │ │ │ + [ 6] .symtab SYMTAB 00000000 000070 000030 10 7 2 4 │ │ │ │ │ + [ 7] .strtab STRTAB 00000000 0000a0 000017 00 0 0 1 │ │ │ │ │ + [ 8] .shstrtab STRTAB 00000000 0000b7 00004c 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,6 +1,6 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 3 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 4 FUNC GLOBAL DEFAULT 1 fftw_ialignment_of │ │ │ │ │ + 2: 00000001 6 FUNC GLOBAL DEFAULT 1 fftw_ialignment_of │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,9 +1,10 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_ialignment_of(): │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bx lr │ │ │ │ │ + nop │ │ │ ├── alloc.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 644 (bytes into file) │ │ │ │ │ + Start of section headers: 648 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 11 │ │ │ │ │ Section header string table index: 10 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,20 +1,20 @@ │ │ │ │ │ -There are 11 section headers, starting at offset 0x284: │ │ │ │ │ +There are 11 section headers, starting at offset 0x288: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00003c 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0001f4 000030 08 I 8 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000070 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000070 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000070 00000a 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .note.GNU-stack PROGBITS 00000000 00007a 000000 00 0 0 1 │ │ │ │ │ - [ 7] .ARM.attributes ARM_ATTRIBUTES 00000000 00007a 000033 00 0 0 1 │ │ │ │ │ - [ 8] .symtab SYMTAB 00000000 0000b0 0000d0 10 9 7 4 │ │ │ │ │ - [ 9] .strtab STRTAB 00000000 000180 000074 00 0 0 1 │ │ │ │ │ - [10] .shstrtab STRTAB 00000000 000224 00005f 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000040 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0001f8 000030 08 I 8 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000074 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000074 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000074 00000a 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .note.GNU-stack PROGBITS 00000000 00007e 000000 00 0 0 1 │ │ │ │ │ + [ 7] .ARM.attributes ARM_ATTRIBUTES 00000000 00007e 000033 00 0 0 1 │ │ │ │ │ + [ 8] .symtab SYMTAB 00000000 0000b4 0000d0 10 9 7 4 │ │ │ │ │ + [ 9] .strtab STRTAB 00000000 000184 000074 00 0 0 1 │ │ │ │ │ + [10] .shstrtab STRTAB 00000000 000228 00005f 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -2,15 +2,15 @@ │ │ │ │ │ Symbol table '.symtab' contains 13 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ 3: 00000008 0 NOTYPE LOCAL DEFAULT 5 .LC1 │ │ │ │ │ 4: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000028 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000030 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00000001 48 FUNC GLOBAL DEFAULT 1 fftw_malloc_plain │ │ │ │ │ + 5: 0000002c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000034 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00000001 52 FUNC GLOBAL DEFAULT 1 fftw_malloc_plain │ │ │ │ │ 8: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kernel_malloc │ │ │ │ │ 9: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_assertion_failed │ │ │ │ │ - 10: 00000031 4 FUNC GLOBAL DEFAULT 1 fftw_ifree │ │ │ │ │ + 10: 00000035 4 FUNC GLOBAL DEFAULT 1 fftw_ifree │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kernel_free │ │ │ │ │ - 12: 00000035 8 FUNC GLOBAL DEFAULT 1 fftw_ifree0 │ │ │ │ │ + 12: 00000039 8 FUNC GLOBAL DEFAULT 1 fftw_ifree0 │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,9 +1,9 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x1f4 contains 6 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x1f8 contains 6 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000008 0000080a R_ARM_THM_CALL 00000000 fftw_kernel_malloc │ │ │ │ │ -0000001e 0000090a R_ARM_THM_CALL 00000000 fftw_assertion_failed │ │ │ │ │ -00000028 00000203 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -0000002c 00000303 R_ARM_REL32 00000008 .LC1 │ │ │ │ │ -00000030 00000b1e R_ARM_THM_JUMP24 00000000 fftw_kernel_free │ │ │ │ │ -00000036 00000a1e R_ARM_THM_JUMP24 00000031 fftw_ifree │ │ │ │ │ +0000000a 0000080a R_ARM_THM_CALL 00000000 fftw_kernel_malloc │ │ │ │ │ +00000022 0000090a R_ARM_THM_CALL 00000000 fftw_assertion_failed │ │ │ │ │ +0000002c 00000203 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +00000030 00000303 R_ARM_REL32 00000008 .LC1 │ │ │ │ │ +00000034 00000b1e R_ARM_THM_JUMP24 00000000 fftw_kernel_free │ │ │ │ │ +0000003a 00000a1e R_ARM_THM_JUMP24 00000035 fftw_ifree │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -2,42 +2,42 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_malloc_plain(): │ │ │ │ │ cmp r0, #1 │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ it cc │ │ │ │ │ movcc r0, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_kernel_malloc │ │ │ │ │ mov r4, r0 │ │ │ │ │ - cbz r0, 14 │ │ │ │ │ + cbz r0, 16 │ │ │ │ │ mov r0, r4 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - ldr r2, [pc, #16] @ (28 ) │ │ │ │ │ - movs r1, #29 │ │ │ │ │ - ldr r0, [pc, #16] @ (2c ) │ │ │ │ │ + ldr r2, [pc, #20] @ (2c ) │ │ │ │ │ + mov.w r1, #29 │ │ │ │ │ + ldr r0, [pc, #16] @ (30 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r0, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_assertion_failed │ │ │ │ │ mov r0, r4 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ nop │ │ │ │ │ .word 0x0000000a │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ .word 0x0000000c │ │ │ │ │ R_ARM_REL32 .LC1 │ │ │ │ │ │ │ │ │ │ -00000030 : │ │ │ │ │ +00000034 : │ │ │ │ │ fftw_ifree(): │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kernel_free │ │ │ │ │ │ │ │ │ │ -00000034 : │ │ │ │ │ +00000038 : │ │ │ │ │ fftw_ifree0(): │ │ │ │ │ - cbz r0, 3a │ │ │ │ │ - b.w 30 │ │ │ │ │ + cbz r0, 3e │ │ │ │ │ + b.w 34 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_ifree │ │ │ │ │ bx lr │ │ │ ├── assert.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 652 (bytes into file) │ │ │ │ │ + Start of section headers: 664 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 11 │ │ │ │ │ Section header string table index: 10 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,20 +1,20 @@ │ │ │ │ │ -There are 11 section headers, starting at offset 0x28c: │ │ │ │ │ +There are 11 section headers, starting at offset 0x298: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000044 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0001f4 000038 08 I 8 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000078 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000078 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000078 000023 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .note.GNU-stack PROGBITS 00000000 00009b 000000 00 0 0 1 │ │ │ │ │ - [ 7] .ARM.attributes ARM_ATTRIBUTES 00000000 00009b 000033 00 0 0 1 │ │ │ │ │ - [ 8] .symtab SYMTAB 00000000 0000d0 0000c0 10 9 5 4 │ │ │ │ │ - [ 9] .strtab STRTAB 00000000 000190 000061 00 0 0 1 │ │ │ │ │ - [10] .shstrtab STRTAB 00000000 00022c 00005f 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000050 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000200 000038 08 I 8 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000084 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000084 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000084 000023 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .note.GNU-stack PROGBITS 00000000 0000a7 000000 00 0 0 1 │ │ │ │ │ + [ 7] .ARM.attributes ARM_ATTRIBUTES 00000000 0000a7 000033 00 0 0 1 │ │ │ │ │ + [ 8] .symtab SYMTAB 00000000 0000dc 0000c0 10 9 5 4 │ │ │ │ │ + [ 9] .strtab STRTAB 00000000 00019c 000061 00 0 0 1 │ │ │ │ │ + [10] .shstrtab STRTAB 00000000 000238 00005f 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,15 +1,15 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 12 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ 3: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 4: 00000034 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 5: 00000001 68 FUNC GLOBAL DEFAULT 1 fftw_assertion_failed │ │ │ │ │ + 4: 00000040 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 5: 00000001 80 FUNC GLOBAL DEFAULT 1 fftw_assertion_failed │ │ │ │ │ 6: 00000000 0 NOTYPE GLOBAL DEFAULT UND fflush │ │ │ │ │ 7: 00000000 0 NOTYPE GLOBAL DEFAULT UND __fprintf_chk │ │ │ │ │ 8: 00000000 0 NOTYPE GLOBAL DEFAULT UND abort │ │ │ │ │ - 9: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ - 10: 00000000 0 NOTYPE GLOBAL DEFAULT UND stdout │ │ │ │ │ + 9: 00000000 0 NOTYPE GLOBAL DEFAULT UND stdout │ │ │ │ │ + 10: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND stderr │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,10 +1,10 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x1f4 contains 7 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x200 contains 7 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000014 0000060a R_ARM_THM_CALL 00000000 fflush │ │ │ │ │ -0000002a 0000070a R_ARM_THM_CALL 00000000 __fprintf_chk │ │ │ │ │ -0000002e 0000080a R_ARM_THM_CALL 00000000 abort │ │ │ │ │ -00000034 00000919 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000038 00000a1a R_ARM_GOT_BREL 00000000 stdout │ │ │ │ │ -0000003c 00000b1a R_ARM_GOT_BREL 00000000 stderr │ │ │ │ │ -00000040 00000203 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +0000001e 0000060a R_ARM_THM_CALL 00000000 fflush │ │ │ │ │ +00000036 0000070a R_ARM_THM_CALL 00000000 __fprintf_chk │ │ │ │ │ +0000003a 0000080a R_ARM_THM_CALL 00000000 abort │ │ │ │ │ +00000040 0000091a R_ARM_GOT_BREL 00000000 stdout │ │ │ │ │ +00000044 00000a19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000048 00000b1a R_ARM_GOT_BREL 00000000 stderr │ │ │ │ │ +0000004c 00000203 R_ARM_REL32 00000000 .LC0 │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,39 +1,42 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_assertion_failed(): │ │ │ │ │ - push {r4, r5, r6, r7, lr} │ │ │ │ │ - mov r6, r0 │ │ │ │ │ - ldr r7, [pc, #44] @ (34 ) │ │ │ │ │ - ldr r3, [pc, #48] @ (38 ) │ │ │ │ │ + str.w r4, [sp, #-20]! │ │ │ │ │ + mov r4, r2 │ │ │ │ │ + ldr r3, [pc, #56] @ (40 ) │ │ │ │ │ + strd r7, lr, [sp, #12] │ │ │ │ │ + ldr r7, [pc, #52] @ (44 ) │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ sub sp, #12 │ │ │ │ │ - add r7, pc │ │ │ │ │ + mov r6, r0 │ │ │ │ │ mov r5, r1 │ │ │ │ │ - mov r4, r2 │ │ │ │ │ + add r7, pc │ │ │ │ │ ldr r3, [r7, r3] │ │ │ │ │ ldr r0, [r3, #0] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fflush │ │ │ │ │ - ldr r3, [pc, #32] @ (3c ) │ │ │ │ │ - ldr r2, [pc, #36] @ (40 ) │ │ │ │ │ - movs r1, #1 │ │ │ │ │ - add r2, pc │ │ │ │ │ + ldr r3, [pc, #36] @ (48 ) │ │ │ │ │ + mov.w r1, #1 │ │ │ │ │ + ldr r2, [pc, #32] @ (4c ) │ │ │ │ │ ldr r3, [r7, r3] │ │ │ │ │ + add r2, pc │ │ │ │ │ ldr r0, [r3, #0] │ │ │ │ │ mov r3, r4 │ │ │ │ │ strd r5, r6, [sp] │ │ │ │ │ bl 0 <__fprintf_chk> │ │ │ │ │ R_ARM_THM_CALL __fprintf_chk │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL abort │ │ │ │ │ nop │ │ │ │ │ - .word 0x00000026 │ │ │ │ │ - R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ - ... │ │ │ │ │ + .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 stdout │ │ │ │ │ + .word 0x00000028 │ │ │ │ │ + R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ + .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 stderr │ │ │ │ │ - .word 0x0000001e │ │ │ │ │ + .word 0x0000001c │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ ├── readelf --wide --decompress --hex-dump=.strtab {} │ │ │ │ │ @@ -1,10 +1,10 @@ │ │ │ │ │ │ │ │ │ │ Hex dump of section '.strtab': │ │ │ │ │ 0x00000000 00246400 2e4c4330 00247400 66667477 .$d..LC0.$t.fftw │ │ │ │ │ 0x00000010 5f617373 65727469 6f6e5f66 61696c65 _assertion_faile │ │ │ │ │ 0x00000020 64006666 6c757368 005f5f66 7072696e d.fflush.__fprin │ │ │ │ │ - 0x00000030 74665f63 686b0061 626f7274 005f474c tf_chk.abort._GL │ │ │ │ │ - 0x00000040 4f42414c 5f4f4646 5345545f 5441424c OBAL_OFFSET_TABL │ │ │ │ │ - 0x00000050 455f0073 74646f75 74007374 64657272 E_.stdout.stderr │ │ │ │ │ + 0x00000030 74665f63 686b0061 626f7274 00737464 tf_chk.abort.std │ │ │ │ │ + 0x00000040 6f757400 5f474c4f 42414c5f 4f464653 out._GLOBAL_OFFS │ │ │ │ │ + 0x00000050 45545f54 41424c45 5f007374 64657272 ET_TABLE_.stderr │ │ │ │ │ 0x00000060 00 . │ │ │ ├── buffered.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 764 (bytes into file) │ │ │ │ │ + Start of section headers: 836 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 10 │ │ │ │ │ Section header string table index: 9 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ -There are 10 section headers, starting at offset 0x2fc: │ │ │ │ │ +There are 10 section headers, starting at offset 0x344: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0000d4 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000264 000048 08 I 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000108 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000108 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .note.GNU-stack PROGBITS 00000000 000108 000000 00 0 0 1 │ │ │ │ │ - [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000108 000033 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 00013c 0000b0 10 8 2 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 0001ec 000078 00 0 0 1 │ │ │ │ │ - [ 9] .shstrtab STRTAB 00000000 0002ac 000050 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00011c 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0002ac 000048 08 I 7 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000150 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000150 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .note.GNU-stack PROGBITS 00000000 000150 000000 00 0 0 1 │ │ │ │ │ + [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000150 000033 00 0 0 1 │ │ │ │ │ + [ 7] .symtab SYMTAB 00000000 000184 0000b0 10 8 2 4 │ │ │ │ │ + [ 8] .strtab STRTAB 00000000 000234 000078 00 0 0 1 │ │ │ │ │ + [ 9] .shstrtab STRTAB 00000000 0002f4 000050 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 11 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 100 FUNC GLOBAL DEFAULT 1 fftw_nbuf │ │ │ │ │ + 2: 00000001 130 FUNC GLOBAL DEFAULT 1 fftw_nbuf │ │ │ │ │ 3: 00000000 0 NOTYPE GLOBAL DEFAULT UND __aeabi_idiv │ │ │ │ │ 4: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_imax │ │ │ │ │ 5: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_imin │ │ │ │ │ 6: 00000000 0 NOTYPE GLOBAL DEFAULT UND __aeabi_idivmod │ │ │ │ │ - 7: 00000065 24 FUNC GLOBAL DEFAULT 1 fftw_bufdist │ │ │ │ │ + 7: 00000085 28 FUNC GLOBAL DEFAULT 1 fftw_bufdist │ │ │ │ │ 8: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_modulo │ │ │ │ │ - 9: 0000007d 12 FUNC GLOBAL DEFAULT 1 fftw_toobig │ │ │ │ │ - 10: 00000089 74 FUNC GLOBAL DEFAULT 1 fftw_nbuf_redundant │ │ │ │ │ + 9: 000000a1 12 FUNC GLOBAL DEFAULT 1 fftw_toobig │ │ │ │ │ + 10: 000000ad 110 FUNC GLOBAL DEFAULT 1 fftw_nbuf_redundant │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x264 contains 9 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x2ac contains 9 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000012 0000030a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -0000001a 0000040a R_ARM_THM_CALL 00000000 fftw_imax │ │ │ │ │ -00000022 0000050a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ -0000002a 0000050a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ -0000003e 0000040a R_ARM_THM_CALL 00000000 fftw_imax │ │ │ │ │ -00000056 0000060a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -00000072 0000080a R_ARM_THM_CALL 00000000 fftw_modulo │ │ │ │ │ -000000ac 0000020a R_ARM_THM_CALL 00000001 fftw_nbuf │ │ │ │ │ -000000ba 0000020a R_ARM_THM_CALL 00000001 fftw_nbuf │ │ │ │ │ +0000001c 0000030a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +00000026 0000040a R_ARM_THM_CALL 00000000 fftw_imax │ │ │ │ │ +0000002e 0000050a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ +00000036 0000050a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ +00000050 0000040a R_ARM_THM_CALL 00000000 fftw_imax │ │ │ │ │ +0000006a 0000060a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +00000096 0000080a R_ARM_THM_CALL 00000000 fftw_modulo │ │ │ │ │ +000000e2 0000020a R_ARM_THM_CALL 00000001 fftw_nbuf │ │ │ │ │ +000000f0 0000020a R_ARM_THM_CALL 00000001 fftw_nbuf │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,111 +1,124 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_nbuf(): │ │ │ │ │ - push {r3, r4, r5, r6, r7, lr} │ │ │ │ │ + strd r3, r4, [sp, #-24]! │ │ │ │ │ subs r4, r2, #0 │ │ │ │ │ + strd r5, r6, [sp, #8] │ │ │ │ │ mov r5, r1 │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov.w r0, #32768 @ 0x8000 │ │ │ │ │ it eq │ │ │ │ │ moveq.w r4, #256 @ 0x100 │ │ │ │ │ + strd r7, lr, [sp, #16] │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ mov r1, r0 │ │ │ │ │ - movs r0, #1 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_imax │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_imin │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_imin │ │ │ │ │ - adds r1, r0, #3 │ │ │ │ │ + add.w r1, r0, #3 │ │ │ │ │ + mov r7, r0 │ │ │ │ │ ands.w r1, r1, r0, asr #32 │ │ │ │ │ it cc │ │ │ │ │ movcc r1, r0 │ │ │ │ │ - mov r7, r0 │ │ │ │ │ - movs r0, #1 │ │ │ │ │ - asrs r1, r1, #2 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ + mov.w r1, r1, asr #2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_imax │ │ │ │ │ cmp r7, r0 │ │ │ │ │ - blt.n 60 │ │ │ │ │ + blt.n 74 │ │ │ │ │ mov r6, r0 │ │ │ │ │ mov r4, r7 │ │ │ │ │ - b.n 52 │ │ │ │ │ - subs r4, #1 │ │ │ │ │ + b.n 66 │ │ │ │ │ + add.w r4, r4, #4294967295 @ 0xffffffff │ │ │ │ │ cmp r6, r4 │ │ │ │ │ - bgt.n 60 │ │ │ │ │ + bgt.n 74 │ │ │ │ │ mov r1, r4 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - bne.n 4c │ │ │ │ │ + bne.n 5e │ │ │ │ │ mov r7, r4 │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ mov r0, r7 │ │ │ │ │ - pop {r3, r4, r5, r6, r7, pc} │ │ │ │ │ + ldrd r5, r6, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + pop {r7, pc} │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000064 : │ │ │ │ │ +00000084 : │ │ │ │ │ fftw_bufdist(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ cmp r1, #1 │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - beq.n 78 │ │ │ │ │ - movs r1, #8 │ │ │ │ │ + beq.n 9c │ │ │ │ │ + mov.w r1, #8 │ │ │ │ │ rsb r0, r0, #6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_modulo │ │ │ │ │ add r4, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ │ │ │ │ │ -0000007c : │ │ │ │ │ +000000a0 : │ │ │ │ │ fftw_toobig(): │ │ │ │ │ cmp.w r0, #32768 @ 0x8000 │ │ │ │ │ ite le │ │ │ │ │ movle r0, #0 │ │ │ │ │ movgt r0, #1 │ │ │ │ │ bx lr │ │ │ │ │ │ │ │ │ │ -00000088 : │ │ │ │ │ +000000ac : │ │ │ │ │ fftw_nbuf_redundant(): │ │ │ │ │ - cbz r2, ce │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ + cbz r2, 114 │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ + mov.w r5, #0 │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ mov r7, r0 │ │ │ │ │ + sub.w r6, r3, #4 │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ mov r8, r1 │ │ │ │ │ mov r9, r2 │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ add.w sl, r3, r2, lsl #2 │ │ │ │ │ - subs r6, r3, #4 │ │ │ │ │ - movs r5, #0 │ │ │ │ │ - b.n a4 │ │ │ │ │ - adds r5, #1 │ │ │ │ │ + b.n da │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ cmp r9, r5 │ │ │ │ │ - beq.n c8 │ │ │ │ │ + beq.n 10e │ │ │ │ │ ldr.w r2, [r6, #4]! │ │ │ │ │ mov r1, r8 │ │ │ │ │ mov r0, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_nbuf │ │ │ │ │ ldr.w r2, [sl] │ │ │ │ │ mov r4, r0 │ │ │ │ │ mov r1, r8 │ │ │ │ │ mov r0, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_nbuf │ │ │ │ │ cmp r4, r0 │ │ │ │ │ - bne.n 9e │ │ │ │ │ - movs r0, #1 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + bne.n d2 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {sl, pc} │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + b.n fc │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bx lr │ │ │ │ │ nop │ │ │ ├── cpy1d.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 520 (bytes into file) │ │ │ │ │ + Start of section headers: 556 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 9 │ │ │ │ │ Section header string table index: 8 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,18 +1,18 @@ │ │ │ │ │ -There are 9 section headers, starting at offset 0x208: │ │ │ │ │ +There are 9 section headers, starting at offset 0x22c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000114 00 AX 0 0 4 │ │ │ │ │ - [ 2] .data PROGBITS 00000000 000148 000000 00 WA 0 0 1 │ │ │ │ │ - [ 3] .bss NOBITS 00000000 000148 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .note.GNU-stack PROGBITS 00000000 000148 000000 00 0 0 1 │ │ │ │ │ - [ 5] .ARM.attributes ARM_ATTRIBUTES 00000000 000148 000033 00 0 0 1 │ │ │ │ │ - [ 6] .symtab SYMTAB 00000000 00017c 000030 10 7 2 4 │ │ │ │ │ - [ 7] .strtab STRTAB 00000000 0001ac 00000f 00 0 0 1 │ │ │ │ │ - [ 8] .shstrtab STRTAB 00000000 0001bb 00004c 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000138 00 AX 0 0 4 │ │ │ │ │ + [ 2] .data PROGBITS 00000000 00016c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 3] .bss NOBITS 00000000 00016c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .note.GNU-stack PROGBITS 00000000 00016c 000000 00 0 0 1 │ │ │ │ │ + [ 5] .ARM.attributes ARM_ATTRIBUTES 00000000 00016c 000033 00 0 0 1 │ │ │ │ │ + [ 6] .symtab SYMTAB 00000000 0001a0 000030 10 7 2 4 │ │ │ │ │ + [ 7] .strtab STRTAB 00000000 0001d0 00000f 00 0 0 1 │ │ │ │ │ + [ 8] .shstrtab STRTAB 00000000 0001df 00004c 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,6 +1,6 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 3 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 276 FUNC GLOBAL DEFAULT 1 fftw_cpy1d │ │ │ │ │ + 2: 00000001 312 FUNC GLOBAL DEFAULT 1 fftw_cpy1d │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,113 +1,120 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_cpy1d(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ + str.w r4, [sp, #-28]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ ldrd r5, r4, [sp, #28] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, lr, [sp, #20] │ │ │ │ │ cmp r4, #2 │ │ │ │ │ - beq.n 4e │ │ │ │ │ + beq.n 6c │ │ │ │ │ cmp r4, #4 │ │ │ │ │ - beq.n 64 │ │ │ │ │ + beq.n 86 │ │ │ │ │ cmp r4, #1 │ │ │ │ │ - beq.n d2 │ │ │ │ │ + beq.n f4 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.n 4a │ │ │ │ │ + ble.n 5a │ │ │ │ │ cmp r4, #0 │ │ │ │ │ - ble.n 4a │ │ │ │ │ - movs r6, #0 │ │ │ │ │ + ble.n 5a │ │ │ │ │ + mov.w r6, #0 │ │ │ │ │ mov.w r8, r3, lsl #3 │ │ │ │ │ add.w r4, r0, r4, lsl #3 │ │ │ │ │ mov r9, r6 │ │ │ │ │ mov r7, r6 │ │ │ │ │ add.w ip, r0, r9, lsl #3 │ │ │ │ │ add.w lr, r1, r6, lsl #3 │ │ │ │ │ vldmia ip!, {d7} │ │ │ │ │ cmp ip, r4 │ │ │ │ │ vstmia lr!, {d7} │ │ │ │ │ - bne.n 32 │ │ │ │ │ - adds r7, #1 │ │ │ │ │ + bne.n 40 │ │ │ │ │ + add.w r7, r7, #1 │ │ │ │ │ add r9, r3 │ │ │ │ │ + cmp r2, r7 │ │ │ │ │ add r6, r5 │ │ │ │ │ add r4, r8 │ │ │ │ │ - cmp r2, r7 │ │ │ │ │ - bne.n 2a │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} │ │ │ │ │ + bne.n 38 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ lsls r4, r2, #31 │ │ │ │ │ - bmi.n aa │ │ │ │ │ + bmi.n ce │ │ │ │ │ cmp r5, #2 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r3, #2 │ │ │ │ │ - bne.n aa │ │ │ │ │ + bne.n ce │ │ │ │ │ add.w r2, r2, r2, lsr #31 │ │ │ │ │ - movs r5, #4 │ │ │ │ │ + mov.w r5, #4 │ │ │ │ │ mov r3, r5 │ │ │ │ │ - asrs r2, r2, #1 │ │ │ │ │ + mov.w r2, r2, asr #1 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ itt gt │ │ │ │ │ lslgt r3, r3, #3 │ │ │ │ │ movgt.w ip, r5, lsl #3 │ │ │ │ │ - ble.n 4a │ │ │ │ │ + ble.n 5a │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ subs r2, #1 │ │ │ │ │ ldrd r8, r9, [r0, #8] │ │ │ │ │ ldrd r6, r7, [r0, #16] │ │ │ │ │ ldrd r4, r5, [r0, #24] │ │ │ │ │ - strd r4, r5, [r1, #24] │ │ │ │ │ - strd r8, r9, [r1, #8] │ │ │ │ │ add r0, r3 │ │ │ │ │ - strd r6, r7, [r1, #16] │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ + strd r8, r9, [r1, #8] │ │ │ │ │ + strd r6, r7, [r1, #16] │ │ │ │ │ + strd r4, r5, [r1, #24] │ │ │ │ │ add r1, ip │ │ │ │ │ - bne.n 70 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} │ │ │ │ │ + bne.n 92 │ │ │ │ │ + b.n 5a │ │ │ │ │ add.w r3, r2, r2, lsr #31 │ │ │ │ │ - asrs r2, r3, #1 │ │ │ │ │ lsls r5, r3, #30 │ │ │ │ │ - bpl.n 5a │ │ │ │ │ - movs r5, #2 │ │ │ │ │ + mov.w r2, r3, asr #1 │ │ │ │ │ + bpl.n 78 │ │ │ │ │ + mov.w r5, #2 │ │ │ │ │ mov r3, r5 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ itt gt │ │ │ │ │ lslgt r3, r3, #3 │ │ │ │ │ movgt.w ip, r5, lsl #3 │ │ │ │ │ - ble.n 4a │ │ │ │ │ + ble.n 5a │ │ │ │ │ ldrd r6, r7, [r0] │ │ │ │ │ subs r2, #1 │ │ │ │ │ ldrd r4, r5, [r0, #8] │ │ │ │ │ - strd r4, r5, [r1, #8] │ │ │ │ │ - strd r6, r7, [r1] │ │ │ │ │ add r0, r3 │ │ │ │ │ + strd r6, r7, [r1] │ │ │ │ │ + strd r4, r5, [r1, #8] │ │ │ │ │ add r1, ip │ │ │ │ │ - bne.n b6 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} │ │ │ │ │ + bne.n da │ │ │ │ │ + b.n 5a │ │ │ │ │ lsls r6, r2, #31 │ │ │ │ │ - bpl.n f2 │ │ │ │ │ + bpl.n 112 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.n 4a │ │ │ │ │ + ble.n 5a │ │ │ │ │ cmp r3, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r5, #1 │ │ │ │ │ - bne.n fe │ │ │ │ │ + bne.n 11e │ │ │ │ │ ldrd r4, r5, [r0], #8 │ │ │ │ │ subs r2, #1 │ │ │ │ │ strd r4, r5, [r1], #8 │ │ │ │ │ - bne.n e2 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} │ │ │ │ │ + bne.n 104 │ │ │ │ │ + b.n 5a │ │ │ │ │ cmp r5, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r3, #1 │ │ │ │ │ - beq.n 9c │ │ │ │ │ + beq.n bc │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.n 4a │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ - lsls r6, r5, #3 │ │ │ │ │ + ble.n 5a │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + mov.w r6, r5, lsl #3 │ │ │ │ │ ldrd r4, r5, [r0] │ │ │ │ │ - strd r4, r5, [r1] │ │ │ │ │ + subs r2, #1 │ │ │ │ │ add r0, r3 │ │ │ │ │ + strd r4, r5, [r1] │ │ │ │ │ add r1, r6 │ │ │ │ │ - subs r2, #1 │ │ │ │ │ - bne.n 102 │ │ │ │ │ - b.n 4a │ │ │ │ │ + bne.n 126 │ │ │ │ │ + b.n 5a │ │ │ ├── cpy2d-pair.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 936 (bytes into file) │ │ │ │ │ + Start of section headers: 1040 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 10 │ │ │ │ │ Section header string table index: 9 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ -There are 10 section headers, starting at offset 0x3a8: │ │ │ │ │ +There are 10 section headers, starting at offset 0x410: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0001d8 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000328 000030 08 I 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 00020c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 00020c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .note.GNU-stack PROGBITS 00000000 00020c 000000 00 0 0 1 │ │ │ │ │ - [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 00020c 000033 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 000240 000090 10 8 4 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 0002d0 000055 00 0 0 1 │ │ │ │ │ - [ 9] .shstrtab STRTAB 00000000 000358 000050 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000250 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0003a0 000020 08 I 7 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000284 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000284 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .note.GNU-stack PROGBITS 00000000 000284 000000 00 0 0 1 │ │ │ │ │ + [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000284 000033 00 0 0 1 │ │ │ │ │ + [ 7] .symtab SYMTAB 00000000 0002b8 000090 10 8 4 4 │ │ │ │ │ + [ 8] .strtab STRTAB 00000000 000348 000055 00 0 0 1 │ │ │ │ │ + [ 9] .shstrtab STRTAB 00000000 0003c0 000050 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 9 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000138 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 3: 00000140 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 4: 00000001 216 FUNC GLOBAL DEFAULT 1 fftw_cpy2d_pair │ │ │ │ │ - 5: 000000d9 104 FUNC GLOBAL DEFAULT 1 fftw_zero1d_pair │ │ │ │ │ + 2: 00000188 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000190 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 4: 00000001 260 FUNC GLOBAL DEFAULT 1 fftw_cpy2d_pair │ │ │ │ │ + 5: 00000105 140 FUNC GLOBAL DEFAULT 1 fftw_zero1d_pair │ │ │ │ │ 6: 00000000 0 NOTYPE GLOBAL DEFAULT UND memset │ │ │ │ │ - 7: 00000141 76 FUNC GLOBAL DEFAULT 1 fftw_cpy2d_pair_ci │ │ │ │ │ - 8: 0000018d 76 FUNC GLOBAL DEFAULT 1 fftw_cpy2d_pair_co │ │ │ │ │ + 7: 00000191 96 FUNC GLOBAL DEFAULT 1 fftw_cpy2d_pair_ci │ │ │ │ │ + 8: 000001f1 96 FUNC GLOBAL DEFAULT 1 fftw_cpy2d_pair_co │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,9 +1,7 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x328 contains 6 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x3a0 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000000f6 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ -00000104 0000061e R_ARM_THM_JUMP24 00000000 memset │ │ │ │ │ -00000174 0000041e R_ARM_THM_JUMP24 00000001 fftw_cpy2d_pair │ │ │ │ │ -00000188 0000041e R_ARM_THM_JUMP24 00000001 fftw_cpy2d_pair │ │ │ │ │ -000001c0 0000041e R_ARM_THM_JUMP24 00000001 fftw_cpy2d_pair │ │ │ │ │ -000001d4 0000041e R_ARM_THM_JUMP24 00000001 fftw_cpy2d_pair │ │ │ │ │ +00000130 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ +00000146 0000061e R_ARM_THM_JUMP24 00000000 memset │ │ │ │ │ +000001de 0000041e R_ARM_THM_JUMP24 00000001 fftw_cpy2d_pair │ │ │ │ │ +0000023e 0000041e R_ARM_THM_JUMP24 00000001 fftw_cpy2d_pair │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,187 +1,208 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_cpy2d_pair(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r7, r1 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #12 │ │ │ │ │ - ldr.w sl, [sp, #60] @ 0x3c │ │ │ │ │ ldr r1, [sp, #48] @ 0x30 │ │ │ │ │ + ldr.w sl, [sp, #60] @ 0x3c │ │ │ │ │ cmp.w sl, #0 │ │ │ │ │ - ble.n 74 │ │ │ │ │ + ble.n 88 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - ble.n 74 │ │ │ │ │ + ble.n 88 │ │ │ │ │ mov r8, r2 │ │ │ │ │ mov r9, r3 │ │ │ │ │ ldrd r3, r2, [sp, #52] @ 0x34 │ │ │ │ │ mov r6, r0 │ │ │ │ │ cmp r2, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r3, #1 │ │ │ │ │ ite ne │ │ │ │ │ movne r0, #1 │ │ │ │ │ moveq r0, #0 │ │ │ │ │ - bne.n 7a │ │ │ │ │ + bne.n a0 │ │ │ │ │ ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ add.w r1, r6, r1, lsl #3 │ │ │ │ │ mov r5, r0 │ │ │ │ │ mov r4, r0 │ │ │ │ │ mov.w fp, r3, lsl #3 │ │ │ │ │ mov.w ip, r5, lsl #3 │ │ │ │ │ - lsls r2, r0, #3 │ │ │ │ │ + mov.w r2, r0, lsl #3 │ │ │ │ │ add.w r3, r6, ip │ │ │ │ │ - add.w lr, r8, r2 │ │ │ │ │ add ip, r7 │ │ │ │ │ + add.w lr, r8, r2 │ │ │ │ │ add r2, r9 │ │ │ │ │ vldmia r3!, {d6} │ │ │ │ │ vldmia ip!, {d7} │ │ │ │ │ cmp r3, r1 │ │ │ │ │ vstmia lr!, {d6} │ │ │ │ │ vstmia r2!, {d7} │ │ │ │ │ - bne.n 50 │ │ │ │ │ + bne.n 62 │ │ │ │ │ ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ add r1, fp │ │ │ │ │ cmp sl, r4 │ │ │ │ │ add r5, r3 │ │ │ │ │ ldr r3, [sp, #68] @ 0x44 │ │ │ │ │ add r0, r3 │ │ │ │ │ - bne.n 3e │ │ │ │ │ + bne.n 4e │ │ │ │ │ add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ mov.w lr, r3, lsl #3 │ │ │ │ │ ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ mov.w fp, #0 │ │ │ │ │ - str r6, [sp, #0] │ │ │ │ │ - str r7, [sp, #4] │ │ │ │ │ + strd r6, r7, [sp] │ │ │ │ │ mov r6, fp │ │ │ │ │ - mov.w ip, r3, lsl #3 │ │ │ │ │ mov r7, fp │ │ │ │ │ + mov.w ip, r3, lsl #3 │ │ │ │ │ ldr r3, [sp, #0] │ │ │ │ │ - lsls r2, r7, #3 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - adds r5, r3, r2 │ │ │ │ │ + mov.w r2, r7, lsl #3 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + add.w r5, r3, r2 │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ add r2, r3 │ │ │ │ │ mov.w r3, fp, lsl #3 │ │ │ │ │ add.w r4, r8, r3 │ │ │ │ │ add r3, r9 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - adds r0, #1 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - add r5, lr │ │ │ │ │ + add.w r0, r0, #1 │ │ │ │ │ add r2, lr │ │ │ │ │ cmp r1, r0 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + add r5, lr │ │ │ │ │ vstr d6, [r4] │ │ │ │ │ add r4, ip │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ add r3, ip │ │ │ │ │ - bne.n a6 │ │ │ │ │ + bne.n d2 │ │ │ │ │ ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ - adds r6, #1 │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ cmp sl, r6 │ │ │ │ │ add r7, r3 │ │ │ │ │ ldr r3, [sp, #68] @ 0x44 │ │ │ │ │ add fp, r3 │ │ │ │ │ - bne.n 90 │ │ │ │ │ - add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + bne.n b6 │ │ │ │ │ + b.n 88 │ │ │ │ │ │ │ │ │ │ -000000d8 : │ │ │ │ │ +00000104 : │ │ │ │ │ fftw_zero1d_pair(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ subs r4, r2, #0 │ │ │ │ │ - ble.n 122 │ │ │ │ │ - mov r5, r1 │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ + ble.n 16a │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - bne.n 108 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ - adds r3, r0, r4 │ │ │ │ │ - adds r2, r1, r4 │ │ │ │ │ + mov r5, r1 │ │ │ │ │ + bne.n 14a │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + add.w r3, r0, r4 │ │ │ │ │ + add.w r2, r1, r4 │ │ │ │ │ cmp r0, r2 │ │ │ │ │ it cc │ │ │ │ │ cmpcc r1, r3 │ │ │ │ │ - bcc.n 124 │ │ │ │ │ + bcc.n 172 │ │ │ │ │ mov r2, r4 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memset │ │ │ │ │ mov r2, r4 │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ mov r0, r5 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, lr} │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ + ldrd r5, lr, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 memset │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ - movs r2, #0 │ │ │ │ │ - vldr d7, [pc, #40] @ 138 │ │ │ │ │ - adds r2, #1 │ │ │ │ │ + vldr d7, [pc, #60] @ 188 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ vstr d7, [r0] │ │ │ │ │ + add r0, r3 │ │ │ │ │ cmp r4, r2 │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ - add r0, r3 │ │ │ │ │ add r1, r3 │ │ │ │ │ - bne.n 110 │ │ │ │ │ - pop {r3, r4, r5, pc} │ │ │ │ │ - movs r4, #0 │ │ │ │ │ - movs r5, #0 │ │ │ │ │ + bne.n 156 │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r5, pc} │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ + mov.w r5, #0 │ │ │ │ │ strd r4, r5, [r0], #8 │ │ │ │ │ - strd r4, r5, [r1], #8 │ │ │ │ │ cmp r0, r3 │ │ │ │ │ - bne.n 128 │ │ │ │ │ - pop {r3, r4, r5, pc} │ │ │ │ │ - nop │ │ │ │ │ + strd r4, r5, [r1], #8 │ │ │ │ │ + bne.n 17a │ │ │ │ │ + b.n 16a │ │ │ │ │ ... │ │ │ │ │ │ │ │ │ │ -00000140 : │ │ │ │ │ +00000190 : │ │ │ │ │ fftw_cpy2d_pair_ci(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ + str.w r4, [sp, #-28]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ ldrd ip, r5, [sp, #28] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ ldrd r4, r7, [sp, #44] @ 0x2c │ │ │ │ │ + strd r9, lr, [sp, #20] │ │ │ │ │ + ldrd lr, r6, [sp, #36] @ 0x24 │ │ │ │ │ eor.w r9, r5, r5, asr #31 │ │ │ │ │ - sub.w r9, r9, r5, asr #31 │ │ │ │ │ eor.w r8, r4, r4, asr #31 │ │ │ │ │ + sub.w r9, r9, r5, asr #31 │ │ │ │ │ sub.w r8, r8, r4, asr #31 │ │ │ │ │ - ldrd lr, r6, [sp, #36] @ 0x24 │ │ │ │ │ cmp r9, r8 │ │ │ │ │ - bge.n 178 │ │ │ │ │ - strd r4, r7, [sp, #44] @ 0x2c │ │ │ │ │ - strd lr, r6, [sp, #36] @ 0x24 │ │ │ │ │ + bge.n 1e2 │ │ │ │ │ strd ip, r5, [sp, #28] │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ + strd lr, r6, [sp, #36] @ 0x24 │ │ │ │ │ + strd r4, r7, [sp, #44] @ 0x2c │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_cpy2d_pair │ │ │ │ │ - strd r5, lr, [sp, #44] @ 0x2c │ │ │ │ │ - strd r7, ip, [sp, #36] @ 0x24 │ │ │ │ │ strd r6, r4, [sp, #28] │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ - b.w 0 │ │ │ │ │ - R_ARM_THM_JUMP24 fftw_cpy2d_pair │ │ │ │ │ + strd r7, ip, [sp, #36] @ 0x24 │ │ │ │ │ + strd r5, lr, [sp, #44] @ 0x2c │ │ │ │ │ + b.n 1cc │ │ │ │ │ │ │ │ │ │ -0000018c : │ │ │ │ │ +000001f0 : │ │ │ │ │ fftw_cpy2d_pair_co(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ + str.w r4, [sp, #-28]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ ldrd r5, r6, [sp, #36] @ 0x24 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ ldrd r7, r4, [sp, #44] @ 0x2c │ │ │ │ │ + strd r9, lr, [sp, #20] │ │ │ │ │ + ldrd ip, lr, [sp, #28] │ │ │ │ │ eor.w r9, r5, r5, asr #31 │ │ │ │ │ - sub.w r9, r9, r5, asr #31 │ │ │ │ │ eor.w r8, r4, r4, asr #31 │ │ │ │ │ + sub.w r9, r9, r5, asr #31 │ │ │ │ │ sub.w r8, r8, r4, asr #31 │ │ │ │ │ - ldrd ip, lr, [sp, #28] │ │ │ │ │ cmp r9, r8 │ │ │ │ │ - bge.n 1c4 │ │ │ │ │ - strd r7, r4, [sp, #44] @ 0x2c │ │ │ │ │ - strd r5, r6, [sp, #36] @ 0x24 │ │ │ │ │ + bge.n 242 │ │ │ │ │ strd ip, lr, [sp, #28] │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ + strd r5, r6, [sp, #36] @ 0x24 │ │ │ │ │ + strd r7, r4, [sp, #44] @ 0x2c │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_cpy2d_pair │ │ │ │ │ - strd lr, r5, [sp, #44] @ 0x2c │ │ │ │ │ - strd r4, ip, [sp, #36] @ 0x24 │ │ │ │ │ strd r6, r7, [sp, #28] │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ - b.w 0 │ │ │ │ │ - R_ARM_THM_JUMP24 fftw_cpy2d_pair │ │ │ │ │ + strd r4, ip, [sp, #36] @ 0x24 │ │ │ │ │ + strd lr, r5, [sp, #44] @ 0x2c │ │ │ │ │ + b.n 22c │ │ │ ├── cpy2d.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1552 (bytes into file) │ │ │ │ │ + Start of section headers: 1740 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 10 │ │ │ │ │ Section header string table index: 9 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ -There are 10 section headers, starting at offset 0x610: │ │ │ │ │ +There are 10 section headers, starting at offset 0x6cc: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000388 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000558 000068 08 I 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0003bc 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0003bc 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .note.GNU-stack PROGBITS 00000000 0003bc 000000 00 0 0 1 │ │ │ │ │ - [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 0003bc 000033 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 0003f0 0000e0 10 8 7 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 0004d0 000085 00 0 0 1 │ │ │ │ │ - [ 9] .shstrtab STRTAB 00000000 0005c0 000050 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000454 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000624 000058 08 I 7 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000488 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000488 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .note.GNU-stack PROGBITS 00000000 000488 000000 00 0 0 1 │ │ │ │ │ + [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000488 000033 00 0 0 1 │ │ │ │ │ + [ 7] .symtab SYMTAB 00000000 0004bc 0000e0 10 8 7 4 │ │ │ │ │ + [ 8] .strtab STRTAB 00000000 00059c 000085 00 0 0 1 │ │ │ │ │ + [ 9] .shstrtab STRTAB 00000000 00067c 000050 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,17 +1,17 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 14 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 0000015d 78 FUNC LOCAL DEFAULT 1 dotile │ │ │ │ │ - 3: 00000249 112 FUNC LOCAL DEFAULT 1 dotile_buf │ │ │ │ │ - 4: 00000308 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 5: 0000030c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 6: 00000384 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 7: 00000001 348 FUNC GLOBAL DEFAULT 1 fftw_cpy2d │ │ │ │ │ - 8: 000001ad 80 FUNC GLOBAL DEFAULT 1 fftw_cpy2d_ci │ │ │ │ │ - 9: 000001fd 76 FUNC GLOBAL DEFAULT 1 fftw_cpy2d_co │ │ │ │ │ - 10: 000002b9 84 FUNC GLOBAL DEFAULT 1 fftw_cpy2d_tiled │ │ │ │ │ + 2: 00000191 104 FUNC LOCAL DEFAULT 1 dotile │ │ │ │ │ + 3: 000002c9 128 FUNC LOCAL DEFAULT 1 dotile_buf │ │ │ │ │ + 4: 000003ac 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 5: 000003b0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 6: 00000450 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 7: 00000001 400 FUNC GLOBAL DEFAULT 1 fftw_cpy2d │ │ │ │ │ + 8: 000001f9 104 FUNC GLOBAL DEFAULT 1 fftw_cpy2d_ci │ │ │ │ │ + 9: 00000261 104 FUNC GLOBAL DEFAULT 1 fftw_cpy2d_co │ │ │ │ │ + 10: 00000349 104 FUNC GLOBAL DEFAULT 1 fftw_cpy2d_tiled │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_compute_tilesz │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tile2d │ │ │ │ │ - 13: 0000030d 124 FUNC GLOBAL DEFAULT 1 fftw_cpy2d_tiledbuf │ │ │ │ │ + 13: 000003b1 164 FUNC GLOBAL DEFAULT 1 fftw_cpy2d_tiledbuf │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,16 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x558 contains 13 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x624 contains 11 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000001a0 0000070a R_ARM_THM_CALL 00000001 fftw_cpy2d │ │ │ │ │ -00000284 0000080a R_ARM_THM_CALL 000001ad fftw_cpy2d_ci │ │ │ │ │ -000002ae 0000090a R_ARM_THM_CALL 000001fd fftw_cpy2d_co │ │ │ │ │ -000002ce 00000b0a R_ARM_THM_CALL 00000000 fftw_compute_tilesz │ │ │ │ │ -000002fc 00000c0a R_ARM_THM_CALL 00000000 fftw_tile2d │ │ │ │ │ -00000308 00000203 R_ARM_REL32 0000015d dotile │ │ │ │ │ -0000032c 00000b0a R_ARM_THM_CALL 00000000 fftw_compute_tilesz │ │ │ │ │ -00000374 00000c0a R_ARM_THM_CALL 00000000 fftw_tile2d │ │ │ │ │ -00000384 00000303 R_ARM_REL32 00000249 dotile_buf │ │ │ │ │ -000001e0 0000071e R_ARM_THM_JUMP24 00000001 fftw_cpy2d │ │ │ │ │ -000001f8 0000071e R_ARM_THM_JUMP24 00000001 fftw_cpy2d │ │ │ │ │ -0000022e 0000071e R_ARM_THM_JUMP24 00000001 fftw_cpy2d │ │ │ │ │ -00000244 0000071e R_ARM_THM_JUMP24 00000001 fftw_cpy2d │ │ │ │ │ +000001e0 0000070a R_ARM_THM_CALL 00000001 fftw_cpy2d │ │ │ │ │ +0000030a 0000080a R_ARM_THM_CALL 000001f9 fftw_cpy2d_ci │ │ │ │ │ +00000334 0000090a R_ARM_THM_CALL 00000261 fftw_cpy2d_co │ │ │ │ │ +00000368 00000b0a R_ARM_THM_CALL 00000000 fftw_compute_tilesz │ │ │ │ │ +00000398 00000c0a R_ARM_THM_CALL 00000000 fftw_tile2d │ │ │ │ │ +000003ac 00000203 R_ARM_REL32 00000191 dotile │ │ │ │ │ +000003de 00000b0a R_ARM_THM_CALL 00000000 fftw_compute_tilesz │ │ │ │ │ +00000432 00000c0a R_ARM_THM_CALL 00000000 fftw_tile2d │ │ │ │ │ +00000450 00000303 R_ARM_REL32 000002c9 dotile_buf │ │ │ │ │ +00000246 0000071e R_ARM_THM_JUMP24 00000001 fftw_cpy2d │ │ │ │ │ +000002ae 0000071e R_ARM_THM_JUMP24 00000001 fftw_cpy2d │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,359 +1,399 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_cpy2d(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r3 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r7, r0 │ │ │ │ │ - sub sp, #12 │ │ │ │ │ mov r8, r1 │ │ │ │ │ - ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + sub sp, #12 │ │ │ │ │ ldrd r6, lr, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - beq.n d2 │ │ │ │ │ + beq.n 100 │ │ │ │ │ cmp r3, #2 │ │ │ │ │ - beq.n 84 │ │ │ │ │ + beq.n ac │ │ │ │ │ cmp.w lr, #0 │ │ │ │ │ - ble.n 7e │ │ │ │ │ + ble.n 94 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.n 7e │ │ │ │ │ + ble.n 94 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.n 7e │ │ │ │ │ - mov.w sl, #0 │ │ │ │ │ + ble.n 94 │ │ │ │ │ add.w r3, r0, r3, lsl #3 │ │ │ │ │ + mov.w sl, #0 │ │ │ │ │ mov.w r9, r5, lsl #3 │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ mov ip, sl │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ mov r3, sl │ │ │ │ │ str.w lr, [sp, #52] @ 0x34 │ │ │ │ │ ldr r1, [sp, #4] │ │ │ │ │ mov fp, sl │ │ │ │ │ mov lr, ip │ │ │ │ │ - movs r4, #0 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ add.w r0, r1, ip, lsl #3 │ │ │ │ │ add.w r3, r7, lr, lsl #3 │ │ │ │ │ add.w r1, r8, fp, lsl #3 │ │ │ │ │ vldmia r3!, {d7} │ │ │ │ │ cmp r0, r3 │ │ │ │ │ vstmia r1!, {d7} │ │ │ │ │ - bne.n 54 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + bne.n 66 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ add lr, r5 │ │ │ │ │ + cmp r2, r4 │ │ │ │ │ add fp, r6 │ │ │ │ │ add r0, r9 │ │ │ │ │ - cmp r2, r4 │ │ │ │ │ - bne.n 4c │ │ │ │ │ - ldr r1, [sp, #56] @ 0x38 │ │ │ │ │ + bne.n 5e │ │ │ │ │ ldr r3, [sp, #0] │ │ │ │ │ + ldr r1, [sp, #56] @ 0x38 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ add ip, r1 │ │ │ │ │ ldr r1, [sp, #60] @ 0x3c │ │ │ │ │ - adds r3, #1 │ │ │ │ │ add sl, r1 │ │ │ │ │ ldr r1, [sp, #52] @ 0x34 │ │ │ │ │ cmp r1, r3 │ │ │ │ │ - bne.n 3e │ │ │ │ │ + bne.n 4e │ │ │ │ │ add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ cmp.w lr, #0 │ │ │ │ │ - ble.n 7e │ │ │ │ │ + ble.n 94 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.n 7e │ │ │ │ │ - movs r4, #0 │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ + ble.n 94 │ │ │ │ │ ldrd sl, fp, [sp, #56] @ 0x38 │ │ │ │ │ - lsls r6, r6, #3 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ mov r9, r4 │ │ │ │ │ mov ip, r4 │ │ │ │ │ add.w r1, r7, r9, lsl #3 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add.w r3, r8, r4, lsl #3 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ - adds r0, #1 │ │ │ │ │ - vldr d7, [r1, #8] │ │ │ │ │ + add.w r0, r0, #1 │ │ │ │ │ cmp r2, r0 │ │ │ │ │ + vldr d7, [r1, #8] │ │ │ │ │ add r1, r5 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ vstr d7, [r3, #8] │ │ │ │ │ add r3, r6 │ │ │ │ │ - bne.n a6 │ │ │ │ │ + bne.n d6 │ │ │ │ │ add.w ip, ip, #1 │ │ │ │ │ add r9, sl │ │ │ │ │ - add r4, fp │ │ │ │ │ cmp lr, ip │ │ │ │ │ - bne.n 9c │ │ │ │ │ - add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + add r4, fp │ │ │ │ │ + bne.n ca │ │ │ │ │ + b.n 94 │ │ │ │ │ cmp.w lr, #0 │ │ │ │ │ - ble.n 7e │ │ │ │ │ + ble.n 94 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.n 7e │ │ │ │ │ + ble.n 94 │ │ │ │ │ cmp r5, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r6, #1 │ │ │ │ │ ite ne │ │ │ │ │ movne r0, #1 │ │ │ │ │ moveq r0, #0 │ │ │ │ │ - bne.n 124 │ │ │ │ │ - ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ + bne.n 14e │ │ │ │ │ + ldrd r3, fp, [sp, #56] @ 0x38 │ │ │ │ │ add.w r2, r7, r2, lsl #3 │ │ │ │ │ - ldr.w fp, [sp, #60] @ 0x3c │ │ │ │ │ mov r9, r0 │ │ │ │ │ mov ip, r0 │ │ │ │ │ + mov.w r6, r3, lsl #3 │ │ │ │ │ mov sl, r3 │ │ │ │ │ - lsls r6, r3, #3 │ │ │ │ │ add.w r3, r7, r9, lsl #3 │ │ │ │ │ add.w r1, r8, r0, lsl #3 │ │ │ │ │ ldrd r4, r5, [r3], #8 │ │ │ │ │ - strd r4, r5, [r1], #8 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.n 104 │ │ │ │ │ + strd r4, r5, [r1], #8 │ │ │ │ │ + bne.n 132 │ │ │ │ │ add.w ip, ip, #1 │ │ │ │ │ add r9, sl │ │ │ │ │ + cmp lr, ip │ │ │ │ │ add r0, fp │ │ │ │ │ add r2, r6 │ │ │ │ │ - cmp lr, ip │ │ │ │ │ - bne.n fc │ │ │ │ │ - add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - movs r4, #0 │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ + bne.n 12a │ │ │ │ │ + b.n 94 │ │ │ │ │ ldrd sl, fp, [sp, #56] @ 0x38 │ │ │ │ │ - lsls r6, r6, #3 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ mov r9, r4 │ │ │ │ │ mov ip, r4 │ │ │ │ │ add.w r0, r7, r9, lsl #3 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ add.w r1, r8, r4, lsl #3 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ add r0, r5 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ add r1, r6 │ │ │ │ │ - bne.n 13c │ │ │ │ │ + bne.n 16e │ │ │ │ │ add.w ip, ip, #1 │ │ │ │ │ add r9, sl │ │ │ │ │ - add r4, fp │ │ │ │ │ cmp lr, ip │ │ │ │ │ - bne.n 132 │ │ │ │ │ - b.n 7e │ │ │ │ │ + add r4, fp │ │ │ │ │ + bne.n 162 │ │ │ │ │ + b.n 94 │ │ │ │ │ │ │ │ │ │ -0000015c : │ │ │ │ │ +00000190 : │ │ │ │ │ dotile(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ mov ip, r0 │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ sub sp, #24 │ │ │ │ │ ldr r4, [sp, #56] @ 0x38 │ │ │ │ │ - add.w r5, r4, #8 │ │ │ │ │ - ldr r7, [r4, #4] │ │ │ │ │ - ldr r6, [r4, #0] │ │ │ │ │ - ldmia.w r5, {r5, r8, r9, sl} │ │ │ │ │ + ldrd r6, r7, [r4] │ │ │ │ │ + ldrd r9, sl, [r4, #16] │ │ │ │ │ + ldrd r5, r8, [r4, #8] │ │ │ │ │ ldr r4, [r4, #24] │ │ │ │ │ - strd sl, r4, [sp, #12] │ │ │ │ │ - str.w r9, [sp, #8] │ │ │ │ │ mul.w lr, r2, sl │ │ │ │ │ + strd r9, sl, [sp, #8] │ │ │ │ │ mla lr, r0, r8, lr │ │ │ │ │ mul.w r0, r2, r9 │ │ │ │ │ - subs r2, r3, r2 │ │ │ │ │ - mla r0, ip, r5, r0 │ │ │ │ │ - strd r8, r2, [sp] │ │ │ │ │ + sub.w r2, r3, r2 │ │ │ │ │ mov r3, r5 │ │ │ │ │ + strd r8, r2, [sp] │ │ │ │ │ sub.w r2, r1, ip │ │ │ │ │ add.w r1, r7, lr, lsl #3 │ │ │ │ │ + mla r0, ip, r5, r0 │ │ │ │ │ + str r4, [sp, #16] │ │ │ │ │ add.w r0, r6, r0, lsl #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d │ │ │ │ │ add sp, #24 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {sl, pc} │ │ │ │ │ │ │ │ │ │ -000001ac : │ │ │ │ │ +000001f8 : │ │ │ │ │ fftw_cpy2d_ci(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ - eor.w sl, r3, r3, asr #31 │ │ │ │ │ - sub.w sl, sl, r3, asr #31 │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ ldrd r6, ip, [sp, #40] @ 0x28 │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ + eor.w sl, r3, r3, asr #31 │ │ │ │ │ ldrd lr, r7, [sp, #32] │ │ │ │ │ + sub.w sl, sl, r3, asr #31 │ │ │ │ │ eor.w r9, r6, r6, asr #31 │ │ │ │ │ ldr.w r8, [sp, #48] @ 0x30 │ │ │ │ │ sub.w r9, r9, r6, asr #31 │ │ │ │ │ cmp sl, r9 │ │ │ │ │ - bge.n 1e4 │ │ │ │ │ - strd ip, r8, [sp, #44] @ 0x2c │ │ │ │ │ - strd r7, r6, [sp, #36] @ 0x24 │ │ │ │ │ - str.w lr, [sp, #32] │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ + bge.n 24a │ │ │ │ │ + strd lr, r7, [sp, #32] │ │ │ │ │ + strd r6, ip, [sp, #40] @ 0x28 │ │ │ │ │ + str.w r8, [sp, #48] @ 0x30 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, lr, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_cpy2d │ │ │ │ │ - strd r2, r3, [sp, #36] @ 0x24 │ │ │ │ │ - mov r3, r6 │ │ │ │ │ + mov r5, r2 │ │ │ │ │ + mov r4, r3 │ │ │ │ │ mov r2, r7 │ │ │ │ │ - strd lr, r8, [sp, #44] @ 0x2c │ │ │ │ │ - str.w ip, [sp, #32] │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ - b.w 0 │ │ │ │ │ - R_ARM_THM_JUMP24 fftw_cpy2d │ │ │ │ │ + mov r3, r6 │ │ │ │ │ + strd ip, r5, [sp, #32] │ │ │ │ │ + strd r4, lr, [sp, #40] @ 0x28 │ │ │ │ │ + str.w r8, [sp, #48] @ 0x30 │ │ │ │ │ + b.n 234 │ │ │ │ │ │ │ │ │ │ -000001fc : │ │ │ │ │ +00000260 : │ │ │ │ │ fftw_cpy2d_co(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ - ldr.w r8, [sp, #48] @ 0x30 │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ ldrd r7, ip, [sp, #32] │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ ldrd lr, r6, [sp, #40] @ 0x28 │ │ │ │ │ eor.w sl, r7, r7, asr #31 │ │ │ │ │ + ldr.w r8, [sp, #48] @ 0x30 │ │ │ │ │ sub.w sl, sl, r7, asr #31 │ │ │ │ │ eor.w r9, r6, r6, asr #31 │ │ │ │ │ sub.w r9, r9, r6, asr #31 │ │ │ │ │ cmp sl, r9 │ │ │ │ │ - bge.n 232 │ │ │ │ │ - strd r6, r8, [sp, #44] @ 0x2c │ │ │ │ │ - strd ip, lr, [sp, #36] @ 0x24 │ │ │ │ │ - str r7, [sp, #32] │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ + bge.n 2b2 │ │ │ │ │ + strd r7, ip, [sp, #32] │ │ │ │ │ + strd lr, r6, [sp, #40] @ 0x28 │ │ │ │ │ + str.w r8, [sp, #48] @ 0x30 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, lr, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_cpy2d │ │ │ │ │ - strd r2, r3, [sp, #36] @ 0x24 │ │ │ │ │ - mov r3, lr │ │ │ │ │ - strd r7, r8, [sp, #44] @ 0x2c │ │ │ │ │ + mov r4, r2 │ │ │ │ │ + mov r5, r3 │ │ │ │ │ mov r2, ip │ │ │ │ │ - str r6, [sp, #32] │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ - b.w 0 │ │ │ │ │ - R_ARM_THM_JUMP24 fftw_cpy2d │ │ │ │ │ + mov r3, lr │ │ │ │ │ + strd r6, r4, [sp, #32] │ │ │ │ │ + strd r5, r7, [sp, #40] @ 0x28 │ │ │ │ │ + str.w r8, [sp, #48] @ 0x30 │ │ │ │ │ + b.n 29c │ │ │ │ │ │ │ │ │ │ -00000248 : │ │ │ │ │ +000002c8 : │ │ │ │ │ dotile_buf(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ - mov r6, r1 │ │ │ │ │ + strd r4, r5, [sp, #-24]! │ │ │ │ │ mov r5, r2 │ │ │ │ │ - sub sp, #24 │ │ │ │ │ - mov r8, r3 │ │ │ │ │ - subs r6, r6, r0 │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + sub.w r6, r1, r0 │ │ │ │ │ mov r7, r0 │ │ │ │ │ - sub.w r8, r8, r5 │ │ │ │ │ + strd r8, lr, [sp, #16] │ │ │ │ │ + sub sp, #24 │ │ │ │ │ + sub.w r8, r3, r2 │ │ │ │ │ ldr r4, [sp, #48] @ 0x30 │ │ │ │ │ - ldr r1, [r4, #16] │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ + ldr r1, [r4, #16] │ │ │ │ │ ldr r2, [r4, #24] │ │ │ │ │ - str r2, [sp, #16] │ │ │ │ │ mul.w ip, r5, r1 │ │ │ │ │ strd r2, r8, [sp] │ │ │ │ │ mla ip, r0, r3, ip │ │ │ │ │ + str r2, [sp, #16] │ │ │ │ │ mul.w r0, r2, r6 │ │ │ │ │ mov r2, r6 │ │ │ │ │ strd r1, r0, [sp, #8] │ │ │ │ │ ldr r0, [r4, #0] │ │ │ │ │ ldr r1, [r4, #28] │ │ │ │ │ add.w r0, r0, ip, lsl #3 │ │ │ │ │ - bl 1ac │ │ │ │ │ + bl 1f8 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_ci │ │ │ │ │ - ldr r2, [r4, #12] │ │ │ │ │ - ldrd r0, r3, [r4, #20] │ │ │ │ │ ldr r1, [r4, #4] │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ + ldrd r0, r3, [r4, #20] │ │ │ │ │ + ldr r2, [r4, #12] │ │ │ │ │ mul.w r5, r0, r5 │ │ │ │ │ - strd r0, r3, [sp, #12] │ │ │ │ │ + strd r2, r8, [sp] │ │ │ │ │ mla r7, r7, r2, r5 │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ mov r2, r6 │ │ │ │ │ mul.w r5, r3, r6 │ │ │ │ │ - strd r8, r5, [sp, #4] │ │ │ │ │ add.w r1, r1, r7, lsl #3 │ │ │ │ │ + strd r5, r0, [sp, #8] │ │ │ │ │ ldr r0, [r4, #28] │ │ │ │ │ - bl 1fc │ │ │ │ │ + bl 260 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_co │ │ │ │ │ add sp, #24 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldmia.w sp!, {r8, pc} │ │ │ │ │ │ │ │ │ │ -000002b8 : │ │ │ │ │ +00000348 : │ │ │ │ │ fftw_cpy2d_tiled(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ + strd r4, r5, [sp, #-24]! │ │ │ │ │ + mov r4, r2 │ │ │ │ │ + mov r5, r3 │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ mov r7, r0 │ │ │ │ │ mov r6, r1 │ │ │ │ │ + strd r8, lr, [sp, #16] │ │ │ │ │ sub sp, #48 @ 0x30 │ │ │ │ │ - movs r1, #2 │ │ │ │ │ - mov r4, r2 │ │ │ │ │ - mov r5, r3 │ │ │ │ │ + mov.w r1, #2 │ │ │ │ │ ldr.w r8, [sp, #88] @ 0x58 │ │ │ │ │ mov r0, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_compute_tilesz │ │ │ │ │ ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ - str r3, [sp, #28] │ │ │ │ │ - movs r2, #0 │ │ │ │ │ - ldr r3, [sp, #80] @ 0x50 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ mov r1, r4 │ │ │ │ │ + str r0, [sp, #0] │ │ │ │ │ + mov r0, r2 │ │ │ │ │ + strd r7, r6, [sp, #16] │ │ │ │ │ + strd r5, r3, [sp, #24] │ │ │ │ │ + ldr r3, [sp, #80] @ 0x50 │ │ │ │ │ + strd r8, r2, [sp, #40] @ 0x28 │ │ │ │ │ str r3, [sp, #32] │ │ │ │ │ ldr r3, [sp, #84] @ 0x54 │ │ │ │ │ - strd r3, r8, [sp, #36] @ 0x24 │ │ │ │ │ + str r3, [sp, #36] @ 0x24 │ │ │ │ │ add r3, sp, #16 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ - ldr r3, [pc, #28] @ (308 ) │ │ │ │ │ - strd r7, r6, [sp, #16] │ │ │ │ │ + ldr r3, [pc, #24] @ (3ac ) │ │ │ │ │ add r3, pc │ │ │ │ │ - strd r0, r3, [sp] │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ ldr r3, [sp, #76] @ 0x4c │ │ │ │ │ - mov r0, r2 │ │ │ │ │ - str r5, [sp, #24] │ │ │ │ │ - str r2, [sp, #44] @ 0x2c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tile2d │ │ │ │ │ add sp, #48 @ 0x30 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldmia.w sp!, {r8, pc} │ │ │ │ │ .word 0x00000016 │ │ │ │ │ R_ARM_REL32 dotile │ │ │ │ │ │ │ │ │ │ -0000030c : │ │ │ │ │ +000003b0 : │ │ │ │ │ fftw_cpy2d_tiledbuf(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ + str.w r4, [sp, #-28]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r6, r3 │ │ │ │ │ + mov r5, r2 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r8, r0 │ │ │ │ │ - sub.w sp, sp, #4128 @ 0x1020 │ │ │ │ │ mov r7, r1 │ │ │ │ │ + strd r9, lr, [sp, #20] │ │ │ │ │ + sub.w sp, sp, #4128 @ 0x1020 │ │ │ │ │ + mov.w r1, #2 │ │ │ │ │ sub sp, #20 │ │ │ │ │ - movs r1, #2 │ │ │ │ │ add.w r3, sp, #4192 @ 0x1060 │ │ │ │ │ - mov r5, r2 │ │ │ │ │ add r4, sp, #48 @ 0x30 │ │ │ │ │ ldr.w r9, [r3] │ │ │ │ │ mov r0, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_compute_tilesz │ │ │ │ │ add.w r3, sp, #4160 @ 0x1040 │ │ │ │ │ - adds r3, #16 │ │ │ │ │ str.w r4, [r4, #-4] │ │ │ │ │ - movs r2, #0 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ + add.w r3, r3, #16 │ │ │ │ │ mov r1, r5 │ │ │ │ │ strd r8, r7, [sp, #16] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - str r3, [sp, #28] │ │ │ │ │ + strd r6, r3, [sp, #24] │ │ │ │ │ add.w r3, sp, #4160 @ 0x1040 │ │ │ │ │ - adds r3, #24 │ │ │ │ │ - str r6, [sp, #24] │ │ │ │ │ + add.w r3, r3, #24 │ │ │ │ │ + str.w r9, [sp, #40] @ 0x28 │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ str r3, [sp, #32] │ │ │ │ │ add.w r3, sp, #4160 @ 0x1040 │ │ │ │ │ - adds r3, #28 │ │ │ │ │ + add.w r3, r3, #28 │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - strd r3, r9, [sp, #36] @ 0x24 │ │ │ │ │ + str r0, [sp, #0] │ │ │ │ │ + mov r0, r2 │ │ │ │ │ + str r3, [sp, #36] @ 0x24 │ │ │ │ │ add r3, sp, #16 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ - ldr r3, [pc, #32] @ (384 ) │ │ │ │ │ + ldr r3, [pc, #44] @ (450 ) │ │ │ │ │ add r3, pc │ │ │ │ │ - strd r0, r3, [sp] │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ add.w r3, sp, #4160 @ 0x1040 │ │ │ │ │ - mov r0, r2 │ │ │ │ │ - adds r3, #20 │ │ │ │ │ + add.w r3, r3, #20 │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tile2d │ │ │ │ │ add.w sp, sp, #4128 @ 0x1020 │ │ │ │ │ add sp, #20 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop │ │ │ │ │ - .word 0x0000001c │ │ │ │ │ + .word 0x00000028 │ │ │ │ │ R_ARM_REL32 dotile_buf │ │ │ ├── ct.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 340 (bytes into file) │ │ │ │ │ + Start of section headers: 348 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 10 │ │ │ │ │ Section header string table index: 9 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ -There are 10 section headers, starting at offset 0x154: │ │ │ │ │ +There are 10 section headers, starting at offset 0x15c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000034 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0000fc 000008 08 I 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000068 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000068 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .note.GNU-stack PROGBITS 00000000 000068 000000 00 0 0 1 │ │ │ │ │ - [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000068 000033 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 00009c 000040 10 8 2 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 0000dc 00001f 00 0 0 1 │ │ │ │ │ - [ 9] .shstrtab STRTAB 00000000 000104 000050 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00003c 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000104 000008 08 I 7 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000070 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000070 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .note.GNU-stack PROGBITS 00000000 000070 000000 00 0 0 1 │ │ │ │ │ + [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000070 000033 00 0 0 1 │ │ │ │ │ + [ 7] .symtab SYMTAB 00000000 0000a4 000040 10 8 2 4 │ │ │ │ │ + [ 8] .strtab STRTAB 00000000 0000e4 00001f 00 0 0 1 │ │ │ │ │ + [ 9] .shstrtab STRTAB 00000000 00010c 000050 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,7 +1,7 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 4 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 52 FUNC GLOBAL DEFAULT 1 fftw_ct_uglyp │ │ │ │ │ + 2: 00000001 60 FUNC GLOBAL DEFAULT 1 fftw_ct_uglyp │ │ │ │ │ 3: 00000000 0 NOTYPE GLOBAL DEFAULT UND __aeabi_idiv │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,4 +1,4 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xfc contains 1 entry: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x104 contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000001a 0000030a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +0000001e 0000030a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -2,31 +2,31 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_ct_uglyp(): │ │ │ │ │ cmp r2, r0 │ │ │ │ │ - ble.n 2c │ │ │ │ │ - cmp r2, #0 │ │ │ │ │ ble.n 30 │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + cmp r2, #0 │ │ │ │ │ + ble.n 36 │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r1 │ │ │ │ │ - subs r1, r2, #1 │ │ │ │ │ + add.w r1, r2, #4294967295 @ 0xffffffff │ │ │ │ │ tst r1, r2 │ │ │ │ │ it ne │ │ │ │ │ movne r0, #0 │ │ │ │ │ - bne.n 2a │ │ │ │ │ + bne.n 2e │ │ │ │ │ mov r1, r3 │ │ │ │ │ mov r0, r2 │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ mul.w r0, r4, r0 │ │ │ │ │ cmp r0, #4 │ │ │ │ │ ite gt │ │ │ │ │ movgt r0, #0 │ │ │ │ │ movle r0, #1 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - movs r0, #1 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ bx lr │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bx lr │ │ │ ├── extract-reim.o │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,6 +1,6 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 3 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 26 FUNC GLOBAL DEFAULT 1 fftw_extract_reim │ │ │ │ │ + 2: 00000001 28 FUNC GLOBAL DEFAULT 1 fftw_extract_reim │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,19 +1,18 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_extract_reim(): │ │ │ │ │ - push {r4} │ │ │ │ │ + str.w r4, [sp, #-4]! │ │ │ │ │ add.w r4, r1, #8 │ │ │ │ │ - mov ip, r4 │ │ │ │ │ adds r0, #1 │ │ │ │ │ + mov ip, r4 │ │ │ │ │ itt ne │ │ │ │ │ movne r4, r1 │ │ │ │ │ movne r1, ip │ │ │ │ │ str r1, [r2, #0] │ │ │ │ │ str r4, [r3, #0] │ │ │ │ │ ldr.w r4, [sp], #4 │ │ │ │ │ bx lr │ │ │ │ │ - nop │ │ │ ├── md5-1.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 564 (bytes into file) │ │ │ │ │ + Start of section headers: 604 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 10 │ │ │ │ │ Section header string table index: 9 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ -There are 10 section headers, starting at offset 0x234: │ │ │ │ │ +There are 10 section headers, starting at offset 0x25c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000080 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0001bc 000028 08 I 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0000b4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0000b4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .note.GNU-stack PROGBITS 00000000 0000b4 000000 00 0 0 1 │ │ │ │ │ - [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 0000b4 000033 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 0000e8 000080 10 8 2 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 000168 000054 00 0 0 1 │ │ │ │ │ - [ 9] .shstrtab STRTAB 00000000 0001e4 000050 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0000a8 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0001e4 000028 08 I 7 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0000dc 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0000dc 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .note.GNU-stack PROGBITS 00000000 0000dc 000000 00 0 0 1 │ │ │ │ │ + [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 0000dc 000033 00 0 0 1 │ │ │ │ │ + [ 7] .symtab SYMTAB 00000000 000110 000080 10 8 2 4 │ │ │ │ │ + [ 8] .strtab STRTAB 00000000 000190 000054 00 0 0 1 │ │ │ │ │ + [ 9] .shstrtab STRTAB 00000000 00020c 000050 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,11 +1,11 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 8 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 30 FUNC GLOBAL DEFAULT 1 fftw_md5putb │ │ │ │ │ + 2: 00000001 48 FUNC GLOBAL DEFAULT 1 fftw_md5putb │ │ │ │ │ 3: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_md5putc │ │ │ │ │ - 4: 00000021 24 FUNC GLOBAL DEFAULT 1 fftw_md5puts │ │ │ │ │ - 5: 00000039 22 FUNC GLOBAL DEFAULT 1 fftw_md5int │ │ │ │ │ - 6: 00000051 22 FUNC GLOBAL DEFAULT 1 fftw_md5INT │ │ │ │ │ - 7: 00000069 22 FUNC GLOBAL DEFAULT 1 fftw_md5unsigned │ │ │ │ │ + 4: 00000031 36 FUNC GLOBAL DEFAULT 1 fftw_md5puts │ │ │ │ │ + 5: 00000055 26 FUNC GLOBAL DEFAULT 1 fftw_md5int │ │ │ │ │ + 6: 00000071 26 FUNC GLOBAL DEFAULT 1 fftw_md5INT │ │ │ │ │ + 7: 0000008d 26 FUNC GLOBAL DEFAULT 1 fftw_md5unsigned │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,8 +1,8 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x1bc contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x1e4 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000012 0000030a R_ARM_THM_CALL 00000000 fftw_md5putc │ │ │ │ │ -0000002a 0000030a R_ARM_THM_CALL 00000000 fftw_md5putc │ │ │ │ │ -00000044 0000020a R_ARM_THM_CALL 00000001 fftw_md5putb │ │ │ │ │ -0000005c 0000020a R_ARM_THM_CALL 00000001 fftw_md5putb │ │ │ │ │ -00000074 0000020a R_ARM_THM_CALL 00000001 fftw_md5putb │ │ │ │ │ +0000001e 0000030a R_ARM_THM_CALL 00000000 fftw_md5putc │ │ │ │ │ +00000040 0000030a R_ARM_THM_CALL 00000000 fftw_md5putc │ │ │ │ │ +00000064 0000020a R_ARM_THM_CALL 00000001 fftw_md5putb │ │ │ │ │ +00000080 0000020a R_ARM_THM_CALL 00000001 fftw_md5putb │ │ │ │ │ +0000009c 0000020a R_ARM_THM_CALL 00000001 fftw_md5putb │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,75 +1,80 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_md5putb(): │ │ │ │ │ - cbz r2, 1c │ │ │ │ │ - subs r2, #1 │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ + cbz r2, 2e │ │ │ │ │ + add.w r2, r2, #4294967295 @ 0xffffffff │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ + add.w r4, r1, #4294967295 @ 0xffffffff │ │ │ │ │ + add.w r5, r1, r2 │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ mov r6, r0 │ │ │ │ │ - subs r4, r1, #1 │ │ │ │ │ - adds r5, r1, r2 │ │ │ │ │ ldrb.w r1, [r4, #1]! │ │ │ │ │ mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5putc │ │ │ │ │ cmp r4, r5 │ │ │ │ │ - bne.n c │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ + bne.n 18 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ bx lr │ │ │ │ │ - nop │ │ │ │ │ │ │ │ │ │ -00000020 : │ │ │ │ │ +00000030 : │ │ │ │ │ fftw_md5puts(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ - mov r5, r0 │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r1 │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ + mov r5, r0 │ │ │ │ │ ldrb r1, [r4, #0] │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5putc │ │ │ │ │ ldrb.w r3, [r4], #1 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bne.n 26 │ │ │ │ │ - pop {r3, r4, r5, pc} │ │ │ │ │ + bne.n 3c │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r5, pc} │ │ │ │ │ │ │ │ │ │ -00000038 : │ │ │ │ │ +00000054 : │ │ │ │ │ fftw_md5int(): │ │ │ │ │ - push {lr} │ │ │ │ │ - movs r2, #4 │ │ │ │ │ + str.w lr, [sp, #-4]! │ │ │ │ │ sub sp, #12 │ │ │ │ │ + mov.w r2, #4 │ │ │ │ │ str r1, [sp, #4] │ │ │ │ │ add.w r1, sp, r2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5putb │ │ │ │ │ add sp, #12 │ │ │ │ │ ldr.w pc, [sp], #4 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000050 : │ │ │ │ │ +00000070 : │ │ │ │ │ fftw_md5INT(): │ │ │ │ │ - push {lr} │ │ │ │ │ - movs r2, #4 │ │ │ │ │ + str.w lr, [sp, #-4]! │ │ │ │ │ sub sp, #12 │ │ │ │ │ + mov.w r2, #4 │ │ │ │ │ str r1, [sp, #4] │ │ │ │ │ add.w r1, sp, r2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5putb │ │ │ │ │ add sp, #12 │ │ │ │ │ ldr.w pc, [sp], #4 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000068 : │ │ │ │ │ +0000008c : │ │ │ │ │ fftw_md5unsigned(): │ │ │ │ │ - push {lr} │ │ │ │ │ - movs r2, #4 │ │ │ │ │ + str.w lr, [sp, #-4]! │ │ │ │ │ sub sp, #12 │ │ │ │ │ + mov.w r2, #4 │ │ │ │ │ str r1, [sp, #4] │ │ │ │ │ add.w r1, sp, r2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5putb │ │ │ │ │ add sp, #12 │ │ │ │ │ ldr.w pc, [sp], #4 │ │ │ │ │ nop │ │ │ ├── md5.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1256 (bytes into file) │ │ │ │ │ + Start of section headers: 1352 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 11 │ │ │ │ │ Section header string table index: 10 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,20 +1,20 @@ │ │ │ │ │ -There are 11 section headers, starting at offset 0x4e8: │ │ │ │ │ +There are 11 section headers, starting at offset 0x548: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000190 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000468 000028 08 I 8 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0001c4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0001c4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata PROGBITS 00000000 0001c4 000180 00 A 0 0 4 │ │ │ │ │ - [ 6] .note.GNU-stack PROGBITS 00000000 000344 000000 00 0 0 1 │ │ │ │ │ - [ 7] .ARM.attributes ARM_ATTRIBUTES 00000000 000344 000033 00 0 0 1 │ │ │ │ │ - [ 8] .symtab SYMTAB 00000000 000378 0000b0 10 9 8 4 │ │ │ │ │ - [ 9] .strtab STRTAB 00000000 000428 00003e 00 0 0 1 │ │ │ │ │ - [10] .shstrtab STRTAB 00000000 000490 000058 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0001f0 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0004c8 000028 08 I 8 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000224 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000224 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata PROGBITS 00000000 000224 000180 00 A 0 0 4 │ │ │ │ │ + [ 6] .note.GNU-stack PROGBITS 00000000 0003a4 000000 00 0 0 1 │ │ │ │ │ + [ 7] .ARM.attributes ARM_ATTRIBUTES 00000000 0003a4 000033 00 0 0 1 │ │ │ │ │ + [ 8] .symtab SYMTAB 00000000 0003d8 0000b0 10 9 8 4 │ │ │ │ │ + [ 9] .strtab STRTAB 00000000 000488 00003e 00 0 0 1 │ │ │ │ │ + [10] .shstrtab STRTAB 00000000 0004f0 000058 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 11 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000154 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 3: 00000160 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 2: 0000019c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000001a8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 4: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 6: 00000000 256 OBJECT LOCAL DEFAULT 5 sintab │ │ │ │ │ 7: 00000100 128 OBJECT LOCAL DEFAULT 5 roundtab │ │ │ │ │ - 8: 00000001 46 FUNC GLOBAL DEFAULT 1 fftw_md5begin │ │ │ │ │ - 9: 00000031 304 FUNC GLOBAL DEFAULT 1 fftw_md5putc │ │ │ │ │ - 10: 00000161 48 FUNC GLOBAL DEFAULT 1 fftw_md5end │ │ │ │ │ + 8: 00000001 48 FUNC GLOBAL DEFAULT 1 fftw_md5begin │ │ │ │ │ + 9: 00000031 376 FUNC GLOBAL DEFAULT 1 fftw_md5putc │ │ │ │ │ + 10: 000001a9 70 FUNC GLOBAL DEFAULT 1 fftw_md5end │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,8 +1,8 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x468 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x4c8 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000154 00000403 R_ARM_REL32 00000000 .rodata │ │ │ │ │ -00000158 00000403 R_ARM_REL32 00000000 .rodata │ │ │ │ │ -0000015c 00000403 R_ARM_REL32 00000000 .rodata │ │ │ │ │ -00000170 0000090a R_ARM_THM_CALL 00000031 fftw_md5putc │ │ │ │ │ -00000184 0000090a R_ARM_THM_CALL 00000031 fftw_md5putc │ │ │ │ │ +0000019c 00000403 R_ARM_REL32 00000000 .rodata │ │ │ │ │ +000001a0 00000403 R_ARM_REL32 00000000 .rodata │ │ │ │ │ +000001a4 00000403 R_ARM_REL32 00000000 .rodata │ │ │ │ │ +000001c4 0000090a R_ARM_THM_CALL 00000031 fftw_md5putc │ │ │ │ │ +000001de 0000090a R_ARM_THM_CALL 00000031 fftw_md5putc │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,8 +1,7 @@ │ │ │ │ │ -F5N\F5O}D~D │ │ │ │ │ roundtab │ │ │ │ │ fftw_md5begin │ │ │ │ │ fftw_md5putc │ │ │ │ │ fftw_md5end │ │ │ │ │ .shstrtab │ │ │ │ │ .rel.text │ │ │ │ │ .note.GNU-stack │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -13,155 +13,175 @@ │ │ │ │ │ str r3, [r0, #4] │ │ │ │ │ movw r3, #56574 @ 0xdcfe │ │ │ │ │ movt r3, #39098 @ 0x98ba │ │ │ │ │ str r3, [r0, #8] │ │ │ │ │ movw r3, #21622 @ 0x5476 │ │ │ │ │ movt r3, #4146 @ 0x1032 │ │ │ │ │ str r3, [r0, #12] │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ str r3, [r0, #80] @ 0x50 │ │ │ │ │ bx lr │ │ │ │ │ - nop │ │ │ │ │ │ │ │ │ │ 00000030 : │ │ │ │ │ fftw_md5putc(): │ │ │ │ │ ldr r3, [r0, #80] @ 0x50 │ │ │ │ │ and.w r2, r3, #63 @ 0x3f │ │ │ │ │ - adds r3, #1 │ │ │ │ │ add r2, r0 │ │ │ │ │ strb r1, [r2, #16] │ │ │ │ │ - str r3, [r0, #80] @ 0x50 │ │ │ │ │ - lsls r3, r3, #26 │ │ │ │ │ - beq.n 44 │ │ │ │ │ + add.w r1, r3, #1 │ │ │ │ │ + str r1, [r0, #80] @ 0x50 │ │ │ │ │ + ands.w r1, r1, #63 @ 0x3f │ │ │ │ │ + beq.n 48 │ │ │ │ │ bx lr │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r8, r0 │ │ │ │ │ - add.w r4, r0, #16 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #76 @ 0x4c │ │ │ │ │ - add.w r7, r0, #80 @ 0x50 │ │ │ │ │ - add r6, sp, #8 │ │ │ │ │ - mov r5, r6 │ │ │ │ │ - ldr r0, [r4, #0] │ │ │ │ │ - ldr r1, [r4, #4] │ │ │ │ │ - adds r4, #16 │ │ │ │ │ - ldr.w r2, [r4, #-8] │ │ │ │ │ - ldr.w r3, [r4, #-4] │ │ │ │ │ - cmp r4, r7 │ │ │ │ │ - stmia r5!, {r0, r1, r2, r3} │ │ │ │ │ - mov r6, r5 │ │ │ │ │ - bne.n 56 │ │ │ │ │ - ldrd sl, r9, [r8] │ │ │ │ │ - str.w sl, [sp, #4] │ │ │ │ │ - ldrd r0, fp, [r8, #8] │ │ │ │ │ - mov r2, sl │ │ │ │ │ - ldr r5, [pc, #212] @ (154 ) │ │ │ │ │ - mov ip, r9 │ │ │ │ │ - ldr r6, [pc, #212] @ (158 ) │ │ │ │ │ - mov r4, fp │ │ │ │ │ - ldr r7, [pc, #212] @ (15c ) │ │ │ │ │ + ldr r4, [r0, #16] │ │ │ │ │ + ldr r2, [r0, #20] │ │ │ │ │ + ldr r5, [pc, #312] @ (19c ) │ │ │ │ │ + ldr r6, [pc, #312] @ (1a0 ) │ │ │ │ │ + strd r4, r2, [sp, #8] │ │ │ │ │ + ldr r4, [r0, #24] │ │ │ │ │ add r5, pc │ │ │ │ │ + ldr r2, [r0, #28] │ │ │ │ │ + sub.w r5, r5, #4 │ │ │ │ │ add r6, pc │ │ │ │ │ - subs r5, #4 │ │ │ │ │ - add r7, pc │ │ │ │ │ - mov lr, r0 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + ldr r7, [pc, #300] @ (1a4 ) │ │ │ │ │ add.w r6, r6, #256 @ 0x100 │ │ │ │ │ + strd r4, r2, [sp, #16] │ │ │ │ │ + ldr r4, [r0, #32] │ │ │ │ │ + add r7, pc │ │ │ │ │ + ldr r2, [r0, #36] @ 0x24 │ │ │ │ │ add.w r7, r7, #256 @ 0x100 │ │ │ │ │ + strd r4, r2, [sp, #24] │ │ │ │ │ + ldr r4, [r0, #40] @ 0x28 │ │ │ │ │ + ldr r2, [r0, #44] @ 0x2c │ │ │ │ │ + strd r4, r2, [sp, #32] │ │ │ │ │ + ldr r4, [r0, #48] @ 0x30 │ │ │ │ │ + ldr r2, [r0, #52] @ 0x34 │ │ │ │ │ + strd r4, r2, [sp, #40] @ 0x28 │ │ │ │ │ + ldr r4, [r0, #56] @ 0x38 │ │ │ │ │ + ldr r2, [r0, #60] @ 0x3c │ │ │ │ │ + ldrd sl, r9, [r0] │ │ │ │ │ + ldrd r8, fp, [r0, #8] │ │ │ │ │ + strd r4, r2, [sp, #48] @ 0x30 │ │ │ │ │ + mov ip, r9 │ │ │ │ │ + ldr r4, [r0, #64] @ 0x40 │ │ │ │ │ + mov lr, r8 │ │ │ │ │ + str.w sl, [sp, #4] │ │ │ │ │ + ldr r2, [r0, #68] @ 0x44 │ │ │ │ │ + strd r4, r2, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r4, [r0, #72] @ 0x48 │ │ │ │ │ + ldr r2, [r0, #76] @ 0x4c │ │ │ │ │ + strd r4, r2, [sp, #64] @ 0x40 │ │ │ │ │ + mov r2, sl │ │ │ │ │ + mov r4, fp │ │ │ │ │ mov sl, r0 │ │ │ │ │ - b.n e4 │ │ │ │ │ + b.n 10e │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - itete ne │ │ │ │ │ - eorne.w r3, lr, r4 │ │ │ │ │ - eoreq.w r3, lr, ip │ │ │ │ │ - andne.w r3, r3, ip │ │ │ │ │ - andeq r3, r4 │ │ │ │ │ - ite ne │ │ │ │ │ - eorne r3, r4 │ │ │ │ │ - eoreq.w r3, r3, lr │ │ │ │ │ + beq.n 18c │ │ │ │ │ + eor.w r3, lr, r4 │ │ │ │ │ + and.w r3, r3, ip │ │ │ │ │ + eor.w r3, r3, r4 │ │ │ │ │ add r2, r3 │ │ │ │ │ ldrb.w r3, [r6, r1, lsl #1] │ │ │ │ │ ldr.w r0, [r5, #4]! │ │ │ │ │ add.w r3, sp, r3, lsl #2 │ │ │ │ │ ldr r3, [r3, #8] │ │ │ │ │ add r3, r0 │ │ │ │ │ add r3, r2 │ │ │ │ │ add.w r2, r6, r1, lsl #1 │ │ │ │ │ - adds r1, #1 │ │ │ │ │ + add.w r1, r1, #1 │ │ │ │ │ ldrb r2, [r2, #1] │ │ │ │ │ rsb r2, r2, #32 │ │ │ │ │ - rors r3, r2 │ │ │ │ │ + ror.w r3, r3, r2 │ │ │ │ │ add r3, ip │ │ │ │ │ mov r2, r4 │ │ │ │ │ mov r4, lr │ │ │ │ │ mov lr, ip │ │ │ │ │ mov ip, r3 │ │ │ │ │ - asrs r3, r1, #4 │ │ │ │ │ + mov.w r3, r1, asr #4 │ │ │ │ │ cmp r3, #2 │ │ │ │ │ - beq.n 146 │ │ │ │ │ + beq.n 180 │ │ │ │ │ cmp r3, #3 │ │ │ │ │ - bne.n 9e │ │ │ │ │ + bne.n ce │ │ │ │ │ orn r3, ip, r4 │ │ │ │ │ ldr.w r0, [r5, #4]! │ │ │ │ │ eor.w r3, r3, lr │ │ │ │ │ add r2, r3 │ │ │ │ │ ldrb.w r3, [r7, r1, lsl #1] │ │ │ │ │ add.w r3, sp, r3, lsl #2 │ │ │ │ │ ldr r3, [r3, #8] │ │ │ │ │ add r3, r0 │ │ │ │ │ add r3, r2 │ │ │ │ │ add.w r2, r7, r1, lsl #1 │ │ │ │ │ - adds r1, #1 │ │ │ │ │ + add.w r1, r1, #1 │ │ │ │ │ cmp r1, #64 @ 0x40 │ │ │ │ │ ldrb r2, [r2, #1] │ │ │ │ │ rsb r2, r2, #32 │ │ │ │ │ ror.w r3, r3, r2 │ │ │ │ │ add r3, ip │ │ │ │ │ - bne.n dc │ │ │ │ │ + bne.n 106 │ │ │ │ │ mov r0, sl │ │ │ │ │ ldr.w sl, [sp, #4] │ │ │ │ │ add r3, r9 │ │ │ │ │ - add r0, ip │ │ │ │ │ add r4, sl │ │ │ │ │ - str.w r3, [r8, #4] │ │ │ │ │ - str.w r4, [r8] │ │ │ │ │ + strd r4, r3, [r0] │ │ │ │ │ + add.w r3, r8, ip │ │ │ │ │ + str r3, [r0, #8] │ │ │ │ │ add.w r3, fp, lr │ │ │ │ │ - str.w r0, [r8, #8] │ │ │ │ │ - str.w r3, [r8, #12] │ │ │ │ │ + str r3, [r0, #12] │ │ │ │ │ add sp, #76 @ 0x4c │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ eor.w r3, lr, r4 │ │ │ │ │ eor.w r3, r3, ip │ │ │ │ │ add r2, r3 │ │ │ │ │ - b.n ba │ │ │ │ │ - nop │ │ │ │ │ - .word 0x000000ca │ │ │ │ │ + b.n e0 │ │ │ │ │ + eor.w r3, lr, ip │ │ │ │ │ + and.w r3, r3, r4 │ │ │ │ │ + eor.w r3, r3, lr │ │ │ │ │ + add r2, r3 │ │ │ │ │ + b.n e0 │ │ │ │ │ + .word 0x0000012c │ │ │ │ │ R_ARM_REL32 .rodata │ │ │ │ │ - .word 0x000000cc │ │ │ │ │ + .word 0x00000128 │ │ │ │ │ R_ARM_REL32 .rodata │ │ │ │ │ - .word 0x000000cc │ │ │ │ │ + .word 0x0000011e │ │ │ │ │ R_ARM_REL32 .rodata │ │ │ │ │ │ │ │ │ │ -00000160 : │ │ │ │ │ +000001a8 : │ │ │ │ │ fftw_md5end(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ - movs r1, #128 @ 0x80 │ │ │ │ │ - ldr r5, [r0, #80] @ 0x50 │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ + mov.w r1, #128 @ 0x80 │ │ │ │ │ mov r4, r0 │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ - b.n 170 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + ldr r5, [r0, #80] @ 0x50 │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ + b.n 1c4 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ bl 30 │ │ │ │ │ R_ARM_THM_CALL fftw_md5putc │ │ │ │ │ ldr r3, [r4, #80] @ 0x50 │ │ │ │ │ and.w r3, r3, #63 @ 0x3f │ │ │ │ │ cmp r3, #56 @ 0x38 │ │ │ │ │ - bne.n 16c │ │ │ │ │ - movs r6, #8 │ │ │ │ │ + bne.n 1be │ │ │ │ │ + mov.w r6, #8 │ │ │ │ │ uxtb r1, r5 │ │ │ │ │ mov r0, r4 │ │ │ │ │ + mov.w r5, r5, lsr #8 │ │ │ │ │ bl 30 │ │ │ │ │ R_ARM_THM_CALL fftw_md5putc │ │ │ │ │ - lsrs r5, r5, #8 │ │ │ │ │ subs r6, #1 │ │ │ │ │ - bne.n 180 │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ + bne.n 1d6 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ + nop │ │ │ ├── ops.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 652 (bytes into file) │ │ │ │ │ + Start of section headers: 672 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 10 │ │ │ │ │ Section header string table index: 9 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ -There are 10 section headers, starting at offset 0x28c: │ │ │ │ │ +There are 10 section headers, starting at offset 0x2a0: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0000bc 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00021c 000020 08 I 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0000f0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0000f0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .note.GNU-stack PROGBITS 00000000 0000f0 000000 00 0 0 1 │ │ │ │ │ - [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 0000f0 000033 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 000124 000090 10 8 2 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 0001b4 000066 00 0 0 1 │ │ │ │ │ - [ 9] .shstrtab STRTAB 00000000 00023c 000050 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0000d0 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000230 000020 08 I 7 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000104 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000104 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .note.GNU-stack PROGBITS 00000000 000104 000000 00 0 0 1 │ │ │ │ │ + [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000104 000033 00 0 0 1 │ │ │ │ │ + [ 7] .symtab SYMTAB 00000000 000138 000090 10 8 2 4 │ │ │ │ │ + [ 8] .strtab STRTAB 00000000 0001c8 000066 00 0 0 1 │ │ │ │ │ + [ 9] .shstrtab STRTAB 00000000 000250 000050 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 9 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 22 FUNC GLOBAL DEFAULT 1 fftw_ops_zero │ │ │ │ │ - 3: 00000019 26 FUNC GLOBAL DEFAULT 1 fftw_ops_cpy │ │ │ │ │ - 4: 00000035 32 FUNC GLOBAL DEFAULT 1 fftw_ops_other │ │ │ │ │ - 5: 00000055 74 FUNC GLOBAL DEFAULT 1 fftw_ops_madd │ │ │ │ │ - 6: 000000a1 12 FUNC GLOBAL DEFAULT 1 fftw_ops_add │ │ │ │ │ - 7: 000000ad 6 FUNC GLOBAL DEFAULT 1 fftw_ops_add2 │ │ │ │ │ - 8: 000000b5 6 FUNC GLOBAL DEFAULT 1 fftw_ops_madd2 │ │ │ │ │ + 2: 00000001 26 FUNC GLOBAL DEFAULT 1 fftw_ops_zero │ │ │ │ │ + 3: 0000001d 34 FUNC GLOBAL DEFAULT 1 fftw_ops_cpy │ │ │ │ │ + 4: 00000041 34 FUNC GLOBAL DEFAULT 1 fftw_ops_other │ │ │ │ │ + 5: 00000065 74 FUNC GLOBAL DEFAULT 1 fftw_ops_madd │ │ │ │ │ + 6: 000000b1 14 FUNC GLOBAL DEFAULT 1 fftw_ops_add │ │ │ │ │ + 7: 000000c1 6 FUNC GLOBAL DEFAULT 1 fftw_ops_add2 │ │ │ │ │ + 8: 000000c9 6 FUNC GLOBAL DEFAULT 1 fftw_ops_madd2 │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,7 +1,7 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x21c contains 4 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x230 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000042 0000020a R_ARM_THM_CALL 00000001 fftw_ops_zero │ │ │ │ │ -000000a8 0000051e R_ARM_THM_JUMP24 00000055 fftw_ops_madd │ │ │ │ │ -000000ae 0000061e R_ARM_THM_JUMP24 000000a1 fftw_ops_add │ │ │ │ │ -000000b6 0000051e R_ARM_THM_JUMP24 00000055 fftw_ops_madd │ │ │ │ │ +00000050 0000020a R_ARM_THM_CALL 00000001 fftw_ops_zero │ │ │ │ │ +000000ba 0000051e R_ARM_THM_JUMP24 00000065 fftw_ops_madd │ │ │ │ │ +000000c2 0000061e R_ARM_THM_JUMP24 000000b1 fftw_ops_add │ │ │ │ │ +000000ca 0000051e R_ARM_THM_JUMP24 00000065 fftw_ops_madd │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,50 +1,52 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_ops_zero(): │ │ │ │ │ - movs r2, #0 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - strd r2, r3, [r0, #24] │ │ │ │ │ - strd r2, r3, [r0, #16] │ │ │ │ │ - strd r2, r3, [r0, #8] │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ strd r2, r3, [r0] │ │ │ │ │ + strd r2, r3, [r0, #8] │ │ │ │ │ + strd r2, r3, [r0, #16] │ │ │ │ │ + strd r2, r3, [r0, #24] │ │ │ │ │ bx lr │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000018 : │ │ │ │ │ +0000001c : │ │ │ │ │ fftw_ops_cpy(): │ │ │ │ │ - push {lr} │ │ │ │ │ - mov lr, r0 │ │ │ │ │ - mov ip, r1 │ │ │ │ │ - ldmia.w lr!, {r0, r1, r2, r3} │ │ │ │ │ - stmia.w ip!, {r0, r1, r2, r3} │ │ │ │ │ - ldmia.w lr, {r0, r1, r2, r3} │ │ │ │ │ - stmia.w ip, {r0, r1, r2, r3} │ │ │ │ │ - ldr.w pc, [sp], #4 │ │ │ │ │ + ldrd r2, r3, [r0] │ │ │ │ │ + strd r2, r3, [r1] │ │ │ │ │ + ldrd r2, r3, [r0, #8] │ │ │ │ │ + strd r2, r3, [r1, #8] │ │ │ │ │ + ldrd r2, r3, [r0, #16] │ │ │ │ │ + strd r2, r3, [r1, #16] │ │ │ │ │ + ldrd r2, r3, [r0, #24] │ │ │ │ │ + strd r2, r3, [r1, #24] │ │ │ │ │ + bx lr │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000034 : │ │ │ │ │ +00000040 : │ │ │ │ │ fftw_ops_other(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r1 │ │ │ │ │ vpush {d8} │ │ │ │ │ vmov s16, r0 │ │ │ │ │ mov r0, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_zero │ │ │ │ │ vcvt.f64.s32 d7, s16 │ │ │ │ │ vpop {d8} │ │ │ │ │ vstr d7, [r4, #24] │ │ │ │ │ pop {r4, pc} │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000054 : │ │ │ │ │ +00000064 : │ │ │ │ │ fftw_ops_madd(): │ │ │ │ │ vmov s14, r0 │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ vcvt.f64.s32 d7, s14 │ │ │ │ │ vmla.f64 d6, d7, d5 │ │ │ │ │ vldr d5, [r1, #8] │ │ │ │ │ @@ -59,29 +61,30 @@ │ │ │ │ │ vstr d6, [r3, #16] │ │ │ │ │ vldr d6, [r2, #24] │ │ │ │ │ vmla.f64 d6, d7, d5 │ │ │ │ │ vstr d6, [r3, #24] │ │ │ │ │ bx lr │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000000a0 : │ │ │ │ │ +000000b0 : │ │ │ │ │ fftw_ops_add(): │ │ │ │ │ mov r3, r2 │ │ │ │ │ mov r2, r1 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - movs r0, #1 │ │ │ │ │ - b.w 54 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ + b.w 64 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_ops_madd │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -000000ac : │ │ │ │ │ +000000c0 : │ │ │ │ │ fftw_ops_add2(): │ │ │ │ │ mov r2, r1 │ │ │ │ │ - b.w a0 │ │ │ │ │ + b.w b0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_ops_add │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000000b4 : │ │ │ │ │ +000000c8 : │ │ │ │ │ fftw_ops_madd2(): │ │ │ │ │ mov r3, r2 │ │ │ │ │ - b.w 54 │ │ │ │ │ + b.w 64 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_ops_madd │ │ │ │ │ nop │ │ │ ├── pickdim.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 676 (bytes into file) │ │ │ │ │ + Start of section headers: 732 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 9 │ │ │ │ │ Section header string table index: 8 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,18 +1,18 @@ │ │ │ │ │ -There are 9 section headers, starting at offset 0x2a4: │ │ │ │ │ +There are 9 section headers, starting at offset 0x2dc: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0001ac 00 AX 0 0 4 │ │ │ │ │ - [ 2] .data PROGBITS 00000000 0001e0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 3] .bss NOBITS 00000000 0001e0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .note.GNU-stack PROGBITS 00000000 0001e0 000000 00 0 0 1 │ │ │ │ │ - [ 5] .ARM.attributes ARM_ATTRIBUTES 00000000 0001e0 000033 00 0 0 1 │ │ │ │ │ - [ 6] .symtab SYMTAB 00000000 000214 000030 10 7 2 4 │ │ │ │ │ - [ 7] .strtab STRTAB 00000000 000244 000011 00 0 0 1 │ │ │ │ │ - [ 8] .shstrtab STRTAB 00000000 000255 00004c 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0001e4 00 AX 0 0 4 │ │ │ │ │ + [ 2] .data PROGBITS 00000000 000218 000000 00 WA 0 0 1 │ │ │ │ │ + [ 3] .bss NOBITS 00000000 000218 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .note.GNU-stack PROGBITS 00000000 000218 000000 00 0 0 1 │ │ │ │ │ + [ 5] .ARM.attributes ARM_ATTRIBUTES 00000000 000218 000033 00 0 0 1 │ │ │ │ │ + [ 6] .symtab SYMTAB 00000000 00024c 000030 10 7 2 4 │ │ │ │ │ + [ 7] .strtab STRTAB 00000000 00027c 000011 00 0 0 1 │ │ │ │ │ + [ 8] .shstrtab STRTAB 00000000 00028d 00004c 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,6 +1,6 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 3 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 426 FUNC GLOBAL DEFAULT 1 fftw_pickdim │ │ │ │ │ + 2: 00000001 484 FUNC GLOBAL DEFAULT 1 fftw_pickdim │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,186 +1,180 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_pickdim(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ mov r4, r3 │ │ │ │ │ - mov r6, r2 │ │ │ │ │ - sub sp, #12 │ │ │ │ │ - ldr r3, [r3, #0] │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ subs r5, r0, #0 │ │ │ │ │ - ldr r7, [sp, #48] @ 0x30 │ │ │ │ │ - ble.w 146 │ │ │ │ │ + ldr r3, [r3, #0] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + ldr r7, [sp, #36] @ 0x24 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + mov fp, r2 │ │ │ │ │ + ble.w 16e │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.n ae │ │ │ │ │ + ble.n b2 │ │ │ │ │ cmp r7, #0 │ │ │ │ │ - bne.n b6 │ │ │ │ │ - mov r0, r4 │ │ │ │ │ - mov ip, r7 │ │ │ │ │ + bne.n cc │ │ │ │ │ + mov ip, r4 │ │ │ │ │ + mov lr, r7 │ │ │ │ │ mov r2, r7 │ │ │ │ │ - mov lr, r1 │ │ │ │ │ - mov r8, r4 │ │ │ │ │ - b.n 30 │ │ │ │ │ - adds r2, #1 │ │ │ │ │ - adds r0, #12 │ │ │ │ │ + b.n 3e │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ + add.w ip, ip, #12 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - beq.n ae │ │ │ │ │ - ldrd r1, r4, [r0, #8] │ │ │ │ │ - cmp r1, r4 │ │ │ │ │ - bne.n 28 │ │ │ │ │ - add.w ip, ip, #1 │ │ │ │ │ - cmp r5, ip │ │ │ │ │ - bne.n 28 │ │ │ │ │ - mov r1, lr │ │ │ │ │ - mov r4, r8 │ │ │ │ │ - ldr r3, [sp, #52] @ 0x34 │ │ │ │ │ + beq.n b2 │ │ │ │ │ + ldrd r6, r0, [ip, #8] │ │ │ │ │ + cmp r6, r0 │ │ │ │ │ + bne.n 32 │ │ │ │ │ + add.w lr, lr, #1 │ │ │ │ │ + cmp r5, lr │ │ │ │ │ + bne.n 32 │ │ │ │ │ + ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ str r2, [r3, #0] │ │ │ │ │ - cbz r6, a2 │ │ │ │ │ - subs r3, r1, #4 │ │ │ │ │ + cmp.w fp, #0 │ │ │ │ │ + beq.n a8 │ │ │ │ │ + sub.w r3, r1, #4 │ │ │ │ │ mov.w lr, #0 │ │ │ │ │ - mov.w sl, #12 │ │ │ │ │ - mov r9, r2 │ │ │ │ │ - mov r8, r3 │ │ │ │ │ - ldr.w r3, [r8, #4]! │ │ │ │ │ - cmp r3, r5 │ │ │ │ │ - beq.n a2 │ │ │ │ │ + ldr.w r9, [r3, #4]! │ │ │ │ │ + cmp r9, r5 │ │ │ │ │ + beq.n a8 │ │ │ │ │ + cmp.w r9, #0 │ │ │ │ │ ldr r1, [r4, #0] │ │ │ │ │ - cmp r3, #0 │ │ │ │ │ - ble.n c8 │ │ │ │ │ + ble.n e4 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - ble.n 9a │ │ │ │ │ + ble.n a0 │ │ │ │ │ cmp r7, #0 │ │ │ │ │ - bne.n 100 │ │ │ │ │ - mov r0, r4 │ │ │ │ │ + bne.n 124 │ │ │ │ │ + mov r8, r4 │ │ │ │ │ + mov sl, r7 │ │ │ │ │ mov ip, r7 │ │ │ │ │ - mov r2, r7 │ │ │ │ │ - mov fp, r5 │ │ │ │ │ - str r4, [sp, #4] │ │ │ │ │ - b.n 82 │ │ │ │ │ - adds r2, #1 │ │ │ │ │ - adds r0, #12 │ │ │ │ │ - cmp r1, r2 │ │ │ │ │ - beq.n 130 │ │ │ │ │ - ldrd r4, r5, [r0, #8] │ │ │ │ │ - cmp r4, r5 │ │ │ │ │ - bne.n 7a │ │ │ │ │ + b.n 8c │ │ │ │ │ add.w ip, ip, #1 │ │ │ │ │ - cmp r3, ip │ │ │ │ │ - bne.n 7a │ │ │ │ │ - ldr r4, [sp, #4] │ │ │ │ │ - mov r5, fp │ │ │ │ │ - cmp r9, r2 │ │ │ │ │ - beq.n ae │ │ │ │ │ + add.w r8, r8, #12 │ │ │ │ │ + cmp r1, ip │ │ │ │ │ + beq.n a0 │ │ │ │ │ + ldrd r6, r0, [r8, #8] │ │ │ │ │ + cmp r6, r0 │ │ │ │ │ + bne.n 80 │ │ │ │ │ + add.w sl, sl, #1 │ │ │ │ │ + cmp r9, sl │ │ │ │ │ + bne.n 80 │ │ │ │ │ + cmp r2, ip │ │ │ │ │ + beq.n b2 │ │ │ │ │ add.w lr, lr, #1 │ │ │ │ │ - cmp r6, lr │ │ │ │ │ - bne.n 58 │ │ │ │ │ - movs r0, #1 │ │ │ │ │ - add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + cmp fp, lr │ │ │ │ │ + bne.n 60 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ + b.n b6 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bge.n 180 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - subs r2, r5, #1 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - b.n c2 │ │ │ │ │ - adds r0, #1 │ │ │ │ │ + bge.n 1ae │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + add.w r2, r5, #4294967295 @ 0xffffffff │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + b.n de │ │ │ │ │ + add.w r0, r0, #1 │ │ │ │ │ cmp r3, r0 │ │ │ │ │ - beq.n ae │ │ │ │ │ - cmp r0, r2 │ │ │ │ │ - bne.n bc │ │ │ │ │ - b.n 44 │ │ │ │ │ - add.w ip, r1, #4294967295 @ 0xffffffff │ │ │ │ │ - beq.n 112 │ │ │ │ │ - cmp.w ip, #0 │ │ │ │ │ - blt.n 9a │ │ │ │ │ - cbnz r7, 136 │ │ │ │ │ - mla r1, sl, r1, r4 │ │ │ │ │ - mov fp, r7 │ │ │ │ │ - negs r3, r3 │ │ │ │ │ - b.n ec │ │ │ │ │ - add.w ip, ip, #4294967295 @ 0xffffffff │ │ │ │ │ - subs r1, #12 │ │ │ │ │ - cmp.w ip, #4294967295 @ 0xffffffff │ │ │ │ │ - beq.n 9a │ │ │ │ │ - ldrd r2, r0, [r1, #-4] │ │ │ │ │ + beq.n b2 │ │ │ │ │ cmp r0, r2 │ │ │ │ │ - bne.n e0 │ │ │ │ │ - add.w fp, fp, #1 │ │ │ │ │ - cmp fp, r3 │ │ │ │ │ - bne.n e0 │ │ │ │ │ - mov r2, ip │ │ │ │ │ - b.n 96 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - b.n 108 │ │ │ │ │ + bne.n d6 │ │ │ │ │ + b.n 4e │ │ │ │ │ + add.w r8, r1, #4294967295 @ 0xffffffff │ │ │ │ │ + beq.n 13a │ │ │ │ │ + cmp.w r8, #0 │ │ │ │ │ + blt.n a0 │ │ │ │ │ + cbnz r7, 15c │ │ │ │ │ + add.w r1, r1, r1, lsl #1 │ │ │ │ │ + mov sl, r7 │ │ │ │ │ + rsb r9, r9, #0 │ │ │ │ │ + add.w ip, r4, r1, lsl #2 │ │ │ │ │ + b.n 110 │ │ │ │ │ + add.w r8, r8, #4294967295 @ 0xffffffff │ │ │ │ │ + sub.w ip, ip, #12 │ │ │ │ │ + cmp.w r8, #4294967295 @ 0xffffffff │ │ │ │ │ + beq.n a0 │ │ │ │ │ + ldrd r1, r0, [ip, #-4] │ │ │ │ │ + cmp r0, r1 │ │ │ │ │ + bne.n 102 │ │ │ │ │ + add.w sl, sl, #1 │ │ │ │ │ + cmp sl, r9 │ │ │ │ │ + bne.n 102 │ │ │ │ │ + mov ip, r8 │ │ │ │ │ + b.n 9c │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + b.n 12e │ │ │ │ │ cmp r1, r0 │ │ │ │ │ - beq.n 9a │ │ │ │ │ - mov r2, r0 │ │ │ │ │ - adds r0, #1 │ │ │ │ │ - cmp r3, r0 │ │ │ │ │ - bne.n 104 │ │ │ │ │ - b.n 96 │ │ │ │ │ + beq.n a0 │ │ │ │ │ + mov ip, r0 │ │ │ │ │ + add.w r0, r0, #1 │ │ │ │ │ + cmp r9, r0 │ │ │ │ │ + bne.n 12a │ │ │ │ │ + b.n 9c │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - blt.n 9a │ │ │ │ │ - add.w ip, ip, ip, lsr #31 │ │ │ │ │ - mov.w r2, ip, asr #1 │ │ │ │ │ + blt.n a0 │ │ │ │ │ + add.w r8, r8, r8, lsr #31 │ │ │ │ │ + mov.w ip, r8, asr #1 │ │ │ │ │ cmp r7, #0 │ │ │ │ │ - bne.n 96 │ │ │ │ │ - mla r3, sl, r2, r4 │ │ │ │ │ - ldrd r1, r3, [r3, #8] │ │ │ │ │ - cmp r1, r3 │ │ │ │ │ - bne.n 9a │ │ │ │ │ - b.n 96 │ │ │ │ │ - ldr r4, [sp, #4] │ │ │ │ │ - mov r5, fp │ │ │ │ │ - b.n 9a │ │ │ │ │ - adds r2, r1, r3 │ │ │ │ │ - b.n 140 │ │ │ │ │ - subs.w ip, ip, #1 │ │ │ │ │ - bcc.n 9a │ │ │ │ │ - cmp ip, r2 │ │ │ │ │ - bne.n 13a │ │ │ │ │ - b.n 96 │ │ │ │ │ - add.w r0, r3, #4294967295 @ 0xffffffff │ │ │ │ │ - beq.n aa │ │ │ │ │ - cmp r0, #0 │ │ │ │ │ - blt.n ae │ │ │ │ │ - cbnz r7, 19c │ │ │ │ │ - mov.w ip, #12 │ │ │ │ │ + bne.n 9c │ │ │ │ │ + add.w r1, ip, ip, lsl #1 │ │ │ │ │ + add.w r1, r4, r1, lsl #2 │ │ │ │ │ + ldrd r0, r1, [r1, #8] │ │ │ │ │ + cmp r0, r1 │ │ │ │ │ + bne.n a0 │ │ │ │ │ + b.n 9c │ │ │ │ │ + add.w ip, r1, r9 │ │ │ │ │ + b.n 168 │ │ │ │ │ + subs.w r8, r8, #1 │ │ │ │ │ + bcc.n a0 │ │ │ │ │ + cmp r8, ip │ │ │ │ │ + bne.n 162 │ │ │ │ │ + b.n 9c │ │ │ │ │ + add.w ip, r3, #4294967295 @ 0xffffffff │ │ │ │ │ + beq.n ae │ │ │ │ │ + cmp.w ip, #0 │ │ │ │ │ + blt.n b2 │ │ │ │ │ + cbnz r7, 1d0 │ │ │ │ │ + add.w r3, r3, r3, lsl #1 │ │ │ │ │ mov lr, r7 │ │ │ │ │ rsb r8, r5, #0 │ │ │ │ │ - mla ip, ip, r3, r4 │ │ │ │ │ - b.n 16c │ │ │ │ │ - subs r0, #1 │ │ │ │ │ - sub.w ip, ip, #12 │ │ │ │ │ - adds r3, r0, #1 │ │ │ │ │ - beq.n ae │ │ │ │ │ - ldrd r2, r3, [ip, #-4] │ │ │ │ │ - cmp r2, r3 │ │ │ │ │ - bne.n 162 │ │ │ │ │ + add.w r2, r4, r3, lsl #2 │ │ │ │ │ + b.n 19a │ │ │ │ │ + add.w ip, ip, #4294967295 @ 0xffffffff │ │ │ │ │ + sub.w r2, r2, #12 │ │ │ │ │ + cmp.w ip, #4294967295 @ 0xffffffff │ │ │ │ │ + beq.n b2 │ │ │ │ │ + ldrd r0, r3, [r2, #-4] │ │ │ │ │ + cmp r0, r3 │ │ │ │ │ + bne.n 18c │ │ │ │ │ add.w lr, lr, #1 │ │ │ │ │ cmp r8, lr │ │ │ │ │ - bne.n 162 │ │ │ │ │ - mov r2, r0 │ │ │ │ │ - b.n 44 │ │ │ │ │ - add.w r0, r0, r0, lsr #31 │ │ │ │ │ - asrs r2, r0, #1 │ │ │ │ │ + bne.n 18c │ │ │ │ │ + mov r2, ip │ │ │ │ │ + b.n 4e │ │ │ │ │ + add.w ip, ip, ip, lsr #31 │ │ │ │ │ + mov.w r2, ip, asr #1 │ │ │ │ │ cmp r7, #0 │ │ │ │ │ - bne.w 44 │ │ │ │ │ - movs r3, #12 │ │ │ │ │ - mla r3, r3, r2, r4 │ │ │ │ │ + bne.w 4e │ │ │ │ │ + add.w r3, r2, r2, lsl #1 │ │ │ │ │ + add.w r3, r4, r3, lsl #2 │ │ │ │ │ ldrd r0, r3, [r3, #8] │ │ │ │ │ cmp r0, r3 │ │ │ │ │ - bne.n ae │ │ │ │ │ - b.n 44 │ │ │ │ │ - adds r2, r5, r3 │ │ │ │ │ - b.n 1a4 │ │ │ │ │ - subs r0, #1 │ │ │ │ │ - bcc.n ae │ │ │ │ │ - cmp r0, r2 │ │ │ │ │ - bne.n 1a0 │ │ │ │ │ - b.n 44 │ │ │ │ │ - nop │ │ │ │ │ + bne.w b2 │ │ │ │ │ + b.n 4e │ │ │ │ │ + add.w r2, r5, r3 │ │ │ │ │ + b.n 1de │ │ │ │ │ + subs.w ip, ip, #1 │ │ │ │ │ + bcc.w b2 │ │ │ │ │ + cmp ip, r2 │ │ │ │ │ + bne.n 1d6 │ │ │ │ │ + b.n 4e │ │ │ ├── plan.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 564 (bytes into file) │ │ │ │ │ + Start of section headers: 600 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 10 │ │ │ │ │ Section header string table index: 9 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ -There are 10 section headers, starting at offset 0x234: │ │ │ │ │ +There are 10 section headers, starting at offset 0x258: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000054 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0001cc 000018 08 I 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000088 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000088 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .note.GNU-stack PROGBITS 00000000 000088 000000 00 0 0 1 │ │ │ │ │ - [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000088 000033 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 0000bc 000090 10 8 2 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 00014c 00007d 00 0 0 1 │ │ │ │ │ - [ 9] .shstrtab STRTAB 00000000 0001e4 000050 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000078 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0001f0 000018 08 I 7 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0000ac 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0000ac 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .note.GNU-stack PROGBITS 00000000 0000ac 000000 00 0 0 1 │ │ │ │ │ + [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 0000ac 000033 00 0 0 1 │ │ │ │ │ + [ 7] .symtab SYMTAB 00000000 0000e0 000090 10 8 2 4 │ │ │ │ │ + [ 8] .strtab STRTAB 00000000 000170 00007d 00 0 0 1 │ │ │ │ │ + [ 9] .shstrtab STRTAB 00000000 000208 000050 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 9 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 36 FUNC GLOBAL DEFAULT 1 fftw_mkplan │ │ │ │ │ + 2: 00000001 54 FUNC GLOBAL DEFAULT 1 fftw_mkplan │ │ │ │ │ 3: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_malloc_plain │ │ │ │ │ 4: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_zero │ │ │ │ │ - 5: 00000025 24 FUNC GLOBAL DEFAULT 1 fftw_plan_destroy_internal │ │ │ │ │ + 5: 00000039 28 FUNC GLOBAL DEFAULT 1 fftw_plan_destroy_internal │ │ │ │ │ 6: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ifree │ │ │ │ │ - 7: 0000003d 2 FUNC GLOBAL DEFAULT 1 fftw_plan_null_destroy │ │ │ │ │ - 8: 00000041 20 FUNC GLOBAL DEFAULT 1 fftw_plan_awake │ │ │ │ │ + 7: 00000055 2 FUNC GLOBAL DEFAULT 1 fftw_plan_null_destroy │ │ │ │ │ + 8: 00000059 32 FUNC GLOBAL DEFAULT 1 fftw_plan_awake │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,6 +1,6 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x1cc contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x1f0 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 0000030a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -0000000e 0000040a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ -00000036 0000061e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ │ +0000000a 0000030a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +00000014 0000040a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ +0000004e 0000061e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,54 +1,62 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_mkplan(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ mov r5, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ mov r4, r0 │ │ │ │ │ str.w r5, [r0], #8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_zero │ │ │ │ │ - movs r2, #0 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ strd r2, r3, [r4, #40] @ 0x28 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ strd r3, r3, [r4, #48] @ 0x30 │ │ │ │ │ - pop {r3, r4, r5, pc} │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r5, pc} │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000024 : │ │ │ │ │ +00000038 : │ │ │ │ │ fftw_plan_destroy_internal(): │ │ │ │ │ - cbz r0, 3a │ │ │ │ │ + cbz r0, 52 │ │ │ │ │ ldr r3, [r0, #0] │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldr r3, [r3, #12] │ │ │ │ │ blx r3 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_ifree │ │ │ │ │ bx lr │ │ │ │ │ │ │ │ │ │ -0000003c : │ │ │ │ │ +00000054 : │ │ │ │ │ fftw_plan_null_destroy(): │ │ │ │ │ bx lr │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000040 : │ │ │ │ │ +00000058 : │ │ │ │ │ fftw_plan_awake(): │ │ │ │ │ - cbz r0, 52 │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + cbz r0, 76 │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldr r3, [r0, #0] │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ mov r5, r1 │ │ │ │ │ ldr r3, [r3, #4] │ │ │ │ │ blx r3 │ │ │ │ │ str r5, [r4, #48] @ 0x30 │ │ │ │ │ - pop {r3, r4, r5, pc} │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r5, pc} │ │ │ │ │ bx lr │ │ │ ├── planner.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 7564 (bytes into file) │ │ │ │ │ + Start of section headers: 8128 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x1d8c: │ │ │ │ │ +There are 14 section headers, starting at offset 0x1fc0: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 001294 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 001a7c 000268 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0012c8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0012c8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0012c8 00010a 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 0013d2 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro.local PROGBITS 00000000 0013da 000014 00 WA 0 0 4 │ │ │ │ │ - [ 8] .rel.data.rel.ro.local REL 00000000 001ce4 000028 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 0013ee 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0013ee 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 001424 000410 10 12 40 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 001834 000245 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 001d0c 00007e 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0014c8 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 001cb0 000268 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0014fc 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0014fc 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0014fc 00010a 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 001606 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro.local PROGBITS 00000000 00160e 000014 00 WA 0 0 4 │ │ │ │ │ + [ 8] .rel.data.rel.ro.local REL 00000000 001f18 000028 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 001622 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 001622 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 001658 000410 10 12 40 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 001a68 000245 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 001f40 00007e 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,44 +1,44 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 65 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 156 FUNC LOCAL DEFAULT 1 register_solver │ │ │ │ │ + 1: 00000001 196 FUNC LOCAL DEFAULT 1 register_solver │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 3: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 4: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ 5: 0000000c 0 NOTYPE LOCAL DEFAULT 5 .LC1 │ │ │ │ │ - 6: 0000009d 236 FUNC LOCAL DEFAULT 1 hinsert0 │ │ │ │ │ - 7: 00000180 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 8: 00000188 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 9: 00000189 156 FUNC LOCAL DEFAULT 1 hgrow │ │ │ │ │ - 10: 00000225 92 FUNC LOCAL DEFAULT 1 forget │ │ │ │ │ - 11: 00000281 560 FUNC LOCAL DEFAULT 1 htab_insert │ │ │ │ │ - 12: 000004a8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 13: 000004b0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 14: 000004b1 302 FUNC LOCAL DEFAULT 1 htab_lookup │ │ │ │ │ + 6: 000000c5 284 FUNC LOCAL DEFAULT 1 hinsert0 │ │ │ │ │ + 7: 000001d8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 000001e0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 9: 000001e1 202 FUNC LOCAL DEFAULT 1 hgrow │ │ │ │ │ + 10: 000002ad 94 FUNC LOCAL DEFAULT 1 forget │ │ │ │ │ + 11: 0000030d 624 FUNC LOCAL DEFAULT 1 htab_insert │ │ │ │ │ + 12: 00000574 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 13: 0000057c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 14: 0000057d 342 FUNC LOCAL DEFAULT 1 htab_lookup │ │ │ │ │ 15: 00000024 0 NOTYPE LOCAL DEFAULT 5 .LC2 │ │ │ │ │ 16: 00000054 0 NOTYPE LOCAL DEFAULT 5 .LC3 │ │ │ │ │ 17: 00000058 0 NOTYPE LOCAL DEFAULT 5 .LC4 │ │ │ │ │ 18: 00000084 0 NOTYPE LOCAL DEFAULT 5 .LC5 │ │ │ │ │ 19: 00000094 0 NOTYPE LOCAL DEFAULT 5 .LC6 │ │ │ │ │ 20: 000000a4 0 NOTYPE LOCAL DEFAULT 5 .LC7 │ │ │ │ │ - 21: 000005e1 700 FUNC LOCAL DEFAULT 1 imprt │ │ │ │ │ - 22: 00000874 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 21: 000006d5 788 FUNC LOCAL DEFAULT 1 imprt │ │ │ │ │ + 22: 000009c0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 23: 000000d8 0 NOTYPE LOCAL DEFAULT 5 .LC8 │ │ │ │ │ 24: 000000dc 0 NOTYPE LOCAL DEFAULT 5 .LC9 │ │ │ │ │ - 25: 0000089c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 26: 0000089d 292 FUNC LOCAL DEFAULT 1 exprt │ │ │ │ │ - 27: 000009b0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 28: 000009c0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 29: 000009ed 160 FUNC LOCAL DEFAULT 1 evaluate_plan │ │ │ │ │ - 30: 00000a8d 496 FUNC LOCAL DEFAULT 1 search0 │ │ │ │ │ - 31: 00000c7d 1196 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 32: 000011d4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 33: 000011d8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 25: 000009e8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 26: 000009e9 312 FUNC LOCAL DEFAULT 1 exprt │ │ │ │ │ + 27: 00000b10 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 28: 00000b20 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 29: 00000b51 196 FUNC LOCAL DEFAULT 1 evaluate_plan │ │ │ │ │ + 30: 00000c15 526 FUNC LOCAL DEFAULT 1 search0 │ │ │ │ │ + 31: 00000e25 1262 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 32: 000013dc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 33: 000013e0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 34: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 35: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 36: 00000000 8 OBJECT LOCAL DEFAULT 6 stimeout │ │ │ │ │ 37: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro.local │ │ │ │ │ 38: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 39: 00000000 20 OBJECT LOCAL DEFAULT 7 padt.1 │ │ │ │ │ 40: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_use │ │ │ │ │ @@ -51,18 +51,18 @@ │ │ │ │ │ 47: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ifree │ │ │ │ │ 48: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_md5begin │ │ │ │ │ 49: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_md5unsigned │ │ │ │ │ 50: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_md5int │ │ │ │ │ 51: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_md5puts │ │ │ │ │ 52: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_md5end │ │ │ │ │ 53: 00000000 0 NOTYPE GLOBAL DEFAULT UND strcmp │ │ │ │ │ - 54: 000009c1 44 FUNC GLOBAL DEFAULT 1 fftw_iestimate_cost │ │ │ │ │ + 54: 00000b21 46 FUNC GLOBAL DEFAULT 1 fftw_iestimate_cost │ │ │ │ │ 55: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_measure_execution_time │ │ │ │ │ 56: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_destroy_internal │ │ │ │ │ 57: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_elapsed_since │ │ │ │ │ - 58: 00001129 176 FUNC GLOBAL DEFAULT 1 fftw_mkplanner │ │ │ │ │ + 58: 00001315 204 FUNC GLOBAL DEFAULT 1 fftw_mkplanner │ │ │ │ │ 59: 00000000 0 NOTYPE GLOBAL DEFAULT UND memset │ │ │ │ │ - 60: 000011d9 68 FUNC GLOBAL DEFAULT 1 fftw_planner_destroy │ │ │ │ │ + 60: 000013e1 86 FUNC GLOBAL DEFAULT 1 fftw_planner_destroy │ │ │ │ │ 61: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_destroy │ │ │ │ │ - 62: 0000121d 22 FUNC GLOBAL DEFAULT 1 fftw_mkplan_d │ │ │ │ │ + 62: 00001439 34 FUNC GLOBAL DEFAULT 1 fftw_mkplan_d │ │ │ │ │ 63: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_problem_destroy │ │ │ │ │ - 64: 00001235 94 FUNC GLOBAL DEFAULT 1 fftw_mkplan_f_d │ │ │ │ │ + 64: 0000145d 106 FUNC GLOBAL DEFAULT 1 fftw_mkplan_f_d │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,88 +1,88 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x1a7c contains 77 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x1cb0 contains 77 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000000c 0000280a R_ARM_THM_CALL 00000000 fftw_solver_use │ │ │ │ │ -00000030 0000290a R_ARM_THM_CALL 00000000 fftw_hash │ │ │ │ │ -0000005e 00002a0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -00000094 00002b0a R_ARM_THM_CALL 00000000 fftw_ifree0 │ │ │ │ │ -000000b2 00002c0a R_ARM_THM_CALL 00000000 __aeabi_uidivmod │ │ │ │ │ -000000c0 00002c0a R_ARM_THM_CALL 00000000 __aeabi_uidivmod │ │ │ │ │ -00000178 00002d0a R_ARM_THM_CALL 00000000 fftw_assertion_failed │ │ │ │ │ -00000180 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -00000184 00000503 R_ARM_REL32 0000000c .LC1 │ │ │ │ │ -000001a8 00002e0a R_ARM_THM_CALL 00000000 fftw_next_prime │ │ │ │ │ -000001b6 00002a0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -00000232 00002f0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -00000256 00002f0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -00000298 00002c0a R_ARM_THM_CALL 00000000 __aeabi_uidivmod │ │ │ │ │ -000002a2 00002c0a R_ARM_THM_CALL 00000000 __aeabi_uidivmod │ │ │ │ │ -00000424 00002d0a R_ARM_THM_CALL 00000000 fftw_assertion_failed │ │ │ │ │ -000004a8 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -000004ac 00000503 R_ARM_REL32 0000000c .LC1 │ │ │ │ │ -000004c6 00002c0a R_ARM_THM_CALL 00000000 __aeabi_uidivmod │ │ │ │ │ -000004d0 00002c0a R_ARM_THM_CALL 00000000 __aeabi_uidivmod │ │ │ │ │ -0000061a 0000300a R_ARM_THM_CALL 00000000 fftw_md5begin │ │ │ │ │ -00000622 0000310a R_ARM_THM_CALL 00000000 fftw_md5unsigned │ │ │ │ │ -00000646 0000320a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ -0000064e 0000330a R_ARM_THM_CALL 00000000 fftw_md5puts │ │ │ │ │ -0000065c 0000340a R_ARM_THM_CALL 00000000 fftw_md5end │ │ │ │ │ -000006ae 00002a0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -00000744 0000350a R_ARM_THM_CALL 00000000 strcmp │ │ │ │ │ -00000792 00002d0a R_ARM_THM_CALL 00000000 fftw_assertion_failed │ │ │ │ │ -000007ac 00002d0a R_ARM_THM_CALL 00000000 fftw_assertion_failed │ │ │ │ │ -000007e6 0000290a R_ARM_THM_CALL 00000000 fftw_hash │ │ │ │ │ -00000812 0000350a R_ARM_THM_CALL 00000000 strcmp │ │ │ │ │ -00000834 00002b0a R_ARM_THM_CALL 00000000 fftw_ifree0 │ │ │ │ │ -0000085e 00002d0a R_ARM_THM_CALL 00000000 fftw_assertion_failed │ │ │ │ │ -0000086c 00002b0a R_ARM_THM_CALL 00000000 fftw_ifree0 │ │ │ │ │ -00000874 00000f03 R_ARM_REL32 00000024 .LC2 │ │ │ │ │ -00000878 00001003 R_ARM_REL32 00000054 .LC3 │ │ │ │ │ -0000087c 00001103 R_ARM_REL32 00000058 .LC4 │ │ │ │ │ -00000880 00002203 R_ARM_REL32 00000000 .rodata │ │ │ │ │ -00000884 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -00000888 00001303 R_ARM_REL32 00000094 .LC6 │ │ │ │ │ -0000088c 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -00000890 00001403 R_ARM_REL32 000000a4 .LC7 │ │ │ │ │ -00000894 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -00000898 00001203 R_ARM_REL32 00000084 .LC5 │ │ │ │ │ -000008b0 0000300a R_ARM_THM_CALL 00000000 fftw_md5begin │ │ │ │ │ -000008b8 0000310a R_ARM_THM_CALL 00000000 fftw_md5unsigned │ │ │ │ │ -000008ce 0000320a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ -000008d6 0000330a R_ARM_THM_CALL 00000000 fftw_md5puts │ │ │ │ │ -000008e2 0000340a R_ARM_THM_CALL 00000000 fftw_md5end │ │ │ │ │ -000009b0 00000f03 R_ARM_REL32 00000024 .LC2 │ │ │ │ │ -000009b4 00001803 R_ARM_REL32 000000dc .LC9 │ │ │ │ │ -000009b8 00002203 R_ARM_REL32 00000000 .rodata │ │ │ │ │ -000009bc 00001703 R_ARM_REL32 000000d8 .LC8 │ │ │ │ │ -00000a12 0000360a R_ARM_THM_CALL 000009c1 fftw_iestimate_cost │ │ │ │ │ -00000a4e 0000370a R_ARM_THM_CALL 00000000 fftw_measure_execution_time │ │ │ │ │ -00000b6e 0000380a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000bd2 0000380a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000c14 0000390a R_ARM_THM_CALL 00000000 fftw_elapsed_since │ │ │ │ │ -00000c30 0000380a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000c36 0000380a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000c5c 0000390a R_ARM_THM_CALL 00000000 fftw_elapsed_since │ │ │ │ │ -00000cca 0000300a R_ARM_THM_CALL 00000000 fftw_md5begin │ │ │ │ │ -00000cd6 0000310a R_ARM_THM_CALL 00000000 fftw_md5unsigned │ │ │ │ │ -00000ce4 0000320a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ -00000cf4 0000340a R_ARM_THM_CALL 00000000 fftw_md5end │ │ │ │ │ -00000f78 0000380a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -0000112c 00002a0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -000011ca 00003b0a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ -000011d4 00002503 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -000011de 00002f0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -000011ea 00002f0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -00001202 00003d0a R_ARM_THM_CALL 00000000 fftw_solver_destroy │ │ │ │ │ -0000120e 00002b0a R_ARM_THM_CALL 00000000 fftw_ifree0 │ │ │ │ │ -0000122a 00003f0a R_ARM_THM_CALL 00000000 fftw_problem_destroy │ │ │ │ │ -0000127c 00003e0a R_ARM_THM_CALL 0000121d fftw_mkplan_d │ │ │ │ │ -00000220 00002b1e R_ARM_THM_JUMP24 00000000 fftw_ifree0 │ │ │ │ │ -00001218 00002f1e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ │ +00000016 0000280a R_ARM_THM_CALL 00000000 fftw_solver_use │ │ │ │ │ +00000040 0000290a R_ARM_THM_CALL 00000000 fftw_hash │ │ │ │ │ +0000007a 00002a0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +000000bc 00002b0a R_ARM_THM_CALL 00000000 fftw_ifree0 │ │ │ │ │ +000000e8 00002c0a R_ARM_THM_CALL 00000000 __aeabi_uidivmod │ │ │ │ │ +000000f6 00002c0a R_ARM_THM_CALL 00000000 __aeabi_uidivmod │ │ │ │ │ +000001d0 00002d0a R_ARM_THM_CALL 00000000 fftw_assertion_failed │ │ │ │ │ +000001d8 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +000001dc 00000503 R_ARM_REL32 0000000c .LC1 │ │ │ │ │ +00000216 00002e0a R_ARM_THM_CALL 00000000 fftw_next_prime │ │ │ │ │ +00000226 00002a0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +000002bc 00002f0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +000002e2 00002f0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +00000334 00002c0a R_ARM_THM_CALL 00000000 __aeabi_uidivmod │ │ │ │ │ +00000340 00002c0a R_ARM_THM_CALL 00000000 __aeabi_uidivmod │ │ │ │ │ +000004de 00002d0a R_ARM_THM_CALL 00000000 fftw_assertion_failed │ │ │ │ │ +00000574 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +00000578 00000503 R_ARM_REL32 0000000c .LC1 │ │ │ │ │ +000005a0 00002c0a R_ARM_THM_CALL 00000000 __aeabi_uidivmod │ │ │ │ │ +000005ac 00002c0a R_ARM_THM_CALL 00000000 __aeabi_uidivmod │ │ │ │ │ +00000736 0000300a R_ARM_THM_CALL 00000000 fftw_md5begin │ │ │ │ │ +00000740 0000310a R_ARM_THM_CALL 00000000 fftw_md5unsigned │ │ │ │ │ +00000758 0000320a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ +00000760 0000330a R_ARM_THM_CALL 00000000 fftw_md5puts │ │ │ │ │ +0000076c 0000340a R_ARM_THM_CALL 00000000 fftw_md5end │ │ │ │ │ +000007ce 00002a0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +00000876 0000350a R_ARM_THM_CALL 00000000 strcmp │ │ │ │ │ +000008c4 00002d0a R_ARM_THM_CALL 00000000 fftw_assertion_failed │ │ │ │ │ +000008de 00002d0a R_ARM_THM_CALL 00000000 fftw_assertion_failed │ │ │ │ │ +00000916 0000290a R_ARM_THM_CALL 00000000 fftw_hash │ │ │ │ │ +00000946 0000350a R_ARM_THM_CALL 00000000 strcmp │ │ │ │ │ +00000968 00002b0a R_ARM_THM_CALL 00000000 fftw_ifree0 │ │ │ │ │ +000009a8 00002d0a R_ARM_THM_CALL 00000000 fftw_assertion_failed │ │ │ │ │ +000009b6 00002b0a R_ARM_THM_CALL 00000000 fftw_ifree0 │ │ │ │ │ +000009c0 00000f03 R_ARM_REL32 00000024 .LC2 │ │ │ │ │ +000009c4 00001003 R_ARM_REL32 00000054 .LC3 │ │ │ │ │ +000009c8 00001103 R_ARM_REL32 00000058 .LC4 │ │ │ │ │ +000009cc 00002203 R_ARM_REL32 00000000 .rodata │ │ │ │ │ +000009d0 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +000009d4 00001303 R_ARM_REL32 00000094 .LC6 │ │ │ │ │ +000009d8 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +000009dc 00001403 R_ARM_REL32 000000a4 .LC7 │ │ │ │ │ +000009e0 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +000009e4 00001203 R_ARM_REL32 00000084 .LC5 │ │ │ │ │ +00000a0e 0000300a R_ARM_THM_CALL 00000000 fftw_md5begin │ │ │ │ │ +00000a18 0000310a R_ARM_THM_CALL 00000000 fftw_md5unsigned │ │ │ │ │ +00000a30 0000320a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ +00000a38 0000330a R_ARM_THM_CALL 00000000 fftw_md5puts │ │ │ │ │ +00000a44 0000340a R_ARM_THM_CALL 00000000 fftw_md5end │ │ │ │ │ +00000b10 00000f03 R_ARM_REL32 00000024 .LC2 │ │ │ │ │ +00000b14 00001803 R_ARM_REL32 000000dc .LC9 │ │ │ │ │ +00000b18 00002203 R_ARM_REL32 00000000 .rodata │ │ │ │ │ +00000b1c 00001703 R_ARM_REL32 000000d8 .LC8 │ │ │ │ │ +00000b80 0000360a R_ARM_THM_CALL 00000b21 fftw_iestimate_cost │ │ │ │ │ +00000bca 0000370a R_ARM_THM_CALL 00000000 fftw_measure_execution_time │ │ │ │ │ +00000d08 0000380a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000d82 0000380a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000dc4 0000390a R_ARM_THM_CALL 00000000 fftw_elapsed_since │ │ │ │ │ +00000de4 0000380a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000dea 0000380a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000e02 0000390a R_ARM_THM_CALL 00000000 fftw_elapsed_since │ │ │ │ │ +00000e84 0000300a R_ARM_THM_CALL 00000000 fftw_md5begin │ │ │ │ │ +00000e8e 0000310a R_ARM_THM_CALL 00000000 fftw_md5unsigned │ │ │ │ │ +00000e98 0000320a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ +00000ea8 0000340a R_ARM_THM_CALL 00000000 fftw_md5end │ │ │ │ │ +0000111c 0000380a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00001324 00002a0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +000013cc 00003b0a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ +000013dc 00002503 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +000013f0 00002f0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +000013fa 00002f0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +00001416 00003d0a R_ARM_THM_CALL 00000000 fftw_solver_destroy │ │ │ │ │ +00001422 00002b0a R_ARM_THM_CALL 00000000 fftw_ifree0 │ │ │ │ │ +0000144c 00003f0a R_ARM_THM_CALL 00000000 fftw_problem_destroy │ │ │ │ │ +000014a6 00003e0a R_ARM_THM_CALL 00001439 fftw_mkplan_d │ │ │ │ │ +000002a6 00002b1e R_ARM_THM_JUMP24 00000000 fftw_ifree0 │ │ │ │ │ +00001432 00002f1e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x1ce4 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x1f18 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00000102 R_ARM_ABS32 00000001 register_solver │ │ │ │ │ -00000004 00001f02 R_ARM_ABS32 00000c7d mkplan │ │ │ │ │ -00000008 00000a02 R_ARM_ABS32 00000225 forget │ │ │ │ │ -0000000c 00001a02 R_ARM_ABS32 0000089d exprt │ │ │ │ │ -00000010 00001502 R_ARM_ABS32 000005e1 imprt │ │ │ │ │ +00000004 00001f02 R_ARM_ABS32 00000e25 mkplan │ │ │ │ │ +00000008 00000a02 R_ARM_ABS32 000002ad forget │ │ │ │ │ +0000000c 00001a02 R_ARM_ABS32 000009e9 exprt │ │ │ │ │ +00000010 00001502 R_ARM_ABS32 000006d5 imprt │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,9 +1,10 @@ │ │ │ │ │ -{1>HzDxD │ │ │ │ │ -_q:HzDxD │ │ │ │ │ +SFJF1F F │ │ │ │ │ +{1EHzDxD │ │ │ │ │ +_q@HzDxD │ │ │ │ │ +h9F(F[h │ │ │ │ │ planner.c │ │ │ │ │ SLVNDX(slot) == slvndx │ │ │ │ │ (fftw-3.3.10 fftw_wisdom #x%M #x%M #x%M #x%M │ │ │ │ │ (%*s %d #x%x #x%x #x%x #x%M #x%M #x%M #x%M) │ │ │ │ │ flags.l == l │ │ │ │ │ flags.u == u │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,1841 +1,1911 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ register_solver(): │ │ │ │ │ - cbz r1, 4e │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ + cmp r1, #0 │ │ │ │ │ + beq.n 68 │ │ │ │ │ + strd r3, r4, [sp, #-24]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ mov r0, r1 │ │ │ │ │ - mov r6, r1 │ │ │ │ │ + strd r5, r6, [sp, #8] │ │ │ │ │ + mov r5, r1 │ │ │ │ │ + strd r7, lr, [sp, #16] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_use │ │ │ │ │ - ldrd r3, r5, [r4, #28] │ │ │ │ │ - cmp r3, r5 │ │ │ │ │ - bcs.n 50 │ │ │ │ │ - movs r2, #20 │ │ │ │ │ - ldr r0, [r4, #36] @ 0x24 │ │ │ │ │ - mul.w r3, r2, r3 │ │ │ │ │ + ldrd r3, r6, [r4, #28] │ │ │ │ │ + cmp r3, r6 │ │ │ │ │ + bcs.n 6a │ │ │ │ │ ldr r2, [r4, #24] │ │ │ │ │ - adds r5, r2, r3 │ │ │ │ │ - str r6, [r2, r3] │ │ │ │ │ + add.w r3, r3, r3, lsl #2 │ │ │ │ │ + mov.w r3, r3, lsl #2 │ │ │ │ │ + ldr r0, [r4, #36] @ 0x24 │ │ │ │ │ + add.w r6, r2, r3 │ │ │ │ │ + str r5, [r2, r3] │ │ │ │ │ ldr r3, [r4, #40] @ 0x28 │ │ │ │ │ - str r0, [r5, #4] │ │ │ │ │ - adds r2, r3, #1 │ │ │ │ │ + str r0, [r6, #4] │ │ │ │ │ + add.w r2, r3, #1 │ │ │ │ │ str r2, [r4, #40] @ 0x28 │ │ │ │ │ - str r3, [r5, #12] │ │ │ │ │ + str r3, [r6, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_hash │ │ │ │ │ - ldr r3, [r6, #0] │ │ │ │ │ - str r0, [r5, #8] │ │ │ │ │ + ldr r3, [r5, #0] │ │ │ │ │ ldr r2, [r3, #0] │ │ │ │ │ add.w r2, r4, r2, lsl #2 │ │ │ │ │ ldr r3, [r2, #44] @ 0x2c │ │ │ │ │ - str r3, [r5, #16] │ │ │ │ │ + str r0, [r6, #8] │ │ │ │ │ + str r3, [r6, #16] │ │ │ │ │ ldr r3, [r4, #28] │ │ │ │ │ + ldrd r5, r6, [sp, #8] │ │ │ │ │ str r3, [r2, #44] @ 0x2c │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str r3, [r4, #28] │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + pop {r7, pc} │ │ │ │ │ bx lr │ │ │ │ │ - adds r7, r5, #1 │ │ │ │ │ - mov.w sl, #20 │ │ │ │ │ - add.w r7, r7, r5, lsr #2 │ │ │ │ │ - mul.w r0, sl, r7 │ │ │ │ │ + add.w r7, r6, #1 │ │ │ │ │ + add.w r7, r7, r6, lsr #2 │ │ │ │ │ + add.w r0, r7, r7, lsl #2 │ │ │ │ │ + mov.w r0, r0, lsl #2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ - ldr.w r9, [r4, #24] │ │ │ │ │ - mov r8, r0 │ │ │ │ │ - str r0, [r4, #24] │ │ │ │ │ + mov lr, r0 │ │ │ │ │ + ldr r0, [r4, #24] │ │ │ │ │ + str.w lr, [r4, #24] │ │ │ │ │ str r7, [r4, #32] │ │ │ │ │ - cbz r5, 92 │ │ │ │ │ - mul.w r7, sl, r5 │ │ │ │ │ - movs r5, #0 │ │ │ │ │ - add.w lr, r9, r5 │ │ │ │ │ - add.w ip, r8, r5 │ │ │ │ │ - adds r5, #20 │ │ │ │ │ - cmp r5, r7 │ │ │ │ │ - ldmia.w lr!, {r0, r1, r2, r3} │ │ │ │ │ - stmia.w ip!, {r0, r1, r2, r3} │ │ │ │ │ - ldr.w r3, [lr] │ │ │ │ │ - str.w r3, [ip] │ │ │ │ │ - bne.n 74 │ │ │ │ │ - mov r0, r9 │ │ │ │ │ + cbz r6, bc │ │ │ │ │ + add.w r6, r6, r6, lsl #2 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + mov.w r1, r6, lsl #2 │ │ │ │ │ + add.w ip, r0, r3 │ │ │ │ │ + add.w r2, lr, r3 │ │ │ │ │ + ldrd r6, r7, [ip] │ │ │ │ │ + add.w r3, r3, #20 │ │ │ │ │ + cmp r3, r1 │ │ │ │ │ + strd r6, r7, [r2] │ │ │ │ │ + ldrd r6, r7, [ip, #8] │ │ │ │ │ + strd r6, r7, [r2, #8] │ │ │ │ │ + ldr.w r6, [ip, #16] │ │ │ │ │ + str r6, [r2, #16] │ │ │ │ │ + bne.n 96 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree0 │ │ │ │ │ ldr r3, [r4, #28] │ │ │ │ │ - b.n 18 │ │ │ │ │ + b.n 22 │ │ │ │ │ │ │ │ │ │ -0000009c : │ │ │ │ │ +000000c4 : │ │ │ │ │ hinsert0(): │ │ │ │ │ - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r8, r1 │ │ │ │ │ + strd r3, r4, [sp, #-40]! @ 0x28 │ │ │ │ │ + strd r5, r6, [sp, #8] │ │ │ │ │ + strd fp, lr, [sp, #32] │ │ │ │ │ ldr.w fp, [r0, #4] │ │ │ │ │ + strd r7, r8, [sp, #16] │ │ │ │ │ mov r7, r0 │ │ │ │ │ + mov r8, r1 │ │ │ │ │ + ldr r0, [r1, #0] │ │ │ │ │ + strd r9, sl, [sp, #24] │ │ │ │ │ + mov sl, r3 │ │ │ │ │ mov r9, r2 │ │ │ │ │ - ldr.w r0, [r8] │ │ │ │ │ mov r1, fp │ │ │ │ │ - mov sl, r3 │ │ │ │ │ bl 0 <__aeabi_uidivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_uidivmod │ │ │ │ │ ldr.w r0, [r8, #4] │ │ │ │ │ mov r4, r1 │ │ │ │ │ add.w r1, fp, #4294967295 @ 0xffffffff │ │ │ │ │ bl 0 <__aeabi_uidivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_uidivmod │ │ │ │ │ - ldr r3, [r7, #32] │ │ │ │ │ - ldr r6, [r7, #28] │ │ │ │ │ - movs r2, #24 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + ldrd r6, r3, [r7, #28] │ │ │ │ │ + add.w r5, r4, r4, lsl #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str r3, [r7, #32] │ │ │ │ │ - adds r3, r6, #1 │ │ │ │ │ + add.w r3, r6, #1 │ │ │ │ │ str r3, [r7, #28] │ │ │ │ │ ldr r3, [r7, #0] │ │ │ │ │ - mla r5, r2, r4, r3 │ │ │ │ │ + add.w r5, r3, r5, lsl #3 │ │ │ │ │ ldrb.w ip, [r5, #18] │ │ │ │ │ ubfx ip, ip, #4, #3 │ │ │ │ │ cmp.w ip, #3 │ │ │ │ │ - bls.n 10e │ │ │ │ │ - adds r1, #1 │ │ │ │ │ - adds r6, #2 │ │ │ │ │ - b.n ee │ │ │ │ │ - mov r6, r0 │ │ │ │ │ + bls.n 154 │ │ │ │ │ + add.w r1, r1, #1 │ │ │ │ │ + add.w r6, r6, #2 │ │ │ │ │ + b.n 12e │ │ │ │ │ + mov r6, r2 │ │ │ │ │ add r4, r1 │ │ │ │ │ - adds r0, r6, #1 │ │ │ │ │ + add.w r2, r6, #1 │ │ │ │ │ cmp fp, r4 │ │ │ │ │ it ls │ │ │ │ │ subls.w r4, r4, fp │ │ │ │ │ - mla r5, r2, r4, r3 │ │ │ │ │ + add.w r5, r4, r4, lsl #1 │ │ │ │ │ + add.w r5, r3, r5, lsl #3 │ │ │ │ │ ldrb.w ip, [r5, #18] │ │ │ │ │ ubfx ip, ip, #4, #3 │ │ │ │ │ cmp.w ip, #3 │ │ │ │ │ - bhi.n ec │ │ │ │ │ + bhi.n 12c │ │ │ │ │ str r6, [r7, #28] │ │ │ │ │ ldr r3, [r7, #24] │ │ │ │ │ orr.w ip, ip, #6 │ │ │ │ │ - ldrh.w r1, [r9, #2] │ │ │ │ │ cmp.w sl, #4096 @ 0x1000 │ │ │ │ │ + ldrh.w r1, [r9, #2] │ │ │ │ │ add.w r3, r3, #1 │ │ │ │ │ str r3, [r7, #24] │ │ │ │ │ - ldr r3, [r7, #8] │ │ │ │ │ ubfx r1, r1, #7, #9 │ │ │ │ │ + ldr r3, [r7, #8] │ │ │ │ │ add.w r3, r3, #1 │ │ │ │ │ str r3, [r7, #8] │ │ │ │ │ ldr.w r3, [r9, #4] │ │ │ │ │ ubfx r2, r3, #0, #20 │ │ │ │ │ ldr.w r3, [r9] │ │ │ │ │ orr.w r2, r2, sl, lsl #20 │ │ │ │ │ - str r2, [r5, #20] │ │ │ │ │ ubfx r3, r3, #0, #20 │ │ │ │ │ orr.w r3, r3, ip, lsl #20 │ │ │ │ │ orr.w r3, r3, r1, lsl #23 │ │ │ │ │ - str r3, [r5, #16] │ │ │ │ │ - bcs.n 16c │ │ │ │ │ + strd r3, r2, [r5, #16] │ │ │ │ │ + bcs.n 1c4 │ │ │ │ │ ldr.w r3, [r8] │ │ │ │ │ + ldrd r9, sl, [sp, #24] │ │ │ │ │ str r3, [r5, #0] │ │ │ │ │ ldr.w r3, [r8, #4] │ │ │ │ │ str r3, [r5, #4] │ │ │ │ │ ldr.w r3, [r8, #8] │ │ │ │ │ str r3, [r5, #8] │ │ │ │ │ ldr.w r3, [r8, #12] │ │ │ │ │ + ldrd r7, r8, [sp, #16] │ │ │ │ │ str r3, [r5, #12] │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - ldr r2, [pc, #16] @ (180 ) │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + ldrd r5, r6, [sp, #8] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldmia.w sp!, {fp, pc} │ │ │ │ │ + ldr r2, [pc, #16] @ (1d8 ) │ │ │ │ │ movw r1, #261 @ 0x105 │ │ │ │ │ - ldr r0, [pc, #16] @ (184 ) │ │ │ │ │ + ldr r0, [pc, #16] @ (1dc ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r0, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_assertion_failed │ │ │ │ │ - b.n 150 │ │ │ │ │ + b.n 196 │ │ │ │ │ nop │ │ │ │ │ .word 0x00000008 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ .word 0x0000000a │ │ │ │ │ R_ARM_REL32 .LC1 │ │ │ │ │ │ │ │ │ │ -00000188 : │ │ │ │ │ +000001e0 : │ │ │ │ │ hgrow(): │ │ │ │ │ - ldr r2, [r0, #8] │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ - adds r3, r2, #1 │ │ │ │ │ - ldr r6, [r0, #4] │ │ │ │ │ + strd r4, r5, [sp, #-24]! │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r6, r2, [r0, #4] │ │ │ │ │ + strd r8, lr, [sp, #16] │ │ │ │ │ + add.w r3, r2, #1 │ │ │ │ │ add.w r3, r3, r2, lsr #3 │ │ │ │ │ cmp r6, r3 │ │ │ │ │ - bls.n 19e │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, pc} │ │ │ │ │ + bls.n 20a │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldmia.w sp!, {r8, pc} │ │ │ │ │ mov r5, r0 │ │ │ │ │ - ldr r7, [r0, #0] │ │ │ │ │ - adds r0, r3, #1 │ │ │ │ │ + add.w r0, r3, #1 │ │ │ │ │ add.w r0, r0, r3, lsr #3 │ │ │ │ │ + ldr r7, [r5, #0] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_next_prime │ │ │ │ │ - movs r1, #24 │ │ │ │ │ + add.w r1, r0, r0, lsl #1 │ │ │ │ │ mov r8, r0 │ │ │ │ │ - mul.w r4, r1, r0 │ │ │ │ │ + mov.w r4, r1, lsl #3 │ │ │ │ │ mov r0, r4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ ldr r3, [r5, #36] @ 0x24 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str r3, [r5, #36] @ 0x24 │ │ │ │ │ cmp.w r8, #0 │ │ │ │ │ - beq.n 1da │ │ │ │ │ + beq.n 250 │ │ │ │ │ mov r3, r0 │ │ │ │ │ - adds r1, r4, r0 │ │ │ │ │ + add.w r1, r4, r0 │ │ │ │ │ ldrb r2, [r3, #18] │ │ │ │ │ - adds r3, #24 │ │ │ │ │ + add.w r3, r3, #24 │ │ │ │ │ bic.w r2, r2, #112 @ 0x70 │ │ │ │ │ strb.w r2, [r3, #-6] │ │ │ │ │ cmp r3, r1 │ │ │ │ │ - bne.n 1ca │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + bne.n 23e │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ strd r0, r8, [r5] │ │ │ │ │ str r3, [r5, #8] │ │ │ │ │ - cbz r6, 21a │ │ │ │ │ + cbz r6, 296 │ │ │ │ │ mov r4, r7 │ │ │ │ │ mov r8, r3 │ │ │ │ │ - b.n 1f4 │ │ │ │ │ + b.n 26e │ │ │ │ │ add.w r8, r8, #1 │ │ │ │ │ - adds r4, #24 │ │ │ │ │ + add.w r4, r4, #24 │ │ │ │ │ cmp r6, r8 │ │ │ │ │ - beq.n 21a │ │ │ │ │ + beq.n 296 │ │ │ │ │ ldrb r3, [r4, #18] │ │ │ │ │ ubfx r3, r3, #4, #3 │ │ │ │ │ cmp r3, #3 │ │ │ │ │ - bls.n 1ea │ │ │ │ │ + bls.n 262 │ │ │ │ │ ldrh r3, [r4, #22] │ │ │ │ │ add.w r2, r4, #16 │ │ │ │ │ mov r1, r4 │ │ │ │ │ mov r0, r5 │ │ │ │ │ add.w r8, r8, #1 │ │ │ │ │ - adds r4, #24 │ │ │ │ │ + add.w r4, r4, #24 │ │ │ │ │ ubfx r3, r3, #4, #12 │ │ │ │ │ - bl 9c │ │ │ │ │ + bl c4 │ │ │ │ │ cmp r6, r8 │ │ │ │ │ - bne.n 1f4 │ │ │ │ │ + bne.n 26e │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ mov r0, r7 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, lr, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_ifree0 │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000224 : │ │ │ │ │ +000002ac : │ │ │ │ │ forget(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - cbz r1, 254 │ │ │ │ │ + cbz r1, 2e0 │ │ │ │ │ cmp r1, #1 │ │ │ │ │ - beq.n 230 │ │ │ │ │ + beq.n 2ba │ │ │ │ │ pop {r4, pc} │ │ │ │ │ ldr r0, [r0, #80] @ 0x50 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ add.w r0, r4, #80 @ 0x50 │ │ │ │ │ - str r3, [r4, #80] @ 0x50 │ │ │ │ │ - str r3, [r4, #116] @ 0x74 │ │ │ │ │ - str r3, [r4, #100] @ 0x64 │ │ │ │ │ - strd r3, r3, [r4, #92] @ 0x5c │ │ │ │ │ - strd r3, r3, [r4, #108] @ 0x6c │ │ │ │ │ - str r3, [r4, #104] @ 0x68 │ │ │ │ │ - strd r3, r3, [r4, #84] @ 0x54 │ │ │ │ │ - bl 188 │ │ │ │ │ + strd r3, r3, [r4, #80] @ 0x50 │ │ │ │ │ + strd r3, r3, [r4, #88] @ 0x58 │ │ │ │ │ + strd r3, r3, [r4, #96] @ 0x60 │ │ │ │ │ + strd r3, r3, [r4, #104] @ 0x68 │ │ │ │ │ + strd r3, r3, [r4, #112] @ 0x70 │ │ │ │ │ + bl 1e0 │ │ │ │ │ ldr r0, [r4, #120] @ 0x78 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ add.w r0, r4, #120 @ 0x78 │ │ │ │ │ - str r3, [r4, #120] @ 0x78 │ │ │ │ │ - str.w r3, [r4, #156] @ 0x9c │ │ │ │ │ - str.w r3, [r4, #140] @ 0x8c │ │ │ │ │ - strd r3, r3, [r4, #132] @ 0x84 │ │ │ │ │ - strd r3, r3, [r4, #148] @ 0x94 │ │ │ │ │ - str.w r3, [r4, #144] @ 0x90 │ │ │ │ │ - strd r3, r3, [r4, #124] @ 0x7c │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ - b.n 188 │ │ │ │ │ + strd r3, r3, [r4, #120] @ 0x78 │ │ │ │ │ + strd r3, r3, [r4, #128] @ 0x80 │ │ │ │ │ + strd r3, r3, [r4, #136] @ 0x88 │ │ │ │ │ + strd r3, r3, [r4, #144] @ 0x90 │ │ │ │ │ + strd r3, r3, [r4, #152] @ 0x98 │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + b.n 1e0 │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000280 : │ │ │ │ │ +0000030c : │ │ │ │ │ htab_insert(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + mov r4, r0 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r6, r1 │ │ │ │ │ ldr r5, [r0, #4] │ │ │ │ │ - sub sp, #20 │ │ │ │ │ - mov r4, r0 │ │ │ │ │ - mov r1, r5 │ │ │ │ │ - ldr r0, [r6, #0] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov.w r8, #0 │ │ │ │ │ + ldr r0, [r1, #0] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ mov sl, r3 │ │ │ │ │ - mov.w r9, #0 │ │ │ │ │ - str r2, [sp, #8] │ │ │ │ │ + mov r9, r2 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + sub sp, #12 │ │ │ │ │ + mov r1, r5 │ │ │ │ │ bl 0 <__aeabi_uidivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_uidivmod │ │ │ │ │ ldr r0, [r6, #4] │ │ │ │ │ mov r7, r1 │ │ │ │ │ - subs r1, r5, #1 │ │ │ │ │ + add.w r1, r5, #4294967295 @ 0xffffffff │ │ │ │ │ bl 0 <__aeabi_uidivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_uidivmod │ │ │ │ │ - ldr r2, [r4, #28] │ │ │ │ │ movw r3, #4095 @ 0xfff │ │ │ │ │ ldr r0, [r4, #0] │ │ │ │ │ + add.w lr, r1, #1 │ │ │ │ │ cmp sl, r3 │ │ │ │ │ - add.w r8, r1, #1 │ │ │ │ │ - add.w r2, r2, #1 │ │ │ │ │ - mov r3, r7 │ │ │ │ │ - mov.w lr, #24 │ │ │ │ │ mov ip, r7 │ │ │ │ │ - str r4, [sp, #4] │ │ │ │ │ - str.w sl, [sp, #12] │ │ │ │ │ - bne.n 2da │ │ │ │ │ - b.n 37a │ │ │ │ │ - add r3, r8 │ │ │ │ │ - adds r2, #1 │ │ │ │ │ + strd r4, sl, [sp] │ │ │ │ │ + ldr r2, [r4, #28] │ │ │ │ │ + mov r3, r7 │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ + bne.n 374 │ │ │ │ │ + b.n 41c │ │ │ │ │ + add r3, lr │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ cmp r5, r3 │ │ │ │ │ it ls │ │ │ │ │ subls r3, r3, r5 │ │ │ │ │ cmp ip, r3 │ │ │ │ │ - beq.w 42a │ │ │ │ │ - mul.w sl, lr, r3 │ │ │ │ │ - ldr r4, [sp, #4] │ │ │ │ │ - add.w r1, r0, sl │ │ │ │ │ - str r2, [r4, #28] │ │ │ │ │ + beq.w 4e4 │ │ │ │ │ + add.w sl, r3, r3, lsl #1 │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ + add.w r1, r0, sl, lsl #3 │ │ │ │ │ ldrb r7, [r1, #18] │ │ │ │ │ + str r2, [r4, #28] │ │ │ │ │ + tst.w r7, #32 │ │ │ │ │ ubfx fp, r7, #4, #3 │ │ │ │ │ - lsls r7, r7, #26 │ │ │ │ │ - bpl.n 3a2 │ │ │ │ │ + beq.n 446 │ │ │ │ │ cmp.w fp, #3 │ │ │ │ │ - bls.n 2ca │ │ │ │ │ - ldr.w r7, [r0, sl] │ │ │ │ │ + bls.n 362 │ │ │ │ │ + ldr.w r7, [r0, sl, lsl #3] │ │ │ │ │ ldr r4, [r6, #0] │ │ │ │ │ cmp r4, r7 │ │ │ │ │ - bne.n 2ca │ │ │ │ │ + bne.n 362 │ │ │ │ │ ldr r7, [r1, #4] │ │ │ │ │ ldr r4, [r6, #4] │ │ │ │ │ cmp r4, r7 │ │ │ │ │ - bne.n 2ca │ │ │ │ │ + bne.n 362 │ │ │ │ │ ldr r7, [r1, #8] │ │ │ │ │ ldr r4, [r6, #8] │ │ │ │ │ cmp r4, r7 │ │ │ │ │ - bne.n 2ca │ │ │ │ │ + bne.n 362 │ │ │ │ │ ldr r7, [r1, #12] │ │ │ │ │ ldr r4, [r6, #12] │ │ │ │ │ cmp r4, r7 │ │ │ │ │ - bne.n 2ca │ │ │ │ │ - ldr r4, [sp, #8] │ │ │ │ │ + bne.n 362 │ │ │ │ │ ldr r7, [r1, #20] │ │ │ │ │ - ldr.w fp, [r4, #4] │ │ │ │ │ + ldr.w fp, [r9, #4] │ │ │ │ │ ubfx r7, r7, #0, #20 │ │ │ │ │ ubfx sl, fp, #0, #20 │ │ │ │ │ and.w fp, fp, r7 │ │ │ │ │ cmp sl, fp │ │ │ │ │ - bne.n 2ca │ │ │ │ │ - ldr r7, [r4, #0] │ │ │ │ │ + bne.n 362 │ │ │ │ │ + ldr.w r7, [r9] │ │ │ │ │ ldr.w fp, [r1, #16] │ │ │ │ │ ubfx r7, r7, #0, #20 │ │ │ │ │ ubfx sl, fp, #0, #20 │ │ │ │ │ and.w fp, fp, r7 │ │ │ │ │ cmp sl, fp │ │ │ │ │ - bne.n 2ca │ │ │ │ │ - ldr r4, [sp, #4] │ │ │ │ │ + bne.n 362 │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ mov.w sl, #2 │ │ │ │ │ - cmp.w r9, #0 │ │ │ │ │ + cmp.w r8, #0 │ │ │ │ │ it eq │ │ │ │ │ - moveq r9, r1 │ │ │ │ │ + moveq r8, r1 │ │ │ │ │ ldr r7, [r4, #8] │ │ │ │ │ - subs r7, #1 │ │ │ │ │ + add.w r7, r7, #4294967295 @ 0xffffffff │ │ │ │ │ str r7, [r4, #8] │ │ │ │ │ ldrb r7, [r1, #18] │ │ │ │ │ bfi r7, sl, #4, #3 │ │ │ │ │ strb r7, [r1, #18] │ │ │ │ │ - b.n 2ca │ │ │ │ │ + b.n 362 │ │ │ │ │ ldr r7, [r1, #4] │ │ │ │ │ ldr r4, [r6, #4] │ │ │ │ │ cmp r4, r7 │ │ │ │ │ - beq.n 44c │ │ │ │ │ - add r3, r8 │ │ │ │ │ - adds r2, #1 │ │ │ │ │ + beq.w 516 │ │ │ │ │ + add r3, lr │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ cmp r5, r3 │ │ │ │ │ it ls │ │ │ │ │ subls r3, r3, r5 │ │ │ │ │ cmp ip, r3 │ │ │ │ │ - beq.n 42a │ │ │ │ │ - mul.w sl, lr, r3 │ │ │ │ │ - ldr r4, [sp, #4] │ │ │ │ │ - add.w r1, r0, sl │ │ │ │ │ - str r2, [r4, #28] │ │ │ │ │ + beq.n 4e4 │ │ │ │ │ + add.w sl, r3, r3, lsl #1 │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ + add.w r1, r0, sl, lsl #3 │ │ │ │ │ ldrb r7, [r1, #18] │ │ │ │ │ + str r2, [r4, #28] │ │ │ │ │ + tst.w r7, #32 │ │ │ │ │ ubfx fp, r7, #4, #3 │ │ │ │ │ - lsls r7, r7, #26 │ │ │ │ │ - bpl.n 3a2 │ │ │ │ │ + beq.n 446 │ │ │ │ │ cmp.w fp, #3 │ │ │ │ │ - bls.n 36c │ │ │ │ │ - ldr.w r7, [r0, sl] │ │ │ │ │ + bls.n 40c │ │ │ │ │ + ldr.w r7, [r0, sl, lsl #3] │ │ │ │ │ ldr r4, [r6, #0] │ │ │ │ │ cmp r7, r4 │ │ │ │ │ - bne.n 36c │ │ │ │ │ - b.n 364 │ │ │ │ │ - ldr.w sl, [sp, #12] │ │ │ │ │ - cmp.w r9, #0 │ │ │ │ │ - beq.n 436 │ │ │ │ │ - ldr r3, [r4, #24] │ │ │ │ │ + bne.n 40c │ │ │ │ │ + b.n 402 │ │ │ │ │ + ldr.w sl, [sp, #4] │ │ │ │ │ + cmp.w r8, #0 │ │ │ │ │ + beq.n 4ee │ │ │ │ │ cmp.w sl, #4096 @ 0x1000 │ │ │ │ │ - ldr r0, [sp, #8] │ │ │ │ │ + ldr r3, [r4, #24] │ │ │ │ │ + ldr.w r1, [r9] │ │ │ │ │ add.w r3, r3, #1 │ │ │ │ │ str r3, [r4, #24] │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ - ldr r1, [r0, #0] │ │ │ │ │ add.w r3, r3, #1 │ │ │ │ │ str r3, [r4, #8] │ │ │ │ │ - ldr r3, [r0, #4] │ │ │ │ │ - ldr.w r2, [r9, #16] │ │ │ │ │ - ubfx r3, r3, #0, #20 │ │ │ │ │ + ldr.w r2, [r8, #16] │ │ │ │ │ + ldr.w r3, [r9, #4] │ │ │ │ │ bfi r2, r1, #0, #20 │ │ │ │ │ - str.w r2, [r9, #16] │ │ │ │ │ + ubfx r3, r3, #0, #20 │ │ │ │ │ + str.w r2, [r8, #16] │ │ │ │ │ + ldrh.w r1, [r9, #2] │ │ │ │ │ orr.w r3, r3, sl, lsl #20 │ │ │ │ │ - ldrh r1, [r0, #2] │ │ │ │ │ - ldrh.w r2, [r9, #18] │ │ │ │ │ - str.w r3, [r9, #20] │ │ │ │ │ + ldrh.w r2, [r8, #18] │ │ │ │ │ + str.w r3, [r8, #20] │ │ │ │ │ ubfx r1, r1, #7, #9 │ │ │ │ │ bfi r2, r1, #7, #9 │ │ │ │ │ - strh.w r2, [r9, #18] │ │ │ │ │ + strh.w r2, [r8, #18] │ │ │ │ │ orr.w r2, r2, #96 @ 0x60 │ │ │ │ │ - strb.w r2, [r9, #18] │ │ │ │ │ - bcs.n 418 │ │ │ │ │ + strb.w r2, [r8, #18] │ │ │ │ │ + bcs.n 4d2 │ │ │ │ │ ldr r3, [r6, #0] │ │ │ │ │ - str.w r3, [r9] │ │ │ │ │ + str.w r3, [r8] │ │ │ │ │ ldr r3, [r6, #4] │ │ │ │ │ - str.w r3, [r9, #4] │ │ │ │ │ + str.w r3, [r8, #4] │ │ │ │ │ ldr r3, [r6, #8] │ │ │ │ │ - str.w r3, [r9, #8] │ │ │ │ │ + str.w r3, [r8, #8] │ │ │ │ │ ldr r3, [r6, #12] │ │ │ │ │ - str.w r3, [r9, #12] │ │ │ │ │ - add sp, #20 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - ldr r2, [pc, #140] @ (4a8 ) │ │ │ │ │ + str.w r3, [r8, #12] │ │ │ │ │ + add sp, #12 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + ldr r2, [pc, #160] @ (574 ) │ │ │ │ │ movw r1, #261 @ 0x105 │ │ │ │ │ - ldr r0, [pc, #140] @ (4ac ) │ │ │ │ │ + ldr r0, [pc, #156] @ (578 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r0, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_assertion_failed │ │ │ │ │ - b.n 3fa │ │ │ │ │ - ldr r4, [sp, #4] │ │ │ │ │ - ldr.w sl, [sp, #12] │ │ │ │ │ - cmp.w r9, #0 │ │ │ │ │ - bne.n 3ac │ │ │ │ │ + b.n 4a2 │ │ │ │ │ + ldrd r4, sl, [sp] │ │ │ │ │ + cmp.w r8, #0 │ │ │ │ │ + bne.n 450 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - bl 188 │ │ │ │ │ - ldr r2, [sp, #8] │ │ │ │ │ + bl 1e0 │ │ │ │ │ mov r3, sl │ │ │ │ │ + mov r2, r9 │ │ │ │ │ mov r1, r6 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - add sp, #20 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - b.n 9c │ │ │ │ │ + add sp, #12 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ + b.n c4 │ │ │ │ │ ldr r7, [r1, #8] │ │ │ │ │ ldr r4, [r6, #8] │ │ │ │ │ cmp r4, r7 │ │ │ │ │ - bne.n 36c │ │ │ │ │ + bne.w 40c │ │ │ │ │ ldr r7, [r1, #12] │ │ │ │ │ ldr r4, [r6, #12] │ │ │ │ │ cmp r4, r7 │ │ │ │ │ - bne.n 36c │ │ │ │ │ - ldr r4, [sp, #8] │ │ │ │ │ + bne.w 40c │ │ │ │ │ ldr r7, [r1, #16] │ │ │ │ │ - ldr.w fp, [r4] │ │ │ │ │ + ldr.w fp, [r9] │ │ │ │ │ ubfx r7, r7, #0, #20 │ │ │ │ │ ubfx sl, fp, #0, #20 │ │ │ │ │ and.w fp, fp, r7 │ │ │ │ │ cmp sl, fp │ │ │ │ │ - bne.w 36c │ │ │ │ │ + bne.w 40c │ │ │ │ │ ldrh r7, [r1, #18] │ │ │ │ │ - ldrh.w sl, [r4, #2] │ │ │ │ │ + ldrh.w sl, [r9, #2] │ │ │ │ │ ubfx r7, r7, #7, #9 │ │ │ │ │ cmp.w r7, sl, lsr #7 │ │ │ │ │ - bcc.w 36c │ │ │ │ │ - ldr r4, [sp, #4] │ │ │ │ │ + bcc.w 40c │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ mov.w sl, #2 │ │ │ │ │ - cmp.w r9, #0 │ │ │ │ │ + cmp.w r8, #0 │ │ │ │ │ it eq │ │ │ │ │ - moveq r9, r1 │ │ │ │ │ + moveq r8, r1 │ │ │ │ │ ldr r7, [r4, #8] │ │ │ │ │ - subs r7, #1 │ │ │ │ │ + add.w r7, r7, #4294967295 @ 0xffffffff │ │ │ │ │ str r7, [r4, #8] │ │ │ │ │ ldrb r7, [r1, #18] │ │ │ │ │ bfi r7, sl, #4, #3 │ │ │ │ │ strb r7, [r1, #18] │ │ │ │ │ - b.n 36c │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000084 │ │ │ │ │ + b.n 40c │ │ │ │ │ + .word 0x00000096 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ - .word 0x00000086 │ │ │ │ │ + .word 0x00000098 │ │ │ │ │ R_ARM_REL32 .LC1 │ │ │ │ │ │ │ │ │ │ -000004b0 : │ │ │ │ │ +0000057c : │ │ │ │ │ htab_lookup(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + strd r3, r4, [sp, #-40]! @ 0x28 │ │ │ │ │ + mov r4, r0 │ │ │ │ │ + strd r5, r6, [sp, #8] │ │ │ │ │ mov r6, r1 │ │ │ │ │ ldr r5, [r0, #4] │ │ │ │ │ - sub sp, #12 │ │ │ │ │ - mov r4, r0 │ │ │ │ │ + strd r7, r8, [sp, #16] │ │ │ │ │ + ldr r0, [r1, #0] │ │ │ │ │ + strd r9, sl, [sp, #24] │ │ │ │ │ + mov sl, r2 │ │ │ │ │ + mov.w r9, #0 │ │ │ │ │ + strd fp, lr, [sp, #32] │ │ │ │ │ mov r1, r5 │ │ │ │ │ - ldr r0, [r6, #0] │ │ │ │ │ - mov.w sl, #0 │ │ │ │ │ - str r2, [sp, #4] │ │ │ │ │ bl 0 <__aeabi_uidivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_uidivmod │ │ │ │ │ ldr r0, [r6, #4] │ │ │ │ │ mov r8, r1 │ │ │ │ │ - subs r1, r5, #1 │ │ │ │ │ + add.w r1, r5, #4294967295 @ 0xffffffff │ │ │ │ │ bl 0 <__aeabi_uidivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_uidivmod │ │ │ │ │ - ldr r3, [r4, #12] │ │ │ │ │ ldr r7, [r4, #0] │ │ │ │ │ - add.w r9, r1, #1 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w lr, r1, #1 │ │ │ │ │ + ldr r3, [r4, #12] │ │ │ │ │ ldr r2, [r4, #20] │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str r3, [r4, #12] │ │ │ │ │ - mov.w lr, #24 │ │ │ │ │ mov r3, r8 │ │ │ │ │ - str r4, [sp, #0] │ │ │ │ │ - b.n 4f8 │ │ │ │ │ - add r3, r9 │ │ │ │ │ + b.n 5d0 │ │ │ │ │ + add r3, lr │ │ │ │ │ cmp r5, r3 │ │ │ │ │ it ls │ │ │ │ │ subls r3, r3, r5 │ │ │ │ │ cmp r8, r3 │ │ │ │ │ - beq.n 598 │ │ │ │ │ - mul.w ip, lr, r3 │ │ │ │ │ - ldr r0, [sp, #0] │ │ │ │ │ - adds r2, #1 │ │ │ │ │ - add.w r1, r7, ip │ │ │ │ │ - str r2, [r0, #20] │ │ │ │ │ - ldrb r0, [r1, #18] │ │ │ │ │ - ubfx fp, r0, #4, #3 │ │ │ │ │ - lsls r0, r0, #26 │ │ │ │ │ - bpl.n 598 │ │ │ │ │ + beq.n 67a │ │ │ │ │ + add.w r0, r3, r3, lsl #1 │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ + add.w ip, r7, r0, lsl #3 │ │ │ │ │ + ldrb.w r1, [ip, #18] │ │ │ │ │ + str r2, [r4, #20] │ │ │ │ │ + tst.w r1, #32 │ │ │ │ │ + ubfx fp, r1, #4, #3 │ │ │ │ │ + beq.n 67a │ │ │ │ │ cmp.w fp, #3 │ │ │ │ │ - bls.n 4ec │ │ │ │ │ - ldr.w r0, [r7, ip] │ │ │ │ │ - ldr r4, [r6, #0] │ │ │ │ │ - cmp r4, r0 │ │ │ │ │ - bne.n 4ec │ │ │ │ │ - ldr r0, [r1, #4] │ │ │ │ │ - ldr r4, [r6, #4] │ │ │ │ │ - cmp r4, r0 │ │ │ │ │ - bne.n 4ec │ │ │ │ │ - ldr r0, [r1, #8] │ │ │ │ │ - ldr r4, [r6, #8] │ │ │ │ │ - cmp r4, r0 │ │ │ │ │ - bne.n 4ec │ │ │ │ │ - ldr r0, [r1, #12] │ │ │ │ │ - ldr r4, [r6, #12] │ │ │ │ │ - cmp r4, r0 │ │ │ │ │ - bne.n 4ec │ │ │ │ │ - ldrh.w ip, [r1, #22] │ │ │ │ │ - movw r0, #4095 @ 0xfff │ │ │ │ │ - cmp.w r0, ip, lsr #4 │ │ │ │ │ - beq.n 5ae │ │ │ │ │ - ldr r0, [sp, #4] │ │ │ │ │ - ldr.w ip, [r1, #20] │ │ │ │ │ - ldr r0, [r0, #4] │ │ │ │ │ - ubfx fp, ip, #0, #20 │ │ │ │ │ - ubfx r0, r0, #0, #20 │ │ │ │ │ - and.w ip, ip, r0 │ │ │ │ │ - cmp fp, ip │ │ │ │ │ - bne.n 4ec │ │ │ │ │ - ldr r0, [sp, #4] │ │ │ │ │ - ldr.w ip, [r0] │ │ │ │ │ - ldr r0, [r1, #16] │ │ │ │ │ - ubfx fp, ip, #0, #20 │ │ │ │ │ - ubfx r0, r0, #0, #20 │ │ │ │ │ - and.w ip, ip, r0 │ │ │ │ │ - cmp fp, ip │ │ │ │ │ - bne.n 4ec │ │ │ │ │ - cmp.w sl, #0 │ │ │ │ │ - beq.n 5da │ │ │ │ │ - ldr.w r0, [sl, #20] │ │ │ │ │ - ldr.w ip, [r1, #20] │ │ │ │ │ - ubfx r0, r0, #0, #20 │ │ │ │ │ - ubfx fp, ip, #0, #20 │ │ │ │ │ - and.w ip, ip, r0 │ │ │ │ │ - cmp fp, ip │ │ │ │ │ + bls.n 5c4 │ │ │ │ │ + ldr.w r0, [r7, r0, lsl #3] │ │ │ │ │ + ldr r1, [r6, #0] │ │ │ │ │ + cmp r1, r0 │ │ │ │ │ + bne.n 5c4 │ │ │ │ │ + ldr r0, [r6, #4] │ │ │ │ │ + ldr.w r1, [ip, #4] │ │ │ │ │ + cmp r0, r1 │ │ │ │ │ + bne.n 5c4 │ │ │ │ │ + ldr r0, [r6, #8] │ │ │ │ │ + ldr.w r1, [ip, #8] │ │ │ │ │ + cmp r0, r1 │ │ │ │ │ + bne.n 5c4 │ │ │ │ │ + ldr r0, [r6, #12] │ │ │ │ │ + ldr.w r1, [ip, #12] │ │ │ │ │ + cmp r0, r1 │ │ │ │ │ + bne.n 5c4 │ │ │ │ │ + ldrh.w r0, [ip, #22] │ │ │ │ │ + movw r1, #4095 @ 0xfff │ │ │ │ │ + cmp.w r1, r0, lsr #4 │ │ │ │ │ + beq.n 6a0 │ │ │ │ │ + ldr.w r1, [sl, #4] │ │ │ │ │ + ldr.w r0, [ip, #20] │ │ │ │ │ + ubfx r1, r1, #0, #20 │ │ │ │ │ + ubfx fp, r0, #0, #20 │ │ │ │ │ + and.w r0, r0, r1 │ │ │ │ │ + cmp fp, r0 │ │ │ │ │ + bne.n 5c4 │ │ │ │ │ + ldr.w r1, [ip, #16] │ │ │ │ │ + ldr.w r0, [sl] │ │ │ │ │ + ubfx r1, r1, #0, #20 │ │ │ │ │ + ubfx fp, r0, #0, #20 │ │ │ │ │ + and.w r0, r0, r1 │ │ │ │ │ + cmp fp, r0 │ │ │ │ │ + bne.n 5c4 │ │ │ │ │ + cmp.w r9, #0 │ │ │ │ │ + beq.n 6ce │ │ │ │ │ + ldr.w r1, [r9, #20] │ │ │ │ │ + ldr.w r0, [ip, #20] │ │ │ │ │ + ubfx r1, r1, #0, #20 │ │ │ │ │ + ubfx fp, r0, #0, #20 │ │ │ │ │ + and.w r0, r0, r1 │ │ │ │ │ + cmp fp, r0 │ │ │ │ │ it eq │ │ │ │ │ - moveq sl, r1 │ │ │ │ │ - b.n 4ec │ │ │ │ │ - ldr r4, [sp, #0] │ │ │ │ │ - cmp.w sl, #0 │ │ │ │ │ - beq.n 5a6 │ │ │ │ │ + moveq r9, ip │ │ │ │ │ + b.n 5c4 │ │ │ │ │ + cmp.w r9, #0 │ │ │ │ │ + beq.n 688 │ │ │ │ │ ldr r3, [r4, #16] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str r3, [r4, #16] │ │ │ │ │ - mov r0, sl │ │ │ │ │ - add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - ldr r0, [sp, #4] │ │ │ │ │ - ldr.w ip, [r1, #16] │ │ │ │ │ - ldr r0, [r0, #0] │ │ │ │ │ - ubfx fp, ip, #0, #20 │ │ │ │ │ - ubfx r0, r0, #0, #20 │ │ │ │ │ - and.w ip, ip, r0 │ │ │ │ │ - cmp fp, ip │ │ │ │ │ - bne.n 4ec │ │ │ │ │ - ldr r0, [sp, #4] │ │ │ │ │ - ldrh.w ip, [r1, #18] │ │ │ │ │ - ldrh r0, [r0, #2] │ │ │ │ │ - ubfx r0, r0, #7, #9 │ │ │ │ │ - cmp.w r0, ip, lsr #7 │ │ │ │ │ - bcc.n 4ec │ │ │ │ │ - b.n 576 │ │ │ │ │ - mov sl, r1 │ │ │ │ │ - b.n 4ec │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + mov r0, r9 │ │ │ │ │ + ldrd r5, r6, [sp, #8] │ │ │ │ │ + ldrd r7, r8, [sp, #16] │ │ │ │ │ + ldrd r9, sl, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldmia.w sp!, {fp, pc} │ │ │ │ │ + ldr.w r1, [sl] │ │ │ │ │ + ldr.w r0, [ip, #16] │ │ │ │ │ + ubfx r1, r1, #0, #20 │ │ │ │ │ + ubfx fp, r0, #0, #20 │ │ │ │ │ + and.w r0, r0, r1 │ │ │ │ │ + cmp fp, r0 │ │ │ │ │ + bne.n 5c4 │ │ │ │ │ + ldrh.w r1, [sl, #2] │ │ │ │ │ + ldrh.w r0, [ip, #18] │ │ │ │ │ + ubfx r1, r1, #7, #9 │ │ │ │ │ + cmp.w r1, r0, lsr #7 │ │ │ │ │ + bcc.w 5c4 │ │ │ │ │ + b.n 658 │ │ │ │ │ + mov r9, ip │ │ │ │ │ + b.n 5c4 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000005e0 : │ │ │ │ │ +000006d4 : │ │ │ │ │ imprt(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + mov r4, r0 │ │ │ │ │ + mov r0, r1 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r7, r1 │ │ │ │ │ - mov sl, r0 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #316 @ 0x13c │ │ │ │ │ + add r2, sp, #112 @ 0x70 │ │ │ │ │ add.w r9, sp, #116 @ 0x74 │ │ │ │ │ - add r5, sp, #112 @ 0x70 │ │ │ │ │ - add.w r8, sp, #104 @ 0x68 │ │ │ │ │ add r3, sp, #108 @ 0x6c │ │ │ │ │ - str.w r9, [sp, #4] │ │ │ │ │ + add.w r8, sp, #104 @ 0x68 │ │ │ │ │ + strd r2, r9, [sp] │ │ │ │ │ + ldr r5, [r1, #0] │ │ │ │ │ + strd r3, r2, [sp, #36] @ 0x24 │ │ │ │ │ mov r2, r8 │ │ │ │ │ - str r5, [sp, #0] │ │ │ │ │ - str r0, [sp, #36] @ 0x24 │ │ │ │ │ - mov r0, r7 │ │ │ │ │ - ldr r4, [r1, #0] │ │ │ │ │ - ldr r1, [pc, #620] @ (874 ) │ │ │ │ │ - str r3, [sp, #40] @ 0x28 │ │ │ │ │ + ldr r1, [pc, #692] @ (9c0 ) │ │ │ │ │ add r1, pc │ │ │ │ │ - blx r4 │ │ │ │ │ - cbnz r0, 616 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + blx r5 │ │ │ │ │ + cbnz r0, 72c │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #316 @ 0x13c │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ add r6, sp, #228 @ 0xe4 │ │ │ │ │ + mov.w sl, #0 │ │ │ │ │ mov r0, r6 │ │ │ │ │ + mov fp, sl │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5begin │ │ │ │ │ - movs r1, #8 │ │ │ │ │ + mov.w r1, #8 │ │ │ │ │ mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5unsigned │ │ │ │ │ - ldr.w r3, [sl, #28] │ │ │ │ │ - cbz r3, 65a │ │ │ │ │ - mov.w sl, #0 │ │ │ │ │ - str r5, [sp, #44] @ 0x2c │ │ │ │ │ - ldr r5, [sp, #36] @ 0x24 │ │ │ │ │ - mov fp, sl │ │ │ │ │ - ldr r4, [r5, #24] │ │ │ │ │ + ldr r3, [r4, #28] │ │ │ │ │ + cbz r3, 76a │ │ │ │ │ + ldr r5, [r4, #24] │ │ │ │ │ mov r0, r6 │ │ │ │ │ add.w fp, fp, #1 │ │ │ │ │ - add r4, sl │ │ │ │ │ + add r5, sl │ │ │ │ │ add.w sl, sl, #20 │ │ │ │ │ - ldr r1, [r4, #12] │ │ │ │ │ + ldr r1, [r5, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5int │ │ │ │ │ - ldr r1, [r4, #4] │ │ │ │ │ + ldr r1, [r5, #4] │ │ │ │ │ mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5puts │ │ │ │ │ - ldr r2, [r5, #28] │ │ │ │ │ - cmp fp, r2 │ │ │ │ │ - bcc.n 636 │ │ │ │ │ - ldr r5, [sp, #44] @ 0x2c │ │ │ │ │ + ldr r3, [r4, #28] │ │ │ │ │ + cmp fp, r3 │ │ │ │ │ + bcc.n 748 │ │ │ │ │ mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5end │ │ │ │ │ - ldr r2, [sp, #228] @ 0xe4 │ │ │ │ │ ldr r3, [sp, #104] @ 0x68 │ │ │ │ │ + ldr r2, [sp, #228] @ 0xe4 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.n 60e │ │ │ │ │ - ldr r2, [sp, #232] @ 0xe8 │ │ │ │ │ + bne.n 710 │ │ │ │ │ ldr r3, [sp, #108] @ 0x6c │ │ │ │ │ + ldr r2, [sp, #232] @ 0xe8 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.n 60e │ │ │ │ │ - ldr r2, [sp, #236] @ 0xec │ │ │ │ │ + bne.n 710 │ │ │ │ │ ldr r3, [sp, #112] @ 0x70 │ │ │ │ │ + ldr r2, [sp, #236] @ 0xec │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.n 60e │ │ │ │ │ - ldr r2, [sp, #240] @ 0xf0 │ │ │ │ │ + bne.n 710 │ │ │ │ │ ldr r3, [sp, #116] @ 0x74 │ │ │ │ │ + ldr r2, [sp, #240] @ 0xf0 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.n 60e │ │ │ │ │ - ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ - add r2, sp, #120 @ 0x78 │ │ │ │ │ - mov r6, r2 │ │ │ │ │ - str r2, [sp, #72] @ 0x48 │ │ │ │ │ - adds r3, #80 @ 0x50 │ │ │ │ │ - mov.w sl, #24 │ │ │ │ │ - ldr r4, [r3, #4] │ │ │ │ │ - mov ip, r3 │ │ │ │ │ + bne.n 710 │ │ │ │ │ + add.w r3, r4, #80 @ 0x50 │ │ │ │ │ + add.w sl, sp, #120 @ 0x78 │ │ │ │ │ + ldr r6, [r4, #84] @ 0x54 │ │ │ │ │ str r3, [sp, #44] @ 0x2c │ │ │ │ │ - ldmia.w ip!, {r0, r1, r2, r3} │ │ │ │ │ - stmia r6!, {r0, r1, r2, r3} │ │ │ │ │ - mul.w sl, sl, r4 │ │ │ │ │ - ldmia.w ip!, {r0, r1, r2, r3} │ │ │ │ │ - stmia r6!, {r0, r1, r2, r3} │ │ │ │ │ - ldmia.w ip, {r0, r1} │ │ │ │ │ - stmia.w r6, {r0, r1} │ │ │ │ │ - mov r0, sl │ │ │ │ │ + ldrd r2, r3, [r4, #80] @ 0x50 │ │ │ │ │ + add.w r5, r6, r6, lsl #1 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ + strd r2, r3, [sp, #120] @ 0x78 │ │ │ │ │ + ldrd r2, r3, [r4, #88] @ 0x58 │ │ │ │ │ + mov r0, r5 │ │ │ │ │ + strd r2, r3, [sl, #8] │ │ │ │ │ + ldrd r2, r3, [r4, #96] @ 0x60 │ │ │ │ │ + strd r2, r3, [sl, #16] │ │ │ │ │ + ldrd r2, r3, [r4, #104] @ 0x68 │ │ │ │ │ + strd r2, r3, [sl, #24] │ │ │ │ │ + ldrd r2, r3, [r4, #112] @ 0x70 │ │ │ │ │ + strd r2, r3, [sl, #32] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ mov fp, r0 │ │ │ │ │ - cbz r4, 6dc │ │ │ │ │ - ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ - mov.w ip, #0 │ │ │ │ │ - ldr.w lr, [r3, #80] @ 0x50 │ │ │ │ │ - add.w r6, lr, ip │ │ │ │ │ - add.w r4, fp, ip │ │ │ │ │ - add.w ip, ip, #24 │ │ │ │ │ - cmp sl, ip │ │ │ │ │ - ldmia r6!, {r0, r1, r2, r3} │ │ │ │ │ - stmia r4!, {r0, r1, r2, r3} │ │ │ │ │ - ldmia.w r6, {r0, r1} │ │ │ │ │ - stmia.w r4, {r0, r1} │ │ │ │ │ - bne.n 6c0 │ │ │ │ │ - ldr r3, [pc, #408] @ (878 ) │ │ │ │ │ - str.w fp, [sp, #68] @ 0x44 │ │ │ │ │ - add r3, pc │ │ │ │ │ - str r3, [sp, #48] @ 0x30 │ │ │ │ │ - ldr r3, [pc, #404] @ (87c ) │ │ │ │ │ - strd r5, r9, [sp, #56] @ 0x38 │ │ │ │ │ + cbz r6, 80a │ │ │ │ │ + ldr r6, [r4, #80] @ 0x50 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ + mov ip, r4 │ │ │ │ │ + mov r2, r5 │ │ │ │ │ + add.w r0, r6, r1 │ │ │ │ │ + add.w r3, fp, r1 │ │ │ │ │ + ldrd r4, r5, [r0] │ │ │ │ │ + add.w r1, r1, #24 │ │ │ │ │ + cmp r2, r1 │ │ │ │ │ + strd r4, r5, [r3] │ │ │ │ │ + ldrd r4, r5, [r0, #8] │ │ │ │ │ + strd r4, r5, [r3, #8] │ │ │ │ │ + ldrd r4, r5, [r0, #16] │ │ │ │ │ + strd r4, r5, [r3, #16] │ │ │ │ │ + bne.n 7e0 │ │ │ │ │ + mov r4, ip │ │ │ │ │ + ldr r3, [pc, #440] @ (9c4 ) │ │ │ │ │ + str.w r9, [sp, #60] @ 0x3c │ │ │ │ │ + strd fp, sl, [sp, #68] @ 0x44 │ │ │ │ │ add r3, pc │ │ │ │ │ str r3, [sp, #52] @ 0x34 │ │ │ │ │ - ldr r3, [pc, #396] @ (880 ) │ │ │ │ │ + ldr r3, [pc, #428] @ (9c8 ) │ │ │ │ │ + add r3, pc │ │ │ │ │ + str r3, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r3, [pc, #428] @ (9cc ) │ │ │ │ │ add r3, pc │ │ │ │ │ str r3, [sp, #64] @ 0x40 │ │ │ │ │ movw r3, #52429 @ 0xcccd │ │ │ │ │ movt r3, #52428 @ 0xcccc │ │ │ │ │ str r3, [sp, #76] @ 0x4c │ │ │ │ │ ldr r3, [r7, #0] │ │ │ │ │ mov r0, r7 │ │ │ │ │ - ldr r1, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r1, [sp, #52] @ 0x34 │ │ │ │ │ blx r3 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.w 866 │ │ │ │ │ - ldr r3, [sp, #60] @ 0x3c │ │ │ │ │ + bne.w 9b0 │ │ │ │ │ + ldrd r1, r3, [sp, #56] @ 0x38 │ │ │ │ │ add.w r9, sp, #160 @ 0xa0 │ │ │ │ │ - str r3, [sp, #28] │ │ │ │ │ - movs r2, #64 @ 0x40 │ │ │ │ │ - ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ + mov.w r2, #64 @ 0x40 │ │ │ │ │ + str.w r8, [sp, #16] │ │ │ │ │ mov r0, r7 │ │ │ │ │ - str r3, [sp, #24] │ │ │ │ │ + str r3, [sp, #28] │ │ │ │ │ ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ - strd r8, r3, [sp, #16] │ │ │ │ │ + str r3, [sp, #24] │ │ │ │ │ + ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ + str r3, [sp, #20] │ │ │ │ │ add r3, sp, #88 @ 0x58 │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ add r3, sp, #84 @ 0x54 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ add r3, sp, #80 @ 0x50 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ add r3, sp, #92 @ 0x5c │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, r9 │ │ │ │ │ - ldr r4, [r7, #0] │ │ │ │ │ - ldr r1, [sp, #52] @ 0x34 │ │ │ │ │ - blx r4 │ │ │ │ │ + ldr r5, [r7, #0] │ │ │ │ │ + blx r5 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 82c │ │ │ │ │ + beq.n 962 │ │ │ │ │ ldr r1, [sp, #64] @ 0x40 │ │ │ │ │ mov r0, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL strcmp │ │ │ │ │ ldr.w fp, [sp, #92] @ 0x5c │ │ │ │ │ orrs.w r0, r0, fp │ │ │ │ │ - bne.n 7e0 │ │ │ │ │ + bne.n 910 │ │ │ │ │ movw r6, #4095 @ 0xfff │ │ │ │ │ - ldrd r2, r4, [sp, #80] @ 0x50 │ │ │ │ │ + ldrd r2, r5, [sp, #80] @ 0x50 │ │ │ │ │ ldr.w r9, [sp, #88] @ 0x58 │ │ │ │ │ - cmp.w r2, #1048576 @ 0x100000 │ │ │ │ │ ubfx r3, r2, #0, #20 │ │ │ │ │ + cmp.w r2, #1048576 @ 0x100000 │ │ │ │ │ orr.w r3, r3, #1048576 @ 0x100000 │ │ │ │ │ orr.w r3, r3, r9, lsl #23 │ │ │ │ │ str r3, [sp, #96] @ 0x60 │ │ │ │ │ ldr r3, [sp, #100] @ 0x64 │ │ │ │ │ - bfi r3, r4, #0, #20 │ │ │ │ │ + bfi r3, r5, #0, #20 │ │ │ │ │ str r3, [sp, #100] @ 0x64 │ │ │ │ │ it cc │ │ │ │ │ - movcc r3, r4 │ │ │ │ │ - bcs.n 852 │ │ │ │ │ - ubfx r4, r4, #0, #20 │ │ │ │ │ - cmp r4, r3 │ │ │ │ │ - beq.n 796 │ │ │ │ │ - ldr r2, [pc, #252] @ (884 ) │ │ │ │ │ + movcc r3, r5 │ │ │ │ │ + bcs.n 99c │ │ │ │ │ + ubfx r5, r5, #0, #20 │ │ │ │ │ + cmp r5, r3 │ │ │ │ │ + beq.n 8c8 │ │ │ │ │ + ldr r2, [pc, #276] @ (9d0 ) │ │ │ │ │ movw r1, #891 @ 0x37b │ │ │ │ │ - ldr r0, [pc, #248] @ (888 ) │ │ │ │ │ + ldr r0, [pc, #276] @ (9d4 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r0, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_assertion_failed │ │ │ │ │ ldr r3, [sp, #88] @ 0x58 │ │ │ │ │ ubfx r9, r9, #0, #9 │ │ │ │ │ cmp r3, r9 │ │ │ │ │ - beq.n 7b0 │ │ │ │ │ - ldr r2, [pc, #232] @ (88c ) │ │ │ │ │ + beq.n 8e2 │ │ │ │ │ + ldr r2, [pc, #260] @ (9d8 ) │ │ │ │ │ mov.w r1, #892 @ 0x37c │ │ │ │ │ - ldr r0, [pc, #232] @ (890 ) │ │ │ │ │ + ldr r0, [pc, #256] @ (9dc ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r0, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_assertion_failed │ │ │ │ │ - add r4, sp, #96 @ 0x60 │ │ │ │ │ + add r5, sp, #96 @ 0x60 │ │ │ │ │ ldr r0, [sp, #44] @ 0x2c │ │ │ │ │ - mov r2, r4 │ │ │ │ │ mov r1, r8 │ │ │ │ │ - bl 4b0 │ │ │ │ │ + mov r2, r5 │ │ │ │ │ + bl 57c │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.n 700 │ │ │ │ │ - ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ - mov r2, r4 │ │ │ │ │ + bne.n 82e │ │ │ │ │ + mov r2, r5 │ │ │ │ │ mov r1, r8 │ │ │ │ │ - add.w r0, r3, #120 @ 0x78 │ │ │ │ │ - bl 4b0 │ │ │ │ │ + add.w r0, r4, #120 @ 0x78 │ │ │ │ │ + bl 57c │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.n 700 │ │ │ │ │ + bne.n 82e │ │ │ │ │ ldr r0, [sp, #44] @ 0x2c │ │ │ │ │ mov r3, r6 │ │ │ │ │ - mov r2, r4 │ │ │ │ │ + mov r2, r5 │ │ │ │ │ mov r1, r8 │ │ │ │ │ - bl 280 │ │ │ │ │ - b.n 700 │ │ │ │ │ + bl 30c │ │ │ │ │ + b.n 82e │ │ │ │ │ ldr r6, [sp, #88] @ 0x58 │ │ │ │ │ - cbnz r6, 82c │ │ │ │ │ + cbnz r6, 962 │ │ │ │ │ mov r0, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_hash │ │ │ │ │ - ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ - mov r5, r0 │ │ │ │ │ - ldr r1, [r3, #28] │ │ │ │ │ - cbz r1, 82c │ │ │ │ │ - ldr r4, [r3, #24] │ │ │ │ │ + ldr r1, [r4, #28] │ │ │ │ │ + cbz r1, 962 │ │ │ │ │ + ldr r5, [r4, #24] │ │ │ │ │ add.w sl, r1, r1, lsl #2 │ │ │ │ │ - b.n 802 │ │ │ │ │ - adds r6, #5 │ │ │ │ │ - adds r4, #20 │ │ │ │ │ + str r7, [sp, #48] @ 0x30 │ │ │ │ │ + mov r7, r0 │ │ │ │ │ + b.n 936 │ │ │ │ │ + add.w r6, r6, #5 │ │ │ │ │ + add.w r5, r5, #20 │ │ │ │ │ cmp sl, r6 │ │ │ │ │ - beq.n 82c │ │ │ │ │ - ldr r3, [r4, #12] │ │ │ │ │ + beq.n 962 │ │ │ │ │ + ldr r3, [r5, #12] │ │ │ │ │ cmp fp, r3 │ │ │ │ │ - bne.n 7fa │ │ │ │ │ - ldr r3, [r4, #8] │ │ │ │ │ - cmp r5, r3 │ │ │ │ │ - bne.n 7fa │ │ │ │ │ - ldr r0, [r4, #4] │ │ │ │ │ + bne.n 92a │ │ │ │ │ + ldr r3, [r5, #8] │ │ │ │ │ + cmp r7, r3 │ │ │ │ │ + bne.n 92a │ │ │ │ │ + ldr r0, [r5, #4] │ │ │ │ │ mov r1, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL strcmp │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.n 7fa │ │ │ │ │ - ldr r3, [sp, #76] @ 0x4c │ │ │ │ │ + bne.n 92a │ │ │ │ │ sbfx r6, r6, #0, #30 │ │ │ │ │ + ldr r7, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r3, [sp, #76] @ 0x4c │ │ │ │ │ mul.w r6, r3, r6 │ │ │ │ │ movw r3, #4095 @ 0xfff │ │ │ │ │ cmp r6, r3 │ │ │ │ │ - bne.n 756 │ │ │ │ │ - ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ - ldr.w fp, [sp, #68] @ 0x44 │ │ │ │ │ - ldr r0, [r3, #80] @ 0x50 │ │ │ │ │ + bne.n 888 │ │ │ │ │ + ldrd fp, sl, [sp, #68] @ 0x44 │ │ │ │ │ + ldr r0, [r4, #80] @ 0x50 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree0 │ │ │ │ │ - ldr r5, [sp, #72] @ 0x48 │ │ │ │ │ + ldr r1, [sp, #44] @ 0x2c │ │ │ │ │ str.w fp, [sp, #120] @ 0x78 │ │ │ │ │ - ldr r4, [sp, #44] @ 0x2c │ │ │ │ │ - ldmia r5!, {r0, r1, r2, r3} │ │ │ │ │ - stmia r4!, {r0, r1, r2, r3} │ │ │ │ │ - ldmia r5!, {r0, r1, r2, r3} │ │ │ │ │ - stmia r4!, {r0, r1, r2, r3} │ │ │ │ │ - ldmia.w r5, {r0, r1} │ │ │ │ │ - stmia.w r4, {r0, r1} │ │ │ │ │ - b.n 60e │ │ │ │ │ - ldr r2, [pc, #64] @ (894 ) │ │ │ │ │ + ldrd r2, r3, [sp, #120] @ 0x78 │ │ │ │ │ + strd r2, r3, [r4, #80] @ 0x50 │ │ │ │ │ + ldrd r2, r3, [sl, #8] │ │ │ │ │ + strd r2, r3, [r1, #8] │ │ │ │ │ + ldrd r2, r3, [sl, #16] │ │ │ │ │ + strd r2, r3, [r1, #16] │ │ │ │ │ + ldrd r2, r3, [sl, #24] │ │ │ │ │ + strd r2, r3, [r1, #24] │ │ │ │ │ + ldrd r2, r3, [sl, #32] │ │ │ │ │ + strd r2, r3, [r1, #32] │ │ │ │ │ + b.n 710 │ │ │ │ │ + ldr r2, [pc, #64] @ (9e0 ) │ │ │ │ │ movw r1, #890 @ 0x37a │ │ │ │ │ - ldr r0, [pc, #60] @ (898 ) │ │ │ │ │ + ldr r0, [pc, #64] @ (9e4 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r0, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_assertion_failed │ │ │ │ │ ldr r3, [sp, #84] @ 0x54 │ │ │ │ │ - b.n 77e │ │ │ │ │ + b.n 8b0 │ │ │ │ │ ldr.w fp, [sp, #68] @ 0x44 │ │ │ │ │ mov r0, fp │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree0 │ │ │ │ │ - movs r0, #1 │ │ │ │ │ - b.n 610 │ │ │ │ │ - .word 0x00000268 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ + b.n 714 │ │ │ │ │ + .word 0x000002b2 │ │ │ │ │ R_ARM_REL32 .LC2 │ │ │ │ │ - .word 0x00000192 │ │ │ │ │ + .word 0x000001ac │ │ │ │ │ R_ARM_REL32 .LC3 │ │ │ │ │ - .word 0x0000018c │ │ │ │ │ + .word 0x000001aa │ │ │ │ │ R_ARM_REL32 .LC4 │ │ │ │ │ - .word 0x0000018a │ │ │ │ │ + .word 0x000001a8 │ │ │ │ │ R_ARM_REL32 .rodata │ │ │ │ │ - .word 0x000000f2 │ │ │ │ │ + .word 0x0000010c │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ - .word 0x000000f4 │ │ │ │ │ + .word 0x0000010e │ │ │ │ │ R_ARM_REL32 .LC6 │ │ │ │ │ - .word 0x000000e0 │ │ │ │ │ + .word 0x000000fa │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ - .word 0x000000e2 │ │ │ │ │ + .word 0x000000fc │ │ │ │ │ R_ARM_REL32 .LC7 │ │ │ │ │ - .word 0x00000036 │ │ │ │ │ - R_ARM_REL32 .LC0 │ │ │ │ │ .word 0x00000038 │ │ │ │ │ + R_ARM_REL32 .LC0 │ │ │ │ │ + .word 0x0000003a │ │ │ │ │ R_ARM_REL32 .LC5 │ │ │ │ │ │ │ │ │ │ -0000089c : │ │ │ │ │ +000009e8 : │ │ │ │ │ exprt(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ - mov r5, r0 │ │ │ │ │ - mov r6, r1 │ │ │ │ │ - sub sp, #120 @ 0x78 │ │ │ │ │ - movs r7, #0 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + mov r4, r0 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov.w r6, #0 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r7, r1 │ │ │ │ │ + mov r8, r6 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + sub sp, #124 @ 0x7c │ │ │ │ │ add.w r9, sp, #36 @ 0x24 │ │ │ │ │ - mov r8, r7 │ │ │ │ │ mov r0, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5begin │ │ │ │ │ - movs r1, #8 │ │ │ │ │ + mov.w r1, #8 │ │ │ │ │ mov r0, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5unsigned │ │ │ │ │ - ldr r3, [r5, #28] │ │ │ │ │ - cbz r3, 8e0 │ │ │ │ │ - ldr r4, [r5, #24] │ │ │ │ │ + ldr r3, [r4, #28] │ │ │ │ │ + cbz r3, a42 │ │ │ │ │ + ldr r5, [r4, #24] │ │ │ │ │ mov r0, r9 │ │ │ │ │ add.w r8, r8, #1 │ │ │ │ │ - add r4, r7 │ │ │ │ │ - adds r7, #20 │ │ │ │ │ - ldr r1, [r4, #12] │ │ │ │ │ + add r5, r6 │ │ │ │ │ + add.w r6, r6, #20 │ │ │ │ │ + ldr r1, [r5, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5int │ │ │ │ │ - ldr r1, [r4, #4] │ │ │ │ │ + ldr r1, [r5, #4] │ │ │ │ │ mov r0, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5puts │ │ │ │ │ - ldr r3, [r5, #28] │ │ │ │ │ + ldr r3, [r4, #28] │ │ │ │ │ cmp r8, r3 │ │ │ │ │ - bcc.n 8c0 │ │ │ │ │ + bcc.n a20 │ │ │ │ │ mov r0, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5end │ │ │ │ │ + ldr r1, [pc, #196] @ (b10 ) │ │ │ │ │ + mov r0, r7 │ │ │ │ │ ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r2, [sp, #36] @ 0x24 │ │ │ │ │ + add r1, pc │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ - mov r0, r6 │ │ │ │ │ ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - ldr r1, [pc, #188] @ (9b0 ) │ │ │ │ │ - ldrd r2, r3, [sp, #36] @ 0x24 │ │ │ │ │ - add r1, pc │ │ │ │ │ - ldr r4, [r6, #0] │ │ │ │ │ - blx r4 │ │ │ │ │ - ldr r2, [r5, #84] @ 0x54 │ │ │ │ │ + ldr r5, [r7, #0] │ │ │ │ │ + ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ + blx r5 │ │ │ │ │ + ldr r2, [r4, #84] @ 0x54 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - beq.n 99e │ │ │ │ │ - ldr.w r8, [pc, #176] @ 9b4 │ │ │ │ │ - movs r4, #0 │ │ │ │ │ - ldr.w r9, [pc, #172] @ 9b8 │ │ │ │ │ - mov.w sl, #24 │ │ │ │ │ + beq.n aee │ │ │ │ │ + ldr.w r8, [pc, #172] @ b14 │ │ │ │ │ + mov.w r5, #0 │ │ │ │ │ + movw r9, #65520 @ 0xfff0 │ │ │ │ │ + mov fp, r5 │ │ │ │ │ + ldr.w sl, [pc, #164] @ b18 │ │ │ │ │ add r8, pc │ │ │ │ │ - add r9, pc │ │ │ │ │ - mul.w r1, sl, r4 │ │ │ │ │ - ldr.w lr, [r5, #80] @ 0x50 │ │ │ │ │ - add.w ip, lr, r1 │ │ │ │ │ - ldrb.w r3, [ip, #18] │ │ │ │ │ - ubfx r3, r3, #4, #3 │ │ │ │ │ - cmp r3, #3 │ │ │ │ │ - bls.n 998 │ │ │ │ │ - ldrh.w r2, [ip, #22] │ │ │ │ │ - movw r0, #65520 @ 0xfff0 │ │ │ │ │ - bic.w r3, r2, #15 │ │ │ │ │ - lsls r3, r3, #16 │ │ │ │ │ - lsrs r3, r3, #16 │ │ │ │ │ - cmp r3, r0 │ │ │ │ │ - itete ne │ │ │ │ │ - movne r0, #20 │ │ │ │ │ - moveq r2, r9 │ │ │ │ │ - ubfxne r2, r2, #4, #12 │ │ │ │ │ - moveq r3, #0 │ │ │ │ │ - itt ne │ │ │ │ │ - ldrne r3, [r5, #24] │ │ │ │ │ - mlane r3, r0, r2, r3 │ │ │ │ │ - ldr.w r0, [ip, #12] │ │ │ │ │ - itt ne │ │ │ │ │ - ldrne r2, [r3, #4] │ │ │ │ │ - ldrne r3, [r3, #12] │ │ │ │ │ + add sl, pc │ │ │ │ │ + b.n acc │ │ │ │ │ + ldr r2, [r4, #24] │ │ │ │ │ + ubfx r3, r3, #4, #12 │ │ │ │ │ + add.w r3, r3, r3, lsl #2 │ │ │ │ │ + add.w r3, r2, r3, lsl #2 │ │ │ │ │ + ldr r2, [r3, #4] │ │ │ │ │ + ldr r3, [r3, #12] │ │ │ │ │ + ldr r0, [r1, #12] │ │ │ │ │ str r0, [sp, #24] │ │ │ │ │ - ldr.w r0, [ip, #8] │ │ │ │ │ + ldr r0, [r1, #8] │ │ │ │ │ str r0, [sp, #20] │ │ │ │ │ - ldr.w r0, [ip, #4] │ │ │ │ │ + ldr r0, [r1, #4] │ │ │ │ │ str r0, [sp, #16] │ │ │ │ │ - mov r0, r6 │ │ │ │ │ - ldr.w r1, [lr, r1] │ │ │ │ │ - str r1, [sp, #12] │ │ │ │ │ - ldrh.w r1, [ip, #18] │ │ │ │ │ - ubfx r1, r1, #7, #9 │ │ │ │ │ - str r1, [sp, #8] │ │ │ │ │ - ldr.w r1, [ip, #20] │ │ │ │ │ - ubfx r1, r1, #0, #20 │ │ │ │ │ - str r1, [sp, #4] │ │ │ │ │ - ldr.w r1, [ip, #16] │ │ │ │ │ + ldr r0, [r1, #0] │ │ │ │ │ + str r0, [sp, #12] │ │ │ │ │ + ldrh r0, [r1, #18] │ │ │ │ │ + ubfx r0, r0, #7, #9 │ │ │ │ │ + str r0, [sp, #8] │ │ │ │ │ + ldr r0, [r1, #20] │ │ │ │ │ + ubfx r0, r0, #0, #20 │ │ │ │ │ + str r0, [sp, #4] │ │ │ │ │ + mov r0, r7 │ │ │ │ │ + ldr r1, [r1, #16] │ │ │ │ │ ubfx r1, r1, #0, #20 │ │ │ │ │ str r1, [sp, #0] │ │ │ │ │ mov r1, r8 │ │ │ │ │ - ldr r7, [r6, #0] │ │ │ │ │ - blx r7 │ │ │ │ │ - ldr r2, [r5, #84] @ 0x54 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - cmp r4, r2 │ │ │ │ │ - bcc.n 914 │ │ │ │ │ - ldr r1, [pc, #28] @ (9bc ) │ │ │ │ │ - mov r0, r6 │ │ │ │ │ - ldr r3, [r6, #0] │ │ │ │ │ + ldr r6, [r7, #0] │ │ │ │ │ + blx r6 │ │ │ │ │ + ldr r2, [r4, #84] @ 0x54 │ │ │ │ │ + add.w fp, fp, #1 │ │ │ │ │ + add.w r5, r5, #24 │ │ │ │ │ + cmp fp, r2 │ │ │ │ │ + bcs.n aee │ │ │ │ │ + ldr r1, [r4, #80] @ 0x50 │ │ │ │ │ + add r1, r5 │ │ │ │ │ + ldrb r3, [r1, #18] │ │ │ │ │ + ubfx r3, r3, #4, #3 │ │ │ │ │ + cmp r3, #3 │ │ │ │ │ + bls.n ac0 │ │ │ │ │ + ldrh r3, [r1, #22] │ │ │ │ │ + bic.w r2, r3, #15 │ │ │ │ │ + uxth r2, r2 │ │ │ │ │ + cmp r2, r9 │ │ │ │ │ + bne.n a7c │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + mov r2, sl │ │ │ │ │ + b.n a8e │ │ │ │ │ + ldr r1, [pc, #44] @ (b1c ) │ │ │ │ │ + mov r0, r7 │ │ │ │ │ + ldr r3, [r7, #0] │ │ │ │ │ add r1, pc │ │ │ │ │ blx r3 │ │ │ │ │ - add sp, #120 @ 0x78 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ - nop │ │ │ │ │ - .word 0x000000b6 │ │ │ │ │ + add sp, #124 @ 0x7c │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + .word 0x000000bc │ │ │ │ │ R_ARM_REL32 .LC2 │ │ │ │ │ - .word 0x000000a0 │ │ │ │ │ + .word 0x0000009a │ │ │ │ │ R_ARM_REL32 .LC9 │ │ │ │ │ - .word 0x000000a2 │ │ │ │ │ + .word 0x0000009c │ │ │ │ │ R_ARM_REL32 .rodata │ │ │ │ │ - .word 0x00000014 │ │ │ │ │ + .word 0x00000024 │ │ │ │ │ R_ARM_REL32 .LC8 │ │ │ │ │ │ │ │ │ │ -000009c0 : │ │ │ │ │ +00000b20 : │ │ │ │ │ fftw_iestimate_cost(): │ │ │ │ │ - vldr d7, [r1, #16] │ │ │ │ │ vldr d0, [r1, #8] │ │ │ │ │ + vldr d7, [r1, #16] │ │ │ │ │ ldr r3, [r0, #8] │ │ │ │ │ vadd.f64 d0, d0, d7 │ │ │ │ │ vldr d7, [r1, #24] │ │ │ │ │ vadd.f64 d7, d7, d7 │ │ │ │ │ vadd.f64 d0, d0, d7 │ │ │ │ │ vldr d7, [r1, #32] │ │ │ │ │ vadd.f64 d0, d0, d7 │ │ │ │ │ - cbz r3, 9ea │ │ │ │ │ - movs r1, #1 │ │ │ │ │ + cbz r3, b4c │ │ │ │ │ + mov.w r1, #1 │ │ │ │ │ mov r0, r2 │ │ │ │ │ bx r3 │ │ │ │ │ bx lr │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -000009ec : │ │ │ │ │ +00000b50 : │ │ │ │ │ evaluate_plan(): │ │ │ │ │ ldr.w r3, [r0, #168] @ 0xa8 │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ + strd r4, r5, [sp, #-24]! │ │ │ │ │ mov r5, r1 │ │ │ │ │ - mov r6, r2 │ │ │ │ │ mov r4, r0 │ │ │ │ │ - ubfx r2, r3, #0, #20 │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + mov r6, r2 │ │ │ │ │ + strd r8, lr, [sp, #16] │ │ │ │ │ lsls r1, r3, #30 │ │ │ │ │ - bpl.n a3a │ │ │ │ │ + ubfx r2, r3, #0, #20 │ │ │ │ │ + bpl.n bb4 │ │ │ │ │ ldr.w r3, [r0, #208] @ 0xd0 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str.w r3, [r0, #208] @ 0xd0 │ │ │ │ │ mov r2, r6 │ │ │ │ │ mov r1, r5 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - bl 9c0 │ │ │ │ │ + bl b20 │ │ │ │ │ R_ARM_THM_CALL fftw_iestimate_cost │ │ │ │ │ vldr d7, [r4, #224] @ 0xe0 │ │ │ │ │ vstr d0, [r5, #40] @ 0x28 │ │ │ │ │ vadd.f64 d7, d7, d0 │ │ │ │ │ vstr d7, [r4, #224] @ 0xe0 │ │ │ │ │ ldr r7, [r4, #4] │ │ │ │ │ - cbz r7, a78 │ │ │ │ │ + cbz r7, bf6 │ │ │ │ │ + ldrd r8, lr, [sp, #16] │ │ │ │ │ mov r2, r6 │ │ │ │ │ mov r1, r5 │ │ │ │ │ mov r0, r4 │ │ │ │ │ mov ip, r7 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #24 │ │ │ │ │ bx ip │ │ │ │ │ lsls r3, r2, #31 │ │ │ │ │ - bmi.n a7c │ │ │ │ │ + bmi.n c04 │ │ │ │ │ ldr.w r3, [r4, #208] @ 0xd0 │ │ │ │ │ mov r2, r6 │ │ │ │ │ mov r1, r5 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str.w r3, [r4, #208] @ 0xd0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_measure_execution_time │ │ │ │ │ vcmpe.f64 d0, #0.0 │ │ │ │ │ vmrs APSR_nzcv, fpscr │ │ │ │ │ - bmi.n a0c │ │ │ │ │ - vldr d7, [r4, #216] @ 0xd8 │ │ │ │ │ - movs r3, #1 │ │ │ │ │ + bmi.n b7a │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ ldr r7, [r4, #4] │ │ │ │ │ + vldr d7, [r4, #216] @ 0xd8 │ │ │ │ │ vstr d0, [r5, #40] @ 0x28 │ │ │ │ │ - vadd.f64 d7, d7, d0 │ │ │ │ │ str.w r3, [r4, #204] @ 0xcc │ │ │ │ │ + vadd.f64 d7, d7, d0 │ │ │ │ │ vstr d7, [r4, #216] @ 0xd8 │ │ │ │ │ cmp r7, #0 │ │ │ │ │ - bne.n a2a │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, pc} │ │ │ │ │ + bne.n b98 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldmia.w sp!, {r8, pc} │ │ │ │ │ vldr d7, [r5, #40] @ 0x28 │ │ │ │ │ vcmp.f64 d7, #0.0 │ │ │ │ │ vmrs APSR_nzcv, fpscr │ │ │ │ │ - bne.n a26 │ │ │ │ │ - b.n a3e │ │ │ │ │ + bne.n b94 │ │ │ │ │ + b.n bb8 │ │ │ │ │ │ │ │ │ │ -00000a8c : │ │ │ │ │ +00000c14 : │ │ │ │ │ search0(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ mov sl, r1 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #36 @ 0x24 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr.w r3, [r0, #168] @ 0xa8 │ │ │ │ │ str r2, [sp, #16] │ │ │ │ │ lsls r2, r3, #30 │ │ │ │ │ - bmi.n abc │ │ │ │ │ + bmi.n c54 │ │ │ │ │ ldr.w r3, [r0, #200] @ 0xc8 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bne.w c3a │ │ │ │ │ + bne.w dee │ │ │ │ │ vldr d7, [r0, #192] @ 0xc0 │ │ │ │ │ vcmpe.f64 d7, #0.0 │ │ │ │ │ vmrs APSR_nzcv, fpscr │ │ │ │ │ - bge.w c46 │ │ │ │ │ + bge.w df4 │ │ │ │ │ ldr.w r3, [sl] │ │ │ │ │ - movs r2, #0 │ │ │ │ │ - str.w r2, [r4, #204] @ 0xcc │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ add.w r3, r4, r3, lsl #2 │ │ │ │ │ ldr r3, [r3, #44] @ 0x2c │ │ │ │ │ + str.w r2, [r4, #204] @ 0xcc │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - blt.w c3a │ │ │ │ │ + blt.w dee │ │ │ │ │ + mov.w r1, #1 │ │ │ │ │ mov fp, r2 │ │ │ │ │ - add r7, sp, #24 │ │ │ │ │ - add.w r6, r4, #164 @ 0xa4 │ │ │ │ │ - movs r1, #1 │ │ │ │ │ + add.w r9, sp, #24 │ │ │ │ │ + add.w r7, r4, #164 @ 0xa4 │ │ │ │ │ str r1, [sp, #12] │ │ │ │ │ movw r1, #52429 @ 0xcccd │ │ │ │ │ movt r1, #52428 @ 0xcccc │ │ │ │ │ str r1, [sp, #20] │ │ │ │ │ - movs r2, #20 │ │ │ │ │ - ldr.w r8, [r4, #160] @ 0xa0 │ │ │ │ │ - ldmia.w r6, {r0, r1} │ │ │ │ │ - stmia.w r7, {r0, r1} │ │ │ │ │ - mul.w r3, r2, r3 │ │ │ │ │ ldr r2, [r4, #24] │ │ │ │ │ - add.w r9, r2, r3 │ │ │ │ │ - ldr r5, [r2, r3] │ │ │ │ │ - mov r2, r4 │ │ │ │ │ - ldr r3, [sp, #8] │ │ │ │ │ - ldmia.w r3, {r0, r1} │ │ │ │ │ - stmia.w r6, {r0, r1} │ │ │ │ │ + add.w r3, r3, r3, lsl #2 │ │ │ │ │ mov r1, sl │ │ │ │ │ - mov r0, r5 │ │ │ │ │ + ldr.w r6, [r4, #160] @ 0xa0 │ │ │ │ │ + ldr.w r0, [r2, r3, lsl #2] │ │ │ │ │ + add.w r8, r2, r3, lsl #2 │ │ │ │ │ + ldrd r2, r3, [r7] │ │ │ │ │ + strd r2, r3, [r9] │ │ │ │ │ + ldr r3, [sp, #8] │ │ │ │ │ + ldrd r2, r3, [r3] │ │ │ │ │ + strd r2, r3, [r7] │ │ │ │ │ + mov r2, r4 │ │ │ │ │ ldrh.w r3, [r4, #166] @ 0xa6 │ │ │ │ │ bfc r3, #7, #9 │ │ │ │ │ strh.w r3, [r4, #166] @ 0xa6 │ │ │ │ │ - ldr r3, [r5, #0] │ │ │ │ │ + ldr r3, [r0, #0] │ │ │ │ │ ldr r3, [r3, #4] │ │ │ │ │ blx r3 │ │ │ │ │ - ldr.w r3, [r4, #204] @ 0xcc │ │ │ │ │ + ldrd r2, r3, [r9] │ │ │ │ │ mov r5, r0 │ │ │ │ │ - str.w r8, [r4, #160] @ 0xa0 │ │ │ │ │ - ldmia.w r7, {r0, r1} │ │ │ │ │ - stmia.w r6, {r0, r1} │ │ │ │ │ + str.w r6, [r4, #160] @ 0xa0 │ │ │ │ │ + strd r2, r3, [r7] │ │ │ │ │ + ldr.w r3, [r4, #204] @ 0xcc │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bne.n bac │ │ │ │ │ - cbz r5, b9c │ │ │ │ │ - ldr.w r8, [r5, #52] @ 0x34 │ │ │ │ │ + bne.n d58 │ │ │ │ │ + cbz r5, d36 │ │ │ │ │ + ldr r6, [r5, #52] @ 0x34 │ │ │ │ │ cmp.w fp, #0 │ │ │ │ │ - beq.n bdc │ │ │ │ │ + beq.n d8e │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bne.n bf2 │ │ │ │ │ + bne.n da6 │ │ │ │ │ mov r2, sl │ │ │ │ │ mov r1, r5 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - bl 9ec │ │ │ │ │ + bl b50 │ │ │ │ │ vldr d6, [r5, #40] @ 0x28 │ │ │ │ │ vldr d7, [fp, #40] @ 0x28 │ │ │ │ │ vcmpe.f64 d6, d7 │ │ │ │ │ vmrs APSR_nzcv, fpscr │ │ │ │ │ - bpl.n bd0 │ │ │ │ │ + bpl.n d80 │ │ │ │ │ mov r0, fp │ │ │ │ │ mov fp, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ ldr r3, [r4, #24] │ │ │ │ │ ldr r2, [sp, #20] │ │ │ │ │ - sub.w r3, r9, r3 │ │ │ │ │ - asrs r3, r3, #2 │ │ │ │ │ + sub.w r3, r8, r3 │ │ │ │ │ + mov.w r3, r3, asr #2 │ │ │ │ │ mul.w r3, r2, r3 │ │ │ │ │ ldr r2, [sp, #16] │ │ │ │ │ str r3, [r2, #0] │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ ldr.w r3, [r4, #168] @ 0xa8 │ │ │ │ │ - subs.w r8, r8, #0 │ │ │ │ │ + subs r6, #0 │ │ │ │ │ it ne │ │ │ │ │ - movne.w r8, #1 │ │ │ │ │ - ands.w r8, r8, r3, lsr #17 │ │ │ │ │ - bne.n ba4 │ │ │ │ │ - ldr.w r3, [r9, #16] │ │ │ │ │ + movne r6, #1 │ │ │ │ │ + ands.w r6, r6, r3, lsr #17 │ │ │ │ │ + bne.n d3e │ │ │ │ │ + ldr.w r3, [r8, #16] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bge.n aea │ │ │ │ │ + bge.n c88 │ │ │ │ │ mov r0, fp │ │ │ │ │ add sp, #36 @ 0x24 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ ldr.w r3, [r4, #168] @ 0xa8 │ │ │ │ │ lsls r3, r3, #30 │ │ │ │ │ - bmi.n bc8 │ │ │ │ │ + bmi.n d76 │ │ │ │ │ ldr.w r3, [r4, #200] @ 0xc8 │ │ │ │ │ - cbnz r3, c2e │ │ │ │ │ + cmp r3, #0 │ │ │ │ │ + bne.n de2 │ │ │ │ │ vldr d7, [r4, #192] @ 0xc0 │ │ │ │ │ vcmpe.f64 d7, #0.0 │ │ │ │ │ vmrs APSR_nzcv, fpscr │ │ │ │ │ - bge.n bfe │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + bge.n db2 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ str.w r3, [r4, #204] @ 0xcc │ │ │ │ │ - b.n b3c │ │ │ │ │ + b.n cd8 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ - b.n b88 │ │ │ │ │ + b.n d26 │ │ │ │ │ ldr r3, [r4, #24] │ │ │ │ │ mov fp, r5 │ │ │ │ │ ldr r2, [sp, #20] │ │ │ │ │ - sub.w r3, r9, r3 │ │ │ │ │ - asrs r3, r3, #2 │ │ │ │ │ + sub.w r3, r8, r3 │ │ │ │ │ + mov.w r3, r3, asr #2 │ │ │ │ │ mul.w r3, r2, r3 │ │ │ │ │ ldr r2, [sp, #16] │ │ │ │ │ str r3, [r2, #0] │ │ │ │ │ - b.n b88 │ │ │ │ │ + b.n d26 │ │ │ │ │ mov r2, sl │ │ │ │ │ mov r1, fp │ │ │ │ │ mov r0, r4 │ │ │ │ │ - bl 9ec │ │ │ │ │ - b.n b4e │ │ │ │ │ - add.w r3, r4, #184 @ 0xb8 │ │ │ │ │ - ldmia.w r3, {r0, r1} │ │ │ │ │ - add.w r3, r4, #176 @ 0xb0 │ │ │ │ │ - stmia.w sp, {r0, r1} │ │ │ │ │ + bl b50 │ │ │ │ │ + b.n ce8 │ │ │ │ │ + ldrd r2, r3, [r4, #184] @ 0xb8 │ │ │ │ │ mov r1, sl │ │ │ │ │ mov r0, r4 │ │ │ │ │ + strd r2, r3, [sp] │ │ │ │ │ + add.w r3, r4, #176 @ 0xb0 │ │ │ │ │ ldmia r3, {r2, r3} │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_elapsed_since │ │ │ │ │ vldr d7, [r4, #192] @ 0xc0 │ │ │ │ │ vcmpe.f64 d0, d7 │ │ │ │ │ vmrs APSR_nzcv, fpscr │ │ │ │ │ - blt.n bc8 │ │ │ │ │ - movs r0, #1 │ │ │ │ │ - movs r1, #1 │ │ │ │ │ - strd r0, r1, [r4, #200] @ 0xc8 │ │ │ │ │ + blt.n d76 │ │ │ │ │ + mov.w r2, #1 │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + strd r2, r3, [r4, #200] @ 0xc8 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ mov r0, fp │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ mov.w fp, #0 │ │ │ │ │ - mov r0, fp │ │ │ │ │ - add sp, #36 @ 0x24 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - add.w r3, r0, #184 @ 0xb8 │ │ │ │ │ - ldmia.w r3, {r0, r1} │ │ │ │ │ - add.w r3, r4, #176 @ 0xb0 │ │ │ │ │ - stmia.w sp, {r0, r1} │ │ │ │ │ - mov r1, sl │ │ │ │ │ - mov r0, r4 │ │ │ │ │ + b.n d3e │ │ │ │ │ + ldrd r2, r3, [r0, #184] @ 0xb8 │ │ │ │ │ + strd r2, r3, [sp] │ │ │ │ │ + add.w r3, r0, #176 @ 0xb0 │ │ │ │ │ ldmia r3, {r2, r3} │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_elapsed_since │ │ │ │ │ vldr d7, [r4, #192] @ 0xc0 │ │ │ │ │ vcmpe.f64 d0, d7 │ │ │ │ │ vmrs APSR_nzcv, fpscr │ │ │ │ │ ittt ge │ │ │ │ │ movge r2, #1 │ │ │ │ │ movge r3, #1 │ │ │ │ │ strdge r2, r3, [r4, #200] @ 0xc8 │ │ │ │ │ - blt.w abc │ │ │ │ │ - b.n c3a │ │ │ │ │ + blt.w c54 │ │ │ │ │ + b.n dee │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000c7c : │ │ │ │ │ +00000e24 : │ │ │ │ │ mkplan(): │ │ │ │ │ ldr.w r3, [r0, #168] @ 0xa8 │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r1 │ │ │ │ │ - lsls r0, r3, #30 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + lsls r1, r3, #30 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #132 @ 0x84 │ │ │ │ │ - ldr r0, [r4, #76] @ 0x4c │ │ │ │ │ - ittt mi │ │ │ │ │ - ldrhmi.w r3, [r4, #166] @ 0xa6 │ │ │ │ │ - bfcmi r3, #7, #9 │ │ │ │ │ - strhmi.w r3, [r4, #166] @ 0xa6 │ │ │ │ │ + bpl.n e52 │ │ │ │ │ + ldrh.w r3, [r0, #166] @ 0xa6 │ │ │ │ │ + bfc r3, #7, #9 │ │ │ │ │ + strh.w r3, [r0, #166] @ 0xa6 │ │ │ │ │ ldr r3, [r4, #20] │ │ │ │ │ + ldr r0, [r4, #76] @ 0x4c │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - beq.w f8a │ │ │ │ │ + beq.w 1144 │ │ │ │ │ + mov r1, r5 │ │ │ │ │ blx r3 │ │ │ │ │ + cmp r0, #2 │ │ │ │ │ str r0, [r4, #76] @ 0x4c │ │ │ │ │ - sub.w r0, r0, #2 │ │ │ │ │ - clz r0, r0 │ │ │ │ │ - lsrs r0, r0, #5 │ │ │ │ │ + ite ne │ │ │ │ │ + movne r0, #0 │ │ │ │ │ + moveq r0, #1 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.w f74 │ │ │ │ │ + bne.w 1116 │ │ │ │ │ ldr.w r3, [r4, #232] @ 0xe8 │ │ │ │ │ add r7, sp, #44 @ 0x2c │ │ │ │ │ str.w r0, [r4, #200] @ 0xc8 │ │ │ │ │ mov r0, r7 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str.w r3, [r4, #232] @ 0xe8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5begin │ │ │ │ │ - movs r1, #8 │ │ │ │ │ + mov.w r1, #8 │ │ │ │ │ mov r0, r7 │ │ │ │ │ - add.w r9, r4, #164 @ 0xa4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5unsigned │ │ │ │ │ ldr.w r1, [r4, #160] @ 0xa0 │ │ │ │ │ mov r0, r7 │ │ │ │ │ - add.w sl, sp, #28 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5int │ │ │ │ │ ldr r3, [r5, #0] │ │ │ │ │ mov r1, r7 │ │ │ │ │ mov r0, r5 │ │ │ │ │ ldr r3, [r3, #4] │ │ │ │ │ blx r3 │ │ │ │ │ mov r0, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5end │ │ │ │ │ - ldr.w r8, [r4, #76] @ 0x4c │ │ │ │ │ - ldmia.w r9, {r0, r1} │ │ │ │ │ - cmp.w r8, #4 │ │ │ │ │ - stmia.w sl, {r0, r1} │ │ │ │ │ - bne.w e28 │ │ │ │ │ - ldr.w r3, [r4, #164] @ 0xa4 │ │ │ │ │ - ubfx r8, r3, #0, #20 │ │ │ │ │ - ldrb.w r3, [r4, #166] @ 0xa6 │ │ │ │ │ - ubfx r3, r3, #4, #3 │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ - ldrh.w r3, [r4, #166] @ 0xa6 │ │ │ │ │ - ubfx r3, r3, #7, #9 │ │ │ │ │ - str r3, [sp, #16] │ │ │ │ │ - ldr.w r3, [r4, #168] @ 0xa8 │ │ │ │ │ - ubfx r3, r3, #0, #20 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ - mov r2, r3 │ │ │ │ │ - ldmia.w r9, {r0, r1} │ │ │ │ │ - stmia.w sl, {r0, r1} │ │ │ │ │ - ldr r1, [sp, #8] │ │ │ │ │ - mov r9, r2 │ │ │ │ │ - ldr r3, [sp, #28] │ │ │ │ │ + ldr.w r9, [r4, #76] @ 0x4c │ │ │ │ │ + add r1, sp, #28 │ │ │ │ │ + ldrd r2, r3, [r4, #164] @ 0xa4 │ │ │ │ │ + str r1, [sp, #4] │ │ │ │ │ + cmp.w r9, #4 │ │ │ │ │ + strd r2, r3, [sp, #28] │ │ │ │ │ + bne.w fd6 │ │ │ │ │ + ldr.w r1, [r4, #164] @ 0xa4 │ │ │ │ │ + ubfx r9, r1, #0, #20 │ │ │ │ │ + ldrb.w r1, [r4, #166] @ 0xa6 │ │ │ │ │ + ubfx r1, r1, #4, #3 │ │ │ │ │ + str r1, [sp, #12] │ │ │ │ │ + ldrh.w r1, [r4, #166] @ 0xa6 │ │ │ │ │ + ubfx r1, r1, #7, #9 │ │ │ │ │ + str r1, [sp, #20] │ │ │ │ │ + ldr.w r1, [r4, #168] @ 0xa8 │ │ │ │ │ + ubfx r8, r1, #0, #20 │ │ │ │ │ + strd r2, r3, [sp, #28] │ │ │ │ │ + mov r1, r5 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - bfi r3, r2, #0, #20 │ │ │ │ │ + ldr r2, [sp, #12] │ │ │ │ │ + mov sl, r8 │ │ │ │ │ + ldr r3, [sp, #28] │ │ │ │ │ + bfi r3, r8, #0, #20 │ │ │ │ │ str r3, [sp, #28] │ │ │ │ │ ubfx r3, r3, #16, #8 │ │ │ │ │ - bfi r3, r1, #4, #3 │ │ │ │ │ + bfi r3, r2, #4, #3 │ │ │ │ │ + ldr r2, [sp, #20] │ │ │ │ │ strb.w r3, [sp, #30] │ │ │ │ │ - ldr r1, [sp, #16] │ │ │ │ │ ldrh.w r3, [sp, #30] │ │ │ │ │ - bfi r3, r1, #7, #9 │ │ │ │ │ + bfi r3, r2, #7, #9 │ │ │ │ │ + add r2, sp, #24 │ │ │ │ │ + str r2, [sp, #16] │ │ │ │ │ strh.w r3, [sp, #30] │ │ │ │ │ ldr r3, [sp, #32] │ │ │ │ │ - add r1, sp, #24 │ │ │ │ │ - str r1, [sp, #12] │ │ │ │ │ - bfi r3, r2, #0, #20 │ │ │ │ │ - mov r2, r1 │ │ │ │ │ + bfi r3, r8, #0, #20 │ │ │ │ │ str r3, [sp, #32] │ │ │ │ │ - mov r1, r5 │ │ │ │ │ - mov r3, sl │ │ │ │ │ - bl a8c │ │ │ │ │ + ldr r3, [sp, #4] │ │ │ │ │ + bl c14 │ │ │ │ │ mov r6, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.w 111c │ │ │ │ │ - ldr r2, [sp, #0] │ │ │ │ │ - bic.w fp, r2, #16 │ │ │ │ │ - bics.w r3, r8, fp │ │ │ │ │ - mov r3, r2 │ │ │ │ │ - beq.w f96 │ │ │ │ │ - bic.w fp, r9, #2048 @ 0x800 │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ - bics.w r3, r8, fp │ │ │ │ │ - beq.w fcc │ │ │ │ │ - bic.w fp, r9, #8 │ │ │ │ │ - bics.w r3, r8, fp │ │ │ │ │ - beq.w 1002 │ │ │ │ │ - bic.w fp, r9, #65536 @ 0x10000 │ │ │ │ │ - bics.w r3, r8, fp │ │ │ │ │ - beq.w 1036 │ │ │ │ │ - cmp r8, r9 │ │ │ │ │ - beq.n dd6 │ │ │ │ │ - ldr r3, [sp, #28] │ │ │ │ │ + bne.w 1308 │ │ │ │ │ + bic.w fp, r8, #16 │ │ │ │ │ + bics.w r3, r9, fp │ │ │ │ │ + beq.w 1152 │ │ │ │ │ + bic.w fp, sl, #2048 @ 0x800 │ │ │ │ │ + str.w r8, [sp, #8] │ │ │ │ │ + bics.w r3, r9, fp │ │ │ │ │ + beq.w 118a │ │ │ │ │ + bic.w fp, sl, #8 │ │ │ │ │ + bics.w r3, r9, fp │ │ │ │ │ + beq.w 11c0 │ │ │ │ │ + bic.w fp, sl, #65536 @ 0x10000 │ │ │ │ │ + bics.w r3, r9, fp │ │ │ │ │ + beq.w 11f6 │ │ │ │ │ + cmp r9, sl │ │ │ │ │ + beq.n f82 │ │ │ │ │ + ldr r2, [sp, #16] │ │ │ │ │ mov r1, r5 │ │ │ │ │ - ldr r2, [sp, #12] │ │ │ │ │ mov r0, r4 │ │ │ │ │ - bfi r3, r8, #0, #20 │ │ │ │ │ + ldr r3, [sp, #28] │ │ │ │ │ + bfi r3, r9, #0, #20 │ │ │ │ │ str r3, [sp, #28] │ │ │ │ │ - mov r3, sl │ │ │ │ │ - bl a8c │ │ │ │ │ + ldr r3, [sp, #4] │ │ │ │ │ + bl c14 │ │ │ │ │ mov r6, r0 │ │ │ │ │ - str.w r8, [sp, #4] │ │ │ │ │ + str.w r9, [sp, #8] │ │ │ │ │ ldr r3, [r4, #20] │ │ │ │ │ ldr r0, [r4, #76] @ 0x4c │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - beq.w 1070 │ │ │ │ │ + beq.w 1230 │ │ │ │ │ mov r1, r5 │ │ │ │ │ blx r3 │ │ │ │ │ sub.w r3, r0, #2 │ │ │ │ │ - clz r3, r3 │ │ │ │ │ str r0, [r4, #76] @ 0x4c │ │ │ │ │ - lsrs r3, r3, #5 │ │ │ │ │ + clz r3, r3 │ │ │ │ │ + mov.w r3, r3, lsr #5 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bne.w f76 │ │ │ │ │ + bne.w 111a │ │ │ │ │ ldr.w r2, [r4, #200] @ 0xc8 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - beq.w 1060 │ │ │ │ │ + beq.w 1220 │ │ │ │ │ ldrh.w r3, [r4, #166] @ 0xa6 │ │ │ │ │ cmp r3, #127 @ 0x7f │ │ │ │ │ - bls.w f80 │ │ │ │ │ + bls.w 1126 │ │ │ │ │ cmp r0, #1 │ │ │ │ │ - bhi.w f82 │ │ │ │ │ - ldr r3, [sp, #8] │ │ │ │ │ + bhi.w 112a │ │ │ │ │ + ldr r3, [sp, #12] │ │ │ │ │ orr.w r3, r3, #1 │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ - cmp r6, #0 │ │ │ │ │ - beq.w 1106 │ │ │ │ │ - ldr r3, [sp, #24] │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ + cmp r6, #0 │ │ │ │ │ + beq.w 12f0 │ │ │ │ │ + ldr.w sl, [sp, #24] │ │ │ │ │ add.w r0, r4, #80 @ 0x50 │ │ │ │ │ - b.n f40 │ │ │ │ │ - mov r2, sl │ │ │ │ │ - mov r1, r7 │ │ │ │ │ + b.n 10e2 │ │ │ │ │ + mov r2, r1 │ │ │ │ │ add.w r0, r4, #80 @ 0x50 │ │ │ │ │ - bl 4b0 │ │ │ │ │ + mov r1, r7 │ │ │ │ │ + bl 57c │ │ │ │ │ mov r6, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 107c │ │ │ │ │ + beq.w 123e │ │ │ │ │ ldr r3, [r4, #12] │ │ │ │ │ - cbz r3, e50 │ │ │ │ │ + cbz r3, ffe │ │ │ │ │ add.w r2, r6, #16 │ │ │ │ │ mov r0, r5 │ │ │ │ │ ldmia r2, {r1, r2} │ │ │ │ │ blx r3 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 1098 │ │ │ │ │ - ldrh r3, [r6, #22] │ │ │ │ │ - ubfx r2, r3, #4, #12 │ │ │ │ │ + beq.w 125a │ │ │ │ │ + ldrh.w sl, [r6, #22] │ │ │ │ │ movw r3, #4095 @ 0xfff │ │ │ │ │ - str r2, [sp, #12] │ │ │ │ │ - cmp r2, r3 │ │ │ │ │ - str r2, [sp, #24] │ │ │ │ │ - beq.w 10ce │ │ │ │ │ - add.w r3, r6, #16 │ │ │ │ │ - movs r2, #1 │ │ │ │ │ - ldmia.w r3, {r0, r1} │ │ │ │ │ - stmia.w sl, {r0, r1} │ │ │ │ │ - movs r1, #20 │ │ │ │ │ - ubfx r3, r0, #0, #20 │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ - ldrh r3, [r6, #18] │ │ │ │ │ - ldrb r0, [r6, #18] │ │ │ │ │ - ubfx r3, r3, #7, #9 │ │ │ │ │ - str r3, [sp, #16] │ │ │ │ │ - ldr r3, [r6, #20] │ │ │ │ │ + ubfx sl, sl, #4, #12 │ │ │ │ │ + cmp sl, r3 │ │ │ │ │ + str.w sl, [sp, #24] │ │ │ │ │ + beq.w 1290 │ │ │ │ │ + ldrd r2, r3, [r6, #16] │ │ │ │ │ + ldrb r1, [r6, #18] │ │ │ │ │ + ldrb.w r0, [r4, #166] @ 0xa6 │ │ │ │ │ + strd r2, r3, [sp, #28] │ │ │ │ │ + add.w r2, sl, sl, lsl #2 │ │ │ │ │ + ldr r3, [r6, #16] │ │ │ │ │ + ubfx r1, r1, #4, #3 │ │ │ │ │ ubfx r0, r0, #4, #3 │ │ │ │ │ - ldr r6, [sp, #12] │ │ │ │ │ - str r2, [r4, #76] @ 0x4c │ │ │ │ │ - ldr r2, [r4, #24] │ │ │ │ │ ubfx r3, r3, #0, #20 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ - mul.w r1, r6, r1 │ │ │ │ │ - ldrb.w r3, [r4, #166] @ 0xa6 │ │ │ │ │ - ubfx r3, r3, #4, #3 │ │ │ │ │ - ldr.w ip, [r2, r1] │ │ │ │ │ - ldr r1, [r5, #0] │ │ │ │ │ - ldr.w r2, [ip] │ │ │ │ │ - ldr r6, [r1, #0] │ │ │ │ │ - ldr r1, [r2, #0] │ │ │ │ │ - cmp r6, r1 │ │ │ │ │ - bne.n f74 │ │ │ │ │ - and.w r3, r3, #1 │ │ │ │ │ - add.w fp, sp, #36 @ 0x24 │ │ │ │ │ - orr.w r6, r0, r3 │ │ │ │ │ - ldr.w r3, [r4, #160] @ 0xa0 │ │ │ │ │ + str r3, [sp, #8] │ │ │ │ │ + ldrh r3, [r6, #18] │ │ │ │ │ + ubfx r3, r3, #7, #9 │ │ │ │ │ str r3, [sp, #20] │ │ │ │ │ - ldrb.w r3, [sp, #30] │ │ │ │ │ - ldmia.w r9, {r0, r1} │ │ │ │ │ - stmia.w fp, {r0, r1} │ │ │ │ │ - bfi r3, r6, #4, #3 │ │ │ │ │ - strb.w r3, [sp, #30] │ │ │ │ │ - str r6, [sp, #8] │ │ │ │ │ - ldmia.w sl, {r0, r1} │ │ │ │ │ - stmia.w r9, {r0, r1} │ │ │ │ │ + ldr r3, [r6, #20] │ │ │ │ │ + ubfx r8, r3, #0, #20 │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + str r3, [r4, #76] @ 0x4c │ │ │ │ │ + ldr r3, [r4, #24] │ │ │ │ │ + ldr.w ip, [r3, r2, lsl #2] │ │ │ │ │ + ldr r2, [r5, #0] │ │ │ │ │ + ldr.w r3, [ip] │ │ │ │ │ + ldr r2, [r2, #0] │ │ │ │ │ + ldr r6, [r3, #0] │ │ │ │ │ + cmp r2, r6 │ │ │ │ │ + bne.n 1116 │ │ │ │ │ + and.w r0, r0, #1 │ │ │ │ │ + ldr.w fp, [r4, #160] @ 0xa0 │ │ │ │ │ + orr.w r2, r1, r0 │ │ │ │ │ + mov r6, r2 │ │ │ │ │ + ldrb.w r2, [sp, #30] │ │ │ │ │ + ldrd r0, r1, [r4, #164] @ 0xa4 │ │ │ │ │ + str r6, [sp, #12] │ │ │ │ │ + bfi r2, r6, #4, #3 │ │ │ │ │ + strb.w r2, [sp, #30] │ │ │ │ │ + strd r0, r1, [sp, #36] @ 0x24 │ │ │ │ │ + ldrd r0, r1, [sp, #28] │ │ │ │ │ + strd r0, r1, [r4, #164] @ 0xa4 │ │ │ │ │ mov r1, r5 │ │ │ │ │ mov r0, ip │ │ │ │ │ - ldrh.w r3, [r4, #166] @ 0xa6 │ │ │ │ │ - bfc r3, #7, #9 │ │ │ │ │ - strh.w r3, [r4, #166] @ 0xa6 │ │ │ │ │ - ldr r3, [r2, #4] │ │ │ │ │ + ldrh.w r2, [r4, #166] @ 0xa6 │ │ │ │ │ + bfc r2, #7, #9 │ │ │ │ │ + strh.w r2, [r4, #166] @ 0xa6 │ │ │ │ │ mov r2, r4 │ │ │ │ │ + ldr r3, [r3, #4] │ │ │ │ │ blx r3 │ │ │ │ │ - ldr r3, [sp, #20] │ │ │ │ │ - str.w r3, [r4, #160] @ 0xa0 │ │ │ │ │ + ldrd r2, r3, [sp, #36] @ 0x24 │ │ │ │ │ mov r6, r0 │ │ │ │ │ - ldr r3, [r4, #20] │ │ │ │ │ - ldmia.w fp, {r0, r1} │ │ │ │ │ - stmia.w r9, {r0, r1} │ │ │ │ │ + str.w fp, [r4, #160] @ 0xa0 │ │ │ │ │ ldr r0, [r4, #76] @ 0x4c │ │ │ │ │ + strd r2, r3, [r4, #164] @ 0xa4 │ │ │ │ │ + ldr r3, [r4, #20] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - beq.w 1110 │ │ │ │ │ + beq.w 12fa │ │ │ │ │ mov r1, r5 │ │ │ │ │ blx r3 │ │ │ │ │ + cmp r0, #2 │ │ │ │ │ str r0, [r4, #76] @ 0x4c │ │ │ │ │ - sub.w r0, r0, #2 │ │ │ │ │ - clz r0, r0 │ │ │ │ │ - lsrs r0, r0, #5 │ │ │ │ │ - cbnz r0, f76 │ │ │ │ │ - cbz r6, f74 │ │ │ │ │ - cmp.w r8, #1 │ │ │ │ │ - str.w r8, [r4, #76] @ 0x4c │ │ │ │ │ - bhi.n f82 │ │ │ │ │ - ldr r3, [sp, #8] │ │ │ │ │ + ite ne │ │ │ │ │ + movne r0, #0 │ │ │ │ │ + moveq r0, #1 │ │ │ │ │ + cbnz r0, 111a │ │ │ │ │ + cbz r6, 1116 │ │ │ │ │ + cmp.w r9, #1 │ │ │ │ │ + str.w r9, [r4, #76] @ 0x4c │ │ │ │ │ + bhi.n 112a │ │ │ │ │ + ldr r3, [sp, #12] │ │ │ │ │ lsls r2, r3, #31 │ │ │ │ │ it pl │ │ │ │ │ addpl.w r0, r4, #120 @ 0x78 │ │ │ │ │ - bmi.w e22 │ │ │ │ │ - ldrd r3, r2, [sp, #4] │ │ │ │ │ + bmi.w fd0 │ │ │ │ │ + ldrd r3, r2, [sp, #8] │ │ │ │ │ mov r1, r7 │ │ │ │ │ orr.w r3, r3, r2, lsl #20 │ │ │ │ │ - ldr r2, [sp, #16] │ │ │ │ │ + ldr r2, [sp, #20] │ │ │ │ │ orr.w r3, r3, r2, lsl #23 │ │ │ │ │ - ldr r2, [sp, #0] │ │ │ │ │ + ldr r2, [sp, #4] │ │ │ │ │ str r3, [sp, #28] │ │ │ │ │ ldr r3, [sp, #32] │ │ │ │ │ - bfi r3, r2, #0, #20 │ │ │ │ │ - mov r2, sl │ │ │ │ │ + bfi r3, r8, #0, #20 │ │ │ │ │ str r3, [sp, #32] │ │ │ │ │ - ldr r3, [sp, #12] │ │ │ │ │ - bl 280 │ │ │ │ │ + mov r3, sl │ │ │ │ │ + bl 30c │ │ │ │ │ ldr r7, [r4, #4] │ │ │ │ │ - cbz r7, f82 │ │ │ │ │ - movs r3, #1 │ │ │ │ │ + cbz r7, 112a │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r1, r6 │ │ │ │ │ mov r0, r4 │ │ │ │ │ blx r7 │ │ │ │ │ - b.n f82 │ │ │ │ │ - movs r6, #0 │ │ │ │ │ + b.n 112a │ │ │ │ │ + mov.w r6, #0 │ │ │ │ │ mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ - movs r3, #2 │ │ │ │ │ + mov.w r3, #2 │ │ │ │ │ str r3, [r4, #76] @ 0x4c │ │ │ │ │ - movs r6, #0 │ │ │ │ │ + mov.w r6, #0 │ │ │ │ │ mov r0, r6 │ │ │ │ │ add sp, #132 @ 0x84 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ sub.w r0, r0, #2 │ │ │ │ │ clz r0, r0 │ │ │ │ │ - lsrs r0, r0, #5 │ │ │ │ │ - b.n cb2 │ │ │ │ │ - lsls r1, r2, #27 │ │ │ │ │ - bpl.w 1122 │ │ │ │ │ + mov.w r0, r0, lsr #5 │ │ │ │ │ + b.n e6a │ │ │ │ │ + tst.w r8, #16 │ │ │ │ │ + beq.w 130e │ │ │ │ │ ubfx r3, fp, #0, #20 │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ - mov r2, r3 │ │ │ │ │ - ldr r3, [sp, #28] │ │ │ │ │ mov r1, r5 │ │ │ │ │ mov r0, r4 │ │ │ │ │ + mov r2, r3 │ │ │ │ │ + ldr r3, [sp, #28] │ │ │ │ │ + str r2, [sp, #8] │ │ │ │ │ bfi r3, r2, #0, #20 │ │ │ │ │ - ldr r2, [sp, #12] │ │ │ │ │ + ldr r2, [sp, #16] │ │ │ │ │ str r3, [sp, #28] │ │ │ │ │ - mov r3, sl │ │ │ │ │ - bl a8c │ │ │ │ │ + ldr r3, [sp, #4] │ │ │ │ │ + bl c14 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.w 110c │ │ │ │ │ - mov r9, fp │ │ │ │ │ - bic.w fp, r9, #2048 @ 0x800 │ │ │ │ │ - bics.w r3, r8, fp │ │ │ │ │ - bne.w da0 │ │ │ │ │ - tst.w r9, #2048 @ 0x800 │ │ │ │ │ - beq.n ff4 │ │ │ │ │ + bne.w 12f6 │ │ │ │ │ + mov sl, fp │ │ │ │ │ + bic.w fp, sl, #2048 @ 0x800 │ │ │ │ │ + bics.w r3, r9, fp │ │ │ │ │ + bne.w f4c │ │ │ │ │ + tst.w sl, #2048 @ 0x800 │ │ │ │ │ + beq.n 11b2 │ │ │ │ │ ubfx r3, fp, #0, #20 │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ - mov r2, r3 │ │ │ │ │ - ldr r3, [sp, #28] │ │ │ │ │ mov r1, r5 │ │ │ │ │ mov r0, r4 │ │ │ │ │ + mov r2, r3 │ │ │ │ │ + ldr r3, [sp, #28] │ │ │ │ │ + str r2, [sp, #8] │ │ │ │ │ bfi r3, r2, #0, #20 │ │ │ │ │ - ldr r2, [sp, #12] │ │ │ │ │ + ldr r2, [sp, #16] │ │ │ │ │ str r3, [sp, #28] │ │ │ │ │ - mov r3, sl │ │ │ │ │ - bl a8c │ │ │ │ │ + ldr r3, [sp, #4] │ │ │ │ │ + bl c14 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.w 110c │ │ │ │ │ - mov r9, fp │ │ │ │ │ - bic.w fp, r9, #8 │ │ │ │ │ - bics.w r3, r8, fp │ │ │ │ │ - bne.w dac │ │ │ │ │ - tst.w r9, #8 │ │ │ │ │ - beq.n 1028 │ │ │ │ │ + bne.w 12f6 │ │ │ │ │ + mov sl, fp │ │ │ │ │ + bic.w fp, sl, #8 │ │ │ │ │ + bics.w r3, r9, fp │ │ │ │ │ + bne.w f58 │ │ │ │ │ + tst.w sl, #8 │ │ │ │ │ + beq.n 11e8 │ │ │ │ │ ubfx r3, fp, #0, #20 │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ - mov r2, r3 │ │ │ │ │ - ldr r3, [sp, #28] │ │ │ │ │ mov r1, r5 │ │ │ │ │ mov r0, r4 │ │ │ │ │ + mov r2, r3 │ │ │ │ │ + ldr r3, [sp, #28] │ │ │ │ │ + str r2, [sp, #8] │ │ │ │ │ bfi r3, r2, #0, #20 │ │ │ │ │ - ldr r2, [sp, #12] │ │ │ │ │ + ldr r2, [sp, #16] │ │ │ │ │ str r3, [sp, #28] │ │ │ │ │ - mov r3, sl │ │ │ │ │ - bl a8c │ │ │ │ │ + ldr r3, [sp, #4] │ │ │ │ │ + bl c14 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.n 110c │ │ │ │ │ - mov r9, fp │ │ │ │ │ - bic.w fp, r9, #65536 @ 0x10000 │ │ │ │ │ - bics.w r3, r8, fp │ │ │ │ │ - bne.w db8 │ │ │ │ │ - tst.w r9, #65536 @ 0x10000 │ │ │ │ │ - beq.n 105c │ │ │ │ │ + bne.w 12f6 │ │ │ │ │ + mov sl, fp │ │ │ │ │ + bic.w fp, sl, #65536 @ 0x10000 │ │ │ │ │ + bics.w r3, r9, fp │ │ │ │ │ + bne.w f64 │ │ │ │ │ + tst.w sl, #65536 @ 0x10000 │ │ │ │ │ + beq.n 121c │ │ │ │ │ ubfx r3, fp, #0, #20 │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ - mov r2, r3 │ │ │ │ │ - ldr r3, [sp, #28] │ │ │ │ │ mov r1, r5 │ │ │ │ │ mov r0, r4 │ │ │ │ │ + mov r2, r3 │ │ │ │ │ + ldr r3, [sp, #28] │ │ │ │ │ + str r2, [sp, #8] │ │ │ │ │ bfi r3, r2, #0, #20 │ │ │ │ │ - ldr r2, [sp, #12] │ │ │ │ │ + ldr r2, [sp, #16] │ │ │ │ │ str r3, [sp, #28] │ │ │ │ │ - mov r3, sl │ │ │ │ │ - bl a8c │ │ │ │ │ + ldr r3, [sp, #4] │ │ │ │ │ + bl c14 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.n 110c │ │ │ │ │ - mov r9, fp │ │ │ │ │ - b.n db8 │ │ │ │ │ + bne.n 12f6 │ │ │ │ │ + mov sl, fp │ │ │ │ │ + b.n f64 │ │ │ │ │ cmp r0, #1 │ │ │ │ │ - bhi.n f82 │ │ │ │ │ + bhi.n 112a │ │ │ │ │ cmp r6, #0 │ │ │ │ │ - beq.n 10d8 │ │ │ │ │ - ldr r2, [sp, #24] │ │ │ │ │ - strd r2, r3, [sp, #12] │ │ │ │ │ - b.n f32 │ │ │ │ │ + beq.n 12c2 │ │ │ │ │ + ldr.w sl, [sp, #24] │ │ │ │ │ + str r3, [sp, #20] │ │ │ │ │ + b.n 10d4 │ │ │ │ │ sub.w r3, r0, #2 │ │ │ │ │ clz r3, r3 │ │ │ │ │ - lsrs r3, r3, #5 │ │ │ │ │ - b.n df0 │ │ │ │ │ - mov r2, sl │ │ │ │ │ + mov.w r3, r3, lsr #5 │ │ │ │ │ + b.n f9e │ │ │ │ │ + ldr r2, [sp, #4] │ │ │ │ │ mov r1, r7 │ │ │ │ │ add.w r0, r4, #120 @ 0x78 │ │ │ │ │ - bl 4b0 │ │ │ │ │ + bl 57c │ │ │ │ │ mov r6, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.w e3c │ │ │ │ │ + bne.w fea │ │ │ │ │ ldr r3, [r4, #16] │ │ │ │ │ - cbz r3, 109c │ │ │ │ │ + cbz r3, 125e │ │ │ │ │ mov r0, r5 │ │ │ │ │ blx r3 │ │ │ │ │ - ldr.w r8, [r4, #76] @ 0x4c │ │ │ │ │ - cmp.w r8, #1 │ │ │ │ │ - beq.w f74 │ │ │ │ │ + ldr.w r9, [r4, #76] @ 0x4c │ │ │ │ │ + cmp.w r9, #1 │ │ │ │ │ + beq.w 1116 │ │ │ │ │ ldr.w r3, [r4, #164] @ 0xa4 │ │ │ │ │ - ubfx r8, r3, #0, #20 │ │ │ │ │ + ubfx r9, r3, #0, #20 │ │ │ │ │ ldr.w r3, [r4, #168] @ 0xa8 │ │ │ │ │ - ubfx r3, r3, #0, #20 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ + ubfx r8, r3, #0, #20 │ │ │ │ │ ldrb.w r3, [r4, #166] @ 0xa6 │ │ │ │ │ - ldr r2, [sp, #0] │ │ │ │ │ ubfx r3, r3, #4, #3 │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ + str r3, [sp, #12] │ │ │ │ │ ldrh.w r3, [r4, #166] @ 0xa6 │ │ │ │ │ ubfx r3, r3, #7, #9 │ │ │ │ │ - str r3, [sp, #16] │ │ │ │ │ - b.n d34 │ │ │ │ │ + str r3, [sp, #20] │ │ │ │ │ + ldrd r2, r3, [r4, #164] @ 0xa4 │ │ │ │ │ + b.n ee8 │ │ │ │ │ ldr r3, [r4, #76] @ 0x4c │ │ │ │ │ cmp r3, #3 │ │ │ │ │ - beq.w d0c │ │ │ │ │ - b.n f80 │ │ │ │ │ - ldr r3, [sp, #8] │ │ │ │ │ + bne.w 1126 │ │ │ │ │ + ldr.w r3, [r4, #164] @ 0xa4 │ │ │ │ │ + ubfx r9, r3, #0, #20 │ │ │ │ │ + ldrb.w r3, [r4, #166] @ 0xa6 │ │ │ │ │ + ubfx r3, r3, #4, #3 │ │ │ │ │ + str r3, [sp, #12] │ │ │ │ │ + ldrh.w r3, [r4, #166] @ 0xa6 │ │ │ │ │ + ubfx r3, r3, #7, #9 │ │ │ │ │ + str r3, [sp, #20] │ │ │ │ │ + ldr.w r3, [r4, #168] @ 0xa8 │ │ │ │ │ + ubfx r8, r3, #0, #20 │ │ │ │ │ + ldrd r2, r3, [r4, #164] @ 0xa4 │ │ │ │ │ + b.n ee8 │ │ │ │ │ + ldr r3, [sp, #12] │ │ │ │ │ lsls r3, r3, #31 │ │ │ │ │ itt pl │ │ │ │ │ addpl.w r0, r4, #120 @ 0x78 │ │ │ │ │ - strpl r6, [sp, #16] │ │ │ │ │ - bmi.n 1104 │ │ │ │ │ - ldrd r3, r2, [sp, #4] │ │ │ │ │ + strpl r6, [sp, #20] │ │ │ │ │ + bmi.n 12ee │ │ │ │ │ + ldrd r3, r2, [sp, #8] │ │ │ │ │ mov r1, r7 │ │ │ │ │ orr.w r3, r3, r2, lsl #20 │ │ │ │ │ - ldr r2, [sp, #16] │ │ │ │ │ + ldr r2, [sp, #20] │ │ │ │ │ orr.w r3, r3, r2, lsl #23 │ │ │ │ │ - mov r2, sl │ │ │ │ │ + ldr r2, [sp, #4] │ │ │ │ │ str r3, [sp, #28] │ │ │ │ │ movw r3, #4095 @ 0xfff │ │ │ │ │ - bl 280 │ │ │ │ │ - b.n f80 │ │ │ │ │ - str r6, [sp, #16] │ │ │ │ │ + bl 30c │ │ │ │ │ + b.n 1126 │ │ │ │ │ + str r6, [sp, #20] │ │ │ │ │ add.w r0, r4, #80 @ 0x50 │ │ │ │ │ - b.n 10e6 │ │ │ │ │ + b.n 12d0 │ │ │ │ │ mov r6, r0 │ │ │ │ │ - b.n dd6 │ │ │ │ │ + b.n f82 │ │ │ │ │ sub.w r0, r0, #2 │ │ │ │ │ clz r0, r0 │ │ │ │ │ - lsrs r0, r0, #5 │ │ │ │ │ - b.n f24 │ │ │ │ │ - ldr r3, [sp, #0] │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ - b.n dd6 │ │ │ │ │ - ldr r3, [sp, #0] │ │ │ │ │ - mov r9, fp │ │ │ │ │ - b.n d92 │ │ │ │ │ + mov.w r0, r0, lsr #5 │ │ │ │ │ + b.n 10c6 │ │ │ │ │ + str.w r8, [sp, #8] │ │ │ │ │ + b.n f82 │ │ │ │ │ + mov sl, fp │ │ │ │ │ + b.n f3c │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00001128 : │ │ │ │ │ +00001314 : │ │ │ │ │ fftw_mkplanner(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ - movs r0, #240 @ 0xf0 │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ + mov.w r0, #240 @ 0xf0 │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ + mov.w r5, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ - ldr r3, [pc, #160] @ (11d4 ) │ │ │ │ │ - movs r2, #0 │ │ │ │ │ - movs r5, #0 │ │ │ │ │ + ldr r3, [pc, #176] @ (13dc ) │ │ │ │ │ mov r4, r0 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ + add.w r0, r0, #80 @ 0x50 │ │ │ │ │ + strd r5, r5, [r4, #8] │ │ │ │ │ + strd r5, r5, [r4, #16] │ │ │ │ │ + strd r5, r5, [r4, #24] │ │ │ │ │ add r3, pc │ │ │ │ │ - str r3, [r0, #0] │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - strd r2, r3, [r0, #224] @ 0xe0 │ │ │ │ │ - strd r2, r3, [r0, #216] @ 0xd8 │ │ │ │ │ - movs r3, #1 │ │ │ │ │ - ldr.w r2, [r0, #168] @ 0xa8 │ │ │ │ │ - str.w r5, [r0, #232] @ 0xe8 │ │ │ │ │ - str.w r5, [r0, #208] @ 0xd0 │ │ │ │ │ - str r5, [r0, #20] │ │ │ │ │ - bfi r2, r5, #0, #20 │ │ │ │ │ - str r5, [r0, #36] @ 0x24 │ │ │ │ │ - str r5, [r0, #76] @ 0x4c │ │ │ │ │ - str r5, [r0, #32] │ │ │ │ │ - strd r3, r5, [r0, #160] @ 0xa0 │ │ │ │ │ - str.w r2, [r0, #168] @ 0xa8 │ │ │ │ │ - movs r2, #0 │ │ │ │ │ - str.w r3, [r0, #204] @ 0xcc │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + strd r3, r5, [r4] │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + strd r5, r5, [r4, #32] │ │ │ │ │ + strd r5, r5, [r4, #76] @ 0x4c │ │ │ │ │ + strd r2, r3, [r4, #216] @ 0xd8 │ │ │ │ │ + strd r2, r3, [r4, #224] @ 0xe0 │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + ldr.w r2, [r4, #168] @ 0xa8 │ │ │ │ │ + strd r5, r5, [r4, #84] @ 0x54 │ │ │ │ │ + str.w r3, [r4, #160] @ 0xa0 │ │ │ │ │ + str.w r3, [r4, #204] @ 0xcc │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ movt r3, #49136 @ 0xbff0 │ │ │ │ │ - str r5, [r0, #116] @ 0x74 │ │ │ │ │ - strd r2, r3, [r0, #192] @ 0xc0 │ │ │ │ │ - str r5, [r0, #100] @ 0x64 │ │ │ │ │ - str r5, [r0, #104] @ 0x68 │ │ │ │ │ - str r5, [r0, #88] @ 0x58 │ │ │ │ │ - strd r5, r5, [r0, #4] │ │ │ │ │ - strd r5, r5, [r0, #12] │ │ │ │ │ - strd r5, r5, [r0, #24] │ │ │ │ │ - strd r5, r5, [r0, #92] @ 0x5c │ │ │ │ │ - strd r5, r5, [r0, #108] @ 0x6c │ │ │ │ │ - strd r5, r5, [r0, #80] @ 0x50 │ │ │ │ │ - adds r0, #80 @ 0x50 │ │ │ │ │ - bl 188 │ │ │ │ │ + strd r5, r5, [r4, #92] @ 0x5c │ │ │ │ │ + bfi r2, r5, #0, #20 │ │ │ │ │ + strd r5, r5, [r4, #100] @ 0x64 │ │ │ │ │ + strd r5, r5, [r4, #108] @ 0x6c │ │ │ │ │ + str r5, [r4, #116] @ 0x74 │ │ │ │ │ + str.w r5, [r4, #164] @ 0xa4 │ │ │ │ │ + str.w r2, [r4, #168] @ 0xa8 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ + str.w r5, [r4, #208] @ 0xd0 │ │ │ │ │ + strd r2, r3, [r4, #192] @ 0xc0 │ │ │ │ │ + str.w r5, [r4, #232] @ 0xe8 │ │ │ │ │ + bl 1e0 │ │ │ │ │ add.w r0, r4, #120 @ 0x78 │ │ │ │ │ - str.w r5, [r4, #156] @ 0x9c │ │ │ │ │ - str.w r5, [r4, #140] @ 0x8c │ │ │ │ │ - strd r5, r5, [r4, #132] @ 0x84 │ │ │ │ │ - strd r5, r5, [r4, #148] @ 0x94 │ │ │ │ │ - str.w r5, [r4, #144] @ 0x90 │ │ │ │ │ strd r5, r5, [r4, #120] @ 0x78 │ │ │ │ │ - str.w r5, [r4, #128] @ 0x80 │ │ │ │ │ - bl 188 │ │ │ │ │ - movs r2, #32 │ │ │ │ │ - movs r1, #255 @ 0xff │ │ │ │ │ + strd r5, r5, [r4, #128] @ 0x80 │ │ │ │ │ + strd r5, r5, [r4, #136] @ 0x88 │ │ │ │ │ + strd r5, r5, [r4, #144] @ 0x90 │ │ │ │ │ + strd r5, r5, [r4, #152] @ 0x98 │ │ │ │ │ + bl 1e0 │ │ │ │ │ add.w r0, r4, #44 @ 0x2c │ │ │ │ │ + mov.w r2, #32 │ │ │ │ │ + mov.w r1, #255 @ 0xff │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memset │ │ │ │ │ mov r0, r4 │ │ │ │ │ - pop {r3, r4, r5, pc} │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r5, pc} │ │ │ │ │ nop │ │ │ │ │ .word 0x00000098 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ │ │ │ │ │ │ │ -000011d8 : │ │ │ │ │ +000013e0 : │ │ │ │ │ fftw_planner_destroy(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ mov r5, r0 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ ldr r0, [r0, #80] @ 0x50 │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ - movs r4, #0 │ │ │ │ │ ldr r0, [r5, #120] @ 0x78 │ │ │ │ │ str r4, [r5, #80] @ 0x50 │ │ │ │ │ str r4, [r5, #88] @ 0x58 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ ldr r3, [r5, #28] │ │ │ │ │ str r4, [r5, #120] @ 0x78 │ │ │ │ │ str.w r4, [r5, #128] @ 0x80 │ │ │ │ │ - cbz r3, 120c │ │ │ │ │ + cbz r3, 1420 │ │ │ │ │ mov r6, r4 │ │ │ │ │ ldr r3, [r5, #24] │ │ │ │ │ - adds r6, #1 │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ ldr r0, [r3, r4] │ │ │ │ │ - adds r4, #20 │ │ │ │ │ + add.w r4, r4, #20 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_destroy │ │ │ │ │ ldr r3, [r5, #28] │ │ │ │ │ cmp r3, r6 │ │ │ │ │ - bhi.n 11fa │ │ │ │ │ + bhi.n 140a │ │ │ │ │ ldr r0, [r5, #24] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree0 │ │ │ │ │ + ldrd r6, lr, [sp, #8] │ │ │ │ │ mov r0, r5 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_ifree │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -0000121c : │ │ │ │ │ +00001438 : │ │ │ │ │ fftw_mkplan_d(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ - mov r5, r1 │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ ldr r3, [r0, #0] │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ + mov r5, r1 │ │ │ │ │ ldr r3, [r3, #4] │ │ │ │ │ blx r3 │ │ │ │ │ mov r4, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_problem_destroy │ │ │ │ │ mov r0, r4 │ │ │ │ │ - pop {r3, r4, r5, pc} │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r5, pc} │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00001234 : │ │ │ │ │ +0000145c : │ │ │ │ │ fftw_mkplan_f_d(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ - add.w r5, r0, #164 @ 0xa4 │ │ │ │ │ - mov ip, r0 │ │ │ │ │ - sub sp, #8 │ │ │ │ │ - mov lr, r1 │ │ │ │ │ - ldmia.w r5, {r0, r1} │ │ │ │ │ - strd r0, r1, [sp] │ │ │ │ │ - ldr.w r1, [ip, #168] @ 0xa8 │ │ │ │ │ - ldr.w r8, [sp, #32] │ │ │ │ │ - ubfx r6, r0, #0, #20 │ │ │ │ │ - ubfx r7, r1, #0, #20 │ │ │ │ │ - bic.w r6, r6, r8 │ │ │ │ │ - orrs r6, r2 │ │ │ │ │ - bic.w r7, r7, r8 │ │ │ │ │ - orrs r2, r3 │ │ │ │ │ - orrs r2, r7 │ │ │ │ │ - bfi r0, r6, #0, #20 │ │ │ │ │ - str.w r0, [ip, #164] @ 0xa4 │ │ │ │ │ - mov r0, ip │ │ │ │ │ - bfi r1, r2, #0, #20 │ │ │ │ │ - str.w r1, [ip, #168] @ 0xa8 │ │ │ │ │ - mov r1, lr │ │ │ │ │ - bl 121c │ │ │ │ │ + str.w r4, [sp, #-28]! │ │ │ │ │ + mov r4, r0 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + ldrd r6, r5, [r0, #164] @ 0xa4 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, lr, [sp, #20] │ │ │ │ │ + sub sp, #12 │ │ │ │ │ + ldr r7, [sp, #40] @ 0x28 │ │ │ │ │ + ubfx ip, r6, #0, #20 │ │ │ │ │ + ldrd r8, r9, [r0, #164] @ 0xa4 │ │ │ │ │ + ubfx lr, r5, #0, #20 │ │ │ │ │ + bic.w ip, ip, r7 │ │ │ │ │ + bic.w lr, lr, r7 │ │ │ │ │ + orr.w ip, ip, r2 │ │ │ │ │ + orr.w r2, r2, r3 │ │ │ │ │ + orr.w r2, r2, lr │ │ │ │ │ + bfi r6, ip, #0, #20 │ │ │ │ │ + strd r8, r9, [sp] │ │ │ │ │ + bfi r5, r2, #0, #20 │ │ │ │ │ + strd r6, r5, [r0, #164] @ 0xa4 │ │ │ │ │ + bl 1438 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ - mov r3, r0 │ │ │ │ │ - ldrd r0, r1, [sp] │ │ │ │ │ - stmia.w r5, {r0, r1} │ │ │ │ │ - mov r0, r3 │ │ │ │ │ - add sp, #8 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, pc} │ │ │ │ │ + ldrd r2, r3, [sp] │ │ │ │ │ + strd r2, r3, [r4, #164] @ 0xa4 │ │ │ │ │ + add sp, #12 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop │ │ │ ├── primes.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1708 (bytes into file) │ │ │ │ │ + Start of section headers: 1880 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 11 │ │ │ │ │ Section header string table index: 10 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,20 +1,20 @@ │ │ │ │ │ -There are 11 section headers, starting at offset 0x6ac: │ │ │ │ │ +There are 11 section headers, starting at offset 0x758: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0002bc 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00057c 0000d8 08 I 8 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0002f0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0002f0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata PROGBITS 00000000 0002f0 000010 00 A 0 0 4 │ │ │ │ │ - [ 6] .note.GNU-stack PROGBITS 00000000 000300 000000 00 0 0 1 │ │ │ │ │ - [ 7] .ARM.attributes ARM_ATTRIBUTES 00000000 000300 000033 00 0 0 1 │ │ │ │ │ - [ 8] .symtab SYMTAB 00000000 000334 000140 10 9 7 4 │ │ │ │ │ - [ 9] .strtab STRTAB 00000000 000474 000106 00 0 0 1 │ │ │ │ │ - [10] .shstrtab STRTAB 00000000 000654 000058 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000368 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000628 0000d8 08 I 8 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 00039c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 00039c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata PROGBITS 00000000 00039c 000010 00 A 0 0 4 │ │ │ │ │ + [ 6] .note.GNU-stack PROGBITS 00000000 0003ac 000000 00 0 0 1 │ │ │ │ │ + [ 7] .ARM.attributes ARM_ATTRIBUTES 00000000 0003ac 000033 00 0 0 1 │ │ │ │ │ + [ 8] .symtab SYMTAB 00000000 0003e0 000140 10 9 7 4 │ │ │ │ │ + [ 9] .strtab STRTAB 00000000 000520 000106 00 0 0 1 │ │ │ │ │ + [10] .shstrtab STRTAB 00000000 000700 000058 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 20 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000049 122 FUNC LOCAL DEFAULT 1 fftw_power_mod.localalias │ │ │ │ │ - 3: 000002b8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 2: 0000004d 162 FUNC LOCAL DEFAULT 1 fftw_power_mod.localalias │ │ │ │ │ + 3: 00000364 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 4: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 6: 00000000 16 OBJECT LOCAL DEFAULT 5 primes.0 │ │ │ │ │ - 7: 00000001 70 FUNC GLOBAL DEFAULT 1 fftw_safe_mulmod │ │ │ │ │ - 8: 00000049 122 FUNC GLOBAL DEFAULT 1 fftw_power_mod │ │ │ │ │ + 7: 00000001 76 FUNC GLOBAL DEFAULT 1 fftw_safe_mulmod │ │ │ │ │ + 8: 0000004d 162 FUNC GLOBAL DEFAULT 1 fftw_power_mod │ │ │ │ │ 9: 00000000 0 NOTYPE GLOBAL DEFAULT UND __aeabi_idivmod │ │ │ │ │ - 10: 000000c5 194 FUNC GLOBAL DEFAULT 1 fftw_find_generator │ │ │ │ │ + 10: 000000f1 248 FUNC GLOBAL DEFAULT 1 fftw_find_generator │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND __aeabi_idiv │ │ │ │ │ - 12: 00000189 52 FUNC GLOBAL DEFAULT 1 fftw_first_divisor │ │ │ │ │ - 13: 000001bd 26 FUNC GLOBAL DEFAULT 1 fftw_is_prime │ │ │ │ │ - 14: 000001d9 22 FUNC GLOBAL DEFAULT 1 fftw_next_prime │ │ │ │ │ - 15: 000001f1 60 FUNC GLOBAL DEFAULT 1 fftw_factors_into │ │ │ │ │ - 16: 0000022d 34 FUNC GLOBAL DEFAULT 1 fftw_isqrt │ │ │ │ │ - 17: 00000251 66 FUNC GLOBAL DEFAULT 1 fftw_choose_radix │ │ │ │ │ - 18: 00000295 26 FUNC GLOBAL DEFAULT 1 fftw_modulo │ │ │ │ │ - 19: 000002b1 12 FUNC GLOBAL DEFAULT 1 fftw_factors_into_small_primes │ │ │ │ │ + 12: 000001e9 68 FUNC GLOBAL DEFAULT 1 fftw_first_divisor │ │ │ │ │ + 13: 0000022d 34 FUNC GLOBAL DEFAULT 1 fftw_is_prime │ │ │ │ │ + 14: 00000251 26 FUNC GLOBAL DEFAULT 1 fftw_next_prime │ │ │ │ │ + 15: 0000026d 74 FUNC GLOBAL DEFAULT 1 fftw_factors_into │ │ │ │ │ + 16: 000002b9 50 FUNC GLOBAL DEFAULT 1 fftw_isqrt │ │ │ │ │ + 17: 000002ed 74 FUNC GLOBAL DEFAULT 1 fftw_choose_radix │ │ │ │ │ + 18: 00000339 34 FUNC GLOBAL DEFAULT 1 fftw_modulo │ │ │ │ │ + 19: 0000035d 12 FUNC GLOBAL DEFAULT 1 fftw_factors_into_small_primes │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,30 +1,30 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x57c contains 27 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x628 contains 27 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000006c 0000090a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -0000007a 0000080a R_ARM_THM_CALL 00000049 fftw_power_mod │ │ │ │ │ -0000008e 0000080a R_ARM_THM_CALL 00000049 fftw_power_mod │ │ │ │ │ -00000098 0000090a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -000000a4 0000080a R_ARM_THM_CALL 00000049 fftw_power_mod │ │ │ │ │ -00000100 0000090a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -00000116 00000b0a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -0000011e 0000090a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -0000015a 00000b0a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -00000164 0000080a R_ARM_THM_CALL 00000049 fftw_power_mod │ │ │ │ │ -000001ae 0000090a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -000001c8 00000c0a R_ARM_THM_CALL 00000189 fftw_first_divisor │ │ │ │ │ -000001e2 00000d0a R_ARM_THM_CALL 000001bd fftw_is_prime │ │ │ │ │ -000001fe 0000090a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -00000208 00000b0a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -00000210 0000090a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -00000242 00000b0a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -0000025c 0000090a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -00000272 0000090a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -0000027c 0000100a R_ARM_THM_CALL 0000022d fftw_isqrt │ │ │ │ │ -0000029a 0000090a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -000002a6 0000090a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -000002b8 00000403 R_ARM_REL32 00000000 .rodata │ │ │ │ │ -000000b2 0000071e R_ARM_THM_JUMP24 00000001 fftw_safe_mulmod │ │ │ │ │ -000000be 0000071e R_ARM_THM_JUMP24 00000001 fftw_safe_mulmod │ │ │ │ │ -0000028e 00000c1e R_ARM_THM_JUMP24 00000189 fftw_first_divisor │ │ │ │ │ -000002b4 00000f1e R_ARM_THM_JUMP24 000001f1 fftw_factors_into │ │ │ │ │ +0000007a 0000090a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +00000090 0000080a R_ARM_THM_CALL 0000004d fftw_power_mod │ │ │ │ │ +000000a6 0000080a R_ARM_THM_CALL 0000004d fftw_power_mod │ │ │ │ │ +000000b0 0000090a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +000000c4 0000080a R_ARM_THM_CALL 0000004d fftw_power_mod │ │ │ │ │ +00000140 0000090a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +00000156 00000b0a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +0000015e 0000090a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +0000019e 00000b0a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +000001a8 0000080a R_ARM_THM_CALL 0000004d fftw_power_mod │ │ │ │ │ +00000218 0000090a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +0000023c 00000c0a R_ARM_THM_CALL 000001e9 fftw_first_divisor │ │ │ │ │ +0000025e 00000d0a R_ARM_THM_CALL 0000022d fftw_is_prime │ │ │ │ │ +00000280 0000090a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +0000028a 00000b0a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +00000292 0000090a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +000002d8 00000b0a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +000002fa 0000090a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +00000314 0000090a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +0000031e 0000100a R_ARM_THM_CALL 000002b9 fftw_isqrt │ │ │ │ │ +00000340 0000090a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +00000350 0000090a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +00000364 00000403 R_ARM_REL32 00000000 .rodata │ │ │ │ │ +000000d8 0000071e R_ARM_THM_JUMP24 00000001 fftw_safe_mulmod │ │ │ │ │ +000000ea 0000071e R_ARM_THM_JUMP24 00000001 fftw_safe_mulmod │ │ │ │ │ +00000332 00000c1e R_ARM_THM_JUMP24 000001e9 fftw_first_divisor │ │ │ │ │ +00000360 00000f1e R_ARM_THM_JUMP24 0000026d fftw_factors_into │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -8,348 +8,374 @@ │ │ │ │ │ mov r3, r0 │ │ │ │ │ b.n a │ │ │ │ │ mov r0, r3 │ │ │ │ │ mov r3, r1 │ │ │ │ │ mov r1, r0 │ │ │ │ │ cmp r1, r3 │ │ │ │ │ bgt.n 4 │ │ │ │ │ - cbz r1, 42 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - push {lr} │ │ │ │ │ - and.w ip, r1, #1 │ │ │ │ │ - asrs r1, r1, #1 │ │ │ │ │ - mul.w ip, r3, ip │ │ │ │ │ + cbz r1, 48 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + str.w lr, [sp, #-4]! │ │ │ │ │ + sbfx ip, r1, #0, #1 │ │ │ │ │ + mov.w r1, r1, asr #1 │ │ │ │ │ + and.w ip, ip, r3 │ │ │ │ │ sub.w lr, r2, ip │ │ │ │ │ cmp r0, lr │ │ │ │ │ it ge │ │ │ │ │ subge.w ip, ip, r2 │ │ │ │ │ add r0, ip │ │ │ │ │ sub.w ip, r2, r3 │ │ │ │ │ cmp r3, ip │ │ │ │ │ ite ge │ │ │ │ │ rsbge r3, r2, r3, lsl #1 │ │ │ │ │ lsllt r3, r3, #1 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - bne.n 14 │ │ │ │ │ + bne.n 18 │ │ │ │ │ ldr.w pc, [sp], #4 │ │ │ │ │ mov r0, r1 │ │ │ │ │ bx lr │ │ │ │ │ - nop │ │ │ │ │ │ │ │ │ │ -00000048 : │ │ │ │ │ +0000004c : │ │ │ │ │ fftw_power_mod.localalias(): │ │ │ │ │ - cbz r1, a0 │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ + cbz r1, be │ │ │ │ │ lsls r3, r1, #31 │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ mov r6, r2 │ │ │ │ │ - bmi.n 74 │ │ │ │ │ + bmi.n 88 │ │ │ │ │ add.w r1, r1, r1, lsr #31 │ │ │ │ │ - asrs r1, r1, #1 │ │ │ │ │ - bl 48 │ │ │ │ │ + mov.w r1, r1, asr #1 │ │ │ │ │ + bl 4c │ │ │ │ │ rsb r2, r0, #92672 @ 0x16a00 │ │ │ │ │ - adds r2, #9 │ │ │ │ │ + add.w r2, r2, #9 │ │ │ │ │ cmp r2, r0 │ │ │ │ │ - blt.n b6 │ │ │ │ │ - mov r1, r6 │ │ │ │ │ + blt.n dc │ │ │ │ │ mul.w r0, r0, r0 │ │ │ │ │ + mov r1, r6 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ mov r0, r1 │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ - subs r4, r1, #1 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ + add.w r4, r1, #4294967295 @ 0xffffffff │ │ │ │ │ mov r5, r0 │ │ │ │ │ mov r1, r4 │ │ │ │ │ - bl 48 │ │ │ │ │ + bl 4c │ │ │ │ │ R_ARM_THM_CALL fftw_power_mod │ │ │ │ │ rsb r0, r0, #92672 @ 0x16a00 │ │ │ │ │ - adds r0, #9 │ │ │ │ │ mov r2, r6 │ │ │ │ │ - cmp r5, r0 │ │ │ │ │ + add.w r0, r0, #9 │ │ │ │ │ mov r1, r4 │ │ │ │ │ + cmp r5, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ - bgt.n a4 │ │ │ │ │ - bl 48 │ │ │ │ │ + bgt.n c4 │ │ │ │ │ + bl 4c │ │ │ │ │ R_ARM_THM_CALL fftw_power_mod │ │ │ │ │ - mov r1, r6 │ │ │ │ │ mul.w r0, r5, r0 │ │ │ │ │ + mov r1, r6 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ mov r0, r1 │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ - movs r0, #1 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ bx lr │ │ │ │ │ - bl 48 │ │ │ │ │ + bl 4c │ │ │ │ │ R_ARM_THM_CALL fftw_power_mod │ │ │ │ │ - mov r2, r6 │ │ │ │ │ mov r1, r0 │ │ │ │ │ + mov r2, r6 │ │ │ │ │ + ldrd r6, lr, [sp, #8] │ │ │ │ │ mov r0, r5 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_safe_mulmod │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ mov r2, r6 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, lr} │ │ │ │ │ + ldrd r6, lr, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_safe_mulmod │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000000c4 : │ │ │ │ │ +000000f0 : │ │ │ │ │ fftw_find_generator(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ cmp r0, #2 │ │ │ │ │ + str.w r4, [sp, #-28]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ it eq │ │ │ │ │ moveq r6, #1 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, lr, [sp, #20] │ │ │ │ │ sub sp, #68 @ 0x44 │ │ │ │ │ - beq.n 172 │ │ │ │ │ + beq.n 1ba │ │ │ │ │ add.w r8, r0, #4294967295 @ 0xffffffff │ │ │ │ │ + mov.w r3, #2 │ │ │ │ │ mov r7, r0 │ │ │ │ │ mov r4, r8 │ │ │ │ │ - movs r3, #2 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - asrs r4, r4, #1 │ │ │ │ │ + mov.w r4, r4, asr #1 │ │ │ │ │ ands.w r6, r4, #1 │ │ │ │ │ - beq.n de │ │ │ │ │ + beq.n 118 │ │ │ │ │ cmp r4, #1 │ │ │ │ │ - beq.n 180 │ │ │ │ │ + beq.n 1da │ │ │ │ │ cmp r4, #8 │ │ │ │ │ - ble.n 17a │ │ │ │ │ - movs r5, #3 │ │ │ │ │ - b.n fc │ │ │ │ │ - adds r5, #2 │ │ │ │ │ + ble.n 1d0 │ │ │ │ │ + mov.w r5, #3 │ │ │ │ │ + b.n 13c │ │ │ │ │ + add.w r5, r5, #2 │ │ │ │ │ mul.w r3, r5, r5 │ │ │ │ │ cmp r3, r4 │ │ │ │ │ - bgt.n 132 │ │ │ │ │ + bgt.n 174 │ │ │ │ │ mov r1, r5 │ │ │ │ │ mov r0, r4 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - bne.n f2 │ │ │ │ │ + bne.n 130 │ │ │ │ │ add.w r9, r6, #1 │ │ │ │ │ add.w r6, sp, r6, lsl #2 │ │ │ │ │ str r5, [r6, #0] │ │ │ │ │ mov r1, r5 │ │ │ │ │ mov r0, r4 │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ mov r1, r5 │ │ │ │ │ mov r4, r0 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - beq.n 112 │ │ │ │ │ - adds r5, #2 │ │ │ │ │ + beq.n 152 │ │ │ │ │ + add.w r5, r5, #2 │ │ │ │ │ mov r6, r9 │ │ │ │ │ mul.w r3, r5, r5 │ │ │ │ │ cmp r3, r4 │ │ │ │ │ - ble.n fc │ │ │ │ │ + ble.n 13c │ │ │ │ │ cmp r4, #1 │ │ │ │ │ - itt eq │ │ │ │ │ - moveq r5, r6 │ │ │ │ │ - ldreq r1, [sp, #0] │ │ │ │ │ - beq.n 146 │ │ │ │ │ - adds r5, r6, #1 │ │ │ │ │ - lsls r6, r6, #2 │ │ │ │ │ + itt ne │ │ │ │ │ + addne r5, r6, #1 │ │ │ │ │ + lslne r6, r6, #2 │ │ │ │ │ + beq.n 1e2 │ │ │ │ │ add r6, sp │ │ │ │ │ str r4, [r6, #0] │ │ │ │ │ ldr r1, [sp, #0] │ │ │ │ │ - movs r4, #0 │ │ │ │ │ - movs r6, #2 │ │ │ │ │ - b.n 158 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ + mov.w r6, #2 │ │ │ │ │ + b.n 19c │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ cmp r5, r4 │ │ │ │ │ - ble.n 172 │ │ │ │ │ + ble.n 1ba │ │ │ │ │ add.w r3, sp, r4, lsl #2 │ │ │ │ │ ldr r1, [r3, #0] │ │ │ │ │ mov r0, r8 │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ - mov r2, r7 │ │ │ │ │ mov r1, r0 │ │ │ │ │ + mov r2, r7 │ │ │ │ │ mov r0, r6 │ │ │ │ │ - bl 48 │ │ │ │ │ + bl 4c │ │ │ │ │ R_ARM_THM_CALL fftw_power_mod │ │ │ │ │ cmp r0, #1 │ │ │ │ │ - bne.n 14c │ │ │ │ │ - adds r6, #1 │ │ │ │ │ - movs r4, #0 │ │ │ │ │ - b.n 152 │ │ │ │ │ + bne.n 18e │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ + b.n 196 │ │ │ │ │ mov r0, r6 │ │ │ │ │ add sp, #68 @ 0x44 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} │ │ │ │ │ - movs r6, #4 │ │ │ │ │ - movs r5, #2 │ │ │ │ │ - b.n 140 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + mov.w r6, #4 │ │ │ │ │ + mov.w r5, #2 │ │ │ │ │ + b.n 17e │ │ │ │ │ mov r5, r4 │ │ │ │ │ - movs r1, #2 │ │ │ │ │ - b.n 146 │ │ │ │ │ - nop │ │ │ │ │ + mov.w r1, #2 │ │ │ │ │ + b.n 184 │ │ │ │ │ + ldr r1, [sp, #0] │ │ │ │ │ + mov r5, r6 │ │ │ │ │ + b.n 184 │ │ │ │ │ │ │ │ │ │ -00000188 : │ │ │ │ │ +000001e8 : │ │ │ │ │ fftw_first_divisor(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ cmp r0, #1 │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ mov r5, r0 │ │ │ │ │ - ble.n 1b8 │ │ │ │ │ + ble.n 222 │ │ │ │ │ lsls r3, r0, #31 │ │ │ │ │ it pl │ │ │ │ │ movpl r5, #2 │ │ │ │ │ - bpl.n 1b8 │ │ │ │ │ + bpl.n 222 │ │ │ │ │ cmp r5, #8 │ │ │ │ │ - ble.n 1b8 │ │ │ │ │ - movs r4, #3 │ │ │ │ │ - b.n 1aa │ │ │ │ │ - adds r4, #2 │ │ │ │ │ + ble.n 222 │ │ │ │ │ + mov.w r4, #3 │ │ │ │ │ + b.n 214 │ │ │ │ │ + add.w r4, r4, #2 │ │ │ │ │ mul.w r3, r4, r4 │ │ │ │ │ cmp r5, r3 │ │ │ │ │ - blt.n 1b8 │ │ │ │ │ + blt.n 222 │ │ │ │ │ mov r1, r4 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - bne.n 1a0 │ │ │ │ │ + bne.n 208 │ │ │ │ │ mov r5, r4 │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ mov r0, r5 │ │ │ │ │ - pop {r3, r4, r5, pc} │ │ │ │ │ + pop {r5, pc} │ │ │ │ │ │ │ │ │ │ -000001bc : │ │ │ │ │ +0000022c : │ │ │ │ │ fftw_is_prime(): │ │ │ │ │ cmp r0, #1 │ │ │ │ │ - bgt.n 1c4 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + bgt.n 236 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bx lr │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - bl 188 │ │ │ │ │ + bl 1e8 │ │ │ │ │ R_ARM_THM_CALL fftw_first_divisor │ │ │ │ │ - subs r0, r0, r4 │ │ │ │ │ + sub.w r0, r0, r4 │ │ │ │ │ clz r0, r0 │ │ │ │ │ - lsrs r0, r0, #5 │ │ │ │ │ + mov.w r0, r0, lsr #5 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000001d8 : │ │ │ │ │ +00000250 : │ │ │ │ │ fftw_next_prime(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - b.n 1e0 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + b.n 25c │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - bl 1bc │ │ │ │ │ + bl 22c │ │ │ │ │ R_ARM_THM_CALL fftw_is_prime │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 1de │ │ │ │ │ + beq.n 258 │ │ │ │ │ mov r0, r4 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000001f0 : │ │ │ │ │ +0000026c : │ │ │ │ │ fftw_factors_into(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldr r5, [r1, #0] │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ mov r6, r1 │ │ │ │ │ - cbz r5, 220 │ │ │ │ │ + cbz r5, 2a2 │ │ │ │ │ mov r1, r5 │ │ │ │ │ mov r0, r4 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ - cbnz r1, 218 │ │ │ │ │ + cbnz r1, 29a │ │ │ │ │ mov r1, r5 │ │ │ │ │ mov r0, r4 │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ mov r1, r5 │ │ │ │ │ mov r4, r0 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - beq.n 204 │ │ │ │ │ + beq.n 286 │ │ │ │ │ ldr.w r5, [r6, #4]! │ │ │ │ │ cmp r5, #0 │ │ │ │ │ - bne.n 1fa │ │ │ │ │ + bne.n 27c │ │ │ │ │ sub.w r0, r4, #1 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ clz r0, r0 │ │ │ │ │ - lsrs r0, r0, #5 │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ + mov.w r0, r0, lsr #5 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -0000022c : │ │ │ │ │ +000002b8 : │ │ │ │ │ fftw_isqrt(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ - mov r5, r0 │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - cbz r0, 24a │ │ │ │ │ - movs r0, #1 │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ + mov r5, r0 │ │ │ │ │ + cbz r0, 2e0 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ add r4, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ add.w r4, r4, r4, lsr #31 │ │ │ │ │ - asrs r4, r4, #1 │ │ │ │ │ + mov.w r4, r4, asr #1 │ │ │ │ │ mov r1, r4 │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ cmp r4, r0 │ │ │ │ │ - bgt.n 236 │ │ │ │ │ + bgt.n 2ca │ │ │ │ │ mov r0, r4 │ │ │ │ │ - pop {r3, r4, r5, pc} │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r5, pc} │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000250 : │ │ │ │ │ +000002ec : │ │ │ │ │ fftw_choose_radix(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - cmp r4, #0 │ │ │ │ │ mov r0, r1 │ │ │ │ │ - ble.n 266 │ │ │ │ │ + cmp r4, #0 │ │ │ │ │ + ble.n 304 │ │ │ │ │ mov r1, r4 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ mov r0, r4 │ │ │ │ │ - cbnz r1, 26e │ │ │ │ │ + cbnz r1, 30e │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - beq.n 28a │ │ │ │ │ - negs r1, r4 │ │ │ │ │ + beq.n 32c │ │ │ │ │ + rsb r1, r4, #0 │ │ │ │ │ cmp r1, r0 │ │ │ │ │ - blt.n 272 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + blt.n 314 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ mov r4, r0 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - bne.n 26e │ │ │ │ │ - bl 22c │ │ │ │ │ + bne.n 30e │ │ │ │ │ + bl 2b8 │ │ │ │ │ R_ARM_THM_CALL fftw_isqrt │ │ │ │ │ mul.w r3, r0, r0 │ │ │ │ │ cmp r4, r3 │ │ │ │ │ - bne.n 26e │ │ │ │ │ - b.n 264 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ - b.w 188 │ │ │ │ │ + bne.n 30e │ │ │ │ │ + b.n 302 │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + b.w 1e8 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_first_divisor │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000294 : │ │ │ │ │ +00000338 : │ │ │ │ │ fftw_modulo(): │ │ │ │ │ subs r2, r0, #0 │ │ │ │ │ - push {r4, lr} │ │ │ │ │ - blt.n 2a2 │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ + blt.n 348 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ mov r0, r1 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - subs r4, r1, #1 │ │ │ │ │ - mvns r0, r2 │ │ │ │ │ + mvn.w r0, r2 │ │ │ │ │ + add.w r4, r1, #4294967295 @ 0xffffffff │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ - subs r0, r4, r1 │ │ │ │ │ + sub.w r0, r4, r1 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000002b0 : │ │ │ │ │ +0000035c : │ │ │ │ │ fftw_factors_into_small_primes(): │ │ │ │ │ - ldr r1, [pc, #4] @ (2b8 ) │ │ │ │ │ + ldr r1, [pc, #4] @ (364 ) │ │ │ │ │ add r1, pc │ │ │ │ │ - b.w 1f0 │ │ │ │ │ + b.w 26c │ │ │ │ │ R_ARM_THM_JUMP24 fftw_factors_into │ │ │ │ │ .word 0x00000002 │ │ │ │ │ R_ARM_REL32 .rodata │ │ │ ├── print.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1688 (bytes into file) │ │ │ │ │ + Start of section headers: 1796 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 11 │ │ │ │ │ Section header string table index: 10 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,20 +1,20 @@ │ │ │ │ │ -There are 11 section headers, starting at offset 0x698: │ │ │ │ │ +There are 11 section headers, starting at offset 0x704: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0003bc 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0005e0 000058 08 I 8 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0003f0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0003f0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0003f0 00001d 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .note.GNU-stack PROGBITS 00000000 00040d 000000 00 0 0 1 │ │ │ │ │ - [ 7] .ARM.attributes ARM_ATTRIBUTES 00000000 00040d 000033 00 0 0 1 │ │ │ │ │ - [ 8] .symtab SYMTAB 00000000 000440 000130 10 9 14 4 │ │ │ │ │ - [ 9] .strtab STRTAB 00000000 000570 000070 00 0 0 1 │ │ │ │ │ - [10] .shstrtab STRTAB 00000000 000638 00005f 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000428 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 00064c 000058 08 I 8 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 00045c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 00045c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 00045c 00001d 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .note.GNU-stack PROGBITS 00000000 000479 000000 00 0 0 1 │ │ │ │ │ + [ 7] .ARM.attributes ARM_ATTRIBUTES 00000000 000479 000033 00 0 0 1 │ │ │ │ │ + [ 8] .symtab SYMTAB 00000000 0004ac 000130 10 9 14 4 │ │ │ │ │ + [ 9] .strtab STRTAB 00000000 0005dc 000070 00 0 0 1 │ │ │ │ │ + [10] .shstrtab STRTAB 00000000 0006a4 00005f 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -2,21 +2,21 @@ │ │ │ │ │ Symbol table '.symtab' contains 19 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ 3: 00000004 0 NOTYPE LOCAL DEFAULT 5 .LC1 │ │ │ │ │ 4: 0000000c 0 NOTYPE LOCAL DEFAULT 5 .LC2 │ │ │ │ │ - 5: 00000001 864 FUNC LOCAL DEFAULT 1 vprint │ │ │ │ │ + 5: 00000001 948 FUNC LOCAL DEFAULT 1 vprint │ │ │ │ │ 6: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 0000003c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 8: 000000de 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 9: 00000348 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 10: 00000360 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 11: 00000361 28 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ - 12: 000003a0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 13: 000003a8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 0000004c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 000000ee 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 9: 0000039c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 10: 000003b4 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 11: 000003b5 30 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 12: 00000408 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 13: 00000410 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_print │ │ │ │ │ - 15: 0000037d 44 FUNC GLOBAL DEFAULT 1 fftw_mkprinter │ │ │ │ │ + 15: 000003d5 60 FUNC GLOBAL DEFAULT 1 fftw_mkprinter │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_malloc_plain │ │ │ │ │ - 17: 000003a9 20 FUNC GLOBAL DEFAULT 1 fftw_printer_destroy │ │ │ │ │ + 17: 00000411 24 FUNC GLOBAL DEFAULT 1 fftw_printer_destroy │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ifree │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x5e0 contains 11 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x64c contains 11 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000001b6 00000e0a R_ARM_THM_CALL 00000000 fftw_tensor_print │ │ │ │ │ -00000348 00000403 R_ARM_REL32 0000000c .LC2 │ │ │ │ │ -0000034c 00000403 R_ARM_REL32 0000000c .LC2 │ │ │ │ │ -00000350 00000403 R_ARM_REL32 0000000c .LC2 │ │ │ │ │ -00000354 00000203 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -00000358 00000403 R_ARM_REL32 0000000c .LC2 │ │ │ │ │ -0000035c 00000303 R_ARM_REL32 00000004 .LC1 │ │ │ │ │ -00000382 0000100a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -000003a0 00000b03 R_ARM_REL32 00000361 print │ │ │ │ │ -000003a4 00000503 R_ARM_REL32 00000001 vprint │ │ │ │ │ -000003b8 0000121e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ │ +000001e2 00000e0a R_ARM_THM_CALL 00000000 fftw_tensor_print │ │ │ │ │ +0000039c 00000403 R_ARM_REL32 0000000c .LC2 │ │ │ │ │ +000003a0 00000403 R_ARM_REL32 0000000c .LC2 │ │ │ │ │ +000003a4 00000403 R_ARM_REL32 0000000c .LC2 │ │ │ │ │ +000003a8 00000203 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +000003ac 00000403 R_ARM_REL32 0000000c .LC2 │ │ │ │ │ +000003b0 00000303 R_ARM_REL32 00000004 .LC1 │ │ │ │ │ +000003e0 0000100a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +00000408 00000b03 R_ARM_REL32 000003b5 print │ │ │ │ │ +0000040c 00000503 R_ARM_REL32 00000001 vprint │ │ │ │ │ +00000424 0000121e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,391 +1,404 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ vprint(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ mov r5, r1 │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ mov r6, r1 │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ sub sp, #64 @ 0x40 │ │ │ │ │ ldrb.w r1, [r5], #1 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - beq.n f2 │ │ │ │ │ + beq.n 104 │ │ │ │ │ mov r4, r0 │ │ │ │ │ - mov r8, r2 │ │ │ │ │ - b.n 2a │ │ │ │ │ - mov r6, r5 │ │ │ │ │ + mov r7, r2 │ │ │ │ │ + b.n 36 │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ mov r0, r4 │ │ │ │ │ + mov r6, r5 │ │ │ │ │ blx r3 │ │ │ │ │ mov r5, r6 │ │ │ │ │ ldrb.w r1, [r5], #1 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - beq.n f2 │ │ │ │ │ + beq.n 104 │ │ │ │ │ cmp r1, #37 @ 0x25 │ │ │ │ │ - bne.n 18 │ │ │ │ │ + bne.n 24 │ │ │ │ │ ldrb r3, [r6, #1] │ │ │ │ │ - adds r7, r6, #2 │ │ │ │ │ - subs r3, #40 @ 0x28 │ │ │ │ │ + add.w r8, r6, #2 │ │ │ │ │ + sub.w r3, r3, #40 @ 0x28 │ │ │ │ │ cmp r3, #80 @ 0x50 │ │ │ │ │ - bhi.n e6 │ │ │ │ │ + bhi.n f8 │ │ │ │ │ tbh [pc, r3, lsl #1] │ │ │ │ │ - .word 0x0051014e │ │ │ │ │ - .word 0x00550055 │ │ │ │ │ - .word 0x00550055 │ │ │ │ │ - .word 0x00550055 │ │ │ │ │ - .word 0x00550055 │ │ │ │ │ - .word 0x00550055 │ │ │ │ │ - .word 0x00550055 │ │ │ │ │ - .word 0x00550055 │ │ │ │ │ - .word 0x00550055 │ │ │ │ │ - .word 0x00550055 │ │ │ │ │ - .word 0x00550055 │ │ │ │ │ - .word 0x00550055 │ │ │ │ │ - .word 0x00550055 │ │ │ │ │ - .word 0x00550055 │ │ │ │ │ - .word 0x0055005e │ │ │ │ │ - .word 0x00550055 │ │ │ │ │ - .word 0x00550055 │ │ │ │ │ - .word 0x00550055 │ │ │ │ │ - .word 0x00870055 │ │ │ │ │ - .word 0x00550055 │ │ │ │ │ - .word 0x005500ab │ │ │ │ │ - .word 0x00550055 │ │ │ │ │ - .word 0x005500b6 │ │ │ │ │ - .word 0x00550055 │ │ │ │ │ - .word 0x00550055 │ │ │ │ │ - .word 0x00550055 │ │ │ │ │ - .word 0x00550055 │ │ │ │ │ - .word 0x00550055 │ │ │ │ │ - .word 0x00550055 │ │ │ │ │ - .word 0x00c00055 │ │ │ │ │ - .word 0x0055005e │ │ │ │ │ - .word 0x00550055 │ │ │ │ │ - .word 0x00550055 │ │ │ │ │ - .word 0x00550055 │ │ │ │ │ - .word 0x00550055 │ │ │ │ │ - .word 0x00c80055 │ │ │ │ │ - .word 0x005500d7 │ │ │ │ │ - .word 0x00e20055 │ │ │ │ │ - .word 0x00ef0055 │ │ │ │ │ - .word 0x0055011a │ │ │ │ │ - .short 0x012c │ │ │ │ │ + .word 0x00510167 │ │ │ │ │ + .word 0x00560056 │ │ │ │ │ + .word 0x00560056 │ │ │ │ │ + .word 0x00560056 │ │ │ │ │ + .word 0x00560056 │ │ │ │ │ + .word 0x00560056 │ │ │ │ │ + .word 0x00560056 │ │ │ │ │ + .word 0x00560056 │ │ │ │ │ + .word 0x00560056 │ │ │ │ │ + .word 0x00560056 │ │ │ │ │ + .word 0x00560056 │ │ │ │ │ + .word 0x00560056 │ │ │ │ │ + .word 0x00560056 │ │ │ │ │ + .word 0x00560056 │ │ │ │ │ + .word 0x00560066 │ │ │ │ │ + .word 0x00560056 │ │ │ │ │ + .word 0x00560056 │ │ │ │ │ + .word 0x00560056 │ │ │ │ │ + .word 0x00920056 │ │ │ │ │ + .word 0x00560056 │ │ │ │ │ + .word 0x005600b9 │ │ │ │ │ + .word 0x00560056 │ │ │ │ │ + .word 0x005600c4 │ │ │ │ │ + .word 0x00560056 │ │ │ │ │ + .word 0x00560056 │ │ │ │ │ + .word 0x00560056 │ │ │ │ │ + .word 0x00560056 │ │ │ │ │ + .word 0x00560056 │ │ │ │ │ + .word 0x00560056 │ │ │ │ │ + .word 0x00ce0056 │ │ │ │ │ + .word 0x00560066 │ │ │ │ │ + .word 0x00560056 │ │ │ │ │ + .word 0x00560056 │ │ │ │ │ + .word 0x00560056 │ │ │ │ │ + .word 0x00560056 │ │ │ │ │ + .word 0x00d60056 │ │ │ │ │ + .word 0x005600e7 │ │ │ │ │ + .word 0x00f20056 │ │ │ │ │ + .word 0x00ff0056 │ │ │ │ │ + .word 0x0056012e │ │ │ │ │ + .short 0x0142 │ │ │ │ │ ldrd r3, r2, [r4, #16] │ │ │ │ │ - subs r3, r3, r2 │ │ │ │ │ + sub.w r3, r3, r2 │ │ │ │ │ str r3, [r4, #16] │ │ │ │ │ - mov r6, r7 │ │ │ │ │ + mov r6, r8 │ │ │ │ │ mov r5, r6 │ │ │ │ │ ldrb.w r1, [r5], #1 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - bne.n 2a │ │ │ │ │ + bne.n 36 │ │ │ │ │ add sp, #64 @ 0x40 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ - ldr.w r5, [r8], #4 │ │ │ │ │ - mov r6, r7 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {sl, pc} │ │ │ │ │ + ldr.w r5, [r7], #4 │ │ │ │ │ + mov r6, r8 │ │ │ │ │ cmp r5, #0 │ │ │ │ │ - bge.n 10c │ │ │ │ │ - negs r5, r5 │ │ │ │ │ + bge.n 130 │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ - movs r1, #45 @ 0x2d │ │ │ │ │ + mov.w r1, #45 @ 0x2d │ │ │ │ │ mov r0, r4 │ │ │ │ │ + rsb r5, r5, #0 │ │ │ │ │ blx r3 │ │ │ │ │ - ldr r0, [pc, #568] @ (348 ) │ │ │ │ │ + ldr r0, [pc, #616] @ (39c ) │ │ │ │ │ movw r1, #26215 @ 0x6667 │ │ │ │ │ movt r1, #26214 @ 0x6666 │ │ │ │ │ mov r9, sp │ │ │ │ │ - mov r7, sp │ │ │ │ │ - mov.w ip, #10 │ │ │ │ │ + mov r8, sp │ │ │ │ │ add r0, pc │ │ │ │ │ smull r3, r2, r1, r5 │ │ │ │ │ - asrs r3, r5, #31 │ │ │ │ │ + mov.w r3, r5, asr #31 │ │ │ │ │ rsb r3, r3, r2, asr #2 │ │ │ │ │ - mls r5, ip, r3, r5 │ │ │ │ │ - ldrb r2, [r0, r5] │ │ │ │ │ + add.w r2, r3, r3, lsl #2 │ │ │ │ │ + sub.w r2, r5, r2, lsl #1 │ │ │ │ │ mov r5, r3 │ │ │ │ │ - strb.w r2, [r7], #1 │ │ │ │ │ + ldrb r2, [r0, r2] │ │ │ │ │ + strb.w r2, [r8], #1 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bne.n 120 │ │ │ │ │ - ldrb.w r1, [r7, #-1]! │ │ │ │ │ + bne.n 140 │ │ │ │ │ + ldrb.w r1, [r8, #-1]! │ │ │ │ │ mov r0, r4 │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ blx r3 │ │ │ │ │ - cmp r7, r9 │ │ │ │ │ - bne.n 13a │ │ │ │ │ - b.n 20 │ │ │ │ │ - ldr r1, [pc, #512] @ (34c ) │ │ │ │ │ + cmp r8, r9 │ │ │ │ │ + bne.n 160 │ │ │ │ │ + b.n 2c │ │ │ │ │ + ldr r1, [pc, #556] @ (3a0 ) │ │ │ │ │ mov r9, sp │ │ │ │ │ - ldr.w r3, [r8], #4 │ │ │ │ │ mov r5, sp │ │ │ │ │ + ldr.w r3, [r7], #4 │ │ │ │ │ add r1, pc │ │ │ │ │ and.w r2, r3, #15 │ │ │ │ │ cmp r3, #15 │ │ │ │ │ mov.w r3, r3, lsr #4 │ │ │ │ │ ldrb r2, [r1, r2] │ │ │ │ │ strb.w r2, [r5], #1 │ │ │ │ │ - bhi.n 156 │ │ │ │ │ + bhi.n 17c │ │ │ │ │ sub.w sl, r5, r9 │ │ │ │ │ cmp.w sl, #7 │ │ │ │ │ - bgt.n 182 │ │ │ │ │ - movs r6, #8 │ │ │ │ │ + bgt.n 1ae │ │ │ │ │ + mov.w r6, #8 │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ - movs r1, #48 @ 0x30 │ │ │ │ │ + mov.w r1, #48 @ 0x30 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - subs r6, #1 │ │ │ │ │ + add.w r6, r6, #4294967295 @ 0xffffffff │ │ │ │ │ blx r3 │ │ │ │ │ cmp sl, r6 │ │ │ │ │ - bne.n 174 │ │ │ │ │ + bne.n 19c │ │ │ │ │ ldrb.w r1, [r5, #-1]! │ │ │ │ │ mov r0, r4 │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ blx r3 │ │ │ │ │ cmp r5, r9 │ │ │ │ │ - bne.n 182 │ │ │ │ │ - b.n e6 │ │ │ │ │ - ldr.w r0, [r8], #4 │ │ │ │ │ + bne.n 1ae │ │ │ │ │ + b.n f8 │ │ │ │ │ + ldr.w r0, [r7], #4 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 32e │ │ │ │ │ + beq.w 37c │ │ │ │ │ ldr r3, [r0, #0] │ │ │ │ │ mov r1, r4 │ │ │ │ │ - mov r6, r7 │ │ │ │ │ + mov r6, r8 │ │ │ │ │ ldr r3, [r3, #12] │ │ │ │ │ blx r3 │ │ │ │ │ - b.n 20 │ │ │ │ │ - ldr.w r0, [r8], #4 │ │ │ │ │ + b.n 2c │ │ │ │ │ + ldr.w r0, [r7], #4 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 32e │ │ │ │ │ + beq.w 37c │ │ │ │ │ mov r1, r4 │ │ │ │ │ - mov r6, r7 │ │ │ │ │ + mov r6, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_print │ │ │ │ │ - b.n 20 │ │ │ │ │ - ldr.w r1, [r8], #4 │ │ │ │ │ + b.n 2c │ │ │ │ │ + ldr.w r1, [r7], #4 │ │ │ │ │ mov r0, r4 │ │ │ │ │ + mov r6, r8 │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ - mov r6, r7 │ │ │ │ │ uxtb r1, r1 │ │ │ │ │ blx r3 │ │ │ │ │ - b.n 20 │ │ │ │ │ - ldr.w r5, [r8], #4 │ │ │ │ │ - adds r7, r6, #3 │ │ │ │ │ + b.n 2c │ │ │ │ │ + ldr.w r5, [r7], #4 │ │ │ │ │ + add.w r8, r6, #3 │ │ │ │ │ cmp r5, #0 │ │ │ │ │ - bne.w 306 │ │ │ │ │ + bne.w 350 │ │ │ │ │ ldrb r3, [r6, #2] │ │ │ │ │ cmp r3, #61 @ 0x3d │ │ │ │ │ - beq.n e6 │ │ │ │ │ - ldrb.w r3, [r7], #1 │ │ │ │ │ + beq.w f8 │ │ │ │ │ + ldrb.w r3, [r8], #1 │ │ │ │ │ cmp r3, #61 @ 0x3d │ │ │ │ │ - bne.n 1de │ │ │ │ │ - mov r6, r7 │ │ │ │ │ - b.n e8 │ │ │ │ │ - ldr.w r0, [r8], #4 │ │ │ │ │ + bne.n 20e │ │ │ │ │ + mov r6, r8 │ │ │ │ │ + b.n fa │ │ │ │ │ + ldr.w r0, [r7], #4 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 32e │ │ │ │ │ + beq.w 37c │ │ │ │ │ ldr r3, [r0, #0] │ │ │ │ │ mov r1, r4 │ │ │ │ │ - mov r6, r7 │ │ │ │ │ + mov r6, r8 │ │ │ │ │ ldr r3, [r3, #8] │ │ │ │ │ blx r3 │ │ │ │ │ - b.n 20 │ │ │ │ │ - ldr.w r5, [r8], #4 │ │ │ │ │ - cbnz r5, 20e │ │ │ │ │ - b.n 32e │ │ │ │ │ + b.n 2c │ │ │ │ │ + ldr.w r5, [r7], #4 │ │ │ │ │ + cbnz r5, 23e │ │ │ │ │ + b.n 37c │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ mov r0, r4 │ │ │ │ │ blx r3 │ │ │ │ │ ldrb.w r1, [r5], #1 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - bne.n 208 │ │ │ │ │ - mov r6, r7 │ │ │ │ │ - b.n e8 │ │ │ │ │ - ldr r6, [pc, #308] @ (350 ) │ │ │ │ │ + bne.n 238 │ │ │ │ │ + mov r6, r8 │ │ │ │ │ + b.n fa │ │ │ │ │ + ldr r6, [pc, #344] @ (3a4 ) │ │ │ │ │ movw r0, #52429 @ 0xcccd │ │ │ │ │ movt r0, #52428 @ 0xcccc │ │ │ │ │ - ldr.w r2, [r8], #4 │ │ │ │ │ mov r9, sp │ │ │ │ │ mov r5, sp │ │ │ │ │ - mov.w ip, #10 │ │ │ │ │ + ldr.w r2, [r7], #4 │ │ │ │ │ add r6, pc │ │ │ │ │ umull r1, r3, r0, r2 │ │ │ │ │ - lsrs r3, r3, #3 │ │ │ │ │ - mls r1, ip, r3, r2 │ │ │ │ │ + mov.w r3, r3, lsr #3 │ │ │ │ │ + add.w r1, r3, r3, lsl #2 │ │ │ │ │ + sub.w r1, r2, r1, lsl #1 │ │ │ │ │ ldrb r1, [r6, r1] │ │ │ │ │ strb.w r1, [r5], #1 │ │ │ │ │ mov r1, r2 │ │ │ │ │ - cmp r1, #9 │ │ │ │ │ mov r2, r3 │ │ │ │ │ - bhi.n 232 │ │ │ │ │ + cmp r1, #9 │ │ │ │ │ + bhi.n 25e │ │ │ │ │ subs.w sl, r5, r9 │ │ │ │ │ - bpl.n 260 │ │ │ │ │ - movs r6, #0 │ │ │ │ │ + bpl.n 298 │ │ │ │ │ + mov.w r6, #0 │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ - movs r1, #48 @ 0x30 │ │ │ │ │ + mov.w r1, #48 @ 0x30 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - subs r6, #1 │ │ │ │ │ + add.w r6, r6, #4294967295 @ 0xffffffff │ │ │ │ │ blx r3 │ │ │ │ │ cmp r6, sl │ │ │ │ │ - bne.n 252 │ │ │ │ │ + bne.n 286 │ │ │ │ │ ldrb.w r1, [r5, #-1]! │ │ │ │ │ mov r0, r4 │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ blx r3 │ │ │ │ │ cmp r5, r9 │ │ │ │ │ - bne.n 260 │ │ │ │ │ - b.n e6 │ │ │ │ │ - ldr.w r5, [r8], #4 │ │ │ │ │ + bne.n 298 │ │ │ │ │ + b.n f8 │ │ │ │ │ + ldr.w r5, [r7], #4 │ │ │ │ │ cmp r5, #1 │ │ │ │ │ - ble.w e6 │ │ │ │ │ - ldr r6, [pc, #216] @ (354 ) │ │ │ │ │ - movs r1, #45 @ 0x2d │ │ │ │ │ + ble.w f8 │ │ │ │ │ + ldr r6, [pc, #244] @ (3a8 ) │ │ │ │ │ + mov.w r1, #45 @ 0x2d │ │ │ │ │ add r6, pc │ │ │ │ │ - adds r6, #1 │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ mov r0, r4 │ │ │ │ │ blx r3 │ │ │ │ │ ldrb.w r1, [r6], #1 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - bne.n 282 │ │ │ │ │ - mov r6, r7 │ │ │ │ │ - b.n 10c │ │ │ │ │ - ldr r1, [pc, #192] @ (358 ) │ │ │ │ │ + bne.n 2be │ │ │ │ │ + mov r6, r8 │ │ │ │ │ + b.n 130 │ │ │ │ │ + ldr r1, [pc, #216] @ (3ac ) │ │ │ │ │ mov r9, sp │ │ │ │ │ - ldr.w r3, [r8], #4 │ │ │ │ │ mov r5, sp │ │ │ │ │ + ldr.w r3, [r7], #4 │ │ │ │ │ add r1, pc │ │ │ │ │ and.w r2, r3, #15 │ │ │ │ │ cmp r3, #15 │ │ │ │ │ mov.w r3, r3, lsr #4 │ │ │ │ │ ldrb r2, [r1, r2] │ │ │ │ │ strb.w r2, [r5], #1 │ │ │ │ │ - bhi.n 2a0 │ │ │ │ │ + bhi.n 2dc │ │ │ │ │ subs.w sl, r5, r9 │ │ │ │ │ - bpl.n 2c8 │ │ │ │ │ - movs r6, #0 │ │ │ │ │ + bpl.n 30a │ │ │ │ │ + mov.w r6, #0 │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ - movs r1, #48 @ 0x30 │ │ │ │ │ + mov.w r1, #48 @ 0x30 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - subs r6, #1 │ │ │ │ │ + add.w r6, r6, #4294967295 @ 0xffffffff │ │ │ │ │ blx r3 │ │ │ │ │ cmp r6, sl │ │ │ │ │ - bne.n 2ba │ │ │ │ │ + bne.n 2f8 │ │ │ │ │ ldrb.w r1, [r5, #-1]! │ │ │ │ │ mov r0, r4 │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ blx r3 │ │ │ │ │ cmp r5, r9 │ │ │ │ │ - bne.n 2c8 │ │ │ │ │ - b.n e6 │ │ │ │ │ + bne.n 30a │ │ │ │ │ + b.n f8 │ │ │ │ │ ldrd r3, r2, [r4, #16] │ │ │ │ │ - movs r1, #10 │ │ │ │ │ + mov.w r1, #10 │ │ │ │ │ mov r0, r4 │ │ │ │ │ add r3, r2 │ │ │ │ │ str r3, [r4, #16] │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ blx r3 │ │ │ │ │ ldr r3, [r4, #16] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.w e6 │ │ │ │ │ - movs r5, #0 │ │ │ │ │ + ble.w f8 │ │ │ │ │ + mov.w r5, #0 │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ - movs r1, #32 │ │ │ │ │ + mov.w r1, #32 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - adds r5, #1 │ │ │ │ │ blx r3 │ │ │ │ │ ldr r3, [r4, #16] │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ cmp r5, r3 │ │ │ │ │ - blt.n 2f2 │ │ │ │ │ - mov r6, r7 │ │ │ │ │ - b.n e8 │ │ │ │ │ - movs r1, #47 @ 0x2f │ │ │ │ │ + blt.n 338 │ │ │ │ │ + mov r6, r8 │ │ │ │ │ + b.n fa │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ + mov.w r1, #47 @ 0x2f │ │ │ │ │ mov r0, r4 │ │ │ │ │ blx r3 │ │ │ │ │ ldrb r1, [r6, #2] │ │ │ │ │ cmp r1, #61 @ 0x3d │ │ │ │ │ - beq.n 322 │ │ │ │ │ + beq.n 36e │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ mov r0, r4 │ │ │ │ │ blx r3 │ │ │ │ │ - ldrb.w r1, [r7], #1 │ │ │ │ │ + ldrb.w r1, [r8], #1 │ │ │ │ │ cmp r1, #61 @ 0x3d │ │ │ │ │ - bne.n 314 │ │ │ │ │ + bne.n 360 │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ - movs r1, #61 @ 0x3d │ │ │ │ │ + mov.w r1, #61 @ 0x3d │ │ │ │ │ mov r0, r4 │ │ │ │ │ - mov r6, r7 │ │ │ │ │ + mov r6, r8 │ │ │ │ │ blx r3 │ │ │ │ │ - b.n fe │ │ │ │ │ - ldr r5, [pc, #44] @ (35c ) │ │ │ │ │ - movs r1, #40 @ 0x28 │ │ │ │ │ + b.n 11e │ │ │ │ │ + ldr r5, [pc, #48] @ (3b0 ) │ │ │ │ │ + mov.w r1, #40 @ 0x28 │ │ │ │ │ add r5, pc │ │ │ │ │ - adds r5, #1 │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ mov r0, r4 │ │ │ │ │ blx r3 │ │ │ │ │ ldrb.w r1, [r5], #1 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - bne.n 336 │ │ │ │ │ - mov r6, r7 │ │ │ │ │ - b.n e8 │ │ │ │ │ - .word 0x00000226 │ │ │ │ │ + bne.n 388 │ │ │ │ │ + mov r6, r8 │ │ │ │ │ + b.n fa │ │ │ │ │ + nop │ │ │ │ │ + .word 0x0000025a │ │ │ │ │ R_ARM_REL32 .LC2 │ │ │ │ │ - .word 0x000001f4 │ │ │ │ │ + .word 0x00000222 │ │ │ │ │ R_ARM_REL32 .LC2 │ │ │ │ │ - .word 0x0000011c │ │ │ │ │ + .word 0x00000144 │ │ │ │ │ R_ARM_REL32 .LC2 │ │ │ │ │ - .word 0x000000d2 │ │ │ │ │ + .word 0x000000ec │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ - .word 0x000000b6 │ │ │ │ │ + .word 0x000000ce │ │ │ │ │ R_ARM_REL32 .LC2 │ │ │ │ │ - .word 0x00000026 │ │ │ │ │ + .word 0x0000002a │ │ │ │ │ R_ARM_REL32 .LC1 │ │ │ │ │ │ │ │ │ │ -00000360 : │ │ │ │ │ +000003b4 : │ │ │ │ │ print(): │ │ │ │ │ push {r1, r2, r3} │ │ │ │ │ - push {lr} │ │ │ │ │ + str.w lr, [sp, #-4]! │ │ │ │ │ sub sp, #8 │ │ │ │ │ add r2, sp, #12 │ │ │ │ │ ldr.w r1, [r2], #4 │ │ │ │ │ str r2, [sp, #4] │ │ │ │ │ bl 0 │ │ │ │ │ add sp, #8 │ │ │ │ │ ldr.w lr, [sp], #4 │ │ │ │ │ add sp, #12 │ │ │ │ │ bx lr │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -0000037c : │ │ │ │ │ +000003d4 : │ │ │ │ │ fftw_mkprinter(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ - mov r5, r1 │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r2 │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ + mov r5, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ - ldr r2, [pc, #24] @ (3a0 ) │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - str r4, [r0, #12] │ │ │ │ │ + ldr r2, [pc, #32] @ (408 ) │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ + strd r5, r4, [r0, #8] │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ add r2, pc │ │ │ │ │ str r2, [r0, #0] │ │ │ │ │ - ldr r2, [pc, #16] @ (3a4 ) │ │ │ │ │ + ldr r2, [pc, #16] @ (40c ) │ │ │ │ │ add r2, pc │ │ │ │ │ - strd r2, r5, [r0, #4] │ │ │ │ │ - movs r2, #2 │ │ │ │ │ + str r2, [r0, #4] │ │ │ │ │ + mov.w r2, #2 │ │ │ │ │ strd r1, r2, [r0, #16] │ │ │ │ │ - pop {r3, r4, r5, pc} │ │ │ │ │ + pop {r5, pc} │ │ │ │ │ .word 0x00000010 │ │ │ │ │ R_ARM_REL32 print │ │ │ │ │ .word 0x0000000e │ │ │ │ │ R_ARM_REL32 vprint │ │ │ │ │ │ │ │ │ │ -000003a8 : │ │ │ │ │ +00000410 : │ │ │ │ │ fftw_printer_destroy(): │ │ │ │ │ ldr r3, [r0, #12] │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - cbz r3, 3b2 │ │ │ │ │ + cbz r3, 41c │ │ │ │ │ blx r3 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_ifree │ │ │ ├── problem.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1060 (bytes into file) │ │ │ │ │ + Start of section headers: 1064 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 15 │ │ │ │ │ Section header string table index: 14 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ -There are 15 section headers, starting at offset 0x424: │ │ │ │ │ +There are 15 section headers, starting at offset 0x428: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00004c 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000348 000028 08 I 12 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000080 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000080 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000080 00001b 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.local PROGBITS 00000000 00009b 000004 00 WA 0 0 4 │ │ │ │ │ - [ 7] .rel.data.rel.local REL 00000000 000370 000008 08 I 12 6 4 │ │ │ │ │ - [ 8] .data.rel.ro.local PROGBITS 00000000 00009f 000014 00 WA 0 0 4 │ │ │ │ │ - [ 9] .rel.data.rel.ro.local REL 00000000 000378 000020 08 I 12 8 4 │ │ │ │ │ - [10] .note.GNU-stack PROGBITS 00000000 0000b3 000000 00 0 0 1 │ │ │ │ │ - [11] .ARM.attributes ARM_ATTRIBUTES 00000000 0000b3 000033 00 0 0 1 │ │ │ │ │ - [12] .symtab SYMTAB 00000000 0000e8 000190 10 13 20 4 │ │ │ │ │ - [13] .strtab STRTAB 00000000 000278 0000ce 00 0 0 1 │ │ │ │ │ - [14] .shstrtab STRTAB 00000000 000398 00008a 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000050 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 00034c 000028 08 I 12 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000084 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000084 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000084 00001b 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.local PROGBITS 00000000 00009f 000004 00 WA 0 0 4 │ │ │ │ │ + [ 7] .rel.data.rel.local REL 00000000 000374 000008 08 I 12 6 4 │ │ │ │ │ + [ 8] .data.rel.ro.local PROGBITS 00000000 0000a3 000014 00 WA 0 0 4 │ │ │ │ │ + [ 9] .rel.data.rel.ro.local REL 00000000 00037c 000020 08 I 12 8 4 │ │ │ │ │ + [10] .note.GNU-stack PROGBITS 00000000 0000b7 000000 00 0 0 1 │ │ │ │ │ + [11] .ARM.attributes ARM_ATTRIBUTES 00000000 0000b7 000033 00 0 0 1 │ │ │ │ │ + [12] .symtab SYMTAB 00000000 0000ec 000190 10 13 20 4 │ │ │ │ │ + [13] .strtab STRTAB 00000000 00027c 0000ce 00 0 0 1 │ │ │ │ │ + [14] .shstrtab STRTAB 00000000 00039c 00008a 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -10,19 +10,19 @@ │ │ │ │ │ 6: 00000010 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 7: 00000010 0 NOTYPE LOCAL DEFAULT 5 .LC1 │ │ │ │ │ 8: 00000014 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 9: 00000015 16 FUNC LOCAL DEFAULT 1 unsolvable_hash │ │ │ │ │ 10: 00000020 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 11: 00000024 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 12: 00000025 2 FUNC LOCAL DEFAULT 1 unsolvable_zero │ │ │ │ │ - 13: 00000048 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 13: 0000004c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 14: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.local │ │ │ │ │ 15: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 16: 00000000 4 OBJECT LOCAL DEFAULT 6 the_unsolvable_problem │ │ │ │ │ 17: 00000000 20 OBJECT LOCAL DEFAULT 8 padt │ │ │ │ │ 18: 00000000 0 SECTION LOCAL DEFAULT 8 .data.rel.ro.local │ │ │ │ │ 19: 00000000 0 NOTYPE LOCAL DEFAULT 8 $d │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_md5puts │ │ │ │ │ - 21: 00000029 12 FUNC GLOBAL DEFAULT 1 fftw_mkproblem │ │ │ │ │ + 21: 00000029 14 FUNC GLOBAL DEFAULT 1 fftw_mkproblem │ │ │ │ │ 22: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_malloc_plain │ │ │ │ │ - 23: 00000035 10 FUNC GLOBAL DEFAULT 1 fftw_problem_destroy │ │ │ │ │ - 24: 00000041 12 FUNC GLOBAL DEFAULT 1 fftw_mkproblem_unsolvable │ │ │ │ │ + 23: 00000039 10 FUNC GLOBAL DEFAULT 1 fftw_problem_destroy │ │ │ │ │ + 24: 00000045 12 FUNC GLOBAL DEFAULT 1 fftw_mkproblem_unsolvable │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x348 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x34c contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000010 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ 00000020 00000703 R_ARM_REL32 00000010 .LC1 │ │ │ │ │ -0000002c 0000160a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -00000048 00000e03 R_ARM_REL32 00000000 .data.rel.local │ │ │ │ │ +0000002e 0000160a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +0000004c 00000e03 R_ARM_REL32 00000000 .data.rel.local │ │ │ │ │ 0000001a 0000141e R_ARM_THM_JUMP24 00000000 fftw_md5puts │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.local' at offset 0x370 contains 1 entry: │ │ │ │ │ +Relocation section '.rel.data.rel.local' at offset 0x374 contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00001202 R_ARM_ABS32 00000000 .data.rel.ro.local │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x378 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x37c contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000902 R_ARM_ABS32 00000015 unsolvable_hash │ │ │ │ │ 00000008 00000c02 R_ARM_ABS32 00000025 unsolvable_zero │ │ │ │ │ 0000000c 00000502 R_ARM_ABS32 00000005 unsolvable_print │ │ │ │ │ 00000010 00000102 R_ARM_ABS32 00000001 unsolvable_destroy │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -6,17 +6,17 @@ │ │ │ │ │ 00000000 : │ │ │ │ │ unsolvable_destroy(): │ │ │ │ │ bx lr │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ 00000004 : │ │ │ │ │ unsolvable_print(): │ │ │ │ │ - ldr r3, [r1, #0] │ │ │ │ │ mov r0, r1 │ │ │ │ │ - ldr r1, [pc, #4] @ (10 ) │ │ │ │ │ + ldr r1, [pc, #8] @ (10 ) │ │ │ │ │ + ldr r3, [r0, #0] │ │ │ │ │ add r1, pc │ │ │ │ │ bx r3 │ │ │ │ │ nop │ │ │ │ │ .word 0x00000002 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ 00000014 : │ │ │ │ │ @@ -33,31 +33,32 @@ │ │ │ │ │ 00000024 : │ │ │ │ │ unsolvable_zero(): │ │ │ │ │ bx lr │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ 00000028 : │ │ │ │ │ fftw_mkproblem(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ str r4, [r0, #0] │ │ │ │ │ pop {r4, pc} │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000034 : │ │ │ │ │ +00000038 : │ │ │ │ │ fftw_problem_destroy(): │ │ │ │ │ - cbz r0, 3c │ │ │ │ │ + cbz r0, 40 │ │ │ │ │ ldr r3, [r0, #0] │ │ │ │ │ ldr r3, [r3, #16] │ │ │ │ │ bx r3 │ │ │ │ │ bx lr │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000040 : │ │ │ │ │ +00000044 : │ │ │ │ │ fftw_mkproblem_unsolvable(): │ │ │ │ │ - ldr r0, [pc, #4] @ (48 ) │ │ │ │ │ + ldr r0, [pc, #4] @ (4c ) │ │ │ │ │ add r0, pc │ │ │ │ │ bx lr │ │ │ │ │ nop │ │ │ │ │ .word 0x00000002 │ │ │ │ │ R_ARM_REL32 .data.rel.local │ │ │ ├── rader.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 564 (bytes into file) │ │ │ │ │ + Start of section headers: 596 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 10 │ │ │ │ │ Section header string table index: 9 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ -There are 10 section headers, starting at offset 0x234: │ │ │ │ │ +There are 10 section headers, starting at offset 0x254: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000094 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0001cc 000018 08 I 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0000c8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0000c8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .note.GNU-stack PROGBITS 00000000 0000c8 000000 00 0 0 1 │ │ │ │ │ - [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 0000c8 000033 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 0000fc 000070 10 8 2 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 00016c 00005e 00 0 0 1 │ │ │ │ │ - [ 9] .shstrtab STRTAB 00000000 0001e4 000050 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0000b4 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0001ec 000018 08 I 7 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0000e8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0000e8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .note.GNU-stack PROGBITS 00000000 0000e8 000000 00 0 0 1 │ │ │ │ │ + [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 0000e8 000033 00 0 0 1 │ │ │ │ │ + [ 7] .symtab SYMTAB 00000000 00011c 000070 10 8 2 4 │ │ │ │ │ + [ 8] .strtab STRTAB 00000000 00018c 00005e 00 0 0 1 │ │ │ │ │ + [ 9] .shstrtab STRTAB 00000000 000204 000050 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,10 +1,10 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 7 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 48 FUNC GLOBAL DEFAULT 1 fftw_rader_tl_insert │ │ │ │ │ + 2: 00000001 70 FUNC GLOBAL DEFAULT 1 fftw_rader_tl_insert │ │ │ │ │ 3: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_malloc_plain │ │ │ │ │ - 4: 00000031 42 FUNC GLOBAL DEFAULT 1 fftw_rader_tl_find │ │ │ │ │ - 5: 0000005d 56 FUNC GLOBAL DEFAULT 1 fftw_rader_tl_delete │ │ │ │ │ + 4: 00000049 44 FUNC GLOBAL DEFAULT 1 fftw_rader_tl_find │ │ │ │ │ + 5: 00000075 62 FUNC GLOBAL DEFAULT 1 fftw_rader_tl_delete │ │ │ │ │ 6: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ifree │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,6 +1,6 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x1cc contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x1ec contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000012 0000030a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -00000086 0000060a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -00000090 0000061e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ │ +0000001c 0000030a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +000000a2 0000060a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +000000ae 0000061e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,78 +1,85 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_rader_tl_insert(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ - mov r7, r0 │ │ │ │ │ - ldr.w r8, [sp, #24] │ │ │ │ │ - movs r0, #24 │ │ │ │ │ + strd r4, r5, [sp, #-24]! │ │ │ │ │ mov r4, r3 │ │ │ │ │ - mov r6, r1 │ │ │ │ │ mov r5, r2 │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + mov r7, r0 │ │ │ │ │ + mov.w r0, #24 │ │ │ │ │ + strd r8, lr, [sp, #16] │ │ │ │ │ + mov r6, r1 │ │ │ │ │ + ldr.w r8, [sp, #24] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ - movs r3, #1 │ │ │ │ │ - str r3, [r0, #16] │ │ │ │ │ - ldr.w r3, [r8] │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ strd r7, r6, [r0] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ strd r5, r4, [r0, #8] │ │ │ │ │ + str r3, [r0, #16] │ │ │ │ │ + ldr.w r3, [r8] │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #16 │ │ │ │ │ str r3, [r0, #20] │ │ │ │ │ str.w r0, [r8] │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, pc} │ │ │ │ │ + ldmia.w sp!, {r8, pc} │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000030 : │ │ │ │ │ +00000048 : │ │ │ │ │ fftw_rader_tl_find(): │ │ │ │ │ mov ip, r0 │ │ │ │ │ mov r0, r3 │ │ │ │ │ - cbnz r3, 3c │ │ │ │ │ - b.n 58 │ │ │ │ │ + cbnz r3, 54 │ │ │ │ │ + b.n 72 │ │ │ │ │ ldr r0, [r0, #20] │ │ │ │ │ - cbz r0, 56 │ │ │ │ │ + cbz r0, 70 │ │ │ │ │ ldr r3, [r0, #0] │ │ │ │ │ cmp r3, ip │ │ │ │ │ - bne.n 38 │ │ │ │ │ + bne.n 50 │ │ │ │ │ ldr r3, [r0, #4] │ │ │ │ │ cmp r3, r1 │ │ │ │ │ - bne.n 38 │ │ │ │ │ + bne.n 50 │ │ │ │ │ ldr r3, [r0, #8] │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.n 38 │ │ │ │ │ + bne.n 50 │ │ │ │ │ ldr r3, [r0, #16] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str r3, [r0, #16] │ │ │ │ │ ldr r0, [r0, #12] │ │ │ │ │ bx lr │ │ │ │ │ bx lr │ │ │ │ │ - nop │ │ │ │ │ │ │ │ │ │ -0000005c : │ │ │ │ │ +00000074 : │ │ │ │ │ fftw_rader_tl_delete(): │ │ │ │ │ - cbz r0, 80 │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + cbz r0, 9c │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ ldr r4, [r1, #0] │ │ │ │ │ - cbnz r4, 6e │ │ │ │ │ - b.n 7e │ │ │ │ │ + cbnz r4, 88 │ │ │ │ │ + b.n 9a │ │ │ │ │ add.w r1, r4, #20 │ │ │ │ │ ldr r4, [r4, #20] │ │ │ │ │ - cbz r4, 7e │ │ │ │ │ + cbz r4, 9a │ │ │ │ │ ldr r3, [r4, #12] │ │ │ │ │ cmp r3, r0 │ │ │ │ │ - bne.n 66 │ │ │ │ │ + bne.n 80 │ │ │ │ │ ldr r3, [r4, #16] │ │ │ │ │ - subs r3, #1 │ │ │ │ │ - str r3, [r4, #16] │ │ │ │ │ + add.w r3, r3, #4294967295 @ 0xffffffff │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.n 82 │ │ │ │ │ + str r3, [r4, #16] │ │ │ │ │ + ble.n 9e │ │ │ │ │ pop {r4, pc} │ │ │ │ │ bx lr │ │ │ │ │ ldr r3, [r4, #20] │ │ │ │ │ str r3, [r1, #0] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_ifree │ │ │ │ │ + nop │ │ │ ├── scan.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1004 (bytes into file) │ │ │ │ │ + Start of section headers: 1068 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 10 │ │ │ │ │ Section header string table index: 9 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ -There are 10 section headers, starting at offset 0x3ec: │ │ │ │ │ +There are 10 section headers, starting at offset 0x42c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00020c 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00037c 000020 08 I 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000240 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000240 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .note.GNU-stack PROGBITS 00000000 000240 000000 00 0 0 1 │ │ │ │ │ - [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000240 000033 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 000274 0000b0 10 8 7 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 000324 000056 00 0 0 1 │ │ │ │ │ - [ 9] .shstrtab STRTAB 00000000 00039c 000050 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00024c 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0003bc 000020 08 I 7 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000280 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000280 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .note.GNU-stack PROGBITS 00000000 000280 000000 00 0 0 1 │ │ │ │ │ + [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000280 000033 00 0 0 1 │ │ │ │ │ + [ 7] .symtab SYMTAB 00000000 0002b4 0000b0 10 8 7 4 │ │ │ │ │ + [ 8] .strtab STRTAB 00000000 000364 000056 00 0 0 1 │ │ │ │ │ + [ 9] .shstrtab STRTAB 00000000 0003dc 000050 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 11 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 178 FUNC LOCAL DEFAULT 1 getlong │ │ │ │ │ + 1: 00000001 202 FUNC LOCAL DEFAULT 1 getlong │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000000b5 272 FUNC LOCAL DEFAULT 1 vscan │ │ │ │ │ - 4: 000001c5 28 FUNC LOCAL DEFAULT 1 scan │ │ │ │ │ - 5: 00000200 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000208 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 000001e1 40 FUNC GLOBAL DEFAULT 1 fftw_mkscanner │ │ │ │ │ + 3: 000000cd 306 FUNC LOCAL DEFAULT 1 vscan │ │ │ │ │ + 4: 00000201 30 FUNC LOCAL DEFAULT 1 scan │ │ │ │ │ + 5: 00000240 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000248 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00000221 40 FUNC GLOBAL DEFAULT 1 fftw_mkscanner │ │ │ │ │ 8: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_malloc_plain │ │ │ │ │ - 9: 00000209 4 FUNC GLOBAL DEFAULT 1 fftw_scanner_destroy │ │ │ │ │ + 9: 00000249 4 FUNC GLOBAL DEFAULT 1 fftw_scanner_destroy │ │ │ │ │ 10: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ifree │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,7 +1,7 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x37c contains 4 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x3bc contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000001e4 0000080a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -00000200 00000403 R_ARM_REL32 000001c5 scan │ │ │ │ │ -00000204 00000303 R_ARM_REL32 000000b5 vscan │ │ │ │ │ -00000208 00000a1e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ │ +00000226 0000080a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +00000240 00000403 R_ARM_REL32 00000201 scan │ │ │ │ │ +00000244 00000303 R_ARM_REL32 000000cd vscan │ │ │ │ │ +00000248 00000a1e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -2,236 +2,250 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ getlong(): │ │ │ │ │ ldr r3, [r0, #12] │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ + mov r4, r0 │ │ │ │ │ + mov r5, r1 │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ mov r7, r2 │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ adds r6, r3, #1 │ │ │ │ │ - it ne │ │ │ │ │ + itt ne │ │ │ │ │ movne.w r2, #4294967295 @ 0xffffffff │ │ │ │ │ - mov r4, r0 │ │ │ │ │ - mov r5, r1 │ │ │ │ │ - it ne │ │ │ │ │ strne r2, [r0, #12] │ │ │ │ │ - bne.n 20 │ │ │ │ │ + bne.n 2a │ │ │ │ │ ldr r3, [r0, #8] │ │ │ │ │ blx r3 │ │ │ │ │ mov r3, r0 │ │ │ │ │ sub.w r2, r3, #43 @ 0x2b │ │ │ │ │ bics.w r2, r2, #2 │ │ │ │ │ it ne │ │ │ │ │ movne.w r8, #1 │ │ │ │ │ - bne.n 4a │ │ │ │ │ + bne.n 54 │ │ │ │ │ cmp r3, #45 @ 0x2d │ │ │ │ │ ldr r3, [r4, #12] │ │ │ │ │ ite ne │ │ │ │ │ movne.w r8, #1 │ │ │ │ │ moveq.w r8, #4294967295 @ 0xffffffff │ │ │ │ │ adds r1, r3, #1 │ │ │ │ │ itt ne │ │ │ │ │ movne.w r2, #4294967295 @ 0xffffffff │ │ │ │ │ strne r2, [r4, #12] │ │ │ │ │ - beq.n a8 │ │ │ │ │ + beq.n c0 │ │ │ │ │ mov.w sl, #0 │ │ │ │ │ mov.w r6, #4294967295 @ 0xffffffff │ │ │ │ │ mov r9, sl │ │ │ │ │ - b.n 74 │ │ │ │ │ + b.n 7e │ │ │ │ │ sub.w ip, r3, #87 @ 0x57 │ │ │ │ │ ldr r3, [r4, #12] │ │ │ │ │ mla sl, r5, sl, ip │ │ │ │ │ adds r2, r3, #1 │ │ │ │ │ it ne │ │ │ │ │ strne r6, [r4, #12] │ │ │ │ │ - bne.n 70 │ │ │ │ │ + bne.n 7a │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ mov r0, r4 │ │ │ │ │ blx r3 │ │ │ │ │ mov r3, r0 │ │ │ │ │ add.w r9, r9, #1 │ │ │ │ │ sub.w ip, r3, #48 @ 0x30 │ │ │ │ │ cmp.w ip, #9 │ │ │ │ │ - bls.n 5a │ │ │ │ │ + bls.n 64 │ │ │ │ │ sub.w r2, r3, #65 @ 0x41 │ │ │ │ │ cmp r2, #25 │ │ │ │ │ it ls │ │ │ │ │ subls.w ip, r3, #55 @ 0x37 │ │ │ │ │ - bls.n 5a │ │ │ │ │ + bls.n 64 │ │ │ │ │ sub.w r2, r3, #97 @ 0x61 │ │ │ │ │ cmp r2, #25 │ │ │ │ │ - bls.n 56 │ │ │ │ │ + bls.n 60 │ │ │ │ │ str r3, [r4, #12] │ │ │ │ │ subs.w r3, r9, #0 │ │ │ │ │ + mul.w r0, sl, r8 │ │ │ │ │ it ne │ │ │ │ │ movne r3, #1 │ │ │ │ │ - mul.w r0, sl, r8 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ str r3, [r7, #0] │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {sl, pc} │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ mov r0, r4 │ │ │ │ │ blx r3 │ │ │ │ │ mov r3, r0 │ │ │ │ │ - b.n 4a │ │ │ │ │ + b.n 54 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000000b4 : │ │ │ │ │ +000000cc : │ │ │ │ │ vscan(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ - mov r9, r1 │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ mov.w r8, #0 │ │ │ │ │ + mov r9, r1 │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ sub sp, #8 │ │ │ │ │ ldrb.w r5, [r9], #1 │ │ │ │ │ str.w r8, [sp, #4] │ │ │ │ │ cmp r5, #0 │ │ │ │ │ - beq.n 138 │ │ │ │ │ + beq.n 15c │ │ │ │ │ mov r4, r0 │ │ │ │ │ mov r7, r2 │ │ │ │ │ mov.w r6, #4294967295 @ 0xffffffff │ │ │ │ │ - b.n ec │ │ │ │ │ + b.n 112 │ │ │ │ │ + ldr r0, [r4, #12] │ │ │ │ │ adds r3, r0, #1 │ │ │ │ │ - bne.n 112 │ │ │ │ │ + bne.n 134 │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ mov r0, r4 │ │ │ │ │ blx r3 │ │ │ │ │ cmp r5, r0 │ │ │ │ │ str r0, [sp, #4] │ │ │ │ │ - bne.n 11a │ │ │ │ │ + bne.n 13c │ │ │ │ │ ldrb.w r5, [r9], #1 │ │ │ │ │ - cbz r5, 138 │ │ │ │ │ + cbz r5, 15c │ │ │ │ │ cmp r5, #37 @ 0x25 │ │ │ │ │ - beq.n 140 │ │ │ │ │ + beq.n 174 │ │ │ │ │ sub.w r3, r5, #40 @ 0x28 │ │ │ │ │ cmp r5, #32 │ │ │ │ │ it hi │ │ │ │ │ cmphi r3, #1 │ │ │ │ │ - it hi │ │ │ │ │ - ldrhi r0, [r4, #12] │ │ │ │ │ - bhi.n d6 │ │ │ │ │ + bhi.n fa │ │ │ │ │ ldr r0, [r4, #12] │ │ │ │ │ adds r2, r0, #1 │ │ │ │ │ - beq.n 120 │ │ │ │ │ + beq.n 144 │ │ │ │ │ cmp r0, #32 │ │ │ │ │ str r6, [r4, #12] │ │ │ │ │ - bls.n 100 │ │ │ │ │ + bls.n 122 │ │ │ │ │ cmp r5, #32 │ │ │ │ │ str r0, [r4, #12] │ │ │ │ │ - bls.n e6 │ │ │ │ │ + bls.n 10c │ │ │ │ │ cmp r5, r0 │ │ │ │ │ - str r6, [r4, #12] │ │ │ │ │ str r0, [sp, #4] │ │ │ │ │ - beq.n e6 │ │ │ │ │ + str r6, [r4, #12] │ │ │ │ │ + beq.n 10c │ │ │ │ │ str r0, [r4, #12] │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - b.n 13a │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + b.n 160 │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ mov r0, r4 │ │ │ │ │ blx r3 │ │ │ │ │ cmp r0, #32 │ │ │ │ │ - bls.n 100 │ │ │ │ │ + bls.n 122 │ │ │ │ │ cmp r5, #32 │ │ │ │ │ str r0, [r4, #12] │ │ │ │ │ - bhi.n d6 │ │ │ │ │ + bhi.n fc │ │ │ │ │ ldrb.w r5, [r9], #1 │ │ │ │ │ cmp r5, #0 │ │ │ │ │ - bne.n ec │ │ │ │ │ - movs r0, #1 │ │ │ │ │ + bne.n 112 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ add sp, #8 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ - movs r2, #0 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {sl, pc} │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ ldrb.w r3, [r9], #1 │ │ │ │ │ cmp r3, #100 @ 0x64 │ │ │ │ │ - beq.n 176 │ │ │ │ │ - bhi.n 16c │ │ │ │ │ + beq.n 1ae │ │ │ │ │ + bhi.n 1a4 │ │ │ │ │ cmp r3, #42 @ 0x2a │ │ │ │ │ - beq.n 1ba │ │ │ │ │ + beq.n 1f4 │ │ │ │ │ cmp r3, #77 @ 0x4d │ │ │ │ │ - bne.n e6 │ │ │ │ │ + bne.n 10c │ │ │ │ │ ldr.w r5, [r7], #4 │ │ │ │ │ add r2, sp, #4 │ │ │ │ │ - movs r1, #16 │ │ │ │ │ + mov.w r1, #16 │ │ │ │ │ mov r0, r4 │ │ │ │ │ bl 0 │ │ │ │ │ str r0, [r5, #0] │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bne.n e6 │ │ │ │ │ - b.n 11c │ │ │ │ │ + bne.n 10c │ │ │ │ │ + b.n 13e │ │ │ │ │ cmp r3, #115 @ 0x73 │ │ │ │ │ - beq.n 180 │ │ │ │ │ + beq.n 1ba │ │ │ │ │ cmp r3, #120 @ 0x78 │ │ │ │ │ - beq.n 154 │ │ │ │ │ - b.n e6 │ │ │ │ │ + beq.n 18a │ │ │ │ │ + b.n 10c │ │ │ │ │ ldr.w r5, [r7], #4 │ │ │ │ │ add r2, sp, #4 │ │ │ │ │ - movs r1, #10 │ │ │ │ │ - b.n 15c │ │ │ │ │ + mov.w r1, #10 │ │ │ │ │ + b.n 194 │ │ │ │ │ ldr.w r5, [r7], #4 │ │ │ │ │ add.w sl, r5, r2 │ │ │ │ │ - b.n 196 │ │ │ │ │ + b.n 1d0 │ │ │ │ │ cmp r0, #40 @ 0x28 │ │ │ │ │ - beq.n 1b2 │ │ │ │ │ + beq.n 1ec │ │ │ │ │ cmp r5, sl │ │ │ │ │ - bcs.n 1b2 │ │ │ │ │ + bcs.n 1ec │ │ │ │ │ strb.w r0, [r5], #1 │ │ │ │ │ ldr r0, [r4, #12] │ │ │ │ │ adds r3, r0, #1 │ │ │ │ │ it ne │ │ │ │ │ strne r6, [r4, #12] │ │ │ │ │ - bne.n 1aa │ │ │ │ │ + bne.n 1e4 │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ mov r0, r4 │ │ │ │ │ blx r3 │ │ │ │ │ adds r1, r0, #1 │ │ │ │ │ - beq.n 1b2 │ │ │ │ │ + beq.n 1ec │ │ │ │ │ cmp r0, #41 @ 0x29 │ │ │ │ │ it ne │ │ │ │ │ cmpne r0, #32 │ │ │ │ │ - bhi.n 18a │ │ │ │ │ + bhi.n 1c4 │ │ │ │ │ strb.w r8, [r5] │ │ │ │ │ str r0, [r4, #12] │ │ │ │ │ - b.n e6 │ │ │ │ │ + b.n 10c │ │ │ │ │ ldr.w r2, [r7], #4 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - bgt.n 142 │ │ │ │ │ - b.n 11c │ │ │ │ │ + bgt.n 178 │ │ │ │ │ + b.n 13e │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -000001c4 : │ │ │ │ │ +00000200 : │ │ │ │ │ scan(): │ │ │ │ │ push {r1, r2, r3} │ │ │ │ │ - push {lr} │ │ │ │ │ + str.w lr, [sp, #-4]! │ │ │ │ │ sub sp, #8 │ │ │ │ │ add r2, sp, #12 │ │ │ │ │ ldr.w r1, [r2], #4 │ │ │ │ │ str r2, [sp, #4] │ │ │ │ │ - bl b4 │ │ │ │ │ + bl cc │ │ │ │ │ add sp, #8 │ │ │ │ │ ldr.w lr, [sp], #4 │ │ │ │ │ add sp, #12 │ │ │ │ │ bx lr │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -000001e0 : │ │ │ │ │ +00000220 : │ │ │ │ │ fftw_mkscanner(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ - ldr r2, [pc, #20] @ (200 ) │ │ │ │ │ + ldr r2, [pc, #20] @ (240 ) │ │ │ │ │ + str r4, [r0, #8] │ │ │ │ │ add r2, pc │ │ │ │ │ str r2, [r0, #0] │ │ │ │ │ - ldr r2, [pc, #20] @ (204 ) │ │ │ │ │ + ldr r2, [pc, #16] @ (244 ) │ │ │ │ │ add r2, pc │ │ │ │ │ - strd r2, r4, [r0, #4] │ │ │ │ │ + str r2, [r0, #4] │ │ │ │ │ mov.w r2, #4294967295 @ 0xffffffff │ │ │ │ │ str r2, [r0, #12] │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000012 │ │ │ │ │ + .word 0x0000000e │ │ │ │ │ R_ARM_REL32 scan │ │ │ │ │ - .word 0x00000010 │ │ │ │ │ + .word 0x0000000c │ │ │ │ │ R_ARM_REL32 vscan │ │ │ │ │ │ │ │ │ │ -00000208 : │ │ │ │ │ +00000248 : │ │ │ │ │ fftw_scanner_destroy(): │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_ifree │ │ │ ├── solver.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 496 (bytes into file) │ │ │ │ │ + Start of section headers: 512 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 10 │ │ │ │ │ Section header string table index: 9 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ -There are 10 section headers, starting at offset 0x1f0: │ │ │ │ │ +There are 10 section headers, starting at offset 0x200: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000040 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000190 000010 08 I 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000074 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000074 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .note.GNU-stack PROGBITS 00000000 000074 000000 00 0 0 1 │ │ │ │ │ - [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000074 000033 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 0000a8 000080 10 8 2 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 000128 000068 00 0 0 1 │ │ │ │ │ - [ 9] .shstrtab STRTAB 00000000 0001a0 000050 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000050 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0001a0 000010 08 I 7 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000084 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000084 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .note.GNU-stack PROGBITS 00000000 000084 000000 00 0 0 1 │ │ │ │ │ + [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000084 000033 00 0 0 1 │ │ │ │ │ + [ 7] .symtab SYMTAB 00000000 0000b8 000080 10 8 2 4 │ │ │ │ │ + [ 8] .strtab STRTAB 00000000 000138 000068 00 0 0 1 │ │ │ │ │ + [ 9] .shstrtab STRTAB 00000000 0001b0 000050 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,11 +1,11 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 8 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 16 FUNC GLOBAL DEFAULT 1 fftw_mksolver │ │ │ │ │ + 2: 00000001 20 FUNC GLOBAL DEFAULT 1 fftw_mksolver │ │ │ │ │ 3: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_malloc_plain │ │ │ │ │ - 4: 00000011 8 FUNC GLOBAL DEFAULT 1 fftw_solver_use │ │ │ │ │ - 5: 00000019 32 FUNC GLOBAL DEFAULT 1 fftw_solver_destroy │ │ │ │ │ + 4: 00000015 10 FUNC GLOBAL DEFAULT 1 fftw_solver_use │ │ │ │ │ + 5: 00000021 38 FUNC GLOBAL DEFAULT 1 fftw_solver_destroy │ │ │ │ │ 6: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ifree │ │ │ │ │ - 7: 00000039 6 FUNC GLOBAL DEFAULT 1 fftw_solver_register │ │ │ │ │ + 7: 00000049 6 FUNC GLOBAL DEFAULT 1 fftw_solver_register │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,5 +1,5 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x190 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x1a0 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 0000030a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -00000032 0000061e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ │ +00000006 0000030a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +00000040 0000061e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,47 +1,49 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_mksolver(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ - movs r2, #0 │ │ │ │ │ - str r4, [r0, #0] │ │ │ │ │ - str r2, [r0, #4] │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ + strd r4, r2, [r0] │ │ │ │ │ pop {r4, pc} │ │ │ │ │ │ │ │ │ │ -00000010 : │ │ │ │ │ +00000014 : │ │ │ │ │ fftw_solver_use(): │ │ │ │ │ ldr r3, [r0, #4] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str r3, [r0, #4] │ │ │ │ │ bx lr │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000018 : │ │ │ │ │ +00000020 : │ │ │ │ │ fftw_solver_destroy(): │ │ │ │ │ ldr r3, [r0, #4] │ │ │ │ │ - subs r3, #1 │ │ │ │ │ + add.w r3, r3, #4294967295 @ 0xffffffff │ │ │ │ │ str r3, [r0, #4] │ │ │ │ │ - cbnz r3, 36 │ │ │ │ │ + cbnz r3, 44 │ │ │ │ │ ldr r3, [r0, #0] │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldr r3, [r3, #8] │ │ │ │ │ - cbz r3, 2c │ │ │ │ │ + cbz r3, 38 │ │ │ │ │ blx r3 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_ifree │ │ │ │ │ bx lr │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000038 : │ │ │ │ │ +00000048 : │ │ │ │ │ fftw_solver_register(): │ │ │ │ │ ldr r3, [r0, #0] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ bx r3 │ │ │ │ │ nop │ │ │ ├── solvtab.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 296 (bytes into file) │ │ │ │ │ + Start of section headers: 316 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 9 │ │ │ │ │ Section header string table index: 8 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,18 +1,18 @@ │ │ │ │ │ -There are 9 section headers, starting at offset 0x128: │ │ │ │ │ +There are 9 section headers, starting at offset 0x13c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00002c 00 AX 0 0 4 │ │ │ │ │ - [ 2] .data PROGBITS 00000000 000060 000000 00 WA 0 0 1 │ │ │ │ │ - [ 3] .bss NOBITS 00000000 000060 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .note.GNU-stack PROGBITS 00000000 000060 000000 00 0 0 1 │ │ │ │ │ - [ 5] .ARM.attributes ARM_ATTRIBUTES 00000000 000060 000033 00 0 0 1 │ │ │ │ │ - [ 6] .symtab SYMTAB 00000000 000094 000030 10 7 2 4 │ │ │ │ │ - [ 7] .strtab STRTAB 00000000 0000c4 000016 00 0 0 1 │ │ │ │ │ - [ 8] .shstrtab STRTAB 00000000 0000da 00004c 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000040 00 AX 0 0 4 │ │ │ │ │ + [ 2] .data PROGBITS 00000000 000074 000000 00 WA 0 0 1 │ │ │ │ │ + [ 3] .bss NOBITS 00000000 000074 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .note.GNU-stack PROGBITS 00000000 000074 000000 00 0 0 1 │ │ │ │ │ + [ 5] .ARM.attributes ARM_ATTRIBUTES 00000000 000074 000033 00 0 0 1 │ │ │ │ │ + [ 6] .symtab SYMTAB 00000000 0000a8 000030 10 7 2 4 │ │ │ │ │ + [ 7] .strtab STRTAB 00000000 0000d8 000016 00 0 0 1 │ │ │ │ │ + [ 8] .shstrtab STRTAB 00000000 0000ee 00004c 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,6 +1,6 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 3 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 42 FUNC GLOBAL DEFAULT 1 fftw_solvtab_exec │ │ │ │ │ + 2: 00000001 62 FUNC GLOBAL DEFAULT 1 fftw_solvtab_exec │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -2,25 +2,28 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_solvtab_exec(): │ │ │ │ │ ldr r3, [r0, #4] │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ mov r5, r1 │ │ │ │ │ - cbz r3, 24 │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ + cbz r3, 30 │ │ │ │ │ mov r4, r0 │ │ │ │ │ - movs r6, #0 │ │ │ │ │ - adds r4, #8 │ │ │ │ │ + mov.w r6, #0 │ │ │ │ │ + add.w r4, r4, #8 │ │ │ │ │ + mov r0, r5 │ │ │ │ │ + add.w r4, r4, #8 │ │ │ │ │ strd r3, r6, [r5, #36] @ 0x24 │ │ │ │ │ - adds r4, #8 │ │ │ │ │ ldr.w r3, [r4, #-16] │ │ │ │ │ - mov r0, r5 │ │ │ │ │ blx r3 │ │ │ │ │ ldr.w r3, [r4, #-4] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bne.n e │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + bne.n 18 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ str r3, [r5, #36] @ 0x24 │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ nop │ │ │ ├── tensor.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1244 (bytes into file) │ │ │ │ │ + Start of section headers: 1344 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 11 │ │ │ │ │ Section header string table index: 10 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,20 +1,20 @@ │ │ │ │ │ -There are 11 section headers, starting at offset 0x4dc: │ │ │ │ │ +There are 11 section headers, starting at offset 0x540: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000188 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00041c 000060 08 I 8 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0001bc 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0001bc 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0001bc 00002c 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .note.GNU-stack PROGBITS 00000000 0001e8 000000 00 0 0 1 │ │ │ │ │ - [ 7] .ARM.attributes ARM_ATTRIBUTES 00000000 0001e8 000033 00 0 0 1 │ │ │ │ │ - [ 8] .symtab SYMTAB 00000000 00021c 000140 10 9 10 4 │ │ │ │ │ - [ 9] .strtab STRTAB 00000000 00035c 0000c0 00 0 0 1 │ │ │ │ │ - [10] .shstrtab STRTAB 00000000 00047c 00005f 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0001e4 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000478 000068 08 I 8 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000218 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000218 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000218 00002c 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .note.GNU-stack PROGBITS 00000000 000244 000000 00 0 0 1 │ │ │ │ │ + [ 7] .ARM.attributes ARM_ATTRIBUTES 00000000 000244 000033 00 0 0 1 │ │ │ │ │ + [ 8] .symtab SYMTAB 00000000 000278 000140 10 9 10 4 │ │ │ │ │ + [ 9] .strtab STRTAB 00000000 0003b8 0000c0 00 0 0 1 │ │ │ │ │ + [10] .shstrtab STRTAB 00000000 0004e0 00005f 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -6,18 +6,18 @@ │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 3: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ 4: 00000004 0 NOTYPE LOCAL DEFAULT 5 .LC1 │ │ │ │ │ 5: 00000008 0 NOTYPE LOCAL DEFAULT 5 .LC2 │ │ │ │ │ 6: 0000000c 0 NOTYPE LOCAL DEFAULT 5 .LC3 │ │ │ │ │ 7: 0000001c 0 NOTYPE LOCAL DEFAULT 5 .LC4 │ │ │ │ │ 8: 00000020 0 NOTYPE LOCAL DEFAULT 5 .LC5 │ │ │ │ │ - 9: 00000170 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 10: 00000001 40 FUNC GLOBAL DEFAULT 1 fftw_mktensor │ │ │ │ │ + 9: 000001cc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 10: 00000001 58 FUNC GLOBAL DEFAULT 1 fftw_mktensor │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_malloc_plain │ │ │ │ │ - 12: 00000029 4 FUNC GLOBAL DEFAULT 1 fftw_tensor_destroy │ │ │ │ │ + 12: 0000003d 4 FUNC GLOBAL DEFAULT 1 fftw_tensor_destroy │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ifree │ │ │ │ │ - 14: 0000002d 50 FUNC GLOBAL DEFAULT 1 fftw_tensor_sz │ │ │ │ │ - 15: 00000061 68 FUNC GLOBAL DEFAULT 1 fftw_tensor_md5 │ │ │ │ │ + 14: 00000041 62 FUNC GLOBAL DEFAULT 1 fftw_tensor_sz │ │ │ │ │ + 15: 00000081 94 FUNC GLOBAL DEFAULT 1 fftw_tensor_md5 │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_md5int │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_md5INT │ │ │ │ │ - 18: 000000a5 46 FUNC GLOBAL DEFAULT 1 fftw_tensor_tornk1 │ │ │ │ │ - 19: 000000d5 180 FUNC GLOBAL DEFAULT 1 fftw_tensor_print │ │ │ │ │ + 18: 000000e1 56 FUNC GLOBAL DEFAULT 1 fftw_tensor_tornk1 │ │ │ │ │ + 19: 00000119 204 FUNC GLOBAL DEFAULT 1 fftw_tensor_print │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,15 +1,16 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x41c contains 12 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x478 contains 13 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000020 00000b0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -00000068 0000100a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ -00000084 0000110a R_ARM_THM_CALL 00000000 fftw_md5INT │ │ │ │ │ -0000008e 0000110a R_ARM_THM_CALL 00000000 fftw_md5INT │ │ │ │ │ -00000098 0000110a R_ARM_THM_CALL 00000000 fftw_md5INT │ │ │ │ │ -00000170 00000303 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -00000174 00000603 R_ARM_REL32 0000000c .LC3 │ │ │ │ │ -00000178 00000503 R_ARM_REL32 00000008 .LC2 │ │ │ │ │ -0000017c 00000703 R_ARM_REL32 0000001c .LC4 │ │ │ │ │ -00000180 00000403 R_ARM_REL32 00000004 .LC1 │ │ │ │ │ -00000184 00000803 R_ARM_REL32 00000020 .LC5 │ │ │ │ │ -00000028 00000d1e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ │ +00000026 00000b0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +00000032 00000b0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +00000092 0000100a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ +000000b6 0000110a R_ARM_THM_CALL 00000000 fftw_md5INT │ │ │ │ │ +000000be 0000110a R_ARM_THM_CALL 00000000 fftw_md5INT │ │ │ │ │ +000000c8 0000110a R_ARM_THM_CALL 00000000 fftw_md5INT │ │ │ │ │ +000001cc 00000303 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +000001d0 00000603 R_ARM_REL32 0000000c .LC3 │ │ │ │ │ +000001d4 00000503 R_ARM_REL32 00000008 .LC2 │ │ │ │ │ +000001d8 00000703 R_ARM_REL32 0000001c .LC4 │ │ │ │ │ +000001dc 00000403 R_ARM_REL32 00000004 .LC1 │ │ │ │ │ +000001e0 00000803 R_ARM_REL32 00000020 .LC5 │ │ │ │ │ +0000003c 00000d1e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,193 +1,205 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_mktensor(): │ │ │ │ │ - subs r2, r0, #2 │ │ │ │ │ + sub.w r2, r0, #2 │ │ │ │ │ movw r3, #65532 @ 0xfffc │ │ │ │ │ movt r3, #32767 @ 0x7fff │ │ │ │ │ - push {r4, lr} │ │ │ │ │ - cmp r2, r3 │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - ittet ls │ │ │ │ │ - movls r3, #12 │ │ │ │ │ - addls.w r0, r0, #4294967295 @ 0xffffffff │ │ │ │ │ - movhi r0, #16 │ │ │ │ │ - mulls r0, r3 │ │ │ │ │ - it ls │ │ │ │ │ - addls r0, #16 │ │ │ │ │ + cmp r2, r3 │ │ │ │ │ + bhi.n 2e │ │ │ │ │ + add.w r0, r0, #4294967295 @ 0xffffffff │ │ │ │ │ + add.w r0, r0, r0, lsl #1 │ │ │ │ │ + mov.w r0, r0, lsl #2 │ │ │ │ │ + add.w r0, r0, #16 │ │ │ │ │ + bl 0 │ │ │ │ │ + R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ + str r4, [r0, #0] │ │ │ │ │ + pop {r4, pc} │ │ │ │ │ + mov.w r0, #16 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ str r4, [r0, #0] │ │ │ │ │ pop {r4, pc} │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000028 : │ │ │ │ │ +0000003c : │ │ │ │ │ fftw_tensor_destroy(): │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_ifree │ │ │ │ │ │ │ │ │ │ -0000002c : │ │ │ │ │ +00000040 : │ │ │ │ │ fftw_tensor_sz(): │ │ │ │ │ ldr r3, [r0, #0] │ │ │ │ │ mvn.w r2, #2147483648 @ 0x80000000 │ │ │ │ │ mov r1, r0 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - beq.n 56 │ │ │ │ │ + beq.n 72 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.n 5a │ │ │ │ │ + ble.n 78 │ │ │ │ │ add.w ip, r3, r3, lsl #1 │ │ │ │ │ - movs r0, #1 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - adds r1, #4 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + add.w r1, r1, #4 │ │ │ │ │ ldr.w r2, [r1, r3, lsl #2] │ │ │ │ │ - adds r3, #3 │ │ │ │ │ + add.w r3, r3, #3 │ │ │ │ │ cmp r3, ip │ │ │ │ │ mul.w r0, r2, r0 │ │ │ │ │ - bne.n 46 │ │ │ │ │ + bne.n 60 │ │ │ │ │ bx lr │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bx lr │ │ │ │ │ - movs r0, #1 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ bx lr │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000060 : │ │ │ │ │ +00000080 : │ │ │ │ │ fftw_tensor_md5(): │ │ │ │ │ - push {r3, r4, r5, r6, r7, lr} │ │ │ │ │ + strd r3, r4, [sp, #-24]! │ │ │ │ │ + strd r5, r6, [sp, #8] │ │ │ │ │ + mov r5, r0 │ │ │ │ │ + strd r7, lr, [sp, #16] │ │ │ │ │ mov r7, r1 │ │ │ │ │ ldr r1, [r1, #0] │ │ │ │ │ - mov r5, r0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5int │ │ │ │ │ ldr r3, [r7, #0] │ │ │ │ │ movw r2, #65533 @ 0xfffd │ │ │ │ │ movt r2, #32767 @ 0x7fff │ │ │ │ │ - subs r3, #1 │ │ │ │ │ + add.w r3, r3, #4294967295 @ 0xffffffff │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bhi.n a2 │ │ │ │ │ + bhi.n d2 │ │ │ │ │ mov r4, r7 │ │ │ │ │ - movs r6, #0 │ │ │ │ │ + mov.w r6, #0 │ │ │ │ │ ldr r1, [r4, #4] │ │ │ │ │ mov r0, r5 │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5INT │ │ │ │ │ ldr r1, [r4, #8] │ │ │ │ │ mov r0, r5 │ │ │ │ │ - adds r6, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5INT │ │ │ │ │ ldr.w r1, [r4, #12]! │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5INT │ │ │ │ │ ldr r3, [r7, #0] │ │ │ │ │ cmp r3, r6 │ │ │ │ │ - bgt.n 80 │ │ │ │ │ - pop {r3, r4, r5, r6, r7, pc} │ │ │ │ │ + bgt.n ae │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + ldrd r5, r6, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + pop {r7, pc} │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -000000a4 : │ │ │ │ │ +000000e0 : │ │ │ │ │ fftw_tensor_tornk1(): │ │ │ │ │ - push {r4} │ │ │ │ │ + str.w r4, [sp, #-4]! │ │ │ │ │ ldr r4, [r0, #0] │ │ │ │ │ cmp r4, #1 │ │ │ │ │ - beq.n be │ │ │ │ │ - movs r0, #1 │ │ │ │ │ + beq.n 102 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ ldr.w r4, [sp], #4 │ │ │ │ │ str r0, [r1, #0] │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - movs r0, #1 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ str r1, [r3, #0] │ │ │ │ │ str r1, [r2, #0] │ │ │ │ │ bx lr │ │ │ │ │ ldr r4, [r0, #4] │ │ │ │ │ str r4, [r1, #0] │ │ │ │ │ - ldr.w r4, [sp], #4 │ │ │ │ │ ldr r1, [r0, #8] │ │ │ │ │ + ldr.w r4, [sp], #4 │ │ │ │ │ str r1, [r2, #0] │ │ │ │ │ ldr r2, [r0, #12] │ │ │ │ │ - movs r0, #1 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ str r2, [r3, #0] │ │ │ │ │ bx lr │ │ │ │ │ - nop │ │ │ │ │ │ │ │ │ │ -000000d4 : │ │ │ │ │ +00000118 : │ │ │ │ │ fftw_tensor_print(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ - mov r5, r1 │ │ │ │ │ ldr r3, [r1, #0] │ │ │ │ │ - ldr r1, [r0, #0] │ │ │ │ │ mvn.w r2, #2147483648 @ 0x80000000 │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ + mov r5, r1 │ │ │ │ │ + ldr r1, [r0, #0] │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ sub sp, #8 │ │ │ │ │ cmp r1, r2 │ │ │ │ │ - beq.n 160 │ │ │ │ │ + beq.n 1c6 │ │ │ │ │ + ldr r1, [pc, #144] @ (1cc ) │ │ │ │ │ mov sl, r0 │ │ │ │ │ - ldr r1, [pc, #132] @ (170 ) │ │ │ │ │ mov r0, r5 │ │ │ │ │ add r1, pc │ │ │ │ │ blx r3 │ │ │ │ │ ldr.w r3, [sl] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.n 150 │ │ │ │ │ + ble.n 1a8 │ │ │ │ │ ldr.w r3, [sl, #12] │ │ │ │ │ mov r0, r5 │ │ │ │ │ + ldr.w r8, [pc, #124] @ 1d0 │ │ │ │ │ + ldr r2, [pc, #124] @ (1d4 ) │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ - ldr.w r8, [pc, #112] @ 174 │ │ │ │ │ ldr.w r3, [sl, #8] │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ add r8, pc │ │ │ │ │ - ldr r2, [pc, #104] @ (178 ) │ │ │ │ │ mov r1, r8 │ │ │ │ │ + add r2, pc │ │ │ │ │ + str r3, [sp, #0] │ │ │ │ │ ldr r4, [r5, #0] │ │ │ │ │ ldr.w r3, [sl, #4] │ │ │ │ │ - add r2, pc │ │ │ │ │ blx r4 │ │ │ │ │ mov r4, sl │ │ │ │ │ ldr.w r3, [r4], #12 │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - ble.n 150 │ │ │ │ │ - ldr.w r9, [pc, #84] @ 17c │ │ │ │ │ - movs r6, #1 │ │ │ │ │ + ble.n 1a8 │ │ │ │ │ + ldr.w r9, [pc, #96] @ 1d8 │ │ │ │ │ + mov.w r6, #1 │ │ │ │ │ add r9, pc │ │ │ │ │ ldr r3, [r4, #12] │ │ │ │ │ mov r2, r9 │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ mov r1, r8 │ │ │ │ │ mov r0, r5 │ │ │ │ │ - adds r6, #1 │ │ │ │ │ - ldr r3, [r4, #8] │ │ │ │ │ - adds r4, #12 │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ + add.w r4, r4, #12 │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ + ldr.w r3, [r4, #-4] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldr.w r3, [r4, #-8] │ │ │ │ │ ldr r7, [r5, #0] │ │ │ │ │ blx r7 │ │ │ │ │ ldr.w r3, [sl] │ │ │ │ │ cmp r3, r6 │ │ │ │ │ - bgt.n 12e │ │ │ │ │ - ldr r1, [pc, #44] @ (180 ) │ │ │ │ │ - mov r0, r5 │ │ │ │ │ + bgt.n 180 │ │ │ │ │ + ldr r1, [pc, #48] @ (1dc ) │ │ │ │ │ ldr r3, [r5, #0] │ │ │ │ │ add r1, pc │ │ │ │ │ - add sp, #8 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ - bx r3 │ │ │ │ │ - ldr r1, [pc, #32] @ (184 ) │ │ │ │ │ mov r0, r5 │ │ │ │ │ - add r1, pc │ │ │ │ │ add sp, #8 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, lr, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ bx r3 │ │ │ │ │ - nop │ │ │ │ │ - .word 0x0000007e │ │ │ │ │ + ldr r1, [pc, #24] @ (1e0 ) │ │ │ │ │ + add r1, pc │ │ │ │ │ + b.n 1ae │ │ │ │ │ + .word 0x0000008a │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ - .word 0x00000064 │ │ │ │ │ + .word 0x00000070 │ │ │ │ │ R_ARM_REL32 .LC3 │ │ │ │ │ - .word 0x0000005c │ │ │ │ │ + .word 0x00000070 │ │ │ │ │ R_ARM_REL32 .LC2 │ │ │ │ │ - .word 0x0000004c │ │ │ │ │ + .word 0x00000056 │ │ │ │ │ R_ARM_REL32 .LC4 │ │ │ │ │ - .word 0x00000026 │ │ │ │ │ + .word 0x0000002c │ │ │ │ │ R_ARM_REL32 .LC1 │ │ │ │ │ - .word 0x0000001c │ │ │ │ │ + .word 0x00000014 │ │ │ │ │ R_ARM_REL32 .LC5 │ │ │ ├── tensor1.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 364 (bytes into file) │ │ │ │ │ + Start of section headers: 376 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 10 │ │ │ │ │ Section header string table index: 9 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ -There are 10 section headers, starting at offset 0x16c: │ │ │ │ │ +There are 10 section headers, starting at offset 0x178: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000020 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00010c 000010 08 I 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000054 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000054 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .note.GNU-stack PROGBITS 00000000 000054 000000 00 0 0 1 │ │ │ │ │ - [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000054 000033 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 000088 000050 10 8 2 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 0000d8 000034 00 0 0 1 │ │ │ │ │ - [ 9] .shstrtab STRTAB 00000000 00011c 000050 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00002c 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000118 000010 08 I 7 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000060 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000060 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .note.GNU-stack PROGBITS 00000000 000060 000000 00 0 0 1 │ │ │ │ │ + [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000060 000033 00 0 0 1 │ │ │ │ │ + [ 7] .symtab SYMTAB 00000000 000094 000050 10 8 2 4 │ │ │ │ │ + [ 8] .strtab STRTAB 00000000 0000e4 000034 00 0 0 1 │ │ │ │ │ + [ 9] .shstrtab STRTAB 00000000 000128 000050 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,8 +1,8 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 5 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 6 FUNC GLOBAL DEFAULT 1 fftw_mktensor_0d │ │ │ │ │ + 2: 00000001 8 FUNC GLOBAL DEFAULT 1 fftw_mktensor_0d │ │ │ │ │ 3: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mktensor │ │ │ │ │ - 4: 00000009 22 FUNC GLOBAL DEFAULT 1 fftw_mktensor_1d │ │ │ │ │ + 4: 00000009 36 FUNC GLOBAL DEFAULT 1 fftw_mktensor_1d │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,5 +1,5 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x10c contains 2 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x118 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000012 0000030a R_ARM_THM_CALL 00000000 fftw_mktensor │ │ │ │ │ -00000002 0000031e R_ARM_THM_JUMP24 00000000 fftw_mktensor │ │ │ │ │ +0000001a 0000030a R_ARM_THM_CALL 00000000 fftw_mktensor │ │ │ │ │ +00000004 0000031e R_ARM_THM_JUMP24 00000000 fftw_mktensor │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,25 +1,26 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_mktensor_0d(): │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_mktensor │ │ │ │ │ - nop │ │ │ │ │ │ │ │ │ │ 00000008 : │ │ │ │ │ fftw_mktensor_1d(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ - mov r6, r0 │ │ │ │ │ - movs r0, #1 │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ mov r5, r1 │ │ │ │ │ mov r4, r2 │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ + mov r6, r0 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor │ │ │ │ │ strd r6, r5, [r0, #4] │ │ │ │ │ str r4, [r0, #12] │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ ├── tensor2.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 416 (bytes into file) │ │ │ │ │ + Start of section headers: 456 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 10 │ │ │ │ │ Section header string table index: 9 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ -There are 10 section headers, starting at offset 0x1a0: │ │ │ │ │ +There are 10 section headers, starting at offset 0x1c8: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000054 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000140 000010 08 I 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000088 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000088 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .note.GNU-stack PROGBITS 00000000 000088 000000 00 0 0 1 │ │ │ │ │ - [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000088 000033 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 0000bc 000050 10 8 2 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 00010c 000034 00 0 0 1 │ │ │ │ │ - [ 9] .shstrtab STRTAB 00000000 000150 000050 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00007c 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000168 000010 08 I 7 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0000b0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0000b0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .note.GNU-stack PROGBITS 00000000 0000b0 000000 00 0 0 1 │ │ │ │ │ + [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 0000b0 000033 00 0 0 1 │ │ │ │ │ + [ 7] .symtab SYMTAB 00000000 0000e4 000050 10 8 2 4 │ │ │ │ │ + [ 8] .strtab STRTAB 00000000 000134 000034 00 0 0 1 │ │ │ │ │ + [ 9] .shstrtab STRTAB 00000000 000178 000050 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,8 +1,8 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 5 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 34 FUNC GLOBAL DEFAULT 1 fftw_mktensor_2d │ │ │ │ │ + 2: 00000001 56 FUNC GLOBAL DEFAULT 1 fftw_mktensor_2d │ │ │ │ │ 3: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mktensor │ │ │ │ │ - 4: 00000025 46 FUNC GLOBAL DEFAULT 1 fftw_mktensor_3d │ │ │ │ │ + 4: 00000039 68 FUNC GLOBAL DEFAULT 1 fftw_mktensor_3d │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,5 +1,5 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x140 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x168 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000000c 0000030a R_ARM_THM_CALL 00000000 fftw_mktensor │ │ │ │ │ -00000030 0000030a R_ARM_THM_CALL 00000000 fftw_mktensor │ │ │ │ │ +00000018 0000030a R_ARM_THM_CALL 00000000 fftw_mktensor │ │ │ │ │ +00000050 0000030a R_ARM_THM_CALL 00000000 fftw_mktensor │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,48 +1,56 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_mktensor_2d(): │ │ │ │ │ - push {r3, r4, r5, r6, r7, lr} │ │ │ │ │ - mov r7, r0 │ │ │ │ │ - movs r0, #2 │ │ │ │ │ + strd r3, r4, [sp, #-24]! │ │ │ │ │ mov r4, r3 │ │ │ │ │ + strd r5, r6, [sp, #8] │ │ │ │ │ mov r6, r1 │ │ │ │ │ mov r5, r2 │ │ │ │ │ + strd r7, lr, [sp, #16] │ │ │ │ │ + mov r7, r0 │ │ │ │ │ + mov.w r0, #2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor │ │ │ │ │ ldr r3, [sp, #24] │ │ │ │ │ - str r3, [r0, #20] │ │ │ │ │ - ldr r3, [sp, #28] │ │ │ │ │ strd r7, r6, [r0, #4] │ │ │ │ │ strd r5, r4, [r0, #12] │ │ │ │ │ + ldrd r5, r6, [sp, #8] │ │ │ │ │ + str r3, [r0, #20] │ │ │ │ │ + ldr r3, [sp, #28] │ │ │ │ │ str r3, [r0, #24] │ │ │ │ │ - pop {r3, r4, r5, r6, r7, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + pop {r7, pc} │ │ │ │ │ │ │ │ │ │ -00000024 : │ │ │ │ │ +00000038 : │ │ │ │ │ fftw_mktensor_3d(): │ │ │ │ │ - push {r3, r4, r5, r6, r7, lr} │ │ │ │ │ - mov r7, r0 │ │ │ │ │ - movs r0, #3 │ │ │ │ │ + strd r3, r4, [sp, #-24]! │ │ │ │ │ mov r4, r3 │ │ │ │ │ + strd r5, r6, [sp, #8] │ │ │ │ │ mov r6, r1 │ │ │ │ │ mov r5, r2 │ │ │ │ │ + strd r7, lr, [sp, #16] │ │ │ │ │ + mov r7, r0 │ │ │ │ │ + mov.w r0, #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor │ │ │ │ │ ldr r3, [sp, #24] │ │ │ │ │ + strd r7, r6, [r0, #4] │ │ │ │ │ + strd r5, r4, [r0, #12] │ │ │ │ │ + ldrd r5, r6, [sp, #8] │ │ │ │ │ str r3, [r0, #20] │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ str r3, [r0, #24] │ │ │ │ │ ldr r3, [sp, #32] │ │ │ │ │ str r3, [r0, #28] │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ str r3, [r0, #32] │ │ │ │ │ ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ - strd r7, r6, [r0, #4] │ │ │ │ │ - strd r5, r4, [r0, #12] │ │ │ │ │ str r3, [r0, #36] @ 0x24 │ │ │ │ │ - pop {r3, r4, r5, r6, r7, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + pop {r7, pc} │ │ │ ├── tensor3.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 464 (bytes into file) │ │ │ │ │ + Start of section headers: 504 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 10 │ │ │ │ │ Section header string table index: 9 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ -There are 10 section headers, starting at offset 0x1d0: │ │ │ │ │ +There are 10 section headers, starting at offset 0x1f8: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000084 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000170 000010 08 I 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0000b8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0000b8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .note.GNU-stack PROGBITS 00000000 0000b8 000000 00 0 0 1 │ │ │ │ │ - [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 0000b8 000033 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 0000ec 000050 10 8 2 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 00013c 000034 00 0 0 1 │ │ │ │ │ - [ 9] .shstrtab STRTAB 00000000 000180 000050 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0000ac 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000198 000010 08 I 7 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0000e0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0000e0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .note.GNU-stack PROGBITS 00000000 0000e0 000000 00 0 0 1 │ │ │ │ │ + [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 0000e0 000033 00 0 0 1 │ │ │ │ │ + [ 7] .symtab SYMTAB 00000000 000114 000050 10 8 2 4 │ │ │ │ │ + [ 8] .strtab STRTAB 00000000 000164 000034 00 0 0 1 │ │ │ │ │ + [ 9] .shstrtab STRTAB 00000000 0001a8 000050 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,8 +1,8 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 5 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 58 FUNC GLOBAL DEFAULT 1 fftw_mktensor_4d │ │ │ │ │ + 2: 00000001 80 FUNC GLOBAL DEFAULT 1 fftw_mktensor_4d │ │ │ │ │ 3: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mktensor │ │ │ │ │ - 4: 0000003d 70 FUNC GLOBAL DEFAULT 1 fftw_mktensor_5d │ │ │ │ │ + 4: 00000051 92 FUNC GLOBAL DEFAULT 1 fftw_mktensor_5d │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,5 +1,5 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x170 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x198 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000000c 0000030a R_ARM_THM_CALL 00000000 fftw_mktensor │ │ │ │ │ -00000048 0000030a R_ARM_THM_CALL 00000000 fftw_mktensor │ │ │ │ │ +00000018 0000030a R_ARM_THM_CALL 00000000 fftw_mktensor │ │ │ │ │ +00000068 0000030a R_ARM_THM_CALL 00000000 fftw_mktensor │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,54 +1,63 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_mktensor_4d(): │ │ │ │ │ - push {r3, r4, r5, r6, r7, lr} │ │ │ │ │ - mov r7, r0 │ │ │ │ │ - movs r0, #4 │ │ │ │ │ + strd r3, r4, [sp, #-24]! │ │ │ │ │ mov r4, r3 │ │ │ │ │ + strd r5, r6, [sp, #8] │ │ │ │ │ mov r6, r1 │ │ │ │ │ mov r5, r2 │ │ │ │ │ + strd r7, lr, [sp, #16] │ │ │ │ │ + mov r7, r0 │ │ │ │ │ + mov.w r0, #4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor │ │ │ │ │ ldr r3, [sp, #24] │ │ │ │ │ + strd r7, r6, [r0, #4] │ │ │ │ │ + strd r5, r4, [r0, #12] │ │ │ │ │ + ldrd r5, r6, [sp, #8] │ │ │ │ │ str r3, [r0, #20] │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ str r3, [r0, #24] │ │ │ │ │ ldr r3, [sp, #32] │ │ │ │ │ str r3, [r0, #28] │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ str r3, [r0, #32] │ │ │ │ │ ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ str r3, [r0, #36] @ 0x24 │ │ │ │ │ ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ str r3, [r0, #40] @ 0x28 │ │ │ │ │ ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ str r3, [r0, #44] @ 0x2c │ │ │ │ │ ldr r3, [sp, #52] @ 0x34 │ │ │ │ │ - strd r7, r6, [r0, #4] │ │ │ │ │ - strd r5, r4, [r0, #12] │ │ │ │ │ str r3, [r0, #48] @ 0x30 │ │ │ │ │ - pop {r3, r4, r5, r6, r7, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + pop {r7, pc} │ │ │ │ │ │ │ │ │ │ -0000003c : │ │ │ │ │ +00000050 : │ │ │ │ │ fftw_mktensor_5d(): │ │ │ │ │ - push {r3, r4, r5, r6, r7, lr} │ │ │ │ │ - mov r7, r0 │ │ │ │ │ - movs r0, #5 │ │ │ │ │ + strd r3, r4, [sp, #-24]! │ │ │ │ │ mov r4, r3 │ │ │ │ │ + strd r5, r6, [sp, #8] │ │ │ │ │ mov r6, r1 │ │ │ │ │ mov r5, r2 │ │ │ │ │ + strd r7, lr, [sp, #16] │ │ │ │ │ + mov r7, r0 │ │ │ │ │ + mov.w r0, #5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor │ │ │ │ │ ldr r3, [sp, #24] │ │ │ │ │ + strd r7, r6, [r0, #4] │ │ │ │ │ + strd r5, r4, [r0, #12] │ │ │ │ │ + ldrd r5, r6, [sp, #8] │ │ │ │ │ str r3, [r0, #20] │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ str r3, [r0, #24] │ │ │ │ │ ldr r3, [sp, #32] │ │ │ │ │ str r3, [r0, #28] │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ str r3, [r0, #32] │ │ │ │ │ @@ -61,12 +70,11 @@ │ │ │ │ │ ldr r3, [sp, #52] @ 0x34 │ │ │ │ │ str r3, [r0, #48] @ 0x30 │ │ │ │ │ ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ str r3, [r0, #52] @ 0x34 │ │ │ │ │ ldr r3, [sp, #60] @ 0x3c │ │ │ │ │ str r3, [r0, #56] @ 0x38 │ │ │ │ │ ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ - strd r7, r6, [r0, #4] │ │ │ │ │ - strd r5, r4, [r0, #12] │ │ │ │ │ str r3, [r0, #60] @ 0x3c │ │ │ │ │ - pop {r3, r4, r5, r6, r7, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + pop {r7, pc} │ │ │ ├── tensor4.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1168 (bytes into file) │ │ │ │ │ + Start of section headers: 1308 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 10 │ │ │ │ │ Section header string table index: 9 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ -There are 10 section headers, starting at offset 0x490: │ │ │ │ │ +There are 10 section headers, starting at offset 0x51c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0001c0 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0003c0 000080 08 I 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0001f4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0001f4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .note.GNU-stack PROGBITS 00000000 0001f4 000000 00 0 0 1 │ │ │ │ │ - [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 0001f4 000033 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 000228 0000c0 10 8 2 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 0002e8 0000d5 00 0 0 1 │ │ │ │ │ - [ 9] .shstrtab STRTAB 00000000 000440 000050 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000254 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000454 000078 08 I 7 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000288 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000288 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .note.GNU-stack PROGBITS 00000000 000288 000000 00 0 0 1 │ │ │ │ │ + [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000288 000033 00 0 0 1 │ │ │ │ │ + [ 7] .symtab SYMTAB 00000000 0002bc 0000c0 10 8 2 4 │ │ │ │ │ + [ 8] .strtab STRTAB 00000000 00037c 0000d5 00 0 0 1 │ │ │ │ │ + [ 9] .shstrtab STRTAB 00000000 0004cc 000050 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,15 +1,15 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 12 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 88 FUNC GLOBAL DEFAULT 1 fftw_tensor_max_index │ │ │ │ │ + 2: 00000001 114 FUNC GLOBAL DEFAULT 1 fftw_tensor_max_index │ │ │ │ │ 3: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_iabs │ │ │ │ │ 4: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_imax │ │ │ │ │ - 5: 00000059 60 FUNC GLOBAL DEFAULT 1 fftw_tensor_min_istride │ │ │ │ │ + 5: 00000075 96 FUNC GLOBAL DEFAULT 1 fftw_tensor_min_istride │ │ │ │ │ 6: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_imin │ │ │ │ │ - 7: 00000095 64 FUNC GLOBAL DEFAULT 1 fftw_tensor_min_ostride │ │ │ │ │ - 8: 000000d5 28 FUNC GLOBAL DEFAULT 1 fftw_tensor_min_stride │ │ │ │ │ - 9: 000000f1 44 FUNC GLOBAL DEFAULT 1 fftw_tensor_inplace_strides │ │ │ │ │ - 10: 0000011d 26 FUNC GLOBAL DEFAULT 1 fftw_tensor_inplace_strides2 │ │ │ │ │ - 11: 00000139 136 FUNC GLOBAL DEFAULT 1 fftw_tensor_strides_decrease │ │ │ │ │ + 7: 000000d5 86 FUNC GLOBAL DEFAULT 1 fftw_tensor_min_ostride │ │ │ │ │ + 8: 0000012d 40 FUNC GLOBAL DEFAULT 1 fftw_tensor_min_stride │ │ │ │ │ + 9: 00000155 56 FUNC GLOBAL DEFAULT 1 fftw_tensor_inplace_strides │ │ │ │ │ + 10: 0000018d 28 FUNC GLOBAL DEFAULT 1 fftw_tensor_inplace_strides2 │ │ │ │ │ + 11: 000001a9 170 FUNC GLOBAL DEFAULT 1 fftw_tensor_strides_decrease │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,19 +1,18 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x3c0 contains 16 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x454 contains 15 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000001c 0000030a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -0000002c 0000030a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -00000066 0000030a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -0000007a 0000030a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -00000084 0000060a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ -000000a2 0000030a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -000000b8 0000030a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -000000c0 0000060a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ -000000d8 0000050a R_ARM_THM_CALL 00000059 fftw_tensor_min_istride │ │ │ │ │ -000000e0 0000070a R_ARM_THM_CALL 00000095 fftw_tensor_min_ostride │ │ │ │ │ -00000120 0000090a R_ARM_THM_CALL 000000f1 fftw_tensor_inplace_strides │ │ │ │ │ -0000012a 0000090a R_ARM_THM_CALL 000000f1 fftw_tensor_inplace_strides │ │ │ │ │ -0000017e 0000090a R_ARM_THM_CALL 000000f1 fftw_tensor_inplace_strides │ │ │ │ │ -00000044 0000041e R_ARM_THM_JUMP24 00000000 fftw_imax │ │ │ │ │ -00000054 0000041e R_ARM_THM_JUMP24 00000000 fftw_imax │ │ │ │ │ -000000ec 0000061e R_ARM_THM_JUMP24 00000000 fftw_imin │ │ │ │ │ +0000002e 0000030a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +00000040 0000030a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +00000096 0000030a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +000000b2 0000030a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +000000ba 0000060a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ +000000ee 0000030a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +00000106 0000030a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +0000010e 0000060a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ +00000136 0000050a R_ARM_THM_CALL 00000075 fftw_tensor_min_istride │ │ │ │ │ +0000013e 0000070a R_ARM_THM_CALL 000000d5 fftw_tensor_min_ostride │ │ │ │ │ +00000192 0000090a R_ARM_THM_CALL 00000155 fftw_tensor_inplace_strides │ │ │ │ │ +0000019c 0000090a R_ARM_THM_CALL 00000155 fftw_tensor_inplace_strides │ │ │ │ │ +00000200 0000090a R_ARM_THM_CALL 00000155 fftw_tensor_inplace_strides │ │ │ │ │ +00000066 0000041e R_ARM_THM_JUMP24 00000000 fftw_imax │ │ │ │ │ +00000150 0000061e R_ARM_THM_JUMP24 00000000 fftw_imin │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,224 +1,249 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_tensor_max_index(): │ │ │ │ │ - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ + strd r3, r4, [sp, #-32]! │ │ │ │ │ ldr r3, [r0, #0] │ │ │ │ │ + strd r5, r6, [sp, #8] │ │ │ │ │ + strd r7, r8, [sp, #16] │ │ │ │ │ + strd r9, lr, [sp, #24] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.n 48 │ │ │ │ │ - movs r7, #0 │ │ │ │ │ + ble.n 6a │ │ │ │ │ + mov.w r7, #0 │ │ │ │ │ mov r9, r0 │ │ │ │ │ mov r4, r0 │ │ │ │ │ mov r8, r7 │ │ │ │ │ mov r6, r7 │ │ │ │ │ - ldr r3, [r4, #4] │ │ │ │ │ - adds r6, #1 │ │ │ │ │ - ldr r0, [r4, #8] │ │ │ │ │ - subs r5, r3, #1 │ │ │ │ │ + ldrd r3, r0, [r4, #4] │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ + add.w r5, r3, #4294967295 @ 0xffffffff │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ ldr r3, [r4, #4] │ │ │ │ │ mla r8, r0, r5, r8 │ │ │ │ │ - subs r5, r3, #1 │ │ │ │ │ ldr.w r0, [r4, #12]! │ │ │ │ │ + add.w r5, r3, #4294967295 @ 0xffffffff │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ ldr.w r3, [r9] │ │ │ │ │ mla r7, r0, r5, r7 │ │ │ │ │ cmp r3, r6 │ │ │ │ │ - bgt.n 14 │ │ │ │ │ + bgt.n 22 │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ mov r1, r7 │ │ │ │ │ mov r0, r8 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ + ldrd r5, r6, [sp, #8] │ │ │ │ │ + ldrd r7, r8, [sp, #16] │ │ │ │ │ + ldrd r9, lr, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_imax │ │ │ │ │ - movs r7, #0 │ │ │ │ │ + mov.w r7, #0 │ │ │ │ │ mov r8, r7 │ │ │ │ │ - mov r1, r7 │ │ │ │ │ - mov r0, r8 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ - b.w 0 │ │ │ │ │ - R_ARM_THM_JUMP24 fftw_imax │ │ │ │ │ + b.n 50 │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000058 : │ │ │ │ │ +00000074 : │ │ │ │ │ fftw_tensor_min_istride(): │ │ │ │ │ - push {r3, r4, r5, r6, r7, lr} │ │ │ │ │ + strd r3, r4, [sp, #-24]! │ │ │ │ │ ldr r4, [r0, #0] │ │ │ │ │ - cbnz r4, 62 │ │ │ │ │ - mov r0, r4 │ │ │ │ │ - pop {r3, r4, r5, r6, r7, pc} │ │ │ │ │ + strd r5, r6, [sp, #8] │ │ │ │ │ + strd r7, lr, [sp, #16] │ │ │ │ │ + cbnz r4, 92 │ │ │ │ │ + ldrd r5, r6, [sp, #8] │ │ │ │ │ + mov r0, r4 │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + pop {r7, pc} │ │ │ │ │ mov r7, r0 │ │ │ │ │ ldr r0, [r0, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ - mov r4, r0 │ │ │ │ │ ldr r3, [r7, #0] │ │ │ │ │ + mov r4, r0 │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - ble.n 5e │ │ │ │ │ + ble.n 84 │ │ │ │ │ mov r6, r7 │ │ │ │ │ - movs r5, #1 │ │ │ │ │ + mov.w r5, #1 │ │ │ │ │ ldr r0, [r6, #20] │ │ │ │ │ - adds r5, #1 │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ + add.w r6, r6, #12 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - adds r6, #12 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_imin │ │ │ │ │ ldr r3, [r7, #0] │ │ │ │ │ mov r4, r0 │ │ │ │ │ cmp r5, r3 │ │ │ │ │ - blt.n 76 │ │ │ │ │ + blt.n a8 │ │ │ │ │ + ldrd r5, r6, [sp, #8] │ │ │ │ │ mov r0, r4 │ │ │ │ │ - pop {r3, r4, r5, r6, r7, pc} │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + pop {r7, pc} │ │ │ │ │ │ │ │ │ │ -00000094 : │ │ │ │ │ +000000d4 : │ │ │ │ │ fftw_tensor_min_ostride(): │ │ │ │ │ - push {r3, r4, r5, r6, r7, lr} │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ ldr r4, [r0, #0] │ │ │ │ │ - cbnz r4, 9e │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ + cbnz r4, ea │ │ │ │ │ mov r0, r4 │ │ │ │ │ - pop {r3, r4, r5, r6, r7, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ mov r6, r0 │ │ │ │ │ ldr r0, [r0, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ - mov r4, r0 │ │ │ │ │ ldr r3, [r6, #0] │ │ │ │ │ + mov r4, r0 │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - ble.n 9a │ │ │ │ │ - movs r5, #2 │ │ │ │ │ - movs r7, #12 │ │ │ │ │ - mul.w r3, r7, r5 │ │ │ │ │ - ldr r0, [r6, r3] │ │ │ │ │ + ble.n e0 │ │ │ │ │ + mov.w r5, #2 │ │ │ │ │ + add.w r3, r5, r5, lsl #1 │ │ │ │ │ + ldr.w r0, [r6, r3, lsl #2] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_imin │ │ │ │ │ ldr r2, [r6, #0] │ │ │ │ │ + mov r3, r5 │ │ │ │ │ mov r4, r0 │ │ │ │ │ - cmp r2, r5 │ │ │ │ │ add.w r5, r5, #1 │ │ │ │ │ - bgt.n b2 │ │ │ │ │ + cmp r2, r3 │ │ │ │ │ + bgt.n fe │ │ │ │ │ mov r0, r4 │ │ │ │ │ - pop {r3, r4, r5, r6, r7, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -000000d4 : │ │ │ │ │ +0000012c : │ │ │ │ │ fftw_tensor_min_stride(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ mov r5, r0 │ │ │ │ │ - bl 58 │ │ │ │ │ + bl 74 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_min_istride │ │ │ │ │ mov r4, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ - bl 94 │ │ │ │ │ + bl d4 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_min_ostride │ │ │ │ │ + ldrd r5, lr, [sp, #8] │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, lr} │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_imin │ │ │ │ │ │ │ │ │ │ -000000f0 : │ │ │ │ │ +00000154 : │ │ │ │ │ fftw_tensor_inplace_strides(): │ │ │ │ │ - push {r4} │ │ │ │ │ + str.w r4, [sp, #-4]! │ │ │ │ │ ldr r4, [r0, #0] │ │ │ │ │ cmp r4, #0 │ │ │ │ │ - ble.n 114 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - b.n 104 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - adds r0, #12 │ │ │ │ │ + ble.n 182 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + b.n 170 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + add.w r0, r0, #12 │ │ │ │ │ cmp r3, r4 │ │ │ │ │ - beq.n 114 │ │ │ │ │ + beq.n 182 │ │ │ │ │ ldrd r1, r2, [r0, #8] │ │ │ │ │ cmp r1, r2 │ │ │ │ │ - beq.n fc │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + beq.n 164 │ │ │ │ │ ldr.w r4, [sp], #4 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bx lr │ │ │ │ │ - movs r0, #1 │ │ │ │ │ ldr.w r4, [sp], #4 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ bx lr │ │ │ │ │ │ │ │ │ │ -0000011c : │ │ │ │ │ +0000018c : │ │ │ │ │ fftw_tensor_inplace_strides2(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r1 │ │ │ │ │ - bl f0 │ │ │ │ │ + bl 154 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_inplace_strides │ │ │ │ │ - cbnz r0, 128 │ │ │ │ │ + cbnz r0, 19a │ │ │ │ │ pop {r4, pc} │ │ │ │ │ mov r0, r4 │ │ │ │ │ - bl f0 │ │ │ │ │ + bl 154 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_inplace_strides │ │ │ │ │ subs r0, #0 │ │ │ │ │ it ne │ │ │ │ │ movne r0, #1 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - nop │ │ │ │ │ │ │ │ │ │ -00000138 : │ │ │ │ │ +000001a8 : │ │ │ │ │ fftw_tensor_strides_decrease(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ mov r4, r1 │ │ │ │ │ - ldr r1, [r0, #0] │ │ │ │ │ - mov r6, r2 │ │ │ │ │ movw r3, #65533 @ 0xfffd │ │ │ │ │ movt r3, #32767 @ 0x7fff │ │ │ │ │ - subs r2, r1, #1 │ │ │ │ │ + ldr r1, [r0, #0] │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ + mov r6, r2 │ │ │ │ │ + add.w r2, r1, #4294967295 @ 0xffffffff │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bhi.n 17e │ │ │ │ │ + bhi.n 200 │ │ │ │ │ cmp r6, #1 │ │ │ │ │ mov ip, r0 │ │ │ │ │ ite eq │ │ │ │ │ moveq r5, #1 │ │ │ │ │ movne.w r5, #4294967295 @ 0xffffffff │ │ │ │ │ mov.w lr, #0 │ │ │ │ │ - b.n 16c │ │ │ │ │ + b.n 1e4 │ │ │ │ │ add.w lr, lr, #1 │ │ │ │ │ add.w ip, ip, #12 │ │ │ │ │ cmp r1, lr │ │ │ │ │ - beq.n 17e │ │ │ │ │ + beq.n 200 │ │ │ │ │ ldrd r2, r3, [ip, #8] │ │ │ │ │ - subs r3, r3, r2 │ │ │ │ │ + sub.w r3, r3, r2 │ │ │ │ │ mul.w r3, r5, r3 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bge.n 160 │ │ │ │ │ - movs r0, #1 │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ - bl f0 │ │ │ │ │ + bge.n 1d8 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ + bl 154 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_inplace_strides │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 17c │ │ │ │ │ + beq.n 1f8 │ │ │ │ │ ldr r5, [r4, #0] │ │ │ │ │ mvn.w r3, #2147483648 @ 0x80000000 │ │ │ │ │ cmp r5, r3 │ │ │ │ │ - beq.n 1bc │ │ │ │ │ + beq.n 246 │ │ │ │ │ cmp r5, #0 │ │ │ │ │ - ble.n 1bc │ │ │ │ │ + ble.n 246 │ │ │ │ │ cmp r6, #1 │ │ │ │ │ mov r1, r4 │ │ │ │ │ ite eq │ │ │ │ │ moveq r6, #1 │ │ │ │ │ movne.w r6, #4294967295 @ 0xffffffff │ │ │ │ │ - movs r2, #0 │ │ │ │ │ - b.n 1ac │ │ │ │ │ - adds r2, #1 │ │ │ │ │ - adds r1, #12 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ + b.n 234 │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ + add.w r1, r1, #12 │ │ │ │ │ cmp r5, r2 │ │ │ │ │ - beq.n 1bc │ │ │ │ │ + beq.n 246 │ │ │ │ │ ldrd r0, r3, [r1, #8] │ │ │ │ │ - subs r3, r3, r0 │ │ │ │ │ + sub.w r3, r3, r0 │ │ │ │ │ mul.w r3, r6, r3 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bge.n 1a4 │ │ │ │ │ - b.n 17a │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ + bge.n 228 │ │ │ │ │ + b.n 1f4 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ + nop │ │ │ ├── tensor5.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 952 (bytes into file) │ │ │ │ │ + Start of section headers: 1132 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 10 │ │ │ │ │ Section header string table index: 9 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ -There are 10 section headers, starting at offset 0x3b8: │ │ │ │ │ +There are 10 section headers, starting at offset 0x46c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0001d4 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000338 000030 08 I 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000208 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000208 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .note.GNU-stack PROGBITS 00000000 000208 000000 00 0 0 1 │ │ │ │ │ - [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000208 000033 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 00023c 000080 10 8 2 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 0002bc 00007c 00 0 0 1 │ │ │ │ │ - [ 9] .shstrtab STRTAB 00000000 000368 000050 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000288 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0003ec 000030 08 I 7 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0002bc 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0002bc 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .note.GNU-stack PROGBITS 00000000 0002bc 000000 00 0 0 1 │ │ │ │ │ + [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 0002bc 000033 00 0 0 1 │ │ │ │ │ + [ 7] .symtab SYMTAB 00000000 0002f0 000080 10 8 2 4 │ │ │ │ │ + [ 8] .strtab STRTAB 00000000 000370 00007c 00 0 0 1 │ │ │ │ │ + [ 9] .shstrtab STRTAB 00000000 00041c 000050 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,11 +1,11 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 8 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 62 FUNC GLOBAL DEFAULT 1 fftw_tensor_copy │ │ │ │ │ + 2: 00000001 86 FUNC GLOBAL DEFAULT 1 fftw_tensor_copy │ │ │ │ │ 3: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mktensor │ │ │ │ │ - 4: 00000041 70 FUNC GLOBAL DEFAULT 1 fftw_tensor_copy_inplace │ │ │ │ │ - 5: 00000089 118 FUNC GLOBAL DEFAULT 1 fftw_tensor_copy_except │ │ │ │ │ - 6: 00000101 72 FUNC GLOBAL DEFAULT 1 fftw_tensor_copy_sub │ │ │ │ │ - 7: 00000149 140 FUNC GLOBAL DEFAULT 1 fftw_tensor_append │ │ │ │ │ + 4: 00000059 96 FUNC GLOBAL DEFAULT 1 fftw_tensor_copy_inplace │ │ │ │ │ + 5: 000000b9 180 FUNC GLOBAL DEFAULT 1 fftw_tensor_copy_except │ │ │ │ │ + 6: 0000016d 86 FUNC GLOBAL DEFAULT 1 fftw_tensor_copy_sub │ │ │ │ │ + 7: 000001c5 196 FUNC GLOBAL DEFAULT 1 fftw_tensor_append │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,9 +1,9 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x338 contains 6 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x3ec contains 6 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000006 0000030a R_ARM_THM_CALL 00000000 fftw_mktensor │ │ │ │ │ -00000044 0000020a R_ARM_THM_CALL 00000001 fftw_tensor_copy │ │ │ │ │ -00000092 0000030a R_ARM_THM_CALL 00000000 fftw_mktensor │ │ │ │ │ -0000010a 0000030a R_ARM_THM_CALL 00000000 fftw_mktensor │ │ │ │ │ -0000016c 0000030a R_ARM_THM_CALL 00000000 fftw_mktensor │ │ │ │ │ -00000166 0000031e R_ARM_THM_JUMP24 00000000 fftw_mktensor │ │ │ │ │ +0000000c 0000030a R_ARM_THM_CALL 00000000 fftw_mktensor │ │ │ │ │ +00000062 0000020a R_ARM_THM_CALL 00000001 fftw_tensor_copy │ │ │ │ │ +000000ce 0000030a R_ARM_THM_CALL 00000000 fftw_mktensor │ │ │ │ │ +0000017c 0000030a R_ARM_THM_CALL 00000000 fftw_mktensor │ │ │ │ │ +000001fc 0000030a R_ARM_THM_CALL 00000000 fftw_mktensor │ │ │ │ │ +000001f6 0000031e R_ARM_THM_JUMP24 00000000 fftw_mktensor │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,210 +1,236 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_tensor_copy(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ - mov r4, r0 │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ + mov r6, r0 │ │ │ │ │ ldr r0, [r0, #0] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor │ │ │ │ │ + ldr r3, [r6, #0] │ │ │ │ │ movw r2, #65533 @ 0xfffd │ │ │ │ │ movt r2, #32767 @ 0x7fff │ │ │ │ │ - ldr r3, [r4, #0] │ │ │ │ │ - mov r5, r0 │ │ │ │ │ - subs r1, r3, #1 │ │ │ │ │ + add.w r1, r3, #4294967295 @ 0xffffffff │ │ │ │ │ cmp r1, r2 │ │ │ │ │ - bhi.n 3a │ │ │ │ │ - movs r2, #12 │ │ │ │ │ - mul.w lr, r2, r3 │ │ │ │ │ - movs r3, #4 │ │ │ │ │ - add.w lr, lr, #4 │ │ │ │ │ - adds r2, r4, r3 │ │ │ │ │ - add.w ip, r5, r3 │ │ │ │ │ - adds r3, #12 │ │ │ │ │ - cmp lr, r3 │ │ │ │ │ - ldmia r2, {r0, r1, r2} │ │ │ │ │ - stmia.w ip, {r0, r1, r2} │ │ │ │ │ - bne.n 28 │ │ │ │ │ - mov r0, r5 │ │ │ │ │ - pop {r3, r4, r5, pc} │ │ │ │ │ + bhi.n 4e │ │ │ │ │ + add.w ip, r3, r3, lsl #1 │ │ │ │ │ + mov.w r3, #4 │ │ │ │ │ + mov.w ip, ip, lsl #2 │ │ │ │ │ + add.w ip, ip, #4 │ │ │ │ │ + add.w r1, r6, r3 │ │ │ │ │ + add.w r2, r0, r3 │ │ │ │ │ + ldrd r4, r5, [r1] │ │ │ │ │ + add.w r3, r3, #12 │ │ │ │ │ + cmp ip, r3 │ │ │ │ │ + strd r4, r5, [r2] │ │ │ │ │ + ldr r1, [r1, #8] │ │ │ │ │ + str r1, [r2, #8] │ │ │ │ │ + bne.n 32 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000040 : │ │ │ │ │ +00000058 : │ │ │ │ │ fftw_tensor_copy_inplace(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ mov r5, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy │ │ │ │ │ ldr r4, [r0, #0] │ │ │ │ │ mvn.w r3, #2147483648 @ 0x80000000 │ │ │ │ │ cmp r4, r3 │ │ │ │ │ - beq.n 6c │ │ │ │ │ + beq.n 8c │ │ │ │ │ cmp r5, #1 │ │ │ │ │ - beq.n 6e │ │ │ │ │ + beq.n 94 │ │ │ │ │ cmp r4, #0 │ │ │ │ │ itt gt │ │ │ │ │ movgt r2, r0 │ │ │ │ │ movgt r3, #0 │ │ │ │ │ - ble.n 6c │ │ │ │ │ + ble.n 8c │ │ │ │ │ ldr r1, [r2, #8] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ cmp r4, r3 │ │ │ │ │ str.w r1, [r2, #12]! │ │ │ │ │ - bne.n 60 │ │ │ │ │ - pop {r3, r4, r5, pc} │ │ │ │ │ + bne.n 7e │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r5, pc} │ │ │ │ │ cmp r4, #0 │ │ │ │ │ - ble.n 6c │ │ │ │ │ + ble.n 8c │ │ │ │ │ mov r3, r0 │ │ │ │ │ - movs r2, #0 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ ldr r1, [r3, #12] │ │ │ │ │ - adds r2, #1 │ │ │ │ │ - str r1, [r3, #8] │ │ │ │ │ - cmp r4, r2 │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ add.w r3, r3, #12 │ │ │ │ │ - bne.n 76 │ │ │ │ │ - pop {r3, r4, r5, pc} │ │ │ │ │ - nop │ │ │ │ │ + cmp r4, r2 │ │ │ │ │ + str.w r1, [r3, #-4] │ │ │ │ │ + bne.n 9e │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r5, pc} │ │ │ │ │ │ │ │ │ │ -00000088 : │ │ │ │ │ +000000b8 : │ │ │ │ │ fftw_tensor_copy_except(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ + strd r3, r4, [sp, #-24]! │ │ │ │ │ + mov r4, r1 │ │ │ │ │ + strd r5, r6, [sp, #8] │ │ │ │ │ mov r5, r0 │ │ │ │ │ ldr r0, [r0, #0] │ │ │ │ │ - mov r4, r1 │ │ │ │ │ - subs r0, #1 │ │ │ │ │ + strd r7, lr, [sp, #16] │ │ │ │ │ + add.w r0, r0, #4294967295 @ 0xffffffff │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor │ │ │ │ │ mvn.w r3, #2147483648 @ 0x80000000 │ │ │ │ │ - mov lr, r0 │ │ │ │ │ cmp r4, r3 │ │ │ │ │ - beq.n d4 │ │ │ │ │ + beq.n 120 │ │ │ │ │ cmp r4, #0 │ │ │ │ │ - ble.n c0 │ │ │ │ │ - movs r6, #12 │ │ │ │ │ - movs r3, #4 │ │ │ │ │ - mul.w r6, r4, r6 │ │ │ │ │ - adds r6, #4 │ │ │ │ │ - adds r2, r5, r3 │ │ │ │ │ - add.w ip, lr, r3 │ │ │ │ │ - adds r3, #12 │ │ │ │ │ - cmp r6, r3 │ │ │ │ │ - ldmia r2, {r0, r1, r2} │ │ │ │ │ - stmia.w ip, {r0, r1, r2} │ │ │ │ │ - bne.n ae │ │ │ │ │ - ldr.w r6, [lr] │ │ │ │ │ - movw r2, #65533 @ 0xfffd │ │ │ │ │ - movt r2, #32767 @ 0x7fff │ │ │ │ │ - subs r3, r6, r4 │ │ │ │ │ - subs r3, #1 │ │ │ │ │ - cmp r3, r2 │ │ │ │ │ - bls.n d8 │ │ │ │ │ - mov r0, lr │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ - movs r2, #12 │ │ │ │ │ - add.w ip, lr, #4 │ │ │ │ │ - adds r5, #16 │ │ │ │ │ - mul.w r3, r2, r4 │ │ │ │ │ - mul.w r6, r2, r6 │ │ │ │ │ - adds r2, r5, r3 │ │ │ │ │ - add.w r4, ip, r3 │ │ │ │ │ - adds r3, #12 │ │ │ │ │ - cmp r3, r6 │ │ │ │ │ - ldmia r2, {r0, r1, r2} │ │ │ │ │ - stmia.w r4, {r0, r1, r2} │ │ │ │ │ - bne.n e8 │ │ │ │ │ - mov r0, lr │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ - nop │ │ │ │ │ + ble.n 10a │ │ │ │ │ + add.w ip, r4, r4, lsl #1 │ │ │ │ │ + mov.w r3, #4 │ │ │ │ │ + mov.w ip, ip, lsl #2 │ │ │ │ │ + add.w ip, ip, #4 │ │ │ │ │ + add.w r1, r5, r3 │ │ │ │ │ + add.w r2, r0, r3 │ │ │ │ │ + ldrd r6, r7, [r1] │ │ │ │ │ + add.w r3, r3, #12 │ │ │ │ │ + cmp ip, r3 │ │ │ │ │ + strd r6, r7, [r2] │ │ │ │ │ + ldr r1, [r1, #8] │ │ │ │ │ + str r1, [r2, #8] │ │ │ │ │ + bne.n ee │ │ │ │ │ + ldr r3, [r0, #0] │ │ │ │ │ + movw r1, #65533 @ 0xfffd │ │ │ │ │ + movt r1, #32767 @ 0x7fff │ │ │ │ │ + sub.w r2, r3, r4 │ │ │ │ │ + add.w r2, r2, #4294967295 @ 0xffffffff │ │ │ │ │ + cmp r2, r1 │ │ │ │ │ + bls.n 12c │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + ldrd r5, r6, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + pop {r7, pc} │ │ │ │ │ + add.w r4, r4, r4, lsl #1 │ │ │ │ │ + add.w ip, r0, #4 │ │ │ │ │ + add.w r5, r5, #16 │ │ │ │ │ + add.w r3, r3, r3, lsl #1 │ │ │ │ │ + mov.w r1, r4, lsl #2 │ │ │ │ │ + mov.w r4, r3, lsl #2 │ │ │ │ │ + add.w r2, r5, r1 │ │ │ │ │ + add.w r3, ip, r1 │ │ │ │ │ + ldrd r6, r7, [r2] │ │ │ │ │ + add.w r1, r1, #12 │ │ │ │ │ + cmp r1, r4 │ │ │ │ │ + strd r6, r7, [r3] │ │ │ │ │ + ldr r2, [r2, #8] │ │ │ │ │ + str r2, [r3, #8] │ │ │ │ │ + bne.n 144 │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + ldrd r5, r6, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + pop {r7, pc} │ │ │ │ │ │ │ │ │ │ -00000100 : │ │ │ │ │ +0000016c : │ │ │ │ │ fftw_tensor_copy_sub(): │ │ │ │ │ - push {r3, r4, r5, r6, r7, lr} │ │ │ │ │ - mov r4, r2 │ │ │ │ │ - mov r5, r0 │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ + mov r5, r2 │ │ │ │ │ + mov r4, r0 │ │ │ │ │ mov r0, r2 │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ mov r6, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor │ │ │ │ │ - subs r2, r4, #1 │ │ │ │ │ + add.w r2, r5, #4294967295 @ 0xffffffff │ │ │ │ │ movw r3, #65533 @ 0xfffd │ │ │ │ │ movt r3, #32767 @ 0x7fff │ │ │ │ │ - mov r7, r0 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bhi.n 144 │ │ │ │ │ - movs r3, #12 │ │ │ │ │ - mla r5, r3, r6, r5 │ │ │ │ │ - adds r6, r0, #4 │ │ │ │ │ - mul.w r4, r3, r4 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - adds r5, #4 │ │ │ │ │ - add.w lr, r5, r3 │ │ │ │ │ - add.w ip, r6, r3 │ │ │ │ │ - adds r3, #12 │ │ │ │ │ - cmp r3, r4 │ │ │ │ │ - ldmia.w lr, {r0, r1, r2} │ │ │ │ │ - stmia.w ip, {r0, r1, r2} │ │ │ │ │ - bne.n 12e │ │ │ │ │ - mov r0, r7 │ │ │ │ │ - pop {r3, r4, r5, r6, r7, pc} │ │ │ │ │ + bhi.n 1ba │ │ │ │ │ + add.w r6, r6, r6, lsl #1 │ │ │ │ │ + mov r3, r0 │ │ │ │ │ + add.w r2, r5, r5, lsl #1 │ │ │ │ │ + add.w r1, r4, r6, lsl #2 │ │ │ │ │ + add.w r2, r0, r2, lsl #2 │ │ │ │ │ + ldrd r4, r5, [r1, #4] │ │ │ │ │ + add.w r3, r3, #12 │ │ │ │ │ + add.w r1, r1, #12 │ │ │ │ │ + strd r4, r5, [r3, #-8] │ │ │ │ │ + ldr r4, [r1, #0] │ │ │ │ │ + str r4, [r3, #0] │ │ │ │ │ + cmp r3, r2 │ │ │ │ │ + bne.n 1a2 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000148 : │ │ │ │ │ +000001c4 : │ │ │ │ │ fftw_tensor_append(): │ │ │ │ │ ldr r2, [r0, #0] │ │ │ │ │ - push {r3, r4, r5, r6, r7, lr} │ │ │ │ │ + strd r3, r4, [sp, #-24]! │ │ │ │ │ mvn.w r3, #2147483648 @ 0x80000000 │ │ │ │ │ + strd r5, r6, [sp, #8] │ │ │ │ │ + strd r7, lr, [sp, #16] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.n 15e │ │ │ │ │ + beq.n 1e4 │ │ │ │ │ mov r5, r0 │ │ │ │ │ ldr r0, [r1, #0] │ │ │ │ │ mov r4, r1 │ │ │ │ │ cmp r0, r3 │ │ │ │ │ - bne.n 16a │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, r6, r7, lr} │ │ │ │ │ + bne.n 1fa │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ mvn.w r0, #2147483648 @ 0x80000000 │ │ │ │ │ + ldrd r5, r6, [sp, #8] │ │ │ │ │ + ldrd r7, lr, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_mktensor │ │ │ │ │ add r0, r2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor │ │ │ │ │ - ldr r6, [r5, #0] │ │ │ │ │ - movw r3, #65533 @ 0xfffd │ │ │ │ │ - movt r3, #32767 @ 0x7fff │ │ │ │ │ - subs r2, r6, #1 │ │ │ │ │ - mov lr, r0 │ │ │ │ │ - cmp r2, r3 │ │ │ │ │ - bhi.n 19e │ │ │ │ │ - movs r7, #12 │ │ │ │ │ - movs r3, #4 │ │ │ │ │ - mul.w r7, r6, r7 │ │ │ │ │ - adds r7, #4 │ │ │ │ │ - adds r2, r5, r3 │ │ │ │ │ - add.w ip, lr, r3 │ │ │ │ │ - adds r3, #12 │ │ │ │ │ - cmp r7, r3 │ │ │ │ │ - ldmia r2, {r0, r1, r2} │ │ │ │ │ - stmia.w ip, {r0, r1, r2} │ │ │ │ │ - bne.n 18c │ │ │ │ │ - ldr r7, [r4, #0] │ │ │ │ │ - movw r3, #65533 @ 0xfffd │ │ │ │ │ - movt r3, #32767 @ 0x7fff │ │ │ │ │ - subs r2, r7, #1 │ │ │ │ │ - cmp r2, r3 │ │ │ │ │ - bhi.n 1d0 │ │ │ │ │ - movs r3, #12 │ │ │ │ │ - adds r4, #4 │ │ │ │ │ - mla r5, r3, r6, lr │ │ │ │ │ - mul.w r7, r3, r7 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - adds r5, #4 │ │ │ │ │ - adds r2, r4, r3 │ │ │ │ │ - add.w ip, r5, r3 │ │ │ │ │ - adds r3, #12 │ │ │ │ │ - cmp r3, r7 │ │ │ │ │ - ldmia r2, {r0, r1, r2} │ │ │ │ │ - stmia.w ip, {r0, r1, r2} │ │ │ │ │ - bne.n 1be │ │ │ │ │ - mov r0, lr │ │ │ │ │ - pop {r3, r4, r5, r6, r7, pc} │ │ │ │ │ + ldr r3, [r5, #0] │ │ │ │ │ + movw r2, #65533 @ 0xfffd │ │ │ │ │ + movt r2, #32767 @ 0x7fff │ │ │ │ │ + add.w r1, r3, #4294967295 @ 0xffffffff │ │ │ │ │ + cmp r1, r2 │ │ │ │ │ + bhi.n 240 │ │ │ │ │ + add.w lr, r3, r3, lsl #1 │ │ │ │ │ + mov.w r2, #4 │ │ │ │ │ + mov.w lr, lr, lsl #2 │ │ │ │ │ + add.w lr, lr, #4 │ │ │ │ │ + add.w ip, r5, r2 │ │ │ │ │ + add.w r1, r0, r2 │ │ │ │ │ + ldrd r6, r7, [ip] │ │ │ │ │ + add.w r2, r2, #12 │ │ │ │ │ + cmp r2, lr │ │ │ │ │ + strd r6, r7, [r1] │ │ │ │ │ + ldr.w r6, [ip, #8] │ │ │ │ │ + str r6, [r1, #8] │ │ │ │ │ + bne.n 222 │ │ │ │ │ + ldr r6, [r4, #0] │ │ │ │ │ + movw r2, #65533 @ 0xfffd │ │ │ │ │ + movt r2, #32767 @ 0x7fff │ │ │ │ │ + add.w r1, r6, #4294967295 @ 0xffffffff │ │ │ │ │ + cmp r1, r2 │ │ │ │ │ + bhi.n 27c │ │ │ │ │ + add.w r3, r3, r3, lsl #1 │ │ │ │ │ + mov r1, r4 │ │ │ │ │ + add.w r6, r6, r6, lsl #1 │ │ │ │ │ + add.w r3, r0, r3, lsl #2 │ │ │ │ │ + add.w r6, r4, r6, lsl #2 │ │ │ │ │ + ldrd r4, r5, [r1, #4] │ │ │ │ │ + add.w r1, r1, #12 │ │ │ │ │ + add.w r3, r3, #12 │ │ │ │ │ + strd r4, r5, [r3, #-8] │ │ │ │ │ + ldr r2, [r1, #0] │ │ │ │ │ + cmp r6, r1 │ │ │ │ │ + str r2, [r3, #0] │ │ │ │ │ + bne.n 264 │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + ldrd r5, r6, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + pop {r7, pc} │ │ │ ├── tensor7.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2100 (bytes into file) │ │ │ │ │ + Start of section headers: 2312 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 10 │ │ │ │ │ Section header string table index: 9 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ -There are 10 section headers, starting at offset 0x834: │ │ │ │ │ +There are 10 section headers, starting at offset 0x908: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0003a8 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0006e4 000100 08 I 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0003dc 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0003dc 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .note.GNU-stack PROGBITS 00000000 0003dc 000000 00 0 0 1 │ │ │ │ │ - [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 0003dc 000033 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 000410 000180 10 8 7 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 000590 000154 00 0 0 1 │ │ │ │ │ - [ 9] .shstrtab STRTAB 00000000 0007e4 000050 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00047c 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0007b8 000100 08 I 7 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0004b0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0004b0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .note.GNU-stack PROGBITS 00000000 0004b0 000000 00 0 0 1 │ │ │ │ │ + [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 0004b0 000033 00 0 0 1 │ │ │ │ │ + [ 7] .symtab SYMTAB 00000000 0004e4 000180 10 8 7 4 │ │ │ │ │ + [ 8] .strtab STRTAB 00000000 000664 000154 00 0 0 1 │ │ │ │ │ + [ 9] .shstrtab STRTAB 00000000 0008b8 000050 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,27 +1,27 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 24 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 36 FUNC LOCAL DEFAULT 1 compare_by_istride │ │ │ │ │ + 1: 00000001 48 FUNC LOCAL DEFAULT 1 compare_by_istride │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 0000013c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000144 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000002dc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 000002e8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 3: 0000017c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000184 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000364 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000370 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 7: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_iabs │ │ │ │ │ - 8: 00000025 134 FUNC GLOBAL DEFAULT 1 fftw_dimcmp │ │ │ │ │ + 8: 00000031 156 FUNC GLOBAL DEFAULT 1 fftw_dimcmp │ │ │ │ │ 9: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_imin │ │ │ │ │ - 10: 000000ad 152 FUNC GLOBAL DEFAULT 1 fftw_tensor_compress │ │ │ │ │ + 10: 000000cd 184 FUNC GLOBAL DEFAULT 1 fftw_tensor_compress │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mktensor │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND qsort │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ - 14: 00000145 420 FUNC GLOBAL DEFAULT 1 fftw_tensor_compress_contiguous │ │ │ │ │ + 14: 00000185 492 FUNC GLOBAL DEFAULT 1 fftw_tensor_compress_contiguous │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_sz │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_destroy │ │ │ │ │ - 17: 000002e9 34 FUNC GLOBAL DEFAULT 1 fftw_tensor_split │ │ │ │ │ + 17: 00000371 58 FUNC GLOBAL DEFAULT 1 fftw_tensor_split │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_copy_sub │ │ │ │ │ - 19: 0000030d 74 FUNC GLOBAL DEFAULT 1 fftw_tensor_equal │ │ │ │ │ - 20: 00000359 78 FUNC GLOBAL DEFAULT 1 fftw_tensor_inplace_locations │ │ │ │ │ + 19: 000003ad 98 FUNC GLOBAL DEFAULT 1 fftw_tensor_equal │ │ │ │ │ + 20: 00000411 108 FUNC GLOBAL DEFAULT 1 fftw_tensor_inplace_locations │ │ │ │ │ 21: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_append │ │ │ │ │ 22: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_copy_inplace │ │ │ │ │ 23: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_destroy4 │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,35 +1,35 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x6e4 contains 32 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x7b8 contains 32 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000006 0000070a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -0000000e 0000070a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -0000002e 0000070a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -00000036 0000070a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -0000003e 0000070a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +0000000c 0000070a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +00000014 0000070a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ 00000046 0000070a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -00000050 0000090a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ -0000005a 0000090a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ -000000da 00000b0a R_ARM_THM_CALL 00000000 fftw_mktensor │ │ │ │ │ -0000012a 00000c0a R_ARM_THM_CALL 00000000 qsort │ │ │ │ │ -0000013c 00000d19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000140 0000081a R_ARM_GOT_BREL 00000025 fftw_dimcmp │ │ │ │ │ -00000150 00000f0a R_ARM_THM_CALL 00000000 fftw_tensor_sz │ │ │ │ │ -00000182 00000b0a R_ARM_THM_CALL 00000000 fftw_mktensor │ │ │ │ │ -000001d4 00000c0a R_ARM_THM_CALL 00000000 qsort │ │ │ │ │ -00000218 00000b0a R_ARM_THM_CALL 00000000 fftw_mktensor │ │ │ │ │ -000002a2 0000100a R_ARM_THM_CALL 00000000 fftw_tensor_destroy │ │ │ │ │ -000002d0 00000c0a R_ARM_THM_CALL 00000000 qsort │ │ │ │ │ -000002dc 00000d19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -000002e0 00000103 R_ARM_REL32 00000001 compare_by_istride │ │ │ │ │ -000002e4 0000081a R_ARM_GOT_BREL 00000025 fftw_dimcmp │ │ │ │ │ -000002f4 0000120a R_ARM_THM_CALL 00000000 fftw_tensor_copy_sub │ │ │ │ │ -00000302 0000120a R_ARM_THM_CALL 00000000 fftw_tensor_copy_sub │ │ │ │ │ -0000035c 0000150a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ -00000364 0000160a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ -0000036e 0000160a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ -00000376 00000e0a R_ARM_THM_CALL 00000145 fftw_tensor_compress_contiguous │ │ │ │ │ -0000037e 00000e0a R_ARM_THM_CALL 00000145 fftw_tensor_compress_contiguous │ │ │ │ │ -00000388 0000130a R_ARM_THM_CALL 0000030d fftw_tensor_equal │ │ │ │ │ -00000390 0000100a R_ARM_THM_CALL 00000000 fftw_tensor_destroy │ │ │ │ │ -0000039c 0000170a R_ARM_THM_CALL 00000000 fftw_tensor_destroy4 │ │ │ │ │ -000002c0 00000b1e R_ARM_THM_JUMP24 00000000 fftw_mktensor │ │ │ │ │ +0000004e 0000070a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +00000056 0000070a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +0000005e 0000070a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +00000068 0000090a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ +00000072 0000090a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ +00000106 00000b0a R_ARM_THM_CALL 00000000 fftw_mktensor │ │ │ │ │ +00000160 00000c0a R_ARM_THM_CALL 00000000 qsort │ │ │ │ │ +0000017c 00000d19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000180 0000081a R_ARM_GOT_BREL 00000031 fftw_dimcmp │ │ │ │ │ +00000198 00000f0a R_ARM_THM_CALL 00000000 fftw_tensor_sz │ │ │ │ │ +000001cc 00000b0a R_ARM_THM_CALL 00000000 fftw_mktensor │ │ │ │ │ +00000228 00000c0a R_ARM_THM_CALL 00000000 qsort │ │ │ │ │ +00000278 00000b0a R_ARM_THM_CALL 00000000 fftw_mktensor │ │ │ │ │ +00000314 0000100a R_ARM_THM_CALL 00000000 fftw_tensor_destroy │ │ │ │ │ +00000358 00000c0a R_ARM_THM_CALL 00000000 qsort │ │ │ │ │ +00000364 00000d19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000368 00000103 R_ARM_REL32 00000001 compare_by_istride │ │ │ │ │ +0000036c 0000081a R_ARM_GOT_BREL 00000031 fftw_dimcmp │ │ │ │ │ +00000388 0000120a R_ARM_THM_CALL 00000000 fftw_tensor_copy_sub │ │ │ │ │ +00000398 0000120a R_ARM_THM_CALL 00000000 fftw_tensor_copy_sub │ │ │ │ │ +00000420 0000150a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ +0000042a 0000160a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ +00000436 0000160a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ +0000043e 00000e0a R_ARM_THM_CALL 00000185 fftw_tensor_compress_contiguous │ │ │ │ │ +00000446 00000e0a R_ARM_THM_CALL 00000185 fftw_tensor_compress_contiguous │ │ │ │ │ +00000450 0000130a R_ARM_THM_CALL 000003ad fftw_tensor_equal │ │ │ │ │ +00000458 0000100a R_ARM_THM_CALL 00000000 fftw_tensor_destroy │ │ │ │ │ +00000464 0000170a R_ARM_THM_CALL 00000000 fftw_tensor_destroy4 │ │ │ │ │ +00000346 00000b1e R_ARM_THM_JUMP24 00000000 fftw_mktensor │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,9 +1,9 @@ │ │ │ │ │ -"h)F8` FR │ │ │ │ │ - F;F2F)F │ │ │ │ │ +"h)F8` F │ │ │ │ │ +;F F2F)F │ │ │ │ │ compare_by_istride │ │ │ │ │ fftw_iabs │ │ │ │ │ fftw_dimcmp │ │ │ │ │ fftw_imin │ │ │ │ │ fftw_tensor_compress │ │ │ │ │ fftw_mktensor │ │ │ │ │ _GLOBAL_OFFSET_TABLE_ │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,421 +1,460 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ compare_by_istride(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ - mov r5, r1 │ │ │ │ │ ldr r0, [r0, #4] │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ + mov r5, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldr r0, [r5, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ subs r0, r0, r4 │ │ │ │ │ it mi │ │ │ │ │ movmi.w r0, #4294967295 @ 0xffffffff │ │ │ │ │ - bmi.n 22 │ │ │ │ │ + bmi.n 28 │ │ │ │ │ subs r0, #0 │ │ │ │ │ it ne │ │ │ │ │ movne r0, #1 │ │ │ │ │ - pop {r3, r4, r5, pc} │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r5, pc} │ │ │ │ │ │ │ │ │ │ -00000024 : │ │ │ │ │ +00000030 : │ │ │ │ │ fftw_dimcmp(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ - mov r4, r1 │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ mov r5, r0 │ │ │ │ │ + mov r4, r1 │ │ │ │ │ ldr r0, [r0, #4] │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ mov r6, r0 │ │ │ │ │ ldr r0, [r4, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ mov r7, r0 │ │ │ │ │ ldr r0, [r5, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ mov r8, r0 │ │ │ │ │ ldr r0, [r4, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ - mov r1, r8 │ │ │ │ │ mov r9, r0 │ │ │ │ │ + mov r1, r8 │ │ │ │ │ mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_imin │ │ │ │ │ - mov r1, r9 │ │ │ │ │ mov sl, r0 │ │ │ │ │ + mov r1, r9 │ │ │ │ │ mov r0, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_imin │ │ │ │ │ cmp sl, r0 │ │ │ │ │ - beq.n 70 │ │ │ │ │ + beq.n 96 │ │ │ │ │ cmp r0, sl │ │ │ │ │ ite lt │ │ │ │ │ movlt.w r0, #4294967295 @ 0xffffffff │ │ │ │ │ movge r0, #1 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {sl, pc} │ │ │ │ │ cmp r6, r7 │ │ │ │ │ - beq.n 82 │ │ │ │ │ + beq.n a6 │ │ │ │ │ cmp r7, r6 │ │ │ │ │ ite lt │ │ │ │ │ movlt.w r0, #4294967295 @ 0xffffffff │ │ │ │ │ movge r0, #1 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ + b.n 84 │ │ │ │ │ cmp r8, r9 │ │ │ │ │ - bne.n 9c │ │ │ │ │ - ldr r3, [r5, #0] │ │ │ │ │ + bne.n c0 │ │ │ │ │ ldr r2, [r4, #0] │ │ │ │ │ + ldr r3, [r5, #0] │ │ │ │ │ subs r3, r3, r2 │ │ │ │ │ it mi │ │ │ │ │ movmi.w r0, #4294967295 @ 0xffffffff │ │ │ │ │ - bmi.n 6c │ │ │ │ │ + bmi.n 84 │ │ │ │ │ subs r0, r3, #0 │ │ │ │ │ it ne │ │ │ │ │ movne r0, #1 │ │ │ │ │ - b.n 6c │ │ │ │ │ + b.n 84 │ │ │ │ │ cmp r9, r8 │ │ │ │ │ ite lt │ │ │ │ │ movlt.w r0, #4294967295 @ 0xffffffff │ │ │ │ │ movge r0, #1 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ - nop │ │ │ │ │ + b.n 84 │ │ │ │ │ │ │ │ │ │ -000000ac : │ │ │ │ │ +000000cc : │ │ │ │ │ fftw_tensor_compress(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ - mov r8, r0 │ │ │ │ │ - ldr r5, [pc, #136] @ (13c ) │ │ │ │ │ - ldr r1, [r0, #0] │ │ │ │ │ - sub sp, #8 │ │ │ │ │ + str.w r4, [sp, #-20]! │ │ │ │ │ + ldr r4, [r0, #0] │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r6, r0 │ │ │ │ │ + ldr r5, [pc, #160] @ (17c ) │ │ │ │ │ + strd r7, lr, [sp, #12] │ │ │ │ │ + sub sp, #12 │ │ │ │ │ + cmp r4, #0 │ │ │ │ │ add r5, pc │ │ │ │ │ - cmp r1, #0 │ │ │ │ │ - ble.n 136 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - add.w r1, r1, r1, lsl #1 │ │ │ │ │ + ble.n 176 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + add.w r4, r4, r4, lsl #1 │ │ │ │ │ + add.w r1, r6, #4 │ │ │ │ │ mov r0, r3 │ │ │ │ │ - add.w lr, r8, #4 │ │ │ │ │ - ldr.w r2, [lr, r3, lsl #2] │ │ │ │ │ - adds r3, #3 │ │ │ │ │ + ldr.w r2, [r1, r3, lsl #2] │ │ │ │ │ + add.w r3, r3, #3 │ │ │ │ │ cmp r2, #1 │ │ │ │ │ it ne │ │ │ │ │ addne r0, #1 │ │ │ │ │ - cmp r3, r1 │ │ │ │ │ - bne.n ca │ │ │ │ │ + cmp r3, r4 │ │ │ │ │ + bne.n f4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor │ │ │ │ │ - ldr.w r7, [r8] │ │ │ │ │ - mov r6, r0 │ │ │ │ │ - cmp r7, #0 │ │ │ │ │ - ble.n 11a │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - add.w lr, r8, #4 │ │ │ │ │ - add.w r7, r7, r7, lsl #1 │ │ │ │ │ - mov r4, r3 │ │ │ │ │ - mov.w r8, #12 │ │ │ │ │ - ldr.w r2, [lr, r3, lsl #2] │ │ │ │ │ + ldr r3, [r6, #0] │ │ │ │ │ + mov r4, r0 │ │ │ │ │ + cmp r3, #0 │ │ │ │ │ + ble.n 14c │ │ │ │ │ + add.w lr, r3, r3, lsl #1 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + add.w r1, r6, #4 │ │ │ │ │ + mov ip, r3 │ │ │ │ │ + ldr.w r2, [r1, r3, lsl #2] │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - beq.n 114 │ │ │ │ │ - mla ip, r8, r4, r6 │ │ │ │ │ - add.w r2, lr, r3, lsl #2 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - add.w ip, ip, #4 │ │ │ │ │ - ldmia r2, {r0, r1, r2} │ │ │ │ │ - stmia.w ip, {r0, r1, r2} │ │ │ │ │ - adds r3, #3 │ │ │ │ │ - cmp r7, r3 │ │ │ │ │ - bne.n f8 │ │ │ │ │ - ldr r1, [r6, #0] │ │ │ │ │ + beq.n 144 │ │ │ │ │ + add.w r0, r1, r3, lsl #2 │ │ │ │ │ + add.w r2, ip, ip, lsl #1 │ │ │ │ │ + add.w ip, ip, #1 │ │ │ │ │ + ldrd r6, r7, [r0] │ │ │ │ │ + add.w r2, r4, r2, lsl #2 │ │ │ │ │ + strd r6, r7, [r2, #4] │ │ │ │ │ + ldr r0, [r0, #8] │ │ │ │ │ + str r0, [r2, #12] │ │ │ │ │ + add.w r3, r3, #3 │ │ │ │ │ + cmp lr, r3 │ │ │ │ │ + bne.n 120 │ │ │ │ │ + ldr r1, [r4, #0] │ │ │ │ │ cmp r1, #1 │ │ │ │ │ - ble.n 12e │ │ │ │ │ - ldr r3, [pc, #28] @ (140 ) │ │ │ │ │ - movs r2, #12 │ │ │ │ │ - adds r0, r6, #4 │ │ │ │ │ + ble.n 164 │ │ │ │ │ + ldr r3, [pc, #44] @ (180 ) │ │ │ │ │ + mov.w r2, #12 │ │ │ │ │ + add.w r0, r4, #4 │ │ │ │ │ ldr r3, [r5, r3] │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL qsort │ │ │ │ │ - mov r0, r6 │ │ │ │ │ - add sp, #8 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, pc} │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - b.n da │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000080 │ │ │ │ │ + mov r0, r4 │ │ │ │ │ + add sp, #12 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + b.n 106 │ │ │ │ │ + .word 0x00000096 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_dimcmp │ │ │ │ │ │ │ │ │ │ -00000144 : │ │ │ │ │ +00000184 : │ │ │ │ │ fftw_tensor_compress_contiguous(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ - mov r8, r0 │ │ │ │ │ - ldr r4, [pc, #400] @ (2dc ) │ │ │ │ │ - sub sp, #12 │ │ │ │ │ + strd r4, r5, [sp, #-24]! │ │ │ │ │ + ldr r4, [pc, #472] @ (364 ) │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + mov r6, r0 │ │ │ │ │ + strd r8, lr, [sp, #16] │ │ │ │ │ + sub sp, #8 │ │ │ │ │ add r4, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_sz │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 2b6 │ │ │ │ │ - ldr.w r1, [r8] │ │ │ │ │ - cmp r1, #0 │ │ │ │ │ + beq.w 332 │ │ │ │ │ + ldr r5, [r6, #0] │ │ │ │ │ + cmp r5, #0 │ │ │ │ │ it le │ │ │ │ │ movle r0, #0 │ │ │ │ │ - ble.n 182 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - add.w r1, r1, r1, lsl #1 │ │ │ │ │ + ble.n 1cc │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + add.w r5, r5, r5, lsl #1 │ │ │ │ │ + add.w r1, r6, #4 │ │ │ │ │ mov r0, r3 │ │ │ │ │ - add.w lr, r8, #4 │ │ │ │ │ - ldr.w r2, [lr, r3, lsl #2] │ │ │ │ │ - adds r3, #3 │ │ │ │ │ + ldr.w r2, [r1, r3, lsl #2] │ │ │ │ │ + add.w r3, r3, #3 │ │ │ │ │ cmp r2, #1 │ │ │ │ │ it ne │ │ │ │ │ addne r0, #1 │ │ │ │ │ - cmp r1, r3 │ │ │ │ │ - bne.n 172 │ │ │ │ │ + cmp r5, r3 │ │ │ │ │ + bne.n 1ba │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor │ │ │ │ │ - ldr.w r7, [r8] │ │ │ │ │ + ldr r3, [r6, #0] │ │ │ │ │ mov r5, r0 │ │ │ │ │ - cmp r7, #0 │ │ │ │ │ - ble.n 1c2 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - add.w lr, r8, #4 │ │ │ │ │ - add.w r7, r7, r7, lsl #1 │ │ │ │ │ - mov r6, r3 │ │ │ │ │ - mov.w r8, #12 │ │ │ │ │ - ldr.w r2, [lr, r3, lsl #2] │ │ │ │ │ + cmp r3, #0 │ │ │ │ │ + ble.n 212 │ │ │ │ │ + add.w lr, r3, r3, lsl #1 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + add.w r1, r6, #4 │ │ │ │ │ + mov ip, r3 │ │ │ │ │ + ldr.w r2, [r1, r3, lsl #2] │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - beq.n 1bc │ │ │ │ │ - mla ip, r8, r6, r5 │ │ │ │ │ - add.w r2, lr, r3, lsl #2 │ │ │ │ │ - adds r6, #1 │ │ │ │ │ - add.w ip, ip, #4 │ │ │ │ │ - ldmia r2, {r0, r1, r2} │ │ │ │ │ - stmia.w ip, {r0, r1, r2} │ │ │ │ │ - adds r3, #3 │ │ │ │ │ - cmp r7, r3 │ │ │ │ │ - bne.n 1a0 │ │ │ │ │ + beq.n 20a │ │ │ │ │ + add.w r0, r1, r3, lsl #2 │ │ │ │ │ + add.w r2, ip, ip, lsl #1 │ │ │ │ │ + add.w ip, ip, #1 │ │ │ │ │ + ldrd r6, r7, [r0] │ │ │ │ │ + add.w r2, r5, r2, lsl #2 │ │ │ │ │ + strd r6, r7, [r2, #4] │ │ │ │ │ + ldr r0, [r0, #8] │ │ │ │ │ + str r0, [r2, #12] │ │ │ │ │ + add.w r3, r3, #3 │ │ │ │ │ + cmp lr, r3 │ │ │ │ │ + bne.n 1e6 │ │ │ │ │ ldr r1, [r5, #0] │ │ │ │ │ cmp r1, #1 │ │ │ │ │ - ble.n 2ae │ │ │ │ │ - ldr r3, [pc, #276] @ (2e0 ) │ │ │ │ │ + ble.w 320 │ │ │ │ │ + ldr r3, [pc, #332] @ (368 ) │ │ │ │ │ add.w r8, r5, #4 │ │ │ │ │ - movs r2, #12 │ │ │ │ │ + mov.w r2, #12 │ │ │ │ │ mov r0, r8 │ │ │ │ │ add r3, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL qsort │ │ │ │ │ ldr r1, [r5, #0] │ │ │ │ │ cmp r1, #1 │ │ │ │ │ - ble.n 2d6 │ │ │ │ │ - movs r0, #12 │ │ │ │ │ + ble.w 35e │ │ │ │ │ + add.w r1, r1, r1, lsl #1 │ │ │ │ │ sub.w ip, r5, #12 │ │ │ │ │ ldr r2, [r5, #8] │ │ │ │ │ mov r3, r5 │ │ │ │ │ - mla ip, r0, r1, ip │ │ │ │ │ - movs r0, #1 │ │ │ │ │ - b.n 1f8 │ │ │ │ │ - adds r3, #12 │ │ │ │ │ - adds r0, #1 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ + add.w ip, ip, r1, lsl #2 │ │ │ │ │ + b.n 256 │ │ │ │ │ + add.w r3, r3, #12 │ │ │ │ │ + add.w r0, r0, #1 │ │ │ │ │ cmp r3, ip │ │ │ │ │ - beq.n 218 │ │ │ │ │ + beq.n 278 │ │ │ │ │ mov r6, r2 │ │ │ │ │ ldrd r1, r2, [r3, #16] │ │ │ │ │ mul.w r7, r1, r2 │ │ │ │ │ cmp r7, r6 │ │ │ │ │ - bne.n 1f0 │ │ │ │ │ + bne.n 24a │ │ │ │ │ ldr r6, [r3, #24] │ │ │ │ │ mul.w r1, r6, r1 │ │ │ │ │ ldr r6, [r3, #12] │ │ │ │ │ cmp r6, r1 │ │ │ │ │ - bne.n 1f0 │ │ │ │ │ - adds r3, #12 │ │ │ │ │ + bne.n 24a │ │ │ │ │ + add.w r3, r3, #12 │ │ │ │ │ cmp r3, ip │ │ │ │ │ - bne.n 1f8 │ │ │ │ │ + bne.n 256 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor │ │ │ │ │ - adds r7, r0, #4 │ │ │ │ │ + ldrd r2, r3, [r5, #4] │ │ │ │ │ + add.w r7, r0, #4 │ │ │ │ │ mov r6, r0 │ │ │ │ │ - ldmia.w r8, {r0, r1, r2} │ │ │ │ │ - stmia.w r7, {r0, r1, r2} │ │ │ │ │ + strd r2, r3, [r0, #4] │ │ │ │ │ ldr r2, [r5, #0] │ │ │ │ │ + ldr.w r3, [r8, #8] │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - ble.n 2a0 │ │ │ │ │ - sub.w r8, r5, #12 │ │ │ │ │ - mov.w r9, #12 │ │ │ │ │ + str r3, [r7, #8] │ │ │ │ │ + ble.n 312 │ │ │ │ │ + add.w r2, r2, r2, lsl #1 │ │ │ │ │ + sub.w lr, r5, #12 │ │ │ │ │ mov r3, r5 │ │ │ │ │ - mov.w lr, #1 │ │ │ │ │ - mla r8, r9, r2, r8 │ │ │ │ │ - b.n 25e │ │ │ │ │ - mla ip, r9, lr, r6 │ │ │ │ │ - add.w r2, r3, #16 │ │ │ │ │ - adds r3, #12 │ │ │ │ │ - add.w lr, lr, #1 │ │ │ │ │ - add.w ip, ip, #4 │ │ │ │ │ - cmp r3, r8 │ │ │ │ │ - ldmia r2, {r0, r1, r2} │ │ │ │ │ - stmia.w ip, {r0, r1, r2} │ │ │ │ │ - beq.n 2a0 │ │ │ │ │ - ldr r0, [r3, #8] │ │ │ │ │ - ldrd r1, r2, [r3, #16] │ │ │ │ │ - mul.w r2, r1, r2 │ │ │ │ │ - cmp r0, r2 │ │ │ │ │ - bne.n 242 │ │ │ │ │ - ldr r2, [r3, #24] │ │ │ │ │ - ldr r0, [r3, #12] │ │ │ │ │ - mul.w r2, r1, r2 │ │ │ │ │ - cmp r0, r2 │ │ │ │ │ - bne.n 242 │ │ │ │ │ - mla r2, r9, lr, r6 │ │ │ │ │ - adds r3, #12 │ │ │ │ │ - ldr.w r0, [r2, #-8] │ │ │ │ │ - mul.w r0, r1, r0 │ │ │ │ │ - str.w r0, [r2, #-8] │ │ │ │ │ - ldr r1, [r3, #8] │ │ │ │ │ - str.w r1, [r2, #-4] │ │ │ │ │ - add.w r2, lr, #4294967295 @ 0xffffffff │ │ │ │ │ + mov.w ip, #1 │ │ │ │ │ + add.w lr, lr, r2, lsl #2 │ │ │ │ │ + b.n 2ca │ │ │ │ │ + ldrd r0, r1, [r3, #16] │ │ │ │ │ + add.w r2, ip, ip, lsl #1 │ │ │ │ │ + add.w r3, r3, #12 │ │ │ │ │ + add.w ip, ip, #1 │ │ │ │ │ + add.w r2, r6, r2, lsl #2 │ │ │ │ │ + strd r0, r1, [r2, #4] │ │ │ │ │ ldr r1, [r3, #12] │ │ │ │ │ - cmp r3, r8 │ │ │ │ │ - mla r2, r9, r2, r6 │ │ │ │ │ + cmp r3, lr │ │ │ │ │ str r1, [r2, #12] │ │ │ │ │ - bne.n 25e │ │ │ │ │ + beq.n 312 │ │ │ │ │ + ldr r1, [r3, #8] │ │ │ │ │ + ldrd r0, r2, [r3, #16] │ │ │ │ │ + mul.w r2, r0, r2 │ │ │ │ │ + cmp r1, r2 │ │ │ │ │ + bne.n 2aa │ │ │ │ │ + ldr r1, [r3, #12] │ │ │ │ │ + ldr r2, [r3, #24] │ │ │ │ │ + mul.w r2, r0, r2 │ │ │ │ │ + cmp r1, r2 │ │ │ │ │ + bne.n 2aa │ │ │ │ │ + add.w r1, ip, ip, lsl #1 │ │ │ │ │ + add.w r3, r3, #12 │ │ │ │ │ + add.w r1, r6, r1, lsl #2 │ │ │ │ │ + ldr.w r2, [r1, #-8] │ │ │ │ │ + mul.w r2, r0, r2 │ │ │ │ │ + str.w r2, [r1, #-8] │ │ │ │ │ + ldr r2, [r3, #8] │ │ │ │ │ + str.w r2, [r1, #-4] │ │ │ │ │ + add.w r1, ip, ip, lsl #1 │ │ │ │ │ + ldr r2, [r3, #12] │ │ │ │ │ + cmp r3, lr │ │ │ │ │ + add.w r1, r6, r1, lsl #2 │ │ │ │ │ + str r2, [r1, #0] │ │ │ │ │ + bne.n 2ca │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_destroy │ │ │ │ │ ldr r1, [r6, #0] │ │ │ │ │ cmp r1, #1 │ │ │ │ │ - bgt.n 2c4 │ │ │ │ │ + bgt.n 34a │ │ │ │ │ mov r5, r6 │ │ │ │ │ mov r0, r5 │ │ │ │ │ - add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} │ │ │ │ │ + add sp, #8 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldmia.w sp!, {r8, pc} │ │ │ │ │ mvn.w r0, #2147483648 @ 0x80000000 │ │ │ │ │ - add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ + add sp, #8 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, lr, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_mktensor │ │ │ │ │ - ldr r3, [pc, #28] @ (2e4 ) │ │ │ │ │ - movs r2, #12 │ │ │ │ │ + ldr r3, [pc, #32] @ (36c ) │ │ │ │ │ + mov.w r2, #12 │ │ │ │ │ mov r0, r7 │ │ │ │ │ mov r5, r6 │ │ │ │ │ ldr r3, [r4, r3] │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL qsort │ │ │ │ │ - b.n 2ae │ │ │ │ │ - movs r0, #1 │ │ │ │ │ - b.n 218 │ │ │ │ │ - nop │ │ │ │ │ - .word 0x0000018a │ │ │ │ │ + b.n 320 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ + b.n 278 │ │ │ │ │ + .word 0x000001ca │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ - .word 0x0000010a │ │ │ │ │ + .word 0x0000013e │ │ │ │ │ R_ARM_REL32 compare_by_istride │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_dimcmp │ │ │ │ │ │ │ │ │ │ -000002e8 : │ │ │ │ │ +00000370 : │ │ │ │ │ fftw_tensor_split(): │ │ │ │ │ - push {r3, r4, r5, r6, r7, lr} │ │ │ │ │ + strd r3, r4, [sp, #-24]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - mov r7, r1 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + strd r5, r6, [sp, #8] │ │ │ │ │ mov r5, r2 │ │ │ │ │ mov r6, r3 │ │ │ │ │ + strd r7, lr, [sp, #16] │ │ │ │ │ + mov r7, r1 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy_sub │ │ │ │ │ ldr r2, [r4, #0] │ │ │ │ │ mov r1, r5 │ │ │ │ │ str r0, [r7, #0] │ │ │ │ │ mov r0, r4 │ │ │ │ │ - subs r2, r2, r5 │ │ │ │ │ + sub.w r2, r2, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy_sub │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ str r0, [r6, #0] │ │ │ │ │ - pop {r3, r4, r5, r6, r7, pc} │ │ │ │ │ + ldrd r5, r6, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + pop {r7, pc} │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -0000030c : │ │ │ │ │ +000003ac : │ │ │ │ │ fftw_tensor_equal(): │ │ │ │ │ ldr r3, [r1, #0] │ │ │ │ │ - push {r4, r5} │ │ │ │ │ + strd r4, r5, [sp, #-8]! │ │ │ │ │ ldr r4, [r0, #0] │ │ │ │ │ cmp r4, r3 │ │ │ │ │ - bne.n 34a │ │ │ │ │ - subs r2, r4, #1 │ │ │ │ │ + bne.n 3f6 │ │ │ │ │ + add.w r2, r4, #4294967295 @ 0xffffffff │ │ │ │ │ movw r3, #65533 @ 0xfffd │ │ │ │ │ movt r3, #32767 @ 0x7fff │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bhi.n 350 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - b.n 342 │ │ │ │ │ - ldr r2, [r1, #8] │ │ │ │ │ + bhi.n 402 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + b.n 3ee │ │ │ │ │ ldr r5, [r0, #8] │ │ │ │ │ + ldr r2, [r1, #8] │ │ │ │ │ cmp r5, r2 │ │ │ │ │ - bne.n 34a │ │ │ │ │ - ldr r2, [r1, #12] │ │ │ │ │ + bne.n 3f6 │ │ │ │ │ ldr r5, [r0, #12] │ │ │ │ │ + ldr r2, [r1, #12] │ │ │ │ │ cmp r5, r2 │ │ │ │ │ - bne.n 34a │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - adds r0, #12 │ │ │ │ │ - adds r1, #12 │ │ │ │ │ + bne.n 3f6 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + add.w r0, r0, #12 │ │ │ │ │ cmp r4, r3 │ │ │ │ │ - beq.n 350 │ │ │ │ │ - ldr r2, [r1, #4] │ │ │ │ │ + add.w r1, r1, #12 │ │ │ │ │ + beq.n 402 │ │ │ │ │ ldr r5, [r0, #4] │ │ │ │ │ + ldr r2, [r1, #4] │ │ │ │ │ cmp r5, r2 │ │ │ │ │ - beq.n 328 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - pop {r4, r5} │ │ │ │ │ + beq.n 3ce │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + add sp, #8 │ │ │ │ │ bx lr │ │ │ │ │ - movs r0, #1 │ │ │ │ │ - pop {r4, r5} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ + add sp, #8 │ │ │ │ │ bx lr │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000358 : │ │ │ │ │ +00000410 : │ │ │ │ │ fftw_tensor_inplace_locations(): │ │ │ │ │ - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ + strd r3, r4, [sp, #-32]! │ │ │ │ │ + strd r5, r6, [sp, #8] │ │ │ │ │ + strd r7, r8, [sp, #16] │ │ │ │ │ + strd r9, lr, [sp, #24] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_append │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ mov r8, r0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy_inplace │ │ │ │ │ - movs r1, #1 │ │ │ │ │ mov r4, r0 │ │ │ │ │ + mov.w r1, #1 │ │ │ │ │ mov r0, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy_inplace │ │ │ │ │ mov r5, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - bl 144 │ │ │ │ │ + bl 184 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_compress_contiguous │ │ │ │ │ mov r6, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ - bl 144 │ │ │ │ │ + bl 184 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_compress_contiguous │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r7, r0 │ │ │ │ │ mov r0, r6 │ │ │ │ │ - bl 30c │ │ │ │ │ + bl 3ac │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_equal │ │ │ │ │ mov r9, r0 │ │ │ │ │ mov r0, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_destroy │ │ │ │ │ - mov r0, r4 │ │ │ │ │ mov r3, r7 │ │ │ │ │ + mov r0, r4 │ │ │ │ │ mov r2, r6 │ │ │ │ │ mov r1, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_destroy4 │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ mov r0, r9 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r5, r6, [sp, #8] │ │ │ │ │ + ldrd r7, r8, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {r9, pc} │ │ │ ├── tensor8.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 408 (bytes into file) │ │ │ │ │ + Start of section headers: 424 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 10 │ │ │ │ │ Section header string table index: 9 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ -There are 10 section headers, starting at offset 0x198: │ │ │ │ │ +There are 10 section headers, starting at offset 0x1a8: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00002c 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000128 000020 08 I 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000060 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000060 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .note.GNU-stack PROGBITS 00000000 000060 000000 00 0 0 1 │ │ │ │ │ - [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000060 000033 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 000094 000050 10 8 2 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 0000e4 000042 00 0 0 1 │ │ │ │ │ - [ 9] .shstrtab STRTAB 00000000 000148 000050 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00003c 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000138 000020 08 I 7 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000070 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000070 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .note.GNU-stack PROGBITS 00000000 000070 000000 00 0 0 1 │ │ │ │ │ + [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000070 000033 00 0 0 1 │ │ │ │ │ + [ 7] .symtab SYMTAB 00000000 0000a4 000050 10 8 2 4 │ │ │ │ │ + [ 8] .strtab STRTAB 00000000 0000f4 000042 00 0 0 1 │ │ │ │ │ + [ 9] .shstrtab STRTAB 00000000 000158 000050 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,8 +1,8 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 5 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 18 FUNC GLOBAL DEFAULT 1 fftw_tensor_destroy2 │ │ │ │ │ + 2: 00000001 22 FUNC GLOBAL DEFAULT 1 fftw_tensor_destroy2 │ │ │ │ │ 3: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_destroy │ │ │ │ │ - 4: 00000015 22 FUNC GLOBAL DEFAULT 1 fftw_tensor_destroy4 │ │ │ │ │ + 4: 00000019 34 FUNC GLOBAL DEFAULT 1 fftw_tensor_destroy4 │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,7 +1,7 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x128 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x138 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 0000030a R_ARM_THM_CALL 00000000 fftw_tensor_destroy │ │ │ │ │ -0000001a 0000020a R_ARM_THM_CALL 00000001 fftw_tensor_destroy2 │ │ │ │ │ -0000000e 0000031e R_ARM_THM_JUMP24 00000000 fftw_tensor_destroy │ │ │ │ │ -00000026 0000021e R_ARM_THM_JUMP24 00000001 fftw_tensor_destroy2 │ │ │ │ │ +00000006 0000030a R_ARM_THM_CALL 00000000 fftw_tensor_destroy │ │ │ │ │ +00000024 0000020a R_ARM_THM_CALL 00000001 fftw_tensor_destroy2 │ │ │ │ │ +00000012 0000031e R_ARM_THM_JUMP24 00000000 fftw_tensor_destroy │ │ │ │ │ +00000036 0000021e R_ARM_THM_JUMP24 00000001 fftw_tensor_destroy2 │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,30 +1,34 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_tensor_destroy2(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_destroy │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_tensor_destroy │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000014 : │ │ │ │ │ +00000018 : │ │ │ │ │ fftw_tensor_destroy4(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r2 │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ mov r5, r3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_destroy2 │ │ │ │ │ mov r1, r5 │ │ │ │ │ + ldrd r5, lr, [sp, #8] │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, lr} │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_tensor_destroy2 │ │ │ │ │ nop │ │ │ ├── tensor9.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 304 (bytes into file) │ │ │ │ │ + Start of section headers: 316 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 9 │ │ │ │ │ Section header string table index: 8 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,18 +1,18 @@ │ │ │ │ │ -There are 9 section headers, starting at offset 0x130: │ │ │ │ │ +There are 9 section headers, starting at offset 0x13c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000034 00 AX 0 0 4 │ │ │ │ │ - [ 2] .data PROGBITS 00000000 000068 000000 00 WA 0 0 1 │ │ │ │ │ - [ 3] .bss NOBITS 00000000 000068 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .note.GNU-stack PROGBITS 00000000 000068 000000 00 0 0 1 │ │ │ │ │ - [ 5] .ARM.attributes ARM_ATTRIBUTES 00000000 000068 000033 00 0 0 1 │ │ │ │ │ - [ 6] .symtab SYMTAB 00000000 00009c 000030 10 7 2 4 │ │ │ │ │ - [ 7] .strtab STRTAB 00000000 0000cc 000018 00 0 0 1 │ │ │ │ │ - [ 8] .shstrtab STRTAB 00000000 0000e4 00004c 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000040 00 AX 0 0 4 │ │ │ │ │ + [ 2] .data PROGBITS 00000000 000074 000000 00 WA 0 0 1 │ │ │ │ │ + [ 3] .bss NOBITS 00000000 000074 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .note.GNU-stack PROGBITS 00000000 000074 000000 00 0 0 1 │ │ │ │ │ + [ 5] .ARM.attributes ARM_ATTRIBUTES 00000000 000074 000033 00 0 0 1 │ │ │ │ │ + [ 6] .symtab SYMTAB 00000000 0000a8 000030 10 7 2 4 │ │ │ │ │ + [ 7] .strtab STRTAB 00000000 0000d8 000018 00 0 0 1 │ │ │ │ │ + [ 8] .shstrtab STRTAB 00000000 0000f0 00004c 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,6 +1,6 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 3 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 52 FUNC GLOBAL DEFAULT 1 fftw_tensor_kosherp │ │ │ │ │ + 2: 00000001 64 FUNC GLOBAL DEFAULT 1 fftw_tensor_kosherp │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -3,27 +3,27 @@ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_tensor_kosherp(): │ │ │ │ │ ldr r1, [r0, #0] │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - blt.n 2c │ │ │ │ │ - subs r2, r1, #1 │ │ │ │ │ + blt.n 34 │ │ │ │ │ + add.w r2, r1, #4294967295 @ 0xffffffff │ │ │ │ │ movw r3, #65533 @ 0xfffd │ │ │ │ │ movt r3, #32767 @ 0x7fff │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bhi.n 30 │ │ │ │ │ + bhi.n 3a │ │ │ │ │ add.w r1, r1, r1, lsl #1 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - adds r0, #4 │ │ │ │ │ - b.n 24 │ │ │ │ │ - adds r3, #3 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + add.w r0, r0, #4 │ │ │ │ │ + b.n 2c │ │ │ │ │ + add.w r3, r3, #3 │ │ │ │ │ cmp r1, r3 │ │ │ │ │ - beq.n 30 │ │ │ │ │ + beq.n 3a │ │ │ │ │ ldr.w r2, [r0, r3, lsl #2] │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - bge.n 1e │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + bge.n 24 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bx lr │ │ │ │ │ - movs r0, #1 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ bx lr │ │ │ ├── tile2d.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2236 (bytes into file) │ │ │ │ │ + Start of section headers: 2352 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 10 │ │ │ │ │ Section header string table index: 9 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ -There are 10 section headers, starting at offset 0x8bc: │ │ │ │ │ +There are 10 section headers, starting at offset 0x930: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000730 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00085c 000010 08 I 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000764 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000764 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .note.GNU-stack PROGBITS 00000000 000764 000000 00 0 0 1 │ │ │ │ │ - [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000764 000033 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 000798 000070 10 8 3 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 000808 000053 00 0 0 1 │ │ │ │ │ - [ 9] .shstrtab STRTAB 00000000 00086c 000050 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0007a4 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0008d0 000010 08 I 7 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0007d8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0007d8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .note.GNU-stack PROGBITS 00000000 0007d8 000000 00 0 0 1 │ │ │ │ │ + [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 0007d8 000033 00 0 0 1 │ │ │ │ │ + [ 7] .symtab SYMTAB 00000000 00080c 000070 10 8 3 4 │ │ │ │ │ + [ 8] .strtab STRTAB 00000000 00087c 000053 00 0 0 1 │ │ │ │ │ + [ 9] .shstrtab STRTAB 00000000 0008e0 000050 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,10 +1,10 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 7 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 1814 FUNC LOCAL DEFAULT 1 fftw_tile2d.localalias │ │ │ │ │ - 3: 00000001 1814 FUNC GLOBAL DEFAULT 1 fftw_tile2d │ │ │ │ │ - 4: 00000719 24 FUNC GLOBAL DEFAULT 1 fftw_compute_tilesz │ │ │ │ │ + 2: 00000001 1924 FUNC LOCAL DEFAULT 1 fftw_tile2d.localalias │ │ │ │ │ + 3: 00000001 1924 FUNC GLOBAL DEFAULT 1 fftw_tile2d │ │ │ │ │ + 4: 00000785 30 FUNC GLOBAL DEFAULT 1 fftw_compute_tilesz │ │ │ │ │ 5: 00000000 0 NOTYPE GLOBAL DEFAULT UND __aeabi_idiv │ │ │ │ │ 6: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_isqrt │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,5 +1,5 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x85c contains 2 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x8d0 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000724 0000050a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -0000072c 0000061e R_ARM_THM_JUMP24 00000000 fftw_isqrt │ │ │ │ │ +00000794 0000050a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +0000079e 0000061e R_ARM_THM_JUMP24 00000000 fftw_isqrt │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,123 +1,124 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_tile2d.localalias(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ sub.w sl, r3, r2 │ │ │ │ │ - mov r5, sl │ │ │ │ │ - sub sp, #60 @ 0x3c │ │ │ │ │ sub.w r9, r1, r0 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + sub sp, #60 @ 0x3c │ │ │ │ │ + mov r5, sl │ │ │ │ │ ldrd r8, r4, [sp, #96] @ 0x60 │ │ │ │ │ - str r4, [sp, #20] │ │ │ │ │ + strd r1, r4, [sp, #16] │ │ │ │ │ ldr r4, [sp, #104] @ 0x68 │ │ │ │ │ + strd r3, r2, [sp, #36] @ 0x24 │ │ │ │ │ + strd r0, r9, [sp, #44] @ 0x2c │ │ │ │ │ str r4, [sp, #24] │ │ │ │ │ mov r4, r8 │ │ │ │ │ - str r0, [sp, #44] @ 0x2c │ │ │ │ │ - str r1, [sp, #16] │ │ │ │ │ - strd r3, r2, [sp, #36] @ 0x24 │ │ │ │ │ - str.w r9, [sp, #48] @ 0x30 │ │ │ │ │ ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ cmp r3, r5 │ │ │ │ │ it ge │ │ │ │ │ cmpge r3, r4 │ │ │ │ │ - bgt.w 302 │ │ │ │ │ + bgt.w 324 │ │ │ │ │ cmp r5, r4 │ │ │ │ │ - ble.w 5b8 │ │ │ │ │ + ble.w 5f6 │ │ │ │ │ + ldr r0, [sp, #16] │ │ │ │ │ ldrd r3, r2, [sp, #36] @ 0x24 │ │ │ │ │ ldr r1, [sp, #44] @ 0x2c │ │ │ │ │ - adds r3, r2, r3 │ │ │ │ │ - ldr r0, [sp, #16] │ │ │ │ │ + add r3, r2 │ │ │ │ │ mov r5, r2 │ │ │ │ │ - str r1, [sp, #32] │ │ │ │ │ add.w r3, r3, r3, lsr #31 │ │ │ │ │ - subs r1, r0, r1 │ │ │ │ │ + mov.w r3, r3, asr #1 │ │ │ │ │ + sub.w r7, r3, r2 │ │ │ │ │ + strd r3, r1, [sp, #28] │ │ │ │ │ + sub.w r1, r0, r1 │ │ │ │ │ str r1, [sp, #40] @ 0x28 │ │ │ │ │ - asrs r3, r3, #1 │ │ │ │ │ - str r3, [sp, #28] │ │ │ │ │ - subs r7, r3, r2 │ │ │ │ │ ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ cmp r2, r7 │ │ │ │ │ mov r3, r2 │ │ │ │ │ ite ge │ │ │ │ │ movge r3, #1 │ │ │ │ │ movlt r3, #0 │ │ │ │ │ cmp r4, r2 │ │ │ │ │ it ge │ │ │ │ │ movge r3, #0 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bne.w 19e │ │ │ │ │ + bne.w 1b6 │ │ │ │ │ cmp r4, r7 │ │ │ │ │ - bge.w 2de │ │ │ │ │ - ldr r3, [sp, #28] │ │ │ │ │ - ldr r2, [sp, #32] │ │ │ │ │ + bge.w 2fe │ │ │ │ │ + ldrd r3, r2, [sp, #28] │ │ │ │ │ add.w r9, r3, r5 │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ mov sl, r2 │ │ │ │ │ add.w r9, r9, r9, lsr #31 │ │ │ │ │ - sub.w fp, r3, r2 │ │ │ │ │ mov.w r9, r9, asr #1 │ │ │ │ │ + sub.w fp, r3, r2 │ │ │ │ │ sub.w r6, r9, r5 │ │ │ │ │ cmp fp, r6 │ │ │ │ │ ite ge │ │ │ │ │ movge r3, #1 │ │ │ │ │ movlt r3, #0 │ │ │ │ │ cmp r4, fp │ │ │ │ │ it ge │ │ │ │ │ movge r3, #0 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bne.n 116 │ │ │ │ │ + bne.n 12c │ │ │ │ │ cmp r4, r6 │ │ │ │ │ - bge.n 186 │ │ │ │ │ - add.w r8, r9, r5 │ │ │ │ │ + bge.n 19c │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ + add.w r8, r9, r5 │ │ │ │ │ mov r0, sl │ │ │ │ │ add.w r8, r8, r8, lsr #31 │ │ │ │ │ - sub.w r6, r3, sl │ │ │ │ │ mov.w r8, r8, asr #1 │ │ │ │ │ + sub.w r6, r3, sl │ │ │ │ │ sub.w r7, r8, r5 │ │ │ │ │ cmp r6, r7 │ │ │ │ │ ite ge │ │ │ │ │ movge r3, #1 │ │ │ │ │ movlt r3, #0 │ │ │ │ │ cmp r4, r6 │ │ │ │ │ it ge │ │ │ │ │ movge r3, #0 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bne.w 6f0 │ │ │ │ │ + bne.w 758 │ │ │ │ │ cmp r4, r7 │ │ │ │ │ - bge.n 100 │ │ │ │ │ + bge.n 116 │ │ │ │ │ add.w r7, r8, r5 │ │ │ │ │ - ldr r3, [sp, #24] │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ + ldr r1, [sp, #16] │ │ │ │ │ mov r2, r5 │ │ │ │ │ add.w r7, r7, r7, lsr #31 │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ + ldr r3, [sp, #24] │ │ │ │ │ + mov.w r7, r7, asr #1 │ │ │ │ │ + mov r5, r7 │ │ │ │ │ + str r3, [sp, #8] │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ - strd r4, r3, [sp] │ │ │ │ │ - asrs r7, r7, #1 │ │ │ │ │ - ldr r1, [sp, #16] │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ mov r3, r7 │ │ │ │ │ + sub.w r7, r8, r7 │ │ │ │ │ str r0, [sp, #52] @ 0x34 │ │ │ │ │ - mov r5, r7 │ │ │ │ │ bl 0 │ │ │ │ │ - sub.w r7, r8, r7 │ │ │ │ │ ldr r0, [sp, #52] @ 0x34 │ │ │ │ │ - b.n be │ │ │ │ │ + b.n d2 │ │ │ │ │ ldr r3, [sp, #24] │ │ │ │ │ mov r2, r5 │ │ │ │ │ + sub.w r6, r9, r8 │ │ │ │ │ + ldrd r1, r5, [sp, #16] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, r8 │ │ │ │ │ - ldrd r1, r5, [sp, #16] │ │ │ │ │ blx r5 │ │ │ │ │ - sub.w r6, r9, r8 │ │ │ │ │ mov r5, r8 │ │ │ │ │ - b.n 90 │ │ │ │ │ + b.n a4 │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ mov r2, r5 │ │ │ │ │ sub.w r8, r9, r5 │ │ │ │ │ add.w fp, r3, sl │ │ │ │ │ add.w fp, fp, fp, lsr #31 │ │ │ │ │ mov.w fp, fp, asr #1 │ │ │ │ │ sub.w r7, fp, sl │ │ │ │ │ @@ -125,293 +126,285 @@ │ │ │ │ │ ite ge │ │ │ │ │ movge r3, #1 │ │ │ │ │ movlt r3, #0 │ │ │ │ │ cmp r4, r7 │ │ │ │ │ it ge │ │ │ │ │ movge r3, #0 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bne.w 6c6 │ │ │ │ │ + bne.w 72c │ │ │ │ │ cmp r4, r8 │ │ │ │ │ - bge.n 16e │ │ │ │ │ - add.w r8, r9, r2 │ │ │ │ │ + bge.n 184 │ │ │ │ │ ldr r3, [sp, #24] │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ + add.w r8, r9, r2 │ │ │ │ │ mov r1, fp │ │ │ │ │ add.w r8, r8, r8, lsr #31 │ │ │ │ │ - ldr r3, [sp, #20] │ │ │ │ │ - strd r4, r3, [sp] │ │ │ │ │ mov r0, sl │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ mov.w r8, r8, asr #1 │ │ │ │ │ + str r3, [sp, #8] │ │ │ │ │ + ldr r3, [sp, #20] │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ mov r3, r8 │ │ │ │ │ bl 0 │ │ │ │ │ mov r2, r8 │ │ │ │ │ sub.w r8, r9, r8 │ │ │ │ │ - b.n 12e │ │ │ │ │ - ldr r3, [sp, #24] │ │ │ │ │ + b.n 144 │ │ │ │ │ + ldrd r7, r3, [sp, #20] │ │ │ │ │ mov r1, fp │ │ │ │ │ mov r0, sl │ │ │ │ │ + mov sl, fp │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - ldr r7, [sp, #20] │ │ │ │ │ mov r3, r9 │ │ │ │ │ blx r7 │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ - mov sl, fp │ │ │ │ │ sub.w fp, r3, fp │ │ │ │ │ - b.n 90 │ │ │ │ │ + b.n a4 │ │ │ │ │ ldr r3, [sp, #24] │ │ │ │ │ mov r2, r5 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ mov r0, sl │ │ │ │ │ - ldr r5, [sp, #20] │ │ │ │ │ + ldrd r1, r5, [sp, #16] │ │ │ │ │ + str r3, [sp, #0] │ │ │ │ │ mov r3, r9 │ │ │ │ │ - ldr r1, [sp, #16] │ │ │ │ │ blx r5 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ mov r5, r9 │ │ │ │ │ - subs r7, r3, r5 │ │ │ │ │ - b.n 56 │ │ │ │ │ - ldr r2, [sp, #32] │ │ │ │ │ - mov sl, r5 │ │ │ │ │ + sub.w r7, r3, r5 │ │ │ │ │ + b.n 6a │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ + mov sl, r5 │ │ │ │ │ str r5, [sp, #40] @ 0x28 │ │ │ │ │ + ldr r2, [sp, #32] │ │ │ │ │ add r3, r2 │ │ │ │ │ add.w r3, r3, r3, lsr #31 │ │ │ │ │ - asrs r3, r3, #1 │ │ │ │ │ - str r3, [sp, #32] │ │ │ │ │ + mov.w r3, r3, asr #1 │ │ │ │ │ sub.w fp, r3, r2 │ │ │ │ │ + str r3, [sp, #32] │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ - subs r6, r3, r5 │ │ │ │ │ + sub.w r6, r3, r5 │ │ │ │ │ mov r5, r2 │ │ │ │ │ cmp fp, r6 │ │ │ │ │ ite ge │ │ │ │ │ movge r3, #1 │ │ │ │ │ movlt r3, #0 │ │ │ │ │ cmp r4, fp │ │ │ │ │ it ge │ │ │ │ │ movge r3, #0 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bne.n 244 │ │ │ │ │ + bne.n 262 │ │ │ │ │ cmp r4, r6 │ │ │ │ │ - bge.n 2ba │ │ │ │ │ + bge.n 2d8 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ mov r0, r5 │ │ │ │ │ add.w r9, r3, sl │ │ │ │ │ ldr r3, [sp, #32] │ │ │ │ │ add.w r9, r9, r9, lsr #31 │ │ │ │ │ - subs r6, r3, r5 │ │ │ │ │ mov.w r9, r9, asr #1 │ │ │ │ │ + sub.w r6, r3, r5 │ │ │ │ │ sub.w r8, r9, sl │ │ │ │ │ cmp r6, r8 │ │ │ │ │ ite ge │ │ │ │ │ movge r3, #1 │ │ │ │ │ movlt r3, #0 │ │ │ │ │ cmp r4, r6 │ │ │ │ │ it ge │ │ │ │ │ movge r3, #0 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bne.w 674 │ │ │ │ │ + bne.w 6d4 │ │ │ │ │ cmp r4, r8 │ │ │ │ │ - bge.n 22c │ │ │ │ │ - add.w r8, r9, sl │ │ │ │ │ + bge.n 24a │ │ │ │ │ ldr r3, [sp, #24] │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ + add.w r8, r9, sl │ │ │ │ │ mov r2, sl │ │ │ │ │ add.w r8, r8, r8, lsr #31 │ │ │ │ │ - ldr r3, [sp, #20] │ │ │ │ │ - strd r4, r3, [sp] │ │ │ │ │ - mov.w r8, r8, asr #1 │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ ldr r1, [sp, #32] │ │ │ │ │ + mov.w r8, r8, asr #1 │ │ │ │ │ + str r3, [sp, #8] │ │ │ │ │ + mov sl, r8 │ │ │ │ │ + ldr r3, [sp, #20] │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ mov r3, r8 │ │ │ │ │ + sub.w r8, r9, r8 │ │ │ │ │ str r0, [sp, #52] @ 0x34 │ │ │ │ │ - mov sl, r8 │ │ │ │ │ bl 0 │ │ │ │ │ - sub.w r8, r9, r8 │ │ │ │ │ ldr r0, [sp, #52] @ 0x34 │ │ │ │ │ - b.n 1e8 │ │ │ │ │ - ldr r3, [sp, #24] │ │ │ │ │ + b.n 206 │ │ │ │ │ + ldrd r6, r3, [sp, #20] │ │ │ │ │ mov r2, sl │ │ │ │ │ - ldr r6, [sp, #20] │ │ │ │ │ mov sl, r9 │ │ │ │ │ + ldr r1, [sp, #32] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, r9 │ │ │ │ │ - ldr r1, [sp, #32] │ │ │ │ │ blx r6 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ sub.w r6, r3, r9 │ │ │ │ │ - b.n 1ba │ │ │ │ │ + b.n 1d6 │ │ │ │ │ ldr r3, [sp, #32] │ │ │ │ │ mov r2, sl │ │ │ │ │ add.w fp, r3, r5 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ add.w fp, fp, fp, lsr #31 │ │ │ │ │ - sub.w r9, r3, sl │ │ │ │ │ mov.w fp, fp, asr #1 │ │ │ │ │ + sub.w r9, r3, sl │ │ │ │ │ sub.w r8, fp, r5 │ │ │ │ │ cmp r8, r9 │ │ │ │ │ ite ge │ │ │ │ │ movge r3, #1 │ │ │ │ │ movlt r3, #0 │ │ │ │ │ cmp r4, r8 │ │ │ │ │ it ge │ │ │ │ │ movge r3, #0 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bne.w 69a │ │ │ │ │ + bne.w 700 │ │ │ │ │ cmp r4, r9 │ │ │ │ │ - bge.n 2a2 │ │ │ │ │ - ldr r3, [sp, #28] │ │ │ │ │ + bge.n 2c0 │ │ │ │ │ + ldrd r1, r3, [sp, #24] │ │ │ │ │ mov r0, r5 │ │ │ │ │ - ldr r1, [sp, #24] │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ add.w r9, r3, r2 │ │ │ │ │ str r1, [sp, #8] │ │ │ │ │ ldr r1, [sp, #20] │ │ │ │ │ add.w r9, r9, r9, lsr #31 │ │ │ │ │ - strd r4, r1, [sp] │ │ │ │ │ - mov r1, fp │ │ │ │ │ mov.w r9, r9, asr #1 │ │ │ │ │ mov r3, r9 │ │ │ │ │ + str r1, [sp, #4] │ │ │ │ │ + mov r1, fp │ │ │ │ │ bl 0 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ mov r2, r9 │ │ │ │ │ sub.w r9, r3, r9 │ │ │ │ │ - b.n 25e │ │ │ │ │ - ldr r3, [sp, #24] │ │ │ │ │ - mov r1, fp │ │ │ │ │ + b.n 27c │ │ │ │ │ mov r0, r5 │ │ │ │ │ + ldrd r5, r3, [sp, #20] │ │ │ │ │ + mov r1, fp │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - ldr r5, [sp, #20] │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ blx r5 │ │ │ │ │ ldr r3, [sp, #32] │ │ │ │ │ mov r5, fp │ │ │ │ │ sub.w fp, r3, fp │ │ │ │ │ - b.n 1ba │ │ │ │ │ - ldr.w r8, [sp, #32] │ │ │ │ │ + b.n 1d6 │ │ │ │ │ + ldrd r6, r3, [sp, #20] │ │ │ │ │ mov r0, r5 │ │ │ │ │ - ldr r3, [sp, #24] │ │ │ │ │ mov r2, sl │ │ │ │ │ + ldr.w r8, [sp, #32] │ │ │ │ │ + ldr r5, [sp, #40] @ 0x28 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - mov r1, r8 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ - ldr r6, [sp, #20] │ │ │ │ │ - ldr r5, [sp, #40] @ 0x28 │ │ │ │ │ + mov r1, r8 │ │ │ │ │ blx r6 │ │ │ │ │ ldr r2, [sp, #16] │ │ │ │ │ mov r3, r8 │ │ │ │ │ str.w r8, [sp, #32] │ │ │ │ │ - subs r3, r2, r3 │ │ │ │ │ + sub.w r3, r2, r3 │ │ │ │ │ str r3, [sp, #40] @ 0x28 │ │ │ │ │ - b.n 56 │ │ │ │ │ - ldr r6, [sp, #28] │ │ │ │ │ + b.n 6a │ │ │ │ │ + ldrd r3, r6, [sp, #24] │ │ │ │ │ mov r2, r5 │ │ │ │ │ - ldr r3, [sp, #24] │ │ │ │ │ - ldr r5, [sp, #20] │ │ │ │ │ + ldrd r1, r5, [sp, #16] │ │ │ │ │ + ldr r0, [sp, #32] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, r6 │ │ │ │ │ - ldr r1, [sp, #16] │ │ │ │ │ - ldr r0, [sp, #32] │ │ │ │ │ blx r5 │ │ │ │ │ ldr r2, [sp, #36] @ 0x24 │ │ │ │ │ - ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ - subs r5, r2, r6 │ │ │ │ │ str r6, [sp, #40] @ 0x28 │ │ │ │ │ + ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ + sub.w r5, r2, r6 │ │ │ │ │ cmp r3, r5 │ │ │ │ │ it ge │ │ │ │ │ cmpge r3, r4 │ │ │ │ │ - ble.w 34 │ │ │ │ │ - ldr r2, [sp, #44] @ 0x2c │ │ │ │ │ + ble.w 42 │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ - ldr r1, [sp, #40] @ 0x28 │ │ │ │ │ - adds r3, r2, r3 │ │ │ │ │ str r5, [sp, #48] @ 0x30 │ │ │ │ │ + ldrd r1, r2, [sp, #40] @ 0x28 │ │ │ │ │ + add r3, r2 │ │ │ │ │ mov sl, r1 │ │ │ │ │ add.w r3, r3, r3, lsr #31 │ │ │ │ │ - asrs r3, r3, #1 │ │ │ │ │ - str r3, [sp, #28] │ │ │ │ │ - subs r7, r3, r2 │ │ │ │ │ + mov.w r3, r3, asr #1 │ │ │ │ │ + sub.w r7, r3, r2 │ │ │ │ │ + strd r3, r7, [sp, #28] │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ - str r7, [sp, #32] │ │ │ │ │ - subs r6, r3, r1 │ │ │ │ │ + sub.w r6, r3, r1 │ │ │ │ │ mov r5, r6 │ │ │ │ │ ldr r2, [sp, #32] │ │ │ │ │ cmp r2, r5 │ │ │ │ │ mov r3, r2 │ │ │ │ │ ite ge │ │ │ │ │ movge r3, #1 │ │ │ │ │ movlt r3, #0 │ │ │ │ │ cmp r4, r2 │ │ │ │ │ it ge │ │ │ │ │ movge r3, #0 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bne.w 462 │ │ │ │ │ + bne.w 492 │ │ │ │ │ cmp r4, r5 │ │ │ │ │ - bge.w 59a │ │ │ │ │ + bge.w 5d6 │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ ldr r2, [sp, #44] @ 0x2c │ │ │ │ │ add.w r8, r3, sl │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ - mov r9, r2 │ │ │ │ │ add.w r8, r8, r8, lsr #31 │ │ │ │ │ - sub.w fp, r3, r2 │ │ │ │ │ + mov r9, r2 │ │ │ │ │ mov.w r8, r8, asr #1 │ │ │ │ │ + sub.w fp, r3, r2 │ │ │ │ │ sub.w r5, r8, sl │ │ │ │ │ cmp fp, r5 │ │ │ │ │ ite ge │ │ │ │ │ movge r3, #1 │ │ │ │ │ movlt r3, #0 │ │ │ │ │ cmp r4, fp │ │ │ │ │ it ge │ │ │ │ │ movge r3, #0 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bne.n 3dc │ │ │ │ │ + bne.n 40a │ │ │ │ │ cmp r4, r5 │ │ │ │ │ - bge.n 448 │ │ │ │ │ - add.w r7, r8, sl │ │ │ │ │ + bge.n 478 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ + add.w r7, r8, sl │ │ │ │ │ mov r0, r9 │ │ │ │ │ add.w r7, r7, r7, lsr #31 │ │ │ │ │ + mov.w r7, r7, asr #1 │ │ │ │ │ sub.w r5, r3, r9 │ │ │ │ │ - asrs r7, r7, #1 │ │ │ │ │ sub.w r6, r7, sl │ │ │ │ │ cmp r5, r6 │ │ │ │ │ ite ge │ │ │ │ │ movge r3, #1 │ │ │ │ │ movlt r3, #0 │ │ │ │ │ cmp r4, r5 │ │ │ │ │ it ge │ │ │ │ │ movge r3, #0 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bne.w 5fe │ │ │ │ │ + bne.w 650 │ │ │ │ │ cmp r4, r6 │ │ │ │ │ - bge.n 3c6 │ │ │ │ │ + bge.n 3f4 │ │ │ │ │ + ldrd r3, r1, [sp, #24] │ │ │ │ │ add.w r6, r7, sl │ │ │ │ │ - ldr r3, [sp, #24] │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ mov r2, sl │ │ │ │ │ add.w r6, r6, r6, lsr #31 │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ + mov.w r6, r6, asr #1 │ │ │ │ │ + str r3, [sp, #8] │ │ │ │ │ + mov sl, r6 │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ - strd r4, r3, [sp] │ │ │ │ │ - asrs r6, r6, #1 │ │ │ │ │ - ldr r1, [sp, #28] │ │ │ │ │ - mov r3, r6 │ │ │ │ │ str r0, [sp, #52] @ 0x34 │ │ │ │ │ - mov sl, r6 │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ + mov r3, r6 │ │ │ │ │ + sub.w r6, r7, r6 │ │ │ │ │ bl 0 │ │ │ │ │ - subs r6, r7, r6 │ │ │ │ │ ldr r0, [sp, #52] @ 0x34 │ │ │ │ │ - b.n 386 │ │ │ │ │ - ldr r3, [sp, #24] │ │ │ │ │ + b.n 3b0 │ │ │ │ │ + ldrd r5, r3, [sp, #20] │ │ │ │ │ mov r2, sl │ │ │ │ │ - ldr r5, [sp, #20] │ │ │ │ │ mov sl, r7 │ │ │ │ │ + ldr r1, [sp, #28] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, r7 │ │ │ │ │ - ldr r1, [sp, #28] │ │ │ │ │ blx r5 │ │ │ │ │ sub.w r5, r8, r7 │ │ │ │ │ - b.n 35a │ │ │ │ │ + b.n 382 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ mov r2, sl │ │ │ │ │ sub.w r7, r8, sl │ │ │ │ │ add r3, r9 │ │ │ │ │ add.w r3, r3, r3, lsr #31 │ │ │ │ │ mov.w fp, r3, asr #1 │ │ │ │ │ sub.w r6, fp, r9 │ │ │ │ │ @@ -419,344 +412,353 @@ │ │ │ │ │ ite ge │ │ │ │ │ movge r3, #1 │ │ │ │ │ movlt r3, #0 │ │ │ │ │ cmp r4, r6 │ │ │ │ │ it ge │ │ │ │ │ movge r3, #0 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bne.w 5d4 │ │ │ │ │ + bne.w 624 │ │ │ │ │ cmp r4, r7 │ │ │ │ │ - bge.n 430 │ │ │ │ │ - add.w r7, r8, r2 │ │ │ │ │ + bge.n 460 │ │ │ │ │ ldr r3, [sp, #24] │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ + add.w r7, r8, r2 │ │ │ │ │ mov r1, fp │ │ │ │ │ add.w r7, r7, r7, lsr #31 │ │ │ │ │ - ldr r3, [sp, #20] │ │ │ │ │ - strd r4, r3, [sp] │ │ │ │ │ mov r0, r9 │ │ │ │ │ - asrs r7, r7, #1 │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ + mov.w r7, r7, asr #1 │ │ │ │ │ + str r3, [sp, #8] │ │ │ │ │ + ldr r3, [sp, #20] │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ mov r3, r7 │ │ │ │ │ bl 0 │ │ │ │ │ mov r2, r7 │ │ │ │ │ sub.w r7, r8, r7 │ │ │ │ │ - b.n 3f2 │ │ │ │ │ - ldr r3, [sp, #24] │ │ │ │ │ + b.n 420 │ │ │ │ │ + ldrd r6, r3, [sp, #20] │ │ │ │ │ mov r1, fp │ │ │ │ │ mov r0, r9 │ │ │ │ │ + mov r9, fp │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - ldr r6, [sp, #20] │ │ │ │ │ mov r3, r8 │ │ │ │ │ blx r6 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ - mov r9, fp │ │ │ │ │ sub.w fp, r3, fp │ │ │ │ │ - b.n 35a │ │ │ │ │ - ldr r3, [sp, #24] │ │ │ │ │ + b.n 382 │ │ │ │ │ + ldrd r5, r3, [sp, #20] │ │ │ │ │ mov r2, sl │ │ │ │ │ - ldr r5, [sp, #20] │ │ │ │ │ mov r0, r9 │ │ │ │ │ + mov sl, r8 │ │ │ │ │ + ldr r1, [sp, #28] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, r8 │ │ │ │ │ - ldr r1, [sp, #28] │ │ │ │ │ - mov sl, r8 │ │ │ │ │ blx r5 │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ sub.w r5, r3, r8 │ │ │ │ │ - b.n 320 │ │ │ │ │ - ldr r2, [sp, #44] @ 0x2c │ │ │ │ │ - mov r9, sl │ │ │ │ │ + b.n 348 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ + mov r9, sl │ │ │ │ │ + ldr r2, [sp, #44] @ 0x2c │ │ │ │ │ str r5, [sp, #44] @ 0x2c │ │ │ │ │ add r3, r2 │ │ │ │ │ add.w r3, r3, r3, lsr #31 │ │ │ │ │ - asrs r1, r3, #1 │ │ │ │ │ + mov.w r1, r3, asr #1 │ │ │ │ │ mov r3, r2 │ │ │ │ │ - subs r6, r1, r2 │ │ │ │ │ - ldr r2, [sp, #36] @ 0x24 │ │ │ │ │ mov r5, r3 │ │ │ │ │ + sub.w r6, r1, r2 │ │ │ │ │ + ldr r2, [sp, #36] @ 0x24 │ │ │ │ │ str r1, [sp, #32] │ │ │ │ │ sub.w r7, r2, sl │ │ │ │ │ cmp r6, r7 │ │ │ │ │ ite ge │ │ │ │ │ movge r3, #1 │ │ │ │ │ movlt r3, #0 │ │ │ │ │ cmp r4, r6 │ │ │ │ │ it ge │ │ │ │ │ movge r3, #0 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bne.n 50a │ │ │ │ │ + bne.n 540 │ │ │ │ │ cmp r4, r7 │ │ │ │ │ - bge.n 57c │ │ │ │ │ + bge.n 5b6 │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ mov r0, r5 │ │ │ │ │ add.w fp, r3, r9 │ │ │ │ │ ldr r3, [sp, #32] │ │ │ │ │ add.w fp, fp, fp, lsr #31 │ │ │ │ │ - subs r7, r3, r5 │ │ │ │ │ mov.w fp, fp, asr #1 │ │ │ │ │ + sub.w r7, r3, r5 │ │ │ │ │ sub.w r8, fp, r9 │ │ │ │ │ cmp r7, r8 │ │ │ │ │ ite ge │ │ │ │ │ movge r3, #1 │ │ │ │ │ movlt r3, #0 │ │ │ │ │ cmp r4, r7 │ │ │ │ │ it ge │ │ │ │ │ movge r3, #0 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bne.w 64e │ │ │ │ │ + bne.w 6a8 │ │ │ │ │ cmp r4, r8 │ │ │ │ │ - bge.n 4f2 │ │ │ │ │ - add.w r8, fp, r9 │ │ │ │ │ + bge.n 528 │ │ │ │ │ ldr r3, [sp, #24] │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ + add.w r8, fp, r9 │ │ │ │ │ mov r2, r9 │ │ │ │ │ add.w r8, r8, r8, lsr #31 │ │ │ │ │ - ldr r3, [sp, #20] │ │ │ │ │ - strd r4, r3, [sp] │ │ │ │ │ - mov.w r8, r8, asr #1 │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ ldr r1, [sp, #32] │ │ │ │ │ + mov.w r8, r8, asr #1 │ │ │ │ │ + str r3, [sp, #8] │ │ │ │ │ + mov r9, r8 │ │ │ │ │ + ldr r3, [sp, #20] │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ mov r3, r8 │ │ │ │ │ + sub.w r8, fp, r8 │ │ │ │ │ str r0, [sp, #52] @ 0x34 │ │ │ │ │ - mov r9, r8 │ │ │ │ │ bl 0 │ │ │ │ │ - sub.w r8, fp, r8 │ │ │ │ │ ldr r0, [sp, #52] @ 0x34 │ │ │ │ │ - b.n 4ae │ │ │ │ │ - ldr r3, [sp, #24] │ │ │ │ │ + b.n 4e4 │ │ │ │ │ + ldrd r7, r3, [sp, #20] │ │ │ │ │ mov r2, r9 │ │ │ │ │ - ldr r7, [sp, #20] │ │ │ │ │ mov r9, fp │ │ │ │ │ + ldr r1, [sp, #32] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, fp │ │ │ │ │ - ldr r1, [sp, #32] │ │ │ │ │ blx r7 │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ sub.w r7, r3, fp │ │ │ │ │ - b.n 480 │ │ │ │ │ + b.n 4b4 │ │ │ │ │ ldr r3, [sp, #32] │ │ │ │ │ mov r2, r9 │ │ │ │ │ add.w fp, r3, r5 │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ add.w fp, fp, fp, lsr #31 │ │ │ │ │ - sub.w r8, r3, r9 │ │ │ │ │ mov.w fp, fp, asr #1 │ │ │ │ │ + sub.w r8, r3, r9 │ │ │ │ │ sub.w r6, fp, r5 │ │ │ │ │ cmp r6, r8 │ │ │ │ │ ite ge │ │ │ │ │ movge r3, #1 │ │ │ │ │ movlt r3, #0 │ │ │ │ │ cmp r4, r6 │ │ │ │ │ it ge │ │ │ │ │ movge r3, #0 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bne.n 624 │ │ │ │ │ + bne.w 67c │ │ │ │ │ cmp r4, r8 │ │ │ │ │ - bge.n 566 │ │ │ │ │ - ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ - mov r0, r5 │ │ │ │ │ + bge.n 59e │ │ │ │ │ ldr r1, [sp, #24] │ │ │ │ │ - add.w r8, r3, r2 │ │ │ │ │ + mov r0, r5 │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ + ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ str r1, [sp, #8] │ │ │ │ │ ldr r1, [sp, #20] │ │ │ │ │ + add.w r8, r3, r2 │ │ │ │ │ add.w r8, r8, r8, lsr #31 │ │ │ │ │ - strd r4, r1, [sp] │ │ │ │ │ - mov r1, fp │ │ │ │ │ mov.w r8, r8, asr #1 │ │ │ │ │ + str r1, [sp, #4] │ │ │ │ │ + mov r1, fp │ │ │ │ │ mov r3, r8 │ │ │ │ │ bl 0 │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ mov r2, r8 │ │ │ │ │ sub.w r8, r3, r8 │ │ │ │ │ - b.n 524 │ │ │ │ │ - ldr r3, [sp, #24] │ │ │ │ │ + b.n 55a │ │ │ │ │ mov r0, r5 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ + ldrd r5, r3, [sp, #20] │ │ │ │ │ mov r1, fp │ │ │ │ │ + str r3, [sp, #0] │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ - ldr r5, [sp, #20] │ │ │ │ │ blx r5 │ │ │ │ │ ldr r3, [sp, #32] │ │ │ │ │ mov r5, fp │ │ │ │ │ - subs r6, r3, r5 │ │ │ │ │ - b.n 480 │ │ │ │ │ - ldr r7, [sp, #32] │ │ │ │ │ + sub.w r6, r3, r5 │ │ │ │ │ + b.n 4b4 │ │ │ │ │ + ldrd r6, r3, [sp, #20] │ │ │ │ │ mov r0, r5 │ │ │ │ │ - ldr r3, [sp, #24] │ │ │ │ │ mov r2, r9 │ │ │ │ │ + ldr r7, [sp, #32] │ │ │ │ │ + ldr r5, [sp, #44] @ 0x2c │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - mov r1, r7 │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ - ldr r6, [sp, #20] │ │ │ │ │ - ldr r5, [sp, #44] @ 0x2c │ │ │ │ │ + mov r1, r7 │ │ │ │ │ blx r6 │ │ │ │ │ ldr r2, [sp, #28] │ │ │ │ │ str r7, [sp, #44] @ 0x2c │ │ │ │ │ - subs r3, r2, r7 │ │ │ │ │ + sub.w r3, r2, r7 │ │ │ │ │ str r3, [sp, #32] │ │ │ │ │ - b.n 320 │ │ │ │ │ - ldr r7, [sp, #28] │ │ │ │ │ + b.n 348 │ │ │ │ │ + ldrd r6, r3, [sp, #20] │ │ │ │ │ mov r2, sl │ │ │ │ │ - ldr r3, [sp, #24] │ │ │ │ │ + ldr r7, [sp, #28] │ │ │ │ │ + ldrd r0, r5, [sp, #44] @ 0x2c │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - mov r1, r7 │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ - ldr r0, [sp, #44] @ 0x2c │ │ │ │ │ - ldr r6, [sp, #20] │ │ │ │ │ - ldr r5, [sp, #48] @ 0x30 │ │ │ │ │ + mov r1, r7 │ │ │ │ │ blx r6 │ │ │ │ │ ldr r2, [sp, #16] │ │ │ │ │ str r7, [sp, #44] @ 0x2c │ │ │ │ │ - subs r3, r2, r7 │ │ │ │ │ + sub.w r3, r2, r7 │ │ │ │ │ str r3, [sp, #48] @ 0x30 │ │ │ │ │ - b.n 28 │ │ │ │ │ + b.n 36 │ │ │ │ │ + ldr r1, [sp, #16] │ │ │ │ │ vldr s15, [sp, #20] │ │ │ │ │ ldr r3, [sp, #24] │ │ │ │ │ - str r3, [sp, #96] @ 0x60 │ │ │ │ │ + ldrd r2, r0, [sp, #40] @ 0x28 │ │ │ │ │ vmov ip, s15 │ │ │ │ │ - ldr r1, [sp, #16] │ │ │ │ │ - ldrd r3, r2, [sp, #36] @ 0x24 │ │ │ │ │ - ldr r0, [sp, #44] @ 0x2c │ │ │ │ │ + str r3, [sp, #96] @ 0x60 │ │ │ │ │ + ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ add sp, #60 @ 0x3c │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ bx ip │ │ │ │ │ - add.w r6, fp, r9 │ │ │ │ │ ldr r3, [sp, #24] │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ + add.w r6, fp, r9 │ │ │ │ │ mov r0, r9 │ │ │ │ │ add.w r6, r6, r6, lsr #31 │ │ │ │ │ - ldr r3, [sp, #20] │ │ │ │ │ - strd r4, r3, [sp] │ │ │ │ │ - mov r3, r8 │ │ │ │ │ - asrs r6, r6, #1 │ │ │ │ │ - str r2, [sp, #52] @ 0x34 │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ + mov.w r6, r6, asr #1 │ │ │ │ │ + str r3, [sp, #8] │ │ │ │ │ mov r1, r6 │ │ │ │ │ mov r9, r6 │ │ │ │ │ - bl 0 │ │ │ │ │ + ldr r3, [sp, #20] │ │ │ │ │ sub.w r6, fp, r6 │ │ │ │ │ + str r2, [sp, #52] @ 0x34 │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ + mov r3, r8 │ │ │ │ │ + bl 0 │ │ │ │ │ ldr r2, [sp, #52] @ 0x34 │ │ │ │ │ - b.n 3f2 │ │ │ │ │ - ldr r3, [sp, #28] │ │ │ │ │ - ldr r2, [sp, #24] │ │ │ │ │ - adds r5, r3, r0 │ │ │ │ │ + b.n 420 │ │ │ │ │ + ldrd r2, r3, [sp, #24] │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ + add.w r5, r3, r0 │ │ │ │ │ str r2, [sp, #8] │ │ │ │ │ - ldr r2, [sp, #20] │ │ │ │ │ mov r3, r7 │ │ │ │ │ + ldr r2, [sp, #20] │ │ │ │ │ add.w r5, r5, r5, lsr #31 │ │ │ │ │ - strd r4, r2, [sp] │ │ │ │ │ - mov r2, sl │ │ │ │ │ - asrs r5, r5, #1 │ │ │ │ │ + mov.w r5, r5, asr #1 │ │ │ │ │ mov r1, r5 │ │ │ │ │ + str r2, [sp, #4] │ │ │ │ │ + mov r2, sl │ │ │ │ │ bl 0 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ mov r0, r5 │ │ │ │ │ - subs r5, r3, r5 │ │ │ │ │ - b.n 386 │ │ │ │ │ - add.w r6, fp, r5 │ │ │ │ │ + sub.w r5, r3, r5 │ │ │ │ │ + b.n 3b0 │ │ │ │ │ ldr r3, [sp, #24] │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ + add.w r6, fp, r5 │ │ │ │ │ mov r0, r5 │ │ │ │ │ add.w r6, r6, r6, lsr #31 │ │ │ │ │ - ldr r3, [sp, #20] │ │ │ │ │ - strd r4, r3, [sp] │ │ │ │ │ - asrs r6, r6, #1 │ │ │ │ │ - ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ + mov.w r6, r6, asr #1 │ │ │ │ │ + str r3, [sp, #8] │ │ │ │ │ mov r1, r6 │ │ │ │ │ - str r2, [sp, #52] @ 0x34 │ │ │ │ │ mov r5, r6 │ │ │ │ │ - bl 0 │ │ │ │ │ + ldr r3, [sp, #20] │ │ │ │ │ sub.w r6, fp, r6 │ │ │ │ │ + str r2, [sp, #52] @ 0x34 │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ + ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ + bl 0 │ │ │ │ │ ldr r2, [sp, #52] @ 0x34 │ │ │ │ │ - b.n 524 │ │ │ │ │ - ldr r3, [sp, #32] │ │ │ │ │ + b.n 55a │ │ │ │ │ ldr r2, [sp, #24] │ │ │ │ │ - adds r7, r3, r0 │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ + ldr r3, [sp, #32] │ │ │ │ │ str r2, [sp, #8] │ │ │ │ │ ldr r2, [sp, #20] │ │ │ │ │ + add.w r7, r3, r0 │ │ │ │ │ mov r3, fp │ │ │ │ │ add.w r7, r7, r7, lsr #31 │ │ │ │ │ - strd r4, r2, [sp] │ │ │ │ │ + mov.w r7, r7, asr #1 │ │ │ │ │ + str r2, [sp, #4] │ │ │ │ │ mov r2, r9 │ │ │ │ │ - asrs r7, r7, #1 │ │ │ │ │ mov r1, r7 │ │ │ │ │ bl 0 │ │ │ │ │ ldr r3, [sp, #32] │ │ │ │ │ mov r0, r7 │ │ │ │ │ - subs r7, r3, r7 │ │ │ │ │ - b.n 4ae │ │ │ │ │ - ldr r3, [sp, #32] │ │ │ │ │ + sub.w r7, r3, r7 │ │ │ │ │ + b.n 4e4 │ │ │ │ │ ldr r2, [sp, #24] │ │ │ │ │ - adds r6, r3, r0 │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ + ldr r3, [sp, #32] │ │ │ │ │ str r2, [sp, #8] │ │ │ │ │ ldr r2, [sp, #20] │ │ │ │ │ + add.w r6, r3, r0 │ │ │ │ │ mov r3, r9 │ │ │ │ │ add.w r6, r6, r6, lsr #31 │ │ │ │ │ - strd r4, r2, [sp] │ │ │ │ │ + mov.w r6, r6, asr #1 │ │ │ │ │ + str r2, [sp, #4] │ │ │ │ │ mov r2, sl │ │ │ │ │ - asrs r6, r6, #1 │ │ │ │ │ mov r1, r6 │ │ │ │ │ bl 0 │ │ │ │ │ ldr r3, [sp, #32] │ │ │ │ │ mov r0, r6 │ │ │ │ │ - subs r6, r3, r6 │ │ │ │ │ - b.n 1e8 │ │ │ │ │ - add.w r8, fp, r5 │ │ │ │ │ + sub.w r6, r3, r6 │ │ │ │ │ + b.n 206 │ │ │ │ │ ldr r3, [sp, #24] │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ + add.w r8, fp, r5 │ │ │ │ │ mov r0, r5 │ │ │ │ │ add.w r8, r8, r8, lsr #31 │ │ │ │ │ - ldr r3, [sp, #20] │ │ │ │ │ - strd r4, r3, [sp] │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ mov.w r8, r8, asr #1 │ │ │ │ │ - ldr r3, [sp, #28] │ │ │ │ │ + str r3, [sp, #8] │ │ │ │ │ mov r1, r8 │ │ │ │ │ - str r2, [sp, #52] @ 0x34 │ │ │ │ │ mov r5, r8 │ │ │ │ │ - bl 0 │ │ │ │ │ + ldr r3, [sp, #20] │ │ │ │ │ sub.w r8, fp, r8 │ │ │ │ │ + str r2, [sp, #52] @ 0x34 │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ + ldr r3, [sp, #28] │ │ │ │ │ + bl 0 │ │ │ │ │ ldr r2, [sp, #52] @ 0x34 │ │ │ │ │ - b.n 25e │ │ │ │ │ - add.w r7, fp, sl │ │ │ │ │ + b.n 27c │ │ │ │ │ ldr r3, [sp, #24] │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ + add.w r7, fp, sl │ │ │ │ │ mov r0, sl │ │ │ │ │ add.w r7, r7, r7, lsr #31 │ │ │ │ │ - ldr r3, [sp, #20] │ │ │ │ │ - strd r4, r3, [sp] │ │ │ │ │ - mov r3, r9 │ │ │ │ │ - asrs r7, r7, #1 │ │ │ │ │ - str r2, [sp, #52] @ 0x34 │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ + mov.w r7, r7, asr #1 │ │ │ │ │ + str r3, [sp, #8] │ │ │ │ │ mov r1, r7 │ │ │ │ │ mov sl, r7 │ │ │ │ │ - bl 0 │ │ │ │ │ + ldr r3, [sp, #20] │ │ │ │ │ sub.w r7, fp, r7 │ │ │ │ │ + str r2, [sp, #52] @ 0x34 │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ + mov r3, r9 │ │ │ │ │ + bl 0 │ │ │ │ │ ldr r2, [sp, #52] @ 0x34 │ │ │ │ │ - b.n 12e │ │ │ │ │ + b.n 144 │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ ldr r2, [sp, #24] │ │ │ │ │ - adds r6, r3, r0 │ │ │ │ │ - str r2, [sp, #8] │ │ │ │ │ - ldr r2, [sp, #20] │ │ │ │ │ + add.w r6, r3, r0 │ │ │ │ │ mov r3, r8 │ │ │ │ │ add.w r6, r6, r6, lsr #31 │ │ │ │ │ - strd r4, r2, [sp] │ │ │ │ │ - mov r2, r5 │ │ │ │ │ - asrs r6, r6, #1 │ │ │ │ │ + str r2, [sp, #8] │ │ │ │ │ + ldr r2, [sp, #20] │ │ │ │ │ + mov.w r6, r6, asr #1 │ │ │ │ │ mov r1, r6 │ │ │ │ │ + str r2, [sp, #4] │ │ │ │ │ + mov r2, r5 │ │ │ │ │ bl 0 │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ mov r0, r6 │ │ │ │ │ - subs r6, r3, r6 │ │ │ │ │ - b.n be │ │ │ │ │ - nop │ │ │ │ │ + sub.w r6, r3, r6 │ │ │ │ │ + b.n d2 │ │ │ │ │ │ │ │ │ │ -00000718 : │ │ │ │ │ +00000784 : │ │ │ │ │ fftw_compute_tilesz(): │ │ │ │ │ mul.w r1, r0, r1 │ │ │ │ │ - push {r3, lr} │ │ │ │ │ + strd r3, lr, [sp, #-8]! │ │ │ │ │ mov.w r0, #8192 @ 0x2000 │ │ │ │ │ - lsls r1, r1, #3 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ - ldmia.w sp!, {r3, lr} │ │ │ │ │ + ldrd r3, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_isqrt │ │ │ │ │ + nop │ │ │ ├── timer.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 632 (bytes into file) │ │ │ │ │ + Start of section headers: 704 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 10 │ │ │ │ │ Section header string table index: 9 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ -There are 10 section headers, starting at offset 0x278: │ │ │ │ │ +There are 10 section headers, starting at offset 0x2c0: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0000a8 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000208 000020 08 I 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0000dc 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0000dc 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .note.GNU-stack PROGBITS 00000000 0000dc 000000 00 0 0 1 │ │ │ │ │ - [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 0000dc 000033 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 000110 000090 10 8 4 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 0001a0 000067 00 0 0 1 │ │ │ │ │ - [ 9] .shstrtab STRTAB 00000000 000228 000050 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0000f0 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000250 000020 08 I 7 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000124 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000124 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .note.GNU-stack PROGBITS 00000000 000124 000000 00 0 0 1 │ │ │ │ │ + [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000124 000033 00 0 0 1 │ │ │ │ │ + [ 7] .symtab SYMTAB 00000000 000158 000090 10 8 4 4 │ │ │ │ │ + [ 8] .strtab STRTAB 00000000 0001e8 000067 00 0 0 1 │ │ │ │ │ + [ 9] .shstrtab STRTAB 00000000 000270 000050 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 9 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000098 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 3: 000000a0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 4: 00000001 28 FUNC GLOBAL DEFAULT 1 fftw_get_crude_time │ │ │ │ │ + 2: 000000e0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000000e8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 4: 00000001 52 FUNC GLOBAL DEFAULT 1 fftw_get_crude_time │ │ │ │ │ 5: 00000000 0 NOTYPE GLOBAL DEFAULT UND __gettimeofday64 │ │ │ │ │ - 6: 0000001d 132 FUNC GLOBAL DEFAULT 1 fftw_elapsed_since │ │ │ │ │ + 6: 00000035 180 FUNC GLOBAL DEFAULT 1 fftw_elapsed_since │ │ │ │ │ 7: 00000000 0 NOTYPE GLOBAL DEFAULT UND __aeabi_l2d │ │ │ │ │ - 8: 000000a1 6 FUNC GLOBAL DEFAULT 1 fftw_measure_execution_time │ │ │ │ │ + 8: 000000e9 6 FUNC GLOBAL DEFAULT 1 fftw_measure_execution_time │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,7 +1,7 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x208 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x250 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000000a 0000050a R_ARM_THM_CALL 00000000 __gettimeofday64 │ │ │ │ │ -0000003e 0000050a R_ARM_THM_CALL 00000000 __gettimeofday64 │ │ │ │ │ -0000004c 0000070a R_ARM_THM_CALL 00000000 __aeabi_l2d │ │ │ │ │ -00000066 0000070a R_ARM_THM_CALL 00000000 __aeabi_l2d │ │ │ │ │ +00000012 0000050a R_ARM_THM_CALL 00000000 __gettimeofday64 │ │ │ │ │ +00000064 0000050a R_ARM_THM_CALL 00000000 __gettimeofday64 │ │ │ │ │ +00000072 0000070a R_ARM_THM_CALL 00000000 __aeabi_l2d │ │ │ │ │ +0000008c 0000070a R_ARM_THM_CALL 00000000 __aeabi_l2d │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,77 +1,92 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_get_crude_time(): │ │ │ │ │ - push {r4, r5, lr} │ │ │ │ │ + str.w r4, [sp, #-12]! │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ mov r4, r0 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + strd r5, lr, [sp, #4] │ │ │ │ │ sub sp, #20 │ │ │ │ │ mov r0, sp │ │ │ │ │ bl 0 <__gettimeofday64> │ │ │ │ │ R_ARM_THM_CALL __gettimeofday64 │ │ │ │ │ - ldmia.w sp, {r0, r1, r2, r3} │ │ │ │ │ - stmia.w r4, {r0, r1, r2, r3} │ │ │ │ │ + ldrd r2, r3, [sp] │ │ │ │ │ mov r0, r4 │ │ │ │ │ + strd r2, r3, [r4] │ │ │ │ │ + ldrd r2, r3, [sp, #8] │ │ │ │ │ + strd r2, r3, [r4, #8] │ │ │ │ │ add sp, #20 │ │ │ │ │ - pop {r4, r5, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -0000001c : │ │ │ │ │ +00000034 : │ │ │ │ │ fftw_elapsed_since(): │ │ │ │ │ sub sp, #8 │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ + str.w r4, [sp, #-28]! │ │ │ │ │ + mov r4, r2 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r6, r1 │ │ │ │ │ mov r5, r0 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r8, r3 │ │ │ │ │ + strd r9, lr, [sp, #20] │ │ │ │ │ vpush {d8} │ │ │ │ │ sub sp, #20 │ │ │ │ │ add r1, sp, #56 @ 0x38 │ │ │ │ │ mov r0, sp │ │ │ │ │ - mov r4, r2 │ │ │ │ │ - mov r8, r3 │ │ │ │ │ ldrd r7, r9, [sp, #64] @ 0x40 │ │ │ │ │ stmia.w r1, {r2, r3} │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ bl 0 <__gettimeofday64> │ │ │ │ │ R_ARM_THM_CALL __gettimeofday64 │ │ │ │ │ - ldr r3, [sp, #8] │ │ │ │ │ - ldr r1, [sp, #12] │ │ │ │ │ + ldrd r3, r1, [sp, #8] │ │ │ │ │ subs r0, r3, r7 │ │ │ │ │ sbc.w r1, r1, r9 │ │ │ │ │ bl 0 <__aeabi_l2d> │ │ │ │ │ R_ARM_THM_CALL __aeabi_l2d │ │ │ │ │ - ldr r3, [sp, #0] │ │ │ │ │ vmov d8, r0, r1 │ │ │ │ │ - vldr d7, [pc, #64] @ 98 │ │ │ │ │ - ldr r1, [sp, #4] │ │ │ │ │ + ldrd r3, r1, [sp] │ │ │ │ │ + vldr d7, [pc, #96] @ e0 │ │ │ │ │ subs r0, r3, r4 │ │ │ │ │ sbc.w r1, r1, r8 │ │ │ │ │ vmul.f64 d8, d8, d7 │ │ │ │ │ bl 0 <__aeabi_l2d> │ │ │ │ │ R_ARM_THM_CALL __aeabi_l2d │ │ │ │ │ - ldr r3, [r5, #8] │ │ │ │ │ vmov d0, r0, r1 │ │ │ │ │ + ldr r3, [r5, #8] │ │ │ │ │ vadd.f64 d0, d8, d0 │ │ │ │ │ - cbz r3, 88 │ │ │ │ │ - movs r1, #1 │ │ │ │ │ + cbz r3, be │ │ │ │ │ + mov.w r1, #1 │ │ │ │ │ mov r0, r6 │ │ │ │ │ add sp, #20 │ │ │ │ │ vpop {d8} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ add sp, #8 │ │ │ │ │ bx r3 │ │ │ │ │ add sp, #20 │ │ │ │ │ vpop {d8} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ add sp, #8 │ │ │ │ │ bx lr │ │ │ │ │ nop │ │ │ │ │ + nop.w │ │ │ │ │ .word 0xa0b5ed8d │ │ │ │ │ .word 0x3eb0c6f7 │ │ │ │ │ │ │ │ │ │ -000000a0 : │ │ │ │ │ +000000e8 : │ │ │ │ │ fftw_measure_execution_time(): │ │ │ │ │ vmov.f64 d0, #240 @ 0xbf800000 -1.0 │ │ │ │ │ bx lr │ │ │ │ │ nop │ │ │ ├── transpose.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2692 (bytes into file) │ │ │ │ │ + Start of section headers: 2940 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 10 │ │ │ │ │ Section header string table index: 9 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ -There are 10 section headers, starting at offset 0xa84: │ │ │ │ │ +There are 10 section headers, starting at offset 0xb7c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0007a4 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00099c 000098 08 I 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0007d8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0007d8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .note.GNU-stack PROGBITS 00000000 0007d8 000000 00 0 0 1 │ │ │ │ │ - [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 0007d8 000033 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 00080c 0000f0 10 8 8 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 0008fc 00009f 00 0 0 1 │ │ │ │ │ - [ 9] .shstrtab STRTAB 00000000 000a34 000050 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00089c 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000a94 000098 08 I 7 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0008d0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0008d0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .note.GNU-stack PROGBITS 00000000 0008d0 000000 00 0 0 1 │ │ │ │ │ + [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 0008d0 000033 00 0 0 1 │ │ │ │ │ + [ 7] .symtab SYMTAB 00000000 000904 0000f0 10 8 8 4 │ │ │ │ │ + [ 8] .strtab STRTAB 00000000 0009f4 00009f 00 0 0 1 │ │ │ │ │ + [ 9] .shstrtab STRTAB 00000000 000b2c 000050 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,18 +1,18 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 15 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 408 FUNC LOCAL DEFAULT 1 dotile │ │ │ │ │ + 1: 00000001 458 FUNC LOCAL DEFAULT 1 dotile │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000199 196 FUNC LOCAL DEFAULT 1 dotile_buf │ │ │ │ │ - 4: 0000025d 776 FUNC LOCAL DEFAULT 1 transpose_rec │ │ │ │ │ - 5: 00000710 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000714 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 000007a0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000001cd 212 FUNC LOCAL DEFAULT 1 dotile_buf │ │ │ │ │ + 4: 000002a1 828 FUNC LOCAL DEFAULT 1 transpose_rec │ │ │ │ │ + 5: 000007e0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 000007e4 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00000898 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_cpy2d_ci │ │ │ │ │ 9: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_cpy2d_co │ │ │ │ │ 10: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tile2d │ │ │ │ │ - 11: 00000565 318 FUNC GLOBAL DEFAULT 1 fftw_transpose │ │ │ │ │ - 12: 000006a5 112 FUNC GLOBAL DEFAULT 1 fftw_transpose_tiled │ │ │ │ │ + 11: 000005dd 374 FUNC GLOBAL DEFAULT 1 fftw_transpose │ │ │ │ │ + 12: 00000755 144 FUNC GLOBAL DEFAULT 1 fftw_transpose_tiled │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_compute_tilesz │ │ │ │ │ - 14: 00000715 144 FUNC GLOBAL DEFAULT 1 fftw_transpose_tiledbuf │ │ │ │ │ + 14: 000007e5 184 FUNC GLOBAL DEFAULT 1 fftw_transpose_tiledbuf │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x99c contains 19 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xa94 contains 19 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000001d4 0000080a R_ARM_THM_CALL 00000000 fftw_cpy2d_ci │ │ │ │ │ -000001fe 0000080a R_ARM_THM_CALL 00000000 fftw_cpy2d_ci │ │ │ │ │ -00000228 0000090a R_ARM_THM_CALL 00000000 fftw_cpy2d_co │ │ │ │ │ -00000252 0000090a R_ARM_THM_CALL 00000000 fftw_cpy2d_co │ │ │ │ │ -0000028c 00000a0a R_ARM_THM_CALL 00000000 fftw_tile2d │ │ │ │ │ -000002bc 00000a0a R_ARM_THM_CALL 00000000 fftw_tile2d │ │ │ │ │ -000002f2 00000a0a R_ARM_THM_CALL 00000000 fftw_tile2d │ │ │ │ │ -00000320 00000a0a R_ARM_THM_CALL 00000000 fftw_tile2d │ │ │ │ │ -00000358 00000a0a R_ARM_THM_CALL 00000000 fftw_tile2d │ │ │ │ │ -00000382 00000a0a R_ARM_THM_CALL 00000000 fftw_tile2d │ │ │ │ │ -000003b8 00000a0a R_ARM_THM_CALL 00000000 fftw_tile2d │ │ │ │ │ -000003f0 00000a0a R_ARM_THM_CALL 00000000 fftw_tile2d │ │ │ │ │ -00000418 00000a0a R_ARM_THM_CALL 00000000 fftw_tile2d │ │ │ │ │ -000006b8 00000d0a R_ARM_THM_CALL 00000000 fftw_compute_tilesz │ │ │ │ │ -000006e4 00000a0a R_ARM_THM_CALL 00000000 fftw_tile2d │ │ │ │ │ -00000710 00000103 R_ARM_REL32 00000001 dotile │ │ │ │ │ -00000736 00000d0a R_ARM_THM_CALL 00000000 fftw_compute_tilesz │ │ │ │ │ -0000076c 00000a0a R_ARM_THM_CALL 00000000 fftw_tile2d │ │ │ │ │ -000007a0 00000303 R_ARM_REL32 00000199 dotile_buf │ │ │ │ │ +0000020e 0000080a R_ARM_THM_CALL 00000000 fftw_cpy2d_ci │ │ │ │ │ +00000238 0000080a R_ARM_THM_CALL 00000000 fftw_cpy2d_ci │ │ │ │ │ +00000262 0000090a R_ARM_THM_CALL 00000000 fftw_cpy2d_co │ │ │ │ │ +0000028c 0000090a R_ARM_THM_CALL 00000000 fftw_cpy2d_co │ │ │ │ │ +000002e2 00000a0a R_ARM_THM_CALL 00000000 fftw_tile2d │ │ │ │ │ +00000314 00000a0a R_ARM_THM_CALL 00000000 fftw_tile2d │ │ │ │ │ +0000034c 00000a0a R_ARM_THM_CALL 00000000 fftw_tile2d │ │ │ │ │ +0000037a 00000a0a R_ARM_THM_CALL 00000000 fftw_tile2d │ │ │ │ │ +000003b0 00000a0a R_ARM_THM_CALL 00000000 fftw_tile2d │ │ │ │ │ +000003dc 00000a0a R_ARM_THM_CALL 00000000 fftw_tile2d │ │ │ │ │ +00000412 00000a0a R_ARM_THM_CALL 00000000 fftw_tile2d │ │ │ │ │ +0000044a 00000a0a R_ARM_THM_CALL 00000000 fftw_tile2d │ │ │ │ │ +00000476 00000a0a R_ARM_THM_CALL 00000000 fftw_tile2d │ │ │ │ │ +00000772 00000d0a R_ARM_THM_CALL 00000000 fftw_compute_tilesz │ │ │ │ │ +000007a4 00000a0a R_ARM_THM_CALL 00000000 fftw_tile2d │ │ │ │ │ +000007e0 00000103 R_ARM_REL32 00000001 dotile │ │ │ │ │ +00000816 00000d0a R_ARM_THM_CALL 00000000 fftw_compute_tilesz │ │ │ │ │ +00000852 00000a0a R_ARM_THM_CALL 00000000 fftw_tile2d │ │ │ │ │ +00000898 00000303 R_ARM_REL32 000001cd dotile_buf │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,9 +1,8 @@ │ │ │ │ │ CF:F0F)F │ │ │ │ │ - |#F2F1F │ │ │ │ │ KFBF8F1F │ │ │ │ │ dotile_buf │ │ │ │ │ transpose_rec │ │ │ │ │ fftw_cpy2d_ci │ │ │ │ │ fftw_cpy2d_co │ │ │ │ │ fftw_tile2d │ │ │ │ │ fftw_transpose │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,740 +1,766 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ dotile(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov fp, r3 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + mov r4, r1 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r8, r2 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #20 │ │ │ │ │ - mov r4, r1 │ │ │ │ │ + mov fp, r3 │ │ │ │ │ ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ - ldrd r6, r2, [r3, #8] │ │ │ │ │ ldrd r5, r7, [r3] │ │ │ │ │ + ldrd r6, r2, [r3, #8] │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - beq.n 10a │ │ │ │ │ + beq.w 134 │ │ │ │ │ cmp r2, #2 │ │ │ │ │ - beq.n 9a │ │ │ │ │ + beq.n bc │ │ │ │ │ cmp r8, fp │ │ │ │ │ - bge.n 94 │ │ │ │ │ + bge.n a4 │ │ │ │ │ cmp r0, r1 │ │ │ │ │ - bge.n 94 │ │ │ │ │ + bge.n a4 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.n 94 │ │ │ │ │ + ble.n a4 │ │ │ │ │ mul.w r3, r7, r8 │ │ │ │ │ - add.w r2, r5, r2, lsl #3 │ │ │ │ │ mul.w sl, r8, r6 │ │ │ │ │ - strd r2, r0, [sp, #8] │ │ │ │ │ + add.w r2, r5, r2, lsl #3 │ │ │ │ │ mla r3, r0, r6, r3 │ │ │ │ │ - mov.w r9, r6, lsl #3 │ │ │ │ │ mla sl, r0, r7, sl │ │ │ │ │ + mov.w r9, r6, lsl #3 │ │ │ │ │ + strd r2, r0, [sp, #8] │ │ │ │ │ mov r2, fp │ │ │ │ │ - ldr r1, [sp, #8] │ │ │ │ │ + ldrd r1, ip, [sp, #8] │ │ │ │ │ mov fp, sl │ │ │ │ │ - ldr.w ip, [sp, #12] │ │ │ │ │ mov lr, r3 │ │ │ │ │ str.w sl, [sp, #4] │ │ │ │ │ add.w r0, r1, r3, lsl #3 │ │ │ │ │ add.w r1, r5, lr, lsl #3 │ │ │ │ │ add.w sl, r5, fp, lsl #3 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ vldr d7, [sl] │ │ │ │ │ vstmia sl!, {d6} │ │ │ │ │ vstmia r1!, {d7} │ │ │ │ │ cmp r0, r1 │ │ │ │ │ - bne.n 62 │ │ │ │ │ + bne.n 72 │ │ │ │ │ add.w ip, ip, #1 │ │ │ │ │ add lr, r6 │ │ │ │ │ + cmp r4, ip │ │ │ │ │ add fp, r7 │ │ │ │ │ add r0, r9 │ │ │ │ │ - cmp r4, ip │ │ │ │ │ - bne.n 5a │ │ │ │ │ + bne.n 6a │ │ │ │ │ ldr.w sl, [sp, #4] │ │ │ │ │ add.w r8, r8, #1 │ │ │ │ │ add r3, r7 │ │ │ │ │ cmp r2, r8 │ │ │ │ │ add sl, r6 │ │ │ │ │ - bne.n 48 │ │ │ │ │ + bne.n 5a │ │ │ │ │ add sp, #20 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ cmp r8, fp │ │ │ │ │ - bge.n 94 │ │ │ │ │ + bge.n a4 │ │ │ │ │ cmp r0, r1 │ │ │ │ │ - bge.n 94 │ │ │ │ │ - mul.w sl, r0, r6 │ │ │ │ │ - mov.w ip, r6, lsl #3 │ │ │ │ │ + bge.n a4 │ │ │ │ │ + mul.w r2, r0, r6 │ │ │ │ │ mul.w r3, r0, r7 │ │ │ │ │ - lsls r1, r7, #3 │ │ │ │ │ - mul.w r9, r8, r7 │ │ │ │ │ - mul.w lr, r8, r6 │ │ │ │ │ - add.w sl, r5, sl, lsl #3 │ │ │ │ │ + mul.w sl, r8, r7 │ │ │ │ │ + add.w r2, r5, r2, lsl #3 │ │ │ │ │ add.w r3, r5, r3, lsl #3 │ │ │ │ │ + mul.w r9, r8, r6 │ │ │ │ │ + add.w r5, r2, #8 │ │ │ │ │ + mov.w lr, r6, lsl #3 │ │ │ │ │ + add.w r3, r3, #8 │ │ │ │ │ + mov.w ip, r7, lsl #3 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ - add.w r2, sl, r9, lsl #3 │ │ │ │ │ - mov r5, r0 │ │ │ │ │ - add.w r3, r3, lr, lsl #3 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - adds r5, #1 │ │ │ │ │ - vldr d5, [r2, #8] │ │ │ │ │ - cmp r4, r5 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - vldr d7, [r3, #8] │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - vstr d5, [r3, #8] │ │ │ │ │ - add r3, r1 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - vstr d7, [r2, #8] │ │ │ │ │ - add r2, ip │ │ │ │ │ - bne.n ce │ │ │ │ │ + add.w r2, r5, sl, lsl #3 │ │ │ │ │ + mov r1, r0 │ │ │ │ │ + add.w r3, r3, r9, lsl #3 │ │ │ │ │ + vldr d4, [r2, #-8] │ │ │ │ │ + add.w r1, r1, #1 │ │ │ │ │ + cmp r4, r1 │ │ │ │ │ + vldr d6, [r3, #-8] │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + vstr d4, [r3, #-8] │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + add r3, ip │ │ │ │ │ + vstr d6, [r2, #-8] │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + add r2, lr │ │ │ │ │ + bne.n fa │ │ │ │ │ add.w r8, r8, #1 │ │ │ │ │ - add r9, r7 │ │ │ │ │ - add lr, r6 │ │ │ │ │ + add sl, r7 │ │ │ │ │ cmp fp, r8 │ │ │ │ │ - bne.n c2 │ │ │ │ │ - add sp, #20 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + add r9, r6 │ │ │ │ │ + bne.n ee │ │ │ │ │ + b.n a4 │ │ │ │ │ cmp r8, fp │ │ │ │ │ - bge.n 94 │ │ │ │ │ + bge.n a4 │ │ │ │ │ cmp r0, r1 │ │ │ │ │ - bge.n 94 │ │ │ │ │ + bge.n a4 │ │ │ │ │ cmp r7, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r6, #1 │ │ │ │ │ - bne.n 144 │ │ │ │ │ + bne.n 172 │ │ │ │ │ add.w r2, r8, r1 │ │ │ │ │ - subs r4, r0, r1 │ │ │ │ │ + sub.w r4, r0, r1 │ │ │ │ │ add.w r2, r5, r2, lsl #3 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ - adds r3, r4, r2 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + add.w r3, r4, r2 │ │ │ │ │ ldrd r0, r1, [r3] │ │ │ │ │ strd r0, r1, [r3], #8 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.n 128 │ │ │ │ │ + bne.n 158 │ │ │ │ │ add.w r8, r8, #1 │ │ │ │ │ - adds r2, #8 │ │ │ │ │ + add.w r2, r2, #8 │ │ │ │ │ cmp fp, r8 │ │ │ │ │ - bne.n 126 │ │ │ │ │ - add sp, #20 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + bne.n 154 │ │ │ │ │ + b.n a4 │ │ │ │ │ mul.w sl, r0, r6 │ │ │ │ │ - mov.w ip, r6, lsl #3 │ │ │ │ │ mul.w r3, r0, r7 │ │ │ │ │ - lsls r1, r7, #3 │ │ │ │ │ mul.w r9, r8, r7 │ │ │ │ │ mul.w lr, r8, r6 │ │ │ │ │ - add.w sl, r5, sl, lsl #3 │ │ │ │ │ add.w r3, r5, r3, lsl #3 │ │ │ │ │ + mov.w ip, r6, lsl #3 │ │ │ │ │ + add.w sl, r5, sl, lsl #3 │ │ │ │ │ + mov.w r1, r7, lsl #3 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ add.w r2, sl, r9, lsl #3 │ │ │ │ │ mov r5, r0 │ │ │ │ │ add.w r3, r3, lr, lsl #3 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ - adds r5, #1 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ cmp r4, r5 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ add r3, r1 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ add r2, ip │ │ │ │ │ - bne.n 170 │ │ │ │ │ + bne.n 1a0 │ │ │ │ │ add.w r8, r8, #1 │ │ │ │ │ add r9, r7 │ │ │ │ │ - add lr, r6 │ │ │ │ │ cmp fp, r8 │ │ │ │ │ - bne.n 164 │ │ │ │ │ - b.n 94 │ │ │ │ │ + add lr, r6 │ │ │ │ │ + bne.n 194 │ │ │ │ │ + b.n a4 │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000198 : │ │ │ │ │ +000001cc : │ │ │ │ │ dotile_buf(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ - mov r6, r1 │ │ │ │ │ - mov r8, r3 │ │ │ │ │ - sub sp, #24 │ │ │ │ │ + strd r4, r5, [sp, #-24]! │ │ │ │ │ mov r5, r2 │ │ │ │ │ - subs r6, r6, r0 │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + sub.w r6, r1, r0 │ │ │ │ │ mov r7, r0 │ │ │ │ │ - sub.w r8, r8, r5 │ │ │ │ │ + strd r8, lr, [sp, #16] │ │ │ │ │ + sub sp, #24 │ │ │ │ │ + sub.w r8, r3, r2 │ │ │ │ │ ldr r4, [sp, #48] @ 0x30 │ │ │ │ │ - ldrd r3, r1, [r4, #4] │ │ │ │ │ - ldr r2, [r4, #12] │ │ │ │ │ - str r2, [sp, #16] │ │ │ │ │ + ldr r3, [r4, #4] │ │ │ │ │ + ldrd r1, r2, [r4, #8] │ │ │ │ │ mul.w ip, r5, r1 │ │ │ │ │ strd r2, r8, [sp] │ │ │ │ │ + str r2, [sp, #16] │ │ │ │ │ mla ip, r0, r3, ip │ │ │ │ │ mul.w r0, r2, r6 │ │ │ │ │ mov r2, r6 │ │ │ │ │ strd r1, r0, [sp, #8] │ │ │ │ │ ldr r0, [r4, #0] │ │ │ │ │ ldr r1, [r4, #20] │ │ │ │ │ add.w r0, r0, ip, lsl #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_ci │ │ │ │ │ - ldr r2, [r4, #12] │ │ │ │ │ ldrd r1, r3, [r4, #4] │ │ │ │ │ - str r2, [sp, #16] │ │ │ │ │ - strd r2, r8, [sp] │ │ │ │ │ - mul.w r0, r2, r6 │ │ │ │ │ - mov r2, r6 │ │ │ │ │ - strd r1, r0, [sp, #8] │ │ │ │ │ + ldr r2, [r4, #12] │ │ │ │ │ mul.w ip, r5, r1 │ │ │ │ │ + mul.w r0, r2, r6 │ │ │ │ │ + strd r2, r8, [sp] │ │ │ │ │ mla ip, r7, r3, ip │ │ │ │ │ + strd r1, r0, [sp, #8] │ │ │ │ │ + str r2, [sp, #16] │ │ │ │ │ + mov r2, r6 │ │ │ │ │ ldr r0, [r4, #0] │ │ │ │ │ ldr r1, [r4, #24] │ │ │ │ │ add.w r0, r0, ip, lsl #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_ci │ │ │ │ │ - ldr r3, [r4, #12] │ │ │ │ │ ldrd r2, r0, [r4, #4] │ │ │ │ │ - strd r0, r3, [sp, #12] │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ + ldr r3, [r4, #12] │ │ │ │ │ mul.w r1, r5, r0 │ │ │ │ │ + strd r2, r8, [sp] │ │ │ │ │ + strd r0, r3, [sp, #12] │ │ │ │ │ mul.w r0, r3, r6 │ │ │ │ │ - strd r8, r0, [sp, #4] │ │ │ │ │ mla r1, r7, r2, r1 │ │ │ │ │ mov r2, r6 │ │ │ │ │ + str r0, [sp, #8] │ │ │ │ │ ldr r0, [r4, #0] │ │ │ │ │ add.w r1, r0, r1, lsl #3 │ │ │ │ │ ldr r0, [r4, #24] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_co │ │ │ │ │ - ldr r3, [r4, #12] │ │ │ │ │ - ldrd r0, r2, [r4, #4] │ │ │ │ │ - ldr r1, [r4, #0] │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ + ldrd r1, r0, [r4] │ │ │ │ │ + ldrd r2, r3, [r4, #8] │ │ │ │ │ mul.w r5, r0, r5 │ │ │ │ │ - strd r0, r3, [sp, #12] │ │ │ │ │ + strd r2, r8, [sp] │ │ │ │ │ mla r7, r7, r2, r5 │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ mov r2, r6 │ │ │ │ │ mul.w r5, r3, r6 │ │ │ │ │ - strd r8, r5, [sp, #4] │ │ │ │ │ add.w r1, r1, r7, lsl #3 │ │ │ │ │ + strd r5, r0, [sp, #8] │ │ │ │ │ ldr r0, [r4, #20] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_co │ │ │ │ │ add sp, #24 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldmia.w sp!, {r8, pc} │ │ │ │ │ │ │ │ │ │ -0000025c : │ │ │ │ │ +000002a0 : │ │ │ │ │ transpose_rec(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ cmp r1, #1 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #108 @ 0x6c │ │ │ │ │ str r2, [sp, #20] │ │ │ │ │ - ble.w 50a │ │ │ │ │ + ble.w 56e │ │ │ │ │ mov r9, r0 │ │ │ │ │ mov r7, r1 │ │ │ │ │ mov fp, r3 │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ - asrs r4, r7, #1 │ │ │ │ │ + mov.w r4, r7, asr #1 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ str.w r9, [fp] │ │ │ │ │ mov r2, r4 │ │ │ │ │ - str.w fp, [sp, #8] │ │ │ │ │ mov r1, r4 │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + strd r3, fp, [sp, #4] │ │ │ │ │ ldr.w r3, [fp, #16] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tile2d │ │ │ │ │ cmp r4, #1 │ │ │ │ │ - beq.w 55c │ │ │ │ │ + beq.w 5d4 │ │ │ │ │ mov sl, fp │ │ │ │ │ mov r8, r9 │ │ │ │ │ + str r7, [sp, #56] @ 0x38 │ │ │ │ │ mov r6, r4 │ │ │ │ │ mov fp, r9 │ │ │ │ │ - str r7, [sp, #56] @ 0x38 │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ - asrs r5, r6, #1 │ │ │ │ │ + mov.w r5, r6, asr #1 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ str.w r8, [sl] │ │ │ │ │ mov r2, r5 │ │ │ │ │ - str.w sl, [sp, #8] │ │ │ │ │ mov r1, r5 │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + strd r3, sl, [sp, #4] │ │ │ │ │ ldr.w r3, [sl, #16] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tile2d │ │ │ │ │ cmp r5, #1 │ │ │ │ │ - beq.w 554 │ │ │ │ │ + beq.w 5cc │ │ │ │ │ mov r7, r5 │ │ │ │ │ str.w r8, [sp, #32] │ │ │ │ │ strd r4, r5, [sp, #60] @ 0x3c │ │ │ │ │ strd r8, r6, [sp, #68] @ 0x44 │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ - asrs r4, r7, #1 │ │ │ │ │ + mov.w r4, r7, asr #1 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ ldr r5, [sp, #32] │ │ │ │ │ mov r2, r4 │ │ │ │ │ - str.w r5, [sl] │ │ │ │ │ mov r1, r4 │ │ │ │ │ - str.w sl, [sp, #8] │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ + str.w r5, [sl] │ │ │ │ │ + strd r3, sl, [sp, #4] │ │ │ │ │ ldr.w r3, [sl, #16] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tile2d │ │ │ │ │ cmp r4, #1 │ │ │ │ │ - beq.w 54c │ │ │ │ │ + beq.w 5c4 │ │ │ │ │ mov r8, r4 │ │ │ │ │ strd r4, r7, [sp, #76] @ 0x4c │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ mov.w r7, r8, asr #1 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ str.w r5, [sl] │ │ │ │ │ mov r2, r7 │ │ │ │ │ - str.w sl, [sp, #8] │ │ │ │ │ mov r1, r7 │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + strd r3, sl, [sp, #4] │ │ │ │ │ ldr.w r3, [sl, #16] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tile2d │ │ │ │ │ cmp r7, #1 │ │ │ │ │ - beq.w 544 │ │ │ │ │ + beq.w 5bc │ │ │ │ │ mov r6, r7 │ │ │ │ │ strd r7, r5, [sp, #84] @ 0x54 │ │ │ │ │ - str.w r8, [sp, #92] @ 0x5c │ │ │ │ │ mov r7, r5 │ │ │ │ │ + strd r8, fp, [sp, #92] @ 0x5c │ │ │ │ │ mov r8, sl │ │ │ │ │ - str.w fp, [sp, #96] @ 0x60 │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ - asrs r5, r6, #1 │ │ │ │ │ + mov.w r5, r6, asr #1 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ str.w r7, [r8] │ │ │ │ │ mov r2, r5 │ │ │ │ │ - str.w r8, [sp, #8] │ │ │ │ │ mov r1, r5 │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + strd r3, r8, [sp, #4] │ │ │ │ │ ldr.w r3, [r8, #16] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tile2d │ │ │ │ │ cmp r5, #1 │ │ │ │ │ - beq.w 53c │ │ │ │ │ + beq.w 5b4 │ │ │ │ │ mov sl, r7 │ │ │ │ │ mov fp, r5 │ │ │ │ │ mov r4, r8 │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ mov.w r8, fp, asr #1 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ str.w sl, [r4] │ │ │ │ │ mov r2, r8 │ │ │ │ │ - str r4, [sp, #8] │ │ │ │ │ mov r1, r8 │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + strd r3, r4, [sp, #4] │ │ │ │ │ ldr r3, [r4, #16] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, fp │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tile2d │ │ │ │ │ cmp.w r8, #1 │ │ │ │ │ - beq.w 510 │ │ │ │ │ - mov r2, sl │ │ │ │ │ + beq.w 586 │ │ │ │ │ mov r9, sl │ │ │ │ │ mov r3, r8 │ │ │ │ │ mov sl, r7 │ │ │ │ │ - str.w r9, [sp, #28] │ │ │ │ │ - mov r7, r2 │ │ │ │ │ + mov r7, r9 │ │ │ │ │ + strd r5, r9, [sp, #24] │ │ │ │ │ mov r9, r6 │ │ │ │ │ - str r5, [sp, #24] │ │ │ │ │ ldr r1, [sp, #20] │ │ │ │ │ - asrs r2, r3, #1 │ │ │ │ │ + mov.w r2, r3, asr #1 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ ldr r6, [sp, #28] │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + strd r2, r3, [sp, #36] @ 0x24 │ │ │ │ │ str r6, [r4, #0] │ │ │ │ │ - str r4, [sp, #8] │ │ │ │ │ - str r1, [sp, #4] │ │ │ │ │ - str r3, [sp, #40] @ 0x28 │ │ │ │ │ + strd r1, r4, [sp, #4] │ │ │ │ │ ldr r1, [r4, #16] │ │ │ │ │ str r1, [sp, #0] │ │ │ │ │ mov r1, r2 │ │ │ │ │ - str r2, [sp, #36] @ 0x24 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tile2d │ │ │ │ │ - ldr r2, [sp, #36] @ 0x24 │ │ │ │ │ - ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ + ldrd r2, r3, [sp, #36] @ 0x24 │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - beq.w 518 │ │ │ │ │ - str.w r9, [sp, #36] @ 0x24 │ │ │ │ │ + beq.w 590 │ │ │ │ │ mov r5, r2 │ │ │ │ │ + strd r9, r8, [sp, #36] @ 0x24 │ │ │ │ │ mov r9, sl │ │ │ │ │ mov sl, r3 │ │ │ │ │ - strd r8, r7, [sp, #40] @ 0x28 │ │ │ │ │ - strd fp, r2, [sp, #48] @ 0x30 │ │ │ │ │ + strd r7, fp, [sp, #44] @ 0x2c │ │ │ │ │ + str r2, [sp, #52] @ 0x34 │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ mov.w fp, r5, asr #1 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ str r6, [r4, #0] │ │ │ │ │ mov r2, fp │ │ │ │ │ - str r4, [sp, #8] │ │ │ │ │ mov r1, fp │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + strd r3, r4, [sp, #4] │ │ │ │ │ ldr r3, [r4, #16] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tile2d │ │ │ │ │ cmp.w fp, #1 │ │ │ │ │ - beq.w 520 │ │ │ │ │ + beq.w 598 │ │ │ │ │ mov r8, r6 │ │ │ │ │ mov r7, fp │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ - asrs r1, r7, #1 │ │ │ │ │ + mov.w r1, r7, asr #1 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ str.w r8, [r4] │ │ │ │ │ mov r2, r1 │ │ │ │ │ - str r4, [sp, #8] │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ - str r1, [sp, #100] @ 0x64 │ │ │ │ │ + strd r3, r4, [sp, #4] │ │ │ │ │ ldr r3, [r4, #16] │ │ │ │ │ + str r1, [sp, #100] @ 0x64 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tile2d │ │ │ │ │ - mov r0, r8 │ │ │ │ │ ldr r2, [sp, #20] │ │ │ │ │ + mov r0, r8 │ │ │ │ │ mov r3, r4 │ │ │ │ │ ldr r1, [sp, #100] @ 0x64 │ │ │ │ │ - bl 25c │ │ │ │ │ - ldr r1, [sp, #100] @ 0x64 │ │ │ │ │ + bl 2a0 │ │ │ │ │ ldrd r3, r2, [r4, #4] │ │ │ │ │ - subs r7, r7, r1 │ │ │ │ │ - cmp r7, #1 │ │ │ │ │ + ldr r1, [sp, #100] @ 0x64 │ │ │ │ │ add.w r0, r3, r2 │ │ │ │ │ mul.w r3, r0, r1 │ │ │ │ │ + sub.w r7, r7, r1 │ │ │ │ │ + cmp r7, #1 │ │ │ │ │ add.w r8, r8, r3, lsl #3 │ │ │ │ │ - bgt.n 400 │ │ │ │ │ + bgt.n 45a │ │ │ │ │ mul.w r3, r0, fp │ │ │ │ │ sub.w r5, r5, fp │ │ │ │ │ cmp r5, #1 │ │ │ │ │ add.w r6, r6, r3, lsl #3 │ │ │ │ │ - bgt.n 3d8 │ │ │ │ │ + bgt.n 430 │ │ │ │ │ + ldrd r7, fp, [sp, #44] @ 0x2c │ │ │ │ │ mov r3, sl │ │ │ │ │ mov sl, r9 │ │ │ │ │ - ldrd r8, r7, [sp, #40] @ 0x28 │ │ │ │ │ - ldrd fp, r2, [sp, #48] @ 0x30 │ │ │ │ │ - ldr.w r9, [sp, #36] @ 0x24 │ │ │ │ │ - ldr r5, [sp, #28] │ │ │ │ │ + ldrd r9, r8, [sp, #36] @ 0x24 │ │ │ │ │ + ldr r2, [sp, #52] @ 0x34 │ │ │ │ │ mul.w r1, r0, r2 │ │ │ │ │ - subs r3, r3, r2 │ │ │ │ │ + sub.w r3, r3, r2 │ │ │ │ │ + ldr r5, [sp, #28] │ │ │ │ │ cmp r3, #1 │ │ │ │ │ add.w r1, r5, r1, lsl #3 │ │ │ │ │ str r1, [sp, #28] │ │ │ │ │ - bgt.n 3a0 │ │ │ │ │ - mov r3, r7 │ │ │ │ │ + bgt.n 3f6 │ │ │ │ │ ldr r5, [sp, #24] │ │ │ │ │ - mov r7, sl │ │ │ │ │ + mov r3, r7 │ │ │ │ │ mov r6, r9 │ │ │ │ │ + mov r7, sl │ │ │ │ │ mov sl, r3 │ │ │ │ │ mul.w r3, r0, r8 │ │ │ │ │ sub.w fp, fp, r8 │ │ │ │ │ cmp.w fp, #1 │ │ │ │ │ add.w sl, sl, r3, lsl #3 │ │ │ │ │ - bgt.w 368 │ │ │ │ │ + bgt.w 3c0 │ │ │ │ │ mov r8, r4 │ │ │ │ │ mul.w r3, r0, r5 │ │ │ │ │ - subs r6, r6, r5 │ │ │ │ │ + sub.w r6, r6, r5 │ │ │ │ │ cmp r6, #1 │ │ │ │ │ add.w r7, r7, r3, lsl #3 │ │ │ │ │ - bgt.w 33c │ │ │ │ │ - mov sl, r8 │ │ │ │ │ - ldr.w fp, [sp, #96] @ 0x60 │ │ │ │ │ + bgt.w 392 │ │ │ │ │ ldrd r7, r5, [sp, #84] @ 0x54 │ │ │ │ │ - ldr.w r8, [sp, #92] @ 0x5c │ │ │ │ │ + mov sl, r8 │ │ │ │ │ + ldrd r8, fp, [sp, #92] @ 0x5c │ │ │ │ │ mul.w r3, r0, r7 │ │ │ │ │ sub.w r8, r8, r7 │ │ │ │ │ cmp.w r8, #1 │ │ │ │ │ add.w r5, r5, r3, lsl #3 │ │ │ │ │ - bgt.w 302 │ │ │ │ │ + bgt.w 35c │ │ │ │ │ ldrd r4, r7, [sp, #76] @ 0x4c │ │ │ │ │ mul.w r3, r0, r4 │ │ │ │ │ + sub.w r7, r7, r4 │ │ │ │ │ ldr r2, [sp, #32] │ │ │ │ │ - subs r7, r7, r4 │ │ │ │ │ cmp r7, #1 │ │ │ │ │ add.w r3, r2, r3, lsl #3 │ │ │ │ │ str r3, [sp, #32] │ │ │ │ │ - bgt.w 2d4 │ │ │ │ │ + bgt.w 32c │ │ │ │ │ ldrd r4, r5, [sp, #60] @ 0x3c │ │ │ │ │ ldrd r8, r6, [sp, #68] @ 0x44 │ │ │ │ │ mul.w r3, r0, r5 │ │ │ │ │ - subs r6, r6, r5 │ │ │ │ │ + sub.w r6, r6, r5 │ │ │ │ │ cmp r6, #1 │ │ │ │ │ add.w r8, r8, r3, lsl #3 │ │ │ │ │ - bgt.w 2a0 │ │ │ │ │ + bgt.w 2f6 │ │ │ │ │ ldr r7, [sp, #56] @ 0x38 │ │ │ │ │ mov r9, fp │ │ │ │ │ mov fp, sl │ │ │ │ │ mul.w r0, r4, r0 │ │ │ │ │ - subs r7, r7, r4 │ │ │ │ │ + sub.w r7, r7, r4 │ │ │ │ │ cmp r7, #1 │ │ │ │ │ add.w r9, r9, r0, lsl #3 │ │ │ │ │ - bgt.w 270 │ │ │ │ │ + bgt.w 2c4 │ │ │ │ │ add sp, #108 @ 0x6c │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ ldrd r3, r2, [r4, #4] │ │ │ │ │ - adds r0, r3, r2 │ │ │ │ │ - b.n 47c │ │ │ │ │ + add.w r0, r3, r2 │ │ │ │ │ + b.n 4dc │ │ │ │ │ ldrd r0, r1, [r4, #4] │ │ │ │ │ add r0, r1 │ │ │ │ │ - b.n 460 │ │ │ │ │ + b.n 4be │ │ │ │ │ ldrd r3, r2, [r4, #4] │ │ │ │ │ sub.w r5, r5, fp │ │ │ │ │ cmp r5, #1 │ │ │ │ │ add.w r0, r3, r2 │ │ │ │ │ mul.w r3, r0, fp │ │ │ │ │ add.w r6, r6, r3, lsl #3 │ │ │ │ │ - bgt.w 3d8 │ │ │ │ │ - b.n 450 │ │ │ │ │ + bgt.w 430 │ │ │ │ │ + b.n 4b0 │ │ │ │ │ ldrd r0, r3, [r8, #4] │ │ │ │ │ add r0, r3 │ │ │ │ │ - b.n 492 │ │ │ │ │ + b.n 4f2 │ │ │ │ │ ldrd r0, r2, [sl, #4] │ │ │ │ │ add r0, r2 │ │ │ │ │ - b.n 4b0 │ │ │ │ │ + b.n 50e │ │ │ │ │ ldrd r0, r2, [sl, #4] │ │ │ │ │ add r0, r2 │ │ │ │ │ - b.n 4c8 │ │ │ │ │ + b.n 526 │ │ │ │ │ ldrd r0, r2, [sl, #4] │ │ │ │ │ add r0, r2 │ │ │ │ │ - b.n 4e4 │ │ │ │ │ + b.n 544 │ │ │ │ │ ldrd r0, r2, [fp, #4] │ │ │ │ │ add r0, r2 │ │ │ │ │ - b.n 4fa │ │ │ │ │ + b.n 55c │ │ │ │ │ │ │ │ │ │ -00000564 : │ │ │ │ │ +000005dc : │ │ │ │ │ fftw_transpose(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ mov ip, r1 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r6, r2 │ │ │ │ │ - sub sp, #12 │ │ │ │ │ mov r5, r3 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + sub sp, #12 │ │ │ │ │ ldr r1, [sp, #48] @ 0x30 │ │ │ │ │ cmp r1, #1 │ │ │ │ │ - beq.n 634 │ │ │ │ │ + beq.n 6da │ │ │ │ │ cmp r1, #2 │ │ │ │ │ - beq.n 5da │ │ │ │ │ + beq.n 67c │ │ │ │ │ cmp.w ip, #1 │ │ │ │ │ - ble.n 5d4 │ │ │ │ │ + ble.n 664 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - ble.n 5d4 │ │ │ │ │ - mov.w r8, r3, lsl #3 │ │ │ │ │ + ble.n 664 │ │ │ │ │ + add.w fp, r0, r1, lsl #3 │ │ │ │ │ mov sl, r3 │ │ │ │ │ mov r9, r2 │ │ │ │ │ - movs r7, #1 │ │ │ │ │ - add.w fp, r0, r1, lsl #3 │ │ │ │ │ + mov.w r8, r3, lsl #3 │ │ │ │ │ + mov.w r7, #1 │ │ │ │ │ str.w fp, [sp, #4] │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ mov fp, sl │ │ │ │ │ mov lr, r9 │ │ │ │ │ - movs r4, #0 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ add.w r1, r3, r9, lsl #3 │ │ │ │ │ add.w r3, r0, lr, lsl #3 │ │ │ │ │ add.w r2, r0, fp, lsl #3 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ vstmia r2!, {d6} │ │ │ │ │ vstmia r3!, {d7} │ │ │ │ │ cmp r1, r3 │ │ │ │ │ - bne.n 5aa │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + bne.n 636 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ add lr, r5 │ │ │ │ │ + cmp r4, r7 │ │ │ │ │ add fp, r6 │ │ │ │ │ add r1, r8 │ │ │ │ │ - cmp r4, r7 │ │ │ │ │ - bne.n 5a2 │ │ │ │ │ - adds r7, #1 │ │ │ │ │ + bne.n 62e │ │ │ │ │ + add.w r7, r7, #1 │ │ │ │ │ add r9, r6 │ │ │ │ │ - add sl, r5 │ │ │ │ │ cmp ip, r7 │ │ │ │ │ - bne.n 596 │ │ │ │ │ + add sl, r5 │ │ │ │ │ + bne.n 620 │ │ │ │ │ add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ cmp.w ip, #1 │ │ │ │ │ - ble.n 5d4 │ │ │ │ │ + ble.n 664 │ │ │ │ │ mov.w r8, r3, lsl #3 │ │ │ │ │ - mov.w lr, r2, lsl #3 │ │ │ │ │ mov sl, r3 │ │ │ │ │ mov r9, r2 │ │ │ │ │ - movs r7, #1 │ │ │ │ │ + mov.w lr, r2, lsl #3 │ │ │ │ │ + mov.w r7, #1 │ │ │ │ │ mov fp, r3 │ │ │ │ │ add.w r2, r0, r9, lsl #3 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ add.w r3, r0, sl, lsl #3 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ vldr d5, [r2] │ │ │ │ │ - adds r1, #1 │ │ │ │ │ - vldr d6, [r2, #8] │ │ │ │ │ + add.w r1, r1, #1 │ │ │ │ │ cmp r1, r7 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ + vldr d6, [r2, #8] │ │ │ │ │ ldrd r4, r5, [r3, #8] │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ vstr d6, [r3, #8] │ │ │ │ │ add r3, lr │ │ │ │ │ - strd r4, r5, [r2, #8] │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ + strd r4, r5, [r2, #8] │ │ │ │ │ add r2, r8 │ │ │ │ │ - bne.n 5fa │ │ │ │ │ - adds r7, #1 │ │ │ │ │ + bne.n 6a0 │ │ │ │ │ + add.w r7, r7, #1 │ │ │ │ │ add r9, r6 │ │ │ │ │ - add sl, fp │ │ │ │ │ cmp ip, r7 │ │ │ │ │ - bne.n 5f0 │ │ │ │ │ - add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + add sl, fp │ │ │ │ │ + bne.n 694 │ │ │ │ │ + b.n 664 │ │ │ │ │ cmp.w ip, #1 │ │ │ │ │ - ble.n 5d4 │ │ │ │ │ + ble.n 664 │ │ │ │ │ cmp r2, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r3, #1 │ │ │ │ │ itt eq │ │ │ │ │ addeq.w r2, r0, #8 │ │ │ │ │ addeq r0, #16 │ │ │ │ │ - bne.n 668 │ │ │ │ │ + bne.n 710 │ │ │ │ │ mov r3, r2 │ │ │ │ │ ldrd r4, r5, [r3] │ │ │ │ │ strd r4, r5, [r3], #8 │ │ │ │ │ cmp r0, r3 │ │ │ │ │ - bne.n 64c │ │ │ │ │ - adds r1, #1 │ │ │ │ │ - adds r2, #8 │ │ │ │ │ - adds r0, #16 │ │ │ │ │ + bne.n 6f2 │ │ │ │ │ + add.w r1, r1, #1 │ │ │ │ │ + add.w r2, r2, #8 │ │ │ │ │ cmp ip, r1 │ │ │ │ │ - bne.n 64a │ │ │ │ │ - add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + add.w r0, r0, #16 │ │ │ │ │ + bne.n 6f0 │ │ │ │ │ + b.n 664 │ │ │ │ │ mov.w lr, r3, lsl #3 │ │ │ │ │ - lsls r7, r6, #3 │ │ │ │ │ mov fp, r3 │ │ │ │ │ mov sl, r6 │ │ │ │ │ + mov.w r7, r6, lsl #3 │ │ │ │ │ add.w r2, r0, sl, lsl #3 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ add.w r3, r0, fp, lsl #3 │ │ │ │ │ - movs r4, #0 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - ldrd r8, r9, [r3] │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ cmp r4, r1 │ │ │ │ │ + ldrd r8, r9, [r3] │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ add r3, r7 │ │ │ │ │ strd r8, r9, [r2] │ │ │ │ │ add r2, lr │ │ │ │ │ - bne.n 67c │ │ │ │ │ - adds r1, #1 │ │ │ │ │ + bne.n 728 │ │ │ │ │ + add.w r1, r1, #1 │ │ │ │ │ add sl, r6 │ │ │ │ │ - add fp, r5 │ │ │ │ │ cmp ip, r1 │ │ │ │ │ - bne.n 672 │ │ │ │ │ - b.n 5d4 │ │ │ │ │ + add fp, r5 │ │ │ │ │ + bne.n 71c │ │ │ │ │ + b.n 664 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000006a4 : │ │ │ │ │ +00000754 : │ │ │ │ │ fftw_transpose_tiled(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ + strd r4, r5, [sp, #-24]! │ │ │ │ │ mov r4, r1 │ │ │ │ │ + mov.w r1, #2 │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ mov r6, r0 │ │ │ │ │ + strd r8, lr, [sp, #16] │ │ │ │ │ sub sp, #48 @ 0x30 │ │ │ │ │ - movs r1, #2 │ │ │ │ │ ldr r0, [sp, #72] @ 0x48 │ │ │ │ │ strd r2, r3, [sp, #20] │ │ │ │ │ str r0, [sp, #28] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_compute_tilesz │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ cmp r4, #1 │ │ │ │ │ - str r0, [sp, #32] │ │ │ │ │ - strd r3, r3, [sp, #36] @ 0x24 │ │ │ │ │ - ble.n 70a │ │ │ │ │ - ldr r7, [pc, #68] @ (710 ) │ │ │ │ │ + strd r0, r3, [sp, #32] │ │ │ │ │ + str r3, [sp, #40] @ 0x28 │ │ │ │ │ + ble.n 7ce │ │ │ │ │ + ldr r7, [pc, #88] @ (7e0 ) │ │ │ │ │ add.w r8, sp, #16 │ │ │ │ │ add r7, pc │ │ │ │ │ - asrs r5, r4, #1 │ │ │ │ │ + mov.w r5, r4, asr #1 │ │ │ │ │ mov r3, r4 │ │ │ │ │ + strd r0, r7, [sp] │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + str.w r8, [sp, #8] │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r1, r5 │ │ │ │ │ - str r0, [sp, #0] │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - strd r7, r8, [sp, #4] │ │ │ │ │ - subs r4, r4, r5 │ │ │ │ │ str r6, [sp, #16] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tile2d │ │ │ │ │ mov r3, r8 │ │ │ │ │ mov r2, r7 │ │ │ │ │ mov r0, r6 │ │ │ │ │ mov r1, r5 │ │ │ │ │ - bl 25c │ │ │ │ │ - cmp r4, #1 │ │ │ │ │ + bl 2a0 │ │ │ │ │ ldrd r3, r2, [sp, #20] │ │ │ │ │ + sub.w r4, r4, r5 │ │ │ │ │ + cmp r4, #1 │ │ │ │ │ add r3, r2 │ │ │ │ │ mul.w r3, r5, r3 │ │ │ │ │ add.w r6, r6, r3, lsl #3 │ │ │ │ │ - ble.n 70a │ │ │ │ │ + ble.n 7ce │ │ │ │ │ ldr r0, [sp, #32] │ │ │ │ │ - b.n 6d0 │ │ │ │ │ + b.n 78c │ │ │ │ │ add sp, #48 @ 0x30 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, pc} │ │ │ │ │ - .word 0x0000003e │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldmia.w sp!, {r8, pc} │ │ │ │ │ + nop │ │ │ │ │ + .word 0x00000052 │ │ │ │ │ R_ARM_REL32 dotile │ │ │ │ │ │ │ │ │ │ -00000714 : │ │ │ │ │ +000007e4 : │ │ │ │ │ fftw_transpose_tiledbuf(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ + str.w r4, [sp, #-28]! │ │ │ │ │ mov r4, r1 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r7, r0 │ │ │ │ │ + strd r9, lr, [sp, #20] │ │ │ │ │ sub.w sp, sp, #8192 @ 0x2000 │ │ │ │ │ sub sp, #52 @ 0x34 │ │ │ │ │ add.w r1, sp, #8256 @ 0x2040 │ │ │ │ │ add r5, sp, #48 @ 0x30 │ │ │ │ │ - adds r1, #16 │ │ │ │ │ - ldr r0, [r1, #0] │ │ │ │ │ - movs r1, #2 │ │ │ │ │ + ldr r0, [r1, #16] │ │ │ │ │ + add.w r1, r1, #16 │ │ │ │ │ + mov.w r1, #2 │ │ │ │ │ strd r2, r3, [r5, #-28] │ │ │ │ │ str.w r0, [r5, #-20] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_compute_tilesz │ │ │ │ │ add.w r3, sp, #4128 @ 0x1020 │ │ │ │ │ cmp r4, #1 │ │ │ │ │ - add.w r3, r3, #16 │ │ │ │ │ strd r0, r5, [r5, #-16] │ │ │ │ │ + add.w r3, r3, #16 │ │ │ │ │ str.w r3, [r5, #-8] │ │ │ │ │ - ble.n 796 │ │ │ │ │ - ldr.w r8, [pc, #80] @ 7a0 │ │ │ │ │ + ble.n 87e │ │ │ │ │ + ldr.w r8, [pc, #104] @ 898 │ │ │ │ │ add.w r9, sp, #16 │ │ │ │ │ add r8, pc │ │ │ │ │ - asrs r6, r4, #1 │ │ │ │ │ - str.w r7, [r5, #-32] │ │ │ │ │ + mov.w r6, r4, asr #1 │ │ │ │ │ mov r3, r4 │ │ │ │ │ + str.w r7, [r5, #-32] │ │ │ │ │ + strd r0, r8, [sp] │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ mov r2, r6 │ │ │ │ │ mov r1, r6 │ │ │ │ │ - str r0, [sp, #0] │ │ │ │ │ - strd r8, r9, [sp, #4] │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + str.w r9, [sp, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tile2d │ │ │ │ │ mov r3, r9 │ │ │ │ │ mov r2, r8 │ │ │ │ │ mov r0, r7 │ │ │ │ │ mov r1, r6 │ │ │ │ │ - subs r4, r4, r6 │ │ │ │ │ - bl 25c │ │ │ │ │ - cmp r4, #1 │ │ │ │ │ + bl 2a0 │ │ │ │ │ ldrd r3, r2, [r5, #-28] │ │ │ │ │ + sub.w r4, r4, r6 │ │ │ │ │ + cmp r4, #1 │ │ │ │ │ add r3, r2 │ │ │ │ │ mul.w r3, r6, r3 │ │ │ │ │ add.w r7, r7, r3, lsl #3 │ │ │ │ │ - ble.n 796 │ │ │ │ │ + ble.n 87e │ │ │ │ │ ldr.w r0, [r5, #-16] │ │ │ │ │ - b.n 758 │ │ │ │ │ + b.n 838 │ │ │ │ │ add.w sp, sp, #8192 @ 0x2000 │ │ │ │ │ add sp, #52 @ 0x34 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} │ │ │ │ │ - .word 0x00000046 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x0000005e │ │ │ │ │ R_ARM_REL32 dotile_buf │ │ │ ├── trig.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1864 (bytes into file) │ │ │ │ │ + Start of section headers: 1992 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 10 │ │ │ │ │ Section header string table index: 9 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ -There are 10 section headers, starting at offset 0x748: │ │ │ │ │ +There are 10 section headers, starting at offset 0x7c8: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0003d4 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000660 000098 08 I 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000408 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000408 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .note.GNU-stack PROGBITS 00000000 000408 000000 00 0 0 1 │ │ │ │ │ - [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000408 000033 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 00043c 000160 10 8 15 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 00059c 0000c1 00 0 0 1 │ │ │ │ │ - [ 9] .shstrtab STRTAB 00000000 0006f8 000050 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000454 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0006e0 000098 08 I 7 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000488 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000488 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .note.GNU-stack PROGBITS 00000000 000488 000000 00 0 0 1 │ │ │ │ │ + [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000488 000033 00 0 0 1 │ │ │ │ │ + [ 7] .symtab SYMTAB 00000000 0004bc 000160 10 8 15 4 │ │ │ │ │ + [ 8] .strtab STRTAB 00000000 00061c 0000c1 00 0 0 1 │ │ │ │ │ + [ 9] .shstrtab STRTAB 00000000 000778 000050 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,25 +1,25 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 22 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 80 FUNC LOCAL DEFAULT 1 cexpl_sqrtn_table │ │ │ │ │ + 1: 00000001 84 FUNC LOCAL DEFAULT 1 cexpl_sqrtn_table │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000051 96 FUNC LOCAL DEFAULT 1 rotate_sqrtn_table │ │ │ │ │ - 4: 000000b1 14 FUNC LOCAL DEFAULT 1 cexp_zero │ │ │ │ │ - 5: 000000c1 64 FUNC LOCAL DEFAULT 1 rotate_generic │ │ │ │ │ - 6: 00000101 192 FUNC LOCAL DEFAULT 1 real_cexp │ │ │ │ │ - 7: 000001b8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 8: 000001c0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 9: 000001c1 14 FUNC LOCAL DEFAULT 1 cexpl_zero │ │ │ │ │ - 10: 000001d1 192 FUNC LOCAL DEFAULT 1 cexpl_sincos │ │ │ │ │ - 11: 00000288 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 12: 00000290 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 13: 000003a0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 14: 000003b8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 3: 00000055 100 FUNC LOCAL DEFAULT 1 rotate_sqrtn_table │ │ │ │ │ + 4: 000000b9 18 FUNC LOCAL DEFAULT 1 cexp_zero │ │ │ │ │ + 5: 000000cd 66 FUNC LOCAL DEFAULT 1 rotate_generic │ │ │ │ │ + 6: 00000111 216 FUNC LOCAL DEFAULT 1 real_cexp │ │ │ │ │ + 7: 000001e0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 000001e8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 9: 000001e9 18 FUNC LOCAL DEFAULT 1 cexpl_zero │ │ │ │ │ + 10: 000001fd 220 FUNC LOCAL DEFAULT 1 cexpl_sincos │ │ │ │ │ + 11: 000002d0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 12: 000002d8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 13: 0000041c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 14: 00000434 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND sincos │ │ │ │ │ - 16: 00000291 296 FUNC GLOBAL DEFAULT 1 fftw_mktriggen │ │ │ │ │ + 16: 000002d9 348 FUNC GLOBAL DEFAULT 1 fftw_mktriggen │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_malloc_plain │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND __aeabi_idiv │ │ │ │ │ - 19: 000003b9 26 FUNC GLOBAL DEFAULT 1 fftw_triggen_destroy │ │ │ │ │ + 19: 00000435 30 FUNC GLOBAL DEFAULT 1 fftw_triggen_destroy │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ifree0 │ │ │ │ │ 21: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ifree │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x660 contains 19 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x6e0 contains 19 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000015e 00000f0a R_ARM_THM_CALL 00000000 sincos │ │ │ │ │ -000001a6 00000f0a R_ARM_THM_CALL 00000000 sincos │ │ │ │ │ -00000230 00000f0a R_ARM_THM_CALL 00000000 sincos │ │ │ │ │ -00000278 00000f0a R_ARM_THM_CALL 00000000 sincos │ │ │ │ │ -0000029a 0000110a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -000002fa 0000120a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -00000304 0000110a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -0000030e 0000110a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -0000038a 0000110a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -00000394 0000110a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -000003a0 00000a03 R_ARM_REL32 000001d1 cexpl_sincos │ │ │ │ │ -000003a4 00000503 R_ARM_REL32 000000c1 rotate_generic │ │ │ │ │ -000003a8 00000303 R_ARM_REL32 00000051 rotate_sqrtn_table │ │ │ │ │ -000003ac 00000103 R_ARM_REL32 00000001 cexpl_sqrtn_table │ │ │ │ │ -000003b0 00000403 R_ARM_REL32 000000b1 cexp_zero │ │ │ │ │ -000003b4 00000903 R_ARM_REL32 000001c1 cexpl_zero │ │ │ │ │ -000003be 0000140a R_ARM_THM_CALL 00000000 fftw_ifree0 │ │ │ │ │ -000003c4 0000140a R_ARM_THM_CALL 00000000 fftw_ifree0 │ │ │ │ │ -000003ce 0000151e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ │ +0000017e 00000f0a R_ARM_THM_CALL 00000000 sincos │ │ │ │ │ +000001d2 00000f0a R_ARM_THM_CALL 00000000 sincos │ │ │ │ │ +0000026c 00000f0a R_ARM_THM_CALL 00000000 sincos │ │ │ │ │ +000002c0 00000f0a R_ARM_THM_CALL 00000000 sincos │ │ │ │ │ +000002f0 0000110a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +00000364 0000120a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +00000372 0000110a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +0000037c 0000110a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +00000408 0000110a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +00000412 0000110a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +0000041c 00000a03 R_ARM_REL32 000001fd cexpl_sincos │ │ │ │ │ +00000420 00000503 R_ARM_REL32 000000cd rotate_generic │ │ │ │ │ +00000424 00000103 R_ARM_REL32 00000001 cexpl_sqrtn_table │ │ │ │ │ +00000428 00000303 R_ARM_REL32 00000055 rotate_sqrtn_table │ │ │ │ │ +0000042c 00000403 R_ARM_REL32 000000b9 cexp_zero │ │ │ │ │ +00000430 00000903 R_ARM_REL32 000001e9 cexpl_zero │ │ │ │ │ +0000043c 0000140a R_ARM_THM_CALL 00000000 fftw_ifree0 │ │ │ │ │ +00000442 0000140a R_ARM_THM_CALL 00000000 fftw_ifree0 │ │ │ │ │ +0000044e 0000151e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -5,388 +5,407 @@ │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ cexpl_sqrtn_table(): │ │ │ │ │ ldr r3, [r0, #32] │ │ │ │ │ cmp r1, #0 │ │ │ │ │ it ge │ │ │ │ │ movge r3, #0 │ │ │ │ │ - push {r4} │ │ │ │ │ + str.w r4, [sp, #-4]! │ │ │ │ │ + ldr r4, [r0, #20] │ │ │ │ │ add r3, r1 │ │ │ │ │ - ldrd r4, r1, [r0, #20] │ │ │ │ │ + ldr r1, [r0, #24] │ │ │ │ │ and.w ip, r3, r4 │ │ │ │ │ ldr.w r4, [sp], #4 │ │ │ │ │ add.w r1, r1, ip, lsl #4 │ │ │ │ │ vldr d4, [r1] │ │ │ │ │ vldr d7, [r1, #8] │ │ │ │ │ ldr r1, [r0, #28] │ │ │ │ │ ldr r0, [r0, #12] │ │ │ │ │ - asrs r3, r0 │ │ │ │ │ + asr.w r3, r3, r0 │ │ │ │ │ add.w r3, r1, r3, lsl #4 │ │ │ │ │ - vldr d5, [r3, #8] │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ + vldr d5, [r3, #8] │ │ │ │ │ vmul.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ - vmla.f64 d7, d4, d5 │ │ │ │ │ vnmls.f64 d6, d4, d3 │ │ │ │ │ - vstr d7, [r2, #8] │ │ │ │ │ + vmla.f64 d7, d4, d5 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ + vstr d7, [r2, #8] │ │ │ │ │ bx lr │ │ │ │ │ │ │ │ │ │ -00000050 : │ │ │ │ │ +00000054 : │ │ │ │ │ rotate_sqrtn_table(): │ │ │ │ │ ldr r3, [r0, #32] │ │ │ │ │ cmp r1, #0 │ │ │ │ │ it ge │ │ │ │ │ movge r3, #0 │ │ │ │ │ - push {r4} │ │ │ │ │ + str.w r4, [sp, #-4]! │ │ │ │ │ + ldr r4, [r0, #20] │ │ │ │ │ add r3, r1 │ │ │ │ │ - ldrd r4, r1, [r0, #20] │ │ │ │ │ + ldr r1, [r0, #24] │ │ │ │ │ and.w ip, r3, r4 │ │ │ │ │ ldr.w r4, [sp], #4 │ │ │ │ │ add.w r1, r1, ip, lsl #4 │ │ │ │ │ vldr d4, [r1] │ │ │ │ │ vldr d7, [r1, #8] │ │ │ │ │ ldr r1, [r0, #28] │ │ │ │ │ ldr r0, [r0, #12] │ │ │ │ │ - asrs r3, r0 │ │ │ │ │ + asr.w r3, r3, r0 │ │ │ │ │ add.w r3, r1, r3, lsl #4 │ │ │ │ │ - vldr d5, [r3, #8] │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ + vldr d5, [r3, #8] │ │ │ │ │ vmul.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vmla.f64 d7, d4, d5 │ │ │ │ │ vnmls.f64 d6, d4, d3 │ │ │ │ │ vmul.f64 d5, d7, d1 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ vmla.f64 d5, d6, d0 │ │ │ │ │ vnmls.f64 d7, d6, d1 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ vstr d7, [r2, #8] │ │ │ │ │ bx lr │ │ │ │ │ │ │ │ │ │ -000000b0 : │ │ │ │ │ +000000b8 : │ │ │ │ │ cexp_zero(): │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ strd r0, r1, [r2] │ │ │ │ │ strd r0, r1, [r2, #8] │ │ │ │ │ bx lr │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000000c0 : │ │ │ │ │ +000000cc : │ │ │ │ │ rotate_generic(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r2 │ │ │ │ │ - ldr r3, [r0, #4] │ │ │ │ │ vpush {d8-d9} │ │ │ │ │ sub sp, #16 │ │ │ │ │ - vmov.f64 d9, d1 │ │ │ │ │ - mov r2, sp │ │ │ │ │ vmov.f64 d8, d0 │ │ │ │ │ + ldr r3, [r0, #4] │ │ │ │ │ + mov r2, sp │ │ │ │ │ + vmov.f64 d9, d1 │ │ │ │ │ blx r3 │ │ │ │ │ - vldr d5, [sp, #8] │ │ │ │ │ vldr d7, [sp] │ │ │ │ │ + vldr d5, [sp, #8] │ │ │ │ │ vmul.f64 d6, d5, d9 │ │ │ │ │ vmla.f64 d6, d7, d8 │ │ │ │ │ vmul.f64 d7, d7, d9 │ │ │ │ │ vmls.f64 d7, d5, d8 │ │ │ │ │ vstr d6, [r4] │ │ │ │ │ vstr d7, [r4, #8] │ │ │ │ │ add sp, #16 │ │ │ │ │ vpop {d8-d9} │ │ │ │ │ pop {r4, pc} │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000100 : │ │ │ │ │ +00000110 : │ │ │ │ │ real_cexp(): │ │ │ │ │ - mov.w ip, r1, lsl #2 │ │ │ │ │ lsls r0, r0, #2 │ │ │ │ │ + str.w r4, [sp, #-20]! │ │ │ │ │ + mov r4, r2 │ │ │ │ │ + mov.w ip, r1, lsl #2 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, lr, [sp, #12] │ │ │ │ │ + sub sp, #20 │ │ │ │ │ it mi │ │ │ │ │ addmi r0, ip │ │ │ │ │ - push {r4, r5, r6, r7, lr} │ │ │ │ │ - mov r4, r2 │ │ │ │ │ sub.w r2, ip, r0 │ │ │ │ │ - vmov s15, ip │ │ │ │ │ cmp r2, r0 │ │ │ │ │ - sub sp, #20 │ │ │ │ │ - itt ge │ │ │ │ │ - movge r2, r0 │ │ │ │ │ - movge r5, #2 │ │ │ │ │ - sub.w r3, r2, r1 │ │ │ │ │ - itee ge │ │ │ │ │ - movge r6, #0 │ │ │ │ │ + itt lt │ │ │ │ │ movlt r5, #6 │ │ │ │ │ movlt r6, #4 │ │ │ │ │ + blt.n 142 │ │ │ │ │ + mov r2, r0 │ │ │ │ │ + mov.w r5, #2 │ │ │ │ │ + mov.w r6, #0 │ │ │ │ │ + vmov s15, ip │ │ │ │ │ + sub.w r3, r2, r1 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - vcvt.f64.s32 d0, s15 │ │ │ │ │ itt le │ │ │ │ │ movle r3, r2 │ │ │ │ │ movle r5, r6 │ │ │ │ │ - subs r1, r1, r3 │ │ │ │ │ + sub.w r1, r1, r3 │ │ │ │ │ cmp r1, r3 │ │ │ │ │ - bge.n 18c │ │ │ │ │ + vcvt.f64.s32 d0, s15 │ │ │ │ │ + bge.n 1b8 │ │ │ │ │ vmov s15, r1 │ │ │ │ │ - vldr d6, [pc, #116] @ 1b8 │ │ │ │ │ - mov r1, sp │ │ │ │ │ add r0, sp, #8 │ │ │ │ │ - vcvt.f64.s32 d7, s15 │ │ │ │ │ + mov r1, sp │ │ │ │ │ + vldr d6, [pc, #120] @ 1e0 │ │ │ │ │ orr.w r7, r5, #1 │ │ │ │ │ and.w r6, r5, #4 │ │ │ │ │ + vcvt.f64.s32 d7, s15 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ vdiv.f64 d0, d7, d0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL sincos │ │ │ │ │ vldr d7, [sp] │ │ │ │ │ vldr d6, [sp, #8] │ │ │ │ │ lsls r3, r7, #30 │ │ │ │ │ - bpl.n 17a │ │ │ │ │ + bpl.n 19a │ │ │ │ │ vneg.f64 d5, d7 │ │ │ │ │ vmov.f64 d7, d6 │ │ │ │ │ vmov.f64 d6, d5 │ │ │ │ │ - cbz r6, 180 │ │ │ │ │ + cbz r6, 1a0 │ │ │ │ │ vneg.f64 d7, d7 │ │ │ │ │ vstr d6, [r4] │ │ │ │ │ vstr d7, [r4, #8] │ │ │ │ │ add sp, #20 │ │ │ │ │ - pop {r4, r5, r6, r7, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ vmov s15, r3 │ │ │ │ │ - vldr d6, [pc, #36] @ 1b8 │ │ │ │ │ mov r1, sp │ │ │ │ │ add r0, sp, #8 │ │ │ │ │ - vcvt.f64.s32 d7, s15 │ │ │ │ │ + vldr d6, [pc, #28] @ 1e0 │ │ │ │ │ mov r7, r5 │ │ │ │ │ + vcvt.f64.s32 d7, s15 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ vdiv.f64 d0, d7, d0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL sincos │ │ │ │ │ vldr d6, [sp] │ │ │ │ │ vldr d7, [sp, #8] │ │ │ │ │ - b.n 16a │ │ │ │ │ - nop.w │ │ │ │ │ + b.n 18a │ │ │ │ │ .word 0x54442d18 │ │ │ │ │ .word 0x401921fb │ │ │ │ │ │ │ │ │ │ -000001c0 : │ │ │ │ │ +000001e8 : │ │ │ │ │ cexpl_zero(): │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ strd r0, r1, [r2] │ │ │ │ │ strd r0, r1, [r2, #8] │ │ │ │ │ bx lr │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000001d0 : │ │ │ │ │ +000001fc : │ │ │ │ │ cexpl_sincos(): │ │ │ │ │ ldr r0, [r0, #32] │ │ │ │ │ lsls r1, r1, #2 │ │ │ │ │ - push {r4, r5, r6, r7, lr} │ │ │ │ │ + str.w r4, [sp, #-20]! │ │ │ │ │ mov r4, r2 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, lr, [sp, #12] │ │ │ │ │ + sub sp, #20 │ │ │ │ │ mov.w ip, r0, lsl #2 │ │ │ │ │ - vmov s15, ip │ │ │ │ │ it mi │ │ │ │ │ addmi r1, ip │ │ │ │ │ - sub sp, #20 │ │ │ │ │ sub.w r2, ip, r1 │ │ │ │ │ - vcvt.f64.s32 d0, s15 │ │ │ │ │ cmp r1, r2 │ │ │ │ │ - itt le │ │ │ │ │ - movle r2, r1 │ │ │ │ │ - movle r5, #2 │ │ │ │ │ - sub.w r3, r2, r0 │ │ │ │ │ - itee le │ │ │ │ │ - movle r6, #0 │ │ │ │ │ + itt gt │ │ │ │ │ movgt r5, #6 │ │ │ │ │ movgt r6, #4 │ │ │ │ │ + bgt.n 230 │ │ │ │ │ + mov r2, r1 │ │ │ │ │ + mov.w r5, #2 │ │ │ │ │ + mov.w r6, #0 │ │ │ │ │ + vmov s15, ip │ │ │ │ │ + sub.w r3, r2, r0 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ itt le │ │ │ │ │ movle r3, r2 │ │ │ │ │ movle r5, r6 │ │ │ │ │ - subs r0, r0, r3 │ │ │ │ │ + sub.w r0, r0, r3 │ │ │ │ │ cmp r3, r0 │ │ │ │ │ - ble.n 25e │ │ │ │ │ + vcvt.f64.s32 d0, s15 │ │ │ │ │ + ble.n 2a6 │ │ │ │ │ vmov s15, r0 │ │ │ │ │ - vldr d6, [pc, #112] @ 288 │ │ │ │ │ mov r1, sp │ │ │ │ │ add r0, sp, #8 │ │ │ │ │ - vcvt.f64.s32 d7, s15 │ │ │ │ │ + vldr d6, [pc, #120] @ 2d0 │ │ │ │ │ orr.w r7, r5, #1 │ │ │ │ │ and.w r6, r5, #4 │ │ │ │ │ + vcvt.f64.s32 d7, s15 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ vdiv.f64 d0, d7, d0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL sincos │ │ │ │ │ vldr d7, [sp] │ │ │ │ │ vldr d6, [sp, #8] │ │ │ │ │ lsls r3, r7, #30 │ │ │ │ │ - bpl.n 24c │ │ │ │ │ + bpl.n 288 │ │ │ │ │ vneg.f64 d5, d7 │ │ │ │ │ vmov.f64 d7, d6 │ │ │ │ │ vmov.f64 d6, d5 │ │ │ │ │ - cbz r6, 252 │ │ │ │ │ + cbz r6, 28e │ │ │ │ │ vneg.f64 d7, d7 │ │ │ │ │ vstr d6, [r4] │ │ │ │ │ vstr d7, [r4, #8] │ │ │ │ │ add sp, #20 │ │ │ │ │ - pop {r4, r5, r6, r7, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ vmov s15, r3 │ │ │ │ │ - vldr d6, [pc, #36] @ 288 │ │ │ │ │ mov r1, sp │ │ │ │ │ add r0, sp, #8 │ │ │ │ │ - vcvt.f64.s32 d7, s15 │ │ │ │ │ + vldr d6, [pc, #32] @ 2d0 │ │ │ │ │ mov r7, r5 │ │ │ │ │ + vcvt.f64.s32 d7, s15 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ vdiv.f64 d0, d7, d0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL sincos │ │ │ │ │ vldr d6, [sp] │ │ │ │ │ vldr d7, [sp, #8] │ │ │ │ │ - b.n 23c │ │ │ │ │ + b.n 278 │ │ │ │ │ nop │ │ │ │ │ .word 0x54442d18 │ │ │ │ │ .word 0x401921fb │ │ │ │ │ │ │ │ │ │ -00000290 : │ │ │ │ │ +000002d8 : │ │ │ │ │ fftw_mktriggen(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ mov r5, r0 │ │ │ │ │ - movs r0, #36 @ 0x24 │ │ │ │ │ + mov.w r0, #36 @ 0x24 │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ mov r6, r1 │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - mov r4, r0 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ cmp r5, #2 │ │ │ │ │ - str r6, [r0, #32] │ │ │ │ │ - strd r3, r3, [r0, #24] │ │ │ │ │ + mov r4, r0 │ │ │ │ │ str r3, [r0, #0] │ │ │ │ │ str r3, [r0, #8] │ │ │ │ │ - beq.n 2d2 │ │ │ │ │ + strd r3, r3, [r0, #24] │ │ │ │ │ + str r6, [r0, #32] │ │ │ │ │ + beq.n 338 │ │ │ │ │ cmp r5, #3 │ │ │ │ │ - beq.n 2be │ │ │ │ │ + beq.n 316 │ │ │ │ │ cmp r5, #1 │ │ │ │ │ - beq.n 372 │ │ │ │ │ + beq.n 3e8 │ │ │ │ │ ldr r3, [r0, #4] │ │ │ │ │ str r3, [r0, #0] │ │ │ │ │ - b.n 2c6 │ │ │ │ │ - ldr r3, [pc, #224] @ (3a0 ) │ │ │ │ │ + b.n 31e │ │ │ │ │ + ldr r3, [pc, #260] @ (41c ) │ │ │ │ │ add r3, pc │ │ │ │ │ strd r3, r3, [r0] │ │ │ │ │ - ldr r3, [pc, #220] @ (3a4 ) │ │ │ │ │ + ldr r3, [pc, #256] @ (420 ) │ │ │ │ │ add r3, pc │ │ │ │ │ str r3, [r4, #8] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {sl, pc} │ │ │ │ │ cmp r6, #0 │ │ │ │ │ - ble.n 380 │ │ │ │ │ + ble.n 3f6 │ │ │ │ │ mov r2, r6 │ │ │ │ │ mov r5, r3 │ │ │ │ │ - adds r5, #1 │ │ │ │ │ asrs r2, r2, #2 │ │ │ │ │ - bne.n 2da │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ + bne.n 340 │ │ │ │ │ mov.w sl, #1 │ │ │ │ │ lsl.w sl, sl, r5 │ │ │ │ │ - strd r5, sl, [r4, #12] │ │ │ │ │ - add.w r0, r6, sl │ │ │ │ │ add.w r3, sl, #4294967295 @ 0xffffffff │ │ │ │ │ + add.w r0, r6, sl │ │ │ │ │ mov r1, sl │ │ │ │ │ + add.w r0, r0, #4294967295 @ 0xffffffff │ │ │ │ │ + strd r5, sl, [r4, #12] │ │ │ │ │ str r3, [r4, #20] │ │ │ │ │ - subs r0, #1 │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ mov r9, r0 │ │ │ │ │ - movs r0, #16 │ │ │ │ │ - lsls r0, r5 │ │ │ │ │ + mov.w r0, #16 │ │ │ │ │ + lsl.w r0, r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ str r0, [r4, #24] │ │ │ │ │ mov.w r0, r9, lsl #4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ cmp.w sl, #0 │ │ │ │ │ mov r7, r0 │ │ │ │ │ str r0, [r4, #28] │ │ │ │ │ - ble.n 336 │ │ │ │ │ + ble.n 3a8 │ │ │ │ │ ldr.w r8, [r4, #24] │ │ │ │ │ - movs r5, #0 │ │ │ │ │ + mov.w r5, #0 │ │ │ │ │ mov r2, r8 │ │ │ │ │ mov r0, r5 │ │ │ │ │ mov r1, r6 │ │ │ │ │ - adds r5, #1 │ │ │ │ │ - bl 100 │ │ │ │ │ - add.w r8, r8, #16 │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ + bl 110 │ │ │ │ │ cmp sl, r5 │ │ │ │ │ - bne.n 322 │ │ │ │ │ + add.w r8, r8, #16 │ │ │ │ │ + bne.n 392 │ │ │ │ │ cmp.w r9, #0 │ │ │ │ │ - ble.n 35c │ │ │ │ │ - movs r5, #0 │ │ │ │ │ + ble.n 3d2 │ │ │ │ │ ldr.w sl, [r4, #16] │ │ │ │ │ + mov.w r5, #0 │ │ │ │ │ mov r8, r7 │ │ │ │ │ mov r7, r5 │ │ │ │ │ mov r2, r8 │ │ │ │ │ mov r0, r5 │ │ │ │ │ mov r1, r6 │ │ │ │ │ - adds r7, #1 │ │ │ │ │ - bl 100 │ │ │ │ │ + add.w r7, r7, #1 │ │ │ │ │ + bl 110 │ │ │ │ │ + cmp r9, r7 │ │ │ │ │ add r5, sl │ │ │ │ │ add.w r8, r8, #16 │ │ │ │ │ - cmp r9, r7 │ │ │ │ │ - bne.n 346 │ │ │ │ │ - ldr r2, [pc, #72] @ (3a8 ) │ │ │ │ │ - ldr r3, [pc, #76] @ (3ac ) │ │ │ │ │ + bne.n 3ba │ │ │ │ │ + ldr r3, [pc, #80] @ (424 ) │ │ │ │ │ + ldr r2, [pc, #80] @ (428 ) │ │ │ │ │ + add r3, pc │ │ │ │ │ add r2, pc │ │ │ │ │ - str r2, [r4, #8] │ │ │ │ │ + strd r3, r2, [r4, #4] │ │ │ │ │ ldr r2, [r4, #0] │ │ │ │ │ - add r3, pc │ │ │ │ │ - str r3, [r4, #4] │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - bne.n 2cc │ │ │ │ │ + bne.n 324 │ │ │ │ │ str r3, [r4, #0] │ │ │ │ │ - b.n 2cc │ │ │ │ │ - ldr r3, [pc, #60] @ (3b0 ) │ │ │ │ │ + b.n 324 │ │ │ │ │ + ldr r3, [pc, #64] @ (42c ) │ │ │ │ │ add r3, pc │ │ │ │ │ str r3, [r0, #0] │ │ │ │ │ - ldr r3, [pc, #56] @ (3b4 ) │ │ │ │ │ + ldr r3, [pc, #64] @ (430 ) │ │ │ │ │ add r3, pc │ │ │ │ │ str r3, [r0, #4] │ │ │ │ │ - b.n 2c6 │ │ │ │ │ - str r3, [r0, #12] │ │ │ │ │ - movs r5, #1 │ │ │ │ │ - strd r5, r3, [r0, #16] │ │ │ │ │ - movs r0, #16 │ │ │ │ │ + b.n 31e │ │ │ │ │ + mov.w r5, #1 │ │ │ │ │ + mov.w r0, #16 │ │ │ │ │ + mov r9, r6 │ │ │ │ │ + mov sl, r5 │ │ │ │ │ + strd r3, r5, [r4, #12] │ │ │ │ │ + str r3, [r4, #20] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ str r0, [r4, #24] │ │ │ │ │ - lsls r0, r6, #4 │ │ │ │ │ - mov r9, r6 │ │ │ │ │ + mov.w r0, r6, lsl #4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ - mov sl, r5 │ │ │ │ │ mov r7, r0 │ │ │ │ │ str r0, [r4, #28] │ │ │ │ │ - b.n 31c │ │ │ │ │ - .word 0x000000dc │ │ │ │ │ + b.n 38a │ │ │ │ │ + .word 0x00000100 │ │ │ │ │ R_ARM_REL32 cexpl_sincos │ │ │ │ │ - .word 0x000000d8 │ │ │ │ │ + .word 0x000000fc │ │ │ │ │ R_ARM_REL32 rotate_generic │ │ │ │ │ - .word 0x00000044 │ │ │ │ │ - R_ARM_REL32 rotate_sqrtn_table │ │ │ │ │ - .word 0x00000042 │ │ │ │ │ + .word 0x0000004a │ │ │ │ │ R_ARM_REL32 cexpl_sqrtn_table │ │ │ │ │ - .word 0x00000038 │ │ │ │ │ + .word 0x0000004c │ │ │ │ │ + R_ARM_REL32 rotate_sqrtn_table │ │ │ │ │ + .word 0x0000003e │ │ │ │ │ R_ARM_REL32 cexp_zero │ │ │ │ │ - .word 0x00000036 │ │ │ │ │ + .word 0x0000003c │ │ │ │ │ R_ARM_REL32 cexpl_zero │ │ │ │ │ │ │ │ │ │ -000003b8 : │ │ │ │ │ +00000434 : │ │ │ │ │ fftw_triggen_destroy(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldr r0, [r0, #24] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree0 │ │ │ │ │ ldr r0, [r4, #28] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_ifree │ │ │ │ │ nop │ │ │ ├── twiddle.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1712 (bytes into file) │ │ │ │ │ + Start of section headers: 1796 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 10 │ │ │ │ │ Section header string table index: 9 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ -There are 10 section headers, starting at offset 0x6b0: │ │ │ │ │ +There are 10 section headers, starting at offset 0x704: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0003a4 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000600 000060 08 I 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0003d8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0003d8 0001b4 00 WA 0 0 4 │ │ │ │ │ - [ 5] .note.GNU-stack PROGBITS 00000000 0003d8 000000 00 0 0 1 │ │ │ │ │ - [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 0003d8 000033 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 00040c 000150 10 8 12 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 00055c 0000a4 00 0 0 1 │ │ │ │ │ - [ 9] .shstrtab STRTAB 00000000 000660 000050 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0003f8 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000654 000060 08 I 7 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 00042c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 00042c 0001b4 00 WA 0 0 4 │ │ │ │ │ + [ 5] .note.GNU-stack PROGBITS 00000000 00042c 000000 00 0 0 1 │ │ │ │ │ + [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 00042c 000033 00 0 0 1 │ │ │ │ │ + [ 7] .symtab SYMTAB 00000000 000460 000150 10 8 12 4 │ │ │ │ │ + [ 8] .strtab STRTAB 00000000 0005b0 0000a4 00 0 0 1 │ │ │ │ │ + [ 9] .shstrtab STRTAB 00000000 0006b4 000050 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 21 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 SECTION LOCAL DEFAULT 4 .bss │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 0000001a 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000020 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000194 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 000001a0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00000218 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 8: 0000021e 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 9: 00000398 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 0000001e 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000024 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000001d6 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 000001e2 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00000264 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 0000026a 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 9: 000003ec 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 10: 00000000 0 NOTYPE LOCAL DEFAULT 4 $d │ │ │ │ │ 11: 00000000 436 OBJECT LOCAL DEFAULT 4 twlist │ │ │ │ │ - 12: 00000001 62 FUNC GLOBAL DEFAULT 1 fftw_twiddle_length │ │ │ │ │ - 13: 00000041 868 FUNC GLOBAL DEFAULT 1 fftw_twiddle_awake │ │ │ │ │ + 12: 00000001 72 FUNC GLOBAL DEFAULT 1 fftw_twiddle_length │ │ │ │ │ + 13: 00000049 944 FUNC GLOBAL DEFAULT 1 fftw_twiddle_awake │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ifree │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_malloc_plain │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mktriggen │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND __aeabi_idiv │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND __aeabi_idivmod │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_safe_mulmod │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_triggen_destroy │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,15 +1,15 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x600 contains 12 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x654 contains 12 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000000a6 00000e0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -000000ac 00000e0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -00000156 00000f0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -00000172 0000100a R_ARM_THM_CALL 00000000 fftw_mktriggen │ │ │ │ │ -000001b2 0000110a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -000001bc 00000f0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -00000236 0000120a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -00000262 0000130a R_ARM_THM_CALL 00000000 fftw_safe_mulmod │ │ │ │ │ -000002a4 0000140a R_ARM_THM_CALL 00000000 fftw_triggen_destroy │ │ │ │ │ -00000398 00000103 R_ARM_REL32 00000000 .bss │ │ │ │ │ -0000039c 00000103 R_ARM_REL32 00000000 .bss │ │ │ │ │ -000003a0 00000103 R_ARM_REL32 00000000 .bss │ │ │ │ │ +000000c4 00000e0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +000000ca 00000e0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +00000192 00000f0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +000001b0 0000100a R_ARM_THM_CALL 00000000 fftw_mktriggen │ │ │ │ │ +000001f6 0000110a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +00000202 00000f0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +00000282 0000120a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +000002b2 0000130a R_ARM_THM_CALL 00000000 fftw_safe_mulmod │ │ │ │ │ +000002f6 0000140a R_ARM_THM_CALL 00000000 fftw_triggen_destroy │ │ │ │ │ +000003ec 00000103 R_ARM_REL32 00000000 .bss │ │ │ │ │ +000003f0 00000103 R_ARM_REL32 00000000 .bss │ │ │ │ │ +000003f4 00000103 R_ARM_REL32 00000000 .bss │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,8 +1,7 @@ │ │ │ │ │ -ZF#h FID │ │ │ │ │ fftw_twiddle_length │ │ │ │ │ fftw_twiddle_awake │ │ │ │ │ fftw_ifree │ │ │ │ │ fftw_malloc_plain │ │ │ │ │ fftw_mktriggen │ │ │ │ │ __aeabi_idiv │ │ │ │ │ __aeabi_idivmod │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -3,379 +3,385 @@ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_twiddle_length(): │ │ │ │ │ ldrb r3, [r1, #0] │ │ │ │ │ cmp r3, #3 │ │ │ │ │ - beq.n 3a │ │ │ │ │ + beq.n 42 │ │ │ │ │ add.w ip, r0, #4294967295 @ 0xffffffff │ │ │ │ │ - push {lr} │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + str.w lr, [sp, #-4]! │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ mov.w lr, ip, lsl #1 │ │ │ │ │ cmp r3, #5 │ │ │ │ │ - bhi.n 22 │ │ │ │ │ + bhi.n 28 │ │ │ │ │ tbb [pc, r3] │ │ │ │ │ .short 0x0303 │ │ │ │ │ - .word 0x0a0c040e │ │ │ │ │ - adds r0, #1 │ │ │ │ │ + .word 0x0b0d050f │ │ │ │ │ + add.w r0, r0, #1 │ │ │ │ │ ldrb.w r3, [r1, #4]! │ │ │ │ │ cmp r3, #3 │ │ │ │ │ - bne.n 12 │ │ │ │ │ + bne.n 16 │ │ │ │ │ ldr.w pc, [sp], #4 │ │ │ │ │ add r0, ip │ │ │ │ │ - b.n 22 │ │ │ │ │ + b.n 28 │ │ │ │ │ add r0, lr │ │ │ │ │ - b.n 22 │ │ │ │ │ - adds r0, #2 │ │ │ │ │ - b.n 22 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + b.n 28 │ │ │ │ │ + add.w r0, r0, #2 │ │ │ │ │ + b.n 28 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bx lr │ │ │ │ │ - nop │ │ │ │ │ │ │ │ │ │ -00000040 : │ │ │ │ │ +00000048 : │ │ │ │ │ fftw_twiddle_awake(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov fp, r1 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #68 @ 0x44 │ │ │ │ │ + mov fp, r1 │ │ │ │ │ ldr r7, [sp, #104] @ 0x68 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.n bc │ │ │ │ │ + bne.n ee │ │ │ │ │ ldr r4, [r1, #0] │ │ │ │ │ ldr r3, [r4, #16] │ │ │ │ │ - subs r3, #1 │ │ │ │ │ + add.w r3, r3, #4294967295 @ 0xffffffff │ │ │ │ │ str r3, [r4, #16] │ │ │ │ │ - cbnz r3, b6 │ │ │ │ │ - ldr r3, [r4, #4] │ │ │ │ │ - ldr r2, [r4, #8] │ │ │ │ │ + cbnz r3, d6 │ │ │ │ │ + ldrd r3, r2, [r4, #4] │ │ │ │ │ add.w r3, r3, r3, lsl #4 │ │ │ │ │ add r3, r2 │ │ │ │ │ movw r2, #55917 @ 0xda6d │ │ │ │ │ movt r2, #38479 @ 0x964f │ │ │ │ │ cmp r3, #0 │ │ │ │ │ it lt │ │ │ │ │ neglt r3, r3 │ │ │ │ │ smull r1, r2, r2, r3 │ │ │ │ │ - asrs r1, r3, #31 │ │ │ │ │ + mov.w r1, r3, asr #31 │ │ │ │ │ add r2, r3 │ │ │ │ │ rsb r1, r1, r2, asr #6 │ │ │ │ │ - movs r2, #109 @ 0x6d │ │ │ │ │ + mov.w r2, #109 @ 0x6d │ │ │ │ │ mls r1, r2, r1, r3 │ │ │ │ │ - ldr r3, [pc, #784] @ (398 ) │ │ │ │ │ + ldr r3, [pc, #840] @ (3ec ) │ │ │ │ │ add r3, pc │ │ │ │ │ add.w r2, r3, r1, lsl #2 │ │ │ │ │ ldr.w r3, [r3, r1, lsl #2] │ │ │ │ │ - cbnz r3, 9c │ │ │ │ │ - b.n b6 │ │ │ │ │ + cbnz r3, ba │ │ │ │ │ + b.n d6 │ │ │ │ │ add.w r2, r3, #24 │ │ │ │ │ ldr r3, [r3, #24] │ │ │ │ │ - cbz r3, b6 │ │ │ │ │ + cbz r3, d6 │ │ │ │ │ cmp r4, r3 │ │ │ │ │ - bne.n 94 │ │ │ │ │ + bne.n b2 │ │ │ │ │ + ldr r0, [r4, #0] │ │ │ │ │ ldr r3, [r4, #24] │ │ │ │ │ str r3, [r2, #0] │ │ │ │ │ - ldr r0, [r4, #0] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ mov r0, r4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ str.w r3, [fp] │ │ │ │ │ add sp, #68 @ 0x44 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ mov r4, r0 │ │ │ │ │ mov r0, r3 │ │ │ │ │ add.w r3, r3, r3, lsl #4 │ │ │ │ │ mov sl, r2 │ │ │ │ │ - add r3, r7 │ │ │ │ │ movw r2, #55917 @ 0xda6d │ │ │ │ │ movt r2, #38479 @ 0x964f │ │ │ │ │ + add r3, r7 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ it lt │ │ │ │ │ neglt r3, r3 │ │ │ │ │ smull r1, r2, r2, r3 │ │ │ │ │ - asrs r1, r3, #31 │ │ │ │ │ + mov.w r1, r3, asr #31 │ │ │ │ │ add r2, r3 │ │ │ │ │ rsb r9, r1, r2, asr #6 │ │ │ │ │ - movs r2, #109 @ 0x6d │ │ │ │ │ + mov.w r2, #109 @ 0x6d │ │ │ │ │ mls r9, r2, r9, r3 │ │ │ │ │ - ldr r3, [pc, #688] @ (39c ) │ │ │ │ │ + ldr r3, [pc, #720] @ (3f0 ) │ │ │ │ │ add r3, pc │ │ │ │ │ ldr.w r5, [r3, r9, lsl #2] │ │ │ │ │ - cbz r5, 154 │ │ │ │ │ + cbz r5, 18e │ │ │ │ │ mov r2, r0 │ │ │ │ │ - b.n fa │ │ │ │ │ + b.n 130 │ │ │ │ │ ldr r5, [r5, #24] │ │ │ │ │ - cbz r5, 154 │ │ │ │ │ + cbz r5, 18e │ │ │ │ │ ldr r3, [r5, #28] │ │ │ │ │ cmp r4, r3 │ │ │ │ │ - bne.n f6 │ │ │ │ │ + bne.n 12c │ │ │ │ │ ldr r3, [r5, #4] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.n f6 │ │ │ │ │ + bne.n 12c │ │ │ │ │ ldr r3, [r5, #8] │ │ │ │ │ cmp r7, r3 │ │ │ │ │ - bne.n f6 │ │ │ │ │ + bne.n 12c │ │ │ │ │ ldr r3, [r5, #12] │ │ │ │ │ ldr r1, [sp, #108] @ 0x6c │ │ │ │ │ cmp r1, r3 │ │ │ │ │ - bgt.n f6 │ │ │ │ │ + bgt.n 12c │ │ │ │ │ ldr r1, [r5, #20] │ │ │ │ │ cmp sl, r1 │ │ │ │ │ - beq.w 344 │ │ │ │ │ + beq.w 394 │ │ │ │ │ ldrb r3, [r1, #0] │ │ │ │ │ ldrb.w r0, [sl] │ │ │ │ │ cmp r0, r3 │ │ │ │ │ - bne.n f6 │ │ │ │ │ + bne.n 12c │ │ │ │ │ mov r0, sl │ │ │ │ │ + cmp r3, #3 │ │ │ │ │ ldrsb.w ip, [r1, #1] │ │ │ │ │ mov lr, r0 │ │ │ │ │ ldrsb.w r6, [r0, #1] │ │ │ │ │ - cmp r3, #3 │ │ │ │ │ - beq.w 33e │ │ │ │ │ - subs r3, #4 │ │ │ │ │ + beq.w 38e │ │ │ │ │ + sub.w r3, r3, #4 │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - bhi.w 37c │ │ │ │ │ + bhi.w 3ce │ │ │ │ │ cmp ip, r6 │ │ │ │ │ - bne.n f6 │ │ │ │ │ + bne.n 12c │ │ │ │ │ ldrb.w r3, [r1, #4]! │ │ │ │ │ - adds r0, #4 │ │ │ │ │ + add.w r0, r0, #4 │ │ │ │ │ ldrb.w r6, [lr, #4] │ │ │ │ │ cmp r6, r3 │ │ │ │ │ - beq.n 128 │ │ │ │ │ - b.n f6 │ │ │ │ │ - movs r0, #32 │ │ │ │ │ + beq.n 15e │ │ │ │ │ + b.n 12c │ │ │ │ │ + mov.w r0, #32 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ - ldr r3, [sp, #108] @ 0x6c │ │ │ │ │ ldr r1, [sp, #0] │ │ │ │ │ mov r5, r0 │ │ │ │ │ - str r3, [r0, #12] │ │ │ │ │ - movs r3, #1 │ │ │ │ │ - str r4, [r0, #28] │ │ │ │ │ - str r3, [r0, #16] │ │ │ │ │ - strd r1, r7, [r0, #4] │ │ │ │ │ - str.w sl, [r0, #20] │ │ │ │ │ mov r0, r4 │ │ │ │ │ + ldr r3, [sp, #108] @ 0x6c │ │ │ │ │ + strd r1, r7, [r5, #4] │ │ │ │ │ + str r3, [r5, #12] │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + str.w sl, [r5, #20] │ │ │ │ │ + str r3, [r5, #16] │ │ │ │ │ + str r4, [r5, #28] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktriggen │ │ │ │ │ ldrb.w r3, [sl] │ │ │ │ │ mov r4, r0 │ │ │ │ │ cmp r3, #3 │ │ │ │ │ - beq.w 392 │ │ │ │ │ - subs r0, r7, #1 │ │ │ │ │ + beq.w 3e4 │ │ │ │ │ + add.w r0, r7, #4294967295 @ 0xffffffff │ │ │ │ │ mov r2, sl │ │ │ │ │ - movs r6, #0 │ │ │ │ │ mov.w ip, r0, lsl #1 │ │ │ │ │ + mov.w r6, #0 │ │ │ │ │ cmp r3, #5 │ │ │ │ │ - bhi.n 1a2 │ │ │ │ │ + bhi.n 1e6 │ │ │ │ │ tbh [pc, r3, lsl #1] │ │ │ │ │ - .word 0x00060006 │ │ │ │ │ - .word 0x000700d3 │ │ │ │ │ - .word 0x00cf00d1 │ │ │ │ │ - adds r6, #1 │ │ │ │ │ + .short 0x0006 │ │ │ │ │ + .word 0x00d90006 │ │ │ │ │ + .word 0x00d70008 │ │ │ │ │ + .short 0x00d5 │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ ldrb.w r3, [r2, #4]! │ │ │ │ │ cmp r3, #3 │ │ │ │ │ - bne.n 18c │ │ │ │ │ + bne.n 1ce │ │ │ │ │ ldrsb.w r1, [r2, #1] │ │ │ │ │ ldr r0, [sp, #108] @ 0x6c │ │ │ │ │ str r1, [sp, #4] │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ mul.w r0, r6, r0 │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ - ldr r3, [sp, #108] @ 0x6c │ │ │ │ │ ldr r1, [sp, #4] │ │ │ │ │ - cmp r3, #0 │ │ │ │ │ str r0, [sp, #32] │ │ │ │ │ - ble.n 2a2 │ │ │ │ │ - subs r3, r7, #3 │ │ │ │ │ + ldr r3, [sp, #108] @ 0x6c │ │ │ │ │ + cmp r3, #0 │ │ │ │ │ + ble.n 2f4 │ │ │ │ │ + sub.w r3, r7, #3 │ │ │ │ │ mov.w r8, #0 │ │ │ │ │ + strd r9, r5, [sp, #36] @ 0x24 │ │ │ │ │ + mov.w lr, r3, lsr #1 │ │ │ │ │ movw ip, #27145 @ 0x6a09 │ │ │ │ │ movt ip, #1 │ │ │ │ │ - mov.w lr, r3, lsr #1 │ │ │ │ │ - strd r9, r5, [sp, #36] @ 0x24 │ │ │ │ │ + mov r6, r0 │ │ │ │ │ + mov r9, r8 │ │ │ │ │ add.w r3, lr, #2 │ │ │ │ │ - str.w fp, [sp, #44] @ 0x2c │ │ │ │ │ + mov r5, ip │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ + mov.w r3, r7, lsl #4 │ │ │ │ │ + str.w fp, [sp, #44] @ 0x2c │ │ │ │ │ mov fp, r4 │ │ │ │ │ - lsls r3, r7, #4 │ │ │ │ │ - mov r6, r0 │ │ │ │ │ - mov r9, r8 │ │ │ │ │ mov r4, sl │ │ │ │ │ - mov r5, ip │ │ │ │ │ - subs r3, #16 │ │ │ │ │ + sub.w r3, r3, #16 │ │ │ │ │ strd lr, r1, [sp, #24] │ │ │ │ │ str r3, [sp, #20] │ │ │ │ │ add r3, sp, #48 @ 0x30 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldrb r3, [r4, #0] │ │ │ │ │ cmp r3, #3 │ │ │ │ │ - beq.w 35a │ │ │ │ │ + beq.w 3ae │ │ │ │ │ mov sl, r4 │ │ │ │ │ str r4, [sp, #16] │ │ │ │ │ mov r4, fp │ │ │ │ │ cmp r3, #5 │ │ │ │ │ - bhi.n 282 │ │ │ │ │ + bhi.n 2d4 │ │ │ │ │ tbb [pc, r3] │ │ │ │ │ - .word 0x35297d56 │ │ │ │ │ - .short 0x0366 │ │ │ │ │ + .word 0x382b7e57 │ │ │ │ │ + .short 0x0367 │ │ │ │ │ cmp r7, #2 │ │ │ │ │ itttt gt │ │ │ │ │ - strgt r6, [sp, #12] │ │ │ │ │ movgt fp, r6 │ │ │ │ │ movgt.w r8, #1 │ │ │ │ │ + strgt r6, [sp, #12] │ │ │ │ │ movgt r6, r5 │ │ │ │ │ - bgt.n 24e │ │ │ │ │ - b.n 282 │ │ │ │ │ + bgt.n 29c │ │ │ │ │ + b.n 2d4 │ │ │ │ │ ldr r1, [sp, #0] │ │ │ │ │ mul.w r0, r8, r0 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ mov r2, fp │ │ │ │ │ mov r0, r4 │ │ │ │ │ blx r5 │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ add.w r8, r8, #1 │ │ │ │ │ add.w fp, fp, #16 │ │ │ │ │ cmp r8, r3 │ │ │ │ │ - beq.n 34c │ │ │ │ │ + beq.w 39e │ │ │ │ │ ldrsb.w r0, [sl, #1] │ │ │ │ │ ldr r5, [r4, #0] │ │ │ │ │ add r0, r9 │ │ │ │ │ - subs r2, r6, r0 │ │ │ │ │ + sub.w r2, r6, r0 │ │ │ │ │ cmp r2, r8 │ │ │ │ │ - bge.n 230 │ │ │ │ │ - mov r1, r0 │ │ │ │ │ + bge.n 27c │ │ │ │ │ ldr r2, [sp, #0] │ │ │ │ │ + mov r1, r0 │ │ │ │ │ mov r0, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_safe_mulmod │ │ │ │ │ mov r1, r0 │ │ │ │ │ - b.n 23a │ │ │ │ │ + b.n 286 │ │ │ │ │ ldrsb.w r1, [sl, #1] │ │ │ │ │ mov r2, r6 │ │ │ │ │ + mov r0, r4 │ │ │ │ │ + add.w r6, r6, #16 │ │ │ │ │ ldrsh.w ip, [sl, #2] │ │ │ │ │ - adds r6, #16 │ │ │ │ │ - add r1, r9 │ │ │ │ │ ldr r3, [r4, #0] │ │ │ │ │ - mov r0, r4 │ │ │ │ │ + add r1, r9 │ │ │ │ │ mul.w r1, ip, r1 │ │ │ │ │ blx r3 │ │ │ │ │ ldrb.w r3, [sl, #4]! │ │ │ │ │ cmp r3, #3 │ │ │ │ │ - bne.n 210 │ │ │ │ │ + bne.n 25c │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ mov fp, r4 │ │ │ │ │ ldr r4, [sp, #16] │ │ │ │ │ add r9, r3 │ │ │ │ │ ldr r3, [sp, #108] @ 0x6c │ │ │ │ │ cmp r3, r9 │ │ │ │ │ - bgt.n 202 │ │ │ │ │ + bgt.n 24e │ │ │ │ │ + ldrd r9, r5, [sp, #36] @ 0x24 │ │ │ │ │ mov r4, fp │ │ │ │ │ ldr.w fp, [sp, #44] @ 0x2c │ │ │ │ │ - ldrd r9, r5, [sp, #36] @ 0x24 │ │ │ │ │ mov r0, r4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_triggen_destroy │ │ │ │ │ ldr r3, [sp, #32] │ │ │ │ │ str r3, [r5, #0] │ │ │ │ │ - ldr r3, [pc, #240] @ (3a0 ) │ │ │ │ │ + ldr r3, [pc, #244] @ (3f4 ) │ │ │ │ │ add r3, pc │ │ │ │ │ ldr.w r2, [r3, r9, lsl #2] │ │ │ │ │ str r2, [r5, #24] │ │ │ │ │ str.w r5, [r3, r9, lsl #2] │ │ │ │ │ str.w r5, [fp] │ │ │ │ │ - add sp, #68 @ 0x44 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + b.n d6 │ │ │ │ │ ldrsb.w r1, [sl, #1] │ │ │ │ │ mov r0, r4 │ │ │ │ │ ldrsh.w ip, [sl, #2] │ │ │ │ │ - add r1, r9 │ │ │ │ │ ldr r3, [r4, #0] │ │ │ │ │ + add r1, r9 │ │ │ │ │ ldr r2, [sp, #8] │ │ │ │ │ mul.w r1, ip, r1 │ │ │ │ │ blx r3 │ │ │ │ │ ldrd r2, r3, [sp, #48] @ 0x30 │ │ │ │ │ strd r2, r3, [r6], #8 │ │ │ │ │ - b.n 282 │ │ │ │ │ + b.n 2d4 │ │ │ │ │ cmp r7, #1 │ │ │ │ │ - ble.n 282 │ │ │ │ │ + ble.n 2d4 │ │ │ │ │ mov fp, r6 │ │ │ │ │ mov.w r8, #1 │ │ │ │ │ ldrsb.w r1, [sl, #1] │ │ │ │ │ mov r2, fp │ │ │ │ │ - ldr r3, [r4, #0] │ │ │ │ │ mov r0, r4 │ │ │ │ │ - add r1, r9 │ │ │ │ │ add.w fp, fp, #16 │ │ │ │ │ + ldr r3, [r4, #0] │ │ │ │ │ + add r1, r9 │ │ │ │ │ mul.w r1, r8, r1 │ │ │ │ │ add.w r8, r8, #1 │ │ │ │ │ blx r3 │ │ │ │ │ cmp r7, r8 │ │ │ │ │ - bne.n 2ee │ │ │ │ │ + bne.n 33c │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ add r6, r3 │ │ │ │ │ - b.n 282 │ │ │ │ │ + b.n 2d4 │ │ │ │ │ ldrsb.w r1, [sl, #1] │ │ │ │ │ mov r0, r4 │ │ │ │ │ ldrsh.w ip, [sl, #2] │ │ │ │ │ - add r1, r9 │ │ │ │ │ ldr r3, [r4, #0] │ │ │ │ │ + add r1, r9 │ │ │ │ │ ldr r2, [sp, #8] │ │ │ │ │ mul.w r1, ip, r1 │ │ │ │ │ blx r3 │ │ │ │ │ ldrd r2, r3, [sp, #56] @ 0x38 │ │ │ │ │ strd r2, r3, [r6], #8 │ │ │ │ │ - b.n 282 │ │ │ │ │ + b.n 2d4 │ │ │ │ │ add r6, r0 │ │ │ │ │ - b.n 1a2 │ │ │ │ │ + b.n 1e6 │ │ │ │ │ add r6, ip │ │ │ │ │ - b.n 1a2 │ │ │ │ │ - adds r6, #2 │ │ │ │ │ - b.n 1a2 │ │ │ │ │ + b.n 1e6 │ │ │ │ │ + add.w r6, r6, #2 │ │ │ │ │ + b.n 1e6 │ │ │ │ │ cmp ip, r6 │ │ │ │ │ - bne.w f6 │ │ │ │ │ + bne.w 12c │ │ │ │ │ ldr r3, [r5, #16] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str r3, [r5, #16] │ │ │ │ │ - b.n 2ba │ │ │ │ │ + b.n 30c │ │ │ │ │ ldr r3, [sp, #24] │ │ │ │ │ mov r5, r6 │ │ │ │ │ ldr r6, [sp, #12] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ add.w r6, r6, r3, lsl #4 │ │ │ │ │ - b.n 282 │ │ │ │ │ + b.n 2d4 │ │ │ │ │ ldr r1, [sp, #28] │ │ │ │ │ mov r8, r9 │ │ │ │ │ - ldr r3, [sp, #108] @ 0x6c │ │ │ │ │ mov r4, fp │ │ │ │ │ + ldrd r9, r5, [sp, #36] @ 0x24 │ │ │ │ │ + ldr r3, [sp, #108] @ 0x6c │ │ │ │ │ add.w r2, r1, r8 │ │ │ │ │ - ldr r5, [sp, #40] @ 0x28 │ │ │ │ │ - ldr.w r9, [sp, #36] @ 0x24 │ │ │ │ │ - cmp r3, r2 │ │ │ │ │ ldr.w fp, [sp, #44] @ 0x2c │ │ │ │ │ - ble.n 2a2 │ │ │ │ │ + cmp r3, r2 │ │ │ │ │ + ble.n 2f4 │ │ │ │ │ add r2, r1 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bgt.n 374 │ │ │ │ │ - b.n 2a2 │ │ │ │ │ + bgt.n 3c6 │ │ │ │ │ + b.n 2f4 │ │ │ │ │ cmp ip, r6 │ │ │ │ │ - bne.w f6 │ │ │ │ │ + bne.w 12c │ │ │ │ │ ldrsh.w r6, [r1, #2] │ │ │ │ │ ldrsh.w r3, [r0, #2] │ │ │ │ │ cmp r6, r3 │ │ │ │ │ - beq.w 144 │ │ │ │ │ - b.n f6 │ │ │ │ │ + beq.w 17c │ │ │ │ │ + b.n 12c │ │ │ │ │ mov r2, sl │ │ │ │ │ - movs r6, #0 │ │ │ │ │ - b.n 1aa │ │ │ │ │ - .word 0x0000030e │ │ │ │ │ + mov.w r6, #0 │ │ │ │ │ + b.n 1ee │ │ │ │ │ + .word 0x00000344 │ │ │ │ │ R_ARM_REL32 .bss │ │ │ │ │ - .word 0x000002ae │ │ │ │ │ + .word 0x000002cc │ │ │ │ │ R_ARM_REL32 .bss │ │ │ │ │ - .word 0x000000ee │ │ │ │ │ + .word 0x000000f0 │ │ │ │ │ R_ARM_REL32 .bss │ │ │ ├── bluestein.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2872 (bytes into file) │ │ │ │ │ + Start of section headers: 3024 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 15 │ │ │ │ │ Section header string table index: 14 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ -There are 15 section headers, starting at offset 0xb38: │ │ │ │ │ +There are 15 section headers, starting at offset 0xbd0: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000524 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000998 0000f0 08 I 12 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000558 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000558 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000558 00001c 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 000574 000010 00 WA 0 0 4 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000a88 000020 08 I 12 6 4 │ │ │ │ │ - [ 8] .data.rel.ro.local PROGBITS 00000000 000584 00000c 00 WA 0 0 4 │ │ │ │ │ - [ 9] .rel.data.rel.ro.local REL 00000000 000aa8 000008 08 I 12 8 4 │ │ │ │ │ - [10] .note.GNU-stack PROGBITS 00000000 000590 000000 00 0 0 1 │ │ │ │ │ - [11] .ARM.attributes ARM_ATTRIBUTES 00000000 000590 000033 00 0 0 1 │ │ │ │ │ - [12] .symtab SYMTAB 00000000 0005c4 000260 10 13 20 4 │ │ │ │ │ - [13] .strtab STRTAB 00000000 000824 000173 00 0 0 1 │ │ │ │ │ - [14] .shstrtab STRTAB 00000000 000ab0 000087 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0005c4 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000a38 0000e8 08 I 12 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0005f8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0005f8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0005f8 00001c 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 000614 000010 00 WA 0 0 4 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000b20 000020 08 I 12 6 4 │ │ │ │ │ + [ 8] .data.rel.ro.local PROGBITS 00000000 000624 00000c 00 WA 0 0 4 │ │ │ │ │ + [ 9] .rel.data.rel.ro.local REL 00000000 000b40 000008 08 I 12 8 4 │ │ │ │ │ + [10] .note.GNU-stack PROGBITS 00000000 000630 000000 00 0 0 1 │ │ │ │ │ + [11] .ARM.attributes ARM_ATTRIBUTES 00000000 000630 000033 00 0 0 1 │ │ │ │ │ + [12] .symtab SYMTAB 00000000 000664 000260 10 13 20 4 │ │ │ │ │ + [13] .strtab STRTAB 00000000 0008c4 000173 00 0 0 1 │ │ │ │ │ + [14] .shstrtab STRTAB 00000000 000b48 000087 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 38 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ - 3: 00000001 32 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 3: 00000001 36 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ 4: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 0000001c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000020 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00000021 6 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 8: 00000029 530 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ - 9: 0000023d 372 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 10: 000003b1 340 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 11: 000004fc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 12: 00000504 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 13: 00000520 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 5: 00000020 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000024 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00000025 6 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 8: 0000002d 582 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ + 9: 00000275 422 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 10: 0000041d 388 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 11: 00000598 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 12: 000005a0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 13: 000005c0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 14: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 15: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 16: 00000000 16 OBJECT LOCAL DEFAULT 6 padt.0 │ │ │ │ │ 17: 00000000 0 SECTION LOCAL DEFAULT 8 .data.rel.ro.local │ │ │ │ │ 18: 00000000 0 NOTYPE LOCAL DEFAULT 8 $d │ │ │ │ │ 19: 00000000 12 OBJECT LOCAL DEFAULT 8 sadt.1 │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_destroy_internal │ │ │ │ │ @@ -31,11 +31,11 @@ │ │ │ │ │ 27: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_is_prime │ │ │ │ │ 28: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_factors_into_small_primes │ │ │ │ │ 29: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mktensor_1d │ │ │ │ │ 30: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkproblem_dft_d │ │ │ │ │ 31: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_f_d │ │ │ │ │ 32: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_dft │ │ │ │ │ 33: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_add │ │ │ │ │ - 34: 00000505 32 FUNC GLOBAL DEFAULT 1 fftw_dft_bluestein_register │ │ │ │ │ + 34: 000005a1 36 FUNC GLOBAL DEFAULT 1 fftw_dft_bluestein_register │ │ │ │ │ 35: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ 36: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 37: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_solve │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,44 +1,43 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x998 contains 30 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xa38 contains 29 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000001c 00000203 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -00000052 0000150a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -0000024c 0000170a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -00000256 0000180a R_ARM_THM_CALL 00000000 fftw_ifree0 │ │ │ │ │ -00000262 0000180a R_ARM_THM_CALL 00000000 fftw_ifree0 │ │ │ │ │ -0000028e 0000150a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -000002a4 0000150a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -000002b2 0000190a R_ARM_THM_CALL 00000000 fftw_mktriggen │ │ │ │ │ -000002f8 00001a0a R_ARM_THM_CALL 00000000 fftw_triggen_destroy │ │ │ │ │ -0000038a 00001a0a R_ARM_THM_CALL 00000000 fftw_triggen_destroy │ │ │ │ │ -000003d4 00001b0a R_ARM_THM_CALL 00000000 fftw_is_prime │ │ │ │ │ -00000410 00001c0a R_ARM_THM_CALL 00000000 fftw_factors_into_small_primes │ │ │ │ │ -0000041a 0000150a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -00000426 00001d0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -00000432 00001d0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -00000448 00001e0a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ -00000458 00001f0a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ -00000464 0000160a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -00000472 0000200a R_ARM_THM_CALL 00000000 fftw_mkplan_dft │ │ │ │ │ -00000498 0000210a R_ARM_THM_CALL 00000000 fftw_ops_add │ │ │ │ │ -000004f0 0000180a R_ARM_THM_CALL 00000000 fftw_ifree0 │ │ │ │ │ -000004f6 0000140a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000004fc 00000803 R_ARM_REL32 00000029 apply │ │ │ │ │ -00000500 00000e03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000050e 0000230a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -00000520 00001103 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -00000022 0000141e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000168 0000161e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ │ -000001f4 0000161e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ │ -0000051a 0000241e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ +00000020 00000203 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +00000066 0000150a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +00000294 0000170a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +0000029e 0000180a R_ARM_THM_CALL 00000000 fftw_ifree0 │ │ │ │ │ +000002aa 0000180a R_ARM_THM_CALL 00000000 fftw_ifree0 │ │ │ │ │ +000002ec 0000150a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +00000300 0000150a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +00000310 0000190a R_ARM_THM_CALL 00000000 fftw_mktriggen │ │ │ │ │ +0000035c 00001a0a R_ARM_THM_CALL 00000000 fftw_triggen_destroy │ │ │ │ │ +000003f4 00001a0a R_ARM_THM_CALL 00000000 fftw_triggen_destroy │ │ │ │ │ +0000045c 00001b0a R_ARM_THM_CALL 00000000 fftw_is_prime │ │ │ │ │ +0000049c 00001c0a R_ARM_THM_CALL 00000000 fftw_factors_into_small_primes │ │ │ │ │ +000004a8 0000150a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +000004b6 00001d0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +000004c6 00001d0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +000004dc 00001e0a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ +000004ee 00001f0a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ +000004fa 0000160a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +0000050a 0000200a R_ARM_THM_CALL 00000000 fftw_mkplan_dft │ │ │ │ │ +00000530 0000210a R_ARM_THM_CALL 00000000 fftw_ops_add │ │ │ │ │ +0000058c 0000180a R_ARM_THM_CALL 00000000 fftw_ifree0 │ │ │ │ │ +00000592 0000140a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000598 00000803 R_ARM_REL32 0000002d apply │ │ │ │ │ +0000059c 00000e03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000005ae 0000230a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +000005c0 00001103 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +00000026 0000141e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000001a0 0000161e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ │ +000005bc 0000241e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xa88 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xb20 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00002502 R_ARM_ABS32 00000000 fftw_dft_solve │ │ │ │ │ -00000004 00000902 R_ARM_ABS32 0000023d awake │ │ │ │ │ +00000004 00000902 R_ARM_ABS32 00000275 awake │ │ │ │ │ 00000008 00000302 R_ARM_ABS32 00000001 print │ │ │ │ │ -0000000c 00000702 R_ARM_ABS32 00000021 destroy │ │ │ │ │ +0000000c 00000702 R_ARM_ABS32 00000025 destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0xaa8 contains 1 entry: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0xb40 contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000a02 R_ARM_ABS32 000003b1 mkplan │ │ │ │ │ +00000004 00000a02 R_ARM_ABS32 0000041d mkplan │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,9 +1,8 @@ │ │ │ │ │ -F!F3hZF0F: │ │ │ │ │ print(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ mov r2, r0 │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r0, r1 │ │ │ │ │ - sub sp, #8 │ │ │ │ │ ldr r3, [r2, #80] @ 0x50 │ │ │ │ │ + sub sp, #8 │ │ │ │ │ + ldr r1, [pc, #16] @ (20 ) │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - ldr r4, [r1, #0] │ │ │ │ │ - ldr r1, [pc, #12] @ (1c ) │ │ │ │ │ - ldrd r2, r3, [r2, #64] @ 0x40 │ │ │ │ │ + ldr r4, [r0, #0] │ │ │ │ │ add r1, pc │ │ │ │ │ + ldrd r2, r3, [r2, #64] @ 0x40 │ │ │ │ │ blx r4 │ │ │ │ │ add sp, #8 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - .word 0x00000004 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x0000000a │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ -00000020 : │ │ │ │ │ +00000024 : │ │ │ │ │ destroy(): │ │ │ │ │ ldr r0, [r0, #80] @ 0x50 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_destroy_internal │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000028 : │ │ │ │ │ +0000002c : │ │ │ │ │ apply(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r9, r0 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r6, r2 │ │ │ │ │ + mov r5, r1 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov r9, r0 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #36 @ 0x24 │ │ │ │ │ - ldr r2, [r0, #84] @ 0x54 │ │ │ │ │ ldrd r8, sl, [r0, #64] @ 0x40 │ │ │ │ │ - mov r5, r1 │ │ │ │ │ str r3, [sp, #20] │ │ │ │ │ ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ - str r3, [sp, #24] │ │ │ │ │ + ldr r4, [r0, #72] @ 0x48 │ │ │ │ │ mov.w r7, sl, lsl #4 │ │ │ │ │ + ldr r2, [r0, #84] @ 0x54 │ │ │ │ │ + str r3, [sp, #24] │ │ │ │ │ ldr r3, [r0, #88] @ 0x58 │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ - ldrd r4, r3, [r0, #72] @ 0x48 │ │ │ │ │ + ldr r3, [r0, #76] @ 0x4c │ │ │ │ │ mov r0, r7 │ │ │ │ │ str r2, [sp, #28] │ │ │ │ │ str r3, [sp, #16] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ cmp.w r8, #0 │ │ │ │ │ mov fp, r0 │ │ │ │ │ - ble.w 1f8 │ │ │ │ │ + ble.w 230 │ │ │ │ │ ldr r2, [sp, #28] │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - bne.w 16c │ │ │ │ │ + bne.w 1a4 │ │ │ │ │ mov r2, r0 │ │ │ │ │ - mov r1, r4 │ │ │ │ │ add.w r0, r5, r8, lsl #3 │ │ │ │ │ + mov r1, r4 │ │ │ │ │ vldmia r5!, {d3} │ │ │ │ │ - adds r1, #16 │ │ │ │ │ + add.w r1, r1, #16 │ │ │ │ │ + add.w r2, r2, #16 │ │ │ │ │ vldr d4, [r1, #-16] │ │ │ │ │ - adds r2, #16 │ │ │ │ │ vldr d7, [r1, #-8] │ │ │ │ │ vldmia r6!, {d5} │ │ │ │ │ cmp r5, r0 │ │ │ │ │ vmul.f64 d6, d4, d3 │ │ │ │ │ vmla.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d4, d5 │ │ │ │ │ vstr d6, [r2, #-16] │ │ │ │ │ vstr d7, [r2, #-8] │ │ │ │ │ - bne.n 70 │ │ │ │ │ + bne.n 84 │ │ │ │ │ cmp r8, sl │ │ │ │ │ - bge.w 21a │ │ │ │ │ + bge.w 252 │ │ │ │ │ mov r2, r8 │ │ │ │ │ add.w r2, fp, r2, lsl #4 │ │ │ │ │ add r7, fp │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ strd r0, r1, [r2, #8] │ │ │ │ │ strd r0, r1, [r2], #16 │ │ │ │ │ cmp r2, r7 │ │ │ │ │ - bne.n b2 │ │ │ │ │ + bne.n ce │ │ │ │ │ ldr.w r0, [r9, #80] @ 0x50 │ │ │ │ │ add.w r6, fp, #8 │ │ │ │ │ - str r6, [sp, #0] │ │ │ │ │ mov r3, fp │ │ │ │ │ mov r2, r6 │ │ │ │ │ mov r1, fp │ │ │ │ │ + str r6, [sp, #0] │ │ │ │ │ ldr r5, [r0, #56] @ 0x38 │ │ │ │ │ blx r5 │ │ │ │ │ ldr r0, [sp, #16] │ │ │ │ │ mov r2, fp │ │ │ │ │ mov r1, r6 │ │ │ │ │ + add.w r2, r2, #16 │ │ │ │ │ + add.w r0, r0, #16 │ │ │ │ │ vldr d4, [r1, #-8] │ │ │ │ │ - adds r2, #16 │ │ │ │ │ - vldr d3, [r0, #8] │ │ │ │ │ - adds r1, #16 │ │ │ │ │ - vldr d7, [r2, #-8] │ │ │ │ │ - adds r0, #16 │ │ │ │ │ + add.w r1, r1, #16 │ │ │ │ │ vldr d5, [r0, #-16] │ │ │ │ │ + vldr d3, [r0, #-8] │ │ │ │ │ + vldr d7, [r2, #-8] │ │ │ │ │ vmul.f64 d6, d4, d3 │ │ │ │ │ vmla.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d4, d5 │ │ │ │ │ vstr d6, [r1, #-24] @ 0xffffffe8 │ │ │ │ │ vstr d7, [r2, #-8] │ │ │ │ │ cmp r2, r7 │ │ │ │ │ - bne.n d8 │ │ │ │ │ + bne.n f4 │ │ │ │ │ ldr.w r0, [r9, #80] @ 0x50 │ │ │ │ │ mov r3, fp │ │ │ │ │ - str r6, [sp, #0] │ │ │ │ │ mov r2, r6 │ │ │ │ │ mov r1, fp │ │ │ │ │ + str r6, [sp, #0] │ │ │ │ │ ldr r5, [r0, #56] @ 0x38 │ │ │ │ │ blx r5 │ │ │ │ │ cmp.w r8, #0 │ │ │ │ │ - ble.n 160 │ │ │ │ │ + ble.n 186 │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ mov r2, fp │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - bne.n 1ac │ │ │ │ │ + bne.n 1ea │ │ │ │ │ ldrd r0, r1, [sp, #20] │ │ │ │ │ add.w r8, fp, r8, lsl #4 │ │ │ │ │ - vldr d3, [r2, #8] │ │ │ │ │ - adds r2, #16 │ │ │ │ │ - vldr d4, [r4] │ │ │ │ │ - adds r4, #16 │ │ │ │ │ + add.w r2, r2, #16 │ │ │ │ │ + add.w r4, r4, #16 │ │ │ │ │ + vldr d4, [r4, #-16] │ │ │ │ │ vldr d5, [r2, #-16] │ │ │ │ │ + vldr d3, [r2, #-8] │ │ │ │ │ cmp r8, r2 │ │ │ │ │ vldr d7, [r4, #-8] │ │ │ │ │ vmul.f64 d6, d4, d3 │ │ │ │ │ vmla.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d4, d5 │ │ │ │ │ vstmia r0!, {d6} │ │ │ │ │ vstmia r1!, {d7} │ │ │ │ │ - bne.n 130 │ │ │ │ │ + bne.n 152 │ │ │ │ │ mov r0, fp │ │ │ │ │ add sp, #36 @ 0x24 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_ifree │ │ │ │ │ - lsls r0, r2, #3 │ │ │ │ │ + add.w ip, r4, r8, lsl #4 │ │ │ │ │ mov r1, fp │ │ │ │ │ + mov.w r0, r2, lsl #3 │ │ │ │ │ mov r2, r4 │ │ │ │ │ - add.w ip, r4, r8, lsl #4 │ │ │ │ │ - vldr d3, [r2, #8] │ │ │ │ │ - adds r2, #16 │ │ │ │ │ vldr d4, [r6] │ │ │ │ │ - adds r1, #16 │ │ │ │ │ - vldr d5, [r2, #-16] │ │ │ │ │ + add.w r2, r2, #16 │ │ │ │ │ add r6, r0 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ + add.w r1, r1, #16 │ │ │ │ │ + vldr d5, [r2, #-16] │ │ │ │ │ + vldr d3, [r2, #-8] │ │ │ │ │ cmp r2, ip │ │ │ │ │ - vmul.f64 d6, d4, d3 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ add r5, r0 │ │ │ │ │ + vmul.f64 d6, d4, d3 │ │ │ │ │ vmla.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d4, d5 │ │ │ │ │ vstr d6, [r1, #-16] │ │ │ │ │ vstr d7, [r1, #-8] │ │ │ │ │ - bne.n 176 │ │ │ │ │ - b.n a0 │ │ │ │ │ + bne.n 1b0 │ │ │ │ │ + b.n b8 │ │ │ │ │ ldrd r0, r1, [sp, #20] │ │ │ │ │ mov.w sl, r3, lsl #3 │ │ │ │ │ add.w r8, fp, r8, lsl #4 │ │ │ │ │ vldr d4, [r2] │ │ │ │ │ - adds r2, #16 │ │ │ │ │ - vldr d3, [r4, #8] │ │ │ │ │ - adds r4, #16 │ │ │ │ │ + add.w r2, r2, #16 │ │ │ │ │ + add.w r4, r4, #16 │ │ │ │ │ + vldr d5, [r4, #-16] │ │ │ │ │ + vldr d3, [r4, #-8] │ │ │ │ │ vldr d7, [r2, #-8] │ │ │ │ │ cmp r8, r2 │ │ │ │ │ - vldr d5, [r4, #-16] │ │ │ │ │ vmul.f64 d6, d4, d3 │ │ │ │ │ vmla.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d4, d5 │ │ │ │ │ vstr d6, [r0] │ │ │ │ │ add r0, sl │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ add r1, sl │ │ │ │ │ - bne.n 1b8 │ │ │ │ │ - mov r0, fp │ │ │ │ │ - add sp, #36 @ 0x24 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - b.w 0 │ │ │ │ │ - R_ARM_THM_JUMP24 fftw_ifree │ │ │ │ │ + bne.n 1f6 │ │ │ │ │ + b.n 186 │ │ │ │ │ cmp.w sl, #0 │ │ │ │ │ it gt │ │ │ │ │ movgt r2, #0 │ │ │ │ │ - bgt.w a8 │ │ │ │ │ + bgt.w c0 │ │ │ │ │ ldr.w r0, [r9, #80] @ 0x50 │ │ │ │ │ add.w r6, fp, #8 │ │ │ │ │ - str r6, [sp, #0] │ │ │ │ │ mov r3, fp │ │ │ │ │ mov r2, r6 │ │ │ │ │ mov r1, fp │ │ │ │ │ + str r6, [sp, #0] │ │ │ │ │ ldr r5, [r0, #56] @ 0x38 │ │ │ │ │ blx r5 │ │ │ │ │ - b.n 10a │ │ │ │ │ + b.n 12c │ │ │ │ │ ldr.w r0, [r9, #80] @ 0x50 │ │ │ │ │ add.w r6, fp, #8 │ │ │ │ │ - str r6, [sp, #0] │ │ │ │ │ mov r3, fp │ │ │ │ │ mov r2, r6 │ │ │ │ │ mov r1, fp │ │ │ │ │ + str r6, [sp, #0] │ │ │ │ │ ldr r5, [r0, #56] @ 0x38 │ │ │ │ │ blx r5 │ │ │ │ │ cmp.w sl, #0 │ │ │ │ │ - ble.w 10a │ │ │ │ │ + ble.w 12c │ │ │ │ │ add r7, fp │ │ │ │ │ - b.n d2 │ │ │ │ │ + b.n ee │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -0000023c : │ │ │ │ │ +00000274 : │ │ │ │ │ awake(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + mov r4, r1 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ mov r9, r0 │ │ │ │ │ ldr r0, [r0, #80] @ 0x50 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8} │ │ │ │ │ sub sp, #36 @ 0x24 │ │ │ │ │ - mov r4, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ - cbnz r4, 274 │ │ │ │ │ + cbnz r4, 2ce │ │ │ │ │ ldr.w r0, [r9, #72] @ 0x48 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree0 │ │ │ │ │ ldr.w r0, [r9, #76] @ 0x4c │ │ │ │ │ str.w r4, [r9, #72] @ 0x48 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree0 │ │ │ │ │ str.w r4, [r9, #76] @ 0x4c │ │ │ │ │ add sp, #36 @ 0x24 │ │ │ │ │ vpop {d8} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - ldr.w r5, [r9, #64] @ 0x40 │ │ │ │ │ - ldr.w r3, [r9, #68] @ 0x44 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + ldrd r5, r3, [r9, #64] @ 0x40 │ │ │ │ │ vmov s15, r3 │ │ │ │ │ + mov r7, r5 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ - lsls r3, r5, #4 │ │ │ │ │ + mov.w r3, r5, lsl #4 │ │ │ │ │ str r5, [sp, #16] │ │ │ │ │ + mov.w r5, r5, lsl #1 │ │ │ │ │ mov r0, r3 │ │ │ │ │ - vcvt.f64.s32 d8, s15 │ │ │ │ │ str r3, [sp, #24] │ │ │ │ │ + vcvt.f64.s32 d8, s15 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ - mov r7, r5 │ │ │ │ │ - str.w r0, [r9, #72] @ 0x48 │ │ │ │ │ mov r6, r0 │ │ │ │ │ - lsls r5, r5, #1 │ │ │ │ │ - lsls r3, r3, #4 │ │ │ │ │ - str r3, [sp, #12] │ │ │ │ │ + str.w r6, [r9, #72] @ 0x48 │ │ │ │ │ + mov.w r3, r3, lsl #4 │ │ │ │ │ mov r0, r3 │ │ │ │ │ + str r3, [sp, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ + mov r3, r0 │ │ │ │ │ mov r1, r5 │ │ │ │ │ - str.w r0, [r9, #76] @ 0x4c │ │ │ │ │ - str r0, [sp, #20] │ │ │ │ │ mov r0, r4 │ │ │ │ │ + str.w r3, [r9, #76] @ 0x4c │ │ │ │ │ + str r3, [sp, #20] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktriggen │ │ │ │ │ - ldr r3, [sp, #20] │ │ │ │ │ cmp r7, #0 │ │ │ │ │ - ble.n 388 │ │ │ │ │ + ldr r3, [sp, #20] │ │ │ │ │ + ble.n 3f2 │ │ │ │ │ mov r8, r6 │ │ │ │ │ + add.w sl, r5, #1 │ │ │ │ │ str r6, [sp, #20] │ │ │ │ │ mov fp, r8 │ │ │ │ │ - add.w sl, r5, #1 │ │ │ │ │ - movs r7, #1 │ │ │ │ │ - movs r4, #0 │ │ │ │ │ + mov.w r7, #1 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ mov r6, r0 │ │ │ │ │ mov r8, r3 │ │ │ │ │ - mov r1, r4 │ │ │ │ │ ldr r3, [r6, #0] │ │ │ │ │ + mov r1, r4 │ │ │ │ │ mov r2, fp │ │ │ │ │ mov r0, r6 │ │ │ │ │ add r4, r7 │ │ │ │ │ blx r3 │ │ │ │ │ cmp r5, r4 │ │ │ │ │ - bge.n 2e4 │ │ │ │ │ - subs r4, r4, r5 │ │ │ │ │ + bge.n 348 │ │ │ │ │ + sub.w r4, r4, r5 │ │ │ │ │ cmp r5, r4 │ │ │ │ │ - blt.n 2de │ │ │ │ │ - adds r7, #2 │ │ │ │ │ + blt.n 340 │ │ │ │ │ + add.w r7, r7, #2 │ │ │ │ │ add.w fp, fp, #16 │ │ │ │ │ cmp r7, sl │ │ │ │ │ - bne.n 2ce │ │ │ │ │ - mov fp, r6 │ │ │ │ │ - str.w r8, [sp, #28] │ │ │ │ │ - mov r0, fp │ │ │ │ │ + bne.n 330 │ │ │ │ │ + mov r0, r6 │ │ │ │ │ ldr r6, [sp, #20] │ │ │ │ │ + str.w r8, [sp, #28] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_triggen_destroy │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ - ble.n 31a │ │ │ │ │ + ble.n 384 │ │ │ │ │ ldr r1, [sp, #12] │ │ │ │ │ mov r2, r3 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - adds r4, r1, r3 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + add.w r4, r1, r3 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ strd r0, r1, [r2, #8] │ │ │ │ │ strd r0, r1, [r2], #16 │ │ │ │ │ cmp r4, r2 │ │ │ │ │ - bne.n 30e │ │ │ │ │ + bne.n 378 │ │ │ │ │ vldr d6, [r6] │ │ │ │ │ ldr r2, [sp, #16] │ │ │ │ │ vdiv.f64 d7, d6, d8 │ │ │ │ │ cmp r2, #1 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vldr d6, [r6, #8] │ │ │ │ │ vdiv.f64 d7, d6, d8 │ │ │ │ │ vstr d7, [r3, #8] │ │ │ │ │ - ble.n 36e │ │ │ │ │ - ldr r0, [sp, #24] │ │ │ │ │ - mov r1, r3 │ │ │ │ │ + ble.n 3e0 │ │ │ │ │ ldr r2, [sp, #12] │ │ │ │ │ - subs r0, #16 │ │ │ │ │ + mov r1, r3 │ │ │ │ │ + ldr r0, [sp, #24] │ │ │ │ │ add r2, r3 │ │ │ │ │ + sub.w r0, r0, #16 │ │ │ │ │ add r0, r6 │ │ │ │ │ vldr d6, [r6, #16] │ │ │ │ │ - adds r6, #16 │ │ │ │ │ - subs r2, #16 │ │ │ │ │ - adds r1, #16 │ │ │ │ │ + add.w r6, r6, #16 │ │ │ │ │ + sub.w r2, r2, #16 │ │ │ │ │ + add.w r1, r1, #16 │ │ │ │ │ vdiv.f64 d7, d6, d8 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ vldr d6, [r6, #8] │ │ │ │ │ cmp r0, r6 │ │ │ │ │ vdiv.f64 d7, d6, d8 │ │ │ │ │ vstr d7, [r2, #8] │ │ │ │ │ vstr d7, [r1, #8] │ │ │ │ │ - bne.n 344 │ │ │ │ │ + bne.n 3b0 │ │ │ │ │ ldr.w r0, [r9, #80] @ 0x50 │ │ │ │ │ add.w r2, r3, #8 │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ mov r1, r3 │ │ │ │ │ + str r2, [sp, #0] │ │ │ │ │ ldr r4, [r0, #56] @ 0x38 │ │ │ │ │ blx r4 │ │ │ │ │ - add sp, #36 @ 0x24 │ │ │ │ │ - vpop {d8} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + b.n 2b2 │ │ │ │ │ str r3, [sp, #20] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_triggen_destroy │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ - bgt.n 304 │ │ │ │ │ + bgt.n 368 │ │ │ │ │ vldr d6, [r6] │ │ │ │ │ vdiv.f64 d7, d6, d8 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vldr d6, [r6, #8] │ │ │ │ │ vdiv.f64 d7, d6, d8 │ │ │ │ │ vstr d7, [r3, #8] │ │ │ │ │ - b.n 36e │ │ │ │ │ + b.n 3e0 │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -000003b0 : │ │ │ │ │ +0000041c : │ │ │ │ │ mkplan(): │ │ │ │ │ ldr r3, [r1, #4] │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ mov r7, r2 │ │ │ │ │ - ldr r2, [r3, #0] │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ sub sp, #8 │ │ │ │ │ + ldr r2, [r3, #0] │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - beq.n 3c8 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + beq.n 450 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #8 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {sl, pc} │ │ │ │ │ ldr r2, [r1, #8] │ │ │ │ │ mov r9, r1 │ │ │ │ │ ldr r2, [r2, #0] │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - bne.n 3c0 │ │ │ │ │ + bne.n 438 │ │ │ │ │ ldr r0, [r3, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_is_prime │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 3c0 │ │ │ │ │ + beq.n 438 │ │ │ │ │ ldr.w r3, [r9, #4] │ │ │ │ │ ldr.w r8, [r3, #4] │ │ │ │ │ cmp.w r8, #16 │ │ │ │ │ - ble.n 3c0 │ │ │ │ │ + ble.n 438 │ │ │ │ │ ldr.w r3, [r7, #164] @ 0xa4 │ │ │ │ │ ubfx r3, r3, #3, #1 │ │ │ │ │ eor.w r3, r3, #1 │ │ │ │ │ cmp.w r8, #24 │ │ │ │ │ it gt │ │ │ │ │ orrgt.w r3, r3, #1 │ │ │ │ │ lsls r3, r3, #31 │ │ │ │ │ - bpl.n 3c0 │ │ │ │ │ + bpl.n 438 │ │ │ │ │ mov.w r6, r8, lsl #1 │ │ │ │ │ - subs r4, r6, #1 │ │ │ │ │ - b.n 40e │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + add.w r4, r6, #4294967295 @ 0xffffffff │ │ │ │ │ + b.n 49a │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ mov r0, r4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_factors_into_small_primes │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 40c │ │ │ │ │ - lsls r0, r4, #4 │ │ │ │ │ + beq.n 496 │ │ │ │ │ + mov.w r0, r4, lsl #4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ - movs r2, #2 │ │ │ │ │ + mov.w r2, #2 │ │ │ │ │ mov r5, r0 │ │ │ │ │ mov r1, r2 │ │ │ │ │ mov r0, r4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ - movs r2, #0 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ mov sl, r0 │ │ │ │ │ mov r1, r2 │ │ │ │ │ - movs r0, #1 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ add.w r3, r5, #8 │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r0, sl │ │ │ │ │ - strd r5, r3, [sp] │ │ │ │ │ mov.w sl, #0 │ │ │ │ │ + strd r5, r3, [sp] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_dft_d │ │ │ │ │ - mov r3, sl │ │ │ │ │ mov r1, r0 │ │ │ │ │ - movs r2, #8 │ │ │ │ │ - mov r0, r7 │ │ │ │ │ + mov r3, sl │ │ │ │ │ str.w sl, [sp] │ │ │ │ │ + mov r0, r7 │ │ │ │ │ + mov.w r2, #8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_f_d │ │ │ │ │ mov r7, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ cmp r7, #0 │ │ │ │ │ - beq.n 4f0 │ │ │ │ │ + beq.n 58c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ - ldr r2, [pc, #144] @ (4fc ) │ │ │ │ │ - ldr r1, [pc, #148] @ (500 ) │ │ │ │ │ - movs r0, #96 @ 0x60 │ │ │ │ │ + ldr r2, [pc, #152] @ (598 ) │ │ │ │ │ + mov.w r0, #96 @ 0x60 │ │ │ │ │ + ldr r1, [pc, #148] @ (59c ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_dft │ │ │ │ │ ldr.w r3, [r9, #4] │ │ │ │ │ - strd r8, r4, [r0, #64] @ 0x40 │ │ │ │ │ - add.w r1, r7, #8 │ │ │ │ │ mov r5, r0 │ │ │ │ │ - strd sl, sl, [r0, #72] @ 0x48 │ │ │ │ │ - ldrd r2, r3, [r3, #8] │ │ │ │ │ - strd r2, r3, [r0, #84] @ 0x54 │ │ │ │ │ - str r7, [r0, #80] @ 0x50 │ │ │ │ │ - add.w r2, r0, #8 │ │ │ │ │ + add.w r1, r7, #8 │ │ │ │ │ mov r0, r1 │ │ │ │ │ + strd r8, r4, [r5, #64] @ 0x40 │ │ │ │ │ + strd sl, sl, [r5, #72] @ 0x48 │ │ │ │ │ + str r7, [r5, #80] @ 0x50 │ │ │ │ │ + ldrd r2, r3, [r3, #8] │ │ │ │ │ + strd r2, r3, [r5, #84] @ 0x54 │ │ │ │ │ + add.w r2, r5, #8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_add │ │ │ │ │ - adds r3, r6, r4 │ │ │ │ │ + add.w r3, r6, r4 │ │ │ │ │ vldr d7, [r5, #8] │ │ │ │ │ mov r0, r5 │ │ │ │ │ - lsls r2, r3, #1 │ │ │ │ │ + mov.w r2, r3, lsl #1 │ │ │ │ │ vmov s12, r2 │ │ │ │ │ - lsls r2, r3, #2 │ │ │ │ │ + mov.w r2, r3, lsl #2 │ │ │ │ │ sub.w r3, r3, r8 │ │ │ │ │ + add.w r3, r3, r3, lsl #1 │ │ │ │ │ + mov.w r3, r3, lsl #1 │ │ │ │ │ vcvt.f64.s32 d6, s12 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vmov s12, r2 │ │ │ │ │ - movs r2, #6 │ │ │ │ │ - vcvt.f64.s32 d6, s12 │ │ │ │ │ vstr d7, [r5, #8] │ │ │ │ │ - mul.w r3, r2, r3 │ │ │ │ │ vldr d7, [r5, #16] │ │ │ │ │ + vcvt.f64.s32 d6, s12 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [r5, #32] │ │ │ │ │ vstr d7, [r5, #16] │ │ │ │ │ vmov s15, r3 │ │ │ │ │ vcvt.f64.s32 d7, s15 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vstr d6, [r5, #32] │ │ │ │ │ - add sp, #8 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ + b.n 43c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree0 │ │ │ │ │ mov r0, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ - b.n 3c0 │ │ │ │ │ - .word 0x0000008a │ │ │ │ │ + b.n 438 │ │ │ │ │ + .word 0x0000008e │ │ │ │ │ R_ARM_REL32 apply │ │ │ │ │ - .word 0x0000008c │ │ │ │ │ + .word 0x00000090 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ │ │ │ │ │ -00000504 : │ │ │ │ │ +000005a0 : │ │ │ │ │ fftw_dft_bluestein_register(): │ │ │ │ │ - ldr r1, [pc, #24] @ (520 ) │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + ldr r1, [pc, #28] @ (5c0 ) │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ + mov.w r0, #8 │ │ │ │ │ add r1, pc │ │ │ │ │ - movs r0, #8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solver_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000012 │ │ │ │ │ + .word 0x00000010 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ ├── lt1-buffered.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 3216 (bytes into file) │ │ │ │ │ + Start of section headers: 3372 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 16 │ │ │ │ │ Section header string table index: 15 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,25 +1,25 @@ │ │ │ │ │ -There are 16 section headers, starting at offset 0xc90: │ │ │ │ │ +There are 16 section headers, starting at offset 0xd2c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000434 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000a30 0001a8 08 I 13 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000468 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000468 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000468 00002c 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000494 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 00049c 000010 00 WA 0 0 4 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000bd8 000020 08 I 13 7 4 │ │ │ │ │ - [ 9] .data.rel.ro.local PROGBITS 00000000 0004ac 00000c 00 WA 0 0 4 │ │ │ │ │ - [10] .rel.data.rel.ro.local REL 00000000 000bf8 000008 08 I 13 9 4 │ │ │ │ │ - [11] .note.GNU-stack PROGBITS 00000000 0004b8 000000 00 0 0 1 │ │ │ │ │ - [12] .ARM.attributes ARM_ATTRIBUTES 00000000 0004b8 000033 00 0 0 1 │ │ │ │ │ - [13] .symtab SYMTAB 00000000 0004ec 000330 10 14 23 4 │ │ │ │ │ - [14] .strtab STRTAB 00000000 00081c 000214 00 0 0 1 │ │ │ │ │ - [15] .shstrtab STRTAB 00000000 000c00 00008f 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0004d0 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000acc 0001a8 08 I 13 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000504 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000504 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000504 00002c 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000530 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000538 000010 00 WA 0 0 4 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000c74 000020 08 I 13 7 4 │ │ │ │ │ + [ 9] .data.rel.ro.local PROGBITS 00000000 000548 00000c 00 WA 0 0 4 │ │ │ │ │ + [10] .rel.data.rel.ro.local REL 00000000 000c94 000008 08 I 13 9 4 │ │ │ │ │ + [11] .note.GNU-stack PROGBITS 00000000 000554 000000 00 0 0 1 │ │ │ │ │ + [12] .ARM.attributes ARM_ATTRIBUTES 00000000 000554 000033 00 0 0 1 │ │ │ │ │ + [13] .symtab SYMTAB 00000000 000588 000330 10 14 23 4 │ │ │ │ │ + [14] .strtab STRTAB 00000000 0008b8 000214 00 0 0 1 │ │ │ │ │ + [15] .shstrtab STRTAB 00000000 000c9c 00008f 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 51 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ - 3: 00000001 60 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 3: 00000001 84 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ 4: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000038 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 0000003c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 0000003d 170 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ - 8: 000000e9 26 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 9: 00000105 728 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 10: 000003cc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 11: 000003dc 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 12: 000003dd 32 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 13: 00000430 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 5: 00000050 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000054 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00000055 208 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ + 8: 00000125 30 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 9: 00000145 788 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 10: 00000448 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 11: 00000458 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 12: 00000459 44 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 13: 000004cc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 14: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 15: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 16: 00000000 8 OBJECT LOCAL DEFAULT 6 maxnbufs │ │ │ │ │ 17: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 18: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 19: 00000000 16 OBJECT LOCAL DEFAULT 7 padt.0 │ │ │ │ │ 20: 00000000 0 SECTION LOCAL DEFAULT 9 .data.rel.ro.local │ │ │ │ │ @@ -44,11 +44,11 @@ │ │ │ │ │ 40: 00000000 0 NOTYPE GLOBAL DEFAULT UND __aeabi_idiv │ │ │ │ │ 41: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_copy │ │ │ │ │ 42: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_dft │ │ │ │ │ 43: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_add │ │ │ │ │ 44: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_madd │ │ │ │ │ 45: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_inplace_strides2 │ │ │ │ │ 46: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_awake │ │ │ │ │ - 47: 000003fd 56 FUNC GLOBAL DEFAULT 1 fftw_dft_buffered_register │ │ │ │ │ + 47: 00000485 76 FUNC GLOBAL DEFAULT 1 fftw_dft_buffered_register │ │ │ │ │ 48: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ 49: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 50: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_solve │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,67 +1,67 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xa30 contains 53 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xacc contains 53 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000001c 0000170a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -00000038 00000203 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -0000005a 0000180a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -000000ca 0000190a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -000000ee 00001a0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000000f4 00001a0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -0000011a 00001b0a R_ARM_THM_CALL 00000000 fftw_ifree0 │ │ │ │ │ -00000120 00001a0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000126 00001a0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000026 0000170a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +00000050 00000203 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +00000084 0000180a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +000000f6 0000190a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ 0000012c 00001a0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000160 00001c0a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ -00000168 00001d0a R_ARM_THM_CALL 00000000 fftw_toobig │ │ │ │ │ -0000018a 00001e0a R_ARM_THM_CALL 00000000 fftw_nbuf_redundant │ │ │ │ │ -000001ae 00001f0a R_ARM_THM_CALL 00000000 fftw_tensor_sz │ │ │ │ │ -000001bc 00001c0a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ -000001ce 0000200a R_ARM_THM_CALL 00000000 fftw_nbuf │ │ │ │ │ -000001d8 0000210a R_ARM_THM_CALL 00000000 fftw_bufdist │ │ │ │ │ -000001fc 0000180a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -0000020a 0000220a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -0000021c 0000220a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -0000023a 0000230a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ -00000256 0000240a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ -00000262 0000250a R_ARM_THM_CALL 00000000 fftw_mktensor_0d │ │ │ │ │ -0000027a 0000260a R_ARM_THM_CALL 00000000 fftw_mktensor_2d │ │ │ │ │ -0000028e 0000230a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ -00000296 0000270a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -000002a4 0000190a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -000002ac 0000280a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -000002c6 0000290a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ -000002d0 0000170a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -000002da 0000220a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -000002f8 0000230a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ -00000300 0000270a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -00000316 00002a0a R_ARM_THM_CALL 00000000 fftw_mkplan_dft │ │ │ │ │ -0000035a 00002b0a R_ARM_THM_CALL 00000000 fftw_ops_add │ │ │ │ │ -00000362 0000280a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -0000036c 00002c0a R_ARM_THM_CALL 00000000 fftw_ops_madd │ │ │ │ │ -00000380 00002d0a R_ARM_THM_CALL 00000000 fftw_tensor_inplace_strides2 │ │ │ │ │ -00000398 0000200a R_ARM_THM_CALL 00000000 fftw_nbuf │ │ │ │ │ -000003be 00001d0a R_ARM_THM_CALL 00000000 fftw_toobig │ │ │ │ │ -000003cc 00000e03 R_ARM_REL32 00000000 .rodata │ │ │ │ │ -000003d0 00000e03 R_ARM_REL32 00000000 .rodata │ │ │ │ │ -000003d4 00000703 R_ARM_REL32 0000003d apply │ │ │ │ │ -000003d8 00001103 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000003e4 00002e0a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -000003ec 00002e0a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -00000408 0000300a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -00000414 0000310a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -0000041c 0000300a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -00000430 00001403 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -000000fe 00001a1e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000003f8 00002e1e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ -0000042c 0000311e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ +00000132 00001a0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +0000016c 00001b0a R_ARM_THM_CALL 00000000 fftw_ifree0 │ │ │ │ │ +00000174 00001a0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +0000017a 00001a0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000180 00001a0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000001c8 00001c0a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ +000001d0 00001d0a R_ARM_THM_CALL 00000000 fftw_toobig │ │ │ │ │ +000001f4 00001e0a R_ARM_THM_CALL 00000000 fftw_nbuf_redundant │ │ │ │ │ +00000218 00001f0a R_ARM_THM_CALL 00000000 fftw_tensor_sz │ │ │ │ │ +00000226 00001c0a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ +00000238 0000200a R_ARM_THM_CALL 00000000 fftw_nbuf │ │ │ │ │ +00000242 0000210a R_ARM_THM_CALL 00000000 fftw_bufdist │ │ │ │ │ +0000026a 0000180a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +0000027a 0000220a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +0000028c 0000220a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +000002aa 0000230a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ +000002ce 0000240a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ +000002da 0000250a R_ARM_THM_CALL 00000000 fftw_mktensor_0d │ │ │ │ │ +000002f4 0000260a R_ARM_THM_CALL 00000000 fftw_mktensor_2d │ │ │ │ │ +00000308 0000230a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ +00000310 0000270a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +0000031e 0000190a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +00000326 0000280a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +00000340 0000290a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ +0000034e 0000170a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +00000358 0000220a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +00000374 0000230a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ +0000037c 0000270a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +00000394 00002a0a R_ARM_THM_CALL 00000000 fftw_mkplan_dft │ │ │ │ │ +000003da 00002b0a R_ARM_THM_CALL 00000000 fftw_ops_add │ │ │ │ │ +000003e2 0000280a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +000003ec 00002c0a R_ARM_THM_CALL 00000000 fftw_ops_madd │ │ │ │ │ +000003fc 00002d0a R_ARM_THM_CALL 00000000 fftw_tensor_inplace_strides2 │ │ │ │ │ +00000414 0000200a R_ARM_THM_CALL 00000000 fftw_nbuf │ │ │ │ │ +0000043a 00001d0a R_ARM_THM_CALL 00000000 fftw_toobig │ │ │ │ │ +00000448 00000e03 R_ARM_REL32 00000000 .rodata │ │ │ │ │ +0000044c 00000e03 R_ARM_REL32 00000000 .rodata │ │ │ │ │ +00000450 00000703 R_ARM_REL32 00000055 apply │ │ │ │ │ +00000454 00001103 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000466 00002e0a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +0000046e 00002e0a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +00000498 0000300a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +000004a6 0000310a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +000004b0 0000300a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +000004cc 00001403 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +0000013e 00001a1e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000480 00002e1e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ +000004c8 0000311e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xbd8 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xc74 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00003202 R_ARM_ABS32 00000000 fftw_dft_solve │ │ │ │ │ -00000004 00000c02 R_ARM_ABS32 000003dd awake │ │ │ │ │ +00000004 00000c02 R_ARM_ABS32 00000459 awake │ │ │ │ │ 00000008 00000302 R_ARM_ABS32 00000001 print │ │ │ │ │ -0000000c 00000802 R_ARM_ABS32 000000e9 destroy │ │ │ │ │ +0000000c 00000802 R_ARM_ABS32 00000125 destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0xbf8 contains 1 entry: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0xc94 contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000902 R_ARM_ABS32 00000105 mkplan │ │ │ │ │ +00000004 00000902 R_ARM_ABS32 00000145 mkplan │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,8 +1,7 @@ │ │ │ │ │ -1Jp 1IzDyD │ │ │ │ │ (dft-buffered-%D%v/%D-%D%(%p%)%(%p%)%(%p%)) │ │ │ │ │ maxnbufs │ │ │ │ │ __aeabi_idivmod │ │ │ │ │ fftw_malloc_plain │ │ │ │ │ fftw_ifree │ │ │ │ │ fftw_plan_destroy_internal │ │ │ │ │ fftw_ifree0 │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,496 +1,522 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ print(): │ │ │ │ │ - push {r4, r5, r6, r7, lr} │ │ │ │ │ + str.w r4, [sp, #-20]! │ │ │ │ │ + mov r4, r0 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r1 │ │ │ │ │ - ldr r3, [r0, #72] @ 0x48 │ │ │ │ │ + ldrd r3, r6, [r0, #72] @ 0x48 │ │ │ │ │ + strd r7, lr, [sp, #12] │ │ │ │ │ sub sp, #28 │ │ │ │ │ - ldr r6, [r0, #76] @ 0x4c │ │ │ │ │ ldr r7, [r0, #84] @ 0x54 │ │ │ │ │ - mov r4, r0 │ │ │ │ │ - mov r1, r6 │ │ │ │ │ str r3, [sp, #16] │ │ │ │ │ + mov r1, r6 │ │ │ │ │ ldr r3, [r0, #68] @ 0x44 │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ ldr r3, [r0, #64] @ 0x40 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr r0, [r0, #88] @ 0x58 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ str r1, [sp, #4] │ │ │ │ │ - ldr r1, [pc, #20] @ (38 ) │ │ │ │ │ mov r2, r6 │ │ │ │ │ - ldr r3, [r4, #80] @ 0x50 │ │ │ │ │ mov r0, r5 │ │ │ │ │ + ldr r3, [r4, #80] @ 0x50 │ │ │ │ │ + ldr r1, [pc, #28] @ (50 ) │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - add r1, pc │ │ │ │ │ mov r3, r7 │ │ │ │ │ ldr r4, [r5, #0] │ │ │ │ │ + add r1, pc │ │ │ │ │ blx r4 │ │ │ │ │ add sp, #28 │ │ │ │ │ - pop {r4, r5, r6, r7, pc} │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x00000012 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ -0000003c : │ │ │ │ │ +00000054 : │ │ │ │ │ apply(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r2 │ │ │ │ │ - sub sp, #44 @ 0x2c │ │ │ │ │ mov r6, r3 │ │ │ │ │ - str r0, [sp, #32] │ │ │ │ │ - ldrd r2, r0, [r0, #84] @ 0x54 │ │ │ │ │ - str r1, [sp, #8] │ │ │ │ │ - str r2, [sp, #12] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + sub sp, #44 @ 0x2c │ │ │ │ │ + ldr r2, [r0, #84] @ 0x54 │ │ │ │ │ ldr r7, [sp, #80] @ 0x50 │ │ │ │ │ + str r0, [sp, #32] │ │ │ │ │ + ldr r0, [r0, #88] @ 0x58 │ │ │ │ │ + strd r1, r2, [sp, #8] │ │ │ │ │ mul.w r0, r2, r0 │ │ │ │ │ - lsls r0, r0, #4 │ │ │ │ │ + mov.w r0, r0, lsl #4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ - ldr r1, [r4, #80] @ 0x50 │ │ │ │ │ ldr r2, [sp, #12] │ │ │ │ │ ldrd sl, r9, [r4, #64] @ 0x40 │ │ │ │ │ - cmp r2, r1 │ │ │ │ │ + ldr r1, [r4, #80] @ 0x50 │ │ │ │ │ ldrd fp, r3, [r4, #92] @ 0x5c │ │ │ │ │ ldrd r8, lr, [r4, #100] @ 0x64 │ │ │ │ │ - bgt.n ca │ │ │ │ │ + cmp r2, r1 │ │ │ │ │ + bgt.n f6 │ │ │ │ │ add.w r4, r0, r8, lsl #3 │ │ │ │ │ - mov.w fp, fp, lsl #3 │ │ │ │ │ mov r8, r2 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + mov.w fp, fp, lsl #3 │ │ │ │ │ str r4, [sp, #12] │ │ │ │ │ add.w r4, r0, lr, lsl #3 │ │ │ │ │ - str r3, [sp, #20] │ │ │ │ │ str r4, [sp, #16] │ │ │ │ │ - str r2, [sp, #24] │ │ │ │ │ - str r0, [sp, #36] @ 0x24 │ │ │ │ │ + strd r3, r2, [sp, #20] │ │ │ │ │ str r1, [sp, #28] │ │ │ │ │ - ldr r3, [sp, #16] │ │ │ │ │ + str r0, [sp, #36] @ 0x24 │ │ │ │ │ + ldr r1, [sp, #8] │ │ │ │ │ mov r2, r5 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ mov r0, sl │ │ │ │ │ - ldr r3, [sp, #12] │ │ │ │ │ add r5, fp │ │ │ │ │ - ldr r1, [sp, #8] │ │ │ │ │ + ldr r3, [sp, #16] │ │ │ │ │ + str r3, [sp, #0] │ │ │ │ │ + ldr r3, [sp, #12] │ │ │ │ │ ldr.w r4, [sl, #56] @ 0x38 │ │ │ │ │ blx r4 │ │ │ │ │ - ldr r0, [sp, #8] │ │ │ │ │ - str r7, [sp, #0] │ │ │ │ │ + ldrd r0, r1, [sp, #8] │ │ │ │ │ mov r3, r6 │ │ │ │ │ + str r7, [sp, #0] │ │ │ │ │ + ldr r2, [sp, #16] │ │ │ │ │ + ldr.w r4, [r9, #56] @ 0x38 │ │ │ │ │ add r0, fp │ │ │ │ │ str r0, [sp, #8] │ │ │ │ │ - ldrd r1, r2, [sp, #12] │ │ │ │ │ mov r0, r9 │ │ │ │ │ - ldr.w r4, [r9, #56] @ 0x38 │ │ │ │ │ blx r4 │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ add r6, r3 │ │ │ │ │ add r7, r3 │ │ │ │ │ ldr r3, [sp, #24] │ │ │ │ │ add r8, r3 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ cmp r3, r8 │ │ │ │ │ - bge.n 8e │ │ │ │ │ + bge.n ba │ │ │ │ │ ldr r0, [sp, #36] @ 0x24 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ - ldr r3, [sp, #32] │ │ │ │ │ ldr r1, [sp, #8] │ │ │ │ │ mov r2, r5 │ │ │ │ │ + ldr r3, [sp, #32] │ │ │ │ │ ldr r0, [r3, #72] @ 0x48 │ │ │ │ │ mov r3, r6 │ │ │ │ │ str r7, [sp, #80] @ 0x50 │ │ │ │ │ ldr r7, [r0, #56] @ 0x38 │ │ │ │ │ mov ip, r7 │ │ │ │ │ add sp, #44 @ 0x2c │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ bx ip │ │ │ │ │ - nop │ │ │ │ │ │ │ │ │ │ -000000e8 : │ │ │ │ │ +00000124 : │ │ │ │ │ destroy(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldr r0, [r0, #72] @ 0x48 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ ldr r0, [r4, #68] @ 0x44 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ ldr r0, [r4, #64] @ 0x40 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_destroy_internal │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000104 : │ │ │ │ │ +00000144 : │ │ │ │ │ mkplan(): │ │ │ │ │ ldr.w r3, [r2, #164] @ 0xa4 │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ lsls r4, r3, #21 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #84 @ 0x54 │ │ │ │ │ - bpl.n 138 │ │ │ │ │ - movs r5, #0 │ │ │ │ │ + bpl.n 1a0 │ │ │ │ │ + mov.w r5, #0 │ │ │ │ │ mov r9, r5 │ │ │ │ │ mov r8, r5 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree0 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ mov r0, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ mov r0, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #84 @ 0x54 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ mov r5, r0 │ │ │ │ │ ldr r0, [r1, #8] │ │ │ │ │ mov r4, r1 │ │ │ │ │ ldr r3, [r0, #0] │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - bgt.n 112 │ │ │ │ │ + bgt.n 162 │ │ │ │ │ ldr.w r9, [r1, #4] │ │ │ │ │ ldr.w r3, [r9] │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - bne.n 112 │ │ │ │ │ + bne.n 162 │ │ │ │ │ + add r3, sp, #48 @ 0x30 │ │ │ │ │ add.w r8, sp, #44 @ 0x2c │ │ │ │ │ add r6, sp, #40 @ 0x28 │ │ │ │ │ - add r3, sp, #48 @ 0x30 │ │ │ │ │ mov r7, r2 │ │ │ │ │ mov r1, r6 │ │ │ │ │ mov r2, r8 │ │ │ │ │ str r3, [sp, #28] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_tornk1 │ │ │ │ │ ldr r3, [r4, #4] │ │ │ │ │ ldr r0, [r3, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_toobig │ │ │ │ │ - cbz r0, 176 │ │ │ │ │ + cbz r0, 1de │ │ │ │ │ ldr.w r3, [r7, #164] @ 0xa4 │ │ │ │ │ lsls r1, r3, #17 │ │ │ │ │ - bmi.n 112 │ │ │ │ │ - ldr.w sl, [pc, #596] @ 3cc │ │ │ │ │ - movs r3, #2 │ │ │ │ │ + bmi.n 162 │ │ │ │ │ + ldr.w sl, [pc, #616] @ 448 │ │ │ │ │ + mov.w r3, #2 │ │ │ │ │ ldr.w r0, [r9, #4] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ + ldr r2, [r5, #8] │ │ │ │ │ add sl, pc │ │ │ │ │ ldr r1, [sp, #40] @ 0x28 │ │ │ │ │ mov r3, sl │ │ │ │ │ - ldr r2, [r5, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_nbuf_redundant │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.n 112 │ │ │ │ │ + bne.n 162 │ │ │ │ │ ldr r2, [r4, #12] │ │ │ │ │ ldr r3, [r4, #20] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.w 37c │ │ │ │ │ + beq.w 3f8 │ │ │ │ │ ldr.w r3, [r9, #12] │ │ │ │ │ cmp r3, #2 │ │ │ │ │ - ble.n 112 │ │ │ │ │ + ble.n 162 │ │ │ │ │ ldr.w r3, [r7, #164] @ 0xa4 │ │ │ │ │ lsls r3, r3, #15 │ │ │ │ │ - bmi.n 112 │ │ │ │ │ + bmi.n 162 │ │ │ │ │ ldr r0, [r4, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_sz │ │ │ │ │ - mov r3, r8 │ │ │ │ │ mov sl, r0 │ │ │ │ │ + ldr r0, [r4, #8] │ │ │ │ │ + mov r3, r8 │ │ │ │ │ mov r2, r6 │ │ │ │ │ add r1, sp, #36 @ 0x24 │ │ │ │ │ - ldr r0, [r4, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_tornk1 │ │ │ │ │ - ldr r3, [pc, #524] @ (3d0 ) │ │ │ │ │ - ldr r2, [r5, #8] │ │ │ │ │ + ldr r3, [pc, #544] @ (44c ) │ │ │ │ │ mov r0, sl │ │ │ │ │ - add r3, pc │ │ │ │ │ + ldr r2, [r5, #8] │ │ │ │ │ ldr r1, [sp, #36] @ 0x24 │ │ │ │ │ + add r3, pc │ │ │ │ │ ldr.w r2, [r3, r2, lsl #2] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_nbuf │ │ │ │ │ - mov r6, r0 │ │ │ │ │ ldr r1, [sp, #36] @ 0x24 │ │ │ │ │ + mov r6, r0 │ │ │ │ │ mov r0, sl │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_bufdist │ │ │ │ │ - str r0, [sp, #8] │ │ │ │ │ ldrd r3, r2, [r4, #12] │ │ │ │ │ + mov r1, r0 │ │ │ │ │ mul.w r0, r0, r6 │ │ │ │ │ - subs r3, r3, r2 │ │ │ │ │ - cmp r3, #0 │ │ │ │ │ mov.w r0, r0, lsl #4 │ │ │ │ │ + sub.w r3, r3, r2 │ │ │ │ │ + cmp r3, #0 │ │ │ │ │ iteet gt │ │ │ │ │ movgt r3, #1 │ │ │ │ │ movle r3, #0 │ │ │ │ │ movle r2, #1 │ │ │ │ │ movgt r2, #0 │ │ │ │ │ - str r3, [sp, #12] │ │ │ │ │ + strd r1, r3, [sp, #8] │ │ │ │ │ str r2, [sp, #16] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ ldr r3, [r4, #4] │ │ │ │ │ mov r5, r0 │ │ │ │ │ - movs r2, #2 │ │ │ │ │ + mov.w r2, #2 │ │ │ │ │ mov r0, sl │ │ │ │ │ ldr r1, [r3, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ ldr r1, [sp, #8] │ │ │ │ │ mov r8, r0 │ │ │ │ │ mov r0, r6 │ │ │ │ │ mov.w fp, r1, lsl #1 │ │ │ │ │ ldr r1, [sp, #40] @ 0x28 │ │ │ │ │ mov r2, fp │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ - ldr r3, [sp, #12] │ │ │ │ │ - ldr r2, [sp, #16] │ │ │ │ │ + ldrd r3, r2, [sp, #12] │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r8 │ │ │ │ │ add.w r9, r5, r3, lsl #3 │ │ │ │ │ add.w r3, r5, r2, lsl #3 │ │ │ │ │ strd r9, r3, [sp] │ │ │ │ │ str r3, [sp, #20] │ │ │ │ │ ldrd r2, r3, [r4, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_dft_d │ │ │ │ │ - ldr r2, [r4, #20] │ │ │ │ │ - mov r1, r0 │ │ │ │ │ ldr r3, [r4, #12] │ │ │ │ │ + mov r1, r0 │ │ │ │ │ mov r0, r7 │ │ │ │ │ - subs r3, r3, r2 │ │ │ │ │ + ldr r2, [r4, #20] │ │ │ │ │ + sub.w r3, r3, r2 │ │ │ │ │ clz r3, r3 │ │ │ │ │ - lsrs r3, r3, #5 │ │ │ │ │ - lsls r3, r3, #12 │ │ │ │ │ + mov.w r3, r3, lsr #5 │ │ │ │ │ + mov.w r3, r3, lsl #12 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ mov r2, r3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_f_d │ │ │ │ │ mov r8, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 378 │ │ │ │ │ + beq.w 3f4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_0d │ │ │ │ │ ldr r3, [r4, #4] │ │ │ │ │ - ldr r2, [sp, #44] @ 0x2c │ │ │ │ │ mov r1, fp │ │ │ │ │ str r0, [sp, #24] │ │ │ │ │ mov r0, r6 │ │ │ │ │ + ldr r2, [sp, #44] @ 0x2c │ │ │ │ │ ldr r3, [r3, #12] │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ - movs r3, #2 │ │ │ │ │ + mov.w r3, #2 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, sl │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_2d │ │ │ │ │ ldr r3, [r4, #24] │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r2, r9 │ │ │ │ │ ldr r0, [sp, #24] │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ ldr r3, [r4, #20] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_dft_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov r9, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 118 │ │ │ │ │ + beq.w 16a │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ - mov r1, r6 │ │ │ │ │ ldr r0, [sp, #36] @ 0x24 │ │ │ │ │ + mov r1, r6 │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ mul.w r5, r6, r0 │ │ │ │ │ ldr r0, [r4, #4] │ │ │ │ │ mul.w fp, r3, r5 │ │ │ │ │ ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ mov.w fp, fp, lsl #3 │ │ │ │ │ mul.w r5, r3, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy │ │ │ │ │ mov r1, r6 │ │ │ │ │ str r0, [sp, #20] │ │ │ │ │ ldr r0, [sp, #36] @ 0x24 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ mov r0, r1 │ │ │ │ │ ldrd r1, r2, [sp, #40] @ 0x28 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ mov r1, r0 │ │ │ │ │ - ldr r0, [r4, #24] │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ ldrd r2, r3, [r4, #12] │ │ │ │ │ - add r0, r5 │ │ │ │ │ - str r0, [sp, #4] │ │ │ │ │ + ldr r0, [r4, #24] │ │ │ │ │ add r3, fp │ │ │ │ │ add r2, fp │ │ │ │ │ + add r0, r5 │ │ │ │ │ + str r0, [sp, #4] │ │ │ │ │ ldr r0, [r4, #20] │ │ │ │ │ add r5, r0 │ │ │ │ │ ldr r0, [sp, #20] │ │ │ │ │ str r5, [sp, #0] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_dft_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov r5, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 118 │ │ │ │ │ - ldr r2, [pc, #196] @ (3d4 ) │ │ │ │ │ - movs r0, #112 @ 0x70 │ │ │ │ │ - ldr r1, [pc, #196] @ (3d8 ) │ │ │ │ │ + beq.w 16a │ │ │ │ │ + ldr r2, [pc, #196] @ (450 ) │ │ │ │ │ + mov.w r0, #112 @ 0x70 │ │ │ │ │ + ldr r1, [pc, #196] @ (454 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_dft │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ - strd r5, sl, [r0, #72] @ 0x48 │ │ │ │ │ mov r4, r0 │ │ │ │ │ - str r3, [r0, #80] @ 0x50 │ │ │ │ │ add.w r1, r9, #8 │ │ │ │ │ - ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ + add.w r0, r8, #8 │ │ │ │ │ add.w r7, r4, #8 │ │ │ │ │ + strd r8, r9, [r4, #64] @ 0x40 │ │ │ │ │ + strd r5, sl, [r4, #72] @ 0x48 │ │ │ │ │ + add.w r5, r5, #8 │ │ │ │ │ ldr.w sl, [sp, #28] │ │ │ │ │ - adds r5, #8 │ │ │ │ │ - strd r8, r9, [r0, #64] @ 0x40 │ │ │ │ │ + str r3, [r4, #80] @ 0x50 │ │ │ │ │ + ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ mov r2, sl │ │ │ │ │ mul.w r3, r6, r3 │ │ │ │ │ - str r3, [r0, #92] @ 0x5c │ │ │ │ │ + str r3, [r4, #92] @ 0x5c │ │ │ │ │ ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ - str r6, [r0, #84] @ 0x54 │ │ │ │ │ + str r6, [r4, #84] @ 0x54 │ │ │ │ │ mul.w r3, r6, r3 │ │ │ │ │ - str r3, [r0, #96] @ 0x60 │ │ │ │ │ + str r3, [r4, #96] @ 0x60 │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ - str r3, [r0, #100] @ 0x64 │ │ │ │ │ + str r3, [r4, #100] @ 0x64 │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ - str r3, [r0, #104] @ 0x68 │ │ │ │ │ + str r3, [r4, #104] @ 0x68 │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ - str r3, [r0, #88] @ 0x58 │ │ │ │ │ - add.w r0, r8, #8 │ │ │ │ │ + str r3, [r4, #88] @ 0x58 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_add │ │ │ │ │ ldr r0, [sp, #36] @ 0x24 │ │ │ │ │ mov r1, r6 │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ mov r3, r7 │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r1, sl │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_madd │ │ │ │ │ mov r0, r4 │ │ │ │ │ - add sp, #84 @ 0x54 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + b.n 188 │ │ │ │ │ mov r9, r0 │ │ │ │ │ - b.n 118 │ │ │ │ │ + b.n 16a │ │ │ │ │ ldrd r0, r1, [r4, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_inplace_strides2 │ │ │ │ │ - cbnz r0, 3a6 │ │ │ │ │ + cbnz r0, 422 │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ ldr r2, [r3, #0] │ │ │ │ │ - cbz r2, 3a6 │ │ │ │ │ + cbz r2, 422 │ │ │ │ │ ldr r2, [r5, #8] │ │ │ │ │ ldr r1, [r3, #4] │ │ │ │ │ ldr.w r0, [r9, #4] │ │ │ │ │ ldr.w r2, [sl, r2, lsl #2] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_nbuf │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ ldr r3, [r3, #4] │ │ │ │ │ cmp r0, r3 │ │ │ │ │ - bne.w 112 │ │ │ │ │ + bne.w 162 │ │ │ │ │ ldr.w r3, [r7, #164] @ 0xa4 │ │ │ │ │ lsls r2, r3, #15 │ │ │ │ │ - bpl.w 1ac │ │ │ │ │ + bpl.w 216 │ │ │ │ │ ldr r2, [r4, #12] │ │ │ │ │ ldr r3, [r4, #20] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.w 112 │ │ │ │ │ + bne.w 162 │ │ │ │ │ ldr r3, [r4, #4] │ │ │ │ │ ldr r0, [r3, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_toobig │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 1ac │ │ │ │ │ - b.n 112 │ │ │ │ │ + beq.w 216 │ │ │ │ │ + b.n 162 │ │ │ │ │ nop │ │ │ │ │ - .word 0x00000246 │ │ │ │ │ + .word 0x00000256 │ │ │ │ │ R_ARM_REL32 .rodata │ │ │ │ │ - .word 0x00000206 │ │ │ │ │ + .word 0x00000216 │ │ │ │ │ R_ARM_REL32 .rodata │ │ │ │ │ - .word 0x000000be │ │ │ │ │ + .word 0x000000bc │ │ │ │ │ R_ARM_REL32 apply │ │ │ │ │ - .word 0x000000c0 │ │ │ │ │ + .word 0x000000be │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ │ │ │ │ │ -000003dc : │ │ │ │ │ +00000458 : │ │ │ │ │ awake(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - mov r5, r1 │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ + mov r5, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ ldr r0, [r4, #68] @ 0x44 │ │ │ │ │ mov r1, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ ldr r0, [r4, #72] @ 0x48 │ │ │ │ │ mov r1, r5 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, lr} │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + ldrd r5, lr, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_awake │ │ │ │ │ │ │ │ │ │ -000003fc : │ │ │ │ │ +00000484 : │ │ │ │ │ fftw_dft_buffered_register(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - ldr r5, [pc, #44] @ (430 ) │ │ │ │ │ - movs r0, #12 │ │ │ │ │ + mov.w r0, #12 │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ + ldr r5, [pc, #56] @ (4cc ) │ │ │ │ │ add r5, pc │ │ │ │ │ mov r1, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ - movs r3, #0 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - str r3, [r0, #8] │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ + str r3, [r1, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ mov r1, r5 │ │ │ │ │ - movs r0, #12 │ │ │ │ │ + mov.w r0, #12 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ - movs r3, #1 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - str r3, [r0, #8] │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + ldrd r5, lr, [sp, #8] │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, lr} │ │ │ │ │ + str r3, [r1, #8] │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solver_register │ │ │ │ │ - .word 0x00000028 │ │ │ │ │ + .word 0x00000034 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ ├── conf.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1664 (bytes into file) │ │ │ │ │ + Start of section headers: 1676 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x680: │ │ │ │ │ +There are 13 section headers, starting at offset 0x68c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000034 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000538 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000068 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000068 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000068 00013c 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 0001a4 000060 00 WA 0 0 4 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000560 0000b0 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 000204 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000204 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 000238 000170 10 11 8 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 0003a8 00018f 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000610 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000040 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000544 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000074 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000074 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000074 00013c 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0001b0 000060 00 WA 0 0 4 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 00056c 0000b0 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 000210 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000210 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 000244 000170 10 11 8 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 0003b4 00018f 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 00061c 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 23 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000028 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 2: 00000034 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 3: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 4: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 5: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 6: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 7: 00000000 96 OBJECT LOCAL DEFAULT 6 s │ │ │ │ │ - 8: 00000001 52 FUNC GLOBAL DEFAULT 1 fftw_dft_conf_standard │ │ │ │ │ + 8: 00000001 64 FUNC GLOBAL DEFAULT 1 fftw_dft_conf_standard │ │ │ │ │ 9: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solvtab_exec │ │ │ │ │ 10: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solvtab_dft_standard │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_indirect_register │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_indirect_transpose_register │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_rank_geq2_register │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_vrank_geq1_register │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,17 +1,17 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x538 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x544 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000000e 0000090a R_ARM_THM_CALL 00000000 fftw_solvtab_exec │ │ │ │ │ -00000028 00000503 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000002c 00000a19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000030 00000b1a R_ARM_GOT_BREL 00000000 fftw_solvtab_dft_standard │ │ │ │ │ -00000024 0000091e R_ARM_THM_JUMP24 00000000 fftw_solvtab_exec │ │ │ │ │ +00000014 0000090a R_ARM_THM_CALL 00000000 fftw_solvtab_exec │ │ │ │ │ +00000034 00000503 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000038 00000a19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000003c 00000b1a R_ARM_GOT_BREL 00000000 fftw_solvtab_dft_standard │ │ │ │ │ +00000030 0000091e R_ARM_THM_JUMP24 00000000 fftw_solvtab_exec │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x560 contains 22 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x56c contains 22 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00000c02 R_ARM_ABS32 00000000 fftw_dft_indirect_register │ │ │ │ │ 00000004 00000302 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000d02 R_ARM_ABS32 00000000 fftw_dft_indirect_transpose_register │ │ │ │ │ 0000000c 00000302 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000010 00000e02 R_ARM_ABS32 00000000 fftw_dft_rank_geq2_register │ │ │ │ │ 00000014 00000302 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,32 +1,35 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_dft_conf_standard(): │ │ │ │ │ - push {r4, r5, lr} │ │ │ │ │ mov r1, r0 │ │ │ │ │ + str.w r4, [sp, #-12]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - ldr r0, [pc, #32] @ (28 ) │ │ │ │ │ + ldr r0, [pc, #40] @ (34 ) │ │ │ │ │ + strd r5, lr, [sp, #4] │ │ │ │ │ sub sp, #12 │ │ │ │ │ - ldr r5, [pc, #32] @ (2c ) │ │ │ │ │ + ldr r5, [pc, #36] @ (38 ) │ │ │ │ │ add r0, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solvtab_exec │ │ │ │ │ - ldr r3, [pc, #28] @ (30 ) │ │ │ │ │ + ldr r3, [pc, #32] @ (3c ) │ │ │ │ │ add r5, pc │ │ │ │ │ mov r1, r4 │ │ │ │ │ ldr r3, [r5, r3] │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ mov r0, r3 │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solvtab_exec │ │ │ │ │ - .word 0x00000018 │ │ │ │ │ + .word 0x0000001e │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000014 │ │ │ │ │ + .word 0x0000001a │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_solvtab_dft_standard │ │ │ ├── lt2-ct.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2580 (bytes into file) │ │ │ │ │ + Start of section headers: 2708 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 15 │ │ │ │ │ Section header string table index: 14 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ -There are 15 section headers, starting at offset 0xa14: │ │ │ │ │ +There are 15 section headers, starting at offset 0xa94: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000388 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00085c 000108 08 I 12 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0003bc 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0003bc 000004 00 WA 0 0 4 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0003bc 000023 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 0003df 000010 00 WA 0 0 4 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000964 000020 08 I 12 6 4 │ │ │ │ │ - [ 8] .data.rel.ro.local PROGBITS 00000000 0003ef 00000c 00 WA 0 0 4 │ │ │ │ │ - [ 9] .rel.data.rel.ro.local REL 00000000 000984 000008 08 I 12 8 4 │ │ │ │ │ - [10] .note.GNU-stack PROGBITS 00000000 0003fb 000000 00 0 0 1 │ │ │ │ │ - [11] .ARM.attributes ARM_ATTRIBUTES 00000000 0003fb 000033 00 0 0 1 │ │ │ │ │ - [12] .symtab SYMTAB 00000000 000430 0002b0 10 13 25 4 │ │ │ │ │ - [13] .strtab STRTAB 00000000 0006e0 000179 00 0 0 1 │ │ │ │ │ - [14] .shstrtab STRTAB 00000000 00098c 000087 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000408 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0008dc 000108 08 I 12 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 00043c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 00043c 000004 00 WA 0 0 4 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 00043c 000023 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 00045f 000010 00 WA 0 0 4 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 0009e4 000020 08 I 12 6 4 │ │ │ │ │ + [ 8] .data.rel.ro.local PROGBITS 00000000 00046f 00000c 00 WA 0 0 4 │ │ │ │ │ + [ 9] .rel.data.rel.ro.local REL 00000000 000a04 000008 08 I 12 8 4 │ │ │ │ │ + [10] .note.GNU-stack PROGBITS 00000000 00047b 000000 00 0 0 1 │ │ │ │ │ + [11] .ARM.attributes ARM_ATTRIBUTES 00000000 00047b 000033 00 0 0 1 │ │ │ │ │ + [12] .symtab SYMTAB 00000000 0004b0 0002b0 10 13 25 4 │ │ │ │ │ + [13] .strtab STRTAB 00000000 000760 000179 00 0 0 1 │ │ │ │ │ + [14] .shstrtab STRTAB 00000000 000a0c 000087 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,46 +1,46 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 43 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 34 FUNC LOCAL DEFAULT 1 apply_dit │ │ │ │ │ + 1: 00000001 54 FUNC LOCAL DEFAULT 1 apply_dit │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000025 44 FUNC LOCAL DEFAULT 1 apply_dif │ │ │ │ │ + 3: 00000039 62 FUNC LOCAL DEFAULT 1 apply_dif │ │ │ │ │ 4: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ 6: 00000004 0 NOTYPE LOCAL DEFAULT 5 .LC1 │ │ │ │ │ 7: 00000008 0 NOTYPE LOCAL DEFAULT 5 .LC2 │ │ │ │ │ - 8: 00000051 68 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ - 9: 00000084 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 10: 00000094 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 11: 00000095 20 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 12: 000000a9 24 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 13: 00000139 548 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 14: 0000034c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 15: 0000035c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 16: 00000378 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 17: 0000037c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 8: 00000079 68 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 9: 000000ac 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 10: 000000bc 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 11: 000000bd 24 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 12: 000000d5 36 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 13: 00000181 588 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 14: 000003bc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 15: 000003cc 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 16: 000003f4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 17: 000003f8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 18: 00000000 0 NOTYPE LOCAL DEFAULT 4 $d │ │ │ │ │ 19: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 20: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 21: 00000000 16 OBJECT LOCAL DEFAULT 6 padt.0 │ │ │ │ │ 22: 00000000 0 SECTION LOCAL DEFAULT 8 .data.rel.ro.local │ │ │ │ │ 23: 00000000 0 NOTYPE LOCAL DEFAULT 8 $d │ │ │ │ │ 24: 00000000 12 OBJECT LOCAL DEFAULT 8 sadt.1 │ │ │ │ │ 25: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_destroy_internal │ │ │ │ │ 26: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_awake │ │ │ │ │ - 27: 000000c1 120 FUNC GLOBAL DEFAULT 1 fftw_ct_applicable │ │ │ │ │ + 27: 000000f9 134 FUNC GLOBAL DEFAULT 1 fftw_ct_applicable │ │ │ │ │ 28: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_choose_radix │ │ │ │ │ 29: 00000000 0 NOTYPE GLOBAL DEFAULT UND __aeabi_idiv │ │ │ │ │ 30: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_tornk1 │ │ │ │ │ 31: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mktensor_1d │ │ │ │ │ 32: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mktensor_2d │ │ │ │ │ 33: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkproblem_dft_d │ │ │ │ │ 34: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_d │ │ │ │ │ 35: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_dft │ │ │ │ │ 36: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_add │ │ │ │ │ - 37: 0000035d 32 FUNC GLOBAL DEFAULT 1 fftw_mksolver_ct │ │ │ │ │ + 37: 000003cd 44 FUNC GLOBAL DEFAULT 1 fftw_mksolver_ct │ │ │ │ │ 38: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ - 39: 0000037d 12 FUNC GLOBAL DEFAULT 1 fftw_mkplan_dftw │ │ │ │ │ + 39: 000003f9 14 FUNC GLOBAL DEFAULT 1 fftw_mkplan_dftw │ │ │ │ │ 40: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan │ │ │ │ │ 41: 00000000 4 OBJECT GLOBAL DEFAULT 4 fftw_mksolver_ct_hook │ │ │ │ │ 42: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_solve │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,47 +1,47 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x85c contains 33 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x8dc contains 33 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000084 00000103 R_ARM_REL32 00000001 apply_dit │ │ │ │ │ -00000088 00000603 R_ARM_REL32 00000004 .LC1 │ │ │ │ │ -0000008c 00000703 R_ARM_REL32 00000008 .LC2 │ │ │ │ │ -00000090 00000503 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -0000009a 0000190a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000000b0 00001a0a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -000000fc 00001c0a R_ARM_THM_CALL 00000000 fftw_choose_radix │ │ │ │ │ -0000015c 00001b0a R_ARM_THM_CALL 000000c1 fftw_ct_applicable │ │ │ │ │ -00000172 00001c0a R_ARM_THM_CALL 00000000 fftw_choose_radix │ │ │ │ │ -0000017c 00001d0a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -0000018a 00001e0a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ -000001da 00001f0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -000001f4 0000200a R_ARM_THM_CALL 00000000 fftw_mktensor_2d │ │ │ │ │ -00000208 0000210a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ -00000210 0000220a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -00000224 0000230a R_ARM_THM_CALL 00000000 fftw_mkplan_dft │ │ │ │ │ -0000023c 0000240a R_ARM_THM_CALL 00000000 fftw_ops_add │ │ │ │ │ -000002aa 00001f0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -000002c0 0000200a R_ARM_THM_CALL 00000000 fftw_mktensor_2d │ │ │ │ │ -000002d4 0000210a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ -000002dc 0000220a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -000002ee 0000230a R_ARM_THM_CALL 00000000 fftw_mkplan_dft │ │ │ │ │ -000002fe 0000190a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000304 0000190a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -0000034c 00000103 R_ARM_REL32 00000001 apply_dit │ │ │ │ │ -00000350 00001303 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000354 00000303 R_ARM_REL32 00000025 apply_dif │ │ │ │ │ -00000358 00001303 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000368 0000260a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -00000378 00001603 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -00000380 0000280a R_ARM_THM_CALL 00000000 fftw_mkplan │ │ │ │ │ -000000a4 0000191e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000000bc 00001a1e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ +000000ac 00000103 R_ARM_REL32 00000001 apply_dit │ │ │ │ │ +000000b0 00000603 R_ARM_REL32 00000004 .LC1 │ │ │ │ │ +000000b4 00000703 R_ARM_REL32 00000008 .LC2 │ │ │ │ │ +000000b8 00000503 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +000000c4 0000190a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000000e2 00001a0a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +00000142 00001c0a R_ARM_THM_CALL 00000000 fftw_choose_radix │ │ │ │ │ +000001b4 00001b0a R_ARM_THM_CALL 000000f9 fftw_ct_applicable │ │ │ │ │ +000001ca 00001c0a R_ARM_THM_CALL 00000000 fftw_choose_radix │ │ │ │ │ +000001d4 00001d0a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +000001e2 00001e0a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ +00000232 00001f0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +0000024c 0000200a R_ARM_THM_CALL 00000000 fftw_mktensor_2d │ │ │ │ │ +00000260 0000210a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ +00000268 0000220a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +0000027e 0000230a R_ARM_THM_CALL 00000000 fftw_mkplan_dft │ │ │ │ │ +00000296 0000240a R_ARM_THM_CALL 00000000 fftw_ops_add │ │ │ │ │ +00000302 00001f0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +00000318 0000200a R_ARM_THM_CALL 00000000 fftw_mktensor_2d │ │ │ │ │ +0000032c 0000210a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ +00000334 0000220a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +00000348 0000230a R_ARM_THM_CALL 00000000 fftw_mkplan_dft │ │ │ │ │ +0000035a 0000190a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000362 0000190a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000003bc 00000103 R_ARM_REL32 00000001 apply_dit │ │ │ │ │ +000003c0 00001303 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000003c4 00000303 R_ARM_REL32 00000039 apply_dif │ │ │ │ │ +000003c8 00001303 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000003de 0000260a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +000003f4 00001603 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +000003fe 0000280a R_ARM_THM_CALL 00000000 fftw_mkplan │ │ │ │ │ +000000d0 0000191e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000000f4 00001a1e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x964 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x9e4 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00002a02 R_ARM_ABS32 00000000 fftw_dft_solve │ │ │ │ │ -00000004 00000c02 R_ARM_ABS32 000000a9 awake │ │ │ │ │ -00000008 00000802 R_ARM_ABS32 00000051 print │ │ │ │ │ -0000000c 00000b02 R_ARM_ABS32 00000095 destroy │ │ │ │ │ +00000004 00000c02 R_ARM_ABS32 000000d5 awake │ │ │ │ │ +00000008 00000802 R_ARM_ABS32 00000079 print │ │ │ │ │ +0000000c 00000b02 R_ARM_ABS32 000000bd destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x984 contains 1 entry: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0xa04 contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000d02 R_ARM_ABS32 00000139 mkplan │ │ │ │ │ +00000004 00000d02 R_ARM_ABS32 00000181 mkplan │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,8 +1,7 @@ │ │ │ │ │ -LJP LIzDyD │ │ │ │ │ (dft-ct-%s/%D%(%p%)%(%p%)) │ │ │ │ │ apply_dit │ │ │ │ │ apply_dif │ │ │ │ │ fftw_plan_destroy_internal │ │ │ │ │ fftw_plan_awake │ │ │ │ │ fftw_ct_applicable │ │ │ │ │ fftw_choose_radix │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,428 +1,456 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ apply_dit(): │ │ │ │ │ - push {r4, r5, r6, r7, lr} │ │ │ │ │ + str.w r4, [sp, #-20]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ - sub sp, #12 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r3 │ │ │ │ │ + strd r7, lr, [sp, #12] │ │ │ │ │ + sub sp, #12 │ │ │ │ │ ldr r6, [sp, #32] │ │ │ │ │ + ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ str r6, [sp, #0] │ │ │ │ │ ldr r7, [r0, #56] @ 0x38 │ │ │ │ │ blx r7 │ │ │ │ │ ldr r0, [r4, #68] @ 0x44 │ │ │ │ │ mov r2, r6 │ │ │ │ │ mov r1, r5 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ bx r3 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000024 : │ │ │ │ │ +00000038 : │ │ │ │ │ apply_dif(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ + strd r4, r5, [sp, #-24]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ + mov r5, r1 │ │ │ │ │ ldr r0, [r0, #68] @ 0x44 │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ mov r7, r3 │ │ │ │ │ - ldr.w r8, [sp, #24] │ │ │ │ │ - mov r5, r1 │ │ │ │ │ mov r6, r2 │ │ │ │ │ + strd r8, lr, [sp, #16] │ │ │ │ │ + ldr.w r8, [sp, #24] │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ blx r3 │ │ │ │ │ ldr r0, [r4, #64] @ 0x40 │ │ │ │ │ - str.w r8, [sp, #24] │ │ │ │ │ mov r3, r7 │ │ │ │ │ mov r2, r6 │ │ │ │ │ + str.w r8, [sp, #24] │ │ │ │ │ mov r1, r5 │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, lr, [sp, #16] │ │ │ │ │ ldr r4, [r0, #56] @ 0x38 │ │ │ │ │ mov ip, r4 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #24 │ │ │ │ │ bx ip │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000050 : │ │ │ │ │ +00000078 : │ │ │ │ │ print(): │ │ │ │ │ mov r3, r0 │ │ │ │ │ - ldr r2, [pc, #48] @ (84 ) │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + ldr r2, [pc, #48] @ (ac ) │ │ │ │ │ mov r0, r1 │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ + sub sp, #8 │ │ │ │ │ ldr r4, [r1, #0] │ │ │ │ │ ldr r1, [r3, #56] @ 0x38 │ │ │ │ │ add r2, pc │ │ │ │ │ - sub sp, #8 │ │ │ │ │ cmp r1, r2 │ │ │ │ │ - beq.n 7c │ │ │ │ │ - ldr r2, [pc, #32] @ (88 ) │ │ │ │ │ + beq.n a6 │ │ │ │ │ + ldr r2, [pc, #32] @ (b0 ) │ │ │ │ │ add r2, pc │ │ │ │ │ ldr r1, [r3, #64] @ 0x40 │ │ │ │ │ str r1, [sp, #4] │ │ │ │ │ ldr r1, [r3, #68] @ 0x44 │ │ │ │ │ str r1, [sp, #0] │ │ │ │ │ - ldr r1, [pc, #24] @ (8c ) │ │ │ │ │ + ldr r1, [pc, #24] @ (b4 ) │ │ │ │ │ ldr r3, [r3, #72] @ 0x48 │ │ │ │ │ add r1, pc │ │ │ │ │ blx r4 │ │ │ │ │ add sp, #8 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - ldr r2, [pc, #16] @ (90 ) │ │ │ │ │ + ldr r2, [pc, #16] @ (b8 ) │ │ │ │ │ add r2, pc │ │ │ │ │ - b.n 68 │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000024 │ │ │ │ │ + b.n 92 │ │ │ │ │ + .word 0x00000020 │ │ │ │ │ R_ARM_REL32 apply_dit │ │ │ │ │ - .word 0x0000001e │ │ │ │ │ + .word 0x0000001c │ │ │ │ │ R_ARM_REL32 .LC1 │ │ │ │ │ - .word 0x00000014 │ │ │ │ │ + .word 0x00000012 │ │ │ │ │ R_ARM_REL32 .LC2 │ │ │ │ │ - .word 0x0000000e │ │ │ │ │ + .word 0x0000000c │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ -00000094 : │ │ │ │ │ +000000bc : │ │ │ │ │ destroy(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldr r0, [r0, #68] @ 0x44 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ ldr r0, [r4, #64] @ 0x40 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_destroy_internal │ │ │ │ │ │ │ │ │ │ -000000a8 : │ │ │ │ │ +000000d4 : │ │ │ │ │ awake(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - mov r5, r1 │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ + mov r5, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ ldr r0, [r4, #68] @ 0x44 │ │ │ │ │ mov r1, r5 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, lr} │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + ldrd r5, lr, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_awake │ │ │ │ │ │ │ │ │ │ -000000c0 : │ │ │ │ │ +000000f8 : │ │ │ │ │ fftw_ct_applicable(): │ │ │ │ │ ldr r3, [r1, #4] │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ - ldr r5, [r3, #0] │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ sub sp, #8 │ │ │ │ │ + ldr r5, [r3, #0] │ │ │ │ │ cmp r5, #1 │ │ │ │ │ - beq.n d4 │ │ │ │ │ - movs r5, #0 │ │ │ │ │ + beq.n 11a │ │ │ │ │ + mov.w r5, #0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ add sp, #8 │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ mov r4, r1 │ │ │ │ │ ldr r1, [r1, #8] │ │ │ │ │ ldr r1, [r1, #0] │ │ │ │ │ cmp r1, #1 │ │ │ │ │ - bgt.n cc │ │ │ │ │ + bgt.n 10a │ │ │ │ │ ldr r1, [r0, #12] │ │ │ │ │ mov r6, r0 │ │ │ │ │ cmp r1, #1 │ │ │ │ │ - beq.n f6 │ │ │ │ │ + beq.n 13c │ │ │ │ │ ldr r0, [r4, #12] │ │ │ │ │ ldr r1, [r4, #20] │ │ │ │ │ cmp r0, r1 │ │ │ │ │ - beq.n f6 │ │ │ │ │ + beq.n 13c │ │ │ │ │ ldr.w r1, [r2, #164] @ 0xa4 │ │ │ │ │ lsls r1, r1, #19 │ │ │ │ │ - bmi.n cc │ │ │ │ │ + bmi.n 10a │ │ │ │ │ ldr r1, [r3, #4] │ │ │ │ │ - ldr r0, [r6, #8] │ │ │ │ │ str r2, [sp, #4] │ │ │ │ │ + ldr r0, [r6, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_choose_radix │ │ │ │ │ cmp r0, #1 │ │ │ │ │ - ble.n cc │ │ │ │ │ + ble.n 10a │ │ │ │ │ ldr r3, [r4, #4] │ │ │ │ │ ldr r3, [r3, #4] │ │ │ │ │ cmp r0, r3 │ │ │ │ │ - bge.n cc │ │ │ │ │ + bge.n 10a │ │ │ │ │ ldr r3, [r6, #12] │ │ │ │ │ cmp r3, #2 │ │ │ │ │ - beq.n ce │ │ │ │ │ + beq.n 10e │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - beq.n ce │ │ │ │ │ + beq.n 10e │ │ │ │ │ ldr r2, [sp, #4] │ │ │ │ │ ldr.w r3, [r2, #164] @ 0xa4 │ │ │ │ │ lsls r3, r3, #27 │ │ │ │ │ - bpl.n ce │ │ │ │ │ + bpl.n 10e │ │ │ │ │ ldr r3, [r6, #20] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - beq.n cc │ │ │ │ │ + beq.n 10a │ │ │ │ │ mov r1, r4 │ │ │ │ │ mov r0, r6 │ │ │ │ │ blx r3 │ │ │ │ │ subs r5, r0, #0 │ │ │ │ │ it ne │ │ │ │ │ movne r5, #1 │ │ │ │ │ - b.n ce │ │ │ │ │ + b.n 10e │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000138 : │ │ │ │ │ +00000180 : │ │ │ │ │ mkplan(): │ │ │ │ │ ldr.w r3, [r2, #164] @ 0xa4 │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r6, r0 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ mov r4, r1 │ │ │ │ │ - sub sp, #68 @ 0x44 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r6, r0 │ │ │ │ │ mov r5, r2 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ lsls r3, r3, #22 │ │ │ │ │ - bpl.n 156 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + sub sp, #68 @ 0x44 │ │ │ │ │ + bpl.n 1ae │ │ │ │ │ ldr.w r3, [r2, #160] @ 0xa0 │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - bgt.w 308 │ │ │ │ │ + bgt.w 366 │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r1, r4 │ │ │ │ │ mov r0, r6 │ │ │ │ │ - bl c0 │ │ │ │ │ + bl f8 │ │ │ │ │ R_ARM_THM_CALL fftw_ct_applicable │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 308 │ │ │ │ │ + beq.w 366 │ │ │ │ │ ldr.w r9, [r4, #4] │ │ │ │ │ ldr r0, [r6, #8] │ │ │ │ │ ldr.w r8, [r9, #4] │ │ │ │ │ mov r1, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_choose_radix │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r7, r0 │ │ │ │ │ mov r0, r8 │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ - add r3, sp, #60 @ 0x3c │ │ │ │ │ mov r8, r0 │ │ │ │ │ - add r2, sp, #56 @ 0x38 │ │ │ │ │ ldr r0, [r4, #8] │ │ │ │ │ + add r3, sp, #60 @ 0x3c │ │ │ │ │ + add r2, sp, #56 @ 0x38 │ │ │ │ │ add r1, sp, #52 @ 0x34 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_tornk1 │ │ │ │ │ ldr r0, [r6, #12] │ │ │ │ │ cmp r0, #1 │ │ │ │ │ - bne.n 24c │ │ │ │ │ + bne.n 2a2 │ │ │ │ │ ldr.w r2, [r9, #12] │ │ │ │ │ str r5, [sp, #36] @ 0x24 │ │ │ │ │ - ldr r1, [sp, #60] @ 0x3c │ │ │ │ │ ldr r0, [r4, #24] │ │ │ │ │ - str r0, [sp, #32] │ │ │ │ │ + ldr r1, [sp, #60] @ 0x3c │ │ │ │ │ mul.w r3, r8, r2 │ │ │ │ │ + str r0, [sp, #32] │ │ │ │ │ ldr r0, [r4, #20] │ │ │ │ │ - strd r8, r0, [sp, #24] │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - str r1, [sp, #12] │ │ │ │ │ - strd r1, r0, [sp, #16] │ │ │ │ │ - mov r0, r6 │ │ │ │ │ - ldr r1, [sp, #52] @ 0x34 │ │ │ │ │ - strd r2, r1, [sp, #4] │ │ │ │ │ + strd r8, r2, [sp] │ │ │ │ │ mov r2, r3 │ │ │ │ │ - str.w r8, [sp] │ │ │ │ │ + strd r1, r1, [sp, #12] │ │ │ │ │ + ldr r1, [sp, #52] @ 0x34 │ │ │ │ │ + strd r8, r0, [sp, #24] │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + str r1, [sp, #8] │ │ │ │ │ mov r1, r7 │ │ │ │ │ + str r0, [sp, #20] │ │ │ │ │ + mov r0, r6 │ │ │ │ │ ldr.w sl, [r6, #16] │ │ │ │ │ blx sl │ │ │ │ │ mov r6, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 2fa │ │ │ │ │ + beq.w 354 │ │ │ │ │ ldrd r1, r2, [r9, #8] │ │ │ │ │ mov r0, r8 │ │ │ │ │ mul.w r1, r7, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ ldr r3, [sp, #60] @ 0x3c │ │ │ │ │ + mov sl, r0 │ │ │ │ │ + mov r0, r7 │ │ │ │ │ ldrd r1, r2, [r9, #8] │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ - mov sl, r0 │ │ │ │ │ + mul.w r2, r2, r8 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - mov r0, r7 │ │ │ │ │ ldr r3, [sp, #52] @ 0x34 │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_2d │ │ │ │ │ ldr r3, [r4, #24] │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, sl │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ ldr r3, [r4, #20] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldrd r2, r3, [r4, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_dft_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov r5, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 2fc │ │ │ │ │ - ldr r2, [pc, #304] @ (34c ) │ │ │ │ │ - movs r0, #80 @ 0x50 │ │ │ │ │ - ldr r1, [pc, #304] @ (350 ) │ │ │ │ │ + beq.n 358 │ │ │ │ │ + ldr r2, [pc, #328] @ (3bc ) │ │ │ │ │ + mov.w r0, #80 @ 0x50 │ │ │ │ │ + ldr r1, [pc, #324] @ (3c0 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_dft │ │ │ │ │ mov r4, r0 │ │ │ │ │ add.w r0, r5, #8 │ │ │ │ │ add.w r2, r4, #8 │ │ │ │ │ - add.w r1, r6, #8 │ │ │ │ │ strd r5, r6, [r4, #64] @ 0x40 │ │ │ │ │ + add.w r1, r6, #8 │ │ │ │ │ str r7, [r4, #72] @ 0x48 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_add │ │ │ │ │ ldr r3, [r6, #52] @ 0x34 │ │ │ │ │ mov r0, r4 │ │ │ │ │ str r3, [r4, #52] @ 0x34 │ │ │ │ │ - add sp, #68 @ 0x44 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + b.n 36a │ │ │ │ │ bics.w r3, r0, #2 │ │ │ │ │ - bne.n 344 │ │ │ │ │ + bne.w 3b6 │ │ │ │ │ ldr.w r3, [r9, #8] │ │ │ │ │ cmp r0, #2 │ │ │ │ │ - ldr.w ip, [sp, #52] @ 0x34 │ │ │ │ │ - ldr r1, [sp, #56] @ 0x38 │ │ │ │ │ + ldrd ip, r1, [sp, #52] @ 0x34 │ │ │ │ │ mul.w r2, r3, r8 │ │ │ │ │ str r2, [sp, #40] @ 0x28 │ │ │ │ │ - beq.n 2f6 │ │ │ │ │ - mul.w fp, r3, r8 │ │ │ │ │ + beq.n 350 │ │ │ │ │ ldr r0, [r4, #12] │ │ │ │ │ + mul.w fp, r3, r8 │ │ │ │ │ mov sl, r1 │ │ │ │ │ str r0, [sp, #44] @ 0x2c │ │ │ │ │ str r5, [sp, #36] @ 0x24 │ │ │ │ │ ldr r0, [r4, #16] │ │ │ │ │ - str r0, [sp, #32] │ │ │ │ │ - ldr r0, [sp, #44] @ 0x2c │ │ │ │ │ + strd r8, r3, [sp] │ │ │ │ │ strd ip, r1, [sp, #8] │ │ │ │ │ mov r1, r7 │ │ │ │ │ - strd r8, r0, [sp, #24] │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - strd r8, r3, [sp] │ │ │ │ │ - strd sl, r0, [sp, #16] │ │ │ │ │ + str.w sl, [sp, #16] │ │ │ │ │ + str.w r8, [sp, #24] │ │ │ │ │ + str r0, [sp, #32] │ │ │ │ │ + ldr r0, [sp, #44] @ 0x2c │ │ │ │ │ + str r0, [sp, #28] │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + str r0, [sp, #20] │ │ │ │ │ mov r0, r6 │ │ │ │ │ ldr r3, [r6, #16] │ │ │ │ │ mov ip, r3 │ │ │ │ │ mov r3, fp │ │ │ │ │ mov r6, ip │ │ │ │ │ blx r6 │ │ │ │ │ mov r6, r0 │ │ │ │ │ - cbz r0, 2fa │ │ │ │ │ - ldr.w r2, [r9, #12] │ │ │ │ │ + cbz r0, 354 │ │ │ │ │ + ldrd r1, r2, [r9, #8] │ │ │ │ │ mov r0, r8 │ │ │ │ │ - ldr.w r1, [r9, #8] │ │ │ │ │ mul.w r2, r7, r2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ ldr r3, [sp, #60] @ 0x3c │ │ │ │ │ - ldr.w r2, [r9, #12] │ │ │ │ │ mov r8, r0 │ │ │ │ │ mov r1, fp │ │ │ │ │ - strd sl, r3, [sp] │ │ │ │ │ mov r0, r7 │ │ │ │ │ + ldr.w r2, [r9, #12] │ │ │ │ │ + strd sl, r3, [sp] │ │ │ │ │ ldr r3, [sp, #52] @ 0x34 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_2d │ │ │ │ │ ldr r3, [r4, #24] │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r8 │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ ldr r3, [r4, #20] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldrd r2, r3, [r4, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_dft_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov r5, r0 │ │ │ │ │ - cbz r0, 2fc │ │ │ │ │ - ldr r2, [pc, #108] @ (354 ) │ │ │ │ │ - movs r0, #80 @ 0x50 │ │ │ │ │ - ldr r1, [pc, #108] @ (358 ) │ │ │ │ │ + cbz r0, 358 │ │ │ │ │ + ldr r2, [pc, #132] @ (3c4 ) │ │ │ │ │ + mov.w r0, #80 @ 0x50 │ │ │ │ │ + ldr r1, [pc, #132] @ (3c8 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_dft │ │ │ │ │ mov r4, r0 │ │ │ │ │ - b.n 22a │ │ │ │ │ + b.n 284 │ │ │ │ │ cmp r7, ip │ │ │ │ │ - beq.n 310 │ │ │ │ │ - movs r6, #0 │ │ │ │ │ + beq.n 382 │ │ │ │ │ + mov.w r6, #0 │ │ │ │ │ mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #68 @ 0x44 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ mul.w r0, r7, r1 │ │ │ │ │ cmp r0, r3 │ │ │ │ │ - bne.n 2fa │ │ │ │ │ + bne.n 354 │ │ │ │ │ ldr r2, [r4, #12] │ │ │ │ │ ldr r0, [r4, #20] │ │ │ │ │ str r2, [sp, #44] @ 0x2c │ │ │ │ │ cmp r2, r0 │ │ │ │ │ - bne.n 2fa │ │ │ │ │ + bne.n 354 │ │ │ │ │ ldr.w lr, [r9, #12] │ │ │ │ │ mul.w sl, r7, lr │ │ │ │ │ cmp lr, r1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq sl, r3 │ │ │ │ │ - bne.n 2fa │ │ │ │ │ + bne.n 354 │ │ │ │ │ ldr r0, [sp, #60] @ 0x3c │ │ │ │ │ mul.w r2, r3, r8 │ │ │ │ │ cmp r0, r2 │ │ │ │ │ - bne.n 2fa │ │ │ │ │ + bne.n 354 │ │ │ │ │ mov sl, r2 │ │ │ │ │ - mov fp, r1 │ │ │ │ │ ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ - b.n 270 │ │ │ │ │ + mov fp, r1 │ │ │ │ │ + b.n 2c6 │ │ │ │ │ movs r3, #0 │ │ │ │ │ str r3, [r3, #64] @ 0x40 │ │ │ │ │ udf #255 @ 0xff │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000128 │ │ │ │ │ + .word 0x0000013e │ │ │ │ │ R_ARM_REL32 apply_dit │ │ │ │ │ - .word 0x0000012a │ │ │ │ │ + .word 0x00000140 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000066 │ │ │ │ │ + .word 0x0000007c │ │ │ │ │ R_ARM_REL32 apply_dif │ │ │ │ │ - .word 0x00000068 │ │ │ │ │ + .word 0x0000007e │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ │ │ │ │ │ -0000035c : │ │ │ │ │ +000003cc : │ │ │ │ │ fftw_mksolver_ct(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ - mov r6, r1 │ │ │ │ │ - ldr r1, [pc, #20] @ (378 ) │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ mov r4, r3 │ │ │ │ │ mov r5, r2 │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ + mov r6, r1 │ │ │ │ │ + ldr r1, [pc, #24] @ (3f4 ) │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ strd r6, r5, [r0, #8] │ │ │ │ │ - str r4, [r0, #16] │ │ │ │ │ - str r3, [r0, #20] │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ - .word 0x0000000e │ │ │ │ │ + strd r4, r3, [r0, #16] │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ + .word 0x00000014 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ │ │ │ │ │ │ │ -0000037c : │ │ │ │ │ +000003f8 : │ │ │ │ │ fftw_mkplan_dftw(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan │ │ │ │ │ str r4, [r0, #56] @ 0x38 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ + nop │ │ │ ├── dftw-direct.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 3308 (bytes into file) │ │ │ │ │ + Start of section headers: 3596 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0xcec: │ │ │ │ │ +There are 13 section headers, starting at offset 0xe0c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0006f4 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000b5c 000100 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000728 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000728 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000728 00003f 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro.local PROGBITS 00000000 000767 000010 00 WA 0 0 4 │ │ │ │ │ - [ 7] .rel.data.rel.ro.local REL 00000000 000c5c 000018 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 000777 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000777 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 0007ac 000240 10 11 20 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 0009ec 00016d 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000c74 000076 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000814 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000c7c 000100 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000848 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000848 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000848 00003f 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro.local PROGBITS 00000000 000887 000010 00 WA 0 0 4 │ │ │ │ │ + [ 7] .rel.data.rel.ro.local REL 00000000 000d7c 000018 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 000897 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000897 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 0008cc 000240 10 11 20 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 000b0c 00016d 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000d94 000076 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,39 +1,39 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 36 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 80 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ + 1: 00000001 104 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000051 142 FUNC LOCAL DEFAULT 1 apply_extra_iter │ │ │ │ │ - 4: 000000e1 2 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 3: 00000069 188 FUNC LOCAL DEFAULT 1 apply_extra_iter │ │ │ │ │ + 4: 00000125 2 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 6: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ 7: 00000024 0 NOTYPE LOCAL DEFAULT 5 .LC1 │ │ │ │ │ - 8: 000000e5 108 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ - 9: 00000148 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 10: 00000150 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 11: 00000151 50 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 12: 00000185 700 FUNC LOCAL DEFAULT 1 mkcldw │ │ │ │ │ - 13: 0000042c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 14: 00000441 476 FUNC LOCAL DEFAULT 1 apply_buf │ │ │ │ │ - 15: 00000440 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 16: 000006e4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 00000129 132 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 9: 000001a4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 10: 000001ac 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 11: 000001ad 52 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 12: 000001e1 768 FUNC LOCAL DEFAULT 1 mkcldw │ │ │ │ │ + 13: 000004cc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 14: 000004e1 544 FUNC LOCAL DEFAULT 1 apply_buf │ │ │ │ │ + 15: 000004e0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 16: 00000804 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 17: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro.local │ │ │ │ │ 18: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 19: 00000000 16 OBJECT LOCAL DEFAULT 6 padt.0 │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_twiddle_length │ │ │ │ │ 21: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_twiddle_awake │ │ │ │ │ 22: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ct_uglyp │ │ │ │ │ 23: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_dftw │ │ │ │ │ 24: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_zero │ │ │ │ │ 25: 00000000 0 NOTYPE GLOBAL DEFAULT UND __aeabi_idiv │ │ │ │ │ 26: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_madd2 │ │ │ │ │ 27: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_cpy2d_pair_ci │ │ │ │ │ 28: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_cpy2d_pair_co │ │ │ │ │ 29: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ifree │ │ │ │ │ 30: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_malloc_plain │ │ │ │ │ - 31: 0000061d 216 FUNC GLOBAL DEFAULT 1 fftw_regsolver_ct_directw │ │ │ │ │ + 31: 00000701 276 FUNC GLOBAL DEFAULT 1 fftw_regsolver_ct_directw │ │ │ │ │ 32: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver_ct │ │ │ │ │ 33: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 34: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 35: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver_ct_hook │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,41 +1,41 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xb5c contains 32 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xc7c contains 32 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000104 0000140a R_ARM_THM_CALL 00000000 fftw_twiddle_length │ │ │ │ │ -0000012a 0000140a R_ARM_THM_CALL 00000000 fftw_twiddle_length │ │ │ │ │ -00000148 00000603 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -0000014c 00000703 R_ARM_REL32 00000024 .LC1 │ │ │ │ │ -0000017a 0000150a R_ARM_THM_CALL 00000000 fftw_twiddle_awake │ │ │ │ │ -0000032e 0000160a R_ARM_THM_CALL 00000000 fftw_ct_uglyp │ │ │ │ │ -00000360 0000170a R_ARM_THM_CALL 00000000 fftw_mkplan_dftw │ │ │ │ │ -000003b0 0000180a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ -000003ba 0000190a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -000003c6 00001a0a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ -0000041c 0000170a R_ARM_THM_CALL 00000000 fftw_mkplan_dftw │ │ │ │ │ -0000042c 00000303 R_ARM_REL32 00000051 apply_extra_iter │ │ │ │ │ -00000430 00001103 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -00000434 00000e03 R_ARM_REL32 00000441 apply_buf │ │ │ │ │ -00000438 00001103 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -0000043c 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ -000004e6 00001b0a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_ci │ │ │ │ │ -0000052c 00001c0a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_co │ │ │ │ │ -0000057c 00001b0a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_ci │ │ │ │ │ -000005bc 00001c0a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_co │ │ │ │ │ -000005f6 00001d0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -00000608 00001e0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -00000640 0000200a R_ARM_THM_CALL 00000000 fftw_mksolver_ct │ │ │ │ │ -00000652 0000210a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -00000680 0000210a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -0000069a 0000200a R_ARM_THM_CALL 00000000 fftw_mksolver_ct │ │ │ │ │ -000006ae 0000210a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -000006e4 00000c03 R_ARM_REL32 00000185 mkcldw │ │ │ │ │ -000006e8 00002219 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -000006ec 0000231a R_ARM_GOT_BREL 00000000 fftw_mksolver_ct_hook │ │ │ │ │ -000006f0 00000c03 R_ARM_REL32 00000185 mkcldw │ │ │ │ │ -000006da 0000211e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ +00000154 0000140a R_ARM_THM_CALL 00000000 fftw_twiddle_length │ │ │ │ │ +0000018a 0000140a R_ARM_THM_CALL 00000000 fftw_twiddle_length │ │ │ │ │ +000001a4 00000603 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +000001a8 00000703 R_ARM_REL32 00000024 .LC1 │ │ │ │ │ +000001d8 0000150a R_ARM_THM_CALL 00000000 fftw_twiddle_awake │ │ │ │ │ +000003c4 0000160a R_ARM_THM_CALL 00000000 fftw_ct_uglyp │ │ │ │ │ +000003f8 0000170a R_ARM_THM_CALL 00000000 fftw_mkplan_dftw │ │ │ │ │ +00000450 0000180a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ +0000045a 0000190a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +00000466 00001a0a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ +000004be 0000170a R_ARM_THM_CALL 00000000 fftw_mkplan_dftw │ │ │ │ │ +000004cc 00000303 R_ARM_REL32 00000069 apply_extra_iter │ │ │ │ │ +000004d0 00001103 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +000004d4 00000e03 R_ARM_REL32 000004e1 apply_buf │ │ │ │ │ +000004d8 00001103 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +000004dc 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ +000005a4 00001b0a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_ci │ │ │ │ │ +000005ec 00001c0a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_co │ │ │ │ │ +00000642 00001b0a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_ci │ │ │ │ │ +00000686 00001c0a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_co │ │ │ │ │ +000006e0 00001d0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +000006ec 00001e0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +0000073a 0000200a R_ARM_THM_CALL 00000000 fftw_mksolver_ct │ │ │ │ │ +0000074a 0000210a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +00000778 0000210a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +00000798 0000200a R_ARM_THM_CALL 00000000 fftw_mksolver_ct │ │ │ │ │ +000007a6 0000210a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +00000804 00000c03 R_ARM_REL32 000001e1 mkcldw │ │ │ │ │ +00000808 00002219 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000080c 0000231a R_ARM_GOT_BREL 00000000 fftw_mksolver_ct_hook │ │ │ │ │ +00000810 00000c03 R_ARM_REL32 000001e1 mkcldw │ │ │ │ │ +000007e6 0000211e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0xc5c contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0xd7c contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000b02 R_ARM_ABS32 00000151 awake │ │ │ │ │ -00000008 00000802 R_ARM_ABS32 000000e5 print │ │ │ │ │ -0000000c 00000402 R_ARM_ABS32 000000e1 destroy │ │ │ │ │ +00000004 00000b02 R_ARM_ABS32 000001ad awake │ │ │ │ │ +00000008 00000802 R_ARM_ABS32 00000129 print │ │ │ │ │ +0000000c 00000402 R_ARM_ABS32 00000125 destroy │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,11 +1,8 @@ │ │ │ │ │ n)F0FMDND │ │ │ │ │ -5JzD5Ix yD │ │ │ │ │ -SF:F$ !h │ │ │ │ │ -[F:F$ !h │ │ │ │ │ (dftw-directbuf/%D-%D/%D%v "%s") │ │ │ │ │ (dftw-direct-%D/%D%v "%s") │ │ │ │ │ apply_extra_iter │ │ │ │ │ apply_buf │ │ │ │ │ fftw_twiddle_length │ │ │ │ │ fftw_twiddle_awake │ │ │ │ │ fftw_ct_uglyp │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -3,741 +3,792 @@ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ apply(): │ │ │ │ │ ldr r3, [r0, #84] @ 0x54 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.n 4e │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ + ble.n 66 │ │ │ │ │ + strd r4, r5, [sp, #-24]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ mov r5, r1 │ │ │ │ │ - sub sp, #16 │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ mov r6, r2 │ │ │ │ │ + strd r8, lr, [sp, #16] │ │ │ │ │ + sub sp, #16 │ │ │ │ │ mov.w r8, #0 │ │ │ │ │ - ldr r3, [r4, #92] @ 0x5c │ │ │ │ │ - add.w r8, r8, #1 │ │ │ │ │ ldr r1, [r4, #80] @ 0x50 │ │ │ │ │ + add.w r8, r8, #1 │ │ │ │ │ + ldr r3, [r4, #92] @ 0x5c │ │ │ │ │ ldr r2, [r4, #108] @ 0x6c │ │ │ │ │ - ldr r2, [r2, #0] │ │ │ │ │ mul.w r0, r1, r3 │ │ │ │ │ + ldr r2, [r2, #0] │ │ │ │ │ str r1, [sp, #8] │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ ldr r1, [r4, #96] @ 0x60 │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ strd r3, r1, [sp] │ │ │ │ │ - adds r1, r6, r0 │ │ │ │ │ + add.w r1, r6, r0 │ │ │ │ │ add r0, r5 │ │ │ │ │ - ldr r3, [r4, #72] @ 0x48 │ │ │ │ │ ldr r7, [r4, #64] @ 0x40 │ │ │ │ │ + ldr r3, [r4, #72] @ 0x48 │ │ │ │ │ blx r7 │ │ │ │ │ ldr r3, [r4, #88] @ 0x58 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ add r5, r3 │ │ │ │ │ add r6, r3 │ │ │ │ │ ldr r3, [r4, #84] @ 0x54 │ │ │ │ │ cmp r3, r8 │ │ │ │ │ - bgt.n 16 │ │ │ │ │ + bgt.n 1e │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ add sp, #16 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, pc} │ │ │ │ │ + ldmia.w sp!, {r8, pc} │ │ │ │ │ bx lr │ │ │ │ │ │ │ │ │ │ -00000050 : │ │ │ │ │ +00000068 : │ │ │ │ │ apply_extra_iter(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ ldrd sl, r9, [r0, #84] @ 0x54 │ │ │ │ │ - sub sp, #36 @ 0x24 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ ldrd r3, r5, [r0, #92] @ 0x5c │ │ │ │ │ - cmp.w sl, #0 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + sub sp, #36 @ 0x24 │ │ │ │ │ ldr r0, [r0, #80] @ 0x50 │ │ │ │ │ - ble.n d8 │ │ │ │ │ + cmp.w sl, #0 │ │ │ │ │ + ble.n 10c │ │ │ │ │ add.w fp, r5, #4294967295 @ 0xffffffff │ │ │ │ │ mul.w r8, r0, r3 │ │ │ │ │ mov r6, r1 │ │ │ │ │ mov.w r9, r9, lsl #3 │ │ │ │ │ - adds r1, r5, #1 │ │ │ │ │ + add.w r1, r5, #1 │ │ │ │ │ strd r3, r0, [sp, #24] │ │ │ │ │ mul.w lr, r0, fp │ │ │ │ │ - str r1, [sp, #20] │ │ │ │ │ - sub.w r8, r8, lr │ │ │ │ │ mov.w r7, lr, lsl #3 │ │ │ │ │ + sub.w r8, r8, lr │ │ │ │ │ mov.w r8, r8, lsl #3 │ │ │ │ │ add r6, r7 │ │ │ │ │ - adds r5, r2, r7 │ │ │ │ │ - movs r7, #0 │ │ │ │ │ - str r7, [sp, #16] │ │ │ │ │ + add.w r5, r2, r7 │ │ │ │ │ + mov.w r7, #0 │ │ │ │ │ + strd r7, r1, [sp, #16] │ │ │ │ │ ldr r3, [r4, #108] @ 0x6c │ │ │ │ │ add.w r1, r5, r8 │ │ │ │ │ add.w r0, r6, r8 │ │ │ │ │ ldr r2, [r3, #0] │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ strd fp, r3, [sp, #4] │ │ │ │ │ ldr r3, [sp, #24] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - ldr r3, [r4, #72] @ 0x48 │ │ │ │ │ ldr r7, [r4, #64] @ 0x40 │ │ │ │ │ + ldr r3, [r4, #72] @ 0x48 │ │ │ │ │ blx r7 │ │ │ │ │ ldr r3, [r4, #108] @ 0x6c │ │ │ │ │ mov r1, r5 │ │ │ │ │ mov r0, r6 │ │ │ │ │ add r5, r9 │ │ │ │ │ add r6, r9 │ │ │ │ │ ldr r2, [r3, #0] │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + str.w fp, [sp] │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ - strd fp, r3, [sp] │ │ │ │ │ - ldr r3, [r4, #72] @ 0x48 │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ ldr r7, [r4, #64] @ 0x40 │ │ │ │ │ + ldr r3, [r4, #72] @ 0x48 │ │ │ │ │ blx r7 │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #16] │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ cmp sl, r3 │ │ │ │ │ - bne.n 96 │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ + bne.n c4 │ │ │ │ │ add sp, #36 @ 0x24 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -000000e0 : │ │ │ │ │ +00000124 : │ │ │ │ │ destroy(): │ │ │ │ │ bx lr │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000000e4 : │ │ │ │ │ +00000128 : │ │ │ │ │ print(): │ │ │ │ │ ldr r3, [r0, #112] @ 0x70 │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ + str.w r4, [sp, #-28]! │ │ │ │ │ + mov r4, r0 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r1 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ ldr.w r8, [r1] │ │ │ │ │ - ldr r7, [r3, #24] │ │ │ │ │ + strd r9, lr, [sp, #20] │ │ │ │ │ sub sp, #20 │ │ │ │ │ - ldr r3, [r3, #28] │ │ │ │ │ - mov r4, r0 │ │ │ │ │ + ldrd r7, r3, [r3, #24] │ │ │ │ │ ldr r6, [r0, #68] @ 0x44 │ │ │ │ │ ldr r1, [r7, #8] │ │ │ │ │ - cbz r3, 128 │ │ │ │ │ + cbz r3, 188 │ │ │ │ │ mov r0, r6 │ │ │ │ │ add.w r9, r6, #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_twiddle_length │ │ │ │ │ ldr r3, [r7, #4] │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ bic.w r2, r9, #3 │ │ │ │ │ - ldr r1, [pc, #52] @ (148 ) │ │ │ │ │ - adds r2, #2 │ │ │ │ │ + add.w r2, r2, #2 │ │ │ │ │ + ldr r1, [pc, #64] @ (1a4 ) │ │ │ │ │ + str r3, [sp, #8] │ │ │ │ │ ldr r3, [r4, #84] @ 0x54 │ │ │ │ │ - strd r0, r3, [sp] │ │ │ │ │ add r1, pc │ │ │ │ │ + strd r0, r3, [sp] │ │ │ │ │ mov r3, r6 │ │ │ │ │ mov r0, r5 │ │ │ │ │ blx r8 │ │ │ │ │ add sp, #20 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_twiddle_length │ │ │ │ │ ldr r2, [r7, #4] │ │ │ │ │ - str r2, [sp, #4] │ │ │ │ │ mov r3, r0 │ │ │ │ │ - ldr r1, [pc, #20] @ (14c ) │ │ │ │ │ mov r0, r5 │ │ │ │ │ + ldr r1, [pc, #16] @ (1a8 ) │ │ │ │ │ + str r2, [sp, #4] │ │ │ │ │ ldr r2, [r4, #84] @ 0x54 │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ add r1, pc │ │ │ │ │ + str r2, [sp, #0] │ │ │ │ │ mov r2, r6 │ │ │ │ │ blx r8 │ │ │ │ │ - add sp, #20 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} │ │ │ │ │ - .word 0x0000002a │ │ │ │ │ + b.n 174 │ │ │ │ │ + .word 0x00000038 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ - .word 0x0000000c │ │ │ │ │ + .word 0x0000000a │ │ │ │ │ R_ARM_REL32 .LC1 │ │ │ │ │ │ │ │ │ │ -00000150 : │ │ │ │ │ +000001ac : │ │ │ │ │ awake(): │ │ │ │ │ mov ip, r0 │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r0, r1 │ │ │ │ │ + ldr.w r3, [ip, #68] @ 0x44 │ │ │ │ │ sub sp, #8 │ │ │ │ │ ldr.w r2, [ip, #112] @ 0x70 │ │ │ │ │ ldr.w r4, [ip, #76] @ 0x4c │ │ │ │ │ - ldr.w r3, [ip, #68] @ 0x44 │ │ │ │ │ - ldr r2, [r2, #24] │ │ │ │ │ ldr.w r1, [ip, #100] @ 0x64 │ │ │ │ │ - ldr r2, [r2, #8] │ │ │ │ │ + ldr r2, [r2, #24] │ │ │ │ │ add r1, r4 │ │ │ │ │ + ldr r2, [r2, #8] │ │ │ │ │ strd r3, r1, [sp] │ │ │ │ │ mul.w r3, r4, r3 │ │ │ │ │ add.w r1, ip, #108 @ 0x6c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_twiddle_awake │ │ │ │ │ add sp, #8 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - nop │ │ │ │ │ │ │ │ │ │ -00000184 : │ │ │ │ │ +000001e0 : │ │ │ │ │ mkcldw(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + mov r4, r0 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r1 │ │ │ │ │ - ldr r7, [r0, #24] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #36 @ 0x24 │ │ │ │ │ - ldr.w r8, [r0, #28] │ │ │ │ │ - mov r4, r0 │ │ │ │ │ + ldrd r7, r8, [r0, #24] │ │ │ │ │ str r2, [sp, #24] │ │ │ │ │ - ldrd r2, r1, [sp, #92] @ 0x5c │ │ │ │ │ ldr.w r9, [sp, #80] @ 0x50 │ │ │ │ │ + ldr r2, [sp, #92] @ 0x5c │ │ │ │ │ + ldr r1, [sp, #96] @ 0x60 │ │ │ │ │ add.w sl, r2, r1 │ │ │ │ │ ldr r2, [r7, #0] │ │ │ │ │ cmp.w r8, #0 │ │ │ │ │ - beq.n 1b6 │ │ │ │ │ + beq.n 236 │ │ │ │ │ cmp r5, r2 │ │ │ │ │ - beq.n 294 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + beq.w 31e │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #36 @ 0x24 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ cmp r5, r2 │ │ │ │ │ - bne.n 1ae │ │ │ │ │ - ldrd r2, r1, [sp, #84] @ 0x54 │ │ │ │ │ + bne.n 21a │ │ │ │ │ ldr r6, [sp, #24] │ │ │ │ │ + ldrd r2, r1, [sp, #84] @ 0x54 │ │ │ │ │ cmp r6, r3 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r2, r1 │ │ │ │ │ - bne.n 1ae │ │ │ │ │ - ldr r2, [sp, #108] @ 0x6c │ │ │ │ │ - mov r0, r7 │ │ │ │ │ + bne.n 21a │ │ │ │ │ ldr r3, [r7, #12] │ │ │ │ │ + mov r0, r7 │ │ │ │ │ + str.w sl, [sp, #12] │ │ │ │ │ + ldr r2, [sp, #108] @ 0x6c │ │ │ │ │ + ldr r1, [sp, #100] @ 0x64 │ │ │ │ │ str r2, [sp, #20] │ │ │ │ │ ldr r2, [sp, #76] @ 0x4c │ │ │ │ │ - strd sl, r2, [sp, #12] │ │ │ │ │ + str r2, [sp, #16] │ │ │ │ │ ldr r2, [sp, #92] @ 0x5c │ │ │ │ │ str r2, [sp, #8] │ │ │ │ │ ldr r2, [sp, #72] @ 0x48 │ │ │ │ │ str r2, [sp, #4] │ │ │ │ │ ldr r2, [sp, #84] @ 0x54 │ │ │ │ │ str r2, [sp, #0] │ │ │ │ │ - ldrd r1, r2, [sp, #100] @ 0x64 │ │ │ │ │ ldr.w fp, [r3] │ │ │ │ │ mov r3, r6 │ │ │ │ │ + ldr r2, [sp, #104] @ 0x68 │ │ │ │ │ blx fp │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.w 3fa │ │ │ │ │ - ldr r3, [sp, #92] @ 0x5c │ │ │ │ │ + bne.w 498 │ │ │ │ │ ldr r2, [sp, #72] @ 0x48 │ │ │ │ │ + ldr r3, [sp, #92] @ 0x5c │ │ │ │ │ cmp r3, #0 │ │ │ │ │ it eq │ │ │ │ │ cmpeq sl, r2 │ │ │ │ │ - bne.n 1ae │ │ │ │ │ - ldr r3, [sp, #96] @ 0x60 │ │ │ │ │ + bne.n 21a │ │ │ │ │ + ldrd r3, r1, [sp, #96] @ 0x60 │ │ │ │ │ mov r0, r7 │ │ │ │ │ ldr r2, [sp, #108] @ 0x6c │ │ │ │ │ add.w fp, r3, #4294967295 @ 0xffffffff │ │ │ │ │ ldr r3, [r7, #12] │ │ │ │ │ + strd r8, fp, [sp, #8] │ │ │ │ │ str r2, [sp, #20] │ │ │ │ │ ldr r2, [sp, #76] @ 0x4c │ │ │ │ │ - strd fp, r2, [sp, #12] │ │ │ │ │ + str r2, [sp, #16] │ │ │ │ │ ldr r2, [sp, #72] @ 0x48 │ │ │ │ │ str r2, [sp, #4] │ │ │ │ │ ldr r2, [sp, #84] @ 0x54 │ │ │ │ │ str r2, [sp, #0] │ │ │ │ │ - str.w r8, [sp, #8] │ │ │ │ │ - ldrd r1, r2, [sp, #100] @ 0x64 │ │ │ │ │ ldr.w r8, [r3] │ │ │ │ │ mov r3, r6 │ │ │ │ │ + ldr r2, [sp, #104] @ 0x68 │ │ │ │ │ blx r8 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 1ae │ │ │ │ │ - ldr r2, [sp, #108] @ 0x6c │ │ │ │ │ - mov r0, r7 │ │ │ │ │ + beq.n 21a │ │ │ │ │ ldr r3, [r7, #12] │ │ │ │ │ + mov r0, r7 │ │ │ │ │ + str.w fp, [sp, #8] │ │ │ │ │ + ldr r2, [sp, #108] @ 0x6c │ │ │ │ │ + ldr r1, [sp, #100] @ 0x64 │ │ │ │ │ str r2, [sp, #20] │ │ │ │ │ ldr r2, [sp, #76] @ 0x4c │ │ │ │ │ str r2, [sp, #16] │ │ │ │ │ ldr r2, [sp, #96] @ 0x60 │ │ │ │ │ - adds r2, #1 │ │ │ │ │ - strd fp, r2, [sp, #8] │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ + str r2, [sp, #12] │ │ │ │ │ ldr r2, [sp, #72] @ 0x48 │ │ │ │ │ str r2, [sp, #4] │ │ │ │ │ ldr r2, [sp, #84] @ 0x54 │ │ │ │ │ str r2, [sp, #0] │ │ │ │ │ - ldrd r1, r2, [sp, #100] @ 0x64 │ │ │ │ │ ldr.w r8, [r3] │ │ │ │ │ mov r3, r6 │ │ │ │ │ + ldr r2, [sp, #104] @ 0x68 │ │ │ │ │ blx r8 │ │ │ │ │ mov.w r8, #1 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 1ae │ │ │ │ │ + beq.n 21a │ │ │ │ │ ldr r3, [sp, #84] @ 0x54 │ │ │ │ │ - ldr r2, [sp, #108] @ 0x6c │ │ │ │ │ ldr r0, [sp, #100] @ 0x64 │ │ │ │ │ - lsls r1, r3, #3 │ │ │ │ │ + ldr r2, [sp, #108] @ 0x6c │ │ │ │ │ + mov.w r1, r3, lsl #3 │ │ │ │ │ ldr r3, [r7, #12] │ │ │ │ │ + str.w fp, [sp, #12] │ │ │ │ │ str r2, [sp, #20] │ │ │ │ │ ldr r2, [sp, #76] @ 0x4c │ │ │ │ │ - strd fp, r2, [sp, #12] │ │ │ │ │ + str r2, [sp, #16] │ │ │ │ │ ldr r2, [sp, #92] @ 0x5c │ │ │ │ │ str r2, [sp, #8] │ │ │ │ │ ldr r2, [sp, #72] @ 0x48 │ │ │ │ │ str r2, [sp, #4] │ │ │ │ │ ldr r2, [sp, #84] @ 0x54 │ │ │ │ │ str r2, [sp, #0] │ │ │ │ │ ldr r2, [sp, #104] @ 0x68 │ │ │ │ │ ldr.w fp, [r3] │ │ │ │ │ - add r2, r1 │ │ │ │ │ ldr r3, [sp, #24] │ │ │ │ │ + add r2, r1 │ │ │ │ │ add r1, r0 │ │ │ │ │ mov r0, r7 │ │ │ │ │ blx fp │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 1ae │ │ │ │ │ - b.n 30c │ │ │ │ │ - ldrd r2, r1, [sp, #84] @ 0x54 │ │ │ │ │ + beq.w 21a │ │ │ │ │ + b.n 3a2 │ │ │ │ │ ldr r0, [sp, #24] │ │ │ │ │ + ldrd r2, r1, [sp, #84] @ 0x54 │ │ │ │ │ cmp r0, r3 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r2, r1 │ │ │ │ │ - bne.n 1ae │ │ │ │ │ - adds r2, r5, #3 │ │ │ │ │ + bne.w 21a │ │ │ │ │ ldr r1, [sp, #108] @ 0x6c │ │ │ │ │ + mov.w fp, #2 │ │ │ │ │ + add.w r2, r5, #3 │ │ │ │ │ bic.w r2, r2, #3 │ │ │ │ │ + mov.w r8, #0 │ │ │ │ │ ldr r0, [r7, #12] │ │ │ │ │ - adds r2, #2 │ │ │ │ │ - str r1, [sp, #20] │ │ │ │ │ + add.w r2, r2, #2 │ │ │ │ │ + mov.w r3, r2, lsl #1 │ │ │ │ │ + str.w r8, [sp] │ │ │ │ │ + strd fp, r1, [sp, #16] │ │ │ │ │ ldr r1, [sp, #92] @ 0x5c │ │ │ │ │ - mov.w r8, #0 │ │ │ │ │ - lsls r3, r2, #1 │ │ │ │ │ - str r1, [sp, #8] │ │ │ │ │ + str r3, [sp, #28] │ │ │ │ │ add r2, r1 │ │ │ │ │ str r2, [sp, #12] │ │ │ │ │ + mov r2, r1 │ │ │ │ │ + mov r1, r8 │ │ │ │ │ + str r2, [sp, #8] │ │ │ │ │ ldr r2, [sp, #72] @ 0x48 │ │ │ │ │ - mov.w fp, #2 │ │ │ │ │ str r2, [sp, #4] │ │ │ │ │ - mov r1, r8 │ │ │ │ │ - str.w fp, [sp, #16] │ │ │ │ │ - str.w r8, [sp] │ │ │ │ │ - str r3, [sp, #28] │ │ │ │ │ ldr r2, [r0, #0] │ │ │ │ │ mov r0, r7 │ │ │ │ │ mov r6, r2 │ │ │ │ │ - movs r2, #8 │ │ │ │ │ + mov.w r2, #8 │ │ │ │ │ blx r6 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 1ae │ │ │ │ │ + beq.w 21a │ │ │ │ │ ldr r3, [sp, #108] @ 0x6c │ │ │ │ │ mov r1, r8 │ │ │ │ │ - ldr r2, [r7, #12] │ │ │ │ │ mov r0, r7 │ │ │ │ │ - strd fp, r3, [sp, #16] │ │ │ │ │ + ldr r2, [r7, #12] │ │ │ │ │ + str.w r8, [sp] │ │ │ │ │ + strd sl, fp, [sp, #12] │ │ │ │ │ + str r3, [sp, #20] │ │ │ │ │ ldr r3, [sp, #92] @ 0x5c │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ - strd r8, r3, [sp] │ │ │ │ │ - str.w sl, [sp, #12] │ │ │ │ │ - ldr r3, [sp, #28] │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ ldr.w fp, [r2] │ │ │ │ │ - movs r2, #8 │ │ │ │ │ + mov.w r2, #8 │ │ │ │ │ + ldr r3, [sp, #28] │ │ │ │ │ blx fp │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 1ae │ │ │ │ │ + beq.w 21a │ │ │ │ │ ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ mul.w fp, r3, r5 │ │ │ │ │ ldr r3, [sp, #108] @ 0x6c │ │ │ │ │ ldr.w r3, [r3, #164] @ 0xa4 │ │ │ │ │ lsls r2, r3, #15 │ │ │ │ │ - bpl.n 338 │ │ │ │ │ + bpl.n 3ce │ │ │ │ │ ldr r3, [r4, #28] │ │ │ │ │ mov r2, fp │ │ │ │ │ mov r1, r9 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ mov r3, r5 │ │ │ │ │ ite eq │ │ │ │ │ moveq r0, #16 │ │ │ │ │ movne.w r0, #512 @ 0x200 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ct_uglyp │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.w 1ae │ │ │ │ │ + bne.w 21a │ │ │ │ │ cmp.w fp, #262144 @ 0x40000 │ │ │ │ │ - ble.n 34a │ │ │ │ │ + ble.n 3e0 │ │ │ │ │ ldr r3, [sp, #108] @ 0x6c │ │ │ │ │ ldr.w r3, [r3, #164] @ 0xa4 │ │ │ │ │ lsls r3, r3, #20 │ │ │ │ │ - bmi.w 1ae │ │ │ │ │ + bmi.w 21a │ │ │ │ │ ldr r3, [r4, #28] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bne.n 412 │ │ │ │ │ + bne.n 4b2 │ │ │ │ │ cmp.w r8, #0 │ │ │ │ │ - beq.n 424 │ │ │ │ │ - ldr r2, [pc, #212] @ (42c ) │ │ │ │ │ + beq.n 4c6 │ │ │ │ │ + ldr r2, [pc, #220] @ (4cc ) │ │ │ │ │ add r2, pc │ │ │ │ │ - ldr r1, [pc, #212] @ (430 ) │ │ │ │ │ - movs r0, #120 @ 0x78 │ │ │ │ │ + ldr r1, [pc, #220] @ (4d0 ) │ │ │ │ │ + mov.w r0, #120 @ 0x78 │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_dftw │ │ │ │ │ mov fp, r0 │ │ │ │ │ ldr r3, [r4, #32] │ │ │ │ │ - movs r6, #0 │ │ │ │ │ - str.w r3, [fp, #64] @ 0x40 │ │ │ │ │ + mov.w r6, #0 │ │ │ │ │ + strd sl, r8, [fp, #96] @ 0x60 │ │ │ │ │ + add.w sl, fp, #8 │ │ │ │ │ + add.w r8, r7, #16 │ │ │ │ │ + mov r0, sl │ │ │ │ │ + strd r3, r5, [fp, #64] @ 0x40 │ │ │ │ │ ldr r3, [sp, #24] │ │ │ │ │ + str.w r9, [fp, #84] @ 0x54 │ │ │ │ │ str.w r3, [fp, #72] @ 0x48 │ │ │ │ │ ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ + strd r6, r4, [fp, #108] @ 0x6c │ │ │ │ │ str.w r3, [fp, #76] @ 0x4c │ │ │ │ │ ldr r3, [sp, #76] @ 0x4c │ │ │ │ │ - strd r3, r9, [fp, #80] @ 0x50 │ │ │ │ │ + str.w r3, [fp, #80] @ 0x50 │ │ │ │ │ ldr r3, [sp, #84] @ 0x54 │ │ │ │ │ str.w r3, [fp, #88] @ 0x58 │ │ │ │ │ ldr r3, [sp, #92] @ 0x5c │ │ │ │ │ - strd r3, sl, [fp, #92] @ 0x5c │ │ │ │ │ - adds r3, r5, #3 │ │ │ │ │ + str.w r3, [fp, #92] @ 0x5c │ │ │ │ │ + add.w r3, r5, #3 │ │ │ │ │ bic.w r3, r3, #3 │ │ │ │ │ - add.w sl, fp, #8 │ │ │ │ │ - adds r3, #2 │ │ │ │ │ - mov r0, sl │ │ │ │ │ - str.w r6, [fp, #108] @ 0x6c │ │ │ │ │ - lsls r3, r3, #1 │ │ │ │ │ - str.w r5, [fp, #68] @ 0x44 │ │ │ │ │ - strd r8, r3, [fp, #100] @ 0x64 │ │ │ │ │ - add.w r8, r7, #16 │ │ │ │ │ - str.w r4, [fp, #112] @ 0x70 │ │ │ │ │ + add.w r3, r3, #2 │ │ │ │ │ + mov.w r3, r3, lsl #1 │ │ │ │ │ + str.w r3, [fp, #104] @ 0x68 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_zero │ │ │ │ │ ldr r3, [r7, #12] │ │ │ │ │ ldr r0, [sp, #96] @ 0x60 │ │ │ │ │ ldr r1, [r3, #4] │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ - mov r2, sl │ │ │ │ │ mul.w r0, r9, r0 │ │ │ │ │ + mov r2, sl │ │ │ │ │ mov r1, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_madd2 │ │ │ │ │ ldr r3, [r4, #28] │ │ │ │ │ - cbz r3, 3fe │ │ │ │ │ + cbz r3, 49c │ │ │ │ │ ldr r3, [sp, #96] @ 0x60 │ │ │ │ │ vldr d6, [fp, #32] │ │ │ │ │ mul.w r3, r5, r3 │ │ │ │ │ mul.w r3, r9, r3 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ vmov s15, r3 │ │ │ │ │ vcvt.f64.s32 d7, s15 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vstr d6, [fp, #32] │ │ │ │ │ mov r0, fp │ │ │ │ │ str.w r6, [fp, #52] @ 0x34 │ │ │ │ │ - add sp, #36 @ 0x24 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + b.n 21e │ │ │ │ │ mov fp, sl │ │ │ │ │ - b.n 260 │ │ │ │ │ - subs r6, r5, #5 │ │ │ │ │ + b.n 2e4 │ │ │ │ │ ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ + sub.w r6, r5, #5 │ │ │ │ │ cmp r6, #58 @ 0x3a │ │ │ │ │ ite hi │ │ │ │ │ movhi r6, #0 │ │ │ │ │ movls r6, #1 │ │ │ │ │ cmp r5, r3 │ │ │ │ │ it gt │ │ │ │ │ movgt r6, #0 │ │ │ │ │ - b.n 3ee │ │ │ │ │ - ldr r2, [pc, #32] @ (434 ) │ │ │ │ │ - movs r0, #120 @ 0x78 │ │ │ │ │ - ldr r1, [pc, #32] @ (438 ) │ │ │ │ │ + b.n 490 │ │ │ │ │ + ldr r2, [pc, #32] @ (4d4 ) │ │ │ │ │ + mov.w r0, #120 @ 0x78 │ │ │ │ │ + ldr r1, [pc, #28] @ (4d8 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_dftw │ │ │ │ │ mov fp, r0 │ │ │ │ │ - b.n 366 │ │ │ │ │ - ldr r2, [pc, #20] @ (43c ) │ │ │ │ │ + b.n 3fe │ │ │ │ │ + ldr r2, [pc, #20] @ (4dc ) │ │ │ │ │ add r2, pc │ │ │ │ │ - b.n 35a │ │ │ │ │ - nop │ │ │ │ │ - .word 0x000000d0 │ │ │ │ │ + b.n 3f0 │ │ │ │ │ + .word 0x000000da │ │ │ │ │ R_ARM_REL32 apply_extra_iter │ │ │ │ │ - .word 0x000000ce │ │ │ │ │ + .word 0x000000d6 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ │ │ - .word 0x00000018 │ │ │ │ │ + .word 0x00000016 │ │ │ │ │ R_ARM_REL32 apply_buf │ │ │ │ │ - .word 0x0000001a │ │ │ │ │ + .word 0x00000018 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ │ │ - .word 0x00000012 │ │ │ │ │ + .word 0x00000010 │ │ │ │ │ R_ARM_REL32 apply │ │ │ │ │ │ │ │ │ │ -00000440 : │ │ │ │ │ +000004e0 : │ │ │ │ │ apply_buf(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ mov sl, r0 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #84 @ 0x54 │ │ │ │ │ add r7, sp, #24 │ │ │ │ │ strd r2, r1, [r7, #28] │ │ │ │ │ ldr r2, [r0, #68] @ 0x44 │ │ │ │ │ ldr r1, [r0, #84] @ 0x54 │ │ │ │ │ - adds r3, r2, #3 │ │ │ │ │ + add.w r3, r2, #3 │ │ │ │ │ bic.w r3, r3, #3 │ │ │ │ │ - adds r6, r3, #2 │ │ │ │ │ + add.w r6, r3, #2 │ │ │ │ │ ldrd r3, r0, [r0, #92] @ 0x5c │ │ │ │ │ str r0, [r7, #36] @ 0x24 │ │ │ │ │ mul.w r0, r6, r2 │ │ │ │ │ - lsls r4, r0, #4 │ │ │ │ │ + mov.w r4, r0, lsl #4 │ │ │ │ │ cmp.w r4, #65536 @ 0x10000 │ │ │ │ │ - bcs.w 602 │ │ │ │ │ + bcs.w 6e6 │ │ │ │ │ sub.w sp, sp, r4 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ add.w r9, sp, #24 │ │ │ │ │ - ble.w 5ec │ │ │ │ │ + ble.w 6bc │ │ │ │ │ + add.w r0, r3, r6 │ │ │ │ │ mov r8, r6 │ │ │ │ │ - adds r0, r3, r6 │ │ │ │ │ - strd r3, r1, [r7, #4] │ │ │ │ │ - str r0, [r7, #12] │ │ │ │ │ + strd r4, r3, [r7] │ │ │ │ │ + strd r1, r0, [r7, #8] │ │ │ │ │ add.w r0, r9, #8 │ │ │ │ │ - str r4, [r7, #0] │ │ │ │ │ str r0, [r7, #24] │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ str r0, [r7, #16] │ │ │ │ │ - ldr r3, [r7, #36] @ 0x24 │ │ │ │ │ ldr r1, [r7, #12] │ │ │ │ │ + ldr r3, [r7, #36] @ 0x24 │ │ │ │ │ cmp r3, r1 │ │ │ │ │ - itt le │ │ │ │ │ - ldrle r3, [r7, #4] │ │ │ │ │ - strle r3, [r7, #20] │ │ │ │ │ - ble.n 53e │ │ │ │ │ - mov r5, r8 │ │ │ │ │ - mov r6, r1 │ │ │ │ │ - mov fp, r9 │ │ │ │ │ - ldr.w r8, [sl, #80] @ 0x50 │ │ │ │ │ + itttt gt │ │ │ │ │ + movgt fp, r1 │ │ │ │ │ + movgt r5, r8 │ │ │ │ │ + movgt r6, fp │ │ │ │ │ + movgt fp, r9 │ │ │ │ │ + ble.w 6d8 │ │ │ │ │ sub.w r9, r6, r5 │ │ │ │ │ ldr r3, [r7, #32] │ │ │ │ │ - ldr.w r0, [sl, #104] @ 0x68 │ │ │ │ │ + str r6, [r7, #20] │ │ │ │ │ + ldr.w r8, [sl, #80] @ 0x50 │ │ │ │ │ ldr.w r1, [sl, #72] @ 0x48 │ │ │ │ │ + ldr.w r0, [sl, #104] @ 0x68 │ │ │ │ │ mul.w r4, r9, r8 │ │ │ │ │ - str r6, [r7, #20] │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ add r3, r4 │ │ │ │ │ str r3, [r7, #44] @ 0x2c │ │ │ │ │ ldr r3, [r7, #28] │ │ │ │ │ - adds r3, r4, r3 │ │ │ │ │ + add r3, r4 │ │ │ │ │ str r3, [r7, #40] @ 0x28 │ │ │ │ │ - str r5, [sp, #12] │ │ │ │ │ - movs r3, #2 │ │ │ │ │ - strd r8, r3, [sp, #16] │ │ │ │ │ + mov.w r3, #2 │ │ │ │ │ + strd r5, r8, [sp, #12] │ │ │ │ │ + str r3, [sp, #20] │ │ │ │ │ str r0, [r7, #52] @ 0x34 │ │ │ │ │ str r0, [sp, #8] │ │ │ │ │ str r1, [r7, #48] @ 0x30 │ │ │ │ │ strd r2, r1, [sp] │ │ │ │ │ mov r2, fp │ │ │ │ │ ldr r4, [r7, #24] │ │ │ │ │ ldrd r1, r0, [r7, #40] @ 0x28 │ │ │ │ │ mov r3, r4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_pair_ci │ │ │ │ │ ldr.w r3, [sl, #108] @ 0x6c │ │ │ │ │ - movs r1, #2 │ │ │ │ │ + mov.w r1, #2 │ │ │ │ │ mov r0, fp │ │ │ │ │ ldr r2, [r3, #0] │ │ │ │ │ - strd r6, r1, [sp, #4] │ │ │ │ │ - mov r1, r4 │ │ │ │ │ - str.w r9, [sp] │ │ │ │ │ + strd r9, r6, [sp] │ │ │ │ │ mov r9, r4 │ │ │ │ │ add r6, r5 │ │ │ │ │ - ldr.w r3, [sl, #104] @ 0x68 │ │ │ │ │ + str r1, [sp, #8] │ │ │ │ │ + mov r1, r4 │ │ │ │ │ ldr.w r4, [sl, #64] @ 0x40 │ │ │ │ │ + ldr.w r3, [sl, #104] @ 0x68 │ │ │ │ │ blx r4 │ │ │ │ │ - movs r3, #2 │ │ │ │ │ - strd r5, r3, [sp, #12] │ │ │ │ │ + mov.w r3, #2 │ │ │ │ │ mov r1, r9 │ │ │ │ │ - str.w r8, [sp, #20] │ │ │ │ │ mov r0, fp │ │ │ │ │ + str.w r8, [sp, #20] │ │ │ │ │ + strd r5, r3, [sp, #12] │ │ │ │ │ ldr r3, [r7, #48] @ 0x30 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr r3, [r7, #52] @ 0x34 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr.w r3, [sl, #68] @ 0x44 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldrd r3, r2, [r7, #40] @ 0x28 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_pair_co │ │ │ │ │ ldr r3, [r7, #36] @ 0x24 │ │ │ │ │ ldr.w r2, [sl, #68] @ 0x44 │ │ │ │ │ cmp r3, r6 │ │ │ │ │ - bgt.n 4a6 │ │ │ │ │ + bgt.n 560 │ │ │ │ │ mov r9, fp │ │ │ │ │ mov r8, r5 │ │ │ │ │ ldr r4, [r7, #20] │ │ │ │ │ - ldr.w r5, [sl, #80] @ 0x50 │ │ │ │ │ ldr r6, [r7, #32] │ │ │ │ │ - ldr.w r1, [sl, #104] @ 0x68 │ │ │ │ │ + ldr.w r5, [sl, #80] @ 0x50 │ │ │ │ │ ldr.w r0, [sl, #72] @ 0x48 │ │ │ │ │ + ldr.w r1, [sl, #104] @ 0x68 │ │ │ │ │ mul.w r3, r4, r5 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ add.w fp, r6, r3 │ │ │ │ │ ldr r6, [r7, #28] │ │ │ │ │ - adds r3, r6, r3 │ │ │ │ │ + add r3, r6 │ │ │ │ │ str r3, [r7, #44] @ 0x2c │ │ │ │ │ ldr r3, [r7, #36] @ 0x24 │ │ │ │ │ - subs r6, r3, r4 │ │ │ │ │ - movs r3, #2 │ │ │ │ │ - str r6, [sp, #12] │ │ │ │ │ - strd r5, r3, [sp, #16] │ │ │ │ │ + sub.w r6, r3, r4 │ │ │ │ │ + mov.w r3, #2 │ │ │ │ │ + strd r6, r5, [sp, #12] │ │ │ │ │ + str r3, [sp, #20] │ │ │ │ │ str r1, [r7, #52] @ 0x34 │ │ │ │ │ str r1, [sp, #8] │ │ │ │ │ str r0, [r7, #48] @ 0x30 │ │ │ │ │ strd r2, r0, [sp] │ │ │ │ │ mov r2, r9 │ │ │ │ │ mov r0, fp │ │ │ │ │ ldr r3, [r7, #24] │ │ │ │ │ ldr r1, [r7, #44] @ 0x2c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_pair_ci │ │ │ │ │ ldr.w r3, [sl, #108] @ 0x6c │ │ │ │ │ - movs r0, #2 │ │ │ │ │ + mov.w r0, #2 │ │ │ │ │ ldr r2, [r3, #0] │ │ │ │ │ str r0, [sp, #8] │ │ │ │ │ mov r0, r9 │ │ │ │ │ ldr r3, [r7, #36] @ 0x24 │ │ │ │ │ strd r4, r3, [sp] │ │ │ │ │ - ldr.w r3, [sl, #104] @ 0x68 │ │ │ │ │ ldr r1, [r7, #24] │ │ │ │ │ ldr.w r4, [sl, #64] @ 0x40 │ │ │ │ │ + ldr.w r3, [sl, #104] @ 0x68 │ │ │ │ │ blx r4 │ │ │ │ │ - movs r0, #2 │ │ │ │ │ - strd r6, r0, [sp, #12] │ │ │ │ │ + mov.w r0, #2 │ │ │ │ │ str r5, [sp, #20] │ │ │ │ │ + strd r6, r0, [sp, #12] │ │ │ │ │ ldr r0, [r7, #48] @ 0x30 │ │ │ │ │ str r0, [sp, #8] │ │ │ │ │ mov r0, r9 │ │ │ │ │ ldr r2, [r7, #52] @ 0x34 │ │ │ │ │ str r2, [sp, #4] │ │ │ │ │ mov r2, fp │ │ │ │ │ ldr.w r3, [sl, #68] @ 0x44 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - ldr r3, [r7, #44] @ 0x2c │ │ │ │ │ ldr r1, [r7, #24] │ │ │ │ │ + ldr r3, [r7, #44] @ 0x2c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_pair_co │ │ │ │ │ ldr.w r3, [sl, #88] @ 0x58 │ │ │ │ │ - ldr r6, [r7, #32] │ │ │ │ │ ldr r2, [r7, #16] │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ - adds r1, r6, r3 │ │ │ │ │ + ldr r6, [r7, #32] │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ + add.w r1, r6, r3 │ │ │ │ │ ldr r6, [r7, #28] │ │ │ │ │ - adds r2, #1 │ │ │ │ │ - str r1, [r7, #32] │ │ │ │ │ - adds r3, r6, r3 │ │ │ │ │ - str r3, [r7, #28] │ │ │ │ │ - ldr r3, [r7, #8] │ │ │ │ │ str r2, [r7, #16] │ │ │ │ │ + add r3, r6 │ │ │ │ │ + strd r3, r1, [r7, #28] │ │ │ │ │ + ldr r3, [r7, #8] │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - ble.n 5e4 │ │ │ │ │ + ble.n 6b4 │ │ │ │ │ ldr.w r2, [sl, #68] @ 0x44 │ │ │ │ │ - b.n 492 │ │ │ │ │ + b.n 54c │ │ │ │ │ ldr r4, [r7, #0] │ │ │ │ │ cmp.w r4, #65536 @ 0x10000 │ │ │ │ │ - bcs.n 5f4 │ │ │ │ │ - adds r7, #60 @ 0x3c │ │ │ │ │ + bcs.n 6de │ │ │ │ │ + add.w r7, r7, #60 @ 0x3c │ │ │ │ │ mov sp, r7 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + ldr r3, [r7, #4] │ │ │ │ │ + str r3, [r7, #20] │ │ │ │ │ + b.n 5fe │ │ │ │ │ mov r0, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ - adds r7, #60 @ 0x3c │ │ │ │ │ - mov sp, r7 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + b.n 6bc │ │ │ │ │ mov r0, r4 │ │ │ │ │ strd r3, r1, [r7, #48] @ 0x30 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ ldr r1, [r7, #52] @ 0x34 │ │ │ │ │ mov r9, r0 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - ble.n 5f4 │ │ │ │ │ - ldr.w r2, [sl, #68] @ 0x44 │ │ │ │ │ + ble.n 6de │ │ │ │ │ ldr r3, [r7, #48] @ 0x30 │ │ │ │ │ - b.n 47c │ │ │ │ │ + ldr.w r2, [sl, #68] @ 0x44 │ │ │ │ │ + b.n 532 │ │ │ │ │ │ │ │ │ │ -0000061c : │ │ │ │ │ +00000700 : │ │ │ │ │ fftw_regsolver_ct_directw(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ mov r4, r2 │ │ │ │ │ - ldr.w sl, [pc, #192] @ 6e4 │ │ │ │ │ - sub sp, #12 │ │ │ │ │ - mov.w r9, #0 │ │ │ │ │ - mov r7, r3 │ │ │ │ │ - add sl, pc │ │ │ │ │ - mov r3, sl │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r0 │ │ │ │ │ - str.w r9, [sp] │ │ │ │ │ mov r6, r1 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov.w r9, #0 │ │ │ │ │ + mov.w r0, #36 @ 0x24 │ │ │ │ │ + ldr.w sl, [pc, #232] @ 804 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r7, r3 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + sub sp, #12 │ │ │ │ │ mov r2, r7 │ │ │ │ │ - movs r0, #36 @ 0x24 │ │ │ │ │ + ldr.w r8, [pc, #216] @ 808 │ │ │ │ │ + str.w r9, [sp] │ │ │ │ │ + add sl, pc │ │ │ │ │ ldr r1, [r4, #0] │ │ │ │ │ + mov r3, sl │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver_ct │ │ │ │ │ - ldr.w r8, [pc, #160] @ 6e8 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - str r6, [r0, #32] │ │ │ │ │ strd r4, r9, [r0, #24] │ │ │ │ │ + add r8, pc │ │ │ │ │ + str r6, [r0, #32] │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ - ldr r3, [pc, #148] @ (6ec ) │ │ │ │ │ - add r8, pc │ │ │ │ │ + ldr r3, [pc, #188] @ (80c ) │ │ │ │ │ ldr.w r8, [r8, r3] │ │ │ │ │ ldr.w fp, [r8] │ │ │ │ │ cmp.w fp, #0 │ │ │ │ │ - beq.n 684 │ │ │ │ │ - str.w r9, [sp] │ │ │ │ │ + beq.n 77c │ │ │ │ │ mov r3, sl │ │ │ │ │ mov r2, r7 │ │ │ │ │ - movs r0, #36 @ 0x24 │ │ │ │ │ + str.w r9, [sp] │ │ │ │ │ ldr r1, [r4, #0] │ │ │ │ │ + mov.w r0, #36 @ 0x24 │ │ │ │ │ blx fp │ │ │ │ │ mov r1, r0 │ │ │ │ │ - str r6, [r0, #32] │ │ │ │ │ - strd r4, r9, [r0, #24] │ │ │ │ │ mov r0, r5 │ │ │ │ │ + strd r4, r9, [r1, #24] │ │ │ │ │ + str r6, [r1, #32] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ - ldr.w fp, [pc, #104] @ 6f0 │ │ │ │ │ + ldr.w fp, [pc, #144] @ 810 │ │ │ │ │ mov.w sl, #0 │ │ │ │ │ - str.w sl, [sp] │ │ │ │ │ mov r2, r7 │ │ │ │ │ - add fp, pc │ │ │ │ │ - movs r0, #36 @ 0x24 │ │ │ │ │ + mov.w r0, #36 @ 0x24 │ │ │ │ │ + mov.w r9, #1 │ │ │ │ │ + str.w sl, [sp] │ │ │ │ │ ldr r1, [r4, #0] │ │ │ │ │ + add fp, pc │ │ │ │ │ mov r3, fp │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver_ct │ │ │ │ │ - mov.w r9, #1 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - str r6, [r0, #32] │ │ │ │ │ - str r4, [r0, #24] │ │ │ │ │ - str.w r9, [r0, #28] │ │ │ │ │ mov r0, r5 │ │ │ │ │ + strd r4, r9, [r1, #24] │ │ │ │ │ + str r6, [r1, #32] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ ldr.w r8, [r8] │ │ │ │ │ cmp.w r8, #0 │ │ │ │ │ - beq.n 6de │ │ │ │ │ - str.w sl, [sp] │ │ │ │ │ + beq.n 7ea │ │ │ │ │ mov r3, fp │ │ │ │ │ mov r2, r7 │ │ │ │ │ - movs r0, #36 @ 0x24 │ │ │ │ │ + str.w sl, [sp] │ │ │ │ │ ldr r1, [r4, #0] │ │ │ │ │ + mov.w r0, #36 @ 0x24 │ │ │ │ │ blx r8 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - str r6, [r0, #32] │ │ │ │ │ - strd r4, r9, [r0, #24] │ │ │ │ │ mov r0, r5 │ │ │ │ │ + strd r4, r9, [r1, #24] │ │ │ │ │ + str r6, [r1, #32] │ │ │ │ │ add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solver_register │ │ │ │ │ add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - .word 0x000000b2 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x000000cc │ │ │ │ │ R_ARM_REL32 mkcldw │ │ │ │ │ - .word 0x0000008c │ │ │ │ │ + .word 0x000000c0 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_mksolver_ct_hook │ │ │ │ │ - .word 0x0000005a │ │ │ │ │ + .word 0x00000078 │ │ │ │ │ R_ARM_REL32 mkcldw │ │ │ ├── dftw-directsq.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1616 (bytes into file) │ │ │ │ │ + Start of section headers: 1720 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x650: │ │ │ │ │ +There are 13 section headers, starting at offset 0x6b8: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0001f4 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000548 000078 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000228 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000228 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000228 00001d 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro.local PROGBITS 00000000 000245 000010 00 WA 0 0 4 │ │ │ │ │ - [ 7] .rel.data.rel.ro.local REL 00000000 0005c0 000018 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 000255 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000255 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 000288 0001c0 10 11 17 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 000448 0000fe 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 0005d8 000076 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00025c 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0005b0 000078 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000290 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000290 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000290 00001d 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro.local PROGBITS 00000000 0002ad 000010 00 WA 0 0 4 │ │ │ │ │ + [ 7] .rel.data.rel.ro.local REL 00000000 000628 000018 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 0002bd 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0002bd 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 0002f0 0001c0 10 11 17 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 0004b0 0000fe 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000640 000076 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,31 +1,31 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 28 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 52 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ + 1: 00000001 54 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000035 2 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 4: 00000039 212 FUNC LOCAL DEFAULT 1 mkcldw │ │ │ │ │ - 5: 00000104 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000039 2 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 4: 0000003d 248 FUNC LOCAL DEFAULT 1 mkcldw │ │ │ │ │ + 5: 0000012c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ - 8: 0000010c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 9: 0000010d 60 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ - 10: 00000144 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 11: 00000148 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 12: 00000149 46 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 13: 000001e8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 00000134 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 9: 00000135 76 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 10: 0000017c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 11: 00000180 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 12: 00000181 48 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 13: 00000250 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 14: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro.local │ │ │ │ │ 15: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 16: 00000000 16 OBJECT LOCAL DEFAULT 6 padt.0 │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_dftw │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_zero │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND __aeabi_idiv │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_madd2 │ │ │ │ │ 21: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_twiddle_length │ │ │ │ │ 22: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_twiddle_awake │ │ │ │ │ - 23: 00000179 124 FUNC GLOBAL DEFAULT 1 fftw_regsolver_ct_directwsq │ │ │ │ │ + 23: 000001b1 172 FUNC GLOBAL DEFAULT 1 fftw_regsolver_ct_directwsq │ │ │ │ │ 24: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver_ct │ │ │ │ │ 25: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 26: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 27: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver_ct_hook │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x548 contains 15 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x5b0 contains 15 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000000b2 0000110a R_ARM_THM_CALL 00000000 fftw_mkplan_dftw │ │ │ │ │ -000000e6 0000120a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ -000000f2 0000130a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -000000fa 0000140a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ -00000104 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ -00000108 00000e03 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -00000124 0000150a R_ARM_THM_CALL 00000000 fftw_twiddle_length │ │ │ │ │ -00000144 00000703 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -0000016c 0000160a R_ARM_THM_CALL 00000000 fftw_twiddle_awake │ │ │ │ │ -0000019c 0000180a R_ARM_THM_CALL 00000000 fftw_mksolver_ct │ │ │ │ │ -000001ae 0000190a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -000001e8 00000403 R_ARM_REL32 00000039 mkcldw │ │ │ │ │ -000001ec 00001a19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -000001f0 00001b1a R_ARM_GOT_BREL 00000000 fftw_mksolver_ct_hook │ │ │ │ │ -000001de 0000191e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ +000000d8 0000110a R_ARM_THM_CALL 00000000 fftw_mkplan_dftw │ │ │ │ │ +00000110 0000120a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ +0000011c 0000130a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +00000124 0000140a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ +0000012c 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ +00000130 00000e03 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +00000154 0000150a R_ARM_THM_CALL 00000000 fftw_twiddle_length │ │ │ │ │ +0000017c 00000703 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +000001a6 0000160a R_ARM_THM_CALL 00000000 fftw_twiddle_awake │ │ │ │ │ +000001e8 0000180a R_ARM_THM_CALL 00000000 fftw_mksolver_ct │ │ │ │ │ +000001f4 0000190a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +00000250 00000403 R_ARM_REL32 0000003d mkcldw │ │ │ │ │ +00000254 00001a19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000258 00001b1a R_ARM_GOT_BREL 00000000 fftw_mksolver_ct_hook │ │ │ │ │ +00000236 0000191e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x5c0 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x628 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000c02 R_ARM_ABS32 00000149 awake │ │ │ │ │ -00000008 00000902 R_ARM_ABS32 0000010d print │ │ │ │ │ -0000000c 00000302 R_ARM_ABS32 00000035 destroy │ │ │ │ │ +00000004 00000c02 R_ARM_ABS32 00000181 awake │ │ │ │ │ +00000008 00000902 R_ARM_ABS32 00000135 print │ │ │ │ │ +0000000c 00000302 R_ARM_ABS32 00000039 destroy │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,8 +1,7 @@ │ │ │ │ │ -SF:F !h │ │ │ │ │ (dftw-directsq-%D/%D%v "%s") │ │ │ │ │ fftw_mkplan_dftw │ │ │ │ │ fftw_ops_zero │ │ │ │ │ __aeabi_idiv │ │ │ │ │ fftw_ops_madd2 │ │ │ │ │ fftw_twiddle_length │ │ │ │ │ fftw_twiddle_awake │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,54 +1,62 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ apply(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + ldr r3, [r0, #92] @ 0x5c │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov lr, r1 │ │ │ │ │ mov r1, r2 │ │ │ │ │ + ldr r4, [r0, #84] @ 0x54 │ │ │ │ │ sub sp, #16 │ │ │ │ │ ldr r2, [r0, #100] @ 0x64 │ │ │ │ │ - ldr r3, [r0, #92] @ 0x5c │ │ │ │ │ - ldr r4, [r0, #84] @ 0x54 │ │ │ │ │ + mul.w ip, r4, r3 │ │ │ │ │ ldr r2, [r2, #0] │ │ │ │ │ str r4, [sp, #12] │ │ │ │ │ - mul.w ip, r4, r3 │ │ │ │ │ + mov.w ip, ip, lsl #3 │ │ │ │ │ ldr r4, [r0, #96] @ 0x60 │ │ │ │ │ + add r1, ip │ │ │ │ │ strd r3, r4, [sp, #4] │ │ │ │ │ ldr r3, [r0, #76] @ 0x4c │ │ │ │ │ - mov.w ip, ip, lsl #3 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - add r1, ip │ │ │ │ │ ldr r4, [r0, #64] @ 0x40 │ │ │ │ │ ldr r3, [r0, #72] @ 0x48 │ │ │ │ │ add.w r0, lr, ip │ │ │ │ │ blx r4 │ │ │ │ │ add sp, #16 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000034 : │ │ │ │ │ +00000038 : │ │ │ │ │ destroy(): │ │ │ │ │ bx lr │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000038 : │ │ │ │ │ +0000003c : │ │ │ │ │ mkcldw(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ + str.w r4, [sp, #-28]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r6, r2 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ ldr.w r8, [r0, #24] │ │ │ │ │ + strd r9, lr, [sp, #20] │ │ │ │ │ sub sp, #28 │ │ │ │ │ ldr.w r2, [r8] │ │ │ │ │ cmp r1, r2 │ │ │ │ │ - beq.n 54 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + beq.n 74 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #28 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ ldr r2, [sp, #64] @ 0x40 │ │ │ │ │ mov r4, r1 │ │ │ │ │ ldr r1, [sp, #72] @ 0x48 │ │ │ │ │ cmp r4, r2 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r6, r1 │ │ │ │ │ ldr r1, [sp, #68] @ 0x44 │ │ │ │ │ @@ -56,176 +64,193 @@ │ │ │ │ │ moveq r2, #1 │ │ │ │ │ movne r2, #0 │ │ │ │ │ cmp r3, r1 │ │ │ │ │ ite ne │ │ │ │ │ movne r2, #0 │ │ │ │ │ andeq.w r2, r2, #1 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - beq.n 4c │ │ │ │ │ + beq.n 5c │ │ │ │ │ ldrd r3, r2, [sp, #76] @ 0x4c │ │ │ │ │ mov r5, r0 │ │ │ │ │ mov r0, r8 │ │ │ │ │ add.w r9, r3, r2 │ │ │ │ │ ldr r2, [sp, #92] @ 0x5c │ │ │ │ │ ldr.w r3, [r8, #12] │ │ │ │ │ + str.w r9, [sp, #12] │ │ │ │ │ str r2, [sp, #20] │ │ │ │ │ ldr r2, [sp, #60] @ 0x3c │ │ │ │ │ - strd r9, r2, [sp, #12] │ │ │ │ │ + str r2, [sp, #16] │ │ │ │ │ ldr r2, [sp, #76] @ 0x4c │ │ │ │ │ str r2, [sp, #8] │ │ │ │ │ ldr r2, [sp, #56] @ 0x38 │ │ │ │ │ str r2, [sp, #4] │ │ │ │ │ - str r1, [sp, #0] │ │ │ │ │ - ldrd r1, r2, [sp, #84] @ 0x54 │ │ │ │ │ + mov r2, r1 │ │ │ │ │ + ldr r1, [sp, #84] @ 0x54 │ │ │ │ │ + str r2, [sp, #0] │ │ │ │ │ ldr r7, [r3, #0] │ │ │ │ │ mov r3, r6 │ │ │ │ │ + ldr r2, [sp, #88] @ 0x58 │ │ │ │ │ blx r7 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 4c │ │ │ │ │ - ldr r2, [pc, #88] @ (104 ) │ │ │ │ │ - movs r0, #112 @ 0x70 │ │ │ │ │ - ldr r1, [pc, #88] @ (108 ) │ │ │ │ │ + beq.n 5c │ │ │ │ │ + ldr r2, [pc, #92] @ (12c ) │ │ │ │ │ + mov.w r0, #112 @ 0x70 │ │ │ │ │ + ldr r1, [pc, #92] @ (130 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_dftw │ │ │ │ │ ldr r3, [r5, #28] │ │ │ │ │ - str r3, [r0, #64] @ 0x40 │ │ │ │ │ mov r7, r0 │ │ │ │ │ + strd r3, r4, [r0, #64] @ 0x40 │ │ │ │ │ + add.w r4, r0, #8 │ │ │ │ │ ldr r3, [sp, #68] @ 0x44 │ │ │ │ │ - str r3, [r0, #76] @ 0x4c │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - str r3, [r0, #100] @ 0x64 │ │ │ │ │ + str r6, [r0, #72] @ 0x48 │ │ │ │ │ + str.w r9, [r0, #96] @ 0x60 │ │ │ │ │ + str r5, [r0, #104] @ 0x68 │ │ │ │ │ + mov r0, r4 │ │ │ │ │ + add.w r5, r8, #16 │ │ │ │ │ + str r3, [r7, #76] @ 0x4c │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + str r3, [r7, #100] @ 0x64 │ │ │ │ │ ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ - str r3, [r0, #80] @ 0x50 │ │ │ │ │ + str r3, [r7, #80] @ 0x50 │ │ │ │ │ ldr r3, [sp, #60] @ 0x3c │ │ │ │ │ - str r3, [r0, #84] @ 0x54 │ │ │ │ │ + str r3, [r7, #84] @ 0x54 │ │ │ │ │ ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ - str r4, [r0, #68] @ 0x44 │ │ │ │ │ - add.w r4, r0, #8 │ │ │ │ │ - str r3, [r0, #88] @ 0x58 │ │ │ │ │ + str r3, [r7, #88] @ 0x58 │ │ │ │ │ ldr r3, [sp, #76] @ 0x4c │ │ │ │ │ - strd r3, r9, [r0, #92] @ 0x5c │ │ │ │ │ - str r5, [r0, #104] @ 0x68 │ │ │ │ │ - add.w r5, r8, #16 │ │ │ │ │ - str r6, [r0, #72] @ 0x48 │ │ │ │ │ - mov r0, r4 │ │ │ │ │ + str r3, [r7, #92] @ 0x5c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_zero │ │ │ │ │ ldr.w r3, [r8, #12] │ │ │ │ │ ldr r0, [sp, #80] @ 0x50 │ │ │ │ │ ldr r1, [r3, #4] │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ mov r2, r4 │ │ │ │ │ mov r1, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_madd2 │ │ │ │ │ mov r0, r7 │ │ │ │ │ - b.n 4e │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000052 │ │ │ │ │ - R_ARM_REL32 apply │ │ │ │ │ + b.n 60 │ │ │ │ │ .word 0x00000054 │ │ │ │ │ + R_ARM_REL32 apply │ │ │ │ │ + .word 0x00000056 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ │ │ │ │ │ │ │ -0000010c : │ │ │ │ │ +00000134 : │ │ │ │ │ print(): │ │ │ │ │ ldr r3, [r0, #104] @ 0x68 │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ + strd r4, r5, [sp, #-24]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ + mov r5, r1 │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ ldr r6, [r0, #68] @ 0x44 │ │ │ │ │ - ldr r7, [r3, #24] │ │ │ │ │ + strd r8, lr, [sp, #16] │ │ │ │ │ sub sp, #8 │ │ │ │ │ + ldr r7, [r3, #24] │ │ │ │ │ ldr.w r8, [r1] │ │ │ │ │ - mov r5, r1 │ │ │ │ │ mov r0, r6 │ │ │ │ │ ldr r1, [r7, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_twiddle_length │ │ │ │ │ ldr r2, [r7, #4] │ │ │ │ │ - str r2, [sp, #4] │ │ │ │ │ mov r3, r0 │ │ │ │ │ - ldr r1, [pc, #20] @ (144 ) │ │ │ │ │ mov r0, r5 │ │ │ │ │ + ldr r1, [pc, #28] @ (17c ) │ │ │ │ │ + str r2, [sp, #4] │ │ │ │ │ ldr r2, [r4, #88] @ 0x58 │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ add r1, pc │ │ │ │ │ + str r2, [sp, #0] │ │ │ │ │ mov r2, r6 │ │ │ │ │ blx r8 │ │ │ │ │ add sp, #8 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, pc} │ │ │ │ │ - nop │ │ │ │ │ - .word 0x0000000a │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldmia.w sp!, {r8, pc} │ │ │ │ │ + .word 0x00000014 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ -00000148 : │ │ │ │ │ +00000180 : │ │ │ │ │ awake(): │ │ │ │ │ mov ip, r0 │ │ │ │ │ - push {lr} │ │ │ │ │ mov r0, r1 │ │ │ │ │ + str.w lr, [sp, #-4]! │ │ │ │ │ + ldr.w r3, [ip, #68] @ 0x44 │ │ │ │ │ sub sp, #12 │ │ │ │ │ ldr.w r2, [ip, #104] @ 0x68 │ │ │ │ │ ldr.w r1, [ip, #80] @ 0x50 │ │ │ │ │ - ldr.w r3, [ip, #68] @ 0x44 │ │ │ │ │ ldr r2, [r2, #24] │ │ │ │ │ ldr r2, [r2, #8] │ │ │ │ │ strd r3, r1, [sp] │ │ │ │ │ mul.w r3, r1, r3 │ │ │ │ │ add.w r1, ip, #100 @ 0x64 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_twiddle_awake │ │ │ │ │ add sp, #12 │ │ │ │ │ ldr.w pc, [sp], #4 │ │ │ │ │ - nop │ │ │ │ │ │ │ │ │ │ -00000178 : │ │ │ │ │ +000001b0 : │ │ │ │ │ fftw_regsolver_ct_directwsq(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ mov r4, r2 │ │ │ │ │ - ldr.w sl, [pc, #104] @ 1e8 │ │ │ │ │ - sub sp, #8 │ │ │ │ │ - mov.w r9, #0 │ │ │ │ │ - adds r7, r3, #2 │ │ │ │ │ - add sl, pc │ │ │ │ │ - mov r3, sl │ │ │ │ │ mov r5, r0 │ │ │ │ │ - str.w r9, [sp] │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + add.w r7, r3, #2 │ │ │ │ │ mov r6, r1 │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ mov r2, r7 │ │ │ │ │ - movs r0, #32 │ │ │ │ │ + mov.w r0, #32 │ │ │ │ │ + ldr.w sl, [pc, #128] @ 250 │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ + sub sp, #8 │ │ │ │ │ + mov.w r9, #0 │ │ │ │ │ + ldr.w r8, [pc, #120] @ 254 │ │ │ │ │ + str.w r9, [sp] │ │ │ │ │ ldr r1, [r4, #0] │ │ │ │ │ + add sl, pc │ │ │ │ │ + mov r3, sl │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver_ct │ │ │ │ │ - ldr.w r8, [pc, #72] @ 1ec │ │ │ │ │ mov r1, r0 │ │ │ │ │ strd r4, r6, [r0, #24] │ │ │ │ │ mov r0, r5 │ │ │ │ │ - add r8, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ - ldr r3, [pc, #60] @ (1f0 ) │ │ │ │ │ + ldr r3, [pc, #92] @ (258 ) │ │ │ │ │ + add r8, pc │ │ │ │ │ ldr.w r3, [r8, r3] │ │ │ │ │ ldr.w r8, [r3] │ │ │ │ │ cmp.w r8, #0 │ │ │ │ │ - beq.n 1e2 │ │ │ │ │ - str.w r9, [sp] │ │ │ │ │ + beq.n 23a │ │ │ │ │ mov r3, sl │ │ │ │ │ mov r2, r7 │ │ │ │ │ - movs r0, #32 │ │ │ │ │ + str.w r9, [sp] │ │ │ │ │ ldr r1, [r4, #0] │ │ │ │ │ + mov.w r0, #32 │ │ │ │ │ blx r8 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - strd r4, r6, [r0, #24] │ │ │ │ │ mov r0, r5 │ │ │ │ │ + strd r4, r6, [r1, #24] │ │ │ │ │ add sp, #8 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, lr, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solver_register │ │ │ │ │ add sp, #8 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ - .word 0x0000005a │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {sl, pc} │ │ │ │ │ + nop │ │ │ │ │ + .word 0x00000068 │ │ │ │ │ R_ARM_REL32 mkcldw │ │ │ │ │ - .word 0x0000003c │ │ │ │ │ + .word 0x00000056 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_mksolver_ct_hook │ │ │ ├── dftw-generic.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2512 (bytes into file) │ │ │ │ │ + Start of section headers: 2716 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x9d0: │ │ │ │ │ +There are 14 section headers, starting at offset 0xa9c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0003fc 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000868 0000d0 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000430 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000430 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000430 000028 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000458 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro.local PROGBITS 00000000 000460 000010 00 WA 0 0 4 │ │ │ │ │ - [ 8] .rel.data.rel.ro.local REL 00000000 000938 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000470 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000470 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 0004a4 000270 10 12 26 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000714 000154 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000950 00007e 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0004c8 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000934 0000d0 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0004fc 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0004fc 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0004fc 000028 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000524 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro.local PROGBITS 00000000 00052c 000010 00 WA 0 0 4 │ │ │ │ │ + [ 8] .rel.data.rel.ro.local REL 00000000 000a04 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 00053c 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00053c 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000570 000270 10 12 26 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0007e0 000154 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000a1c 00007e 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,42 +1,42 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 39 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 352 FUNC LOCAL DEFAULT 1 bytwiddle │ │ │ │ │ + 1: 00000001 410 FUNC LOCAL DEFAULT 1 bytwiddle │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000161 42 FUNC LOCAL DEFAULT 1 apply_dit │ │ │ │ │ - 4: 0000018d 54 FUNC LOCAL DEFAULT 1 apply_dif │ │ │ │ │ + 3: 0000019d 68 FUNC LOCAL DEFAULT 1 apply_dit │ │ │ │ │ + 4: 000001e1 74 FUNC LOCAL DEFAULT 1 apply_dif │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 6: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ 7: 00000004 0 NOTYPE LOCAL DEFAULT 5 .LC1 │ │ │ │ │ 8: 00000008 0 NOTYPE LOCAL DEFAULT 5 .LC2 │ │ │ │ │ - 9: 000001c5 64 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ - 10: 000001f8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 11: 00000204 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 12: 00000205 6 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 13: 0000020d 296 FUNC LOCAL DEFAULT 1 mkcldw │ │ │ │ │ - 14: 00000328 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 15: 00000334 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 16: 00000335 48 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 17: 00000360 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 18: 00000364 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 19: 000003ec 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 9: 0000022d 64 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 10: 00000260 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 11: 0000026c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 12: 0000026d 6 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 13: 00000275 336 FUNC LOCAL DEFAULT 1 mkcldw │ │ │ │ │ + 14: 000003b8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 15: 000003c4 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 16: 000003c5 64 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 17: 00000400 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 18: 00000404 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 19: 000004b8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 20: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 21: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 22: 00000000 8 OBJECT LOCAL DEFAULT 6 tw.0 │ │ │ │ │ 23: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro.local │ │ │ │ │ 24: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 25: 00000000 16 OBJECT LOCAL DEFAULT 7 padt.1 │ │ │ │ │ 26: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_destroy_internal │ │ │ │ │ 27: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mktensor_1d │ │ │ │ │ 28: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mktensor_2d │ │ │ │ │ 29: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkproblem_dft_d │ │ │ │ │ 30: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_d │ │ │ │ │ 31: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_dftw │ │ │ │ │ 32: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_awake │ │ │ │ │ 33: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_twiddle_awake │ │ │ │ │ - 34: 00000365 152 FUNC GLOBAL DEFAULT 1 fftw_ct_generic_register │ │ │ │ │ + 34: 00000405 196 FUNC GLOBAL DEFAULT 1 fftw_ct_generic_register │ │ │ │ │ 35: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver_ct │ │ │ │ │ 36: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 37: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 38: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver_ct_hook │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,35 +1,35 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x868 contains 26 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x934 contains 26 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000001f8 00000703 R_ARM_REL32 00000004 .LC1 │ │ │ │ │ -000001fc 00000803 R_ARM_REL32 00000008 .LC2 │ │ │ │ │ -00000200 00000603 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -00000232 00001b0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -00000244 00001c0a R_ARM_THM_CALL 00000000 fftw_mktensor_2d │ │ │ │ │ -00000262 00001d0a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ -0000026a 00001e0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -00000284 00001f0a R_ARM_THM_CALL 00000000 fftw_mkplan_dftw │ │ │ │ │ -00000314 00001a0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000328 00000403 R_ARM_REL32 0000018d apply_dif │ │ │ │ │ -0000032c 00001703 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -00000330 00000303 R_ARM_REL32 00000161 apply_dit │ │ │ │ │ -0000033e 0000200a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -00000358 0000210a R_ARM_THM_CALL 00000000 fftw_twiddle_awake │ │ │ │ │ -00000360 00001403 R_ARM_REL32 00000000 .rodata │ │ │ │ │ -0000037e 0000230a R_ARM_THM_CALL 00000000 fftw_mksolver_ct │ │ │ │ │ -00000388 0000240a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -000003a6 0000240a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -000003ba 0000230a R_ARM_THM_CALL 00000000 fftw_mksolver_ct │ │ │ │ │ -000003c2 0000240a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -000003ec 00000d03 R_ARM_REL32 0000020d mkcldw │ │ │ │ │ -000003f0 00002519 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -000003f4 0000261a R_ARM_GOT_BREL 00000000 fftw_mksolver_ct_hook │ │ │ │ │ -000003f8 00000d03 R_ARM_REL32 0000020d mkcldw │ │ │ │ │ -00000206 00001a1e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000003e0 0000241e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ +00000260 00000703 R_ARM_REL32 00000004 .LC1 │ │ │ │ │ +00000264 00000803 R_ARM_REL32 00000008 .LC2 │ │ │ │ │ +00000268 00000603 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +000002a4 00001b0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +000002b6 00001c0a R_ARM_THM_CALL 00000000 fftw_mktensor_2d │ │ │ │ │ +000002d6 00001d0a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ +000002de 00001e0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +000002fa 00001f0a R_ARM_THM_CALL 00000000 fftw_mkplan_dftw │ │ │ │ │ +00000398 00001a0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000003b8 00000403 R_ARM_REL32 000001e1 apply_dif │ │ │ │ │ +000003bc 00001703 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +000003c0 00000303 R_ARM_REL32 0000019d apply_dit │ │ │ │ │ +000003d4 0000200a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +000003ee 0000210a R_ARM_THM_CALL 00000000 fftw_twiddle_awake │ │ │ │ │ +00000400 00001403 R_ARM_REL32 00000000 .rodata │ │ │ │ │ +0000042e 0000230a R_ARM_THM_CALL 00000000 fftw_mksolver_ct │ │ │ │ │ +00000436 0000240a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +00000458 0000240a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +00000470 0000230a R_ARM_THM_CALL 00000000 fftw_mksolver_ct │ │ │ │ │ +00000478 0000240a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +000004b8 00000d03 R_ARM_REL32 00000275 mkcldw │ │ │ │ │ +000004bc 00002519 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +000004c0 0000261a R_ARM_GOT_BREL 00000000 fftw_mksolver_ct_hook │ │ │ │ │ +000004c4 00000d03 R_ARM_REL32 00000275 mkcldw │ │ │ │ │ +0000026e 00001a1e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000004a2 0000241e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x938 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0xa04 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00001002 R_ARM_ABS32 00000335 awake │ │ │ │ │ -00000008 00000902 R_ARM_ABS32 000001c5 print │ │ │ │ │ -0000000c 00000c02 R_ARM_ABS32 00000205 destroy │ │ │ │ │ +00000004 00001002 R_ARM_ABS32 000003c5 awake │ │ │ │ │ +00000008 00000902 R_ARM_ABS32 0000022d print │ │ │ │ │ +0000000c 00000c02 R_ARM_ABS32 0000026d destroy │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,8 +1,7 @@ │ │ │ │ │ -+JzD+Ip yD │ │ │ │ │ (dftw-generic-%s-%D-%D%v%(%p%)) │ │ │ │ │ bytwiddle │ │ │ │ │ apply_dit │ │ │ │ │ apply_dif │ │ │ │ │ fftw_plan_destroy_internal │ │ │ │ │ fftw_mktensor_1d │ │ │ │ │ fftw_mktensor_2d │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,439 +1,473 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ bytwiddle(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r7, r2 │ │ │ │ │ ldr r3, [r0, #76] @ 0x4c │ │ │ │ │ - sub sp, #20 │ │ │ │ │ - ldr r2, [r0, #88] @ 0x58 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r6, r1 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r7, r2 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + ldrd r2, r1, [r0, #88] @ 0x58 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ it eq │ │ │ │ │ addeq r3, #1 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + sub sp, #20 │ │ │ │ │ ldr.w r8, [r0, #64] @ 0x40 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ldr r1, [r0, #92] @ 0x5c │ │ │ │ │ str r2, [sp, #8] │ │ │ │ │ - ble.n c2 │ │ │ │ │ - lsls r1, r1, #3 │ │ │ │ │ + ble.n e2 │ │ │ │ │ cmp.w r8, #1 │ │ │ │ │ - ble.n c2 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + ble.n e2 │ │ │ │ │ ldr.w ip, [r0, #80] @ 0x50 │ │ │ │ │ mov r4, r0 │ │ │ │ │ cmp ip, r3 │ │ │ │ │ - ble.n c2 │ │ │ │ │ + ble.n e2 │ │ │ │ │ ldr r5, [r4, #84] @ 0x54 │ │ │ │ │ ldr r4, [r4, #100] @ 0x64 │ │ │ │ │ ldrd r2, r0, [r0, #68] @ 0x44 │ │ │ │ │ cmp r5, #1 │ │ │ │ │ ldr r4, [r4, #0] │ │ │ │ │ - bne.n c8 │ │ │ │ │ + bne.n fa │ │ │ │ │ add ip, r2 │ │ │ │ │ - lsls r5, r2, #3 │ │ │ │ │ + mov.w r5, r2, lsl #3 │ │ │ │ │ add r2, r3 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ add.w r9, r0, #4294967295 @ 0xffffffff │ │ │ │ │ mov.w fp, ip, lsl #3 │ │ │ │ │ add.w sl, r4, r3, lsl #4 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ mov r0, fp │ │ │ │ │ str r2, [sp, #12] │ │ │ │ │ - movs r2, #0 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ ldr.w ip, [sp, #12] │ │ │ │ │ - adds r4, r0, r6 │ │ │ │ │ + add.w r4, r0, r6 │ │ │ │ │ mov fp, r9 │ │ │ │ │ mov.w lr, #1 │ │ │ │ │ strd r1, r2, [sp] │ │ │ │ │ + add.w r2, sl, fp, lsl #4 │ │ │ │ │ add.w r3, r6, ip │ │ │ │ │ add.w r1, r7, ip │ │ │ │ │ - add.w r2, sl, fp, lsl #4 │ │ │ │ │ vldr d4, [r2, #-16] │ │ │ │ │ - adds r2, #16 │ │ │ │ │ + add.w r2, r2, #16 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ vldr d7, [r2, #-24] @ 0xffffffe8 │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ vmul.f64 d6, d4, d3 │ │ │ │ │ vmla.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d4, d5 │ │ │ │ │ vstmia r3!, {d6} │ │ │ │ │ cmp r3, r4 │ │ │ │ │ vstmia r1!, {d7} │ │ │ │ │ - bne.n 76 │ │ │ │ │ + bne.n 90 │ │ │ │ │ add.w lr, lr, #1 │ │ │ │ │ add fp, r9 │ │ │ │ │ - adds r4, r3, r5 │ │ │ │ │ - add ip, r5 │ │ │ │ │ cmp r8, lr │ │ │ │ │ - bne.n 6a │ │ │ │ │ + add.w r4, r3, r5 │ │ │ │ │ + add ip, r5 │ │ │ │ │ + bne.n 84 │ │ │ │ │ ldrd r1, r2, [sp] │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ - adds r2, #1 │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ add r6, r1 │ │ │ │ │ add r7, r1 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.n 5a │ │ │ │ │ + bne.n 72 │ │ │ │ │ add sp, #20 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - add.w sl, r0, #4294967295 @ 0xffffffff │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ mov.w fp, r2, lsl #3 │ │ │ │ │ + add.w sl, r0, #4294967295 @ 0xffffffff │ │ │ │ │ add r0, ip │ │ │ │ │ mla r2, r3, r5, r2 │ │ │ │ │ - subs r0, #1 │ │ │ │ │ + add.w r0, r0, #4294967295 @ 0xffffffff │ │ │ │ │ sub.w r3, r3, ip │ │ │ │ │ - mov.w sl, sl, lsl #4 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ add.w r0, r4, r0, lsl #4 │ │ │ │ │ - str r2, [sp, #12] │ │ │ │ │ - lsls r4, r5, #3 │ │ │ │ │ + mov.w sl, sl, lsl #4 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + mov.w r4, r5, lsl #3 │ │ │ │ │ mov.w r9, r3, lsl #4 │ │ │ │ │ - movs r2, #0 │ │ │ │ │ + str r2, [sp, #12] │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ ldr.w ip, [sp, #12] │ │ │ │ │ mov r5, r0 │ │ │ │ │ mov.w lr, #1 │ │ │ │ │ strd r1, r2, [sp] │ │ │ │ │ add.w r1, r6, ip │ │ │ │ │ add.w r2, r7, ip │ │ │ │ │ add.w r3, r5, r9 │ │ │ │ │ - vldr d3, [r3, #-8] │ │ │ │ │ - adds r3, #16 │ │ │ │ │ vldr d4, [r2] │ │ │ │ │ + add.w r3, r3, #16 │ │ │ │ │ vldr d5, [r3, #-32] @ 0xffffffe0 │ │ │ │ │ + vldr d3, [r3, #-24] @ 0xffffffe8 │ │ │ │ │ cmp r3, r5 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ vmul.f64 d6, d4, d3 │ │ │ │ │ vmla.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d4, d5 │ │ │ │ │ vstr d6, [r1] │ │ │ │ │ add r1, r4 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ add r2, r4 │ │ │ │ │ - bne.n 10a │ │ │ │ │ + bne.n 144 │ │ │ │ │ add.w lr, lr, #1 │ │ │ │ │ add.w r5, r3, sl │ │ │ │ │ - add ip, fp │ │ │ │ │ cmp r8, lr │ │ │ │ │ - bne.n fe │ │ │ │ │ + add ip, fp │ │ │ │ │ + bne.n 138 │ │ │ │ │ ldrd r1, r2, [sp] │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ - adds r2, #1 │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ add r6, r1 │ │ │ │ │ add r7, r1 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.n f0 │ │ │ │ │ - add sp, #20 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + bne.n 12a │ │ │ │ │ + b.n e2 │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000160 : │ │ │ │ │ +0000019c : │ │ │ │ │ apply_dit(): │ │ │ │ │ - push {r4, r5, r6, r7, lr} │ │ │ │ │ - mov r7, r0 │ │ │ │ │ ldr r3, [r0, #76] @ 0x4c │ │ │ │ │ + str.w r4, [sp, #-20]! │ │ │ │ │ + mov r4, r2 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r6, r1 │ │ │ │ │ ldr r5, [r0, #84] @ 0x54 │ │ │ │ │ + strd r7, lr, [sp, #12] │ │ │ │ │ sub sp, #12 │ │ │ │ │ - mov r6, r1 │ │ │ │ │ - mov r4, r2 │ │ │ │ │ + mov r7, r0 │ │ │ │ │ mul.w r5, r3, r5 │ │ │ │ │ bl 0 │ │ │ │ │ ldr r0, [r7, #96] @ 0x60 │ │ │ │ │ - lsls r2, r5, #3 │ │ │ │ │ - adds r3, r6, r2 │ │ │ │ │ + mov.w r2, r5, lsl #3 │ │ │ │ │ + add.w r3, r6, r2 │ │ │ │ │ add r2, r4 │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ mov r1, r3 │ │ │ │ │ + str r2, [sp, #0] │ │ │ │ │ ldr r4, [r0, #56] @ 0x38 │ │ │ │ │ blx r4 │ │ │ │ │ add sp, #12 │ │ │ │ │ - pop {r4, r5, r6, r7, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -0000018c : │ │ │ │ │ +000001e0 : │ │ │ │ │ apply_dif(): │ │ │ │ │ - push {r4, r5, r6, r7, lr} │ │ │ │ │ + ldr r3, [r0, #84] @ 0x54 │ │ │ │ │ + str.w r4, [sp, #-20]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r6, r2 │ │ │ │ │ + mov r5, r1 │ │ │ │ │ + ldr r2, [r0, #76] @ 0x4c │ │ │ │ │ + strd r7, lr, [sp, #12] │ │ │ │ │ sub sp, #12 │ │ │ │ │ ldr r0, [r0, #96] @ 0x60 │ │ │ │ │ - ldr r2, [r4, #76] @ 0x4c │ │ │ │ │ - mov r5, r1 │ │ │ │ │ - ldr r3, [r4, #84] @ 0x54 │ │ │ │ │ mul.w r3, r2, r3 │ │ │ │ │ mov.w ip, r3, lsl #3 │ │ │ │ │ add.w r2, r6, ip │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ add.w r3, r1, ip │ │ │ │ │ - ldr r7, [r0, #56] @ 0x38 │ │ │ │ │ mov r1, r3 │ │ │ │ │ + str r2, [sp, #0] │ │ │ │ │ + ldr r7, [r0, #56] @ 0x38 │ │ │ │ │ blx r7 │ │ │ │ │ mov r2, r6 │ │ │ │ │ mov r1, r5 │ │ │ │ │ mov r0, r4 │ │ │ │ │ add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ b.n 0 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000001c4 : │ │ │ │ │ +0000022c : │ │ │ │ │ print(): │ │ │ │ │ mov r3, r0 │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r0, r1 │ │ │ │ │ - ldr r4, [r1, #0] │ │ │ │ │ - sub sp, #16 │ │ │ │ │ ldr r2, [r3, #108] @ 0x6c │ │ │ │ │ + sub sp, #16 │ │ │ │ │ + ldr r4, [r1, #0] │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - beq.n 1f0 │ │ │ │ │ - ldr r2, [pc, #32] @ (1f8 ) │ │ │ │ │ + beq.n 25a │ │ │ │ │ + ldr r2, [pc, #32] @ (260 ) │ │ │ │ │ add r2, pc │ │ │ │ │ ldr r1, [r3, #96] @ 0x60 │ │ │ │ │ str r1, [sp, #8] │ │ │ │ │ ldr r1, [r3, #88] @ 0x58 │ │ │ │ │ str r1, [sp, #4] │ │ │ │ │ ldr r1, [r3, #72] @ 0x48 │ │ │ │ │ str r1, [sp, #0] │ │ │ │ │ - ldr r1, [pc, #20] @ (1fc ) │ │ │ │ │ + ldr r1, [pc, #20] @ (264 ) │ │ │ │ │ ldr r3, [r3, #64] @ 0x40 │ │ │ │ │ add r1, pc │ │ │ │ │ blx r4 │ │ │ │ │ add sp, #16 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - ldr r2, [pc, #12] @ (200 ) │ │ │ │ │ + ldr r2, [pc, #12] @ (268 ) │ │ │ │ │ add r2, pc │ │ │ │ │ - b.n 1d8 │ │ │ │ │ - nop │ │ │ │ │ - .word 0x0000001e │ │ │ │ │ + b.n 242 │ │ │ │ │ + .word 0x0000001c │ │ │ │ │ R_ARM_REL32 .LC1 │ │ │ │ │ - .word 0x00000010 │ │ │ │ │ + .word 0x0000000e │ │ │ │ │ R_ARM_REL32 .LC2 │ │ │ │ │ - .word 0x0000000a │ │ │ │ │ + .word 0x00000008 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ -00000204 : │ │ │ │ │ +0000026c : │ │ │ │ │ destroy(): │ │ │ │ │ ldr r0, [r0, #96] @ 0x60 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_destroy_internal │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -0000020c : │ │ │ │ │ +00000274 : │ │ │ │ │ mkcldw(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ + strd r4, r5, [sp, #-24]! │ │ │ │ │ mov r5, r1 │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + strd r8, lr, [sp, #16] │ │ │ │ │ sub sp, #8 │ │ │ │ │ - ldrd r8, r1, [sp, #44] @ 0x2c │ │ │ │ │ + ldrd r7, r1, [sp, #44] @ 0x2c │ │ │ │ │ cmp r2, r3 │ │ │ │ │ it eq │ │ │ │ │ - cmpeq r8, r1 │ │ │ │ │ - bne.n 318 │ │ │ │ │ + cmpeq r7, r1 │ │ │ │ │ + bne.w 39c │ │ │ │ │ ldr r3, [sp, #68] @ 0x44 │ │ │ │ │ ldr.w r3, [r3, #164] @ 0xa4 │ │ │ │ │ lsls r3, r3, #28 │ │ │ │ │ - bmi.n 318 │ │ │ │ │ + bmi.n 39c │ │ │ │ │ mov r1, r2 │ │ │ │ │ mov r6, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ mov r4, r2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ - strd r8, r8, [sp] │ │ │ │ │ ldrd r2, r3, [sp, #36] @ 0x24 │ │ │ │ │ - mov r7, r0 │ │ │ │ │ + mov r8, r0 │ │ │ │ │ + strd r7, r7, [sp] │ │ │ │ │ ldr r0, [sp, #56] @ 0x38 │ │ │ │ │ mov r1, r2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_2d │ │ │ │ │ - ldr r2, [sp, #52] @ 0x34 │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ mov r1, r0 │ │ │ │ │ + ldr r2, [sp, #52] @ 0x34 │ │ │ │ │ ldr r0, [sp, #64] @ 0x40 │ │ │ │ │ mul.w r3, r2, r3 │ │ │ │ │ ldr r2, [sp, #60] @ 0x3c │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ add r2, r3 │ │ │ │ │ add r3, r0 │ │ │ │ │ - mov r0, r7 │ │ │ │ │ + mov r0, r8 │ │ │ │ │ strd r2, r3, [sp] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_dft_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ ldr r0, [sp, #68] @ 0x44 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ - mov r7, r0 │ │ │ │ │ + mov r8, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 314 │ │ │ │ │ + beq.n 398 │ │ │ │ │ ldr r3, [r6, #12] │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - beq.n 320 │ │ │ │ │ - ldr r2, [pc, #172] @ (328 ) │ │ │ │ │ + beq.n 3b0 │ │ │ │ │ + ldr r2, [pc, #200] @ (3b8 ) │ │ │ │ │ add r2, pc │ │ │ │ │ - ldr r1, [pc, #172] @ (32c ) │ │ │ │ │ - movs r0, #112 @ 0x70 │ │ │ │ │ + ldr r1, [pc, #200] @ (3bc ) │ │ │ │ │ + mov.w r0, #112 @ 0x70 │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_dftw │ │ │ │ │ - ldr r3, [sp, #32] │ │ │ │ │ - str r3, [r0, #72] @ 0x48 │ │ │ │ │ - mov ip, r0 │ │ │ │ │ - ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ + ldr r2, [sp, #32] │ │ │ │ │ vmov.f64 d6, #32 @ 0x41000000 8.0 │ │ │ │ │ - str r3, [r0, #84] @ 0x54 │ │ │ │ │ - vmov.f64 d4, #16 @ 0x40800000 4.0 │ │ │ │ │ - ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ - ldr r2, [sp, #56] @ 0x38 │ │ │ │ │ - strd r3, r8, [r0, #88] @ 0x58 │ │ │ │ │ - ldr r3, [sp, #52] @ 0x34 │ │ │ │ │ - str r3, [r0, #76] @ 0x4c │ │ │ │ │ - add r3, r2 │ │ │ │ │ - str r3, [r0, #80] @ 0x50 │ │ │ │ │ - ldr r3, [r6, #12] │ │ │ │ │ + mov r3, r0 │ │ │ │ │ strd r5, r4, [r0, #64] @ 0x40 │ │ │ │ │ - subs r5, #1 │ │ │ │ │ - str r3, [r0, #108] @ 0x6c │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - str r3, [r0, #100] @ 0x64 │ │ │ │ │ - subs r3, r2, #1 │ │ │ │ │ - add.w r4, r7, #8 │ │ │ │ │ + add.w r5, r5, #4294967295 @ 0xffffffff │ │ │ │ │ + vmov.f64 d4, #16 @ 0x40800000 4.0 │ │ │ │ │ + ldr r1, [sp, #56] @ 0x38 │ │ │ │ │ + str r2, [r0, #72] @ 0x48 │ │ │ │ │ + ldr r2, [sp, #36] @ 0x24 │ │ │ │ │ + str r2, [r0, #84] @ 0x54 │ │ │ │ │ + ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ + strd r7, r8, [r0, #92] @ 0x5c │ │ │ │ │ str r6, [r0, #104] @ 0x68 │ │ │ │ │ - str r7, [r0, #96] @ 0x60 │ │ │ │ │ - mul.w r5, r3, r5 │ │ │ │ │ - ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ - mul.w r5, r3, r5 │ │ │ │ │ + str r2, [r0, #88] @ 0x58 │ │ │ │ │ + ldr r2, [sp, #52] @ 0x34 │ │ │ │ │ + str r2, [r0, #76] @ 0x4c │ │ │ │ │ + add r2, r1 │ │ │ │ │ + str r2, [r0, #80] @ 0x50 │ │ │ │ │ + ldr r2, [r6, #12] │ │ │ │ │ + str r2, [r0, #108] @ 0x6c │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ + str r2, [r0, #100] @ 0x64 │ │ │ │ │ + add.w r2, r1, #4294967295 @ 0xffffffff │ │ │ │ │ + mul.w r5, r2, r5 │ │ │ │ │ + ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ + mul.w r5, r2, r5 │ │ │ │ │ vmov s15, r5 │ │ │ │ │ - add.w r5, r0, #8 │ │ │ │ │ - ldmia r4!, {r0, r1, r2, r3} │ │ │ │ │ + ldrd r4, r5, [r8, #8] │ │ │ │ │ + strd r4, r5, [r0, #8] │ │ │ │ │ + ldrd r4, r5, [r8, #16] │ │ │ │ │ vcvt.f64.s32 d7, s15 │ │ │ │ │ - stmia r5!, {r0, r1, r2, r3} │ │ │ │ │ + strd r4, r5, [r0, #16] │ │ │ │ │ + vldr d5, [r0, #16] │ │ │ │ │ vmul.f64 d6, d7, d6 │ │ │ │ │ - ldmia.w r4, {r0, r1, r2, r3} │ │ │ │ │ - stmia.w r5, {r0, r1, r2, r3} │ │ │ │ │ - vldr d5, [ip, #16] │ │ │ │ │ - mov r0, ip │ │ │ │ │ + ldrd r4, r5, [r8, #24] │ │ │ │ │ + strd r4, r5, [r0, #24] │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ - vstr d5, [ip, #16] │ │ │ │ │ - vldr d5, [ip, #8] │ │ │ │ │ + ldrd r0, r1, [r8, #32] │ │ │ │ │ + vstr d5, [r3, #16] │ │ │ │ │ + vldr d5, [r3, #8] │ │ │ │ │ + strd r0, r1, [r3, #32] │ │ │ │ │ + mov r0, r3 │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ - vldr d7, [ip, #32] │ │ │ │ │ + vldr d7, [r3, #32] │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d7, [ip, #32] │ │ │ │ │ - vstr d5, [ip, #8] │ │ │ │ │ - add sp, #8 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, pc} │ │ │ │ │ + vstr d5, [r3, #8] │ │ │ │ │ + vstr d7, [r3, #32] │ │ │ │ │ + b.n 3a0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #8 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, pc} │ │ │ │ │ - ldr r2, [pc, #12] @ (330 ) │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldmia.w sp!, {r8, pc} │ │ │ │ │ + ldr r2, [pc, #12] @ (3c0 ) │ │ │ │ │ add r2, pc │ │ │ │ │ - b.n 27e │ │ │ │ │ + b.n 2f2 │ │ │ │ │ nop │ │ │ │ │ - .word 0x000000a8 │ │ │ │ │ + .word 0x000000c4 │ │ │ │ │ R_ARM_REL32 apply_dif │ │ │ │ │ - .word 0x000000a6 │ │ │ │ │ + .word 0x000000c0 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ │ │ .word 0x0000000a │ │ │ │ │ R_ARM_REL32 apply_dit │ │ │ │ │ │ │ │ │ │ -00000334 : │ │ │ │ │ +000003c4 : │ │ │ │ │ awake(): │ │ │ │ │ - push {r4, r5, lr} │ │ │ │ │ + str.w r4, [sp, #-12]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldr r0, [r0, #96] @ 0x60 │ │ │ │ │ + strd r5, lr, [sp, #4] │ │ │ │ │ sub sp, #12 │ │ │ │ │ mov r5, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ - ldr r2, [r4, #72] @ 0x48 │ │ │ │ │ ldr r3, [r4, #64] @ 0x40 │ │ │ │ │ add.w r1, r4, #100 @ 0x64 │ │ │ │ │ - strd r2, r3, [sp] │ │ │ │ │ mov r0, r5 │ │ │ │ │ + ldr r2, [r4, #72] @ 0x48 │ │ │ │ │ + strd r2, r3, [sp] │ │ │ │ │ mul.w r3, r2, r3 │ │ │ │ │ - ldr r2, [pc, #8] @ (360 ) │ │ │ │ │ + ldr r2, [pc, #20] @ (400 ) │ │ │ │ │ add r2, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_twiddle_awake │ │ │ │ │ add sp, #12 │ │ │ │ │ - pop {r4, r5, pc} │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x00000010 │ │ │ │ │ R_ARM_REL32 .rodata │ │ │ │ │ │ │ │ │ │ -00000364 : │ │ │ │ │ +00000404 : │ │ │ │ │ fftw_ct_generic_register(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ - movs r5, #0 │ │ │ │ │ - ldr.w r8, [pc, #128] @ 3ec │ │ │ │ │ - sub sp, #8 │ │ │ │ │ + strd r4, r5, [sp, #-24]! │ │ │ │ │ + mov.w r5, #0 │ │ │ │ │ mov r4, r0 │ │ │ │ │ - add r8, pc │ │ │ │ │ - movs r2, #1 │ │ │ │ │ - mov r3, r8 │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + mov.w r2, #1 │ │ │ │ │ mov r1, r5 │ │ │ │ │ - movs r0, #24 │ │ │ │ │ + strd r8, lr, [sp, #16] │ │ │ │ │ + sub sp, #8 │ │ │ │ │ + mov.w r0, #24 │ │ │ │ │ + ldr.w r8, [pc, #148] @ 4b8 │ │ │ │ │ str r5, [sp, #0] │ │ │ │ │ + ldr r6, [pc, #144] @ (4bc ) │ │ │ │ │ + add r8, pc │ │ │ │ │ + mov r3, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver_ct │ │ │ │ │ - ldr r6, [pc, #108] @ (3f0 ) │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ - ldr r3, [pc, #100] @ (3f4 ) │ │ │ │ │ + ldr r3, [pc, #132] @ (4c0 ) │ │ │ │ │ add r6, pc │ │ │ │ │ ldr r6, [r6, r3] │ │ │ │ │ ldr r7, [r6, #0] │ │ │ │ │ - cbz r7, 3aa │ │ │ │ │ + cbz r7, 45c │ │ │ │ │ mov r1, r5 │ │ │ │ │ mov r3, r8 │ │ │ │ │ - movs r2, #1 │ │ │ │ │ - movs r0, #24 │ │ │ │ │ str r5, [sp, #0] │ │ │ │ │ + mov.w r2, #1 │ │ │ │ │ + mov.w r0, #24 │ │ │ │ │ blx r7 │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ - ldr r7, [pc, #76] @ (3f8 ) │ │ │ │ │ - movs r5, #0 │ │ │ │ │ + ldr r7, [pc, #100] @ (4c4 ) │ │ │ │ │ + mov.w r5, #0 │ │ │ │ │ + mov.w r0, #24 │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r1, r5 │ │ │ │ │ + str r5, [sp, #0] │ │ │ │ │ add r7, pc │ │ │ │ │ - movs r0, #24 │ │ │ │ │ mov r3, r7 │ │ │ │ │ - str r5, [sp, #0] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver_ct │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ ldr r6, [r6, #0] │ │ │ │ │ - cbz r6, 3e4 │ │ │ │ │ + cbz r6, 4a6 │ │ │ │ │ mov r1, r5 │ │ │ │ │ mov r3, r7 │ │ │ │ │ - mov r2, r5 │ │ │ │ │ str r5, [sp, #0] │ │ │ │ │ - movs r0, #24 │ │ │ │ │ + mov r2, r5 │ │ │ │ │ + mov.w r0, #24 │ │ │ │ │ blx r6 │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ add sp, #8 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, lr, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solver_register │ │ │ │ │ add sp, #8 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldmia.w sp!, {r8, pc} │ │ │ │ │ nop │ │ │ │ │ - .word 0x00000076 │ │ │ │ │ + .word 0x0000008a │ │ │ │ │ R_ARM_REL32 mkcldw │ │ │ │ │ - .word 0x0000005e │ │ │ │ │ + .word 0x0000007c │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_mksolver_ct_hook │ │ │ │ │ - .word 0x00000042 │ │ │ │ │ + .word 0x00000054 │ │ │ │ │ R_ARM_REL32 mkcldw │ │ │ ├── dftw-genericbuf.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2468 (bytes into file) │ │ │ │ │ + Start of section headers: 2636 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x9a4: │ │ │ │ │ +There are 14 section headers, starting at offset 0xa4c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000394 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00083c 0000d0 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0003c8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0003c8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0003c8 000021 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 0003e9 000030 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro.local PROGBITS 00000000 000419 000010 00 WA 0 0 4 │ │ │ │ │ - [ 8] .rel.data.rel.ro.local REL 00000000 00090c 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000429 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000429 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 00045c 000260 10 12 21 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 0006bc 00017f 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000924 00007e 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00043c 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0008e4 0000d0 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000470 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000470 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000470 000021 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000491 000030 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro.local PROGBITS 00000000 0004c1 000010 00 WA 0 0 4 │ │ │ │ │ + [ 8] .rel.data.rel.ro.local REL 00000000 0009b4 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 0004d1 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0004d1 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000504 000260 10 12 21 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000764 00017f 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 0009cc 00007e 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 38 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ - 3: 00000001 36 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 3: 00000001 40 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ 4: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000020 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000024 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00000025 6 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 8: 0000002d 324 FUNC LOCAL DEFAULT 1 mkcldw │ │ │ │ │ - 9: 00000168 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 10: 00000171 346 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ - 11: 00000170 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 12: 000002cd 44 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 13: 00000384 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 5: 00000024 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000028 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00000029 6 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 8: 00000031 372 FUNC LOCAL DEFAULT 1 mkcldw │ │ │ │ │ + 9: 0000019c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 10: 000001a5 400 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ + 11: 000001a4 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 12: 00000335 64 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 13: 0000042c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 14: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 15: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 16: 00000000 28 OBJECT LOCAL DEFAULT 6 radices.2 │ │ │ │ │ 17: 0000001c 20 OBJECT LOCAL DEFAULT 6 batchsizes.1 │ │ │ │ │ 18: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro.local │ │ │ │ │ 19: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 20: 00000000 16 OBJECT LOCAL DEFAULT 7 padt.0 │ │ │ │ │ @@ -30,12 +30,12 @@ │ │ │ │ │ 26: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_d │ │ │ │ │ 27: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ifree │ │ │ │ │ 28: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_dftw │ │ │ │ │ 29: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_cpy2d_pair_co │ │ │ │ │ 30: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_awake │ │ │ │ │ 31: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_triggen_destroy │ │ │ │ │ 32: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mktriggen │ │ │ │ │ - 33: 000002f9 156 FUNC GLOBAL DEFAULT 1 fftw_ct_genericbuf_register │ │ │ │ │ + 33: 00000375 200 FUNC GLOBAL DEFAULT 1 fftw_ct_genericbuf_register │ │ │ │ │ 34: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver_ct │ │ │ │ │ 35: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 36: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 37: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver_ct_hook │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,35 +1,35 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x83c contains 26 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x8e4 contains 26 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000020 00000203 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -00000056 0000160a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -00000090 0000170a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -0000009c 0000180a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -000000aa 0000180a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -000000bc 0000190a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ -000000c4 00001a0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -000000cc 00001b0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -000000de 00001c0a R_ARM_THM_CALL 00000000 fftw_mkplan_dftw │ │ │ │ │ -00000160 0000150a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000168 00000a03 R_ARM_REL32 00000171 apply │ │ │ │ │ -0000016c 00001203 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -00000188 0000170a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -000002a0 00001d0a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_co │ │ │ │ │ -000002d4 00001e0a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -000002dc 00001f0a R_ARM_THM_CALL 00000000 fftw_triggen_destroy │ │ │ │ │ -000002ee 0000200a R_ARM_THM_CALL 00000000 fftw_mktriggen │ │ │ │ │ -00000342 0000220a R_ARM_THM_CALL 00000000 fftw_mksolver_ct │ │ │ │ │ -0000034c 0000230a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -0000036a 0000230a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -00000384 00002419 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000388 0000251a R_ARM_GOT_BREL 00000000 fftw_mksolver_ct_hook │ │ │ │ │ -0000038c 00000e03 R_ARM_REL32 00000000 .rodata │ │ │ │ │ -00000390 00000803 R_ARM_REL32 0000002d mkcldw │ │ │ │ │ -00000026 0000151e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000002be 00001b1e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ │ +00000024 00000203 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +00000076 0000160a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +000000b2 0000170a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +000000c0 0000180a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +000000ce 0000180a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +000000e0 0000190a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ +000000e8 00001a0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +000000f0 00001b0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +00000104 00001c0a R_ARM_THM_CALL 00000000 fftw_mkplan_dftw │ │ │ │ │ +00000196 0000150a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +0000019c 00000a03 R_ARM_REL32 000001a5 apply │ │ │ │ │ +000001a0 00001203 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +000001d0 0000170a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +000002f8 00001d0a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_co │ │ │ │ │ +00000342 00001e0a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +0000034a 00001f0a R_ARM_THM_CALL 00000000 fftw_triggen_destroy │ │ │ │ │ +00000364 0000200a R_ARM_THM_CALL 00000000 fftw_mktriggen │ │ │ │ │ +000003d4 0000220a R_ARM_THM_CALL 00000000 fftw_mksolver_ct │ │ │ │ │ +000003de 0000230a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +00000400 0000230a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +0000042c 00002419 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000430 0000251a R_ARM_GOT_BREL 00000000 fftw_mksolver_ct_hook │ │ │ │ │ +00000434 00000e03 R_ARM_REL32 00000000 .rodata │ │ │ │ │ +00000438 00000803 R_ARM_REL32 00000031 mkcldw │ │ │ │ │ +0000002a 0000151e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000328 00001b1e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x90c contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x9b4 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000c02 R_ARM_ABS32 000002cd awake │ │ │ │ │ +00000004 00000c02 R_ARM_ABS32 00000335 awake │ │ │ │ │ 00000008 00000302 R_ARM_ABS32 00000001 print │ │ │ │ │ -0000000c 00000702 R_ARM_ABS32 00000025 destroy │ │ │ │ │ +0000000c 00000702 R_ARM_ABS32 00000029 destroy │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,8 +1,7 @@ │ │ │ │ │ -$Jp $IzDyD │ │ │ │ │ (dftw-genericbuf/%D-%D-%D%(%p%)) │ │ │ │ │ radices.2 │ │ │ │ │ batchsizes.1 │ │ │ │ │ fftw_plan_destroy_internal │ │ │ │ │ __aeabi_idivmod │ │ │ │ │ fftw_malloc_plain │ │ │ │ │ fftw_mktensor_1d │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,97 +1,105 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ print(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ mov r2, r0 │ │ │ │ │ - mov r0, r1 │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ sub sp, #8 │ │ │ │ │ ldr r3, [r2, #100] @ 0x64 │ │ │ │ │ + mov r0, r1 │ │ │ │ │ + ldr r1, [pc, #20] @ (24 ) │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr r3, [r2, #72] @ 0x48 │ │ │ │ │ + add r1, pc │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - ldr r4, [r1, #0] │ │ │ │ │ - ldr r1, [pc, #12] @ (20 ) │ │ │ │ │ + ldr r4, [r0, #0] │ │ │ │ │ ldr r3, [r2, #64] @ 0x40 │ │ │ │ │ - add r1, pc │ │ │ │ │ ldr r2, [r2, #96] @ 0x60 │ │ │ │ │ blx r4 │ │ │ │ │ add sp, #8 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x0000000e │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ -00000024 : │ │ │ │ │ +00000028 : │ │ │ │ │ destroy(): │ │ │ │ │ ldr r0, [r0, #100] @ 0x64 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_destroy_internal │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -0000002c : │ │ │ │ │ +00000030 : │ │ │ │ │ mkcldw(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ + str.w r4, [sp, #-28]! │ │ │ │ │ mov r4, r2 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, lr, [sp, #20] │ │ │ │ │ sub sp, #12 │ │ │ │ │ ldr r2, [sp, #48] @ 0x30 │ │ │ │ │ cmp r2, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r4, r3 │ │ │ │ │ - bne.n 48 │ │ │ │ │ + bne.n 58 │ │ │ │ │ ldr r7, [r0, #24] │ │ │ │ │ mov r6, r0 │ │ │ │ │ ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ cmp r3, r7 │ │ │ │ │ - bge.n 50 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + bge.n 70 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ mov r5, r1 │ │ │ │ │ mov r0, r3 │ │ │ │ │ mov r1, r7 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - bne.n 48 │ │ │ │ │ + bne.n 58 │ │ │ │ │ ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ cmp r5, #63 @ 0x3f │ │ │ │ │ ite gt │ │ │ │ │ movgt r3, #1 │ │ │ │ │ movle r3, #0 │ │ │ │ │ cmp r5, r2 │ │ │ │ │ it gt │ │ │ │ │ movgt r3, #0 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - beq.n 48 │ │ │ │ │ + beq.n 58 │ │ │ │ │ ldr r3, [sp, #76] @ 0x4c │ │ │ │ │ ldr.w r3, [r3, #164] @ 0xa4 │ │ │ │ │ lsls r3, r3, #15 │ │ │ │ │ - bpl.n 86 │ │ │ │ │ + bpl.n a6 │ │ │ │ │ mul.w r3, r2, r5 │ │ │ │ │ cmp.w r3, #65536 @ 0x10000 │ │ │ │ │ - blt.n 48 │ │ │ │ │ + blt.n 58 │ │ │ │ │ add.w r9, r5, #16 │ │ │ │ │ mul.w r0, r7, r9 │ │ │ │ │ - lsls r0, r0, #4 │ │ │ │ │ + mov.w r0, r0, lsl #4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ - movs r2, #2 │ │ │ │ │ + mov.w r2, #2 │ │ │ │ │ mov r8, r0 │ │ │ │ │ mov r1, r2 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ mov.w r2, r9, lsl #1 │ │ │ │ │ mov r7, r0 │ │ │ │ │ - mov r1, r2 │ │ │ │ │ ldr r0, [r6, #24] │ │ │ │ │ + mov r1, r2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ add.w r3, r8, #8 │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r2, r8 │ │ │ │ │ mov r0, r7 │ │ │ │ │ strd r8, r3, [sp] │ │ │ │ │ @@ -102,301 +110,322 @@ │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov r7, r0 │ │ │ │ │ mov r0, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ cmp r7, #0 │ │ │ │ │ - beq.n 15e │ │ │ │ │ - ldr r2, [pc, #144] @ (168 ) │ │ │ │ │ - movs r0, #112 @ 0x70 │ │ │ │ │ - ldr r1, [pc, #144] @ (16c ) │ │ │ │ │ + beq.n 194 │ │ │ │ │ + ldr r2, [pc, #160] @ (19c ) │ │ │ │ │ + mov.w r0, #112 @ 0x70 │ │ │ │ │ + ldr r1, [pc, #160] @ (1a0 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_dftw │ │ │ │ │ - ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ - str r3, [r0, #72] @ 0x48 │ │ │ │ │ - subs r1, r5, #1 │ │ │ │ │ - ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ - mov ip, r0 │ │ │ │ │ - str r3, [r0, #76] @ 0x4c │ │ │ │ │ + ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ vmov.f64 d6, #32 @ 0x41000000 8.0 │ │ │ │ │ - ldr r3, [r6, #24] │ │ │ │ │ + mov r3, r0 │ │ │ │ │ + strd r5, r4, [r0, #64] @ 0x40 │ │ │ │ │ vmov.f64 d4, #16 @ 0x40800000 4.0 │ │ │ │ │ - str r3, [r0, #96] @ 0x60 │ │ │ │ │ - ldr r3, [sp, #60] @ 0x3c │ │ │ │ │ - str r3, [r0, #88] @ 0x58 │ │ │ │ │ - ldrd r2, r3, [sp, #60] @ 0x3c │ │ │ │ │ - str r4, [r0, #68] @ 0x44 │ │ │ │ │ - add.w r4, r7, #8 │ │ │ │ │ - str r5, [r0, #64] @ 0x40 │ │ │ │ │ - add r3, r2 │ │ │ │ │ - str r3, [r0, #92] @ 0x5c │ │ │ │ │ - ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ - add.w r5, r0, #8 │ │ │ │ │ - str r6, [r0, #108] @ 0x6c │ │ │ │ │ - subs r3, #1 │ │ │ │ │ + ldr r1, [sp, #60] @ 0x3c │ │ │ │ │ + str r2, [r0, #72] @ 0x48 │ │ │ │ │ + ldr r2, [sp, #44] @ 0x2c │ │ │ │ │ + str r2, [r0, #76] @ 0x4c │ │ │ │ │ + ldr r2, [r6, #24] │ │ │ │ │ str r7, [r0, #100] @ 0x64 │ │ │ │ │ - mul.w r1, r3, r1 │ │ │ │ │ + str r6, [r0, #108] @ 0x6c │ │ │ │ │ + str r2, [r0, #96] @ 0x60 │ │ │ │ │ + ldr r2, [sp, #60] @ 0x3c │ │ │ │ │ + str r2, [r0, #88] @ 0x58 │ │ │ │ │ + ldr r2, [sp, #64] @ 0x40 │ │ │ │ │ + add r2, r1 │ │ │ │ │ + add.w r1, r5, #4294967295 @ 0xffffffff │ │ │ │ │ + ldrd r4, r5, [r7, #8] │ │ │ │ │ + str r2, [r0, #92] @ 0x5c │ │ │ │ │ + ldr r2, [sp, #64] @ 0x40 │ │ │ │ │ + strd r4, r5, [r0, #8] │ │ │ │ │ + ldrd r4, r5, [r7, #16] │ │ │ │ │ + add.w r2, r2, #4294967295 @ 0xffffffff │ │ │ │ │ + mul.w r1, r2, r1 │ │ │ │ │ + strd r4, r5, [r0, #16] │ │ │ │ │ + vldr d5, [r0, #16] │ │ │ │ │ vmov s15, r1 │ │ │ │ │ - ldmia r4!, {r0, r1, r2, r3} │ │ │ │ │ + ldrd r4, r5, [r7, #24] │ │ │ │ │ + strd r4, r5, [r0, #24] │ │ │ │ │ + ldrd r0, r1, [r7, #32] │ │ │ │ │ vcvt.f64.s32 d7, s15 │ │ │ │ │ - stmia r5!, {r0, r1, r2, r3} │ │ │ │ │ + strd r0, r1, [r3, #32] │ │ │ │ │ + mov r0, r3 │ │ │ │ │ vmul.f64 d6, d7, d6 │ │ │ │ │ - ldmia.w r4, {r0, r1, r2, r3} │ │ │ │ │ - stmia.w r5, {r0, r1, r2, r3} │ │ │ │ │ - vldr d5, [ip, #16] │ │ │ │ │ - mov r0, ip │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ - vstr d5, [ip, #16] │ │ │ │ │ - vldr d5, [ip, #8] │ │ │ │ │ + vstr d5, [r3, #16] │ │ │ │ │ + vldr d5, [r3, #8] │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ - vldr d7, [ip, #32] │ │ │ │ │ + vldr d7, [r3, #32] │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d7, [ip, #32] │ │ │ │ │ - vstr d5, [ip, #8] │ │ │ │ │ - b.n 4a │ │ │ │ │ + vstr d5, [r3, #8] │ │ │ │ │ + vstr d7, [r3, #32] │ │ │ │ │ + b.n 5c │ │ │ │ │ mov r0, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ - b.n 48 │ │ │ │ │ - nop │ │ │ │ │ - .word 0x0000008a │ │ │ │ │ + b.n 58 │ │ │ │ │ + .word 0x00000098 │ │ │ │ │ R_ARM_REL32 apply │ │ │ │ │ - .word 0x0000008c │ │ │ │ │ + .word 0x0000009a │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ │ │ │ │ │ │ │ -00000170 : │ │ │ │ │ +000001a4 : │ │ │ │ │ apply(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r7, r0 │ │ │ │ │ ldr r3, [r0, #64] @ 0x40 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r7, r0 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #100 @ 0x64 │ │ │ │ │ - adds r3, #16 │ │ │ │ │ + add.w r3, r3, #16 │ │ │ │ │ strd r1, r2, [sp, #52] @ 0x34 │ │ │ │ │ ldr r2, [r0, #96] @ 0x60 │ │ │ │ │ mul.w r0, r2, r3 │ │ │ │ │ - lsls r0, r0, #4 │ │ │ │ │ + mov.w r0, r0, lsl #4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ ldr r3, [r7, #88] @ 0x58 │ │ │ │ │ - str r3, [sp, #36] @ 0x24 │ │ │ │ │ mov r2, r3 │ │ │ │ │ + str r3, [sp, #36] @ 0x24 │ │ │ │ │ ldr r3, [r7, #92] @ 0x5c │ │ │ │ │ str r0, [sp, #92] @ 0x5c │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bge.w 2b6 │ │ │ │ │ + bge.w 30e │ │ │ │ │ ldr.w r8, [r7, #96] @ 0x60 │ │ │ │ │ add.w r2, r0, #8 │ │ │ │ │ str r2, [sp, #88] @ 0x58 │ │ │ │ │ mov r5, r8 │ │ │ │ │ mov r8, r0 │ │ │ │ │ - ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ ldr r2, [r7, #64] @ 0x40 │ │ │ │ │ + ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ ldr r6, [r7, #76] @ 0x4c │ │ │ │ │ - adds r1, r3, r5 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.w 2c2 │ │ │ │ │ + add.w r1, r3, r5 │ │ │ │ │ + ble.w 32c │ │ │ │ │ cmp r1, r3 │ │ │ │ │ - ble.w 2c2 │ │ │ │ │ + ble.w 32c │ │ │ │ │ ldr r3, [r7, #68] @ 0x44 │ │ │ │ │ add.w sl, r2, #16 │ │ │ │ │ - ldr.w fp, [r7, #104] @ 0x68 │ │ │ │ │ mov.w r9, r6, lsl #3 │ │ │ │ │ mov.w ip, #0 │ │ │ │ │ - str r1, [sp, #32] │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ - str r3, [sp, #60] @ 0x3c │ │ │ │ │ - ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ mov lr, r8 │ │ │ │ │ + str r1, [sp, #32] │ │ │ │ │ + ldr.w fp, [r7, #104] @ 0x68 │ │ │ │ │ strd r5, r8, [sp, #72] @ 0x48 │ │ │ │ │ - str r6, [sp, #80] @ 0x50 │ │ │ │ │ - str r2, [sp, #64] @ 0x40 │ │ │ │ │ + strd r6, r7, [sp, #80] @ 0x50 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + strd r3, r2, [sp, #60] @ 0x3c │ │ │ │ │ + ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ mul.w r3, r3, r6 │ │ │ │ │ - str r7, [sp, #84] @ 0x54 │ │ │ │ │ + mov.w r0, r3, lsl #3 │ │ │ │ │ str r3, [sp, #68] @ 0x44 │ │ │ │ │ - lsls r0, r3, #3 │ │ │ │ │ mov.w r3, sl, lsl #4 │ │ │ │ │ - str r3, [sp, #28] │ │ │ │ │ - mov r3, r9 │ │ │ │ │ mov sl, fp │ │ │ │ │ mov r1, r0 │ │ │ │ │ + str r3, [sp, #28] │ │ │ │ │ + mov r3, r9 │ │ │ │ │ mov r9, ip │ │ │ │ │ mov fp, r3 │ │ │ │ │ - ldr r3, [sp, #52] @ 0x34 │ │ │ │ │ - mov r6, lr │ │ │ │ │ ldr r4, [sp, #36] @ 0x24 │ │ │ │ │ + mov r6, lr │ │ │ │ │ mov r5, ip │ │ │ │ │ + strd r1, lr, [sp, #40] @ 0x28 │ │ │ │ │ + ldr r3, [sp, #52] @ 0x34 │ │ │ │ │ + str.w ip, [sp, #48] @ 0x30 │ │ │ │ │ add.w r8, r3, r1 │ │ │ │ │ ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ - strd r1, lr, [sp, #40] @ 0x28 │ │ │ │ │ - adds r7, r3, r1 │ │ │ │ │ + add.w r7, r3, r1 │ │ │ │ │ mov r3, r9 │ │ │ │ │ mov r9, sl │ │ │ │ │ mov sl, r3 │ │ │ │ │ - str.w ip, [sp, #48] @ 0x30 │ │ │ │ │ - ldr.w r3, [r9, #8] │ │ │ │ │ - mov r2, r6 │ │ │ │ │ vldr d1, [r7] │ │ │ │ │ + mov r2, r6 │ │ │ │ │ mov r1, r5 │ │ │ │ │ - vldr d0, [r8] │ │ │ │ │ mov r0, r9 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + vldr d0, [r8] │ │ │ │ │ + add r5, sl │ │ │ │ │ + add r8, fp │ │ │ │ │ + add r7, fp │ │ │ │ │ + ldr.w r3, [r9, #8] │ │ │ │ │ blx r3 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - add r8, fp │ │ │ │ │ add r6, r3 │ │ │ │ │ ldr r3, [sp, #32] │ │ │ │ │ - add r7, fp │ │ │ │ │ - add r5, sl │ │ │ │ │ cmp r3, r4 │ │ │ │ │ - bne.n 21a │ │ │ │ │ + bne.n 26a │ │ │ │ │ mov r3, sl │ │ │ │ │ - ldr.w ip, [sp, #48] @ 0x30 │ │ │ │ │ + ldrd lr, ip, [sp, #44] @ 0x2c │ │ │ │ │ mov sl, r9 │ │ │ │ │ add.w r9, r3, #1 │ │ │ │ │ - ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ - ldrd r1, lr, [sp, #40] @ 0x28 │ │ │ │ │ + ldrd r3, r1, [sp, #36] @ 0x24 │ │ │ │ │ + add.w lr, lr, #16 │ │ │ │ │ add ip, r3 │ │ │ │ │ ldr r3, [sp, #60] @ 0x3c │ │ │ │ │ - add.w lr, lr, #16 │ │ │ │ │ add r1, r3 │ │ │ │ │ ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ cmp r3, r9 │ │ │ │ │ - bne.n 1fc │ │ │ │ │ + bne.n 24a │ │ │ │ │ ldrd r5, r8, [sp, #72] @ 0x48 │ │ │ │ │ ldrd r6, r7, [sp, #80] @ 0x50 │ │ │ │ │ mov r3, r8 │ │ │ │ │ - ldr r0, [r7, #100] @ 0x64 │ │ │ │ │ mov r1, r8 │ │ │ │ │ ldr r2, [sp, #88] @ 0x58 │ │ │ │ │ + ldr r0, [r7, #100] @ 0x64 │ │ │ │ │ str r2, [sp, #0] │ │ │ │ │ mov r9, r2 │ │ │ │ │ ldr r4, [r0, #56] @ 0x38 │ │ │ │ │ blx r4 │ │ │ │ │ ldr r3, [sp, #68] @ 0x44 │ │ │ │ │ - movs r0, #2 │ │ │ │ │ - lsls r2, r3, #3 │ │ │ │ │ - ldrd r3, r1, [r7, #64] @ 0x40 │ │ │ │ │ - strd r3, r0, [sp, #12] │ │ │ │ │ - ldr r0, [sp, #52] @ 0x34 │ │ │ │ │ - adds r3, #16 │ │ │ │ │ - str r1, [sp, #20] │ │ │ │ │ - str r6, [sp, #8] │ │ │ │ │ + mov.w r0, #2 │ │ │ │ │ + ldr r1, [r7, #68] @ 0x44 │ │ │ │ │ + mov.w r2, r3, lsl #3 │ │ │ │ │ + ldr r3, [r7, #64] @ 0x40 │ │ │ │ │ + str r5, [sp, #0] │ │ │ │ │ + strd r6, r3, [sp, #8] │ │ │ │ │ + add.w r3, r3, #16 │ │ │ │ │ + mov.w r3, r3, lsl #1 │ │ │ │ │ + strd r0, r1, [sp, #16] │ │ │ │ │ mov r1, r9 │ │ │ │ │ - lsls r3, r3, #1 │ │ │ │ │ - strd r5, r3, [sp] │ │ │ │ │ + ldr r0, [sp, #52] @ 0x34 │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ add r3, r2 │ │ │ │ │ add r2, r0 │ │ │ │ │ mov r0, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_pair_co │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ ldr r5, [r7, #96] @ 0x60 │ │ │ │ │ add r3, r5 │ │ │ │ │ - str r3, [sp, #36] @ 0x24 │ │ │ │ │ mov r2, r3 │ │ │ │ │ ldr r3, [r7, #92] @ 0x5c │ │ │ │ │ + str r2, [sp, #36] @ 0x24 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bgt.w 1aa │ │ │ │ │ + bgt.w 1f2 │ │ │ │ │ ldr r0, [sp, #92] @ 0x5c │ │ │ │ │ add sp, #100 @ 0x64 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_ifree │ │ │ │ │ mul.w r3, r3, r6 │ │ │ │ │ str r3, [sp, #68] @ 0x44 │ │ │ │ │ - b.n 26a │ │ │ │ │ - nop │ │ │ │ │ + b.n 2ba │ │ │ │ │ │ │ │ │ │ -000002cc : │ │ │ │ │ +00000334 : │ │ │ │ │ awake(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ + mov r4, r1 │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ mov r5, r0 │ │ │ │ │ ldr r0, [r0, #100] @ 0x64 │ │ │ │ │ - mov r4, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ - cbnz r4, 2e4 │ │ │ │ │ + cbnz r4, 358 │ │ │ │ │ ldr r0, [r5, #104] @ 0x68 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_triggen_destroy │ │ │ │ │ str r4, [r5, #104] @ 0x68 │ │ │ │ │ - pop {r3, r4, r5, pc} │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r5, pc} │ │ │ │ │ ldr r3, [r5, #64] @ 0x40 │ │ │ │ │ - movs r0, #2 │ │ │ │ │ + mov.w r0, #2 │ │ │ │ │ ldr r1, [r5, #72] @ 0x48 │ │ │ │ │ mul.w r1, r3, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktriggen │ │ │ │ │ mov r4, r0 │ │ │ │ │ str r4, [r5, #104] @ 0x68 │ │ │ │ │ - pop {r3, r4, r5, pc} │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r5, pc} │ │ │ │ │ │ │ │ │ │ -000002f8 : │ │ │ │ │ +00000374 : │ │ │ │ │ fftw_ct_genericbuf_register(): │ │ │ │ │ - ldr r2, [pc, #136] @ (384 ) │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r9, r0 │ │ │ │ │ - ldr r1, [pc, #132] @ (388 ) │ │ │ │ │ + ldr r2, [pc, #180] @ (42c ) │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + ldr r1, [pc, #180] @ (430 ) │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + ldr.w fp, [pc, #172] @ 434 │ │ │ │ │ add r2, pc │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ sub sp, #28 │ │ │ │ │ - ldr.w fp, [pc, #132] @ 38c │ │ │ │ │ - ldr.w sl, [pc, #132] @ 390 │ │ │ │ │ + mov r9, r0 │ │ │ │ │ ldr r3, [r2, r1] │ │ │ │ │ + ldr.w sl, [pc, #156] @ 438 │ │ │ │ │ add fp, pc │ │ │ │ │ - add sl, pc │ │ │ │ │ add.w r6, fp, #28 │ │ │ │ │ - str r3, [sp, #12] │ │ │ │ │ + strd r3, r6, [sp, #12] │ │ │ │ │ add.w r3, fp, #48 @ 0x30 │ │ │ │ │ - strd r6, fp, [sp, #16] │ │ │ │ │ + str.w fp, [sp, #20] │ │ │ │ │ + add sl, pc │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ mov.w r8, #0 │ │ │ │ │ add.w r4, r3, #28 │ │ │ │ │ ldr.w r7, [fp] │ │ │ │ │ mov r3, sl │ │ │ │ │ + mov.w r2, #1 │ │ │ │ │ + mov.w r0, #28 │ │ │ │ │ ldr.w r5, [r4], #4 │ │ │ │ │ - movs r2, #1 │ │ │ │ │ - mov r1, r7 │ │ │ │ │ - movs r0, #28 │ │ │ │ │ str.w r8, [sp] │ │ │ │ │ + mov r1, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver_ct │ │ │ │ │ mov r1, r0 │ │ │ │ │ - str r5, [r0, #24] │ │ │ │ │ mov r0, r9 │ │ │ │ │ + str r5, [r1, #24] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ ldr r6, [r3, #0] │ │ │ │ │ - cbz r6, 36e │ │ │ │ │ + cbz r6, 404 │ │ │ │ │ mov r1, r7 │ │ │ │ │ mov r3, sl │ │ │ │ │ - movs r2, #1 │ │ │ │ │ - movs r0, #28 │ │ │ │ │ str.w r8, [sp] │ │ │ │ │ + mov.w r2, #1 │ │ │ │ │ + mov.w r0, #28 │ │ │ │ │ blx r6 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - str r5, [r0, #24] │ │ │ │ │ mov r0, r9 │ │ │ │ │ + str r5, [r1, #24] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ cmp r4, r3 │ │ │ │ │ - bne.n 32e │ │ │ │ │ + bne.n 3bc │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ add.w fp, fp, #4 │ │ │ │ │ cmp fp, r3 │ │ │ │ │ - bne.n 324 │ │ │ │ │ + bne.n 3b2 │ │ │ │ │ add sp, #28 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - .word 0x0000007e │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + .word 0x000000a0 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_mksolver_ct_hook │ │ │ │ │ - .word 0x00000078 │ │ │ │ │ + .word 0x00000094 │ │ │ │ │ R_ARM_REL32 .rodata │ │ │ │ │ - .word 0x0000007a │ │ │ │ │ + .word 0x00000086 │ │ │ │ │ R_ARM_REL32 mkcldw │ │ │ ├── direct.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 3112 (bytes into file) │ │ │ │ │ + Start of section headers: 3316 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 15 │ │ │ │ │ Section header string table index: 14 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ -There are 15 section headers, starting at offset 0xc28: │ │ │ │ │ +There are 15 section headers, starting at offset 0xcf4: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0005b4 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000a80 0000f8 08 I 12 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0005e8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0005e8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0005e8 000037 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 00061f 000010 00 WA 0 0 4 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000b78 000020 08 I 12 6 4 │ │ │ │ │ - [ 8] .data.rel.ro.local PROGBITS 00000000 00062f 00000c 00 WA 0 0 4 │ │ │ │ │ - [ 9] .rel.data.rel.ro.local REL 00000000 000b98 000008 08 I 12 8 4 │ │ │ │ │ - [10] .note.GNU-stack PROGBITS 00000000 00063b 000000 00 0 0 1 │ │ │ │ │ - [11] .ARM.attributes ARM_ATTRIBUTES 00000000 00063b 000033 00 0 0 1 │ │ │ │ │ - [12] .symtab SYMTAB 00000000 000670 000290 10 13 24 4 │ │ │ │ │ - [13] .strtab STRTAB 00000000 000900 00017e 00 0 0 1 │ │ │ │ │ - [14] .shstrtab STRTAB 00000000 000ba0 000087 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000680 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000b4c 0000f8 08 I 12 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0006b4 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0006b4 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0006b4 000037 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0006eb 000010 00 WA 0 0 4 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000c44 000020 08 I 12 6 4 │ │ │ │ │ + [ 8] .data.rel.ro.local PROGBITS 00000000 0006fb 00000c 00 WA 0 0 4 │ │ │ │ │ + [ 9] .rel.data.rel.ro.local REL 00000000 000c64 000008 08 I 12 8 4 │ │ │ │ │ + [10] .note.GNU-stack PROGBITS 00000000 000707 000000 00 0 0 1 │ │ │ │ │ + [11] .ARM.attributes ARM_ATTRIBUTES 00000000 000707 000033 00 0 0 1 │ │ │ │ │ + [12] .symtab SYMTAB 00000000 00073c 000290 10 13 24 4 │ │ │ │ │ + [13] .strtab STRTAB 00000000 0009cc 00017e 00 0 0 1 │ │ │ │ │ + [14] .shstrtab STRTAB 00000000 000c6c 000087 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,28 +1,28 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 41 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 54 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ + 1: 00000001 56 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000039 108 FUNC LOCAL DEFAULT 1 apply_extra_iter │ │ │ │ │ - 4: 000000a5 2 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 3: 00000039 146 FUNC LOCAL DEFAULT 1 apply_extra_iter │ │ │ │ │ + 4: 000000cd 2 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 6: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ 7: 00000020 0 NOTYPE LOCAL DEFAULT 5 .LC1 │ │ │ │ │ - 8: 000000a9 68 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ - 9: 000000e4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 10: 000000ec 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 11: 000000ed 692 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 12: 0000038c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 13: 000003a1 466 FUNC LOCAL DEFAULT 1 apply_buf │ │ │ │ │ - 14: 000003a0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 15: 00000590 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 16: 00000594 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 17: 000005b0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 000000d1 96 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 9: 00000128 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 10: 00000130 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 11: 00000131 748 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 12: 00000408 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 13: 0000041d 516 FUNC LOCAL DEFAULT 1 apply_buf │ │ │ │ │ + 14: 0000041c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 15: 0000064c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 16: 00000650 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 17: 0000067c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 18: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 19: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 20: 00000000 16 OBJECT LOCAL DEFAULT 6 padt.0 │ │ │ │ │ 21: 00000000 0 SECTION LOCAL DEFAULT 8 .data.rel.ro.local │ │ │ │ │ 22: 00000000 0 NOTYPE LOCAL DEFAULT 8 $d │ │ │ │ │ 23: 00000000 12 OBJECT LOCAL DEFAULT 8 sadt.1 │ │ │ │ │ 24: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_tornk1 │ │ │ │ │ @@ -33,12 +33,12 @@ │ │ │ │ │ 29: 00000000 0 NOTYPE GLOBAL DEFAULT UND __aeabi_idivmod │ │ │ │ │ 30: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_iabs │ │ │ │ │ 31: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_inplace_strides2 │ │ │ │ │ 32: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_cpy2d_pair_ci │ │ │ │ │ 33: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_cpy2d_pair_co │ │ │ │ │ 34: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ifree │ │ │ │ │ 35: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_malloc_plain │ │ │ │ │ - 36: 00000575 32 FUNC GLOBAL DEFAULT 1 fftw_mksolver_dft_direct │ │ │ │ │ + 36: 00000621 48 FUNC GLOBAL DEFAULT 1 fftw_mksolver_dft_direct │ │ │ │ │ 37: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ - 38: 00000595 32 FUNC GLOBAL DEFAULT 1 fftw_mksolver_dft_directbuf │ │ │ │ │ + 38: 00000651 48 FUNC GLOBAL DEFAULT 1 fftw_mksolver_dft_directbuf │ │ │ │ │ 39: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_solve │ │ │ │ │ 40: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_null_awake │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,45 +1,45 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xa80 contains 31 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xb4c contains 31 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000000e4 00000603 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -000000e8 00000703 R_ARM_REL32 00000020 .LC1 │ │ │ │ │ -0000012a 0000180a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ -000001da 0000190a R_ARM_THM_CALL 00000000 fftw_mkplan_dft │ │ │ │ │ -00000214 0000180a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ -0000021c 00001a0a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ -00000226 00001b0a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -0000022e 00001c0a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ -0000027e 0000180a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ -000002e6 00001d0a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -0000031e 0000190a R_ARM_THM_CALL 00000000 fftw_mkplan_dft │ │ │ │ │ -00000334 00001e0a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -0000033c 00001e0a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -00000352 00001f0a R_ARM_THM_CALL 00000000 fftw_tensor_inplace_strides2 │ │ │ │ │ -0000036a 00001f0a R_ARM_THM_CALL 00000000 fftw_tensor_inplace_strides2 │ │ │ │ │ -0000037a 00001f0a R_ARM_THM_CALL 00000000 fftw_tensor_inplace_strides2 │ │ │ │ │ -0000038c 00000303 R_ARM_REL32 00000039 apply_extra_iter │ │ │ │ │ -00000390 00001203 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000394 00000d03 R_ARM_REL32 000003a1 apply_buf │ │ │ │ │ -00000398 00001203 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000039c 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ -00000448 0000200a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_ci │ │ │ │ │ -000004a0 0000210a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_co │ │ │ │ │ -000004cc 0000200a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_ci │ │ │ │ │ -0000054a 0000210a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_co │ │ │ │ │ -00000558 0000220a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -00000566 0000230a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -00000580 0000250a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -00000590 00001503 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -000005a0 0000250a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -000005b0 00001503 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +00000128 00000603 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +0000012c 00000703 R_ARM_REL32 00000020 .LC1 │ │ │ │ │ +00000192 0000180a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ +00000246 0000190a R_ARM_THM_CALL 00000000 fftw_mkplan_dft │ │ │ │ │ +00000286 0000180a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ +0000028e 00001a0a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ +00000298 00001b0a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +000002a0 00001c0a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ +000002f0 0000180a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ +0000035c 00001d0a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +0000039a 0000190a R_ARM_THM_CALL 00000000 fftw_mkplan_dft │ │ │ │ │ +000003b0 00001e0a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +000003b8 00001e0a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +000003ce 00001f0a R_ARM_THM_CALL 00000000 fftw_tensor_inplace_strides2 │ │ │ │ │ +000003e6 00001f0a R_ARM_THM_CALL 00000000 fftw_tensor_inplace_strides2 │ │ │ │ │ +000003f6 00001f0a R_ARM_THM_CALL 00000000 fftw_tensor_inplace_strides2 │ │ │ │ │ +00000408 00000303 R_ARM_REL32 00000039 apply_extra_iter │ │ │ │ │ +0000040c 00001203 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000410 00000d03 R_ARM_REL32 0000041d apply_buf │ │ │ │ │ +00000414 00001203 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000418 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ +000004e6 0000200a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_ci │ │ │ │ │ +00000542 0000210a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_co │ │ │ │ │ +00000570 0000200a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_ci │ │ │ │ │ +000005fe 0000210a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_co │ │ │ │ │ +0000060c 0000220a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +00000614 0000230a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +00000634 0000250a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +0000064c 00001503 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +00000664 0000250a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +0000067c 00001503 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xb78 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xc44 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00002702 R_ARM_ABS32 00000000 fftw_dft_solve │ │ │ │ │ 00000004 00002802 R_ARM_ABS32 00000000 fftw_null_awake │ │ │ │ │ -00000008 00000802 R_ARM_ABS32 000000a9 print │ │ │ │ │ -0000000c 00000402 R_ARM_ABS32 000000a5 destroy │ │ │ │ │ +00000008 00000802 R_ARM_ABS32 000000d1 print │ │ │ │ │ +0000000c 00000402 R_ARM_ABS32 000000cd destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0xb98 contains 1 entry: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0xc64 contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000b02 R_ARM_ABS32 000000ed mkplan │ │ │ │ │ +00000004 00000b02 R_ARM_ABS32 00000131 mkplan │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,10 +1,8 @@ │ │ │ │ │ -h i"hdhY │ │ │ │ │ -nJzDnIh yD │ │ │ │ │ -[FYFBF@F │ │ │ │ │ +[FBFYF@F │ │ │ │ │ (dft-directbuf/%D-%D%v "%s") │ │ │ │ │ (dft-direct-%D%v "%s") │ │ │ │ │ apply_extra_iter │ │ │ │ │ apply_buf │ │ │ │ │ fftw_tensor_tornk1 │ │ │ │ │ fftw_mkplan_dft │ │ │ │ │ fftw_ops_zero │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,251 +1,267 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ apply(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ mov ip, r0 │ │ │ │ │ mov r0, r1 │ │ │ │ │ - sub sp, #24 │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r1, r2 │ │ │ │ │ mov r2, r3 │ │ │ │ │ ldr.w r3, [ip, #88] @ 0x58 │ │ │ │ │ + sub sp, #24 │ │ │ │ │ str r3, [sp, #16] │ │ │ │ │ ldr.w r3, [ip, #84] @ 0x54 │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ ldr.w r3, [ip, #80] @ 0x50 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr.w r3, [ip, #68] @ 0x44 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr.w r3, [ip, #64] @ 0x40 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldr r3, [sp, #32] │ │ │ │ │ ldr.w r4, [ip, #92] @ 0x5c │ │ │ │ │ blx r4 │ │ │ │ │ add sp, #24 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - nop │ │ │ │ │ │ │ │ │ │ 00000038 : │ │ │ │ │ apply_extra_iter(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ + mov r4, r0 │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + mov r7, r2 │ │ │ │ │ + mov r2, r3 │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ mov r9, r3 │ │ │ │ │ - ldr r3, [r0, #88] @ 0x58 │ │ │ │ │ + ldr r5, [r4, #80] @ 0x50 │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ sub sp, #24 │ │ │ │ │ - ldr r5, [r0, #80] @ 0x50 │ │ │ │ │ - mov r4, r0 │ │ │ │ │ mov sl, r1 │ │ │ │ │ - subs r5, #1 │ │ │ │ │ - mov r7, r2 │ │ │ │ │ - str r3, [sp, #16] │ │ │ │ │ - mov r2, r9 │ │ │ │ │ - ldr.w r8, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r3, [r4, #88] @ 0x58 │ │ │ │ │ mov r1, r7 │ │ │ │ │ - ldr r3, [r0, #84] @ 0x54 │ │ │ │ │ + mov r0, sl │ │ │ │ │ + ldr.w r8, [sp, #56] @ 0x38 │ │ │ │ │ + add.w r5, r5, #4294967295 @ 0xffffffff │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ + ldr r3, [r4, #84] @ 0x54 │ │ │ │ │ strd r5, r3, [sp, #8] │ │ │ │ │ - ldr r3, [r0, #68] @ 0x44 │ │ │ │ │ + ldr r3, [r4, #68] @ 0x44 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ - ldr r3, [r0, #64] @ 0x40 │ │ │ │ │ - mov r0, sl │ │ │ │ │ + ldr r3, [r4, #64] @ 0x40 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, r8 │ │ │ │ │ ldr r6, [r4, #92] @ 0x5c │ │ │ │ │ blx r6 │ │ │ │ │ - ldr r3, [r4, #88] @ 0x58 │ │ │ │ │ - ldr r0, [r4, #84] @ 0x54 │ │ │ │ │ + ldrd r0, r3, [r4, #84] @ 0x54 │ │ │ │ │ mul.w r0, r5, r0 │ │ │ │ │ mul.w r5, r3, r5 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ strd r3, r3, [sp, #12] │ │ │ │ │ - movs r3, #1 │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ - adds r1, r7, r0 │ │ │ │ │ + add.w r1, r7, r0 │ │ │ │ │ + add r0, sl │ │ │ │ │ ldr r3, [r4, #68] @ 0x44 │ │ │ │ │ add.w r2, r9, r5 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ - add r0, sl │ │ │ │ │ ldr r3, [r4, #64] @ 0x40 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ add.w r3, r8, r5 │ │ │ │ │ ldr r4, [r4, #92] @ 0x5c │ │ │ │ │ blx r4 │ │ │ │ │ add sp, #24 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {sl, pc} │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -000000a4 : │ │ │ │ │ +000000cc : │ │ │ │ │ destroy(): │ │ │ │ │ bx lr │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000000a8 : │ │ │ │ │ +000000d0 : │ │ │ │ │ print(): │ │ │ │ │ mov r3, r0 │ │ │ │ │ mov r0, r1 │ │ │ │ │ - push {r4, r5, lr} │ │ │ │ │ - ldr r1, [r3, #96] @ 0x60 │ │ │ │ │ + str.w r4, [sp, #-12]! │ │ │ │ │ + strd r5, lr, [sp, #4] │ │ │ │ │ sub sp, #12 │ │ │ │ │ - ldr r5, [r0, #0] │ │ │ │ │ + ldr r5, [r1, #0] │ │ │ │ │ + ldr r1, [r3, #96] @ 0x60 │ │ │ │ │ ldr r3, [r3, #80] @ 0x50 │ │ │ │ │ ldr r4, [r1, #8] │ │ │ │ │ ldr r1, [r1, #16] │ │ │ │ │ - ldr r2, [r4, #0] │ │ │ │ │ - ldr r4, [r4, #4] │ │ │ │ │ - cbz r1, d8 │ │ │ │ │ - adds r1, r2, #3 │ │ │ │ │ + ldrd r2, r4, [r4] │ │ │ │ │ + cbz r1, 112 │ │ │ │ │ + add.w r1, r2, #3 │ │ │ │ │ strd r3, r4, [sp] │ │ │ │ │ - bic.w r1, r1, #3 │ │ │ │ │ mov r3, r2 │ │ │ │ │ - adds r2, r1, #2 │ │ │ │ │ - ldr r1, [pc, #20] @ (e4 ) │ │ │ │ │ + bic.w r1, r1, #3 │ │ │ │ │ + add.w r2, r1, #2 │ │ │ │ │ + ldr r1, [pc, #36] @ (128 ) │ │ │ │ │ add r1, pc │ │ │ │ │ blx r5 │ │ │ │ │ add sp, #12 │ │ │ │ │ - pop {r4, r5, pc} │ │ │ │ │ - ldr r1, [pc, #12] @ (e8 ) │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + ldr r1, [pc, #24] @ (12c ) │ │ │ │ │ str r4, [sp, #0] │ │ │ │ │ add r1, pc │ │ │ │ │ blx r5 │ │ │ │ │ add sp, #12 │ │ │ │ │ - pop {r4, r5, pc} │ │ │ │ │ - .word 0x00000010 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x00000022 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + .word 0x00000012 │ │ │ │ │ R_ARM_REL32 .LC1 │ │ │ │ │ │ │ │ │ │ -000000ec : │ │ │ │ │ +00000130 : │ │ │ │ │ mkplan(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + ldr r3, [r1, #4] │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + mov r4, r2 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r0 │ │ │ │ │ + mov r6, r1 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ ldr r7, [r0, #8] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ ldr r0, [r0, #16] │ │ │ │ │ - mov r6, r1 │ │ │ │ │ - ldr r3, [r1, #4] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #60 @ 0x3c │ │ │ │ │ - mov r4, r2 │ │ │ │ │ ldr r1, [r3, #0] │ │ │ │ │ - cbz r0, 110 │ │ │ │ │ + cbz r0, 178 │ │ │ │ │ cmp r1, #1 │ │ │ │ │ - beq.w 264 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + beq.w 2d6 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #60 @ 0x3c │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ cmp r1, #1 │ │ │ │ │ - bne.n 108 │ │ │ │ │ + bne.n 15c │ │ │ │ │ ldr r0, [r6, #8] │ │ │ │ │ ldr r2, [r0, #0] │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - bgt.n 108 │ │ │ │ │ + bgt.n 15c │ │ │ │ │ ldr r2, [r3, #4] │ │ │ │ │ ldr r3, [r7, #0] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.n 108 │ │ │ │ │ + bne.n 15c │ │ │ │ │ add r3, sp, #52 @ 0x34 │ │ │ │ │ add r2, sp, #48 @ 0x30 │ │ │ │ │ add r1, sp, #44 @ 0x2c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_tornk1 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 108 │ │ │ │ │ + beq.n 15c │ │ │ │ │ ldr r1, [sp, #52] @ 0x34 │ │ │ │ │ mov r0, r7 │ │ │ │ │ ldr r3, [r6, #4] │ │ │ │ │ ldr r2, [r7, #40] @ 0x28 │ │ │ │ │ - str r1, [sp, #20] │ │ │ │ │ + strd r1, r4, [sp, #20] │ │ │ │ │ ldr r1, [sp, #48] @ 0x30 │ │ │ │ │ str r1, [sp, #16] │ │ │ │ │ ldr r1, [sp, #44] @ 0x2c │ │ │ │ │ - str r4, [sp, #24] │ │ │ │ │ str r1, [sp, #12] │ │ │ │ │ ldr r1, [r3, #12] │ │ │ │ │ str r1, [sp, #8] │ │ │ │ │ ldr r3, [r3, #8] │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr r3, [r6, #24] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldr.w r8, [r2] │ │ │ │ │ - ldr r1, [r6, #12] │ │ │ │ │ - ldrd r2, r3, [r6, #16] │ │ │ │ │ + ldrd r1, r2, [r6, #12] │ │ │ │ │ + ldr r3, [r6, #20] │ │ │ │ │ blx r8 │ │ │ │ │ ldr r1, [r6, #12] │ │ │ │ │ mov r8, r0 │ │ │ │ │ ldr r3, [r6, #20] │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.w 326 │ │ │ │ │ + bne.w 3a2 │ │ │ │ │ ldr r2, [sp, #52] @ 0x34 │ │ │ │ │ ldr r0, [r6, #4] │ │ │ │ │ ldr.w ip, [r7, #40] @ 0x28 │ │ │ │ │ - str r2, [sp, #20] │ │ │ │ │ + strd r2, r4, [sp, #20] │ │ │ │ │ ldr r2, [sp, #48] @ 0x30 │ │ │ │ │ str r2, [sp, #16] │ │ │ │ │ ldr r2, [sp, #44] @ 0x2c │ │ │ │ │ - str r4, [sp, #24] │ │ │ │ │ - subs r2, #1 │ │ │ │ │ + add.w r2, r2, #4294967295 @ 0xffffffff │ │ │ │ │ str r2, [sp, #12] │ │ │ │ │ ldr r2, [r0, #12] │ │ │ │ │ str r2, [sp, #8] │ │ │ │ │ ldr r2, [r0, #8] │ │ │ │ │ mov r0, r7 │ │ │ │ │ str r2, [sp, #4] │ │ │ │ │ ldr r2, [r6, #24] │ │ │ │ │ str r2, [sp, #0] │ │ │ │ │ ldr.w r9, [ip] │ │ │ │ │ ldr r2, [r6, #16] │ │ │ │ │ blx r9 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 108 │ │ │ │ │ + beq.n 15c │ │ │ │ │ ldr r3, [r6, #4] │ │ │ │ │ - movs r1, #2 │ │ │ │ │ - ldr r2, [r7, #40] @ 0x28 │ │ │ │ │ + mov.w r1, #2 │ │ │ │ │ mov r0, r7 │ │ │ │ │ + ldr r2, [r7, #40] @ 0x28 │ │ │ │ │ + strd r1, r8, [sp, #12] │ │ │ │ │ strd r8, r4, [sp, #20] │ │ │ │ │ - str.w r8, [sp, #16] │ │ │ │ │ - str r1, [sp, #12] │ │ │ │ │ ldr r1, [r3, #12] │ │ │ │ │ str r1, [sp, #8] │ │ │ │ │ ldr r3, [r3, #8] │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr r3, [r6, #24] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldr r4, [r2, #0] │ │ │ │ │ - ldr r1, [r6, #12] │ │ │ │ │ - ldrd r2, r3, [r6, #16] │ │ │ │ │ + ldrd r1, r2, [r6, #12] │ │ │ │ │ + ldr r3, [r6, #20] │ │ │ │ │ blx r4 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 108 │ │ │ │ │ + beq.n 15c │ │ │ │ │ ldr r2, [r6, #12] │ │ │ │ │ ldr r3, [r6, #20] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.w 35e │ │ │ │ │ - ldr r2, [pc, #440] @ (38c ) │ │ │ │ │ + beq.w 3da │ │ │ │ │ + ldr r2, [pc, #460] @ (408 ) │ │ │ │ │ add r2, pc │ │ │ │ │ - ldr r1, [pc, #440] @ (390 ) │ │ │ │ │ - movs r0, #104 @ 0x68 │ │ │ │ │ + ldr r1, [pc, #460] @ (40c ) │ │ │ │ │ + mov.w r0, #104 @ 0x68 │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_dft │ │ │ │ │ mov r4, r0 │ │ │ │ │ - ldr r2, [r6, #4] │ │ │ │ │ + ldrd r2, r0, [r6, #4] │ │ │ │ │ + add.w r6, r4, #8 │ │ │ │ │ add.w r8, r7, #8 │ │ │ │ │ ldr r3, [r5, #12] │ │ │ │ │ str r3, [r4, #92] @ 0x5c │ │ │ │ │ ldr r3, [r2, #4] │ │ │ │ │ str r3, [r4, #76] @ 0x4c │ │ │ │ │ - adds r3, #3 │ │ │ │ │ - ldr r0, [r6, #8] │ │ │ │ │ - bic.w r3, r3, #3 │ │ │ │ │ - add.w r6, r4, #8 │ │ │ │ │ - adds r3, #2 │ │ │ │ │ + add.w r3, r3, #3 │ │ │ │ │ ldrd r1, r2, [r2, #8] │ │ │ │ │ + bic.w r3, r3, #3 │ │ │ │ │ + add.w r3, r3, #2 │ │ │ │ │ + mov.w r3, r3, lsl #1 │ │ │ │ │ strd r1, r2, [r4, #64] @ 0x40 │ │ │ │ │ - lsls r3, r3, #1 │ │ │ │ │ add.w r2, r4, #84 @ 0x54 │ │ │ │ │ add.w r1, r4, #80 @ 0x50 │ │ │ │ │ str r3, [r4, #72] @ 0x48 │ │ │ │ │ add.w r3, r4, #88 @ 0x58 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_tornk1 │ │ │ │ │ mov r0, r6 │ │ │ │ │ @@ -258,384 +274,390 @@ │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ mov r2, r6 │ │ │ │ │ mov r1, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_madd2 │ │ │ │ │ ldr r3, [r5, #16] │ │ │ │ │ - cbz r3, 254 │ │ │ │ │ - ldrd r2, r1, [r4, #76] @ 0x4c │ │ │ │ │ + cbz r3, 2c8 │ │ │ │ │ vldr d6, [r4, #32] │ │ │ │ │ + ldrd r2, r1, [r4, #76] @ 0x4c │ │ │ │ │ mul.w r2, r1, r2 │ │ │ │ │ - lsls r2, r2, #2 │ │ │ │ │ + mov.w r2, r2, lsl #2 │ │ │ │ │ vmov s15, r2 │ │ │ │ │ vcvt.f64.s32 d7, s15 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vstr d6, [r4, #32] │ │ │ │ │ clz r3, r3 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - lsrs r3, r3, #5 │ │ │ │ │ + mov.w r3, r3, lsr #5 │ │ │ │ │ str r3, [r4, #52] @ 0x34 │ │ │ │ │ - add sp, #60 @ 0x3c │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + b.n 160 │ │ │ │ │ ldr r0, [r6, #8] │ │ │ │ │ ldr r2, [r0, #0] │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - bne.w 108 │ │ │ │ │ + bne.w 15c │ │ │ │ │ ldr r2, [r3, #4] │ │ │ │ │ ldr r3, [r7, #0] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.w 108 │ │ │ │ │ + bne.w 15c │ │ │ │ │ add r3, sp, #52 @ 0x34 │ │ │ │ │ add r2, sp, #48 @ 0x30 │ │ │ │ │ add r1, sp, #44 @ 0x2c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_tornk1 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 108 │ │ │ │ │ + beq.w 15c │ │ │ │ │ ldr.w r3, [r4, #164] @ 0xa4 │ │ │ │ │ lsls r3, r3, #15 │ │ │ │ │ - bmi.n 330 │ │ │ │ │ + bmi.n 3ac │ │ │ │ │ ldr r3, [r7, #0] │ │ │ │ │ mov.w sl, #2 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ + mov r0, r7 │ │ │ │ │ ldr r2, [sp, #52] @ 0x34 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ add.w r8, r3, #3 │ │ │ │ │ ldr r3, [r7, #40] @ 0x28 │ │ │ │ │ bic.w r8, r8, #3 │ │ │ │ │ - str r4, [sp, #24] │ │ │ │ │ - str r2, [sp, #20] │ │ │ │ │ add.w r8, r8, #2 │ │ │ │ │ - strd r8, sl, [sp, #12] │ │ │ │ │ - mov r0, r7 │ │ │ │ │ mov.w r9, r8, lsl #1 │ │ │ │ │ + strd r8, sl, [sp, #12] │ │ │ │ │ + strd r2, r4, [sp, #20] │ │ │ │ │ ldr r2, [r6, #4] │ │ │ │ │ ldr r2, [r2, #12] │ │ │ │ │ strd r9, r2, [sp, #4] │ │ │ │ │ ldr r2, [r6, #24] │ │ │ │ │ str r2, [sp, #0] │ │ │ │ │ - movs r2, #8 │ │ │ │ │ + mov.w r2, #8 │ │ │ │ │ ldr.w fp, [r3] │ │ │ │ │ ldr r3, [r6, #20] │ │ │ │ │ blx fp │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 108 │ │ │ │ │ + beq.w 15c │ │ │ │ │ ldr r3, [r6, #20] │ │ │ │ │ mov r1, r8 │ │ │ │ │ - ldr r2, [sp, #52] @ 0x34 │ │ │ │ │ ldr r0, [sp, #44] @ 0x2c │ │ │ │ │ - ldr.w fp, [r7, #40] @ 0x28 │ │ │ │ │ + ldr r2, [sp, #52] @ 0x34 │ │ │ │ │ str r3, [sp, #36] @ 0x24 │ │ │ │ │ - str r4, [sp, #24] │ │ │ │ │ + ldr.w fp, [r7, #40] @ 0x28 │ │ │ │ │ strd sl, r2, [sp, #16] │ │ │ │ │ + str r4, [sp, #24] │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ str r1, [sp, #12] │ │ │ │ │ mov r0, r7 │ │ │ │ │ - ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ ldr r2, [r6, #4] │ │ │ │ │ + ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ ldr r2, [r2, #12] │ │ │ │ │ strd r9, r2, [sp, #4] │ │ │ │ │ ldr r2, [r6, #24] │ │ │ │ │ str r2, [sp, #0] │ │ │ │ │ - movs r2, #8 │ │ │ │ │ + mov.w r2, #8 │ │ │ │ │ ldr.w r4, [fp] │ │ │ │ │ blx r4 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 108 │ │ │ │ │ + beq.w 15c │ │ │ │ │ ldr r2, [r6, #12] │ │ │ │ │ ldr r3, [r6, #20] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.n 376 │ │ │ │ │ - ldr r2, [pc, #124] @ (394 ) │ │ │ │ │ - movs r0, #104 @ 0x68 │ │ │ │ │ - ldr r1, [pc, #124] @ (398 ) │ │ │ │ │ + beq.n 3f2 │ │ │ │ │ + ldr r2, [pc, #128] @ (410 ) │ │ │ │ │ + mov.w r0, #104 @ 0x68 │ │ │ │ │ + ldr r1, [pc, #124] @ (414 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_dft │ │ │ │ │ mov r4, r0 │ │ │ │ │ - b.n 1e0 │ │ │ │ │ + b.n 24c │ │ │ │ │ cmp r3, r1 │ │ │ │ │ - beq.n 348 │ │ │ │ │ - ldr r2, [pc, #112] @ (39c ) │ │ │ │ │ + beq.n 3c4 │ │ │ │ │ + ldr r2, [pc, #112] @ (418 ) │ │ │ │ │ add r2, pc │ │ │ │ │ - b.n 1d4 │ │ │ │ │ + b.n 23e │ │ │ │ │ ldr r3, [r6, #4] │ │ │ │ │ ldr r0, [r3, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ mov r8, r0 │ │ │ │ │ ldr r0, [sp, #48] @ 0x30 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ cmp r8, r0 │ │ │ │ │ - ble.w 108 │ │ │ │ │ - b.n 290 │ │ │ │ │ + ble.w 15c │ │ │ │ │ + b.n 302 │ │ │ │ │ ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - beq.n 32a │ │ │ │ │ + beq.n 3a6 │ │ │ │ │ ldrd r0, r1, [r6, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_inplace_strides2 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 108 │ │ │ │ │ - b.n 32a │ │ │ │ │ + beq.w 15c │ │ │ │ │ + b.n 3a6 │ │ │ │ │ ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - beq.w 1d0 │ │ │ │ │ + beq.w 23a │ │ │ │ │ ldrd r0, r1, [r6, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_inplace_strides2 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.w 1d0 │ │ │ │ │ - b.n 108 │ │ │ │ │ + bne.w 23a │ │ │ │ │ + b.n 15c │ │ │ │ │ ldrd r0, r1, [r6, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_inplace_strides2 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.n 314 │ │ │ │ │ + bne.n 38e │ │ │ │ │ ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ cmp r8, r3 │ │ │ │ │ - blt.w 108 │ │ │ │ │ - b.n 314 │ │ │ │ │ - .word 0x000001b6 │ │ │ │ │ + blt.w 15c │ │ │ │ │ + b.n 38e │ │ │ │ │ + .word 0x000001c8 │ │ │ │ │ R_ARM_REL32 apply_extra_iter │ │ │ │ │ - .word 0x000001b4 │ │ │ │ │ + .word 0x000001c4 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000076 │ │ │ │ │ R_ARM_REL32 apply_buf │ │ │ │ │ .word 0x00000078 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x0000006c │ │ │ │ │ R_ARM_REL32 apply │ │ │ │ │ │ │ │ │ │ -000003a0 : │ │ │ │ │ +0000041c : │ │ │ │ │ apply_buf(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov fp, r2 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + mov r4, r0 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ mov r9, r3 │ │ │ │ │ + mov sl, r1 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #52 @ 0x34 │ │ │ │ │ - ldr r2, [r0, #76] @ 0x4c │ │ │ │ │ + mov fp, r2 │ │ │ │ │ + ldrd r2, r3, [r0, #76] @ 0x4c │ │ │ │ │ add r7, sp, #24 │ │ │ │ │ - ldr r3, [r0, #80] @ 0x50 │ │ │ │ │ - mov r4, r0 │ │ │ │ │ - adds r5, r2, #3 │ │ │ │ │ - mov sl, r1 │ │ │ │ │ - bic.w r5, r5, #3 │ │ │ │ │ + add.w r5, r2, #3 │ │ │ │ │ str r3, [r7, #4] │ │ │ │ │ - adds r5, #2 │ │ │ │ │ + bic.w r5, r5, #3 │ │ │ │ │ + add.w r5, r5, #2 │ │ │ │ │ mul.w r3, r5, r2 │ │ │ │ │ - lsls r3, r3, #4 │ │ │ │ │ - str r3, [r7, #0] │ │ │ │ │ + mov.w r3, r3, lsl #4 │ │ │ │ │ cmp.w r3, #65536 @ 0x10000 │ │ │ │ │ - bcs.w 564 │ │ │ │ │ + str r3, [r7, #0] │ │ │ │ │ + bcs.w 612 │ │ │ │ │ sub.w sp, sp, r3 │ │ │ │ │ add r3, sp, #24 │ │ │ │ │ - str r3, [r7, #16] │ │ │ │ │ mov r1, r3 │ │ │ │ │ + str r3, [r7, #16] │ │ │ │ │ ldr r3, [r7, #4] │ │ │ │ │ - adds r1, #8 │ │ │ │ │ + add.w r1, r1, #8 │ │ │ │ │ str r1, [r7, #20] │ │ │ │ │ - subs r3, r3, r5 │ │ │ │ │ ldr r1, [r4, #84] @ 0x54 │ │ │ │ │ + sub.w r3, r3, r5 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.n 4ae │ │ │ │ │ + ble.n 550 │ │ │ │ │ mov.w r8, #0 │ │ │ │ │ str r3, [r7, #8] │ │ │ │ │ - b.n 42c │ │ │ │ │ + b.n 4c8 │ │ │ │ │ + mov.w r0, #2 │ │ │ │ │ strd r3, r2, [sp] │ │ │ │ │ - movs r0, #2 │ │ │ │ │ - strd r5, r0, [sp, #8] │ │ │ │ │ mov r2, r9 │ │ │ │ │ str r1, [sp, #16] │ │ │ │ │ + strd r5, r0, [sp, #8] │ │ │ │ │ mov r0, r6 │ │ │ │ │ - ldr r3, [r7, #64] @ 0x40 │ │ │ │ │ - ldr r1, [r7, #20] │ │ │ │ │ ldr r6, [r7, #12] │ │ │ │ │ + ldr r1, [r7, #20] │ │ │ │ │ + ldr r3, [r7, #64] @ 0x40 │ │ │ │ │ blx r6 │ │ │ │ │ ldr r1, [r4, #84] @ 0x54 │ │ │ │ │ add r8, r5 │ │ │ │ │ ldr r2, [r7, #64] @ 0x40 │ │ │ │ │ mul.w r3, r5, r1 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ add sl, r3 │ │ │ │ │ add fp, r3 │ │ │ │ │ ldr r3, [r4, #88] @ 0x58 │ │ │ │ │ mul.w r3, r5, r3 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ add r2, r3 │ │ │ │ │ add r9, r3 │ │ │ │ │ ldr r3, [r7, #8] │ │ │ │ │ str r2, [r7, #64] @ 0x40 │ │ │ │ │ - cmp r8, r3 │ │ │ │ │ ldr r2, [r4, #76] @ 0x4c │ │ │ │ │ - bge.n 4a6 │ │ │ │ │ - str r5, [sp, #12] │ │ │ │ │ - movs r0, #2 │ │ │ │ │ - strd r1, r0, [sp, #16] │ │ │ │ │ + cmp r8, r3 │ │ │ │ │ + bge.n 548 │ │ │ │ │ + mov.w r0, #2 │ │ │ │ │ + strd r5, r1, [sp, #12] │ │ │ │ │ mov r1, fp │ │ │ │ │ + str r0, [sp, #20] │ │ │ │ │ mov r0, sl │ │ │ │ │ ldr r3, [r4, #72] @ 0x48 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr r3, [r4, #64] @ 0x40 │ │ │ │ │ strd r2, r3, [sp] │ │ │ │ │ ldrd r6, r3, [r7, #16] │ │ │ │ │ mov r2, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_pair_ci │ │ │ │ │ - ldr r2, [r4, #68] @ 0x44 │ │ │ │ │ + ldrd r2, r3, [r4, #68] @ 0x44 │ │ │ │ │ ldrd r1, r0, [r4, #88] @ 0x58 │ │ │ │ │ - str r0, [r7, #12] │ │ │ │ │ eor.w ip, r2, r2, asr #31 │ │ │ │ │ - ldr r3, [r4, #72] @ 0x48 │ │ │ │ │ - sub.w ip, ip, r2, asr #31 │ │ │ │ │ + str r0, [r7, #12] │ │ │ │ │ eor.w r0, r1, r1, asr #31 │ │ │ │ │ + sub.w ip, ip, r2, asr #31 │ │ │ │ │ sub.w r0, r0, r1, asr #31 │ │ │ │ │ cmp ip, r0 │ │ │ │ │ - blt.n 3ee │ │ │ │ │ - strd r3, r5, [sp, #4] │ │ │ │ │ - movs r2, #2 │ │ │ │ │ - strd r2, r2, [sp, #12] │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ + blt.n 484 │ │ │ │ │ + mov.w r2, #2 │ │ │ │ │ + strd r3, r3, [sp] │ │ │ │ │ + strd r5, r2, [sp, #8] │ │ │ │ │ + str r2, [sp, #16] │ │ │ │ │ + ldrd r6, r0, [r7, #12] │ │ │ │ │ ldr r1, [r7, #20] │ │ │ │ │ - ldr r0, [r7, #16] │ │ │ │ │ - mov r3, r1 │ │ │ │ │ - ldr r6, [r7, #12] │ │ │ │ │ mov r2, r0 │ │ │ │ │ + mov r3, r1 │ │ │ │ │ blx r6 │ │ │ │ │ ldr r3, [r4, #88] @ 0x58 │ │ │ │ │ - str r3, [sp, #20] │ │ │ │ │ - movs r3, #2 │ │ │ │ │ - strd r5, r3, [sp, #12] │ │ │ │ │ mov r2, r9 │ │ │ │ │ + str r5, [sp, #12] │ │ │ │ │ + str r3, [sp, #20] │ │ │ │ │ + mov.w r3, #2 │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ ldr r3, [r4, #68] @ 0x44 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr r3, [r4, #72] @ 0x48 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr r3, [r4, #76] @ 0x4c │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - ldr r3, [r7, #64] @ 0x40 │ │ │ │ │ ldrd r0, r1, [r7, #16] │ │ │ │ │ + ldr r3, [r7, #64] @ 0x40 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_pair_co │ │ │ │ │ - b.n 406 │ │ │ │ │ + b.n 49e │ │ │ │ │ ldr r3, [r7, #4] │ │ │ │ │ sub.w r3, r3, r8 │ │ │ │ │ str r3, [r7, #4] │ │ │ │ │ - movs r5, #2 │ │ │ │ │ - strd r1, r5, [sp, #16] │ │ │ │ │ + mov.w r5, #2 │ │ │ │ │ mov r0, sl │ │ │ │ │ + strd r1, r5, [sp, #16] │ │ │ │ │ mov r1, fp │ │ │ │ │ ldr r6, [r7, #4] │ │ │ │ │ str r6, [sp, #12] │ │ │ │ │ ldr r3, [r4, #72] @ 0x48 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr r3, [r4, #64] @ 0x40 │ │ │ │ │ strd r2, r3, [sp] │ │ │ │ │ ldrd r8, r3, [r7, #16] │ │ │ │ │ mov r2, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_pair_ci │ │ │ │ │ - ldr r2, [r4, #68] @ 0x44 │ │ │ │ │ + ldrd r2, r3, [r4, #68] @ 0x44 │ │ │ │ │ ldrd r1, sl, [r4, #88] @ 0x58 │ │ │ │ │ eor.w ip, r2, r2, asr #31 │ │ │ │ │ - ldr r3, [r4, #72] @ 0x48 │ │ │ │ │ - sub.w ip, ip, r2, asr #31 │ │ │ │ │ eor.w r0, r1, r1, asr #31 │ │ │ │ │ + sub.w ip, ip, r2, asr #31 │ │ │ │ │ sub.w r0, r0, r1, asr #31 │ │ │ │ │ cmp ip, r0 │ │ │ │ │ - bge.n 510 │ │ │ │ │ - strd r2, r6, [sp, #4] │ │ │ │ │ + bge.n 5c8 │ │ │ │ │ mov r0, r8 │ │ │ │ │ - strd r5, r1, [sp, #12] │ │ │ │ │ + strd r3, r2, [sp] │ │ │ │ │ mov r2, r9 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ - ldr r3, [r7, #64] @ 0x40 │ │ │ │ │ + str r1, [sp, #16] │ │ │ │ │ + strd r6, r5, [sp, #8] │ │ │ │ │ ldr r1, [r7, #20] │ │ │ │ │ + ldr r3, [r7, #64] @ 0x40 │ │ │ │ │ blx sl │ │ │ │ │ ldr r3, [r7, #0] │ │ │ │ │ cmp.w r3, #65536 @ 0x10000 │ │ │ │ │ - bcs.n 556 │ │ │ │ │ - adds r7, #28 │ │ │ │ │ + bcs.n 60a │ │ │ │ │ + add.w r7, r7, #28 │ │ │ │ │ mov sp, r7 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ strd r5, r5, [sp, #12] │ │ │ │ │ ldr r6, [r7, #4] │ │ │ │ │ - strd r3, r6, [sp, #4] │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ - ldr.w fp, [r7, #20] │ │ │ │ │ - ldr.w r8, [r7, #16] │ │ │ │ │ + strd r3, r3, [sp] │ │ │ │ │ + str r6, [sp, #8] │ │ │ │ │ + ldrd r8, fp, [r7, #16] │ │ │ │ │ mov r3, fp │ │ │ │ │ - mov r1, fp │ │ │ │ │ mov r2, r8 │ │ │ │ │ + mov r1, fp │ │ │ │ │ mov r0, r8 │ │ │ │ │ blx sl │ │ │ │ │ ldr r3, [r4, #88] @ 0x58 │ │ │ │ │ - strd r5, r3, [sp, #16] │ │ │ │ │ mov r2, r9 │ │ │ │ │ - str r6, [sp, #12] │ │ │ │ │ mov r1, fp │ │ │ │ │ + strd r6, r5, [sp, #12] │ │ │ │ │ mov r0, r8 │ │ │ │ │ + str r3, [sp, #20] │ │ │ │ │ ldr r3, [r4, #68] @ 0x44 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr r3, [r4, #72] @ 0x48 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr r3, [r4, #76] @ 0x4c │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldr r3, [r7, #64] @ 0x40 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_pair_co │ │ │ │ │ ldr r3, [r7, #0] │ │ │ │ │ cmp.w r3, #65536 @ 0x10000 │ │ │ │ │ - bcc.n 508 │ │ │ │ │ + bcc.n 5ac │ │ │ │ │ ldr r0, [r7, #16] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ - adds r7, #28 │ │ │ │ │ - mov sp, r7 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + b.n 5ac │ │ │ │ │ mov r0, r3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ ldr r2, [r4, #76] @ 0x4c │ │ │ │ │ mov r1, r0 │ │ │ │ │ str r0, [r7, #16] │ │ │ │ │ - b.n 3d8 │ │ │ │ │ - nop │ │ │ │ │ + b.n 46a │ │ │ │ │ │ │ │ │ │ -00000574 : │ │ │ │ │ +00000620 : │ │ │ │ │ fftw_mksolver_dft_direct(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r1 │ │ │ │ │ - ldr r1, [pc, #20] @ (590 ) │ │ │ │ │ + ldr r1, [pc, #36] @ (64c ) │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ mov r5, r0 │ │ │ │ │ - movs r0, #20 │ │ │ │ │ + mov.w r0, #20 │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ - movs r2, #0 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ strd r4, r5, [r0, #8] │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ str r2, [r0, #16] │ │ │ │ │ - pop {r3, r4, r5, pc} │ │ │ │ │ + pop {r5, pc} │ │ │ │ │ nop │ │ │ │ │ - .word 0x0000000e │ │ │ │ │ + .word 0x00000016 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ │ │ │ │ │ │ │ -00000594 : │ │ │ │ │ +00000650 : │ │ │ │ │ fftw_mksolver_dft_directbuf(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r1 │ │ │ │ │ - ldr r1, [pc, #20] @ (5b0 ) │ │ │ │ │ + ldr r1, [pc, #36] @ (67c ) │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ mov r5, r0 │ │ │ │ │ - movs r0, #20 │ │ │ │ │ + mov.w r0, #20 │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ - movs r2, #1 │ │ │ │ │ + mov.w r2, #1 │ │ │ │ │ strd r4, r5, [r0, #8] │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ str r2, [r0, #16] │ │ │ │ │ - pop {r3, r4, r5, pc} │ │ │ │ │ + pop {r5, pc} │ │ │ │ │ nop │ │ │ │ │ - .word 0x0000000e │ │ │ │ │ + .word 0x00000016 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ ├── generic.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2140 (bytes into file) │ │ │ │ │ + Start of section headers: 2216 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 16 │ │ │ │ │ Section header string table index: 15 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,25 +1,25 @@ │ │ │ │ │ -There are 16 section headers, starting at offset 0x85c: │ │ │ │ │ +There are 16 section headers, starting at offset 0x8a8: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000380 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000744 000060 08 I 13 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0003b4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0003b4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0003b4 000011 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 0003c5 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0003cd 000010 00 WA 0 0 4 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 0007a4 000020 08 I 13 7 4 │ │ │ │ │ - [ 9] .data.rel.ro.local PROGBITS 00000000 0003dd 00000c 00 WA 0 0 4 │ │ │ │ │ - [10] .rel.data.rel.ro.local REL 00000000 0007c4 000008 08 I 13 9 4 │ │ │ │ │ - [11] .note.GNU-stack PROGBITS 00000000 0003e9 000000 00 0 0 1 │ │ │ │ │ - [12] .ARM.attributes ARM_ATTRIBUTES 00000000 0003e9 000033 00 0 0 1 │ │ │ │ │ - [13] .symtab SYMTAB 00000000 00041c 000240 10 14 26 4 │ │ │ │ │ - [14] .strtab STRTAB 00000000 00065c 0000e8 00 0 0 1 │ │ │ │ │ - [15] .shstrtab STRTAB 00000000 0007cc 00008f 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0003cc 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000790 000060 08 I 13 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000400 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000400 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000400 000011 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000411 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000419 000010 00 WA 0 0 4 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 0007f0 000020 08 I 13 7 4 │ │ │ │ │ + [ 9] .data.rel.ro.local PROGBITS 00000000 000429 00000c 00 WA 0 0 4 │ │ │ │ │ + [10] .rel.data.rel.ro.local REL 00000000 000810 000008 08 I 13 9 4 │ │ │ │ │ + [11] .note.GNU-stack PROGBITS 00000000 000435 000000 00 0 0 1 │ │ │ │ │ + [12] .ARM.attributes ARM_ATTRIBUTES 00000000 000435 000033 00 0 0 1 │ │ │ │ │ + [13] .symtab SYMTAB 00000000 000468 000240 10 14 26 4 │ │ │ │ │ + [14] .strtab STRTAB 00000000 0006a8 0000e8 00 0 0 1 │ │ │ │ │ + [15] .shstrtab STRTAB 00000000 000818 00008f 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -4,36 +4,36 @@ │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ 3: 00000001 20 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ 4: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 5: 00000010 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000014 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00000015 604 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ - 8: 00000268 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 9: 00000270 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 10: 00000271 48 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 11: 0000029c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 12: 000002a0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 13: 000002a1 192 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 14: 00000350 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 15: 00000360 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 16: 0000037c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 7: 00000015 652 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ + 8: 00000298 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 9: 000002a0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 10: 000002a1 52 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 11: 000002d0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 12: 000002d4 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 13: 000002d5 212 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 14: 00000398 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 15: 000003a8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 16: 000003c8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 17: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 18: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 19: 00000000 8 OBJECT LOCAL DEFAULT 6 half_tw.0 │ │ │ │ │ 20: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 21: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 22: 00000000 16 OBJECT LOCAL DEFAULT 7 padt.1 │ │ │ │ │ 23: 00000000 0 SECTION LOCAL DEFAULT 9 .data.rel.ro.local │ │ │ │ │ 24: 00000000 0 NOTYPE LOCAL DEFAULT 9 $d │ │ │ │ │ 25: 00000000 12 OBJECT LOCAL DEFAULT 9 sadt.2 │ │ │ │ │ 26: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_malloc_plain │ │ │ │ │ 27: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ifree │ │ │ │ │ 28: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_twiddle_awake │ │ │ │ │ 29: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_is_prime │ │ │ │ │ 30: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_dft │ │ │ │ │ - 31: 00000361 32 FUNC GLOBAL DEFAULT 1 fftw_dft_generic_register │ │ │ │ │ + 31: 000003a9 36 FUNC GLOBAL DEFAULT 1 fftw_dft_generic_register │ │ │ │ │ 32: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ 33: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 34: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_solve │ │ │ │ │ 35: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_null_destroy │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,26 +1,26 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x744 contains 12 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x790 contains 12 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000010 00000203 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -000001be 00001a0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -000001c8 00001b0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -00000290 00001c0a R_ARM_THM_CALL 00000000 fftw_twiddle_awake │ │ │ │ │ -0000029c 00001103 R_ARM_REL32 00000000 .rodata │ │ │ │ │ -000002f8 00001d0a R_ARM_THM_CALL 00000000 fftw_is_prime │ │ │ │ │ -0000030a 00001e0a R_ARM_THM_CALL 00000000 fftw_mkplan_dft │ │ │ │ │ -00000358 00000703 R_ARM_REL32 00000015 apply │ │ │ │ │ -0000035c 00001403 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000036a 0000200a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -0000037c 00001703 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -00000376 0000211e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ +000001e4 00001a0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +000001f0 00001b0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +000002c6 00001c0a R_ARM_THM_CALL 00000000 fftw_twiddle_awake │ │ │ │ │ +000002d0 00001103 R_ARM_REL32 00000000 .rodata │ │ │ │ │ +0000033a 00001d0a R_ARM_THM_CALL 00000000 fftw_is_prime │ │ │ │ │ +0000034e 00001e0a R_ARM_THM_CALL 00000000 fftw_mkplan_dft │ │ │ │ │ +000003a0 00000703 R_ARM_REL32 00000015 apply │ │ │ │ │ +000003a4 00001403 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000003b6 0000200a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +000003c8 00001703 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +000003c4 0000211e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x7a4 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x7f0 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00002202 R_ARM_ABS32 00000000 fftw_dft_solve │ │ │ │ │ -00000004 00000a02 R_ARM_ABS32 00000271 awake │ │ │ │ │ +00000004 00000a02 R_ARM_ABS32 000002a1 awake │ │ │ │ │ 00000008 00000302 R_ARM_ABS32 00000001 print │ │ │ │ │ 0000000c 00002302 R_ARM_ABS32 00000000 fftw_plan_null_destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x7c4 contains 1 entry: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x810 contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000d02 R_ARM_ABS32 000002a1 mkplan │ │ │ │ │ +00000004 00000d02 R_ARM_ABS32 000002d5 mkplan │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -2,319 +2,327 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ print(): │ │ │ │ │ mov r2, r0 │ │ │ │ │ - ldr r3, [r1, #0] │ │ │ │ │ mov r0, r1 │ │ │ │ │ ldr r1, [pc, #8] @ (10 ) │ │ │ │ │ + ldr r3, [r0, #0] │ │ │ │ │ ldr r2, [r2, #68] @ 0x44 │ │ │ │ │ add r1, pc │ │ │ │ │ bx r3 │ │ │ │ │ nop │ │ │ │ │ .word 0x00000002 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ 00000014 : │ │ │ │ │ apply(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r5, r3 │ │ │ │ │ - mov r4, r1 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r6, r3 │ │ │ │ │ + mov r5, r1 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov sl, r2 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #28 │ │ │ │ │ add r7, sp, #0 │ │ │ │ │ + ldrd fp, r2, [r0, #68] @ 0x44 │ │ │ │ │ ldr r3, [r0, #76] @ 0x4c │ │ │ │ │ - ldrd r8, r9, [r0, #68] @ 0x44 │ │ │ │ │ - mov sl, r2 │ │ │ │ │ - str r3, [r7, #8] │ │ │ │ │ + ldr.w r8, [r7, #64] @ 0x40 │ │ │ │ │ + str r3, [r7, #12] │ │ │ │ │ ldr r3, [r0, #64] @ 0x40 │ │ │ │ │ - ldr r6, [r3, #0] │ │ │ │ │ - mov.w r3, r8, lsl #4 │ │ │ │ │ + ldr r4, [r3, #0] │ │ │ │ │ + mov.w r3, fp, lsl #4 │ │ │ │ │ cmp.w r3, #65536 @ 0x10000 │ │ │ │ │ - str r3, [r7, #12] │ │ │ │ │ - bcs.w 1bc │ │ │ │ │ + str r3, [r7, #16] │ │ │ │ │ + bcs.w 1e0 │ │ │ │ │ sub.w sp, sp, r3 │ │ │ │ │ - mov fp, sp │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - cmp.w r8, #2 │ │ │ │ │ - vstr d5, [fp] │ │ │ │ │ + mov r9, sp │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + cmp.w fp, #2 │ │ │ │ │ + vstr d5, [r9] │ │ │ │ │ vldr d6, [sl] │ │ │ │ │ - vstr d6, [fp, #8] │ │ │ │ │ - ble.w 1a2 │ │ │ │ │ - add.w r3, fp, #48 @ 0x30 │ │ │ │ │ - cmp.w r9, #1 │ │ │ │ │ - str r3, [r7, #16] │ │ │ │ │ - bne.w 1d4 │ │ │ │ │ - mov.w r1, r8, lsl #3 │ │ │ │ │ + vstr d6, [r9, #8] │ │ │ │ │ + ble.w 28e │ │ │ │ │ + add.w r3, r9, #48 @ 0x30 │ │ │ │ │ + cmp r2, #1 │ │ │ │ │ + str r3, [r7, #20] │ │ │ │ │ + bne.w 1f6 │ │ │ │ │ + str r3, [r7, #4] │ │ │ │ │ + sub.w r3, fp, #3 │ │ │ │ │ + mov.w r1, fp, lsl #3 │ │ │ │ │ + mov.w lr, r3, lsr #1 │ │ │ │ │ + add.w r2, r5, #8 │ │ │ │ │ add.w r0, sl, #8 │ │ │ │ │ - add.w ip, r4, r1 │ │ │ │ │ + str r3, [r7, #8] │ │ │ │ │ + add.w ip, r5, r1 │ │ │ │ │ + add.w r5, r5, #16 │ │ │ │ │ + ldr r3, [r7, #4] │ │ │ │ │ + add.w r5, r5, lr, lsl #3 │ │ │ │ │ add r1, sl │ │ │ │ │ - sub.w sl, r8, #3 │ │ │ │ │ - add.w r2, r4, #8 │ │ │ │ │ - adds r4, #16 │ │ │ │ │ - mov.w lr, sl, lsr #1 │ │ │ │ │ - add.w r4, r4, lr, lsl #3 │ │ │ │ │ + add.w r3, r3, #32 │ │ │ │ │ vldmdb ip!, {d4} │ │ │ │ │ - adds r3, #32 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vstr d7, [r3, #-64] @ 0xffffffc0 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ + vstr d7, [r3, #-64] @ 0xffffffc0 │ │ │ │ │ vldmdb r1!, {d4} │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vstr d7, [r3, #-56] @ 0xffffffc8 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d4, [ip] │ │ │ │ │ + vstr d7, [r3, #-56] @ 0xffffffc8 │ │ │ │ │ vldmia r2!, {d7} │ │ │ │ │ + vldr d4, [ip] │ │ │ │ │ + cmp r2, r5 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - cmp r2, r4 │ │ │ │ │ vstr d7, [r3, #-48] @ 0xffffffd0 │ │ │ │ │ vldmia r0!, {d7} │ │ │ │ │ vldr d4, [r1] │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ vstr d7, [r3, #-40] @ 0xffffffd8 │ │ │ │ │ - bne.n 88 │ │ │ │ │ - add.w r3, r8, #4294967295 @ 0xffffffff │ │ │ │ │ + bne.n a2 │ │ │ │ │ + add.w r3, fp, #4294967295 @ 0xffffffff │ │ │ │ │ str r3, [r7, #4] │ │ │ │ │ - mov r4, r3 │ │ │ │ │ + ldr r2, [r7, #12] │ │ │ │ │ + add.w sl, fp, #536870912 @ 0x20000000 │ │ │ │ │ + mov.w r5, #1 │ │ │ │ │ + add.w sl, sl, #4294967295 @ 0xffffffff │ │ │ │ │ + vstr d5, [r6] │ │ │ │ │ + mov.w sl, sl, lsl #3 │ │ │ │ │ + vstr d6, [r8] │ │ │ │ │ + mov.w fp, r2, lsl #3 │ │ │ │ │ + mul.w r3, r2, r3 │ │ │ │ │ ldr r2, [r7, #8] │ │ │ │ │ - add.w r8, r8, #536870912 @ 0x20000000 │ │ │ │ │ - ldr r3, [r7, #64] @ 0x40 │ │ │ │ │ - add.w r8, r8, #4294967295 @ 0xffffffff │ │ │ │ │ - ldr r1, [r7, #64] @ 0x40 │ │ │ │ │ - mov.w lr, sl, lsr #1 │ │ │ │ │ - vstr d5, [r5] │ │ │ │ │ + mov r0, fp │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + mov.w lr, r2, lsr #1 │ │ │ │ │ add.w lr, lr, #2 │ │ │ │ │ - mul.w r4, r2, r4 │ │ │ │ │ - mov.w sl, #1 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - mov.w r3, r8, lsl #3 │ │ │ │ │ - str r3, [r7, #20] │ │ │ │ │ - lsls r3, r2, #3 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ - add.w r9, r5, r3 │ │ │ │ │ - add.w r8, r1, r3 │ │ │ │ │ - add r5, r4 │ │ │ │ │ - add r4, r1 │ │ │ │ │ - vldr d4, [pc, #332] @ 268 │ │ │ │ │ - add.w r0, r6, #16 │ │ │ │ │ - ldr r2, [r7, #16] │ │ │ │ │ - movs r1, #1 │ │ │ │ │ - vldr d5, [fp] │ │ │ │ │ + vldr d4, [pc, #364] @ 298 │ │ │ │ │ + add.w r1, r4, #16 │ │ │ │ │ + mov.w ip, #1 │ │ │ │ │ + vldr d5, [r9] │ │ │ │ │ + vldr d6, [r9, #8] │ │ │ │ │ + ldr r2, [r7, #20] │ │ │ │ │ vmov.f64 d2, d4 │ │ │ │ │ - vldr d6, [fp, #8] │ │ │ │ │ - vldr d7, [r0, #-16] │ │ │ │ │ - mov ip, r1 │ │ │ │ │ - vldr d3, [r2, #-32] @ 0xffffffe0 │ │ │ │ │ - adds r1, #1 │ │ │ │ │ - adds r2, #32 │ │ │ │ │ - adds r0, #16 │ │ │ │ │ - cmp lr, r1 │ │ │ │ │ + add.w ip, ip, #1 │ │ │ │ │ + add.w r1, r1, #16 │ │ │ │ │ + vldr d7, [r1, #-32] @ 0xffffffe0 │ │ │ │ │ + cmp ip, lr │ │ │ │ │ + add.w r2, r2, #32 │ │ │ │ │ + vldr d3, [r2, #-64] @ 0xffffffc0 │ │ │ │ │ vmla.f64 d5, d7, d3 │ │ │ │ │ vldr d3, [r2, #-56] @ 0xffffffc8 │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ - vldr d7, [r0, #-24] @ 0xffffffe8 │ │ │ │ │ vldr d3, [r2, #-48] @ 0xffffffd0 │ │ │ │ │ + vldr d7, [r1, #-24] @ 0xffffffe8 │ │ │ │ │ vmla.f64 d2, d7, d3 │ │ │ │ │ vldr d3, [r2, #-40] @ 0xffffffd8 │ │ │ │ │ vmla.f64 d4, d7, d3 │ │ │ │ │ - bne.n 132 │ │ │ │ │ + bne.n 144 │ │ │ │ │ vadd.f64 d7, d5, d4 │ │ │ │ │ - ldr r2, [r7, #20] │ │ │ │ │ + add.w r2, r6, r0 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ - cmp sl, ip │ │ │ │ │ - add r6, r2 │ │ │ │ │ - add.w r2, sl, #1 │ │ │ │ │ - vstr d7, [r9] │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ + add r4, sl │ │ │ │ │ + cmp r5, lr │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d6, d2 │ │ │ │ │ + add.w r2, r8, r0 │ │ │ │ │ vadd.f64 d6, d6, d2 │ │ │ │ │ - add r9, r3 │ │ │ │ │ - vstr d7, [r8] │ │ │ │ │ - add r8, r3 │ │ │ │ │ - vstr d5, [r5] │ │ │ │ │ - sub.w r5, r5, r3 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ - sub.w r4, r4, r3 │ │ │ │ │ - beq.n 1ac │ │ │ │ │ - mov sl, r2 │ │ │ │ │ - b.n 11a │ │ │ │ │ - ldr r3, [r7, #64] @ 0x40 │ │ │ │ │ - vstr d5, [r5] │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - ldr r3, [r7, #12] │ │ │ │ │ + add r0, fp │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + add.w r2, r6, r3 │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ + add.w r2, r8, r3 │ │ │ │ │ + sub.w r3, r3, fp │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + bne.n 12a │ │ │ │ │ + ldr r3, [r7, #16] │ │ │ │ │ cmp.w r3, #65536 @ 0x10000 │ │ │ │ │ - bcs.n 1c6 │ │ │ │ │ - adds r7, #28 │ │ │ │ │ + bcs.n 1ee │ │ │ │ │ + add.w r7, r7, #28 │ │ │ │ │ mov sp, r7 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ mov r0, r3 │ │ │ │ │ + str r2, [r7, #20] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ - mov fp, r0 │ │ │ │ │ - b.n 42 │ │ │ │ │ - mov r0, fp │ │ │ │ │ + ldr r2, [r7, #20] │ │ │ │ │ + mov r9, r0 │ │ │ │ │ + b.n 56 │ │ │ │ │ + mov r0, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ - adds r7, #28 │ │ │ │ │ - mov sp, r7 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - add.w r2, r8, #4294967295 @ 0xffffffff │ │ │ │ │ - str r2, [r7, #4] │ │ │ │ │ - mov r1, r3 │ │ │ │ │ - mov.w r3, r9, lsl #3 │ │ │ │ │ - adds r0, r4, r3 │ │ │ │ │ - add.w ip, sl, r3 │ │ │ │ │ - mul.w r2, r9, r2 │ │ │ │ │ + b.n 1c4 │ │ │ │ │ + str r3, [r7, #0] │ │ │ │ │ + add.w r3, fp, #4294967295 @ 0xffffffff │ │ │ │ │ + mov.w r1, r2, lsl #3 │ │ │ │ │ mov.w lr, #1 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ - add r4, r2 │ │ │ │ │ + mul.w r2, r3, r2 │ │ │ │ │ + str r3, [r7, #4] │ │ │ │ │ + sub.w r3, fp, #3 │ │ │ │ │ + add.w r0, r5, r1 │ │ │ │ │ + add.w ip, sl, r1 │ │ │ │ │ + str r3, [r7, #8] │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + add r5, r2 │ │ │ │ │ add r2, sl │ │ │ │ │ - sub.w sl, r8, #3 │ │ │ │ │ - mov.w r9, sl, lsr #1 │ │ │ │ │ - add.w r9, r9, #2 │ │ │ │ │ - vldr d4, [r4] │ │ │ │ │ + mov.w sl, r3, lsr #1 │ │ │ │ │ + ldr r3, [r7, #0] │ │ │ │ │ + add.w sl, sl, #2 │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ add.w lr, lr, #1 │ │ │ │ │ + add.w r3, r3, #32 │ │ │ │ │ + cmp lr, sl │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - adds r1, #32 │ │ │ │ │ - cmp lr, r9 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vstr d7, [r1, #-64] @ 0xffffffc0 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ + vstr d7, [r3, #-64] @ 0xffffffc0 │ │ │ │ │ vldr d4, [r2] │ │ │ │ │ vldr d7, [ip] │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vstr d7, [r1, #-56] @ 0xffffffc8 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d4, [r4] │ │ │ │ │ - sub.w r4, r4, r3 │ │ │ │ │ + vstr d7, [r3, #-56] @ 0xffffffc8 │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ + sub.w r5, r5, r1 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - add r0, r3 │ │ │ │ │ + add r0, r1 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vstr d7, [r1, #-48] @ 0xffffffd0 │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ - add ip, r3 │ │ │ │ │ + vstr d7, [r3, #-48] @ 0xffffffd0 │ │ │ │ │ vldr d4, [r2] │ │ │ │ │ - sub.w r2, r2, r3 │ │ │ │ │ + sub.w r2, r2, r1 │ │ │ │ │ + vldr d7, [ip] │ │ │ │ │ + add ip, r1 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vstr d7, [r1, #-40] @ 0xffffffd8 │ │ │ │ │ - bne.n 200 │ │ │ │ │ - ldr r4, [r7, #4] │ │ │ │ │ - b.n de │ │ │ │ │ - nop │ │ │ │ │ - nop.w │ │ │ │ │ + vstr d7, [r3, #-40] @ 0xffffffd8 │ │ │ │ │ + bne.n 22a │ │ │ │ │ + ldr r3, [r7, #4] │ │ │ │ │ + b.n f8 │ │ │ │ │ + vstr d5, [r6] │ │ │ │ │ + vstr d6, [r8] │ │ │ │ │ + b.n 1bc │ │ │ │ │ ... │ │ │ │ │ │ │ │ │ │ -00000270 : │ │ │ │ │ +000002a0 : │ │ │ │ │ awake(): │ │ │ │ │ mov ip, r0 │ │ │ │ │ - push {lr} │ │ │ │ │ - mov r0, r1 │ │ │ │ │ + str.w lr, [sp, #-4]! │ │ │ │ │ sub sp, #12 │ │ │ │ │ - add.w r1, ip, #64 @ 0x40 │ │ │ │ │ ldr.w r3, [ip, #68] @ 0x44 │ │ │ │ │ - subs r2, r3, #1 │ │ │ │ │ + mov r0, r1 │ │ │ │ │ + add.w r1, ip, #64 @ 0x40 │ │ │ │ │ + add.w r2, r3, #4294967295 @ 0xffffffff │ │ │ │ │ add.w r2, r2, r2, lsr #31 │ │ │ │ │ - asrs r2, r2, #1 │ │ │ │ │ + mov.w r2, r2, asr #1 │ │ │ │ │ strd r3, r2, [sp] │ │ │ │ │ - ldr r2, [pc, #12] @ (29c ) │ │ │ │ │ + ldr r2, [pc, #12] @ (2d0 ) │ │ │ │ │ add r2, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_twiddle_awake │ │ │ │ │ add sp, #12 │ │ │ │ │ ldr.w pc, [sp], #4 │ │ │ │ │ - nop │ │ │ │ │ - .word 0x0000000a │ │ │ │ │ + .word 0x00000008 │ │ │ │ │ R_ARM_REL32 .rodata │ │ │ │ │ │ │ │ │ │ -000002a0 : │ │ │ │ │ +000002d4 : │ │ │ │ │ mkplan(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r1 │ │ │ │ │ ldr r3, [r1, #4] │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ ldr r1, [r3, #0] │ │ │ │ │ cmp r1, #1 │ │ │ │ │ - beq.n 2b0 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - pop {r3, r4, r5, pc} │ │ │ │ │ + beq.n 2f2 │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + pop {r5, pc} │ │ │ │ │ ldr r1, [r4, #8] │ │ │ │ │ ldr r5, [r1, #0] │ │ │ │ │ cmp r5, #0 │ │ │ │ │ - bne.n 2ac │ │ │ │ │ + bne.n 2e6 │ │ │ │ │ ldr r0, [r3, #4] │ │ │ │ │ cmp r0, #0 │ │ │ │ │ and.w r3, r0, #1 │ │ │ │ │ it lt │ │ │ │ │ neglt r3, r3 │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - bne.n 2ac │ │ │ │ │ + bne.n 2e6 │ │ │ │ │ ldr.w r3, [r2, #164] @ 0xa4 │ │ │ │ │ ubfx r2, r3, #0, #20 │ │ │ │ │ ubfx r3, r3, #6, #1 │ │ │ │ │ eor.w r3, r3, #1 │ │ │ │ │ cmp r0, #172 @ 0xac │ │ │ │ │ it le │ │ │ │ │ orrle.w r3, r3, #1 │ │ │ │ │ lsls r1, r3, #31 │ │ │ │ │ - bpl.n 2ac │ │ │ │ │ + bpl.n 2e6 │ │ │ │ │ ubfx r2, r2, #3, #1 │ │ │ │ │ eor.w r2, r2, #1 │ │ │ │ │ cmp r0, #16 │ │ │ │ │ it gt │ │ │ │ │ orrgt.w r2, r2, #1 │ │ │ │ │ lsls r3, r2, #31 │ │ │ │ │ - bpl.n 2ac │ │ │ │ │ + bpl.n 2e6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_is_prime │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 2ac │ │ │ │ │ - ldr r2, [pc, #84] @ (358 ) │ │ │ │ │ - movs r0, #80 @ 0x50 │ │ │ │ │ - ldr r1, [pc, #84] @ (35c ) │ │ │ │ │ + beq.n 2e6 │ │ │ │ │ + ldr r2, [pc, #92] @ (3a0 ) │ │ │ │ │ + mov.w r0, #80 @ 0x50 │ │ │ │ │ + ldr r1, [pc, #88] @ (3a4 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_dft │ │ │ │ │ ldr r2, [r4, #4] │ │ │ │ │ ldrd r3, r1, [r2, #4] │ │ │ │ │ strd r3, r1, [r0, #68] @ 0x44 │ │ │ │ │ - subs r3, #1 │ │ │ │ │ + add.w r3, r3, #4294967295 @ 0xffffffff │ │ │ │ │ ldr r2, [r2, #12] │ │ │ │ │ + str r5, [r0, #64] @ 0x40 │ │ │ │ │ str r2, [r0, #76] @ 0x4c │ │ │ │ │ add.w r2, r3, r3, lsl #2 │ │ │ │ │ - vmov s14, r2 │ │ │ │ │ mul.w r3, r3, r3 │ │ │ │ │ - str r5, [r0, #64] @ 0x40 │ │ │ │ │ + vmov s14, r2 │ │ │ │ │ vcvt.f64.s32 d7, s14 │ │ │ │ │ vstr d7, [r0, #8] │ │ │ │ │ - vldr d7, [pc, #24] @ 350 │ │ │ │ │ + vldr d7, [pc, #28] @ 398 │ │ │ │ │ vstr d7, [r0, #16] │ │ │ │ │ vmov s15, r3 │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ vcvt.f64.s32 d7, s15 │ │ │ │ │ vstr d7, [r0, #24] │ │ │ │ │ - pop {r3, r4, r5, pc} │ │ │ │ │ + pop {r5, pc} │ │ │ │ │ nop │ │ │ │ │ - nop.w │ │ │ │ │ ... │ │ │ │ │ - .word 0x0000004e │ │ │ │ │ + .word 0x00000052 │ │ │ │ │ R_ARM_REL32 apply │ │ │ │ │ - .word 0x00000050 │ │ │ │ │ + .word 0x00000054 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ │ │ │ │ │ -00000360 : │ │ │ │ │ +000003a8 : │ │ │ │ │ fftw_dft_generic_register(): │ │ │ │ │ - ldr r1, [pc, #24] @ (37c ) │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + ldr r1, [pc, #28] @ (3c8 ) │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ + mov.w r0, #8 │ │ │ │ │ add r1, pc │ │ │ │ │ - movs r0, #8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solver_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000012 │ │ │ │ │ + .word 0x00000010 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ ├── indirect-transpose.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2876 (bytes into file) │ │ │ │ │ + Start of section headers: 3012 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 15 │ │ │ │ │ Section header string table index: 14 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ -There are 15 section headers, starting at offset 0xb3c: │ │ │ │ │ +There are 15 section headers, starting at offset 0xbc4: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000480 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00093c 000150 08 I 12 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0004b4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0004b4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0004b4 000029 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 0004dd 000010 00 WA 0 0 4 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000a8c 000020 08 I 12 6 4 │ │ │ │ │ - [ 8] .data.rel.ro.local PROGBITS 00000000 0004ed 00000c 00 WA 0 0 4 │ │ │ │ │ - [ 9] .rel.data.rel.ro.local REL 00000000 000aac 000008 08 I 12 8 4 │ │ │ │ │ - [10] .note.GNU-stack PROGBITS 00000000 0004f9 000000 00 0 0 1 │ │ │ │ │ - [11] .ARM.attributes ARM_ATTRIBUTES 00000000 0004f9 000033 00 0 0 1 │ │ │ │ │ - [12] .symtab SYMTAB 00000000 00052c 000270 10 13 20 4 │ │ │ │ │ - [13] .strtab STRTAB 00000000 00079c 0001a0 00 0 0 1 │ │ │ │ │ - [14] .shstrtab STRTAB 00000000 000ab4 000087 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000508 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0009c4 000150 08 I 12 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 00053c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 00053c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 00053c 000029 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 000565 000010 00 WA 0 0 4 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000b14 000020 08 I 12 6 4 │ │ │ │ │ + [ 8] .data.rel.ro.local PROGBITS 00000000 000575 00000c 00 WA 0 0 4 │ │ │ │ │ + [ 9] .rel.data.rel.ro.local REL 00000000 000b34 000008 08 I 12 8 4 │ │ │ │ │ + [10] .note.GNU-stack PROGBITS 00000000 000581 000000 00 0 0 1 │ │ │ │ │ + [11] .ARM.attributes ARM_ATTRIBUTES 00000000 000581 000033 00 0 0 1 │ │ │ │ │ + [12] .symtab SYMTAB 00000000 0005b4 000270 10 13 20 4 │ │ │ │ │ + [13] .strtab STRTAB 00000000 000824 0001a0 00 0 0 1 │ │ │ │ │ + [14] .shstrtab STRTAB 00000000 000b3c 000087 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 39 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 182 FUNC LOCAL DEFAULT 1 apply_op │ │ │ │ │ + 1: 00000001 222 FUNC LOCAL DEFAULT 1 apply_op │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 3: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 4: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ - 5: 000000b9 36 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ - 6: 000000d8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 7: 000000dc 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 8: 000000dd 26 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 9: 000000f9 32 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 10: 00000119 840 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 11: 00000458 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 12: 00000460 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 13: 0000047c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 5: 000000e1 40 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 6: 00000104 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 7: 00000108 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 8: 00000109 30 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 9: 00000129 44 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 10: 00000155 912 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 11: 000004dc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 12: 000004e4 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 13: 00000504 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 14: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 15: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 16: 00000000 16 OBJECT LOCAL DEFAULT 6 padt.0 │ │ │ │ │ 17: 00000000 0 SECTION LOCAL DEFAULT 8 .data.rel.ro.local │ │ │ │ │ 18: 00000000 0 NOTYPE LOCAL DEFAULT 8 $d │ │ │ │ │ 19: 00000000 12 OBJECT LOCAL DEFAULT 8 sadt.1 │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_destroy_internal │ │ │ │ │ @@ -32,11 +32,11 @@ │ │ │ │ │ 28: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_d │ │ │ │ │ 29: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_destroy2 │ │ │ │ │ 30: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_copy │ │ │ │ │ 31: 00000000 0 NOTYPE GLOBAL DEFAULT UND __aeabi_idiv │ │ │ │ │ 32: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_dft │ │ │ │ │ 33: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_cpy │ │ │ │ │ 34: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_madd2 │ │ │ │ │ - 35: 00000461 32 FUNC GLOBAL DEFAULT 1 fftw_dft_indirect_transpose_register │ │ │ │ │ + 35: 000004e5 36 FUNC GLOBAL DEFAULT 1 fftw_dft_indirect_transpose_register │ │ │ │ │ 36: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ 37: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 38: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_solve │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,56 +1,56 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x93c contains 42 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x9c4 contains 42 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000000d8 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -000000e2 0000140a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000000e8 0000140a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000100 0000150a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -00000108 0000150a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -0000013e 0000160a R_ARM_THM_CALL 00000000 fftw_tensor_inplace_strides2 │ │ │ │ │ -00000182 0000170a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -00000190 0000170a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -000001aa 0000170a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -000001b6 0000170a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -000001f4 0000170a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -00000204 0000170a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -000002d6 0000180a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ -000002ea 0000180a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ -000002fe 0000190a R_ARM_THM_CALL 00000000 fftw_mktensor_0d │ │ │ │ │ -00000308 00001a0a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ -0000031c 00001b0a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ -00000324 00001c0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -0000032e 00001d0a R_ARM_THM_CALL 00000000 fftw_tensor_destroy2 │ │ │ │ │ -0000033c 00001e0a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ -0000034e 00001e0a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ -0000036e 00001b0a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ -00000376 00001c0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -00000388 00001f0a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -0000039e 00001e0a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ -000003b8 00001e0a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ -000003e4 00001b0a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ -000003ec 00001c0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -000003fe 0000200a R_ARM_THM_CALL 00000000 fftw_mkplan_dft │ │ │ │ │ -0000041c 0000210a R_ARM_THM_CALL 00000000 fftw_ops_cpy │ │ │ │ │ -00000428 0000220a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ -00000434 0000220a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ -00000444 0000140a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -0000044a 0000140a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000450 0000140a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000458 00000103 R_ARM_REL32 00000001 apply_op │ │ │ │ │ -0000045c 00000e03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000046a 0000240a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -0000047c 00001103 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -000000f2 0000141e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000114 0000151e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ -00000476 0000251e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ +00000104 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +00000110 0000140a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000116 0000140a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000136 0000150a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +0000013e 0000150a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +0000019e 0000160a R_ARM_THM_CALL 00000000 fftw_tensor_inplace_strides2 │ │ │ │ │ +000001da 0000170a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +000001ea 0000170a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +00000206 0000170a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +00000210 0000170a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +0000024c 0000170a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +0000025e 0000170a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +00000356 0000180a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ +00000370 0000180a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ +0000038a 0000190a R_ARM_THM_CALL 00000000 fftw_mktensor_0d │ │ │ │ │ +00000394 00001a0a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ +000003a6 00001b0a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ +000003ae 00001c0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +000003b8 00001d0a R_ARM_THM_CALL 00000000 fftw_tensor_destroy2 │ │ │ │ │ +000003c4 00001e0a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ +000003d8 00001e0a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ +000003f8 00001b0a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ +00000400 00001c0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +00000410 00001f0a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +00000426 00001e0a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ +00000440 00001e0a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ +0000046a 00001b0a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ +00000472 00001c0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +00000486 0000200a R_ARM_THM_CALL 00000000 fftw_mkplan_dft │ │ │ │ │ +000004a2 0000210a R_ARM_THM_CALL 00000000 fftw_ops_cpy │ │ │ │ │ +000004ae 0000220a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ +000004ba 0000220a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ +000004ca 0000140a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000004d0 0000140a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000004d6 0000140a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000004dc 00000103 R_ARM_REL32 00000001 apply_op │ │ │ │ │ +000004e0 00000e03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000004f2 0000240a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +00000504 00001103 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +00000122 0000141e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000150 0000151e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ +00000500 0000251e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xa8c contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xb14 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00002602 R_ARM_ABS32 00000000 fftw_dft_solve │ │ │ │ │ -00000004 00000902 R_ARM_ABS32 000000f9 awake │ │ │ │ │ -00000008 00000502 R_ARM_ABS32 000000b9 print │ │ │ │ │ -0000000c 00000802 R_ARM_ABS32 000000dd destroy │ │ │ │ │ +00000004 00000902 R_ARM_ABS32 00000129 awake │ │ │ │ │ +00000008 00000502 R_ARM_ABS32 000000e1 print │ │ │ │ │ +0000000c 00000802 R_ARM_ABS32 00000109 destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0xaac contains 1 entry: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0xb34 contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000a02 R_ARM_ABS32 00000119 mkplan │ │ │ │ │ +00000004 00000a02 R_ARM_ABS32 00000155 mkplan │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,497 +1,513 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ apply_op(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov sl, r0 │ │ │ │ │ mov ip, r2 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + ldrd r2, r4, [r0, #64] @ 0x40 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov sl, r0 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #36 @ 0x24 │ │ │ │ │ mov lr, r1 │ │ │ │ │ - ldrd r2, r4, [sl, #64] @ 0x40 │ │ │ │ │ + cmp r2, #0 │ │ │ │ │ mov r1, r3 │ │ │ │ │ + ldr r3, [r0, #72] @ 0x48 │ │ │ │ │ ldr r0, [sp, #72] @ 0x48 │ │ │ │ │ - ldr.w r3, [sl, #72] @ 0x48 │ │ │ │ │ - cmp r2, #0 │ │ │ │ │ - ble.n 9c │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ - mov.w r9, r3, lsl #3 │ │ │ │ │ - str r4, [sp, #8] │ │ │ │ │ + ble.n b2 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ mov r7, ip │ │ │ │ │ - mov r4, r0 │ │ │ │ │ mov r6, lr │ │ │ │ │ - movs r5, #0 │ │ │ │ │ + mov.w r9, r3, lsl #3 │ │ │ │ │ + mov.w r5, #0 │ │ │ │ │ mov fp, r1 │ │ │ │ │ - str r2, [sp, #12] │ │ │ │ │ + strd r4, r2, [sp, #8] │ │ │ │ │ + mov r4, r0 │ │ │ │ │ strd lr, ip, [sp, #16] │ │ │ │ │ strd r1, r0, [sp, #24] │ │ │ │ │ ldr.w r0, [sl, #76] @ 0x4c │ │ │ │ │ mov r3, fp │ │ │ │ │ - str r4, [sp, #0] │ │ │ │ │ mov r2, r7 │ │ │ │ │ mov r1, r6 │ │ │ │ │ - adds r5, #1 │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ ldr.w r8, [r0, #56] @ 0x38 │ │ │ │ │ blx r8 │ │ │ │ │ ldr.w r0, [sl, #80] @ 0x50 │ │ │ │ │ - str r4, [sp, #0] │ │ │ │ │ mov r3, fp │ │ │ │ │ mov r2, r4 │ │ │ │ │ mov r1, fp │ │ │ │ │ - ldr.w r8, [r0, #56] @ 0x38 │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ add fp, r9 │ │ │ │ │ + add r4, r9 │ │ │ │ │ + ldr.w r8, [r0, #56] @ 0x38 │ │ │ │ │ blx r8 │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ - add r4, r9 │ │ │ │ │ add r6, r3 │ │ │ │ │ add r7, r3 │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ cmp r3, r5 │ │ │ │ │ - bne.n 38 │ │ │ │ │ + bne.n 4a │ │ │ │ │ ldr r4, [sp, #8] │ │ │ │ │ - subs r2, r3, #1 │ │ │ │ │ - ldrd r1, r0, [sp, #24] │ │ │ │ │ + add.w r2, r3, #4294967295 @ 0xffffffff │ │ │ │ │ ldrd lr, ip, [sp, #16] │ │ │ │ │ mul.w r3, r2, r9 │ │ │ │ │ - add r0, r9 │ │ │ │ │ + ldrd r1, r0, [sp, #24] │ │ │ │ │ mul.w r2, r4, r2 │ │ │ │ │ + add.w r8, lr, r4 │ │ │ │ │ + add.w lr, r8, r2 │ │ │ │ │ + add r0, r9 │ │ │ │ │ add r9, r1 │ │ │ │ │ add r0, r3 │ │ │ │ │ add.w r1, r9, r3 │ │ │ │ │ - add.w r8, lr, r4 │ │ │ │ │ add.w r3, ip, r4 │ │ │ │ │ - add.w lr, r8, r2 │ │ │ │ │ add.w ip, r3, r2 │ │ │ │ │ ldr.w r4, [sl, #84] @ 0x54 │ │ │ │ │ mov r3, r1 │ │ │ │ │ - str r0, [sp, #72] @ 0x48 │ │ │ │ │ mov r2, ip │ │ │ │ │ + str r0, [sp, #72] @ 0x48 │ │ │ │ │ mov r1, lr │ │ │ │ │ - mov r0, r4 │ │ │ │ │ ldr r5, [r4, #56] @ 0x38 │ │ │ │ │ + mov r0, r4 │ │ │ │ │ mov ip, r5 │ │ │ │ │ add sp, #36 @ 0x24 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ bx ip │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000000b8 : │ │ │ │ │ +000000e0 : │ │ │ │ │ print(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ mov r2, r0 │ │ │ │ │ - mov r0, r1 │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ sub sp, #8 │ │ │ │ │ ldr r3, [r2, #84] @ 0x54 │ │ │ │ │ + mov r0, r1 │ │ │ │ │ + ldr r1, [pc, #20] @ (104 ) │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr r3, [r2, #80] @ 0x50 │ │ │ │ │ + add r1, pc │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - ldr r4, [r1, #0] │ │ │ │ │ - ldr r1, [pc, #12] @ (d8 ) │ │ │ │ │ + ldr r4, [r0, #0] │ │ │ │ │ ldr r3, [r2, #76] @ 0x4c │ │ │ │ │ - add r1, pc │ │ │ │ │ ldr r2, [r2, #64] @ 0x40 │ │ │ │ │ blx r4 │ │ │ │ │ add sp, #8 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x0000000e │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ -000000dc : │ │ │ │ │ +00000108 : │ │ │ │ │ destroy(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldr r0, [r0, #84] @ 0x54 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ ldr r0, [r4, #80] @ 0x50 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ ldr r0, [r4, #76] @ 0x4c │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_destroy_internal │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000000f8 : │ │ │ │ │ +00000128 : │ │ │ │ │ awake(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - mov r5, r1 │ │ │ │ │ ldr r0, [r0, #76] @ 0x4c │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ + mov r5, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ ldr r0, [r4, #80] @ 0x50 │ │ │ │ │ mov r1, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ ldr r0, [r4, #84] @ 0x54 │ │ │ │ │ mov r1, r5 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, lr} │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + ldrd r5, lr, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_awake │ │ │ │ │ │ │ │ │ │ -00000118 : │ │ │ │ │ +00000154 : │ │ │ │ │ mkplan(): │ │ │ │ │ ldr r0, [r1, #8] │ │ │ │ │ mvn.w r3, #2147483648 @ 0x80000000 │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r6, r2 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r7, r2 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ ldr r2, [r0, #0] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #44 @ 0x2c │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.n 136 │ │ │ │ │ - mov r5, r1 │ │ │ │ │ + beq.n 182 │ │ │ │ │ + mov r4, r1 │ │ │ │ │ ldr r1, [r1, #4] │ │ │ │ │ ldr r2, [r1, #0] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.n 13e │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + bne.n 19e │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #44 @ 0x2c │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_inplace_strides2 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 136 │ │ │ │ │ - ldrd r8, sl, [r5, #4] │ │ │ │ │ - ldr.w r3, [sl] │ │ │ │ │ + beq.n 182 │ │ │ │ │ + ldrd sl, r1, [r4, #4] │ │ │ │ │ + ldr r3, [r1, #0] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.n 136 │ │ │ │ │ - mov r7, sl │ │ │ │ │ + ble.n 182 │ │ │ │ │ + ldr.w r2, [sl] │ │ │ │ │ mov.w r3, #4294967295 @ 0xffffffff │ │ │ │ │ - mov.w r9, #0 │ │ │ │ │ - ldr.w r2, [r8] │ │ │ │ │ - str r5, [sp, #12] │ │ │ │ │ - mov fp, r3 │ │ │ │ │ - mov r5, sl │ │ │ │ │ - str r6, [sp, #16] │ │ │ │ │ - mov sl, r9 │ │ │ │ │ - mov r6, r7 │ │ │ │ │ - mov r9, r8 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + mov r5, r3 │ │ │ │ │ + mov fp, r1 │ │ │ │ │ + mov r9, r0 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ - cmp r2, #0 │ │ │ │ │ - ble.n 212 │ │ │ │ │ - mov.w r8, #0 │ │ │ │ │ - mov r4, r6 │ │ │ │ │ - mov r6, r8 │ │ │ │ │ - mov r8, r9 │ │ │ │ │ - b.n 1a6 │ │ │ │ │ + strd r4, r7, [sp, #16] │ │ │ │ │ + mov r4, r1 │ │ │ │ │ + mov r3, r2 │ │ │ │ │ + cmp r3, #0 │ │ │ │ │ + ble.n 26e │ │ │ │ │ + mov r6, sl │ │ │ │ │ + mov.w r7, #0 │ │ │ │ │ + b.n 202 │ │ │ │ │ ldr r0, [r4, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ - movs r3, #12 │ │ │ │ │ - mov r7, r0 │ │ │ │ │ - mla r2, r3, fp, r5 │ │ │ │ │ - ldr r0, [r2, #8] │ │ │ │ │ + mov r8, r0 │ │ │ │ │ + add.w r0, r5, r5, lsl #1 │ │ │ │ │ + add.w r0, fp, r0, lsl #2 │ │ │ │ │ + ldr r0, [r0, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ - cmp r7, r0 │ │ │ │ │ - ble.n 1f0 │ │ │ │ │ - ldr.w r2, [r9] │ │ │ │ │ - adds r6, #1 │ │ │ │ │ - add.w r8, r8, #12 │ │ │ │ │ - cmp r6, r2 │ │ │ │ │ - bge.n 1e0 │ │ │ │ │ - ldrd r7, r0, [r4, #4] │ │ │ │ │ + cmp r8, r0 │ │ │ │ │ + ble.n 24a │ │ │ │ │ + ldr.w r3, [sl] │ │ │ │ │ + add.w r7, r7, #1 │ │ │ │ │ + add.w r6, r6, #12 │ │ │ │ │ + cmp r7, r3 │ │ │ │ │ + bge.n 238 │ │ │ │ │ + ldrd r8, r0, [r4, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ - mul.w r7, r0, r7 │ │ │ │ │ - ldr.w r0, [r8, #8] │ │ │ │ │ + mul.w r8, r0, r8 │ │ │ │ │ + ldr r0, [r6, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ - cmp r7, r0 │ │ │ │ │ - bgt.n 198 │ │ │ │ │ - ldr r1, [r4, #4] │ │ │ │ │ - ldr.w r2, [r8, #4] │ │ │ │ │ - cmp r1, r2 │ │ │ │ │ - blt.n 198 │ │ │ │ │ - cmp.w fp, #4294967295 @ 0xffffffff │ │ │ │ │ - bne.n 180 │ │ │ │ │ - mov fp, sl │ │ │ │ │ - str r6, [sp, #8] │ │ │ │ │ - ldr.w r2, [r9] │ │ │ │ │ - adds r6, #1 │ │ │ │ │ - add.w r8, r8, #12 │ │ │ │ │ - cmp r6, r2 │ │ │ │ │ - blt.n 1a6 │ │ │ │ │ - ldr r1, [r5, #0] │ │ │ │ │ - add.w sl, sl, #1 │ │ │ │ │ - mov r6, r4 │ │ │ │ │ - cmp sl, r1 │ │ │ │ │ - bge.n 212 │ │ │ │ │ - adds r6, #12 │ │ │ │ │ - b.n 170 │ │ │ │ │ - ldr.w r0, [r8, #8] │ │ │ │ │ + cmp r8, r0 │ │ │ │ │ + bgt.n 1f2 │ │ │ │ │ + ldr r0, [r4, #4] │ │ │ │ │ + ldr r3, [r6, #4] │ │ │ │ │ + cmp r0, r3 │ │ │ │ │ + blt.n 1f2 │ │ │ │ │ + adds r0, r5, #1 │ │ │ │ │ + bne.n 1d8 │ │ │ │ │ + mov r5, r9 │ │ │ │ │ + str r7, [sp, #8] │ │ │ │ │ + ldr.w r3, [sl] │ │ │ │ │ + add.w r7, r7, #1 │ │ │ │ │ + add.w r6, r6, #12 │ │ │ │ │ + cmp r7, r3 │ │ │ │ │ + blt.n 202 │ │ │ │ │ + ldr.w r1, [fp] │ │ │ │ │ + add.w r9, r9, #1 │ │ │ │ │ + cmp r9, r1 │ │ │ │ │ + bge.n 26e │ │ │ │ │ + add.w r4, r4, #12 │ │ │ │ │ + b.n 1cc │ │ │ │ │ + ldr r0, [r6, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ - movs r2, #12 │ │ │ │ │ - mov r7, r0 │ │ │ │ │ - mla r2, r2, r3, r9 │ │ │ │ │ - ldr r0, [r2, #8] │ │ │ │ │ + str r0, [sp, #12] │ │ │ │ │ + add.w r0, r3, r3, lsl #1 │ │ │ │ │ + add.w r0, sl, r0, lsl #2 │ │ │ │ │ + ldr r0, [r0, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ - cmp r7, r0 │ │ │ │ │ - blt.n 198 │ │ │ │ │ - mov fp, sl │ │ │ │ │ - str r6, [sp, #8] │ │ │ │ │ - b.n 1d2 │ │ │ │ │ + ldr r3, [sp, #12] │ │ │ │ │ + cmp r3, r0 │ │ │ │ │ + blt.n 1f2 │ │ │ │ │ + mov r5, r9 │ │ │ │ │ + str r7, [sp, #8] │ │ │ │ │ + b.n 228 │ │ │ │ │ ldr r2, [sp, #8] │ │ │ │ │ - ldrd r5, r6, [sp, #12] │ │ │ │ │ - cmp.w fp, #4294967295 @ 0xffffffff │ │ │ │ │ + ldrd r4, r7, [sp, #16] │ │ │ │ │ + cmp.w r5, #4294967295 @ 0xffffffff │ │ │ │ │ it ne │ │ │ │ │ cmpne.w r2, #4294967295 @ 0xffffffff │ │ │ │ │ - beq.n 136 │ │ │ │ │ - ldrd r0, r1, [r5, #4] │ │ │ │ │ - movs r3, #12 │ │ │ │ │ - mul.w r4, r3, fp │ │ │ │ │ - mla r3, r3, r2, r0 │ │ │ │ │ - str r4, [sp, #36] @ 0x24 │ │ │ │ │ - adds r7, r1, r4 │ │ │ │ │ + beq.n 182 │ │ │ │ │ + ldrd r0, ip, [r4, #4] │ │ │ │ │ + mov.w r3, r5, lsl #1 │ │ │ │ │ + mov.w r6, r2, lsl #1 │ │ │ │ │ + mov r8, r3 │ │ │ │ │ + add r3, r5 │ │ │ │ │ + mov.w r3, r3, lsl #2 │ │ │ │ │ + add.w r9, ip, r3 │ │ │ │ │ + ldr.w r1, [r9, #8] │ │ │ │ │ + strd r1, r3, [sp, #32] │ │ │ │ │ + add.w r3, r6, r2 │ │ │ │ │ + add.w r3, r0, r3, lsl #2 │ │ │ │ │ ldr r3, [r3, #12] │ │ │ │ │ - ldr r4, [r7, #8] │ │ │ │ │ - str r4, [sp, #32] │ │ │ │ │ - cmp r3, r4 │ │ │ │ │ - beq.w 136 │ │ │ │ │ - ldrd r9, r3, [r5, #12] │ │ │ │ │ - add.w r2, r3, #8 │ │ │ │ │ - cmp r9, r2 │ │ │ │ │ + cmp r3, r1 │ │ │ │ │ + beq.w 182 │ │ │ │ │ + ldrd r2, r3, [r4, #12] │ │ │ │ │ + add.w r1, r3, #8 │ │ │ │ │ + cmp r2, r1 │ │ │ │ │ it eq │ │ │ │ │ - moveq.w ip, #2 │ │ │ │ │ - beq.n 264 │ │ │ │ │ - add.w ip, r9, #8 │ │ │ │ │ - cmp r3, ip │ │ │ │ │ + moveq.w sl, #2 │ │ │ │ │ + beq.n 2d2 │ │ │ │ │ + add.w sl, r2, #8 │ │ │ │ │ + cmp r3, sl │ │ │ │ │ ite eq │ │ │ │ │ - moveq.w ip, #2 │ │ │ │ │ - movne.w ip, #1 │ │ │ │ │ - ldr.w r2, [r6, #164] @ 0xa4 │ │ │ │ │ - ubfx r4, r2, #0, #20 │ │ │ │ │ - lsls r2, r2, #15 │ │ │ │ │ - bpl.n 2a2 │ │ │ │ │ - ldr r2, [sp, #32] │ │ │ │ │ - cmp ip, r2 │ │ │ │ │ - beq.n 2a2 │ │ │ │ │ - ldr r2, [r1, #0] │ │ │ │ │ - cmp r2, #2 │ │ │ │ │ - bne.w 136 │ │ │ │ │ - movs r2, #12 │ │ │ │ │ - rsb lr, fp, #1 │ │ │ │ │ - mla lr, r2, lr, r1 │ │ │ │ │ - ldr.w r2, [lr, #8] │ │ │ │ │ - cmp ip, r2 │ │ │ │ │ - bne.w 136 │ │ │ │ │ - ldr.w r2, [lr, #4] │ │ │ │ │ - mul.w ip, r2, ip │ │ │ │ │ - ldr r2, [sp, #32] │ │ │ │ │ - cmp ip, r2 │ │ │ │ │ - bne.w 136 │ │ │ │ │ - ldr r2, [r5, #20] │ │ │ │ │ - lsls r4, r4, #26 │ │ │ │ │ - str r2, [sp, #12] │ │ │ │ │ - bpl.n 2b0 │ │ │ │ │ - cmp r9, r2 │ │ │ │ │ - bne.w 136 │ │ │ │ │ - str r3, [sp, #16] │ │ │ │ │ - movs r4, #12 │ │ │ │ │ - ldr r3, [r7, #4] │ │ │ │ │ + moveq.w sl, #2 │ │ │ │ │ + movne.w sl, #1 │ │ │ │ │ + ldr.w r1, [r7, #164] @ 0xa4 │ │ │ │ │ + ubfx lr, r1, #0, #20 │ │ │ │ │ + lsls r1, r1, #15 │ │ │ │ │ + bpl.n 314 │ │ │ │ │ + ldr r1, [sp, #32] │ │ │ │ │ + cmp sl, r1 │ │ │ │ │ + beq.n 314 │ │ │ │ │ + ldr.w r1, [ip] │ │ │ │ │ + cmp r1, #2 │ │ │ │ │ + bne.w 182 │ │ │ │ │ + rsb fp, r5, #1 │ │ │ │ │ + add.w fp, fp, fp, lsl #1 │ │ │ │ │ + add.w fp, ip, fp, lsl #2 │ │ │ │ │ + ldr.w r1, [fp, #8] │ │ │ │ │ + cmp sl, r1 │ │ │ │ │ + bne.w 182 │ │ │ │ │ + ldr.w r1, [fp, #4] │ │ │ │ │ + mul.w sl, r1, sl │ │ │ │ │ + ldr r1, [sp, #32] │ │ │ │ │ + cmp sl, r1 │ │ │ │ │ + bne.w 182 │ │ │ │ │ + tst.w lr, #32 │ │ │ │ │ + ldr.w fp, [r4, #20] │ │ │ │ │ + beq.n 324 │ │ │ │ │ + cmp r2, fp │ │ │ │ │ + bne.w 182 │ │ │ │ │ + strd r2, r3, [sp, #12] │ │ │ │ │ + ldr.w r3, [r9, #4] │ │ │ │ │ str r3, [sp, #20] │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ - mul.w sl, r4, r3 │ │ │ │ │ - mul.w r4, r4, fp │ │ │ │ │ - ldr.w fp, [r5, #24] │ │ │ │ │ - add.w r2, r0, sl │ │ │ │ │ - add r1, r4 │ │ │ │ │ - ldr r2, [r2, #4] │ │ │ │ │ - ldr r1, [r1, #12] │ │ │ │ │ - str r1, [sp, #28] │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - str r2, [sp, #24] │ │ │ │ │ + add r6, r3 │ │ │ │ │ + mov r3, r8 │ │ │ │ │ + add r3, r5 │ │ │ │ │ + mov.w r6, r6, lsl #2 │ │ │ │ │ + mov.w r5, r3, lsl #2 │ │ │ │ │ + ldr r3, [r4, #24] │ │ │ │ │ + add.w r1, r0, r6 │ │ │ │ │ + add ip, r5 │ │ │ │ │ + ldr r2, [r1, #4] │ │ │ │ │ + ldr.w r1, [ip, #12] │ │ │ │ │ + str r3, [sp, #8] │ │ │ │ │ + strd r2, r1, [sp, #24] │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy_inplace │ │ │ │ │ - mov r7, r0 │ │ │ │ │ - ldr r0, [r5, #8] │ │ │ │ │ - add.w r1, r7, sl │ │ │ │ │ - adds r2, r0, r4 │ │ │ │ │ - ldr r2, [r2, #8] │ │ │ │ │ - str r2, [r1, #12] │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + add.w ip, r0, r6 │ │ │ │ │ + mov r8, r0 │ │ │ │ │ + ldr r0, [r4, #8] │ │ │ │ │ + add.w r1, r0, r5 │ │ │ │ │ + ldr r1, [r1, #8] │ │ │ │ │ + str.w r1, [ip, #12] │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy_inplace │ │ │ │ │ - ldr r2, [r5, #4] │ │ │ │ │ - mov r8, r0 │ │ │ │ │ - add r0, r4 │ │ │ │ │ - add r2, sl │ │ │ │ │ - ldr r1, [r2, #8] │ │ │ │ │ - str r1, [r0, #12] │ │ │ │ │ - ldr r2, [r2, #4] │ │ │ │ │ - str r2, [r0, #4] │ │ │ │ │ + ldr r1, [r4, #4] │ │ │ │ │ + add.w ip, r0, r5 │ │ │ │ │ + mov r9, r0 │ │ │ │ │ + add r1, r6 │ │ │ │ │ + ldr r0, [r1, #8] │ │ │ │ │ + str.w r0, [ip, #12] │ │ │ │ │ + ldr r1, [r1, #4] │ │ │ │ │ + str.w r1, [ip, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_0d │ │ │ │ │ - mov r1, r7 │ │ │ │ │ - str r0, [sp, #8] │ │ │ │ │ - mov r0, r8 │ │ │ │ │ + mov sl, r0 │ │ │ │ │ + mov r1, r8 │ │ │ │ │ + mov r0, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_append │ │ │ │ │ - ldr r3, [sp, #12] │ │ │ │ │ + ldrd r3, r2, [sp, #8] │ │ │ │ │ mov r1, r0 │ │ │ │ │ - mov r2, r9 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ - ldr r0, [sp, #8] │ │ │ │ │ + mov r0, sl │ │ │ │ │ + strd fp, r3, [sp] │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ - str.w fp, [sp, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_dft_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ - mov r0, r6 │ │ │ │ │ + mov r0, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ - mov r1, r8 │ │ │ │ │ - mov r9, r0 │ │ │ │ │ - mov r0, r7 │ │ │ │ │ + mov sl, r0 │ │ │ │ │ + mov r1, r9 │ │ │ │ │ + mov r0, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_destroy2 │ │ │ │ │ - cmp.w r9, #0 │ │ │ │ │ - beq.w 440 │ │ │ │ │ - ldr r0, [r5, #4] │ │ │ │ │ + cmp.w sl, #0 │ │ │ │ │ + beq.n 4c2 │ │ │ │ │ + ldr r0, [r4, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy │ │ │ │ │ - mov r7, r0 │ │ │ │ │ - ldr r0, [r5, #8] │ │ │ │ │ - adds r3, r0, r4 │ │ │ │ │ + mov r8, r0 │ │ │ │ │ + ldr r0, [r4, #8] │ │ │ │ │ + add.w r3, r0, r5 │ │ │ │ │ ldr r2, [r3, #8] │ │ │ │ │ - add.w r3, r7, sl │ │ │ │ │ + add.w r3, r8, r6 │ │ │ │ │ str r2, [r3, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy │ │ │ │ │ - ldr r3, [r5, #4] │ │ │ │ │ - add r4, r0 │ │ │ │ │ + ldr r3, [r4, #4] │ │ │ │ │ + add r5, r0 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - add r3, sl │ │ │ │ │ - mov r0, r7 │ │ │ │ │ + mov r0, r8 │ │ │ │ │ + add r3, r6 │ │ │ │ │ ldrd r2, r3, [r3, #4] │ │ │ │ │ - strd r2, r3, [r4, #4] │ │ │ │ │ - ldr r2, [sp, #12] │ │ │ │ │ - mov r3, fp │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ - str.w fp, [sp, #4] │ │ │ │ │ + strd r2, r3, [r5, #4] │ │ │ │ │ + mov r2, fp │ │ │ │ │ + ldr r3, [sp, #8] │ │ │ │ │ + str.w fp, [sp] │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_dft_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ - mov r0, r6 │ │ │ │ │ + mov r0, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ - mov r7, r0 │ │ │ │ │ + mov r8, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 440 │ │ │ │ │ - ldr.w r8, [sp, #24] │ │ │ │ │ - ldr r0, [sp, #20] │ │ │ │ │ - mov r1, r8 │ │ │ │ │ + beq.n 4c2 │ │ │ │ │ + ldrd r0, r9, [sp, #20] │ │ │ │ │ + mov r1, r9 │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ - ldr r2, [sp, #32] │ │ │ │ │ - ldr r1, [sp, #28] │ │ │ │ │ - mov r3, r8 │ │ │ │ │ - mov r4, r0 │ │ │ │ │ - ldr r0, [r5, #8] │ │ │ │ │ - mul.w r8, r2, r8 │ │ │ │ │ + ldrd r1, r2, [sp, #28] │ │ │ │ │ + mov r3, r9 │ │ │ │ │ + mov r5, r0 │ │ │ │ │ + ldr r0, [r4, #8] │ │ │ │ │ mul.w fp, r1, r3 │ │ │ │ │ + mul.w r9, r2, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy │ │ │ │ │ ldr r2, [sp, #36] @ 0x24 │ │ │ │ │ - str r0, [sp, #8] │ │ │ │ │ - add r2, r0 │ │ │ │ │ - ldr r0, [r5, #4] │ │ │ │ │ - add sl, r0 │ │ │ │ │ - ldr r1, [r2, #4] │ │ │ │ │ - ldr.w r3, [sl, #4] │ │ │ │ │ - mls r3, r3, r4, r1 │ │ │ │ │ + mov r1, r0 │ │ │ │ │ + ldr r0, [r4, #4] │ │ │ │ │ + str r1, [sp, #8] │ │ │ │ │ + add r2, r1 │ │ │ │ │ + ldr r3, [r2, #4] │ │ │ │ │ + add r6, r0 │ │ │ │ │ + ldr r6, [r6, #4] │ │ │ │ │ + mls r3, r6, r5, r3 │ │ │ │ │ str r3, [r2, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy │ │ │ │ │ - mul.w ip, fp, r4 │ │ │ │ │ - ldr r1, [r5, #24] │ │ │ │ │ - mul.w r2, r8, r4 │ │ │ │ │ - ldrd lr, r3, [r5, #12] │ │ │ │ │ + mul.w ip, fp, r5 │ │ │ │ │ + ldrd lr, r3, [r4, #12] │ │ │ │ │ + mul.w r2, r9, r5 │ │ │ │ │ + ldr r6, [r4, #24] │ │ │ │ │ mov.w ip, ip, lsl #3 │ │ │ │ │ - add.w sl, r1, ip │ │ │ │ │ - str.w sl, [sp, #4] │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ ldr r1, [sp, #8] │ │ │ │ │ - ldr r5, [r5, #20] │ │ │ │ │ add r3, r2 │ │ │ │ │ add r2, lr │ │ │ │ │ - add r5, ip │ │ │ │ │ - str r5, [sp, #0] │ │ │ │ │ + add r6, ip │ │ │ │ │ + str r6, [sp, #4] │ │ │ │ │ + ldr r4, [r4, #20] │ │ │ │ │ + add r4, ip │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_dft_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ - mov r0, r6 │ │ │ │ │ + mov r0, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov r6, r0 │ │ │ │ │ - cbz r0, 442 │ │ │ │ │ - ldr r2, [pc, #96] @ (458 ) │ │ │ │ │ - movs r0, #88 @ 0x58 │ │ │ │ │ - ldr r1, [pc, #96] @ (45c ) │ │ │ │ │ + cbz r0, 4c6 │ │ │ │ │ + ldr r2, [pc, #96] @ (4dc ) │ │ │ │ │ + mov.w r0, #88 @ 0x58 │ │ │ │ │ + ldr r1, [pc, #92] @ (4e0 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_dft │ │ │ │ │ - strd r4, r8, [r0, #64] @ 0x40 │ │ │ │ │ - add.w r8, r0, #8 │ │ │ │ │ - mov r5, r0 │ │ │ │ │ - mov r1, r8 │ │ │ │ │ - strd r9, r7, [r0, #76] @ 0x4c │ │ │ │ │ - str r6, [r0, #84] @ 0x54 │ │ │ │ │ - str.w fp, [r0, #72] @ 0x48 │ │ │ │ │ + mov r4, r0 │ │ │ │ │ + add.w r7, r0, #8 │ │ │ │ │ + mov r1, r7 │ │ │ │ │ add.w r0, r6, #8 │ │ │ │ │ + strd r5, r9, [r4, #64] @ 0x40 │ │ │ │ │ + strd fp, sl, [r4, #72] @ 0x48 │ │ │ │ │ + strd r8, r6, [r4, #80] @ 0x50 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_cpy │ │ │ │ │ - mov r2, r8 │ │ │ │ │ - add.w r1, r7, #8 │ │ │ │ │ - mov r0, r4 │ │ │ │ │ + mov r2, r7 │ │ │ │ │ + add.w r1, r8, #8 │ │ │ │ │ + mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_madd2 │ │ │ │ │ - mov r0, r4 │ │ │ │ │ - mov r2, r8 │ │ │ │ │ - add.w r1, r9, #8 │ │ │ │ │ + mov r0, r5 │ │ │ │ │ + mov r2, r7 │ │ │ │ │ + add.w r1, sl, #8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_madd2 │ │ │ │ │ - mov r0, r5 │ │ │ │ │ - add sp, #44 @ 0x2c │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - movs r7, #0 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + mov r0, r4 │ │ │ │ │ + b.n 186 │ │ │ │ │ + mov.w r8, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ - mov r0, r7 │ │ │ │ │ + mov r0, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ - mov r0, r9 │ │ │ │ │ + mov r0, sl │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ - b.n 136 │ │ │ │ │ - nop │ │ │ │ │ - .word 0x0000005a │ │ │ │ │ + b.n 182 │ │ │ │ │ + .word 0x00000056 │ │ │ │ │ R_ARM_REL32 apply_op │ │ │ │ │ - .word 0x0000005c │ │ │ │ │ + .word 0x00000058 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ │ │ │ │ │ -00000460 : │ │ │ │ │ +000004e4 : │ │ │ │ │ fftw_dft_indirect_transpose_register(): │ │ │ │ │ - ldr r1, [pc, #24] @ (47c ) │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + ldr r1, [pc, #28] @ (504 ) │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ + mov.w r0, #8 │ │ │ │ │ add r1, pc │ │ │ │ │ - movs r0, #8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solver_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000012 │ │ │ │ │ + .word 0x00000010 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ ├── indirect.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2580 (bytes into file) │ │ │ │ │ + Start of section headers: 2724 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 15 │ │ │ │ │ Section header string table index: 14 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ -There are 15 section headers, starting at offset 0xa14: │ │ │ │ │ +There are 15 section headers, starting at offset 0xaa4: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00029c 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00081c 000118 08 I 12 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0002d0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0002d0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0002d0 00003c 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 00030c 000010 00 WA 0 0 4 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000934 000020 08 I 12 6 4 │ │ │ │ │ - [ 8] .data.rel.ro.local PROGBITS 00000000 00031c 000024 00 WA 0 0 4 │ │ │ │ │ - [ 9] .rel.data.rel.ro.local REL 00000000 000954 000038 08 I 12 8 4 │ │ │ │ │ - [10] .note.GNU-stack PROGBITS 00000000 000340 000000 00 0 0 1 │ │ │ │ │ - [11] .ARM.attributes ARM_ATTRIBUTES 00000000 000340 000033 00 0 0 1 │ │ │ │ │ - [12] .symtab SYMTAB 00000000 000374 0002c0 10 13 26 4 │ │ │ │ │ - [13] .strtab STRTAB 00000000 000634 0001e5 00 0 0 1 │ │ │ │ │ - [14] .shstrtab STRTAB 00000000 00098c 000087 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00032c 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0008ac 000118 08 I 12 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000360 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000360 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000360 00003c 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 00039c 000010 00 WA 0 0 4 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 0009c4 000020 08 I 12 6 4 │ │ │ │ │ + [ 8] .data.rel.ro.local PROGBITS 00000000 0003ac 000024 00 WA 0 0 4 │ │ │ │ │ + [ 9] .rel.data.rel.ro.local REL 00000000 0009e4 000038 08 I 12 8 4 │ │ │ │ │ + [10] .note.GNU-stack PROGBITS 00000000 0003d0 000000 00 0 0 1 │ │ │ │ │ + [11] .ARM.attributes ARM_ATTRIBUTES 00000000 0003d0 000033 00 0 0 1 │ │ │ │ │ + [12] .symtab SYMTAB 00000000 000404 0002c0 10 13 26 4 │ │ │ │ │ + [13] .strtab STRTAB 00000000 0006c4 0001e5 00 0 0 1 │ │ │ │ │ + [14] .shstrtab STRTAB 00000000 000a1c 000087 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,28 +1,28 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 44 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 40 FUNC LOCAL DEFAULT 1 apply_before │ │ │ │ │ + 1: 00000001 60 FUNC LOCAL DEFAULT 1 apply_before │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000029 54 FUNC LOCAL DEFAULT 1 apply_after │ │ │ │ │ + 3: 0000003d 80 FUNC LOCAL DEFAULT 1 apply_after │ │ │ │ │ 4: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 6: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ - 7: 00000061 36 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ - 8: 00000080 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 9: 00000084 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 10: 00000085 20 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 11: 00000099 344 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 12: 000001e0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 13: 000001f0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 14: 000001f1 24 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 15: 00000209 44 FUNC LOCAL DEFAULT 1 mkcld_after │ │ │ │ │ - 16: 00000235 44 FUNC LOCAL DEFAULT 1 mkcld_before │ │ │ │ │ - 17: 00000298 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 7: 0000008d 40 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 8: 000000b0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 9: 000000b4 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 10: 000000b5 24 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 11: 000000cd 368 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 12: 0000022c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 13: 0000023c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 14: 0000023d 36 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 15: 00000261 62 FUNC LOCAL DEFAULT 1 mkcld_after │ │ │ │ │ + 16: 000002a1 62 FUNC LOCAL DEFAULT 1 mkcld_before │ │ │ │ │ + 17: 00000328 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 18: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 19: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 20: 00000000 16 OBJECT LOCAL DEFAULT 6 padt.0 │ │ │ │ │ 21: 00000000 0 SECTION LOCAL DEFAULT 8 .data.rel.ro.local │ │ │ │ │ 22: 00000000 0 NOTYPE LOCAL DEFAULT 8 $d │ │ │ │ │ 23: 00000000 12 OBJECT LOCAL DEFAULT 8 sadt.1 │ │ │ │ │ 24: 0000000c 12 OBJECT LOCAL DEFAULT 8 adt_before │ │ │ │ │ @@ -37,11 +37,11 @@ │ │ │ │ │ 33: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_d │ │ │ │ │ 34: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_f_d │ │ │ │ │ 35: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_dft │ │ │ │ │ 36: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_add │ │ │ │ │ 37: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_strides_decrease │ │ │ │ │ 38: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_awake │ │ │ │ │ 39: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_copy_inplace │ │ │ │ │ - 40: 00000261 60 FUNC GLOBAL DEFAULT 1 fftw_dft_indirect_register │ │ │ │ │ + 40: 000002e1 76 FUNC GLOBAL DEFAULT 1 fftw_dft_indirect_register │ │ │ │ │ 41: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ 42: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 43: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_solve │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,55 +1,55 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x81c contains 35 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x8ac contains 35 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000080 00000603 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -0000008a 00001a0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000000e2 00001b0a R_ARM_THM_CALL 00000000 fftw_tensor_min_istride │ │ │ │ │ -000000fa 00001c0a R_ARM_THM_CALL 00000000 fftw_tensor_inplace_strides2 │ │ │ │ │ -0000010e 00001d0a R_ARM_THM_CALL 00000000 fftw_tensor_min_ostride │ │ │ │ │ -00000118 00001b0a R_ARM_THM_CALL 00000000 fftw_tensor_min_istride │ │ │ │ │ -00000130 00001e0a R_ARM_THM_CALL 00000000 fftw_mktensor_0d │ │ │ │ │ -0000013a 00001f0a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ -0000014e 0000200a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ -00000156 0000210a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -00000174 0000220a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ -00000186 0000230a R_ARM_THM_CALL 00000000 fftw_mkplan_dft │ │ │ │ │ -0000019e 0000240a R_ARM_THM_CALL 00000000 fftw_ops_add │ │ │ │ │ -000001ba 0000250a R_ARM_THM_CALL 00000000 fftw_tensor_strides_decrease │ │ │ │ │ -000001c6 00001a0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000001cc 00001a0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000001d4 00001d0a R_ARM_THM_CALL 00000000 fftw_tensor_min_ostride │ │ │ │ │ -000001e0 00000303 R_ARM_REL32 00000029 apply_after │ │ │ │ │ -000001e4 00000103 R_ARM_REL32 00000001 apply_before │ │ │ │ │ -000001e8 00001203 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000001ec 00000303 R_ARM_REL32 00000029 apply_after │ │ │ │ │ -000001f8 0000260a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -00000212 0000270a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ -0000021c 0000270a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ -0000022c 0000200a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ -0000023e 0000270a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ -00000248 0000270a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ -00000258 0000200a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ -0000026c 0000290a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -0000027a 00002a0a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -00000284 0000290a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -00000298 00001503 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -00000094 00001a1e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000204 0000261e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ -00000292 00002a1e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ +000000b0 00000603 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +000000bc 00001a0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +0000012e 00001b0a R_ARM_THM_CALL 00000000 fftw_tensor_min_istride │ │ │ │ │ +00000144 00001c0a R_ARM_THM_CALL 00000000 fftw_tensor_inplace_strides2 │ │ │ │ │ +00000158 00001d0a R_ARM_THM_CALL 00000000 fftw_tensor_min_ostride │ │ │ │ │ +00000162 00001b0a R_ARM_THM_CALL 00000000 fftw_tensor_min_istride │ │ │ │ │ +0000017a 00001e0a R_ARM_THM_CALL 00000000 fftw_mktensor_0d │ │ │ │ │ +00000184 00001f0a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ +00000198 0000200a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ +000001a0 0000210a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +000001c0 0000220a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ +000001d4 0000230a R_ARM_THM_CALL 00000000 fftw_mkplan_dft │ │ │ │ │ +000001ec 0000240a R_ARM_THM_CALL 00000000 fftw_ops_add │ │ │ │ │ +00000206 0000250a R_ARM_THM_CALL 00000000 fftw_tensor_strides_decrease │ │ │ │ │ +00000214 00001a0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +0000021a 00001a0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000222 00001d0a R_ARM_THM_CALL 00000000 fftw_tensor_min_ostride │ │ │ │ │ +0000022c 00000303 R_ARM_REL32 0000003d apply_after │ │ │ │ │ +00000230 00000103 R_ARM_REL32 00000001 apply_before │ │ │ │ │ +00000234 00001203 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000238 00000303 R_ARM_REL32 0000003d apply_after │ │ │ │ │ +0000024a 0000260a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +00000272 0000270a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ +0000027e 0000270a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ +0000028e 0000200a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ +000002b2 0000270a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ +000002be 0000270a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ +000002ce 0000200a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ +000002f4 0000290a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +00000302 00002a0a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +0000030c 0000290a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +00000328 00001503 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +000000c8 00001a1e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ +0000025c 0000261e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ +00000324 00002a1e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x934 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x9c4 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00002b02 R_ARM_ABS32 00000000 fftw_dft_solve │ │ │ │ │ -00000004 00000e02 R_ARM_ABS32 000001f1 awake │ │ │ │ │ -00000008 00000702 R_ARM_ABS32 00000061 print │ │ │ │ │ -0000000c 00000a02 R_ARM_ABS32 00000085 destroy │ │ │ │ │ +00000004 00000e02 R_ARM_ABS32 0000023d awake │ │ │ │ │ +00000008 00000702 R_ARM_ABS32 0000008d print │ │ │ │ │ +0000000c 00000a02 R_ARM_ABS32 000000b5 destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x954 contains 7 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x9e4 contains 7 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000b02 R_ARM_ABS32 00000099 mkplan │ │ │ │ │ +00000004 00000b02 R_ARM_ABS32 000000cd mkplan │ │ │ │ │ 0000000c 00000102 R_ARM_ABS32 00000001 apply_before │ │ │ │ │ -00000010 00001002 R_ARM_ABS32 00000235 mkcld_before │ │ │ │ │ +00000010 00001002 R_ARM_ABS32 000002a1 mkcld_before │ │ │ │ │ 00000014 00000402 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ -00000018 00000302 R_ARM_ABS32 00000029 apply_after │ │ │ │ │ -0000001c 00000f02 R_ARM_ABS32 00000209 mkcld_after │ │ │ │ │ +00000018 00000302 R_ARM_ABS32 0000003d apply_after │ │ │ │ │ +0000001c 00000f02 R_ARM_ABS32 00000261 mkcld_after │ │ │ │ │ 00000020 00000402 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,340 +1,368 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ apply_before(): │ │ │ │ │ - push {r4, r5, r6, r7, lr} │ │ │ │ │ + str.w r4, [sp, #-20]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ - sub sp, #12 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r6, r3 │ │ │ │ │ + strd r7, lr, [sp, #12] │ │ │ │ │ + sub sp, #12 │ │ │ │ │ ldr r5, [sp, #32] │ │ │ │ │ + ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ str r5, [sp, #0] │ │ │ │ │ ldr r7, [r0, #56] @ 0x38 │ │ │ │ │ blx r7 │ │ │ │ │ ldr r0, [r4, #68] @ 0x44 │ │ │ │ │ - str r5, [sp, #32] │ │ │ │ │ mov r3, r6 │ │ │ │ │ mov r2, r5 │ │ │ │ │ + str r5, [sp, #32] │ │ │ │ │ mov r1, r6 │ │ │ │ │ ldr r4, [r0, #56] @ 0x38 │ │ │ │ │ mov ip, r4 │ │ │ │ │ add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ bx ip │ │ │ │ │ │ │ │ │ │ -00000028 : │ │ │ │ │ +0000003c : │ │ │ │ │ apply_after(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ + str.w r4, [sp, #-28]! │ │ │ │ │ + mov r4, r1 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r6, r0 │ │ │ │ │ + mov r5, r2 │ │ │ │ │ ldr r0, [r0, #68] @ 0x44 │ │ │ │ │ - sub sp, #12 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r7, r3 │ │ │ │ │ mov r3, r1 │ │ │ │ │ - mov r4, r1 │ │ │ │ │ - mov r5, r2 │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ + strd r9, lr, [sp, #20] │ │ │ │ │ + sub sp, #12 │ │ │ │ │ ldr.w r8, [sp, #40] @ 0x28 │ │ │ │ │ + str r2, [sp, #0] │ │ │ │ │ ldr.w r9, [r0, #56] @ 0x38 │ │ │ │ │ blx r9 │ │ │ │ │ ldr r0, [r6, #64] @ 0x40 │ │ │ │ │ - str.w r8, [sp, #40] @ 0x28 │ │ │ │ │ mov r3, r7 │ │ │ │ │ mov r2, r5 │ │ │ │ │ + str.w r8, [sp, #40] @ 0x28 │ │ │ │ │ mov r1, r4 │ │ │ │ │ ldr r6, [r0, #56] @ 0x38 │ │ │ │ │ mov ip, r6 │ │ │ │ │ add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ bx ip │ │ │ │ │ - nop │ │ │ │ │ │ │ │ │ │ -00000060 : │ │ │ │ │ +0000008c : │ │ │ │ │ print(): │ │ │ │ │ mov r3, r0 │ │ │ │ │ - push {r4, lr} │ │ │ │ │ mov r0, r1 │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ + ldr r1, [r3, #64] @ 0x40 │ │ │ │ │ sub sp, #8 │ │ │ │ │ ldr r2, [r3, #72] @ 0x48 │ │ │ │ │ - ldr r1, [r3, #64] @ 0x40 │ │ │ │ │ - ldr r4, [r0, #0] │ │ │ │ │ ldr r2, [r2, #8] │ │ │ │ │ ldr r2, [r2, #8] │ │ │ │ │ str r1, [sp, #0] │ │ │ │ │ - ldr r1, [pc, #8] @ (80 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (b0 ) │ │ │ │ │ + ldr r4, [r0, #0] │ │ │ │ │ ldr r3, [r3, #68] @ 0x44 │ │ │ │ │ add r1, pc │ │ │ │ │ blx r4 │ │ │ │ │ add sp, #8 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - .word 0x00000004 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x00000006 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ -00000084 : │ │ │ │ │ +000000b4 : │ │ │ │ │ destroy(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldr r0, [r0, #68] @ 0x44 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ ldr r0, [r4, #64] @ 0x40 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_destroy_internal │ │ │ │ │ │ │ │ │ │ -00000098 : │ │ │ │ │ +000000cc : │ │ │ │ │ mkplan(): │ │ │ │ │ - push {r4, r5, r6, r7, lr} │ │ │ │ │ + str.w r4, [sp, #-20]! │ │ │ │ │ mov r4, r1 │ │ │ │ │ + mvn.w r3, #2147483648 @ 0x80000000 │ │ │ │ │ ldr r1, [r1, #8] │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r6, r2 │ │ │ │ │ - mvn.w r3, #2147483648 @ 0x80000000 │ │ │ │ │ + strd r7, lr, [sp, #12] │ │ │ │ │ sub sp, #12 │ │ │ │ │ ldr r2, [r1, #0] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.n d2 │ │ │ │ │ + beq.n 110 │ │ │ │ │ mov r5, r0 │ │ │ │ │ ldr r0, [r4, #4] │ │ │ │ │ ldr r3, [r0, #0] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.n d2 │ │ │ │ │ + ble.n 110 │ │ │ │ │ ldr r2, [r4, #12] │ │ │ │ │ ldr r3, [r4, #20] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.n fa │ │ │ │ │ + beq.n 144 │ │ │ │ │ ldr r3, [r5, #8] │ │ │ │ │ - ldr r2, [pc, #284] @ (1e0 ) │ │ │ │ │ + ldr r2, [pc, #300] @ (22c ) │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ add r2, pc │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - beq.n d8 │ │ │ │ │ - ldr r2, [pc, #280] @ (1e4 ) │ │ │ │ │ + beq.n 124 │ │ │ │ │ + ldr r2, [pc, #292] @ (230 ) │ │ │ │ │ add r2, pc │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - beq.n 10c │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + beq.n 156 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #12 │ │ │ │ │ - pop {r4, r5, r6, r7, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ ldr.w r3, [r6, #164] @ 0xa4 │ │ │ │ │ lsls r3, r3, #19 │ │ │ │ │ - bmi.n d2 │ │ │ │ │ + bmi.n 110 │ │ │ │ │ ldr r0, [r4, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_min_istride │ │ │ │ │ cmp r0, #2 │ │ │ │ │ - ble.n 1d2 │ │ │ │ │ - ldr r3, [r4, #20] │ │ │ │ │ + ble.n 220 │ │ │ │ │ ldr r2, [r4, #12] │ │ │ │ │ + ldr r3, [r4, #20] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - itt ne │ │ │ │ │ - ldrne r3, [r5, #8] │ │ │ │ │ - ldrne r3, [r3, #0] │ │ │ │ │ - bne.n ca │ │ │ │ │ - b.n d2 │ │ │ │ │ + beq.n 110 │ │ │ │ │ + ldr r3, [r5, #8] │ │ │ │ │ + ldr r3, [r3, #0] │ │ │ │ │ + b.n 108 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_inplace_strides2 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 1a8 │ │ │ │ │ + beq.n 1f4 │ │ │ │ │ ldr r2, [r4, #12] │ │ │ │ │ ldr r3, [r4, #20] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.n d2 │ │ │ │ │ - b.n be │ │ │ │ │ + beq.n 110 │ │ │ │ │ + b.n fc │ │ │ │ │ ldr r0, [r4, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_min_ostride │ │ │ │ │ cmp r0, #2 │ │ │ │ │ - bgt.n d2 │ │ │ │ │ + bgt.n 110 │ │ │ │ │ ldr r0, [r4, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_min_istride │ │ │ │ │ cmp r0, #2 │ │ │ │ │ - ble.n d2 │ │ │ │ │ + ble.n 110 │ │ │ │ │ ldr.w r3, [r6, #164] @ 0xa4 │ │ │ │ │ lsls r2, r3, #26 │ │ │ │ │ - bpl.n 130 │ │ │ │ │ + bpl.n 17a │ │ │ │ │ ldr r2, [r4, #12] │ │ │ │ │ ldr r3, [r4, #20] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.n d2 │ │ │ │ │ + bne.n 110 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_0d │ │ │ │ │ mov r7, r0 │ │ │ │ │ ldrd r1, r0, [r4, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_append │ │ │ │ │ ldr r3, [r4, #24] │ │ │ │ │ mov r1, r0 │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ mov r0, r7 │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ ldr r3, [r4, #20] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldrd r2, r3, [r4, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_dft_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov r7, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 1c4 │ │ │ │ │ + beq.n 210 │ │ │ │ │ ldr r3, [r5, #8] │ │ │ │ │ mov r0, r4 │ │ │ │ │ ldr r3, [r3, #4] │ │ │ │ │ blx r3 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov.w r2, #1024 @ 0x400 │ │ │ │ │ mov r0, r6 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_f_d │ │ │ │ │ mov r6, r0 │ │ │ │ │ - cbz r0, 1c4 │ │ │ │ │ + cbz r0, 210 │ │ │ │ │ ldr r3, [r5, #8] │ │ │ │ │ - movs r0, #80 @ 0x50 │ │ │ │ │ - ldr r1, [pc, #100] @ (1e8 ) │ │ │ │ │ + mov.w r0, #80 @ 0x50 │ │ │ │ │ + ldr r1, [pc, #100] @ (234 ) │ │ │ │ │ ldr r2, [r3, #0] │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_dft │ │ │ │ │ - add.w r1, r7, #8 │ │ │ │ │ mov r4, r0 │ │ │ │ │ add.w r2, r0, #8 │ │ │ │ │ - strd r7, r6, [r0, #64] @ 0x40 │ │ │ │ │ - str r5, [r0, #72] @ 0x48 │ │ │ │ │ + add.w r1, r7, #8 │ │ │ │ │ add.w r0, r6, #8 │ │ │ │ │ + strd r7, r6, [r4, #64] @ 0x40 │ │ │ │ │ + str r5, [r4, #72] @ 0x48 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_add │ │ │ │ │ mov r0, r4 │ │ │ │ │ - add sp, #12 │ │ │ │ │ - pop {r4, r5, r6, r7, pc} │ │ │ │ │ + b.n 114 │ │ │ │ │ ldr r3, [r5, #8] │ │ │ │ │ ldrd r0, r1, [r4, #4] │ │ │ │ │ ldr r2, [r3, #0] │ │ │ │ │ - ldr r3, [pc, #56] @ (1ec ) │ │ │ │ │ + ldr r3, [pc, #56] @ (238 ) │ │ │ │ │ add r3, pc │ │ │ │ │ subs r2, r2, r3 │ │ │ │ │ it ne │ │ │ │ │ movne r2, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_strides_decrease │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 102 │ │ │ │ │ - b.n 120 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + beq.n 14c │ │ │ │ │ + b.n 16a │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ mov r0, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ - b.n d2 │ │ │ │ │ + b.n 110 │ │ │ │ │ ldr r0, [r4, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_min_ostride │ │ │ │ │ cmp r0, #2 │ │ │ │ │ - bgt.n 120 │ │ │ │ │ - b.n ea │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000118 │ │ │ │ │ + bgt.n 16a │ │ │ │ │ + b.n 136 │ │ │ │ │ + .word 0x00000126 │ │ │ │ │ R_ARM_REL32 apply_after │ │ │ │ │ - .word 0x00000114 │ │ │ │ │ + .word 0x00000122 │ │ │ │ │ R_ARM_REL32 apply_before │ │ │ │ │ - .word 0x00000060 │ │ │ │ │ + .word 0x0000005e │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000036 │ │ │ │ │ R_ARM_REL32 apply_after │ │ │ │ │ │ │ │ │ │ -000001f0 : │ │ │ │ │ +0000023c : │ │ │ │ │ awake(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - mov r5, r1 │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ + mov r5, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ ldr r0, [r4, #68] @ 0x44 │ │ │ │ │ mov r1, r5 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, lr} │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + ldrd r5, lr, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_awake │ │ │ │ │ │ │ │ │ │ -00000208 : │ │ │ │ │ +00000260 : │ │ │ │ │ mkcld_after(): │ │ │ │ │ - push {r4, r5, lr} │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ + str.w r4, [sp, #-12]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - sub sp, #12 │ │ │ │ │ ldr r0, [r0, #4] │ │ │ │ │ + strd r5, lr, [sp, #4] │ │ │ │ │ + sub sp, #12 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy_inplace │ │ │ │ │ - movs r1, #0 │ │ │ │ │ mov r5, r0 │ │ │ │ │ ldr r0, [r4, #8] │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy_inplace │ │ │ │ │ - mov r1, r0 │ │ │ │ │ ldrd r2, r3, [r4, #12] │ │ │ │ │ + mov r1, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ strd r2, r3, [sp] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_dft_d │ │ │ │ │ add sp, #12 │ │ │ │ │ - pop {r4, r5, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000234 : │ │ │ │ │ +000002a0 : │ │ │ │ │ mkcld_before(): │ │ │ │ │ - push {r4, r5, lr} │ │ │ │ │ + mov.w r1, #1 │ │ │ │ │ + str.w r4, [sp, #-12]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - movs r1, #1 │ │ │ │ │ - sub sp, #12 │ │ │ │ │ ldr r0, [r0, #4] │ │ │ │ │ + strd r5, lr, [sp, #4] │ │ │ │ │ + sub sp, #12 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy_inplace │ │ │ │ │ - movs r1, #1 │ │ │ │ │ mov r5, r0 │ │ │ │ │ ldr r0, [r4, #8] │ │ │ │ │ + mov.w r1, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy_inplace │ │ │ │ │ - mov r1, r0 │ │ │ │ │ ldrd r2, r3, [r4, #20] │ │ │ │ │ + mov r1, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ strd r2, r3, [sp] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_dft_d │ │ │ │ │ add sp, #12 │ │ │ │ │ - pop {r4, r5, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000260 : │ │ │ │ │ +000002e0 : │ │ │ │ │ fftw_dft_indirect_register(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ + ldr r4, [pc, #64] @ (328 ) │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ mov r5, r0 │ │ │ │ │ - ldr r4, [pc, #48] @ (298 ) │ │ │ │ │ - movs r0, #12 │ │ │ │ │ + mov.w r0, #12 │ │ │ │ │ add r4, pc │ │ │ │ │ mov r1, r4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ - add.w r3, r4, #12 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - str r3, [r0, #8] │ │ │ │ │ + add.w r3, r4, #12 │ │ │ │ │ mov r0, r5 │ │ │ │ │ + str r3, [r1, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ mov r1, r4 │ │ │ │ │ - movs r0, #12 │ │ │ │ │ - adds r4, #24 │ │ │ │ │ + mov.w r0, #12 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ - str r4, [r0, #8] │ │ │ │ │ mov r1, r0 │ │ │ │ │ + add.w r4, r4, #24 │ │ │ │ │ mov r0, r5 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, lr} │ │ │ │ │ + ldrd r5, lr, [sp, #8] │ │ │ │ │ + str r4, [r1, #8] │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solver_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x0000002c │ │ │ │ │ + .word 0x00000034 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ ├── kdft-dif.o │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,7 +1,7 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 4 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 6 FUNC GLOBAL DEFAULT 1 fftw_kdft_dif_register │ │ │ │ │ + 2: 00000001 8 FUNC GLOBAL DEFAULT 1 fftw_kdft_dif_register │ │ │ │ │ 3: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_regsolver_ct_directw │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,4 +1,4 @@ │ │ │ │ │ │ │ │ │ │ Relocation section '.rel.text' at offset 0xe8 contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000002 0000031e R_ARM_THM_JUMP24 00000000 fftw_regsolver_ct_directw │ │ │ │ │ +00000004 0000031e R_ARM_THM_JUMP24 00000000 fftw_regsolver_ct_directw │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,11 +1,10 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_kdft_dif_register(): │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_regsolver_ct_directw │ │ │ │ │ - nop │ │ │ ├── kdft-difsq.o │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,7 +1,7 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 4 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 6 FUNC GLOBAL DEFAULT 1 fftw_kdft_difsq_register │ │ │ │ │ + 2: 00000001 8 FUNC GLOBAL DEFAULT 1 fftw_kdft_difsq_register │ │ │ │ │ 3: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_regsolver_ct_directwsq │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,4 +1,4 @@ │ │ │ │ │ │ │ │ │ │ Relocation section '.rel.text' at offset 0xec contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000002 0000031e R_ARM_THM_JUMP24 00000000 fftw_regsolver_ct_directwsq │ │ │ │ │ +00000004 0000031e R_ARM_THM_JUMP24 00000000 fftw_regsolver_ct_directwsq │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,11 +1,10 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_kdft_difsq_register(): │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_regsolver_ct_directwsq │ │ │ │ │ - nop │ │ │ ├── kdft-dit.o │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,7 +1,7 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 4 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 6 FUNC GLOBAL DEFAULT 1 fftw_kdft_dit_register │ │ │ │ │ + 2: 00000001 8 FUNC GLOBAL DEFAULT 1 fftw_kdft_dit_register │ │ │ │ │ 3: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_regsolver_ct_directw │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,4 +1,4 @@ │ │ │ │ │ │ │ │ │ │ Relocation section '.rel.text' at offset 0xe8 contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000002 0000031e R_ARM_THM_JUMP24 00000000 fftw_regsolver_ct_directw │ │ │ │ │ +00000004 0000031e R_ARM_THM_JUMP24 00000000 fftw_regsolver_ct_directw │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,11 +1,10 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_kdft_dit_register(): │ │ │ │ │ - movs r3, #1 │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_regsolver_ct_directw │ │ │ │ │ - nop │ │ │ ├── kdft.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 456 (bytes into file) │ │ │ │ │ + Start of section headers: 468 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 10 │ │ │ │ │ Section header string table index: 9 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ -There are 10 section headers, starting at offset 0x1c8: │ │ │ │ │ +There are 10 section headers, starting at offset 0x1d4: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00002c 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000158 000020 08 I 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000060 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000060 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .note.GNU-stack PROGBITS 00000000 000060 000000 00 0 0 1 │ │ │ │ │ - [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000060 000033 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 000094 000060 10 8 2 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 0000f4 000061 00 0 0 1 │ │ │ │ │ - [ 9] .shstrtab STRTAB 00000000 000178 000050 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000038 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000164 000020 08 I 7 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 00006c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 00006c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .note.GNU-stack PROGBITS 00000000 00006c 000000 00 0 0 1 │ │ │ │ │ + [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 00006c 000033 00 0 0 1 │ │ │ │ │ + [ 7] .symtab SYMTAB 00000000 0000a0 000060 10 8 2 4 │ │ │ │ │ + [ 8] .strtab STRTAB 00000000 000100 000061 00 0 0 1 │ │ │ │ │ + [ 9] .shstrtab STRTAB 00000000 000184 000050 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,9 +1,9 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 6 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 44 FUNC GLOBAL DEFAULT 1 fftw_kdft_register │ │ │ │ │ + 2: 00000001 56 FUNC GLOBAL DEFAULT 1 fftw_kdft_register │ │ │ │ │ 3: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver_dft_direct │ │ │ │ │ 4: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 5: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver_dft_directbuf │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,7 +1,7 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x158 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x164 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000000c 0000030a R_ARM_THM_CALL 00000000 fftw_mksolver_dft_direct │ │ │ │ │ -00000014 0000040a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -0000001c 0000050a R_ARM_THM_CALL 00000000 fftw_mksolver_dft_directbuf │ │ │ │ │ -00000028 0000041e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ +00000012 0000030a R_ARM_THM_CALL 00000000 fftw_mksolver_dft_direct │ │ │ │ │ +0000001a 0000040a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +00000022 0000050a R_ARM_THM_CALL 00000000 fftw_mksolver_dft_directbuf │ │ │ │ │ +00000034 0000041e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,28 +1,31 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_kdft_register(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ mov r5, r1 │ │ │ │ │ mov r4, r0 │ │ │ │ │ mov r1, r2 │ │ │ │ │ mov r0, r5 │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ mov r6, r2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver_dft_direct │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ mov r1, r6 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver_dft_directbuf │ │ │ │ │ + ldrd r6, lr, [sp, #8] │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solver_register │ │ │ ├── nop.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1168 (bytes into file) │ │ │ │ │ + Start of section headers: 1180 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 15 │ │ │ │ │ Section header string table index: 14 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ -There are 15 section headers, starting at offset 0x490: │ │ │ │ │ +There are 15 section headers, starting at offset 0x49c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000080 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000398 000048 08 I 12 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0000b4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0000b4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0000b4 00000a 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 0000be 000010 00 WA 0 0 4 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 0003e0 000020 08 I 12 6 4 │ │ │ │ │ - [ 8] .data.rel.ro.local PROGBITS 00000000 0000ce 00000c 00 WA 0 0 4 │ │ │ │ │ - [ 9] .rel.data.rel.ro.local REL 00000000 000400 000008 08 I 12 8 4 │ │ │ │ │ - [10] .note.GNU-stack PROGBITS 00000000 0000da 000000 00 0 0 1 │ │ │ │ │ - [11] .ARM.attributes ARM_ATTRIBUTES 00000000 0000da 000033 00 0 0 1 │ │ │ │ │ - [12] .symtab SYMTAB 00000000 000110 0001b0 10 13 18 4 │ │ │ │ │ - [13] .strtab STRTAB 00000000 0002c0 0000d6 00 0 0 1 │ │ │ │ │ - [14] .shstrtab STRTAB 00000000 000408 000087 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00008c 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0003a4 000048 08 I 12 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0000c0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0000c0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0000c0 00000a 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0000ca 000010 00 WA 0 0 4 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 0003ec 000020 08 I 12 6 4 │ │ │ │ │ + [ 8] .data.rel.ro.local PROGBITS 00000000 0000da 00000c 00 WA 0 0 4 │ │ │ │ │ + [ 9] .rel.data.rel.ro.local REL 00000000 00040c 000008 08 I 12 8 4 │ │ │ │ │ + [10] .note.GNU-stack PROGBITS 00000000 0000e6 000000 00 0 0 1 │ │ │ │ │ + [11] .ARM.attributes ARM_ATTRIBUTES 00000000 0000e6 000033 00 0 0 1 │ │ │ │ │ + [12] .symtab SYMTAB 00000000 00011c 0001b0 10 13 18 4 │ │ │ │ │ + [13] .strtab STRTAB 00000000 0002cc 0000d6 00 0 0 1 │ │ │ │ │ + [14] .shstrtab STRTAB 00000000 000414 000087 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -5,26 +5,26 @@ │ │ │ │ │ 1: 00000001 2 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 3: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 4: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ 5: 00000005 16 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ 6: 00000010 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 7: 00000014 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 8: 00000015 76 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 9: 00000058 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 10: 00000060 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 11: 0000007c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 00000015 84 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 9: 00000060 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 10: 00000068 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 11: 00000088 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 12: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 13: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 14: 00000000 16 OBJECT LOCAL DEFAULT 6 padt.0 │ │ │ │ │ 15: 00000000 0 SECTION LOCAL DEFAULT 8 .data.rel.ro.local │ │ │ │ │ 16: 00000000 0 NOTYPE LOCAL DEFAULT 8 $d │ │ │ │ │ 17: 00000000 12 OBJECT LOCAL DEFAULT 8 sadt.1 │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_inplace_strides │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_dft │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_zero │ │ │ │ │ - 21: 00000061 32 FUNC GLOBAL DEFAULT 1 fftw_dft_nop_register │ │ │ │ │ + 21: 00000069 36 FUNC GLOBAL DEFAULT 1 fftw_dft_nop_register │ │ │ │ │ 22: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ 23: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 24: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_solve │ │ │ │ │ 25: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_null_awake │ │ │ │ │ 26: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_null_destroy │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x398 contains 9 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x3a4 contains 9 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000010 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -00000034 0000120a R_ARM_THM_CALL 00000000 fftw_tensor_inplace_strides │ │ │ │ │ -00000046 0000130a R_ARM_THM_CALL 00000000 fftw_mkplan_dft │ │ │ │ │ -0000004e 0000140a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ -00000058 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ -0000005c 00000c03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000006a 0000160a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -0000007c 00000f03 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -00000076 0000171e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ +00000038 0000120a R_ARM_THM_CALL 00000000 fftw_tensor_inplace_strides │ │ │ │ │ +0000004c 0000130a R_ARM_THM_CALL 00000000 fftw_mkplan_dft │ │ │ │ │ +00000056 0000140a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ +00000060 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ +00000064 00000c03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000076 0000160a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +00000088 00000f03 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +00000084 0000171e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x3e0 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x3ec contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00001802 R_ARM_ABS32 00000000 fftw_dft_solve │ │ │ │ │ 00000004 00001902 R_ARM_ABS32 00000000 fftw_null_awake │ │ │ │ │ 00000008 00000502 R_ARM_ABS32 00000005 print │ │ │ │ │ 0000000c 00001a02 R_ARM_ABS32 00000000 fftw_plan_null_destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x400 contains 1 entry: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x40c contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000015 mkplan │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -6,73 +6,73 @@ │ │ │ │ │ 00000000 : │ │ │ │ │ apply(): │ │ │ │ │ bx lr │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ 00000004 : │ │ │ │ │ print(): │ │ │ │ │ - ldr r3, [r1, #0] │ │ │ │ │ mov r0, r1 │ │ │ │ │ - ldr r1, [pc, #4] @ (10 ) │ │ │ │ │ + ldr r1, [pc, #8] @ (10 ) │ │ │ │ │ + ldr r3, [r0, #0] │ │ │ │ │ add r1, pc │ │ │ │ │ bx r3 │ │ │ │ │ nop │ │ │ │ │ .word 0x00000002 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ 00000014 : │ │ │ │ │ mkplan(): │ │ │ │ │ ldr r0, [r1, #8] │ │ │ │ │ mvn.w r3, #2147483648 @ 0x80000000 │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ ldr r2, [r0, #0] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.n 3c │ │ │ │ │ + beq.n 40 │ │ │ │ │ ldr r3, [r1, #4] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - cbnz r3, 30 │ │ │ │ │ - ldr r2, [r1, #20] │ │ │ │ │ + cbnz r3, 32 │ │ │ │ │ ldr r3, [r1, #12] │ │ │ │ │ + ldr r2, [r1, #20] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.n 34 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + beq.n 38 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_inplace_strides │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 30 │ │ │ │ │ - ldr r2, [pc, #24] @ (58 ) │ │ │ │ │ - movs r0, #64 @ 0x40 │ │ │ │ │ - ldr r1, [pc, #24] @ (5c ) │ │ │ │ │ + beq.n 32 │ │ │ │ │ + ldr r2, [pc, #28] @ (60 ) │ │ │ │ │ + mov.w r0, #64 @ 0x40 │ │ │ │ │ + ldr r1, [pc, #28] @ (64 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_dft │ │ │ │ │ mov r4, r0 │ │ │ │ │ - adds r0, #8 │ │ │ │ │ + add.w r0, r0, #8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_zero │ │ │ │ │ mov r0, r4 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ nop │ │ │ │ │ - .word 0x00000012 │ │ │ │ │ - R_ARM_REL32 apply │ │ │ │ │ .word 0x00000014 │ │ │ │ │ + R_ARM_REL32 apply │ │ │ │ │ + .word 0x00000016 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ │ │ │ │ │ -00000060 : │ │ │ │ │ +00000068 : │ │ │ │ │ fftw_dft_nop_register(): │ │ │ │ │ - ldr r1, [pc, #24] @ (7c ) │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + ldr r1, [pc, #28] @ (88 ) │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ + mov.w r0, #8 │ │ │ │ │ add r1, pc │ │ │ │ │ - movs r0, #8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solver_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000012 │ │ │ │ │ + .word 0x00000010 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ ├── lt3-plan.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 300 (bytes into file) │ │ │ │ │ + Start of section headers: 304 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 10 │ │ │ │ │ Section header string table index: 9 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ -There are 10 section headers, starting at offset 0x12c: │ │ │ │ │ +There are 10 section headers, starting at offset 0x130: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00000c 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0000d4 000008 08 I 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000040 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000040 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .note.GNU-stack PROGBITS 00000000 000040 000000 00 0 0 1 │ │ │ │ │ - [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000040 000033 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 000074 000040 10 8 2 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 0000b4 000020 00 0 0 1 │ │ │ │ │ - [ 9] .shstrtab STRTAB 00000000 0000dc 000050 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000010 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0000d8 000008 08 I 7 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000044 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000044 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .note.GNU-stack PROGBITS 00000000 000044 000000 00 0 0 1 │ │ │ │ │ + [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000044 000033 00 0 0 1 │ │ │ │ │ + [ 7] .symtab SYMTAB 00000000 000078 000040 10 8 2 4 │ │ │ │ │ + [ 8] .strtab STRTAB 00000000 0000b8 000020 00 0 0 1 │ │ │ │ │ + [ 9] .shstrtab STRTAB 00000000 0000e0 000050 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,7 +1,7 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 4 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 12 FUNC GLOBAL DEFAULT 1 fftw_mkplan_dft │ │ │ │ │ + 2: 00000001 14 FUNC GLOBAL DEFAULT 1 fftw_mkplan_dft │ │ │ │ │ 3: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,4 +1,4 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xd4 contains 1 entry: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xd8 contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 0000030a R_ARM_THM_CALL 00000000 fftw_mkplan │ │ │ │ │ +00000006 0000030a R_ARM_THM_CALL 00000000 fftw_mkplan │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,13 +1,14 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_mkplan_dft(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan │ │ │ │ │ str r4, [r0, #56] @ 0x38 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ + nop │ │ │ ├── lt4-problem.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1900 (bytes into file) │ │ │ │ │ + Start of section headers: 2032 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x76c: │ │ │ │ │ +There are 13 section headers, starting at offset 0x7f0: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0001a4 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0005dc 0000f8 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0001d8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0001d8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0001d8 000020 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro.local PROGBITS 00000000 0001f8 000014 00 WA 0 0 4 │ │ │ │ │ - [ 7] .rel.data.rel.ro.local REL 00000000 0006d4 000020 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 00020c 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 00020c 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 000240 000230 10 11 18 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 000470 00016b 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 0006f4 000076 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000228 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000660 0000f8 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 00025c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 00025c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 00025c 000020 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro.local PROGBITS 00000000 00027c 000014 00 WA 0 0 4 │ │ │ │ │ + [ 7] .rel.data.rel.ro.local REL 00000000 000758 000020 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 000290 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000290 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 0002c4 000230 10 11 18 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 0004f4 00016b 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000778 000076 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,38 +1,38 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 35 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 22 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 1: 00000001 26 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 3: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 4: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ - 5: 00000019 92 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ - 6: 00000070 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 7: 00000074 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 8: 00000075 32 FUNC LOCAL DEFAULT 1 zero │ │ │ │ │ + 5: 0000001d 128 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 6: 00000098 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 7: 0000009c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 8: 0000009d 44 FUNC LOCAL DEFAULT 1 zero │ │ │ │ │ 9: 0000001c 0 NOTYPE LOCAL DEFAULT 5 .LC1 │ │ │ │ │ - 10: 00000095 144 FUNC LOCAL DEFAULT 1 hash │ │ │ │ │ - 11: 00000120 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 12: 00000124 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 13: 0000017c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 14: 00000180 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 10: 000000c9 168 FUNC LOCAL DEFAULT 1 hash │ │ │ │ │ + 11: 0000016c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 12: 00000170 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 13: 000001f4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 14: 000001f8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 15: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro.local │ │ │ │ │ 16: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 17: 00000000 20 OBJECT LOCAL DEFAULT 6 padt │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_destroy2 │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ifree │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ialignment_of │ │ │ │ │ 21: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_append │ │ │ │ │ 22: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_zerotens │ │ │ │ │ 23: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_destroy │ │ │ │ │ 24: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_md5puts │ │ │ │ │ 25: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_md5int │ │ │ │ │ 26: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_md5INT │ │ │ │ │ 27: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_md5 │ │ │ │ │ - 28: 00000125 92 FUNC GLOBAL DEFAULT 1 fftw_mkproblem_dft │ │ │ │ │ + 28: 00000171 136 FUNC GLOBAL DEFAULT 1 fftw_mkproblem_dft │ │ │ │ │ 29: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_inplace_locations │ │ │ │ │ 30: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkproblem │ │ │ │ │ 31: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_compress │ │ │ │ │ 32: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_compress_contiguous │ │ │ │ │ 33: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkproblem_unsolvable │ │ │ │ │ - 34: 00000181 36 FUNC GLOBAL DEFAULT 1 fftw_mkproblem_dft_d │ │ │ │ │ + 34: 000001f9 48 FUNC GLOBAL DEFAULT 1 fftw_mkproblem_dft_d │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,41 +1,41 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x5dc contains 31 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x660 contains 31 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000008 0000120a R_ARM_THM_CALL 00000000 fftw_tensor_destroy2 │ │ │ │ │ -0000002c 0000140a R_ARM_THM_CALL 00000000 fftw_ialignment_of │ │ │ │ │ -00000034 0000140a R_ARM_THM_CALL 00000000 fftw_ialignment_of │ │ │ │ │ -00000070 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -0000007c 0000150a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ -00000086 0000160a R_ARM_THM_CALL 00000000 fftw_dft_zerotens │ │ │ │ │ -000000a0 0000180a R_ARM_THM_CALL 00000000 fftw_md5puts │ │ │ │ │ -000000b2 0000190a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ -000000c0 00001a0a R_ARM_THM_CALL 00000000 fftw_md5INT │ │ │ │ │ -000000ce 00001a0a R_ARM_THM_CALL 00000000 fftw_md5INT │ │ │ │ │ -000000d4 0000140a R_ARM_THM_CALL 00000000 fftw_ialignment_of │ │ │ │ │ -000000dc 0000190a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ -000000e2 0000140a R_ARM_THM_CALL 00000000 fftw_ialignment_of │ │ │ │ │ -000000ea 0000190a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ -000000f0 0000140a R_ARM_THM_CALL 00000000 fftw_ialignment_of │ │ │ │ │ -000000f8 0000190a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ -000000fe 0000140a R_ARM_THM_CALL 00000000 fftw_ialignment_of │ │ │ │ │ -00000106 0000190a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ -0000010e 00001b0a R_ARM_THM_CALL 00000000 fftw_tensor_md5 │ │ │ │ │ -00000120 00000903 R_ARM_REL32 0000001c .LC1 │ │ │ │ │ -00000144 00001d0a R_ARM_THM_CALL 00000000 fftw_tensor_inplace_locations │ │ │ │ │ -00000150 00001e0a R_ARM_THM_CALL 00000000 fftw_mkproblem │ │ │ │ │ -00000158 00001f0a R_ARM_THM_CALL 00000000 fftw_tensor_compress │ │ │ │ │ -00000160 0000200a R_ARM_THM_CALL 00000000 fftw_tensor_compress_contiguous │ │ │ │ │ -0000017c 00000f03 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -00000190 00001c0a R_ARM_THM_CALL 00000125 fftw_mkproblem_dft │ │ │ │ │ -0000019a 0000120a R_ARM_THM_CALL 00000000 fftw_tensor_destroy2 │ │ │ │ │ -00000012 0000131e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ │ -00000090 0000171e R_ARM_THM_JUMP24 00000000 fftw_tensor_destroy │ │ │ │ │ -0000011a 00001b1e R_ARM_THM_JUMP24 00000000 fftw_tensor_md5 │ │ │ │ │ -00000178 0000211e R_ARM_THM_JUMP24 00000000 fftw_mkproblem_unsolvable │ │ │ │ │ +0000000a 0000120a R_ARM_THM_CALL 00000000 fftw_tensor_destroy2 │ │ │ │ │ +0000003e 0000140a R_ARM_THM_CALL 00000000 fftw_ialignment_of │ │ │ │ │ +0000004a 0000140a R_ARM_THM_CALL 00000000 fftw_ialignment_of │ │ │ │ │ +00000098 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +000000aa 0000150a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ +000000b4 0000160a R_ARM_THM_CALL 00000000 fftw_dft_zerotens │ │ │ │ │ +000000da 0000180a R_ARM_THM_CALL 00000000 fftw_md5puts │ │ │ │ │ +000000f0 0000190a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ +00000102 00001a0a R_ARM_THM_CALL 00000000 fftw_md5INT │ │ │ │ │ +00000114 00001a0a R_ARM_THM_CALL 00000000 fftw_md5INT │ │ │ │ │ +0000011a 0000140a R_ARM_THM_CALL 00000000 fftw_ialignment_of │ │ │ │ │ +00000122 0000190a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ +00000128 0000140a R_ARM_THM_CALL 00000000 fftw_ialignment_of │ │ │ │ │ +00000130 0000190a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ +00000136 0000140a R_ARM_THM_CALL 00000000 fftw_ialignment_of │ │ │ │ │ +0000013e 0000190a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ +00000144 0000140a R_ARM_THM_CALL 00000000 fftw_ialignment_of │ │ │ │ │ +0000014c 0000190a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ +00000154 00001b0a R_ARM_THM_CALL 00000000 fftw_tensor_md5 │ │ │ │ │ +0000016c 00000903 R_ARM_REL32 0000001c .LC1 │ │ │ │ │ +0000019c 00001d0a R_ARM_THM_CALL 00000000 fftw_tensor_inplace_locations │ │ │ │ │ +000001aa 00001e0a R_ARM_THM_CALL 00000000 fftw_mkproblem │ │ │ │ │ +000001b2 00001f0a R_ARM_THM_CALL 00000000 fftw_tensor_compress │ │ │ │ │ +000001ba 0000200a R_ARM_THM_CALL 00000000 fftw_tensor_compress_contiguous │ │ │ │ │ +000001f4 00000f03 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +0000020e 00001c0a R_ARM_THM_CALL 00000171 fftw_mkproblem_dft │ │ │ │ │ +00000218 0000120a R_ARM_THM_CALL 00000000 fftw_tensor_destroy2 │ │ │ │ │ +00000016 0000131e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ │ +000000c4 0000171e R_ARM_THM_JUMP24 00000000 fftw_tensor_destroy │ │ │ │ │ +00000166 00001b1e R_ARM_THM_JUMP24 00000000 fftw_tensor_md5 │ │ │ │ │ +000001ee 0000211e R_ARM_THM_JUMP24 00000000 fftw_mkproblem_unsolvable │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x6d4 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x758 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000a02 R_ARM_ABS32 00000095 hash │ │ │ │ │ -00000008 00000802 R_ARM_ABS32 00000075 zero │ │ │ │ │ -0000000c 00000502 R_ARM_ABS32 00000019 print │ │ │ │ │ +00000004 00000a02 R_ARM_ABS32 000000c9 hash │ │ │ │ │ +00000008 00000802 R_ARM_ABS32 0000009d zero │ │ │ │ │ +0000000c 00000502 R_ARM_ABS32 0000001d print │ │ │ │ │ 00000010 00000102 R_ARM_ABS32 00000001 destroy │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,111 +1,122 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ destroy(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldrd r1, r0, [r0, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_destroy2 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_ifree │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000018 : │ │ │ │ │ +0000001c : │ │ │ │ │ print(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ + str.w r4, [sp, #-28]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldr r0, [r0, #12] │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r6, r1 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + ldr r7, [r4, #20] │ │ │ │ │ + strd r9, lr, [sp, #20] │ │ │ │ │ sub sp, #28 │ │ │ │ │ ldr.w r8, [r1] │ │ │ │ │ - ldr r7, [r4, #20] │ │ │ │ │ - mov r6, r1 │ │ │ │ │ - subs r7, r7, r0 │ │ │ │ │ + sub.w r7, r7, r0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ialignment_of │ │ │ │ │ mov r9, r0 │ │ │ │ │ ldr r0, [r4, #20] │ │ │ │ │ + clz r7, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ialignment_of │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ + mov.w r7, r7, lsr #5 │ │ │ │ │ + ldr r1, [pc, #64] @ (98 ) │ │ │ │ │ + mov r2, r7 │ │ │ │ │ str r3, [sp, #16] │ │ │ │ │ - clz r7, r7 │ │ │ │ │ - ldr r1, [pc, #44] @ (70 ) │ │ │ │ │ ldr r3, [r4, #4] │ │ │ │ │ - lsrs r7, r7, #5 │ │ │ │ │ - str r3, [sp, #12] │ │ │ │ │ - mov r2, r7 │ │ │ │ │ add r1, pc │ │ │ │ │ + str r3, [sp, #12] │ │ │ │ │ ldrd r3, r5, [r4, #20] │ │ │ │ │ - subs r5, r5, r3 │ │ │ │ │ + sub.w r5, r5, r3 │ │ │ │ │ mov r3, r9 │ │ │ │ │ - asrs r5, r5, #3 │ │ │ │ │ + mov.w r5, r5, asr #3 │ │ │ │ │ str r5, [sp, #8] │ │ │ │ │ ldrd r4, r5, [r4, #12] │ │ │ │ │ - subs r4, r5, r4 │ │ │ │ │ - asrs r4, r4, #3 │ │ │ │ │ + sub.w r4, r5, r4 │ │ │ │ │ + mov.w r4, r4, asr #3 │ │ │ │ │ strd r0, r4, [sp] │ │ │ │ │ mov r0, r6 │ │ │ │ │ blx r8 │ │ │ │ │ add sp, #28 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000022 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + .word 0x00000038 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ -00000074 : │ │ │ │ │ +0000009c : │ │ │ │ │ zero(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldrd r1, r0, [r0, #4] │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_append │ │ │ │ │ ldrd r1, r2, [r4, #12] │ │ │ │ │ mov r5, r0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_dft_zerotens │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ mov r0, r5 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, lr} │ │ │ │ │ + ldrd r5, lr, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_tensor_destroy │ │ │ │ │ │ │ │ │ │ -00000094 : │ │ │ │ │ +000000c8 : │ │ │ │ │ hash(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ mov r5, r1 │ │ │ │ │ - ldr r1, [pc, #132] @ (120 ) │ │ │ │ │ + ldr r1, [pc, #148] @ (16c ) │ │ │ │ │ mov r0, r5 │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5puts │ │ │ │ │ - ldr r3, [r4, #20] │ │ │ │ │ ldr r1, [r4, #12] │ │ │ │ │ mov r0, r5 │ │ │ │ │ - subs r1, r1, r3 │ │ │ │ │ + ldr r3, [r4, #20] │ │ │ │ │ + sub.w r1, r1, r3 │ │ │ │ │ clz r1, r1 │ │ │ │ │ - lsrs r1, r1, #5 │ │ │ │ │ + mov.w r1, r1, lsr #5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5int │ │ │ │ │ - mov r0, r5 │ │ │ │ │ ldrd r3, r1, [r4, #12] │ │ │ │ │ - subs r1, r1, r3 │ │ │ │ │ - asrs r1, r1, #3 │ │ │ │ │ + mov r0, r5 │ │ │ │ │ + sub.w r1, r1, r3 │ │ │ │ │ + mov.w r1, r1, asr #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5INT │ │ │ │ │ - mov r0, r5 │ │ │ │ │ ldrd r3, r1, [r4, #20] │ │ │ │ │ - subs r1, r1, r3 │ │ │ │ │ - asrs r1, r1, #3 │ │ │ │ │ + mov r0, r5 │ │ │ │ │ + sub.w r1, r1, r3 │ │ │ │ │ + mov.w r1, r1, asr #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5INT │ │ │ │ │ ldr r0, [r4, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ialignment_of │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ @@ -134,77 +145,94 @@ │ │ │ │ │ R_ARM_THM_CALL fftw_md5int │ │ │ │ │ ldr r1, [r4, #4] │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_md5 │ │ │ │ │ ldr r1, [r4, #8] │ │ │ │ │ mov r0, r5 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, lr} │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + ldrd r5, lr, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_tensor_md5 │ │ │ │ │ nop │ │ │ │ │ - .word 0x0000007e │ │ │ │ │ + .word 0x00000090 │ │ │ │ │ R_ARM_REL32 .LC1 │ │ │ │ │ │ │ │ │ │ -00000124 : │ │ │ │ │ +00000170 : │ │ │ │ │ fftw_mkproblem_dft(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ + mov r5, r3 │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r7, r6, [sp, #32] │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ mov r9, r0 │ │ │ │ │ mov r8, r1 │ │ │ │ │ - ldrd r7, r6, [sp, #32] │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ mov sl, r2 │ │ │ │ │ - mov r5, r3 │ │ │ │ │ cmp r3, r6 │ │ │ │ │ it ne │ │ │ │ │ cmpne r2, r7 │ │ │ │ │ - bne.n 14a │ │ │ │ │ + bne.n 1a2 │ │ │ │ │ cmp r3, r6 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r2, r7 │ │ │ │ │ - bne.n 174 │ │ │ │ │ + bne.n 1dc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_inplace_locations │ │ │ │ │ - cbz r0, 174 │ │ │ │ │ - ldr r1, [pc, #48] @ (17c ) │ │ │ │ │ - movs r0, #28 │ │ │ │ │ + cbz r0, 1dc │ │ │ │ │ + ldr r1, [pc, #80] @ (1f4 ) │ │ │ │ │ + mov.w r0, #28 │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem │ │ │ │ │ mov r4, r0 │ │ │ │ │ mov r0, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_compress │ │ │ │ │ str r0, [r4, #4] │ │ │ │ │ mov r0, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_compress_contiguous │ │ │ │ │ - strd r5, r7, [r4, #16] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ strd r0, sl, [r4, #8] │ │ │ │ │ mov r0, r4 │ │ │ │ │ + strd r5, r7, [r4, #16] │ │ │ │ │ str r6, [r4, #24] │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {sl, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, lr, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_mkproblem_unsolvable │ │ │ │ │ - .word 0x0000002a │ │ │ │ │ + nop │ │ │ │ │ + .word 0x00000048 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ │ │ │ │ │ │ │ -00000180 : │ │ │ │ │ +000001f8 : │ │ │ │ │ fftw_mkproblem_dft_d(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ mov r5, r1 │ │ │ │ │ - mov r6, r0 │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ sub sp, #8 │ │ │ │ │ + mov r6, r0 │ │ │ │ │ ldr r4, [sp, #28] │ │ │ │ │ str r4, [sp, #4] │ │ │ │ │ ldr r4, [sp, #24] │ │ │ │ │ str r4, [sp, #0] │ │ │ │ │ - bl 124 │ │ │ │ │ + bl 170 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_dft │ │ │ │ │ - mov r1, r6 │ │ │ │ │ mov r4, r0 │ │ │ │ │ + mov r1, r6 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_destroy2 │ │ │ │ │ mov r0, r4 │ │ │ │ │ add sp, #8 │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ ├── lt5-rader.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 3752 (bytes into file) │ │ │ │ │ + Start of section headers: 3932 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 15 │ │ │ │ │ Section header string table index: 14 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ -There are 15 section headers, starting at offset 0xea8: │ │ │ │ │ +There are 15 section headers, starting at offset 0xf5c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000660 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000c38 0001c0 08 I 12 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000694 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000694 000004 00 WA 0 0 4 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000694 000027 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 0006bb 000010 00 WA 0 0 4 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000df8 000020 08 I 12 6 4 │ │ │ │ │ - [ 8] .data.rel.ro.local PROGBITS 00000000 0006cb 00000c 00 WA 0 0 4 │ │ │ │ │ - [ 9] .rel.data.rel.ro.local REL 00000000 000e18 000008 08 I 12 8 4 │ │ │ │ │ - [10] .note.GNU-stack PROGBITS 00000000 0006d7 000000 00 0 0 1 │ │ │ │ │ - [11] .ARM.attributes ARM_ATTRIBUTES 00000000 0006d7 000033 00 0 0 1 │ │ │ │ │ - [12] .symtab SYMTAB 00000000 00070c 000330 10 13 26 4 │ │ │ │ │ - [13] .strtab STRTAB 00000000 000a3c 0001fc 00 0 0 1 │ │ │ │ │ - [14] .shstrtab STRTAB 00000000 000e20 000087 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000714 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000cec 0001c0 08 I 12 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000748 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000748 000004 00 WA 0 0 4 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000748 000027 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 00076f 000010 00 WA 0 0 4 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000eac 000020 08 I 12 6 4 │ │ │ │ │ + [ 8] .data.rel.ro.local PROGBITS 00000000 00077f 00000c 00 WA 0 0 4 │ │ │ │ │ + [ 9] .rel.data.rel.ro.local REL 00000000 000ecc 000008 08 I 12 8 4 │ │ │ │ │ + [10] .note.GNU-stack PROGBITS 00000000 00078b 000000 00 0 0 1 │ │ │ │ │ + [11] .ARM.attributes ARM_ATTRIBUTES 00000000 00078b 000033 00 0 0 1 │ │ │ │ │ + [12] .symtab SYMTAB 00000000 0007c0 000330 10 13 26 4 │ │ │ │ │ + [13] .strtab STRTAB 00000000 000af0 0001fc 00 0 0 1 │ │ │ │ │ + [14] .shstrtab STRTAB 00000000 000ed4 000087 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -2,27 +2,27 @@ │ │ │ │ │ Symbol table '.symtab' contains 51 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 SECTION LOCAL DEFAULT 4 .bss │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 3: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ 4: 00000020 0 NOTYPE LOCAL DEFAULT 5 .LC1 │ │ │ │ │ - 5: 00000001 100 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 5: 00000001 112 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ 6: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00000058 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 8: 00000064 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 9: 00000065 630 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ - 10: 000002dd 26 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 11: 000002f9 348 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 12: 00000448 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 13: 00000454 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 14: 00000455 492 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 15: 00000638 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 16: 00000640 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 17: 0000065c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 7: 00000064 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 00000070 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 9: 00000071 688 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ + 10: 00000321 30 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 11: 00000341 376 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 12: 000004ac 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 13: 000004b8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 14: 000004b9 568 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 15: 000006e8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 16: 000006f0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 17: 00000710 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 18: 00000000 0 NOTYPE LOCAL DEFAULT 4 $d │ │ │ │ │ 19: 00000000 4 OBJECT LOCAL DEFAULT 4 omegas │ │ │ │ │ 20: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 21: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 22: 00000000 16 OBJECT LOCAL DEFAULT 6 padt.0 │ │ │ │ │ 23: 00000000 0 SECTION LOCAL DEFAULT 8 .data.rel.ro.local │ │ │ │ │ 24: 00000000 0 NOTYPE LOCAL DEFAULT 8 $d │ │ │ │ │ @@ -44,11 +44,11 @@ │ │ │ │ │ 40: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_dft │ │ │ │ │ 41: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mktensor_1d │ │ │ │ │ 42: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkproblem_dft_d │ │ │ │ │ 43: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_f_d │ │ │ │ │ 44: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_add │ │ │ │ │ 45: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ifree0 │ │ │ │ │ 46: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_factors_into_small_primes │ │ │ │ │ - 47: 00000641 32 FUNC GLOBAL DEFAULT 1 fftw_dft_rader_register │ │ │ │ │ + 47: 000006f1 36 FUNC GLOBAL DEFAULT 1 fftw_dft_rader_register │ │ │ │ │ 48: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ 49: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 50: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_solve │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,70 +1,70 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xc38 contains 56 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xcec contains 56 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000058 00000303 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -0000005c 00000403 R_ARM_REL32 00000020 .LC1 │ │ │ │ │ -00000060 00000403 R_ARM_REL32 00000020 .LC1 │ │ │ │ │ -00000098 00001a0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -000000e8 00001b0a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -0000011c 00001c0a R_ARM_THM_CALL 00000000 fftw_safe_mulmod │ │ │ │ │ -000001ea 00001b0a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -00000224 00001c0a R_ARM_THM_CALL 00000000 fftw_safe_mulmod │ │ │ │ │ -000002e2 00001e0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000002e8 00001e0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000308 00001f0a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -00000310 00001f0a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -00000318 00001f0a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -00000326 0000200a R_ARM_THM_CALL 00000000 fftw_rader_tl_delete │ │ │ │ │ -0000033a 0000210a R_ARM_THM_CALL 00000000 fftw_find_generator │ │ │ │ │ -00000344 0000220a R_ARM_THM_CALL 00000000 fftw_power_mod │ │ │ │ │ -00000360 0000230a R_ARM_THM_CALL 00000000 fftw_rader_tl_find │ │ │ │ │ -00000372 00001a0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -0000038c 0000240a R_ARM_THM_CALL 00000000 fftw_mktriggen │ │ │ │ │ -000003be 00001b0a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -00000402 00001c0a R_ARM_THM_CALL 00000000 fftw_safe_mulmod │ │ │ │ │ -00000412 0000250a R_ARM_THM_CALL 00000000 fftw_triggen_destroy │ │ │ │ │ -00000434 0000260a R_ARM_THM_CALL 00000000 fftw_rader_tl_insert │ │ │ │ │ -00000448 00000103 R_ARM_REL32 00000000 .bss │ │ │ │ │ -0000044c 00000103 R_ARM_REL32 00000000 .bss │ │ │ │ │ -00000450 00000103 R_ARM_REL32 00000000 .bss │ │ │ │ │ -00000486 0000270a R_ARM_THM_CALL 00000000 fftw_is_prime │ │ │ │ │ -000004b2 0000280a R_ARM_THM_CALL 00000000 fftw_mkplan_dft │ │ │ │ │ -000004c0 00001a0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -000004cc 0000290a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -000004d8 0000290a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -000004f8 00002a0a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ -00000506 00002b0a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ -00000516 0000290a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -00000522 0000290a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -00000534 00002a0a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ -00000542 00002b0a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ -00000552 0000290a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -0000055e 0000290a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -0000056e 00002a0a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ -0000057c 00002b0a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ -00000588 00001d0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -000005ac 00002c0a R_ARM_THM_CALL 00000000 fftw_ops_add │ │ │ │ │ -00000608 00002d0a R_ARM_THM_CALL 00000000 fftw_ifree0 │ │ │ │ │ -0000060e 00001e0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000614 00001e0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -0000061a 00001e0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000620 00001d0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -0000062c 00002e0a R_ARM_THM_CALL 00000000 fftw_factors_into_small_primes │ │ │ │ │ -00000638 00001403 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000063c 00000903 R_ARM_REL32 00000065 apply │ │ │ │ │ -0000064a 0000300a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -0000065c 00001703 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -0000023a 00001d1e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ │ -000002f2 00001e1e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000656 0000311e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ +00000064 00000303 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +00000068 00000403 R_ARM_REL32 00000020 .LC1 │ │ │ │ │ +0000006c 00000403 R_ARM_REL32 00000020 .LC1 │ │ │ │ │ +000000b8 00001a0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +0000010e 00001b0a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +00000146 00001c0a R_ARM_THM_CALL 00000000 fftw_safe_mulmod │ │ │ │ │ +0000021a 00001b0a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +00000254 00001c0a R_ARM_THM_CALL 00000000 fftw_safe_mulmod │ │ │ │ │ +00000328 00001e0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +0000032e 00001e0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000360 00001f0a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +00000368 00001f0a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +00000370 00001f0a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +0000037e 0000200a R_ARM_THM_CALL 00000000 fftw_rader_tl_delete │ │ │ │ │ +000003a4 0000210a R_ARM_THM_CALL 00000000 fftw_find_generator │ │ │ │ │ +000003b0 0000220a R_ARM_THM_CALL 00000000 fftw_power_mod │ │ │ │ │ +000003cc 0000230a R_ARM_THM_CALL 00000000 fftw_rader_tl_find │ │ │ │ │ +000003e0 00001a0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +000003fa 0000240a R_ARM_THM_CALL 00000000 fftw_mktriggen │ │ │ │ │ +00000430 00001b0a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +00000474 00001c0a R_ARM_THM_CALL 00000000 fftw_safe_mulmod │ │ │ │ │ +00000484 0000250a R_ARM_THM_CALL 00000000 fftw_triggen_destroy │ │ │ │ │ +000004a6 0000260a R_ARM_THM_CALL 00000000 fftw_rader_tl_insert │ │ │ │ │ +000004ac 00000103 R_ARM_REL32 00000000 .bss │ │ │ │ │ +000004b0 00000103 R_ARM_REL32 00000000 .bss │ │ │ │ │ +000004b4 00000103 R_ARM_REL32 00000000 .bss │ │ │ │ │ +0000050e 0000270a R_ARM_THM_CALL 00000000 fftw_is_prime │ │ │ │ │ +0000053a 0000280a R_ARM_THM_CALL 00000000 fftw_mkplan_dft │ │ │ │ │ +0000054c 00001a0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +0000055a 0000290a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +0000056a 0000290a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +0000058c 00002a0a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ +0000059c 00002b0a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ +000005b0 0000290a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +000005be 0000290a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +000005d0 00002a0a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ +000005e0 00002b0a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ +000005f2 0000290a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +00000600 0000290a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +00000610 00002a0a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ +00000622 00002b0a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ +0000062e 00001d0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +00000652 00002c0a R_ARM_THM_CALL 00000000 fftw_ops_add │ │ │ │ │ +000006b4 00002d0a R_ARM_THM_CALL 00000000 fftw_ifree0 │ │ │ │ │ +000006bc 00001e0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000006c2 00001e0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000006c8 00001e0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000006ce 00001d0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +000006dc 00002e0a R_ARM_THM_CALL 00000000 fftw_factors_into_small_primes │ │ │ │ │ +000006e8 00001403 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000006ec 00000903 R_ARM_REL32 00000071 apply │ │ │ │ │ +000006fe 0000300a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +00000710 00001703 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +0000027e 00001d1e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ │ +0000033a 00001e1e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ +0000070c 0000311e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xdf8 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xeac contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00003202 R_ARM_ABS32 00000000 fftw_dft_solve │ │ │ │ │ -00000004 00000b02 R_ARM_ABS32 000002f9 awake │ │ │ │ │ +00000004 00000b02 R_ARM_ABS32 00000341 awake │ │ │ │ │ 00000008 00000502 R_ARM_ABS32 00000001 print │ │ │ │ │ -0000000c 00000a02 R_ARM_ABS32 000002dd destroy │ │ │ │ │ +0000000c 00000a02 R_ARM_ABS32 00000321 destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0xe18 contains 1 entry: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0xecc contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000e02 R_ARM_ABS32 00000455 mkplan │ │ │ │ │ +00000004 00000e02 R_ARM_ABS32 000004b9 mkplan │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,10 +1,11 @@ │ │ │ │ │ -{plIF*F;F7 │ │ │ │ │ -{D`eIFHF │ │ │ │ │ -K:FIF{DHF │ │ │ │ │ + I(F+hyD │ │ │ │ │ +{IF*F;Fpl7 │ │ │ │ │ +F#ngeIFHF │ │ │ │ │ +K:FIFHF{D │ │ │ │ │ (dft-rader-%D%ois=%oos=%(%p%) │ │ │ │ │ fftw_malloc_plain │ │ │ │ │ __aeabi_idivmod │ │ │ │ │ fftw_safe_mulmod │ │ │ │ │ fftw_ifree │ │ │ │ │ fftw_plan_destroy_internal │ │ │ │ │ fftw_plan_awake │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,676 +1,688 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ print(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ - mov r5, r1 │ │ │ │ │ ldr r3, [r0, #64] @ 0x40 │ │ │ │ │ - sub sp, #8 │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ + mov r5, r1 │ │ │ │ │ mov r4, r0 │ │ │ │ │ - ldr r1, [pc, #76] @ (58 ) │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ + sub sp, #8 │ │ │ │ │ + ldr r1, [pc, #80] @ (64 ) │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ - add r1, pc │ │ │ │ │ ldr r3, [r0, #92] @ 0x5c │ │ │ │ │ + add r1, pc │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - ldr r3, [r0, #88] @ 0x58 │ │ │ │ │ + ldr r6, [r5, #0] │ │ │ │ │ ldr r2, [r0, #76] @ 0x4c │ │ │ │ │ + ldr r3, [r0, #88] @ 0x58 │ │ │ │ │ mov r0, r5 │ │ │ │ │ - ldr r6, [r5, #0] │ │ │ │ │ blx r6 │ │ │ │ │ ldrd r3, r2, [r4, #64] @ 0x40 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.n 32 │ │ │ │ │ - ldr r1, [pc, #52] @ (5c ) │ │ │ │ │ + beq.n 38 │ │ │ │ │ + ldr r1, [pc, #56] @ (68 ) │ │ │ │ │ mov r0, r5 │ │ │ │ │ ldr r3, [r5, #0] │ │ │ │ │ add r1, pc │ │ │ │ │ blx r3 │ │ │ │ │ ldr r3, [r4, #64] @ 0x40 │ │ │ │ │ ldr r2, [r4, #96] @ 0x60 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.n 48 │ │ │ │ │ + beq.n 4e │ │ │ │ │ ldr r3, [r4, #68] @ 0x44 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.n 48 │ │ │ │ │ - ldr r1, [pc, #32] @ (60 ) │ │ │ │ │ + beq.n 4e │ │ │ │ │ + ldr r1, [pc, #36] @ (6c ) │ │ │ │ │ mov r0, r5 │ │ │ │ │ ldr r3, [r5, #0] │ │ │ │ │ add r1, pc │ │ │ │ │ blx r3 │ │ │ │ │ ldr r3, [r5, #8] │ │ │ │ │ - movs r1, #41 @ 0x29 │ │ │ │ │ + mov.w r1, #41 @ 0x29 │ │ │ │ │ mov r0, r5 │ │ │ │ │ add sp, #8 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, lr, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ bx r3 │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000046 │ │ │ │ │ + .word 0x0000004a │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ - .word 0x0000002c │ │ │ │ │ + .word 0x00000032 │ │ │ │ │ R_ARM_REL32 .LC1 │ │ │ │ │ - .word 0x00000018 │ │ │ │ │ + .word 0x0000001e │ │ │ │ │ R_ARM_REL32 .LC1 │ │ │ │ │ │ │ │ │ │ -00000064 : │ │ │ │ │ +00000070 : │ │ │ │ │ apply(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + ldrd r7, r4, [r0, #76] @ 0x4c │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov r9, r2 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ mov fp, r3 │ │ │ │ │ - ldr r7, [r0, #76] @ 0x4c │ │ │ │ │ vpush {d8-d9} │ │ │ │ │ sub sp, #60 @ 0x3c │ │ │ │ │ - subs r6, r7, #1 │ │ │ │ │ - ldr r5, [r0, #92] @ 0x5c │ │ │ │ │ - ldr r4, [r0, #80] @ 0x50 │ │ │ │ │ - mov r9, r2 │ │ │ │ │ - lsls r3, r6, #4 │ │ │ │ │ - ldr.w sl, [sp, #112] @ 0x70 │ │ │ │ │ vldr d9, [r1] │ │ │ │ │ + add.w r6, r7, #4294967295 @ 0xffffffff │ │ │ │ │ str r0, [sp, #16] │ │ │ │ │ + ldr r5, [r0, #92] @ 0x5c │ │ │ │ │ + mov.w r3, r6, lsl #4 │ │ │ │ │ str r1, [sp, #32] │ │ │ │ │ ldr r1, [r0, #88] @ 0x58 │ │ │ │ │ mov r0, r3 │ │ │ │ │ + vldr d8, [r2] │ │ │ │ │ + strd r5, r4, [sp, #8] │ │ │ │ │ + ldr.w sl, [sp, #112] @ 0x70 │ │ │ │ │ str r1, [sp, #40] @ 0x28 │ │ │ │ │ str r3, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d8, [r2] │ │ │ │ │ - str r5, [sp, #8] │ │ │ │ │ - str r4, [sp, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ add.w r3, r0, #8 │ │ │ │ │ - str r3, [sp, #36] @ 0x24 │ │ │ │ │ - lsls r3, r5, #3 │ │ │ │ │ mov r1, r0 │ │ │ │ │ str r0, [sp, #24] │ │ │ │ │ cmp r6, #0 │ │ │ │ │ + str r3, [sp, #36] @ 0x24 │ │ │ │ │ + mov.w r3, r5, lsl #3 │ │ │ │ │ add.w r0, fp, r3 │ │ │ │ │ str r3, [sp, #52] @ 0x34 │ │ │ │ │ - str r0, [sp, #28] │ │ │ │ │ add r3, sl │ │ │ │ │ str r3, [sp, #20] │ │ │ │ │ - ble.w 280 │ │ │ │ │ + str r0, [sp, #28] │ │ │ │ │ + ble.w 2c6 │ │ │ │ │ rsb ip, r4, #92672 @ 0x16a00 │ │ │ │ │ + ldr r4, [sp, #40] @ 0x28 │ │ │ │ │ mov r5, r1 │ │ │ │ │ add.w ip, ip, #9 │ │ │ │ │ - ldr r4, [sp, #40] @ 0x28 │ │ │ │ │ - movs r0, #1 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ str.w fp, [sp, #40] @ 0x28 │ │ │ │ │ - mov.w r8, #0 │ │ │ │ │ ldr.w fp, [sp, #32] │ │ │ │ │ - str r1, [sp, #44] @ 0x2c │ │ │ │ │ + mov.w r8, #0 │ │ │ │ │ str.w sl, [sp, #32] │ │ │ │ │ mov sl, ip │ │ │ │ │ - b.n f2 │ │ │ │ │ + str r1, [sp, #44] @ 0x2c │ │ │ │ │ + b.n 118 │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ mov r1, r7 │ │ │ │ │ - adds r5, #16 │ │ │ │ │ + add.w r5, r5, #16 │ │ │ │ │ mul.w r0, r3, r0 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ cmp r6, r8 │ │ │ │ │ mov r0, r1 │ │ │ │ │ - beq.n 126 │ │ │ │ │ + beq.n 14e │ │ │ │ │ mul.w r2, r0, r4 │ │ │ │ │ - add.w r8, r8, #1 │ │ │ │ │ cmp r0, sl │ │ │ │ │ + add.w r8, r8, #1 │ │ │ │ │ mov.w r2, r2, lsl #3 │ │ │ │ │ add.w r1, fp, r2 │ │ │ │ │ add r2, r9 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ vstr d6, [r5] │ │ │ │ │ vstr d7, [r5, #8] │ │ │ │ │ - ble.n de │ │ │ │ │ + ble.n 102 │ │ │ │ │ ldr r1, [sp, #12] │ │ │ │ │ mov r2, r7 │ │ │ │ │ + add.w r5, r5, #16 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_safe_mulmod │ │ │ │ │ - adds r5, #16 │ │ │ │ │ cmp r6, r8 │ │ │ │ │ - bne.n f2 │ │ │ │ │ - ldr r3, [sp, #16] │ │ │ │ │ - ldr r2, [sp, #20] │ │ │ │ │ - ldr.w r8, [sp, #28] │ │ │ │ │ + bne.n 118 │ │ │ │ │ + ldrd r3, r2, [sp, #16] │ │ │ │ │ + ldrd r1, r8, [sp, #24] │ │ │ │ │ + ldr.w sl, [sp, #32] │ │ │ │ │ ldr r0, [r3, #64] @ 0x40 │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ mov r3, r8 │ │ │ │ │ + str r2, [sp, #0] │ │ │ │ │ ldr r2, [sp, #36] @ 0x24 │ │ │ │ │ - ldr r5, [r0, #56] @ 0x38 │ │ │ │ │ - ldr r1, [sp, #24] │ │ │ │ │ ldrd fp, r4, [sp, #40] @ 0x28 │ │ │ │ │ - ldr.w sl, [sp, #32] │ │ │ │ │ + ldr r5, [r0, #56] @ 0x38 │ │ │ │ │ blx r5 │ │ │ │ │ vldr d7, [r8] │ │ │ │ │ - ldr r2, [sp, #20] │ │ │ │ │ - ldr r3, [sp, #16] │ │ │ │ │ + ldrd r3, r2, [sp, #16] │ │ │ │ │ vadd.f64 d7, d7, d9 │ │ │ │ │ ldr r3, [r3, #72] @ 0x48 │ │ │ │ │ vstr d7, [fp] │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ ldr r2, [sp, #8] │ │ │ │ │ vadd.f64 d7, d7, d8 │ │ │ │ │ cmp r2, #1 │ │ │ │ │ vstr d7, [sl] │ │ │ │ │ - bne.n 23e │ │ │ │ │ + bne.n 282 │ │ │ │ │ + add.w r0, fp, r7, lsl #3 │ │ │ │ │ add.w r2, fp, #8 │ │ │ │ │ add.w r1, sl, #8 │ │ │ │ │ - add.w r0, fp, r7, lsl #3 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ - adds r3, #16 │ │ │ │ │ + add.w r3, r3, #16 │ │ │ │ │ vldr d5, [r3, #-8] │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ vldr d4, [r2] │ │ │ │ │ vmul.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vmla.f64 d7, d4, d5 │ │ │ │ │ vnmls.f64 d6, d4, d3 │ │ │ │ │ vneg.f64 d7, d7 │ │ │ │ │ vstmia r2!, {d6} │ │ │ │ │ cmp r0, r2 │ │ │ │ │ vstmia r1!, {d7} │ │ │ │ │ - bne.n 174 │ │ │ │ │ + bne.n 19a │ │ │ │ │ + ldrd r3, r2, [sp, #16] │ │ │ │ │ ldr r1, [sp, #28] │ │ │ │ │ - ldr r2, [sp, #20] │ │ │ │ │ - ldr r3, [sp, #16] │ │ │ │ │ ldr r5, [sp, #36] @ 0x24 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ ldr r0, [r3, #68] @ 0x44 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ ldr r3, [sp, #24] │ │ │ │ │ vadd.f64 d7, d7, d9 │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ vsub.f64 d7, d7, d8 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ str r5, [sp, #0] │ │ │ │ │ ldr r5, [r0, #56] @ 0x38 │ │ │ │ │ blx r5 │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ - movs r0, #1 │ │ │ │ │ - movs r5, #0 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ + mov.w r5, #0 │ │ │ │ │ ldr.w r9, [r3, #84] @ 0x54 │ │ │ │ │ rsb r8, r9, #92672 @ 0x16a00 │ │ │ │ │ add.w r8, r8, #9 │ │ │ │ │ - b.n 1f6 │ │ │ │ │ + b.n 224 │ │ │ │ │ mul.w r0, r0, r9 │ │ │ │ │ mov r1, r7 │ │ │ │ │ + add.w r4, r4, #16 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ - adds r4, #16 │ │ │ │ │ - mov r0, r1 │ │ │ │ │ cmp r6, r5 │ │ │ │ │ - beq.n 22e │ │ │ │ │ + mov r0, r1 │ │ │ │ │ + beq.n 260 │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ - adds r5, #1 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ cmp r0, r8 │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ mul.w r2, r0, r3 │ │ │ │ │ mov.w r2, r2, lsl #3 │ │ │ │ │ add.w r1, fp, r2 │ │ │ │ │ add r2, sl │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ vldr d7, [r4, #8] │ │ │ │ │ vneg.f64 d7, d7 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ - ble.n 1e4 │ │ │ │ │ + ble.n 210 │ │ │ │ │ mov r2, r7 │ │ │ │ │ mov r1, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_safe_mulmod │ │ │ │ │ - adds r4, #16 │ │ │ │ │ cmp r6, r5 │ │ │ │ │ - bne.n 1f6 │ │ │ │ │ + add.w r4, r4, #16 │ │ │ │ │ + bne.n 224 │ │ │ │ │ ldr r0, [sp, #24] │ │ │ │ │ add sp, #60 @ 0x3c │ │ │ │ │ vpop {d8-d9} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_ifree │ │ │ │ │ - ldr r0, [sp, #48] @ 0x30 │ │ │ │ │ - ldr r1, [sp, #28] │ │ │ │ │ ldr r2, [sp, #20] │ │ │ │ │ + ldrd r0, r5, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r1, [sp, #28] │ │ │ │ │ add r0, r3 │ │ │ │ │ - ldr r5, [sp, #52] @ 0x34 │ │ │ │ │ - vldr d7, [r3, #8] │ │ │ │ │ - adds r3, #16 │ │ │ │ │ vldr d3, [r1] │ │ │ │ │ + add.w r3, r3, #16 │ │ │ │ │ vldr d5, [r2] │ │ │ │ │ + vldr d7, [r3, #-8] │ │ │ │ │ vldr d4, [r3, #-16] │ │ │ │ │ cmp r0, r3 │ │ │ │ │ vmul.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vmla.f64 d7, d4, d5 │ │ │ │ │ vnmls.f64 d6, d4, d3 │ │ │ │ │ vneg.f64 d7, d7 │ │ │ │ │ vstr d6, [r1] │ │ │ │ │ add r1, r5 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ add r2, r5 │ │ │ │ │ - bne.n 248 │ │ │ │ │ - b.n 1a6 │ │ │ │ │ + bne.n 28c │ │ │ │ │ + b.n 1ce │ │ │ │ │ ldr r6, [sp, #16] │ │ │ │ │ - mov r9, r0 │ │ │ │ │ - ldr.w r8, [sp, #36] @ 0x24 │ │ │ │ │ mov r5, r3 │ │ │ │ │ + mov r9, r0 │ │ │ │ │ + mov r3, r0 │ │ │ │ │ mov r7, r1 │ │ │ │ │ + ldr.w r8, [sp, #36] @ 0x24 │ │ │ │ │ ldr r0, [r6, #64] @ 0x40 │ │ │ │ │ + str r5, [sp, #0] │ │ │ │ │ mov r2, r8 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ - mov r3, r9 │ │ │ │ │ ldr r4, [r0, #56] @ 0x38 │ │ │ │ │ blx r4 │ │ │ │ │ vldr d7, [r9] │ │ │ │ │ - ldr r0, [r6, #68] @ 0x44 │ │ │ │ │ mov r1, r9 │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r3, r7 │ │ │ │ │ + ldr r0, [r6, #68] @ 0x44 │ │ │ │ │ vadd.f64 d7, d7, d9 │ │ │ │ │ vstr d7, [fp] │ │ │ │ │ vldr d7, [r5] │ │ │ │ │ vadd.f64 d7, d7, d8 │ │ │ │ │ vstr d7, [sl] │ │ │ │ │ vldr d7, [r9] │ │ │ │ │ vadd.f64 d7, d7, d9 │ │ │ │ │ vstr d7, [r9] │ │ │ │ │ vldr d7, [r5] │ │ │ │ │ vsub.f64 d7, d7, d8 │ │ │ │ │ vstr d7, [r5] │ │ │ │ │ str.w r8, [sp] │ │ │ │ │ ldr r4, [r0, #56] @ 0x38 │ │ │ │ │ blx r4 │ │ │ │ │ - b.n 22e │ │ │ │ │ - nop │ │ │ │ │ + b.n 260 │ │ │ │ │ │ │ │ │ │ -000002dc : │ │ │ │ │ +00000320 : │ │ │ │ │ destroy(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldr r0, [r0, #96] @ 0x60 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ ldr r0, [r4, #68] @ 0x44 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ ldr r0, [r4, #64] @ 0x40 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_destroy_internal │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000002f8 : │ │ │ │ │ +00000340 : │ │ │ │ │ awake(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ + ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r1 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8} │ │ │ │ │ sub sp, #44 @ 0x2c │ │ │ │ │ - ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ ldr r0, [r4, #68] @ 0x44 │ │ │ │ │ mov r1, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ ldr r0, [r4, #96] @ 0x60 │ │ │ │ │ mov r1, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ - cbnz r5, 338 │ │ │ │ │ - ldr r1, [pc, #296] @ (448 ) │ │ │ │ │ + cbnz r5, 3a2 │ │ │ │ │ + ldr r1, [pc, #308] @ (4ac ) │ │ │ │ │ mov fp, r5 │ │ │ │ │ ldr r0, [r4, #72] @ 0x48 │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_rader_tl_delete │ │ │ │ │ str.w fp, [r4, #72] @ 0x48 │ │ │ │ │ add sp, #44 @ 0x2c │ │ │ │ │ vpop {d8} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ ldr r0, [r4, #76] @ 0x4c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_find_generator │ │ │ │ │ ldr r2, [r4, #76] @ 0x4c │ │ │ │ │ str r0, [r4, #80] @ 0x50 │ │ │ │ │ - subs r1, r2, #2 │ │ │ │ │ + sub.w r1, r2, #2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_power_mod │ │ │ │ │ - ldr r3, [r4, #96] @ 0x60 │ │ │ │ │ - str r3, [sp, #12] │ │ │ │ │ - mov r2, r0 │ │ │ │ │ - ldr r3, [pc, #252] @ (44c ) │ │ │ │ │ - mov r7, r0 │ │ │ │ │ ldr.w r9, [r4, #76] @ 0x4c │ │ │ │ │ - add r3, pc │ │ │ │ │ - str r0, [r4, #84] @ 0x54 │ │ │ │ │ + mov r7, r0 │ │ │ │ │ + mov r2, r0 │ │ │ │ │ + ldr r3, [r4, #96] @ 0x60 │ │ │ │ │ + str r7, [r4, #84] @ 0x54 │ │ │ │ │ mov r1, r9 │ │ │ │ │ mov r0, r9 │ │ │ │ │ + str r3, [sp, #12] │ │ │ │ │ + ldr r3, [pc, #232] @ (4b0 ) │ │ │ │ │ + add r3, pc │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_rader_tl_find │ │ │ │ │ mov fp, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.n 32a │ │ │ │ │ + bne.n 382 │ │ │ │ │ add.w r2, r9, #4294967295 @ 0xffffffff │ │ │ │ │ + mov.w r0, r2, lsl #4 │ │ │ │ │ str r2, [sp, #8] │ │ │ │ │ - lsls r0, r2, #4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ vmov s15, r9 │ │ │ │ │ mov fp, r0 │ │ │ │ │ mov r1, r9 │ │ │ │ │ + mov r0, r5 │ │ │ │ │ vcvt.f64.s32 d8, s15 │ │ │ │ │ vmov.f64 d7, #112 @ 0x3f800000 1.0 │ │ │ │ │ - mov r0, r5 │ │ │ │ │ vsub.f64 d8, d8, d7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktriggen │ │ │ │ │ ldr r2, [sp, #8] │ │ │ │ │ mov sl, r0 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.n 410 │ │ │ │ │ + ble.n 482 │ │ │ │ │ rsb ip, r7, #92672 @ 0x16a00 │ │ │ │ │ - mov r6, fp │ │ │ │ │ - add.w ip, ip, #9 │ │ │ │ │ add r3, sp, #24 │ │ │ │ │ - str.w fp, [sp, #16] │ │ │ │ │ + add.w ip, ip, #9 │ │ │ │ │ + mov r6, fp │ │ │ │ │ mov.w r8, #0 │ │ │ │ │ - str r4, [sp, #20] │ │ │ │ │ - movs r5, #1 │ │ │ │ │ + mov.w r5, #1 │ │ │ │ │ + str r3, [sp, #8] │ │ │ │ │ + strd fp, r4, [sp, #16] │ │ │ │ │ mov fp, ip │ │ │ │ │ mov r4, r2 │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ - b.n 3ca │ │ │ │ │ + b.n 43a │ │ │ │ │ mul.w r0, r5, r7 │ │ │ │ │ mov r1, r9 │ │ │ │ │ + add.w r6, r6, #16 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ - adds r6, #16 │ │ │ │ │ - mov r5, r1 │ │ │ │ │ cmp r4, r8 │ │ │ │ │ - beq.n 40c │ │ │ │ │ + mov r5, r1 │ │ │ │ │ + beq.n 47e │ │ │ │ │ ldr.w r3, [sl, #4] │ │ │ │ │ mov r1, r5 │ │ │ │ │ - ldr r2, [sp, #8] │ │ │ │ │ mov r0, sl │ │ │ │ │ + add.w r8, r8, #1 │ │ │ │ │ + ldr r2, [sp, #8] │ │ │ │ │ blx r3 │ │ │ │ │ vldr d6, [sp, #24] │ │ │ │ │ - add.w r8, r8, #1 │ │ │ │ │ cmp fp, r5 │ │ │ │ │ vdiv.f64 d7, d6, d8 │ │ │ │ │ vstr d7, [r6] │ │ │ │ │ vldr d7, [sp, #32] │ │ │ │ │ vneg.f64 d7, d7 │ │ │ │ │ vdiv.f64 d6, d7, d8 │ │ │ │ │ vstr d6, [r6, #8] │ │ │ │ │ - bge.n 3b8 │ │ │ │ │ + bge.n 426 │ │ │ │ │ mov r0, r5 │ │ │ │ │ mov r2, r9 │ │ │ │ │ mov r1, r7 │ │ │ │ │ - adds r6, #16 │ │ │ │ │ + add.w r6, r6, #16 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_safe_mulmod │ │ │ │ │ cmp r4, r8 │ │ │ │ │ mov r5, r0 │ │ │ │ │ - bne.n 3ca │ │ │ │ │ + bne.n 43a │ │ │ │ │ ldrd fp, r4, [sp, #16] │ │ │ │ │ mov r0, sl │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_triggen_destroy │ │ │ │ │ ldr r0, [sp, #12] │ │ │ │ │ add.w r2, fp, #8 │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ mov r3, fp │ │ │ │ │ mov r1, fp │ │ │ │ │ + str r2, [sp, #0] │ │ │ │ │ ldr r5, [r0, #56] @ 0x38 │ │ │ │ │ blx r5 │ │ │ │ │ - ldr r3, [pc, #40] @ (450 ) │ │ │ │ │ + ldr r3, [pc, #24] @ (4b4 ) │ │ │ │ │ mov r2, r7 │ │ │ │ │ mov r1, r9 │ │ │ │ │ - add r3, pc │ │ │ │ │ mov r0, r9 │ │ │ │ │ + add r3, pc │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, fp │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_rader_tl_insert │ │ │ │ │ - str.w fp, [r4, #72] @ 0x48 │ │ │ │ │ - add sp, #44 @ 0x2c │ │ │ │ │ - vpop {d8} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000120 │ │ │ │ │ + b.n 382 │ │ │ │ │ + .word 0x0000012c │ │ │ │ │ R_ARM_REL32 .bss │ │ │ │ │ - .word 0x000000f2 │ │ │ │ │ + .word 0x000000e4 │ │ │ │ │ R_ARM_REL32 .bss │ │ │ │ │ - .word 0x00000020 │ │ │ │ │ + .word 0x00000010 │ │ │ │ │ R_ARM_REL32 .bss │ │ │ │ │ │ │ │ │ │ -00000454 : │ │ │ │ │ +000004b8 : │ │ │ │ │ mkplan(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ ldr r3, [r1, #4] │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #36 @ 0x24 │ │ │ │ │ str r2, [sp, #12] │ │ │ │ │ ldr r2, [r3, #0] │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - beq.n 46c │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + beq.n 4f4 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #36 @ 0x24 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ ldr r2, [r1, #8] │ │ │ │ │ mov r5, r1 │ │ │ │ │ ldr r2, [r2, #0] │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - bne.n 464 │ │ │ │ │ + bne.n 4d8 │ │ │ │ │ ldr r0, [r3, #4] │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ ldr.w r3, [r3, #164] @ 0xa4 │ │ │ │ │ lsls r2, r3, #28 │ │ │ │ │ - bpl.n 486 │ │ │ │ │ + bpl.n 50e │ │ │ │ │ cmp r0, #32 │ │ │ │ │ - ble.n 464 │ │ │ │ │ + ble.n 4d8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_is_prime │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 464 │ │ │ │ │ + beq.n 4d8 │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ ldr.w r3, [r3, #164] @ 0xa4 │ │ │ │ │ lsls r3, r3, #28 │ │ │ │ │ - bmi.w 626 │ │ │ │ │ + bmi.w 6d4 │ │ │ │ │ ldr r3, [r5, #4] │ │ │ │ │ - movs r0, #104 @ 0x68 │ │ │ │ │ - ldr r1, [pc, #408] @ (638 ) │ │ │ │ │ - ldr r2, [r3, #8] │ │ │ │ │ - add r1, pc │ │ │ │ │ - str r2, [sp, #24] │ │ │ │ │ - ldr r2, [pc, #404] @ (63c ) │ │ │ │ │ + mov.w r0, #104 @ 0x68 │ │ │ │ │ + ldr r1, [pc, #444] @ (6e8 ) │ │ │ │ │ ldr r6, [r3, #4] │ │ │ │ │ + ldrd r2, fp, [r3, #8] │ │ │ │ │ + add r1, pc │ │ │ │ │ + strd r6, r2, [sp, #20] │ │ │ │ │ + ldr r2, [pc, #436] @ (6ec ) │ │ │ │ │ add r2, pc │ │ │ │ │ - ldr.w fp, [r3, #12] │ │ │ │ │ - str r6, [sp, #20] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_dft │ │ │ │ │ ldrd r9, sl, [r5, #20] │ │ │ │ │ - subs r5, r6, #1 │ │ │ │ │ + add.w r5, r6, #4294967295 @ 0xffffffff │ │ │ │ │ mov r4, r0 │ │ │ │ │ - lsls r0, r5, #4 │ │ │ │ │ + mov.w r0, r5, lsl #4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ - mov r2, fp │ │ │ │ │ mov r6, r0 │ │ │ │ │ - movs r1, #2 │ │ │ │ │ + mov r2, fp │ │ │ │ │ + mov.w r1, #2 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ - movs r2, #0 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ mov r7, r0 │ │ │ │ │ mov r1, r2 │ │ │ │ │ - movs r0, #1 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ - add.w r2, r6, #8 │ │ │ │ │ mov.w r3, fp, lsl #3 │ │ │ │ │ + add.w r2, r6, #8 │ │ │ │ │ mov r1, r0 │ │ │ │ │ + mov r0, r7 │ │ │ │ │ + mov.w r7, #0 │ │ │ │ │ add r9, r3 │ │ │ │ │ add sl, r3 │ │ │ │ │ - mov r0, r7 │ │ │ │ │ mov r3, r2 │ │ │ │ │ - movs r7, #0 │ │ │ │ │ - str r2, [sp, #16] │ │ │ │ │ strd r9, sl, [sp] │ │ │ │ │ + str r2, [sp, #16] │ │ │ │ │ mov r2, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_dft_d │ │ │ │ │ - mov r3, r7 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - movs r2, #8 │ │ │ │ │ ldr r0, [sp, #12] │ │ │ │ │ + mov r3, r7 │ │ │ │ │ + mov.w r2, #8 │ │ │ │ │ str r7, [sp, #0] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_f_d │ │ │ │ │ mov r8, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 602 │ │ │ │ │ - movs r2, #2 │ │ │ │ │ + beq.w 6ae │ │ │ │ │ + mov.w r2, #2 │ │ │ │ │ mov r1, fp │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ mov r2, r7 │ │ │ │ │ mov r1, r7 │ │ │ │ │ str r0, [sp, #28] │ │ │ │ │ - movs r0, #1 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r2, r9 │ │ │ │ │ + ldr r0, [sp, #28] │ │ │ │ │ strd r6, r3, [sp] │ │ │ │ │ mov r3, sl │ │ │ │ │ - ldr r0, [sp, #28] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_dft_d │ │ │ │ │ - mov r3, r7 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - movs r2, #8 │ │ │ │ │ ldr r0, [sp, #12] │ │ │ │ │ + mov r3, r7 │ │ │ │ │ + mov.w r2, #8 │ │ │ │ │ str r7, [sp, #0] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_f_d │ │ │ │ │ mov r9, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 602 │ │ │ │ │ - movs r2, #2 │ │ │ │ │ + beq.n 6ae │ │ │ │ │ + mov.w r2, #2 │ │ │ │ │ mov r0, r5 │ │ │ │ │ mov r1, r2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ - mov r2, r7 │ │ │ │ │ mov sl, r0 │ │ │ │ │ + mov r2, r7 │ │ │ │ │ mov r1, r7 │ │ │ │ │ - movs r0, #1 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r2, r6 │ │ │ │ │ mov r0, sl │ │ │ │ │ strd r6, r3, [sp] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_dft_d │ │ │ │ │ - movs r3, #2 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - movs r2, #8 │ │ │ │ │ ldr r0, [sp, #12] │ │ │ │ │ + mov.w r3, #2 │ │ │ │ │ + mov.w r2, #8 │ │ │ │ │ str r7, [sp, #0] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_f_d │ │ │ │ │ mov sl, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 606 │ │ │ │ │ + beq.n 6b2 │ │ │ │ │ mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ - ldr r6, [sp, #20] │ │ │ │ │ - ldr r3, [sp, #24] │ │ │ │ │ + ldrd r6, r3, [sp, #20] │ │ │ │ │ add.w r0, r8, #8 │ │ │ │ │ - strd r3, fp, [r4, #88] @ 0x58 │ │ │ │ │ add.w r2, r4, #8 │ │ │ │ │ add.w r1, r9, #8 │ │ │ │ │ strd r8, r9, [r4, #64] @ 0x40 │ │ │ │ │ + strd r7, r6, [r4, #72] @ 0x48 │ │ │ │ │ + strd r3, fp, [r4, #88] @ 0x58 │ │ │ │ │ str.w sl, [r4, #96] @ 0x60 │ │ │ │ │ - str r7, [r4, #72] @ 0x48 │ │ │ │ │ - str r6, [r4, #76] @ 0x4c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_add │ │ │ │ │ - movs r3, #14 │ │ │ │ │ + rsb r3, r5, r5, lsl #3 │ │ │ │ │ vldr d6, [r4, #32] │ │ │ │ │ mov r0, r4 │ │ │ │ │ - mul.w r3, r5, r3 │ │ │ │ │ - lsls r5, r5, #2 │ │ │ │ │ - adds r3, #6 │ │ │ │ │ + mov.w r5, r5, lsl #2 │ │ │ │ │ + mov.w r3, r3, lsl #1 │ │ │ │ │ + add.w r3, r3, #6 │ │ │ │ │ vmov s15, r3 │ │ │ │ │ - adds r3, r6, #1 │ │ │ │ │ + add.w r3, r6, #1 │ │ │ │ │ + mov.w r3, r3, lsl #1 │ │ │ │ │ vcvt.f64.s32 d7, s15 │ │ │ │ │ - lsls r3, r3, #1 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vmov s15, r3 │ │ │ │ │ - vcvt.f64.s32 d7, s15 │ │ │ │ │ vstr d6, [r4, #32] │ │ │ │ │ vldr d6, [r4, #8] │ │ │ │ │ + vcvt.f64.s32 d7, s15 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vmov s15, r5 │ │ │ │ │ - vcvt.f64.s32 d7, s15 │ │ │ │ │ vstr d6, [r4, #8] │ │ │ │ │ vldr d6, [r4, #16] │ │ │ │ │ + vcvt.f64.s32 d7, s15 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vstr d6, [r4, #16] │ │ │ │ │ - add sp, #36 @ 0x24 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + b.n 4dc │ │ │ │ │ mov.w r9, #0 │ │ │ │ │ mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree0 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ mov r0, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ mov r0, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ mov r0, r4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ - b.n 464 │ │ │ │ │ + b.n 4d8 │ │ │ │ │ ldr r3, [r5, #4] │ │ │ │ │ ldr r0, [r3, #4] │ │ │ │ │ - subs r0, #1 │ │ │ │ │ + add.w r0, r0, #4294967295 @ 0xffffffff │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_factors_into_small_primes │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.w 49a │ │ │ │ │ - b.n 464 │ │ │ │ │ - .word 0x00000192 │ │ │ │ │ + bne.w 522 │ │ │ │ │ + b.n 4d8 │ │ │ │ │ + .word 0x000001b4 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x0000018e │ │ │ │ │ + .word 0x000001b0 │ │ │ │ │ R_ARM_REL32 apply │ │ │ │ │ │ │ │ │ │ -00000640 : │ │ │ │ │ +000006f0 : │ │ │ │ │ fftw_dft_rader_register(): │ │ │ │ │ - ldr r1, [pc, #24] @ (65c ) │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + ldr r1, [pc, #28] @ (710 ) │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ + mov.w r0, #8 │ │ │ │ │ add r1, pc │ │ │ │ │ - movs r0, #8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solver_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000012 │ │ │ │ │ + .word 0x00000010 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ ├── rank-geq2.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2204 (bytes into file) │ │ │ │ │ + Start of section headers: 2316 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 16 │ │ │ │ │ Section header string table index: 15 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,25 +1,25 @@ │ │ │ │ │ -There are 16 section headers, starting at offset 0x89c: │ │ │ │ │ +There are 16 section headers, starting at offset 0x90c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000218 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0006ec 0000f8 08 I 13 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 00024c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 00024c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 00024c 00001d 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000269 00000c 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 000275 000010 00 WA 0 0 4 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 0007e4 000020 08 I 13 7 4 │ │ │ │ │ - [ 9] .data.rel.ro.local PROGBITS 00000000 000285 00000c 00 WA 0 0 4 │ │ │ │ │ - [10] .rel.data.rel.ro.local REL 00000000 000804 000008 08 I 13 9 4 │ │ │ │ │ - [11] .note.GNU-stack PROGBITS 00000000 000291 000000 00 0 0 1 │ │ │ │ │ - [12] .ARM.attributes ARM_ATTRIBUTES 00000000 000291 000033 00 0 0 1 │ │ │ │ │ - [13] .symtab SYMTAB 00000000 0002c4 000290 10 14 23 4 │ │ │ │ │ - [14] .strtab STRTAB 00000000 000554 000196 00 0 0 1 │ │ │ │ │ - [15] .shstrtab STRTAB 00000000 00080c 00008f 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000288 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 00075c 0000f8 08 I 13 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0002bc 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0002bc 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0002bc 00001d 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 0002d9 00000c 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0002e5 000010 00 WA 0 0 4 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000854 000020 08 I 13 7 4 │ │ │ │ │ + [ 9] .data.rel.ro.local PROGBITS 00000000 0002f5 00000c 00 WA 0 0 4 │ │ │ │ │ + [10] .rel.data.rel.ro.local REL 00000000 000874 000008 08 I 13 9 4 │ │ │ │ │ + [11] .note.GNU-stack PROGBITS 00000000 000301 000000 00 0 0 1 │ │ │ │ │ + [12] .ARM.attributes ARM_ATTRIBUTES 00000000 000301 000033 00 0 0 1 │ │ │ │ │ + [13] .symtab SYMTAB 00000000 000334 000290 10 14 23 4 │ │ │ │ │ + [14] .strtab STRTAB 00000000 0005c4 000196 00 0 0 1 │ │ │ │ │ + [15] .shstrtab STRTAB 00000000 00087c 00008f 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 41 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 40 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ + 1: 00000001 60 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 3: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 4: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ - 5: 00000029 36 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ - 6: 00000048 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 7: 0000004c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 8: 0000004d 20 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 9: 00000061 352 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 10: 000001b8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 11: 000001c0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 12: 000001c1 24 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 13: 00000210 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 5: 0000003d 36 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 6: 0000005c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 7: 00000060 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 8: 00000061 24 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 9: 00000079 392 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 10: 000001f8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 11: 00000200 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 12: 00000201 36 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 13: 00000280 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 14: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 15: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 16: 00000000 12 OBJECT LOCAL DEFAULT 6 buddies.2 │ │ │ │ │ 17: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 18: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 19: 00000000 16 OBJECT LOCAL DEFAULT 7 padt.0 │ │ │ │ │ 20: 00000000 0 SECTION LOCAL DEFAULT 9 .data.rel.ro.local │ │ │ │ │ @@ -34,11 +34,11 @@ │ │ │ │ │ 30: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_d │ │ │ │ │ 31: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_dft │ │ │ │ │ 32: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_add │ │ │ │ │ 33: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_destroy4 │ │ │ │ │ 34: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_min_stride │ │ │ │ │ 35: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_max_index │ │ │ │ │ 36: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_awake │ │ │ │ │ - 37: 000001d9 64 FUNC GLOBAL DEFAULT 1 fftw_dft_rank_geq2_register │ │ │ │ │ + 37: 00000225 100 FUNC GLOBAL DEFAULT 1 fftw_dft_rank_geq2_register │ │ │ │ │ 38: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ 39: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 40: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_solve │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,45 +1,45 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x6ec contains 31 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x75c contains 31 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000048 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -00000052 0000170a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -0000009c 0000180a R_ARM_THM_CALL 00000000 fftw_pickdim │ │ │ │ │ -000000d8 0000190a R_ARM_THM_CALL 00000000 fftw_tensor_split │ │ │ │ │ -000000e0 00001a0a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ -000000ea 00001a0a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ -000000f2 00001b0a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ -000000fc 00001c0a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ -00000110 00001d0a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ -00000118 00001e0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -00000124 00001a0a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ -0000012e 00001c0a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ -0000013e 00001d0a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ -00000146 00001e0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -00000158 00001f0a R_ARM_THM_CALL 00000000 fftw_mkplan_dft │ │ │ │ │ -00000170 0000200a R_ARM_THM_CALL 00000000 fftw_ops_add │ │ │ │ │ -0000017c 0000210a R_ARM_THM_CALL 00000000 fftw_tensor_destroy4 │ │ │ │ │ -0000018a 0000170a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000190 0000170a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -0000019c 0000210a R_ARM_THM_CALL 00000000 fftw_tensor_destroy4 │ │ │ │ │ -000001a2 0000220a R_ARM_THM_CALL 00000000 fftw_tensor_min_stride │ │ │ │ │ -000001aa 0000230a R_ARM_THM_CALL 00000000 fftw_tensor_max_index │ │ │ │ │ -000001b8 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ -000001bc 00001103 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000001c8 0000240a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -000001f4 0000260a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -00000204 0000270a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -00000210 00000e03 R_ARM_REL32 00000000 .rodata │ │ │ │ │ -00000214 00001403 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -0000005c 0000171e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000001d4 0000241e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ +0000005c 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +00000068 0000170a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000000d2 0000180a R_ARM_THM_CALL 00000000 fftw_pickdim │ │ │ │ │ +00000110 0000190a R_ARM_THM_CALL 00000000 fftw_tensor_split │ │ │ │ │ +0000011a 00001a0a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ +00000126 00001a0a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ +0000012e 00001b0a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ +00000138 00001c0a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ +0000014c 00001d0a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ +00000154 00001e0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +00000162 00001a0a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ +0000016c 00001c0a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ +0000017c 00001d0a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ +00000184 00001e0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +00000198 00001f0a R_ARM_THM_CALL 00000000 fftw_mkplan_dft │ │ │ │ │ +000001b0 0000200a R_ARM_THM_CALL 00000000 fftw_ops_add │ │ │ │ │ +000001bc 0000210a R_ARM_THM_CALL 00000000 fftw_tensor_destroy4 │ │ │ │ │ +000001c8 0000170a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000001ce 0000170a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000001da 0000210a R_ARM_THM_CALL 00000000 fftw_tensor_destroy4 │ │ │ │ │ +000001e0 0000220a R_ARM_THM_CALL 00000000 fftw_tensor_min_stride │ │ │ │ │ +000001e8 0000230a R_ARM_THM_CALL 00000000 fftw_tensor_max_index │ │ │ │ │ +000001f8 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ +000001fc 00001103 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +0000020e 0000240a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +00000250 0000260a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +00000266 0000270a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +00000280 00000e03 R_ARM_REL32 00000000 .rodata │ │ │ │ │ +00000284 00001403 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +00000074 0000171e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000220 0000241e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x7e4 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x854 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00002802 R_ARM_ABS32 00000000 fftw_dft_solve │ │ │ │ │ -00000004 00000c02 R_ARM_ABS32 000001c1 awake │ │ │ │ │ -00000008 00000502 R_ARM_ABS32 00000029 print │ │ │ │ │ -0000000c 00000802 R_ARM_ABS32 0000004d destroy │ │ │ │ │ +00000004 00000c02 R_ARM_ABS32 00000201 awake │ │ │ │ │ +00000008 00000502 R_ARM_ABS32 0000003d print │ │ │ │ │ +0000000c 00000802 R_ARM_ABS32 00000061 destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x804 contains 1 entry: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x874 contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000902 R_ARM_ABS32 00000061 mkplan │ │ │ │ │ +00000004 00000902 R_ARM_ABS32 00000079 mkplan │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,264 +1,286 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ apply(): │ │ │ │ │ - push {r4, r5, r6, r7, lr} │ │ │ │ │ + str.w r4, [sp, #-20]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ - sub sp, #12 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r6, r3 │ │ │ │ │ + strd r7, lr, [sp, #12] │ │ │ │ │ + sub sp, #12 │ │ │ │ │ ldr r5, [sp, #32] │ │ │ │ │ + ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ str r5, [sp, #0] │ │ │ │ │ ldr r7, [r0, #56] @ 0x38 │ │ │ │ │ blx r7 │ │ │ │ │ ldr r0, [r4, #68] @ 0x44 │ │ │ │ │ - str r5, [sp, #32] │ │ │ │ │ mov r3, r6 │ │ │ │ │ mov r2, r5 │ │ │ │ │ + str r5, [sp, #32] │ │ │ │ │ mov r1, r6 │ │ │ │ │ ldr r4, [r0, #56] @ 0x38 │ │ │ │ │ mov ip, r4 │ │ │ │ │ add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ bx ip │ │ │ │ │ │ │ │ │ │ -00000028 : │ │ │ │ │ +0000003c : │ │ │ │ │ print(): │ │ │ │ │ mov r3, r0 │ │ │ │ │ - push {r4, lr} │ │ │ │ │ mov r0, r1 │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ + ldrd r1, r2, [r3, #68] @ 0x44 │ │ │ │ │ sub sp, #8 │ │ │ │ │ - ldr r2, [r3, #72] @ 0x48 │ │ │ │ │ - ldr r1, [r3, #68] @ 0x44 │ │ │ │ │ - ldr r4, [r0, #0] │ │ │ │ │ ldr r2, [r2, #8] │ │ │ │ │ str r1, [sp, #0] │ │ │ │ │ - ldr r1, [pc, #12] @ (48 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (5c ) │ │ │ │ │ + ldr r4, [r0, #0] │ │ │ │ │ ldr r3, [r3, #64] @ 0x40 │ │ │ │ │ add r1, pc │ │ │ │ │ blx r4 │ │ │ │ │ add sp, #8 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ -0000004c : │ │ │ │ │ +00000060 : │ │ │ │ │ destroy(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldr r0, [r0, #68] @ 0x44 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ ldr r0, [r4, #64] @ 0x40 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_destroy_internal │ │ │ │ │ │ │ │ │ │ -00000060 : │ │ │ │ │ +00000078 : │ │ │ │ │ mkplan(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ mov r5, r2 │ │ │ │ │ - ldr r7, [r1, #4] │ │ │ │ │ mov r4, r1 │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + ldr r7, [r1, #4] │ │ │ │ │ mvn.w r1, #2147483648 @ 0x80000000 │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ sub sp, #24 │ │ │ │ │ ldr r2, [r7, #0] │ │ │ │ │ cmp r2, r1 │ │ │ │ │ - beq.n 82 │ │ │ │ │ + beq.n a6 │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ cmp r3, r1 │ │ │ │ │ it ne │ │ │ │ │ cmpne r2, #1 │ │ │ │ │ - bgt.n 8a │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + bgt.n be │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ add sp, #24 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ + ldmia.w sp!, {sl, pc} │ │ │ │ │ add r3, sp, #20 │ │ │ │ │ + mov r6, r0 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ - movs r3, #1 │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - mov r6, r0 │ │ │ │ │ mov r3, r7 │ │ │ │ │ - ldrd r1, r2, [r0, #12] │ │ │ │ │ - ldr r0, [r0, #8] │ │ │ │ │ + ldrd r0, r1, [r0, #8] │ │ │ │ │ + ldr r2, [r6, #16] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_pickdim │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 82 │ │ │ │ │ + beq.n a6 │ │ │ │ │ ldr r2, [sp, #20] │ │ │ │ │ ldr r3, [r7, #0] │ │ │ │ │ - adds r2, #1 │ │ │ │ │ - str r2, [sp, #20] │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bge.n 82 │ │ │ │ │ + str r2, [sp, #20] │ │ │ │ │ + bge.n a6 │ │ │ │ │ ldr.w r3, [r5, #164] @ 0xa4 │ │ │ │ │ - ubfx r1, r3, #0, #20 │ │ │ │ │ lsls r0, r3, #24 │ │ │ │ │ - bpl.n c6 │ │ │ │ │ + ubfx r1, r3, #0, #20 │ │ │ │ │ + bpl.n fe │ │ │ │ │ ldrd r0, r3, [r6, #8] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ cmp r0, r3 │ │ │ │ │ - bne.n 82 │ │ │ │ │ + bne.n a6 │ │ │ │ │ lsls r3, r1, #15 │ │ │ │ │ - bpl.n d2 │ │ │ │ │ + bpl.n 10a │ │ │ │ │ ldr r0, [r4, #8] │ │ │ │ │ ldr r3, [r0, #0] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bgt.n 1a2 │ │ │ │ │ - add r3, sp, #16 │ │ │ │ │ + bgt.n 1e0 │ │ │ │ │ ldr r0, [r4, #4] │ │ │ │ │ + add r3, sp, #16 │ │ │ │ │ add r1, sp, #12 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_split │ │ │ │ │ - movs r1, #1 │ │ │ │ │ ldr r0, [r4, #8] │ │ │ │ │ + mov.w r1, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy_inplace │ │ │ │ │ - movs r1, #1 │ │ │ │ │ mov r8, r0 │ │ │ │ │ ldr r0, [sp, #16] │ │ │ │ │ + mov.w r1, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy_inplace │ │ │ │ │ mov r9, r0 │ │ │ │ │ ldr r0, [sp, #16] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy │ │ │ │ │ ldr r1, [sp, #12] │ │ │ │ │ mov r7, r0 │ │ │ │ │ ldr r0, [r4, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_append │ │ │ │ │ ldr r3, [r4, #24] │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r7 │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ ldr r3, [r4, #20] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldrd r2, r3, [r4, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_dft_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov r7, r0 │ │ │ │ │ - cbz r0, 188 │ │ │ │ │ - movs r1, #1 │ │ │ │ │ + cbz r0, 1c4 │ │ │ │ │ ldr r0, [sp, #12] │ │ │ │ │ + mov.w r1, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy_inplace │ │ │ │ │ - mov r1, r9 │ │ │ │ │ mov sl, r0 │ │ │ │ │ + mov r1, r9 │ │ │ │ │ mov r0, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_append │ │ │ │ │ - mov r1, r0 │ │ │ │ │ ldrd r2, r3, [r4, #20] │ │ │ │ │ - strd r2, r3, [sp] │ │ │ │ │ + mov r1, r0 │ │ │ │ │ mov r0, sl │ │ │ │ │ + strd r2, r3, [sp] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_dft_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov r5, r0 │ │ │ │ │ - cbz r0, 188 │ │ │ │ │ - ldr r2, [pc, #104] @ (1b8 ) │ │ │ │ │ - movs r0, #80 @ 0x50 │ │ │ │ │ - ldr r1, [pc, #104] @ (1bc ) │ │ │ │ │ + cbz r0, 1c4 │ │ │ │ │ + ldr r2, [pc, #104] @ (1f8 ) │ │ │ │ │ + mov.w r0, #80 @ 0x50 │ │ │ │ │ + ldr r1, [pc, #104] @ (1fc ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_dft │ │ │ │ │ - add.w r1, r5, #8 │ │ │ │ │ mov r4, r0 │ │ │ │ │ add.w r2, r0, #8 │ │ │ │ │ - strd r7, r5, [r0, #64] @ 0x40 │ │ │ │ │ - str r6, [r0, #72] @ 0x48 │ │ │ │ │ + add.w r1, r5, #8 │ │ │ │ │ add.w r0, r7, #8 │ │ │ │ │ + strd r7, r5, [r4, #64] @ 0x40 │ │ │ │ │ + str r6, [r4, #72] @ 0x48 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_add │ │ │ │ │ - mov r3, r9 │ │ │ │ │ ldrd r0, r1, [sp, #12] │ │ │ │ │ + mov r3, r9 │ │ │ │ │ mov r2, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_destroy4 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - add sp, #24 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + b.n aa │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ mov r0, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ - mov r3, r9 │ │ │ │ │ ldrd r0, r1, [sp, #12] │ │ │ │ │ + mov r3, r9 │ │ │ │ │ mov r2, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_destroy4 │ │ │ │ │ - b.n 82 │ │ │ │ │ + b.n a6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_min_stride │ │ │ │ │ mov r7, r0 │ │ │ │ │ ldr r0, [r4, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_max_index │ │ │ │ │ cmp r7, r0 │ │ │ │ │ - bgt.w 82 │ │ │ │ │ + bgt.w a6 │ │ │ │ │ ldr r2, [sp, #20] │ │ │ │ │ - b.n d2 │ │ │ │ │ + b.n 10a │ │ │ │ │ + nop │ │ │ │ │ .word 0x00000060 │ │ │ │ │ R_ARM_REL32 apply │ │ │ │ │ .word 0x00000062 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ │ │ │ │ │ -000001c0 : │ │ │ │ │ +00000200 : │ │ │ │ │ awake(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - mov r5, r1 │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ + mov r5, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ ldr r0, [r4, #68] @ 0x44 │ │ │ │ │ mov r1, r5 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, lr} │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + ldrd r5, lr, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_awake │ │ │ │ │ │ │ │ │ │ -000001d8 : │ │ │ │ │ +00000224 : │ │ │ │ │ fftw_dft_rank_geq2_register(): │ │ │ │ │ - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ - mov r5, r0 │ │ │ │ │ - ldr r4, [pc, #48] @ (210 ) │ │ │ │ │ - ldr r7, [pc, #48] @ (214 ) │ │ │ │ │ - add r4, pc │ │ │ │ │ - add.w r8, r4, #12 │ │ │ │ │ - add r7, pc │ │ │ │ │ - mov r6, r4 │ │ │ │ │ - ldr.w r9, [r4], #4 │ │ │ │ │ - mov r1, r7 │ │ │ │ │ - movs r0, #20 │ │ │ │ │ + strd r3, r4, [sp, #-32]! │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ + strd r5, r6, [sp, #8] │ │ │ │ │ + mov r6, r0 │ │ │ │ │ + ldr r5, [pc, #76] @ (280 ) │ │ │ │ │ + strd r7, r8, [sp, #16] │ │ │ │ │ + ldr.w r8, [pc, #72] @ 284 │ │ │ │ │ + strd r9, lr, [sp, #24] │ │ │ │ │ + add r5, pc │ │ │ │ │ + mov r7, r5 │ │ │ │ │ + add r8, pc │ │ │ │ │ + ldr.w r9, [r5], #4 │ │ │ │ │ + mov r1, r8 │ │ │ │ │ + mov.w r0, #20 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ - movs r3, #3 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - strd r9, r6, [r0, #8] │ │ │ │ │ - str r3, [r0, #16] │ │ │ │ │ - mov r0, r5 │ │ │ │ │ + mov.w r3, #3 │ │ │ │ │ + mov r0, r6 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + strd r9, r7, [r1, #8] │ │ │ │ │ + str r3, [r1, #16] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ - cmp r4, r8 │ │ │ │ │ - bne.n 1ec │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} │ │ │ │ │ - .word 0x0000002a │ │ │ │ │ + cmp r4, #3 │ │ │ │ │ + bne.n 246 │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + ldrd r5, r6, [sp, #8] │ │ │ │ │ + ldrd r7, r8, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {r9, pc} │ │ │ │ │ + .word 0x0000003c │ │ │ │ │ R_ARM_REL32 .rodata │ │ │ │ │ - .word 0x00000028 │ │ │ │ │ + .word 0x0000003c │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ ├── solve.o │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,6 +1,6 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 3 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 22 FUNC GLOBAL DEFAULT 1 fftw_dft_solve │ │ │ │ │ + 2: 00000001 24 FUNC GLOBAL DEFAULT 1 fftw_dft_solve │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,18 +1,17 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_dft_solve(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ ldr r3, [r1, #24] │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ sub sp, #8 │ │ │ │ │ ldr r4, [r0, #56] @ 0x38 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldrd r2, r3, [r1, #16] │ │ │ │ │ ldr r1, [r1, #12] │ │ │ │ │ blx r4 │ │ │ │ │ add sp, #8 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - nop │ │ │ ├── vrank-geq1.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2144 (bytes into file) │ │ │ │ │ + Start of section headers: 2236 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 16 │ │ │ │ │ Section header string table index: 15 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,25 +1,25 @@ │ │ │ │ │ -There are 16 section headers, starting at offset 0x860: │ │ │ │ │ +There are 16 section headers, starting at offset 0x8bc: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00025c 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0006f0 0000b8 08 I 13 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000290 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000290 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000290 00001c 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 0002ac 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0002b4 000010 00 WA 0 0 4 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 0007a8 000020 08 I 13 7 4 │ │ │ │ │ - [ 9] .data.rel.ro.local PROGBITS 00000000 0002c4 00000c 00 WA 0 0 4 │ │ │ │ │ - [10] .rel.data.rel.ro.local REL 00000000 0007c8 000008 08 I 13 9 4 │ │ │ │ │ - [11] .note.GNU-stack PROGBITS 00000000 0002d0 000000 00 0 0 1 │ │ │ │ │ - [12] .ARM.attributes ARM_ATTRIBUTES 00000000 0002d0 000033 00 0 0 1 │ │ │ │ │ - [13] .symtab SYMTAB 00000000 000304 000280 10 14 23 4 │ │ │ │ │ - [14] .strtab STRTAB 00000000 000584 000169 00 0 0 1 │ │ │ │ │ - [15] .shstrtab STRTAB 00000000 0007d0 00008f 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0002b8 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 00074c 0000b8 08 I 13 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0002ec 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0002ec 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0002ec 00001c 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000308 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000310 000010 00 WA 0 0 4 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000804 000020 08 I 13 7 4 │ │ │ │ │ + [ 9] .data.rel.ro.local PROGBITS 00000000 000320 00000c 00 WA 0 0 4 │ │ │ │ │ + [10] .rel.data.rel.ro.local REL 00000000 000824 000008 08 I 13 9 4 │ │ │ │ │ + [11] .note.GNU-stack PROGBITS 00000000 00032c 000000 00 0 0 1 │ │ │ │ │ + [12] .ARM.attributes ARM_ATTRIBUTES 00000000 00032c 000033 00 0 0 1 │ │ │ │ │ + [13] .symtab SYMTAB 00000000 000360 000280 10 14 23 4 │ │ │ │ │ + [14] .strtab STRTAB 00000000 0005e0 000169 00 0 0 1 │ │ │ │ │ + [15] .shstrtab STRTAB 00000000 00082c 00008f 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 40 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 92 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ + 1: 00000001 128 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 3: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 4: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ - 5: 0000005d 36 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ - 6: 0000007c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 7: 00000080 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 8: 00000081 384 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 9: 000001f0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 10: 00000200 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 11: 00000201 6 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 12: 00000209 6 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 13: 00000254 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 5: 00000081 36 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 6: 000000a0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 7: 000000a4 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 8: 000000a5 412 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 9: 00000230 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 10: 00000240 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 11: 00000241 6 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 12: 00000249 6 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 13: 000002b0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 14: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 15: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 16: 00000000 8 OBJECT LOCAL DEFAULT 6 buddies.2 │ │ │ │ │ 17: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 18: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 19: 00000000 16 OBJECT LOCAL DEFAULT 7 padt.0 │ │ │ │ │ 20: 00000000 0 SECTION LOCAL DEFAULT 9 .data.rel.ro.local │ │ │ │ │ @@ -33,11 +33,11 @@ │ │ │ │ │ 29: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_zero │ │ │ │ │ 30: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_madd2 │ │ │ │ │ 31: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_iabs │ │ │ │ │ 32: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_imin │ │ │ │ │ 33: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_max_index │ │ │ │ │ 34: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_destroy_internal │ │ │ │ │ 35: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_awake │ │ │ │ │ - 36: 00000211 76 FUNC GLOBAL DEFAULT 1 fftw_dft_vrank_geq1_register │ │ │ │ │ + 36: 00000251 104 FUNC GLOBAL DEFAULT 1 fftw_dft_vrank_geq1_register │ │ │ │ │ 37: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ 38: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 39: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_solve │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,37 +1,37 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x6f0 contains 23 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x74c contains 23 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000007c 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -000000c4 0000170a R_ARM_THM_CALL 00000000 fftw_pickdim │ │ │ │ │ -00000102 0000180a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ -00000110 0000190a R_ARM_THM_CALL 00000000 fftw_tensor_copy_except │ │ │ │ │ -00000124 00001a0a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ -0000012c 00001b0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -00000140 00001c0a R_ARM_THM_CALL 00000000 fftw_mkplan_dft │ │ │ │ │ -0000015e 00001d0a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ -00000174 00001e0a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ -000001be 00001f0a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -000001c6 00001f0a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -000001ce 0000200a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ -000001d6 0000210a R_ARM_THM_CALL 00000000 fftw_tensor_max_index │ │ │ │ │ -000001f8 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ -000001fc 00001103 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000222 0000250a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -00000232 0000260a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -0000023a 0000250a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -00000254 00001403 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -00000258 00000e03 R_ARM_REL32 00000000 .rodata │ │ │ │ │ -00000202 0000221e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ -0000020a 0000231e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ -00000250 0000261e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ +000000a0 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +00000108 0000170a R_ARM_THM_CALL 00000000 fftw_pickdim │ │ │ │ │ +00000148 0000180a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ +00000156 0000190a R_ARM_THM_CALL 00000000 fftw_tensor_copy_except │ │ │ │ │ +0000016a 00001a0a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ +00000172 00001b0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +00000188 00001c0a R_ARM_THM_CALL 00000000 fftw_mkplan_dft │ │ │ │ │ +000001a8 00001d0a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ +000001be 00001e0a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ +00000204 00001f0a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +0000020c 00001f0a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +00000214 0000200a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ +0000021c 0000210a R_ARM_THM_CALL 00000000 fftw_tensor_max_index │ │ │ │ │ +00000238 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ +0000023c 00001103 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +0000026e 0000250a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +00000282 0000260a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +0000028c 0000250a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +000002b0 00001403 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +000002b4 00000e03 R_ARM_REL32 00000000 .rodata │ │ │ │ │ +00000242 0000221e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ +0000024a 0000231e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ +000002ac 0000261e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x7a8 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x804 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00002702 R_ARM_ABS32 00000000 fftw_dft_solve │ │ │ │ │ -00000004 00000c02 R_ARM_ABS32 00000209 awake │ │ │ │ │ -00000008 00000502 R_ARM_ABS32 0000005d print │ │ │ │ │ -0000000c 00000b02 R_ARM_ABS32 00000201 destroy │ │ │ │ │ +00000004 00000c02 R_ARM_ABS32 00000249 awake │ │ │ │ │ +00000008 00000502 R_ARM_ABS32 00000081 print │ │ │ │ │ +0000000c 00000b02 R_ARM_ABS32 00000241 destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x7c8 contains 1 entry: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x824 contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000802 R_ARM_ABS32 00000081 mkplan │ │ │ │ │ +00000004 00000802 R_ARM_ABS32 000000a5 mkplan │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,8 +1,7 @@ │ │ │ │ │ -0JX 0IzDyD │ │ │ │ │ (dft-vrank>=1-x%D/%d%(%p%)) │ │ │ │ │ buddies.2 │ │ │ │ │ fftw_pickdim │ │ │ │ │ fftw_tensor_copy │ │ │ │ │ fftw_tensor_copy_except │ │ │ │ │ fftw_mkproblem_dft_d │ │ │ │ │ fftw_mkplan_d │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,280 +1,293 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ apply(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov fp, r0 │ │ │ │ │ - ldr r7, [r0, #76] @ 0x4c │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ mov r4, r3 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r2 │ │ │ │ │ ldrd r3, r6, [r0, #68] @ 0x44 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + ldr r7, [r0, #76] @ 0x4c │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + mov fp, r0 │ │ │ │ │ sub sp, #20 │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ ldr r2, [r0, #56] @ 0x38 │ │ │ │ │ - ble.n 56 │ │ │ │ │ - ldr.w r8, [sp, #56] @ 0x38 │ │ │ │ │ + ble.n 68 │ │ │ │ │ + strd r3, fp, [sp, #8] │ │ │ │ │ mov.w sl, r6, lsl #3 │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ + mov fp, r2 │ │ │ │ │ + ldr.w r8, [sp, #56] @ 0x38 │ │ │ │ │ mov.w r9, r7, lsl #3 │ │ │ │ │ + mov.w r7, #0 │ │ │ │ │ mov r3, r8 │ │ │ │ │ - str.w fp, [sp, #12] │ │ │ │ │ - movs r7, #0 │ │ │ │ │ mov r8, r1 │ │ │ │ │ - mov fp, r2 │ │ │ │ │ mov r6, r3 │ │ │ │ │ - b.n 3c │ │ │ │ │ + b.n 4c │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ ldr r0, [r3, #64] @ 0x40 │ │ │ │ │ mov r3, r4 │ │ │ │ │ mov r2, r5 │ │ │ │ │ - mov r1, r8 │ │ │ │ │ str r6, [sp, #0] │ │ │ │ │ + mov r1, r8 │ │ │ │ │ + add.w r7, r7, #1 │ │ │ │ │ blx fp │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ - adds r7, #1 │ │ │ │ │ add r8, sl │ │ │ │ │ add r5, sl │ │ │ │ │ add r4, r9 │ │ │ │ │ add r6, r9 │ │ │ │ │ cmp r3, r7 │ │ │ │ │ - bne.n 38 │ │ │ │ │ + bne.n 48 │ │ │ │ │ add sp, #20 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -0000005c : │ │ │ │ │ +00000080 : │ │ │ │ │ print(): │ │ │ │ │ mov r2, r0 │ │ │ │ │ - push {r4, lr} │ │ │ │ │ mov r0, r1 │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ + ldr r1, [r2, #64] @ 0x40 │ │ │ │ │ sub sp, #8 │ │ │ │ │ ldr r3, [r2, #80] @ 0x50 │ │ │ │ │ - ldr r1, [r2, #64] @ 0x40 │ │ │ │ │ - ldr r4, [r0, #0] │ │ │ │ │ ldr r3, [r3, #8] │ │ │ │ │ str r1, [sp, #0] │ │ │ │ │ - ldr r1, [pc, #12] @ (7c ) │ │ │ │ │ + ldr r1, [pc, #12] @ (a0 ) │ │ │ │ │ + ldr r4, [r0, #0] │ │ │ │ │ ldr r2, [r2, #68] @ 0x44 │ │ │ │ │ add r1, pc │ │ │ │ │ blx r4 │ │ │ │ │ add sp, #8 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ -00000080 : │ │ │ │ │ +000000a4 : │ │ │ │ │ mkplan(): │ │ │ │ │ ldr r3, [r1, #8] │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ - mov r5, r2 │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ mov r4, r1 │ │ │ │ │ - ldr r2, [r3, #0] │ │ │ │ │ - movw r1, #65533 @ 0xfffd │ │ │ │ │ - movt r1, #32767 @ 0x7fff │ │ │ │ │ + mov r5, r2 │ │ │ │ │ + movw r2, #65533 @ 0xfffd │ │ │ │ │ + movt r2, #32767 @ 0x7fff │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ sub sp, #16 │ │ │ │ │ - subs r2, #1 │ │ │ │ │ - cmp r2, r1 │ │ │ │ │ - bhi.n a4 │ │ │ │ │ + ldr r1, [r3, #0] │ │ │ │ │ + add.w r1, r1, #4294967295 @ 0xffffffff │ │ │ │ │ + cmp r1, r2 │ │ │ │ │ + bhi.n d6 │ │ │ │ │ ldr r2, [r4, #4] │ │ │ │ │ ldr r2, [r2, #0] │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - bgt.n ac │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + bgt.n ee │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #16 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {sl, pc} │ │ │ │ │ add r2, sp, #12 │ │ │ │ │ + mov r8, r0 │ │ │ │ │ str r2, [sp, #4] │ │ │ │ │ - mov r6, r0 │ │ │ │ │ - ldr r1, [r4, #20] │ │ │ │ │ ldr r2, [r4, #12] │ │ │ │ │ + ldr r1, [r4, #20] │ │ │ │ │ subs r2, r2, r1 │ │ │ │ │ it ne │ │ │ │ │ movne r2, #1 │ │ │ │ │ str r2, [sp, #0] │ │ │ │ │ - ldrd r1, r2, [r0, #12] │ │ │ │ │ - ldr r0, [r0, #8] │ │ │ │ │ + ldrd r0, r1, [r0, #8] │ │ │ │ │ + ldr.w r2, [r8, #16] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_pickdim │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n a4 │ │ │ │ │ + beq.n d6 │ │ │ │ │ ldr.w r3, [r5, #164] @ 0xa4 │ │ │ │ │ - ubfx r2, r3, #0, #20 │ │ │ │ │ lsls r0, r3, #23 │ │ │ │ │ - bpl.n e2 │ │ │ │ │ - ldrd r1, r3, [r6, #8] │ │ │ │ │ + ubfx r2, r3, #0, #20 │ │ │ │ │ + bpl.n 126 │ │ │ │ │ + ldrd r1, r3, [r8, #8] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ cmp r1, r3 │ │ │ │ │ - bne.n a4 │ │ │ │ │ + bne.n d6 │ │ │ │ │ lsls r1, r2, #15 │ │ │ │ │ - bpl.n f2 │ │ │ │ │ + bpl.n 136 │ │ │ │ │ ldr r3, [r4, #4] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - bgt.n 1b0 │ │ │ │ │ + bgt.n 1f6 │ │ │ │ │ lsls r3, r2, #22 │ │ │ │ │ - bmi.n 1a6 │ │ │ │ │ - ldr r3, [r4, #8] │ │ │ │ │ - movs r2, #12 │ │ │ │ │ - ldr r0, [r4, #4] │ │ │ │ │ + bmi.n 1ec │ │ │ │ │ + ldrd r0, r3, [r4, #4] │ │ │ │ │ add.w r9, r3, #4 │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ - mul.w r8, r2, r3 │ │ │ │ │ + add.w r3, r3, r3, lsl #1 │ │ │ │ │ + mov.w r7, r3, lsl #2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy │ │ │ │ │ ldr r1, [sp, #12] │ │ │ │ │ - mov r7, r0 │ │ │ │ │ + mov r6, r0 │ │ │ │ │ + add.w sl, r9, r7 │ │ │ │ │ ldr r0, [r4, #8] │ │ │ │ │ - add.w sl, r9, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy_except │ │ │ │ │ ldr r3, [r4, #24] │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ mov r1, r0 │ │ │ │ │ - mov r0, r7 │ │ │ │ │ + mov r0, r6 │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ ldr r3, [r4, #20] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldrd r2, r3, [r4, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_dft_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ - mov r7, r0 │ │ │ │ │ + mov r6, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n a4 │ │ │ │ │ - ldr r2, [pc, #192] @ (1f8 ) │ │ │ │ │ - movs r0, #88 @ 0x58 │ │ │ │ │ - ldr r1, [pc, #192] @ (1fc ) │ │ │ │ │ + beq.n d6 │ │ │ │ │ + ldr r2, [pc, #184] @ (238 ) │ │ │ │ │ + mov.w r0, #88 @ 0x58 │ │ │ │ │ + ldr r1, [pc, #184] @ (23c ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_dft │ │ │ │ │ - ldr.w r1, [r9, r8] │ │ │ │ │ - ldrd r2, r3, [sl, #4] │ │ │ │ │ - strd r3, r6, [r0, #76] @ 0x4c │ │ │ │ │ + ldr.w r1, [r9, r7] │ │ │ │ │ mov r5, r0 │ │ │ │ │ - add.w r6, r0, #8 │ │ │ │ │ - strd r1, r2, [r0, #68] @ 0x44 │ │ │ │ │ - str r7, [r0, #64] @ 0x40 │ │ │ │ │ - mov r0, r6 │ │ │ │ │ + add.w r7, r0, #8 │ │ │ │ │ + mov r0, r7 │ │ │ │ │ + ldrd r2, r3, [sl, #4] │ │ │ │ │ + strd r6, r1, [r5, #64] @ 0x40 │ │ │ │ │ + str.w r8, [r5, #80] @ 0x50 │ │ │ │ │ + strd r2, r3, [r5, #72] @ 0x48 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_zero │ │ │ │ │ - ldr r0, [r5, #68] @ 0x44 │ │ │ │ │ - add r3, pc, #136 @ (adr r3, 1f0 ) │ │ │ │ │ + add r3, pc, #128 @ (adr r3, 230 ) │ │ │ │ │ ldrd r2, r3, [r3] │ │ │ │ │ + add.w r1, r6, #8 │ │ │ │ │ + ldr r0, [r5, #68] @ 0x44 │ │ │ │ │ strd r2, r3, [r5, #32] │ │ │ │ │ - add.w r1, r7, #8 │ │ │ │ │ - mov r2, r6 │ │ │ │ │ + mov r2, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_madd2 │ │ │ │ │ ldr r3, [r4, #4] │ │ │ │ │ ldr r2, [r3, #0] │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - beq.n 19c │ │ │ │ │ + beq.n 1e2 │ │ │ │ │ vldr s15, [r5, #68] @ 0x44 │ │ │ │ │ mov r0, r5 │ │ │ │ │ - vldr d6, [r7, #40] @ 0x28 │ │ │ │ │ + vldr d6, [r6, #40] @ 0x28 │ │ │ │ │ vcvt.f64.s32 d7, s15 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ vstr d7, [r5, #40] @ 0x28 │ │ │ │ │ - add sp, #16 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ + b.n da │ │ │ │ │ ldr r3, [r3, #4] │ │ │ │ │ cmp r3, #64 @ 0x40 │ │ │ │ │ - bgt.n 180 │ │ │ │ │ + bgt.n 1ca │ │ │ │ │ mov r0, r5 │ │ │ │ │ - b.n 196 │ │ │ │ │ + b.n da │ │ │ │ │ ldr.w r3, [r5, #160] @ 0xa0 │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - ble.n f2 │ │ │ │ │ - b.n a4 │ │ │ │ │ - ldr r7, [r4, #8] │ │ │ │ │ - movs r2, #12 │ │ │ │ │ + ble.n 136 │ │ │ │ │ + b.n d6 │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ - adds r7, #4 │ │ │ │ │ - mla r7, r2, r3, r7 │ │ │ │ │ - ldr r0, [r7, #4] │ │ │ │ │ + ldr r6, [r4, #8] │ │ │ │ │ + add.w r3, r3, r3, lsl #1 │ │ │ │ │ + add.w r6, r6, r3, lsl #2 │ │ │ │ │ + ldr r0, [r6, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ - mov r8, r0 │ │ │ │ │ - ldr r0, [r7, #8] │ │ │ │ │ + mov r7, r0 │ │ │ │ │ + ldr r0, [r6, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ mov r1, r0 │ │ │ │ │ - mov r0, r8 │ │ │ │ │ + mov r0, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_imin │ │ │ │ │ - mov r7, r0 │ │ │ │ │ + mov r6, r0 │ │ │ │ │ ldr r0, [r4, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_max_index │ │ │ │ │ - cmp r7, r0 │ │ │ │ │ - blt.w a4 │ │ │ │ │ + cmp r6, r0 │ │ │ │ │ + blt.w d6 │ │ │ │ │ ldr.w r2, [r5, #164] @ 0xa4 │ │ │ │ │ ubfx r2, r2, #0, #20 │ │ │ │ │ - b.n ee │ │ │ │ │ - nop │ │ │ │ │ - nop.w │ │ │ │ │ + b.n 132 │ │ │ │ │ .word 0xf01b866e │ │ │ │ │ .word 0x400921f9 │ │ │ │ │ - .word 0x000000b8 │ │ │ │ │ + .word 0x000000b0 │ │ │ │ │ R_ARM_REL32 apply │ │ │ │ │ - .word 0x000000ba │ │ │ │ │ + .word 0x000000b2 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ │ │ │ │ │ -00000200 : │ │ │ │ │ +00000240 : │ │ │ │ │ destroy(): │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_destroy_internal │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000208 : │ │ │ │ │ +00000248 : │ │ │ │ │ awake(): │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_awake │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000210 : │ │ │ │ │ +00000250 : │ │ │ │ │ fftw_dft_vrank_geq1_register(): │ │ │ │ │ - push {r3, r4, r5, r6, r7, lr} │ │ │ │ │ + strd r3, r4, [sp, #-24]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - ldr r7, [pc, #60] @ (254 ) │ │ │ │ │ - ldr r6, [pc, #64] @ (258 ) │ │ │ │ │ - movs r0, #20 │ │ │ │ │ + mov.w r0, #20 │ │ │ │ │ + strd r5, r6, [sp, #8] │ │ │ │ │ + mov.w r5, #2 │ │ │ │ │ + strd r7, lr, [sp, #16] │ │ │ │ │ + ldr r7, [pc, #72] @ (2b0 ) │ │ │ │ │ + ldr r6, [pc, #72] @ (2b4 ) │ │ │ │ │ add r7, pc │ │ │ │ │ - movs r5, #2 │ │ │ │ │ mov r1, r7 │ │ │ │ │ - add r6, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ - movs r3, #1 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - str r3, [r0, #8] │ │ │ │ │ - str r6, [r0, #12] │ │ │ │ │ - str r5, [r0, #16] │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + add r6, pc │ │ │ │ │ mov r0, r4 │ │ │ │ │ + strd r3, r6, [r1, #8] │ │ │ │ │ + str r5, [r1, #16] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ mov r1, r7 │ │ │ │ │ - movs r0, #20 │ │ │ │ │ + mov.w r0, #20 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ - mov.w r3, #4294967295 @ 0xffffffff │ │ │ │ │ - str r5, [r0, #16] │ │ │ │ │ mov r1, r0 │ │ │ │ │ - strd r3, r6, [r0, #8] │ │ │ │ │ + mov.w r3, #4294967295 @ 0xffffffff │ │ │ │ │ + ldrd r7, lr, [sp, #16] │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, r6, r7, lr} │ │ │ │ │ + strd r3, r6, [r1, #8] │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + str r5, [r1, #16] │ │ │ │ │ + ldrd r5, r6, [sp, #8] │ │ │ │ │ + add sp, #24 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solver_register │ │ │ │ │ - .word 0x00000036 │ │ │ │ │ + .word 0x00000042 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ │ │ - .word 0x00000034 │ │ │ │ │ + .word 0x00000038 │ │ │ │ │ R_ARM_REL32 .rodata │ │ │ ├── zero.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2728 (bytes into file) │ │ │ │ │ + Start of section headers: 2976 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 10 │ │ │ │ │ Section header string table index: 9 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ -There are 10 section headers, starting at offset 0xaa8: │ │ │ │ │ +There are 10 section headers, starting at offset 0xba0: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0008b8 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0009c8 000090 08 I 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0008ec 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0008ec 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .note.GNU-stack PROGBITS 00000000 0008ec 000000 00 0 0 1 │ │ │ │ │ - [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 0008ec 000033 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 000920 000080 10 8 6 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 0009a0 000026 00 0 0 1 │ │ │ │ │ - [ 9] .shstrtab STRTAB 00000000 000a58 000050 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0009b0 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000ac0 000090 08 I 7 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0009e4 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0009e4 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .note.GNU-stack PROGBITS 00000000 0009e4 000000 00 0 0 1 │ │ │ │ │ + [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 0009e4 000033 00 0 0 1 │ │ │ │ │ + [ 7] .symtab SYMTAB 00000000 000a18 000080 10 8 6 4 │ │ │ │ │ + [ 8] .strtab STRTAB 00000000 000a98 000026 00 0 0 1 │ │ │ │ │ + [ 9] .shstrtab STRTAB 00000000 000b50 000050 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,11 +1,11 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 8 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1176 FUNC LOCAL DEFAULT 1 recur │ │ │ │ │ + 1: 00000001 1240 FUNC LOCAL DEFAULT 1 recur │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000490 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000498 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000008b0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000004d0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 000004d8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000009a8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 NOTYPE GLOBAL DEFAULT UND memset │ │ │ │ │ - 7: 00000499 1056 FUNC GLOBAL DEFAULT 1 fftw_dft_zerotens │ │ │ │ │ + 7: 000004d9 1240 FUNC GLOBAL DEFAULT 1 fftw_dft_zerotens │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,21 +1,21 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x9c8 contains 18 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xac0 contains 18 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000001aa 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ -00000226 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ -00000230 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ -000002ca 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ -000002d4 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ -0000036c 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ -00000376 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ -0000065e 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ -000006a8 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ -000006b2 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ -000006ec 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ -000006f6 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ -00000734 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ -0000073e 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ -0000076e 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ -00000778 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ -0000066e 0000061e R_ARM_THM_JUMP24 00000000 memset │ │ │ │ │ -000001ba 0000061e R_ARM_THM_JUMP24 00000000 memset │ │ │ │ │ +000001d0 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ +00000256 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ +00000262 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ +000002f2 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ +000002fe 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ +00000388 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ +00000394 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ +00000700 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ +00000764 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ +00000770 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ +000007b6 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ +000007c2 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ +00000800 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ +0000080e 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ +0000084c 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ +00000858 0000060a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ +000001f4 0000061e R_ARM_THM_JUMP24 00000000 memset │ │ │ │ │ +00000724 0000061e R_ARM_THM_JUMP24 00000000 memset │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,916 +1,901 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ recur(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ mov ip, r1 │ │ │ │ │ mov r1, r3 │ │ │ │ │ - sub sp, #116 @ 0x74 │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + sub sp, #108 @ 0x6c │ │ │ │ │ + strd r2, r3, [sp] │ │ │ │ │ mvn.w r3, #2147483648 @ 0x80000000 │ │ │ │ │ cmp ip, r3 │ │ │ │ │ - beq.w 172 │ │ │ │ │ - mov r7, r2 │ │ │ │ │ + beq.w 18c │ │ │ │ │ cmp.w ip, #0 │ │ │ │ │ - beq.w 178 │ │ │ │ │ - ble.w 172 │ │ │ │ │ - ldr r3, [r0, #0] │ │ │ │ │ - mov lr, r0 │ │ │ │ │ - ldr r2, [r0, #4] │ │ │ │ │ + beq.w 17a │ │ │ │ │ + ble.w 18c │ │ │ │ │ + ldrd r3, r2, [r0] │ │ │ │ │ cmp.w ip, #1 │ │ │ │ │ - str r3, [sp, #40] @ 0x28 │ │ │ │ │ - beq.w 18a │ │ │ │ │ + mov lr, r0 │ │ │ │ │ + str r3, [sp, #44] @ 0x2c │ │ │ │ │ + str r2, [sp, #52] @ 0x34 │ │ │ │ │ + beq.w 1a4 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.w 172 │ │ │ │ │ + ble.w 18c │ │ │ │ │ + mov sl, r3 │ │ │ │ │ ldr r3, [r0, #12] │ │ │ │ │ - lsls r1, r2, #3 │ │ │ │ │ - ldr r0, [r0, #16] │ │ │ │ │ - add.w r5, lr, #48 @ 0x30 │ │ │ │ │ + mov.w r7, #0 │ │ │ │ │ + mov r8, r2 │ │ │ │ │ + mov r4, r7 │ │ │ │ │ + mov r1, r0 │ │ │ │ │ + str r3, [sp, #32] │ │ │ │ │ + ldr r3, [r0, #16] │ │ │ │ │ + str r3, [sp, #36] @ 0x24 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + str r3, [sp, #40] @ 0x28 │ │ │ │ │ + add.w r3, r0, #48 @ 0x30 │ │ │ │ │ str r3, [sp, #28] │ │ │ │ │ - mov r9, r2 │ │ │ │ │ - lsls r4, r3, #3 │ │ │ │ │ - ldr r3, [sp, #4] │ │ │ │ │ - mov.w fp, r0, lsl #3 │ │ │ │ │ - str r0, [sp, #36] @ 0x24 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - str r5, [sp, #20] │ │ │ │ │ - str.w fp, [sp, #44] @ 0x2c │ │ │ │ │ - mov r5, r1 │ │ │ │ │ - mov fp, r7 │ │ │ │ │ - str r7, [sp, #60] @ 0x3c │ │ │ │ │ - mov r2, r3 │ │ │ │ │ - mov r1, ip │ │ │ │ │ - mov r7, r0 │ │ │ │ │ - str r4, [sp, #32] │ │ │ │ │ - str r4, [sp, #100] @ 0x64 │ │ │ │ │ - cmp r1, #2 │ │ │ │ │ - beq.w 32e │ │ │ │ │ - mov r8, r0 │ │ │ │ │ - mov r4, r2 │ │ │ │ │ - mov ip, lr │ │ │ │ │ - subs r3, r1, #4 │ │ │ │ │ - str r1, [sp, #24] │ │ │ │ │ + ldr r2, [sp, #0] │ │ │ │ │ + mov.w r3, r7, lsl #3 │ │ │ │ │ + cmp.w ip, #2 │ │ │ │ │ + add r2, r3 │ │ │ │ │ + str r2, [sp, #12] │ │ │ │ │ + ldr r2, [sp, #4] │ │ │ │ │ + add r3, r2 │ │ │ │ │ str r3, [sp, #16] │ │ │ │ │ - ldr r3, [sp, #28] │ │ │ │ │ + beq.w 350 │ │ │ │ │ + sub.w r3, ip, #4 │ │ │ │ │ + mov lr, r1 │ │ │ │ │ + mov r1, ip │ │ │ │ │ + str r3, [sp, #24] │ │ │ │ │ + ldr r3, [sp, #32] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.n 15c │ │ │ │ │ - ldr.w sl, [ip, #28] │ │ │ │ │ - movs r2, #0 │ │ │ │ │ - ldr.w r3, [ip, #24] │ │ │ │ │ - mov lr, ip │ │ │ │ │ + ble.n 15e │ │ │ │ │ + ldrd r3, r5, [lr, #24] │ │ │ │ │ + mov.w ip, #0 │ │ │ │ │ + mov.w r6, r5, lsl #3 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ - adds r3, r7, r3 │ │ │ │ │ - mov.w r6, sl, lsl #3 │ │ │ │ │ - str r7, [sp, #0] │ │ │ │ │ - str.w sl, [sp, #88] @ 0x58 │ │ │ │ │ - mov sl, r2 │ │ │ │ │ - str r7, [sp, #72] @ 0x48 │ │ │ │ │ - mov r7, r4 │ │ │ │ │ - str r5, [sp, #84] @ 0x54 │ │ │ │ │ - mov r5, fp │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ - strd r8, r9, [sp, #64] @ 0x40 │ │ │ │ │ - str r3, [sp, #12] │ │ │ │ │ - strd fp, r4, [sp, #76] @ 0x4c │ │ │ │ │ - ldr r3, [sp, #24] │ │ │ │ │ - cmp r3, #3 │ │ │ │ │ - beq.w 1be │ │ │ │ │ + add r3, r7 │ │ │ │ │ + str r5, [sp, #72] @ 0x48 │ │ │ │ │ + mov r5, ip │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + ldrd r2, ip, [sp, #12] │ │ │ │ │ + str r3, [sp, #20] │ │ │ │ │ + strd r4, sl, [sp, #56] @ 0x38 │ │ │ │ │ + strd r8, r7, [sp, #64] @ 0x40 │ │ │ │ │ + cmp r1, #3 │ │ │ │ │ + beq.w 1f8 │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.w 2fe │ │ │ │ │ - ldrd r9, r1, [lr, #36] @ 0x24 │ │ │ │ │ - ldr r3, [sp, #24] │ │ │ │ │ - mov.w r8, r1, lsl #3 │ │ │ │ │ - cmp r3, #4 │ │ │ │ │ - beq.w 280 │ │ │ │ │ - mov fp, r5 │ │ │ │ │ - mov r3, r7 │ │ │ │ │ - movs r2, #0 │ │ │ │ │ - strd sl, r5, [sp, #52] @ 0x34 │ │ │ │ │ - str r7, [sp, #92] @ 0x5c │ │ │ │ │ - mov sl, r6 │ │ │ │ │ - mov r7, fp │ │ │ │ │ - str.w lr, [sp, #96] @ 0x60 │ │ │ │ │ - mov r5, r9 │ │ │ │ │ - mov fp, r8 │ │ │ │ │ + ble.w 326 │ │ │ │ │ + ldrd r9, r3, [lr, #36] @ 0x24 │ │ │ │ │ + cmp r1, #4 │ │ │ │ │ + mov.w r8, r3, lsl #3 │ │ │ │ │ + str r3, [sp, #12] │ │ │ │ │ + beq.w 29e │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + mov fp, r6 │ │ │ │ │ + str r5, [sp, #16] │ │ │ │ │ mov r6, r2 │ │ │ │ │ - mov lr, r3 │ │ │ │ │ + mov r5, r9 │ │ │ │ │ + str r7, [sp, #48] @ 0x30 │ │ │ │ │ + mov sl, r8 │ │ │ │ │ + mov r7, ip │ │ │ │ │ + strd r2, ip, [sp, #76] @ 0x4c │ │ │ │ │ + strd lr, r1, [sp, #84] @ 0x54 │ │ │ │ │ + mov r1, r3 │ │ │ │ │ cmp r5, #0 │ │ │ │ │ - ble.n 116 │ │ │ │ │ - str r6, [sp, #48] @ 0x30 │ │ │ │ │ - mov r9, lr │ │ │ │ │ - mov r8, r7 │ │ │ │ │ - movs r4, #0 │ │ │ │ │ - mov r6, lr │ │ │ │ │ + ble.n 120 │ │ │ │ │ + mov r8, r6 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ + str r6, [sp, #12] │ │ │ │ │ + mov r9, r1 │ │ │ │ │ + mov r6, r7 │ │ │ │ │ + ldrd r1, r0, [sp, #24] │ │ │ │ │ mov r3, r6 │ │ │ │ │ mov r2, r8 │ │ │ │ │ - ldrd r1, r0, [sp, #16] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + add r8, sl │ │ │ │ │ bl 0 │ │ │ │ │ - add r8, fp │ │ │ │ │ - add r6, fp │ │ │ │ │ cmp r4, r5 │ │ │ │ │ - bne.n fc │ │ │ │ │ - ldr r6, [sp, #48] @ 0x30 │ │ │ │ │ - mov lr, r9 │ │ │ │ │ + add r6, sl │ │ │ │ │ + bne.n 104 │ │ │ │ │ + ldr r6, [sp, #12] │ │ │ │ │ + mov r1, r9 │ │ │ │ │ + add.w r1, r1, #1 │ │ │ │ │ + add r6, fp │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ - adds r6, #1 │ │ │ │ │ - add r7, sl │ │ │ │ │ - add lr, sl │ │ │ │ │ - cmp r3, r6 │ │ │ │ │ - bne.n ee │ │ │ │ │ - mov r6, sl │ │ │ │ │ - ldr r5, [sp, #56] @ 0x38 │ │ │ │ │ - ldr r7, [sp, #92] @ 0x5c │ │ │ │ │ - ldr.w sl, [sp, #52] @ 0x34 │ │ │ │ │ - ldr.w lr, [sp, #96] @ 0x60 │ │ │ │ │ - ldr r3, [sp, #0] │ │ │ │ │ - add.w sl, sl, #1 │ │ │ │ │ - ldr r2, [sp, #36] @ 0x24 │ │ │ │ │ - add r3, r2 │ │ │ │ │ - ldr r2, [sp, #12] │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ - ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ - add r2, r3 │ │ │ │ │ - add r5, r3 │ │ │ │ │ + add r7, fp │ │ │ │ │ + cmp r3, r1 │ │ │ │ │ + bne.n f4 │ │ │ │ │ + ldr r5, [sp, #16] │ │ │ │ │ + mov r6, fp │ │ │ │ │ + ldr r7, [sp, #48] @ 0x30 │ │ │ │ │ + ldrd r2, ip, [sp, #76] @ 0x4c │ │ │ │ │ + ldrd lr, r1, [sp, #84] @ 0x54 │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ + ldr r0, [sp, #20] │ │ │ │ │ + ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ add r7, r3 │ │ │ │ │ - ldr r3, [sp, #28] │ │ │ │ │ - str r2, [sp, #12] │ │ │ │ │ - cmp r3, sl │ │ │ │ │ - bne.n b2 │ │ │ │ │ - ldrd r8, r9, [sp, #64] @ 0x40 │ │ │ │ │ - mov ip, lr │ │ │ │ │ - ldrd r7, fp, [sp, #72] @ 0x48 │ │ │ │ │ - ldrd r4, r5, [sp, #80] @ 0x50 │ │ │ │ │ - add.w r8, r8, #1 │ │ │ │ │ - ldr r3, [sp, #32] │ │ │ │ │ - add r7, r9 │ │ │ │ │ - add fp, r5 │ │ │ │ │ - add r4, r5 │ │ │ │ │ - add r3, r5 │ │ │ │ │ - str r3, [sp, #32] │ │ │ │ │ ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ - cmp r3, r8 │ │ │ │ │ - bne.n 7c │ │ │ │ │ - add sp, #116 @ 0x74 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - movs r2, #0 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + add r0, r3 │ │ │ │ │ + add r2, r3 │ │ │ │ │ + add ip, r3 │ │ │ │ │ + ldr r3, [sp, #32] │ │ │ │ │ + str r0, [sp, #20] │ │ │ │ │ + cmp r3, r5 │ │ │ │ │ + bne.n ba │ │ │ │ │ + ldrd r4, sl, [sp, #56] @ 0x38 │ │ │ │ │ + ldrd r8, r7, [sp, #64] @ 0x40 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + add r7, r8 │ │ │ │ │ + cmp sl, r4 │ │ │ │ │ + beq.n 18c │ │ │ │ │ + ldr r2, [sp, #0] │ │ │ │ │ + mov.w r3, r7, lsl #3 │ │ │ │ │ + add r2, r3 │ │ │ │ │ + str r2, [sp, #12] │ │ │ │ │ + ldr r2, [sp, #4] │ │ │ │ │ + add r3, r2 │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ + b.n 8e │ │ │ │ │ + mov r0, r2 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ strd r2, r3, [r1] │ │ │ │ │ - strd r2, r3, [r7] │ │ │ │ │ - add sp, #116 @ 0x74 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + strd r2, r3, [r0] │ │ │ │ │ + add sp, #108 @ 0x6c │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.n 172 │ │ │ │ │ + ble.n 18c │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - bne.w 442 │ │ │ │ │ - lsls r4, r3, #3 │ │ │ │ │ mov r0, r1 │ │ │ │ │ - adds r3, r1, r4 │ │ │ │ │ - adds r2, r7, r4 │ │ │ │ │ + bne.w 474 │ │ │ │ │ + ldr r5, [sp, #0] │ │ │ │ │ + ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ + mov.w r4, r3, lsl #3 │ │ │ │ │ + add.w r3, r1, r4 │ │ │ │ │ + add.w r2, r5, r4 │ │ │ │ │ cmp r1, r2 │ │ │ │ │ it cc │ │ │ │ │ - cmpcc r7, r3 │ │ │ │ │ - bcc.w 478 │ │ │ │ │ + cmpcc r5, r3 │ │ │ │ │ + bcc.w 4b0 │ │ │ │ │ mov r2, r4 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memset │ │ │ │ │ mov r2, r4 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - mov r0, r7 │ │ │ │ │ - add sp, #116 @ 0x74 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ + mov r0, r5 │ │ │ │ │ + add sp, #108 @ 0x6c │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 memset │ │ │ │ │ - ldr r4, [sp, #8] │ │ │ │ │ - mov ip, r7 │ │ │ │ │ - str.w sl, [sp, #16] │ │ │ │ │ - ldr.w sl, [sp, #88] @ 0x58 │ │ │ │ │ - ldrd r0, r9, [sp, #64] @ 0x40 │ │ │ │ │ - str r5, [sp, #8] │ │ │ │ │ - ldrd r7, fp, [sp, #72] @ 0x48 │ │ │ │ │ - str.w r9, [sp, #48] @ 0x30 │ │ │ │ │ - ldrd r2, r5, [sp, #80] @ 0x50 │ │ │ │ │ - strd fp, r2, [sp, #52] @ 0x34 │ │ │ │ │ - ldr.w r9, [sp, #12] │ │ │ │ │ - mov.w r8, r4, lsl #3 │ │ │ │ │ - str r7, [sp, #12] │ │ │ │ │ - mov fp, lr │ │ │ │ │ - str r5, [sp, #64] @ 0x40 │ │ │ │ │ - mov r7, ip │ │ │ │ │ - mov r5, sl │ │ │ │ │ - mov sl, r3 │ │ │ │ │ - str r0, [sp, #24] │ │ │ │ │ - cmp r4, #0 │ │ │ │ │ - ble.w 3e8 │ │ │ │ │ - cmp r5, #1 │ │ │ │ │ - bne.w 3ac │ │ │ │ │ - ldr r3, [sp, #0] │ │ │ │ │ - ldr r1, [sp, #60] @ 0x3c │ │ │ │ │ - lsls r2, r3, #3 │ │ │ │ │ + ldr r3, [sp, #8] │ │ │ │ │ + mov fp, r5 │ │ │ │ │ + strd r2, ip, [sp, #12] │ │ │ │ │ + ldrd r4, sl, [sp, #56] @ 0x38 │ │ │ │ │ + str r7, [sp, #24] │ │ │ │ │ + ldr.w r8, [sp, #64] @ 0x40 │ │ │ │ │ + mov.w r5, r3, lsl #3 │ │ │ │ │ + ldr.w r9, [sp, #72] @ 0x48 │ │ │ │ │ + str r4, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r7, [sp, #68] @ 0x44 │ │ │ │ │ + mov r4, r9 │ │ │ │ │ + mov r9, r1 │ │ │ │ │ + str r7, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r7, [sp, #20] │ │ │ │ │ + str.w lr, [sp, #20] │ │ │ │ │ + ldr r3, [sp, #8] │ │ │ │ │ + cmp r3, #0 │ │ │ │ │ + ble.n 266 │ │ │ │ │ + cmp r4, #1 │ │ │ │ │ + bne.w 3f6 │ │ │ │ │ + ldr r1, [sp, #0] │ │ │ │ │ + ldr r3, [sp, #24] │ │ │ │ │ + mov.w r2, r3, lsl #3 │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ add.w ip, r1, r2 │ │ │ │ │ - add r1, r9 │ │ │ │ │ - add.w r0, r3, r9 │ │ │ │ │ + add r1, r7 │ │ │ │ │ + add.w r0, r3, r7 │ │ │ │ │ add r2, r3 │ │ │ │ │ cmp r1, r2 │ │ │ │ │ it hi │ │ │ │ │ cmphi r0, ip │ │ │ │ │ - bhi.w 426 │ │ │ │ │ - mov r2, r8 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - mov r0, r7 │ │ │ │ │ + bhi.w 454 │ │ │ │ │ + ldr r0, [sp, #16] │ │ │ │ │ + mov r2, r5 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memset │ │ │ │ │ - ldr r0, [sp, #8] │ │ │ │ │ - mov r2, r8 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + ldr r0, [sp, #12] │ │ │ │ │ + mov r2, r5 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memset │ │ │ │ │ - ldr r2, [sp, #0] │ │ │ │ │ - ldr r1, [sp, #36] @ 0x24 │ │ │ │ │ - ldr r3, [sp, #16] │ │ │ │ │ - add r2, r1 │ │ │ │ │ - ldr r1, [sp, #8] │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - ldr r2, [sp, #44] @ 0x2c │ │ │ │ │ - str r3, [sp, #16] │ │ │ │ │ - add r1, r2 │ │ │ │ │ - add r7, r2 │ │ │ │ │ - add r9, r2 │ │ │ │ │ - ldr r2, [sp, #28] │ │ │ │ │ - str r1, [sp, #8] │ │ │ │ │ - cmp r2, r3 │ │ │ │ │ - bne.n 1f6 │ │ │ │ │ - mov lr, fp │ │ │ │ │ - ldr r0, [sp, #24] │ │ │ │ │ - ldr.w r9, [sp, #48] @ 0x30 │ │ │ │ │ - mov r1, sl │ │ │ │ │ - ldr r7, [sp, #12] │ │ │ │ │ - ldr r2, [sp, #56] @ 0x38 │ │ │ │ │ - ldr r5, [sp, #64] @ 0x40 │ │ │ │ │ - ldr.w fp, [sp, #52] @ 0x34 │ │ │ │ │ - ldr r3, [sp, #32] │ │ │ │ │ - adds r0, #1 │ │ │ │ │ - add r7, r9 │ │ │ │ │ - add fp, r5 │ │ │ │ │ - add r3, r5 │ │ │ │ │ - str r3, [sp, #32] │ │ │ │ │ + ldr r3, [sp, #24] │ │ │ │ │ + add.w fp, fp, #1 │ │ │ │ │ + ldr r2, [sp, #36] @ 0x24 │ │ │ │ │ + add r3, r2 │ │ │ │ │ + ldr r2, [sp, #12] │ │ │ │ │ + str r3, [sp, #24] │ │ │ │ │ ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ - add r2, r5 │ │ │ │ │ - cmp r3, r0 │ │ │ │ │ - bne.w 6a │ │ │ │ │ - b.n 172 │ │ │ │ │ + add r2, r3 │ │ │ │ │ + add r7, r3 │ │ │ │ │ + str r2, [sp, #12] │ │ │ │ │ + ldr r2, [sp, #16] │ │ │ │ │ + add r2, r3 │ │ │ │ │ + ldr r3, [sp, #32] │ │ │ │ │ + str r2, [sp, #16] │ │ │ │ │ + cmp r3, fp │ │ │ │ │ + bne.n 222 │ │ │ │ │ + ldr r1, [sp, #20] │ │ │ │ │ + mov ip, r9 │ │ │ │ │ + ldr r4, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r7, [sp, #56] @ 0x38 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + add r7, r8 │ │ │ │ │ + cmp sl, r4 │ │ │ │ │ + bne.w 6c │ │ │ │ │ + b.n 18c │ │ │ │ │ ldr r3, [sp, #0] │ │ │ │ │ - movs r2, #0 │ │ │ │ │ - str r2, [sp, #56] @ 0x38 │ │ │ │ │ - mov.w r2, r9, lsl #3 │ │ │ │ │ - mov r0, r7 │ │ │ │ │ - strd r7, r5, [sp, #48] @ 0x30 │ │ │ │ │ - lsls r4, r3, #3 │ │ │ │ │ - ldr r3, [sp, #60] @ 0x3c │ │ │ │ │ - strd sl, r5, [sp, #92] @ 0x5c │ │ │ │ │ - mov sl, r2 │ │ │ │ │ + mov.w r4, r7, lsl #3 │ │ │ │ │ + cmp.w r9, #0 │ │ │ │ │ + mov.w sl, r9, lsl #3 │ │ │ │ │ + mov r0, ip │ │ │ │ │ + str r2, [sp, #16] │ │ │ │ │ + strd ip, r5, [sp, #76] @ 0x4c │ │ │ │ │ + mov r5, sl │ │ │ │ │ + mov sl, ip │ │ │ │ │ + strd r7, r2, [sp, #84] @ 0x54 │ │ │ │ │ + mov r7, r2 │ │ │ │ │ + strd ip, lr, [sp, #92] @ 0x5c │ │ │ │ │ add.w fp, r3, r4 │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ - str r7, [sp, #104] @ 0x68 │ │ │ │ │ - mov r7, r1 │ │ │ │ │ + str r1, [sp, #100] @ 0x64 │ │ │ │ │ add r4, r3 │ │ │ │ │ - str.w lr, [sp, #108] @ 0x6c │ │ │ │ │ - cmp.w r9, #0 │ │ │ │ │ - ble.n 2d8 │ │ │ │ │ - cmp r7, #1 │ │ │ │ │ - bne.n 38e │ │ │ │ │ - add.w r1, r4, sl │ │ │ │ │ - add.w ip, fp, sl │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + str r3, [sp, #48] @ 0x30 │ │ │ │ │ + ble.n 302 │ │ │ │ │ + ldr r3, [sp, #12] │ │ │ │ │ + cmp r3, #1 │ │ │ │ │ + bne.n 3c6 │ │ │ │ │ + add.w r1, r4, r5 │ │ │ │ │ + add.w ip, fp, r5 │ │ │ │ │ cmp ip, r4 │ │ │ │ │ it hi │ │ │ │ │ cmphi r1, fp │ │ │ │ │ - bhi.w 40c │ │ │ │ │ - mov r2, sl │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + bhi.w 43a │ │ │ │ │ + mov r2, r5 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memset │ │ │ │ │ - mov r2, sl │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - mov r0, r5 │ │ │ │ │ + mov r2, r5 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ + mov r0, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memset │ │ │ │ │ - ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r2, [sp, #8] │ │ │ │ │ + add sl, r6 │ │ │ │ │ add fp, r6 │ │ │ │ │ - ldr r5, [sp, #52] @ 0x34 │ │ │ │ │ add r4, r6 │ │ │ │ │ - ldr r0, [sp, #48] @ 0x30 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - ldr r2, [sp, #8] │ │ │ │ │ - add r5, r6 │ │ │ │ │ - add r0, r6 │ │ │ │ │ - str r3, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r7, [sp, #16] │ │ │ │ │ + ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ + add r7, r6 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + str r7, [sp, #16] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - str r5, [sp, #52] @ 0x34 │ │ │ │ │ - str r0, [sp, #48] @ 0x30 │ │ │ │ │ - bne.n 2aa │ │ │ │ │ - ldrd sl, r5, [sp, #92] @ 0x5c │ │ │ │ │ - ldrd r7, lr, [sp, #104] @ 0x68 │ │ │ │ │ - b.n 130 │ │ │ │ │ - ldr r3, [sp, #0] │ │ │ │ │ - add.w sl, sl, #1 │ │ │ │ │ - ldr r2, [sp, #36] @ 0x24 │ │ │ │ │ - add r3, r2 │ │ │ │ │ - ldr r2, [sp, #12] │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ - ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ - add r2, r3 │ │ │ │ │ - add r5, r3 │ │ │ │ │ - add r7, r3 │ │ │ │ │ - ldr r3, [sp, #28] │ │ │ │ │ - str r2, [sp, #12] │ │ │ │ │ - cmp r3, sl │ │ │ │ │ - bne.w ba │ │ │ │ │ - ldrd r0, r9, [sp, #64] @ 0x40 │ │ │ │ │ - ldrd r7, fp, [sp, #72] @ 0x48 │ │ │ │ │ - ldrd r2, r5, [sp, #80] @ 0x50 │ │ │ │ │ - ldr r1, [sp, #24] │ │ │ │ │ - b.n 268 │ │ │ │ │ - mov r4, r5 │ │ │ │ │ - ldr.w r9, [sp, #28] │ │ │ │ │ - mov r5, fp │ │ │ │ │ - ldr.w r8, [sp, #32] │ │ │ │ │ - ldr.w fp, [sp, #44] @ 0x2c │ │ │ │ │ - mov r6, r2 │ │ │ │ │ - ldr r7, [sp, #100] @ 0x64 │ │ │ │ │ - ldr.w sl, [sp, #60] @ 0x3c │ │ │ │ │ - str r0, [sp, #0] │ │ │ │ │ + str r3, [sp, #48] @ 0x30 │ │ │ │ │ + beq.n 3e8 │ │ │ │ │ cmp.w r9, #0 │ │ │ │ │ - ble.n 37a │ │ │ │ │ + mov r0, sl │ │ │ │ │ + bgt.n 2d4 │ │ │ │ │ + b.n 302 │ │ │ │ │ + ldr r0, [sp, #20] │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ + ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ + add r7, r3 │ │ │ │ │ + ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ + add r0, r3 │ │ │ │ │ + add r2, r3 │ │ │ │ │ + add ip, r3 │ │ │ │ │ + ldr r3, [sp, #32] │ │ │ │ │ + str r0, [sp, #20] │ │ │ │ │ + cmp r3, r5 │ │ │ │ │ + bne.w c0 │ │ │ │ │ + ldrd r4, sl, [sp, #56] @ 0x38 │ │ │ │ │ + mov ip, r1 │ │ │ │ │ + mov r1, lr │ │ │ │ │ + ldrd r8, r7, [sp, #64] @ 0x40 │ │ │ │ │ + b.n 290 │ │ │ │ │ + ldrd r9, sl, [sp] │ │ │ │ │ + mov fp, r4 │ │ │ │ │ + mov r0, r3 │ │ │ │ │ + ldr r5, [sp, #32] │ │ │ │ │ + ldr r6, [sp, #12] │ │ │ │ │ + cmp r5, #0 │ │ │ │ │ + mov.w r4, r5, lsl #3 │ │ │ │ │ + ble.n 3b6 │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - bne.n 3ca │ │ │ │ │ - ldr r3, [sp, #4] │ │ │ │ │ - add.w r1, sl, r8 │ │ │ │ │ - add.w r2, r3, r8 │ │ │ │ │ - cmp r5, r2 │ │ │ │ │ + bne.n 418 │ │ │ │ │ + add.w r3, r7, r5 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + add.w r2, sl, r3 │ │ │ │ │ + add r3, r9 │ │ │ │ │ + cmp r6, r2 │ │ │ │ │ it cc │ │ │ │ │ - cmpcc r6, r1 │ │ │ │ │ - bcc.n 462 │ │ │ │ │ - mov r2, r7 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - mov r0, r6 │ │ │ │ │ + cmpcc r0, r3 │ │ │ │ │ + bcc.w 49e │ │ │ │ │ + mov r2, r4 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memset │ │ │ │ │ - mov r2, r7 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - mov r0, r5 │ │ │ │ │ + mov r2, r4 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ + mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memset │ │ │ │ │ - ldr r3, [sp, #0] │ │ │ │ │ - add r5, r4 │ │ │ │ │ - ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ - add r6, r4 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - add r8, r4 │ │ │ │ │ - cmp r2, r3 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ - bne.n 348 │ │ │ │ │ - b.n 172 │ │ │ │ │ - ldrd r0, r5, [sp, #48] @ 0x30 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - vldr d7, [pc, #248] @ 490 │ │ │ │ │ - adds r1, #1 │ │ │ │ │ + ldr r3, [sp, #52] @ 0x34 │ │ │ │ │ + add.w fp, fp, #1 │ │ │ │ │ + add r7, r3 │ │ │ │ │ + ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ + cmp fp, r3 │ │ │ │ │ + beq.w 18c │ │ │ │ │ + mov.w r0, r7, lsl #3 │ │ │ │ │ + cmp r5, #0 │ │ │ │ │ + add.w r6, r9, r0 │ │ │ │ │ + add r0, sl │ │ │ │ │ + bgt.n 364 │ │ │ │ │ + ldr r3, [sp, #52] @ 0x34 │ │ │ │ │ + add.w fp, fp, #1 │ │ │ │ │ + add r7, r3 │ │ │ │ │ + ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ + cmp r3, fp │ │ │ │ │ + bne.n 3a8 │ │ │ │ │ + b.n 18c │ │ │ │ │ + vldr d7, [pc, #264] @ 4d0 │ │ │ │ │ + mov r1, sl │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + ldr r0, [sp, #16] │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ + add r1, r8 │ │ │ │ │ + cmp r3, r9 │ │ │ │ │ vstr d7, [r0] │ │ │ │ │ - cmp r1, r9 │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ add r0, r8 │ │ │ │ │ - add r5, r8 │ │ │ │ │ - bne.n 398 │ │ │ │ │ - b.n 2d8 │ │ │ │ │ - ldr r0, [sp, #8] │ │ │ │ │ - mov r1, r7 │ │ │ │ │ - movs r2, #0 │ │ │ │ │ - vldr d7, [pc, #220] @ 490 │ │ │ │ │ - adds r2, #1 │ │ │ │ │ + bne.n 3d2 │ │ │ │ │ + b.n 302 │ │ │ │ │ + ldrd r5, r7, [sp, #80] @ 0x50 │ │ │ │ │ + ldrd r2, ip, [sp, #88] @ 0x58 │ │ │ │ │ + ldrd lr, r1, [sp, #96] @ 0x60 │ │ │ │ │ + b.n 13c │ │ │ │ │ + vldr d7, [pc, #216] @ 4d0 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ + ldrd r0, r1, [sp, #12] │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ - cmp r2, r4 │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ add r1, r6 │ │ │ │ │ + cmp r2, r3 │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ add r0, r6 │ │ │ │ │ - bne.n 3b6 │ │ │ │ │ - b.n 234 │ │ │ │ │ - mov r0, r5 │ │ │ │ │ - mov r1, r6 │ │ │ │ │ - movs r2, #0 │ │ │ │ │ - vldr d7, [pc, #188] @ 490 │ │ │ │ │ - adds r2, #1 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ - cmp r2, r9 │ │ │ │ │ + bne.n 402 │ │ │ │ │ + b.n 266 │ │ │ │ │ + vldr d7, [pc, #180] @ 4d0 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + ldr.w r8, [sp, #40] @ 0x28 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ vstr d7, [r0] │ │ │ │ │ - add r1, fp │ │ │ │ │ - add r0, fp │ │ │ │ │ - bne.n 3d4 │ │ │ │ │ - b.n 37a │ │ │ │ │ - ldr r2, [sp, #0] │ │ │ │ │ - ldr r1, [sp, #36] @ 0x24 │ │ │ │ │ - ldr r3, [sp, #16] │ │ │ │ │ - add r2, r1 │ │ │ │ │ - ldr r1, [sp, #8] │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - ldr r2, [sp, #44] @ 0x2c │ │ │ │ │ - str r3, [sp, #16] │ │ │ │ │ - add r1, r2 │ │ │ │ │ - add r7, r2 │ │ │ │ │ - add r9, r2 │ │ │ │ │ - ldr r2, [sp, #28] │ │ │ │ │ - str r1, [sp, #8] │ │ │ │ │ - cmp r3, r2 │ │ │ │ │ - bne.w 1f6 │ │ │ │ │ - b.n 254 │ │ │ │ │ - ldr r1, [sp, #48] @ 0x30 │ │ │ │ │ - ldr r0, [sp, #52] @ 0x34 │ │ │ │ │ - add.w r5, r1, sl │ │ │ │ │ - vldr d7, [pc, #120] @ 490 │ │ │ │ │ + add r0, r8 │ │ │ │ │ + cmp r3, r5 │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ + add r6, r8 │ │ │ │ │ + bne.n 424 │ │ │ │ │ + b.n 398 │ │ │ │ │ + vldr d7, [pc, #148] @ 4d0 │ │ │ │ │ + add.w r0, sl, r5 │ │ │ │ │ + mov r3, sl │ │ │ │ │ + ldr r1, [sp, #16] │ │ │ │ │ + vstmia r3!, {d7} │ │ │ │ │ + cmp r3, r0 │ │ │ │ │ vstmia r1!, {d7} │ │ │ │ │ - cmp r1, r5 │ │ │ │ │ - vstmia r0!, {d7} │ │ │ │ │ - bne.n 418 │ │ │ │ │ - b.n 2d8 │ │ │ │ │ - ldr.w ip, [sp, #8] │ │ │ │ │ - add.w lr, r7, r4, lsl #3 │ │ │ │ │ - mov r2, r7 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + bne.n 446 │ │ │ │ │ + b.n 302 │ │ │ │ │ + ldrd r3, ip, [sp, #8] │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ + ldr r2, [sp, #16] │ │ │ │ │ + add.w lr, r2, r3, lsl #3 │ │ │ │ │ strd r0, r1, [r2], #8 │ │ │ │ │ - strd r0, r1, [ip], #8 │ │ │ │ │ cmp r2, lr │ │ │ │ │ - bne.n 434 │ │ │ │ │ - b.n 234 │ │ │ │ │ - mov r6, r3 │ │ │ │ │ - lsls r0, r2, #3 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - mov r2, r7 │ │ │ │ │ - movs r4, #0 │ │ │ │ │ - movs r5, #0 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - strd r4, r5, [r1] │ │ │ │ │ + strd r0, r1, [ip], #8 │ │ │ │ │ + bne.n 466 │ │ │ │ │ + b.n 266 │ │ │ │ │ + ldr r6, [sp, #44] @ 0x2c │ │ │ │ │ + mov.w r1, r2, lsl #3 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ + mov.w r5, #0 │ │ │ │ │ + ldr r2, [sp, #0] │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + strd r4, r5, [r0] │ │ │ │ │ + add r0, r1 │ │ │ │ │ cmp r6, r3 │ │ │ │ │ strd r4, r5, [r2] │ │ │ │ │ - add r1, r0 │ │ │ │ │ - add r2, r0 │ │ │ │ │ - bne.n 44e │ │ │ │ │ - b.n 172 │ │ │ │ │ - mov r0, r5 │ │ │ │ │ - mov r1, r6 │ │ │ │ │ - vldr d7, [pc, #40] @ 490 │ │ │ │ │ - vstmia r1!, {d7} │ │ │ │ │ - cmp r1, r2 │ │ │ │ │ + add r2, r1 │ │ │ │ │ + bne.n 488 │ │ │ │ │ + b.n 18c │ │ │ │ │ + vldr d7, [pc, #48] @ 4d0 │ │ │ │ │ vstmia r0!, {d7} │ │ │ │ │ - bne.n 46a │ │ │ │ │ - b.n 37a │ │ │ │ │ + cmp r0, r2 │ │ │ │ │ + vstmia r6!, {d7} │ │ │ │ │ + bne.n 4a2 │ │ │ │ │ + b.n 398 │ │ │ │ │ mov r2, r1 │ │ │ │ │ - mov r4, r7 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + mov r4, r5 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ strd r0, r1, [r2], #8 │ │ │ │ │ - strd r0, r1, [r4], #8 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.n 480 │ │ │ │ │ - b.n 172 │ │ │ │ │ + strd r0, r1, [r4], #8 │ │ │ │ │ + bne.n 4bc │ │ │ │ │ + b.n 18c │ │ │ │ │ nop │ │ │ │ │ + nop.w │ │ │ │ │ ... │ │ │ │ │ │ │ │ │ │ -00000498 : │ │ │ │ │ +000004d8 : │ │ │ │ │ fftw_dft_zerotens(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov sl, r0 │ │ │ │ │ ldr r3, [r0, #0] │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #132 @ 0x84 │ │ │ │ │ + mov fp, r0 │ │ │ │ │ mov r0, r3 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ mvn.w r3, #2147483648 @ 0x80000000 │ │ │ │ │ cmp r0, r3 │ │ │ │ │ - strd r2, r1, [sp, #20] │ │ │ │ │ - beq.w 620 │ │ │ │ │ - mov r4, r2 │ │ │ │ │ + str r1, [sp, #16] │ │ │ │ │ + str r2, [sp, #32] │ │ │ │ │ + beq.w 6a8 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 626 │ │ │ │ │ - ble.w 620 │ │ │ │ │ - ldr.w r2, [sl, #8] │ │ │ │ │ - str r2, [sp, #68] @ 0x44 │ │ │ │ │ + mov r4, r2 │ │ │ │ │ + beq.w 6c0 │ │ │ │ │ + ble.w 6a8 │ │ │ │ │ + ldrd r3, r2, [fp, #4] │ │ │ │ │ + strd r2, r3, [sp, #68] @ 0x44 │ │ │ │ │ ldr r2, [sp, #4] │ │ │ │ │ - ldr.w r3, [sl, #4] │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - str r3, [sp, #72] @ 0x48 │ │ │ │ │ - beq.w 638 │ │ │ │ │ + beq.w 6d2 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.w 620 │ │ │ │ │ + ble.w 6a8 │ │ │ │ │ ldr r3, [sp, #68] @ 0x44 │ │ │ │ │ mov r5, r4 │ │ │ │ │ - movs r6, #0 │ │ │ │ │ - ldr r4, [sp, #24] │ │ │ │ │ - mov fp, r6 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ - str r3, [sp, #88] @ 0x58 │ │ │ │ │ - add.w r3, sl, #64 @ 0x40 │ │ │ │ │ - str r3, [sp, #28] │ │ │ │ │ - ldr r2, [sp, #4] │ │ │ │ │ - ldrd r3, r0, [sl, #16] │ │ │ │ │ - cmp r2, #2 │ │ │ │ │ - beq.w 746 │ │ │ │ │ - cmp r3, #0 │ │ │ │ │ - ble.w 60a │ │ │ │ │ - str.w fp, [sp, #112] @ 0x70 │ │ │ │ │ - mov r9, r6 │ │ │ │ │ - str r3, [sp, #64] @ 0x40 │ │ │ │ │ - mov.w r8, #0 │ │ │ │ │ - mov r3, r0 │ │ │ │ │ - mov fp, r4 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ + mov sl, r4 │ │ │ │ │ + mov r7, r4 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + str r3, [sp, #96] @ 0x60 │ │ │ │ │ + add.w r3, fp, #64 @ 0x40 │ │ │ │ │ + str r3, [sp, #36] @ 0x24 │ │ │ │ │ + ldr r3, [sp, #4] │ │ │ │ │ + ldrd r0, ip, [fp, #16] │ │ │ │ │ + cmp r3, #2 │ │ │ │ │ + beq.w 814 │ │ │ │ │ + cmp r0, #0 │ │ │ │ │ + ble.w 692 │ │ │ │ │ + sub.w r3, r5, sl │ │ │ │ │ + mov r8, r4 │ │ │ │ │ + mov.w r9, #0 │ │ │ │ │ + strd r3, ip, [sp, #60] @ 0x3c │ │ │ │ │ + strd r7, sl, [sp, #112] @ 0x70 │ │ │ │ │ + mov sl, r0 │ │ │ │ │ + strd r4, r5, [sp, #120] @ 0x78 │ │ │ │ │ + mov.w r2, r8, lsl #3 │ │ │ │ │ + ldr r3, [sp, #16] │ │ │ │ │ + ldr r1, [sp, #60] @ 0x3c │ │ │ │ │ + ldr.w ip, [fp, #28] │ │ │ │ │ + add r3, r2 │ │ │ │ │ + str r1, [sp, #12] │ │ │ │ │ + add r1, r2 │ │ │ │ │ + str r1, [sp, #8] │ │ │ │ │ + ldr.w r1, [fp, #32] │ │ │ │ │ + str r1, [sp, #24] │ │ │ │ │ + ldr r1, [sp, #4] │ │ │ │ │ + cmp r1, #3 │ │ │ │ │ + beq.w 7c8 │ │ │ │ │ + cmp.w ip, #0 │ │ │ │ │ + ble.n 67c │ │ │ │ │ + ldr r2, [sp, #24] │ │ │ │ │ + mov.w r5, #0 │ │ │ │ │ + mov r6, r8 │ │ │ │ │ mov r7, r5 │ │ │ │ │ - lsls r2, r0, #3 │ │ │ │ │ - strd r6, r4, [sp, #116] @ 0x74 │ │ │ │ │ - str r2, [sp, #60] @ 0x3c │ │ │ │ │ - str r5, [sp, #124] @ 0x7c │ │ │ │ │ - ldrd r1, r2, [sl, #28] │ │ │ │ │ - str r2, [sp, #12] │ │ │ │ │ + str.w ip, [sp, #52] @ 0x34 │ │ │ │ │ + str.w r8, [sp, #108] @ 0x6c │ │ │ │ │ + mov r8, r3 │ │ │ │ │ + strd r9, sl, [sp, #100] @ 0x64 │ │ │ │ │ + mov.w r4, r2, lsl #3 │ │ │ │ │ + ldr r2, [sp, #16] │ │ │ │ │ + str r2, [sp, #20] │ │ │ │ │ ldr r2, [sp, #4] │ │ │ │ │ - cmp r2, #3 │ │ │ │ │ - beq.w 6fc │ │ │ │ │ - cmp r1, #0 │ │ │ │ │ - ble.n 5f0 │ │ │ │ │ - ldr r2, [sp, #12] │ │ │ │ │ - mov r5, r7 │ │ │ │ │ - mov r6, r9 │ │ │ │ │ - movs r4, #0 │ │ │ │ │ - str.w fp, [sp, #8] │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ - str r2, [sp, #44] @ 0x2c │ │ │ │ │ + sub.w r2, r2, #5 │ │ │ │ │ + str r2, [sp, #28] │ │ │ │ │ ldr r2, [sp, #4] │ │ │ │ │ - strd r8, r3, [sp, #92] @ 0x5c │ │ │ │ │ - subs r2, #5 │ │ │ │ │ - str r1, [sp, #48] @ 0x30 │ │ │ │ │ - str r2, [sp, #16] │ │ │ │ │ - strd r9, fp, [sp, #100] @ 0x64 │ │ │ │ │ - str r7, [sp, #108] @ 0x6c │ │ │ │ │ - ldr r3, [sp, #4] │ │ │ │ │ - ldrd r0, ip, [sl, #40] @ 0x28 │ │ │ │ │ - cmp r3, #4 │ │ │ │ │ - beq.w 6ba │ │ │ │ │ + ldrd r0, r3, [fp, #40] @ 0x28 │ │ │ │ │ + cmp r2, #4 │ │ │ │ │ + beq.w 778 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - ble.n 5d0 │ │ │ │ │ - ldr.w r9, [sp, #8] │ │ │ │ │ - mov.w r3, ip, lsl #3 │ │ │ │ │ - mov fp, r6 │ │ │ │ │ - str r3, [sp, #40] @ 0x28 │ │ │ │ │ - mov r8, r5 │ │ │ │ │ - movs r7, #0 │ │ │ │ │ - mov r3, sl │ │ │ │ │ - str r4, [sp, #76] @ 0x4c │ │ │ │ │ - strd r0, ip, [sp, #32] │ │ │ │ │ - strd r6, r5, [sp, #80] @ 0x50 │ │ │ │ │ + ble.n 650 │ │ │ │ │ + ldr r2, [sp, #20] │ │ │ │ │ + mov r9, r6 │ │ │ │ │ + mov.w sl, #0 │ │ │ │ │ + str r0, [sp, #48] @ 0x30 │ │ │ │ │ + strd r7, r4, [sp, #76] @ 0x4c │ │ │ │ │ + strd r5, r6, [sp, #84] @ 0x54 │ │ │ │ │ + str.w r8, [sp, #92] @ 0x5c │ │ │ │ │ + sub.w r2, r2, r5 │ │ │ │ │ + str r2, [sp, #40] @ 0x28 │ │ │ │ │ + ldr r2, [sp, #12] │ │ │ │ │ + sub.w r2, r2, r5 │ │ │ │ │ + str r2, [sp, #44] @ 0x2c │ │ │ │ │ + ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ + mov.w r1, r9, lsl #3 │ │ │ │ │ + ldrd r8, r6, [fp, #52] @ 0x34 │ │ │ │ │ + add.w r5, r2, r1 │ │ │ │ │ + ldr r2, [sp, #44] @ 0x2c │ │ │ │ │ + add.w r4, r2, r1 │ │ │ │ │ ldr r2, [sp, #4] │ │ │ │ │ - ldrd r1, r4, [r3, #52] @ 0x34 │ │ │ │ │ cmp r2, #5 │ │ │ │ │ - beq.n 672 │ │ │ │ │ - cmp r1, #0 │ │ │ │ │ - ble.n 5b6 │ │ │ │ │ - str r7, [sp, #52] @ 0x34 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ - movs r5, #0 │ │ │ │ │ - mov r7, r9 │ │ │ │ │ - mov r6, r1 │ │ │ │ │ - mov sl, r3 │ │ │ │ │ - str.w r8, [sp, #56] @ 0x38 │ │ │ │ │ - mov r3, r8 │ │ │ │ │ - mov r2, r7 │ │ │ │ │ - ldr r1, [sp, #16] │ │ │ │ │ - adds r5, #1 │ │ │ │ │ - ldr r0, [sp, #28] │ │ │ │ │ - add r7, r4 │ │ │ │ │ + beq.w 728 │ │ │ │ │ + cmp.w r8, #0 │ │ │ │ │ + ble.n 638 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + str r3, [sp, #56] @ 0x38 │ │ │ │ │ + mov r3, r4 │ │ │ │ │ + mov.w r7, #0 │ │ │ │ │ + mov r4, r5 │ │ │ │ │ + mov r5, r3 │ │ │ │ │ + ldr r1, [sp, #28] │ │ │ │ │ + mov r3, r5 │ │ │ │ │ + mov r2, r4 │ │ │ │ │ + add.w r7, r7, #1 │ │ │ │ │ + add r4, r6 │ │ │ │ │ + ldr r0, [sp, #36] @ 0x24 │ │ │ │ │ + add r5, r6 │ │ │ │ │ bl 0 │ │ │ │ │ + cmp r8, r7 │ │ │ │ │ + bne.n 61e │ │ │ │ │ + ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ + add.w sl, sl, #1 │ │ │ │ │ + add r9, r3 │ │ │ │ │ + ldr r2, [sp, #48] @ 0x30 │ │ │ │ │ + cmp r2, sl │ │ │ │ │ + bne.n 5ec │ │ │ │ │ + ldrd r7, r4, [sp, #76] @ 0x4c │ │ │ │ │ + ldrd r5, r6, [sp, #84] @ 0x54 │ │ │ │ │ + ldr.w r8, [sp, #92] @ 0x5c │ │ │ │ │ + add.w r7, r7, #1 │ │ │ │ │ + add r5, r4 │ │ │ │ │ + ldr r3, [sp, #20] │ │ │ │ │ add r8, r4 │ │ │ │ │ - cmp r6, r5 │ │ │ │ │ - bne.n 59a │ │ │ │ │ - ldrd r7, r8, [sp, #52] @ 0x34 │ │ │ │ │ - mov r3, sl │ │ │ │ │ - ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ - adds r7, #1 │ │ │ │ │ - add r9, r2 │ │ │ │ │ - add r8, r2 │ │ │ │ │ - ldr r2, [sp, #36] @ 0x24 │ │ │ │ │ - add fp, r2 │ │ │ │ │ - ldr r2, [sp, #32] │ │ │ │ │ - cmp r2, r7 │ │ │ │ │ - bne.n 57c │ │ │ │ │ - ldrd r4, r6, [sp, #76] @ 0x4c │ │ │ │ │ - mov sl, r3 │ │ │ │ │ - ldr r5, [sp, #84] @ 0x54 │ │ │ │ │ + add r3, r4 │ │ │ │ │ + str r3, [sp, #20] │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - ldr r2, [sp, #44] @ 0x2c │ │ │ │ │ + add r3, r4 │ │ │ │ │ + str r3, [sp, #12] │ │ │ │ │ + ldr r3, [sp, #24] │ │ │ │ │ add r6, r3 │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ - add r5, r2 │ │ │ │ │ - add r3, r2 │ │ │ │ │ + add r3, r4 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ - ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ - cmp r3, r4 │ │ │ │ │ - bne.n 550 │ │ │ │ │ - ldrd r8, r3, [sp, #92] @ 0x5c │ │ │ │ │ - ldrd r9, fp, [sp, #100] @ 0x64 │ │ │ │ │ - ldr r7, [sp, #108] @ 0x6c │ │ │ │ │ - ldr r2, [sp, #60] @ 0x3c │ │ │ │ │ - add.w r8, r8, #1 │ │ │ │ │ - add r9, r3 │ │ │ │ │ - add fp, r2 │ │ │ │ │ - add r7, r2 │ │ │ │ │ - ldr r2, [sp, #64] @ 0x40 │ │ │ │ │ - cmp r2, r8 │ │ │ │ │ - bne.n 51c │ │ │ │ │ - ldrd fp, r6, [sp, #112] @ 0x70 │ │ │ │ │ + ldr r3, [sp, #52] @ 0x34 │ │ │ │ │ + cmp r3, r7 │ │ │ │ │ + bne.n 5b8 │ │ │ │ │ + ldrd r9, sl, [sp, #100] @ 0x64 │ │ │ │ │ + ldr.w r8, [sp, #108] @ 0x6c │ │ │ │ │ + add.w r9, r9, #1 │ │ │ │ │ + ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ + cmp sl, r9 │ │ │ │ │ + add r8, r3 │ │ │ │ │ + bne.w 568 │ │ │ │ │ + ldrd r7, sl, [sp, #112] @ 0x70 │ │ │ │ │ ldrd r4, r5, [sp, #120] @ 0x78 │ │ │ │ │ - add.w fp, fp, #1 │ │ │ │ │ - ldr r3, [sp, #68] @ 0x44 │ │ │ │ │ - add r6, r3 │ │ │ │ │ - ldr r3, [sp, #88] @ 0x58 │ │ │ │ │ - add r4, r3 │ │ │ │ │ + add.w r7, r7, #1 │ │ │ │ │ + ldr r2, [sp, #68] @ 0x44 │ │ │ │ │ + ldr r3, [sp, #96] @ 0x60 │ │ │ │ │ + add r4, r2 │ │ │ │ │ + add sl, r3 │ │ │ │ │ add r5, r3 │ │ │ │ │ ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ - cmp r3, fp │ │ │ │ │ - bne.w 4ee │ │ │ │ │ + cmp r3, r7 │ │ │ │ │ + bne.w 53e │ │ │ │ │ add sp, #132 @ 0x84 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - movs r2, #0 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ strd r2, r3, [r4] │ │ │ │ │ strd r2, r3, [r1] │ │ │ │ │ - add sp, #132 @ 0x84 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + b.n 6a8 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.n 620 │ │ │ │ │ + ble.n 6a8 │ │ │ │ │ ldr r3, [sp, #68] @ 0x44 │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - bne.w 85a │ │ │ │ │ + bne.w 946 │ │ │ │ │ ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ mov r0, r4 │ │ │ │ │ mov r5, r1 │ │ │ │ │ - lsls r4, r3, #3 │ │ │ │ │ - adds r3, r0, r4 │ │ │ │ │ - adds r2, r1, r4 │ │ │ │ │ + mov.w r4, r3, lsl #3 │ │ │ │ │ + add.w r3, r0, r4 │ │ │ │ │ + add.w r2, r1, r4 │ │ │ │ │ cmp r0, r2 │ │ │ │ │ it cc │ │ │ │ │ cmpcc r1, r3 │ │ │ │ │ - bcc.w 896 │ │ │ │ │ + bcc.w 98e │ │ │ │ │ mov r2, r4 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memset │ │ │ │ │ mov r2, r4 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ add sp, #132 @ 0x84 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 memset │ │ │ │ │ - cmp r1, #0 │ │ │ │ │ - ble.n 5b6 │ │ │ │ │ - cmp r4, #1 │ │ │ │ │ - bne.w 77e │ │ │ │ │ - add.w r0, r1, fp │ │ │ │ │ - ldr r6, [sp, #20] │ │ │ │ │ - ldr r4, [sp, #24] │ │ │ │ │ - mov.w r2, fp, lsl #3 │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ - adds r5, r6, r0 │ │ │ │ │ - add.w ip, r4, r2 │ │ │ │ │ - add r0, r4 │ │ │ │ │ - add r2, r6 │ │ │ │ │ - cmp r0, r2 │ │ │ │ │ + cmp.w r8, #0 │ │ │ │ │ + ble.n 638 │ │ │ │ │ + cmp r6, #1 │ │ │ │ │ + bne.w 85e │ │ │ │ │ + ldr r6, [sp, #16] │ │ │ │ │ + add.w r0, r8, r9 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ + ldr r2, [sp, #32] │ │ │ │ │ + add.w ip, r6, r1 │ │ │ │ │ + add.w r7, r2, r0 │ │ │ │ │ + add r1, r2 │ │ │ │ │ + add r0, r6 │ │ │ │ │ + cmp r0, r1 │ │ │ │ │ it hi │ │ │ │ │ - cmphi r5, ip │ │ │ │ │ - bhi.w 7e4 │ │ │ │ │ - lsls r4, r1, #3 │ │ │ │ │ - mov r0, r8 │ │ │ │ │ - mov r2, r4 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - str r3, [sp, #52] @ 0x34 │ │ │ │ │ + cmphi r7, ip │ │ │ │ │ + bhi.w 8ce │ │ │ │ │ + mov.w r8, r8, lsl #3 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ + mov r0, r4 │ │ │ │ │ + str r3, [sp, #56] @ 0x38 │ │ │ │ │ + mov r2, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memset │ │ │ │ │ - mov r2, r4 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - mov r0, r9 │ │ │ │ │ + mov r2, r8 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ + mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memset │ │ │ │ │ - ldr r3, [sp, #52] @ 0x34 │ │ │ │ │ - b.n 5b6 │ │ │ │ │ + ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ + b.n 638 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - ble.n 5d0 │ │ │ │ │ - cmp.w ip, #1 │ │ │ │ │ - bne.n 79e │ │ │ │ │ - adds r2, r0, r6 │ │ │ │ │ - ldr r1, [sp, #20] │ │ │ │ │ - lsls r3, r6, #3 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ - adds r7, r1, r2 │ │ │ │ │ - ldr r1, [sp, #24] │ │ │ │ │ - add.w ip, r1, r3 │ │ │ │ │ + ble.w 650 │ │ │ │ │ + cmp r3, #1 │ │ │ │ │ + bne.n 880 │ │ │ │ │ + ldr r1, [sp, #32] │ │ │ │ │ + add.w r2, r0, r6 │ │ │ │ │ + mov.w r3, r6, lsl #3 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + add.w ip, r1, r2 │ │ │ │ │ + ldr r1, [sp, #16] │ │ │ │ │ + add.w lr, r1, r3 │ │ │ │ │ add r2, r1 │ │ │ │ │ - ldr r1, [sp, #20] │ │ │ │ │ + ldr r1, [sp, #32] │ │ │ │ │ add r3, r1 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ it hi │ │ │ │ │ - cmphi r7, ip │ │ │ │ │ - bhi.w 822 │ │ │ │ │ - lsls r7, r0, #3 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - mov r2, r7 │ │ │ │ │ - mov r0, r5 │ │ │ │ │ + cmphi ip, lr │ │ │ │ │ + bhi.w 910 │ │ │ │ │ + mov.w r9, r0, lsl #3 │ │ │ │ │ + ldr r0, [sp, #8] │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ + mov r2, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memset │ │ │ │ │ - ldr r0, [sp, #8] │ │ │ │ │ - mov r2, r7 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + mov r2, r9 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ + mov r0, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memset │ │ │ │ │ - b.n 5d0 │ │ │ │ │ - cmp r1, #0 │ │ │ │ │ - ble.w 5f0 │ │ │ │ │ - ldr r2, [sp, #12] │ │ │ │ │ - cmp r2, #1 │ │ │ │ │ - bne.n 7c4 │ │ │ │ │ - add.w r0, r1, r9 │ │ │ │ │ - ldr r6, [sp, #20] │ │ │ │ │ - ldr r4, [sp, #24] │ │ │ │ │ - mov.w r2, r9, lsl #3 │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ - adds r5, r6, r0 │ │ │ │ │ - add.w ip, r4, r2 │ │ │ │ │ - add r0, r4 │ │ │ │ │ - add r2, r6 │ │ │ │ │ - cmp r0, r2 │ │ │ │ │ + b.n 650 │ │ │ │ │ + cmp.w ip, #0 │ │ │ │ │ + ble.w 67c │ │ │ │ │ + ldr r1, [sp, #24] │ │ │ │ │ + cmp r1, #1 │ │ │ │ │ + bne.n 8a6 │ │ │ │ │ + ldr r0, [sp, #16] │ │ │ │ │ + add.w r1, ip, r8 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + ldr r4, [sp, #32] │ │ │ │ │ + add r0, r1 │ │ │ │ │ + add r2, r4 │ │ │ │ │ + add r1, r4 │ │ │ │ │ + cmp r1, r3 │ │ │ │ │ it hi │ │ │ │ │ - cmphi r5, ip │ │ │ │ │ - bhi.w 840 │ │ │ │ │ - lsls r4, r1, #3 │ │ │ │ │ - mov r0, r7 │ │ │ │ │ + cmphi r0, r2 │ │ │ │ │ + bhi.w 92a │ │ │ │ │ + mov.w r4, ip, lsl #3 │ │ │ │ │ + ldr r0, [sp, #8] │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ + str r3, [sp, #12] │ │ │ │ │ mov r2, r4 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memset │ │ │ │ │ + ldr r3, [sp, #12] │ │ │ │ │ mov r2, r4 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - mov r0, fp │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ + mov r0, r3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memset │ │ │ │ │ - ldr r3, [sp, #8] │ │ │ │ │ - b.n 5f0 │ │ │ │ │ - cmp r3, #0 │ │ │ │ │ - ble.w 60a │ │ │ │ │ - cmp r0, #1 │ │ │ │ │ - bne.n 7fe │ │ │ │ │ - adds r2, r3, r6 │ │ │ │ │ - ldr r1, [sp, #20] │ │ │ │ │ - ldr r0, [sp, #24] │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ - add r1, r2 │ │ │ │ │ - add r2, r0 │ │ │ │ │ - cmp r5, r2 │ │ │ │ │ + b.n 67c │ │ │ │ │ + cmp r0, #0 │ │ │ │ │ + ble.w 692 │ │ │ │ │ + ldr r3, [sp, #16] │ │ │ │ │ + cmp.w ip, #1 │ │ │ │ │ + add.w r6, sl, r3 │ │ │ │ │ + bne.n 8e8 │ │ │ │ │ + ldr r2, [sp, #32] │ │ │ │ │ + mov r1, r3 │ │ │ │ │ + add.w r3, r0, r4 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + add r2, r3 │ │ │ │ │ + add r3, r1 │ │ │ │ │ + cmp r5, r3 │ │ │ │ │ it cc │ │ │ │ │ - cmpcc r4, r1 │ │ │ │ │ - bcc.w 87c │ │ │ │ │ - lsls r7, r3, #3 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - mov r2, r7 │ │ │ │ │ + cmpcc r6, r2 │ │ │ │ │ + bcc.w 972 │ │ │ │ │ + mov.w r8, r0, lsl #3 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ + mov r2, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memset │ │ │ │ │ - mov r2, r7 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - mov r0, r4 │ │ │ │ │ + mov r2, r8 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ + mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memset │ │ │ │ │ - b.n 60a │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ - mov r5, r9 │ │ │ │ │ - mov r0, r8 │ │ │ │ │ - movs r2, #0 │ │ │ │ │ - vldr d7, [pc, #296] @ 8b0 │ │ │ │ │ - adds r2, #1 │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ - cmp r1, r2 │ │ │ │ │ + b.n 692 │ │ │ │ │ + vldr d7, [pc, #328] @ 9a8 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ + add.w r1, r1, #1 │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + add r4, r6 │ │ │ │ │ + cmp r8, r1 │ │ │ │ │ vstr d7, [r5] │ │ │ │ │ - add r0, r4 │ │ │ │ │ - add r5, r4 │ │ │ │ │ - bne.n 78a │ │ │ │ │ - b.n 5b6 │ │ │ │ │ + add r5, r6 │ │ │ │ │ + bne.n 86a │ │ │ │ │ + b.n 638 │ │ │ │ │ + vldr d7, [pc, #292] @ 9a8 │ │ │ │ │ + mov.w r2, r3, lsl #3 │ │ │ │ │ + mov ip, r8 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ ldr r1, [sp, #8] │ │ │ │ │ - mov.w ip, ip, lsl #3 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ + add r1, r2 │ │ │ │ │ + cmp r0, r3 │ │ │ │ │ + vstr d7, [ip] │ │ │ │ │ + add ip, r2 │ │ │ │ │ + bne.n 890 │ │ │ │ │ + b.n 650 │ │ │ │ │ + ldr r0, [sp, #8] │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ + mov.w r5, #0 │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ + strd r4, r5, [r0] │ │ │ │ │ + add r0, r1 │ │ │ │ │ + cmp ip, r2 │ │ │ │ │ + strd r4, r5, [r3] │ │ │ │ │ + add r3, r1 │ │ │ │ │ + bne.n 8b8 │ │ │ │ │ + b.n 67c │ │ │ │ │ + add.w r2, r4, r8, lsl #3 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ + strd r0, r1, [r4], #8 │ │ │ │ │ + cmp r4, r2 │ │ │ │ │ + strd r0, r1, [r5], #8 │ │ │ │ │ + bne.n 8da │ │ │ │ │ + b.n 638 │ │ │ │ │ + mov.w r1, ip, lsl #3 │ │ │ │ │ mov r2, r5 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ mov.w r8, #0 │ │ │ │ │ mov.w r9, #0 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ strd r8, r9, [r2] │ │ │ │ │ + add r2, r1 │ │ │ │ │ cmp r0, r3 │ │ │ │ │ - strd r8, r9, [r1] │ │ │ │ │ - add r2, ip │ │ │ │ │ - add r1, ip │ │ │ │ │ - bne.n 7b0 │ │ │ │ │ - b.n 5d0 │ │ │ │ │ - lsls r5, r2, #3 │ │ │ │ │ - mov r4, fp │ │ │ │ │ - mov r0, r7 │ │ │ │ │ - movs r2, #0 │ │ │ │ │ - vldr d7, [pc, #224] @ 8b0 │ │ │ │ │ - adds r2, #1 │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ - cmp r1, r2 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ - add r0, r5 │ │ │ │ │ - add r4, r5 │ │ │ │ │ - bne.n 7d0 │ │ │ │ │ - b.n 5f0 │ │ │ │ │ - add.w r5, r8, r1, lsl #3 │ │ │ │ │ - mov r4, r9 │ │ │ │ │ + strd r8, r9, [r6] │ │ │ │ │ + add r6, r1 │ │ │ │ │ + bne.n 8fa │ │ │ │ │ + b.n 692 │ │ │ │ │ + ldr r3, [sp, #8] │ │ │ │ │ mov r2, r8 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - strd r0, r1, [r2], #8 │ │ │ │ │ - strd r0, r1, [r4], #8 │ │ │ │ │ - cmp r2, r5 │ │ │ │ │ - bne.n 7f0 │ │ │ │ │ - b.n 5b6 │ │ │ │ │ - lsls r7, r0, #3 │ │ │ │ │ - mov r1, r5 │ │ │ │ │ - mov r0, r4 │ │ │ │ │ - movs r2, #0 │ │ │ │ │ - mov.w r8, #0 │ │ │ │ │ - mov.w r9, #0 │ │ │ │ │ - adds r2, #1 │ │ │ │ │ - strd r8, r9, [r1] │ │ │ │ │ - cmp r3, r2 │ │ │ │ │ - strd r8, r9, [r0] │ │ │ │ │ - add r1, r7 │ │ │ │ │ - add r0, r7 │ │ │ │ │ - bne.n 80e │ │ │ │ │ - b.n 60a │ │ │ │ │ - ldr r2, [sp, #8] │ │ │ │ │ - add.w r0, r5, r0, lsl #3 │ │ │ │ │ - mov r3, r5 │ │ │ │ │ - mov.w r8, #0 │ │ │ │ │ - mov.w r9, #0 │ │ │ │ │ - strd r8, r9, [r3], #8 │ │ │ │ │ - strd r8, r9, [r2], #8 │ │ │ │ │ + vldr d7, [pc, #144] @ 9a8 │ │ │ │ │ + add.w r0, r3, r0, lsl #3 │ │ │ │ │ + vstmia r3!, {d7} │ │ │ │ │ cmp r3, r0 │ │ │ │ │ - bne.n 832 │ │ │ │ │ - b.n 5d0 │ │ │ │ │ - add.w r5, r7, r1, lsl #3 │ │ │ │ │ - mov r4, fp │ │ │ │ │ - mov r2, r7 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - strd r0, r1, [r2], #8 │ │ │ │ │ + vstmia r2!, {d7} │ │ │ │ │ + bne.n 91c │ │ │ │ │ + b.n 650 │ │ │ │ │ + ldr r4, [sp, #8] │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ + add.w r2, r4, ip, lsl #3 │ │ │ │ │ strd r0, r1, [r4], #8 │ │ │ │ │ - cmp r2, r5 │ │ │ │ │ - bne.n 84c │ │ │ │ │ - b.n 5f0 │ │ │ │ │ - ldr r2, [sp, #24] │ │ │ │ │ + cmp r4, r2 │ │ │ │ │ + strd r0, r1, [r3], #8 │ │ │ │ │ + bne.n 938 │ │ │ │ │ + b.n 67c │ │ │ │ │ + ldr r2, [sp, #16] │ │ │ │ │ + mov.w r0, r3, lsl #3 │ │ │ │ │ mov r1, r4 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ ldr r6, [sp, #72] @ 0x48 │ │ │ │ │ - lsls r0, r3, #3 │ │ │ │ │ - movs r4, #0 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - movs r5, #0 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + mov.w r5, #0 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ strd r4, r5, [r1] │ │ │ │ │ + add r1, r0 │ │ │ │ │ cmp r6, r3 │ │ │ │ │ strd r4, r5, [r2] │ │ │ │ │ - add r1, r0 │ │ │ │ │ add r2, r0 │ │ │ │ │ - bne.n 868 │ │ │ │ │ - b.n 620 │ │ │ │ │ - add.w r7, r5, r3, lsl #3 │ │ │ │ │ - mov r2, r4 │ │ │ │ │ + bne.n 95c │ │ │ │ │ + b.n 6a8 │ │ │ │ │ + add.w r2, r5, r0, lsl #3 │ │ │ │ │ mov r3, r5 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ strd r0, r1, [r3], #8 │ │ │ │ │ - strd r0, r1, [r2], #8 │ │ │ │ │ - cmp r3, r7 │ │ │ │ │ - bne.n 888 │ │ │ │ │ - b.n 60a │ │ │ │ │ + cmp r3, r2 │ │ │ │ │ + strd r0, r1, [r6], #8 │ │ │ │ │ + bne.n 980 │ │ │ │ │ + b.n 692 │ │ │ │ │ mov r2, r0 │ │ │ │ │ mov r4, r5 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ strd r0, r1, [r2], #8 │ │ │ │ │ - strd r0, r1, [r4], #8 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.n 89e │ │ │ │ │ - b.n 620 │ │ │ │ │ - nop.w │ │ │ │ │ + strd r0, r1, [r4], #8 │ │ │ │ │ + bne.n 99a │ │ │ │ │ + b.n 6a8 │ │ │ │ │ ... │ │ │ ├── n.o │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,43 +1,43 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ okp(): │ │ │ │ │ - ldr r3, [r0, #44] @ 0x2c │ │ │ │ │ ldr r2, [sp, #4] │ │ │ │ │ + ldr r3, [r0, #44] @ 0x2c │ │ │ │ │ cmp r3, r2 │ │ │ │ │ it ne │ │ │ │ │ cmpne r3, #0 │ │ │ │ │ ite eq │ │ │ │ │ moveq r3, #1 │ │ │ │ │ movne r3, #0 │ │ │ │ │ bne.n 48 │ │ │ │ │ - ldr r3, [r0, #48] @ 0x30 │ │ │ │ │ ldr r2, [sp, #8] │ │ │ │ │ + ldr r3, [r0, #48] @ 0x30 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ it ne │ │ │ │ │ cmpne r3, r2 │ │ │ │ │ ite eq │ │ │ │ │ moveq r3, #1 │ │ │ │ │ movne r3, #0 │ │ │ │ │ bne.n 48 │ │ │ │ │ - ldr r3, [r0, #52] @ 0x34 │ │ │ │ │ ldr r2, [sp, #16] │ │ │ │ │ + ldr r3, [r0, #52] @ 0x34 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ it ne │ │ │ │ │ cmpne r3, r2 │ │ │ │ │ ite eq │ │ │ │ │ moveq r3, #1 │ │ │ │ │ movne r3, #0 │ │ │ │ │ bne.n 48 │ │ │ │ │ - ldr r0, [r0, #56] @ 0x38 │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ + ldr r0, [r0, #56] @ 0x38 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ it ne │ │ │ │ │ cmpne r3, r0 │ │ │ │ │ ite eq │ │ │ │ │ moveq r0, #1 │ │ │ │ │ movne r0, #0 │ │ │ │ │ bx lr │ │ │ ├── t.o │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -9,25 +9,25 @@ │ │ │ │ │ cmp r2, r3 │ │ │ │ │ it ne │ │ │ │ │ cmpne r2, #0 │ │ │ │ │ ite eq │ │ │ │ │ moveq r2, #1 │ │ │ │ │ movne r2, #0 │ │ │ │ │ bne.n 34 │ │ │ │ │ - ldr r2, [r0, #52] @ 0x34 │ │ │ │ │ ldr r3, [sp, #0] │ │ │ │ │ + ldr r2, [r0, #52] @ 0x34 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ it ne │ │ │ │ │ cmpne r2, r3 │ │ │ │ │ ite eq │ │ │ │ │ moveq r2, #1 │ │ │ │ │ movne r2, #0 │ │ │ │ │ bne.n 34 │ │ │ │ │ - ldr r0, [r0, #56] @ 0x38 │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ + ldr r0, [r0, #56] @ 0x38 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ it ne │ │ │ │ │ cmpne r3, r0 │ │ │ │ │ ite eq │ │ │ │ │ moveq r0, #1 │ │ │ │ │ movne r0, #0 │ │ │ │ │ bx lr │ │ │ ├── n1_10.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1760 (bytes into file) │ │ │ │ │ + Start of section headers: 1800 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x6e0: │ │ │ │ │ +There are 13 section headers, starting at offset 0x708: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00040c 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000638 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000440 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000440 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000440 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 000446 000040 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000660 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 000486 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000486 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 0004bc 000100 10 11 11 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 0005bc 00007b 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000670 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000434 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000660 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000468 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000468 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000468 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 00046e 000040 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000688 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 0004ae 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0004ae 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 0004e4 000100 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 0005e4 00007b 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000698 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 16 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1016 FUNC LOCAL DEFAULT 1 n1_10 │ │ │ │ │ + 1: 00000001 1056 FUNC LOCAL DEFAULT 1 n1_10 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000003d8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 000003f8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000404 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000400 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000420 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 0000042c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 64 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 13: 000003f9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_10 │ │ │ │ │ + 13: 00000421 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_10 │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_register │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_n_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x638 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x660 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000003f0 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -000003f4 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000404 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000408 00000103 R_ARM_REL32 00000001 n1_10 │ │ │ │ │ -00000400 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ +00000418 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000041c 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +0000042c 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000430 00000103 R_ARM_REL32 00000001 n1_10 │ │ │ │ │ +00000428 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x660 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x688 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000f02 R_ARM_ABS32 00000000 fftw_dft_n_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,305 +1,307 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ n1_10(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - ldr r6, [pc, #1000] @ (3f0 ) │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub sp, #140 @ 0x8c │ │ │ │ │ + sub sp, #132 @ 0x84 │ │ │ │ │ + ldr r6, [pc, #1020] @ (418 ) │ │ │ │ │ + ldr r7, [sp, #240] @ 0xf0 │ │ │ │ │ + ldrd r5, r4, [sp, #232] @ 0xe8 │ │ │ │ │ add r6, pc │ │ │ │ │ - ldr r7, [sp, #248] @ 0xf8 │ │ │ │ │ - ldrd r5, r4, [sp, #240] @ 0xf0 │ │ │ │ │ cmp r7, #0 │ │ │ │ │ - ble.w 3c8 │ │ │ │ │ - ldr r7, [sp, #252] @ 0xfc │ │ │ │ │ - vldr d12, [pc, #952] @ 3d8 │ │ │ │ │ - vldr d11, [pc, #956] @ 3e0 │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ - str r7, [sp, #124] @ 0x7c │ │ │ │ │ - ldr r7, [sp, #256] @ 0x100 │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ - str r7, [sp, #128] @ 0x80 │ │ │ │ │ - ldr r7, [pc, #964] @ (3f4 ) │ │ │ │ │ + ble.w 3e0 │ │ │ │ │ + ldr r7, [sp, #244] @ 0xf4 │ │ │ │ │ + vldr d12, [pc, #976] @ 400 │ │ │ │ │ + vldr d11, [pc, #980] @ 408 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + str r7, [sp, #116] @ 0x74 │ │ │ │ │ + ldr r7, [sp, #248] @ 0xf8 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + str r7, [sp, #120] @ 0x78 │ │ │ │ │ + ldr r7, [pc, #984] @ (41c ) │ │ │ │ │ ldr r6, [r6, r7] │ │ │ │ │ ldr r6, [r6, #0] │ │ │ │ │ - str r6, [sp, #132] @ 0x84 │ │ │ │ │ - movs r6, #40 @ 0x28 │ │ │ │ │ + str r6, [sp, #124] @ 0x7c │ │ │ │ │ + add.w r6, r5, r5, lsl #2 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ - lsls r7, r5, #4 │ │ │ │ │ - mov.w lr, #48 @ 0x30 │ │ │ │ │ + mov.w lr, r5, lsl #4 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + add.w ip, r5, r5, lsl #1 │ │ │ │ │ + add.w r7, r0, r6 │ │ │ │ │ mov.w r9, r5, lsl #3 │ │ │ │ │ - mov.w fp, #24 │ │ │ │ │ - mul.w ip, r6, r5 │ │ │ │ │ + mov.w sl, ip, lsl #4 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + add.w r7, r1, r6 │ │ │ │ │ mov.w r8, r5, lsl #6 │ │ │ │ │ - mul.w sl, lr, r5 │ │ │ │ │ - add.w r6, r0, ip │ │ │ │ │ - mul.w lr, fp, r5 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - add.w r6, r1, ip │ │ │ │ │ - vsub.f64 d3, d6, d7 │ │ │ │ │ + mov.w ip, ip, lsl #3 │ │ │ │ │ + vsub.f64 d2, d6, d7 │ │ │ │ │ vadd.f64 d13, d6, d7 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - adds r6, r0, r7 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ - add r7, r1 │ │ │ │ │ - vldr d4, [r6] │ │ │ │ │ - add r6, ip │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + add.w r7, r0, lr │ │ │ │ │ + add lr, r1 │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + add r7, r6 │ │ │ │ │ + vstr d2, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d13, [sp, #56] @ 0x38 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ - vadd.f64 d2, d6, d7 │ │ │ │ │ - vstr d3, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - add.w r6, r0, sl │ │ │ │ │ + vadd.f64 d0, d6, d7 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + add.w r7, r0, sl │ │ │ │ │ add sl, r1 │ │ │ │ │ - vstr d13, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d5, [sp] │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ - add.w r6, r0, r9 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + add.w r7, r0, r9 │ │ │ │ │ + add r9, r1 │ │ │ │ │ vsub.f64 d1, d4, d7 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ - vstr d2, [sp, #8] │ │ │ │ │ - add r9, r1 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - add.w r6, r0, r8 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + add.w r7, r0, r8 │ │ │ │ │ + vstr d5, [sp] │ │ │ │ │ add r8, r1 │ │ │ │ │ - vldr d5, [r6] │ │ │ │ │ - add.w r6, r0, lr │ │ │ │ │ + vstr d0, [sp, #8] │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + add.w r7, r0, ip │ │ │ │ │ + add ip, r1 │ │ │ │ │ + vldr d2, [r8] │ │ │ │ │ vsub.f64 d3, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - add lr, r1 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - lsls r6, r5, #5 │ │ │ │ │ - add.w fp, r0, r6 │ │ │ │ │ - add r6, r1 │ │ │ │ │ - vsub.f64 d15, d5, d7 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + mov.w r7, r5, lsl #5 │ │ │ │ │ + add.w fp, r0, r7 │ │ │ │ │ + add r7, r1 │ │ │ │ │ + vsub.f64 d14, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ vldr d7, [fp] │ │ │ │ │ - add fp, ip │ │ │ │ │ + add fp, r6 │ │ │ │ │ vldr d0, [fp] │ │ │ │ │ - mov.w fp, #24 │ │ │ │ │ - vsub.f64 d14, d7, d0 │ │ │ │ │ + vsub.f64 d8, d1, d14 │ │ │ │ │ + vadd.f64 d14, d1, d14 │ │ │ │ │ + vsub.f64 d15, d7, d0 │ │ │ │ │ vadd.f64 d7, d7, d0 │ │ │ │ │ - vsub.f64 d0, d1, d15 │ │ │ │ │ - vadd.f64 d15, d1, d15 │ │ │ │ │ - vsub.f64 d2, d7, d6 │ │ │ │ │ - vadd.f64 d7, d6, d7 │ │ │ │ │ - vstr d0, [sp, #72] @ 0x48 │ │ │ │ │ vsub.f64 d0, d4, d5 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ - vsub.f64 d8, d14, d3 │ │ │ │ │ - vadd.f64 d14, d3, d14 │ │ │ │ │ - vldr d3, [r8] │ │ │ │ │ - vstr d2, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d2, [r7] │ │ │ │ │ - add r7, ip │ │ │ │ │ + vstr d8, [sp, #64] @ 0x40 │ │ │ │ │ + vsub.f64 d8, d15, d3 │ │ │ │ │ + vadd.f64 d15, d3, d15 │ │ │ │ │ + vldr d3, [sl] │ │ │ │ │ + vstr d4, [sp, #16] │ │ │ │ │ + vstr d8, [sp, #72] @ 0x48 │ │ │ │ │ + vsub.f64 d8, d7, d6 │ │ │ │ │ + vadd.f64 d7, d6, d7 │ │ │ │ │ + vstr d0, [sp, #80] @ 0x50 │ │ │ │ │ + vadd.f64 d1, d14, d15 │ │ │ │ │ vadd.f64 d6, d4, d7 │ │ │ │ │ vstr d7, [sp, #24] │ │ │ │ │ - vstr d4, [sp, #16] │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - vldr d4, [sl] │ │ │ │ │ - vstr d6, [sp, #32] │ │ │ │ │ - vadd.f64 d6, d15, d14 │ │ │ │ │ - vsub.f64 d13, d2, d7 │ │ │ │ │ - vadd.f64 d2, d2, d7 │ │ │ │ │ + vstr d8, [sp, #88] @ 0x58 │ │ │ │ │ vldr d7, [r9] │ │ │ │ │ - vldr d5, [r6] │ │ │ │ │ - add r6, ip │ │ │ │ │ - vstr d6, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + add r7, r6 │ │ │ │ │ + vstr d6, [sp, #32] │ │ │ │ │ vldr d6, [lr] │ │ │ │ │ + add lr, r6 │ │ │ │ │ + add.w r6, r4, r4, lsl #2 │ │ │ │ │ + vsub.f64 d0, d3, d7 │ │ │ │ │ + vadd.f64 d3, d3, d7 │ │ │ │ │ + vstr d1, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d8, [lr] │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ mov.w lr, r4, lsl #3 │ │ │ │ │ - vstr d0, [sp, #88] @ 0x58 │ │ │ │ │ - vsub.f64 d0, d4, d7 │ │ │ │ │ - vadd.f64 d4, d4, d7 │ │ │ │ │ - vldr d1, [r6] │ │ │ │ │ - vsub.f64 d7, d3, d6 │ │ │ │ │ - vadd.f64 d3, d3, d6 │ │ │ │ │ - vstr d8, [sp, #80] @ 0x50 │ │ │ │ │ - movs r6, #40 @ 0x28 │ │ │ │ │ - vsub.f64 d6, d5, d1 │ │ │ │ │ - vadd.f64 d5, d5, d1 │ │ │ │ │ - vsub.f64 d9, d2, d3 │ │ │ │ │ - vsub.f64 d8, d13, d7 │ │ │ │ │ - mul.w r6, r6, r4 │ │ │ │ │ - vadd.f64 d7, d13, d7 │ │ │ │ │ - vsub.f64 d10, d5, d4 │ │ │ │ │ - vadd.f64 d5, d4, d5 │ │ │ │ │ - vadd.f64 d4, d15, d14 │ │ │ │ │ - vsub.f64 d1, d6, d0 │ │ │ │ │ - vstr d9, [sp, #112] @ 0x70 │ │ │ │ │ - vadd.f64 d9, d2, d3 │ │ │ │ │ - vadd.f64 d6, d0, d6 │ │ │ │ │ - adds r7, r2, r6 │ │ │ │ │ - vstr d5, [sp, #40] @ 0x28 │ │ │ │ │ + vsub.f64 d13, d6, d8 │ │ │ │ │ + vadd.f64 d8, d6, d8 │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + vsub.f64 d7, d2, d6 │ │ │ │ │ + vadd.f64 d2, d2, d6 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + add.w r7, r2, r6 │ │ │ │ │ add r6, r3 │ │ │ │ │ - vldr d13, [sp, #64] @ 0x40 │ │ │ │ │ - vsub.f64 d15, d15, d14 │ │ │ │ │ - vadd.f64 d3, d9, d5 │ │ │ │ │ + vsub.f64 d9, d8, d2 │ │ │ │ │ + vsub.f64 d5, d4, d6 │ │ │ │ │ + vadd.f64 d4, d4, d6 │ │ │ │ │ + vadd.f64 d8, d8, d2 │ │ │ │ │ + vsub.f64 d6, d13, d7 │ │ │ │ │ + vadd.f64 d7, d13, d7 │ │ │ │ │ + vadd.f64 d13, d14, d15 │ │ │ │ │ + vsub.f64 d14, d14, d15 │ │ │ │ │ + vmov.f64 d15, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vstr d9, [sp, #104] @ 0x68 │ │ │ │ │ + vsub.f64 d1, d5, d0 │ │ │ │ │ + vadd.f64 d5, d0, d5 │ │ │ │ │ + vadd.f64 d9, d3, d4 │ │ │ │ │ + vsub.f64 d10, d4, d3 │ │ │ │ │ vldr d0, [sp, #32] │ │ │ │ │ - vadd.f64 d5, d7, d6 │ │ │ │ │ - vldr d2, [sp, #8] │ │ │ │ │ - vldr d14, [sp, #104] @ 0x68 │ │ │ │ │ - vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp] │ │ │ │ │ - vstr d3, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d3, [sp, #56] @ 0x38 │ │ │ │ │ - vadd.f64 d4, d3, d4 │ │ │ │ │ + vldr d2, [sp, #48] @ 0x30 │ │ │ │ │ + vadd.f64 d3, d8, d9 │ │ │ │ │ + vadd.f64 d4, d2, d13 │ │ │ │ │ + vldr d13, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d3, [sp, #40] @ 0x28 │ │ │ │ │ + vadd.f64 d3, d7, d5 │ │ │ │ │ + vsub.f64 d7, d7, d5 │ │ │ │ │ + vldr d5, [sp] │ │ │ │ │ vstr d4, [r7] │ │ │ │ │ - movs r7, #72 @ 0x48 │ │ │ │ │ + add.w r7, lr, r4 │ │ │ │ │ vldr d4, [sp] │ │ │ │ │ - mul.w r7, r7, r4 │ │ │ │ │ - vadd.f64 d4, d4, d5 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + vmls.f64 d5, d3, d15 │ │ │ │ │ + vadd.f64 d4, d4, d3 │ │ │ │ │ vstr d4, [r6] │ │ │ │ │ vadd.f64 d4, d13, d0 │ │ │ │ │ - vldr d0, [sp, #48] @ 0x30 │ │ │ │ │ - adds r6, r2, r7 │ │ │ │ │ + add.w r6, r2, r7 │ │ │ │ │ + vldr d0, [sp, #8] │ │ │ │ │ add r7, r3 │ │ │ │ │ vstr d4, [r2] │ │ │ │ │ - vadd.f64 d4, d2, d0 │ │ │ │ │ - vmov.f64 d2, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vldr d0, [pc, #456] @ 3e8 │ │ │ │ │ - vmls.f64 d3, d14, d2 │ │ │ │ │ + vldr d4, [sp, #40] @ 0x28 │ │ │ │ │ + vadd.f64 d4, d0, d4 │ │ │ │ │ + vldr d0, [pc, #472] @ 410 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ vmul.f64 d4, d1, d11 │ │ │ │ │ - vmla.f64 d4, d8, d12 │ │ │ │ │ - vmul.f64 d15, d15, d0 │ │ │ │ │ - vmul.f64 d8, d8, d11 │ │ │ │ │ - vnmls.f64 d8, d1, d12 │ │ │ │ │ - vadd.f64 d1, d15, d3 │ │ │ │ │ - vsub.f64 d2, d3, d15 │ │ │ │ │ + vmul.f64 d14, d14, d0 │ │ │ │ │ + vmla.f64 d4, d6, d12 │ │ │ │ │ + vmul.f64 d6, d6, d11 │ │ │ │ │ + vnmls.f64 d6, d1, d12 │ │ │ │ │ + vldr d1, [sp, #96] @ 0x60 │ │ │ │ │ + vmls.f64 d2, d1, d15 │ │ │ │ │ + vadd.f64 d1, d14, d2 │ │ │ │ │ + vsub.f64 d2, d2, d14 │ │ │ │ │ vsub.f64 d0, d1, d4 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ - vldr d1, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d1, [sp, #104] @ 0x68 │ │ │ │ │ vstr d0, [r6] │ │ │ │ │ - mul.w r6, fp, r4 │ │ │ │ │ - vadd.f64 d0, d8, d2 │ │ │ │ │ - vsub.f64 d2, d2, d8 │ │ │ │ │ - add.w ip, r2, r6 │ │ │ │ │ - vldr d8, [sp, #80] @ 0x50 │ │ │ │ │ - add r6, r3 │ │ │ │ │ + vadd.f64 d0, d6, d2 │ │ │ │ │ + add.w r6, r4, r4, lsl #1 │ │ │ │ │ + vsub.f64 d2, d2, d6 │ │ │ │ │ + vldr d6, [sp, #64] @ 0x40 │ │ │ │ │ + mov.w r8, r6, lsl #3 │ │ │ │ │ + mov.w r6, r6, lsl #4 │ │ │ │ │ + add.w ip, r2, r8 │ │ │ │ │ + add r8, r3 │ │ │ │ │ vstr d0, [ip] │ │ │ │ │ add.w ip, r2, lr │ │ │ │ │ - vldr d0, [pc, #368] @ 3e8 │ │ │ │ │ - vmul.f64 d3, d8, d11 │ │ │ │ │ - vmla.f64 d3, d1, d12 │ │ │ │ │ - add lr, r3 │ │ │ │ │ + vldr d0, [pc, #372] @ 410 │ │ │ │ │ vstr d4, [ip] │ │ │ │ │ - mov.w ip, #56 @ 0x38 │ │ │ │ │ - vmul.f64 d7, d7, d0 │ │ │ │ │ - vmul.f64 d4, d1, d11 │ │ │ │ │ - vldr d1, [sp, #24] │ │ │ │ │ - mul.w ip, ip, r4 │ │ │ │ │ - add.w r8, r2, ip │ │ │ │ │ - vnmls.f64 d4, d8, d12 │ │ │ │ │ + sub.w ip, lr, r4 │ │ │ │ │ + add lr, r3 │ │ │ │ │ + mov.w ip, ip, lsl #3 │ │ │ │ │ + add.w r9, r2, ip │ │ │ │ │ add ip, r3 │ │ │ │ │ - vldr d8, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d2, [r8] │ │ │ │ │ - vmov.f64 d2, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vmls.f64 d6, d5, d2 │ │ │ │ │ - vadd.f64 d5, d7, d6 │ │ │ │ │ - vsub.f64 d6, d6, d7 │ │ │ │ │ - vsub.f64 d7, d5, d3 │ │ │ │ │ - vadd.f64 d3, d3, d5 │ │ │ │ │ - vmov.f64 d5, d13 │ │ │ │ │ + vstr d2, [r9] │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ + vldr d2, [sp, #72] @ 0x48 │ │ │ │ │ + vadd.f64 d3, d7, d5 │ │ │ │ │ + vsub.f64 d5, d5, d7 │ │ │ │ │ + vmul.f64 d4, d2, d11 │ │ │ │ │ + vmla.f64 d4, d6, d12 │ │ │ │ │ + vmul.f64 d6, d6, d11 │ │ │ │ │ + vnmls.f64 d6, d2, d12 │ │ │ │ │ + vldr d2, [sp, #32] │ │ │ │ │ + vsub.f64 d7, d3, d4 │ │ │ │ │ + vadd.f64 d4, d4, d3 │ │ │ │ │ + vldr d3, [sp, #24] │ │ │ │ │ vstr d7, [lr] │ │ │ │ │ - vadd.f64 d7, d4, d6 │ │ │ │ │ - vsub.f64 d6, d6, d4 │ │ │ │ │ + vadd.f64 d7, d6, d5 │ │ │ │ │ + vsub.f64 d5, d5, d6 │ │ │ │ │ + vmul.f64 d6, d10, d11 │ │ │ │ │ mov.w lr, r4, lsl #4 │ │ │ │ │ vstr d7, [ip] │ │ │ │ │ - vmul.f64 d7, d8, d11 │ │ │ │ │ - vstr d3, [r7] │ │ │ │ │ - lsls r7, r4, #6 │ │ │ │ │ - vldr d3, [sp, #32] │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ - vmul.f64 d6, d10, d11 │ │ │ │ │ - vnmls.f64 d7, d10, d12 │ │ │ │ │ - vmla.f64 d6, d8, d12 │ │ │ │ │ - vmls.f64 d5, d3, d2 │ │ │ │ │ - vldr d3, [sp, #16] │ │ │ │ │ - add.w r6, r2, lr │ │ │ │ │ + vmul.f64 d7, d1, d11 │ │ │ │ │ + vmla.f64 d6, d1, d12 │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ + add.w r7, r2, lr │ │ │ │ │ + mov.w ip, r4, lsl #6 │ │ │ │ │ + vldr d4, [sp, #16] │ │ │ │ │ add lr, r3 │ │ │ │ │ - vsub.f64 d3, d3, d1 │ │ │ │ │ - vmov.f64 d1, d0 │ │ │ │ │ + vstr d5, [r8] │ │ │ │ │ + vmov.f64 d5, d13 │ │ │ │ │ + vnmls.f64 d7, d10, d12 │ │ │ │ │ + vmls.f64 d5, d2, d15 │ │ │ │ │ + vsub.f64 d3, d4, d3 │ │ │ │ │ vmul.f64 d3, d3, d0 │ │ │ │ │ vsub.f64 d4, d5, d3 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ vsub.f64 d3, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vstr d3, [r6] │ │ │ │ │ - movs r6, #48 @ 0x30 │ │ │ │ │ + vstr d3, [r7] │ │ │ │ │ vadd.f64 d3, d6, d5 │ │ │ │ │ + add.w r7, r2, r6 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ - mul.w ip, r6, r4 │ │ │ │ │ - add.w r6, r2, ip │ │ │ │ │ + add r6, r3 │ │ │ │ │ + vstr d3, [r7] │ │ │ │ │ + add.w r7, r2, ip │ │ │ │ │ add ip, r3 │ │ │ │ │ - vstr d3, [r6] │ │ │ │ │ - adds r6, r2, r7 │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ + mov.w r7, r4, lsl #5 │ │ │ │ │ + add.w r8, r2, r7 │ │ │ │ │ add r7, r3 │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ - lsls r6, r4, #5 │ │ │ │ │ - add.w r8, r2, r6 │ │ │ │ │ - add r6, r3 │ │ │ │ │ vstr d5, [r8] │ │ │ │ │ - vldr d5, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d7, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d0, [sp, #48] @ 0x30 │ │ │ │ │ - vmul.f64 d6, d5, d11 │ │ │ │ │ + vldr d5, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d7, [sp, #88] @ 0x58 │ │ │ │ │ vldr d4, [sp, #8] │ │ │ │ │ - vmls.f64 d4, d0, d2 │ │ │ │ │ + vmul.f64 d6, d5, d11 │ │ │ │ │ + vldr d3, [sp, #40] @ 0x28 │ │ │ │ │ vnmls.f64 d6, d7, d12 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ + vmls.f64 d4, d3, d15 │ │ │ │ │ vmla.f64 d7, d5, d12 │ │ │ │ │ - vldr d5, [sp, #40] @ 0x28 │ │ │ │ │ - vsub.f64 d5, d9, d5 │ │ │ │ │ - vmul.f64 d5, d5, d1 │ │ │ │ │ + vsub.f64 d5, d8, d9 │ │ │ │ │ + vmul.f64 d5, d5, d0 │ │ │ │ │ vsub.f64 d3, d4, d5 │ │ │ │ │ vadd.f64 d5, d4, d5 │ │ │ │ │ vadd.f64 d4, d6, d3 │ │ │ │ │ vsub.f64 d3, d3, d6 │ │ │ │ │ vstr d4, [lr] │ │ │ │ │ vsub.f64 d4, d5, d7 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vstr d4, [ip] │ │ │ │ │ - vstr d3, [r7] │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ - ldr r6, [sp, #124] @ 0x7c │ │ │ │ │ + vstr d4, [r6] │ │ │ │ │ + ldr r6, [sp, #116] @ 0x74 │ │ │ │ │ + vstr d3, [ip] │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ add r0, r6 │ │ │ │ │ add r1, r6 │ │ │ │ │ - ldr r6, [sp, #128] @ 0x80 │ │ │ │ │ + ldr r6, [sp, #120] @ 0x78 │ │ │ │ │ add r2, r6 │ │ │ │ │ add r3, r6 │ │ │ │ │ - ldr r6, [sp, #132] @ 0x84 │ │ │ │ │ - eors r5, r6 │ │ │ │ │ - eors r4, r6 │ │ │ │ │ - ldr r6, [sp, #248] @ 0xf8 │ │ │ │ │ + ldr r6, [sp, #124] @ 0x7c │ │ │ │ │ + eor.w r5, r5, r6 │ │ │ │ │ + eor.w r4, r4, r6 │ │ │ │ │ + ldr r6, [sp, #240] @ 0xf0 │ │ │ │ │ subs r6, #1 │ │ │ │ │ - str r6, [sp, #248] @ 0xf8 │ │ │ │ │ - bne.w 36 │ │ │ │ │ - add sp, #140 @ 0x8c │ │ │ │ │ + str r6, [sp, #240] @ 0xf0 │ │ │ │ │ + bne.w 4a │ │ │ │ │ + add sp, #132 @ 0x84 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop.w │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ - .word 0x000003e0 │ │ │ │ │ + .word 0x000003f2 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ │ │ │ │ │ -000003f8 : │ │ │ │ │ +00000420 : │ │ │ │ │ fftw_codelet_n1_10(): │ │ │ │ │ - ldr r2, [pc, #8] @ (404 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (408 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (42c ) │ │ │ │ │ + ldr r1, [pc, #12] @ (430 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── n1_11.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2672 (bytes into file) │ │ │ │ │ + Start of section headers: 2744 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0xa70: │ │ │ │ │ +There are 13 section headers, starting at offset 0xab8: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00077c 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0009c8 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0007b0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0007b0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0007b0 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 0007b6 000040 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 0009f0 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 0007f6 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0007f6 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 00082c 000120 10 11 13 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 00094c 00007b 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000a00 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0007c4 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000a10 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0007f8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0007f8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0007f8 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0007fe 000040 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000a38 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 00083e 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 00083e 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 000874 000120 10 11 13 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 000994 00007b 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000a48 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,21 +1,21 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 18 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1896 FUNC LOCAL DEFAULT 1 n1_11 │ │ │ │ │ + 1: 00000001 1968 FUNC LOCAL DEFAULT 1 n1_11 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000408 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000460 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000750 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000768 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00000774 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000420 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000478 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000798 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 000007b0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 000007bc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 64 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 15: 00000769 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_11 │ │ │ │ │ + 15: 000007b1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_11 │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_register │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_n_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x9c8 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xa10 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000458 00000d19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000045c 00000e1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000774 00000a03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000778 00000103 R_ARM_REL32 00000001 n1_11 │ │ │ │ │ -00000770 0000101e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ +00000470 00000d19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000474 00000e1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +000007bc 00000a03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000007c0 00000103 R_ARM_REL32 00000001 n1_11 │ │ │ │ │ +000007b8 0000101e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x9f0 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xa38 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00001102 R_ARM_ABS32 00000000 fftw_dft_n_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,288 +1,289 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ n1_11(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - ldr.w r6, [pc, #1104] @ 458 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub sp, #172 @ 0xac │ │ │ │ │ + sub sp, #164 @ 0xa4 │ │ │ │ │ + ldr.w r6, [pc, #1108] @ 470 │ │ │ │ │ + ldr.w r8, [sp, #272] @ 0x110 │ │ │ │ │ + ldrd r4, r5, [sp, #264] @ 0x108 │ │ │ │ │ add r6, pc │ │ │ │ │ + cmp.w r8, #0 │ │ │ │ │ + ble.w 77a │ │ │ │ │ + ldr r7, [sp, #276] @ 0x114 │ │ │ │ │ + vldr d1, [pc, #1004] @ 420 │ │ │ │ │ + vldr d2, [pc, #1008] @ 428 │ │ │ │ │ + mov.w sl, r7, lsl #3 │ │ │ │ │ ldr r7, [sp, #280] @ 0x118 │ │ │ │ │ - ldrd r5, r4, [sp, #272] @ 0x110 │ │ │ │ │ - cmp r7, #0 │ │ │ │ │ - ble.w 746 │ │ │ │ │ - ldr r7, [sp, #284] @ 0x11c │ │ │ │ │ - vldr d1, [pc, #1000] @ 408 │ │ │ │ │ - vldr d2, [pc, #1004] @ 410 │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ - str r7, [sp, #156] @ 0x9c │ │ │ │ │ - ldr r7, [sp, #288] @ 0x120 │ │ │ │ │ - vldr d3, [pc, #1000] @ 418 │ │ │ │ │ - vldr d0, [pc, #1004] @ 420 │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ - str r7, [sp, #160] @ 0xa0 │ │ │ │ │ - ldr.w r7, [pc, #1056] @ 45c │ │ │ │ │ - vldr d15, [pc, #1000] @ 428 │ │ │ │ │ + vldr d3, [pc, #1004] @ 430 │ │ │ │ │ + vldr d0, [pc, #1008] @ 438 │ │ │ │ │ + mov.w r9, r7, lsl #3 │ │ │ │ │ + ldr.w r7, [pc, #1060] @ 474 │ │ │ │ │ + vldr d15, [pc, #1004] @ 440 │ │ │ │ │ ldr r6, [r6, r7] │ │ │ │ │ ldr r6, [r6, #0] │ │ │ │ │ - str r6, [sp, #164] @ 0xa4 │ │ │ │ │ - mov.w sl, r5, lsl #3 │ │ │ │ │ - mov.w ip, #80 @ 0x50 │ │ │ │ │ - add.w r6, r0, sl │ │ │ │ │ - mov.w lr, #72 @ 0x48 │ │ │ │ │ + str r6, [sp, #156] @ 0x9c │ │ │ │ │ + mov.w r7, r4, lsl #3 │ │ │ │ │ vldr d4, [r0] │ │ │ │ │ + subs.w r8, r8, #1 │ │ │ │ │ + add.w r6, r0, r7 │ │ │ │ │ vldr d8, [r1] │ │ │ │ │ vldr d7, [r6] │ │ │ │ │ - mul.w r6, ip, r5 │ │ │ │ │ - mul.w ip, ip, r4 │ │ │ │ │ - adds r7, r0, r6 │ │ │ │ │ - add r6, r1 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - add.w r7, r1, sl │ │ │ │ │ + add.w r6, r4, r4, lsl #2 │ │ │ │ │ + mov.w ip, r6, lsl #4 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + add.w lr, r0, ip │ │ │ │ │ + add ip, r1 │ │ │ │ │ + vldr d6, [lr] │ │ │ │ │ + add.w lr, r1, r7 │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ vsub.f64 d11, d6, d7 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - lsls r7, r5, #4 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - adds r6, r1, r7 │ │ │ │ │ - add r7, r0 │ │ │ │ │ + vldr d7, [ip] │ │ │ │ │ + vldr d6, [lr] │ │ │ │ │ + mov.w lr, r4, lsl #4 │ │ │ │ │ + add.w ip, r1, lr │ │ │ │ │ + add lr, r0 │ │ │ │ │ vstr d5, [sp, #16] │ │ │ │ │ - vsub.f64 d9, d6, d7 │ │ │ │ │ vstr d11, [sp, #48] @ 0x30 │ │ │ │ │ + vsub.f64 d9, d6, d7 │ │ │ │ │ vstr d9, [sp, #56] @ 0x38 │ │ │ │ │ vadd.f64 d9, d6, d7 │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ - mul.w r6, lr, r5 │ │ │ │ │ - mul.w lr, lr, r4 │ │ │ │ │ - add.w r8, r1, r6 │ │ │ │ │ - add r6, r0 │ │ │ │ │ - vldr d7, [r8] │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + add.w ip, r7, r4 │ │ │ │ │ + mov.w ip, ip, lsl #3 │ │ │ │ │ + add.w fp, r1, ip │ │ │ │ │ + add ip, r0 │ │ │ │ │ + vldr d7, [fp] │ │ │ │ │ vsub.f64 d10, d6, d7 │ │ │ │ │ vstr d10, [sp, #64] @ 0x40 │ │ │ │ │ vadd.f64 d10, d6, d7 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - movs r7, #24 │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ - mul.w r8, r7, r5 │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + add.w ip, r4, r4, lsl #1 │ │ │ │ │ + vldr d7, [lr] │ │ │ │ │ + mov.w ip, ip, lsl #3 │ │ │ │ │ + add.w lr, r0, ip │ │ │ │ │ + add ip, r1 │ │ │ │ │ vstr d10, [sp, #24] │ │ │ │ │ vadd.f64 d12, d7, d6 │ │ │ │ │ vsub.f64 d13, d6, d7 │ │ │ │ │ - add.w r6, r0, r8 │ │ │ │ │ - add r8, r1 │ │ │ │ │ - mul.w r7, r4, r7 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - lsls r6, r5, #6 │ │ │ │ │ - add.w r9, r0, r6 │ │ │ │ │ - add r6, r1 │ │ │ │ │ + vldr d7, [lr] │ │ │ │ │ + mov.w lr, r4, lsl #6 │ │ │ │ │ + add.w fp, r0, lr │ │ │ │ │ + add lr, r1 │ │ │ │ │ + vldr d6, [fp] │ │ │ │ │ vstr d12, [sp] │ │ │ │ │ vstr d13, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d6, [r9] │ │ │ │ │ - mov.w r9, #56 @ 0x38 │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ - vldr d6, [r8] │ │ │ │ │ - mov.w r8, r5, lsl #5 │ │ │ │ │ - vstr d7, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - add.w r6, r0, r8 │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ vstr d5, [sp, #32] │ │ │ │ │ - add r8, r1 │ │ │ │ │ + vstr d7, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d7, [lr] │ │ │ │ │ + mov.w lr, r4, lsl #5 │ │ │ │ │ + add.w ip, r0, lr │ │ │ │ │ + add lr, r1 │ │ │ │ │ vadd.f64 d12, d6, d7 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - mul.w r6, r9, r5 │ │ │ │ │ - mul.w r9, r9, r4 │ │ │ │ │ - add.w fp, r0, r6 │ │ │ │ │ - add r6, r1 │ │ │ │ │ - vstr d5, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d5, [r8] │ │ │ │ │ + vldr d7, [ip] │ │ │ │ │ + sub.w ip, r7, r4 │ │ │ │ │ + mov.w ip, ip, lsl #3 │ │ │ │ │ + add.w fp, r0, ip │ │ │ │ │ + add ip, r1 │ │ │ │ │ vldr d6, [fp] │ │ │ │ │ + vstr d5, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d5, [lr] │ │ │ │ │ vadd.f64 d13, d7, d6 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - movs r6, #40 @ 0x28 │ │ │ │ │ - mul.w r8, r6, r5 │ │ │ │ │ + vldr d7, [ip] │ │ │ │ │ + add.w ip, r1, r6 │ │ │ │ │ + add r6, r0 │ │ │ │ │ + add r1, sl │ │ │ │ │ + add r0, sl │ │ │ │ │ vstr d6, [sp, #104] @ 0x68 │ │ │ │ │ vsub.f64 d11, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ - add.w fp, r1, r8 │ │ │ │ │ - add r8, r0 │ │ │ │ │ - mul.w r6, r4, r6 │ │ │ │ │ - vldr d6, [fp] │ │ │ │ │ - add fp, sl │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + add ip, r7 │ │ │ │ │ + vldr d10, [ip] │ │ │ │ │ vstr d11, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d10, [fp] │ │ │ │ │ vsub.f64 d7, d6, d10 │ │ │ │ │ vadd.f64 d14, d6, d10 │ │ │ │ │ vstr d7, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d7, [r8] │ │ │ │ │ - add r8, sl │ │ │ │ │ - vldr d10, [sp, #24] │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + add r6, r7 │ │ │ │ │ + mov.w r7, r5, lsl #3 │ │ │ │ │ vstr d8, [sp, #8] │ │ │ │ │ - vldr d6, [r8] │ │ │ │ │ - add.w r8, r2, r9 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + sub.w ip, r7, r5 │ │ │ │ │ + vstr d4, [sp, #40] @ 0x28 │ │ │ │ │ + mov.w ip, ip, lsl #3 │ │ │ │ │ + vldr d10, [sp, #24] │ │ │ │ │ vstr d14, [sp, #144] @ 0x90 │ │ │ │ │ + add.w r6, r2, ip │ │ │ │ │ vstr d13, [sp, #96] @ 0x60 │ │ │ │ │ vadd.f64 d11, d7, d6 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [sp, #16] │ │ │ │ │ - vstr d4, [sp, #40] @ 0x28 │ │ │ │ │ vadd.f64 d7, d4, d7 │ │ │ │ │ + vstr d11, [sp, #128] @ 0x80 │ │ │ │ │ vstr d6, [sp, #136] @ 0x88 │ │ │ │ │ vldr d6, [sp] │ │ │ │ │ - vstr d11, [sp, #128] @ 0x80 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [sp, #32] │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d13 │ │ │ │ │ vadd.f64 d7, d7, d11 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ vadd.f64 d7, d8, d9 │ │ │ │ │ vldr d8, [sp, #56] @ 0x38 │ │ │ │ │ vadd.f64 d7, d7, d10 │ │ │ │ │ vadd.f64 d7, d7, d12 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d14 │ │ │ │ │ - vldr d14, [pc, #564] @ 430 │ │ │ │ │ + vldr d14, [pc, #560] @ 448 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vldr d7, [sp, #88] @ 0x58 │ │ │ │ │ vmul.f64 d6, d7, d1 │ │ │ │ │ - vldr d7, [pc, #556] @ 438 │ │ │ │ │ + vldr d7, [pc, #552] @ 450 │ │ │ │ │ vmla.f64 d6, d8, d7 │ │ │ │ │ - vldr d7, [sp, #120] @ 0x78 │ │ │ │ │ vldr d8, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d7, [sp, #120] @ 0x78 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d8, d2 │ │ │ │ │ vmul.f64 d8, d13, d14 │ │ │ │ │ - vldr d13, [pc, #536] @ 440 │ │ │ │ │ + vldr d13, [pc, #532] @ 458 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [sp, #64] @ 0x40 │ │ │ │ │ vmls.f64 d6, d7, d0 │ │ │ │ │ - vldr d7, [pc, #528] @ 448 │ │ │ │ │ + vldr d7, [pc, #524] @ 460 │ │ │ │ │ vnmls.f64 d8, d11, d7 │ │ │ │ │ vmov.f64 d7, d4 │ │ │ │ │ - vldr d4, [sp, #32] │ │ │ │ │ vldr d11, [sp] │ │ │ │ │ + vldr d4, [sp, #32] │ │ │ │ │ vmla.f64 d7, d4, d13 │ │ │ │ │ vldr d4, [sp, #16] │ │ │ │ │ - vldr d13, [pc, #500] @ 448 │ │ │ │ │ + vldr d13, [pc, #496] @ 460 │ │ │ │ │ vadd.f64 d8, d8, d7 │ │ │ │ │ - vldr d7, [pc, #500] @ 450 │ │ │ │ │ + vldr d7, [pc, #496] @ 468 │ │ │ │ │ vmul.f64 d4, d4, d7 │ │ │ │ │ vmla.f64 d4, d11, d15 │ │ │ │ │ vldr d11, [sp, #48] @ 0x30 │ │ │ │ │ vsub.f64 d4, d8, d4 │ │ │ │ │ vsub.f64 d8, d4, d6 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vstr d8, [r8] │ │ │ │ │ - mov.w r8, r4, lsl #5 │ │ │ │ │ - add.w sl, r2, r8 │ │ │ │ │ + vstr d8, [r6] │ │ │ │ │ + mov.w r6, r5, lsl #5 │ │ │ │ │ vldr d8, [sp, #104] @ 0x68 │ │ │ │ │ - add r8, r3 │ │ │ │ │ - vstr d6, [sl] │ │ │ │ │ + add.w lr, r2, r6 │ │ │ │ │ + add r6, r3 │ │ │ │ │ + vstr d6, [lr] │ │ │ │ │ + mov.w lr, r5, lsl #4 │ │ │ │ │ vldr d6, [sp, #80] @ 0x50 │ │ │ │ │ vmul.f64 d4, d6, d1 │ │ │ │ │ - vldr d6, [pc, #416] @ 438 │ │ │ │ │ + vldr d6, [pc, #408] @ 450 │ │ │ │ │ vmla.f64 d4, d11, d6 │ │ │ │ │ vldr d6, [sp, #136] @ 0x88 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ vnmls.f64 d6, d8, d2 │ │ │ │ │ vmul.f64 d8, d5, d14 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ vldr d6, [sp, #72] @ 0x48 │ │ │ │ │ vmls.f64 d4, d6, d0 │ │ │ │ │ vldr d6, [sp, #144] @ 0x90 │ │ │ │ │ vnmls.f64 d8, d6, d13 │ │ │ │ │ - vldr d13, [pc, #380] @ 440 │ │ │ │ │ vldr d6, [sp, #8] │ │ │ │ │ + vldr d13, [pc, #368] @ 458 │ │ │ │ │ vmla.f64 d6, d12, d13 │ │ │ │ │ vmov.f64 d13, d10 │ │ │ │ │ vadd.f64 d8, d8, d6 │ │ │ │ │ vmul.f64 d6, d9, d7 │ │ │ │ │ vmla.f64 d6, d10, d15 │ │ │ │ │ vsub.f64 d6, d8, d6 │ │ │ │ │ vadd.f64 d8, d4, d6 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ - vstr d8, [r8] │ │ │ │ │ - add.w r8, r3, r9 │ │ │ │ │ - vldr d8, [pc, #324] @ 438 │ │ │ │ │ - vstr d6, [r8] │ │ │ │ │ - mov.w r8, r4, lsl #4 │ │ │ │ │ + vstr d8, [r6] │ │ │ │ │ + add.w r6, r3, ip │ │ │ │ │ + vldr d8, [pc, #316] @ 450 │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ + vmov.f64 d6, d11 │ │ │ │ │ + add.w r6, r3, lr │ │ │ │ │ vldr d10, [sp, #72] @ 0x48 │ │ │ │ │ - add.w sl, r3, r8 │ │ │ │ │ - add r8, r2 │ │ │ │ │ + add lr, r2 │ │ │ │ │ + vldr d11, [pc, #304] @ 458 │ │ │ │ │ vmul.f64 d4, d10, d8 │ │ │ │ │ vldr d10, [sp, #104] @ 0x68 │ │ │ │ │ - vmla.f64 d4, d11, d3 │ │ │ │ │ vmul.f64 d8, d5, d15 │ │ │ │ │ - vldr d11, [pc, #296] @ 440 │ │ │ │ │ + vmla.f64 d4, d6, d3 │ │ │ │ │ vmul.f64 d6, d10, d0 │ │ │ │ │ vldr d10, [sp, #136] @ 0x88 │ │ │ │ │ vmla.f64 d6, d10, d1 │ │ │ │ │ vldr d10, [sp, #80] @ 0x50 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vldr d6, [sp, #144] @ 0x90 │ │ │ │ │ vmls.f64 d4, d10, d2 │ │ │ │ │ - vmov.f64 d10, d9 │ │ │ │ │ - vldr d9, [pc, #268] @ 448 │ │ │ │ │ vnmls.f64 d8, d6, d11 │ │ │ │ │ vldr d6, [sp, #8] │ │ │ │ │ + vmov.f64 d10, d9 │ │ │ │ │ + vldr d9, [pc, #252] @ 460 │ │ │ │ │ vldr d11, [sp, #128] @ 0x80 │ │ │ │ │ vmla.f64 d6, d10, d9 │ │ │ │ │ vldr d9, [sp, #64] @ 0x40 │ │ │ │ │ vadd.f64 d8, d8, d6 │ │ │ │ │ vmul.f64 d6, d13, d7 │ │ │ │ │ - vmla.f64 d6, d12, d14 │ │ │ │ │ vldr d13, [sp, #96] @ 0x60 │ │ │ │ │ + vmla.f64 d6, d12, d14 │ │ │ │ │ vsub.f64 d6, d8, d6 │ │ │ │ │ vadd.f64 d8, d4, d6 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vldr d4, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d8, [sl] │ │ │ │ │ - add.w sl, r3, lr │ │ │ │ │ - vldr d8, [pc, #188] @ 438 │ │ │ │ │ + vstr d8, [r6] │ │ │ │ │ + add.w r6, r7, r5 │ │ │ │ │ vmul.f64 d4, d4, d0 │ │ │ │ │ - add lr, r2 │ │ │ │ │ - vstr d6, [sl] │ │ │ │ │ + vldr d8, [pc, #176] @ 450 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + add.w fp, r3, r6 │ │ │ │ │ + add r6, r2 │ │ │ │ │ + vstr d6, [fp] │ │ │ │ │ vmul.f64 d6, d9, d8 │ │ │ │ │ vldr d9, [sp, #56] @ 0x38 │ │ │ │ │ vldr d8, [sp, #120] @ 0x78 │ │ │ │ │ vmla.f64 d6, d9, d3 │ │ │ │ │ vldr d9, [sp, #16] │ │ │ │ │ vmla.f64 d4, d8, d1 │ │ │ │ │ vmul.f64 d8, d13, d15 │ │ │ │ │ vmov.f64 d13, d14 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vldr d4, [sp, #88] @ 0x58 │ │ │ │ │ vmls.f64 d6, d4, d2 │ │ │ │ │ - vldr d4, [pc, #136] @ 440 │ │ │ │ │ + vldr d4, [pc, #120] @ 458 │ │ │ │ │ vnmls.f64 d8, d11, d4 │ │ │ │ │ - vldr d11, [pc, #136] @ 448 │ │ │ │ │ vldr d4, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d11, [pc, #116] @ 460 │ │ │ │ │ vmla.f64 d4, d9, d11 │ │ │ │ │ vldr d9, [sp] │ │ │ │ │ vldr d11, [sp, #32] │ │ │ │ │ vadd.f64 d8, d8, d4 │ │ │ │ │ vmul.f64 d4, d9, d7 │ │ │ │ │ vmla.f64 d4, d11, d14 │ │ │ │ │ vldr d11, [sp, #112] @ 0x70 │ │ │ │ │ vsub.f64 d4, d8, d4 │ │ │ │ │ vsub.f64 d8, d4, d6 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ vldr d4, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d8, [lr] │ │ │ │ │ - add.w lr, r2, ip │ │ │ │ │ - vldr d8, [sp, #56] @ 0x38 │ │ │ │ │ - add ip, r3 │ │ │ │ │ - vstr d6, [r8] │ │ │ │ │ - b.n 460 │ │ │ │ │ + b.n 478 │ │ │ │ │ + nop │ │ │ │ │ nop.w │ │ │ │ │ .word 0xf8bb580b │ │ │ │ │ .word 0x3fe14ced │ │ │ │ │ .word 0xfd768dbf │ │ │ │ │ .word 0x3fd207e7 │ │ │ │ │ .word 0x8eee2c13 │ │ │ │ │ .word 0x3fed1bb4 │ │ │ │ │ @@ -300,223 +301,231 @@ │ │ │ │ │ .word 0x3fda9628 │ │ │ │ │ .word 0x7f775887 │ │ │ │ │ .word 0x3fe4f49e │ │ │ │ │ .word 0x00000446 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ + vstr d8, [r6] │ │ │ │ │ + add.w r6, r5, r5, lsl #2 │ │ │ │ │ + vldr d8, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d6, [lr] │ │ │ │ │ vmul.f64 d6, d4, d3 │ │ │ │ │ - mov.w r8, r4, lsl #3 │ │ │ │ │ + mov.w fp, r6, lsl #4 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + add.w lr, r2, fp │ │ │ │ │ + add fp, r3 │ │ │ │ │ vmla.f64 d6, d8, d1 │ │ │ │ │ - vldr d8, [pc, #736] @ 750 │ │ │ │ │ + vldr d8, [pc, #760] @ 798 │ │ │ │ │ vmul.f64 d4, d11, d8 │ │ │ │ │ vldr d11, [sp, #88] @ 0x58 │ │ │ │ │ vmov.f64 d14, d8 │ │ │ │ │ vldr d8, [sp, #120] @ 0x78 │ │ │ │ │ vmla.f64 d4, d11, d0 │ │ │ │ │ vldr d11, [sp, #128] @ 0x80 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vldr d4, [pc, #712] @ 758 │ │ │ │ │ + vldr d4, [pc, #736] @ 7a0 │ │ │ │ │ vmla.f64 d6, d8, d2 │ │ │ │ │ vmul.f64 d8, d11, d13 │ │ │ │ │ - vldr d11, [pc, #708] @ 760 │ │ │ │ │ + vldr d11, [pc, #732] @ 7a8 │ │ │ │ │ vnmls.f64 d8, d9, d4 │ │ │ │ │ vldr d9, [sp, #16] │ │ │ │ │ vldr d4, [sp, #40] @ 0x28 │ │ │ │ │ vmla.f64 d4, d9, d11 │ │ │ │ │ vldr d9, [sp, #96] @ 0x60 │ │ │ │ │ vadd.f64 d8, d8, d4 │ │ │ │ │ vldr d4, [sp, #32] │ │ │ │ │ vmul.f64 d4, d4, d15 │ │ │ │ │ vmla.f64 d4, d9, d7 │ │ │ │ │ vsub.f64 d4, d8, d4 │ │ │ │ │ vsub.f64 d8, d4, d6 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ vstr d8, [lr] │ │ │ │ │ - add.w lr, r2, r8 │ │ │ │ │ - add r8, r3 │ │ │ │ │ + add.w lr, r2, r7 │ │ │ │ │ + vmov.f64 d8, d14 │ │ │ │ │ + add r7, r3 │ │ │ │ │ vstr d6, [lr] │ │ │ │ │ - add lr, r9 │ │ │ │ │ + add lr, ip │ │ │ │ │ vldr d6, [sp, #72] @ 0x48 │ │ │ │ │ vldr d9, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d8, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d14, [sp, #144] @ 0x90 │ │ │ │ │ vmul.f64 d4, d6, d3 │ │ │ │ │ vldr d6, [sp, #48] @ 0x30 │ │ │ │ │ vmla.f64 d4, d6, d1 │ │ │ │ │ - vmul.f64 d6, d9, d14 │ │ │ │ │ + vmul.f64 d6, d9, d8 │ │ │ │ │ + vldr d8, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d9, [pc, #620] @ 7a0 │ │ │ │ │ vmla.f64 d6, d8, d0 │ │ │ │ │ - vldr d14, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d9, [pc, #596] @ 758 │ │ │ │ │ vmul.f64 d8, d14, d13 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ vldr d6, [sp, #136] @ 0x88 │ │ │ │ │ vmla.f64 d4, d6, d2 │ │ │ │ │ vldr d6, [sp, #24] │ │ │ │ │ vnmls.f64 d8, d6, d9 │ │ │ │ │ vldr d6, [sp, #8] │ │ │ │ │ - vmla.f64 d6, d10, d11 │ │ │ │ │ vmov.f64 d9, d11 │ │ │ │ │ vldr d11, [sp, #120] @ 0x78 │ │ │ │ │ + vmla.f64 d6, d10, d9 │ │ │ │ │ vadd.f64 d8, d8, d6 │ │ │ │ │ vmul.f64 d6, d12, d15 │ │ │ │ │ vmla.f64 d6, d5, d7 │ │ │ │ │ vsub.f64 d6, d8, d6 │ │ │ │ │ vadd.f64 d8, d4, d6 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vldr d4, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d8, [r8] │ │ │ │ │ - vstr d6, [ip] │ │ │ │ │ + vstr d8, [r7] │ │ │ │ │ + add.w r7, r5, r5, lsl #1 │ │ │ │ │ + vldr d8, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d6, [fp] │ │ │ │ │ vmul.f64 d6, d4, d1 │ │ │ │ │ + mov.w ip, r7, lsl #3 │ │ │ │ │ vldr d4, [sp, #88] @ 0x58 │ │ │ │ │ - add.w ip, r2, r7 │ │ │ │ │ - vldr d8, [sp, #56] @ 0x38 │ │ │ │ │ - add r7, r3 │ │ │ │ │ - vmul.f64 d4, d4, d3 │ │ │ │ │ + mov.w r7, r7, lsl #4 │ │ │ │ │ vmla.f64 d6, d8, d0 │ │ │ │ │ - vldr d8, [pc, #484] @ 750 │ │ │ │ │ + vldr d8, [pc, #500] @ 798 │ │ │ │ │ + vmul.f64 d4, d4, d3 │ │ │ │ │ vnmls.f64 d4, d11, d8 │ │ │ │ │ vldr d11, [sp, #128] @ 0x80 │ │ │ │ │ vmul.f64 d8, d11, d7 │ │ │ │ │ - vldr d11, [pc, #476] @ 758 │ │ │ │ │ + vldr d11, [pc, #488] @ 7a0 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ vldr d4, [sp, #64] @ 0x40 │ │ │ │ │ vmls.f64 d6, d4, d2 │ │ │ │ │ vldr d4, [sp, #96] @ 0x60 │ │ │ │ │ vnmls.f64 d8, d4, d9 │ │ │ │ │ vldr d9, [sp, #32] │ │ │ │ │ vldr d4, [sp, #40] @ 0x28 │ │ │ │ │ vmla.f64 d4, d9, d11 │ │ │ │ │ - vldr d9, [sp, #16] │ │ │ │ │ vldr d11, [sp] │ │ │ │ │ + vldr d9, [sp, #16] │ │ │ │ │ vadd.f64 d8, d8, d4 │ │ │ │ │ vmul.f64 d4, d9, d15 │ │ │ │ │ - vmla.f64 d4, d11, d13 │ │ │ │ │ vldr d9, [sp, #104] @ 0x68 │ │ │ │ │ + vmla.f64 d4, d11, d13 │ │ │ │ │ vldr d11, [sp, #48] @ 0x30 │ │ │ │ │ vsub.f64 d4, d8, d4 │ │ │ │ │ vsub.f64 d8, d4, d6 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ vmul.f64 d4, d9, d1 │ │ │ │ │ vldr d9, [sp, #80] @ 0x50 │ │ │ │ │ - vmla.f64 d4, d11, d0 │ │ │ │ │ vstr d8, [lr] │ │ │ │ │ - vstr d6, [ip] │ │ │ │ │ + add.w lr, r2, ip │ │ │ │ │ + vmla.f64 d4, d11, d0 │ │ │ │ │ + vldr d8, [pc, #384] @ 798 │ │ │ │ │ + add ip, r3 │ │ │ │ │ + vstr d6, [lr] │ │ │ │ │ vmul.f64 d6, d9, d3 │ │ │ │ │ - vldr d8, [pc, #368] @ 750 │ │ │ │ │ vldr d9, [sp, #136] @ 0x88 │ │ │ │ │ vnmls.f64 d6, d9, d8 │ │ │ │ │ + vldr d9, [pc, #376] @ 7a8 │ │ │ │ │ vmul.f64 d8, d14, d7 │ │ │ │ │ - vldr d9, [pc, #368] @ 760 │ │ │ │ │ vnmls.f64 d8, d5, d9 │ │ │ │ │ - vldr d9, [pc, #352] @ 758 │ │ │ │ │ + vldr d9, [pc, #356] @ 7a0 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ vldr d6, [sp, #72] @ 0x48 │ │ │ │ │ vmls.f64 d4, d6, d2 │ │ │ │ │ vldr d6, [sp, #8] │ │ │ │ │ vmla.f64 d6, d12, d9 │ │ │ │ │ vmov.f64 d9, d10 │ │ │ │ │ vadd.f64 d8, d8, d6 │ │ │ │ │ vmul.f64 d6, d10, d15 │ │ │ │ │ vldr d10, [sp, #24] │ │ │ │ │ vmla.f64 d6, d10, d13 │ │ │ │ │ vsub.f64 d6, d8, d6 │ │ │ │ │ vadd.f64 d8, d4, d6 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ - vstr d8, [r7] │ │ │ │ │ - add.w r7, r3, r4, lsl #6 │ │ │ │ │ - vldr d8, [pc, #280] @ 750 │ │ │ │ │ - vstr d6, [r7] │ │ │ │ │ - adds r7, r3, r6 │ │ │ │ │ - vldr d10, [sp, #80] @ 0x50 │ │ │ │ │ + vstr d8, [ip] │ │ │ │ │ + add.w ip, r3, r5, lsl #6 │ │ │ │ │ + vldr d8, [pc, #284] @ 798 │ │ │ │ │ + vstr d6, [ip] │ │ │ │ │ + add.w ip, r3, r6 │ │ │ │ │ add r6, r2 │ │ │ │ │ + vldr d10, [sp, #80] @ 0x50 │ │ │ │ │ vmul.f64 d6, d10, d8 │ │ │ │ │ vldr d10, [sp, #104] @ 0x68 │ │ │ │ │ vmla.f64 d6, d11, d2 │ │ │ │ │ - vldr d11, [pc, #268] @ 760 │ │ │ │ │ + vldr d11, [pc, #272] @ 7a8 │ │ │ │ │ vmul.f64 d4, d10, d3 │ │ │ │ │ vldr d10, [sp, #136] @ 0x88 │ │ │ │ │ vnmls.f64 d4, d10, d0 │ │ │ │ │ vldr d10, [sp, #72] @ 0x48 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vldr d4, [pc, #236] @ 758 │ │ │ │ │ + vldr d4, [pc, #240] @ 7a0 │ │ │ │ │ vmls.f64 d6, d10, d1 │ │ │ │ │ vmul.f64 d10, d14, d15 │ │ │ │ │ vmov.f64 d14, d11 │ │ │ │ │ vnmls.f64 d10, d5, d4 │ │ │ │ │ - vldr d4, [sp, #24] │ │ │ │ │ vldr d5, [sp, #8] │ │ │ │ │ + vldr d4, [sp, #24] │ │ │ │ │ vmla.f64 d5, d4, d11 │ │ │ │ │ vldr d11, [sp] │ │ │ │ │ - vadd.f64 d10, d10, d5 │ │ │ │ │ + vadd.f64 d4, d10, d5 │ │ │ │ │ vmul.f64 d5, d9, d13 │ │ │ │ │ - vmla.f64 d5, d12, d7 │ │ │ │ │ vldr d9, [sp, #16] │ │ │ │ │ - vsub.f64 d5, d10, d5 │ │ │ │ │ vldr d10, [sp, #112] @ 0x70 │ │ │ │ │ + vmla.f64 d5, d12, d7 │ │ │ │ │ + vsub.f64 d5, d4, d5 │ │ │ │ │ vadd.f64 d4, d6, d5 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ vldr d6, [sp, #88] @ 0x58 │ │ │ │ │ - vstr d4, [r7] │ │ │ │ │ - movs r7, #48 @ 0x30 │ │ │ │ │ + vstr d4, [ip] │ │ │ │ │ + add.w ip, r3, r7 │ │ │ │ │ vmul.f64 d6, d6, d8 │ │ │ │ │ vldr d8, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d4, [sp, #96] @ 0x60 │ │ │ │ │ - mul.w r7, r4, r7 │ │ │ │ │ - vmla.f64 d6, d8, d2 │ │ │ │ │ - vldr d8, [sp, #64] @ 0x40 │ │ │ │ │ - add.w ip, r3, r7 │ │ │ │ │ add r7, r2 │ │ │ │ │ + add r3, r9 │ │ │ │ │ vstr d5, [ip] │ │ │ │ │ vmul.f64 d5, d10, d3 │ │ │ │ │ + add r2, r9 │ │ │ │ │ + vldr d4, [sp, #96] @ 0x60 │ │ │ │ │ vldr d10, [sp, #120] @ 0x78 │ │ │ │ │ + vmla.f64 d6, d8, d2 │ │ │ │ │ + vldr d8, [sp, #64] @ 0x40 │ │ │ │ │ vnmls.f64 d5, d10, d0 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vldr d5, [sp, #128] @ 0x80 │ │ │ │ │ vmls.f64 d6, d8, d1 │ │ │ │ │ - vldr d8, [pc, #100] @ 758 │ │ │ │ │ + vldr d8, [pc, #104] @ 7a0 │ │ │ │ │ vmul.f64 d5, d5, d15 │ │ │ │ │ vnmls.f64 d5, d4, d8 │ │ │ │ │ + vldr d8, [sp, #32] │ │ │ │ │ vldr d4, [sp, #40] @ 0x28 │ │ │ │ │ vmla.f64 d4, d11, d14 │ │ │ │ │ - vldr d8, [sp, #32] │ │ │ │ │ vadd.f64 d4, d5, d4 │ │ │ │ │ vmul.f64 d5, d9, d13 │ │ │ │ │ vmla.f64 d5, d8, d7 │ │ │ │ │ vsub.f64 d4, d4, d5 │ │ │ │ │ vsub.f64 d7, d4, d6 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ vstr d6, [r6] │ │ │ │ │ ldr r6, [sp, #156] @ 0x9c │ │ │ │ │ - add r0, r6 │ │ │ │ │ - add r1, r6 │ │ │ │ │ - ldr r6, [sp, #160] @ 0xa0 │ │ │ │ │ - add r2, r6 │ │ │ │ │ - add r3, r6 │ │ │ │ │ - ldr r6, [sp, #164] @ 0xa4 │ │ │ │ │ - eors r5, r6 │ │ │ │ │ - eors r4, r6 │ │ │ │ │ - ldr r6, [sp, #280] @ 0x118 │ │ │ │ │ - subs r6, #1 │ │ │ │ │ - str r6, [sp, #280] @ 0x118 │ │ │ │ │ - bne.w 46 │ │ │ │ │ - add sp, #172 @ 0xac │ │ │ │ │ + eor.w r4, r4, r6 │ │ │ │ │ + eor.w r5, r5, r6 │ │ │ │ │ + bne.w 5a │ │ │ │ │ + add sp, #164 @ 0xa4 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ .word 0xbb3a28a1 │ │ │ │ │ .word 0x3fe82f19 │ │ │ │ │ .word 0xd9c712b6 │ │ │ │ │ .word 0x3fda9628 │ │ │ │ │ .word 0x8764f0ba │ │ │ │ │ .word 0x3feaeb8c │ │ │ │ │ │ │ │ │ │ -00000768 : │ │ │ │ │ +000007b0 : │ │ │ │ │ fftw_codelet_n1_11(): │ │ │ │ │ - ldr r2, [pc, #8] @ (774 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (778 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (7bc ) │ │ │ │ │ + ldr r1, [pc, #12] @ (7c0 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── n1_12.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1812 (bytes into file) │ │ │ │ │ + Start of section headers: 1848 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x714: │ │ │ │ │ +There are 13 section headers, starting at offset 0x738: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000440 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00066c 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000474 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000474 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000474 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 00047a 000040 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000694 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 0004ba 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0004ba 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 0004f0 000100 10 11 11 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 0005f0 00007b 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 0006a4 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000464 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000690 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000498 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000498 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000498 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 00049e 000040 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 0006b8 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 0004de 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0004de 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 000514 000100 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 000614 00007b 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 0006c8 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 16 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1066 FUNC LOCAL DEFAULT 1 n1_12 │ │ │ │ │ + 1: 00000001 1104 FUNC LOCAL DEFAULT 1 n1_12 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000410 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000420 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000438 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000050 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000060 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 0000045c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 64 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 13: 0000042d 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_12 │ │ │ │ │ + 13: 00000451 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_12 │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_register │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_n_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x66c contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x690 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000418 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000041c 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000438 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000043c 00000103 R_ARM_REL32 00000001 n1_12 │ │ │ │ │ -00000434 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ +00000058 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000005c 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +0000045c 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000460 00000103 R_ARM_REL32 00000001 n1_12 │ │ │ │ │ +00000458 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x694 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x6b8 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000f02 R_ARM_ABS32 00000000 fftw_dft_n_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,141 +1,155 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ n1_12(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - ldr.w r6, [pc, #1040] @ 418 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #116 @ 0x74 │ │ │ │ │ - add r6, pc │ │ │ │ │ - ldr r7, [sp, #224] @ 0xe0 │ │ │ │ │ + ldr r6, [pc, #60] @ (58 ) │ │ │ │ │ + ldr.w r8, [sp, #224] @ 0xe0 │ │ │ │ │ ldrd r5, r4, [sp, #216] @ 0xd8 │ │ │ │ │ - cmp r7, #0 │ │ │ │ │ - ble.w 420 │ │ │ │ │ - ldr.w ip, [pc, #1020] @ 41c │ │ │ │ │ - mov.w sl, #48 @ 0x30 │ │ │ │ │ + add r6, pc │ │ │ │ │ + cmp.w r8, #0 │ │ │ │ │ + ble.w 434 │ │ │ │ │ ldr r7, [sp, #228] @ 0xe4 │ │ │ │ │ - mov.w r9, #24 │ │ │ │ │ - vldr d12, [pc, #996] @ 410 │ │ │ │ │ vmov.f64 d14, #96 @ 0x3f000000 0.5 │ │ │ │ │ - ldr.w r6, [r6, ip] │ │ │ │ │ - mov.w r8, r7, lsl #3 │ │ │ │ │ + vldr d12, [pc, #24] @ 50 │ │ │ │ │ + mov.w sl, r7, lsl #3 │ │ │ │ │ ldr r7, [sp, #232] @ 0xe8 │ │ │ │ │ + mov.w r9, r7, lsl #3 │ │ │ │ │ + ldr r7, [pc, #24] @ (5c ) │ │ │ │ │ + ldr r6, [r6, r7] │ │ │ │ │ ldr r6, [r6, #0] │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ str r6, [sp, #108] @ 0x6c │ │ │ │ │ - lsls r6, r5, #5 │ │ │ │ │ + b.n 60 │ │ │ │ │ + nop.w │ │ │ │ │ + .word 0xe8584caa │ │ │ │ │ + .word 0x3febb67a │ │ │ │ │ + .word 0x00000030 │ │ │ │ │ + R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ + .word 0x00000000 │ │ │ │ │ + R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ + mov.w r7, r5, lsl #5 │ │ │ │ │ vldr d4, [r0] │ │ │ │ │ - add.w ip, r0, r6 │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ - add ip, r6 │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ - add.w ip, r1, r6 │ │ │ │ │ + subs.w r8, r8, #1 │ │ │ │ │ + add.w r6, r0, r7 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + add r6, r7 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + add.w r6, r1, r7 │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ - add ip, r6 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + add r6, r7 │ │ │ │ │ + vldr d3, [r6] │ │ │ │ │ + add.w r6, r5, r5, lsl #1 │ │ │ │ │ + mov.w ip, r6, lsl #4 │ │ │ │ │ vadd.f64 d9, d4, d5 │ │ │ │ │ vmls.f64 d4, d5, d14 │ │ │ │ │ - vldr d3, [ip] │ │ │ │ │ - mul.w ip, sl, r5 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ vmul.f64 d7, d7, d12 │ │ │ │ │ add.w lr, r0, ip │ │ │ │ │ add ip, r1 │ │ │ │ │ vadd.f64 d5, d6, d3 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ vldr d3, [lr] │ │ │ │ │ - add lr, r6 │ │ │ │ │ + add lr, r7 │ │ │ │ │ vstr d7, [sp] │ │ │ │ │ vstr d4, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ vmul.f64 d6, d6, d12 │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ + vstr d6, [sp, #8] │ │ │ │ │ vmov.f64 d10, d4 │ │ │ │ │ vadd.f64 d7, d4, d5 │ │ │ │ │ vmls.f64 d10, d5, d14 │ │ │ │ │ vldr d5, [lr] │ │ │ │ │ mov.w lr, r5, lsl #4 │ │ │ │ │ - vstr d6, [sp, #8] │ │ │ │ │ add.w fp, r0, lr │ │ │ │ │ add lr, r1 │ │ │ │ │ vldr d6, [fp] │ │ │ │ │ vldr d2, [lr] │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vstr d10, [sp, #96] @ 0x60 │ │ │ │ │ vadd.f64 d10, d3, d4 │ │ │ │ │ vmls.f64 d3, d4, d14 │ │ │ │ │ vldr d4, [ip] │ │ │ │ │ - add ip, r6 │ │ │ │ │ + add ip, r7 │ │ │ │ │ vmul.f64 d1, d6, d12 │ │ │ │ │ vldr d6, [ip] │ │ │ │ │ - mul.w ip, r9, r5 │ │ │ │ │ - add.w lr, r0, ip │ │ │ │ │ - vstr d1, [sp, #24] │ │ │ │ │ + add.w ip, r0, r6 │ │ │ │ │ + add r6, r1 │ │ │ │ │ vadd.f64 d5, d6, d2 │ │ │ │ │ vsub.f64 d6, d6, d2 │ │ │ │ │ vstr d3, [sp, #16] │ │ │ │ │ - add ip, r1 │ │ │ │ │ + vstr d1, [sp, #24] │ │ │ │ │ vmul.f64 d0, d6, d12 │ │ │ │ │ vmov.f64 d6, d4 │ │ │ │ │ - vmls.f64 d6, d5, d14 │ │ │ │ │ vadd.f64 d3, d4, d5 │ │ │ │ │ - vldr d4, [lr] │ │ │ │ │ - add lr, r6 │ │ │ │ │ + vldr d4, [ip] │ │ │ │ │ + add ip, r7 │ │ │ │ │ + vldr d1, [ip] │ │ │ │ │ + add ip, r7 │ │ │ │ │ + vmls.f64 d6, d5, d14 │ │ │ │ │ vstr d0, [sp, #32] │ │ │ │ │ - vldr d1, [lr] │ │ │ │ │ - add lr, r6 │ │ │ │ │ vstr d6, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d6, [lr] │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ vadd.f64 d5, d1, d6 │ │ │ │ │ vsub.f64 d6, d6, d1 │ │ │ │ │ vadd.f64 d2, d4, d5 │ │ │ │ │ vmls.f64 d4, d5, d14 │ │ │ │ │ vmul.f64 d11, d6, d12 │ │ │ │ │ vstr d11, [sp, #48] @ 0x30 │ │ │ │ │ vstr d4, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d4, [ip] │ │ │ │ │ - add ip, r6 │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ - add ip, r6 │ │ │ │ │ - vldr d1, [ip] │ │ │ │ │ - mov.w ip, #72 @ 0x48 │ │ │ │ │ - mul.w lr, ip, r5 │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ + add r6, r7 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + add r6, r7 │ │ │ │ │ + vldr d1, [r6] │ │ │ │ │ + mov.w r6, r5, lsl #3 │ │ │ │ │ + add.w ip, r6, r5 │ │ │ │ │ + mov.w ip, ip, lsl #3 │ │ │ │ │ + add.w lr, r0, ip │ │ │ │ │ + add ip, r1 │ │ │ │ │ vadd.f64 d5, d6, d1 │ │ │ │ │ vsub.f64 d6, d6, d1 │ │ │ │ │ vmov.f64 d1, d4 │ │ │ │ │ - add.w ip, r0, lr │ │ │ │ │ - add lr, r1 │ │ │ │ │ + vldr d0, [lr] │ │ │ │ │ + add.w lr, r0, r6 │ │ │ │ │ + add r6, r1 │ │ │ │ │ + add r0, sl │ │ │ │ │ + vldr d8, [lr] │ │ │ │ │ + add lr, r7 │ │ │ │ │ + add r1, sl │ │ │ │ │ vmls.f64 d1, d5, d14 │ │ │ │ │ - vldr d0, [ip] │ │ │ │ │ - mov.w ip, r5, lsl #3 │ │ │ │ │ - add.w fp, r0, ip │ │ │ │ │ vmul.f64 d15, d6, d12 │ │ │ │ │ vadd.f64 d6, d4, d5 │ │ │ │ │ - add ip, r1 │ │ │ │ │ - add r0, r8 │ │ │ │ │ - add r1, r8 │ │ │ │ │ - vldr d8, [fp] │ │ │ │ │ - add fp, r6 │ │ │ │ │ - vldr d4, [fp] │ │ │ │ │ + vldr d4, [lr] │ │ │ │ │ vstr d1, [sp, #64] @ 0x40 │ │ │ │ │ vadd.f64 d1, d8, d4 │ │ │ │ │ vsub.f64 d4, d4, d8 │ │ │ │ │ vadd.f64 d5, d0, d1 │ │ │ │ │ vmls.f64 d0, d1, d14 │ │ │ │ │ vmul.f64 d13, d4, d12 │ │ │ │ │ vstr d0, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d4, [ip] │ │ │ │ │ - add ip, r6 │ │ │ │ │ - vldr d8, [lr] │ │ │ │ │ - mul.w r6, sl, r4 │ │ │ │ │ - vldr d1, [ip] │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ + add r6, r7 │ │ │ │ │ + add.w r7, r4, r4, lsl #1 │ │ │ │ │ + vldr d1, [r6] │ │ │ │ │ + mov.w r6, r7, lsl #4 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + vldr d8, [ip] │ │ │ │ │ add.w ip, r2, r6 │ │ │ │ │ vadd.f64 d0, d4, d1 │ │ │ │ │ vsub.f64 d4, d4, d1 │ │ │ │ │ vadd.f64 d1, d8, d0 │ │ │ │ │ vmls.f64 d8, d0, d14 │ │ │ │ │ vmul.f64 d11, d4, d12 │ │ │ │ │ vadd.f64 d0, d2, d5 │ │ │ │ │ @@ -153,95 +167,93 @@ │ │ │ │ │ vstr d4, [r2] │ │ │ │ │ vadd.f64 d4, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ vsub.f64 d8, d4, d0 │ │ │ │ │ vadd.f64 d4, d4, d0 │ │ │ │ │ vldr d0, [sp, #72] @ 0x48 │ │ │ │ │ vstr d8, [ip] │ │ │ │ │ - mul.w ip, r9, r4 │ │ │ │ │ + add.w ip, r3, r7 │ │ │ │ │ + add r7, r2 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ vadd.f64 d4, d5, d7 │ │ │ │ │ - add.w lr, r3, ip │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - add ip, r2 │ │ │ │ │ vldr d8, [sp, #80] @ 0x50 │ │ │ │ │ - vstr d4, [lr] │ │ │ │ │ - add lr, r6 │ │ │ │ │ + vstr d4, [ip] │ │ │ │ │ + add ip, r6 │ │ │ │ │ vadd.f64 d4, d2, d1 │ │ │ │ │ vldr d2, [sp, #16] │ │ │ │ │ - vstr d7, [lr] │ │ │ │ │ + vstr d7, [ip] │ │ │ │ │ vsub.f64 d7, d9, d10 │ │ │ │ │ - vldr d10, [sp, #96] @ 0x60 │ │ │ │ │ vldr d9, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d10, [sp, #96] @ 0x60 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d5, [ip] │ │ │ │ │ - add ip, r6 │ │ │ │ │ + vstr d5, [r7] │ │ │ │ │ + add r7, r6 │ │ │ │ │ vldr d5, [sp, #24] │ │ │ │ │ - vstr d7, [ip] │ │ │ │ │ - mov.w ip, r4, lsl #3 │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ + mov.w r7, r4, lsl #3 │ │ │ │ │ vldr d7, [sp] │ │ │ │ │ + add.w ip, r3, r7 │ │ │ │ │ + add r7, r2 │ │ │ │ │ vadd.f64 d6, d5, d6 │ │ │ │ │ vldr d5, [sp, #56] @ 0x38 │ │ │ │ │ - add.w lr, r3, ip │ │ │ │ │ - add ip, r2 │ │ │ │ │ vadd.f64 d7, d7, d10 │ │ │ │ │ vsub.f64 d3, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d13, d8 │ │ │ │ │ vldr d8, [sp, #32] │ │ │ │ │ - vadd.f64 d8, d2, d8 │ │ │ │ │ vsub.f64 d1, d4, d6 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ vadd.f64 d6, d5, d15 │ │ │ │ │ vadd.f64 d5, d0, d11 │ │ │ │ │ + vadd.f64 d8, d2, d8 │ │ │ │ │ vsub.f64 d0, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vldr d5, [sp, #8] │ │ │ │ │ vadd.f64 d5, d9, d5 │ │ │ │ │ vadd.f64 d2, d5, d8 │ │ │ │ │ vsub.f64 d5, d5, d8 │ │ │ │ │ vsub.f64 d8, d3, d0 │ │ │ │ │ vadd.f64 d3, d3, d0 │ │ │ │ │ - vstr d8, [lr] │ │ │ │ │ + vstr d8, [ip] │ │ │ │ │ vadd.f64 d8, d1, d5 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ - add lr, r6 │ │ │ │ │ - vstr d8, [ip] │ │ │ │ │ add ip, r6 │ │ │ │ │ - vstr d3, [lr] │ │ │ │ │ - vstr d5, [ip] │ │ │ │ │ - mov.w ip, #80 @ 0x50 │ │ │ │ │ + vstr d8, [r7] │ │ │ │ │ + add r7, r6 │ │ │ │ │ + vstr d3, [ip] │ │ │ │ │ + vstr d5, [r7] │ │ │ │ │ vsub.f64 d5, d2, d6 │ │ │ │ │ + add.w r7, r4, r4, lsl #2 │ │ │ │ │ vadd.f64 d6, d6, d2 │ │ │ │ │ - mul.w ip, ip, r4 │ │ │ │ │ + mov.w ip, r7, lsl #4 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ add.w lr, r2, ip │ │ │ │ │ add ip, r3 │ │ │ │ │ vstr d5, [lr] │ │ │ │ │ vsub.f64 d5, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ vstr d5, [ip] │ │ │ │ │ mov.w ip, r4, lsl #5 │ │ │ │ │ add.w lr, r2, ip │ │ │ │ │ add ip, r3 │ │ │ │ │ vstr d6, [lr] │ │ │ │ │ vstr d7, [ip] │ │ │ │ │ - mov.w ip, #40 @ 0x28 │ │ │ │ │ + add.w ip, r3, r7 │ │ │ │ │ + add r7, r2 │ │ │ │ │ vldr d7, [sp] │ │ │ │ │ + vldr d2, [sp, #16] │ │ │ │ │ vldr d1, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d8, [sp, #80] @ 0x50 │ │ │ │ │ - mul.w ip, ip, r4 │ │ │ │ │ vsub.f64 d6, d10, d7 │ │ │ │ │ - vldr d7, [sp, #40] @ 0x28 │ │ │ │ │ vldr d10, [sp, #24] │ │ │ │ │ - add.w lr, r3, ip │ │ │ │ │ + vldr d7, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d8, [sp, #80] @ 0x50 │ │ │ │ │ vldr d0, [sp, #72] @ 0x48 │ │ │ │ │ - add ip, r2 │ │ │ │ │ - vldr d2, [sp, #16] │ │ │ │ │ vsub.f64 d7, d7, d10 │ │ │ │ │ vsub.f64 d11, d0, d11 │ │ │ │ │ vldr d0, [sp, #8] │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ vldr d6, [sp, #64] @ 0x40 │ │ │ │ │ vsub.f64 d0, d9, d0 │ │ │ │ │ @@ -255,60 +267,54 @@ │ │ │ │ │ vsub.f64 d4, d4, d15 │ │ │ │ │ vadd.f64 d8, d0, d2 │ │ │ │ │ vsub.f64 d2, d0, d2 │ │ │ │ │ vsub.f64 d1, d4, d11 │ │ │ │ │ vadd.f64 d4, d4, d11 │ │ │ │ │ vsub.f64 d0, d5, d1 │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ - vstr d0, [lr] │ │ │ │ │ + vstr d0, [ip] │ │ │ │ │ vadd.f64 d0, d3, d2 │ │ │ │ │ vsub.f64 d2, d2, d3 │ │ │ │ │ - add lr, r6 │ │ │ │ │ - vstr d0, [ip] │ │ │ │ │ add ip, r6 │ │ │ │ │ - vstr d5, [lr] │ │ │ │ │ + vstr d0, [r7] │ │ │ │ │ + add r7, r6 │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ vsub.f64 d5, d8, d4 │ │ │ │ │ vadd.f64 d4, d4, d8 │ │ │ │ │ - vstr d2, [ip] │ │ │ │ │ - mov.w ip, r4, lsl #4 │ │ │ │ │ - add.w lr, r2, ip │ │ │ │ │ - add ip, r3 │ │ │ │ │ - add r2, r7 │ │ │ │ │ - add r3, r7 │ │ │ │ │ - vstr d5, [lr] │ │ │ │ │ + vstr d2, [r7] │ │ │ │ │ + mov.w r7, r4, lsl #4 │ │ │ │ │ + add.w ip, r2, r7 │ │ │ │ │ + add r7, r3 │ │ │ │ │ + add r2, r9 │ │ │ │ │ + add r3, r9 │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ - add lr, r6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d5, [ip] │ │ │ │ │ add ip, r6 │ │ │ │ │ + vstr d5, [r7] │ │ │ │ │ + add r7, r6 │ │ │ │ │ ldr r6, [sp, #108] @ 0x6c │ │ │ │ │ - vstr d4, [lr] │ │ │ │ │ - eors r5, r6 │ │ │ │ │ - eors r4, r6 │ │ │ │ │ - ldr r6, [sp, #224] @ 0xe0 │ │ │ │ │ - vstr d7, [ip] │ │ │ │ │ - subs r6, #1 │ │ │ │ │ - str r6, [sp, #224] @ 0xe0 │ │ │ │ │ - bne.w 42 │ │ │ │ │ - b.n 420 │ │ │ │ │ - .word 0xe8584caa │ │ │ │ │ - .word 0x3febb67a │ │ │ │ │ - .word 0x00000406 │ │ │ │ │ - R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ - .word 0x00000000 │ │ │ │ │ - R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ + vstr d4, [ip] │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ + eor.w r5, r5, r6 │ │ │ │ │ + eor.w r4, r4, r6 │ │ │ │ │ + bne.w 60 │ │ │ │ │ add sp, #116 @ 0x74 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -0000042c : │ │ │ │ │ +00000450 : │ │ │ │ │ fftw_codelet_n1_12(): │ │ │ │ │ - ldr r2, [pc, #8] @ (438 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (43c ) │ │ │ │ │ + ldr r2, [pc, #8] @ (45c ) │ │ │ │ │ + ldr r1, [pc, #12] @ (460 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── n1_13.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 3008 (bytes into file) │ │ │ │ │ + Start of section headers: 3016 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0xbc0: │ │ │ │ │ +There are 13 section headers, starting at offset 0xbc8: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0008cc 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000b18 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000900 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000900 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000900 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 000906 000040 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000b40 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 000946 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000946 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 00097c 000120 10 11 13 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 000a9c 00007b 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000b50 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0008d4 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000b20 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000908 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000908 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000908 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 00090e 000040 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000b48 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 00094e 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 00094e 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 000984 000120 10 11 13 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 000aa4 00007b 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000b58 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,21 +1,21 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 18 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 2232 FUNC LOCAL DEFAULT 1 n1_13 │ │ │ │ │ + 1: 00000001 2240 FUNC LOCAL DEFAULT 1 n1_13 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000560 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 000005f8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000858 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 000008b8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 000008c4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000570 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000608 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000868 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 000008c0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 000008cc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 64 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 15: 000008b9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_13 │ │ │ │ │ + 15: 000008c1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_13 │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_register │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_n_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xb18 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xb20 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000005f0 00000d19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -000005f4 00000e1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000008c4 00000a03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000008c8 00000103 R_ARM_REL32 00000001 n1_13 │ │ │ │ │ -000008c0 0000101e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ +00000600 00000d19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000604 00000e1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +000008cc 00000a03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000008d0 00000103 R_ARM_REL32 00000001 n1_13 │ │ │ │ │ +000008c8 0000101e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xb40 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xb48 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00001102 R_ARM_ABS32 00000000 fftw_dft_n_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,627 +1,616 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ n1_13(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov fp, r0 │ │ │ │ │ - mov sl, r1 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r6, r2 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r7, r3 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub sp, #228 @ 0xe4 │ │ │ │ │ - mov r1, r2 │ │ │ │ │ - mov r0, r3 │ │ │ │ │ - ldr.w r3, [pc, #1500] @ 5f0 │ │ │ │ │ - ldr r2, [sp, #336] @ 0x150 │ │ │ │ │ - add r3, pc │ │ │ │ │ - ldrd r4, r5, [sp, #328] @ 0x148 │ │ │ │ │ + sub sp, #204 @ 0xcc │ │ │ │ │ + ldr r2, [sp, #312] @ 0x138 │ │ │ │ │ + ldr.w r3, [pc, #1500] @ 600 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.w 84a │ │ │ │ │ - ldr r2, [sp, #340] @ 0x154 │ │ │ │ │ - mov r7, r4 │ │ │ │ │ - mov r6, r1 │ │ │ │ │ - mov r4, sl │ │ │ │ │ - mov ip, r5 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ - str r2, [sp, #212] @ 0xd4 │ │ │ │ │ - ldr r2, [sp, #344] @ 0x158 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ - str r2, [sp, #216] @ 0xd8 │ │ │ │ │ - ldr.w r2, [pc, #1464] @ 5f4 │ │ │ │ │ + add r3, pc │ │ │ │ │ + ble.w 848 │ │ │ │ │ + ldr r2, [sp, #316] @ 0x13c │ │ │ │ │ + mov r9, r6 │ │ │ │ │ + mov fp, r0 │ │ │ │ │ + mov r8, r1 │ │ │ │ │ + ldrd sl, r6, [sp, #304] @ 0x130 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + str r2, [sp, #188] @ 0xbc │ │ │ │ │ + ldr r2, [sp, #320] @ 0x140 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + str r2, [sp, #192] @ 0xc0 │ │ │ │ │ + ldr.w r2, [pc, #1468] @ 604 │ │ │ │ │ ldr r3, [r3, r2] │ │ │ │ │ - mov r2, fp │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - str r3, [sp, #220] @ 0xdc │ │ │ │ │ - mov.w fp, r7, lsl #6 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - add.w r3, r2, fp │ │ │ │ │ - movs r5, #96 @ 0x60 │ │ │ │ │ - mov.w lr, #80 @ 0x50 │ │ │ │ │ - mov.w r9, #24 │ │ │ │ │ - vstr d6, [sp, #48] @ 0x30 │ │ │ │ │ - mov.w sl, r7, lsl #3 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - movs r3, #40 @ 0x28 │ │ │ │ │ - mul.w r5, r5, r7 │ │ │ │ │ - vldr d14, [r4] │ │ │ │ │ - mul.w r1, lr, r7 │ │ │ │ │ - mov.w lr, #88 @ 0x58 │ │ │ │ │ - mul.w r3, r3, r7 │ │ │ │ │ - str r1, [sp, #16] │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ - mul.w r9, r9, r7 │ │ │ │ │ - adds r3, r2, r3 │ │ │ │ │ - vstr d14, [sp, #160] @ 0xa0 │ │ │ │ │ + str r3, [sp, #196] @ 0xc4 │ │ │ │ │ + mov.w lr, sl, lsl #6 │ │ │ │ │ + vldr d7, [r8] │ │ │ │ │ vmov.f64 d14, #96 @ 0x3f000000 0.5 │ │ │ │ │ - mul.w lr, lr, r7 │ │ │ │ │ - str r5, [sp, #8] │ │ │ │ │ - add fp, r4 │ │ │ │ │ + add.w r2, sl, sl, lsl #2 │ │ │ │ │ + mov.w r5, #88 @ 0x58 │ │ │ │ │ + add.w r3, fp, lr │ │ │ │ │ + mov.w r4, sl, lsl #5 │ │ │ │ │ + vldr d10, [fp] │ │ │ │ │ + mov.w r0, r2, lsl #4 │ │ │ │ │ + add lr, r8 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + mov.w r3, r2, lsl #3 │ │ │ │ │ + add.w r2, fp, r0 │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ + mul.w r5, r5, sl │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ + add.w r2, fp, r4 │ │ │ │ │ + mov.w r4, sl, lsl #3 │ │ │ │ │ + str r3, [sp, #104] @ 0x68 │ │ │ │ │ + add r3, fp │ │ │ │ │ + vstr d7, [sp, #24] │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - adds r3, r2, r5 │ │ │ │ │ - movs r5, #48 @ 0x30 │ │ │ │ │ - vldr d11, [r3] │ │ │ │ │ - adds r3, r2, r1 │ │ │ │ │ + add.w r3, sl, sl, lsl #1 │ │ │ │ │ + str r0, [sp, #120] @ 0x78 │ │ │ │ │ + add.w r0, r4, sl │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + mov.w r1, r3, lsl #5 │ │ │ │ │ + add.w r2, fp, r4 │ │ │ │ │ + mov.w ip, r3, lsl #3 │ │ │ │ │ + str r5, [sp, #8] │ │ │ │ │ + vldr d13, [r2] │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ + add.w r2, fp, ip │ │ │ │ │ + vstr d10, [sp, #16] │ │ │ │ │ + mov.w r3, r3, lsl #4 │ │ │ │ │ + str r1, [sp, #112] @ 0x70 │ │ │ │ │ + add r1, fp │ │ │ │ │ vadd.f64 d12, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - mul.w r5, r5, r7 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ - lsls r3, r7, #5 │ │ │ │ │ - str r3, [sp, #24] │ │ │ │ │ - adds r3, r2, r3 │ │ │ │ │ - str r5, [sp, #32] │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - add.w r3, r2, sl │ │ │ │ │ - add sl, r4 │ │ │ │ │ + add ip, r8 │ │ │ │ │ + vldr d11, [r1] │ │ │ │ │ vadd.f64 d7, d2, d4 │ │ │ │ │ - vldr d13, [r3] │ │ │ │ │ - add.w r3, r2, r9 │ │ │ │ │ + add.w r1, fp, r5 │ │ │ │ │ vsub.f64 d2, d2, d4 │ │ │ │ │ - add r9, r4 │ │ │ │ │ vadd.f64 d10, d11, d7 │ │ │ │ │ vmls.f64 d11, d7, d14 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - movs r3, #72 @ 0x48 │ │ │ │ │ - mul.w r8, r3, r7 │ │ │ │ │ - mul.w r3, r3, ip │ │ │ │ │ - add.w r1, r2, r8 │ │ │ │ │ - add r8, r4 │ │ │ │ │ - vldr d1, [r1] │ │ │ │ │ - add.w r1, r2, lr │ │ │ │ │ - add lr, r4 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + add.w r2, fp, r0 │ │ │ │ │ + add r0, r8 │ │ │ │ │ + vldr d1, [r2] │ │ │ │ │ vadd.f64 d5, d7, d1 │ │ │ │ │ vsub.f64 d7, d7, d1 │ │ │ │ │ vadd.f64 d3, d13, d5 │ │ │ │ │ vmls.f64 d13, d5, d14 │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ - adds r1, r2, r5 │ │ │ │ │ - movs r5, #56 @ 0x38 │ │ │ │ │ + add.w r1, fp, r3 │ │ │ │ │ + add r3, r8 │ │ │ │ │ vldr d1, [r1] │ │ │ │ │ - mul.w r5, r5, r7 │ │ │ │ │ - str r5, [sp, #40] @ 0x28 │ │ │ │ │ - adds r5, r2, r5 │ │ │ │ │ + sub.w r1, r4, sl │ │ │ │ │ + add r4, r8 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + add.w r5, fp, r1 │ │ │ │ │ + add r1, r8 │ │ │ │ │ vadd.f64 d4, d5, d1 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ vldr d1, [r5] │ │ │ │ │ - lsls r5, r7, #4 │ │ │ │ │ - adds r1, r2, r5 │ │ │ │ │ - add r5, r4 │ │ │ │ │ - vldr d0, [r1] │ │ │ │ │ + mov.w r5, sl, lsl #4 │ │ │ │ │ + add.w r2, fp, r5 │ │ │ │ │ + add r5, r8 │ │ │ │ │ + vldr d0, [r2] │ │ │ │ │ vadd.f64 d8, d1, d0 │ │ │ │ │ vsub.f64 d1, d1, d0 │ │ │ │ │ vadd.f64 d9, d5, d1 │ │ │ │ │ vadd.f64 d0, d4, d8 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ vsub.f64 d4, d4, d8 │ │ │ │ │ vadd.f64 d15, d6, d9 │ │ │ │ │ vmls.f64 d6, d9, d14 │ │ │ │ │ - vstr d15, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d15, [sp, #136] @ 0x88 │ │ │ │ │ vsub.f64 d15, d3, d10 │ │ │ │ │ vadd.f64 d3, d10, d3 │ │ │ │ │ vadd.f64 d10, d12, d0 │ │ │ │ │ vmls.f64 d12, d0, d14 │ │ │ │ │ - vstr d15, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d15, [sp, #32] │ │ │ │ │ vadd.f64 d15, d3, d10 │ │ │ │ │ vsub.f64 d3, d3, d10 │ │ │ │ │ - vldr d10, [pc, #996] @ 560 │ │ │ │ │ + vldr d10, [pc, #992] @ 570 │ │ │ │ │ vmul.f64 d3, d3, d10 │ │ │ │ │ - vstr d15, [sp, #72] @ 0x48 │ │ │ │ │ - vstr d3, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d15, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d3, [sp, #144] @ 0x90 │ │ │ │ │ vadd.f64 d3, d2, d7 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ vsub.f64 d1, d3, d5 │ │ │ │ │ vadd.f64 d5, d3, d5 │ │ │ │ │ - vstr d5, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d5, [pc, #968] @ 568 │ │ │ │ │ - vstr d1, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d1, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d5, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d5, [pc, #960] @ 578 │ │ │ │ │ vmul.f64 d7, d7, d5 │ │ │ │ │ vmul.f64 d4, d4, d5 │ │ │ │ │ vsub.f64 d2, d7, d6 │ │ │ │ │ - vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d7, [sp, #80] @ 0x50 │ │ │ │ │ + vadd.f64 d6, d7, d6 │ │ │ │ │ vsub.f64 d7, d13, d11 │ │ │ │ │ vadd.f64 d11, d11, d13 │ │ │ │ │ - vstr d2, [sp, #192] @ 0xc0 │ │ │ │ │ - vadd.f64 d2, d7, d4 │ │ │ │ │ - vsub.f64 d4, d7, d4 │ │ │ │ │ + vstr d6, [sp, #64] @ 0x40 │ │ │ │ │ vsub.f64 d13, d11, d12 │ │ │ │ │ - vadd.f64 d12, d11, d12 │ │ │ │ │ - vstr d2, [sp, #88] @ 0x58 │ │ │ │ │ - vstr d4, [sp, #96] @ 0x60 │ │ │ │ │ - vstr d13, [sp, #104] @ 0x68 │ │ │ │ │ - ldr r1, [sp, #0] │ │ │ │ │ - vldr d6, [fp] │ │ │ │ │ - add.w fp, r4, r1 │ │ │ │ │ - ldr r1, [sp, #8] │ │ │ │ │ - vstr d12, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d7, [r8] │ │ │ │ │ - mov.w r8, #80 @ 0x50 │ │ │ │ │ - vldr d13, [fp] │ │ │ │ │ - add.w fp, r4, r1 │ │ │ │ │ - ldr r1, [sp, #16] │ │ │ │ │ - vldr d3, [r9] │ │ │ │ │ - mov.w r9, ip, lsl #3 │ │ │ │ │ - vldr d1, [fp] │ │ │ │ │ - add.w fp, r4, r1 │ │ │ │ │ - ldr r1, [sp, #24] │ │ │ │ │ - vadd.f64 d12, d6, d13 │ │ │ │ │ + vadd.f64 d6, d7, d4 │ │ │ │ │ + vadd.f64 d11, d11, d12 │ │ │ │ │ + vsub.f64 d4, d7, d4 │ │ │ │ │ + vstr d6, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d4, [sp, #80] @ 0x50 │ │ │ │ │ + vstr d13, [sp, #88] @ 0x58 │ │ │ │ │ + vstr d2, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d11, [sp, #96] @ 0x60 │ │ │ │ │ + ldr r2, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d6, [lr] │ │ │ │ │ + vldr d11, [r0] │ │ │ │ │ + add.w lr, r8, r2 │ │ │ │ │ + ldr r2, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d15, [lr] │ │ │ │ │ + add.w lr, r8, r2 │ │ │ │ │ + ldr r2, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d1, [lr] │ │ │ │ │ + vadd.f64 d12, d6, d15 │ │ │ │ │ + vsub.f64 d7, d6, d15 │ │ │ │ │ + add.w lr, r8, r2 │ │ │ │ │ + ldr r2, [sp, #0] │ │ │ │ │ + vldr d6, [lr] │ │ │ │ │ + vmov.f64 d3, d1 │ │ │ │ │ + vstr d7, [sp, #104] @ 0x68 │ │ │ │ │ + add.w lr, r8, r2 │ │ │ │ │ + ldr r2, [sp, #8] │ │ │ │ │ + vldr d13, [lr] │ │ │ │ │ + mov.w lr, r6, lsl #6 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + add.w r0, r8, r2 │ │ │ │ │ + vldr d2, [r0] │ │ │ │ │ + vadd.f64 d5, d6, d13 │ │ │ │ │ vsub.f64 d13, d6, d13 │ │ │ │ │ - vldr d2, [lr] │ │ │ │ │ - vldr d6, [fp] │ │ │ │ │ - add.w fp, r4, r1 │ │ │ │ │ - ldr r1, [sp, #32] │ │ │ │ │ - vmov.f64 d9, d1 │ │ │ │ │ - mul.w r8, r8, ip │ │ │ │ │ - vldr d11, [fp] │ │ │ │ │ - add.w lr, r4, r1 │ │ │ │ │ - ldr r1, [sp, #40] @ 0x28 │ │ │ │ │ - mov.w fp, #24 │ │ │ │ │ - vadd.f64 d5, d6, d11 │ │ │ │ │ - vsub.f64 d11, d6, d11 │ │ │ │ │ - vadd.f64 d6, d3, d7 │ │ │ │ │ - vsub.f64 d3, d3, d7 │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ - add.w lr, r4, r1 │ │ │ │ │ - movs r1, #40 @ 0x28 │ │ │ │ │ - vmls.f64 d9, d5, d14 │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + mov.w ip, r6, lsl #4 │ │ │ │ │ + vadd.f64 d9, d2, d7 │ │ │ │ │ + vsub.f64 d2, d2, d7 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + vmls.f64 d3, d5, d14 │ │ │ │ │ vadd.f64 d1, d1, d5 │ │ │ │ │ - vldr d5, [sl] │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + vadd.f64 d4, d6, d11 │ │ │ │ │ + vsub.f64 d11, d6, d11 │ │ │ │ │ + mov.w r4, r6, lsl #5 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + mov.w r5, r6, lsl #3 │ │ │ │ │ + add.w r3, r7, r5 │ │ │ │ │ + vstr d1, [sp] │ │ │ │ │ + vmov.f64 d10, d3 │ │ │ │ │ + vmov.f64 d3, d5 │ │ │ │ │ + vadd.f64 d5, d5, d4 │ │ │ │ │ + vmls.f64 d3, d4, d14 │ │ │ │ │ + vadd.f64 d4, d7, d6 │ │ │ │ │ + vsub.f64 d7, d7, d6 │ │ │ │ │ + vsub.f64 d1, d5, d1 │ │ │ │ │ + vadd.f64 d6, d9, d4 │ │ │ │ │ + vsub.f64 d4, d4, d9 │ │ │ │ │ + vldr d9, [pc, #708] @ 578 │ │ │ │ │ vadd.f64 d8, d2, d7 │ │ │ │ │ - vsub.f64 d2, d2, d7 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - add.w r5, r0, r9 │ │ │ │ │ - mul.w r1, r1, ip │ │ │ │ │ - vmov.f64 d0, d5 │ │ │ │ │ - add r9, r6 │ │ │ │ │ - vmls.f64 d0, d6, d14 │ │ │ │ │ - vadd.f64 d5, d5, d6 │ │ │ │ │ - vldr d6, [lr] │ │ │ │ │ - mov.w lr, ip, lsl #5 │ │ │ │ │ - vstr d9, [sp] │ │ │ │ │ - vadd.f64 d4, d6, d7 │ │ │ │ │ - vsub.f64 d6, d6, d7 │ │ │ │ │ - vsub.f64 d10, d5, d1 │ │ │ │ │ - vadd.f64 d5, d1, d5 │ │ │ │ │ - vldr d1, [sp, #72] @ 0x48 │ │ │ │ │ - vmov.f64 d15, d0 │ │ │ │ │ - vadd.f64 d7, d8, d4 │ │ │ │ │ - vadd.f64 d0, d2, d6 │ │ │ │ │ - vstr d10, [sp, #120] @ 0x78 │ │ │ │ │ - vsub.f64 d4, d4, d8 │ │ │ │ │ - vldr d8, [pc, #680] @ 568 │ │ │ │ │ - vsub.f64 d6, d6, d2 │ │ │ │ │ - vldr d2, [pc, #680] @ 570 │ │ │ │ │ - vadd.f64 d10, d13, d0 │ │ │ │ │ - vstr d0, [sp, #8] │ │ │ │ │ - vmul.f64 d4, d4, d8 │ │ │ │ │ - vstr d10, [sp, #128] @ 0x80 │ │ │ │ │ - vadd.f64 d10, d9, d15 │ │ │ │ │ - vmov.f64 d9, d12 │ │ │ │ │ - vmls.f64 d9, d7, d14 │ │ │ │ │ - vadd.f64 d7, d12, d7 │ │ │ │ │ - vsub.f64 d0, d10, d9 │ │ │ │ │ - vadd.f64 d10, d10, d9 │ │ │ │ │ - vldr d9, [sp] │ │ │ │ │ - vsub.f64 d15, d15, d9 │ │ │ │ │ - vstr d0, [sp, #16] │ │ │ │ │ - vldr d9, [pc, #608] @ 560 │ │ │ │ │ - vadd.f64 d0, d15, d4 │ │ │ │ │ - vsub.f64 d4, d15, d4 │ │ │ │ │ - vstr d0, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d0, [sp, #8] │ │ │ │ │ - vstr d4, [sp, #136] @ 0x88 │ │ │ │ │ - vsub.f64 d4, d5, d7 │ │ │ │ │ - vadd.f64 d7, d5, d7 │ │ │ │ │ - vadd.f64 d5, d11, d3 │ │ │ │ │ - vmls.f64 d13, d0, d14 │ │ │ │ │ - vsub.f64 d11, d11, d3 │ │ │ │ │ - vldr d3, [pc, #588] @ 578 │ │ │ │ │ + vsub.f64 d7, d7, d2 │ │ │ │ │ + vstr d1, [sp, #8] │ │ │ │ │ + vldr d1, [sp, #104] @ 0x68 │ │ │ │ │ + vadd.f64 d0, d10, d3 │ │ │ │ │ vmul.f64 d4, d4, d9 │ │ │ │ │ - vsub.f64 d12, d6, d5 │ │ │ │ │ - vadd.f64 d9, d5, d6 │ │ │ │ │ - vmul.f64 d11, d11, d8 │ │ │ │ │ - vldr d6, [sp, #48] @ 0x30 │ │ │ │ │ - vadd.f64 d6, d6, d1 │ │ │ │ │ - vsub.f64 d5, d13, d11 │ │ │ │ │ - vadd.f64 d8, d13, d11 │ │ │ │ │ - vldr d13, [pc, #560] @ 580 │ │ │ │ │ - vstr d5, [sp, #144] @ 0x90 │ │ │ │ │ - vstr d8, [sp, #152] @ 0x98 │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ - vldr d14, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d0, [sp, #16] │ │ │ │ │ - vldr d5, [pc, #544] @ 588 │ │ │ │ │ - vadd.f64 d6, d14, d7 │ │ │ │ │ - vldr d15, [sp, #56] @ 0x38 │ │ │ │ │ - vstr d12, [sp] │ │ │ │ │ - vldr d11, [sp, #80] @ 0x50 │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ - vmul.f64 d6, d0, d13 │ │ │ │ │ - vmla.f64 d6, d9, d5 │ │ │ │ │ - vmul.f64 d5, d10, d3 │ │ │ │ │ - vmla.f64 d5, d12, d2 │ │ │ │ │ - vldr d3, [pc, #512] @ 590 │ │ │ │ │ - vldr d13, [pc, #516] @ 598 │ │ │ │ │ - vldr d2, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d0, [pc, #516] @ 5a0 │ │ │ │ │ - vsub.f64 d12, d5, d6 │ │ │ │ │ - vadd.f64 d8, d6, d5 │ │ │ │ │ - vmul.f64 d6, d15, d3 │ │ │ │ │ - vldr d15, [sp, #192] @ 0xc0 │ │ │ │ │ - vstr d8, [sp, #32] │ │ │ │ │ - vmov.f64 d5, d6 │ │ │ │ │ - vmul.f64 d6, d11, d13 │ │ │ │ │ - vldr d8, [pc, #492] @ 5a8 │ │ │ │ │ - vmla.f64 d5, d2, d0 │ │ │ │ │ - vldr d11, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d2, [pc, #488] @ 5b0 │ │ │ │ │ - vnmls.f64 d6, d11, d8 │ │ │ │ │ - vldr d11, [sp, #88] @ 0x58 │ │ │ │ │ - vmul.f64 d2, d11, d2 │ │ │ │ │ - vldr d11, [pc, #480] @ 5b8 │ │ │ │ │ - vstr d5, [sp, #8] │ │ │ │ │ - vmla.f64 d2, d15, d11 │ │ │ │ │ - vsub.f64 d1, d6, d2 │ │ │ │ │ - vadd.f64 d2, d6, d2 │ │ │ │ │ - vldr d6, [sp, #64] @ 0x40 │ │ │ │ │ - vmul.f64 d6, d6, d3 │ │ │ │ │ - vldr d3, [sp, #56] @ 0x38 │ │ │ │ │ - vadd.f64 d5, d5, d1 │ │ │ │ │ + vadd.f64 d1, d1, d8 │ │ │ │ │ + vstr d1, [sp, #160] @ 0xa0 │ │ │ │ │ + vmov.f64 d1, d3 │ │ │ │ │ + vmov.f64 d3, d12 │ │ │ │ │ + vmls.f64 d3, d6, d14 │ │ │ │ │ + vsub.f64 d10, d1, d10 │ │ │ │ │ + vldr d1, [sp] │ │ │ │ │ + vadd.f64 d6, d12, d6 │ │ │ │ │ + vldr d12, [pc, #640] @ 570 │ │ │ │ │ + vadd.f64 d5, d1, d5 │ │ │ │ │ + vldr d1, [sp, #40] @ 0x28 │ │ │ │ │ + vsub.f64 d15, d0, d3 │ │ │ │ │ + vadd.f64 d3, d0, d3 │ │ │ │ │ + vadd.f64 d0, d10, d4 │ │ │ │ │ + vsub.f64 d4, d10, d4 │ │ │ │ │ + vldr d10, [sp, #16] │ │ │ │ │ + vstr d15, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d15, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d4, [sp, #120] @ 0x78 │ │ │ │ │ + vsub.f64 d4, d5, d6 │ │ │ │ │ + vadd.f64 d6, d5, d6 │ │ │ │ │ + vadd.f64 d5, d13, d11 │ │ │ │ │ + vsub.f64 d13, d13, d11 │ │ │ │ │ + vstr d0, [sp, #168] @ 0xa8 │ │ │ │ │ + vmls.f64 d15, d8, d14 │ │ │ │ │ + vldr d14, [pc, #588] @ 580 │ │ │ │ │ + vmul.f64 d4, d4, d12 │ │ │ │ │ + vmul.f64 d13, d13, d9 │ │ │ │ │ + vadd.f64 d2, d5, d7 │ │ │ │ │ + vldr d8, [pc, #580] @ 588 │ │ │ │ │ + vsub.f64 d7, d7, d5 │ │ │ │ │ + vadd.f64 d5, d10, d1 │ │ │ │ │ + vldr d10, [pc, #576] @ 590 │ │ │ │ │ + vmul.f64 d1, d3, d14 │ │ │ │ │ + vsub.f64 d9, d15, d13 │ │ │ │ │ + vadd.f64 d12, d15, d13 │ │ │ │ │ + vstr d5, [r9] │ │ │ │ │ + vmla.f64 d1, d7, d8 │ │ │ │ │ + vstr d9, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d12, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d5, [sp, #24] │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ + vldr d9, [pc, #544] @ 598 │ │ │ │ │ + vldr d15, [sp, #112] @ 0x70 │ │ │ │ │ + vadd.f64 d5, d5, d6 │ │ │ │ │ + vldr d12, [pc, #540] @ 5a0 │ │ │ │ │ + vldr d8, [sp, #32] │ │ │ │ │ + vldr d11, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d5, [r7] │ │ │ │ │ + vmul.f64 d5, d15, d9 │ │ │ │ │ + vldr d14, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d9, [pc, #524] @ 5a8 │ │ │ │ │ + vmla.f64 d5, d2, d12 │ │ │ │ │ + vldr d15, [sp, #152] @ 0x98 │ │ │ │ │ + vsub.f64 d12, d1, d5 │ │ │ │ │ + vadd.f64 d0, d5, d1 │ │ │ │ │ + vldr d5, [pc, #512] @ 5b0 │ │ │ │ │ + vldr d1, [pc, #516] @ 5b8 │ │ │ │ │ + vmul.f64 d5, d11, d5 │ │ │ │ │ + vstr d0, [sp, #176] @ 0xb0 │ │ │ │ │ + vldr d0, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d11, [pc, #508] @ 5c0 │ │ │ │ │ + vnmls.f64 d5, d14, d1 │ │ │ │ │ + vldr d14, [sp, #72] @ 0x48 │ │ │ │ │ + vmul.f64 d13, d0, d9 │ │ │ │ │ + vmla.f64 d13, d8, d10 │ │ │ │ │ + vmul.f64 d8, d14, d11 │ │ │ │ │ + vldr d14, [pc, #492] @ 5c8 │ │ │ │ │ + vldr d11, [pc, #496] @ 5d0 │ │ │ │ │ + vmla.f64 d8, d15, d14 │ │ │ │ │ + vsub.f64 d1, d5, d8 │ │ │ │ │ + vadd.f64 d5, d5, d8 │ │ │ │ │ + vldr d8, [sp, #32] │ │ │ │ │ + vmul.f64 d9, d8, d9 │ │ │ │ │ + vldr d8, [pc, #464] @ 5c8 │ │ │ │ │ + vmul.f64 d11, d5, d11 │ │ │ │ │ + vadd.f64 d14, d13, d1 │ │ │ │ │ vadd.f64 d1, d1, d1 │ │ │ │ │ - vnmls.f64 d6, d3, d0 │ │ │ │ │ - vldr d3, [pc, #428] @ 5b0 │ │ │ │ │ - vldr d0, [sp, #88] @ 0x58 │ │ │ │ │ - vstr d5, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d5, [pc, #432] @ 5c0 │ │ │ │ │ - vmul.f64 d2, d2, d5 │ │ │ │ │ - vstr d6, [sp, #24] │ │ │ │ │ - vmul.f64 d6, d15, d3 │ │ │ │ │ - vldr d15, [pc, #424] @ 5c8 │ │ │ │ │ - vnmls.f64 d6, d0, d11 │ │ │ │ │ - vldr d11, [sp, #96] @ 0x60 │ │ │ │ │ + vnmls.f64 d9, d0, d10 │ │ │ │ │ + vldr d10, [pc, #436] @ 5c0 │ │ │ │ │ + vldr d0, [sp, #72] @ 0x48 │ │ │ │ │ + vsub.f64 d1, d1, d13 │ │ │ │ │ + vldr d13, [pc, #384] @ 598 │ │ │ │ │ + vmul.f64 d5, d15, d10 │ │ │ │ │ + vldr d15, [sp, #112] @ 0x70 │ │ │ │ │ + vnmls.f64 d5, d0, d8 │ │ │ │ │ vldr d0, [sp, #80] @ 0x50 │ │ │ │ │ - vmul.f64 d3, d11, d13 │ │ │ │ │ - vmla.f64 d3, d0, d8 │ │ │ │ │ - vsub.f64 d0, d6, d3 │ │ │ │ │ - vadd.f64 d6, d6, d3 │ │ │ │ │ - vmul.f64 d11, d6, d5 │ │ │ │ │ - vldr d6, [sp, #24] │ │ │ │ │ - vsub.f64 d8, d6, d0 │ │ │ │ │ - vldr d6, [pc, #388] @ 5d0 │ │ │ │ │ - vadd.f64 d0, d0, d0 │ │ │ │ │ - vmul.f64 d3, d9, d6 │ │ │ │ │ - vldr d9, [sp, #16] │ │ │ │ │ - vldr d6, [pc, #380] @ 5d8 │ │ │ │ │ - vnmls.f64 d3, d9, d6 │ │ │ │ │ - vldr d6, [sp] │ │ │ │ │ - str r1, [sp, #0] │ │ │ │ │ - vmul.f64 d6, d6, d15 │ │ │ │ │ - vldr d15, [pc, #372] @ 5e0 │ │ │ │ │ - vnmls.f64 d6, d10, d15 │ │ │ │ │ - vldr d10, [pc, #372] @ 5e8 │ │ │ │ │ - vsub.f64 d9, d4, d3 │ │ │ │ │ - vadd.f64 d3, d3, d3 │ │ │ │ │ - vmls.f64 d14, d7, d10 │ │ │ │ │ - vadd.f64 d3, d3, d4 │ │ │ │ │ - vsub.f64 d7, d14, d6 │ │ │ │ │ - vadd.f64 d6, d6, d6 │ │ │ │ │ - vadd.f64 d6, d6, d14 │ │ │ │ │ - vldr d14, [sp, #24] │ │ │ │ │ - vadd.f64 d4, d9, d7 │ │ │ │ │ - vsub.f64 d7, d7, d9 │ │ │ │ │ - vadd.f64 d0, d0, d14 │ │ │ │ │ - vadd.f64 d9, d3, d6 │ │ │ │ │ - vsub.f64 d6, d6, d3 │ │ │ │ │ - vadd.f64 d10, d0, d9 │ │ │ │ │ - vsub.f64 d9, d9, d0 │ │ │ │ │ - vstr d10, [r5] │ │ │ │ │ - movs r5, #96 @ 0x60 │ │ │ │ │ - mul.w sl, r5, ip │ │ │ │ │ - add.w r5, r0, sl │ │ │ │ │ - add sl, r6 │ │ │ │ │ - vstr d9, [r5] │ │ │ │ │ - adds r5, r0, r1 │ │ │ │ │ - vldr d9, [sp, #8] │ │ │ │ │ - vsub.f64 d1, d1, d9 │ │ │ │ │ - vadd.f64 d3, d1, d6 │ │ │ │ │ - vsub.f64 d6, d6, d1 │ │ │ │ │ - vstr d3, [r5] │ │ │ │ │ - mov.w r5, ip, lsl #6 │ │ │ │ │ - str r5, [sp, #8] │ │ │ │ │ - adds r5, r0, r5 │ │ │ │ │ - vadd.f64 d3, d12, d2 │ │ │ │ │ - vsub.f64 d2, d12, d2 │ │ │ │ │ - vldr d12, [pc, #136] @ 578 │ │ │ │ │ - vstr d6, [r5] │ │ │ │ │ - vsub.f64 d6, d4, d8 │ │ │ │ │ - add.w r5, r0, lr │ │ │ │ │ - vadd.f64 d8, d8, d4 │ │ │ │ │ - add lr, r6 │ │ │ │ │ - vsub.f64 d1, d6, d3 │ │ │ │ │ - vadd.f64 d6, d6, d3 │ │ │ │ │ - vstr d1, [r5] │ │ │ │ │ - add.w r5, r0, r8 │ │ │ │ │ - vldr d1, [pc, #164] @ 5b8 │ │ │ │ │ - add r8, r6 │ │ │ │ │ - vstr d6, [r5] │ │ │ │ │ - mul.w r5, fp, ip │ │ │ │ │ - vadd.f64 d6, d2, d8 │ │ │ │ │ - str r5, [sp, #16] │ │ │ │ │ - vldr d9, [sp, #32] │ │ │ │ │ - adds r5, r0, r5 │ │ │ │ │ - vldr d14, [sp, #40] @ 0x28 │ │ │ │ │ - mov.w fp, #48 @ 0x30 │ │ │ │ │ - vsub.f64 d8, d8, d2 │ │ │ │ │ - vldr d10, [sp, #184] @ 0xb8 │ │ │ │ │ - vstr d6, [r5] │ │ │ │ │ - vadd.f64 d6, d11, d7 │ │ │ │ │ - vadd.f64 d4, d9, d14 │ │ │ │ │ - adds r5, r0, r3 │ │ │ │ │ - mul.w r1, fp, ip │ │ │ │ │ - mov.w fp, #88 @ 0x58 │ │ │ │ │ - vsub.f64 d7, d7, d11 │ │ │ │ │ - str r1, [sp, #24] │ │ │ │ │ - b.n 5f8 │ │ │ │ │ + vldr d8, [pc, #388] @ 5b0 │ │ │ │ │ + vmul.f64 d10, d0, d8 │ │ │ │ │ + vldr d0, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d8, [pc, #384] @ 5b8 │ │ │ │ │ + vmla.f64 d10, d0, d8 │ │ │ │ │ + vldr d0, [pc, #408] @ 5d8 │ │ │ │ │ + vmul.f64 d2, d2, d0 │ │ │ │ │ + vldr d0, [pc, #408] @ 5e0 │ │ │ │ │ + vsub.f64 d8, d5, d10 │ │ │ │ │ + vadd.f64 d10, d5, d10 │ │ │ │ │ + vldr d5, [pc, #380] @ 5d0 │ │ │ │ │ + vnmls.f64 d2, d15, d0 │ │ │ │ │ + vldr d15, [pc, #396] @ 5e8 │ │ │ │ │ + vmul.f64 d10, d10, d5 │ │ │ │ │ + vsub.f64 d5, d9, d8 │ │ │ │ │ + vadd.f64 d8, d8, d8 │ │ │ │ │ + vmul.f64 d7, d7, d15 │ │ │ │ │ + vldr d15, [pc, #384] @ 5f0 │ │ │ │ │ + vsub.f64 d0, d4, d2 │ │ │ │ │ + vadd.f64 d2, d2, d2 │ │ │ │ │ + vadd.f64 d8, d8, d9 │ │ │ │ │ + vldr d9, [pc, #320] @ 5c0 │ │ │ │ │ + vnmls.f64 d7, d3, d15 │ │ │ │ │ + vldr d3, [sp, #24] │ │ │ │ │ + vldr d15, [pc, #364] @ 5f8 │ │ │ │ │ + vadd.f64 d2, d2, d4 │ │ │ │ │ + vmls.f64 d3, d6, d15 │ │ │ │ │ + vsub.f64 d6, d3, d7 │ │ │ │ │ + vadd.f64 d7, d7, d7 │ │ │ │ │ + vadd.f64 d7, d7, d3 │ │ │ │ │ + vadd.f64 d4, d0, d6 │ │ │ │ │ + vsub.f64 d6, d6, d0 │ │ │ │ │ + vadd.f64 d3, d2, d7 │ │ │ │ │ + vsub.f64 d7, d7, d2 │ │ │ │ │ + vadd.f64 d0, d8, d3 │ │ │ │ │ + vsub.f64 d3, d3, d8 │ │ │ │ │ + vldr d8, [pc, #276] @ 5d0 │ │ │ │ │ + vstr d0, [r3] │ │ │ │ │ + add.w r3, r6, r6, lsl #1 │ │ │ │ │ + mov.w r2, r3, lsl #5 │ │ │ │ │ + add.w r1, r7, r2 │ │ │ │ │ + str r2, [sp, #24] │ │ │ │ │ + mov.w r2, r3, lsl #3 │ │ │ │ │ + vstr d3, [r1] │ │ │ │ │ + add.w r1, r6, r6, lsl #2 │ │ │ │ │ + vadd.f64 d3, d1, d7 │ │ │ │ │ + vsub.f64 d7, d7, d1 │ │ │ │ │ + mov.w r3, r3, lsl #4 │ │ │ │ │ + vldr d1, [pc, #208] @ 5b8 │ │ │ │ │ + mov.w r0, r1, lsl #3 │ │ │ │ │ + mov.w r1, r1, lsl #4 │ │ │ │ │ + str r0, [sp, #32] │ │ │ │ │ + add r0, r7 │ │ │ │ │ + str r2, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ + add.w r0, r7, lr │ │ │ │ │ + vadd.f64 d3, d12, d11 │ │ │ │ │ + vsub.f64 d11, d12, d11 │ │ │ │ │ + str r3, [sp, #72] @ 0x48 │ │ │ │ │ + add lr, r9 │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ + vsub.f64 d7, d4, d5 │ │ │ │ │ + vadd.f64 d5, d5, d4 │ │ │ │ │ + add.w r0, r7, r4 │ │ │ │ │ + vsub.f64 d2, d7, d3 │ │ │ │ │ + vadd.f64 d7, d7, d3 │ │ │ │ │ + vldr d3, [sp, #176] @ 0xb0 │ │ │ │ │ + vadd.f64 d4, d11, d5 │ │ │ │ │ + vsub.f64 d5, d5, d11 │ │ │ │ │ + vstr d2, [r0] │ │ │ │ │ + add.w r0, r7, r1 │ │ │ │ │ + add r1, r9 │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ + add.w r0, r7, r2 │ │ │ │ │ + vadd.f64 d7, d10, d6 │ │ │ │ │ + vsub.f64 d6, d6, d10 │ │ │ │ │ + vldr d10, [pc, #124] @ 5c8 │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ + add.w r0, r5, r6 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ + add.w r4, r7, r0 │ │ │ │ │ + add r0, r9 │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ + vadd.f64 d5, d3, d14 │ │ │ │ │ + b.n 608 │ │ │ │ │ nop │ │ │ │ │ nop.w │ │ │ │ │ .word 0x82eb914d │ │ │ │ │ .word 0x3fd33ac7 │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3febb67a │ │ │ │ │ - .word 0x300c3896 │ │ │ │ │ - .word 0x3fbd2591 │ │ │ │ │ .word 0xb20f3131 │ │ │ │ │ .word 0x3fe01cf9 │ │ │ │ │ + .word 0x300c3896 │ │ │ │ │ + .word 0x3fbd2591 │ │ │ │ │ + .word 0x87f60797 │ │ │ │ │ + .word 0x3fe2678d │ │ │ │ │ .word 0x4d8debb7 │ │ │ │ │ .word 0x3fd10597 │ │ │ │ │ .word 0xe1d7263e │ │ │ │ │ .word 0x3fd8cb01 │ │ │ │ │ .word 0x7675b5d5 │ │ │ │ │ .word 0x3fc64a2c │ │ │ │ │ .word 0x60cb959a │ │ │ │ │ .word 0x3fc41504 │ │ │ │ │ - .word 0x87f60797 │ │ │ │ │ - .word 0x3fe2678d │ │ │ │ │ .word 0xa247fdba │ │ │ │ │ .word 0x3fd0665c │ │ │ │ │ .word 0x1c9e25a7 │ │ │ │ │ .word 0x3fd3371c │ │ │ │ │ .word 0x99eac08d │ │ │ │ │ .word 0x3f87c145 │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3ffbb67a │ │ │ │ │ - .word 0xb20f3131 │ │ │ │ │ - .word 0x3fd01cf9 │ │ │ │ │ .word 0x4d8debb7 │ │ │ │ │ .word 0x3fc10597 │ │ │ │ │ .word 0x968f6ed4 │ │ │ │ │ .word 0x3fd08756 │ │ │ │ │ + .word 0xb20f3131 │ │ │ │ │ + .word 0x3fd01cf9 │ │ │ │ │ .word 0xcab2d064 │ │ │ │ │ .word 0x3fb36e60 │ │ │ │ │ .word 0x55555555 │ │ │ │ │ .word 0x3fb55555 │ │ │ │ │ - .word 0x000005d4 │ │ │ │ │ + .word 0x000005d6 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - vstr d8, [r5] │ │ │ │ │ - adds r5, r0, r1 │ │ │ │ │ - vsub.f64 d3, d6, d4 │ │ │ │ │ - vadd.f64 d6, d6, d4 │ │ │ │ │ - vldr d2, [pc, #592] @ 858 │ │ │ │ │ - add r3, r6 │ │ │ │ │ - vldr d11, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d15, [sp, #200] @ 0xc8 │ │ │ │ │ - vstr d3, [r5] │ │ │ │ │ - mul.w r5, fp, ip │ │ │ │ │ - str r5, [sp, #32] │ │ │ │ │ - adds r5, r0, r5 │ │ │ │ │ - vldr d3, [pc, #572] @ 860 │ │ │ │ │ - vldr d8, [pc, #576] @ 868 │ │ │ │ │ - vstr d6, [r5] │ │ │ │ │ - vsub.f64 d6, d9, d14 │ │ │ │ │ - mov.w r5, ip, lsl #4 │ │ │ │ │ - vldr d14, [pc, #568] @ 870 │ │ │ │ │ - add.w fp, r0, r5 │ │ │ │ │ - vldr d9, [sp, #176] @ 0xb0 │ │ │ │ │ - add r5, r6 │ │ │ │ │ - vadd.f64 d4, d6, d7 │ │ │ │ │ - vsub.f64 d7, d7, d6 │ │ │ │ │ - vstr d4, [fp] │ │ │ │ │ - mov.w fp, #56 @ 0x38 │ │ │ │ │ - vldr d4, [sp, #112] @ 0x70 │ │ │ │ │ - mul.w r1, fp, ip │ │ │ │ │ - str r1, [sp, #40] @ 0x28 │ │ │ │ │ - add.w fp, r0, r1 │ │ │ │ │ - vstr d7, [fp] │ │ │ │ │ - vldr d7, [sp, #104] @ 0x68 │ │ │ │ │ - vmul.f64 d6, d7, d14 │ │ │ │ │ - vmul.f64 d7, d4, d12 │ │ │ │ │ - vldr d14, [pc, #516] @ 878 │ │ │ │ │ - vldr d12, [pc, #520] @ 880 │ │ │ │ │ - vldr d4, [sp, #120] @ 0x78 │ │ │ │ │ - vmla.f64 d6, d9, d14 │ │ │ │ │ - vnmls.f64 d7, d10, d12 │ │ │ │ │ - vadd.f64 d14, d6, d7 │ │ │ │ │ + vsub.f64 d14, d3, d14 │ │ │ │ │ + add.w r4, r7, r3 │ │ │ │ │ + vldr d3, [pc, #596] @ 868 │ │ │ │ │ + vsub.f64 d4, d7, d5 │ │ │ │ │ + vadd.f64 d7, d7, d5 │ │ │ │ │ + vadd.f64 d5, d14, d6 │ │ │ │ │ + vsub.f64 d6, d6, d14 │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ + mov.w r4, #88 @ 0x58 │ │ │ │ │ + mul.w r2, r6, r4 │ │ │ │ │ + add.w r4, r7, r2 │ │ │ │ │ + add r2, r9 │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + add.w r4, r7, ip │ │ │ │ │ + add ip, r9 │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ + sub.w r4, r5, r6 │ │ │ │ │ + add r5, r9 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + vldr d5, [pc, #544] @ 870 │ │ │ │ │ + add.w r3, r7, r4 │ │ │ │ │ + vldr d7, [sp, #48] @ 0x30 │ │ │ │ │ + add r4, r9 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + vldr d0, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d6, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d14, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d11, [sp, #8] │ │ │ │ │ + vmul.f64 d6, d6, d13 │ │ │ │ │ + vldr d13, [pc, #512] @ 878 │ │ │ │ │ + vldr d4, [sp, #56] @ 0x38 │ │ │ │ │ + vmul.f64 d15, d14, d5 │ │ │ │ │ + vmul.f64 d14, d14, d3 │ │ │ │ │ + ldr r3, [sp, #24] │ │ │ │ │ + vmla.f64 d6, d7, d13 │ │ │ │ │ + vldr d13, [pc, #500] @ 880 │ │ │ │ │ + vmla.f64 d15, d11, d3 │ │ │ │ │ + vldr d11, [sp, #120] @ 0x78 │ │ │ │ │ + add r3, r9 │ │ │ │ │ + vldr d2, [sp, #128] @ 0x80 │ │ │ │ │ + vmul.f64 d7, d0, d13 │ │ │ │ │ + vldr d13, [pc, #484] @ 888 │ │ │ │ │ + vnmls.f64 d7, d4, d13 │ │ │ │ │ + vldr d4, [sp, #104] @ 0x68 │ │ │ │ │ + vadd.f64 d13, d6, d7 │ │ │ │ │ vsub.f64 d12, d6, d7 │ │ │ │ │ - vldr d6, [sp, #128] @ 0x80 │ │ │ │ │ - vmul.f64 d7, d6, d3 │ │ │ │ │ - vmla.f64 d7, d4, d2 │ │ │ │ │ - vldr d4, [sp, #136] @ 0x88 │ │ │ │ │ - vmov.f64 d0, d7 │ │ │ │ │ - vldr d7, [pc, #484] @ 888 │ │ │ │ │ - vmul.f64 d7, d4, d7 │ │ │ │ │ - vstr d0, [sp, #56] @ 0x38 │ │ │ │ │ - vnmls.f64 d7, d11, d1 │ │ │ │ │ - vldr d11, [sp, #144] @ 0x90 │ │ │ │ │ - vmul.f64 d6, d11, d13 │ │ │ │ │ - vnmls.f64 d6, d15, d8 │ │ │ │ │ + vmul.f64 d7, d11, d9 │ │ │ │ │ + vnmls.f64 d7, d2, d10 │ │ │ │ │ + vldr d2, [pc, #464] @ 890 │ │ │ │ │ + vstr d13, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d13, [sp, #168] @ 0xa8 │ │ │ │ │ + vmul.f64 d6, d4, d2 │ │ │ │ │ + vnmls.f64 d6, d13, d1 │ │ │ │ │ vadd.f64 d4, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #128] @ 0x80 │ │ │ │ │ - vmul.f64 d11, d7, d5 │ │ │ │ │ - vmul.f64 d7, d6, d2 │ │ │ │ │ - vldr d2, [sp, #120] @ 0x78 │ │ │ │ │ - vmul.f64 d6, d15, d13 │ │ │ │ │ - vldr d13, [sp, #136] @ 0x88 │ │ │ │ │ - vadd.f64 d0, d0, d4 │ │ │ │ │ - vldr d15, [pc, #428] @ 890 │ │ │ │ │ + vldr d6, [sp, #8] │ │ │ │ │ + vnmls.f64 d14, d6, d5 │ │ │ │ │ + vmul.f64 d6, d13, d2 │ │ │ │ │ + vldr d2, [sp, #104] @ 0x68 │ │ │ │ │ + vmul.f64 d11, d7, d8 │ │ │ │ │ + vadd.f64 d0, d15, d4 │ │ │ │ │ + vldr d5, [sp, #120] @ 0x78 │ │ │ │ │ vadd.f64 d4, d4, d4 │ │ │ │ │ - vnmls.f64 d7, d2, d3 │ │ │ │ │ - vldr d3, [sp, #144] @ 0x90 │ │ │ │ │ - vmla.f64 d6, d3, d8 │ │ │ │ │ - vldr d3, [pc, #400] @ 888 │ │ │ │ │ - vldr d8, [sp, #168] @ 0xa8 │ │ │ │ │ - vmov.f64 d2, d7 │ │ │ │ │ - vmul.f64 d7, d13, d1 │ │ │ │ │ - vldr d13, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d1, [pc, #396] @ 898 │ │ │ │ │ - vmla.f64 d7, d13, d3 │ │ │ │ │ - vmov.f64 d13, d2 │ │ │ │ │ + vldr d13, [pc, #412] @ 898 │ │ │ │ │ + vmla.f64 d6, d2, d1 │ │ │ │ │ + vldr d2, [sp, #128] @ 0x80 │ │ │ │ │ + vmul.f64 d7, d5, d10 │ │ │ │ │ + vldr d5, [pc, #404] @ 8a0 │ │ │ │ │ + vsub.f64 d4, d4, d15 │ │ │ │ │ + vldr d1, [pc, #404] @ 8a8 │ │ │ │ │ + vldr d10, [pc, #408] @ 8b0 │ │ │ │ │ + vmla.f64 d7, d2, d9 │ │ │ │ │ + vldr d9, [pc, #408] @ 8b8 │ │ │ │ │ vsub.f64 d3, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [sp, #104] @ 0x68 │ │ │ │ │ - vmul.f64 d6, d6, d5 │ │ │ │ │ - vmul.f64 d5, d9, d15 │ │ │ │ │ - vldr d9, [pc, #372] @ 8a0 │ │ │ │ │ - vsub.f64 d2, d2, d3 │ │ │ │ │ - vldr d15, [pc, #372] @ 8a8 │ │ │ │ │ + vldr d7, [sp, #48] @ 0x30 │ │ │ │ │ + vmul.f64 d5, d7, d5 │ │ │ │ │ + vldr d7, [sp, #88] @ 0x58 │ │ │ │ │ + vmul.f64 d6, d6, d8 │ │ │ │ │ + vsub.f64 d2, d14, d3 │ │ │ │ │ vadd.f64 d3, d3, d3 │ │ │ │ │ + vldr d8, [sp, #144] @ 0x90 │ │ │ │ │ vnmls.f64 d5, d7, d9 │ │ │ │ │ - vldr d7, [sp, #112] @ 0x70 │ │ │ │ │ - vadd.f64 d3, d3, d13 │ │ │ │ │ + vldr d7, [sp, #96] @ 0x60 │ │ │ │ │ + vadd.f64 d3, d3, d14 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [sp, #72] @ 0x48 │ │ │ │ │ - vmla.f64 d7, d10, d15 │ │ │ │ │ - vldr d15, [pc, #348] @ 8b0 │ │ │ │ │ - vldr d10, [sp, #48] @ 0x30 │ │ │ │ │ - vmls.f64 d10, d1, d15 │ │ │ │ │ + vldr d1, [sp, #56] @ 0x38 │ │ │ │ │ vsub.f64 d9, d8, d5 │ │ │ │ │ vadd.f64 d5, d5, d5 │ │ │ │ │ + vmla.f64 d7, d1, d10 │ │ │ │ │ + vldr d10, [sp, #16] │ │ │ │ │ + vldr d1, [sp, #40] @ 0x28 │ │ │ │ │ vadd.f64 d5, d5, d8 │ │ │ │ │ + vmls.f64 d10, d1, d13 │ │ │ │ │ + vldr d13, [sp, #80] @ 0x50 │ │ │ │ │ vsub.f64 d1, d10, d7 │ │ │ │ │ vadd.f64 d7, d7, d7 │ │ │ │ │ vadd.f64 d7, d7, d10 │ │ │ │ │ vsub.f64 d8, d1, d9 │ │ │ │ │ vadd.f64 d1, d9, d1 │ │ │ │ │ vadd.f64 d9, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vsub.f64 d10, d9, d3 │ │ │ │ │ vadd.f64 d9, d9, d3 │ │ │ │ │ vsub.f64 d3, d1, d2 │ │ │ │ │ + vsub.f64 d5, d7, d4 │ │ │ │ │ + vadd.f64 d7, d7, d4 │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ - vstr d10, [sl] │ │ │ │ │ - vstr d9, [r9] │ │ │ │ │ - vsub.f64 d9, d14, d11 │ │ │ │ │ - vldr d5, [sp, #56] @ 0x38 │ │ │ │ │ - vadd.f64 d14, d14, d11 │ │ │ │ │ - ldr r1, [sp, #0] │ │ │ │ │ - vsub.f64 d4, d4, d5 │ │ │ │ │ + vstr d10, [r3] │ │ │ │ │ + vstr d9, [r5] │ │ │ │ │ + vsub.f64 d9, d13, d11 │ │ │ │ │ + vadd.f64 d13, d13, d11 │ │ │ │ │ + ldr r3, [sp, #32] │ │ │ │ │ vsub.f64 d10, d3, d9 │ │ │ │ │ vadd.f64 d3, d3, d9 │ │ │ │ │ - vsub.f64 d5, d7, d4 │ │ │ │ │ - vstr d10, [r8] │ │ │ │ │ - vstr d3, [lr] │ │ │ │ │ - add.w lr, r6, r1 │ │ │ │ │ - ldr r1, [sp, #8] │ │ │ │ │ - vadd.f64 d7, d7, d4 │ │ │ │ │ - vstr d5, [lr] │ │ │ │ │ - add.w lr, r6, r1 │ │ │ │ │ + vstr d10, [r1] │ │ │ │ │ + ldr r1, [sp, #0] │ │ │ │ │ + add r1, r9 │ │ │ │ │ + vstr d3, [r1] │ │ │ │ │ + add.w r1, r9, r3 │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ vsub.f64 d5, d0, d12 │ │ │ │ │ - ldr r1, [sp, #32] │ │ │ │ │ vadd.f64 d12, d12, d0 │ │ │ │ │ vstr d7, [lr] │ │ │ │ │ vsub.f64 d7, d8, d6 │ │ │ │ │ - add.w lr, r6, r1 │ │ │ │ │ - ldr r1, [sp, #24] │ │ │ │ │ vadd.f64 d6, d6, d8 │ │ │ │ │ + ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vstr d4, [lr] │ │ │ │ │ - add.w lr, r6, r1 │ │ │ │ │ - ldr r1, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d7, [lr] │ │ │ │ │ + add r3, r9 │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d6, d12 │ │ │ │ │ vadd.f64 d6, d6, d12 │ │ │ │ │ - add r1, r6 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ - vsub.f64 d7, d2, d14 │ │ │ │ │ - vstr d6, [r5] │ │ │ │ │ - vadd.f64 d2, d2, d14 │ │ │ │ │ - ldr r5, [sp, #16] │ │ │ │ │ - adds r1, r6, r5 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ - vstr d2, [r3] │ │ │ │ │ - ldr r3, [sp, #212] @ 0xd4 │ │ │ │ │ - add r2, r3 │ │ │ │ │ - add r4, r3 │ │ │ │ │ - ldr r3, [sp, #216] @ 0xd8 │ │ │ │ │ - add r6, r3 │ │ │ │ │ - add r0, r3 │ │ │ │ │ - ldr r3, [sp, #220] @ 0xdc │ │ │ │ │ - eors r7, r3 │ │ │ │ │ - eor.w ip, ip, r3 │ │ │ │ │ - ldr r3, [sp, #336] @ 0x150 │ │ │ │ │ + ldr r2, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + vsub.f64 d7, d2, d13 │ │ │ │ │ + add.w r3, r9, r2 │ │ │ │ │ + vstr d6, [ip] │ │ │ │ │ + vadd.f64 d2, d2, d13 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + ldr r3, [sp, #188] @ 0xbc │ │ │ │ │ + vstr d2, [r0] │ │ │ │ │ + add fp, r3 │ │ │ │ │ + add r8, r3 │ │ │ │ │ + ldr r3, [sp, #192] @ 0xc0 │ │ │ │ │ + add r9, r3 │ │ │ │ │ + add r7, r3 │ │ │ │ │ + ldr r3, [sp, #196] @ 0xc4 │ │ │ │ │ + eor.w sl, sl, r3 │ │ │ │ │ + eor.w r6, r6, r3 │ │ │ │ │ + ldr r3, [sp, #312] @ 0x138 │ │ │ │ │ subs r3, #1 │ │ │ │ │ - str r3, [sp, #336] @ 0x150 │ │ │ │ │ - bne.w 44 │ │ │ │ │ - add sp, #228 @ 0xe4 │ │ │ │ │ + str r3, [sp, #312] @ 0x138 │ │ │ │ │ + bne.w 50 │ │ │ │ │ + add sp, #204 @ 0xcc │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop.w │ │ │ │ │ .word 0x87f60797 │ │ │ │ │ .word 0x3fe2678d │ │ │ │ │ .word 0x7675b5d5 │ │ │ │ │ .word 0x3fc64a2c │ │ │ │ │ - .word 0xa247fdba │ │ │ │ │ - .word 0x3fd0665c │ │ │ │ │ - .word 0x4d8debb7 │ │ │ │ │ - .word 0x3fd10597 │ │ │ │ │ .word 0xe1d7263e │ │ │ │ │ .word 0x3fd8cb01 │ │ │ │ │ + .word 0xb20f3131 │ │ │ │ │ + .word 0x3fe01cf9 │ │ │ │ │ .word 0x300c3896 │ │ │ │ │ .word 0x3fbd2591 │ │ │ │ │ - .word 0x1c9e25a7 │ │ │ │ │ - .word 0x3fd3371c │ │ │ │ │ + .word 0x60cb959a │ │ │ │ │ + .word 0x3fc41504 │ │ │ │ │ + .word 0x55555555 │ │ │ │ │ + .word 0x3fb55555 │ │ │ │ │ .word 0x4d8debb7 │ │ │ │ │ .word 0x3fc10597 │ │ │ │ │ .word 0xcab2d064 │ │ │ │ │ .word 0x3fb36e60 │ │ │ │ │ - .word 0x968f6ed4 │ │ │ │ │ - .word 0x3fd08756 │ │ │ │ │ .word 0xb20f3131 │ │ │ │ │ .word 0x3fd01cf9 │ │ │ │ │ - .word 0x55555555 │ │ │ │ │ - .word 0x3fb55555 │ │ │ │ │ + .word 0x968f6ed4 │ │ │ │ │ + .word 0x3fd08756 │ │ │ │ │ │ │ │ │ │ -000008b8 : │ │ │ │ │ +000008c0 : │ │ │ │ │ fftw_codelet_n1_13(): │ │ │ │ │ - ldr r2, [pc, #8] @ (8c4 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (8c8 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (8cc ) │ │ │ │ │ + ldr r1, [pc, #12] @ (8d0 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── n1_14.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2568 (bytes into file) │ │ │ │ │ + Start of section headers: 2544 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0xa08: │ │ │ │ │ +There are 13 section headers, starting at offset 0x9f0: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000714 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000960 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000748 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000748 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000748 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 00074e 000040 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000988 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 00078e 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 00078e 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 0007c4 000120 10 11 13 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 0008e4 00007b 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000998 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00071c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000948 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000750 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000750 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000750 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 000756 000040 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000970 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 000796 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000796 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 0007cc 000100 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 0008cc 00007b 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000980 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,21 +1,19 @@ │ │ │ │ │ │ │ │ │ │ -Symbol table '.symtab' contains 18 entries: │ │ │ │ │ +Symbol table '.symtab' contains 16 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1792 FUNC LOCAL DEFAULT 1 n1_14 │ │ │ │ │ + 1: 00000001 1798 FUNC LOCAL DEFAULT 1 n1_14 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000408 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000440 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000006f0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000700 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 0000070c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ - 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ - 10: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ - 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ - 12: 00000000 64 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ - 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ - 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 15: 00000701 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_14 │ │ │ │ │ - 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_register │ │ │ │ │ - 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_n_genus │ │ │ │ │ + 3: 00000060 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000098 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000714 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ + 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ + 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ + 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ + 10: 00000000 64 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ + 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ + 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ + 13: 00000709 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_14 │ │ │ │ │ + 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_register │ │ │ │ │ + 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_n_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x960 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x948 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000438 00000d19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000043c 00000e1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -0000070c 00000a03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000710 00000103 R_ARM_REL32 00000001 n1_14 │ │ │ │ │ -00000708 0000101e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ +00000090 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000094 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000714 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000718 00000103 R_ARM_REL32 00000001 n1_14 │ │ │ │ │ +00000710 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x988 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x970 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ -00000028 00001102 R_ARM_ABS32 00000000 fftw_dft_n_genus │ │ │ │ │ +00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ +00000028 00000f02 R_ARM_ABS32 00000000 fftw_dft_n_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,506 +1,499 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ n1_14(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - ldr.w r6, [pc, #1072] @ 438 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub sp, #196 @ 0xc4 │ │ │ │ │ + sub sp, #188 @ 0xbc │ │ │ │ │ + ldr r6, [pc, #116] @ (90 ) │ │ │ │ │ + ldr r7, [sp, #296] @ 0x128 │ │ │ │ │ + ldrd r5, r4, [sp, #288] @ 0x120 │ │ │ │ │ add r6, pc │ │ │ │ │ - ldr r7, [sp, #304] @ 0x130 │ │ │ │ │ - ldrd r5, r4, [sp, #296] @ 0x128 │ │ │ │ │ cmp r7, #0 │ │ │ │ │ - ble.w 6e4 │ │ │ │ │ - ldr r7, [sp, #308] @ 0x134 │ │ │ │ │ - mov.w fp, #40 @ 0x28 │ │ │ │ │ - vldr d15, [pc, #996] @ 408 │ │ │ │ │ - vldr d14, [pc, #1000] @ 410 │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ - str r7, [sp, #180] @ 0xb4 │ │ │ │ │ - ldr r7, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d13, [pc, #996] @ 418 │ │ │ │ │ - vldr d9, [pc, #1000] @ 420 │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ - str r7, [sp, #184] @ 0xb8 │ │ │ │ │ - ldr r7, [pc, #1020] @ (43c ) │ │ │ │ │ + ble.w 6ea │ │ │ │ │ + ldr r7, [sp, #300] @ 0x12c │ │ │ │ │ + vldr d14, [pc, #48] @ 60 │ │ │ │ │ + vldr d13, [pc, #52] @ 68 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + vldr d11, [pc, #52] @ 70 │ │ │ │ │ + str r7, [sp, #176] @ 0xb0 │ │ │ │ │ + ldr r7, [sp, #304] @ 0x130 │ │ │ │ │ + vldr d9, [pc, #52] @ 78 │ │ │ │ │ + vldr d8, [pc, #56] @ 80 │ │ │ │ │ + mov.w fp, r7, lsl #3 │ │ │ │ │ + ldr r7, [pc, #68] @ (94 ) │ │ │ │ │ + vldr d2, [pc, #56] @ 88 │ │ │ │ │ ldr r6, [r6, r7] │ │ │ │ │ ldr r6, [r6, #0] │ │ │ │ │ - str r6, [sp, #188] @ 0xbc │ │ │ │ │ - movs r6, #56 @ 0x38 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - mov.w sl, #80 @ 0x50 │ │ │ │ │ - mul.w r6, r6, r5 │ │ │ │ │ - adds r7, r0, r6 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - adds r7, r1, r6 │ │ │ │ │ - vsub.f64 d4, d6, d7 │ │ │ │ │ - vadd.f64 d5, d6, d7 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - lsls r7, r5, #4 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - add.w ip, r0, r7 │ │ │ │ │ - add r7, r1 │ │ │ │ │ - vstr d5, [sp, #112] @ 0x70 │ │ │ │ │ - vsub.f64 d2, d6, d7 │ │ │ │ │ - vadd.f64 d3, d6, d7 │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ - add ip, r6 │ │ │ │ │ - vstr d4, [sp] │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ - mov.w ip, #96 @ 0x60 │ │ │ │ │ - vstr d3, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d2, [sp, #104] @ 0x68 │ │ │ │ │ - mul.w lr, ip, r5 │ │ │ │ │ - vsub.f64 d5, d6, d7 │ │ │ │ │ - vadd.f64 d6, d6, d7 │ │ │ │ │ - add.w ip, r0, lr │ │ │ │ │ + str r6, [sp, #180] @ 0xb4 │ │ │ │ │ + b.n 98 │ │ │ │ │ + nop │ │ │ │ │ + nop.w │ │ │ │ │ + .word 0x0558e969 │ │ │ │ │ + .word 0x3fef329c │ │ │ │ │ + .word 0x7505de4b │ │ │ │ │ + .word 0x3fe904c3 │ │ │ │ │ + .word 0x4d71abc1 │ │ │ │ │ + .word 0x3fdbc4c0 │ │ │ │ │ + .word 0xe28bedd1 │ │ │ │ │ + .word 0x3fe3f3a0 │ │ │ │ │ + .word 0xa9cb5c71 │ │ │ │ │ + .word 0x3fecd4bc │ │ │ │ │ + .word 0xe3024582 │ │ │ │ │ + .word 0x3fcc7b90 │ │ │ │ │ + .word 0x0000006a │ │ │ │ │ + R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ + .word 0x00000000 │ │ │ │ │ + R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ + mov.w r8, r5, lsl #3 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + mov.w lr, r5, lsl #4 │ │ │ │ │ + sub.w r7, r8, r5 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + add.w r6, r0, r7 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + add.w r6, r1, r7 │ │ │ │ │ + vsub.f64 d6, d5, d7 │ │ │ │ │ + vadd.f64 d4, d5, d7 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + add.w r6, r0, lr │ │ │ │ │ add lr, r1 │ │ │ │ │ - vldr d3, [ip] │ │ │ │ │ - mul.w ip, fp, r5 │ │ │ │ │ - add.w r8, r0, ip │ │ │ │ │ - add ip, r1 │ │ │ │ │ - vldr d7, [r8] │ │ │ │ │ - mul.w r8, sl, r5 │ │ │ │ │ - vsub.f64 d4, d3, d7 │ │ │ │ │ - vadd.f64 d7, d3, d7 │ │ │ │ │ - vldr d3, [ip] │ │ │ │ │ - vsub.f64 d12, d7, d6 │ │ │ │ │ - vadd.f64 d7, d6, d7 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - add r7, r6 │ │ │ │ │ - vadd.f64 d0, d5, d4 │ │ │ │ │ - vsub.f64 d8, d4, d5 │ │ │ │ │ + vstr d4, [sp, #128] @ 0x80 │ │ │ │ │ + vsub.f64 d15, d5, d7 │ │ │ │ │ + vadd.f64 d3, d5, d7 │ │ │ │ │ + vldr d5, [r6] │ │ │ │ │ + add r6, r7 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + add.w r6, r5, r5, lsl #1 │ │ │ │ │ + mov.w sl, r6, lsl #5 │ │ │ │ │ + str r6, [sp, #0] │ │ │ │ │ + add.w ip, r0, sl │ │ │ │ │ + vstr d3, [sp, #136] @ 0x88 │ │ │ │ │ + add sl, r1 │ │ │ │ │ + vldr d1, [ip] │ │ │ │ │ + add.w ip, r5, r5, lsl #2 │ │ │ │ │ + vsub.f64 d4, d5, d7 │ │ │ │ │ + vadd.f64 d5, d5, d7 │ │ │ │ │ + mov.w r9, ip, lsl #3 │ │ │ │ │ + mov.w ip, ip, lsl #4 │ │ │ │ │ + add.w r6, r0, r9 │ │ │ │ │ + add r9, r1 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + ldr r6, [sp, #0] │ │ │ │ │ + vsub.f64 d3, d1, d7 │ │ │ │ │ + vadd.f64 d7, d1, d7 │ │ │ │ │ + vsub.f64 d1, d7, d5 │ │ │ │ │ + vadd.f64 d12, d4, d3 │ │ │ │ │ + vstr d1, [sp, #32] │ │ │ │ │ + vadd.f64 d1, d5, d7 │ │ │ │ │ + vsub.f64 d7, d3, d4 │ │ │ │ │ + vldr d5, [lr] │ │ │ │ │ + add lr, r7 │ │ │ │ │ vstr d7, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - lsls r7, r5, #5 │ │ │ │ │ - add.w ip, r0, r7 │ │ │ │ │ - vstr d8, [sp, #160] @ 0xa0 │ │ │ │ │ - vmov.f64 d1, d0 │ │ │ │ │ - add r7, r1 │ │ │ │ │ - vsub.f64 d4, d6, d7 │ │ │ │ │ - vadd.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [lr] │ │ │ │ │ - vstr d12, [sp, #16] │ │ │ │ │ - vsub.f64 d5, d7, d3 │ │ │ │ │ - vadd.f64 d7, d7, d3 │ │ │ │ │ - vsub.f64 d10, d4, d5 │ │ │ │ │ - vadd.f64 d8, d4, d5 │ │ │ │ │ - vldr d4, [ip] │ │ │ │ │ - add ip, r6 │ │ │ │ │ - vsub.f64 d0, d6, d7 │ │ │ │ │ - vstr d10, [sp, #48] @ 0x30 │ │ │ │ │ - vadd.f64 d10, d6, d7 │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ - add.w ip, r0, r8 │ │ │ │ │ - add r8, r1 │ │ │ │ │ - vstr d0, [sp, #168] @ 0xa8 │ │ │ │ │ - vmov.f64 d12, d8 │ │ │ │ │ - vldr d3, [ip] │ │ │ │ │ - mov.w ip, #24 │ │ │ │ │ - vsub.f64 d6, d4, d7 │ │ │ │ │ - vadd.f64 d4, d4, d7 │ │ │ │ │ - vstr d10, [sp, #128] @ 0x80 │ │ │ │ │ - mul.w lr, ip, r5 │ │ │ │ │ - mul.w ip, ip, r4 │ │ │ │ │ + mov.w lr, r5, lsl #5 │ │ │ │ │ + vstr d1, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d1, [r9] │ │ │ │ │ add.w r9, r0, lr │ │ │ │ │ add lr, r1 │ │ │ │ │ + vsub.f64 d3, d5, d7 │ │ │ │ │ + vadd.f64 d5, d5, d7 │ │ │ │ │ + vldr d7, [sl] │ │ │ │ │ + vsub.f64 d4, d7, d1 │ │ │ │ │ + vadd.f64 d7, d7, d1 │ │ │ │ │ + vsub.f64 d0, d5, d7 │ │ │ │ │ + vadd.f64 d7, d5, d7 │ │ │ │ │ + vldr d5, [r9] │ │ │ │ │ + add r9, r7 │ │ │ │ │ + vsub.f64 d10, d3, d4 │ │ │ │ │ + vstr d7, [sp, #152] @ 0x98 │ │ │ │ │ vldr d7, [r9] │ │ │ │ │ - mov.w r9, r5, lsl #6 │ │ │ │ │ - vsub.f64 d5, d3, d7 │ │ │ │ │ - vadd.f64 d7, d3, d7 │ │ │ │ │ - vsub.f64 d10, d4, d7 │ │ │ │ │ - vadd.f64 d2, d4, d7 │ │ │ │ │ - vsub.f64 d7, d5, d6 │ │ │ │ │ - vadd.f64 d3, d6, d5 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - add r7, r6 │ │ │ │ │ - vstr d10, [sp, #56] @ 0x38 │ │ │ │ │ - vstr d7, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - movs r7, #48 @ 0x30 │ │ │ │ │ - vstr d2, [sp, #8] │ │ │ │ │ - vsub.f64 d4, d6, d7 │ │ │ │ │ - vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [r8] │ │ │ │ │ - vldr d2, [lr] │ │ │ │ │ - mul.w lr, r7, r5 │ │ │ │ │ - add.w r8, r0, lr │ │ │ │ │ - add lr, r1 │ │ │ │ │ - vsub.f64 d8, d7, d2 │ │ │ │ │ - vadd.f64 d7, d7, d2 │ │ │ │ │ - vsub.f64 d5, d7, d6 │ │ │ │ │ - vadd.f64 d6, d6, d7 │ │ │ │ │ - vsub.f64 d0, d4, d8 │ │ │ │ │ - vstr d5, [sp, #24] │ │ │ │ │ - vadd.f64 d5, d4, d8 │ │ │ │ │ - vmov.f64 d8, d6 │ │ │ │ │ - vstr d0, [sp, #72] @ 0x48 │ │ │ │ │ - vstr d5, [sp, #32] │ │ │ │ │ - vldr d5, [r8] │ │ │ │ │ - add r8, r6 │ │ │ │ │ - vstr d8, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d7, [r8] │ │ │ │ │ - add.w r8, r0, r9 │ │ │ │ │ + add.w r9, r0, ip │ │ │ │ │ + add ip, r1 │ │ │ │ │ + vstr d10, [sp, #48] @ 0x30 │ │ │ │ │ + vadd.f64 d10, d3, d4 │ │ │ │ │ + vldr d1, [r9] │ │ │ │ │ + mov.w r9, r6, lsl #3 │ │ │ │ │ + mov.w r6, r6, lsl #4 │ │ │ │ │ + add.w sl, r0, r9 │ │ │ │ │ add r9, r1 │ │ │ │ │ - vldr d2, [r8] │ │ │ │ │ - mov.w r8, r5, lsl #3 │ │ │ │ │ - add.w r7, r0, r8 │ │ │ │ │ + vsub.f64 d4, d5, d7 │ │ │ │ │ + vadd.f64 d5, d5, d7 │ │ │ │ │ + vldr d7, [sl] │ │ │ │ │ + vstr d0, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d10, [sp, #8] │ │ │ │ │ + vsub.f64 d3, d1, d7 │ │ │ │ │ + vadd.f64 d7, d1, d7 │ │ │ │ │ + vsub.f64 d0, d5, d7 │ │ │ │ │ + vadd.f64 d10, d4, d3 │ │ │ │ │ + vsub.f64 d4, d3, d4 │ │ │ │ │ + vstr d0, [sp, #64] @ 0x40 │ │ │ │ │ + vadd.f64 d0, d5, d7 │ │ │ │ │ + vldr d5, [lr] │ │ │ │ │ + add lr, r7 │ │ │ │ │ + vstr d4, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d7, [lr] │ │ │ │ │ + vstr d0, [sp, #160] @ 0xa0 │ │ │ │ │ + vsub.f64 d3, d5, d7 │ │ │ │ │ + vadd.f64 d5, d5, d7 │ │ │ │ │ + vldr d7, [ip] │ │ │ │ │ + add.w ip, r0, r6 │ │ │ │ │ + add r6, r1 │ │ │ │ │ + vldr d1, [r9] │ │ │ │ │ + vsub.f64 d4, d7, d1 │ │ │ │ │ + vadd.f64 d7, d7, d1 │ │ │ │ │ + vsub.f64 d1, d3, d4 │ │ │ │ │ + vstr d1, [sp, #80] @ 0x50 │ │ │ │ │ + vsub.f64 d1, d7, d5 │ │ │ │ │ + vadd.f64 d7, d5, d7 │ │ │ │ │ + vldr d5, [ip] │ │ │ │ │ + add ip, r7 │ │ │ │ │ + vstr d7, [sp] │ │ │ │ │ + vstr d1, [sp, #88] @ 0x58 │ │ │ │ │ + vadd.f64 d1, d3, d4 │ │ │ │ │ + vldr d7, [ip] │ │ │ │ │ + mov.w ip, r5, lsl #6 │ │ │ │ │ + add.w lr, r0, ip │ │ │ │ │ + add ip, r1 │ │ │ │ │ + vstr d1, [sp, #16] │ │ │ │ │ + vldr d1, [lr] │ │ │ │ │ + add.w lr, r0, r8 │ │ │ │ │ vsub.f64 d4, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ add r8, r1 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - vsub.f64 d7, d2, d6 │ │ │ │ │ - vadd.f64 d6, d2, d6 │ │ │ │ │ - vsub.f64 d0, d5, d6 │ │ │ │ │ - vadd.f64 d6, d5, d6 │ │ │ │ │ - vadd.f64 d10, d4, d7 │ │ │ │ │ - vsub.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [lr] │ │ │ │ │ - add lr, r6 │ │ │ │ │ - vldr d5, [r8] │ │ │ │ │ - movs r6, #56 @ 0x38 │ │ │ │ │ - vstr d6, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d6, [lr] │ │ │ │ │ - vstr d0, [sp, #80] @ 0x50 │ │ │ │ │ - mul.w r6, r6, r4 │ │ │ │ │ - vstr d7, [sp, #88] @ 0x58 │ │ │ │ │ - vsub.f64 d0, d4, d6 │ │ │ │ │ - vadd.f64 d4, d4, d6 │ │ │ │ │ - vldr d6, [r9] │ │ │ │ │ - add.w lr, r2, r6 │ │ │ │ │ - add r6, r3 │ │ │ │ │ - vsub.f64 d2, d6, d5 │ │ │ │ │ - vadd.f64 d5, d6, d5 │ │ │ │ │ - vldr d6, [sp, #32] │ │ │ │ │ - vsub.f64 d7, d0, d2 │ │ │ │ │ - vsub.f64 d11, d5, d4 │ │ │ │ │ - vadd.f64 d5, d4, d5 │ │ │ │ │ - vldr d4, [sp] │ │ │ │ │ - vadd.f64 d0, d0, d2 │ │ │ │ │ - vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d7, [sp, #96] @ 0x60 │ │ │ │ │ - vmov.f64 d7, d5 │ │ │ │ │ - vadd.f64 d5, d4, d1 │ │ │ │ │ - vstr d11, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d11, [sp, #104] @ 0x68 │ │ │ │ │ - vadd.f64 d5, d5, d3 │ │ │ │ │ - vstr d7, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d7, [lr] │ │ │ │ │ + vsub.f64 d3, d1, d7 │ │ │ │ │ + vadd.f64 d7, d1, d7 │ │ │ │ │ + vadd.f64 d1, d4, d3 │ │ │ │ │ + vsub.f64 d4, d3, d4 │ │ │ │ │ + vldr d3, [r6] │ │ │ │ │ + add r6, r7 │ │ │ │ │ + vsub.f64 d0, d5, d7 │ │ │ │ │ + vadd.f64 d5, d5, d7 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + mov.w r6, r4, lsl #3 │ │ │ │ │ + sub.w r7, r6, r4 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + vstr d4, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d0, [sp, #96] @ 0x60 │ │ │ │ │ + vsub.f64 d4, d3, d7 │ │ │ │ │ + vadd.f64 d3, d3, d7 │ │ │ │ │ + vldr d7, [r8] │ │ │ │ │ + vstr d5, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d5, [ip] │ │ │ │ │ + add.w ip, r2, r7 │ │ │ │ │ + add r7, r3 │ │ │ │ │ + vsub.f64 d0, d5, d7 │ │ │ │ │ + vadd.f64 d5, d5, d7 │ │ │ │ │ + vsub.f64 d7, d4, d0 │ │ │ │ │ + vadd.f64 d4, d4, d0 │ │ │ │ │ + vldr d0, [sp, #144] @ 0x90 │ │ │ │ │ + vstr d7, [sp, #112] @ 0x70 │ │ │ │ │ + vsub.f64 d7, d5, d3 │ │ │ │ │ + vadd.f64 d5, d3, d5 │ │ │ │ │ + vldr d3, [sp, #16] │ │ │ │ │ + vstr d5, [sp, #24] │ │ │ │ │ + vadd.f64 d5, d6, d12 │ │ │ │ │ + vstr d7, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d7, [sp, #168] @ 0xa8 │ │ │ │ │ vadd.f64 d5, d5, d10 │ │ │ │ │ - vstr d5, [lr] │ │ │ │ │ - vadd.f64 d5, d11, d12 │ │ │ │ │ - mul.w lr, fp, r4 │ │ │ │ │ - vadd.f64 d5, d5, d6 │ │ │ │ │ - vldr d6, [pc, #384] @ 428 │ │ │ │ │ - vadd.f64 d5, d5, d0 │ │ │ │ │ - vstr d5, [r6] │ │ │ │ │ - add.w r6, r2, lr │ │ │ │ │ - vldr d5, [sp, #112] @ 0x70 │ │ │ │ │ + vadd.f64 d5, d5, d1 │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ + vldr d5, [sp, #8] │ │ │ │ │ + vadd.f64 d5, d15, d5 │ │ │ │ │ + vadd.f64 d5, d5, d3 │ │ │ │ │ + vldr d3, [sp, #136] @ 0x88 │ │ │ │ │ + vadd.f64 d5, d5, d4 │ │ │ │ │ + vstr d5, [r7] │ │ │ │ │ + add.w r7, r4, r4, lsl #2 │ │ │ │ │ + vldr d5, [sp, #128] @ 0x80 │ │ │ │ │ + mov.w lr, r7, lsl #3 │ │ │ │ │ + mov.w r7, r7, lsl #4 │ │ │ │ │ + add.w ip, r2, lr │ │ │ │ │ add lr, r3 │ │ │ │ │ - vadd.f64 d5, d5, d2 │ │ │ │ │ - vldr d2, [sp, #8] │ │ │ │ │ - vadd.f64 d5, d5, d2 │ │ │ │ │ - vldr d2, [sp, #144] @ 0x90 │ │ │ │ │ - vadd.f64 d5, d5, d2 │ │ │ │ │ - vldr d2, [sp, #128] @ 0x80 │ │ │ │ │ + vadd.f64 d5, d5, d0 │ │ │ │ │ + vldr d0, [sp, #160] @ 0xa0 │ │ │ │ │ + vadd.f64 d5, d5, d0 │ │ │ │ │ + vldr d0, [sp, #152] @ 0x98 │ │ │ │ │ + vadd.f64 d5, d5, d7 │ │ │ │ │ + vldr d7, [sp] │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ - vldr d5, [sp, #120] @ 0x78 │ │ │ │ │ - vadd.f64 d5, d5, d2 │ │ │ │ │ - vadd.f64 d5, d5, d8 │ │ │ │ │ + vadd.f64 d5, d3, d0 │ │ │ │ │ + vadd.f64 d5, d5, d7 │ │ │ │ │ + vldr d7, [sp, #24] │ │ │ │ │ + vldr d3, [sp, #48] @ 0x30 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ + vldr d7, [sp, #112] @ 0x70 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - vldr d7, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d2, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d8, [sp, #160] @ 0xa0 │ │ │ │ │ - vmul.f64 d5, d7, d14 │ │ │ │ │ - vldr d7, [pc, #304] @ 430 │ │ │ │ │ - vnmls.f64 d5, d2, d15 │ │ │ │ │ - vldr d2, [sp, #72] @ 0x48 │ │ │ │ │ - vmls.f64 d5, d2, d13 │ │ │ │ │ - vmov.f64 d2, d4 │ │ │ │ │ - vmul.f64 d4, d1, d6 │ │ │ │ │ - vmla.f64 d2, d10, d7 │ │ │ │ │ - vmla.f64 d4, d3, d9 │ │ │ │ │ - vldr d6, [sp, #88] @ 0x58 │ │ │ │ │ - vsub.f64 d4, d2, d4 │ │ │ │ │ - vsub.f64 d2, d4, d5 │ │ │ │ │ - vadd.f64 d5, d5, d4 │ │ │ │ │ - vldr d4, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d2, [r6] │ │ │ │ │ - movs r6, #72 @ 0x48 │ │ │ │ │ - vmov.f64 d2, d11 │ │ │ │ │ - vmla.f64 d2, d0, d7 │ │ │ │ │ - mul.w r6, r4, r6 │ │ │ │ │ - add.w r8, r2, r6 │ │ │ │ │ - add r6, r3 │ │ │ │ │ + vmul.f64 d5, d7, d13 │ │ │ │ │ + vldr d7, [sp, #80] @ 0x50 │ │ │ │ │ + vnmls.f64 d5, d3, d14 │ │ │ │ │ + vmov.f64 d3, d6 │ │ │ │ │ + vmla.f64 d3, d1, d9 │ │ │ │ │ + vmls.f64 d5, d7, d11 │ │ │ │ │ + vldr d7, [sp, #40] @ 0x28 │ │ │ │ │ + vmov.f64 d0, d3 │ │ │ │ │ + vmul.f64 d3, d12, d2 │ │ │ │ │ + vmla.f64 d3, d10, d8 │ │ │ │ │ + vsub.f64 d3, d0, d3 │ │ │ │ │ + vsub.f64 d0, d3, d5 │ │ │ │ │ + vadd.f64 d5, d5, d3 │ │ │ │ │ + vmov.f64 d3, d15 │ │ │ │ │ + vmla.f64 d3, d4, d9 │ │ │ │ │ + vstr d0, [ip] │ │ │ │ │ + add.w ip, r6, r4 │ │ │ │ │ + mov.w ip, ip, lsl #3 │ │ │ │ │ + add.w r8, r2, ip │ │ │ │ │ + add ip, r3 │ │ │ │ │ vstr d5, [r8] │ │ │ │ │ - vmul.f64 d5, d6, d14 │ │ │ │ │ - vldr d6, [pc, #212] @ 428 │ │ │ │ │ - vnmls.f64 d5, d8, d15 │ │ │ │ │ - vmls.f64 d5, d4, d13 │ │ │ │ │ - vmul.f64 d4, d12, d6 │ │ │ │ │ - vldr d6, [sp, #32] │ │ │ │ │ - vmla.f64 d4, d6, d9 │ │ │ │ │ - vldr d6, [sp, #96] @ 0x60 │ │ │ │ │ - vsub.f64 d4, d2, d4 │ │ │ │ │ - vsub.f64 d2, d4, d5 │ │ │ │ │ - vadd.f64 d5, d5, d4 │ │ │ │ │ - vldr d4, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d2, [lr] │ │ │ │ │ - vstr d5, [r6] │ │ │ │ │ - movs r6, #104 @ 0x68 │ │ │ │ │ - vldr d5, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d2, [sp] │ │ │ │ │ - vmla.f64 d2, d1, d7 │ │ │ │ │ - mul.w r6, r4, r6 │ │ │ │ │ - vmul.f64 d5, d5, d15 │ │ │ │ │ - vmla.f64 d5, d4, d14 │ │ │ │ │ + vldr d5, [sp, #104] @ 0x68 │ │ │ │ │ + vmov.f64 d0, d3 │ │ │ │ │ + vldr d3, [sp, #8] │ │ │ │ │ + vmul.f64 d5, d5, d13 │ │ │ │ │ + vmul.f64 d3, d3, d2 │ │ │ │ │ + vnmls.f64 d5, d7, d14 │ │ │ │ │ + vldr d7, [sp, #72] @ 0x48 │ │ │ │ │ + vmls.f64 d5, d7, d11 │ │ │ │ │ + vldr d7, [sp, #16] │ │ │ │ │ + vmla.f64 d3, d7, d8 │ │ │ │ │ + vldr d7, [sp, #112] @ 0x70 │ │ │ │ │ + vsub.f64 d3, d0, d3 │ │ │ │ │ + vsub.f64 d0, d3, d5 │ │ │ │ │ + vadd.f64 d5, d5, d3 │ │ │ │ │ + vldr d3, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d0, [lr] │ │ │ │ │ + vmov.f64 d0, d6 │ │ │ │ │ + vmla.f64 d6, d10, d9 │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ + mov.w ip, #104 @ 0x68 │ │ │ │ │ + vldr d5, [sp, #80] @ 0x50 │ │ │ │ │ + mul.w ip, ip, r4 │ │ │ │ │ + vmla.f64 d0, d12, d9 │ │ │ │ │ + vmul.f64 d12, d12, d8 │ │ │ │ │ + add.w lr, r2, ip │ │ │ │ │ + add ip, r3 │ │ │ │ │ + vmul.f64 d5, d5, d14 │ │ │ │ │ + vmla.f64 d12, d1, d2 │ │ │ │ │ + vmla.f64 d5, d3, d13 │ │ │ │ │ + vmul.f64 d3, d10, d2 │ │ │ │ │ + vmla.f64 d3, d1, d8 │ │ │ │ │ + vmla.f64 d5, d7, d11 │ │ │ │ │ + vldr d7, [sp, #104] @ 0x68 │ │ │ │ │ + vsub.f64 d6, d6, d12 │ │ │ │ │ + vldr d12, [sp, #104] @ 0x68 │ │ │ │ │ + vsub.f64 d3, d0, d3 │ │ │ │ │ + vsub.f64 d0, d3, d5 │ │ │ │ │ + vadd.f64 d5, d5, d3 │ │ │ │ │ + vstr d0, [lr] │ │ │ │ │ add.w lr, r2, r6 │ │ │ │ │ + vmov.f64 d0, d15 │ │ │ │ │ add r6, r3 │ │ │ │ │ - vmla.f64 d5, d6, d13 │ │ │ │ │ - vldr d6, [pc, #124] @ 428 │ │ │ │ │ - vmul.f64 d4, d3, d6 │ │ │ │ │ - vldr d6, [sp, #88] @ 0x58 │ │ │ │ │ - vmla.f64 d4, d10, d9 │ │ │ │ │ - vsub.f64 d4, d2, d4 │ │ │ │ │ - vsub.f64 d2, d4, d5 │ │ │ │ │ - vadd.f64 d5, d5, d4 │ │ │ │ │ - vstr d2, [lr] │ │ │ │ │ - mov.w lr, r4, lsl #3 │ │ │ │ │ + vstr d5, [lr] │ │ │ │ │ + vldr d5, [sp, #72] @ 0x48 │ │ │ │ │ + vmul.f64 d3, d5, d14 │ │ │ │ │ + vldr d5, [sp, #40] @ 0x28 │ │ │ │ │ + vmla.f64 d3, d5, d13 │ │ │ │ │ + vldr d5, [sp, #8] │ │ │ │ │ + vmla.f64 d3, d7, d11 │ │ │ │ │ + vldr d7, [sp, #16] │ │ │ │ │ + vmla.f64 d0, d5, d9 │ │ │ │ │ + vmul.f64 d5, d7, d2 │ │ │ │ │ + vldr d7, [sp, #112] @ 0x70 │ │ │ │ │ + vmla.f64 d5, d4, d8 │ │ │ │ │ + vmul.f64 d7, d7, d14 │ │ │ │ │ + vsub.f64 d5, d0, d5 │ │ │ │ │ + vadd.f64 d0, d3, d5 │ │ │ │ │ + vsub.f64 d5, d5, d3 │ │ │ │ │ + vldr d3, [sp, #48] @ 0x30 │ │ │ │ │ + vmla.f64 d7, d3, d11 │ │ │ │ │ + vldr d3, [sp, #80] @ 0x50 │ │ │ │ │ + vstr d0, [r6] │ │ │ │ │ + mov.w r6, #88 @ 0x58 │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ + mul.w ip, r6, r4 │ │ │ │ │ + vmls.f64 d7, d3, d13 │ │ │ │ │ + add.w r6, r2, ip │ │ │ │ │ + add ip, r3 │ │ │ │ │ + vsub.f64 d5, d6, d7 │ │ │ │ │ + vadd.f64 d7, d7, d6 │ │ │ │ │ + vstr d5, [r6] │ │ │ │ │ + add.w r6, r4, r4, lsl #1 │ │ │ │ │ + mov.w lr, r6, lsl #3 │ │ │ │ │ add.w r8, r2, lr │ │ │ │ │ - vmov.f64 d2, d11 │ │ │ │ │ - vmla.f64 d2, d12, d7 │ │ │ │ │ add lr, r3 │ │ │ │ │ - vstr d5, [r8] │ │ │ │ │ - vldr d5, [sp, #64] @ 0x40 │ │ │ │ │ - vmul.f64 d4, d5, d15 │ │ │ │ │ - vldr d5, [sp, #32] │ │ │ │ │ - vmla.f64 d4, d8, d14 │ │ │ │ │ - vmla.f64 d4, d6, d13 │ │ │ │ │ - vldr d6, [pc, #52] @ 428 │ │ │ │ │ - vmul.f64 d5, d5, d6 │ │ │ │ │ - vldr d6, [sp, #96] @ 0x60 │ │ │ │ │ - vmla.f64 d5, d0, d9 │ │ │ │ │ - b.n 440 │ │ │ │ │ - nop.w │ │ │ │ │ - .word 0x0558e969 │ │ │ │ │ - .word 0x3fef329c │ │ │ │ │ - .word 0x7505de4b │ │ │ │ │ - .word 0x3fe904c3 │ │ │ │ │ - .word 0x4d71abc1 │ │ │ │ │ - .word 0x3fdbc4c0 │ │ │ │ │ - .word 0xa9cb5c71 │ │ │ │ │ - .word 0x3fecd4bc │ │ │ │ │ - .word 0xe3024582 │ │ │ │ │ - .word 0x3fcc7b90 │ │ │ │ │ - .word 0xe28bedd1 │ │ │ │ │ - .word 0x3fe3f3a0 │ │ │ │ │ - .word 0x00000426 │ │ │ │ │ - R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ - .word 0x00000000 │ │ │ │ │ - R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - vmul.f64 d6, d6, d15 │ │ │ │ │ - vsub.f64 d5, d2, d5 │ │ │ │ │ - vadd.f64 d2, d4, d5 │ │ │ │ │ - vsub.f64 d5, d5, d4 │ │ │ │ │ - vldr d4, [sp, #48] @ 0x30 │ │ │ │ │ - vmla.f64 d6, d4, d13 │ │ │ │ │ - vstr d2, [lr] │ │ │ │ │ - vldr d4, [sp, #72] @ 0x48 │ │ │ │ │ - vmov.f64 d2, d7 │ │ │ │ │ - vstr d5, [r6] │ │ │ │ │ - movs r6, #88 @ 0x58 │ │ │ │ │ - vldr d5, [sp] │ │ │ │ │ - vmla.f64 d5, d3, d7 │ │ │ │ │ - vldr d7, [pc, #636] @ 6f0 │ │ │ │ │ - vmls.f64 d6, d4, d14 │ │ │ │ │ - vmul.f64 d4, d1, d9 │ │ │ │ │ - mul.w r6, r4, r6 │ │ │ │ │ - vldr d3, [pc, #620] @ 6f0 │ │ │ │ │ - vmla.f64 d4, d10, d7 │ │ │ │ │ - vldr d7, [sp, #88] @ 0x58 │ │ │ │ │ - add.w lr, r2, r6 │ │ │ │ │ - add r6, r3 │ │ │ │ │ - vmul.f64 d7, d7, d15 │ │ │ │ │ - vmla.f64 d7, d8, d13 │ │ │ │ │ - vsub.f64 d5, d5, d4 │ │ │ │ │ - vsub.f64 d4, d5, d6 │ │ │ │ │ - vadd.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [sp, #32] │ │ │ │ │ - vstr d4, [lr] │ │ │ │ │ - add.w lr, r2, ip │ │ │ │ │ - vldr d4, [sp, #64] @ 0x40 │ │ │ │ │ - add ip, r3 │ │ │ │ │ - vstr d6, [lr] │ │ │ │ │ - vmov.f64 d6, d11 │ │ │ │ │ - vmla.f64 d6, d5, d2 │ │ │ │ │ - vmul.f64 d5, d12, d9 │ │ │ │ │ - vmla.f64 d5, d0, d3 │ │ │ │ │ - vmls.f64 d7, d4, d14 │ │ │ │ │ - vsub.f64 d6, d6, d5 │ │ │ │ │ - vadd.f64 d5, d7, d6 │ │ │ │ │ - vsub.f64 d6, d6, d7 │ │ │ │ │ - vstr d5, [ip] │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ - movs r6, #48 @ 0x30 │ │ │ │ │ - vldr d7, [sp, #80] @ 0x50 │ │ │ │ │ + vstr d7, [r8] │ │ │ │ │ + vmul.f64 d7, d12, d14 │ │ │ │ │ + vldr d10, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d6, [sp, #8] │ │ │ │ │ vldr d12, [sp, #16] │ │ │ │ │ - vldr d3, [sp, #120] @ 0x78 │ │ │ │ │ - mul.w r7, r4, r6 │ │ │ │ │ - vmul.f64 d7, d7, d13 │ │ │ │ │ - vldr d6, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d0, [sp, #128] @ 0x80 │ │ │ │ │ - adds r6, r3, r7 │ │ │ │ │ - vldr d8, [sp, #136] @ 0x88 │ │ │ │ │ - add r7, r2 │ │ │ │ │ - vldr d10, [sp, #104] @ 0x68 │ │ │ │ │ - vnmls.f64 d7, d12, d14 │ │ │ │ │ - vldr d4, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d11, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d1, [sp, #168] @ 0xa8 │ │ │ │ │ - vstr d3, [sp] │ │ │ │ │ - vmls.f64 d7, d6, d15 │ │ │ │ │ + vmla.f64 d7, d10, d11 │ │ │ │ │ + vldr d10, [sp, #72] @ 0x48 │ │ │ │ │ + vmul.f64 d6, d6, d8 │ │ │ │ │ + vldr d1, [sp, #88] @ 0x58 │ │ │ │ │ + vmla.f64 d15, d12, d9 │ │ │ │ │ + vldr d3, [sp, #136] @ 0x88 │ │ │ │ │ + vmls.f64 d7, d10, d13 │ │ │ │ │ + vldr d12, [sp] │ │ │ │ │ + vmla.f64 d6, d4, d2 │ │ │ │ │ + vldr d10, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d4, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d0, [sp, #160] @ 0xa0 │ │ │ │ │ + vsub.f64 d15, d15, d6 │ │ │ │ │ + vadd.f64 d6, d7, d15 │ │ │ │ │ + vsub.f64 d15, d15, d7 │ │ │ │ │ + vstr d6, [lr] │ │ │ │ │ + mov.w lr, r6, lsl #4 │ │ │ │ │ + vldr d6, [sp, #96] @ 0x60 │ │ │ │ │ + mov.w r6, r6, lsl #5 │ │ │ │ │ + vstr d15, [ip] │ │ │ │ │ + add.w ip, r3, lr │ │ │ │ │ + add lr, r2 │ │ │ │ │ + vldr d15, [sp, #24] │ │ │ │ │ + vmul.f64 d7, d6, d11 │ │ │ │ │ + vldr d6, [sp, #32] │ │ │ │ │ + vnmls.f64 d7, d6, d13 │ │ │ │ │ vmov.f64 d6, d3 │ │ │ │ │ - vmla.f64 d6, d0, d2 │ │ │ │ │ - vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ - vmov.f64 d5, d6 │ │ │ │ │ - vldr d6, [pc, #436] @ 6f0 │ │ │ │ │ - vmul.f64 d6, d8, d6 │ │ │ │ │ + vmls.f64 d7, d10, d14 │ │ │ │ │ + vldr d10, [sp, #152] @ 0x98 │ │ │ │ │ vmla.f64 d6, d10, d9 │ │ │ │ │ - vldr d10, [sp, #144] @ 0x90 │ │ │ │ │ + vmov.f64 d5, d6 │ │ │ │ │ + vmul.f64 d6, d12, d2 │ │ │ │ │ + vmla.f64 d6, d15, d8 │ │ │ │ │ + vldr d15, [sp, #168] @ 0xa8 │ │ │ │ │ vsub.f64 d6, d5, d6 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [pc, #416] @ 6f8 │ │ │ │ │ - vstr d5, [r6] │ │ │ │ │ - lsls r6, r4, #6 │ │ │ │ │ - add.w ip, r3, r6 │ │ │ │ │ + vmul.f64 d6, d0, d2 │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ + mov.w ip, r4, lsl #6 │ │ │ │ │ + vmla.f64 d6, d15, d8 │ │ │ │ │ + vldr d5, [sp, #56] @ 0x38 │ │ │ │ │ + add.w r8, r3, ip │ │ │ │ │ + add ip, r2 │ │ │ │ │ + vstr d7, [r8] │ │ │ │ │ + vldr d7, [sp, #120] @ 0x78 │ │ │ │ │ + vmul.f64 d7, d7, d11 │ │ │ │ │ + vnmls.f64 d7, d5, d13 │ │ │ │ │ vmov.f64 d5, d4 │ │ │ │ │ - vmla.f64 d5, d2, d6 │ │ │ │ │ - vldr d2, [sp, #8] │ │ │ │ │ - vldr d6, [pc, #384] @ 6f0 │ │ │ │ │ - add r6, r2 │ │ │ │ │ - vstr d7, [ip] │ │ │ │ │ - vmul.f64 d7, d11, d13 │ │ │ │ │ - vldr d11, [sp, #24] │ │ │ │ │ - vmul.f64 d6, d2, d6 │ │ │ │ │ - vmla.f64 d6, d10, d9 │ │ │ │ │ - vnmls.f64 d7, d1, d14 │ │ │ │ │ - vmls.f64 d7, d11, d15 │ │ │ │ │ + vmls.f64 d7, d1, d14 │ │ │ │ │ + vldr d1, [sp, #144] @ 0x90 │ │ │ │ │ + vmla.f64 d5, d1, d9 │ │ │ │ │ vsub.f64 d6, d5, d6 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [pc, #344] @ 6f8 │ │ │ │ │ - vstr d5, [r7] │ │ │ │ │ - lsls r7, r4, #5 │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ - adds r6, r3, r7 │ │ │ │ │ - vldr d7, [sp, #56] @ 0x38 │ │ │ │ │ - add r7, r2 │ │ │ │ │ - vldr d5, [sp, #80] @ 0x50 │ │ │ │ │ - vmul.f64 d7, d7, d14 │ │ │ │ │ - vmla.f64 d7, d12, d13 │ │ │ │ │ - vldr d12, [sp, #104] @ 0x68 │ │ │ │ │ - vmls.f64 d7, d5, d15 │ │ │ │ │ + vldr d6, [sp, #32] │ │ │ │ │ + vstr d5, [lr] │ │ │ │ │ + vstr d7, [ip] │ │ │ │ │ + mov.w ip, r4, lsl #5 │ │ │ │ │ + vldr d7, [sp, #64] @ 0x40 │ │ │ │ │ + add.w lr, r3, ip │ │ │ │ │ + add ip, r2 │ │ │ │ │ + vldr d5, [sp, #96] @ 0x60 │ │ │ │ │ + vmul.f64 d7, d7, d13 │ │ │ │ │ + vmla.f64 d7, d6, d11 │ │ │ │ │ + vmul.f64 d6, d10, d8 │ │ │ │ │ + vmls.f64 d7, d5, d14 │ │ │ │ │ vmov.f64 d5, d3 │ │ │ │ │ - vldr d3, [pc, #292] @ 6f0 │ │ │ │ │ - vmla.f64 d5, d8, d6 │ │ │ │ │ - vmul.f64 d6, d0, d9 │ │ │ │ │ - vmla.f64 d6, d12, d3 │ │ │ │ │ + vmla.f64 d5, d12, d9 │ │ │ │ │ + vldr d12, [sp, #24] │ │ │ │ │ + vmla.f64 d6, d12, d2 │ │ │ │ │ vsub.f64 d6, d5, d6 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [pc, #272] @ 6f8 │ │ │ │ │ - vstr d5, [r6] │ │ │ │ │ - mul.w r6, sl, r4 │ │ │ │ │ + vmul.f64 d6, d1, d8 │ │ │ │ │ + vstr d5, [lr] │ │ │ │ │ + add.w lr, r3, r7 │ │ │ │ │ + vmla.f64 d6, d15, d2 │ │ │ │ │ + vldr d5, [sp, #56] @ 0x38 │ │ │ │ │ + add r7, r2 │ │ │ │ │ + vstr d7, [lr] │ │ │ │ │ + vldr d7, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d12, [sp, #120] @ 0x78 │ │ │ │ │ + vmul.f64 d7, d7, d13 │ │ │ │ │ + vmla.f64 d7, d5, d11 │ │ │ │ │ vmov.f64 d5, d4 │ │ │ │ │ - vmla.f64 d5, d2, d6 │ │ │ │ │ - add.w ip, r3, r6 │ │ │ │ │ - vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ - add r6, r2 │ │ │ │ │ - vstr d7, [ip] │ │ │ │ │ - vmul.f64 d7, d11, d14 │ │ │ │ │ - vmul.f64 d6, d2, d9 │ │ │ │ │ - vmla.f64 d7, d1, d13 │ │ │ │ │ - vmla.f64 d6, d10, d3 │ │ │ │ │ - vldr d11, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d3, [pc, #216] @ 6f8 │ │ │ │ │ - mov.w ip, #96 @ 0x60 │ │ │ │ │ - vmls.f64 d7, d11, d15 │ │ │ │ │ + vmla.f64 d5, d0, d9 │ │ │ │ │ + vmls.f64 d7, d12, d14 │ │ │ │ │ + vldr d12, [sp, #24] │ │ │ │ │ vsub.f64 d6, d5, d6 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #16] │ │ │ │ │ - vstr d5, [r7] │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ - lsls r6, r4, #4 │ │ │ │ │ - vldr d7, [sp, #56] @ 0x38 │ │ │ │ │ - adds r7, r3, r6 │ │ │ │ │ - vldr d5, [pc, #164] @ 6f0 │ │ │ │ │ - add r6, r2 │ │ │ │ │ - vmul.f64 d7, d7, d13 │ │ │ │ │ - vmla.f64 d7, d6, d15 │ │ │ │ │ - vldr d6, [sp, #80] @ 0x50 │ │ │ │ │ - vmul.f64 d5, d0, d5 │ │ │ │ │ - vmla.f64 d5, d8, d9 │ │ │ │ │ + vldr d6, [sp, #32] │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ + vmul.f64 d5, d10, d2 │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ + mov.w r7, r4, lsl #4 │ │ │ │ │ + vldr d7, [sp, #64] @ 0x40 │ │ │ │ │ + add.w ip, r3, r7 │ │ │ │ │ + add r7, r2 │ │ │ │ │ + vmul.f64 d7, d7, d11 │ │ │ │ │ vmla.f64 d7, d6, d14 │ │ │ │ │ - vldr d6, [sp] │ │ │ │ │ - vmla.f64 d6, d12, d3 │ │ │ │ │ + vldr d6, [sp, #96] @ 0x60 │ │ │ │ │ + vmla.f64 d7, d6, d13 │ │ │ │ │ + vmov.f64 d6, d3 │ │ │ │ │ + vmla.f64 d6, d12, d9 │ │ │ │ │ + vldr d12, [sp] │ │ │ │ │ + vmla.f64 d5, d12, d8 │ │ │ │ │ + vldr d12, [sp, #120] @ 0x78 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vstr d5, [r7] │ │ │ │ │ - mul.w r7, ip, r4 │ │ │ │ │ - vldr d5, [pc, #108] @ 6f0 │ │ │ │ │ - add.w ip, r3, r7 │ │ │ │ │ - vldr d7, [sp, #24] │ │ │ │ │ - add r7, r2 │ │ │ │ │ - vmul.f64 d5, d2, d5 │ │ │ │ │ - vldr d2, [sp, #8] │ │ │ │ │ + vldr d7, [sp, #88] @ 0x58 │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ + vmul.f64 d7, d7, d11 │ │ │ │ │ + add.w ip, r3, r6 │ │ │ │ │ + vldr d5, [sp, #56] @ 0x38 │ │ │ │ │ + add r6, r2 │ │ │ │ │ + add r3, fp │ │ │ │ │ vstr d6, [ip] │ │ │ │ │ - vmul.f64 d7, d7, d13 │ │ │ │ │ vmov.f64 d6, d4 │ │ │ │ │ - vmla.f64 d7, d1, d15 │ │ │ │ │ - vmla.f64 d5, d2, d9 │ │ │ │ │ - vmla.f64 d6, d10, d3 │ │ │ │ │ - vmla.f64 d7, d11, d14 │ │ │ │ │ + add r2, fp │ │ │ │ │ + vmla.f64 d6, d15, d9 │ │ │ │ │ + vmla.f64 d7, d5, d14 │ │ │ │ │ + vmul.f64 d5, d1, d2 │ │ │ │ │ + vmla.f64 d5, d0, d8 │ │ │ │ │ + vmla.f64 d7, d12, d13 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d5, [r7] │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ - ldr r6, [sp, #180] @ 0xb4 │ │ │ │ │ + vstr d5, [r6] │ │ │ │ │ + ldr r6, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ add r0, r6 │ │ │ │ │ add r1, r6 │ │ │ │ │ - ldr r6, [sp, #184] @ 0xb8 │ │ │ │ │ - add r2, r6 │ │ │ │ │ - add r3, r6 │ │ │ │ │ - ldr r6, [sp, #188] @ 0xbc │ │ │ │ │ - eors r5, r6 │ │ │ │ │ - eors r4, r6 │ │ │ │ │ - ldr r6, [sp, #304] @ 0x130 │ │ │ │ │ + ldr r6, [sp, #180] @ 0xb4 │ │ │ │ │ + eor.w r5, r5, r6 │ │ │ │ │ + eor.w r4, r4, r6 │ │ │ │ │ + ldr r6, [sp, #296] @ 0x128 │ │ │ │ │ subs r6, #1 │ │ │ │ │ - str r6, [sp, #304] @ 0x130 │ │ │ │ │ - bne.w 44 │ │ │ │ │ - add sp, #196 @ 0xc4 │ │ │ │ │ + str r6, [sp, #296] @ 0x128 │ │ │ │ │ + bne.w 98 │ │ │ │ │ + add sp, #188 @ 0xbc │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop │ │ │ │ │ - .word 0xe3024582 │ │ │ │ │ - .word 0x3fcc7b90 │ │ │ │ │ - .word 0xe28bedd1 │ │ │ │ │ - .word 0x3fe3f3a0 │ │ │ │ │ │ │ │ │ │ -00000700 : │ │ │ │ │ +00000708 : │ │ │ │ │ fftw_codelet_n1_14(): │ │ │ │ │ - ldr r2, [pc, #8] @ (70c ) │ │ │ │ │ - ldr r1, [pc, #12] @ (710 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (714 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (718 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── n1_15.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2632 (bytes into file) │ │ │ │ │ + Start of section headers: 2624 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0xa48: │ │ │ │ │ +There are 13 section headers, starting at offset 0xa40: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000754 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0009a0 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000788 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000788 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000788 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 00078e 000040 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 0009c8 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 0007ce 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0007ce 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 000804 000120 10 11 13 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 000924 00007b 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 0009d8 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00076c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000998 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0007a0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0007a0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0007a0 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0007a6 000040 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 0009c0 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 0007e6 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0007e6 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 00081c 000100 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 00091c 00007b 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 0009d0 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,21 +1,19 @@ │ │ │ │ │ │ │ │ │ │ -Symbol table '.symtab' contains 18 entries: │ │ │ │ │ +Symbol table '.symtab' contains 16 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1856 FUNC LOCAL DEFAULT 1 n1_15 │ │ │ │ │ + 1: 00000001 1880 FUNC LOCAL DEFAULT 1 n1_15 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000410 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000438 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000738 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000740 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 0000074c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ - 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ - 10: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ - 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ - 12: 00000000 64 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ - 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ - 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 15: 00000741 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_15 │ │ │ │ │ - 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_register │ │ │ │ │ - 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_n_genus │ │ │ │ │ + 3: 00000418 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000440 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000764 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ + 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ + 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ + 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ + 10: 00000000 64 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ + 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ + 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ + 13: 00000759 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_15 │ │ │ │ │ + 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_register │ │ │ │ │ + 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_n_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x9a0 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x998 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000430 00000d19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000434 00000e1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -0000074c 00000a03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000750 00000103 R_ARM_REL32 00000001 n1_15 │ │ │ │ │ -00000748 0000101e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ +00000438 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000043c 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000764 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000768 00000103 R_ARM_REL32 00000001 n1_15 │ │ │ │ │ +00000760 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x9c8 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x9c0 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ -00000028 00001102 R_ARM_ABS32 00000000 fftw_dft_n_genus │ │ │ │ │ +00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ +00000028 00000f02 R_ARM_ABS32 00000000 fftw_dft_n_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,514 +1,517 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ n1_15(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - ldr.w r6, [pc, #1064] @ 430 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub sp, #292 @ 0x124 │ │ │ │ │ + sub sp, #276 @ 0x114 │ │ │ │ │ + ldr.w r6, [pc, #1052] @ 438 │ │ │ │ │ + ldr r7, [sp, #384] @ 0x180 │ │ │ │ │ + ldrd r5, r4, [sp, #376] @ 0x178 │ │ │ │ │ add r6, pc │ │ │ │ │ - ldr r7, [sp, #400] @ 0x190 │ │ │ │ │ - ldrd r5, r4, [sp, #392] @ 0x188 │ │ │ │ │ cmp r7, #0 │ │ │ │ │ - ble.w 728 │ │ │ │ │ - ldr.w ip, [pc, #1044] @ 434 │ │ │ │ │ - mov.w r9, #40 @ 0x28 │ │ │ │ │ - ldr r7, [sp, #404] @ 0x194 │ │ │ │ │ - vldr d11, [pc, #1000] @ 410 │ │ │ │ │ - vldr d15, [pc, #1004] @ 418 │ │ │ │ │ - ldr.w r6, [r6, ip] │ │ │ │ │ + ble.w 73c │ │ │ │ │ + ldr r7, [sp, #388] @ 0x184 │ │ │ │ │ + vldr d15, [pc, #1000] @ 418 │ │ │ │ │ + vldr d14, [pc, #1004] @ 420 │ │ │ │ │ + mov.w r9, r7, lsl #3 │ │ │ │ │ + ldr r7, [sp, #392] @ 0x188 │ │ │ │ │ mov.w r8, r7, lsl #3 │ │ │ │ │ - ldr r7, [sp, #408] @ 0x198 │ │ │ │ │ - vldr d14, [pc, #996] @ 420 │ │ │ │ │ + ldr r7, [pc, #1016] @ (43c ) │ │ │ │ │ + ldr r6, [r6, r7] │ │ │ │ │ ldr r6, [r6, #0] │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ - str r6, [sp, #284] @ 0x11c │ │ │ │ │ - mul.w r6, r9, r5 │ │ │ │ │ + str r6, [sp, #268] @ 0x10c │ │ │ │ │ + add.w r6, r5, r5, lsl #2 │ │ │ │ │ vldr d4, [r0] │ │ │ │ │ + add.w ip, r5, r5, lsl #1 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + vldr d0, [pc, #972] @ 428 │ │ │ │ │ + mov.w lr, ip, lsl #4 │ │ │ │ │ + add.w r7, r0, r6 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - add.w ip, r0, r6 │ │ │ │ │ - vldr d5, [ip] │ │ │ │ │ - add ip, r6 │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ - add.w ip, r1, r6 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + add r7, r6 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + add.w r7, r1, r6 │ │ │ │ │ vadd.f64 d2, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [ip] │ │ │ │ │ - add ip, r6 │ │ │ │ │ - vldr d1, [ip] │ │ │ │ │ - mov.w ip, #48 @ 0x30 │ │ │ │ │ - vmul.f64 d6, d6, d11 │ │ │ │ │ + vldr d5, [pc, #936] @ 428 │ │ │ │ │ + vmul.f64 d6, d6, d5 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + add r7, r6 │ │ │ │ │ + vldr d1, [r7] │ │ │ │ │ + add.w r7, r0, lr │ │ │ │ │ + add lr, r1 │ │ │ │ │ vsub.f64 d3, d5, d1 │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ vadd.f64 d1, d4, d2 │ │ │ │ │ - mul.w ip, ip, r5 │ │ │ │ │ - add.w lr, r0, ip │ │ │ │ │ - add ip, r1 │ │ │ │ │ - vmul.f64 d3, d3, d11 │ │ │ │ │ - vadd.f64 d0, d7, d5 │ │ │ │ │ - vstr d1, [sp, #152] @ 0x98 │ │ │ │ │ + vmul.f64 d3, d3, d0 │ │ │ │ │ + vadd.f64 d10, d7, d5 │ │ │ │ │ + vstr d1, [sp, #144] @ 0x90 │ │ │ │ │ vmov.f64 d1, #96 @ 0x3f000000 0.5 │ │ │ │ │ vmls.f64 d4, d2, d1 │ │ │ │ │ vmls.f64 d7, d5, d1 │ │ │ │ │ - vstr d0, [sp, #160] @ 0xa0 │ │ │ │ │ - vsub.f64 d8, d4, d3 │ │ │ │ │ + vmov.f64 d11, d1 │ │ │ │ │ + vstr d10, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d10, [lr] │ │ │ │ │ + add lr, r6 │ │ │ │ │ + vsub.f64 d2, d4, d3 │ │ │ │ │ vadd.f64 d4, d3, d4 │ │ │ │ │ - vadd.f64 d5, d6, d7 │ │ │ │ │ + vadd.f64 d8, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vstr d4, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d2, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d4, [sp, #168] @ 0xa8 │ │ │ │ │ vmov.f64 d4, d1 │ │ │ │ │ - vldr d1, [lr] │ │ │ │ │ - add lr, r6 │ │ │ │ │ - vstr d7, [sp, #192] @ 0xc0 │ │ │ │ │ - vstr d8, [sp, #168] @ 0xa8 │ │ │ │ │ - vldr d6, [lr] │ │ │ │ │ - mov.w lr, r5, lsl #3 │ │ │ │ │ - add.w sl, r0, lr │ │ │ │ │ - add lr, r1 │ │ │ │ │ - vmov.f64 d3, d1 │ │ │ │ │ - vstr d5, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d1, [r7] │ │ │ │ │ + add r7, r6 │ │ │ │ │ + vstr d8, [sp, #176] @ 0xb0 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + mov.w r7, r5, lsl #3 │ │ │ │ │ + vstr d7, [sp, #184] @ 0xb8 │ │ │ │ │ + add.w sl, r0, r7 │ │ │ │ │ vldr d7, [sl] │ │ │ │ │ - vadd.f64 d2, d6, d7 │ │ │ │ │ + vmov.f64 d3, d1 │ │ │ │ │ + vadd.f64 d8, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ + vmul.f64 d13, d7, d0 │ │ │ │ │ + vldr d7, [lr] │ │ │ │ │ + add.w lr, r1, r7 │ │ │ │ │ + add r7, r5 │ │ │ │ │ + vmls.f64 d3, d8, d4 │ │ │ │ │ + vadd.f64 d1, d1, d8 │ │ │ │ │ vldr d6, [lr] │ │ │ │ │ - mov.w lr, #72 @ 0x48 │ │ │ │ │ - vmul.f64 d12, d7, d11 │ │ │ │ │ - vmls.f64 d3, d2, d4 │ │ │ │ │ - vadd.f64 d2, d1, d2 │ │ │ │ │ - vstr d12, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d12, [ip] │ │ │ │ │ - add ip, r6 │ │ │ │ │ - vstr d2, [sp, #8] │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ - mul.w ip, lr, r5 │ │ │ │ │ - vstr d3, [sp, #24] │ │ │ │ │ - add.w lr, r0, ip │ │ │ │ │ - add ip, r1 │ │ │ │ │ - vadd.f64 d10, d7, d6 │ │ │ │ │ - vsub.f64 d7, d7, d6 │ │ │ │ │ - vmov.f64 d6, d12 │ │ │ │ │ - vldr d3, [lr] │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + add.w lr, r0, r7 │ │ │ │ │ + add r7, r1 │ │ │ │ │ + vldr d2, [lr] │ │ │ │ │ add lr, r6 │ │ │ │ │ - vmls.f64 d6, d10, d4 │ │ │ │ │ - vmul.f64 d13, d7, d11 │ │ │ │ │ + vstr d13, [sp, #40] @ 0x28 │ │ │ │ │ + vadd.f64 d13, d7, d6 │ │ │ │ │ + vsub.f64 d7, d7, d6 │ │ │ │ │ + vstr d1, [sp] │ │ │ │ │ + vstr d3, [sp, #16] │ │ │ │ │ + vmov.f64 d12, d2 │ │ │ │ │ + vmul.f64 d5, d7, d0 │ │ │ │ │ vldr d7, [lr] │ │ │ │ │ mov.w lr, r5, lsl #5 │ │ │ │ │ add.w sl, r0, lr │ │ │ │ │ - vmov.f64 d5, d3 │ │ │ │ │ add lr, r1 │ │ │ │ │ - vadd.f64 d10, d12, d10 │ │ │ │ │ - vldr d0, [lr] │ │ │ │ │ - vstr d6, [sp, #56] @ 0x38 │ │ │ │ │ vldr d6, [sl] │ │ │ │ │ - mov.w sl, #24 │ │ │ │ │ - vadd.f64 d8, d7, d6 │ │ │ │ │ + vstr d5, [sp, #24] │ │ │ │ │ + vmov.f64 d5, d10 │ │ │ │ │ + vadd.f64 d10, d10, d13 │ │ │ │ │ + vadd.f64 d3, d7, d6 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ - add ip, r6 │ │ │ │ │ - vmls.f64 d5, d8, d4 │ │ │ │ │ - vadd.f64 d3, d3, d8 │ │ │ │ │ - vstr d7, [sp] │ │ │ │ │ - vmul.f64 d6, d6, d11 │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ - mul.w ip, sl, r5 │ │ │ │ │ - vadd.f64 d1, d2, d3 │ │ │ │ │ - vstr d3, [sp, #16] │ │ │ │ │ - add.w lr, r0, ip │ │ │ │ │ - add ip, r1 │ │ │ │ │ + vmls.f64 d5, d13, d4 │ │ │ │ │ + vmls.f64 d12, d3, d4 │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + add r7, r6 │ │ │ │ │ + vmul.f64 d6, d6, d0 │ │ │ │ │ + vadd.f64 d3, d2, d3 │ │ │ │ │ + vldr d0, [lr] │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + mov.w r7, ip, lsl #3 │ │ │ │ │ vmov.f64 d9, d5 │ │ │ │ │ + mov.w ip, ip, lsl #5 │ │ │ │ │ + vldr d2, [sp, #24] │ │ │ │ │ + add.w lr, r0, r7 │ │ │ │ │ + add r7, r1 │ │ │ │ │ + vadd.f64 d8, d1, d3 │ │ │ │ │ + vstr d3, [sp, #8] │ │ │ │ │ + vldr d3, [sp, #16] │ │ │ │ │ vadd.f64 d5, d7, d0 │ │ │ │ │ vsub.f64 d7, d7, d0 │ │ │ │ │ - vldr d0, [sp] │ │ │ │ │ - vstr d1, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d3, [sp, #24] │ │ │ │ │ - vmls.f64 d0, d5, d4 │ │ │ │ │ - vldr d4, [sp] │ │ │ │ │ - vldr d12, [sp, #48] @ 0x30 │ │ │ │ │ - vmul.f64 d7, d7, d11 │ │ │ │ │ - vstr d10, [sp] │ │ │ │ │ - vsub.f64 d8, d3, d13 │ │ │ │ │ - vadd.f64 d5, d4, d5 │ │ │ │ │ - vadd.f64 d13, d3, d13 │ │ │ │ │ - vsub.f64 d1, d9, d7 │ │ │ │ │ - vadd.f64 d7, d9, d7 │ │ │ │ │ - vstr d8, [sp, #24] │ │ │ │ │ - vadd.f64 d4, d10, d5 │ │ │ │ │ - vldr d10, [sp, #56] @ 0x38 │ │ │ │ │ - vstr d5, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d7, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d0, [pc, #612] @ 428 │ │ │ │ │ + vstr d8, [sp, #192] @ 0xc0 │ │ │ │ │ + vsub.f64 d8, d3, d2 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ + vmov.f64 d0, d4 │ │ │ │ │ + vadd.f64 d4, d4, d5 │ │ │ │ │ + vmls.f64 d0, d5, d11 │ │ │ │ │ + vstr d8, [sp, #16] │ │ │ │ │ + vldr d13, [sp, #40] @ 0x28 │ │ │ │ │ + vsub.f64 d1, d12, d7 │ │ │ │ │ + vadd.f64 d12, d12, d7 │ │ │ │ │ + vadd.f64 d5, d10, d4 │ │ │ │ │ vadd.f64 d8, d8, d1 │ │ │ │ │ - vsub.f64 d5, d10, d12 │ │ │ │ │ - vadd.f64 d12, d12, d10 │ │ │ │ │ - vstr d4, [sp, #216] @ 0xd8 │ │ │ │ │ - vsub.f64 d4, d0, d6 │ │ │ │ │ + vstr d1, [sp, #24] │ │ │ │ │ + vstr d4, [sp, #32] │ │ │ │ │ + vsub.f64 d4, d9, d13 │ │ │ │ │ + vadd.f64 d13, d13, d9 │ │ │ │ │ + vsub.f64 d1, d0, d6 │ │ │ │ │ vadd.f64 d0, d6, d0 │ │ │ │ │ - vstr d13, [sp, #80] @ 0x50 │ │ │ │ │ - vstr d8, [sp, #208] @ 0xd0 │ │ │ │ │ - vstr d12, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d5, [sp, #48] @ 0x30 │ │ │ │ │ - vadd.f64 d5, d5, d4 │ │ │ │ │ - vadd.f64 d10, d12, d0 │ │ │ │ │ - vadd.f64 d12, d13, d7 │ │ │ │ │ - vstr d4, [sp, #56] @ 0x38 │ │ │ │ │ - vmov.f64 d4, #96 @ 0x3f000000 0.5 │ │ │ │ │ - vstr d1, [sp, #32] │ │ │ │ │ + vstr d5, [sp, #208] @ 0xd0 │ │ │ │ │ + vadd.f64 d5, d13, d0 │ │ │ │ │ + vstr d4, [sp, #40] @ 0x28 │ │ │ │ │ + vadd.f64 d4, d4, d1 │ │ │ │ │ + vstr d1, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d13, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d8, [sp, #200] @ 0xc8 │ │ │ │ │ + vstr d0, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d4, [sp, #216] @ 0xd8 │ │ │ │ │ vstr d5, [sp, #224] @ 0xe0 │ │ │ │ │ - vstr d10, [sp, #232] @ 0xe8 │ │ │ │ │ - vldr d10, [lr] │ │ │ │ │ + vadd.f64 d5, d3, d2 │ │ │ │ │ + vmov.f64 d2, d12 │ │ │ │ │ + vadd.f64 d12, d5, d12 │ │ │ │ │ + vstr d5, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d5, [lr] │ │ │ │ │ add lr, r6 │ │ │ │ │ - vstr d12, [sp, #240] @ 0xf0 │ │ │ │ │ - vstr d0, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d2, [sp, #80] @ 0x50 │ │ │ │ │ vldr d6, [lr] │ │ │ │ │ add lr, r6 │ │ │ │ │ - vmov.f64 d3, d10 │ │ │ │ │ vldr d7, [lr] │ │ │ │ │ - mov.w lr, #96 @ 0x60 │ │ │ │ │ - vadd.f64 d13, d6, d7 │ │ │ │ │ + vstr d12, [sp, #232] @ 0xe8 │ │ │ │ │ + vmov.f64 d3, d5 │ │ │ │ │ + vadd.f64 d4, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - mul.w sl, lr, r5 │ │ │ │ │ - vmul.f64 d12, d7, d11 │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ - add ip, r6 │ │ │ │ │ - vmls.f64 d3, d13, d4 │ │ │ │ │ - vstr d13, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ - add ip, r6 │ │ │ │ │ - vldr d5, [ip] │ │ │ │ │ - add.w ip, r0, sl │ │ │ │ │ - add sl, r1 │ │ │ │ │ - vstr d3, [sp, #104] @ 0x68 │ │ │ │ │ - vmov.f64 d3, d4 │ │ │ │ │ - vadd.f64 d13, d6, d5 │ │ │ │ │ - vsub.f64 d6, d6, d5 │ │ │ │ │ - vldr d1, [ip] │ │ │ │ │ - mov.w ip, r5, lsl #4 │ │ │ │ │ - add.w fp, r0, ip │ │ │ │ │ + vldr d6, [pc, #444] @ 428 │ │ │ │ │ + vmls.f64 d3, d4, d11 │ │ │ │ │ + vmul.f64 d9, d7, d6 │ │ │ │ │ + vadd.f64 d4, d5, d4 │ │ │ │ │ + vstr d3, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d3, [r7] │ │ │ │ │ + add r7, r6 │ │ │ │ │ + vstr d9, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + add r7, r6 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + add.w r7, r0, ip │ │ │ │ │ add ip, r1 │ │ │ │ │ - add r0, r8 │ │ │ │ │ - add r1, r8 │ │ │ │ │ - vmul.f64 d8, d6, d11 │ │ │ │ │ - vmov.f64 d6, d7 │ │ │ │ │ - vmls.f64 d6, d13, d4 │ │ │ │ │ - vmov.f64 d4, d1 │ │ │ │ │ - vadd.f64 d7, d7, d13 │ │ │ │ │ + vldr d1, [r7] │ │ │ │ │ + mov.w r7, r5, lsl #4 │ │ │ │ │ + add.w lr, r0, r7 │ │ │ │ │ + add r7, r1 │ │ │ │ │ + vldr d2, [ip] │ │ │ │ │ + mov.w ip, r4, lsl #3 │ │ │ │ │ + add r0, r9 │ │ │ │ │ + add r1, r9 │ │ │ │ │ + vadd.f64 d12, d7, d6 │ │ │ │ │ + vsub.f64 d7, d7, d6 │ │ │ │ │ + vldr d6, [pc, #364] @ 428 │ │ │ │ │ + add.w sl, ip, r4 │ │ │ │ │ + vmov.f64 d0, d1 │ │ │ │ │ + vldr d5, [sp, #88] @ 0x58 │ │ │ │ │ + mov.w sl, sl, lsl #3 │ │ │ │ │ + vmov.f64 d9, d2 │ │ │ │ │ + vmul.f64 d13, d7, d6 │ │ │ │ │ + vmov.f64 d6, d3 │ │ │ │ │ + vldr d7, [lr] │ │ │ │ │ + add lr, r6 │ │ │ │ │ + vadd.f64 d3, d3, d12 │ │ │ │ │ + vmls.f64 d6, d12, d11 │ │ │ │ │ vstr d6, [sp, #128] @ 0x80 │ │ │ │ │ - vldr d6, [fp] │ │ │ │ │ - add fp, r6 │ │ │ │ │ - vldr d5, [fp] │ │ │ │ │ - vadd.f64 d2, d6, d5 │ │ │ │ │ - vsub.f64 d5, d5, d6 │ │ │ │ │ - vmls.f64 d4, d2, d3 │ │ │ │ │ - vadd.f64 d1, d1, d2 │ │ │ │ │ - vmul.f64 d5, d5, d11 │ │ │ │ │ - vstr d4, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d4, [sl] │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ - add ip, r6 │ │ │ │ │ - movs r6, #72 @ 0x48 │ │ │ │ │ - vldr d0, [ip] │ │ │ │ │ - mov.w ip, #48 @ 0x30 │ │ │ │ │ - mul.w fp, r6, r4 │ │ │ │ │ - vadd.f64 d9, d6, d0 │ │ │ │ │ - vsub.f64 d6, d6, d0 │ │ │ │ │ - vmov.f64 d0, d4 │ │ │ │ │ - add.w r6, r2, fp │ │ │ │ │ - mul.w sl, ip, r4 │ │ │ │ │ - vmls.f64 d0, d9, d3 │ │ │ │ │ - vldr d3, [sp, #96] @ 0x60 │ │ │ │ │ - vmul.f64 d6, d6, d11 │ │ │ │ │ - vadd.f64 d4, d4, d9 │ │ │ │ │ - vadd.f64 d10, d10, d3 │ │ │ │ │ - vldr d3, [sp, #104] @ 0x68 │ │ │ │ │ - vsub.f64 d2, d3, d8 │ │ │ │ │ - vldr d3, [sp, #112] @ 0x70 │ │ │ │ │ - vsub.f64 d9, d0, d5 │ │ │ │ │ - vsub.f64 d3, d3, d6 │ │ │ │ │ - vstr d2, [sp, #96] @ 0x60 │ │ │ │ │ - vstr d9, [sp, #136] @ 0x88 │ │ │ │ │ - vadd.f64 d2, d2, d3 │ │ │ │ │ - vstr d3, [sp, #120] @ 0x78 │ │ │ │ │ - vadd.f64 d3, d7, d4 │ │ │ │ │ - vsub.f64 d7, d7, d4 │ │ │ │ │ - vstr d2, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d2, [sp, #128] @ 0x80 │ │ │ │ │ - vsub.f64 d13, d2, d12 │ │ │ │ │ - vadd.f64 d12, d12, d2 │ │ │ │ │ - vadd.f64 d9, d13, d9 │ │ │ │ │ - vstr d13, [sp, #128] @ 0x80 │ │ │ │ │ - vldr d13, [sp, #104] @ 0x68 │ │ │ │ │ - vstr d9, [sp, #256] @ 0x100 │ │ │ │ │ - vadd.f64 d9, d5, d0 │ │ │ │ │ - vadd.f64 d0, d13, d8 │ │ │ │ │ - vldr d13, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d8, [sp, #40] @ 0x28 │ │ │ │ │ - vadd.f64 d13, d13, d6 │ │ │ │ │ - vadd.f64 d6, d10, d1 │ │ │ │ │ - vadd.f64 d5, d12, d9 │ │ │ │ │ - vstr d9, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d9, [sp, #152] @ 0x98 │ │ │ │ │ - vsub.f64 d1, d10, d1 │ │ │ │ │ + vldr d6, [lr] │ │ │ │ │ + vadd.f64 d8, d7, d6 │ │ │ │ │ + vsub.f64 d6, d6, d7 │ │ │ │ │ + vldr d7, [pc, #300] @ 428 │ │ │ │ │ + vmls.f64 d0, d8, d11 │ │ │ │ │ + vmul.f64 d11, d6, d7 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + add r7, r6 │ │ │ │ │ + vadd.f64 d8, d1, d8 │ │ │ │ │ + add.w r6, r2, sl │ │ │ │ │ + vadd.f64 d1, d4, d8 │ │ │ │ │ + vsub.f64 d4, d4, d8 │ │ │ │ │ vstr d0, [sp, #104] @ 0x68 │ │ │ │ │ - vstr d13, [sp, #112] @ 0x70 │ │ │ │ │ - vadd.f64 d13, d0, d13 │ │ │ │ │ - vstr d5, [sp, #264] @ 0x108 │ │ │ │ │ - vldr d0, [pc, #128] @ 428 │ │ │ │ │ - vstr d13, [sp, #272] @ 0x110 │ │ │ │ │ - vldr d13, [sp, #200] @ 0xc8 │ │ │ │ │ - vadd.f64 d2, d13, d6 │ │ │ │ │ - vsub.f64 d5, d6, d13 │ │ │ │ │ - vmov.f64 d13, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vldr d0, [r7] │ │ │ │ │ + add.w r7, r4, r4, lsl #1 │ │ │ │ │ + mov.w lr, r7, lsl #4 │ │ │ │ │ + vadd.f64 d6, d7, d0 │ │ │ │ │ + vsub.f64 d7, d7, d0 │ │ │ │ │ + vldr d0, [pc, #244] @ 428 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ + vmov.f64 d0, #96 @ 0x3f000000 0.5 │ │ │ │ │ + vadd.f64 d2, d2, d6 │ │ │ │ │ + vmls.f64 d9, d6, d0 │ │ │ │ │ + vmov.f64 d0, d9 │ │ │ │ │ + vsub.f64 d9, d5, d13 │ │ │ │ │ + vldr d5, [sp, #104] @ 0x68 │ │ │ │ │ + vsub.f64 d5, d5, d7 │ │ │ │ │ + vstr d9, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d6, [sp, #128] @ 0x80 │ │ │ │ │ + vadd.f64 d9, d9, d5 │ │ │ │ │ + vstr d5, [sp, #120] @ 0x78 │ │ │ │ │ + vadd.f64 d5, d3, d2 │ │ │ │ │ + vsub.f64 d3, d3, d2 │ │ │ │ │ + vstr d9, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d9, [sp, #96] @ 0x60 │ │ │ │ │ + vsub.f64 d12, d6, d9 │ │ │ │ │ + vsub.f64 d9, d0, d11 │ │ │ │ │ + vadd.f64 d0, d11, d0 │ │ │ │ │ + vstr d9, [sp, #128] @ 0x80 │ │ │ │ │ + vadd.f64 d9, d12, d9 │ │ │ │ │ + vstr d9, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d9, [sp, #96] @ 0x60 │ │ │ │ │ + vadd.f64 d6, d9, d6 │ │ │ │ │ + vmov.f64 d9, d0 │ │ │ │ │ + vadd.f64 d0, d6, d0 │ │ │ │ │ + vstr d6, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d6, [sp, #88] @ 0x58 │ │ │ │ │ + vstr d9, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d9, [sp, #144] @ 0x90 │ │ │ │ │ + vstr d0, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d0, [sp, #104] @ 0x68 │ │ │ │ │ + vadd.f64 d13, d6, d13 │ │ │ │ │ + vldr d6, [sp, #192] @ 0xc0 │ │ │ │ │ + vadd.f64 d7, d0, d7 │ │ │ │ │ + vadd.f64 d0, d13, d7 │ │ │ │ │ + vmov.f64 d11, d7 │ │ │ │ │ + vldr d7, [pc, #100] @ 430 │ │ │ │ │ + vstr d0, [sp, #88] @ 0x58 │ │ │ │ │ + vsub.f64 d0, d1, d6 │ │ │ │ │ + vadd.f64 d1, d6, d1 │ │ │ │ │ vmov.f64 d6, d9 │ │ │ │ │ - vmls.f64 d6, d2, d13 │ │ │ │ │ - vmul.f64 d5, d5, d0 │ │ │ │ │ - vadd.f64 d2, d9, d2 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - vldr d2, [sp, #160] @ 0xa0 │ │ │ │ │ - vmov.f64 d0, d6 │ │ │ │ │ - vldr d6, [sp] │ │ │ │ │ - vsub.f64 d6, d6, d8 │ │ │ │ │ - vmul.f64 d8, d7, d14 │ │ │ │ │ - vnmls.f64 d8, d6, d15 │ │ │ │ │ - vmul.f64 d6, d6, d14 │ │ │ │ │ - vmla.f64 d6, d7, d15 │ │ │ │ │ - vadd.f64 d7, d5, d0 │ │ │ │ │ - vsub.f64 d0, d0, d5 │ │ │ │ │ - vsub.f64 d4, d7, d6 │ │ │ │ │ - vadd.f64 d6, d6, d7 │ │ │ │ │ - vsub.f64 d7, d0, d8 │ │ │ │ │ - vadd.f64 d8, d8, d0 │ │ │ │ │ - b.n 438 │ │ │ │ │ + vmul.f64 d0, d0, d7 │ │ │ │ │ + vmov.f64 d7, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vmls.f64 d6, d1, d7 │ │ │ │ │ + vldr d7, [sp, #32] │ │ │ │ │ + vadd.f64 d1, d9, d1 │ │ │ │ │ + vsub.f64 d7, d10, d7 │ │ │ │ │ + vmul.f64 d10, d3, d14 │ │ │ │ │ + vstr d1, [r2] │ │ │ │ │ + vldr d1, [pc, #48] @ 430 │ │ │ │ │ + vnmls.f64 d10, d7, d15 │ │ │ │ │ + vmul.f64 d7, d7, d14 │ │ │ │ │ + vmla.f64 d7, d3, d15 │ │ │ │ │ + vadd.f64 d3, d0, d6 │ │ │ │ │ + b.n 440 │ │ │ │ │ nop.w │ │ │ │ │ - .word 0xe8584caa │ │ │ │ │ - .word 0x3febb67a │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ + .word 0xe8584caa │ │ │ │ │ + .word 0x3febb67a │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ - .word 0x0000041e │ │ │ │ │ + .word 0x00000410 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - vldr d0, [pc, #764] @ 738 │ │ │ │ │ - vstr d4, [r6] │ │ │ │ │ - add.w r6, r2, sl │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ - mul.w r6, lr, r4 │ │ │ │ │ - vldr d6, [sp, #216] @ 0xd8 │ │ │ │ │ - add.w ip, r2, r6 │ │ │ │ │ - add r6, r3 │ │ │ │ │ - vsub.f64 d5, d3, d6 │ │ │ │ │ - vadd.f64 d3, d6, d3 │ │ │ │ │ - vstr d7, [ip] │ │ │ │ │ - mov.w ip, #24 │ │ │ │ │ - vldr d7, [sp, #8] │ │ │ │ │ - vmov.f64 d6, d2 │ │ │ │ │ - mul.w ip, ip, r4 │ │ │ │ │ - vmls.f64 d6, d3, d13 │ │ │ │ │ - vmul.f64 d5, d5, d0 │ │ │ │ │ - vadd.f64 d3, d2, d3 │ │ │ │ │ - add.w lr, r2, ip │ │ │ │ │ - add ip, r3 │ │ │ │ │ - vstr d8, [lr] │ │ │ │ │ - add.w lr, r3, sl │ │ │ │ │ - vldr d4, [sp, #16] │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ - vadd.f64 d3, d5, d6 │ │ │ │ │ - vsub.f64 d6, d6, d5 │ │ │ │ │ - vsub.f64 d7, d7, d4 │ │ │ │ │ - vmul.f64 d4, d1, d14 │ │ │ │ │ - vldr d10, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d9, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d8, [sp, #192] @ 0xc0 │ │ │ │ │ - vnmls.f64 d4, d7, d15 │ │ │ │ │ - vmul.f64 d7, d7, d14 │ │ │ │ │ - vmla.f64 d7, d1, d15 │ │ │ │ │ - vmov.f64 d1, d0 │ │ │ │ │ + vsub.f64 d6, d6, d0 │ │ │ │ │ + vmov.f64 d0, #80 @ 0x3e800000 0.250 │ │ │ │ │ vsub.f64 d2, d3, d7 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ - vstr d2, [lr] │ │ │ │ │ - add.w lr, r3, fp │ │ │ │ │ - vldr d2, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d7, [lr] │ │ │ │ │ - vsub.f64 d7, d6, d4 │ │ │ │ │ - vadd.f64 d4, d4, d6 │ │ │ │ │ + vstr d2, [r6] │ │ │ │ │ + add.w r6, r2, lr │ │ │ │ │ + vldr d2, [sp, #8] │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ + vsub.f64 d7, d6, d10 │ │ │ │ │ + mov.w r6, r7, lsl #5 │ │ │ │ │ + vadd.f64 d10, d10, d6 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ vldr d6, [sp, #208] @ 0xd0 │ │ │ │ │ - vstr d7, [ip] │ │ │ │ │ - vsub.f64 d5, d10, d6 │ │ │ │ │ - vstr d4, [r6] │ │ │ │ │ - vadd.f64 d4, d6, d10 │ │ │ │ │ - vldr d10, [sp, #56] @ 0x38 │ │ │ │ │ - mul.w ip, r9, r4 │ │ │ │ │ - vmul.f64 d5, d5, d0 │ │ │ │ │ - vldr d0, [sp, #168] @ 0xa8 │ │ │ │ │ - vsub.f64 d7, d2, d10 │ │ │ │ │ + add.w fp, r2, r6 │ │ │ │ │ + add r6, r3 │ │ │ │ │ + vstr d7, [fp] │ │ │ │ │ + add.w fp, r2, r7 │ │ │ │ │ + add r7, r3 │ │ │ │ │ + vldr d7, [sp] │ │ │ │ │ + vsub.f64 d3, d5, d6 │ │ │ │ │ + vadd.f64 d5, d6, d5 │ │ │ │ │ + vstr d10, [fp] │ │ │ │ │ + add.w fp, r3, lr │ │ │ │ │ + vldr d10, [sp, #152] @ 0x98 │ │ │ │ │ + vsub.f64 d7, d7, d2 │ │ │ │ │ + vmul.f64 d2, d4, d14 │ │ │ │ │ + vmul.f64 d3, d3, d1 │ │ │ │ │ + vmov.f64 d6, d10 │ │ │ │ │ + vmls.f64 d6, d5, d0 │ │ │ │ │ + vnmls.f64 d2, d7, d15 │ │ │ │ │ + vmul.f64 d7, d7, d14 │ │ │ │ │ + vadd.f64 d5, d10, d5 │ │ │ │ │ + vmla.f64 d7, d4, d15 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + vadd.f64 d5, d3, d6 │ │ │ │ │ + vsub.f64 d6, d6, d3 │ │ │ │ │ + vsub.f64 d4, d5, d7 │ │ │ │ │ + vadd.f64 d7, d7, d5 │ │ │ │ │ + vstr d4, [fp] │ │ │ │ │ + add.w fp, r3, sl │ │ │ │ │ + vstr d7, [fp] │ │ │ │ │ + vsub.f64 d7, d6, d2 │ │ │ │ │ + vadd.f64 d2, d2, d6 │ │ │ │ │ + vldr d6, [sp, #200] @ 0xc8 │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ + add.w r7, r4, r4, lsl #2 │ │ │ │ │ + vldr d7, [sp, #240] @ 0xf0 │ │ │ │ │ + vstr d2, [r6] │ │ │ │ │ + mov.w fp, r7, lsl #3 │ │ │ │ │ + vldr d2, [sp, #160] @ 0xa0 │ │ │ │ │ + mov.w r7, r7, lsl #4 │ │ │ │ │ + add.w r6, r2, fp │ │ │ │ │ + add fp, r3 │ │ │ │ │ + vldr d3, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d10, [sp, #48] @ 0x30 │ │ │ │ │ + vadd.f64 d4, d6, d7 │ │ │ │ │ + vsub.f64 d5, d7, d6 │ │ │ │ │ + vmov.f64 d6, d2 │ │ │ │ │ + vldr d9, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d8, [sp, #176] @ 0xb0 │ │ │ │ │ + vsub.f64 d7, d3, d10 │ │ │ │ │ vldr d10, [sp, #128] @ 0x80 │ │ │ │ │ - add.w r6, r2, ip │ │ │ │ │ - add ip, r3 │ │ │ │ │ - vmov.f64 d6, d0 │ │ │ │ │ - vsub.f64 d2, d10, d9 │ │ │ │ │ - vmls.f64 d6, d4, d13 │ │ │ │ │ - vadd.f64 d4, d0, d4 │ │ │ │ │ - vldr d9, [sp, #256] @ 0x100 │ │ │ │ │ - vmul.f64 d3, d2, d14 │ │ │ │ │ + vmls.f64 d6, d4, d0 │ │ │ │ │ + vmul.f64 d5, d5, d1 │ │ │ │ │ + vadd.f64 d4, d2, d4 │ │ │ │ │ + vsub.f64 d12, d12, d10 │ │ │ │ │ + vldr d10, [sp, #248] @ 0xf8 │ │ │ │ │ vstr d4, [r6] │ │ │ │ │ - add r6, fp │ │ │ │ │ - vnmls.f64 d3, d7, d15 │ │ │ │ │ - vmul.f64 d7, d7, d14 │ │ │ │ │ - vmla.f64 d7, d2, d15 │ │ │ │ │ + add r6, sl │ │ │ │ │ + mov.w sl, r4, lsl #4 │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ + vmul.f64 d3, d12, d14 │ │ │ │ │ + vnmls.f64 d3, d7, d15 │ │ │ │ │ + vmul.f64 d7, d7, d14 │ │ │ │ │ + vmla.f64 d7, d12, d15 │ │ │ │ │ + vldr d12, [sp, #72] @ 0x48 │ │ │ │ │ vsub.f64 d2, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ vstr d2, [r6] │ │ │ │ │ - movs r6, #88 @ 0x58 │ │ │ │ │ - vldr d2, [sp, #96] @ 0x60 │ │ │ │ │ + mov.w r6, #88 @ 0x58 │ │ │ │ │ mla r6, r6, r4, r2 │ │ │ │ │ vstr d7, [r6] │ │ │ │ │ vsub.f64 d7, d6, d3 │ │ │ │ │ - lsls r6, r4, #4 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ - add.w lr, r2, r6 │ │ │ │ │ - vldr d6, [sp, #224] @ 0xe0 │ │ │ │ │ - add r6, r3 │ │ │ │ │ - vstr d7, [lr] │ │ │ │ │ - add.w lr, r2, r4, lsl #6 │ │ │ │ │ - vldr d7, [sp, #24] │ │ │ │ │ - vadd.f64 d4, d6, d9 │ │ │ │ │ - vsub.f64 d5, d9, d6 │ │ │ │ │ - vmov.f64 d6, d8 │ │ │ │ │ - vstr d3, [lr] │ │ │ │ │ - vldr d3, [sp, #32] │ │ │ │ │ - vmls.f64 d6, d4, d13 │ │ │ │ │ - vadd.f64 d4, d8, d4 │ │ │ │ │ + add.w r6, r2, sl │ │ │ │ │ + vldr d6, [sp, #216] @ 0xd8 │ │ │ │ │ + add sl, r3 │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ + add.w r6, r2, r4, lsl #6 │ │ │ │ │ + vldr d7, [sp, #16] │ │ │ │ │ + vadd.f64 d4, d6, d10 │ │ │ │ │ + vsub.f64 d5, d10, d6 │ │ │ │ │ + vstr d3, [r6] │ │ │ │ │ + sub.w r6, ip, r4 │ │ │ │ │ + vldr d3, [sp, #24] │ │ │ │ │ + vldr d10, [sp, #184] @ 0xb8 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - vldr d8, [sp, #264] @ 0x108 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ vldr d3, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d4, [ip] │ │ │ │ │ - add ip, sl │ │ │ │ │ - vsub.f64 d2, d2, d3 │ │ │ │ │ + vmov.f64 d6, d10 │ │ │ │ │ + vsub.f64 d2, d9, d3 │ │ │ │ │ + vmls.f64 d6, d4, d0 │ │ │ │ │ + vadd.f64 d4, d10, d4 │ │ │ │ │ + vmul.f64 d3, d2, d14 │ │ │ │ │ + vstr d4, [fp] │ │ │ │ │ + add fp, lr │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vmul.f64 d3, d2, d14 │ │ │ │ │ vnmls.f64 d3, d7, d15 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ + vmov.f64 d5, d8 │ │ │ │ │ vmla.f64 d7, d2, d15 │ │ │ │ │ vsub.f64 d2, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vstr d2, [ip] │ │ │ │ │ - mov.w ip, #112 @ 0x70 │ │ │ │ │ - mla ip, ip, r4, r3 │ │ │ │ │ - vstr d7, [ip] │ │ │ │ │ + vstr d2, [fp] │ │ │ │ │ + add.w fp, r3, r6, lsl #4 │ │ │ │ │ + vldr d2, [sp, #80] @ 0x50 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + vstr d7, [fp] │ │ │ │ │ vadd.f64 d7, d3, d6 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ - mov.w ip, #80 @ 0x50 │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ - add r6, sl │ │ │ │ │ - mul.w ip, ip, r4 │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ - add.w r6, r3, ip │ │ │ │ │ - vldr d6, [sp, #232] @ 0xe8 │ │ │ │ │ - add ip, r2 │ │ │ │ │ - vldr d0, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d3, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d2, [sp, #88] @ 0x58 │ │ │ │ │ - vadd.f64 d4, d6, d8 │ │ │ │ │ - vsub.f64 d7, d8, d6 │ │ │ │ │ - vldr d8, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d6, [sp, #112] @ 0x70 │ │ │ │ │ - vmov.f64 d5, d0 │ │ │ │ │ - vsub.f64 d2, d3, d2 │ │ │ │ │ - vldr d9, [sp, #144] @ 0x90 │ │ │ │ │ - vmls.f64 d5, d4, d13 │ │ │ │ │ - vadd.f64 d4, d0, d4 │ │ │ │ │ - vsub.f64 d6, d8, d6 │ │ │ │ │ - vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d0, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d3, [sp, #256] @ 0x100 │ │ │ │ │ + vsub.f64 d2, d12, d2 │ │ │ │ │ + vstr d7, [sl] │ │ │ │ │ + add sl, lr │ │ │ │ │ + vstr d6, [sl] │ │ │ │ │ + add.w sl, r3, r7 │ │ │ │ │ + add r7, r2 │ │ │ │ │ + vldr d6, [sp, #224] @ 0xe0 │ │ │ │ │ + vadd.f64 d4, d6, d3 │ │ │ │ │ + vsub.f64 d7, d3, d6 │ │ │ │ │ + vsub.f64 d6, d13, d11 │ │ │ │ │ vmul.f64 d3, d2, d14 │ │ │ │ │ - vstr d4, [r6] │ │ │ │ │ - movs r6, #56 @ 0x38 │ │ │ │ │ + vmls.f64 d5, d4, d0 │ │ │ │ │ + vmul.f64 d7, d7, d1 │ │ │ │ │ vmla.f64 d3, d6, d15 │ │ │ │ │ vmul.f64 d6, d6, d14 │ │ │ │ │ - mul.w r6, r4, r6 │ │ │ │ │ - vsub.f64 d4, d5, d7 │ │ │ │ │ - vadd.f64 d7, d7, d5 │ │ │ │ │ + vadd.f64 d4, d8, d4 │ │ │ │ │ vnmls.f64 d6, d2, d15 │ │ │ │ │ - add.w lr, r3, r6 │ │ │ │ │ - vldr d5, [sp, #272] @ 0x110 │ │ │ │ │ + vstr d4, [sl] │ │ │ │ │ + add.w sl, r3, r6 │ │ │ │ │ add r6, r2 │ │ │ │ │ + vsub.f64 d4, d5, d7 │ │ │ │ │ + vadd.f64 d7, d7, d5 │ │ │ │ │ + vldr d5, [sp, #88] @ 0x58 │ │ │ │ │ vadd.f64 d2, d6, d4 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vsub.f64 d6, d7, d3 │ │ │ │ │ vadd.f64 d3, d3, d7 │ │ │ │ │ - vstr d2, [lr] │ │ │ │ │ - add lr, sl │ │ │ │ │ - vstr d4, [lr] │ │ │ │ │ - mov.w lr, r4, lsl #3 │ │ │ │ │ + vstr d2, [sl] │ │ │ │ │ + add sl, lr │ │ │ │ │ + add.w lr, r3, ip │ │ │ │ │ + add ip, r2 │ │ │ │ │ + vstr d4, [sl] │ │ │ │ │ + vstr d6, [lr] │ │ │ │ │ + mov.w lr, r4, lsl #5 │ │ │ │ │ add.w sl, r3, lr │ │ │ │ │ - vsub.f64 d4, d12, d9 │ │ │ │ │ - vldr d12, [sp, #64] @ 0x40 │ │ │ │ │ add lr, r2 │ │ │ │ │ - vstr d6, [sl] │ │ │ │ │ - mov.w sl, r4, lsl #5 │ │ │ │ │ - vldr d6, [sp, #240] @ 0xf0 │ │ │ │ │ - vsub.f64 d2, d12, d0 │ │ │ │ │ - add.w fp, r3, sl │ │ │ │ │ - add sl, r2 │ │ │ │ │ - add r3, r7 │ │ │ │ │ + add r3, r8 │ │ │ │ │ + vstr d3, [sl] │ │ │ │ │ + vldr d6, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d13, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d4, [sp, #96] @ 0x60 │ │ │ │ │ vsub.f64 d7, d5, d6 │ │ │ │ │ - vadd.f64 d6, d6, d5 │ │ │ │ │ - vstr d3, [fp] │ │ │ │ │ + vadd.f64 d5, d6, d5 │ │ │ │ │ + vldr d9, [sp, #136] @ 0x88 │ │ │ │ │ + vmul.f64 d7, d7, d1 │ │ │ │ │ + vldr d1, [sp, #168] @ 0xa8 │ │ │ │ │ + vsub.f64 d4, d4, d9 │ │ │ │ │ + vmov.f64 d6, d1 │ │ │ │ │ + vmls.f64 d6, d5, d0 │ │ │ │ │ + vldr d0, [sp, #64] @ 0x40 │ │ │ │ │ + vadd.f64 d5, d1, d5 │ │ │ │ │ + vsub.f64 d2, d13, d0 │ │ │ │ │ + vstr d5, [r7] │ │ │ │ │ + vsub.f64 d5, d6, d7 │ │ │ │ │ + vadd.f64 d7, d7, d6 │ │ │ │ │ vmul.f64 d3, d2, d14 │ │ │ │ │ vmla.f64 d3, d4, d15 │ │ │ │ │ vmul.f64 d4, d4, d14 │ │ │ │ │ - vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [sp, #176] @ 0xb0 │ │ │ │ │ vnmls.f64 d4, d2, d15 │ │ │ │ │ - vmov.f64 d5, d1 │ │ │ │ │ - vmls.f64 d5, d6, d13 │ │ │ │ │ - vadd.f64 d6, d1, d6 │ │ │ │ │ - vstr d6, [ip] │ │ │ │ │ - vsub.f64 d6, d5, d7 │ │ │ │ │ - vadd.f64 d7, d7, d5 │ │ │ │ │ - vsub.f64 d2, d6, d4 │ │ │ │ │ - vadd.f64 d4, d4, d6 │ │ │ │ │ vsub.f64 d6, d7, d3 │ │ │ │ │ vadd.f64 d3, d3, d7 │ │ │ │ │ + vsub.f64 d2, d5, d4 │ │ │ │ │ + vadd.f64 d4, d4, d5 │ │ │ │ │ vstr d2, [r6] │ │ │ │ │ - movs r6, #104 @ 0x68 │ │ │ │ │ + mov.w r6, #104 @ 0x68 │ │ │ │ │ mla r6, r6, r4, r2 │ │ │ │ │ - add r2, r7 │ │ │ │ │ + add r2, r8 │ │ │ │ │ vstr d4, [r6] │ │ │ │ │ - ldr r6, [sp, #284] @ 0x11c │ │ │ │ │ - vstr d6, [sl] │ │ │ │ │ - eors r5, r6 │ │ │ │ │ - eors r4, r6 │ │ │ │ │ - ldr r6, [sp, #400] @ 0x190 │ │ │ │ │ - vstr d3, [lr] │ │ │ │ │ + ldr r6, [sp, #268] @ 0x10c │ │ │ │ │ + vstr d6, [lr] │ │ │ │ │ + vstr d3, [ip] │ │ │ │ │ + eor.w r5, r5, r6 │ │ │ │ │ + eor.w r4, r4, r6 │ │ │ │ │ + ldr r6, [sp, #384] @ 0x180 │ │ │ │ │ subs r6, #1 │ │ │ │ │ - str r6, [sp, #400] @ 0x190 │ │ │ │ │ - bne.w 42 │ │ │ │ │ - add sp, #292 @ 0x124 │ │ │ │ │ + str r6, [sp, #384] @ 0x180 │ │ │ │ │ + bne.w 48 │ │ │ │ │ + add sp, #276 @ 0x114 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ - nop.w │ │ │ │ │ - .word 0x9b97f4a8 │ │ │ │ │ - .word 0x3fe1e377 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -00000740 : │ │ │ │ │ +00000758 : │ │ │ │ │ fftw_codelet_n1_15(): │ │ │ │ │ - ldr r2, [pc, #8] @ (74c ) │ │ │ │ │ - ldr r1, [pc, #12] @ (750 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (764 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (768 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── n1_16.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2272 (bytes into file) │ │ │ │ │ + Start of section headers: 2352 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x8e0: │ │ │ │ │ +There are 13 section headers, starting at offset 0x930: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00060c 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000838 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000640 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000640 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000640 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 000646 000040 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000860 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 000686 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000686 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 0006bc 000100 10 11 11 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 0007bc 00007b 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000870 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00065c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000888 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000690 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000690 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000690 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 000696 000040 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 0008b0 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 0006d6 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0006d6 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 00070c 000100 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 00080c 00007b 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 0008c0 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 16 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1526 FUNC LOCAL DEFAULT 1 n1_16 │ │ │ │ │ + 1: 00000001 1608 FUNC LOCAL DEFAULT 1 n1_16 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000048 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000068 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000604 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000050 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000070 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000654 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 64 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 13: 000005f9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_16 │ │ │ │ │ + 13: 00000649 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_16 │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_register │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_n_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x838 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x888 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000060 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000064 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000604 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000608 00000103 R_ARM_REL32 00000001 n1_16 │ │ │ │ │ -00000600 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ +00000068 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000006c 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000654 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000658 00000103 R_ARM_REL32 00000001 n1_16 │ │ │ │ │ +00000650 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x860 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x8b0 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000f02 R_ARM_ABS32 00000000 fftw_dft_n_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,447 +1,452 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ n1_16(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - ldr r6, [pc, #88] @ (60 ) │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub sp, #196 @ 0xc4 │ │ │ │ │ + sub sp, #204 @ 0xcc │ │ │ │ │ + ldr r6, [pc, #76] @ (68 ) │ │ │ │ │ + ldr r7, [sp, #312] @ 0x138 │ │ │ │ │ + ldrd r5, r4, [sp, #304] @ 0x130 │ │ │ │ │ add r6, pc │ │ │ │ │ - ldr r7, [sp, #304] @ 0x130 │ │ │ │ │ - ldrd r5, r4, [sp, #296] @ 0x128 │ │ │ │ │ cmp r7, #0 │ │ │ │ │ - ble.w 5ec │ │ │ │ │ - ldr r7, [sp, #308] @ 0x134 │ │ │ │ │ - mov.w sl, #120 @ 0x78 │ │ │ │ │ - mov.w fp, #40 @ 0x28 │ │ │ │ │ - vldr d13, [pc, #32] @ 48 │ │ │ │ │ - vldr d12, [pc, #36] @ 50 │ │ │ │ │ - mov.w r9, r7, lsl #3 │ │ │ │ │ - ldr r7, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d11, [pc, #36] @ 58 │ │ │ │ │ - mov.w r8, r7, lsl #3 │ │ │ │ │ - ldr r7, [pc, #40] @ (64 ) │ │ │ │ │ + ble.w 62c │ │ │ │ │ + ldr r7, [sp, #316] @ 0x13c │ │ │ │ │ + vldr d13, [pc, #32] @ 50 │ │ │ │ │ + vldr d12, [pc, #36] @ 58 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + vldr d11, [pc, #36] @ 60 │ │ │ │ │ + str r7, [sp, #188] @ 0xbc │ │ │ │ │ + ldr r7, [sp, #320] @ 0x140 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + str r7, [sp, #192] @ 0xc0 │ │ │ │ │ + ldr r7, [pc, #36] @ (6c ) │ │ │ │ │ ldr r6, [r6, r7] │ │ │ │ │ ldr r6, [r6, #0] │ │ │ │ │ - str r6, [sp, #188] @ 0xbc │ │ │ │ │ - b.n 68 │ │ │ │ │ - nop.w │ │ │ │ │ + str r6, [sp, #196] @ 0xc4 │ │ │ │ │ + b.n 70 │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ - .word 0x00000050 │ │ │ │ │ + .word 0x00000042 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - lsls r6, r5, #6 │ │ │ │ │ + mov.w r6, r5, lsl #6 │ │ │ │ │ vldr d4, [r0] │ │ │ │ │ - adds r7, r0, r6 │ │ │ │ │ + add.w r7, r0, r6 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ vldr d7, [r7] │ │ │ │ │ - adds r7, r1, r6 │ │ │ │ │ + add.w r7, r1, r6 │ │ │ │ │ vadd.f64 d0, d4, d7 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ vldr d7, [r7] │ │ │ │ │ - lsls r7, r5, #5 │ │ │ │ │ + mov.w r7, r5, lsl #5 │ │ │ │ │ add.w ip, r0, r7 │ │ │ │ │ add r7, r1 │ │ │ │ │ vadd.f64 d2, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [ip] │ │ │ │ │ add ip, r6 │ │ │ │ │ vldr d5, [ip] │ │ │ │ │ - mul.w ip, sl, r5 │ │ │ │ │ + mov.w ip, r5, lsl #4 │ │ │ │ │ + sub.w lr, ip, r5 │ │ │ │ │ + mov.w lr, lr, lsl #3 │ │ │ │ │ vadd.f64 d1, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vldr d5, [r7] │ │ │ │ │ add r7, r6 │ │ │ │ │ vldr d8, [r7] │ │ │ │ │ - add.w r7, r0, ip │ │ │ │ │ - vsub.f64 d9, d0, d1 │ │ │ │ │ - add ip, r1 │ │ │ │ │ + add.w r7, r0, lr │ │ │ │ │ + add lr, r1 │ │ │ │ │ + vsub.f64 d10, d0, d1 │ │ │ │ │ vadd.f64 d3, d5, d8 │ │ │ │ │ vsub.f64 d5, d5, d8 │ │ │ │ │ vadd.f64 d8, d0, d1 │ │ │ │ │ vsub.f64 d1, d6, d7 │ │ │ │ │ vadd.f64 d0, d6, d7 │ │ │ │ │ vldr d7, [r7] │ │ │ │ │ - movs r7, #56 @ 0x38 │ │ │ │ │ - vstr d9, [sp, #80] @ 0x50 │ │ │ │ │ + mov.w r7, r5, lsl #3 │ │ │ │ │ + sub.w r8, r7, r5 │ │ │ │ │ + mov.w r9, r8, lsl #3 │ │ │ │ │ vsub.f64 d14, d2, d3 │ │ │ │ │ vadd.f64 d3, d2, d3 │ │ │ │ │ + mov.w r8, r8, lsl #4 │ │ │ │ │ + add.w sl, r0, r9 │ │ │ │ │ + add r9, r1 │ │ │ │ │ vsub.f64 d2, d4, d5 │ │ │ │ │ vadd.f64 d5, d4, d5 │ │ │ │ │ - mul.w r7, r7, r5 │ │ │ │ │ - vstr d0, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d0, [ip] │ │ │ │ │ - mov.w ip, #24 │ │ │ │ │ - add.w lr, r0, r7 │ │ │ │ │ - add r7, r1 │ │ │ │ │ - vstr d2, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d4, [lr] │ │ │ │ │ + add.w lr, r5, r5, lsl #1 │ │ │ │ │ + vstr d8, [sp] │ │ │ │ │ + vldr d6, [sl] │ │ │ │ │ vstr d1, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d6, [lr] │ │ │ │ │ - mov.w lr, #112 @ 0x70 │ │ │ │ │ - vstr d8, [sp, #8] │ │ │ │ │ + vstr d0, [sp, #120] @ 0x78 │ │ │ │ │ + vstr d3, [sp, #8] │ │ │ │ │ vstr d5, [sp, #104] @ 0x68 │ │ │ │ │ - vadd.f64 d2, d7, d6 │ │ │ │ │ + vadd.f64 d1, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - mul.w r7, ip, r5 │ │ │ │ │ - vstr d3, [sp] │ │ │ │ │ - add.w ip, r0, r7 │ │ │ │ │ - add r7, r1 │ │ │ │ │ - vsub.f64 d1, d0, d6 │ │ │ │ │ - vadd.f64 d0, d0, d6 │ │ │ │ │ + vldr d6, [r9] │ │ │ │ │ + mov.w r9, lr, lsl #3 │ │ │ │ │ + vstr d2, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d10, [sp, #80] @ 0x50 │ │ │ │ │ + mov.w lr, lr, lsl #4 │ │ │ │ │ + add.w sl, r0, r9 │ │ │ │ │ + add r9, r1 │ │ │ │ │ vstr d14, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ - add ip, r6 │ │ │ │ │ - vldr d8, [r7] │ │ │ │ │ - add r7, r6 │ │ │ │ │ - vldr d5, [ip] │ │ │ │ │ - vadd.f64 d3, d6, d5 │ │ │ │ │ + vldr d8, [r9] │ │ │ │ │ + add r9, r6 │ │ │ │ │ + vsub.f64 d0, d4, d6 │ │ │ │ │ + vadd.f64 d4, d4, d6 │ │ │ │ │ + vldr d6, [sl] │ │ │ │ │ + add sl, r6 │ │ │ │ │ + vldr d5, [sl] │ │ │ │ │ + vadd.f64 d2, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ - lsls r7, r5, #4 │ │ │ │ │ - add.w ip, r0, r7 │ │ │ │ │ - add r7, r1 │ │ │ │ │ - vsub.f64 d4, d8, d5 │ │ │ │ │ + vldr d5, [r9] │ │ │ │ │ + add.w r9, r0, ip │ │ │ │ │ + add ip, r1 │ │ │ │ │ + vsub.f64 d3, d8, d5 │ │ │ │ │ vadd.f64 d5, d8, d5 │ │ │ │ │ - vadd.f64 d15, d2, d3 │ │ │ │ │ - vsub.f64 d10, d0, d5 │ │ │ │ │ - vsub.f64 d8, d7, d4 │ │ │ │ │ - vadd.f64 d4, d7, d4 │ │ │ │ │ - vadd.f64 d0, d0, d5 │ │ │ │ │ - vstr d10, [sp, #128] @ 0x80 │ │ │ │ │ - vadd.f64 d10, d1, d6 │ │ │ │ │ - vsub.f64 d6, d1, d6 │ │ │ │ │ - vsub.f64 d1, d2, d3 │ │ │ │ │ - vstr d4, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d4, [ip] │ │ │ │ │ - add ip, r6 │ │ │ │ │ - vstr d0, [sp, #16] │ │ │ │ │ - vstr d8, [sp, #136] @ 0x88 │ │ │ │ │ - vstr d10, [sp, #144] @ 0x90 │ │ │ │ │ - vstr d6, [sp, #152] @ 0x98 │ │ │ │ │ + vadd.f64 d15, d1, d2 │ │ │ │ │ + vadd.f64 d8, d0, d6 │ │ │ │ │ + vsub.f64 d1, d1, d2 │ │ │ │ │ + vsub.f64 d6, d0, d6 │ │ │ │ │ + vsub.f64 d9, d4, d5 │ │ │ │ │ + vadd.f64 d0, d7, d3 │ │ │ │ │ + vadd.f64 d5, d4, d5 │ │ │ │ │ + vldr d4, [r9] │ │ │ │ │ + add r9, r6 │ │ │ │ │ + vstr d8, [sp, #144] @ 0x90 │ │ │ │ │ + vstr d9, [sp, #128] @ 0x80 │ │ │ │ │ + vsub.f64 d9, d7, d3 │ │ │ │ │ + vstr d5, [sp, #16] │ │ │ │ │ vstr d1, [sp, #24] │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ - mul.w ip, lr, r5 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ - add r7, r6 │ │ │ │ │ + vstr d6, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d9, [sp, #136] @ 0x88 │ │ │ │ │ + vstr d0, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d7, [r9] │ │ │ │ │ + mov.w r9, r4, lsl #6 │ │ │ │ │ + vldr d5, [ip] │ │ │ │ │ + add ip, r6 │ │ │ │ │ vadd.f64 d1, d4, d7 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - add.w r7, r0, ip │ │ │ │ │ - add ip, r1 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - movs r7, #48 @ 0x30 │ │ │ │ │ + vldr d7, [ip] │ │ │ │ │ + add.w ip, r0, r8 │ │ │ │ │ + add r8, r1 │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + add.w ip, r0, lr │ │ │ │ │ + add lr, r1 │ │ │ │ │ + vldr d8, [lr] │ │ │ │ │ vadd.f64 d2, d5, d7 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ - mul.w r7, r7, r5 │ │ │ │ │ - add.w lr, r0, r7 │ │ │ │ │ - add r7, r1 │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ - vldr d8, [r7] │ │ │ │ │ - lsls r7, r5, #3 │ │ │ │ │ - vadd.f64 d0, d6, d7 │ │ │ │ │ - vsub.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [ip] │ │ │ │ │ add.w ip, r0, r7 │ │ │ │ │ add r7, r1 │ │ │ │ │ - vadd.f64 d9, d7, d8 │ │ │ │ │ - vsub.f64 d7, d7, d8 │ │ │ │ │ vldr d3, [ip] │ │ │ │ │ add ip, r6 │ │ │ │ │ + vadd.f64 d0, d6, d7 │ │ │ │ │ + vsub.f64 d6, d6, d7 │ │ │ │ │ + vldr d7, [r8] │ │ │ │ │ + vadd.f64 d10, d7, d8 │ │ │ │ │ + vsub.f64 d7, d7, d8 │ │ │ │ │ vadd.f64 d14, d1, d0 │ │ │ │ │ vsub.f64 d1, d0, d1 │ │ │ │ │ - vsub.f64 d8, d2, d9 │ │ │ │ │ - vadd.f64 d9, d2, d9 │ │ │ │ │ + vsub.f64 d8, d2, d10 │ │ │ │ │ + vadd.f64 d10, d2, d10 │ │ │ │ │ vsub.f64 d2, d5, d4 │ │ │ │ │ - vadd.f64 d5, d4, d5 │ │ │ │ │ + vadd.f64 d4, d4, d5 │ │ │ │ │ vstr d8, [sp, #32] │ │ │ │ │ + vstr d4, [sp, #40] @ 0x28 │ │ │ │ │ vstr d2, [sp, #168] @ 0xa8 │ │ │ │ │ vsub.f64 d2, d6, d7 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ - vstr d5, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d2, [sp, #176] @ 0xb0 │ │ │ │ │ vstr d7, [sp, #48] @ 0x30 │ │ │ │ │ vldr d7, [ip] │ │ │ │ │ + vstr d2, [sp, #176] @ 0xb0 │ │ │ │ │ vadd.f64 d6, d3, d7 │ │ │ │ │ vsub.f64 d3, d3, d7 │ │ │ │ │ vmov.f64 d0, d6 │ │ │ │ │ vldr d6, [r7] │ │ │ │ │ add r7, r6 │ │ │ │ │ vldr d7, [r7] │ │ │ │ │ - mul.w r7, fp, r5 │ │ │ │ │ + add.w r7, r5, r5, lsl #2 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ vstr d0, [sp, #56] @ 0x38 │ │ │ │ │ add.w ip, r0, r7 │ │ │ │ │ add r7, r1 │ │ │ │ │ - vsub.f64 d5, d6, d7 │ │ │ │ │ + vsub.f64 d4, d6, d7 │ │ │ │ │ + vldr d2, [r7] │ │ │ │ │ + add r7, r6 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - add r0, r9 │ │ │ │ │ - add r1, r9 │ │ │ │ │ + vstr d4, [sp, #64] @ 0x40 │ │ │ │ │ vldr d4, [ip] │ │ │ │ │ add ip, r6 │ │ │ │ │ - vstr d5, [sp, #64] @ 0x40 │ │ │ │ │ + add.w r6, r2, r9 │ │ │ │ │ vldr d5, [ip] │ │ │ │ │ vadd.f64 d7, d4, d5 │ │ │ │ │ vsub.f64 d4, d4, d5 │ │ │ │ │ vldr d5, [r7] │ │ │ │ │ - add r7, r6 │ │ │ │ │ - vldr d2, [r7] │ │ │ │ │ - lsls r7, r4, #6 │ │ │ │ │ - adds r6, r2, r7 │ │ │ │ │ - vsub.f64 d8, d5, d2 │ │ │ │ │ - vadd.f64 d2, d5, d2 │ │ │ │ │ + vsub.f64 d8, d2, d5 │ │ │ │ │ + vadd.f64 d2, d2, d5 │ │ │ │ │ vadd.f64 d5, d0, d7 │ │ │ │ │ - vsub.f64 d10, d6, d2 │ │ │ │ │ + vsub.f64 d9, d6, d2 │ │ │ │ │ vadd.f64 d6, d6, d2 │ │ │ │ │ vldr d2, [sp, #64] @ 0x40 │ │ │ │ │ vadd.f64 d0, d2, d4 │ │ │ │ │ vldr d2, [sp, #56] @ 0x38 │ │ │ │ │ vsub.f64 d7, d2, d7 │ │ │ │ │ vldr d2, [sp, #64] @ 0x40 │ │ │ │ │ vstr d0, [sp, #72] @ 0x48 │ │ │ │ │ vsub.f64 d0, d3, d8 │ │ │ │ │ vadd.f64 d8, d3, d8 │ │ │ │ │ vadd.f64 d3, d15, d5 │ │ │ │ │ - vsub.f64 d4, d2, d4 │ │ │ │ │ vsub.f64 d5, d15, d5 │ │ │ │ │ + vsub.f64 d4, d2, d4 │ │ │ │ │ vstr d4, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d4, [sp, #8] │ │ │ │ │ + vldr d4, [sp] │ │ │ │ │ vadd.f64 d4, d4, d14 │ │ │ │ │ vsub.f64 d2, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ - vldr d3, [sp] │ │ │ │ │ + vldr d3, [sp, #8] │ │ │ │ │ vstr d2, [r6] │ │ │ │ │ - adds r6, r3, r7 │ │ │ │ │ + add.w r6, r3, r9 │ │ │ │ │ vldr d2, [sp, #16] │ │ │ │ │ vstr d4, [r2] │ │ │ │ │ - vadd.f64 d4, d3, d9 │ │ │ │ │ + vadd.f64 d4, d3, d10 │ │ │ │ │ vadd.f64 d3, d2, d6 │ │ │ │ │ vsub.f64 d2, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ vstr d2, [r6] │ │ │ │ │ - lsls r6, r4, #5 │ │ │ │ │ - vldr d3, [sp] │ │ │ │ │ - add.w ip, r3, r6 │ │ │ │ │ + mov.w r6, r4, lsl #5 │ │ │ │ │ + vadd.f64 d2, d9, d7 │ │ │ │ │ + vldr d3, [sp, #8] │ │ │ │ │ + vsub.f64 d7, d9, d7 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ - vadd.f64 d2, d10, d7 │ │ │ │ │ - vldr d15, [sp, #128] @ 0x80 │ │ │ │ │ + add.w r7, r3, r6 │ │ │ │ │ add r6, r2 │ │ │ │ │ - vsub.f64 d4, d3, d9 │ │ │ │ │ - vldr d9, [sp, #80] @ 0x50 │ │ │ │ │ - str r7, [sp, #0] │ │ │ │ │ - vsub.f64 d7, d10, d7 │ │ │ │ │ + vldr d15, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d9, [sp, #136] @ 0x88 │ │ │ │ │ + vsub.f64 d4, d3, d10 │ │ │ │ │ + vldr d10, [sp, #80] @ 0x50 │ │ │ │ │ vadd.f64 d3, d5, d4 │ │ │ │ │ vsub.f64 d4, d4, d5 │ │ │ │ │ - vstr d3, [ip] │ │ │ │ │ - add ip, r7 │ │ │ │ │ + vstr d3, [r7] │ │ │ │ │ + add r7, r9 │ │ │ │ │ + vldr d3, [sp, #16] │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ + add.w r7, r4, r4, lsl #1 │ │ │ │ │ + vldr d4, [sp] │ │ │ │ │ + add.w ip, r2, r7, lsl #5 │ │ │ │ │ + mov.w fp, r7, lsl #4 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + vsub.f64 d6, d6, d3 │ │ │ │ │ vldr d3, [sp, #24] │ │ │ │ │ - vstr d4, [ip] │ │ │ │ │ - mov.w ip, #96 @ 0x60 │ │ │ │ │ - vldr d4, [sp, #8] │ │ │ │ │ - mla ip, ip, r4, r2 │ │ │ │ │ + add.w lr, r3, fp │ │ │ │ │ + add fp, r2 │ │ │ │ │ vsub.f64 d5, d4, d14 │ │ │ │ │ - vldr d4, [sp, #16] │ │ │ │ │ vldr d14, [sp, #88] @ 0x58 │ │ │ │ │ - vsub.f64 d6, d6, d4 │ │ │ │ │ vsub.f64 d4, d5, d6 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ vsub.f64 d6, d3, d15 │ │ │ │ │ vstr d4, [ip] │ │ │ │ │ + add.w ip, r4, r4, lsl #2 │ │ │ │ │ vadd.f64 d3, d2, d6 │ │ │ │ │ - vldr d4, [sp, #32] │ │ │ │ │ vstr d5, [r6] │ │ │ │ │ - movs r6, #80 @ 0x50 │ │ │ │ │ vsub.f64 d6, d6, d2 │ │ │ │ │ - vsub.f64 d5, d14, d1 │ │ │ │ │ - vadd.f64 d4, d9, d4 │ │ │ │ │ + vldr d5, [sp, #32] │ │ │ │ │ + add.w r6, r2, ip, lsl #4 │ │ │ │ │ + mov.w ip, ip, lsl #3 │ │ │ │ │ vmul.f64 d3, d3, d13 │ │ │ │ │ - mla r6, r6, r4, r2 │ │ │ │ │ vmul.f64 d6, d6, d13 │ │ │ │ │ + vadd.f64 d4, d10, d5 │ │ │ │ │ + vsub.f64 d5, d14, d1 │ │ │ │ │ vsub.f64 d2, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ vldr d3, [sp, #24] │ │ │ │ │ vstr d2, [r6] │ │ │ │ │ - movs r6, #48 @ 0x30 │ │ │ │ │ vadd.f64 d2, d5, d6 │ │ │ │ │ vadd.f64 d3, d15, d3 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ + mov.w r6, r4, lsl #4 │ │ │ │ │ vldr d15, [sp, #176] @ 0xb0 │ │ │ │ │ - mul.w ip, r6, r4 │ │ │ │ │ - lsls r6, r4, #4 │ │ │ │ │ - adds r7, r2, r6 │ │ │ │ │ - add r6, r3 │ │ │ │ │ - add.w lr, r3, ip │ │ │ │ │ - add ip, r2 │ │ │ │ │ + add.w r8, r2, r6 │ │ │ │ │ vstr d2, [lr] │ │ │ │ │ - vstr d4, [r7] │ │ │ │ │ - vldr d4, [sp, #32] │ │ │ │ │ - ldr r7, [sp, #0] │ │ │ │ │ - vsub.f64 d6, d9, d4 │ │ │ │ │ + add lr, r9 │ │ │ │ │ + vstr d4, [r8] │ │ │ │ │ vsub.f64 d4, d7, d3 │ │ │ │ │ - add lr, r7 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ - vmul.f64 d4, d4, d13 │ │ │ │ │ vstr d5, [lr] │ │ │ │ │ - mov.w lr, #112 @ 0x70 │ │ │ │ │ - vadd.f64 d5, d14, d1 │ │ │ │ │ + mov.w r8, r4, lsl #3 │ │ │ │ │ + vldr d5, [sp, #32] │ │ │ │ │ + sub.w lr, r8, r4 │ │ │ │ │ + add.w sl, r2, lr, lsl #4 │ │ │ │ │ + mov.w lr, lr, lsl #3 │ │ │ │ │ + vmul.f64 d4, d4, d13 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ - vldr d14, [sp, #168] @ 0xa8 │ │ │ │ │ + vsub.f64 d6, d10, d5 │ │ │ │ │ + vadd.f64 d5, d14, d1 │ │ │ │ │ vldr d1, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d14, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d10, [sp, #144] @ 0x90 │ │ │ │ │ vsub.f64 d3, d6, d4 │ │ │ │ │ - mla lr, lr, r4, r2 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vldr d4, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d3, [lr] │ │ │ │ │ + vmul.f64 d4, d10, d12 │ │ │ │ │ + vstr d3, [sl] │ │ │ │ │ vadd.f64 d3, d5, d7 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ + add.w sl, r3, r6 │ │ │ │ │ vldr d7, [sp, #96] @ 0x60 │ │ │ │ │ - vstr d3, [r6] │ │ │ │ │ - add r6, r7 │ │ │ │ │ - vstr d6, [ip] │ │ │ │ │ - vsub.f64 d6, d14, d4 │ │ │ │ │ + sub.w r6, r6, r4 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + vnmls.f64 d4, d9, d11 │ │ │ │ │ + vstr d3, [sl] │ │ │ │ │ + add sl, r9 │ │ │ │ │ + mov.w r9, #88 @ 0x58 │ │ │ │ │ + vstr d6, [fp] │ │ │ │ │ + vstr d5, [sl] │ │ │ │ │ + mul.w r9, r9, r4 │ │ │ │ │ vldr d3, [sp, #40] @ 0x28 │ │ │ │ │ - mov.w ip, #24 │ │ │ │ │ - vstr d5, [r6] │ │ │ │ │ - movs r6, #88 @ 0x58 │ │ │ │ │ - vmul.f64 d6, d6, d13 │ │ │ │ │ + vldr d5, [sp, #48] @ 0x30 │ │ │ │ │ + add.w sl, r2, r9 │ │ │ │ │ + add r9, r3 │ │ │ │ │ + vsub.f64 d6, d14, d5 │ │ │ │ │ vsub.f64 d5, d15, d3 │ │ │ │ │ - mul.w r6, r4, r6 │ │ │ │ │ - adds r7, r2, r6 │ │ │ │ │ - add r6, r3 │ │ │ │ │ + vmul.f64 d6, d6, d13 │ │ │ │ │ + vmul.f64 d5, d5, d13 │ │ │ │ │ vadd.f64 d2, d7, d6 │ │ │ │ │ vsub.f64 d6, d7, d6 │ │ │ │ │ vldr d7, [sp, #120] @ 0x78 │ │ │ │ │ - vmul.f64 d5, d5, d13 │ │ │ │ │ - vldr d10, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d9, [sp, #136] @ 0x88 │ │ │ │ │ - vmul.f64 d4, d10, d12 │ │ │ │ │ vsub.f64 d3, d7, d5 │ │ │ │ │ vadd.f64 d5, d7, d5 │ │ │ │ │ vmul.f64 d7, d0, d11 │ │ │ │ │ - vmla.f64 d7, d1, d12 │ │ │ │ │ vmul.f64 d0, d0, d12 │ │ │ │ │ - vnmls.f64 d4, d9, d11 │ │ │ │ │ + vmla.f64 d7, d1, d12 │ │ │ │ │ vadd.f64 d1, d7, d4 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ vldr d7, [sp, #72] @ 0x48 │ │ │ │ │ vnmls.f64 d0, d7, d11 │ │ │ │ │ vmul.f64 d7, d9, d12 │ │ │ │ │ vmla.f64 d7, d10, d11 │ │ │ │ │ vldr d10, [sp, #56] @ 0x38 │ │ │ │ │ vsub.f64 d9, d0, d7 │ │ │ │ │ vadd.f64 d7, d0, d7 │ │ │ │ │ vsub.f64 d0, d2, d1 │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ - vstr d0, [r7] │ │ │ │ │ + vstr d0, [sl] │ │ │ │ │ vsub.f64 d0, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ vsub.f64 d7, d3, d4 │ │ │ │ │ vadd.f64 d3, d3, d4 │ │ │ │ │ - vstr d0, [r6] │ │ │ │ │ - mul.w r6, ip, r4 │ │ │ │ │ + vldr d4, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d0, [r9] │ │ │ │ │ + add.w r9, r2, r7 │ │ │ │ │ + add r7, r3 │ │ │ │ │ vldr d0, [sp, #160] @ 0xa0 │ │ │ │ │ - adds r7, r2, r6 │ │ │ │ │ - add r6, r3 │ │ │ │ │ - vstr d2, [r7] │ │ │ │ │ - vstr d5, [r6] │ │ │ │ │ - mul.w r6, sl, r4 │ │ │ │ │ - vldr d2, [sp, #48] @ 0x30 │ │ │ │ │ - adds r7, r3, r6 │ │ │ │ │ + vstr d2, [r9] │ │ │ │ │ + vmul.f64 d2, d8, d12 │ │ │ │ │ + vstr d5, [r7] │ │ │ │ │ + add.w r7, r3, r6 │ │ │ │ │ add r6, r2 │ │ │ │ │ - vldr d5, [sp, #112] @ 0x70 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ vsub.f64 d7, d6, d9 │ │ │ │ │ - movs r7, #56 @ 0x38 │ │ │ │ │ vadd.f64 d6, d6, d9 │ │ │ │ │ vldr d9, [sp, #152] @ 0x98 │ │ │ │ │ + vmla.f64 d2, d10, d11 │ │ │ │ │ vstr d7, [r6] │ │ │ │ │ - mul.w r6, r7, r4 │ │ │ │ │ - adds r7, r3, r6 │ │ │ │ │ - add r6, r2 │ │ │ │ │ - vstr d3, [r7] │ │ │ │ │ + add.w r6, r3, lr │ │ │ │ │ + add lr, r2 │ │ │ │ │ + vstr d3, [r6] │ │ │ │ │ + add.w r6, r8, r4 │ │ │ │ │ vldr d3, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ - movs r6, #72 @ 0x48 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + vstr d6, [lr] │ │ │ │ │ vldr d6, [sp, #104] @ 0x68 │ │ │ │ │ - vadd.f64 d7, d15, d3 │ │ │ │ │ - mul.w r6, r4, r6 │ │ │ │ │ - adds r7, r2, r6 │ │ │ │ │ + add.w r7, r2, r6 │ │ │ │ │ add r6, r3 │ │ │ │ │ + vadd.f64 d7, d15, d3 │ │ │ │ │ + vldr d3, [sp, #48] @ 0x30 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ - vadd.f64 d3, d6, d7 │ │ │ │ │ + vadd.f64 d5, d6, d7 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ - vadd.f64 d6, d14, d2 │ │ │ │ │ - vmul.f64 d2, d8, d12 │ │ │ │ │ - vmla.f64 d2, d10, d11 │ │ │ │ │ + vadd.f64 d6, d14, d3 │ │ │ │ │ vmul.f64 d6, d6, d13 │ │ │ │ │ - vsub.f64 d4, d5, d6 │ │ │ │ │ - vadd.f64 d6, d5, d6 │ │ │ │ │ - vmul.f64 d5, d9, d11 │ │ │ │ │ - vnmls.f64 d5, d0, d12 │ │ │ │ │ + vsub.f64 d3, d4, d6 │ │ │ │ │ + vadd.f64 d6, d4, d6 │ │ │ │ │ + vmul.f64 d4, d9, d11 │ │ │ │ │ + vnmls.f64 d4, d0, d12 │ │ │ │ │ vmul.f64 d0, d0, d11 │ │ │ │ │ vmla.f64 d0, d9, d12 │ │ │ │ │ - vadd.f64 d1, d2, d5 │ │ │ │ │ - vsub.f64 d5, d5, d2 │ │ │ │ │ + vadd.f64 d1, d2, d4 │ │ │ │ │ + vsub.f64 d4, d4, d2 │ │ │ │ │ vmul.f64 d2, d8, d11 │ │ │ │ │ vnmls.f64 d2, d10, d12 │ │ │ │ │ vsub.f64 d8, d2, d0 │ │ │ │ │ vadd.f64 d0, d2, d0 │ │ │ │ │ - vsub.f64 d2, d3, d1 │ │ │ │ │ - vadd.f64 d3, d3, d1 │ │ │ │ │ + vsub.f64 d2, d5, d1 │ │ │ │ │ + vadd.f64 d5, d5, d1 │ │ │ │ │ vstr d2, [r7] │ │ │ │ │ vsub.f64 d2, d6, d0 │ │ │ │ │ vadd.f64 d6, d6, d0 │ │ │ │ │ vstr d2, [r6] │ │ │ │ │ - lsls r6, r4, #3 │ │ │ │ │ - adds r7, r2, r6 │ │ │ │ │ - add r6, r3 │ │ │ │ │ - vstr d3, [r7] │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ - movs r6, #104 @ 0x68 │ │ │ │ │ - vsub.f64 d6, d4, d5 │ │ │ │ │ - vadd.f64 d4, d4, d5 │ │ │ │ │ - mul.w r6, r4, r6 │ │ │ │ │ - adds r7, r3, r6 │ │ │ │ │ + add.w r6, r2, r8 │ │ │ │ │ + add r8, r3 │ │ │ │ │ + vstr d5, [r6] │ │ │ │ │ + mov.w r6, #104 @ 0x68 │ │ │ │ │ + vstr d6, [r8] │ │ │ │ │ + vsub.f64 d6, d3, d4 │ │ │ │ │ + vadd.f64 d3, d3, d4 │ │ │ │ │ + mul.w r6, r6, r4 │ │ │ │ │ + add.w r7, r3, r6 │ │ │ │ │ add r6, r2 │ │ │ │ │ vstr d6, [r7] │ │ │ │ │ vsub.f64 d6, d7, d8 │ │ │ │ │ vadd.f64 d7, d7, d8 │ │ │ │ │ vstr d6, [r6] │ │ │ │ │ - mul.w r6, fp, r4 │ │ │ │ │ - adds r7, r3, r6 │ │ │ │ │ - add r6, r2 │ │ │ │ │ - add r3, r8 │ │ │ │ │ - add r2, r8 │ │ │ │ │ - vstr d4, [r7] │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ + add.w r6, r3, ip │ │ │ │ │ + add ip, r2 │ │ │ │ │ + vstr d3, [r6] │ │ │ │ │ ldr r6, [sp, #188] @ 0xbc │ │ │ │ │ - eors r5, r6 │ │ │ │ │ - eors r4, r6 │ │ │ │ │ - ldr r6, [sp, #304] @ 0x130 │ │ │ │ │ + vstr d7, [ip] │ │ │ │ │ + add r0, r6 │ │ │ │ │ + add r1, r6 │ │ │ │ │ + ldr r6, [sp, #192] @ 0xc0 │ │ │ │ │ + add r2, r6 │ │ │ │ │ + add r3, r6 │ │ │ │ │ + ldr r6, [sp, #196] @ 0xc4 │ │ │ │ │ + eor.w r5, r5, r6 │ │ │ │ │ + eor.w r4, r4, r6 │ │ │ │ │ + ldr r6, [sp, #312] @ 0x138 │ │ │ │ │ subs r6, #1 │ │ │ │ │ - str r6, [sp, #304] @ 0x130 │ │ │ │ │ - bne.w 68 │ │ │ │ │ - add sp, #196 @ 0xc4 │ │ │ │ │ + str r6, [sp, #312] @ 0x138 │ │ │ │ │ + bne.w 70 │ │ │ │ │ + add sp, #204 @ 0xcc │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -000005f8 : │ │ │ │ │ +00000648 : │ │ │ │ │ fftw_codelet_n1_16(): │ │ │ │ │ - ldr r2, [pc, #8] @ (604 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (608 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (654 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (658 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── n1_2.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 796 (bytes into file) │ │ │ │ │ + Start of section headers: 836 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x31c: │ │ │ │ │ +There are 13 section headers, starting at offset 0x344: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0000d4 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000284 000018 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000108 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000108 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000108 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 00010d 000040 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 00029c 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 00014d 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 00014d 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 000180 0000c0 10 11 9 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 000240 000042 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 0002ac 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0000fc 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0002ac 000018 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000130 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000130 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000130 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 000135 000040 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 0002c4 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 000175 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000175 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 0001a8 0000c0 10 11 9 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 000268 000042 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 0002d4 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,15 +1,15 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 12 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 192 FUNC LOCAL DEFAULT 1 n1_2 │ │ │ │ │ + 1: 00000001 230 FUNC LOCAL DEFAULT 1 n1_2 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000000cc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000000f4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 4: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 8: 00000000 64 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ - 9: 000000c1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_2 │ │ │ │ │ + 9: 000000e9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_2 │ │ │ │ │ 10: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_register │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_n_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,11 +1,11 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x284 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x2ac contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000000cc 00000603 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000000d0 00000103 R_ARM_REL32 00000001 n1_2 │ │ │ │ │ -000000c8 00000a1e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ +000000f4 00000603 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000000f8 00000103 R_ARM_REL32 00000001 n1_2 │ │ │ │ │ +000000f0 00000a1e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x29c contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x2c4 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000402 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000b02 R_ARM_ABS32 00000000 fftw_dft_n_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,50 +1,55 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ n1_2(): │ │ │ │ │ - push {r4, r5, r6, r7, lr} │ │ │ │ │ - ldr r5, [sp, #36] @ 0x24 │ │ │ │ │ + str.w r4, [sp, #-20]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ ldrd r4, r6, [sp, #28] │ │ │ │ │ + strd r7, lr, [sp, #12] │ │ │ │ │ + ldr r5, [sp, #36] @ 0x24 │ │ │ │ │ cmp r4, #0 │ │ │ │ │ - ble.n 6c │ │ │ │ │ + ble.n 76 │ │ │ │ │ ldr r7, [sp, #20] │ │ │ │ │ cmp r6, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r5, #1 │ │ │ │ │ mov.w ip, r7, lsl #3 │ │ │ │ │ ldr r7, [sp, #24] │ │ │ │ │ mov.w lr, r7, lsl #3 │ │ │ │ │ - bne.n 6e │ │ │ │ │ + bne.n 84 │ │ │ │ │ add.w r5, r0, ip │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ subs r4, #1 │ │ │ │ │ add.w r0, r0, #8 │ │ │ │ │ vldr d6, [r5] │ │ │ │ │ add.w r5, r2, lr │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vstr d5, [r5] │ │ │ │ │ add.w r5, r1, ip │ │ │ │ │ - vstmia r2!, {d7} │ │ │ │ │ add.w r1, r1, #8 │ │ │ │ │ + vstmia r2!, {d7} │ │ │ │ │ vldr d7, [r1, #-8] │ │ │ │ │ vldr d6, [r5] │ │ │ │ │ add.w r5, r3, lr │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vstr d5, [r5] │ │ │ │ │ vstmia r3!, {d7} │ │ │ │ │ - bne.n 20 │ │ │ │ │ - pop {r4, r5, r6, r7, pc} │ │ │ │ │ - lsls r6, r6, #3 │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ + bne.n 2a │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ add.w r7, r0, ip │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ subs r4, #1 │ │ │ │ │ add r0, r6 │ │ │ │ │ vldr d6, [r7] │ │ │ │ │ add.w r7, r2, lr │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ @@ -58,21 +63,25 @@ │ │ │ │ │ vldr d6, [r7] │ │ │ │ │ add.w r7, r3, lr │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ add r3, r5 │ │ │ │ │ - bne.n 72 │ │ │ │ │ - pop {r4, r5, r6, r7, pc} │ │ │ │ │ + bne.n 8c │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -000000c0 : │ │ │ │ │ +000000e8 : │ │ │ │ │ fftw_codelet_n1_2(): │ │ │ │ │ - ldr r2, [pc, #8] @ (cc ) │ │ │ │ │ - ldr r1, [pc, #12] @ (d0 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (f4 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (f8 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── n1_20.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 3104 (bytes into file) │ │ │ │ │ + Start of section headers: 3168 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0xc20: │ │ │ │ │ +There are 13 section headers, starting at offset 0xc60: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00092c 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000b78 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000960 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000960 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000960 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 000966 000040 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000ba0 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 0009a6 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0009a6 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 0009dc 000120 10 11 13 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 000afc 00007b 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000bb0 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00098c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000bb8 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0009c0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0009c0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0009c0 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0009c6 000040 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000be0 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 000a06 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000a06 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 000a3c 000100 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 000b3c 00007b 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000bf0 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,21 +1,19 @@ │ │ │ │ │ │ │ │ │ │ -Symbol table '.symtab' contains 18 entries: │ │ │ │ │ +Symbol table '.symtab' contains 16 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 2326 FUNC LOCAL DEFAULT 1 n1_20 │ │ │ │ │ + 1: 00000001 2422 FUNC LOCAL DEFAULT 1 n1_20 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000410 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000428 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000880 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000890 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00000924 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ - 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ - 10: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ - 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ - 12: 00000000 64 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ - 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ - 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 15: 00000919 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_20 │ │ │ │ │ - 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_register │ │ │ │ │ - 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_n_genus │ │ │ │ │ + 3: 00000820 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000840 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000984 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ + 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ + 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ + 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ + 10: 00000000 64 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ + 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ + 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ + 13: 00000979 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_20 │ │ │ │ │ + 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_register │ │ │ │ │ + 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_n_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xb78 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xbb8 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000420 00000d19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000424 00000e1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000924 00000a03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000928 00000103 R_ARM_REL32 00000001 n1_20 │ │ │ │ │ -00000920 0000101e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ +00000838 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000083c 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000984 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000988 00000103 R_ARM_REL32 00000001 n1_20 │ │ │ │ │ +00000980 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xba0 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xbe0 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ -00000028 00001102 R_ARM_ABS32 00000000 fftw_dft_n_genus │ │ │ │ │ +00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ +00000028 00000f02 R_ARM_ABS32 00000000 fftw_dft_n_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,650 +1,665 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ n1_20(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - ldr.w r6, [pc, #1048] @ 420 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + mov fp, r0 │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub sp, #396 @ 0x18c │ │ │ │ │ - add r6, pc │ │ │ │ │ - ldr r7, [sp, #504] @ 0x1f8 │ │ │ │ │ - ldrd r5, r4, [sp, #496] @ 0x1f0 │ │ │ │ │ - cmp r7, #0 │ │ │ │ │ - ble.w 90c │ │ │ │ │ - ldr r7, [sp, #508] @ 0x1fc │ │ │ │ │ - mov.w fp, #136 @ 0x88 │ │ │ │ │ - vldr d12, [pc, #1004] @ 410 │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ - str r7, [sp, #380] @ 0x17c │ │ │ │ │ - ldr r7, [sp, #512] @ 0x200 │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ - str r7, [sp, #384] @ 0x180 │ │ │ │ │ - ldr r7, [pc, #1008] @ (424 ) │ │ │ │ │ - ldr r6, [r6, r7] │ │ │ │ │ - ldr r6, [r6, #0] │ │ │ │ │ - str r6, [sp, #388] @ 0x184 │ │ │ │ │ - movs r6, #80 @ 0x50 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - movs r7, #40 @ 0x28 │ │ │ │ │ + sub sp, #388 @ 0x184 │ │ │ │ │ + ldr.w r0, [pc, #2072] @ 838 │ │ │ │ │ + ldr r4, [sp, #496] @ 0x1f0 │ │ │ │ │ + ldrd lr, sl, [sp, #488] @ 0x1e8 │ │ │ │ │ + add r0, pc │ │ │ │ │ + cmp r4, #0 │ │ │ │ │ + ble.w 95a │ │ │ │ │ + ldr r4, [sp, #500] @ 0x1f4 │ │ │ │ │ + mov r9, lr │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + str r4, [sp, #372] @ 0x174 │ │ │ │ │ + ldr r4, [sp, #504] @ 0x1f8 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + str r4, [sp, #376] @ 0x178 │ │ │ │ │ + ldr.w r4, [pc, #2040] @ 83c │ │ │ │ │ + ldr r0, [r0, r4] │ │ │ │ │ + ldr r0, [r0, #0] │ │ │ │ │ + str r0, [sp, #380] @ 0x17c │ │ │ │ │ + add.w r4, r9, r9, lsl #2 │ │ │ │ │ + vldr d6, [fp] │ │ │ │ │ + add.w r6, r9, r9, lsl #1 │ │ │ │ │ + mov.w r0, r4, lsl #4 │ │ │ │ │ vldr d4, [r1] │ │ │ │ │ - mov.w lr, #104 @ 0x68 │ │ │ │ │ - mov.w r8, #24 │ │ │ │ │ - mul.w ip, r6, r5 │ │ │ │ │ - mov.w r9, #96 @ 0x60 │ │ │ │ │ - mov.w sl, #56 @ 0x38 │ │ │ │ │ - add.w r6, r0, ip │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - add.w r6, r1, ip │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + add.w r5, fp, r0 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, r1, r0 │ │ │ │ │ vadd.f64 d0, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - mul.w r6, r7, r5 │ │ │ │ │ - adds r7, r0, r6 │ │ │ │ │ - add r6, r1 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, fp, r4 │ │ │ │ │ + add r4, r1 │ │ │ │ │ vsub.f64 d3, d4, d7 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - add r7, ip │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add r5, r0 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ vadd.f64 d1, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [r6] │ │ │ │ │ - add r6, ip │ │ │ │ │ - vldr d8, [r6] │ │ │ │ │ - lsls r6, r5, #6 │ │ │ │ │ - adds r7, r0, r6 │ │ │ │ │ - add r6, r1 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + add r4, r0 │ │ │ │ │ + vldr d8, [r4] │ │ │ │ │ + mov.w r4, r9, lsl #6 │ │ │ │ │ + add.w r5, fp, r4 │ │ │ │ │ + add r4, r1 │ │ │ │ │ + vsub.f64 d11, d3, d7 │ │ │ │ │ + vadd.f64 d7, d3, d7 │ │ │ │ │ vsub.f64 d2, d5, d8 │ │ │ │ │ vadd.f64 d5, d5, d8 │ │ │ │ │ vsub.f64 d8, d0, d1 │ │ │ │ │ - vadd.f64 d1, d0, d1 │ │ │ │ │ - vsub.f64 d0, d3, d7 │ │ │ │ │ - vadd.f64 d7, d3, d7 │ │ │ │ │ - vsub.f64 d11, d6, d2 │ │ │ │ │ + vadd.f64 d0, d0, d1 │ │ │ │ │ + vstr d7, [sp, #272] @ 0x110 │ │ │ │ │ + vsub.f64 d1, d6, d2 │ │ │ │ │ vadd.f64 d13, d6, d2 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - add r7, ip │ │ │ │ │ - vstr d7, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + add r5, r0 │ │ │ │ │ vsub.f64 d10, d4, d5 │ │ │ │ │ - vadd.f64 d5, d4, d5 │ │ │ │ │ + vadd.f64 d4, d4, d5 │ │ │ │ │ + vstr d11, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ vstr d8, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - mul.w r7, lr, r5 │ │ │ │ │ - vstr d11, [sp, #240] @ 0xf0 │ │ │ │ │ - vstr d13, [sp, #248] @ 0xf8 │ │ │ │ │ - vadd.f64 d9, d6, d7 │ │ │ │ │ - vsub.f64 d15, d6, d7 │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ - add r6, ip │ │ │ │ │ - vstr d5, [sp, #224] @ 0xe0 │ │ │ │ │ - vstr d10, [sp] │ │ │ │ │ - vldr d11, [r6] │ │ │ │ │ - adds r6, r0, r7 │ │ │ │ │ - add r7, r1 │ │ │ │ │ - vstr d1, [sp, #8] │ │ │ │ │ - vstr d0, [sp, #232] @ 0xe8 │ │ │ │ │ - vsub.f64 d4, d6, d11 │ │ │ │ │ - vadd.f64 d11, d6, d11 │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ - mul.w r6, r8, r5 │ │ │ │ │ - vstr d15, [sp, #96] @ 0x60 │ │ │ │ │ - mov.w r8, r5, lsl #7 │ │ │ │ │ - add.w lr, r0, r6 │ │ │ │ │ - add r6, r1 │ │ │ │ │ - vstr d4, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d4, [r7] │ │ │ │ │ - mul.w r7, r9, r5 │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ - vadd.f64 d13, d6, d7 │ │ │ │ │ + vstr d13, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d10, [sp, #224] @ 0xe0 │ │ │ │ │ + vadd.f64 d15, d6, d7 │ │ │ │ │ vsub.f64 d3, d6, d7 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - adds r6, r0, r7 │ │ │ │ │ - add r7, r1 │ │ │ │ │ - vsub.f64 d5, d4, d7 │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ - lsls r6, r5, #4 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + add r4, r0 │ │ │ │ │ + vldr d13, [r4] │ │ │ │ │ + mov.w r4, #104 @ 0x68 │ │ │ │ │ + mul.w r5, r4, r9 │ │ │ │ │ + vstr d4, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d3, [sp, #80] @ 0x50 │ │ │ │ │ + add.w r4, fp, r5 │ │ │ │ │ + add r5, r1 │ │ │ │ │ + vstr d0, [sp, #240] @ 0xf0 │ │ │ │ │ + vsub.f64 d14, d6, d13 │ │ │ │ │ + vadd.f64 d13, d6, d13 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + mov.w r4, r6, lsl #3 │ │ │ │ │ + add.w r7, fp, r4 │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ + add r4, r1 │ │ │ │ │ + mov.w r5, r6, lsl #5 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + mov.w r6, r6, lsl #4 │ │ │ │ │ + vstr d14, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d1, [sp, #256] @ 0x100 │ │ │ │ │ + vsub.f64 d5, d6, d7 │ │ │ │ │ + vadd.f64 d11, d6, d7 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + add.w r4, fp, r5 │ │ │ │ │ + add r5, r1 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + mov.w r4, r9, lsl #4 │ │ │ │ │ + add.w r7, fp, r4 │ │ │ │ │ + vstr d5, [sp, #72] @ 0x48 │ │ │ │ │ + vsub.f64 d14, d4, d7 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ - add.w lr, r0, r6 │ │ │ │ │ - add r6, r1 │ │ │ │ │ - vstr d3, [sp, #88] @ 0x58 │ │ │ │ │ - vstr d5, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ - mul.w r7, fp, r5 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - adds r6, r0, r7 │ │ │ │ │ - vldr d10, [lr] │ │ │ │ │ - add r7, r1 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + add.w r5, r1, r4 │ │ │ │ │ + add r4, r9 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, fp, r4 │ │ │ │ │ + add r4, r1 │ │ │ │ │ + vldr d10, [r7] │ │ │ │ │ vsub.f64 d3, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - mul.w r6, sl, r5 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + mov.w r5, r9, lsl #3 │ │ │ │ │ vadd.f64 d0, d6, d10 │ │ │ │ │ vsub.f64 d10, d6, d10 │ │ │ │ │ - add.w lr, r0, r6 │ │ │ │ │ - add r6, r1 │ │ │ │ │ - vldr d6, [lr] │ │ │ │ │ - vldr d8, [r6] │ │ │ │ │ - lsls r6, r5, #5 │ │ │ │ │ + sub.w r7, r5, r9 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + add.w ip, fp, r7 │ │ │ │ │ + add r7, r1 │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + vldr d8, [r7] │ │ │ │ │ + vsub.f64 d12, d7, d6 │ │ │ │ │ vadd.f64 d1, d7, d6 │ │ │ │ │ - vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - adds r7, r0, r6 │ │ │ │ │ - add r6, r1 │ │ │ │ │ - vsub.f64 d14, d0, d1 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + mov.w r4, r9, lsl #5 │ │ │ │ │ + add.w r7, fp, r4 │ │ │ │ │ + add r4, r1 │ │ │ │ │ vsub.f64 d2, d6, d8 │ │ │ │ │ + vsub.f64 d9, d0, d1 │ │ │ │ │ vadd.f64 d6, d6, d8 │ │ │ │ │ - vsub.f64 d8, d9, d13 │ │ │ │ │ - vadd.f64 d0, d0, d1 │ │ │ │ │ - vadd.f64 d13, d9, d13 │ │ │ │ │ - vstr d14, [sp, #24] │ │ │ │ │ - vadd.f64 d15, d8, d14 │ │ │ │ │ - vsub.f64 d14, d5, d6 │ │ │ │ │ - vadd.f64 d6, d5, d6 │ │ │ │ │ - vadd.f64 d1, d13, d0 │ │ │ │ │ - vstr d0, [sp, #72] @ 0x48 │ │ │ │ │ - vsub.f64 d0, d3, d7 │ │ │ │ │ - vstr d13, [sp, #64] @ 0x40 │ │ │ │ │ + vsub.f64 d8, d15, d11 │ │ │ │ │ + vadd.f64 d1, d0, d1 │ │ │ │ │ + vadd.f64 d15, d15, d11 │ │ │ │ │ + vstr d8, [sp, #8] │ │ │ │ │ + vsub.f64 d7, d5, d6 │ │ │ │ │ + vstr d9, [sp, #16] │ │ │ │ │ + vadd.f64 d9, d8, d9 │ │ │ │ │ + vsub.f64 d8, d13, d4 │ │ │ │ │ + vadd.f64 d4, d13, d4 │ │ │ │ │ + vadd.f64 d13, d5, d6 │ │ │ │ │ + vldr d5, [sp, #72] @ 0x48 │ │ │ │ │ + vadd.f64 d0, d15, d1 │ │ │ │ │ + vstr d15, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d15, [sp, #80] @ 0x50 │ │ │ │ │ + vadd.f64 d6, d4, d13 │ │ │ │ │ + vstr d7, [sp, #24] │ │ │ │ │ + vadd.f64 d7, d8, d7 │ │ │ │ │ + vstr d1, [sp, #56] @ 0x38 │ │ │ │ │ + vsub.f64 d1, d3, d12 │ │ │ │ │ + vstr d13, [sp, #40] @ 0x28 │ │ │ │ │ vsub.f64 d13, d10, d2 │ │ │ │ │ - vstr d15, [sp, #264] @ 0x108 │ │ │ │ │ - vsub.f64 d15, d11, d4 │ │ │ │ │ - vadd.f64 d11, d11, d4 │ │ │ │ │ - vstr d6, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d4, [sp, #88] @ 0x58 │ │ │ │ │ - vadd.f64 d2, d10, d2 │ │ │ │ │ - vstr d1, [sp, #288] @ 0x120 │ │ │ │ │ - vadd.f64 d7, d3, d7 │ │ │ │ │ - vstr d15, [sp, #32] │ │ │ │ │ - vadd.f64 d15, d15, d14 │ │ │ │ │ - vadd.f64 d5, d11, d6 │ │ │ │ │ - vldr d6, [sp, #80] @ 0x50 │ │ │ │ │ - vstr d14, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d14, [sp, #96] @ 0x60 │ │ │ │ │ - vsub.f64 d1, d6, d4 │ │ │ │ │ - vstr d11, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d5, [sp, #280] @ 0x118 │ │ │ │ │ - vstr d15, [sp, #272] @ 0x110 │ │ │ │ │ - vstr d7, [sp, #136] @ 0x88 │ │ │ │ │ - vadd.f64 d5, d1, d0 │ │ │ │ │ - vstr d1, [sp, #80] @ 0x50 │ │ │ │ │ - vstr d8, [sp, #16] │ │ │ │ │ - vstr d0, [sp, #88] @ 0x58 │ │ │ │ │ - vstr d2, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d5, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d5, [sp, #104] @ 0x68 │ │ │ │ │ - vstr d13, [sp, #104] @ 0x68 │ │ │ │ │ - vadd.f64 d1, d14, d5 │ │ │ │ │ - vsub.f64 d11, d14, d5 │ │ │ │ │ - vadd.f64 d10, d1, d2 │ │ │ │ │ - vadd.f64 d15, d11, d13 │ │ │ │ │ - vstr d11, [sp, #96] @ 0x60 │ │ │ │ │ - vstr d1, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d10, [sp, #312] @ 0x138 │ │ │ │ │ - vadd.f64 d10, d6, d4 │ │ │ │ │ - vstr d15, [sp, #304] @ 0x130 │ │ │ │ │ - vadd.f64 d7, d10, d7 │ │ │ │ │ - vstr d10, [sp, #128] @ 0x80 │ │ │ │ │ - vstr d7, [sp, #320] @ 0x140 │ │ │ │ │ + vadd.f64 d10, d10, d2 │ │ │ │ │ + vstr d4, [sp, #32] │ │ │ │ │ + vadd.f64 d2, d3, d12 │ │ │ │ │ + vstr d8, [sp] │ │ │ │ │ + vsub.f64 d11, d15, d14 │ │ │ │ │ + vadd.f64 d14, d15, d14 │ │ │ │ │ + vstr d0, [sp, #296] @ 0x128 │ │ │ │ │ + vstr d6, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d6, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d7, [sp, #280] @ 0x118 │ │ │ │ │ + vstr d1, [sp, #72] @ 0x48 │ │ │ │ │ + vadd.f64 d7, d11, d13 │ │ │ │ │ + vstr d10, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d14, [sp, #96] @ 0x60 │ │ │ │ │ + vadd.f64 d14, d14, d10 │ │ │ │ │ + vstr d11, [sp, #80] @ 0x50 │ │ │ │ │ + vsub.f64 d4, d6, d5 │ │ │ │ │ + vadd.f64 d15, d6, d5 │ │ │ │ │ vldr d6, [r7] │ │ │ │ │ - add r7, ip │ │ │ │ │ + add r7, r0 │ │ │ │ │ + vstr d7, [sp, #312] @ 0x138 │ │ │ │ │ + vadd.f64 d0, d4, d1 │ │ │ │ │ + vadd.f64 d10, d15, d2 │ │ │ │ │ vldr d7, [r7] │ │ │ │ │ - vadd.f64 d3, d6, d7 │ │ │ │ │ - vsub.f64 d7, d6, d7 │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ - add r6, ip │ │ │ │ │ - vstr d7, [sp, #192] @ 0xc0 │ │ │ │ │ - vmov.f64 d2, d3 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - movs r6, #72 @ 0x48 │ │ │ │ │ - mul.w r7, r6, r5 │ │ │ │ │ - vsub.f64 d0, d6, d7 │ │ │ │ │ - vadd.f64 d7, d6, d7 │ │ │ │ │ - vstr d2, [sp, #144] @ 0x90 │ │ │ │ │ - add.w lr, r0, r7 │ │ │ │ │ - add r7, r1 │ │ │ │ │ - movs r6, #80 @ 0x50 │ │ │ │ │ - vstr d0, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d6, [lr] │ │ │ │ │ - add lr, ip │ │ │ │ │ - vstr d7, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ + vstr d14, [sp, #320] @ 0x140 │ │ │ │ │ + vstr d4, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d15, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d13, [sp, #88] @ 0x58 │ │ │ │ │ + vstr d2, [sp, #120] @ 0x78 │ │ │ │ │ vadd.f64 d14, d6, d7 │ │ │ │ │ - vsub.f64 d9, d6, d7 │ │ │ │ │ + vstr d0, [sp, #304] @ 0x130 │ │ │ │ │ + vstr d10, [sp, #328] @ 0x148 │ │ │ │ │ + vmov.f64 d15, d14 │ │ │ │ │ + vsub.f64 d14, d6, d7 │ │ │ │ │ + vstr d14, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + add r4, r0 │ │ │ │ │ + vldr d13, [r4] │ │ │ │ │ + add.w r4, r5, r9 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + add.w r7, fp, r4 │ │ │ │ │ + add r4, r1 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + add r4, r0 │ │ │ │ │ + vsub.f64 d0, d6, d13 │ │ │ │ │ + vadd.f64 d13, d6, d13 │ │ │ │ │ vldr d6, [r7] │ │ │ │ │ - add r7, ip │ │ │ │ │ - vldr d10, [r7] │ │ │ │ │ - add.w r7, r0, r8 │ │ │ │ │ - add r8, r1 │ │ │ │ │ - vstr d9, [sp, #184] @ 0xb8 │ │ │ │ │ - vsub.f64 d9, d2, d14 │ │ │ │ │ - vsub.f64 d15, d6, d10 │ │ │ │ │ - vadd.f64 d10, d6, d10 │ │ │ │ │ + add r7, r0 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + vstr d0, [sp, #168] @ 0xa8 │ │ │ │ │ + vadd.f64 d11, d6, d7 │ │ │ │ │ + vsub.f64 d10, d6, d7 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + mov.w r4, r9, lsl #7 │ │ │ │ │ + add.w r7, fp, r4 │ │ │ │ │ + add r4, r1 │ │ │ │ │ vldr d6, [r7] │ │ │ │ │ - movs r7, #48 @ 0x30 │ │ │ │ │ - vldr d3, [r8] │ │ │ │ │ - vstr d9, [sp, #160] @ 0xa0 │ │ │ │ │ - mul.w lr, r7, r5 │ │ │ │ │ - mul.w r7, r4, r7 │ │ │ │ │ - add.w r9, r0, lr │ │ │ │ │ - add lr, r1 │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ - mov.w lr, r5, lsl #3 │ │ │ │ │ - add.w r8, r0, lr │ │ │ │ │ - add lr, r1 │ │ │ │ │ - vldr d13, [r9] │ │ │ │ │ - mul.w r9, r6, r4 │ │ │ │ │ - vsub.f64 d11, d3, d7 │ │ │ │ │ - vadd.f64 d3, d3, d7 │ │ │ │ │ - vldr d5, [r8] │ │ │ │ │ - add r8, ip │ │ │ │ │ - vldr d4, [lr] │ │ │ │ │ - add lr, ip │ │ │ │ │ - vadd.f64 d8, d6, d13 │ │ │ │ │ - vsub.f64 d13, d6, d13 │ │ │ │ │ - vldr d7, [r8] │ │ │ │ │ - add.w ip, r2, r9 │ │ │ │ │ - vldr d6, [sp, #152] @ 0x98 │ │ │ │ │ - mov.w r8, r4, lsl #4 │ │ │ │ │ - add r9, r3 │ │ │ │ │ - vadd.f64 d0, d5, d7 │ │ │ │ │ - vsub.f64 d5, d5, d7 │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ - mov.w lr, #112 @ 0x70 │ │ │ │ │ - vsub.f64 d2, d8, d0 │ │ │ │ │ - vsub.f64 d1, d4, d7 │ │ │ │ │ + add.w r7, fp, r6 │ │ │ │ │ + add r6, r1 │ │ │ │ │ + vsub.f64 d14, d4, d7 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + add.w r4, fp, r5 │ │ │ │ │ + add r5, r1 │ │ │ │ │ + vsub.f64 d12, d15, d11 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + mov.w r6, sl, lsl #3 │ │ │ │ │ + vstr d14, [sp, #128] @ 0x80 │ │ │ │ │ + vsub.f64 d3, d13, d4 │ │ │ │ │ + vadd.f64 d13, d13, d4 │ │ │ │ │ + vldr d14, [r7] │ │ │ │ │ + vstr d12, [sp, #136] @ 0x88 │ │ │ │ │ + vstr d10, [sp, #176] @ 0xb0 │ │ │ │ │ + vadd.f64 d8, d6, d14 │ │ │ │ │ + vsub.f64 d14, d6, d14 │ │ │ │ │ + vsub.f64 d6, d5, d7 │ │ │ │ │ + vadd.f64 d5, d5, d7 │ │ │ │ │ + vstr d6, [sp, #192] @ 0xc0 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + add r4, r0 │ │ │ │ │ + vldr d10, [r4] │ │ │ │ │ + vadd.f64 d0, d6, d10 │ │ │ │ │ + vsub.f64 d10, d6, d10 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + add r5, r0 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, sl, sl, lsl #2 │ │ │ │ │ + mov.w r8, r5, lsl #4 │ │ │ │ │ + add.w r0, r2, r8 │ │ │ │ │ + add r8, r3 │ │ │ │ │ + vsub.f64 d1, d6, d7 │ │ │ │ │ + vadd.f64 d6, d6, d7 │ │ │ │ │ + vsub.f64 d7, d8, d0 │ │ │ │ │ vadd.f64 d8, d8, d0 │ │ │ │ │ - vldr d0, [sp, #176] @ 0xb0 │ │ │ │ │ - mul.w lr, lr, r4 │ │ │ │ │ - vadd.f64 d7, d9, d2 │ │ │ │ │ - vstr d2, [sp, #168] @ 0xa8 │ │ │ │ │ - vsub.f64 d2, d6, d10 │ │ │ │ │ - vsub.f64 d6, d3, d4 │ │ │ │ │ - vadd.f64 d4, d3, d4 │ │ │ │ │ - vadd.f64 d9, d2, d6 │ │ │ │ │ - vsub.f64 d6, d2, d6 │ │ │ │ │ - vstr d9, [sp, #328] @ 0x148 │ │ │ │ │ - vldr d9, [sp, #152] @ 0x98 │ │ │ │ │ - vstr d4, [sp, #152] @ 0x98 │ │ │ │ │ - vadd.f64 d10, d9, d10 │ │ │ │ │ - vadd.f64 d3, d10, d4 │ │ │ │ │ - vstr d3, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d3, [sp, #144] @ 0x90 │ │ │ │ │ - vadd.f64 d4, d3, d14 │ │ │ │ │ - vsub.f64 d14, d11, d5 │ │ │ │ │ - vadd.f64 d11, d11, d5 │ │ │ │ │ - vldr d5, [pc, #68] @ 418 │ │ │ │ │ - vadd.f64 d3, d4, d8 │ │ │ │ │ - vstr d4, [sp, #144] @ 0x90 │ │ │ │ │ - vstr d3, [sp, #344] @ 0x158 │ │ │ │ │ - vldr d9, [sp, #184] @ 0xb8 │ │ │ │ │ - vstr d14, [sp, #184] @ 0xb8 │ │ │ │ │ - vsub.f64 d3, d0, d9 │ │ │ │ │ - vadd.f64 d0, d0, d9 │ │ │ │ │ - vldr d9, [sp, #216] @ 0xd8 │ │ │ │ │ - vadd.f64 d4, d3, d14 │ │ │ │ │ - vstr d3, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d3, [sp, #192] @ 0xc0 │ │ │ │ │ - vsub.f64 d14, d13, d1 │ │ │ │ │ - vadd.f64 d1, d13, d1 │ │ │ │ │ - b.n 428 │ │ │ │ │ - nop │ │ │ │ │ - nop.w │ │ │ │ │ - .word 0x134454ff │ │ │ │ │ - .word 0x3fee6f0e │ │ │ │ │ - .word 0x9b97f4a8 │ │ │ │ │ - .word 0x3fe1e377 │ │ │ │ │ - .word 0x0000040e │ │ │ │ │ - R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ - .word 0x00000000 │ │ │ │ │ - R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - vstr d0, [sp, #208] @ 0xd0 │ │ │ │ │ - vadd.f64 d13, d0, d11 │ │ │ │ │ - vmov.f64 d0, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vstr d4, [sp, #352] @ 0x160 │ │ │ │ │ - vsub.f64 d4, d3, d15 │ │ │ │ │ - vadd.f64 d15, d3, d15 │ │ │ │ │ - vstr d14, [sp, #200] @ 0xc8 │ │ │ │ │ - vstr d4, [sp, #192] @ 0xc0 │ │ │ │ │ - vadd.f64 d4, d4, d14 │ │ │ │ │ - vldr d14, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d4, [sp, #360] @ 0x168 │ │ │ │ │ - vadd.f64 d4, d15, d1 │ │ │ │ │ - vstr d4, [sp, #368] @ 0x170 │ │ │ │ │ - vldr d4, [sp, #264] @ 0x108 │ │ │ │ │ - vsub.f64 d3, d7, d4 │ │ │ │ │ - vadd.f64 d7, d4, d7 │ │ │ │ │ + vadd.f64 d2, d12, d7 │ │ │ │ │ + vstr d7, [sp, #144] @ 0x90 │ │ │ │ │ + vsub.f64 d7, d5, d6 │ │ │ │ │ + vadd.f64 d5, d5, d6 │ │ │ │ │ + vadd.f64 d6, d15, d11 │ │ │ │ │ + vldr d11, [sp, #192] @ 0xc0 │ │ │ │ │ + vsub.f64 d15, d14, d1 │ │ │ │ │ + vadd.f64 d1, d14, d1 │ │ │ │ │ + vadd.f64 d12, d3, d7 │ │ │ │ │ + vsub.f64 d7, d3, d7 │ │ │ │ │ + vadd.f64 d4, d13, d5 │ │ │ │ │ + vadd.f64 d0, d6, d8 │ │ │ │ │ + vstr d5, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d6, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d6, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d12, [sp, #336] @ 0x150 │ │ │ │ │ + vsub.f64 d12, d11, d10 │ │ │ │ │ + vstr d4, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d4, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d12, [sp, #176] @ 0xb0 │ │ │ │ │ + vsub.f64 d5, d4, d6 │ │ │ │ │ + vadd.f64 d6, d4, d6 │ │ │ │ │ vmov.f64 d4, d9 │ │ │ │ │ - vmul.f64 d3, d3, d5 │ │ │ │ │ - vldr d5, [sp, #32] │ │ │ │ │ - vmls.f64 d4, d7, d0 │ │ │ │ │ - vadd.f64 d7, d9, d7 │ │ │ │ │ - vldr d9, [sp, #328] @ 0x148 │ │ │ │ │ - vsub.f64 d5, d5, d14 │ │ │ │ │ - vldr d14, [pc, #1016] @ 880 │ │ │ │ │ - vstr d7, [ip] │ │ │ │ │ - add.w ip, r2, lr │ │ │ │ │ - vmul.f64 d2, d6, d14 │ │ │ │ │ + vstr d5, [sp, #168] @ 0xa8 │ │ │ │ │ + vadd.f64 d5, d5, d12 │ │ │ │ │ + vldr d12, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d5, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d5, [sp, #184] @ 0xb8 │ │ │ │ │ + vsub.f64 d12, d5, d12 │ │ │ │ │ + vstr d12, [sp, #184] @ 0xb8 │ │ │ │ │ + vstr d15, [sp, #192] @ 0xc0 │ │ │ │ │ + vadd.f64 d15, d12, d15 │ │ │ │ │ + vstr d6, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d12, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d9, [sp] │ │ │ │ │ + vstr d15, [sp, #360] @ 0x168 │ │ │ │ │ + vadd.f64 d15, d5, d12 │ │ │ │ │ + vldr d12, [sp, #216] @ 0xd8 │ │ │ │ │ + vldr d5, [pc, #1004] @ 820 │ │ │ │ │ + vadd.f64 d14, d15, d1 │ │ │ │ │ + vstr d15, [sp, #128] @ 0x80 │ │ │ │ │ + vadd.f64 d15, d11, d10 │ │ │ │ │ + vldr d10, [pc, #996] @ 828 │ │ │ │ │ + vmov.f64 d11, d5 │ │ │ │ │ + vadd.f64 d6, d6, d15 │ │ │ │ │ + vmul.f64 d3, d7, d10 │ │ │ │ │ + vstr d6, [sp, #208] @ 0xd0 │ │ │ │ │ + vsub.f64 d6, d2, d4 │ │ │ │ │ + vadd.f64 d4, d4, d2 │ │ │ │ │ + vmov.f64 d2, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vmul.f64 d6, d6, d5 │ │ │ │ │ + vmov.f64 d5, d12 │ │ │ │ │ + vmls.f64 d5, d4, d2 │ │ │ │ │ + vldr d2, [sp, #24] │ │ │ │ │ + vadd.f64 d4, d12, d4 │ │ │ │ │ + str r5, [sp, #24] │ │ │ │ │ + vldr d12, [sp, #336] @ 0x150 │ │ │ │ │ + vsub.f64 d2, d9, d2 │ │ │ │ │ + vldr d9, [pc, #940] @ 830 │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ + sub.w r0, r6, sl │ │ │ │ │ + mov.w ip, r0, lsl #4 │ │ │ │ │ + str r0, [sp, #216] @ 0xd8 │ │ │ │ │ + add.w r0, r2, ip │ │ │ │ │ + add ip, r3 │ │ │ │ │ + vnmls.f64 d3, d2, d9 │ │ │ │ │ + vmul.f64 d2, d2, d10 │ │ │ │ │ + vmla.f64 d2, d7, d9 │ │ │ │ │ + vadd.f64 d7, d6, d5 │ │ │ │ │ + vldr d9, [sp, #16] │ │ │ │ │ + vsub.f64 d5, d5, d6 │ │ │ │ │ + vldr d6, [sp, #280] @ 0x118 │ │ │ │ │ + vsub.f64 d4, d7, d2 │ │ │ │ │ + vadd.f64 d2, d2, d7 │ │ │ │ │ + vsub.f64 d7, d5, d3 │ │ │ │ │ + vadd.f64 d3, d3, d5 │ │ │ │ │ + vsub.f64 d5, d12, d6 │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ + add.w r0, sl, sl, lsl #1 │ │ │ │ │ + vadd.f64 d4, d6, d12 │ │ │ │ │ + vldr d12, [sp, #136] @ 0x88 │ │ │ │ │ + mov.w lr, r0, lsl #4 │ │ │ │ │ + vmul.f64 d5, d5, d11 │ │ │ │ │ + str r0, [sp, #0] │ │ │ │ │ + add.w r0, r2, lr │ │ │ │ │ + vldr d11, [sp, #224] @ 0xe0 │ │ │ │ │ add lr, r3 │ │ │ │ │ - vadd.f64 d7, d3, d4 │ │ │ │ │ - vsub.f64 d4, d4, d3 │ │ │ │ │ - vnmls.f64 d2, d5, d12 │ │ │ │ │ - vmul.f64 d5, d5, d14 │ │ │ │ │ - vmla.f64 d5, d6, d12 │ │ │ │ │ - vldr d3, [sp, #16] │ │ │ │ │ - vldr d14, [sp, #168] @ 0xa8 │ │ │ │ │ - vsub.f64 d6, d7, d5 │ │ │ │ │ - vadd.f64 d5, d5, d7 │ │ │ │ │ - vsub.f64 d7, d4, d2 │ │ │ │ │ - vadd.f64 d2, d2, d4 │ │ │ │ │ - vldr d4, [sp, #272] @ 0x110 │ │ │ │ │ - vstr d6, [ip] │ │ │ │ │ - add.w ip, r2, r7 │ │ │ │ │ - vldr d6, [sp] │ │ │ │ │ + vstr d2, [r0] │ │ │ │ │ + mov.w r0, sl, lsl #4 │ │ │ │ │ + vmov.f64 d2, #80 @ 0x3e800000 0.250 │ │ │ │ │ + add.w r4, r2, r0 │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + add.w r4, r6, sl │ │ │ │ │ + vmov.f64 d6, d11 │ │ │ │ │ + mov.w r7, r4, lsl #4 │ │ │ │ │ + vmov.f64 d10, d2 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + add.w r5, r2, r7 │ │ │ │ │ add r7, r3 │ │ │ │ │ - vstr d5, [ip] │ │ │ │ │ - add.w ip, r2, r8 │ │ │ │ │ - vsub.f64 d5, d9, d4 │ │ │ │ │ - vadd.f64 d4, d4, d9 │ │ │ │ │ - vldr d9, [sp, #160] @ 0xa0 │ │ │ │ │ - add r8, r3 │ │ │ │ │ - vstr d7, [ip] │ │ │ │ │ - mov.w ip, #144 @ 0x90 │ │ │ │ │ - vldr d7, [pc, #916] @ 888 │ │ │ │ │ - vmls.f64 d6, d4, d0 │ │ │ │ │ - mul.w ip, ip, r4 │ │ │ │ │ - vmul.f64 d5, d5, d7 │ │ │ │ │ - add.w r6, r2, ip │ │ │ │ │ - add ip, r3 │ │ │ │ │ - vstr d2, [r6] │ │ │ │ │ - movs r6, #72 @ 0x48 │ │ │ │ │ - vldr d2, [sp, #24] │ │ │ │ │ - mul.w r6, r4, r6 │ │ │ │ │ - vsub.f64 d7, d3, d2 │ │ │ │ │ - vsub.f64 d2, d9, d14 │ │ │ │ │ - vldr d9, [pc, #864] @ 880 │ │ │ │ │ - vmul.f64 d3, d2, d9 │ │ │ │ │ - vnmls.f64 d3, d7, d12 │ │ │ │ │ - vmul.f64 d7, d7, d9 │ │ │ │ │ - vmla.f64 d7, d2, d12 │ │ │ │ │ - vldr d2, [sp] │ │ │ │ │ - vadd.f64 d4, d2, d4 │ │ │ │ │ - vstr d4, [r9] │ │ │ │ │ + vmls.f64 d6, d4, d2 │ │ │ │ │ + vadd.f64 d4, d11, d4 │ │ │ │ │ + vstr d3, [r5] │ │ │ │ │ + vldr d3, [sp, #8] │ │ │ │ │ + vstr d4, [r8] │ │ │ │ │ + mov.w r8, sl, lsl #6 │ │ │ │ │ + vsub.f64 d7, d3, d9 │ │ │ │ │ + vldr d9, [sp, #144] @ 0x90 │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - mov.w r9, #96 @ 0x60 │ │ │ │ │ + vldr d5, [sp, #296] @ 0x128 │ │ │ │ │ + vsub.f64 d2, d12, d9 │ │ │ │ │ + vldr d12, [pc, #732] @ 828 │ │ │ │ │ + vldr d9, [pc, #736] @ 830 │ │ │ │ │ + vmul.f64 d3, d2, d12 │ │ │ │ │ + vnmls.f64 d3, d7, d9 │ │ │ │ │ + vmul.f64 d7, d7, d12 │ │ │ │ │ + vldr d12, [sp, #152] @ 0x98 │ │ │ │ │ + vmla.f64 d7, d2, d9 │ │ │ │ │ vsub.f64 d2, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vstr d2, [r7] │ │ │ │ │ - vstr d7, [lr] │ │ │ │ │ + vadd.f64 d4, d5, d0 │ │ │ │ │ + vstr d2, [lr] │ │ │ │ │ + vstr d7, [ip] │ │ │ │ │ vadd.f64 d7, d3, d6 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ - mul.w lr, r9, r4 │ │ │ │ │ + add.w ip, r3, r0 │ │ │ │ │ + vstr d7, [ip] │ │ │ │ │ + mov.w ip, sl, lsl #5 │ │ │ │ │ + vldr d7, [pc, #656] @ 820 │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ + vsub.f64 d6, d0, d5 │ │ │ │ │ + vldr d0, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d3, [sp, #32] │ │ │ │ │ + ldr r7, [sp, #0] │ │ │ │ │ + vmul.f64 d6, d6, d7 │ │ │ │ │ + vsub.f64 d7, d13, d12 │ │ │ │ │ + vldr d9, [sp, #40] @ 0x28 │ │ │ │ │ + vmov.f64 d5, d0 │ │ │ │ │ + vmov.f64 d13, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vldr d12, [pc, #620] @ 828 │ │ │ │ │ + mov.w lr, r7, lsl #5 │ │ │ │ │ + vmls.f64 d5, d4, d10 │ │ │ │ │ + vadd.f64 d4, d0, d4 │ │ │ │ │ + vldr d0, [pc, #596] @ 820 │ │ │ │ │ add.w r7, r2, lr │ │ │ │ │ add lr, r3 │ │ │ │ │ - vstr d7, [r8] │ │ │ │ │ - mov.w r8, r4, lsl #6 │ │ │ │ │ - vstr d6, [ip] │ │ │ │ │ - mov.w ip, r4, lsl #5 │ │ │ │ │ - vldr d9, [sp, #344] @ 0x158 │ │ │ │ │ - vldr d4, [sp, #288] @ 0x120 │ │ │ │ │ - vldr d3, [sp, #8] │ │ │ │ │ - vldr d14, [sp, #48] @ 0x30 │ │ │ │ │ - vsub.f64 d6, d9, d4 │ │ │ │ │ - vadd.f64 d4, d4, d9 │ │ │ │ │ - vldr d7, [pc, #752] @ 888 │ │ │ │ │ - vldr d9, [sp, #152] @ 0x98 │ │ │ │ │ - vmls.f64 d3, d4, d0 │ │ │ │ │ - vmul.f64 d6, d6, d7 │ │ │ │ │ - vsub.f64 d7, d10, d9 │ │ │ │ │ - vldr d9, [pc, #724] @ 880 │ │ │ │ │ - vldr d10, [pc, #728] @ 888 │ │ │ │ │ - vmov.f64 d5, d3 │ │ │ │ │ - vldr d3, [sp, #56] @ 0x38 │ │ │ │ │ - vsub.f64 d2, d14, d3 │ │ │ │ │ - vldr d14, [sp, #72] @ 0x48 │ │ │ │ │ - vmul.f64 d3, d2, d9 │ │ │ │ │ - vmla.f64 d3, d7, d12 │ │ │ │ │ - vmul.f64 d7, d7, d9 │ │ │ │ │ - vldr d9, [sp, #336] @ 0x150 │ │ │ │ │ - vnmls.f64 d7, d2, d12 │ │ │ │ │ - vldr d2, [sp, #8] │ │ │ │ │ - vadd.f64 d4, d2, d4 │ │ │ │ │ + vsub.f64 d2, d3, d9 │ │ │ │ │ + vldr d9, [pc, #600] @ 830 │ │ │ │ │ + vmov.f64 d11, d12 │ │ │ │ │ vstr d4, [r2] │ │ │ │ │ + vmul.f64 d3, d2, d12 │ │ │ │ │ + vmov.f64 d10, d9 │ │ │ │ │ vsub.f64 d4, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ + vmla.f64 d3, d7, d9 │ │ │ │ │ + vmul.f64 d7, d7, d12 │ │ │ │ │ + vldr d12, [sp, #344] @ 0x158 │ │ │ │ │ + vnmls.f64 d7, d2, d9 │ │ │ │ │ + vldr d9, [sp, #56] @ 0x38 │ │ │ │ │ vsub.f64 d2, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ vstr d2, [r7] │ │ │ │ │ add.w r7, r2, r8 │ │ │ │ │ add r8, r3 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ vsub.f64 d7, d6, d3 │ │ │ │ │ add.w r7, r2, ip │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ - vldr d6, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d6, [sp, #288] @ 0x120 │ │ │ │ │ add ip, r3 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ - lsls r7, r4, #7 │ │ │ │ │ - add.w r9, r2, r7 │ │ │ │ │ - vadd.f64 d4, d6, d9 │ │ │ │ │ - vsub.f64 d7, d9, d6 │ │ │ │ │ - vldr d6, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d9, [sp, #224] @ 0xe0 │ │ │ │ │ + mov.w r7, sl, lsl #7 │ │ │ │ │ + vadd.f64 d4, d6, d12 │ │ │ │ │ + vsub.f64 d7, d12, d6 │ │ │ │ │ + vldr d6, [sp, #160] @ 0xa0 │ │ │ │ │ + add.w r5, r2, r7 │ │ │ │ │ add r7, r3 │ │ │ │ │ - vstr d3, [r9] │ │ │ │ │ - vldr d3, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d12, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d3, [r5] │ │ │ │ │ + ldr r5, [sp, #24] │ │ │ │ │ + vldr d3, [sp, #48] @ 0x30 │ │ │ │ │ vsub.f64 d6, d6, d8 │ │ │ │ │ - vldr d8, [pc, #580] @ 880 │ │ │ │ │ - vmov.f64 d5, d9 │ │ │ │ │ - vmls.f64 d5, d4, d0 │ │ │ │ │ - vmul.f64 d7, d7, d10 │ │ │ │ │ - vsub.f64 d2, d3, d14 │ │ │ │ │ - vadd.f64 d4, d9, d4 │ │ │ │ │ - vldr d9, [sp, #352] @ 0x160 │ │ │ │ │ - vldr d14, [sp, #112] @ 0x70 │ │ │ │ │ - vmul.f64 d3, d2, d8 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ + vmov.f64 d5, d12 │ │ │ │ │ + vldr d8, [sp, #352] @ 0x160 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ + vsub.f64 d2, d3, d9 │ │ │ │ │ + vmls.f64 d5, d4, d13 │ │ │ │ │ + vldr d9, [sp, #128] @ 0x80 │ │ │ │ │ + vadd.f64 d4, d12, d4 │ │ │ │ │ + vmul.f64 d3, d2, d11 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ - vmla.f64 d3, d6, d12 │ │ │ │ │ - vmul.f64 d6, d6, d8 │ │ │ │ │ - vmov.f64 d8, d10 │ │ │ │ │ vsub.f64 d4, d5, d7 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [sp, #296] @ 0x128 │ │ │ │ │ - vnmls.f64 d6, d2, d12 │ │ │ │ │ + vldr d5, [sp, #304] @ 0x130 │ │ │ │ │ + vmla.f64 d3, d6, d10 │ │ │ │ │ + vmul.f64 d6, d6, d11 │ │ │ │ │ + vldr d11, [sp, #248] @ 0xf8 │ │ │ │ │ + vnmls.f64 d6, d2, d10 │ │ │ │ │ vsub.f64 d2, d4, d6 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vadd.f64 d4, d5, d9 │ │ │ │ │ + vadd.f64 d4, d5, d8 │ │ │ │ │ vstr d2, [r8] │ │ │ │ │ + vldr d2, [sp, #104] @ 0x68 │ │ │ │ │ vstr d6, [lr] │ │ │ │ │ vadd.f64 d6, d3, d7 │ │ │ │ │ - vldr d2, [sp, #120] @ 0x78 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - mov.w lr, #104 @ 0x68 │ │ │ │ │ + vldr d3, [sp, #96] @ 0x60 │ │ │ │ │ vstr d6, [ip] │ │ │ │ │ - vsub.f64 d6, d9, d5 │ │ │ │ │ - vsub.f64 d2, d14, d2 │ │ │ │ │ + vsub.f64 d6, d8, d5 │ │ │ │ │ + vmov.f64 d5, d11 │ │ │ │ │ + vsub.f64 d2, d3, d2 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ - vsub.f64 d7, d15, d1 │ │ │ │ │ - vldr d15, [pc, #456] @ 880 │ │ │ │ │ - movs r7, #40 @ 0x28 │ │ │ │ │ - mul.w lr, lr, r4 │ │ │ │ │ - vmul.f64 d6, d6, d10 │ │ │ │ │ - vldr d10, [sp, #232] @ 0xe8 │ │ │ │ │ - vmul.f64 d3, d2, d15 │ │ │ │ │ - mul.w ip, fp, r4 │ │ │ │ │ - vmla.f64 d3, d7, d12 │ │ │ │ │ - vmul.f64 d7, d7, d15 │ │ │ │ │ - vmov.f64 d5, d10 │ │ │ │ │ - mul.w r8, r7, r4 │ │ │ │ │ - vmls.f64 d5, d4, d0 │ │ │ │ │ - vadd.f64 d4, d10, d4 │ │ │ │ │ - add.w r7, r3, r8 │ │ │ │ │ - vmov.f64 d1, d8 │ │ │ │ │ - vnmls.f64 d7, d2, d12 │ │ │ │ │ - add r8, r2 │ │ │ │ │ + vsub.f64 d7, d9, d1 │ │ │ │ │ + vldr d1, [pc, #332] @ 828 │ │ │ │ │ + vmov.f64 d8, d13 │ │ │ │ │ + add.w r7, r3, r5 │ │ │ │ │ + mov.w ip, #104 @ 0x68 │ │ │ │ │ + add r5, r2 │ │ │ │ │ + vmls.f64 d5, d4, d13 │ │ │ │ │ + vmov.f64 d13, d10 │ │ │ │ │ + vadd.f64 d4, d11, d4 │ │ │ │ │ + mul.w ip, ip, sl │ │ │ │ │ + vmul.f64 d6, d6, d0 │ │ │ │ │ + vmul.f64 d3, d2, d1 │ │ │ │ │ vstr d4, [r7] │ │ │ │ │ - add.w r7, r3, lr │ │ │ │ │ - add lr, r2 │ │ │ │ │ + add.w r7, r3, ip │ │ │ │ │ + add ip, r2 │ │ │ │ │ + vmla.f64 d3, d7, d10 │ │ │ │ │ + vmul.f64 d7, d7, d1 │ │ │ │ │ vsub.f64 d4, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ + vmov.f64 d10, d1 │ │ │ │ │ + vmov.f64 d1, d0 │ │ │ │ │ + vmov.f64 d0, d8 │ │ │ │ │ + vnmls.f64 d7, d2, d13 │ │ │ │ │ vsub.f64 d2, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ vstr d2, [r7] │ │ │ │ │ - add.w r7, r3, ip │ │ │ │ │ - add ip, r2 │ │ │ │ │ - vstr d7, [r7] │ │ │ │ │ + add.w r7, r0, sl │ │ │ │ │ + sub.w r0, r0, sl │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ + add.w lr, r3, r7 │ │ │ │ │ + add r7, r2 │ │ │ │ │ + vstr d7, [lr] │ │ │ │ │ vsub.f64 d7, d6, d3 │ │ │ │ │ - lsls r7, r4, #3 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ - add.w r9, r3, r7 │ │ │ │ │ - add r7, r2 │ │ │ │ │ - vstr d7, [r9] │ │ │ │ │ - add.w r9, r3, r6 │ │ │ │ │ + add.w lr, r3, r6 │ │ │ │ │ + vldr d6, [sp, #320] @ 0x140 │ │ │ │ │ add r6, r2 │ │ │ │ │ - vstr d3, [r9] │ │ │ │ │ - vldr d6, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d5, [sp, #368] @ 0x170 │ │ │ │ │ - vldr d3, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d2, [sp, #88] @ 0x58 │ │ │ │ │ - vsub.f64 d7, d5, d6 │ │ │ │ │ - vldr d14, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d9, [sp, #176] @ 0xb0 │ │ │ │ │ - vadd.f64 d4, d6, d5 │ │ │ │ │ - vsub.f64 d2, d3, d2 │ │ │ │ │ - vldr d10, [sp, #128] @ 0x80 │ │ │ │ │ - vmul.f64 d7, d7, d8 │ │ │ │ │ - vsub.f64 d6, d9, d14 │ │ │ │ │ - vldr d8, [sp, #248] @ 0xf8 │ │ │ │ │ - vmul.f64 d3, d2, d15 │ │ │ │ │ - vldr d14, [sp, #200] @ 0xc8 │ │ │ │ │ - vmov.f64 d5, d8 │ │ │ │ │ - vmla.f64 d3, d6, d12 │ │ │ │ │ - vmls.f64 d5, d4, d0 │ │ │ │ │ - vmul.f64 d6, d6, d15 │ │ │ │ │ - vadd.f64 d4, d8, d4 │ │ │ │ │ - vldr d8, [sp, #256] @ 0x100 │ │ │ │ │ - vnmls.f64 d6, d2, d12 │ │ │ │ │ - vstr d4, [r8] │ │ │ │ │ - mov.w r8, #24 │ │ │ │ │ + vstr d7, [lr] │ │ │ │ │ + add.w lr, r3, r4 │ │ │ │ │ + add r4, r2 │ │ │ │ │ + vadd.f64 d4, d6, d14 │ │ │ │ │ + vsub.f64 d7, d14, d6 │ │ │ │ │ + vstr d3, [lr] │ │ │ │ │ + vldr d11, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d3, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d9, [sp, #72] @ 0x48 │ │ │ │ │ + vmul.f64 d7, d7, d1 │ │ │ │ │ + vldr d12, [sp, #168] @ 0xa8 │ │ │ │ │ + vmov.f64 d5, d11 │ │ │ │ │ + vldr d14, [sp, #176] @ 0xb0 │ │ │ │ │ + vsub.f64 d2, d3, d9 │ │ │ │ │ + vmls.f64 d5, d4, d8 │ │ │ │ │ + vldr d9, [sp, #192] @ 0xc0 │ │ │ │ │ + vadd.f64 d4, d11, d4 │ │ │ │ │ + vldr d11, [sp, #80] @ 0x50 │ │ │ │ │ + vsub.f64 d6, d12, d14 │ │ │ │ │ + vldr d12, [sp, #184] @ 0xb8 │ │ │ │ │ + vmov.f64 d14, d13 │ │ │ │ │ + vmul.f64 d3, d2, d10 │ │ │ │ │ + vldr d8, [sp, #272] @ 0x110 │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ + mov.w r5, #88 @ 0x58 │ │ │ │ │ vsub.f64 d4, d5, d7 │ │ │ │ │ - mul.w r8, r8, r4 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d5, [sp, #208] @ 0xd0 │ │ │ │ │ + vmla.f64 d3, d6, d13 │ │ │ │ │ + vmul.f64 d6, d6, d10 │ │ │ │ │ + vnmls.f64 d6, d2, d13 │ │ │ │ │ + vldr d13, [sp, #88] @ 0x58 │ │ │ │ │ vadd.f64 d2, d6, d4 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vadd.f64 d6, d3, d7 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vldr d3, [sp, #192] @ 0xc0 │ │ │ │ │ - vstr d2, [lr] │ │ │ │ │ - mov.w lr, #120 @ 0x78 │ │ │ │ │ - vsub.f64 d2, d3, d14 │ │ │ │ │ - vstr d4, [ip] │ │ │ │ │ - vstr d6, [r7] │ │ │ │ │ + vstr d2, [ip] │ │ │ │ │ + vsub.f64 d2, d12, d9 │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ + vsub.f64 d4, d11, d13 │ │ │ │ │ + vmov.f64 d11, d10 │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ + mul.w r6, r5, sl │ │ │ │ │ + mov.w r5, #152 @ 0x98 │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + add.w r4, r3, r0 │ │ │ │ │ + b.n 840 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x9b97f4a8 │ │ │ │ │ + .word 0x3fe1e377 │ │ │ │ │ + .word 0x04755a5e │ │ │ │ │ + .word 0x3fe2cf23 │ │ │ │ │ + .word 0x134454ff │ │ │ │ │ + .word 0x3fee6f0e │ │ │ │ │ + .word 0x0000080e │ │ │ │ │ + R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ + .word 0x00000000 │ │ │ │ │ + R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ + add r0, r2 │ │ │ │ │ + vldr d6, [sp, #328] @ 0x148 │ │ │ │ │ + mul.w r5, r5, sl │ │ │ │ │ + vmul.f64 d3, d2, d10 │ │ │ │ │ + ldr r7, [sp, #0] │ │ │ │ │ + vldr d7, [sp, #208] @ 0xd0 │ │ │ │ │ + vadd.f64 d5, d6, d5 │ │ │ │ │ + vnmls.f64 d3, d4, d14 │ │ │ │ │ + vmul.f64 d4, d4, d10 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + vldr d10, [sp, #200] @ 0xc8 │ │ │ │ │ + vsub.f64 d7, d7, d6 │ │ │ │ │ vmov.f64 d6, d8 │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ - vsub.f64 d7, d13, d5 │ │ │ │ │ - vldr d4, [sp, #96] @ 0x60 │ │ │ │ │ - vadd.f64 d5, d5, d13 │ │ │ │ │ - vldr d13, [sp, #104] @ 0x68 │ │ │ │ │ - vmul.f64 d3, d2, d15 │ │ │ │ │ - mul.w lr, lr, r4 │ │ │ │ │ - mov.w ip, #88 @ 0x58 │ │ │ │ │ - vmul.f64 d7, d7, d1 │ │ │ │ │ - movs r7, #152 @ 0x98 │ │ │ │ │ - vsub.f64 d4, d4, d13 │ │ │ │ │ + vmla.f64 d4, d2, d14 │ │ │ │ │ + vsub.f64 d15, d10, d15 │ │ │ │ │ vmls.f64 d6, d5, d0 │ │ │ │ │ + vmul.f64 d7, d7, d1 │ │ │ │ │ vadd.f64 d5, d8, d5 │ │ │ │ │ - add.w r6, r3, lr │ │ │ │ │ - mul.w ip, ip, r4 │ │ │ │ │ - add lr, r2 │ │ │ │ │ - mul.w r7, r4, r7 │ │ │ │ │ - vnmls.f64 d3, d4, d12 │ │ │ │ │ - vmul.f64 d4, d4, d15 │ │ │ │ │ - vmla.f64 d4, d2, d12 │ │ │ │ │ - vstr d5, [r6] │ │ │ │ │ - add.w r6, r3, ip │ │ │ │ │ - add ip, r2 │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ + add.w r4, r3, r6 │ │ │ │ │ + add r6, r2 │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vsub.f64 d2, d5, d4 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ + vldr d5, [sp, #112] @ 0x70 │ │ │ │ │ vsub.f64 d7, d6, d3 │ │ │ │ │ - vldr d5, [sp, #360] @ 0x168 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ - vstr d2, [r6] │ │ │ │ │ - adds r6, r3, r7 │ │ │ │ │ + vstr d2, [r4] │ │ │ │ │ + add.w r4, r3, r5 │ │ │ │ │ + add r5, r2 │ │ │ │ │ + vldr d2, [sp, #256] @ 0x100 │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ + add.w r4, r3, r7 │ │ │ │ │ add r7, r2 │ │ │ │ │ - vstr d4, [r6] │ │ │ │ │ - add.w r6, r3, r8 │ │ │ │ │ - vldr d4, [sp, #136] @ 0x88 │ │ │ │ │ - add r8, r2 │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ - mul.w r6, sl, r4 │ │ │ │ │ - vldr d7, [sp, #304] @ 0x130 │ │ │ │ │ - vsub.f64 d4, d10, d4 │ │ │ │ │ - add.w r9, r3, r6 │ │ │ │ │ - add r6, r2 │ │ │ │ │ - vsub.f64 d6, d5, d7 │ │ │ │ │ - b.n 890 │ │ │ │ │ - nop │ │ │ │ │ - nop.w │ │ │ │ │ - .word 0x04755a5e │ │ │ │ │ - .word 0x3fe2cf23 │ │ │ │ │ - .word 0x9b97f4a8 │ │ │ │ │ - .word 0x3fe1e377 │ │ │ │ │ - vadd.f64 d5, d7, d5 │ │ │ │ │ - vstr d3, [r9] │ │ │ │ │ + vldr d4, [sp, #360] @ 0x168 │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + ldr r4, [sp, #216] @ 0xd8 │ │ │ │ │ + vldr d7, [sp, #312] @ 0x138 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + add.w ip, r3, r4 │ │ │ │ │ + add r4, r2 │ │ │ │ │ + vsub.f64 d6, d4, d7 │ │ │ │ │ + vadd.f64 d4, d7, d4 │ │ │ │ │ + vstr d3, [ip] │ │ │ │ │ + vmov.f64 d7, d2 │ │ │ │ │ + vldr d3, [sp, #120] @ 0x78 │ │ │ │ │ + vmls.f64 d7, d4, d0 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ - vldr d1, [sp, #240] @ 0xf0 │ │ │ │ │ - vmov.f64 d7, d1 │ │ │ │ │ - vmls.f64 d7, d5, d0 │ │ │ │ │ - vldr d0, [sp, #208] @ 0xd0 │ │ │ │ │ - vadd.f64 d5, d1, d5 │ │ │ │ │ - vsub.f64 d2, d0, d11 │ │ │ │ │ - vstr d5, [lr] │ │ │ │ │ - vmul.f64 d3, d2, d15 │ │ │ │ │ - vadd.f64 d5, d6, d7 │ │ │ │ │ + vadd.f64 d4, d2, d4 │ │ │ │ │ + vsub.f64 d5, d5, d3 │ │ │ │ │ + vmul.f64 d3, d15, d11 │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ + vnmls.f64 d3, d5, d14 │ │ │ │ │ + vmul.f64 d5, d5, d11 │ │ │ │ │ + vadd.f64 d4, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vnmls.f64 d3, d4, d12 │ │ │ │ │ - vmul.f64 d4, d4, d15 │ │ │ │ │ - vmla.f64 d4, d2, d12 │ │ │ │ │ + vmla.f64 d5, d15, d14 │ │ │ │ │ vadd.f64 d6, d3, d7 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vadd.f64 d2, d4, d5 │ │ │ │ │ - vsub.f64 d5, d5, d4 │ │ │ │ │ - vstr d2, [ip] │ │ │ │ │ - vstr d5, [r7] │ │ │ │ │ - vstr d6, [r8] │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ - ldr r6, [sp, #380] @ 0x17c │ │ │ │ │ - add r0, r6 │ │ │ │ │ - add r1, r6 │ │ │ │ │ - ldr r6, [sp, #384] @ 0x180 │ │ │ │ │ - add r2, r6 │ │ │ │ │ - add r3, r6 │ │ │ │ │ - ldr r6, [sp, #388] @ 0x184 │ │ │ │ │ - eors r5, r6 │ │ │ │ │ - eors r4, r6 │ │ │ │ │ - ldr r6, [sp, #504] @ 0x1f8 │ │ │ │ │ - subs r6, #1 │ │ │ │ │ - str r6, [sp, #504] @ 0x1f8 │ │ │ │ │ - bne.w 38 │ │ │ │ │ - add sp, #396 @ 0x18c │ │ │ │ │ + vadd.f64 d2, d5, d4 │ │ │ │ │ + vsub.f64 d4, d4, d5 │ │ │ │ │ + vstr d2, [r6] │ │ │ │ │ + ldr r0, [sp, #372] @ 0x174 │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + add fp, r0 │ │ │ │ │ + add r1, r0 │ │ │ │ │ + ldr r0, [sp, #376] @ 0x178 │ │ │ │ │ + add r2, r0 │ │ │ │ │ + add r3, r0 │ │ │ │ │ + ldr r0, [sp, #380] @ 0x17c │ │ │ │ │ + eor.w r9, r9, r0 │ │ │ │ │ + eor.w sl, sl, r0 │ │ │ │ │ + ldr r0, [sp, #496] @ 0x1f0 │ │ │ │ │ + subs r0, #1 │ │ │ │ │ + str r0, [sp, #496] @ 0x1f0 │ │ │ │ │ + bne.w 4a │ │ │ │ │ + add sp, #388 @ 0x184 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000918 : │ │ │ │ │ +00000978 : │ │ │ │ │ fftw_codelet_n1_20(): │ │ │ │ │ - ldr r2, [pc, #8] @ (924 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (928 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (984 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (988 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── n1_25.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 4920 (bytes into file) │ │ │ │ │ + Start of section headers: 5024 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x1338: │ │ │ │ │ +There are 13 section headers, starting at offset 0x13a0: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 001024 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 001290 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 001058 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 001058 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 001058 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 00105e 000040 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 0012b8 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 00109e 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 00109e 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 0010d4 000140 10 11 15 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 001214 00007b 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 0012c8 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00108c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0012f8 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0010c0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0010c0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0010c0 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0010c6 000040 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 001320 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 001106 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 001106 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 00113c 000140 10 11 15 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 00127c 00007b 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 001330 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 20 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 4112 FUNC LOCAL DEFAULT 1 n1_25 │ │ │ │ │ + 1: 00000001 4216 FUNC LOCAL DEFAULT 1 n1_25 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000408 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000428 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000890 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000920 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00000fc8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 8: 00001010 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 9: 0000101c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000410 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000430 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000008a0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000930 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00001028 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 00001078 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 9: 00001084 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 12: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 13: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 14: 00000000 64 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 17: 00001011 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_25 │ │ │ │ │ + 17: 00001079 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_25 │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_register │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_n_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x1290 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x12f8 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000420 00000f19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000424 0000101a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -0000101c 00000c03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00001020 00000103 R_ARM_REL32 00000001 n1_25 │ │ │ │ │ -00001018 0000121e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ +00000428 00000f19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000042c 0000101a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00001084 00000c03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00001088 00000103 R_ARM_REL32 00000001 n1_25 │ │ │ │ │ +00001080 0000121e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x12b8 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x1320 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000a02 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00001302 R_ARM_ABS32 00000000 fftw_dft_n_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,598 +1,591 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ n1_25(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r5, r2 │ │ │ │ │ - mov r7, r3 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov sl, r3 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub sp, #452 @ 0x1c4 │ │ │ │ │ - ldr.w r3, [pc, #1040] @ 420 │ │ │ │ │ - ldr r2, [sp, #560] @ 0x230 │ │ │ │ │ + sub sp, #444 @ 0x1bc │ │ │ │ │ + ldrd fp, r4, [sp, #548] @ 0x224 │ │ │ │ │ + ldr.w r3, [pc, #1028] @ 428 │ │ │ │ │ + cmp r4, #0 │ │ │ │ │ add r3, pc │ │ │ │ │ - ldrd r6, r9, [sp, #552] @ 0x228 │ │ │ │ │ - cmp r2, #0 │ │ │ │ │ - ble.w fbe │ │ │ │ │ - ldr r2, [sp, #564] @ 0x234 │ │ │ │ │ - mov sl, r0 │ │ │ │ │ - mov fp, r1 │ │ │ │ │ - vldr d13, [pc, #992] @ 408 │ │ │ │ │ - vldr d15, [pc, #996] @ 410 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ - str r2, [sp, #436] @ 0x1b4 │ │ │ │ │ - ldr r2, [sp, #568] @ 0x238 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ - str r2, [sp, #440] @ 0x1b8 │ │ │ │ │ - ldr r2, [pc, #1000] @ (424 ) │ │ │ │ │ - ldr r3, [r3, r2] │ │ │ │ │ + ble.w 1006 │ │ │ │ │ + ldr r4, [sp, #556] @ 0x22c │ │ │ │ │ + vldr d13, [pc, #992] @ 410 │ │ │ │ │ + vldr d15, [pc, #996] @ 418 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + str r4, [sp, #428] @ 0x1ac │ │ │ │ │ + ldr r4, [sp, #560] @ 0x230 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + str r4, [sp, #432] @ 0x1b0 │ │ │ │ │ + ldr r4, [pc, #996] @ (42c ) │ │ │ │ │ + ldr r3, [r3, r4] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - str r3, [sp, #444] @ 0x1bc │ │ │ │ │ - movs r3, #40 @ 0x28 │ │ │ │ │ - movs r0, #80 @ 0x50 │ │ │ │ │ - vldr d6, [sl] │ │ │ │ │ + str r3, [sp, #436] @ 0x1b4 │ │ │ │ │ + ldr r3, [sp, #544] @ 0x220 │ │ │ │ │ + add.w r5, r3, r3, lsl #2 │ │ │ │ │ vmov.f64 d12, #80 @ 0x3e800000 0.250 │ │ │ │ │ mov.w r8, #168 @ 0xa8 │ │ │ │ │ - mov.w ip, #192 @ 0xc0 │ │ │ │ │ - mul.w r3, r3, r6 │ │ │ │ │ - mov.w lr, #112 @ 0x70 │ │ │ │ │ - add.w r2, sl, r3 │ │ │ │ │ - vldr d3, [r2] │ │ │ │ │ - movs r2, #160 @ 0xa0 │ │ │ │ │ - mul.w r1, r2, r6 │ │ │ │ │ - add.w r2, sl, r1 │ │ │ │ │ - add r1, fp │ │ │ │ │ - vldr d1, [r2] │ │ │ │ │ - mul.w r2, r0, r6 │ │ │ │ │ - add.w r0, sl, r2 │ │ │ │ │ - add r2, fp │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + mov.w r4, r5, lsl #3 │ │ │ │ │ + mul.w ip, r8, r3 │ │ │ │ │ + add.w r6, r0, r4 │ │ │ │ │ + vldr d3, [r6] │ │ │ │ │ + mov.w r6, r5, lsl #5 │ │ │ │ │ + mov.w r5, r5, lsl #4 │ │ │ │ │ + add.w r7, r0, r6 │ │ │ │ │ + add r6, r1 │ │ │ │ │ + vldr d1, [r7] │ │ │ │ │ + add.w r7, r0, r5 │ │ │ │ │ + add r5, r1 │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + add r7, r4 │ │ │ │ │ + vldr d0, [r7] │ │ │ │ │ + add.w r7, r1, r4 │ │ │ │ │ vadd.f64 d7, d3, d1 │ │ │ │ │ vsub.f64 d3, d3, d1 │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ - add r0, r3 │ │ │ │ │ - vldr d0, [r0] │ │ │ │ │ - add.w r0, fp, r3 │ │ │ │ │ vadd.f64 d2, d4, d0 │ │ │ │ │ vsub.f64 d4, d4, d0 │ │ │ │ │ - vldr d0, [pc, #888] @ 418 │ │ │ │ │ + vldr d0, [pc, #888] @ 420 │ │ │ │ │ vadd.f64 d5, d7, d2 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ vadd.f64 d1, d6, d5 │ │ │ │ │ vmls.f64 d6, d5, d12 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ - vstr d1, [sp, #376] @ 0x178 │ │ │ │ │ + vstr d1, [sp, #368] @ 0x170 │ │ │ │ │ vmul.f64 d1, d3, d15 │ │ │ │ │ + vadd.f64 d5, d7, d6 │ │ │ │ │ + vsub.f64 d11, d6, d7 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ vnmls.f64 d1, d4, d13 │ │ │ │ │ vmul.f64 d4, d4, d15 │ │ │ │ │ vmla.f64 d4, d3, d13 │ │ │ │ │ - vadd.f64 d5, d7, d6 │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ - vsub.f64 d11, d6, d7 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - vstr d5, [sp, #16] │ │ │ │ │ + vldr d3, [r6] │ │ │ │ │ + mov.w r6, r3, lsl #3 │ │ │ │ │ + vstr d1, [sp, #8] │ │ │ │ │ vadd.f64 d7, d6, d3 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ - vldr d5, [fp] │ │ │ │ │ - vstr d1, [sp] │ │ │ │ │ - vstr d4, [sp, #8] │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - add r2, r3 │ │ │ │ │ - vstr d11, [sp, #24] │ │ │ │ │ - vldr d1, [r2] │ │ │ │ │ - lsls r2, r6, #3 │ │ │ │ │ - add.w r1, sl, r2 │ │ │ │ │ - add r2, fp │ │ │ │ │ + vstr d4, [sp, #16] │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ + add r5, r4 │ │ │ │ │ + vstr d5, [sp, #24] │ │ │ │ │ + vldr d1, [r5] │ │ │ │ │ + add.w r5, r0, r6 │ │ │ │ │ + vstr d11, [sp, #32] │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ vadd.f64 d2, d4, d1 │ │ │ │ │ vsub.f64 d4, d4, d1 │ │ │ │ │ - vldr d11, [r2] │ │ │ │ │ - lsls r2, r6, #5 │ │ │ │ │ vadd.f64 d3, d7, d2 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ vmul.f64 d1, d4, d15 │ │ │ │ │ - vstr d11, [sp, #72] @ 0x48 │ │ │ │ │ vadd.f64 d9, d5, d3 │ │ │ │ │ vmls.f64 d5, d3, d12 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ vmov.f64 d8, d1 │ │ │ │ │ + vmov.f64 d1, d0 │ │ │ │ │ vmla.f64 d8, d6, d13 │ │ │ │ │ vmul.f64 d6, d6, d15 │ │ │ │ │ - vmov.f64 d1, d0 │ │ │ │ │ - vstr d9, [sp, #384] @ 0x180 │ │ │ │ │ - vnmls.f64 d6, d4, d13 │ │ │ │ │ vadd.f64 d14, d7, d5 │ │ │ │ │ vsub.f64 d7, d5, d7 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - add.w r1, sl, r2 │ │ │ │ │ - add r2, fp │ │ │ │ │ - vstr d8, [sp, #32] │ │ │ │ │ - vstr d14, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d14, [r1] │ │ │ │ │ - movs r1, #48 @ 0x30 │ │ │ │ │ - vstr d7, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - mul.w r0, r1, r6 │ │ │ │ │ - vstr d5, [sp, #64] @ 0x40 │ │ │ │ │ - mul.w r1, r8, r6 │ │ │ │ │ - vstr d6, [sp, #40] @ 0x28 │ │ │ │ │ - add.w r2, sl, r0 │ │ │ │ │ - vstr d7, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + add.w r5, r1, r6 │ │ │ │ │ + vnmls.f64 d6, d4, d13 │ │ │ │ │ + vldr d11, [r5] │ │ │ │ │ + mov.w r5, r3, lsl #5 │ │ │ │ │ + add.w r7, r0, r5 │ │ │ │ │ + add r5, r1 │ │ │ │ │ + vstr d5, [sp] │ │ │ │ │ + vstr d7, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, r3, r3, lsl #1 │ │ │ │ │ + vstr d14, [sp, #56] @ 0x38 │ │ │ │ │ + mov.w lr, r5, lsl #4 │ │ │ │ │ + vldr d14, [r7] │ │ │ │ │ + vstr d8, [sp, #40] @ 0x28 │ │ │ │ │ + add.w r7, r0, lr │ │ │ │ │ + vstr d6, [sp, #48] @ 0x30 │ │ │ │ │ + add lr, r1 │ │ │ │ │ + vstr d11, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + add.w r7, r0, ip │ │ │ │ │ + add ip, r1 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + mov.w r7, #88 @ 0x58 │ │ │ │ │ vstr d14, [sp, #80] @ 0x50 │ │ │ │ │ - add r0, fp │ │ │ │ │ - mov.w r8, #176 @ 0xb0 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - add.w r2, sl, r1 │ │ │ │ │ - add r1, fp │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - movs r2, #88 @ 0x58 │ │ │ │ │ - mul.w r2, r2, r6 │ │ │ │ │ + mul.w r7, r7, r3 │ │ │ │ │ + vstr d7, [sp, #88] @ 0x58 │ │ │ │ │ + vstr d9, [sp, #376] @ 0x178 │ │ │ │ │ + add.w r9, r0, r7 │ │ │ │ │ + add r7, r1 │ │ │ │ │ vadd.f64 d7, d5, d6 │ │ │ │ │ vsub.f64 d9, d5, d6 │ │ │ │ │ - add.w r4, sl, r2 │ │ │ │ │ - add r2, fp │ │ │ │ │ - vldr d2, [r4] │ │ │ │ │ - add r4, r3 │ │ │ │ │ - vldr d3, [r4] │ │ │ │ │ + vldr d2, [r9] │ │ │ │ │ + add r9, r4 │ │ │ │ │ + vldr d3, [r9] │ │ │ │ │ vadd.f64 d4, d2, d3 │ │ │ │ │ vsub.f64 d0, d2, d3 │ │ │ │ │ vadd.f64 d14, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ vstr d0, [sp, #208] @ 0xd0 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - add r2, r3 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ - vmul.f64 d8, d7, d1 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + add r7, r4 │ │ │ │ │ vstr d9, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - vstr d8, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d2, [lr] │ │ │ │ │ + mov.w lr, r5, lsl #6 │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + vmul.f64 d8, d7, d1 │ │ │ │ │ vadd.f64 d6, d5, d4 │ │ │ │ │ - vldr d8, [r1] │ │ │ │ │ - movs r1, #72 @ 0x48 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ + vstr d8, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d8, [ip] │ │ │ │ │ + add.w ip, r6, r3 │ │ │ │ │ + sub.w r6, r6, r3 │ │ │ │ │ + mov.w ip, ip, lsl #3 │ │ │ │ │ + add.w r7, r0, ip │ │ │ │ │ + add ip, r1 │ │ │ │ │ vadd.f64 d7, d2, d8 │ │ │ │ │ - mul.w r0, r1, r6 │ │ │ │ │ - mul.w r1, ip, r6 │ │ │ │ │ vsub.f64 d8, d2, d8 │ │ │ │ │ - add.w r2, sl, r0 │ │ │ │ │ vmov.f64 d2, d1 │ │ │ │ │ - add r0, fp │ │ │ │ │ - mov.w ip, #96 @ 0x60 │ │ │ │ │ vadd.f64 d10, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - add.w r2, sl, r1 │ │ │ │ │ - add r1, fp │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + add.w r7, r0, lr │ │ │ │ │ + add lr, r1 │ │ │ │ │ + vldr d0, [lr] │ │ │ │ │ vmul.f64 d4, d7, d1 │ │ │ │ │ vstr d10, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d0, [r1] │ │ │ │ │ vstr d4, [sp, #224] @ 0xe0 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - mul.w r2, lr, r6 │ │ │ │ │ - mov.w lr, r6, lsl #6 │ │ │ │ │ - add.w r4, sl, r2 │ │ │ │ │ - add r2, fp │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + mov.w r7, r6, lsl #4 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + add.w r9, r0, r7 │ │ │ │ │ + add r7, r1 │ │ │ │ │ + vldr d1, [r9] │ │ │ │ │ + add r9, r4 │ │ │ │ │ + vldr d9, [r9] │ │ │ │ │ vadd.f64 d7, d6, d4 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ - vldr d1, [r4] │ │ │ │ │ - add r4, r3 │ │ │ │ │ - vldr d9, [r4] │ │ │ │ │ + mov.w r9, #104 @ 0x68 │ │ │ │ │ vadd.f64 d3, d1, d9 │ │ │ │ │ vsub.f64 d9, d1, d9 │ │ │ │ │ vadd.f64 d11, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ vmul.f64 d10, d7, d2 │ │ │ │ │ - vldr d2, [r2] │ │ │ │ │ - add r2, r3 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - movs r0, #24 │ │ │ │ │ - vldr d1, [r2] │ │ │ │ │ + vldr d2, [r7] │ │ │ │ │ + add r7, r4 │ │ │ │ │ + vldr d7, [ip] │ │ │ │ │ + vldr d1, [r7] │ │ │ │ │ + mov.w r7, r3, lsl #4 │ │ │ │ │ + add.w ip, r0, r7 │ │ │ │ │ + add r7, r1 │ │ │ │ │ vadd.f64 d4, d7, d0 │ │ │ │ │ vsub.f64 d7, d7, d0 │ │ │ │ │ - lsls r2, r6, #4 │ │ │ │ │ - add.w r1, sl, r2 │ │ │ │ │ - add r2, fp │ │ │ │ │ vadd.f64 d3, d2, d1 │ │ │ │ │ vsub.f64 d2, d2, d1 │ │ │ │ │ - vldr d1, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d1, [sp] │ │ │ │ │ vadd.f64 d0, d4, d3 │ │ │ │ │ vsub.f64 d4, d4, d3 │ │ │ │ │ - vldr d3, [pc, #368] @ 418 │ │ │ │ │ + vldr d3, [pc, #360] @ 420 │ │ │ │ │ vadd.f64 d1, d1, d14 │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ vldr d3, [sp, #80] @ 0x50 │ │ │ │ │ vstr d1, [sp, #104] @ 0x68 │ │ │ │ │ vadd.f64 d3, d3, d11 │ │ │ │ │ vadd.f64 d1, d1, d3 │ │ │ │ │ vstr d3, [sp, #112] @ 0x70 │ │ │ │ │ vldr d3, [sp, #96] @ 0x60 │ │ │ │ │ - vstr d1, [sp, #392] @ 0x188 │ │ │ │ │ + vstr d1, [sp, #384] @ 0x180 │ │ │ │ │ vldr d1, [sp, #72] @ 0x48 │ │ │ │ │ vadd.f64 d3, d1, d3 │ │ │ │ │ vldr d1, [sp, #88] @ 0x58 │ │ │ │ │ vadd.f64 d1, d1, d0 │ │ │ │ │ vstr d3, [sp, #120] @ 0x78 │ │ │ │ │ vadd.f64 d3, d3, d1 │ │ │ │ │ vstr d1, [sp, #128] @ 0x80 │ │ │ │ │ vmul.f64 d1, d5, d15 │ │ │ │ │ vmla.f64 d1, d8, d13 │ │ │ │ │ - vstr d3, [sp, #400] @ 0x190 │ │ │ │ │ + vstr d3, [sp, #392] @ 0x188 │ │ │ │ │ vmul.f64 d3, d8, d15 │ │ │ │ │ vnmls.f64 d3, d5, d13 │ │ │ │ │ - vldr d5, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d5, [sp] │ │ │ │ │ vmls.f64 d5, d14, d12 │ │ │ │ │ vldr d14, [sp, #136] @ 0x88 │ │ │ │ │ vadd.f64 d8, d14, d5 │ │ │ │ │ vsub.f64 d5, d5, d14 │ │ │ │ │ vadd.f64 d14, d1, d8 │ │ │ │ │ vsub.f64 d8, d8, d1 │ │ │ │ │ - vstr d14, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d14, [sp] │ │ │ │ │ vadd.f64 d14, d3, d5 │ │ │ │ │ vstr d8, [sp, #144] @ 0x90 │ │ │ │ │ vsub.f64 d8, d5, d3 │ │ │ │ │ vmul.f64 d5, d9, d15 │ │ │ │ │ + vstr d14, [sp, #136] @ 0x88 │ │ │ │ │ vmla.f64 d5, d6, d13 │ │ │ │ │ vmul.f64 d6, d6, d15 │ │ │ │ │ - vstr d14, [sp, #136] @ 0x88 │ │ │ │ │ vstr d8, [sp, #152] @ 0x98 │ │ │ │ │ vldr d14, [sp, #88] @ 0x58 │ │ │ │ │ - vmls.f64 d14, d0, d12 │ │ │ │ │ - vnmls.f64 d6, d9, d13 │ │ │ │ │ vldr d8, [sp, #216] @ 0xd8 │ │ │ │ │ + vnmls.f64 d6, d9, d13 │ │ │ │ │ + vmls.f64 d14, d0, d12 │ │ │ │ │ vldr d0, [sp, #208] @ 0xd0 │ │ │ │ │ vadd.f64 d1, d4, d14 │ │ │ │ │ vsub.f64 d3, d14, d4 │ │ │ │ │ - vldr d14, [r1] │ │ │ │ │ + vldr d14, [ip] │ │ │ │ │ vsub.f64 d4, d1, d5 │ │ │ │ │ vsub.f64 d9, d3, d6 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ vstr d4, [sp, #88] @ 0x58 │ │ │ │ │ vadd.f64 d4, d5, d1 │ │ │ │ │ vldr d5, [sp, #80] @ 0x50 │ │ │ │ │ - vmls.f64 d5, d11, d12 │ │ │ │ │ + vstr d9, [sp, #160] @ 0xa0 │ │ │ │ │ vstr d6, [sp, #176] @ 0xb0 │ │ │ │ │ vmul.f64 d6, d2, d15 │ │ │ │ │ - vstr d9, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d4, [sp, #168] @ 0xa8 │ │ │ │ │ + vmls.f64 d5, d11, d12 │ │ │ │ │ vmla.f64 d6, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ - vstr d4, [sp, #168] @ 0xa8 │ │ │ │ │ vnmls.f64 d7, d2, d13 │ │ │ │ │ vadd.f64 d4, d10, d5 │ │ │ │ │ vsub.f64 d5, d5, d10 │ │ │ │ │ vsub.f64 d10, d4, d6 │ │ │ │ │ - vadd.f64 d11, d6, d4 │ │ │ │ │ - vmul.f64 d6, d8, d15 │ │ │ │ │ vadd.f64 d2, d7, d5 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ + vadd.f64 d11, d6, d4 │ │ │ │ │ + vmul.f64 d6, d8, d15 │ │ │ │ │ vmul.f64 d7, d0, d15 │ │ │ │ │ vstr d10, [sp, #192] @ 0xc0 │ │ │ │ │ + vnmls.f64 d6, d0, d13 │ │ │ │ │ vmla.f64 d7, d8, d13 │ │ │ │ │ vldr d10, [sp, #96] @ 0x60 │ │ │ │ │ - vnmls.f64 d6, d0, d13 │ │ │ │ │ + vstr d11, [sp, #80] @ 0x50 │ │ │ │ │ vstr d5, [sp, #200] @ 0xc8 │ │ │ │ │ vldr d5, [sp, #72] @ 0x48 │ │ │ │ │ - vmls.f64 d5, d10, d12 │ │ │ │ │ - vldr d0, [sp, #224] @ 0xe0 │ │ │ │ │ - vstr d11, [sp, #80] @ 0x50 │ │ │ │ │ vstr d2, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d0, [sp, #224] @ 0xe0 │ │ │ │ │ + vmls.f64 d5, d10, d12 │ │ │ │ │ vadd.f64 d4, d0, d5 │ │ │ │ │ vsub.f64 d5, d5, d0 │ │ │ │ │ vsub.f64 d9, d5, d6 │ │ │ │ │ vadd.f64 d5, d6, d5 │ │ │ │ │ vsub.f64 d8, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ vstr d5, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - mul.w r2, r0, r6 │ │ │ │ │ - vstr d7, [sp, #208] @ 0xd0 │ │ │ │ │ - b.n 428 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + b.n 430 │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ - .word 0x00000408 │ │ │ │ │ + .word 0x000003fe │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - mul.w r0, r0, r9 │ │ │ │ │ - add.w r1, sl, r2 │ │ │ │ │ - add r2, fp │ │ │ │ │ - vstr d5, [sp, #232] @ 0xe8 │ │ │ │ │ + mov.w r7, r5, lsl #3 │ │ │ │ │ + mov.w r5, r5, lsl #5 │ │ │ │ │ vstr d8, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - movs r2, #56 @ 0x38 │ │ │ │ │ - vldr d11, [r1] │ │ │ │ │ - mul.w r1, r8, r6 │ │ │ │ │ + add.w ip, r0, r7 │ │ │ │ │ + add r7, r1 │ │ │ │ │ + vstr d7, [sp, #208] @ 0xd0 │ │ │ │ │ vstr d9, [sp, #96] @ 0x60 │ │ │ │ │ - mul.w r4, r2, r6 │ │ │ │ │ - vstr d7, [sp, #248] @ 0xf8 │ │ │ │ │ - vstr d11, [sp, #240] @ 0xf0 │ │ │ │ │ - add.w r2, sl, r4 │ │ │ │ │ - add r4, fp │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - add.w r2, sl, r1 │ │ │ │ │ - add r1, fp │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - mul.w r2, ip, r6 │ │ │ │ │ - add.w ip, sl, r2 │ │ │ │ │ - add r2, fp │ │ │ │ │ - vadd.f64 d7, d5, d6 │ │ │ │ │ - vsub.f64 d6, d5, d6 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + add.w r7, r0, r6 │ │ │ │ │ + add r6, r1 │ │ │ │ │ + vldr d11, [ip] │ │ │ │ │ + mov.w ip, #176 @ 0xb0 │ │ │ │ │ + vstr d5, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + mul.w r7, ip, r3 │ │ │ │ │ + add.w ip, r0, r7 │ │ │ │ │ + add r7, r1 │ │ │ │ │ + vstr d7, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + add.w ip, r0, r5 │ │ │ │ │ + add r5, r1 │ │ │ │ │ + vstr d11, [sp, #232] @ 0xe8 │ │ │ │ │ vldr d2, [ip] │ │ │ │ │ - add ip, r3 │ │ │ │ │ + add ip, r4 │ │ │ │ │ vldr d3, [ip] │ │ │ │ │ + vadd.f64 d7, d5, d6 │ │ │ │ │ + vsub.f64 d6, d5, d6 │ │ │ │ │ vadd.f64 d4, d2, d3 │ │ │ │ │ vadd.f64 d10, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vstr d10, [sp, #256] @ 0x100 │ │ │ │ │ + vstr d10, [sp, #248] @ 0xf8 │ │ │ │ │ vsub.f64 d10, d2, d3 │ │ │ │ │ - vldr d3, [pc, #1008] @ 890 │ │ │ │ │ + vldr d3, [pc, #1016] @ 8a0 │ │ │ │ │ + vstr d10, [sp, #360] @ 0x168 │ │ │ │ │ vmul.f64 d2, d7, d3 │ │ │ │ │ - vstr d10, [sp, #368] @ 0x170 │ │ │ │ │ - vmov.f64 d11, d3 │ │ │ │ │ - vstr d2, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - add r2, r3 │ │ │ │ │ - vldr d2, [r4] │ │ │ │ │ - vldr d8, [r1] │ │ │ │ │ - movs r1, #184 @ 0xb8 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - add.w r2, sl, lr │ │ │ │ │ - vstr d6, [sp, #408] @ 0x198 │ │ │ │ │ - add lr, fp │ │ │ │ │ + vstr d2, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ + add r5, r4 │ │ │ │ │ + vstr d6, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d2, [r6] │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + vldr d8, [r7] │ │ │ │ │ + mov.w r7, r3, lsl #6 │ │ │ │ │ + add.w r5, r0, r7 │ │ │ │ │ + add r7, r1 │ │ │ │ │ + vadd.f64 d6, d4, d5 │ │ │ │ │ + vsub.f64 d11, d4, d5 │ │ │ │ │ vadd.f64 d7, d2, d8 │ │ │ │ │ - mul.w ip, r1, r6 │ │ │ │ │ - vadd.f64 d6, d5, d4 │ │ │ │ │ - vsub.f64 d5, d5, d4 │ │ │ │ │ vsub.f64 d8, d2, d8 │ │ │ │ │ - vstr d14, [sp, #224] @ 0xe0 │ │ │ │ │ - mul.w r1, r1, r9 │ │ │ │ │ + vstr d11, [sp, #304] @ 0x130 │ │ │ │ │ vadd.f64 d9, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - add.w r2, sl, ip │ │ │ │ │ - add ip, fp │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + mov.w r5, #184 @ 0xb8 │ │ │ │ │ + mul.w r6, r5, r3 │ │ │ │ │ + add.w r5, r0, r6 │ │ │ │ │ vmul.f64 d4, d7, d3 │ │ │ │ │ - vstr d9, [sp, #264] @ 0x108 │ │ │ │ │ - vldr d0, [ip] │ │ │ │ │ - vstr d4, [sp, #416] @ 0x1a0 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - movs r2, #104 @ 0x68 │ │ │ │ │ - mul.w r4, r2, r6 │ │ │ │ │ - vadd.f64 d7, d6, d4 │ │ │ │ │ - vsub.f64 d6, d6, d4 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - add.w r8, sl, r4 │ │ │ │ │ - add r4, fp │ │ │ │ │ - vldr d1, [r8] │ │ │ │ │ - add r8, r3 │ │ │ │ │ - vldr d9, [r8] │ │ │ │ │ - vadd.f64 d3, d1, d9 │ │ │ │ │ - vsub.f64 d9, d1, d9 │ │ │ │ │ - vadd.f64 d2, d7, d3 │ │ │ │ │ - vsub.f64 d7, d7, d3 │ │ │ │ │ - vstr d2, [sp, #272] @ 0x110 │ │ │ │ │ - vmul.f64 d10, d7, d11 │ │ │ │ │ - vldr d2, [r4] │ │ │ │ │ - add r4, r3 │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ - vldr d1, [r4] │ │ │ │ │ - movs r4, #80 @ 0x50 │ │ │ │ │ - vadd.f64 d4, d7, d0 │ │ │ │ │ - vsub.f64 d7, d7, d0 │ │ │ │ │ - vadd.f64 d3, d2, d1 │ │ │ │ │ - vsub.f64 d2, d2, d1 │ │ │ │ │ - vldr d1, [sp, #248] @ 0xf8 │ │ │ │ │ - mul.w r3, r4, r9 │ │ │ │ │ - adds r4, r5, r3 │ │ │ │ │ - vadd.f64 d0, d4, d3 │ │ │ │ │ - vsub.f64 d4, d4, d3 │ │ │ │ │ + vstr d9, [sp, #256] @ 0x100 │ │ │ │ │ + add r6, r1 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + mul.w r5, r9, r3 │ │ │ │ │ + vldr d1, [r6] │ │ │ │ │ + add.w ip, r0, r5 │ │ │ │ │ + add r5, r1 │ │ │ │ │ + vstr d4, [sp, #408] @ 0x198 │ │ │ │ │ + vldr d2, [ip] │ │ │ │ │ + add ip, r4 │ │ │ │ │ + vadd.f64 d7, d6, d5 │ │ │ │ │ + vsub.f64 d6, d6, d5 │ │ │ │ │ + vldr d9, [ip] │ │ │ │ │ + vadd.f64 d4, d2, d9 │ │ │ │ │ + vsub.f64 d9, d2, d9 │ │ │ │ │ + vldr d2, [r5] │ │ │ │ │ + add r5, r4 │ │ │ │ │ + add.w r4, fp, fp, lsl #2 │ │ │ │ │ + mov.w r6, r4, lsl #4 │ │ │ │ │ + vadd.f64 d11, d7, d4 │ │ │ │ │ + vsub.f64 d7, d7, d4 │ │ │ │ │ + vmul.f64 d10, d7, d3 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + vstr d11, [sp, #264] @ 0x108 │ │ │ │ │ + vmov.f64 d11, d3 │ │ │ │ │ + vldr d3, [r5] │ │ │ │ │ + add.w r5, r2, r6 │ │ │ │ │ + vadd.f64 d4, d7, d1 │ │ │ │ │ + vsub.f64 d7, d7, d1 │ │ │ │ │ + vadd.f64 d5, d2, d3 │ │ │ │ │ + vsub.f64 d3, d2, d3 │ │ │ │ │ + vadd.f64 d0, d4, d5 │ │ │ │ │ + vsub.f64 d4, d4, d5 │ │ │ │ │ + vstr d3, [sp, #344] @ 0x158 │ │ │ │ │ + vmov.f64 d5, d14 │ │ │ │ │ vldr d3, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d14, [sp, #248] @ 0xf8 │ │ │ │ │ vmul.f64 d4, d4, d11 │ │ │ │ │ - vldr d11, [sp, #256] @ 0x100 │ │ │ │ │ - vadd.f64 d14, d14, d11 │ │ │ │ │ - vldr d11, [sp, #272] @ 0x110 │ │ │ │ │ - vadd.f64 d11, d3, d11 │ │ │ │ │ - vldr d3, [sp, #232] @ 0xe8 │ │ │ │ │ - vstr d14, [sp, #280] @ 0x118 │ │ │ │ │ - vstr d11, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d11, [sp, #264] @ 0x108 │ │ │ │ │ + vadd.f64 d14, d5, d14 │ │ │ │ │ + vmov.f64 d2, d14 │ │ │ │ │ + vldr d14, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d2, [sp, #272] @ 0x110 │ │ │ │ │ vadd.f64 d11, d14, d11 │ │ │ │ │ - vldr d14, [sp, #264] @ 0x108 │ │ │ │ │ - vadd.f64 d14, d3, d14 │ │ │ │ │ - vadd.f64 d3, d1, d0 │ │ │ │ │ - vadd.f64 d1, d14, d3 │ │ │ │ │ - vstr d3, [sp, #304] @ 0x130 │ │ │ │ │ - vmul.f64 d3, d8, d15 │ │ │ │ │ - vstr d14, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d14, [sp, #312] @ 0x138 │ │ │ │ │ - vstr d1, [sp, #424] @ 0x1a8 │ │ │ │ │ - vmul.f64 d1, d5, d15 │ │ │ │ │ + vldr d14, [sp, #224] @ 0xe0 │ │ │ │ │ + vstr d11, [sp, #280] @ 0x118 │ │ │ │ │ + vadd.f64 d11, d2, d11 │ │ │ │ │ + vldr d2, [sp, #256] @ 0x100 │ │ │ │ │ + vadd.f64 d14, d14, d2 │ │ │ │ │ + vldr d2, [sp, #304] @ 0x130 │ │ │ │ │ + vmov.f64 d1, d14 │ │ │ │ │ + vadd.f64 d14, d3, d0 │ │ │ │ │ + vstr d1, [sp, #288] @ 0x120 │ │ │ │ │ + vadd.f64 d3, d1, d14 │ │ │ │ │ + vmul.f64 d1, d2, d15 │ │ │ │ │ vmla.f64 d1, d8, d13 │ │ │ │ │ - vldr d8, [sp, #256] @ 0x100 │ │ │ │ │ - vnmls.f64 d3, d5, d13 │ │ │ │ │ - vldr d5, [sp, #224] @ 0xe0 │ │ │ │ │ + vstr d3, [sp, #416] @ 0x1a0 │ │ │ │ │ + vmul.f64 d3, d8, d15 │ │ │ │ │ + vldr d8, [sp, #248] @ 0xf8 │ │ │ │ │ + vnmls.f64 d3, d2, d13 │ │ │ │ │ + vldr d2, [sp, #296] @ 0x128 │ │ │ │ │ vmls.f64 d5, d8, d12 │ │ │ │ │ - vadd.f64 d8, d14, d5 │ │ │ │ │ - vsub.f64 d5, d5, d14 │ │ │ │ │ - vadd.f64 d14, d1, d8 │ │ │ │ │ + vadd.f64 d8, d2, d5 │ │ │ │ │ + vsub.f64 d5, d5, d2 │ │ │ │ │ + vadd.f64 d2, d1, d8 │ │ │ │ │ vsub.f64 d8, d8, d1 │ │ │ │ │ - vstr d14, [sp, #224] @ 0xe0 │ │ │ │ │ - vadd.f64 d14, d3, d5 │ │ │ │ │ + vstr d2, [sp, #248] @ 0xf8 │ │ │ │ │ + vadd.f64 d2, d3, d5 │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ - vstr d14, [sp, #256] @ 0x100 │ │ │ │ │ - vstr d5, [sp, #320] @ 0x140 │ │ │ │ │ + vstr d2, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d3, [sp, #240] @ 0xf0 │ │ │ │ │ + vstr d8, [sp, #304] @ 0x130 │ │ │ │ │ + vstr d5, [sp, #312] @ 0x138 │ │ │ │ │ vmul.f64 d5, d9, d15 │ │ │ │ │ + vldr d2, [sp, #400] @ 0x190 │ │ │ │ │ + vmls.f64 d3, d0, d12 │ │ │ │ │ + vldr d0, [sp, #384] @ 0x180 │ │ │ │ │ vmla.f64 d5, d6, d13 │ │ │ │ │ vmul.f64 d6, d6, d15 │ │ │ │ │ - vstr d8, [sp, #312] @ 0x138 │ │ │ │ │ vnmls.f64 d6, d9, d13 │ │ │ │ │ - vldr d9, [sp, #248] @ 0xf8 │ │ │ │ │ - vmls.f64 d9, d0, d12 │ │ │ │ │ - vldr d0, [sp, #392] @ 0x188 │ │ │ │ │ - vadd.f64 d1, d4, d9 │ │ │ │ │ - vsub.f64 d3, d9, d4 │ │ │ │ │ - vldr d9, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d9, [sp, #264] @ 0x108 │ │ │ │ │ + vadd.f64 d1, d4, d3 │ │ │ │ │ + vsub.f64 d3, d3, d4 │ │ │ │ │ vsub.f64 d4, d1, d5 │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ - vstr d4, [sp, #248] @ 0xf8 │ │ │ │ │ + vstr d4, [sp, #240] @ 0xf0 │ │ │ │ │ vsub.f64 d4, d3, d6 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ - vstr d5, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d5, [sp, #240] @ 0xf0 │ │ │ │ │ - vmls.f64 d5, d9, d12 │ │ │ │ │ - vldr d3, [sp, #304] @ 0x130 │ │ │ │ │ - vstr d4, [sp, #328] @ 0x148 │ │ │ │ │ - vstr d6, [sp, #344] @ 0x158 │ │ │ │ │ - vmul.f64 d6, d2, d15 │ │ │ │ │ + vstr d5, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d5, [sp, #344] @ 0x158 │ │ │ │ │ + vstr d4, [sp, #320] @ 0x140 │ │ │ │ │ + vstr d6, [sp, #336] @ 0x150 │ │ │ │ │ + vmul.f64 d6, d5, d15 │ │ │ │ │ vmla.f64 d6, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ - vnmls.f64 d7, d2, d13 │ │ │ │ │ + vnmls.f64 d7, d5, d13 │ │ │ │ │ + vldr d5, [sp, #232] @ 0xe8 │ │ │ │ │ + vmls.f64 d5, d9, d12 │ │ │ │ │ vadd.f64 d4, d10, d5 │ │ │ │ │ vsub.f64 d5, d5, d10 │ │ │ │ │ - vldr d10, [sp, #368] @ 0x170 │ │ │ │ │ - vadd.f64 d2, d6, d4 │ │ │ │ │ - vsub.f64 d8, d4, d6 │ │ │ │ │ - vldr d6, [sp, #232] @ 0xe8 │ │ │ │ │ - vadd.f64 d9, d7, d5 │ │ │ │ │ + vadd.f64 d10, d6, d4 │ │ │ │ │ + vadd.f64 d8, d7, d5 │ │ │ │ │ + vsub.f64 d6, d4, d6 │ │ │ │ │ vsub.f64 d7, d5, d7 │ │ │ │ │ - vstr d2, [sp, #240] @ 0xf0 │ │ │ │ │ + vstr d10, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d10, [sp, #360] @ 0x168 │ │ │ │ │ + vstr d8, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d6, [sp, #344] @ 0x158 │ │ │ │ │ + vmul.f64 d6, d2, d15 │ │ │ │ │ + vstr d7, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d7, [sp, #224] @ 0xe0 │ │ │ │ │ vmul.f64 d5, d10, d15 │ │ │ │ │ - vldr d2, [sp, #408] @ 0x198 │ │ │ │ │ - vstr d8, [sp, #352] @ 0x160 │ │ │ │ │ - vstr d7, [sp, #360] @ 0x168 │ │ │ │ │ - vmul.f64 d7, d2, d15 │ │ │ │ │ + vldr d8, [pc, #480] @ 8a0 │ │ │ │ │ + vnmls.f64 d6, d10, d13 │ │ │ │ │ + vldr d10, [sp, #408] @ 0x198 │ │ │ │ │ vmla.f64 d5, d2, d13 │ │ │ │ │ - vstr d9, [sp, #272] @ 0x110 │ │ │ │ │ - vldr d9, [sp, #128] @ 0x80 │ │ │ │ │ - vldr d8, [pc, #476] @ 890 │ │ │ │ │ - vnmls.f64 d7, d10, d13 │ │ │ │ │ - vldr d10, [sp, #264] @ 0x108 │ │ │ │ │ - vmls.f64 d6, d10, d12 │ │ │ │ │ - vldr d10, [sp, #416] @ 0x1a0 │ │ │ │ │ - vadd.f64 d4, d10, d6 │ │ │ │ │ - vsub.f64 d6, d6, d10 │ │ │ │ │ - vsub.f64 d2, d6, d7 │ │ │ │ │ - vadd.f64 d7, d7, d6 │ │ │ │ │ + vldr d2, [sp, #256] @ 0x100 │ │ │ │ │ + vmls.f64 d7, d2, d12 │ │ │ │ │ + vldr d2, [sp, #368] @ 0x170 │ │ │ │ │ + vadd.f64 d4, d10, d7 │ │ │ │ │ + vsub.f64 d7, d7, d10 │ │ │ │ │ + vsub.f64 d9, d7, d6 │ │ │ │ │ vsub.f64 d10, d4, d5 │ │ │ │ │ - vsub.f64 d6, d0, d11 │ │ │ │ │ + vadd.f64 d7, d6, d7 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ + vsub.f64 d6, d0, d11 │ │ │ │ │ vadd.f64 d4, d0, d11 │ │ │ │ │ vldr d0, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d7, [sp, #368] @ 0x170 │ │ │ │ │ - vstr d2, [sp, #232] @ 0xe8 │ │ │ │ │ - vmul.f64 d6, d6, d8 │ │ │ │ │ - vsub.f64 d7, d0, d9 │ │ │ │ │ - vldr d9, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d2, [sp, #376] @ 0x178 │ │ │ │ │ - vstr d5, [sp, #264] @ 0x108 │ │ │ │ │ - vsub.f64 d14, d9, d3 │ │ │ │ │ + vstr d9, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d9, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d5, [sp, #256] @ 0x100 │ │ │ │ │ vmov.f64 d5, d2 │ │ │ │ │ + vmul.f64 d6, d6, d8 │ │ │ │ │ + vstr d7, [sp, #360] @ 0x168 │ │ │ │ │ vmls.f64 d5, d4, d12 │ │ │ │ │ vadd.f64 d4, d2, d4 │ │ │ │ │ + vsub.f64 d7, d0, d9 │ │ │ │ │ + vldr d9, [sp, #288] @ 0x120 │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ + vsub.f64 d14, d9, d14 │ │ │ │ │ + vsub.f64 d4, d5, d6 │ │ │ │ │ + vadd.f64 d6, d6, d5 │ │ │ │ │ vmul.f64 d3, d14, d15 │ │ │ │ │ vmla.f64 d3, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ - vstr d4, [r5] │ │ │ │ │ vnmls.f64 d7, d14, d13 │ │ │ │ │ - vsub.f64 d4, d5, d6 │ │ │ │ │ - vadd.f64 d6, d6, d5 │ │ │ │ │ + vldr d14, [pc, #360] @ 8b0 │ │ │ │ │ vsub.f64 d2, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ - movs r4, #120 @ 0x78 │ │ │ │ │ - mul.w r4, r4, r9 │ │ │ │ │ - add.w ip, r5, r4 │ │ │ │ │ - add r4, r7 │ │ │ │ │ + vstr d2, [r5] │ │ │ │ │ + mov.w r5, fp, lsl #4 │ │ │ │ │ + sub.w r7, r5, fp │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + add.w ip, r2, r7 │ │ │ │ │ + add r7, sl │ │ │ │ │ vstr d7, [ip] │ │ │ │ │ - mov.w ip, #160 @ 0xa0 │ │ │ │ │ vsub.f64 d7, d6, d3 │ │ │ │ │ + mov.w ip, r4, lsl #5 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ - mul.w ip, ip, r9 │ │ │ │ │ - add.w lr, r5, ip │ │ │ │ │ - add ip, r7 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + add.w lr, r2, ip │ │ │ │ │ + add ip, sl │ │ │ │ │ vstr d7, [lr] │ │ │ │ │ - mov.w lr, #40 @ 0x28 │ │ │ │ │ - mul.w lr, lr, r9 │ │ │ │ │ - add.w r8, r5, lr │ │ │ │ │ - add lr, r7 │ │ │ │ │ - vstr d3, [r8] │ │ │ │ │ - add.w r8, r7, r3 │ │ │ │ │ - vldr d2, [sp, #400] @ 0x190 │ │ │ │ │ - vldr d9, [sp, #424] @ 0x1a8 │ │ │ │ │ + add.w lr, r2, r4 │ │ │ │ │ + add r4, sl │ │ │ │ │ + vstr d3, [lr] │ │ │ │ │ + add.w lr, sl, r6 │ │ │ │ │ + vldr d2, [sp, #392] @ 0x188 │ │ │ │ │ vldr d1, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d10, [sp, #104] @ 0x68 │ │ │ │ │ vldr d3, [sp, #112] @ 0x70 │ │ │ │ │ - vadd.f64 d4, d2, d9 │ │ │ │ │ - vsub.f64 d7, d2, d9 │ │ │ │ │ - vldr d2, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d0, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d9, [sp, #416] @ 0x1a0 │ │ │ │ │ vsub.f64 d6, d1, d3 │ │ │ │ │ vldr d1, [sp, #280] @ 0x118 │ │ │ │ │ - vldr d0, [sp, #384] @ 0x180 │ │ │ │ │ - vmul.f64 d7, d7, d8 │ │ │ │ │ - vldr d14, [sp, #224] @ 0xe0 │ │ │ │ │ - vsub.f64 d2, d1, d2 │ │ │ │ │ - vldr d1, [sp, #72] @ 0x48 │ │ │ │ │ vmov.f64 d5, d0 │ │ │ │ │ - vstr d10, [sp, #104] @ 0x68 │ │ │ │ │ + vadd.f64 d4, d2, d9 │ │ │ │ │ + vsub.f64 d7, d2, d9 │ │ │ │ │ + vldr d2, [sp, #272] @ 0x110 │ │ │ │ │ + vsub.f64 d2, d2, d1 │ │ │ │ │ vmls.f64 d5, d4, d12 │ │ │ │ │ + vldr d1, [sp, #72] @ 0x48 │ │ │ │ │ + vmul.f64 d7, d7, d8 │ │ │ │ │ vadd.f64 d4, d0, d4 │ │ │ │ │ - vldr d0, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d0, [sp] │ │ │ │ │ vmul.f64 d3, d2, d15 │ │ │ │ │ + vstr d4, [sl] │ │ │ │ │ + vsub.f64 d4, d5, d7 │ │ │ │ │ + vadd.f64 d7, d7, d5 │ │ │ │ │ + vldr d5, [sp, #24] │ │ │ │ │ vmla.f64 d3, d6, d13 │ │ │ │ │ vmul.f64 d6, d6, d15 │ │ │ │ │ - vstr d4, [r7] │ │ │ │ │ vnmls.f64 d6, d2, d13 │ │ │ │ │ - vsub.f64 d4, d5, d7 │ │ │ │ │ - vadd.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [sp, #16] │ │ │ │ │ vadd.f64 d2, d6, d4 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vsub.f64 d6, d7, d3 │ │ │ │ │ vadd.f64 d3, d3, d7 │ │ │ │ │ - vldr d7, [sp, #32] │ │ │ │ │ - vstr d2, [r8] │ │ │ │ │ - mov.w r8, #168 @ 0xa8 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - mov.w r4, r9, lsl #3 │ │ │ │ │ - vstr d6, [lr] │ │ │ │ │ + vldr d7, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d2, [lr] │ │ │ │ │ + vldr d2, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ + vldr d4, [sp, #16] │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ vadd.f64 d6, d5, d7 │ │ │ │ │ + mov.w r4, fp, lsl #3 │ │ │ │ │ vstr d3, [ip] │ │ │ │ │ - add.w ip, r5, r4 │ │ │ │ │ - vldr d3, [pc, #136] @ 8a8 │ │ │ │ │ - add r4, r7 │ │ │ │ │ - vldr d2, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d4, [sp, #8] │ │ │ │ │ - vmul.f64 d5, d1, d3 │ │ │ │ │ - vldr d1, [pc, #112] @ 8a0 │ │ │ │ │ - vldr d7, [pc, #188] @ 8f0 │ │ │ │ │ + mul.w ip, r8, fp │ │ │ │ │ + vldr d3, [pc, #128] @ 8b8 │ │ │ │ │ + add.w r7, r2, r4 │ │ │ │ │ + add.w r8, fp, fp, lsl #1 │ │ │ │ │ + vldr d7, [pc, #204] @ 910 │ │ │ │ │ + mov.w lr, r8, lsl #4 │ │ │ │ │ vsub.f64 d11, d2, d4 │ │ │ │ │ vldr d2, [sp, #88] @ 0x58 │ │ │ │ │ - vmla.f64 d5, d0, d1 │ │ │ │ │ - vldr d4, [pc, #204] @ 910 │ │ │ │ │ + vmul.f64 d5, d1, d3 │ │ │ │ │ vldr d1, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d4, [pc, #140] @ 8e8 │ │ │ │ │ vmul.f64 d7, d2, d7 │ │ │ │ │ - vldr d2, [pc, #168] @ 8f8 │ │ │ │ │ + vldr d2, [pc, #180] @ 918 │ │ │ │ │ + vmla.f64 d5, d0, d14 │ │ │ │ │ + vmov.f64 d14, d10 │ │ │ │ │ + vldr d10, [sp, #240] @ 0xf0 │ │ │ │ │ vmla.f64 d7, d1, d4 │ │ │ │ │ - vldr d1, [pc, #144] @ 8e8 │ │ │ │ │ - vmul.f64 d0, d10, d2 │ │ │ │ │ - vldr d10, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d1, [pc, #144] @ 908 │ │ │ │ │ + vmul.f64 d0, d14, d2 │ │ │ │ │ + vldr d14, [sp, #248] @ 0xf8 │ │ │ │ │ vmla.f64 d0, d14, d1 │ │ │ │ │ - vldr d14, [pc, #72] @ 8b0 │ │ │ │ │ - vldr d1, [pc, #44] @ 898 │ │ │ │ │ - vmul.f64 d4, d10, d14 │ │ │ │ │ - vldr d10, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d14, [pc, #56] @ 8c0 │ │ │ │ │ + vldr d1, [pc, #28] @ 8a8 │ │ │ │ │ vadd.f64 d3, d5, d7 │ │ │ │ │ vsub.f64 d9, d5, d7 │ │ │ │ │ - vmla.f64 d4, d10, d1 │ │ │ │ │ - vldr d7, [pc, #108] @ 8f0 │ │ │ │ │ vldr d5, [sp, #72] @ 0x48 │ │ │ │ │ - vadd.f64 d2, d0, d4 │ │ │ │ │ - b.n 920 │ │ │ │ │ + b.n 930 │ │ │ │ │ + nop │ │ │ │ │ + nop.w │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ .word 0x03d2b816 │ │ │ │ │ .word 0x3fe753b6 │ │ │ │ │ .word 0x1d101ee0 │ │ │ │ │ .word 0x3feefea2 │ │ │ │ │ .word 0xfa1c0796 │ │ │ │ │ @@ -603,506 +596,520 @@ │ │ │ │ │ .word 0x3fefbf67 │ │ │ │ │ .word 0x5da15be0 │ │ │ │ │ .word 0x3fc00aeb │ │ │ │ │ .word 0x635b6bea │ │ │ │ │ .word 0x3fe8a80b │ │ │ │ │ .word 0xfeb501bc │ │ │ │ │ .word 0x3fe465c6 │ │ │ │ │ + .word 0x3c182b51 │ │ │ │ │ + .word 0x3fe1257e │ │ │ │ │ + .word 0xbfe443fe │ │ │ │ │ + .word 0x3fefefd5 │ │ │ │ │ .word 0x1be09379 │ │ │ │ │ .word 0x3fb0130a │ │ │ │ │ .word 0xc925819c │ │ │ │ │ .word 0x3fdb3ff7 │ │ │ │ │ .word 0x4e81c059 │ │ │ │ │ .word 0x3fec0ab4 │ │ │ │ │ .word 0xff642e86 │ │ │ │ │ .word 0x3feb04bb │ │ │ │ │ .word 0x5cbfa951 │ │ │ │ │ .word 0x3fded50d │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ .word 0xdcdc158c │ │ │ │ │ .word 0x3fecf457 │ │ │ │ │ - .word 0x3c182b51 │ │ │ │ │ - .word 0x3fe1257e │ │ │ │ │ - .word 0xbfe443fe │ │ │ │ │ - .word 0x3fefefd5 │ │ │ │ │ + vmul.f64 d4, d10, d14 │ │ │ │ │ + vldr d10, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d7, [pc, #-44] @ 910 │ │ │ │ │ + vmla.f64 d4, d10, d1 │ │ │ │ │ + vadd.f64 d2, d0, d4 │ │ │ │ │ vsub.f64 d10, d0, d4 │ │ │ │ │ - vldr d0, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d4, [pc, #-140] @ 8a0 │ │ │ │ │ + vldr d0, [sp] │ │ │ │ │ + vldr d4, [pc, #-160] @ 8b0 │ │ │ │ │ vadd.f64 d14, d3, d2 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ - vldr d2, [pc, #-64] @ 8f8 │ │ │ │ │ + vldr d2, [pc, #-68] @ 918 │ │ │ │ │ vmul.f64 d3, d3, d8 │ │ │ │ │ - vldr d8, [pc, #-152] @ 8a8 │ │ │ │ │ + vldr d8, [pc, #-172] @ 8b8 │ │ │ │ │ vmul.f64 d8, d0, d8 │ │ │ │ │ vldr d0, [sp, #80] @ 0x50 │ │ │ │ │ + vnmls.f64 d8, d5, d4 │ │ │ │ │ + vldr d4, [pc, #-140] @ 8e8 │ │ │ │ │ vmul.f64 d7, d0, d7 │ │ │ │ │ vldr d0, [sp, #88] @ 0x58 │ │ │ │ │ - vnmls.f64 d8, d5, d4 │ │ │ │ │ - vldr d4, [pc, #-72] @ 910 │ │ │ │ │ - vldr d5, [pc, #-116] @ 8e8 │ │ │ │ │ + vldr d5, [pc, #-120] @ 908 │ │ │ │ │ vnmls.f64 d7, d0, d4 │ │ │ │ │ - vldr d0, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d0, [sp, #248] @ 0xf8 │ │ │ │ │ vmul.f64 d2, d0, d2 │ │ │ │ │ vldr d0, [sp, #104] @ 0x68 │ │ │ │ │ - vnmls.f64 d2, d0, d5 │ │ │ │ │ - vldr d0, [sp, #240] @ 0xf0 │ │ │ │ │ - vldr d5, [pc, #-200] @ 8b0 │ │ │ │ │ vadd.f64 d4, d8, d7 │ │ │ │ │ vsub.f64 d7, d8, d7 │ │ │ │ │ + vnmls.f64 d2, d0, d5 │ │ │ │ │ + vldr d0, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d5, [pc, #-228] @ 8c0 │ │ │ │ │ vmul.f64 d5, d0, d5 │ │ │ │ │ - vldr d0, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d0, [sp, #240] @ 0xf0 │ │ │ │ │ vnmls.f64 d5, d0, d1 │ │ │ │ │ vadd.f64 d0, d2, d5 │ │ │ │ │ vsub.f64 d5, d2, d5 │ │ │ │ │ vadd.f64 d2, d6, d14 │ │ │ │ │ vmls.f64 d6, d14, d12 │ │ │ │ │ - vldr d14, [pc, #-240] @ 8b0 │ │ │ │ │ + vldr d14, [pc, #-260] @ 8c0 │ │ │ │ │ vadd.f64 d8, d4, d0 │ │ │ │ │ vsub.f64 d4, d4, d0 │ │ │ │ │ - vstr d2, [ip] │ │ │ │ │ - mul.w ip, r8, r9 │ │ │ │ │ - vldr d0, [pc, #-180] @ 900 │ │ │ │ │ + vldr d0, [pc, #-176] @ 920 │ │ │ │ │ + vstr d2, [r7] │ │ │ │ │ + add.w r7, sl, r4 │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ vadd.f64 d2, d11, d8 │ │ │ │ │ vmls.f64 d11, d8, d12 │ │ │ │ │ vmul.f64 d4, d4, d0 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ + vstr d2, [r7] │ │ │ │ │ vmul.f64 d2, d5, d15 │ │ │ │ │ + add.w r7, r2, ip │ │ │ │ │ + add ip, sl │ │ │ │ │ vmla.f64 d2, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ - add.w r4, r5, ip │ │ │ │ │ - add ip, r7 │ │ │ │ │ vnmls.f64 d7, d5, d13 │ │ │ │ │ vadd.f64 d5, d3, d6 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ vsub.f64 d3, d5, d2 │ │ │ │ │ vadd.f64 d2, d2, d5 │ │ │ │ │ vadd.f64 d5, d4, d11 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ + vstr d3, [r7] │ │ │ │ │ vadd.f64 d3, d7, d6 │ │ │ │ │ - add.w r4, r5, r9, lsl #7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vmul.f64 d7, d10, d15 │ │ │ │ │ + add.w r7, r2, fp, lsl #7 │ │ │ │ │ vmla.f64 d7, d9, d13 │ │ │ │ │ vmul.f64 d9, d9, d15 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ - movs r4, #48 @ 0x30 │ │ │ │ │ - vldr d3, [sp] │ │ │ │ │ - mul.w lr, r4, r9 │ │ │ │ │ + vstr d3, [r7] │ │ │ │ │ + add.w r7, r2, lr │ │ │ │ │ + add lr, sl │ │ │ │ │ + vldr d3, [sp, #8] │ │ │ │ │ + vstr d2, [r7] │ │ │ │ │ + mov.w r7, #88 @ 0x58 │ │ │ │ │ + vldr d2, [sp, #296] @ 0x128 │ │ │ │ │ + mul.w r7, r7, fp │ │ │ │ │ vnmls.f64 d9, d10, d13 │ │ │ │ │ - vldr d10, [sp, #40] @ 0x28 │ │ │ │ │ - add.w r4, r5, lr │ │ │ │ │ - add lr, r7 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ - movs r4, #88 @ 0x58 │ │ │ │ │ - vldr d2, [sp, #232] @ 0xe8 │ │ │ │ │ - mul.w r4, r4, r9 │ │ │ │ │ - add.w r8, r5, r4 │ │ │ │ │ - add r4, r7 │ │ │ │ │ - vstr d6, [r8] │ │ │ │ │ + vldr d10, [sp, #48] @ 0x30 │ │ │ │ │ + add.w r4, r2, r7 │ │ │ │ │ + add r7, sl │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ vsub.f64 d6, d11, d4 │ │ │ │ │ vsub.f64 d4, d5, d7 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ + vldr d11, [sp, #32] │ │ │ │ │ + mov.w r4, #184 @ 0xb8 │ │ │ │ │ vldr d5, [sp, #184] @ 0xb8 │ │ │ │ │ - mov.w r8, #176 @ 0xb0 │ │ │ │ │ - vldr d11, [sp, #24] │ │ │ │ │ vstr d4, [lr] │ │ │ │ │ vsub.f64 d4, d6, d9 │ │ │ │ │ vadd.f64 d9, d9, d6 │ │ │ │ │ - add lr, r3 │ │ │ │ │ - vldr d6, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d6, [sp, #64] @ 0x40 │ │ │ │ │ + add lr, r6 │ │ │ │ │ vadd.f64 d11, d11, d10 │ │ │ │ │ vldr d10, [sp, #160] @ 0xa0 │ │ │ │ │ vstr d4, [lr] │ │ │ │ │ - mov.w lr, #112 @ 0x70 │ │ │ │ │ vstr d7, [ip] │ │ │ │ │ - mov.w ip, #192 @ 0xc0 │ │ │ │ │ - vstr d9, [r4] │ │ │ │ │ + vstr d9, [r7] │ │ │ │ │ vsub.f64 d9, d6, d3 │ │ │ │ │ + mov.w r7, r8, lsl #3 │ │ │ │ │ vldr d3, [sp, #96] @ 0x60 │ │ │ │ │ - adds r4, r5, r0 │ │ │ │ │ - vldr d4, [pc, #-376] @ 918 │ │ │ │ │ - add r0, r7 │ │ │ │ │ - vldr d7, [sp, #136] @ 0x88 │ │ │ │ │ + vstr d11, [sp, #72] @ 0x48 │ │ │ │ │ + add.w ip, r2, r7 │ │ │ │ │ + add r7, sl │ │ │ │ │ + vldr d4, [pc, #-456] @ 8f0 │ │ │ │ │ + vldr d11, [sp, #224] @ 0xe0 │ │ │ │ │ vmul.f64 d6, d3, d14 │ │ │ │ │ - vldr d3, [pc, #-488] @ 8b8 │ │ │ │ │ - vmul.f64 d4, d2, d4 │ │ │ │ │ - vldr d2, [sp, #256] @ 0x100 │ │ │ │ │ - vstr d11, [sp, #64] @ 0x40 │ │ │ │ │ - vmla.f64 d6, d7, d1 │ │ │ │ │ - vmul.f64 d5, d5, d3 │ │ │ │ │ + vldr d3, [pc, #-508] @ 8c8 │ │ │ │ │ + vldr d7, [sp, #136] @ 0x88 │ │ │ │ │ + vmul.f64 d4, d11, d4 │ │ │ │ │ + vldr d11, [pc, #-496] @ 8e0 │ │ │ │ │ vmov.f64 d8, d3 │ │ │ │ │ - vldr d3, [pc, #-508] @ 8c0 │ │ │ │ │ - vldr d11, [pc, #-496] @ 8d0 │ │ │ │ │ + vmul.f64 d5, d5, d3 │ │ │ │ │ + vldr d3, [pc, #-524] @ 8d0 │ │ │ │ │ + vmla.f64 d6, d7, d1 │ │ │ │ │ vnmls.f64 d5, d10, d3 │ │ │ │ │ - vldr d10, [pc, #-496] @ 8d8 │ │ │ │ │ + vldr d10, [pc, #-496] @ 8f8 │ │ │ │ │ vmla.f64 d4, d2, d10 │ │ │ │ │ - vldr d2, [sp, #272] @ 0x110 │ │ │ │ │ - vldr d10, [pc, #-524] @ 8c8 │ │ │ │ │ - vmul.f64 d7, d2, d11 │ │ │ │ │ - vldr d2, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d2, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d10, [pc, #-540] @ 8d8 │ │ │ │ │ vadd.f64 d3, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [pc, #-552] @ 8c0 │ │ │ │ │ - vnmls.f64 d7, d2, d10 │ │ │ │ │ + vldr d5, [pc, #-560] @ 8d0 │ │ │ │ │ + vmul.f64 d7, d2, d11 │ │ │ │ │ + vldr d11, [sp, #320] @ 0x140 │ │ │ │ │ + vnmls.f64 d7, d11, d10 │ │ │ │ │ vadd.f64 d2, d4, d7 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ vldr d7, [sp, #136] @ 0x88 │ │ │ │ │ vadd.f64 d11, d3, d2 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ vmul.f64 d10, d3, d0 │ │ │ │ │ - vmul.f64 d3, d7, d14 │ │ │ │ │ - vldr d7, [sp, #160] @ 0xa0 │ │ │ │ │ + vmov.f64 d3, d14 │ │ │ │ │ vldr d14, [sp, #96] @ 0x60 │ │ │ │ │ vldr d0, [sp, #184] @ 0xb8 │ │ │ │ │ - vmul.f64 d7, d7, d8 │ │ │ │ │ + vmul.f64 d3, d7, d3 │ │ │ │ │ + vldr d7, [sp, #160] @ 0xa0 │ │ │ │ │ vnmls.f64 d3, d14, d1 │ │ │ │ │ - vldr d1, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d1, [sp, #296] @ 0x128 │ │ │ │ │ + vmul.f64 d7, d7, d8 │ │ │ │ │ + vldr d14, [pc, #-592] @ 8f8 │ │ │ │ │ vmla.f64 d7, d0, d5 │ │ │ │ │ - vldr d5, [pc, #-528] @ 918 │ │ │ │ │ - vldr d14, [pc, #-596] @ 8d8 │ │ │ │ │ - vldr d0, [pc, #-616] @ 8c8 │ │ │ │ │ + vldr d5, [pc, #-608] @ 8f0 │ │ │ │ │ + vldr d0, [pc, #-636] @ 8d8 │ │ │ │ │ vmul.f64 d5, d1, d5 │ │ │ │ │ - vldr d1, [sp, #232] @ 0xe8 │ │ │ │ │ - vnmls.f64 d5, d1, d14 │ │ │ │ │ - vldr d14, [sp, #328] @ 0x148 │ │ │ │ │ - vldr d1, [pc, #-628] @ 8d0 │ │ │ │ │ + vldr d1, [sp, #224] @ 0xe0 │ │ │ │ │ vsub.f64 d8, d3, d7 │ │ │ │ │ vadd.f64 d7, d3, d7 │ │ │ │ │ + vnmls.f64 d5, d1, d14 │ │ │ │ │ + vldr d14, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d1, [pc, #-656] @ 8e0 │ │ │ │ │ vmul.f64 d2, d14, d1 │ │ │ │ │ - vldr d1, [sp, #272] @ 0x110 │ │ │ │ │ - vldr d14, [pc, #-600] @ 900 │ │ │ │ │ + vldr d1, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d14, [pc, #-604] @ 920 │ │ │ │ │ vmla.f64 d2, d1, d0 │ │ │ │ │ vsub.f64 d1, d5, d2 │ │ │ │ │ vadd.f64 d5, d5, d2 │ │ │ │ │ vsub.f64 d0, d8, d1 │ │ │ │ │ vadd.f64 d1, d8, d1 │ │ │ │ │ - vldr d8, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d8, [sp, #72] @ 0x48 │ │ │ │ │ vadd.f64 d3, d8, d11 │ │ │ │ │ vmul.f64 d0, d0, d14 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ + vstr d3, [ip] │ │ │ │ │ vadd.f64 d3, d9, d1 │ │ │ │ │ vmls.f64 d9, d1, d12 │ │ │ │ │ - vstr d3, [r0] │ │ │ │ │ + mov.w ip, fp, lsl #6 │ │ │ │ │ + vstr d3, [r7] │ │ │ │ │ vmul.f64 d3, d4, d15 │ │ │ │ │ + add.w r7, sl, ip │ │ │ │ │ + add ip, r2 │ │ │ │ │ + vadd.f64 d2, d0, d9 │ │ │ │ │ vmla.f64 d3, d6, d13 │ │ │ │ │ vmul.f64 d6, d6, d15 │ │ │ │ │ - mov.w r0, r9, lsl #6 │ │ │ │ │ - adds r4, r7, r0 │ │ │ │ │ - add r0, r5 │ │ │ │ │ - vadd.f64 d2, d0, d9 │ │ │ │ │ vnmls.f64 d6, d4, d13 │ │ │ │ │ vsub.f64 d4, d9, d0 │ │ │ │ │ - vldr d9, [sp, #368] @ 0x170 │ │ │ │ │ + vldr d9, [sp, #360] @ 0x168 │ │ │ │ │ vsub.f64 d1, d2, d3 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ - vldr d2, [pc, #-704] @ 8f8 │ │ │ │ │ - vstr d1, [r4] │ │ │ │ │ + vldr d2, [pc, #-708] @ 918 │ │ │ │ │ + vstr d1, [r7] │ │ │ │ │ vsub.f64 d1, d4, d6 │ │ │ │ │ - add r4, r3 │ │ │ │ │ + add r7, r6 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vstr d1, [r4] │ │ │ │ │ - adds r4, r7, r1 │ │ │ │ │ - add r1, r5 │ │ │ │ │ - vldr d1, [pc, #-744] @ 8e8 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ - adds r4, r7, r2 │ │ │ │ │ - add r2, r5 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ + vstr d1, [r7] │ │ │ │ │ + mul.w r7, r4, fp │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ + add.w lr, sl, r7 │ │ │ │ │ + add r7, r2 │ │ │ │ │ + vldr d1, [pc, #-760] @ 908 │ │ │ │ │ + vstr d3, [lr] │ │ │ │ │ + mul.w lr, r9, fp │ │ │ │ │ + add.w r9, sl, lr │ │ │ │ │ + add lr, r2 │ │ │ │ │ + vstr d6, [r9] │ │ │ │ │ vmul.f64 d6, d5, d15 │ │ │ │ │ vmla.f64 d6, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ vnmls.f64 d7, d5, d13 │ │ │ │ │ vmov.f64 d5, d8 │ │ │ │ │ + vldr d8, [pc, #-792] @ 910 │ │ │ │ │ vmls.f64 d5, d11, d12 │ │ │ │ │ - vldr d11, [sp, #24] │ │ │ │ │ - vldr d8, [pc, #-780] @ 8f0 │ │ │ │ │ + vldr d11, [sp, #32] │ │ │ │ │ vmul.f64 d0, d9, d8 │ │ │ │ │ - vldr d9, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d9, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d8, [sp, #352] @ 0x160 │ │ │ │ │ vadd.f64 d4, d10, d5 │ │ │ │ │ vsub.f64 d5, d5, d10 │ │ │ │ │ - vldr d10, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d10, [sp, #48] @ 0x30 │ │ │ │ │ vsub.f64 d3, d4, d6 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vldr d4, [pc, #-780] @ 910 │ │ │ │ │ - vstr d3, [r1] │ │ │ │ │ - movs r1, #144 @ 0x90 │ │ │ │ │ + vldr d4, [pc, #-876] @ 8e8 │ │ │ │ │ + vstr d3, [r7] │ │ │ │ │ vadd.f64 d3, d7, d5 │ │ │ │ │ + add.w r7, r4, fp │ │ │ │ │ + add.w r9, r2, r7, lsl #4 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ vmla.f64 d0, d9, d4 │ │ │ │ │ - vldr d4, [pc, #-796] @ 918 │ │ │ │ │ - mla r1, r1, r9, r5 │ │ │ │ │ - vldr d9, [pc, #-868] @ 8d8 │ │ │ │ │ - vstr d3, [r1] │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ + vldr d4, [pc, #-896] @ 8f0 │ │ │ │ │ + sub.w r4, r4, fp │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + vldr d9, [pc, #-900] @ 8f8 │ │ │ │ │ + vstr d3, [r9] │ │ │ │ │ + vldr d3, [sp, #8] │ │ │ │ │ + vstr d6, [ip] │ │ │ │ │ vsub.f64 d6, d11, d10 │ │ │ │ │ - vldr d3, [sp] │ │ │ │ │ - vldr d10, [sp, #56] @ 0x38 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - mov.w r2, r9, lsl #4 │ │ │ │ │ - adds r1, r5, r2 │ │ │ │ │ - add r2, r7 │ │ │ │ │ + add.w ip, r2, r5 │ │ │ │ │ + vldr d10, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d5, [lr] │ │ │ │ │ vadd.f64 d11, d3, d10 │ │ │ │ │ - vldr d3, [sp, #216] @ 0xd8 │ │ │ │ │ vldr d10, [sp, #176] @ 0xb0 │ │ │ │ │ + vldr d3, [sp, #216] @ 0xd8 │ │ │ │ │ vmul.f64 d5, d3, d2 │ │ │ │ │ vldr d3, [sp, #152] @ 0x98 │ │ │ │ │ vmla.f64 d5, d3, d1 │ │ │ │ │ - vldr d1, [pc, #-920] @ 8e0 │ │ │ │ │ vldr d3, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d1, [pc, #-952] @ 900 │ │ │ │ │ vmul.f64 d7, d3, d1 │ │ │ │ │ - vldr d3, [pc, #-892] @ 908 │ │ │ │ │ + vldr d3, [pc, #-920] @ 928 │ │ │ │ │ vnmls.f64 d7, d10, d3 │ │ │ │ │ - vldr d10, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d10, [sp, #336] @ 0x150 │ │ │ │ │ vmul.f64 d4, d10, d4 │ │ │ │ │ - vldr d10, [sp, #360] @ 0x168 │ │ │ │ │ - vmla.f64 d4, d10, d9 │ │ │ │ │ vadd.f64 d3, d5, d7 │ │ │ │ │ + vmla.f64 d4, d8, d9 │ │ │ │ │ vsub.f64 d9, d5, d7 │ │ │ │ │ - vldr d7, [pc, #-956] @ 8e8 │ │ │ │ │ - vldr d5, [pc, #-952] @ 8f0 │ │ │ │ │ + vldr d7, [pc, #-980] @ 908 │ │ │ │ │ + vldr d5, [pc, #-976] @ 910 │ │ │ │ │ vadd.f64 d2, d0, d4 │ │ │ │ │ vsub.f64 d10, d0, d4 │ │ │ │ │ vldr d0, [sp, #152] @ 0x98 │ │ │ │ │ vadd.f64 d14, d3, d2 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ - vldr d2, [pc, #-968] @ 8f8 │ │ │ │ │ + vldr d2, [pc, #-992] @ 918 │ │ │ │ │ vmul.f64 d8, d0, d2 │ │ │ │ │ - vldr d2, [sp, #216] @ 0xd8 │ │ │ │ │ vldr d0, [sp, #200] @ 0xc8 │ │ │ │ │ vstr d14, [sp] │ │ │ │ │ - vldr d14, [pc, #-980] @ 900 │ │ │ │ │ + vldr d2, [sp, #216] @ 0xd8 │ │ │ │ │ + vldr d14, [pc, #-1004] @ 920 │ │ │ │ │ vnmls.f64 d8, d2, d7 │ │ │ │ │ vldr d7, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d2, [pc, #-984] @ 908 │ │ │ │ │ + vldr d2, [pc, #-1008] @ 928 │ │ │ │ │ vmul.f64 d3, d3, d14 │ │ │ │ │ - vldr d14, [sp, #360] @ 0x168 │ │ │ │ │ + vldr d14, [sp, #352] @ 0x160 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vmla.f64 d7, d0, d2 │ │ │ │ │ - vldr d0, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d0, [sp, #312] @ 0x138 │ │ │ │ │ vmul.f64 d2, d0, d5 │ │ │ │ │ - vldr d0, [sp, #368] @ 0x170 │ │ │ │ │ - vldr d5, [pc, #-1008] @ 910 │ │ │ │ │ - vnmls.f64 d2, d0, d5 │ │ │ │ │ - vldr d5, [pc, #-1008] @ 918 │ │ │ │ │ - vldr d0, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d0, [sp, #360] @ 0x168 │ │ │ │ │ + vldr d5, [pc, #752] @ 1028 │ │ │ │ │ vsub.f64 d4, d8, d7 │ │ │ │ │ vadd.f64 d7, d8, d7 │ │ │ │ │ + vnmls.f64 d2, d0, d5 │ │ │ │ │ + vldr d5, [pc, #744] @ 1030 │ │ │ │ │ + vldr d0, [sp, #336] @ 0x150 │ │ │ │ │ vmul.f64 d5, d14, d5 │ │ │ │ │ - vldr d14, [pc, #684] @ fc8 │ │ │ │ │ + vldr d14, [pc, #740] @ 1038 │ │ │ │ │ vnmls.f64 d5, d0, d14 │ │ │ │ │ vldr d14, [sp] │ │ │ │ │ vadd.f64 d0, d2, d5 │ │ │ │ │ vsub.f64 d5, d2, d5 │ │ │ │ │ vadd.f64 d2, d6, d14 │ │ │ │ │ vmls.f64 d6, d14, d12 │ │ │ │ │ vadd.f64 d8, d4, d0 │ │ │ │ │ vsub.f64 d4, d4, d0 │ │ │ │ │ - vstr d2, [r1] │ │ │ │ │ - mul.w r1, r8, r9 │ │ │ │ │ - vldr d0, [pc, #648] @ fd0 │ │ │ │ │ + vldr d0, [pc, #712] @ 1040 │ │ │ │ │ + vstr d2, [ip] │ │ │ │ │ + add.w ip, sl, r5 │ │ │ │ │ + add r5, fp │ │ │ │ │ + add.w r5, r2, r5, lsl #3 │ │ │ │ │ + vldr d14, [sp, #24] │ │ │ │ │ vadd.f64 d2, d11, d8 │ │ │ │ │ vmls.f64 d11, d8, d12 │ │ │ │ │ + vldr d8, [pc, #688] @ 1048 │ │ │ │ │ vmul.f64 d4, d4, d0 │ │ │ │ │ - vldr d8, [pc, #640] @ fd8 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ + vstr d2, [ip] │ │ │ │ │ vmul.f64 d2, d5, d15 │ │ │ │ │ + mov.w ip, #176 @ 0xb0 │ │ │ │ │ + mul.w ip, ip, fp │ │ │ │ │ vmla.f64 d2, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ - adds r2, r5, r1 │ │ │ │ │ - add r1, r7 │ │ │ │ │ + add.w lr, r2, ip │ │ │ │ │ + add ip, sl │ │ │ │ │ vnmls.f64 d7, d5, d13 │ │ │ │ │ vadd.f64 d5, d3, d6 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ vsub.f64 d3, d5, d2 │ │ │ │ │ vadd.f64 d2, d2, d5 │ │ │ │ │ vadd.f64 d5, d4, d11 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - movs r2, #136 @ 0x88 │ │ │ │ │ + vstr d3, [lr] │ │ │ │ │ vadd.f64 d3, d7, d6 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vmul.f64 d7, d10, d15 │ │ │ │ │ - vldr d14, [sp, #16] │ │ │ │ │ - mla r2, r2, r9, r5 │ │ │ │ │ vmla.f64 d7, d9, d13 │ │ │ │ │ vmul.f64 d9, d9, d15 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - movs r2, #56 @ 0x38 │ │ │ │ │ - vnmls.f64 d9, d10, d13 │ │ │ │ │ + vstr d3, [r5] │ │ │ │ │ + mov.w r5, r4, lsl #3 │ │ │ │ │ vldr d3, [sp, #208] @ 0xd0 │ │ │ │ │ + add.w r4, r2, r4, lsl #4 │ │ │ │ │ + add.w lr, r2, r5 │ │ │ │ │ + add r5, sl │ │ │ │ │ + vnmls.f64 d9, d10, d13 │ │ │ │ │ + vstr d2, [lr] │ │ │ │ │ + mov.w lr, r8, lsl #5 │ │ │ │ │ vldr d10, [sp, #192] @ 0xc0 │ │ │ │ │ - mul.w r0, r2, r9 │ │ │ │ │ + add.w r8, r2, r8, lsl #6 │ │ │ │ │ + add.w r9, r2, lr │ │ │ │ │ + add lr, sl │ │ │ │ │ vmul.f64 d3, d3, d8 │ │ │ │ │ - adds r2, r5, r0 │ │ │ │ │ - add r0, r7 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - movs r2, #96 @ 0x60 │ │ │ │ │ - vldr d2, [pc, #532] @ fe0 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - adds r4, r5, r2 │ │ │ │ │ - add r2, r7 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ + vldr d2, [pc, #560] @ 1050 │ │ │ │ │ + vstr d6, [r9] │ │ │ │ │ vsub.f64 d6, d11, d4 │ │ │ │ │ vsub.f64 d4, d5, d7 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [pc, #512] @ fe8 │ │ │ │ │ - vldr d11, [pc, #516] @ ff0 │ │ │ │ │ - vstr d4, [r0] │ │ │ │ │ + vldr d5, [pc, #500] @ 1028 │ │ │ │ │ + vldr d11, [pc, #544] @ 1058 │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ vsub.f64 d4, d6, d9 │ │ │ │ │ vadd.f64 d9, d9, d6 │ │ │ │ │ - add r0, r3 │ │ │ │ │ - vldr d6, [sp, #8] │ │ │ │ │ - vstr d4, [r0] │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ - vstr d9, [r2] │ │ │ │ │ - mov.w r2, r9, lsl #5 │ │ │ │ │ - vldr d9, [sp, #32] │ │ │ │ │ - adds r1, r5, r2 │ │ │ │ │ - vldr d7, [pc, #480] @ ff8 │ │ │ │ │ - add r2, r7 │ │ │ │ │ + add r5, r6 │ │ │ │ │ + vldr d6, [sp, #16] │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ + mov.w r5, fp, lsl #5 │ │ │ │ │ + vstr d7, [ip] │ │ │ │ │ + vstr d9, [lr] │ │ │ │ │ + add.w ip, r2, r5 │ │ │ │ │ + add r5, sl │ │ │ │ │ + vldr d9, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d7, [pc, #504] @ 1060 │ │ │ │ │ vsub.f64 d14, d14, d9 │ │ │ │ │ - vldr d9, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d9, [sp, #56] @ 0x38 │ │ │ │ │ vadd.f64 d9, d6, d9 │ │ │ │ │ vldr d6, [sp, #144] @ 0x90 │ │ │ │ │ vmla.f64 d3, d6, d5 │ │ │ │ │ vldr d6, [sp, #168] @ 0xa8 │ │ │ │ │ vmul.f64 d7, d6, d7 │ │ │ │ │ vmla.f64 d7, d10, d11 │ │ │ │ │ - vldr d11, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d10, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d11, [sp, #304] @ 0x130 │ │ │ │ │ + vldr d10, [sp, #344] @ 0x158 │ │ │ │ │ vmul.f64 d6, d11, d1 │ │ │ │ │ - vldr d11, [sp, #264] @ 0x108 │ │ │ │ │ - vnmls.f64 d6, d11, d2 │ │ │ │ │ - vldr d2, [pc, #428] @ 1000 │ │ │ │ │ - vldr d11, [sp, #336] @ 0x150 │ │ │ │ │ + vldr d11, [sp, #256] @ 0x100 │ │ │ │ │ vsub.f64 d4, d3, d7 │ │ │ │ │ vadd.f64 d3, d3, d7 │ │ │ │ │ - vldr d7, [pc, #396] @ ff0 │ │ │ │ │ + vldr d7, [pc, #436] @ 1058 │ │ │ │ │ + vnmls.f64 d6, d11, d2 │ │ │ │ │ + vldr d2, [pc, #444] @ 1068 │ │ │ │ │ + vldr d11, [sp, #328] @ 0x148 │ │ │ │ │ vmul.f64 d5, d10, d2 │ │ │ │ │ - vldr d10, [pc, #412] @ 1008 │ │ │ │ │ + vldr d10, [pc, #440] @ 1070 │ │ │ │ │ vnmls.f64 d5, d11, d10 │ │ │ │ │ vadd.f64 d2, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [pc, #364] @ fe8 │ │ │ │ │ + vldr d5, [pc, #352] @ 1028 │ │ │ │ │ vadd.f64 d10, d4, d2 │ │ │ │ │ vsub.f64 d4, d4, d2 │ │ │ │ │ vmul.f64 d11, d4, d0 │ │ │ │ │ vldr d4, [sp, #144] @ 0x90 │ │ │ │ │ vldr d0, [sp, #208] @ 0xd0 │ │ │ │ │ vmul.f64 d2, d4, d8 │ │ │ │ │ vldr d4, [sp, #168] @ 0xa8 │ │ │ │ │ - vldr d8, [pc, #356] @ 1000 │ │ │ │ │ + vldr d8, [pc, #384] @ 1068 │ │ │ │ │ + vnmls.f64 d2, d0, d5 │ │ │ │ │ + vldr d5, [pc, #368] @ 1060 │ │ │ │ │ vmul.f64 d7, d4, d7 │ │ │ │ │ vldr d4, [sp, #192] @ 0xc0 │ │ │ │ │ - vnmls.f64 d2, d0, d5 │ │ │ │ │ - vldr d5, [pc, #332] @ ff8 │ │ │ │ │ - vldr d0, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d0, [sp, #304] @ 0x130 │ │ │ │ │ vnmls.f64 d7, d4, d5 │ │ │ │ │ - vldr d5, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d5, [sp, #256] @ 0x100 │ │ │ │ │ vmul.f64 d1, d5, d1 │ │ │ │ │ - vldr d5, [pc, #288] @ fe0 │ │ │ │ │ - vmla.f64 d1, d0, d5 │ │ │ │ │ - vldr d5, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d0, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d5, [pc, #324] @ 1050 │ │ │ │ │ vadd.f64 d4, d2, d7 │ │ │ │ │ vsub.f64 d7, d2, d7 │ │ │ │ │ - vmul.f64 d5, d5, d8 │ │ │ │ │ - vldr d8, [pc, #300] @ 1008 │ │ │ │ │ vadd.f64 d2, d14, d10 │ │ │ │ │ vmls.f64 d14, d10, d12 │ │ │ │ │ + vmla.f64 d1, d0, d5 │ │ │ │ │ + vldr d5, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d0, [sp, #344] @ 0x158 │ │ │ │ │ + vstr d2, [ip] │ │ │ │ │ + vmul.f64 d5, d5, d8 │ │ │ │ │ + vldr d8, [pc, #316] @ 1070 │ │ │ │ │ vmla.f64 d5, d0, d8 │ │ │ │ │ - vstr d2, [r1] │ │ │ │ │ - movs r1, #72 @ 0x48 │ │ │ │ │ vadd.f64 d8, d1, d5 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ - vldr d1, [pc, #216] @ fd0 │ │ │ │ │ + vldr d1, [pc, #252] @ 1040 │ │ │ │ │ vsub.f64 d0, d4, d8 │ │ │ │ │ vadd.f64 d4, d4, d8 │ │ │ │ │ vadd.f64 d2, d9, d0 │ │ │ │ │ vmls.f64 d9, d0, d12 │ │ │ │ │ vmul.f64 d4, d4, d1 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ + vstr d2, [r5] │ │ │ │ │ vmul.f64 d2, d3, d15 │ │ │ │ │ - add r2, r3 │ │ │ │ │ + add r5, r6 │ │ │ │ │ + vsub.f64 d1, d9, d4 │ │ │ │ │ vnmls.f64 d2, d6, d13 │ │ │ │ │ vmul.f64 d6, d6, d15 │ │ │ │ │ vmla.f64 d6, d3, d13 │ │ │ │ │ - vsub.f64 d1, d9, d4 │ │ │ │ │ vadd.f64 d3, d4, d9 │ │ │ │ │ vadd.f64 d4, d2, d1 │ │ │ │ │ vsub.f64 d1, d1, d2 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ vadd.f64 d4, d6, d3 │ │ │ │ │ - add r2, r3 │ │ │ │ │ vsub.f64 d3, d3, d6 │ │ │ │ │ vmul.f64 d6, d5, d15 │ │ │ │ │ + add r5, r6 │ │ │ │ │ vmla.f64 d6, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - movs r2, #152 @ 0x98 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ + mov.w r5, #152 @ 0x98 │ │ │ │ │ + mul.w r5, r5, fp │ │ │ │ │ vnmls.f64 d7, d5, d13 │ │ │ │ │ vadd.f64 d5, d11, d14 │ │ │ │ │ vsub.f64 d14, d14, d11 │ │ │ │ │ - adds r3, r7, r2 │ │ │ │ │ - add r2, r5 │ │ │ │ │ - vstr d1, [r3] │ │ │ │ │ - mul.w r3, r1, r9 │ │ │ │ │ + add.w r6, sl, r5 │ │ │ │ │ + add r5, r2 │ │ │ │ │ + vstr d1, [r6] │ │ │ │ │ + add.w r6, sl, r7 │ │ │ │ │ + add r7, r2 │ │ │ │ │ + vstr d3, [r6] │ │ │ │ │ vsub.f64 d4, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - adds r1, r7, r3 │ │ │ │ │ - add r3, r5 │ │ │ │ │ - vstr d3, [r1] │ │ │ │ │ - mla r1, ip, r9, r5 │ │ │ │ │ - vstr d4, [r1] │ │ │ │ │ + vstr d4, [r8] │ │ │ │ │ vadd.f64 d4, d7, d14 │ │ │ │ │ vsub.f64 d14, d14, d7 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - mla r3, lr, r9, r5 │ │ │ │ │ - vstr d14, [r3] │ │ │ │ │ - ldr r3, [sp, #436] @ 0x1b4 │ │ │ │ │ - add sl, r3 │ │ │ │ │ - add fp, r3 │ │ │ │ │ - ldr r3, [sp, #440] @ 0x1b8 │ │ │ │ │ - add r5, r3 │ │ │ │ │ - add r7, r3 │ │ │ │ │ - ldr r3, [sp, #444] @ 0x1bc │ │ │ │ │ - eors r6, r3 │ │ │ │ │ - eor.w r9, r9, r3 │ │ │ │ │ - ldr r3, [sp, #560] @ 0x230 │ │ │ │ │ - subs r3, #1 │ │ │ │ │ - str r3, [sp, #560] @ 0x230 │ │ │ │ │ - bne.w 40 │ │ │ │ │ - add sp, #452 @ 0x1c4 │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ + vstr d14, [r4] │ │ │ │ │ + ldr r4, [sp, #428] @ 0x1ac │ │ │ │ │ + add r0, r4 │ │ │ │ │ + add r1, r4 │ │ │ │ │ + ldr r4, [sp, #432] @ 0x1b0 │ │ │ │ │ + add r2, r4 │ │ │ │ │ + add sl, r4 │ │ │ │ │ + ldr r4, [sp, #436] @ 0x1b4 │ │ │ │ │ + eor.w r3, r3, r4 │ │ │ │ │ + eor.w fp, fp, r4 │ │ │ │ │ + ldr r4, [sp, #552] @ 0x228 │ │ │ │ │ + subs r4, #1 │ │ │ │ │ + str r4, [sp, #552] @ 0x228 │ │ │ │ │ + bne.w 4e │ │ │ │ │ + add sp, #444 @ 0x1bc │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ + nop.w │ │ │ │ │ + .word 0x3c182b51 │ │ │ │ │ + .word 0x3fe1257e │ │ │ │ │ + .word 0xbfe443fe │ │ │ │ │ + .word 0x3fefefd5 │ │ │ │ │ .word 0x1be09379 │ │ │ │ │ .word 0x3fb0130a │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ .word 0xff642e86 │ │ │ │ │ .word 0x3feb04bb │ │ │ │ │ .word 0xdcdc158c │ │ │ │ │ .word 0x3fecf457 │ │ │ │ │ - .word 0x3c182b51 │ │ │ │ │ - .word 0x3fe1257e │ │ │ │ │ .word 0xfeb501bc │ │ │ │ │ .word 0x3fe465c6 │ │ │ │ │ .word 0x635b6bea │ │ │ │ │ .word 0x3fe8a80b │ │ │ │ │ .word 0x5480d903 │ │ │ │ │ .word 0x3fefbf67 │ │ │ │ │ .word 0x5da15be0 │ │ │ │ │ .word 0x3fc00aeb │ │ │ │ │ │ │ │ │ │ -00001010 : │ │ │ │ │ +00001078 : │ │ │ │ │ fftw_codelet_n1_25(): │ │ │ │ │ - ldr r2, [pc, #8] @ (101c ) │ │ │ │ │ - ldr r1, [pc, #12] @ (1020 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (1084 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (1088 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── n1_3.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1012 (bytes into file) │ │ │ │ │ + Start of section headers: 1036 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x3f4: │ │ │ │ │ +There are 13 section headers, starting at offset 0x40c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00018c 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00035c 000018 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0001c0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0001c0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0001c0 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 0001c5 000040 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000374 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 000205 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000205 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 000238 0000e0 10 11 11 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 000318 000042 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000384 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0001a4 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000374 000018 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0001d8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0001d8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0001d8 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0001dd 000040 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 00038c 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 00021d 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 00021d 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 000250 0000e0 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 000330 000042 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 00039c 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,17 +1,17 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 14 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 376 FUNC LOCAL DEFAULT 1 n1_3 │ │ │ │ │ + 1: 00000001 400 FUNC LOCAL DEFAULT 1 n1_3 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000170 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000178 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000184 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000188 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000190 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 0000019c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 64 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ - 11: 00000179 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_3 │ │ │ │ │ + 11: 00000191 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_3 │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_register │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_n_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,11 +1,11 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x35c contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x374 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000184 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000188 00000103 R_ARM_REL32 00000001 n1_3 │ │ │ │ │ -00000180 00000c1e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ +0000019c 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000001a0 00000103 R_ARM_REL32 00000001 n1_3 │ │ │ │ │ +00000198 00000c1e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x374 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x38c contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000d02 R_ARM_ABS32 00000000 fftw_dft_n_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,127 +1,132 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ n1_3(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ + strd r4, r5, [sp, #-24]! │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + strd r8, lr, [sp, #16] │ │ │ │ │ vpush {d8} │ │ │ │ │ ldrd r4, r7, [sp, #36] @ 0x24 │ │ │ │ │ ldr r6, [sp, #44] @ 0x2c │ │ │ │ │ cmp r7, #0 │ │ │ │ │ - ble.n c2 │ │ │ │ │ + ble.n d0 │ │ │ │ │ ldr r5, [sp, #32] │ │ │ │ │ mov.w r8, r4, lsl #4 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ mov.w ip, r5, lsl #3 │ │ │ │ │ ldr r5, [sp, #48] @ 0x30 │ │ │ │ │ cmp r6, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r5, #1 │ │ │ │ │ - bne.n ca │ │ │ │ │ - vldr d2, [pc, #324] @ 170 │ │ │ │ │ + bne.n e2 │ │ │ │ │ + vldr d2, [pc, #340] @ 188 │ │ │ │ │ vmov.f64 d3, #96 @ 0x3f000000 0.5 │ │ │ │ │ add.w r5, r0, ip │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ add.w lr, r2, r8 │ │ │ │ │ - adds r0, #8 │ │ │ │ │ - adds r2, #8 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + subs r7, #1 │ │ │ │ │ + add.w r0, r0, #8 │ │ │ │ │ + add.w r2, r2, #8 │ │ │ │ │ vldr d4, [r5] │ │ │ │ │ add r5, ip │ │ │ │ │ - subs r7, #1 │ │ │ │ │ vldr d6, [r5] │ │ │ │ │ add.w r5, r1, ip │ │ │ │ │ add.w r1, r1, #8 │ │ │ │ │ vldr d0, [r5] │ │ │ │ │ add r5, ip │ │ │ │ │ + vldr d7, [r1, #-8] │ │ │ │ │ vadd.f64 d1, d6, d4 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vldr d4, [r5] │ │ │ │ │ - vmul.f64 d6, d6, d2 │ │ │ │ │ vsub.f64 d8, d0, d4 │ │ │ │ │ vadd.f64 d4, d4, d0 │ │ │ │ │ vadd.f64 d0, d1, d5 │ │ │ │ │ vmls.f64 d5, d1, d3 │ │ │ │ │ + vmul.f64 d6, d6, d2 │ │ │ │ │ vmul.f64 d8, d8, d2 │ │ │ │ │ vstr d0, [r2, #-8] │ │ │ │ │ vadd.f64 d0, d4, d7 │ │ │ │ │ vmls.f64 d7, d4, d3 │ │ │ │ │ vsub.f64 d1, d5, d8 │ │ │ │ │ vadd.f64 d5, d5, d8 │ │ │ │ │ vstr d0, [r3] │ │ │ │ │ vstr d1, [lr] │ │ │ │ │ sub.w lr, lr, r4 │ │ │ │ │ vstr d5, [lr] │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ - add.w lr, r3, r4 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ + add.w lr, r3, r4 │ │ │ │ │ add.w r3, r3, #8 │ │ │ │ │ vstr d5, [lr] │ │ │ │ │ add lr, r4 │ │ │ │ │ vstr d7, [lr] │ │ │ │ │ - bne.n 30 │ │ │ │ │ + bne.n 3a │ │ │ │ │ vpop {d8} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, pc} │ │ │ │ │ - lsls r6, r6, #3 │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ - vldr d1, [pc, #160] @ 170 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldmia.w sp!, {r8, pc} │ │ │ │ │ + vldr d1, [pc, #164] @ 188 │ │ │ │ │ vmov.f64 d2, #96 @ 0x3f000000 0.5 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ add.w lr, r0, ip │ │ │ │ │ vldr d3, [r0] │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - add r0, r6 │ │ │ │ │ subs r7, #1 │ │ │ │ │ + add r0, r6 │ │ │ │ │ vldr d5, [lr] │ │ │ │ │ add lr, ip │ │ │ │ │ vldr d6, [lr] │ │ │ │ │ add.w lr, r1, ip │ │ │ │ │ - add r1, r6 │ │ │ │ │ vldr d4, [lr] │ │ │ │ │ add lr, ip │ │ │ │ │ - vadd.f64 d0, d5, d6 │ │ │ │ │ - vsub.f64 d6, d6, d5 │ │ │ │ │ vldr d8, [lr] │ │ │ │ │ add.w lr, r2, r8 │ │ │ │ │ - vmul.f64 d6, d6, d1 │ │ │ │ │ + vadd.f64 d0, d5, d6 │ │ │ │ │ + vsub.f64 d6, d6, d5 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + add r1, r6 │ │ │ │ │ vsub.f64 d5, d4, d8 │ │ │ │ │ vadd.f64 d4, d4, d8 │ │ │ │ │ vadd.f64 d8, d3, d0 │ │ │ │ │ vmls.f64 d3, d0, d2 │ │ │ │ │ + vmul.f64 d6, d6, d1 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vstr d8, [r2] │ │ │ │ │ vadd.f64 d8, d7, d4 │ │ │ │ │ vmls.f64 d7, d4, d2 │ │ │ │ │ add r2, r5 │ │ │ │ │ vsub.f64 d0, d3, d5 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ vstr d8, [r3] │ │ │ │ │ vstr d0, [lr] │ │ │ │ │ sub.w lr, lr, r4 │ │ │ │ │ vstr d5, [lr] │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ - add.w lr, r3, r4 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ + add.w lr, r3, r4 │ │ │ │ │ add r3, r5 │ │ │ │ │ vstr d5, [lr] │ │ │ │ │ add lr, r4 │ │ │ │ │ vstr d7, [lr] │ │ │ │ │ - bne.n d6 │ │ │ │ │ - vpop {d8} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, pc} │ │ │ │ │ + bne.n f2 │ │ │ │ │ + b.n d0 │ │ │ │ │ + nop │ │ │ │ │ nop.w │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3febb67a │ │ │ │ │ │ │ │ │ │ -00000178 : │ │ │ │ │ +00000190 : │ │ │ │ │ fftw_codelet_n1_3(): │ │ │ │ │ - ldr r2, [pc, #8] @ (184 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (188 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (19c ) │ │ │ │ │ + ldr r1, [pc, #12] @ (1a0 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── n1_32.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 4628 (bytes into file) │ │ │ │ │ + Start of section headers: 4784 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x1214: │ │ │ │ │ +There are 13 section headers, starting at offset 0x12b0: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000f20 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00116c 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000f54 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000f54 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000f54 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 000f5a 000040 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 001194 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 000f9a 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000f9a 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 000fd0 000120 10 11 13 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 0010f0 00007b 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 0011a4 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000f9c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 001208 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000fd0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000fd0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000fd0 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 000fd6 000040 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 001230 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 001016 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 001016 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 00104c 000140 10 11 15 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 00118c 00007b 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 001240 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,21 +1,23 @@ │ │ │ │ │ │ │ │ │ │ -Symbol table '.symtab' contains 18 entries: │ │ │ │ │ +Symbol table '.symtab' contains 20 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 3852 FUNC LOCAL DEFAULT 1 n1_32 │ │ │ │ │ + 1: 00000001 3976 FUNC LOCAL DEFAULT 1 n1_32 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000410 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000430 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000ad8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000b08 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00000f18 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ - 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ - 10: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ - 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ - 12: 00000000 64 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ - 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ - 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 15: 00000f0d 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_32 │ │ │ │ │ - 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_register │ │ │ │ │ - 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_n_genus │ │ │ │ │ + 3: 00000458 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000478 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000008e0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000918 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00000f78 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 00000f88 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 9: 00000f94 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 10: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ + 11: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ + 12: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ + 13: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ + 14: 00000000 64 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ + 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ + 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ + 17: 00000f89 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_32 │ │ │ │ │ + 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_register │ │ │ │ │ + 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_n_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x116c contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x1208 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000428 00000d19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000042c 00000e1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000f18 00000a03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000f1c 00000103 R_ARM_REL32 00000001 n1_32 │ │ │ │ │ -00000f14 0000101e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ +00000470 00000f19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000474 0000101a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000f94 00000c03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000f98 00000103 R_ARM_REL32 00000001 n1_32 │ │ │ │ │ +00000f90 0000121e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x1194 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x1230 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ -00000028 00001102 R_ARM_ABS32 00000000 fftw_dft_n_genus │ │ │ │ │ +00000004 00000a02 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ +00000028 00001302 R_ARM_ABS32 00000000 fftw_dft_n_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,1053 +1,1066 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ n1_32(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov ip, r2 │ │ │ │ │ - mov lr, r3 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov r9, r0 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + mov fp, r1 │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub.w sp, sp, #524 @ 0x20c │ │ │ │ │ - ldr.w r3, [pc, #1044] @ 428 │ │ │ │ │ - ldr r2, [sp, #632] @ 0x278 │ │ │ │ │ - add r3, pc │ │ │ │ │ - ldrd r8, r7, [sp, #624] @ 0x270 │ │ │ │ │ - cmp r2, #0 │ │ │ │ │ - ble.w f00 │ │ │ │ │ - ldr r2, [sp, #636] @ 0x27c │ │ │ │ │ - mov fp, r0 │ │ │ │ │ - mov sl, r1 │ │ │ │ │ - vldr d11, [pc, #996] @ 410 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ - str r2, [sp, #508] @ 0x1fc │ │ │ │ │ - ldr r2, [sp, #640] @ 0x280 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ - str r2, [sp, #512] @ 0x200 │ │ │ │ │ - ldr r2, [pc, #1012] @ (42c ) │ │ │ │ │ - ldr r3, [r3, r2] │ │ │ │ │ - ldr r3, [r3, #0] │ │ │ │ │ - str r3, [sp, #516] @ 0x204 │ │ │ │ │ - mov.w r5, r8, lsl #7 │ │ │ │ │ - vldr d4, [fp] │ │ │ │ │ - add.w r3, fp, r5 │ │ │ │ │ - vldr d6, [sl] │ │ │ │ │ - movs r1, #96 @ 0x60 │ │ │ │ │ - vldr d13, [pc, #964] @ 418 │ │ │ │ │ - movs r0, #240 @ 0xf0 │ │ │ │ │ - mov.w r9, #120 @ 0x78 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - add.w r3, sl, r5 │ │ │ │ │ - mul.w r4, r0, r8 │ │ │ │ │ + sub sp, #508 @ 0x1fc │ │ │ │ │ + ldrd ip, r0, [sp, #612] @ 0x264 │ │ │ │ │ + ldr.w r1, [pc, #1100] @ 470 │ │ │ │ │ + cmp r0, #0 │ │ │ │ │ + add r1, pc │ │ │ │ │ + ble.w f58 │ │ │ │ │ + ldr r0, [sp, #620] @ 0x26c │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ + str r0, [sp, #492] @ 0x1ec │ │ │ │ │ + ldr r0, [sp, #624] @ 0x270 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ + str r0, [sp, #496] @ 0x1f0 │ │ │ │ │ + ldr.w r0, [pc, #1076] @ 474 │ │ │ │ │ + ldr r1, [r1, r0] │ │ │ │ │ + ldr r0, [sp, #608] @ 0x260 │ │ │ │ │ + ldr r1, [r1, #0] │ │ │ │ │ + str r1, [sp, #500] @ 0x1f4 │ │ │ │ │ + mov.w r1, r0, lsl #7 │ │ │ │ │ + vldr d4, [r9] │ │ │ │ │ + mov.w r7, r0, lsl #5 │ │ │ │ │ + add.w r4, r9, r1 │ │ │ │ │ + vldr d6, [fp] │ │ │ │ │ + mov.w sl, r0, lsl #3 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + add.w r4, fp, r1 │ │ │ │ │ + vldr d11, [pc, #1004] @ 458 │ │ │ │ │ vadd.f64 d0, d4, d7 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - mov.w r3, r8, lsl #6 │ │ │ │ │ - add.w r2, fp, r3 │ │ │ │ │ - add r3, sl │ │ │ │ │ - mul.w r0, r7, r0 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + mov.w r4, r0, lsl #6 │ │ │ │ │ + add.w r5, r9, r4 │ │ │ │ │ + add r4, fp │ │ │ │ │ vadd.f64 d2, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - add r2, r5 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add r5, r1 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + sub.w r5, sl, r0 │ │ │ │ │ + mov.w lr, r5, lsl #5 │ │ │ │ │ vadd.f64 d1, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - add r3, r5 │ │ │ │ │ - vldr d8, [r3] │ │ │ │ │ - mov.w r3, r8, lsl #5 │ │ │ │ │ - add.w r2, fp, r3 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + add r4, r1 │ │ │ │ │ + vldr d8, [r4] │ │ │ │ │ + add.w r4, r9, r7 │ │ │ │ │ vadd.f64 d10, d0, d1 │ │ │ │ │ - vsub.f64 d1, d0, d1 │ │ │ │ │ - add r3, sl │ │ │ │ │ + vsub.f64 d9, d0, d1 │ │ │ │ │ + vadd.f64 d0, d6, d7 │ │ │ │ │ vadd.f64 d3, d5, d8 │ │ │ │ │ vsub.f64 d5, d5, d8 │ │ │ │ │ - vadd.f64 d8, d6, d7 │ │ │ │ │ + vsub.f64 d8, d6, d7 │ │ │ │ │ + vstr d9, [sp, #352] @ 0x160 │ │ │ │ │ vstr d10, [sp, #360] @ 0x168 │ │ │ │ │ - vstr d1, [sp, #368] @ 0x170 │ │ │ │ │ - vsub.f64 d0, d2, d3 │ │ │ │ │ - vadd.f64 d9, d2, d3 │ │ │ │ │ - vsub.f64 d3, d4, d5 │ │ │ │ │ - vadd.f64 d5, d4, d5 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - add r2, r5 │ │ │ │ │ - vsub.f64 d2, d6, d7 │ │ │ │ │ - vstr d8, [sp, #32] │ │ │ │ │ - vstr d0, [sp] │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - vstr d5, [sp, #16] │ │ │ │ │ - vstr d2, [sp, #24] │ │ │ │ │ + vsub.f64 d12, d2, d3 │ │ │ │ │ + vadd.f64 d3, d2, d3 │ │ │ │ │ + vsub.f64 d2, d4, d5 │ │ │ │ │ + vadd.f64 d4, d4, d5 │ │ │ │ │ + vstr d2, [sp] │ │ │ │ │ + vstr d4, [sp, #8] │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + add r4, r1 │ │ │ │ │ + vstr d8, [sp, #16] │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + add.w r4, fp, r7 │ │ │ │ │ + sub.w r7, r7, r0 │ │ │ │ │ + vstr d0, [sp, #24] │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + vstr d3, [sp, #376] @ 0x178 │ │ │ │ │ + vstr d12, [sp, #368] @ 0x170 │ │ │ │ │ + vldr d12, [pc, #844] @ 460 │ │ │ │ │ vadd.f64 d1, d4, d7 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - add r3, r5 │ │ │ │ │ - vstr d3, [sp, #8] │ │ │ │ │ - vstr d9, [sp, #376] @ 0x178 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - movs r3, #224 @ 0xe0 │ │ │ │ │ - mul.w r2, r3, r8 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + add r4, r1 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + add.w r4, r9, lr │ │ │ │ │ + add lr, fp │ │ │ │ │ + vldr d8, [lr] │ │ │ │ │ vadd.f64 d2, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - add.w r3, fp, r2 │ │ │ │ │ - add r2, sl │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - mul.w r3, r1, r8 │ │ │ │ │ - add.w r1, fp, r3 │ │ │ │ │ - add r3, sl │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - vldr d8, [r3] │ │ │ │ │ - mov.w r3, r8, lsl #4 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + add.w r4, r0, r0, lsl #1 │ │ │ │ │ + mov.w r6, r4, lsl #5 │ │ │ │ │ + str r4, [sp, #136] @ 0x88 │ │ │ │ │ + add.w r4, r0, r0, lsl #2 │ │ │ │ │ + add.w r8, r9, r6 │ │ │ │ │ + add r6, fp │ │ │ │ │ + vldr d5, [r8] │ │ │ │ │ vadd.f64 d0, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - add.w r2, fp, r3 │ │ │ │ │ - add r3, sl │ │ │ │ │ - vadd.f64 d3, d5, d8 │ │ │ │ │ - vsub.f64 d5, d5, d8 │ │ │ │ │ - vadd.f64 d12, d1, d0 │ │ │ │ │ - vadd.f64 d15, d2, d3 │ │ │ │ │ - vstr d12, [sp, #40] @ 0x28 │ │ │ │ │ - vsub.f64 d12, d0, d1 │ │ │ │ │ + vldr d5, [r6] │ │ │ │ │ + mov.w r6, r0, lsl #4 │ │ │ │ │ + add.w lr, r9, r6 │ │ │ │ │ + vadd.f64 d15, d1, d0 │ │ │ │ │ + vadd.f64 d3, d8, d5 │ │ │ │ │ + vsub.f64 d5, d8, d5 │ │ │ │ │ + vsub.f64 d1, d0, d1 │ │ │ │ │ + vldr d0, [pc, #748] @ 468 │ │ │ │ │ vstr d15, [sp, #384] @ 0x180 │ │ │ │ │ - vsub.f64 d15, d2, d3 │ │ │ │ │ + vadd.f64 d15, d2, d3 │ │ │ │ │ + vsub.f64 d3, d2, d3 │ │ │ │ │ vadd.f64 d2, d4, d7 │ │ │ │ │ - vsub.f64 d3, d6, d5 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ + vstr d1, [sp, #32] │ │ │ │ │ + vstr d3, [sp, #40] @ 0x28 │ │ │ │ │ + vsub.f64 d3, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vstr d12, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d15, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d15, [sp, #392] @ 0x188 │ │ │ │ │ vsub.f64 d1, d3, d2 │ │ │ │ │ - vadd.f64 d3, d3, d2 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ + vadd.f64 d3, d3, d2 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vmul.f64 d8, d1, d11 │ │ │ │ │ - vmul.f64 d3, d3, d11 │ │ │ │ │ - vmul.f64 d5, d5, d11 │ │ │ │ │ - vmul.f64 d7, d7, d11 │ │ │ │ │ - vstr d8, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d3, [sp, #72] @ 0x48 │ │ │ │ │ - vstr d5, [sp, #80] @ 0x50 │ │ │ │ │ - vstr d7, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - add r2, r5 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - add r3, r5 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - movs r2, #80 @ 0x50 │ │ │ │ │ + vmul.f64 d8, d1, d0 │ │ │ │ │ + vmul.f64 d5, d5, d0 │ │ │ │ │ + vmul.f64 d2, d3, d0 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ + vstr d8, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d2, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d5, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d7, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d7, [lr] │ │ │ │ │ + add lr, r1 │ │ │ │ │ + str r4, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d6, [lr] │ │ │ │ │ + add.w lr, fp, r6 │ │ │ │ │ + sub.w r6, r6, r0 │ │ │ │ │ + vldr d4, [lr] │ │ │ │ │ + add lr, r1 │ │ │ │ │ vadd.f64 d10, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - mul.w r3, r2, r8 │ │ │ │ │ - mul.w r2, r7, r2 │ │ │ │ │ - add.w r1, fp, r3 │ │ │ │ │ - add r3, sl │ │ │ │ │ + vldr d6, [lr] │ │ │ │ │ + mov.w lr, r4, lsl #4 │ │ │ │ │ + add.w r8, r9, lr │ │ │ │ │ + add lr, fp │ │ │ │ │ vadd.f64 d9, d4, d6 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - add r1, r5 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - movs r1, #112 @ 0x70 │ │ │ │ │ + vldr d6, [r8] │ │ │ │ │ + add r8, r1 │ │ │ │ │ + vldr d5, [r8] │ │ │ │ │ + mov.w r8, r6, lsl #4 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ vadd.f64 d2, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - add r3, r5 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - vadd.f64 d12, d10, d2 │ │ │ │ │ - vadd.f64 d0, d4, d6 │ │ │ │ │ - vsub.f64 d6, d4, d6 │ │ │ │ │ + vldr d5, [lr] │ │ │ │ │ + add lr, r1 │ │ │ │ │ + vldr d3, [lr] │ │ │ │ │ + add.w lr, r9, r8 │ │ │ │ │ + add r8, fp │ │ │ │ │ + vadd.f64 d0, d10, d2 │ │ │ │ │ vsub.f64 d10, d10, d2 │ │ │ │ │ - add.w r3, fp, r4 │ │ │ │ │ vadd.f64 d1, d5, d3 │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ - vstr d12, [sp, #392] @ 0x188 │ │ │ │ │ - add r4, sl │ │ │ │ │ - vldr d12, [pc, #496] @ 420 │ │ │ │ │ + vstr d0, [sp, #400] @ 0x190 │ │ │ │ │ + vadd.f64 d0, d4, d6 │ │ │ │ │ + vsub.f64 d6, d4, d6 │ │ │ │ │ + vadd.f64 d3, d9, d1 │ │ │ │ │ + vsub.f64 d9, d9, d1 │ │ │ │ │ + vstr d3, [sp, #80] @ 0x50 │ │ │ │ │ vsub.f64 d3, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vadd.f64 d15, d9, d1 │ │ │ │ │ - vsub.f64 d9, d9, d1 │ │ │ │ │ - vldr d4, [r4] │ │ │ │ │ - movs r4, #48 @ 0x30 │ │ │ │ │ - vmul.f64 d5, d7, d13 │ │ │ │ │ + vsub.f64 d4, d9, d10 │ │ │ │ │ + vadd.f64 d1, d9, d10 │ │ │ │ │ + vmul.f64 d5, d7, d11 │ │ │ │ │ vmul.f64 d7, d7, d12 │ │ │ │ │ - vmla.f64 d7, d6, d13 │ │ │ │ │ + vstr d4, [sp, #120] @ 0x78 │ │ │ │ │ vmul.f64 d8, d3, d12 │ │ │ │ │ - vmul.f64 d3, d3, d13 │ │ │ │ │ - vstr d15, [sp, #96] @ 0x60 │ │ │ │ │ - vmla.f64 d3, d0, d12 │ │ │ │ │ + vmul.f64 d3, d3, d11 │ │ │ │ │ + vldr d4, [r8] │ │ │ │ │ + vstr d1, [sp, #128] @ 0x80 │ │ │ │ │ + vmla.f64 d7, d6, d11 │ │ │ │ │ vnmls.f64 d5, d6, d12 │ │ │ │ │ - vsub.f64 d6, d9, d10 │ │ │ │ │ - vnmls.f64 d8, d0, d13 │ │ │ │ │ - vstr d6, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - mul.w r3, r1, r8 │ │ │ │ │ - vstr d7, [sp, #128] @ 0x80 │ │ │ │ │ - vadd.f64 d7, d9, d10 │ │ │ │ │ - add.w r6, fp, r3 │ │ │ │ │ - add r3, sl │ │ │ │ │ - vstr d5, [sp, #120] @ 0x78 │ │ │ │ │ - mul.w r1, r7, r1 │ │ │ │ │ - vstr d3, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d7, [sp, #400] @ 0x190 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - vstr d8, [sp, #104] @ 0x68 │ │ │ │ │ - vmov.f64 d8, d12 │ │ │ │ │ + vldr d6, [lr] │ │ │ │ │ + mov.w lr, r5, lsl #4 │ │ │ │ │ + vmla.f64 d3, d0, d12 │ │ │ │ │ + vnmls.f64 d8, d0, d11 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ + add.w r4, r9, lr │ │ │ │ │ + add lr, fp │ │ │ │ │ + vstr d7, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + vstr d5, [sp, #104] @ 0x68 │ │ │ │ │ + ldr r4, [sp, #136] @ 0x88 │ │ │ │ │ + vstr d8, [sp, #88] @ 0x58 │ │ │ │ │ + vstr d3, [sp, #96] @ 0x60 │ │ │ │ │ vadd.f64 d10, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - mul.w r3, r4, r8 │ │ │ │ │ - mul.w r4, r7, r4 │ │ │ │ │ - add.w r6, fp, r3 │ │ │ │ │ - add r3, sl │ │ │ │ │ + vldr d7, [lr] │ │ │ │ │ + mov.w lr, r4, lsl #4 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + add.w r8, r9, lr │ │ │ │ │ + add lr, fp │ │ │ │ │ vadd.f64 d9, d4, d7 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - add r6, r5 │ │ │ │ │ - vldr d5, [r6] │ │ │ │ │ - movs r6, #248 @ 0xf8 │ │ │ │ │ + vldr d7, [r8] │ │ │ │ │ + add r8, r1 │ │ │ │ │ + vldr d5, [r8] │ │ │ │ │ vadd.f64 d1, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - add r3, r5 │ │ │ │ │ - mul.w r6, r6, r8 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - vadd.f64 d0, d10, d1 │ │ │ │ │ + vldr d5, [lr] │ │ │ │ │ + add lr, r1 │ │ │ │ │ + vldr d3, [lr] │ │ │ │ │ + add.w lr, r9, r7 │ │ │ │ │ + add r7, fp │ │ │ │ │ + vadd.f64 d15, d10, d1 │ │ │ │ │ vsub.f64 d10, d10, d1 │ │ │ │ │ - add.w r3, fp, r6 │ │ │ │ │ - add r6, sl │ │ │ │ │ vadd.f64 d2, d5, d3 │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ - vstr d0, [sp, #408] @ 0x198 │ │ │ │ │ vadd.f64 d3, d4, d7 │ │ │ │ │ vsub.f64 d7, d4, d7 │ │ │ │ │ + vstr d15, [sp, #408] @ 0x198 │ │ │ │ │ + vadd.f64 d0, d9, d2 │ │ │ │ │ + vsub.f64 d9, d9, d2 │ │ │ │ │ + vstr d0, [sp, #136] @ 0x88 │ │ │ │ │ vsub.f64 d0, d6, d5 │ │ │ │ │ - vadd.f64 d12, d9, d2 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vsub.f64 d9, d9, d2 │ │ │ │ │ - vstr d12, [sp, #144] @ 0x90 │ │ │ │ │ - vmov.f64 d12, d8 │ │ │ │ │ - vmul.f64 d8, d0, d8 │ │ │ │ │ - vmul.f64 d5, d6, d13 │ │ │ │ │ - vmla.f64 d8, d3, d13 │ │ │ │ │ vadd.f64 d4, d10, d9 │ │ │ │ │ - vsub.f64 d2, d10, d9 │ │ │ │ │ + vsub.f64 d10, d10, d9 │ │ │ │ │ + vmul.f64 d8, d0, d12 │ │ │ │ │ + vmul.f64 d5, d6, d11 │ │ │ │ │ + vmla.f64 d8, d3, d11 │ │ │ │ │ vmul.f64 d3, d3, d12 │ │ │ │ │ - vstr d4, [sp, #184] @ 0xb8 │ │ │ │ │ - vstr d2, [sp, #192] @ 0xc0 │ │ │ │ │ - vnmls.f64 d3, d0, d13 │ │ │ │ │ - vstr d8, [sp, #152] @ 0x98 │ │ │ │ │ + vmov.f64 d15, d5 │ │ │ │ │ + vstr d8, [sp, #144] @ 0x90 │ │ │ │ │ vmov.f64 d8, d12 │ │ │ │ │ - vmov.f64 d12, d5 │ │ │ │ │ - vmla.f64 d12, d7, d8 │ │ │ │ │ - vmul.f64 d7, d7, d13 │ │ │ │ │ - vstr d3, [sp, #160] @ 0xa0 │ │ │ │ │ + vmov.f64 d12, d3 │ │ │ │ │ + vmla.f64 d15, d7, d8 │ │ │ │ │ + vmul.f64 d7, d7, d11 │ │ │ │ │ + vnmls.f64 d12, d0, d11 │ │ │ │ │ vnmls.f64 d7, d6, d8 │ │ │ │ │ - vstr d12, [sp, #168] @ 0xa8 │ │ │ │ │ - vstr d7, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - mul.w r3, r9, r8 │ │ │ │ │ - add.w r9, fp, r3 │ │ │ │ │ - add r3, sl │ │ │ │ │ - vldr d7, [r9] │ │ │ │ │ - mov.w r9, #56 @ 0x38 │ │ │ │ │ - vadd.f64 d15, d6, d7 │ │ │ │ │ - vsub.f64 d9, d6, d7 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - mul.w r3, r9, r8 │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ - mov.w r9, #216 @ 0xd8 │ │ │ │ │ - add.w r6, fp, r3 │ │ │ │ │ - add r3, sl │ │ │ │ │ - vstr d15, [sp, #224] @ 0xe0 │ │ │ │ │ - vmov.f64 d13, d9 │ │ │ │ │ - vsub.f64 d15, d6, d7 │ │ │ │ │ - vadd.f64 d6, d6, d7 │ │ │ │ │ + vstr d12, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d15, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d7, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d4, [sp, #176] @ 0xb0 │ │ │ │ │ + vldr d6, [lr] │ │ │ │ │ + add.w lr, r9, r6 │ │ │ │ │ + add r6, fp │ │ │ │ │ + vstr d10, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d7, [lr] │ │ │ │ │ + mov.w lr, ip, lsl #3 │ │ │ │ │ + vadd.f64 d5, d6, d7 │ │ │ │ │ + vsub.f64 d6, d6, d7 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + add.w r6, r9, r5 │ │ │ │ │ + add r5, fp │ │ │ │ │ vldr d2, [r6] │ │ │ │ │ - add r6, r5 │ │ │ │ │ - vstr d6, [sp, #240] @ 0xf0 │ │ │ │ │ + add r6, r1 │ │ │ │ │ + vmov.f64 d13, d6 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + mov.w r7, #104 @ 0x68 │ │ │ │ │ + vstr d5, [sp, #216] @ 0xd8 │ │ │ │ │ + vsub.f64 d10, d6, d7 │ │ │ │ │ + vadd.f64 d7, d6, d7 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + add r5, r1 │ │ │ │ │ + vmov.f64 d11, d7 │ │ │ │ │ vldr d7, [r6] │ │ │ │ │ - movs r6, #24 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - add r3, r5 │ │ │ │ │ - vadd.f64 d10, d2, d7 │ │ │ │ │ + mov.w r6, #88 @ 0x58 │ │ │ │ │ + vadd.f64 d12, d2, d7 │ │ │ │ │ vsub.f64 d2, d2, d7 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - mul.w r3, r6, r8 │ │ │ │ │ - add.w r6, fp, r3 │ │ │ │ │ - add r3, sl │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, r9, r4 │ │ │ │ │ + add r4, fp │ │ │ │ │ vsub.f64 d0, d6, d7 │ │ │ │ │ - vadd.f64 d5, d6, d7 │ │ │ │ │ + vadd.f64 d6, d6, d7 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + add r4, r1 │ │ │ │ │ + vmov.f64 d14, d6 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + add r5, r1 │ │ │ │ │ + vldr d15, [r5] │ │ │ │ │ + mov.w r5, #216 @ 0xd8 │ │ │ │ │ + mul.w r5, r5, r0 │ │ │ │ │ + vadd.f64 d9, d6, d15 │ │ │ │ │ + vsub.f64 d15, d6, d15 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + add.w r4, r9, r5 │ │ │ │ │ + add r5, fp │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + mul.w r4, r6, r0 │ │ │ │ │ + vldr d3, [r5] │ │ │ │ │ + add.w r6, r9, r4 │ │ │ │ │ + add r4, fp │ │ │ │ │ + vsub.f64 d1, d7, d6 │ │ │ │ │ + vadd.f64 d7, d7, d6 │ │ │ │ │ + vldr d8, [r4] │ │ │ │ │ + add.w r4, r9, sl │ │ │ │ │ vldr d6, [r6] │ │ │ │ │ - add r6, r5 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - add r3, r5 │ │ │ │ │ - vmov.f64 d14, d5 │ │ │ │ │ - vldr d12, [r6] │ │ │ │ │ - mul.w r6, r9, r8 │ │ │ │ │ - vadd.f64 d9, d6, d12 │ │ │ │ │ - vsub.f64 d12, d6, d12 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - add.w r3, fp, r6 │ │ │ │ │ - add r6, sl │ │ │ │ │ - b.n 430 │ │ │ │ │ - .word 0x667f3bcd │ │ │ │ │ - .word 0x3fe6a09e │ │ │ │ │ + vadd.f64 d4, d5, d6 │ │ │ │ │ + vsub.f64 d5, d5, d6 │ │ │ │ │ + vsub.f64 d6, d3, d8 │ │ │ │ │ + vadd.f64 d3, d3, d8 │ │ │ │ │ + b.n 478 │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ - .word 0x0000040e │ │ │ │ │ + .word 0x667f3bcd │ │ │ │ │ + .word 0x3fe6a09e │ │ │ │ │ + .word 0x00000444 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - movs r3, #88 @ 0x58 │ │ │ │ │ - vsub.f64 d1, d7, d6 │ │ │ │ │ - vldr d3, [r6] │ │ │ │ │ - vadd.f64 d7, d7, d6 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - add.w r9, fp, r3 │ │ │ │ │ - add r3, sl │ │ │ │ │ - vldr d6, [r9] │ │ │ │ │ - vldr d8, [r3] │ │ │ │ │ - mov.w r3, r8, lsl #3 │ │ │ │ │ - add.w r6, fp, r3 │ │ │ │ │ - add r3, sl │ │ │ │ │ - vadd.f64 d4, d5, d6 │ │ │ │ │ - vsub.f64 d5, d5, d6 │ │ │ │ │ - vsub.f64 d6, d3, d8 │ │ │ │ │ - vadd.f64 d3, d3, d8 │ │ │ │ │ vmov.f64 d8, d13 │ │ │ │ │ vsub.f64 d13, d13, d0 │ │ │ │ │ - vstr d13, [sp, #200] @ 0xc8 │ │ │ │ │ + vstr d13, [sp, #192] @ 0xc0 │ │ │ │ │ vadd.f64 d13, d8, d0 │ │ │ │ │ - vsub.f64 d0, d15, d2 │ │ │ │ │ - vadd.f64 d2, d15, d2 │ │ │ │ │ - vldr d15, [sp, #224] @ 0xe0 │ │ │ │ │ - vadd.f64 d8, d9, d4 │ │ │ │ │ + vsub.f64 d0, d10, d2 │ │ │ │ │ + vadd.f64 d2, d10, d2 │ │ │ │ │ + vstr d0, [sp, #200] @ 0xc8 │ │ │ │ │ + vadd.f64 d0, d9, d4 │ │ │ │ │ vsub.f64 d4, d4, d9 │ │ │ │ │ + vstr d2, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d2, [sp, #216] @ 0xd8 │ │ │ │ │ vstr d13, [sp, #416] @ 0x1a0 │ │ │ │ │ vadd.f64 d13, d7, d3 │ │ │ │ │ - vstr d2, [sp, #216] @ 0xd8 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vadd.f64 d2, d15, d10 │ │ │ │ │ - vsub.f64 d10, d15, d10 │ │ │ │ │ - vstr d0, [sp, #208] @ 0xd0 │ │ │ │ │ vadd.f64 d3, d5, d6 │ │ │ │ │ - vldr d0, [sp, #240] @ 0xf0 │ │ │ │ │ + vstr d0, [sp, #224] @ 0xe0 │ │ │ │ │ vsub.f64 d6, d5, d6 │ │ │ │ │ - vstr d13, [sp, #248] @ 0xf8 │ │ │ │ │ - vsub.f64 d15, d10, d7 │ │ │ │ │ - vstr d2, [sp, #224] @ 0xe0 │ │ │ │ │ - vsub.f64 d2, d2, d8 │ │ │ │ │ - vstr d8, [sp, #232] @ 0xe8 │ │ │ │ │ - vstr d15, [sp, #432] @ 0x1b0 │ │ │ │ │ - vadd.f64 d15, d10, d7 │ │ │ │ │ - vstr d2, [sp, #424] @ 0x1a8 │ │ │ │ │ - vsub.f64 d7, d1, d12 │ │ │ │ │ - vadd.f64 d2, d0, d14 │ │ │ │ │ - vadd.f64 d12, d12, d1 │ │ │ │ │ - vstr d15, [sp, #440] @ 0x1b8 │ │ │ │ │ - vsub.f64 d13, d2, d13 │ │ │ │ │ - vstr d2, [sp, #240] @ 0xf0 │ │ │ │ │ + vadd.f64 d10, d2, d12 │ │ │ │ │ + vsub.f64 d12, d2, d12 │ │ │ │ │ + vsub.f64 d2, d12, d7 │ │ │ │ │ + vadd.f64 d7, d12, d7 │ │ │ │ │ + vstr d13, [sp, #240] @ 0xf0 │ │ │ │ │ + vsub.f64 d8, d10, d0 │ │ │ │ │ + vadd.f64 d0, d11, d14 │ │ │ │ │ + vstr d10, [sp, #216] @ 0xd8 │ │ │ │ │ + vstr d7, [sp, #440] @ 0x1b8 │ │ │ │ │ + vsub.f64 d7, d1, d15 │ │ │ │ │ + vsub.f64 d13, d0, d13 │ │ │ │ │ + vstr d0, [sp, #232] @ 0xe8 │ │ │ │ │ + vadd.f64 d15, d15, d1 │ │ │ │ │ + vldr d0, [pc, #1004] @ 8e0 │ │ │ │ │ + vstr d2, [sp, #432] @ 0x1b0 │ │ │ │ │ + vstr d8, [sp, #424] @ 0x1a8 │ │ │ │ │ vsub.f64 d2, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ - vstr d13, [sp, #496] @ 0x1f0 │ │ │ │ │ - vmul.f64 d15, d2, d11 │ │ │ │ │ - vmul.f64 d7, d7, d11 │ │ │ │ │ - vstr d15, [sp, #256] @ 0x100 │ │ │ │ │ - vstr d7, [sp, #264] @ 0x108 │ │ │ │ │ - vsub.f64 d7, d0, d14 │ │ │ │ │ - vsub.f64 d9, d7, d4 │ │ │ │ │ - vadd.f64 d3, d7, d4 │ │ │ │ │ - vsub.f64 d7, d6, d12 │ │ │ │ │ - vadd.f64 d6, d6, d12 │ │ │ │ │ - vstr d3, [sp, #456] @ 0x1c8 │ │ │ │ │ - vmul.f64 d5, d7, d11 │ │ │ │ │ - vstr d9, [sp, #448] @ 0x1c0 │ │ │ │ │ - vstr d5, [sp, #272] @ 0x110 │ │ │ │ │ - vmul.f64 d5, d6, d11 │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ - add r6, r5 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - movs r6, #72 @ 0x48 │ │ │ │ │ - vstr d5, [sp, #280] @ 0x118 │ │ │ │ │ - vadd.f64 d12, d6, d7 │ │ │ │ │ - vsub.f64 d7, d6, d7 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - add r3, r5 │ │ │ │ │ - vmov.f64 d14, d7 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - mul.w r3, r6, r8 │ │ │ │ │ - vstr d12, [sp, #312] @ 0x138 │ │ │ │ │ - add.w r6, fp, r3 │ │ │ │ │ - add r3, sl │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ + vmul.f64 d12, d2, d0 │ │ │ │ │ + vstr d12, [sp, #248] @ 0xf8 │ │ │ │ │ + vstr d7, [sp, #256] @ 0x100 │ │ │ │ │ + vsub.f64 d7, d11, d14 │ │ │ │ │ + vsub.f64 d3, d7, d4 │ │ │ │ │ + vadd.f64 d9, d7, d4 │ │ │ │ │ + vsub.f64 d7, d6, d15 │ │ │ │ │ + vadd.f64 d6, d6, d15 │ │ │ │ │ + vstr d3, [sp, #448] @ 0x1c0 │ │ │ │ │ + vmul.f64 d6, d6, d0 │ │ │ │ │ + vmul.f64 d5, d7, d0 │ │ │ │ │ + vstr d5, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d6, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + add r4, r1 │ │ │ │ │ + vstr d9, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + add.w r4, fp, sl │ │ │ │ │ + vadd.f64 d5, d6, d7 │ │ │ │ │ + vsub.f64 d6, d6, d7 │ │ │ │ │ + vstr d6, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + add r4, r1 │ │ │ │ │ + vstr d5, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + add.w r4, sl, r0 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + add.w r5, r9, r4 │ │ │ │ │ + add r4, fp │ │ │ │ │ vsub.f64 d15, d6, d7 │ │ │ │ │ - vadd.f64 d4, d6, d7 │ │ │ │ │ - vldr d3, [r6] │ │ │ │ │ - add r6, r5 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - add r3, r5 │ │ │ │ │ - vstr d4, [sp, #328] @ 0x148 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - vadd.f64 d9, d3, d7 │ │ │ │ │ - vsub.f64 d3, d3, d7 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - movs r3, #40 @ 0x28 │ │ │ │ │ - mul.w r6, r3, r8 │ │ │ │ │ - vsub.f64 d0, d6, d7 │ │ │ │ │ - vadd.f64 d6, d6, d7 │ │ │ │ │ - add.w r9, fp, r6 │ │ │ │ │ - add r6, sl │ │ │ │ │ - vmov.f64 d13, d6 │ │ │ │ │ - vldr d6, [r9] │ │ │ │ │ - add r9, r5 │ │ │ │ │ - vldr d12, [r9] │ │ │ │ │ - mov.w r9, #104 @ 0x68 │ │ │ │ │ - vadd.f64 d1, d6, d12 │ │ │ │ │ + vadd.f64 d5, d6, d7 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + add r5, r1 │ │ │ │ │ + vldr d12, [r5] │ │ │ │ │ + vadd.f64 d10, d6, d12 │ │ │ │ │ vsub.f64 d12, d6, d12 │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ - add r6, r5 │ │ │ │ │ - movs r5, #232 @ 0xe8 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - mul.w r6, r5, r8 │ │ │ │ │ - add.w r5, fp, r6 │ │ │ │ │ - vsub.f64 d10, d6, d7 │ │ │ │ │ - vadd.f64 d6, d6, d7 │ │ │ │ │ - add r6, sl │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - mul.w r5, r9, r8 │ │ │ │ │ - add.w r3, fp, r5 │ │ │ │ │ - add r5, sl │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - movs r3, #224 @ 0xe0 │ │ │ │ │ - vldr d8, [r5] │ │ │ │ │ - movs r5, #176 @ 0xb0 │ │ │ │ │ - vadd.f64 d4, d7, d5 │ │ │ │ │ - vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [r6] │ │ │ │ │ - mul.w r5, r7, r5 │ │ │ │ │ - add.w r6, ip, r5 │ │ │ │ │ - add r5, lr │ │ │ │ │ - vsub.f64 d2, d5, d8 │ │ │ │ │ - vadd.f64 d5, d5, d8 │ │ │ │ │ - vadd.f64 d8, d15, d3 │ │ │ │ │ - vsub.f64 d3, d15, d3 │ │ │ │ │ - vstr d8, [sp, #288] @ 0x120 │ │ │ │ │ - vmov.f64 d8, d14 │ │ │ │ │ - vadd.f64 d14, d14, d0 │ │ │ │ │ - vstr d3, [sp, #304] @ 0x130 │ │ │ │ │ - vstr d14, [sp, #296] @ 0x128 │ │ │ │ │ - vsub.f64 d14, d8, d0 │ │ │ │ │ - vldr d8, [sp, #312] @ 0x138 │ │ │ │ │ - vadd.f64 d0, d1, d4 │ │ │ │ │ - vsub.f64 d4, d4, d1 │ │ │ │ │ - vadd.f64 d3, d8, d9 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + add r4, r1 │ │ │ │ │ + vldr d2, [r4] │ │ │ │ │ + ldr r4, [sp, #280] @ 0x118 │ │ │ │ │ + vadd.f64 d14, d15, d12 │ │ │ │ │ + vsub.f64 d1, d6, d2 │ │ │ │ │ + vadd.f64 d2, d6, d2 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + add.w r5, r9, r4 │ │ │ │ │ + add r4, fp │ │ │ │ │ vstr d14, [sp, #464] @ 0x1d0 │ │ │ │ │ - vstr d0, [sp, #320] @ 0x140 │ │ │ │ │ - vsub.f64 d9, d8, d9 │ │ │ │ │ - vstr d3, [sp, #312] @ 0x138 │ │ │ │ │ - vsub.f64 d3, d3, d0 │ │ │ │ │ - vmov.f64 d0, d13 │ │ │ │ │ - vstr d3, [sp, #472] @ 0x1d8 │ │ │ │ │ - vldr d3, [sp, #328] @ 0x148 │ │ │ │ │ - vadd.f64 d14, d3, d13 │ │ │ │ │ - vsub.f64 d3, d3, d0 │ │ │ │ │ - vsub.f64 d1, d3, d4 │ │ │ │ │ - vadd.f64 d4, d3, d4 │ │ │ │ │ - vadd.f64 d3, d12, d10 │ │ │ │ │ - vmov.f64 d13, d14 │ │ │ │ │ - vadd.f64 d14, d6, d5 │ │ │ │ │ - vsub.f64 d6, d6, d5 │ │ │ │ │ - vmov.f64 d15, d4 │ │ │ │ │ - vsub.f64 d4, d7, d2 │ │ │ │ │ - vstr d13, [sp, #328] @ 0x148 │ │ │ │ │ - vadd.f64 d7, d7, d2 │ │ │ │ │ - vldr d2, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d8, [sp, #432] @ 0x1b0 │ │ │ │ │ - vsub.f64 d0, d4, d3 │ │ │ │ │ - vadd.f64 d4, d4, d3 │ │ │ │ │ - vstr d14, [sp, #336] @ 0x150 │ │ │ │ │ - vsub.f64 d14, d13, d14 │ │ │ │ │ - vmul.f64 d4, d4, d11 │ │ │ │ │ - vmul.f64 d0, d0, d11 │ │ │ │ │ - vstr d4, [sp, #480] @ 0x1e0 │ │ │ │ │ - vsub.f64 d4, d9, d6 │ │ │ │ │ - vadd.f64 d9, d9, d6 │ │ │ │ │ - vsub.f64 d6, d10, d12 │ │ │ │ │ - vldr d10, [sp, #368] @ 0x170 │ │ │ │ │ - vstr d0, [sp, #344] @ 0x158 │ │ │ │ │ - vsub.f64 d12, d6, d7 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + add r5, r1 │ │ │ │ │ + vmov.f64 d11, d1 │ │ │ │ │ + vldr d9, [r5] │ │ │ │ │ + vadd.f64 d1, d6, d9 │ │ │ │ │ + vsub.f64 d9, d6, d9 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + add r4, r1 │ │ │ │ │ + mov.w r1, #232 @ 0xe8 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + mul.w r4, r1, r0 │ │ │ │ │ + add.w r1, r9, r4 │ │ │ │ │ + add r4, fp │ │ │ │ │ + vsub.f64 d4, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vmul.f64 d7, d6, d11 │ │ │ │ │ - vmul.f64 d5, d12, d11 │ │ │ │ │ - vldr d6, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d12, [pc, #1012] @ ad8 │ │ │ │ │ - vstr d7, [sp, #488] @ 0x1e8 │ │ │ │ │ - vldr d7, [sp, #56] @ 0x38 │ │ │ │ │ - vstr d5, [sp, #352] @ 0x160 │ │ │ │ │ - vsub.f64 d5, d10, d7 │ │ │ │ │ - vsub.f64 d7, d2, d6 │ │ │ │ │ - vldr d2, [pc, #996] @ ae0 │ │ │ │ │ - vmul.f64 d7, d7, d11 │ │ │ │ │ - vmul.f64 d6, d4, d2 │ │ │ │ │ - vmov.f64 d13, d2 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + mul.w r1, r7, r0 │ │ │ │ │ + sub.w r7, lr, ip │ │ │ │ │ + add.w r5, r9, r1 │ │ │ │ │ + add r1, fp │ │ │ │ │ + vstr d4, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ + add.w r5, ip, ip, lsl #1 │ │ │ │ │ + vldr d8, [r1] │ │ │ │ │ + mov.w r1, #176 @ 0xb0 │ │ │ │ │ + mul.w r1, r1, ip │ │ │ │ │ + vadd.f64 d3, d7, d4 │ │ │ │ │ + vsub.f64 d7, d7, d4 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + add.w r4, r2, r1 │ │ │ │ │ + add r1, r3 │ │ │ │ │ + vsub.f64 d0, d4, d8 │ │ │ │ │ + vadd.f64 d4, d4, d8 │ │ │ │ │ + vldr d8, [sp, #288] @ 0x120 │ │ │ │ │ + vadd.f64 d14, d8, d11 │ │ │ │ │ + vstr d14, [sp, #288] @ 0x120 │ │ │ │ │ + vsub.f64 d14, d15, d12 │ │ │ │ │ + vadd.f64 d15, d1, d3 │ │ │ │ │ + vldr d12, [sp, #312] @ 0x138 │ │ │ │ │ + vsub.f64 d3, d3, d1 │ │ │ │ │ + vstr d14, [sp, #296] @ 0x128 │ │ │ │ │ + vsub.f64 d14, d8, d11 │ │ │ │ │ + vadd.f64 d11, d5, d2 │ │ │ │ │ + vsub.f64 d2, d5, d2 │ │ │ │ │ + vstr d14, [sp, #304] @ 0x130 │ │ │ │ │ + vadd.f64 d14, d12, d10 │ │ │ │ │ + vsub.f64 d10, d12, d10 │ │ │ │ │ + vstr d11, [sp, #320] @ 0x140 │ │ │ │ │ + vadd.f64 d11, d6, d4 │ │ │ │ │ + vsub.f64 d1, d2, d3 │ │ │ │ │ + vstr d15, [sp, #312] @ 0x138 │ │ │ │ │ + vsub.f64 d6, d6, d4 │ │ │ │ │ + vldr d12, [pc, #616] @ 8e8 │ │ │ │ │ + vsub.f64 d15, d14, d15 │ │ │ │ │ + vmov.f64 d5, d11 │ │ │ │ │ + vldr d11, [sp, #320] @ 0x140 │ │ │ │ │ + vsub.f64 d4, d10, d6 │ │ │ │ │ + vadd.f64 d10, d10, d6 │ │ │ │ │ + vstr d5, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d8, [sp, #280] @ 0x118 │ │ │ │ │ + vsub.f64 d11, d11, d5 │ │ │ │ │ + vadd.f64 d5, d2, d3 │ │ │ │ │ + vsub.f64 d3, d7, d0 │ │ │ │ │ + vldr d6, [sp, #280] @ 0x118 │ │ │ │ │ + vadd.f64 d7, d7, d0 │ │ │ │ │ + vldr d0, [pc, #572] @ 8f0 │ │ │ │ │ + vadd.f64 d2, d9, d8 │ │ │ │ │ + vstr d5, [sp, #472] @ 0x1d8 │ │ │ │ │ + vldr d5, [pc, #544] @ 8e0 │ │ │ │ │ + vsub.f64 d8, d3, d2 │ │ │ │ │ + vadd.f64 d3, d3, d2 │ │ │ │ │ + vldr d2, [pc, #532] @ 8e0 │ │ │ │ │ + vmul.f64 d5, d8, d5 │ │ │ │ │ + vmul.f64 d3, d3, d2 │ │ │ │ │ + vmov.f64 d8, d2 │ │ │ │ │ + vstr d3, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d5, [sp, #480] @ 0x1e0 │ │ │ │ │ + vsub.f64 d5, d6, d9 │ │ │ │ │ + vldr d9, [sp, #352] @ 0x160 │ │ │ │ │ + vsub.f64 d6, d5, d7 │ │ │ │ │ + vadd.f64 d5, d5, d7 │ │ │ │ │ + vmul.f64 d7, d5, d2 │ │ │ │ │ + vmul.f64 d6, d6, d2 │ │ │ │ │ + vldr d2, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d6, [sp, #280] @ 0x118 │ │ │ │ │ + vstr d7, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d6, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d7, [sp, #120] @ 0x78 │ │ │ │ │ + vsub.f64 d5, d9, d6 │ │ │ │ │ + vmul.f64 d6, d4, d0 │ │ │ │ │ vmul.f64 d4, d4, d12 │ │ │ │ │ + vsub.f64 d7, d7, d2 │ │ │ │ │ + vldr d2, [sp, #432] @ 0x1b0 │ │ │ │ │ + vnmls.f64 d6, d1, d12 │ │ │ │ │ + vmul.f64 d7, d7, d8 │ │ │ │ │ + vldr d8, [sp, #448] @ 0x1c0 │ │ │ │ │ vadd.f64 d3, d5, d7 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ - vmul.f64 d7, d8, d2 │ │ │ │ │ - vldr d2, [sp, #448] @ 0x1c0 │ │ │ │ │ - vnmls.f64 d6, d1, d12 │ │ │ │ │ - vmla.f64 d4, d1, d13 │ │ │ │ │ - vldr d1, [sp, #48] @ 0x30 │ │ │ │ │ - vmla.f64 d7, d2, d12 │ │ │ │ │ - vmov.f64 d12, d13 │ │ │ │ │ + vmul.f64 d7, d2, d0 │ │ │ │ │ + vmla.f64 d7, d8, d12 │ │ │ │ │ vsub.f64 d0, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vmul.f64 d7, d2, d13 │ │ │ │ │ - vldr d2, [pc, #920] @ ad8 │ │ │ │ │ - vldr d13, [sp, #400] @ 0x190 │ │ │ │ │ - vnmls.f64 d7, d8, d2 │ │ │ │ │ + vldr d7, [pc, #424] @ 8f0 │ │ │ │ │ + vmla.f64 d4, d1, d7 │ │ │ │ │ + vmul.f64 d7, d8, d7 │ │ │ │ │ + vldr d1, [sp, #32] │ │ │ │ │ + vnmls.f64 d7, d2, d12 │ │ │ │ │ + vldr d2, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d12, [sp, #368] @ 0x170 │ │ │ │ │ vadd.f64 d8, d4, d7 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [sp] │ │ │ │ │ - vsub.f64 d4, d4, d1 │ │ │ │ │ - vldr d1, [sp, #192] @ 0xc0 │ │ │ │ │ - vsub.f64 d2, d1, d13 │ │ │ │ │ - vmul.f64 d2, d2, d11 │ │ │ │ │ + vsub.f64 d4, d12, d1 │ │ │ │ │ + vldr d1, [sp, #184] @ 0xb8 │ │ │ │ │ + vsub.f64 d2, d1, d2 │ │ │ │ │ + vldr d1, [pc, #360] @ 8e0 │ │ │ │ │ + vmul.f64 d2, d2, d1 │ │ │ │ │ vsub.f64 d1, d4, d2 │ │ │ │ │ vadd.f64 d4, d4, d2 │ │ │ │ │ vsub.f64 d2, d3, d8 │ │ │ │ │ vadd.f64 d3, d3, d8 │ │ │ │ │ - vstr d2, [r6] │ │ │ │ │ + vldr d8, [pc, #336] @ 8e0 │ │ │ │ │ + vstr d2, [r4] │ │ │ │ │ vsub.f64 d2, d4, d6 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vldr d4, [pc, #852] @ ad8 │ │ │ │ │ - movs r6, #248 @ 0xf8 │ │ │ │ │ - vstr d2, [r5] │ │ │ │ │ - add.w r5, ip, r4 │ │ │ │ │ - add r4, lr │ │ │ │ │ - vstr d3, [r5] │ │ │ │ │ - movs r5, #232 @ 0xe8 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ + vldr d4, [sp, #456] @ 0x1c8 │ │ │ │ │ + vstr d2, [r1] │ │ │ │ │ + mov.w r1, r5, lsl #4 │ │ │ │ │ + vldr d2, [pc, #324] @ 8f0 │ │ │ │ │ + add.w r4, r2, r1 │ │ │ │ │ + add r1, r3 │ │ │ │ │ + vstr d3, [r4] │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ + mov.w r1, ip, lsl #4 │ │ │ │ │ vsub.f64 d6, d1, d7 │ │ │ │ │ - add.w r4, lr, r0 │ │ │ │ │ - add r0, ip │ │ │ │ │ vadd.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ + vldr d1, [sp, #472] @ 0x1d8 │ │ │ │ │ + sub.w r4, r1, ip │ │ │ │ │ + str r4, [sp, #352] @ 0x160 │ │ │ │ │ + mov.w r4, r4, lsl #4 │ │ │ │ │ + add.w r6, r3, r4 │ │ │ │ │ + add r4, r2 │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ vsub.f64 d6, d5, d0 │ │ │ │ │ vadd.f64 d5, d5, d0 │ │ │ │ │ - vldr d0, [sp, #440] @ 0x1b8 │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ - add.w r0, lr, r1 │ │ │ │ │ - vldr d6, [sp, #56] @ 0x38 │ │ │ │ │ - add r1, ip │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ - vadd.f64 d7, d10, d6 │ │ │ │ │ - vldr d10, [sp, #192] @ 0xc0 │ │ │ │ │ - vstr d5, [r1] │ │ │ │ │ - vmul.f64 d5, d0, d4 │ │ │ │ │ - movs r1, #144 @ 0x90 │ │ │ │ │ - vadd.f64 d6, d13, d10 │ │ │ │ │ - vldr d10, [sp, #456] @ 0x1c8 │ │ │ │ │ - mul.w r1, r7, r1 │ │ │ │ │ - vmla.f64 d5, d10, d12 │ │ │ │ │ - vmul.f64 d6, d6, d11 │ │ │ │ │ - add.w r0, ip, r1 │ │ │ │ │ - add r1, lr │ │ │ │ │ + vldr d0, [pc, #256] @ 8e8 │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ + mov.w r4, r7, lsl #4 │ │ │ │ │ + vldr d6, [sp, #40] @ 0x28 │ │ │ │ │ + add.w r6, r3, r4 │ │ │ │ │ + add r4, r2 │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ + add.w r6, lr, ip │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ + mov.w r4, r6, lsl #4 │ │ │ │ │ + vadd.f64 d7, d9, d6 │ │ │ │ │ + vldr d6, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d9, [sp, #184] @ 0xb8 │ │ │ │ │ + vadd.f64 d6, d6, d9 │ │ │ │ │ + vldr d9, [sp, #440] @ 0x1b8 │ │ │ │ │ + vmul.f64 d6, d6, d8 │ │ │ │ │ + vmul.f64 d5, d9, d0 │ │ │ │ │ + vmla.f64 d5, d4, d2 │ │ │ │ │ vadd.f64 d3, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vmul.f64 d6, d9, d4 │ │ │ │ │ - vnmls.f64 d6, d15, d12 │ │ │ │ │ + vmul.f64 d6, d10, d0 │ │ │ │ │ + vnmls.f64 d6, d1, d2 │ │ │ │ │ vsub.f64 d2, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vmul.f64 d5, d9, d12 │ │ │ │ │ - vmul.f64 d9, d10, d4 │ │ │ │ │ - vmla.f64 d5, d15, d4 │ │ │ │ │ - vldr d4, [sp] │ │ │ │ │ - vnmls.f64 d9, d0, d12 │ │ │ │ │ - vadd.f64 d0, d5, d9 │ │ │ │ │ - vsub.f64 d9, d9, d5 │ │ │ │ │ + vldr d5, [pc, #168] @ 8f0 │ │ │ │ │ + vmul.f64 d5, d10, d5 │ │ │ │ │ + vmul.f64 d10, d4, d0 │ │ │ │ │ + vldr d4, [pc, #156] @ 8f0 │ │ │ │ │ + vmla.f64 d5, d1, d0 │ │ │ │ │ + vldr d1, [sp, #32] │ │ │ │ │ + vnmls.f64 d10, d9, d4 │ │ │ │ │ + vmov.f64 d4, d12 │ │ │ │ │ + str r6, [sp, #32] │ │ │ │ │ + add.w r6, r2, r4 │ │ │ │ │ + add r4, r3 │ │ │ │ │ + vldr d9, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d12, [sp, #384] @ 0x180 │ │ │ │ │ + vadd.f64 d0, d5, d10 │ │ │ │ │ + vsub.f64 d10, d10, d5 │ │ │ │ │ vadd.f64 d5, d4, d1 │ │ │ │ │ - vldr d1, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d4, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d1, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d4, [sp, #176] @ 0xb0 │ │ │ │ │ vadd.f64 d4, d1, d4 │ │ │ │ │ - vmul.f64 d4, d4, d11 │ │ │ │ │ + vmul.f64 d4, d4, d8 │ │ │ │ │ vsub.f64 d1, d5, d4 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ vsub.f64 d4, d3, d0 │ │ │ │ │ vadd.f64 d3, d3, d0 │ │ │ │ │ - vstr d4, [r0] │ │ │ │ │ + vstr d4, [r6] │ │ │ │ │ vsub.f64 d4, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vstr d4, [r1] │ │ │ │ │ - lsls r1, r7, #4 │ │ │ │ │ - add.w r0, ip, r1 │ │ │ │ │ - add r1, lr │ │ │ │ │ - vldr d10, [sp, #360] @ 0x168 │ │ │ │ │ - vldr d4, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d3, [r0] │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ - movs r1, #208 @ 0xd0 │ │ │ │ │ - vsub.f64 d6, d1, d9 │ │ │ │ │ - vadd.f64 d9, d9, d1 │ │ │ │ │ - vldr d1, [sp, #144] @ 0x90 │ │ │ │ │ - vsub.f64 d5, d10, d4 │ │ │ │ │ - mul.w r1, r7, r1 │ │ │ │ │ - vldr d13, [sp, #496] @ 0x1f0 │ │ │ │ │ - vldr d12, [sp, #384] @ 0x180 │ │ │ │ │ - add.w r0, lr, r1 │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ + add.w r4, r2, r1 │ │ │ │ │ + vldr d4, [sp, #424] @ 0x1a8 │ │ │ │ │ + vstr d3, [r4] │ │ │ │ │ + add.w r4, r3, r1 │ │ │ │ │ add r1, ip │ │ │ │ │ - vldr d15, [sp, #392] @ 0x188 │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ + mov.w r4, #208 @ 0xd0 │ │ │ │ │ + vsub.f64 d6, d1, d10 │ │ │ │ │ + vadd.f64 d10, d10, d1 │ │ │ │ │ + vldr d1, [sp, #136] @ 0x88 │ │ │ │ │ + mul.w r4, r4, ip │ │ │ │ │ + b.n 918 │ │ │ │ │ + .word 0x667f3bcd │ │ │ │ │ + .word 0x3fe6a09e │ │ │ │ │ + .word 0xa6aea963 │ │ │ │ │ + .word 0x3fd87de2 │ │ │ │ │ + .word 0xcf328d46 │ │ │ │ │ + .word 0x3fed906b │ │ │ │ │ + .word 0x3c69a60b │ │ │ │ │ + .word 0x3fc8f8b8 │ │ │ │ │ + .word 0xcff75cb0 │ │ │ │ │ + .word 0x3fef6297 │ │ │ │ │ + .word 0x39ae68c8 │ │ │ │ │ + .word 0x3fe1c73b │ │ │ │ │ + .word 0x290ea1a3 │ │ │ │ │ + .word 0x3fea9b66 │ │ │ │ │ + add.w r6, r3, r4 │ │ │ │ │ + add r4, r2 │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ vsub.f64 d6, d7, d2 │ │ │ │ │ + add.w r6, ip, ip, lsl #2 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ - add.w r1, lr, r2 │ │ │ │ │ - vldr d6, [sp, #96] @ 0x60 │ │ │ │ │ - add r2, ip │ │ │ │ │ - vstr d9, [r1] │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ + mov.w r4, r6, lsl #4 │ │ │ │ │ + vldr d6, [sp, #80] @ 0x50 │ │ │ │ │ + add.w r8, r3, r4 │ │ │ │ │ + add r4, r2 │ │ │ │ │ + vstr d10, [r8] │ │ │ │ │ + vldr d10, [sp, #360] @ 0x168 │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + mov.w r4, r6, lsl #5 │ │ │ │ │ vsub.f64 d7, d6, d1 │ │ │ │ │ - vldr d9, [sp, #424] @ 0x1a8 │ │ │ │ │ - movs r2, #160 @ 0xa0 │ │ │ │ │ - vldr d1, [sp, #472] @ 0x1d8 │ │ │ │ │ + vmov.f64 d1, d13 │ │ │ │ │ + vldr d13, [sp, #408] @ 0x198 │ │ │ │ │ + vsub.f64 d6, d11, d15 │ │ │ │ │ + vadd.f64 d15, d15, d11 │ │ │ │ │ + add.w r8, r2, r4 │ │ │ │ │ + vldr d11, [sp, #400] @ 0x190 │ │ │ │ │ + add r4, r3 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + vsub.f64 d5, d10, d12 │ │ │ │ │ vadd.f64 d2, d5, d7 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ - vsub.f64 d6, d14, d1 │ │ │ │ │ - vadd.f64 d7, d9, d13 │ │ │ │ │ - vadd.f64 d4, d1, d14 │ │ │ │ │ - vldr d14, [sp, #408] @ 0x198 │ │ │ │ │ - mul.w r2, r7, r2 │ │ │ │ │ + vadd.f64 d7, d4, d1 │ │ │ │ │ vsub.f64 d3, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vsub.f64 d7, d9, d13 │ │ │ │ │ - vldr d9, [sp, #376] @ 0x178 │ │ │ │ │ - vsub.f64 d8, d14, d15 │ │ │ │ │ - add.w r1, ip, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ - vldr d13, [sp, #248] @ 0xf8 │ │ │ │ │ - vmul.f64 d6, d6, d11 │ │ │ │ │ - vmul.f64 d3, d3, d11 │ │ │ │ │ - vadd.f64 d1, d4, d7 │ │ │ │ │ - vsub.f64 d7, d7, d4 │ │ │ │ │ - vsub.f64 d4, d9, d12 │ │ │ │ │ - vmul.f64 d1, d1, d11 │ │ │ │ │ - vmul.f64 d7, d7, d11 │ │ │ │ │ + vsub.f64 d7, d4, d1 │ │ │ │ │ + vmul.f64 d3, d3, d8 │ │ │ │ │ + vmul.f64 d6, d6, d8 │ │ │ │ │ + vadd.f64 d1, d15, d7 │ │ │ │ │ + vsub.f64 d7, d7, d15 │ │ │ │ │ + vldr d15, [sp, #392] @ 0x188 │ │ │ │ │ + vmul.f64 d1, d1, d8 │ │ │ │ │ + vsub.f64 d4, d9, d15 │ │ │ │ │ + vmul.f64 d7, d7, d8 │ │ │ │ │ + vsub.f64 d8, d13, d11 │ │ │ │ │ vsub.f64 d0, d4, d8 │ │ │ │ │ vadd.f64 d4, d4, d8 │ │ │ │ │ vsub.f64 d8, d2, d1 │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ - vstr d8, [r1] │ │ │ │ │ + vmov.f64 d1, d11 │ │ │ │ │ + vldr d11, [sp, #320] @ 0x140 │ │ │ │ │ + vstr d8, [r8] │ │ │ │ │ vsub.f64 d8, d4, d6 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vldr d4, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ - lsls r2, r7, #5 │ │ │ │ │ - add.w r1, ip, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ - vstr d2, [r1] │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - mul.w r2, r3, r7 │ │ │ │ │ + vldr d4, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d8, [r4] │ │ │ │ │ + mov.w r4, ip, lsl #5 │ │ │ │ │ + add.w r8, r2, r4 │ │ │ │ │ + vstr d2, [r8] │ │ │ │ │ + add.w r8, r3, r4 │ │ │ │ │ + sub.w r4, r4, ip │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + vstr d6, [r8] │ │ │ │ │ vsub.f64 d6, d0, d7 │ │ │ │ │ + mov.w r8, r7, lsl #5 │ │ │ │ │ vadd.f64 d7, d7, d0 │ │ │ │ │ - add.w r1, lr, r2 │ │ │ │ │ - add r2, ip │ │ │ │ │ - movs r3, #120 @ 0x78 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + add.w sl, r3, r8 │ │ │ │ │ + add r8, r2 │ │ │ │ │ + vstr d6, [sl] │ │ │ │ │ vsub.f64 d6, d5, d3 │ │ │ │ │ - movs r1, #96 @ 0x60 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - mul.w r2, r1, r7 │ │ │ │ │ - vadd.f64 d6, d15, d14 │ │ │ │ │ - vldr d14, [sp, #328] @ 0x148 │ │ │ │ │ - add.w r1, lr, r2 │ │ │ │ │ - add r2, ip │ │ │ │ │ - vldr d15, [sp, #336] @ 0x150 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ - vadd.f64 d7, d10, d4 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - vadd.f64 d4, d14, d15 │ │ │ │ │ - lsls r2, r7, #7 │ │ │ │ │ - add.w r1, ip, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ - vadd.f64 d5, d7, d6 │ │ │ │ │ + vstr d6, [r8] │ │ │ │ │ + mov.w r8, r5, lsl #5 │ │ │ │ │ + vadd.f64 d6, d1, d13 │ │ │ │ │ + vldr d1, [sp, #328] @ 0x148 │ │ │ │ │ + add.w sl, r3, r8 │ │ │ │ │ + add r8, r2 │ │ │ │ │ + vstr d7, [sl] │ │ │ │ │ + vadd.f64 d7, d10, d12 │ │ │ │ │ + vstr d5, [r8] │ │ │ │ │ + mov.w r8, ip, lsl #7 │ │ │ │ │ + vldr d13, [sp, #240] @ 0xf0 │ │ │ │ │ + add.w sl, r2, r8 │ │ │ │ │ + add r8, r3 │ │ │ │ │ + vldr d12, [sp, #192] @ 0xc0 │ │ │ │ │ + vldr d10, [sp, #216] @ 0xd8 │ │ │ │ │ + vadd.f64 d3, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #240] @ 0xf0 │ │ │ │ │ - vadd.f64 d6, d6, d13 │ │ │ │ │ - vldr d13, [sp, #320] @ 0x140 │ │ │ │ │ - vsub.f64 d3, d4, d6 │ │ │ │ │ - vadd.f64 d6, d4, d6 │ │ │ │ │ - vldr d4, [sp, #312] @ 0x138 │ │ │ │ │ - vadd.f64 d2, d4, d13 │ │ │ │ │ - vldr d4, [sp, #224] @ 0xe0 │ │ │ │ │ - vldr d1, [sp, #232] @ 0xe8 │ │ │ │ │ - vldr d10, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d14, [sp, #344] @ 0x158 │ │ │ │ │ - vadd.f64 d4, d4, d1 │ │ │ │ │ + vadd.f64 d6, d11, d1 │ │ │ │ │ + vldr d0, [sp, #224] @ 0xe0 │ │ │ │ │ + vadd.f64 d5, d4, d13 │ │ │ │ │ + vmov.f64 d4, d14 │ │ │ │ │ + vldr d13, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d14, [sp, #464] @ 0x1d0 │ │ │ │ │ + vsub.f64 d1, d6, d5 │ │ │ │ │ + vadd.f64 d6, d6, d5 │ │ │ │ │ + vldr d11, [sp, #480] @ 0x1e0 │ │ │ │ │ + vadd.f64 d5, d10, d0 │ │ │ │ │ + vadd.f64 d4, d4, d13 │ │ │ │ │ + vldr d10, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d13, [sp, #248] @ 0xf8 │ │ │ │ │ + vadd.f64 d8, d4, d5 │ │ │ │ │ + vsub.f64 d5, d5, d4 │ │ │ │ │ + vadd.f64 d4, d9, d15 │ │ │ │ │ + vldr d9, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d15, [sp, #136] @ 0x88 │ │ │ │ │ + vadd.f64 d2, d10, d15 │ │ │ │ │ + vldr d10, [sp] │ │ │ │ │ + vldr d15, [sp, #304] @ 0x130 │ │ │ │ │ + vsub.f64 d0, d4, d2 │ │ │ │ │ + vadd.f64 d4, d4, d2 │ │ │ │ │ + vsub.f64 d2, d3, d8 │ │ │ │ │ + vadd.f64 d3, d3, d8 │ │ │ │ │ + vldr d8, [sp, #208] @ 0xd0 │ │ │ │ │ + vstr d2, [sl] │ │ │ │ │ + vsub.f64 d2, d4, d6 │ │ │ │ │ + vadd.f64 d6, d6, d4 │ │ │ │ │ + vstr d2, [r8] │ │ │ │ │ + mov.w r8, ip, lsl #6 │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + vadd.f64 d6, d5, d0 │ │ │ │ │ + add.w sl, r3, r8 │ │ │ │ │ + add r8, r2 │ │ │ │ │ + vsub.f64 d0, d0, d5 │ │ │ │ │ + vldr d3, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d6, [sl] │ │ │ │ │ + vadd.f64 d6, d7, d1 │ │ │ │ │ + vsub.f64 d7, d7, d1 │ │ │ │ │ vldr d1, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d13, [sp, #256] @ 0x100 │ │ │ │ │ - vadd.f64 d1, d10, d1 │ │ │ │ │ - vldr d10, [sp, #8] │ │ │ │ │ - vadd.f64 d8, d2, d4 │ │ │ │ │ - vsub.f64 d4, d4, d2 │ │ │ │ │ - vadd.f64 d2, d9, d12 │ │ │ │ │ - vsub.f64 d0, d2, d1 │ │ │ │ │ - vadd.f64 d2, d2, d1 │ │ │ │ │ - vsub.f64 d1, d5, d8 │ │ │ │ │ - vadd.f64 d5, d5, d8 │ │ │ │ │ - vldr d8, [sp, #32] │ │ │ │ │ - vstr d1, [r1] │ │ │ │ │ - vsub.f64 d1, d2, d6 │ │ │ │ │ - vadd.f64 d6, d6, d2 │ │ │ │ │ - vstr d1, [r2] │ │ │ │ │ - lsls r2, r7, #6 │ │ │ │ │ - vstr d5, [ip] │ │ │ │ │ - add.w r1, lr, r2 │ │ │ │ │ - vstr d6, [lr] │ │ │ │ │ - vadd.f64 d6, d4, d0 │ │ │ │ │ - add r2, ip │ │ │ │ │ - vsub.f64 d0, d0, d4 │ │ │ │ │ - vldr d4, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d5, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ - vadd.f64 d6, d7, d3 │ │ │ │ │ - vsub.f64 d7, d7, d3 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - movs r2, #192 @ 0xc0 │ │ │ │ │ - vldr d6, [sp, #80] @ 0x50 │ │ │ │ │ - mul.w r2, r7, r2 │ │ │ │ │ - add.w r1, lr, r2 │ │ │ │ │ - add r2, ip │ │ │ │ │ - vstr d0, [r1] │ │ │ │ │ - movs r1, #184 @ 0xb8 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ + vstr d6, [r8] │ │ │ │ │ + mov.w r8, r5, lsl #6 │ │ │ │ │ + vldr d6, [sp, #64] @ 0x40 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ + add.w sl, r3, r8 │ │ │ │ │ + add r8, r2 │ │ │ │ │ + vstr d0, [sl] │ │ │ │ │ + vldr d0, [sp, #24] │ │ │ │ │ + vstr d7, [r8] │ │ │ │ │ + mov.w r8, #184 @ 0xb8 │ │ │ │ │ vsub.f64 d7, d10, d6 │ │ │ │ │ - vldr d6, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d0, [sp, #160] @ 0xa0 │ │ │ │ │ - mul.w r1, r7, r1 │ │ │ │ │ - vldr d10, [sp, #200] @ 0xc8 │ │ │ │ │ - vsub.f64 d6, d6, d4 │ │ │ │ │ - vldr d4, [sp, #64] @ 0x40 │ │ │ │ │ - add.w r2, ip, r1 │ │ │ │ │ - add r1, lr │ │ │ │ │ - vsub.f64 d4, d8, d4 │ │ │ │ │ - vldr d8, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d6, [sp, #88] @ 0x58 │ │ │ │ │ + mul.w r8, r8, ip │ │ │ │ │ + vldr d10, [sp, #280] @ 0x118 │ │ │ │ │ + vsub.f64 d4, d0, d9 │ │ │ │ │ + vldr d0, [sp, #152] @ 0x98 │ │ │ │ │ + add.w sl, r2, r8 │ │ │ │ │ + add r8, r3 │ │ │ │ │ + vsub.f64 d6, d6, d1 │ │ │ │ │ + vsub.f64 d9, d15, d10 │ │ │ │ │ + vldr d10, [pc, #-600] @ 8f8 │ │ │ │ │ + vldr d15, [pc, #-596] @ 900 │ │ │ │ │ vadd.f64 d1, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vsub.f64 d6, d0, d5 │ │ │ │ │ - vldr d5, [sp, #352] @ 0x160 │ │ │ │ │ + vsub.f64 d6, d0, d3 │ │ │ │ │ + vmul.f64 d2, d9, d10 │ │ │ │ │ + vmul.f64 d9, d9, d15 │ │ │ │ │ vsub.f64 d3, d4, d6 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ - vsub.f64 d6, d8, d14 │ │ │ │ │ - vldr d14, [sp, #464] @ 0x1d0 │ │ │ │ │ - vldr d8, [pc, #40] @ ae8 │ │ │ │ │ - vsub.f64 d9, d14, d5 │ │ │ │ │ - vldr d5, [pc, #40] @ af0 │ │ │ │ │ - vmov.f64 d15, d5 │ │ │ │ │ - vmul.f64 d2, d9, d8 │ │ │ │ │ - vmul.f64 d9, d9, d5 │ │ │ │ │ - b.n b08 │ │ │ │ │ - .word 0xa6aea963 │ │ │ │ │ - .word 0x3fd87de2 │ │ │ │ │ - .word 0xcf328d46 │ │ │ │ │ - .word 0x3fed906b │ │ │ │ │ - .word 0x3c69a60b │ │ │ │ │ - .word 0x3fc8f8b8 │ │ │ │ │ - .word 0xcff75cb0 │ │ │ │ │ - .word 0x3fef6297 │ │ │ │ │ - .word 0x290ea1a3 │ │ │ │ │ - .word 0x3fea9b66 │ │ │ │ │ - .word 0x39ae68c8 │ │ │ │ │ - .word 0x3fe1c73b │ │ │ │ │ - vmla.f64 d2, d6, d5 │ │ │ │ │ - vnmls.f64 d9, d6, d8 │ │ │ │ │ - vsub.f64 d6, d10, d13 │ │ │ │ │ - vldr d10, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d13, [sp, #272] @ 0x110 │ │ │ │ │ - vsub.f64 d0, d10, d13 │ │ │ │ │ - vmul.f64 d5, d0, d5 │ │ │ │ │ - vnmls.f64 d5, d6, d8 │ │ │ │ │ + vsub.f64 d6, d14, d11 │ │ │ │ │ + vmla.f64 d2, d6, d15 │ │ │ │ │ + vnmls.f64 d9, d6, d10 │ │ │ │ │ + vsub.f64 d6, d12, d13 │ │ │ │ │ + vldr d13, [sp, #264] @ 0x108 │ │ │ │ │ + vsub.f64 d0, d8, d13 │ │ │ │ │ + vmul.f64 d5, d0, d15 │ │ │ │ │ + vnmls.f64 d5, d6, d10 │ │ │ │ │ vmul.f64 d6, d6, d15 │ │ │ │ │ - vmla.f64 d6, d0, d8 │ │ │ │ │ + vmla.f64 d6, d0, d10 │ │ │ │ │ vadd.f64 d0, d2, d5 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ vsub.f64 d8, d1, d0 │ │ │ │ │ vadd.f64 d1, d1, d0 │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ - movs r2, #56 @ 0x38 │ │ │ │ │ - mul.w r2, r2, r7 │ │ │ │ │ - add.w r0, ip, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ - vstr d1, [r0] │ │ │ │ │ + vstr d8, [sl] │ │ │ │ │ + add.w sl, r2, r7 │ │ │ │ │ + add r7, r3 │ │ │ │ │ + vstr d1, [sl] │ │ │ │ │ vadd.f64 d1, d9, d6 │ │ │ │ │ vsub.f64 d9, d9, d6 │ │ │ │ │ vsub.f64 d0, d4, d1 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ vsub.f64 d6, d7, d9 │ │ │ │ │ vadd.f64 d7, d7, d9 │ │ │ │ │ - vstr d0, [r1] │ │ │ │ │ - mul.w r1, r6, r7 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ + vstr d0, [r8] │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ vsub.f64 d4, d3, d5 │ │ │ │ │ - add.w r2, lr, r1 │ │ │ │ │ + add.w r7, r3, r4 │ │ │ │ │ vadd.f64 d3, d3, d5 │ │ │ │ │ - add r1, ip │ │ │ │ │ - movs r6, #24 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - mul.w r2, r3, r7 │ │ │ │ │ - vldr d1, [sp, #16] │ │ │ │ │ - movs r3, #40 @ 0x28 │ │ │ │ │ - add.w r0, lr, r2 │ │ │ │ │ - vldr d9, [sp, #72] @ 0x48 │ │ │ │ │ - add r2, ip │ │ │ │ │ - vldr d2, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d0, [sp, #88] @ 0x58 │ │ │ │ │ - mul.w r3, r7, r3 │ │ │ │ │ - vstr d3, [r0] │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - vsub.f64 d7, d1, d9 │ │ │ │ │ - vldr d9, [sp, #168] @ 0xa8 │ │ │ │ │ - movs r2, #168 @ 0xa8 │ │ │ │ │ - vldr d3, [sp, #24] │ │ │ │ │ - vldr d5, [sp, #304] @ 0x130 │ │ │ │ │ - vsub.f64 d6, d2, d9 │ │ │ │ │ - vldr d12, [sp, #488] @ 0x1e8 │ │ │ │ │ - vsub.f64 d4, d3, d0 │ │ │ │ │ - vldr d3, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d0, [sp, #128] @ 0x80 │ │ │ │ │ - mul.w r2, r7, r2 │ │ │ │ │ - vldr d15, [sp, #480] @ 0x1e0 │ │ │ │ │ + add r4, r2 │ │ │ │ │ + vldr d8, [sp, #16] │ │ │ │ │ + vldr d12, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d5, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ + vldr d4, [sp, #8] │ │ │ │ │ + ldr r7, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d9, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d2, [sp, #112] @ 0x70 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + vldr d0, [pc, #-772] @ 908 │ │ │ │ │ + add.w r8, r3, r7 │ │ │ │ │ + add r7, r2 │ │ │ │ │ + vldr d13, [sp, #416] @ 0x1a0 │ │ │ │ │ + vstr d3, [r8] │ │ │ │ │ + vldr d3, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ + vsub.f64 d6, d5, d9 │ │ │ │ │ + mov.w r4, #168 @ 0xa8 │ │ │ │ │ + vldr d9, [sp, #288] @ 0x120 │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ + vsub.f64 d7, d4, d12 │ │ │ │ │ + mul.w r4, r4, ip │ │ │ │ │ + vldr d12, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d5, [sp, #336] @ 0x150 │ │ │ │ │ + vsub.f64 d4, d8, d3 │ │ │ │ │ + add.w r7, r2, r4 │ │ │ │ │ + add r4, r3 │ │ │ │ │ + vldr d8, [sp, #272] @ 0x110 │ │ │ │ │ vadd.f64 d1, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vsub.f64 d6, d3, d0 │ │ │ │ │ - vldr d2, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d0, [pc, #-248] @ b00 │ │ │ │ │ - add.w r1, ip, r2 │ │ │ │ │ - vldr d13, [sp, #416] @ 0x1a0 │ │ │ │ │ - add r2, lr │ │ │ │ │ - vsub.f64 d9, d2, d15 │ │ │ │ │ - vldr d10, [sp, #208] @ 0xd0 │ │ │ │ │ + vsub.f64 d6, d12, d2 │ │ │ │ │ + vldr d2, [sp, #344] @ 0x158 │ │ │ │ │ + vmov.f64 d12, d0 │ │ │ │ │ + vsub.f64 d9, d9, d5 │ │ │ │ │ + vldr d5, [sp, #296] @ 0x128 │ │ │ │ │ vsub.f64 d3, d4, d6 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ - vsub.f64 d6, d5, d12 │ │ │ │ │ - vldr d5, [pc, #-292] @ af8 │ │ │ │ │ - vmov.f64 d8, d0 │ │ │ │ │ + vsub.f64 d6, d5, d2 │ │ │ │ │ + vldr d5, [pc, #-876] @ 910 │ │ │ │ │ vmul.f64 d2, d6, d5 │ │ │ │ │ vmla.f64 d2, d9, d0 │ │ │ │ │ vmul.f64 d9, d9, d5 │ │ │ │ │ vnmls.f64 d9, d6, d0 │ │ │ │ │ - vldr d6, [sp, #280] @ 0x118 │ │ │ │ │ - vsub.f64 d0, d13, d6 │ │ │ │ │ - vldr d6, [sp, #264] @ 0x108 │ │ │ │ │ - vsub.f64 d6, d10, d6 │ │ │ │ │ - vmov.f64 d10, d5 │ │ │ │ │ + vldr d6, [sp, #256] @ 0x100 │ │ │ │ │ + vsub.f64 d0, d13, d8 │ │ │ │ │ + vldr d8, [sp, #200] @ 0xc8 │ │ │ │ │ + vsub.f64 d6, d8, d6 │ │ │ │ │ + vmov.f64 d8, d5 │ │ │ │ │ vmul.f64 d5, d6, d5 │ │ │ │ │ - vmul.f64 d6, d6, d8 │ │ │ │ │ - vmla.f64 d6, d0, d10 │ │ │ │ │ - vnmls.f64 d5, d0, d8 │ │ │ │ │ + vmul.f64 d6, d6, d12 │ │ │ │ │ + vnmls.f64 d5, d0, d12 │ │ │ │ │ + vmla.f64 d6, d0, d8 │ │ │ │ │ vadd.f64 d0, d2, d5 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ vsub.f64 d8, d1, d0 │ │ │ │ │ vadd.f64 d1, d1, d0 │ │ │ │ │ - vstr d8, [r1] │ │ │ │ │ - add.w r1, ip, r3 │ │ │ │ │ - add r3, lr │ │ │ │ │ - vstr d1, [r1] │ │ │ │ │ + vstr d8, [r7] │ │ │ │ │ + add.w r7, r2, r6 │ │ │ │ │ + add r6, r3 │ │ │ │ │ + vstr d1, [r7] │ │ │ │ │ vadd.f64 d1, d9, d6 │ │ │ │ │ vsub.f64 d9, d9, d6 │ │ │ │ │ + mov.w r7, #104 @ 0x68 │ │ │ │ │ vsub.f64 d0, d4, d1 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ vsub.f64 d6, d7, d9 │ │ │ │ │ vadd.f64 d7, d7, d9 │ │ │ │ │ - vldr d1, [sp, #16] │ │ │ │ │ - vstr d0, [r2] │ │ │ │ │ - mul.w r2, r5, r7 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ + vstr d0, [r4] │ │ │ │ │ + mov.w r4, #232 @ 0xe8 │ │ │ │ │ + vstr d4, [r6] │ │ │ │ │ vsub.f64 d4, d3, d5 │ │ │ │ │ - add.w r3, lr, r2 │ │ │ │ │ vadd.f64 d3, d3, d5 │ │ │ │ │ - add r2, ip │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - mul.w r3, r9, r7 │ │ │ │ │ - vldr d4, [pc, #-460] @ ae8 │ │ │ │ │ - mov.w r9, #216 @ 0xd8 │ │ │ │ │ - add.w r1, lr, r3 │ │ │ │ │ - add r3, ip │ │ │ │ │ - vmov.f64 d8, d4 │ │ │ │ │ - vstr d3, [r1] │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - movs r3, #136 @ 0x88 │ │ │ │ │ - vldr d7, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d6, [sp, #176] @ 0xb0 │ │ │ │ │ - mul.w r3, r7, r3 │ │ │ │ │ - vadd.f64 d7, d1, d7 │ │ │ │ │ - vldr d1, [sp, #128] @ 0x80 │ │ │ │ │ - add.w r2, ip, r3 │ │ │ │ │ - add r3, lr │ │ │ │ │ - vadd.f64 d6, d1, d6 │ │ │ │ │ + mul.w r6, r4, ip │ │ │ │ │ + add.w r4, r3, r6 │ │ │ │ │ + add r6, r2 │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ + mul.w r4, r7, ip │ │ │ │ │ + add.w r7, r3, r4 │ │ │ │ │ + add r4, r2 │ │ │ │ │ + vstr d3, [r7] │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ + vldr d6, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + add.w r4, r2, r1 │ │ │ │ │ + add r1, r3 │ │ │ │ │ + vldr d7, [sp, #8] │ │ │ │ │ + vldr d2, [sp, #112] @ 0x70 │ │ │ │ │ + ldr r6, [sp, #32] │ │ │ │ │ + vldr d4, [sp, #168] @ 0xa8 │ │ │ │ │ + vadd.f64 d7, d7, d6 │ │ │ │ │ + vldr d12, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d5, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d9, [sp, #160] @ 0xa0 │ │ │ │ │ + vadd.f64 d6, d2, d4 │ │ │ │ │ + vldr d2, [sp, #16] │ │ │ │ │ vadd.f64 d1, d7, d6 │ │ │ │ │ + vadd.f64 d5, d5, d9 │ │ │ │ │ + vldr d9, [sp, #336] @ 0x150 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #24] │ │ │ │ │ - vldr d0, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d2, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d9, [sp, #168] @ 0xa8 │ │ │ │ │ - vadd.f64 d6, d6, d0 │ │ │ │ │ - vldr d0, [sp, #280] @ 0x118 │ │ │ │ │ - vadd.f64 d5, d2, d9 │ │ │ │ │ - vldr d2, [sp, #296] @ 0x128 │ │ │ │ │ - vadd.f64 d0, d13, d0 │ │ │ │ │ - vldr d13, [sp, #208] @ 0xd0 │ │ │ │ │ - vadd.f64 d9, d2, d15 │ │ │ │ │ - vldr d15, [pc, #-564] @ af0 │ │ │ │ │ + vadd.f64 d6, d2, d12 │ │ │ │ │ + vldr d2, [sp, #288] @ 0x120 │ │ │ │ │ vsub.f64 d3, d6, d5 │ │ │ │ │ + vadd.f64 d9, d2, d9 │ │ │ │ │ + vldr d2, [sp, #344] @ 0x158 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [sp, #304] @ 0x130 │ │ │ │ │ - vadd.f64 d10, d5, d12 │ │ │ │ │ - vldr d5, [sp, #264] @ 0x108 │ │ │ │ │ - vadd.f64 d5, d13, d5 │ │ │ │ │ - vldr d13, [sp, #256] @ 0x100 │ │ │ │ │ - vmul.f64 d2, d10, d4 │ │ │ │ │ + vldr d5, [sp, #296] @ 0x128 │ │ │ │ │ + vadd.f64 d4, d5, d2 │ │ │ │ │ + vldr d5, [sp, #256] @ 0x100 │ │ │ │ │ + vmul.f64 d2, d4, d10 │ │ │ │ │ vmla.f64 d2, d9, d15 │ │ │ │ │ - vmul.f64 d9, d9, d4 │ │ │ │ │ - vmul.f64 d4, d5, d4 │ │ │ │ │ + vmul.f64 d9, d9, d10 │ │ │ │ │ + vnmls.f64 d9, d4, d15 │ │ │ │ │ + vldr d4, [sp, #272] @ 0x110 │ │ │ │ │ + vadd.f64 d0, d13, d4 │ │ │ │ │ + vldr d13, [sp, #200] @ 0xc8 │ │ │ │ │ + vadd.f64 d5, d13, d5 │ │ │ │ │ + vmul.f64 d4, d5, d10 │ │ │ │ │ vmul.f64 d5, d5, d15 │ │ │ │ │ - vmla.f64 d5, d0, d8 │ │ │ │ │ - vnmls.f64 d9, d10, d15 │ │ │ │ │ - vldr d10, [sp, #200] @ 0xc8 │ │ │ │ │ vnmls.f64 d4, d0, d15 │ │ │ │ │ + vmla.f64 d5, d0, d10 │ │ │ │ │ + vldr d10, [sp] │ │ │ │ │ + vldr d15, [sp, #304] @ 0x130 │ │ │ │ │ vadd.f64 d0, d2, d4 │ │ │ │ │ vsub.f64 d4, d4, d2 │ │ │ │ │ - vldr d2, [sp, #32] │ │ │ │ │ vsub.f64 d8, d1, d0 │ │ │ │ │ vadd.f64 d1, d1, d0 │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ - lsls r2, r7, #3 │ │ │ │ │ - add.w r1, ip, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ - vldr d8, [pc, #-656] @ af8 │ │ │ │ │ - vstr d1, [r1] │ │ │ │ │ + vstr d8, [r4] │ │ │ │ │ + add.w r4, r2, lr │ │ │ │ │ + add lr, r3 │ │ │ │ │ + vldr d8, [pc, #412] @ f78 │ │ │ │ │ + vstr d1, [r4] │ │ │ │ │ vadd.f64 d1, d9, d5 │ │ │ │ │ - movs r1, #72 @ 0x48 │ │ │ │ │ vsub.f64 d9, d9, d5 │ │ │ │ │ - vldr d5, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d5, [sp, #64] @ 0x40 │ │ │ │ │ vsub.f64 d0, d6, d1 │ │ │ │ │ vadd.f64 d6, d6, d1 │ │ │ │ │ - vldr d1, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d0, [r3] │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - movs r2, #200 @ 0xc8 │ │ │ │ │ + vldr d1, [sp, #144] @ 0x90 │ │ │ │ │ + vstr d0, [r1] │ │ │ │ │ + mov.w r1, #200 @ 0xc8 │ │ │ │ │ + vstr d6, [lr] │ │ │ │ │ vsub.f64 d6, d3, d4 │ │ │ │ │ vadd.f64 d3, d3, d4 │ │ │ │ │ - vldr d0, [sp, #160] @ 0xa0 │ │ │ │ │ - vadd.f64 d4, d2, d1 │ │ │ │ │ - mul.w r2, r7, r2 │ │ │ │ │ - add.w r3, lr, r2 │ │ │ │ │ - add r2, ip │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - mul.w r3, r1, r7 │ │ │ │ │ + mul.w r1, r1, ip │ │ │ │ │ + vldr d4, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d0, [sp, #152] @ 0x98 │ │ │ │ │ + add.w r4, r3, r1 │ │ │ │ │ + add r1, r2 │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ vsub.f64 d6, d7, d9 │ │ │ │ │ vadd.f64 d7, d7, d9 │ │ │ │ │ - add.w r1, lr, r3 │ │ │ │ │ - add r3, ip │ │ │ │ │ - vldr d9, [sp, #80] @ 0x50 │ │ │ │ │ - vstr d3, [r1] │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - vadd.f64 d6, d5, d0 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - movs r2, #152 @ 0x98 │ │ │ │ │ - vldr d7, [sp, #8] │ │ │ │ │ - vldr d5, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d0, [sp, #344] @ 0x158 │ │ │ │ │ - mul.w r2, r7, r2 │ │ │ │ │ - vadd.f64 d7, d7, d9 │ │ │ │ │ - vldr d3, [pc, #-784] @ b00 │ │ │ │ │ - add.w r3, ip, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ + mov.w r4, r6, lsl #3 │ │ │ │ │ + add.w r6, r3, r4 │ │ │ │ │ + add r4, r2 │ │ │ │ │ + vstr d3, [r6] │ │ │ │ │ + mov.w r6, #88 @ 0x58 │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ + vadd.f64 d6, d4, d0 │ │ │ │ │ + mov.w r1, #152 @ 0x98 │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + vadd.f64 d7, d10, d5 │ │ │ │ │ + vadd.f64 d5, d14, d11 │ │ │ │ │ + vldr d0, [sp, #24] │ │ │ │ │ + mul.w r1, r1, ip │ │ │ │ │ + vldr d4, [sp, #48] @ 0x30 │ │ │ │ │ + add.w r4, r2, r1 │ │ │ │ │ + add r1, r3 │ │ │ │ │ + vldr d10, [sp, #280] @ 0x118 │ │ │ │ │ vadd.f64 d9, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #104] @ 0x68 │ │ │ │ │ - vadd.f64 d6, d6, d5 │ │ │ │ │ + vldr d6, [sp, #88] @ 0x58 │ │ │ │ │ + vadd.f64 d4, d0, d4 │ │ │ │ │ + vldr d3, [pc, #260] @ f80 │ │ │ │ │ + vldr d12, [sp, #192] @ 0xc0 │ │ │ │ │ + vadd.f64 d6, d6, d1 │ │ │ │ │ + vldr d0, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d13, [sp, #248] @ 0xf8 │ │ │ │ │ vsub.f64 d2, d4, d6 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ - vldr d6, [sp, #288] @ 0x120 │ │ │ │ │ - vadd.f64 d5, d6, d0 │ │ │ │ │ - vldr d6, [sp, #352] @ 0x160 │ │ │ │ │ - vadd.f64 d6, d14, d6 │ │ │ │ │ + vadd.f64 d6, d15, d10 │ │ │ │ │ + vmov.f64 d10, d3 │ │ │ │ │ vmul.f64 d1, d6, d8 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ vmla.f64 d1, d5, d3 │ │ │ │ │ vnmls.f64 d6, d5, d8 │ │ │ │ │ - vadd.f64 d5, d10, d13 │ │ │ │ │ - vldr d10, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d13, [sp, #272] @ 0x110 │ │ │ │ │ - vadd.f64 d0, d10, d13 │ │ │ │ │ - vmov.f64 d10, d3 │ │ │ │ │ + vadd.f64 d5, d12, d13 │ │ │ │ │ + vldr d13, [sp, #264] @ 0x108 │ │ │ │ │ + vadd.f64 d0, d0, d13 │ │ │ │ │ vmul.f64 d3, d0, d3 │ │ │ │ │ vnmls.f64 d3, d5, d8 │ │ │ │ │ vmul.f64 d5, d5, d10 │ │ │ │ │ vmla.f64 d5, d0, d8 │ │ │ │ │ vadd.f64 d0, d1, d3 │ │ │ │ │ vsub.f64 d3, d3, d1 │ │ │ │ │ vsub.f64 d8, d9, d0 │ │ │ │ │ vadd.f64 d9, d9, d0 │ │ │ │ │ vadd.f64 d0, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vstr d8, [r3] │ │ │ │ │ - mul.w r3, r6, r7 │ │ │ │ │ + vstr d8, [r4] │ │ │ │ │ + add.w r4, r2, r5 │ │ │ │ │ + add r5, r3 │ │ │ │ │ vsub.f64 d8, d4, d0 │ │ │ │ │ vadd.f64 d4, d4, d0 │ │ │ │ │ - add.w r1, ip, r3 │ │ │ │ │ - add r3, lr │ │ │ │ │ + vstr d9, [r4] │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d9, [r1] │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ - mul.w r2, r9, r7 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ + vstr d8, [r1] │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ + mov.w r5, #216 @ 0xd8 │ │ │ │ │ vsub.f64 d4, d2, d3 │ │ │ │ │ - add.w r3, lr, r2 │ │ │ │ │ vadd.f64 d2, d2, d3 │ │ │ │ │ - add r2, ip │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - movs r3, #88 @ 0x58 │ │ │ │ │ - mul.w r3, r3, r7 │ │ │ │ │ - add.w r1, lr, r3 │ │ │ │ │ - add r3, ip │ │ │ │ │ - vstr d2, [r1] │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - ldr r3, [sp, #508] @ 0x1fc │ │ │ │ │ - add fp, r3 │ │ │ │ │ - add sl, r3 │ │ │ │ │ - ldr r3, [sp, #512] @ 0x200 │ │ │ │ │ - add ip, r3 │ │ │ │ │ - add lr, r3 │ │ │ │ │ - ldr r3, [sp, #516] @ 0x204 │ │ │ │ │ - eor.w r8, r8, r3 │ │ │ │ │ - eors r7, r3 │ │ │ │ │ - ldr r3, [sp, #632] @ 0x278 │ │ │ │ │ - subs r3, #1 │ │ │ │ │ - str r3, [sp, #632] @ 0x278 │ │ │ │ │ - bne.w 3e │ │ │ │ │ - add.w sp, sp, #524 @ 0x20c │ │ │ │ │ + mul.w r4, r5, ip │ │ │ │ │ + add.w r1, r3, r4 │ │ │ │ │ + add r4, r2 │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ + mul.w r1, r6, ip │ │ │ │ │ + add.w r5, r3, r1 │ │ │ │ │ + add r1, r2 │ │ │ │ │ + vstr d2, [r5] │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ + ldr r1, [sp, #492] @ 0x1ec │ │ │ │ │ + add r9, r1 │ │ │ │ │ + add fp, r1 │ │ │ │ │ + ldr r1, [sp, #496] @ 0x1f0 │ │ │ │ │ + add r2, r1 │ │ │ │ │ + add r3, r1 │ │ │ │ │ + ldr r1, [sp, #500] @ 0x1f4 │ │ │ │ │ + eor.w r0, r0, r1 │ │ │ │ │ + eor.w ip, ip, r1 │ │ │ │ │ + ldr r1, [sp, #616] @ 0x268 │ │ │ │ │ + subs r1, #1 │ │ │ │ │ + str r1, [sp, #616] @ 0x268 │ │ │ │ │ + bne.w 4a │ │ │ │ │ + add sp, #508 @ 0x1fc │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop.w │ │ │ │ │ + .word 0x290ea1a3 │ │ │ │ │ + .word 0x3fea9b66 │ │ │ │ │ + .word 0x39ae68c8 │ │ │ │ │ + .word 0x3fe1c73b │ │ │ │ │ │ │ │ │ │ -00000f0c : │ │ │ │ │ +00000f88 : │ │ │ │ │ fftw_codelet_n1_32(): │ │ │ │ │ - ldr r2, [pc, #8] @ (f18 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (f1c ) │ │ │ │ │ + ldr r2, [pc, #8] @ (f94 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (f98 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── n1_4.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1032 (bytes into file) │ │ │ │ │ + Start of section headers: 1060 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x408: │ │ │ │ │ +There are 13 section headers, starting at offset 0x424: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0001c0 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000370 000018 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0001f4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0001f4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0001f4 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 0001f9 000040 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000388 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 000239 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000239 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 00026c 0000c0 10 11 9 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 00032c 000042 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000398 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0001dc 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 00038c 000018 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000210 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000210 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000210 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 000215 000040 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 0003a4 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 000255 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000255 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 000288 0000c0 10 11 9 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 000348 000042 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 0003b4 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,15 +1,15 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 12 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 428 FUNC LOCAL DEFAULT 1 n1_4 │ │ │ │ │ + 1: 00000001 456 FUNC LOCAL DEFAULT 1 n1_4 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000001b8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000001d4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 4: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 8: 00000000 64 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ - 9: 000001ad 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_4 │ │ │ │ │ + 9: 000001c9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_4 │ │ │ │ │ 10: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_register │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_n_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,11 +1,11 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x370 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x38c contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000001b8 00000603 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000001bc 00000103 R_ARM_REL32 00000001 n1_4 │ │ │ │ │ -000001b4 00000a1e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ +000001d4 00000603 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000001d8 00000103 R_ARM_REL32 00000001 n1_4 │ │ │ │ │ +000001d0 00000a1e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x388 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x3a4 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000402 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000b02 R_ARM_ABS32 00000000 fftw_dft_n_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,46 +1,49 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ n1_4(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ vpush {d8} │ │ │ │ │ - ldrd r8, r7, [sp, #48] @ 0x30 │ │ │ │ │ ldrd r5, r6, [sp, #40] @ 0x28 │ │ │ │ │ + ldrd r8, r7, [sp, #48] @ 0x30 │ │ │ │ │ cmp.w r8, #0 │ │ │ │ │ - ble.n de │ │ │ │ │ - lsls r4, r5, #4 │ │ │ │ │ + ble.n f2 │ │ │ │ │ + mov.w r4, r5, lsl #4 │ │ │ │ │ mov.w sl, r5, lsl #3 │ │ │ │ │ mov.w ip, r6, lsl #3 │ │ │ │ │ - lsls r5, r6, #4 │ │ │ │ │ + mov.w r5, r6, lsl #4 │ │ │ │ │ ldr r6, [sp, #56] @ 0x38 │ │ │ │ │ cmp r7, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r6, #1 │ │ │ │ │ - bne.n e6 │ │ │ │ │ + bne.n 108 │ │ │ │ │ rsb r7, sl, #0 │ │ │ │ │ rsb r6, ip, #0 │ │ │ │ │ add.w lr, r0, r4 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ add.w ip, r1, r4 │ │ │ │ │ - adds r0, #8 │ │ │ │ │ - adds r1, #8 │ │ │ │ │ subs.w r8, r8, #1 │ │ │ │ │ + add.w r0, r0, #8 │ │ │ │ │ vldr d6, [lr] │ │ │ │ │ add lr, r7 │ │ │ │ │ + add.w r1, r1, #8 │ │ │ │ │ vldr d4, [ip] │ │ │ │ │ add ip, r7 │ │ │ │ │ + vldr d8, [ip] │ │ │ │ │ + add ip, r4 │ │ │ │ │ vadd.f64 d0, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [r1, #-8] │ │ │ │ │ - vldr d8, [ip] │ │ │ │ │ - add ip, r4 │ │ │ │ │ vsub.f64 d1, d6, d4 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ vldr d6, [lr] │ │ │ │ │ add lr, r4 │ │ │ │ │ vldr d5, [lr] │ │ │ │ │ add.w lr, r3, r5 │ │ │ │ │ vadd.f64 d3, d5, d6 │ │ │ │ │ @@ -65,33 +68,37 @@ │ │ │ │ │ vadd.f64 d5, d2, d7 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ add lr, r5 │ │ │ │ │ vstr d5, [ip] │ │ │ │ │ add ip, r5 │ │ │ │ │ vstr d6, [lr] │ │ │ │ │ vstr d7, [ip] │ │ │ │ │ - bne.n 34 │ │ │ │ │ + bne.n 44 │ │ │ │ │ vpop {d8} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {sl, pc} │ │ │ │ │ mov.w lr, r7, lsl #3 │ │ │ │ │ - mov.w r9, r6, lsl #3 │ │ │ │ │ rsb r7, sl, #0 │ │ │ │ │ + mov.w r9, r6, lsl #3 │ │ │ │ │ rsb r6, ip, #0 │ │ │ │ │ add.w sl, r0, r4 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ add.w ip, r1, r4 │ │ │ │ │ - add r0, lr │ │ │ │ │ subs.w r8, r8, #1 │ │ │ │ │ + add r0, lr │ │ │ │ │ vldr d6, [sl] │ │ │ │ │ add sl, r7 │ │ │ │ │ vldr d5, [ip] │ │ │ │ │ add ip, r7 │ │ │ │ │ vldr d4, [sl] │ │ │ │ │ - vadd.f64 d2, d7, d6 │ │ │ │ │ add sl, r4 │ │ │ │ │ + vadd.f64 d2, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ add r1, lr │ │ │ │ │ vsub.f64 d3, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vldr d5, [sl] │ │ │ │ │ add.w sl, r3, r5 │ │ │ │ │ @@ -121,22 +128,21 @@ │ │ │ │ │ vadd.f64 d6, d7, d1 │ │ │ │ │ vsub.f64 d7, d7, d1 │ │ │ │ │ add sl, r5 │ │ │ │ │ vstr d6, [ip] │ │ │ │ │ add ip, r5 │ │ │ │ │ vstr d4, [sl] │ │ │ │ │ vstr d7, [ip] │ │ │ │ │ - bne.n f6 │ │ │ │ │ - vpop {d8} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ + bne.n 118 │ │ │ │ │ + b.n f2 │ │ │ │ │ │ │ │ │ │ -000001ac : │ │ │ │ │ +000001c8 : │ │ │ │ │ fftw_codelet_n1_4(): │ │ │ │ │ - ldr r2, [pc, #8] @ (1b8 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (1bc ) │ │ │ │ │ + ldr r2, [pc, #8] @ (1d4 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (1d8 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── n1_5.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1556 (bytes into file) │ │ │ │ │ + Start of section headers: 1588 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x614: │ │ │ │ │ +There are 13 section headers, starting at offset 0x634: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000344 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00056c 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000378 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000378 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000378 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 00037d 000040 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000594 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 0003bd 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0003bd 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 0003f0 000100 10 11 11 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 0004f0 00007a 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 0005a4 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000364 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 00058c 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000398 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000398 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000398 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 00039d 000040 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 0005b4 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 0003dd 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0003dd 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 000410 000100 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 000510 00007a 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 0005c4 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 16 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 816 FUNC LOCAL DEFAULT 1 n1_5 │ │ │ │ │ + 1: 00000001 848 FUNC LOCAL DEFAULT 1 n1_5 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000310 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000330 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 0000033c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000330 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000350 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 0000035c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 64 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 13: 00000331 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_5 │ │ │ │ │ + 13: 00000351 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_5 │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_register │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_n_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x56c contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x58c contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000328 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000032c 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -0000033c 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000340 00000103 R_ARM_REL32 00000001 n1_5 │ │ │ │ │ -00000338 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ +00000348 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000034c 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +0000035c 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000360 00000103 R_ARM_REL32 00000001 n1_5 │ │ │ │ │ +00000358 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x594 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x5b4 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000f02 R_ARM_ABS32 00000000 fftw_dft_n_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,66 +1,71 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ n1_5(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - ldr.w lr, [pc, #800] @ 328 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - ldrd ip, r7, [sp, #108] @ 0x6c │ │ │ │ │ - add lr, pc │ │ │ │ │ + ldr.w ip, [pc, #812] @ 348 │ │ │ │ │ + ldrd lr, r7, [sp, #108] @ 0x6c │ │ │ │ │ ldrd r5, r4, [sp, #100] @ 0x64 │ │ │ │ │ - cmp.w ip, #0 │ │ │ │ │ - ble.w 19a │ │ │ │ │ - ldr.w r8, [pc, #780] @ 32c │ │ │ │ │ - ldr.w r6, [lr, r8] │ │ │ │ │ - ldr.w lr, [r6] │ │ │ │ │ + add ip, pc │ │ │ │ │ + cmp.w lr, #0 │ │ │ │ │ + ble.w 1ac │ │ │ │ │ + ldr.w r8, [pc, #796] @ 34c │ │ │ │ │ + ldr.w r6, [ip, r8] │ │ │ │ │ + ldr.w r8, [r6] │ │ │ │ │ ldr r6, [sp, #116] @ 0x74 │ │ │ │ │ cmp r7, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r6, #1 │ │ │ │ │ - bne.w 1a2 │ │ │ │ │ - vldr d14, [pc, #728] @ 310 │ │ │ │ │ - movs r7, #24 │ │ │ │ │ - vldr d1, [pc, #728] @ 318 │ │ │ │ │ + bne.w 1c6 │ │ │ │ │ + vldr d14, [pc, #744] @ 330 │ │ │ │ │ vmov.f64 d15, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vldr d2, [pc, #728] @ 320 │ │ │ │ │ - mov.w r8, r5, lsl #3 │ │ │ │ │ - mov.w r9, r5, lsl #5 │ │ │ │ │ - add.w r6, r0, r8 │ │ │ │ │ + vldr d1, [pc, #744] @ 338 │ │ │ │ │ + vldr d2, [pc, #748] @ 340 │ │ │ │ │ + mov.w r6, r5, lsl #3 │ │ │ │ │ + subs.w lr, lr, #1 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ + add.w r7, r0, r6 │ │ │ │ │ vldr d13, [r1] │ │ │ │ │ - subs.w ip, ip, #1 │ │ │ │ │ - vldr d4, [r6] │ │ │ │ │ - add.w r6, r0, r9 │ │ │ │ │ - add r9, r1 │ │ │ │ │ - vldr d11, [r6] │ │ │ │ │ - mov.w r6, r5, lsl #4 │ │ │ │ │ - add.w sl, r0, r6 │ │ │ │ │ - add r6, r1 │ │ │ │ │ - vldr d10, [r9] │ │ │ │ │ - mov.w r9, r4, lsl #3 │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + mov.w r7, r5, lsl #5 │ │ │ │ │ + add.w ip, r0, r7 │ │ │ │ │ + add r7, r1 │ │ │ │ │ + vldr d11, [ip] │ │ │ │ │ + mov.w ip, r5, lsl #4 │ │ │ │ │ + eor.w r5, r5, r8 │ │ │ │ │ + add.w r9, r0, ip │ │ │ │ │ + add ip, r1 │ │ │ │ │ + vldr d10, [r7] │ │ │ │ │ + mov.w r7, r4, lsl #3 │ │ │ │ │ + add.w r0, r0, #8 │ │ │ │ │ + vldr d9, [r9] │ │ │ │ │ + add r9, r6 │ │ │ │ │ + vldr d12, [r9] │ │ │ │ │ vadd.f64 d5, d11, d4 │ │ │ │ │ + add.w r9, r1, r6 │ │ │ │ │ vsub.f64 d11, d4, d11 │ │ │ │ │ - vldr d9, [sl] │ │ │ │ │ - add sl, r8 │ │ │ │ │ - vldr d4, [r6] │ │ │ │ │ - add r6, r8 │ │ │ │ │ - add.w r0, r0, #8 │ │ │ │ │ - eor.w r5, r5, lr │ │ │ │ │ - vldr d12, [sl] │ │ │ │ │ - add.w sl, r1, r8 │ │ │ │ │ add.w r1, r1, #8 │ │ │ │ │ + vldr d4, [ip] │ │ │ │ │ + add ip, r6 │ │ │ │ │ + add.w r6, r2, r4, lsl #5 │ │ │ │ │ + vldr d6, [r9] │ │ │ │ │ vadd.f64 d3, d12, d9 │ │ │ │ │ - vldr d6, [sl] │ │ │ │ │ vsub.f64 d12, d9, d12 │ │ │ │ │ - vldr d9, [r6] │ │ │ │ │ - add.w r6, r2, r4, lsl #5 │ │ │ │ │ + vldr d9, [ip] │ │ │ │ │ + add.w ip, r4, r4, lsl #1 │ │ │ │ │ + mov.w ip, ip, lsl #3 │ │ │ │ │ vadd.f64 d0, d3, d5 │ │ │ │ │ vadd.f64 d8, d9, d4 │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ vadd.f64 d3, d10, d6 │ │ │ │ │ vsub.f64 d6, d6, d10 │ │ │ │ │ vsub.f64 d4, d4, d9 │ │ │ │ │ vadd.f64 d10, d8, d3 │ │ │ │ │ @@ -70,93 +75,97 @@ │ │ │ │ │ vmul.f64 d5, d5, d14 │ │ │ │ │ vmul.f64 d8, d8, d14 │ │ │ │ │ vstr d3, [r2] │ │ │ │ │ vadd.f64 d3, d10, d13 │ │ │ │ │ vmls.f64 d13, d10, d15 │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ vmul.f64 d3, d6, d2 │ │ │ │ │ - vmla.f64 d3, d4, d1 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ + vmla.f64 d3, d4, d1 │ │ │ │ │ vnmls.f64 d6, d4, d2 │ │ │ │ │ vadd.f64 d4, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vsub.f64 d5, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ vstr d5, [r6] │ │ │ │ │ - mul.w r6, r7, r4 │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ + add.w r6, r2, ip │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - add.w r8, r2, r6 │ │ │ │ │ vadd.f64 d6, d13, d8 │ │ │ │ │ + add ip, r3 │ │ │ │ │ vsub.f64 d13, d13, d8 │ │ │ │ │ + vstr d5, [r6] │ │ │ │ │ + add.w r6, r2, r7 │ │ │ │ │ + vstr d4, [r6] │ │ │ │ │ + mov.w r6, r4, lsl #4 │ │ │ │ │ + eor.w r4, r4, r8 │ │ │ │ │ + add.w r9, r2, r6 │ │ │ │ │ add r6, r3 │ │ │ │ │ - vstr d5, [r8] │ │ │ │ │ - add.w r8, r2, r9 │ │ │ │ │ - vstr d4, [r8] │ │ │ │ │ - mov.w r8, r4, lsl #4 │ │ │ │ │ - add.w sl, r2, r8 │ │ │ │ │ - add r8, r3 │ │ │ │ │ add.w r2, r2, #8 │ │ │ │ │ - eor.w r4, r4, lr │ │ │ │ │ - vstr d7, [sl] │ │ │ │ │ + vstr d7, [r9] │ │ │ │ │ vmul.f64 d7, d11, d2 │ │ │ │ │ - vmla.f64 d7, d12, d1 │ │ │ │ │ vmul.f64 d11, d11, d1 │ │ │ │ │ - add.w sl, r3, r9 │ │ │ │ │ + add.w r9, r3, r7 │ │ │ │ │ add.w r3, r3, #8 │ │ │ │ │ + vmla.f64 d7, d12, d1 │ │ │ │ │ vnmls.f64 d11, d12, d2 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vstr d5, [sl] │ │ │ │ │ + vstr d5, [r9] │ │ │ │ │ vsub.f64 d5, d13, d11 │ │ │ │ │ vadd.f64 d13, d13, d11 │ │ │ │ │ - vstr d5, [r6] │ │ │ │ │ - add r6, r9 │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ - vstr d13, [r8] │ │ │ │ │ - bne.w 48 │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ + add ip, r7 │ │ │ │ │ + vstr d6, [ip] │ │ │ │ │ + vstr d13, [r6] │ │ │ │ │ + bne.w 56 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - mov.w r8, r7, lsl #3 │ │ │ │ │ - mov.w r9, r6, lsl #3 │ │ │ │ │ - vldr d14, [pc, #356] @ 310 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + vldr d14, [pc, #360] @ 330 │ │ │ │ │ vmov.f64 d15, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vldr d1, [pc, #364] @ 320 │ │ │ │ │ - vldr d2, [pc, #352] @ 318 │ │ │ │ │ - lsls r7, r5, #3 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + vldr d1, [pc, #360] @ 340 │ │ │ │ │ + vldr d2, [pc, #348] @ 338 │ │ │ │ │ + mov.w r9, r5, lsl #3 │ │ │ │ │ + subs.w lr, lr, #1 │ │ │ │ │ mov.w sl, r5, lsl #5 │ │ │ │ │ - adds r6, r0, r7 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ + add.w ip, r0, r9 │ │ │ │ │ vldr d13, [r1] │ │ │ │ │ - subs.w ip, ip, #1 │ │ │ │ │ - vldr d4, [r6] │ │ │ │ │ - add.w r6, r0, sl │ │ │ │ │ + vldr d4, [ip] │ │ │ │ │ + add.w ip, r0, sl │ │ │ │ │ add sl, r1 │ │ │ │ │ - vldr d11, [r6] │ │ │ │ │ - mov.w r6, r5, lsl #4 │ │ │ │ │ - add.w fp, r0, r6 │ │ │ │ │ - add r6, r1 │ │ │ │ │ + vldr d11, [ip] │ │ │ │ │ + mov.w ip, r5, lsl #4 │ │ │ │ │ + eor.w r5, r5, r8 │ │ │ │ │ + add.w fp, r0, ip │ │ │ │ │ + add ip, r1 │ │ │ │ │ vldr d10, [sl] │ │ │ │ │ mov.w sl, r4, lsl #3 │ │ │ │ │ - vadd.f64 d5, d4, d11 │ │ │ │ │ - vsub.f64 d11, d4, d11 │ │ │ │ │ + add r0, r7 │ │ │ │ │ vldr d9, [fp] │ │ │ │ │ - add fp, r7 │ │ │ │ │ - vldr d4, [r6] │ │ │ │ │ - add r6, r7 │ │ │ │ │ - add r0, r8 │ │ │ │ │ - eor.w r5, r5, lr │ │ │ │ │ + add fp, r9 │ │ │ │ │ vldr d12, [fp] │ │ │ │ │ - add.w fp, r1, r7 │ │ │ │ │ - add r1, r8 │ │ │ │ │ - vadd.f64 d3, d9, d12 │ │ │ │ │ + vadd.f64 d5, d4, d11 │ │ │ │ │ + add.w fp, r1, r9 │ │ │ │ │ + vsub.f64 d11, d4, d11 │ │ │ │ │ + add r1, r7 │ │ │ │ │ + vldr d4, [ip] │ │ │ │ │ + add ip, r9 │ │ │ │ │ vldr d6, [fp] │ │ │ │ │ + vadd.f64 d3, d9, d12 │ │ │ │ │ vsub.f64 d12, d9, d12 │ │ │ │ │ - vldr d9, [r6] │ │ │ │ │ - add.w r6, r2, r4, lsl #5 │ │ │ │ │ + vldr d9, [ip] │ │ │ │ │ + add.w ip, r2, r4, lsl #5 │ │ │ │ │ vadd.f64 d0, d5, d3 │ │ │ │ │ vadd.f64 d8, d4, d9 │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ vadd.f64 d3, d6, d10 │ │ │ │ │ vsub.f64 d6, d6, d10 │ │ │ │ │ vsub.f64 d4, d4, d9 │ │ │ │ │ vadd.f64 d10, d3, d8 │ │ │ │ │ @@ -173,66 +182,65 @@ │ │ │ │ │ vmla.f64 d3, d6, d1 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ vnmls.f64 d6, d4, d1 │ │ │ │ │ vadd.f64 d4, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vsub.f64 d5, d4, d3 │ │ │ │ │ vadd.f64 d3, d3, d4 │ │ │ │ │ - vstr d5, [r6] │ │ │ │ │ - mov.w r6, #24 │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ + add.w ip, r4, r4, lsl #1 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d8, d13 │ │ │ │ │ + mov.w ip, ip, lsl #3 │ │ │ │ │ vsub.f64 d13, d13, d8 │ │ │ │ │ - mul.w r6, r6, r4 │ │ │ │ │ - add.w r7, r2, r6 │ │ │ │ │ - add r6, r3 │ │ │ │ │ - vstr d5, [r7] │ │ │ │ │ - add.w r7, r2, sl │ │ │ │ │ - vstr d3, [r7] │ │ │ │ │ - mov.w r7, r4, lsl #4 │ │ │ │ │ - add.w fp, r2, r7 │ │ │ │ │ - add r7, r3 │ │ │ │ │ - add r2, r9 │ │ │ │ │ - eor.w r4, r4, lr │ │ │ │ │ + add.w r9, r2, ip │ │ │ │ │ + add ip, r3 │ │ │ │ │ + vstr d5, [r9] │ │ │ │ │ + add.w r9, r2, sl │ │ │ │ │ + vstr d3, [r9] │ │ │ │ │ + mov.w r9, r4, lsl #4 │ │ │ │ │ + eor.w r4, r4, r8 │ │ │ │ │ + add.w fp, r2, r9 │ │ │ │ │ + add r9, r3 │ │ │ │ │ + add r2, r6 │ │ │ │ │ vstr d7, [fp] │ │ │ │ │ vmul.f64 d7, d12, d2 │ │ │ │ │ + add.w fp, r3, sl │ │ │ │ │ + add r3, r6 │ │ │ │ │ vmla.f64 d7, d11, d1 │ │ │ │ │ vmul.f64 d11, d11, d2 │ │ │ │ │ - add.w fp, r3, sl │ │ │ │ │ - add r3, r9 │ │ │ │ │ vnmls.f64 d11, d12, d1 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vstr d5, [fp] │ │ │ │ │ vsub.f64 d5, d13, d11 │ │ │ │ │ vadd.f64 d11, d11, d13 │ │ │ │ │ - vstr d5, [r6] │ │ │ │ │ - add r6, sl │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ - vstr d11, [r7] │ │ │ │ │ - bne.w 1ba │ │ │ │ │ - vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop.w │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ + add ip, sl │ │ │ │ │ + vstr d7, [ip] │ │ │ │ │ + vstr d11, [r9] │ │ │ │ │ + bne.w 1de │ │ │ │ │ + b.n 1ac │ │ │ │ │ + nop │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ - .word 0x00000314 │ │ │ │ │ + .word 0x00000320 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ │ │ │ │ │ -00000330 : │ │ │ │ │ +00000350 : │ │ │ │ │ fftw_codelet_n1_5(): │ │ │ │ │ - ldr r2, [pc, #8] @ (33c ) │ │ │ │ │ - ldr r1, [pc, #12] @ (340 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (35c ) │ │ │ │ │ + ldr r1, [pc, #12] @ (360 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── n1_6.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1700 (bytes into file) │ │ │ │ │ + Start of section headers: 1732 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x6a4: │ │ │ │ │ +There are 13 section headers, starting at offset 0x6c4: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0003d4 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0005fc 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000408 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000408 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000408 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 00040d 000040 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000624 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 00044d 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 00044d 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 000480 000100 10 11 11 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 000580 00007a 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000634 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0003f4 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 00061c 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000428 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000428 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000428 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 00042d 000040 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000644 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 00046d 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 00046d 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 0004a0 000100 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 0005a0 00007a 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000654 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 16 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 960 FUNC LOCAL DEFAULT 1 n1_6 │ │ │ │ │ + 1: 00000001 992 FUNC LOCAL DEFAULT 1 n1_6 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000003b0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 000003c0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000003cc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000003d0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 000003e0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000003ec 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 64 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 13: 000003c1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_6 │ │ │ │ │ + 13: 000003e1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_6 │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_register │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_n_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x5fc contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x61c contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000003b8 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -000003bc 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000003cc 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000003d0 00000103 R_ARM_REL32 00000001 n1_6 │ │ │ │ │ -000003c8 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ +000003d8 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +000003dc 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +000003ec 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000003f0 00000103 R_ARM_REL32 00000001 n1_6 │ │ │ │ │ +000003e8 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x624 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x644 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000f02 R_ARM_ABS32 00000000 fftw_dft_n_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,281 +1,287 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ n1_6(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - ldr.w ip, [pc, #944] @ 3b8 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub sp, #44 @ 0x2c │ │ │ │ │ - add ip, pc │ │ │ │ │ - ldrd r8, r6, [sp, #152] @ 0x98 │ │ │ │ │ - ldrd r5, r4, [sp, #144] @ 0x90 │ │ │ │ │ - cmp.w r8, #0 │ │ │ │ │ - ble.w 1e4 │ │ │ │ │ - ldr.w lr, [pc, #920] @ 3bc │ │ │ │ │ - ldr.w r7, [ip, lr] │ │ │ │ │ - ldr.w fp, [r7] │ │ │ │ │ - ldr r7, [sp, #160] @ 0xa0 │ │ │ │ │ + sub sp, #36 @ 0x24 │ │ │ │ │ + ldr.w lr, [pc, #956] @ 3d8 │ │ │ │ │ + ldr.w ip, [sp, #144] @ 0x90 │ │ │ │ │ + ldrd r5, r4, [sp, #136] @ 0x88 │ │ │ │ │ + add lr, pc │ │ │ │ │ + ldr r7, [sp, #152] @ 0x98 │ │ │ │ │ + cmp.w ip, #0 │ │ │ │ │ + ble.w 1fa │ │ │ │ │ + ldr.w r8, [pc, #936] @ 3dc │ │ │ │ │ + ldr.w r6, [lr, r8] │ │ │ │ │ + ldr.w lr, [r6] │ │ │ │ │ + ldr r6, [sp, #148] @ 0x94 │ │ │ │ │ cmp r6, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r7, #1 │ │ │ │ │ - bne.w 1ee │ │ │ │ │ - mov.w r9, #24 │ │ │ │ │ - vldr d0, [pc, #880] @ 3b0 │ │ │ │ │ + bne.w 216 │ │ │ │ │ + vldr d0, [pc, #900] @ 3d0 │ │ │ │ │ vmov.f64 d9, #96 @ 0x3f000000 0.5 │ │ │ │ │ - mul.w lr, r9, r5 │ │ │ │ │ + add.w r7, r5, r5, lsl #1 │ │ │ │ │ + subs.w ip, ip, #1 │ │ │ │ │ vldr d13, [r0] │ │ │ │ │ + mov.w r9, r5, lsl #5 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - mov.w ip, r5, lsl #5 │ │ │ │ │ - add.w r6, r0, lr │ │ │ │ │ - subs.w r8, r8, #1 │ │ │ │ │ + add.w r6, r0, r7 │ │ │ │ │ vldr d6, [r6] │ │ │ │ │ - add.w r6, r1, lr │ │ │ │ │ + add.w r6, r1, r7 │ │ │ │ │ vsub.f64 d4, d13, d6 │ │ │ │ │ vadd.f64 d13, d6, d13 │ │ │ │ │ vldr d6, [r6] │ │ │ │ │ mov.w r6, r5, lsl #4 │ │ │ │ │ - add.w r7, r0, r6 │ │ │ │ │ + add.w r8, r0, r6 │ │ │ │ │ add r6, r1 │ │ │ │ │ + vldr d15, [r6] │ │ │ │ │ + add r6, r7 │ │ │ │ │ vsub.f64 d12, d7, d6 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ - vldr d15, [r6] │ │ │ │ │ - add r6, lr │ │ │ │ │ vstr d7, [sp, #16] │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - add r7, lr │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - add.w r7, r0, ip │ │ │ │ │ - add ip, r1 │ │ │ │ │ + vldr d7, [r8] │ │ │ │ │ + add r8, r7 │ │ │ │ │ + vldr d6, [r8] │ │ │ │ │ + add.w r8, r0, r9 │ │ │ │ │ + add r9, r1 │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ vsub.f64 d11, d7, d6 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - mov.w r7, r5, lsl #3 │ │ │ │ │ - add.w sl, r0, r7 │ │ │ │ │ - add r7, r1 │ │ │ │ │ + vldr d7, [r8] │ │ │ │ │ + mov.w r8, r5, lsl #3 │ │ │ │ │ + eor.w r5, r5, lr │ │ │ │ │ + add.w sl, r0, r8 │ │ │ │ │ + add r8, r1 │ │ │ │ │ add.w r0, r0, #8 │ │ │ │ │ add.w r1, r1, #8 │ │ │ │ │ - vstr d3, [sp, #8] │ │ │ │ │ - eor.w r5, r5, fp │ │ │ │ │ vldr d5, [sl] │ │ │ │ │ + vstr d3, [sp, #8] │ │ │ │ │ vsub.f64 d6, d7, d5 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ vadd.f64 d14, d5, d3 │ │ │ │ │ vldr d3, [r6] │ │ │ │ │ - vstr d5, [sp] │ │ │ │ │ vadd.f64 d8, d6, d11 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ - mul.w r6, r9, r4 │ │ │ │ │ + vstr d5, [sp] │ │ │ │ │ + add.w r6, r4, r4, lsl #1 │ │ │ │ │ + vsub.f64 d6, d6, d11 │ │ │ │ │ + vldr d5, [r8] │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + add.w r7, r2, r6 │ │ │ │ │ + add r6, r3 │ │ │ │ │ vsub.f64 d7, d15, d3 │ │ │ │ │ vadd.f64 d15, d3, d15 │ │ │ │ │ - vldr d3, [ip] │ │ │ │ │ - add.w r7, r2, r6 │ │ │ │ │ + vldr d3, [r9] │ │ │ │ │ vadd.f64 d10, d8, d4 │ │ │ │ │ - add r6, r3 │ │ │ │ │ vmls.f64 d4, d8, d9 │ │ │ │ │ - vsub.f64 d6, d6, d11 │ │ │ │ │ + vmul.f64 d6, d6, d0 │ │ │ │ │ vsub.f64 d1, d3, d5 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ vstr d10, [r7] │ │ │ │ │ - vmul.f64 d6, d6, d0 │ │ │ │ │ vadd.f64 d2, d1, d7 │ │ │ │ │ vsub.f64 d7, d7, d1 │ │ │ │ │ vadd.f64 d3, d5, d15 │ │ │ │ │ vsub.f64 d15, d15, d5 │ │ │ │ │ vldr d5, [sp] │ │ │ │ │ vadd.f64 d10, d2, d12 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ vmls.f64 d12, d2, d9 │ │ │ │ │ vmul.f64 d15, d15, d0 │ │ │ │ │ vstr d10, [r6] │ │ │ │ │ vadd.f64 d10, d14, d13 │ │ │ │ │ - mov.w r6, #40 @ 0x28 │ │ │ │ │ vsub.f64 d1, d4, d7 │ │ │ │ │ + add.w r6, r4, r4, lsl #2 │ │ │ │ │ vmls.f64 d13, d14, d9 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vstr d10, [r2] │ │ │ │ │ - mul.w r6, r6, r4 │ │ │ │ │ - vldr d10, [sp, #16] │ │ │ │ │ - vadd.f64 d4, d12, d6 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ add.w r7, r2, r6 │ │ │ │ │ + vadd.f64 d4, d12, d6 │ │ │ │ │ add r6, r3 │ │ │ │ │ + vstr d10, [r2] │ │ │ │ │ + vldr d10, [sp, #16] │ │ │ │ │ vadd.f64 d10, d3, d10 │ │ │ │ │ vstr d10, [r3] │ │ │ │ │ vstr d1, [r7] │ │ │ │ │ mov.w r7, r4, lsl #3 │ │ │ │ │ - add.w ip, r2, r7 │ │ │ │ │ + add.w r8, r2, r7 │ │ │ │ │ add r7, r3 │ │ │ │ │ - vstr d7, [ip] │ │ │ │ │ + vstr d7, [r8] │ │ │ │ │ vsub.f64 d7, d12, d6 │ │ │ │ │ - vstr d4, [r7] │ │ │ │ │ vsub.f64 d6, d13, d15 │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ mov.w r7, r4, lsl #4 │ │ │ │ │ vadd.f64 d15, d15, d13 │ │ │ │ │ vstr d7, [r6] │ │ │ │ │ add.w r6, r2, r7 │ │ │ │ │ add r7, r3 │ │ │ │ │ vstr d6, [r6] │ │ │ │ │ mov.w r6, r4, lsl #5 │ │ │ │ │ + eor.w r4, r4, lr │ │ │ │ │ vldr d6, [sp, #16] │ │ │ │ │ - add.w ip, r2, r6 │ │ │ │ │ - vmls.f64 d6, d3, d9 │ │ │ │ │ - vldr d3, [sp, #8] │ │ │ │ │ + add.w r8, r2, r6 │ │ │ │ │ add r6, r3 │ │ │ │ │ add.w r2, r2, #8 │ │ │ │ │ - vstr d15, [ip] │ │ │ │ │ add.w r3, r3, #8 │ │ │ │ │ + vstr d15, [r8] │ │ │ │ │ + vmls.f64 d6, d3, d9 │ │ │ │ │ + vldr d3, [sp, #8] │ │ │ │ │ vsub.f64 d7, d5, d3 │ │ │ │ │ - eor.w r4, r4, fp │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ vstr d7, [r6] │ │ │ │ │ - bne.w 44 │ │ │ │ │ - add sp, #44 @ 0x2c │ │ │ │ │ + bne.w 52 │ │ │ │ │ + add sp, #36 @ 0x24 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - lsls r6, r6, #3 │ │ │ │ │ - mov.w sl, #24 │ │ │ │ │ - vldr d0, [pc, #440] @ 3b0 │ │ │ │ │ - mov r9, r6 │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + vldr d0, [pc, #440] @ 3d0 │ │ │ │ │ vmov.f64 d9, #96 @ 0x3f000000 0.5 │ │ │ │ │ - str r7, [sp, #36] @ 0x24 │ │ │ │ │ - mul.w lr, sl, r5 │ │ │ │ │ + mov.w sl, r6, lsl #3 │ │ │ │ │ + mov.w fp, r7, lsl #3 │ │ │ │ │ + add.w r7, r5, r5, lsl #1 │ │ │ │ │ vldr d5, [r0] │ │ │ │ │ - mov.w ip, r5, lsl #5 │ │ │ │ │ - subs.w r8, r8, #1 │ │ │ │ │ - add.w r6, r0, lr │ │ │ │ │ + subs.w ip, ip, #1 │ │ │ │ │ + mov.w r9, r5, lsl #5 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + add.w r6, r0, r7 │ │ │ │ │ vldr d13, [r6] │ │ │ │ │ - add.w r6, r1, lr │ │ │ │ │ - vsub.f64 d6, d5, d13 │ │ │ │ │ + add.w r6, r1, r7 │ │ │ │ │ vldr d7, [r6] │ │ │ │ │ - vadd.f64 d13, d5, d13 │ │ │ │ │ mov.w r6, r5, lsl #4 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - add.w r7, r0, r6 │ │ │ │ │ + add.w r8, r0, r6 │ │ │ │ │ str r6, [sp, #0] │ │ │ │ │ + vsub.f64 d6, d5, d13 │ │ │ │ │ + vadd.f64 d13, d5, d13 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ vsub.f64 d12, d5, d7 │ │ │ │ │ vadd.f64 d7, d5, d7 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ - add r7, lr │ │ │ │ │ + vldr d5, [r8] │ │ │ │ │ + add r8, r7 │ │ │ │ │ vstr d7, [sp, #8] │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - add.w r7, r0, ip │ │ │ │ │ - add ip, r1 │ │ │ │ │ - vldr d4, [r7] │ │ │ │ │ - mov.w r7, r5, lsl #3 │ │ │ │ │ - add.w r6, r0, r7 │ │ │ │ │ + vldr d7, [r8] │ │ │ │ │ + add.w r8, r0, r9 │ │ │ │ │ + add r9, r1 │ │ │ │ │ + vldr d4, [r8] │ │ │ │ │ + mov.w r8, r5, lsl #3 │ │ │ │ │ + eor.w r5, r5, lr │ │ │ │ │ + add.w r6, r0, r8 │ │ │ │ │ + add r8, r1 │ │ │ │ │ + add r0, sl │ │ │ │ │ vadd.f64 d3, d5, d7 │ │ │ │ │ vsub.f64 d11, d5, d7 │ │ │ │ │ - add r7, r1 │ │ │ │ │ - add r0, r9 │ │ │ │ │ - eor.w r5, r5, fp │ │ │ │ │ vldr d5, [r6] │ │ │ │ │ ldr r6, [sp, #0] │ │ │ │ │ - vstr d3, [sp, #16] │ │ │ │ │ vsub.f64 d7, d4, d5 │ │ │ │ │ vadd.f64 d5, d4, d5 │ │ │ │ │ + vstr d3, [sp, #16] │ │ │ │ │ add r6, r1 │ │ │ │ │ - vldr d4, [ip] │ │ │ │ │ - add r1, r9 │ │ │ │ │ + vldr d4, [r9] │ │ │ │ │ + add r1, sl │ │ │ │ │ vadd.f64 d14, d3, d5 │ │ │ │ │ vldr d3, [r6] │ │ │ │ │ - add r6, lr │ │ │ │ │ + add r6, r7 │ │ │ │ │ vstr d5, [sp, #24] │ │ │ │ │ vadd.f64 d8, d11, d7 │ │ │ │ │ vsub.f64 d7, d7, d11 │ │ │ │ │ vldr d15, [r6] │ │ │ │ │ - mul.w r6, sl, r4 │ │ │ │ │ + add.w r6, r4, r4, lsl #1 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + add.w r7, r2, r6 │ │ │ │ │ + add r6, r3 │ │ │ │ │ vadd.f64 d10, d6, d8 │ │ │ │ │ vmls.f64 d6, d8, d9 │ │ │ │ │ vsub.f64 d5, d3, d15 │ │ │ │ │ vadd.f64 d15, d3, d15 │ │ │ │ │ - vldr d3, [r7] │ │ │ │ │ - add.w r7, r2, r6 │ │ │ │ │ - add r6, r3 │ │ │ │ │ + vldr d3, [r8] │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ - vsub.f64 d1, d4, d3 │ │ │ │ │ vstr d10, [r7] │ │ │ │ │ + vsub.f64 d1, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ vadd.f64 d2, d5, d1 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ vadd.f64 d3, d15, d4 │ │ │ │ │ vsub.f64 d15, d15, d4 │ │ │ │ │ vadd.f64 d10, d12, d2 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ vmls.f64 d12, d2, d9 │ │ │ │ │ vmul.f64 d15, d15, d0 │ │ │ │ │ vstr d10, [r6] │ │ │ │ │ vadd.f64 d10, d13, d14 │ │ │ │ │ - mov.w r6, #40 @ 0x28 │ │ │ │ │ vsub.f64 d1, d6, d5 │ │ │ │ │ - vmls.f64 d13, d14, d9 │ │ │ │ │ + add.w r6, r4, r4, lsl #2 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vstr d10, [r2] │ │ │ │ │ - mul.w r6, r6, r4 │ │ │ │ │ - vldr d10, [sp, #8] │ │ │ │ │ - vadd.f64 d5, d7, d12 │ │ │ │ │ + vmls.f64 d13, d14, d9 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ add.w r7, r2, r6 │ │ │ │ │ + vadd.f64 d5, d7, d12 │ │ │ │ │ add r6, r3 │ │ │ │ │ + vstr d10, [r2] │ │ │ │ │ + vldr d10, [sp, #8] │ │ │ │ │ vadd.f64 d10, d10, d3 │ │ │ │ │ vstr d10, [r3] │ │ │ │ │ vstr d1, [r7] │ │ │ │ │ mov.w r7, r4, lsl #3 │ │ │ │ │ - add.w ip, r2, r7 │ │ │ │ │ + add.w r8, r2, r7 │ │ │ │ │ add r7, r3 │ │ │ │ │ - vstr d6, [ip] │ │ │ │ │ + vstr d6, [r8] │ │ │ │ │ vsub.f64 d6, d12, d7 │ │ │ │ │ + vadd.f64 d7, d13, d15 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ mov.w r7, r4, lsl #4 │ │ │ │ │ - vadd.f64 d7, d13, d15 │ │ │ │ │ vstr d6, [r6] │ │ │ │ │ vsub.f64 d6, d13, d15 │ │ │ │ │ add.w r6, r2, r7 │ │ │ │ │ add r7, r3 │ │ │ │ │ vstr d6, [r6] │ │ │ │ │ mov.w r6, r4, lsl #5 │ │ │ │ │ - add.w ip, r2, r6 │ │ │ │ │ + eor.w r4, r4, lr │ │ │ │ │ vldr d6, [sp, #24] │ │ │ │ │ + add.w r8, r2, r6 │ │ │ │ │ add r6, r3 │ │ │ │ │ - eor.w r4, r4, fp │ │ │ │ │ - vstr d7, [ip] │ │ │ │ │ + add r2, fp │ │ │ │ │ + add r3, fp │ │ │ │ │ + vstr d7, [r8] │ │ │ │ │ vldr d7, [sp, #8] │ │ │ │ │ vmls.f64 d7, d3, d9 │ │ │ │ │ vldr d3, [sp, #16] │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ vstr d7, [r6] │ │ │ │ │ - ldr r6, [sp, #36] @ 0x24 │ │ │ │ │ - add r2, r6 │ │ │ │ │ - add r3, r6 │ │ │ │ │ - bne.w 202 │ │ │ │ │ - add sp, #44 @ 0x2c │ │ │ │ │ - vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + bne.w 226 │ │ │ │ │ + b.n 1fa │ │ │ │ │ nop.w │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3febb67a │ │ │ │ │ - .word 0x000003a6 │ │ │ │ │ + .word 0x000003ae │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ │ │ │ │ │ -000003c0 : │ │ │ │ │ +000003e0 : │ │ │ │ │ fftw_codelet_n1_6(): │ │ │ │ │ - ldr r2, [pc, #8] @ (3cc ) │ │ │ │ │ - ldr r1, [pc, #12] @ (3d0 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (3ec ) │ │ │ │ │ + ldr r1, [pc, #12] @ (3f0 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── n1_64.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 10024 (bytes into file) │ │ │ │ │ + Start of section headers: 10256 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x2728: │ │ │ │ │ +There are 13 section headers, starting at offset 0x2810: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0023d4 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 002680 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 002408 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 002408 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 002408 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 00240e 000040 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 0026a8 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 00244e 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 00244e 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 002484 000180 10 11 19 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 002604 00007b 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 0026b8 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0024bc 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 002768 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0024f0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0024f0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0024f0 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0024f6 000040 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 002790 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 002536 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 002536 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 00256c 000180 10 11 19 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 0026ec 00007b 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 0027a0 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,27 +1,27 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 24 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 9152 FUNC LOCAL DEFAULT 1 n1_64 │ │ │ │ │ + 1: 00000001 9384 FUNC LOCAL DEFAULT 1 n1_64 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000538 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000558 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000a88 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000aa8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 000012a0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 8: 000012e0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 9: 00001af0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 10: 00001b50 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 11: 00002390 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 12: 000023c0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 13: 000023cc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000550 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000570 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000ae0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000b00 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00001308 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 00001350 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 9: 00001b70 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 10: 00001bd0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 11: 00002478 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 12: 000024a8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 13: 000024b4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 14: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 15: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 16: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 17: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 18: 00000000 64 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 21: 000023c1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_64 │ │ │ │ │ + 21: 000024a9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_64 │ │ │ │ │ 22: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_register │ │ │ │ │ 23: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_n_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x2680 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x2768 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000550 00001319 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000554 0000141a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000023cc 00001003 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000023d0 00000103 R_ARM_REL32 00000001 n1_64 │ │ │ │ │ -000023c8 0000161e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ +00000568 00001319 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000056c 0000141a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +000024b4 00001003 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000024b8 00000103 R_ARM_REL32 00000001 n1_64 │ │ │ │ │ +000024b0 0000161e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x26a8 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x2790 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000e02 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00001702 R_ARM_ABS32 00000000 fftw_dft_n_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,1853 +1,1857 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ n1_64(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r8, r2 │ │ │ │ │ - mov r5, r3 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r6, r3 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov sl, r2 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ subw sp, sp, #1028 @ 0x404 │ │ │ │ │ - ldr.w r3, [pc, #1340] @ 550 │ │ │ │ │ + ldr.w r3, [pc, #1348] @ 568 │ │ │ │ │ ldr.w r2, [sp, #1136] @ 0x470 │ │ │ │ │ + ldr.w r8, [sp, #1132] @ 0x46c │ │ │ │ │ add r3, pc │ │ │ │ │ - ldr.w r7, [sp, #1128] @ 0x468 │ │ │ │ │ - ldr.w ip, [sp, #1132] @ 0x46c │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.w 2384 │ │ │ │ │ + ble.w 2456 │ │ │ │ │ ldr.w r2, [sp, #1140] @ 0x474 │ │ │ │ │ - mov r6, r0 │ │ │ │ │ - mov lr, r1 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ + mov fp, r0 │ │ │ │ │ + mov r7, r1 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ str r2, [sp, #1012] @ 0x3f4 │ │ │ │ │ ldr.w r2, [sp, #1144] @ 0x478 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ str r2, [sp, #1016] @ 0x3f8 │ │ │ │ │ - ldr.w r2, [pc, #1300] @ 554 │ │ │ │ │ + ldr.w r2, [pc, #1308] @ 56c │ │ │ │ │ ldr r3, [r3, r2] │ │ │ │ │ + ldr.w r2, [sp, #1128] @ 0x468 │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ str r3, [sp, #1020] @ 0x3fc │ │ │ │ │ - lsls r3, r7, #8 │ │ │ │ │ - vldr d0, [r6] │ │ │ │ │ - adds r2, r6, r3 │ │ │ │ │ - vldr d2, [lr] │ │ │ │ │ - movs r0, #192 @ 0xc0 │ │ │ │ │ - mov.w r4, #480 @ 0x1e0 │ │ │ │ │ - mov.w r9, #224 @ 0xe0 │ │ │ │ │ - mov.w sl, #56 @ 0x38 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - add.w r2, lr, r3 │ │ │ │ │ - mov.w fp, #496 @ 0x1f0 │ │ │ │ │ + mov.w r3, r2, lsl #8 │ │ │ │ │ + vldr d0, [fp] │ │ │ │ │ + add.w r9, r2, r2, lsl #1 │ │ │ │ │ + add.w r1, fp, r3 │ │ │ │ │ + vldr d2, [r7] │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + add.w r1, r7, r3 │ │ │ │ │ vadd.f64 d14, d0, d7 │ │ │ │ │ vsub.f64 d0, d0, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - lsls r2, r7, #7 │ │ │ │ │ - adds r1, r6, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ - vadd.f64 d5, d2, d7 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + mov.w r1, r2, lsl #7 │ │ │ │ │ + add.w r0, fp, r1 │ │ │ │ │ + add r1, r7 │ │ │ │ │ + vldr d3, [r0] │ │ │ │ │ + add r0, r3 │ │ │ │ │ + vadd.f64 d12, d2, d7 │ │ │ │ │ vsub.f64 d2, d2, d7 │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + mov.w r0, r2, lsl #6 │ │ │ │ │ + vldr d1, [r1] │ │ │ │ │ add r1, r3 │ │ │ │ │ - vldr d1, [r2] │ │ │ │ │ - add r2, r3 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ + str r0, [sp, #16] │ │ │ │ │ vadd.f64 d15, d3, d7 │ │ │ │ │ vsub.f64 d3, d3, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - lsls r2, r7, #6 │ │ │ │ │ - adds r1, r6, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ - vadd.f64 d11, d1, d7 │ │ │ │ │ - vsub.f64 d1, d1, d7 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + add.w r1, fp, r0 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ add r1, r3 │ │ │ │ │ + vadd.f64 d11, d1, d7 │ │ │ │ │ + vsub.f64 d1, d1, d7 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ + add.w r1, r7, r0 │ │ │ │ │ + mov.w r0, r2, lsl #3 │ │ │ │ │ + str r0, [sp, #0] │ │ │ │ │ vadd.f64 d9, d6, d7 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - add r2, r3 │ │ │ │ │ - vldr d13, [r2] │ │ │ │ │ - mov.w r2, #448 @ 0x1c0 │ │ │ │ │ - vstr d7, [sp, #32] │ │ │ │ │ - mul.w r1, r2, r7 │ │ │ │ │ - vadd.f64 d12, d6, d13 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + add r1, r3 │ │ │ │ │ + vldr d13, [r1] │ │ │ │ │ + sub.w r1, r0, r2 │ │ │ │ │ + mov.w r5, r1, lsl #6 │ │ │ │ │ + add.w r0, fp, r5 │ │ │ │ │ + vstr d7, [sp, #8] │ │ │ │ │ + add r5, r7 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + mov.w r0, r9, lsl #6 │ │ │ │ │ + vadd.f64 d5, d6, d13 │ │ │ │ │ vsub.f64 d13, d6, d13 │ │ │ │ │ - adds r2, r6, r1 │ │ │ │ │ - add r1, lr │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - mul.w r2, r0, r7 │ │ │ │ │ - adds r0, r6, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - vldr d10, [r2] │ │ │ │ │ - lsls r2, r7, #5 │ │ │ │ │ + add.w ip, fp, r0 │ │ │ │ │ + add r0, r7 │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + vldr d10, [r0] │ │ │ │ │ + mov.w r0, r2, lsl #5 │ │ │ │ │ vadd.f64 d4, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - adds r1, r6, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + add.w r5, fp, r0 │ │ │ │ │ vadd.f64 d8, d6, d10 │ │ │ │ │ vsub.f64 d6, d6, d10 │ │ │ │ │ vsub.f64 d10, d0, d1 │ │ │ │ │ vadd.f64 d1, d0, d1 │ │ │ │ │ - vstr d1, [sp, #8] │ │ │ │ │ + vstr d10, [sp, #32] │ │ │ │ │ + vstr d1, [sp, #40] @ 0x28 │ │ │ │ │ vsub.f64 d1, d2, d3 │ │ │ │ │ vadd.f64 d3, d2, d3 │ │ │ │ │ vadd.f64 d2, d14, d15 │ │ │ │ │ vsub.f64 d14, d14, d15 │ │ │ │ │ - vstr d10, [sp] │ │ │ │ │ - vstr d1, [sp, #16] │ │ │ │ │ - vstr d3, [sp, #24] │ │ │ │ │ + vstr d1, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d3, [sp, #56] @ 0x38 │ │ │ │ │ vadd.f64 d3, d9, d4 │ │ │ │ │ vsub.f64 d4, d4, d9 │ │ │ │ │ - vldr d1, [pc, #1012] @ 538 │ │ │ │ │ + vldr d1, [pc, #1000] @ 550 │ │ │ │ │ vadd.f64 d0, d2, d3 │ │ │ │ │ vsub.f64 d2, d2, d3 │ │ │ │ │ - vsub.f64 d3, d5, d11 │ │ │ │ │ - vadd.f64 d5, d5, d11 │ │ │ │ │ - vstr d0, [sp, #768] @ 0x300 │ │ │ │ │ - vsub.f64 d9, d3, d4 │ │ │ │ │ + vsub.f64 d3, d12, d11 │ │ │ │ │ + vadd.f64 d12, d12, d11 │ │ │ │ │ + vstr d0, [sp, #776] @ 0x308 │ │ │ │ │ + vldr d0, [sp, #8] │ │ │ │ │ + vstr d2, [sp, #784] @ 0x310 │ │ │ │ │ + vsub.f64 d2, d3, d4 │ │ │ │ │ vadd.f64 d4, d3, d4 │ │ │ │ │ - vldr d0, [sp, #32] │ │ │ │ │ - vstr d2, [sp, #776] @ 0x308 │ │ │ │ │ vadd.f64 d3, d0, d13 │ │ │ │ │ - vstr d4, [sp, #792] @ 0x318 │ │ │ │ │ + vstr d2, [sp, #792] @ 0x318 │ │ │ │ │ + vstr d4, [sp, #800] @ 0x320 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d9, [sp, #784] @ 0x310 │ │ │ │ │ vsub.f64 d2, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ vmul.f64 d4, d4, d1 │ │ │ │ │ - vmul.f64 d2, d2, d1 │ │ │ │ │ - vstr d4, [sp, #40] @ 0x28 │ │ │ │ │ - vadd.f64 d4, d12, d8 │ │ │ │ │ - vsub.f64 d12, d12, d8 │ │ │ │ │ - vstr d2, [sp, #32] │ │ │ │ │ - vadd.f64 d11, d5, d4 │ │ │ │ │ - vsub.f64 d5, d5, d4 │ │ │ │ │ - vsub.f64 d8, d14, d12 │ │ │ │ │ - vstr d5, [sp, #808] @ 0x328 │ │ │ │ │ + vmul.f64 d9, d2, d1 │ │ │ │ │ + vstr d9, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d4, [sp, #72] @ 0x48 │ │ │ │ │ + vadd.f64 d4, d5, d8 │ │ │ │ │ + vsub.f64 d5, d5, d8 │ │ │ │ │ + vadd.f64 d10, d12, d4 │ │ │ │ │ + vsub.f64 d8, d14, d5 │ │ │ │ │ + vsub.f64 d12, d12, d4 │ │ │ │ │ + vadd.f64 d5, d14, d5 │ │ │ │ │ + vstr d10, [sp, #808] @ 0x328 │ │ │ │ │ + vstr d12, [sp, #816] @ 0x330 │ │ │ │ │ + vstr d8, [sp, #824] @ 0x338 │ │ │ │ │ + vstr d5, [sp, #832] @ 0x340 │ │ │ │ │ vsub.f64 d5, d13, d0 │ │ │ │ │ - vstr d8, [sp, #816] @ 0x330 │ │ │ │ │ - vadd.f64 d8, d14, d12 │ │ │ │ │ - vstr d11, [sp, #800] @ 0x320 │ │ │ │ │ vsub.f64 d6, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ - vstr d8, [sp, #824] @ 0x338 │ │ │ │ │ - vmul.f64 d9, d6, d1 │ │ │ │ │ + vmul.f64 d6, d6, d1 │ │ │ │ │ vmul.f64 d7, d5, d1 │ │ │ │ │ - vstr d9, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - add r1, r3 │ │ │ │ │ - vstr d7, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - movs r1, #160 @ 0xa0 │ │ │ │ │ + vstr d6, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + add r5, r3 │ │ │ │ │ + vstr d7, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, r7, r0 │ │ │ │ │ + sub.w r0, r0, r2 │ │ │ │ │ + vadd.f64 d12, d6, d7 │ │ │ │ │ + vsub.f64 d13, d6, d7 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + add r5, r3 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, r2, r2, lsl #2 │ │ │ │ │ + str r5, [sp, #8] │ │ │ │ │ + mov.w r5, r5, lsl #5 │ │ │ │ │ + vstr d13, [sp, #136] @ 0x88 │ │ │ │ │ + add.w ip, fp, r5 │ │ │ │ │ + add r5, r7 │ │ │ │ │ vadd.f64 d13, d6, d7 │ │ │ │ │ - vsub.f64 d10, d6, d7 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - add r2, r3 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - mul.w r2, r1, r7 │ │ │ │ │ - vstr d10, [sp, #112] @ 0x70 │ │ │ │ │ - adds r1, r6, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ - vadd.f64 d15, d6, d7 │ │ │ │ │ - vsub.f64 d11, d6, d7 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - add r1, r3 │ │ │ │ │ - vstr d11, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d14, [r1] │ │ │ │ │ - mul.w r1, r4, r7 │ │ │ │ │ - movs r4, #208 @ 0xd0 │ │ │ │ │ - vadd.f64 d12, d6, d14 │ │ │ │ │ - vsub.f64 d14, d6, d14 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - add r2, r3 │ │ │ │ │ - vldr d11, [r2] │ │ │ │ │ - adds r2, r6, r1 │ │ │ │ │ - add r1, lr │ │ │ │ │ - vadd.f64 d8, d6, d11 │ │ │ │ │ - vsub.f64 d11, d6, d11 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - mul.w r2, r9, r7 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - mov.w r9, #80 @ 0x50 │ │ │ │ │ - adds r0, r6, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - mov.w r0, #464 @ 0x1d0 │ │ │ │ │ - vadd.f64 d2, d6, d7 │ │ │ │ │ - vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - movs r2, #96 @ 0x60 │ │ │ │ │ - mul.w r2, r2, r7 │ │ │ │ │ - vadd.f64 d3, d4, d7 │ │ │ │ │ - vsub.f64 d4, d4, d7 │ │ │ │ │ - adds r1, r6, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - add r1, r3 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - vadd.f64 d9, d7, d5 │ │ │ │ │ - vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - add r2, r3 │ │ │ │ │ - vldr d1, [r2] │ │ │ │ │ - vadd.f64 d10, d2, d9 │ │ │ │ │ + vsub.f64 d7, d6, d7 │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + add ip, r3 │ │ │ │ │ + vldr d15, [ip] │ │ │ │ │ vstr d7, [sp, #144] @ 0x90 │ │ │ │ │ - vsub.f64 d2, d2, d9 │ │ │ │ │ - lsls r2, r7, #4 │ │ │ │ │ - vadd.f64 d0, d5, d1 │ │ │ │ │ - vsub.f64 d5, d5, d1 │ │ │ │ │ - vadd.f64 d1, d13, d12 │ │ │ │ │ - vsub.f64 d12, d13, d12 │ │ │ │ │ - adds r1, r6, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ - vadd.f64 d7, d1, d10 │ │ │ │ │ - vsub.f64 d1, d10, d1 │ │ │ │ │ - vsub.f64 d10, d15, d8 │ │ │ │ │ - vadd.f64 d15, d15, d8 │ │ │ │ │ - vstr d1, [sp, #832] @ 0x340 │ │ │ │ │ - vsub.f64 d1, d3, d0 │ │ │ │ │ - vsub.f64 d13, d10, d12 │ │ │ │ │ - vadd.f64 d3, d3, d0 │ │ │ │ │ - vstr d7, [sp, #64] @ 0x40 │ │ │ │ │ - vadd.f64 d7, d10, d12 │ │ │ │ │ - vldr d10, [sp, #112] @ 0x70 │ │ │ │ │ - vsub.f64 d12, d2, d1 │ │ │ │ │ - vldr d0, [pc, #600] @ 540 │ │ │ │ │ - vadd.f64 d8, d15, d3 │ │ │ │ │ - vstr d13, [sp, #72] @ 0x48 │ │ │ │ │ - vsub.f64 d13, d15, d3 │ │ │ │ │ - vsub.f64 d3, d10, d11 │ │ │ │ │ - vadd.f64 d9, d2, d1 │ │ │ │ │ - vstr d7, [sp, #80] @ 0x50 │ │ │ │ │ - vstr d12, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d12, [sp, #120] @ 0x78 │ │ │ │ │ - vmul.f64 d1, d3, d0 │ │ │ │ │ + vadd.f64 d8, d6, d15 │ │ │ │ │ + vsub.f64 d15, d6, d15 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + add r5, r3 │ │ │ │ │ + vldr d11, [r5] │ │ │ │ │ + mov.w r5, r2, lsl #4 │ │ │ │ │ + sub.w r4, r5, r2 │ │ │ │ │ + mov.w lr, r4, lsl #5 │ │ │ │ │ + str r4, [sp, #288] @ 0x120 │ │ │ │ │ + add.w ip, fp, lr │ │ │ │ │ + add lr, r7 │ │ │ │ │ + vadd.f64 d1, d6, d11 │ │ │ │ │ + vsub.f64 d11, d6, d11 │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + mov.w ip, r1, lsl #5 │ │ │ │ │ + add.w r4, fp, ip │ │ │ │ │ + add ip, r7 │ │ │ │ │ + vldr d5, [lr] │ │ │ │ │ + vldr d7, [ip] │ │ │ │ │ + mov.w ip, r9, lsl #5 │ │ │ │ │ + vldr d14, [r4] │ │ │ │ │ + add.w lr, fp, ip │ │ │ │ │ + add ip, r7 │ │ │ │ │ + mov.w r4, #464 @ 0x1d0 │ │ │ │ │ + vadd.f64 d4, d5, d7 │ │ │ │ │ + vsub.f64 d5, d5, d7 │ │ │ │ │ + vldr d7, [lr] │ │ │ │ │ + add lr, r3 │ │ │ │ │ + vadd.f64 d3, d6, d14 │ │ │ │ │ + vsub.f64 d14, d6, d14 │ │ │ │ │ + vldr d6, [lr] │ │ │ │ │ + vstr d5, [sp, #168] @ 0xa8 │ │ │ │ │ + vadd.f64 d0, d7, d6 │ │ │ │ │ + vsub.f64 d7, d7, d6 │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + add ip, r3 │ │ │ │ │ + vldr d9, [ip] │ │ │ │ │ + add.w ip, fp, r5 │ │ │ │ │ + vadd.f64 d10, d3, d0 │ │ │ │ │ + vsub.f64 d3, d3, d0 │ │ │ │ │ + vadd.f64 d2, d6, d9 │ │ │ │ │ + vsub.f64 d6, d6, d9 │ │ │ │ │ + vadd.f64 d9, d12, d8 │ │ │ │ │ + vsub.f64 d12, d12, d8 │ │ │ │ │ + vsub.f64 d0, d4, d2 │ │ │ │ │ + vadd.f64 d4, d4, d2 │ │ │ │ │ + vadd.f64 d5, d9, d10 │ │ │ │ │ + vstr d5, [sp, #24] │ │ │ │ │ + vsub.f64 d5, d10, d9 │ │ │ │ │ + vsub.f64 d9, d13, d1 │ │ │ │ │ + vadd.f64 d13, d13, d1 │ │ │ │ │ + vsub.f64 d10, d3, d0 │ │ │ │ │ + vsub.f64 d8, d9, d12 │ │ │ │ │ + vadd.f64 d1, d13, d4 │ │ │ │ │ + vsub.f64 d4, d13, d4 │ │ │ │ │ + vstr d8, [sp, #96] @ 0x60 │ │ │ │ │ + vadd.f64 d8, d9, d12 │ │ │ │ │ + vadd.f64 d9, d3, d0 │ │ │ │ │ + vldr d0, [pc, #560] @ 558 │ │ │ │ │ vstr d8, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d8, [pc, #564] @ 548 │ │ │ │ │ - vadd.f64 d2, d12, d14 │ │ │ │ │ - vsub.f64 d14, d12, d14 │ │ │ │ │ - vstr d9, [sp, #88] @ 0x58 │ │ │ │ │ - vmul.f64 d3, d3, d8 │ │ │ │ │ - vstr d13, [sp, #840] @ 0x348 │ │ │ │ │ - vnmls.f64 d1, d2, d8 │ │ │ │ │ - vstr d1, [sp, #112] @ 0x70 │ │ │ │ │ - vmov.f64 d1, d8 │ │ │ │ │ - vmov.f64 d8, d3 │ │ │ │ │ - vmla.f64 d8, d2, d0 │ │ │ │ │ - vadd.f64 d2, d10, d11 │ │ │ │ │ - vstr d8, [sp, #120] @ 0x78 │ │ │ │ │ - vmov.f64 d8, d1 │ │ │ │ │ - vmul.f64 d1, d2, d1 │ │ │ │ │ - vmul.f64 d2, d2, d0 │ │ │ │ │ - vnmls.f64 d1, d14, d0 │ │ │ │ │ - vmov.f64 d9, d2 │ │ │ │ │ - vadd.f64 d2, d6, d5 │ │ │ │ │ - vsub.f64 d6, d6, d5 │ │ │ │ │ - vmla.f64 d9, d14, d8 │ │ │ │ │ - vmul.f64 d5, d6, d0 │ │ │ │ │ + vstr d9, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d10, [sp, #120] @ 0x78 │ │ │ │ │ vstr d1, [sp, #128] @ 0x80 │ │ │ │ │ - vmul.f64 d1, d2, d8 │ │ │ │ │ - vldr d7, [sp, #144] @ 0x90 │ │ │ │ │ - vstr d9, [sp, #136] @ 0x88 │ │ │ │ │ - vsub.f64 d3, d4, d7 │ │ │ │ │ - vadd.f64 d7, d4, d7 │ │ │ │ │ - vmov.f64 d10, d1 │ │ │ │ │ - vmla.f64 d5, d7, d8 │ │ │ │ │ - vmul.f64 d7, d7, d0 │ │ │ │ │ - vmla.f64 d10, d3, d0 │ │ │ │ │ - vmul.f64 d3, d3, d8 │ │ │ │ │ - vmov.f64 d4, d7 │ │ │ │ │ - vmov.f64 d11, d3 │ │ │ │ │ - vnmls.f64 d4, d6, d8 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - add r1, r3 │ │ │ │ │ - vstr d10, [sp, #144] @ 0x90 │ │ │ │ │ - vstr d5, [sp, #160] @ 0xa0 │ │ │ │ │ - vnmls.f64 d11, d2, d0 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - movs r1, #144 @ 0x90 │ │ │ │ │ + vstr d5, [sp, #840] @ 0x348 │ │ │ │ │ + vstr d4, [sp, #848] @ 0x350 │ │ │ │ │ + vldr d12, [sp, #144] @ 0x90 │ │ │ │ │ + str r5, [sp, #528] @ 0x210 │ │ │ │ │ + vldr d13, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d1, [pc, #532] @ 560 │ │ │ │ │ + vadd.f64 d3, d12, d15 │ │ │ │ │ + vldr d5, [sp, #168] @ 0xa8 │ │ │ │ │ + vsub.f64 d15, d12, d15 │ │ │ │ │ + vsub.f64 d4, d13, d11 │ │ │ │ │ + vmul.f64 d2, d4, d1 │ │ │ │ │ + vmul.f64 d4, d4, d0 │ │ │ │ │ + vmla.f64 d4, d3, d1 │ │ │ │ │ + vmov.f64 d8, d2 │ │ │ │ │ + vnmls.f64 d8, d3, d0 │ │ │ │ │ + vadd.f64 d3, d13, d11 │ │ │ │ │ + vmul.f64 d2, d3, d0 │ │ │ │ │ + vmul.f64 d3, d3, d1 │ │ │ │ │ + vstr d4, [sp, #144] @ 0x90 │ │ │ │ │ + vsub.f64 d4, d5, d7 │ │ │ │ │ + vadd.f64 d7, d5, d7 │ │ │ │ │ + vstr d8, [sp, #136] @ 0x88 │ │ │ │ │ + vmov.f64 d10, d3 │ │ │ │ │ + vadd.f64 d3, d14, d6 │ │ │ │ │ + vsub.f64 d14, d14, d6 │ │ │ │ │ + vmov.f64 d9, d2 │ │ │ │ │ + vmla.f64 d10, d15, d0 │ │ │ │ │ + vnmls.f64 d9, d15, d1 │ │ │ │ │ + vmul.f64 d2, d3, d0 │ │ │ │ │ + vmul.f64 d6, d14, d1 │ │ │ │ │ + vmla.f64 d6, d7, d0 │ │ │ │ │ + vmul.f64 d7, d7, d1 │ │ │ │ │ + vmov.f64 d11, d2 │ │ │ │ │ + vstr d9, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d10, [sp, #160] @ 0xa0 │ │ │ │ │ + vmla.f64 d11, d4, d1 │ │ │ │ │ + vmul.f64 d4, d4, d0 │ │ │ │ │ + vmov.f64 d5, d7 │ │ │ │ │ + vnmls.f64 d5, d14, d0 │ │ │ │ │ + vmov.f64 d13, d4 │ │ │ │ │ + vstr d6, [sp, #184] @ 0xb8 │ │ │ │ │ + vnmls.f64 d13, d3, d1 │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + add ip, r3 │ │ │ │ │ + vstr d11, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d7, [ip] │ │ │ │ │ + add.w ip, r7, r5 │ │ │ │ │ + ldr r5, [sp, #0] │ │ │ │ │ vadd.f64 d14, d6, d7 │ │ │ │ │ - vsub.f64 d10, d6, d7 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - add r2, r3 │ │ │ │ │ - vstr d4, [sp, #168] @ 0xa8 │ │ │ │ │ - vstr d11, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - mul.w r2, r1, r7 │ │ │ │ │ - vstr d10, [sp, #232] @ 0xe8 │ │ │ │ │ - adds r1, r6, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ - vadd.f64 d12, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vstr d6, [sp, #240] @ 0xf0 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - add r1, r3 │ │ │ │ │ - vldr d13, [r1] │ │ │ │ │ - mul.w r1, r0, r7 │ │ │ │ │ + add r5, r2 │ │ │ │ │ + vstr d13, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d5, [sp, #192] @ 0xc0 │ │ │ │ │ + vstr d6, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + add ip, r3 │ │ │ │ │ + str r5, [sp, #536] @ 0x218 │ │ │ │ │ + vldr d7, [ip] │ │ │ │ │ + mov.w ip, r5, lsl #4 │ │ │ │ │ + add.w lr, fp, ip │ │ │ │ │ + add ip, r7 │ │ │ │ │ + ldr r5, [sp, #8] │ │ │ │ │ + vadd.f64 d12, d6, d7 │ │ │ │ │ + vsub.f64 d7, d6, d7 │ │ │ │ │ + vldr d6, [lr] │ │ │ │ │ + add lr, r3 │ │ │ │ │ + vldr d13, [lr] │ │ │ │ │ + mul.w lr, r4, r2 │ │ │ │ │ + vstr d7, [sp, #256] @ 0x100 │ │ │ │ │ vadd.f64 d8, d6, d13 │ │ │ │ │ vsub.f64 d13, d6, d13 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - add r2, r3 │ │ │ │ │ - vldr d15, [r2] │ │ │ │ │ - adds r2, r6, r1 │ │ │ │ │ - add r1, lr │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - mul.w r2, r4, r7 │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + add ip, r3 │ │ │ │ │ + vldr d15, [ip] │ │ │ │ │ + add.w ip, fp, lr │ │ │ │ │ + add lr, r7 │ │ │ │ │ + vldr d5, [ip] │ │ │ │ │ + mov.w ip, #208 @ 0xd0 │ │ │ │ │ + mul.w ip, ip, r2 │ │ │ │ │ vadd.f64 d0, d6, d15 │ │ │ │ │ vsub.f64 d15, d6, d15 │ │ │ │ │ - adds r0, r6, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - mov.w r4, #440 @ 0x1b8 │ │ │ │ │ - vldr d3, [r2] │ │ │ │ │ - mul.w r2, r9, r7 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ - movs r0, #248 @ 0xf8 │ │ │ │ │ - adds r1, r6, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ - vsub.f64 d4, d6, d3 │ │ │ │ │ - vadd.f64 d6, d6, d3 │ │ │ │ │ + vldr d6, [lr] │ │ │ │ │ + add.w r4, fp, ip │ │ │ │ │ + add ip, r7 │ │ │ │ │ + vldr d2, [r4] │ │ │ │ │ + vldr d3, [ip] │ │ │ │ │ + mov.w ip, r5, lsl #4 │ │ │ │ │ + add.w lr, fp, ip │ │ │ │ │ + add ip, r7 │ │ │ │ │ vsub.f64 d7, d5, d2 │ │ │ │ │ + vldr d1, [lr] │ │ │ │ │ vadd.f64 d5, d5, d2 │ │ │ │ │ - vldr d1, [r1] │ │ │ │ │ - add r1, r3 │ │ │ │ │ - vldr d2, [r2] │ │ │ │ │ - add r2, r3 │ │ │ │ │ - mov.w r9, #184 @ 0xb8 │ │ │ │ │ + add lr, r3 │ │ │ │ │ + vsub.f64 d4, d6, d3 │ │ │ │ │ + vldr d2, [ip] │ │ │ │ │ + add ip, r3 │ │ │ │ │ + vadd.f64 d6, d6, d3 │ │ │ │ │ vadd.f64 d11, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vldr d10, [r2] │ │ │ │ │ - mov.w r2, #504 @ 0x1f8 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - vstr d5, [sp, #176] @ 0xb0 │ │ │ │ │ - vsub.f64 d9, d2, d10 │ │ │ │ │ - vadd.f64 d2, d2, d10 │ │ │ │ │ + vldr d4, [lr] │ │ │ │ │ + vldr d10, [ip] │ │ │ │ │ + vstr d14, [sp, #200] @ 0xc8 │ │ │ │ │ + ldr r5, [sp, #16] │ │ │ │ │ vsub.f64 d3, d1, d4 │ │ │ │ │ vadd.f64 d1, d1, d4 │ │ │ │ │ + vsub.f64 d9, d2, d10 │ │ │ │ │ + vadd.f64 d2, d2, d10 │ │ │ │ │ vadd.f64 d10, d14, d8 │ │ │ │ │ - vsub.f64 d14, d14, d8 │ │ │ │ │ - mul.w r1, r2, r7 │ │ │ │ │ + sub.w r4, r5, r2 │ │ │ │ │ + ldr r5, [sp, #288] @ 0x120 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + add.w ip, fp, r4 │ │ │ │ │ + add r4, r7 │ │ │ │ │ vsub.f64 d4, d9, d3 │ │ │ │ │ vadd.f64 d3, d3, d9 │ │ │ │ │ vadd.f64 d9, d5, d1 │ │ │ │ │ - adds r2, r6, r1 │ │ │ │ │ - add r1, lr │ │ │ │ │ - vadd.f64 d5, d10, d9 │ │ │ │ │ + vsub.f64 d5, d5, d1 │ │ │ │ │ + vadd.f64 d14, d10, d9 │ │ │ │ │ vsub.f64 d10, d10, d9 │ │ │ │ │ vsub.f64 d9, d12, d0 │ │ │ │ │ vadd.f64 d12, d12, d0 │ │ │ │ │ - vstr d5, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d5, [sp, #176] @ 0xb0 │ │ │ │ │ - vstr d10, [sp, #848] @ 0x350 │ │ │ │ │ - vsub.f64 d5, d5, d1 │ │ │ │ │ - vsub.f64 d10, d9, d5 │ │ │ │ │ + vstr d14, [sp, #208] @ 0xd0 │ │ │ │ │ + vsub.f64 d14, d9, d5 │ │ │ │ │ vadd.f64 d5, d9, d5 │ │ │ │ │ - vstr d5, [sp, #192] @ 0xc0 │ │ │ │ │ + vstr d14, [sp, #216] @ 0xd8 │ │ │ │ │ + vstr d5, [sp, #224] @ 0xe0 │ │ │ │ │ vsub.f64 d5, d2, d6 │ │ │ │ │ vadd.f64 d6, d6, d2 │ │ │ │ │ - vstr d10, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d2, [pc, #92] @ 538 │ │ │ │ │ - vsub.f64 d8, d14, d5 │ │ │ │ │ - vadd.f64 d14, d14, d5 │ │ │ │ │ - vadd.f64 d5, d12, d6 │ │ │ │ │ + vldr d14, [sp, #200] @ 0xc8 │ │ │ │ │ + vstr d10, [sp, #856] @ 0x358 │ │ │ │ │ + vldr d2, [pc, #48] @ 550 │ │ │ │ │ + vadd.f64 d0, d12, d6 │ │ │ │ │ vsub.f64 d12, d12, d6 │ │ │ │ │ + vsub.f64 d14, d14, d8 │ │ │ │ │ vsub.f64 d6, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ - vstr d8, [sp, #200] @ 0xc8 │ │ │ │ │ - vstr d14, [sp, #208] @ 0xd0 │ │ │ │ │ - vstr d5, [sp, #216] @ 0xd8 │ │ │ │ │ + vstr d0, [sp, #240] @ 0xf0 │ │ │ │ │ + vstr d12, [sp, #248] @ 0xf8 │ │ │ │ │ + vsub.f64 d1, d14, d5 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ - vldr d14, [sp, #240] @ 0xf0 │ │ │ │ │ - vmul.f64 d7, d7, d2 │ │ │ │ │ - vstr d12, [sp, #224] @ 0xe0 │ │ │ │ │ - vadd.f64 d5, d14, d13 │ │ │ │ │ - vsub.f64 d13, d14, d13 │ │ │ │ │ - vsub.f64 d0, d5, d6 │ │ │ │ │ - vadd.f64 d6, d5, d6 │ │ │ │ │ - vmov.f64 d5, d2 │ │ │ │ │ - vstr d6, [sp, #864] @ 0x360 │ │ │ │ │ - vadd.f64 d6, d11, d4 │ │ │ │ │ - vsub.f64 d4, d4, d11 │ │ │ │ │ - vstr d0, [sp, #856] @ 0x358 │ │ │ │ │ - b.n 558 │ │ │ │ │ + vldr d12, [sp, #256] @ 0x100 │ │ │ │ │ + b.n 570 │ │ │ │ │ + nop │ │ │ │ │ + nop.w │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ - .word 0xcf328d46 │ │ │ │ │ - .word 0x3fed906b │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ - .word 0x00000534 │ │ │ │ │ + .word 0xcf328d46 │ │ │ │ │ + .word 0x3fed906b │ │ │ │ │ + .word 0x00000538 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ + vadd.f64 d14, d14, d5 │ │ │ │ │ + vmul.f64 d7, d7, d2 │ │ │ │ │ + vstr d1, [sp, #200] @ 0xc8 │ │ │ │ │ + vadd.f64 d5, d12, d13 │ │ │ │ │ + vsub.f64 d13, d12, d13 │ │ │ │ │ + vstr d14, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d14, [sp, #264] @ 0x108 │ │ │ │ │ + vsub.f64 d9, d5, d6 │ │ │ │ │ + vadd.f64 d6, d5, d6 │ │ │ │ │ + vstr d6, [sp, #256] @ 0x100 │ │ │ │ │ + vadd.f64 d6, d11, d4 │ │ │ │ │ + vsub.f64 d4, d4, d11 │ │ │ │ │ + vstr d9, [sp, #864] @ 0x360 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ - vmul.f64 d4, d4, d5 │ │ │ │ │ - vsub.f64 d14, d13, d6 │ │ │ │ │ - vadd.f64 d6, d13, d6 │ │ │ │ │ - vstr d14, [sp, #872] @ 0x368 │ │ │ │ │ - vldr d14, [sp, #232] @ 0xe8 │ │ │ │ │ - vstr d6, [sp, #880] @ 0x370 │ │ │ │ │ + vmul.f64 d4, d4, d2 │ │ │ │ │ + vsub.f64 d12, d13, d6 │ │ │ │ │ + vadd.f64 d13, d13, d6 │ │ │ │ │ vadd.f64 d6, d14, d15 │ │ │ │ │ vsub.f64 d15, d14, d15 │ │ │ │ │ + vstr d12, [sp, #872] @ 0x368 │ │ │ │ │ vsub.f64 d3, d6, d7 │ │ │ │ │ - vadd.f64 d2, d6, d7 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - mul.w r2, r0, r7 │ │ │ │ │ + vadd.f64 d7, d6, d7 │ │ │ │ │ + vadd.f64 d6, d15, d4 │ │ │ │ │ vsub.f64 d11, d15, d4 │ │ │ │ │ - vadd.f64 d4, d15, d4 │ │ │ │ │ - adds r0, r6, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ - vstr d3, [sp, #232] @ 0xe8 │ │ │ │ │ - vstr d2, [sp, #240] @ 0xf0 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - vstr d11, [sp, #888] @ 0x378 │ │ │ │ │ - vstr d4, [sp, #248] @ 0xf8 │ │ │ │ │ + vstr d3, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d7, [sp, #888] @ 0x378 │ │ │ │ │ + vstr d6, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + mov.w ip, r0, lsl #3 │ │ │ │ │ + vstr d11, [sp, #272] @ 0x110 │ │ │ │ │ + mov.w r0, r0, lsl #4 │ │ │ │ │ + add.w lr, fp, ip │ │ │ │ │ + add ip, r7 │ │ │ │ │ + vstr d13, [sp, #880] @ 0x370 │ │ │ │ │ + vldr d7, [lr] │ │ │ │ │ + mov.w lr, #440 @ 0x1b8 │ │ │ │ │ vsub.f64 d11, d6, d7 │ │ │ │ │ - vadd.f64 d14, d6, d7 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - movs r1, #120 @ 0x78 │ │ │ │ │ - vstr d11, [sp, #320] @ 0x140 │ │ │ │ │ - vldr d11, [r2] │ │ │ │ │ - mul.w r2, r1, r7 │ │ │ │ │ - vstr d14, [sp, #256] @ 0x100 │ │ │ │ │ - adds r1, r6, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ + vadd.f64 d4, d6, d7 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + mov.w r4, r5, lsl #3 │ │ │ │ │ + mov.w r5, r5, lsl #4 │ │ │ │ │ + vstr d4, [sp, #16] │ │ │ │ │ + vstr d11, [sp, #336] @ 0x150 │ │ │ │ │ + vldr d11, [ip] │ │ │ │ │ + add.w ip, fp, r4 │ │ │ │ │ + add r4, r7 │ │ │ │ │ + vldr d1, [r4] │ │ │ │ │ + add r4, r3 │ │ │ │ │ vsub.f64 d15, d6, d11 │ │ │ │ │ vadd.f64 d11, d6, d11 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - add r1, r3 │ │ │ │ │ - vldr d12, [r1] │ │ │ │ │ - mul.w r1, r4, r7 │ │ │ │ │ - movs r4, #176 @ 0xb0 │ │ │ │ │ - vadd.f64 d1, d6, d12 │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + add ip, r3 │ │ │ │ │ + vldr d12, [ip] │ │ │ │ │ + mul.w ip, lr, r2 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + add.w r4, fp, ip │ │ │ │ │ + add ip, r7 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + mov.w r4, #184 @ 0xb8 │ │ │ │ │ + vadd.f64 d14, d6, d12 │ │ │ │ │ vsub.f64 d12, d6, d12 │ │ │ │ │ - vstr d1, [sp, #264] @ 0x108 │ │ │ │ │ - vldr d1, [r2] │ │ │ │ │ - add r2, r3 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - adds r2, r6, r1 │ │ │ │ │ - add r1, lr │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - mul.w r2, r9, r7 │ │ │ │ │ - vldr d2, [r1] │ │ │ │ │ + mul.w r4, r4, r2 │ │ │ │ │ + vldr d2, [ip] │ │ │ │ │ vsub.f64 d13, d1, d7 │ │ │ │ │ - adds r0, r6, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ vadd.f64 d1, d1, d7 │ │ │ │ │ - mov.w r9, #48 @ 0x30 │ │ │ │ │ - vldr d3, [r0] │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - mul.w r2, sl, r7 │ │ │ │ │ - mov.w sl, #136 @ 0x88 │ │ │ │ │ + add.w lr, fp, r4 │ │ │ │ │ + add r4, r7 │ │ │ │ │ + vldr d3, [lr] │ │ │ │ │ + mov.w lr, #104 @ 0x68 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + mov.w r4, r1, lsl #3 │ │ │ │ │ + mov.w r1, r1, lsl #4 │ │ │ │ │ + add.w ip, fp, r4 │ │ │ │ │ + add r4, r7 │ │ │ │ │ vsub.f64 d7, d5, d3 │ │ │ │ │ - adds r1, r6, r2 │ │ │ │ │ + vldr d0, [ip] │ │ │ │ │ + add ip, r3 │ │ │ │ │ + vadd.f64 d5, d5, d3 │ │ │ │ │ vsub.f64 d6, d2, d4 │ │ │ │ │ - add r2, lr │ │ │ │ │ vadd.f64 d2, d2, d4 │ │ │ │ │ - vadd.f64 d5, d5, d3 │ │ │ │ │ - vldr d0, [r1] │ │ │ │ │ - add r1, r3 │ │ │ │ │ + vldr d10, [ip] │ │ │ │ │ + mov.w ip, #200 @ 0xc8 │ │ │ │ │ vadd.f64 d4, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - add r2, r3 │ │ │ │ │ - vldr d10, [r1] │ │ │ │ │ - mul.w r1, fp, r7 │ │ │ │ │ - vldr d8, [r2] │ │ │ │ │ - adds r2, r6, r1 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + add r4, r3 │ │ │ │ │ vsub.f64 d3, d0, d10 │ │ │ │ │ vadd.f64 d0, d0, d10 │ │ │ │ │ - vldr d10, [sp, #264] @ 0x108 │ │ │ │ │ - add r1, lr │ │ │ │ │ + vldr d10, [sp, #16] │ │ │ │ │ + vldr d8, [r4] │ │ │ │ │ + add.w r4, fp, r0 │ │ │ │ │ + add r0, r7 │ │ │ │ │ + vstr d7, [sp, #352] @ 0x160 │ │ │ │ │ + vadd.f64 d10, d10, d14 │ │ │ │ │ vsub.f64 d9, d6, d8 │ │ │ │ │ vadd.f64 d6, d6, d8 │ │ │ │ │ - vadd.f64 d10, d14, d10 │ │ │ │ │ vsub.f64 d8, d9, d3 │ │ │ │ │ vadd.f64 d3, d3, d9 │ │ │ │ │ vadd.f64 d9, d5, d0 │ │ │ │ │ vsub.f64 d5, d5, d0 │ │ │ │ │ - vldr d0, [pc, #1016] @ a88 │ │ │ │ │ - vadd.f64 d14, d10, d9 │ │ │ │ │ - vstr d14, [sp, #272] @ 0x110 │ │ │ │ │ - vsub.f64 d14, d10, d9 │ │ │ │ │ + vldr d0, [pc, #1008] @ ae0 │ │ │ │ │ + vadd.f64 d7, d10, d9 │ │ │ │ │ + vstr d7, [sp, #288] @ 0x120 │ │ │ │ │ + vsub.f64 d7, d10, d9 │ │ │ │ │ vsub.f64 d9, d11, d1 │ │ │ │ │ vadd.f64 d11, d11, d1 │ │ │ │ │ - vstr d14, [sp, #280] @ 0x118 │ │ │ │ │ - vsub.f64 d14, d9, d5 │ │ │ │ │ - vstr d14, [sp, #288] @ 0x120 │ │ │ │ │ - vadd.f64 d14, d9, d5 │ │ │ │ │ + vstr d7, [sp, #296] @ 0x128 │ │ │ │ │ + vsub.f64 d7, d9, d5 │ │ │ │ │ + vadd.f64 d5, d9, d5 │ │ │ │ │ + vstr d7, [sp, #304] @ 0x130 │ │ │ │ │ + vstr d5, [sp, #312] @ 0x138 │ │ │ │ │ vadd.f64 d5, d2, d6 │ │ │ │ │ vsub.f64 d6, d6, d2 │ │ │ │ │ - vstr d14, [sp, #296] @ 0x128 │ │ │ │ │ vsub.f64 d1, d11, d5 │ │ │ │ │ vadd.f64 d11, d11, d5 │ │ │ │ │ vsub.f64 d5, d8, d4 │ │ │ │ │ vadd.f64 d4, d4, d8 │ │ │ │ │ - vstr d11, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d11, [sp, #320] @ 0x140 │ │ │ │ │ + vstr d1, [sp, #320] @ 0x140 │ │ │ │ │ + vstr d11, [sp, #328] @ 0x148 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ - vstr d1, [sp, #304] @ 0x130 │ │ │ │ │ vmul.f64 d4, d4, d0 │ │ │ │ │ + vldr d11, [sp, #336] @ 0x150 │ │ │ │ │ vsub.f64 d1, d11, d13 │ │ │ │ │ vadd.f64 d13, d11, d13 │ │ │ │ │ - vsub.f64 d10, d1, d5 │ │ │ │ │ + vsub.f64 d7, d1, d5 │ │ │ │ │ vadd.f64 d5, d1, d5 │ │ │ │ │ vadd.f64 d1, d15, d12 │ │ │ │ │ vsub.f64 d15, d15, d12 │ │ │ │ │ - vstr d5, [sp, #328] @ 0x148 │ │ │ │ │ - vsub.f64 d5, d7, d3 │ │ │ │ │ + vstr d7, [sp, #336] @ 0x150 │ │ │ │ │ + vldr d7, [sp, #352] @ 0x160 │ │ │ │ │ + vsub.f64 d8, d15, d4 │ │ │ │ │ vadd.f64 d12, d15, d4 │ │ │ │ │ + vstr d5, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d4, [sp, #16] │ │ │ │ │ + vsub.f64 d5, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ - vstr d10, [sp, #320] @ 0x140 │ │ │ │ │ + vstr d8, [sp, #368] @ 0x170 │ │ │ │ │ + vstr d12, [sp, #376] @ 0x178 │ │ │ │ │ + vsub.f64 d14, d4, d14 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ - vstr d12, [sp, #360] @ 0x168 │ │ │ │ │ - vsub.f64 d9, d1, d5 │ │ │ │ │ - vadd.f64 d5, d1, d5 │ │ │ │ │ - vldr d1, [sp, #264] @ 0x108 │ │ │ │ │ - vstr d5, [sp, #344] @ 0x158 │ │ │ │ │ - vmov.f64 d5, d0 │ │ │ │ │ - vsub.f64 d0, d15, d4 │ │ │ │ │ - vldr d4, [sp, #256] @ 0x100 │ │ │ │ │ - vstr d9, [sp, #336] @ 0x150 │ │ │ │ │ - vsub.f64 d14, d4, d1 │ │ │ │ │ - vmul.f64 d7, d7, d5 │ │ │ │ │ - vstr d0, [sp, #352] @ 0x160 │ │ │ │ │ - vsub.f64 d4, d14, d6 │ │ │ │ │ + vsub.f64 d0, d14, d6 │ │ │ │ │ vadd.f64 d6, d14, d6 │ │ │ │ │ vsub.f64 d3, d13, d7 │ │ │ │ │ vadd.f64 d11, d13, d7 │ │ │ │ │ - vstr d6, [sp, #264] @ 0x108 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - movs r2, #240 @ 0xf0 │ │ │ │ │ - vstr d3, [sp, #368] @ 0x170 │ │ │ │ │ - vstr d4, [sp, #256] @ 0x100 │ │ │ │ │ - mul.w r2, r2, r7 │ │ │ │ │ - vstr d11, [sp, #376] @ 0x178 │ │ │ │ │ - adds r0, r6, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - mov.w r0, #432 @ 0x1b0 │ │ │ │ │ + vsub.f64 d10, d1, d5 │ │ │ │ │ + vadd.f64 d5, d1, d5 │ │ │ │ │ + vstr d6, [sp, #392] @ 0x188 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + add.w r4, fp, r5 │ │ │ │ │ + add r5, r7 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + vstr d10, [sp, #352] @ 0x160 │ │ │ │ │ + vstr d3, [sp, #400] @ 0x190 │ │ │ │ │ + vstr d5, [sp, #360] @ 0x168 │ │ │ │ │ + vstr d0, [sp, #384] @ 0x180 │ │ │ │ │ + vstr d11, [sp, #408] @ 0x198 │ │ │ │ │ + vsub.f64 d3, d6, d7 │ │ │ │ │ vadd.f64 d13, d6, d7 │ │ │ │ │ - vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - vstr d6, [sp, #456] @ 0x1c8 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - movs r1, #112 @ 0x70 │ │ │ │ │ - mul.w r2, r1, r7 │ │ │ │ │ + vstr d3, [sp, #480] @ 0x1e0 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + add.w r0, fp, r1 │ │ │ │ │ + add r1, r7 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ vadd.f64 d12, d6, d7 │ │ │ │ │ - vsub.f64 d3, d6, d7 │ │ │ │ │ - adds r1, r6, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - add r1, r3 │ │ │ │ │ - vstr d3, [sp, #448] @ 0x1c0 │ │ │ │ │ - vldr d15, [r1] │ │ │ │ │ - mul.w r1, r0, r7 │ │ │ │ │ + vsub.f64 d2, d6, d7 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + add r0, r3 │ │ │ │ │ + vldr d15, [r0] │ │ │ │ │ + vstr d2, [sp, #472] @ 0x1d8 │ │ │ │ │ vadd.f64 d8, d6, d15 │ │ │ │ │ vsub.f64 d15, d6, d15 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - add r2, r3 │ │ │ │ │ - vldr d14, [r2] │ │ │ │ │ - adds r2, r6, r1 │ │ │ │ │ - add r1, lr │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - mul.w r2, r4, r7 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + add r1, r3 │ │ │ │ │ + vldr d14, [r1] │ │ │ │ │ + mov.w r1, #432 @ 0x1b0 │ │ │ │ │ + mul.w r0, r1, r2 │ │ │ │ │ + add.w r1, fp, r0 │ │ │ │ │ + add r0, r7 │ │ │ │ │ vadd.f64 d0, d6, d14 │ │ │ │ │ vsub.f64 d14, d6, d14 │ │ │ │ │ - adds r0, r6, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - movs r4, #40 @ 0x28 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ - movs r0, #200 @ 0xc8 │ │ │ │ │ - vldr d3, [r2] │ │ │ │ │ - mul.w r2, r9, r7 │ │ │ │ │ - mov.w r9, #168 @ 0xa8 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + mov.w r1, #176 @ 0xb0 │ │ │ │ │ + mul.w r1, r1, r2 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + add.w r4, fp, r1 │ │ │ │ │ + add r1, r7 │ │ │ │ │ + vldr d2, [r4] │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ + mov.w r1, r9, lsl #4 │ │ │ │ │ + add.w r0, fp, r1 │ │ │ │ │ + add r1, r7 │ │ │ │ │ vsub.f64 d7, d5, d2 │ │ │ │ │ vadd.f64 d5, d5, d2 │ │ │ │ │ + vldr d1, [r0] │ │ │ │ │ + add r0, r3 │ │ │ │ │ vsub.f64 d4, d6, d3 │ │ │ │ │ - adds r1, r6, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ vadd.f64 d2, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vstr d2, [sp, #464] @ 0x1d0 │ │ │ │ │ - vldr d1, [r1] │ │ │ │ │ - add r1, r3 │ │ │ │ │ - vldr d2, [r2] │ │ │ │ │ - add r2, r3 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - vldr d10, [r2] │ │ │ │ │ - lsls r2, r7, #3 │ │ │ │ │ - adds r1, r6, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ + vstr d2, [sp, #496] @ 0x1f0 │ │ │ │ │ vsub.f64 d3, d1, d4 │ │ │ │ │ vadd.f64 d1, d1, d4 │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ + add r1, r3 │ │ │ │ │ + vldr d10, [r1] │ │ │ │ │ vsub.f64 d9, d2, d10 │ │ │ │ │ vadd.f64 d2, d2, d10 │ │ │ │ │ vadd.f64 d10, d13, d8 │ │ │ │ │ vsub.f64 d13, d13, d8 │ │ │ │ │ vsub.f64 d4, d9, d3 │ │ │ │ │ vadd.f64 d3, d3, d9 │ │ │ │ │ vadd.f64 d9, d5, d1 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ vadd.f64 d11, d10, d9 │ │ │ │ │ - vstr d11, [sp, #384] @ 0x180 │ │ │ │ │ + vstr d11, [sp, #16] │ │ │ │ │ vsub.f64 d11, d10, d9 │ │ │ │ │ vsub.f64 d9, d12, d0 │ │ │ │ │ vadd.f64 d12, d12, d0 │ │ │ │ │ - vstr d11, [sp, #392] @ 0x188 │ │ │ │ │ - vsub.f64 d10, d9, d5 │ │ │ │ │ - vadd.f64 d9, d9, d5 │ │ │ │ │ + vsub.f64 d1, d9, d5 │ │ │ │ │ + vadd.f64 d10, d9, d5 │ │ │ │ │ + vstr d11, [sp, #416] @ 0x1a0 │ │ │ │ │ vsub.f64 d5, d2, d6 │ │ │ │ │ vadd.f64 d6, d6, d2 │ │ │ │ │ - vldr d2, [pc, #520] @ a88 │ │ │ │ │ - vstr d10, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d2, [sp, #472] @ 0x1d8 │ │ │ │ │ + vstr d1, [sp, #424] @ 0x1a8 │ │ │ │ │ + vsub.f64 d8, d13, d5 │ │ │ │ │ vadd.f64 d0, d12, d6 │ │ │ │ │ + vstr d10, [sp, #432] @ 0x1b0 │ │ │ │ │ vsub.f64 d6, d12, d6 │ │ │ │ │ - vsub.f64 d8, d13, d5 │ │ │ │ │ - vstr d9, [sp, #408] @ 0x198 │ │ │ │ │ - vstr d6, [sp, #440] @ 0x1b8 │ │ │ │ │ + vadd.f64 d13, d13, d5 │ │ │ │ │ + vadd.f64 d5, d2, d15 │ │ │ │ │ + vsub.f64 d15, d2, d15 │ │ │ │ │ + vstr d8, [sp, #440] @ 0x1b8 │ │ │ │ │ + vldr d8, [pc, #488] @ ae0 │ │ │ │ │ + vstr d13, [sp, #448] @ 0x1c0 │ │ │ │ │ + vstr d6, [sp, #464] @ 0x1d0 │ │ │ │ │ vsub.f64 d6, d7, d3 │ │ │ │ │ - vstr d0, [sp, #432] @ 0x1b0 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ - vldr d0, [sp, #448] @ 0x1c0 │ │ │ │ │ - vstr d8, [sp, #416] @ 0x1a0 │ │ │ │ │ - vadd.f64 d8, d13, d5 │ │ │ │ │ - vmul.f64 d6, d6, d2 │ │ │ │ │ - vadd.f64 d5, d0, d15 │ │ │ │ │ - vmul.f64 d7, d7, d2 │ │ │ │ │ - vsub.f64 d15, d0, d15 │ │ │ │ │ - vstr d8, [sp, #424] @ 0x1a8 │ │ │ │ │ - vadd.f64 d13, d5, d6 │ │ │ │ │ + vstr d0, [sp, #456] @ 0x1c8 │ │ │ │ │ + vmul.f64 d6, d6, d8 │ │ │ │ │ + vmul.f64 d7, d7, d8 │ │ │ │ │ vsub.f64 d12, d5, d6 │ │ │ │ │ - vldr d5, [sp, #464] @ 0x1d0 │ │ │ │ │ - vstr d13, [sp, #448] @ 0x1c0 │ │ │ │ │ - vldr d13, [sp, #456] @ 0x1c8 │ │ │ │ │ + vadd.f64 d6, d5, d6 │ │ │ │ │ + vstr d6, [sp, #472] @ 0x1d8 │ │ │ │ │ vstr d12, [sp, #896] @ 0x380 │ │ │ │ │ - vadd.f64 d6, d13, d14 │ │ │ │ │ - vsub.f64 d14, d13, d14 │ │ │ │ │ + vldr d12, [sp, #480] @ 0x1e0 │ │ │ │ │ + vadd.f64 d6, d12, d14 │ │ │ │ │ + vsub.f64 d14, d12, d14 │ │ │ │ │ vsub.f64 d3, d6, d7 │ │ │ │ │ - vstr d3, [sp, #456] @ 0x1c8 │ │ │ │ │ + vstr d3, [sp, #480] @ 0x1e0 │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ - vadd.f64 d7, d5, d4 │ │ │ │ │ - vmov.f64 d6, d2 │ │ │ │ │ - vsub.f64 d4, d4, d5 │ │ │ │ │ - vstr d3, [sp, #904] @ 0x388 │ │ │ │ │ - vmul.f64 d7, d7, d2 │ │ │ │ │ - vmul.f64 d4, d4, d6 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - add r1, r3 │ │ │ │ │ + vldr d6, [sp, #496] @ 0x1f0 │ │ │ │ │ + vstr d3, [sp, #488] @ 0x1e8 │ │ │ │ │ + vadd.f64 d7, d6, d4 │ │ │ │ │ + vsub.f64 d4, d4, d6 │ │ │ │ │ + vmul.f64 d7, d7, d8 │ │ │ │ │ + vmul.f64 d4, d4, d8 │ │ │ │ │ vsub.f64 d2, d15, d7 │ │ │ │ │ vadd.f64 d15, d15, d7 │ │ │ │ │ - vsub.f64 d7, d14, d4 │ │ │ │ │ - vadd.f64 d13, d14, d4 │ │ │ │ │ - vstr d15, [sp, #472] @ 0x1d8 │ │ │ │ │ - vldr d15, [r1] │ │ │ │ │ - vstr d7, [sp, #480] @ 0x1e0 │ │ │ │ │ - vstr d2, [sp, #464] @ 0x1d0 │ │ │ │ │ - vadd.f64 d12, d6, d15 │ │ │ │ │ - vsub.f64 d15, d6, d15 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - add r2, r3 │ │ │ │ │ - vstr d13, [sp, #488] @ 0x1e8 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - mul.w r2, sl, r7 │ │ │ │ │ - mov.w sl, #488 @ 0x1e8 │ │ │ │ │ - adds r1, r6, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ - vsub.f64 d3, d6, d7 │ │ │ │ │ - vadd.f64 d0, d6, d7 │ │ │ │ │ + vsub.f64 d12, d14, d4 │ │ │ │ │ + vadd.f64 d14, d14, d4 │ │ │ │ │ + vstr d2, [sp, #496] @ 0x1f0 │ │ │ │ │ + vstr d15, [sp, #504] @ 0x1f8 │ │ │ │ │ + ldr r0, [sp, #0] │ │ │ │ │ + vstr d12, [sp, #512] @ 0x200 │ │ │ │ │ + ldr r5, [sp, #528] @ 0x210 │ │ │ │ │ + vstr d14, [sp, #520] @ 0x208 │ │ │ │ │ + add.w r1, fp, r0 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ add r1, r3 │ │ │ │ │ - vstr d3, [sp, #528] @ 0x210 │ │ │ │ │ - vldr d14, [r1] │ │ │ │ │ - vstr d0, [sp, #520] @ 0x208 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + add.w r1, r7, r0 │ │ │ │ │ + vadd.f64 d12, d6, d7 │ │ │ │ │ + vsub.f64 d14, d6, d7 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + add r1, r3 │ │ │ │ │ + vldr d15, [r1] │ │ │ │ │ + add.w r1, r5, r2 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + add.w r0, fp, r1 │ │ │ │ │ + vstr d14, [sp, #560] @ 0x230 │ │ │ │ │ + add r1, r7 │ │ │ │ │ + vsub.f64 d9, d6, d15 │ │ │ │ │ + vadd.f64 d15, d6, d15 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + add r0, r3 │ │ │ │ │ + vldr d14, [r0] │ │ │ │ │ + mov.w r0, #456 @ 0x1c8 │ │ │ │ │ + mul.w r0, r0, r2 │ │ │ │ │ + vstr d9, [sp, #568] @ 0x238 │ │ │ │ │ vadd.f64 d8, d6, d14 │ │ │ │ │ vsub.f64 d14, d6, d14 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - add r2, r3 │ │ │ │ │ - vldr d13, [r2] │ │ │ │ │ - mov.w r2, #456 @ 0x1c8 │ │ │ │ │ - mul.w r1, r2, r7 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + add r1, r3 │ │ │ │ │ + vldr d13, [r1] │ │ │ │ │ + add.w r1, fp, r0 │ │ │ │ │ + add r0, r7 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ vsub.f64 d11, d6, d13 │ │ │ │ │ vadd.f64 d13, d6, d13 │ │ │ │ │ - adds r2, r6, r1 │ │ │ │ │ - add r1, lr │ │ │ │ │ - vstr d11, [sp, #536] @ 0x218 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - mul.w r2, r0, r7 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - movs r1, #72 @ 0x48 │ │ │ │ │ - adds r0, r6, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - mul.w r2, r1, r7 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ - adds r1, r6, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + mul.w r1, ip, r2 │ │ │ │ │ + mov.w ip, r8, lsl #4 │ │ │ │ │ + add.w r4, fp, r1 │ │ │ │ │ + add r1, r7 │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ + ldr r1, [sp, #536] @ 0x218 │ │ │ │ │ + vldr d2, [r4] │ │ │ │ │ vsub.f64 d3, d5, d4 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + add.w r0, fp, r1 │ │ │ │ │ + add r1, r7 │ │ │ │ │ vsub.f64 d7, d6, d2 │ │ │ │ │ vadd.f64 d6, d6, d2 │ │ │ │ │ - vldr d1, [r2] │ │ │ │ │ - add r2, r3 │ │ │ │ │ - vldr d2, [r1] │ │ │ │ │ + vldr d1, [r1] │ │ │ │ │ add r1, r3 │ │ │ │ │ - vldr d0, [r2] │ │ │ │ │ + vldr d2, [r0] │ │ │ │ │ + add r0, r3 │ │ │ │ │ + vldr d0, [r1] │ │ │ │ │ vsub.f64 d4, d7, d3 │ │ │ │ │ - vldr d10, [r1] │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ - mul.w r2, r4, r7 │ │ │ │ │ + vldr d10, [r0] │ │ │ │ │ vsub.f64 d3, d1, d0 │ │ │ │ │ vadd.f64 d1, d1, d0 │ │ │ │ │ vsub.f64 d9, d2, d10 │ │ │ │ │ vadd.f64 d2, d2, d10 │ │ │ │ │ vadd.f64 d10, d12, d8 │ │ │ │ │ vsub.f64 d12, d12, d8 │ │ │ │ │ - adds r1, r6, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ vsub.f64 d8, d1, d5 │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ vadd.f64 d0, d9, d3 │ │ │ │ │ vsub.f64 d3, d3, d9 │ │ │ │ │ vadd.f64 d9, d6, d2 │ │ │ │ │ vsub.f64 d6, d6, d2 │ │ │ │ │ - vadd.f64 d11, d10, d9 │ │ │ │ │ + vstr d0, [sp] │ │ │ │ │ + vadd.f64 d0, d10, d9 │ │ │ │ │ vsub.f64 d10, d10, d9 │ │ │ │ │ - vldr d9, [sp, #520] @ 0x208 │ │ │ │ │ - vstr d11, [sp, #496] @ 0x1f0 │ │ │ │ │ - vsub.f64 d11, d12, d8 │ │ │ │ │ + vldr d9, [sp, #568] @ 0x238 │ │ │ │ │ + vstr d0, [sp, #528] @ 0x210 │ │ │ │ │ + vsub.f64 d0, d12, d8 │ │ │ │ │ vadd.f64 d12, d12, d8 │ │ │ │ │ - vadd.f64 d8, d9, d13 │ │ │ │ │ - vsub.f64 d13, d9, d13 │ │ │ │ │ - vstr d10, [sp, #912] @ 0x390 │ │ │ │ │ - vstr d11, [sp, #504] @ 0x1f8 │ │ │ │ │ - vsub.f64 d11, d8, d5 │ │ │ │ │ + vadd.f64 d8, d15, d13 │ │ │ │ │ + vadd.f64 d1, d9, d14 │ │ │ │ │ + vsub.f64 d15, d15, d13 │ │ │ │ │ + vsub.f64 d14, d9, d14 │ │ │ │ │ + vstr d0, [sp, #536] @ 0x218 │ │ │ │ │ + vstr d12, [sp, #544] @ 0x220 │ │ │ │ │ + vsub.f64 d12, d8, d5 │ │ │ │ │ vadd.f64 d5, d8, d5 │ │ │ │ │ - vstr d12, [sp, #512] @ 0x200 │ │ │ │ │ - vldr d8, [pc, #52] @ a88 │ │ │ │ │ - vldr d12, [sp, #528] @ 0x210 │ │ │ │ │ - vstr d5, [sp, #520] @ 0x208 │ │ │ │ │ - vsub.f64 d5, d4, d0 │ │ │ │ │ - vstr d11, [sp, #920] @ 0x398 │ │ │ │ │ - vadd.f64 d4, d4, d0 │ │ │ │ │ - vadd.f64 d1, d12, d14 │ │ │ │ │ - vsub.f64 d14, d12, d14 │ │ │ │ │ + vldr d8, [pc, #44] @ ae0 │ │ │ │ │ + vsub.f64 d13, d15, d6 │ │ │ │ │ + vadd.f64 d15, d15, d6 │ │ │ │ │ + vstr d5, [sp, #552] @ 0x228 │ │ │ │ │ + vldr d5, [sp] │ │ │ │ │ + vstr d10, [sp, #904] @ 0x388 │ │ │ │ │ + vstr d12, [sp, #912] @ 0x390 │ │ │ │ │ + vsub.f64 d5, d4, d5 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ - vmul.f64 d4, d4, d8 │ │ │ │ │ - vsub.f64 d11, d1, d5 │ │ │ │ │ - vadd.f64 d1, d1, d5 │ │ │ │ │ - b.n aa8 │ │ │ │ │ + vsub.f64 d10, d1, d5 │ │ │ │ │ + b.n b00 │ │ │ │ │ nop │ │ │ │ │ nop.w │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ - .word 0xcf328d46 │ │ │ │ │ - .word 0x3fed906b │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ + .word 0xcf328d46 │ │ │ │ │ + .word 0x3fed906b │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ + vadd.f64 d5, d1, d5 │ │ │ │ │ + vstr d10, [sp, #920] @ 0x398 │ │ │ │ │ + ldr r5, [sp, #8] │ │ │ │ │ + vstr d5, [sp, #928] @ 0x3a0 │ │ │ │ │ vsub.f64 d5, d3, d7 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ - vstr d11, [sp, #528] @ 0x210 │ │ │ │ │ - vldr d11, [sp, #536] @ 0x218 │ │ │ │ │ - vmul.f64 d7, d7, d8 │ │ │ │ │ - vstr d1, [sp, #928] @ 0x3a0 │ │ │ │ │ + vldr d12, [sp, #560] @ 0x230 │ │ │ │ │ + vstr d13, [sp, #568] @ 0x238 │ │ │ │ │ + vstr d15, [sp, #576] @ 0x240 │ │ │ │ │ + mov.w r1, r5, lsl #3 │ │ │ │ │ + mov.w r5, #168 @ 0xa8 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ - vsub.f64 d1, d15, d11 │ │ │ │ │ - vadd.f64 d15, d15, d11 │ │ │ │ │ + add.w r0, fp, r1 │ │ │ │ │ + add r1, r7 │ │ │ │ │ + vsub.f64 d1, d12, d11 │ │ │ │ │ + vadd.f64 d11, d12, d11 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + add r0, r3 │ │ │ │ │ + vsub.f64 d0, d1, d5 │ │ │ │ │ + vadd.f64 d1, d1, d5 │ │ │ │ │ + vldr d5, [sp] │ │ │ │ │ + vadd.f64 d4, d4, d5 │ │ │ │ │ + vstr d0, [sp, #560] @ 0x230 │ │ │ │ │ + vstr d1, [sp, #936] @ 0x3a8 │ │ │ │ │ + vmov.f64 d1, d8 │ │ │ │ │ + vmul.f64 d7, d7, d1 │ │ │ │ │ + vmul.f64 d4, d4, d8 │ │ │ │ │ vsub.f64 d3, d14, d7 │ │ │ │ │ - vadd.f64 d7, d14, d7 │ │ │ │ │ - vsub.f64 d0, d15, d4 │ │ │ │ │ - vadd.f64 d15, d15, d4 │ │ │ │ │ - vsub.f64 d4, d13, d6 │ │ │ │ │ - vadd.f64 d13, d13, d6 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - add r1, r3 │ │ │ │ │ - vsub.f64 d10, d1, d5 │ │ │ │ │ - vadd.f64 d5, d1, d5 │ │ │ │ │ - vstr d7, [sp, #968] @ 0x3c8 │ │ │ │ │ - vstr d4, [sp, #544] @ 0x220 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - add r2, r3 │ │ │ │ │ - vstr d10, [sp, #536] @ 0x218 │ │ │ │ │ - vstr d5, [sp, #936] @ 0x3a8 │ │ │ │ │ - vstr d0, [sp, #944] @ 0x3b0 │ │ │ │ │ - vstr d15, [sp, #952] @ 0x3b8 │ │ │ │ │ + vadd.f64 d14, d14, d7 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + vsub.f64 d8, d11, d4 │ │ │ │ │ + vadd.f64 d4, d11, d4 │ │ │ │ │ vadd.f64 d15, d6, d7 │ │ │ │ │ - vstr d13, [sp, #552] @ 0x228 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ + vstr d8, [sp, #944] @ 0x3b0 │ │ │ │ │ + vstr d4, [sp, #952] @ 0x3b8 │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ + add r1, r3 │ │ │ │ │ vstr d3, [sp, #960] @ 0x3c0 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - mul.w r2, r9, r7 │ │ │ │ │ - adds r1, r6, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ - vsub.f64 d5, d4, d7 │ │ │ │ │ - vadd.f64 d3, d4, d7 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ + mul.w r1, r5, r2 │ │ │ │ │ + mov.w r5, #232 @ 0xe8 │ │ │ │ │ + vstr d14, [sp, #968] @ 0x3c8 │ │ │ │ │ + add.w r0, fp, r1 │ │ │ │ │ + add r1, r7 │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ add r1, r3 │ │ │ │ │ - vldr d2, [r2] │ │ │ │ │ - add r2, r3 │ │ │ │ │ - vstr d3, [sp, #560] @ 0x230 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - mul.w r1, sl, r7 │ │ │ │ │ - vldr d13, [r2] │ │ │ │ │ - adds r2, r6, r1 │ │ │ │ │ - add r1, lr │ │ │ │ │ + vsub.f64 d5, d4, d7 │ │ │ │ │ + vadd.f64 d11, d4, d7 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + add r0, r3 │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ + mov.w r0, #488 @ 0x1e8 │ │ │ │ │ + vldr d13, [r1] │ │ │ │ │ + mul.w r0, r0, r2 │ │ │ │ │ + vstr d11, [sp] │ │ │ │ │ + add.w r1, fp, r0 │ │ │ │ │ + add r0, r7 │ │ │ │ │ vadd.f64 d12, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ + vldr d1, [r1] │ │ │ │ │ + mul.w r1, r5, r2 │ │ │ │ │ + mov.w r5, #216 @ 0xd8 │ │ │ │ │ vsub.f64 d4, d2, d13 │ │ │ │ │ vadd.f64 d13, d2, d13 │ │ │ │ │ - vldr d1, [r2] │ │ │ │ │ - movs r2, #232 @ 0xe8 │ │ │ │ │ - vadd.f64 d2, d5, d7 │ │ │ │ │ + add.w r4, fp, r1 │ │ │ │ │ + add r1, r7 │ │ │ │ │ + vadd.f64 d3, d5, d7 │ │ │ │ │ vsub.f64 d7, d5, d7 │ │ │ │ │ - mul.w r2, r2, r7 │ │ │ │ │ vsub.f64 d14, d6, d4 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vsub.f64 d0, d3, d13 │ │ │ │ │ - adds r0, r6, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ - vstr d7, [sp, #640] @ 0x280 │ │ │ │ │ - vsub.f64 d8, d15, d12 │ │ │ │ │ - vstr d2, [sp, #608] @ 0x260 │ │ │ │ │ + vsub.f64 d9, d11, d13 │ │ │ │ │ + vstr d7, [sp, #648] @ 0x288 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + mov.w r4, #472 @ 0x1d8 │ │ │ │ │ + vstr d3, [sp, #616] @ 0x268 │ │ │ │ │ + vsub.f64 d3, d15, d12 │ │ │ │ │ vadd.f64 d12, d15, d12 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - vstr d6, [sp, #632] @ 0x278 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ + vstr d6, [sp, #640] @ 0x280 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + mul.w r1, lr, r2 │ │ │ │ │ + mov.w lr, r8, lsl #3 │ │ │ │ │ vadd.f64 d2, d1, d7 │ │ │ │ │ vsub.f64 d1, d1, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - movs r1, #104 @ 0x68 │ │ │ │ │ - vstr d0, [sp, #584] @ 0x248 │ │ │ │ │ - vstr d8, [sp, #568] @ 0x238 │ │ │ │ │ - mul.w r2, r1, r7 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + add.w r0, fp, r1 │ │ │ │ │ + add r1, r7 │ │ │ │ │ + vstr d3, [sp, #8] │ │ │ │ │ + vstr d9, [sp, #592] @ 0x250 │ │ │ │ │ + vldr d0, [r0] │ │ │ │ │ + add r0, r3 │ │ │ │ │ vsub.f64 d10, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - adds r1, r6, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ - vldr d0, [r1] │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ add r1, r3 │ │ │ │ │ - vldr d3, [r2] │ │ │ │ │ - add r2, r3 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - movs r1, #24 │ │ │ │ │ vadd.f64 d9, d0, d6 │ │ │ │ │ vsub.f64 d0, d0, d6 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - mul.w r2, r1, r7 │ │ │ │ │ - mul.w r1, r1, ip │ │ │ │ │ - adds r0, r6, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + mov.w r1, r9, lsl #3 │ │ │ │ │ + add.w r0, fp, r1 │ │ │ │ │ + add r1, r7 │ │ │ │ │ vsub.f64 d4, d3, d6 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ vsub.f64 d6, d2, d9 │ │ │ │ │ vadd.f64 d2, d2, d9 │ │ │ │ │ + vldr d9, [sp, #8] │ │ │ │ │ vadd.f64 d8, d10, d0 │ │ │ │ │ vsub.f64 d0, d10, d0 │ │ │ │ │ - vldr d10, [pc, #-368] @ aa0 │ │ │ │ │ + vldr d10, [pc, #-420] @ af8 │ │ │ │ │ vsub.f64 d11, d7, d3 │ │ │ │ │ vsub.f64 d5, d1, d4 │ │ │ │ │ vadd.f64 d15, d12, d2 │ │ │ │ │ - vsub.f64 d9, d2, d12 │ │ │ │ │ - vldr d2, [sp, #568] @ 0x238 │ │ │ │ │ + vsub.f64 d2, d2, d12 │ │ │ │ │ + vldr d12, [sp] │ │ │ │ │ vadd.f64 d4, d1, d4 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ vadd.f64 d1, d11, d6 │ │ │ │ │ vsub.f64 d6, d6, d11 │ │ │ │ │ - vstr d15, [sp, #576] @ 0x240 │ │ │ │ │ - vldr d15, [sp, #584] @ 0x248 │ │ │ │ │ - vstr d9, [sp, #976] @ 0x3d0 │ │ │ │ │ - vsub.f64 d2, d15, d2 │ │ │ │ │ + vldr d11, [sp, #8] │ │ │ │ │ + vstr d15, [sp, #584] @ 0x248 │ │ │ │ │ + vadd.f64 d13, d12, d13 │ │ │ │ │ + vldr d15, [sp, #592] @ 0x250 │ │ │ │ │ + vstr d2, [sp, #976] @ 0x3d0 │ │ │ │ │ + vldr d12, [sp, #616] @ 0x268 │ │ │ │ │ + vsub.f64 d3, d13, d7 │ │ │ │ │ + vadd.f64 d7, d13, d7 │ │ │ │ │ + vsub.f64 d2, d15, d9 │ │ │ │ │ + vstr d7, [sp] │ │ │ │ │ vsub.f64 d9, d2, d1 │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ - vmul.f64 d12, d9, d10 │ │ │ │ │ + vstr d3, [sp, #608] @ 0x260 │ │ │ │ │ + vmul.f64 d9, d9, d10 │ │ │ │ │ vmul.f64 d2, d2, d10 │ │ │ │ │ - vldr d9, [pc, #-448] @ a98 │ │ │ │ │ - vstr d12, [sp, #584] @ 0x248 │ │ │ │ │ - vldr d12, [sp, #560] @ 0x230 │ │ │ │ │ - vstr d2, [sp, #592] @ 0x250 │ │ │ │ │ - vldr d2, [pc, #-472] @ a90 │ │ │ │ │ - vadd.f64 d13, d12, d13 │ │ │ │ │ - vldr d12, [sp, #608] @ 0x260 │ │ │ │ │ - vsub.f64 d3, d13, d7 │ │ │ │ │ - vstr d3, [sp, #560] @ 0x230 │ │ │ │ │ - vadd.f64 d3, d13, d7 │ │ │ │ │ + vstr d9, [sp, #592] @ 0x250 │ │ │ │ │ + vldr d9, [pc, #-540] @ ae8 │ │ │ │ │ + vstr d2, [sp, #600] @ 0x258 │ │ │ │ │ + vldr d2, [pc, #-540] @ af0 │ │ │ │ │ vmul.f64 d7, d14, d9 │ │ │ │ │ + vmul.f64 d3, d8, d2 │ │ │ │ │ vmul.f64 d14, d14, d2 │ │ │ │ │ vmla.f64 d7, d12, d2 │ │ │ │ │ - vstr d3, [sp, #600] @ 0x258 │ │ │ │ │ - vmul.f64 d3, d8, d2 │ │ │ │ │ - vnmls.f64 d14, d12, d9 │ │ │ │ │ vnmls.f64 d3, d5, d9 │ │ │ │ │ + vnmls.f64 d14, d12, d9 │ │ │ │ │ vsub.f64 d13, d3, d7 │ │ │ │ │ - vadd.f64 d7, d3, d7 │ │ │ │ │ + vadd.f64 d3, d3, d7 │ │ │ │ │ + vstr d13, [sp, #616] @ 0x268 │ │ │ │ │ + vstr d3, [sp, #984] @ 0x3d8 │ │ │ │ │ vmov.f64 d3, d2 │ │ │ │ │ vmov.f64 d2, d9 │ │ │ │ │ - vstr d13, [sp, #608] @ 0x260 │ │ │ │ │ vmul.f64 d5, d5, d3 │ │ │ │ │ - vstr d7, [sp, #984] @ 0x3d8 │ │ │ │ │ + vmul.f64 d7, d4, d2 │ │ │ │ │ vmla.f64 d5, d8, d9 │ │ │ │ │ - vmul.f64 d7, d4, d9 │ │ │ │ │ + vldr d8, [sp, #648] @ 0x288 │ │ │ │ │ vmla.f64 d7, d0, d3 │ │ │ │ │ vmul.f64 d0, d0, d2 │ │ │ │ │ vnmls.f64 d0, d4, d3 │ │ │ │ │ - vsub.f64 d8, d14, d5 │ │ │ │ │ - vadd.f64 d14, d14, d5 │ │ │ │ │ - vstr d8, [sp, #616] @ 0x268 │ │ │ │ │ - vstr d14, [sp, #624] @ 0x270 │ │ │ │ │ - vldr d8, [sp, #632] @ 0x278 │ │ │ │ │ - vldr d12, [sp, #640] @ 0x280 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - add r2, r3 │ │ │ │ │ - vmul.f64 d5, d8, d9 │ │ │ │ │ - vnmls.f64 d5, d12, d3 │ │ │ │ │ + vsub.f64 d9, d14, d5 │ │ │ │ │ + vadd.f64 d12, d14, d5 │ │ │ │ │ + vldr d14, [sp, #640] @ 0x280 │ │ │ │ │ + vmul.f64 d5, d14, d2 │ │ │ │ │ + vstr d9, [sp, #624] @ 0x270 │ │ │ │ │ + vstr d12, [sp, #632] @ 0x278 │ │ │ │ │ + vnmls.f64 d5, d8, d3 │ │ │ │ │ vsub.f64 d9, d5, d7 │ │ │ │ │ vadd.f64 d7, d5, d7 │ │ │ │ │ + vstr d7, [sp, #640] @ 0x280 │ │ │ │ │ + vadd.f64 d7, d15, d11 │ │ │ │ │ vstr d9, [sp, #992] @ 0x3e0 │ │ │ │ │ - vldr d9, [sp, #568] @ 0x238 │ │ │ │ │ - vstr d7, [sp, #632] @ 0x278 │ │ │ │ │ - vadd.f64 d7, d15, d9 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vmul.f64 d7, d8, d3 │ │ │ │ │ - vmla.f64 d7, d12, d2 │ │ │ │ │ - vmul.f64 d6, d6, d10 │ │ │ │ │ - vmul.f64 d14, d5, d10 │ │ │ │ │ - vstr d6, [sp, #640] @ 0x280 │ │ │ │ │ - vstr d14, [sp, #568] @ 0x238 │ │ │ │ │ - vsub.f64 d6, d0, d7 │ │ │ │ │ - vadd.f64 d0, d0, d7 │ │ │ │ │ - vstr d6, [sp, #1000] @ 0x3e8 │ │ │ │ │ + vmul.f64 d7, d14, d3 │ │ │ │ │ + vmla.f64 d7, d8, d2 │ │ │ │ │ + vmul.f64 d11, d5, d10 │ │ │ │ │ + vstr d11, [sp, #648] @ 0x288 │ │ │ │ │ + vmul.f64 d11, d6, d10 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ add r0, r3 │ │ │ │ │ - vstr d0, [sp, #648] @ 0x288 │ │ │ │ │ + vsub.f64 d4, d0, d7 │ │ │ │ │ + vadd.f64 d0, d0, d7 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ + vstr d11, [sp, #656] @ 0x290 │ │ │ │ │ vadd.f64 d14, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - movs r2, #152 @ 0x98 │ │ │ │ │ - mul.w r0, r2, r7 │ │ │ │ │ + vstr d0, [sp, #664] @ 0x298 │ │ │ │ │ + vstr d4, [sp, #1000] @ 0x3e8 │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ + add r1, r3 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + mov.w r1, #152 @ 0x98 │ │ │ │ │ + mul.w r1, r1, r2 │ │ │ │ │ + add.w r0, fp, r1 │ │ │ │ │ + add r1, r7 │ │ │ │ │ + vadd.f64 d8, d4, d7 │ │ │ │ │ vsub.f64 d5, d4, d7 │ │ │ │ │ - vadd.f64 d0, d4, d7 │ │ │ │ │ - mul.w r2, r2, ip │ │ │ │ │ - adds r4, r6, r0 │ │ │ │ │ - add r0, lr │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - add r4, r3 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ add r0, r3 │ │ │ │ │ - vstr d0, [sp, #656] @ 0x290 │ │ │ │ │ - vldr d4, [r4] │ │ │ │ │ - mov.w r4, #472 @ 0x1d8 │ │ │ │ │ - vldr d13, [r0] │ │ │ │ │ - mul.w sl, r4, r7 │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ + add r1, r3 │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ + mul.w r0, r4, r2 │ │ │ │ │ + vldr d13, [r1] │ │ │ │ │ + add.w r1, fp, r0 │ │ │ │ │ + add r0, r7 │ │ │ │ │ + vstr d8, [sp, #8] │ │ │ │ │ vadd.f64 d12, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ vsub.f64 d4, d2, d13 │ │ │ │ │ - add.w r0, r6, sl │ │ │ │ │ vadd.f64 d13, d2, d13 │ │ │ │ │ - add sl, lr │ │ │ │ │ - mul.w r4, r4, ip │ │ │ │ │ - vsub.f64 d1, d14, d12 │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ + mul.w r1, r5, r2 │ │ │ │ │ + add.w r4, fp, r1 │ │ │ │ │ + vadd.f64 d11, d5, d7 │ │ │ │ │ + vsub.f64 d5, d5, d7 │ │ │ │ │ + add r1, r7 │ │ │ │ │ + vsub.f64 d0, d14, d12 │ │ │ │ │ vadd.f64 d12, d14, d12 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ - movs r0, #216 @ 0xd8 │ │ │ │ │ - vadd.f64 d8, d5, d7 │ │ │ │ │ - vsub.f64 d7, d5, d7 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ vsub.f64 d15, d6, d4 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - mul.w r9, r0, r7 │ │ │ │ │ - vstr d1, [sp, #664] @ 0x298 │ │ │ │ │ - vsub.f64 d0, d0, d13 │ │ │ │ │ - vldr d14, [pc, #-820] @ a98 │ │ │ │ │ - add.w fp, r6, r9 │ │ │ │ │ - vstr d7, [sp, #744] @ 0x2e8 │ │ │ │ │ - add r9, lr │ │ │ │ │ - vstr d6, [sp, #736] @ 0x2e0 │ │ │ │ │ - vldr d6, [sl] │ │ │ │ │ - mul.w r0, r0, ip │ │ │ │ │ - vldr d7, [fp] │ │ │ │ │ - vstr d8, [sp, #704] @ 0x2c0 │ │ │ │ │ - vstr d0, [sp, #672] @ 0x2a0 │ │ │ │ │ + vsub.f64 d9, d8, d13 │ │ │ │ │ + vstr d5, [sp, #752] @ 0x2f0 │ │ │ │ │ vadd.f64 d3, d2, d7 │ │ │ │ │ vsub.f64 d2, d2, d7 │ │ │ │ │ - vldr d7, [r9] │ │ │ │ │ - mov.w r9, #88 @ 0x58 │ │ │ │ │ - mul.w sl, r9, r7 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + mov.w r1, #88 @ 0x58 │ │ │ │ │ + vstr d0, [sp, #672] @ 0x2a0 │ │ │ │ │ + vstr d6, [sp, #744] @ 0x2e8 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + mul.w r1, r1, r2 │ │ │ │ │ + vstr d9, [sp, #680] @ 0x2a8 │ │ │ │ │ + vstr d11, [sp, #712] @ 0x2c8 │ │ │ │ │ + add.w r0, fp, r1 │ │ │ │ │ + add r1, r7 │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ + add r1, r3 │ │ │ │ │ vsub.f64 d9, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - mul.w r9, r9, ip │ │ │ │ │ - add.w fp, r6, sl │ │ │ │ │ - add sl, lr │ │ │ │ │ - vldr d7, [fp] │ │ │ │ │ - add fp, r3 │ │ │ │ │ - vldr d4, [sl] │ │ │ │ │ - add sl, r3 │ │ │ │ │ - vldr d5, [fp] │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + add r0, r3 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ vadd.f64 d8, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [sl] │ │ │ │ │ - mov.w sl, ip, lsl #8 │ │ │ │ │ - add.w r3, r8, sl │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + mov.w r1, r8, lsl #8 │ │ │ │ │ + add.w r3, sl, r1 │ │ │ │ │ vsub.f64 d1, d3, d8 │ │ │ │ │ vadd.f64 d3, d3, d8 │ │ │ │ │ vsub.f64 d10, d4, d5 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ vadd.f64 d5, d9, d7 │ │ │ │ │ vsub.f64 d7, d9, d7 │ │ │ │ │ + vsub.f64 d14, d3, d12 │ │ │ │ │ vadd.f64 d9, d12, d3 │ │ │ │ │ - vsub.f64 d3, d3, d12 │ │ │ │ │ - vsub.f64 d11, d6, d4 │ │ │ │ │ + vldr d12, [pc, #-980] @ af8 │ │ │ │ │ vsub.f64 d0, d2, d10 │ │ │ │ │ + vsub.f64 d11, d6, d4 │ │ │ │ │ vadd.f64 d10, d2, d10 │ │ │ │ │ - vldr d12, [pc, #-968] @ aa0 │ │ │ │ │ + vldr d2, [sp, #680] @ 0x2a8 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vstr d3, [sp, #680] @ 0x2a8 │ │ │ │ │ - vldr d8, [sp, #664] @ 0x298 │ │ │ │ │ + vstr d14, [sp, #688] @ 0x2b0 │ │ │ │ │ + vldr d14, [sp, #672] @ 0x2a0 │ │ │ │ │ vsub.f64 d3, d1, d11 │ │ │ │ │ - vldr d2, [sp, #672] @ 0x2a0 │ │ │ │ │ vadd.f64 d11, d11, d1 │ │ │ │ │ - vadd.f64 d2, d8, d2 │ │ │ │ │ + vadd.f64 d2, d14, d2 │ │ │ │ │ vsub.f64 d8, d3, d2 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ vmov.f64 d2, d12 │ │ │ │ │ - vmul.f64 d8, d8, d12 │ │ │ │ │ + vmul.f64 d14, d8, d12 │ │ │ │ │ + vldr d8, [sp, #8] │ │ │ │ │ vmul.f64 d12, d3, d12 │ │ │ │ │ - vstr d12, [sp, #696] @ 0x2b8 │ │ │ │ │ - vldr d12, [sp, #656] @ 0x290 │ │ │ │ │ - vstr d8, [sp, #688] @ 0x2b0 │ │ │ │ │ - vadd.f64 d3, d12, d13 │ │ │ │ │ - vldr d13, [pc, #1012] @ 12a0 │ │ │ │ │ - vldr d12, [sp, #704] @ 0x2c0 │ │ │ │ │ - vsub.f64 d4, d3, d6 │ │ │ │ │ + vadd.f64 d3, d8, d13 │ │ │ │ │ + vstr d14, [sp, #696] @ 0x2b8 │ │ │ │ │ + vstr d12, [sp, #704] @ 0x2c0 │ │ │ │ │ + vldr d12, [pc, #1004] @ 1308 │ │ │ │ │ + vldr d14, [pc, #1008] @ 1310 │ │ │ │ │ + vsub.f64 d8, d3, d6 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ - vmul.f64 d6, d0, d13 │ │ │ │ │ - vmla.f64 d6, d5, d14 │ │ │ │ │ - vmul.f64 d5, d5, d13 │ │ │ │ │ - vstr d4, [sp, #656] @ 0x290 │ │ │ │ │ - vmul.f64 d4, d15, d13 │ │ │ │ │ + vmul.f64 d4, d15, d12 │ │ │ │ │ + vmul.f64 d6, d0, d12 │ │ │ │ │ vmul.f64 d15, d15, d14 │ │ │ │ │ - vmla.f64 d15, d12, d13 │ │ │ │ │ + vstr d8, [sp, #8] │ │ │ │ │ + vldr d8, [sp, #712] @ 0x2c8 │ │ │ │ │ + vmla.f64 d6, d5, d14 │ │ │ │ │ + vmul.f64 d5, d5, d12 │ │ │ │ │ vnmls.f64 d5, d0, d14 │ │ │ │ │ - vnmls.f64 d4, d12, d14 │ │ │ │ │ - vsub.f64 d0, d5, d15 │ │ │ │ │ - vsub.f64 d8, d4, d6 │ │ │ │ │ + vnmls.f64 d4, d8, d14 │ │ │ │ │ + vmla.f64 d15, d8, d12 │ │ │ │ │ + vsub.f64 d13, d4, d6 │ │ │ │ │ vadd.f64 d6, d4, d6 │ │ │ │ │ - vldr d4, [sp, #312] @ 0x138 │ │ │ │ │ - vstr d0, [sp, #720] @ 0x2d0 │ │ │ │ │ - vadd.f64 d0, d5, d15 │ │ │ │ │ + vldr d4, [sp, #752] @ 0x2f0 │ │ │ │ │ + vsub.f64 d0, d5, d15 │ │ │ │ │ + vadd.f64 d8, d5, d15 │ │ │ │ │ vmul.f64 d5, d7, d14 │ │ │ │ │ - vldr d15, [sp, #744] @ 0x2e8 │ │ │ │ │ - vstr d8, [sp, #704] @ 0x2c0 │ │ │ │ │ - vldr d8, [sp, #736] @ 0x2e0 │ │ │ │ │ - vstr d6, [sp, #712] @ 0x2c8 │ │ │ │ │ - vnmls.f64 d5, d10, d13 │ │ │ │ │ - vstr d0, [sp, #728] @ 0x2d8 │ │ │ │ │ - vmul.f64 d6, d8, d13 │ │ │ │ │ + vstr d13, [sp, #712] @ 0x2c8 │ │ │ │ │ + vldr d13, [sp, #744] @ 0x2e8 │ │ │ │ │ + vnmls.f64 d5, d10, d12 │ │ │ │ │ vmul.f64 d10, d10, d14 │ │ │ │ │ - vmla.f64 d6, d15, d14 │ │ │ │ │ - vmla.f64 d10, d7, d13 │ │ │ │ │ - vsub.f64 d12, d5, d6 │ │ │ │ │ - vadd.f64 d0, d5, d6 │ │ │ │ │ - vstr d12, [sp, #736] @ 0x2e0 │ │ │ │ │ + vstr d6, [sp, #720] @ 0x2d0 │ │ │ │ │ + vstr d0, [sp, #728] @ 0x2d8 │ │ │ │ │ + vstr d8, [sp, #736] @ 0x2e0 │ │ │ │ │ + vmla.f64 d10, d7, d12 │ │ │ │ │ + vmul.f64 d6, d13, d12 │ │ │ │ │ + vmla.f64 d6, d4, d14 │ │ │ │ │ + vsub.f64 d0, d5, d6 │ │ │ │ │ + vadd.f64 d5, d5, d6 │ │ │ │ │ vstr d0, [sp, #744] @ 0x2e8 │ │ │ │ │ - vldr d12, [sp, #672] @ 0x2a0 │ │ │ │ │ - vldr d0, [sp, #664] @ 0x298 │ │ │ │ │ - vsub.f64 d6, d12, d0 │ │ │ │ │ - vldr d0, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d12, [sp, #800] @ 0x320 │ │ │ │ │ + vldr d0, [sp, #680] @ 0x2a8 │ │ │ │ │ + vstr d5, [sp, #752] @ 0x2f0 │ │ │ │ │ + vldr d8, [sp, #672] @ 0x2a0 │ │ │ │ │ + vldr d15, [sp, #776] @ 0x308 │ │ │ │ │ + vsub.f64 d6, d0, d8 │ │ │ │ │ + vldr d0, [sp, #24] │ │ │ │ │ + vldr d8, [sp, #528] @ 0x210 │ │ │ │ │ vsub.f64 d5, d6, d11 │ │ │ │ │ vadd.f64 d6, d6, d11 │ │ │ │ │ vmov.f64 d11, d2 │ │ │ │ │ + vadd.f64 d7, d15, d0 │ │ │ │ │ vmul.f64 d1, d5, d2 │ │ │ │ │ - vadd.f64 d5, d4, d3 │ │ │ │ │ - vstr d1, [sp, #664] @ 0x298 │ │ │ │ │ - vmul.f64 d1, d6, d2 │ │ │ │ │ - vmul.f64 d6, d8, d14 │ │ │ │ │ + vmul.f64 d2, d6, d2 │ │ │ │ │ + vldr d5, [sp, #552] @ 0x228 │ │ │ │ │ + vmul.f64 d6, d13, d14 │ │ │ │ │ + vldr d13, [sp, #288] @ 0x120 │ │ │ │ │ + vnmls.f64 d6, d4, d12 │ │ │ │ │ vstr d1, [sp, #672] @ 0x2a0 │ │ │ │ │ - vnmls.f64 d6, d15, d13 │ │ │ │ │ - vldr d15, [sp, #768] @ 0x300 │ │ │ │ │ - vadd.f64 d2, d6, d10 │ │ │ │ │ - vsub.f64 d7, d6, d10 │ │ │ │ │ - vldr d6, [sp, #384] @ 0x180 │ │ │ │ │ - vstr d2, [sp, #760] @ 0x2f8 │ │ │ │ │ - vldr d2, [sp, #184] @ 0xb8 │ │ │ │ │ - vstr d7, [sp, #752] @ 0x2f0 │ │ │ │ │ - vadd.f64 d7, d15, d0 │ │ │ │ │ - vldr d0, [sp, #520] @ 0x208 │ │ │ │ │ - vadd.f64 d6, d2, d6 │ │ │ │ │ - vldr d2, [sp, #576] @ 0x240 │ │ │ │ │ + vstr d2, [sp, #680] @ 0x2a8 │ │ │ │ │ + vldr d2, [sp, #16] │ │ │ │ │ + vsub.f64 d4, d6, d10 │ │ │ │ │ + vadd.f64 d1, d6, d10 │ │ │ │ │ + vldr d6, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d10, [sp, #456] @ 0x1c8 │ │ │ │ │ + vadd.f64 d6, d6, d2 │ │ │ │ │ + vstr d4, [sp, #760] @ 0x2f8 │ │ │ │ │ + vstr d1, [sp, #768] @ 0x300 │ │ │ │ │ + vldr d4, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d2, [sp, #128] @ 0x80 │ │ │ │ │ vadd.f64 d1, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #600] @ 0x258 │ │ │ │ │ - vadd.f64 d6, d0, d6 │ │ │ │ │ + vldr d6, [sp] │ │ │ │ │ + vadd.f64 d6, d5, d6 │ │ │ │ │ + vadd.f64 d5, d4, d3 │ │ │ │ │ + vldr d4, [sp, #584] @ 0x248 │ │ │ │ │ vsub.f64 d0, d6, d5 │ │ │ │ │ + vadd.f64 d4, d8, d4 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [sp, #496] @ 0x1f0 │ │ │ │ │ - vadd.f64 d4, d5, d2 │ │ │ │ │ - vldr d2, [sp, #272] @ 0x110 │ │ │ │ │ - vldr d10, [sp, #104] @ 0x68 │ │ │ │ │ - vadd.f64 d5, d2, d9 │ │ │ │ │ - vldr d2, [sp, #216] @ 0xd8 │ │ │ │ │ + vadd.f64 d5, d13, d9 │ │ │ │ │ + vldr d13, [sp, #808] @ 0x328 │ │ │ │ │ vadd.f64 d8, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ - vadd.f64 d4, d12, d10 │ │ │ │ │ - vldr d10, [sp, #432] @ 0x1b0 │ │ │ │ │ + vadd.f64 d4, d13, d2 │ │ │ │ │ + vldr d2, [sp, #240] @ 0xf0 │ │ │ │ │ vadd.f64 d10, d2, d10 │ │ │ │ │ vsub.f64 d2, d4, d10 │ │ │ │ │ vadd.f64 d4, d4, d10 │ │ │ │ │ vsub.f64 d10, d1, d8 │ │ │ │ │ vadd.f64 d1, d1, d8 │ │ │ │ │ vstr d10, [r3] │ │ │ │ │ vsub.f64 d10, d4, d6 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - add.w r3, r5, sl │ │ │ │ │ + add.w r3, r6, r1 │ │ │ │ │ vstr d10, [r3] │ │ │ │ │ - mov.w r3, ip, lsl #7 │ │ │ │ │ - vstr d1, [r8] │ │ │ │ │ - add.w fp, r5, r3 │ │ │ │ │ - vstr d6, [r5] │ │ │ │ │ + mov.w r3, r8, lsl #7 │ │ │ │ │ + vstr d1, [sl] │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ vadd.f64 d6, d5, d2 │ │ │ │ │ - add r3, r8 │ │ │ │ │ + add.w r0, r6, r3 │ │ │ │ │ vsub.f64 d2, d2, d5 │ │ │ │ │ - vstr d6, [fp] │ │ │ │ │ + add r3, sl │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ vadd.f64 d6, d7, d0 │ │ │ │ │ vsub.f64 d7, d7, d0 │ │ │ │ │ - vldr d0, [sp, #64] @ 0x40 │ │ │ │ │ - add fp, sl │ │ │ │ │ + vldr d0, [sp, #24] │ │ │ │ │ + add r0, r1 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ + add r3, r1 │ │ │ │ │ vsub.f64 d6, d15, d0 │ │ │ │ │ - add r3, sl │ │ │ │ │ - vldr d15, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d0, [sp, #432] @ 0x1b0 │ │ │ │ │ - vstr d2, [fp] │ │ │ │ │ + vldr d0, [sp, #456] @ 0x1c8 │ │ │ │ │ + vstr d2, [r0] │ │ │ │ │ + mov.w r0, r8, lsl #6 │ │ │ │ │ + vldr d2, [sp, #240] @ 0xf0 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - mov.w r3, #320 @ 0x140 │ │ │ │ │ - vsub.f64 d7, d15, d0 │ │ │ │ │ - vldr d0, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d2, [sp, #384] @ 0x180 │ │ │ │ │ - vldr d15, [sp, #272] @ 0x110 │ │ │ │ │ - mul.w r3, r3, ip │ │ │ │ │ - vsub.f64 d5, d12, d0 │ │ │ │ │ - vldr d0, [sp, #184] @ 0xb8 │ │ │ │ │ + add.w r3, r8, r8, lsl #2 │ │ │ │ │ + vsub.f64 d7, d2, d0 │ │ │ │ │ + vldr d2, [sp, #16] │ │ │ │ │ + vldr d0, [sp, #128] @ 0x80 │ │ │ │ │ vadd.f64 d1, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d12, [sp, #576] @ 0x240 │ │ │ │ │ - vsub.f64 d9, d15, d9 │ │ │ │ │ + vsub.f64 d5, d13, d0 │ │ │ │ │ + vldr d0, [sp, #208] @ 0xd0 │ │ │ │ │ + str r0, [sp, #24] │ │ │ │ │ + vldr d13, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d15, [sp, #816] @ 0x330 │ │ │ │ │ vsub.f64 d7, d2, d0 │ │ │ │ │ - vldr d0, [sp, #496] @ 0x1f0 │ │ │ │ │ - add.w sl, r8, r3 │ │ │ │ │ - add r3, r5 │ │ │ │ │ - vsub.f64 d4, d0, d12 │ │ │ │ │ - vldr d0, [sp, #520] @ 0x208 │ │ │ │ │ + vldr d0, [sp, #528] @ 0x210 │ │ │ │ │ + vsub.f64 d9, d13, d9 │ │ │ │ │ + vldr d13, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d10, [sp, #856] @ 0x358 │ │ │ │ │ vsub.f64 d2, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ - vldr d7, [sp, #600] @ 0x258 │ │ │ │ │ + vldr d7, [sp, #584] @ 0x248 │ │ │ │ │ + vsub.f64 d3, d13, d3 │ │ │ │ │ + vldr d13, [sp, #848] @ 0x350 │ │ │ │ │ + vsub.f64 d4, d0, d7 │ │ │ │ │ + vldr d7, [sp] │ │ │ │ │ + str r3, [sp, #0] │ │ │ │ │ + mov.w r3, r3, lsl #6 │ │ │ │ │ + vldr d0, [sp, #552] @ 0x228 │ │ │ │ │ + add.w r1, sl, r3 │ │ │ │ │ + add r3, r6 │ │ │ │ │ vsub.f64 d7, d0, d7 │ │ │ │ │ vadd.f64 d0, d4, d7 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [sp, #312] @ 0x138 │ │ │ │ │ - vsub.f64 d3, d4, d3 │ │ │ │ │ vsub.f64 d4, d9, d3 │ │ │ │ │ vadd.f64 d3, d9, d3 │ │ │ │ │ vadd.f64 d8, d0, d4 │ │ │ │ │ vsub.f64 d4, d4, d0 │ │ │ │ │ vmul.f64 d8, d8, d11 │ │ │ │ │ vmul.f64 d4, d4, d11 │ │ │ │ │ vsub.f64 d9, d1, d8 │ │ │ │ │ vadd.f64 d1, d1, d8 │ │ │ │ │ - vstr d9, [sl] │ │ │ │ │ - mov.w sl, ip, lsl #6 │ │ │ │ │ - add.w fp, r8, sl │ │ │ │ │ - add sl, r5 │ │ │ │ │ - vmov.f64 d9, d14 │ │ │ │ │ - vstr d1, [fp] │ │ │ │ │ + vstr d9, [r1] │ │ │ │ │ + add.w r1, sl, r0 │ │ │ │ │ + vldr d9, [sp, #784] @ 0x310 │ │ │ │ │ + vstr d1, [r1] │ │ │ │ │ vadd.f64 d1, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ + sub.w r1, lr, r8 │ │ │ │ │ + vldr d3, [sp, #840] @ 0x348 │ │ │ │ │ + mov r5, r1 │ │ │ │ │ + add.w r1, r8, r8, lsl #1 │ │ │ │ │ + vsub.f64 d0, d9, d13 │ │ │ │ │ + vadd.f64 d13, d9, d13 │ │ │ │ │ + vldr d9, [sp, #688] @ 0x2b0 │ │ │ │ │ vmul.f64 d1, d1, d11 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ vsub.f64 d8, d5, d1 │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ + vldr d1, [sp, #296] @ 0x128 │ │ │ │ │ vstr d8, [r3] │ │ │ │ │ - mov.w r3, #448 @ 0x1c0 │ │ │ │ │ - vstr d5, [sl] │ │ │ │ │ + add.w r3, r6, r0 │ │ │ │ │ + mov.w r0, r5, lsl #6 │ │ │ │ │ + vsub.f64 d8, d15, d3 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ vsub.f64 d5, d2, d4 │ │ │ │ │ + add.w r3, r6, r0 │ │ │ │ │ vadd.f64 d2, d2, d4 │ │ │ │ │ - mul.w sl, r3, ip │ │ │ │ │ - add.w r3, r5, sl │ │ │ │ │ - add sl, r8 │ │ │ │ │ + add r0, sl │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - movs r3, #192 @ 0xc0 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - mul.w r3, r3, ip │ │ │ │ │ - add.w fp, r5, r3 │ │ │ │ │ - add r3, r8 │ │ │ │ │ - vstr d2, [fp] │ │ │ │ │ + mov.w r3, r1, lsl #6 │ │ │ │ │ + add.w r4, r6, r3 │ │ │ │ │ + add r3, sl │ │ │ │ │ + vstr d2, [r4] │ │ │ │ │ vmov.f64 d2, d11 │ │ │ │ │ - vstr d5, [sl] │ │ │ │ │ - mov.w sl, #352 @ 0x160 │ │ │ │ │ + vadd.f64 d11, d15, d3 │ │ │ │ │ + vldr d3, [sp, #416] @ 0x1a0 │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ + vldr d15, [sp, #464] @ 0x1d0 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ - vldr d6, [sp, #776] @ 0x308 │ │ │ │ │ - vldr d11, [sp, #840] @ 0x348 │ │ │ │ │ - mul.w sl, sl, ip │ │ │ │ │ - vldr d15, [sp, #832] @ 0x340 │ │ │ │ │ - vldr d1, [sp, #392] @ 0x188 │ │ │ │ │ - add.w r3, r8, sl │ │ │ │ │ - vsub.f64 d0, d6, d11 │ │ │ │ │ - vadd.f64 d12, d6, d11 │ │ │ │ │ - vldr d4, [sp, #440] @ 0x1b8 │ │ │ │ │ - add sl, r5 │ │ │ │ │ - vldr d6, [sp, #808] @ 0x328 │ │ │ │ │ - vldr d10, [sp, #848] @ 0x350 │ │ │ │ │ - vadd.f64 d7, d1, d4 │ │ │ │ │ - vldr d3, [sp, #680] @ 0x2a8 │ │ │ │ │ - vadd.f64 d11, d6, d15 │ │ │ │ │ - vsub.f64 d8, d6, d15 │ │ │ │ │ - vldr d4, [sp, #304] @ 0x130 │ │ │ │ │ - vldr d15, [sp, #224] @ 0xe0 │ │ │ │ │ - vldr d1, [sp, #656] @ 0x290 │ │ │ │ │ - vadd.f64 d4, d4, d3 │ │ │ │ │ - vsub.f64 d6, d15, d10 │ │ │ │ │ - vldr d15, [sp, #280] @ 0x118 │ │ │ │ │ - vmul.f64 d3, d4, d14 │ │ │ │ │ + mov.w r3, #352 @ 0x160 │ │ │ │ │ + vldr d6, [sp, #248] @ 0xf8 │ │ │ │ │ + mul.w r3, r3, r8 │ │ │ │ │ + vadd.f64 d7, d3, d15 │ │ │ │ │ + vldr d15, [sp, #320] @ 0x140 │ │ │ │ │ + add.w r0, sl, r3 │ │ │ │ │ + add r3, r6 │ │ │ │ │ + vsub.f64 d6, d6, d10 │ │ │ │ │ + vadd.f64 d4, d15, d9 │ │ │ │ │ + vmov.f64 d9, d14 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vadd.f64 d7, d15, d1 │ │ │ │ │ - vmov.f64 d1, d13 │ │ │ │ │ + vldr d7, [sp, #8] │ │ │ │ │ + vmul.f64 d3, d4, d14 │ │ │ │ │ + vadd.f64 d7, d1, d7 │ │ │ │ │ + vmov.f64 d1, d12 │ │ │ │ │ vmul.f64 d5, d5, d2 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ - vnmls.f64 d3, d7, d13 │ │ │ │ │ + vnmls.f64 d3, d7, d12 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ vmov.f64 d15, d7 │ │ │ │ │ - vmla.f64 d15, d4, d13 │ │ │ │ │ - vldr d13, [sp, #392] @ 0x188 │ │ │ │ │ - vldr d4, [sp, #440] @ 0x1b8 │ │ │ │ │ - vstr d3, [sp, #64] @ 0x40 │ │ │ │ │ - vsub.f64 d7, d13, d4 │ │ │ │ │ - vldr d13, [sp, #560] @ 0x230 │ │ │ │ │ - vstr d15, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d15, [sp, #224] @ 0xe0 │ │ │ │ │ - vadd.f64 d3, d10, d15 │ │ │ │ │ - vldr d10, [sp, #912] @ 0x390 │ │ │ │ │ + vmla.f64 d15, d4, d12 │ │ │ │ │ + vldr d12, [sp, #416] @ 0x1a0 │ │ │ │ │ + vstr d3, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d15, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d3, [sp, #464] @ 0x1d0 │ │ │ │ │ + vldr d4, [sp, #248] @ 0xf8 │ │ │ │ │ vldr d15, [sp, #976] @ 0x3d0 │ │ │ │ │ - vsub.f64 d14, d10, d13 │ │ │ │ │ + vsub.f64 d7, d12, d3 │ │ │ │ │ + vldr d12, [sp, #608] @ 0x260 │ │ │ │ │ + vadd.f64 d3, d10, d4 │ │ │ │ │ + vldr d10, [sp, #904] @ 0x388 │ │ │ │ │ vsub.f64 d4, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ - vmul.f64 d13, d14, d9 │ │ │ │ │ - vmul.f64 d14, d14, d1 │ │ │ │ │ + vsub.f64 d14, d10, d12 │ │ │ │ │ vmul.f64 d4, d4, d2 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ - vldr d2, [sp, #920] @ 0x398 │ │ │ │ │ + vldr d2, [sp, #912] @ 0x390 │ │ │ │ │ + vmul.f64 d12, d14, d9 │ │ │ │ │ + vmul.f64 d14, d14, d1 │ │ │ │ │ vsub.f64 d3, d2, d15 │ │ │ │ │ vadd.f64 d2, d2, d15 │ │ │ │ │ - vldr d15, [sp, #560] @ 0x230 │ │ │ │ │ - vmla.f64 d13, d3, d1 │ │ │ │ │ + vmla.f64 d12, d3, d1 │ │ │ │ │ vnmls.f64 d14, d3, d9 │ │ │ │ │ - vadd.f64 d3, d10, d15 │ │ │ │ │ + vldr d3, [sp, #608] @ 0x260 │ │ │ │ │ + vadd.f64 d3, d10, d3 │ │ │ │ │ vmov.f64 d10, d9 │ │ │ │ │ vmul.f64 d15, d3, d1 │ │ │ │ │ vmul.f64 d3, d3, d9 │ │ │ │ │ + vnmls.f64 d3, d2, d1 │ │ │ │ │ vmla.f64 d15, d2, d9 │ │ │ │ │ + vldr d2, [sp, #8] │ │ │ │ │ vmov.f64 d9, d1 │ │ │ │ │ - vnmls.f64 d3, d2, d1 │ │ │ │ │ - vldr d1, [sp, #280] @ 0x118 │ │ │ │ │ - vldr d2, [sp, #656] @ 0x290 │ │ │ │ │ - vstr d3, [sp, #184] @ 0xb8 │ │ │ │ │ + str r5, [sp, #8] │ │ │ │ │ + vldr d1, [sp, #296] @ 0x128 │ │ │ │ │ + vstr d3, [sp, #240] @ 0xf0 │ │ │ │ │ vsub.f64 d3, d1, d2 │ │ │ │ │ - vldr d2, [sp, #680] @ 0x2a8 │ │ │ │ │ - vldr d1, [sp, #304] @ 0x130 │ │ │ │ │ + vldr d1, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d2, [sp, #688] @ 0x2b0 │ │ │ │ │ vsub.f64 d1, d1, d2 │ │ │ │ │ vmul.f64 d2, d1, d9 │ │ │ │ │ vnmls.f64 d2, d3, d10 │ │ │ │ │ vmul.f64 d3, d3, d9 │ │ │ │ │ vmla.f64 d3, d1, d10 │ │ │ │ │ vadd.f64 d1, d0, d5 │ │ │ │ │ vsub.f64 d5, d0, d5 │ │ │ │ │ - vadd.f64 d9, d13, d2 │ │ │ │ │ - vsub.f64 d2, d2, d13 │ │ │ │ │ - vsub.f64 d10, d1, d9 │ │ │ │ │ - vadd.f64 d1, d1, d9 │ │ │ │ │ - vadd.f64 d9, d14, d3 │ │ │ │ │ - vsub.f64 d14, d14, d3 │ │ │ │ │ - vstr d10, [r3] │ │ │ │ │ - movs r3, #96 @ 0x60 │ │ │ │ │ - mul.w r3, r3, ip │ │ │ │ │ - add.w fp, r8, r3 │ │ │ │ │ - add r3, r5 │ │ │ │ │ - b.n 12e0 │ │ │ │ │ - nop.w │ │ │ │ │ + vldr d0, [sp, #208] @ 0xd0 │ │ │ │ │ + vadd.f64 d9, d12, d2 │ │ │ │ │ + vsub.f64 d2, d2, d12 │ │ │ │ │ + vldr d12, [sp, #240] @ 0xf0 │ │ │ │ │ + b.n 1350 │ │ │ │ │ + nop │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ + .word 0xa6aea963 │ │ │ │ │ + .word 0x3fd87de2 │ │ │ │ │ .word 0x290ea1a3 │ │ │ │ │ .word 0x3fea9b66 │ │ │ │ │ .word 0x39ae68c8 │ │ │ │ │ .word 0x3fe1c73b │ │ │ │ │ .word 0x3c69a60b │ │ │ │ │ .word 0x3fc8f8b8 │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ .word 0xcff75cb0 │ │ │ │ │ .word 0x3fef6297 │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ - vstr d1, [fp] │ │ │ │ │ + vsub.f64 d10, d1, d9 │ │ │ │ │ + vadd.f64 d1, d1, d9 │ │ │ │ │ + vadd.f64 d9, d14, d3 │ │ │ │ │ + vsub.f64 d14, d14, d3 │ │ │ │ │ + vstr d10, [r0] │ │ │ │ │ + mov.w r0, r1, lsl #5 │ │ │ │ │ + add.w r4, sl, r0 │ │ │ │ │ + add r0, r6 │ │ │ │ │ + vstr d1, [r4] │ │ │ │ │ vadd.f64 d1, d8, d4 │ │ │ │ │ vsub.f64 d4, d8, d4 │ │ │ │ │ - mov.w fp, #224 @ 0xe0 │ │ │ │ │ + sub.w r4, ip, r8 │ │ │ │ │ + str r4, [sp, #16] │ │ │ │ │ vsub.f64 d10, d1, d9 │ │ │ │ │ vadd.f64 d1, d1, d9 │ │ │ │ │ - vstr d10, [sl] │ │ │ │ │ - mov.w sl, #480 @ 0x1e0 │ │ │ │ │ - vstr d1, [r3] │ │ │ │ │ + vldr d9, [pc, #-100] @ 1328 │ │ │ │ │ + vstr d10, [r3] │ │ │ │ │ + vstr d1, [r0] │ │ │ │ │ vsub.f64 d1, d4, d2 │ │ │ │ │ + mov.w r0, r4, lsl #5 │ │ │ │ │ vadd.f64 d4, d4, d2 │ │ │ │ │ - vldr d2, [pc, #-80] @ 12c0 │ │ │ │ │ - mul.w sl, sl, ip │ │ │ │ │ - vldr d10, [pc, #-80] @ 12c8 │ │ │ │ │ - add.w r3, r5, sl │ │ │ │ │ - add sl, r8 │ │ │ │ │ + vldr d2, [pc, #-116] @ 1330 │ │ │ │ │ + add.w r3, r6, r0 │ │ │ │ │ + add r0, sl │ │ │ │ │ vstr d1, [r3] │ │ │ │ │ - mul.w r3, fp, ip │ │ │ │ │ - vldr d1, [pc, #-88] @ 12d0 │ │ │ │ │ - add.w fp, r5, r3 │ │ │ │ │ - add r3, r8 │ │ │ │ │ - vstr d4, [fp] │ │ │ │ │ + mov.w r3, r5, lsl #5 │ │ │ │ │ + vldr d1, [pc, #-116] @ 1340 │ │ │ │ │ + add.w r4, r6, r3 │ │ │ │ │ + add r3, sl │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ vsub.f64 d4, d5, d14 │ │ │ │ │ vadd.f64 d5, d5, d14 │ │ │ │ │ - vstr d4, [sl] │ │ │ │ │ - vldr d14, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - vadd.f64 d5, d12, d7 │ │ │ │ │ - mov.w r3, #288 @ 0x120 │ │ │ │ │ - vldr d0, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d14, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ + add.w r0, lr, r8 │ │ │ │ │ vadd.f64 d4, d14, d15 │ │ │ │ │ - vldr d13, [sp, #184] @ 0xb8 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + vadd.f64 d5, d13, d7 │ │ │ │ │ + mov.w r4, r0, lsl #5 │ │ │ │ │ vsub.f64 d15, d14, d15 │ │ │ │ │ - vsub.f64 d7, d12, d7 │ │ │ │ │ - mul.w r3, r3, ip │ │ │ │ │ - vldr d12, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d9, [sp, #696] @ 0x2b8 │ │ │ │ │ + vsub.f64 d7, d13, d7 │ │ │ │ │ + add.w r3, sl, r4 │ │ │ │ │ + add r4, r6 │ │ │ │ │ vsub.f64 d3, d5, d4 │ │ │ │ │ - add.w sl, r8, r3 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ - vadd.f64 d4, d0, d13 │ │ │ │ │ - add r3, r5 │ │ │ │ │ - vldr d14, [sp, #512] @ 0x200 │ │ │ │ │ - vstr d3, [sl] │ │ │ │ │ - mov.w sl, ip, lsl #5 │ │ │ │ │ - add.w fp, r8, sl │ │ │ │ │ - add sl, r5 │ │ │ │ │ - vstr d5, [fp] │ │ │ │ │ + vadd.f64 d4, d0, d12 │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ + mov.w r3, r8, lsl #5 │ │ │ │ │ + add.w r5, sl, r3 │ │ │ │ │ + vstr d5, [r5] │ │ │ │ │ vadd.f64 d5, d11, d6 │ │ │ │ │ vsub.f64 d6, d11, d6 │ │ │ │ │ vsub.f64 d3, d5, d4 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ vsub.f64 d4, d6, d15 │ │ │ │ │ vadd.f64 d6, d6, d15 │ │ │ │ │ - vldr d15, [sp, #88] @ 0x58 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ - vstr d5, [sl] │ │ │ │ │ - mov.w sl, #416 @ 0x1a0 │ │ │ │ │ - vldr d3, [sp, #824] @ 0x338 │ │ │ │ │ - mul.w sl, sl, ip │ │ │ │ │ - add.w r3, r5, sl │ │ │ │ │ - add sl, r8 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - movs r3, #160 @ 0xa0 │ │ │ │ │ - mul.w r3, r3, ip │ │ │ │ │ - add.w fp, r5, r3 │ │ │ │ │ - add r3, r8 │ │ │ │ │ - vstr d6, [fp] │ │ │ │ │ - vsub.f64 d6, d13, d0 │ │ │ │ │ - vldr d0, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d13, [sp, #792] @ 0x318 │ │ │ │ │ + vstr d3, [r4] │ │ │ │ │ + add.w r4, r6, r3 │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ + mov.w r4, #416 @ 0x1a0 │ │ │ │ │ + mul.w r4, r4, r8 │ │ │ │ │ + add.w r5, r6, r4 │ │ │ │ │ + add r4, sl │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ + ldr r5, [sp, #0] │ │ │ │ │ + mov.w r5, r5, lsl #5 │ │ │ │ │ + add.w r9, r6, r5 │ │ │ │ │ + add r5, sl │ │ │ │ │ + vstr d6, [r9] │ │ │ │ │ + vsub.f64 d6, d12, d0 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [pc, #-288] @ 12d8 │ │ │ │ │ - vstr d5, [sl] │ │ │ │ │ - mov.w sl, #336 @ 0x150 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - vadd.f64 d7, d0, d12 │ │ │ │ │ - mul.w sl, sl, ip │ │ │ │ │ + vldr d6, [pc, #-284] @ 1348 │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ + mov.w r4, #336 @ 0x150 │ │ │ │ │ + vldr d3, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ + mul.w r4, r4, r8 │ │ │ │ │ + vldr d13, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d0, [sp, #120] @ 0x78 │ │ │ │ │ + add.w r5, sl, r4 │ │ │ │ │ + add r4, r6 │ │ │ │ │ + vldr d15, [sp, #832] @ 0x340 │ │ │ │ │ + vldr d10, [sp, #224] @ 0xe0 │ │ │ │ │ + vadd.f64 d7, d3, d0 │ │ │ │ │ + vldr d4, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d11, [sp, #800] @ 0x320 │ │ │ │ │ + vldr d14, [sp, #680] @ 0x2a8 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ - add.w r3, r8, sl │ │ │ │ │ - add sl, r5 │ │ │ │ │ - vsub.f64 d0, d3, d7 │ │ │ │ │ - vadd.f64 d12, d3, d7 │ │ │ │ │ - vldr d3, [sp, #72] @ 0x48 │ │ │ │ │ - vadd.f64 d7, d3, d15 │ │ │ │ │ - vldr d15, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d3, [sp, #672] @ 0x2a0 │ │ │ │ │ + vsub.f64 d0, d15, d7 │ │ │ │ │ + vadd.f64 d12, d15, d7 │ │ │ │ │ + vldr d15, [sp, #96] @ 0x60 │ │ │ │ │ + vadd.f64 d7, d15, d13 │ │ │ │ │ + vldr d15, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d13, [sp, #432] @ 0x1b0 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ - vadd.f64 d4, d15, d3 │ │ │ │ │ - vsub.f64 d8, d13, d7 │ │ │ │ │ - vadd.f64 d11, d13, d7 │ │ │ │ │ - vldr d13, [sp, #208] @ 0xd0 │ │ │ │ │ - vldr d7, [sp, #424] @ 0x1a8 │ │ │ │ │ - vmul.f64 d6, d13, d1 │ │ │ │ │ - vldr d13, [sp, #192] @ 0xc0 │ │ │ │ │ - vmul.f64 d7, d7, d1 │ │ │ │ │ - vnmls.f64 d6, d13, d2 │ │ │ │ │ - vldr d13, [sp, #408] @ 0x198 │ │ │ │ │ + vmul.f64 d6, d15, d1 │ │ │ │ │ + vnmls.f64 d6, d10, d2 │ │ │ │ │ + vldr d10, [sp, #704] @ 0x2c0 │ │ │ │ │ + vsub.f64 d8, d11, d7 │ │ │ │ │ + vadd.f64 d11, d11, d7 │ │ │ │ │ + vmul.f64 d7, d4, d1 │ │ │ │ │ + vldr d4, [sp, #312] @ 0x138 │ │ │ │ │ vmla.f64 d7, d13, d2 │ │ │ │ │ - vldr d13, [sp, #552] @ 0x228 │ │ │ │ │ + vldr d13, [sp, #392] @ 0x188 │ │ │ │ │ + vadd.f64 d4, d4, d14 │ │ │ │ │ + vmul.f64 d3, d4, d9 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [sp, #264] @ 0x108 │ │ │ │ │ - vadd.f64 d7, d7, d9 │ │ │ │ │ - vldr d9, [pc, #-448] @ 12b8 │ │ │ │ │ - vmul.f64 d3, d4, d9 │ │ │ │ │ + vadd.f64 d7, d13, d10 │ │ │ │ │ + vldr d10, [pc, #-448] @ 1338 │ │ │ │ │ + vldr d13, [sp, #544] @ 0x220 │ │ │ │ │ vmul.f64 d4, d4, d10 │ │ │ │ │ vnmls.f64 d3, d7, d10 │ │ │ │ │ vmov.f64 d15, d4 │ │ │ │ │ - vldr d4, [sp, #640] @ 0x280 │ │ │ │ │ + vldr d4, [sp, #600] @ 0x258 │ │ │ │ │ vmla.f64 d15, d7, d9 │ │ │ │ │ - vsub.f64 d14, d14, d4 │ │ │ │ │ - vldr d4, [sp, #592] @ 0x250 │ │ │ │ │ - vsub.f64 d7, d13, d4 │ │ │ │ │ - vldr d4, [pc, #-504] @ 12a8 │ │ │ │ │ - vstr d3, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d3, [pc, #-504] @ 12b0 │ │ │ │ │ - vstr d15, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d7, [sp, #656] @ 0x290 │ │ │ │ │ + vstr d3, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d3, [pc, #-508] @ 1320 │ │ │ │ │ + vsub.f64 d14, d13, d7 │ │ │ │ │ + vldr d7, [sp, #576] @ 0x240 │ │ │ │ │ + vstr d15, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d15, [sp, #432] @ 0x1b0 │ │ │ │ │ + vsub.f64 d7, d7, d4 │ │ │ │ │ + vldr d4, [pc, #-540] @ 1318 │ │ │ │ │ vmul.f64 d13, d7, d4 │ │ │ │ │ vmla.f64 d13, d14, d3 │ │ │ │ │ vmul.f64 d14, d14, d4 │ │ │ │ │ + vldr d4, [sp, #448] @ 0x1c0 │ │ │ │ │ vnmls.f64 d14, d7, d3 │ │ │ │ │ - vldr d7, [sp, #408] @ 0x198 │ │ │ │ │ - vldr d15, [sp, #424] @ 0x1a8 │ │ │ │ │ - vldr d4, [sp, #208] @ 0xd0 │ │ │ │ │ - vmul.f64 d7, d7, d1 │ │ │ │ │ - vmul.f64 d4, d4, d2 │ │ │ │ │ - vnmls.f64 d7, d15, d2 │ │ │ │ │ - vldr d15, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d2, [sp, #592] @ 0x250 │ │ │ │ │ + vmul.f64 d7, d15, d1 │ │ │ │ │ + vldr d15, [sp, #232] @ 0xe8 │ │ │ │ │ + vnmls.f64 d7, d4, d2 │ │ │ │ │ + vmul.f64 d4, d15, d2 │ │ │ │ │ + vldr d15, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d2, [sp, #600] @ 0x258 │ │ │ │ │ vmla.f64 d4, d15, d1 │ │ │ │ │ - vldr d15, [sp, #512] @ 0x200 │ │ │ │ │ - vldr d1, [sp, #640] @ 0x280 │ │ │ │ │ + vldr d15, [sp, #544] @ 0x220 │ │ │ │ │ + vldr d1, [sp, #704] @ 0x2c0 │ │ │ │ │ vsub.f64 d3, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vadd.f64 d4, d15, d1 │ │ │ │ │ - vldr d15, [sp, #552] @ 0x228 │ │ │ │ │ + vldr d4, [sp, #656] @ 0x290 │ │ │ │ │ + vadd.f64 d4, d15, d4 │ │ │ │ │ + vldr d15, [sp, #576] @ 0x240 │ │ │ │ │ vadd.f64 d2, d15, d2 │ │ │ │ │ vmul.f64 d15, d2, d9 │ │ │ │ │ vmla.f64 d15, d4, d10 │ │ │ │ │ vmul.f64 d4, d4, d9 │ │ │ │ │ - vldr d9, [pc, #-612] @ 12a8 │ │ │ │ │ + vldr d9, [pc, #-636] @ 1318 │ │ │ │ │ vnmls.f64 d4, d2, d10 │ │ │ │ │ - vldr d2, [sp, #696] @ 0x2b8 │ │ │ │ │ - vldr d10, [pc, #-616] @ 12b0 │ │ │ │ │ - vstr d4, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d4, [sp, #264] @ 0x108 │ │ │ │ │ - vsub.f64 d1, d4, d2 │ │ │ │ │ - vldr d2, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d4, [sp, #672] @ 0x2a0 │ │ │ │ │ - vsub.f64 d4, d2, d4 │ │ │ │ │ + vldr d2, [sp, #392] @ 0x188 │ │ │ │ │ + vldr d10, [pc, #-640] @ 1320 │ │ │ │ │ + vsub.f64 d1, d2, d1 │ │ │ │ │ + vstr d4, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d4, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d2, [sp, #680] @ 0x2a8 │ │ │ │ │ + vsub.f64 d4, d4, d2 │ │ │ │ │ vmul.f64 d2, d4, d9 │ │ │ │ │ vmul.f64 d4, d4, d10 │ │ │ │ │ - vmla.f64 d4, d1, d9 │ │ │ │ │ vnmls.f64 d2, d1, d10 │ │ │ │ │ + vmla.f64 d4, d1, d9 │ │ │ │ │ vadd.f64 d1, d0, d5 │ │ │ │ │ vsub.f64 d5, d0, d5 │ │ │ │ │ - vldr d0, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d0, [sp, #208] @ 0xd0 │ │ │ │ │ vadd.f64 d9, d13, d2 │ │ │ │ │ vsub.f64 d2, d2, d13 │ │ │ │ │ - vldr d13, [sp, #184] @ 0xb8 │ │ │ │ │ vsub.f64 d10, d1, d9 │ │ │ │ │ vadd.f64 d1, d1, d9 │ │ │ │ │ vadd.f64 d9, d14, d4 │ │ │ │ │ vsub.f64 d14, d14, d4 │ │ │ │ │ - vstr d10, [r3] │ │ │ │ │ - movs r3, #80 @ 0x50 │ │ │ │ │ + vstr d10, [r5] │ │ │ │ │ + ldr r5, [sp, #0] │ │ │ │ │ vsub.f64 d4, d5, d14 │ │ │ │ │ vadd.f64 d5, d5, d14 │ │ │ │ │ - vldr d14, [sp, #64] @ 0x40 │ │ │ │ │ - mul.w r3, r3, ip │ │ │ │ │ - add.w fp, r8, r3 │ │ │ │ │ - add r3, r5 │ │ │ │ │ - vstr d1, [fp] │ │ │ │ │ + vldr d14, [sp, #128] @ 0x80 │ │ │ │ │ + mov.w r5, r5, lsl #4 │ │ │ │ │ + add.w r9, sl, r5 │ │ │ │ │ + add r5, r6 │ │ │ │ │ + vstr d1, [r9] │ │ │ │ │ vadd.f64 d1, d8, d3 │ │ │ │ │ vsub.f64 d3, d8, d3 │ │ │ │ │ - mov.w fp, #208 @ 0xd0 │ │ │ │ │ + mov.w r9, #464 @ 0x1d0 │ │ │ │ │ + vldr d8, [sp, #224] @ 0xe0 │ │ │ │ │ vsub.f64 d10, d1, d9 │ │ │ │ │ vadd.f64 d1, d1, d9 │ │ │ │ │ - vldr d9, [pc, #-744] @ 12b8 │ │ │ │ │ - vstr d10, [sl] │ │ │ │ │ - mov.w sl, #464 @ 0x1d0 │ │ │ │ │ - vstr d1, [r3] │ │ │ │ │ + vldr d9, [pc, #-764] @ 1328 │ │ │ │ │ + vstr d10, [r4] │ │ │ │ │ + vstr d1, [r5] │ │ │ │ │ vsub.f64 d1, d3, d2 │ │ │ │ │ + mul.w r5, r9, r8 │ │ │ │ │ + mov.w r9, #208 @ 0xd0 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ - vldr d2, [pc, #-760] @ 12c0 │ │ │ │ │ - mul.w sl, sl, ip │ │ │ │ │ - vldr d10, [pc, #-760] @ 12c8 │ │ │ │ │ - add.w r3, r5, sl │ │ │ │ │ - add sl, r8 │ │ │ │ │ - vstr d1, [r3] │ │ │ │ │ - mul.w r3, fp, ip │ │ │ │ │ - vldr d1, [pc, #-768] @ 12d0 │ │ │ │ │ - add.w fp, r5, r3 │ │ │ │ │ - add r3, r8 │ │ │ │ │ - vstr d3, [fp] │ │ │ │ │ - vstr d4, [sl] │ │ │ │ │ + vldr d2, [pc, #-784] @ 1330 │ │ │ │ │ + add.w r4, r6, r5 │ │ │ │ │ + add r5, sl │ │ │ │ │ + vldr d10, [pc, #-788] @ 1338 │ │ │ │ │ + vstr d1, [r4] │ │ │ │ │ + mul.w r4, r9, r8 │ │ │ │ │ + vldr d1, [pc, #-792] @ 1340 │ │ │ │ │ + add.w r9, r6, r4 │ │ │ │ │ + add r4, sl │ │ │ │ │ + vstr d3, [r9] │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ vadd.f64 d4, d14, d15 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - vadd.f64 d5, d12, d7 │ │ │ │ │ - mov.w r3, #272 @ 0x110 │ │ │ │ │ vsub.f64 d15, d14, d15 │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ + vadd.f64 d5, d12, d7 │ │ │ │ │ + add.w r4, ip, r8 │ │ │ │ │ vsub.f64 d7, d12, d7 │ │ │ │ │ - mul.w r3, r3, ip │ │ │ │ │ + vldr d14, [sp, #792] @ 0x318 │ │ │ │ │ + str r4, [sp, #128] @ 0x80 │ │ │ │ │ + mov.w r4, r4, lsl #4 │ │ │ │ │ + add.w r5, sl, r4 │ │ │ │ │ + add r4, r6 │ │ │ │ │ vsub.f64 d3, d5, d4 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ - vadd.f64 d4, d0, d13 │ │ │ │ │ - add.w sl, r8, r3 │ │ │ │ │ - add r3, r5 │ │ │ │ │ - vstr d3, [sl] │ │ │ │ │ - mov.w sl, ip, lsl #4 │ │ │ │ │ - add.w fp, r8, sl │ │ │ │ │ - add sl, r5 │ │ │ │ │ - vstr d5, [fp] │ │ │ │ │ + vadd.f64 d4, d0, d8 │ │ │ │ │ + vstr d3, [r5] │ │ │ │ │ + add.w r5, sl, ip │ │ │ │ │ + add ip, r6 │ │ │ │ │ + vstr d5, [r5] │ │ │ │ │ vadd.f64 d5, d11, d6 │ │ │ │ │ vsub.f64 d6, d11, d6 │ │ │ │ │ + vldr d11, [sp, #824] @ 0x338 │ │ │ │ │ vsub.f64 d3, d5, d4 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ vsub.f64 d4, d6, d15 │ │ │ │ │ vadd.f64 d6, d6, d15 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ - vstr d5, [sl] │ │ │ │ │ - mov.w sl, #400 @ 0x190 │ │ │ │ │ - mul.w sl, sl, ip │ │ │ │ │ - add.w r3, r5, sl │ │ │ │ │ - add sl, r8 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - movs r3, #144 @ 0x90 │ │ │ │ │ - mul.w r3, r3, ip │ │ │ │ │ - add.w fp, r5, r3 │ │ │ │ │ - add r3, r8 │ │ │ │ │ - vstr d6, [fp] │ │ │ │ │ - vsub.f64 d6, d13, d0 │ │ │ │ │ + vldr d15, [sp, #440] @ 0x1b8 │ │ │ │ │ + vstr d3, [r4] │ │ │ │ │ + mov.w r4, #400 @ 0x190 │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ + mul.w r4, r4, r8 │ │ │ │ │ + vldr d3, [sp, #104] @ 0x68 │ │ │ │ │ + add.w r5, r6, r4 │ │ │ │ │ + add r4, sl │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ + mov.w r5, r0, lsl #4 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ + add.w ip, r6, r5 │ │ │ │ │ + add r5, sl │ │ │ │ │ + vstr d6, [ip] │ │ │ │ │ + vsub.f64 d6, d8, d0 │ │ │ │ │ + vldr d0, [sp, #112] @ 0x70 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [pc, #-920] @ 12d8 │ │ │ │ │ - vstr d5, [sl] │ │ │ │ │ - mov.w sl, #368 @ 0x170 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - vldr d3, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d11, [sp, #88] @ 0x58 │ │ │ │ │ - mul.w sl, sl, ip │ │ │ │ │ - vldr d5, [sp, #816] @ 0x330 │ │ │ │ │ - vldr d14, [sp, #784] @ 0x310 │ │ │ │ │ - add.w r3, r8, sl │ │ │ │ │ - vsub.f64 d7, d3, d11 │ │ │ │ │ - vldr d3, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d13, [sp, #400] @ 0x190 │ │ │ │ │ - add sl, r5 │ │ │ │ │ - vldr d15, [sp, #664] @ 0x298 │ │ │ │ │ + vldr d6, [pc, #-964] @ 1348 │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ + mov.w r4, #368 @ 0x170 │ │ │ │ │ + vldr d5, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ + mul.w r4, r4, r8 │ │ │ │ │ + add.w r5, sl, r4 │ │ │ │ │ + add r4, r6 │ │ │ │ │ + vsub.f64 d7, d5, d0 │ │ │ │ │ + vldr d5, [sp, #200] @ 0xc8 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ - vsub.f64 d0, d5, d7 │ │ │ │ │ - vadd.f64 d12, d5, d7 │ │ │ │ │ - vldr d5, [sp, #80] @ 0x50 │ │ │ │ │ - vsub.f64 d7, d3, d5 │ │ │ │ │ - vldr d5, [sp, #416] @ 0x1a0 │ │ │ │ │ + vsub.f64 d0, d11, d7 │ │ │ │ │ + vadd.f64 d12, d11, d7 │ │ │ │ │ + vldr d11, [sp, #120] @ 0x78 │ │ │ │ │ + vsub.f64 d7, d11, d3 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #200] @ 0xc8 │ │ │ │ │ - vmul.f64 d6, d6, d2 │ │ │ │ │ + vmul.f64 d6, d5, d2 │ │ │ │ │ vsub.f64 d8, d14, d7 │ │ │ │ │ vadd.f64 d11, d14, d7 │ │ │ │ │ - vldr d14, [sp, #176] @ 0xb0 │ │ │ │ │ - vmul.f64 d7, d5, d2 │ │ │ │ │ - vmla.f64 d7, d13, d1 │ │ │ │ │ - vldr d13, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d14, [sp, #216] @ 0xd8 │ │ │ │ │ + vmul.f64 d7, d15, d2 │ │ │ │ │ vnmls.f64 d6, d14, d1 │ │ │ │ │ - vldr d14, [sp, #688] @ 0x2b0 │ │ │ │ │ - vadd.f64 d4, d13, d15 │ │ │ │ │ - vldr d13, [sp, #288] @ 0x120 │ │ │ │ │ - vldr d15, [pc, #1016] @ 1af0 │ │ │ │ │ + vldr d14, [sp, #424] @ 0x1a8 │ │ │ │ │ + vldr d4, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d13, [sp, #696] @ 0x2b8 │ │ │ │ │ + vmla.f64 d7, d14, d1 │ │ │ │ │ + vldr d14, [sp, #304] @ 0x130 │ │ │ │ │ + vldr d15, [sp, #672] @ 0x2a0 │ │ │ │ │ + vadd.f64 d4, d4, d15 │ │ │ │ │ + vldr d15, [pc, #1012] @ 1b70 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ - vldr d6, [sp, #568] @ 0x238 │ │ │ │ │ - vstr d7, [sp, #64] @ 0x40 │ │ │ │ │ - vadd.f64 d7, d13, d14 │ │ │ │ │ - vldr d13, [pc, #1000] @ 1af8 │ │ │ │ │ - vldr d14, [sp, #544] @ 0x220 │ │ │ │ │ + vldr d6, [sp, #592] @ 0x250 │ │ │ │ │ + vstr d7, [sp, #96] @ 0x60 │ │ │ │ │ + vadd.f64 d7, d14, d13 │ │ │ │ │ + vldr d13, [pc, #996] @ 1b78 │ │ │ │ │ vmul.f64 d3, d7, d13 │ │ │ │ │ vnmls.f64 d3, d4, d15 │ │ │ │ │ vmul.f64 d4, d4, d13 │ │ │ │ │ + vldr d13, [sp, #568] @ 0x238 │ │ │ │ │ vmla.f64 d4, d7, d15 │ │ │ │ │ - vldr d13, [sp, #584] @ 0x248 │ │ │ │ │ - vsub.f64 d7, d14, d6 │ │ │ │ │ - vldr d14, [sp, #504] @ 0x1f8 │ │ │ │ │ - vldr d6, [sp, #176] @ 0xb0 │ │ │ │ │ - vsub.f64 d14, d14, d13 │ │ │ │ │ - vstr d3, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d7, [sp, #648] @ 0x288 │ │ │ │ │ + vstr d3, [sp, #104] @ 0x68 │ │ │ │ │ + vsub.f64 d7, d13, d7 │ │ │ │ │ + vldr d3, [sp, #216] @ 0xd8 │ │ │ │ │ + vldr d13, [sp, #536] @ 0x218 │ │ │ │ │ + vstr d4, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d4, [sp, #424] @ 0x1a8 │ │ │ │ │ + vsub.f64 d14, d13, d6 │ │ │ │ │ + vldr d6, [sp, #200] @ 0xc8 │ │ │ │ │ vmul.f64 d13, d14, d9 │ │ │ │ │ vmul.f64 d14, d14, d10 │ │ │ │ │ - vstr d4, [sp, #80] @ 0x50 │ │ │ │ │ vmla.f64 d13, d7, d10 │ │ │ │ │ - vldr d4, [sp, #400] @ 0x190 │ │ │ │ │ - vldr d3, [sp, #200] @ 0xc8 │ │ │ │ │ vnmls.f64 d14, d7, d9 │ │ │ │ │ vmul.f64 d7, d4, d2 │ │ │ │ │ - vldr d4, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d4, [sp, #440] @ 0x1b8 │ │ │ │ │ vnmls.f64 d7, d4, d1 │ │ │ │ │ - vmul.f64 d4, d3, d1 │ │ │ │ │ - vmla.f64 d4, d6, d2 │ │ │ │ │ - vldr d6, [sp, #568] @ 0x238 │ │ │ │ │ - vmov.f64 d1, d15 │ │ │ │ │ + vmul.f64 d4, d6, d1 │ │ │ │ │ + vldr d1, [sp, #536] @ 0x218 │ │ │ │ │ + vldr d6, [sp, #592] @ 0x250 │ │ │ │ │ + vmla.f64 d4, d3, d2 │ │ │ │ │ + vldr d2, [sp, #568] @ 0x238 │ │ │ │ │ vsub.f64 d3, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [sp, #544] @ 0x220 │ │ │ │ │ - vadd.f64 d2, d4, d6 │ │ │ │ │ - vldr d6, [sp, #504] @ 0x1f8 │ │ │ │ │ - vldr d4, [sp, #584] @ 0x248 │ │ │ │ │ - vadd.f64 d4, d6, d4 │ │ │ │ │ - vldr d6, [pc, #868] @ 1af8 │ │ │ │ │ + vldr d4, [sp, #648] @ 0x288 │ │ │ │ │ + vadd.f64 d2, d2, d4 │ │ │ │ │ + vadd.f64 d4, d1, d6 │ │ │ │ │ + vldr d6, [pc, #868] @ 1b78 │ │ │ │ │ + vmov.f64 d1, d15 │ │ │ │ │ vmul.f64 d15, d4, d15 │ │ │ │ │ vmul.f64 d4, d4, d6 │ │ │ │ │ vmla.f64 d15, d2, d6 │ │ │ │ │ vmov.f64 d6, d4 │ │ │ │ │ - vldr d4, [sp, #664] @ 0x298 │ │ │ │ │ + vldr d4, [sp, #672] @ 0x2a0 │ │ │ │ │ vnmls.f64 d6, d2, d1 │ │ │ │ │ - vldr d2, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d2, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d1, [sp, #696] @ 0x2b8 │ │ │ │ │ vsub.f64 d4, d2, d4 │ │ │ │ │ - vldr d2, [sp, #288] @ 0x120 │ │ │ │ │ - vldr d1, [sp, #688] @ 0x2b0 │ │ │ │ │ + vldr d2, [sp, #304] @ 0x130 │ │ │ │ │ vsub.f64 d1, d2, d1 │ │ │ │ │ vmul.f64 d2, d1, d10 │ │ │ │ │ vnmls.f64 d2, d4, d9 │ │ │ │ │ vmul.f64 d4, d4, d10 │ │ │ │ │ vmla.f64 d4, d1, d9 │ │ │ │ │ vadd.f64 d1, d0, d5 │ │ │ │ │ vsub.f64 d5, d0, d5 │ │ │ │ │ - vldr d0, [sp, #80] @ 0x50 │ │ │ │ │ vadd.f64 d9, d13, d2 │ │ │ │ │ vsub.f64 d2, d2, d13 │ │ │ │ │ vmov.f64 d13, d6 │ │ │ │ │ vsub.f64 d10, d1, d9 │ │ │ │ │ vadd.f64 d1, d1, d9 │ │ │ │ │ vadd.f64 d9, d14, d4 │ │ │ │ │ vsub.f64 d14, d14, d4 │ │ │ │ │ - vstr d10, [r3] │ │ │ │ │ - movs r3, #112 @ 0x70 │ │ │ │ │ + vstr d10, [r5] │ │ │ │ │ + ldr r5, [sp, #8] │ │ │ │ │ vsub.f64 d4, d5, d14 │ │ │ │ │ vadd.f64 d5, d5, d14 │ │ │ │ │ - vldr d14, [sp, #72] @ 0x48 │ │ │ │ │ - mul.w r3, r3, ip │ │ │ │ │ - add.w fp, r8, r3 │ │ │ │ │ - add r3, r5 │ │ │ │ │ - vstr d1, [fp] │ │ │ │ │ + mov.w r5, r5, lsl #4 │ │ │ │ │ + add.w ip, sl, r5 │ │ │ │ │ + add r5, r6 │ │ │ │ │ + vstr d1, [ip] │ │ │ │ │ vadd.f64 d1, d8, d3 │ │ │ │ │ - mov.w fp, #496 @ 0x1f0 │ │ │ │ │ vsub.f64 d3, d8, d3 │ │ │ │ │ - vldr d8, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d8, [pc, #736] @ 1b80 │ │ │ │ │ vsub.f64 d10, d1, d9 │ │ │ │ │ vadd.f64 d1, d1, d9 │ │ │ │ │ - vldr d9, [sp, #928] @ 0x3a0 │ │ │ │ │ - vstr d10, [sl] │ │ │ │ │ - mul.w sl, fp, ip │ │ │ │ │ - vstr d1, [r3] │ │ │ │ │ + vstr d10, [r4] │ │ │ │ │ + sub.w r4, r3, r8 │ │ │ │ │ + add r3, r8 │ │ │ │ │ + vstr d1, [r5] │ │ │ │ │ vsub.f64 d1, d3, d2 │ │ │ │ │ - add.w r3, r5, sl │ │ │ │ │ + mov.w ip, r4, lsl #4 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ - add sl, r8 │ │ │ │ │ - vldr d2, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d10, [sp, #936] @ 0x3a8 │ │ │ │ │ - vstr d1, [r3] │ │ │ │ │ - movs r3, #240 @ 0xf0 │ │ │ │ │ - vldr d1, [pc, #656] @ 1af0 │ │ │ │ │ - mul.w r3, r3, ip │ │ │ │ │ - add.w fp, r5, r3 │ │ │ │ │ - add r3, r8 │ │ │ │ │ - vstr d3, [fp] │ │ │ │ │ - mov.w fp, #48 @ 0x30 │ │ │ │ │ - vstr d4, [sl] │ │ │ │ │ - vadd.f64 d4, d14, d15 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - mov.w sl, #304 @ 0x130 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + add.w r5, r6, ip │ │ │ │ │ + add ip, sl │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + vstr d1, [r5] │ │ │ │ │ + ldr r5, [sp, #16] │ │ │ │ │ + vldr d1, [pc, #660] @ 1b70 │ │ │ │ │ + mov.w r5, r5, lsl #4 │ │ │ │ │ + add.w r9, r6, r5 │ │ │ │ │ + add r5, sl │ │ │ │ │ + vstr d3, [r9] │ │ │ │ │ + vstr d4, [ip] │ │ │ │ │ + vstr d5, [r5] │ │ │ │ │ vadd.f64 d5, d12, d7 │ │ │ │ │ - vsub.f64 d15, d14, d15 │ │ │ │ │ + mov.w r5, #304 @ 0x130 │ │ │ │ │ + vldr d14, [sp, #104] @ 0x68 │ │ │ │ │ vsub.f64 d7, d12, d7 │ │ │ │ │ - vldr d14, [sp] │ │ │ │ │ - mul.w sl, sl, ip │ │ │ │ │ + mul.w r5, r5, r8 │ │ │ │ │ + vldr d2, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d0, [sp, #112] @ 0x70 │ │ │ │ │ + add.w ip, sl, r5 │ │ │ │ │ + add r5, r6 │ │ │ │ │ + vadd.f64 d4, d14, d15 │ │ │ │ │ + vsub.f64 d15, d14, d15 │ │ │ │ │ + vldr d14, [sp, #32] │ │ │ │ │ + vldr d9, [sp, #928] @ 0x3a0 │ │ │ │ │ + vldr d10, [sp, #936] @ 0x3a8 │ │ │ │ │ vsub.f64 d3, d5, d4 │ │ │ │ │ - add.w r3, r8, sl │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ vadd.f64 d4, d0, d6 │ │ │ │ │ - add sl, r5 │ │ │ │ │ vsub.f64 d6, d11, d2 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ - mul.w r3, fp, ip │ │ │ │ │ - add.w fp, r8, r3 │ │ │ │ │ - add r3, r5 │ │ │ │ │ - vstr d5, [fp] │ │ │ │ │ + vstr d3, [ip] │ │ │ │ │ + mov.w ip, r1, lsl #4 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + add.w r9, sl, ip │ │ │ │ │ + add ip, r6 │ │ │ │ │ + vstr d5, [r9] │ │ │ │ │ vadd.f64 d5, d11, d2 │ │ │ │ │ - vldr d2, [sp, #984] @ 0x3d8 │ │ │ │ │ - vldr d11, [pc, #560] @ 1af8 │ │ │ │ │ + mov.w r9, #176 @ 0xb0 │ │ │ │ │ + vldr d2, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d11, [sp, #720] @ 0x2d0 │ │ │ │ │ vsub.f64 d3, d5, d4 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ vsub.f64 d4, d6, d15 │ │ │ │ │ vadd.f64 d6, d6, d15 │ │ │ │ │ - vldr d15, [sp, #328] @ 0x148 │ │ │ │ │ - vstr d3, [sl] │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - mov.w r3, #432 @ 0x1b0 │ │ │ │ │ - mul.w sl, r3, ip │ │ │ │ │ - add.w r3, r5, sl │ │ │ │ │ - add sl, r8 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - movs r3, #176 @ 0xb0 │ │ │ │ │ - vldr d4, [sp, #168] @ 0xa8 │ │ │ │ │ - mul.w r3, r3, ip │ │ │ │ │ - vadd.f64 d12, d8, d4 │ │ │ │ │ - vldr d4, [pc, #504] @ 1b00 │ │ │ │ │ - add.w fp, r5, r3 │ │ │ │ │ - add r3, r8 │ │ │ │ │ - vldr d8, [pc, #500] @ 1b08 │ │ │ │ │ - vstr d6, [fp] │ │ │ │ │ + vldr d15, [sp, #632] @ 0x278 │ │ │ │ │ + vstr d3, [r5] │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ + mov.w ip, #432 @ 0x1b0 │ │ │ │ │ + vldr d3, [sp, #984] @ 0x3d8 │ │ │ │ │ + mul.w ip, ip, r8 │ │ │ │ │ + add.w r5, r6, ip │ │ │ │ │ + add ip, sl │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ + mul.w r5, r9, r8 │ │ │ │ │ + vldr d4, [sp, #144] @ 0x90 │ │ │ │ │ + add.w r9, r6, r5 │ │ │ │ │ + add r5, sl │ │ │ │ │ + vstr d6, [r9] │ │ │ │ │ vsub.f64 d6, d13, d0 │ │ │ │ │ - vldr d13, [sp, #48] @ 0x30 │ │ │ │ │ - mov.w fp, #456 @ 0x1c8 │ │ │ │ │ + mov.w r9, #88 @ 0x58 │ │ │ │ │ + vldr d0, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d13, [sp, #736] @ 0x2e0 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vadd.f64 d6, d14, d13 │ │ │ │ │ - vldr d14, [sp, #728] @ 0x2d8 │ │ │ │ │ - vstr d5, [sl] │ │ │ │ │ - vldr d5, [sp, #624] @ 0x270 │ │ │ │ │ + vadd.f64 d6, d14, d0 │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ + mov.w ip, #344 @ 0x158 │ │ │ │ │ + vldr d5, [sp, #192] @ 0xc0 │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ + vadd.f64 d7, d9, d15 │ │ │ │ │ + mul.w ip, ip, r8 │ │ │ │ │ + add.w r5, sl, ip │ │ │ │ │ + add ip, r6 │ │ │ │ │ + vadd.f64 d12, d4, d5 │ │ │ │ │ + vldr d4, [pc, #420] @ 1b88 │ │ │ │ │ + vmul.f64 d5, d7, d4 │ │ │ │ │ vsub.f64 d0, d6, d12 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ vadd.f64 d12, d6, d12 │ │ │ │ │ - vadd.f64 d6, d10, d2 │ │ │ │ │ - mov.w r3, #344 @ 0x158 │ │ │ │ │ - vadd.f64 d7, d9, d5 │ │ │ │ │ - mul.w r3, r3, ip │ │ │ │ │ - vmul.f64 d5, d7, d4 │ │ │ │ │ - add.w sl, r8, r3 │ │ │ │ │ - vmla.f64 d5, d6, d8 │ │ │ │ │ + vadd.f64 d6, d10, d3 │ │ │ │ │ + vmov.f64 d14, d5 │ │ │ │ │ + vmov.f64 d5, d4 │ │ │ │ │ + vmla.f64 d14, d6, d8 │ │ │ │ │ vmul.f64 d6, d6, d4 │ │ │ │ │ - add r3, r5 │ │ │ │ │ - vmov.f64 d13, d6 │ │ │ │ │ - vnmls.f64 d13, d7, d8 │ │ │ │ │ - vstr d5, [sp, #64] @ 0x40 │ │ │ │ │ - vadd.f64 d7, d15, d14 │ │ │ │ │ - vstr d13, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d15, [sp, #344] @ 0x158 │ │ │ │ │ - vldr d14, [sp, #712] @ 0x2c8 │ │ │ │ │ - vldr d3, [sp, #864] @ 0x360 │ │ │ │ │ - vadd.f64 d6, d15, d14 │ │ │ │ │ - vmul.f64 d15, d6, d4 │ │ │ │ │ - vmul.f64 d6, d6, d8 │ │ │ │ │ + vmov.f64 d4, d8 │ │ │ │ │ + vmov.f64 d15, d6 │ │ │ │ │ vnmls.f64 d15, d7, d8 │ │ │ │ │ - vldr d8, [sp, #248] @ 0xf8 │ │ │ │ │ - vmov.f64 d14, d6 │ │ │ │ │ - vldr d6, [sp, #488] @ 0x1e8 │ │ │ │ │ - vmla.f64 d14, d7, d4 │ │ │ │ │ - vmul.f64 d5, d8, d11 │ │ │ │ │ - vldr d8, [pc, #352] @ 1b10 │ │ │ │ │ - vmul.f64 d7, d6, d11 │ │ │ │ │ - vldr d6, [sp, #448] @ 0x1c0 │ │ │ │ │ - vnmls.f64 d5, d3, d1 │ │ │ │ │ + vldr d8, [sp, #520] @ 0x208 │ │ │ │ │ + vstr d14, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d15, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d15, [sp, #344] @ 0x158 │ │ │ │ │ + vadd.f64 d7, d15, d13 │ │ │ │ │ + vldr d13, [sp, #360] @ 0x168 │ │ │ │ │ + vadd.f64 d6, d13, d11 │ │ │ │ │ + vldr d11, [pc, #328] @ 1b78 │ │ │ │ │ + vmul.f64 d15, d6, d5 │ │ │ │ │ + vmul.f64 d6, d6, d4 │ │ │ │ │ + vnmls.f64 d15, d7, d4 │ │ │ │ │ + vmov.f64 d13, d6 │ │ │ │ │ + vldr d6, [sp, #472] @ 0x1d8 │ │ │ │ │ + vmla.f64 d13, d7, d5 │ │ │ │ │ + vmul.f64 d5, d2, d11 │ │ │ │ │ + vldr d2, [sp, #256] @ 0x100 │ │ │ │ │ + vmul.f64 d7, d8, d11 │ │ │ │ │ + vldr d8, [pc, #312] @ 1b90 │ │ │ │ │ vmla.f64 d7, d6, d1 │ │ │ │ │ - vldr d6, [sp, #624] @ 0x270 │ │ │ │ │ - vstr d14, [sp, #80] @ 0x50 │ │ │ │ │ - vsub.f64 d14, d10, d2 │ │ │ │ │ - vldr d2, [sp, #32] │ │ │ │ │ + vnmls.f64 d5, d2, d1 │ │ │ │ │ + vmov.f64 d6, d10 │ │ │ │ │ vmov.f64 d10, d8 │ │ │ │ │ + vstr d13, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d13, [sp, #632] @ 0x278 │ │ │ │ │ + vsub.f64 d14, d6, d3 │ │ │ │ │ + vldr d6, [pc, #288] @ 1b98 │ │ │ │ │ + vldr d3, [sp, #56] @ 0x38 │ │ │ │ │ vsub.f64 d4, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ - vsub.f64 d7, d9, d6 │ │ │ │ │ - vldr d6, [pc, #308] @ 1b18 │ │ │ │ │ + vsub.f64 d7, d9, d13 │ │ │ │ │ + vldr d2, [sp, #64] @ 0x40 │ │ │ │ │ vmov.f64 d9, d6 │ │ │ │ │ vmul.f64 d13, d7, d6 │ │ │ │ │ vmla.f64 d13, d14, d8 │ │ │ │ │ vmul.f64 d14, d14, d6 │ │ │ │ │ - vldr d6, [sp, #24] │ │ │ │ │ + vadd.f64 d6, d3, d2 │ │ │ │ │ + vldr d2, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d3, [sp, #472] @ 0x1d8 │ │ │ │ │ vnmls.f64 d14, d7, d8 │ │ │ │ │ - vldr d8, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d7, [sp, #112] @ 0x70 │ │ │ │ │ - vadd.f64 d6, d6, d2 │ │ │ │ │ - vldr d2, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d7, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d8, [sp, #184] @ 0xb8 │ │ │ │ │ + vmul.f64 d2, d2, d1 │ │ │ │ │ vadd.f64 d7, d7, d8 │ │ │ │ │ vsub.f64 d8, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [sp, #448] @ 0x1c0 │ │ │ │ │ - vmul.f64 d7, d7, d11 │ │ │ │ │ - vnmls.f64 d7, d2, d1 │ │ │ │ │ - vldr d2, [sp, #248] @ 0xf8 │ │ │ │ │ - vmul.f64 d2, d2, d1 │ │ │ │ │ + vmul.f64 d7, d3, d11 │ │ │ │ │ + vldr d3, [sp, #520] @ 0x208 │ │ │ │ │ + vnmls.f64 d7, d3, d1 │ │ │ │ │ + vldr d3, [sp, #256] @ 0x100 │ │ │ │ │ vmla.f64 d2, d3, d11 │ │ │ │ │ - vldr d11, [sp, #728] @ 0x2d8 │ │ │ │ │ + vldr d11, [sp, #736] @ 0x2e0 │ │ │ │ │ vsub.f64 d3, d7, d2 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ - vldr d2, [sp, #328] @ 0x148 │ │ │ │ │ - vsub.f64 d1, d2, d11 │ │ │ │ │ vldr d2, [sp, #344] @ 0x158 │ │ │ │ │ - vldr d11, [sp, #712] @ 0x2c8 │ │ │ │ │ + vsub.f64 d1, d2, d11 │ │ │ │ │ + vldr d2, [sp, #360] @ 0x168 │ │ │ │ │ + vldr d11, [sp, #720] @ 0x2d0 │ │ │ │ │ vsub.f64 d11, d2, d11 │ │ │ │ │ vmul.f64 d2, d11, d9 │ │ │ │ │ vmul.f64 d11, d11, d10 │ │ │ │ │ - vmla.f64 d11, d1, d9 │ │ │ │ │ vnmls.f64 d2, d1, d10 │ │ │ │ │ + vmla.f64 d11, d1, d9 │ │ │ │ │ vadd.f64 d1, d0, d4 │ │ │ │ │ vsub.f64 d4, d0, d4 │ │ │ │ │ - vldr d0, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d0, [sp, #96] @ 0x60 │ │ │ │ │ vadd.f64 d9, d13, d2 │ │ │ │ │ vsub.f64 d2, d2, d13 │ │ │ │ │ - vldr d13, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d13, [sp, #112] @ 0x70 │ │ │ │ │ vsub.f64 d10, d1, d9 │ │ │ │ │ vadd.f64 d1, d1, d9 │ │ │ │ │ vadd.f64 d9, d14, d11 │ │ │ │ │ vsub.f64 d14, d14, d11 │ │ │ │ │ - vldr d11, [pc, #148] @ 1b20 │ │ │ │ │ - vstr d10, [sl] │ │ │ │ │ - add.w sl, r8, r9 │ │ │ │ │ - add r9, r5 │ │ │ │ │ - vstr d1, [sl] │ │ │ │ │ + vldr d11, [pc, #108] @ 1ba0 │ │ │ │ │ + vstr d10, [r5] │ │ │ │ │ + mul.w r5, r9, r8 │ │ │ │ │ + add.w r9, sl, r5 │ │ │ │ │ + add r5, r6 │ │ │ │ │ + vstr d1, [r9] │ │ │ │ │ vadd.f64 d1, d8, d3 │ │ │ │ │ vsub.f64 d3, d8, d3 │ │ │ │ │ - mov.w sl, #56 @ 0x38 │ │ │ │ │ + mov.w r9, #472 @ 0x1d8 │ │ │ │ │ vsub.f64 d10, d1, d9 │ │ │ │ │ vadd.f64 d1, d1, d9 │ │ │ │ │ - vstr d10, [r3] │ │ │ │ │ - adds r3, r5, r4 │ │ │ │ │ - vstr d1, [r9] │ │ │ │ │ - vsub.f64 d1, d3, d2 │ │ │ │ │ - vadd.f64 d3, d3, d2 │ │ │ │ │ - add r4, r8 │ │ │ │ │ - mov.w r9, #184 @ 0xb8 │ │ │ │ │ - vstr d1, [r3] │ │ │ │ │ - adds r3, r5, r0 │ │ │ │ │ - add r0, r8 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ - vsub.f64 d3, d4, d14 │ │ │ │ │ - vadd.f64 d4, d4, d14 │ │ │ │ │ - mov.w r3, #280 @ 0x118 │ │ │ │ │ - vldr d14, [sp, #80] @ 0x50 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ - b.n 1b50 │ │ │ │ │ - nop │ │ │ │ │ + vstr d10, [ip] │ │ │ │ │ + mul.w ip, r9, r8 │ │ │ │ │ + mov.w r9, #216 @ 0xd8 │ │ │ │ │ + vstr d1, [r5] │ │ │ │ │ + b.n 1bd0 │ │ │ │ │ nop.w │ │ │ │ │ .word 0x290ea1a3 │ │ │ │ │ .word 0x3fea9b66 │ │ │ │ │ .word 0x39ae68c8 │ │ │ │ │ .word 0x3fe1c73b │ │ │ │ │ - .word 0x2ed59f06 │ │ │ │ │ - .word 0x3fd29406 │ │ │ │ │ .word 0x56c62dda │ │ │ │ │ .word 0x3fee9f41 │ │ │ │ │ + .word 0x2ed59f06 │ │ │ │ │ + .word 0x3fd29406 │ │ │ │ │ .word 0x3806f63b │ │ │ │ │ .word 0x3fde2b5d │ │ │ │ │ .word 0xf180bdb1 │ │ │ │ │ .word 0x3fec38b2 │ │ │ │ │ .word 0xa3d12526 │ │ │ │ │ .word 0x3fefd88d │ │ │ │ │ .word 0xbc29b42c │ │ │ │ │ @@ -1856,588 +1860,607 @@ │ │ │ │ │ .word 0x3fe8bc80 │ │ │ │ │ .word 0x25091dd6 │ │ │ │ │ .word 0x3fe44cf3 │ │ │ │ │ .word 0xcff75cb0 │ │ │ │ │ .word 0x3fef6297 │ │ │ │ │ .word 0x3c69a60b │ │ │ │ │ .word 0x3fc8f8b8 │ │ │ │ │ + vsub.f64 d1, d3, d2 │ │ │ │ │ + vadd.f64 d3, d3, d2 │ │ │ │ │ + add.w r5, r6, ip │ │ │ │ │ + add ip, sl │ │ │ │ │ + vstr d1, [r5] │ │ │ │ │ + mul.w r5, r9, r8 │ │ │ │ │ + add.w r9, r6, r5 │ │ │ │ │ + add r5, sl │ │ │ │ │ + vstr d3, [r9] │ │ │ │ │ + vsub.f64 d3, d4, d14 │ │ │ │ │ + vadd.f64 d4, d4, d14 │ │ │ │ │ + vldr d14, [sp, #104] @ 0x68 │ │ │ │ │ + mov.w r9, #152 @ 0x98 │ │ │ │ │ + vstr d3, [ip] │ │ │ │ │ vadd.f64 d3, d0, d15 │ │ │ │ │ - vstr d4, [r0] │ │ │ │ │ - vadd.f64 d4, d12, d7 │ │ │ │ │ - mul.w r3, r3, ip │ │ │ │ │ vsub.f64 d15, d15, d0 │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ + vadd.f64 d4, d12, d7 │ │ │ │ │ + mov.w r5, #280 @ 0x118 │ │ │ │ │ vsub.f64 d7, d12, d7 │ │ │ │ │ - mov.w r4, #440 @ 0x1b8 │ │ │ │ │ - add.w r0, r8, r3 │ │ │ │ │ - add r3, r5 │ │ │ │ │ + mul.w r5, r5, r8 │ │ │ │ │ + add.w ip, sl, r5 │ │ │ │ │ + add r5, r6 │ │ │ │ │ vsub.f64 d2, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ - vadd.f64 d3, d13, d14 │ │ │ │ │ - vstr d2, [r0] │ │ │ │ │ - add.w r0, r8, r1 │ │ │ │ │ - add r1, r5 │ │ │ │ │ - vstr d4, [r0] │ │ │ │ │ + vadd.f64 d3, d14, d13 │ │ │ │ │ + vstr d2, [ip] │ │ │ │ │ + add.w ip, sl, r1 │ │ │ │ │ + add r1, r6 │ │ │ │ │ + vstr d4, [ip] │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - movs r0, #248 @ 0xf8 │ │ │ │ │ vsub.f64 d2, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ + vldr d3, [pc, #-140] @ 1bc8 │ │ │ │ │ vsub.f64 d5, d6, d15 │ │ │ │ │ vadd.f64 d6, d6, d15 │ │ │ │ │ - vldr d3, [pc, #-96] @ 1b48 │ │ │ │ │ - vstr d2, [r3] │ │ │ │ │ - mov.w r3, #408 @ 0x198 │ │ │ │ │ + vldr d15, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d2, [r5] │ │ │ │ │ + mov.w r5, #408 @ 0x198 │ │ │ │ │ vstr d4, [r1] │ │ │ │ │ - vldr d15, [sp, #8] │ │ │ │ │ - mul.w r3, r3, ip │ │ │ │ │ - vldr d0, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d8, [sp, #952] @ 0x3b8 │ │ │ │ │ - adds r1, r5, r3 │ │ │ │ │ - add r3, r8 │ │ │ │ │ - vldr d9, [sp, #968] @ 0x3c8 │ │ │ │ │ - vldr d12, [sp, #744] @ 0x2e8 │ │ │ │ │ + mul.w r5, r5, r8 │ │ │ │ │ + vldr d2, [pc, #-180] @ 1bc0 │ │ │ │ │ + add.w r1, r6, r5 │ │ │ │ │ + add r5, sl │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ - adds r1, r5, r2 │ │ │ │ │ - add r2, r8 │ │ │ │ │ - vldr d2, [pc, #-156] @ 1b40 │ │ │ │ │ - vldr d4, [sp, #472] @ 0x1d8 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ - vsub.f64 d6, d13, d14 │ │ │ │ │ - vldr d13, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d10, [sp, #880] @ 0x370 │ │ │ │ │ - vldr d1, [sp, #904] @ 0x388 │ │ │ │ │ + mul.w r1, r9, r8 │ │ │ │ │ + add.w ip, r6, r1 │ │ │ │ │ + add r1, sl │ │ │ │ │ + vstr d6, [ip] │ │ │ │ │ + vsub.f64 d6, d14, d13 │ │ │ │ │ + mov.w ip, #200 @ 0xc8 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ + vstr d5, [r5] │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ + mov.w r1, #328 @ 0x148 │ │ │ │ │ + vldr d0, [sp, #72] @ 0x48 │ │ │ │ │ + mul.w r1, r1, r8 │ │ │ │ │ + vldr d13, [sp, #176] @ 0xb0 │ │ │ │ │ + vldr d4, [sp, #408] @ 0x198 │ │ │ │ │ + add.w r5, sl, r1 │ │ │ │ │ + add r1, r6 │ │ │ │ │ + vldr d1, [sp, #968] @ 0x3c8 │ │ │ │ │ vadd.f64 d6, d15, d0 │ │ │ │ │ - vldr d0, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d0, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d15, [sp, #640] @ 0x280 │ │ │ │ │ + vldr d5, [sp, #664] @ 0x298 │ │ │ │ │ + vldr d8, [sp, #952] @ 0x3b8 │ │ │ │ │ vadd.f64 d14, d0, d13 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - vldr d5, [sp, #648] @ 0x288 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - mov.w r2, #328 @ 0x148 │ │ │ │ │ - vldr d13, [pc, #-244] @ 1b28 │ │ │ │ │ + vadd.f64 d7, d1, d15 │ │ │ │ │ + vldr d13, [pc, #-312] @ 1ba8 │ │ │ │ │ + vldr d12, [sp, #768] @ 0x300 │ │ │ │ │ vsub.f64 d0, d6, d14 │ │ │ │ │ vadd.f64 d14, d6, d14 │ │ │ │ │ + vldr d10, [sp, #880] @ 0x370 │ │ │ │ │ vadd.f64 d6, d8, d5 │ │ │ │ │ - vldr d5, [sp, #632] @ 0x278 │ │ │ │ │ - mul.w r2, r2, ip │ │ │ │ │ - vadd.f64 d7, d9, d5 │ │ │ │ │ - add.w r3, r8, r2 │ │ │ │ │ - add r2, r5 │ │ │ │ │ vmul.f64 d5, d7, d13 │ │ │ │ │ + vldr d9, [sp, #888] @ 0x378 │ │ │ │ │ vmov.f64 d15, d5 │ │ │ │ │ - vldr d5, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d5, [sp, #752] @ 0x2f0 │ │ │ │ │ vmla.f64 d15, d6, d11 │ │ │ │ │ vmul.f64 d6, d6, d13 │ │ │ │ │ vnmls.f64 d6, d7, d11 │ │ │ │ │ - vadd.f64 d7, d5, d12 │ │ │ │ │ - vldr d12, [sp, #360] @ 0x168 │ │ │ │ │ - vldr d5, [sp, #760] @ 0x2f8 │ │ │ │ │ - vstr d15, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d15, [sp, #648] @ 0x288 │ │ │ │ │ - vstr d6, [sp, #88] @ 0x58 │ │ │ │ │ - vadd.f64 d6, d12, d5 │ │ │ │ │ + vadd.f64 d7, d4, d5 │ │ │ │ │ + vldr d4, [sp, #376] @ 0x178 │ │ │ │ │ + vstr d15, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d15, [sp, #504] @ 0x1f8 │ │ │ │ │ + vstr d6, [sp, #120] @ 0x78 │ │ │ │ │ + vadd.f64 d6, d4, d12 │ │ │ │ │ vmul.f64 d5, d6, d13 │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ vmla.f64 d6, d7, d13 │ │ │ │ │ vmov.f64 d12, d5 │ │ │ │ │ - vldr d5, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d5, [sp, #488] @ 0x1e8 │ │ │ │ │ vnmls.f64 d12, d7, d11 │ │ │ │ │ - vmul.f64 d7, d4, d2 │ │ │ │ │ - vstr d6, [sp, #104] @ 0x68 │ │ │ │ │ - vmul.f64 d6, d5, d3 │ │ │ │ │ - vmla.f64 d7, d1, d3 │ │ │ │ │ - vldr d5, [pc, #-364] @ 1b30 │ │ │ │ │ + vmul.f64 d7, d15, d2 │ │ │ │ │ + vldr d15, [sp, #640] @ 0x280 │ │ │ │ │ + vmla.f64 d7, d5, d3 │ │ │ │ │ + vstr d6, [sp, #208] @ 0xd0 │ │ │ │ │ + vmul.f64 d6, d9, d3 │ │ │ │ │ + vstr d12, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d12, [sp, #48] @ 0x30 │ │ │ │ │ vnmls.f64 d6, d10, d2 │ │ │ │ │ - vstr d12, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d12, [sp, #16] │ │ │ │ │ + vadd.f64 d5, d6, d7 │ │ │ │ │ vsub.f64 d4, d6, d7 │ │ │ │ │ - vadd.f64 d6, d6, d7 │ │ │ │ │ - vstr d6, [sp, #176] @ 0xb0 │ │ │ │ │ - vsub.f64 d6, d8, d15 │ │ │ │ │ - vldr d15, [sp, #632] @ 0x278 │ │ │ │ │ - vldr d8, [pc, #-392] @ 1b38 │ │ │ │ │ - vsub.f64 d7, d9, d15 │ │ │ │ │ - vldr d9, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d6, [sp, #664] @ 0x298 │ │ │ │ │ + vsub.f64 d7, d1, d15 │ │ │ │ │ + vldr d1, [sp, #88] @ 0x58 │ │ │ │ │ + vstr d5, [sp, #216] @ 0xd8 │ │ │ │ │ + vsub.f64 d6, d8, d6 │ │ │ │ │ + vldr d5, [pc, #-464] @ 1bb0 │ │ │ │ │ + vldr d8, [pc, #-460] @ 1bb8 │ │ │ │ │ vmul.f64 d15, d7, d5 │ │ │ │ │ vmla.f64 d15, d6, d8 │ │ │ │ │ vmul.f64 d6, d6, d5 │ │ │ │ │ vnmls.f64 d6, d7, d8 │ │ │ │ │ - vstr d6, [sp, #64] @ 0x40 │ │ │ │ │ - vadd.f64 d6, d12, d9 │ │ │ │ │ - vldr d12, [sp, #128] @ 0x80 │ │ │ │ │ - vldr d7, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d7, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d6, [sp, #96] @ 0x60 │ │ │ │ │ + vadd.f64 d6, d12, d1 │ │ │ │ │ + vldr d12, [sp, #152] @ 0x98 │ │ │ │ │ vadd.f64 d7, d12, d7 │ │ │ │ │ - vldr d12, [sp, #760] @ 0x2f8 │ │ │ │ │ - vsub.f64 d9, d6, d7 │ │ │ │ │ + vldr d12, [sp, #488] @ 0x1e8 │ │ │ │ │ + vsub.f64 d1, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [sp, #472] @ 0x1d8 │ │ │ │ │ - vstr d9, [sp, #72] @ 0x48 │ │ │ │ │ - vmul.f64 d7, d7, d3 │ │ │ │ │ - vmov.f64 d9, d1 │ │ │ │ │ + vstr d1, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d1, [sp, #504] @ 0x1f8 │ │ │ │ │ + vmul.f64 d7, d1, d3 │ │ │ │ │ vmov.f64 d1, d2 │ │ │ │ │ - vnmls.f64 d7, d9, d2 │ │ │ │ │ - vldr d9, [sp, #240] @ 0xf0 │ │ │ │ │ + vnmls.f64 d7, d12, d2 │ │ │ │ │ vmul.f64 d2, d10, d3 │ │ │ │ │ vmla.f64 d2, d9, d1 │ │ │ │ │ - vldr d1, [sp, #744] @ 0x2e8 │ │ │ │ │ + vldr d1, [sp, #752] @ 0x2f0 │ │ │ │ │ vsub.f64 d3, d7, d2 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ - vldr d2, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d2, [sp, #408] @ 0x198 │ │ │ │ │ vsub.f64 d1, d2, d1 │ │ │ │ │ - vldr d2, [sp, #360] @ 0x168 │ │ │ │ │ + vldr d2, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d12, [sp, #768] @ 0x300 │ │ │ │ │ vsub.f64 d12, d2, d12 │ │ │ │ │ vmul.f64 d2, d12, d5 │ │ │ │ │ vmul.f64 d12, d12, d8 │ │ │ │ │ - vmla.f64 d12, d1, d5 │ │ │ │ │ vnmls.f64 d2, d1, d8 │ │ │ │ │ + vmla.f64 d12, d1, d5 │ │ │ │ │ vadd.f64 d1, d0, d4 │ │ │ │ │ vsub.f64 d4, d0, d4 │ │ │ │ │ - vldr d0, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d0, [sp, #96] @ 0x60 │ │ │ │ │ vadd.f64 d9, d15, d2 │ │ │ │ │ vsub.f64 d2, d2, d15 │ │ │ │ │ - vldr d15, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d15, [sp, #112] @ 0x70 │ │ │ │ │ vsub.f64 d10, d1, d9 │ │ │ │ │ vadd.f64 d1, d1, d9 │ │ │ │ │ - vstr d10, [r3] │ │ │ │ │ - movs r3, #72 @ 0x48 │ │ │ │ │ - vldr d10, [sp, #64] @ 0x40 │ │ │ │ │ - mul.w r3, r3, ip │ │ │ │ │ - vadd.f64 d9, d10, d12 │ │ │ │ │ + vldr d9, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d10, [r5] │ │ │ │ │ + add.w r5, sl, r0 │ │ │ │ │ + vadd.f64 d9, d9, d12 │ │ │ │ │ + add r0, r6 │ │ │ │ │ vsub.f64 d12, d0, d12 │ │ │ │ │ - add.w r1, r8, r3 │ │ │ │ │ - add r3, r5 │ │ │ │ │ - vldr d0, [sp, #88] @ 0x58 │ │ │ │ │ - vstr d1, [r1] │ │ │ │ │ - vldr d1, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d0, [sp, #120] @ 0x78 │ │ │ │ │ + vstr d1, [r5] │ │ │ │ │ + vldr d1, [sp, #104] @ 0x68 │ │ │ │ │ vadd.f64 d1, d1, d3 │ │ │ │ │ vsub.f64 d10, d1, d9 │ │ │ │ │ vadd.f64 d1, d1, d9 │ │ │ │ │ - vldr d9, [sp, #104] @ 0x68 │ │ │ │ │ - vstr d10, [r2] │ │ │ │ │ - mul.w r2, fp, ip │ │ │ │ │ - vstr d1, [r3] │ │ │ │ │ - mov.w fp, #200 @ 0xc8 │ │ │ │ │ - vldr d1, [sp, #72] @ 0x48 │ │ │ │ │ - adds r3, r5, r2 │ │ │ │ │ - add r2, r8 │ │ │ │ │ + vstr d10, [r1] │ │ │ │ │ + mov.w r1, #456 @ 0x1c8 │ │ │ │ │ + vstr d1, [r0] │ │ │ │ │ + vldr d1, [sp, #104] @ 0x68 │ │ │ │ │ + mul.w r0, r1, r8 │ │ │ │ │ + vldr d10, [sp, #208] @ 0xd0 │ │ │ │ │ + add.w r1, r6, r0 │ │ │ │ │ + add r0, sl │ │ │ │ │ vsub.f64 d3, d1, d3 │ │ │ │ │ vsub.f64 d1, d3, d2 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ vsub.f64 d2, d4, d12 │ │ │ │ │ vadd.f64 d4, d4, d12 │ │ │ │ │ - vldr d12, [sp, #96] @ 0x60 │ │ │ │ │ - vstr d1, [r3] │ │ │ │ │ - mul.w r3, fp, ip │ │ │ │ │ - vldr d1, [sp, #176] @ 0xb0 │ │ │ │ │ - adds r1, r5, r3 │ │ │ │ │ - add r3, r8 │ │ │ │ │ - vstr d3, [r1] │ │ │ │ │ + vldr d12, [sp, #200] @ 0xc8 │ │ │ │ │ + vstr d1, [r1] │ │ │ │ │ + mul.w r1, ip, r8 │ │ │ │ │ + vldr d1, [sp, #216] @ 0xd8 │ │ │ │ │ + add.w r5, r6, r1 │ │ │ │ │ + add r1, sl │ │ │ │ │ + vstr d3, [r5] │ │ │ │ │ vadd.f64 d3, d15, d12 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ + vstr d2, [r0] │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ vadd.f64 d4, d14, d7 │ │ │ │ │ - mov.w r3, #264 @ 0x108 │ │ │ │ │ + add.w r1, sl, r3 │ │ │ │ │ + add r3, r6 │ │ │ │ │ vsub.f64 d7, d14, d7 │ │ │ │ │ - mul.w r3, r3, ip │ │ │ │ │ + vldr d14, [sp, #80] @ 0x50 │ │ │ │ │ vsub.f64 d2, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ - vadd.f64 d3, d0, d9 │ │ │ │ │ - add.w r2, r8, r3 │ │ │ │ │ - add r3, r5 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - mov.w r2, ip, lsl #3 │ │ │ │ │ - add.w r1, r8, r2 │ │ │ │ │ - add r2, r5 │ │ │ │ │ + vadd.f64 d3, d0, d10 │ │ │ │ │ + vstr d2, [r1] │ │ │ │ │ + add.w r1, sl, lr │ │ │ │ │ + add lr, r6 │ │ │ │ │ vstr d4, [r1] │ │ │ │ │ vadd.f64 d4, d1, d6 │ │ │ │ │ vsub.f64 d6, d6, d1 │ │ │ │ │ + mov.w r1, #392 @ 0x188 │ │ │ │ │ + mul.w r1, r1, r8 │ │ │ │ │ vsub.f64 d2, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ + add.w r3, r6, r1 │ │ │ │ │ + add r1, sl │ │ │ │ │ + vstr d4, [lr] │ │ │ │ │ vsub.f64 d4, d12, d15 │ │ │ │ │ - mov.w r2, #392 @ 0x188 │ │ │ │ │ - vldr d2, [pc, #-776] @ 1b40 │ │ │ │ │ - mul.w r2, r2, ip │ │ │ │ │ + mov.w lr, #440 @ 0x1b8 │ │ │ │ │ + vldr d2, [pc, #-836] @ 1bc0 │ │ │ │ │ vsub.f64 d3, d6, d4 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - adds r3, r5, r2 │ │ │ │ │ - add r2, r8 │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ - movs r3, #136 @ 0x88 │ │ │ │ │ - vldr d3, [pc, #-792] @ 1b48 │ │ │ │ │ - mul.w r3, r3, ip │ │ │ │ │ - adds r1, r5, r3 │ │ │ │ │ - add r3, r8 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ - vsub.f64 d6, d0, d9 │ │ │ │ │ - movs r1, #120 @ 0x78 │ │ │ │ │ + ldr r3, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d3, [pc, #-848] @ 1bc8 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + add.w r0, r6, r3 │ │ │ │ │ + add r3, sl │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ + vsub.f64 d6, d0, d10 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - mov.w r2, #376 @ 0x178 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - vldr d14, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d6, [sp] │ │ │ │ │ - mul.w r2, r2, ip │ │ │ │ │ - vldr d7, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d4, [sp, #616] @ 0x268 │ │ │ │ │ - add.w r3, r8, r2 │ │ │ │ │ + vldr d6, [sp, #32] │ │ │ │ │ vsub.f64 d6, d6, d14 │ │ │ │ │ - vldr d14, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d15, [sp, #608] @ 0x260 │ │ │ │ │ - add r2, r5 │ │ │ │ │ - vldr d9, [sp, #888] @ 0x378 │ │ │ │ │ + vldr d14, [sp, #184] @ 0xb8 │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ + mov.w r1, #376 @ 0x178 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + vldr d7, [sp, #136] @ 0x88 │ │ │ │ │ + mul.w r1, r1, r8 │ │ │ │ │ + vldr d10, [sp, #920] @ 0x398 │ │ │ │ │ + add.w r3, sl, r1 │ │ │ │ │ + add r1, r6 │ │ │ │ │ + vldr d15, [sp, #728] @ 0x2d8 │ │ │ │ │ vsub.f64 d12, d7, d14 │ │ │ │ │ - vldr d14, [sp, #528] @ 0x210 │ │ │ │ │ - vldr d10, [sp, #856] @ 0x358 │ │ │ │ │ + vldr d14, [sp, #560] @ 0x230 │ │ │ │ │ + vldr d9, [sp, #864] @ 0x360 │ │ │ │ │ vldr d1, [sp, #896] @ 0x380 │ │ │ │ │ - vadd.f64 d7, d14, d15 │ │ │ │ │ - vldr d15, [sp, #704] @ 0x2c0 │ │ │ │ │ vsub.f64 d0, d6, d12 │ │ │ │ │ vadd.f64 d12, d6, d12 │ │ │ │ │ - vldr d6, [sp, #536] @ 0x218 │ │ │ │ │ - vadd.f64 d6, d6, d4 │ │ │ │ │ + vldr d6, [sp, #616] @ 0x268 │ │ │ │ │ + vadd.f64 d7, d10, d6 │ │ │ │ │ + vldr d6, [sp, #624] @ 0x270 │ │ │ │ │ + vadd.f64 d6, d14, d6 │ │ │ │ │ vmul.f64 d4, d6, d5 │ │ │ │ │ vmul.f64 d6, d6, d8 │ │ │ │ │ - vmov.f64 d14, d4 │ │ │ │ │ vnmls.f64 d6, d7, d5 │ │ │ │ │ + vmov.f64 d14, d4 │ │ │ │ │ vmla.f64 d14, d7, d8 │ │ │ │ │ - vldr d4, [sp, #720] @ 0x2d0 │ │ │ │ │ - vstr d6, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d14, [sp] │ │ │ │ │ - vldr d14, [sp, #320] @ 0x140 │ │ │ │ │ - vadd.f64 d6, d14, d15 │ │ │ │ │ - vldr d15, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d14, [sp, #528] @ 0x210 │ │ │ │ │ - vadd.f64 d7, d15, d4 │ │ │ │ │ - vmul.f64 d4, d7, d8 │ │ │ │ │ + vldr d7, [sp, #712] @ 0x2c8 │ │ │ │ │ + vstr d6, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d6, [sp, #352] @ 0x160 │ │ │ │ │ + vstr d14, [sp, #32] │ │ │ │ │ + vldr d14, [sp, #336] @ 0x150 │ │ │ │ │ + vadd.f64 d6, d6, d15 │ │ │ │ │ + vadd.f64 d7, d14, d7 │ │ │ │ │ + vldr d14, [sp, #272] @ 0x110 │ │ │ │ │ + vmul.f64 d4, d6, d8 │ │ │ │ │ vmov.f64 d15, d4 │ │ │ │ │ - vldr d4, [sp, #480] @ 0x1e0 │ │ │ │ │ - vnmls.f64 d15, d6, d5 │ │ │ │ │ - vmul.f64 d6, d6, d8 │ │ │ │ │ - vmla.f64 d6, d7, d5 │ │ │ │ │ - vmul.f64 d5, d9, d2 │ │ │ │ │ + vldr d4, [sp, #512] @ 0x200 │ │ │ │ │ + vnmls.f64 d15, d7, d5 │ │ │ │ │ + vmul.f64 d7, d7, d8 │ │ │ │ │ + vldr d8, [sp, #192] @ 0xc0 │ │ │ │ │ + vmla.f64 d7, d6, d5 │ │ │ │ │ + vmul.f64 d5, d14, d2 │ │ │ │ │ + vldr d14, [sp, #560] @ 0x230 │ │ │ │ │ + vmov.f64 d6, d10 │ │ │ │ │ + vldr d10, [sp, #64] @ 0x40 │ │ │ │ │ + vnmls.f64 d5, d9, d3 │ │ │ │ │ + vstr d15, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d15, [sp, #616] @ 0x268 │ │ │ │ │ + vstr d7, [sp, #104] @ 0x68 │ │ │ │ │ vmul.f64 d7, d4, d2 │ │ │ │ │ - vldr d8, [sp, #168] @ 0xa8 │ │ │ │ │ vmla.f64 d7, d1, d3 │ │ │ │ │ - vnmls.f64 d5, d10, d3 │ │ │ │ │ - vstr d15, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d6, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d6, [sp, #616] @ 0x268 │ │ │ │ │ vsub.f64 d4, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ - vldr d7, [sp, #608] @ 0x260 │ │ │ │ │ - vsub.f64 d7, d14, d7 │ │ │ │ │ - vldr d14, [sp, #536] @ 0x218 │ │ │ │ │ + vsub.f64 d7, d6, d15 │ │ │ │ │ + vldr d6, [sp, #624] @ 0x270 │ │ │ │ │ vsub.f64 d15, d14, d6 │ │ │ │ │ - vldr d6, [sp, #24] │ │ │ │ │ + vldr d6, [sp, #56] @ 0x38 │ │ │ │ │ vmul.f64 d14, d15, d13 │ │ │ │ │ vmul.f64 d15, d15, d11 │ │ │ │ │ + vsub.f64 d6, d6, d10 │ │ │ │ │ + vmov.f64 d10, d1 │ │ │ │ │ + vmov.f64 d1, d2 │ │ │ │ │ vmla.f64 d14, d7, d11 │ │ │ │ │ vnmls.f64 d15, d7, d13 │ │ │ │ │ - vldr d7, [sp, #32] │ │ │ │ │ - vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d7, [sp, #144] @ 0x90 │ │ │ │ │ vsub.f64 d7, d8, d7 │ │ │ │ │ vsub.f64 d8, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vmov.f64 d7, d1 │ │ │ │ │ - vmov.f64 d1, d2 │ │ │ │ │ - vmul.f64 d7, d7, d2 │ │ │ │ │ - vldr d2, [sp, #480] @ 0x1e0 │ │ │ │ │ - vnmls.f64 d7, d2, d3 │ │ │ │ │ - vmul.f64 d2, d9, d3 │ │ │ │ │ - vmla.f64 d2, d10, d1 │ │ │ │ │ - vldr d1, [sp, #704] @ 0x2c0 │ │ │ │ │ + vmul.f64 d7, d10, d2 │ │ │ │ │ + vldr d2, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d10, [sp, #512] @ 0x200 │ │ │ │ │ + vmul.f64 d2, d2, d3 │ │ │ │ │ + vnmls.f64 d7, d10, d3 │ │ │ │ │ + vldr d10, [sp, #712] @ 0x2c8 │ │ │ │ │ + vmla.f64 d2, d9, d1 │ │ │ │ │ vsub.f64 d3, d7, d2 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ - vldr d2, [sp, #320] @ 0x140 │ │ │ │ │ - vsub.f64 d9, d2, d1 │ │ │ │ │ vldr d2, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d1, [sp, #720] @ 0x2d0 │ │ │ │ │ - vsub.f64 d1, d2, d1 │ │ │ │ │ + vsub.f64 d9, d2, d10 │ │ │ │ │ + vldr d2, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d10, [sp, #728] @ 0x2d8 │ │ │ │ │ + vsub.f64 d1, d2, d10 │ │ │ │ │ vmul.f64 d2, d1, d11 │ │ │ │ │ vmul.f64 d11, d9, d11 │ │ │ │ │ + vnmls.f64 d2, d9, d13 │ │ │ │ │ vmla.f64 d11, d1, d13 │ │ │ │ │ vadd.f64 d1, d0, d4 │ │ │ │ │ vsub.f64 d4, d0, d4 │ │ │ │ │ - vldr d0, [sp, #64] @ 0x40 │ │ │ │ │ - vnmls.f64 d2, d9, d13 │ │ │ │ │ - vldr d13, [sp, #72] @ 0x48 │ │ │ │ │ vadd.f64 d9, d14, d2 │ │ │ │ │ vsub.f64 d2, d2, d14 │ │ │ │ │ - vldr d14, [sp] │ │ │ │ │ vsub.f64 d10, d1, d9 │ │ │ │ │ vadd.f64 d1, d1, d9 │ │ │ │ │ vadd.f64 d9, d15, d11 │ │ │ │ │ vsub.f64 d15, d15, d11 │ │ │ │ │ - vldr d11, [sp, #944] @ 0x3b0 │ │ │ │ │ vstr d10, [r3] │ │ │ │ │ - mul.w r3, r1, ip │ │ │ │ │ - add.w r1, r8, r3 │ │ │ │ │ - add r3, r5 │ │ │ │ │ - vstr d1, [r1] │ │ │ │ │ + ldr r3, [sp, #16] │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + add.w r0, sl, r3 │ │ │ │ │ + add r3, r6 │ │ │ │ │ + vstr d1, [r0] │ │ │ │ │ vadd.f64 d1, d8, d3 │ │ │ │ │ vsub.f64 d3, d8, d3 │ │ │ │ │ - vldr d8, [pc, #876] @ 2390 │ │ │ │ │ + vldr d8, [pc, #940] @ 2478 │ │ │ │ │ vsub.f64 d10, d1, d9 │ │ │ │ │ vadd.f64 d1, d1, d9 │ │ │ │ │ - vldr d9, [sp, #992] @ 0x3e0 │ │ │ │ │ - vstr d10, [r2] │ │ │ │ │ - mov.w r2, #504 @ 0x1f8 │ │ │ │ │ + vstr d10, [r1] │ │ │ │ │ + ldr r0, [sp, #24] │ │ │ │ │ vstr d1, [r3] │ │ │ │ │ vsub.f64 d1, d3, d2 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ - vldr d10, [sp, #960] @ 0x3c0 │ │ │ │ │ - mul.w r2, r2, ip │ │ │ │ │ - adds r3, r5, r2 │ │ │ │ │ - add r2, r8 │ │ │ │ │ - vstr d1, [r3] │ │ │ │ │ - mul.w r3, r0, ip │ │ │ │ │ - vldr d1, [pc, #828] @ 2398 │ │ │ │ │ - adds r1, r5, r3 │ │ │ │ │ - add r3, r8 │ │ │ │ │ + vldr d14, [sp, #32] │ │ │ │ │ + vldr d0, [sp, #96] @ 0x60 │ │ │ │ │ + sub.w r3, r0, r8 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + vldr d13, [sp, #104] @ 0x68 │ │ │ │ │ + add.w r1, r6, r3 │ │ │ │ │ + add r3, sl │ │ │ │ │ + vldr d11, [sp, #944] @ 0x3b0 │ │ │ │ │ + vstr d1, [r1] │ │ │ │ │ + add.w r1, r6, r4 │ │ │ │ │ + add r4, sl │ │ │ │ │ + vldr d9, [sp, #960] @ 0x3c0 │ │ │ │ │ vstr d3, [r1] │ │ │ │ │ vsub.f64 d3, d4, d15 │ │ │ │ │ vadd.f64 d4, d4, d15 │ │ │ │ │ - vldr d15, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ + mov.w r1, #312 @ 0x138 │ │ │ │ │ + vldr d15, [sp, #80] @ 0x50 │ │ │ │ │ + mul.w r1, r1, r8 │ │ │ │ │ + vldr d10, [sp, #992] @ 0x3e0 │ │ │ │ │ + vldr d1, [pc, #848] @ 2480 │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ vadd.f64 d3, d14, d0 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - mov.w r2, #312 @ 0x138 │ │ │ │ │ + add.w r3, sl, r1 │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ vadd.f64 d4, d12, d7 │ │ │ │ │ + add r1, r6 │ │ │ │ │ + ldr r4, [sp, #8] │ │ │ │ │ vsub.f64 d7, d12, d7 │ │ │ │ │ - vldr d12, [sp, #128] @ 0x80 │ │ │ │ │ - mul.w r2, r2, ip │ │ │ │ │ + vldr d12, [sp, #152] @ 0x98 │ │ │ │ │ vsub.f64 d2, d4, d3 │ │ │ │ │ - add.w r3, r8, r2 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ vadd.f64 d3, d15, d13 │ │ │ │ │ - add r2, r5 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ - mul.w r3, sl, ip │ │ │ │ │ - mov.w sl, #488 @ 0x1e8 │ │ │ │ │ - add.w r1, r8, r3 │ │ │ │ │ - add r3, r5 │ │ │ │ │ - vstr d4, [r1] │ │ │ │ │ + mov.w r3, r4, lsl #3 │ │ │ │ │ + mov.w r4, #184 @ 0xb8 │ │ │ │ │ + add.w r0, sl, r3 │ │ │ │ │ + add r3, r6 │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vsub.f64 d5, d0, d14 │ │ │ │ │ vsub.f64 d2, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ - vldr d3, [pc, #720] @ 23a0 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - mul.w r2, r4, ip │ │ │ │ │ + vldr d3, [pc, #764] @ 2488 │ │ │ │ │ + vstr d2, [r1] │ │ │ │ │ + mul.w r1, lr, r8 │ │ │ │ │ + mov.w lr, #104 @ 0x68 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ vsub.f64 d4, d6, d5 │ │ │ │ │ - adds r3, r5, r2 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - add r2, r8 │ │ │ │ │ - vldr d2, [pc, #700] @ 23a8 │ │ │ │ │ - movs r4, #40 @ 0x28 │ │ │ │ │ + vldr d2, [pc, #744] @ 2490 │ │ │ │ │ + add.w r3, r6, r1 │ │ │ │ │ + add r1, sl │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ - mul.w r3, r9, ip │ │ │ │ │ + mul.w r3, r4, r8 │ │ │ │ │ vldr d4, [sp, #1000] @ 0x3e8 │ │ │ │ │ - mov.w r9, #168 @ 0xa8 │ │ │ │ │ - adds r1, r5, r3 │ │ │ │ │ - add r3, r8 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ + add.w r0, r6, r3 │ │ │ │ │ + add r3, sl │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ vsub.f64 d6, d15, d13 │ │ │ │ │ - vldr d15, [sp, #8] │ │ │ │ │ - movs r1, #104 @ 0x68 │ │ │ │ │ + vldr d15, [sp, #40] @ 0x28 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ + vldr d6, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ vsub.f64 d6, d15, d6 │ │ │ │ │ + mov.w r1, #360 @ 0x168 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - mov.w r2, #360 @ 0x168 │ │ │ │ │ - vldr d7, [sp, #144] @ 0x90 │ │ │ │ │ - mul.w r2, r2, ip │ │ │ │ │ + vldr d7, [sp, #168] @ 0xa8 │ │ │ │ │ + mul.w r1, r1, r8 │ │ │ │ │ + vldr d15, [sp, #760] @ 0x2f8 │ │ │ │ │ + add.w r3, sl, r1 │ │ │ │ │ + add r1, r6 │ │ │ │ │ vsub.f64 d14, d12, d7 │ │ │ │ │ - vadd.f64 d7, d10, d4 │ │ │ │ │ - add.w r3, r8, r2 │ │ │ │ │ - add r2, r5 │ │ │ │ │ + vadd.f64 d7, d9, d4 │ │ │ │ │ vsub.f64 d0, d6, d14 │ │ │ │ │ vadd.f64 d14, d6, d14 │ │ │ │ │ - vadd.f64 d6, d11, d9 │ │ │ │ │ + vadd.f64 d6, d11, d10 │ │ │ │ │ vmul.f64 d5, d6, d2 │ │ │ │ │ vmul.f64 d6, d6, d8 │ │ │ │ │ - vmov.f64 d12, d5 │ │ │ │ │ vnmls.f64 d6, d7, d2 │ │ │ │ │ + vmov.f64 d12, d5 │ │ │ │ │ vmla.f64 d12, d7, d8 │ │ │ │ │ - vldr d7, [sp, #368] @ 0x170 │ │ │ │ │ - vstr d6, [sp, #8] │ │ │ │ │ - vstr d12, [sp] │ │ │ │ │ - vldr d15, [sp, #752] @ 0x2f0 │ │ │ │ │ - vldr d13, [sp, #736] @ 0x2e0 │ │ │ │ │ - vldr d12, [sp, #872] @ 0x368 │ │ │ │ │ + vldr d7, [sp, #400] @ 0x190 │ │ │ │ │ + vstr d12, [sp, #8] │ │ │ │ │ + vstr d6, [sp, #16] │ │ │ │ │ vadd.f64 d6, d7, d15 │ │ │ │ │ - vldr d15, [sp, #352] @ 0x160 │ │ │ │ │ - vadd.f64 d7, d15, d13 │ │ │ │ │ + vldr d15, [sp, #368] @ 0x170 │ │ │ │ │ + vldr d7, [sp, #744] @ 0x2e8 │ │ │ │ │ + ldr r5, [sp, #0] │ │ │ │ │ + vldr d12, [sp, #872] @ 0x368 │ │ │ │ │ + vadd.f64 d7, d15, d7 │ │ │ │ │ vmul.f64 d15, d7, d8 │ │ │ │ │ vnmls.f64 d15, d6, d2 │ │ │ │ │ vmul.f64 d6, d6, d8 │ │ │ │ │ + vldr d8, [sp, #496] @ 0x1f0 │ │ │ │ │ vmla.f64 d6, d7, d2 │ │ │ │ │ - vldr d7, [sp, #232] @ 0xe8 │ │ │ │ │ - vldr d8, [sp, #464] @ 0x1d0 │ │ │ │ │ - vldr d2, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d7, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d2, [sp, #480] @ 0x1e0 │ │ │ │ │ vmul.f64 d5, d7, d3 │ │ │ │ │ vmul.f64 d7, d8, d1 │ │ │ │ │ - vldr d8, [sp, #16] │ │ │ │ │ - vmla.f64 d7, d2, d3 │ │ │ │ │ - vnmls.f64 d5, d12, d1 │ │ │ │ │ + vldr d8, [sp, #176] @ 0xb0 │ │ │ │ │ vstr d6, [sp, #24] │ │ │ │ │ + vnmls.f64 d5, d12, d1 │ │ │ │ │ + vmla.f64 d7, d2, d3 │ │ │ │ │ vadd.f64 d13, d5, d7 │ │ │ │ │ vsub.f64 d6, d5, d7 │ │ │ │ │ - vsub.f64 d7, d11, d9 │ │ │ │ │ - vsub.f64 d5, d10, d4 │ │ │ │ │ - vldr d9, [pc, #484] @ 23b0 │ │ │ │ │ - vldr d10, [pc, #488] @ 23b8 │ │ │ │ │ - vldr d11, [sp, #152] @ 0x98 │ │ │ │ │ + vsub.f64 d5, d9, d4 │ │ │ │ │ + vsub.f64 d7, d11, d10 │ │ │ │ │ + vldr d9, [pc, #524] @ 2498 │ │ │ │ │ + vldr d10, [pc, #528] @ 24a0 │ │ │ │ │ + vldr d11, [sp, #48] @ 0x30 │ │ │ │ │ vmul.f64 d2, d7, d9 │ │ │ │ │ vmul.f64 d7, d7, d10 │ │ │ │ │ vmla.f64 d2, d5, d10 │ │ │ │ │ vnmls.f64 d7, d5, d9 │ │ │ │ │ - vldr d5, [sp, #56] @ 0x38 │ │ │ │ │ - vsub.f64 d4, d8, d5 │ │ │ │ │ - vldr d5, [sp, #136] @ 0x88 │ │ │ │ │ - vsub.f64 d11, d11, d5 │ │ │ │ │ + vldr d5, [sp, #88] @ 0x58 │ │ │ │ │ + vsub.f64 d4, d11, d5 │ │ │ │ │ + vldr d5, [sp, #160] @ 0xa0 │ │ │ │ │ + vsub.f64 d11, d8, d5 │ │ │ │ │ vmov.f64 d5, d3 │ │ │ │ │ + vmul.f64 d5, d12, d5 │ │ │ │ │ vsub.f64 d8, d4, d11 │ │ │ │ │ vadd.f64 d11, d4, d11 │ │ │ │ │ - vldr d4, [sp, #464] @ 0x1d0 │ │ │ │ │ - vmul.f64 d5, d12, d5 │ │ │ │ │ + vldr d4, [sp, #496] @ 0x1f0 │ │ │ │ │ vmul.f64 d3, d4, d3 │ │ │ │ │ - vldr d4, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d4, [sp, #480] @ 0x1e0 │ │ │ │ │ vnmls.f64 d3, d4, d1 │ │ │ │ │ - vldr d4, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d4, [sp, #264] @ 0x108 │ │ │ │ │ vmla.f64 d5, d4, d1 │ │ │ │ │ - vldr d1, [sp, #752] @ 0x2f0 │ │ │ │ │ + vldr d1, [sp, #760] @ 0x2f8 │ │ │ │ │ vsub.f64 d4, d3, d5 │ │ │ │ │ vadd.f64 d12, d3, d5 │ │ │ │ │ - vldr d5, [sp, #368] @ 0x170 │ │ │ │ │ - vldr d3, [sp, #736] @ 0x2e0 │ │ │ │ │ + vldr d5, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d3, [sp, #744] @ 0x2e8 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ - vldr d1, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d1, [sp, #368] @ 0x170 │ │ │ │ │ vsub.f64 d1, d1, d3 │ │ │ │ │ vmul.f64 d3, d1, d10 │ │ │ │ │ vnmls.f64 d3, d5, d9 │ │ │ │ │ vmul.f64 d5, d5, d10 │ │ │ │ │ vmla.f64 d5, d1, d9 │ │ │ │ │ vadd.f64 d1, d0, d6 │ │ │ │ │ vsub.f64 d6, d0, d6 │ │ │ │ │ vadd.f64 d9, d2, d3 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ vsub.f64 d10, d1, d9 │ │ │ │ │ vadd.f64 d1, d1, d9 │ │ │ │ │ vadd.f64 d9, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vstr d10, [r3] │ │ │ │ │ - mul.w r3, r1, ip │ │ │ │ │ + mul.w r3, lr, r8 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - add.w r1, r8, r3 │ │ │ │ │ - add r3, r5 │ │ │ │ │ vadd.f64 d7, d14, d12 │ │ │ │ │ vsub.f64 d14, d14, d12 │ │ │ │ │ - vstr d1, [r1] │ │ │ │ │ + add.w r0, sl, r3 │ │ │ │ │ + add r3, r6 │ │ │ │ │ + vstr d1, [r0] │ │ │ │ │ vadd.f64 d1, d8, d4 │ │ │ │ │ vsub.f64 d4, d8, d4 │ │ │ │ │ + mov.w r0, #488 @ 0x1e8 │ │ │ │ │ vsub.f64 d10, d1, d9 │ │ │ │ │ vadd.f64 d1, d1, d9 │ │ │ │ │ vsub.f64 d2, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ - vldr d3, [sp, #8] │ │ │ │ │ - vstr d10, [r2] │ │ │ │ │ - mul.w r2, sl, ip │ │ │ │ │ + vldr d3, [sp, #16] │ │ │ │ │ + vstr d10, [r1] │ │ │ │ │ + mul.w r1, r0, r8 │ │ │ │ │ + mov.w r0, #232 @ 0xe8 │ │ │ │ │ vstr d1, [r3] │ │ │ │ │ - adds r3, r5, r2 │ │ │ │ │ - add r2, r8 │ │ │ │ │ + add.w r3, r6, r1 │ │ │ │ │ + add r1, sl │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ - movs r3, #232 @ 0xe8 │ │ │ │ │ + mul.w r3, r0, r8 │ │ │ │ │ vldr d2, [sp, #24] │ │ │ │ │ - mul.w r3, r3, ip │ │ │ │ │ - adds r1, r5, r3 │ │ │ │ │ - add r3, r8 │ │ │ │ │ - vstr d4, [r1] │ │ │ │ │ - vldr d4, [sp] │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ + add.w r0, r6, r3 │ │ │ │ │ + add r3, sl │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ + vldr d4, [sp, #8] │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ mov.w r3, #296 @ 0x128 │ │ │ │ │ + mul.w r3, r3, r8 │ │ │ │ │ vadd.f64 d6, d4, d15 │ │ │ │ │ vsub.f64 d15, d15, d4 │ │ │ │ │ - mul.w r3, r3, ip │ │ │ │ │ + add.w r1, sl, r3 │ │ │ │ │ + add r3, r6 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ - add.w r2, r8, r3 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d3, d2 │ │ │ │ │ - add r3, r5 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - mul.w r2, r4, ip │ │ │ │ │ - add.w r1, r8, r2 │ │ │ │ │ - add r2, r5 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ + mov.w r1, r5, lsl #3 │ │ │ │ │ + mov.w r5, #168 @ 0xa8 │ │ │ │ │ + add.w r0, sl, r1 │ │ │ │ │ + add r1, r6 │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ vadd.f64 d7, d13, d11 │ │ │ │ │ vsub.f64 d11, d11, d13 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - mov.w r2, #424 @ 0x1a8 │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ + mov.w r1, #424 @ 0x1a8 │ │ │ │ │ vsub.f64 d7, d11, d15 │ │ │ │ │ vadd.f64 d11, d11, d15 │ │ │ │ │ - mul.w r2, r2, ip │ │ │ │ │ - adds r3, r5, r2 │ │ │ │ │ - add r2, r8 │ │ │ │ │ + mul.w r1, r1, r8 │ │ │ │ │ + add.w r3, r6, r1 │ │ │ │ │ + add r1, sl │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d3, d2 │ │ │ │ │ - mul.w r3, r9, ip │ │ │ │ │ - adds r1, r5, r3 │ │ │ │ │ - add r3, r8 │ │ │ │ │ + mul.w r3, r5, r8 │ │ │ │ │ + add.w r0, r6, r3 │ │ │ │ │ + add r3, sl │ │ │ │ │ + vstr d11, [r0] │ │ │ │ │ vsub.f64 d6, d14, d7 │ │ │ │ │ vadd.f64 d14, d14, d7 │ │ │ │ │ - vstr d11, [r1] │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ vstr d14, [r3] │ │ │ │ │ ldr r3, [sp, #1012] @ 0x3f4 │ │ │ │ │ - add r6, r3 │ │ │ │ │ - add lr, r3 │ │ │ │ │ + add fp, r3 │ │ │ │ │ + add r7, r3 │ │ │ │ │ ldr r3, [sp, #1016] @ 0x3f8 │ │ │ │ │ - add r8, r3 │ │ │ │ │ - add r5, r3 │ │ │ │ │ + add sl, r3 │ │ │ │ │ + add r6, r3 │ │ │ │ │ ldr r3, [sp, #1020] @ 0x3fc │ │ │ │ │ - eors r7, r3 │ │ │ │ │ - eor.w ip, ip, r3 │ │ │ │ │ + eor.w r2, r2, r3 │ │ │ │ │ + eor.w r8, r8, r3 │ │ │ │ │ ldr.w r3, [sp, #1136] @ 0x470 │ │ │ │ │ subs r3, #1 │ │ │ │ │ str.w r3, [sp, #1136] @ 0x470 │ │ │ │ │ - bne.w 46 │ │ │ │ │ + bne.w 5a │ │ │ │ │ addw sp, sp, #1028 @ 0x404 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop.w │ │ │ │ │ .word 0x3806f63b │ │ │ │ │ .word 0x3fde2b5d │ │ │ │ │ .word 0x39ae68c8 │ │ │ │ │ .word 0x3fe1c73b │ │ │ │ │ .word 0x290ea1a3 │ │ │ │ │ .word 0x3fea9b66 │ │ │ │ │ .word 0xf180bdb1 │ │ │ │ │ .word 0x3fec38b2 │ │ │ │ │ .word 0x2ed59f06 │ │ │ │ │ .word 0x3fd29406 │ │ │ │ │ .word 0x56c62dda │ │ │ │ │ .word 0x3fee9f41 │ │ │ │ │ │ │ │ │ │ -000023c0 : │ │ │ │ │ +000024a8 : │ │ │ │ │ fftw_codelet_n1_64(): │ │ │ │ │ - ldr r2, [pc, #8] @ (23cc ) │ │ │ │ │ - ldr r1, [pc, #12] @ (23d0 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (24b4 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (24b8 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── n1_7.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2404 (bytes into file) │ │ │ │ │ + Start of section headers: 2484 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x964: │ │ │ │ │ +There are 13 section headers, starting at offset 0x9b4: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000674 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0008bc 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0006a8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0006a8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0006a8 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 0006ad 000040 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 0008e4 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 0006ed 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0006ed 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 000720 000120 10 11 13 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 000840 00007a 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 0008f4 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0006c4 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 00090c 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0006f8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0006f8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0006f8 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0006fd 000040 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000934 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 00073d 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 00073d 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 000770 000120 10 11 13 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 000890 00007a 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000944 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,21 +1,21 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 18 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1632 FUNC LOCAL DEFAULT 1 n1_7 │ │ │ │ │ + 1: 00000001 1712 FUNC LOCAL DEFAULT 1 n1_7 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000328 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000360 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000630 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000660 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 0000066c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000350 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000388 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000680 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 000006b0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 000006bc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 64 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 15: 00000661 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_7 │ │ │ │ │ + 15: 000006b1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_7 │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_register │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_n_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x8bc contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x90c contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000358 00000d19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000035c 00000e1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -0000066c 00000a03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000670 00000103 R_ARM_REL32 00000001 n1_7 │ │ │ │ │ -00000668 0000101e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ +00000380 00000d19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000384 00000e1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +000006bc 00000a03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000006c0 00000103 R_ARM_REL32 00000001 n1_7 │ │ │ │ │ +000006b8 0000101e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x8e4 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x934 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00001102 R_ARM_ABS32 00000000 fftw_dft_n_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,104 +1,109 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ n1_7(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - ldr.w ip, [pc, #848] @ 358 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub sp, #84 @ 0x54 │ │ │ │ │ - add ip, pc │ │ │ │ │ - ldrd r8, r7, [sp, #192] @ 0xc0 │ │ │ │ │ - ldrd r5, r4, [sp, #184] @ 0xb8 │ │ │ │ │ - cmp.w r8, #0 │ │ │ │ │ - ble.w 31a │ │ │ │ │ - ldr.w lr, [pc, #824] @ 35c │ │ │ │ │ - ldr.w r6, [ip, lr] │ │ │ │ │ - ldr r6, [r6, #0] │ │ │ │ │ - str r6, [sp, #76] @ 0x4c │ │ │ │ │ - ldr r6, [sp, #200] @ 0xc8 │ │ │ │ │ - cmp r7, #1 │ │ │ │ │ + sub sp, #76 @ 0x4c │ │ │ │ │ + ldr.w lr, [pc, #868] @ 380 │ │ │ │ │ + ldr.w ip, [sp, #184] @ 0xb8 │ │ │ │ │ + ldrd r5, r4, [sp, #176] @ 0xb0 │ │ │ │ │ + add lr, pc │ │ │ │ │ + ldr r7, [sp, #192] @ 0xc0 │ │ │ │ │ + cmp.w ip, #0 │ │ │ │ │ + ble.w 332 │ │ │ │ │ + ldr.w r8, [pc, #848] @ 384 │ │ │ │ │ + ldr.w r6, [lr, r8] │ │ │ │ │ + ldr.w lr, [r6] │ │ │ │ │ + ldr r6, [sp, #188] @ 0xbc │ │ │ │ │ + cmp r6, #1 │ │ │ │ │ it eq │ │ │ │ │ - cmpeq r6, #1 │ │ │ │ │ - bne.w 360 │ │ │ │ │ - mov.w sl, #48 @ 0x30 │ │ │ │ │ - mov.w r9, #40 @ 0x28 │ │ │ │ │ - movs r7, #24 │ │ │ │ │ - vldr d8, [pc, #740] @ 328 │ │ │ │ │ - vldr d0, [pc, #744] @ 330 │ │ │ │ │ - vldr d15, [pc, #748] @ 338 │ │ │ │ │ - vldr d14, [pc, #752] @ 340 │ │ │ │ │ - vldr d12, [pc, #756] @ 348 │ │ │ │ │ - vldr d11, [pc, #760] @ 350 │ │ │ │ │ - lsls r6, r5, #3 │ │ │ │ │ + cmpeq r7, #1 │ │ │ │ │ + bne.w 388 │ │ │ │ │ + vldr d8, [pc, #772] @ 350 │ │ │ │ │ + vldr d0, [pc, #776] @ 358 │ │ │ │ │ + vldr d15, [pc, #780] @ 360 │ │ │ │ │ + vldr d14, [pc, #784] @ 368 │ │ │ │ │ + vldr d12, [pc, #788] @ 370 │ │ │ │ │ + vldr d11, [pc, #792] @ 378 │ │ │ │ │ + mov.w r8, r5, lsl #3 │ │ │ │ │ + subs.w ip, ip, #1 │ │ │ │ │ vldr d4, [r0] │ │ │ │ │ - add.w ip, r0, r6 │ │ │ │ │ + add.w r6, r0, r8 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - subs.w r8, r8, #1 │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ - mul.w ip, sl, r5 │ │ │ │ │ - add.w lr, r0, ip │ │ │ │ │ - add ip, r1 │ │ │ │ │ - vldr d5, [lr] │ │ │ │ │ - add.w lr, r1, r6 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + add.w r6, r5, r5, lsl #1 │ │ │ │ │ + mov.w r7, r6, lsl #4 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + add.w r9, r0, r7 │ │ │ │ │ + add r7, r1 │ │ │ │ │ + vldr d5, [r9] │ │ │ │ │ + add.w r9, r1, r8 │ │ │ │ │ + vldr d10, [r9] │ │ │ │ │ + mov.w r9, r5, lsl #4 │ │ │ │ │ vadd.f64 d13, d5, d6 │ │ │ │ │ vsub.f64 d6, d5, d6 │ │ │ │ │ - vldr d10, [lr] │ │ │ │ │ - mov.w lr, r5, lsl #4 │ │ │ │ │ - vldr d5, [ip] │ │ │ │ │ - add.w ip, r0, lr │ │ │ │ │ - add lr, r1 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + add.w r7, r0, r9 │ │ │ │ │ + add r9, r1 │ │ │ │ │ vstr d6, [sp, #56] @ 0x38 │ │ │ │ │ vadd.f64 d6, d5, d10 │ │ │ │ │ vsub.f64 d2, d10, d5 │ │ │ │ │ vstr d6, [sp, #8] │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ - mul.w ip, r9, r5 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + add.w r7, r5, r5, lsl #2 │ │ │ │ │ + eor.w r5, r5, lr │ │ │ │ │ vstr d2, [sp, #48] @ 0x30 │ │ │ │ │ - add.w fp, r0, ip │ │ │ │ │ - add ip, r1 │ │ │ │ │ - vldr d5, [fp] │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + add.w sl, r0, r7 │ │ │ │ │ + add r7, r1 │ │ │ │ │ + vldr d5, [sl] │ │ │ │ │ vadd.f64 d2, d5, d6 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ - vldr d6, [lr] │ │ │ │ │ + vldr d6, [r9] │ │ │ │ │ vstr d5, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d5, [ip] │ │ │ │ │ - mul.w ip, r7, r5 │ │ │ │ │ - add.w lr, r0, ip │ │ │ │ │ - add ip, r1 │ │ │ │ │ - vsub.f64 d9, d6, d5 │ │ │ │ │ - vadd.f64 d5, d5, d6 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + add.w r7, r0, r6 │ │ │ │ │ + add r6, r1 │ │ │ │ │ add.w r0, r0, #8 │ │ │ │ │ add.w r1, r1, #8 │ │ │ │ │ - vldr d6, [lr] │ │ │ │ │ - add lr, r6 │ │ │ │ │ + vsub.f64 d9, d6, d5 │ │ │ │ │ + vadd.f64 d5, d5, d6 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + add r7, r8 │ │ │ │ │ + vldr d3, [r7] │ │ │ │ │ vstr d9, [sp] │ │ │ │ │ - vldr d3, [lr] │ │ │ │ │ - vldr d9, [ip] │ │ │ │ │ - add ip, r6 │ │ │ │ │ - mul.w r6, r9, r4 │ │ │ │ │ + vldr d9, [r6] │ │ │ │ │ + add r6, r8 │ │ │ │ │ vadd.f64 d1, d3, d6 │ │ │ │ │ vsub.f64 d3, d3, d6 │ │ │ │ │ - vstr d3, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d3, [ip] │ │ │ │ │ - add.w ip, r2, r6 │ │ │ │ │ vstr d1, [sp, #32] │ │ │ │ │ + vstr d3, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d3, [r6] │ │ │ │ │ + add.w r6, r4, r4, lsl #2 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + add.w r7, r2, r6 │ │ │ │ │ add r6, r3 │ │ │ │ │ vsub.f64 d6, d9, d3 │ │ │ │ │ vadd.f64 d9, d3, d9 │ │ │ │ │ vmov.f64 d10, d6 │ │ │ │ │ vadd.f64 d6, d13, d4 │ │ │ │ │ vstr d9, [sp, #16] │ │ │ │ │ - vadd.f64 d6, d6, d2 │ │ │ │ │ vmul.f64 d3, d10, d0 │ │ │ │ │ vstr d10, [sp, #24] │ │ │ │ │ vmov.f64 d10, d4 │ │ │ │ │ + vadd.f64 d6, d6, d2 │ │ │ │ │ vmla.f64 d10, d1, d14 │ │ │ │ │ vadd.f64 d6, d6, d1 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ vldr d6, [sp, #8] │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d9 │ │ │ │ │ @@ -110,345 +115,355 @@ │ │ │ │ │ vmla.f64 d6, d13, d12 │ │ │ │ │ vmls.f64 d3, d9, d15 │ │ │ │ │ vsub.f64 d6, d10, d6 │ │ │ │ │ vmov.f64 d10, d7 │ │ │ │ │ vsub.f64 d1, d6, d3 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ vldr d3, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d1, [ip] │ │ │ │ │ - mov.w ip, r4, lsl #4 │ │ │ │ │ - add.w lr, r2, ip │ │ │ │ │ + vstr d1, [r7] │ │ │ │ │ + mov.w r7, r4, lsl #4 │ │ │ │ │ vmul.f64 d3, d3, d0 │ │ │ │ │ - add ip, r3 │ │ │ │ │ - vstr d6, [lr] │ │ │ │ │ + add.w r8, r2, r7 │ │ │ │ │ + add r7, r3 │ │ │ │ │ + vstr d6, [r8] │ │ │ │ │ vldr d6, [sp, #56] @ 0x38 │ │ │ │ │ vldr d1, [sp, #40] @ 0x28 │ │ │ │ │ vnmls.f64 d3, d6, d8 │ │ │ │ │ vldr d6, [sp, #16] │ │ │ │ │ + vmls.f64 d3, d1, d15 │ │ │ │ │ vmla.f64 d10, d6, d14 │ │ │ │ │ vmul.f64 d6, d5, d11 │ │ │ │ │ - vmls.f64 d3, d1, d15 │ │ │ │ │ vmov.f64 d1, d10 │ │ │ │ │ vldr d10, [sp, #8] │ │ │ │ │ vmla.f64 d6, d10, d12 │ │ │ │ │ vldr d10, [sp, #64] @ 0x40 │ │ │ │ │ vsub.f64 d6, d1, d6 │ │ │ │ │ vadd.f64 d1, d6, d3 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ vldr d3, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d1, [ip] │ │ │ │ │ + vstr d1, [r7] │ │ │ │ │ vmul.f64 d3, d3, d0 │ │ │ │ │ vstr d6, [r6] │ │ │ │ │ - vmla.f64 d3, d9, d8 │ │ │ │ │ + add.w r6, r4, r4, lsl #1 │ │ │ │ │ + vldr d1, [sp, #24] │ │ │ │ │ + mov.w r7, r6, lsl #4 │ │ │ │ │ vldr d6, [sp, #32] │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + vmla.f64 d3, d9, d8 │ │ │ │ │ vmov.f64 d9, d4 │ │ │ │ │ - vmla.f64 d9, d13, d14 │ │ │ │ │ - vldr d1, [sp, #24] │ │ │ │ │ - mul.w r6, sl, r4 │ │ │ │ │ + add.w r8, r2, r7 │ │ │ │ │ + add r7, r3 │ │ │ │ │ vmla.f64 d4, d2, d14 │ │ │ │ │ + vmla.f64 d9, d13, d14 │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ - vmla.f64 d6, d2, d12 │ │ │ │ │ vmla.f64 d3, d1, d15 │ │ │ │ │ - add.w ip, r2, r6 │ │ │ │ │ - add r6, r3 │ │ │ │ │ + vmla.f64 d6, d2, d12 │ │ │ │ │ vsub.f64 d6, d9, d6 │ │ │ │ │ vmov.f64 d9, d7 │ │ │ │ │ vmla.f64 d7, d5, d14 │ │ │ │ │ vsub.f64 d1, d6, d3 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ vldr d3, [sp, #56] @ 0x38 │ │ │ │ │ - vstr d1, [ip] │ │ │ │ │ + vstr d1, [r8] │ │ │ │ │ vmul.f64 d3, d3, d0 │ │ │ │ │ + mov.w r8, r4, lsl #3 │ │ │ │ │ vldr d1, [sp, #40] @ 0x28 │ │ │ │ │ - mov.w ip, r4, lsl #3 │ │ │ │ │ - add.w lr, r2, ip │ │ │ │ │ - add ip, r3 │ │ │ │ │ + add.w r9, r2, r8 │ │ │ │ │ + add r8, r3 │ │ │ │ │ + vstr d6, [r9] │ │ │ │ │ vmla.f64 d3, d1, d8 │ │ │ │ │ vldr d1, [sp, #8] │ │ │ │ │ - vstr d6, [lr] │ │ │ │ │ - vmla.f64 d9, d1, d14 │ │ │ │ │ vmla.f64 d3, d10, d15 │ │ │ │ │ + vmla.f64 d9, d1, d14 │ │ │ │ │ vmov.f64 d1, d9 │ │ │ │ │ vldr d9, [sp, #16] │ │ │ │ │ vmul.f64 d6, d9, d11 │ │ │ │ │ vmul.f64 d9, d9, d12 │ │ │ │ │ vmla.f64 d6, d5, d12 │ │ │ │ │ vldr d5, [sp, #8] │ │ │ │ │ vmla.f64 d9, d5, d11 │ │ │ │ │ vsub.f64 d6, d1, d6 │ │ │ │ │ - vsub.f64 d7, d7, d9 │ │ │ │ │ vadd.f64 d1, d6, d3 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ vldr d3, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d1, [ip] │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ + vsub.f64 d7, d7, d9 │ │ │ │ │ + vstr d1, [r8] │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ vmul.f64 d6, d3, d15 │ │ │ │ │ + mov.w r7, r4, lsl #5 │ │ │ │ │ vldr d3, [sp, #24] │ │ │ │ │ - mov.w r6, r4, lsl #5 │ │ │ │ │ + eor.w r4, r4, lr │ │ │ │ │ + add.w r8, r2, r7 │ │ │ │ │ + add r7, r3 │ │ │ │ │ vldr d1, [sp, #32] │ │ │ │ │ - add.w ip, r2, r6 │ │ │ │ │ - add r6, r3 │ │ │ │ │ vmla.f64 d6, d3, d8 │ │ │ │ │ vldr d3, [sp] │ │ │ │ │ vmls.f64 d6, d3, d0 │ │ │ │ │ vmul.f64 d3, d1, d12 │ │ │ │ │ - vmla.f64 d3, d13, d11 │ │ │ │ │ vldr d1, [sp, #40] @ 0x28 │ │ │ │ │ + vmla.f64 d3, d13, d11 │ │ │ │ │ vsub.f64 d4, d4, d3 │ │ │ │ │ vsub.f64 d3, d4, d6 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ - vstr d3, [ip] │ │ │ │ │ - mul.w ip, r7, r4 │ │ │ │ │ + vstr d3, [r8] │ │ │ │ │ + add.w r8, r2, r6 │ │ │ │ │ + add r6, r3 │ │ │ │ │ vldr d3, [sp, #56] @ 0x38 │ │ │ │ │ - add.w lr, r2, ip │ │ │ │ │ - add ip, r3 │ │ │ │ │ add.w r2, r2, #8 │ │ │ │ │ add.w r3, r3, #8 │ │ │ │ │ + vstr d4, [r8] │ │ │ │ │ vmul.f64 d6, d3, d15 │ │ │ │ │ vmla.f64 d6, d10, d8 │ │ │ │ │ - vstr d4, [lr] │ │ │ │ │ vmls.f64 d6, d1, d0 │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vstr d5, [ip] │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ - ldr r6, [sp, #76] @ 0x4c │ │ │ │ │ - eor.w r5, r5, r6 │ │ │ │ │ - eor.w r4, r4, r6 │ │ │ │ │ - bne.w 5a │ │ │ │ │ - add sp, #84 @ 0x54 │ │ │ │ │ + vstr d5, [r6] │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ + bne.w 62 │ │ │ │ │ + add sp, #76 @ 0x4c │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop.w │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ .word 0x0558e969 │ │ │ │ │ .word 0x3fef329c │ │ │ │ │ .word 0x7505de4b │ │ │ │ │ .word 0x3fe904c3 │ │ │ │ │ .word 0x4d71abc1 │ │ │ │ │ .word 0x3fdbc4c0 │ │ │ │ │ .word 0xe28bedd1 │ │ │ │ │ .word 0x3fe3f3a0 │ │ │ │ │ .word 0xe3024582 │ │ │ │ │ .word 0x3fcc7b90 │ │ │ │ │ .word 0xa9cb5c71 │ │ │ │ │ .word 0x3fecd4bc │ │ │ │ │ - .word 0x00000346 │ │ │ │ │ + .word 0x00000356 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ - mov.w fp, #48 @ 0x30 │ │ │ │ │ - mov.w sl, #24 │ │ │ │ │ - vldr d8, [pc, #708] @ 630 │ │ │ │ │ - vldr d0, [pc, #712] @ 638 │ │ │ │ │ - mov r9, r7 │ │ │ │ │ - vldr d15, [pc, #712] @ 640 │ │ │ │ │ - lsls r6, r6, #3 │ │ │ │ │ - vldr d14, [pc, #716] @ 648 │ │ │ │ │ - vldr d12, [pc, #720] @ 650 │ │ │ │ │ - vldr d11, [pc, #724] @ 658 │ │ │ │ │ - str r6, [sp, #56] @ 0x38 │ │ │ │ │ - lsls r7, r5, #3 │ │ │ │ │ - movs r6, #40 @ 0x28 │ │ │ │ │ - add.w ip, r0, r7 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ - subs.w r8, r8, #1 │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ - mul.w ip, fp, r5 │ │ │ │ │ - vstr d3, [sp] │ │ │ │ │ - add.w lr, r0, ip │ │ │ │ │ - add ip, r1 │ │ │ │ │ - vldr d5, [lr] │ │ │ │ │ - add.w lr, r1, r7 │ │ │ │ │ - vadd.f64 d9, d7, d5 │ │ │ │ │ - vsub.f64 d7, d5, d7 │ │ │ │ │ - vldr d5, [lr] │ │ │ │ │ - mov.w lr, r5, lsl #4 │ │ │ │ │ - vstr d7, [sp, #16] │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ - add.w ip, r0, lr │ │ │ │ │ - add lr, r1 │ │ │ │ │ - vadd.f64 d1, d5, d7 │ │ │ │ │ - vsub.f64 d4, d5, d7 │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ - mul.w ip, r6, r5 │ │ │ │ │ - add.w r6, r0, ip │ │ │ │ │ - add ip, r1 │ │ │ │ │ - vstr d4, [sp, #24] │ │ │ │ │ - vstr d1, [sp, #8] │ │ │ │ │ - vldr d5, [r6] │ │ │ │ │ - mov.w r6, #40 @ 0x28 │ │ │ │ │ - vldr d13, [ip] │ │ │ │ │ - mul.w ip, sl, r5 │ │ │ │ │ - vadd.f64 d2, d7, d5 │ │ │ │ │ - vsub.f64 d5, d5, d7 │ │ │ │ │ - vstr d5, [sp, #32] │ │ │ │ │ - vldr d5, [lr] │ │ │ │ │ - add.w lr, r0, ip │ │ │ │ │ - add ip, r1 │ │ │ │ │ - add r0, r9 │ │ │ │ │ - add r1, r9 │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ - add lr, r7 │ │ │ │ │ - vsub.f64 d10, d5, d13 │ │ │ │ │ - vadd.f64 d13, d5, d13 │ │ │ │ │ - vldr d4, [ip] │ │ │ │ │ - add ip, r7 │ │ │ │ │ - vldr d5, [lr] │ │ │ │ │ - mul.w r7, r6, r4 │ │ │ │ │ - vstr d10, [sp, #40] @ 0x28 │ │ │ │ │ - vadd.f64 d10, d7, d5 │ │ │ │ │ - vsub.f64 d7, d5, d7 │ │ │ │ │ - vldr d5, [ip] │ │ │ │ │ - add.w ip, r2, r7 │ │ │ │ │ - add r7, r3 │ │ │ │ │ - vstr d7, [sp, #48] @ 0x30 │ │ │ │ │ - vsub.f64 d7, d4, d5 │ │ │ │ │ + vldr d0, [pc, #756] @ 680 │ │ │ │ │ + mov.w sl, r6, lsl #3 │ │ │ │ │ + mov.w fp, r7, lsl #3 │ │ │ │ │ + vldr d15, [pc, #752] @ 688 │ │ │ │ │ + vldr d14, [pc, #756] @ 690 │ │ │ │ │ + vldr d12, [pc, #760] @ 698 │ │ │ │ │ + vldr d11, [pc, #764] @ 6a0 │ │ │ │ │ + mov.w r8, r5, lsl #3 │ │ │ │ │ + subs.w ip, ip, #1 │ │ │ │ │ + vldr d3, [r0] │ │ │ │ │ + add.w r6, r0, r8 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + add.w r6, r5, r5, lsl #1 │ │ │ │ │ + mov.w r7, r6, lsl #4 │ │ │ │ │ + str r6, [sp, #40] @ 0x28 │ │ │ │ │ + add.w r9, r0, r7 │ │ │ │ │ + add r7, r1 │ │ │ │ │ + vldr d4, [r9] │ │ │ │ │ + add.w r9, r1, r8 │ │ │ │ │ + vadd.f64 d5, d6, d4 │ │ │ │ │ + vsub.f64 d6, d4, d6 │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + vstr d5, [sp] │ │ │ │ │ + vstr d6, [sp, #16] │ │ │ │ │ + vldr d6, [r9] │ │ │ │ │ + mov.w r9, r5, lsl #4 │ │ │ │ │ + add.w r7, r0, r9 │ │ │ │ │ + add r9, r1 │ │ │ │ │ + vsub.f64 d8, d6, d4 │ │ │ │ │ + vadd.f64 d6, d6, d4 │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + add.w r7, r5, r5, lsl #2 │ │ │ │ │ + eor.w r5, r5, lr │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + add.w r6, r0, r7 │ │ │ │ │ + add r7, r1 │ │ │ │ │ + vstr d6, [sp, #8] │ │ │ │ │ + vldr d2, [r6] │ │ │ │ │ + vstr d8, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r6, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d9, [r7] │ │ │ │ │ + vadd.f64 d1, d4, d2 │ │ │ │ │ + vsub.f64 d2, d2, d4 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + add.w r7, r0, r6 │ │ │ │ │ + add r6, r1 │ │ │ │ │ + add r0, sl │ │ │ │ │ + add r1, sl │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + add r7, r8 │ │ │ │ │ + vstr d2, [sp, #24] │ │ │ │ │ + vldr d2, [r9] │ │ │ │ │ + vstr d1, [sp, #40] @ 0x28 │ │ │ │ │ + vadd.f64 d5, d2, d9 │ │ │ │ │ + vsub.f64 d10, d2, d9 │ │ │ │ │ + vldr d2, [r7] │ │ │ │ │ + vadd.f64 d13, d4, d2 │ │ │ │ │ + vsub.f64 d9, d2, d4 │ │ │ │ │ + vldr d2, [r6] │ │ │ │ │ + add r6, r8 │ │ │ │ │ + vstr d10, [sp, #32] │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ + add.w r6, r4, r4, lsl #2 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + vmov.f64 d6, d9 │ │ │ │ │ + add.w r7, r2, r6 │ │ │ │ │ + add r6, r3 │ │ │ │ │ + vadd.f64 d9, d2, d4 │ │ │ │ │ + vsub.f64 d10, d2, d4 │ │ │ │ │ + vldr d4, [sp] │ │ │ │ │ + vmov.f64 d2, d8 │ │ │ │ │ + vldr d8, [sp, #32] │ │ │ │ │ + vadd.f64 d4, d3, d4 │ │ │ │ │ + vadd.f64 d4, d4, d1 │ │ │ │ │ + vldr d1, [pc, #520] @ 6a8 │ │ │ │ │ + vadd.f64 d4, d4, d13 │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ + vldr d4, [sp, #8] │ │ │ │ │ + vadd.f64 d4, d7, d4 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ - vadd.f64 d5, d6, d9 │ │ │ │ │ - vadd.f64 d5, d5, d2 │ │ │ │ │ - vadd.f64 d5, d5, d10 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - vadd.f64 d5, d3, d1 │ │ │ │ │ - vldr d3, [sp, #24] │ │ │ │ │ - vldr d1, [sp, #40] @ 0x28 │ │ │ │ │ - vadd.f64 d5, d5, d13 │ │ │ │ │ - vadd.f64 d5, d5, d4 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - vmul.f64 d5, d7, d0 │ │ │ │ │ - vnmls.f64 d5, d3, d8 │ │ │ │ │ - vmul.f64 d3, d9, d11 │ │ │ │ │ - vmla.f64 d3, d2, d12 │ │ │ │ │ - vmls.f64 d5, d1, d15 │ │ │ │ │ - vmov.f64 d1, d6 │ │ │ │ │ - vmla.f64 d1, d10, d14 │ │ │ │ │ - vsub.f64 d3, d1, d3 │ │ │ │ │ - vsub.f64 d1, d3, d5 │ │ │ │ │ - vadd.f64 d5, d5, d3 │ │ │ │ │ - vstr d1, [ip] │ │ │ │ │ - mov.w ip, r4, lsl #4 │ │ │ │ │ - add.w lr, r2, ip │ │ │ │ │ - vldr d1, [sp, #16] │ │ │ │ │ - add ip, r3 │ │ │ │ │ - vstr d5, [lr] │ │ │ │ │ - vldr d5, [sp, #48] @ 0x30 │ │ │ │ │ - vmul.f64 d3, d5, d0 │ │ │ │ │ - vldr d5, [sp, #32] │ │ │ │ │ - vnmls.f64 d3, d1, d8 │ │ │ │ │ - vldr d1, [sp] │ │ │ │ │ - vmla.f64 d1, d4, d14 │ │ │ │ │ - vmls.f64 d3, d5, d15 │ │ │ │ │ - vldr d5, [sp, #8] │ │ │ │ │ - vmul.f64 d5, d5, d11 │ │ │ │ │ - vmla.f64 d5, d13, d12 │ │ │ │ │ - vsub.f64 d5, d1, d5 │ │ │ │ │ - vadd.f64 d1, d3, d5 │ │ │ │ │ - vsub.f64 d5, d5, d3 │ │ │ │ │ - vstr d1, [ip] │ │ │ │ │ - vldr d1, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d3, [sp, #24] │ │ │ │ │ - vstr d5, [r7] │ │ │ │ │ - mul.w r7, fp, r4 │ │ │ │ │ - vmul.f64 d5, d1, d8 │ │ │ │ │ - vmov.f64 d1, d6 │ │ │ │ │ - vmla.f64 d5, d3, d0 │ │ │ │ │ - vmul.f64 d3, d2, d11 │ │ │ │ │ - vmla.f64 d1, d9, d14 │ │ │ │ │ - vmla.f64 d3, d10, d12 │ │ │ │ │ - add.w ip, r2, r7 │ │ │ │ │ - vmul.f64 d9, d9, d12 │ │ │ │ │ - vmla.f64 d6, d2, d14 │ │ │ │ │ - vmla.f64 d9, d10, d11 │ │ │ │ │ - vmla.f64 d5, d7, d15 │ │ │ │ │ - vmul.f64 d7, d7, d8 │ │ │ │ │ + vadd.f64 d4, d4, d9 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + vmul.f64 d4, d10, d0 │ │ │ │ │ + vnmls.f64 d4, d2, d1 │ │ │ │ │ + vldr d2, [sp] │ │ │ │ │ + vmov.f64 d1, d3 │ │ │ │ │ + vmla.f64 d1, d13, d14 │ │ │ │ │ + vmls.f64 d4, d8, d15 │ │ │ │ │ + vldr d8, [sp, #40] @ 0x28 │ │ │ │ │ + vmul.f64 d2, d2, d11 │ │ │ │ │ + vmla.f64 d2, d8, d12 │ │ │ │ │ + vsub.f64 d2, d1, d2 │ │ │ │ │ + vsub.f64 d1, d2, d4 │ │ │ │ │ + vadd.f64 d4, d4, d2 │ │ │ │ │ + vmul.f64 d2, d6, d0 │ │ │ │ │ + vstr d1, [r7] │ │ │ │ │ + mov.w r7, r4, lsl #4 │ │ │ │ │ + vldr d1, [pc, #428] @ 6a8 │ │ │ │ │ + add.w r8, r2, r7 │ │ │ │ │ add r7, r3 │ │ │ │ │ - ldr r6, [sp, #56] @ 0x38 │ │ │ │ │ - vsub.f64 d3, d1, d3 │ │ │ │ │ - vsub.f64 d6, d6, d9 │ │ │ │ │ - vsub.f64 d1, d3, d5 │ │ │ │ │ - vadd.f64 d5, d5, d3 │ │ │ │ │ - vstr d1, [ip] │ │ │ │ │ - mov.w ip, r4, lsl #3 │ │ │ │ │ - add.w lr, r2, ip │ │ │ │ │ - vldr d1, [sp, #16] │ │ │ │ │ - add ip, r3 │ │ │ │ │ - vstr d5, [lr] │ │ │ │ │ - vldr d5, [sp, #32] │ │ │ │ │ - vmul.f64 d3, d5, d8 │ │ │ │ │ + vstr d4, [r8] │ │ │ │ │ + vldr d4, [sp, #16] │ │ │ │ │ + vstr d5, [sp, #40] @ 0x28 │ │ │ │ │ + vnmls.f64 d2, d4, d1 │ │ │ │ │ + vldr d4, [sp, #8] │ │ │ │ │ + vldr d1, [sp, #24] │ │ │ │ │ + vmul.f64 d4, d4, d11 │ │ │ │ │ + vmls.f64 d2, d1, d15 │ │ │ │ │ + vmov.f64 d1, d7 │ │ │ │ │ + vmla.f64 d4, d5, d12 │ │ │ │ │ vldr d5, [sp, #48] @ 0x30 │ │ │ │ │ - vmla.f64 d3, d1, d0 │ │ │ │ │ - vldr d1, [sp] │ │ │ │ │ - vmla.f64 d3, d5, d15 │ │ │ │ │ - vldr d5, [sp, #8] │ │ │ │ │ - vmla.f64 d1, d5, d14 │ │ │ │ │ - vmul.f64 d5, d13, d11 │ │ │ │ │ - vmla.f64 d5, d4, d12 │ │ │ │ │ - vsub.f64 d5, d1, d5 │ │ │ │ │ - vadd.f64 d1, d3, d5 │ │ │ │ │ - vsub.f64 d5, d5, d3 │ │ │ │ │ - vldr d3, [sp, #24] │ │ │ │ │ - vmla.f64 d7, d3, d15 │ │ │ │ │ - vldr d3, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d1, [ip] │ │ │ │ │ - vstr d5, [r7] │ │ │ │ │ - mov.w r7, r4, lsl #5 │ │ │ │ │ - add.w ip, r2, r7 │ │ │ │ │ + vmla.f64 d1, d9, d14 │ │ │ │ │ + vsub.f64 d4, d1, d4 │ │ │ │ │ + vadd.f64 d1, d2, d4 │ │ │ │ │ + vsub.f64 d4, d4, d2 │ │ │ │ │ + vldr d2, [sp] │ │ │ │ │ + vstr d1, [r7] │ │ │ │ │ + vldr d1, [pc, #348] @ 6a8 │ │ │ │ │ + vstr d4, [r6] │ │ │ │ │ + add.w r6, r4, r4, lsl #1 │ │ │ │ │ + vldr d4, [sp, #32] │ │ │ │ │ + mov.w r7, r6, lsl #4 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + add.w r8, r2, r7 │ │ │ │ │ add r7, r3 │ │ │ │ │ - vmls.f64 d7, d3, d0 │ │ │ │ │ - vldr d3, [sp, #16] │ │ │ │ │ - vsub.f64 d5, d6, d7 │ │ │ │ │ - vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d5, [ip] │ │ │ │ │ - mul.w ip, sl, r4 │ │ │ │ │ - vldr d5, [sp, #8] │ │ │ │ │ - vmul.f64 d6, d6, d8 │ │ │ │ │ - add.w lr, r2, ip │ │ │ │ │ - vmla.f64 d6, d3, d15 │ │ │ │ │ - vldr d3, [sp, #32] │ │ │ │ │ - add ip, r3 │ │ │ │ │ + vmul.f64 d4, d4, d1 │ │ │ │ │ + vmov.f64 d1, d3 │ │ │ │ │ + vmla.f64 d3, d8, d14 │ │ │ │ │ + vmla.f64 d1, d2, d14 │ │ │ │ │ + vmul.f64 d2, d8, d11 │ │ │ │ │ + vmla.f64 d4, d5, d0 │ │ │ │ │ + vmla.f64 d2, d13, d12 │ │ │ │ │ + vmla.f64 d4, d10, d15 │ │ │ │ │ + vsub.f64 d2, d1, d2 │ │ │ │ │ + vsub.f64 d1, d2, d4 │ │ │ │ │ + vadd.f64 d4, d4, d2 │ │ │ │ │ + vstr d1, [r8] │ │ │ │ │ + mov.w r8, r4, lsl #3 │ │ │ │ │ + vldr d1, [sp, #24] │ │ │ │ │ + add.w r9, r2, r8 │ │ │ │ │ + add r8, r3 │ │ │ │ │ + vstr d4, [r9] │ │ │ │ │ + vldr d4, [pc, #252] @ 6a8 │ │ │ │ │ + vmul.f64 d2, d1, d4 │ │ │ │ │ + vldr d4, [sp, #16] │ │ │ │ │ + vmov.f64 d1, d7 │ │ │ │ │ + vmla.f64 d2, d4, d0 │ │ │ │ │ + vldr d4, [sp, #8] │ │ │ │ │ + vmla.f64 d2, d6, d15 │ │ │ │ │ + vmla.f64 d1, d4, d14 │ │ │ │ │ + vldr d4, [sp, #40] @ 0x28 │ │ │ │ │ + vmul.f64 d4, d4, d11 │ │ │ │ │ + vmla.f64 d4, d9, d12 │ │ │ │ │ + vsub.f64 d4, d1, d4 │ │ │ │ │ + vadd.f64 d1, d2, d4 │ │ │ │ │ + vsub.f64 d4, d4, d2 │ │ │ │ │ + vmov.f64 d2, d5 │ │ │ │ │ + vldr d5, [sp] │ │ │ │ │ + vstr d1, [r8] │ │ │ │ │ + vldr d1, [pc, #184] @ 6a8 │ │ │ │ │ vmul.f64 d5, d5, d12 │ │ │ │ │ - add r2, r6 │ │ │ │ │ - vstr d7, [lr] │ │ │ │ │ - vmla.f64 d5, d4, d11 │ │ │ │ │ - vldr d7, [sp] │ │ │ │ │ - vmls.f64 d6, d3, d0 │ │ │ │ │ - vmla.f64 d7, d13, d14 │ │ │ │ │ - add r3, r6 │ │ │ │ │ - vsub.f64 d7, d7, d5 │ │ │ │ │ - vadd.f64 d5, d6, d7 │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ + mov.w r7, r4, lsl #5 │ │ │ │ │ + eor.w r4, r4, lr │ │ │ │ │ + add.w r8, r2, r7 │ │ │ │ │ + vmla.f64 d5, d13, d11 │ │ │ │ │ + vmul.f64 d10, d10, d1 │ │ │ │ │ + vmul.f64 d13, d6, d1 │ │ │ │ │ + vldr d6, [sp, #8] │ │ │ │ │ + vldr d1, [sp, #24] │ │ │ │ │ + vmla.f64 d10, d2, d15 │ │ │ │ │ + vldr d2, [sp, #32] │ │ │ │ │ + vmul.f64 d6, d6, d12 │ │ │ │ │ + vsub.f64 d5, d3, d5 │ │ │ │ │ + vmls.f64 d10, d2, d0 │ │ │ │ │ + vmla.f64 d6, d9, d11 │ │ │ │ │ + vsub.f64 d4, d5, d10 │ │ │ │ │ + vadd.f64 d10, d10, d5 │ │ │ │ │ + vldr d5, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d4, [r8] │ │ │ │ │ + vmla.f64 d7, d5, d14 │ │ │ │ │ + add.w r8, r2, r6 │ │ │ │ │ + vldr d4, [sp, #16] │ │ │ │ │ + add r6, r3 │ │ │ │ │ + add r2, fp │ │ │ │ │ + vstr d10, [r8] │ │ │ │ │ + vmla.f64 d13, d4, d15 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vstr d5, [ip] │ │ │ │ │ - vstr d7, [r7] │ │ │ │ │ - ldr r7, [sp, #76] @ 0x4c │ │ │ │ │ - eor.w r5, r5, r7 │ │ │ │ │ - eor.w r4, r4, r7 │ │ │ │ │ - bne.w 388 │ │ │ │ │ - add sp, #84 @ 0x54 │ │ │ │ │ - vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ - .word 0x0558e969 │ │ │ │ │ - .word 0x3fef329c │ │ │ │ │ + vmls.f64 d13, d1, d0 │ │ │ │ │ + vadd.f64 d6, d13, d7 │ │ │ │ │ + vsub.f64 d7, d7, d13 │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ + add.w r6, r3, r7 │ │ │ │ │ + add r3, fp │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ + bne.w 3a4 │ │ │ │ │ + b.n 332 │ │ │ │ │ + nop.w │ │ │ │ │ .word 0x7505de4b │ │ │ │ │ .word 0x3fe904c3 │ │ │ │ │ .word 0x4d71abc1 │ │ │ │ │ .word 0x3fdbc4c0 │ │ │ │ │ .word 0xe28bedd1 │ │ │ │ │ .word 0x3fe3f3a0 │ │ │ │ │ .word 0xa9cb5c71 │ │ │ │ │ .word 0x3fecd4bc │ │ │ │ │ .word 0xe3024582 │ │ │ │ │ .word 0x3fcc7b90 │ │ │ │ │ + .word 0x0558e969 │ │ │ │ │ + .word 0x3fef329c │ │ │ │ │ │ │ │ │ │ -00000660 : │ │ │ │ │ +000006b0 : │ │ │ │ │ fftw_codelet_n1_7(): │ │ │ │ │ - ldr r2, [pc, #8] @ (66c ) │ │ │ │ │ - ldr r1, [pc, #12] @ (670 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (6bc ) │ │ │ │ │ + ldr r1, [pc, #12] @ (6c0 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── n1_8.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2012 (bytes into file) │ │ │ │ │ + Start of section headers: 2044 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x7dc: │ │ │ │ │ +There are 13 section headers, starting at offset 0x7fc: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0004ec 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000734 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000520 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000520 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000520 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 000525 000040 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 00075c 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 000565 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000565 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 000598 000120 10 11 13 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 0006b8 00007a 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 00076c 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00050c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000754 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000540 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000540 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000540 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 000545 000040 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 00077c 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 000585 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000585 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 0005b8 000120 10 11 13 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 0006d8 00007a 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 00078c 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,21 +1,21 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 18 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1240 FUNC LOCAL DEFAULT 1 n1_8 │ │ │ │ │ + 1: 00000001 1272 FUNC LOCAL DEFAULT 1 n1_8 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000278 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000288 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000004d0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 000004d8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 000004e4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000002a0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 000002b0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000004f0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 000004f8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00000504 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 64 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 15: 000004d9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_8 │ │ │ │ │ + 15: 000004f9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_8 │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_register │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_n_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x734 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x754 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000280 00000d19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000284 00000e1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000004e4 00000a03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000004e8 00000103 R_ARM_REL32 00000001 n1_8 │ │ │ │ │ -000004e0 0000101e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ +000002a8 00000d19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +000002ac 00000e1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000504 00000a03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000508 00000103 R_ARM_REL32 00000001 n1_8 │ │ │ │ │ +00000500 0000101e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x75c contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x77c contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00001102 R_ARM_ABS32 00000000 fftw_dft_n_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,353 +1,360 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ n1_8(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - ldr.w ip, [pc, #632] @ 280 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub sp, #36 @ 0x24 │ │ │ │ │ - add ip, pc │ │ │ │ │ - ldrd fp, r7, [sp, #144] @ 0x90 │ │ │ │ │ - ldrd r5, r4, [sp, #136] @ 0x88 │ │ │ │ │ - cmp.w fp, #0 │ │ │ │ │ - ble.w 26a │ │ │ │ │ - ldr.w lr, [pc, #608] @ 284 │ │ │ │ │ - ldr.w r6, [ip, lr] │ │ │ │ │ - ldr.w sl, [r6] │ │ │ │ │ - ldr r6, [sp, #152] @ 0x98 │ │ │ │ │ - cmp r7, #1 │ │ │ │ │ + sub sp, #44 @ 0x2c │ │ │ │ │ + ldr.w lr, [pc, #652] @ 2a8 │ │ │ │ │ + ldr.w ip, [sp, #152] @ 0x98 │ │ │ │ │ + ldrd r5, r4, [sp, #144] @ 0x90 │ │ │ │ │ + add lr, pc │ │ │ │ │ + ldr r7, [sp, #160] @ 0xa0 │ │ │ │ │ + cmp.w ip, #0 │ │ │ │ │ + ble.w 284 │ │ │ │ │ + ldr.w r8, [pc, #632] @ 2ac │ │ │ │ │ + ldr.w r6, [lr, r8] │ │ │ │ │ + ldr.w lr, [r6] │ │ │ │ │ + ldr r6, [sp, #156] @ 0x9c │ │ │ │ │ + cmp r6, #1 │ │ │ │ │ it eq │ │ │ │ │ - cmpeq r6, #1 │ │ │ │ │ - bne.w 288 │ │ │ │ │ - mov.w r8, #56 @ 0x38 │ │ │ │ │ - movs r7, #24 │ │ │ │ │ - vldr d2, [pc, #568] @ 278 │ │ │ │ │ - mov.w ip, r5, lsl #5 │ │ │ │ │ + cmpeq r7, #1 │ │ │ │ │ + bne.w 2b0 │ │ │ │ │ + vldr d2, [pc, #596] @ 2a0 │ │ │ │ │ + mov.w r7, r5, lsl #5 │ │ │ │ │ + subs.w ip, ip, #1 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ - add.w r6, r0, ip │ │ │ │ │ - subs.w fp, fp, #1 │ │ │ │ │ + add.w r6, r0, r7 │ │ │ │ │ vldr d7, [r6] │ │ │ │ │ - add.w r6, r1, ip │ │ │ │ │ + add.w r6, r1, r7 │ │ │ │ │ vldr d15, [r6] │ │ │ │ │ mov.w r6, r5, lsl #4 │ │ │ │ │ + add.w r8, r0, r6 │ │ │ │ │ + add r6, r1 │ │ │ │ │ vadd.f64 d11, d7, d6 │ │ │ │ │ vsub.f64 d3, d6, d7 │ │ │ │ │ - add.w lr, r0, r6 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ - add r6, r1 │ │ │ │ │ vadd.f64 d4, d15, d6 │ │ │ │ │ vsub.f64 d15, d6, d15 │ │ │ │ │ - vldr d6, [lr] │ │ │ │ │ - add lr, ip │ │ │ │ │ + vldr d6, [r8] │ │ │ │ │ + add r8, r7 │ │ │ │ │ vstr d3, [sp, #24] │ │ │ │ │ - vldr d14, [lr] │ │ │ │ │ - mul.w lr, r8, r5 │ │ │ │ │ + vldr d14, [r8] │ │ │ │ │ vadd.f64 d12, d14, d6 │ │ │ │ │ vsub.f64 d14, d6, d14 │ │ │ │ │ vldr d6, [r6] │ │ │ │ │ - add r6, ip │ │ │ │ │ + add r6, r7 │ │ │ │ │ vldr d7, [r6] │ │ │ │ │ - add.w r6, r0, lr │ │ │ │ │ - add lr, r1 │ │ │ │ │ - vldr d0, [r6] │ │ │ │ │ - mul.w r6, r7, r5 │ │ │ │ │ + mov.w r6, r5, lsl #3 │ │ │ │ │ + sub.w r9, r6, r5 │ │ │ │ │ + mov.w r9, r9, lsl #3 │ │ │ │ │ + add.w r8, r0, r9 │ │ │ │ │ + add r9, r1 │ │ │ │ │ vsub.f64 d1, d6, d7 │ │ │ │ │ - vldr d13, [lr] │ │ │ │ │ - add.w r9, r0, r6 │ │ │ │ │ - add r6, r1 │ │ │ │ │ vadd.f64 d8, d7, d6 │ │ │ │ │ - vldr d3, [r9] │ │ │ │ │ + vldr d0, [r8] │ │ │ │ │ + add.w r8, r5, r5, lsl #1 │ │ │ │ │ + eor.w r5, r5, lr │ │ │ │ │ + mov.w r8, r8, lsl #3 │ │ │ │ │ + vldr d13, [r9] │ │ │ │ │ + add.w sl, r0, r8 │ │ │ │ │ + add r8, r1 │ │ │ │ │ vstr d1, [sp, #16] │ │ │ │ │ - vldr d1, [r6] │ │ │ │ │ - mov.w r6, r5, lsl #3 │ │ │ │ │ - vsub.f64 d7, d0, d3 │ │ │ │ │ - add.w lr, r0, r6 │ │ │ │ │ + vldr d3, [sl] │ │ │ │ │ + vldr d1, [r8] │ │ │ │ │ + add.w r8, r0, r6 │ │ │ │ │ add r6, r1 │ │ │ │ │ - vadd.f64 d3, d3, d0 │ │ │ │ │ - vsub.f64 d6, d13, d1 │ │ │ │ │ - vadd.f64 d13, d1, d13 │ │ │ │ │ add.w r0, r0, #8 │ │ │ │ │ add.w r1, r1, #8 │ │ │ │ │ + vsub.f64 d7, d0, d3 │ │ │ │ │ + vadd.f64 d3, d3, d0 │ │ │ │ │ vldr d0, [r6] │ │ │ │ │ - add r6, ip │ │ │ │ │ - eor.w r5, r5, sl │ │ │ │ │ + add r6, r7 │ │ │ │ │ + vsub.f64 d6, d13, d1 │ │ │ │ │ + vadd.f64 d13, d1, d13 │ │ │ │ │ vadd.f64 d9, d6, d7 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vldr d6, [r6] │ │ │ │ │ vstr d9, [sp] │ │ │ │ │ vsub.f64 d7, d0, d6 │ │ │ │ │ - vldr d9, [lr] │ │ │ │ │ - add lr, ip │ │ │ │ │ - vstr d5, [sp, #8] │ │ │ │ │ vadd.f64 d6, d6, d0 │ │ │ │ │ - vldr d5, [lr] │ │ │ │ │ - mov.w lr, r4, lsl #5 │ │ │ │ │ - add.w r6, r2, lr │ │ │ │ │ + vldr d9, [r8] │ │ │ │ │ + add r8, r7 │ │ │ │ │ + vstr d5, [sp, #8] │ │ │ │ │ + vldr d5, [r8] │ │ │ │ │ + mov.w r8, r4, lsl #5 │ │ │ │ │ + add.w r6, r2, r8 │ │ │ │ │ vsub.f64 d1, d9, d5 │ │ │ │ │ vadd.f64 d5, d5, d9 │ │ │ │ │ vadd.f64 d9, d12, d11 │ │ │ │ │ vsub.f64 d11, d11, d12 │ │ │ │ │ vadd.f64 d0, d7, d1 │ │ │ │ │ vsub.f64 d7, d7, d1 │ │ │ │ │ vadd.f64 d1, d5, d3 │ │ │ │ │ vsub.f64 d5, d3, d5 │ │ │ │ │ vsub.f64 d10, d9, d1 │ │ │ │ │ vadd.f64 d1, d1, d9 │ │ │ │ │ vadd.f64 d9, d8, d4 │ │ │ │ │ vsub.f64 d4, d4, d8 │ │ │ │ │ vldr d8, [sp, #8] │ │ │ │ │ vstr d10, [r6] │ │ │ │ │ - add.w r6, r3, lr │ │ │ │ │ + add.w r6, r3, r8 │ │ │ │ │ vstr d1, [r2] │ │ │ │ │ vadd.f64 d1, d6, d13 │ │ │ │ │ vadd.f64 d3, d4, d5 │ │ │ │ │ - vsub.f64 d4, d4, d5 │ │ │ │ │ vsub.f64 d6, d6, d13 │ │ │ │ │ + vsub.f64 d4, d4, d5 │ │ │ │ │ vsub.f64 d10, d9, d1 │ │ │ │ │ vadd.f64 d1, d1, d9 │ │ │ │ │ vstr d10, [r6] │ │ │ │ │ mov.w r6, r4, lsl #4 │ │ │ │ │ - add.w ip, r3, r6 │ │ │ │ │ vstr d1, [r3] │ │ │ │ │ + add.w r7, r3, r6 │ │ │ │ │ add r6, r2 │ │ │ │ │ vldr d1, [sp, #16] │ │ │ │ │ - vstr d3, [ip] │ │ │ │ │ - add ip, lr │ │ │ │ │ + vstr d3, [r7] │ │ │ │ │ + add r7, r8 │ │ │ │ │ vldr d3, [sp, #24] │ │ │ │ │ - vstr d4, [ip] │ │ │ │ │ - mov.w ip, #48 @ 0x30 │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ vsub.f64 d4, d11, d6 │ │ │ │ │ vadd.f64 d6, d6, d11 │ │ │ │ │ + add.w r7, r4, r4, lsl #1 │ │ │ │ │ + add.w r8, r2, r7, lsl #4 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ vadd.f64 d5, d1, d3 │ │ │ │ │ - mla ip, ip, r4, r2 │ │ │ │ │ - vstr d4, [ip] │ │ │ │ │ + vstr d4, [r8] │ │ │ │ │ + add.w r8, r4, r4, lsl #2 │ │ │ │ │ vstr d6, [r6] │ │ │ │ │ vadd.f64 d6, d0, d8 │ │ │ │ │ - mov.w r6, #40 @ 0x28 │ │ │ │ │ + mov.w r8, r8, lsl #3 │ │ │ │ │ + add.w r6, r2, r8 │ │ │ │ │ + add r8, r3 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ - mul.w ip, r6, r4 │ │ │ │ │ - add.w r6, r2, ip │ │ │ │ │ - add ip, r3 │ │ │ │ │ vsub.f64 d4, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vsub.f64 d5, d15, d14 │ │ │ │ │ vadd.f64 d14, d14, d15 │ │ │ │ │ vstr d4, [r6] │ │ │ │ │ mov.w r6, r4, lsl #3 │ │ │ │ │ - add.w lr, r2, r6 │ │ │ │ │ - add r6, r3 │ │ │ │ │ - vstr d6, [lr] │ │ │ │ │ + add.w r9, r2, r6 │ │ │ │ │ + vstr d6, [r9] │ │ │ │ │ vldr d9, [sp] │ │ │ │ │ vadd.f64 d6, d7, d9 │ │ │ │ │ vsub.f64 d7, d7, d9 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ vsub.f64 d4, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vstr d4, [ip] │ │ │ │ │ - mul.w ip, r8, r4 │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ + vstr d4, [r8] │ │ │ │ │ + add.w r8, r3, r6 │ │ │ │ │ + sub.w r6, r6, r4 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + eor.w r4, r4, lr │ │ │ │ │ + vstr d6, [r8] │ │ │ │ │ vsub.f64 d6, d8, d0 │ │ │ │ │ - add.w r6, r3, ip │ │ │ │ │ - add ip, r2 │ │ │ │ │ + add.w r8, r3, r6 │ │ │ │ │ + add r6, r2 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ vsub.f64 d5, d14, d6 │ │ │ │ │ vadd.f64 d6, d6, d14 │ │ │ │ │ - vstr d5, [r6] │ │ │ │ │ - mul.w r6, r7, r4 │ │ │ │ │ - eor.w r4, r4, sl │ │ │ │ │ - add.w lr, r3, r6 │ │ │ │ │ - add r6, r2 │ │ │ │ │ + vstr d5, [r8] │ │ │ │ │ + add.w r8, r3, r7 │ │ │ │ │ + add r7, r2 │ │ │ │ │ add.w r3, r3, #8 │ │ │ │ │ add.w r2, r2, #8 │ │ │ │ │ - vstr d6, [lr] │ │ │ │ │ + vstr d6, [r8] │ │ │ │ │ vsub.f64 d6, d3, d1 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d5, [ip] │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ - bne.w 42 │ │ │ │ │ - add sp, #36 @ 0x24 │ │ │ │ │ + vstr d5, [r6] │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ + bne.w 4e │ │ │ │ │ + add sp, #44 @ 0x2c │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop.w │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ - .word 0x0000026e │ │ │ │ │ + .word 0x0000027e │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ - lsls r6, r6, #3 │ │ │ │ │ - vldr d2, [pc, #576] @ 4d0 │ │ │ │ │ - mov.w lr, r5, lsl #5 │ │ │ │ │ + vldr d2, [pc, #572] @ 4f0 │ │ │ │ │ + mov.w sl, r6, lsl #3 │ │ │ │ │ + mov.w fp, r7, lsl #3 │ │ │ │ │ + mov.w r7, r5, lsl #5 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ - add.w ip, r0, lr │ │ │ │ │ - mov.w r9, #24 │ │ │ │ │ - subs.w fp, fp, #1 │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ - add.w ip, r1, lr │ │ │ │ │ - vldr d14, [ip] │ │ │ │ │ - mov.w ip, r5, lsl #4 │ │ │ │ │ + subs.w ip, ip, #1 │ │ │ │ │ + add.w r6, r0, r7 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + add.w r6, r1, r7 │ │ │ │ │ + vldr d14, [r6] │ │ │ │ │ + mov.w r6, r5, lsl #4 │ │ │ │ │ + add.w r8, r0, r6 │ │ │ │ │ + add r6, r1 │ │ │ │ │ vadd.f64 d11, d6, d7 │ │ │ │ │ vsub.f64 d3, d6, d7 │ │ │ │ │ - add.w r8, r0, ip │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ - add ip, r1 │ │ │ │ │ vadd.f64 d4, d6, d14 │ │ │ │ │ vsub.f64 d14, d6, d14 │ │ │ │ │ vldr d6, [r8] │ │ │ │ │ - add r8, lr │ │ │ │ │ - vstr d3, [sp] │ │ │ │ │ + add r8, r7 │ │ │ │ │ + vstr d3, [sp, #8] │ │ │ │ │ vldr d15, [r8] │ │ │ │ │ vadd.f64 d12, d6, d15 │ │ │ │ │ vsub.f64 d15, d6, d15 │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ - add ip, lr │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ - mov.w ip, #56 @ 0x38 │ │ │ │ │ - mul.w r8, ip, r5 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + add r6, r7 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + mov.w r6, r5, lsl #3 │ │ │ │ │ + sub.w r9, r6, r5 │ │ │ │ │ + mov.w r9, r9, lsl #3 │ │ │ │ │ + str r6, [sp, #0] │ │ │ │ │ + add.w r8, r0, r9 │ │ │ │ │ + add r9, r1 │ │ │ │ │ vsub.f64 d1, d6, d7 │ │ │ │ │ vadd.f64 d8, d6, d7 │ │ │ │ │ - add.w ip, r0, r8 │ │ │ │ │ + vldr d3, [r8] │ │ │ │ │ + add.w r8, r5, r5, lsl #1 │ │ │ │ │ + eor.w r5, r5, lr │ │ │ │ │ + mov.w r8, r8, lsl #3 │ │ │ │ │ + add.w r6, r0, r8 │ │ │ │ │ add r8, r1 │ │ │ │ │ - vstr d1, [sp, #8] │ │ │ │ │ - vldr d3, [ip] │ │ │ │ │ - mul.w ip, r9, r5 │ │ │ │ │ - vldr d1, [r8] │ │ │ │ │ - add.w r9, r0, ip │ │ │ │ │ - add ip, r1 │ │ │ │ │ - vldr d0, [r9] │ │ │ │ │ - mov.w r9, #24 │ │ │ │ │ - vldr d13, [ip] │ │ │ │ │ - mov.w ip, r5, lsl #3 │ │ │ │ │ - add.w r8, r0, ip │ │ │ │ │ - add ip, r1 │ │ │ │ │ + vstr d1, [sp, #16] │ │ │ │ │ + vldr d0, [r6] │ │ │ │ │ + vldr d1, [r9] │ │ │ │ │ + vldr d13, [r8] │ │ │ │ │ vsub.f64 d6, d3, d0 │ │ │ │ │ + ldr r6, [sp, #0] │ │ │ │ │ vadd.f64 d3, d3, d0 │ │ │ │ │ vsub.f64 d7, d1, d13 │ │ │ │ │ vadd.f64 d13, d1, d13 │ │ │ │ │ - add r0, r7 │ │ │ │ │ - add r1, r7 │ │ │ │ │ - eor.w r5, r5, sl │ │ │ │ │ + add.w r8, r0, r6 │ │ │ │ │ + add r6, r1 │ │ │ │ │ + add r0, sl │ │ │ │ │ + add r1, sl │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d9, d6, d7 │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ - add ip, lr │ │ │ │ │ - vstr d5, [sp, #16] │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + add r6, r7 │ │ │ │ │ + vldr d0, [r6] │ │ │ │ │ + vstr d5, [sp, #24] │ │ │ │ │ vldr d5, [r8] │ │ │ │ │ - add r8, lr │ │ │ │ │ - vldr d0, [ip] │ │ │ │ │ - vstr d9, [sp, #24] │ │ │ │ │ + add r8, r7 │ │ │ │ │ + mov.w r7, r4, lsl #4 │ │ │ │ │ + vstr d9, [sp, #32] │ │ │ │ │ vldr d9, [r8] │ │ │ │ │ - mov.w r8, r4, lsl #5 │ │ │ │ │ vsub.f64 d7, d6, d0 │ │ │ │ │ vadd.f64 d6, d6, d0 │ │ │ │ │ - add.w ip, r2, r8 │ │ │ │ │ + mov.w r8, r4, lsl #5 │ │ │ │ │ + add.w r6, r2, r8 │ │ │ │ │ vsub.f64 d1, d5, d9 │ │ │ │ │ vadd.f64 d5, d5, d9 │ │ │ │ │ vadd.f64 d0, d1, d7 │ │ │ │ │ vadd.f64 d9, d3, d5 │ │ │ │ │ vsub.f64 d7, d7, d1 │ │ │ │ │ vadd.f64 d1, d11, d12 │ │ │ │ │ vsub.f64 d5, d3, d5 │ │ │ │ │ vsub.f64 d10, d1, d9 │ │ │ │ │ vadd.f64 d1, d1, d9 │ │ │ │ │ vadd.f64 d9, d13, d6 │ │ │ │ │ vsub.f64 d6, d6, d13 │ │ │ │ │ - vstr d10, [ip] │ │ │ │ │ - add.w ip, r3, r8 │ │ │ │ │ + vstr d10, [r6] │ │ │ │ │ + add.w r6, r3, r8 │ │ │ │ │ vstr d1, [r2] │ │ │ │ │ vadd.f64 d1, d4, d8 │ │ │ │ │ vsub.f64 d4, d4, d8 │ │ │ │ │ - vldr d8, [sp, #16] │ │ │ │ │ vsub.f64 d10, d1, d9 │ │ │ │ │ - vadd.f64 d1, d1, d9 │ │ │ │ │ vadd.f64 d3, d5, d4 │ │ │ │ │ + vadd.f64 d1, d1, d9 │ │ │ │ │ vsub.f64 d4, d4, d5 │ │ │ │ │ vsub.f64 d5, d11, d12 │ │ │ │ │ - vstr d10, [ip] │ │ │ │ │ - mov.w ip, r4, lsl #4 │ │ │ │ │ - add.w lr, r3, ip │ │ │ │ │ + vstr d10, [r6] │ │ │ │ │ + add.w r6, r3, r7 │ │ │ │ │ + add r7, r2 │ │ │ │ │ vstr d1, [r3] │ │ │ │ │ - add ip, r2 │ │ │ │ │ - vldr d1, [sp, #8] │ │ │ │ │ - vstr d3, [lr] │ │ │ │ │ - add lr, r8 │ │ │ │ │ - vldr d3, [sp] │ │ │ │ │ - vstr d4, [lr] │ │ │ │ │ - mov.w lr, #48 @ 0x30 │ │ │ │ │ + vstr d3, [r6] │ │ │ │ │ + add r6, r8 │ │ │ │ │ + vldr d3, [sp, #8] │ │ │ │ │ + vstr d4, [r6] │ │ │ │ │ vsub.f64 d4, d5, d6 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ + add.w r6, r4, r4, lsl #1 │ │ │ │ │ + vldr d1, [sp, #16] │ │ │ │ │ + add.w r8, r2, r6, lsl #4 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + vstr d4, [r8] │ │ │ │ │ + vstr d5, [r7] │ │ │ │ │ vadd.f64 d6, d3, d1 │ │ │ │ │ - mla lr, lr, r4, r2 │ │ │ │ │ - vstr d4, [lr] │ │ │ │ │ - mov.w lr, #40 @ 0x28 │ │ │ │ │ - vstr d5, [ip] │ │ │ │ │ + add.w r7, r4, r4, lsl #2 │ │ │ │ │ + vldr d8, [sp, #24] │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + vldr d9, [sp, #32] │ │ │ │ │ + add.w r8, r2, r7 │ │ │ │ │ + add r7, r3 │ │ │ │ │ vadd.f64 d5, d8, d0 │ │ │ │ │ - mul.w lr, lr, r4 │ │ │ │ │ vmul.f64 d5, d5, d2 │ │ │ │ │ - add.w ip, r2, lr │ │ │ │ │ - add lr, r3 │ │ │ │ │ vsub.f64 d4, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vstr d4, [ip] │ │ │ │ │ - mov.w ip, r4, lsl #3 │ │ │ │ │ - add.w r8, r2, ip │ │ │ │ │ - add ip, r3 │ │ │ │ │ - vstr d6, [r8] │ │ │ │ │ - vsub.f64 d6, d14, d15 │ │ │ │ │ - vldr d9, [sp, #24] │ │ │ │ │ - vadd.f64 d14, d14, d15 │ │ │ │ │ vadd.f64 d5, d9, d7 │ │ │ │ │ vsub.f64 d7, d7, d9 │ │ │ │ │ + vstr d4, [r8] │ │ │ │ │ + mov.w r8, r4, lsl #3 │ │ │ │ │ vmul.f64 d5, d5, d2 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ + add.w r9, r2, r8 │ │ │ │ │ + vstr d6, [r9] │ │ │ │ │ + vsub.f64 d6, d14, d15 │ │ │ │ │ + vadd.f64 d14, d14, d15 │ │ │ │ │ vsub.f64 d4, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vstr d4, [lr] │ │ │ │ │ - vstr d6, [ip] │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ + add.w r7, r3, r8 │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ vsub.f64 d6, d8, d0 │ │ │ │ │ - mov.w ip, #56 @ 0x38 │ │ │ │ │ + sub.w r7, r8, r4 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + eor.w r4, r4, lr │ │ │ │ │ + add.w r8, r3, r7 │ │ │ │ │ + add r7, r2 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ - mul.w lr, ip, r4 │ │ │ │ │ - add.w ip, r3, lr │ │ │ │ │ - add lr, r2 │ │ │ │ │ vsub.f64 d5, d14, d6 │ │ │ │ │ vadd.f64 d14, d14, d6 │ │ │ │ │ vsub.f64 d6, d3, d1 │ │ │ │ │ - vstr d5, [ip] │ │ │ │ │ - mul.w ip, r9, r4 │ │ │ │ │ + vstr d5, [r8] │ │ │ │ │ + add.w r8, r3, r6 │ │ │ │ │ + add r6, r2 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - add.w r8, r3, ip │ │ │ │ │ - add ip, r2 │ │ │ │ │ - add r3, r6 │ │ │ │ │ - add r2, r6 │ │ │ │ │ - eor.w r4, r4, sl │ │ │ │ │ + add r2, fp │ │ │ │ │ + add r3, fp │ │ │ │ │ vstr d14, [r8] │ │ │ │ │ - vstr d5, [lr] │ │ │ │ │ - vstr d6, [ip] │ │ │ │ │ - bne.w 290 │ │ │ │ │ - add sp, #36 @ 0x24 │ │ │ │ │ - vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ - nop.w │ │ │ │ │ + vstr d5, [r7] │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ + bne.w 2bc │ │ │ │ │ + b.n 284 │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ │ │ │ │ │ -000004d8 : │ │ │ │ │ +000004f8 : │ │ │ │ │ fftw_codelet_n1_8(): │ │ │ │ │ - ldr r2, [pc, #8] @ (4e4 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (4e8 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (504 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (508 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── n1_9.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1700 (bytes into file) │ │ │ │ │ + Start of section headers: 1748 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x6a4: │ │ │ │ │ +There are 13 section headers, starting at offset 0x6d4: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0003d4 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0005fc 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000408 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000408 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000408 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 00040d 000040 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000624 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 00044d 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 00044d 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 000480 000100 10 11 11 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 000580 00007a 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000634 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000404 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 00062c 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000438 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000438 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000438 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 00043d 000040 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000654 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 00047d 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 00047d 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 0004b0 000100 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 0005b0 00007a 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000664 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 16 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 960 FUNC LOCAL DEFAULT 1 n1_9 │ │ │ │ │ + 1: 00000001 1008 FUNC LOCAL DEFAULT 1 n1_9 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000380 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 000003c0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000003cc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000003b0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 000003f0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000003fc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 64 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 13: 000003c1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_9 │ │ │ │ │ + 13: 000003f1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_n1_9 │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_register │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_n_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x5fc contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x62c contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000003b8 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -000003bc 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000003cc 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000003d0 00000103 R_ARM_REL32 00000001 n1_9 │ │ │ │ │ -000003c8 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ +000003e8 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +000003ec 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +000003fc 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000400 00000103 R_ARM_REL32 00000001 n1_9 │ │ │ │ │ +000003f8 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kdft_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x624 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x654 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000f02 R_ARM_ABS32 00000000 fftw_dft_n_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,254 +1,263 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ n1_9(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - ldr.w ip, [pc, #944] @ 3b8 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #84 @ 0x54 │ │ │ │ │ + ldr.w ip, [pc, #972] @ 3e8 │ │ │ │ │ + ldr.w fp, [sp, #192] @ 0xc0 │ │ │ │ │ + ldrd r5, r4, [sp, #184] @ 0xb8 │ │ │ │ │ add ip, pc │ │ │ │ │ - ldr r6, [sp, #192] @ 0xc0 │ │ │ │ │ - ldrd r5, sl, [sp, #184] @ 0xb8 │ │ │ │ │ - cmp r6, #0 │ │ │ │ │ - ble.w 372 │ │ │ │ │ - ldr.w r8, [pc, #924] @ 3bc │ │ │ │ │ + cmp.w fp, #0 │ │ │ │ │ + ble.w 38e │ │ │ │ │ + ldr.w r8, [pc, #952] @ 3ec │ │ │ │ │ vmov.f64 d13, #96 @ 0x3f000000 0.5 │ │ │ │ │ - ldr r4, [sp, #200] @ 0xc8 │ │ │ │ │ - ldr r7, [sp, #196] @ 0xc4 │ │ │ │ │ - vldr d14, [pc, #852] @ 380 │ │ │ │ │ + ldrd r7, r6, [sp, #196] @ 0xc4 │ │ │ │ │ + vldr d14, [pc, #880] @ 3b0 │ │ │ │ │ ldr.w ip, [ip, r8] │ │ │ │ │ - mov.w lr, r4, lsl #3 │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ - mov.w r8, #24 │ │ │ │ │ - vldr d9, [pc, #844] @ 388 │ │ │ │ │ - mov r4, sl │ │ │ │ │ - ldr.w r9, [ip] │ │ │ │ │ - vldr d8, [pc, #840] @ 390 │ │ │ │ │ - mul.w ip, r8, r5 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + vldr d9, [pc, #876] @ 3b8 │ │ │ │ │ + mov.w lr, r6, lsl #3 │ │ │ │ │ + vldr d8, [pc, #876] @ 3c0 │ │ │ │ │ + ldr.w r8, [ip] │ │ │ │ │ + add.w ip, r5, r5, lsl #1 │ │ │ │ │ + subs.w fp, fp, #1 │ │ │ │ │ vldr d5, [r0] │ │ │ │ │ - subs r6, #1 │ │ │ │ │ - add.w sl, r0, ip │ │ │ │ │ - vldr d4, [sl] │ │ │ │ │ - add sl, ip │ │ │ │ │ - vldr d7, [sl] │ │ │ │ │ - add.w sl, r1, ip │ │ │ │ │ + mov.w ip, ip, lsl #3 │ │ │ │ │ + add.w r9, r0, ip │ │ │ │ │ + vldr d4, [r9] │ │ │ │ │ + add r9, ip │ │ │ │ │ + vldr d7, [r9] │ │ │ │ │ + add.w r9, r1, ip │ │ │ │ │ vadd.f64 d6, d4, d7 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ vadd.f64 d12, d5, d6 │ │ │ │ │ vmls.f64 d5, d6, d13 │ │ │ │ │ vstr d7, [sp] │ │ │ │ │ - vldr d7, [sl] │ │ │ │ │ - add sl, ip │ │ │ │ │ - vldr d4, [sl] │ │ │ │ │ - mov.w sl, r5, lsl #3 │ │ │ │ │ + vldr d7, [r9] │ │ │ │ │ + add r9, ip │ │ │ │ │ + vldr d4, [r9] │ │ │ │ │ + mov.w r9, r5, lsl #3 │ │ │ │ │ vstr d5, [sp, #16] │ │ │ │ │ - add.w fp, r0, sl │ │ │ │ │ + add.w sl, r0, r9 │ │ │ │ │ + add r9, r1 │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ - add sl, r1 │ │ │ │ │ vadd.f64 d6, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ vmul.f64 d4, d7, d14 │ │ │ │ │ vmov.f64 d7, d5 │ │ │ │ │ - vmls.f64 d7, d6, d13 │ │ │ │ │ vadd.f64 d3, d5, d6 │ │ │ │ │ - vldr d6, [sl] │ │ │ │ │ - add sl, ip │ │ │ │ │ + vmls.f64 d7, d6, d13 │ │ │ │ │ + vldr d6, [r9] │ │ │ │ │ + add r9, ip │ │ │ │ │ vstr d4, [sp, #8] │ │ │ │ │ - vldr d4, [fp] │ │ │ │ │ - add fp, ip │ │ │ │ │ + vldr d4, [sl] │ │ │ │ │ + add sl, ip │ │ │ │ │ vstr d3, [sp, #24] │ │ │ │ │ - vldr d5, [fp] │ │ │ │ │ - add fp, ip │ │ │ │ │ + vldr d5, [sl] │ │ │ │ │ + add sl, ip │ │ │ │ │ vstr d7, [sp, #32] │ │ │ │ │ - vldr d7, [fp] │ │ │ │ │ + vldr d7, [sl] │ │ │ │ │ vadd.f64 d2, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [sl] │ │ │ │ │ - add sl, ip │ │ │ │ │ - vldr d1, [sl] │ │ │ │ │ + vldr d5, [r9] │ │ │ │ │ + add r9, ip │ │ │ │ │ + vldr d1, [r9] │ │ │ │ │ + mov.w r9, r5, lsl #4 │ │ │ │ │ + eor.w r5, r5, r8 │ │ │ │ │ + add.w sl, r0, r9 │ │ │ │ │ + add r9, r1 │ │ │ │ │ vadd.f64 d10, d4, d2 │ │ │ │ │ vmls.f64 d4, d2, d13 │ │ │ │ │ - mov.w sl, r5, lsl #4 │ │ │ │ │ - add.w fp, r0, sl │ │ │ │ │ + add r0, r7 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ + add r1, r7 │ │ │ │ │ vsub.f64 d3, d5, d1 │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ - add sl, r1 │ │ │ │ │ - add r0, r7 │ │ │ │ │ - add r1, r7 │ │ │ │ │ - eor.w r5, r5, r9 │ │ │ │ │ + vmul.f64 d3, d3, d14 │ │ │ │ │ vadd.f64 d11, d6, d5 │ │ │ │ │ vmls.f64 d6, d5, d13 │ │ │ │ │ - vmul.f64 d3, d3, d14 │ │ │ │ │ - vldr d5, [sl] │ │ │ │ │ - add sl, ip │ │ │ │ │ + vldr d5, [r9] │ │ │ │ │ + add r9, ip │ │ │ │ │ vadd.f64 d2, d3, d4 │ │ │ │ │ vsub.f64 d0, d4, d3 │ │ │ │ │ - vldr d3, [fp] │ │ │ │ │ - add fp, ip │ │ │ │ │ - vldr d4, [sl] │ │ │ │ │ + vldr d3, [sl] │ │ │ │ │ add sl, ip │ │ │ │ │ + vldr d4, [r9] │ │ │ │ │ + add r9, ip │ │ │ │ │ vadd.f64 d15, d7, d6 │ │ │ │ │ vsub.f64 d1, d6, d7 │ │ │ │ │ - vldr d7, [fp] │ │ │ │ │ - add fp, ip │ │ │ │ │ - vstr d0, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d7, [sl] │ │ │ │ │ + add sl, ip │ │ │ │ │ vstr d2, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d6, [fp] │ │ │ │ │ + vstr d0, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d6, [sl] │ │ │ │ │ + mov.w sl, r4, lsl #3 │ │ │ │ │ vstr d1, [sp, #56] @ 0x38 │ │ │ │ │ vadd.f64 d0, d7, d6 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [sl] │ │ │ │ │ - mul.w sl, r8, r4 │ │ │ │ │ - add.w ip, r2, sl │ │ │ │ │ + vldr d7, [r9] │ │ │ │ │ + add.w r9, r4, r4, lsl #1 │ │ │ │ │ + mov.w r9, r9, lsl #3 │ │ │ │ │ + add.w ip, r2, r9 │ │ │ │ │ vsub.f64 d2, d4, d7 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ vadd.f64 d7, d3, d0 │ │ │ │ │ vmls.f64 d3, d0, d13 │ │ │ │ │ vmul.f64 d6, d6, d14 │ │ │ │ │ vadd.f64 d1, d5, d4 │ │ │ │ │ vmls.f64 d5, d4, d13 │ │ │ │ │ vmul.f64 d2, d2, d14 │ │ │ │ │ vadd.f64 d0, d2, d3 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ vadd.f64 d4, d6, d5 │ │ │ │ │ vsub.f64 d6, d5, d6 │ │ │ │ │ - vstr d3, [sp, #64] @ 0x40 │ │ │ │ │ - vadd.f64 d3, d10, d7 │ │ │ │ │ vsub.f64 d5, d11, d1 │ │ │ │ │ vadd.f64 d11, d11, d1 │ │ │ │ │ + vldr d1, [pc, #524] @ 3c8 │ │ │ │ │ + vstr d3, [sp, #64] @ 0x40 │ │ │ │ │ + vadd.f64 d3, d10, d7 │ │ │ │ │ vsub.f64 d7, d7, d10 │ │ │ │ │ - vldr d1, [pc, #496] @ 398 │ │ │ │ │ vstr d6, [sp, #72] @ 0x48 │ │ │ │ │ vmov.f64 d6, d12 │ │ │ │ │ - vmls.f64 d6, d3, d13 │ │ │ │ │ - vadd.f64 d3, d12, d3 │ │ │ │ │ vmul.f64 d5, d5, d14 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ + vmls.f64 d6, d3, d13 │ │ │ │ │ + vadd.f64 d3, d12, d3 │ │ │ │ │ vstr d3, [r2] │ │ │ │ │ vadd.f64 d3, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vstr d3, [ip] │ │ │ │ │ - add ip, sl │ │ │ │ │ + add ip, r9 │ │ │ │ │ vldr d3, [sp, #24] │ │ │ │ │ vstr d6, [ip] │ │ │ │ │ - add.w ip, r3, sl │ │ │ │ │ + add.w ip, r3, r9 │ │ │ │ │ vmov.f64 d6, d3 │ │ │ │ │ vmls.f64 d6, d11, d13 │ │ │ │ │ vadd.f64 d11, d3, d11 │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [pc, #424] @ 3a0 │ │ │ │ │ + vldr d7, [pc, #444] @ 3d0 │ │ │ │ │ vstr d5, [ip] │ │ │ │ │ - add ip, sl │ │ │ │ │ - vstr d11, [r3] │ │ │ │ │ + add ip, r9 │ │ │ │ │ vldr d5, [sp, #8] │ │ │ │ │ + vstr d11, [r3] │ │ │ │ │ vldr d11, [sp, #16] │ │ │ │ │ - vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ vstr d6, [ip] │ │ │ │ │ - mov.w ip, r4, lsl #3 │ │ │ │ │ + add.w ip, r2, sl │ │ │ │ │ + vldr d6, [sp] │ │ │ │ │ + vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ vadd.f64 d3, d11, d5 │ │ │ │ │ vmul.f64 d5, d15, d7 │ │ │ │ │ + vldr d12, [sp, #32] │ │ │ │ │ vmul.f64 d7, d4, d8 │ │ │ │ │ vmla.f64 d5, d2, d1 │ │ │ │ │ vmla.f64 d7, d0, d9 │ │ │ │ │ vmul.f64 d0, d0, d8 │ │ │ │ │ - vldr d12, [sp, #32] │ │ │ │ │ - add.w fp, r2, ip │ │ │ │ │ - vldr d6, [sp] │ │ │ │ │ - add ip, r3 │ │ │ │ │ - vnmls.f64 d0, d4, d9 │ │ │ │ │ vadd.f64 d6, d6, d12 │ │ │ │ │ + vnmls.f64 d0, d4, d9 │ │ │ │ │ vadd.f64 d10, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vmov.f64 d5, d2 │ │ │ │ │ - vldr d2, [pc, #332] @ 3a0 │ │ │ │ │ - vmul.f64 d5, d5, d2 │ │ │ │ │ + vldr d2, [pc, #356] @ 3d0 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ - vldr d2, [pc, #328] @ 3a8 │ │ │ │ │ + vmul.f64 d5, d5, d2 │ │ │ │ │ + vldr d2, [pc, #352] @ 3d8 │ │ │ │ │ vnmls.f64 d5, d15, d1 │ │ │ │ │ vldr d1, [sp, #72] @ 0x48 │ │ │ │ │ vsub.f64 d4, d5, d0 │ │ │ │ │ vadd.f64 d0, d5, d0 │ │ │ │ │ vadd.f64 d5, d3, d10 │ │ │ │ │ vmls.f64 d3, d10, d13 │ │ │ │ │ vldr d10, [sp, #56] @ 0x38 │ │ │ │ │ vmul.f64 d4, d4, d14 │ │ │ │ │ - vstr d5, [fp] │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ vadd.f64 d5, d6, d0 │ │ │ │ │ vmls.f64 d6, d0, d13 │ │ │ │ │ - mov.w fp, #56 @ 0x38 │ │ │ │ │ + add.w ip, r3, sl │ │ │ │ │ + sub.w sl, sl, r4 │ │ │ │ │ vldr d0, [sp, #48] @ 0x30 │ │ │ │ │ + add.w sl, r2, sl, lsl #3 │ │ │ │ │ vstr d5, [ip] │ │ │ │ │ - mla fp, fp, r4, r2 │ │ │ │ │ vsub.f64 d5, d3, d4 │ │ │ │ │ - add ip, sl │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ - vstr d5, [fp] │ │ │ │ │ + add ip, r9 │ │ │ │ │ + vstr d5, [sl] │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ - add.w fp, r2, r4, lsl #5 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vstr d4, [fp] │ │ │ │ │ + add.w sl, r2, r4, lsl #5 │ │ │ │ │ + vstr d4, [sl] │ │ │ │ │ vmul.f64 d4, d10, d8 │ │ │ │ │ vstr d5, [ip] │ │ │ │ │ - add ip, sl │ │ │ │ │ + add ip, r9 │ │ │ │ │ vldr d5, [sp, #8] │ │ │ │ │ - vmla.f64 d4, d0, d9 │ │ │ │ │ vstr d6, [ip] │ │ │ │ │ mov.w ip, r4, lsl #4 │ │ │ │ │ vldr d6, [sp] │ │ │ │ │ - vsub.f64 d5, d11, d5 │ │ │ │ │ - vldr d11, [pc, #208] @ 3b0 │ │ │ │ │ - add.w fp, r2, ip │ │ │ │ │ + vmla.f64 d4, d0, d9 │ │ │ │ │ + add.w sl, r2, ip │ │ │ │ │ add ip, r3 │ │ │ │ │ add r3, lr │ │ │ │ │ + vsub.f64 d5, d11, d5 │ │ │ │ │ + vldr d11, [pc, #220] @ 3e0 │ │ │ │ │ vsub.f64 d7, d12, d6 │ │ │ │ │ vldr d12, [sp, #64] @ 0x40 │ │ │ │ │ vmul.f64 d6, d12, d2 │ │ │ │ │ vnmls.f64 d6, d1, d11 │ │ │ │ │ vmul.f64 d1, d1, d2 │ │ │ │ │ vmla.f64 d1, d12, d11 │ │ │ │ │ vadd.f64 d3, d4, d6 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vmul.f64 d4, d0, d8 │ │ │ │ │ - vmul.f64 d6, d6, d14 │ │ │ │ │ vnmls.f64 d4, d10, d9 │ │ │ │ │ + vmul.f64 d6, d6, d14 │ │ │ │ │ vsub.f64 d2, d4, d1 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ vadd.f64 d1, d5, d3 │ │ │ │ │ vmls.f64 d5, d3, d13 │ │ │ │ │ vmul.f64 d4, d4, d14 │ │ │ │ │ - vstr d1, [fp] │ │ │ │ │ + vstr d1, [sl] │ │ │ │ │ vadd.f64 d1, d7, d2 │ │ │ │ │ vmls.f64 d7, d2, d13 │ │ │ │ │ vstr d1, [ip] │ │ │ │ │ - add ip, sl │ │ │ │ │ + add ip, r9 │ │ │ │ │ vadd.f64 d2, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vstr d2, [ip] │ │ │ │ │ - add ip, sl │ │ │ │ │ + add ip, r9 │ │ │ │ │ vstr d7, [ip] │ │ │ │ │ vsub.f64 d7, d5, d4 │ │ │ │ │ add.w ip, r2, r4, lsl #6 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ vstr d7, [ip] │ │ │ │ │ - mov.w ip, #40 @ 0x28 │ │ │ │ │ - mla ip, ip, r4, r2 │ │ │ │ │ + add.w ip, r4, r4, lsl #2 │ │ │ │ │ + eor.w r4, r4, r8 │ │ │ │ │ + add.w ip, r2, ip, lsl #3 │ │ │ │ │ add r2, lr │ │ │ │ │ - eor.w r4, r4, r9 │ │ │ │ │ vstr d4, [ip] │ │ │ │ │ - bne.w 48 │ │ │ │ │ + bne.w 58 │ │ │ │ │ add sp, #84 @ 0x54 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ nop.w │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3febb67a │ │ │ │ │ .word 0x7e0b738a │ │ │ │ │ .word 0x3fc63a1a │ │ │ │ │ .word 0x8c811c17 │ │ │ │ │ .word 0x3fef838b │ │ │ │ │ @@ -256,23 +265,23 @@ │ │ │ │ │ .word 0x3fe8836f │ │ │ │ │ .word 0x523c161d │ │ │ │ │ .word 0x3fe491b7 │ │ │ │ │ .word 0x42522d1c │ │ │ │ │ .word 0x3fee11f6 │ │ │ │ │ .word 0x748a0bf5 │ │ │ │ │ .word 0x3fd5e3a8 │ │ │ │ │ - .word 0x000003a6 │ │ │ │ │ + .word 0x000003be │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ │ │ │ │ │ -000003c0 : │ │ │ │ │ +000003f0 : │ │ │ │ │ fftw_codelet_n1_9(): │ │ │ │ │ - ldr r2, [pc, #8] @ (3cc ) │ │ │ │ │ - ldr r1, [pc, #12] @ (3d0 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (3fc ) │ │ │ │ │ + ldr r1, [pc, #12] @ (400 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── q1_2.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1108 (bytes into file) │ │ │ │ │ + Start of section headers: 1152 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x454: │ │ │ │ │ +There are 14 section headers, starting at offset 0x480: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0001b8 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0003ac 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0001ec 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0001ec 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0001ec 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 0001f1 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0001f9 000040 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 0003c4 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000239 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000239 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 00026c 0000f0 10 12 12 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 00035c 000050 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 0003dc 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0001e4 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0003d8 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000218 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000218 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000218 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 00021d 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000225 000040 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 0003f0 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000265 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000265 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000298 0000f0 10 12 12 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000388 000050 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000408 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,18 +1,18 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 15 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 420 FUNC LOCAL DEFAULT 1 q1_2 │ │ │ │ │ + 1: 00000001 464 FUNC LOCAL DEFAULT 1 q1_2 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000001b0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000001dc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 4: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 8: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 9: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 10: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 11: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 12: 000001a5 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_q1_2 │ │ │ │ │ + 12: 000001d1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_q1_2 │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_difsq_register │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x3ac contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x3d8 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000001b0 00000903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000001b4 00000103 R_ARM_REL32 00000001 q1_2 │ │ │ │ │ -000001ac 00000d1e R_ARM_THM_JUMP24 00000000 fftw_kdft_difsq_register │ │ │ │ │ +000001dc 00000903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000001e0 00000103 R_ARM_REL32 00000001 q1_2 │ │ │ │ │ +000001d8 00000d1e R_ARM_THM_JUMP24 00000000 fftw_kdft_difsq_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x3c4 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x3f0 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000402 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000602 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00000e02 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,137 +1,145 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ q1_2(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d11} │ │ │ │ │ ldrd r5, r4, [sp, #68] @ 0x44 │ │ │ │ │ ldr r7, [sp, #76] @ 0x4c │ │ │ │ │ add.w r2, r2, r4, lsl #4 │ │ │ │ │ cmp r4, r7 │ │ │ │ │ - bge.n da │ │ │ │ │ - lsls r6, r3, #3 │ │ │ │ │ + bge.n f0 │ │ │ │ │ + mov.w r6, r3, lsl #3 │ │ │ │ │ add r3, r5 │ │ │ │ │ - mov.w r8, r5, lsl #3 │ │ │ │ │ mov.w ip, r3, lsl #3 │ │ │ │ │ ldr r3, [sp, #80] @ 0x50 │ │ │ │ │ + mov.w r8, r5, lsl #3 │ │ │ │ │ cmp r3, #1 │ │ │ │ │ ittt eq │ │ │ │ │ addeq r2, #16 │ │ │ │ │ addeq.w lr, r0, r6 │ │ │ │ │ addeq r3, r1, r6 │ │ │ │ │ - bne.n e2 │ │ │ │ │ + bne.n 10a │ │ │ │ │ add.w r6, r0, r8 │ │ │ │ │ add.w sl, r0, ip │ │ │ │ │ + vldr d10, [r0] │ │ │ │ │ add.w r5, r1, r8 │ │ │ │ │ add.w r9, r1, ip │ │ │ │ │ - vldr d10, [r0] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - vldr d3, [lr] │ │ │ │ │ - adds r2, #16 │ │ │ │ │ vldr d9, [r1] │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + add.w r2, r2, #16 │ │ │ │ │ cmp r7, r4 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ - vldr d8, [r6] │ │ │ │ │ - vsub.f64 d7, d10, d3 │ │ │ │ │ - vldr d5, [sl] │ │ │ │ │ - vadd.f64 d3, d3, d10 │ │ │ │ │ vldr d0, [r5] │ │ │ │ │ - vsub.f64 d11, d9, d4 │ │ │ │ │ + vldr d8, [r6] │ │ │ │ │ vldr d6, [r9] │ │ │ │ │ + vsub.f64 d11, d9, d4 │ │ │ │ │ vadd.f64 d4, d4, d9 │ │ │ │ │ + vldr d5, [sl] │ │ │ │ │ + vldr d3, [lr] │ │ │ │ │ + vsub.f64 d2, d0, d6 │ │ │ │ │ + vadd.f64 d6, d6, d0 │ │ │ │ │ vsub.f64 d1, d8, d5 │ │ │ │ │ vadd.f64 d5, d5, d8 │ │ │ │ │ + vsub.f64 d7, d10, d3 │ │ │ │ │ + vadd.f64 d3, d3, d10 │ │ │ │ │ vstmia r0!, {d3} │ │ │ │ │ - vsub.f64 d2, d0, d6 │ │ │ │ │ - vadd.f64 d6, d6, d0 │ │ │ │ │ vstmia r1!, {d4} │ │ │ │ │ vstmia lr!, {d5} │ │ │ │ │ vstmia r3!, {d6} │ │ │ │ │ vldr d4, [r2, #-32] @ 0xffffffe0 │ │ │ │ │ vldr d6, [r2, #-24] @ 0xffffffe8 │ │ │ │ │ vmul.f64 d5, d4, d1 │ │ │ │ │ vmla.f64 d5, d6, d2 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ vnmls.f64 d6, d4, d2 │ │ │ │ │ vstr d5, [sl] │ │ │ │ │ vstr d6, [r9] │ │ │ │ │ - vldr d4, [r2, #-24] @ 0xffffffe8 │ │ │ │ │ vldr d5, [r2, #-32] @ 0xffffffe0 │ │ │ │ │ + vldr d4, [r2, #-24] @ 0xffffffe8 │ │ │ │ │ vmul.f64 d6, d11, d4 │ │ │ │ │ vmla.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vnmls.f64 d7, d11, d5 │ │ │ │ │ vstr d6, [r6] │ │ │ │ │ vstr d7, [r5] │ │ │ │ │ - bne.n 32 │ │ │ │ │ + bne.n 44 │ │ │ │ │ vpop {d8-d11} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - lsls r5, r3, #3 │ │ │ │ │ - adds r2, #16 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + mov.w r5, r3, lsl #3 │ │ │ │ │ + add.w r2, r2, #16 │ │ │ │ │ add.w lr, r0, r6 │ │ │ │ │ - adds r3, r1, r6 │ │ │ │ │ + add.w r3, r1, r6 │ │ │ │ │ add.w r9, r0, r8 │ │ │ │ │ add.w fp, r0, ip │ │ │ │ │ + vldr d2, [r0] │ │ │ │ │ add.w r6, r1, r8 │ │ │ │ │ add.w sl, r1, ip │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - vldr d10, [lr] │ │ │ │ │ - adds r2, #16 │ │ │ │ │ vldr d3, [r1] │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + add.w r2, r2, #16 │ │ │ │ │ cmp r7, r4 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ - vldr d4, [r9] │ │ │ │ │ - vsub.f64 d7, d2, d10 │ │ │ │ │ - vldr d8, [fp] │ │ │ │ │ - vadd.f64 d2, d2, d10 │ │ │ │ │ + vldr d10, [lr] │ │ │ │ │ vldr d5, [r6] │ │ │ │ │ + vldr d4, [r9] │ │ │ │ │ vsub.f64 d11, d3, d9 │ │ │ │ │ - vldr d0, [sl] │ │ │ │ │ vadd.f64 d3, d3, d9 │ │ │ │ │ - vsub.f64 d6, d4, d8 │ │ │ │ │ - vadd.f64 d4, d4, d8 │ │ │ │ │ - vstr d2, [r0] │ │ │ │ │ - add r0, r5 │ │ │ │ │ + vldr d0, [sl] │ │ │ │ │ + vsub.f64 d7, d2, d10 │ │ │ │ │ + vadd.f64 d2, d2, d10 │ │ │ │ │ + vldr d8, [fp] │ │ │ │ │ vsub.f64 d1, d5, d0 │ │ │ │ │ vadd.f64 d5, d5, d0 │ │ │ │ │ + vstr d2, [r0] │ │ │ │ │ vstr d3, [r1] │ │ │ │ │ + add r0, r5 │ │ │ │ │ add r1, r5 │ │ │ │ │ + vsub.f64 d6, d4, d8 │ │ │ │ │ + vadd.f64 d4, d4, d8 │ │ │ │ │ vstr d4, [lr] │ │ │ │ │ add lr, r5 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ add r3, r5 │ │ │ │ │ - vldr d3, [r2, #-24] @ 0xffffffe8 │ │ │ │ │ vldr d4, [r2, #-32] @ 0xffffffe0 │ │ │ │ │ + vldr d3, [r2, #-24] @ 0xffffffe8 │ │ │ │ │ vmul.f64 d5, d1, d3 │ │ │ │ │ vmla.f64 d5, d6, d4 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ vnmls.f64 d6, d1, d4 │ │ │ │ │ vstr d5, [fp] │ │ │ │ │ vstr d6, [sl] │ │ │ │ │ - vldr d4, [r2, #-24] @ 0xffffffe8 │ │ │ │ │ vldr d5, [r2, #-32] @ 0xffffffe0 │ │ │ │ │ + vldr d4, [r2, #-24] @ 0xffffffe8 │ │ │ │ │ vmul.f64 d6, d11, d4 │ │ │ │ │ vmla.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vnmls.f64 d7, d11, d5 │ │ │ │ │ vstr d6, [r9] │ │ │ │ │ vstr d7, [r6] │ │ │ │ │ - bne.n ec │ │ │ │ │ - vpop {d8-d11} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + bne.n 11a │ │ │ │ │ + b.n f0 │ │ │ │ │ │ │ │ │ │ -000001a4 : │ │ │ │ │ +000001d0 : │ │ │ │ │ fftw_codelet_q1_2(): │ │ │ │ │ - ldr r2, [pc, #8] @ (1b0 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (1b4 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (1dc ) │ │ │ │ │ + ldr r1, [pc, #12] @ (1e0 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_difsq_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── q1_3.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1512 (bytes into file) │ │ │ │ │ + Start of section headers: 1576 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x5e8: │ │ │ │ │ +There are 14 section headers, starting at offset 0x628: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00032c 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000540 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000360 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000360 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000360 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000365 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 00036d 000040 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000558 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 0003ad 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0003ad 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 0003e0 000110 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 0004f0 000050 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000570 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00036c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000580 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0003a0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0003a0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0003a0 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 0003a5 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0003ad 000040 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000598 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 0003ed 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0003ed 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000420 000110 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000530 000050 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 0005b0 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,20 +1,20 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 17 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 792 FUNC LOCAL DEFAULT 1 q1_3 │ │ │ │ │ + 1: 00000001 856 FUNC LOCAL DEFAULT 1 q1_3 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000310 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000318 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000324 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000350 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000358 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000364 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 14: 00000319 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_q1_3 │ │ │ │ │ + 14: 00000359 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_q1_3 │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_difsq_register │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x540 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x580 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000324 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000328 00000103 R_ARM_REL32 00000001 q1_3 │ │ │ │ │ -00000320 00000f1e R_ARM_THM_JUMP24 00000000 fftw_kdft_difsq_register │ │ │ │ │ +00000364 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000368 00000103 R_ARM_REL32 00000001 q1_3 │ │ │ │ │ +00000360 00000f1e R_ARM_THM_JUMP24 00000000 fftw_kdft_difsq_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x558 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x598 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001002 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,249 +1,255 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ q1_3(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r7, r0 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ mov lr, r1 │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #140 @ 0x8c │ │ │ │ │ ldrd r0, r1, [sp, #240] @ 0xf0 │ │ │ │ │ ldr r4, [sp, #248] @ 0xf8 │ │ │ │ │ cmp r1, r4 │ │ │ │ │ - bge.w 304 │ │ │ │ │ - adds r4, r3, r0 │ │ │ │ │ - lsls r6, r3, #3 │ │ │ │ │ - mov.w r8, r0, lsl #3 │ │ │ │ │ + bge.w 332 │ │ │ │ │ + add.w r4, r3, r0 │ │ │ │ │ + mov.w r6, r3, lsl #3 │ │ │ │ │ + vldr d2, [pc, #796] @ 350 │ │ │ │ │ add r3, r4 │ │ │ │ │ + mov.w r5, r4, lsl #3 │ │ │ │ │ + vmov.f64 d1, #96 @ 0x3f000000 0.5 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + mov.w r8, r0, lsl #3 │ │ │ │ │ add r0, r4 │ │ │ │ │ - lsls r5, r4, #3 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ - str r3, [sp, #124] @ 0x7c │ │ │ │ │ - lsls r3, r0, #3 │ │ │ │ │ + strd r5, r3, [sp, #120] @ 0x78 │ │ │ │ │ + mov.w r3, r0, lsl #3 │ │ │ │ │ str r3, [sp, #128] @ 0x80 │ │ │ │ │ - lsls r3, r4, #4 │ │ │ │ │ + mov.w r3, r4, lsl #4 │ │ │ │ │ + mov r4, r6 │ │ │ │ │ str r3, [sp, #112] @ 0x70 │ │ │ │ │ ldr r3, [sp, #252] @ 0xfc │ │ │ │ │ - mov r4, r6 │ │ │ │ │ - vldr d2, [pc, #724] @ 310 │ │ │ │ │ - vmov.f64 d1, #96 @ 0x3f000000 0.5 │ │ │ │ │ - str r5, [sp, #120] @ 0x78 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ str r3, [sp, #132] @ 0x84 │ │ │ │ │ - adds r3, r1, #1 │ │ │ │ │ - str r3, [sp, #116] @ 0x74 │ │ │ │ │ + add.w r3, r1, #1 │ │ │ │ │ add.w ip, r2, r3, lsl #5 │ │ │ │ │ + str r3, [sp, #116] @ 0x74 │ │ │ │ │ mov r3, r8 │ │ │ │ │ - b.n 56 │ │ │ │ │ - adds r2, #1 │ │ │ │ │ + b.n 78 │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ str r2, [sp, #116] @ 0x74 │ │ │ │ │ - adds r0, r7, r4 │ │ │ │ │ + add.w r0, r7, r4 │ │ │ │ │ vldr d8, [r7] │ │ │ │ │ - add.w sl, r0, r4 │ │ │ │ │ add.w r2, lr, r4 │ │ │ │ │ + add.w sl, r0, r4 │ │ │ │ │ add.w fp, r2, r4 │ │ │ │ │ - vldr d3, [lr] │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ add.w ip, ip, #32 │ │ │ │ │ vldr d7, [sl] │ │ │ │ │ - ldr r6, [sp, #120] @ 0x78 │ │ │ │ │ - ldr r1, [sp, #124] @ 0x7c │ │ │ │ │ + vldr d3, [lr] │ │ │ │ │ + ldrd r6, r1, [sp, #120] @ 0x78 │ │ │ │ │ vadd.f64 d9, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [fp] │ │ │ │ │ - adds r5, r7, r6 │ │ │ │ │ - str r5, [sp, #56] @ 0x38 │ │ │ │ │ + add.w r5, r7, r6 │ │ │ │ │ add r6, lr │ │ │ │ │ - str r2, [sp, #60] @ 0x3c │ │ │ │ │ + str r6, [sp, #44] @ 0x2c │ │ │ │ │ vmls.f64 d8, d9, d1 │ │ │ │ │ vmul.f64 d10, d7, d2 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - adds r2, r7, r3 │ │ │ │ │ - str r6, [sp, #44] @ 0x2c │ │ │ │ │ + strd r5, r2, [sp, #56] @ 0x38 │ │ │ │ │ + add.w r2, r7, r3 │ │ │ │ │ vldr d4, [r2] │ │ │ │ │ vmov.f64 d5, d4 │ │ │ │ │ vstr d8, [sp, #64] @ 0x40 │ │ │ │ │ vadd.f64 d8, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [r5] │ │ │ │ │ - adds r5, r7, r1 │ │ │ │ │ + add.w r5, r7, r1 │ │ │ │ │ str r5, [sp, #52] @ 0x34 │ │ │ │ │ vmul.f64 d14, d7, d2 │ │ │ │ │ vmov.f64 d7, d3 │ │ │ │ │ - vmls.f64 d7, d8, d1 │ │ │ │ │ vadd.f64 d3, d3, d8 │ │ │ │ │ + vmls.f64 d7, d8, d1 │ │ │ │ │ vstr d7, [sp, #72] @ 0x48 │ │ │ │ │ vldr d7, [r5] │ │ │ │ │ add.w r5, lr, r3 │ │ │ │ │ + vldr d13, [r5] │ │ │ │ │ str r5, [sp, #48] @ 0x30 │ │ │ │ │ vadd.f64 d11, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d13, [r5] │ │ │ │ │ vmul.f64 d6, d7, d2 │ │ │ │ │ vldr d7, [r6] │ │ │ │ │ add.w r6, lr, r1 │ │ │ │ │ vmls.f64 d5, d11, d1 │ │ │ │ │ - str r6, [sp, #40] @ 0x28 │ │ │ │ │ vadd.f64 d4, d4, d11 │ │ │ │ │ ldr r1, [sp, #112] @ 0x70 │ │ │ │ │ vstr d6, [sp] │ │ │ │ │ vldr d6, [r6] │ │ │ │ │ - adds r6, r5, r3 │ │ │ │ │ - str r6, [sp, #36] @ 0x24 │ │ │ │ │ add.w r8, lr, r1 │ │ │ │ │ - adds r1, r2, r3 │ │ │ │ │ + add.w r1, r2, r3 │ │ │ │ │ + str r6, [sp, #40] @ 0x28 │ │ │ │ │ + add.w r6, r5, r3 │ │ │ │ │ + str r6, [sp, #36] @ 0x24 │ │ │ │ │ + vstr d5, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d5, [r6] │ │ │ │ │ vadd.f64 d12, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vmov.f64 d6, d13 │ │ │ │ │ - vstr d5, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d5, [r6] │ │ │ │ │ ldr r6, [sp, #128] @ 0x80 │ │ │ │ │ vmls.f64 d6, d12, d1 │ │ │ │ │ - vmul.f64 d0, d7, d2 │ │ │ │ │ add.w r5, lr, r6 │ │ │ │ │ - adds r6, r7, r6 │ │ │ │ │ + vmul.f64 d0, d7, d2 │ │ │ │ │ + add r6, r7 │ │ │ │ │ vadd.f64 d13, d13, d12 │ │ │ │ │ vldr d7, [r5] │ │ │ │ │ vstr d0, [sp, #8] │ │ │ │ │ vmov.f64 d0, d5 │ │ │ │ │ vstr d6, [sp, #88] @ 0x58 │ │ │ │ │ vldr d6, [r8] │ │ │ │ │ vadd.f64 d15, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vmul.f64 d6, d7, d2 │ │ │ │ │ vmls.f64 d0, d15, d1 │ │ │ │ │ vstr d6, [sp, #24] │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ - str r1, [sp, #32] │ │ │ │ │ - ldr r1, [sp, #112] @ 0x70 │ │ │ │ │ vstr d15, [sp, #16] │ │ │ │ │ - add.w r9, r7, r1 │ │ │ │ │ + str r1, [sp, #32] │ │ │ │ │ vldr d15, [r6] │ │ │ │ │ vstr d0, [sp, #96] @ 0x60 │ │ │ │ │ + ldr r1, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d8, [sp, #64] @ 0x40 │ │ │ │ │ + add.w r9, r7, r1 │ │ │ │ │ ldr r1, [sp, #60] @ 0x3c │ │ │ │ │ vldr d7, [r9] │ │ │ │ │ - vldr d8, [sp, #64] @ 0x40 │ │ │ │ │ vadd.f64 d0, d15, d7 │ │ │ │ │ vmov.f64 d15, d6 │ │ │ │ │ vmls.f64 d15, d0, d1 │ │ │ │ │ vadd.f64 d6, d6, d0 │ │ │ │ │ vstr d15, [sp, #104] @ 0x68 │ │ │ │ │ vldr d15, [r6] │ │ │ │ │ vsub.f64 d7, d7, d15 │ │ │ │ │ vldr d15, [r7] │ │ │ │ │ vadd.f64 d9, d15, d9 │ │ │ │ │ vldr d15, [sp, #16] │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ vadd.f64 d5, d5, d15 │ │ │ │ │ - vldr d15, [sp, #104] @ 0x68 │ │ │ │ │ vstr d9, [r7] │ │ │ │ │ vldr d9, [sp, #72] @ 0x48 │ │ │ │ │ vstr d3, [lr] │ │ │ │ │ vstr d4, [r0] │ │ │ │ │ - vadd.f64 d3, d10, d9 │ │ │ │ │ vstr d13, [r1] │ │ │ │ │ + vldr d13, [sp, #96] @ 0x60 │ │ │ │ │ vstr d5, [fp] │ │ │ │ │ + vadd.f64 d3, d10, d9 │ │ │ │ │ vstr d6, [sl] │ │ │ │ │ vadd.f64 d6, d8, d14 │ │ │ │ │ - vldr d0, [ip, #-56] @ 0xffffffc8 │ │ │ │ │ vldr d4, [ip, #-64] @ 0xffffffc0 │ │ │ │ │ - vldr d13, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d0, [ip, #-56] @ 0xffffffc8 │ │ │ │ │ + vldr d15, [sp, #104] @ 0x68 │ │ │ │ │ vmul.f64 d5, d3, d0 │ │ │ │ │ vmla.f64 d5, d6, d4 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ vnmls.f64 d6, d3, d4 │ │ │ │ │ vsub.f64 d3, d13, d7 │ │ │ │ │ vadd.f64 d7, d13, d7 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ ldr r2, [sp, #48] @ 0x30 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ vldr d6, [sp, #24] │ │ │ │ │ - vldr d0, [ip, #-40] @ 0xffffffd8 │ │ │ │ │ vldr d4, [ip, #-48] @ 0xffffffd0 │ │ │ │ │ + vldr d0, [ip, #-40] @ 0xffffffd8 │ │ │ │ │ vsub.f64 d6, d15, d6 │ │ │ │ │ vmul.f64 d5, d3, d0 │ │ │ │ │ vmla.f64 d5, d6, d4 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ vnmls.f64 d6, d3, d4 │ │ │ │ │ vstr d5, [r9] │ │ │ │ │ vstr d6, [r8] │ │ │ │ │ vldr d11, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d12, [sp, #88] @ 0x58 │ │ │ │ │ vldr d5, [sp] │ │ │ │ │ vldr d0, [sp, #8] │ │ │ │ │ vldr d4, [ip, #-48] @ 0xffffffd0 │ │ │ │ │ - vsub.f64 d3, d12, d5 │ │ │ │ │ - ldr r1, [sp, #32] │ │ │ │ │ + vldr d12, [sp, #88] @ 0x58 │ │ │ │ │ vsub.f64 d6, d11, d0 │ │ │ │ │ vldr d0, [ip, #-40] @ 0xffffffd8 │ │ │ │ │ + ldr r1, [sp, #32] │ │ │ │ │ + vsub.f64 d3, d12, d5 │ │ │ │ │ ldr r2, [sp, #132] @ 0x84 │ │ │ │ │ - vmul.f64 d5, d3, d0 │ │ │ │ │ add r7, r2 │ │ │ │ │ + add lr, r2 │ │ │ │ │ + ldr r2, [sp, #116] @ 0x74 │ │ │ │ │ + vmul.f64 d5, d3, d0 │ │ │ │ │ vmla.f64 d5, d6, d4 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ vldr d0, [sp, #8] │ │ │ │ │ - add lr, r2 │ │ │ │ │ - ldr r2, [sp, #116] @ 0x74 │ │ │ │ │ vnmls.f64 d6, d3, d4 │ │ │ │ │ vstr d5, [r6] │ │ │ │ │ vldr d5, [sp] │ │ │ │ │ ldr r6, [sp, #44] @ 0x2c │ │ │ │ │ - vadd.f64 d3, d5, d12 │ │ │ │ │ vstr d6, [r5] │ │ │ │ │ vadd.f64 d6, d11, d0 │ │ │ │ │ - vldr d0, [ip, #-56] @ 0xffffffc8 │ │ │ │ │ vldr d4, [ip, #-64] @ 0xffffffc0 │ │ │ │ │ + vadd.f64 d3, d5, d12 │ │ │ │ │ + vldr d0, [ip, #-56] @ 0xffffffc8 │ │ │ │ │ ldr r5, [sp, #56] @ 0x38 │ │ │ │ │ vmul.f64 d5, d3, d0 │ │ │ │ │ vmla.f64 d5, d6, d4 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ vnmls.f64 d6, d3, d4 │ │ │ │ │ vstr d5, [r5] │ │ │ │ │ ldr r5, [sp, #52] @ 0x34 │ │ │ │ │ vstr d6, [r6] │ │ │ │ │ vldr d6, [sp, #24] │ │ │ │ │ - vldr d3, [ip, #-56] @ 0xffffffc8 │ │ │ │ │ vldr d5, [ip, #-64] @ 0xffffffc0 │ │ │ │ │ + vldr d3, [ip, #-56] @ 0xffffffc8 │ │ │ │ │ vadd.f64 d6, d6, d15 │ │ │ │ │ ldr r6, [sp, #40] @ 0x28 │ │ │ │ │ vmul.f64 d4, d7, d3 │ │ │ │ │ vmla.f64 d4, d6, d5 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ vnmls.f64 d6, d7, d5 │ │ │ │ │ vsub.f64 d7, d8, d14 │ │ │ │ │ vstr d4, [r5] │ │ │ │ │ vstr d6, [r6] │ │ │ │ │ vsub.f64 d6, d9, d10 │ │ │ │ │ - vldr d3, [ip, #-40] @ 0xffffffd8 │ │ │ │ │ vldr d4, [ip, #-48] @ 0xffffffd0 │ │ │ │ │ + vldr d3, [ip, #-40] @ 0xffffffd8 │ │ │ │ │ ldr r6, [sp, #36] @ 0x24 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d6, d4 │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ ldr r1, [sp, #248] @ 0xf8 │ │ │ │ │ - cmp r1, r2 │ │ │ │ │ vstr d7, [r6] │ │ │ │ │ - bne.w 52 │ │ │ │ │ + cmp r1, r2 │ │ │ │ │ + bne.w 72 │ │ │ │ │ add sp, #140 @ 0x8c │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3febb67a │ │ │ │ │ │ │ │ │ │ -00000318 : │ │ │ │ │ +00000358 : │ │ │ │ │ fftw_codelet_q1_3(): │ │ │ │ │ - ldr r2, [pc, #8] @ (324 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (328 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (364 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (368 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_difsq_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── q1_4.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2060 (bytes into file) │ │ │ │ │ + Start of section headers: 2144 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x80c: │ │ │ │ │ +There are 14 section headers, starting at offset 0x860: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000570 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000764 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0005a4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0005a4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0005a4 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 0005a9 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0005b1 000040 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 00077c 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 0005f1 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0005f1 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000624 0000f0 10 12 12 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000714 000050 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000794 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0005c4 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0007b8 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0005f8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0005f8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0005f8 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 0005fd 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000605 000040 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 0007d0 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000645 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000645 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000678 0000f0 10 12 12 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000768 000050 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 0007e8 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,18 +1,18 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 15 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1370 FUNC LOCAL DEFAULT 1 q1_4 │ │ │ │ │ + 1: 00000001 1456 FUNC LOCAL DEFAULT 1 q1_4 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000568 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000005bc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 4: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 8: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 9: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 10: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 11: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 12: 0000055d 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_q1_4 │ │ │ │ │ + 12: 000005b1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_q1_4 │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_difsq_register │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x764 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x7b8 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000568 00000903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000056c 00000103 R_ARM_REL32 00000001 q1_4 │ │ │ │ │ -00000564 00000d1e R_ARM_THM_JUMP24 00000000 fftw_kdft_difsq_register │ │ │ │ │ +000005bc 00000903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000005c0 00000103 R_ARM_REL32 00000001 q1_4 │ │ │ │ │ +000005b8 00000d1e R_ARM_THM_JUMP24 00000000 fftw_kdft_difsq_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x77c contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x7d0 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000402 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000602 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00000e02 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,104 +1,106 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ q1_4(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov fp, r1 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ mov sl, r0 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + mov fp, r1 │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #292 @ 0x124 │ │ │ │ │ - ldrd r1, r5, [sp, #392] @ 0x188 │ │ │ │ │ + ldrd r1, r7, [sp, #392] @ 0x188 │ │ │ │ │ ldr r0, [sp, #400] @ 0x190 │ │ │ │ │ - cmp r5, r0 │ │ │ │ │ - bge.w 550 │ │ │ │ │ - lsls r7, r3, #1 │ │ │ │ │ - lsls r0, r3, #3 │ │ │ │ │ - str r0, [sp, #264] @ 0x108 │ │ │ │ │ - adds r0, r7, r1 │ │ │ │ │ + cmp r7, r0 │ │ │ │ │ + bge.w 594 │ │ │ │ │ + mov.w r0, r3, lsl #3 │ │ │ │ │ + mov.w r5, r3, lsl #1 │ │ │ │ │ mov.w lr, r1, lsl #4 │ │ │ │ │ + str r0, [sp, #264] @ 0x108 │ │ │ │ │ + add.w r0, r5, r1 │ │ │ │ │ mov.w r8, r1, lsl #3 │ │ │ │ │ - lsls r4, r0, #3 │ │ │ │ │ - subs r0, r0, r3 │ │ │ │ │ - str r4, [sp, #268] @ 0x10c │ │ │ │ │ + mov.w r4, r0, lsl #3 │ │ │ │ │ + sub.w r0, r0, r3 │ │ │ │ │ add.w ip, r0, r1 │ │ │ │ │ - lsls r4, r0, #3 │ │ │ │ │ - str r4, [sp, #136] @ 0x88 │ │ │ │ │ - adds r4, r7, r0 │ │ │ │ │ mov.w r9, r3, lsl #4 │ │ │ │ │ - lsls r6, r4, #3 │ │ │ │ │ + str r4, [sp, #268] @ 0x10c │ │ │ │ │ + mov.w r4, r0, lsl #3 │ │ │ │ │ + str r4, [sp, #136] @ 0x88 │ │ │ │ │ + add.w r4, r5, r0 │ │ │ │ │ + mov.w r6, r4, lsl #3 │ │ │ │ │ add r4, r1 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ add.w r1, r1, r1, lsl #1 │ │ │ │ │ - str r6, [sp, #272] @ 0x110 │ │ │ │ │ - add r1, r7 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ + add r1, r5 │ │ │ │ │ str r4, [sp, #148] @ 0x94 │ │ │ │ │ - lsls r6, r0, #4 │ │ │ │ │ - lsls r4, r1, #3 │ │ │ │ │ - subs r1, r1, r3 │ │ │ │ │ + mov.w r4, r1, lsl #3 │ │ │ │ │ + sub.w r1, r1, r3 │ │ │ │ │ + str r6, [sp, #272] @ 0x110 │ │ │ │ │ + mov.w r3, r1, lsl #3 │ │ │ │ │ + mov.w r6, r0, lsl #4 │ │ │ │ │ + add.w r0, r0, r0, lsl #1 │ │ │ │ │ + strd r4, r3, [sp, #152] @ 0x98 │ │ │ │ │ + mov.w r3, r0, lsl #3 │ │ │ │ │ + ldr r0, [sp, #264] @ 0x108 │ │ │ │ │ str r6, [sp, #140] @ 0x8c │ │ │ │ │ - mov r7, r9 │ │ │ │ │ - lsls r3, r1, #3 │ │ │ │ │ - str r3, [sp, #156] @ 0x9c │ │ │ │ │ - movs r3, #24 │ │ │ │ │ mov.w r6, ip, lsl #3 │ │ │ │ │ - str r4, [sp, #152] @ 0x98 │ │ │ │ │ mov ip, r8 │ │ │ │ │ - str r6, [sp, #144] @ 0x90 │ │ │ │ │ - mul.w r3, r3, r0 │ │ │ │ │ - ldr r0, [sp, #264] @ 0x108 │ │ │ │ │ str r3, [sp, #256] @ 0x100 │ │ │ │ │ ldr r3, [sp, #404] @ 0x194 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ + str r6, [sp, #144] @ 0x90 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ str r3, [sp, #276] @ 0x114 │ │ │ │ │ - adds r3, r5, #1 │ │ │ │ │ + add.w r3, r7, #1 │ │ │ │ │ + mov r7, r9 │ │ │ │ │ str r3, [sp, #260] @ 0x104 │ │ │ │ │ - movs r3, #48 @ 0x30 │ │ │ │ │ - mla r3, r5, r3, r3 │ │ │ │ │ - adds r4, r2, r3 │ │ │ │ │ - negs r3, r0 │ │ │ │ │ + add.w r3, r3, r3, lsl #1 │ │ │ │ │ + add.w r4, r2, r3, lsl #4 │ │ │ │ │ + rsb r3, r0, #0 │ │ │ │ │ str r3, [sp, #280] @ 0x118 │ │ │ │ │ rsb r3, lr, #0 │ │ │ │ │ mov lr, sl │ │ │ │ │ str r3, [sp, #284] @ 0x11c │ │ │ │ │ - b.n 94 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + b.n c8 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str r3, [sp, #260] @ 0x104 │ │ │ │ │ add.w r3, lr, r7 │ │ │ │ │ vldr d6, [lr] │ │ │ │ │ add.w r0, fp, r7 │ │ │ │ │ - ldr r2, [sp, #280] @ 0x118 │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ - adds r4, #48 @ 0x30 │ │ │ │ │ + add.w r4, r4, #48 @ 0x30 │ │ │ │ │ vldr d11, [r3] │ │ │ │ │ - adds r5, r3, r2 │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ vldr d15, [r0] │ │ │ │ │ - adds r3, r5, r7 │ │ │ │ │ - adds r2, r0, r2 │ │ │ │ │ - str r5, [sp, #24] │ │ │ │ │ + ldr r6, [sp, #136] @ 0x88 │ │ │ │ │ vadd.f64 d13, d6, d11 │ │ │ │ │ vsub.f64 d11, d6, d11 │ │ │ │ │ vldr d6, [fp] │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - adds r3, r2, r7 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ + ldr r2, [sp, #280] @ 0x118 │ │ │ │ │ + add r6, lr │ │ │ │ │ + ldr r1, [sp, #272] @ 0x110 │ │ │ │ │ + str r6, [sp, #124] @ 0x7c │ │ │ │ │ vsub.f64 d1, d6, d15 │ │ │ │ │ vadd.f64 d6, d6, d15 │ │ │ │ │ - str r2, [sp, #132] @ 0x84 │ │ │ │ │ - add.w r2, lr, ip │ │ │ │ │ - ldr r6, [sp, #136] @ 0x88 │ │ │ │ │ - ldr r1, [sp, #272] @ 0x110 │ │ │ │ │ + add.w r5, r3, r2 │ │ │ │ │ + add r2, r0 │ │ │ │ │ + add.w r3, r5, r7 │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + add.w r3, r2, r7 │ │ │ │ │ vstr d6, [sp, #8] │ │ │ │ │ - add r6, lr │ │ │ │ │ vldr d6, [r5] │ │ │ │ │ + str r5, [sp, #24] │ │ │ │ │ ldr r5, [sp, #268] @ 0x10c │ │ │ │ │ - str r6, [sp, #124] @ 0x7c │ │ │ │ │ + str r2, [sp, #132] @ 0x84 │ │ │ │ │ + add.w r2, lr, ip │ │ │ │ │ vadd.f64 d14, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ add.w r3, lr, r5 │ │ │ │ │ add r5, fp │ │ │ │ │ str r3, [sp, #128] @ 0x80 │ │ │ │ │ vsub.f64 d12, d5, d7 │ │ │ │ │ @@ -113,108 +115,108 @@ │ │ │ │ │ add r3, ip │ │ │ │ │ vstr d7, [sp, #160] @ 0xa0 │ │ │ │ │ vldr d7, [r5] │ │ │ │ │ vadd.f64 d9, d5, d7 │ │ │ │ │ vsub.f64 d4, d5, d7 │ │ │ │ │ vldr d5, [r6] │ │ │ │ │ add.w r6, lr, r1 │ │ │ │ │ - str r6, [sp, #120] @ 0x78 │ │ │ │ │ vldr d7, [r6] │ │ │ │ │ + str r6, [sp, #120] @ 0x78 │ │ │ │ │ ldr r6, [sp, #136] @ 0x88 │ │ │ │ │ vstr d4, [sp, #168] @ 0xa8 │ │ │ │ │ - add r6, fp │ │ │ │ │ vadd.f64 d10, d5, d7 │ │ │ │ │ vsub.f64 d0, d5, d7 │ │ │ │ │ - str r6, [sp, #116] @ 0x74 │ │ │ │ │ + add r6, fp │ │ │ │ │ vldr d5, [r6] │ │ │ │ │ + str r6, [sp, #116] @ 0x74 │ │ │ │ │ add.w r6, fp, r1 │ │ │ │ │ - vstr d0, [sp, #176] @ 0xb0 │ │ │ │ │ vldr d7, [r6] │ │ │ │ │ + vstr d0, [sp, #176] @ 0xb0 │ │ │ │ │ vsub.f64 d3, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ vstr d3, [sp, #184] @ 0xb8 │ │ │ │ │ ldr r1, [sp, #140] @ 0x8c │ │ │ │ │ vstr d5, [sp, #40] @ 0x28 │ │ │ │ │ - add r1, lr │ │ │ │ │ vldr d5, [r2] │ │ │ │ │ - str r1, [sp, #112] @ 0x70 │ │ │ │ │ add r2, ip │ │ │ │ │ + add r1, lr │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ + str r1, [sp, #112] @ 0x70 │ │ │ │ │ ldr r1, [sp, #140] @ 0x8c │ │ │ │ │ vadd.f64 d3, d5, d7 │ │ │ │ │ vsub.f64 d7, d5, d7 │ │ │ │ │ - add r1, fp │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - str r1, [sp, #108] @ 0x6c │ │ │ │ │ + add r1, fp │ │ │ │ │ add r3, ip │ │ │ │ │ + str r1, [sp, #108] @ 0x6c │ │ │ │ │ vstr d7, [sp, #192] @ 0xc0 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - ldr r1, [sp, #144] @ 0x90 │ │ │ │ │ vstr d3, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r1, [sp, #144] @ 0x90 │ │ │ │ │ vsub.f64 d4, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ add r1, lr │ │ │ │ │ - str r1, [sp, #104] @ 0x68 │ │ │ │ │ vstr d5, [sp, #56] @ 0x38 │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ + str r1, [sp, #104] @ 0x68 │ │ │ │ │ ldr r1, [sp, #148] @ 0x94 │ │ │ │ │ vstr d4, [sp, #200] @ 0xc8 │ │ │ │ │ add.w sl, lr, r1 │ │ │ │ │ ldr r1, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d7, [sl] │ │ │ │ │ add r1, fp │ │ │ │ │ str r1, [sp, #100] @ 0x64 │ │ │ │ │ - vldr d7, [sl] │ │ │ │ │ vadd.f64 d3, d5, d7 │ │ │ │ │ vsub.f64 d7, d5, d7 │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ ldr r1, [sp, #148] @ 0x94 │ │ │ │ │ + vstr d3, [sp, #64] @ 0x40 │ │ │ │ │ add.w r9, fp, r1 │ │ │ │ │ vstr d7, [sp, #208] @ 0xd0 │ │ │ │ │ ldr r1, [sp, #152] @ 0x98 │ │ │ │ │ - vstr d3, [sp, #64] @ 0x40 │ │ │ │ │ vldr d7, [r9] │ │ │ │ │ add r1, lr │ │ │ │ │ str r1, [sp, #96] @ 0x60 │ │ │ │ │ vsub.f64 d0, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ vstr d5, [sp, #72] @ 0x48 │ │ │ │ │ vldr d5, [r2] │ │ │ │ │ vstr d0, [sp, #216] @ 0xd8 │ │ │ │ │ vadd.f64 d0, d5, d7 │ │ │ │ │ vsub.f64 d7, d5, d7 │ │ │ │ │ vstr d7, [sp, #224] @ 0xe0 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ + vstr d8, [sp, #16] │ │ │ │ │ ldr r1, [sp, #152] @ 0x98 │ │ │ │ │ vstr d10, [sp, #32] │ │ │ │ │ add.w r8, fp, r1 │ │ │ │ │ ldr r1, [sp, #156] @ 0x9c │ │ │ │ │ - vstr d8, [sp, #16] │ │ │ │ │ + vldr d7, [r8] │ │ │ │ │ add r1, lr │ │ │ │ │ str r1, [sp, #92] @ 0x5c │ │ │ │ │ - vldr d7, [r8] │ │ │ │ │ vsub.f64 d4, d3, d7 │ │ │ │ │ vadd.f64 d3, d3, d7 │ │ │ │ │ vstr d4, [sp, #232] @ 0xe8 │ │ │ │ │ vldr d4, [r1] │ │ │ │ │ ldr r1, [sp, #256] @ 0x100 │ │ │ │ │ add r1, lr │ │ │ │ │ - str r1, [sp, #88] @ 0x58 │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ + str r1, [sp, #88] @ 0x58 │ │ │ │ │ ldr r1, [sp, #156] @ 0x9c │ │ │ │ │ vadd.f64 d7, d4, d5 │ │ │ │ │ vsub.f64 d5, d4, d5 │ │ │ │ │ add r1, fp │ │ │ │ │ str r1, [sp, #84] @ 0x54 │ │ │ │ │ vstr d5, [sp, #240] @ 0xf0 │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ ldr r1, [sp, #256] @ 0x100 │ │ │ │ │ add r1, fp │ │ │ │ │ - str r1, [sp, #80] @ 0x50 │ │ │ │ │ vldr d4, [r1] │ │ │ │ │ + str r1, [sp, #80] @ 0x50 │ │ │ │ │ ldr r1, [sp, #24] │ │ │ │ │ vstr d9, [sp, #24] │ │ │ │ │ vsub.f64 d15, d5, d4 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ vadd.f64 d4, d13, d14 │ │ │ │ │ vstr d15, [sp, #248] @ 0xf8 │ │ │ │ │ vmov.f64 d15, d2 │ │ │ │ │ @@ -225,206 +227,211 @@ │ │ │ │ │ vadd.f64 d4, d8, d10 │ │ │ │ │ vldr d10, [sp, #64] @ 0x40 │ │ │ │ │ vstr d4, [r1] │ │ │ │ │ vldr d4, [sp, #40] @ 0x28 │ │ │ │ │ ldr r1, [sp, #132] @ 0x84 │ │ │ │ │ vadd.f64 d4, d9, d4 │ │ │ │ │ vstr d4, [r1] │ │ │ │ │ - vldr d4, [sp, #48] @ 0x30 │ │ │ │ │ ldr r1, [sp, #4] │ │ │ │ │ + vldr d4, [sp, #48] @ 0x30 │ │ │ │ │ vadd.f64 d4, d4, d10 │ │ │ │ │ vstr d4, [r1] │ │ │ │ │ vldr d9, [sp, #56] @ 0x38 │ │ │ │ │ vldr d4, [sp, #72] @ 0x48 │ │ │ │ │ ldr r1, [sp, #264] @ 0x108 │ │ │ │ │ vadd.f64 d4, d9, d4 │ │ │ │ │ vadd.f64 d9, d1, d6 │ │ │ │ │ vsub.f64 d6, d1, d6 │ │ │ │ │ vstr d4, [r0] │ │ │ │ │ vadd.f64 d4, d3, d5 │ │ │ │ │ add r0, r1 │ │ │ │ │ vsub.f64 d5, d3, d5 │ │ │ │ │ vstr d4, [r0] │ │ │ │ │ mov r0, r1 │ │ │ │ │ - ldr r1, [sp, #4] │ │ │ │ │ vadd.f64 d4, d0, d7 │ │ │ │ │ + ldr r1, [sp, #4] │ │ │ │ │ vsub.f64 d7, d0, d7 │ │ │ │ │ add r1, r0 │ │ │ │ │ ldr r0, [sp, #284] @ 0x11c │ │ │ │ │ vstr d4, [r1] │ │ │ │ │ vsub.f64 d4, d11, d12 │ │ │ │ │ - vldr d8, [r4, #-56] @ 0xffffffc8 │ │ │ │ │ vldr d10, [r4, #-64] @ 0xffffffc0 │ │ │ │ │ + vldr d8, [r4, #-56] @ 0xffffffc8 │ │ │ │ │ vmul.f64 d2, d4, d8 │ │ │ │ │ vmul.f64 d4, d4, d10 │ │ │ │ │ - vmla.f64 d4, d9, d8 │ │ │ │ │ vnmls.f64 d2, d9, d10 │ │ │ │ │ + vmla.f64 d4, d9, d8 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ add r3, r0 │ │ │ │ │ vstr d4, [r2] │ │ │ │ │ add r2, r0 │ │ │ │ │ - vldr d2, [r4, #-72] @ 0xffffffb8 │ │ │ │ │ vldr d3, [r4, #-80] @ 0xffffffb0 │ │ │ │ │ + vldr d2, [r4, #-72] @ 0xffffffb8 │ │ │ │ │ vmul.f64 d4, d5, d2 │ │ │ │ │ vmla.f64 d4, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ vnmls.f64 d7, d5, d3 │ │ │ │ │ vstr d4, [sl] │ │ │ │ │ vstr d7, [r9] │ │ │ │ │ vadd.f64 d7, d11, d12 │ │ │ │ │ - vldr d4, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ vldr d3, [r4, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d4, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ vldr d11, [sp, #192] @ 0xc0 │ │ │ │ │ - vmul.f64 d5, d7, d4 │ │ │ │ │ vldr d12, [sp, #200] @ 0xc8 │ │ │ │ │ + vmul.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ - vmla.f64 d7, d6, d4 │ │ │ │ │ vnmls.f64 d5, d6, d3 │ │ │ │ │ + vmla.f64 d7, d6, d4 │ │ │ │ │ vldr d6, [sp, #8] │ │ │ │ │ vsub.f64 d15, d6, d15 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ add r3, ip │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d13, d14 │ │ │ │ │ - vldr d3, [r4, #-72] @ 0xffffffb8 │ │ │ │ │ add r2, ip │ │ │ │ │ vldr d5, [r4, #-80] @ 0xffffffb0 │ │ │ │ │ + vldr d3, [r4, #-72] @ 0xffffffb8 │ │ │ │ │ + vldr d13, [sp, #208] @ 0xd0 │ │ │ │ │ vldr d14, [sp, #216] @ 0xd8 │ │ │ │ │ vmul.f64 d6, d15, d3 │ │ │ │ │ - vldr d13, [sp, #208] @ 0xd0 │ │ │ │ │ + vadd.f64 d4, d12, d13 │ │ │ │ │ vmla.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ - vadd.f64 d4, d12, d13 │ │ │ │ │ vnmls.f64 d7, d15, d5 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d11, d14 │ │ │ │ │ - vldr d5, [r4, #-56] @ 0xffffffc8 │ │ │ │ │ vldr d3, [r4, #-64] @ 0xffffffc0 │ │ │ │ │ + vldr d5, [r4, #-56] @ 0xffffffc8 │ │ │ │ │ vmul.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ - vmla.f64 d7, d4, d5 │ │ │ │ │ vnmls.f64 d6, d4, d3 │ │ │ │ │ + vmla.f64 d7, d4, d5 │ │ │ │ │ vstr d6, [r8] │ │ │ │ │ ldr r0, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d0, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d8, [sp, #16] │ │ │ │ │ vldr d15, [sp, #224] @ 0xe0 │ │ │ │ │ - vldr d2, [sp, #232] @ 0xe8 │ │ │ │ │ vstr d7, [r0] │ │ │ │ │ - vadd.f64 d7, d15, d0 │ │ │ │ │ - vldr d5, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ + vldr d0, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d2, [sp, #232] @ 0xe8 │ │ │ │ │ vldr d1, [sp, #240] @ 0xf0 │ │ │ │ │ vldr d3, [r4, #-96] @ 0xffffffa0 │ │ │ │ │ - ldr r2, [sp, #120] @ 0x78 │ │ │ │ │ + vadd.f64 d7, d15, d0 │ │ │ │ │ + vldr d5, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ vsub.f64 d4, d2, d1 │ │ │ │ │ + vldr d9, [sp, #24] │ │ │ │ │ + ldr r2, [sp, #120] @ 0x78 │ │ │ │ │ vmul.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ - vldr d9, [sp, #24] │ │ │ │ │ - vldr d8, [sp, #16] │ │ │ │ │ vldr d10, [sp, #32] │ │ │ │ │ + ldr r3, [sp, #128] @ 0x80 │ │ │ │ │ vnmls.f64 d6, d4, d3 │ │ │ │ │ vmla.f64 d7, d4, d5 │ │ │ │ │ vldr d5, [sp, #40] @ 0x28 │ │ │ │ │ - ldr r3, [sp, #128] @ 0x80 │ │ │ │ │ vsub.f64 d4, d9, d5 │ │ │ │ │ vldr d9, [sp, #56] @ 0x38 │ │ │ │ │ vstr d6, [r6] │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d8, d10 │ │ │ │ │ - vldr d3, [r4, #-72] @ 0xffffffb8 │ │ │ │ │ vldr d5, [r4, #-80] @ 0xffffffb0 │ │ │ │ │ + vldr d3, [r4, #-72] @ 0xffffffb8 │ │ │ │ │ + vldr d10, [sp, #64] @ 0x40 │ │ │ │ │ ldr r2, [sp, #104] @ 0x68 │ │ │ │ │ vmul.f64 d6, d4, d3 │ │ │ │ │ - vldr d10, [sp, #64] @ 0x40 │ │ │ │ │ vmla.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d4, d5 │ │ │ │ │ vsub.f64 d4, d12, d13 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ ldr r2, [sp, #100] @ 0x64 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ vadd.f64 d7, d11, d14 │ │ │ │ │ - vldr d5, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ vldr d3, [r4, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d5, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ vmul.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ + vnmls.f64 d6, d4, d3 │ │ │ │ │ vmla.f64 d7, d4, d5 │ │ │ │ │ vldr d5, [sp, #72] @ 0x48 │ │ │ │ │ - vnmls.f64 d6, d4, d3 │ │ │ │ │ vsub.f64 d4, d9, d5 │ │ │ │ │ vstr d6, [r5] │ │ │ │ │ vldr d6, [sp, #48] @ 0x30 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ + vldr d5, [r4, #-80] @ 0xffffffb0 │ │ │ │ │ vldr d3, [r4, #-72] @ 0xffffffb8 │ │ │ │ │ vsub.f64 d7, d6, d10 │ │ │ │ │ - vldr d5, [r4, #-80] @ 0xffffffb0 │ │ │ │ │ - ldr r1, [sp, #112] @ 0x70 │ │ │ │ │ + ldrd r1, r3, [sp, #112] @ 0x70 │ │ │ │ │ + ldr r0, [sp, #80] @ 0x50 │ │ │ │ │ vmul.f64 d6, d4, d3 │ │ │ │ │ + vldr d8, [sp, #184] @ 0xb8 │ │ │ │ │ ldr r2, [sp, #88] @ 0x58 │ │ │ │ │ - ldr r0, [sp, #80] @ 0x50 │ │ │ │ │ + ldr r6, [sp, #124] @ 0x7c │ │ │ │ │ vmla.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ - vldr d8, [sp, #184] @ 0xb8 │ │ │ │ │ - ldr r3, [sp, #116] @ 0x74 │ │ │ │ │ - ldr r6, [sp, #124] @ 0x7c │ │ │ │ │ vnmls.f64 d7, d4, d5 │ │ │ │ │ - vadd.f64 d5, d2, d1 │ │ │ │ │ - vldr d2, [sp, #160] @ 0xa0 │ │ │ │ │ + vmov.f64 d5, d1 │ │ │ │ │ vldr d1, [sp, #168] @ 0xa8 │ │ │ │ │ + vadd.f64 d5, d2, d5 │ │ │ │ │ + vldr d2, [sp, #160] @ 0xa0 │ │ │ │ │ vstr d6, [r1] │ │ │ │ │ + vmov.f64 d6, d0 │ │ │ │ │ ldr r1, [sp, #108] @ 0x6c │ │ │ │ │ + vldr d0, [sp, #176] @ 0xb0 │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ - vsub.f64 d7, d15, d0 │ │ │ │ │ - vldr d4, [r4, #-56] @ 0xffffffc8 │ │ │ │ │ + vsub.f64 d7, d15, d6 │ │ │ │ │ vldr d3, [r4, #-64] @ 0xffffffc0 │ │ │ │ │ - vldr d0, [sp, #176] @ 0xb0 │ │ │ │ │ - vmul.f64 d6, d7, d4 │ │ │ │ │ + vldr d4, [r4, #-56] @ 0xffffffc8 │ │ │ │ │ ldr r1, [sp, #92] @ 0x5c │ │ │ │ │ + vmul.f64 d6, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ + vnmls.f64 d6, d5, d3 │ │ │ │ │ vmla.f64 d7, d5, d4 │ │ │ │ │ vsub.f64 d4, d1, d0 │ │ │ │ │ - vnmls.f64 d6, d5, d3 │ │ │ │ │ vstr d6, [r0] │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ vadd.f64 d7, d2, d8 │ │ │ │ │ - vldr d5, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ vldr d3, [r4, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d5, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ ldr r2, [sp, #400] @ 0x190 │ │ │ │ │ vmul.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ - vmla.f64 d7, d4, d5 │ │ │ │ │ vnmls.f64 d6, d4, d3 │ │ │ │ │ + vmla.f64 d7, d4, d5 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ vadd.f64 d6, d1, d0 │ │ │ │ │ vstr d7, [r6] │ │ │ │ │ vsub.f64 d7, d2, d8 │ │ │ │ │ - vldr d4, [r4, #-56] @ 0xffffffc8 │ │ │ │ │ vldr d3, [r4, #-64] @ 0xffffffc0 │ │ │ │ │ + vldr d4, [r4, #-56] @ 0xffffffc8 │ │ │ │ │ ldr r3, [sp, #84] @ 0x54 │ │ │ │ │ vmul.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ - vmla.f64 d7, d6, d4 │ │ │ │ │ vnmls.f64 d5, d6, d3 │ │ │ │ │ + vmla.f64 d7, d6, d4 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ ldr r3, [sp, #276] @ 0x114 │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ add lr, r3 │ │ │ │ │ add fp, r3 │ │ │ │ │ ldr r3, [sp, #260] @ 0x104 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.w 90 │ │ │ │ │ + bne.w c2 │ │ │ │ │ add sp, #292 @ 0x124 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -0000055c : │ │ │ │ │ +000005b0 : │ │ │ │ │ fftw_codelet_q1_4(): │ │ │ │ │ - ldr r2, [pc, #8] @ (568 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (56c ) │ │ │ │ │ + ldr r2, [pc, #8] @ (5bc ) │ │ │ │ │ + ldr r1, [pc, #12] @ (5c0 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_difsq_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── q1_5.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 3500 (bytes into file) │ │ │ │ │ + Start of section headers: 3604 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0xdac: │ │ │ │ │ +There are 14 section headers, starting at offset 0xe14: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000af0 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000d04 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000b24 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000b24 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000b24 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000b29 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 000b31 000040 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000d1c 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000b71 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000b71 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000ba4 000110 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000cb4 000050 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000d34 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000b58 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000d6c 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000b8c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000b8c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000b8c 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000b91 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000b99 000040 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000d84 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000bd9 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000bd9 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000c0c 000110 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000d1c 000050 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000d9c 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,20 +1,20 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 17 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 2778 FUNC LOCAL DEFAULT 1 q1_5 │ │ │ │ │ + 1: 00000001 2882 FUNC LOCAL DEFAULT 1 q1_5 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000000e0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 000000f8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000ae8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000128 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000140 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000b50 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 14: 00000add 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_q1_5 │ │ │ │ │ + 14: 00000b45 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_q1_5 │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_difsq_register │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xd04 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xd6c contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000ae8 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000aec 00000103 R_ARM_REL32 00000001 q1_5 │ │ │ │ │ -00000ae4 00000f1e R_ARM_THM_JUMP24 00000000 fftw_kdft_difsq_register │ │ │ │ │ +00000b50 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000b54 00000103 R_ARM_REL32 00000001 q1_5 │ │ │ │ │ +00000b4c 00000f1e R_ARM_THM_JUMP24 00000000 fftw_kdft_difsq_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xd1c contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xd84 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001002 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,167 +1,163 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ q1_5(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r8, r1 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub.w sp, sp, #636 @ 0x27c │ │ │ │ │ - ldrd r1, ip, [sp, #736] @ 0x2e0 │ │ │ │ │ + ldrd r1, lr, [sp, #736] @ 0x2e0 │ │ │ │ │ str r2, [sp, #4] │ │ │ │ │ ldr r2, [sp, #744] @ 0x2e8 │ │ │ │ │ - cmp ip, r2 │ │ │ │ │ - bge.w ace │ │ │ │ │ - mov.w lr, #24 │ │ │ │ │ + cmp lr, r2 │ │ │ │ │ + bge.w b24 │ │ │ │ │ mov fp, r0 │ │ │ │ │ - lsls r0, r3, #1 │ │ │ │ │ - lsls r6, r3, #2 │ │ │ │ │ - adds r7, r0, r1 │ │ │ │ │ + mov.w r0, r3, lsl #1 │ │ │ │ │ + vldr d12, [pc, #244] @ 128 │ │ │ │ │ + mov.w r6, r3, lsl #2 │ │ │ │ │ + vmov.f64 d11, #80 @ 0x3e800000 0.250 │ │ │ │ │ + add.w r7, r0, r3 │ │ │ │ │ + add.w ip, r0, r1 │ │ │ │ │ mov.w r9, r1, lsl #3 │ │ │ │ │ - adds r5, r7, r3 │ │ │ │ │ - mul.w r2, lr, r3 │ │ │ │ │ - subs r4, r5, r0 │ │ │ │ │ - str r2, [sp, #608] @ 0x260 │ │ │ │ │ - lsls r2, r3, #3 │ │ │ │ │ + mov.w r2, r7, lsl #3 │ │ │ │ │ + add.w r5, ip, r3 │ │ │ │ │ + vldr d15, [pc, #220] @ 130 │ │ │ │ │ + sub.w r4, r5, r0 │ │ │ │ │ + mov.w sl, r3, lsl #4 │ │ │ │ │ + vldr d13, [pc, #216] @ 138 │ │ │ │ │ + str r2, [sp, #620] @ 0x26c │ │ │ │ │ + mov.w r2, r3, lsl #3 │ │ │ │ │ str r2, [sp, #0] │ │ │ │ │ - lsls r2, r7, #3 │ │ │ │ │ + mov.w r2, ip, lsl #3 │ │ │ │ │ str r2, [sp, #276] @ 0x114 │ │ │ │ │ - lsls r2, r5, #3 │ │ │ │ │ + mov.w r2, r5, lsl #3 │ │ │ │ │ add r5, r1 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ str r2, [sp, #280] @ 0x118 │ │ │ │ │ - lsls r2, r4, #3 │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ + mov.w r2, r4, lsl #3 │ │ │ │ │ str r2, [sp, #284] @ 0x11c │ │ │ │ │ + add.w r2, r6, r1 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ str r5, [sp, #292] @ 0x124 │ │ │ │ │ - adds r2, r6, r1 │ │ │ │ │ - adds r5, r4, r1 │ │ │ │ │ - lsls r7, r7, #4 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ - str r7, [sp, #616] @ 0x268 │ │ │ │ │ - str r2, [sp, #612] @ 0x264 │ │ │ │ │ - adds r7, r0, r3 │ │ │ │ │ - lsls r2, r1, #4 │ │ │ │ │ + add.w r5, r4, r1 │ │ │ │ │ + str r2, [sp, #608] @ 0x260 │ │ │ │ │ + mov.w r2, r1, lsl #4 │ │ │ │ │ str r2, [sp, #604] @ 0x25c │ │ │ │ │ - lsls r2, r4, #4 │ │ │ │ │ + mov.w r2, r4, lsl #4 │ │ │ │ │ str r2, [sp, #288] @ 0x120 │ │ │ │ │ - lsls r2, r5, #3 │ │ │ │ │ - lsls r5, r5, #4 │ │ │ │ │ - str r5, [sp, #300] @ 0x12c │ │ │ │ │ - lsls r5, r1, #2 │ │ │ │ │ + mov.w r2, r5, lsl #3 │ │ │ │ │ + mov.w r5, r5, lsl #4 │ │ │ │ │ + strd r2, r5, [sp, #296] @ 0x128 │ │ │ │ │ + mov.w r5, r1, lsl #2 │ │ │ │ │ add.w r1, r1, r1, lsl #1 │ │ │ │ │ add r7, r5 │ │ │ │ │ - add r0, r1 │ │ │ │ │ add r5, r3 │ │ │ │ │ + mov.w r2, ip, lsl #4 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ + add r0, r1 │ │ │ │ │ add r6, r1 │ │ │ │ │ - mov.w sl, r3, lsl #4 │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ - str r5, [sp, #308] @ 0x134 │ │ │ │ │ - lsls r5, r4, #5 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + mov ip, r9 │ │ │ │ │ + strd r7, r5, [sp, #304] @ 0x130 │ │ │ │ │ + mov.w r5, r4, lsl #5 │ │ │ │ │ + add.w r4, r4, r4, lsl #1 │ │ │ │ │ str r5, [sp, #312] @ 0x138 │ │ │ │ │ - lsls r5, r0, #3 │ │ │ │ │ - subs r0, r0, r3 │ │ │ │ │ - str r2, [sp, #296] @ 0x128 │ │ │ │ │ - mul.w r4, lr, r4 │ │ │ │ │ - lsls r3, r0, #3 │ │ │ │ │ + mov.w r5, r0, lsl #3 │ │ │ │ │ + sub.w r0, r0, r3 │ │ │ │ │ + mov.w r3, r0, lsl #3 │ │ │ │ │ + str r2, [sp, #612] @ 0x264 │ │ │ │ │ + ldr r2, [sp, #4] │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + str.w sl, [sp, #4] │ │ │ │ │ + strd r5, r3, [sp, #316] @ 0x13c │ │ │ │ │ + mov.w r3, r6, lsl #3 │ │ │ │ │ str r3, [sp, #324] @ 0x144 │ │ │ │ │ - lsls r3, r6, #3 │ │ │ │ │ - str r3, [sp, #328] @ 0x148 │ │ │ │ │ ldr r3, [sp, #748] @ 0x2ec │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ - ldr r2, [sp, #4] │ │ │ │ │ + str r4, [sp, #328] @ 0x148 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + str r3, [sp, #616] @ 0x268 │ │ │ │ │ + add.w r3, lr, #1 │ │ │ │ │ mov lr, fp │ │ │ │ │ - str r4, [sp, #320] @ 0x140 │ │ │ │ │ - vmov.f64 d11, #80 @ 0x3e800000 0.250 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ - str r3, [sp, #620] @ 0x26c │ │ │ │ │ - add.w r3, ip, #1 │ │ │ │ │ - vldr d12, [pc, #52] @ e0 │ │ │ │ │ - str r3, [sp, #600] @ 0x258 │ │ │ │ │ - mov ip, r9 │ │ │ │ │ add.w r4, r2, r3, lsl #6 │ │ │ │ │ ldr r2, [sp, #604] @ 0x25c │ │ │ │ │ + str r3, [sp, #600] @ 0x258 │ │ │ │ │ rsb r3, sl, #0 │ │ │ │ │ - vldr d15, [pc, #40] @ e8 │ │ │ │ │ str r3, [sp, #624] @ 0x270 │ │ │ │ │ rsb r3, r9, #0 │ │ │ │ │ - vldr d13, [pc, #40] @ f0 │ │ │ │ │ str r3, [sp, #332] @ 0x14c │ │ │ │ │ - negs r3, r2 │ │ │ │ │ - str r7, [sp, #304] @ 0x130 │ │ │ │ │ - str r5, [sp, #316] @ 0x13c │ │ │ │ │ + rsb r3, r2, #0 │ │ │ │ │ str r3, [sp, #628] @ 0x274 │ │ │ │ │ - str.w sl, [sp, #4] │ │ │ │ │ - b.n fc │ │ │ │ │ - nop │ │ │ │ │ + b.n 146 │ │ │ │ │ nop.w │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str r3, [sp, #600] @ 0x258 │ │ │ │ │ - ldr r0, [sp, #4] │ │ │ │ │ - adds r4, #64 @ 0x40 │ │ │ │ │ - ldr r2, [sp, #0] │ │ │ │ │ - add.w r3, lr, r0 │ │ │ │ │ - ldr r1, [sp, #624] @ 0x270 │ │ │ │ │ - ldr r7, [sp, #608] @ 0x260 │ │ │ │ │ + ldrd r2, r0, [sp] │ │ │ │ │ + add.w r4, r4, #64 @ 0x40 │ │ │ │ │ + ldrd r7, r1, [sp, #620] @ 0x26c │ │ │ │ │ vldr d14, [lr] │ │ │ │ │ + add.w r3, lr, r0 │ │ │ │ │ + vldr d8, [r8] │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ add r3, r2 │ │ │ │ │ - adds r6, r3, r1 │ │ │ │ │ - str r3, [sp, #272] @ 0x110 │ │ │ │ │ - vldr d8, [r8] │ │ │ │ │ + add.w r6, r3, r1 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - adds r3, r6, r7 │ │ │ │ │ vstr d8, [sp, #16] │ │ │ │ │ - vadd.f64 d4, d7, d6 │ │ │ │ │ + str r3, [sp, #272] @ 0x110 │ │ │ │ │ + add.w r3, r6, r7 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ + add.w r3, r8, r0 │ │ │ │ │ + vadd.f64 d4, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ + add.w r0, r3, r2 │ │ │ │ │ vldr d6, [r6] │ │ │ │ │ - add.w r3, r8, r0 │ │ │ │ │ - adds r0, r3, r2 │ │ │ │ │ + add r1, r0 │ │ │ │ │ add.w r2, lr, ip │ │ │ │ │ vadd.f64 d5, d6, d3 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ - adds r1, r0, r1 │ │ │ │ │ vsub.f64 d3, d5, d4 │ │ │ │ │ vmul.f64 d9, d3, d12 │ │ │ │ │ vmul.f64 d3, d6, d13 │ │ │ │ │ vnmls.f64 d3, d7, d15 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ + vstr d9, [sp, #336] @ 0x150 │ │ │ │ │ vmla.f64 d7, d6, d15 │ │ │ │ │ vadd.f64 d6, d4, d5 │ │ │ │ │ - vstr d9, [sp, #336] @ 0x150 │ │ │ │ │ vmls.f64 d14, d6, d11 │ │ │ │ │ vstr d6, [sp, #8] │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - adds r3, r1, r7 │ │ │ │ │ - ldr r7, [sp, #276] @ 0x114 │ │ │ │ │ + add.w r3, r1, r7 │ │ │ │ │ vstr d3, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d3, [r3] │ │ │ │ │ vstr d7, [sp, #352] @ 0x160 │ │ │ │ │ - add r7, lr │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - ldr r3, [sp, #280] @ 0x118 │ │ │ │ │ + ldrd r7, r3, [sp, #276] @ 0x114 │ │ │ │ │ + vstr d14, [sp, #360] @ 0x168 │ │ │ │ │ vsub.f64 d4, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ + add r7, lr │ │ │ │ │ add r3, lr │ │ │ │ │ - str r7, [sp, #268] @ 0x10c │ │ │ │ │ - str r3, [sp, #264] @ 0x108 │ │ │ │ │ + strd r3, r7, [sp, #264] @ 0x108 │ │ │ │ │ vsub.f64 d5, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ vmul.f64 d3, d4, d13 │ │ │ │ │ - vstr d14, [sp, #360] @ 0x168 │ │ │ │ │ vadd.f64 d0, d6, d7 │ │ │ │ │ vmov.f64 d1, d3 │ │ │ │ │ vmla.f64 d1, d5, d15 │ │ │ │ │ vmul.f64 d5, d5, d13 │ │ │ │ │ vstr d0, [sp, #32] │ │ │ │ │ vnmls.f64 d5, d4, d15 │ │ │ │ │ vstr d1, [sp, #368] @ 0x170 │ │ │ │ │ @@ -172,178 +168,177 @@ │ │ │ │ │ vmul.f64 d2, d5, d12 │ │ │ │ │ vstr d2, [sp, #24] │ │ │ │ │ vldr d2, [r2] │ │ │ │ │ add r2, ip │ │ │ │ │ vstr d7, [sp, #384] @ 0x180 │ │ │ │ │ vldr d7, [r7] │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - ldr r5, [sp, #612] @ 0x264 │ │ │ │ │ ldr r3, [sp, #284] @ 0x11c │ │ │ │ │ - add.w r7, lr, r5 │ │ │ │ │ + vstr d2, [sp, #40] @ 0x28 │ │ │ │ │ + ldr r5, [sp, #608] @ 0x260 │ │ │ │ │ vadd.f64 d4, d7, d6 │ │ │ │ │ - add r3, lr │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - str r7, [sp, #256] @ 0x100 │ │ │ │ │ - vldr d3, [r7] │ │ │ │ │ + add r3, lr │ │ │ │ │ + add.w r7, lr, r5 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - ldr r7, [sp, #276] @ 0x114 │ │ │ │ │ - str r3, [sp, #260] @ 0x104 │ │ │ │ │ + vldr d3, [r7] │ │ │ │ │ + strd r7, r3, [sp, #256] @ 0x100 │ │ │ │ │ add.w r3, r8, ip │ │ │ │ │ + ldr r7, [sp, #276] @ 0x114 │ │ │ │ │ + vldr d1, [r3] │ │ │ │ │ + add r3, ip │ │ │ │ │ vadd.f64 d5, d6, d3 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ add r7, r8 │ │ │ │ │ str r7, [sp, #252] @ 0xfc │ │ │ │ │ - vldr d1, [r3] │ │ │ │ │ - add r3, ip │ │ │ │ │ - vstr d2, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d1, [sp, #56] @ 0x38 │ │ │ │ │ vsub.f64 d3, d5, d4 │ │ │ │ │ vadd.f64 d5, d4, d5 │ │ │ │ │ - vstr d1, [sp, #56] @ 0x38 │ │ │ │ │ vmul.f64 d10, d3, d12 │ │ │ │ │ vmul.f64 d3, d6, d13 │ │ │ │ │ vstr d5, [sp, #48] @ 0x30 │ │ │ │ │ vnmls.f64 d3, d7, d15 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ vstr d10, [sp, #392] @ 0x188 │ │ │ │ │ vmov.f64 d0, d7 │ │ │ │ │ vmla.f64 d0, d6, d15 │ │ │ │ │ vldr d6, [r7] │ │ │ │ │ + vstr d3, [sp, #400] @ 0x190 │ │ │ │ │ ldr r7, [sp, #280] @ 0x118 │ │ │ │ │ add r7, r8 │ │ │ │ │ - str r7, [sp, #248] @ 0xf8 │ │ │ │ │ - vstr d3, [sp, #400] @ 0x190 │ │ │ │ │ vldr d7, [r7] │ │ │ │ │ + str r7, [sp, #248] @ 0xf8 │ │ │ │ │ ldr r7, [sp, #284] @ 0x11c │ │ │ │ │ vstr d0, [sp, #408] @ 0x198 │ │ │ │ │ vmov.f64 d0, d2 │ │ │ │ │ - add r7, r8 │ │ │ │ │ - str r7, [sp, #244] @ 0xf4 │ │ │ │ │ vsub.f64 d4, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ + add r7, r8 │ │ │ │ │ vmls.f64 d0, d5, d11 │ │ │ │ │ vldr d3, [r7] │ │ │ │ │ + str r7, [sp, #244] @ 0xf4 │ │ │ │ │ add.w r7, r8, r5 │ │ │ │ │ - str r7, [sp, #240] @ 0xf0 │ │ │ │ │ vldr d7, [r7] │ │ │ │ │ + str r7, [sp, #240] @ 0xf0 │ │ │ │ │ + vstr d0, [sp, #416] @ 0x1a0 │ │ │ │ │ vsub.f64 d5, d3, d7 │ │ │ │ │ vadd.f64 d7, d3, d7 │ │ │ │ │ vmul.f64 d3, d4, d13 │ │ │ │ │ - vstr d0, [sp, #416] @ 0x1a0 │ │ │ │ │ vmov.f64 d9, d3 │ │ │ │ │ vmla.f64 d9, d5, d15 │ │ │ │ │ vmul.f64 d5, d5, d13 │ │ │ │ │ vnmls.f64 d5, d4, d15 │ │ │ │ │ vadd.f64 d4, d6, d7 │ │ │ │ │ - vstr d9, [sp, #424] @ 0x1a8 │ │ │ │ │ vstr d4, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d9, [sp, #424] @ 0x1a8 │ │ │ │ │ vldr d9, [r2] │ │ │ │ │ vstr d5, [sp, #432] @ 0x1b0 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vmov.f64 d6, d1 │ │ │ │ │ vmls.f64 d6, d4, d11 │ │ │ │ │ vmul.f64 d14, d5, d12 │ │ │ │ │ vstr d14, [sp, #440] @ 0x1b8 │ │ │ │ │ vstr d6, [sp, #448] @ 0x1c0 │ │ │ │ │ ldr r7, [sp, #288] @ 0x120 │ │ │ │ │ - ldr r5, [sp, #616] @ 0x268 │ │ │ │ │ - add r7, lr │ │ │ │ │ - str r7, [sp, #236] @ 0xec │ │ │ │ │ - str r3, [sp, #144] @ 0x90 │ │ │ │ │ vstr d9, [sp, #72] @ 0x48 │ │ │ │ │ + ldr r5, [sp, #612] @ 0x264 │ │ │ │ │ + str r3, [sp, #144] @ 0x90 │ │ │ │ │ + add r7, lr │ │ │ │ │ vldr d7, [r7] │ │ │ │ │ + str r7, [sp, #236] @ 0xec │ │ │ │ │ ldr r7, [sp, #292] @ 0x124 │ │ │ │ │ add r7, lr │ │ │ │ │ - str r7, [sp, #232] @ 0xe8 │ │ │ │ │ vldr d6, [r7] │ │ │ │ │ + str r7, [sp, #232] @ 0xe8 │ │ │ │ │ ldr r7, [sp, #296] @ 0x128 │ │ │ │ │ - add r7, lr │ │ │ │ │ vadd.f64 d4, d7, d6 │ │ │ │ │ - str r7, [sp, #228] @ 0xe4 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ + add r7, lr │ │ │ │ │ vldr d6, [r7] │ │ │ │ │ + str r7, [sp, #228] @ 0xe4 │ │ │ │ │ add.w r7, lr, r5 │ │ │ │ │ - str r7, [sp, #224] @ 0xe0 │ │ │ │ │ vldr d3, [r7] │ │ │ │ │ + str r7, [sp, #224] @ 0xe0 │ │ │ │ │ vadd.f64 d5, d6, d3 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ vsub.f64 d3, d5, d4 │ │ │ │ │ vmul.f64 d2, d3, d12 │ │ │ │ │ vmul.f64 d3, d6, d13 │ │ │ │ │ vmov.f64 d10, d3 │ │ │ │ │ vstr d2, [sp, #80] @ 0x50 │ │ │ │ │ vnmls.f64 d10, d7, d15 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ vmov.f64 d2, d7 │ │ │ │ │ vadd.f64 d7, d4, d5 │ │ │ │ │ vmov.f64 d5, d9 │ │ │ │ │ vmla.f64 d2, d6, d15 │ │ │ │ │ vstr d10, [sp, #456] @ 0x1c8 │ │ │ │ │ - vldr d10, [r3] │ │ │ │ │ vmls.f64 d5, d7, d11 │ │ │ │ │ - ldr r3, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d10, [r3] │ │ │ │ │ vstr d7, [sp, #88] @ 0x58 │ │ │ │ │ + ldr r3, [sp, #288] @ 0x120 │ │ │ │ │ add.w fp, r8, r3 │ │ │ │ │ ldr r3, [sp, #292] @ 0x124 │ │ │ │ │ - add r3, r8 │ │ │ │ │ - str r3, [sp, #220] @ 0xdc │ │ │ │ │ - vldr d6, [fp] │ │ │ │ │ vstr d2, [sp, #464] @ 0x1d0 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - ldr r3, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d6, [fp] │ │ │ │ │ vstr d5, [sp, #472] @ 0x1d8 │ │ │ │ │ add r3, r8 │ │ │ │ │ - str r3, [sp, #216] @ 0xd8 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + str r3, [sp, #220] @ 0xdc │ │ │ │ │ + ldr r3, [sp, #296] @ 0x128 │ │ │ │ │ vsub.f64 d4, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ + add r3, r8 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ + str r3, [sp, #216] @ 0xd8 │ │ │ │ │ add.w r3, r8, r5 │ │ │ │ │ - str r3, [sp, #212] @ 0xd4 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ + str r3, [sp, #212] @ 0xd4 │ │ │ │ │ vsub.f64 d5, d3, d7 │ │ │ │ │ vadd.f64 d7, d3, d7 │ │ │ │ │ vmul.f64 d3, d4, d13 │ │ │ │ │ vmla.f64 d3, d5, d15 │ │ │ │ │ vmul.f64 d5, d5, d13 │ │ │ │ │ vmov.f64 d14, d5 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vnmls.f64 d14, d4, d15 │ │ │ │ │ vstr d3, [sp, #480] @ 0x1e0 │ │ │ │ │ - vmul.f64 d8, d5, d12 │ │ │ │ │ vadd.f64 d4, d6, d7 │ │ │ │ │ + vmul.f64 d8, d5, d12 │ │ │ │ │ vmov.f64 d2, d4 │ │ │ │ │ vmov.f64 d4, d10 │ │ │ │ │ vstr d14, [sp, #488] @ 0x1e8 │ │ │ │ │ - vstr d8, [sp, #96] @ 0x60 │ │ │ │ │ vmls.f64 d4, d2, d11 │ │ │ │ │ - ldr r7, [sp, #604] @ 0x25c │ │ │ │ │ + vstr d8, [sp, #96] @ 0x60 │ │ │ │ │ ldr r5, [sp, #144] @ 0x90 │ │ │ │ │ - mov r3, r7 │ │ │ │ │ vstr d2, [sp, #104] @ 0x68 │ │ │ │ │ + ldr r7, [sp, #604] @ 0x25c │ │ │ │ │ + mov r3, r7 │ │ │ │ │ + add r7, r2 │ │ │ │ │ add r3, r5 │ │ │ │ │ ldr r5, [sp, #300] @ 0x12c │ │ │ │ │ - adds r7, r2, r7 │ │ │ │ │ - add r5, r8 │ │ │ │ │ - str r5, [sp, #204] @ 0xcc │ │ │ │ │ - vldr d9, [r3] │ │ │ │ │ vstr d4, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d9, [r3] │ │ │ │ │ + add r5, r8 │ │ │ │ │ vldr d6, [r5] │ │ │ │ │ + str r5, [sp, #204] @ 0xcc │ │ │ │ │ ldr r5, [sp, #304] @ 0x130 │ │ │ │ │ add r5, r8 │ │ │ │ │ - str r5, [sp, #200] @ 0xc8 │ │ │ │ │ vldr d7, [r5] │ │ │ │ │ + str r5, [sp, #200] @ 0xc8 │ │ │ │ │ ldr r5, [sp, #308] @ 0x134 │ │ │ │ │ - add r5, r8 │ │ │ │ │ - str r5, [sp, #196] @ 0xc4 │ │ │ │ │ vsub.f64 d4, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ + add r5, r8 │ │ │ │ │ vldr d3, [r5] │ │ │ │ │ + str r5, [sp, #196] @ 0xc4 │ │ │ │ │ ldr r5, [sp, #312] @ 0x138 │ │ │ │ │ add r5, r8 │ │ │ │ │ - str r5, [sp, #192] @ 0xc0 │ │ │ │ │ vldr d7, [r5] │ │ │ │ │ + str r5, [sp, #192] @ 0xc0 │ │ │ │ │ ldr r5, [sp, #300] @ 0x12c │ │ │ │ │ vsub.f64 d5, d3, d7 │ │ │ │ │ vadd.f64 d7, d3, d7 │ │ │ │ │ vmul.f64 d3, d4, d13 │ │ │ │ │ add r5, lr │ │ │ │ │ str r5, [sp, #184] @ 0xb8 │ │ │ │ │ vmov.f64 d2, d3 │ │ │ │ │ @@ -352,128 +347,128 @@ │ │ │ │ │ vmul.f64 d5, d5, d13 │ │ │ │ │ vstr d2, [sp, #504] @ 0x1f8 │ │ │ │ │ vmov.f64 d2, d5 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ vnmls.f64 d2, d4, d15 │ │ │ │ │ vmul.f64 d8, d5, d12 │ │ │ │ │ - vstr d7, [sp, #120] @ 0x78 │ │ │ │ │ vstr d8, [sp, #112] @ 0x70 │ │ │ │ │ vmov.f64 d8, d9 │ │ │ │ │ + vstr d7, [sp, #120] @ 0x78 │ │ │ │ │ + vstr d2, [sp, #512] @ 0x200 │ │ │ │ │ vmls.f64 d8, d7, d11 │ │ │ │ │ vldr d7, [r5] │ │ │ │ │ ldr r5, [sp, #304] @ 0x130 │ │ │ │ │ - vstr d2, [sp, #512] @ 0x200 │ │ │ │ │ add r5, lr │ │ │ │ │ - str r5, [sp, #180] @ 0xb4 │ │ │ │ │ vldr d6, [r5] │ │ │ │ │ + str r5, [sp, #180] @ 0xb4 │ │ │ │ │ ldr r5, [sp, #308] @ 0x134 │ │ │ │ │ vstr d8, [sp, #520] @ 0x208 │ │ │ │ │ - add r5, lr │ │ │ │ │ vadd.f64 d4, d7, d6 │ │ │ │ │ - str r5, [sp, #176] @ 0xb0 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ + add r5, lr │ │ │ │ │ vldr d6, [r5] │ │ │ │ │ + str r5, [sp, #176] @ 0xb0 │ │ │ │ │ ldr r5, [sp, #312] @ 0x138 │ │ │ │ │ str r7, [sp, #188] @ 0xbc │ │ │ │ │ - add r5, lr │ │ │ │ │ - str r5, [sp, #172] @ 0xac │ │ │ │ │ str r3, [sp, #208] @ 0xd0 │ │ │ │ │ + add r5, lr │ │ │ │ │ vldr d2, [r5] │ │ │ │ │ + str r5, [sp, #172] @ 0xac │ │ │ │ │ ldr r5, [sp, #332] @ 0x14c │ │ │ │ │ vadd.f64 d14, d6, d2 │ │ │ │ │ vsub.f64 d6, d6, d2 │ │ │ │ │ - adds r5, r7, r5 │ │ │ │ │ + add r5, r7 │ │ │ │ │ ldr r7, [sp, #316] @ 0x13c │ │ │ │ │ - add.w sl, lr, r7 │ │ │ │ │ - ldr r7, [sp, #320] @ 0x140 │ │ │ │ │ vsub.f64 d2, d14, d4 │ │ │ │ │ vadd.f64 d14, d4, d14 │ │ │ │ │ - add r7, lr │ │ │ │ │ - str r7, [sp, #168] @ 0xa8 │ │ │ │ │ + add.w sl, lr, r7 │ │ │ │ │ + ldr r7, [sp, #328] @ 0x148 │ │ │ │ │ vldr d4, [r5] │ │ │ │ │ vmul.f64 d1, d2, d12 │ │ │ │ │ vmul.f64 d2, d6, d13 │ │ │ │ │ + add r7, lr │ │ │ │ │ vnmls.f64 d2, d7, d15 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ + str r7, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d1, [sp, #128] @ 0x80 │ │ │ │ │ vmla.f64 d7, d6, d15 │ │ │ │ │ vmov.f64 d6, d3 │ │ │ │ │ - vmls.f64 d6, d14, d11 │ │ │ │ │ - vstr d1, [sp, #128] @ 0x80 │ │ │ │ │ vadd.f64 d3, d3, d14 │ │ │ │ │ - vstr d2, [sp, #528] @ 0x210 │ │ │ │ │ - vstr d7, [sp, #536] @ 0x218 │ │ │ │ │ + vmls.f64 d6, d14, d11 │ │ │ │ │ vstr d6, [sp, #136] @ 0x88 │ │ │ │ │ vldr d6, [r7] │ │ │ │ │ - ldr r7, [sp, #324] @ 0x144 │ │ │ │ │ + vstr d7, [sp, #536] @ 0x218 │ │ │ │ │ + ldr r7, [sp, #320] @ 0x140 │ │ │ │ │ + vstr d2, [sp, #528] @ 0x210 │ │ │ │ │ vldr d7, [sl] │ │ │ │ │ add r7, lr │ │ │ │ │ str r7, [sp, #164] @ 0xa4 │ │ │ │ │ vadd.f64 d2, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [r7] │ │ │ │ │ - ldr r7, [sp, #328] @ 0x148 │ │ │ │ │ + ldr r7, [sp, #324] @ 0x144 │ │ │ │ │ add r7, lr │ │ │ │ │ - str r7, [sp, #160] @ 0xa0 │ │ │ │ │ vldr d1, [r7] │ │ │ │ │ + str r7, [sp, #160] @ 0xa0 │ │ │ │ │ ldr r7, [sp, #332] @ 0x14c │ │ │ │ │ vadd.f64 d8, d6, d1 │ │ │ │ │ vsub.f64 d6, d6, d1 │ │ │ │ │ add r3, r7 │ │ │ │ │ mov r7, r3 │ │ │ │ │ - vsub.f64 d1, d8, d2 │ │ │ │ │ - vadd.f64 d8, d2, d8 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ ldr r3, [sp, #316] @ 0x13c │ │ │ │ │ + vsub.f64 d1, d8, d2 │ │ │ │ │ + vadd.f64 d8, d2, d8 │ │ │ │ │ + add.w r9, r8, r3 │ │ │ │ │ + ldr r3, [sp, #328] @ 0x148 │ │ │ │ │ vmul.f64 d0, d1, d12 │ │ │ │ │ vmul.f64 d1, d6, d13 │ │ │ │ │ - add.w r9, r8, r3 │ │ │ │ │ - ldr r3, [sp, #320] @ 0x140 │ │ │ │ │ add r3, r8 │ │ │ │ │ str r3, [sp, #156] @ 0x9c │ │ │ │ │ vstr d0, [sp, #544] @ 0x220 │ │ │ │ │ vmov.f64 d0, d1 │ │ │ │ │ vnmls.f64 d0, d7, d15 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ vmla.f64 d7, d6, d15 │ │ │ │ │ vmov.f64 d6, d4 │ │ │ │ │ - vmls.f64 d6, d8, d11 │ │ │ │ │ vadd.f64 d4, d4, d8 │ │ │ │ │ + vmls.f64 d6, d8, d11 │ │ │ │ │ vstr d0, [sp, #552] @ 0x228 │ │ │ │ │ vstr d7, [sp, #560] @ 0x230 │ │ │ │ │ vstr d6, [sp, #568] @ 0x238 │ │ │ │ │ vldr d6, [r9] │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - ldr r3, [sp, #324] @ 0x144 │ │ │ │ │ - add r3, r8 │ │ │ │ │ - str r3, [sp, #152] @ 0x98 │ │ │ │ │ + ldr r3, [sp, #320] @ 0x140 │ │ │ │ │ vsub.f64 d1, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ + add r3, r8 │ │ │ │ │ vldr d0, [r3] │ │ │ │ │ - ldr r3, [sp, #328] @ 0x148 │ │ │ │ │ + str r3, [sp, #152] @ 0x98 │ │ │ │ │ + ldr r3, [sp, #324] @ 0x144 │ │ │ │ │ add r3, r8 │ │ │ │ │ - str r3, [sp, #148] @ 0x94 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ + str r3, [sp, #148] @ 0x94 │ │ │ │ │ ldr r3, [sp, #0] │ │ │ │ │ vsub.f64 d2, d0, d7 │ │ │ │ │ vadd.f64 d7, d0, d7 │ │ │ │ │ vmul.f64 d0, d1, d13 │ │ │ │ │ vmla.f64 d0, d2, d15 │ │ │ │ │ vmul.f64 d2, d2, d13 │ │ │ │ │ vnmls.f64 d2, d1, d15 │ │ │ │ │ vldr d1, [lr] │ │ │ │ │ vstr d0, [sp, #576] @ 0x240 │ │ │ │ │ vldr d0, [sp, #32] │ │ │ │ │ vstr d2, [sp, #584] @ 0x248 │ │ │ │ │ vsub.f64 d2, d7, d6 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ vmov.f64 d6, d5 │ │ │ │ │ - vmul.f64 d2, d2, d12 │ │ │ │ │ vmls.f64 d6, d7, d11 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ + vmul.f64 d2, d2, d12 │ │ │ │ │ vstr d6, [sp, #592] @ 0x250 │ │ │ │ │ vldr d6, [sp, #8] │ │ │ │ │ vadd.f64 d6, d1, d6 │ │ │ │ │ vldr d1, [sp, #56] @ 0x38 │ │ │ │ │ vstr d6, [lr] │ │ │ │ │ vldr d6, [sp, #16] │ │ │ │ │ vadd.f64 d6, d6, d0 │ │ │ │ │ @@ -484,68 +479,68 @@ │ │ │ │ │ vstr d6, [r6] │ │ │ │ │ add r6, r3 │ │ │ │ │ vldr d6, [sp, #64] @ 0x40 │ │ │ │ │ vadd.f64 d6, d1, d6 │ │ │ │ │ vldr d1, [sp, #72] @ 0x48 │ │ │ │ │ vstr d6, [r1] │ │ │ │ │ add r1, r3 │ │ │ │ │ - vldr d6, [sp, #88] @ 0x58 │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ + vldr d6, [sp, #88] @ 0x58 │ │ │ │ │ vadd.f64 d6, d1, d6 │ │ │ │ │ vstr d6, [r6] │ │ │ │ │ add r6, r3 │ │ │ │ │ vldr d6, [sp, #104] @ 0x68 │ │ │ │ │ vadd.f64 d10, d10, d6 │ │ │ │ │ vldr d6, [sp, #120] @ 0x78 │ │ │ │ │ vadd.f64 d9, d9, d6 │ │ │ │ │ vstr d10, [r1] │ │ │ │ │ add r1, r3 │ │ │ │ │ vstr d9, [r1] │ │ │ │ │ vstr d3, [r6] │ │ │ │ │ ldr r1, [sp, #272] @ 0x110 │ │ │ │ │ - vldr d14, [sp, #360] @ 0x168 │ │ │ │ │ - vldr d8, [sp, #384] @ 0x180 │ │ │ │ │ + ldr r3, [sp, #208] @ 0xd0 │ │ │ │ │ vldr d9, [sp, #336] @ 0x150 │ │ │ │ │ vstr d4, [r1] │ │ │ │ │ + vldr d14, [sp, #360] @ 0x168 │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ vldr d5, [sp, #24] │ │ │ │ │ + vldr d8, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d10, [sp, #352] @ 0x160 │ │ │ │ │ vadd.f64 d7, d9, d14 │ │ │ │ │ vldr d1, [sp, #368] @ 0x170 │ │ │ │ │ - vldr d10, [sp, #352] @ 0x160 │ │ │ │ │ vadd.f64 d5, d5, d8 │ │ │ │ │ + vldr d3, [r4, #-128] @ 0xffffff80 │ │ │ │ │ vldr d0, [r4, #-120] @ 0xffffff88 │ │ │ │ │ vadd.f64 d6, d1, d7 │ │ │ │ │ vsub.f64 d7, d7, d1 │ │ │ │ │ - vldr d3, [r4, #-128] @ 0xffffff80 │ │ │ │ │ ldr r1, [sp, #628] @ 0x274 │ │ │ │ │ vsub.f64 d1, d5, d10 │ │ │ │ │ vadd.f64 d5, d10, d5 │ │ │ │ │ - adds r0, r7, r1 │ │ │ │ │ + add.w r0, r7, r1 │ │ │ │ │ add r5, r1 │ │ │ │ │ ldr r7, [sp, #188] @ 0xbc │ │ │ │ │ - ldr r3, [sp, #208] @ 0xd0 │ │ │ │ │ vmul.f64 d4, d1, d0 │ │ │ │ │ vmla.f64 d4, d6, d3 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ vnmls.f64 d6, d1, d3 │ │ │ │ │ vldr d1, [sp, #376] @ 0x178 │ │ │ │ │ vstr d4, [r5] │ │ │ │ │ vstr d6, [r0] │ │ │ │ │ - vldr d3, [r4, #-72] @ 0xffffffb8 │ │ │ │ │ vldr d4, [r4, #-80] @ 0xffffffb0 │ │ │ │ │ + vldr d3, [r4, #-72] @ 0xffffffb8 │ │ │ │ │ vmul.f64 d6, d5, d3 │ │ │ │ │ vmla.f64 d6, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d5, d4 │ │ │ │ │ vldr d4, [sp, #344] @ 0x158 │ │ │ │ │ vstr d6, [r7] │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d14, d9 │ │ │ │ │ - vldr d0, [r4, #-104] @ 0xffffff98 │ │ │ │ │ vldr d3, [r4, #-112] @ 0xffffff90 │ │ │ │ │ + vldr d0, [r4, #-104] @ 0xffffff98 │ │ │ │ │ ldr r3, [sp, #144] @ 0x90 │ │ │ │ │ vsub.f64 d5, d7, d1 │ │ │ │ │ vadd.f64 d7, d1, d7 │ │ │ │ │ vldr d1, [sp, #24] │ │ │ │ │ vsub.f64 d6, d8, d1 │ │ │ │ │ vadd.f64 d1, d4, d6 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ @@ -553,172 +548,170 @@ │ │ │ │ │ vmla.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ vnmls.f64 d5, d1, d3 │ │ │ │ │ vstr d4, [r2] │ │ │ │ │ add r2, ip │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ add r3, ip │ │ │ │ │ - vldr d3, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ vldr d4, [r4, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d3, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d6, d4 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vldr d9, [sp, #472] @ 0x1d8 │ │ │ │ │ vldr d5, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d14, [sp, #488] @ 0x1e8 │ │ │ │ │ vldr d3, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d14, [sp, #488] @ 0x1e8 │ │ │ │ │ vsub.f64 d7, d9, d5 │ │ │ │ │ - vldr d10, [sp, #456] @ 0x1c8 │ │ │ │ │ vldr d0, [r4, #-104] @ 0xffffff98 │ │ │ │ │ - ldr r1, [sp, #236] @ 0xec │ │ │ │ │ - vldr d8, [sp, #520] @ 0x208 │ │ │ │ │ + vldr d10, [sp, #456] @ 0x1c8 │ │ │ │ │ + ldr r6, [sp, #160] @ 0xa0 │ │ │ │ │ vsub.f64 d6, d7, d14 │ │ │ │ │ vadd.f64 d7, d14, d7 │ │ │ │ │ + ldr r1, [sp, #236] @ 0xec │ │ │ │ │ vldr d14, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d8, [sp, #520] @ 0x208 │ │ │ │ │ ldr r0, [sp, #224] @ 0xe0 │ │ │ │ │ - ldr r6, [sp, #160] @ 0xa0 │ │ │ │ │ vsub.f64 d5, d14, d3 │ │ │ │ │ vldr d3, [r4, #-112] @ 0xffffff90 │ │ │ │ │ vadd.f64 d1, d10, d5 │ │ │ │ │ vsub.f64 d5, d5, d10 │ │ │ │ │ vmul.f64 d4, d1, d0 │ │ │ │ │ vmla.f64 d4, d6, d3 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ vnmls.f64 d6, d1, d3 │ │ │ │ │ vldr d1, [sp, #128] @ 0x80 │ │ │ │ │ vstr d4, [r1] │ │ │ │ │ vstr d6, [fp] │ │ │ │ │ - vldr d3, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ vldr d4, [r4, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d3, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ vmul.f64 d6, d5, d3 │ │ │ │ │ vmla.f64 d6, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d5, d4 │ │ │ │ │ vldr d4, [sp, #512] @ 0x200 │ │ │ │ │ vstr d6, [sl] │ │ │ │ │ vstr d7, [r9] │ │ │ │ │ vldr d7, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d0, [r4, #-104] @ 0xffffff98 │ │ │ │ │ vldr d3, [r4, #-112] @ 0xffffff90 │ │ │ │ │ + vldr d0, [r4, #-104] @ 0xffffff98 │ │ │ │ │ vsub.f64 d7, d7, d1 │ │ │ │ │ vldr d1, [sp, #112] @ 0x70 │ │ │ │ │ - vsub.f64 d5, d8, d1 │ │ │ │ │ vsub.f64 d6, d7, d4 │ │ │ │ │ + vsub.f64 d5, d8, d1 │ │ │ │ │ vadd.f64 d7, d4, d7 │ │ │ │ │ vldr d4, [sp, #528] @ 0x210 │ │ │ │ │ vadd.f64 d1, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vmul.f64 d4, d1, d0 │ │ │ │ │ vmla.f64 d4, d6, d3 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ vnmls.f64 d6, d1, d3 │ │ │ │ │ vstr d4, [r0] │ │ │ │ │ ldr r0, [sp, #212] @ 0xd4 │ │ │ │ │ vstr d6, [r0] │ │ │ │ │ - vldr d3, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ vldr d4, [r4, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d3, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ vmul.f64 d6, d5, d3 │ │ │ │ │ vmla.f64 d6, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d5, d4 │ │ │ │ │ vstr d6, [r6] │ │ │ │ │ ldr r6, [sp, #148] @ 0x94 │ │ │ │ │ vstr d7, [r6] │ │ │ │ │ vldr d5, [sp, #80] @ 0x50 │ │ │ │ │ vldr d3, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d1, [sp, #480] @ 0x1e0 │ │ │ │ │ - vadd.f64 d7, d5, d9 │ │ │ │ │ + vldr d0, [r4, #-120] @ 0xffffff88 │ │ │ │ │ vldr d10, [sp, #464] @ 0x1d0 │ │ │ │ │ + vadd.f64 d7, d5, d9 │ │ │ │ │ + vldr d1, [sp, #480] @ 0x1e0 │ │ │ │ │ vadd.f64 d6, d3, d14 │ │ │ │ │ - vldr d0, [r4, #-120] @ 0xffffff88 │ │ │ │ │ vldr d3, [r4, #-128] @ 0xffffff80 │ │ │ │ │ - ldr r7, [sp, #268] @ 0x10c │ │ │ │ │ + ldr r0, [sp, #184] @ 0xb8 │ │ │ │ │ vadd.f64 d5, d1, d7 │ │ │ │ │ vsub.f64 d7, d7, d1 │ │ │ │ │ - vsub.f64 d1, d6, d10 │ │ │ │ │ ldr r2, [sp, #252] @ 0xfc │ │ │ │ │ + vsub.f64 d1, d6, d10 │ │ │ │ │ vadd.f64 d6, d10, d6 │ │ │ │ │ - ldr r0, [sp, #184] @ 0xb8 │ │ │ │ │ - ldr r5, [sp, #204] @ 0xcc │ │ │ │ │ + ldrd r3, r7, [sp, #264] @ 0x108 │ │ │ │ │ vldr d14, [sp, #544] @ 0x220 │ │ │ │ │ - vmul.f64 d4, d1, d0 │ │ │ │ │ vldr d9, [sp, #568] @ 0x238 │ │ │ │ │ + vmul.f64 d4, d1, d0 │ │ │ │ │ + ldr r5, [sp, #204] @ 0xcc │ │ │ │ │ + vldr d10, [sp, #576] @ 0x240 │ │ │ │ │ vmla.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ - vldr d10, [sp, #576] @ 0x240 │ │ │ │ │ - ldr r3, [sp, #264] @ 0x108 │ │ │ │ │ vnmls.f64 d5, d1, d3 │ │ │ │ │ vstr d4, [r7] │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ - vldr d3, [r4, #-72] @ 0xffffffb8 │ │ │ │ │ vldr d4, [r4, #-80] @ 0xffffffb0 │ │ │ │ │ + vldr d3, [r4, #-72] @ 0xffffffb8 │ │ │ │ │ ldr r2, [sp, #248] @ 0xf8 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d6, d4 │ │ │ │ │ vldr d4, [sp, #560] @ 0x230 │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ ldr r0, [sp, #180] @ 0xb4 │ │ │ │ │ vstr d7, [r5] │ │ │ │ │ vadd.f64 d7, d14, d9 │ │ │ │ │ - vldr d0, [r4, #-120] @ 0xffffff88 │ │ │ │ │ vldr d3, [r4, #-128] @ 0xffffff80 │ │ │ │ │ + vldr d0, [r4, #-120] @ 0xffffff88 │ │ │ │ │ ldr r5, [sp, #200] @ 0xc8 │ │ │ │ │ vadd.f64 d6, d10, d7 │ │ │ │ │ vsub.f64 d7, d7, d10 │ │ │ │ │ vldr d10, [sp, #592] @ 0x250 │ │ │ │ │ vadd.f64 d5, d2, d10 │ │ │ │ │ vsub.f64 d1, d5, d4 │ │ │ │ │ vadd.f64 d5, d4, d5 │ │ │ │ │ vmul.f64 d4, d1, d0 │ │ │ │ │ vmla.f64 d4, d6, d3 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ vnmls.f64 d6, d1, d3 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ - vldr d3, [r4, #-72] @ 0xffffffb8 │ │ │ │ │ vldr d4, [r4, #-80] @ 0xffffffb0 │ │ │ │ │ + vldr d3, [r4, #-72] @ 0xffffffb8 │ │ │ │ │ vmul.f64 d6, d5, d3 │ │ │ │ │ vmla.f64 d6, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d5, d4 │ │ │ │ │ vstr d6, [r0] │ │ │ │ │ vsub.f64 d6, d10, d2 │ │ │ │ │ vstr d7, [r5] │ │ │ │ │ vsub.f64 d7, d9, d14 │ │ │ │ │ + vldr d3, [r4, #-112] @ 0xffffff90 │ │ │ │ │ vldr d14, [sp, #552] @ 0x228 │ │ │ │ │ vldr d4, [sp, #584] @ 0x248 │ │ │ │ │ vldr d1, [r4, #-104] @ 0xffffff98 │ │ │ │ │ vadd.f64 d2, d14, d6 │ │ │ │ │ - vldr d3, [r4, #-112] @ 0xffffff90 │ │ │ │ │ + vsub.f64 d6, d6, d14 │ │ │ │ │ + vldr d10, [sp, #136] @ 0x88 │ │ │ │ │ vsub.f64 d5, d7, d4 │ │ │ │ │ vadd.f64 d7, d4, d7 │ │ │ │ │ ldr r1, [sp, #232] @ 0xe8 │ │ │ │ │ - vsub.f64 d6, d6, d14 │ │ │ │ │ - ldr r6, [sp, #168] @ 0xa8 │ │ │ │ │ + ldrd r6, r0, [sp, #168] @ 0xa8 │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ - vldr d10, [sp, #136] @ 0x88 │ │ │ │ │ + ldr r2, [sp, #240] @ 0xf0 │ │ │ │ │ + ldr r7, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d0, [sp, #416] @ 0x1a0 │ │ │ │ │ vmla.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vldr d1, [sp, #504] @ 0x1f8 │ │ │ │ │ - ldr r7, [sp, #256] @ 0x100 │ │ │ │ │ - ldr r2, [sp, #240] @ 0xf0 │ │ │ │ │ vnmls.f64 d5, d2, d3 │ │ │ │ │ vldr d2, [sp, #112] @ 0x70 │ │ │ │ │ - ldr r0, [sp, #172] @ 0xac │ │ │ │ │ - vldr d0, [sp, #416] @ 0x1a0 │ │ │ │ │ vstr d4, [r1] │ │ │ │ │ ldr r1, [sp, #220] @ 0xdc │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ - vldr d3, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ vldr d4, [r4, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d3, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ ldr r1, [sp, #192] @ 0xc0 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d6, d4 │ │ │ │ │ vldr d4, [sp, #128] @ 0x80 │ │ │ │ │ vadd.f64 d6, d2, d8 │ │ │ │ │ @@ -735,97 +728,102 @@ │ │ │ │ │ vldr d1, [r4, #-120] @ 0xffffff88 │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ vmla.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vnmls.f64 d5, d2, d3 │ │ │ │ │ vstr d4, [r7] │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ - vldr d3, [r4, #-72] @ 0xffffffb8 │ │ │ │ │ vldr d4, [r4, #-80] @ 0xffffffb0 │ │ │ │ │ + vldr d3, [r4, #-72] @ 0xffffffb8 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d6, d4 │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ vldr d10, [sp, #392] @ 0x188 │ │ │ │ │ + vldr d3, [r4, #-112] @ 0xffffff90 │ │ │ │ │ vldr d5, [sp, #432] @ 0x1b0 │ │ │ │ │ - vldr d8, [sp, #448] @ 0x1c0 │ │ │ │ │ - vsub.f64 d7, d0, d10 │ │ │ │ │ vldr d14, [sp, #440] @ 0x1b8 │ │ │ │ │ + vsub.f64 d7, d0, d10 │ │ │ │ │ + vldr d8, [sp, #448] @ 0x1c0 │ │ │ │ │ vldr d4, [sp, #400] @ 0x190 │ │ │ │ │ - vldr d1, [r4, #-104] @ 0xffffff98 │ │ │ │ │ - vldr d3, [r4, #-112] @ 0xffffff90 │ │ │ │ │ vsub.f64 d6, d7, d5 │ │ │ │ │ vadd.f64 d7, d5, d7 │ │ │ │ │ + vldr d1, [r4, #-104] @ 0xffffff98 │ │ │ │ │ vsub.f64 d5, d8, d14 │ │ │ │ │ + ldr r5, [sp, #196] @ 0xc4 │ │ │ │ │ ldr r2, [sp, #228] @ 0xe4 │ │ │ │ │ - ldr r3, [sp, #260] @ 0x104 │ │ │ │ │ ldr r7, [sp, #244] @ 0xf4 │ │ │ │ │ - ldr r5, [sp, #196] @ 0xc4 │ │ │ │ │ vadd.f64 d2, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ + ldr r3, [sp, #260] @ 0x104 │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ vmla.f64 d4, d6, d3 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ vnmls.f64 d6, d2, d3 │ │ │ │ │ vstr d4, [r2] │ │ │ │ │ ldr r2, [sp, #216] @ 0xd8 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ - vldr d3, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ vldr d4, [r4, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d3, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ ldr r2, [sp, #164] @ 0xa4 │ │ │ │ │ vmul.f64 d6, d5, d3 │ │ │ │ │ vmla.f64 d6, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vldr d3, [sp, #408] @ 0x198 │ │ │ │ │ vnmls.f64 d7, d5, d4 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ ldr r2, [sp, #152] @ 0x98 │ │ │ │ │ vldr d6, [sp, #424] @ 0x1a8 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ vadd.f64 d7, d10, d0 │ │ │ │ │ - vldr d1, [r4, #-120] @ 0xffffff88 │ │ │ │ │ vldr d2, [r4, #-128] @ 0xffffff80 │ │ │ │ │ + vldr d1, [r4, #-120] @ 0xffffff88 │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d14, d8 │ │ │ │ │ vsub.f64 d4, d6, d3 │ │ │ │ │ vadd.f64 d6, d3, d6 │ │ │ │ │ vmul.f64 d3, d4, d1 │ │ │ │ │ vmla.f64 d3, d5, d2 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vnmls.f64 d5, d4, d2 │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ ldr r3, [sp, #176] @ 0xb0 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ - vldr d3, [r4, #-72] @ 0xffffffb8 │ │ │ │ │ vldr d4, [r4, #-80] @ 0xffffffb0 │ │ │ │ │ + vldr d3, [r4, #-72] @ 0xffffffb8 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d6, d4 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - ldr r3, [sp, #620] @ 0x26c │ │ │ │ │ - add lr, r3 │ │ │ │ │ - add r8, r3 │ │ │ │ │ + ldr r3, [sp, #616] @ 0x268 │ │ │ │ │ vstr d7, [r5] │ │ │ │ │ ldr r2, [sp, #744] @ 0x2e8 │ │ │ │ │ + add lr, r3 │ │ │ │ │ + add r8, r3 │ │ │ │ │ ldr r3, [sp, #600] @ 0x258 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.w f8 │ │ │ │ │ + bne.w 140 │ │ │ │ │ add.w sp, sp, #636 @ 0x27c │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000adc : │ │ │ │ │ +00000b44 : │ │ │ │ │ fftw_codelet_q1_5(): │ │ │ │ │ - ldr r2, [pc, #8] @ (ae8 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (aec ) │ │ │ │ │ + ldr r2, [pc, #8] @ (b50 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (b54 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_difsq_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── q1_6.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 4520 (bytes into file) │ │ │ │ │ + Start of section headers: 4648 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x11a8: │ │ │ │ │ +There are 14 section headers, starting at offset 0x1228: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000eec 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 001100 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000f20 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000f20 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000f20 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000f25 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 000f2d 000040 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 001118 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000f6d 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000f6d 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000fa0 000110 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 0010b0 000050 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 001130 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000f6c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 001180 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000fa0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000fa0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000fa0 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000fa5 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000fad 000040 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 001198 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000fed 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000fed 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 001020 000110 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 001130 000050 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 0011b0 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,20 +1,20 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 17 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 3800 FUNC LOCAL DEFAULT 1 q1_6 │ │ │ │ │ + 1: 00000001 3926 FUNC LOCAL DEFAULT 1 q1_6 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000130 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000138 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000ee4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000188 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000190 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000f64 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 14: 00000ed9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_q1_6 │ │ │ │ │ + 14: 00000f59 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_q1_6 │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_difsq_register │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x1100 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x1180 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000ee4 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000ee8 00000103 R_ARM_REL32 00000001 q1_6 │ │ │ │ │ -00000ee0 00000f1e R_ARM_THM_JUMP24 00000000 fftw_kdft_difsq_register │ │ │ │ │ +00000f64 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000f68 00000103 R_ARM_REL32 00000001 q1_6 │ │ │ │ │ +00000f60 00000f1e R_ARM_THM_JUMP24 00000000 fftw_kdft_difsq_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x1118 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x1198 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001002 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,588 +1,588 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ q1_6(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov sl, r1 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov r9, r0 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + mov fp, r1 │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub.w sp, sp, #844 @ 0x34c │ │ │ │ │ - ldrd r1, ip, [sp, #944] @ 0x3b0 │ │ │ │ │ + ldr r1, [sp, #944] @ 0x3b0 │ │ │ │ │ str r2, [sp, #4] │ │ │ │ │ - ldr r2, [sp, #952] @ 0x3b8 │ │ │ │ │ - cmp ip, r2 │ │ │ │ │ - bge.w ecc │ │ │ │ │ - movs r5, #24 │ │ │ │ │ - lsls r7, r3, #1 │ │ │ │ │ - mov r9, r0 │ │ │ │ │ - lsls r6, r1, #4 │ │ │ │ │ - str r6, [sp, #808] @ 0x328 │ │ │ │ │ - lsls r6, r1, #2 │ │ │ │ │ - mul.w r0, r5, r3 │ │ │ │ │ - mov.w fp, r1, lsl #3 │ │ │ │ │ - str r0, [sp, #0] │ │ │ │ │ - adds r0, r7, r3 │ │ │ │ │ - adds r4, r0, r1 │ │ │ │ │ - vldr d13, [pc, #248] @ 130 │ │ │ │ │ + ldr r2, [sp, #948] @ 0x3b4 │ │ │ │ │ + ldr r0, [sp, #952] @ 0x3b8 │ │ │ │ │ + cmp r2, r0 │ │ │ │ │ + bge.w f38 │ │ │ │ │ + mov.w r7, r3, lsl #1 │ │ │ │ │ + vldr d13, [pc, #340] @ 188 │ │ │ │ │ vmov.f64 d12, #96 @ 0x3f000000 0.5 │ │ │ │ │ - lsls r2, r4, #3 │ │ │ │ │ + mov.w r5, r1, lsl #4 │ │ │ │ │ + add.w r0, r7, r3 │ │ │ │ │ + add.w lr, r1, r1, lsl #1 │ │ │ │ │ + mov.w r4, r0, lsl #3 │ │ │ │ │ + add r7, lr │ │ │ │ │ + mov.w sl, r1, lsl #3 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ + add.w r4, r0, r1 │ │ │ │ │ + mov.w r2, r4, lsl #3 │ │ │ │ │ add r4, r1 │ │ │ │ │ + str r5, [sp, #808] @ 0x328 │ │ │ │ │ + str r7, [sp, #600] @ 0x258 │ │ │ │ │ str r2, [sp, #816] @ 0x330 │ │ │ │ │ - lsls r2, r4, #3 │ │ │ │ │ - adds r4, r3, r1 │ │ │ │ │ + mov.w r2, r4, lsl #3 │ │ │ │ │ + add.w r4, r3, r1 │ │ │ │ │ + add.w r5, r4, r4, lsl #1 │ │ │ │ │ + add.w ip, r4, r3 │ │ │ │ │ + mov.w r6, r5, lsl #3 │ │ │ │ │ str r2, [sp, #560] @ 0x230 │ │ │ │ │ - mul.w r2, r5, r1 │ │ │ │ │ - add.w lr, r4, r3 │ │ │ │ │ + mov.w r2, lr, lsl #3 │ │ │ │ │ + str r6, [sp, #644] @ 0x284 │ │ │ │ │ + mov.w r6, r1, lsl #2 │ │ │ │ │ str r2, [sp, #8] │ │ │ │ │ - mul.w r5, r5, r4 │ │ │ │ │ - str r5, [sp, #564] @ 0x234 │ │ │ │ │ - adds r5, r6, r0 │ │ │ │ │ - add r0, lr │ │ │ │ │ - add r6, r1 │ │ │ │ │ - lsls r2, r5, #3 │ │ │ │ │ + add.w r5, r6, r0 │ │ │ │ │ + add r0, ip │ │ │ │ │ + mov.w r2, r5, lsl #3 │ │ │ │ │ add r5, r1 │ │ │ │ │ sub.w r8, r0, r3 │ │ │ │ │ - str r2, [sp, #568] @ 0x238 │ │ │ │ │ - lsls r2, r5, #3 │ │ │ │ │ + add r6, r1 │ │ │ │ │ + add.w r6, r6, r3, lsl #2 │ │ │ │ │ + str r2, [sp, #564] @ 0x234 │ │ │ │ │ + mov.w r2, r5, lsl #3 │ │ │ │ │ + sub.w r5, r5, r3 │ │ │ │ │ str r2, [sp, #820] @ 0x334 │ │ │ │ │ - lsls r2, r3, #4 │ │ │ │ │ + mov.w r2, r3, lsl #4 │ │ │ │ │ str r2, [sp, #824] @ 0x338 │ │ │ │ │ - lsls r2, r3, #3 │ │ │ │ │ + mov.w r2, r3, lsl #3 │ │ │ │ │ str r2, [sp, #812] @ 0x32c │ │ │ │ │ - mov.w r2, lr, lsl #3 │ │ │ │ │ - str r2, [sp, #572] @ 0x23c │ │ │ │ │ - lsls r2, r0, #3 │ │ │ │ │ + mov.w r2, ip, lsl #3 │ │ │ │ │ + str r2, [sp, #568] @ 0x238 │ │ │ │ │ + mov.w r2, r0, lsl #3 │ │ │ │ │ add r0, r1 │ │ │ │ │ - str r2, [sp, #576] @ 0x240 │ │ │ │ │ + str r2, [sp, #572] @ 0x23c │ │ │ │ │ mov.w r2, r8, lsl #3 │ │ │ │ │ - add.w r8, r1, r1, lsl #1 │ │ │ │ │ + str r2, [sp, #576] @ 0x240 │ │ │ │ │ + mov.w r2, r4, lsl #3 │ │ │ │ │ str r2, [sp, #580] @ 0x244 │ │ │ │ │ - add r7, r8 │ │ │ │ │ - lsls r2, r4, #3 │ │ │ │ │ + mov.w r2, r4, lsl #4 │ │ │ │ │ str r2, [sp, #584] @ 0x248 │ │ │ │ │ - lsls r2, r4, #4 │ │ │ │ │ - str r2, [sp, #588] @ 0x24c │ │ │ │ │ - lsls r2, r0, #3 │ │ │ │ │ + mov.w r2, r0, lsl #3 │ │ │ │ │ add r0, r1 │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ + mov.w r7, r0, lsl #3 │ │ │ │ │ + str r2, [sp, #588] @ 0x24c │ │ │ │ │ + mov.w r2, ip, lsl #4 │ │ │ │ │ + add.w ip, r4, r1 │ │ │ │ │ str r7, [sp, #604] @ 0x25c │ │ │ │ │ - add.w r6, r6, r3, lsl #2 │ │ │ │ │ - lsls r7, r0, #3 │ │ │ │ │ - str r7, [sp, #608] @ 0x260 │ │ │ │ │ - subs r7, r0, r3 │ │ │ │ │ + sub.w r7, r0, r3 │ │ │ │ │ + add r0, r1 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ str r2, [sp, #592] @ 0x250 │ │ │ │ │ - mov.w r2, lr, lsl #4 │ │ │ │ │ - add.w lr, r4, r1 │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ - str r7, [sp, #612] @ 0x264 │ │ │ │ │ - add.w r7, lr, r1 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + mov.w r2, ip, lsl #3 │ │ │ │ │ + mov.w r3, r6, lsl #3 │ │ │ │ │ + str r0, [sp, #620] @ 0x26c │ │ │ │ │ + mov.w r0, r4, lsl #5 │ │ │ │ │ str r2, [sp, #596] @ 0x254 │ │ │ │ │ - add r0, r1 │ │ │ │ │ - mov.w r2, lr, lsl #3 │ │ │ │ │ - str r2, [sp, #600] @ 0x258 │ │ │ │ │ - lsls r2, r7, #3 │ │ │ │ │ + add.w r4, r4, r4, lsl #2 │ │ │ │ │ + str r7, [sp, #608] @ 0x260 │ │ │ │ │ + add.w r7, ip, r1 │ │ │ │ │ + mov.w r2, r7, lsl #3 │ │ │ │ │ add r7, r1 │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ + str r2, [sp, #612] @ 0x264 │ │ │ │ │ + mov.w r2, ip, lsl #4 │ │ │ │ │ str r0, [sp, #624] @ 0x270 │ │ │ │ │ - lsls r0, r4, #5 │ │ │ │ │ - str r0, [sp, #628] @ 0x274 │ │ │ │ │ - lsls r0, r7, #3 │ │ │ │ │ + mov.w r0, r7, lsl #3 │ │ │ │ │ add r7, r1 │ │ │ │ │ - str r0, [sp, #632] @ 0x278 │ │ │ │ │ - movs r0, #40 @ 0x28 │ │ │ │ │ - subs r5, r5, r3 │ │ │ │ │ - lsls r3, r6, #3 │ │ │ │ │ - str r3, [sp, #644] @ 0x284 │ │ │ │ │ - lsls r3, r7, #3 │ │ │ │ │ - str r3, [sp, #800] @ 0x320 │ │ │ │ │ - ldr r3, [sp, #956] @ 0x3bc │ │ │ │ │ - mul.w r4, r0, r4 │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ + str r3, [sp, #636] @ 0x27c │ │ │ │ │ + mov.w r3, r7, lsl #3 │ │ │ │ │ str r2, [sp, #616] @ 0x268 │ │ │ │ │ - str r5, [sp, #636] @ 0x27c │ │ │ │ │ - mov.w r2, lr, lsl #4 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ - str r2, [sp, #620] @ 0x26c │ │ │ │ │ - str r4, [sp, #640] @ 0x280 │ │ │ │ │ - mov r5, r9 │ │ │ │ │ + str r0, [sp, #628] @ 0x274 │ │ │ │ │ + mov.w r0, r5, lsl #3 │ │ │ │ │ + str r3, [sp, #640] @ 0x280 │ │ │ │ │ + ldr r3, [sp, #956] @ 0x3bc │ │ │ │ │ + str r0, [sp, #632] @ 0x278 │ │ │ │ │ + mov.w r0, r4, lsl #3 │ │ │ │ │ + str r0, [sp, #800] @ 0x320 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ str r3, [sp, #828] @ 0x33c │ │ │ │ │ - add.w r3, ip, #1 │ │ │ │ │ + ldr r3, [sp, #948] @ 0x3b4 │ │ │ │ │ + ldrd r4, r2, [sp] │ │ │ │ │ + ldr r5, [sp, #808] @ 0x328 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str r3, [sp, #804] @ 0x324 │ │ │ │ │ - movs r3, #80 @ 0x50 │ │ │ │ │ - ldr r2, [sp, #4] │ │ │ │ │ - mov r4, fp │ │ │ │ │ - ldr r6, [sp, #808] @ 0x328 │ │ │ │ │ - mla r3, ip, r3, r3 │ │ │ │ │ - ldr r0, [sp, #0] │ │ │ │ │ - negs r6, r6 │ │ │ │ │ - add r2, r3 │ │ │ │ │ - negs r3, r0 │ │ │ │ │ - mov r8, r2 │ │ │ │ │ + add.w r3, r3, r3, lsl #2 │ │ │ │ │ + add.w r8, r2, r3, lsl #4 │ │ │ │ │ ldr r2, [sp, #812] @ 0x32c │ │ │ │ │ + rsb r3, r4, #0 │ │ │ │ │ + rsb r6, r5, #0 │ │ │ │ │ + mov r4, sl │ │ │ │ │ str r3, [sp, #832] @ 0x340 │ │ │ │ │ - negs r7, r2 │ │ │ │ │ + mov r5, r9 │ │ │ │ │ + rsb r7, r2, #0 │ │ │ │ │ ldr r2, [sp, #8] │ │ │ │ │ mov ip, r7 │ │ │ │ │ mov r7, r6 │ │ │ │ │ - negs r3, r2 │ │ │ │ │ - mov r6, sl │ │ │ │ │ + mov r6, fp │ │ │ │ │ + rsb r3, r2, #0 │ │ │ │ │ str r3, [sp, #836] @ 0x344 │ │ │ │ │ - b.n 13c │ │ │ │ │ + b.n 196 │ │ │ │ │ nop.w │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3febb67a │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str r3, [sp, #804] @ 0x324 │ │ │ │ │ ldr r0, [sp, #0] │ │ │ │ │ - adds r1, r5, r4 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ + add.w r1, r5, r4 │ │ │ │ │ add.w r8, r8, #80 @ 0x50 │ │ │ │ │ - adds r2, r5, r0 │ │ │ │ │ - adds r3, r6, r0 │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + add.w r2, r5, r0 │ │ │ │ │ + add.w r3, r6, r0 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ add r2, ip │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ vadd.f64 d0, d6, d7 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ ldr r3, [sp, #816] @ 0x330 │ │ │ │ │ vldr d6, [r6] │ │ │ │ │ - adds r0, r5, r3 │ │ │ │ │ - adds r3, r6, r3 │ │ │ │ │ - str r0, [sp, #540] @ 0x21c │ │ │ │ │ + vstr d5, [sp, #16] │ │ │ │ │ + add.w r0, r5, r3 │ │ │ │ │ + add r3, r6 │ │ │ │ │ + strd r0, r3, [sp, #540] @ 0x21c │ │ │ │ │ vadd.f64 d8, d6, d7 │ │ │ │ │ vsub.f64 d2, d6, d7 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ add r1, r4 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - adds r0, r6, r4 │ │ │ │ │ - str r3, [sp, #544] @ 0x220 │ │ │ │ │ - vstr d5, [sp, #16] │ │ │ │ │ + add.w r0, r6, r4 │ │ │ │ │ + vstr d2, [sp, #24] │ │ │ │ │ vadd.f64 d1, d6, d7 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ add r0, r4 │ │ │ │ │ - vstr d2, [sp, #24] │ │ │ │ │ + vstr d1, [sp, #40] @ 0x28 │ │ │ │ │ vstr d7, [sp, #48] @ 0x30 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ ldr r3, [sp, #560] @ 0x230 │ │ │ │ │ - vstr d1, [sp, #40] @ 0x28 │ │ │ │ │ - adds r3, r6, r3 │ │ │ │ │ vsub.f64 d4, d6, d7 │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ - str r3, [sp, #548] @ 0x224 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ + add r3, r6 │ │ │ │ │ add r0, r4 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - ldr r3, [sp, #560] @ 0x230 │ │ │ │ │ vstr d4, [sp, #56] @ 0x38 │ │ │ │ │ - adds r3, r5, r3 │ │ │ │ │ + str r3, [sp, #548] @ 0x224 │ │ │ │ │ + ldr r3, [sp, #560] @ 0x230 │ │ │ │ │ vsub.f64 d9, d6, d7 │ │ │ │ │ vadd.f64 d10, d6, d7 │ │ │ │ │ + vstr d3, [sp, #64] @ 0x40 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ add r1, r4 │ │ │ │ │ - vstr d3, [sp, #64] @ 0x40 │ │ │ │ │ + add r3, r5 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ vstr d9, [sp, #72] @ 0x48 │ │ │ │ │ vstr d10, [sp, #80] @ 0x50 │ │ │ │ │ + str r3, [sp, #552] @ 0x228 │ │ │ │ │ vadd.f64 d11, d6, d7 │ │ │ │ │ vsub.f64 d14, d6, d7 │ │ │ │ │ - str r3, [sp, #552] @ 0x228 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ add r1, r4 │ │ │ │ │ add.w r9, r1, r4 │ │ │ │ │ vstr d11, [sp, #88] @ 0x58 │ │ │ │ │ vstr d14, [sp, #96] @ 0x60 │ │ │ │ │ - ldr r3, [sp, #564] @ 0x234 │ │ │ │ │ - adds r3, r5, r3 │ │ │ │ │ - str r3, [sp, #556] @ 0x22c │ │ │ │ │ + ldr r3, [sp, #644] @ 0x284 │ │ │ │ │ + add r3, r5 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - ldr r3, [sp, #564] @ 0x234 │ │ │ │ │ - adds r3, r6, r3 │ │ │ │ │ + str r3, [sp, #556] @ 0x22c │ │ │ │ │ + ldr r3, [sp, #644] @ 0x284 │ │ │ │ │ vadd.f64 d15, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - str r3, [sp, #536] @ 0x218 │ │ │ │ │ + add r3, r6 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - ldr r3, [sp, #568] @ 0x238 │ │ │ │ │ + vstr d15, [sp, #104] @ 0x68 │ │ │ │ │ + str r3, [sp, #536] @ 0x218 │ │ │ │ │ + ldr r3, [sp, #564] @ 0x234 │ │ │ │ │ vstr d6, [sp, #112] @ 0x70 │ │ │ │ │ - adds r3, r5, r3 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ - str r3, [sp, #532] @ 0x214 │ │ │ │ │ add r0, r4 │ │ │ │ │ add.w lr, r0, r4 │ │ │ │ │ - vstr d15, [sp, #104] @ 0x68 │ │ │ │ │ + add r3, r5 │ │ │ │ │ + str r3, [sp, #532] @ 0x214 │ │ │ │ │ vsub.f64 d4, d6, d7 │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - ldr r3, [sp, #568] @ 0x238 │ │ │ │ │ + ldr r3, [sp, #564] @ 0x234 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ - adds r3, r6, r3 │ │ │ │ │ - str r3, [sp, #528] @ 0x210 │ │ │ │ │ vstr d4, [sp, #120] @ 0x78 │ │ │ │ │ + add r3, r6 │ │ │ │ │ + vstr d3, [sp, #128] @ 0x80 │ │ │ │ │ + str r3, [sp, #528] @ 0x210 │ │ │ │ │ vadd.f64 d9, d6, d7 │ │ │ │ │ vsub.f64 d10, d6, d7 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ ldr r3, [sp, #820] @ 0x334 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ - adds r0, r6, r3 │ │ │ │ │ - adds r1, r5, r3 │ │ │ │ │ - str r0, [sp, #524] @ 0x20c │ │ │ │ │ + vstr d9, [sp, #136] @ 0x88 │ │ │ │ │ + add.w r0, r6, r3 │ │ │ │ │ + add.w r1, r5, r3 │ │ │ │ │ + vstr d10, [sp, #144] @ 0x90 │ │ │ │ │ + strd r1, r0, [sp, #520] @ 0x208 │ │ │ │ │ vsub.f64 d11, d6, d7 │ │ │ │ │ vadd.f64 d14, d6, d7 │ │ │ │ │ vldr d6, [lr] │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - str r1, [sp, #520] @ 0x208 │ │ │ │ │ - vstr d3, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d11, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d14, [sp, #160] @ 0xa0 │ │ │ │ │ vsub.f64 d15, d6, d7 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ vldr d6, [r9] │ │ │ │ │ - vstr d9, [sp, #136] @ 0x88 │ │ │ │ │ - vstr d10, [sp, #144] @ 0x90 │ │ │ │ │ + vstr d15, [sp, #168] @ 0xa8 │ │ │ │ │ vstr d7, [sp, #176] @ 0xb0 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - vstr d11, [sp, #152] @ 0x98 │ │ │ │ │ - vstr d14, [sp, #160] @ 0xa0 │ │ │ │ │ vadd.f64 d4, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vstr d15, [sp, #168] @ 0xa8 │ │ │ │ │ vstr d4, [sp, #184] @ 0xb8 │ │ │ │ │ - ldr r0, [sp, #0] │ │ │ │ │ + ldrd r0, r3, [sp] │ │ │ │ │ vstr d6, [sp, #192] @ 0xc0 │ │ │ │ │ - add.w fp, r2, r0 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ + add.w fp, r2, r0 │ │ │ │ │ ldr r2, [sp, #832] @ 0x340 │ │ │ │ │ + add r3, ip │ │ │ │ │ add.w sl, fp, ip │ │ │ │ │ - ldr r3, [sp, #4] │ │ │ │ │ vldr d7, [fp] │ │ │ │ │ - add.w r1, sl, r2 │ │ │ │ │ vldr d3, [sl] │ │ │ │ │ - add r3, ip │ │ │ │ │ + add.w r1, sl, r2 │ │ │ │ │ vadd.f64 d4, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ vadd.f64 d5, d3, d7 │ │ │ │ │ vsub.f64 d7, d3, d7 │ │ │ │ │ vadd.f64 d11, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d9, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vmul.f64 d14, d7, d13 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ add r3, r0 │ │ │ │ │ - vmul.f64 d10, d5, d13 │ │ │ │ │ add.w r0, r3, ip │ │ │ │ │ + vmul.f64 d10, d5, d13 │ │ │ │ │ vstr d9, [sp, #200] @ 0xc8 │ │ │ │ │ - adds r2, r0, r2 │ │ │ │ │ - str r2, [sp, #4] │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - vstr d10, [sp, #648] @ 0x288 │ │ │ │ │ + add r2, r0 │ │ │ │ │ vldr d3, [r2] │ │ │ │ │ + str r2, [sp, #4] │ │ │ │ │ + ldr r2, [sp, #568] @ 0x238 │ │ │ │ │ + vstr d11, [sp, #208] @ 0xd0 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ - ldr r2, [sp, #572] @ 0x23c │ │ │ │ │ - vstr d11, [sp, #208] @ 0xd0 │ │ │ │ │ + vstr d10, [sp, #648] @ 0x288 │ │ │ │ │ + vstr d14, [sp, #656] @ 0x290 │ │ │ │ │ + add r2, r5 │ │ │ │ │ + str r2, [sp, #516] @ 0x204 │ │ │ │ │ vsub.f64 d5, d6, d3 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ - adds r2, r5, r2 │ │ │ │ │ - str r2, [sp, #516] @ 0x204 │ │ │ │ │ - vstr d14, [sp, #656] @ 0x290 │ │ │ │ │ vadd.f64 d15, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ vsub.f64 d3, d4, d5 │ │ │ │ │ - ldr r2, [sp, #576] @ 0x240 │ │ │ │ │ vadd.f64 d9, d4, d5 │ │ │ │ │ + ldr r2, [sp, #572] @ 0x23c │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ - adds r2, r5, r2 │ │ │ │ │ - str r2, [sp, #512] @ 0x200 │ │ │ │ │ - vmul.f64 d3, d3, d13 │ │ │ │ │ vstr d15, [sp, #216] @ 0xd8 │ │ │ │ │ + add r2, r5 │ │ │ │ │ + vmul.f64 d3, d3, d13 │ │ │ │ │ vstr d9, [sp, #224] @ 0xe0 │ │ │ │ │ + str r2, [sp, #512] @ 0x200 │ │ │ │ │ vstr d7, [sp, #672] @ 0x2a0 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - ldr r2, [sp, #580] @ 0x244 │ │ │ │ │ vstr d3, [sp, #664] @ 0x298 │ │ │ │ │ - adds r2, r5, r2 │ │ │ │ │ + ldr r2, [sp, #576] @ 0x240 │ │ │ │ │ vadd.f64 d4, d6, d7 │ │ │ │ │ - str r2, [sp, #508] @ 0x1fc │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ + add r2, r5 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - ldr r2, [sp, #584] @ 0x248 │ │ │ │ │ - adds r2, r5, r2 │ │ │ │ │ + str r2, [sp, #508] @ 0x1fc │ │ │ │ │ + ldr r2, [sp, #580] @ 0x244 │ │ │ │ │ + add r2, r5 │ │ │ │ │ str r2, [sp, #504] @ 0x1f8 │ │ │ │ │ vldr d3, [r2] │ │ │ │ │ - ldr r2, [sp, #572] @ 0x23c │ │ │ │ │ + ldr r2, [sp, #568] @ 0x238 │ │ │ │ │ vadd.f64 d5, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - adds r2, r6, r2 │ │ │ │ │ + add r2, r6 │ │ │ │ │ str r2, [sp, #500] @ 0x1f4 │ │ │ │ │ vadd.f64 d14, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d10, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vmul.f64 d6, d7, d13 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - ldr r2, [sp, #576] @ 0x240 │ │ │ │ │ vmul.f64 d11, d5, d13 │ │ │ │ │ vstr d10, [sp, #232] @ 0xe8 │ │ │ │ │ - adds r2, r6, r2 │ │ │ │ │ - str r2, [sp, #496] @ 0x1f0 │ │ │ │ │ + ldr r2, [sp, #572] @ 0x23c │ │ │ │ │ + vstr d14, [sp, #240] @ 0xf0 │ │ │ │ │ + add r2, r6 │ │ │ │ │ vstr d6, [sp, #688] @ 0x2b0 │ │ │ │ │ - vstr d11, [sp, #680] @ 0x2a8 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ - ldr r2, [sp, #580] @ 0x244 │ │ │ │ │ - vstr d14, [sp, #240] @ 0xf0 │ │ │ │ │ - adds r2, r6, r2 │ │ │ │ │ - str r2, [sp, #492] @ 0x1ec │ │ │ │ │ + str r2, [sp, #496] @ 0x1f0 │ │ │ │ │ + ldr r2, [sp, #576] @ 0x240 │ │ │ │ │ + vstr d11, [sp, #680] @ 0x2a8 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ + add r2, r6 │ │ │ │ │ vldr d3, [r2] │ │ │ │ │ - ldr r2, [sp, #584] @ 0x248 │ │ │ │ │ - adds r2, r6, r2 │ │ │ │ │ - str r2, [sp, #488] @ 0x1e8 │ │ │ │ │ + str r2, [sp, #492] @ 0x1ec │ │ │ │ │ + ldr r2, [sp, #580] @ 0x244 │ │ │ │ │ + add r2, r6 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ - ldr r2, [sp, #588] @ 0x24c │ │ │ │ │ + str r2, [sp, #488] @ 0x1e8 │ │ │ │ │ + ldr r2, [sp, #584] @ 0x248 │ │ │ │ │ vsub.f64 d5, d3, d6 │ │ │ │ │ vadd.f64 d6, d3, d6 │ │ │ │ │ - adds r2, r6, r2 │ │ │ │ │ + add r2, r6 │ │ │ │ │ str r2, [sp, #484] @ 0x1e4 │ │ │ │ │ vadd.f64 d9, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vsub.f64 d3, d4, d5 │ │ │ │ │ vadd.f64 d10, d4, d5 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ vstr d9, [sp, #248] @ 0xf8 │ │ │ │ │ vmul.f64 d15, d3, d13 │ │ │ │ │ vstr d10, [sp, #256] @ 0x100 │ │ │ │ │ vstr d7, [sp, #704] @ 0x2c0 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - ldr r2, [sp, #592] @ 0x250 │ │ │ │ │ vstr d15, [sp, #696] @ 0x2b8 │ │ │ │ │ - adds r2, r6, r2 │ │ │ │ │ - str r2, [sp, #480] @ 0x1e0 │ │ │ │ │ + ldr r2, [sp, #588] @ 0x24c │ │ │ │ │ + add r2, r6 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ - ldr r2, [sp, #596] @ 0x254 │ │ │ │ │ - adds r2, r6, r2 │ │ │ │ │ - str r2, [sp, #476] @ 0x1dc │ │ │ │ │ + str r2, [sp, #480] @ 0x1e0 │ │ │ │ │ + ldr r2, [sp, #592] @ 0x250 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ + add r2, r6 │ │ │ │ │ vldr d3, [r2] │ │ │ │ │ - ldr r2, [sp, #600] @ 0x258 │ │ │ │ │ - adds r2, r6, r2 │ │ │ │ │ + str r2, [sp, #476] @ 0x1dc │ │ │ │ │ + ldr r2, [sp, #596] @ 0x254 │ │ │ │ │ + add r2, r6 │ │ │ │ │ str r2, [sp, #472] @ 0x1d8 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ - ldr r2, [sp, #588] @ 0x24c │ │ │ │ │ + ldr r2, [sp, #584] @ 0x248 │ │ │ │ │ vsub.f64 d5, d3, d6 │ │ │ │ │ vadd.f64 d6, d3, d6 │ │ │ │ │ - adds r2, r5, r2 │ │ │ │ │ + add r2, r5 │ │ │ │ │ str r2, [sp, #468] @ 0x1d4 │ │ │ │ │ vadd.f64 d2, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vsub.f64 d3, d4, d5 │ │ │ │ │ vadd.f64 d5, d4, d5 │ │ │ │ │ vmul.f64 d6, d7, d13 │ │ │ │ │ vstr d2, [sp, #264] @ 0x108 │ │ │ │ │ vmul.f64 d15, d3, d13 │ │ │ │ │ vstr d5, [sp, #272] @ 0x110 │ │ │ │ │ vstr d6, [sp, #720] @ 0x2d0 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ - ldr r2, [sp, #592] @ 0x250 │ │ │ │ │ vstr d15, [sp, #712] @ 0x2c8 │ │ │ │ │ - adds r2, r5, r2 │ │ │ │ │ - str r2, [sp, #464] @ 0x1d0 │ │ │ │ │ + ldr r2, [sp, #588] @ 0x24c │ │ │ │ │ + add r2, r5 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - ldr r2, [sp, #596] @ 0x254 │ │ │ │ │ - adds r2, r5, r2 │ │ │ │ │ + str r2, [sp, #464] @ 0x1d0 │ │ │ │ │ + ldr r2, [sp, #592] @ 0x250 │ │ │ │ │ vadd.f64 d4, d6, d7 │ │ │ │ │ - str r2, [sp, #460] @ 0x1cc │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ + add r2, r5 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - ldr r2, [sp, #600] @ 0x258 │ │ │ │ │ - adds r2, r5, r2 │ │ │ │ │ - str r2, [sp, #456] @ 0x1c8 │ │ │ │ │ + str r2, [sp, #460] @ 0x1cc │ │ │ │ │ + ldr r2, [sp, #596] @ 0x254 │ │ │ │ │ + add r2, r5 │ │ │ │ │ vldr d3, [r2] │ │ │ │ │ - ldr r2, [sp, #604] @ 0x25c │ │ │ │ │ + str r2, [sp, #456] @ 0x1c8 │ │ │ │ │ + ldr r2, [sp, #600] @ 0x258 │ │ │ │ │ vadd.f64 d5, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - adds r2, r5, r2 │ │ │ │ │ + add r2, r5 │ │ │ │ │ str r2, [sp, #452] @ 0x1c4 │ │ │ │ │ vadd.f64 d15, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ vadd.f64 d11, d4, d5 │ │ │ │ │ - ldr r2, [sp, #608] @ 0x260 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ + ldr r2, [sp, #604] @ 0x25c │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ - adds r2, r5, r2 │ │ │ │ │ - str r2, [sp, #448] @ 0x1c0 │ │ │ │ │ + add r2, r5 │ │ │ │ │ vmul.f64 d14, d5, d13 │ │ │ │ │ vstr d11, [sp, #280] @ 0x118 │ │ │ │ │ vstr d15, [sp, #288] @ 0x120 │ │ │ │ │ + str r2, [sp, #448] @ 0x1c0 │ │ │ │ │ vstr d7, [sp, #736] @ 0x2e0 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - ldr r2, [sp, #612] @ 0x264 │ │ │ │ │ vstr d14, [sp, #728] @ 0x2d8 │ │ │ │ │ - adds r2, r5, r2 │ │ │ │ │ + ldr r2, [sp, #608] @ 0x260 │ │ │ │ │ vadd.f64 d4, d6, d7 │ │ │ │ │ - str r2, [sp, #444] @ 0x1bc │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ + add r2, r5 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - ldr r2, [sp, #616] @ 0x268 │ │ │ │ │ - adds r2, r5, r2 │ │ │ │ │ + str r2, [sp, #444] @ 0x1bc │ │ │ │ │ + ldr r2, [sp, #612] @ 0x264 │ │ │ │ │ + add r2, r5 │ │ │ │ │ str r2, [sp, #440] @ 0x1b8 │ │ │ │ │ vldr d3, [r2] │ │ │ │ │ - ldr r2, [sp, #604] @ 0x25c │ │ │ │ │ + ldr r2, [sp, #600] @ 0x258 │ │ │ │ │ vadd.f64 d5, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - adds r2, r6, r2 │ │ │ │ │ + add r2, r6 │ │ │ │ │ str r2, [sp, #436] @ 0x1b4 │ │ │ │ │ vadd.f64 d11, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d1, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vmul.f64 d14, d7, d13 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - ldr r2, [sp, #608] @ 0x260 │ │ │ │ │ vmul.f64 d5, d5, d13 │ │ │ │ │ vstr d1, [sp, #296] @ 0x128 │ │ │ │ │ - adds r2, r6, r2 │ │ │ │ │ + ldr r2, [sp, #604] @ 0x25c │ │ │ │ │ + add r2, r6 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ str r2, [sp, #432] @ 0x1b0 │ │ │ │ │ + ldr r2, [sp, #608] @ 0x260 │ │ │ │ │ vstr d5, [sp, #744] @ 0x2e8 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - ldr r2, [sp, #612] @ 0x264 │ │ │ │ │ - adds r2, r6, r2 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ - str r2, [sp, #428] @ 0x1ac │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ + add r2, r6 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ - ldr r2, [sp, #616] @ 0x268 │ │ │ │ │ - adds r2, r6, r2 │ │ │ │ │ - str r2, [sp, #424] @ 0x1a8 │ │ │ │ │ + str r2, [sp, #428] @ 0x1ac │ │ │ │ │ + ldr r2, [sp, #612] @ 0x264 │ │ │ │ │ + add r2, r6 │ │ │ │ │ vldr d3, [r2] │ │ │ │ │ - ldr r2, [sp, #620] @ 0x26c │ │ │ │ │ + str r2, [sp, #424] @ 0x1a8 │ │ │ │ │ + ldr r2, [sp, #616] @ 0x268 │ │ │ │ │ vsub.f64 d10, d6, d3 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ - adds r2, r5, r2 │ │ │ │ │ + add r2, r5 │ │ │ │ │ str r2, [sp, #420] @ 0x1a4 │ │ │ │ │ vadd.f64 d2, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ vsub.f64 d9, d4, d10 │ │ │ │ │ - ldr r2, [sp, #624] @ 0x270 │ │ │ │ │ vadd.f64 d10, d4, d10 │ │ │ │ │ - adds r2, r5, r2 │ │ │ │ │ + ldr r2, [sp, #620] @ 0x26c │ │ │ │ │ vmul.f64 d15, d7, d13 │ │ │ │ │ - str r2, [sp, #416] @ 0x1a0 │ │ │ │ │ - vmul.f64 d9, d9, d13 │ │ │ │ │ vstr d2, [sp, #304] @ 0x130 │ │ │ │ │ + add r2, r5 │ │ │ │ │ + vmul.f64 d9, d9, d13 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - ldr r2, [sp, #628] @ 0x274 │ │ │ │ │ - adds r2, r5, r2 │ │ │ │ │ + str r2, [sp, #416] @ 0x1a0 │ │ │ │ │ + ldr r2, [sp, #624] @ 0x270 │ │ │ │ │ vadd.f64 d4, d6, d7 │ │ │ │ │ - str r2, [sp, #412] @ 0x19c │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ + add r2, r5 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - ldr r2, [sp, #632] @ 0x278 │ │ │ │ │ - adds r2, r5, r2 │ │ │ │ │ - str r2, [sp, #408] @ 0x198 │ │ │ │ │ + str r2, [sp, #412] @ 0x19c │ │ │ │ │ + ldr r2, [sp, #628] @ 0x274 │ │ │ │ │ + add r2, r5 │ │ │ │ │ vldr d3, [r2] │ │ │ │ │ + str r2, [sp, #408] @ 0x198 │ │ │ │ │ vadd.f64 d5, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ vadd.f64 d3, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vmul.f64 d4, d5, d13 │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ - vsub.f64 d7, d7, d6 │ │ │ │ │ vstr d3, [sp, #312] @ 0x138 │ │ │ │ │ - vstr d4, [sp, #752] @ 0x2f0 │ │ │ │ │ - vmul.f64 d6, d7, d13 │ │ │ │ │ + vsub.f64 d7, d7, d6 │ │ │ │ │ vstr d5, [sp, #320] @ 0x140 │ │ │ │ │ + vmul.f64 d6, d7, d13 │ │ │ │ │ + vstr d4, [sp, #752] @ 0x2f0 │ │ │ │ │ vstr d6, [sp, #760] @ 0x2f8 │ │ │ │ │ - ldr r2, [sp, #620] @ 0x26c │ │ │ │ │ - adds r2, r6, r2 │ │ │ │ │ - str r2, [sp, #404] @ 0x194 │ │ │ │ │ + ldr r2, [sp, #616] @ 0x268 │ │ │ │ │ + add r2, r6 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - ldr r2, [sp, #624] @ 0x270 │ │ │ │ │ - adds r2, r6, r2 │ │ │ │ │ - str r2, [sp, #400] @ 0x190 │ │ │ │ │ + str r2, [sp, #404] @ 0x194 │ │ │ │ │ + ldr r2, [sp, #620] @ 0x26c │ │ │ │ │ + add r2, r6 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ - ldr r2, [sp, #628] @ 0x274 │ │ │ │ │ - adds r2, r6, r2 │ │ │ │ │ - str r2, [sp, #396] @ 0x18c │ │ │ │ │ + str r2, [sp, #400] @ 0x190 │ │ │ │ │ + ldr r2, [sp, #624] @ 0x270 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ + add r2, r6 │ │ │ │ │ vldr d3, [r2] │ │ │ │ │ - ldr r2, [sp, #632] @ 0x278 │ │ │ │ │ - adds r2, r6, r2 │ │ │ │ │ - str r2, [sp, #392] @ 0x188 │ │ │ │ │ + str r2, [sp, #396] @ 0x18c │ │ │ │ │ + ldr r2, [sp, #628] @ 0x274 │ │ │ │ │ + add r2, r6 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ - ldr r2, [sp, #636] @ 0x27c │ │ │ │ │ + str r2, [sp, #392] @ 0x188 │ │ │ │ │ + ldr r2, [sp, #632] @ 0x278 │ │ │ │ │ vsub.f64 d5, d3, d6 │ │ │ │ │ vadd.f64 d6, d3, d6 │ │ │ │ │ - adds r2, r6, r2 │ │ │ │ │ + add r2, r6 │ │ │ │ │ str r2, [sp, #388] @ 0x184 │ │ │ │ │ vadd.f64 d2, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vsub.f64 d3, d4, d5 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ vstr d2, [sp, #328] @ 0x148 │ │ │ │ │ vmul.f64 d1, d3, d13 │ │ │ │ │ vstr d4, [sp, #336] @ 0x150 │ │ │ │ │ vstr d7, [sp, #776] @ 0x308 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - ldr r2, [sp, #640] @ 0x280 │ │ │ │ │ vstr d1, [sp, #768] @ 0x300 │ │ │ │ │ - adds r2, r6, r2 │ │ │ │ │ - str r2, [sp, #384] @ 0x180 │ │ │ │ │ + ldr r2, [sp, #800] @ 0x320 │ │ │ │ │ + add r2, r6 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ - ldr r2, [sp, #644] @ 0x284 │ │ │ │ │ - adds r2, r6, r2 │ │ │ │ │ + str r2, [sp, #384] @ 0x180 │ │ │ │ │ + ldr r2, [sp, #636] @ 0x27c │ │ │ │ │ vsub.f64 d3, d7, d6 │ │ │ │ │ - str r2, [sp, #380] @ 0x17c │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ + add r2, r6 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ - ldr r2, [sp, #800] @ 0x320 │ │ │ │ │ - adds r2, r6, r2 │ │ │ │ │ - str r2, [sp, #376] @ 0x178 │ │ │ │ │ + str r2, [sp, #380] @ 0x17c │ │ │ │ │ + ldr r2, [sp, #640] @ 0x280 │ │ │ │ │ + add r2, r6 │ │ │ │ │ vldr d4, [r2] │ │ │ │ │ - ldr r2, [sp, #636] @ 0x27c │ │ │ │ │ + str r2, [sp, #376] @ 0x178 │ │ │ │ │ + ldr r2, [sp, #632] @ 0x278 │ │ │ │ │ vsub.f64 d5, d6, d4 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - adds r2, r5, r2 │ │ │ │ │ + add r2, r5 │ │ │ │ │ str r2, [sp, #372] @ 0x174 │ │ │ │ │ vsub.f64 d4, d3, d5 │ │ │ │ │ vadd.f64 d5, d3, d5 │ │ │ │ │ vmul.f64 d4, d4, d13 │ │ │ │ │ vstr d5, [sp, #344] @ 0x158 │ │ │ │ │ vstr d4, [sp, #784] @ 0x310 │ │ │ │ │ vadd.f64 d4, d7, d6 │ │ │ │ │ - vldr d2, [r2] │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - ldr r2, [sp, #640] @ 0x280 │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ vstr d0, [sp, #8] │ │ │ │ │ - adds r2, r5, r2 │ │ │ │ │ - str r2, [sp, #368] @ 0x170 │ │ │ │ │ + ldr r2, [sp, #800] @ 0x320 │ │ │ │ │ vstr d8, [sp, #32] │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ + add r2, r5 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ - ldr r2, [sp, #644] @ 0x284 │ │ │ │ │ - adds r2, r5, r2 │ │ │ │ │ - str r2, [sp, #364] @ 0x16c │ │ │ │ │ + str r2, [sp, #368] @ 0x170 │ │ │ │ │ + ldr r2, [sp, #636] @ 0x27c │ │ │ │ │ vadd.f64 d1, d2, d6 │ │ │ │ │ vsub.f64 d2, d2, d6 │ │ │ │ │ + add r2, r5 │ │ │ │ │ vldr d5, [r2] │ │ │ │ │ - ldr r2, [sp, #800] @ 0x320 │ │ │ │ │ - adds r2, r5, r2 │ │ │ │ │ - str r2, [sp, #360] @ 0x168 │ │ │ │ │ + str r2, [sp, #364] @ 0x16c │ │ │ │ │ + ldr r2, [sp, #640] @ 0x280 │ │ │ │ │ + add r2, r5 │ │ │ │ │ vldr d3, [r2] │ │ │ │ │ + str r2, [sp, #360] @ 0x168 │ │ │ │ │ ldr r2, [sp, #4] │ │ │ │ │ vadd.f64 d6, d5, d3 │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ vadd.f64 d3, d1, d6 │ │ │ │ │ vsub.f64 d6, d6, d1 │ │ │ │ │ vadd.f64 d1, d2, d5 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ @@ -597,38 +597,38 @@ │ │ │ │ │ vldr d0, [sp, #216] @ 0xd8 │ │ │ │ │ vstr d5, [r5] │ │ │ │ │ vadd.f64 d5, d8, d0 │ │ │ │ │ vldr d0, [sp, #248] @ 0xf8 │ │ │ │ │ vldr d8, [sp, #280] @ 0x118 │ │ │ │ │ vstr d5, [r6] │ │ │ │ │ vadd.f64 d5, d1, d2 │ │ │ │ │ - vldr d1, [sp, #296] @ 0x128 │ │ │ │ │ vldr d2, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d1, [sp, #296] @ 0x128 │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ vldr d5, [sp, #64] @ 0x40 │ │ │ │ │ vadd.f64 d5, d5, d0 │ │ │ │ │ vldr d0, [sp, #104] @ 0x68 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ vadd.f64 d5, d0, d1 │ │ │ │ │ ldr r2, [sp, #824] @ 0x338 │ │ │ │ │ add r1, r2 │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ vadd.f64 d5, d2, d8 │ │ │ │ │ add r1, ip │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ ldr r1, [sp, #812] @ 0x32c │ │ │ │ │ + ldr r2, [sp, #4] │ │ │ │ │ vldr d2, [sp, #80] @ 0x50 │ │ │ │ │ vldr d5, [sp, #264] @ 0x108 │ │ │ │ │ - ldr r2, [sp, #4] │ │ │ │ │ + add r2, r1 │ │ │ │ │ + vldr d1, [sp, #240] @ 0xf0 │ │ │ │ │ vldr d0, [sp, #328] @ 0x148 │ │ │ │ │ vadd.f64 d5, d2, d5 │ │ │ │ │ - add r2, r1 │ │ │ │ │ vldr d2, [sp, #304] @ 0x130 │ │ │ │ │ vldr d8, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d1, [sp, #240] @ 0xf0 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ add r2, r1 │ │ │ │ │ vldr d5, [sp, #128] @ 0x80 │ │ │ │ │ ldr r1, [sp, #440] @ 0x1b8 │ │ │ │ │ vadd.f64 d5, d5, d2 │ │ │ │ │ vldr d2, [sp, #184] @ 0xb8 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ @@ -637,34 +637,34 @@ │ │ │ │ │ vadd.f64 d5, d5, d0 │ │ │ │ │ vldr d0, [sp, #176] @ 0xb0 │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ vadd.f64 d5, d0, d4 │ │ │ │ │ vldr d0, [sp, #136] @ 0x88 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ vadd.f64 d5, d2, d3 │ │ │ │ │ - vldr d2, [sp, #48] @ 0x30 │ │ │ │ │ add.w r3, lr, r7 │ │ │ │ │ + vldr d2, [sp, #48] @ 0x30 │ │ │ │ │ vstr d5, [fp] │ │ │ │ │ vadd.f64 d5, d0, d8 │ │ │ │ │ - vldr d8, [sp, #256] @ 0x100 │ │ │ │ │ vldr d0, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d8, [sp, #256] @ 0x100 │ │ │ │ │ vstr d5, [sl] │ │ │ │ │ vadd.f64 d5, d2, d1 │ │ │ │ │ + vldr d1, [r8, #-128] @ 0xffffff80 │ │ │ │ │ vadd.f64 d0, d0, d8 │ │ │ │ │ vldr d8, [r8, #-120] @ 0xffffff88 │ │ │ │ │ - vldr d1, [r8, #-128] @ 0xffffff80 │ │ │ │ │ vmul.f64 d2, d0, d8 │ │ │ │ │ vmla.f64 d2, d5, d1 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ vldr d8, [sp, #192] @ 0xc0 │ │ │ │ │ vnmls.f64 d5, d0, d1 │ │ │ │ │ vldr d1, [sp, #352] @ 0x160 │ │ │ │ │ vstr d2, [r1] │ │ │ │ │ - ldr r1, [sp, #424] @ 0x1a8 │ │ │ │ │ vldr d2, [sp, #168] @ 0xa8 │ │ │ │ │ + ldr r1, [sp, #424] @ 0x1a8 │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ vadd.f64 d5, d8, d1 │ │ │ │ │ vldr d8, [sp, #344] @ 0x158 │ │ │ │ │ vldr d1, [r8, #-128] @ 0xffffff80 │ │ │ │ │ ldr r0, [sp, #448] @ 0x1c0 │ │ │ │ │ vadd.f64 d0, d2, d8 │ │ │ │ │ vldr d8, [r8, #-120] @ 0xffffff88 │ │ │ │ │ @@ -672,52 +672,52 @@ │ │ │ │ │ vmul.f64 d2, d0, d8 │ │ │ │ │ vmla.f64 d2, d5, d1 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ vldr d8, [sp, #224] @ 0xe0 │ │ │ │ │ vnmls.f64 d5, d0, d1 │ │ │ │ │ vldr d1, [sp, #208] @ 0xd0 │ │ │ │ │ vstr d2, [r0] │ │ │ │ │ - ldr r0, [sp, #432] @ 0x1b0 │ │ │ │ │ vldr d2, [sp, #24] │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ + ldr r0, [sp, #432] @ 0x1b0 │ │ │ │ │ vadd.f64 d0, d2, d8 │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ vldr d5, [sp, #16] │ │ │ │ │ vldr d8, [r8, #-120] @ 0xffffff88 │ │ │ │ │ ldr r0, [sp, #444] @ 0x1bc │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ vldr d1, [r8, #-128] @ 0xffffff80 │ │ │ │ │ vmul.f64 d2, d0, d8 │ │ │ │ │ vmla.f64 d2, d5, d1 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ vldr d8, [sp, #144] @ 0x90 │ │ │ │ │ vnmls.f64 d5, d0, d1 │ │ │ │ │ - vldr d0, [sp, #320] @ 0x140 │ │ │ │ │ vldr d1, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d0, [sp, #320] @ 0x140 │ │ │ │ │ vstr d2, [r2] │ │ │ │ │ add r2, r7 │ │ │ │ │ vldr d2, [sp, #336] @ 0x150 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ vadd.f64 d5, d8, d0 │ │ │ │ │ - vadd.f64 d0, d1, d2 │ │ │ │ │ + add r3, r7 │ │ │ │ │ vldr d8, [r8, #-120] @ 0xffffff88 │ │ │ │ │ + vadd.f64 d0, d1, d2 │ │ │ │ │ vldr d1, [r8, #-128] @ 0xffffff80 │ │ │ │ │ - add r3, r7 │ │ │ │ │ vmul.f64 d2, d0, d8 │ │ │ │ │ vmla.f64 d2, d5, d1 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ vldr d8, [sp, #112] @ 0x70 │ │ │ │ │ vnmls.f64 d5, d0, d1 │ │ │ │ │ vldr d1, [sp, #120] @ 0x78 │ │ │ │ │ - vadd.f64 d0, d1, d10 │ │ │ │ │ vstr d2, [r0] │ │ │ │ │ ldr r0, [sp, #428] @ 0x1ac │ │ │ │ │ + vadd.f64 d0, d1, d10 │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ vadd.f64 d5, d8, d11 │ │ │ │ │ - vldr d8, [r8, #-120] @ 0xffffff88 │ │ │ │ │ vldr d1, [r8, #-128] @ 0xffffff80 │ │ │ │ │ + vldr d8, [r8, #-120] @ 0xffffff88 │ │ │ │ │ vmul.f64 d2, d0, d8 │ │ │ │ │ vmla.f64 d2, d5, d1 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ vnmls.f64 d5, d0, d1 │ │ │ │ │ vstr d2, [r1] │ │ │ │ │ ldr r1, [sp, #536] @ 0x218 │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ @@ -732,47 +732,47 @@ │ │ │ │ │ vldr d1, [r8, #-128] @ 0xffffff80 │ │ │ │ │ vmul.f64 d2, d0, d8 │ │ │ │ │ vmla.f64 d2, d5, d1 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ vnmls.f64 d5, d0, d1 │ │ │ │ │ vstr d2, [r1] │ │ │ │ │ vldr d2, [sp, #184] @ 0xb8 │ │ │ │ │ + ldr r1, [sp, #436] @ 0x1b4 │ │ │ │ │ vmls.f64 d2, d3, d12 │ │ │ │ │ vldr d3, [sp, #176] @ 0xb0 │ │ │ │ │ - vmls.f64 d3, d4, d12 │ │ │ │ │ - ldr r1, [sp, #436] @ 0x1b4 │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ vldr d1, [r8, #-136] @ 0xffffff78 │ │ │ │ │ ldr r1, [sp, #464] @ 0x1d0 │ │ │ │ │ + vmls.f64 d3, d4, d12 │ │ │ │ │ vsub.f64 d5, d2, d7 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ vsub.f64 d2, d3, d6 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ vldr d3, [r8, #-144] @ 0xffffff70 │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ vmla.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vnmls.f64 d5, d2, d3 │ │ │ │ │ vstr d4, [r1] │ │ │ │ │ ldr r1, [sp, #480] @ 0x1e0 │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ - vldr d3, [r8, #-104] @ 0xffffff98 │ │ │ │ │ vldr d4, [r8, #-112] @ 0xffffff90 │ │ │ │ │ + vldr d3, [r8, #-104] @ 0xffffff98 │ │ │ │ │ ldr r1, [sp, #416] @ 0x1a0 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vldr d3, [sp, #664] @ 0x298 │ │ │ │ │ vnmls.f64 d7, d6, d4 │ │ │ │ │ - vldr d4, [sp, #208] @ 0xd0 │ │ │ │ │ vldr d6, [sp, #24] │ │ │ │ │ + vldr d4, [sp, #208] @ 0xd0 │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ vldr d5, [sp, #16] │ │ │ │ │ - vmls.f64 d5, d4, d12 │ │ │ │ │ ldr r1, [sp, #400] @ 0x190 │ │ │ │ │ + vmls.f64 d5, d4, d12 │ │ │ │ │ vldr d4, [sp, #656] @ 0x290 │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ vldr d1, [r8, #-152] @ 0xffffff68 │ │ │ │ │ vmov.f64 d7, d5 │ │ │ │ │ vadd.f64 d5, d3, d5 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ vldr d3, [sp, #224] @ 0xe0 │ │ │ │ │ @@ -781,359 +781,364 @@ │ │ │ │ │ vadd.f64 d2, d4, d6 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ vmla.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vnmls.f64 d5, d2, d3 │ │ │ │ │ vstr d4, [r2] │ │ │ │ │ - ldr r0, [sp, #540] @ 0x21c │ │ │ │ │ ldr r1, [sp, #520] @ 0x208 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - vldr d3, [r8, #-88] @ 0xffffffa8 │ │ │ │ │ vldr d4, [r8, #-96] @ 0xffffffa0 │ │ │ │ │ - ldr r3, [sp, #544] @ 0x220 │ │ │ │ │ + vldr d3, [r8, #-88] @ 0xffffffa8 │ │ │ │ │ + ldrd r0, r3, [sp, #540] @ 0x21c │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d6, d4 │ │ │ │ │ vstr d5, [r9] │ │ │ │ │ vldr d5, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d7, [lr] │ │ │ │ │ + vldr d3, [r8, #-160] @ 0xffffff60 │ │ │ │ │ vmls.f64 d5, d11, d12 │ │ │ │ │ vldr d11, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d1, [r8, #-152] @ 0xffffff68 │ │ │ │ │ vmls.f64 d11, d10, d12 │ │ │ │ │ vldr d10, [sp, #88] @ 0x58 │ │ │ │ │ - vstr d7, [lr] │ │ │ │ │ - vldr d1, [r8, #-152] @ 0xffffff68 │ │ │ │ │ - vldr d3, [r8, #-160] @ 0xffffff60 │ │ │ │ │ vmov.f64 d7, d5 │ │ │ │ │ vadd.f64 d5, d9, d5 │ │ │ │ │ + vsub.f64 d7, d7, d9 │ │ │ │ │ vadd.f64 d2, d14, d11 │ │ │ │ │ vsub.f64 d6, d11, d14 │ │ │ │ │ vldr d14, [sp, #280] @ 0x118 │ │ │ │ │ - vsub.f64 d7, d7, d9 │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ vmls.f64 d10, d14, d12 │ │ │ │ │ + vldr d14, [sp, #264] @ 0x108 │ │ │ │ │ vmla.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - vldr d14, [sp, #264] @ 0x108 │ │ │ │ │ vnmls.f64 d5, d2, d3 │ │ │ │ │ vstr d4, [r0] │ │ │ │ │ ldr r0, [sp, #524] @ 0x20c │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - vldr d3, [r8, #-88] @ 0xffffffa8 │ │ │ │ │ vldr d4, [r8, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d3, [r8, #-88] @ 0xffffffa8 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vldr d3, [sp, #80] @ 0x50 │ │ │ │ │ + vnmls.f64 d7, d6, d4 │ │ │ │ │ vmls.f64 d3, d14, d12 │ │ │ │ │ vldr d14, [sp, #728] @ 0x2d8 │ │ │ │ │ - vnmls.f64 d7, d6, d4 │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ ldr r1, [sp, #468] @ 0x1d4 │ │ │ │ │ - vsub.f64 d2, d3, d14 │ │ │ │ │ - vadd.f64 d6, d14, d3 │ │ │ │ │ vstr d7, [r0] │ │ │ │ │ vmov.f64 d7, d10 │ │ │ │ │ - vldr d10, [sp, #720] @ 0x2d0 │ │ │ │ │ vldr d1, [r8, #-136] @ 0xffffff78 │ │ │ │ │ + vsub.f64 d2, d3, d14 │ │ │ │ │ + vadd.f64 d6, d14, d3 │ │ │ │ │ + vldr d10, [sp, #720] @ 0x2d0 │ │ │ │ │ vldr d3, [r8, #-144] @ 0xffffff70 │ │ │ │ │ - vsub.f64 d5, d7, d10 │ │ │ │ │ - ldr r0, [sp, #484] @ 0x1e4 │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ + ldr r0, [sp, #484] @ 0x1e4 │ │ │ │ │ + vsub.f64 d5, d7, d10 │ │ │ │ │ vadd.f64 d7, d10, d7 │ │ │ │ │ vmla.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vnmls.f64 d5, d2, d3 │ │ │ │ │ vstr d4, [r1] │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ vldr d4, [r8, #-112] @ 0xffffff90 │ │ │ │ │ vldr d3, [r8, #-104] @ 0xffffff98 │ │ │ │ │ + vldr d11, [sp, #232] @ 0xe8 │ │ │ │ │ vldr d14, [sp, #296] @ 0x128 │ │ │ │ │ - ldr r1, [sp, #420] @ 0x1a4 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ - ldr r2, [sp, #552] @ 0x228 │ │ │ │ │ + ldr r1, [sp, #420] @ 0x1a4 │ │ │ │ │ + ldrd r3, r2, [sp, #548] @ 0x224 │ │ │ │ │ + vldr d9, [sp, #248] @ 0xf8 │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vldr d3, [sp, #104] @ 0x68 │ │ │ │ │ + vnmls.f64 d7, d6, d4 │ │ │ │ │ vmls.f64 d3, d14, d12 │ │ │ │ │ vldr d14, [sp, #304] @ 0x130 │ │ │ │ │ - ldr r3, [sp, #548] @ 0x224 │ │ │ │ │ - vnmls.f64 d7, d6, d4 │ │ │ │ │ - vldr d9, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d11, [sp, #232] @ 0xe8 │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ ldr r1, [sp, #404] @ 0x194 │ │ │ │ │ - vsub.f64 d5, d3, d15 │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ + vsub.f64 d5, d3, d15 │ │ │ │ │ vadd.f64 d7, d15, d3 │ │ │ │ │ vldr d3, [sp, #128] @ 0x80 │ │ │ │ │ - vmls.f64 d3, d14, d12 │ │ │ │ │ vldr d1, [r8, #-136] @ 0xffffff78 │ │ │ │ │ - vldr d14, [sp, #704] @ 0x2c0 │ │ │ │ │ ldr r1, [sp, #456] @ 0x1c8 │ │ │ │ │ + vmls.f64 d3, d14, d12 │ │ │ │ │ + vldr d14, [sp, #704] @ 0x2c0 │ │ │ │ │ vmov.f64 d6, d3 │ │ │ │ │ vldr d3, [sp, #744] @ 0x2e8 │ │ │ │ │ vsub.f64 d2, d6, d3 │ │ │ │ │ vadd.f64 d6, d3, d6 │ │ │ │ │ vldr d3, [r8, #-144] @ 0xffffff70 │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ vmla.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vldr d1, [sp, #40] @ 0x28 │ │ │ │ │ + vnmls.f64 d5, d2, d3 │ │ │ │ │ vmls.f64 d1, d11, d12 │ │ │ │ │ vldr d11, [sp, #680] @ 0x2a8 │ │ │ │ │ - vnmls.f64 d5, d2, d3 │ │ │ │ │ vstr d4, [r2] │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - vldr d3, [r8, #-104] @ 0xffffff98 │ │ │ │ │ vldr d4, [r8, #-112] @ 0xffffff90 │ │ │ │ │ + vldr d3, [r8, #-104] @ 0xffffff98 │ │ │ │ │ ldr r3, [sp, #532] @ 0x214 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d6, d4 │ │ │ │ │ vldr d4, [sp, #64] @ 0x40 │ │ │ │ │ - vmls.f64 d4, d9, d12 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ vsub.f64 d5, d1, d14 │ │ │ │ │ + vmls.f64 d4, d9, d12 │ │ │ │ │ ldr r3, [sp, #528] @ 0x210 │ │ │ │ │ - vsub.f64 d2, d4, d11 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vadd.f64 d7, d14, d1 │ │ │ │ │ - vldr d1, [r8, #-136] @ 0xffffff78 │ │ │ │ │ vldr d3, [r8, #-144] @ 0xffffff70 │ │ │ │ │ + vldr d1, [r8, #-136] @ 0xffffff78 │ │ │ │ │ + vsub.f64 d2, d4, d11 │ │ │ │ │ vadd.f64 d6, d11, d4 │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ vmla.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vnmls.f64 d5, d2, d3 │ │ │ │ │ vstr d4, [r1] │ │ │ │ │ ldr r0, [sp, #472] @ 0x1d8 │ │ │ │ │ + vldr d15, [sp, #216] @ 0xd8 │ │ │ │ │ ldr r1, [sp, #408] @ 0x198 │ │ │ │ │ - vldr d11, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d14, [sp, #328] @ 0x148 │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ - vldr d3, [r8, #-104] @ 0xffffff98 │ │ │ │ │ vldr d4, [r8, #-112] @ 0xffffff90 │ │ │ │ │ - ldr r0, [sp, #460] @ 0x1cc │ │ │ │ │ + vldr d3, [r8, #-104] @ 0xffffff98 │ │ │ │ │ + vldr d14, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d11, [sp, #312] @ 0x138 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ - vldr d15, [sp, #216] @ 0xd8 │ │ │ │ │ + ldr r0, [sp, #460] @ 0x1cc │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vldr d3, [sp, #776] @ 0x308 │ │ │ │ │ vnmls.f64 d7, d6, d4 │ │ │ │ │ vldr d4, [sp, #160] @ 0xa0 │ │ │ │ │ - vmls.f64 d4, d14, d12 │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ vldr d5, [sp, #136] @ 0x88 │ │ │ │ │ - vmls.f64 d5, d11, d12 │ │ │ │ │ + vmls.f64 d4, d14, d12 │ │ │ │ │ ldr r1, [sp, #392] @ 0x188 │ │ │ │ │ + vmls.f64 d5, d11, d12 │ │ │ │ │ vldr d11, [sp, #752] @ 0x2f0 │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ - vsub.f64 d2, d4, d11 │ │ │ │ │ vldr d1, [r8, #-136] @ 0xffffff78 │ │ │ │ │ + vsub.f64 d2, d4, d11 │ │ │ │ │ vadd.f64 d6, d11, d4 │ │ │ │ │ vmov.f64 d7, d5 │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ vadd.f64 d7, d3, d7 │ │ │ │ │ vldr d3, [r8, #-144] @ 0xffffff70 │ │ │ │ │ vmla.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vnmls.f64 d5, d2, d3 │ │ │ │ │ vstr d4, [r0] │ │ │ │ │ ldr r0, [sp, #476] @ 0x1dc │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ - vldr d3, [r8, #-104] @ 0xffffff98 │ │ │ │ │ vldr d4, [r8, #-112] @ 0xffffff90 │ │ │ │ │ + vldr d3, [r8, #-104] @ 0xffffff98 │ │ │ │ │ ldr r0, [sp, #412] @ 0x19c │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vldr d3, [sp, #672] @ 0x2a0 │ │ │ │ │ vnmls.f64 d7, d6, d4 │ │ │ │ │ vldr d6, [sp, #32] │ │ │ │ │ - vmls.f64 d6, d15, d12 │ │ │ │ │ vldr d4, [sp, #648] @ 0x288 │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ - ldr r0, [sp, #396] @ 0x18c │ │ │ │ │ vldr d5, [sp, #200] @ 0xc8 │ │ │ │ │ + vmls.f64 d6, d15, d12 │ │ │ │ │ + ldr r0, [sp, #396] @ 0x18c │ │ │ │ │ vstr d7, [r0] │ │ │ │ │ - vsub.f64 d2, d6, d4 │ │ │ │ │ vldr d7, [sp, #8] │ │ │ │ │ + vsub.f64 d2, d6, d4 │ │ │ │ │ vadd.f64 d6, d4, d6 │ │ │ │ │ vmls.f64 d7, d5, d12 │ │ │ │ │ vsub.f64 d5, d7, d3 │ │ │ │ │ vadd.f64 d7, d3, d7 │ │ │ │ │ vldr d3, [r8, #-144] @ 0xffffff70 │ │ │ │ │ vldr d1, [r8, #-136] @ 0xffffff78 │ │ │ │ │ + vldr d8, [sp, #72] @ 0x48 │ │ │ │ │ ldr r0, [sp, #836] @ 0x344 │ │ │ │ │ - vldr d9, [sp, #712] @ 0x2c8 │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ + vldr d9, [sp, #712] @ 0x2c8 │ │ │ │ │ + ldr r1, [sp, #500] @ 0x1f4 │ │ │ │ │ add.w r3, r9, r0 │ │ │ │ │ + add.w r2, lr, r0 │ │ │ │ │ + vldr d11, [sp, #768] @ 0x300 │ │ │ │ │ vmla.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - add.w r2, lr, r0 │ │ │ │ │ ldr r0, [sp, #808] @ 0x328 │ │ │ │ │ vldr d1, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d8, [sp, #72] @ 0x48 │ │ │ │ │ vnmls.f64 d5, d2, d3 │ │ │ │ │ - ldr r1, [sp, #500] @ 0x1f4 │ │ │ │ │ - vldr d11, [sp, #768] @ 0x300 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ add r3, r0 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ add r2, r0 │ │ │ │ │ - vldr d3, [r8, #-104] @ 0xffffff98 │ │ │ │ │ vldr d4, [r8, #-112] @ 0xffffff90 │ │ │ │ │ + vldr d3, [r8, #-104] @ 0xffffff98 │ │ │ │ │ ldr r0, [sp, #372] @ 0x174 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d6, d4 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ vldr d5, [sp, #288] @ 0x120 │ │ │ │ │ - vmls.f64 d1, d5, d12 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ vldr d3, [r8, #-160] @ 0xffffff60 │ │ │ │ │ + vmls.f64 d1, d5, d12 │ │ │ │ │ ldr r2, [sp, #516] @ 0x204 │ │ │ │ │ vadd.f64 d5, d9, d1 │ │ │ │ │ vsub.f64 d7, d1, d9 │ │ │ │ │ vldr d9, [sp, #272] @ 0x110 │ │ │ │ │ vldr d1, [r8, #-152] @ 0xffffff68 │ │ │ │ │ vmls.f64 d8, d9, d12 │ │ │ │ │ vldr d9, [sp, #736] @ 0x2e0 │ │ │ │ │ - vadd.f64 d2, d9, d8 │ │ │ │ │ - vsub.f64 d6, d8, d9 │ │ │ │ │ + vmov.f64 d6, d8 │ │ │ │ │ vldr d8, [sp, #144] @ 0x90 │ │ │ │ │ + vadd.f64 d2, d9, d6 │ │ │ │ │ + vsub.f64 d6, d6, d9 │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ vmla.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vldr d1, [sp, #152] @ 0x98 │ │ │ │ │ vnmls.f64 d5, d2, d3 │ │ │ │ │ vstr d4, [r2] │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ - vldr d3, [r8, #-88] @ 0xffffffa8 │ │ │ │ │ vldr d4, [r8, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d3, [r8, #-88] @ 0xffffffa8 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d6, d4 │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ vldr d5, [sp, #320] @ 0x140 │ │ │ │ │ ldr r0, [sp, #388] @ 0x184 │ │ │ │ │ vmls.f64 d8, d5, d12 │ │ │ │ │ vstr d7, [r0] │ │ │ │ │ vadd.f64 d5, d11, d8 │ │ │ │ │ vsub.f64 d7, d8, d11 │ │ │ │ │ vldr d11, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d9, [sp, #760] @ 0x2f8 │ │ │ │ │ vldr d3, [r8, #-160] @ 0xffffff60 │ │ │ │ │ + vldr d9, [sp, #760] @ 0x2f8 │ │ │ │ │ vmls.f64 d1, d11, d12 │ │ │ │ │ - ldr r3, [sp, #508] @ 0x1fc │ │ │ │ │ + vldr d10, [sp, #256] @ 0x100 │ │ │ │ │ ldr r1, [sp, #492] @ 0x1ec │ │ │ │ │ + ldr r3, [sp, #508] @ 0x1fc │ │ │ │ │ ldr r0, [sp, #364] @ 0x16c │ │ │ │ │ - vldr d10, [sp, #256] @ 0x100 │ │ │ │ │ vadd.f64 d2, d9, d1 │ │ │ │ │ vsub.f64 d6, d1, d9 │ │ │ │ │ vldr d1, [r8, #-152] @ 0xffffff68 │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ vmla.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vldr d1, [sp, #240] @ 0xf0 │ │ │ │ │ vnmls.f64 d5, d2, d3 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ ldr r3, [sp, #504] @ 0x1f8 │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ - vldr d3, [r8, #-88] @ 0xffffffa8 │ │ │ │ │ vldr d4, [r8, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d3, [r8, #-88] @ 0xffffffa8 │ │ │ │ │ ldr r1, [sp, #380] @ 0x17c │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vldr d3, [sp, #696] @ 0x2b8 │ │ │ │ │ vnmls.f64 d7, d6, d4 │ │ │ │ │ vldr d6, [sp, #56] @ 0x38 │ │ │ │ │ - vmls.f64 d6, d10, d12 │ │ │ │ │ vldr d4, [sp, #688] @ 0x2b0 │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ + vmls.f64 d6, d10, d12 │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ vldr d7, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r1, [sp, #360] @ 0x168 │ │ │ │ │ vadd.f64 d2, d4, d6 │ │ │ │ │ + vsub.f64 d6, d6, d4 │ │ │ │ │ vmls.f64 d7, d1, d12 │ │ │ │ │ vldr d1, [r8, #-152] @ 0xffffff68 │ │ │ │ │ - vsub.f64 d6, d6, d4 │ │ │ │ │ - ldr r1, [sp, #360] @ 0x168 │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ vadd.f64 d5, d3, d7 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ vldr d3, [r8, #-160] @ 0xffffff60 │ │ │ │ │ vmla.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vnmls.f64 d5, d2, d3 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ ldr r3, [sp, #488] @ 0x1e8 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - vldr d3, [r8, #-88] @ 0xffffffa8 │ │ │ │ │ vldr d4, [r8, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d3, [r8, #-88] @ 0xffffffa8 │ │ │ │ │ ldr r3, [sp, #376] @ 0x178 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d6, d4 │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vldr d7, [sp, #192] @ 0xc0 │ │ │ │ │ + vldr d6, [sp, #168] @ 0xa8 │ │ │ │ │ vldr d1, [sp, #352] @ 0x160 │ │ │ │ │ vldr d8, [sp, #344] @ 0x158 │ │ │ │ │ - vldr d6, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d2, [r8, #-160] @ 0xffffff60 │ │ │ │ │ vmls.f64 d7, d1, d12 │ │ │ │ │ vldr d4, [sp, #784] @ 0x310 │ │ │ │ │ vmls.f64 d6, d8, d12 │ │ │ │ │ vldr d1, [r8, #-152] @ 0xffffff68 │ │ │ │ │ - vldr d2, [r8, #-160] @ 0xffffff60 │ │ │ │ │ - ldr r2, [sp, #512] @ 0x200 │ │ │ │ │ ldr r3, [sp, #368] @ 0x170 │ │ │ │ │ + ldr r2, [sp, #512] @ 0x200 │ │ │ │ │ vadd.f64 d5, d4, d7 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ vldr d4, [sp, #792] @ 0x318 │ │ │ │ │ vadd.f64 d3, d4, d6 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vmul.f64 d4, d3, d1 │ │ │ │ │ vmla.f64 d4, d5, d2 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vnmls.f64 d5, d3, d2 │ │ │ │ │ vstr d4, [r2] │ │ │ │ │ ldr r2, [sp, #496] @ 0x1f0 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ - vldr d3, [r8, #-88] @ 0xffffffa8 │ │ │ │ │ vldr d4, [r8, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d3, [r8, #-88] @ 0xffffffa8 │ │ │ │ │ ldr r2, [sp, #384] @ 0x180 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d6, d4 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ ldr r3, [sp, #828] @ 0x33c │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + ldr r2, [sp, #952] @ 0x3b8 │ │ │ │ │ add r5, r3 │ │ │ │ │ add r6, r3 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ ldr r3, [sp, #804] @ 0x324 │ │ │ │ │ - ldr r2, [sp, #952] @ 0x3b8 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.w 138 │ │ │ │ │ + bne.w 190 │ │ │ │ │ add.w sp, sp, #844 @ 0x34c │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000ed8 : │ │ │ │ │ +00000f58 : │ │ │ │ │ fftw_codelet_q1_6(): │ │ │ │ │ - ldr r2, [pc, #8] @ (ee4 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (ee8 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (f64 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (f68 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_difsq_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── q1_8.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 8472 (bytes into file) │ │ │ │ │ + Start of section headers: 8684 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x2118: │ │ │ │ │ +There are 14 section headers, starting at offset 0x21ec: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 001e5c 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 002070 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 001e90 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 001e90 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 001e90 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 001e95 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 001e9d 000040 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 002088 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 001edd 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 001edd 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 001f10 000110 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 002020 000050 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 0020a0 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 001f30 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 002144 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 001f64 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 001f64 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 001f64 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 001f69 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 001f71 000040 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 00215c 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 001fb1 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 001fb1 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 001fe4 000110 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0020f4 000050 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 002174 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,20 +1,20 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 17 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 7750 FUNC LOCAL DEFAULT 1 q1_8 │ │ │ │ │ + 1: 00000001 7964 FUNC LOCAL DEFAULT 1 q1_8 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000002e8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 000002f0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00001e54 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000390 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000398 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00001f28 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 14: 00001e49 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_q1_8 │ │ │ │ │ + 14: 00001f1d 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_q1_8 │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_difsq_register │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x2070 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x2144 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00001e54 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00001e58 00000103 R_ARM_REL32 00000001 q1_8 │ │ │ │ │ -00001e50 00000f1e R_ARM_THM_JUMP24 00000000 fftw_kdft_difsq_register │ │ │ │ │ +00001f28 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00001f2c 00000103 R_ARM_REL32 00000001 q1_8 │ │ │ │ │ +00001f24 00000f1e R_ARM_THM_JUMP24 00000000 fftw_kdft_difsq_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x2088 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x215c contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001002 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,839 +1,845 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ q1_8(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov sl, r0 │ │ │ │ │ - mov fp, r1 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov r9, r0 │ │ │ │ │ + mov sl, r1 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ subw sp, sp, #1620 @ 0x654 │ │ │ │ │ ldr.w r1, [sp, #1724] @ 0x6bc │ │ │ │ │ + str r2, [sp, #80] @ 0x50 │ │ │ │ │ + ldr.w r2, [sp, #1720] @ 0x6b8 │ │ │ │ │ ldr.w r0, [sp, #1728] @ 0x6c0 │ │ │ │ │ - str r2, [sp, #56] @ 0x38 │ │ │ │ │ cmp r1, r0 │ │ │ │ │ - ldr.w r2, [sp, #1720] @ 0x6b8 │ │ │ │ │ - bge.w 1e3a │ │ │ │ │ - lsls r0, r3, #4 │ │ │ │ │ - str.w r0, [sp, #1392] @ 0x570 │ │ │ │ │ - lsls r0, r3, #2 │ │ │ │ │ - lsls r1, r3, #5 │ │ │ │ │ + bge.w 1efe │ │ │ │ │ + add.w r4, r3, r2 │ │ │ │ │ + mov.w r1, r3, lsl #5 │ │ │ │ │ + vldr d11, [pc, #848] @ 390 │ │ │ │ │ + mov.w r5, r4, lsl #3 │ │ │ │ │ + mov.w r0, r3, lsl #4 │ │ │ │ │ + str r4, [sp, #4] │ │ │ │ │ + mov.w r4, r3, lsl #2 │ │ │ │ │ + mov.w r7, r2, lsl #1 │ │ │ │ │ + mov.w fp, r2, lsl #4 │ │ │ │ │ str.w r1, [sp, #1388] @ 0x56c │ │ │ │ │ - adds r1, r0, r3 │ │ │ │ │ - add.w lr, r3, r2 │ │ │ │ │ - str r1, [sp, #16] │ │ │ │ │ - add r1, r2 │ │ │ │ │ - str r0, [sp, #0] │ │ │ │ │ - mov.w r4, lr, lsl #3 │ │ │ │ │ - str.w r4, [sp, #1396] @ 0x574 │ │ │ │ │ - lsls r4, r1, #3 │ │ │ │ │ - str.w r4, [sp, #1400] @ 0x578 │ │ │ │ │ - lsls r4, r3, #3 │ │ │ │ │ - str.w r4, [sp, #1384] @ 0x568 │ │ │ │ │ - subs r1, r4, r3 │ │ │ │ │ - str r1, [sp, #8] │ │ │ │ │ + add.w r1, r4, r3 │ │ │ │ │ + str.w r0, [sp, #1392] @ 0x570 │ │ │ │ │ + mov.w r0, r3, lsl #3 │ │ │ │ │ + str r4, [sp, #8] │ │ │ │ │ + str r1, [sp, #552] @ 0x228 │ │ │ │ │ add r1, r2 │ │ │ │ │ - movs r4, #6 │ │ │ │ │ - mov.w r9, #40 @ 0x28 │ │ │ │ │ - vldr d11, [pc, #648] @ 2e8 │ │ │ │ │ - lsls r6, r1, #3 │ │ │ │ │ - lsls r1, r3, #1 │ │ │ │ │ - adds r5, r1, r3 │ │ │ │ │ - str r1, [sp, #12] │ │ │ │ │ - movs r1, #48 @ 0x30 │ │ │ │ │ - add.w r8, r5, r2 │ │ │ │ │ + mov.w r6, r1, lsl #3 │ │ │ │ │ + str r7, [sp, #32] │ │ │ │ │ + str.w r0, [sp, #1384] @ 0x568 │ │ │ │ │ + sub.w r0, r0, r3 │ │ │ │ │ + add.w r1, r0, r2 │ │ │ │ │ + str r0, [sp, #16] │ │ │ │ │ + add.w r0, r7, r2 │ │ │ │ │ + str.w r6, [sp, #1400] @ 0x578 │ │ │ │ │ + mov.w r6, r1, lsl #3 │ │ │ │ │ + mov.w r1, r3, lsl #1 │ │ │ │ │ + str.w r5, [sp, #1396] @ 0x574 │ │ │ │ │ + mov.w r7, r0, lsl #1 │ │ │ │ │ + str r1, [sp, #24] │ │ │ │ │ + add r1, r3 │ │ │ │ │ + add.w r8, r1, r2 │ │ │ │ │ str.w r6, [sp, #1404] @ 0x57c │ │ │ │ │ mov.w r6, r8, lsl #3 │ │ │ │ │ + str r1, [sp, #0] │ │ │ │ │ + add.w r1, r7, r4 │ │ │ │ │ + add.w r4, r0, r3 │ │ │ │ │ + str r4, [sp, #40] @ 0x28 │ │ │ │ │ str.w r6, [sp, #1408] @ 0x580 │ │ │ │ │ - mul.w r6, r1, r2 │ │ │ │ │ - str r5, [sp, #552] @ 0x228 │ │ │ │ │ + mov.w r6, r0, lsl #4 │ │ │ │ │ + str.w r6, [sp, #1568] @ 0x620 │ │ │ │ │ + mov.w r6, r1, lsl #3 │ │ │ │ │ + mov.w r1, r2, lsl #3 │ │ │ │ │ + sub.w ip, r1, r2 │ │ │ │ │ str.w r6, [sp, #1412] @ 0x584 │ │ │ │ │ - mul.w r6, r4, r2 │ │ │ │ │ - mul.w r4, r3, r4 │ │ │ │ │ - adds r0, r6, r0 │ │ │ │ │ - str r4, [sp, #4] │ │ │ │ │ - lsls r7, r0, #3 │ │ │ │ │ - str.w r7, [sp, #1416] @ 0x588 │ │ │ │ │ - lsls r7, r2, #1 │ │ │ │ │ - str r7, [sp, #24] │ │ │ │ │ - adds r5, r7, r2 │ │ │ │ │ - adds r7, r5, r3 │ │ │ │ │ - str r7, [sp, #32] │ │ │ │ │ - lsls r0, r7, #4 │ │ │ │ │ - str.w r0, [sp, #1420] @ 0x58c │ │ │ │ │ - mul.w r0, r1, lr │ │ │ │ │ - str.w r0, [sp, #1424] @ 0x590 │ │ │ │ │ - lsls r0, r2, #3 │ │ │ │ │ - subs r7, r0, r2 │ │ │ │ │ - str r0, [sp, #48] @ 0x30 │ │ │ │ │ - adds r1, r7, r3 │ │ │ │ │ - lsls r0, r1, #3 │ │ │ │ │ - str.w r0, [sp, #1428] @ 0x594 │ │ │ │ │ - ldr r0, [sp, #16] │ │ │ │ │ - subs r1, r1, r2 │ │ │ │ │ - add r0, r7 │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ - str.w r0, [sp, #1432] @ 0x598 │ │ │ │ │ - movs r0, #56 @ 0x38 │ │ │ │ │ - mul.w r0, r0, lr │ │ │ │ │ - str.w r0, [sp, #1436] @ 0x59c │ │ │ │ │ - ldr r0, [sp, #552] @ 0x228 │ │ │ │ │ - add.w ip, r0, r7 │ │ │ │ │ - mov.w r0, ip, lsl #3 │ │ │ │ │ - str.w r0, [sp, #1440] @ 0x5a0 │ │ │ │ │ - mul.w r0, r9, r3 │ │ │ │ │ - mov.w r9, #24 │ │ │ │ │ - str r0, [sp, #64] @ 0x40 │ │ │ │ │ - add ip, r3 │ │ │ │ │ - mul.w r0, r9, r3 │ │ │ │ │ - mov.w r9, r2, lsl #4 │ │ │ │ │ - str.w r0, [sp, #1444] @ 0x5a4 │ │ │ │ │ - add.w r0, r8, r3 │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ - str.w r0, [sp, #1448] @ 0x5a8 │ │ │ │ │ - ldr r0, [sp, #12] │ │ │ │ │ - add r0, r2 │ │ │ │ │ - str r0, [sp, #40] @ 0x28 │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ - str.w r0, [sp, #1452] @ 0x5ac │ │ │ │ │ - adds r0, r4, r2 │ │ │ │ │ - lsls r4, r0, #3 │ │ │ │ │ - str.w r4, [sp, #1456] @ 0x5b0 │ │ │ │ │ - ldr r0, [sp, #0] │ │ │ │ │ - lsls r4, r1, #3 │ │ │ │ │ - str.w r4, [sp, #1460] @ 0x5b4 │ │ │ │ │ - add r1, r0 │ │ │ │ │ - lsls r4, r1, #3 │ │ │ │ │ - str.w r4, [sp, #1464] @ 0x5b8 │ │ │ │ │ - ldr r4, [sp, #8] │ │ │ │ │ - subs r1, r1, r5 │ │ │ │ │ - add r6, r4 │ │ │ │ │ - subs r0, r6, r0 │ │ │ │ │ - lsls r4, r6, #3 │ │ │ │ │ - str.w r4, [sp, #1468] @ 0x5bc │ │ │ │ │ - lsls r4, r0, #3 │ │ │ │ │ - str.w r4, [sp, #1472] @ 0x5c0 │ │ │ │ │ - mov.w r4, ip, lsl #3 │ │ │ │ │ - str.w r4, [sp, #1476] @ 0x5c4 │ │ │ │ │ - ldr r4, [sp, #12] │ │ │ │ │ - subs r6, r6, r5 │ │ │ │ │ - subs r0, r0, r2 │ │ │ │ │ - add.w ip, r7, r4 │ │ │ │ │ - lsls r6, r6, #3 │ │ │ │ │ - str.w r6, [sp, #1508] @ 0x5e4 │ │ │ │ │ - movs r6, #24 │ │ │ │ │ - mov.w r4, ip, lsl #3 │ │ │ │ │ - str.w r4, [sp, #1480] @ 0x5c8 │ │ │ │ │ + mov.w r6, r4, lsl #4 │ │ │ │ │ ldr r4, [sp, #4] │ │ │ │ │ - mul.w r6, r6, lr │ │ │ │ │ - add r7, r4 │ │ │ │ │ - str.w r6, [sp, #1512] @ 0x5e8 │ │ │ │ │ - lsls r6, r2, #5 │ │ │ │ │ - lsls r4, r7, #3 │ │ │ │ │ + str r1, [sp, #72] @ 0x48 │ │ │ │ │ + add.w r1, ip, r3 │ │ │ │ │ + str.w r6, [sp, #1416] @ 0x588 │ │ │ │ │ + add.w r4, r4, r4, lsl #1 │ │ │ │ │ + mov.w r6, r4, lsl #4 │ │ │ │ │ + str r4, [sp, #64] @ 0x40 │ │ │ │ │ + ldr r4, [sp, #552] @ 0x228 │ │ │ │ │ + str.w r6, [sp, #1572] @ 0x624 │ │ │ │ │ + mov.w r6, r1, lsl #3 │ │ │ │ │ + sub.w r1, r1, r2 │ │ │ │ │ + str.w r6, [sp, #1420] @ 0x58c │ │ │ │ │ + add r4, ip │ │ │ │ │ + mov.w r6, r4, lsl #3 │ │ │ │ │ + ldr r4, [sp, #4] │ │ │ │ │ + str.w r6, [sp, #1424] @ 0x590 │ │ │ │ │ + sub.w r4, r5, r4 │ │ │ │ │ + ldr r5, [sp, #0] │ │ │ │ │ + mov.w r6, r4, lsl #3 │ │ │ │ │ + ldr r4, [sp, #552] @ 0x228 │ │ │ │ │ + str.w r6, [sp, #1576] @ 0x628 │ │ │ │ │ + add.w lr, r5, ip │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ + mov.w r6, lr, lsl #3 │ │ │ │ │ + add lr, r3 │ │ │ │ │ + str.w r6, [sp, #1428] @ 0x594 │ │ │ │ │ + mov.w r6, r4, lsl #3 │ │ │ │ │ + add.w r4, r8, r3 │ │ │ │ │ + str.w r5, [sp, #1580] @ 0x62c │ │ │ │ │ + mov.w r5, r4, lsl #3 │ │ │ │ │ + str r6, [sp, #88] @ 0x58 │ │ │ │ │ + str.w r5, [sp, #1432] @ 0x598 │ │ │ │ │ + ldr r4, [sp, #24] │ │ │ │ │ + add.w r5, r4, r2 │ │ │ │ │ + mov.w r6, r5, lsl #3 │ │ │ │ │ + str r5, [sp, #48] @ 0x30 │ │ │ │ │ + str.w r6, [sp, #1436] @ 0x59c │ │ │ │ │ + ldr r6, [sp, #0] │ │ │ │ │ + mov.w r5, r6, lsl #1 │ │ │ │ │ + add.w r4, r5, r2 │ │ │ │ │ + mov.w r6, r4, lsl #3 │ │ │ │ │ + ldr r4, [sp, #8] │ │ │ │ │ + str r5, [sp, #12] │ │ │ │ │ + ldr r5, [sp, #16] │ │ │ │ │ + str.w r6, [sp, #1440] @ 0x5a0 │ │ │ │ │ + mov.w r6, r1, lsl #3 │ │ │ │ │ + add r1, r4 │ │ │ │ │ + str.w r6, [sp, #1444] @ 0x5a4 │ │ │ │ │ + mov.w r6, r1, lsl #3 │ │ │ │ │ + sub.w r1, r1, r0 │ │ │ │ │ + add r7, r5 │ │ │ │ │ + ldr r5, [sp, #12] │ │ │ │ │ + sub.w r4, r7, r4 │ │ │ │ │ + str r7, [sp, #56] @ 0x38 │ │ │ │ │ + str.w r6, [sp, #1448] @ 0x5a8 │ │ │ │ │ + mov.w r6, r7, lsl #3 │ │ │ │ │ + ldr r7, [sp, #24] │ │ │ │ │ + str.w r6, [sp, #1452] @ 0x5ac │ │ │ │ │ + mov.w r6, r4, lsl #3 │ │ │ │ │ + sub.w r4, r4, r2 │ │ │ │ │ + str.w r6, [sp, #1456] @ 0x5b0 │ │ │ │ │ + mov.w r6, lr, lsl #3 │ │ │ │ │ + add.w lr, ip, r7 │ │ │ │ │ + ldr r7, [sp, #48] @ 0x30 │ │ │ │ │ + add ip, r5 │ │ │ │ │ + str.w r6, [sp, #1460] @ 0x5b4 │ │ │ │ │ + mov.w r6, lr, lsl #3 │ │ │ │ │ + str.w r6, [sp, #1464] @ 0x5b8 │ │ │ │ │ + mov.w r6, ip, lsl #3 │ │ │ │ │ + str.w r6, [sp, #1468] @ 0x5bc │ │ │ │ │ + mov.w r6, r7, lsl #4 │ │ │ │ │ + ldr r7, [sp, #4] │ │ │ │ │ + str.w r6, [sp, #1472] @ 0x5c0 │ │ │ │ │ + mov.w r6, r7, lsl #4 │ │ │ │ │ ldr r7, [sp, #40] @ 0x28 │ │ │ │ │ - str r6, [sp, #40] @ 0x28 │ │ │ │ │ - mov.w r6, lr, lsl #5 │ │ │ │ │ - str.w r6, [sp, #1516] @ 0x5ec │ │ │ │ │ - lsls r7, r7, #4 │ │ │ │ │ - str.w r7, [sp, #1488] @ 0x5d0 │ │ │ │ │ - mov.w r7, lr, lsl #4 │ │ │ │ │ - str.w r7, [sp, #1492] @ 0x5d4 │ │ │ │ │ - mov.w r7, r8, lsl #4 │ │ │ │ │ + str.w r6, [sp, #1476] @ 0x5c4 │ │ │ │ │ + mov.w r6, r8, lsl #4 │ │ │ │ │ + str.w r6, [sp, #1480] @ 0x5c8 │ │ │ │ │ + mov.w r6, r7, lsl #3 │ │ │ │ │ + ldr r7, [sp, #56] @ 0x38 │ │ │ │ │ + str.w r6, [sp, #1484] @ 0x5cc │ │ │ │ │ + mov.w r6, r1, lsl #3 │ │ │ │ │ + sub.w r1, r1, r2 │ │ │ │ │ + sub.w r7, r7, r0 │ │ │ │ │ + str.w r6, [sp, #1488] @ 0x5d0 │ │ │ │ │ + mov.w r6, r7, lsl #3 │ │ │ │ │ + ldr r7, [sp, #64] @ 0x40 │ │ │ │ │ + str.w r6, [sp, #1492] @ 0x5d4 │ │ │ │ │ + mov.w r6, r7, lsl #3 │ │ │ │ │ + ldr r7, [sp, #4] │ │ │ │ │ + str.w r6, [sp, #1584] @ 0x630 │ │ │ │ │ + mov.w r6, r2, lsl #5 │ │ │ │ │ + mov.w r7, r7, lsl #5 │ │ │ │ │ + str r6, [sp, #48] @ 0x30 │ │ │ │ │ str.w r7, [sp, #1496] @ 0x5d8 │ │ │ │ │ ldr r7, [sp, #32] │ │ │ │ │ - str.w r4, [sp, #1484] @ 0x5cc │ │ │ │ │ - ldr r4, [sp, #4] │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ + add r7, r3 │ │ │ │ │ + mov r6, r7 │ │ │ │ │ + mov.w r7, r7, lsl #4 │ │ │ │ │ + str r6, [sp, #40] @ 0x28 │ │ │ │ │ str.w r7, [sp, #1500] @ 0x5dc │ │ │ │ │ - lsls r7, r1, #3 │ │ │ │ │ - str.w r7, [sp, #1504] @ 0x5e0 │ │ │ │ │ - ldr r7, [sp, #24] │ │ │ │ │ - subs r1, r1, r2 │ │ │ │ │ - adds r6, r7, r3 │ │ │ │ │ - str r6, [sp, #32] │ │ │ │ │ - lsls r1, r1, #3 │ │ │ │ │ - lsls r7, r6, #4 │ │ │ │ │ - lsls r6, r2, #2 │ │ │ │ │ - add.w ip, r4, r6 │ │ │ │ │ - add.w r8, r6, r2 │ │ │ │ │ - str.w r7, [sp, #1520] @ 0x5f0 │ │ │ │ │ - mov.w r7, ip, lsl #3 │ │ │ │ │ - str.w r7, [sp, #1524] @ 0x5f4 │ │ │ │ │ - add.w r7, r8, r3 │ │ │ │ │ - sub.w ip, ip, r2 │ │ │ │ │ - lsls r4, r7, #3 │ │ │ │ │ - str.w r4, [sp, #1528] @ 0x5f8 │ │ │ │ │ - movs r4, #40 @ 0x28 │ │ │ │ │ - subs r7, r7, r2 │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ - mul.w r4, r4, lr │ │ │ │ │ - str.w r4, [sp, #1532] @ 0x5fc │ │ │ │ │ - ldr r4, [sp, #8] │ │ │ │ │ - add.w lr, r4, r8 │ │ │ │ │ - mov.w r4, lr, lsl #3 │ │ │ │ │ - str.w r4, [sp, #1536] @ 0x600 │ │ │ │ │ - lsls r4, r0, #3 │ │ │ │ │ - str.w r4, [sp, #1540] @ 0x604 │ │ │ │ │ - ldr r4, [sp, #32] │ │ │ │ │ - sub.w lr, lr, r5 │ │ │ │ │ - str.w r1, [sp, #1548] @ 0x60c │ │ │ │ │ - add r0, r3 │ │ │ │ │ - mov.w r1, lr, lsl #3 │ │ │ │ │ - str.w r1, [sp, #1552] @ 0x610 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ - ldr r1, [sp, #552] @ 0x228 │ │ │ │ │ - str.w r4, [sp, #1544] @ 0x608 │ │ │ │ │ - mov.w lr, #24 │ │ │ │ │ - ldr r4, [sp, #24] │ │ │ │ │ - movs r3, #112 @ 0x70 │ │ │ │ │ - str r7, [sp, #944] @ 0x3b0 │ │ │ │ │ - add r1, r4 │ │ │ │ │ - ldr r4, [sp, #12] │ │ │ │ │ - lsls r1, r1, #3 │ │ │ │ │ - str.w r1, [sp, #1556] @ 0x614 │ │ │ │ │ - mul.w r1, lr, r2 │ │ │ │ │ - str.w r1, [sp, #1560] @ 0x618 │ │ │ │ │ - ldr r1, [sp, #0] │ │ │ │ │ - add r1, r5 │ │ │ │ │ - add r5, r4 │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ - str.w r5, [sp, #1568] @ 0x620 │ │ │ │ │ - mov.w r5, ip, lsl #3 │ │ │ │ │ - str.w r5, [sp, #1572] @ 0x624 │ │ │ │ │ + mov.w r7, r2, lsl #2 │ │ │ │ │ + add.w r8, r5, r7 │ │ │ │ │ + add.w ip, r7, r2 │ │ │ │ │ + mov.w r5, r8, lsl #3 │ │ │ │ │ + add.w lr, ip, r3 │ │ │ │ │ + sub.w r8, r8, r2 │ │ │ │ │ + str.w r5, [sp, #1504] @ 0x5e0 │ │ │ │ │ + mov.w r5, lr, lsl #3 │ │ │ │ │ + sub.w lr, lr, r2 │ │ │ │ │ + mov.w r2, lr, lsl #3 │ │ │ │ │ + str.w r5, [sp, #1508] @ 0x5e4 │ │ │ │ │ + ldr r5, [sp, #4] │ │ │ │ │ + str r2, [sp, #944] @ 0x3b0 │ │ │ │ │ + add.w r5, r5, r5, lsl #2 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ + str.w r5, [sp, #1588] @ 0x634 │ │ │ │ │ ldr r5, [sp, #16] │ │ │ │ │ - lsls r1, r1, #3 │ │ │ │ │ - str.w r1, [sp, #1564] @ 0x61c │ │ │ │ │ - adds r1, r5, r6 │ │ │ │ │ - ldr r5, [sp, #56] @ 0x38 │ │ │ │ │ - lsls r7, r1, #3 │ │ │ │ │ - ldr r1, [sp, #8] │ │ │ │ │ - str.w r7, [sp, #1576] @ 0x628 │ │ │ │ │ - add r1, r6 │ │ │ │ │ - lsls r7, r1, #3 │ │ │ │ │ - ldr r1, [sp, #552] @ 0x228 │ │ │ │ │ - str r7, [sp, #948] @ 0x3b4 │ │ │ │ │ + add r5, ip │ │ │ │ │ + mov.w r6, r5, lsl #3 │ │ │ │ │ + sub.w r5, r5, r0 │ │ │ │ │ + str.w r6, [sp, #1512] @ 0x5e8 │ │ │ │ │ + mov.w r6, r4, lsl #3 │ │ │ │ │ + add r4, r3 │ │ │ │ │ + str.w r6, [sp, #1516] @ 0x5ec │ │ │ │ │ + ldr r6, [sp, #40] @ 0x28 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + str.w r6, [sp, #1520] @ 0x5f0 │ │ │ │ │ + mov.w r6, r1, lsl #3 │ │ │ │ │ + ldr r1, [sp, #32] │ │ │ │ │ + str.w r6, [sp, #1524] @ 0x5f4 │ │ │ │ │ + mov.w r6, r5, lsl #3 │ │ │ │ │ + ldr r5, [sp, #16] │ │ │ │ │ + str.w r6, [sp, #1528] @ 0x5f8 │ │ │ │ │ + ldr r6, [sp, #0] │ │ │ │ │ add r1, r6 │ │ │ │ │ - lsls r7, r1, #3 │ │ │ │ │ + mov.w r6, r1, lsl #3 │ │ │ │ │ + ldr r1, [sp, #8] │ │ │ │ │ + str.w r6, [sp, #1532] @ 0x5fc │ │ │ │ │ + mov.w r6, r0, lsl #3 │ │ │ │ │ + add r1, r0 │ │ │ │ │ + str.w r6, [sp, #1592] @ 0x638 │ │ │ │ │ + mov.w r6, r1, lsl #3 │ │ │ │ │ + ldr r1, [sp, #24] │ │ │ │ │ + str.w r6, [sp, #1536] @ 0x600 │ │ │ │ │ + add r0, r1 │ │ │ │ │ + mov.w r6, r0, lsl #3 │ │ │ │ │ + ldr r0, [sp, #552] @ 0x228 │ │ │ │ │ + str.w r6, [sp, #1540] @ 0x604 │ │ │ │ │ + mov.w r6, r8, lsl #3 │ │ │ │ │ + add.w r2, r0, r7 │ │ │ │ │ + str.w r6, [sp, #1544] @ 0x608 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + ldr r6, [sp, #0] │ │ │ │ │ + str.w r2, [sp, #1548] @ 0x60c │ │ │ │ │ + add.w r2, r5, r7 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + add r6, r7 │ │ │ │ │ + mov.w r7, r6, lsl #3 │ │ │ │ │ + str r2, [sp, #948] @ 0x3b4 │ │ │ │ │ + mov.w r2, ip, lsl #3 │ │ │ │ │ str.w r7, [sp, #1376] @ 0x560 │ │ │ │ │ - movs r7, #40 @ 0x28 │ │ │ │ │ - mul.w r2, r7, r2 │ │ │ │ │ - lsls r7, r0, #3 │ │ │ │ │ - subs r0, r0, r4 │ │ │ │ │ - ldr r4, [sp, #4] │ │ │ │ │ - str.w r7, [sp, #1580] @ 0x62c │ │ │ │ │ - add r4, r8 │ │ │ │ │ - lsls r7, r0, #3 │ │ │ │ │ - str.w r7, [sp, #1584] @ 0x630 │ │ │ │ │ - lsls r7, r4, #3 │ │ │ │ │ - str.w r7, [sp, #1588] @ 0x634 │ │ │ │ │ - ldr.w r7, [sp, #1732] @ 0x6c4 │ │ │ │ │ - ldr.w r0, [sp, #1392] @ 0x570 │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ - str.w r7, [sp, #1592] @ 0x638 │ │ │ │ │ - ldr.w r7, [sp, #1724] @ 0x6bc │ │ │ │ │ - adds r7, #1 │ │ │ │ │ - str.w r7, [sp, #1380] @ 0x564 │ │ │ │ │ - ldr.w r7, [sp, #1724] @ 0x6bc │ │ │ │ │ - mla r3, r7, r3, r3 │ │ │ │ │ - add r5, r3 │ │ │ │ │ - mov r8, r5 │ │ │ │ │ - negs r5, r0 │ │ │ │ │ - str r5, [sp, #12] │ │ │ │ │ - mov r5, sl │ │ │ │ │ - ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ + mov.w r7, r4, lsl #3 │ │ │ │ │ + sub.w r4, r4, r1 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + str.w r7, [sp, #1552] @ 0x610 │ │ │ │ │ + str.w r4, [sp, #1556] @ 0x614 │ │ │ │ │ + ldr r5, [sp, #12] │ │ │ │ │ + strd sl, r9, [sp] │ │ │ │ │ + ldr r6, [sp, #88] @ 0x58 │ │ │ │ │ + str.w fp, [sp, #8] │ │ │ │ │ + ldr.w r0, [sp, #1384] @ 0x568 │ │ │ │ │ + add.w r3, r5, ip │ │ │ │ │ + mov r5, r9 │ │ │ │ │ + mov.w r4, r3, lsl #3 │ │ │ │ │ ldr.w r1, [sp, #1388] @ 0x56c │ │ │ │ │ - ldr r0, [sp, #48] @ 0x30 │ │ │ │ │ - negs r3, r3 │ │ │ │ │ - ldr.w r4, [sp, #1384] @ 0x568 │ │ │ │ │ - ldr r6, [sp, #40] @ 0x28 │ │ │ │ │ + str.w r4, [sp, #1560] @ 0x618 │ │ │ │ │ + ldr.w r4, [sp, #1732] @ 0x6c4 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + str.w r4, [sp, #1564] @ 0x61c │ │ │ │ │ + ldr.w r4, [sp, #1724] @ 0x6bc │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + rsb r3, r4, r4, lsl #3 │ │ │ │ │ + str.w r4, [sp, #1380] @ 0x564 │ │ │ │ │ + ldr r4, [sp, #80] @ 0x50 │ │ │ │ │ + add.w r8, r4, r3, lsl #4 │ │ │ │ │ + ldr.w r3, [sp, #1392] @ 0x570 │ │ │ │ │ + rsb r3, r3, #0 │ │ │ │ │ + str r3, [sp, #12] │ │ │ │ │ + rsb r3, r6, #0 │ │ │ │ │ + ldr r6, [sp, #48] @ 0x30 │ │ │ │ │ str.w r3, [sp, #1604] @ 0x644 │ │ │ │ │ - negs r3, r1 │ │ │ │ │ - negs r7, r6 │ │ │ │ │ - str.w r3, [sp, #1600] @ 0x640 │ │ │ │ │ - strd sl, r9, [sp, #4] │ │ │ │ │ - negs r3, r2 │ │ │ │ │ - str.w fp, [sp] │ │ │ │ │ + rsb r3, r1, #0 │ │ │ │ │ + ldr r1, [sp, #72] @ 0x48 │ │ │ │ │ + str.w r3, [sp, #1612] @ 0x64c │ │ │ │ │ + rsb r3, r2, #0 │ │ │ │ │ str.w r3, [sp, #1608] @ 0x648 │ │ │ │ │ - negs r3, r0 │ │ │ │ │ + rsb r7, r6, #0 │ │ │ │ │ + rsb r3, r1, #0 │ │ │ │ │ str r7, [sp, #552] @ 0x228 │ │ │ │ │ + str.w r3, [sp, #1600] @ 0x640 │ │ │ │ │ + rsb r3, r0, #0 │ │ │ │ │ str.w r3, [sp, #1596] @ 0x63c │ │ │ │ │ - negs r3, r4 │ │ │ │ │ - str.w r3, [sp, #1612] @ 0x64c │ │ │ │ │ - b.n 2f8 │ │ │ │ │ + b.n 3a2 │ │ │ │ │ + nop.w │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ mov r5, r0 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ str.w r3, [sp, #1380] @ 0x564 │ │ │ │ │ - ldr.w r2, [sp, #1388] @ 0x56c │ │ │ │ │ - add.w r8, r8, #112 @ 0x70 │ │ │ │ │ ldr r4, [sp, #0] │ │ │ │ │ - add.w sl, r5, r2 │ │ │ │ │ + add.w r8, r8, #112 @ 0x70 │ │ │ │ │ + ldr.w r2, [sp, #1388] @ 0x56c │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ ldr r1, [sp, #12] │ │ │ │ │ + add.w sl, r5, r2 │ │ │ │ │ add.w r9, r4, r2 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - add.w r3, sl, r1 │ │ │ │ │ - ldr.w r0, [sp, #1400] @ 0x578 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ vldr d6, [sl] │ │ │ │ │ + add.w r3, sl, r1 │ │ │ │ │ add.w fp, r3, r2 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ + ldr.w r0, [sp, #1400] @ 0x578 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ add.w r3, r9, r1 │ │ │ │ │ + add.w r7, r3, r2 │ │ │ │ │ vadd.f64 d0, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [r9] │ │ │ │ │ - adds r7, r3, r2 │ │ │ │ │ + vldr d8, [r7] │ │ │ │ │ ldr.w r1, [sp, #1396] @ 0x574 │ │ │ │ │ vsub.f64 d2, d5, d6 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ vldr d6, [fp] │ │ │ │ │ - vldr d8, [r7] │ │ │ │ │ vadd.f64 d1, d4, d6 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ mov r3, r1 │ │ │ │ │ - add r3, r5 │ │ │ │ │ add r1, r4 │ │ │ │ │ + add r3, r5 │ │ │ │ │ str r3, [sp, #884] @ 0x374 │ │ │ │ │ + str r1, [sp, #892] @ 0x37c │ │ │ │ │ vsub.f64 d3, d6, d8 │ │ │ │ │ vadd.f64 d6, d6, d8 │ │ │ │ │ vadd.f64 d8, d0, d1 │ │ │ │ │ vsub.f64 d1, d0, d1 │ │ │ │ │ - str r1, [sp, #892] @ 0x37c │ │ │ │ │ vadd.f64 d9, d2, d4 │ │ │ │ │ vsub.f64 d2, d2, d4 │ │ │ │ │ vadd.f64 d0, d5, d6 │ │ │ │ │ vsub.f64 d10, d7, d3 │ │ │ │ │ vadd.f64 d13, d7, d3 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ mov r3, r0 │ │ │ │ │ - vsub.f64 d12, d5, d6 │ │ │ │ │ add r3, r5 │ │ │ │ │ - str r3, [sp, #888] @ 0x378 │ │ │ │ │ + vsub.f64 d12, d5, d6 │ │ │ │ │ + vstr d8, [sp, #16] │ │ │ │ │ + vstr d1, [sp, #24] │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ vstr d0, [sp, #32] │ │ │ │ │ vldr d0, [r1] │ │ │ │ │ mov r1, r0 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - adds r3, r4, r1 │ │ │ │ │ - str r3, [sp, #896] @ 0x380 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - vstr d8, [sp, #16] │ │ │ │ │ + vstr d12, [sp, #40] @ 0x28 │ │ │ │ │ + str r3, [sp, #888] @ 0x378 │ │ │ │ │ + add.w r3, r4, r1 │ │ │ │ │ vadd.f64 d3, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ + str r3, [sp, #896] @ 0x380 │ │ │ │ │ ldr.w r3, [sp, #1404] @ 0x57c │ │ │ │ │ - vstr d1, [sp, #24] │ │ │ │ │ - mov r1, r3 │ │ │ │ │ - vsub.f64 d4, d0, d6 │ │ │ │ │ - add r1, r5 │ │ │ │ │ - vadd.f64 d0, d0, d6 │ │ │ │ │ - str r1, [sp, #900] @ 0x384 │ │ │ │ │ - add r3, r0 │ │ │ │ │ vstr d9, [sp, #952] @ 0x3b8 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - vadd.f64 d9, d7, d4 │ │ │ │ │ vstr d10, [sp, #960] @ 0x3c0 │ │ │ │ │ - vsub.f64 d10, d4, d7 │ │ │ │ │ vstr d2, [sp, #968] @ 0x3c8 │ │ │ │ │ - vstr d12, [sp, #40] @ 0x28 │ │ │ │ │ + vsub.f64 d4, d0, d6 │ │ │ │ │ + vadd.f64 d0, d0, d6 │ │ │ │ │ vstr d13, [sp, #976] @ 0x3d0 │ │ │ │ │ + mov r1, r3 │ │ │ │ │ + add r3, r4 │ │ │ │ │ + add r1, r5 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + str r1, [sp, #900] @ 0x384 │ │ │ │ │ ldr.w r4, [sp, #1408] @ 0x580 │ │ │ │ │ + vadd.f64 d9, d7, d4 │ │ │ │ │ + vsub.f64 d10, d4, d7 │ │ │ │ │ vldr d8, [r3] │ │ │ │ │ + ldr.w r6, [sp, #1568] @ 0x620 │ │ │ │ │ mov r1, r4 │ │ │ │ │ - str r3, [sp, #908] @ 0x38c │ │ │ │ │ add r1, r5 │ │ │ │ │ - mov r3, r4 │ │ │ │ │ - add r3, r0 │ │ │ │ │ - ldr.w r4, [sp, #1416] @ 0x588 │ │ │ │ │ - ldr.w r6, [sp, #1412] @ 0x584 │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ - str r1, [sp, #904] @ 0x388 │ │ │ │ │ - mov r1, r4 │ │ │ │ │ - add r1, r5 │ │ │ │ │ + strd r1, r3, [sp, #904] @ 0x388 │ │ │ │ │ + mov r3, r4 │ │ │ │ │ add.w ip, r5, r6 │ │ │ │ │ + add r3, r0 │ │ │ │ │ + ldr.w r4, [sp, #1412] @ 0x584 │ │ │ │ │ + add.w lr, r0, r6 │ │ │ │ │ + vstr d9, [sp, #1000] @ 0x3e8 │ │ │ │ │ + vldr d7, [ip] │ │ │ │ │ + vstr d10, [sp, #1016] @ 0x3f8 │ │ │ │ │ vadd.f64 d2, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - add.w lr, r0, r6 │ │ │ │ │ - str r1, [sp, #916] @ 0x394 │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ + mov r1, r4 │ │ │ │ │ + add r1, r5 │ │ │ │ │ + strd r3, r1, [sp, #912] @ 0x390 │ │ │ │ │ vsub.f64 d1, d8, d5 │ │ │ │ │ vadd.f64 d5, d8, d5 │ │ │ │ │ - str r3, [sp, #912] @ 0x390 │ │ │ │ │ vadd.f64 d14, d3, d2 │ │ │ │ │ vsub.f64 d2, d2, d3 │ │ │ │ │ - vstr d9, [sp, #1000] @ 0x3e8 │ │ │ │ │ - vstr d10, [sp, #1016] @ 0x3f8 │ │ │ │ │ vsub.f64 d15, d0, d5 │ │ │ │ │ vsub.f64 d8, d6, d1 │ │ │ │ │ vadd.f64 d0, d0, d5 │ │ │ │ │ vadd.f64 d1, d6, d1 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ mov r1, r4 │ │ │ │ │ + vstr d14, [sp, #48] @ 0x30 │ │ │ │ │ add r1, r0 │ │ │ │ │ - str r1, [sp, #920] @ 0x398 │ │ │ │ │ - ldr.w r4, [sp, #1424] @ 0x590 │ │ │ │ │ + ldr.w r4, [sp, #1572] @ 0x624 │ │ │ │ │ + vldr d5, [lr] │ │ │ │ │ vstr d0, [sp, #56] @ 0x38 │ │ │ │ │ vadd.f64 d0, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ - ldr.w r1, [sp, #1420] @ 0x58c │ │ │ │ │ - vldr d5, [lr] │ │ │ │ │ - adds r3, r5, r1 │ │ │ │ │ - str r3, [sp, #924] @ 0x39c │ │ │ │ │ - add r1, r0 │ │ │ │ │ + str r1, [sp, #920] @ 0x398 │ │ │ │ │ + ldr.w r1, [sp, #1416] @ 0x588 │ │ │ │ │ vstr d2, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d15, [sp, #984] @ 0x3d8 │ │ │ │ │ + vstr d1, [sp, #1008] @ 0x3f0 │ │ │ │ │ vsub.f64 d2, d5, d6 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ + vstr d8, [sp, #992] @ 0x3e0 │ │ │ │ │ + add.w r3, r5, r1 │ │ │ │ │ + add r1, r0 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ + str r3, [sp, #924] @ 0x39c │ │ │ │ │ mov r3, r4 │ │ │ │ │ add r3, r5 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ str r1, [sp, #932] @ 0x3a4 │ │ │ │ │ - vstr d1, [sp, #1008] @ 0x3f0 │ │ │ │ │ str r3, [sp, #928] @ 0x3a0 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ add.w r3, sp, #1024 @ 0x400 │ │ │ │ │ - vstr d14, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d15, [sp, #984] @ 0x3d8 │ │ │ │ │ vadd.f64 d1, d4, d6 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ mov r1, r4 │ │ │ │ │ add r1, r0 │ │ │ │ │ - vstr d8, [sp, #992] @ 0x3e0 │ │ │ │ │ str r1, [sp, #936] @ 0x3a8 │ │ │ │ │ + vldr d8, [r1] │ │ │ │ │ vadd.f64 d12, d0, d1 │ │ │ │ │ vsub.f64 d13, d0, d1 │ │ │ │ │ - vldr d8, [r1] │ │ │ │ │ vadd.f64 d1, d2, d4 │ │ │ │ │ - ldr.w r1, [sp, #1428] @ 0x594 │ │ │ │ │ - ldr.w r4, [sp, #1432] @ 0x598 │ │ │ │ │ + ldr.w r1, [sp, #1420] @ 0x58c │ │ │ │ │ + ldr.w r4, [sp, #1424] @ 0x590 │ │ │ │ │ vsub.f64 d3, d6, d8 │ │ │ │ │ + vadd.f64 d6, d6, d8 │ │ │ │ │ vstr d12, [sp, #72] @ 0x48 │ │ │ │ │ - vstr d1, [r3] │ │ │ │ │ - add.w r3, sp, #1032 @ 0x408 │ │ │ │ │ vstr d13, [sp, #80] @ 0x50 │ │ │ │ │ vsub.f64 d13, d2, d4 │ │ │ │ │ - vadd.f64 d6, d6, d8 │ │ │ │ │ + vstr d1, [r3] │ │ │ │ │ + add.w r3, sp, #1032 @ 0x408 │ │ │ │ │ vsub.f64 d12, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ vadd.f64 d14, d5, d6 │ │ │ │ │ vsub.f64 d6, d5, d6 │ │ │ │ │ vstr d12, [r3] │ │ │ │ │ add.w r3, sp, #1040 @ 0x410 │ │ │ │ │ + vstr d14, [sp, #88] @ 0x58 │ │ │ │ │ vstr d13, [r3] │ │ │ │ │ add.w r3, sp, #1048 @ 0x418 │ │ │ │ │ vstr d6, [sp, #96] @ 0x60 │ │ │ │ │ - vstr d14, [sp, #88] @ 0x58 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - adds r3, r5, r1 │ │ │ │ │ + add.w r3, r5, r1 │ │ │ │ │ add r1, r0 │ │ │ │ │ - str r3, [sp, #876] @ 0x36c │ │ │ │ │ - str r1, [sp, #868] @ 0x364 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ + str r1, [sp, #868] @ 0x364 │ │ │ │ │ + str r3, [sp, #876] @ 0x36c │ │ │ │ │ mov r3, r4 │ │ │ │ │ add r3, r5 │ │ │ │ │ vldr d0, [r1] │ │ │ │ │ mov r1, r4 │ │ │ │ │ - str r3, [sp, #872] @ 0x368 │ │ │ │ │ add r1, r0 │ │ │ │ │ - str r1, [sp, #864] @ 0x360 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - ldr.w r4, [sp, #1440] @ 0x5a0 │ │ │ │ │ + str r1, [sp, #864] @ 0x360 │ │ │ │ │ + ldr.w r4, [sp, #1428] @ 0x594 │ │ │ │ │ + str r3, [sp, #872] @ 0x368 │ │ │ │ │ vadd.f64 d3, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ - ldr.w r1, [sp, #1436] @ 0x59c │ │ │ │ │ - adds r3, r5, r1 │ │ │ │ │ + ldr.w r1, [sp, #1576] @ 0x628 │ │ │ │ │ vsub.f64 d4, d0, d6 │ │ │ │ │ - add r1, r0 │ │ │ │ │ vadd.f64 d0, d0, d6 │ │ │ │ │ - str r3, [sp, #860] @ 0x35c │ │ │ │ │ + add.w r3, r5, r1 │ │ │ │ │ + add r1, r0 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ + str r1, [sp, #852] @ 0x354 │ │ │ │ │ + str r3, [sp, #860] @ 0x35c │ │ │ │ │ mov r3, r4 │ │ │ │ │ add r3, r5 │ │ │ │ │ vldr d8, [r1] │ │ │ │ │ - str r1, [sp, #852] @ 0x354 │ │ │ │ │ mov r1, r4 │ │ │ │ │ add r1, r0 │ │ │ │ │ - str r3, [sp, #856] @ 0x358 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - add.w r3, sp, #1056 @ 0x420 │ │ │ │ │ vadd.f64 d9, d7, d4 │ │ │ │ │ - str r1, [sp, #848] @ 0x350 │ │ │ │ │ vsub.f64 d13, d4, d7 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ + mov r4, r7 │ │ │ │ │ + str r1, [sp, #848] @ 0x350 │ │ │ │ │ + str r3, [sp, #856] @ 0x358 │ │ │ │ │ + add.w r3, sp, #1056 @ 0x420 │ │ │ │ │ vadd.f64 d2, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ vsub.f64 d1, d8, d5 │ │ │ │ │ vadd.f64 d5, d8, d5 │ │ │ │ │ vadd.f64 d15, d3, d2 │ │ │ │ │ vsub.f64 d8, d0, d5 │ │ │ │ │ vadd.f64 d5, d0, d5 │ │ │ │ │ + vsub.f64 d0, d6, d1 │ │ │ │ │ vstr d15, [r3] │ │ │ │ │ add.w r3, sp, #1064 @ 0x428 │ │ │ │ │ - vsub.f64 d0, d6, d1 │ │ │ │ │ vadd.f64 d12, d6, d1 │ │ │ │ │ vsub.f64 d1, d2, d3 │ │ │ │ │ vstr d8, [r3] │ │ │ │ │ add.w r3, sp, #1072 @ 0x430 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ add.w r3, sp, #1080 @ 0x438 │ │ │ │ │ vstr d0, [r3] │ │ │ │ │ add.w r3, sp, #1088 @ 0x440 │ │ │ │ │ - str r7, [sp, #880] @ 0x370 │ │ │ │ │ vstr d1, [sp, #104] @ 0x68 │ │ │ │ │ vstr d9, [r3] │ │ │ │ │ add.w r3, sp, #1096 @ 0x448 │ │ │ │ │ - ldr.w r5, [sp, #1448] @ 0x5a8 │ │ │ │ │ - ldr r0, [sp, #4] │ │ │ │ │ + str r7, [sp, #880] @ 0x370 │ │ │ │ │ vstr d12, [r3] │ │ │ │ │ add.w r3, sp, #1104 @ 0x450 │ │ │ │ │ + ldr r0, [sp, #4] │ │ │ │ │ vstr d13, [r3] │ │ │ │ │ + ldr.w r7, [sp, #1612] @ 0x64c │ │ │ │ │ ldr.w r3, [sp, #1604] @ 0x644 │ │ │ │ │ + ldr.w r5, [sp, #1432] @ 0x598 │ │ │ │ │ add.w r1, fp, r3 │ │ │ │ │ - add r3, r7 │ │ │ │ │ - ldr.w r7, [sp, #1600] @ 0x640 │ │ │ │ │ + add r3, r4 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ add r1, r2 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ add r3, r2 │ │ │ │ │ ldr.w r2, [sp, #1392] @ 0x570 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - add r1, r2 │ │ │ │ │ vadd.f64 d2, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ + add r1, r2 │ │ │ │ │ add r3, r2 │ │ │ │ │ - adds r2, r3, r7 │ │ │ │ │ - str r2, [sp, #844] @ 0x34c │ │ │ │ │ + add.w r2, r3, r7 │ │ │ │ │ vsub.f64 d3, d4, d6 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ add r1, r7 │ │ │ │ │ - vldr d8, [r2] │ │ │ │ │ mov r7, r5 │ │ │ │ │ + vldr d8, [r2] │ │ │ │ │ add r7, r0 │ │ │ │ │ - str r7, [sp, #840] @ 0x348 │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ + strd r7, r2, [sp, #840] @ 0x348 │ │ │ │ │ vadd.f64 d1, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ add.w r3, sp, #1112 @ 0x458 │ │ │ │ │ vsub.f64 d0, d5, d8 │ │ │ │ │ vadd.f64 d10, d2, d1 │ │ │ │ │ vadd.f64 d5, d5, d8 │ │ │ │ │ vsub.f64 d2, d1, d2 │ │ │ │ │ vsub.f64 d9, d6, d0 │ │ │ │ │ vstr d10, [sp, #112] @ 0x70 │ │ │ │ │ vadd.f64 d10, d7, d3 │ │ │ │ │ vadd.f64 d6, d6, d0 │ │ │ │ │ vsub.f64 d7, d3, d7 │ │ │ │ │ + vstr d2, [sp, #136] @ 0x88 │ │ │ │ │ vsub.f64 d8, d4, d5 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ - vstr d2, [sp, #136] @ 0x88 │ │ │ │ │ vstr d9, [r3] │ │ │ │ │ add.w r3, sp, #1120 @ 0x460 │ │ │ │ │ - vstr d8, [sp, #120] @ 0x78 │ │ │ │ │ vstr d10, [r3] │ │ │ │ │ add.w r3, sp, #1128 @ 0x468 │ │ │ │ │ - vstr d4, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d8, [sp, #120] @ 0x78 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ add.w r3, sp, #1136 @ 0x470 │ │ │ │ │ vldr d6, [r7] │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ ldr.w r3, [sp, #1608] @ 0x648 │ │ │ │ │ - str r3, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d4, [sp, #128] @ 0x80 │ │ │ │ │ add.w r2, ip, r3 │ │ │ │ │ add.w r4, lr, r3 │ │ │ │ │ + str r3, [sp, #264] @ 0x108 │ │ │ │ │ mov r3, r5 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ add r2, r6 │ │ │ │ │ vldr d5, [r4] │ │ │ │ │ add r4, r6 │ │ │ │ │ ldr r7, [sp, #0] │ │ │ │ │ + ldr.w r5, [sp, #1440] @ 0x5a0 │ │ │ │ │ vadd.f64 d0, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ add r3, r7 │ │ │ │ │ - ldr.w r7, [sp, #1452] @ 0x5ac │ │ │ │ │ - str r3, [sp, #836] @ 0x344 │ │ │ │ │ - ldr.w r5, [sp, #1456] @ 0x5b0 │ │ │ │ │ + ldr.w r7, [sp, #1436] @ 0x59c │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ + str r3, [sp, #836] @ 0x344 │ │ │ │ │ mov r3, r7 │ │ │ │ │ add r3, r0 │ │ │ │ │ - str r3, [sp, #832] @ 0x340 │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ vsub.f64 d2, d5, d6 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ + str r3, [sp, #832] @ 0x340 │ │ │ │ │ mov r3, r5 │ │ │ │ │ add r3, r0 │ │ │ │ │ - str r3, [sp, #828] @ 0x33c │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ + str r3, [sp, #828] @ 0x33c │ │ │ │ │ mov r3, r7 │ │ │ │ │ ldr r7, [sp, #0] │ │ │ │ │ - add r3, r7 │ │ │ │ │ vadd.f64 d1, d4, d6 │ │ │ │ │ - str r3, [sp, #824] @ 0x338 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ + add r3, r7 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ + str r3, [sp, #824] @ 0x338 │ │ │ │ │ mov r3, r5 │ │ │ │ │ add r3, r7 │ │ │ │ │ + ldr.w r7, [sp, #1444] @ 0x5a4 │ │ │ │ │ vadd.f64 d15, d0, d1 │ │ │ │ │ vsub.f64 d1, d0, d1 │ │ │ │ │ + vldr d8, [r3] │ │ │ │ │ vadd.f64 d0, d2, d4 │ │ │ │ │ - str r3, [sp, #820] @ 0x334 │ │ │ │ │ vsub.f64 d13, d2, d4 │ │ │ │ │ - vldr d8, [r3] │ │ │ │ │ - add.w r3, sp, #1144 @ 0x478 │ │ │ │ │ - ldr.w r7, [sp, #1460] @ 0x5b4 │ │ │ │ │ - ldr.w r5, [sp, #1464] @ 0x5b8 │ │ │ │ │ + ldr.w r5, [sp, #1448] @ 0x5a8 │ │ │ │ │ + vstr d15, [sp, #144] @ 0x90 │ │ │ │ │ vsub.f64 d3, d6, d8 │ │ │ │ │ - vstr d0, [r3] │ │ │ │ │ - add.w r3, sp, #1152 @ 0x480 │ │ │ │ │ + str r3, [sp, #820] @ 0x334 │ │ │ │ │ + add.w r3, sp, #1144 @ 0x478 │ │ │ │ │ vadd.f64 d6, d6, d8 │ │ │ │ │ vstr d1, [sp, #152] @ 0x98 │ │ │ │ │ - vstr d15, [sp, #144] @ 0x90 │ │ │ │ │ + vstr d0, [r3] │ │ │ │ │ + add.w r3, sp, #1152 @ 0x480 │ │ │ │ │ vsub.f64 d12, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ vadd.f64 d1, d5, d6 │ │ │ │ │ vsub.f64 d14, d5, d6 │ │ │ │ │ vstr d12, [r3] │ │ │ │ │ add.w r3, sp, #1160 @ 0x488 │ │ │ │ │ vstr d1, [sp, #160] @ 0xa0 │ │ │ │ │ - vstr d14, [sp, #168] @ 0xa8 │ │ │ │ │ vstr d13, [r3] │ │ │ │ │ add.w r3, sp, #1168 @ 0x490 │ │ │ │ │ + vstr d14, [sp, #168] @ 0xa8 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ mov r3, r7 │ │ │ │ │ add r3, r0 │ │ │ │ │ - str r3, [sp, #816] @ 0x330 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ + str r3, [sp, #816] @ 0x330 │ │ │ │ │ mov r3, r5 │ │ │ │ │ add r3, r0 │ │ │ │ │ - str r3, [sp, #812] @ 0x32c │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ + str r3, [sp, #812] @ 0x32c │ │ │ │ │ mov r3, r7 │ │ │ │ │ ldr r7, [sp, #0] │ │ │ │ │ - add r3, r7 │ │ │ │ │ - str r3, [sp, #808] @ 0x328 │ │ │ │ │ vadd.f64 d3, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ + add r3, r7 │ │ │ │ │ vldr d0, [r3] │ │ │ │ │ + str r3, [sp, #808] @ 0x328 │ │ │ │ │ mov r3, r5 │ │ │ │ │ add r3, r7 │ │ │ │ │ str r3, [sp, #804] @ 0x324 │ │ │ │ │ - ldr.w r7, [sp, #1468] @ 0x5bc │ │ │ │ │ - ldr.w r5, [sp, #1472] @ 0x5c0 │ │ │ │ │ + ldr.w r7, [sp, #1452] @ 0x5ac │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ + ldr.w r5, [sp, #1456] @ 0x5b0 │ │ │ │ │ mov r3, r7 │ │ │ │ │ add r3, r0 │ │ │ │ │ - str r3, [sp, #800] @ 0x320 │ │ │ │ │ - ldr.w r6, [sp, #1480] @ 0x5c8 │ │ │ │ │ + ldr.w r6, [sp, #1464] @ 0x5b8 │ │ │ │ │ vsub.f64 d4, d0, d6 │ │ │ │ │ vadd.f64 d0, d0, d6 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ + str r3, [sp, #800] @ 0x320 │ │ │ │ │ mov r3, r5 │ │ │ │ │ add r3, r0 │ │ │ │ │ - str r3, [sp, #796] @ 0x31c │ │ │ │ │ - vadd.f64 d12, d7, d4 │ │ │ │ │ - vsub.f64 d7, d4, d7 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ + str r3, [sp, #796] @ 0x31c │ │ │ │ │ mov r3, r7 │ │ │ │ │ ldr r7, [sp, #0] │ │ │ │ │ - add r3, r7 │ │ │ │ │ - str r3, [sp, #792] @ 0x318 │ │ │ │ │ + vadd.f64 d12, d7, d4 │ │ │ │ │ + vsub.f64 d7, d4, d7 │ │ │ │ │ vadd.f64 d2, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vstr d7, [sp, #232] @ 0xe8 │ │ │ │ │ + add r3, r7 │ │ │ │ │ + vstr d12, [sp, #208] @ 0xd0 │ │ │ │ │ vldr d8, [r3] │ │ │ │ │ + vstr d7, [sp, #232] @ 0xe8 │ │ │ │ │ + str r3, [sp, #792] @ 0x318 │ │ │ │ │ mov r3, r5 │ │ │ │ │ add r3, r7 │ │ │ │ │ - ldr.w r5, [sp, #1476] @ 0x5c4 │ │ │ │ │ + ldr.w r5, [sp, #1460] @ 0x5b4 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ str r3, [sp, #788] @ 0x314 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ mov r3, r5 │ │ │ │ │ add r3, r0 │ │ │ │ │ - str r3, [sp, #784] @ 0x310 │ │ │ │ │ - vstr d12, [sp, #208] @ 0xd0 │ │ │ │ │ vsub.f64 d1, d8, d5 │ │ │ │ │ vadd.f64 d5, d8, d5 │ │ │ │ │ + str r3, [sp, #784] @ 0x310 │ │ │ │ │ vadd.f64 d8, d3, d2 │ │ │ │ │ vsub.f64 d3, d2, d3 │ │ │ │ │ vsub.f64 d9, d0, d5 │ │ │ │ │ vsub.f64 d10, d6, d1 │ │ │ │ │ vadd.f64 d13, d6, d1 │ │ │ │ │ - vadd.f64 d0, d0, d5 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ + vadd.f64 d0, d0, d5 │ │ │ │ │ mov r3, r5 │ │ │ │ │ + vstr d8, [sp, #176] @ 0xb0 │ │ │ │ │ + ldr.w r5, [sp, #1468] @ 0x5bc │ │ │ │ │ add r3, r7 │ │ │ │ │ - str r3, [sp, #780] @ 0x30c │ │ │ │ │ - ldr.w r5, [sp, #1484] @ 0x5cc │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + vstr d9, [sp, #184] @ 0xb8 │ │ │ │ │ vstr d0, [sp, #192] @ 0xc0 │ │ │ │ │ vadd.f64 d0, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ + str r3, [sp, #780] @ 0x30c │ │ │ │ │ mov r3, r6 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ add r3, r0 │ │ │ │ │ - str r3, [sp, #776] @ 0x308 │ │ │ │ │ - vstr d8, [sp, #176] @ 0xb0 │ │ │ │ │ - vsub.f64 d2, d5, d6 │ │ │ │ │ - vstr d9, [sp, #184] @ 0xb8 │ │ │ │ │ + vstr d10, [sp, #200] @ 0xc8 │ │ │ │ │ + vstr d13, [sp, #216] @ 0xd8 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ + vstr d3, [sp, #224] @ 0xe0 │ │ │ │ │ + str r3, [sp, #776] @ 0x308 │ │ │ │ │ mov r3, r5 │ │ │ │ │ + vsub.f64 d2, d5, d6 │ │ │ │ │ add r3, r0 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ - str r3, [sp, #772] @ 0x304 │ │ │ │ │ mov r0, r7 │ │ │ │ │ - vstr d10, [sp, #200] @ 0xc8 │ │ │ │ │ - vstr d13, [sp, #216] @ 0xd8 │ │ │ │ │ - vstr d3, [sp, #224] @ 0xe0 │ │ │ │ │ + str r3, [sp, #772] @ 0x304 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ mov r3, r6 │ │ │ │ │ add r3, r7 │ │ │ │ │ - str r3, [sp, #768] @ 0x300 │ │ │ │ │ ldr r6, [sp, #264] @ 0x108 │ │ │ │ │ + str r3, [sp, #768] @ 0x300 │ │ │ │ │ vadd.f64 d1, d4, d6 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ mov r3, r5 │ │ │ │ │ add r3, r7 │ │ │ │ │ - str r3, [sp, #764] @ 0x2fc │ │ │ │ │ - ldr.w r5, [sp, #1488] @ 0x5d0 │ │ │ │ │ - vsub.f64 d15, d0, d1 │ │ │ │ │ + ldr.w r5, [sp, #1472] @ 0x5c0 │ │ │ │ │ vldr d8, [r3] │ │ │ │ │ + str r3, [sp, #764] @ 0x2fc │ │ │ │ │ add.w r3, sp, #1176 @ 0x498 │ │ │ │ │ + vsub.f64 d15, d0, d1 │ │ │ │ │ mov r7, r5 │ │ │ │ │ add r7, r0 │ │ │ │ │ - str r7, [sp, #756] @ 0x2f4 │ │ │ │ │ vsub.f64 d3, d6, d8 │ │ │ │ │ vadd.f64 d6, d6, d8 │ │ │ │ │ vadd.f64 d8, d0, d1 │ │ │ │ │ vadd.f64 d1, d2, d4 │ │ │ │ │ - vstr d15, [sp, #248] @ 0xf8 │ │ │ │ │ vsub.f64 d0, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ - vstr d1, [r3] │ │ │ │ │ - add.w r3, sp, #1184 @ 0x4a0 │ │ │ │ │ vstr d8, [sp, #240] @ 0xf0 │ │ │ │ │ vsub.f64 d8, d2, d4 │ │ │ │ │ - vadd.f64 d15, d5, d6 │ │ │ │ │ vsub.f64 d9, d5, d6 │ │ │ │ │ + vstr d1, [r3] │ │ │ │ │ + add.w r3, sp, #1184 @ 0x4a0 │ │ │ │ │ + vstr d15, [sp, #248] @ 0xf8 │ │ │ │ │ + vadd.f64 d15, d5, d6 │ │ │ │ │ + str r7, [sp, #756] @ 0x2f4 │ │ │ │ │ vstr d0, [r3] │ │ │ │ │ add.w r3, sp, #1192 @ 0x4a8 │ │ │ │ │ + vstr d9, [sp, #256] @ 0x100 │ │ │ │ │ vstr d8, [r3] │ │ │ │ │ add.w r3, sp, #1200 @ 0x4b0 │ │ │ │ │ - vstr d9, [sp, #256] @ 0x100 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - adds r3, r2, r6 │ │ │ │ │ + add.w r3, r2, r6 │ │ │ │ │ ldr r2, [sp, #4] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ mov r3, r5 │ │ │ │ │ + ldr.w r5, [sp, #1476] @ 0x5c4 │ │ │ │ │ add r3, r2 │ │ │ │ │ - ldr.w r5, [sp, #1492] @ 0x5d4 │ │ │ │ │ - str r3, [sp, #760] @ 0x2f8 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ + str r3, [sp, #760] @ 0x2f8 │ │ │ │ │ mov r3, r6 │ │ │ │ │ add r3, r4 │ │ │ │ │ - ldr.w r4, [sp, #1496] @ 0x5d8 │ │ │ │ │ + ldr.w r4, [sp, #1480] @ 0x5c8 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ vadd.f64 d0, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [r7] │ │ │ │ │ mov r7, r5 │ │ │ │ │ add r7, r2 │ │ │ │ │ - str r7, [sp, #752] @ 0x2f0 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ vldr d4, [r7] │ │ │ │ │ + str r7, [sp, #752] @ 0x2f0 │ │ │ │ │ mov r7, r4 │ │ │ │ │ add r7, r2 │ │ │ │ │ vsub.f64 d2, d5, d6 │ │ │ │ │ - str r7, [sp, #748] @ 0x2ec │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ vldr d6, [r7] │ │ │ │ │ + str r7, [sp, #748] @ 0x2ec │ │ │ │ │ mov r7, r5 │ │ │ │ │ add r7, r0 │ │ │ │ │ str r7, [sp, #744] @ 0x2e8 │ │ │ │ │ vadd.f64 d1, d4, d6 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vldr d6, [r7] │ │ │ │ │ mov r7, r4 │ │ │ │ │ - add r7, r0 │ │ │ │ │ add.w r4, sp, #1208 @ 0x4b8 │ │ │ │ │ + add r7, r0 │ │ │ │ │ + vldr d8, [r7] │ │ │ │ │ vadd.f64 d10, d0, d1 │ │ │ │ │ vsub.f64 d13, d0, d1 │ │ │ │ │ - vldr d8, [r7] │ │ │ │ │ vadd.f64 d0, d2, d4 │ │ │ │ │ vsub.f64 d4, d2, d4 │ │ │ │ │ vsub.f64 d3, d6, d8 │ │ │ │ │ + vadd.f64 d6, d6, d8 │ │ │ │ │ vstr d10, [sp, #264] @ 0x108 │ │ │ │ │ vstr d13, [r4] │ │ │ │ │ add.w r4, sp, #1216 @ 0x4c0 │ │ │ │ │ - vadd.f64 d6, d6, d8 │ │ │ │ │ - ldr.w r6, [sp, #1500] @ 0x5dc │ │ │ │ │ - ldr.w r5, [sp, #1504] @ 0x5e0 │ │ │ │ │ - vsub.f64 d8, d7, d3 │ │ │ │ │ + ldr.w r6, [sp, #1484] @ 0x5cc │ │ │ │ │ vstr d0, [r4] │ │ │ │ │ add.w r4, sp, #1224 @ 0x4c8 │ │ │ │ │ + vsub.f64 d8, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ + ldr.w r5, [sp, #1488] @ 0x5d0 │ │ │ │ │ vadd.f64 d12, d5, d6 │ │ │ │ │ vsub.f64 d6, d5, d6 │ │ │ │ │ vstr d8, [r4] │ │ │ │ │ add.w r4, sp, #1232 @ 0x4d0 │ │ │ │ │ - vstr d6, [sp, #280] @ 0x118 │ │ │ │ │ + vstr d12, [sp, #272] @ 0x110 │ │ │ │ │ vstr d4, [r4] │ │ │ │ │ add.w r4, sp, #1240 @ 0x4d8 │ │ │ │ │ - vstr d12, [sp, #272] @ 0x110 │ │ │ │ │ + vstr d6, [sp, #280] @ 0x118 │ │ │ │ │ vstr d7, [r4] │ │ │ │ │ mov r4, r6 │ │ │ │ │ add r4, r2 │ │ │ │ │ - str r4, [sp, #740] @ 0x2e4 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ + str r4, [sp, #740] @ 0x2e4 │ │ │ │ │ mov r4, r5 │ │ │ │ │ add r4, r2 │ │ │ │ │ - str r4, [sp, #736] @ 0x2e0 │ │ │ │ │ vldr d6, [r4] │ │ │ │ │ + str r4, [sp, #736] @ 0x2e0 │ │ │ │ │ mov r4, r6 │ │ │ │ │ add r4, r0 │ │ │ │ │ - str r4, [sp, #732] @ 0x2dc │ │ │ │ │ - ldr.w r6, [sp, #1508] @ 0x5e4 │ │ │ │ │ - vadd.f64 d2, d7, d6 │ │ │ │ │ - vsub.f64 d7, d7, d6 │ │ │ │ │ + ldr.w r6, [sp, #1492] @ 0x5d4 │ │ │ │ │ vldr d4, [r4] │ │ │ │ │ + str r4, [sp, #732] @ 0x2dc │ │ │ │ │ mov r4, r5 │ │ │ │ │ add r4, r0 │ │ │ │ │ + vadd.f64 d2, d7, d6 │ │ │ │ │ + vsub.f64 d7, d7, d6 │ │ │ │ │ + ldr.w r5, [sp, #1584] @ 0x630 │ │ │ │ │ str r4, [sp, #728] @ 0x2d8 │ │ │ │ │ - ldr.w r5, [sp, #1512] @ 0x5e8 │ │ │ │ │ vldr d6, [r4] │ │ │ │ │ mov r4, r6 │ │ │ │ │ add r4, r2 │ │ │ │ │ str r4, [sp, #724] @ 0x2d4 │ │ │ │ │ vsub.f64 d3, d4, d6 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ vldr d6, [r4] │ │ │ │ │ mov r4, r5 │ │ │ │ │ add r4, r2 │ │ │ │ │ - str r4, [sp, #720] @ 0x2d0 │ │ │ │ │ vldr d5, [r4] │ │ │ │ │ + str r4, [sp, #720] @ 0x2d0 │ │ │ │ │ mov r4, r6 │ │ │ │ │ + mov r6, r0 │ │ │ │ │ add r4, r0 │ │ │ │ │ str r4, [sp, #716] @ 0x2cc │ │ │ │ │ - mov r6, r0 │ │ │ │ │ vadd.f64 d1, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vldr d5, [r4] │ │ │ │ │ mov r4, r5 │ │ │ │ │ add r4, r0 │ │ │ │ │ + vldr d8, [r4] │ │ │ │ │ str r4, [sp, #712] @ 0x2c8 │ │ │ │ │ vadd.f64 d9, d2, d1 │ │ │ │ │ - vldr d8, [r4] │ │ │ │ │ vsub.f64 d0, d5, d8 │ │ │ │ │ vadd.f64 d5, d5, d8 │ │ │ │ │ vstr d9, [sp, #288] @ 0x120 │ │ │ │ │ vsub.f64 d9, d1, d2 │ │ │ │ │ vsub.f64 d10, d4, d5 │ │ │ │ │ vadd.f64 d13, d4, d5 │ │ │ │ │ vsub.f64 d12, d6, d0 │ │ │ │ │ @@ -842,452 +848,453 @@ │ │ │ │ │ vsub.f64 d7, d3, d7 │ │ │ │ │ vstr d10, [sp, #296] @ 0x128 │ │ │ │ │ vstr d13, [sp, #304] @ 0x130 │ │ │ │ │ vstr d12, [sp, #312] @ 0x138 │ │ │ │ │ vstr d5, [sp, #320] @ 0x140 │ │ │ │ │ vstr d0, [sp, #328] @ 0x148 │ │ │ │ │ vstr d9, [sp, #336] @ 0x150 │ │ │ │ │ - ldr r0, [sp, #8] │ │ │ │ │ ldr r4, [sp, #0] │ │ │ │ │ - ldr.w r5, [sp, #1516] @ 0x5ec │ │ │ │ │ - add r3, r0 │ │ │ │ │ - add r4, r0 │ │ │ │ │ vstr d7, [sp, #344] @ 0x158 │ │ │ │ │ - str r4, [sp, #480] @ 0x1e0 │ │ │ │ │ - mov r0, r5 │ │ │ │ │ - add r0, r6 │ │ │ │ │ - str r0, [sp, #704] @ 0x2c0 │ │ │ │ │ + ldr r0, [sp, #8] │ │ │ │ │ + ldr.w r5, [sp, #1496] @ 0x5d8 │ │ │ │ │ + add r4, r0 │ │ │ │ │ + add r3, r0 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ + mov r0, r5 │ │ │ │ │ + str r4, [sp, #480] @ 0x1e0 │ │ │ │ │ mov r4, r5 │ │ │ │ │ + add r0, r6 │ │ │ │ │ add r4, r2 │ │ │ │ │ - str r4, [sp, #708] @ 0x2c4 │ │ │ │ │ - ldr.w r5, [sp, #1524] @ 0x5f4 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ + ldr.w r5, [sp, #1504] @ 0x5e0 │ │ │ │ │ + str r0, [sp, #704] @ 0x2c0 │ │ │ │ │ vldr d6, [r4] │ │ │ │ │ + str r4, [sp, #708] @ 0x2c4 │ │ │ │ │ mov r4, r6 │ │ │ │ │ - ldr.w r6, [sp, #1520] @ 0x5f0 │ │ │ │ │ + ldr.w r6, [sp, #1500] @ 0x5dc │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ vadd.f64 d0, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ mov r0, r6 │ │ │ │ │ add r0, r2 │ │ │ │ │ - str r0, [sp, #700] @ 0x2bc │ │ │ │ │ - vsub.f64 d2, d5, d6 │ │ │ │ │ - vadd.f64 d5, d5, d6 │ │ │ │ │ vldr d4, [r0] │ │ │ │ │ + str r0, [sp, #700] @ 0x2bc │ │ │ │ │ mov r0, r5 │ │ │ │ │ add r0, r2 │ │ │ │ │ - str r0, [sp, #696] @ 0x2b8 │ │ │ │ │ + vsub.f64 d2, d5, d6 │ │ │ │ │ + vadd.f64 d5, d5, d6 │ │ │ │ │ add.w r2, sp, #1248 @ 0x4e0 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ + str r0, [sp, #696] @ 0x2b8 │ │ │ │ │ mov r0, r6 │ │ │ │ │ add r0, r4 │ │ │ │ │ str r0, [sp, #692] @ 0x2b4 │ │ │ │ │ vadd.f64 d1, d4, d6 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ mov r0, r5 │ │ │ │ │ add r0, r4 │ │ │ │ │ + vldr d8, [r0] │ │ │ │ │ str r0, [sp, #940] @ 0x3ac │ │ │ │ │ - vsub.f64 d13, d0, d1 │ │ │ │ │ vadd.f64 d10, d0, d1 │ │ │ │ │ - vldr d8, [r0] │ │ │ │ │ + vsub.f64 d13, d0, d1 │ │ │ │ │ ldr r0, [sp, #4] │ │ │ │ │ vsub.f64 d3, d6, d8 │ │ │ │ │ vadd.f64 d6, d6, d8 │ │ │ │ │ vadd.f64 d8, d2, d4 │ │ │ │ │ vstr d13, [r2] │ │ │ │ │ add.w r2, sp, #1256 @ 0x4e8 │ │ │ │ │ vstr d10, [sp, #352] @ 0x160 │ │ │ │ │ vsub.f64 d10, d2, d4 │ │ │ │ │ - vsub.f64 d9, d7, d3 │ │ │ │ │ vadd.f64 d12, d5, d6 │ │ │ │ │ + vsub.f64 d9, d7, d3 │ │ │ │ │ vstr d8, [r2] │ │ │ │ │ add.w r2, sp, #1264 @ 0x4f0 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ - vstr d9, [r2] │ │ │ │ │ - add.w r2, sp, #1272 @ 0x4f8 │ │ │ │ │ vstr d12, [sp, #360] @ 0x168 │ │ │ │ │ vsub.f64 d12, d5, d6 │ │ │ │ │ + vstr d9, [r2] │ │ │ │ │ + add.w r2, sp, #1272 @ 0x4f8 │ │ │ │ │ vstr d10, [r2] │ │ │ │ │ add.w r2, sp, #1280 @ 0x500 │ │ │ │ │ vstr d12, [r2] │ │ │ │ │ add.w r2, sp, #1288 @ 0x508 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ - ldr.w r2, [sp, #1528] @ 0x5f8 │ │ │ │ │ + ldr.w r2, [sp, #1508] @ 0x5e4 │ │ │ │ │ mov r6, r2 │ │ │ │ │ add r6, r0 │ │ │ │ │ str r6, [sp, #688] @ 0x2b0 │ │ │ │ │ vldr d7, [r6] │ │ │ │ │ - ldr.w r5, [sp, #1532] @ 0x5fc │ │ │ │ │ str r4, [sp, #0] │ │ │ │ │ + ldr.w r5, [sp, #1588] @ 0x634 │ │ │ │ │ mov r6, r5 │ │ │ │ │ add r6, r0 │ │ │ │ │ - str r6, [sp, #684] @ 0x2ac │ │ │ │ │ vldr d6, [r6] │ │ │ │ │ + str r6, [sp, #684] @ 0x2ac │ │ │ │ │ mov r6, r2 │ │ │ │ │ add r6, r4 │ │ │ │ │ - str r6, [sp, #680] @ 0x2a8 │ │ │ │ │ - ldr.w r2, [sp, #1536] @ 0x600 │ │ │ │ │ - vadd.f64 d2, d7, d6 │ │ │ │ │ - vsub.f64 d7, d7, d6 │ │ │ │ │ + ldr.w r2, [sp, #1512] @ 0x5e8 │ │ │ │ │ vldr d4, [r6] │ │ │ │ │ + str r6, [sp, #680] @ 0x2a8 │ │ │ │ │ mov r6, r5 │ │ │ │ │ add r6, r4 │ │ │ │ │ + vadd.f64 d2, d7, d6 │ │ │ │ │ + vsub.f64 d7, d7, d6 │ │ │ │ │ + ldr.w r5, [sp, #1516] @ 0x5ec │ │ │ │ │ str r6, [sp, #676] @ 0x2a4 │ │ │ │ │ - ldr.w r5, [sp, #1540] @ 0x604 │ │ │ │ │ vldr d6, [r6] │ │ │ │ │ mov r6, r2 │ │ │ │ │ add r6, r0 │ │ │ │ │ str r6, [sp, #672] @ 0x2a0 │ │ │ │ │ vsub.f64 d3, d4, d6 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ vldr d6, [r6] │ │ │ │ │ mov r6, r5 │ │ │ │ │ add r6, r0 │ │ │ │ │ - str r6, [sp, #668] @ 0x29c │ │ │ │ │ - vadd.f64 d9, d7, d3 │ │ │ │ │ - vsub.f64 d7, d3, d7 │ │ │ │ │ vldr d5, [r6] │ │ │ │ │ + str r6, [sp, #668] @ 0x29c │ │ │ │ │ mov r6, r2 │ │ │ │ │ - add r6, r4 │ │ │ │ │ - str r6, [sp, #664] @ 0x298 │ │ │ │ │ add.w r2, sp, #1296 @ 0x510 │ │ │ │ │ + add r6, r4 │ │ │ │ │ + vadd.f64 d9, d7, d3 │ │ │ │ │ + vsub.f64 d7, d3, d7 │ │ │ │ │ vadd.f64 d1, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vldr d5, [r6] │ │ │ │ │ + str r6, [sp, #664] @ 0x298 │ │ │ │ │ mov r6, r5 │ │ │ │ │ add r6, r4 │ │ │ │ │ - ldr.w r4, [sp, #1544] @ 0x608 │ │ │ │ │ - str r6, [sp, #660] @ 0x294 │ │ │ │ │ - vadd.f64 d13, d2, d1 │ │ │ │ │ + ldr.w r4, [sp, #1520] @ 0x5f0 │ │ │ │ │ vstr d9, [sp, #392] @ 0x188 │ │ │ │ │ vldr d8, [r6] │ │ │ │ │ + vadd.f64 d13, d2, d1 │ │ │ │ │ + str r6, [sp, #660] @ 0x294 │ │ │ │ │ mov r6, r4 │ │ │ │ │ add r6, r0 │ │ │ │ │ - vstr d7, [sp, #408] @ 0x198 │ │ │ │ │ - str r6, [sp, #656] @ 0x290 │ │ │ │ │ vsub.f64 d0, d5, d8 │ │ │ │ │ vadd.f64 d5, d5, d8 │ │ │ │ │ vstr d13, [sp, #368] @ 0x170 │ │ │ │ │ vsub.f64 d13, d1, d2 │ │ │ │ │ + vstr d7, [sp, #408] @ 0x198 │ │ │ │ │ vldr d7, [r6] │ │ │ │ │ + str r6, [sp, #656] @ 0x290 │ │ │ │ │ vsub.f64 d10, d4, d5 │ │ │ │ │ vsub.f64 d8, d6, d0 │ │ │ │ │ vadd.f64 d5, d4, d5 │ │ │ │ │ vadd.f64 d0, d6, d0 │ │ │ │ │ vstr d10, [r2] │ │ │ │ │ add.w r2, sp, #1304 @ 0x518 │ │ │ │ │ vstr d5, [sp, #376] @ 0x178 │ │ │ │ │ - vstr d8, [sp, #384] @ 0x180 │ │ │ │ │ vstr d13, [r2] │ │ │ │ │ - ldr.w r2, [sp, #1548] @ 0x60c │ │ │ │ │ + ldr.w r2, [sp, #1524] @ 0x5f4 │ │ │ │ │ + vstr d8, [sp, #384] @ 0x180 │ │ │ │ │ vstr d0, [sp, #400] @ 0x190 │ │ │ │ │ mov r5, r2 │ │ │ │ │ add r5, r0 │ │ │ │ │ str r5, [sp, #652] @ 0x28c │ │ │ │ │ vldr d6, [r5] │ │ │ │ │ mov r5, r4 │ │ │ │ │ ldr r6, [sp, #0] │ │ │ │ │ - ldr.w r4, [sp, #1552] @ 0x610 │ │ │ │ │ - add r5, r6 │ │ │ │ │ - str r5, [sp, #648] @ 0x288 │ │ │ │ │ + ldr.w r4, [sp, #1528] @ 0x5f8 │ │ │ │ │ vadd.f64 d2, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ + add r5, r6 │ │ │ │ │ vldr d4, [r5] │ │ │ │ │ + str r5, [sp, #648] @ 0x288 │ │ │ │ │ mov r5, r2 │ │ │ │ │ add r5, r6 │ │ │ │ │ - str r5, [sp, #644] @ 0x284 │ │ │ │ │ vldr d6, [r5] │ │ │ │ │ + str r5, [sp, #644] @ 0x284 │ │ │ │ │ mov r5, r4 │ │ │ │ │ add r5, r0 │ │ │ │ │ str r5, [sp, #640] @ 0x280 │ │ │ │ │ vsub.f64 d3, d4, d6 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ vldr d6, [r5] │ │ │ │ │ - ldr.w r5, [sp, #1556] @ 0x614 │ │ │ │ │ + ldr.w r5, [sp, #1532] @ 0x5fc │ │ │ │ │ mov r2, r5 │ │ │ │ │ add r2, r0 │ │ │ │ │ - str r2, [sp, #636] @ 0x27c │ │ │ │ │ vldr d5, [r2] │ │ │ │ │ + str r2, [sp, #636] @ 0x27c │ │ │ │ │ mov r2, r4 │ │ │ │ │ add r2, r6 │ │ │ │ │ - str r2, [sp, #632] @ 0x278 │ │ │ │ │ ldr r4, [sp, #480] @ 0x1e0 │ │ │ │ │ + str r2, [sp, #632] @ 0x278 │ │ │ │ │ vadd.f64 d1, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vldr d5, [r2] │ │ │ │ │ mov r2, r5 │ │ │ │ │ add r2, r6 │ │ │ │ │ - ldr.w r6, [sp, #1596] @ 0x63c │ │ │ │ │ + ldr.w r6, [sp, #1600] @ 0x640 │ │ │ │ │ + vldr d8, [r2] │ │ │ │ │ str r2, [sp, #628] @ 0x274 │ │ │ │ │ add r4, r6 │ │ │ │ │ add r3, r6 │ │ │ │ │ - vldr d8, [r2] │ │ │ │ │ - mov r2, r4 │ │ │ │ │ ldr r6, [sp, #0] │ │ │ │ │ + mov r2, r4 │ │ │ │ │ + ldr.w r4, [sp, #1536] @ 0x600 │ │ │ │ │ vsub.f64 d0, d5, d8 │ │ │ │ │ vadd.f64 d5, d5, d8 │ │ │ │ │ vadd.f64 d8, d2, d1 │ │ │ │ │ vsub.f64 d1, d1, d2 │ │ │ │ │ + mov r5, r4 │ │ │ │ │ + add r5, r0 │ │ │ │ │ vsub.f64 d9, d4, d5 │ │ │ │ │ vadd.f64 d5, d4, d5 │ │ │ │ │ vsub.f64 d4, d6, d0 │ │ │ │ │ vadd.f64 d6, d6, d0 │ │ │ │ │ vstr d8, [sp, #416] @ 0x1a0 │ │ │ │ │ - vstr d1, [sp, #464] @ 0x1d0 │ │ │ │ │ + str r5, [sp, #624] @ 0x270 │ │ │ │ │ + vstr d9, [sp, #424] @ 0x1a8 │ │ │ │ │ vstr d5, [sp, #432] @ 0x1b0 │ │ │ │ │ vadd.f64 d5, d7, d3 │ │ │ │ │ vsub.f64 d7, d3, d7 │ │ │ │ │ - vstr d6, [sp, #456] @ 0x1c8 │ │ │ │ │ - vstr d9, [sp, #424] @ 0x1a8 │ │ │ │ │ vstr d4, [sp, #440] @ 0x1b8 │ │ │ │ │ - vstr d5, [sp, #448] @ 0x1c0 │ │ │ │ │ - vstr d7, [sp, #472] @ 0x1d8 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - ldr.w r4, [sp, #1564] @ 0x61c │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - mov r5, r4 │ │ │ │ │ - add r5, r0 │ │ │ │ │ - str r5, [sp, #624] @ 0x270 │ │ │ │ │ + vstr d6, [sp, #456] @ 0x1c8 │ │ │ │ │ vldr d6, [r5] │ │ │ │ │ mov r5, r4 │ │ │ │ │ add r5, r6 │ │ │ │ │ + vstr d5, [sp, #448] @ 0x1c0 │ │ │ │ │ + vstr d7, [sp, #472] @ 0x1d8 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + vstr d1, [sp, #464] @ 0x1d0 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ str r5, [sp, #620] @ 0x26c │ │ │ │ │ - ldr.w r6, [sp, #1568] @ 0x620 │ │ │ │ │ + ldr.w r6, [sp, #1540] @ 0x604 │ │ │ │ │ + ldr.w r4, [sp, #1544] @ 0x608 │ │ │ │ │ vadd.f64 d0, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [r5] │ │ │ │ │ mov r5, r6 │ │ │ │ │ add r5, r0 │ │ │ │ │ - ldr.w r4, [sp, #1572] @ 0x624 │ │ │ │ │ - str r5, [sp, #616] @ 0x268 │ │ │ │ │ - vsub.f64 d2, d5, d6 │ │ │ │ │ - vadd.f64 d5, d5, d6 │ │ │ │ │ vldr d4, [r5] │ │ │ │ │ + str r5, [sp, #616] @ 0x268 │ │ │ │ │ mov r5, r4 │ │ │ │ │ add r5, r0 │ │ │ │ │ - str r5, [sp, #612] @ 0x264 │ │ │ │ │ + vsub.f64 d2, d5, d6 │ │ │ │ │ + vadd.f64 d5, d5, d6 │ │ │ │ │ vldr d6, [r5] │ │ │ │ │ + str r5, [sp, #612] @ 0x264 │ │ │ │ │ mov r5, r6 │ │ │ │ │ ldr r6, [sp, #0] │ │ │ │ │ - add r5, r6 │ │ │ │ │ vadd.f64 d1, d4, d6 │ │ │ │ │ - str r5, [sp, #608] @ 0x260 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ + add r5, r6 │ │ │ │ │ vldr d6, [r5] │ │ │ │ │ + str r5, [sp, #608] @ 0x260 │ │ │ │ │ mov r5, r4 │ │ │ │ │ + add.w r4, sp, #1312 @ 0x520 │ │ │ │ │ add r5, r6 │ │ │ │ │ + ldr.w r6, [sp, #1548] @ 0x60c │ │ │ │ │ vadd.f64 d12, d0, d1 │ │ │ │ │ vsub.f64 d1, d0, d1 │ │ │ │ │ - vadd.f64 d0, d2, d4 │ │ │ │ │ - add.w r4, sp, #1312 @ 0x520 │ │ │ │ │ - ldr.w r6, [sp, #1576] @ 0x628 │ │ │ │ │ vldr d8, [r5] │ │ │ │ │ - str r5, [sp, #604] @ 0x25c │ │ │ │ │ + vadd.f64 d0, d2, d4 │ │ │ │ │ vstr d1, [sp, #480] @ 0x1e0 │ │ │ │ │ vsub.f64 d3, d6, d8 │ │ │ │ │ vadd.f64 d6, d6, d8 │ │ │ │ │ vstr d0, [r4] │ │ │ │ │ - add.w r4, sp, #1320 @ 0x528 │ │ │ │ │ vsub.f64 d0, d2, d4 │ │ │ │ │ + add.w r4, sp, #1320 @ 0x528 │ │ │ │ │ + str r5, [sp, #604] @ 0x25c │ │ │ │ │ ldr r5, [sp, #944] @ 0x3b0 │ │ │ │ │ vadd.f64 d1, d5, d6 │ │ │ │ │ - add r5, r0 │ │ │ │ │ vsub.f64 d6, d5, d6 │ │ │ │ │ + add r5, r0 │ │ │ │ │ vstr d1, [sp, #488] @ 0x1e8 │ │ │ │ │ vsub.f64 d1, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ vstr d6, [sp, #496] @ 0x1f0 │ │ │ │ │ vldr d6, [r5] │ │ │ │ │ vstr d1, [r4] │ │ │ │ │ add.w r4, sp, #1328 @ 0x530 │ │ │ │ │ vstr d0, [r4] │ │ │ │ │ add.w r4, sp, #1336 @ 0x538 │ │ │ │ │ vstr d7, [r4] │ │ │ │ │ mov r4, r6 │ │ │ │ │ add r4, r0 │ │ │ │ │ ldr r0, [sp, #0] │ │ │ │ │ - str r4, [sp, #600] @ 0x258 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ + str r4, [sp, #600] @ 0x258 │ │ │ │ │ ldr r4, [sp, #944] @ 0x3b0 │ │ │ │ │ - add r4, r0 │ │ │ │ │ - str r4, [sp, #596] @ 0x254 │ │ │ │ │ vadd.f64 d2, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ + add r4, r0 │ │ │ │ │ vldr d8, [r4] │ │ │ │ │ + str r4, [sp, #596] @ 0x254 │ │ │ │ │ mov r4, r6 │ │ │ │ │ - add r4, r0 │ │ │ │ │ ldr r6, [sp, #948] @ 0x3b4 │ │ │ │ │ + add r4, r0 │ │ │ │ │ ldr r0, [sp, #4] │ │ │ │ │ - add r6, r0 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ + add r6, r0 │ │ │ │ │ str r6, [sp, #592] @ 0x250 │ │ │ │ │ vldr d5, [r6] │ │ │ │ │ vsub.f64 d3, d8, d7 │ │ │ │ │ - ldr.w r6, [sp, #1376] @ 0x560 │ │ │ │ │ vadd.f64 d8, d8, d7 │ │ │ │ │ + ldr.w r6, [sp, #1376] @ 0x560 │ │ │ │ │ add r6, r0 │ │ │ │ │ ldr r0, [sp, #0] │ │ │ │ │ - str r6, [sp, #588] @ 0x24c │ │ │ │ │ vldr d7, [r6] │ │ │ │ │ + str r6, [sp, #588] @ 0x24c │ │ │ │ │ ldr r6, [sp, #948] @ 0x3b4 │ │ │ │ │ - add r6, r0 │ │ │ │ │ vadd.f64 d1, d5, d7 │ │ │ │ │ - str r6, [sp, #584] @ 0x248 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ + add r6, r0 │ │ │ │ │ vldr d7, [r6] │ │ │ │ │ + str r6, [sp, #584] @ 0x248 │ │ │ │ │ ldr.w r6, [sp, #1376] @ 0x560 │ │ │ │ │ add r6, r0 │ │ │ │ │ - str r6, [sp, #580] @ 0x244 │ │ │ │ │ ldr r0, [sp, #4] │ │ │ │ │ vldr d4, [r6] │ │ │ │ │ + str r6, [sp, #580] @ 0x244 │ │ │ │ │ ldr r6, [sp, #8] │ │ │ │ │ vsub.f64 d0, d7, d4 │ │ │ │ │ vadd.f64 d4, d7, d4 │ │ │ │ │ add r2, r6 │ │ │ │ │ - ldr.w r6, [sp, #1580] @ 0x62c │ │ │ │ │ + ldr.w r6, [sp, #1552] @ 0x610 │ │ │ │ │ vadd.f64 d7, d2, d1 │ │ │ │ │ vsub.f64 d2, d1, d2 │ │ │ │ │ vsub.f64 d10, d8, d4 │ │ │ │ │ - vstr d2, [sp, #536] @ 0x218 │ │ │ │ │ vstr d10, [sp, #504] @ 0x1f8 │ │ │ │ │ vadd.f64 d10, d8, d4 │ │ │ │ │ vsub.f64 d8, d5, d0 │ │ │ │ │ vadd.f64 d5, d5, d0 │ │ │ │ │ vstr d8, [sp, #512] @ 0x200 │ │ │ │ │ vadd.f64 d8, d6, d3 │ │ │ │ │ vsub.f64 d3, d3, d6 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ mov r2, r6 │ │ │ │ │ - vstr d5, [sp, #528] @ 0x210 │ │ │ │ │ add r2, r0 │ │ │ │ │ str r2, [sp, #576] @ 0x240 │ │ │ │ │ - vstr d8, [sp, #520] @ 0x208 │ │ │ │ │ - vstr d3, [sp, #544] @ 0x220 │ │ │ │ │ + vstr d5, [sp, #528] @ 0x210 │ │ │ │ │ vldr d5, [r2] │ │ │ │ │ + vstr d8, [sp, #520] @ 0x208 │ │ │ │ │ ldr r2, [sp, #8] │ │ │ │ │ - add r3, r2 │ │ │ │ │ - mov r2, r6 │ │ │ │ │ - ldr.w r6, [sp, #1584] @ 0x630 │ │ │ │ │ + vstr d2, [sp, #536] @ 0x218 │ │ │ │ │ + vstr d3, [sp, #544] @ 0x220 │ │ │ │ │ vadd.f64 d8, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ + add r3, r2 │ │ │ │ │ + mov r2, r6 │ │ │ │ │ + ldr.w r6, [sp, #1556] @ 0x614 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ ldr r3, [sp, #0] │ │ │ │ │ add r2, r3 │ │ │ │ │ - str r2, [sp, #572] @ 0x23c │ │ │ │ │ - ldr.w r3, [sp, #1588] @ 0x634 │ │ │ │ │ + ldr.w r3, [sp, #1560] @ 0x618 │ │ │ │ │ vldr d5, [r2] │ │ │ │ │ + str r2, [sp, #572] @ 0x23c │ │ │ │ │ mov r2, r6 │ │ │ │ │ add r2, r0 │ │ │ │ │ - str r2, [sp, #568] @ 0x238 │ │ │ │ │ - vsub.f64 d1, d4, d5 │ │ │ │ │ - vadd.f64 d4, d4, d5 │ │ │ │ │ vldr d3, [r2] │ │ │ │ │ + str r2, [sp, #568] @ 0x238 │ │ │ │ │ mov r2, r3 │ │ │ │ │ add r2, r0 │ │ │ │ │ + vsub.f64 d1, d4, d5 │ │ │ │ │ + vadd.f64 d4, d4, d5 │ │ │ │ │ str r2, [sp, #564] @ 0x234 │ │ │ │ │ vldr d5, [r2] │ │ │ │ │ mov r2, r6 │ │ │ │ │ ldr r6, [sp, #0] │ │ │ │ │ - add r6, r2 │ │ │ │ │ vadd.f64 d0, d3, d5 │ │ │ │ │ - str r6, [sp, #560] @ 0x230 │ │ │ │ │ vsub.f64 d3, d3, d5 │ │ │ │ │ + add r6, r2 │ │ │ │ │ vldr d5, [r6] │ │ │ │ │ + str r6, [sp, #560] @ 0x230 │ │ │ │ │ mov r6, r3 │ │ │ │ │ ldr r3, [sp, #0] │ │ │ │ │ vadd.f64 d14, d1, d3 │ │ │ │ │ vsub.f64 d3, d1, d3 │ │ │ │ │ - adds r2, r3, r6 │ │ │ │ │ - str r2, [sp, #556] @ 0x22c │ │ │ │ │ + add.w r2, r3, r6 │ │ │ │ │ ldr r6, [sp, #844] @ 0x34c │ │ │ │ │ vldr d9, [r2] │ │ │ │ │ + str r2, [sp, #556] @ 0x22c │ │ │ │ │ add.w r2, sp, #1344 @ 0x540 │ │ │ │ │ - vsub.f64 d2, d5, d9 │ │ │ │ │ vstr d14, [r2] │ │ │ │ │ add.w r2, sp, #1352 @ 0x548 │ │ │ │ │ + vsub.f64 d2, d5, d9 │ │ │ │ │ vadd.f64 d5, d5, d9 │ │ │ │ │ vadd.f64 d9, d8, d0 │ │ │ │ │ vsub.f64 d8, d8, d0 │ │ │ │ │ vsub.f64 d14, d6, d2 │ │ │ │ │ vadd.f64 d13, d6, d2 │ │ │ │ │ vldr d6, [sp, #16] │ │ │ │ │ vadd.f64 d0, d4, d5 │ │ │ │ │ vsub.f64 d1, d4, d5 │ │ │ │ │ - vldr d2, [sp, #128] @ 0x80 │ │ │ │ │ vldr d4, [sp, #32] │ │ │ │ │ + vldr d5, [sp, #48] @ 0x30 │ │ │ │ │ vstr d14, [r2] │ │ │ │ │ add.w r2, sp, #1360 @ 0x550 │ │ │ │ │ - vldr d5, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d2, [sp, #128] @ 0x80 │ │ │ │ │ vstr d3, [r2] │ │ │ │ │ add.w r2, sp, #1368 @ 0x558 │ │ │ │ │ vldr d3, [sp, #112] @ 0x70 │ │ │ │ │ vstr d13, [r2] │ │ │ │ │ - vadd.f64 d6, d6, d3 │ │ │ │ │ ldr r2, [sp, #12] │ │ │ │ │ + vadd.f64 d6, d6, d3 │ │ │ │ │ vldr d3, [sp, #56] @ 0x38 │ │ │ │ │ vstr d6, [r0] │ │ │ │ │ vadd.f64 d6, d4, d2 │ │ │ │ │ vldr d2, [sp, #144] @ 0x90 │ │ │ │ │ vldr d4, [sp, #160] @ 0xa0 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ + add.w r3, r1, r2 │ │ │ │ │ vadd.f64 d6, d5, d2 │ │ │ │ │ - adds r3, r1, r2 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ vadd.f64 d6, d3, d4 │ │ │ │ │ mov r3, r6 │ │ │ │ │ - vldr d3, [sp, #416] @ 0x1a0 │ │ │ │ │ add r3, r2 │ │ │ │ │ - ldr.w r2, [sp, #1612] @ 0x64c │ │ │ │ │ + vldr d3, [sp, #416] @ 0x1a0 │ │ │ │ │ + ldr.w r2, [sp, #1596] @ 0x63c │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ vldr d6, [sp, #288] @ 0x120 │ │ │ │ │ vadd.f64 d6, d6, d12 │ │ │ │ │ vstr d6, [r1] │ │ │ │ │ add r1, r2 │ │ │ │ │ vldr d6, [sp, #264] @ 0x108 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ vstr d6, [r1] │ │ │ │ │ ldr.w r1, [sp, #1384] @ 0x568 │ │ │ │ │ vldr d5, [sp, #272] @ 0x110 │ │ │ │ │ - vldr d3, [sp, #432] @ 0x1b0 │ │ │ │ │ - add r3, r1 │ │ │ │ │ vldr d4, [sp, #304] @ 0x130 │ │ │ │ │ - ldr.w r1, [sp, #1444] @ 0x5a4 │ │ │ │ │ + add r3, r1 │ │ │ │ │ + vldr d3, [sp, #432] @ 0x1b0 │ │ │ │ │ + ldr.w r1, [sp, #1580] @ 0x62c │ │ │ │ │ vadd.f64 d6, d5, d3 │ │ │ │ │ vldr d3, [sp, #72] @ 0x48 │ │ │ │ │ vldr d5, [sp, #88] @ 0x58 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ - add.w r3, fp, r2 │ │ │ │ │ + mov r3, r6 │ │ │ │ │ vldr d6, [sp, #488] @ 0x1e8 │ │ │ │ │ + ldr r6, [sp, #880] @ 0x370 │ │ │ │ │ vadd.f64 d6, d4, d6 │ │ │ │ │ vldr d4, [sp, #192] @ 0xc0 │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + add.w r3, fp, r2 │ │ │ │ │ vldr d6, [sp, #176] @ 0xb0 │ │ │ │ │ - ldr r6, [sp, #880] @ 0x370 │ │ │ │ │ vadd.f64 d6, d3, d6 │ │ │ │ │ vldr d3, [sp, #240] @ 0xf0 │ │ │ │ │ vstr d6, [fp] │ │ │ │ │ vadd.f64 d6, d5, d4 │ │ │ │ │ - vldr d4, [sp, #376] @ 0x178 │ │ │ │ │ vldr d5, [sp, #24] │ │ │ │ │ + vldr d4, [sp, #376] @ 0x178 │ │ │ │ │ vstr d6, [r6] │ │ │ │ │ - vadd.f64 d6, d4, d0 │ │ │ │ │ add r6, r2 │ │ │ │ │ - vldr d4, [sp, #368] @ 0x170 │ │ │ │ │ add.w r2, sp, #1056 @ 0x420 │ │ │ │ │ + vldr d14, [r2] │ │ │ │ │ + add.w r2, sp, #1072 @ 0x430 │ │ │ │ │ + vadd.f64 d6, d4, d0 │ │ │ │ │ + vldr d4, [sp, #368] @ 0x170 │ │ │ │ │ + vldr d13, [r2] │ │ │ │ │ vstr d6, [r6] │ │ │ │ │ vadd.f64 d6, d4, d9 │ │ │ │ │ vldr d4, [sp, #352] @ 0x160 │ │ │ │ │ - vldr d14, [r2] │ │ │ │ │ - add.w r2, sp, #1072 @ 0x430 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ add.w r3, sl, r1 │ │ │ │ │ vldr d6, [sp, #360] @ 0x168 │ │ │ │ │ - vldr d13, [r2] │ │ │ │ │ vadd.f64 d6, d6, d10 │ │ │ │ │ vstr d6, [r9] │ │ │ │ │ vadd.f64 d6, d4, d7 │ │ │ │ │ vldr d4, [sp, #136] @ 0x88 │ │ │ │ │ vstr d6, [sl] │ │ │ │ │ vadd.f64 d6, d14, d3 │ │ │ │ │ vldr d3, [sp, #40] @ 0x28 │ │ │ │ │ @@ -1298,78 +1305,79 @@ │ │ │ │ │ vsub.f64 d15, d15, d13 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ add.w r3, sp, #1064 @ 0x428 │ │ │ │ │ vldr d6, [sp, #120] @ 0x78 │ │ │ │ │ vldr d2, [r8, #-144] @ 0xffffff70 │ │ │ │ │ vldr d4, [r8, #-136] @ 0xffffff78 │ │ │ │ │ vsub.f64 d6, d5, d6 │ │ │ │ │ - ldr r6, [sp, #592] @ 0x250 │ │ │ │ │ ldr r2, [sp, #584] @ 0x248 │ │ │ │ │ + ldr r6, [sp, #592] @ 0x250 │ │ │ │ │ vmul.f64 d5, d6, d4 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ - vmla.f64 d6, d3, d4 │ │ │ │ │ vnmls.f64 d5, d3, d2 │ │ │ │ │ + vmla.f64 d6, d3, d4 │ │ │ │ │ + vmov.f64 d2, d14 │ │ │ │ │ + vldr d14, [sp, #96] @ 0x60 │ │ │ │ │ vstr d5, [lr] │ │ │ │ │ vldr d5, [sp, #240] @ 0xf0 │ │ │ │ │ vstr d6, [ip] │ │ │ │ │ - vldr d2, [r8, #-168] @ 0xffffff58 │ │ │ │ │ - vsub.f64 d6, d5, d14 │ │ │ │ │ vldr d4, [r8, #-176] @ 0xffffff50 │ │ │ │ │ - vldr d14, [sp, #96] @ 0x60 │ │ │ │ │ + vsub.f64 d6, d5, d2 │ │ │ │ │ + vldr d2, [r8, #-168] @ 0xffffff58 │ │ │ │ │ vmul.f64 d5, d15, d2 │ │ │ │ │ vmla.f64 d5, d6, d4 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ vnmls.f64 d6, d15, d4 │ │ │ │ │ vldr d15, [sp, #224] @ 0xe0 │ │ │ │ │ - vsub.f64 d3, d14, d15 │ │ │ │ │ - vldr d15, [sp, #80] @ 0x50 │ │ │ │ │ vstr d5, [r6] │ │ │ │ │ vldr d5, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d14, [sp, #256] @ 0x100 │ │ │ │ │ + vsub.f64 d3, d14, d15 │ │ │ │ │ + vldr d15, [sp, #80] @ 0x50 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ - vsub.f64 d6, d15, d5 │ │ │ │ │ - vldr d4, [r8, #-136] @ 0xffffff78 │ │ │ │ │ vldr d2, [r8, #-144] @ 0xffffff70 │ │ │ │ │ + vldr d4, [r8, #-136] @ 0xffffff78 │ │ │ │ │ + vsub.f64 d6, d15, d5 │ │ │ │ │ + vldr d15, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d14, [sp, #256] @ 0x100 │ │ │ │ │ ldr r2, [sp, #936] @ 0x3a8 │ │ │ │ │ vmul.f64 d5, d6, d4 │ │ │ │ │ - vldr d15, [sp, #168] @ 0xa8 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ - vmla.f64 d6, d3, d4 │ │ │ │ │ - vldr d4, [sp, #152] @ 0x98 │ │ │ │ │ vnmls.f64 d5, d3, d2 │ │ │ │ │ vldr d2, [sp, #64] @ 0x40 │ │ │ │ │ + vmla.f64 d6, d3, d4 │ │ │ │ │ + vldr d4, [sp, #152] @ 0x98 │ │ │ │ │ vsub.f64 d3, d15, d2 │ │ │ │ │ vldr d15, [sp, #984] @ 0x3d8 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ ldr r2, [sp, #928] @ 0x3a0 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ vsub.f64 d6, d4, d15 │ │ │ │ │ - vldr d4, [r8, #-136] @ 0xffffff78 │ │ │ │ │ vldr d2, [r8, #-144] @ 0xffffff70 │ │ │ │ │ + vldr d4, [r8, #-136] @ 0xffffff78 │ │ │ │ │ ldr r2, [sp, #808] @ 0x328 │ │ │ │ │ vmul.f64 d5, d6, d4 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ - vmla.f64 d6, d3, d4 │ │ │ │ │ vnmls.f64 d5, d3, d2 │ │ │ │ │ + vmla.f64 d6, d3, d4 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ ldr r2, [sp, #816] @ 0x330 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ vldr d6, [sp, #104] @ 0x68 │ │ │ │ │ vldr d4, [sp, #248] @ 0xf8 │ │ │ │ │ vldr d13, [r3] │ │ │ │ │ vsub.f64 d3, d14, d6 │ │ │ │ │ vldr d2, [r8, #-144] @ 0xffffff70 │ │ │ │ │ - ldr r2, [sp, #792] @ 0x318 │ │ │ │ │ + vldr d14, [sp, #48] @ 0x30 │ │ │ │ │ vsub.f64 d6, d4, d13 │ │ │ │ │ vldr d4, [r8, #-136] @ 0xffffff78 │ │ │ │ │ - vldr d14, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r2, [sp, #792] @ 0x318 │ │ │ │ │ vmul.f64 d5, d6, d4 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ - vmla.f64 d6, d3, d4 │ │ │ │ │ vnmls.f64 d5, d3, d2 │ │ │ │ │ + vmla.f64 d6, d3, d4 │ │ │ │ │ vldr d3, [sp, #72] @ 0x48 │ │ │ │ │ vldr d2, [sp, #88] @ 0x58 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ ldr r2, [sp, #800] @ 0x320 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ vldr d6, [sp, #176] @ 0xb0 │ │ │ │ │ vldr d4, [r8, #-176] @ 0xffffff50 │ │ │ │ │ @@ -1383,140 +1391,140 @@ │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ vldr d2, [sp, #144] @ 0x90 │ │ │ │ │ vnmls.f64 d6, d3, d4 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ ldr r2, [sp, #940] @ 0x3ac │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ vsub.f64 d6, d2, d14 │ │ │ │ │ - vldr d2, [sp, #160] @ 0xa0 │ │ │ │ │ vldr d14, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d2, [sp, #160] @ 0xa0 │ │ │ │ │ vldr d4, [r8, #-176] @ 0xffffff50 │ │ │ │ │ ldr r2, [sp, #596] @ 0x254 │ │ │ │ │ vsub.f64 d3, d2, d14 │ │ │ │ │ vldr d2, [r8, #-168] @ 0xffffff58 │ │ │ │ │ vmul.f64 d5, d3, d2 │ │ │ │ │ vmla.f64 d5, d6, d4 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ vnmls.f64 d6, d3, d4 │ │ │ │ │ vldr d4, [sp, #248] @ 0xf8 │ │ │ │ │ vldr d3, [sp, #256] @ 0x100 │ │ │ │ │ vstr d5, [r5] │ │ │ │ │ vldr d5, [sp, #104] @ 0x68 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ vadd.f64 d6, d13, d4 │ │ │ │ │ - vldr d4, [r8, #-200] @ 0xffffff38 │ │ │ │ │ - vadd.f64 d3, d5, d3 │ │ │ │ │ vldr d2, [r8, #-208] @ 0xffffff30 │ │ │ │ │ + vadd.f64 d3, d5, d3 │ │ │ │ │ + vldr d4, [r8, #-200] @ 0xffffff38 │ │ │ │ │ ldr r2, [sp, #632] @ 0x278 │ │ │ │ │ + ldr r1, [sp, #8] │ │ │ │ │ vmul.f64 d5, d6, d4 │ │ │ │ │ - vldr d14, [sp, #96] @ 0x60 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ + vldr d14, [sp, #96] @ 0x60 │ │ │ │ │ ldr r5, [sp, #552] @ 0x228 │ │ │ │ │ - vmla.f64 d6, d3, d4 │ │ │ │ │ - ldr r1, [sp, #8] │ │ │ │ │ - add.w r3, lr, r5 │ │ │ │ │ vnmls.f64 d5, d3, d2 │ │ │ │ │ vldr d2, [sp, #224] @ 0xe0 │ │ │ │ │ + vmla.f64 d6, d3, d4 │ │ │ │ │ + add.w r3, lr, r5 │ │ │ │ │ vadd.f64 d3, d14, d2 │ │ │ │ │ vldr d14, [sp, #80] @ 0x50 │ │ │ │ │ vldr d2, [sp, #184] @ 0xb8 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ ldr r2, [sp, #640] @ 0x280 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ vadd.f64 d6, d14, d2 │ │ │ │ │ - vldr d4, [r8, #-200] @ 0xffffff38 │ │ │ │ │ vldr d2, [r8, #-208] @ 0xffffff30 │ │ │ │ │ + vldr d4, [r8, #-200] @ 0xffffff38 │ │ │ │ │ vldr d14, [sp, #136] @ 0x88 │ │ │ │ │ - vmul.f64 d5, d6, d4 │ │ │ │ │ ldr r2, [sp, #748] @ 0x2ec │ │ │ │ │ + vmul.f64 d5, d6, d4 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ - vmla.f64 d6, d3, d4 │ │ │ │ │ vnmls.f64 d5, d3, d2 │ │ │ │ │ + vmla.f64 d6, d3, d4 │ │ │ │ │ vldr d3, [sp, #40] @ 0x28 │ │ │ │ │ vadd.f64 d3, d3, d14 │ │ │ │ │ vldr d14, [sp, #120] @ 0x78 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ vldr d5, [sp, #24] │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ add.w r2, ip, r5 │ │ │ │ │ + vldr d2, [r8, #-208] @ 0xffffff30 │ │ │ │ │ vldr d4, [r8, #-200] @ 0xffffff38 │ │ │ │ │ vadd.f64 d6, d5, d14 │ │ │ │ │ - vldr d2, [r8, #-208] @ 0xffffff30 │ │ │ │ │ vmul.f64 d5, d6, d4 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ + vnmls.f64 d5, d3, d2 │ │ │ │ │ vmla.f64 d6, d3, d4 │ │ │ │ │ vldr d4, [sp, #32] │ │ │ │ │ - vnmls.f64 d5, d3, d2 │ │ │ │ │ vldr d3, [sp, #112] @ 0x70 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ add r3, r1 │ │ │ │ │ + vldr d5, [sp, #128] @ 0x80 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ add r2, r1 │ │ │ │ │ - vldr d5, [sp, #128] @ 0x80 │ │ │ │ │ add.w r1, sp, #1208 @ 0x4b8 │ │ │ │ │ vldr d6, [sp, #16] │ │ │ │ │ vldr d2, [r8, #-168] @ 0xffffff58 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ vsub.f64 d3, d4, d5 │ │ │ │ │ vldr d4, [r8, #-176] @ 0xffffff50 │ │ │ │ │ vmul.f64 d5, d3, d2 │ │ │ │ │ vmla.f64 d5, d6, d4 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ vnmls.f64 d6, d3, d4 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ vldr d5, [sp, #64] @ 0x40 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ vldr d14, [sp, #168] @ 0xa8 │ │ │ │ │ - vldr d4, [r8, #-200] @ 0xffffff38 │ │ │ │ │ vldr d2, [r8, #-208] @ 0xffffff30 │ │ │ │ │ + vldr d4, [r8, #-200] @ 0xffffff38 │ │ │ │ │ vadd.f64 d3, d5, d14 │ │ │ │ │ vldr d5, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d14, [sp, #496] @ 0x1f0 │ │ │ │ │ ldr r5, [sp, #648] @ 0x288 │ │ │ │ │ - ldr r7, [sp, #656] @ 0x290 │ │ │ │ │ vadd.f64 d6, d15, d5 │ │ │ │ │ vldr d15, [sp, #280] @ 0x118 │ │ │ │ │ + ldr r7, [sp, #656] @ 0x290 │ │ │ │ │ ldr r0, [sp, #932] @ 0x3a4 │ │ │ │ │ - vldr d14, [sp, #496] @ 0x1f0 │ │ │ │ │ vmul.f64 d5, d6, d4 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ - vmla.f64 d6, d3, d4 │ │ │ │ │ vnmls.f64 d5, d3, d2 │ │ │ │ │ vldr d2, [sp, #464] @ 0x1d0 │ │ │ │ │ + vmla.f64 d6, d3, d4 │ │ │ │ │ vsub.f64 d3, d15, d2 │ │ │ │ │ vldr d15, [r1] │ │ │ │ │ - vldr d2, [sp, #424] @ 0x1a8 │ │ │ │ │ add.w r1, sp, #1304 @ 0x518 │ │ │ │ │ + vldr d2, [sp, #424] @ 0x1a8 │ │ │ │ │ vstr d5, [r5] │ │ │ │ │ vstr d6, [r7] │ │ │ │ │ - vsub.f64 d6, d15, d2 │ │ │ │ │ vldr d4, [r8, #-136] @ 0xffffff78 │ │ │ │ │ + vsub.f64 d6, d15, d2 │ │ │ │ │ vldr d2, [r8, #-144] @ 0xffffff70 │ │ │ │ │ vmul.f64 d5, d6, d4 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ - vmla.f64 d6, d3, d4 │ │ │ │ │ vnmls.f64 d5, d3, d2 │ │ │ │ │ vldr d2, [sp, #336] @ 0x150 │ │ │ │ │ + vmla.f64 d6, d3, d4 │ │ │ │ │ vsub.f64 d3, d14, d2 │ │ │ │ │ - vldr d2, [sp, #480] @ 0x1e0 │ │ │ │ │ vldr d14, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d2, [sp, #480] @ 0x1e0 │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ ldr r0, [sp, #924] @ 0x39c │ │ │ │ │ vstr d6, [r0] │ │ │ │ │ vsub.f64 d6, d2, d14 │ │ │ │ │ - vldr d4, [r8, #-136] @ 0xffffff78 │ │ │ │ │ vldr d2, [r8, #-144] @ 0xffffff70 │ │ │ │ │ + vldr d4, [r8, #-136] @ 0xffffff78 │ │ │ │ │ ldr r0, [sp, #788] @ 0x314 │ │ │ │ │ vmul.f64 d5, d6, d4 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ + vnmls.f64 d5, d3, d2 │ │ │ │ │ vmla.f64 d6, d3, d4 │ │ │ │ │ vldr d4, [sp, #488] @ 0x1e8 │ │ │ │ │ - vnmls.f64 d5, d3, d2 │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ - ldr r0, [sp, #796] @ 0x31c │ │ │ │ │ vldr d5, [sp, #288] @ 0x120 │ │ │ │ │ + ldr r0, [sp, #796] @ 0x31c │ │ │ │ │ vstr d6, [r0] │ │ │ │ │ vsub.f64 d6, d12, d5 │ │ │ │ │ vldr d5, [sp, #304] @ 0x130 │ │ │ │ │ vsub.f64 d13, d4, d5 │ │ │ │ │ vldr d4, [r8, #-176] @ 0xffffff50 │ │ │ │ │ vldr d2, [r8, #-168] @ 0xffffff58 │ │ │ │ │ ldr r6, [sp, #588] @ 0x24c │ │ │ │ │ @@ -1525,233 +1533,232 @@ │ │ │ │ │ ldr r0, [sp, #804] @ 0x324 │ │ │ │ │ vmla.f64 d5, d6, d4 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ vnmls.f64 d6, d13, d4 │ │ │ │ │ vldr d4, [sp, #352] @ 0x160 │ │ │ │ │ vldr d13, [r1] │ │ │ │ │ add.w r1, sp, #1296 @ 0x510 │ │ │ │ │ - vsub.f64 d7, d4, d7 │ │ │ │ │ vstr d5, [r6] │ │ │ │ │ - vsub.f64 d4, d1, d13 │ │ │ │ │ ldr r6, [sp, #580] @ 0x244 │ │ │ │ │ + vsub.f64 d7, d4, d7 │ │ │ │ │ + vsub.f64 d4, d1, d13 │ │ │ │ │ vadd.f64 d1, d13, d1 │ │ │ │ │ vstr d6, [r6] │ │ │ │ │ vldr d6, [sp, #360] @ 0x168 │ │ │ │ │ - vldr d3, [r8, #-168] @ 0xffffff58 │ │ │ │ │ vldr d5, [r8, #-176] @ 0xffffff50 │ │ │ │ │ + vldr d3, [r8, #-168] @ 0xffffff58 │ │ │ │ │ vsub.f64 d10, d6, d10 │ │ │ │ │ vmul.f64 d6, d10, d3 │ │ │ │ │ vmla.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d10, d5 │ │ │ │ │ vldr d10, [r1] │ │ │ │ │ add.w r1, sp, #1280 @ 0x500 │ │ │ │ │ - vstr d6, [r7] │ │ │ │ │ - ldr r7, [sp, #704] @ 0x2c0 │ │ │ │ │ vldr d12, [r1] │ │ │ │ │ add.w r1, sp, #1248 @ 0x4e0 │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ + add.w r1, sp, #1256 @ 0x4e8 │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ + ldr r7, [sp, #704] @ 0x2c0 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ vsub.f64 d7, d8, d10 │ │ │ │ │ - vldr d5, [r8, #-136] @ 0xffffff78 │ │ │ │ │ vldr d3, [r8, #-144] @ 0xffffff70 │ │ │ │ │ - vldr d2, [r1] │ │ │ │ │ - add.w r1, sp, #1256 @ 0x4e8 │ │ │ │ │ + vldr d5, [r8, #-136] @ 0xffffff78 │ │ │ │ │ vmul.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ + vnmls.f64 d6, d4, d3 │ │ │ │ │ vmla.f64 d7, d4, d5 │ │ │ │ │ vldr d5, [sp, #504] @ 0x1f8 │ │ │ │ │ - vnmls.f64 d6, d4, d3 │ │ │ │ │ vstr d6, [r0] │ │ │ │ │ - ldr r0, [sp, #812] @ 0x32c │ │ │ │ │ vldr d6, [sp, #536] @ 0x218 │ │ │ │ │ + ldr r0, [sp, #812] @ 0x32c │ │ │ │ │ + vsub.f64 d4, d12, d6 │ │ │ │ │ vstr d7, [r0] │ │ │ │ │ vsub.f64 d7, d2, d5 │ │ │ │ │ - vldr d5, [r8, #-136] @ 0xffffff78 │ │ │ │ │ - vsub.f64 d4, d12, d6 │ │ │ │ │ vldr d3, [r8, #-144] @ 0xffffff70 │ │ │ │ │ + vldr d5, [r8, #-136] @ 0xffffff78 │ │ │ │ │ ldr r0, [sp, #920] @ 0x398 │ │ │ │ │ vmul.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ - vmla.f64 d7, d4, d5 │ │ │ │ │ vnmls.f64 d6, d4, d3 │ │ │ │ │ + vmla.f64 d7, d4, d5 │ │ │ │ │ vldr d4, [sp, #368] @ 0x170 │ │ │ │ │ vstr d6, [r0] │ │ │ │ │ ldr r0, [sp, #916] @ 0x394 │ │ │ │ │ vstr d7, [r0] │ │ │ │ │ vsub.f64 d7, d9, d4 │ │ │ │ │ vldr d4, [sp, #376] @ 0x178 │ │ │ │ │ vldr d5, [r8, #-176] @ 0xffffff50 │ │ │ │ │ - ldr r7, [sp, #600] @ 0x258 │ │ │ │ │ + vldr d14, [sp, #264] @ 0x108 │ │ │ │ │ vsub.f64 d0, d0, d4 │ │ │ │ │ vldr d4, [r8, #-168] @ 0xffffff58 │ │ │ │ │ - vldr d14, [sp, #264] @ 0x108 │ │ │ │ │ + ldr r7, [sp, #600] @ 0x258 │ │ │ │ │ ldr r5, [sp, #644] @ 0x284 │ │ │ │ │ vmul.f64 d6, d0, d4 │ │ │ │ │ vmla.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vldr d4, [sp, #416] @ 0x1a0 │ │ │ │ │ vnmls.f64 d7, d0, d5 │ │ │ │ │ vstr d6, [r7] │ │ │ │ │ ldr r7, [sp, #700] @ 0x2bc │ │ │ │ │ vstr d7, [r4] │ │ │ │ │ vsub.f64 d7, d14, d4 │ │ │ │ │ vldr d14, [sp, #272] @ 0x110 │ │ │ │ │ vldr d4, [sp, #432] @ 0x1b0 │ │ │ │ │ - vldr d3, [r8, #-168] @ 0xffffff58 │ │ │ │ │ vldr d5, [r8, #-176] @ 0xffffff50 │ │ │ │ │ + vldr d3, [r8, #-168] @ 0xffffff58 │ │ │ │ │ vsub.f64 d4, d14, d4 │ │ │ │ │ vldr d14, [sp, #280] @ 0x118 │ │ │ │ │ vmul.f64 d6, d4, d3 │ │ │ │ │ vmla.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d4, d5 │ │ │ │ │ vldr d5, [sp, #424] @ 0x1a8 │ │ │ │ │ vldr d4, [sp, #464] @ 0x1d0 │ │ │ │ │ vstr d6, [r7] │ │ │ │ │ - vadd.f64 d4, d14, d4 │ │ │ │ │ ldr r7, [sp, #692] @ 0x2b4 │ │ │ │ │ + vadd.f64 d4, d14, d4 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ vadd.f64 d7, d15, d5 │ │ │ │ │ - vldr d5, [r8, #-200] @ 0xffffff38 │ │ │ │ │ vldr d3, [r8, #-208] @ 0xffffff30 │ │ │ │ │ + vldr d5, [r8, #-200] @ 0xffffff38 │ │ │ │ │ ldr r7, [sp, #744] @ 0x2e8 │ │ │ │ │ vmul.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ - vmla.f64 d7, d4, d5 │ │ │ │ │ vnmls.f64 d6, d4, d3 │ │ │ │ │ + vmla.f64 d7, d4, d5 │ │ │ │ │ vstr d6, [r7] │ │ │ │ │ ldr r7, [sp, #752] @ 0x2f0 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ vadd.f64 d7, d10, d8 │ │ │ │ │ - vldr d4, [r8, #-200] @ 0xffffff38 │ │ │ │ │ vldr d3, [r8, #-208] @ 0xffffff30 │ │ │ │ │ + vldr d4, [r8, #-200] @ 0xffffff38 │ │ │ │ │ vmul.f64 d6, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ + vnmls.f64 d6, d1, d3 │ │ │ │ │ vmla.f64 d7, d1, d4 │ │ │ │ │ vldr d4, [sp, #536] @ 0x218 │ │ │ │ │ - vnmls.f64 d6, d1, d3 │ │ │ │ │ vadd.f64 d5, d12, d4 │ │ │ │ │ vstr d6, [r5] │ │ │ │ │ ldr r5, [sp, #652] @ 0x28c │ │ │ │ │ vstr d7, [r5] │ │ │ │ │ vldr d13, [sp, #504] @ 0x1f8 │ │ │ │ │ - vldr d4, [r8, #-200] @ 0xffffff38 │ │ │ │ │ vldr d3, [r8, #-208] @ 0xffffff30 │ │ │ │ │ + vldr d4, [r8, #-200] @ 0xffffff38 │ │ │ │ │ vadd.f64 d7, d2, d13 │ │ │ │ │ vldr d15, [sp, #336] @ 0x150 │ │ │ │ │ vldr d14, [sp, #496] @ 0x1f0 │ │ │ │ │ - ldr r7, [sp, #756] @ 0x2f4 │ │ │ │ │ - ldr r0, [sp, #760] @ 0x2f8 │ │ │ │ │ + ldr r5, [sp, #628] @ 0x274 │ │ │ │ │ vmul.f64 d6, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ + ldrd r7, r0, [sp, #756] @ 0x2f4 │ │ │ │ │ + vnmls.f64 d6, d5, d3 │ │ │ │ │ vmla.f64 d7, d5, d4 │ │ │ │ │ vadd.f64 d4, d15, d14 │ │ │ │ │ vldr d14, [sp, #296] @ 0x128 │ │ │ │ │ vldr d15, [sp, #480] @ 0x1e0 │ │ │ │ │ - vnmls.f64 d6, d5, d3 │ │ │ │ │ - ldr r5, [sp, #628] @ 0x274 │ │ │ │ │ vstr d6, [r7] │ │ │ │ │ vstr d7, [r0] │ │ │ │ │ vadd.f64 d7, d14, d15 │ │ │ │ │ - vldr d5, [r8, #-200] @ 0xffffff38 │ │ │ │ │ vldr d3, [r8, #-208] @ 0xffffff30 │ │ │ │ │ + vldr d5, [r8, #-200] @ 0xffffff38 │ │ │ │ │ vldr d15, [sp, #512] @ 0x200 │ │ │ │ │ - vmul.f64 d6, d7, d5 │ │ │ │ │ vldr d14, [sp, #520] @ 0x208 │ │ │ │ │ + vmul.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ ldr r0, [sp, #780] @ 0x30c │ │ │ │ │ - vmla.f64 d7, d4, d5 │ │ │ │ │ vnmls.f64 d6, d4, d3 │ │ │ │ │ + vmla.f64 d7, d4, d5 │ │ │ │ │ vstr d6, [r5] │ │ │ │ │ vsub.f64 d6, d15, d14 │ │ │ │ │ vldr d14, [r1] │ │ │ │ │ add.w r1, sp, #1264 @ 0x4f0 │ │ │ │ │ - ldr r5, [sp, #636] @ 0x27c │ │ │ │ │ vldr d15, [sp, #528] @ 0x210 │ │ │ │ │ + ldr r5, [sp, #636] @ 0x27c │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ vstr d7, [r5] │ │ │ │ │ - vldr d3, [r8, #-120] @ 0xffffff88 │ │ │ │ │ + vldr d1, [r8, #-128] @ 0xffffff80 │ │ │ │ │ vsub.f64 d2, d14, d6 │ │ │ │ │ vadd.f64 d6, d14, d6 │ │ │ │ │ vldr d14, [sp, #544] @ 0x220 │ │ │ │ │ - vldr d1, [r8, #-128] @ 0xffffff80 │ │ │ │ │ + vldr d3, [r8, #-120] @ 0xffffff88 │ │ │ │ │ ldr r5, [sp, #620] @ 0x26c │ │ │ │ │ vsub.f64 d7, d14, d15 │ │ │ │ │ vldr d14, [r1] │ │ │ │ │ add.w r1, sp, #1112 @ 0x458 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ vsub.f64 d5, d14, d7 │ │ │ │ │ vadd.f64 d7, d14, d7 │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - vmla.f64 d5, d2, d3 │ │ │ │ │ vnmls.f64 d4, d2, d1 │ │ │ │ │ + vmla.f64 d5, d2, d3 │ │ │ │ │ vstr d4, [r0] │ │ │ │ │ ldr r0, [sp, #784] @ 0x310 │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ - vldr d4, [r8, #-184] @ 0xffffff48 │ │ │ │ │ vldr d3, [r8, #-192] @ 0xffffff40 │ │ │ │ │ + vldr d4, [r8, #-184] @ 0xffffff48 │ │ │ │ │ vmul.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ - vmla.f64 d7, d6, d4 │ │ │ │ │ vnmls.f64 d5, d6, d3 │ │ │ │ │ + vmla.f64 d7, d6, d4 │ │ │ │ │ vstr d5, [r5] │ │ │ │ │ vldr d0, [r1] │ │ │ │ │ add.w r1, sp, #1120 @ 0x460 │ │ │ │ │ - ldr r5, [sp, #624] @ 0x270 │ │ │ │ │ - vldr d4, [sp, #960] @ 0x3c0 │ │ │ │ │ vldr d8, [r1] │ │ │ │ │ add.w r1, sp, #1136 @ 0x470 │ │ │ │ │ - ldr.w r7, [sp, #1560] @ 0x618 │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ - vsub.f64 d6, d0, d8 │ │ │ │ │ vldr d10, [r1] │ │ │ │ │ add.w r1, sp, #1128 @ 0x468 │ │ │ │ │ - vldr d7, [sp, #952] @ 0x3b8 │ │ │ │ │ - vldr d3, [r8, #-120] @ 0xffffff88 │ │ │ │ │ - add r3, r7 │ │ │ │ │ - vldr d1, [r8, #-128] @ 0xffffff80 │ │ │ │ │ - add r2, r7 │ │ │ │ │ - vmul.f64 d6, d6, d11 │ │ │ │ │ + ldr r5, [sp, #624] @ 0x270 │ │ │ │ │ + vsub.f64 d6, d0, d8 │ │ │ │ │ vldr d9, [r1] │ │ │ │ │ add.w r1, sp, #1080 @ 0x438 │ │ │ │ │ - ldr r4, [sp, #552] @ 0x228 │ │ │ │ │ - ldr r7, [sp, #672] @ 0x2a0 │ │ │ │ │ + vldr d14, [r1] │ │ │ │ │ + add.w r1, sp, #1088 @ 0x440 │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ + vldr d4, [sp, #960] @ 0x3c0 │ │ │ │ │ + vldr d7, [sp, #952] @ 0x3b8 │ │ │ │ │ + vmul.f64 d6, d6, d11 │ │ │ │ │ + vldr d1, [r8, #-128] @ 0xffffff80 │ │ │ │ │ + vldr d3, [r8, #-120] @ 0xffffff88 │ │ │ │ │ vsub.f64 d2, d7, d6 │ │ │ │ │ vadd.f64 d6, d7, d6 │ │ │ │ │ + ldr.w r7, [sp, #1592] @ 0x638 │ │ │ │ │ vsub.f64 d7, d10, d9 │ │ │ │ │ - vldr d14, [r1] │ │ │ │ │ - add.w r1, sp, #1088 @ 0x440 │ │ │ │ │ - vmul.f64 d7, d7, d11 │ │ │ │ │ vldr d15, [r1] │ │ │ │ │ add.w r1, sp, #1200 @ 0x4b0 │ │ │ │ │ + ldr r4, [sp, #552] @ 0x228 │ │ │ │ │ + add r3, r7 │ │ │ │ │ + add r2, r7 │ │ │ │ │ + ldr r7, [sp, #672] @ 0x2a0 │ │ │ │ │ + vmul.f64 d7, d7, d11 │ │ │ │ │ vsub.f64 d5, d4, d7 │ │ │ │ │ vadd.f64 d7, d4, d7 │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - vmla.f64 d5, d2, d3 │ │ │ │ │ vnmls.f64 d4, d2, d1 │ │ │ │ │ + vmla.f64 d5, d2, d3 │ │ │ │ │ vldr d2, [r1] │ │ │ │ │ add.w r1, sp, #1096 @ 0x448 │ │ │ │ │ vldr d12, [r1] │ │ │ │ │ add.w r1, sp, #1104 @ 0x450 │ │ │ │ │ vldr d13, [r1] │ │ │ │ │ add.w r1, sp, #1192 @ 0x4a8 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ add r3, r4 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ add r2, r4 │ │ │ │ │ - vldr d4, [r8, #-184] @ 0xffffff48 │ │ │ │ │ vldr d3, [r8, #-192] @ 0xffffff40 │ │ │ │ │ + vldr d4, [r8, #-184] @ 0xffffff48 │ │ │ │ │ vmul.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ - vmla.f64 d7, d6, d4 │ │ │ │ │ vnmls.f64 d5, d6, d3 │ │ │ │ │ - vadd.f64 d6, d12, d13 │ │ │ │ │ + vmla.f64 d7, d6, d4 │ │ │ │ │ vldr d3, [r1] │ │ │ │ │ + vadd.f64 d6, d12, d13 │ │ │ │ │ add.w r1, sp, #1216 @ 0x4c0 │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ vadd.f64 d7, d14, d15 │ │ │ │ │ vldr d1, [r8, #-152] @ 0xffffff68 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ @@ -1763,63 +1770,63 @@ │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ vmla.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vnmls.f64 d5, d2, d3 │ │ │ │ │ vstr d4, [r7] │ │ │ │ │ ldr r7, [sp, #664] @ 0x298 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ - vldr d3, [r8, #-216] @ 0xffffff28 │ │ │ │ │ vldr d4, [r8, #-224] @ 0xffffff20 │ │ │ │ │ + vldr d3, [r8, #-216] @ 0xffffff28 │ │ │ │ │ ldr r0, [sp, #900] @ 0x384 │ │ │ │ │ - vmul.f64 d5, d6, d3 │ │ │ │ │ vldr d2, [sp, #448] @ 0x1c0 │ │ │ │ │ + vmul.f64 d5, d6, d3 │ │ │ │ │ + ldr r5, [sp, #608] @ 0x260 │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ - ldr r5, [sp, #608] @ 0x260 │ │ │ │ │ vnmls.f64 d7, d6, d4 │ │ │ │ │ vldr d4, [sp, #440] @ 0x1b8 │ │ │ │ │ - vsub.f64 d6, d4, d2 │ │ │ │ │ - vldr d4, [sp, #472] @ 0x1d8 │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ + vsub.f64 d6, d4, d2 │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ add.w r1, sp, #1224 @ 0x4c8 │ │ │ │ │ + vldr d4, [sp, #472] @ 0x1d8 │ │ │ │ │ ldr r0, [sp, #908] @ 0x38c │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ vldr d3, [r1] │ │ │ │ │ add.w r1, sp, #1288 @ 0x508 │ │ │ │ │ vstr d7, [r0] │ │ │ │ │ + vldr d1, [r8, #-128] @ 0xffffff80 │ │ │ │ │ vsub.f64 d2, d5, d6 │ │ │ │ │ vadd.f64 d6, d5, d6 │ │ │ │ │ vldr d5, [sp, #456] @ 0x1c8 │ │ │ │ │ - vldr d1, [r8, #-128] @ 0xffffff80 │ │ │ │ │ ldr r0, [sp, #768] @ 0x300 │ │ │ │ │ vsub.f64 d7, d4, d5 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ vsub.f64 d5, d3, d7 │ │ │ │ │ vadd.f64 d7, d3, d7 │ │ │ │ │ vldr d3, [r8, #-120] @ 0xffffff88 │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - vmla.f64 d5, d2, d3 │ │ │ │ │ vnmls.f64 d4, d2, d1 │ │ │ │ │ + vmla.f64 d5, d2, d3 │ │ │ │ │ vstr d4, [r0] │ │ │ │ │ ldr r0, [sp, #776] @ 0x308 │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ - vldr d4, [r8, #-184] @ 0xffffff48 │ │ │ │ │ vldr d3, [r8, #-192] @ 0xffffff40 │ │ │ │ │ + vldr d4, [r8, #-184] @ 0xffffff48 │ │ │ │ │ ldr r0, [sp, #576] @ 0x240 │ │ │ │ │ vmul.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ - vmla.f64 d7, d6, d4 │ │ │ │ │ vnmls.f64 d5, d6, d3 │ │ │ │ │ + vmla.f64 d7, d6, d4 │ │ │ │ │ vldr d6, [sp, #520] @ 0x208 │ │ │ │ │ vldr d3, [sp, #544] @ 0x220 │ │ │ │ │ vstr d5, [r5] │ │ │ │ │ - ldr r5, [sp, #616] @ 0x268 │ │ │ │ │ vldr d5, [sp, #512] @ 0x200 │ │ │ │ │ + ldr r5, [sp, #616] @ 0x268 │ │ │ │ │ vstr d7, [r5] │ │ │ │ │ vadd.f64 d7, d5, d6 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ add.w r1, sp, #1272 @ 0x4f8 │ │ │ │ │ vldr d1, [r8, #-152] @ 0xffffff68 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ @@ -1834,103 +1841,103 @@ │ │ │ │ │ vldr d3, [r8, #-160] @ 0xffffff60 │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ vmla.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vnmls.f64 d5, d2, d3 │ │ │ │ │ vstr d4, [r0] │ │ │ │ │ ldr r0, [sp, #572] @ 0x23c │ │ │ │ │ - ldr r7, [sp, #840] @ 0x348 │ │ │ │ │ vldr d2, [sp, #400] @ 0x190 │ │ │ │ │ - ldr r6, [sp, #684] @ 0x2ac │ │ │ │ │ + ldr r7, [sp, #840] @ 0x348 │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ - vldr d3, [r8, #-216] @ 0xffffff28 │ │ │ │ │ vldr d4, [r8, #-224] @ 0xffffff20 │ │ │ │ │ + vldr d3, [r8, #-216] @ 0xffffff28 │ │ │ │ │ + ldr r6, [sp, #684] @ 0x2ac │ │ │ │ │ ldr r0, [sp, #896] @ 0x380 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vldr d3, [sp, #392] @ 0x188 │ │ │ │ │ vnmls.f64 d7, d6, d4 │ │ │ │ │ vldr d6, [sp, #384] @ 0x180 │ │ │ │ │ vldr d4, [sp, #408] @ 0x198 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ ldr r7, [sp, #836] @ 0x344 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ vadd.f64 d7, d6, d3 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ add.w r1, sp, #1360 @ 0x550 │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ vldr d1, [r8, #-152] @ 0xffffff68 │ │ │ │ │ - ldr r7, [sp, #676] @ 0x2a4 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ + ldr r7, [sp, #676] @ 0x2a4 │ │ │ │ │ ldr r1, [sp, #888] @ 0x378 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ vadd.f64 d6, d2, d4 │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ vsub.f64 d2, d3, d6 │ │ │ │ │ vadd.f64 d6, d3, d6 │ │ │ │ │ vldr d3, [r8, #-160] @ 0xffffff60 │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ vmla.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vnmls.f64 d5, d2, d3 │ │ │ │ │ vstr d4, [r6] │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ - vldr d3, [r8, #-216] @ 0xffffff28 │ │ │ │ │ vldr d4, [r8, #-224] @ 0xffffff20 │ │ │ │ │ + vldr d3, [r8, #-216] @ 0xffffff28 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d6, d4 │ │ │ │ │ vldr d6, [sp, #208] @ 0xd0 │ │ │ │ │ vldr d4, [sp, #232] @ 0xe8 │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ add.w r1, sp, #1024 @ 0x400 │ │ │ │ │ vldr d5, [sp, #200] @ 0xc8 │ │ │ │ │ - vsub.f64 d6, d5, d6 │ │ │ │ │ vstr d7, [r0] │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ add.w r1, sp, #1032 @ 0x408 │ │ │ │ │ - vmul.f64 d6, d6, d11 │ │ │ │ │ + vsub.f64 d6, d5, d6 │ │ │ │ │ vldr d3, [r1] │ │ │ │ │ add.w r1, sp, #1336 @ 0x538 │ │ │ │ │ + vmul.f64 d6, d6, d11 │ │ │ │ │ vsub.f64 d2, d7, d6 │ │ │ │ │ vadd.f64 d6, d7, d6 │ │ │ │ │ vldr d7, [sp, #216] @ 0xd8 │ │ │ │ │ vldr d1, [r8, #-128] @ 0xffffff80 │ │ │ │ │ - ldr r7, [sp, #764] @ 0x2fc │ │ │ │ │ - vsub.f64 d7, d4, d7 │ │ │ │ │ ldr r5, [sp, #604] @ 0x25c │ │ │ │ │ + vsub.f64 d7, d4, d7 │ │ │ │ │ + ldr r7, [sp, #764] @ 0x2fc │ │ │ │ │ ldr r0, [sp, #904] @ 0x388 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ vsub.f64 d5, d3, d7 │ │ │ │ │ vadd.f64 d7, d3, d7 │ │ │ │ │ vldr d3, [r8, #-120] @ 0xffffff88 │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - vmla.f64 d5, d2, d3 │ │ │ │ │ vnmls.f64 d4, d2, d1 │ │ │ │ │ + vmla.f64 d5, d2, d3 │ │ │ │ │ vldr d2, [sp, #344] @ 0x158 │ │ │ │ │ vstr d4, [r7] │ │ │ │ │ ldr r7, [sp, #772] @ 0x304 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ - vldr d4, [r8, #-184] @ 0xffffff48 │ │ │ │ │ vldr d3, [r8, #-192] @ 0xffffff40 │ │ │ │ │ + vldr d4, [r8, #-184] @ 0xffffff48 │ │ │ │ │ ldr r7, [sp, #668] @ 0x29c │ │ │ │ │ vmul.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ - vmla.f64 d7, d6, d4 │ │ │ │ │ vnmls.f64 d5, d6, d3 │ │ │ │ │ + vmla.f64 d7, d6, d4 │ │ │ │ │ vldr d3, [sp, #312] @ 0x138 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ add.w r1, sp, #1328 @ 0x530 │ │ │ │ │ vstr d5, [r5] │ │ │ │ │ - ldr r5, [sp, #612] @ 0x264 │ │ │ │ │ vldr d5, [sp, #320] @ 0x140 │ │ │ │ │ + ldr r5, [sp, #612] @ 0x264 │ │ │ │ │ vstr d7, [r5] │ │ │ │ │ vadd.f64 d7, d3, d5 │ │ │ │ │ vldr d3, [sp, #328] @ 0x148 │ │ │ │ │ vldr d1, [r8, #-152] @ 0xffffff68 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ @@ -1943,85 +1950,85 @@ │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ vmla.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vnmls.f64 d5, d2, d3 │ │ │ │ │ vstr d4, [r7] │ │ │ │ │ ldr r7, [sp, #660] @ 0x294 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ - vldr d3, [r8, #-216] @ 0xffffff28 │ │ │ │ │ vldr d4, [r8, #-224] @ 0xffffff20 │ │ │ │ │ + vldr d3, [r8, #-216] @ 0xffffff28 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d6, d4 │ │ │ │ │ - vldr d6, [sp, #976] @ 0x3d0 │ │ │ │ │ vldr d4, [sp, #968] @ 0x3c8 │ │ │ │ │ + vldr d6, [sp, #976] @ 0x3d0 │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ ldr r0, [sp, #912] @ 0x390 │ │ │ │ │ vstr d7, [r0] │ │ │ │ │ vadd.f64 d7, d0, d8 │ │ │ │ │ vldr d3, [r8, #-160] @ 0xffffff60 │ │ │ │ │ vldr d1, [r8, #-152] @ 0xffffff68 │ │ │ │ │ ldr r1, [sp, #8] │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ + ldr r6, [sp, #688] @ 0x2b0 │ │ │ │ │ vldr d0, [sp, #992] @ 0x3e0 │ │ │ │ │ add r2, r1 │ │ │ │ │ add r3, r1 │ │ │ │ │ vldr d8, [sp, #1000] @ 0x3e8 │ │ │ │ │ - ldr r6, [sp, #688] @ 0x2b0 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ vadd.f64 d6, d9, d10 │ │ │ │ │ + ldr r0, [sp, #852] @ 0x354 │ │ │ │ │ vldr d9, [sp, #1008] @ 0x3f0 │ │ │ │ │ vldr d10, [sp, #1016] @ 0x3f8 │ │ │ │ │ - ldr r1, [sp, #892] @ 0x37c │ │ │ │ │ - ldr r0, [sp, #852] @ 0x354 │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ + ldr r1, [sp, #892] @ 0x37c │ │ │ │ │ vsub.f64 d2, d4, d6 │ │ │ │ │ vadd.f64 d6, d4, d6 │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ vmla.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vnmls.f64 d5, d2, d3 │ │ │ │ │ vstr d4, [r2] │ │ │ │ │ add r2, r4 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ add r3, r4 │ │ │ │ │ - vldr d3, [r8, #-216] @ 0xffffff28 │ │ │ │ │ vldr d4, [r8, #-224] @ 0xffffff20 │ │ │ │ │ + vldr d3, [r8, #-216] @ 0xffffff28 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d6, d4 │ │ │ │ │ vadd.f64 d6, d9, d10 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - add.w r3, sp, #1168 @ 0x490 │ │ │ │ │ vadd.f64 d7, d0, d8 │ │ │ │ │ + add.w r3, sp, #1168 @ 0x490 │ │ │ │ │ vldr d3, [r8, #-160] @ 0xffffff60 │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ add.w r3, sp, #1160 @ 0x488 │ │ │ │ │ - vmul.f64 d7, d7, d11 │ │ │ │ │ vldr d1, [r3] │ │ │ │ │ + vmul.f64 d7, d7, d11 │ │ │ │ │ ldr r3, [sp, #884] @ 0x374 │ │ │ │ │ vsub.f64 d5, d2, d7 │ │ │ │ │ vadd.f64 d7, d2, d7 │ │ │ │ │ vsub.f64 d2, d1, d6 │ │ │ │ │ vadd.f64 d6, d1, d6 │ │ │ │ │ vldr d1, [r8, #-152] @ 0xffffff68 │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ vmla.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vnmls.f64 d5, d2, d3 │ │ │ │ │ vstr d4, [r6] │ │ │ │ │ ldr r6, [sp, #680] @ 0x2a8 │ │ │ │ │ vstr d5, [r6] │ │ │ │ │ - vldr d3, [r8, #-216] @ 0xffffff28 │ │ │ │ │ vldr d4, [r8, #-224] @ 0xffffff20 │ │ │ │ │ + vldr d3, [r8, #-216] @ 0xffffff28 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d6, d4 │ │ │ │ │ vsub.f64 d6, d14, d15 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ add.w r3, sp, #1176 @ 0x498 │ │ │ │ │ @@ -2037,181 +2044,180 @@ │ │ │ │ │ add.w r3, sp, #1344 @ 0x540 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ vsub.f64 d5, d1, d7 │ │ │ │ │ vadd.f64 d7, d1, d7 │ │ │ │ │ vldr d1, [r8, #-128] @ 0xffffff80 │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - vmla.f64 d5, d2, d3 │ │ │ │ │ vnmls.f64 d4, d2, d1 │ │ │ │ │ + vmla.f64 d5, d2, d3 │ │ │ │ │ vstr d4, [r0] │ │ │ │ │ - ldr r2, [sp, #860] @ 0x35c │ │ │ │ │ - ldr r7, [sp, #716] @ 0x2cc │ │ │ │ │ vldr d14, [sp, #384] @ 0x180 │ │ │ │ │ + ldrd r2, r0, [sp, #860] @ 0x35c │ │ │ │ │ vldr d15, [sp, #392] @ 0x188 │ │ │ │ │ + ldr r7, [sp, #716] @ 0x2cc │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ - vldr d4, [r8, #-184] @ 0xffffff48 │ │ │ │ │ vldr d3, [r8, #-192] @ 0xffffff40 │ │ │ │ │ + vldr d4, [r8, #-184] @ 0xffffff48 │ │ │ │ │ vldr d13, [r3] │ │ │ │ │ add.w r3, sp, #1352 @ 0x548 │ │ │ │ │ + ldr r1, [sp, #868] @ 0x364 │ │ │ │ │ vmul.f64 d5, d7, d4 │ │ │ │ │ - ldr r0, [sp, #864] @ 0x360 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ ldr r2, [sp, #872] @ 0x368 │ │ │ │ │ - vmla.f64 d7, d6, d4 │ │ │ │ │ - ldr r1, [sp, #868] @ 0x364 │ │ │ │ │ vnmls.f64 d5, d6, d3 │ │ │ │ │ + vmla.f64 d7, d6, d4 │ │ │ │ │ vsub.f64 d6, d14, d15 │ │ │ │ │ vldr d14, [sp, #400] @ 0x190 │ │ │ │ │ vldr d15, [sp, #408] @ 0x198 │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ - vsub.f64 d5, d13, d6 │ │ │ │ │ ldr r7, [sp, #724] @ 0x2d4 │ │ │ │ │ + vsub.f64 d5, d13, d6 │ │ │ │ │ vadd.f64 d6, d13, d6 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ vsub.f64 d7, d15, d14 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ add.w r3, sp, #1144 @ 0x478 │ │ │ │ │ - vldr d2, [r8, #-120] @ 0xffffff88 │ │ │ │ │ vldr d1, [r8, #-128] @ 0xffffff80 │ │ │ │ │ + vldr d2, [r8, #-120] @ 0xffffff88 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ ldr r7, [sp, #728] @ 0x2d8 │ │ │ │ │ vsub.f64 d4, d14, d7 │ │ │ │ │ vadd.f64 d7, d14, d7 │ │ │ │ │ vmul.f64 d3, d4, d2 │ │ │ │ │ vmul.f64 d4, d4, d1 │ │ │ │ │ - vmla.f64 d4, d5, d2 │ │ │ │ │ vnmls.f64 d3, d5, d1 │ │ │ │ │ + vmla.f64 d4, d5, d2 │ │ │ │ │ vstr d3, [r0] │ │ │ │ │ vstr d4, [r2] │ │ │ │ │ - vldr d4, [r8, #-184] @ 0xffffff48 │ │ │ │ │ vldr d3, [r8, #-192] @ 0xffffff40 │ │ │ │ │ + vldr d4, [r8, #-184] @ 0xffffff48 │ │ │ │ │ ldr r0, [sp, #736] @ 0x2e0 │ │ │ │ │ vmul.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ - vmla.f64 d7, d6, d4 │ │ │ │ │ vnmls.f64 d5, d6, d3 │ │ │ │ │ + vmla.f64 d7, d6, d4 │ │ │ │ │ vsub.f64 d6, d0, d8 │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ vstr d7, [r0] │ │ │ │ │ vsub.f64 d7, d10, d9 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ add.w r3, sp, #1152 @ 0x480 │ │ │ │ │ + vldr d3, [r3] │ │ │ │ │ vldr d1, [r8, #-128] @ 0xffffff80 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ vsub.f64 d2, d5, d6 │ │ │ │ │ vadd.f64 d6, d5, d6 │ │ │ │ │ vsub.f64 d5, d3, d7 │ │ │ │ │ vadd.f64 d7, d3, d7 │ │ │ │ │ vldr d3, [r8, #-120] @ 0xffffff88 │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - vmla.f64 d5, d2, d3 │ │ │ │ │ vnmls.f64 d4, d2, d1 │ │ │ │ │ + vmla.f64 d5, d2, d3 │ │ │ │ │ vstr d4, [r1] │ │ │ │ │ ldr r3, [sp, #876] @ 0x36c │ │ │ │ │ vldr d0, [sp, #312] @ 0x138 │ │ │ │ │ vldr d8, [sp, #320] @ 0x140 │ │ │ │ │ - ldr r0, [sp, #732] @ 0x2dc │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ add.w r3, sp, #1312 @ 0x520 │ │ │ │ │ - vldr d4, [r8, #-184] @ 0xffffff48 │ │ │ │ │ vldr d3, [r8, #-192] @ 0xffffff40 │ │ │ │ │ + vldr d4, [r8, #-184] @ 0xffffff48 │ │ │ │ │ + ldr r0, [sp, #732] @ 0x2dc │ │ │ │ │ ldr r4, [sp, #740] @ 0x2e4 │ │ │ │ │ vmul.f64 d5, d7, d4 │ │ │ │ │ - vldr d9, [r3] │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ + vldr d9, [r3] │ │ │ │ │ add.w r3, sp, #1320 @ 0x528 │ │ │ │ │ - vmla.f64 d7, d6, d4 │ │ │ │ │ ldr r1, [sp, #848] @ 0x350 │ │ │ │ │ vnmls.f64 d5, d6, d3 │ │ │ │ │ + vmla.f64 d7, d6, d4 │ │ │ │ │ vsub.f64 d6, d0, d8 │ │ │ │ │ - vldr d8, [sp, #344] @ 0x158 │ │ │ │ │ vldr d0, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d8, [sp, #344] @ 0x158 │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ - vsub.f64 d3, d9, d6 │ │ │ │ │ vstr d7, [r4] │ │ │ │ │ vsub.f64 d7, d8, d0 │ │ │ │ │ + vldr d1, [r8, #-128] @ 0xffffff80 │ │ │ │ │ + vsub.f64 d3, d9, d6 │ │ │ │ │ vadd.f64 d6, d9, d6 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ vldr d2, [r8, #-120] @ 0xffffff88 │ │ │ │ │ - vldr d1, [r8, #-128] @ 0xffffff80 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ - ldr r3, [sp, #856] @ 0x358 │ │ │ │ │ - ldr r4, [sp, #720] @ 0x2d0 │ │ │ │ │ vldr d0, [sp, #440] @ 0x1b8 │ │ │ │ │ + ldr r3, [sp, #856] @ 0x358 │ │ │ │ │ vldr d8, [sp, #448] @ 0x1c0 │ │ │ │ │ vsub.f64 d5, d9, d7 │ │ │ │ │ vadd.f64 d7, d9, d7 │ │ │ │ │ + ldr r4, [sp, #720] @ 0x2d0 │ │ │ │ │ vmul.f64 d4, d5, d2 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - vmla.f64 d5, d3, d2 │ │ │ │ │ vnmls.f64 d4, d3, d1 │ │ │ │ │ + vmla.f64 d5, d3, d2 │ │ │ │ │ vstr d4, [r1] │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ add.w r3, sp, #1240 @ 0x4d8 │ │ │ │ │ - vldr d4, [r8, #-184] @ 0xffffff48 │ │ │ │ │ vldr d3, [r8, #-192] @ 0xffffff40 │ │ │ │ │ + vldr d4, [r8, #-184] @ 0xffffff48 │ │ │ │ │ ldr r1, [sp, #712] @ 0x2c8 │ │ │ │ │ - vmul.f64 d5, d7, d4 │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ - vmul.f64 d7, d7, d3 │ │ │ │ │ add.w r3, sp, #1232 @ 0x4d0 │ │ │ │ │ - vmla.f64 d7, d6, d4 │ │ │ │ │ - vnmls.f64 d5, d6, d3 │ │ │ │ │ + vmul.f64 d5, d7, d4 │ │ │ │ │ + vmul.f64 d7, d7, d3 │ │ │ │ │ vldr d1, [r3] │ │ │ │ │ + vnmls.f64 d5, d6, d3 │ │ │ │ │ + vmla.f64 d7, d6, d4 │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ vstr d7, [r4] │ │ │ │ │ vadd.f64 d7, d0, d8 │ │ │ │ │ vldr d0, [sp, #472] @ 0x1d8 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ vsub.f64 d5, d2, d7 │ │ │ │ │ vadd.f64 d7, d2, d7 │ │ │ │ │ vldr d2, [sp, #456] @ 0x1c8 │ │ │ │ │ vldr d3, [r8, #-160] @ 0xffffff60 │ │ │ │ │ - ldr r1, [sp, #568] @ 0x238 │ │ │ │ │ + ldr r0, [sp, #4] │ │ │ │ │ vadd.f64 d6, d2, d0 │ │ │ │ │ ldr r6, [sp, #560] @ 0x230 │ │ │ │ │ + ldr r1, [sp, #568] @ 0x238 │ │ │ │ │ ldr r3, [sp, #832] @ 0x340 │ │ │ │ │ - ldr r2, [sp, #824] @ 0x338 │ │ │ │ │ - vldr d12, [sp, #208] @ 0xd0 │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ - ldr r0, [sp, #4] │ │ │ │ │ + vldr d12, [sp, #208] @ 0xd0 │ │ │ │ │ + ldr r2, [sp, #824] @ 0x338 │ │ │ │ │ vsub.f64 d2, d1, d6 │ │ │ │ │ vadd.f64 d6, d1, d6 │ │ │ │ │ vldr d1, [r8, #-152] @ 0xffffff68 │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ vmla.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vnmls.f64 d5, d2, d3 │ │ │ │ │ vstr d4, [r1] │ │ │ │ │ vstr d5, [r6] │ │ │ │ │ - vldr d3, [r8, #-216] @ 0xffffff28 │ │ │ │ │ vldr d4, [r8, #-224] @ 0xffffff20 │ │ │ │ │ + vldr d3, [r8, #-216] @ 0xffffff28 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vldr d3, [sp, #232] @ 0xe8 │ │ │ │ │ vnmls.f64 d7, d6, d4 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ add.w r3, sp, #1048 @ 0x418 │ │ │ │ │ vldr d5, [sp, #200] @ 0xc8 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ add.w r3, sp, #1040 @ 0x410 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ - vadd.f64 d7, d5, d12 │ │ │ │ │ - vldr d1, [r8, #-152] @ 0xffffff68 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ + vadd.f64 d7, d5, d12 │ │ │ │ │ vldr d2, [r8, #-160] @ 0xffffff60 │ │ │ │ │ - vmul.f64 d7, d7, d11 │ │ │ │ │ + vldr d1, [r8, #-152] @ 0xffffff68 │ │ │ │ │ ldr r2, [sp, #564] @ 0x234 │ │ │ │ │ + vmul.f64 d7, d7, d11 │ │ │ │ │ ldr r3, [sp, #828] @ 0x33c │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ vldr d6, [sp, #216] @ 0xd8 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ vsub.f64 d3, d4, d6 │ │ │ │ │ @@ -2219,42 +2225,46 @@ │ │ │ │ │ vmul.f64 d4, d3, d1 │ │ │ │ │ vmla.f64 d4, d5, d2 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vnmls.f64 d5, d3, d2 │ │ │ │ │ vstr d4, [r2] │ │ │ │ │ ldr r2, [sp, #556] @ 0x22c │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ - vldr d3, [r8, #-216] @ 0xffffff28 │ │ │ │ │ vldr d4, [r8, #-224] @ 0xffffff20 │ │ │ │ │ + vldr d3, [r8, #-216] @ 0xffffff28 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d6, d4 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ ldr r3, [sp, #820] @ 0x334 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - ldr.w r3, [sp, #1592] @ 0x638 │ │ │ │ │ + ldr.w r3, [sp, #1564] @ 0x61c │ │ │ │ │ add r0, r3 │ │ │ │ │ str r0, [sp, #4] │ │ │ │ │ ldr r2, [sp, #0] │ │ │ │ │ add r2, r3 │ │ │ │ │ ldr.w r3, [sp, #1380] @ 0x564 │ │ │ │ │ str r2, [sp, #0] │ │ │ │ │ ldr.w r2, [sp, #1728] @ 0x6c0 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.w 2f0 │ │ │ │ │ + bne.w 398 │ │ │ │ │ addw sp, sp, #1620 @ 0x654 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -00001e48 : │ │ │ │ │ +00001f1c : │ │ │ │ │ fftw_codelet_q1_8(): │ │ │ │ │ - ldr r2, [pc, #8] @ (1e54 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (1e58 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (1f28 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (1f2c ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_difsq_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── t1_10.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2084 (bytes into file) │ │ │ │ │ + Start of section headers: 2140 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x824: │ │ │ │ │ +There are 14 section headers, starting at offset 0x85c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0004dc 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00076c 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000510 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000510 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000510 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000516 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 00051e 000040 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000794 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 00055e 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00055e 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000594 000150 10 12 16 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 0006e4 000087 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 0007ac 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000514 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0007a4 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000548 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000548 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000548 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 00054e 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000556 000040 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 0007cc 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000596 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000596 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 0005cc 000150 10 12 16 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 00071c 000087 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 0007e4 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 21 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1224 FUNC LOCAL DEFAULT 1 t1_10 │ │ │ │ │ + 1: 00000001 1280 FUNC LOCAL DEFAULT 1 t1_10 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000048 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000060 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000004c0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 000004c8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 000004d4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000058 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000070 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000004f8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000500 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 0000050c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 13: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 14: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 15: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 18: 000004c9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_10 │ │ │ │ │ + 18: 00000501 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_10 │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_dit_register │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x76c contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x7a4 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000058 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000005c 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000004d4 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000004d8 00000103 R_ARM_REL32 00000001 t1_10 │ │ │ │ │ -000004d0 0000131e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ +00000068 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000006c 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +0000050c 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000510 00000103 R_ARM_REL32 00000001 t1_10 │ │ │ │ │ +00000508 0000131e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x794 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x7cc contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000a02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001402 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,362 +1,363 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ t1_10(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r0 │ │ │ │ │ mov r6, r1 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r7, r3 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #196 @ 0xc4 │ │ │ │ │ - mov r7, r3 │ │ │ │ │ - ldr r3, [pc, #68] @ (58 ) │ │ │ │ │ - ldr r1, [sp, #296] @ 0x128 │ │ │ │ │ - add r3, pc │ │ │ │ │ - ldr r0, [sp, #300] @ 0x12c │ │ │ │ │ - cmp r1, r0 │ │ │ │ │ - bge.w 4b0 │ │ │ │ │ + ldrd r3, r0, [sp, #296] @ 0x128 │ │ │ │ │ + ldr r1, [pc, #64] @ (68 ) │ │ │ │ │ + cmp r3, r0 │ │ │ │ │ + add r1, pc │ │ │ │ │ + bge.w 4d8 │ │ │ │ │ ldr r0, [sp, #304] @ 0x130 │ │ │ │ │ - vldr d14, [pc, #36] @ 48 │ │ │ │ │ - vldr d11, [pc, #40] @ 50 │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + vldr d14, [pc, #32] @ 58 │ │ │ │ │ + vldr d11, [pc, #36] @ 60 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ str r0, [sp, #184] @ 0xb8 │ │ │ │ │ - ldr r0, [pc, #44] @ (5c ) │ │ │ │ │ - ldr r3, [r3, r0] │ │ │ │ │ - ldr r3, [r3, #0] │ │ │ │ │ - str r3, [sp, #188] @ 0xbc │ │ │ │ │ - adds r3, r1, #1 │ │ │ │ │ + ldr r0, [pc, #40] @ (6c ) │ │ │ │ │ + ldr r1, [r1, r0] │ │ │ │ │ str r3, [sp, #180] @ 0xb4 │ │ │ │ │ - movs r3, #144 @ 0x90 │ │ │ │ │ - mla r3, r1, r3, r3 │ │ │ │ │ - adds r4, r2, r3 │ │ │ │ │ - b.n 64 │ │ │ │ │ + add.w r3, r3, r3, lsl #3 │ │ │ │ │ + add.w r4, r2, r3, lsl #4 │ │ │ │ │ + ldr r1, [r1, #0] │ │ │ │ │ + str r1, [sp, #188] @ 0xbc │ │ │ │ │ + b.n 76 │ │ │ │ │ nop │ │ │ │ │ - nop.w │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ - .word 0x00000040 │ │ │ │ │ + .word 0x0000003c │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str r3, [sp, #180] @ 0xb4 │ │ │ │ │ - movs r3, #40 @ 0x28 │ │ │ │ │ - vldr d1, [r4, #-72] @ 0xffffffb8 │ │ │ │ │ - vldr d3, [r4, #-80] @ 0xffffffb0 │ │ │ │ │ - mov.w ip, #72 @ 0x48 │ │ │ │ │ + add.w r3, r7, r7, lsl #2 │ │ │ │ │ vldr d5, [r6] │ │ │ │ │ - mul.w r3, r3, r7 │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ - vldr d10, [r4, #-136] @ 0xffffff78 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + vldr d1, [r4, #-72] @ 0xffffffb8 │ │ │ │ │ add.w fp, r5, r3 │ │ │ │ │ - adds r3, r6, r3 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ - vldr d0, [r4, #-8] │ │ │ │ │ + add r3, r6 │ │ │ │ │ + vldr d3, [r4, #-80] @ 0xffffffb0 │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ - lsls r3, r7, #5 │ │ │ │ │ + str r3, [sp, #0] │ │ │ │ │ + mov.w r3, r7, lsl #5 │ │ │ │ │ vldr d7, [fp] │ │ │ │ │ - adds r0, r6, r3 │ │ │ │ │ - adds r1, r5, r3 │ │ │ │ │ - lsls r3, r7, #3 │ │ │ │ │ + add.w r0, r6, r3 │ │ │ │ │ + add.w r1, r5, r3 │ │ │ │ │ + mov.w r3, r7, lsl #3 │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ + add.w r2, r5, r3 │ │ │ │ │ + strd r1, r0, [sp, #4] │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ - adds r2, r5, r3 │ │ │ │ │ + vldr d10, [r4, #-136] @ 0xffffff78 │ │ │ │ │ + str r2, [sp, #12] │ │ │ │ │ + vldr d0, [r4, #-8] │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - adds r3, r6, r3 │ │ │ │ │ - str r3, [sp, #16] │ │ │ │ │ - str r1, [sp, #4] │ │ │ │ │ - str r0, [sp, #8] │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ - str r2, [sp, #12] │ │ │ │ │ vsub.f64 d1, d4, d6 │ │ │ │ │ vadd.f64 d2, d4, d6 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ vldr d4, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ vsub.f64 d3, d5, d7 │ │ │ │ │ vadd.f64 d7, d5, d7 │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ vstr d1, [sp, #104] @ 0x68 │ │ │ │ │ + add.w r1, r6, r3 │ │ │ │ │ vmul.f64 d1, d6, d4 │ │ │ │ │ - vstr d2, [sp, #120] @ 0x78 │ │ │ │ │ + vstr d3, [sp, #112] @ 0x70 │ │ │ │ │ vstr d7, [sp, #128] @ 0x80 │ │ │ │ │ vldr d7, [r4, #-96] @ 0xffffffa0 │ │ │ │ │ - vstr d3, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d2, [sp, #120] @ 0x78 │ │ │ │ │ vmla.f64 d1, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d4 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - mul.w r3, ip, r7 │ │ │ │ │ - mov.w ip, #48 @ 0x30 │ │ │ │ │ - adds r1, r6, r3 │ │ │ │ │ - add.w r8, r5, r3 │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ + add.w r2, r3, r7 │ │ │ │ │ vmul.f64 d3, d4, d10 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + sub.w r3, r3, r7 │ │ │ │ │ vldr d6, [r4, #-144] @ 0xffffff70 │ │ │ │ │ - mul.w r3, ip, r7 │ │ │ │ │ - str r1, [sp, #20] │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + add.w r0, r6, r2 │ │ │ │ │ + add.w r8, r5, r2 │ │ │ │ │ + add.w r2, r7, r7, lsl #1 │ │ │ │ │ + add.w sl, r5, r3 │ │ │ │ │ + add r3, r6 │ │ │ │ │ + strd r1, r0, [sp, #16] │ │ │ │ │ + mov.w r1, r2, lsl #4 │ │ │ │ │ vmul.f64 d10, d7, d10 │ │ │ │ │ - lsls r2, r7, #4 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ vmla.f64 d3, d7, d6 │ │ │ │ │ vldr d7, [r4, #-16] │ │ │ │ │ - adds r0, r5, r3 │ │ │ │ │ - adds r3, r6, r3 │ │ │ │ │ - str r0, [sp, #24] │ │ │ │ │ - add.w lr, r5, r2 │ │ │ │ │ + add.w r9, r5, r2 │ │ │ │ │ + add r2, r6 │ │ │ │ │ vnmls.f64 d10, d4, d6 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ + add.w r0, r5, r1 │ │ │ │ │ + add r1, r6 │ │ │ │ │ vldr d6, [r8] │ │ │ │ │ - add r2, r6 │ │ │ │ │ - str r3, [sp, #28] │ │ │ │ │ - mov.w ip, #24 │ │ │ │ │ + strd r0, r1, [sp, #24] │ │ │ │ │ vmul.f64 d2, d4, d0 │ │ │ │ │ vmla.f64 d2, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ - vldr d0, [r3] │ │ │ │ │ - lsls r3, r7, #6 │ │ │ │ │ + vldr d0, [r1] │ │ │ │ │ + mov.w r1, r7, lsl #6 │ │ │ │ │ + add.w ip, r5, r1 │ │ │ │ │ + add r1, r6 │ │ │ │ │ vnmls.f64 d6, d4, d7 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ + mov.w r0, r7, lsl #4 │ │ │ │ │ vldr d9, [r4, #-64] @ 0xffffffc0 │ │ │ │ │ - mul.w r0, ip, r7 │ │ │ │ │ - vldr d8, [r4, #-56] @ 0xffffffc8 │ │ │ │ │ - mov.w ip, #56 @ 0x38 │ │ │ │ │ - add.w r9, r5, r0 │ │ │ │ │ + add.w lr, r5, r0 │ │ │ │ │ add r0, r6 │ │ │ │ │ str r2, [sp, #176] @ 0xb0 │ │ │ │ │ + vldr d8, [r4, #-56] @ 0xffffffc8 │ │ │ │ │ vmul.f64 d4, d0, d8 │ │ │ │ │ - mul.w r1, ip, r7 │ │ │ │ │ vmla.f64 d4, d7, d9 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ - add.w sl, r5, r1 │ │ │ │ │ - add r1, r6 │ │ │ │ │ - add.w ip, r5, r3 │ │ │ │ │ - add r3, r6 │ │ │ │ │ vnmls.f64 d7, d0, d9 │ │ │ │ │ vadd.f64 d9, d5, d6 │ │ │ │ │ vsub.f64 d0, d1, d2 │ │ │ │ │ vsub.f64 d6, d5, d6 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ vsub.f64 d8, d4, d3 │ │ │ │ │ - vstr d9, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d0, [sp, #32] │ │ │ │ │ vadd.f64 d4, d3, d4 │ │ │ │ │ + vstr d0, [sp, #32] │ │ │ │ │ + vstr d9, [sp, #48] @ 0x30 │ │ │ │ │ vstr d6, [sp, #80] @ 0x50 │ │ │ │ │ vadd.f64 d12, d10, d7 │ │ │ │ │ vadd.f64 d0, d0, d8 │ │ │ │ │ vstr d8, [sp, #40] @ 0x28 │ │ │ │ │ vsub.f64 d8, d7, d10 │ │ │ │ │ - vstr d4, [sp, #72] @ 0x48 │ │ │ │ │ vadd.f64 d13, d9, d12 │ │ │ │ │ - vstr d0, [sp, #136] @ 0x88 │ │ │ │ │ + vstr d4, [sp, #72] @ 0x48 │ │ │ │ │ vadd.f64 d7, d6, d8 │ │ │ │ │ vldr d6, [r4, #-128] @ 0xffffff80 │ │ │ │ │ + vstr d0, [sp, #136] @ 0x88 │ │ │ │ │ vstr d12, [sp, #56] @ 0x38 │ │ │ │ │ vstr d13, [sp, #144] @ 0x90 │ │ │ │ │ vadd.f64 d13, d1, d2 │ │ │ │ │ - vstr d7, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ + vldr d1, [r4, #-24] @ 0xffffffe8 │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ vadd.f64 d0, d13, d4 │ │ │ │ │ vldr d4, [r4, #-120] @ 0xffffff88 │ │ │ │ │ + vstr d7, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d7, [lr] │ │ │ │ │ vstr d13, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d1, [r4, #-24] @ 0xffffffe8 │ │ │ │ │ vmul.f64 d13, d5, d4 │ │ │ │ │ + vstr d0, [sp, #152] @ 0x98 │ │ │ │ │ vmla.f64 d13, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ - vstr d0, [sp, #152] @ 0x98 │ │ │ │ │ vldr d4, [r4, #-104] @ 0xffffff98 │ │ │ │ │ vmov.f64 d0, d7 │ │ │ │ │ vldr d7, [r9] │ │ │ │ │ vnmls.f64 d0, d5, d6 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ vldr d6, [r4, #-112] @ 0xffffff90 │ │ │ │ │ - adds r4, #144 @ 0x90 │ │ │ │ │ + add.w r4, r4, #144 @ 0x90 │ │ │ │ │ vmul.f64 d9, d5, d4 │ │ │ │ │ vmla.f64 d9, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vldr d4, [r4, #-184] @ 0xffffff48 │ │ │ │ │ vmov.f64 d10, d7 │ │ │ │ │ vldr d7, [sl] │ │ │ │ │ vnmls.f64 d10, d5, d6 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ vldr d6, [r4, #-192] @ 0xffffff40 │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ vmla.f64 d3, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vldr d4, [ip] │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ vldr d6, [r4, #-176] @ 0xffffff50 │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ vmla.f64 d5, d4, d6 │ │ │ │ │ vmul.f64 d4, d4, d1 │ │ │ │ │ vmov.f64 d1, d10 │ │ │ │ │ - vnmls.f64 d4, d2, d6 │ │ │ │ │ - vsub.f64 d2, d13, d3 │ │ │ │ │ vadd.f64 d12, d0, d7 │ │ │ │ │ vsub.f64 d7, d0, d7 │ │ │ │ │ + vldr d0, [pc, #580] @ 4f8 │ │ │ │ │ + vnmls.f64 d4, d2, d6 │ │ │ │ │ + vsub.f64 d2, d13, d3 │ │ │ │ │ vadd.f64 d13, d13, d3 │ │ │ │ │ - vldr d0, [pc, #552] @ 4c0 │ │ │ │ │ vsub.f64 d6, d5, d9 │ │ │ │ │ - vstr d2, [sp, #88] @ 0x58 │ │ │ │ │ vadd.f64 d5, d9, d5 │ │ │ │ │ + vstr d2, [sp, #88] @ 0x58 │ │ │ │ │ vmov.f64 d9, #80 @ 0x3e800000 0.250 │ │ │ │ │ vadd.f64 d10, d10, d4 │ │ │ │ │ vsub.f64 d4, d4, d1 │ │ │ │ │ vadd.f64 d2, d2, d6 │ │ │ │ │ vadd.f64 d15, d12, d10 │ │ │ │ │ vadd.f64 d3, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ vsub.f64 d10, d12, d10 │ │ │ │ │ vstr d15, [sp, #168] @ 0xa8 │ │ │ │ │ vadd.f64 d15, d13, d5 │ │ │ │ │ vstr d5, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d1, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d4, [sp, #80] @ 0x50 │ │ │ │ │ ldr r2, [sp, #12] │ │ │ │ │ + vldr d4, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d1, [sp, #136] @ 0x88 │ │ │ │ │ + vsub.f64 d8, d4, d8 │ │ │ │ │ vsub.f64 d5, d2, d1 │ │ │ │ │ vadd.f64 d2, d1, d2 │ │ │ │ │ - vsub.f64 d8, d4, d8 │ │ │ │ │ vldr d1, [sp, #104] @ 0x68 │ │ │ │ │ + vmul.f64 d4, d8, d11 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ vmov.f64 d0, d1 │ │ │ │ │ - vmul.f64 d4, d8, d11 │ │ │ │ │ - vmls.f64 d0, d2, d9 │ │ │ │ │ vmla.f64 d4, d7, d14 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ + vmls.f64 d0, d2, d9 │ │ │ │ │ vadd.f64 d2, d1, d2 │ │ │ │ │ vldr d1, [sp, #160] @ 0xa0 │ │ │ │ │ vnmls.f64 d7, d8, d14 │ │ │ │ │ vstr d2, [fp] │ │ │ │ │ vsub.f64 d2, d0, d5 │ │ │ │ │ vadd.f64 d5, d5, d0 │ │ │ │ │ - vldr d0, [pc, #416] @ 4c0 │ │ │ │ │ + vldr d0, [pc, #436] @ 4f8 │ │ │ │ │ vsub.f64 d8, d2, d7 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ vstr d8, [sl] │ │ │ │ │ vstr d7, [r9] │ │ │ │ │ vsub.f64 d7, d5, d4 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ vldr d8, [sp, #40] @ 0x28 │ │ │ │ │ vstr d7, [r8] │ │ │ │ │ vsub.f64 d7, d3, d1 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ vadd.f64 d3, d1, d3 │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ + ldr r2, [sp, #0] │ │ │ │ │ vldr d4, [sp, #88] @ 0x58 │ │ │ │ │ vldr d1, [sp, #112] @ 0x70 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ - ldr r2, [sp, #0] │ │ │ │ │ vsub.f64 d6, d4, d6 │ │ │ │ │ vldr d4, [sp, #32] │ │ │ │ │ vmov.f64 d5, d1 │ │ │ │ │ + vsub.f64 d2, d4, d8 │ │ │ │ │ vmls.f64 d5, d3, d9 │ │ │ │ │ vadd.f64 d3, d1, d3 │ │ │ │ │ - vsub.f64 d2, d4, d8 │ │ │ │ │ vmov.f64 d1, d0 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ vmul.f64 d4, d2, d11 │ │ │ │ │ - ldr r2, [sp, #16] │ │ │ │ │ - vmla.f64 d4, d6, d14 │ │ │ │ │ - vmul.f64 d6, d6, d11 │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ + ldr r2, [sp, #176] @ 0xb0 │ │ │ │ │ vsub.f64 d3, d5, d7 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ + vmla.f64 d4, d6, d14 │ │ │ │ │ + vmul.f64 d6, d6, d11 │ │ │ │ │ vnmls.f64 d6, d2, d14 │ │ │ │ │ vsub.f64 d2, d3, d6 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ vldr d3, [sp, #56] @ 0x38 │ │ │ │ │ - vstr d2, [r0] │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ vsub.f64 d6, d7, d4 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ + ldr r3, [sp, #4] │ │ │ │ │ + ldr r2, [sp, #16] │ │ │ │ │ vldr d2, [sp, #120] @ 0x78 │ │ │ │ │ - ldr r1, [sp, #4] │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ ldr r2, [sp, #20] │ │ │ │ │ vldr d6, [sp, #152] @ 0x98 │ │ │ │ │ vstr d4, [r2] │ │ │ │ │ - vadd.f64 d5, d6, d15 │ │ │ │ │ + ldr r2, [sp, #24] │ │ │ │ │ vldr d4, [sp, #48] @ 0x30 │ │ │ │ │ + vadd.f64 d5, d6, d15 │ │ │ │ │ vsub.f64 d7, d15, d6 │ │ │ │ │ vmov.f64 d6, d2 │ │ │ │ │ - ldr r2, [sp, #24] │ │ │ │ │ vsub.f64 d4, d4, d3 │ │ │ │ │ vmul.f64 d3, d10, d11 │ │ │ │ │ vmls.f64 d6, d5, d9 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ vadd.f64 d5, d2, d5 │ │ │ │ │ vnmls.f64 d3, d4, d14 │ │ │ │ │ vmul.f64 d4, d4, d11 │ │ │ │ │ - vmla.f64 d4, d10, d14 │ │ │ │ │ vstr d5, [r5] │ │ │ │ │ + vmla.f64 d4, d10, d14 │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vsub.f64 d2, d5, d4 │ │ │ │ │ - vadd.f64 d4, d4, d5 │ │ │ │ │ vsub.f64 d7, d6, d3 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ - vstr d2, [r1] │ │ │ │ │ + vsub.f64 d2, d5, d4 │ │ │ │ │ + vadd.f64 d4, d4, d5 │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ vstr d4, [r2] │ │ │ │ │ vstr d7, [lr] │ │ │ │ │ vstr d3, [ip] │ │ │ │ │ vldr d5, [sp, #144] @ 0x90 │ │ │ │ │ vldr d0, [sp, #168] @ 0xa8 │ │ │ │ │ + ldr r3, [sp, #8] │ │ │ │ │ vldr d3, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d2, [sp, #128] @ 0x80 │ │ │ │ │ vadd.f64 d4, d5, d0 │ │ │ │ │ vsub.f64 d6, d0, d5 │ │ │ │ │ vldr d5, [sp, #64] @ 0x40 │ │ │ │ │ - vmov.f64 d7, d2 │ │ │ │ │ - ldr r2, [sp, #28] │ │ │ │ │ - ldr r0, [sp, #8] │ │ │ │ │ + vldr d2, [sp, #128] @ 0x80 │ │ │ │ │ + ldr r2, [sp, #300] @ 0x12c │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ vldr d3, [sp, #96] @ 0x60 │ │ │ │ │ - vmls.f64 d7, d4, d9 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ - vadd.f64 d4, d2, d4 │ │ │ │ │ + vmov.f64 d7, d2 │ │ │ │ │ vsub.f64 d13, d13, d3 │ │ │ │ │ - vstr d4, [r6] │ │ │ │ │ + vmls.f64 d7, d4, d9 │ │ │ │ │ + vadd.f64 d4, d2, d4 │ │ │ │ │ vmul.f64 d3, d13, d11 │ │ │ │ │ + vstr d4, [r6] │ │ │ │ │ vadd.f64 d4, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vnmls.f64 d3, d5, d14 │ │ │ │ │ vmul.f64 d5, d5, d11 │ │ │ │ │ vmla.f64 d5, d13, d14 │ │ │ │ │ vadd.f64 d6, d3, d7 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ vadd.f64 d2, d5, d4 │ │ │ │ │ vsub.f64 d4, d4, d5 │ │ │ │ │ - vstr d2, [r0] │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - ldr r2, [sp, #176] @ 0xb0 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + ldr r3, [sp, #28] │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ ldr r3, [sp, #184] @ 0xb8 │ │ │ │ │ - ldr r2, [sp, #300] @ 0x12c │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ add r5, r3 │ │ │ │ │ add r6, r3 │ │ │ │ │ ldr r3, [sp, #188] @ 0xbc │ │ │ │ │ - eors r7, r3 │ │ │ │ │ + eor.w r7, r7, r3 │ │ │ │ │ ldr r3, [sp, #180] @ 0xb4 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.w 60 │ │ │ │ │ + bne.w 70 │ │ │ │ │ add sp, #196 @ 0xc4 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop.w │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ │ │ │ │ │ -000004c8 : │ │ │ │ │ +00000500 : │ │ │ │ │ fftw_codelet_t1_10(): │ │ │ │ │ - ldr r2, [pc, #8] @ (4d4 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (4d8 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (50c ) │ │ │ │ │ + ldr r1, [pc, #12] @ (510 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_dit_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── t1_12.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2244 (bytes into file) │ │ │ │ │ + Start of section headers: 2308 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x8c4: │ │ │ │ │ +There are 14 section headers, starting at offset 0x904: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00059c 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00080c 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0005d0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0005d0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0005d0 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 0005d6 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0005de 000040 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000834 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 00061e 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00061e 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000654 000130 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000784 000087 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 00084c 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0005dc 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 00084c 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000610 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000610 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000610 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000616 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 00061e 000040 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000874 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 00065e 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00065e 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000694 000130 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0007c4 000087 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 00088c 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 19 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1414 FUNC LOCAL DEFAULT 1 t1_12 │ │ │ │ │ + 1: 00000001 1480 FUNC LOCAL DEFAULT 1 t1_12 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000048 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000058 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000594 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000060 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000070 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000005d4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 16: 00000589 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_12 │ │ │ │ │ + 16: 000005c9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_12 │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_dit_register │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x80c contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x84c contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000050 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000054 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000594 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000598 00000103 R_ARM_REL32 00000001 t1_12 │ │ │ │ │ -00000590 0000111e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ +00000068 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000006c 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +000005d4 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000005d8 00000103 R_ARM_REL32 00000001 t1_12 │ │ │ │ │ +000005d0 0000111e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x834 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x874 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001202 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,414 +1,419 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ t1_12(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r7, r0 │ │ │ │ │ - mov r8, r1 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r6, r0 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r7, r1 │ │ │ │ │ + mov r8, r3 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #220 @ 0xdc │ │ │ │ │ - mov r9, r3 │ │ │ │ │ - ldr r3, [pc, #60] @ (50 ) │ │ │ │ │ - ldr r1, [sp, #320] @ 0x140 │ │ │ │ │ - add r3, pc │ │ │ │ │ - ldr r0, [sp, #324] @ 0x144 │ │ │ │ │ + ldrd r1, r0, [sp, #320] @ 0x140 │ │ │ │ │ + ldr r3, [pc, #64] @ (68 ) │ │ │ │ │ cmp r1, r0 │ │ │ │ │ - bge.w 57c │ │ │ │ │ + add r3, pc │ │ │ │ │ + bge.w 5ac │ │ │ │ │ ldr r0, [sp, #328] @ 0x148 │ │ │ │ │ - mov ip, r9 │ │ │ │ │ - vldr d13, [pc, #36] @ 48 │ │ │ │ │ vmov.f64 d11, #96 @ 0x3f000000 0.5 │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ + mov ip, r6 │ │ │ │ │ + mov fp, r7 │ │ │ │ │ + mov lr, r8 │ │ │ │ │ + vldr d13, [pc, #36] @ 60 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ str r0, [sp, #208] @ 0xd0 │ │ │ │ │ - ldr r0, [pc, #36] @ (54 ) │ │ │ │ │ + ldr r0, [pc, #36] @ (6c ) │ │ │ │ │ ldr r3, [r3, r0] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ str r3, [sp, #212] @ 0xd4 │ │ │ │ │ - adds r3, r1, #1 │ │ │ │ │ + add.w r3, r1, #1 │ │ │ │ │ str r3, [sp, #204] @ 0xcc │ │ │ │ │ - movs r3, #176 @ 0xb0 │ │ │ │ │ + mov.w r3, #176 @ 0xb0 │ │ │ │ │ mla r3, r1, r3, r3 │ │ │ │ │ - adds r6, r2, r3 │ │ │ │ │ - b.n 5c │ │ │ │ │ - nop.w │ │ │ │ │ + add.w r5, r2, r3 │ │ │ │ │ + b.n 76 │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3febb67a │ │ │ │ │ - .word 0x00000038 │ │ │ │ │ + .word 0x0000003c │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str r3, [sp, #204] @ 0xcc │ │ │ │ │ - mov.w r3, ip, lsl #5 │ │ │ │ │ - vldr d3, [r6, #-120] @ 0xffffff88 │ │ │ │ │ - add.w lr, r8, r3 │ │ │ │ │ - add.w r9, r7, r3 │ │ │ │ │ - vldr d7, [r6, #-128] @ 0xffffff80 │ │ │ │ │ + mov.w r3, lr, lsl #5 │ │ │ │ │ + vldr d7, [r5, #-128] @ 0xffffff80 │ │ │ │ │ + mov r7, fp │ │ │ │ │ + add.w r8, fp, r3 │ │ │ │ │ + vldr d3, [r5, #-120] @ 0xffffff88 │ │ │ │ │ + add.w r9, ip, r3 │ │ │ │ │ add.w r2, r9, r3 │ │ │ │ │ - add r3, lr │ │ │ │ │ - vldr d1, [r6, #-56] @ 0xffffffc8 │ │ │ │ │ - vldr d5, [lr] │ │ │ │ │ - movs r1, #72 @ 0x48 │ │ │ │ │ + add r3, r8 │ │ │ │ │ + vldr d5, [r8] │ │ │ │ │ + strd r2, r3, [sp, #4] │ │ │ │ │ vldr d6, [r9] │ │ │ │ │ - movs r5, #40 @ 0x28 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ - mov.w sl, #48 @ 0x30 │ │ │ │ │ + vldr d1, [r5, #-56] @ 0xffffffc8 │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ + mov.w r3, lr, lsl #3 │ │ │ │ │ + vldr d8, [r5, #-40] @ 0xffffffd8 │ │ │ │ │ vmla.f64 d4, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ - vldr d3, [r6, #-64] @ 0xffffffc0 │ │ │ │ │ - mul.w r3, r1, ip │ │ │ │ │ - vldr d8, [r6, #-40] @ 0xffffffd8 │ │ │ │ │ - adds r1, r7, r3 │ │ │ │ │ - add.w r0, r8, r3 │ │ │ │ │ + vldr d3, [r5, #-64] @ 0xffffffc0 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ - mul.w r3, r5, ip │ │ │ │ │ - str r1, [sp, #8] │ │ │ │ │ + add.w r2, r3, lr │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + add.w r1, ip, r2 │ │ │ │ │ + add.w r0, r7, r2 │ │ │ │ │ + add.w r2, lr, lr, lsl #2 │ │ │ │ │ vmla.f64 d5, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - add.w r4, r8, r3 │ │ │ │ │ - adds r5, r7, r3 │ │ │ │ │ - mov.w r3, ip, lsl #3 │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ - str r0, [sp, #12] │ │ │ │ │ - mov.w r2, ip, lsl #4 │ │ │ │ │ + strd r1, r0, [sp, #12] │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ - str r5, [sp, #16] │ │ │ │ │ - str r4, [sp, #20] │ │ │ │ │ vadd.f64 d15, d4, d5 │ │ │ │ │ vsub.f64 d3, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - adds r1, r7, r3 │ │ │ │ │ - add r3, r8 │ │ │ │ │ - str r1, [sp, #24] │ │ │ │ │ - str r3, [sp, #28] │ │ │ │ │ + mov.w r1, r2, lsl #3 │ │ │ │ │ + mov.w r2, r2, lsl #4 │ │ │ │ │ + add.w r6, r7, r1 │ │ │ │ │ + add.w r4, ip, r1 │ │ │ │ │ + add.w r1, lr, lr, lsl #1 │ │ │ │ │ + str r4, [sp, #20] │ │ │ │ │ vmul.f64 d3, d3, d13 │ │ │ │ │ + str r6, [sp, #24] │ │ │ │ │ vstr d3, [sp, #48] @ 0x30 │ │ │ │ │ vsub.f64 d3, d5, d4 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ vmov.f64 d4, d6 │ │ │ │ │ - vmls.f64 d5, d15, d11 │ │ │ │ │ - vldr d6, [r8] │ │ │ │ │ + vldr d5, [ip] │ │ │ │ │ + vldr d6, [fp] │ │ │ │ │ + vstr d4, [sp, #72] @ 0x48 │ │ │ │ │ vmul.f64 d0, d3, d13 │ │ │ │ │ - vldr d3, [r6, #-104] @ 0xffffff98 │ │ │ │ │ + vldr d3, [r5, #-104] @ 0xffffff98 │ │ │ │ │ + vmls.f64 d5, d15, d11 │ │ │ │ │ vmls.f64 d6, d4, d11 │ │ │ │ │ - vstr d4, [sp, #72] @ 0x48 │ │ │ │ │ vstr d0, [sp, #56] @ 0x38 │ │ │ │ │ vstr d5, [sp, #64] @ 0x40 │ │ │ │ │ vldr d5, [r0] │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ - add r2, r8 │ │ │ │ │ + add.w r0, ip, r3 │ │ │ │ │ vstr d6, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d6, [r5, #-48] @ 0xffffffd0 │ │ │ │ │ + str r0, [sp, #28] │ │ │ │ │ vmul.f64 d0, d5, d8 │ │ │ │ │ vmul.f64 d8, d7, d8 │ │ │ │ │ - vldr d6, [r6, #-48] @ 0xffffffd0 │ │ │ │ │ vnmls.f64 d8, d5, d6 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ + vldr d5, [r6] │ │ │ │ │ vmla.f64 d0, d7, d6 │ │ │ │ │ - vldr d7, [r6, #-112] @ 0xffffff90 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - mul.w r5, sl, ip │ │ │ │ │ + mov.w r6, r1, lsl #4 │ │ │ │ │ + vldr d7, [r5, #-112] @ 0xffffff90 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + add.w fp, ip, r6 │ │ │ │ │ + add r6, r7 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + add.w r4, r7, r3 │ │ │ │ │ + add.w sl, ip, r1 │ │ │ │ │ + add r1, r7 │ │ │ │ │ + sub.w r3, r3, lr │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ - mov.w sl, #80 @ 0x50 │ │ │ │ │ - add.w fp, r7, r5 │ │ │ │ │ + str r4, [sp, #32] │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ vmla.f64 d4, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ - add.w r3, r5, r8 │ │ │ │ │ - vldr d1, [r6, #-168] @ 0xffffff58 │ │ │ │ │ - movs r5, #88 @ 0x58 │ │ │ │ │ - vldr d3, [r6, #-176] @ 0xffffff50 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + vldr d2, [r4] │ │ │ │ │ + mov.w r4, lr, lsl #4 │ │ │ │ │ + vldr d3, [r5, #-176] @ 0xffffff50 │ │ │ │ │ + add.w r0, ip, r4 │ │ │ │ │ + add r4, r7 │ │ │ │ │ + vldr d1, [r5, #-168] @ 0xffffff58 │ │ │ │ │ str r0, [sp, #36] @ 0x24 │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ - str r3, [sp, #32] │ │ │ │ │ vmla.f64 d5, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ vadd.f64 d12, d4, d5 │ │ │ │ │ vsub.f64 d3, d7, d6 │ │ │ │ │ vadd.f64 d14, d6, d7 │ │ │ │ │ - vldr d6, [r6, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d6, [r5, #-96] @ 0xffffffa0 │ │ │ │ │ vldr d7, [fp] │ │ │ │ │ vmul.f64 d2, d3, d13 │ │ │ │ │ vsub.f64 d3, d4, d5 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - vldr d4, [r6, #-88] @ 0xffffffa8 │ │ │ │ │ + vldr d4, [r5, #-88] @ 0xffffffa8 │ │ │ │ │ + vldr d5, [r6] │ │ │ │ │ vmul.f64 d1, d3, d13 │ │ │ │ │ vstr d2, [sp, #88] @ 0x58 │ │ │ │ │ - vmul.f64 d3, d5, d4 │ │ │ │ │ vmov.f64 d2, d8 │ │ │ │ │ - vmla.f64 d3, d7, d6 │ │ │ │ │ - vmul.f64 d7, d7, d4 │ │ │ │ │ + vmul.f64 d3, d5, d4 │ │ │ │ │ vmls.f64 d2, d14, d11 │ │ │ │ │ - vldr d4, [r6, #-152] @ 0xffffff68 │ │ │ │ │ + vadd.f64 d14, d8, d14 │ │ │ │ │ vstr d1, [sp, #96] @ 0x60 │ │ │ │ │ vmov.f64 d1, d0 │ │ │ │ │ + vmla.f64 d3, d7, d6 │ │ │ │ │ + vmul.f64 d7, d7, d4 │ │ │ │ │ + vldr d4, [r5, #-152] @ 0xffffff68 │ │ │ │ │ vmls.f64 d1, d12, d11 │ │ │ │ │ vadd.f64 d12, d0, d12 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ vldr d5, [r0] │ │ │ │ │ - mul.w r0, sl, ip │ │ │ │ │ - mov.w sl, #24 │ │ │ │ │ - vadd.f64 d14, d8, d14 │ │ │ │ │ - adds r3, r7, r0 │ │ │ │ │ - add r0, r8 │ │ │ │ │ + add.w r0, ip, r2 │ │ │ │ │ + add r2, r7 │ │ │ │ │ vmov.f64 d9, d3 │ │ │ │ │ + str r0, [sp, #40] @ 0x28 │ │ │ │ │ + str r2, [sp, #44] @ 0x2c │ │ │ │ │ vmul.f64 d3, d6, d4 │ │ │ │ │ - vstr d2, [sp, #112] @ 0x70 │ │ │ │ │ - mul.w r4, sl, ip │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ vstr d1, [sp, #104] @ 0x68 │ │ │ │ │ - add.w sl, r7, r4 │ │ │ │ │ + vldr d1, [r5, #-24] @ 0xffffffe8 │ │ │ │ │ + vstr d2, [sp, #112] @ 0x70 │ │ │ │ │ vmov.f64 d10, d7 │ │ │ │ │ - vldr d7, [r6, #-160] @ 0xffffff60 │ │ │ │ │ - vldr d1, [r6, #-24] @ 0xffffffe8 │ │ │ │ │ - add r4, r8 │ │ │ │ │ - str r3, [sp, #40] @ 0x28 │ │ │ │ │ - vmla.f64 d3, d5, d7 │ │ │ │ │ - vmul.f64 d5, d5, d4 │ │ │ │ │ - vldr d4, [r6, #-32] @ 0xffffffe0 │ │ │ │ │ + vldr d7, [r5, #-160] @ 0xffffff60 │ │ │ │ │ vstr d9, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ + mov r2, r7 │ │ │ │ │ + mov.w r7, #88 @ 0x58 │ │ │ │ │ vstr d10, [sp, #128] @ 0x80 │ │ │ │ │ + vmla.f64 d3, d5, d7 │ │ │ │ │ + vmul.f64 d5, d5, d4 │ │ │ │ │ + vldr d4, [r5, #-32] @ 0xffffffe0 │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ - mul.w r3, r5, ip │ │ │ │ │ - movs r5, #56 @ 0x38 │ │ │ │ │ + mul.w r0, r7, lr │ │ │ │ │ + add.w r7, ip, r0 │ │ │ │ │ + add r0, r2 │ │ │ │ │ vmla.f64 d6, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - adds r1, r7, r3 │ │ │ │ │ - add r3, r8 │ │ │ │ │ vnmls.f64 d7, d2, d4 │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ vmov.f64 d7, d10 │ │ │ │ │ vmul.f64 d4, d4, d13 │ │ │ │ │ vmls.f64 d7, d5, d11 │ │ │ │ │ vstr d4, [sp, #136] @ 0x88 │ │ │ │ │ vsub.f64 d4, d3, d6 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ vmov.f64 d6, d9 │ │ │ │ │ - vmul.f64 d2, d4, d13 │ │ │ │ │ - vldr d4, [r4] │ │ │ │ │ - vmls.f64 d6, d3, d11 │ │ │ │ │ vstr d7, [sp, #184] @ 0xb8 │ │ │ │ │ vldr d7, [sl] │ │ │ │ │ + vmul.f64 d2, d4, d13 │ │ │ │ │ + vmls.f64 d6, d3, d11 │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ vstr d2, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d2, [r6, #-136] @ 0xffffff78 │ │ │ │ │ - vmul.f64 d1, d4, d2 │ │ │ │ │ + vldr d2, [r5, #-136] @ 0xffffff78 │ │ │ │ │ vstr d6, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d6, [r6, #-144] @ 0xffffff70 │ │ │ │ │ + vldr d6, [r5, #-144] @ 0xffffff70 │ │ │ │ │ + vmul.f64 d1, d4, d2 │ │ │ │ │ vmla.f64 d1, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ vmov.f64 d2, d7 │ │ │ │ │ vnmls.f64 d2, d4, d6 │ │ │ │ │ vstr d1, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d1, [r6, #-8] │ │ │ │ │ - vldr d4, [r6, #-16] │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - str r1, [sp, #44] @ 0x2c │ │ │ │ │ - mul.w r1, r5, ip │ │ │ │ │ - vldr d10, [r6, #-72] @ 0xffffffb8 │ │ │ │ │ - adds r5, r7, r1 │ │ │ │ │ - add r1, r8 │ │ │ │ │ - str r3, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + vldr d1, [r5, #-8] │ │ │ │ │ + vldr d4, [r5, #-16] │ │ │ │ │ + vldr d10, [r5, #-72] @ 0xffffffb8 │ │ │ │ │ vstr d2, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ - vldr d9, [r1] │ │ │ │ │ - ldr r3, [sp, #32] │ │ │ │ │ + vldr d2, [r0] │ │ │ │ │ + str r7, [sp, #200] @ 0xc8 │ │ │ │ │ + add.w r7, ip, r3 │ │ │ │ │ + add r3, r2 │ │ │ │ │ + vldr d9, [r3] │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ vmla.f64 d6, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [r6, #-80] @ 0xffffffb0 │ │ │ │ │ - adds r6, #176 @ 0xb0 │ │ │ │ │ + vldr d1, [r5, #-80] @ 0xffffffb0 │ │ │ │ │ + add.w r5, r5, #176 @ 0xb0 │ │ │ │ │ vnmls.f64 d7, d2, d4 │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ vmul.f64 d2, d9, d10 │ │ │ │ │ vmla.f64 d2, d4, d1 │ │ │ │ │ vmul.f64 d4, d4, d10 │ │ │ │ │ vnmls.f64 d4, d9, d1 │ │ │ │ │ vsub.f64 d9, d6, d2 │ │ │ │ │ vadd.f64 d6, d6, d2 │ │ │ │ │ vldr d2, [sp, #152] @ 0x98 │ │ │ │ │ vsub.f64 d10, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ vldr d4, [sp, #160] @ 0xa0 │ │ │ │ │ vmls.f64 d2, d6, d11 │ │ │ │ │ vmul.f64 d9, d9, d13 │ │ │ │ │ vmls.f64 d4, d7, d11 │ │ │ │ │ vmul.f64 d10, d10, d13 │ │ │ │ │ + vstr d4, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d4, [ip] │ │ │ │ │ vstr d2, [sp, #192] @ 0xc0 │ │ │ │ │ vldr d2, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d4, [sp, #168] @ 0xa8 │ │ │ │ │ - vldr d4, [r7] │ │ │ │ │ - vadd.f64 d3, d2, d3 │ │ │ │ │ vadd.f64 d4, d4, d15 │ │ │ │ │ vldr d15, [sp, #72] @ 0x48 │ │ │ │ │ + vadd.f64 d3, d2, d3 │ │ │ │ │ vadd.f64 d2, d4, d3 │ │ │ │ │ vsub.f64 d4, d4, d3 │ │ │ │ │ vldr d3, [sp, #128] @ 0x80 │ │ │ │ │ vadd.f64 d1, d3, d5 │ │ │ │ │ - vldr d5, [r8] │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ vadd.f64 d5, d5, d15 │ │ │ │ │ vadd.f64 d3, d1, d5 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ vldr d1, [sp, #152] @ 0x98 │ │ │ │ │ vadd.f64 d6, d1, d6 │ │ │ │ │ vldr d1, [sp, #160] @ 0xa0 │ │ │ │ │ - vadd.f64 d7, d1, d7 │ │ │ │ │ vadd.f64 d0, d6, d12 │ │ │ │ │ + vadd.f64 d7, d1, d7 │ │ │ │ │ vsub.f64 d6, d6, d12 │ │ │ │ │ vsub.f64 d1, d7, d14 │ │ │ │ │ - vadd.f64 d7, d7, d14 │ │ │ │ │ vsub.f64 d8, d2, d0 │ │ │ │ │ + vadd.f64 d7, d7, d14 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ vstr d8, [fp] │ │ │ │ │ + mov fp, r2 │ │ │ │ │ vsub.f64 d8, d3, d7 │ │ │ │ │ vadd.f64 d3, d3, d7 │ │ │ │ │ vsub.f64 d7, d4, d1 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ - vstr d8, [r3] │ │ │ │ │ - vstr d2, [r7] │ │ │ │ │ - vstr d3, [r8] │ │ │ │ │ + vstr d8, [r6] │ │ │ │ │ + vstr d2, [ip] │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ vstr d7, [sl] │ │ │ │ │ vadd.f64 d7, d5, d6 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ - ldr r4, [sp, #8] │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - ldr r4, [sp, #12] │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ vldr d3, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ + ldr r1, [sp, #12] │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ + ldr r1, [sp, #16] │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ vldr d5, [sp, #64] @ 0x40 │ │ │ │ │ + ldrd r1, r2, [sp, #40] @ 0x28 │ │ │ │ │ vldr d8, [sp, #136] @ 0x88 │ │ │ │ │ vldr d12, [sp, #176] @ 0xb0 │ │ │ │ │ vadd.f64 d7, d3, d5 │ │ │ │ │ vldr d0, [sp, #56] @ 0x38 │ │ │ │ │ vldr d15, [sp, #144] @ 0x90 │ │ │ │ │ vadd.f64 d6, d8, d12 │ │ │ │ │ vldr d14, [sp, #184] @ 0xb8 │ │ │ │ │ vldr d8, [sp, #88] @ 0x58 │ │ │ │ │ vldr d1, [sp, #104] @ 0x68 │ │ │ │ │ - vadd.f64 d5, d15, d14 │ │ │ │ │ - vldr d15, [sp, #192] @ 0xc0 │ │ │ │ │ vadd.f64 d2, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [sp, #80] @ 0x50 │ │ │ │ │ + vadd.f64 d5, d15, d14 │ │ │ │ │ + vldr d15, [sp, #192] @ 0xc0 │ │ │ │ │ vadd.f64 d4, d8, d1 │ │ │ │ │ vldr d1, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d8, [sp, #112] @ 0x70 │ │ │ │ │ vadd.f64 d6, d0, d6 │ │ │ │ │ - ldr r4, [sp, #40] @ 0x28 │ │ │ │ │ - vadd.f64 d8, d1, d8 │ │ │ │ │ + vldr d8, [sp, #112] @ 0x70 │ │ │ │ │ vsub.f64 d3, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vadd.f64 d5, d10, d15 │ │ │ │ │ + vadd.f64 d8, d1, d8 │ │ │ │ │ vadd.f64 d0, d5, d4 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vldr d4, [sp, #168] @ 0xa8 │ │ │ │ │ vadd.f64 d4, d9, d4 │ │ │ │ │ vsub.f64 d1, d4, d8 │ │ │ │ │ vadd.f64 d4, d4, d8 │ │ │ │ │ vsub.f64 d8, d2, d0 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ vldr d0, [sp, #56] @ 0x38 │ │ │ │ │ - vstr d8, [r4] │ │ │ │ │ + vstr d8, [r1] │ │ │ │ │ vsub.f64 d8, d6, d4 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vstr d8, [r0] │ │ │ │ │ + ldr r1, [sp, #28] │ │ │ │ │ + vstr d8, [r2] │ │ │ │ │ vstr d2, [r9] │ │ │ │ │ - vstr d6, [lr] │ │ │ │ │ + vstr d6, [r8] │ │ │ │ │ vsub.f64 d6, d7, d1 │ │ │ │ │ vadd.f64 d7, d7, d1 │ │ │ │ │ vldr d1, [sp, #104] @ 0x68 │ │ │ │ │ - vstr d6, [r5] │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ vadd.f64 d6, d3, d5 │ │ │ │ │ vsub.f64 d3, d3, d5 │ │ │ │ │ vldr d5, [sp, #136] @ 0x88 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ - ldr r1, [sp, #24] │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ - ldr r1, [sp, #28] │ │ │ │ │ + ldr r1, [sp, #32] │ │ │ │ │ vldr d7, [sp, #64] @ 0x40 │ │ │ │ │ vstr d3, [r1] │ │ │ │ │ vldr d3, [sp, #48] @ 0x30 │ │ │ │ │ vsub.f64 d6, d7, d3 │ │ │ │ │ vsub.f64 d7, d12, d5 │ │ │ │ │ vldr d5, [sp, #144] @ 0x90 │ │ │ │ │ vadd.f64 d4, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [sp, #80] @ 0x50 │ │ │ │ │ vsub.f64 d5, d14, d5 │ │ │ │ │ vsub.f64 d7, d7, d0 │ │ │ │ │ vldr d0, [sp, #88] @ 0x58 │ │ │ │ │ - ldr r0, [sp, #36] @ 0x24 │ │ │ │ │ - ldr r1, [sp, #44] @ 0x2c │ │ │ │ │ - vsub.f64 d2, d1, d0 │ │ │ │ │ - vldr d0, [sp, #96] @ 0x60 │ │ │ │ │ + ldrd r2, r3, [sp, #4] │ │ │ │ │ + ldr r1, [sp, #36] @ 0x24 │ │ │ │ │ vadd.f64 d3, d5, d7 │ │ │ │ │ + vsub.f64 d2, d1, d0 │ │ │ │ │ + ldr r6, [sp, #24] │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vsub.f64 d5, d15, d10 │ │ │ │ │ - ldr r3, [sp, #200] @ 0xc8 │ │ │ │ │ - ldr r5, [sp, #16] │ │ │ │ │ - ldr r4, [sp, #20] │ │ │ │ │ + vldr d0, [sp, #96] @ 0x60 │ │ │ │ │ + ldr r7, [sp, #200] @ 0xc8 │ │ │ │ │ vadd.f64 d1, d5, d2 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ vldr d2, [sp, #168] @ 0xa8 │ │ │ │ │ vsub.f64 d9, d2, d9 │ │ │ │ │ vldr d2, [sp, #112] @ 0x70 │ │ │ │ │ vsub.f64 d2, d2, d0 │ │ │ │ │ vsub.f64 d0, d4, d1 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ vsub.f64 d8, d9, d2 │ │ │ │ │ vadd.f64 d2, d9, d2 │ │ │ │ │ - vstr d0, [r0] │ │ │ │ │ + vstr d0, [r1] │ │ │ │ │ vsub.f64 d0, d3, d2 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ - vstr d0, [r2] │ │ │ │ │ - ldr r2, [sp, #0] │ │ │ │ │ + vstr d0, [r4] │ │ │ │ │ vstr d4, [r2] │ │ │ │ │ vsub.f64 d4, d6, d8 │ │ │ │ │ - ldr r2, [sp, #4] │ │ │ │ │ + mov r2, fp │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ vadd.f64 d6, d6, d8 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - vstr d4, [r1] │ │ │ │ │ + ldr r4, [sp, #20] │ │ │ │ │ + ldr r3, [sp, #208] @ 0xd0 │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ vadd.f64 d4, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - ldr r2, [sp, #324] @ 0x144 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - ldr r3, [sp, #208] @ 0xd0 │ │ │ │ │ - vstr d6, [r5] │ │ │ │ │ - add r7, r3 │ │ │ │ │ - add r8, r3 │ │ │ │ │ + add r2, r3 │ │ │ │ │ + add ip, r3 │ │ │ │ │ ldr r3, [sp, #212] @ 0xd4 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ - eor.w ip, ip, r3 │ │ │ │ │ + mov fp, r2 │ │ │ │ │ + ldr r2, [sp, #324] @ 0x144 │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ + eor.w lr, lr, r3 │ │ │ │ │ ldr r3, [sp, #204] @ 0xcc │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.w 58 │ │ │ │ │ + bne.w 70 │ │ │ │ │ add sp, #220 @ 0xdc │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -00000588 : │ │ │ │ │ +000005c8 : │ │ │ │ │ fftw_codelet_t1_12(): │ │ │ │ │ - ldr r2, [pc, #8] @ (594 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (598 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (5d4 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (5d8 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_dit_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── t1_15.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 3072 (bytes into file) │ │ │ │ │ + Start of section headers: 3092 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0xc00: │ │ │ │ │ +There are 14 section headers, starting at offset 0xc14: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0008b8 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000b48 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0008ec 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0008ec 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0008ec 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 0008f2 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0008fa 000040 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000b70 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 00093a 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00093a 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000970 000150 10 12 16 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000ac0 000087 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000b88 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0008cc 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000b5c 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000900 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000900 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000900 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000906 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 00090e 000040 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000b84 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 00094e 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00094e 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000984 000150 10 12 16 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000ad4 000087 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000b9c 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 21 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 2210 FUNC LOCAL DEFAULT 1 t1_15 │ │ │ │ │ + 1: 00000001 2232 FUNC LOCAL DEFAULT 1 t1_15 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000050 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000058 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 4: 00000068 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000450 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000468 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 000008b0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 5: 00000470 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000488 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 000008c4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 13: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 14: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 15: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 18: 000008a5 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_15 │ │ │ │ │ + 18: 000008b9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_15 │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_dit_register │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xb48 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xb5c contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000060 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 00000064 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000008b0 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000008b4 00000103 R_ARM_REL32 00000001 t1_15 │ │ │ │ │ -000008ac 0000131e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ +000008c4 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000008c8 00000103 R_ARM_REL32 00000001 t1_15 │ │ │ │ │ +000008c0 0000131e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xb70 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xb84 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000a02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001402 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,624 +1,610 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ t1_15(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ mov r9, r0 │ │ │ │ │ mov sl, r1 │ │ │ │ │ - vpush {d8-d15} │ │ │ │ │ - sub sp, #364 @ 0x16c │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ mov fp, r3 │ │ │ │ │ - ldr r3, [pc, #76] @ (60 ) │ │ │ │ │ - ldr r1, [sp, #464] @ 0x1d0 │ │ │ │ │ - add r3, pc │ │ │ │ │ - ldr r0, [sp, #468] @ 0x1d4 │ │ │ │ │ - cmp r1, r0 │ │ │ │ │ - bge.w 898 │ │ │ │ │ - ldr r0, [sp, #472] @ 0x1d8 │ │ │ │ │ + vpush {d8-d15} │ │ │ │ │ + sub sp, #348 @ 0x15c │ │ │ │ │ + ldrd r3, r0, [sp, #448] @ 0x1c0 │ │ │ │ │ + ldr r1, [pc, #56] @ (60 ) │ │ │ │ │ + cmp r3, r0 │ │ │ │ │ + add r1, pc │ │ │ │ │ + bge.w 89c │ │ │ │ │ + ldr r0, [sp, #456] @ 0x1c8 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ mov r7, r9 │ │ │ │ │ - vldr d10, [pc, #44] @ 50 │ │ │ │ │ mov ip, sl │ │ │ │ │ - vldr d15, [pc, #44] @ 58 │ │ │ │ │ mov lr, fp │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ - str r0, [sp, #352] @ 0x160 │ │ │ │ │ - ldr r0, [pc, #48] @ (64 ) │ │ │ │ │ - ldr r3, [r3, r0] │ │ │ │ │ - ldr r3, [r3, #0] │ │ │ │ │ - str r3, [sp, #356] @ 0x164 │ │ │ │ │ - adds r3, r1, #1 │ │ │ │ │ - str r3, [sp, #348] @ 0x15c │ │ │ │ │ - movs r3, #224 @ 0xe0 │ │ │ │ │ - mla r3, r1, r3, r3 │ │ │ │ │ - add.w r8, r2, r3 │ │ │ │ │ - b.n 6c │ │ │ │ │ - nop │ │ │ │ │ - nop.w │ │ │ │ │ - .word 0x134454ff │ │ │ │ │ - .word 0x3fee6f0e │ │ │ │ │ + vldr d15, [pc, #28] @ 58 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ + str r0, [sp, #336] @ 0x150 │ │ │ │ │ + ldr r0, [pc, #28] @ (64 ) │ │ │ │ │ + ldr r1, [r1, r0] │ │ │ │ │ + str r3, [sp, #332] @ 0x14c │ │ │ │ │ + rsb r3, r3, r3, lsl #3 │ │ │ │ │ + add.w r8, r2, r3, lsl #5 │ │ │ │ │ + ldr r1, [r1, #0] │ │ │ │ │ + str r1, [sp, #340] @ 0x154 │ │ │ │ │ + b.n 6e │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ - .word 0x00000048 │ │ │ │ │ + .word 0x00000034 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #348] @ 0x15c │ │ │ │ │ - movs r3, #40 @ 0x28 │ │ │ │ │ - vldr d2, [r8, #-152] @ 0xffffff68 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + str r3, [sp, #332] @ 0x14c │ │ │ │ │ + add.w r3, lr, lr, lsl #2 │ │ │ │ │ vldr d6, [r8, #-160] @ 0xffffff60 │ │ │ │ │ - movs r0, #48 @ 0x30 │ │ │ │ │ - vldr d0, [r8, #-72] @ 0xffffffb8 │ │ │ │ │ - movs r6, #72 @ 0x48 │ │ │ │ │ - mul.w r3, r3, lr │ │ │ │ │ - vldr d11, [pc, #972] @ 450 │ │ │ │ │ - vldr d8, [ip] │ │ │ │ │ mov.w fp, #88 @ 0x58 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + vldr d2, [r8, #-152] @ 0xffffff68 │ │ │ │ │ add.w r9, ip, r3 │ │ │ │ │ add.w sl, r7, r3 │ │ │ │ │ + vldr d11, [pc, #996] @ 470 │ │ │ │ │ add.w r1, r9, r3 │ │ │ │ │ add.w r2, sl, r3 │ │ │ │ │ - str r2, [sp, #12] │ │ │ │ │ vldr d4, [r9] │ │ │ │ │ + strd r2, r1, [sp] │ │ │ │ │ vldr d7, [sl] │ │ │ │ │ - vldr d1, [r1] │ │ │ │ │ + vldr d0, [r8, #-72] @ 0xffffffb8 │ │ │ │ │ vmul.f64 d5, d4, d2 │ │ │ │ │ + vldr d1, [r1] │ │ │ │ │ vldr d3, [r7] │ │ │ │ │ + vldr d8, [ip] │ │ │ │ │ vmla.f64 d5, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ + vldr d9, [r8, #-136] @ 0xffffff78 │ │ │ │ │ vldr d2, [r8, #-80] @ 0xffffffb0 │ │ │ │ │ - vldr d9, [r8, #-88] @ 0xffffffa8 │ │ │ │ │ - str r1, [sp, #16] │ │ │ │ │ vnmls.f64 d7, d4, d6 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ vmul.f64 d4, d1, d0 │ │ │ │ │ - mul.w r2, r0, lr │ │ │ │ │ + add.w r2, lr, lr, lsl #1 │ │ │ │ │ + mov.w r1, r2, lsl #4 │ │ │ │ │ + add.w r0, r7, r1 │ │ │ │ │ + add.w r5, ip, r1 │ │ │ │ │ + mov.w r1, lr, lsl #3 │ │ │ │ │ vmla.f64 d4, d6, d2 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ - add.w r5, ip, r2 │ │ │ │ │ - mul.w r2, r6, lr │ │ │ │ │ - str r0, [sp, #20] │ │ │ │ │ - str r5, [sp, #24] │ │ │ │ │ + strd r0, r5, [sp, #8] │ │ │ │ │ + add.w r4, ip, r1 │ │ │ │ │ vnmls.f64 d6, d1, d2 │ │ │ │ │ - adds r6, r7, r2 │ │ │ │ │ - str r6, [sp, #28] │ │ │ │ │ vsub.f64 d2, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [r8, #-144] @ 0xffffff70 │ │ │ │ │ - vmul.f64 d13, d2, d11 │ │ │ │ │ + vmul.f64 d12, d2, d11 │ │ │ │ │ vsub.f64 d2, d4, d5 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ - vstr d13, [sp, #240] @ 0xf0 │ │ │ │ │ - vmov.f64 d13, #96 @ 0x3f000000 0.5 │ │ │ │ │ - vmul.f64 d14, d2, d11 │ │ │ │ │ + vmul.f64 d13, d2, d11 │ │ │ │ │ vadd.f64 d2, d8, d7 │ │ │ │ │ - vmls.f64 d8, d7, d13 │ │ │ │ │ + vstr d12, [sp, #88] @ 0x58 │ │ │ │ │ vadd.f64 d4, d3, d5 │ │ │ │ │ + vstr d13, [sp, #216] @ 0xd8 │ │ │ │ │ + vstr d4, [sp, #224] @ 0xe0 │ │ │ │ │ + vmov.f64 d4, #96 @ 0x3f000000 0.5 │ │ │ │ │ + vstr d2, [sp, #232] @ 0xe8 │ │ │ │ │ + vmls.f64 d3, d5, d4 │ │ │ │ │ + vmls.f64 d8, d7, d4 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - vmls.f64 d3, d5, d13 │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ - add.w r0, ip, r2 │ │ │ │ │ - vstr d14, [sp, #248] @ 0xf8 │ │ │ │ │ - mul.w r2, fp, lr │ │ │ │ │ - vldr d14, [r8, #-136] @ 0xffffff78 │ │ │ │ │ - adds r5, r7, r2 │ │ │ │ │ - str r0, [sp, #32] │ │ │ │ │ - str r5, [sp, #36] @ 0x24 │ │ │ │ │ - vstr d4, [sp, #256] @ 0x100 │ │ │ │ │ - vstr d8, [sp, #104] @ 0x68 │ │ │ │ │ - vmul.f64 d8, d5, d14 │ │ │ │ │ - vmul.f64 d14, d7, d14 │ │ │ │ │ - vmla.f64 d8, d7, d6 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - add.w r6, ip, r2 │ │ │ │ │ - vstr d3, [sp, #96] @ 0x60 │ │ │ │ │ - mov.w r2, lr, lsl #3 │ │ │ │ │ - vstr d2, [sp, #264] @ 0x108 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - vnmls.f64 d14, d5, d6 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ - vldr d6, [r8, #-96] @ 0xffffffa0 │ │ │ │ │ - add r2, ip │ │ │ │ │ - vmul.f64 d3, d5, d9 │ │ │ │ │ + add.w r0, r1, lr │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ + vldr d5, [r8, #-144] @ 0xffffff70 │ │ │ │ │ + add.w r6, r7, r0 │ │ │ │ │ + add r0, ip │ │ │ │ │ + strd r6, r0, [sp, #16] │ │ │ │ │ + vmul.f64 d6, d4, d9 │ │ │ │ │ vmul.f64 d9, d7, d9 │ │ │ │ │ - vmla.f64 d3, d7, d6 │ │ │ │ │ - vmov.f64 d11, d8 │ │ │ │ │ - vnmls.f64 d9, d5, d6 │ │ │ │ │ - vstr d3, [sp] │ │ │ │ │ + vstr d3, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d8, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d8, [r8, #-88] @ 0xffffffa8 │ │ │ │ │ + vmla.f64 d6, d7, d5 │ │ │ │ │ + vnmls.f64 d9, d4, d5 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ + mul.w r0, fp, lr │ │ │ │ │ + vldr d5, [r8, #-96] @ 0xffffffa0 │ │ │ │ │ + add.w r5, r7, r0 │ │ │ │ │ + add.w r6, ip, r0 │ │ │ │ │ + add.w r0, r7, r1 │ │ │ │ │ + sub.w r1, r1, lr │ │ │ │ │ + mov.w r1, r1, lsl #4 │ │ │ │ │ + vmul.f64 d12, d4, d8 │ │ │ │ │ + vmul.f64 d8, d7, d8 │ │ │ │ │ + vmla.f64 d12, d7, d5 │ │ │ │ │ vldr d7, [r5] │ │ │ │ │ - vldr d5, [r6] │ │ │ │ │ - vldr d4, [r8, #-56] @ 0xffffffc8 │ │ │ │ │ - vldr d6, [r8, #-64] @ 0xffffffc0 │ │ │ │ │ - vldr d3, [r8, #-216] @ 0xffffff28 │ │ │ │ │ - vmul.f64 d12, d5, d4 │ │ │ │ │ - str r2, [sp, #48] @ 0x30 │ │ │ │ │ - vmla.f64 d12, d7, d6 │ │ │ │ │ - vmul.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - movs r2, #112 @ 0x70 │ │ │ │ │ - str r6, [sp, #40] @ 0x28 │ │ │ │ │ - str r1, [sp, #44] @ 0x2c │ │ │ │ │ + vnmls.f64 d8, d4, d5 │ │ │ │ │ + strd r5, r6, [sp, #24] │ │ │ │ │ + add.w r5, r7, r1 │ │ │ │ │ + add r1, ip │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ + strd r0, r4, [sp, #32] │ │ │ │ │ + vldr d3, [r8, #-56] @ 0xffffffc8 │ │ │ │ │ + strd r5, r1, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d5, [r8, #-64] @ 0xffffffc0 │ │ │ │ │ vmul.f64 d2, d4, d3 │ │ │ │ │ - vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d5, [r8, #-224] @ 0xffffff20 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - movs r1, #24 │ │ │ │ │ - add.w r5, ip, r2 │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ vmov.f64 d1, d2 │ │ │ │ │ - mov.w r2, lr, lsl #5 │ │ │ │ │ - vmla.f64 d1, d6, d5 │ │ │ │ │ - vmul.f64 d6, d6, d3 │ │ │ │ │ - vldr d2, [r5] │ │ │ │ │ - adds r4, r7, r2 │ │ │ │ │ + vmla.f64 d1, d7, d5 │ │ │ │ │ + vmul.f64 d7, d7, d3 │ │ │ │ │ + vldr d3, [r8, #-216] @ 0xffffff28 │ │ │ │ │ + vmov.f64 d0, d7 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + vnmls.f64 d0, d4, d5 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + mov.w r4, r2, lsl #3 │ │ │ │ │ + vstr d1, [sp, #56] @ 0x38 │ │ │ │ │ + mov.w r2, r2, lsl #5 │ │ │ │ │ + vldr d5, [r8, #-224] @ 0xffffff20 │ │ │ │ │ + add.w r0, r7, r4 │ │ │ │ │ + add r4, ip │ │ │ │ │ + add.w fp, r7, r2 │ │ │ │ │ add r2, ip │ │ │ │ │ - str r0, [sp, #52] @ 0x34 │ │ │ │ │ - vstr d7, [sp, #64] @ 0x40 │ │ │ │ │ - mul.w r1, r1, lr │ │ │ │ │ - vnmls.f64 d6, d4, d5 │ │ │ │ │ - vldr d5, [r8, #-16] │ │ │ │ │ - str r5, [sp, #56] @ 0x38 │ │ │ │ │ - adds r6, r7, r1 │ │ │ │ │ - str r4, [sp, #60] @ 0x3c │ │ │ │ │ + vmul.f64 d2, d4, d3 │ │ │ │ │ + vmul.f64 d3, d7, d3 │ │ │ │ │ + vstr d0, [sp, #64] @ 0x40 │ │ │ │ │ + vnmls.f64 d3, d4, d5 │ │ │ │ │ + vmov.f64 d13, d2 │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ + mov.w r1, lr, lsl #5 │ │ │ │ │ + add.w r6, r7, r1 │ │ │ │ │ add r1, ip │ │ │ │ │ - str r2, [sp, #344] @ 0x158 │ │ │ │ │ - vadd.f64 d3, d12, d1 │ │ │ │ │ - vstr d1, [sp, #72] @ 0x48 │ │ │ │ │ + vmla.f64 d13, d7, d5 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + strd r6, r1, [sp, #48] @ 0x30 │ │ │ │ │ + vadd.f64 d4, d0, d3 │ │ │ │ │ + vldr d0, [r8, #-168] @ 0xffffff58 │ │ │ │ │ + vadd.f64 d5, d1, d13 │ │ │ │ │ vldr d1, [r8, #-8] │ │ │ │ │ - vadd.f64 d4, d7, d6 │ │ │ │ │ - vstr d6, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - vmul.f64 d0, d2, d1 │ │ │ │ │ - vadd.f64 d13, d11, d3 │ │ │ │ │ - mov.w r0, lr, lsl #6 │ │ │ │ │ - adds r5, r7, r0 │ │ │ │ │ - add r0, ip │ │ │ │ │ - vmla.f64 d0, d6, d5 │ │ │ │ │ - vmul.f64 d1, d6, d1 │ │ │ │ │ - vstr d13, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d13, [sp, #72] @ 0x48 │ │ │ │ │ + vmov.f64 d13, d5 │ │ │ │ │ + vldr d5, [r8, #-16] │ │ │ │ │ + vmul.f64 d14, d2, d1 │ │ │ │ │ + vmul.f64 d1, d7, d1 │ │ │ │ │ + vmla.f64 d14, d7, d5 │ │ │ │ │ vnmls.f64 d1, d2, d5 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ vldr d2, [r8, #-176] @ 0xffffff50 │ │ │ │ │ - adds r4, r0, r3 │ │ │ │ │ - vmov.f64 d8, d0 │ │ │ │ │ - vldr d0, [r2] │ │ │ │ │ - movs r2, #96 @ 0x60 │ │ │ │ │ - vmov.f64 d7, d0 │ │ │ │ │ - vldr d0, [r8, #-168] @ 0xffffff58 │ │ │ │ │ - vstr d8, [sp, #88] @ 0x58 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ - add.w fp, r7, r2 │ │ │ │ │ - add r2, ip │ │ │ │ │ - vmul.f64 d6, d7, d0 │ │ │ │ │ + vldr d5, [r6] │ │ │ │ │ + vmov.f64 d10, d14 │ │ │ │ │ + vldr d14, [r1] │ │ │ │ │ + mov.w r1, lr, lsl #6 │ │ │ │ │ + add.w r5, r7, r1 │ │ │ │ │ + add r1, ip │ │ │ │ │ + add.w r6, r1, r3 │ │ │ │ │ + vstr d10, [sp, #80] @ 0x50 │ │ │ │ │ + vmul.f64 d7, d14, d0 │ │ │ │ │ vmul.f64 d0, d5, d0 │ │ │ │ │ - vmla.f64 d6, d5, d2 │ │ │ │ │ - vnmls.f64 d0, d7, d2 │ │ │ │ │ - vldr d7, [sp] │ │ │ │ │ - vadd.f64 d5, d8, d6 │ │ │ │ │ + vmla.f64 d7, d5, d2 │ │ │ │ │ + vnmls.f64 d0, d14, d2 │ │ │ │ │ + vmov.f64 d14, d13 │ │ │ │ │ + vadd.f64 d13, d6, d13 │ │ │ │ │ + vstr d13, [sp, #104] @ 0x68 │ │ │ │ │ + vadd.f64 d5, d10, d7 │ │ │ │ │ vadd.f64 d2, d1, d0 │ │ │ │ │ - vadd.f64 d7, d7, d5 │ │ │ │ │ - vadd.f64 d8, d13, d7 │ │ │ │ │ - vadd.f64 d13, d9, d2 │ │ │ │ │ - vstr d7, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d8, [sp, #272] @ 0x110 │ │ │ │ │ - vadd.f64 d8, d14, d4 │ │ │ │ │ - vadd.f64 d7, d8, d13 │ │ │ │ │ - vstr d8, [sp, #128] @ 0x80 │ │ │ │ │ - vstr d13, [sp, #136] @ 0x88 │ │ │ │ │ - vmov.f64 d13, #96 @ 0x3f000000 0.5 │ │ │ │ │ - vmov.f64 d8, d11 │ │ │ │ │ - vldr d11, [pc, #400] @ 450 │ │ │ │ │ - vmls.f64 d8, d3, d13 │ │ │ │ │ - vldr d3, [sp, #80] @ 0x50 │ │ │ │ │ - vstr d7, [sp, #280] @ 0x118 │ │ │ │ │ - vmls.f64 d9, d2, d13 │ │ │ │ │ - vldr d7, [sp, #64] @ 0x40 │ │ │ │ │ - vmls.f64 d14, d4, d13 │ │ │ │ │ + vadd.f64 d10, d12, d5 │ │ │ │ │ + vadd.f64 d11, d13, d10 │ │ │ │ │ + vadd.f64 d13, d8, d2 │ │ │ │ │ + vstr d10, [sp, #112] @ 0x70 │ │ │ │ │ + vadd.f64 d10, d9, d4 │ │ │ │ │ + vstr d13, [sp, #120] @ 0x78 │ │ │ │ │ + vadd.f64 d13, d10, d13 │ │ │ │ │ + vstr d10, [sp, #208] @ 0xd0 │ │ │ │ │ + vmov.f64 d10, #96 @ 0x3f000000 0.5 │ │ │ │ │ + vmls.f64 d6, d14, d10 │ │ │ │ │ + vmls.f64 d8, d2, d10 │ │ │ │ │ + vmls.f64 d9, d4, d10 │ │ │ │ │ + vmls.f64 d12, d5, d10 │ │ │ │ │ + vstr d13, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d13, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d11, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d11, [pc, #392] @ 470 │ │ │ │ │ + vsub.f64 d3, d13, d3 │ │ │ │ │ + vmul.f64 d3, d3, d11 │ │ │ │ │ + vsub.f64 d14, d6, d3 │ │ │ │ │ + vadd.f64 d6, d6, d3 │ │ │ │ │ + vstr d14, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d14, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d6, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d13, [sp, #72] @ 0x48 │ │ │ │ │ + str r0, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d6, [sp, #80] @ 0x50 │ │ │ │ │ + str r4, [sp, #64] @ 0x40 │ │ │ │ │ vldr d4, [r8, #-40] @ 0xffffffd8 │ │ │ │ │ - str r6, [sp, #64] @ 0x40 │ │ │ │ │ - vsub.f64 d7, d7, d3 │ │ │ │ │ - str r4, [sp, #80] @ 0x50 │ │ │ │ │ + str r6, [sp, #80] @ 0x50 │ │ │ │ │ + vsub.f64 d7, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ - vsub.f64 d3, d8, d7 │ │ │ │ │ - vadd.f64 d8, d8, d7 │ │ │ │ │ - vstr d3, [sp, #288] @ 0x120 │ │ │ │ │ - vldr d3, [sp, #88] @ 0x58 │ │ │ │ │ - vsub.f64 d6, d6, d3 │ │ │ │ │ - vmul.f64 d6, d6, d11 │ │ │ │ │ - vadd.f64 d2, d6, d9 │ │ │ │ │ - vsub.f64 d6, d9, d6 │ │ │ │ │ - vldr d9, [sp, #72] @ 0x48 │ │ │ │ │ - vsub.f64 d7, d9, d12 │ │ │ │ │ - vstr d2, [sp, #296] @ 0x128 │ │ │ │ │ - vstr d6, [sp, #144] @ 0x90 │ │ │ │ │ - vsub.f64 d6, d1, d0 │ │ │ │ │ + vadd.f64 d6, d7, d8 │ │ │ │ │ + vsub.f64 d2, d8, d7 │ │ │ │ │ + vsub.f64 d7, d13, d14 │ │ │ │ │ + vstr d2, [sp, #128] @ 0x80 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ - vmul.f64 d6, d6, d11 │ │ │ │ │ - vadd.f64 d9, d7, d14 │ │ │ │ │ - vsub.f64 d2, d14, d7 │ │ │ │ │ - vldr d7, [sp] │ │ │ │ │ - vmls.f64 d7, d5, d13 │ │ │ │ │ - vstr d9, [sp, #304] @ 0x130 │ │ │ │ │ - vldr d9, [r8, #-184] @ 0xffffff48 │ │ │ │ │ - vstr d2, [sp, #152] @ 0x98 │ │ │ │ │ - vadd.f64 d5, d7, d6 │ │ │ │ │ - vsub.f64 d1, d7, d6 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - adds r6, r5, r3 │ │ │ │ │ + vstr d6, [sp, #272] @ 0x110 │ │ │ │ │ vldr d6, [r8, #-192] @ 0xffffff40 │ │ │ │ │ - str r6, [sp, #72] @ 0x48 │ │ │ │ │ - vstr d5, [sp, #168] @ 0xa8 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - vstr d1, [sp, #160] @ 0xa0 │ │ │ │ │ + vadd.f64 d14, d7, d9 │ │ │ │ │ + vsub.f64 d9, d9, d7 │ │ │ │ │ + vsub.f64 d7, d1, d0 │ │ │ │ │ + vstr d14, [sp, #280] @ 0x118 │ │ │ │ │ + vmul.f64 d7, d7, d11 │ │ │ │ │ + vstr d9, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d9, [r8, #-184] @ 0xffffff48 │ │ │ │ │ + vsub.f64 d5, d12, d7 │ │ │ │ │ + vadd.f64 d7, d12, d7 │ │ │ │ │ + vstr d7, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + mov.w r0, lr, lsl #4 │ │ │ │ │ + vstr d5, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + add.w r4, r5, r3 │ │ │ │ │ + str r4, [sp, #72] @ 0x48 │ │ │ │ │ vmul.f64 d0, d5, d9 │ │ │ │ │ vmul.f64 d9, d7, d9 │ │ │ │ │ - vmla.f64 d0, d7, d6 │ │ │ │ │ - vldr d7, [fp] │ │ │ │ │ vnmls.f64 d9, d5, d6 │ │ │ │ │ vldr d5, [r2] │ │ │ │ │ + vmla.f64 d0, d7, d6 │ │ │ │ │ vldr d6, [r8, #-48] @ 0xffffffd0 │ │ │ │ │ + vldr d7, [fp] │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ vmla.f64 d3, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vldr d4, [r8, #-104] @ 0xffffff98 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ vldr d6, [r8, #-112] @ 0xffffff90 │ │ │ │ │ - vmov.f64 d12, d3 │ │ │ │ │ + vstr d3, [sp, #144] @ 0x90 │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ - vstr d7, [sp, #184] @ 0xb8 │ │ │ │ │ - vmov.f64 d1, d3 │ │ │ │ │ + vstr d7, [sp, #152] @ 0x98 │ │ │ │ │ vldr d7, [r5] │ │ │ │ │ - vmla.f64 d1, d7, d6 │ │ │ │ │ + vmov.f64 d13, d3 │ │ │ │ │ + vmla.f64 d13, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ - vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - vldr d6, [r8, #-32] @ 0xffffffe0 │ │ │ │ │ - mov.w r4, lr, lsl #4 │ │ │ │ │ - vmov.f64 d2, d7 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ vldr d4, [r8, #-24] @ 0xffffffe8 │ │ │ │ │ - adds r6, r7, r4 │ │ │ │ │ - add r4, ip │ │ │ │ │ - vstr d1, [sp, #192] @ 0xc0 │ │ │ │ │ - str r4, [sp, #0] │ │ │ │ │ + vmov.f64 d1, d7 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + vnmls.f64 d1, d5, d6 │ │ │ │ │ + vldr d5, [r6] │ │ │ │ │ + add.w r6, r7, r0 │ │ │ │ │ + add r0, ip │ │ │ │ │ + add.w r4, r6, r3 │ │ │ │ │ + vldr d6, [r8, #-32] @ 0xffffffe0 │ │ │ │ │ + add r3, r0 │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ - vstr d2, [sp, #200] @ 0xc8 │ │ │ │ │ - vmov.f64 d14, d3 │ │ │ │ │ - vldr d3, [r8, #-200] @ 0xffffff38 │ │ │ │ │ - vmla.f64 d14, d7, d6 │ │ │ │ │ + vmov.f64 d12, d3 │ │ │ │ │ + vmla.f64 d12, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [r4] │ │ │ │ │ - adds r4, r6, r3 │ │ │ │ │ - str r4, [sp, #88] @ 0x58 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ + vstr d12, [sp, #168] @ 0xa8 │ │ │ │ │ + vadd.f64 d5, d13, d12 │ │ │ │ │ + vldr d3, [r8, #-200] @ 0xffffff38 │ │ │ │ │ + vstr d1, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ + str r4, [sp, #328] @ 0x148 │ │ │ │ │ + vadd.f64 d2, d1, d7 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + vmov.f64 d8, d5 │ │ │ │ │ vldr d5, [r8, #-208] @ 0xffffff30 │ │ │ │ │ - vadd.f64 d6, d1, d14 │ │ │ │ │ vmul.f64 d1, d4, d3 │ │ │ │ │ - vstr d6, [sp, #176] @ 0xb0 │ │ │ │ │ - vmov.f64 d13, d1 │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ - vadd.f64 d2, d2, d7 │ │ │ │ │ - vmla.f64 d13, d6, d5 │ │ │ │ │ + vmov.f64 d14, d1 │ │ │ │ │ + vmla.f64 d14, d6, d5 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ vldr d3, [r8, #-120] @ 0xffffff88 │ │ │ │ │ vnmls.f64 d6, d4, d5 │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ vldr d5, [r8, #-128] @ 0xffffff80 │ │ │ │ │ add.w r8, r8, #224 @ 0xe0 │ │ │ │ │ - vstr d13, [sp, #208] @ 0xd0 │ │ │ │ │ - vmov.f64 d11, d6 │ │ │ │ │ + vstr d14, [sp, #176] @ 0xb0 │ │ │ │ │ + vmul.f64 d1, d4, d3 │ │ │ │ │ + vmov.f64 d12, d6 │ │ │ │ │ vldr d6, [r4] │ │ │ │ │ - ldr r4, [sp, #0] │ │ │ │ │ - add r3, r4 │ │ │ │ │ - vstr d11, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - b.n 468 │ │ │ │ │ - nop.w │ │ │ │ │ - .word 0xe8584caa │ │ │ │ │ - .word 0x3febb67a │ │ │ │ │ + vstr d12, [sp, #184] @ 0xb8 │ │ │ │ │ + vmla.f64 d1, d6, d5 │ │ │ │ │ + vmul.f64 d6, d6, d3 │ │ │ │ │ + b.n 488 │ │ │ │ │ + nop │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3febb67a │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ - vmul.f64 d1, d4, d3 │ │ │ │ │ - vmla.f64 d1, d6, d5 │ │ │ │ │ - vmul.f64 d6, d6, d3 │ │ │ │ │ + .word 0x134454ff │ │ │ │ │ + .word 0x3fee6f0e │ │ │ │ │ vnmls.f64 d6, d4, d5 │ │ │ │ │ - vadd.f64 d3, d13, d1 │ │ │ │ │ - vldr d13, [sp, #176] @ 0xb0 │ │ │ │ │ - vstr d12, [sp, #176] @ 0xb0 │ │ │ │ │ - vadd.f64 d5, d12, d3 │ │ │ │ │ - vadd.f64 d4, d11, d6 │ │ │ │ │ - vadd.f64 d11, d0, d13 │ │ │ │ │ - vstr d4, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d5, [sp, #144] @ 0x90 │ │ │ │ │ + vadd.f64 d3, d14, d1 │ │ │ │ │ + vadd.f64 d14, d0, d8 │ │ │ │ │ + vadd.f64 d4, d12, d6 │ │ │ │ │ + vmov.f64 d12, d8 │ │ │ │ │ + vadd.f64 d8, d5, d3 │ │ │ │ │ + vldr d5, [sp, #152] @ 0x98 │ │ │ │ │ + vmov.f64 d10, d4 │ │ │ │ │ + vstr d4, [sp, #192] @ 0xc0 │ │ │ │ │ + vadd.f64 d4, d14, d8 │ │ │ │ │ + vstr d8, [sp, #200] @ 0xc8 │ │ │ │ │ + vadd.f64 d5, d5, d10 │ │ │ │ │ + vmov.f64 d10, #96 @ 0x3f000000 0.5 │ │ │ │ │ + vstr d4, [sp, #304] @ 0x130 │ │ │ │ │ vadd.f64 d4, d9, d2 │ │ │ │ │ - vmov.f64 d12, d11 │ │ │ │ │ - vadd.f64 d11, d11, d5 │ │ │ │ │ - vstr d5, [sp, #232] @ 0xe8 │ │ │ │ │ - vldr d5, [sp, #184] @ 0xb8 │ │ │ │ │ - vstr d11, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d11, [sp, #224] @ 0xe0 │ │ │ │ │ - vadd.f64 d5, d5, d11 │ │ │ │ │ - vadd.f64 d11, d4, d5 │ │ │ │ │ + vmls.f64 d0, d12, d10 │ │ │ │ │ + vldr d12, [sp, #160] @ 0xa0 │ │ │ │ │ + vmls.f64 d9, d2, d10 │ │ │ │ │ + vadd.f64 d8, d4, d5 │ │ │ │ │ vsub.f64 d5, d4, d5 │ │ │ │ │ - vstr d11, [sp, #320] @ 0x140 │ │ │ │ │ - vmov.f64 d11, #96 @ 0x3f000000 0.5 │ │ │ │ │ + vsub.f64 d7, d12, d7 │ │ │ │ │ vmul.f64 d4, d5, d15 │ │ │ │ │ - vmls.f64 d0, d13, d11 │ │ │ │ │ - vldr d13, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d11, [pc, #-124] @ 458 │ │ │ │ │ - vsub.f64 d7, d13, d7 │ │ │ │ │ - vldr d13, [sp, #208] @ 0xd0 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ - vsub.f64 d11, d0, d7 │ │ │ │ │ + vsub.f64 d12, d0, d7 │ │ │ │ │ vadd.f64 d0, d0, d7 │ │ │ │ │ - vsub.f64 d7, d1, d13 │ │ │ │ │ - vmov.f64 d13, #96 @ 0x3f000000 0.5 │ │ │ │ │ - vmls.f64 d9, d2, d13 │ │ │ │ │ - vstr d0, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d0, [pc, #-164] @ 458 │ │ │ │ │ - vstr d11, [sp, #328] @ 0x148 │ │ │ │ │ - vldr d11, [sp, #224] @ 0xe0 │ │ │ │ │ - vmul.f64 d7, d7, d0 │ │ │ │ │ - vldr d0, [sp, #184] @ 0xb8 │ │ │ │ │ - vmls.f64 d0, d11, d13 │ │ │ │ │ + vstr d12, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d0, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d12, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d0, [sp, #176] @ 0xb0 │ │ │ │ │ + vsub.f64 d7, d1, d0 │ │ │ │ │ + vldr d0, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d1, [sp, #192] @ 0xc0 │ │ │ │ │ + vmul.f64 d7, d7, d11 │ │ │ │ │ + vmls.f64 d0, d1, d10 │ │ │ │ │ vadd.f64 d1, d7, d0 │ │ │ │ │ vsub.f64 d0, d0, d7 │ │ │ │ │ - vstr d1, [sp, #184] @ 0xb8 │ │ │ │ │ - vstr d0, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d1, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d0, [pc, #-208] @ 458 │ │ │ │ │ - vldr d11, [sp, #312] @ 0x138 │ │ │ │ │ - vsub.f64 d7, d14, d1 │ │ │ │ │ - vldr d14, [sp, #128] @ 0x80 │ │ │ │ │ - ldr r4, [sp, #28] │ │ │ │ │ - vmul.f64 d7, d7, d0 │ │ │ │ │ + vsub.f64 d7, d12, d13 │ │ │ │ │ + vldr d12, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d13, [sp, #224] @ 0xe0 │ │ │ │ │ + vstr d1, [sp, #152] @ 0x98 │ │ │ │ │ + vmul.f64 d7, d7, d11 │ │ │ │ │ vadd.f64 d1, d7, d9 │ │ │ │ │ vsub.f64 d9, d9, d7 │ │ │ │ │ - vldr d7, [sp, #176] @ 0xb0 │ │ │ │ │ - vmls.f64 d7, d3, d13 │ │ │ │ │ - vldr d13, [sp, #136] @ 0x88 │ │ │ │ │ - vstr d1, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d1, [sp, #216] @ 0xd8 │ │ │ │ │ - vsub.f64 d3, d1, d6 │ │ │ │ │ - vmul.f64 d3, d3, d0 │ │ │ │ │ - vldr d0, [sp, #272] @ 0x110 │ │ │ │ │ - vsub.f64 d2, d11, d0 │ │ │ │ │ - vadd.f64 d6, d7, d3 │ │ │ │ │ + vldr d7, [sp, #144] @ 0x90 │ │ │ │ │ + vmls.f64 d7, d3, d10 │ │ │ │ │ + vsub.f64 d3, d12, d6 │ │ │ │ │ + vstr d1, [sp, #168] @ 0xa8 │ │ │ │ │ + vmul.f64 d3, d3, d11 │ │ │ │ │ + vldr d11, [sp, #320] @ 0x140 │ │ │ │ │ + vadd.f64 d2, d7, d3 │ │ │ │ │ vsub.f64 d1, d7, d3 │ │ │ │ │ - vldr d7, [pc, #-272] @ 460 │ │ │ │ │ - vstr d6, [sp, #176] @ 0xb0 │ │ │ │ │ - vadd.f64 d6, d0, d11 │ │ │ │ │ - vldr d11, [sp, #256] @ 0x100 │ │ │ │ │ - vmov.f64 d0, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vldr d3, [sp, #304] @ 0x130 │ │ │ │ │ + vldr d7, [pc, #-232] @ 478 │ │ │ │ │ + vstr d2, [sp, #144] @ 0x90 │ │ │ │ │ + vsub.f64 d2, d3, d11 │ │ │ │ │ + vadd.f64 d6, d11, d3 │ │ │ │ │ + vmov.f64 d3, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vldr d11, [sp, #208] @ 0xd0 │ │ │ │ │ + ldr r4, [sp, #16] │ │ │ │ │ + vldr d12, [sp, #120] @ 0x78 │ │ │ │ │ + vmov.f64 d10, d3 │ │ │ │ │ vmul.f64 d2, d2, d7 │ │ │ │ │ - vsub.f64 d7, d14, d13 │ │ │ │ │ - vldr d13, [sp, #112] @ 0x70 │ │ │ │ │ - vmov.f64 d3, d11 │ │ │ │ │ - vmls.f64 d3, d6, d0 │ │ │ │ │ - vadd.f64 d6, d11, d6 │ │ │ │ │ - vnmls.f64 d4, d7, d10 │ │ │ │ │ - vmul.f64 d7, d7, d15 │ │ │ │ │ - vmla.f64 d7, d5, d10 │ │ │ │ │ - vldr d11, [sp, #320] @ 0x140 │ │ │ │ │ + vmov.f64 d7, d13 │ │ │ │ │ + vmls.f64 d7, d6, d3 │ │ │ │ │ + vadd.f64 d6, d13, d6 │ │ │ │ │ + vldr d13, [sp, #104] @ 0x68 │ │ │ │ │ vstr d6, [r7] │ │ │ │ │ + vmov.f64 d3, d7 │ │ │ │ │ + vsub.f64 d7, d11, d12 │ │ │ │ │ + vldr d11, [pc, #-288] @ 480 │ │ │ │ │ + vldr d12, [sp, #88] @ 0x58 │ │ │ │ │ vadd.f64 d6, d2, d3 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ - vldr d2, [sp, #264] @ 0x108 │ │ │ │ │ + vmov.f64 d2, d8 │ │ │ │ │ + vldr d8, [sp, #200] @ 0xc8 │ │ │ │ │ + vnmls.f64 d4, d7, d11 │ │ │ │ │ + vmul.f64 d7, d7, d15 │ │ │ │ │ + vmla.f64 d7, d5, d11 │ │ │ │ │ + vsub.f64 d14, d14, d8 │ │ │ │ │ + vmov.f64 d8, d11 │ │ │ │ │ + vldr d11, [sp, #288] @ 0x120 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vmov.f64 d6, d2 │ │ │ │ │ vstr d5, [r4] │ │ │ │ │ - ldr r4, [sp, #20] │ │ │ │ │ + ldr r4, [sp, #8] │ │ │ │ │ vstr d7, [r4] │ │ │ │ │ vsub.f64 d7, d3, d4 │ │ │ │ │ - ldr r4, [sp, #64] @ 0x40 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ - vldr d3, [sp, #232] @ 0xe8 │ │ │ │ │ + ldr r4, [sp, #56] @ 0x38 │ │ │ │ │ + vmov.f64 d3, d10 │ │ │ │ │ + vldr d10, [sp, #112] @ 0x70 │ │ │ │ │ vstr d7, [fp] │ │ │ │ │ vstr d4, [r4] │ │ │ │ │ - vsub.f64 d12, d12, d3 │ │ │ │ │ - vldr d4, [sp, #280] @ 0x118 │ │ │ │ │ - vldr d7, [pc, #-400] @ 460 │ │ │ │ │ - ldr r4, [sp, #24] │ │ │ │ │ - vsub.f64 d5, d11, d4 │ │ │ │ │ - vadd.f64 d4, d4, d11 │ │ │ │ │ - vmul.f64 d3, d12, d15 │ │ │ │ │ + vldr d7, [pc, #-388] @ 478 │ │ │ │ │ + vldr d4, [sp, #248] @ 0xf8 │ │ │ │ │ + ldr r4, [sp, #12] │ │ │ │ │ + vsub.f64 d5, d2, d4 │ │ │ │ │ + vadd.f64 d4, d4, d2 │ │ │ │ │ + vldr d2, [sp, #232] @ 0xe8 │ │ │ │ │ + vmov.f64 d6, d2 │ │ │ │ │ vmul.f64 d5, d5, d7 │ │ │ │ │ - vldr d7, [sp, #120] @ 0x78 │ │ │ │ │ - vmls.f64 d6, d4, d0 │ │ │ │ │ + vsub.f64 d7, d13, d10 │ │ │ │ │ + vldr d10, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d13, [sp, #296] @ 0x128 │ │ │ │ │ + vmls.f64 d6, d4, d3 │ │ │ │ │ + vmul.f64 d3, d14, d15 │ │ │ │ │ vadd.f64 d4, d2, d4 │ │ │ │ │ - vsub.f64 d7, d13, d7 │ │ │ │ │ - vstr d4, [ip] │ │ │ │ │ - vnmls.f64 d3, d7, d10 │ │ │ │ │ + vnmls.f64 d3, d7, d8 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ - vmla.f64 d7, d12, d10 │ │ │ │ │ + vstr d4, [ip] │ │ │ │ │ + vmla.f64 d7, d14, d8 │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [sp, #144] @ 0x90 │ │ │ │ │ + vadd.f64 d14, d10, d13 │ │ │ │ │ vsub.f64 d2, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ + vmov.f64 d4, #80 @ 0x3e800000 0.250 │ │ │ │ │ vstr d2, [r4] │ │ │ │ │ - ldr r4, [sp, #32] │ │ │ │ │ + ldr r4, [sp, #20] │ │ │ │ │ + vldr d2, [sp, #128] @ 0x80 │ │ │ │ │ vstr d7, [r4] │ │ │ │ │ vsub.f64 d7, d6, d3 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - vldr d2, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d4, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d11, [sp, #328] @ 0x148 │ │ │ │ │ - vsub.f64 d7, d2, d5 │ │ │ │ │ - vldr d14, [sp, #288] @ 0x120 │ │ │ │ │ - vsub.f64 d6, d9, d4 │ │ │ │ │ - vldr d13, [sp, #240] @ 0xf0 │ │ │ │ │ - vldr d2, [sp, #160] @ 0xa0 │ │ │ │ │ - ldr r4, [sp, #52] @ 0x34 │ │ │ │ │ - ldr r2, [sp, #0] │ │ │ │ │ + ldr r4, [sp, #64] @ 0x40 │ │ │ │ │ + vsub.f64 d6, d9, d0 │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + vsub.f64 d7, d11, d2 │ │ │ │ │ vmul.f64 d5, d6, d15 │ │ │ │ │ - vadd.f64 d12, d14, d2 │ │ │ │ │ - vnmls.f64 d5, d7, d10 │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ + ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ + vnmls.f64 d5, d7, d8 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ - vmla.f64 d7, d6, d10 │ │ │ │ │ + vmla.f64 d7, d6, d8 │ │ │ │ │ vldr d6, [sp, #96] @ 0x60 │ │ │ │ │ - vsub.f64 d3, d6, d13 │ │ │ │ │ - vadd.f64 d6, d11, d1 │ │ │ │ │ - vsub.f64 d1, d11, d1 │ │ │ │ │ - vldr d11, [sp, #336] @ 0x150 │ │ │ │ │ - vmov.f64 d4, d3 │ │ │ │ │ - vadd.f64 d2, d6, d12 │ │ │ │ │ - vsub.f64 d6, d6, d12 │ │ │ │ │ - vldr d12, [pc, #-588] @ 460 │ │ │ │ │ - vmls.f64 d4, d2, d0 │ │ │ │ │ - vmul.f64 d6, d6, d12 │ │ │ │ │ + vldr d8, [sp, #160] @ 0xa0 │ │ │ │ │ + vsub.f64 d3, d6, d12 │ │ │ │ │ + vadd.f64 d6, d8, d1 │ │ │ │ │ + vsub.f64 d1, d8, d1 │ │ │ │ │ + vmov.f64 d8, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vmov.f64 d12, d3 │ │ │ │ │ + vadd.f64 d2, d6, d14 │ │ │ │ │ + vsub.f64 d6, d6, d14 │ │ │ │ │ + vldr d14, [pc, #-576] @ 478 │ │ │ │ │ + vmls.f64 d12, d2, d4 │ │ │ │ │ + vmul.f64 d6, d6, d14 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ vstr d3, [sl] │ │ │ │ │ - vadd.f64 d3, d4, d6 │ │ │ │ │ - vsub.f64 d4, d4, d6 │ │ │ │ │ + vadd.f64 d3, d12, d6 │ │ │ │ │ + vsub.f64 d4, d12, d6 │ │ │ │ │ + vsub.f64 d6, d10, d13 │ │ │ │ │ + vldr d10, [pc, #-600] @ 480 │ │ │ │ │ vsub.f64 d2, d3, d7 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ - ldr r4, [sp, #36] @ 0x24 │ │ │ │ │ - vldr d2, [sp, #200] @ 0xc8 │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ + ldr r4, [sp, #24] │ │ │ │ │ + vldr d2, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d13, [sp, #216] @ 0xd8 │ │ │ │ │ vstr d7, [r4] │ │ │ │ │ vsub.f64 d7, d4, d5 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ - vldr d4, [sp, #160] @ 0xa0 │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ - vsub.f64 d6, d14, d4 │ │ │ │ │ - vldr d7, [sp, #104] @ 0x68 │ │ │ │ │ vmul.f64 d4, d1, d15 │ │ │ │ │ - vldr d14, [sp, #248] @ 0xf8 │ │ │ │ │ - vstr d5, [r5] │ │ │ │ │ - vldr d5, [sp, #144] @ 0x90 │ │ │ │ │ - vsub.f64 d3, d7, d14 │ │ │ │ │ - vadd.f64 d7, d2, d9 │ │ │ │ │ - vldr d2, [sp, #152] @ 0x98 │ │ │ │ │ + ldr r4, [sp, #36] @ 0x24 │ │ │ │ │ + vldr d12, [sp, #240] @ 0xf0 │ │ │ │ │ + vadd.f64 d2, d2, d11 │ │ │ │ │ + vldr d11, [sp, #280] @ 0x118 │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ + vadd.f64 d7, d0, d9 │ │ │ │ │ vnmls.f64 d4, d6, d10 │ │ │ │ │ vmul.f64 d6, d6, d15 │ │ │ │ │ - ldr r6, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d5, [r5] │ │ │ │ │ + ldr r6, [sp, #28] │ │ │ │ │ + vsub.f64 d3, d12, d13 │ │ │ │ │ + ldr r5, [sp, #44] @ 0x2c │ │ │ │ │ vmla.f64 d6, d1, d10 │ │ │ │ │ - ldr r5, [sp, #56] @ 0x38 │ │ │ │ │ - vadd.f64 d2, d5, d2 │ │ │ │ │ - vmov.f64 d5, d3 │ │ │ │ │ - vmov.f64 d9, d12 │ │ │ │ │ vadd.f64 d1, d7, d2 │ │ │ │ │ + vldr d9, [sp, #264] @ 0x108 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ - vmls.f64 d5, d1, d0 │ │ │ │ │ - vmul.f64 d7, d7, d12 │ │ │ │ │ + vmov.f64 d5, d3 │ │ │ │ │ vadd.f64 d3, d3, d1 │ │ │ │ │ + vmls.f64 d5, d1, d8 │ │ │ │ │ + vmul.f64 d7, d7, d14 │ │ │ │ │ + vmov.f64 d1, d14 │ │ │ │ │ + vldr d14, [sp, #312] @ 0x138 │ │ │ │ │ vstr d3, [r9] │ │ │ │ │ vadd.f64 d3, d5, d7 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ vsub.f64 d2, d3, d6 │ │ │ │ │ vadd.f64 d7, d4, d5 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ + vldr d3, [sp, #136] @ 0x88 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ - vldr d4, [sp, #176] @ 0xb0 │ │ │ │ │ + vadd.f64 d4, d13, d12 │ │ │ │ │ + vldr d13, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d12, [sp, #168] @ 0xa8 │ │ │ │ │ vstr d2, [r6] │ │ │ │ │ + vldr d2, [sp, #144] @ 0x90 │ │ │ │ │ vstr d6, [r5] │ │ │ │ │ - vsub.f64 d6, d11, d4 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ - vldr d5, [sp, #168] @ 0xa8 │ │ │ │ │ - vsub.f64 d7, d8, d5 │ │ │ │ │ + vmov.f64 d0, d4 │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ + vsub.f64 d7, d9, d3 │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ + ldr r1, [sp, #4] │ │ │ │ │ + vsub.f64 d6, d14, d2 │ │ │ │ │ vmul.f64 d5, d7, d15 │ │ │ │ │ vmla.f64 d5, d6, d10 │ │ │ │ │ vmul.f64 d6, d6, d15 │ │ │ │ │ vnmls.f64 d6, d7, d10 │ │ │ │ │ - vldr d7, [sp, #104] @ 0x68 │ │ │ │ │ - vadd.f64 d4, d14, d7 │ │ │ │ │ - vldr d7, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d1, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d12, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d14, [sp, #304] @ 0x130 │ │ │ │ │ - vadd.f64 d7, d7, d1 │ │ │ │ │ - vmov.f64 d1, d9 │ │ │ │ │ - ldr r1, [sp, #16] │ │ │ │ │ - vadd.f64 d3, d12, d14 │ │ │ │ │ - ldr r0, [sp, #80] @ 0x50 │ │ │ │ │ - ldr r2, [sp, #12] │ │ │ │ │ - ldr r6, [sp, #72] @ 0x48 │ │ │ │ │ - ldr r4, [sp, #60] @ 0x3c │ │ │ │ │ + vldr d10, [sp, #272] @ 0x110 │ │ │ │ │ + vadd.f64 d7, d13, d12 │ │ │ │ │ + vadd.f64 d3, d10, d11 │ │ │ │ │ vadd.f64 d2, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vldr d3, [sp, #96] @ 0x60 │ │ │ │ │ - vmul.f64 d7, d7, d9 │ │ │ │ │ - vmov.f64 d9, d4 │ │ │ │ │ - vmls.f64 d9, d2, d0 │ │ │ │ │ + vmls.f64 d0, d2, d8 │ │ │ │ │ vadd.f64 d4, d4, d2 │ │ │ │ │ + vmul.f64 d7, d7, d1 │ │ │ │ │ vstr d4, [r1] │ │ │ │ │ - ldr r1, [sp, #44] @ 0x2c │ │ │ │ │ - vsub.f64 d4, d9, d7 │ │ │ │ │ - vadd.f64 d7, d7, d9 │ │ │ │ │ + ldr r1, [sp, #52] @ 0x34 │ │ │ │ │ + vsub.f64 d4, d0, d7 │ │ │ │ │ + vadd.f64 d7, d7, d0 │ │ │ │ │ vadd.f64 d2, d6, d4 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vsub.f64 d6, d7, d5 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ - vldr d7, [sp, #184] @ 0xb8 │ │ │ │ │ + vsub.f64 d7, d12, d13 │ │ │ │ │ + vldr d12, [sp, #88] @ 0x58 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ - ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d4, [r0] │ │ │ │ │ - vldr d4, [sp, #192] @ 0xc0 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - ldr r3, [sp, #344] @ 0x158 │ │ │ │ │ - vsub.f64 d7, d4, d7 │ │ │ │ │ - vldr d4, [sp, #176] @ 0xb0 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - vsub.f64 d5, d14, d12 │ │ │ │ │ - vadd.f64 d4, d11, d4 │ │ │ │ │ - ldr r3, [sp, #88] @ 0x58 │ │ │ │ │ + ldr r3, [sp, #80] @ 0x50 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ + vsub.f64 d5, d11, d10 │ │ │ │ │ + vldr d3, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d10, [pc, #-916] @ 480 │ │ │ │ │ + ldr r2, [sp, #0] │ │ │ │ │ vmul.f64 d6, d5, d15 │ │ │ │ │ + vldr d2, [sp, #144] @ 0x90 │ │ │ │ │ + vadd.f64 d4, d12, d3 │ │ │ │ │ + ldr r0, [sp, #32] │ │ │ │ │ + vldr d3, [sp, #136] @ 0x88 │ │ │ │ │ vmla.f64 d6, d7, d10 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ + ldr r3, [sp, #328] @ 0x148 │ │ │ │ │ + ldr r4, [sp, #72] @ 0x48 │ │ │ │ │ vnmls.f64 d7, d5, d10 │ │ │ │ │ - vadd.f64 d5, d13, d3 │ │ │ │ │ - vldr d3, [sp, #168] @ 0xa8 │ │ │ │ │ - vadd.f64 d3, d8, d3 │ │ │ │ │ - vadd.f64 d2, d4, d3 │ │ │ │ │ - vsub.f64 d4, d4, d3 │ │ │ │ │ - vmov.f64 d3, d5 │ │ │ │ │ - vmls.f64 d3, d2, d0 │ │ │ │ │ - vadd.f64 d5, d5, d2 │ │ │ │ │ - vmul.f64 d4, d4, d1 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - ldr r2, [sp, #468] @ 0x1d4 │ │ │ │ │ - vsub.f64 d5, d3, d4 │ │ │ │ │ - vadd.f64 d4, d4, d3 │ │ │ │ │ - vsub.f64 d2, d5, d7 │ │ │ │ │ - vadd.f64 d7, d7, d5 │ │ │ │ │ - vsub.f64 d5, d4, d6 │ │ │ │ │ - vadd.f64 d6, d6, d4 │ │ │ │ │ + vadd.f64 d5, d14, d2 │ │ │ │ │ + vadd.f64 d3, d9, d3 │ │ │ │ │ + ldr r6, [sp, #48] @ 0x30 │ │ │ │ │ + vadd.f64 d2, d5, d3 │ │ │ │ │ + vsub.f64 d5, d5, d3 │ │ │ │ │ + vmov.f64 d3, d4 │ │ │ │ │ + vmls.f64 d3, d2, d8 │ │ │ │ │ + vadd.f64 d4, d4, d2 │ │ │ │ │ + vmul.f64 d5, d5, d1 │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ + ldr r2, [sp, #452] @ 0x1c4 │ │ │ │ │ + vsub.f64 d4, d3, d5 │ │ │ │ │ + vadd.f64 d5, d5, d3 │ │ │ │ │ + vsub.f64 d2, d4, d7 │ │ │ │ │ + vadd.f64 d7, d7, d4 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ - ldr r3, [sp, #352] @ 0x160 │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ + ldr r3, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + vsub.f64 d7, d5, d6 │ │ │ │ │ + vadd.f64 d6, d6, d5 │ │ │ │ │ add r7, r3 │ │ │ │ │ add ip, r3 │ │ │ │ │ - ldr r3, [sp, #356] @ 0x164 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ + ldr r3, [sp, #340] @ 0x154 │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ eor.w lr, lr, r3 │ │ │ │ │ - ldr r3, [sp, #348] @ 0x15c │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ + ldr r3, [sp, #332] @ 0x14c │ │ │ │ │ cmp r2, r3 │ │ │ │ │ bne.w 68 │ │ │ │ │ - add sp, #364 @ 0x16c │ │ │ │ │ + add sp, #348 @ 0x15c │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -000008a4 : │ │ │ │ │ +000008b8 : │ │ │ │ │ fftw_codelet_t1_15(): │ │ │ │ │ - ldr r2, [pc, #8] @ (8b0 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (8b4 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (8c4 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (8c8 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_dit_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── t1_16.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2808 (bytes into file) │ │ │ │ │ + Start of section headers: 2892 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0xaf8: │ │ │ │ │ +There are 14 section headers, starting at offset 0xb4c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0007d0 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000a40 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000804 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000804 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000804 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 00080a 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 000812 000040 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000a68 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000852 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000852 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000888 000130 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 0009b8 000087 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000a80 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000804 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000a94 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000838 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000838 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000838 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 00083e 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000846 000040 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000abc 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000886 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000886 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 0008bc 000150 10 12 16 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000a0c 000087 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000ad4 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,22 +1,24 @@ │ │ │ │ │ │ │ │ │ │ -Symbol table '.symtab' contains 19 entries: │ │ │ │ │ +Symbol table '.symtab' contains 21 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1980 FUNC LOCAL DEFAULT 1 t1_16 │ │ │ │ │ + 1: 00000001 2032 FUNC LOCAL DEFAULT 1 t1_16 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000050 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000070 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000007c8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ - 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ - 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ - 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ - 10: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ - 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ - 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ - 13: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ - 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 16: 000007bd 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_16 │ │ │ │ │ - 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_dit_register │ │ │ │ │ - 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ │ + 3: 00000058 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000068 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000007e0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 000007f0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 000007fc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ + 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ + 10: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ + 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ + 12: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ + 13: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ + 14: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ + 15: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ + 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ + 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ + 18: 000007f1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_16 │ │ │ │ │ + 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_dit_register │ │ │ │ │ + 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xa40 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xa94 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000068 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000006c 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000007c8 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000007cc 00000103 R_ARM_REL32 00000001 t1_16 │ │ │ │ │ -000007c4 0000111e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ +00000060 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000064 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +000007fc 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000800 00000103 R_ARM_REL32 00000001 t1_16 │ │ │ │ │ +000007f8 0000131e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xa68 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xabc contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ -00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ -0000000c 00001202 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ │ +00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ +00000008 00000a02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ +0000000c 00001402 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,563 +1,557 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ t1_16(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + mov r4, r3 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r8, r0 │ │ │ │ │ - mov r9, r1 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov sl, r1 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #340 @ 0x154 │ │ │ │ │ - mov sl, r3 │ │ │ │ │ - ldr r3, [pc, #84] @ (68 ) │ │ │ │ │ - ldr r1, [sp, #440] @ 0x1b8 │ │ │ │ │ - add r3, pc │ │ │ │ │ - ldr r0, [sp, #444] @ 0x1bc │ │ │ │ │ - cmp r1, r0 │ │ │ │ │ - bge.w 7b2 │ │ │ │ │ + ldrd r3, r0, [sp, #440] @ 0x1b8 │ │ │ │ │ + ldr r1, [pc, #56] @ (60 ) │ │ │ │ │ + cmp r3, r0 │ │ │ │ │ + add r1, pc │ │ │ │ │ + bge.w 7c4 │ │ │ │ │ ldr r0, [sp, #448] @ 0x1c0 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ mov ip, r8 │ │ │ │ │ - vldr d15, [pc, #44] @ 50 │ │ │ │ │ - mov lr, r9 │ │ │ │ │ - vldr d14, [pc, #44] @ 58 │ │ │ │ │ - mov r8, sl │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ + mov lr, sl │ │ │ │ │ + mov r8, r4 │ │ │ │ │ + vldr d15, [pc, #28] @ 58 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ str r0, [sp, #328] @ 0x148 │ │ │ │ │ - ldr r0, [pc, #56] @ (6c ) │ │ │ │ │ - vldr d13, [pc, #40] @ 60 │ │ │ │ │ - ldr r3, [r3, r0] │ │ │ │ │ - ldr r3, [r3, #0] │ │ │ │ │ - str r3, [sp, #332] @ 0x14c │ │ │ │ │ - adds r3, r1, #1 │ │ │ │ │ + ldr r0, [pc, #28] @ (64 ) │ │ │ │ │ + ldr r1, [r1, r0] │ │ │ │ │ str r3, [sp, #324] @ 0x144 │ │ │ │ │ - movs r3, #240 @ 0xf0 │ │ │ │ │ - mla r3, r1, r3, r3 │ │ │ │ │ - adds r7, r2, r3 │ │ │ │ │ - b.n 74 │ │ │ │ │ - nop.w │ │ │ │ │ + rsb r3, r3, r3, lsl #4 │ │ │ │ │ + add.w r7, r2, r3, lsl #4 │ │ │ │ │ + ldr r1, [r1, #0] │ │ │ │ │ + str r1, [sp, #332] @ 0x14c │ │ │ │ │ + b.n 6e │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ - .word 0xcf328d46 │ │ │ │ │ - .word 0x3fed906b │ │ │ │ │ - .word 0xa6aea963 │ │ │ │ │ - .word 0x3fd87de2 │ │ │ │ │ - .word 0x00000050 │ │ │ │ │ + .word 0x00000034 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str r3, [sp, #324] @ 0x144 │ │ │ │ │ mov.w r3, r8, lsl #6 │ │ │ │ │ - vldr d1, [r7, #-120] @ 0xffffff88 │ │ │ │ │ + vldr d3, [r7, #-128] @ 0xffffff80 │ │ │ │ │ add.w r1, lr, r3 │ │ │ │ │ + vldr d1, [r7, #-120] @ 0xffffff88 │ │ │ │ │ add.w r2, ip, r3 │ │ │ │ │ - vldr d3, [r7, #-128] @ 0xffffff80 │ │ │ │ │ - movs r6, #112 @ 0x70 │ │ │ │ │ - vldr d5, [lr] │ │ │ │ │ vldr d2, [r1] │ │ │ │ │ + strd r2, r1, [sp] │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - vldr d4, [ip] │ │ │ │ │ - vmul.f64 d6, d2, d1 │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ - vmla.f64 d6, d7, d3 │ │ │ │ │ - vmul.f64 d7, d7, d1 │ │ │ │ │ mov.w r2, r8, lsl #5 │ │ │ │ │ - vldr d1, [r7, #-56] @ 0xffffffc8 │ │ │ │ │ + vldr d5, [lr] │ │ │ │ │ add.w r9, lr, r2 │ │ │ │ │ add.w sl, ip, r2 │ │ │ │ │ add.w r4, r9, r3 │ │ │ │ │ add.w r0, sl, r3 │ │ │ │ │ - vnmls.f64 d7, d2, d3 │ │ │ │ │ mov.w r2, r8, lsl #4 │ │ │ │ │ + vmul.f64 d6, d2, d1 │ │ │ │ │ + vldr d4, [ip] │ │ │ │ │ add.w fp, lr, r2 │ │ │ │ │ - str r1, [sp, #4] │ │ │ │ │ - vldr d2, [r4] │ │ │ │ │ add.w r1, ip, r2 │ │ │ │ │ - adds r5, r1, r3 │ │ │ │ │ + strd r0, r4, [sp, #8] │ │ │ │ │ + add.w r5, r1, r3 │ │ │ │ │ add r3, fp │ │ │ │ │ + sub.w r2, r2, r8 │ │ │ │ │ + strd r1, r5, [sp, #16] │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + vmla.f64 d6, d7, d3 │ │ │ │ │ + vmul.f64 d7, d7, d1 │ │ │ │ │ + vldr d1, [r7, #-56] @ 0xffffffc8 │ │ │ │ │ + vnmls.f64 d7, d2, d3 │ │ │ │ │ + vldr d2, [r4] │ │ │ │ │ vadd.f64 d11, d4, d6 │ │ │ │ │ - str r0, [sp, #8] │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vldr d6, [r9] │ │ │ │ │ - str r4, [sp, #12] │ │ │ │ │ - movs r2, #48 @ 0x30 │ │ │ │ │ - str r1, [sp, #16] │ │ │ │ │ vsub.f64 d3, d5, d7 │ │ │ │ │ - vadd.f64 d7, d5, d7 │ │ │ │ │ - vstr d4, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d4, [sl] │ │ │ │ │ - str r5, [sp, #20] │ │ │ │ │ - vstr d3, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d3, [r7, #-184] @ 0xffffff48 │ │ │ │ │ - vstr d7, [sp, #104] @ 0x68 │ │ │ │ │ + vadd.f64 d12, d5, d7 │ │ │ │ │ vldr d7, [r7, #-192] @ 0xffffff40 │ │ │ │ │ + vstr d3, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d3, [r7, #-184] @ 0xffffff48 │ │ │ │ │ + vstr d4, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d4, [sl] │ │ │ │ │ + vstr d11, [sp, #256] @ 0x100 │ │ │ │ │ + vstr d12, [sp, #264] @ 0x108 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ - vstr d11, [sp, #80] @ 0x50 │ │ │ │ │ vmla.f64 d5, d4, d7 │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ vldr d3, [r7, #-64] @ 0xffffffc0 │ │ │ │ │ vnmls.f64 d4, d6, d7 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ - movs r0, #88 @ 0x58 │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ vldr d3, [r7, #-216] @ 0xffffff28 │ │ │ │ │ vadd.f64 d2, d5, d6 │ │ │ │ │ vsub.f64 d1, d5, d6 │ │ │ │ │ vldr d5, [r7, #-224] @ 0xffffff20 │ │ │ │ │ vsub.f64 d0, d4, d7 │ │ │ │ │ - vadd.f64 d8, d4, d7 │ │ │ │ │ + vadd.f64 d7, d4, d7 │ │ │ │ │ vldr d4, [fp] │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - movs r1, #56 @ 0x38 │ │ │ │ │ - vstr d2, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d2, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d1, [sp, #104] @ 0x68 │ │ │ │ │ vmul.f64 d6, d4, d3 │ │ │ │ │ - vstr d1, [sp, #120] @ 0x78 │ │ │ │ │ + vstr d0, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d7, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ vmla.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ - vstr d0, [sp, #128] @ 0x80 │ │ │ │ │ - vstr d8, [sp, #136] @ 0x88 │ │ │ │ │ vnmls.f64 d7, d4, d5 │ │ │ │ │ vldr d5, [r5] │ │ │ │ │ + str r3, [sp, #24] │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ + mov.w r3, r8, lsl #3 │ │ │ │ │ vldr d1, [r7, #-88] @ 0xffffffa8 │ │ │ │ │ + sub.w r1, r3, r8 │ │ │ │ │ + mov.w r0, r1, lsl #4 │ │ │ │ │ vldr d3, [r7, #-96] @ 0xffffffa0 │ │ │ │ │ - str r3, [sp, #24] │ │ │ │ │ - mul.w r3, r6, r8 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + add.w r5, lr, r0 │ │ │ │ │ + add.w r6, ip, r0 │ │ │ │ │ + add.w r0, r8, r8, lsl #1 │ │ │ │ │ + mov.w r4, r0, lsl #4 │ │ │ │ │ + strd r6, r5, [sp, #28] │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ vmla.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - add.w r6, ip, r3 │ │ │ │ │ - add r3, lr │ │ │ │ │ - str r3, [sp, #32] │ │ │ │ │ vldr d1, [r7, #-152] @ 0xffffff68 │ │ │ │ │ vnmls.f64 d5, d2, d3 │ │ │ │ │ vldr d3, [r7, #-24] @ 0xffffffe8 │ │ │ │ │ - str r6, [sp, #28] │ │ │ │ │ - vadd.f64 d9, d6, d4 │ │ │ │ │ + vadd.f64 d8, d6, d4 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - mul.w r3, r2, r8 │ │ │ │ │ - vadd.f64 d10, d7, d5 │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ + add.w r5, ip, r4 │ │ │ │ │ + add r4, lr │ │ │ │ │ + vldr d2, [r4] │ │ │ │ │ + strd r5, r4, [sp, #36] @ 0x24 │ │ │ │ │ + add.w r4, ip, r2 │ │ │ │ │ + add r2, lr │ │ │ │ │ + vadd.f64 d9, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vldr d5, [r7, #-32] @ 0xffffffe0 │ │ │ │ │ - add.w r4, lr, r3 │ │ │ │ │ - add.w r2, ip, r3 │ │ │ │ │ - vstr d9, [sp, #144] @ 0x90 │ │ │ │ │ - str r4, [sp, #40] @ 0x28 │ │ │ │ │ - vsub.f64 d12, d7, d6 │ │ │ │ │ + vsub.f64 d10, d7, d6 │ │ │ │ │ vadd.f64 d6, d7, d6 │ │ │ │ │ vldr d7, [r6] │ │ │ │ │ - movs r6, #120 @ 0x78 │ │ │ │ │ - vldr d2, [r4] │ │ │ │ │ - vstr d10, [sp, #152] @ 0x98 │ │ │ │ │ - vstr d6, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d9, [sp, #120] @ 0x78 │ │ │ │ │ + vstr d8, [sp, #280] @ 0x118 │ │ │ │ │ + vstr d10, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d6, [sp, #136] @ 0x88 │ │ │ │ │ vmul.f64 d6, d4, d3 │ │ │ │ │ vmla.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vldr d3, [r7, #-160] @ 0xffffff60 │ │ │ │ │ - mul.w r4, r6, r8 │ │ │ │ │ - vstr d12, [sp, #160] @ 0xa0 │ │ │ │ │ - add.w r6, ip, r4 │ │ │ │ │ - add.w r3, r4, lr │ │ │ │ │ vnmls.f64 d7, d4, d5 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ - str r6, [sp, #44] @ 0x2c │ │ │ │ │ - str r2, [sp, #36] @ 0x24 │ │ │ │ │ + mov.w r5, #88 @ 0x58 │ │ │ │ │ + mul.w r6, r5, r8 │ │ │ │ │ vmla.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - str r3, [sp, #48] @ 0x30 │ │ │ │ │ + add.w r5, ip, r6 │ │ │ │ │ + add r6, lr │ │ │ │ │ + strd r4, r5, [sp, #44] @ 0x2c │ │ │ │ │ vnmls.f64 d5, d2, d3 │ │ │ │ │ vadd.f64 d9, d6, d4 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ + add.w r5, ip, r0 │ │ │ │ │ + add r0, lr │ │ │ │ │ vadd.f64 d10, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - movs r3, #24 │ │ │ │ │ - vstr d9, [sp, #176] @ 0xb0 │ │ │ │ │ - vadd.f64 d12, d6, d7 │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + vstr d9, [sp, #144] @ 0x90 │ │ │ │ │ + vadd.f64 d8, d6, d7 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ - vstr d10, [sp, #184] @ 0xb8 │ │ │ │ │ - mul.w r5, r3, r8 │ │ │ │ │ - vldr d10, [r7, #-8] │ │ │ │ │ + vstr d10, [sp, #152] @ 0x98 │ │ │ │ │ vldr d6, [r7, #-16] │ │ │ │ │ - add.w r3, ip, r5 │ │ │ │ │ - vstr d7, [sp, #200] @ 0xc8 │ │ │ │ │ - add r5, lr │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - mul.w r6, r0, r8 │ │ │ │ │ + vldr d10, [r7, #-8] │ │ │ │ │ + vstr d8, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d7, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + add.w r4, ip, r1 │ │ │ │ │ + add r1, lr │ │ │ │ │ vmul.f64 d9, d5, d10 │ │ │ │ │ - vstr d12, [sp, #192] @ 0xc0 │ │ │ │ │ - add.w r0, ip, r6 │ │ │ │ │ - add r6, lr │ │ │ │ │ vmul.f64 d10, d7, d10 │ │ │ │ │ vmla.f64 d9, d7, d6 │ │ │ │ │ - str r0, [sp, #52] @ 0x34 │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ - mul.w r0, r1, r8 │ │ │ │ │ - vldr d7, [r7, #-80] @ 0xffffffb0 │ │ │ │ │ vnmls.f64 d10, d5, d6 │ │ │ │ │ vldr d6, [r6] │ │ │ │ │ + strd r4, r5, [sp, #52] @ 0x34 │ │ │ │ │ + vldr d8, [r7, #-200] @ 0xffffff38 │ │ │ │ │ vldr d5, [r7, #-72] @ 0xffffffb8 │ │ │ │ │ - add.w r1, ip, r0 │ │ │ │ │ - add r0, lr │ │ │ │ │ + vldr d7, [r7, #-80] @ 0xffffffb0 │ │ │ │ │ vldr d1, [r7, #-136] @ 0xffffff78 │ │ │ │ │ - vldr d0, [r5] │ │ │ │ │ vmul.f64 d3, d6, d5 │ │ │ │ │ - vldr d8, [r7, #-200] @ 0xffffff38 │ │ │ │ │ + vldr d0, [r0] │ │ │ │ │ vmla.f64 d3, d4, d7 │ │ │ │ │ vmul.f64 d4, d4, d5 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - str r3, [sp, #60] @ 0x3c │ │ │ │ │ - str r1, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + add.w r4, ip, r3 │ │ │ │ │ vnmls.f64 d4, d6, d7 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ vldr d7, [r7, #-144] @ 0xffffff70 │ │ │ │ │ vmul.f64 d2, d6, d1 │ │ │ │ │ vmla.f64 d2, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vldr d1, [r7, #-208] @ 0xffffff30 │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ vmul.f64 d6, d0, d8 │ │ │ │ │ - mov.w r3, r8, lsl #3 │ │ │ │ │ - add.w r2, ip, r3 │ │ │ │ │ - add.w r1, lr, r3 │ │ │ │ │ + add.w r5, lr, r3 │ │ │ │ │ + add r3, r8 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + strd r4, r5, [sp, #60] @ 0x3c │ │ │ │ │ vmla.f64 d6, d7, d1 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ - str r2, [sp, #64] @ 0x40 │ │ │ │ │ - str r1, [sp, #68] @ 0x44 │ │ │ │ │ + vadd.f64 d12, d10, d5 │ │ │ │ │ + vsub.f64 d10, d10, d5 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ vnmls.f64 d7, d0, d1 │ │ │ │ │ vadd.f64 d0, d9, d2 │ │ │ │ │ vsub.f64 d9, d9, d2 │ │ │ │ │ - vadd.f64 d12, d10, d5 │ │ │ │ │ - vsub.f64 d10, d10, d5 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - vadd.f64 d8, d3, d6 │ │ │ │ │ - vstr d0, [sp, #208] @ 0xd0 │ │ │ │ │ + vadd.f64 d11, d3, d6 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ - vstr d12, [sp, #224] @ 0xe0 │ │ │ │ │ + vstr d0, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d12, [sp, #192] @ 0xc0 │ │ │ │ │ vadd.f64 d1, d4, d7 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vsub.f64 d11, d0, d8 │ │ │ │ │ - vstr d8, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d8, [r7, #-40] @ 0xffffffd8 │ │ │ │ │ - vsub.f64 d4, d9, d7 │ │ │ │ │ - vadd.f64 d9, d9, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - movs r2, #104 @ 0x68 │ │ │ │ │ - vstr d11, [sp, #288] @ 0x120 │ │ │ │ │ - vsub.f64 d11, d12, d1 │ │ │ │ │ - vldr d12, [r7, #-232] @ 0xffffff18 │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - vstr d1, [sp, #232] @ 0xe8 │ │ │ │ │ - vstr d4, [sp, #240] @ 0xf0 │ │ │ │ │ - add.w r1, ip, r2 │ │ │ │ │ - vmul.f64 d2, d5, d12 │ │ │ │ │ - vstr d11, [sp, #296] @ 0x128 │ │ │ │ │ - vmul.f64 d12, d7, d12 │ │ │ │ │ + vsub.f64 d8, d0, d11 │ │ │ │ │ + vstr d11, [sp, #184] @ 0xb8 │ │ │ │ │ vadd.f64 d11, d10, d6 │ │ │ │ │ - vsub.f64 d10, d10, d6 │ │ │ │ │ + vstr d1, [sp, #200] @ 0xc8 │ │ │ │ │ + vsub.f64 d1, d12, d1 │ │ │ │ │ + vsub.f64 d12, d9, d7 │ │ │ │ │ + vadd.f64 d7, d9, d7 │ │ │ │ │ + vstr d7, [sp, #208] @ 0xd0 │ │ │ │ │ + vsub.f64 d7, d10, d6 │ │ │ │ │ + vstr d1, [sp, #296] @ 0x128 │ │ │ │ │ vldr d6, [r7, #-240] @ 0xffffff10 │ │ │ │ │ - add r2, lr │ │ │ │ │ - str r1, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d1, [r7, #-232] @ 0xffffff18 │ │ │ │ │ + vstr d7, [sp, #216] @ 0xd8 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + mov.w r4, #104 @ 0x68 │ │ │ │ │ + vstr d8, [sp, #288] @ 0x120 │ │ │ │ │ + mul.w r5, r4, r8 │ │ │ │ │ + vldr d8, [r7, #-40] @ 0xffffffd8 │ │ │ │ │ + vmul.f64 d2, d5, d1 │ │ │ │ │ + add.w r4, ip, r5 │ │ │ │ │ + add r5, lr │ │ │ │ │ + vmul.f64 d1, d7, d1 │ │ │ │ │ + str r4, [sp, #68] @ 0x44 │ │ │ │ │ vmla.f64 d2, d7, d6 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - movs r1, #72 @ 0x48 │ │ │ │ │ - vnmls.f64 d12, d5, d6 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + add.w r4, ip, r3 │ │ │ │ │ + add r3, lr │ │ │ │ │ + vnmls.f64 d1, d5, d6 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ vldr d6, [r7, #-48] @ 0xffffffd0 │ │ │ │ │ - mul.w r1, r1, r8 │ │ │ │ │ + strd r4, r3, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + add.w r4, r8, r8, lsl #2 │ │ │ │ │ vmul.f64 d0, d5, d8 │ │ │ │ │ vmul.f64 d8, d7, d8 │ │ │ │ │ - add.w r3, ip, r1 │ │ │ │ │ - add r1, lr │ │ │ │ │ - str r3, [sp, #76] @ 0x4c │ │ │ │ │ - vmla.f64 d0, d7, d6 │ │ │ │ │ vldr d3, [r7, #-104] @ 0xffffff98 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + vldr d14, [r7, #-168] @ 0xffffff58 │ │ │ │ │ vnmls.f64 d8, d5, d6 │ │ │ │ │ - movs r3, #40 @ 0x28 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ + vmla.f64 d0, d7, d6 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + add.w r3, ip, r4 │ │ │ │ │ + add r4, lr │ │ │ │ │ vldr d7, [r7, #-112] @ 0xffffff90 │ │ │ │ │ - vldr d1, [r7, #-168] @ 0xffffff58 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ + str r3, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d13, [r4] │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ vmla.f64 d5, d4, d7 │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ - add.w r4, ip, r3 │ │ │ │ │ - str r4, [sp, #320] @ 0x140 │ │ │ │ │ vldr d3, [r7, #-176] @ 0xffffff50 │ │ │ │ │ - adds r7, #240 @ 0xf0 │ │ │ │ │ + add.w r7, r7, #240 @ 0xf0 │ │ │ │ │ vnmls.f64 d4, d6, d7 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - add.w r4, r3, lr │ │ │ │ │ - ldr r3, [sp, #52] @ 0x34 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - vmul.f64 d7, d7, d1 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + vmul.f64 d7, d13, d14 │ │ │ │ │ + vldr d13, [r4] │ │ │ │ │ + ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ vmla.f64 d7, d6, d3 │ │ │ │ │ - vmul.f64 d6, d6, d1 │ │ │ │ │ - vldr d1, [r4] │ │ │ │ │ - vnmls.f64 d6, d1, d3 │ │ │ │ │ + vmul.f64 d6, d6, d14 │ │ │ │ │ + vnmls.f64 d6, d13, d3 │ │ │ │ │ vadd.f64 d3, d2, d5 │ │ │ │ │ vsub.f64 d5, d2, d5 │ │ │ │ │ - vldr d2, [sp, #192] @ 0xc0 │ │ │ │ │ - vadd.f64 d1, d0, d7 │ │ │ │ │ - vstr d3, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d2, [sp, #160] @ 0xa0 │ │ │ │ │ + vadd.f64 d13, d0, d7 │ │ │ │ │ vsub.f64 d0, d7, d0 │ │ │ │ │ - vsub.f64 d3, d3, d1 │ │ │ │ │ - vstr d1, [sp, #256] @ 0x100 │ │ │ │ │ - vadd.f64 d1, d8, d6 │ │ │ │ │ + vstr d3, [sp, #224] @ 0xe0 │ │ │ │ │ + vadd.f64 d14, d8, d6 │ │ │ │ │ vsub.f64 d6, d6, d8 │ │ │ │ │ - vstr d3, [sp, #264] @ 0x108 │ │ │ │ │ - vadd.f64 d3, d12, d4 │ │ │ │ │ - vsub.f64 d4, d12, d4 │ │ │ │ │ + vstr d13, [sp, #232] @ 0xe8 │ │ │ │ │ + vsub.f64 d13, d3, d13 │ │ │ │ │ + vadd.f64 d3, d1, d4 │ │ │ │ │ + vsub.f64 d4, d1, d4 │ │ │ │ │ + vldr d1, [sp, #168] @ 0xa8 │ │ │ │ │ vsub.f64 d8, d5, d6 │ │ │ │ │ - vadd.f64 d12, d5, d6 │ │ │ │ │ - vldr d6, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d5, [sp, #96] @ 0x60 │ │ │ │ │ - vstr d3, [sp, #272] @ 0x110 │ │ │ │ │ - vsub.f64 d3, d3, d1 │ │ │ │ │ + vadd.f64 d6, d5, d6 │ │ │ │ │ + vldr d5, [sp, #88] @ 0x58 │ │ │ │ │ + vstr d3, [sp, #240] @ 0xf0 │ │ │ │ │ vadd.f64 d7, d4, d0 │ │ │ │ │ - vsub.f64 d6, d6, d2 │ │ │ │ │ vsub.f64 d4, d4, d0 │ │ │ │ │ - vldr d0, [sp, #128] @ 0x80 │ │ │ │ │ - vstr d1, [sp, #280] @ 0x118 │ │ │ │ │ - vldr d1, [sp, #200] @ 0xc8 │ │ │ │ │ - vmul.f64 d6, d6, d15 │ │ │ │ │ - vstr d3, [sp, #304] @ 0x130 │ │ │ │ │ - vstr d4, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d0, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d14, [sp, #248] @ 0xf8 │ │ │ │ │ + vsub.f64 d14, d3, d14 │ │ │ │ │ + vstr d6, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d6, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d4, [sp, #304] @ 0x130 │ │ │ │ │ vsub.f64 d4, d5, d0 │ │ │ │ │ - vldr d0, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d0, [pc, #848] @ 7e0 │ │ │ │ │ + vsub.f64 d6, d6, d2 │ │ │ │ │ + vmov.f64 d9, d0 │ │ │ │ │ + vmul.f64 d6, d6, d15 │ │ │ │ │ vadd.f64 d2, d4, d6 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ - vldr d6, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d6, [sp, #136] @ 0x88 │ │ │ │ │ vsub.f64 d5, d1, d6 │ │ │ │ │ - vldr d1, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d6, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d6, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d1, [sp, #104] @ 0x68 │ │ │ │ │ vmul.f64 d5, d5, d15 │ │ │ │ │ vadd.f64 d6, d6, d1 │ │ │ │ │ - vmul.f64 d1, d8, d13 │ │ │ │ │ - vmul.f64 d8, d8, d14 │ │ │ │ │ - vmla.f64 d1, d7, d14 │ │ │ │ │ + vmul.f64 d1, d8, d0 │ │ │ │ │ vadd.f64 d3, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vmul.f64 d5, d11, d14 │ │ │ │ │ - vnmls.f64 d8, d7, d13 │ │ │ │ │ - vldr d7, [sp, #240] @ 0xf0 │ │ │ │ │ - vnmls.f64 d5, d0, d13 │ │ │ │ │ - vmul.f64 d7, d7, d14 │ │ │ │ │ - vmla.f64 d7, d11, d13 │ │ │ │ │ + vldr d5, [pc, #796] @ 7e8 │ │ │ │ │ + vmov.f64 d10, d5 │ │ │ │ │ + vmla.f64 d1, d7, d5 │ │ │ │ │ + vmul.f64 d5, d11, d5 │ │ │ │ │ + vmul.f64 d8, d8, d10 │ │ │ │ │ + vnmls.f64 d5, d12, d0 │ │ │ │ │ + vnmls.f64 d8, d7, d9 │ │ │ │ │ + vmul.f64 d7, d12, d10 │ │ │ │ │ + vmla.f64 d7, d11, d9 │ │ │ │ │ vadd.f64 d0, d1, d5 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ vsub.f64 d1, d8, d7 │ │ │ │ │ vadd.f64 d7, d8, d7 │ │ │ │ │ vsub.f64 d8, d2, d0 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ vstr d8, [r3] │ │ │ │ │ vsub.f64 d8, d3, d7 │ │ │ │ │ - ldr r3, [sp, #60] @ 0x3c │ │ │ │ │ vadd.f64 d3, d3, d7 │ │ │ │ │ + ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ vsub.f64 d7, d4, d1 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ vstr d8, [r6] │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ - vstr d3, [r5] │ │ │ │ │ - ldr r6, [sp, #44] @ 0x2c │ │ │ │ │ - ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d3, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d11, [sp, #80] @ 0x50 │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ + ldr r0, [sp, #44] @ 0x2c │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ vsub.f64 d7, d6, d5 │ │ │ │ │ - ldr r6, [sp, #56] @ 0x38 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vldr d2, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d8, [sp, #136] @ 0x88 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - vstr d4, [r6] │ │ │ │ │ - vsub.f64 d5, d11, d2 │ │ │ │ │ - vldr d4, [sp, #152] @ 0x98 │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ - vldr d11, [sp, #304] @ 0x130 │ │ │ │ │ + ldr r6, [sp, #20] │ │ │ │ │ + ldr r3, [sp, #52] @ 0x34 │ │ │ │ │ + vldr d2, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + vldr d3, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + vldr d4, [sp, #120] @ 0x78 │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ + vldr d11, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d12, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d9, [sp, #272] @ 0x110 │ │ │ │ │ vsub.f64 d7, d4, d3 │ │ │ │ │ - vldr d3, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d4, [sp, #144] @ 0x90 │ │ │ │ │ + vadd.f64 d4, d13, d14 │ │ │ │ │ + vldr d10, [sp, #280] @ 0x118 │ │ │ │ │ + vsub.f64 d5, d11, d2 │ │ │ │ │ + vldr d3, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d8, [sp, #288] @ 0x120 │ │ │ │ │ vldr d0, [sp, #296] @ 0x128 │ │ │ │ │ - ldr r5, [sp, #20] │ │ │ │ │ - vsub.f64 d6, d3, d4 │ │ │ │ │ - vldr d3, [sp, #104] @ 0x68 │ │ │ │ │ vadd.f64 d2, d5, d7 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ - ldr r0, [sp, #16] │ │ │ │ │ - vsub.f64 d7, d3, d8 │ │ │ │ │ - vldr d8, [sp, #288] @ 0x120 │ │ │ │ │ - ldr r6, [sp, #28] │ │ │ │ │ + vsub.f64 d7, d12, d9 │ │ │ │ │ + vsub.f64 d6, d3, d10 │ │ │ │ │ + ldr r1, [sp, #16] │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #264] @ 0x108 │ │ │ │ │ - vadd.f64 d4, d6, d11 │ │ │ │ │ vsub.f64 d6, d8, d0 │ │ │ │ │ vadd.f64 d8, d8, d0 │ │ │ │ │ vadd.f64 d1, d4, d6 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ - vldr d4, [sp, #264] @ 0x108 │ │ │ │ │ - vsub.f64 d4, d11, d4 │ │ │ │ │ + vsub.f64 d4, d14, d13 │ │ │ │ │ + vldr d14, [pc, #572] @ 7e8 │ │ │ │ │ vmul.f64 d1, d1, d15 │ │ │ │ │ vmul.f64 d6, d6, d15 │ │ │ │ │ vsub.f64 d0, d4, d8 │ │ │ │ │ vadd.f64 d4, d4, d8 │ │ │ │ │ vsub.f64 d8, d2, d1 │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ - vmul.f64 d0, d0, d15 │ │ │ │ │ vmul.f64 d4, d4, d15 │ │ │ │ │ - vstr d8, [r5] │ │ │ │ │ - ldr r5, [sp, #24] │ │ │ │ │ + vmul.f64 d0, d0, d15 │ │ │ │ │ + vstr d8, [r6] │ │ │ │ │ vsub.f64 d8, d3, d4 │ │ │ │ │ + ldr r6, [sp, #24] │ │ │ │ │ vadd.f64 d3, d3, d4 │ │ │ │ │ vsub.f64 d4, d5, d0 │ │ │ │ │ vadd.f64 d5, d5, d0 │ │ │ │ │ - vstr d8, [r5] │ │ │ │ │ - vstr d2, [r0] │ │ │ │ │ - ldr r5, [sp, #32] │ │ │ │ │ + vldr d0, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d8, [r6] │ │ │ │ │ + ldr r6, [sp, #28] │ │ │ │ │ + vstr d2, [r1] │ │ │ │ │ vstr d3, [fp] │ │ │ │ │ vstr d4, [r6] │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d4, [r5] │ │ │ │ │ - ldr r5, [sp, #36] @ 0x24 │ │ │ │ │ - vstr d5, [r5] │ │ │ │ │ - vldr d5, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d0, [sp, #128] @ 0x80 │ │ │ │ │ - ldr r5, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d1, [sp, #120] @ 0x78 │ │ │ │ │ + ldr r6, [sp, #32] │ │ │ │ │ + vstr d4, [r6] │ │ │ │ │ + ldr r6, [sp, #36] @ 0x24 │ │ │ │ │ + vstr d5, [r6] │ │ │ │ │ + ldr r6, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d5, [sp, #88] @ 0x58 │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ vadd.f64 d6, d5, d0 │ │ │ │ │ - vldr d5, [sp, #168] @ 0xa8 │ │ │ │ │ - vldr d0, [sp, #200] @ 0xc8 │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ - vldr d11, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d5, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d0, [sp, #168] @ 0xa8 │ │ │ │ │ + ldrd r6, r3, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d1, [sp, #104] @ 0x68 │ │ │ │ │ vadd.f64 d7, d5, d0 │ │ │ │ │ - vldr d0, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d5, [sp, #192] @ 0xc0 │ │ │ │ │ - ldr r5, [sp, #76] @ 0x4c │ │ │ │ │ - ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d0, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d5, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d4, [sp, #216] @ 0xd8 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ + vldr d13, [sp, #312] @ 0x138 │ │ │ │ │ vadd.f64 d5, d0, d5 │ │ │ │ │ - vldr d8, [sp, #136] @ 0x88 │ │ │ │ │ - vadd.f64 d3, d6, d7 │ │ │ │ │ + vldr d0, [pc, #408] @ 7e0 │ │ │ │ │ + vldr d8, [sp, #304] @ 0x130 │ │ │ │ │ + vadd.f64 d2, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d7, [sp, #80] @ 0x50 │ │ │ │ │ vmul.f64 d5, d5, d15 │ │ │ │ │ + vmul.f64 d4, d4, d0 │ │ │ │ │ vsub.f64 d7, d7, d1 │ │ │ │ │ - vmul.f64 d1, d12, d14 │ │ │ │ │ - vmla.f64 d1, d11, d13 │ │ │ │ │ - vadd.f64 d4, d5, d7 │ │ │ │ │ + vldr d1, [sp, #208] @ 0xd0 │ │ │ │ │ + vadd.f64 d3, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vmul.f64 d5, d10, d13 │ │ │ │ │ - vnmls.f64 d5, d9, d14 │ │ │ │ │ - vadd.f64 d2, d1, d5 │ │ │ │ │ - vsub.f64 d5, d5, d1 │ │ │ │ │ - vmul.f64 d1, d12, d13 │ │ │ │ │ - vmul.f64 d12, d9, d13 │ │ │ │ │ - vmla.f64 d12, d10, d14 │ │ │ │ │ - vldr d9, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d10, [sp, #184] @ 0xb8 │ │ │ │ │ - vnmls.f64 d1, d11, d14 │ │ │ │ │ - vldr d11, [sp, #80] @ 0x50 │ │ │ │ │ - vsub.f64 d0, d1, d12 │ │ │ │ │ - vadd.f64 d12, d1, d12 │ │ │ │ │ - vsub.f64 d1, d3, d2 │ │ │ │ │ - vadd.f64 d3, d3, d2 │ │ │ │ │ - vldr d2, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d1, [r5] │ │ │ │ │ - vsub.f64 d1, d4, d12 │ │ │ │ │ - vadd.f64 d4, d4, d12 │ │ │ │ │ - vstr d1, [r1] │ │ │ │ │ + vmul.f64 d5, d13, d14 │ │ │ │ │ + vnmls.f64 d4, d1, d14 │ │ │ │ │ + vmla.f64 d5, d8, d0 │ │ │ │ │ + vadd.f64 d1, d5, d4 │ │ │ │ │ + vsub.f64 d4, d4, d5 │ │ │ │ │ + vmov.f64 d5, d0 │ │ │ │ │ + vmul.f64 d0, d13, d0 │ │ │ │ │ + vldr d13, [sp, #232] @ 0xe8 │ │ │ │ │ + vnmls.f64 d0, d8, d14 │ │ │ │ │ + vldr d8, [sp, #208] @ 0xd0 │ │ │ │ │ + vmul.f64 d5, d8, d5 │ │ │ │ │ + vldr d8, [sp, #216] @ 0xd8 │ │ │ │ │ + vmla.f64 d5, d8, d14 │ │ │ │ │ + vsub.f64 d8, d0, d5 │ │ │ │ │ + vadd.f64 d5, d0, d5 │ │ │ │ │ + vsub.f64 d0, d2, d1 │ │ │ │ │ + vadd.f64 d2, d2, d1 │ │ │ │ │ + vstr d0, [r6] │ │ │ │ │ + vsub.f64 d0, d3, d5 │ │ │ │ │ + vadd.f64 d3, d3, d5 │ │ │ │ │ + vsub.f64 d5, d6, d8 │ │ │ │ │ + vadd.f64 d6, d6, d8 │ │ │ │ │ + vstr d0, [r3] │ │ │ │ │ + ldr r3, [sp, #60] @ 0x3c │ │ │ │ │ + vldr d0, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d2, [sp, #96] @ 0x60 │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ ldr r3, [sp, #68] @ 0x44 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - vsub.f64 d4, d6, d0 │ │ │ │ │ - ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ - vadd.f64 d6, d6, d0 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - vsub.f64 d4, d7, d5 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + vsub.f64 d5, d7, d4 │ │ │ │ │ + vadd.f64 d7, d7, d4 │ │ │ │ │ + vldr d4, [sp, #120] @ 0x78 │ │ │ │ │ ldr r3, [sp, #320] @ 0x140 │ │ │ │ │ - vadd.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [sp, #144] @ 0x90 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ + vstr d5, [r5] │ │ │ │ │ + vmov.f64 d5, d10 │ │ │ │ │ + vldr d10, [sp, #152] @ 0x98 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ vadd.f64 d6, d11, d2 │ │ │ │ │ + vldr d2, [sp, #144] @ 0x90 │ │ │ │ │ vstr d7, [r4] │ │ │ │ │ - vadd.f64 d7, d5, d9 │ │ │ │ │ - vldr d4, [sp, #152] @ 0x98 │ │ │ │ │ + vadd.f64 d7, d5, d2 │ │ │ │ │ + vadd.f64 d5, d4, d10 │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [sp, #104] @ 0x68 │ │ │ │ │ - vadd.f64 d5, d4, d10 │ │ │ │ │ - vadd.f64 d7, d7, d8 │ │ │ │ │ + vadd.f64 d7, d12, d9 │ │ │ │ │ vadd.f64 d4, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d0, [sp, #208] @ 0xd0 │ │ │ │ │ - vldr d8, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d9, [sp, #256] @ 0x100 │ │ │ │ │ - vldr d12, [sp, #224] @ 0xe0 │ │ │ │ │ - ldr r2, [sp, #0] │ │ │ │ │ - vadd.f64 d2, d5, d9 │ │ │ │ │ - vadd.f64 d5, d0, d8 │ │ │ │ │ - vldr d8, [sp, #280] @ 0x118 │ │ │ │ │ - vldr d0, [sp, #272] @ 0x110 │ │ │ │ │ - ldr r1, [sp, #4] │ │ │ │ │ + vldr d5, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d11, [sp, #184] @ 0xb8 │ │ │ │ │ + ldrd r2, r1, [sp] │ │ │ │ │ + vadd.f64 d2, d5, d13 │ │ │ │ │ + vldr d12, [sp, #192] @ 0xc0 │ │ │ │ │ + vadd.f64 d5, d0, d11 │ │ │ │ │ + vldr d14, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d0, [sp, #240] @ 0xf0 │ │ │ │ │ + ldrd r0, r4, [sp, #8] │ │ │ │ │ vadd.f64 d1, d2, d5 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ - vldr d2, [sp, #232] @ 0xe8 │ │ │ │ │ - vadd.f64 d0, d0, d8 │ │ │ │ │ - ldr r0, [sp, #8] │ │ │ │ │ + vldr d2, [sp, #200] @ 0xc8 │ │ │ │ │ + vadd.f64 d0, d0, d14 │ │ │ │ │ ldr r3, [sp, #328] @ 0x148 │ │ │ │ │ vadd.f64 d2, d12, d2 │ │ │ │ │ - ldr r4, [sp, #12] │ │ │ │ │ vsub.f64 d8, d0, d2 │ │ │ │ │ vadd.f64 d2, d0, d2 │ │ │ │ │ vsub.f64 d0, d3, d1 │ │ │ │ │ vadd.f64 d3, d3, d1 │ │ │ │ │ vstr d0, [r2] │ │ │ │ │ vsub.f64 d0, d4, d2 │ │ │ │ │ vadd.f64 d4, d4, d2 │ │ │ │ │ ldr r2, [sp, #444] @ 0x1bc │ │ │ │ │ vstr d0, [r1] │ │ │ │ │ vstr d3, [ip] │ │ │ │ │ add ip, r3 │ │ │ │ │ vstr d4, [lr] │ │ │ │ │ vsub.f64 d4, d6, d8 │ │ │ │ │ add lr, r3 │ │ │ │ │ - vadd.f64 d6, d6, d8 │ │ │ │ │ ldr r3, [sp, #332] @ 0x14c │ │ │ │ │ + vadd.f64 d6, d6, d8 │ │ │ │ │ + eor.w r8, r8, r3 │ │ │ │ │ + ldr r3, [sp, #324] @ 0x144 │ │ │ │ │ vstr d4, [r0] │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - eor.w r8, r8, r3 │ │ │ │ │ - ldr r3, [sp, #324] @ 0x144 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ vstr d6, [sl] │ │ │ │ │ vstr d7, [r9] │ │ │ │ │ - bne.w 70 │ │ │ │ │ + bne.w 68 │ │ │ │ │ add sp, #340 @ 0x154 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + .word 0xa6aea963 │ │ │ │ │ + .word 0x3fd87de2 │ │ │ │ │ + .word 0xcf328d46 │ │ │ │ │ + .word 0x3fed906b │ │ │ │ │ │ │ │ │ │ -000007bc : │ │ │ │ │ +000007f0 : │ │ │ │ │ fftw_codelet_t1_16(): │ │ │ │ │ - ldr r2, [pc, #8] @ (7c8 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (7cc ) │ │ │ │ │ + ldr r2, [pc, #8] @ (7fc ) │ │ │ │ │ + ldr r1, [pc, #12] @ (800 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_dit_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── t1_2.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 912 (bytes into file) │ │ │ │ │ + Start of section headers: 944 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x390: │ │ │ │ │ +There are 14 section headers, starting at offset 0x3b0: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0000f4 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0002e8 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000128 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000128 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000128 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 00012d 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 000135 000040 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000300 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000175 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000175 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 0001a8 0000f0 10 12 12 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000298 00004e 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000318 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000114 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000308 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000148 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000148 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000148 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 00014d 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000155 000040 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000320 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000195 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000195 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 0001c8 0000f0 10 12 12 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0002b8 00004e 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000338 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,18 +1,18 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 15 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 222 FUNC LOCAL DEFAULT 1 t1_2 │ │ │ │ │ + 1: 00000001 254 FUNC LOCAL DEFAULT 1 t1_2 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000000ec 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 0000010c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 4: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 8: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 9: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 10: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 11: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 12: 000000e1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_2 │ │ │ │ │ + 12: 00000101 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_2 │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_dit_register │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x2e8 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x308 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000000ec 00000903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000000f0 00000103 R_ARM_REL32 00000001 t1_2 │ │ │ │ │ -000000e8 00000d1e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ +0000010c 00000903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000110 00000103 R_ARM_REL32 00000001 t1_2 │ │ │ │ │ +00000108 00000d1e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x300 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x320 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000402 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000602 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00000e02 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,64 +1,67 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ t1_2(): │ │ │ │ │ - push {r4, r5, r6} │ │ │ │ │ - ldr r5, [sp, #20] │ │ │ │ │ + str.w r4, [sp, #-12]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ ldrd r4, r6, [sp, #12] │ │ │ │ │ + ldr r5, [sp, #20] │ │ │ │ │ cmp r4, r6 │ │ │ │ │ add.w r2, r2, r4, lsl #4 │ │ │ │ │ - bge.n 72 │ │ │ │ │ - cmp r5, #1 │ │ │ │ │ + bge.n 7c │ │ │ │ │ mov.w r3, r3, lsl #3 │ │ │ │ │ + cmp r5, #1 │ │ │ │ │ ittt eq │ │ │ │ │ - addeq.w ip, r0, r3 │ │ │ │ │ addeq r2, #16 │ │ │ │ │ + addeq.w ip, r0, r3 │ │ │ │ │ addeq r3, r3, r1 │ │ │ │ │ - bne.n 76 │ │ │ │ │ + bne.n 88 │ │ │ │ │ vldr d2, [r2, #-16] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - vldr d1, [ip] │ │ │ │ │ - adds r2, #16 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + add.w r2, r2, #16 │ │ │ │ │ cmp r4, r6 │ │ │ │ │ + vldr d1, [ip] │ │ │ │ │ vldr d7, [r2, #-24] @ 0xffffffe8 │ │ │ │ │ + vldr d3, [r3] │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ vldr d4, [r0] │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ vsub.f64 d3, d4, d6 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ vstmia ip!, {d3} │ │ │ │ │ vsub.f64 d3, d5, d7 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vstmia r3!, {d3} │ │ │ │ │ vstmia r0!, {d6} │ │ │ │ │ vstmia r1!, {d7} │ │ │ │ │ - bne.n 22 │ │ │ │ │ - pop {r4, r5, r6} │ │ │ │ │ + bne.n 28 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + ldr.w r6, [sp], #4 │ │ │ │ │ bx lr │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ add.w ip, r0, r3 │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ - adds r2, #16 │ │ │ │ │ + add.w r2, r2, #16 │ │ │ │ │ add r3, r1 │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - vldr d1, [r2, #-8] │ │ │ │ │ - cmp r6, r4 │ │ │ │ │ - vldr d3, [r2, #-16] │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ add.w r2, r2, #16 │ │ │ │ │ + cmp r6, r4 │ │ │ │ │ + vldr d3, [r2, #-32] @ 0xffffffe0 │ │ │ │ │ + vldr d1, [r2, #-24] @ 0xffffffe8 │ │ │ │ │ vldr d7, [ip] │ │ │ │ │ - vmul.f64 d4, d2, d1 │ │ │ │ │ vldr d5, [r0] │ │ │ │ │ + vmul.f64 d4, d2, d1 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ vmla.f64 d4, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ vsub.f64 d3, d5, d4 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ vstr d3, [ip] │ │ │ │ │ @@ -67,23 +70,25 @@ │ │ │ │ │ add ip, r5 │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ add r3, r5 │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ add r0, r5 │ │ │ │ │ vstr d6, [r1] │ │ │ │ │ add r1, r5 │ │ │ │ │ - bne.n 80 │ │ │ │ │ - pop {r4, r5, r6} │ │ │ │ │ + bne.n 96 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + ldr.w r6, [sp], #4 │ │ │ │ │ bx lr │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000000e0 : │ │ │ │ │ +00000100 : │ │ │ │ │ fftw_codelet_t1_2(): │ │ │ │ │ - ldr r2, [pc, #8] @ (ec ) │ │ │ │ │ - ldr r1, [pc, #12] @ (f0 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (10c ) │ │ │ │ │ + ldr r1, [pc, #12] @ (110 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_dit_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── t1_20.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 3564 (bytes into file) │ │ │ │ │ + Start of section headers: 3644 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0xdec: │ │ │ │ │ +There are 14 section headers, starting at offset 0xe3c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000aa4 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000d34 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000ad8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000ad8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000ad8 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000ade 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 000ae6 000040 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000d5c 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000b26 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000b26 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000b5c 000150 10 12 16 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000cac 000087 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000d74 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000b14 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000d84 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000b48 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000b48 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000b48 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000b4e 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000b56 000040 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000dac 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000b96 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000b96 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000bcc 000130 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000cfc 000087 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000dc4 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,22 @@ │ │ │ │ │ │ │ │ │ │ -Symbol table '.symtab' contains 21 entries: │ │ │ │ │ +Symbol table '.symtab' contains 19 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 2704 FUNC LOCAL DEFAULT 1 t1_20 │ │ │ │ │ + 1: 00000001 2814 FUNC LOCAL DEFAULT 1 t1_20 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000048 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000058 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000a28 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000a38 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00000a9c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ - 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ - 10: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ - 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ - 12: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ - 13: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ - 14: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ - 15: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ - 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 18: 00000a91 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_20 │ │ │ │ │ - 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_dit_register │ │ │ │ │ - 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ │ + 3: 00000a18 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000a38 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000b0c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ + 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ + 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ + 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ + 10: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ + 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ + 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ + 13: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ + 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ + 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ + 16: 00000b01 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_20 │ │ │ │ │ + 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_dit_register │ │ │ │ │ + 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xd34 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xd84 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000050 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000054 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000a9c 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000aa0 00000103 R_ARM_REL32 00000001 t1_20 │ │ │ │ │ -00000a98 0000131e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ +00000a30 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000a34 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000b0c 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000b10 00000103 R_ARM_REL32 00000001 t1_20 │ │ │ │ │ +00000b08 0000111e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xd5c contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xdac contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ -00000008 00000a02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ -0000000c 00001402 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ │ +00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ +00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ +0000000c 00001202 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,758 +1,768 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ t1_20(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov sl, r0 │ │ │ │ │ - mov fp, r1 │ │ │ │ │ - vpush {d8-d15} │ │ │ │ │ - sub.w sp, sp, #532 @ 0x214 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r6, r1 │ │ │ │ │ mov.w r1, #304 @ 0x130 │ │ │ │ │ - mov r4, r3 │ │ │ │ │ - ldr r3, [pc, #56] @ (50 ) │ │ │ │ │ - ldr r0, [sp, #632] @ 0x278 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r7, r3 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + mov fp, r0 │ │ │ │ │ + vpush {d8-d15} │ │ │ │ │ + sub.w sp, sp, #516 @ 0x204 │ │ │ │ │ + ldr r0, [sp, #616] @ 0x268 │ │ │ │ │ + ldr.w r3, [pc, #2564] @ a30 │ │ │ │ │ + mla sl, r1, r0, r2 │ │ │ │ │ + ldr r1, [sp, #620] @ 0x26c │ │ │ │ │ add r3, pc │ │ │ │ │ - mla r9, r1, r0, r2 │ │ │ │ │ - ldr r1, [sp, #636] @ 0x27c │ │ │ │ │ cmp r0, r1 │ │ │ │ │ - bge.w a84 │ │ │ │ │ - ldr r2, [sp, #640] @ 0x280 │ │ │ │ │ - mov r5, r9 │ │ │ │ │ - vldr d15, [pc, #24] @ 48 │ │ │ │ │ + bge.w ae0 │ │ │ │ │ + ldr r2, [sp, #624] @ 0x270 │ │ │ │ │ + mov ip, r6 │ │ │ │ │ + mov lr, r7 │ │ │ │ │ mov r6, sl │ │ │ │ │ - mov r7, fp │ │ │ │ │ - mov ip, r4 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ - str r2, [sp, #520] @ 0x208 │ │ │ │ │ - ldr r2, [pc, #24] @ (54 ) │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + str r2, [sp, #504] @ 0x1f8 │ │ │ │ │ + ldr.w r2, [pc, #2536] @ a34 │ │ │ │ │ ldr r3, [r3, r2] │ │ │ │ │ + str.w fp, [sp] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - str r3, [sp, #524] @ 0x20c │ │ │ │ │ - b.n 58 │ │ │ │ │ - nop.w │ │ │ │ │ - .word 0x04755a5e │ │ │ │ │ - .word 0x3fe2cf23 │ │ │ │ │ - .word 0x00000032 │ │ │ │ │ - R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ - .word 0x00000000 │ │ │ │ │ - R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - movs r3, #80 @ 0x50 │ │ │ │ │ - movs r0, #40 @ 0x28 │ │ │ │ │ - vldr d4, [r5, #152] @ 0x98 │ │ │ │ │ - mov.w lr, #136 @ 0x88 │ │ │ │ │ - vldr d7, [r5, #144] @ 0x90 │ │ │ │ │ - mul.w r1, r3, ip │ │ │ │ │ - vldr d1, [r5, #72] @ 0x48 │ │ │ │ │ - vldr d8, [r5, #232] @ 0xe8 │ │ │ │ │ - adds r2, r7, r1 │ │ │ │ │ - adds r3, r6, r1 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ - str r2, [sp, #4] │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - mul.w r3, r0, ip │ │ │ │ │ - vldr d9, [r6] │ │ │ │ │ + str r3, [sp, #508] @ 0x1fc │ │ │ │ │ + add.w r3, lr, lr, lsl #2 │ │ │ │ │ + ldr r7, [sp, #0] │ │ │ │ │ + mov.w r5, r3, lsl #4 │ │ │ │ │ + vldr d1, [r6, #72] @ 0x48 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + add.w r1, ip, r5 │ │ │ │ │ + vldr d4, [r6, #152] @ 0x98 │ │ │ │ │ + add.w r2, r7, r5 │ │ │ │ │ + add.w sl, ip, r3 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + add.w r0, sl, r5 │ │ │ │ │ + strd r2, r1, [sp, #12] │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add.w r2, r7, r3 │ │ │ │ │ + add.w r3, r2, r5 │ │ │ │ │ + vldr d7, [r6, #144] @ 0x90 │ │ │ │ │ + strd r2, r3, [sp, #20] │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ - add.w r9, r7, r3 │ │ │ │ │ + vldr d2, [sl] │ │ │ │ │ + str r0, [sp, #28] │ │ │ │ │ + vldr d0, [r0] │ │ │ │ │ + vldr d8, [r6, #232] @ 0xe8 │ │ │ │ │ vmla.f64 d3, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d4 │ │ │ │ │ - adds r2, r6, r3 │ │ │ │ │ - add.w r4, r9, r1 │ │ │ │ │ - vldr d2, [r9] │ │ │ │ │ - adds r0, r2, r1 │ │ │ │ │ - vldr d10, [r7] │ │ │ │ │ - mov.w r3, ip, lsl #6 │ │ │ │ │ + vmul.f64 d4, d2, d1 │ │ │ │ │ + vldr d9, [r7] │ │ │ │ │ + vldr d10, [ip] │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d5, [r5, #64] @ 0x40 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - vmul.f64 d4, d2, d1 │ │ │ │ │ - vldr d0, [r4] │ │ │ │ │ - str r0, [sp, #12] │ │ │ │ │ + vldr d5, [r6, #64] @ 0x40 │ │ │ │ │ vmla.f64 d4, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [r5, #224] @ 0xe0 │ │ │ │ │ - str r2, [sp, #8] │ │ │ │ │ - str r4, [sp, #16] │ │ │ │ │ + vldr d1, [r6, #224] @ 0xe0 │ │ │ │ │ vnmls.f64 d7, d2, d5 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ vmul.f64 d2, d0, d8 │ │ │ │ │ - adds r0, r6, r3 │ │ │ │ │ - adds r3, r7, r3 │ │ │ │ │ - adds r4, r0, r1 │ │ │ │ │ + mov.w r3, lr, lsl #6 │ │ │ │ │ + add.w r0, ip, r3 │ │ │ │ │ + add.w r1, r7, r3 │ │ │ │ │ + add.w r4, r1, r5 │ │ │ │ │ vmla.f64 d2, d5, d1 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ - str r0, [sp, #20] │ │ │ │ │ vnmls.f64 d5, d0, d1 │ │ │ │ │ vadd.f64 d0, d9, d3 │ │ │ │ │ vsub.f64 d9, d9, d3 │ │ │ │ │ vadd.f64 d1, d4, d2 │ │ │ │ │ vsub.f64 d4, d4, d2 │ │ │ │ │ vsub.f64 d8, d0, d1 │ │ │ │ │ vadd.f64 d1, d0, d1 │ │ │ │ │ - vstr d1, [sp, #352] @ 0x160 │ │ │ │ │ + vstr d8, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d1, [sp, #344] @ 0x158 │ │ │ │ │ vsub.f64 d1, d10, d6 │ │ │ │ │ vadd.f64 d10, d10, d6 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - vstr d8, [sp, #344] @ 0x158 │ │ │ │ │ - vsub.f64 d0, d1, d4 │ │ │ │ │ - vadd.f64 d2, d1, d4 │ │ │ │ │ + vsub.f64 d2, d1, d4 │ │ │ │ │ + vadd.f64 d4, d1, d4 │ │ │ │ │ + vstr d2, [sp, #352] @ 0x160 │ │ │ │ │ + vstr d4, [sp, #360] @ 0x168 │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vstr d0, [sp, #360] @ 0x168 │ │ │ │ │ - vsub.f64 d3, d9, d4 │ │ │ │ │ - vadd.f64 d4, d9, d4 │ │ │ │ │ - vadd.f64 d9, d7, d10 │ │ │ │ │ - vsub.f64 d7, d10, d7 │ │ │ │ │ - vstr d2, [sp, #368] @ 0x170 │ │ │ │ │ + vadd.f64 d3, d9, d4 │ │ │ │ │ + vadd.f64 d6, d7, d10 │ │ │ │ │ + vsub.f64 d13, d9, d4 │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ + vsub.f64 d0, d10, d7 │ │ │ │ │ + vldr d7, [r6, #112] @ 0x70 │ │ │ │ │ vstr d3, [sp, #376] @ 0x178 │ │ │ │ │ - vldr d3, [r5, #120] @ 0x78 │ │ │ │ │ - vstr d4, [sp, #384] @ 0x180 │ │ │ │ │ - vstr d7, [sp, #400] @ 0x190 │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ + vldr d3, [r6, #120] @ 0x78 │ │ │ │ │ + vstr d6, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + vstr d13, [sp, #368] @ 0x170 │ │ │ │ │ + vstr d0, [sp, #392] @ 0x188 │ │ │ │ │ + strd r1, r0, [sp, #32] │ │ │ │ │ + mov.w r1, lr, lsl #4 │ │ │ │ │ + str r4, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d1, [r6, #280] @ 0x118 │ │ │ │ │ + add.w r3, r1, lr │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ - vldr d7, [r5, #112] @ 0x70 │ │ │ │ │ - vstr d9, [sp, #392] @ 0x188 │ │ │ │ │ - str r4, [sp, #28] │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ vmla.f64 d5, d4, d7 │ │ │ │ │ - str r3, [sp, #24] │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ - add r3, r1 │ │ │ │ │ - vldr d1, [r5, #280] @ 0x118 │ │ │ │ │ - vldr d3, [r5, #272] @ 0x110 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ + vldr d3, [r6, #272] @ 0x110 │ │ │ │ │ vnmls.f64 d4, d6, d7 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ - str r3, [sp, #32] │ │ │ │ │ - mul.w r3, lr, ip │ │ │ │ │ + add.w r4, r0, r5 │ │ │ │ │ + mov.w r0, lr, lsl #3 │ │ │ │ │ + vldr d2, [r4] │ │ │ │ │ + str r4, [sp, #44] @ 0x2c │ │ │ │ │ + add.w r4, r7, r3 │ │ │ │ │ + add r3, ip │ │ │ │ │ + add.w r9, ip, r0 │ │ │ │ │ + strd r4, r3, [sp, #48] @ 0x30 │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ - mov.w lr, #56 @ 0x38 │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - adds r4, r7, r3 │ │ │ │ │ - adds r2, r6, r3 │ │ │ │ │ - mul.w r3, lr, ip │ │ │ │ │ - vldr d1, [r5, #104] @ 0x68 │ │ │ │ │ - mov.w lr, #104 @ 0x68 │ │ │ │ │ - str r4, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d1, [r6, #104] @ 0x68 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ - vldr d3, [r5, #264] @ 0x108 │ │ │ │ │ - adds r0, r6, r3 │ │ │ │ │ - adds r3, r7, r3 │ │ │ │ │ - str r3, [sp, #48] @ 0x30 │ │ │ │ │ - str r2, [sp, #36] @ 0x24 │ │ │ │ │ + vldr d3, [r6, #264] @ 0x108 │ │ │ │ │ vadd.f64 d10, d5, d6 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ - vsub.f64 d14, d5, d6 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - mul.w r3, lr, ip │ │ │ │ │ - mov.w lr, #24 │ │ │ │ │ - str r0, [sp, #44] @ 0x2c │ │ │ │ │ vadd.f64 d11, d4, d7 │ │ │ │ │ - vsub.f64 d13, d4, d7 │ │ │ │ │ - vldr d7, [r5, #256] @ 0x100 │ │ │ │ │ + vsub.f64 d14, d4, d7 │ │ │ │ │ + vsub.f64 d7, d5, d6 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ + sub.w r3, r0, lr │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + vstr d10, [sp] │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + mov r4, r7 │ │ │ │ │ + add.w r2, r7, r3 │ │ │ │ │ + mov.w r7, #104 @ 0x68 │ │ │ │ │ + str r2, [sp, #56] @ 0x38 │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ - adds r4, r7, r3 │ │ │ │ │ - adds r2, r6, r3 │ │ │ │ │ + vstr d11, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d7, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d7, [r6, #256] @ 0x100 │ │ │ │ │ vstr d14, [sp, #104] @ 0x68 │ │ │ │ │ - mul.w r3, lr, ip │ │ │ │ │ vmla.f64 d4, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ - vldr d3, [r5, #96] @ 0x60 │ │ │ │ │ - vstr d13, [sp, #96] @ 0x60 │ │ │ │ │ - vstr d11, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d3, [r6, #96] @ 0x60 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + add.w r2, ip, r3 │ │ │ │ │ + mul.w r3, r7, lr │ │ │ │ │ + mov r7, r4 │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ + add r4, r3 │ │ │ │ │ + add r3, ip │ │ │ │ │ + strd r2, r4, [sp, #60] @ 0x3c │ │ │ │ │ + str r3, [sp, #68] @ 0x44 │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ - adds r0, r6, r3 │ │ │ │ │ - str r2, [sp, #52] @ 0x34 │ │ │ │ │ vmla.f64 d5, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - str r4, [sp, #56] @ 0x38 │ │ │ │ │ - str r0, [sp, #60] @ 0x3c │ │ │ │ │ - vstr d10, [sp, #80] @ 0x50 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ - vldr d3, [r5, #200] @ 0xc8 │ │ │ │ │ - vadd.f64 d13, d4, d5 │ │ │ │ │ + vldr d3, [r6, #200] @ 0xc8 │ │ │ │ │ vsub.f64 d14, d4, d5 │ │ │ │ │ - vldr d4, [r4] │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - adds r2, r7, r3 │ │ │ │ │ - str r2, [sp, #64] @ 0x40 │ │ │ │ │ - movs r3, #96 @ 0x60 │ │ │ │ │ + vadd.f64 d13, d4, d5 │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ + add.w r3, lr, lr, lsl #1 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + mov.w r2, r3, lsl #3 │ │ │ │ │ vadd.f64 d11, d6, d7 │ │ │ │ │ vsub.f64 d8, d6, d7 │ │ │ │ │ - vldr d7, [r5, #192] @ 0xc0 │ │ │ │ │ + vldr d7, [r6, #192] @ 0xc0 │ │ │ │ │ vmul.f64 d6, d4, d3 │ │ │ │ │ - vldr d2, [r2] │ │ │ │ │ - mul.w r3, r3, ip │ │ │ │ │ - mov.w r2, ip, lsl #5 │ │ │ │ │ + add.w r4, r7, r2 │ │ │ │ │ + add r2, ip │ │ │ │ │ + strd r4, r2, [sp, #72] @ 0x48 │ │ │ │ │ vmla.f64 d6, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d3 │ │ │ │ │ - adds r4, r6, r3 │ │ │ │ │ vnmls.f64 d5, d4, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - vldr d3, [r5, #32] │ │ │ │ │ - adds r0, r7, r3 │ │ │ │ │ - vldr d1, [r5, #40] @ 0x28 │ │ │ │ │ - str r0, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d12, [r5, #24] │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ + mov.w r2, r3, lsl #5 │ │ │ │ │ + mov.w r3, r3, lsl #4 │ │ │ │ │ + add.w r4, r7, r2 │ │ │ │ │ + add r2, ip │ │ │ │ │ + vldr d12, [r6, #24] │ │ │ │ │ + vldr d1, [r6, #40] @ 0x28 │ │ │ │ │ + strd r4, r2, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d3, [r6, #32] │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ - str r4, [sp, #68] @ 0x44 │ │ │ │ │ vmla.f64 d4, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [r5, #184] @ 0xb8 │ │ │ │ │ + vldr d1, [r6, #184] @ 0xb8 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ vadd.f64 d3, d6, d4 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ - mov.w r0, ip, lsl #4 │ │ │ │ │ - adds r3, r6, r0 │ │ │ │ │ - add r0, r7 │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + mov.w r2, lr, lsl #5 │ │ │ │ │ vadd.f64 d2, d5, d7 │ │ │ │ │ vsub.f64 d9, d5, d7 │ │ │ │ │ - vldr d5, [r5, #176] @ 0xb0 │ │ │ │ │ - vmul.f64 d10, d4, d1 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ - adds r4, r6, r2 │ │ │ │ │ - vldr d0, [r0] │ │ │ │ │ - add r2, r7 │ │ │ │ │ - str r3, [sp, #76] @ 0x4c │ │ │ │ │ + vmul.f64 d10, d4, d1 │ │ │ │ │ + add.w r4, r7, r1 │ │ │ │ │ + add r1, ip │ │ │ │ │ + vldr d5, [r6, #176] @ 0xb0 │ │ │ │ │ + strd r4, r1, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d0, [r1] │ │ │ │ │ vmla.f64 d10, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [r5, #16] │ │ │ │ │ + vldr d1, [r6, #16] │ │ │ │ │ vnmls.f64 d7, d4, d5 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ vmul.f64 d4, d0, d12 │ │ │ │ │ - adds r3, r4, r1 │ │ │ │ │ + add.w r4, r7, r2 │ │ │ │ │ + add r2, ip │ │ │ │ │ + add.w r1, r4, r5 │ │ │ │ │ vmla.f64 d4, d5, d1 │ │ │ │ │ vmul.f64 d5, d5, d12 │ │ │ │ │ vnmls.f64 d5, d0, d1 │ │ │ │ │ vadd.f64 d1, d10, d4 │ │ │ │ │ + vsub.f64 d15, d10, d4 │ │ │ │ │ vadd.f64 d0, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vsub.f64 d5, d10, d4 │ │ │ │ │ + vldr d5, [sp] │ │ │ │ │ vsub.f64 d10, d1, d13 │ │ │ │ │ + vadd.f64 d13, d13, d1 │ │ │ │ │ + vsub.f64 d4, d5, d3 │ │ │ │ │ + vadd.f64 d3, d5, d3 │ │ │ │ │ vsub.f64 d12, d0, d11 │ │ │ │ │ vadd.f64 d0, d11, d0 │ │ │ │ │ - vstr d5, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d5, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d11, [sp, #104] @ 0x68 │ │ │ │ │ + vadd.f64 d1, d3, d13 │ │ │ │ │ + vstr d4, [sp, #136] @ 0x88 │ │ │ │ │ vstr d10, [sp, #144] @ 0x90 │ │ │ │ │ + vadd.f64 d10, d4, d10 │ │ │ │ │ + vadd.f64 d5, d11, d6 │ │ │ │ │ + vldr d4, [sp, #96] @ 0x60 │ │ │ │ │ + vsub.f64 d6, d11, d6 │ │ │ │ │ vstr d12, [sp, #160] @ 0xa0 │ │ │ │ │ - vsub.f64 d4, d5, d3 │ │ │ │ │ - vadd.f64 d5, d5, d3 │ │ │ │ │ vstr d0, [sp, #176] @ 0xb0 │ │ │ │ │ - vadd.f64 d10, d4, d10 │ │ │ │ │ - vstr d4, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d4, [sp, #88] @ 0x58 │ │ │ │ │ - vstr d5, [sp, #184] @ 0xb8 │ │ │ │ │ - vstr d10, [sp, #408] @ 0x198 │ │ │ │ │ + vstr d3, [sp, #184] @ 0xb8 │ │ │ │ │ + vstr d1, [sp, #424] @ 0x1a8 │ │ │ │ │ + vadd.f64 d1, d14, d7 │ │ │ │ │ + vsub.f64 d7, d7, d14 │ │ │ │ │ + vstr d10, [sp, #400] @ 0x190 │ │ │ │ │ vsub.f64 d10, d4, d2 │ │ │ │ │ vadd.f64 d2, d4, d2 │ │ │ │ │ - vadd.f64 d4, d13, d1 │ │ │ │ │ vadd.f64 d12, d10, d12 │ │ │ │ │ + vadd.f64 d4, d2, d0 │ │ │ │ │ vstr d10, [sp, #152] @ 0x98 │ │ │ │ │ - vadd.f64 d11, d2, d0 │ │ │ │ │ - vadd.f64 d1, d5, d4 │ │ │ │ │ - vadd.f64 d5, d14, d7 │ │ │ │ │ - vstr d4, [sp, #192] @ 0xc0 │ │ │ │ │ - vsub.f64 d7, d7, d14 │ │ │ │ │ vstr d2, [sp, #168] @ 0xa8 │ │ │ │ │ - vstr d12, [sp, #416] @ 0x1a0 │ │ │ │ │ - vstr d11, [sp, #424] @ 0x1a8 │ │ │ │ │ - vldr d11, [sp, #96] @ 0x60 │ │ │ │ │ - vstr d1, [sp, #432] @ 0x1b0 │ │ │ │ │ - vstr d5, [sp, #208] @ 0xd0 │ │ │ │ │ - vadd.f64 d1, d11, d6 │ │ │ │ │ - vsub.f64 d11, d11, d6 │ │ │ │ │ - vadd.f64 d4, d1, d5 │ │ │ │ │ + vadd.f64 d2, d5, d1 │ │ │ │ │ + vadd.f64 d0, d6, d7 │ │ │ │ │ + vstr d5, [sp, #192] @ 0xc0 │ │ │ │ │ vstr d1, [sp, #200] @ 0xc8 │ │ │ │ │ - vstr d4, [sp, #440] @ 0x1b8 │ │ │ │ │ - vstr d11, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d6, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d7, [sp, #224] @ 0xe0 │ │ │ │ │ - vadd.f64 d7, d11, d7 │ │ │ │ │ - vldr d11, [sp, #104] @ 0x68 │ │ │ │ │ - vadd.f64 d2, d8, d6 │ │ │ │ │ - vsub.f64 d8, d6, d8 │ │ │ │ │ + vstr d12, [sp, #408] @ 0x198 │ │ │ │ │ + vstr d4, [sp, #416] @ 0x1a0 │ │ │ │ │ + vadd.f64 d4, d8, d15 │ │ │ │ │ + vsub.f64 d8, d15, d8 │ │ │ │ │ + vstr d2, [sp, #432] @ 0x1b0 │ │ │ │ │ + vstr d6, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d11, [sp, #112] @ 0x70 │ │ │ │ │ + str r7, [sp, #0] │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ - vadd.f64 d3, d11, d9 │ │ │ │ │ - vldr d4, [r4] │ │ │ │ │ - vstr d7, [sp, #448] @ 0x1c0 │ │ │ │ │ + vstr d7, [sp, #216] @ 0xd8 │ │ │ │ │ + vldr d7, [r6, #48] @ 0x30 │ │ │ │ │ + str r1, [sp, #96] @ 0x60 │ │ │ │ │ + vadd.f64 d5, d11, d9 │ │ │ │ │ + vldr d3, [r6, #56] @ 0x38 │ │ │ │ │ vsub.f64 d9, d11, d9 │ │ │ │ │ - vldr d7, [r5, #48] @ 0x30 │ │ │ │ │ - str r3, [sp, #80] @ 0x50 │ │ │ │ │ - vadd.f64 d5, d3, d2 │ │ │ │ │ - vstr d3, [sp, #232] @ 0xe8 │ │ │ │ │ - vldr d3, [r5, #56] @ 0x38 │ │ │ │ │ - vadd.f64 d1, d9, d8 │ │ │ │ │ - vstr d2, [sp, #240] @ 0xf0 │ │ │ │ │ - vstr d9, [sp, #248] @ 0xf8 │ │ │ │ │ - vstr d5, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d1, [r6, #216] @ 0xd8 │ │ │ │ │ + vadd.f64 d2, d5, d4 │ │ │ │ │ + vstr d4, [sp, #232] @ 0xe8 │ │ │ │ │ + vadd.f64 d11, d9, d8 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + vstr d5, [sp, #224] @ 0xe0 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ + vstr d9, [sp, #240] @ 0xf0 │ │ │ │ │ + vstr d8, [sp, #248] @ 0xf8 │ │ │ │ │ + vstr d0, [sp, #440] @ 0x1b8 │ │ │ │ │ + vstr d2, [sp, #448] @ 0x1c0 │ │ │ │ │ vmla.f64 d5, d4, d7 │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ - vstr d1, [sp, #464] @ 0x1d0 │ │ │ │ │ - vldr d1, [r5, #216] @ 0xd8 │ │ │ │ │ - vldr d3, [r5, #208] @ 0xd0 │ │ │ │ │ + vldr d3, [r6, #208] @ 0xd0 │ │ │ │ │ + vstr d11, [sp, #456] @ 0x1c8 │ │ │ │ │ vnmls.f64 d4, d6, d7 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - adds r3, r2, r1 │ │ │ │ │ - str r3, [sp, #88] @ 0x58 │ │ │ │ │ - vstr d8, [sp, #256] @ 0x100 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ - mov.w r3, ip, lsl #3 │ │ │ │ │ - add.w r8, r7, r3 │ │ │ │ │ - add.w fp, r6, r3 │ │ │ │ │ - add.w r3, fp, r1 │ │ │ │ │ - str r3, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + add.w r1, r2, r5 │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ + str r1, [sp, #104] @ 0x68 │ │ │ │ │ + add.w r1, r7, r0 │ │ │ │ │ + add r0, lr │ │ │ │ │ + add.w r7, r1, r5 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ + str r7, [sp, #112] @ 0x70 │ │ │ │ │ + add.w r8, ip, r0 │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [r5, #168] @ 0xa8 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ - vldr d3, [r5, #8] │ │ │ │ │ - vadd.f64 d0, d5, d6 │ │ │ │ │ - vsub.f64 d13, d5, d6 │ │ │ │ │ - vldr d5, [r8] │ │ │ │ │ - vldr d6, [fp] │ │ │ │ │ + vldr d3, [r6, #8] │ │ │ │ │ + vadd.f64 d1, d5, d6 │ │ │ │ │ vsub.f64 d14, d4, d7 │ │ │ │ │ - vmov.f64 d12, d0 │ │ │ │ │ - vadd.f64 d0, d4, d7 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ + vmov.f64 d12, d1 │ │ │ │ │ + vadd.f64 d1, d4, d7 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + add.w r6, r6, #304 @ 0x130 │ │ │ │ │ + vstr d14, [sp, #288] @ 0x120 │ │ │ │ │ + vsub.f64 d14, d5, d6 │ │ │ │ │ + vldr d5, [r9] │ │ │ │ │ + vstr d1, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + vstr d14, [sp, #312] @ 0x138 │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ - vstr d13, [sp, #320] @ 0x140 │ │ │ │ │ - add.w r5, r5, #304 @ 0x130 │ │ │ │ │ vmla.f64 d4, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ - vldr d3, [r5, #-144] @ 0xffffff70 │ │ │ │ │ - vstr d0, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d3, [r6, #-144] @ 0xffffff70 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - add.w r3, r8, r1 │ │ │ │ │ - str r3, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ - movs r3, #72 @ 0x48 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + add.w r7, r9, r5 │ │ │ │ │ + vldr d2, [r7] │ │ │ │ │ + str r7, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d1, [r6, #-136] @ 0xffffff78 │ │ │ │ │ + ldr r7, [sp, #0] │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ - mul.w r3, r3, ip │ │ │ │ │ + add.w fp, r7, r0 │ │ │ │ │ + add.w r0, fp, r5 │ │ │ │ │ + str r0, [sp, #124] @ 0x7c │ │ │ │ │ vmla.f64 d5, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - add.w lr, r7, r3 │ │ │ │ │ - add.w sl, r6, r3 │ │ │ │ │ - add.w r3, sl, r1 │ │ │ │ │ - add r1, lr │ │ │ │ │ + vldr d1, [r6, #-8] │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ - vadd.f64 d13, d4, d5 │ │ │ │ │ - vsub.f64 d10, d4, d5 │ │ │ │ │ - vadd.f64 d11, d6, d7 │ │ │ │ │ - vsub.f64 d7, d6, d7 │ │ │ │ │ - vstr d11, [sp, #272] @ 0x110 │ │ │ │ │ - vldr d3, [r5, #-168] @ 0xffffff58 │ │ │ │ │ - vldr d5, [lr] │ │ │ │ │ - vldr d6, [sl] │ │ │ │ │ - vstr d7, [sp, #328] @ 0x148 │ │ │ │ │ - vldr d7, [r5, #-176] @ 0xffffff50 │ │ │ │ │ + vldr d3, [r6, #-168] @ 0xffffff58 │ │ │ │ │ + vadd.f64 d14, d4, d5 │ │ │ │ │ + vsub.f64 d11, d4, d5 │ │ │ │ │ + vldr d5, [r8] │ │ │ │ │ + vadd.f64 d0, d6, d7 │ │ │ │ │ + vsub.f64 d10, d6, d7 │ │ │ │ │ + vldr d7, [r6, #-176] @ 0xffffff50 │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ - vldr d2, [r1] │ │ │ │ │ - vldr d1, [r5, #-8] │ │ │ │ │ + vstr d14, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d6, [fp] │ │ │ │ │ + vstr d11, [sp, #296] @ 0x128 │ │ │ │ │ + vstr d10, [sp, #320] @ 0x140 │ │ │ │ │ + vmov.f64 d15, d0 │ │ │ │ │ vmla.f64 d4, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ - vldr d3, [r5, #-16] │ │ │ │ │ - str r1, [sp, #120] @ 0x78 │ │ │ │ │ - mov.w r1, ip, lsl #7 │ │ │ │ │ - str r3, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d3, [r6, #-16] │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + add.w r0, r5, r8 │ │ │ │ │ + mov r5, r7 │ │ │ │ │ + vldr d2, [r0] │ │ │ │ │ + add r5, r3 │ │ │ │ │ + add r3, ip │ │ │ │ │ + str r0, [sp, #128] @ 0x80 │ │ │ │ │ + mov.w r0, lr, lsl #7 │ │ │ │ │ + str r5, [sp, #132] @ 0x84 │ │ │ │ │ + add r7, r0 │ │ │ │ │ + add r0, ip │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ - adds r3, r6, r1 │ │ │ │ │ - str r3, [sp, #124] @ 0x7c │ │ │ │ │ vmla.f64 d5, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vstr d10, [sp, #304] @ 0x130 │ │ │ │ │ - vstr d13, [sp, #264] @ 0x108 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ - vldr d2, [r5, #-216] @ 0xffffff28 │ │ │ │ │ + vldr d2, [r6, #-216] @ 0xffffff28 │ │ │ │ │ + vldr d3, [r3] │ │ │ │ │ vadd.f64 d1, d4, d5 │ │ │ │ │ vsub.f64 d10, d4, d5 │ │ │ │ │ - vldr d4, [r5, #-56] @ 0xffffffc8 │ │ │ │ │ - vadd.f64 d8, d6, d7 │ │ │ │ │ + vldr d4, [r6, #-56] @ 0xffffffc8 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ vsub.f64 d11, d6, d7 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - adds r3, r1, r7 │ │ │ │ │ - str r3, [sp, #128] @ 0x80 │ │ │ │ │ - vldr d6, [r5, #-64] @ 0xffffffc0 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - movs r3, #48 @ 0x30 │ │ │ │ │ - mul.w r3, r3, ip │ │ │ │ │ + vadd.f64 d8, d6, d7 │ │ │ │ │ + vldr d6, [r6, #-64] @ 0xffffffc0 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ vmul.f64 d9, d5, d4 │ │ │ │ │ vmla.f64 d9, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ - adds r1, r6, r3 │ │ │ │ │ - add r3, r7 │ │ │ │ │ - vldr d4, [r5, #-224] @ 0xffffff20 │ │ │ │ │ - str r1, [sp, #132] @ 0x84 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ + vldr d4, [r6, #-224] @ 0xffffff20 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ vmul.f64 d6, d3, d2 │ │ │ │ │ vmla.f64 d6, d5, d4 │ │ │ │ │ vmul.f64 d5, d5, d2 │ │ │ │ │ vnmls.f64 d5, d3, d4 │ │ │ │ │ - vsub.f64 d4, d12, d1 │ │ │ │ │ - vadd.f64 d1, d12, d1 │ │ │ │ │ vadd.f64 d2, d9, d6 │ │ │ │ │ - vstr d4, [sp, #280] @ 0x118 │ │ │ │ │ vsub.f64 d6, d9, d6 │ │ │ │ │ - vsub.f64 d9, d2, d13 │ │ │ │ │ - vldr d13, [sp, #296] @ 0x128 │ │ │ │ │ vadd.f64 d0, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vsub.f64 d3, d13, d8 │ │ │ │ │ - vadd.f64 d8, d13, d8 │ │ │ │ │ - vadd.f64 d5, d4, d9 │ │ │ │ │ - vldr d13, [sp, #272] @ 0x110 │ │ │ │ │ - vldr d4, [sp, #272] @ 0x110 │ │ │ │ │ - vstr d9, [sp, #288] @ 0x120 │ │ │ │ │ - vsub.f64 d4, d0, d4 │ │ │ │ │ - vadd.f64 d0, d13, d0 │ │ │ │ │ - vadd.f64 d13, d8, d0 │ │ │ │ │ + vsub.f64 d9, d2, d14 │ │ │ │ │ + vldr d14, [sp, #280] @ 0x118 │ │ │ │ │ + vsub.f64 d5, d12, d1 │ │ │ │ │ + vadd.f64 d1, d12, d1 │ │ │ │ │ + vsub.f64 d4, d0, d15 │ │ │ │ │ + vadd.f64 d0, d15, d0 │ │ │ │ │ + vsub.f64 d3, d14, d8 │ │ │ │ │ + vadd.f64 d8, d14, d8 │ │ │ │ │ + vstr d5, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d9, [sp, #272] @ 0x110 │ │ │ │ │ + vadd.f64 d5, d5, d9 │ │ │ │ │ + vadd.f64 d14, d8, d0 │ │ │ │ │ vadd.f64 d9, d3, d4 │ │ │ │ │ vsub.f64 d4, d3, d4 │ │ │ │ │ - vstr d13, [sp, #472] @ 0x1d8 │ │ │ │ │ - vldr d13, [sp, #264] @ 0x108 │ │ │ │ │ - vmul.f64 d3, d4, d15 │ │ │ │ │ - vstr d1, [sp, #264] @ 0x108 │ │ │ │ │ - vadd.f64 d12, d13, d2 │ │ │ │ │ - vstr d12, [sp, #272] @ 0x110 │ │ │ │ │ - vadd.f64 d2, d1, d12 │ │ │ │ │ - vldr d13, [sp, #304] @ 0x130 │ │ │ │ │ - vadd.f64 d1, d14, d10 │ │ │ │ │ + vstr d14, [sp, #464] @ 0x1d0 │ │ │ │ │ + vldr d14, [sp, #256] @ 0x100 │ │ │ │ │ + vadd.f64 d14, d14, d2 │ │ │ │ │ + vadd.f64 d2, d1, d14 │ │ │ │ │ + vstr d14, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d14, [sp, #288] @ 0x120 │ │ │ │ │ + vstr d2, [sp, #472] @ 0x1d8 │ │ │ │ │ + vldr d2, [sp, #296] @ 0x128 │ │ │ │ │ + vadd.f64 d12, d14, d10 │ │ │ │ │ vsub.f64 d10, d14, d10 │ │ │ │ │ + ldr r5, [sp, #12] │ │ │ │ │ + vadd.f64 d15, d2, d7 │ │ │ │ │ + vmov.f64 d14, d2 │ │ │ │ │ + vldr d2, [sp, #320] @ 0x140 │ │ │ │ │ + vstr d12, [sp, #280] @ 0x118 │ │ │ │ │ + vstr d15, [sp, #288] @ 0x120 │ │ │ │ │ + vadd.f64 d15, d12, d15 │ │ │ │ │ vldr d12, [sp, #160] @ 0xa0 │ │ │ │ │ - ldr r1, [sp, #0] │ │ │ │ │ - vsub.f64 d14, d7, d13 │ │ │ │ │ - vstr d2, [sp, #480] @ 0x1e0 │ │ │ │ │ - vadd.f64 d2, d13, d7 │ │ │ │ │ - vldr d13, [sp, #320] @ 0x140 │ │ │ │ │ - vstr d1, [sp, #296] @ 0x128 │ │ │ │ │ - vadd.f64 d7, d10, d14 │ │ │ │ │ - vstr d14, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d14, [sp, #328] @ 0x148 │ │ │ │ │ - vadd.f64 d1, d1, d2 │ │ │ │ │ - vstr d2, [sp, #304] @ 0x130 │ │ │ │ │ + vstr d10, [sp, #296] @ 0x128 │ │ │ │ │ + vstr d15, [sp, #480] @ 0x1e0 │ │ │ │ │ + vsub.f64 d15, d7, d14 │ │ │ │ │ + vldr d14, [sp, #312] @ 0x138 │ │ │ │ │ + vadd.f64 d7, d10, d15 │ │ │ │ │ + vstr d15, [sp, #304] @ 0x130 │ │ │ │ │ + vadd.f64 d15, d2, d6 │ │ │ │ │ + vsub.f64 d6, d6, d2 │ │ │ │ │ + vldr d10, [pc, #964] @ a18 │ │ │ │ │ + vstr d15, [sp, #320] @ 0x140 │ │ │ │ │ + vstr d7, [sp, #488] @ 0x1e8 │ │ │ │ │ + vadd.f64 d7, d14, d11 │ │ │ │ │ + vmul.f64 d3, d4, d10 │ │ │ │ │ + vstr d7, [sp, #312] @ 0x138 │ │ │ │ │ + vadd.f64 d7, d7, d15 │ │ │ │ │ vstr d7, [sp, #496] @ 0x1f0 │ │ │ │ │ - vadd.f64 d7, d13, d11 │ │ │ │ │ - vsub.f64 d11, d13, d11 │ │ │ │ │ - vsub.f64 d13, d6, d14 │ │ │ │ │ - vadd.f64 d2, d14, d6 │ │ │ │ │ - vldr d14, [sp, #344] @ 0x158 │ │ │ │ │ - vstr d1, [sp, #488] @ 0x1e8 │ │ │ │ │ - vmov.f64 d1, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vstr d7, [sp, #320] @ 0x140 │ │ │ │ │ - vadd.f64 d6, d11, d13 │ │ │ │ │ - vstr d13, [sp, #336] @ 0x150 │ │ │ │ │ - vadd.f64 d7, d7, d2 │ │ │ │ │ - vstr d2, [sp, #328] @ 0x148 │ │ │ │ │ - vstr d6, [sp, #512] @ 0x200 │ │ │ │ │ - vldr d6, [sp, #408] @ 0x198 │ │ │ │ │ - vstr d7, [sp, #504] @ 0x1f8 │ │ │ │ │ - vldr d7, [pc, #956] @ a28 │ │ │ │ │ + vsub.f64 d7, d14, d11 │ │ │ │ │ + vmov.f64 d11, d6 │ │ │ │ │ + vadd.f64 d14, d7, d6 │ │ │ │ │ + vldr d6, [sp, #400] @ 0x190 │ │ │ │ │ + vstr d7, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d7, [pc, #920] @ a20 │ │ │ │ │ vsub.f64 d2, d5, d6 │ │ │ │ │ + vmov.f64 d15, d14 │ │ │ │ │ + vldr d14, [sp, #336] @ 0x150 │ │ │ │ │ vadd.f64 d5, d6, d5 │ │ │ │ │ - vmov.f64 d6, d14 │ │ │ │ │ - vmov.f64 d13, d7 │ │ │ │ │ + vmov.f64 d6, #80 @ 0x3e800000 0.250 │ │ │ │ │ vmul.f64 d2, d2, d7 │ │ │ │ │ - vldr d7, [sp, #152] @ 0x98 │ │ │ │ │ - vmls.f64 d6, d5, d1 │ │ │ │ │ + vmov.f64 d7, d14 │ │ │ │ │ + vmls.f64 d7, d5, d6 │ │ │ │ │ vadd.f64 d5, d14, d5 │ │ │ │ │ + vldr d14, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d5, [r5] │ │ │ │ │ + ldr r5, [sp, #96] @ 0x60 │ │ │ │ │ + vmov.f64 d6, d7 │ │ │ │ │ + vldr d7, [sp, #152] @ 0x98 │ │ │ │ │ + vadd.f64 d5, d2, d6 │ │ │ │ │ + vsub.f64 d6, d6, d2 │ │ │ │ │ vsub.f64 d7, d7, d12 │ │ │ │ │ - vldr d12, [pc, #924] @ a30 │ │ │ │ │ - vstr d5, [r1] │ │ │ │ │ - ldr r1, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d12, [pc, #860] @ a28 │ │ │ │ │ vnmls.f64 d3, d7, d12 │ │ │ │ │ - vmul.f64 d7, d7, d15 │ │ │ │ │ + vmul.f64 d7, d7, d10 │ │ │ │ │ vmla.f64 d7, d4, d12 │ │ │ │ │ - vmov.f64 d12, d13 │ │ │ │ │ - vadd.f64 d5, d2, d6 │ │ │ │ │ - vsub.f64 d6, d6, d2 │ │ │ │ │ + vldr d12, [sp, #408] @ 0x198 │ │ │ │ │ vsub.f64 d4, d5, d7 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vstr d4, [r1] │ │ │ │ │ - ldr r1, [sp, #132] @ 0x84 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ + vsub.f64 d5, d9, d12 │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ + vadd.f64 d4, d12, d9 │ │ │ │ │ + ldr r5, [sp, #132] @ 0x84 │ │ │ │ │ + vldr d9, [sp, #392] @ 0x188 │ │ │ │ │ + vldr d12, [pc, #812] @ a28 │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ vsub.f64 d7, d6, d3 │ │ │ │ │ - ldr r1, [sp, #76] @ 0x4c │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ - vldr d6, [sp, #416] @ 0x1a0 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ - vsub.f64 d5, d9, d6 │ │ │ │ │ - ldr r1, [sp, #28] │ │ │ │ │ - vadd.f64 d4, d6, d9 │ │ │ │ │ + ldr r5, [sp, #88] @ 0x58 │ │ │ │ │ + vmov.f64 d2, d9 │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ + ldr r5, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d7, [pc, #776] @ a20 │ │ │ │ │ + vstr d3, [r5] │ │ │ │ │ + vmov.f64 d3, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vmul.f64 d5, d5, d7 │ │ │ │ │ vldr d7, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d9, [sp, #400] @ 0x190 │ │ │ │ │ - vmul.f64 d5, d5, d13 │ │ │ │ │ - vstr d3, [r1] │ │ │ │ │ - vldr d3, [sp, #136] @ 0x88 │ │ │ │ │ - vmov.f64 d6, d9 │ │ │ │ │ - vldr d13, [sp, #280] @ 0x118 │ │ │ │ │ - vmls.f64 d6, d4, d1 │ │ │ │ │ - vldr d14, [sp, #288] @ 0x120 │ │ │ │ │ + vmls.f64 d2, d4, d3 │ │ │ │ │ + vmov.f64 d10, d3 │ │ │ │ │ vadd.f64 d4, d9, d4 │ │ │ │ │ - vsub.f64 d7, d3, d7 │ │ │ │ │ - ldr r1, [sp, #4] │ │ │ │ │ - vmov.f64 d9, d12 │ │ │ │ │ - vsub.f64 d2, d13, d14 │ │ │ │ │ - vldr d13, [pc, #792] @ a30 │ │ │ │ │ - vldr d14, [sp, #480] @ 0x1e0 │ │ │ │ │ - vstr d4, [r1] │ │ │ │ │ - ldr r1, [sp, #88] @ 0x58 │ │ │ │ │ - vmul.f64 d3, d2, d15 │ │ │ │ │ + vldr d9, [pc, #744] @ a20 │ │ │ │ │ + vmov.f64 d6, d2 │ │ │ │ │ + vldr d2, [sp, #136] @ 0x88 │ │ │ │ │ + vsub.f64 d7, d2, d7 │ │ │ │ │ + vldr d2, [sp, #272] @ 0x110 │ │ │ │ │ + ldr r5, [sp, #16] │ │ │ │ │ + vsub.f64 d2, d14, d2 │ │ │ │ │ + vldr d14, [pc, #712] @ a18 │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vnmls.f64 d3, d7, d13 │ │ │ │ │ - vmul.f64 d7, d7, d15 │ │ │ │ │ - vmla.f64 d7, d2, d13 │ │ │ │ │ + ldr r5, [sp, #104] @ 0x68 │ │ │ │ │ + vmul.f64 d3, d2, d14 │ │ │ │ │ + vnmls.f64 d3, d7, d12 │ │ │ │ │ + vmul.f64 d7, d7, d14 │ │ │ │ │ + vldr d14, [sp, #344] @ 0x158 │ │ │ │ │ + vmla.f64 d7, d2, d12 │ │ │ │ │ + vldr d12, [sp, #424] @ 0x1a8 │ │ │ │ │ + vmov.f64 d5, d14 │ │ │ │ │ vsub.f64 d2, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [sp, #432] @ 0x1b0 │ │ │ │ │ + vldr d4, [sp, #472] @ 0x1d8 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ vadd.f64 d7, d3, d6 │ │ │ │ │ - ldr r1, [sp, #32] │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ - vldr d3, [sp, #176] @ 0xb0 │ │ │ │ │ - ldr r3, [sp, #24] │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ + ldr r3, [sp, #32] │ │ │ │ │ + ldr r5, [sp, #92] @ 0x5c │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ vsub.f64 d7, d8, d0 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ - vsub.f64 d6, d14, d4 │ │ │ │ │ - vadd.f64 d4, d4, d14 │ │ │ │ │ - vldr d14, [sp, #352] @ 0x160 │ │ │ │ │ - ldr r1, [sp, #68] @ 0x44 │ │ │ │ │ - vmov.f64 d8, d13 │ │ │ │ │ - ldr r0, [sp, #20] │ │ │ │ │ - vmov.f64 d0, d9 │ │ │ │ │ - vmul.f64 d6, d6, d12 │ │ │ │ │ + ldr r5, [sp, #44] @ 0x2c │ │ │ │ │ + vldr d0, [sp, #176] @ 0xb0 │ │ │ │ │ + vldr d8, [sp, #384] @ 0x180 │ │ │ │ │ + vstr d6, [r5] │ │ │ │ │ + vsub.f64 d6, d4, d12 │ │ │ │ │ + vadd.f64 d4, d12, d4 │ │ │ │ │ + ldr r5, [sp, #0] │ │ │ │ │ vldr d12, [sp, #168] @ 0xa8 │ │ │ │ │ - vmov.f64 d5, d14 │ │ │ │ │ - vmls.f64 d5, d4, d1 │ │ │ │ │ + vmls.f64 d5, d4, d10 │ │ │ │ │ + vmul.f64 d6, d6, d9 │ │ │ │ │ vadd.f64 d4, d14, d4 │ │ │ │ │ - vsub.f64 d2, d12, d3 │ │ │ │ │ - vldr d12, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d14, [sp, #272] @ 0x110 │ │ │ │ │ - vstr d4, [r6] │ │ │ │ │ - vmul.f64 d3, d2, d15 │ │ │ │ │ - vmla.f64 d3, d7, d13 │ │ │ │ │ - vmul.f64 d7, d7, d15 │ │ │ │ │ + vldr d14, [sp, #464] @ 0x1d0 │ │ │ │ │ + vsub.f64 d2, d12, d0 │ │ │ │ │ + vldr d0, [pc, #576] @ a18 │ │ │ │ │ + vldr d12, [pc, #588] @ a28 │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ + ldr r5, [sp, #80] @ 0x50 │ │ │ │ │ + vmul.f64 d3, d2, d0 │ │ │ │ │ + vmov.f64 d10, d0 │ │ │ │ │ vsub.f64 d4, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vnmls.f64 d7, d2, d13 │ │ │ │ │ - vldr d13, [sp, #472] @ 0x1d8 │ │ │ │ │ + vldr d5, [sp, #416] @ 0x1a0 │ │ │ │ │ + vmla.f64 d3, d7, d12 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ + vmov.f64 d0, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vnmls.f64 d7, d2, d12 │ │ │ │ │ vsub.f64 d2, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vstr d2, [r1] │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ + vadd.f64 d4, d5, d14 │ │ │ │ │ + vstr d2, [r5] │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d6, d3 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ - vldr d6, [sp, #424] @ 0x1a8 │ │ │ │ │ - vldr d2, [sp, #192] @ 0xc0 │ │ │ │ │ - ldr r1, [sp, #124] @ 0x7c │ │ │ │ │ + ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ + ldr r5, [sp, #84] @ 0x54 │ │ │ │ │ vstr d7, [r4] │ │ │ │ │ - vsub.f64 d7, d13, d6 │ │ │ │ │ - vadd.f64 d4, d6, d13 │ │ │ │ │ - vldr d13, [sp, #264] @ 0x108 │ │ │ │ │ - vsub.f64 d2, d12, d2 │ │ │ │ │ - vstr d3, [r1] │ │ │ │ │ - vsub.f64 d6, d13, d14 │ │ │ │ │ + vsub.f64 d7, d14, d5 │ │ │ │ │ + vmov.f64 d5, d8 │ │ │ │ │ + vstr d3, [r7] │ │ │ │ │ + vldr d3, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d14, [sp, #256] @ 0x100 │ │ │ │ │ + vmls.f64 d5, d4, d0 │ │ │ │ │ + vadd.f64 d4, d8, d4 │ │ │ │ │ vmul.f64 d7, d7, d9 │ │ │ │ │ - vldr d9, [sp, #392] @ 0x188 │ │ │ │ │ - vmov.f64 d14, d8 │ │ │ │ │ - vmul.f64 d3, d2, d15 │ │ │ │ │ - vmov.f64 d5, d9 │ │ │ │ │ - vmla.f64 d3, d6, d8 │ │ │ │ │ - vmls.f64 d5, d4, d1 │ │ │ │ │ - vmul.f64 d6, d6, d15 │ │ │ │ │ - vadd.f64 d4, d9, d4 │ │ │ │ │ - vnmls.f64 d6, d2, d8 │ │ │ │ │ - vstr d4, [r7] │ │ │ │ │ + vsub.f64 d2, d3, d13 │ │ │ │ │ + vsub.f64 d6, d1, d14 │ │ │ │ │ + vstr d4, [ip] │ │ │ │ │ + vmov.f64 d14, d15 │ │ │ │ │ + vmov.f64 d1, d9 │ │ │ │ │ + vmul.f64 d3, d2, d10 │ │ │ │ │ vsub.f64 d4, d5, d7 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ + vmla.f64 d3, d6, d12 │ │ │ │ │ + vmul.f64 d6, d6, d10 │ │ │ │ │ + vmov.f64 d10, d12 │ │ │ │ │ + vnmls.f64 d6, d2, d12 │ │ │ │ │ vsub.f64 d2, d4, d6 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ - ldr r1, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d12, [sp, #464] @ 0x1d0 │ │ │ │ │ - vldr d13, [sp, #304] @ 0x130 │ │ │ │ │ - ldr r3, [sp, #128] @ 0x80 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ + vstr d6, [r5] │ │ │ │ │ vadd.f64 d6, d3, d7 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vldr d8, [sp, #376] @ 0x178 │ │ │ │ │ - vldr d3, [sp, #208] @ 0xd0 │ │ │ │ │ - ldr r0, [sp, #12] │ │ │ │ │ + ldr r3, [sp, #24] │ │ │ │ │ + vldr d12, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d15, [sp, #288] @ 0x120 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ - vldr d6, [sp, #512] @ 0x200 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - vmov.f64 d7, d8 │ │ │ │ │ - ldr r1, [sp, #96] @ 0x60 │ │ │ │ │ - vadd.f64 d4, d12, d6 │ │ │ │ │ - vsub.f64 d5, d6, d12 │ │ │ │ │ - vldr d12, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d6, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d9, [sp, #248] @ 0xf8 │ │ │ │ │ - vsub.f64 d2, d12, d13 │ │ │ │ │ - vmls.f64 d7, d4, d1 │ │ │ │ │ - vsub.f64 d6, d6, d3 │ │ │ │ │ - vmul.f64 d5, d5, d0 │ │ │ │ │ - vadd.f64 d4, d8, d4 │ │ │ │ │ - vldr d13, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d12, [sp, #488] @ 0x1e8 │ │ │ │ │ - vmul.f64 d3, d2, d15 │ │ │ │ │ - vldr d8, [sp, #256] @ 0x100 │ │ │ │ │ - vsub.f64 d11, d11, d13 │ │ │ │ │ - ldr r4, [sp, #16] │ │ │ │ │ - vstr d4, [r0] │ │ │ │ │ - ldr r0, [sp, #44] @ 0x2c │ │ │ │ │ - vnmls.f64 d3, d6, d14 │ │ │ │ │ - vmul.f64 d6, d6, d15 │ │ │ │ │ - vmla.f64 d6, d2, d14 │ │ │ │ │ + vldr d13, [sp, #368] @ 0x170 │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ + vldr d6, [sp, #192] @ 0xc0 │ │ │ │ │ + vadd.f64 d4, d12, d14 │ │ │ │ │ + vsub.f64 d5, d14, d12 │ │ │ │ │ + ldr r0, [sp, #28] │ │ │ │ │ + vldr d12, [sp, #200] @ 0xc8 │ │ │ │ │ + vmov.f64 d7, d13 │ │ │ │ │ + vmul.f64 d5, d5, d9 │ │ │ │ │ + ldr r7, [sp, #112] @ 0x70 │ │ │ │ │ + vmls.f64 d7, d4, d0 │ │ │ │ │ + vadd.f64 d4, d13, d4 │ │ │ │ │ + ldr r5, [sp, #124] @ 0x7c │ │ │ │ │ + vsub.f64 d6, d6, d12 │ │ │ │ │ + vldr d8, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d12, [sp, #280] @ 0x118 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + vldr d13, [sp, #480] @ 0x1e0 │ │ │ │ │ + ldr r3, [sp, #128] @ 0x80 │ │ │ │ │ + vsub.f64 d2, d12, d15 │ │ │ │ │ vadd.f64 d4, d5, d7 │ │ │ │ │ + vldr d15, [pc, #296] @ a18 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ + vldr d12, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d9, [sp, #360] @ 0x168 │ │ │ │ │ + vmul.f64 d3, d2, d15 │ │ │ │ │ + vnmls.f64 d3, d6, d10 │ │ │ │ │ + vmul.f64 d6, d6, d15 │ │ │ │ │ + vmla.f64 d6, d2, d10 │ │ │ │ │ vadd.f64 d2, d6, d4 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vadd.f64 d6, d3, d7 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ + vldr d3, [sp, #328] @ 0x148 │ │ │ │ │ + vstr d2, [r7] │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ + vsub.f64 d11, d3, d11 │ │ │ │ │ + ldr r5, [sp, #72] @ 0x48 │ │ │ │ │ + ldr r7, [sp, #120] @ 0x78 │ │ │ │ │ + vstr d6, [r5] │ │ │ │ │ vmul.f64 d3, d11, d15 │ │ │ │ │ - vstr d2, [r1] │ │ │ │ │ - ldr r1, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d2, [sp, #368] @ 0x170 │ │ │ │ │ - vstr d4, [r1] │ │ │ │ │ - ldr r1, [sp, #60] @ 0x3c │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ - vmov.f64 d6, d2 │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ - vldr d7, [sp, #440] @ 0x1b8 │ │ │ │ │ - ldr r0, [sp, #104] @ 0x68 │ │ │ │ │ - vadd.f64 d4, d7, d12 │ │ │ │ │ - vsub.f64 d5, d12, d7 │ │ │ │ │ - vsub.f64 d7, d9, d8 │ │ │ │ │ - vmov.f64 d12, d14 │ │ │ │ │ - vmls.f64 d6, d4, d1 │ │ │ │ │ - vmul.f64 d5, d5, d0 │ │ │ │ │ - vnmls.f64 d3, d7, d14 │ │ │ │ │ + vmov.f64 d6, d9 │ │ │ │ │ + ldr r5, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ + ldr r5, [sp, #76] @ 0x4c │ │ │ │ │ + vldr d7, [sp, #432] @ 0x1b0 │ │ │ │ │ + vadd.f64 d4, d7, d13 │ │ │ │ │ + vsub.f64 d5, d13, d7 │ │ │ │ │ + vsub.f64 d7, d12, d8 │ │ │ │ │ + vmov.f64 d13, d15 │ │ │ │ │ + vmls.f64 d6, d4, d0 │ │ │ │ │ + vmul.f64 d5, d5, d1 │ │ │ │ │ + vnmls.f64 d3, d7, d10 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ - vmla.f64 d7, d11, d14 │ │ │ │ │ - vadd.f64 d4, d2, d4 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ + vadd.f64 d4, d9, d4 │ │ │ │ │ + vmla.f64 d7, d11, d10 │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vsub.f64 d2, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vstr d2, [r0] │ │ │ │ │ - ldr r0, [sp, #120] @ 0x78 │ │ │ │ │ - ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ - ldr r1, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d11, [sp, #216] @ 0xd8 │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ + vstr d2, [r7] │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d6, d3 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ - vldr d5, [sp, #456] @ 0x1c8 │ │ │ │ │ - vldr d9, [sp, #504] @ 0x1f8 │ │ │ │ │ - vldr d14, [sp, #312] @ 0x138 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ - vadd.f64 d4, d5, d9 │ │ │ │ │ - vldr d3, [sp, #224] @ 0xe0 │ │ │ │ │ - vsub.f64 d6, d10, d14 │ │ │ │ │ - vldr d8, [sp, #384] @ 0x180 │ │ │ │ │ - vsub.f64 d7, d9, d5 │ │ │ │ │ - ldr r2, [sp, #8] │ │ │ │ │ - vsub.f64 d2, d11, d3 │ │ │ │ │ - ldr r3, [sp, #52] @ 0x34 │ │ │ │ │ - vmov.f64 d5, d8 │ │ │ │ │ - ldr r4, [sp, #40] @ 0x28 │ │ │ │ │ - vmls.f64 d5, d4, d1 │ │ │ │ │ - vmul.f64 d7, d7, d0 │ │ │ │ │ - vadd.f64 d4, d8, d4 │ │ │ │ │ - vmul.f64 d3, d2, d15 │ │ │ │ │ - vmla.f64 d3, d6, d12 │ │ │ │ │ - vmul.f64 d6, d6, d15 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - ldr r2, [sp, #36] @ 0x24 │ │ │ │ │ - vnmls.f64 d6, d2, d12 │ │ │ │ │ - vsub.f64 d4, d5, d7 │ │ │ │ │ - vadd.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [sp, #496] @ 0x1f0 │ │ │ │ │ - vadd.f64 d2, d6, d4 │ │ │ │ │ - vsub.f64 d4, d4, d6 │ │ │ │ │ - vadd.f64 d6, d3, d7 │ │ │ │ │ - vsub.f64 d7, d7, d3 │ │ │ │ │ - vldr d3, [sp, #232] @ 0xe8 │ │ │ │ │ - vstr d2, [r3] │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - vstr d6, [fp] │ │ │ │ │ - vldr d6, [sp, #448] @ 0x1c0 │ │ │ │ │ - vstr d7, [sl] │ │ │ │ │ - vldr d2, [sp, #240] @ 0xf0 │ │ │ │ │ - vsub.f64 d7, d5, d6 │ │ │ │ │ - vadd.f64 d5, d6, d5 │ │ │ │ │ - vldr d4, [sp, #320] @ 0x140 │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ + ldr r0, [sp, #60] @ 0x3c │ │ │ │ │ + ldr r2, [sp, #20] │ │ │ │ │ + vldr d2, [sp, #216] @ 0xd8 │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ + vldr d11, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d3, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d12, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d4, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d15, [sp, #304] @ 0x130 │ │ │ │ │ vsub.f64 d2, d3, d2 │ │ │ │ │ - ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ - vmul.f64 d7, d7, d0 │ │ │ │ │ - vldr d0, [sp, #360] @ 0x168 │ │ │ │ │ - vmul.f64 d3, d2, d15 │ │ │ │ │ - vmov.f64 d6, d0 │ │ │ │ │ - vmls.f64 d6, d5, d1 │ │ │ │ │ - vldr d1, [sp, #328] @ 0x148 │ │ │ │ │ - vadd.f64 d5, d0, d5 │ │ │ │ │ - vsub.f64 d4, d4, d1 │ │ │ │ │ - vstr d5, [r9] │ │ │ │ │ - vmla.f64 d3, d4, d12 │ │ │ │ │ + vldr d9, [sp, #376] @ 0x178 │ │ │ │ │ + vadd.f64 d6, d11, d12 │ │ │ │ │ + vsub.f64 d7, d12, d11 │ │ │ │ │ + ldrd r4, r3, [sp, #48] @ 0x30 │ │ │ │ │ + vsub.f64 d4, d4, d15 │ │ │ │ │ + vmul.f64 d3, d2, d13 │ │ │ │ │ + vldr d15, [sp, #320] @ 0x140 │ │ │ │ │ + vmov.f64 d5, d9 │ │ │ │ │ + vmul.f64 d7, d7, d1 │ │ │ │ │ + vldr d8, [sp, #352] @ 0x160 │ │ │ │ │ + vmls.f64 d5, d6, d0 │ │ │ │ │ + vmla.f64 d3, d4, d10 │ │ │ │ │ + vmul.f64 d4, d4, d13 │ │ │ │ │ + vadd.f64 d6, d9, d6 │ │ │ │ │ + vldr d9, [sp, #488] @ 0x1e8 │ │ │ │ │ + vnmls.f64 d4, d2, d10 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + ldr r2, [sp, #64] @ 0x40 │ │ │ │ │ + vsub.f64 d6, d5, d7 │ │ │ │ │ + vadd.f64 d7, d7, d5 │ │ │ │ │ + vadd.f64 d2, d4, d6 │ │ │ │ │ + vsub.f64 d6, d6, d4 │ │ │ │ │ b.n a38 │ │ │ │ │ - nop │ │ │ │ │ + nop.w │ │ │ │ │ + .word 0x04755a5e │ │ │ │ │ + .word 0x3fe2cf23 │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ - vmul.f64 d4, d4, d15 │ │ │ │ │ - vsub.f64 d5, d6, d7 │ │ │ │ │ - vadd.f64 d7, d7, d6 │ │ │ │ │ - vnmls.f64 d4, d2, d12 │ │ │ │ │ + .word 0x000009fa │ │ │ │ │ + R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ + .word 0x00000000 │ │ │ │ │ + R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ + vmov.f64 d4, d8 │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ + vadd.f64 d6, d3, d7 │ │ │ │ │ + vsub.f64 d7, d7, d3 │ │ │ │ │ + ldr r2, [sp, #68] @ 0x44 │ │ │ │ │ + vldr d3, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ + vstr d7, [fp] │ │ │ │ │ + vldr d7, [sp, #440] @ 0x1b8 │ │ │ │ │ + vadd.f64 d5, d7, d9 │ │ │ │ │ + vsub.f64 d6, d9, d7 │ │ │ │ │ + vldr d7, [sp, #312] @ 0x138 │ │ │ │ │ + vsub.f64 d2, d7, d15 │ │ │ │ │ + vldr d7, [sp, #224] @ 0xe0 │ │ │ │ │ + vmul.f64 d6, d6, d1 │ │ │ │ │ + vmls.f64 d4, d5, d0 │ │ │ │ │ + vadd.f64 d5, d8, d5 │ │ │ │ │ + vsub.f64 d1, d7, d3 │ │ │ │ │ + vmul.f64 d7, d2, d13 │ │ │ │ │ + vstr d5, [sl] │ │ │ │ │ + vsub.f64 d5, d4, d6 │ │ │ │ │ + vnmls.f64 d7, d1, d10 │ │ │ │ │ + vmul.f64 d3, d1, d13 │ │ │ │ │ + vmla.f64 d3, d2, d10 │ │ │ │ │ + vsub.f64 d2, d5, d7 │ │ │ │ │ + vadd.f64 d5, d7, d5 │ │ │ │ │ + vadd.f64 d7, d6, d4 │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ vsub.f64 d6, d7, d3 │ │ │ │ │ vadd.f64 d7, d3, d7 │ │ │ │ │ - vsub.f64 d2, d5, d4 │ │ │ │ │ - vadd.f64 d4, d4, d5 │ │ │ │ │ - vstr d2, [r3] │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - vstr d6, [r8] │ │ │ │ │ - ldr r3, [sp, #632] @ 0x278 │ │ │ │ │ - vstr d7, [lr] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #632] @ 0x278 │ │ │ │ │ - ldr r3, [sp, #520] @ 0x208 │ │ │ │ │ - add r6, r3 │ │ │ │ │ - add r7, r3 │ │ │ │ │ - ldr r3, [sp, #524] @ 0x20c │ │ │ │ │ - eor.w ip, ip, r3 │ │ │ │ │ - ldrd r2, r3, [sp, #632] @ 0x278 │ │ │ │ │ + ldr r3, [sp, #616] @ 0x268 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + vstr d6, [r9] │ │ │ │ │ + vstr d7, [r8] │ │ │ │ │ + str r3, [sp, #616] @ 0x268 │ │ │ │ │ + ldr r5, [sp, #0] │ │ │ │ │ + ldr r3, [sp, #504] @ 0x1f8 │ │ │ │ │ + ldr r2, [sp, #616] @ 0x268 │ │ │ │ │ + add r5, r3 │ │ │ │ │ + add ip, r3 │ │ │ │ │ + ldr r3, [sp, #508] @ 0x1fc │ │ │ │ │ + str r5, [sp, #0] │ │ │ │ │ + eor.w lr, lr, r3 │ │ │ │ │ + ldr r3, [sp, #620] @ 0x26c │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 58 │ │ │ │ │ - add.w sp, sp, #532 @ 0x214 │ │ │ │ │ + bne.w 56 │ │ │ │ │ + add.w sp, sp, #516 @ 0x204 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000a90 : │ │ │ │ │ +00000b00 : │ │ │ │ │ fftw_codelet_t1_20(): │ │ │ │ │ - ldr r2, [pc, #8] @ (a9c ) │ │ │ │ │ - ldr r1, [pc, #12] @ (aa0 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (b0c ) │ │ │ │ │ + ldr r1, [pc, #12] @ (b10 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_dit_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── t1_25.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 5496 (bytes into file) │ │ │ │ │ + Start of section headers: 5568 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x1578: │ │ │ │ │ +There are 14 section headers, starting at offset 0x15c0: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 001210 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0014c0 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 001244 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 001244 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 001244 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 00124a 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 001252 000040 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 0014e8 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 001292 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 001292 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 0012c8 000170 10 12 18 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 001438 000087 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 001500 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 001258 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 001508 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 00128c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 00128c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 00128c 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 001292 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 00129a 000040 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 001530 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 0012da 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0012da 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 001310 000170 10 12 18 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 001480 000087 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 001548 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,26 +1,26 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 23 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 4604 FUNC LOCAL DEFAULT 1 t1_25 │ │ │ │ │ + 1: 00000001 4674 FUNC LOCAL DEFAULT 1 t1_25 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000003e8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000408 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000008b0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000930 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00001158 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 8: 000011c8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 9: 00001208 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000003f8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000418 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000008c0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000940 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00001180 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 000011f0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 9: 00001250 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 12: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 13: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 14: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 15: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 16: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 17: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 20: 000011fd 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_25 │ │ │ │ │ + 20: 00001245 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_25 │ │ │ │ │ 21: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_dit_register │ │ │ │ │ 22: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x14c0 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x1508 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000400 00001219 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000404 0000131a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00001208 00000f03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000120c 00000103 R_ARM_REL32 00000001 t1_25 │ │ │ │ │ -00001204 0000151e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ +00000410 00001219 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000414 0000131a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00001250 00000f03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00001254 00000103 R_ARM_REL32 00000001 t1_25 │ │ │ │ │ +0000124c 0000151e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x14e8 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x1530 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000a02 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000c02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001602 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,210 +1,206 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ t1_25(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r7, r0 │ │ │ │ │ - mov r8, r1 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r6, r1 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r7, r3 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub.w sp, sp, #604 @ 0x25c │ │ │ │ │ - mov.w r1, #384 @ 0x180 │ │ │ │ │ - mov r9, r3 │ │ │ │ │ - ldr r3, [pc, #1000] @ (400 ) │ │ │ │ │ - ldr r0, [sp, #704] @ 0x2c0 │ │ │ │ │ + ldr r1, [sp, #704] @ 0x2c0 │ │ │ │ │ + ldr r3, [pc, #1004] @ (410 ) │ │ │ │ │ + add.w r1, r1, r1, lsl #1 │ │ │ │ │ + add.w r4, r2, r1, lsl #7 │ │ │ │ │ + ldrd r2, r1, [sp, #704] @ 0x2c0 │ │ │ │ │ add r3, pc │ │ │ │ │ - mla r6, r1, r0, r2 │ │ │ │ │ - ldr r1, [sp, #708] @ 0x2c4 │ │ │ │ │ - cmp r0, r1 │ │ │ │ │ - bge.w 11f0 │ │ │ │ │ + cmp r2, r1 │ │ │ │ │ + bge.w 1224 │ │ │ │ │ ldr r2, [sp, #712] @ 0x2c8 │ │ │ │ │ - vldr d14, [pc, #956] @ 3e8 │ │ │ │ │ - vldr d15, [pc, #960] @ 3f0 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ + mov r5, r0 │ │ │ │ │ + vldr d14, [pc, #952] @ 3f8 │ │ │ │ │ + vldr d15, [pc, #956] @ 400 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ str r2, [sp, #592] @ 0x250 │ │ │ │ │ - ldr r2, [pc, #972] @ (404 ) │ │ │ │ │ + ldr r2, [pc, #968] @ (414 ) │ │ │ │ │ ldr r3, [r3, r2] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ str r3, [sp, #596] @ 0x254 │ │ │ │ │ - movs r3, #40 @ 0x28 │ │ │ │ │ - vldr d7, [r8] │ │ │ │ │ - vldr d12, [r6, #72] @ 0x48 │ │ │ │ │ - vldr d6, [r6, #64] @ 0x40 │ │ │ │ │ - mul.w r3, r3, r9 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + add.w r2, r7, r7, lsl #2 │ │ │ │ │ + mov.w r3, r2, lsl #3 │ │ │ │ │ + vldr d6, [r4, #64] @ 0x40 │ │ │ │ │ + add.w r1, r5, r3 │ │ │ │ │ + add.w r0, r6, r3 │ │ │ │ │ + vldr d12, [r4, #72] @ 0x48 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + str r1, [sp, #0] │ │ │ │ │ vstr d7, [sp, #208] @ 0xd0 │ │ │ │ │ - vldr d11, [r6, #312] @ 0x138 │ │ │ │ │ - adds r2, r7, r3 │ │ │ │ │ - add.w r1, r8, r3 │ │ │ │ │ - str r2, [sp, #8] │ │ │ │ │ - str r1, [sp, #16] │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - movs r2, #160 @ 0xa0 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - vldr d3, [r6, #152] @ 0x98 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - vldr d8, [r6, #232] @ 0xe8 │ │ │ │ │ - vmul.f64 d10, d5, d12 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + mov.w r1, r2, lsl #5 │ │ │ │ │ + str r0, [sp, #8] │ │ │ │ │ + mov.w r2, r2, lsl #4 │ │ │ │ │ + add.w r0, r5, r1 │ │ │ │ │ + add r1, r6 │ │ │ │ │ + vldr d3, [r4, #152] @ 0x98 │ │ │ │ │ + vmul.f64 d9, d5, d12 │ │ │ │ │ + vldr d11, [r4, #312] @ 0x138 │ │ │ │ │ + str r0, [sp, #16] │ │ │ │ │ vmul.f64 d12, d7, d12 │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ - add.w r4, r8, r2 │ │ │ │ │ - movs r2, #80 @ 0x50 │ │ │ │ │ - vmla.f64 d10, d7, d6 │ │ │ │ │ - str r0, [sp, #24] │ │ │ │ │ + str r1, [sp, #24] │ │ │ │ │ + vldr d8, [r4, #232] @ 0xe8 │ │ │ │ │ + vmla.f64 d9, d7, d6 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ vnmls.f64 d12, d5, d6 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - vldr d6, [r6, #304] @ 0x130 │ │ │ │ │ - add.w r0, r8, r2 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - vmul.f64 d9, d5, d11 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + add.w r1, r5, r2 │ │ │ │ │ + add r2, r6 │ │ │ │ │ + vldr d6, [r4, #304] @ 0x130 │ │ │ │ │ + str r1, [sp, #32] │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + str r2, [sp, #40] @ 0x28 │ │ │ │ │ + add r2, r3 │ │ │ │ │ + vmul.f64 d10, d5, d11 │ │ │ │ │ vmul.f64 d11, d7, d11 │ │ │ │ │ - vmla.f64 d9, d7, d6 │ │ │ │ │ - vldr d7, [r6, #144] @ 0x90 │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ - adds r5, r1, r3 │ │ │ │ │ - str r4, [sp, #32] │ │ │ │ │ - adds r4, r0, r3 │ │ │ │ │ + vldr d13, [pc, #820] @ 408 │ │ │ │ │ + str r2, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d1, [r2] │ │ │ │ │ + add.w r2, r7, r7, lsl #1 │ │ │ │ │ + vmla.f64 d10, d7, d6 │ │ │ │ │ + vldr d7, [r4, #144] @ 0x90 │ │ │ │ │ vnmls.f64 d11, d5, d6 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ vmul.f64 d5, d4, d3 │ │ │ │ │ - vldr d13, [pc, #808] @ 3f8 │ │ │ │ │ - vldr d1, [r4] │ │ │ │ │ - movs r2, #24 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + add r1, r3 │ │ │ │ │ + str r1, [sp, #48] @ 0x30 │ │ │ │ │ vmla.f64 d5, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ - vldr d3, [r6, #224] @ 0xe0 │ │ │ │ │ - vadd.f64 d0, d10, d9 │ │ │ │ │ - str r1, [sp, #40] @ 0x28 │ │ │ │ │ - str r5, [sp, #56] @ 0x38 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - vnmls.f64 d6, d4, d7 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - vmul.f64 d4, d1, d8 │ │ │ │ │ + vldr d3, [r4, #224] @ 0xe0 │ │ │ │ │ + vadd.f64 d0, d9, d10 │ │ │ │ │ vadd.f64 d2, d12, d11 │ │ │ │ │ vsub.f64 d12, d12, d11 │ │ │ │ │ - str r0, [sp, #48] @ 0x30 │ │ │ │ │ + vnmls.f64 d6, d4, d7 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + vmul.f64 d4, d1, d8 │ │ │ │ │ vmla.f64 d4, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ - str r4, [sp, #64] @ 0x40 │ │ │ │ │ - add.w r5, r8, r2 │ │ │ │ │ - adds r4, r7, r2 │ │ │ │ │ - adds r0, r5, r3 │ │ │ │ │ - adds r1, r4, r3 │ │ │ │ │ - movs r2, #144 @ 0x90 │ │ │ │ │ vnmls.f64 d7, d1, d3 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ vadd.f64 d1, d5, d4 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ - vsub.f64 d8, d0, d1 │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ - vadd.f64 d1, d0, d1 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ + vsub.f64 d8, d0, d1 │ │ │ │ │ + vadd.f64 d1, d0, d1 │ │ │ │ │ vmul.f64 d4, d5, d15 │ │ │ │ │ - vmul.f64 d8, d8, d13 │ │ │ │ │ - vstr d1, [sp, #232] @ 0xe8 │ │ │ │ │ vmul.f64 d6, d7, d15 │ │ │ │ │ + vmul.f64 d8, d8, d13 │ │ │ │ │ vstr d8, [sp, #216] @ 0xd8 │ │ │ │ │ vsub.f64 d8, d2, d3 │ │ │ │ │ vadd.f64 d2, d2, d3 │ │ │ │ │ vldr d3, [sp, #208] @ 0xd0 │ │ │ │ │ + vstr d1, [sp, #232] @ 0xe8 │ │ │ │ │ vmul.f64 d8, d8, d13 │ │ │ │ │ vmov.f64 d13, d1 │ │ │ │ │ vmov.f64 d1, #80 @ 0x3e800000 0.250 │ │ │ │ │ vmls.f64 d3, d2, d1 │ │ │ │ │ vstr d8, [sp, #224] @ 0xe0 │ │ │ │ │ - vldr d8, [r7] │ │ │ │ │ + vldr d8, [r5] │ │ │ │ │ vmls.f64 d8, d13, d1 │ │ │ │ │ vstr d8, [sp, #240] @ 0xf0 │ │ │ │ │ vstr d2, [sp, #248] @ 0xf8 │ │ │ │ │ + str r2, [sp, #204] @ 0xcc │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ vstr d3, [sp, #256] @ 0x100 │ │ │ │ │ - vsub.f64 d3, d10, d9 │ │ │ │ │ + vsub.f64 d3, d9, d10 │ │ │ │ │ vmov.f64 d10, d6 │ │ │ │ │ - vldr d13, [r6, #40] @ 0x28 │ │ │ │ │ + add.w r1, r5, r2 │ │ │ │ │ + add r2, r6 │ │ │ │ │ + vldr d6, [r4, #32] │ │ │ │ │ + vldr d13, [r4, #40] @ 0x28 │ │ │ │ │ vmla.f64 d10, d12, d14 │ │ │ │ │ vmul.f64 d12, d12, d15 │ │ │ │ │ - vldr d6, [r6, #32] │ │ │ │ │ + strd r1, r2, [sp, #68] @ 0x44 │ │ │ │ │ + vldr d9, [r4, #120] @ 0x78 │ │ │ │ │ vmla.f64 d4, d3, d14 │ │ │ │ │ vmul.f64 d3, d3, d15 │ │ │ │ │ - vldr d9, [r6, #120] @ 0x78 │ │ │ │ │ vnmls.f64 d12, d7, d14 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - str r0, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + add r1, r3 │ │ │ │ │ vmov.f64 d2, d3 │ │ │ │ │ - str r1, [sp, #84] @ 0x54 │ │ │ │ │ - str r4, [sp, #76] @ 0x4c │ │ │ │ │ - str r5, [sp, #80] @ 0x50 │ │ │ │ │ - vstr d10, [sp, #560] @ 0x230 │ │ │ │ │ vnmls.f64 d2, d5, d14 │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + add r2, r3 │ │ │ │ │ + vstr d10, [sp, #560] @ 0x230 │ │ │ │ │ + strd r1, r2, [sp, #76] @ 0x4c │ │ │ │ │ vstr d4, [sp, #544] @ 0x220 │ │ │ │ │ vstr d12, [sp, #568] @ 0x238 │ │ │ │ │ + vldr d4, [r4, #280] @ 0x118 │ │ │ │ │ vmul.f64 d12, d5, d13 │ │ │ │ │ vmul.f64 d13, d7, d13 │ │ │ │ │ + vstr d2, [sp, #552] @ 0x228 │ │ │ │ │ vmla.f64 d12, d7, d6 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - vldr d4, [r6, #280] @ 0x118 │ │ │ │ │ - adds r5, r1, r3 │ │ │ │ │ - str r5, [sp, #100] @ 0x64 │ │ │ │ │ vnmls.f64 d13, d5, d6 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ - vldr d6, [r6, #112] @ 0x70 │ │ │ │ │ - add.w r0, r8, r2 │ │ │ │ │ - adds r4, r0, r3 │ │ │ │ │ - movs r2, #104 @ 0x68 │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + mov.w r2, r7, lsl #3 │ │ │ │ │ + vldr d6, [r4, #112] @ 0x70 │ │ │ │ │ + add.w r1, r2, r7 │ │ │ │ │ + mov.w r1, r1, lsl #4 │ │ │ │ │ + vldr d2, [r4, #360] @ 0x168 │ │ │ │ │ + add.w r0, r5, r1 │ │ │ │ │ + add r1, r6 │ │ │ │ │ vmul.f64 d11, d5, d9 │ │ │ │ │ vmul.f64 d9, d7, d9 │ │ │ │ │ + strd r0, r1, [sp, #84] @ 0x54 │ │ │ │ │ vmla.f64 d11, d7, d6 │ │ │ │ │ - vldr d7, [r6, #272] @ 0x110 │ │ │ │ │ - vldr d3, [r4] │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - vstr d2, [sp, #552] @ 0x228 │ │ │ │ │ vnmls.f64 d9, d5, d6 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - vldr d2, [r6, #360] @ 0x168 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + add r1, r3 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + add r0, r3 │ │ │ │ │ + vldr d7, [r4, #272] @ 0x110 │ │ │ │ │ + str r1, [sp, #96] @ 0x60 │ │ │ │ │ vmul.f64 d8, d6, d4 │ │ │ │ │ - str r0, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ + mov.w r1, #104 @ 0x68 │ │ │ │ │ + str r0, [sp, #92] @ 0x5c │ │ │ │ │ + mul.w r1, r7, r1 │ │ │ │ │ vmla.f64 d8, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d4 │ │ │ │ │ - vldr d4, [r6, #352] @ 0x160 │ │ │ │ │ - add.w r0, r8, r2 │ │ │ │ │ - str r1, [sp, #92] @ 0x5c │ │ │ │ │ - str r4, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d4, [r4, #352] @ 0x160 │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ vmul.f64 d6, d3, d2 │ │ │ │ │ - adds r5, r7, r2 │ │ │ │ │ - str r0, [sp, #136] @ 0x88 │ │ │ │ │ - mov.w r2, r9, lsl #3 │ │ │ │ │ + add.w r0, r5, r1 │ │ │ │ │ + add r1, r6 │ │ │ │ │ + vldr d1, [r0] │ │ │ │ │ + str r0, [sp, #100] @ 0x64 │ │ │ │ │ + add.w r0, r5, r2 │ │ │ │ │ + str r1, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d0, [r4, #200] @ 0xc8 │ │ │ │ │ vmla.f64 d6, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ - vldr d1, [r5] │ │ │ │ │ - add.w r4, r8, r2 │ │ │ │ │ - str r5, [sp, #108] @ 0x6c │ │ │ │ │ - adds r5, r7, r2 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ - adds r1, r5, r3 │ │ │ │ │ - vldr d0, [r6, #200] @ 0xc8 │ │ │ │ │ + str r0, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ + add.w r1, r6, r2 │ │ │ │ │ + sub.w r2, r2, r7 │ │ │ │ │ + mov.w r2, r2, lsl #4 │ │ │ │ │ + str r1, [sp, #112] @ 0x70 │ │ │ │ │ vnmls.f64 d7, d3, d4 │ │ │ │ │ - vldr d4, [r6, #192] @ 0xc0 │ │ │ │ │ - mov.w r2, r9, lsl #7 │ │ │ │ │ - str r1, [sp, #128] @ 0x80 │ │ │ │ │ - add.w sl, r7, r2 │ │ │ │ │ + vldr d4, [r4, #192] @ 0xc0 │ │ │ │ │ vmul.f64 d3, d2, d0 │ │ │ │ │ - str r5, [sp, #112] @ 0x70 │ │ │ │ │ vmla.f64 d3, d1, d4 │ │ │ │ │ vmul.f64 d1, d1, d0 │ │ │ │ │ - add.w r0, sl, r3 │ │ │ │ │ - str r4, [sp, #120] @ 0x78 │ │ │ │ │ - str r0, [sp, #148] @ 0x94 │ │ │ │ │ vnmls.f64 d1, d2, d4 │ │ │ │ │ vsub.f64 d2, d9, d7 │ │ │ │ │ vadd.f64 d7, d9, d7 │ │ │ │ │ vsub.f64 d4, d11, d6 │ │ │ │ │ vadd.f64 d6, d11, d6 │ │ │ │ │ vsub.f64 d10, d3, d8 │ │ │ │ │ vadd.f64 d3, d8, d3 │ │ │ │ │ @@ -221,118 +217,113 @@ │ │ │ │ │ vmls.f64 d12, d1, d11 │ │ │ │ │ vmls.f64 d13, d9, d11 │ │ │ │ │ vstr d8, [sp, #584] @ 0x248 │ │ │ │ │ vmul.f64 d8, d0, d15 │ │ │ │ │ vmla.f64 d8, d2, d14 │ │ │ │ │ vmul.f64 d2, d2, d15 │ │ │ │ │ vnmls.f64 d2, d0, d14 │ │ │ │ │ - vldr d0, [pc, #248] @ 3f8 │ │ │ │ │ + vldr d0, [pc, #244] @ 408 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ vadd.f64 d1, d6, d12 │ │ │ │ │ vsub.f64 d3, d12, d6 │ │ │ │ │ vadd.f64 d5, d7, d13 │ │ │ │ │ vsub.f64 d13, d13, d7 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - add.w r5, r8, r2 │ │ │ │ │ - movs r2, #88 @ 0x58 │ │ │ │ │ - str r5, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + add r0, r3 │ │ │ │ │ + str r0, [sp, #120] @ 0x78 │ │ │ │ │ vadd.f64 d6, d8, d1 │ │ │ │ │ vadd.f64 d12, d2, d3 │ │ │ │ │ vsub.f64 d1, d1, d8 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ vstr d6, [sp, #264] @ 0x108 │ │ │ │ │ vsub.f64 d6, d3, d2 │ │ │ │ │ vstr d12, [sp, #272] @ 0x110 │ │ │ │ │ vstr d1, [sp, #280] @ 0x118 │ │ │ │ │ vstr d6, [sp, #288] @ 0x120 │ │ │ │ │ vmul.f64 d6, d10, d15 │ │ │ │ │ vmla.f64 d6, d4, d14 │ │ │ │ │ vmul.f64 d4, d4, d15 │ │ │ │ │ vnmls.f64 d4, d10, d14 │ │ │ │ │ vsub.f64 d9, d5, d6 │ │ │ │ │ vadd.f64 d5, d6, d5 │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ vstr d9, [sp, #296] @ 0x128 │ │ │ │ │ vsub.f64 d9, d13, d4 │ │ │ │ │ - vstr d5, [sp, #312] @ 0x138 │ │ │ │ │ vadd.f64 d4, d4, d13 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - vldr d13, [r6, #8] │ │ │ │ │ + vldr d13, [r4, #8] │ │ │ │ │ vstr d9, [sp, #304] @ 0x130 │ │ │ │ │ - vldr d9, [r6, #88] @ 0x58 │ │ │ │ │ + vstr d5, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + add r1, r3 │ │ │ │ │ + vldr d9, [r4, #88] @ 0x58 │ │ │ │ │ + str r1, [sp, #132] @ 0x84 │ │ │ │ │ + vstr d4, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d4, [r4, #248] @ 0xf8 │ │ │ │ │ vmul.f64 d12, d5, d13 │ │ │ │ │ vmul.f64 d13, d7, d13 │ │ │ │ │ vmla.f64 d12, d7, d6 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - adds r1, r4, r3 │ │ │ │ │ - vstr d4, [sp, #320] @ 0x140 │ │ │ │ │ - vldr d4, [r6, #248] @ 0xf8 │ │ │ │ │ - adds r4, r5, r3 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ vnmls.f64 d13, d5, d6 │ │ │ │ │ - vldr d6, [r6, #80] @ 0x50 │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ - str r1, [sp, #140] @ 0x8c │ │ │ │ │ - add.w r1, r8, r2 │ │ │ │ │ + mov.w r1, r7, lsl #7 │ │ │ │ │ + vldr d6, [r4, #80] @ 0x50 │ │ │ │ │ + add.w sl, r5, r1 │ │ │ │ │ + add r1, r6 │ │ │ │ │ + add.w r0, sl, r3 │ │ │ │ │ + strd r1, r0, [sp, #136] @ 0x88 │ │ │ │ │ vmul.f64 d11, d5, d9 │ │ │ │ │ vmul.f64 d9, d7, d9 │ │ │ │ │ vmla.f64 d11, d7, d6 │ │ │ │ │ - vldr d7, [r6, #240] @ 0xf0 │ │ │ │ │ vnmls.f64 d9, d5, d6 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + add r1, r3 │ │ │ │ │ vldr d5, [sl] │ │ │ │ │ - adds r5, r7, r2 │ │ │ │ │ - movs r2, #112 @ 0x70 │ │ │ │ │ + vldr d7, [r4, #240] @ 0xf0 │ │ │ │ │ vmul.f64 d8, d6, d4 │ │ │ │ │ vmla.f64 d8, d5, d7 │ │ │ │ │ - vmul.f64 d5, d5, d4 │ │ │ │ │ - b.n 408 │ │ │ │ │ - nop │ │ │ │ │ + b.n 418 │ │ │ │ │ nop.w │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ - .word 0x000003e2 │ │ │ │ │ + .word 0x000003dc │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ + vmul.f64 d5, d5, d4 │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - str r4, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d3, [r4] │ │ │ │ │ - mov.w r4, r9, lsl #5 │ │ │ │ │ - vldr d2, [r6, #328] @ 0x148 │ │ │ │ │ - add.w fp, r7, r4 │ │ │ │ │ - vldr d4, [r6, #320] @ 0x140 │ │ │ │ │ - add r4, r8 │ │ │ │ │ - vldr d0, [r6, #168] @ 0xa8 │ │ │ │ │ - add.w r0, fp, r3 │ │ │ │ │ + str r1, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ + mov.w r1, #88 @ 0x58 │ │ │ │ │ + mul.w r1, r7, r1 │ │ │ │ │ + vldr d0, [r4, #168] @ 0xa8 │ │ │ │ │ + vldr d2, [r4, #328] @ 0x148 │ │ │ │ │ + add.w r0, r5, r1 │ │ │ │ │ + add r1, r6 │ │ │ │ │ + vldr d4, [r4, #320] @ 0x140 │ │ │ │ │ + strd r0, r1, [sp, #148] @ 0x94 │ │ │ │ │ + vldr d1, [r0] │ │ │ │ │ + mov.w r0, r7, lsl #5 │ │ │ │ │ vmul.f64 d6, d3, d2 │ │ │ │ │ - vldr d1, [r5] │ │ │ │ │ + add.w fp, r5, r0 │ │ │ │ │ + add r0, r6 │ │ │ │ │ vmla.f64 d6, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ vldr d2, [r1] │ │ │ │ │ - str r5, [sp, #156] @ 0x9c │ │ │ │ │ - adds r5, r4, r3 │ │ │ │ │ - str r1, [sp, #160] @ 0xa0 │ │ │ │ │ - movs r1, #152 @ 0x98 │ │ │ │ │ + add.w r1, fp, r3 │ │ │ │ │ + strd r0, r1, [sp, #156] @ 0x9c │ │ │ │ │ vnmls.f64 d7, d3, d4 │ │ │ │ │ - vldr d4, [r6, #160] @ 0xa0 │ │ │ │ │ + vldr d4, [r4, #160] @ 0xa0 │ │ │ │ │ vmul.f64 d3, d2, d0 │ │ │ │ │ - str r0, [sp, #164] @ 0xa4 │ │ │ │ │ - mul.w r1, r1, r9 │ │ │ │ │ - str r5, [sp, #168] @ 0xa8 │ │ │ │ │ vmla.f64 d3, d1, d4 │ │ │ │ │ vmul.f64 d1, d1, d0 │ │ │ │ │ - add.w lr, r7, r1 │ │ │ │ │ - add r1, r8 │ │ │ │ │ vnmls.f64 d1, d2, d4 │ │ │ │ │ vsub.f64 d4, d11, d6 │ │ │ │ │ vadd.f64 d6, d11, d6 │ │ │ │ │ vsub.f64 d2, d9, d7 │ │ │ │ │ vadd.f64 d7, d9, d7 │ │ │ │ │ vsub.f64 d10, d3, d8 │ │ │ │ │ vadd.f64 d3, d8, d3 │ │ │ │ │ @@ -346,101 +337,107 @@ │ │ │ │ │ vadd.f64 d11, d13, d9 │ │ │ │ │ vstr d8, [sp, #328] @ 0x148 │ │ │ │ │ vmul.f64 d8, d0, d15 │ │ │ │ │ vmla.f64 d8, d2, d14 │ │ │ │ │ vmul.f64 d2, d2, d15 │ │ │ │ │ vstr d11, [sp, #336] @ 0x150 │ │ │ │ │ vmov.f64 d11, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vmls.f64 d12, d1, d11 │ │ │ │ │ vnmls.f64 d2, d0, d14 │ │ │ │ │ - vldr d0, [pc, #992] @ 8b0 │ │ │ │ │ + vldr d0, [pc, #996] @ 8c0 │ │ │ │ │ + vmls.f64 d12, d1, d11 │ │ │ │ │ vmls.f64 d13, d9, d11 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ vsub.f64 d3, d12, d6 │ │ │ │ │ vadd.f64 d1, d6, d12 │ │ │ │ │ vadd.f64 d5, d7, d13 │ │ │ │ │ vsub.f64 d13, d13, d7 │ │ │ │ │ vadd.f64 d6, d2, d3 │ │ │ │ │ vadd.f64 d12, d8, d1 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ + vstr d12, [sp, #344] @ 0x158 │ │ │ │ │ + vsub.f64 d12, d1, d8 │ │ │ │ │ vstr d6, [sp, #352] @ 0x160 │ │ │ │ │ vmul.f64 d6, d10, d15 │ │ │ │ │ vmla.f64 d6, d4, d14 │ │ │ │ │ vmul.f64 d4, d4, d15 │ │ │ │ │ - vstr d12, [sp, #344] @ 0x158 │ │ │ │ │ - vsub.f64 d12, d1, d8 │ │ │ │ │ + vstr d12, [sp, #360] @ 0x168 │ │ │ │ │ vstr d3, [sp, #368] @ 0x170 │ │ │ │ │ vnmls.f64 d4, d10, d14 │ │ │ │ │ - vstr d12, [sp, #360] @ 0x168 │ │ │ │ │ vsub.f64 d9, d5, d6 │ │ │ │ │ vadd.f64 d10, d6, d5 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - vldr d6, [r6, #48] @ 0x30 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + vldr d6, [r4, #48] @ 0x30 │ │ │ │ │ vsub.f64 d7, d13, d4 │ │ │ │ │ vadd.f64 d4, d4, d13 │ │ │ │ │ vstr d9, [sp, #376] @ 0x178 │ │ │ │ │ - vldr d9, [r6, #136] @ 0x88 │ │ │ │ │ - vstr d10, [sp, #392] @ 0x188 │ │ │ │ │ - vstr d4, [sp, #400] @ 0x190 │ │ │ │ │ - vldr d4, [r6, #56] @ 0x38 │ │ │ │ │ + vldr d9, [r4, #136] @ 0x88 │ │ │ │ │ vstr d7, [sp, #384] @ 0x180 │ │ │ │ │ + vstr d4, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d4, [r4, #56] @ 0x38 │ │ │ │ │ + vstr d10, [sp, #392] @ 0x188 │ │ │ │ │ vldr d7, [fp] │ │ │ │ │ vmul.f64 d12, d5, d4 │ │ │ │ │ vmla.f64 d12, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vmov.f64 d2, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - add.w r0, lr, r3 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + add.w r1, r0, r3 │ │ │ │ │ + str r1, [sp, #164] @ 0xa4 │ │ │ │ │ vnmls.f64 d2, d5, d6 │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ - vldr d6, [r6, #128] @ 0x80 │ │ │ │ │ - adds r5, r1, r3 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + mov.w r1, #152 @ 0x98 │ │ │ │ │ + vldr d6, [r4, #128] @ 0x80 │ │ │ │ │ + mul.w r1, r7, r1 │ │ │ │ │ + add.w r9, r5, r1 │ │ │ │ │ + add r1, r6 │ │ │ │ │ vmul.f64 d11, d5, d9 │ │ │ │ │ vmul.f64 d9, d7, d9 │ │ │ │ │ + add.w r0, r9, r3 │ │ │ │ │ + vmov.f64 d13, d2 │ │ │ │ │ vmla.f64 d11, d7, d6 │ │ │ │ │ - vldr d7, [r6, #288] @ 0x120 │ │ │ │ │ vnmls.f64 d9, d5, d6 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ - vldr d5, [lr] │ │ │ │ │ - vmov.f64 d13, d2 │ │ │ │ │ - vldr d4, [r6, #296] @ 0x128 │ │ │ │ │ - vldr d3, [r5] │ │ │ │ │ - vldr d2, [r6, #376] @ 0x178 │ │ │ │ │ + vldr d5, [r9] │ │ │ │ │ + vldr d7, [r4, #288] @ 0x120 │ │ │ │ │ + str r0, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d0, [r4, #216] @ 0xd8 │ │ │ │ │ + vstr d13, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d4, [r4, #296] @ 0x128 │ │ │ │ │ + vldr d2, [r4, #376] @ 0x178 │ │ │ │ │ vmul.f64 d8, d6, d4 │ │ │ │ │ - str r5, [sp, #176] @ 0xb0 │ │ │ │ │ vmla.f64 d8, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d4 │ │ │ │ │ - vldr d4, [r6, #368] @ 0x170 │ │ │ │ │ - add.w r5, r8, r2 │ │ │ │ │ - str r0, [sp, #172] @ 0xac │ │ │ │ │ - vldr d0, [r6, #216] @ 0xd8 │ │ │ │ │ + vldr d4, [r4, #368] @ 0x170 │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ + add.w r0, r1, r3 │ │ │ │ │ + vldr d3, [r0] │ │ │ │ │ + str r0, [sp, #172] @ 0xac │ │ │ │ │ + add.w r0, r5, r2 │ │ │ │ │ + add r2, r6 │ │ │ │ │ + vldr d1, [r0] │ │ │ │ │ + strd r0, r2, [sp, #176] @ 0xb0 │ │ │ │ │ vmul.f64 d6, d3, d2 │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ - vstr d13, [sp] │ │ │ │ │ vmla.f64 d6, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ - vldr d2, [r5] │ │ │ │ │ - vldr d1, [r0] │ │ │ │ │ - str r0, [sp, #180] @ 0xb4 │ │ │ │ │ - mov.w r0, r9, lsl #4 │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ + mov.w r2, r7, lsl #4 │ │ │ │ │ + add.w lr, r6, r2 │ │ │ │ │ + add.w r8, r5, r2 │ │ │ │ │ + add.w r0, r8, r3 │ │ │ │ │ + add r2, r7 │ │ │ │ │ vnmls.f64 d7, d3, d4 │ │ │ │ │ - vldr d4, [r6, #208] @ 0xd0 │ │ │ │ │ + vldr d4, [r4, #208] @ 0xd0 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ vmul.f64 d3, d2, d0 │ │ │ │ │ - add.w ip, r7, r0 │ │ │ │ │ - add r0, r8 │ │ │ │ │ - str r5, [sp, #184] @ 0xb8 │ │ │ │ │ + add.w ip, r5, r2 │ │ │ │ │ + add r2, r6 │ │ │ │ │ vmla.f64 d3, d1, d4 │ │ │ │ │ vmul.f64 d1, d1, d0 │ │ │ │ │ - adds r2, r0, r3 │ │ │ │ │ - add.w r5, ip, r3 │ │ │ │ │ - str r2, [sp, #192] @ 0xc0 │ │ │ │ │ - str r5, [sp, #188] @ 0xbc │ │ │ │ │ vnmls.f64 d1, d2, d4 │ │ │ │ │ vsub.f64 d4, d11, d6 │ │ │ │ │ vadd.f64 d6, d11, d6 │ │ │ │ │ vsub.f64 d2, d9, d7 │ │ │ │ │ vmov.f64 d11, #80 @ 0x3e800000 0.250 │ │ │ │ │ vadd.f64 d7, d9, d7 │ │ │ │ │ vsub.f64 d10, d3, d8 │ │ │ │ │ @@ -456,97 +453,93 @@ │ │ │ │ │ vadd.f64 d13, d13, d9 │ │ │ │ │ vstr d8, [sp, #408] @ 0x198 │ │ │ │ │ vmul.f64 d8, d0, d15 │ │ │ │ │ vmla.f64 d8, d2, d14 │ │ │ │ │ vmul.f64 d2, d2, d15 │ │ │ │ │ vstr d13, [sp, #416] @ 0x1a0 │ │ │ │ │ vnmls.f64 d2, d0, d14 │ │ │ │ │ - vldr d0, [pc, #580] @ 8b0 │ │ │ │ │ + vldr d0, [pc, #548] @ 8c0 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ vadd.f64 d1, d6, d12 │ │ │ │ │ vsub.f64 d3, d12, d6 │ │ │ │ │ vadd.f64 d6, d8, d1 │ │ │ │ │ vsub.f64 d1, d1, d8 │ │ │ │ │ vstr d6, [sp, #424] @ 0x1a8 │ │ │ │ │ vadd.f64 d6, d2, d3 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ - vldr d2, [sp] │ │ │ │ │ - vmls.f64 d2, d9, d11 │ │ │ │ │ - vstr d1, [sp, #440] @ 0x1b8 │ │ │ │ │ + vldr d2, [sp, #184] @ 0xb8 │ │ │ │ │ + str r0, [sp, #184] @ 0xb8 │ │ │ │ │ vstr d6, [sp, #432] @ 0x1b0 │ │ │ │ │ vmul.f64 d6, d10, d15 │ │ │ │ │ + vmls.f64 d2, d9, d11 │ │ │ │ │ + vstr d1, [sp, #440] @ 0x1b8 │ │ │ │ │ + vstr d3, [sp, #448] @ 0x1c0 │ │ │ │ │ vmla.f64 d6, d4, d14 │ │ │ │ │ vmul.f64 d4, d4, d15 │ │ │ │ │ - vstr d3, [sp, #448] @ 0x1c0 │ │ │ │ │ vnmls.f64 d4, d10, d14 │ │ │ │ │ vsub.f64 d7, d2, d5 │ │ │ │ │ vadd.f64 d3, d5, d2 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ + vldr d5, [lr] │ │ │ │ │ vsub.f64 d0, d3, d6 │ │ │ │ │ vadd.f64 d10, d6, d3 │ │ │ │ │ - vldr d6, [r6, #16] │ │ │ │ │ + vldr d6, [r4, #16] │ │ │ │ │ vsub.f64 d9, d7, d4 │ │ │ │ │ vadd.f64 d7, d4, d7 │ │ │ │ │ - vldr d4, [r6, #24] │ │ │ │ │ + vldr d4, [r4, #24] │ │ │ │ │ vstr d0, [sp, #456] @ 0x1c8 │ │ │ │ │ - vstr d10, [sp, #472] @ 0x1d8 │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ - vstr d7, [sp, #480] @ 0x1e0 │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ vstr d9, [sp, #464] @ 0x1d0 │ │ │ │ │ + vstr d7, [sp, #480] @ 0x1e0 │ │ │ │ │ + vldr d7, [r8] │ │ │ │ │ + vstr d10, [sp, #472] @ 0x1d8 │ │ │ │ │ vmov.f64 d12, d3 │ │ │ │ │ vmla.f64 d12, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vmov.f64 d13, d7 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + add.w r0, lr, r3 │ │ │ │ │ + str r0, [sp, #192] @ 0xc0 │ │ │ │ │ + vldr d9, [r4, #104] @ 0x68 │ │ │ │ │ vnmls.f64 d13, d5, d6 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - movs r2, #136 @ 0x88 │ │ │ │ │ - vldr d9, [r6, #104] @ 0x68 │ │ │ │ │ - vldr d6, [r6, #96] @ 0x60 │ │ │ │ │ - add.w r6, r6, #384 @ 0x180 │ │ │ │ │ - vldr d4, [r6, #-120] @ 0xffffff88 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + add.w r0, ip, r3 │ │ │ │ │ + add r3, r2 │ │ │ │ │ + vldr d6, [r4, #96] @ 0x60 │ │ │ │ │ + add.w r4, r4, #384 @ 0x180 │ │ │ │ │ + strd r0, r3, [sp, #196] @ 0xc4 │ │ │ │ │ + vldr d3, [r3] │ │ │ │ │ vmul.f64 d11, d5, d9 │ │ │ │ │ vmul.f64 d9, d7, d9 │ │ │ │ │ + vldr d4, [r4, #-120] @ 0xffffff88 │ │ │ │ │ + vldr d2, [r4, #-40] @ 0xffffffd8 │ │ │ │ │ + ldr r3, [sp, #204] @ 0xcc │ │ │ │ │ vmla.f64 d11, d7, d6 │ │ │ │ │ - adds r5, r7, r2 │ │ │ │ │ - add r2, r8 │ │ │ │ │ - vldr d7, [r6, #-128] @ 0xffffff80 │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ vnmls.f64 d9, d5, d6 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ - adds r2, r5, r3 │ │ │ │ │ - str r2, [sp, #196] @ 0xc4 │ │ │ │ │ + vldr d5, [ip] │ │ │ │ │ + mov.w r3, r3, lsl #5 │ │ │ │ │ + vldr d7, [r4, #-128] @ 0xffffff80 │ │ │ │ │ vmul.f64 d8, d6, d4 │ │ │ │ │ - vldr d2, [r6, #-40] @ 0xffffffd8 │ │ │ │ │ + vldr d0, [r4, #-200] @ 0xffffff38 │ │ │ │ │ vmla.f64 d8, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d4 │ │ │ │ │ - vldr d4, [r6, #-48] @ 0xffffffd0 │ │ │ │ │ - vldr d0, [r6, #-200] @ 0xffffff38 │ │ │ │ │ + vldr d4, [r4, #-48] @ 0xffffffd0 │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - ldr r2, [sp, #0] │ │ │ │ │ - add r3, r2 │ │ │ │ │ - str r3, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - movs r3, #96 @ 0x60 │ │ │ │ │ - mul.w r3, r3, r9 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ vmul.f64 d6, d3, d2 │ │ │ │ │ + add.w r0, r5, r3 │ │ │ │ │ + add r3, r6 │ │ │ │ │ + vldr d1, [r0] │ │ │ │ │ + str r0, [sp, #204] @ 0xcc │ │ │ │ │ vmla.f64 d6, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ - adds r2, r7, r3 │ │ │ │ │ - add r3, r8 │ │ │ │ │ - str r2, [sp, #204] @ 0xcc │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ vnmls.f64 d7, d3, d4 │ │ │ │ │ - vldr d1, [r2] │ │ │ │ │ - vldr d4, [r6, #-208] @ 0xffffff30 │ │ │ │ │ + vldr d4, [r4, #-208] @ 0xffffff30 │ │ │ │ │ vmul.f64 d3, d2, d0 │ │ │ │ │ vmla.f64 d3, d1, d4 │ │ │ │ │ vmul.f64 d1, d1, d0 │ │ │ │ │ vnmls.f64 d1, d2, d4 │ │ │ │ │ vsub.f64 d2, d9, d7 │ │ │ │ │ vadd.f64 d7, d9, d7 │ │ │ │ │ vsub.f64 d4, d11, d6 │ │ │ │ │ @@ -564,683 +557,692 @@ │ │ │ │ │ vmls.f64 d12, d1, d3 │ │ │ │ │ vadd.f64 d8, d13, d9 │ │ │ │ │ vstr d8, [sp, #488] @ 0x1e8 │ │ │ │ │ vmul.f64 d8, d0, d15 │ │ │ │ │ vmla.f64 d8, d2, d14 │ │ │ │ │ vmul.f64 d2, d2, d15 │ │ │ │ │ vnmls.f64 d2, d0, d14 │ │ │ │ │ - vldr d0, [pc, #172] @ 8b0 │ │ │ │ │ + vldr d0, [pc, #144] @ 8c0 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ vsub.f64 d3, d12, d6 │ │ │ │ │ vadd.f64 d1, d6, d12 │ │ │ │ │ vadd.f64 d6, d2, d3 │ │ │ │ │ vsub.f64 d2, d3, d2 │ │ │ │ │ vmul.f64 d3, d7, d0 │ │ │ │ │ vadd.f64 d12, d8, d1 │ │ │ │ │ vsub.f64 d8, d1, d8 │ │ │ │ │ vmov.f64 d1, d0 │ │ │ │ │ vstr d6, [sp, #504] @ 0x1f8 │ │ │ │ │ vmul.f64 d6, d10, d15 │ │ │ │ │ - vmla.f64 d6, d4, d14 │ │ │ │ │ - vmul.f64 d4, d4, d15 │ │ │ │ │ vstr d12, [sp, #496] @ 0x1f0 │ │ │ │ │ vldr d12, [sp, #584] @ 0x248 │ │ │ │ │ vstr d2, [sp, #512] @ 0x200 │ │ │ │ │ + vmla.f64 d6, d4, d14 │ │ │ │ │ + vmul.f64 d4, d4, d15 │ │ │ │ │ vnmls.f64 d4, d10, d14 │ │ │ │ │ vmov.f64 d10, #80 @ 0x3e800000 0.250 │ │ │ │ │ vmls.f64 d13, d9, d10 │ │ │ │ │ vsub.f64 d7, d13, d3 │ │ │ │ │ vadd.f64 d0, d3, d13 │ │ │ │ │ + vldr d13, [sp, #232] @ 0xe8 │ │ │ │ │ vldr d3, [sp, #488] @ 0x1e8 │ │ │ │ │ vsub.f64 d9, d7, d4 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ vsub.f64 d5, d0, d6 │ │ │ │ │ - vsub.f64 d7, d3, d12 │ │ │ │ │ vadd.f64 d0, d6, d0 │ │ │ │ │ + vsub.f64 d7, d3, d12 │ │ │ │ │ vstr d9, [sp, #528] @ 0x210 │ │ │ │ │ - vstr d4, [sp, #536] @ 0x218 │ │ │ │ │ vldr d9, [sp, #416] @ 0x1a0 │ │ │ │ │ + vstr d4, [sp, #536] @ 0x218 │ │ │ │ │ vldr d4, [sp, #336] @ 0x150 │ │ │ │ │ vstr d5, [sp, #520] @ 0x208 │ │ │ │ │ vmul.f64 d5, d7, d15 │ │ │ │ │ vsub.f64 d6, d4, d9 │ │ │ │ │ - vmov.f64 d9, d10 │ │ │ │ │ - vmla.f64 d5, d6, d14 │ │ │ │ │ - vmul.f64 d6, d6, d15 │ │ │ │ │ - vnmls.f64 d6, d7, d14 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - vldr d13, [sp, #232] @ 0xe8 │ │ │ │ │ - ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ - vadd.f64 d4, d7, d13 │ │ │ │ │ - b.n 930 │ │ │ │ │ - nop.w │ │ │ │ │ + b.n 940 │ │ │ │ │ + nop │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ .word 0x635b6bea │ │ │ │ │ .word 0x3fe8a80b │ │ │ │ │ .word 0xfeb501bc │ │ │ │ │ .word 0x3fe465c6 │ │ │ │ │ .word 0xc925819c │ │ │ │ │ .word 0x3fdb3ff7 │ │ │ │ │ .word 0xdcdc158c │ │ │ │ │ .word 0x3fecf457 │ │ │ │ │ - .word 0x5da15be0 │ │ │ │ │ - .word 0x3fc00aeb │ │ │ │ │ .word 0x5480d903 │ │ │ │ │ .word 0x3fefbf67 │ │ │ │ │ .word 0xff642e86 │ │ │ │ │ .word 0x3feb04bb │ │ │ │ │ + .word 0x5da15be0 │ │ │ │ │ + .word 0x3fc00aeb │ │ │ │ │ + .word 0x3c182b51 │ │ │ │ │ + .word 0x3fe1257e │ │ │ │ │ .word 0xfa1c0796 │ │ │ │ │ .word 0x3fcfd511 │ │ │ │ │ .word 0x1d101ee0 │ │ │ │ │ .word 0x3feefea2 │ │ │ │ │ - .word 0x3c182b51 │ │ │ │ │ - .word 0x3fe1257e │ │ │ │ │ .word 0x4e81c059 │ │ │ │ │ .word 0x3fec0ab4 │ │ │ │ │ .word 0x55112014 │ │ │ │ │ .word 0x3fe5e7cf │ │ │ │ │ .word 0x03d2b816 │ │ │ │ │ .word 0x3fe753b6 │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ .word 0x5cbfa951 │ │ │ │ │ .word 0x3fded50d │ │ │ │ │ + vmov.f64 d9, d10 │ │ │ │ │ + vmla.f64 d5, d6, d14 │ │ │ │ │ + vmul.f64 d6, d6, d15 │ │ │ │ │ + vnmls.f64 d6, d7, d14 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + vadd.f64 d4, d7, d13 │ │ │ │ │ vldr d13, [sp, #328] @ 0x148 │ │ │ │ │ + ldr r0, [sp, #32] │ │ │ │ │ vldr d7, [sp, #408] @ 0x198 │ │ │ │ │ + vldr d10, [sp, #560] @ 0x230 │ │ │ │ │ vadd.f64 d7, d13, d7 │ │ │ │ │ vldr d13, [sp, #576] @ 0x240 │ │ │ │ │ vadd.f64 d2, d13, d11 │ │ │ │ │ vsub.f64 d11, d11, d13 │ │ │ │ │ vldr d13, [sp, #416] @ 0x1a0 │ │ │ │ │ vadd.f64 d3, d7, d2 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ vmov.f64 d2, d4 │ │ │ │ │ - vmls.f64 d2, d3, d10 │ │ │ │ │ + vmls.f64 d2, d3, d9 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ - vstr d4, [r7] │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ vsub.f64 d4, d2, d7 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ vldr d2, [sp, #248] @ 0xf8 │ │ │ │ │ vsub.f64 d3, d4, d6 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ vldr d4, [sp, #328] @ 0x148 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - ldr r2, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ + ldr r0, [sp, #48] @ 0x30 │ │ │ │ │ vldr d3, [sp, #488] @ 0x1e8 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ vsub.f64 d6, d7, d5 │ │ │ │ │ - ldr r2, [sp, #24] │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ + ldr r0, [sp, #16] │ │ │ │ │ vldr d7, [sp, #408] @ 0x198 │ │ │ │ │ vadd.f64 d12, d12, d3 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ + ldr r0, [sp, #0] │ │ │ │ │ vsub.f64 d6, d4, d7 │ │ │ │ │ - ldr r2, [sp, #8] │ │ │ │ │ vldr d7, [sp, #208] @ 0xd0 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ vmul.f64 d5, d11, d15 │ │ │ │ │ + ldr r0, [sp, #40] @ 0x28 │ │ │ │ │ + vadd.f64 d4, d7, d2 │ │ │ │ │ vmla.f64 d5, d6, d14 │ │ │ │ │ vmul.f64 d6, d6, d15 │ │ │ │ │ - vadd.f64 d4, d7, d2 │ │ │ │ │ - ldr r2, [sp, #48] @ 0x30 │ │ │ │ │ vnmls.f64 d6, d11, d14 │ │ │ │ │ vldr d11, [sp, #336] @ 0x150 │ │ │ │ │ vadd.f64 d7, d11, d13 │ │ │ │ │ vmov.f64 d11, d4 │ │ │ │ │ vadd.f64 d3, d7, d12 │ │ │ │ │ vsub.f64 d7, d7, d12 │ │ │ │ │ - vldr d12, [pc, #-248] @ 8e8 │ │ │ │ │ - vmls.f64 d11, d3, d10 │ │ │ │ │ + vldr d12, [pc, #-284] @ 8f0 │ │ │ │ │ + vmls.f64 d11, d3, d9 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ - vldr d10, [sp, #560] @ 0x230 │ │ │ │ │ - vstr d4, [r8] │ │ │ │ │ - vsub.f64 d4, d11, d7 │ │ │ │ │ - vadd.f64 d7, d7, d11 │ │ │ │ │ + vstr d4, [r6] │ │ │ │ │ + vmov.f64 d2, d11 │ │ │ │ │ vldr d11, [sp, #216] @ 0xd8 │ │ │ │ │ + vsub.f64 d4, d2, d7 │ │ │ │ │ + vadd.f64 d7, d7, d2 │ │ │ │ │ vadd.f64 d3, d6, d4 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vsub.f64 d6, d7, d5 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - ldr r2, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d3, [pc, #-256] @ 918 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - ldr r2, [sp, #16] │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - ldr r2, [sp, #32] │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ + ldr r0, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d3, [pc, #-288] @ 928 │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ + ldr r0, [sp, #8] │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ + ldr r0, [sp, #24] │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ vldr d5, [sp, #240] @ 0xf0 │ │ │ │ │ vadd.f64 d7, d11, d5 │ │ │ │ │ - vldr d5, [pc, #-268] @ 928 │ │ │ │ │ + vldr d5, [pc, #-300] @ 938 │ │ │ │ │ vadd.f64 d11, d10, d7 │ │ │ │ │ vsub.f64 d13, d7, d10 │ │ │ │ │ - vstr d11, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d11, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d13, [sp] │ │ │ │ │ vldr d6, [sp, #224] @ 0xe0 │ │ │ │ │ vldr d7, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d11, [pc, #-376] @ 908 │ │ │ │ │ vldr d10, [sp, #376] @ 0x178 │ │ │ │ │ - vldr d11, [pc, #-352] @ 8f0 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ - vldr d6, [sp, #544] @ 0x220 │ │ │ │ │ vldr d2, [sp, #344] @ 0x158 │ │ │ │ │ - vstr d13, [sp, #8] │ │ │ │ │ + vldr d6, [sp, #544] @ 0x220 │ │ │ │ │ vldr d13, [sp, #424] @ 0x1a8 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vstr d6, [sp, #24] │ │ │ │ │ + vstr d4, [sp, #8] │ │ │ │ │ + vstr d6, [sp, #16] │ │ │ │ │ vmul.f64 d6, d10, d11 │ │ │ │ │ - vldr d11, [pc, #-384] @ 8f8 │ │ │ │ │ - vldr d10, [pc, #-372] @ 908 │ │ │ │ │ - vstr d4, [sp, #16] │ │ │ │ │ + vldr d11, [pc, #-412] @ 910 │ │ │ │ │ + vldr d10, [pc, #-408] @ 918 │ │ │ │ │ vmla.f64 d6, d2, d11 │ │ │ │ │ vldr d11, [sp, #456] @ 0x1c8 │ │ │ │ │ vmul.f64 d7, d11, d12 │ │ │ │ │ - vldr d11, [pc, #-400] @ 900 │ │ │ │ │ + vldr d11, [pc, #-448] @ 900 │ │ │ │ │ vmla.f64 d7, d13, d11 │ │ │ │ │ vldr d13, [sp, #520] @ 0x208 │ │ │ │ │ vmul.f64 d2, d13, d5 │ │ │ │ │ vldr d13, [sp, #496] @ 0x1f0 │ │ │ │ │ - vmla.f64 d2, d13, d10 │ │ │ │ │ - vldr d10, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d13, [pc, #-412] @ 910 │ │ │ │ │ vadd.f64 d4, d6, d7 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ - vldr d6, [pc, #-472] @ 8e0 │ │ │ │ │ + vldr d6, [pc, #-500] @ 8e8 │ │ │ │ │ + vmla.f64 d2, d13, d10 │ │ │ │ │ + vldr d10, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d13, [pc, #-456] @ 920 │ │ │ │ │ + vstr d7, [sp, #56] @ 0x38 │ │ │ │ │ vmul.f64 d5, d10, d13 │ │ │ │ │ vldr d13, [sp, #264] @ 0x108 │ │ │ │ │ - vstr d7, [sp, #64] @ 0x40 │ │ │ │ │ vmla.f64 d5, d13, d3 │ │ │ │ │ vldr d13, [sp, #472] @ 0x1d8 │ │ │ │ │ vadd.f64 d3, d2, d5 │ │ │ │ │ vsub.f64 d5, d2, d5 │ │ │ │ │ vldr d2, [sp, #360] @ 0x168 │ │ │ │ │ vadd.f64 d10, d4, d3 │ │ │ │ │ vsub.f64 d4, d4, d3 │ │ │ │ │ - vstr d5, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d5, [pc, #-528] @ 8d8 │ │ │ │ │ vmul.f64 d4, d4, d1 │ │ │ │ │ - vstr d10, [sp, #32] │ │ │ │ │ + vstr d10, [sp, #24] │ │ │ │ │ vmov.f64 d10, d1 │ │ │ │ │ vmul.f64 d1, d2, d12 │ │ │ │ │ vldr d2, [sp, #392] @ 0x188 │ │ │ │ │ + vstr d5, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d5, [pc, #-564] @ 8f8 │ │ │ │ │ vnmls.f64 d1, d2, d11 │ │ │ │ │ - vldr d2, [pc, #-580] @ 8c0 │ │ │ │ │ - vldr d11, [pc, #-592] @ 8b8 │ │ │ │ │ + vldr d2, [pc, #-612] @ 8d0 │ │ │ │ │ + vldr d11, [pc, #-624] @ 8c8 │ │ │ │ │ vmul.f64 d2, d13, d2 │ │ │ │ │ vldr d13, [sp, #440] @ 0x1b8 │ │ │ │ │ vnmls.f64 d2, d13, d11 │ │ │ │ │ vldr d13, [sp, #312] @ 0x138 │ │ │ │ │ vmul.f64 d6, d13, d6 │ │ │ │ │ vldr d13, [sp, #280] @ 0x118 │ │ │ │ │ - vmla.f64 d6, d13, d5 │ │ │ │ │ - vldr d13, [pc, #-608] @ 8c8 │ │ │ │ │ - vldr d5, [pc, #-604] @ 8d0 │ │ │ │ │ vadd.f64 d3, d1, d2 │ │ │ │ │ + vmla.f64 d6, d13, d5 │ │ │ │ │ + vldr d13, [pc, #-644] @ 8d8 │ │ │ │ │ + vldr d5, [pc, #-640] @ 8e0 │ │ │ │ │ vmul.f64 d7, d0, d13 │ │ │ │ │ vsub.f64 d13, d1, d2 │ │ │ │ │ vmla.f64 d7, d8, d5 │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [sp, #392] @ 0x188 │ │ │ │ │ vstr d6, [sp, #232] @ 0xe8 │ │ │ │ │ vmul.f64 d6, d7, d12 │ │ │ │ │ - vldr d12, [sp, #360] @ 0x168 │ │ │ │ │ vadd.f64 d2, d3, d5 │ │ │ │ │ - vldr d7, [pc, #-604] @ 900 │ │ │ │ │ + vldr d12, [sp, #360] @ 0x168 │ │ │ │ │ vsub.f64 d3, d3, d5 │ │ │ │ │ + vldr d7, [pc, #-656] @ 900 │ │ │ │ │ + vmul.f64 d1, d2, d10 │ │ │ │ │ + vldr d2, [pc, #-712] @ 8d0 │ │ │ │ │ + vstr d3, [sp, #32] │ │ │ │ │ vmla.f64 d6, d12, d7 │ │ │ │ │ vldr d12, [sp, #472] @ 0x1d8 │ │ │ │ │ - vmul.f64 d1, d2, d10 │ │ │ │ │ - vldr d2, [pc, #-688] @ 8c0 │ │ │ │ │ - vstr d3, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d1, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d1, [sp, #280] @ 0x118 │ │ │ │ │ vmul.f64 d7, d12, d11 │ │ │ │ │ vldr d12, [sp, #440] @ 0x1b8 │ │ │ │ │ - vstr d1, [sp, #208] @ 0xd0 │ │ │ │ │ vmla.f64 d7, d12, d2 │ │ │ │ │ - vldr d2, [pc, #-704] @ 8c8 │ │ │ │ │ - vldr d1, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d2, [pc, #-740] @ 8d8 │ │ │ │ │ vmul.f64 d2, d8, d2 │ │ │ │ │ - vldr d8, [pc, #-708] @ 8d0 │ │ │ │ │ - vnmls.f64 d2, d0, d8 │ │ │ │ │ - vldr d0, [pc, #-700] @ 8e0 │ │ │ │ │ - vldr d8, [pc, #-712] @ 8d8 │ │ │ │ │ + vldr d8, [pc, #-740] @ 8e0 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ + vnmls.f64 d2, d0, d8 │ │ │ │ │ + vldr d0, [pc, #-748] @ 8e8 │ │ │ │ │ + vldr d8, [pc, #-736] @ 8f8 │ │ │ │ │ + vstr d6, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d6, [pc, #-752] @ 8f0 │ │ │ │ │ vmul.f64 d3, d1, d0 │ │ │ │ │ vldr d0, [sp, #312] @ 0x138 │ │ │ │ │ - vstr d6, [sp, #248] @ 0xf8 │ │ │ │ │ vnmls.f64 d3, d0, d8 │ │ │ │ │ vldr d8, [sp, #344] @ 0x158 │ │ │ │ │ - vldr d6, [pc, #-728] @ 8e8 │ │ │ │ │ - ldr r2, [sp, #112] @ 0x70 │ │ │ │ │ + ldr r0, [sp, #104] @ 0x68 │ │ │ │ │ vadd.f64 d1, d2, d3 │ │ │ │ │ vsub.f64 d12, d2, d3 │ │ │ │ │ - vldr d2, [pc, #-736] @ 8f0 │ │ │ │ │ - vldr d3, [pc, #-724] @ 900 │ │ │ │ │ + vldr d2, [pc, #-756] @ 908 │ │ │ │ │ + vldr d3, [pc, #-768] @ 900 │ │ │ │ │ vmul.f64 d7, d8, d2 │ │ │ │ │ vldr d8, [sp, #376] @ 0x178 │ │ │ │ │ - vldr d2, [pc, #-744] @ 8f8 │ │ │ │ │ vadd.f64 d0, d5, d1 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ - vldr d1, [pc, #-708] @ 928 │ │ │ │ │ - vnmls.f64 d7, d8, d2 │ │ │ │ │ - vldr d8, [sp, #424] @ 0x1a8 │ │ │ │ │ + vldr d2, [pc, #-772] @ 910 │ │ │ │ │ + vldr d1, [pc, #-736] @ 938 │ │ │ │ │ vmul.f64 d5, d5, d10 │ │ │ │ │ vldr d10, [sp, #496] @ 0x1f0 │ │ │ │ │ + vnmls.f64 d7, d8, d2 │ │ │ │ │ + vldr d8, [sp, #424] @ 0x1a8 │ │ │ │ │ vmul.f64 d2, d8, d6 │ │ │ │ │ vldr d8, [sp, #456] @ 0x1c8 │ │ │ │ │ - vldr d6, [pc, #-768] @ 908 │ │ │ │ │ + vldr d6, [pc, #-796] @ 918 │ │ │ │ │ vnmls.f64 d2, d8, d3 │ │ │ │ │ vmul.f64 d3, d10, d1 │ │ │ │ │ - vldr d1, [sp, #520] @ 0x208 │ │ │ │ │ vldr d10, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d1, [sp, #520] @ 0x208 │ │ │ │ │ vnmls.f64 d3, d1, d6 │ │ │ │ │ - vldr d1, [pc, #-784] @ 910 │ │ │ │ │ - vmul.f64 d6, d10, d1 │ │ │ │ │ - vldr d1, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d10, [pc, #-788] @ 918 │ │ │ │ │ + vldr d1, [pc, #-812] @ 920 │ │ │ │ │ vadd.f64 d8, d7, d2 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ + vmul.f64 d6, d10, d1 │ │ │ │ │ + vldr d1, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d10, [pc, #-824] @ 928 │ │ │ │ │ vnmls.f64 d6, d1, d10 │ │ │ │ │ - vldr d10, [pc, #-796] @ 920 │ │ │ │ │ + vldr d10, [pc, #-824] @ 930 │ │ │ │ │ vadd.f64 d1, d3, d6 │ │ │ │ │ vsub.f64 d6, d3, d6 │ │ │ │ │ vsub.f64 d2, d8, d1 │ │ │ │ │ vadd.f64 d1, d8, d1 │ │ │ │ │ - vldr d8, [sp, #32] │ │ │ │ │ + vldr d8, [sp, #24] │ │ │ │ │ vmul.f64 d2, d2, d10 │ │ │ │ │ - vldr d10, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d10, [sp, #40] @ 0x28 │ │ │ │ │ vadd.f64 d3, d10, d8 │ │ │ │ │ - vldr d8, [sp, #24] │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - vldr d3, [sp, #16] │ │ │ │ │ - ldr r2, [sp, #120] @ 0x78 │ │ │ │ │ - vadd.f64 d3, d3, d1 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ + vldr d8, [sp, #16] │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ vldr d3, [sp, #8] │ │ │ │ │ - ldr r2, [sp, #148] @ 0x94 │ │ │ │ │ + ldr r0, [sp, #112] @ 0x70 │ │ │ │ │ + vadd.f64 d3, d3, d1 │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ + vldr d3, [sp] │ │ │ │ │ + ldr r0, [sp, #156] @ 0x9c │ │ │ │ │ vadd.f64 d3, d3, d0 │ │ │ │ │ vstr d3, [fp] │ │ │ │ │ - vldr d3, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d3, [sp, #32] │ │ │ │ │ vadd.f64 d3, d8, d3 │ │ │ │ │ - vldr d8, [sp, #32] │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ + vldr d8, [sp, #24] │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ vmul.f64 d3, d6, d15 │ │ │ │ │ + ldr r0, [sp, #140] @ 0x8c │ │ │ │ │ vmla.f64 d3, d7, d14 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ vnmls.f64 d7, d6, d14 │ │ │ │ │ vmov.f64 d6, d10 │ │ │ │ │ + vldr d10, [sp, #48] @ 0x30 │ │ │ │ │ vmls.f64 d6, d8, d9 │ │ │ │ │ - vldr d10, [sp, #56] @ 0x38 │ │ │ │ │ vadd.f64 d8, d4, d6 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vsub.f64 d4, d8, d3 │ │ │ │ │ vadd.f64 d3, d3, d8 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ vadd.f64 d4, d7, d6 │ │ │ │ │ - ldr r2, [sp, #128] @ 0x80 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d7, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r0, [sp, #120] @ 0x78 │ │ │ │ │ vstr d4, [sl] │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - vldr d4, [sp, #16] │ │ │ │ │ - ldr r2, [sp, #156] @ 0x9c │ │ │ │ │ + vldr d4, [sp, #8] │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ + ldr r0, [sp, #148] @ 0x94 │ │ │ │ │ vmls.f64 d4, d1, d9 │ │ │ │ │ - vldr d1, [pc, #-956] @ 928 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ + vldr d1, [pc, #-988] @ 938 │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ vmul.f64 d6, d10, d15 │ │ │ │ │ + ldr r0, [sp, #132] @ 0x84 │ │ │ │ │ vmla.f64 d6, d7, d14 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ - ldr r2, [sp, #140] @ 0x8c │ │ │ │ │ vadd.f64 d3, d2, d4 │ │ │ │ │ vsub.f64 d4, d4, d2 │ │ │ │ │ vnmls.f64 d7, d10, d14 │ │ │ │ │ + vldr d10, [sp, #232] @ 0xe8 │ │ │ │ │ vsub.f64 d2, d3, d6 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ + vstr d2, [r0] │ │ │ │ │ vsub.f64 d2, d4, d7 │ │ │ │ │ - ldr r2, [sp, #144] @ 0x90 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [sp, #8] │ │ │ │ │ + vldr d4, [sp] │ │ │ │ │ + ldr r0, [sp, #136] @ 0x88 │ │ │ │ │ vmls.f64 d4, d0, d9 │ │ │ │ │ - vldr d10, [sp, #232] @ 0xe8 │ │ │ │ │ vldr d0, [sp, #208] @ 0xd0 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - ldr r2, [sp, #152] @ 0x98 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - ldr r2, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d2, [r0] │ │ │ │ │ + ldr r0, [sp, #144] @ 0x90 │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ + ldr r0, [sp, #152] @ 0x98 │ │ │ │ │ vmov.f64 d6, d4 │ │ │ │ │ vadd.f64 d4, d5, d4 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ vmul.f64 d7, d10, d15 │ │ │ │ │ + vsub.f64 d6, d6, d5 │ │ │ │ │ + ldr r0, [sp, #168] @ 0xa8 │ │ │ │ │ vmla.f64 d7, d13, d14 │ │ │ │ │ vmul.f64 d13, d13, d15 │ │ │ │ │ - vsub.f64 d6, d6, d5 │ │ │ │ │ - ldr r2, [sp, #172] @ 0xac │ │ │ │ │ vnmls.f64 d13, d10, d14 │ │ │ │ │ vsub.f64 d5, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [sp, #24] │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ + vldr d4, [sp, #16] │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ vadd.f64 d5, d13, d6 │ │ │ │ │ - ldr r2, [sp, #164] @ 0xa4 │ │ │ │ │ vsub.f64 d6, d6, d13 │ │ │ │ │ - vldr d13, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d5, [lr] │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ + vldr d13, [sp, #32] │ │ │ │ │ + ldr r0, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d5, [r9] │ │ │ │ │ vmls.f64 d4, d13, d9 │ │ │ │ │ - ldr r2, [sp, #180] @ 0xb4 │ │ │ │ │ + vldr d9, [pc, #976] @ 1180 │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ vmul.f64 d7, d12, d15 │ │ │ │ │ - vldr d9, [pc, #976] @ 1158 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ + ldr r0, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ + ldr r0, [sp, #164] @ 0xa4 │ │ │ │ │ vldr d6, [sp, #248] @ 0xf8 │ │ │ │ │ - ldr r2, [sp, #168] @ 0xa8 │ │ │ │ │ vadd.f64 d5, d0, d4 │ │ │ │ │ vmla.f64 d7, d6, d14 │ │ │ │ │ vmul.f64 d10, d6, d15 │ │ │ │ │ vsub.f64 d6, d4, d0 │ │ │ │ │ - vldr d0, [pc, #952] @ 1160 │ │ │ │ │ + vldr d0, [pc, #944] @ 1188 │ │ │ │ │ vnmls.f64 d10, d12, d14 │ │ │ │ │ vsub.f64 d4, d5, d7 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vldr d5, [sp, #240] @ 0xf0 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ vsub.f64 d4, d6, d10 │ │ │ │ │ - ldr r2, [sp, #176] @ 0xb0 │ │ │ │ │ vadd.f64 d10, d10, d6 │ │ │ │ │ - vldr d6, [pc, #928] @ 1168 │ │ │ │ │ + ldr r0, [sp, #172] @ 0xac │ │ │ │ │ + vldr d6, [pc, #920] @ 1190 │ │ │ │ │ vstr d4, [r1] │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ + ldr r0, [sp, #180] @ 0xb4 │ │ │ │ │ vldr d7, [sp, #216] @ 0xd8 │ │ │ │ │ - ldr r2, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d4, [pc, #916] @ 1170 │ │ │ │ │ + vldr d4, [pc, #908] @ 1198 │ │ │ │ │ + vstr d10, [r0] │ │ │ │ │ vsub.f64 d7, d5, d7 │ │ │ │ │ vldr d5, [sp, #568] @ 0x238 │ │ │ │ │ - vstr d10, [r2] │ │ │ │ │ vsub.f64 d12, d7, d5 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ - vldr d7, [sp, #256] @ 0x100 │ │ │ │ │ - vstr d12, [sp, #32] │ │ │ │ │ - vstr d5, [sp, #8] │ │ │ │ │ + vstr d12, [sp, #24] │ │ │ │ │ + vstr d5, [sp] │ │ │ │ │ vldr d3, [sp, #224] @ 0xe0 │ │ │ │ │ - vldr d12, [pc, #884] @ 1178 │ │ │ │ │ + vldr d7, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d12, [pc, #876] @ 11a0 │ │ │ │ │ vldr d5, [sp, #400] @ 0x190 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ + vldr d8, [sp, #288] @ 0x120 │ │ │ │ │ vldr d3, [sp, #552] @ 0x228 │ │ │ │ │ - vldr d2, [sp, #480] @ 0x1e0 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - vldr d8, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d2, [sp, #480] @ 0x1e0 │ │ │ │ │ vadd.f64 d13, d3, d7 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ vldr d3, [sp, #368] @ 0x170 │ │ │ │ │ - vstr d13, [sp, #16] │ │ │ │ │ + vstr d13, [sp, #8] │ │ │ │ │ vmla.f64 d5, d3, d4 │ │ │ │ │ + vstr d7, [sp, #16] │ │ │ │ │ vldr d13, [sp, #448] @ 0x1c0 │ │ │ │ │ - vstr d7, [sp, #24] │ │ │ │ │ - vldr d4, [pc, #836] @ 1180 │ │ │ │ │ + vldr d4, [pc, #828] @ 11a8 │ │ │ │ │ + vldr d3, [sp, #320] @ 0x140 │ │ │ │ │ vmul.f64 d7, d13, d12 │ │ │ │ │ vldr d12, [sp, #536] @ 0x218 │ │ │ │ │ - vldr d3, [sp, #320] @ 0x140 │ │ │ │ │ - vldr d13, [pc, #828] @ 1188 │ │ │ │ │ - vmul.f64 d1, d12, d6 │ │ │ │ │ - vldr d6, [pc, #828] @ 1190 │ │ │ │ │ + vldr d13, [pc, #820] @ 11b0 │ │ │ │ │ vnmls.f64 d7, d2, d4 │ │ │ │ │ + vldr d2, [pc, #820] @ 11b8 │ │ │ │ │ + vmul.f64 d1, d12, d6 │ │ │ │ │ + vldr d6, [pc, #820] @ 11c0 │ │ │ │ │ vldr d12, [sp, #512] @ 0x200 │ │ │ │ │ - vldr d2, [pc, #824] @ 1198 │ │ │ │ │ vmul.f64 d3, d3, d6 │ │ │ │ │ - vmla.f64 d3, d8, d9 │ │ │ │ │ - vldr d8, [pc, #820] @ 11a0 │ │ │ │ │ vmla.f64 d1, d12, d2 │ │ │ │ │ vadd.f64 d4, d5, d7 │ │ │ │ │ vsub.f64 d12, d5, d7 │ │ │ │ │ vldr d5, [sp, #352] @ 0x160 │ │ │ │ │ + vmla.f64 d3, d8, d9 │ │ │ │ │ + vldr d8, [pc, #796] @ 11c8 │ │ │ │ │ vldr d7, [sp, #528] @ 0x210 │ │ │ │ │ vadd.f64 d2, d1, d3 │ │ │ │ │ vsub.f64 d1, d1, d3 │ │ │ │ │ vadd.f64 d10, d4, d2 │ │ │ │ │ vsub.f64 d4, d4, d2 │ │ │ │ │ vmul.f64 d2, d5, d8 │ │ │ │ │ - vstr d1, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d5, [pc, #780] @ 11a8 │ │ │ │ │ + vldr d5, [pc, #776] @ 11d0 │ │ │ │ │ + vstr d10, [sp, #32] │ │ │ │ │ + vstr d1, [sp, #40] @ 0x28 │ │ │ │ │ vldr d1, [sp, #384] @ 0x180 │ │ │ │ │ - vstr d10, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d10, [pc, #776] @ 11b0 │ │ │ │ │ + vldr d10, [pc, #768] @ 11d8 │ │ │ │ │ vnmls.f64 d2, d1, d5 │ │ │ │ │ vldr d1, [sp, #464] @ 0x1d0 │ │ │ │ │ vmul.f64 d4, d4, d10 │ │ │ │ │ vmul.f64 d3, d1, d0 │ │ │ │ │ vldr d1, [sp, #432] @ 0x1b0 │ │ │ │ │ vmla.f64 d3, d1, d13 │ │ │ │ │ - vldr d13, [sp, #504] @ 0x1f8 │ │ │ │ │ vldr d1, [sp, #304] @ 0x130 │ │ │ │ │ + vldr d13, [sp, #504] @ 0x1f8 │ │ │ │ │ vmul.f64 d5, d13, d6 │ │ │ │ │ - vldr d13, [pc, #744] @ 11b8 │ │ │ │ │ + vldr d13, [pc, #736] @ 11e0 │ │ │ │ │ + vsub.f64 d0, d2, d3 │ │ │ │ │ vnmls.f64 d5, d7, d9 │ │ │ │ │ vmul.f64 d7, d1, d13 │ │ │ │ │ vldr d1, [sp, #272] @ 0x110 │ │ │ │ │ - vsub.f64 d0, d2, d3 │ │ │ │ │ vadd.f64 d13, d2, d3 │ │ │ │ │ vldr d2, [sp, #272] @ 0x110 │ │ │ │ │ vmla.f64 d7, d1, d11 │ │ │ │ │ - vstr d13, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d13, [sp, #48] @ 0x30 │ │ │ │ │ vsub.f64 d1, d5, d7 │ │ │ │ │ vsub.f64 d3, d0, d1 │ │ │ │ │ vadd.f64 d1, d0, d1 │ │ │ │ │ - vldr d0, [pc, #608] @ 1160 │ │ │ │ │ + vldr d0, [pc, #600] @ 1188 │ │ │ │ │ vmul.f64 d13, d3, d10 │ │ │ │ │ vldr d3, [sp, #384] @ 0x180 │ │ │ │ │ vmul.f64 d3, d3, d8 │ │ │ │ │ vldr d8, [sp, #352] @ 0x160 │ │ │ │ │ - vstr d13, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d13, [sp, #56] @ 0x38 │ │ │ │ │ vadd.f64 d13, d5, d7 │ │ │ │ │ - vldr d5, [pc, #652] @ 11a8 │ │ │ │ │ + vldr d5, [pc, #644] @ 11d0 │ │ │ │ │ vmla.f64 d3, d8, d5 │ │ │ │ │ vldr d5, [sp, #432] @ 0x1b0 │ │ │ │ │ vldr d8, [sp, #504] @ 0x1f8 │ │ │ │ │ vmul.f64 d7, d5, d0 │ │ │ │ │ vldr d0, [sp, #464] @ 0x1d0 │ │ │ │ │ - vldr d5, [pc, #596] @ 1188 │ │ │ │ │ + vldr d5, [pc, #588] @ 11b0 │ │ │ │ │ vnmls.f64 d7, d0, d5 │ │ │ │ │ vldr d0, [sp, #528] @ 0x210 │ │ │ │ │ vmul.f64 d0, d0, d6 │ │ │ │ │ + vadd.f64 d5, d3, d7 │ │ │ │ │ + vsub.f64 d7, d3, d7 │ │ │ │ │ vmla.f64 d0, d8, d9 │ │ │ │ │ - vldr d8, [pc, #624] @ 11b8 │ │ │ │ │ + vldr d8, [pc, #608] @ 11e0 │ │ │ │ │ vmul.f64 d2, d2, d8 │ │ │ │ │ vldr d8, [sp, #304] @ 0x130 │ │ │ │ │ - vadd.f64 d5, d3, d7 │ │ │ │ │ - vsub.f64 d7, d3, d7 │ │ │ │ │ + vstr d7, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d7, [pc, #600] @ 11e8 │ │ │ │ │ + ldr r1, [sp, #68] @ 0x44 │ │ │ │ │ vnmls.f64 d2, d8, d11 │ │ │ │ │ + vldr d3, [sp, #448] @ 0x1c0 │ │ │ │ │ + ldr r0, [sp, #184] @ 0xb8 │ │ │ │ │ vadd.f64 d8, d0, d2 │ │ │ │ │ vsub.f64 d2, d0, d2 │ │ │ │ │ + vldr d0, [sp, #400] @ 0x190 │ │ │ │ │ vadd.f64 d11, d5, d8 │ │ │ │ │ vsub.f64 d5, d5, d8 │ │ │ │ │ - vstr d11, [sp, #112] @ 0x70 │ │ │ │ │ - vmul.f64 d5, d5, d10 │ │ │ │ │ vldr d8, [sp, #368] @ 0x170 │ │ │ │ │ - vstr d7, [sp, #128] @ 0x80 │ │ │ │ │ - vldr d7, [pc, #576] @ 11c0 │ │ │ │ │ - vldr d0, [sp, #400] @ 0x190 │ │ │ │ │ - vldr d3, [sp, #448] @ 0x1c0 │ │ │ │ │ vmul.f64 d8, d8, d7 │ │ │ │ │ - vldr d7, [pc, #480] @ 1170 │ │ │ │ │ - vstr d2, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d7, [pc, #476] @ 1198 │ │ │ │ │ + vmul.f64 d5, d5, d10 │ │ │ │ │ + vstr d11, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d2, [sp, #112] @ 0x70 │ │ │ │ │ vldr d2, [sp, #512] @ 0x200 │ │ │ │ │ vldr d11, [sp, #536] @ 0x218 │ │ │ │ │ vnmls.f64 d8, d0, d7 │ │ │ │ │ vldr d0, [sp, #480] @ 0x1e0 │ │ │ │ │ - vldr d7, [pc, #464] @ 1178 │ │ │ │ │ - ldr r4, [sp, #76] @ 0x4c │ │ │ │ │ - ldr r2, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d7, [pc, #452] @ 11a0 │ │ │ │ │ vmul.f64 d7, d0, d7 │ │ │ │ │ - vldr d0, [pc, #460] @ 1180 │ │ │ │ │ + vldr d0, [pc, #452] @ 11a8 │ │ │ │ │ vmla.f64 d7, d3, d0 │ │ │ │ │ - vldr d3, [pc, #428] @ 1168 │ │ │ │ │ + vldr d3, [pc, #420] @ 1190 │ │ │ │ │ vmul.f64 d3, d2, d3 │ │ │ │ │ - vldr d2, [pc, #468] @ 1198 │ │ │ │ │ - vnmls.f64 d3, d11, d2 │ │ │ │ │ - vldr d2, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d2, [pc, #452] @ 11b8 │ │ │ │ │ vsub.f64 d0, d8, d7 │ │ │ │ │ vadd.f64 d7, d8, d7 │ │ │ │ │ - vldr d11, [sp, #112] @ 0x70 │ │ │ │ │ + vnmls.f64 d3, d11, d2 │ │ │ │ │ + vldr d11, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d2, [sp, #288] @ 0x120 │ │ │ │ │ vmul.f64 d6, d2, d6 │ │ │ │ │ vldr d2, [sp, #320] @ 0x140 │ │ │ │ │ vnmls.f64 d6, d2, d9 │ │ │ │ │ vmov.f64 d9, #80 @ 0x3e800000 0.250 │ │ │ │ │ vadd.f64 d2, d3, d6 │ │ │ │ │ vsub.f64 d6, d3, d6 │ │ │ │ │ vsub.f64 d8, d0, d2 │ │ │ │ │ vadd.f64 d2, d0, d2 │ │ │ │ │ - vldr d0, [sp, #32] │ │ │ │ │ + vldr d0, [sp, #24] │ │ │ │ │ vmul.f64 d8, d8, d10 │ │ │ │ │ - vldr d10, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d10, [sp, #32] │ │ │ │ │ vadd.f64 d3, d0, d10 │ │ │ │ │ - vstr d3, [ip] │ │ │ │ │ - vldr d3, [sp, #16] │ │ │ │ │ - vadd.f64 d3, d3, d2 │ │ │ │ │ - vstr d3, [r0] │ │ │ │ │ + vstr d3, [r8] │ │ │ │ │ vldr d3, [sp, #8] │ │ │ │ │ + vadd.f64 d3, d3, d2 │ │ │ │ │ + vstr d3, [lr] │ │ │ │ │ + vldr d3, [sp] │ │ │ │ │ vadd.f64 d3, d3, d11 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ - vldr d3, [sp, #24] │ │ │ │ │ - ldr r4, [sp, #196] @ 0xc4 │ │ │ │ │ + vstr d3, [r1] │ │ │ │ │ + vldr d3, [sp, #16] │ │ │ │ │ + ldr r1, [sp, #72] @ 0x48 │ │ │ │ │ vadd.f64 d3, d3, d1 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ + vstr d3, [r1] │ │ │ │ │ vmul.f64 d3, d6, d15 │ │ │ │ │ + ldr r1, [sp, #196] @ 0xc4 │ │ │ │ │ vmla.f64 d3, d7, d14 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ - ldr r2, [sp, #188] @ 0xbc │ │ │ │ │ vnmls.f64 d7, d6, d14 │ │ │ │ │ vmov.f64 d6, d0 │ │ │ │ │ vmls.f64 d6, d10, d9 │ │ │ │ │ vadd.f64 d0, d4, d6 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vsub.f64 d4, d0, d3 │ │ │ │ │ vadd.f64 d3, d3, d0 │ │ │ │ │ - vldr d0, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ + vldr d0, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ vadd.f64 d4, d7, d6 │ │ │ │ │ - ldr r4, [sp, #204] @ 0xcc │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ + ldr r1, [sp, #204] @ 0xcc │ │ │ │ │ vmul.f64 d7, d0, d15 │ │ │ │ │ + vstr d4, [ip] │ │ │ │ │ vmla.f64 d7, d12, d14 │ │ │ │ │ vmul.f64 d12, d12, d15 │ │ │ │ │ - vstr d4, [r5] │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ - vldr d6, [sp, #16] │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ + vldr d6, [sp, #8] │ │ │ │ │ vnmls.f64 d12, d0, d14 │ │ │ │ │ + ldr r1, [sp, #88] @ 0x58 │ │ │ │ │ + ldr r0, [sp, #192] @ 0xc0 │ │ │ │ │ vmls.f64 d6, d2, d9 │ │ │ │ │ - ldr r2, [sp, #192] @ 0xc0 │ │ │ │ │ vadd.f64 d4, d8, d6 │ │ │ │ │ vsub.f64 d6, d6, d8 │ │ │ │ │ vsub.f64 d3, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ + vldr d4, [sp] │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ vsub.f64 d3, d6, d12 │ │ │ │ │ - ldr r2, [sp, #0] │ │ │ │ │ - vadd.f64 d12, d12, d6 │ │ │ │ │ - vldr d4, [sp, #8] │ │ │ │ │ vmls.f64 d4, d11, d9 │ │ │ │ │ - vldr d6, [sp, #56] @ 0x38 │ │ │ │ │ - ldr r5, [sp, #100] @ 0x64 │ │ │ │ │ + vadd.f64 d12, d12, d6 │ │ │ │ │ + vldr d6, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r0, [sp, #84] @ 0x54 │ │ │ │ │ vstr d3, [r2] │ │ │ │ │ ldr r2, [sp, #200] @ 0xc8 │ │ │ │ │ - ldr r1, [sp, #92] @ 0x5c │ │ │ │ │ - ldr r0, [sp, #96] @ 0x60 │ │ │ │ │ - ldr r4, [sp, #104] @ 0x68 │ │ │ │ │ + vadd.f64 d3, d5, d4 │ │ │ │ │ + vsub.f64 d4, d4, d5 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ vmul.f64 d7, d13, d15 │ │ │ │ │ + vstr d12, [r3] │ │ │ │ │ + ldr r2, [sp, #80] @ 0x50 │ │ │ │ │ + ldr r3, [sp, #92] @ 0x5c │ │ │ │ │ vmla.f64 d7, d6, d14 │ │ │ │ │ vmul.f64 d6, d6, d15 │ │ │ │ │ - vadd.f64 d3, d5, d4 │ │ │ │ │ - vsub.f64 d4, d4, d5 │ │ │ │ │ - vstr d12, [r3] │ │ │ │ │ - ldr r3, [sp, #88] @ 0x58 │ │ │ │ │ vnmls.f64 d6, d13, d14 │ │ │ │ │ vsub.f64 d5, d3, d7 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ - vstr d5, [r5] │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ vadd.f64 d5, d6, d4 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ - ldr r5, [sp, #108] @ 0x6c │ │ │ │ │ - vstr d5, [r1] │ │ │ │ │ - ldr r1, [sp, #84] @ 0x54 │ │ │ │ │ - vldr d5, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ + ldr r3, [sp, #76] @ 0x4c │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ + vldr d5, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + ldr r3, [sp, #100] @ 0x64 │ │ │ │ │ + vldr d7, [sp, #120] @ 0x78 │ │ │ │ │ vmul.f64 d6, d5, d15 │ │ │ │ │ - vldr d7, [sp, #128] @ 0x80 │ │ │ │ │ - vstr d4, [r5] │ │ │ │ │ - vldr d4, [sp, #64] @ 0x40 │ │ │ │ │ - vmla.f64 d6, d7, d14 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + vldr d4, [sp, #56] @ 0x38 │ │ │ │ │ vmul.f64 d10, d7, d15 │ │ │ │ │ - vldr d7, [sp, #24] │ │ │ │ │ - vmls.f64 d7, d1, d9 │ │ │ │ │ + ldr r3, [sp, #704] @ 0x2c0 │ │ │ │ │ + vmla.f64 d6, d7, d14 │ │ │ │ │ + vldr d7, [sp, #16] │ │ │ │ │ vnmls.f64 d10, d5, d14 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + str r3, [sp, #704] @ 0x2c0 │ │ │ │ │ + vmls.f64 d7, d1, d9 │ │ │ │ │ + ldr r3, [sp, #592] @ 0x250 │ │ │ │ │ + add r5, r3 │ │ │ │ │ + add r6, r3 │ │ │ │ │ vadd.f64 d5, d4, d7 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vsub.f64 d4, d5, d6 │ │ │ │ │ - vadd.f64 d6, d6, d5 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - vsub.f64 d4, d7, d10 │ │ │ │ │ - ldr r3, [sp, #704] @ 0x2c0 │ │ │ │ │ - vadd.f64 d10, d10, d7 │ │ │ │ │ - b.n 11c8 │ │ │ │ │ + b.n 11f0 │ │ │ │ │ nop │ │ │ │ │ + nop.w │ │ │ │ │ .word 0x1be09379 │ │ │ │ │ .word 0x3fb0130a │ │ │ │ │ .word 0x5480d903 │ │ │ │ │ .word 0x3fefbf67 │ │ │ │ │ .word 0xff642e86 │ │ │ │ │ .word 0x3feb04bb │ │ │ │ │ .word 0x4e81c059 │ │ │ │ │ .word 0x3fec0ab4 │ │ │ │ │ .word 0xc925819c │ │ │ │ │ .word 0x3fdb3ff7 │ │ │ │ │ .word 0xdcdc158c │ │ │ │ │ .word 0x3fecf457 │ │ │ │ │ .word 0x5da15be0 │ │ │ │ │ .word 0x3fc00aeb │ │ │ │ │ - .word 0xbfe443fe │ │ │ │ │ - .word 0x3fefefd5 │ │ │ │ │ .word 0x3c182b51 │ │ │ │ │ .word 0x3fe1257e │ │ │ │ │ + .word 0xbfe443fe │ │ │ │ │ + .word 0x3fefefd5 │ │ │ │ │ .word 0x55112014 │ │ │ │ │ .word 0x3fe5e7cf │ │ │ │ │ .word 0x03d2b816 │ │ │ │ │ .word 0x3fe753b6 │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ .word 0xfeb501bc │ │ │ │ │ .word 0x3fe465c6 │ │ │ │ │ .word 0x5cbfa951 │ │ │ │ │ .word 0x3fded50d │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #704] @ 0x2c0 │ │ │ │ │ - vstr d4, [r0] │ │ │ │ │ - ldr r3, [sp, #592] @ 0x250 │ │ │ │ │ - ldr r0, [sp, #136] @ 0x88 │ │ │ │ │ - add r7, r3 │ │ │ │ │ - add r8, r3 │ │ │ │ │ + vsub.f64 d4, d5, d6 │ │ │ │ │ + vadd.f64 d6, d6, d5 │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ + vsub.f64 d4, d7, d10 │ │ │ │ │ + vadd.f64 d10, d10, d7 │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ + ldr r1, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ + ldr r1, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d10, [r1] │ │ │ │ │ ldr r3, [sp, #596] @ 0x254 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ - eor.w r9, r9, r3 │ │ │ │ │ - vstr d10, [r0] │ │ │ │ │ - ldrd r2, r3, [sp, #704] @ 0x2c0 │ │ │ │ │ + ldr r2, [sp, #704] @ 0x2c0 │ │ │ │ │ + eor.w r7, r7, r3 │ │ │ │ │ + ldr r3, [sp, #708] @ 0x2c4 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 3e │ │ │ │ │ + bne.w 52 │ │ │ │ │ add.w sp, sp, #604 @ 0x25c │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -000011fc : │ │ │ │ │ +00001244 : │ │ │ │ │ fftw_codelet_t1_25(): │ │ │ │ │ - ldr r2, [pc, #8] @ (1208 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (120c ) │ │ │ │ │ + ldr r2, [pc, #8] @ (1250 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (1254 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_dit_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── t1_3.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1152 (bytes into file) │ │ │ │ │ + Start of section headers: 1184 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x480: │ │ │ │ │ +There are 14 section headers, starting at offset 0x4a0: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0001c4 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0003d8 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0001f8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0001f8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0001f8 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 0001fd 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 000205 000040 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 0003f0 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000245 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000245 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000278 000110 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000388 00004e 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000408 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0001e4 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0003f8 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000218 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000218 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000218 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 00021d 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000225 000040 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000410 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000265 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000265 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000298 000110 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0003a8 00004e 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000428 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,20 +1,20 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 17 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 432 FUNC LOCAL DEFAULT 1 t1_3 │ │ │ │ │ + 1: 00000001 464 FUNC LOCAL DEFAULT 1 t1_3 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000001a8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 000001b0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000001bc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000001c8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 000001d0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000001dc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 14: 000001b1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_3 │ │ │ │ │ + 14: 000001d1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_3 │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_dit_register │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x3d8 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x3f8 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000001bc 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000001c0 00000103 R_ARM_REL32 00000001 t1_3 │ │ │ │ │ -000001b8 00000f1e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ +000001dc 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000001e0 00000103 R_ARM_REL32 00000001 t1_3 │ │ │ │ │ +000001d8 00000f1e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x3f0 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x410 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001002 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,141 +1,145 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ t1_3(): │ │ │ │ │ - push {r4, r5, r6, r7, lr} │ │ │ │ │ + str.w r4, [sp, #-20]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, lr, [sp, #12] │ │ │ │ │ vpush {d8-d10} │ │ │ │ │ ldrd r4, r6, [sp, #44] @ 0x2c │ │ │ │ │ ldr r5, [sp, #52] @ 0x34 │ │ │ │ │ cmp r4, r6 │ │ │ │ │ add.w r2, r2, r4, lsl #5 │ │ │ │ │ - bge.n d2 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ + bge.n e4 │ │ │ │ │ cmp r5, #1 │ │ │ │ │ - bne.n d8 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + bne.n f6 │ │ │ │ │ + vldr d5, [pc, #416] @ 1c8 │ │ │ │ │ + vmov.f64 d4, #96 @ 0x3f000000 0.5 │ │ │ │ │ add.w lr, r0, r3 │ │ │ │ │ add.w ip, r1, r3 │ │ │ │ │ add.w r5, lr, r3 │ │ │ │ │ - adds r2, #32 │ │ │ │ │ + add.w r2, r2, #32 │ │ │ │ │ add r3, ip │ │ │ │ │ - vldr d5, [pc, #380] @ 1a8 │ │ │ │ │ - vmov.f64 d4, #96 @ 0x3f000000 0.5 │ │ │ │ │ vldr d3, [r2, #-32] @ 0xffffffe0 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - vldr d1, [lr] │ │ │ │ │ - adds r2, #32 │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + add.w r2, r2, #32 │ │ │ │ │ cmp r6, r4 │ │ │ │ │ + vldr d1, [lr] │ │ │ │ │ vldr d7, [r2, #-56] @ 0xffffffc8 │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ vmul.f64 d0, d3, d1 │ │ │ │ │ vldr d9, [r2, #-48] @ 0xffffffd0 │ │ │ │ │ vldr d10, [r5] │ │ │ │ │ + vldr d8, [r0] │ │ │ │ │ vmla.f64 d0, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vldr d1, [r2, #-40] @ 0xffffffd8 │ │ │ │ │ - vldr d8, [r0] │ │ │ │ │ vldr d2, [r1] │ │ │ │ │ vnmls.f64 d7, d3, d6 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ vmul.f64 d6, d9, d10 │ │ │ │ │ vmla.f64 d6, d1, d3 │ │ │ │ │ vmul.f64 d1, d1, d10 │ │ │ │ │ vnmls.f64 d1, d9, d3 │ │ │ │ │ vadd.f64 d9, d6, d0 │ │ │ │ │ vsub.f64 d6, d6, d0 │ │ │ │ │ vadd.f64 d3, d1, d7 │ │ │ │ │ - vadd.f64 d10, d9, d8 │ │ │ │ │ vsub.f64 d7, d7, d1 │ │ │ │ │ + vadd.f64 d10, d9, d8 │ │ │ │ │ vmls.f64 d8, d9, d4 │ │ │ │ │ vmul.f64 d6, d6, d5 │ │ │ │ │ + vmul.f64 d7, d7, d5 │ │ │ │ │ vstmia r0!, {d10} │ │ │ │ │ vadd.f64 d10, d3, d2 │ │ │ │ │ - vmul.f64 d7, d7, d5 │ │ │ │ │ vmls.f64 d2, d3, d4 │ │ │ │ │ - vstmia r1!, {d10} │ │ │ │ │ vsub.f64 d1, d8, d7 │ │ │ │ │ vadd.f64 d7, d7, d8 │ │ │ │ │ - vstmia r5!, {d1} │ │ │ │ │ + vstmia r1!, {d10} │ │ │ │ │ vadd.f64 d3, d2, d6 │ │ │ │ │ + vstmia r5!, {d1} │ │ │ │ │ vstmia lr!, {d7} │ │ │ │ │ vsub.f64 d7, d2, d6 │ │ │ │ │ vstmia ip!, {d3} │ │ │ │ │ vstmia r3!, {d7} │ │ │ │ │ - bne.n 32 │ │ │ │ │ + bne.n 40 │ │ │ │ │ vpop {d8-d10} │ │ │ │ │ - pop {r4, r5, r6, r7, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + vldr d4, [pc, #208] @ 1c8 │ │ │ │ │ + vmov.f64 d3, #96 @ 0x3f000000 0.5 │ │ │ │ │ add.w lr, r0, r3 │ │ │ │ │ add.w ip, r1, r3 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ add.w r7, lr, r3 │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ - adds r2, #32 │ │ │ │ │ + add.w r2, r2, #32 │ │ │ │ │ add r3, ip │ │ │ │ │ - vldr d4, [pc, #188] @ 1a8 │ │ │ │ │ - vmov.f64 d3, #96 @ 0x3f000000 0.5 │ │ │ │ │ vldr d2, [ip] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - vldr d1, [r2, #-24] @ 0xffffffe8 │ │ │ │ │ - cmp r6, r4 │ │ │ │ │ - vldr d6, [r2, #-32] @ 0xffffffe0 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ add.w r2, r2, #32 │ │ │ │ │ + cmp r6, r4 │ │ │ │ │ + vldr d6, [r2, #-64] @ 0xffffffc0 │ │ │ │ │ + vldr d1, [r2, #-56] @ 0xffffffc8 │ │ │ │ │ vldr d5, [lr] │ │ │ │ │ + vldr d10, [r2, #-40] @ 0xffffffd8 │ │ │ │ │ vmul.f64 d8, d2, d1 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ - vldr d10, [r2, #-40] @ 0xffffffd8 │ │ │ │ │ + vldr d0, [r0] │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ vmla.f64 d8, d5, d6 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vldr d1, [r7] │ │ │ │ │ - vldr d0, [r0] │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ vnmls.f64 d5, d2, d6 │ │ │ │ │ vldr d2, [r2, #-48] @ 0xffffffd0 │ │ │ │ │ vmul.f64 d6, d9, d10 │ │ │ │ │ vmla.f64 d6, d1, d2 │ │ │ │ │ vmul.f64 d1, d1, d10 │ │ │ │ │ vnmls.f64 d1, d9, d2 │ │ │ │ │ vadd.f64 d9, d8, d6 │ │ │ │ │ vsub.f64 d6, d6, d8 │ │ │ │ │ vadd.f64 d2, d5, d1 │ │ │ │ │ - vadd.f64 d10, d0, d9 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ + vadd.f64 d10, d0, d9 │ │ │ │ │ vmls.f64 d0, d9, d3 │ │ │ │ │ vmul.f64 d6, d6, d4 │ │ │ │ │ + vmul.f64 d5, d5, d4 │ │ │ │ │ vstr d10, [r0] │ │ │ │ │ vadd.f64 d10, d7, d2 │ │ │ │ │ vmls.f64 d7, d2, d3 │ │ │ │ │ - vmul.f64 d5, d5, d4 │ │ │ │ │ add r0, r5 │ │ │ │ │ - vstr d10, [r1] │ │ │ │ │ - add r1, r5 │ │ │ │ │ vsub.f64 d1, d0, d5 │ │ │ │ │ vadd.f64 d0, d0, d5 │ │ │ │ │ + vstr d10, [r1] │ │ │ │ │ + add r1, r5 │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vstr d1, [r7] │ │ │ │ │ add r7, r5 │ │ │ │ │ vstr d0, [lr] │ │ │ │ │ add lr, r5 │ │ │ │ │ vstr d5, [ip] │ │ │ │ │ add ip, r5 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ add r3, r5 │ │ │ │ │ - bne.n f2 │ │ │ │ │ - vpop {d8-d10} │ │ │ │ │ - pop {r4, r5, r6, r7, pc} │ │ │ │ │ + bne.n 114 │ │ │ │ │ + b.n e4 │ │ │ │ │ nop │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3febb67a │ │ │ │ │ │ │ │ │ │ -000001b0 : │ │ │ │ │ +000001d0 : │ │ │ │ │ fftw_codelet_t1_3(): │ │ │ │ │ - ldr r2, [pc, #8] @ (1bc ) │ │ │ │ │ - ldr r1, [pc, #12] @ (1c0 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (1dc ) │ │ │ │ │ + ldr r1, [pc, #12] @ (1e0 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_dit_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── t1_32.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 5528 (bytes into file) │ │ │ │ │ + Start of section headers: 5576 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x1598: │ │ │ │ │ +There are 14 section headers, starting at offset 0x15c8: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 001250 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0014e0 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 001284 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 001284 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 001284 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 00128a 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 001292 000040 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 001508 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 0012d2 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0012d2 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 001308 000150 10 12 16 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 001458 000087 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 001520 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 001280 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 001510 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0012b4 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0012b4 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0012b4 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 0012ba 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0012c2 000040 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 001538 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 001302 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 001302 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 001338 000150 10 12 16 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 001488 000087 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 001550 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 21 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 4666 FUNC LOCAL DEFAULT 1 t1_32 │ │ │ │ │ + 1: 00000001 4714 FUNC LOCAL DEFAULT 1 t1_32 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000050 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000070 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000010d0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 000010f0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00001248 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000060 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000080 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00001140 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00001160 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00001278 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 13: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 14: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 15: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 18: 0000123d 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_32 │ │ │ │ │ + 18: 0000126d 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_32 │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_dit_register │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x14e0 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x1510 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000068 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000006c 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00001248 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000124c 00000103 R_ARM_REL32 00000001 t1_32 │ │ │ │ │ -00001244 0000131e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ +00000078 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000007c 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00001278 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +0000127c 00000103 R_ARM_REL32 00000001 t1_32 │ │ │ │ │ +00001274 0000131e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x1508 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x1538 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000a02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001402 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,744 +1,728 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ t1_32(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r7, r0 │ │ │ │ │ - mov r8, r1 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r7, r1 │ │ │ │ │ + mov r8, r3 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub.w sp, sp, #748 @ 0x2ec │ │ │ │ │ - mov.w r1, #496 @ 0x1f0 │ │ │ │ │ - mov r9, r3 │ │ │ │ │ - ldr r3, [pc, #80] @ (68 ) │ │ │ │ │ - ldr r0, [sp, #848] @ 0x350 │ │ │ │ │ + ldr r1, [sp, #848] @ 0x350 │ │ │ │ │ + ldr r3, [pc, #84] @ (78 ) │ │ │ │ │ + rsb r1, r1, r1, lsl #5 │ │ │ │ │ + add.w r5, r2, r1, lsl #4 │ │ │ │ │ + ldrd r2, r1, [sp, #848] @ 0x350 │ │ │ │ │ add r3, pc │ │ │ │ │ - mla r6, r1, r0, r2 │ │ │ │ │ - ldr r1, [sp, #852] @ 0x354 │ │ │ │ │ - cmp r0, r1 │ │ │ │ │ - bge.w 122e │ │ │ │ │ + cmp r2, r1 │ │ │ │ │ + bge.w 124c │ │ │ │ │ ldr r2, [sp, #856] @ 0x358 │ │ │ │ │ - mov ip, r7 │ │ │ │ │ - mov lr, r8 │ │ │ │ │ - vldr d14, [pc, #32] @ 50 │ │ │ │ │ - vldr d12, [pc, #36] @ 58 │ │ │ │ │ - mov r7, r6 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ + mov r9, r8 │ │ │ │ │ + mov ip, r5 │ │ │ │ │ + mov lr, r0 │ │ │ │ │ + mov r8, r7 │ │ │ │ │ + vldr d14, [pc, #28] @ 60 │ │ │ │ │ + vldr d12, [pc, #32] @ 68 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + vldr d15, [pc, #32] @ 70 │ │ │ │ │ str r2, [sp, #736] @ 0x2e0 │ │ │ │ │ - ldr r2, [pc, #44] @ (6c ) │ │ │ │ │ - mov r8, r9 │ │ │ │ │ - vldr d15, [pc, #28] @ 60 │ │ │ │ │ + ldr r2, [pc, #36] @ (7c ) │ │ │ │ │ ldr r3, [r3, r2] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ str r3, [sp, #740] @ 0x2e4 │ │ │ │ │ - b.n 70 │ │ │ │ │ - nop.w │ │ │ │ │ + b.n 80 │ │ │ │ │ + nop │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ - .word 0x0000004a │ │ │ │ │ + .word 0x00000044 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - mov.w r2, r8, lsl #7 │ │ │ │ │ - vldr d4, [r7, #248] @ 0xf8 │ │ │ │ │ - add.w r1, lr, r2 │ │ │ │ │ - add.w r3, ip, r2 │ │ │ │ │ - vldr d7, [r7, #240] @ 0xf0 │ │ │ │ │ - mov.w r9, #200 @ 0xc8 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ + mov.w r0, r9, lsl #7 │ │ │ │ │ + vldr d1, [ip, #120] @ 0x78 │ │ │ │ │ + mov.w r7, #200 @ 0xc8 │ │ │ │ │ + add.w r2, r8, r0 │ │ │ │ │ + vldr d4, [ip, #248] @ 0xf8 │ │ │ │ │ + add.w r3, lr, r0 │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + str r3, [sp, #8] │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - mov.w r3, r8, lsl #6 │ │ │ │ │ - add.w fp, lr, r3 │ │ │ │ │ - str r1, [sp, #8] │ │ │ │ │ + mov.w r3, r9, lsl #6 │ │ │ │ │ + str r2, [sp, #16] │ │ │ │ │ + vldr d7, [ip, #240] @ 0xf0 │ │ │ │ │ + add.w r1, r8, r3 │ │ │ │ │ + add.w r2, lr, r3 │ │ │ │ │ + mov r3, r0 │ │ │ │ │ + add r0, r2 │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ - add.w r1, ip, r3 │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ + add.w r4, r1, r3 │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ + mov.w r3, r9, lsl #3 │ │ │ │ │ + vldr d0, [r4] │ │ │ │ │ + add.w r5, lr, r3 │ │ │ │ │ + add.w r6, r8, r3 │ │ │ │ │ + str r2, [sp, #24] │ │ │ │ │ + vldr d8, [ip, #376] @ 0x178 │ │ │ │ │ vmla.f64 d3, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d4 │ │ │ │ │ - vldr d1, [r7, #120] @ 0x78 │ │ │ │ │ - add.w r4, fp, r2 │ │ │ │ │ - vldr d2, [fp] │ │ │ │ │ - adds r0, r1, r2 │ │ │ │ │ - vldr d8, [r7, #376] @ 0x178 │ │ │ │ │ - mov.w r3, r8, lsl #3 │ │ │ │ │ - vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d5, [r7, #112] @ 0x70 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ + str r1, [sp, #32] │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ - vldr d0, [r4] │ │ │ │ │ - add.w r5, ip, r3 │ │ │ │ │ - vldr d9, [ip] │ │ │ │ │ - add.w r6, lr, r3 │ │ │ │ │ + vldr d9, [lr] │ │ │ │ │ + str r0, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d10, [r8] │ │ │ │ │ + str r4, [sp, #48] @ 0x30 │ │ │ │ │ + vnmls.f64 d6, d5, d7 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + mul.w r2, r7, r9 │ │ │ │ │ + strd r5, r6, [sp, #56] @ 0x38 │ │ │ │ │ + mov.w r7, #184 @ 0xb8 │ │ │ │ │ + vldr d5, [ip, #112] @ 0x70 │ │ │ │ │ + add.w r1, lr, r2 │ │ │ │ │ vmla.f64 d4, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [r7, #368] @ 0x170 │ │ │ │ │ - mul.w r3, r9, r8 │ │ │ │ │ - vldr d10, [lr] │ │ │ │ │ - mov.w r9, #136 @ 0x88 │ │ │ │ │ - str r1, [sp, #16] │ │ │ │ │ + vldr d1, [ip, #368] @ 0x170 │ │ │ │ │ vnmls.f64 d7, d2, d5 │ │ │ │ │ vldr d5, [r0] │ │ │ │ │ vmul.f64 d2, d0, d8 │ │ │ │ │ - str r0, [sp, #24] │ │ │ │ │ - str r4, [sp, #32] │ │ │ │ │ - add.w r0, ip, r3 │ │ │ │ │ + add.w r0, r8, r2 │ │ │ │ │ vmla.f64 d2, d5, d1 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ - str r5, [sp, #40] @ 0x28 │ │ │ │ │ - add r3, lr │ │ │ │ │ - str r6, [sp, #44] @ 0x2c │ │ │ │ │ vnmls.f64 d5, d0, d1 │ │ │ │ │ vadd.f64 d0, d9, d3 │ │ │ │ │ vsub.f64 d9, d9, d3 │ │ │ │ │ vadd.f64 d1, d4, d2 │ │ │ │ │ vsub.f64 d4, d4, d2 │ │ │ │ │ vadd.f64 d8, d0, d1 │ │ │ │ │ vsub.f64 d1, d0, d1 │ │ │ │ │ + vstr d8, [sp, #608] @ 0x260 │ │ │ │ │ vstr d1, [sp, #616] @ 0x268 │ │ │ │ │ vsub.f64 d1, d10, d6 │ │ │ │ │ vadd.f64 d10, d10, d6 │ │ │ │ │ - vstr d8, [sp, #608] @ 0x260 │ │ │ │ │ vldr d6, [r5] │ │ │ │ │ + mov.w r5, r9, lsl #4 │ │ │ │ │ + add.w r2, r5, r9 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ vsub.f64 d2, d1, d4 │ │ │ │ │ vadd.f64 d4, d1, d4 │ │ │ │ │ + add.w r4, lr, r2 │ │ │ │ │ + vstr d2, [sp, #624] @ 0x270 │ │ │ │ │ vstr d4, [sp, #632] @ 0x278 │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vstr d2, [sp, #624] @ 0x270 │ │ │ │ │ vsub.f64 d3, d9, d4 │ │ │ │ │ vadd.f64 d0, d9, d4 │ │ │ │ │ vadd.f64 d11, d7, d10 │ │ │ │ │ vsub.f64 d10, d10, d7 │ │ │ │ │ - vldr d4, [r6] │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - vstr d0, [sp, #648] @ 0x288 │ │ │ │ │ vstr d11, [sp, #248] @ 0xf8 │ │ │ │ │ - vstr d10, [sp, #656] @ 0x290 │ │ │ │ │ vstr d3, [sp, #640] @ 0x280 │ │ │ │ │ - vldr d3, [r7, #8] │ │ │ │ │ - vldr d10, [r7, #392] @ 0x188 │ │ │ │ │ - str r3, [sp, #52] @ 0x34 │ │ │ │ │ + vstr d0, [sp, #648] @ 0x288 │ │ │ │ │ + vstr d10, [sp, #656] @ 0x290 │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ + add.w r6, r8, r2 │ │ │ │ │ + strd r1, r0, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d7, [ip] │ │ │ │ │ + strd r4, r6, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d3, [ip, #8] │ │ │ │ │ + vldr d8, [ip, #136] @ 0x88 │ │ │ │ │ + vldr d10, [ip, #392] @ 0x188 │ │ │ │ │ vmul.f64 d5, d4, d3 │ │ │ │ │ - vldr d1, [r7, #264] @ 0x108 │ │ │ │ │ + vldr d1, [ip, #264] @ 0x108 │ │ │ │ │ vmla.f64 d5, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - mul.w r3, r9, r8 │ │ │ │ │ - vldr d8, [r7, #136] @ 0x88 │ │ │ │ │ - add.w r5, lr, r3 │ │ │ │ │ - add.w r4, ip, r3 │ │ │ │ │ + vldr d3, [r0] │ │ │ │ │ vnmls.f64 d6, d4, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ vmul.f64 d9, d3, d10 │ │ │ │ │ - vldr d4, [r7, #384] @ 0x180 │ │ │ │ │ - movs r3, #72 @ 0x48 │ │ │ │ │ - str r0, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d4, [ip, #384] @ 0x180 │ │ │ │ │ vmul.f64 d10, d7, d10 │ │ │ │ │ - str r4, [sp, #56] @ 0x38 │ │ │ │ │ vmla.f64 d9, d7, d4 │ │ │ │ │ - vldr d7, [r7, #256] @ 0x100 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - str r5, [sp, #60] @ 0x3c │ │ │ │ │ + vldr d7, [ip, #256] @ 0x100 │ │ │ │ │ vnmls.f64 d10, d3, d4 │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ vldr d3, [r4] │ │ │ │ │ - add.w r1, lr, r3 │ │ │ │ │ - add.w r6, ip, r3 │ │ │ │ │ - movs r3, #248 @ 0xf8 │ │ │ │ │ + add.w r4, r3, r9 │ │ │ │ │ + sub.w r3, r3, r9 │ │ │ │ │ + mov.w r2, r4, lsl #3 │ │ │ │ │ + mov.w r4, r4, lsl #4 │ │ │ │ │ + add.w r1, lr, r2 │ │ │ │ │ + add r2, r8 │ │ │ │ │ vmul.f64 d2, d4, d1 │ │ │ │ │ - str r6, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d0, [r2] │ │ │ │ │ + strd r1, r2, [sp, #80] @ 0x50 │ │ │ │ │ + mov.w r2, r9, lsl #5 │ │ │ │ │ vmla.f64 d2, d3, d7 │ │ │ │ │ vmul.f64 d3, d3, d1 │ │ │ │ │ - vldr d0, [r1] │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - vldr d1, [r7, #128] @ 0x80 │ │ │ │ │ - add.w r0, ip, r3 │ │ │ │ │ - add r3, lr │ │ │ │ │ + vldr d1, [ip, #128] @ 0x80 │ │ │ │ │ vnmls.f64 d3, d4, d7 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ vmul.f64 d4, d0, d8 │ │ │ │ │ - str r3, [sp, #80] @ 0x50 │ │ │ │ │ - str r1, [sp, #68] @ 0x44 │ │ │ │ │ + sub.w r1, r2, r9 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + add.w r0, lr, r1 │ │ │ │ │ + add.w r6, r8, r1 │ │ │ │ │ + mul.w r1, r7, r9 │ │ │ │ │ vmla.f64 d4, d7, d1 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ - str r0, [sp, #72] @ 0x48 │ │ │ │ │ + str r0, [sp, #88] @ 0x58 │ │ │ │ │ + str r6, [sp, #96] @ 0x60 │ │ │ │ │ vnmls.f64 d7, d0, d1 │ │ │ │ │ vadd.f64 d0, d5, d2 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ vadd.f64 d1, d9, d4 │ │ │ │ │ vsub.f64 d4, d4, d9 │ │ │ │ │ vadd.f64 d13, d0, d1 │ │ │ │ │ vsub.f64 d1, d0, d1 │ │ │ │ │ vadd.f64 d0, d6, d3 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ + vstr d13, [sp, #256] @ 0x100 │ │ │ │ │ vstr d1, [sp, #664] @ 0x298 │ │ │ │ │ vadd.f64 d1, d10, d7 │ │ │ │ │ vsub.f64 d7, d7, d10 │ │ │ │ │ - vstr d13, [sp, #256] @ 0x100 │ │ │ │ │ vadd.f64 d13, d6, d4 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vsub.f64 d11, d0, d1 │ │ │ │ │ - vadd.f64 d0, d0, d1 │ │ │ │ │ vsub.f64 d2, d5, d7 │ │ │ │ │ vadd.f64 d10, d5, d7 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - movs r3, #184 @ 0xb8 │ │ │ │ │ + vadd.f64 d0, d0, d1 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - vstr d11, [sp, #672] @ 0x2a0 │ │ │ │ │ + add.w r0, lr, r1 │ │ │ │ │ + add r1, r8 │ │ │ │ │ vstr d0, [sp, #264] @ 0x108 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ vstr d13, [sp, #272] @ 0x110 │ │ │ │ │ - vstr d6, [sp, #680] @ 0x2a8 │ │ │ │ │ - add.w r5, lr, r3 │ │ │ │ │ - vldr d6, [r7, #480] @ 0x1e0 │ │ │ │ │ - add.w r4, ip, r3 │ │ │ │ │ vstr d2, [sp, #280] @ 0x118 │ │ │ │ │ - movs r3, #120 @ 0x78 │ │ │ │ │ vstr d10, [sp, #288] @ 0x120 │ │ │ │ │ - vldr d10, [r7, #488] @ 0x1e8 │ │ │ │ │ - vldr d4, [r4] │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - vldr d1, [r7, #232] @ 0xe8 │ │ │ │ │ + vstr d11, [sp, #672] @ 0x2a0 │ │ │ │ │ + vstr d6, [sp, #680] @ 0x2a8 │ │ │ │ │ + vldr d5, [r6] │ │ │ │ │ + strd r0, r1, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ + sub.w r0, r5, r9 │ │ │ │ │ + vldr d10, [ip, #488] @ 0x1e8 │ │ │ │ │ + vldr d6, [ip, #480] @ 0x1e0 │ │ │ │ │ + vldr d8, [ip, #104] @ 0x68 │ │ │ │ │ vmul.f64 d9, d5, d10 │ │ │ │ │ vmul.f64 d10, d7, d10 │ │ │ │ │ + vldr d1, [ip, #232] @ 0xe8 │ │ │ │ │ vmla.f64 d9, d7, d6 │ │ │ │ │ - vldr d7, [r7, #352] @ 0x160 │ │ │ │ │ - add.w r1, lr, r3 │ │ │ │ │ - add.w r6, ip, r3 │ │ │ │ │ - movs r3, #56 @ 0x38 │ │ │ │ │ - vldr d8, [r7, #104] @ 0x68 │ │ │ │ │ vnmls.f64 d10, d5, d6 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - vldr d5, [r7, #360] @ 0x168 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - str r5, [sp, #96] @ 0x60 │ │ │ │ │ - str r6, [sp, #100] @ 0x64 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + mov.w r1, r0, lsl #3 │ │ │ │ │ + vldr d7, [ip, #352] @ 0x160 │ │ │ │ │ + mov.w r0, r0, lsl #4 │ │ │ │ │ + add.w r6, lr, r1 │ │ │ │ │ + add r1, r8 │ │ │ │ │ + vldr d5, [ip, #360] @ 0x168 │ │ │ │ │ + strd r6, r1, [sp, #112] @ 0x70 │ │ │ │ │ vmul.f64 d3, d6, d5 │ │ │ │ │ - add.w r0, ip, r3 │ │ │ │ │ vmla.f64 d3, d4, d7 │ │ │ │ │ vmul.f64 d4, d4, d5 │ │ │ │ │ vldr d5, [r6] │ │ │ │ │ - add r3, lr │ │ │ │ │ - str r3, [sp, #120] @ 0x78 │ │ │ │ │ - str r4, [sp, #88] @ 0x58 │ │ │ │ │ vnmls.f64 d4, d6, d7 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ - vldr d7, [r7, #224] @ 0xe0 │ │ │ │ │ - vldr d0, [r3] │ │ │ │ │ - mov.w r3, r8, lsl #5 │ │ │ │ │ + mov.w r1, r3, lsl #3 │ │ │ │ │ + vldr d7, [ip, #224] @ 0xe0 │ │ │ │ │ + add.w r6, lr, r1 │ │ │ │ │ + add r1, r8 │ │ │ │ │ + vldr d0, [r1] │ │ │ │ │ + strd r6, r1, [sp, #120] @ 0x78 │ │ │ │ │ vmul.f64 d2, d6, d1 │ │ │ │ │ - add.w r5, ip, r3 │ │ │ │ │ vmla.f64 d2, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - vldr d1, [r7, #96] @ 0x60 │ │ │ │ │ - add.w r6, lr, r3 │ │ │ │ │ - movs r3, #96 @ 0x60 │ │ │ │ │ - str r1, [sp, #104] @ 0x68 │ │ │ │ │ - str r0, [sp, #108] @ 0x6c │ │ │ │ │ + vldr d1, [ip, #96] @ 0x60 │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ vmul.f64 d6, d0, d8 │ │ │ │ │ - str r5, [sp, #112] @ 0x70 │ │ │ │ │ - str r6, [sp, #124] @ 0x7c │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ + add.w r6, lr, r2 │ │ │ │ │ + add r2, r8 │ │ │ │ │ + strd r6, r2, [sp, #128] @ 0x80 │ │ │ │ │ vmla.f64 d6, d7, d1 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ - add.w r4, lr, r3 │ │ │ │ │ - add.w r1, ip, r3 │ │ │ │ │ - movs r3, #160 @ 0xa0 │ │ │ │ │ vnmls.f64 d7, d0, d1 │ │ │ │ │ vadd.f64 d0, d9, d2 │ │ │ │ │ vsub.f64 d9, d9, d2 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - add.w r0, ip, r3 │ │ │ │ │ - add r3, lr │ │ │ │ │ vadd.f64 d1, d3, d6 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ vadd.f64 d11, d0, d1 │ │ │ │ │ vsub.f64 d13, d0, d1 │ │ │ │ │ vadd.f64 d0, d10, d5 │ │ │ │ │ vadd.f64 d1, d4, d7 │ │ │ │ │ vsub.f64 d10, d10, d5 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vldr d5, [r6] │ │ │ │ │ vstr d11, [sp, #296] @ 0x128 │ │ │ │ │ vsub.f64 d11, d0, d1 │ │ │ │ │ vadd.f64 d1, d0, d1 │ │ │ │ │ + vstr d13, [sp, #304] @ 0x130 │ │ │ │ │ vsub.f64 d2, d9, d7 │ │ │ │ │ vadd.f64 d0, d10, d6 │ │ │ │ │ vadd.f64 d7, d9, d7 │ │ │ │ │ vsub.f64 d6, d10, d6 │ │ │ │ │ - vstr d13, [sp, #304] @ 0x130 │ │ │ │ │ vstr d11, [sp, #312] @ 0x138 │ │ │ │ │ vstr d1, [sp, #320] @ 0x140 │ │ │ │ │ vstr d2, [sp, #328] @ 0x148 │ │ │ │ │ vstr d7, [sp, #336] @ 0x150 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ vstr d0, [sp, #344] @ 0x158 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ vstr d6, [sp, #352] @ 0x160 │ │ │ │ │ - vldr d6, [r7, #48] @ 0x30 │ │ │ │ │ - vldr d9, [r7, #56] @ 0x38 │ │ │ │ │ - vldr d4, [r7, #184] @ 0xb8 │ │ │ │ │ - str r3, [sp, #140] @ 0x8c │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + add.w r2, r9, r9, lsl #1 │ │ │ │ │ + vldr d6, [ip, #48] @ 0x30 │ │ │ │ │ + mov.w r1, r2, lsl #5 │ │ │ │ │ + vldr d9, [ip, #56] @ 0x38 │ │ │ │ │ + add.w r6, lr, r1 │ │ │ │ │ + add r1, r8 │ │ │ │ │ + vldr d4, [ip, #184] @ 0xb8 │ │ │ │ │ + strd r6, r1, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d1, [ip, #312] @ 0x138 │ │ │ │ │ vmul.f64 d10, d5, d9 │ │ │ │ │ vmul.f64 d9, d7, d9 │ │ │ │ │ + vldr d8, [ip, #440] @ 0x1b8 │ │ │ │ │ vmla.f64 d10, d7, d6 │ │ │ │ │ - vldr d7, [r7, #176] @ 0xb0 │ │ │ │ │ - vldr d1, [r7, #312] @ 0x138 │ │ │ │ │ - vldr d8, [r7, #440] @ 0x1b8 │ │ │ │ │ vnmls.f64 d9, d5, d6 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - str r1, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + add.w r1, r9, r9, lsl #2 │ │ │ │ │ + vldr d5, [r6] │ │ │ │ │ + mov.w r6, r1, lsl #5 │ │ │ │ │ + vldr d7, [ip, #176] @ 0xb0 │ │ │ │ │ + add.w r7, lr, r6 │ │ │ │ │ vmul.f64 d3, d6, d4 │ │ │ │ │ - str r4, [sp, #132] @ 0x84 │ │ │ │ │ + str r7, [sp, #144] @ 0x90 │ │ │ │ │ vmla.f64 d3, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d4 │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ - str r0, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + add.w r7, r8, r6 │ │ │ │ │ + mov.w r6, r3, lsl #5 │ │ │ │ │ + mov.w r3, r3, lsl #4 │ │ │ │ │ + str r7, [sp, #148] @ 0x94 │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - movs r3, #224 @ 0xe0 │ │ │ │ │ - vldr d7, [r7, #304] @ 0x130 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + add.w r7, lr, r6 │ │ │ │ │ + vldr d7, [ip, #304] @ 0x130 │ │ │ │ │ + str r7, [sp, #152] @ 0x98 │ │ │ │ │ vmul.f64 d2, d6, d1 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ vmla.f64 d2, d4, d7 │ │ │ │ │ vmul.f64 d4, d4, d1 │ │ │ │ │ - vldr d1, [r7, #432] @ 0x1b0 │ │ │ │ │ - add.w r6, lr, r3 │ │ │ │ │ - add.w r5, ip, r3 │ │ │ │ │ - mov.w r3, r8, lsl #4 │ │ │ │ │ - str r5, [sp, #144] @ 0x90 │ │ │ │ │ - add.w r1, ip, r3 │ │ │ │ │ - add.w r4, lr, r3 │ │ │ │ │ - vldr d0, [r6] │ │ │ │ │ + vldr d1, [ip, #432] @ 0x1b0 │ │ │ │ │ vnmls.f64 d4, d6, d7 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - movs r3, #208 @ 0xd0 │ │ │ │ │ - str r6, [sp, #148] @ 0x94 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + add.w r7, r8, r6 │ │ │ │ │ + vldr d0, [r7] │ │ │ │ │ + str r7, [sp, #156] @ 0x9c │ │ │ │ │ + add.w r7, lr, r5 │ │ │ │ │ + add r5, r8 │ │ │ │ │ + strd r7, r5, [sp, #160] @ 0xa0 │ │ │ │ │ vmul.f64 d6, d0, d8 │ │ │ │ │ - str r1, [sp, #152] @ 0x98 │ │ │ │ │ vmla.f64 d6, d7, d1 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ - str r4, [sp, #156] @ 0x9c │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - add.w r0, ip, r3 │ │ │ │ │ - add r3, lr │ │ │ │ │ vnmls.f64 d7, d0, d1 │ │ │ │ │ vadd.f64 d1, d10, d2 │ │ │ │ │ vsub.f64 d10, d10, d2 │ │ │ │ │ vadd.f64 d0, d3, d6 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ vadd.f64 d13, d1, d0 │ │ │ │ │ vsub.f64 d0, d0, d1 │ │ │ │ │ vadd.f64 d1, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ + vstr d13, [sp, #360] @ 0x168 │ │ │ │ │ vstr d0, [sp, #688] @ 0x2b0 │ │ │ │ │ vadd.f64 d0, d9, d4 │ │ │ │ │ vsub.f64 d9, d9, d4 │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ - vstr d13, [sp, #360] @ 0x168 │ │ │ │ │ vsub.f64 d11, d0, d1 │ │ │ │ │ vadd.f64 d13, d0, d1 │ │ │ │ │ vsub.f64 d2, d9, d10 │ │ │ │ │ vadd.f64 d9, d9, d10 │ │ │ │ │ vsub.f64 d10, d6, d7 │ │ │ │ │ - vstr d5, [sp, #392] @ 0x188 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - vldr d6, [r7, #16] │ │ │ │ │ - vstr d11, [sp, #696] @ 0x2b8 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ vstr d13, [sp, #368] @ 0x170 │ │ │ │ │ vstr d2, [sp, #376] @ 0x178 │ │ │ │ │ - vstr d10, [sp, #400] @ 0x190 │ │ │ │ │ vstr d9, [sp, #384] @ 0x180 │ │ │ │ │ - vldr d9, [r7, #24] │ │ │ │ │ - vldr d4, [r7, #408] @ 0x198 │ │ │ │ │ - str r3, [sp, #164] @ 0xa4 │ │ │ │ │ + vstr d5, [sp, #392] @ 0x188 │ │ │ │ │ + vstr d10, [sp, #400] @ 0x190 │ │ │ │ │ + vstr d11, [sp, #696] @ 0x2b8 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + mov.w r5, #208 @ 0xd0 │ │ │ │ │ + vldr d6, [ip, #16] │ │ │ │ │ + mul.w r5, r5, r9 │ │ │ │ │ + vldr d9, [ip, #24] │ │ │ │ │ + add.w r7, lr, r5 │ │ │ │ │ + add r5, r8 │ │ │ │ │ + vldr d8, [ip, #152] @ 0x98 │ │ │ │ │ + strd r7, r5, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d4, [ip, #408] @ 0x198 │ │ │ │ │ vmul.f64 d10, d5, d9 │ │ │ │ │ vmul.f64 d9, d7, d9 │ │ │ │ │ - vmla.f64 d10, d7, d6 │ │ │ │ │ - vldr d7, [r7, #400] @ 0x190 │ │ │ │ │ - vldr d1, [r7, #280] @ 0x118 │ │ │ │ │ - vldr d8, [r7, #152] @ 0x98 │ │ │ │ │ + vldr d1, [ip, #280] @ 0x118 │ │ │ │ │ vnmls.f64 d9, d5, d6 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - movs r3, #144 @ 0x90 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - str r0, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + vmla.f64 d10, d7, d6 │ │ │ │ │ + add.w r5, lr, r4 │ │ │ │ │ + add r4, r8 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + add.w r7, lr, r0 │ │ │ │ │ + add r0, r8 │ │ │ │ │ + strd r5, r4, [sp, #176] @ 0xb0 │ │ │ │ │ + vldr d7, [ip, #400] @ 0x190 │ │ │ │ │ + strd r7, r0, [sp, #192] @ 0xc0 │ │ │ │ │ vmul.f64 d2, d5, d4 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ vmla.f64 d2, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d4 │ │ │ │ │ - add.w r6, lr, r3 │ │ │ │ │ - add.w r5, ip, r3 │ │ │ │ │ - movs r3, #80 @ 0x50 │ │ │ │ │ - str r5, [sp, #168] @ 0xa8 │ │ │ │ │ - str r6, [sp, #172] @ 0xac │ │ │ │ │ - vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d5, [r6] │ │ │ │ │ - vldr d7, [r7, #272] @ 0x110 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ vldr d4, [r5] │ │ │ │ │ - movs r5, #48 @ 0x30 │ │ │ │ │ + vnmls.f64 d6, d5, d7 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + mov.w r4, r1, lsl #4 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + vldr d7, [ip, #272] @ 0x110 │ │ │ │ │ + add.w r5, lr, r4 │ │ │ │ │ + add r4, r8 │ │ │ │ │ + add.w fp, lr, r1 │ │ │ │ │ + add.w sl, r8, r1 │ │ │ │ │ + vldr d0, [r4] │ │ │ │ │ + strd r5, r4, [sp, #184] @ 0xb8 │ │ │ │ │ + mov.w r4, #176 @ 0xb0 │ │ │ │ │ vmul.f64 d3, d5, d1 │ │ │ │ │ - add.w r4, lr, r3 │ │ │ │ │ - add.w r1, ip, r3 │ │ │ │ │ - movs r3, #240 @ 0xf0 │ │ │ │ │ + mul.w r4, r4, r9 │ │ │ │ │ vmla.f64 d3, d4, d7 │ │ │ │ │ vmul.f64 d4, d4, d1 │ │ │ │ │ - vldr d0, [r4] │ │ │ │ │ - mul.w r5, r5, r8 │ │ │ │ │ - vldr d1, [r7, #144] @ 0x90 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - str r4, [sp, #180] @ 0xb4 │ │ │ │ │ - movs r4, #176 @ 0xb0 │ │ │ │ │ + vldr d1, [ip, #144] @ 0x90 │ │ │ │ │ vnmls.f64 d4, d5, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ vmul.f64 d5, d0, d8 │ │ │ │ │ - add.w r0, ip, r3 │ │ │ │ │ - add r3, lr │ │ │ │ │ - str r1, [sp, #176] @ 0xb0 │ │ │ │ │ + add.w r5, r3, r8 │ │ │ │ │ vmla.f64 d5, d7, d1 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ - str r0, [sp, #184] @ 0xb8 │ │ │ │ │ - mul.w r4, r4, r8 │ │ │ │ │ - str r3, [sp, #188] @ 0xbc │ │ │ │ │ - add.w r6, ip, r4 │ │ │ │ │ - add r4, lr │ │ │ │ │ vnmls.f64 d7, d0, d1 │ │ │ │ │ vadd.f64 d0, d10, d3 │ │ │ │ │ vsub.f64 d10, d10, d3 │ │ │ │ │ vadd.f64 d1, d2, d5 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ vadd.f64 d8, d0, d1 │ │ │ │ │ vsub.f64 d0, d0, d1 │ │ │ │ │ vadd.f64 d1, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ + vstr d8, [sp, #408] @ 0x198 │ │ │ │ │ vstr d0, [sp, #704] @ 0x2c0 │ │ │ │ │ vadd.f64 d0, d9, d4 │ │ │ │ │ vsub.f64 d9, d9, d4 │ │ │ │ │ vsub.f64 d6, d10, d7 │ │ │ │ │ vadd.f64 d10, d10, d7 │ │ │ │ │ - vstr d8, [sp, #408] @ 0x198 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - movs r0, #112 @ 0x70 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ vsub.f64 d13, d0, d1 │ │ │ │ │ - vadd.f64 d1, d0, d1 │ │ │ │ │ vadd.f64 d2, d9, d5 │ │ │ │ │ + vadd.f64 d1, d0, d1 │ │ │ │ │ vsub.f64 d5, d9, d5 │ │ │ │ │ - vstr d6, [sp, #440] @ 0x1b8 │ │ │ │ │ - mul.w r0, r0, r8 │ │ │ │ │ - vldr d6, [r7, #464] @ 0x1d0 │ │ │ │ │ - vstr d13, [sp, #712] @ 0x2c8 │ │ │ │ │ - add.w r1, ip, r0 │ │ │ │ │ vstr d1, [sp, #416] @ 0x1a0 │ │ │ │ │ - add r0, lr │ │ │ │ │ vstr d2, [sp, #424] @ 0x1a8 │ │ │ │ │ vstr d5, [sp, #432] @ 0x1b0 │ │ │ │ │ + vstr d6, [sp, #440] @ 0x1b8 │ │ │ │ │ vstr d10, [sp, #448] @ 0x1c0 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - add.w r3, ip, r5 │ │ │ │ │ - vldr d9, [r7, #472] @ 0x1d8 │ │ │ │ │ - add r5, lr │ │ │ │ │ - vldr d4, [r7, #344] @ 0x158 │ │ │ │ │ - vldr d1, [r7, #216] @ 0xd8 │ │ │ │ │ + vstr d13, [sp, #712] @ 0x2c8 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + add.w r0, lr, r4 │ │ │ │ │ + add r4, r8 │ │ │ │ │ + str r0, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d9, [ip, #472] @ 0x1d8 │ │ │ │ │ + str r5, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d6, [ip, #464] @ 0x1d0 │ │ │ │ │ + vldr d4, [ip, #344] @ 0x158 │ │ │ │ │ vmul.f64 d10, d5, d9 │ │ │ │ │ vmul.f64 d9, d7, d9 │ │ │ │ │ - vmla.f64 d10, d7, d6 │ │ │ │ │ - vldr d7, [r7, #336] @ 0x150 │ │ │ │ │ - vldr d0, [r5] │ │ │ │ │ - vldr d8, [r7, #88] @ 0x58 │ │ │ │ │ + vldr d1, [ip, #216] @ 0xd8 │ │ │ │ │ + vldr d13, [ip, #72] @ 0x48 │ │ │ │ │ + vldr d8, [ip, #88] @ 0x58 │ │ │ │ │ vnmls.f64 d9, d5, d6 │ │ │ │ │ + vmla.f64 d10, d7, d6 │ │ │ │ │ vldr d5, [r4] │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ - str r3, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + add.w r0, lr, r3 │ │ │ │ │ + vldr d7, [ip, #336] @ 0x150 │ │ │ │ │ + str r0, [sp, #204] @ 0xcc │ │ │ │ │ vmul.f64 d2, d5, d4 │ │ │ │ │ - vldr d13, [r7, #72] @ 0x48 │ │ │ │ │ + ldr r3, [sp, #4] │ │ │ │ │ vmla.f64 d2, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d4 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - str r6, [sp, #192] @ 0xc0 │ │ │ │ │ - str r1, [sp, #196] @ 0xc4 │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ + add.w r1, sl, r3 │ │ │ │ │ + add.w r0, fp, r3 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ - vldr d7, [r7, #208] @ 0xd0 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + mov.w r5, r2, lsl #4 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + vldr d7, [ip, #208] @ 0xd0 │ │ │ │ │ + add.w r7, lr, r5 │ │ │ │ │ + add r5, r8 │ │ │ │ │ + vldr d0, [r5] │ │ │ │ │ + str r7, [sp, #212] @ 0xd4 │ │ │ │ │ vmul.f64 d3, d5, d1 │ │ │ │ │ vmla.f64 d3, d4, d7 │ │ │ │ │ vmul.f64 d4, d4, d1 │ │ │ │ │ - vldr d1, [r7, #80] @ 0x50 │ │ │ │ │ + vldr d1, [ip, #80] @ 0x50 │ │ │ │ │ vnmls.f64 d4, d5, d7 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ vmul.f64 d5, d0, d8 │ │ │ │ │ - movs r3, #40 @ 0x28 │ │ │ │ │ vmla.f64 d5, d7, d1 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - add.w sl, ip, r3 │ │ │ │ │ - add.w r9, lr, r3 │ │ │ │ │ vnmls.f64 d7, d0, d1 │ │ │ │ │ vadd.f64 d0, d10, d3 │ │ │ │ │ vsub.f64 d10, d10, d3 │ │ │ │ │ - add.w r6, sl, r2 │ │ │ │ │ - add.w r1, r9, r2 │ │ │ │ │ - movs r3, #232 @ 0xe8 │ │ │ │ │ - str r6, [sp, #204] @ 0xcc │ │ │ │ │ vadd.f64 d1, d2, d5 │ │ │ │ │ - str r1, [sp, #208] @ 0xd0 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ vadd.f64 d8, d0, d1 │ │ │ │ │ vsub.f64 d1, d0, d1 │ │ │ │ │ vadd.f64 d0, d9, d4 │ │ │ │ │ vsub.f64 d9, d9, d4 │ │ │ │ │ + vstr d8, [sp, #456] @ 0x1c8 │ │ │ │ │ vstr d1, [sp, #720] @ 0x2d0 │ │ │ │ │ vadd.f64 d1, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d4, d9, d5 │ │ │ │ │ vsub.f64 d9, d9, d5 │ │ │ │ │ - vldr d5, [r9] │ │ │ │ │ - vstr d8, [sp, #456] @ 0x1c8 │ │ │ │ │ - vsub.f64 d11, d0, d1 │ │ │ │ │ - vadd.f64 d0, d0, d1 │ │ │ │ │ + vldr d5, [sl] │ │ │ │ │ vsub.f64 d6, d10, d7 │ │ │ │ │ + vsub.f64 d11, d0, d1 │ │ │ │ │ vadd.f64 d10, d10, d7 │ │ │ │ │ - vldr d7, [sl] │ │ │ │ │ - vstr d4, [sp, #472] @ 0x1d8 │ │ │ │ │ + vldr d7, [fp] │ │ │ │ │ + vadd.f64 d0, d0, d1 │ │ │ │ │ + vstr d6, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d6, [ip, #64] @ 0x40 │ │ │ │ │ vstr d11, [sp, #728] @ 0x2d8 │ │ │ │ │ vmul.f64 d11, d5, d13 │ │ │ │ │ vmul.f64 d13, d7, d13 │ │ │ │ │ - vstr d6, [sp, #488] @ 0x1e8 │ │ │ │ │ - vldr d6, [r7, #64] @ 0x40 │ │ │ │ │ vstr d0, [sp, #464] @ 0x1d0 │ │ │ │ │ + vstr d4, [sp, #472] @ 0x1d8 │ │ │ │ │ vstr d9, [sp, #480] @ 0x1e0 │ │ │ │ │ - vmla.f64 d11, d7, d6 │ │ │ │ │ + vstr d10, [sp, #496] @ 0x1f0 │ │ │ │ │ vnmls.f64 d13, d5, d6 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - add.w r6, ip, r3 │ │ │ │ │ + str r0, [sp, #4] │ │ │ │ │ + vmla.f64 d11, d7, d6 │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ - add r3, lr │ │ │ │ │ - vstr d10, [sp, #496] @ 0x1f0 │ │ │ │ │ - vldr d6, [r7, #320] @ 0x140 │ │ │ │ │ - vldr d10, [r7, #328] @ 0x148 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - str r3, [sp, #216] @ 0xd8 │ │ │ │ │ - movs r3, #104 @ 0x68 │ │ │ │ │ + str r1, [sp, #216] @ 0xd8 │ │ │ │ │ + mov.w r1, #232 @ 0xe8 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + mul.w r1, r1, r9 │ │ │ │ │ + vldr d8, [ip, #200] @ 0xc8 │ │ │ │ │ + vldr d10, [ip, #328] @ 0x148 │ │ │ │ │ + add.w r7, r8, r1 │ │ │ │ │ + add.w r6, lr, r1 │ │ │ │ │ + mov.w r1, #104 @ 0x68 │ │ │ │ │ + vldr d6, [ip, #320] @ 0x140 │ │ │ │ │ + mul.w r1, r1, r9 │ │ │ │ │ + strd r6, r7, [sp, #220] @ 0xdc │ │ │ │ │ + vldr d3, [r7] │ │ │ │ │ + vldr d1, [ip, #456] @ 0x1c8 │ │ │ │ │ vmul.f64 d9, d5, d10 │ │ │ │ │ vmul.f64 d10, d7, d10 │ │ │ │ │ - vldr d1, [r7, #456] @ 0x1c8 │ │ │ │ │ - vmla.f64 d9, d7, d6 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - vldr d8, [r7, #200] @ 0xc8 │ │ │ │ │ + add.w r0, lr, r1 │ │ │ │ │ + add r1, r8 │ │ │ │ │ + vldr d0, [r1] │ │ │ │ │ + strd r0, r1, [sp, #228] @ 0xe4 │ │ │ │ │ + mov.w r1, #216 @ 0xd8 │ │ │ │ │ vnmls.f64 d10, d5, d6 │ │ │ │ │ - vldr d5, [r7, #448] @ 0x1c0 │ │ │ │ │ + vldr d5, [ip, #448] @ 0x1c0 │ │ │ │ │ + vmla.f64 d9, d7, d6 │ │ │ │ │ vmul.f64 d4, d3, d1 │ │ │ │ │ - add.w r1, ip, r3 │ │ │ │ │ - add r3, lr │ │ │ │ │ - str r3, [sp, #224] @ 0xe0 │ │ │ │ │ + mul.w r1, r1, r9 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + add.w r6, lr, r2 │ │ │ │ │ + add r2, r8 │ │ │ │ │ vmla.f64 d4, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [r7, #192] @ 0xc0 │ │ │ │ │ - vldr d0, [r3] │ │ │ │ │ + vldr d1, [ip, #192] @ 0xc0 │ │ │ │ │ + vsub.f64 d2, d13, d10 │ │ │ │ │ + vadd.f64 d13, d13, d10 │ │ │ │ │ vsub.f64 d6, d11, d9 │ │ │ │ │ vadd.f64 d9, d11, d9 │ │ │ │ │ - movs r3, #24 │ │ │ │ │ vnmls.f64 d7, d3, d5 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ vmul.f64 d3, d0, d8 │ │ │ │ │ - vsub.f64 d2, d13, d10 │ │ │ │ │ - vadd.f64 d13, d13, d10 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ + add.w r0, r6, r3 │ │ │ │ │ + add r3, r2 │ │ │ │ │ + mov r7, r3 │ │ │ │ │ + str r0, [sp, #236] @ 0xec │ │ │ │ │ vmla.f64 d3, d5, d1 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ - str r6, [sp, #212] @ 0xd4 │ │ │ │ │ - add.w r6, ip, r3 │ │ │ │ │ - add r3, lr │ │ │ │ │ - str r1, [sp, #220] @ 0xdc │ │ │ │ │ - adds r1, r6, r2 │ │ │ │ │ - str r1, [sp, #228] @ 0xe4 │ │ │ │ │ vnmls.f64 d5, d0, d1 │ │ │ │ │ vsub.f64 d1, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ vsub.f64 d0, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vadd.f64 d3, d9, d4 │ │ │ │ │ vsub.f64 d9, d4, d9 │ │ │ │ │ vsub.f64 d5, d13, d7 │ │ │ │ │ vadd.f64 d13, d13, d7 │ │ │ │ │ vsub.f64 d7, d1, d0 │ │ │ │ │ vadd.f64 d1, d1, d0 │ │ │ │ │ - vstr d9, [sp, #512] @ 0x200 │ │ │ │ │ vstr d3, [sp, #504] @ 0x1f8 │ │ │ │ │ + vstr d9, [sp, #512] @ 0x200 │ │ │ │ │ vstr d5, [sp, #520] @ 0x208 │ │ │ │ │ vadd.f64 d5, d6, d2 │ │ │ │ │ vsub.f64 d6, d2, d6 │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ vmul.f64 d10, d4, d14 │ │ │ │ │ - vldr d4, [r7, #40] @ 0x28 │ │ │ │ │ + vldr d4, [ip, #40] @ 0x28 │ │ │ │ │ + vmul.f64 d11, d5, d4 │ │ │ │ │ + vstr d10, [sp, #528] @ 0x210 │ │ │ │ │ vstr d7, [sp, #536] @ 0x218 │ │ │ │ │ vsub.f64 d7, d6, d1 │ │ │ │ │ vadd.f64 d6, d6, d1 │ │ │ │ │ - vmul.f64 d11, d5, d4 │ │ │ │ │ - vstr d10, [sp, #528] @ 0x210 │ │ │ │ │ - vldr d10, [r7, #296] @ 0x128 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ vmul.f64 d2, d6, d14 │ │ │ │ │ - vldr d6, [r7, #32] │ │ │ │ │ + vldr d6, [ip, #32] │ │ │ │ │ vstr d7, [sp, #544] @ 0x220 │ │ │ │ │ vldr d7, [r6] │ │ │ │ │ vstr d2, [sp, #552] @ 0x228 │ │ │ │ │ vmla.f64 d11, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d6, [r7, #288] @ 0x120 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ + vldr d6, [ip, #288] @ 0x120 │ │ │ │ │ vmov.f64 d4, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - adds r1, r3, r2 │ │ │ │ │ - movs r2, #216 @ 0xd8 │ │ │ │ │ - str r1, [sp, #232] @ 0xe8 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + add.w r0, lr, r1 │ │ │ │ │ + add r1, r8 │ │ │ │ │ + vldr d10, [ip, #296] @ 0x128 │ │ │ │ │ + str r0, [sp, #240] @ 0xf0 │ │ │ │ │ vstr d4, [sp, #560] @ 0x230 │ │ │ │ │ - add.w r1, ip, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ + vldr d1, [ip, #424] @ 0x1a8 │ │ │ │ │ + vldr d0, [ip, #168] @ 0xa8 │ │ │ │ │ vmul.f64 d9, d5, d10 │ │ │ │ │ vmul.f64 d10, d7, d10 │ │ │ │ │ - str r1, [sp, #236] @ 0xec │ │ │ │ │ - vmla.f64 d9, d7, d6 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - movs r1, #88 @ 0x58 │ │ │ │ │ - vldr d1, [r7, #424] @ 0x1a8 │ │ │ │ │ vnmls.f64 d10, d5, d6 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - vldr d6, [r7, #416] @ 0x1a0 │ │ │ │ │ - mul.w r1, r1, r8 │ │ │ │ │ - str r2, [sp, #240] @ 0xf0 │ │ │ │ │ - add.w r2, ip, r1 │ │ │ │ │ - add r1, lr │ │ │ │ │ - vldr d0, [r7, #168] @ 0xa8 │ │ │ │ │ - vsub.f64 d2, d11, d9 │ │ │ │ │ - vadd.f64 d9, d11, d9 │ │ │ │ │ - str r2, [sp, #244] @ 0xf4 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + vmla.f64 d9, d7, d6 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + mov.w r0, #88 @ 0x58 │ │ │ │ │ + vldr d6, [ip, #416] @ 0x1a0 │ │ │ │ │ + mul.w r0, r0, r9 │ │ │ │ │ + add.w r3, lr, r0 │ │ │ │ │ + add r0, r8 │ │ │ │ │ + str r3, [sp, #244] @ 0xf4 │ │ │ │ │ vsub.f64 d3, d4, d10 │ │ │ │ │ vmul.f64 d4, d5, d1 │ │ │ │ │ + vsub.f64 d2, d11, d9 │ │ │ │ │ + vadd.f64 d9, d11, d9 │ │ │ │ │ vmla.f64 d4, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [r1] │ │ │ │ │ + vldr d1, [r0] │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d6, [r7, #160] @ 0xa0 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ vmul.f64 d8, d1, d0 │ │ │ │ │ - ldr r2, [sp, #0] │ │ │ │ │ - add.w r7, r7, #496 @ 0x1f0 │ │ │ │ │ + vldr d6, [ip, #160] @ 0xa0 │ │ │ │ │ + add.w ip, ip, #496 @ 0x1f0 │ │ │ │ │ vmla.f64 d8, d5, d6 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ vnmls.f64 d5, d1, d6 │ │ │ │ │ vsub.f64 d1, d4, d8 │ │ │ │ │ vadd.f64 d4, d4, d8 │ │ │ │ │ vsub.f64 d6, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vadd.f64 d11, d9, d4 │ │ │ │ │ vsub.f64 d8, d4, d9 │ │ │ │ │ vldr d4, [sp, #560] @ 0x230 │ │ │ │ │ vadd.f64 d5, d1, d6 │ │ │ │ │ vsub.f64 d6, d1, d6 │ │ │ │ │ + vldr d1, [sp, #504] @ 0x1f8 │ │ │ │ │ vadd.f64 d10, d4, d10 │ │ │ │ │ vstr d8, [sp, #568] @ 0x238 │ │ │ │ │ vldr d8, [sp, #456] @ 0x1c8 │ │ │ │ │ - vldr d1, [sp, #504] @ 0x1f8 │ │ │ │ │ vsub.f64 d4, d10, d7 │ │ │ │ │ vadd.f64 d10, d10, d7 │ │ │ │ │ vsub.f64 d7, d3, d2 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ vstr d4, [sp, #560] @ 0x230 │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ vmul.f64 d9, d4, d14 │ │ │ │ │ vldr d4, [sp, #416] @ 0x1a0 │ │ │ │ │ + vstr d9, [sp, #576] @ 0x240 │ │ │ │ │ vstr d7, [sp, #584] @ 0x248 │ │ │ │ │ vsub.f64 d7, d6, d3 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ - vstr d9, [sp, #576] @ 0x240 │ │ │ │ │ vldr d9, [sp, #608] @ 0x260 │ │ │ │ │ vmul.f64 d5, d7, d14 │ │ │ │ │ vmul.f64 d6, d6, d14 │ │ │ │ │ vstr d5, [sp, #592] @ 0x250 │ │ │ │ │ - vstr d6, [sp, #600] @ 0x258 │ │ │ │ │ vldr d5, [sp, #408] @ 0x198 │ │ │ │ │ + vstr d6, [sp, #600] @ 0x258 │ │ │ │ │ vldr d6, [sp, #360] @ 0x168 │ │ │ │ │ vadd.f64 d7, d5, d8 │ │ │ │ │ vldr d8, [sp, #248] @ 0xf8 │ │ │ │ │ vadd.f64 d6, d9, d6 │ │ │ │ │ vadd.f64 d2, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [sp, #464] @ 0x1d0 │ │ │ │ │ vadd.f64 d5, d4, d7 │ │ │ │ │ - vldr d7, [sp, #368] @ 0x170 │ │ │ │ │ vldr d4, [sp, #256] @ 0x100 │ │ │ │ │ - vadd.f64 d7, d8, d7 │ │ │ │ │ + vldr d7, [sp, #368] @ 0x170 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ vldr d1, [sp, #264] @ 0x108 │ │ │ │ │ + vadd.f64 d7, d8, d7 │ │ │ │ │ vadd.f64 d3, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vldr d5, [sp, #296] @ 0x128 │ │ │ │ │ vadd.f64 d5, d5, d11 │ │ │ │ │ vadd.f64 d0, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vadd.f64 d4, d1, d13 │ │ │ │ │ vldr d1, [sp, #320] @ 0x140 │ │ │ │ │ + ldr r3, [sp, #8] │ │ │ │ │ vadd.f64 d8, d1, d10 │ │ │ │ │ vsub.f64 d1, d4, d8 │ │ │ │ │ vadd.f64 d4, d4, d8 │ │ │ │ │ vsub.f64 d8, d2, d0 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ + vldr d0, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d8, [r3] │ │ │ │ │ vsub.f64 d8, d3, d4 │ │ │ │ │ - ldr r2, [sp, #8] │ │ │ │ │ vadd.f64 d3, d3, d4 │ │ │ │ │ + ldr r3, [sp, #16] │ │ │ │ │ vsub.f64 d4, d6, d1 │ │ │ │ │ vadd.f64 d6, d6, d1 │ │ │ │ │ - vldr d0, [sp, #264] @ 0x108 │ │ │ │ │ vldr d1, [sp, #320] @ 0x140 │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ - ldr r2, [sp, #24] │ │ │ │ │ - vstr d2, [ip] │ │ │ │ │ + vstr d8, [r3] │ │ │ │ │ + ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d2, [lr] │ │ │ │ │ + vstr d3, [r8] │ │ │ │ │ vsub.f64 d10, d1, d10 │ │ │ │ │ - vstr d3, [lr] │ │ │ │ │ vldr d8, [sp, #248] @ 0xf8 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ - ldr r2, [sp, #32] │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ + ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ vldr d3, [sp, #456] @ 0x1c8 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - ldr r2, [sp, #16] │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + ldr r3, [sp, #24] │ │ │ │ │ vldr d4, [sp, #256] @ 0x100 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + ldr r3, [sp, #32] │ │ │ │ │ vldr d6, [sp, #360] @ 0x168 │ │ │ │ │ - vstr d7, [fp] │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + ldr r3, [sp, #144] @ 0x90 │ │ │ │ │ vldr d7, [sp, #464] @ 0x1d0 │ │ │ │ │ vsub.f64 d5, d9, d6 │ │ │ │ │ - vldr d6, [sp, #416] @ 0x1a0 │ │ │ │ │ vldr d9, [sp, #408] @ 0x198 │ │ │ │ │ - ldr r2, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d6, [sp, #416] @ 0x1a0 │ │ │ │ │ + vsub.f64 d9, d3, d9 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ vldr d6, [sp, #368] @ 0x170 │ │ │ │ │ - vsub.f64 d9, d3, d9 │ │ │ │ │ vsub.f64 d6, d8, d6 │ │ │ │ │ vldr d8, [sp, #504] @ 0x1f8 │ │ │ │ │ vadd.f64 d2, d5, d7 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ vsub.f64 d7, d0, d13 │ │ │ │ │ vadd.f64 d3, d9, d6 │ │ │ │ │ vsub.f64 d9, d6, d9 │ │ │ │ │ @@ -751,74 +735,74 @@ │ │ │ │ │ vadd.f64 d4, d4, d10 │ │ │ │ │ vadd.f64 d1, d0, d6 │ │ │ │ │ vsub.f64 d6, d6, d0 │ │ │ │ │ vmul.f64 d1, d1, d14 │ │ │ │ │ vmul.f64 d6, d6, d14 │ │ │ │ │ vsub.f64 d8, d2, d1 │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ - ldr r2, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ + vstr d8, [r3] │ │ │ │ │ + ldr r3, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ vadd.f64 d2, d7, d4 │ │ │ │ │ - ldr r2, [sp, #124] @ 0x7c │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ + ldr r3, [sp, #132] @ 0x84 │ │ │ │ │ vmul.f64 d2, d2, d14 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ vadd.f64 d1, d3, d2 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ vsub.f64 d4, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ vadd.f64 d7, d9, d6 │ │ │ │ │ vsub.f64 d9, d9, d6 │ │ │ │ │ - vstr d1, [r2] │ │ │ │ │ - ldr r2, [sp, #140] @ 0x8c │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - ldr r2, [sp, #144] @ 0x90 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - ldr r2, [sp, #128] @ 0x80 │ │ │ │ │ - vldr d4, [sp, #696] @ 0x2b8 │ │ │ │ │ + vstr d1, [r3] │ │ │ │ │ + ldr r3, [sp, #148] @ 0x94 │ │ │ │ │ vldr d8, [sp, #656] @ 0x290 │ │ │ │ │ vldr d10, [sp, #688] @ 0x2b0 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - ldr r2, [sp, #132] @ 0x84 │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ + ldr r3, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d0, [sp, #704] @ 0x2c0 │ │ │ │ │ vldr d13, [sp, #712] @ 0x2c8 │ │ │ │ │ vadd.f64 d11, d8, d10 │ │ │ │ │ - vldr d0, [sp, #704] @ 0x2c0 │ │ │ │ │ - vsub.f64 d5, d8, d10 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + ldr r3, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d4, [sp, #696] @ 0x2b8 │ │ │ │ │ vldr d2, [sp, #728] @ 0x2d8 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - ldr r2, [sp, #148] @ 0x94 │ │ │ │ │ - vldr d7, [sp, #616] @ 0x268 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + vsub.f64 d5, d8, d10 │ │ │ │ │ + ldr r3, [sp, #140] @ 0x8c │ │ │ │ │ + vstr d11, [sp, #16] │ │ │ │ │ vldr d8, [sp, #304] @ 0x130 │ │ │ │ │ - vstr d11, [sp, #8] │ │ │ │ │ - vstr d9, [r2] │ │ │ │ │ - vsub.f64 d1, d7, d4 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + ldr r3, [sp, #156] @ 0x9c │ │ │ │ │ + vldr d7, [sp, #616] @ 0x268 │ │ │ │ │ + vstr d9, [r3] │ │ │ │ │ vldr d9, [sp, #720] @ 0x2d0 │ │ │ │ │ + vsub.f64 d1, d7, d4 │ │ │ │ │ vadd.f64 d10, d7, d4 │ │ │ │ │ vsub.f64 d7, d13, d0 │ │ │ │ │ vadd.f64 d4, d9, d2 │ │ │ │ │ vsub.f64 d6, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ vldr d4, [sp, #560] @ 0x230 │ │ │ │ │ vmul.f64 d11, d7, d14 │ │ │ │ │ vadd.f64 d7, d8, d4 │ │ │ │ │ - vldr d8, [sp, #568] @ 0x238 │ │ │ │ │ - vmul.f64 d6, d6, d14 │ │ │ │ │ vldr d4, [sp, #312] @ 0x138 │ │ │ │ │ + vmul.f64 d6, d6, d14 │ │ │ │ │ + vldr d8, [sp, #568] @ 0x238 │ │ │ │ │ vadd.f64 d4, d4, d8 │ │ │ │ │ vmul.f64 d3, d4, d15 │ │ │ │ │ vnmls.f64 d3, d7, d12 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ vmla.f64 d7, d4, d12 │ │ │ │ │ vsub.f64 d4, d9, d2 │ │ │ │ │ vldr d9, [sp, #664] @ 0x298 │ │ │ │ │ - vstr d3, [sp, #16] │ │ │ │ │ + vstr d3, [sp, #24] │ │ │ │ │ vadd.f64 d3, d0, d13 │ │ │ │ │ - vstr d7, [sp, #24] │ │ │ │ │ vldr d13, [sp, #512] @ 0x200 │ │ │ │ │ + vstr d7, [sp, #32] │ │ │ │ │ vadd.f64 d7, d3, d4 │ │ │ │ │ vsub.f64 d4, d4, d3 │ │ │ │ │ vldr d3, [sp, #672] @ 0x2a0 │ │ │ │ │ vsub.f64 d2, d3, d13 │ │ │ │ │ vldr d13, [sp, #520] @ 0x208 │ │ │ │ │ vmul.f64 d4, d4, d14 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ @@ -833,443 +817,446 @@ │ │ │ │ │ vldr d0, [sp, #520] @ 0x208 │ │ │ │ │ vadd.f64 d3, d9, d0 │ │ │ │ │ vmul.f64 d0, d3, d12 │ │ │ │ │ vmul.f64 d3, d3, d15 │ │ │ │ │ vmla.f64 d0, d2, d15 │ │ │ │ │ vmov.f64 d9, d3 │ │ │ │ │ vnmls.f64 d9, d2, d12 │ │ │ │ │ - vstr d0, [sp, #32] │ │ │ │ │ - vldr d0, [sp, #560] @ 0x230 │ │ │ │ │ - vstr d9, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d0, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d9, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d8, [sp, #8] │ │ │ │ │ vldr d9, [sp, #304] @ 0x130 │ │ │ │ │ + vldr d0, [sp, #560] @ 0x230 │ │ │ │ │ + ldr r3, [sp, #200] @ 0xc8 │ │ │ │ │ vsub.f64 d3, d9, d0 │ │ │ │ │ vldr d9, [sp, #312] @ 0x138 │ │ │ │ │ vldr d0, [sp, #568] @ 0x238 │ │ │ │ │ - ldr r2, [sp, #192] @ 0xc0 │ │ │ │ │ - vstr d8, [sp] │ │ │ │ │ vsub.f64 d2, d9, d0 │ │ │ │ │ vmul.f64 d9, d2, d12 │ │ │ │ │ vnmls.f64 d9, d3, d15 │ │ │ │ │ vmul.f64 d3, d3, d12 │ │ │ │ │ vmla.f64 d3, d2, d15 │ │ │ │ │ vadd.f64 d2, d1, d6 │ │ │ │ │ vsub.f64 d6, d1, d6 │ │ │ │ │ - vldr d1, [sp, #32] │ │ │ │ │ + vldr d1, [sp, #40] @ 0x28 │ │ │ │ │ vadd.f64 d0, d8, d9 │ │ │ │ │ vsub.f64 d8, d2, d0 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ vadd.f64 d0, d13, d3 │ │ │ │ │ vsub.f64 d13, d13, d3 │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ - ldr r2, [sp, #200] @ 0xc8 │ │ │ │ │ + vstr d8, [r3] │ │ │ │ │ + ldr r3, [sp, #212] @ 0xd4 │ │ │ │ │ vsub.f64 d3, d6, d13 │ │ │ │ │ vadd.f64 d6, d6, d13 │ │ │ │ │ - vldr d13, [sp, #8] │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ + vldr d13, [sp, #16] │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ vadd.f64 d2, d5, d4 │ │ │ │ │ - ldr r2, [sp, #184] @ 0xb8 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ + ldr r3, [sp, #192] @ 0xc0 │ │ │ │ │ vadd.f64 d8, d0, d2 │ │ │ │ │ vsub.f64 d2, d2, d0 │ │ │ │ │ - vldr d0, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d0, [sp, #48] @ 0x30 │ │ │ │ │ vstr d8, [r5] │ │ │ │ │ - vldr d8, [sp] │ │ │ │ │ + vldr d8, [sp, #8] │ │ │ │ │ vstr d2, [r4] │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ + vldr d3, [sp, #24] │ │ │ │ │ + ldr r3, [sp, #204] @ 0xcc │ │ │ │ │ vsub.f64 d9, d9, d8 │ │ │ │ │ - ldr r2, [sp, #196] @ 0xc4 │ │ │ │ │ - vldr d3, [sp, #16] │ │ │ │ │ - ldr r5, [sp, #168] @ 0xa8 │ │ │ │ │ - vldr d2, [sp, #24] │ │ │ │ │ - vadd.f64 d4, d9, d5 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - vsub.f64 d5, d5, d9 │ │ │ │ │ + vldr d2, [sp, #32] │ │ │ │ │ + ldr r5, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ vadd.f64 d6, d10, d7 │ │ │ │ │ - ldr r2, [sp, #152] @ 0x98 │ │ │ │ │ vsub.f64 d7, d10, d7 │ │ │ │ │ - vstr d4, [r0] │ │ │ │ │ - ldr r0, [sp, #188] @ 0xbc │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ + ldr r4, [sp, #176] @ 0xb0 │ │ │ │ │ + vadd.f64 d4, d9, d5 │ │ │ │ │ + vsub.f64 d5, d5, d9 │ │ │ │ │ + ldr r3, [sp, #208] @ 0xd0 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + ldr r3, [sp, #196] @ 0xc4 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ vadd.f64 d5, d3, d1 │ │ │ │ │ vsub.f64 d4, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vadd.f64 d5, d2, d0 │ │ │ │ │ - vstr d4, [r5] │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ + vstr d6, [r5] │ │ │ │ │ vadd.f64 d6, d13, d11 │ │ │ │ │ - ldr r2, [sp, #156] @ 0x9c │ │ │ │ │ + ldr r5, [sp, #164] @ 0xa4 │ │ │ │ │ + ldr r4, [sp, #180] @ 0xb4 │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - ldr r2, [sp, #172] @ 0xac │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ vsub.f64 d6, d0, d2 │ │ │ │ │ - ldr r2, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d2, [pc, #980] @ 10d0 │ │ │ │ │ + ldr r5, [sp, #168] @ 0xa8 │ │ │ │ │ + ldr r4, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d9, [sp, #384] @ 0x180 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vsub.f64 d6, d13, d11 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - ldr r2, [sp, #176] @ 0xb0 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - vsub.f64 d7, d3, d1 │ │ │ │ │ vldr d11, [sp, #392] @ 0x188 │ │ │ │ │ + vldr d8, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d4, [sp, #440] @ 0x1b8 │ │ │ │ │ + vstr d5, [r5] │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + vsub.f64 d7, d3, d1 │ │ │ │ │ + ldr r5, [sp, #172] @ 0xac │ │ │ │ │ vldr d1, [sp, #376] @ 0x178 │ │ │ │ │ vldr d3, [sp, #640] @ 0x280 │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ + ldr r4, [sp, #188] @ 0xbc │ │ │ │ │ vsub.f64 d7, d1, d11 │ │ │ │ │ - vldr d8, [sp, #400] @ 0x190 │ │ │ │ │ - vldr d9, [sp, #384] @ 0x180 │ │ │ │ │ - ldr r2, [sp, #180] @ 0xb4 │ │ │ │ │ - vldr d4, [sp, #440] @ 0x1b8 │ │ │ │ │ - vmul.f64 d7, d7, d14 │ │ │ │ │ vldr d0, [sp, #488] @ 0x1e8 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ + vldr d2, [pc, #988] @ 1140 │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ vldr d5, [sp, #632] @ 0x278 │ │ │ │ │ + vstr d6, [r5] │ │ │ │ │ + vmul.f64 d7, d7, d14 │ │ │ │ │ + vmul.f64 d6, d0, d12 │ │ │ │ │ + vldr d0, [sp, #592] @ 0x250 │ │ │ │ │ vsub.f64 d1, d3, d7 │ │ │ │ │ vadd.f64 d11, d3, d7 │ │ │ │ │ - vsub.f64 d7, d8, d9 │ │ │ │ │ - ldr r2, [sp, #164] @ 0xa4 │ │ │ │ │ vldr d3, [sp, #472] @ 0x1d8 │ │ │ │ │ - vldr d8, [sp, #576] @ 0x240 │ │ │ │ │ + vsub.f64 d7, d8, d9 │ │ │ │ │ vldr d9, [sp, #272] @ 0x110 │ │ │ │ │ - vmul.f64 d7, d7, d14 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - vmul.f64 d6, d0, d12 │ │ │ │ │ - vldr d0, [sp, #592] @ 0x250 │ │ │ │ │ + vldr d8, [sp, #576] @ 0x240 │ │ │ │ │ vmla.f64 d6, d3, d15 │ │ │ │ │ vldr d3, [sp, #328] @ 0x148 │ │ │ │ │ + vmul.f64 d7, d7, d14 │ │ │ │ │ vadd.f64 d13, d5, d7 │ │ │ │ │ vsub.f64 d7, d5, d7 │ │ │ │ │ vmul.f64 d5, d4, d12 │ │ │ │ │ vldr d4, [sp, #424] @ 0x1a8 │ │ │ │ │ vnmls.f64 d5, d4, d15 │ │ │ │ │ vadd.f64 d10, d5, d6 │ │ │ │ │ vsub.f64 d4, d5, d6 │ │ │ │ │ vadd.f64 d6, d3, d8 │ │ │ │ │ vldr d8, [sp, #344] @ 0x158 │ │ │ │ │ vadd.f64 d5, d8, d0 │ │ │ │ │ - vldr d8, [pc, #816] @ 10d8 │ │ │ │ │ - vldr d0, [pc, #820] @ 10e0 │ │ │ │ │ + vldr d8, [pc, #892] @ 1148 │ │ │ │ │ + vldr d0, [pc, #896] @ 1150 │ │ │ │ │ vmul.f64 d3, d5, d8 │ │ │ │ │ vnmls.f64 d3, d6, d0 │ │ │ │ │ vmul.f64 d6, d6, d8 │ │ │ │ │ vmla.f64 d6, d5, d0 │ │ │ │ │ vldr d5, [sp, #528] @ 0x210 │ │ │ │ │ - vstr d3, [sp, #8] │ │ │ │ │ - vstr d6, [sp, #16] │ │ │ │ │ + vstr d3, [sp, #16] │ │ │ │ │ + vstr d6, [sp, #24] │ │ │ │ │ vsub.f64 d6, d9, d5 │ │ │ │ │ - vldr d9, [sp, #544] @ 0x220 │ │ │ │ │ vldr d5, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d9, [sp, #544] @ 0x220 │ │ │ │ │ vsub.f64 d5, d5, d9 │ │ │ │ │ - vldr d9, [pc, #780] @ 10e8 │ │ │ │ │ + vldr d9, [pc, #856] @ 1158 │ │ │ │ │ vmul.f64 d3, d5, d2 │ │ │ │ │ vmul.f64 d5, d5, d9 │ │ │ │ │ vmla.f64 d3, d6, d9 │ │ │ │ │ - vldr d9, [sp, #272] @ 0x110 │ │ │ │ │ vnmls.f64 d5, d6, d2 │ │ │ │ │ - vldr d6, [sp, #440] @ 0x1b8 │ │ │ │ │ vldr d2, [sp, #424] @ 0x1a8 │ │ │ │ │ - vstr d3, [sp] │ │ │ │ │ + vldr d6, [sp, #440] @ 0x1b8 │ │ │ │ │ + vstr d3, [sp, #8] │ │ │ │ │ vmul.f64 d3, d6, d15 │ │ │ │ │ vmla.f64 d3, d2, d12 │ │ │ │ │ vldr d2, [sp, #472] @ 0x1d8 │ │ │ │ │ vmul.f64 d6, d2, d12 │ │ │ │ │ vldr d2, [sp, #488] @ 0x1e8 │ │ │ │ │ + ldr r3, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d9, [sp, #272] @ 0x110 │ │ │ │ │ vnmls.f64 d6, d2, d15 │ │ │ │ │ + ldr r4, [sp, #120] @ 0x78 │ │ │ │ │ vadd.f64 d2, d3, d6 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ - vstr d2, [sp, #24] │ │ │ │ │ + vldr d3, [sp, #544] @ 0x220 │ │ │ │ │ + vstr d2, [sp, #32] │ │ │ │ │ vldr d2, [sp, #528] @ 0x210 │ │ │ │ │ vadd.f64 d2, d9, d2 │ │ │ │ │ vldr d9, [sp, #280] @ 0x118 │ │ │ │ │ - vldr d3, [sp, #544] @ 0x220 │ │ │ │ │ - ldr r2, [sp, #88] @ 0x58 │ │ │ │ │ - ldr r4, [sp, #108] @ 0x6c │ │ │ │ │ vadd.f64 d3, d9, d3 │ │ │ │ │ vmov.f64 d9, d0 │ │ │ │ │ - ldr r0, [sp, #228] @ 0xe4 │ │ │ │ │ vmul.f64 d0, d3, d0 │ │ │ │ │ vmul.f64 d3, d3, d8 │ │ │ │ │ vmla.f64 d0, d2, d8 │ │ │ │ │ - vldr d8, [sp, #344] @ 0x158 │ │ │ │ │ vnmls.f64 d3, d2, d9 │ │ │ │ │ + vldr d8, [sp, #344] @ 0x158 │ │ │ │ │ vldr d2, [sp, #576] @ 0x240 │ │ │ │ │ - vldr d9, [pc, #652] @ 10e8 │ │ │ │ │ - vstr d0, [sp, #32] │ │ │ │ │ + vldr d9, [pc, #732] @ 1158 │ │ │ │ │ + vstr d0, [sp, #40] @ 0x28 │ │ │ │ │ vldr d0, [sp, #592] @ 0x250 │ │ │ │ │ - vstr d3, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d3, [sp, #48] @ 0x30 │ │ │ │ │ vldr d3, [sp, #328] @ 0x148 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ vsub.f64 d2, d8, d0 │ │ │ │ │ + vldr d0, [pc, #680] @ 1140 │ │ │ │ │ vmov.f64 d8, d9 │ │ │ │ │ - vldr d0, [pc, #596] @ 10d0 │ │ │ │ │ vmul.f64 d9, d2, d9 │ │ │ │ │ vnmls.f64 d9, d3, d0 │ │ │ │ │ vmul.f64 d3, d3, d8 │ │ │ │ │ vmla.f64 d3, d2, d0 │ │ │ │ │ - vldr d0, [sp] │ │ │ │ │ + vldr d0, [sp, #8] │ │ │ │ │ vadd.f64 d2, d1, d4 │ │ │ │ │ vsub.f64 d4, d1, d4 │ │ │ │ │ vadd.f64 d0, d0, d9 │ │ │ │ │ vsub.f64 d8, d2, d0 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ vadd.f64 d0, d5, d3 │ │ │ │ │ vsub.f64 d3, d5, d3 │ │ │ │ │ - vldr d5, [sp] │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ + vldr d5, [sp, #8] │ │ │ │ │ + vstr d8, [r3] │ │ │ │ │ vstr d2, [r4] │ │ │ │ │ vadd.f64 d2, d7, d6 │ │ │ │ │ - ldr r4, [sp, #120] @ 0x78 │ │ │ │ │ vsub.f64 d9, d9, d5 │ │ │ │ │ - ldr r2, [sp, #96] @ 0x60 │ │ │ │ │ + ldr r3, [sp, #108] @ 0x6c │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ + ldr r4, [sp, #124] @ 0x7c │ │ │ │ │ vadd.f64 d8, d0, d2 │ │ │ │ │ vsub.f64 d2, d2, d0 │ │ │ │ │ - vldr d0, [sp, #24] │ │ │ │ │ + vldr d0, [sp, #32] │ │ │ │ │ vadd.f64 d6, d9, d7 │ │ │ │ │ vsub.f64 d7, d7, d9 │ │ │ │ │ - vldr d9, [sp, #32] │ │ │ │ │ vstr d8, [r4] │ │ │ │ │ vsub.f64 d5, d11, d0 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ vsub.f64 d2, d4, d3 │ │ │ │ │ - ldr r2, [sp, #72] @ 0x48 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ - vldr d3, [sp, #8] │ │ │ │ │ - vldr d8, [pc, #476] @ 10d8 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - ldr r2, [sp, #100] @ 0x64 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - ldr r2, [sp, #104] @ 0x68 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - vadd.f64 d6, d3, d9 │ │ │ │ │ - ldr r2, [sp, #80] @ 0x50 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ + vldr d3, [sp, #16] │ │ │ │ │ + ldr r3, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d8, [pc, #560] @ 1148 │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + ldr r3, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + ldr r3, [sp, #116] @ 0x74 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + ldr r3, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vadd.f64 d7, d11, d0 │ │ │ │ │ - vldr d0, [pc, #432] @ 10d0 │ │ │ │ │ + vldr d9, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d1, [sp, #24] │ │ │ │ │ + vldr d2, [sp, #48] @ 0x30 │ │ │ │ │ + vadd.f64 d6, d3, d9 │ │ │ │ │ + ldr r4, [sp, #236] @ 0xec │ │ │ │ │ + vldr d11, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d0, [pc, #500] @ 1140 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d4, [r0] │ │ │ │ │ + vadd.f64 d6, d1, d2 │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ vstr d7, [r6] │ │ │ │ │ vadd.f64 d7, d13, d10 │ │ │ │ │ - vldr d1, [sp, #16] │ │ │ │ │ vsub.f64 d13, d13, d10 │ │ │ │ │ - vldr d2, [sp, #112] @ 0x70 │ │ │ │ │ - ldr r0, [sp, #232] @ 0xe8 │ │ │ │ │ - vldr d11, [sp, #384] @ 0x180 │ │ │ │ │ - vadd.f64 d6, d1, d2 │ │ │ │ │ - vldr d10, [sp, #536] @ 0x218 │ │ │ │ │ vadd.f64 d4, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ vsub.f64 d7, d2, d1 │ │ │ │ │ - ldr r0, [sp, #236] @ 0xec │ │ │ │ │ - ldr r3, [sp, #240] @ 0xf0 │ │ │ │ │ + ldr r2, [sp, #240] @ 0xf0 │ │ │ │ │ vldr d4, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d2, [pc, #464] @ 1158 │ │ │ │ │ vsub.f64 d6, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ vsub.f64 d7, d3, d9 │ │ │ │ │ vldr d3, [sp, #496] @ 0x1f0 │ │ │ │ │ vmul.f64 d4, d4, d15 │ │ │ │ │ - vldr d2, [pc, #360] @ 10e8 │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ vadd.f64 d6, d7, d13 │ │ │ │ │ - ldr r0, [sp, #244] @ 0xf4 │ │ │ │ │ vsub.f64 d13, d13, d7 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ - vstr d13, [r3] │ │ │ │ │ + ldr r2, [sp, #244] @ 0xf4 │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ + vstr d13, [r1] │ │ │ │ │ vldr d13, [sp, #400] @ 0x190 │ │ │ │ │ - vldr d5, [sp, #648] @ 0x288 │ │ │ │ │ vldr d6, [sp, #624] @ 0x270 │ │ │ │ │ + vldr d5, [sp, #648] @ 0x288 │ │ │ │ │ vadd.f64 d7, d11, d13 │ │ │ │ │ vldr d11, [sp, #392] @ 0x188 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ vsub.f64 d1, d5, d7 │ │ │ │ │ vadd.f64 d13, d5, d7 │ │ │ │ │ vldr d5, [sp, #376] @ 0x178 │ │ │ │ │ vadd.f64 d7, d5, d11 │ │ │ │ │ vldr d5, [sp, #432] @ 0x1b0 │ │ │ │ │ - vnmls.f64 d4, d5, d12 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ + vnmls.f64 d4, d5, d12 │ │ │ │ │ vadd.f64 d11, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [sp, #288] @ 0x120 │ │ │ │ │ - vstr d6, [sp] │ │ │ │ │ + vstr d6, [sp, #8] │ │ │ │ │ vmul.f64 d6, d3, d15 │ │ │ │ │ vldr d3, [sp, #480] @ 0x1e0 │ │ │ │ │ vmla.f64 d6, d3, d12 │ │ │ │ │ vldr d3, [sp, #600] @ 0x258 │ │ │ │ │ vsub.f64 d5, d4, d6 │ │ │ │ │ vadd.f64 d9, d4, d6 │ │ │ │ │ vldr d4, [sp, #336] @ 0x150 │ │ │ │ │ vadd.f64 d6, d4, d3 │ │ │ │ │ vldr d3, [sp, #352] @ 0x160 │ │ │ │ │ vldr d4, [sp, #584] @ 0x248 │ │ │ │ │ vadd.f64 d4, d3, d4 │ │ │ │ │ vmul.f64 d3, d4, d0 │ │ │ │ │ vmul.f64 d4, d4, d2 │ │ │ │ │ - vmla.f64 d4, d6, d0 │ │ │ │ │ vnmls.f64 d3, d6, d2 │ │ │ │ │ - vstr d4, [sp, #24] │ │ │ │ │ + vmla.f64 d4, d6, d0 │ │ │ │ │ + vstr d3, [sp, #24] │ │ │ │ │ + vstr d4, [sp, #32] │ │ │ │ │ + vldr d10, [sp, #536] @ 0x218 │ │ │ │ │ + ldr r3, [sp, #4] │ │ │ │ │ + vldr d2, [sp, #448] @ 0x1c0 │ │ │ │ │ vsub.f64 d4, d7, d10 │ │ │ │ │ - vldr d7, [sp, #680] @ 0x2a8 │ │ │ │ │ - vstr d3, [sp, #16] │ │ │ │ │ vldr d10, [sp, #552] @ 0x228 │ │ │ │ │ - vldr d2, [sp, #448] @ 0x1c0 │ │ │ │ │ - ldr r2, [sp, #204] @ 0xcc │ │ │ │ │ + vldr d7, [sp, #680] @ 0x2a8 │ │ │ │ │ vsub.f64 d6, d7, d10 │ │ │ │ │ - vldr d10, [pc, #164] @ 10e0 │ │ │ │ │ + vldr d10, [pc, #244] @ 1150 │ │ │ │ │ vmul.f64 d3, d6, d10 │ │ │ │ │ vmla.f64 d3, d4, d8 │ │ │ │ │ vmul.f64 d4, d4, d10 │ │ │ │ │ vnmls.f64 d4, d6, d8 │ │ │ │ │ vldr d6, [sp, #432] @ 0x1b0 │ │ │ │ │ - vstr d3, [sp, #32] │ │ │ │ │ - vstr d4, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d3, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d4, [sp, #48] @ 0x30 │ │ │ │ │ vmul.f64 d4, d2, d12 │ │ │ │ │ + vldr d2, [sp, #496] @ 0x1f0 │ │ │ │ │ vmla.f64 d4, d6, d15 │ │ │ │ │ vldr d6, [sp, #480] @ 0x1e0 │ │ │ │ │ - vldr d2, [sp, #496] @ 0x1f0 │ │ │ │ │ vmul.f64 d6, d6, d15 │ │ │ │ │ vnmls.f64 d6, d2, d12 │ │ │ │ │ vadd.f64 d2, d4, d6 │ │ │ │ │ vsub.f64 d3, d6, d4 │ │ │ │ │ vldr d6, [sp, #288] @ 0x120 │ │ │ │ │ vldr d4, [sp, #536] @ 0x218 │ │ │ │ │ - vstr d3, [sp, #8] │ │ │ │ │ + vstr d3, [sp, #16] │ │ │ │ │ vadd.f64 d4, d6, d4 │ │ │ │ │ vldr d6, [sp, #552] @ 0x228 │ │ │ │ │ vadd.f64 d3, d7, d6 │ │ │ │ │ vmov.f64 d6, d0 │ │ │ │ │ vmul.f64 d0, d3, d0 │ │ │ │ │ vmov.f64 d7, d0 │ │ │ │ │ - vldr d0, [pc, #72] @ 10e8 │ │ │ │ │ + vldr d0, [pc, #152] @ 1158 │ │ │ │ │ vmla.f64 d7, d4, d0 │ │ │ │ │ vmul.f64 d4, d4, d6 │ │ │ │ │ - vldr d0, [pc, #60] @ 10e8 │ │ │ │ │ + vldr d0, [pc, #140] @ 1158 │ │ │ │ │ vmov.f64 d6, d4 │ │ │ │ │ vnmls.f64 d6, d3, d0 │ │ │ │ │ - vstr d7, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d7, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d7, [sp, #88] @ 0x58 │ │ │ │ │ vmov.f64 d0, d10 │ │ │ │ │ - vstr d6, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d7, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d6, [sp, #96] @ 0x60 │ │ │ │ │ vldr d6, [sp, #600] @ 0x258 │ │ │ │ │ - b.n 10f0 │ │ │ │ │ - nop.w │ │ │ │ │ - .word 0x3c69a60b │ │ │ │ │ - .word 0x3fc8f8b8 │ │ │ │ │ - .word 0x39ae68c8 │ │ │ │ │ - .word 0x3fe1c73b │ │ │ │ │ - .word 0x290ea1a3 │ │ │ │ │ - .word 0x3fea9b66 │ │ │ │ │ - .word 0xcff75cb0 │ │ │ │ │ - .word 0x3fef6297 │ │ │ │ │ vsub.f64 d3, d7, d6 │ │ │ │ │ vldr d7, [sp, #352] @ 0x160 │ │ │ │ │ vldr d6, [sp, #584] @ 0x248 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ - vldr d6, [sp, #32] │ │ │ │ │ - vldr d7, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d6, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d7, [sp, #48] @ 0x30 │ │ │ │ │ vmul.f64 d10, d4, d10 │ │ │ │ │ vmul.f64 d4, d4, d8 │ │ │ │ │ - vmla.f64 d4, d3, d0 │ │ │ │ │ vnmls.f64 d10, d3, d8 │ │ │ │ │ + vmla.f64 d4, d3, d0 │ │ │ │ │ vadd.f64 d3, d1, d5 │ │ │ │ │ vsub.f64 d5, d1, d5 │ │ │ │ │ vadd.f64 d0, d6, d10 │ │ │ │ │ vsub.f64 d10, d10, d6 │ │ │ │ │ - vldr d6, [sp] │ │ │ │ │ vsub.f64 d8, d3, d0 │ │ │ │ │ vadd.f64 d3, d3, d0 │ │ │ │ │ vadd.f64 d0, d7, d4 │ │ │ │ │ vsub.f64 d4, d7, d4 │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ - vstr d3, [sl] │ │ │ │ │ - vldr d8, [sp] │ │ │ │ │ - vldr d3, [sp, #8] │ │ │ │ │ - ldr r2, [sp, #208] @ 0xd0 │ │ │ │ │ + vstr d8, [r3] │ │ │ │ │ + vldr d8, [sp, #8] │ │ │ │ │ + vstr d3, [fp] │ │ │ │ │ + b.n 1160 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x3c69a60b │ │ │ │ │ + .word 0x3fc8f8b8 │ │ │ │ │ + .word 0x39ae68c8 │ │ │ │ │ + .word 0x3fe1c73b │ │ │ │ │ + .word 0x290ea1a3 │ │ │ │ │ + .word 0x3fea9b66 │ │ │ │ │ + .word 0xcff75cb0 │ │ │ │ │ + .word 0x3fef6297 │ │ │ │ │ + vldr d3, [sp, #16] │ │ │ │ │ + ldr r3, [sp, #216] @ 0xd8 │ │ │ │ │ vadd.f64 d3, d8, d3 │ │ │ │ │ vadd.f64 d8, d0, d3 │ │ │ │ │ vsub.f64 d3, d3, d0 │ │ │ │ │ - vstr d8, [r9] │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ + vstr d8, [sl] │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ vsub.f64 d3, d5, d4 │ │ │ │ │ - ldr r2, [sp, #212] @ 0xd4 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - ldr r2, [sp, #220] @ 0xdc │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - vldr d7, [sp, #8] │ │ │ │ │ - ldr r2, [sp, #224] @ 0xe0 │ │ │ │ │ - vldr d4, [sp, #16] │ │ │ │ │ + ldr r3, [sp, #220] @ 0xdc │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ + ldr r3, [sp, #228] @ 0xe4 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + vldr d6, [sp, #8] │ │ │ │ │ + vldr d7, [sp, #16] │ │ │ │ │ + vldr d4, [sp, #24] │ │ │ │ │ + vldr d3, [sp, #32] │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ - vldr d1, [sp, #80] @ 0x50 │ │ │ │ │ - ldr r5, [sp, #40] @ 0x28 │ │ │ │ │ - ldr r4, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d3, [sp, #24] │ │ │ │ │ + vldr d1, [sp, #88] @ 0x58 │ │ │ │ │ + ldr r7, [sp, #224] @ 0xe0 │ │ │ │ │ + ldr r3, [sp, #232] @ 0xe8 │ │ │ │ │ vadd.f64 d6, d10, d7 │ │ │ │ │ vsub.f64 d7, d7, d10 │ │ │ │ │ - vldr d0, [sp, #88] @ 0x58 │ │ │ │ │ - ldr r6, [sp, #44] @ 0x2c │ │ │ │ │ - ldr r0, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ + ldrd r5, r6, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d0, [sp, #96] @ 0x60 │ │ │ │ │ + ldrd r1, r0, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ vadd.f64 d6, d4, d1 │ │ │ │ │ - ldr r2, [sp, #216] @ 0xd8 │ │ │ │ │ - ldr r3, [sp, #52] @ 0x34 │ │ │ │ │ - ldr r1, [sp, #68] @ 0x44 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ vadd.f64 d7, d13, d2 │ │ │ │ │ vsub.f64 d13, d13, d2 │ │ │ │ │ + ldr r4, [sp, #72] @ 0x48 │ │ │ │ │ + ldr r2, [sp, #84] @ 0x54 │ │ │ │ │ + ldr r3, [sp, #848] @ 0x350 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d3, d0 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ vstr d5, [r4] │ │ │ │ │ vstr d7, [r5] │ │ │ │ │ vadd.f64 d7, d11, d9 │ │ │ │ │ - ldr r5, [sp, #60] @ 0x3c │ │ │ │ │ vsub.f64 d11, d11, d9 │ │ │ │ │ + str r3, [sp, #848] @ 0x350 │ │ │ │ │ + ldr r3, [sp, #736] @ 0x2e0 │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ + add lr, r3 │ │ │ │ │ + add r8, r3 │ │ │ │ │ + ldr r3, [sp, #740] @ 0x2e4 │ │ │ │ │ vstr d5, [r6] │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ + eor.w r9, r9, r3 │ │ │ │ │ + ldr r6, [sp, #76] @ 0x4c │ │ │ │ │ + ldr r3, [sp, #852] @ 0x354 │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ vsub.f64 d7, d0, d3 │ │ │ │ │ - ldr r6, [sp, #64] @ 0x40 │ │ │ │ │ vsub.f64 d6, d13, d7 │ │ │ │ │ vadd.f64 d13, d13, d7 │ │ │ │ │ vsub.f64 d7, d4, d1 │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ vadd.f64 d6, d7, d11 │ │ │ │ │ + ldr r1, [sp, #80] @ 0x50 │ │ │ │ │ vsub.f64 d11, d11, d7 │ │ │ │ │ - vstr d13, [r6] │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ - vstr d11, [r3] │ │ │ │ │ - ldr r3, [sp, #848] @ 0x350 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #848] @ 0x350 │ │ │ │ │ - ldr r3, [sp, #736] @ 0x2e0 │ │ │ │ │ - add ip, r3 │ │ │ │ │ - add lr, r3 │ │ │ │ │ - ldr r3, [sp, #740] @ 0x2e4 │ │ │ │ │ - eor.w r8, r8, r3 │ │ │ │ │ - ldrd r2, r3, [sp, #848] @ 0x350 │ │ │ │ │ + vstr d13, [r1] │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + ldr r2, [sp, #848] @ 0x350 │ │ │ │ │ + vstr d11, [r0] │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 70 │ │ │ │ │ + bne.w 80 │ │ │ │ │ add.w sp, sp, #748 @ 0x2ec │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -0000123c : │ │ │ │ │ +0000126c : │ │ │ │ │ fftw_codelet_t1_32(): │ │ │ │ │ - ldr r2, [pc, #8] @ (1248 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (124c ) │ │ │ │ │ + ldr r2, [pc, #8] @ (1278 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (127c ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_dit_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── t1_4.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1224 (bytes into file) │ │ │ │ │ + Start of section headers: 1260 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x4c8: │ │ │ │ │ +There are 14 section headers, starting at offset 0x4ec: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00022c 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000420 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000260 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000260 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000260 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000265 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 00026d 000040 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000438 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 0002ad 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0002ad 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 0002e0 0000f0 10 12 12 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 0003d0 00004e 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000450 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000250 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000444 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000284 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000284 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000284 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000289 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000291 000040 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 00045c 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 0002d1 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0002d1 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000304 0000f0 10 12 12 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0003f4 00004e 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000474 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,18 +1,18 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 15 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 534 FUNC LOCAL DEFAULT 1 t1_4 │ │ │ │ │ + 1: 00000001 570 FUNC LOCAL DEFAULT 1 t1_4 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000224 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000248 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 4: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 8: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 9: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 10: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 11: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 12: 00000219 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_4 │ │ │ │ │ + 12: 0000023d 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_4 │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_dit_register │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x420 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x444 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000224 00000903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000228 00000103 R_ARM_REL32 00000001 t1_4 │ │ │ │ │ -00000220 00000d1e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ +00000248 00000903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +0000024c 00000103 R_ARM_REL32 00000001 t1_4 │ │ │ │ │ +00000244 00000d1e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x438 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x45c contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000402 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000602 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00000e02 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,164 +1,170 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ t1_4(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - movs r6, #48 @ 0x30 │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ vpush {d8-d10} │ │ │ │ │ - ldrd r4, r7, [sp, #60] @ 0x3c │ │ │ │ │ - ldr r5, [sp, #68] @ 0x44 │ │ │ │ │ - cmp r4, r7 │ │ │ │ │ - mla r2, r6, r4, r2 │ │ │ │ │ - bge.n 110 │ │ │ │ │ + ldrd r4, r6, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r5, [sp, #64] @ 0x40 │ │ │ │ │ + add.w r7, r4, r4, lsl #1 │ │ │ │ │ + cmp r4, r6 │ │ │ │ │ + add.w r2, r2, r7, lsl #4 │ │ │ │ │ + bge.n 124 │ │ │ │ │ cmp r5, #1 │ │ │ │ │ - mov.w r8, r3, lsl #4 │ │ │ │ │ + mov.w ip, r3, lsl #4 │ │ │ │ │ mov.w lr, r3, lsl #3 │ │ │ │ │ - ittt eq │ │ │ │ │ - addeq r2, #48 @ 0x30 │ │ │ │ │ - addeq.w r6, r0, r8 │ │ │ │ │ - addeq.w r5, r1, r8 │ │ │ │ │ - bne.n 118 │ │ │ │ │ + bne.w 13a │ │ │ │ │ + add.w r5, r0, ip │ │ │ │ │ + add.w r3, r1, ip │ │ │ │ │ + add.w r2, r2, #48 @ 0x30 │ │ │ │ │ + sub.w ip, r5, lr │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ + add.w r8, r1, lr │ │ │ │ │ + add.w r9, r5, lr │ │ │ │ │ + add.w r7, r3, lr │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ vldr d6, [r2, #-32] @ 0xffffffe0 │ │ │ │ │ - add.w ip, r0, lr │ │ │ │ │ - vldr d4, [r6] │ │ │ │ │ - add.w r3, r1, lr │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - add.w sl, ip, r8 │ │ │ │ │ - vldr d5, [r2, #-24] @ 0xffffffe8 │ │ │ │ │ - add.w r9, r3, r8 │ │ │ │ │ + cmp r6, r4 │ │ │ │ │ + add.w r2, r2, #48 @ 0x30 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + vldr d5, [r2, #-72] @ 0xffffffb8 │ │ │ │ │ vmul.f64 d0, d6, d4 │ │ │ │ │ - vldr d1, [r2, #-48] @ 0xffffffd0 │ │ │ │ │ + vldr d1, [r2, #-96] @ 0xffffffa0 │ │ │ │ │ vldr d8, [ip] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + vldr d9, [r2, #-64] @ 0xffffffc0 │ │ │ │ │ vmla.f64 d0, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d4 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - adds r2, #48 @ 0x30 │ │ │ │ │ - vldr d9, [r2, #-64] @ 0xffffffc0 │ │ │ │ │ - cmp r7, r4 │ │ │ │ │ - vldr d10, [sl] │ │ │ │ │ + vldr d4, [r8] │ │ │ │ │ + vldr d10, [r9] │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ vldr d6, [r2, #-88] @ 0xffffffa8 │ │ │ │ │ vmul.f64 d7, d1, d8 │ │ │ │ │ vldr d2, [r0] │ │ │ │ │ vldr d3, [r1] │ │ │ │ │ vmla.f64 d7, d6, d4 │ │ │ │ │ vmul.f64 d6, d6, d8 │ │ │ │ │ - vldr d8, [r9] │ │ │ │ │ + vldr d8, [r7] │ │ │ │ │ vnmls.f64 d6, d1, d4 │ │ │ │ │ vldr d4, [r2, #-56] @ 0xffffffc8 │ │ │ │ │ vmul.f64 d1, d9, d10 │ │ │ │ │ vmla.f64 d1, d4, d8 │ │ │ │ │ vmul.f64 d4, d4, d10 │ │ │ │ │ vnmls.f64 d4, d9, d8 │ │ │ │ │ vadd.f64 d9, d0, d2 │ │ │ │ │ vsub.f64 d2, d2, d0 │ │ │ │ │ vadd.f64 d8, d1, d7 │ │ │ │ │ vsub.f64 d7, d7, d1 │ │ │ │ │ vsub.f64 d10, d9, d8 │ │ │ │ │ vadd.f64 d8, d8, d9 │ │ │ │ │ vadd.f64 d9, d4, d6 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ - vstmia r6!, {d10} │ │ │ │ │ + vstmia r5!, {d10} │ │ │ │ │ vstmia r0!, {d8} │ │ │ │ │ vadd.f64 d8, d5, d3 │ │ │ │ │ vsub.f64 d3, d3, d5 │ │ │ │ │ vsub.f64 d4, d2, d6 │ │ │ │ │ vadd.f64 d6, d6, d2 │ │ │ │ │ vadd.f64 d10, d8, d9 │ │ │ │ │ - vsub.f64 d8, d8, d9 │ │ │ │ │ vsub.f64 d5, d3, d7 │ │ │ │ │ + vsub.f64 d8, d8, d9 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ vstmia r1!, {d10} │ │ │ │ │ - vstmia r5!, {d8} │ │ │ │ │ - vstr d4, [sl] │ │ │ │ │ - vstr d6, [ip] │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - vstr d7, [r9] │ │ │ │ │ - bne.n 30 │ │ │ │ │ + vstmia r3!, {d8} │ │ │ │ │ + vstr d4, [r9] │ │ │ │ │ + vstmia ip!, {d6} │ │ │ │ │ + vstr d5, [r8] │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ + bne.n 44 │ │ │ │ │ vpop {d8-d10} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - add r2, r6 │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ - add.w r6, r0, r8 │ │ │ │ │ - add.w r3, r1, r8 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {sl, pc} │ │ │ │ │ + add.w r7, r0, ip │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ + add.w r3, r1, ip │ │ │ │ │ + add.w r2, r2, #48 @ 0x30 │ │ │ │ │ + sub.w ip, r7, lr │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ - add.w r9, r0, lr │ │ │ │ │ + add.w r9, r1, lr │ │ │ │ │ + add.w r8, r3, lr │ │ │ │ │ + add.w sl, r7, lr │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ vldr d3, [r2, #-24] @ 0xffffffe8 │ │ │ │ │ - add.w ip, r1, lr │ │ │ │ │ - vldr d5, [r2, #-32] @ 0xffffffe0 │ │ │ │ │ - add.w sl, ip, r8 │ │ │ │ │ - vldr d2, [r6] │ │ │ │ │ - add.w fp, r9, r8 │ │ │ │ │ + cmp r6, r4 │ │ │ │ │ + add.w r2, r2, #48 @ 0x30 │ │ │ │ │ + vldr d2, [r7] │ │ │ │ │ + vldr d5, [r2, #-80] @ 0xffffffb0 │ │ │ │ │ vmul.f64 d0, d4, d3 │ │ │ │ │ - vldr d8, [ip] │ │ │ │ │ - vldr d1, [r2, #-48] @ 0xffffffd0 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + vldr d8, [r9] │ │ │ │ │ + vldr d1, [r2, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d10, [r2, #-56] @ 0xffffffc8 │ │ │ │ │ vmla.f64 d0, d2, d5 │ │ │ │ │ vmul.f64 d2, d2, d3 │ │ │ │ │ - vldr d10, [r2, #-8] │ │ │ │ │ - cmp r7, r4 │ │ │ │ │ - vldr d9, [sl] │ │ │ │ │ - add.w r2, r2, #48 @ 0x30 │ │ │ │ │ + vldr d9, [r8] │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ vnmls.f64 d2, d4, d5 │ │ │ │ │ - vldr d5, [r9] │ │ │ │ │ vldr d4, [r2, #-88] @ 0xffffffa8 │ │ │ │ │ + vldr d5, [ip] │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ vmul.f64 d3, d8, d4 │ │ │ │ │ vmul.f64 d4, d5, d4 │ │ │ │ │ vmla.f64 d3, d5, d1 │ │ │ │ │ - vldr d5, [fp] │ │ │ │ │ + vldr d5, [sl] │ │ │ │ │ vnmls.f64 d4, d8, d1 │ │ │ │ │ vldr d8, [r2, #-64] @ 0xffffffc0 │ │ │ │ │ vmul.f64 d1, d9, d10 │ │ │ │ │ vmla.f64 d1, d5, d8 │ │ │ │ │ vmul.f64 d5, d5, d10 │ │ │ │ │ vnmls.f64 d5, d9, d8 │ │ │ │ │ vadd.f64 d8, d6, d0 │ │ │ │ │ vsub.f64 d6, d6, d0 │ │ │ │ │ vadd.f64 d9, d3, d1 │ │ │ │ │ vsub.f64 d3, d3, d1 │ │ │ │ │ vsub.f64 d10, d8, d9 │ │ │ │ │ vadd.f64 d8, d8, d9 │ │ │ │ │ vadd.f64 d9, d4, d5 │ │ │ │ │ vsub.f64 d5, d4, d5 │ │ │ │ │ - vstr d10, [r6] │ │ │ │ │ - add r6, r5 │ │ │ │ │ + vstr d10, [r7] │ │ │ │ │ + add r7, r5 │ │ │ │ │ vstr d8, [r0] │ │ │ │ │ vadd.f64 d8, d7, d2 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ vsub.f64 d4, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ add r0, r5 │ │ │ │ │ vadd.f64 d10, d9, d8 │ │ │ │ │ - vsub.f64 d8, d8, d9 │ │ │ │ │ vsub.f64 d5, d7, d3 │ │ │ │ │ + vsub.f64 d8, d8, d9 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ vstr d10, [r1] │ │ │ │ │ add r1, r5 │ │ │ │ │ vstr d8, [r3] │ │ │ │ │ add r3, r5 │ │ │ │ │ - vstr d4, [fp] │ │ │ │ │ - vstr d6, [r9] │ │ │ │ │ - vstr d5, [ip] │ │ │ │ │ - vstr d7, [sl] │ │ │ │ │ - bne.n 124 │ │ │ │ │ - vpop {d8-d10} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + vstr d4, [sl] │ │ │ │ │ + vstr d6, [ip] │ │ │ │ │ + add ip, r5 │ │ │ │ │ + vstr d5, [r9] │ │ │ │ │ + vstr d7, [r8] │ │ │ │ │ + bne.n 14e │ │ │ │ │ + b.n 124 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000218 : │ │ │ │ │ +0000023c : │ │ │ │ │ fftw_codelet_t1_4(): │ │ │ │ │ - ldr r2, [pc, #8] @ (224 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (228 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (248 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (24c ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_dit_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── t1_5.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1608 (bytes into file) │ │ │ │ │ + Start of section headers: 1648 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x648: │ │ │ │ │ +There are 14 section headers, starting at offset 0x670: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00038c 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0005a0 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0003c0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0003c0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0003c0 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 0003c5 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0003cd 000040 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 0005b8 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 00040d 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00040d 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000440 000110 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000550 00004e 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 0005d0 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0003b4 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0005c8 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0003e8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0003e8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0003e8 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 0003ed 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0003f5 000040 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 0005e0 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000435 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000435 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000468 000110 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000578 00004e 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 0005f8 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,20 +1,20 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 17 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 888 FUNC LOCAL DEFAULT 1 t1_5 │ │ │ │ │ + 1: 00000001 928 FUNC LOCAL DEFAULT 1 t1_5 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000360 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000378 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000384 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000388 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 000003a0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000003ac 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 14: 00000379 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_5 │ │ │ │ │ + 14: 000003a1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_5 │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_dit_register │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x5a0 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x5c8 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000384 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000388 00000103 R_ARM_REL32 00000001 t1_5 │ │ │ │ │ -00000380 00000f1e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ +000003ac 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000003b0 00000103 R_ARM_REL32 00000001 t1_5 │ │ │ │ │ +000003a8 00000f1e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x5b8 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x5e0 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001002 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,51 +1,55 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ t1_5(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ ldrd r4, r7, [sp, #100] @ 0x64 │ │ │ │ │ ldr r5, [sp, #108] @ 0x6c │ │ │ │ │ cmp r4, r7 │ │ │ │ │ add.w r2, r2, r4, lsl #6 │ │ │ │ │ - bge.w 1b4 │ │ │ │ │ + bge.w 1c8 │ │ │ │ │ + cmp r5, #1 │ │ │ │ │ mov.w ip, r3, lsl #3 │ │ │ │ │ mov.w lr, r3, lsl #4 │ │ │ │ │ - cmp r5, #1 │ │ │ │ │ - bne.w 1bc │ │ │ │ │ + bne.w 1e2 │ │ │ │ │ + vldr d15, [pc, #848] @ 388 │ │ │ │ │ add.w r3, r2, #64 @ 0x40 │ │ │ │ │ - vldr d15, [pc, #820] @ 360 │ │ │ │ │ rsb r2, lr, #0 │ │ │ │ │ - vldr d12, [pc, #820] @ 368 │ │ │ │ │ + vldr d12, [pc, #844] @ 390 │ │ │ │ │ add.w r6, r0, ip │ │ │ │ │ add.w r5, r1, ip │ │ │ │ │ vldr d6, [r3, #-64] @ 0xffffffc0 │ │ │ │ │ add.w sl, r6, lr │ │ │ │ │ - vldr d2, [r3, #-56] @ 0xffffffc8 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ add.w fp, sl, ip │ │ │ │ │ + cmp r7, r4 │ │ │ │ │ vldr d5, [r6] │ │ │ │ │ add.w r8, fp, r2 │ │ │ │ │ + add.w r3, r3, #64 @ 0x40 │ │ │ │ │ + vldr d2, [r3, #-120] @ 0xffffff88 │ │ │ │ │ vldr d7, [r5] │ │ │ │ │ add r5, lr │ │ │ │ │ - vldr d3, [r3, #-24] @ 0xffffffe8 │ │ │ │ │ add.w r9, r5, ip │ │ │ │ │ vmul.f64 d0, d6, d5 │ │ │ │ │ - vldr d4, [r3, #-16] │ │ │ │ │ + vldr d8, [fp] │ │ │ │ │ + vldr d3, [r3, #-88] @ 0xffffffa8 │ │ │ │ │ + vldr d4, [r3, #-80] @ 0xffffffb0 │ │ │ │ │ vmla.f64 d0, d2, d7 │ │ │ │ │ vmul.f64 d2, d2, d5 │ │ │ │ │ vldr d5, [sl] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - vldr d8, [fp] │ │ │ │ │ - adds r3, #64 @ 0x40 │ │ │ │ │ vldr d9, [r3, #-112] @ 0xffffff90 │ │ │ │ │ - cmp r7, r4 │ │ │ │ │ vnmls.f64 d2, d6, d7 │ │ │ │ │ vldr d6, [r3, #-96] @ 0xffffffa0 │ │ │ │ │ vldr d7, [r5] │ │ │ │ │ vldr d13, [r0] │ │ │ │ │ vmul.f64 d1, d6, d5 │ │ │ │ │ vldr d14, [r1] │ │ │ │ │ vmla.f64 d1, d3, d7 │ │ │ │ │ @@ -54,26 +58,26 @@ │ │ │ │ │ vnmls.f64 d3, d6, d7 │ │ │ │ │ vldr d7, [r3, #-72] @ 0xffffffb8 │ │ │ │ │ vmul.f64 d6, d4, d8 │ │ │ │ │ vmla.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ vldr d8, [r8] │ │ │ │ │ add.w r8, r9, r2 │ │ │ │ │ - vnmls.f64 d7, d4, d5 │ │ │ │ │ vldr d10, [r8] │ │ │ │ │ + vnmls.f64 d7, d4, d5 │ │ │ │ │ vldr d5, [r3, #-104] @ 0xffffff98 │ │ │ │ │ vmul.f64 d4, d9, d8 │ │ │ │ │ vmla.f64 d4, d5, d10 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ + vsub.f64 d8, d2, d7 │ │ │ │ │ + vadd.f64 d7, d7, d2 │ │ │ │ │ vnmls.f64 d5, d9, d10 │ │ │ │ │ vsub.f64 d9, d0, d6 │ │ │ │ │ vadd.f64 d6, d6, d0 │ │ │ │ │ - vsub.f64 d8, d2, d7 │ │ │ │ │ - vadd.f64 d7, d7, d2 │ │ │ │ │ - vldr d0, [pc, #636] @ 370 │ │ │ │ │ + vldr d0, [pc, #656] @ 398 │ │ │ │ │ vsub.f64 d11, d4, d1 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ vsub.f64 d10, d5, d3 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ vadd.f64 d1, d4, d6 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vadd.f64 d3, d5, d7 │ │ │ │ │ @@ -98,65 +102,70 @@ │ │ │ │ │ vsub.f64 d6, d1, d2 │ │ │ │ │ vadd.f64 d1, d1, d2 │ │ │ │ │ vstr d6, [fp] │ │ │ │ │ vadd.f64 d6, d4, d8 │ │ │ │ │ vsub.f64 d4, d4, d8 │ │ │ │ │ vstr d6, [sl] │ │ │ │ │ vmul.f64 d6, d9, d12 │ │ │ │ │ - vmla.f64 d6, d11, d15 │ │ │ │ │ vmul.f64 d9, d9, d15 │ │ │ │ │ vstr d1, [r6] │ │ │ │ │ add r6, ip │ │ │ │ │ - vnmls.f64 d9, d11, d12 │ │ │ │ │ vstr d4, [r6] │ │ │ │ │ sub.w r6, r8, ip │ │ │ │ │ + vmla.f64 d6, d11, d15 │ │ │ │ │ + vnmls.f64 d9, d11, d12 │ │ │ │ │ vsub.f64 d7, d5, d6 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ vstr d7, [r6] │ │ │ │ │ vsub.f64 d7, d14, d9 │ │ │ │ │ vadd.f64 d14, d14, d9 │ │ │ │ │ vstr d7, [r5] │ │ │ │ │ vstr d5, [r9] │ │ │ │ │ vstr d14, [r8] │ │ │ │ │ - bne.w 36 │ │ │ │ │ + bne.w 46 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + vldr d15, [pc, #428] @ 390 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ add.w r3, r2, #64 @ 0x40 │ │ │ │ │ - vldr d15, [pc, #420] @ 368 │ │ │ │ │ rsb r2, lr, #0 │ │ │ │ │ - vldr d12, [pc, #404] @ 360 │ │ │ │ │ + vldr d12, [pc, #404] @ 388 │ │ │ │ │ mov fp, r5 │ │ │ │ │ add.w r5, r1, ip │ │ │ │ │ add.w r6, r0, ip │ │ │ │ │ - vldr d5, [r3, #-56] @ 0xffffffc8 │ │ │ │ │ - add.w r9, r6, lr │ │ │ │ │ vldr d7, [r3, #-64] @ 0xffffffc0 │ │ │ │ │ + add.w r9, r6, lr │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ add.w sl, r9, ip │ │ │ │ │ + add.w r3, r3, #64 @ 0x40 │ │ │ │ │ + vldr d5, [r3, #-120] @ 0xffffff88 │ │ │ │ │ + add.w r7, sl, r2 │ │ │ │ │ vldr d6, [r5] │ │ │ │ │ add r5, lr │ │ │ │ │ - vldr d2, [r6] │ │ │ │ │ add.w r8, r5, ip │ │ │ │ │ + vldr d2, [r6] │ │ │ │ │ vldr d3, [r9] │ │ │ │ │ - add.w r7, sl, r2 │ │ │ │ │ vmul.f64 d0, d6, d5 │ │ │ │ │ - vldr d8, [r3, #-8] │ │ │ │ │ - vmla.f64 d0, d2, d7 │ │ │ │ │ - vmul.f64 d2, d2, d5 │ │ │ │ │ - vldr d5, [r3, #-24] @ 0xffffffe8 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ vldr d4, [r8] │ │ │ │ │ - adds r3, #64 @ 0x40 │ │ │ │ │ + vldr d8, [r3, #-72] @ 0xffffffb8 │ │ │ │ │ vldr d10, [r3, #-112] @ 0xffffff90 │ │ │ │ │ + vmla.f64 d0, d2, d7 │ │ │ │ │ + vmul.f64 d2, d2, d5 │ │ │ │ │ + vldr d5, [r3, #-88] @ 0xffffffa8 │ │ │ │ │ + vldr d13, [r0] │ │ │ │ │ vnmls.f64 d2, d6, d7 │ │ │ │ │ vldr d6, [r5] │ │ │ │ │ vldr d7, [r3, #-96] @ 0xffffffa0 │ │ │ │ │ - vldr d13, [r0] │ │ │ │ │ - vmul.f64 d1, d6, d5 │ │ │ │ │ vldr d14, [r1] │ │ │ │ │ + vmul.f64 d1, d6, d5 │ │ │ │ │ vmla.f64 d1, d3, d7 │ │ │ │ │ vmul.f64 d3, d3, d5 │ │ │ │ │ vldr d5, [r3, #-80] @ 0xffffffb0 │ │ │ │ │ vnmls.f64 d3, d6, d7 │ │ │ │ │ vldr d7, [sl] │ │ │ │ │ vmul.f64 d6, d4, d8 │ │ │ │ │ vmla.f64 d6, d7, d5 │ │ │ │ │ @@ -170,15 +179,15 @@ │ │ │ │ │ vmla.f64 d4, d5, d10 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ vsub.f64 d8, d2, d7 │ │ │ │ │ vadd.f64 d7, d2, d7 │ │ │ │ │ vnmls.f64 d5, d9, d10 │ │ │ │ │ vsub.f64 d9, d0, d6 │ │ │ │ │ vadd.f64 d6, d0, d6 │ │ │ │ │ - vldr d0, [pc, #228] @ 370 │ │ │ │ │ + vldr d0, [pc, #224] @ 398 │ │ │ │ │ vsub.f64 d11, d4, d1 │ │ │ │ │ vadd.f64 d4, d1, d4 │ │ │ │ │ vsub.f64 d10, d5, d3 │ │ │ │ │ vadd.f64 d5, d3, d5 │ │ │ │ │ vadd.f64 d1, d6, d4 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vadd.f64 d3, d7, d5 │ │ │ │ │ @@ -187,17 +196,17 @@ │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ vstr d2, [r0] │ │ │ │ │ vadd.f64 d2, d14, d3 │ │ │ │ │ add r0, fp │ │ │ │ │ vstr d2, [r1] │ │ │ │ │ vmul.f64 d2, d10, d12 │ │ │ │ │ + add r1, fp │ │ │ │ │ vmla.f64 d2, d8, d15 │ │ │ │ │ vmul.f64 d8, d8, d12 │ │ │ │ │ - add r1, fp │ │ │ │ │ vnmls.f64 d8, d10, d15 │ │ │ │ │ vmov.f64 d10, #80 @ 0x3e800000 0.250 │ │ │ │ │ vmls.f64 d13, d1, d10 │ │ │ │ │ vmls.f64 d14, d3, d10 │ │ │ │ │ vadd.f64 d1, d6, d13 │ │ │ │ │ vsub.f64 d4, d13, d6 │ │ │ │ │ vadd.f64 d5, d7, d14 │ │ │ │ │ @@ -205,46 +214,46 @@ │ │ │ │ │ vsub.f64 d6, d1, d2 │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ vstr d6, [sl] │ │ │ │ │ vadd.f64 d6, d8, d4 │ │ │ │ │ vsub.f64 d4, d4, d8 │ │ │ │ │ vstr d6, [r9] │ │ │ │ │ vmul.f64 d6, d11, d12 │ │ │ │ │ - vmla.f64 d6, d9, d15 │ │ │ │ │ - vmul.f64 d9, d9, d12 │ │ │ │ │ vstr d2, [r6] │ │ │ │ │ add r6, ip │ │ │ │ │ - vnmls.f64 d9, d11, d15 │ │ │ │ │ vstr d4, [r6] │ │ │ │ │ sub.w r6, r7, ip │ │ │ │ │ + vmla.f64 d6, d9, d15 │ │ │ │ │ + vmul.f64 d9, d9, d12 │ │ │ │ │ + vnmls.f64 d9, d11, d15 │ │ │ │ │ vsub.f64 d7, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vstr d7, [r6] │ │ │ │ │ vsub.f64 d7, d14, d9 │ │ │ │ │ vadd.f64 d9, d9, d14 │ │ │ │ │ vstr d7, [r5] │ │ │ │ │ ldr r5, [sp, #104] @ 0x68 │ │ │ │ │ vstr d6, [r8] │ │ │ │ │ - cmp r5, r4 │ │ │ │ │ vstr d9, [r7] │ │ │ │ │ - bne.w 1d0 │ │ │ │ │ - vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + cmp r5, r4 │ │ │ │ │ + bne.w 1f8 │ │ │ │ │ + b.n 1c8 │ │ │ │ │ + nop │ │ │ │ │ nop.w │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ │ │ │ │ │ -00000378 : │ │ │ │ │ +000003a0 : │ │ │ │ │ fftw_codelet_t1_5(): │ │ │ │ │ - ldr r2, [pc, #8] @ (384 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (388 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (3ac ) │ │ │ │ │ + ldr r1, [pc, #12] @ (3b0 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_dit_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── t1_6.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1788 (bytes into file) │ │ │ │ │ + Start of section headers: 1820 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x6fc: │ │ │ │ │ +There are 14 section headers, starting at offset 0x71c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000440 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000654 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000474 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000474 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000474 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000479 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 000481 000040 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 00066c 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 0004c1 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0004c1 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 0004f4 000110 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000604 00004e 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000684 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000460 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000674 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000494 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000494 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000494 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000499 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0004a1 000040 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 00068c 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 0004e1 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0004e1 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000514 000110 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000624 00004e 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 0006a4 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,20 +1,20 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 17 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1068 FUNC LOCAL DEFAULT 1 t1_6 │ │ │ │ │ + 1: 00000001 1100 FUNC LOCAL DEFAULT 1 t1_6 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000228 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000230 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000438 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000248 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000250 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000458 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 14: 0000042d 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_6 │ │ │ │ │ + 14: 0000044d 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_6 │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_dit_register │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x654 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x674 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000438 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000043c 00000103 R_ARM_REL32 00000001 t1_6 │ │ │ │ │ -00000434 00000f1e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ +00000458 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +0000045c 00000103 R_ARM_REL32 00000001 t1_6 │ │ │ │ │ +00000454 00000f1e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x66c contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x68c contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001002 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,315 +1,310 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ t1_6(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - movs r5, #80 @ 0x50 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #28 │ │ │ │ │ - ldr.w r9, [sp, #128] @ 0x80 │ │ │ │ │ + ldrd r5, r6, [sp, #128] @ 0x80 │ │ │ │ │ ldr r4, [sp, #136] @ 0x88 │ │ │ │ │ - mla r2, r5, r9, r2 │ │ │ │ │ - ldr r5, [sp, #132] @ 0x84 │ │ │ │ │ - cmp r9, r5 │ │ │ │ │ - bge.w 218 │ │ │ │ │ - movs r5, #24 │ │ │ │ │ - lsls r6, r3, #5 │ │ │ │ │ - lsls r7, r3, #3 │ │ │ │ │ - mov.w fp, r3, lsl #4 │ │ │ │ │ + add.w r5, r5, r5, lsl #2 │ │ │ │ │ + add.w r2, r2, r5, lsl #4 │ │ │ │ │ + ldr r5, [sp, #128] @ 0x80 │ │ │ │ │ + cmp r5, r6 │ │ │ │ │ + bge.w 228 │ │ │ │ │ + mov.w ip, r3, lsl #5 │ │ │ │ │ cmp r4, #1 │ │ │ │ │ - str r6, [sp, #16] │ │ │ │ │ - mul.w r5, r3, r5 │ │ │ │ │ - bne.w 230 │ │ │ │ │ - add.w r3, r2, #80 @ 0x50 │ │ │ │ │ - rsb sl, r5, #0 │ │ │ │ │ - rsb r6, fp, #0 │ │ │ │ │ - vldr d15, [pc, #484] @ 228 │ │ │ │ │ + mov.w r5, r3, lsl #3 │ │ │ │ │ + mov.w r3, r3, lsl #4 │ │ │ │ │ + str r3, [sp, #8] │ │ │ │ │ + bne.w 250 │ │ │ │ │ + vldr d15, [pc, #512] @ 248 │ │ │ │ │ vmov.f64 d8, #96 @ 0x3f000000 0.5 │ │ │ │ │ - str r1, [sp, #4] │ │ │ │ │ - ldr r2, [sp, #4] │ │ │ │ │ - adds r4, r0, r5 │ │ │ │ │ - vldr d2, [r3, #-48] @ 0xffffffd0 │ │ │ │ │ - add.w r9, r9, #1 │ │ │ │ │ - vldr d7, [r3, #-40] @ 0xffffffd8 │ │ │ │ │ - adds r3, #80 @ 0x50 │ │ │ │ │ - vldr d1, [r4] │ │ │ │ │ - add r4, r7 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - add r2, r5 │ │ │ │ │ + mov r4, r3 │ │ │ │ │ + rsb r4, r4, #0 │ │ │ │ │ + add.w r3, r2, #80 @ 0x50 │ │ │ │ │ + add.w lr, r0, r5 │ │ │ │ │ + add.w r2, r1, r5 │ │ │ │ │ + str r4, [sp, #12] │ │ │ │ │ + ldrd r4, r6, [sp, #8] │ │ │ │ │ + add.w r5, r0, ip │ │ │ │ │ + add.w sl, lr, ip │ │ │ │ │ + add.w r8, r2, ip │ │ │ │ │ + add.w r3, r3, #80 @ 0x50 │ │ │ │ │ + vldr d2, [r3, #-128] @ 0xffffff80 │ │ │ │ │ + vldr d7, [r3, #-120] @ 0xffffff88 │ │ │ │ │ + add.w fp, lr, r4 │ │ │ │ │ + add.w r9, r2, r4 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + add.w r4, r1, ip │ │ │ │ │ + add.w r7, r5, r6 │ │ │ │ │ + add r6, r4 │ │ │ │ │ + vldr d1, [fp] │ │ │ │ │ + vldr d3, [r9] │ │ │ │ │ vldr d12, [r0] │ │ │ │ │ - add.w lr, r4, sl │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ vldr d4, [r3, #-112] @ 0xffffff90 │ │ │ │ │ - vldr d3, [r2] │ │ │ │ │ - add r2, r7 │ │ │ │ │ - add.w ip, r2, sl │ │ │ │ │ - ldr r1, [sp, #16] │ │ │ │ │ + vldr d0, [r8] │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vldr d1, [lr] │ │ │ │ │ - add lr, r7 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ - vldr d3, [r4] │ │ │ │ │ + vldr d3, [r5] │ │ │ │ │ vldr d2, [r3, #-160] @ 0xffffff60 │ │ │ │ │ vsub.f64 d9, d12, d6 │ │ │ │ │ vadd.f64 d12, d6, d12 │ │ │ │ │ vldr d6, [r3, #-104] @ 0xffffff98 │ │ │ │ │ vsub.f64 d11, d5, d7 │ │ │ │ │ vadd.f64 d5, d7, d5 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - vstr d5, [sp, #8] │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + vstr d5, [sp] │ │ │ │ │ vmul.f64 d5, d4, d3 │ │ │ │ │ vmla.f64 d5, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ vmul.f64 d3, d2, d1 │ │ │ │ │ vnmls.f64 d6, d4, d7 │ │ │ │ │ - vldr d4, [ip] │ │ │ │ │ vldr d7, [r3, #-152] @ 0xffffff68 │ │ │ │ │ - add ip, r7 │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ vmla.f64 d3, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vldr d1, [r3, #-96] @ 0xffffffa0 │ │ │ │ │ vnmls.f64 d7, d2, d4 │ │ │ │ │ vadd.f64 d13, d3, d5 │ │ │ │ │ vsub.f64 d4, d5, d3 │ │ │ │ │ - vldr d3, [lr] │ │ │ │ │ vldr d5, [r3, #-144] @ 0xffffff70 │ │ │ │ │ - add lr, r5 │ │ │ │ │ - add.w r8, lr, r6 │ │ │ │ │ + vldr d3, [r7] │ │ │ │ │ vadd.f64 d14, d7, d6 │ │ │ │ │ vsub.f64 d10, d6, d7 │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ - vmul.f64 d2, d5, d3 │ │ │ │ │ vldr d7, [r3, #-136] @ 0xffffff78 │ │ │ │ │ - add ip, r5 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + vmul.f64 d2, d5, d3 │ │ │ │ │ vmla.f64 d2, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ - vldr d0, [ip] │ │ │ │ │ vldr d3, [r3, #-88] @ 0xffffffa8 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d6, [lr] │ │ │ │ │ + vldr d6, [sl] │ │ │ │ │ vmul.f64 d5, d1, d6 │ │ │ │ │ vmla.f64 d5, d3, d0 │ │ │ │ │ vmul.f64 d3, d3, d6 │ │ │ │ │ vnmls.f64 d3, d1, d0 │ │ │ │ │ vsub.f64 d0, d2, d5 │ │ │ │ │ vadd.f64 d5, d5, d2 │ │ │ │ │ vadd.f64 d6, d3, d7 │ │ │ │ │ - vadd.f64 d1, d0, d4 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ + vadd.f64 d1, d0, d4 │ │ │ │ │ vmov.f64 d3, d9 │ │ │ │ │ vsub.f64 d4, d4, d0 │ │ │ │ │ - vmls.f64 d3, d1, d8 │ │ │ │ │ - vadd.f64 d1, d1, d9 │ │ │ │ │ vsub.f64 d2, d7, d10 │ │ │ │ │ vadd.f64 d7, d7, d10 │ │ │ │ │ + vmls.f64 d3, d1, d8 │ │ │ │ │ + vadd.f64 d1, d1, d9 │ │ │ │ │ vmul.f64 d4, d4, d15 │ │ │ │ │ - vstr d1, [r8] │ │ │ │ │ - add r8, r6 │ │ │ │ │ vmul.f64 d2, d2, d15 │ │ │ │ │ + vstr d1, [fp] │ │ │ │ │ vadd.f64 d1, d3, d2 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ - vstr d1, [r8] │ │ │ │ │ - vstr d3, [lr] │ │ │ │ │ + vstmia lr!, {d1} │ │ │ │ │ + vstr d3, [sl] │ │ │ │ │ vmov.f64 d3, d11 │ │ │ │ │ vmls.f64 d3, d7, d8 │ │ │ │ │ - sub.w lr, ip, r1 │ │ │ │ │ vadd.f64 d7, d7, d11 │ │ │ │ │ vadd.f64 d2, d3, d4 │ │ │ │ │ vsub.f64 d3, d3, d4 │ │ │ │ │ vsub.f64 d4, d6, d14 │ │ │ │ │ vadd.f64 d6, d6, d14 │ │ │ │ │ - vstr d2, [lr] │ │ │ │ │ - add lr, fp │ │ │ │ │ - vmul.f64 d4, d4, d15 │ │ │ │ │ - vstr d7, [lr] │ │ │ │ │ + vstmia r2!, {d2} │ │ │ │ │ + vstr d7, [r9] │ │ │ │ │ vmov.f64 d7, d12 │ │ │ │ │ - vstr d3, [ip] │ │ │ │ │ + vmul.f64 d4, d4, d15 │ │ │ │ │ + vstr d3, [r8] │ │ │ │ │ vadd.f64 d3, d5, d13 │ │ │ │ │ vsub.f64 d13, d13, d5 │ │ │ │ │ vmls.f64 d7, d3, d8 │ │ │ │ │ vadd.f64 d3, d3, d12 │ │ │ │ │ vmul.f64 d13, d13, d15 │ │ │ │ │ vstmia r0!, {d3} │ │ │ │ │ vadd.f64 d3, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ - add r4, r6 │ │ │ │ │ - vldr d5, [sp, #8] │ │ │ │ │ - ldr r1, [sp, #4] │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + vstr d3, [r5] │ │ │ │ │ + vldr d5, [sp] │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ vmov.f64 d7, d5 │ │ │ │ │ vmls.f64 d7, d6, d8 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vstmia r1!, {d6} │ │ │ │ │ - str r1, [sp, #4] │ │ │ │ │ vadd.f64 d6, d7, d13 │ │ │ │ │ vsub.f64 d7, d7, d13 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - add r2, r6 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - ldr r2, [sp, #132] @ 0x84 │ │ │ │ │ - cmp r2, r9 │ │ │ │ │ - bne.w 4a │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ + ldr r4, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + str r4, [sp, #128] @ 0x80 │ │ │ │ │ + ldrd r5, r4, [sp, #128] @ 0x80 │ │ │ │ │ + cmp r4, r5 │ │ │ │ │ + bne.w 60 │ │ │ │ │ add sp, #28 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop.w │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3febb67a │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ - rsb r6, fp, #0 │ │ │ │ │ - str.w fp, [sp, #20] │ │ │ │ │ add.w r3, r2, #80 @ 0x50 │ │ │ │ │ - rsb sl, r5, #0 │ │ │ │ │ - vldr d15, [pc, #-28] @ 228 │ │ │ │ │ - mov fp, r4 │ │ │ │ │ + ldr r2, [sp, #8] │ │ │ │ │ vmov.f64 d11, #96 @ 0x3f000000 0.5 │ │ │ │ │ - str r1, [sp, #4] │ │ │ │ │ - ldr r1, [sp, #4] │ │ │ │ │ - adds r4, r0, r5 │ │ │ │ │ - vldr d1, [r3, #-40] @ 0xffffffd8 │ │ │ │ │ - add.w r9, r9, #1 │ │ │ │ │ - adds r2, r1, r5 │ │ │ │ │ - vldr d3, [r3, #-48] @ 0xffffffd0 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - add r4, r7 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - add.w lr, r4, sl │ │ │ │ │ - vldr d2, [r2] │ │ │ │ │ - add r2, r7 │ │ │ │ │ + mov.w r6, r4, lsl #3 │ │ │ │ │ + add.w fp, r1, r5 │ │ │ │ │ + add.w r4, r0, r5 │ │ │ │ │ + vldr d15, [pc, #-32] @ 248 │ │ │ │ │ + mov r7, ip │ │ │ │ │ + str r1, [sp, #0] │ │ │ │ │ + rsb r2, r2, #0 │ │ │ │ │ + str r2, [sp, #12] │ │ │ │ │ + ldr r1, [sp, #0] │ │ │ │ │ + add.w r5, r0, r7 │ │ │ │ │ + add.w lr, fp, r7 │ │ │ │ │ + add.w r9, r4, r7 │ │ │ │ │ + add.w r3, r3, #80 @ 0x50 │ │ │ │ │ + ldr r2, [sp, #8] │ │ │ │ │ vldr d12, [r0] │ │ │ │ │ - add.w ip, r2, sl │ │ │ │ │ - vldr d4, [r3, #-24] @ 0xffffffe8 │ │ │ │ │ - adds r3, #80 @ 0x50 │ │ │ │ │ + vldr d1, [r3, #-120] @ 0xffffff88 │ │ │ │ │ + add.w r8, fp, r2 │ │ │ │ │ + add.w sl, r4, r2 │ │ │ │ │ + vldr d3, [r3, #-128] @ 0xffffff80 │ │ │ │ │ + add.w r2, r1, r7 │ │ │ │ │ + vldr d2, [r8] │ │ │ │ │ + vldr d7, [sl] │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ vldr d0, [r3, #-152] @ 0xffffff68 │ │ │ │ │ + vldr d4, [r3, #-104] @ 0xffffff98 │ │ │ │ │ + ldr r1, [sp, #12] │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [ip] │ │ │ │ │ - add ip, r7 │ │ │ │ │ + vldr d1, [fp] │ │ │ │ │ vldr d8, [r3, #-96] @ 0xffffffa0 │ │ │ │ │ - ldr r1, [sp, #16] │ │ │ │ │ + add.w ip, r5, r1 │ │ │ │ │ + add r1, r2 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ vsub.f64 d2, d12, d6 │ │ │ │ │ vadd.f64 d12, d12, d6 │ │ │ │ │ vadd.f64 d6, d5, d7 │ │ │ │ │ vsub.f64 d10, d5, d7 │ │ │ │ │ vldr d5, [r2] │ │ │ │ │ vldr d7, [r3, #-112] @ 0xffffff90 │ │ │ │ │ - vstr d6, [sp, #8] │ │ │ │ │ + vstr d6, [sp, #16] │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ vmla.f64 d3, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d4 │ │ │ │ │ vmul.f64 d4, d1, d0 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ vldr d5, [r3, #-160] @ 0xffffff60 │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ - add lr, r7 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ vmla.f64 d4, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ + vldr d0, [lr] │ │ │ │ │ vnmls.f64 d7, d1, d5 │ │ │ │ │ vldr d1, [r3, #-136] @ 0xffffff78 │ │ │ │ │ vsub.f64 d5, d3, d4 │ │ │ │ │ vadd.f64 d13, d3, d4 │ │ │ │ │ - vldr d3, [ip] │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ vldr d4, [r3, #-144] @ 0xffffff70 │ │ │ │ │ - add ip, r5 │ │ │ │ │ vadd.f64 d14, d6, d7 │ │ │ │ │ vsub.f64 d9, d6, d7 │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ + vldr d7, [ip] │ │ │ │ │ vmul.f64 d6, d3, d1 │ │ │ │ │ - add lr, r5 │ │ │ │ │ - vldr d0, [ip] │ │ │ │ │ - add.w r8, lr, r6 │ │ │ │ │ vmla.f64 d6, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vldr d1, [r3, #-88] @ 0xffffffa8 │ │ │ │ │ vnmls.f64 d7, d3, d4 │ │ │ │ │ - vldr d4, [lr] │ │ │ │ │ + vldr d4, [r9] │ │ │ │ │ vmul.f64 d3, d0, d1 │ │ │ │ │ vmla.f64 d3, d4, d8 │ │ │ │ │ vmul.f64 d4, d4, d1 │ │ │ │ │ vnmls.f64 d4, d0, d8 │ │ │ │ │ vsub.f64 d0, d6, d3 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ vadd.f64 d1, d7, d4 │ │ │ │ │ - vadd.f64 d8, d5, d0 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ + vadd.f64 d8, d5, d0 │ │ │ │ │ vmov.f64 d4, d2 │ │ │ │ │ vsub.f64 d5, d5, d0 │ │ │ │ │ - vmls.f64 d4, d8, d11 │ │ │ │ │ - vadd.f64 d2, d2, d8 │ │ │ │ │ vsub.f64 d3, d7, d9 │ │ │ │ │ vadd.f64 d9, d9, d7 │ │ │ │ │ + vmls.f64 d4, d8, d11 │ │ │ │ │ vmov.f64 d7, d10 │ │ │ │ │ + vadd.f64 d2, d2, d8 │ │ │ │ │ vmul.f64 d5, d5, d15 │ │ │ │ │ - vstr d2, [r8] │ │ │ │ │ - add r8, r6 │ │ │ │ │ - vmls.f64 d7, d9, d11 │ │ │ │ │ vmul.f64 d3, d3, d15 │ │ │ │ │ + vmls.f64 d7, d9, d11 │ │ │ │ │ vadd.f64 d10, d10, d9 │ │ │ │ │ + vstr d2, [sl] │ │ │ │ │ vadd.f64 d2, d3, d4 │ │ │ │ │ vsub.f64 d4, d4, d3 │ │ │ │ │ - vstr d2, [r8] │ │ │ │ │ - vstr d4, [lr] │ │ │ │ │ + vstr d2, [r4] │ │ │ │ │ + add r4, r6 │ │ │ │ │ + vstr d4, [r9] │ │ │ │ │ vadd.f64 d4, d5, d7 │ │ │ │ │ - sub.w lr, ip, r1 │ │ │ │ │ - ldr r1, [sp, #20] │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vsub.f64 d5, d1, d14 │ │ │ │ │ vadd.f64 d14, d14, d1 │ │ │ │ │ - vstr d4, [lr] │ │ │ │ │ + vstr d4, [fp] │ │ │ │ │ vadd.f64 d4, d13, d6 │ │ │ │ │ - add lr, r1 │ │ │ │ │ vsub.f64 d13, d13, d6 │ │ │ │ │ + vstr d10, [r8] │ │ │ │ │ vmul.f64 d5, d5, d15 │ │ │ │ │ - vstr d10, [lr] │ │ │ │ │ - vstr d7, [ip] │ │ │ │ │ + add fp, r6 │ │ │ │ │ + vstr d7, [lr] │ │ │ │ │ vmov.f64 d7, d12 │ │ │ │ │ vmls.f64 d7, d4, d11 │ │ │ │ │ vadd.f64 d12, d12, d4 │ │ │ │ │ vmul.f64 d13, d13, d15 │ │ │ │ │ vstr d12, [r0] │ │ │ │ │ - add r0, fp │ │ │ │ │ - vldr d6, [sp, #8] │ │ │ │ │ - ldr r1, [sp, #4] │ │ │ │ │ + add r0, r6 │ │ │ │ │ + vldr d6, [sp, #16] │ │ │ │ │ vadd.f64 d4, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - add r4, r6 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ + vstr d7, [ip] │ │ │ │ │ vmov.f64 d7, d6 │ │ │ │ │ + ldr r5, [sp, #0] │ │ │ │ │ vmls.f64 d7, d14, d11 │ │ │ │ │ vadd.f64 d14, d6, d14 │ │ │ │ │ - vstr d14, [r1] │ │ │ │ │ - add r1, fp │ │ │ │ │ - str r1, [sp, #4] │ │ │ │ │ + vstr d14, [r5] │ │ │ │ │ + add r5, r6 │ │ │ │ │ + str r5, [sp, #0] │ │ │ │ │ vadd.f64 d6, d13, d7 │ │ │ │ │ vsub.f64 d7, d7, d13 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ - add r2, r6 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - ldr r2, [sp, #132] @ 0x84 │ │ │ │ │ - cmp r2, r9 │ │ │ │ │ - bne.w 24e │ │ │ │ │ - add sp, #28 │ │ │ │ │ - vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldr r2, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ + str r2, [sp, #128] @ 0x80 │ │ │ │ │ + ldrd r1, r2, [sp, #128] @ 0x80 │ │ │ │ │ + cmp r2, r1 │ │ │ │ │ + bne.w 274 │ │ │ │ │ + b.n 228 │ │ │ │ │ │ │ │ │ │ -0000042c : │ │ │ │ │ +0000044c : │ │ │ │ │ fftw_codelet_t1_6(): │ │ │ │ │ - ldr r2, [pc, #8] @ (438 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (43c ) │ │ │ │ │ + ldr r2, [pc, #8] @ (458 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (45c ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_dit_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── t1_64.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 12832 (bytes into file) │ │ │ │ │ + Start of section headers: 13040 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x3220: │ │ │ │ │ +There are 14 section headers, starting at offset 0x32f0: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 002e58 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 003168 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 002e8c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 002e8c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 002e8c 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 002e92 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 002e9a 000040 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 003190 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 002eda 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 002eda 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 002f10 0001d0 10 12 24 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 0030e0 000087 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 0031a8 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 002f28 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 003238 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 002f5c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 002f5c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 002f5c 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 002f62 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 002f6a 000040 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 003260 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 002faa 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 002faa 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 002fe0 0001d0 10 12 24 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0031b0 000087 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 003278 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,32 +1,32 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 29 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 11844 FUNC LOCAL DEFAULT 1 t1_64 │ │ │ │ │ + 1: 00000001 12050 FUNC LOCAL DEFAULT 1 t1_64 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000005e0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000600 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000b18 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000b28 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 000013a8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 8: 000013c0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 9: 00001c48 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 10: 00001c98 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 11: 00002438 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 12: 000024b0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 13: 00002c90 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 14: 00002cd8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 15: 00002e50 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000638 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000658 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000b98 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000ba8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00001458 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 00001470 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 9: 00001cf8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 10: 00001d48 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 11: 000024f0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 12: 00002568 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 13: 00002d48 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 14: 00002d90 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 15: 00002f20 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 16: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 17: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 18: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 19: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 20: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 21: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 22: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 23: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 24: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 25: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 26: 00002e45 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_64 │ │ │ │ │ + 26: 00002f15 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_64 │ │ │ │ │ 27: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_dit_register │ │ │ │ │ 28: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x3168 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x3238 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000005f8 00001819 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -000005fc 0000191a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00002e50 00001503 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00002e54 00000103 R_ARM_REL32 00000001 t1_64 │ │ │ │ │ -00002e4c 00001b1e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ +00000650 00001819 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000654 0000191a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00002f20 00001503 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00002f24 00000103 R_ARM_REL32 00000001 t1_64 │ │ │ │ │ +00002f1c 00001b1e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x3190 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x3260 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00001002 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00001202 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001c02 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,2513 +1,2506 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ t1_64(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r7, r0 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r8, r1 │ │ │ │ │ - vpush {d8-d15} │ │ │ │ │ - subw sp, sp, #1684 @ 0x694 │ │ │ │ │ - mov.w r1, #1008 @ 0x3f0 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ mov r9, r3 │ │ │ │ │ - ldr.w r3, [pc, #1504] @ 5f8 │ │ │ │ │ - ldr.w r0, [sp, #1784] @ 0x6f8 │ │ │ │ │ - add r3, pc │ │ │ │ │ - mla r6, r1, r0, r2 │ │ │ │ │ - ldr.w r1, [sp, #1788] @ 0x6fc │ │ │ │ │ - cmp r0, r1 │ │ │ │ │ - bge.w 2e38 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + vpush {d8-d15} │ │ │ │ │ + subw sp, sp, #1692 @ 0x69c │ │ │ │ │ + ldr.w r1, [sp, #1792] @ 0x700 │ │ │ │ │ + ldr.w r3, [pc, #1576] @ 650 │ │ │ │ │ + rsb r1, r1, r1, lsl #6 │ │ │ │ │ + add.w r6, r2, r1, lsl #4 │ │ │ │ │ ldr.w r2, [sp, #1792] @ 0x700 │ │ │ │ │ - mov ip, r8 │ │ │ │ │ - mov lr, r9 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ - str.w r2, [sp, #1672] @ 0x688 │ │ │ │ │ - ldr.w r2, [pc, #1468] @ 5fc │ │ │ │ │ + add r3, pc │ │ │ │ │ + ldr.w r1, [sp, #1796] @ 0x704 │ │ │ │ │ + cmp r2, r1 │ │ │ │ │ + bge.w 2ef4 │ │ │ │ │ + ldr.w r2, [sp, #1800] @ 0x708 │ │ │ │ │ + mov sl, r8 │ │ │ │ │ + mov r8, r0 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + str.w r2, [sp, #1680] @ 0x690 │ │ │ │ │ + ldr.w r2, [pc, #1536] @ 654 │ │ │ │ │ ldr r3, [r3, r2] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - str.w r3, [sp, #1676] @ 0x68c │ │ │ │ │ - mov.w r3, lr, lsl #8 │ │ │ │ │ + str.w r3, [sp, #1684] @ 0x694 │ │ │ │ │ + mov.w r3, r9, lsl #8 │ │ │ │ │ + vldr d0, [r6, #240] @ 0xf0 │ │ │ │ │ + add.w ip, r9, r9, lsl #1 │ │ │ │ │ + add.w r1, sl, r3 │ │ │ │ │ vldr d2, [r6, #504] @ 0x1f8 │ │ │ │ │ - add.w r1, ip, r3 │ │ │ │ │ - adds r2, r7, r3 │ │ │ │ │ - vldr d7, [r6, #496] @ 0x1f0 │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ + add.w r2, r8, r3 │ │ │ │ │ + mov.w fp, ip, lsl #4 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ + str r2, [sp, #16] │ │ │ │ │ vldr d5, [r2] │ │ │ │ │ - mov.w r2, lr, lsl #7 │ │ │ │ │ - str r1, [sp, #8] │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ + mov.w r2, r9, lsl #7 │ │ │ │ │ + str r1, [sp, #24] │ │ │ │ │ + vldr d7, [r6, #496] @ 0x1f0 │ │ │ │ │ + add.w r1, r8, r2 │ │ │ │ │ + add r2, sl │ │ │ │ │ + add.w r4, r2, r3 │ │ │ │ │ + add.w r0, r1, r3 │ │ │ │ │ vmul.f64 d1, d6, d2 │ │ │ │ │ - add r2, ip │ │ │ │ │ - vmla.f64 d1, d5, d7 │ │ │ │ │ - vmul.f64 d5, d5, d2 │ │ │ │ │ - adds r5, r2, r3 │ │ │ │ │ - vldr d0, [r6, #240] @ 0xf0 │ │ │ │ │ vldr d8, [r2] │ │ │ │ │ - adds r0, r1, r3 │ │ │ │ │ + str r1, [sp, #32] │ │ │ │ │ + vldr d9, [r4] │ │ │ │ │ + str r2, [sp, #40] @ 0x28 │ │ │ │ │ + mov.w r2, r9, lsl #6 │ │ │ │ │ vldr d10, [r6, #760] @ 0x2f8 │ │ │ │ │ + vmla.f64 d1, d5, d7 │ │ │ │ │ + vmul.f64 d5, d5, d2 │ │ │ │ │ + add.w r5, sl, r2 │ │ │ │ │ + vldr d3, [r8] │ │ │ │ │ + str r0, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d4, [sl] │ │ │ │ │ + str r4, [sp, #56] @ 0x38 │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ + str r2, [sp, #60] @ 0x3c │ │ │ │ │ vldr d6, [r6, #248] @ 0xf8 │ │ │ │ │ - vldr d9, [r5] │ │ │ │ │ - vldr d3, [r7] │ │ │ │ │ vmul.f64 d2, d8, d6 │ │ │ │ │ vmul.f64 d6, d7, d6 │ │ │ │ │ vmla.f64 d2, d7, d0 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - vldr d4, [ip] │ │ │ │ │ - str r2, [sp, #24] │ │ │ │ │ - mov.w r2, lr, lsl #6 │ │ │ │ │ vnmls.f64 d6, d8, d0 │ │ │ │ │ - vldr d0, [r6, #752] @ 0x2f0 │ │ │ │ │ vmul.f64 d8, d9, d10 │ │ │ │ │ - add.w r4, ip, r2 │ │ │ │ │ - str r0, [sp, #32] │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ + add.w r0, r8, r2 │ │ │ │ │ + vldr d0, [r6, #752] @ 0x2f0 │ │ │ │ │ + add.w r7, r0, r3 │ │ │ │ │ vmla.f64 d8, d7, d0 │ │ │ │ │ vmul.f64 d7, d7, d10 │ │ │ │ │ - adds r2, r4, r3 │ │ │ │ │ - str r5, [sp, #40] @ 0x28 │ │ │ │ │ - adds r5, r0, r3 │ │ │ │ │ - str r1, [sp, #16] │ │ │ │ │ vnmls.f64 d7, d9, d0 │ │ │ │ │ vadd.f64 d9, d3, d1 │ │ │ │ │ vsub.f64 d3, d3, d1 │ │ │ │ │ vadd.f64 d0, d2, d8 │ │ │ │ │ vsub.f64 d2, d2, d8 │ │ │ │ │ vadd.f64 d11, d9, d0 │ │ │ │ │ vsub.f64 d0, d9, d0 │ │ │ │ │ - vstr d0, [sp, #624] @ 0x270 │ │ │ │ │ + vstr d11, [sp, #624] @ 0x270 │ │ │ │ │ + vstr d0, [sp, #632] @ 0x278 │ │ │ │ │ vsub.f64 d0, d4, d5 │ │ │ │ │ vadd.f64 d5, d4, d5 │ │ │ │ │ - vstr d11, [sp, #616] @ 0x268 │ │ │ │ │ vsub.f64 d13, d0, d2 │ │ │ │ │ vadd.f64 d2, d0, d2 │ │ │ │ │ - vstr d2, [sp, #640] @ 0x280 │ │ │ │ │ + vstr d13, [sp, #640] @ 0x280 │ │ │ │ │ + vstr d2, [sp, #648] @ 0x288 │ │ │ │ │ vsub.f64 d2, d6, d7 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ vldr d6, [r6, #112] @ 0x70 │ │ │ │ │ - vstr d13, [sp, #632] @ 0x278 │ │ │ │ │ - vadd.f64 d12, d3, d2 │ │ │ │ │ vsub.f64 d1, d3, d2 │ │ │ │ │ + vadd.f64 d12, d3, d2 │ │ │ │ │ vadd.f64 d15, d7, d5 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - vstr d12, [sp, #656] @ 0x290 │ │ │ │ │ - vstr d5, [sp, #672] @ 0x2a0 │ │ │ │ │ + vstr d1, [sp, #656] @ 0x290 │ │ │ │ │ + vstr d12, [sp, #664] @ 0x298 │ │ │ │ │ + vstr d15, [sp, #672] @ 0x2a0 │ │ │ │ │ + vstr d5, [sp, #680] @ 0x2a8 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ vldr d12, [r6, #120] @ 0x78 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - vstr d1, [sp, #648] @ 0x288 │ │ │ │ │ - vstr d15, [sp, #664] @ 0x298 │ │ │ │ │ + strd r0, r5, [sp, #64] @ 0x40 │ │ │ │ │ + add r5, r3 │ │ │ │ │ + mov.w r0, r9, lsl #3 │ │ │ │ │ + vldr d10, [r6, #376] @ 0x178 │ │ │ │ │ + sub.w r4, r0, r9 │ │ │ │ │ + vldr d4, [r6, #632] @ 0x278 │ │ │ │ │ + mov.w r2, r4, lsl #6 │ │ │ │ │ + str r7, [sp, #72] @ 0x48 │ │ │ │ │ vmul.f64 d11, d5, d12 │ │ │ │ │ vmul.f64 d12, d7, d12 │ │ │ │ │ - str r0, [sp, #44] @ 0x2c │ │ │ │ │ + vldr d8, [r6, #888] @ 0x378 │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ + add.w r4, r8, r2 │ │ │ │ │ + str r0, [sp, #8] │ │ │ │ │ + mov.w r0, r9, lsl #5 │ │ │ │ │ + str r5, [sp, #76] @ 0x4c │ │ │ │ │ + str r4, [sp, #80] @ 0x50 │ │ │ │ │ vmla.f64 d11, d7, d6 │ │ │ │ │ - str r2, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d4, [r6, #632] @ 0x278 │ │ │ │ │ vnmls.f64 d12, d5, d6 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - mov.w r2, #448 @ 0x1c0 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + add.w r7, sl, r2 │ │ │ │ │ + mov.w r2, ip, lsl #6 │ │ │ │ │ vldr d7, [r6, #624] @ 0x270 │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ + add.w r5, sl, r2 │ │ │ │ │ + add.w r1, r8, r2 │ │ │ │ │ + add.w r2, sl, r0 │ │ │ │ │ + str r7, [sp, #84] @ 0x54 │ │ │ │ │ vmul.f64 d1, d6, d4 │ │ │ │ │ - vldr d8, [r6, #888] @ 0x378 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ - str r5, [sp, #52] @ 0x34 │ │ │ │ │ + vldr d2, [r7] │ │ │ │ │ + add.w r7, r8, r0 │ │ │ │ │ + strd r1, r5, [sp, #88] @ 0x58 │ │ │ │ │ + sub.w r0, r0, r9 │ │ │ │ │ + vldr d9, [r5] │ │ │ │ │ vmla.f64 d1, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d4 │ │ │ │ │ - add.w r0, ip, r2 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - movs r2, #192 @ 0xc0 │ │ │ │ │ - vldr d10, [r6, #376] @ 0x178 │ │ │ │ │ - str r0, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ + vmul.f64 d4, d2, d8 │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + add.w r4, r7, r3 │ │ │ │ │ vldr d6, [r6, #880] @ 0x370 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - vmul.f64 d4, d2, d8 │ │ │ │ │ - adds r5, r7, r2 │ │ │ │ │ - add r2, ip │ │ │ │ │ - vsub.f64 d3, d11, d1 │ │ │ │ │ + vsub.f64 d0, d11, d1 │ │ │ │ │ + vadd.f64 d11, d11, d1 │ │ │ │ │ vmla.f64 d4, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ vldr d8, [r6, #368] @ 0x170 │ │ │ │ │ - vadd.f64 d11, d11, d1 │ │ │ │ │ - vldr d9, [r2] │ │ │ │ │ - vsub.f64 d0, d12, d5 │ │ │ │ │ + vsub.f64 d3, d12, d5 │ │ │ │ │ vadd.f64 d12, d12, d5 │ │ │ │ │ vnmls.f64 d7, d2, d6 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ vmul.f64 d2, d9, d10 │ │ │ │ │ - str r2, [sp, #72] @ 0x48 │ │ │ │ │ - mov.w r2, lr, lsl #5 │ │ │ │ │ - str r5, [sp, #68] @ 0x44 │ │ │ │ │ + add.w r1, r2, r3 │ │ │ │ │ vmla.f64 d2, d6, d8 │ │ │ │ │ vmul.f64 d6, d6, d10 │ │ │ │ │ - adds r5, r7, r2 │ │ │ │ │ - add r2, ip │ │ │ │ │ - adds r0, r2, r3 │ │ │ │ │ - str r1, [sp, #60] @ 0x3c │ │ │ │ │ - adds r1, r5, r3 │ │ │ │ │ - str r4, [sp, #48] @ 0x30 │ │ │ │ │ vnmls.f64 d6, d9, d8 │ │ │ │ │ - str r5, [sp, #76] @ 0x4c │ │ │ │ │ - vsub.f64 d8, d4, d2 │ │ │ │ │ + vsub.f64 d9, d4, d2 │ │ │ │ │ vadd.f64 d4, d4, d2 │ │ │ │ │ - vsub.f64 d9, d7, d6 │ │ │ │ │ + vsub.f64 d8, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d10, d11, d4 │ │ │ │ │ vsub.f64 d4, d4, d11 │ │ │ │ │ - vldr d11, [pc, #960] @ 5e0 │ │ │ │ │ + vldr d11, [pc, #984] @ 638 │ │ │ │ │ vadd.f64 d6, d12, d7 │ │ │ │ │ vsub.f64 d14, d12, d7 │ │ │ │ │ - vsub.f64 d7, d0, d3 │ │ │ │ │ - vadd.f64 d3, d0, d3 │ │ │ │ │ - vstr d4, [sp, #688] @ 0x2b0 │ │ │ │ │ - vldr d4, [pc, #944] @ 5e8 │ │ │ │ │ - vstr d6, [sp, #704] @ 0x2c0 │ │ │ │ │ - vadd.f64 d6, d8, d9 │ │ │ │ │ - vsub.f64 d8, d8, d9 │ │ │ │ │ - vstr d10, [sp, #680] @ 0x2a8 │ │ │ │ │ - vstr d14, [sp, #696] @ 0x2b8 │ │ │ │ │ - vldr d12, [pc, #928] @ 5f0 │ │ │ │ │ + vldr d12, [pc, #980] @ 640 │ │ │ │ │ + vsub.f64 d7, d3, d0 │ │ │ │ │ + vadd.f64 d3, d3, d0 │ │ │ │ │ + vstr d10, [sp, #688] @ 0x2b0 │ │ │ │ │ + vstr d4, [sp, #696] @ 0x2b8 │ │ │ │ │ + vldr d4, [pc, #968] @ 648 │ │ │ │ │ + vstr d14, [sp, #704] @ 0x2c0 │ │ │ │ │ + vstr d6, [sp, #712] @ 0x2c8 │ │ │ │ │ + vadd.f64 d6, d9, d8 │ │ │ │ │ + vsub.f64 d8, d9, d8 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vmov.f64 d6, d4 │ │ │ │ │ vmul.f64 d5, d5, d4 │ │ │ │ │ vmul.f64 d4, d7, d4 │ │ │ │ │ vadd.f64 d7, d3, d8 │ │ │ │ │ vsub.f64 d8, d8, d3 │ │ │ │ │ - vstr d5, [sp, #712] @ 0x2c8 │ │ │ │ │ + vstr d5, [sp, #720] @ 0x2d0 │ │ │ │ │ + vmul.f64 d2, d7, d6 │ │ │ │ │ vmul.f64 d3, d8, d6 │ │ │ │ │ + vstr d4, [sp, #728] @ 0x2d8 │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + vstr d2, [sp, #736] @ 0x2e0 │ │ │ │ │ + vstr d3, [sp, #744] @ 0x2e8 │ │ │ │ │ vldr d5, [r2] │ │ │ │ │ - vmul.f64 d2, d7, d6 │ │ │ │ │ - vstr d4, [sp, #720] @ 0x2d0 │ │ │ │ │ + strd r7, r2, [sp, #96] @ 0x60 │ │ │ │ │ + add.w r2, r9, r9, lsl #2 │ │ │ │ │ vldr d6, [r6, #48] @ 0x30 │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ - vstr d3, [sp, #736] @ 0x2e0 │ │ │ │ │ + strd r4, r1, [sp, #104] @ 0x68 │ │ │ │ │ vldr d3, [r6, #56] @ 0x38 │ │ │ │ │ - vstr d2, [sp, #728] @ 0x2d8 │ │ │ │ │ - str r1, [sp, #84] @ 0x54 │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ + mov.w r1, r2, lsl #5 │ │ │ │ │ + add.w r7, r8, r1 │ │ │ │ │ + add r1, sl │ │ │ │ │ + vldr d8, [r6, #312] @ 0x138 │ │ │ │ │ + add.w r5, r7, r3 │ │ │ │ │ vmul.f64 d7, d5, d3 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ + vldr d1, [r6, #568] @ 0x238 │ │ │ │ │ + strd r7, r1, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d0, [r1] │ │ │ │ │ + str r5, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d10, [r6, #824] @ 0x338 │ │ │ │ │ vmla.f64 d7, d4, d6 │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ - vldr d1, [r6, #568] @ 0x238 │ │ │ │ │ vldr d3, [r6, #560] @ 0x230 │ │ │ │ │ - str r2, [sp, #80] @ 0x50 │ │ │ │ │ - movs r2, #160 @ 0xa0 │ │ │ │ │ vnmls.f64 d4, d5, d6 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ - str r0, [sp, #88] @ 0x58 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ - vldr d8, [r6, #312] @ 0x138 │ │ │ │ │ + mov r4, r1 │ │ │ │ │ + mov.w r1, r9, lsl #4 │ │ │ │ │ + add r4, r3 │ │ │ │ │ + sub.w lr, r1, r9 │ │ │ │ │ vmla.f64 d5, d6, d3 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ - add.w r0, ip, r2 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ vldr d1, [r6, #304] @ 0x130 │ │ │ │ │ - adds r2, r0, r3 │ │ │ │ │ - adds r5, r1, r3 │ │ │ │ │ - vldr d10, [r6, #824] @ 0x338 │ │ │ │ │ vnmls.f64 d6, d2, d3 │ │ │ │ │ - vldr d0, [r0] │ │ │ │ │ - str r2, [sp, #104] @ 0x68 │ │ │ │ │ - str r0, [sp, #96] @ 0x60 │ │ │ │ │ - str r1, [sp, #92] @ 0x5c │ │ │ │ │ vadd.f64 d3, d7, d5 │ │ │ │ │ - str r5, [sp, #100] @ 0x64 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + mov.w r7, lr, lsl #5 │ │ │ │ │ vadd.f64 d2, d4, d6 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vmul.f64 d6, d0, d8 │ │ │ │ │ vmla.f64 d6, d5, d1 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ - vldr d8, [r2] │ │ │ │ │ - mov.w r2, #480 @ 0x1e0 │ │ │ │ │ + vldr d8, [r4] │ │ │ │ │ vnmls.f64 d5, d0, d1 │ │ │ │ │ - vldr d0, [r6, #816] @ 0x330 │ │ │ │ │ vldr d1, [r5] │ │ │ │ │ + add.w r5, r8, r7 │ │ │ │ │ vmul.f64 d9, d8, d10 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ + add r7, sl │ │ │ │ │ + vldr d0, [r6, #816] @ 0x330 │ │ │ │ │ + strd r4, r5, [sp, #124] @ 0x7c │ │ │ │ │ vmla.f64 d9, d1, d0 │ │ │ │ │ vmul.f64 d1, d1, d10 │ │ │ │ │ - add.w r0, ip, r2 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - movs r2, #224 @ 0xe0 │ │ │ │ │ - str r1, [sp, #108] @ 0x6c │ │ │ │ │ - str r0, [sp, #112] @ 0x70 │ │ │ │ │ vnmls.f64 d1, d8, d0 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ - adds r5, r7, r2 │ │ │ │ │ - add r2, ip │ │ │ │ │ vadd.f64 d0, d6, d9 │ │ │ │ │ vsub.f64 d6, d6, d9 │ │ │ │ │ vadd.f64 d8, d5, d1 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ vadd.f64 d1, d3, d0 │ │ │ │ │ + vsub.f64 d3, d3, d0 │ │ │ │ │ vadd.f64 d9, d4, d6 │ │ │ │ │ vsub.f64 d6, d4, d6 │ │ │ │ │ - vsub.f64 d3, d3, d0 │ │ │ │ │ - vldr d4, [r6, #952] @ 0x3b8 │ │ │ │ │ vadd.f64 d13, d2, d8 │ │ │ │ │ vsub.f64 d2, d2, d8 │ │ │ │ │ - vstr d1, [sp, #744] @ 0x2e8 │ │ │ │ │ + vstr d1, [sp, #752] @ 0x2f0 │ │ │ │ │ vsub.f64 d1, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vsub.f64 d8, d2, d3 │ │ │ │ │ - vstr d13, [sp, #752] @ 0x2f0 │ │ │ │ │ + vstr d13, [sp, #760] @ 0x2f8 │ │ │ │ │ vmul.f64 d10, d1, d11 │ │ │ │ │ - vmul.f64 d1, d1, d12 │ │ │ │ │ vmul.f64 d5, d7, d12 │ │ │ │ │ + vmul.f64 d1, d1, d12 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ - vmla.f64 d7, d6, d12 │ │ │ │ │ - vmla.f64 d1, d9, d11 │ │ │ │ │ - vstr d8, [sp, #792] @ 0x318 │ │ │ │ │ - vadd.f64 d8, d2, d3 │ │ │ │ │ vnmls.f64 d10, d9, d12 │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ vnmls.f64 d5, d6, d11 │ │ │ │ │ + vmla.f64 d1, d9, d11 │ │ │ │ │ + vmla.f64 d7, d6, d12 │ │ │ │ │ + vstr d10, [sp, #768] @ 0x300 │ │ │ │ │ vstr d8, [sp, #800] @ 0x320 │ │ │ │ │ - vstr d7, [sp, #784] @ 0x310 │ │ │ │ │ + vadd.f64 d8, d2, d3 │ │ │ │ │ + vstr d1, [sp, #776] @ 0x308 │ │ │ │ │ + vstr d5, [sp, #784] @ 0x310 │ │ │ │ │ + vstr d7, [sp, #792] @ 0x318 │ │ │ │ │ + vstr d8, [sp, #808] @ 0x328 │ │ │ │ │ + vldr d3, [r5] │ │ │ │ │ + str r7, [sp, #132] @ 0x84 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ + vldr d4, [r6, #952] @ 0x3b8 │ │ │ │ │ + vldr d0, [r6, #176] @ 0xb0 │ │ │ │ │ + mov.w r7, r4, lsl #5 │ │ │ │ │ vldr d7, [r6, #944] @ 0x3b0 │ │ │ │ │ - vstr d10, [sp, #760] @ 0x2f8 │ │ │ │ │ - vstr d5, [sp, #776] @ 0x308 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ - vstr d1, [sp, #768] @ 0x300 │ │ │ │ │ - str r5, [sp, #116] @ 0x74 │ │ │ │ │ + add.w r4, r8, r7 │ │ │ │ │ + add r7, sl │ │ │ │ │ vmul.f64 d6, d5, d4 │ │ │ │ │ - vldr d2, [r2] │ │ │ │ │ + vldr d1, [r6, #440] @ 0x1b8 │ │ │ │ │ + strd r4, r7, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d2, [r7] │ │ │ │ │ + mov.w r7, ip, lsl #5 │ │ │ │ │ + mov.w ip, ip, lsl #3 │ │ │ │ │ + vldr d10, [r6, #696] @ 0x2b8 │ │ │ │ │ vmla.f64 d6, d3, d7 │ │ │ │ │ vmul.f64 d3, d3, d4 │ │ │ │ │ - vldr d1, [r6, #440] @ 0x1b8 │ │ │ │ │ vldr d4, [r6, #432] @ 0x1b0 │ │ │ │ │ - str r2, [sp, #120] @ 0x78 │ │ │ │ │ - movs r2, #96 @ 0x60 │ │ │ │ │ vnmls.f64 d3, d5, d7 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ - vldr d0, [r6, #176] @ 0xb0 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ - vldr d10, [r6, #696] @ 0x2b8 │ │ │ │ │ + add.w r4, r8, r7 │ │ │ │ │ + mov r5, r4 │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - adds r4, r7, r2 │ │ │ │ │ - add.w r5, ip, r2 │ │ │ │ │ - adds r0, r5, r3 │ │ │ │ │ - adds r1, r4, r3 │ │ │ │ │ - mov.w r2, lr, lsl #4 │ │ │ │ │ - str r1, [sp, #132] @ 0x84 │ │ │ │ │ vnmls.f64 d7, d2, d4 │ │ │ │ │ - vldr d8, [r5] │ │ │ │ │ vldr d4, [r6, #184] @ 0xb8 │ │ │ │ │ - str r5, [sp, #128] @ 0x80 │ │ │ │ │ - str r0, [sp, #136] @ 0x88 │ │ │ │ │ vadd.f64 d1, d6, d5 │ │ │ │ │ - str r4, [sp, #124] @ 0x7c │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vldr d5, [r4] │ │ │ │ │ + add.w r4, sl, r7 │ │ │ │ │ + add.w r7, sl, r1 │ │ │ │ │ + vldr d8, [r4] │ │ │ │ │ + strd r5, r4, [sp, #144] @ 0x90 │ │ │ │ │ + add r5, r3 │ │ │ │ │ vadd.f64 d2, d3, d7 │ │ │ │ │ vsub.f64 d3, d3, d7 │ │ │ │ │ + str r5, [sp, #152] @ 0x98 │ │ │ │ │ vmul.f64 d7, d8, d4 │ │ │ │ │ vmul.f64 d4, d5, d4 │ │ │ │ │ vmla.f64 d7, d5, d0 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - add r2, ip │ │ │ │ │ - adds r5, r2, r3 │ │ │ │ │ - str r1, [sp, #140] @ 0x8c │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + add.w r5, r4, r3 │ │ │ │ │ vnmls.f64 d4, d8, d0 │ │ │ │ │ - vldr d8, [r0] │ │ │ │ │ + add.w r4, r8, r1 │ │ │ │ │ + add r1, r9 │ │ │ │ │ + vldr d8, [r5] │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + str r5, [sp, #156] @ 0x9c │ │ │ │ │ + add.w r5, r4, r3 │ │ │ │ │ vldr d0, [r6, #688] @ 0x2b0 │ │ │ │ │ - adds r0, r1, r3 │ │ │ │ │ - str r0, [sp, #148] @ 0x94 │ │ │ │ │ vmul.f64 d9, d8, d10 │ │ │ │ │ vmla.f64 d9, d5, d0 │ │ │ │ │ vmul.f64 d5, d5, d10 │ │ │ │ │ vnmls.f64 d5, d8, d0 │ │ │ │ │ vadd.f64 d8, d7, d9 │ │ │ │ │ vsub.f64 d7, d7, d9 │ │ │ │ │ vadd.f64 d0, d4, d5 │ │ │ │ │ vsub.f64 d5, d4, d5 │ │ │ │ │ vadd.f64 d14, d1, d8 │ │ │ │ │ vsub.f64 d1, d1, d8 │ │ │ │ │ - vadd.f64 d4, d2, d0 │ │ │ │ │ vsub.f64 d9, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ + vadd.f64 d4, d2, d0 │ │ │ │ │ + vstr d14, [sp, #816] @ 0x330 │ │ │ │ │ vsub.f64 d2, d2, d0 │ │ │ │ │ - vstr d14, [sp, #808] @ 0x328 │ │ │ │ │ - vstr d4, [sp, #816] @ 0x330 │ │ │ │ │ - vadd.f64 d4, d3, d7 │ │ │ │ │ - vmul.f64 d10, d9, d11 │ │ │ │ │ vmul.f64 d5, d6, d12 │ │ │ │ │ + vmul.f64 d10, d9, d11 │ │ │ │ │ + vstr d4, [sp, #824] @ 0x338 │ │ │ │ │ + vadd.f64 d4, d3, d7 │ │ │ │ │ vsub.f64 d7, d3, d7 │ │ │ │ │ - vadd.f64 d3, d1, d2 │ │ │ │ │ vsub.f64 d8, d1, d2 │ │ │ │ │ + vadd.f64 d3, d1, d2 │ │ │ │ │ + vmov.f64 d13, d5 │ │ │ │ │ vmla.f64 d10, d4, d12 │ │ │ │ │ vmul.f64 d4, d4, d11 │ │ │ │ │ - vmov.f64 d13, d5 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ vmla.f64 d13, d7, d11 │ │ │ │ │ vmul.f64 d7, d7, d12 │ │ │ │ │ - vstr d3, [sp, #856] @ 0x358 │ │ │ │ │ vnmls.f64 d4, d9, d12 │ │ │ │ │ - vstr d8, [sp, #864] @ 0x360 │ │ │ │ │ vmov.f64 d14, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - vstr d10, [sp, #824] @ 0x338 │ │ │ │ │ + vstr d10, [sp, #832] @ 0x340 │ │ │ │ │ + vstr d3, [sp, #864] @ 0x360 │ │ │ │ │ + vstr d8, [sp, #872] @ 0x368 │ │ │ │ │ vnmls.f64 d14, d6, d11 │ │ │ │ │ + vstr d4, [sp, #840] @ 0x348 │ │ │ │ │ + vstr d13, [sp, #848] @ 0x350 │ │ │ │ │ + vstr d14, [sp, #856] @ 0x358 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + strd r4, r7, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + add r7, r3 │ │ │ │ │ + str r5, [sp, #168] @ 0xa8 │ │ │ │ │ vldr d6, [r6, #16] │ │ │ │ │ - vstr d13, [sp, #840] @ 0x348 │ │ │ │ │ - vstr d4, [sp, #832] @ 0x340 │ │ │ │ │ + str r7, [sp, #172] @ 0xac │ │ │ │ │ vldr d4, [r6, #24] │ │ │ │ │ + vldr d10, [r6, #792] @ 0x318 │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ - vstr d14, [sp, #848] @ 0x350 │ │ │ │ │ vmov.f64 d8, d3 │ │ │ │ │ vmla.f64 d8, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ - vmov.f64 d15, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - str r2, [sp, #144] @ 0x90 │ │ │ │ │ - movs r2, #144 @ 0x90 │ │ │ │ │ vldr d4, [r6, #536] @ 0x218 │ │ │ │ │ - vldr d10, [r6, #792] @ 0x318 │ │ │ │ │ + vmov.f64 d15, d7 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ vnmls.f64 d15, d5, d6 │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + vstr d8, [sp, #224] @ 0xe0 │ │ │ │ │ vldr d6, [r6, #528] @ 0x210 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ - str r5, [sp, #152] @ 0x98 │ │ │ │ │ + ldr r7, [sp, #8] │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ - add.w r4, ip, r2 │ │ │ │ │ + add.w r4, r7, r9 │ │ │ │ │ + mov.w r7, r4, lsl #4 │ │ │ │ │ + vstr d15, [sp, #232] @ 0xe8 │ │ │ │ │ vmla.f64 d3, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vldr d4, [r6, #280] @ 0x118 │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ - adds r2, r0, r3 │ │ │ │ │ - adds r1, r4, r3 │ │ │ │ │ - str r2, [sp, #164] @ 0xa4 │ │ │ │ │ vmov.f64 d2, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - vstr d15, [sp, #208] @ 0xd0 │ │ │ │ │ - str r0, [sp, #156] @ 0x9c │ │ │ │ │ - str r1, [sp, #168] @ 0xa8 │ │ │ │ │ vnmls.f64 d2, d5, d6 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ vadd.f64 d13, d8, d3 │ │ │ │ │ - vstr d3, [sp, #216] @ 0xd8 │ │ │ │ │ + vstr d3, [sp, #240] @ 0xf0 │ │ │ │ │ + str r4, [sp, #448] @ 0x1c0 │ │ │ │ │ + add.w r4, r8, r7 │ │ │ │ │ + add r7, sl │ │ │ │ │ vldr d6, [r6, #272] @ 0x110 │ │ │ │ │ + add.w r5, r4, r3 │ │ │ │ │ + strd r4, r7, [sp, #176] @ 0xb0 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + str r5, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ - str r4, [sp, #160] @ 0xa0 │ │ │ │ │ - vstr d8, [sp, #200] @ 0xc8 │ │ │ │ │ + vadd.f64 d14, d15, d2 │ │ │ │ │ + vstr d2, [sp, #248] @ 0xf8 │ │ │ │ │ vmov.f64 d9, d3 │ │ │ │ │ - vldr d3, [r6, #152] @ 0x98 │ │ │ │ │ vmla.f64 d9, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ - vadd.f64 d14, d15, d2 │ │ │ │ │ - vstr d2, [sp, #224] @ 0xe0 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ vldr d6, [r6, #784] @ 0x310 │ │ │ │ │ - vmul.f64 d15, d5, d10 │ │ │ │ │ - vstr d9, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d9, [sp, #256] @ 0x100 │ │ │ │ │ vmov.f64 d4, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - movs r2, #80 @ 0x50 │ │ │ │ │ - vmul.f64 d10, d7, d10 │ │ │ │ │ - vmla.f64 d15, d7, d6 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ - vstr d4, [sp, #240] @ 0xf0 │ │ │ │ │ - adds r5, r7, r2 │ │ │ │ │ - add r2, ip │ │ │ │ │ - b.n 600 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, r7, r3 │ │ │ │ │ + mov.w r7, r2, lsl #4 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + add.w r4, r8, r7 │ │ │ │ │ + add r7, sl │ │ │ │ │ + b.n 658 │ │ │ │ │ + nop │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ - .word 0x667f3bcd │ │ │ │ │ - .word 0x3fe6a09e │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ - .word 0x000005d6 │ │ │ │ │ + .word 0x667f3bcd │ │ │ │ │ + .word 0x3fe6a09e │ │ │ │ │ + .word 0x00000618 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ + str r5, [sp, #188] @ 0xbc │ │ │ │ │ + vstr d4, [sp, #264] @ 0x108 │ │ │ │ │ + add.w r5, r4, r3 │ │ │ │ │ + vmul.f64 d15, d5, d10 │ │ │ │ │ + vmul.f64 d10, d7, d10 │ │ │ │ │ vnmls.f64 d10, d5, d6 │ │ │ │ │ + vmla.f64 d15, d7, d6 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + strd r4, r7, [sp, #192] @ 0xc0 │ │ │ │ │ + add.w r4, r7, r3 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + mov.w r7, #464 @ 0x1d0 │ │ │ │ │ + str r5, [sp, #200] @ 0xc8 │ │ │ │ │ vldr d6, [r6, #144] @ 0x90 │ │ │ │ │ - adds r1, r5, r3 │ │ │ │ │ - adds r0, r2, r3 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ - vadd.f64 d11, d9, d15 │ │ │ │ │ - str r5, [sp, #172] @ 0xac │ │ │ │ │ - str r1, [sp, #180] @ 0xb4 │ │ │ │ │ - str r2, [sp, #176] @ 0xb0 │ │ │ │ │ - mov.w r2, #464 @ 0x1d0 │ │ │ │ │ + mul.w r7, r7, r9 │ │ │ │ │ + vldr d3, [r6, #152] @ 0x98 │ │ │ │ │ + vldr d2, [r4] │ │ │ │ │ vadd.f64 d12, d4, d10 │ │ │ │ │ + vldr d1, [r6, #664] @ 0x298 │ │ │ │ │ + vadd.f64 d11, d9, d15 │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ + vldr d8, [r6, #920] @ 0x398 │ │ │ │ │ vmla.f64 d4, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ - str r0, [sp, #184] @ 0xb8 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ - adds r5, r7, r2 │ │ │ │ │ - add r2, ip │ │ │ │ │ - vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ vldr d3, [r6, #656] @ 0x290 │ │ │ │ │ - vldr d1, [r6, #664] @ 0x298 │ │ │ │ │ - vldr d8, [r6, #920] @ 0x398 │ │ │ │ │ - str r2, [sp, #192] @ 0xc0 │ │ │ │ │ + vnmls.f64 d7, d5, d6 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ - str r5, [sp, #188] @ 0xbc │ │ │ │ │ + add.w r5, r8, r7 │ │ │ │ │ + add r7, sl │ │ │ │ │ + strd r4, r5, [sp, #204] @ 0xcc │ │ │ │ │ + str r7, [sp, #212] @ 0xd4 │ │ │ │ │ vmla.f64 d5, d6, d3 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ vnmls.f64 d6, d2, d3 │ │ │ │ │ - vldr d3, [r2] │ │ │ │ │ - movs r2, #208 @ 0xd0 │ │ │ │ │ - vmul.f64 d1, d3, d8 │ │ │ │ │ + vldr d3, [r7] │ │ │ │ │ + mov.w r7, #208 @ 0xd0 │ │ │ │ │ + mul.w r7, r7, r9 │ │ │ │ │ vadd.f64 d0, d4, d5 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ vsub.f64 d4, d4, d5 │ │ │ │ │ vldr d5, [r5] │ │ │ │ │ - add.w r0, ip, r2 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - add.w r2, sp, #1496 @ 0x5d8 │ │ │ │ │ - str r1, [sp, #196] @ 0xc4 │ │ │ │ │ + vmul.f64 d1, d3, d8 │ │ │ │ │ + add.w r5, sl, r7 │ │ │ │ │ + add.w r4, r8, r7 │ │ │ │ │ + mov.w r7, r0, lsl #4 │ │ │ │ │ + vldr d9, [r5] │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ + strd r4, r5, [sp, #216] @ 0xd8 │ │ │ │ │ vadd.f64 d2, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [r6, #912] @ 0x390 │ │ │ │ │ - vldr d9, [r0] │ │ │ │ │ - str r0, [sp, #256] @ 0x100 │ │ │ │ │ vmla.f64 d1, d5, d6 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ - vstr d7, [sp, #248] @ 0xf8 │ │ │ │ │ vldr d8, [r6, #400] @ 0x190 │ │ │ │ │ + vstr d7, [sp, #272] @ 0x110 │ │ │ │ │ vldr d7, [r6, #408] @ 0x198 │ │ │ │ │ vnmls.f64 d5, d3, d6 │ │ │ │ │ vldr d6, [r6, #408] @ 0x198 │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ + vldr d3, [r4] │ │ │ │ │ + add.w r4, sp, #1504 @ 0x5e0 │ │ │ │ │ vmul.f64 d6, d9, d6 │ │ │ │ │ vmla.f64 d6, d3, d8 │ │ │ │ │ vmul.f64 d3, d3, d7 │ │ │ │ │ - vldr d7, [sp, #248] @ 0xf8 │ │ │ │ │ vnmls.f64 d3, d9, d8 │ │ │ │ │ vadd.f64 d8, d1, d6 │ │ │ │ │ vsub.f64 d6, d1, d6 │ │ │ │ │ vadd.f64 d1, d13, d11 │ │ │ │ │ vsub.f64 d13, d13, d11 │ │ │ │ │ vadd.f64 d9, d5, d3 │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ vadd.f64 d3, d0, d8 │ │ │ │ │ - vstr d1, [sp, #872] @ 0x368 │ │ │ │ │ vsub.f64 d8, d8, d0 │ │ │ │ │ + vstr d1, [sp, #880] @ 0x370 │ │ │ │ │ vsub.f64 d1, d1, d3 │ │ │ │ │ - vstr d3, [sp, #880] @ 0x370 │ │ │ │ │ + vstr d3, [sp, #888] @ 0x378 │ │ │ │ │ vadd.f64 d3, d2, d9 │ │ │ │ │ vsub.f64 d2, d2, d9 │ │ │ │ │ - vstr d1, [r2] │ │ │ │ │ + vstr d1, [r4] │ │ │ │ │ vadd.f64 d1, d14, d12 │ │ │ │ │ - add.w r2, sp, #1504 @ 0x5e0 │ │ │ │ │ - vstr d3, [sp, #896] @ 0x380 │ │ │ │ │ + add.w r4, sp, #1512 @ 0x5e8 │ │ │ │ │ vsub.f64 d9, d13, d2 │ │ │ │ │ vadd.f64 d2, d13, d2 │ │ │ │ │ vsub.f64 d14, d14, d12 │ │ │ │ │ - vstr d1, [sp, #888] @ 0x378 │ │ │ │ │ + vstr d1, [sp, #896] @ 0x380 │ │ │ │ │ vsub.f64 d1, d1, d3 │ │ │ │ │ - vldr d3, [sp, #208] @ 0xd0 │ │ │ │ │ - vstr d1, [r2] │ │ │ │ │ - add.w r2, sp, #1512 @ 0x5e8 │ │ │ │ │ - vldr d1, [sp, #224] @ 0xe0 │ │ │ │ │ - vstr d9, [r2] │ │ │ │ │ - add.w r2, sp, #1520 @ 0x5f0 │ │ │ │ │ - vsub.f64 d1, d3, d1 │ │ │ │ │ + vstr d3, [sp, #904] @ 0x388 │ │ │ │ │ + vstr d1, [r4] │ │ │ │ │ + add.w r4, sp, #1520 @ 0x5f0 │ │ │ │ │ vldr d3, [sp, #232] @ 0xe8 │ │ │ │ │ - vldr d9, [pc, #968] @ b18 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ + vstr d9, [r4] │ │ │ │ │ + add.w r4, sp, #1528 @ 0x5f8 │ │ │ │ │ + vldr d1, [sp, #248] @ 0xf8 │ │ │ │ │ + vstr d2, [r4] │ │ │ │ │ + add.w r4, sp, #1536 @ 0x600 │ │ │ │ │ + vldr d7, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d9, [pc, #968] @ b98 │ │ │ │ │ + vsub.f64 d1, d3, d1 │ │ │ │ │ + vldr d3, [sp, #256] @ 0x100 │ │ │ │ │ vadd.f64 d2, d4, d7 │ │ │ │ │ - vsub.f64 d15, d3, d15 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - add.w r2, sp, #1528 @ 0x5f8 │ │ │ │ │ + vsub.f64 d15, d3, d15 │ │ │ │ │ vadd.f64 d3, d1, d15 │ │ │ │ │ vsub.f64 d15, d1, d15 │ │ │ │ │ - vstr d3, [sp, #904] @ 0x388 │ │ │ │ │ + vstr d3, [sp, #912] @ 0x390 │ │ │ │ │ vsub.f64 d3, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vstr d15, [sp, #912] @ 0x390 │ │ │ │ │ + vstr d15, [sp, #920] @ 0x398 │ │ │ │ │ + vsub.f64 d5, d7, d6 │ │ │ │ │ vsub.f64 d1, d3, d2 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ - vsub.f64 d5, d7, d6 │ │ │ │ │ vmov.f64 d2, d9 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vsub.f64 d6, d14, d8 │ │ │ │ │ + vmul.f64 d5, d5, d2 │ │ │ │ │ vmul.f64 d13, d1, d9 │ │ │ │ │ vmul.f64 d9, d3, d9 │ │ │ │ │ - vmul.f64 d5, d5, d2 │ │ │ │ │ + vldr d3, [sp, #240] @ 0xf0 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ - vstr d13, [sp, #920] @ 0x398 │ │ │ │ │ - vstr d9, [sp, #928] @ 0x3a0 │ │ │ │ │ - vstr d5, [sp, #936] @ 0x3a8 │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ + add.w r4, sp, #1544 @ 0x608 │ │ │ │ │ + vldr d6, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d13, [sp, #928] @ 0x3a0 │ │ │ │ │ + vstr d5, [sp, #944] @ 0x3b0 │ │ │ │ │ vadd.f64 d5, d14, d8 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - add.w r2, sp, #1536 @ 0x600 │ │ │ │ │ - vldr d8, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d3, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d6, [sp, #240] @ 0xf0 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - mov.w r2, #496 @ 0x1f0 │ │ │ │ │ - vstr d7, [sp, #944] @ 0x3b0 │ │ │ │ │ - vsub.f64 d7, d8, d3 │ │ │ │ │ + vldr d8, [sp, #224] @ 0xe0 │ │ │ │ │ vsub.f64 d6, d6, d10 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ - adds r5, r7, r2 │ │ │ │ │ - add r2, ip │ │ │ │ │ + vstr d9, [sp, #936] @ 0x3a8 │ │ │ │ │ + vstr d7, [sp, #952] @ 0x3b8 │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ + add.w r4, r8, r7 │ │ │ │ │ + add r7, sl │ │ │ │ │ + vsub.f64 d7, d8, d3 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + str r4, [sp, #224] @ 0xe0 │ │ │ │ │ + str r7, [sp, #232] @ 0xe8 │ │ │ │ │ + mov.w r7, lr, lsl #4 │ │ │ │ │ + mov.w lr, lr, lsl #3 │ │ │ │ │ + add.w r5, r8, r7 │ │ │ │ │ + add r7, sl │ │ │ │ │ vadd.f64 d4, d7, d6 │ │ │ │ │ vsub.f64 d8, d7, d6 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + str r5, [sp, #240] @ 0xf0 │ │ │ │ │ vldr d6, [r6, #976] @ 0x3d0 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - vstr d4, [sp, #960] @ 0x3c0 │ │ │ │ │ + str r7, [sp, #248] @ 0xf8 │ │ │ │ │ + vstr d8, [sp, #960] @ 0x3c0 │ │ │ │ │ + vstr d4, [sp, #968] @ 0x3c8 │ │ │ │ │ vldr d4, [r6, #984] @ 0x3d8 │ │ │ │ │ - vstr d8, [sp, #952] @ 0x3b8 │ │ │ │ │ - str r2, [sp, #208] @ 0xd0 │ │ │ │ │ - movs r2, #240 @ 0xf0 │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ - str r5, [sp, #200] @ 0xc8 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ vmov.f64 d8, d3 │ │ │ │ │ - add.w r0, ip, r2 │ │ │ │ │ vmla.f64 d8, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ vldr d4, [r6, #472] @ 0x1d8 │ │ │ │ │ - movs r2, #112 @ 0x70 │ │ │ │ │ - str r1, [sp, #216] @ 0xd8 │ │ │ │ │ - str r0, [sp, #224] @ 0xe0 │ │ │ │ │ vmov.f64 d15, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ - add.w r1, ip, r2 │ │ │ │ │ - add.w fp, r7, r2 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ vnmls.f64 d15, d5, d6 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + vstr d8, [sp, #312] @ 0x138 │ │ │ │ │ vldr d6, [r6, #464] @ 0x1d0 │ │ │ │ │ - adds r2, r1, r3 │ │ │ │ │ - add.w r5, fp, r3 │ │ │ │ │ - str r1, [sp, #232] @ 0xe8 │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ - str r5, [sp, #240] @ 0xf0 │ │ │ │ │ vmla.f64 d3, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [r6, #216] @ 0xd8 │ │ │ │ │ - str r2, [sp, #248] @ 0xf8 │ │ │ │ │ - vstr d8, [sp, #288] @ 0x120 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - vldr d6, [r6, #208] @ 0xd0 │ │ │ │ │ - vstr d15, [sp, #296] @ 0x128 │ │ │ │ │ + vstr d3, [sp, #328] @ 0x148 │ │ │ │ │ vadd.f64 d13, d8, d3 │ │ │ │ │ - vstr d3, [sp, #304] @ 0x130 │ │ │ │ │ - vmul.f64 d3, d5, d4 │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ + vstr d15, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d6, [r6, #208] @ 0xd0 │ │ │ │ │ + vldr d4, [r6, #216] @ 0xd8 │ │ │ │ │ vadd.f64 d14, d15, d7 │ │ │ │ │ - vstr d7, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d7, [fp] │ │ │ │ │ + mov.w r7, r4, lsl #4 │ │ │ │ │ + vstr d7, [sp, #336] @ 0x150 │ │ │ │ │ + vldr d1, [r6, #600] @ 0x258 │ │ │ │ │ + add.w r4, r8, r7 │ │ │ │ │ + add r7, sl │ │ │ │ │ + add.w r5, r4, r3 │ │ │ │ │ + vldr d10, [r6, #728] @ 0x2d8 │ │ │ │ │ + str r4, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + str r5, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + add.w r4, r7, r3 │ │ │ │ │ + str r4, [sp, #272] @ 0x110 │ │ │ │ │ + vmul.f64 d3, d5, d4 │ │ │ │ │ vmov.f64 d9, d3 │ │ │ │ │ + vldr d3, [r6, #88] @ 0x58 │ │ │ │ │ vmla.f64 d9, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vmov.f64 d4, d7 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - movs r2, #48 @ 0x30 │ │ │ │ │ - vldr d10, [r6, #728] @ 0x2d8 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + add.w r4, r8, fp │ │ │ │ │ vldr d6, [r6, #720] @ 0x2d0 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ - vldr d3, [r6, #88] @ 0x58 │ │ │ │ │ + str r4, [sp, #280] @ 0x118 │ │ │ │ │ + vstr d9, [sp, #344] @ 0x158 │ │ │ │ │ vmul.f64 d15, d5, d10 │ │ │ │ │ + vmov.f64 d4, d7 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, sl, fp │ │ │ │ │ + mov.w fp, #432 @ 0x1b0 │ │ │ │ │ + str r5, [sp, #284] @ 0x11c │ │ │ │ │ + mul.w fp, fp, r9 │ │ │ │ │ + vstr d4, [sp, #352] @ 0x160 │ │ │ │ │ vmul.f64 d10, d7, d10 │ │ │ │ │ - add.w r0, ip, r2 │ │ │ │ │ - add.w sl, r7, r2 │ │ │ │ │ vmla.f64 d15, d7, d6 │ │ │ │ │ - vstr d4, [sp, #328] @ 0x148 │ │ │ │ │ - adds r2, r0, r3 │ │ │ │ │ - add.w r5, sl, r3 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + add r4, r3 │ │ │ │ │ + str r4, [sp, #288] @ 0x120 │ │ │ │ │ vnmls.f64 d10, d5, d6 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + add r5, r3 │ │ │ │ │ vldr d6, [r6, #80] @ 0x50 │ │ │ │ │ - vldr d7, [sl] │ │ │ │ │ - vldr d2, [r2] │ │ │ │ │ - vldr d1, [r6, #600] @ 0x258 │ │ │ │ │ - str r2, [sp, #268] @ 0x10c │ │ │ │ │ - mov.w r2, #432 @ 0x1b0 │ │ │ │ │ - str r0, [sp, #260] @ 0x104 │ │ │ │ │ + str r5, [sp, #292] @ 0x124 │ │ │ │ │ + vldr d2, [r5] │ │ │ │ │ + add.w r5, sl, fp │ │ │ │ │ vadd.f64 d11, d9, d15 │ │ │ │ │ - vldr d8, [r6, #856] @ 0x358 │ │ │ │ │ + str r5, [sp, #300] @ 0x12c │ │ │ │ │ vadd.f64 d12, d4, d10 │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ vmla.f64 d4, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vldr d3, [r6, #592] @ 0x250 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ - str r5, [sp, #264] @ 0x108 │ │ │ │ │ - add.w r0, ip, r2 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ + vstr d12, [sp, #360] @ 0x168 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ - movs r2, #176 @ 0xb0 │ │ │ │ │ - vstr d9, [sp, #320] @ 0x140 │ │ │ │ │ + add.w r4, r8, fp │ │ │ │ │ + mov.w fp, #176 @ 0xb0 │ │ │ │ │ + str r4, [sp, #296] @ 0x128 │ │ │ │ │ + mul.w fp, fp, r9 │ │ │ │ │ vmla.f64 d5, d6, d3 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ - vstr d12, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d12, [r6, #344] @ 0x158 │ │ │ │ │ - adds r5, r7, r2 │ │ │ │ │ - add r2, ip │ │ │ │ │ vnmls.f64 d6, d2, d3 │ │ │ │ │ - vldr d3, [r0] │ │ │ │ │ - str r1, [sp, #272] @ 0x110 │ │ │ │ │ - vldr d9, [r2] │ │ │ │ │ - vmul.f64 d1, d3, d8 │ │ │ │ │ - str r0, [sp, #276] @ 0x114 │ │ │ │ │ vadd.f64 d0, d4, d5 │ │ │ │ │ - str r5, [sp, #280] @ 0x118 │ │ │ │ │ vsub.f64 d4, d4, d5 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - str r2, [sp, #284] @ 0x11c │ │ │ │ │ - add.w r2, sp, #1024 @ 0x400 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + add.w r4, r8, fp │ │ │ │ │ + vldr d3, [r5] │ │ │ │ │ + add.w r5, sl, fp │ │ │ │ │ + vldr d9, [r5] │ │ │ │ │ vadd.f64 d2, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ + strd r4, r5, [sp, #304] @ 0x130 │ │ │ │ │ + vldr d8, [r6, #856] @ 0x358 │ │ │ │ │ + vldr d12, [r6, #344] @ 0x158 │ │ │ │ │ vldr d6, [r6, #848] @ 0x350 │ │ │ │ │ + vmul.f64 d1, d3, d8 │ │ │ │ │ vmla.f64 d1, d5, d6 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ vldr d8, [r6, #336] @ 0x150 │ │ │ │ │ vnmls.f64 d5, d3, d6 │ │ │ │ │ vldr d6, [r6, #344] @ 0x158 │ │ │ │ │ - vldr d3, [r5] │ │ │ │ │ + vldr d3, [r4] │ │ │ │ │ + add.w r4, sp, #1024 @ 0x400 │ │ │ │ │ vmul.f64 d6, d9, d6 │ │ │ │ │ vmla.f64 d6, d3, d8 │ │ │ │ │ vmul.f64 d3, d3, d12 │ │ │ │ │ + vldr d12, [sp, #360] @ 0x168 │ │ │ │ │ vnmls.f64 d3, d9, d8 │ │ │ │ │ vadd.f64 d8, d1, d6 │ │ │ │ │ vsub.f64 d6, d1, d6 │ │ │ │ │ vadd.f64 d1, d13, d11 │ │ │ │ │ vsub.f64 d13, d13, d11 │ │ │ │ │ vadd.f64 d9, d5, d3 │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ vadd.f64 d3, d0, d8 │ │ │ │ │ - vstr d1, [sp, #968] @ 0x3c8 │ │ │ │ │ vsub.f64 d8, d8, d0 │ │ │ │ │ + vstr d1, [sp, #976] @ 0x3d0 │ │ │ │ │ vsub.f64 d1, d1, d3 │ │ │ │ │ - vstr d3, [sp, #976] @ 0x3d0 │ │ │ │ │ - vstr d1, [sp, #984] @ 0x3d8 │ │ │ │ │ - vadd.f64 d1, d2, d9 │ │ │ │ │ - vldr d12, [sp, #336] @ 0x150 │ │ │ │ │ - vsub.f64 d2, d2, d9 │ │ │ │ │ + vstr d3, [sp, #984] @ 0x3d8 │ │ │ │ │ vadd.f64 d3, d14, d12 │ │ │ │ │ - vstr d1, [sp, #1000] @ 0x3e8 │ │ │ │ │ - vadd.f64 d9, d13, d2 │ │ │ │ │ vsub.f64 d14, d14, d12 │ │ │ │ │ - vstr d3, [sp, #992] @ 0x3e0 │ │ │ │ │ + vstr d1, [sp, #992] @ 0x3e0 │ │ │ │ │ + vadd.f64 d1, d2, d9 │ │ │ │ │ + vsub.f64 d2, d2, d9 │ │ │ │ │ + vstr d3, [sp, #1000] @ 0x3e8 │ │ │ │ │ vsub.f64 d3, d3, d1 │ │ │ │ │ - vldr d1, [sp, #312] @ 0x138 │ │ │ │ │ - vstr d3, [sp, #1008] @ 0x3f0 │ │ │ │ │ - vldr d3, [sp, #296] @ 0x128 │ │ │ │ │ - vsub.f64 d1, d3, d1 │ │ │ │ │ + vstr d1, [sp, #1008] @ 0x3f0 │ │ │ │ │ + vadd.f64 d9, d13, d2 │ │ │ │ │ + vldr d1, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d3, [sp, #1016] @ 0x3f8 │ │ │ │ │ vldr d3, [sp, #320] @ 0x140 │ │ │ │ │ + vsub.f64 d1, d3, d1 │ │ │ │ │ + vldr d3, [sp, #344] @ 0x158 │ │ │ │ │ vsub.f64 d15, d3, d15 │ │ │ │ │ vadd.f64 d3, d1, d15 │ │ │ │ │ vsub.f64 d15, d1, d15 │ │ │ │ │ - vstr d15, [r2] │ │ │ │ │ + vstr d3, [r4] │ │ │ │ │ + add.w r4, sp, #1032 @ 0x408 │ │ │ │ │ + vsub.f64 d3, d6, d5 │ │ │ │ │ + vadd.f64 d6, d6, d5 │ │ │ │ │ + vstr d15, [r4] │ │ │ │ │ vsub.f64 d15, d13, d2 │ │ │ │ │ - add.w r2, sp, #1544 @ 0x608 │ │ │ │ │ vadd.f64 d2, d4, d7 │ │ │ │ │ - vstr d3, [sp, #1016] @ 0x3f8 │ │ │ │ │ - vsub.f64 d3, d6, d5 │ │ │ │ │ + add.w r4, sp, #1552 @ 0x610 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vadd.f64 d6, d6, d5 │ │ │ │ │ - vstr d15, [r2] │ │ │ │ │ - add.w r2, sp, #1552 @ 0x610 │ │ │ │ │ - vadd.f64 d15, d14, d8 │ │ │ │ │ + vstr d15, [r4] │ │ │ │ │ + add.w r4, sp, #1560 @ 0x618 │ │ │ │ │ vsub.f64 d1, d3, d2 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ - vstr d9, [r2] │ │ │ │ │ - add.w r2, sp, #1032 @ 0x408 │ │ │ │ │ - vldr d9, [pc, #180] @ b18 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ + vstr d9, [r4] │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #288] @ 0x120 │ │ │ │ │ + add.w r4, sp, #1040 @ 0x410 │ │ │ │ │ + vldr d9, [pc, #176] @ b98 │ │ │ │ │ + vadd.f64 d15, d14, d8 │ │ │ │ │ + vldr d6, [sp, #312] @ 0x138 │ │ │ │ │ vmul.f64 d13, d1, d9 │ │ │ │ │ vmov.f64 d2, d9 │ │ │ │ │ vmul.f64 d9, d3, d9 │ │ │ │ │ - vldr d3, [sp, #304] @ 0x130 │ │ │ │ │ - vstr d13, [r2] │ │ │ │ │ - add.w r2, sp, #1040 @ 0x410 │ │ │ │ │ + vldr d3, [sp, #328] @ 0x148 │ │ │ │ │ vmul.f64 d5, d5, d2 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ vsub.f64 d2, d14, d8 │ │ │ │ │ - vstr d9, [r2] │ │ │ │ │ - add.w r2, sp, #1048 @ 0x418 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - add.w r2, sp, #1056 @ 0x420 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ + vstr d13, [r4] │ │ │ │ │ + add.w r4, sp, #1048 @ 0x418 │ │ │ │ │ + vstr d9, [r4] │ │ │ │ │ + add.w r4, sp, #1056 @ 0x420 │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ + add.w r4, sp, #1064 @ 0x428 │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + add.w r4, sp, #1072 @ 0x430 │ │ │ │ │ vsub.f64 d7, d6, d3 │ │ │ │ │ - vldr d6, [sp, #328] @ 0x148 │ │ │ │ │ - add.w r2, sp, #1064 @ 0x428 │ │ │ │ │ + vstr d2, [r4] │ │ │ │ │ + add.w r4, sp, #1568 @ 0x620 │ │ │ │ │ + vstr d15, [r4] │ │ │ │ │ + add.w r4, sp, #1080 @ 0x438 │ │ │ │ │ + vldr d6, [sp, #352] @ 0x160 │ │ │ │ │ + ldr r5, [sp, #60] @ 0x3c │ │ │ │ │ vsub.f64 d6, d6, d10 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - add.w r2, sp, #1560 @ 0x618 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ - vstr d15, [r2] │ │ │ │ │ - add.w r2, sp, #1072 @ 0x430 │ │ │ │ │ vadd.f64 d12, d7, d6 │ │ │ │ │ vldr d6, [r6, #992] @ 0x3e0 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - add.w r2, sp, #1080 @ 0x438 │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ + add.w r4, sp, #1088 @ 0x440 │ │ │ │ │ vldr d4, [r6, #1000] @ 0x3e8 │ │ │ │ │ - vstr d12, [r2] │ │ │ │ │ - mov.w r2, #504 @ 0x1f8 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ - add.w r0, ip, r2 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - movs r2, #248 @ 0xf8 │ │ │ │ │ - str r1, [sp, #288] @ 0x120 │ │ │ │ │ - str r0, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ + vstr d12, [r4] │ │ │ │ │ + sub.w r4, r5, r9 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + add.w r5, r8, r4 │ │ │ │ │ + add r4, sl │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + str r5, [sp, #60] @ 0x3c │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + str r4, [sp, #312] @ 0x138 │ │ │ │ │ + add.w r4, r8, r0 │ │ │ │ │ + add r0, sl │ │ │ │ │ + str r4, [sp, #320] @ 0x140 │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ - adds r5, r7, r2 │ │ │ │ │ - add r2, ip │ │ │ │ │ - str r5, [sp, #304] @ 0x130 │ │ │ │ │ - str r2, [sp, #312] @ 0x138 │ │ │ │ │ - vmov.f64 d9, d3 │ │ │ │ │ - b.n b28 │ │ │ │ │ + str r0, [sp, #328] @ 0x148 │ │ │ │ │ + b.n ba8 │ │ │ │ │ nop │ │ │ │ │ + nop.w │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ + vmov.f64 d9, d3 │ │ │ │ │ vmla.f64 d9, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ + vldr d4, [r6, #488] @ 0x1e8 │ │ │ │ │ vmov.f64 d15, d7 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ vnmls.f64 d15, d5, d6 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + add.w r0, r8, lr │ │ │ │ │ + add lr, sl │ │ │ │ │ vldr d6, [r6, #480] @ 0x1e0 │ │ │ │ │ - movs r2, #120 @ 0x78 │ │ │ │ │ - vldr d4, [r6, #488] @ 0x1e8 │ │ │ │ │ - vldr d1, [r6, #616] @ 0x268 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ - vstr d9, [sp, #376] @ 0x178 │ │ │ │ │ + str r0, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d9, [sp, #392] @ 0x188 │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ + vstr d15, [sp, #400] @ 0x190 │ │ │ │ │ vmla.f64 d3, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ - add.w r5, ip, r2 │ │ │ │ │ vldr d4, [r6, #232] @ 0xe8 │ │ │ │ │ - adds r4, r7, r2 │ │ │ │ │ - adds r0, r5, r3 │ │ │ │ │ - adds r1, r4, r3 │ │ │ │ │ - vstr d15, [sp, #384] @ 0x180 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ + vldr d5, [lr] │ │ │ │ │ vldr d6, [r6, #224] @ 0xe0 │ │ │ │ │ - movs r2, #56 @ 0x38 │ │ │ │ │ - str r1, [sp, #336] @ 0x150 │ │ │ │ │ - str r5, [sp, #328] @ 0x148 │ │ │ │ │ vadd.f64 d14, d9, d3 │ │ │ │ │ - vstr d3, [sp, #392] @ 0x188 │ │ │ │ │ + vstr d3, [sp, #408] @ 0x198 │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ - str r0, [sp, #344] @ 0x158 │ │ │ │ │ - str r4, [sp, #320] @ 0x140 │ │ │ │ │ vadd.f64 d13, d15, d7 │ │ │ │ │ - vstr d7, [sp, #400] @ 0x190 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ + vstr d7, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + add r0, r3 │ │ │ │ │ vmov.f64 d8, d3 │ │ │ │ │ + str r0, [sp, #344] @ 0x158 │ │ │ │ │ vldr d15, [r6, #744] @ 0x2e8 │ │ │ │ │ - vldr d3, [r6, #104] @ 0x68 │ │ │ │ │ vmla.f64 d8, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vmov.f64 d4, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - add r2, ip │ │ │ │ │ - adds r5, r2, r3 │ │ │ │ │ - str r2, [sp, #352] @ 0x160 │ │ │ │ │ - str r1, [sp, #348] @ 0x15c │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + add.w r0, lr, r3 │ │ │ │ │ + str r0, [sp, #352] @ 0x160 │ │ │ │ │ vnmls.f64 d4, d5, d6 │ │ │ │ │ vldr d5, [r0] │ │ │ │ │ + vstr d8, [sp, #424] @ 0x1a8 │ │ │ │ │ vldr d6, [r6, #736] @ 0x2e0 │ │ │ │ │ - adds r0, r1, r3 │ │ │ │ │ - vldr d2, [r5] │ │ │ │ │ vmul.f64 d10, d5, d15 │ │ │ │ │ vmul.f64 d15, d7, d15 │ │ │ │ │ + vstr d4, [sp, #432] @ 0x1b0 │ │ │ │ │ + vnmls.f64 d15, d5, d6 │ │ │ │ │ + ldr r0, [sp, #0] │ │ │ │ │ vmla.f64 d10, d7, d6 │ │ │ │ │ vldr d7, [r6, #96] @ 0x60 │ │ │ │ │ - str r0, [sp, #356] @ 0x164 │ │ │ │ │ - str r5, [sp, #360] @ 0x168 │ │ │ │ │ - vnmls.f64 d15, d5, d6 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - vstr d4, [sp, #416] @ 0x1a0 │ │ │ │ │ - vstr d8, [sp, #408] @ 0x198 │ │ │ │ │ - vadd.f64 d12, d8, d10 │ │ │ │ │ + vldr d3, [r6, #104] @ 0x68 │ │ │ │ │ + mov.w r5, r0, lsl #3 │ │ │ │ │ + vldr d1, [r6, #616] @ 0x268 │ │ │ │ │ + add.w r0, r8, r5 │ │ │ │ │ + add r5, sl │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ vadd.f64 d11, d4, d15 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - mov.w r2, #440 @ 0x1b8 │ │ │ │ │ + str r0, [sp, #0] │ │ │ │ │ + add r0, r3 │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ + vadd.f64 d12, d8, d10 │ │ │ │ │ + str r5, [sp, #360] @ 0x168 │ │ │ │ │ + str r0, [sp, #368] @ 0x170 │ │ │ │ │ + vldr d8, [r6, #872] @ 0x368 │ │ │ │ │ vmul.f64 d5, d4, d3 │ │ │ │ │ vmla.f64 d5, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ vldr d3, [r6, #608] @ 0x260 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - add r2, ip │ │ │ │ │ vnmls.f64 d6, d4, d7 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ + add.w r0, r5, r3 │ │ │ │ │ + vldr d2, [r0] │ │ │ │ │ + str r0, [sp, #372] @ 0x174 │ │ │ │ │ + mov.w r0, #440 @ 0x1b8 │ │ │ │ │ + mul.w r0, r0, r9 │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ + add.w r5, r8, r0 │ │ │ │ │ + add r0, sl │ │ │ │ │ + strd r5, r0, [sp, #376] @ 0x178 │ │ │ │ │ vmla.f64 d4, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ + vldr d3, [r0] │ │ │ │ │ + mov.w r0, #184 @ 0xb8 │ │ │ │ │ + mul.w r0, r0, r9 │ │ │ │ │ vadd.f64 d0, d5, d4 │ │ │ │ │ + add.w r4, r8, r0 │ │ │ │ │ + add r0, sl │ │ │ │ │ + vmul.f64 d1, d3, d8 │ │ │ │ │ + vldr d9, [r0] │ │ │ │ │ + strd r4, r0, [sp, #384] @ 0x180 │ │ │ │ │ + add.w r0, sp, #1576 @ 0x628 │ │ │ │ │ vadd.f64 d2, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vsub.f64 d7, d5, d4 │ │ │ │ │ - vstr d7, [sp, #424] @ 0x1a8 │ │ │ │ │ - vldr d3, [r2] │ │ │ │ │ - vldr d8, [r6, #872] @ 0x368 │ │ │ │ │ - str r2, [sp, #368] @ 0x170 │ │ │ │ │ - movs r2, #184 @ 0xb8 │ │ │ │ │ - vldr d4, [r6, #864] @ 0x360 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - vmul.f64 d1, d3, d8 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ vldr d5, [r6, #360] @ 0x168 │ │ │ │ │ - str r1, [sp, #364] @ 0x16c │ │ │ │ │ + vldr d4, [r6, #864] @ 0x360 │ │ │ │ │ + vstr d7, [sp, #440] @ 0x1b8 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ vmla.f64 d1, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ - add.w r5, ip, r2 │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ vldr d8, [r6, #352] @ 0x160 │ │ │ │ │ - add.w r2, sp, #1568 @ 0x620 │ │ │ │ │ - str r0, [sp, #372] @ 0x174 │ │ │ │ │ vnmls.f64 d7, d3, d4 │ │ │ │ │ - vldr d9, [r5] │ │ │ │ │ vldr d4, [r6, #360] @ 0x168 │ │ │ │ │ - vldr d3, [r0] │ │ │ │ │ - str r5, [sp, #432] @ 0x1b0 │ │ │ │ │ + vldr d3, [r4] │ │ │ │ │ vmul.f64 d4, d9, d4 │ │ │ │ │ vmla.f64 d4, d3, d8 │ │ │ │ │ vmul.f64 d3, d3, d5 │ │ │ │ │ vnmls.f64 d3, d9, d8 │ │ │ │ │ vadd.f64 d8, d1, d4 │ │ │ │ │ vsub.f64 d4, d1, d4 │ │ │ │ │ vadd.f64 d1, d14, d12 │ │ │ │ │ vsub.f64 d14, d14, d12 │ │ │ │ │ vadd.f64 d9, d7, d3 │ │ │ │ │ vsub.f64 d5, d7, d3 │ │ │ │ │ vadd.f64 d3, d0, d8 │ │ │ │ │ vsub.f64 d8, d8, d0 │ │ │ │ │ vadd.f64 d7, d1, d3 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ vsub.f64 d7, d1, d3 │ │ │ │ │ vsub.f64 d3, d13, d11 │ │ │ │ │ - add.w r2, sp, #1088 @ 0x440 │ │ │ │ │ + add.w r0, sp, #1096 @ 0x448 │ │ │ │ │ vadd.f64 d13, d13, d11 │ │ │ │ │ vadd.f64 d1, d4, d5 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - add.w r2, sp, #1576 @ 0x628 │ │ │ │ │ vsub.f64 d0, d3, d8 │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ + add.w r0, sp, #1584 @ 0x630 │ │ │ │ │ vsub.f64 d7, d4, d5 │ │ │ │ │ - vstr d0, [r2] │ │ │ │ │ + vstr d0, [r0] │ │ │ │ │ vadd.f64 d0, d3, d8 │ │ │ │ │ vadd.f64 d3, d2, d9 │ │ │ │ │ - add.w r2, sp, #1584 @ 0x630 │ │ │ │ │ - vldr d8, [sp, #392] @ 0x188 │ │ │ │ │ + add.w r0, sp, #1592 @ 0x638 │ │ │ │ │ vsub.f64 d2, d2, d9 │ │ │ │ │ - vstr d0, [r2] │ │ │ │ │ - add.w r2, sp, #1096 @ 0x448 │ │ │ │ │ vsub.f64 d11, d13, d3 │ │ │ │ │ - vldr d0, [sp, #416] @ 0x1a0 │ │ │ │ │ vadd.f64 d13, d13, d3 │ │ │ │ │ - vldr d3, [sp, #376] @ 0x178 │ │ │ │ │ - vsub.f64 d15, d0, d15 │ │ │ │ │ + vstr d0, [r0] │ │ │ │ │ + add.w r0, sp, #1104 @ 0x450 │ │ │ │ │ + vstr d11, [r0] │ │ │ │ │ + add.w r0, sp, #1112 @ 0x458 │ │ │ │ │ + vstr d13, [r0] │ │ │ │ │ + add.w r0, sp, #1120 @ 0x460 │ │ │ │ │ + vldr d3, [sp, #392] @ 0x188 │ │ │ │ │ + vldr d8, [sp, #408] @ 0x198 │ │ │ │ │ + vldr d0, [sp, #432] @ 0x1b0 │ │ │ │ │ + vldr d11, [sp, #440] @ 0x1b8 │ │ │ │ │ vsub.f64 d3, d3, d8 │ │ │ │ │ - vstr d11, [r2] │ │ │ │ │ - vldr d11, [sp, #424] @ 0x1a8 │ │ │ │ │ - add.w r2, sp, #1104 @ 0x450 │ │ │ │ │ - vldr d8, [pc, #-548] @ b20 │ │ │ │ │ - vstr d13, [r2] │ │ │ │ │ + vldr d8, [pc, #-560] @ ba0 │ │ │ │ │ + vsub.f64 d15, d0, d15 │ │ │ │ │ vsub.f64 d0, d3, d15 │ │ │ │ │ vadd.f64 d13, d3, d15 │ │ │ │ │ + vldr d15, [sp, #400] @ 0x190 │ │ │ │ │ vsub.f64 d3, d6, d11 │ │ │ │ │ - add.w r2, sp, #1112 @ 0x458 │ │ │ │ │ vadd.f64 d6, d6, d11 │ │ │ │ │ - vldr d15, [sp, #384] @ 0x180 │ │ │ │ │ - vstr d0, [r2] │ │ │ │ │ + vstr d0, [r0] │ │ │ │ │ + add.w r0, sp, #1128 @ 0x468 │ │ │ │ │ vsub.f64 d0, d3, d1 │ │ │ │ │ - add.w r2, sp, #1120 @ 0x460 │ │ │ │ │ vadd.f64 d3, d3, d1 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vmov.f64 d1, d8 │ │ │ │ │ + vstr d13, [r0] │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ + add.w r0, sp, #1136 @ 0x470 │ │ │ │ │ vmul.f64 d0, d0, d8 │ │ │ │ │ - vstr d13, [r2] │ │ │ │ │ - add.w r2, sp, #1128 @ 0x468 │ │ │ │ │ vmul.f64 d8, d3, d8 │ │ │ │ │ vmul.f64 d4, d5, d1 │ │ │ │ │ vmul.f64 d6, d7, d1 │ │ │ │ │ - vstr d0, [r2] │ │ │ │ │ - add.w r2, sp, #1136 @ 0x470 │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ - add.w r2, sp, #1144 @ 0x478 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - add.w r2, sp, #1152 @ 0x480 │ │ │ │ │ + vstr d0, [r0] │ │ │ │ │ + add.w r0, sp, #1144 @ 0x478 │ │ │ │ │ + vstr d8, [r0] │ │ │ │ │ + add.w r0, sp, #1152 @ 0x480 │ │ │ │ │ + vldr d8, [sp, #424] @ 0x1a8 │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ + add.w r0, sp, #1160 @ 0x488 │ │ │ │ │ vsub.f64 d4, d14, d2 │ │ │ │ │ vadd.f64 d2, d14, d2 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - add.w r2, sp, #1592 @ 0x638 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - add.w r2, sp, #1600 @ 0x640 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - add.w r2, sp, #1160 @ 0x488 │ │ │ │ │ - vldr d6, [sp, #400] @ 0x190 │ │ │ │ │ - vldr d8, [sp, #408] @ 0x198 │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ + add.w r0, sp, #1600 @ 0x640 │ │ │ │ │ + vldr d6, [sp, #416] @ 0x1a0 │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ + add.w r0, sp, #1608 @ 0x648 │ │ │ │ │ vldr d4, [r6, #8] │ │ │ │ │ + vstr d2, [r0] │ │ │ │ │ + add.w r0, sp, #1168 @ 0x490 │ │ │ │ │ vsub.f64 d7, d15, d6 │ │ │ │ │ vsub.f64 d6, d8, d10 │ │ │ │ │ - vldr d10, [r6, #776] @ 0x308 │ │ │ │ │ vadd.f64 d8, d7, d6 │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ + vstr d8, [r0] │ │ │ │ │ vsub.f64 d8, d7, d6 │ │ │ │ │ - add.w r2, sp, #1168 @ 0x490 │ │ │ │ │ + add.w r0, sp, #1176 @ 0x498 │ │ │ │ │ vldr d6, [r6] │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ - mov.w r2, lr, lsl #3 │ │ │ │ │ - add.w r4, ip, r2 │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ - adds r1, r4, r3 │ │ │ │ │ - adds r2, r0, r3 │ │ │ │ │ - str r2, [sp, #392] @ 0x188 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - str r1, [sp, #400] @ 0x190 │ │ │ │ │ + vstr d8, [r0] │ │ │ │ │ + ldr r0, [sp, #8] │ │ │ │ │ + add.w r5, r8, r0 │ │ │ │ │ + add r0, sl │ │ │ │ │ + mov r4, r0 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + mov r0, r5 │ │ │ │ │ + add r0, r3 │ │ │ │ │ + str r5, [sp, #8] │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + str r4, [sp, #392] @ 0x188 │ │ │ │ │ + str r0, [sp, #400] @ 0x190 │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ - str r0, [sp, #376] @ 0x178 │ │ │ │ │ - str r4, [sp, #384] @ 0x180 │ │ │ │ │ - movs r4, #40 @ 0x28 │ │ │ │ │ vmov.f64 d8, d3 │ │ │ │ │ - mul.w r4, r4, lr │ │ │ │ │ vmla.f64 d8, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vldr d4, [r6, #520] @ 0x208 │ │ │ │ │ - add.w r8, r7, r4 │ │ │ │ │ vmov.f64 d9, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - movs r2, #136 @ 0x88 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + mov r0, r4 │ │ │ │ │ + add r0, r3 │ │ │ │ │ + mov.w r4, #168 @ 0xa8 │ │ │ │ │ + str r0, [sp, #408] @ 0x198 │ │ │ │ │ + mul.w r4, r4, r9 │ │ │ │ │ vnmls.f64 d9, d5, d6 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + add.w r0, r8, r1 │ │ │ │ │ + add r1, sl │ │ │ │ │ + vstr d8, [sp, #480] @ 0x1e0 │ │ │ │ │ vldr d6, [r6, #512] @ 0x200 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ - vstr d8, [sp, #472] @ 0x1d8 │ │ │ │ │ + mov r5, r1 │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ - adds r5, r7, r2 │ │ │ │ │ - add r2, ip │ │ │ │ │ - adds r1, r5, r3 │ │ │ │ │ - str r5, [sp, #408] @ 0x198 │ │ │ │ │ - str r2, [sp, #416] @ 0x1a0 │ │ │ │ │ vmov.f64 d15, d3 │ │ │ │ │ - str r1, [sp, #424] @ 0x1a8 │ │ │ │ │ vmla.f64 d15, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [r6, #264] @ 0x108 │ │ │ │ │ - vstr d9, [sp, #480] @ 0x1e0 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ + vstr d15, [sp, #496] @ 0x1f0 │ │ │ │ │ + vadd.f64 d13, d8, d15 │ │ │ │ │ + vstr d9, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + mov r1, r0 │ │ │ │ │ + add r1, r3 │ │ │ │ │ + str r0, [sp, #416] @ 0x1a0 │ │ │ │ │ vldr d6, [r6, #256] @ 0x100 │ │ │ │ │ + vadd.f64 d14, d9, d7 │ │ │ │ │ + str r5, [sp, #424] @ 0x1a8 │ │ │ │ │ + vldr d4, [r6, #264] @ 0x108 │ │ │ │ │ + vstr d7, [sp, #504] @ 0x1f8 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + str r1, [sp, #432] @ 0x1b0 │ │ │ │ │ + ldr r0, [sp, #448] @ 0x1c0 │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ - vadd.f64 d13, d8, d15 │ │ │ │ │ - vstr d15, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d10, [r6, #776] @ 0x308 │ │ │ │ │ + vldr d1, [r6, #648] @ 0x288 │ │ │ │ │ vmov.f64 d2, d3 │ │ │ │ │ - vadd.f64 d14, d9, d7 │ │ │ │ │ - vstr d7, [sp, #496] @ 0x1f0 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - adds r5, r2, r3 │ │ │ │ │ - movs r2, #72 @ 0x48 │ │ │ │ │ - str r5, [sp, #436] @ 0x1b4 │ │ │ │ │ + vldr d3, [r6, #136] @ 0x88 │ │ │ │ │ vmla.f64 d2, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ - add.w r0, ip, r2 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ vldr d6, [r6, #768] @ 0x300 │ │ │ │ │ - vmul.f64 d15, d5, d10 │ │ │ │ │ + vstr d2, [sp, #512] @ 0x200 │ │ │ │ │ vmov.f64 d4, d7 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - vstr d2, [sp, #504] @ 0x1f8 │ │ │ │ │ - vldr d3, [r6, #136] @ 0x88 │ │ │ │ │ - adds r2, r1, r3 │ │ │ │ │ + mov r1, r5 │ │ │ │ │ + add r1, r3 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + str r1, [sp, #440] @ 0x1b8 │ │ │ │ │ + mov.w r1, r0, lsl #3 │ │ │ │ │ + vstr d4, [sp, #520] @ 0x208 │ │ │ │ │ + add.w r0, r8, r1 │ │ │ │ │ + add r1, sl │ │ │ │ │ + mov r5, r1 │ │ │ │ │ + vmul.f64 d15, d5, d10 │ │ │ │ │ vmul.f64 d10, d7, d10 │ │ │ │ │ - vmla.f64 d15, d7, d6 │ │ │ │ │ - vstr d4, [sp, #512] @ 0x200 │ │ │ │ │ - str r2, [sp, #448] @ 0x1c0 │ │ │ │ │ - vldr d1, [r6, #648] @ 0x288 │ │ │ │ │ + strd r0, r5, [sp, #448] @ 0x1c0 │ │ │ │ │ vnmls.f64 d10, d5, d6 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ + vmla.f64 d15, d7, d6 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + mov r1, r0 │ │ │ │ │ vldr d6, [r6, #128] @ 0x80 │ │ │ │ │ - str r1, [sp, #440] @ 0x1b8 │ │ │ │ │ - vldr d8, [r6, #904] @ 0x388 │ │ │ │ │ - vadd.f64 d0, d2, d15 │ │ │ │ │ - str r0, [sp, #444] @ 0x1bc │ │ │ │ │ - vldr d12, [r6, #392] @ 0x188 │ │ │ │ │ + add r1, r3 │ │ │ │ │ + str r1, [sp, #456] @ 0x1c8 │ │ │ │ │ vadd.f64 d7, d4, d10 │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ - vstr d7, [sp, #520] @ 0x208 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ + vadd.f64 d0, d2, d15 │ │ │ │ │ + vstr d7, [sp, #528] @ 0x210 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ vmla.f64 d4, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vldr d3, [r6, #640] @ 0x280 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - adds r2, r0, r3 │ │ │ │ │ - str r2, [sp, #452] @ 0x1c4 │ │ │ │ │ - vldr d2, [r2] │ │ │ │ │ - mov.w r2, #456 @ 0x1c8 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + mov r1, r5 │ │ │ │ │ + add r1, r3 │ │ │ │ │ + mov.w r5, #104 @ 0x68 │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ + mul.w r5, r5, r9 │ │ │ │ │ + str r1, [sp, #460] @ 0x1cc │ │ │ │ │ + mov.w r1, #456 @ 0x1c8 │ │ │ │ │ + mul.w r1, r1, r9 │ │ │ │ │ + add.w fp, r8, r5 │ │ │ │ │ + add r5, sl │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ + add.w r0, r8, r1 │ │ │ │ │ + add r1, sl │ │ │ │ │ + strd r0, r1, [sp, #464] @ 0x1d0 │ │ │ │ │ vmla.f64 d5, d6, d3 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ - add.w r5, ip, r2 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - movs r2, #200 @ 0xc8 │ │ │ │ │ - str r1, [sp, #456] @ 0x1c8 │ │ │ │ │ - str r5, [sp, #460] @ 0x1cc │ │ │ │ │ vnmls.f64 d6, d2, d3 │ │ │ │ │ - vldr d3, [r5] │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ - vmul.f64 d1, d3, d8 │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ vadd.f64 d11, d4, d5 │ │ │ │ │ - add r2, ip │ │ │ │ │ vsub.f64 d4, d4, d5 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - str r2, [sp, #468] @ 0x1d4 │ │ │ │ │ - add.w r1, r8, r3 │ │ │ │ │ - vldr d9, [r2] │ │ │ │ │ - add.w r2, sp, #1608 @ 0x648 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ + mov.w r1, #200 @ 0xc8 │ │ │ │ │ + mul.w r1, r1, r9 │ │ │ │ │ + vldr d12, [r6, #392] @ 0x188 │ │ │ │ │ vadd.f64 d2, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ + vldr d8, [r6, #904] @ 0x388 │ │ │ │ │ + add.w r0, r8, r1 │ │ │ │ │ + add r1, sl │ │ │ │ │ vldr d6, [r6, #896] @ 0x380 │ │ │ │ │ - str r0, [sp, #464] @ 0x1d0 │ │ │ │ │ + strd r0, r1, [sp, #472] @ 0x1d8 │ │ │ │ │ + vldr d9, [r1] │ │ │ │ │ + add.w r1, sp, #1616 @ 0x650 │ │ │ │ │ + vmul.f64 d1, d3, d8 │ │ │ │ │ vmla.f64 d1, d5, d6 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ vldr d8, [r6, #384] @ 0x180 │ │ │ │ │ vnmls.f64 d5, d3, d6 │ │ │ │ │ vldr d6, [r6, #392] @ 0x188 │ │ │ │ │ vldr d3, [r0] │ │ │ │ │ + add.w r0, r8, r2 │ │ │ │ │ + add r2, sl │ │ │ │ │ vmul.f64 d6, d9, d6 │ │ │ │ │ vmla.f64 d6, d3, d8 │ │ │ │ │ vmul.f64 d3, d3, d12 │ │ │ │ │ vnmls.f64 d3, d9, d8 │ │ │ │ │ vadd.f64 d8, d1, d6 │ │ │ │ │ vsub.f64 d6, d1, d6 │ │ │ │ │ vadd.f64 d1, d13, d0 │ │ │ │ │ vsub.f64 d13, d13, d0 │ │ │ │ │ - vldr d0, [pc, #984] @ 13a8 │ │ │ │ │ + vldr d0, [pc, #996] @ 1458 │ │ │ │ │ vadd.f64 d9, d5, d3 │ │ │ │ │ vsub.f64 d12, d5, d3 │ │ │ │ │ vadd.f64 d3, d11, d8 │ │ │ │ │ vsub.f64 d8, d8, d11 │ │ │ │ │ vadd.f64 d5, d1, d3 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ vsub.f64 d5, d1, d3 │ │ │ │ │ vsub.f64 d3, d2, d9 │ │ │ │ │ - add.w r2, sp, #1176 @ 0x498 │ │ │ │ │ + add.w r1, sp, #1184 @ 0x4a0 │ │ │ │ │ vadd.f64 d2, d2, d9 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - add.w r2, sp, #1616 @ 0x650 │ │ │ │ │ + vldr d9, [sp, #488] @ 0x1e8 │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ vsub.f64 d5, d13, d3 │ │ │ │ │ + add.w r1, sp, #1624 @ 0x658 │ │ │ │ │ vadd.f64 d13, d13, d3 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - add.w r2, sp, #1624 @ 0x658 │ │ │ │ │ - vldr d5, [sp, #520] @ 0x208 │ │ │ │ │ - vstr d13, [r2] │ │ │ │ │ - add.w r2, sp, #1184 @ 0x4a0 │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ + add.w r1, sp, #1632 @ 0x660 │ │ │ │ │ + vldr d5, [sp, #528] @ 0x210 │ │ │ │ │ + vstr d13, [r1] │ │ │ │ │ + add.w r1, sp, #1192 @ 0x4a8 │ │ │ │ │ vadd.f64 d3, d14, d5 │ │ │ │ │ vsub.f64 d13, d3, d2 │ │ │ │ │ vadd.f64 d2, d3, d2 │ │ │ │ │ - vstr d13, [r2] │ │ │ │ │ - add.w r2, sp, #1192 @ 0x4a8 │ │ │ │ │ - vldr d9, [sp, #480] @ 0x1e0 │ │ │ │ │ - vldr d3, [sp, #496] @ 0x1f0 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - add.w r2, sp, #1200 @ 0x4b0 │ │ │ │ │ - vldr d2, [sp, #504] @ 0x1f8 │ │ │ │ │ + vldr d3, [sp, #504] @ 0x1f8 │ │ │ │ │ + vstr d13, [r1] │ │ │ │ │ + add.w r1, sp, #1200 @ 0x4b0 │ │ │ │ │ vsub.f64 d3, d9, d3 │ │ │ │ │ - str r1, [sp, #480] @ 0x1e0 │ │ │ │ │ + vstr d2, [r1] │ │ │ │ │ + add.w r1, sp, #1208 @ 0x4b8 │ │ │ │ │ + vldr d2, [sp, #512] @ 0x200 │ │ │ │ │ vsub.f64 d15, d2, d15 │ │ │ │ │ vadd.f64 d2, d3, d15 │ │ │ │ │ vsub.f64 d9, d3, d15 │ │ │ │ │ + vldr d15, [sp, #496] @ 0x1f0 │ │ │ │ │ vsub.f64 d3, d6, d12 │ │ │ │ │ vadd.f64 d6, d6, d12 │ │ │ │ │ - vldr d15, [sp, #488] @ 0x1e8 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ + vstr d2, [r1] │ │ │ │ │ vadd.f64 d2, d4, d7 │ │ │ │ │ - add.w r2, sp, #1208 @ 0x4b8 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ + add.w r1, sp, #1216 @ 0x4c0 │ │ │ │ │ + vstr d9, [r1] │ │ │ │ │ + add.w r1, sp, #1224 @ 0x4c8 │ │ │ │ │ vsub.f64 d1, d3, d2 │ │ │ │ │ - vadd.f64 d3, d3, d2 │ │ │ │ │ - vstr d9, [r2] │ │ │ │ │ - add.w r2, sp, #1216 @ 0x4c0 │ │ │ │ │ - vmov.f64 d2, d0 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ + vadd.f64 d3, d3, d2 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #512] @ 0x200 │ │ │ │ │ + vldr d6, [sp, #520] @ 0x208 │ │ │ │ │ vmul.f64 d9, d1, d0 │ │ │ │ │ + vmul.f64 d4, d5, d0 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ vmul.f64 d0, d3, d0 │ │ │ │ │ - vldr d3, [r6, #72] @ 0x48 │ │ │ │ │ - vmul.f64 d4, d5, d2 │ │ │ │ │ vsub.f64 d6, d6, d10 │ │ │ │ │ - vmul.f64 d7, d7, d2 │ │ │ │ │ - vldr d1, [r6, #584] @ 0x248 │ │ │ │ │ - vstr d9, [r2] │ │ │ │ │ - add.w r2, sp, #1224 @ 0x4c8 │ │ │ │ │ - vstr d0, [r2] │ │ │ │ │ - add.w r2, sp, #1232 @ 0x4d0 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - add.w r2, sp, #1240 @ 0x4d8 │ │ │ │ │ - vldr d4, [r8] │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - add.w r2, sp, #1632 @ 0x660 │ │ │ │ │ - vldr d7, [sp, #520] @ 0x208 │ │ │ │ │ + vstr d9, [r1] │ │ │ │ │ + add.w r1, sp, #1232 @ 0x4d0 │ │ │ │ │ + vstr d0, [r1] │ │ │ │ │ + add.w r1, sp, #1240 @ 0x4d8 │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ + add.w r1, sp, #1248 @ 0x4e0 │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ + add.w r1, sp, #1640 @ 0x668 │ │ │ │ │ + vldr d7, [sp, #528] @ 0x210 │ │ │ │ │ vsub.f64 d14, d14, d7 │ │ │ │ │ vsub.f64 d12, d14, d8 │ │ │ │ │ vadd.f64 d14, d14, d8 │ │ │ │ │ - vldr d8, [sp, #472] @ 0x1d8 │ │ │ │ │ + vldr d8, [sp, #480] @ 0x1e0 │ │ │ │ │ vsub.f64 d7, d8, d15 │ │ │ │ │ - vstr d12, [r2] │ │ │ │ │ - add.w r2, sp, #1640 @ 0x668 │ │ │ │ │ + vstr d12, [r1] │ │ │ │ │ + add.w r1, sp, #1648 @ 0x670 │ │ │ │ │ + vstr d14, [r1] │ │ │ │ │ + add.w r1, sp, #1256 @ 0x4e8 │ │ │ │ │ vsub.f64 d8, d7, d6 │ │ │ │ │ - vstr d14, [r2] │ │ │ │ │ - add.w r2, sp, #1248 @ 0x4e0 │ │ │ │ │ vadd.f64 d6, d7, d6 │ │ │ │ │ - vldr d7, [r6, #64] @ 0x40 │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ - add.w r2, sp, #1256 @ 0x4e8 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - add.w r2, r4, ip │ │ │ │ │ - adds r5, r2, r3 │ │ │ │ │ - str r5, [sp, #488] @ 0x1e8 │ │ │ │ │ - str r2, [sp, #472] @ 0x1d8 │ │ │ │ │ + vstr d8, [r1] │ │ │ │ │ + add.w r1, sp, #1264 @ 0x4f0 │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ + add.w r1, r0, r3 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ - vldr d2, [r5] │ │ │ │ │ - movs r5, #104 @ 0x68 │ │ │ │ │ + str r0, [sp, #480] @ 0x1e0 │ │ │ │ │ + vldr d3, [r6, #72] @ 0x48 │ │ │ │ │ + str r1, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d7, [r6, #64] @ 0x40 │ │ │ │ │ + str r2, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d1, [r6, #584] @ 0x248 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ vmla.f64 d5, d4, d7 │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ vldr d3, [r6, #576] @ 0x240 │ │ │ │ │ - mul.w r5, r5, lr │ │ │ │ │ - add.w r9, r7, r5 │ │ │ │ │ - add r5, ip │ │ │ │ │ vnmls.f64 d4, d6, d7 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ + add.w r1, r2, r3 │ │ │ │ │ + add.w r2, r5, r3 │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ + str r1, [sp, #504] @ 0x1f8 │ │ │ │ │ + add.w r1, fp, r3 │ │ │ │ │ + str r1, [sp, #512] @ 0x200 │ │ │ │ │ + str r2, [sp, #520] @ 0x208 │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ - adds r2, r5, r3 │ │ │ │ │ - add.w r0, r9, r3 │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ + vldr d1, [r6, #712] @ 0x2c8 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ - vsub.f64 d15, d5, d6 │ │ │ │ │ - vadd.f64 d11, d5, d6 │ │ │ │ │ - vsub.f64 d8, d4, d7 │ │ │ │ │ - vadd.f64 d14, d4, d7 │ │ │ │ │ - vstr d15, [sp, #560] @ 0x230 │ │ │ │ │ - vldr d4, [r9] │ │ │ │ │ - vstr d8, [sp, #544] @ 0x220 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ vldr d3, [r6, #200] @ 0xc8 │ │ │ │ │ - vldr d7, [r6, #192] @ 0xc0 │ │ │ │ │ vldr d2, [r2] │ │ │ │ │ + vadd.f64 d11, d5, d6 │ │ │ │ │ + vsub.f64 d15, d5, d6 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + vadd.f64 d14, d4, d7 │ │ │ │ │ + vsub.f64 d8, d4, d7 │ │ │ │ │ + vldr d4, [fp] │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ - vldr d1, [r6, #712] @ 0x2c8 │ │ │ │ │ + vldr d7, [r6, #192] @ 0xc0 │ │ │ │ │ + vstr d8, [sp, #560] @ 0x230 │ │ │ │ │ + vstr d15, [sp, #576] @ 0x240 │ │ │ │ │ vmla.f64 d5, d4, d7 │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ vldr d3, [r6, #704] @ 0x2c0 │ │ │ │ │ - str r0, [sp, #496] @ 0x1f0 │ │ │ │ │ - str r2, [sp, #504] @ 0x1f8 │ │ │ │ │ vnmls.f64 d4, d6, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ - movs r0, #168 @ 0xa8 │ │ │ │ │ - vldr d8, [r6, #968] @ 0x3c8 │ │ │ │ │ + add.w r1, r8, r4 │ │ │ │ │ + add r4, sl │ │ │ │ │ + add.w r0, r1, r3 │ │ │ │ │ + str r1, [sp, #528] @ 0x210 │ │ │ │ │ + str r0, [sp, #536] @ 0x218 │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - mul.w r0, r0, lr │ │ │ │ │ - vldr d1, [r6, #840] @ 0x348 │ │ │ │ │ - adds r2, r7, r0 │ │ │ │ │ - add r0, ip │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ vldr d3, [r6, #328] @ 0x148 │ │ │ │ │ - adds r1, r2, r3 │ │ │ │ │ - str r1, [sp, #520] @ 0x208 │ │ │ │ │ - str r2, [sp, #512] @ 0x200 │ │ │ │ │ vadd.f64 d12, d5, d6 │ │ │ │ │ vsub.f64 d10, d5, d6 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ vadd.f64 d13, d4, d7 │ │ │ │ │ vsub.f64 d15, d4, d7 │ │ │ │ │ - vldr d7, [r6, #320] @ 0x140 │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - mov.w r2, #488 @ 0x1e8 │ │ │ │ │ + add.w r1, r4, r3 │ │ │ │ │ + vldr d7, [r6, #320] @ 0x140 │ │ │ │ │ vmla.f64 d5, d4, d7 │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ - vldr d3, [r6, #832] @ 0x340 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ - adds r4, r7, r2 │ │ │ │ │ - add r2, ip │ │ │ │ │ vnmls.f64 d4, d6, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - adds r1, r0, r3 │ │ │ │ │ - str r2, [sp, #536] @ 0x218 │ │ │ │ │ - str r1, [sp, #528] @ 0x210 │ │ │ │ │ - str r4, [sp, #532] @ 0x214 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + str r1, [sp, #540] @ 0x21c │ │ │ │ │ vldr d2, [r1] │ │ │ │ │ + mov.w r1, #488 @ 0x1e8 │ │ │ │ │ + vldr d3, [r6, #832] @ 0x340 │ │ │ │ │ + mul.w r1, r1, r9 │ │ │ │ │ + vldr d1, [r6, #840] @ 0x348 │ │ │ │ │ + add.w r0, sl, r1 │ │ │ │ │ + add.w r2, r8, r1 │ │ │ │ │ + vldr d8, [r6, #968] @ 0x3c8 │ │ │ │ │ + mov.w r1, #232 @ 0xe8 │ │ │ │ │ + strd r2, r0, [sp, #544] @ 0x220 │ │ │ │ │ + mul.w r1, r1, r9 │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ - vldr d3, [r2] │ │ │ │ │ - movs r2, #232 @ 0xe8 │ │ │ │ │ - vmul.f64 d2, d3, d8 │ │ │ │ │ + vldr d3, [r0] │ │ │ │ │ + add.w r0, r8, r1 │ │ │ │ │ + add r1, sl │ │ │ │ │ + vldr d9, [r1] │ │ │ │ │ + strd r0, r1, [sp, #552] @ 0x228 │ │ │ │ │ vadd.f64 d0, d5, d6 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ vldr d6, [r6, #960] @ 0x3c0 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - add r2, ip │ │ │ │ │ - str r1, [sp, #540] @ 0x21c │ │ │ │ │ + vmul.f64 d2, d3, d8 │ │ │ │ │ vadd.f64 d1, d4, d7 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - vldr d9, [r2] │ │ │ │ │ - str r2, [sp, #568] @ 0x238 │ │ │ │ │ - add.w r2, sp, #1648 @ 0x670 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + add.w r2, sp, #1656 @ 0x678 │ │ │ │ │ vmla.f64 d2, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ vldr d8, [r6, #448] @ 0x1c0 │ │ │ │ │ vnmls.f64 d7, d3, d6 │ │ │ │ │ vldr d6, [r6, #456] @ 0x1c8 │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ - vstr d8, [sp, #552] @ 0x228 │ │ │ │ │ + vstr d8, [sp, #568] @ 0x238 │ │ │ │ │ + vldr d3, [r0] │ │ │ │ │ + add.w r0, r8, ip │ │ │ │ │ + add ip, sl │ │ │ │ │ + add.w r1, r0, r3 │ │ │ │ │ vmul.f64 d6, d9, d6 │ │ │ │ │ vmla.f64 d6, d3, d8 │ │ │ │ │ vldr d8, [r6, #456] @ 0x1c8 │ │ │ │ │ vmul.f64 d3, d3, d8 │ │ │ │ │ - vldr d8, [sp, #552] @ 0x228 │ │ │ │ │ + vldr d8, [sp, #568] @ 0x238 │ │ │ │ │ vnmls.f64 d3, d9, d8 │ │ │ │ │ vadd.f64 d9, d2, d6 │ │ │ │ │ vsub.f64 d6, d2, d6 │ │ │ │ │ vadd.f64 d2, d12, d9 │ │ │ │ │ - vstr d6, [sp, #552] @ 0x228 │ │ │ │ │ vsub.f64 d9, d9, d12 │ │ │ │ │ + vstr d6, [sp, #568] @ 0x238 │ │ │ │ │ vadd.f64 d8, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ vadd.f64 d3, d11, d0 │ │ │ │ │ vsub.f64 d11, d11, d0 │ │ │ │ │ vadd.f64 d6, d3, d2 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ vsub.f64 d6, d2, d3 │ │ │ │ │ vsub.f64 d3, d14, d1 │ │ │ │ │ - add.w r2, sp, #1264 @ 0x4f0 │ │ │ │ │ + add.w r2, sp, #1272 @ 0x4f8 │ │ │ │ │ vadd.f64 d14, d14, d1 │ │ │ │ │ vadd.f64 d2, d10, d7 │ │ │ │ │ vsub.f64 d7, d7, d10 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - add.w r2, sp, #1272 @ 0x4f8 │ │ │ │ │ vadd.f64 d0, d11, d3 │ │ │ │ │ vsub.f64 d11, d3, d11 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ vadd.f64 d3, d13, d8 │ │ │ │ │ + add.w r2, sp, #1280 @ 0x500 │ │ │ │ │ vsub.f64 d8, d8, d13 │ │ │ │ │ vstr d0, [r2] │ │ │ │ │ - add.w r2, sp, #1280 @ 0x500 │ │ │ │ │ + add.w r2, sp, #1288 @ 0x508 │ │ │ │ │ vadd.f64 d6, d14, d3 │ │ │ │ │ - vldr d0, [pc, #168] @ 13b0 │ │ │ │ │ + vldr d0, [pc, #172] @ 1460 │ │ │ │ │ vsub.f64 d12, d9, d8 │ │ │ │ │ - vadd.f64 d8, d9, d8 │ │ │ │ │ vstr d11, [r2] │ │ │ │ │ vsub.f64 d11, d14, d3 │ │ │ │ │ - add.w r2, sp, #1288 @ 0x508 │ │ │ │ │ + add.w r2, sp, #1296 @ 0x510 │ │ │ │ │ + vldr d14, [sp, #560] @ 0x230 │ │ │ │ │ + vadd.f64 d8, d9, d8 │ │ │ │ │ vmul.f64 d1, d2, d0 │ │ │ │ │ - vldr d14, [sp, #544] @ 0x220 │ │ │ │ │ vstr d11, [r2] │ │ │ │ │ - add.w r2, sp, #1296 @ 0x510 │ │ │ │ │ - vldr d11, [pc, #136] @ 13b8 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ add.w r2, sp, #1304 @ 0x518 │ │ │ │ │ - vldr d6, [sp, #552] @ 0x228 │ │ │ │ │ + vldr d11, [pc, #140] @ 1468 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + add.w r2, sp, #1312 @ 0x520 │ │ │ │ │ + vldr d6, [sp, #568] @ 0x238 │ │ │ │ │ vsub.f64 d3, d6, d15 │ │ │ │ │ - vldr d6, [sp, #560] @ 0x230 │ │ │ │ │ + vldr d6, [sp, #576] @ 0x240 │ │ │ │ │ vnmls.f64 d1, d3, d11 │ │ │ │ │ vmul.f64 d3, d3, d0 │ │ │ │ │ vmla.f64 d3, d2, d11 │ │ │ │ │ vadd.f64 d2, d14, d5 │ │ │ │ │ vstr d1, [r2] │ │ │ │ │ - add.w r2, sp, #1312 @ 0x520 │ │ │ │ │ + add.w r2, sp, #1320 @ 0x528 │ │ │ │ │ vstr d3, [r2] │ │ │ │ │ vsub.f64 d3, d6, d4 │ │ │ │ │ - add.w r2, sp, #1320 @ 0x528 │ │ │ │ │ + add.w r2, sp, #1328 @ 0x530 │ │ │ │ │ vadd.f64 d4, d6, d4 │ │ │ │ │ - vldr d6, [sp, #552] @ 0x228 │ │ │ │ │ vmul.f64 d1, d3, d11 │ │ │ │ │ vmul.f64 d3, d3, d0 │ │ │ │ │ - vadd.f64 d6, d15, d6 │ │ │ │ │ - vmov.f64 d14, d1 │ │ │ │ │ vnmls.f64 d3, d2, d11 │ │ │ │ │ - vmla.f64 d14, d2, d0 │ │ │ │ │ + vmov.f64 d14, d1 │ │ │ │ │ vmov.f64 d1, d0 │ │ │ │ │ + vmla.f64 d14, d2, d0 │ │ │ │ │ vmov.f64 d0, d11 │ │ │ │ │ - vldr d11, [sp, #544] @ 0x220 │ │ │ │ │ - vsub.f64 d5, d11, d5 │ │ │ │ │ vstr d14, [r2] │ │ │ │ │ - add.w r2, sp, #1328 @ 0x530 │ │ │ │ │ + add.w r2, sp, #1336 @ 0x538 │ │ │ │ │ vstr d3, [r2] │ │ │ │ │ - b.n 13c0 │ │ │ │ │ + vmul.f64 d3, d4, d1 │ │ │ │ │ + vmul.f64 d4, d4, d0 │ │ │ │ │ + vldr d11, [sp, #560] @ 0x230 │ │ │ │ │ + add.w r2, sp, #1344 @ 0x540 │ │ │ │ │ + b.n 1470 │ │ │ │ │ nop │ │ │ │ │ + nop.w │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ - vmul.f64 d3, d4, d1 │ │ │ │ │ - vmul.f64 d4, d4, d0 │ │ │ │ │ - add.w r2, sp, #1336 @ 0x538 │ │ │ │ │ + str r0, [sp, #560] @ 0x230 │ │ │ │ │ + vldr d6, [sp, #568] @ 0x238 │ │ │ │ │ + str r1, [sp, #568] @ 0x238 │ │ │ │ │ + vsub.f64 d5, d11, d5 │ │ │ │ │ vmov.f64 d11, d3 │ │ │ │ │ vldr d3, [r6, #40] @ 0x28 │ │ │ │ │ + vadd.f64 d6, d15, d6 │ │ │ │ │ vmla.f64 d11, d5, d0 │ │ │ │ │ vnmls.f64 d4, d5, d1 │ │ │ │ │ vmul.f64 d5, d7, d0 │ │ │ │ │ vmov.f64 d15, d5 │ │ │ │ │ vstr d11, [r2] │ │ │ │ │ - add.w r2, sp, #1344 @ 0x540 │ │ │ │ │ + add.w r2, sp, #1352 @ 0x548 │ │ │ │ │ vnmls.f64 d15, d6, d1 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ - vmla.f64 d6, d7, d1 │ │ │ │ │ - vldr d7, [r6, #32] │ │ │ │ │ vstr d4, [r2] │ │ │ │ │ - add.w r2, sp, #1352 @ 0x548 │ │ │ │ │ - vstr d12, [r2] │ │ │ │ │ add.w r2, sp, #1360 @ 0x550 │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ + mov.w r0, #88 @ 0x58 │ │ │ │ │ + vstr d12, [r2] │ │ │ │ │ add.w r2, sp, #1368 @ 0x558 │ │ │ │ │ - vstr d15, [r2] │ │ │ │ │ + mul.w r0, r0, r9 │ │ │ │ │ + vmla.f64 d6, d7, d1 │ │ │ │ │ + vstr d8, [r2] │ │ │ │ │ add.w r2, sp, #1376 @ 0x560 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - movs r2, #24 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - add r2, ip │ │ │ │ │ - adds r4, r2, r3 │ │ │ │ │ - str r1, [sp, #544] @ 0x220 │ │ │ │ │ - str r2, [sp, #552] @ 0x228 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ + vldr d7, [r6, #32] │ │ │ │ │ + vldr d1, [r6, #552] @ 0x228 │ │ │ │ │ + vstr d15, [r2] │ │ │ │ │ add.w r2, sp, #1384 @ 0x568 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - add r1, r3 │ │ │ │ │ - str r1, [sp, #560] @ 0x230 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + add.w r2, ip, r3 │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + str r2, [sp, #576] @ 0x240 │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ + add.w r2, sp, #1392 @ 0x570 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ vmla.f64 d5, d4, d7 │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ + vldr d3, [r6, #544] @ 0x220 │ │ │ │ │ vnmls.f64 d4, d6, d7 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - str r4, [sp, #572] @ 0x23c │ │ │ │ │ - movs r1, #88 @ 0x58 │ │ │ │ │ - vldr d2, [r4] │ │ │ │ │ - vldr d1, [r6, #552] @ 0x228 │ │ │ │ │ - vldr d3, [r6, #544] @ 0x220 │ │ │ │ │ - mul.w r1, r1, lr │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ + add.w r1, r8, r0 │ │ │ │ │ + add r0, sl │ │ │ │ │ + str r1, [sp, #584] @ 0x248 │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [r6, #680] @ 0x2a8 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ vldr d3, [r6, #168] @ 0xa8 │ │ │ │ │ vadd.f64 d15, d5, d6 │ │ │ │ │ vsub.f64 d11, d5, d6 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + add r1, r3 │ │ │ │ │ + str r1, [sp, #588] @ 0x24c │ │ │ │ │ vsub.f64 d8, d4, d7 │ │ │ │ │ vstr d15, [r2] │ │ │ │ │ - add.w r2, sp, #1392 @ 0x570 │ │ │ │ │ vadd.f64 d15, d4, d7 │ │ │ │ │ + vmul.f64 d4, d5, d3 │ │ │ │ │ vldr d7, [r6, #160] @ 0xa0 │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ add.w r2, sp, #1400 @ 0x578 │ │ │ │ │ - vstr d11, [r2] │ │ │ │ │ - adds r2, r7, r1 │ │ │ │ │ - add r1, ip │ │ │ │ │ - str r2, [sp, #576] @ 0x240 │ │ │ │ │ - adds r4, r1, r3 │ │ │ │ │ - str r4, [sp, #584] @ 0x248 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - add r2, r3 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - vldr d2, [r4] │ │ │ │ │ - str r2, [sp, #580] @ 0x244 │ │ │ │ │ - vmul.f64 d4, d5, d3 │ │ │ │ │ + vstr d8, [r2] │ │ │ │ │ + add.w r2, sp, #1408 @ 0x580 │ │ │ │ │ vmla.f64 d4, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ + vstr d11, [r2] │ │ │ │ │ + add.w r2, r0, r3 │ │ │ │ │ vldr d3, [r6, #672] @ 0x2a0 │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ + str r2, [sp, #592] @ 0x250 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + mov.w r1, #152 @ 0x98 │ │ │ │ │ + vldr d1, [r6, #680] @ 0x2a8 │ │ │ │ │ + mul.w r1, r1, r9 │ │ │ │ │ + vldr d10, [r6, #424] @ 0x1a8 │ │ │ │ │ + add.w r2, r8, r1 │ │ │ │ │ + add r1, sl │ │ │ │ │ + str r2, [sp, #596] @ 0x254 │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ - movs r2, #152 @ 0x98 │ │ │ │ │ vmla.f64 d5, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ vldr d1, [r6, #808] @ 0x328 │ │ │ │ │ - adds r4, r7, r2 │ │ │ │ │ - add r2, ip │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ vldr d3, [r6, #296] @ 0x128 │ │ │ │ │ - str r4, [sp, #588] @ 0x24c │ │ │ │ │ vadd.f64 d8, d4, d5 │ │ │ │ │ vsub.f64 d13, d4, d5 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ vadd.f64 d12, d6, d7 │ │ │ │ │ vsub.f64 d14, d6, d7 │ │ │ │ │ - vldr d7, [r6, #288] @ 0x120 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ vmul.f64 d5, d4, d3 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - add r4, r3 │ │ │ │ │ - adds r3, r2, r3 │ │ │ │ │ - str r3, [sp, #596] @ 0x254 │ │ │ │ │ - str r4, [sp, #592] @ 0x250 │ │ │ │ │ - vmla.f64 d5, d6, d7 │ │ │ │ │ - vmul.f64 d6, d6, d3 │ │ │ │ │ + add r2, r3 │ │ │ │ │ + add r3, r1 │ │ │ │ │ + vldr d7, [r6, #288] @ 0x120 │ │ │ │ │ + strd r2, r3, [sp, #600] @ 0x258 │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ mov.w r3, #472 @ 0x1d8 │ │ │ │ │ + mul.w r3, r3, r9 │ │ │ │ │ + vmla.f64 d5, d6, d7 │ │ │ │ │ + vmul.f64 d6, d6, d3 │ │ │ │ │ vldr d3, [r6, #800] @ 0x320 │ │ │ │ │ vnmls.f64 d6, d4, d7 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ - mul.w r3, r3, lr │ │ │ │ │ + add.w r2, r8, r3 │ │ │ │ │ + add r3, sl │ │ │ │ │ + strd r2, r3, [sp, #608] @ 0x260 │ │ │ │ │ vmla.f64 d4, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - adds r4, r7, r3 │ │ │ │ │ - add r3, ip │ │ │ │ │ - str r4, [sp, #600] @ 0x258 │ │ │ │ │ - str r3, [sp, #604] @ 0x25c │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ + vldr d3, [r6, #936] @ 0x3a8 │ │ │ │ │ vadd.f64 d1, d5, d4 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ - movs r3, #216 @ 0xd8 │ │ │ │ │ + mov.w r3, #216 @ 0xd8 │ │ │ │ │ + mul.w r3, r3, r9 │ │ │ │ │ vadd.f64 d0, d6, d7 │ │ │ │ │ vsub.f64 d11, d6, d7 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - mul.w r3, r3, lr │ │ │ │ │ - vldr d7, [r6, #928] @ 0x3a0 │ │ │ │ │ - vldr d3, [r6, #936] @ 0x3a8 │ │ │ │ │ - adds r4, r7, r3 │ │ │ │ │ - str r4, [sp, #608] @ 0x260 │ │ │ │ │ - vldr d10, [r6, #424] @ 0x1a8 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ vmul.f64 d2, d4, d3 │ │ │ │ │ + add.w r2, r8, r3 │ │ │ │ │ + add r3, sl │ │ │ │ │ + vldr d7, [r6, #928] @ 0x3a0 │ │ │ │ │ + strd r2, r3, [sp, #616] @ 0x268 │ │ │ │ │ + vldr d9, [r3] │ │ │ │ │ + add.w r3, sp, #1392 @ 0x570 │ │ │ │ │ vmla.f64 d2, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ vldr d3, [r6, #416] @ 0x1a0 │ │ │ │ │ add.w r6, r6, #1008 @ 0x3f0 │ │ │ │ │ vnmls.f64 d6, d4, d7 │ │ │ │ │ - vldr d4, [r4] │ │ │ │ │ - add.w r4, r3, ip │ │ │ │ │ - add.w r3, sp, #1384 @ 0x568 │ │ │ │ │ - str r4, [sp, #612] @ 0x264 │ │ │ │ │ - vldr d9, [r4] │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ vmul.f64 d7, d9, d10 │ │ │ │ │ vmla.f64 d7, d4, d3 │ │ │ │ │ vmul.f64 d4, d4, d10 │ │ │ │ │ vldr d10, [r3] │ │ │ │ │ - add.w r3, sp, #1408 @ 0x580 │ │ │ │ │ + add.w r3, sp, #1416 @ 0x588 │ │ │ │ │ vnmls.f64 d4, d9, d3 │ │ │ │ │ vadd.f64 d3, d2, d7 │ │ │ │ │ vadd.f64 d9, d6, d4 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vsub.f64 d4, d2, d7 │ │ │ │ │ vadd.f64 d2, d8, d3 │ │ │ │ │ vadd.f64 d7, d10, d1 │ │ │ │ │ vsub.f64 d3, d3, d8 │ │ │ │ │ vadd.f64 d10, d7, d2 │ │ │ │ │ vsub.f64 d7, d2, d7 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d9, d12 │ │ │ │ │ - add.w r3, sp, #1416 @ 0x588 │ │ │ │ │ + add.w r3, sp, #1424 @ 0x590 │ │ │ │ │ vadd.f64 d12, d12, d9 │ │ │ │ │ - vldr d9, [pc, #-596] @ 13b0 │ │ │ │ │ + vldr d9, [pc, #-600] @ 1460 │ │ │ │ │ vadd.f64 d2, d3, d7 │ │ │ │ │ vsub.f64 d7, d3, d7 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ - add.w r3, sp, #1424 @ 0x590 │ │ │ │ │ + add.w r3, sp, #1432 @ 0x598 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vadd.f64 d7, d15, d0 │ │ │ │ │ - add.w r3, sp, #1432 @ 0x598 │ │ │ │ │ + add.w r3, sp, #1440 @ 0x5a0 │ │ │ │ │ vsub.f64 d15, d15, d0 │ │ │ │ │ vsub.f64 d8, d7, d12 │ │ │ │ │ vadd.f64 d7, d7, d12 │ │ │ │ │ - vldr d12, [pc, #-632] @ 13b8 │ │ │ │ │ + vldr d12, [pc, #-636] @ 1468 │ │ │ │ │ vstr d8, [r3] │ │ │ │ │ - add.w r3, sp, #1392 @ 0x570 │ │ │ │ │ - vldr d8, [r3] │ │ │ │ │ add.w r3, sp, #1400 @ 0x578 │ │ │ │ │ + vldr d8, [r3] │ │ │ │ │ + add.w r3, sp, #1408 @ 0x580 │ │ │ │ │ vadd.f64 d2, d8, d5 │ │ │ │ │ vldr d8, [r3] │ │ │ │ │ - add.w r3, sp, #1440 @ 0x5a0 │ │ │ │ │ + add.w r3, sp, #1448 @ 0x5a8 │ │ │ │ │ vsub.f64 d3, d8, d11 │ │ │ │ │ vmul.f64 d8, d3, d9 │ │ │ │ │ vmul.f64 d3, d3, d12 │ │ │ │ │ vnmls.f64 d8, d2, d12 │ │ │ │ │ vstr d8, [r3] │ │ │ │ │ vmov.f64 d8, d3 │ │ │ │ │ + add.w r3, sp, #1456 @ 0x5b0 │ │ │ │ │ + vadd.f64 d3, d13, d6 │ │ │ │ │ + vsub.f64 d6, d6, d13 │ │ │ │ │ vmla.f64 d8, d2, d9 │ │ │ │ │ vsub.f64 d2, d4, d14 │ │ │ │ │ - vadd.f64 d3, d13, d6 │ │ │ │ │ - add.w r3, sp, #1448 @ 0x5a8 │ │ │ │ │ vadd.f64 d14, d14, d4 │ │ │ │ │ - vsub.f64 d6, d6, d13 │ │ │ │ │ vmul.f64 d4, d14, d12 │ │ │ │ │ vstr d8, [r3] │ │ │ │ │ vmul.f64 d8, d2, d9 │ │ │ │ │ + add.w r3, sp, #1464 @ 0x5b8 │ │ │ │ │ vmla.f64 d8, d3, d12 │ │ │ │ │ vmul.f64 d3, d3, d9 │ │ │ │ │ - add.w r3, sp, #1456 @ 0x5b0 │ │ │ │ │ vstr d8, [r3] │ │ │ │ │ vmov.f64 d8, d9 │ │ │ │ │ vmov.f64 d9, d3 │ │ │ │ │ - add.w r3, sp, #1464 @ 0x5b8 │ │ │ │ │ + add.w r3, sp, #1472 @ 0x5c0 │ │ │ │ │ vmla.f64 d4, d6, d8 │ │ │ │ │ vmul.f64 d6, d6, d12 │ │ │ │ │ vnmls.f64 d9, d2, d12 │ │ │ │ │ vnmls.f64 d6, d14, d8 │ │ │ │ │ + vldr d14, [sp, #984] @ 0x3d8 │ │ │ │ │ vstr d9, [r3] │ │ │ │ │ - add.w r3, sp, #1472 @ 0x5c0 │ │ │ │ │ - vldr d9, [sp, #680] @ 0x2a8 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ add.w r3, sp, #1480 @ 0x5c8 │ │ │ │ │ + vldr d9, [sp, #688] @ 0x2b0 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + add.w r3, sp, #1488 @ 0x5d0 │ │ │ │ │ vmov.f64 d4, d12 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ - add.w r3, sp, #1384 @ 0x568 │ │ │ │ │ + add.w r3, sp, #1392 @ 0x570 │ │ │ │ │ vldr d0, [r3] │ │ │ │ │ vsub.f64 d1, d0, d1 │ │ │ │ │ vsub.f64 d0, d15, d1 │ │ │ │ │ vadd.f64 d12, d15, d1 │ │ │ │ │ vstr d0, [r3] │ │ │ │ │ - add.w r3, sp, #1488 @ 0x5d0 │ │ │ │ │ + add.w r3, sp, #1496 @ 0x5d8 │ │ │ │ │ vmov.f64 d0, d4 │ │ │ │ │ vstr d12, [r3] │ │ │ │ │ - add.w r3, sp, #1392 @ 0x570 │ │ │ │ │ - vldr d12, [sp, #744] @ 0x2e8 │ │ │ │ │ - vldr d15, [r3] │ │ │ │ │ add.w r3, sp, #1400 @ 0x578 │ │ │ │ │ + vldr d12, [sp, #752] @ 0x2f0 │ │ │ │ │ + vldr d15, [r3] │ │ │ │ │ + add.w r3, sp, #1408 @ 0x580 │ │ │ │ │ vsub.f64 d5, d15, d5 │ │ │ │ │ vldr d15, [r3] │ │ │ │ │ - add.w r3, sp, #1392 @ 0x570 │ │ │ │ │ + add.w r3, sp, #1400 @ 0x578 │ │ │ │ │ vadd.f64 d6, d15, d11 │ │ │ │ │ - vldr d11, [sp, #616] @ 0x268 │ │ │ │ │ + vldr d11, [sp, #624] @ 0x270 │ │ │ │ │ vmul.f64 d4, d6, d4 │ │ │ │ │ vmul.f64 d6, d6, d8 │ │ │ │ │ vmla.f64 d6, d5, d0 │ │ │ │ │ vmov.f64 d15, d4 │ │ │ │ │ vnmls.f64 d15, d5, d8 │ │ │ │ │ vadd.f64 d5, d11, d9 │ │ │ │ │ + vldr d9, [sp, #824] @ 0x338 │ │ │ │ │ vstr d15, [r3] │ │ │ │ │ - add.w r3, sp, #1400 @ 0x578 │ │ │ │ │ + add.w r3, sp, #1408 @ 0x580 │ │ │ │ │ + vldr d15, [sp, #672] @ 0x2a0 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ - add.w r3, sp, #1656 @ 0x678 │ │ │ │ │ - vldr d6, [sp, #808] @ 0x328 │ │ │ │ │ + add.w r3, sp, #1664 @ 0x680 │ │ │ │ │ + vldr d6, [sp, #816] @ 0x330 │ │ │ │ │ vadd.f64 d6, d12, d6 │ │ │ │ │ vsub.f64 d11, d5, d6 │ │ │ │ │ vadd.f64 d3, d5, d6 │ │ │ │ │ vstr d11, [r3] │ │ │ │ │ - add.w r3, sp, #1192 @ 0x4a8 │ │ │ │ │ - vldr d9, [sp, #816] @ 0x330 │ │ │ │ │ - vldr d15, [sp, #664] @ 0x298 │ │ │ │ │ + add.w r3, sp, #1200 @ 0x4b0 │ │ │ │ │ vldr d11, [r3] │ │ │ │ │ - add.w r3, sp, #1296 @ 0x510 │ │ │ │ │ - vldr d14, [sp, #976] @ 0x3d0 │ │ │ │ │ - ldr r4, [sp, #0] │ │ │ │ │ + add.w r3, sp, #1304 @ 0x518 │ │ │ │ │ vldr d12, [r3] │ │ │ │ │ - add.w r3, sp, #1104 @ 0x450 │ │ │ │ │ + add.w r3, sp, #1112 @ 0x458 │ │ │ │ │ vldr d13, [r3] │ │ │ │ │ + add.w r3, sp, #1672 @ 0x688 │ │ │ │ │ vadd.f64 d2, d11, d12 │ │ │ │ │ - add.w r3, sp, #1664 @ 0x680 │ │ │ │ │ - vldr d12, [sp, #872] @ 0x368 │ │ │ │ │ + vldr d12, [sp, #880] @ 0x370 │ │ │ │ │ vadd.f64 d6, d13, d7 │ │ │ │ │ - vldr d13, [sp, #752] @ 0x2f0 │ │ │ │ │ + vldr d13, [sp, #760] @ 0x2f8 │ │ │ │ │ vsub.f64 d1, d2, d6 │ │ │ │ │ vadd.f64 d2, d2, d6 │ │ │ │ │ vadd.f64 d6, d13, d9 │ │ │ │ │ - vldr d9, [sp, #704] @ 0x2c0 │ │ │ │ │ + vldr d9, [sp, #712] @ 0x2c8 │ │ │ │ │ vadd.f64 d4, d15, d9 │ │ │ │ │ vadd.f64 d5, d6, d4 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ - vldr d6, [sp, #880] @ 0x370 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ + vldr d6, [sp, #888] @ 0x378 │ │ │ │ │ vadd.f64 d15, d12, d6 │ │ │ │ │ - add.w r3, sp, #1608 @ 0x648 │ │ │ │ │ - vldr d12, [sp, #968] @ 0x3c8 │ │ │ │ │ + vldr d12, [sp, #976] @ 0x3d0 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + add.w r3, sp, #1616 @ 0x650 │ │ │ │ │ vadd.f64 d4, d12, d14 │ │ │ │ │ vldr d12, [r3] │ │ │ │ │ - add.w r3, sp, #1648 @ 0x670 │ │ │ │ │ + add.w r3, sp, #1656 @ 0x678 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ - add.w r3, sp, #1568 @ 0x620 │ │ │ │ │ + add.w r3, sp, #1576 @ 0x628 │ │ │ │ │ + vldr d11, [r3] │ │ │ │ │ + add.w r3, sp, #1200 @ 0x4b0 │ │ │ │ │ vadd.f64 d8, d15, d4 │ │ │ │ │ vsub.f64 d15, d4, d15 │ │ │ │ │ - vldr d11, [r3] │ │ │ │ │ - add.w r3, sp, #1192 @ 0x4a8 │ │ │ │ │ vadd.f64 d6, d12, d14 │ │ │ │ │ vsub.f64 d12, d12, d14 │ │ │ │ │ - vadd.f64 d4, d11, d10 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ - add.w r3, sp, #1296 @ 0x510 │ │ │ │ │ + add.w r3, sp, #1304 @ 0x518 │ │ │ │ │ + vadd.f64 d4, d11, d10 │ │ │ │ │ vsub.f64 d10, d11, d10 │ │ │ │ │ vadd.f64 d0, d6, d4 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - add.w r3, sp, #1104 @ 0x450 │ │ │ │ │ + add.w r3, sp, #1112 @ 0x458 │ │ │ │ │ + ldr r2, [sp, #16] │ │ │ │ │ vldr d13, [r3] │ │ │ │ │ vsub.f64 d9, d14, d6 │ │ │ │ │ - vldr d6, [sp, #896] @ 0x380 │ │ │ │ │ - ldr r3, [sp, #16] │ │ │ │ │ + ldr r3, [sp, #32] │ │ │ │ │ + vldr d6, [sp, #904] @ 0x388 │ │ │ │ │ vsub.f64 d7, d13, d7 │ │ │ │ │ vadd.f64 d14, d12, d9 │ │ │ │ │ vsub.f64 d12, d9, d12 │ │ │ │ │ vadd.f64 d11, d10, d7 │ │ │ │ │ vsub.f64 d13, d10, d7 │ │ │ │ │ - vldr d7, [sp, #888] @ 0x378 │ │ │ │ │ - vldr d10, [sp, #1000] @ 0x3e8 │ │ │ │ │ + vldr d7, [sp, #896] @ 0x380 │ │ │ │ │ + vldr d10, [sp, #1008] @ 0x3f0 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #992] @ 0x3e0 │ │ │ │ │ + vldr d6, [sp, #1000] @ 0x3e8 │ │ │ │ │ vadd.f64 d9, d6, d10 │ │ │ │ │ vsub.f64 d6, d7, d9 │ │ │ │ │ vadd.f64 d7, d7, d9 │ │ │ │ │ vadd.f64 d9, d3, d8 │ │ │ │ │ vsub.f64 d3, d3, d8 │ │ │ │ │ vsub.f64 d10, d9, d0 │ │ │ │ │ vadd.f64 d0, d0, d9 │ │ │ │ │ - vstr d10, [r4] │ │ │ │ │ - vstr d0, [r7] │ │ │ │ │ + vstr d10, [r2] │ │ │ │ │ + vstr d0, [r8] │ │ │ │ │ vadd.f64 d0, d5, d7 │ │ │ │ │ - ldr r4, [sp, #8] │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ + ldr r2, [sp, #24] │ │ │ │ │ vadd.f64 d9, d2, d0 │ │ │ │ │ vsub.f64 d0, d0, d2 │ │ │ │ │ vsub.f64 d2, d3, d1 │ │ │ │ │ vadd.f64 d1, d1, d3 │ │ │ │ │ + vldr d3, [pc, #968] @ 1cf8 │ │ │ │ │ vadd.f64 d7, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ - vldr d3, [pc, #960] @ 1c48 │ │ │ │ │ - vstr d9, [ip] │ │ │ │ │ - vstr d0, [r4] │ │ │ │ │ - ldr r4, [sp, #32] │ │ │ │ │ - vldr d0, [pc, #956] @ 1c50 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ + vstr d9, [sl] │ │ │ │ │ + vstr d0, [r2] │ │ │ │ │ + ldr r2, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d0, [pc, #952] @ 1d00 │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ vstr d1, [r3] │ │ │ │ │ - ldr r3, [sp, #24] │ │ │ │ │ - ldr r4, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d2, [pc, #948] @ 1c58 │ │ │ │ │ + ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ + ldr r2, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d2, [pc, #944] @ 1d08 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - add.w r3, sp, #1656 @ 0x678 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ + add.w r3, sp, #1664 @ 0x680 │ │ │ │ │ + vldr d1, [r3] │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ vadd.f64 d5, d14, d13 │ │ │ │ │ - ldr r4, [sp, #52] @ 0x34 │ │ │ │ │ vsub.f64 d13, d13, d14 │ │ │ │ │ - vldr d1, [r3] │ │ │ │ │ - ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ - vmul.f64 d5, d5, d3 │ │ │ │ │ + ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ + ldr r2, [sp, #72] @ 0x48 │ │ │ │ │ vadd.f64 d7, d1, d6 │ │ │ │ │ vsub.f64 d6, d1, d6 │ │ │ │ │ + vmul.f64 d5, d5, d3 │ │ │ │ │ vmul.f64 d13, d13, d3 │ │ │ │ │ vmov.f64 d1, d3 │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vadd.f64 d5, d12, d11 │ │ │ │ │ vsub.f64 d12, d12, d11 │ │ │ │ │ - vldr d11, [sp, #752] @ 0x2f0 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - add.w r3, sp, #1664 @ 0x680 │ │ │ │ │ + add.w r3, sp, #1672 @ 0x688 │ │ │ │ │ vmul.f64 d5, d5, d3 │ │ │ │ │ vmul.f64 d12, d12, d3 │ │ │ │ │ - ldr r4, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r2, [sp, #76] @ 0x4c │ │ │ │ │ vldr d10, [r3] │ │ │ │ │ - ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r3, [sp, #68] @ 0x44 │ │ │ │ │ vadd.f64 d7, d10, d15 │ │ │ │ │ vadd.f64 d4, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ - add.w r3, sp, #1088 @ 0x440 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + add.w r3, sp, #1096 @ 0x448 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d6, d12 │ │ │ │ │ - ldr r4, [sp, #60] @ 0x3c │ │ │ │ │ vadd.f64 d6, d6, d12 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + ldr r2, [sp, #80] @ 0x50 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d10, d15 │ │ │ │ │ - ldr r4, [sp, #68] @ 0x44 │ │ │ │ │ - vldr d10, [sp, #680] @ 0x2a8 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ + ldr r2, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d15, [sp, #672] @ 0x2a0 │ │ │ │ │ + vldr d11, [sp, #760] @ 0x2f8 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ vadd.f64 d6, d13, d7 │ │ │ │ │ - ldr r4, [sp, #72] @ 0x48 │ │ │ │ │ vsub.f64 d7, d7, d13 │ │ │ │ │ - vldr d13, [sp, #816] @ 0x330 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ + ldr r2, [sp, #92] @ 0x5c │ │ │ │ │ + vldr d10, [sp, #688] @ 0x2b0 │ │ │ │ │ + vldr d13, [sp, #824] @ 0x338 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + ldr r2, [sp, #84] @ 0x54 │ │ │ │ │ + vldr d9, [sp, #712] @ 0x2c8 │ │ │ │ │ vsub.f64 d12, d11, d13 │ │ │ │ │ - ldr r4, [sp, #64] @ 0x40 │ │ │ │ │ vldr d11, [r3] │ │ │ │ │ - add.w r3, sp, #1432 @ 0x598 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ - vldr d7, [sp, #616] @ 0x268 │ │ │ │ │ + add.w r3, sp, #1440 @ 0x5a0 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + vldr d7, [sp, #624] @ 0x270 │ │ │ │ │ vsub.f64 d6, d7, d10 │ │ │ │ │ vldr d10, [r3] │ │ │ │ │ - add.w r3, sp, #1096 @ 0x448 │ │ │ │ │ + add.w r3, sp, #1104 @ 0x450 │ │ │ │ │ vldr d13, [r3] │ │ │ │ │ - add.w r3, sp, #1408 @ 0x580 │ │ │ │ │ + add.w r3, sp, #1416 @ 0x588 │ │ │ │ │ vsub.f64 d8, d6, d12 │ │ │ │ │ vadd.f64 d12, d6, d12 │ │ │ │ │ vadd.f64 d6, d11, d10 │ │ │ │ │ vldr d11, [r3] │ │ │ │ │ - add.w r3, sp, #1504 @ 0x5e0 │ │ │ │ │ + add.w r3, sp, #1512 @ 0x5e8 │ │ │ │ │ vadd.f64 d7, d13, d11 │ │ │ │ │ + vldr d11, [sp, #816] @ 0x330 │ │ │ │ │ vmul.f64 d5, d7, d0 │ │ │ │ │ vmov.f64 d10, d5 │ │ │ │ │ vnmls.f64 d10, d6, d2 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ vmov.f64 d13, d6 │ │ │ │ │ vmla.f64 d13, d7, d2 │ │ │ │ │ - vstr d10, [sp] │ │ │ │ │ - vstr d13, [sp, #8] │ │ │ │ │ - vldr d11, [sp, #808] @ 0x328 │ │ │ │ │ - vldr d7, [sp, #744] @ 0x2e8 │ │ │ │ │ - vldr d15, [sp, #664] @ 0x298 │ │ │ │ │ - vldr d9, [sp, #704] @ 0x2c0 │ │ │ │ │ - vsub.f64 d6, d11, d7 │ │ │ │ │ + vldr d7, [sp, #752] @ 0x2f0 │ │ │ │ │ + vstr d10, [sp, #16] │ │ │ │ │ vldr d10, [r3] │ │ │ │ │ - add.w r3, sp, #1496 @ 0x5d8 │ │ │ │ │ - ldr r4, [sp, #132] @ 0x84 │ │ │ │ │ + add.w r3, sp, #1504 @ 0x5e0 │ │ │ │ │ + vsub.f64 d6, d11, d7 │ │ │ │ │ vsub.f64 d7, d15, d9 │ │ │ │ │ - vldr d9, [sp, #984] @ 0x3d8 │ │ │ │ │ vldr d15, [r3] │ │ │ │ │ - add.w r3, sp, #1184 @ 0x4a0 │ │ │ │ │ + add.w r3, sp, #1192 @ 0x4a8 │ │ │ │ │ + vldr d9, [sp, #992] @ 0x3e0 │ │ │ │ │ + vstr d13, [sp, #24] │ │ │ │ │ vadd.f64 d11, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #1008] @ 0x3f0 │ │ │ │ │ + vldr d6, [sp, #1016] @ 0x3f8 │ │ │ │ │ vsub.f64 d4, d10, d15 │ │ │ │ │ vadd.f64 d6, d9, d6 │ │ │ │ │ vmov.f64 d9, d0 │ │ │ │ │ + vmov.f64 d0, d2 │ │ │ │ │ vsub.f64 d5, d4, d6 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - add.w r3, sp, #1264 @ 0x4f0 │ │ │ │ │ + add.w r3, sp, #1272 @ 0x4f8 │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ vmul.f64 d5, d5, d3 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ - add.w r3, sp, #1176 @ 0x498 │ │ │ │ │ + add.w r3, sp, #1184 @ 0x4a0 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ - add.w r3, sp, #1288 @ 0x508 │ │ │ │ │ + add.w r3, sp, #1296 @ 0x510 │ │ │ │ │ vldr d13, [r3] │ │ │ │ │ - add.w r3, sp, #1184 @ 0x4a0 │ │ │ │ │ + add.w r3, sp, #1192 @ 0x4a8 │ │ │ │ │ vsub.f64 d13, d3, d13 │ │ │ │ │ vadd.f64 d3, d15, d10 │ │ │ │ │ - vldr d15, [sp, #984] @ 0x3d8 │ │ │ │ │ - vmul.f64 d14, d13, d0 │ │ │ │ │ + vldr d15, [sp, #992] @ 0x3e0 │ │ │ │ │ + vmul.f64 d14, d13, d9 │ │ │ │ │ vmul.f64 d13, d13, d2 │ │ │ │ │ vmla.f64 d14, d6, d2 │ │ │ │ │ - vmov.f64 d0, d2 │ │ │ │ │ vnmls.f64 d13, d6, d9 │ │ │ │ │ - vldr d6, [sp, #1008] @ 0x3f0 │ │ │ │ │ + vldr d6, [sp, #1016] @ 0x3f8 │ │ │ │ │ vsub.f64 d2, d15, d6 │ │ │ │ │ vldr d15, [r3] │ │ │ │ │ - add.w r3, sp, #1264 @ 0x4f0 │ │ │ │ │ + add.w r3, sp, #1272 @ 0x4f8 │ │ │ │ │ vldr d10, [r3] │ │ │ │ │ - add.w r3, sp, #1176 @ 0x498 │ │ │ │ │ + add.w r3, sp, #1184 @ 0x4a0 │ │ │ │ │ vadd.f64 d6, d3, d2 │ │ │ │ │ vsub.f64 d2, d2, d3 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ - add.w r3, sp, #1288 @ 0x508 │ │ │ │ │ + add.w r3, sp, #1296 @ 0x510 │ │ │ │ │ + ldr r2, [sp, #152] @ 0x98 │ │ │ │ │ vmul.f64 d2, d2, d1 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ vadd.f64 d1, d15, d10 │ │ │ │ │ vldr d10, [r3] │ │ │ │ │ - add.w r3, sp, #1088 @ 0x440 │ │ │ │ │ + add.w r3, sp, #1096 @ 0x448 │ │ │ │ │ vadd.f64 d15, d3, d10 │ │ │ │ │ vmov.f64 d3, d0 │ │ │ │ │ vmov.f64 d10, d9 │ │ │ │ │ vmul.f64 d0, d15, d0 │ │ │ │ │ vmul.f64 d15, d15, d9 │ │ │ │ │ vmla.f64 d0, d1, d9 │ │ │ │ │ vnmls.f64 d15, d1, d3 │ │ │ │ │ - vstr d0, [sp, #16] │ │ │ │ │ + vstr d0, [sp, #32] │ │ │ │ │ vldr d0, [r3] │ │ │ │ │ - add.w r3, sp, #1432 @ 0x598 │ │ │ │ │ + add.w r3, sp, #1440 @ 0x5a0 │ │ │ │ │ vldr d1, [r3] │ │ │ │ │ - add.w r3, sp, #1096 @ 0x448 │ │ │ │ │ + add.w r3, sp, #1104 @ 0x450 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ - add.w r3, sp, #1408 @ 0x580 │ │ │ │ │ + add.w r3, sp, #1416 @ 0x588 │ │ │ │ │ vsub.f64 d1, d0, d1 │ │ │ │ │ vldr d0, [r3] │ │ │ │ │ - ldr r3, [sp, #124] @ 0x7c │ │ │ │ │ + ldr r3, [sp, #144] @ 0x90 │ │ │ │ │ vsub.f64 d0, d9, d0 │ │ │ │ │ vmov.f64 d9, d3 │ │ │ │ │ vmul.f64 d3, d0, d3 │ │ │ │ │ vnmls.f64 d3, d1, d10 │ │ │ │ │ vmul.f64 d1, d1, d9 │ │ │ │ │ vmla.f64 d1, d0, d10 │ │ │ │ │ vadd.f64 d0, d8, d5 │ │ │ │ │ vsub.f64 d5, d8, d5 │ │ │ │ │ vadd.f64 d9, d14, d3 │ │ │ │ │ vsub.f64 d3, d3, d14 │ │ │ │ │ vsub.f64 d10, d0, d9 │ │ │ │ │ vadd.f64 d0, d0, d9 │ │ │ │ │ vadd.f64 d9, d13, d1 │ │ │ │ │ vsub.f64 d13, d13, d1 │ │ │ │ │ - vstr d10, [r4] │ │ │ │ │ + vstr d10, [r2] │ │ │ │ │ vstr d0, [r3] │ │ │ │ │ vadd.f64 d0, d7, d2 │ │ │ │ │ - ldr r3, [sp, #128] @ 0x80 │ │ │ │ │ vsub.f64 d1, d5, d13 │ │ │ │ │ - ldr r4, [sp, #136] @ 0x88 │ │ │ │ │ + ldr r3, [sp, #148] @ 0x94 │ │ │ │ │ vadd.f64 d5, d5, d13 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ + vldr d13, [sp, #24] │ │ │ │ │ + ldr r2, [sp, #156] @ 0x9c │ │ │ │ │ vadd.f64 d10, d9, d0 │ │ │ │ │ vsub.f64 d0, d0, d9 │ │ │ │ │ + vldr d2, [sp, #32] │ │ │ │ │ vstr d10, [r3] │ │ │ │ │ - vstr d0, [r4] │ │ │ │ │ - ldr r4, [sp, #108] @ 0x6c │ │ │ │ │ - vstr d1, [r4] │ │ │ │ │ - ldr r4, [sp, #116] @ 0x74 │ │ │ │ │ - vldr d0, [sp] │ │ │ │ │ - vldr d2, [sp, #16] │ │ │ │ │ - ldr r3, [sp, #76] @ 0x4c │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ + vstr d0, [r2] │ │ │ │ │ + vldr d0, [sp, #16] │ │ │ │ │ + ldr r2, [sp, #128] @ 0x80 │ │ │ │ │ + ldr r3, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d1, [r2] │ │ │ │ │ + ldr r2, [sp, #136] @ 0x88 │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ vadd.f64 d5, d3, d7 │ │ │ │ │ - ldr r4, [sp, #120] @ 0x78 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vldr d13, [sp, #8] │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ + ldr r2, [sp, #140] @ 0x8c │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ vadd.f64 d5, d0, d2 │ │ │ │ │ - ldr r4, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + ldr r2, [sp, #132] @ 0x84 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vadd.f64 d7, d12, d6 │ │ │ │ │ - ldr r4, [sp, #84] @ 0x54 │ │ │ │ │ vsub.f64 d6, d12, d6 │ │ │ │ │ + ldr r2, [sp, #104] @ 0x68 │ │ │ │ │ vsub.f64 d3, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vadd.f64 d5, d13, d15 │ │ │ │ │ vsub.f64 d15, d15, d13 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vadd.f64 d7, d11, d4 │ │ │ │ │ - ldr r3, [sp, #80] @ 0x50 │ │ │ │ │ vsub.f64 d11, d11, d4 │ │ │ │ │ - ldr r4, [sp, #88] @ 0x58 │ │ │ │ │ + ldr r3, [sp, #100] @ 0x64 │ │ │ │ │ vadd.f64 d3, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [pc, #188] @ 1c50 │ │ │ │ │ + vldr d5, [pc, #188] @ 1d00 │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ vmov.f64 d3, d5 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + ldrd r2, r3, [sp, #108] @ 0x6c │ │ │ │ │ + vldr d9, [sp, #808] @ 0x328 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d6, d15 │ │ │ │ │ - ldr r4, [sp, #100] @ 0x64 │ │ │ │ │ vadd.f64 d6, d6, d15 │ │ │ │ │ - ldr r3, [sp, #92] @ 0x5c │ │ │ │ │ - vldr d15, [sp, #696] @ 0x2b8 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + ldr r2, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d15, [sp, #704] @ 0x2c0 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d0, d2 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ - ldr r4, [sp, #104] @ 0x68 │ │ │ │ │ - ldr r3, [sp, #96] @ 0x60 │ │ │ │ │ + ldr r3, [sp, #116] @ 0x74 │ │ │ │ │ + ldr r2, [sp, #124] @ 0x7c │ │ │ │ │ vadd.f64 d6, d7, d11 │ │ │ │ │ vsub.f64 d11, d11, d7 │ │ │ │ │ - vldr d7, [sp, #792] @ 0x318 │ │ │ │ │ - vldr d2, [pc, #120] @ 1c48 │ │ │ │ │ - vldr d0, [sp, #624] @ 0x270 │ │ │ │ │ + vldr d0, [sp, #632] @ 0x278 │ │ │ │ │ + vldr d7, [sp, #800] @ 0x320 │ │ │ │ │ + vldr d2, [pc, #108] @ 1cf8 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ - add.w r3, sp, #1512 @ 0x5e8 │ │ │ │ │ - vstr d11, [r4] │ │ │ │ │ - vldr d11, [sp, #856] @ 0x358 │ │ │ │ │ vsub.f64 d12, d0, d15 │ │ │ │ │ + add.w r3, sp, #1520 @ 0x5f0 │ │ │ │ │ + vstr d11, [r2] │ │ │ │ │ + vldr d11, [sp, #864] @ 0x360 │ │ │ │ │ vldr d0, [r3] │ │ │ │ │ - add.w r3, sp, #1528 @ 0x5f8 │ │ │ │ │ - vsub.f64 d7, d7, d11 │ │ │ │ │ + add.w r3, sp, #1536 @ 0x600 │ │ │ │ │ vldr d8, [r3] │ │ │ │ │ - add.w r3, sp, #1544 @ 0x608 │ │ │ │ │ + add.w r3, sp, #1552 @ 0x610 │ │ │ │ │ + vsub.f64 d7, d7, d11 │ │ │ │ │ + vldr d14, [r3] │ │ │ │ │ + add.w r3, sp, #1072 @ 0x430 │ │ │ │ │ + vldr d10, [r3] │ │ │ │ │ + vldr d15, [sp, #872] @ 0x368 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ vsub.f64 d4, d12, d7 │ │ │ │ │ vadd.f64 d12, d12, d7 │ │ │ │ │ - vstr d4, [sp] │ │ │ │ │ - vldr d4, [pc, #72] @ 1c58 │ │ │ │ │ - vldr d14, [r3] │ │ │ │ │ - add.w r3, sp, #1064 @ 0x428 │ │ │ │ │ - vldr d15, [sp, #864] @ 0x360 │ │ │ │ │ + vstr d4, [sp, #16] │ │ │ │ │ + vldr d4, [pc, #48] @ 1d08 │ │ │ │ │ vmul.f64 d6, d0, d4 │ │ │ │ │ - vldr d9, [sp, #800] @ 0x320 │ │ │ │ │ - vldr d10, [r3] │ │ │ │ │ vmul.f64 d7, d14, d4 │ │ │ │ │ - ldr r4, [sp, #240] @ 0xf0 │ │ │ │ │ vnmls.f64 d6, d8, d5 │ │ │ │ │ vmla.f64 d7, d10, d5 │ │ │ │ │ - vldr d10, [sp, #688] @ 0x2b0 │ │ │ │ │ + vldr d10, [sp, #696] @ 0x2b8 │ │ │ │ │ vmul.f64 d5, d0, d5 │ │ │ │ │ - b.n 1c98 │ │ │ │ │ + b.n 1d48 │ │ │ │ │ nop │ │ │ │ │ nop.w │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ - .word 0x667f3bcd │ │ │ │ │ - .word 0x3fe6a09e │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ + .word 0x667f3bcd │ │ │ │ │ + .word 0x3fe6a09e │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ .word 0xcff75cb0 │ │ │ │ │ .word 0x3fef6297 │ │ │ │ │ .word 0x3c69a60b │ │ │ │ │ .word 0x3fc8f8b8 │ │ │ │ │ .word 0x39ae68c8 │ │ │ │ │ .word 0x3fe1c73b │ │ │ │ │ .word 0x290ea1a3 │ │ │ │ │ .word 0x3fea9b66 │ │ │ │ │ vmla.f64 d5, d8, d4 │ │ │ │ │ vadd.f64 d13, d6, d7 │ │ │ │ │ vsub.f64 d1, d6, d7 │ │ │ │ │ - vldr d7, [sp, #672] @ 0x2a0 │ │ │ │ │ + vldr d7, [sp, #680] @ 0x2a8 │ │ │ │ │ vsub.f64 d6, d15, d9 │ │ │ │ │ vsub.f64 d7, d7, d10 │ │ │ │ │ vldr d10, [r3] │ │ │ │ │ - add.w r3, sp, #1384 @ 0x568 │ │ │ │ │ + add.w r3, sp, #1392 @ 0x570 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ vldr d15, [r3] │ │ │ │ │ - add.w r3, sp, #1416 @ 0x588 │ │ │ │ │ + add.w r3, sp, #1424 @ 0x590 │ │ │ │ │ vadd.f64 d11, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vmul.f64 d6, d10, d4 │ │ │ │ │ vldr d10, [r3] │ │ │ │ │ - add.w r3, sp, #1592 @ 0x638 │ │ │ │ │ - vstr d7, [sp, #8] │ │ │ │ │ + add.w r3, sp, #1600 @ 0x640 │ │ │ │ │ + vnmls.f64 d6, d14, d3 │ │ │ │ │ + vstr d7, [sp, #24] │ │ │ │ │ vsub.f64 d4, d15, d10 │ │ │ │ │ vldr d10, [r3] │ │ │ │ │ - add.w r3, sp, #1424 @ 0x590 │ │ │ │ │ - vnmls.f64 d6, d14, d3 │ │ │ │ │ - vldr d15, [pc, #-120] @ 1c78 │ │ │ │ │ + add.w r3, sp, #1432 @ 0x598 │ │ │ │ │ + vldr d15, [pc, #-120] @ 1d28 │ │ │ │ │ vmul.f64 d4, d4, d2 │ │ │ │ │ + vadd.f64 d3, d5, d6 │ │ │ │ │ + vsub.f64 d6, d6, d5 │ │ │ │ │ vsub.f64 d14, d10, d4 │ │ │ │ │ vadd.f64 d4, d10, d4 │ │ │ │ │ vldr d10, [r3] │ │ │ │ │ - add.w r3, sp, #1488 @ 0x5d0 │ │ │ │ │ - vadd.f64 d3, d5, d6 │ │ │ │ │ - vsub.f64 d6, d6, d5 │ │ │ │ │ + add.w r3, sp, #1496 @ 0x5d8 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - add.w r3, sp, #1576 @ 0x628 │ │ │ │ │ + add.w r3, sp, #1584 @ 0x630 │ │ │ │ │ vsub.f64 d5, d10, d7 │ │ │ │ │ vldr d10, [r3] │ │ │ │ │ - add.w r3, sp, #1352 @ 0x548 │ │ │ │ │ + add.w r3, sp, #1360 @ 0x550 │ │ │ │ │ vmul.f64 d5, d5, d2 │ │ │ │ │ vsub.f64 d0, d10, d5 │ │ │ │ │ vadd.f64 d5, d10, d5 │ │ │ │ │ - vldr d10, [pc, #-176] @ 1c80 │ │ │ │ │ + vldr d10, [pc, #-176] @ 1d30 │ │ │ │ │ vmul.f64 d9, d0, d15 │ │ │ │ │ vmov.f64 d7, d9 │ │ │ │ │ - vldr d9, [pc, #-180] @ 1c88 │ │ │ │ │ - vmul.f64 d9, d4, d9 │ │ │ │ │ + vldr d9, [pc, #-180] @ 1d38 │ │ │ │ │ vnmls.f64 d7, d14, d10 │ │ │ │ │ vmul.f64 d14, d14, d15 │ │ │ │ │ + vmul.f64 d9, d4, d9 │ │ │ │ │ vmla.f64 d14, d0, d10 │ │ │ │ │ - vldr d0, [pc, #-192] @ 1c90 │ │ │ │ │ + vldr d0, [pc, #-192] @ 1d40 │ │ │ │ │ vmov.f64 d8, d7 │ │ │ │ │ vmov.f64 d7, d9 │ │ │ │ │ - vldr d9, [pc, #-204] @ 1c90 │ │ │ │ │ + vldr d9, [pc, #-204] @ 1d40 │ │ │ │ │ vmla.f64 d7, d5, d9 │ │ │ │ │ - vldr d9, [pc, #-220] @ 1c88 │ │ │ │ │ + vldr d9, [pc, #-220] @ 1d38 │ │ │ │ │ vmul.f64 d5, d5, d9 │ │ │ │ │ - vstr d7, [sp, #16] │ │ │ │ │ + vstr d7, [sp, #32] │ │ │ │ │ vmov.f64 d7, d5 │ │ │ │ │ vnmls.f64 d7, d4, d0 │ │ │ │ │ - vstr d7, [sp, #24] │ │ │ │ │ + vstr d7, [sp, #40] @ 0x28 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - add.w r3, sp, #1272 @ 0x4f8 │ │ │ │ │ + add.w r3, sp, #1280 @ 0x500 │ │ │ │ │ vldr d0, [r3] │ │ │ │ │ - add.w r3, sp, #1632 @ 0x660 │ │ │ │ │ - vsub.f64 d0, d7, d0 │ │ │ │ │ + add.w r3, sp, #1640 @ 0x668 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ - add.w r3, sp, #1280 @ 0x500 │ │ │ │ │ + add.w r3, sp, #1288 @ 0x508 │ │ │ │ │ + ldr r2, [sp, #264] @ 0x108 │ │ │ │ │ + vsub.f64 d0, d7, d0 │ │ │ │ │ vmul.f64 d0, d0, d2 │ │ │ │ │ vsub.f64 d9, d4, d0 │ │ │ │ │ vadd.f64 d0, d4, d0 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ - add.w r3, sp, #1360 @ 0x550 │ │ │ │ │ + add.w r3, sp, #1368 @ 0x558 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - add.w r3, sp, #1616 @ 0x650 │ │ │ │ │ - vsub.f64 d4, d4, d5 │ │ │ │ │ + add.w r3, sp, #1624 @ 0x658 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - ldr r3, [sp, #232] @ 0xe8 │ │ │ │ │ + ldr r3, [sp, #256] @ 0x100 │ │ │ │ │ + vsub.f64 d4, d4, d5 │ │ │ │ │ vmul.f64 d4, d4, d2 │ │ │ │ │ vsub.f64 d5, d7, d4 │ │ │ │ │ vadd.f64 d4, d7, d4 │ │ │ │ │ - vldr d7, [pc, #-312] @ 1c90 │ │ │ │ │ + vldr d7, [pc, #-316] @ 1d40 │ │ │ │ │ vmul.f64 d2, d5, d10 │ │ │ │ │ vmul.f64 d5, d5, d15 │ │ │ │ │ + vldr d10, [pc, #-336] @ 1d38 │ │ │ │ │ vmla.f64 d2, d9, d15 │ │ │ │ │ - vldr d10, [pc, #-336] @ 1c88 │ │ │ │ │ - vldr d15, [pc, #-348] @ 1c80 │ │ │ │ │ + vldr d15, [pc, #-352] @ 1d30 │ │ │ │ │ vmul.f64 d10, d4, d10 │ │ │ │ │ vnmls.f64 d5, d9, d15 │ │ │ │ │ vmul.f64 d15, d4, d7 │ │ │ │ │ - vldr d9, [pc, #-356] @ 1c88 │ │ │ │ │ - vldr d4, [sp] │ │ │ │ │ + vldr d4, [sp, #16] │ │ │ │ │ vnmls.f64 d10, d0, d7 │ │ │ │ │ - vldr d7, [sp, #8] │ │ │ │ │ + vldr d9, [pc, #-368] @ 1d38 │ │ │ │ │ + vldr d7, [sp, #24] │ │ │ │ │ + vadd.f64 d4, d4, d1 │ │ │ │ │ vmla.f64 d15, d0, d9 │ │ │ │ │ vadd.f64 d0, d8, d2 │ │ │ │ │ - vadd.f64 d4, d4, d1 │ │ │ │ │ vsub.f64 d2, d8, d2 │ │ │ │ │ vsub.f64 d9, d4, d0 │ │ │ │ │ vadd.f64 d4, d4, d0 │ │ │ │ │ vadd.f64 d0, d14, d5 │ │ │ │ │ vsub.f64 d5, d5, d14 │ │ │ │ │ - vstr d9, [r4] │ │ │ │ │ - vstr d4, [fp] │ │ │ │ │ + vstr d9, [r2] │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ vadd.f64 d4, d7, d6 │ │ │ │ │ - ldr r4, [sp, #248] @ 0xf8 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ + ldr r2, [sp, #240] @ 0xf0 │ │ │ │ │ + ldr r3, [sp, #272] @ 0x110 │ │ │ │ │ vadd.f64 d9, d0, d4 │ │ │ │ │ vsub.f64 d4, d4, d0 │ │ │ │ │ + vldr d0, [sp, #32] │ │ │ │ │ vadd.f64 d6, d2, d7 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ - vstr d9, [r3] │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - vldr d4, [sp] │ │ │ │ │ - ldr r4, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d2, [sp, #24] │ │ │ │ │ + vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d9, [r7] │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + vldr d4, [sp, #16] │ │ │ │ │ + ldr r3, [sp, #224] @ 0xe0 │ │ │ │ │ vsub.f64 d1, d4, d1 │ │ │ │ │ - vldr d0, [sp, #16] │ │ │ │ │ - ldr r3, [sp, #260] @ 0x104 │ │ │ │ │ - vldr d14, [sp, #696] @ 0x2b8 │ │ │ │ │ vsub.f64 d4, d1, d5 │ │ │ │ │ vadd.f64 d1, d1, d5 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - ldr r4, [sp, #216] @ 0xd8 │ │ │ │ │ - vstr d1, [r4] │ │ │ │ │ - ldr r4, [sp, #224] @ 0xe0 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + ldr r3, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d1, [r2] │ │ │ │ │ + ldr r2, [sp, #248] @ 0xf8 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ vadd.f64 d6, d2, d15 │ │ │ │ │ - ldr r4, [sp, #208] @ 0xd0 │ │ │ │ │ vsub.f64 d15, d2, d15 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vadd.f64 d7, d12, d3 │ │ │ │ │ - ldr r4, [sp, #264] @ 0x108 │ │ │ │ │ vsub.f64 d3, d12, d3 │ │ │ │ │ + ldr r3, [sp, #288] @ 0x120 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d0, d10 │ │ │ │ │ vsub.f64 d10, d10, d0 │ │ │ │ │ - vldr d0, [sp, #624] @ 0x270 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ - vstr d7, [sl] │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + ldr r3, [sp, #280] @ 0x118 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vadd.f64 d7, d13, d11 │ │ │ │ │ - ldr r4, [sp, #268] @ 0x10c │ │ │ │ │ vsub.f64 d11, d11, d13 │ │ │ │ │ - vadd.f64 d12, d0, d14 │ │ │ │ │ - vldr d13, [sp, #864] @ 0x360 │ │ │ │ │ - vldr d0, [sp, #800] @ 0x320 │ │ │ │ │ + ldr r3, [sp, #284] @ 0x11c │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d15, d11 │ │ │ │ │ vsub.f64 d11, d11, d15 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - add.w r3, sp, #1520 @ 0x5f0 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + ldr r3, [sp, #292] @ 0x124 │ │ │ │ │ + vldr d0, [sp, #632] @ 0x278 │ │ │ │ │ + vldr d5, [pc, #-616] @ 1d10 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d3, d10 │ │ │ │ │ - ldr r4, [sp, #272] @ 0x110 │ │ │ │ │ vadd.f64 d3, d3, d10 │ │ │ │ │ - vldr d14, [r3] │ │ │ │ │ - add.w r3, sp, #1536 @ 0x600 │ │ │ │ │ - vldr d10, [pc, #-656] @ 1c60 │ │ │ │ │ - vldr d5, [pc, #-652] @ 1c68 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ - vadd.f64 d7, d0, d13 │ │ │ │ │ - ldr r4, [sp, #280] @ 0x118 │ │ │ │ │ - vldr d1, [r3] │ │ │ │ │ - add.w r3, sp, #1552 @ 0x610 │ │ │ │ │ + ldr r3, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d14, [sp, #704] @ 0x2c0 │ │ │ │ │ + vldr d13, [sp, #872] @ 0x368 │ │ │ │ │ vmov.f64 d4, d5 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + ldr r3, [sp, #304] @ 0x130 │ │ │ │ │ + vadd.f64 d12, d0, d14 │ │ │ │ │ + vldr d10, [pc, #-648] @ 1d18 │ │ │ │ │ + vldr d0, [sp, #808] @ 0x328 │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ + ldr r3, [sp, #308] @ 0x134 │ │ │ │ │ + vldr d3, [pc, #-656] @ 1d20 │ │ │ │ │ + vadd.f64 d7, d0, d13 │ │ │ │ │ + vldr d2, [sp, #680] @ 0x2a8 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + ldr r3, [sp, #300] @ 0x12c │ │ │ │ │ vmul.f64 d7, d7, d10 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ - ldr r4, [sp, #284] @ 0x11c │ │ │ │ │ - vldr d3, [pc, #-680] @ 1c70 │ │ │ │ │ - vldr d9, [r3] │ │ │ │ │ + vstr d11, [r3] │ │ │ │ │ + add.w r3, sp, #1528 @ 0x5f8 │ │ │ │ │ + vldr d11, [sp, #864] @ 0x360 │ │ │ │ │ + vldr d14, [r3] │ │ │ │ │ + add.w r3, sp, #1544 @ 0x608 │ │ │ │ │ + vldr d1, [r3] │ │ │ │ │ add.w r3, sp, #1560 @ 0x618 │ │ │ │ │ vsub.f64 d8, d12, d7 │ │ │ │ │ vadd.f64 d12, d12, d7 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ + vldr d9, [r3] │ │ │ │ │ + add.w r3, sp, #1568 @ 0x620 │ │ │ │ │ + vldr d15, [r3] │ │ │ │ │ vmul.f64 d6, d14, d3 │ │ │ │ │ - ldr r4, [sp, #276] @ 0x114 │ │ │ │ │ + add.w r3, sp, #1432 @ 0x598 │ │ │ │ │ vmul.f64 d7, d9, d3 │ │ │ │ │ vnmls.f64 d6, d1, d5 │ │ │ │ │ - vstr d11, [r4] │ │ │ │ │ - vldr d15, [r3] │ │ │ │ │ - add.w r3, sp, #1424 @ 0x590 │ │ │ │ │ - vldr d11, [sp, #856] @ 0x358 │ │ │ │ │ - vldr d2, [sp, #672] @ 0x2a0 │ │ │ │ │ vmla.f64 d7, d15, d5 │ │ │ │ │ - ldr r4, [sp, #180] @ 0xb4 │ │ │ │ │ vadd.f64 d13, d6, d7 │ │ │ │ │ vsub.f64 d0, d6, d7 │ │ │ │ │ - vldr d6, [sp, #792] @ 0x318 │ │ │ │ │ + vldr d6, [sp, #800] @ 0x320 │ │ │ │ │ vadd.f64 d6, d6, d11 │ │ │ │ │ - vldr d11, [sp, #688] @ 0x2b0 │ │ │ │ │ - vadd.f64 d7, d2, d11 │ │ │ │ │ + vldr d11, [sp, #696] @ 0x2b8 │ │ │ │ │ vmul.f64 d6, d6, d10 │ │ │ │ │ + vadd.f64 d7, d2, d11 │ │ │ │ │ vadd.f64 d11, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vmul.f64 d6, d14, d5 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ - add.w r3, sp, #1488 @ 0x5d0 │ │ │ │ │ + add.w r3, sp, #1496 @ 0x5d8 │ │ │ │ │ vmul.f64 d5, d15, d3 │ │ │ │ │ vmla.f64 d6, d1, d3 │ │ │ │ │ - vldr d3, [pc, #-768] @ 1c90 │ │ │ │ │ vldr d1, [r3] │ │ │ │ │ - add.w r3, sp, #1600 @ 0x640 │ │ │ │ │ + add.w r3, sp, #1608 @ 0x648 │ │ │ │ │ vnmls.f64 d5, d9, d4 │ │ │ │ │ + vldr d3, [pc, #-780] @ 1d40 │ │ │ │ │ vadd.f64 d4, d14, d1 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ - add.w r3, sp, #1416 @ 0x588 │ │ │ │ │ - vmul.f64 d4, d4, d10 │ │ │ │ │ + add.w r3, sp, #1424 @ 0x590 │ │ │ │ │ vadd.f64 d2, d6, d5 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ + vmul.f64 d4, d4, d10 │ │ │ │ │ vsub.f64 d1, d14, d4 │ │ │ │ │ vadd.f64 d4, d14, d4 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ - add.w r3, sp, #1384 @ 0x568 │ │ │ │ │ + add.w r3, sp, #1392 @ 0x570 │ │ │ │ │ vldr d15, [r3] │ │ │ │ │ - add.w r3, sp, #1584 @ 0x630 │ │ │ │ │ - vadd.f64 d6, d14, d15 │ │ │ │ │ + add.w r3, sp, #1592 @ 0x638 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ - vldr d15, [pc, #-864] @ 1c78 │ │ │ │ │ - add.w r3, sp, #1272 @ 0x4f8 │ │ │ │ │ + add.w r3, sp, #1280 @ 0x500 │ │ │ │ │ + vadd.f64 d6, d14, d15 │ │ │ │ │ + vldr d15, [pc, #-868] @ 1d28 │ │ │ │ │ vmul.f64 d6, d6, d10 │ │ │ │ │ vsub.f64 d14, d9, d6 │ │ │ │ │ vadd.f64 d6, d9, d6 │ │ │ │ │ vmul.f64 d9, d14, d3 │ │ │ │ │ vmov.f64 d3, d9 │ │ │ │ │ - vldr d9, [pc, #-876] @ 1c88 │ │ │ │ │ + vldr d9, [pc, #-876] @ 1d38 │ │ │ │ │ vnmls.f64 d3, d1, d9 │ │ │ │ │ vmul.f64 d9, d6, d15 │ │ │ │ │ - vstr d3, [sp] │ │ │ │ │ - vldr d3, [pc, #-900] @ 1c80 │ │ │ │ │ + vstr d3, [sp, #16] │ │ │ │ │ + vldr d3, [pc, #-900] @ 1d30 │ │ │ │ │ vmla.f64 d9, d4, d3 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ vnmls.f64 d6, d4, d15 │ │ │ │ │ - vstr d9, [sp, #8] │ │ │ │ │ - vldr d9, [pc, #-912] @ 1c88 │ │ │ │ │ + vstr d9, [sp, #24] │ │ │ │ │ + vldr d9, [pc, #-912] @ 1d38 │ │ │ │ │ + vstr d6, [sp, #32] │ │ │ │ │ vmul.f64 d14, d14, d9 │ │ │ │ │ - vldr d9, [pc, #-912] @ 1c90 │ │ │ │ │ - vstr d6, [sp, #16] │ │ │ │ │ + vldr d9, [pc, #-916] @ 1d40 │ │ │ │ │ vmla.f64 d14, d1, d9 │ │ │ │ │ vldr d1, [r3] │ │ │ │ │ - add.w r3, sp, #1352 @ 0x548 │ │ │ │ │ + add.w r3, sp, #1360 @ 0x550 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - add.w r3, sp, #1624 @ 0x658 │ │ │ │ │ + add.w r3, sp, #1632 @ 0x660 │ │ │ │ │ + ldr r7, [sp, #164] @ 0xa4 │ │ │ │ │ + ldr r2, [sp, #200] @ 0xc8 │ │ │ │ │ vadd.f64 d3, d1, d6 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - add.w r3, sp, #1280 @ 0x500 │ │ │ │ │ + add.w r3, sp, #1288 @ 0x508 │ │ │ │ │ vmul.f64 d3, d3, d10 │ │ │ │ │ vsub.f64 d4, d6, d3 │ │ │ │ │ vadd.f64 d3, d6, d3 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - add.w r3, sp, #1360 @ 0x550 │ │ │ │ │ + add.w r3, sp, #1368 @ 0x558 │ │ │ │ │ vldr d1, [r3] │ │ │ │ │ - add.w r3, sp, #1640 @ 0x668 │ │ │ │ │ + add.w r3, sp, #1648 @ 0x670 │ │ │ │ │ vadd.f64 d6, d6, d1 │ │ │ │ │ vldr d1, [r3] │ │ │ │ │ - ldr r3, [sp, #172] @ 0xac │ │ │ │ │ + ldr r3, [sp, #192] @ 0xc0 │ │ │ │ │ vmul.f64 d6, d6, d10 │ │ │ │ │ - vldr d10, [pc, #968] @ 2438 │ │ │ │ │ + vldr d10, [pc, #968] @ 24f0 │ │ │ │ │ vsub.f64 d9, d1, d6 │ │ │ │ │ vadd.f64 d6, d1, d6 │ │ │ │ │ - vldr d1, [pc, #964] @ 2440 │ │ │ │ │ + vldr d1, [pc, #964] @ 24f8 │ │ │ │ │ vmul.f64 d1, d9, d1 │ │ │ │ │ vmla.f64 d1, d4, d10 │ │ │ │ │ - vldr d10, [pc, #960] @ 2448 │ │ │ │ │ + vldr d10, [pc, #960] @ 2500 │ │ │ │ │ vmul.f64 d10, d3, d10 │ │ │ │ │ vnmls.f64 d10, d6, d15 │ │ │ │ │ - vldr d15, [pc, #940] @ 2440 │ │ │ │ │ + vldr d15, [pc, #940] @ 24f8 │ │ │ │ │ vmul.f64 d4, d4, d15 │ │ │ │ │ - vldr d15, [pc, #924] @ 2438 │ │ │ │ │ + vldr d15, [pc, #924] @ 24f0 │ │ │ │ │ vnmls.f64 d4, d9, d15 │ │ │ │ │ - vldr d9, [pc, #932] @ 2448 │ │ │ │ │ + vldr d9, [pc, #932] @ 2500 │ │ │ │ │ vmul.f64 d15, d6, d9 │ │ │ │ │ - vldr d9, [sp] │ │ │ │ │ - vldr d6, [pc, #928] @ 2450 │ │ │ │ │ + vldr d9, [sp, #16] │ │ │ │ │ + vldr d6, [pc, #928] @ 2508 │ │ │ │ │ vmla.f64 d15, d3, d6 │ │ │ │ │ vadd.f64 d6, d8, d0 │ │ │ │ │ vadd.f64 d3, d9, d1 │ │ │ │ │ vsub.f64 d0, d8, d0 │ │ │ │ │ vsub.f64 d9, d6, d3 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ vadd.f64 d3, d14, d4 │ │ │ │ │ vsub.f64 d4, d4, d14 │ │ │ │ │ - vstr d9, [r4] │ │ │ │ │ + vstr d9, [r2] │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ vadd.f64 d6, d7, d5 │ │ │ │ │ - ldr r3, [sp, #176] @ 0xb0 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ + ldr r3, [sp, #196] @ 0xc4 │ │ │ │ │ + ldr r2, [sp, #204] @ 0xcc │ │ │ │ │ vadd.f64 d9, d3, d6 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ - vldr d3, [pc, #864] @ 2450 │ │ │ │ │ + vldr d3, [pc, #864] @ 2508 │ │ │ │ │ vstr d9, [r3] │ │ │ │ │ - ldr r3, [sp, #184] @ 0xb8 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ vsub.f64 d6, d0, d4 │ │ │ │ │ - ldr r3, [sp, #188] @ 0xbc │ │ │ │ │ vadd.f64 d0, d0, d4 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - ldr r3, [sp, #196] @ 0xc4 │ │ │ │ │ - vstr d0, [r3] │ │ │ │ │ - vldr d0, [sp] │ │ │ │ │ - ldr r3, [sp, #256] @ 0x100 │ │ │ │ │ - vldr d4, [sp, #16] │ │ │ │ │ + vldr d4, [sp, #32] │ │ │ │ │ + ldr r2, [sp, #208] @ 0xd0 │ │ │ │ │ + ldr r3, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + ldr r2, [sp, #216] @ 0xd8 │ │ │ │ │ + vstr d0, [r2] │ │ │ │ │ + vldr d0, [sp, #16] │ │ │ │ │ + ldr r2, [sp, #220] @ 0xdc │ │ │ │ │ vsub.f64 d1, d0, d1 │ │ │ │ │ - ldr r4, [sp, #148] @ 0x94 │ │ │ │ │ - vldr d0, [sp, #8] │ │ │ │ │ + vldr d0, [sp, #24] │ │ │ │ │ vadd.f64 d6, d1, d7 │ │ │ │ │ vsub.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [sp, #768] @ 0x300 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ vadd.f64 d6, d4, d15 │ │ │ │ │ - ldr r3, [sp, #192] @ 0xc0 │ │ │ │ │ vsub.f64 d15, d4, d15 │ │ │ │ │ - vldr d4, [sp, #824] @ 0x338 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ + ldr r2, [sp, #212] @ 0xd4 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vadd.f64 d7, d12, d2 │ │ │ │ │ - ldr r3, [sp, #140] @ 0x8c │ │ │ │ │ vsub.f64 d2, d12, d2 │ │ │ │ │ + ldr r2, [sp, #168] @ 0xa8 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d0, d10 │ │ │ │ │ vsub.f64 d10, d10, d0 │ │ │ │ │ - vldr d0, [sp, #712] @ 0x2c8 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vadd.f64 d7, d13, d11 │ │ │ │ │ - ldr r3, [sp, #144] @ 0x90 │ │ │ │ │ vsub.f64 d11, d11, d13 │ │ │ │ │ - ldr r4, [sp, #152] @ 0x98 │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d15, d11 │ │ │ │ │ vsub.f64 d11, d11, d15 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + vstr d5, [r7] │ │ │ │ │ + ldr r7, [sp, #172] @ 0xac │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ vsub.f64 d7, d2, d10 │ │ │ │ │ - ldr r4, [sp, #164] @ 0xa4 │ │ │ │ │ vadd.f64 d2, d2, d10 │ │ │ │ │ - ldr r3, [sp, #156] @ 0x9c │ │ │ │ │ - vldr d10, [sp, #736] @ 0x2e0 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + ldr r3, [sp, #176] @ 0xb0 │ │ │ │ │ + ldr r7, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d0, [sp, #720] @ 0x2d0 │ │ │ │ │ + vldr d10, [sp, #744] @ 0x2e8 │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ + ldr r7, [sp, #180] @ 0xb4 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ - ldr r3, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d7, [sp, #648] @ 0x288 │ │ │ │ │ - ldr r4, [sp, #168] @ 0xa8 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ + add.w r3, sp, #1024 @ 0x400 │ │ │ │ │ + vldr d7, [sp, #656] @ 0x290 │ │ │ │ │ + vldr d4, [sp, #832] @ 0x340 │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ + ldr r7, [sp, #188] @ 0xbc │ │ │ │ │ vsub.f64 d6, d7, d0 │ │ │ │ │ - vldr d7, [sp, #760] @ 0x2f8 │ │ │ │ │ - add.w r3, sp, #1032 @ 0x408 │ │ │ │ │ - vldr d0, [sp, #640] @ 0x280 │ │ │ │ │ - vstr d11, [r4] │ │ │ │ │ + vldr d0, [sp, #648] @ 0x288 │ │ │ │ │ + vldr d7, [sp, #768] @ 0x300 │ │ │ │ │ + vstr d11, [r7] │ │ │ │ │ + vldr d1, [sp, #776] @ 0x308 │ │ │ │ │ + vldr d9, [r3] │ │ │ │ │ + add.w r3, sp, #1040 @ 0x410 │ │ │ │ │ vsub.f64 d12, d7, d4 │ │ │ │ │ + vldr d11, [sp, #944] @ 0x3b0 │ │ │ │ │ vsub.f64 d2, d6, d12 │ │ │ │ │ vadd.f64 d12, d6, d12 │ │ │ │ │ vsub.f64 d6, d0, d10 │ │ │ │ │ - vstr d2, [sp] │ │ │ │ │ - vldr d2, [sp, #832] @ 0x340 │ │ │ │ │ + vldr d0, [sp, #960] @ 0x3c0 │ │ │ │ │ + vstr d2, [sp, #16] │ │ │ │ │ + vldr d2, [sp, #840] @ 0x348 │ │ │ │ │ vsub.f64 d7, d2, d1 │ │ │ │ │ + vldr d2, [sp, #928] @ 0x3a0 │ │ │ │ │ + vldr d1, [r3] │ │ │ │ │ + add.w r3, sp, #1080 @ 0x438 │ │ │ │ │ + vldr d8, [r3] │ │ │ │ │ + add.w r3, sp, #1056 @ 0x420 │ │ │ │ │ vadd.f64 d13, d7, d6 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [sp, #904] @ 0x388 │ │ │ │ │ - vldr d2, [sp, #920] @ 0x398 │ │ │ │ │ - vldr d0, [sp, #952] @ 0x3b8 │ │ │ │ │ - vldr d11, [sp, #936] @ 0x3a8 │ │ │ │ │ - vldr d1, [r3] │ │ │ │ │ - add.w r3, sp, #1072 @ 0x430 │ │ │ │ │ + vldr d7, [sp, #912] @ 0x390 │ │ │ │ │ vsub.f64 d5, d7, d2 │ │ │ │ │ - vldr d9, [sp, #1016] @ 0x3f8 │ │ │ │ │ vsub.f64 d7, d0, d11 │ │ │ │ │ - vldr d0, [pc, #568] @ 2448 │ │ │ │ │ - vldr d8, [r3] │ │ │ │ │ - add.w r3, sp, #1048 @ 0x418 │ │ │ │ │ - ldr r4, [sp, #336] @ 0x150 │ │ │ │ │ vldr d11, [r3] │ │ │ │ │ + add.w r3, sp, #1208 @ 0x4b8 │ │ │ │ │ + vldr d0, [pc, #552] @ 2500 │ │ │ │ │ + vsub.f64 d4, d8, d11 │ │ │ │ │ vmul.f64 d2, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ - add.w r3, sp, #1200 @ 0x4b0 │ │ │ │ │ - vmla.f64 d7, d5, d3 │ │ │ │ │ - vsub.f64 d4, d8, d11 │ │ │ │ │ vnmls.f64 d2, d5, d0 │ │ │ │ │ + vmla.f64 d7, d5, d3 │ │ │ │ │ vsub.f64 d5, d9, d1 │ │ │ │ │ vmov.f64 d1, d3 │ │ │ │ │ vmul.f64 d3, d4, d3 │ │ │ │ │ vmla.f64 d3, d5, d0 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vnmls.f64 d5, d4, d0 │ │ │ │ │ vadd.f64 d11, d2, d3 │ │ │ │ │ vsub.f64 d4, d2, d3 │ │ │ │ │ vsub.f64 d0, d5, d7 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vstr d7, [sp, #8] │ │ │ │ │ + vstr d7, [sp, #24] │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - add.w r3, sp, #1216 @ 0x4c0 │ │ │ │ │ + add.w r3, sp, #1224 @ 0x4c8 │ │ │ │ │ vldr d15, [r3] │ │ │ │ │ - add.w r3, sp, #1304 @ 0x518 │ │ │ │ │ + add.w r3, sp, #1312 @ 0x520 │ │ │ │ │ vldr d8, [r3] │ │ │ │ │ - add.w r3, sp, #1320 @ 0x528 │ │ │ │ │ - vsub.f64 d3, d7, d15 │ │ │ │ │ - vldr d7, [pc, #468] @ 2458 │ │ │ │ │ - vldr d15, [pc, #472] @ 2460 │ │ │ │ │ + add.w r3, sp, #1328 @ 0x530 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ - add.w r3, sp, #1248 @ 0x4e0 │ │ │ │ │ - vsub.f64 d5, d8, d9 │ │ │ │ │ + add.w r3, sp, #1256 @ 0x4e8 │ │ │ │ │ + vsub.f64 d3, d7, d15 │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ - add.w r3, sp, #1232 @ 0x4d0 │ │ │ │ │ - vldr d8, [pc, #456] @ 2468 │ │ │ │ │ + add.w r3, sp, #1240 @ 0x4d8 │ │ │ │ │ + vldr d7, [pc, #456] @ 2510 │ │ │ │ │ + vsub.f64 d5, d8, d9 │ │ │ │ │ + vldr d8, [pc, #456] @ 2518 │ │ │ │ │ + vldr d15, [pc, #460] @ 2520 │ │ │ │ │ vsub.f64 d1, d3, d5 │ │ │ │ │ vadd.f64 d3, d3, d5 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - add.w r3, sp, #1328 @ 0x530 │ │ │ │ │ + add.w r3, sp, #1336 @ 0x538 │ │ │ │ │ vsub.f64 d5, d2, d5 │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ - add.w r3, sp, #1312 @ 0x520 │ │ │ │ │ + add.w r3, sp, #1320 @ 0x528 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ - add.w r3, sp, #1112 @ 0x458 │ │ │ │ │ + add.w r3, sp, #1120 @ 0x460 │ │ │ │ │ + ldr r7, [sp, #60] @ 0x3c │ │ │ │ │ + ldr r2, [sp, #344] @ 0x158 │ │ │ │ │ vsub.f64 d9, d2, d9 │ │ │ │ │ - vldr d2, [pc, #420] @ 2470 │ │ │ │ │ + vldr d2, [pc, #420] @ 2528 │ │ │ │ │ vsub.f64 d14, d5, d9 │ │ │ │ │ vadd.f64 d5, d5, d9 │ │ │ │ │ vmul.f64 d9, d14, d2 │ │ │ │ │ vmul.f64 d14, d14, d7 │ │ │ │ │ + vnmls.f64 d14, d1, d2 │ │ │ │ │ vmov.f64 d10, d9 │ │ │ │ │ vmul.f64 d9, d5, d8 │ │ │ │ │ - vmla.f64 d10, d1, d7 │ │ │ │ │ vmul.f64 d5, d5, d15 │ │ │ │ │ + vmla.f64 d10, d1, d7 │ │ │ │ │ vmla.f64 d5, d3, d8 │ │ │ │ │ - vnmls.f64 d14, d1, d2 │ │ │ │ │ vmov.f64 d8, d7 │ │ │ │ │ - vstr d10, [sp, #16] │ │ │ │ │ + vstr d10, [sp, #32] │ │ │ │ │ vmov.f64 d10, d9 │ │ │ │ │ - vstr d5, [sp, #32] │ │ │ │ │ + vstr d5, [sp, #48] @ 0x30 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - add.w r3, sp, #1128 @ 0x468 │ │ │ │ │ + add.w r3, sp, #1136 @ 0x470 │ │ │ │ │ vnmls.f64 d10, d3, d15 │ │ │ │ │ vldr d1, [r3] │ │ │ │ │ - add.w r3, sp, #1440 @ 0x5a0 │ │ │ │ │ + add.w r3, sp, #1448 @ 0x5a8 │ │ │ │ │ vsub.f64 d1, d5, d1 │ │ │ │ │ - vstr d10, [sp, #24] │ │ │ │ │ + vstr d10, [sp, #40] @ 0x28 │ │ │ │ │ vmov.f64 d10, d2 │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ - add.w r3, sp, #1456 @ 0x5b0 │ │ │ │ │ + add.w r3, sp, #1464 @ 0x5b8 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ - add.w r3, sp, #1160 @ 0x488 │ │ │ │ │ + add.w r3, sp, #1168 @ 0x490 │ │ │ │ │ vsub.f64 d5, d2, d9 │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ - add.w r3, sp, #1144 @ 0x478 │ │ │ │ │ + add.w r3, sp, #1152 @ 0x480 │ │ │ │ │ vsub.f64 d3, d1, d5 │ │ │ │ │ vadd.f64 d1, d1, d5 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - add.w r3, sp, #1464 @ 0x5b8 │ │ │ │ │ + add.w r3, sp, #1472 @ 0x5c0 │ │ │ │ │ vsub.f64 d2, d2, d5 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - add.w r3, sp, #1448 @ 0x5a8 │ │ │ │ │ + add.w r3, sp, #1456 @ 0x5b0 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ + ldr r3, [sp, #336] @ 0x150 │ │ │ │ │ vsub.f64 d5, d5, d9 │ │ │ │ │ vsub.f64 d9, d2, d5 │ │ │ │ │ vadd.f64 d2, d2, d5 │ │ │ │ │ vmul.f64 d5, d9, d7 │ │ │ │ │ - vldr d7, [pc, #244] @ 2468 │ │ │ │ │ + vldr d7, [pc, #232] @ 2518 │ │ │ │ │ vnmls.f64 d5, d3, d10 │ │ │ │ │ - vmul.f64 d10, d1, d7 │ │ │ │ │ - vldr d7, [pc, #240] @ 2470 │ │ │ │ │ vmul.f64 d3, d3, d8 │ │ │ │ │ + vmul.f64 d10, d1, d7 │ │ │ │ │ + vldr d7, [pc, #232] @ 2528 │ │ │ │ │ vmla.f64 d10, d2, d15 │ │ │ │ │ vmla.f64 d3, d9, d7 │ │ │ │ │ - vldr d9, [pc, #216] @ 2468 │ │ │ │ │ - vldr d7, [sp, #16] │ │ │ │ │ + vldr d9, [pc, #204] @ 2518 │ │ │ │ │ + vldr d7, [sp, #32] │ │ │ │ │ vmul.f64 d2, d2, d9 │ │ │ │ │ vnmls.f64 d2, d1, d15 │ │ │ │ │ vadd.f64 d1, d7, d5 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ + vldr d7, [sp, #24] │ │ │ │ │ vmov.f64 d8, d2 │ │ │ │ │ - vldr d2, [sp] │ │ │ │ │ + vldr d2, [sp, #16] │ │ │ │ │ vadd.f64 d2, d2, d4 │ │ │ │ │ vsub.f64 d9, d2, d1 │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ vadd.f64 d1, d14, d3 │ │ │ │ │ vsub.f64 d14, d14, d3 │ │ │ │ │ - vstr d9, [r4] │ │ │ │ │ - ldr r3, [sp, #320] @ 0x140 │ │ │ │ │ - ldr r4, [sp, #344] @ 0x158 │ │ │ │ │ - vldr d7, [sp, #8] │ │ │ │ │ + vstr d9, [r2] │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ vadd.f64 d2, d6, d0 │ │ │ │ │ - ldr r3, [sp, #328] @ 0x148 │ │ │ │ │ vsub.f64 d6, d6, d0 │ │ │ │ │ - vldr d0, [sp, #32] │ │ │ │ │ + ldr r3, [sp, #352] @ 0x160 │ │ │ │ │ vadd.f64 d9, d1, d2 │ │ │ │ │ vsub.f64 d2, d2, d1 │ │ │ │ │ - vstr d9, [r3] │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ - vldr d2, [sp] │ │ │ │ │ - ldr r4, [sp, #288] @ 0x120 │ │ │ │ │ - ldr r3, [sp, #304] @ 0x130 │ │ │ │ │ + vstr d9, [lr] │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + vldr d2, [sp, #16] │ │ │ │ │ vsub.f64 d4, d2, d4 │ │ │ │ │ - vldr d2, [sp, #24] │ │ │ │ │ vsub.f64 d3, d4, d14 │ │ │ │ │ vadd.f64 d4, d4, d14 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ + vstr d3, [r7] │ │ │ │ │ + ldr r7, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d3, [pc, #52] @ 24f0 │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ - ldr r3, [sp, #312] @ 0x138 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - ldr r4, [sp, #296] @ 0x128 │ │ │ │ │ - vadd.f64 d5, d0, d8 │ │ │ │ │ - vldr d3, [pc, #24] @ 2438 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ + ldr r7, [sp, #328] @ 0x148 │ │ │ │ │ + vmov.f64 d9, d3 │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ + ldr r7, [sp, #312] @ 0x138 │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ vadd.f64 d6, d12, d7 │ │ │ │ │ - ldr r4, [sp, #356] @ 0x164 │ │ │ │ │ vsub.f64 d7, d12, d7 │ │ │ │ │ - b.n 24b0 │ │ │ │ │ - nop │ │ │ │ │ + vldr d0, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r3, [sp, #0] │ │ │ │ │ + vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ + vadd.f64 d5, d0, d8 │ │ │ │ │ + b.n 2568 │ │ │ │ │ .word 0x39ae68c8 │ │ │ │ │ .word 0x3fe1c73b │ │ │ │ │ .word 0x290ea1a3 │ │ │ │ │ .word 0x3fea9b66 │ │ │ │ │ .word 0x3c69a60b │ │ │ │ │ .word 0x3fc8f8b8 │ │ │ │ │ .word 0xcff75cb0 │ │ │ │ │ .word 0x3fef6297 │ │ │ │ │ .word 0xa3d12526 │ │ │ │ │ .word 0x3fefd88d │ │ │ │ │ - .word 0x6b151741 │ │ │ │ │ - .word 0x3fe8bc80 │ │ │ │ │ .word 0x25091dd6 │ │ │ │ │ .word 0x3fe44cf3 │ │ │ │ │ + .word 0x6b151741 │ │ │ │ │ + .word 0x3fe8bc80 │ │ │ │ │ .word 0xbc29b42c │ │ │ │ │ .word 0x3fb917a6 │ │ │ │ │ .word 0x290ea1a3 │ │ │ │ │ .word 0x3fea9b66 │ │ │ │ │ .word 0x56c62dda │ │ │ │ │ .word 0x3fee9f41 │ │ │ │ │ .word 0x2ed59f06 │ │ │ │ │ @@ -2516,537 +2509,538 @@ │ │ │ │ │ .word 0x3fde2b5d │ │ │ │ │ .word 0xf180bdb1 │ │ │ │ │ .word 0x3fec38b2 │ │ │ │ │ .word 0x3c69a60b │ │ │ │ │ .word 0x3fc8f8b8 │ │ │ │ │ .word 0xcff75cb0 │ │ │ │ │ .word 0x3fef6297 │ │ │ │ │ - ldr r3, [sp, #348] @ 0x15c │ │ │ │ │ - vmov.f64 d9, d3 │ │ │ │ │ + ldr r7, [sp, #368] @ 0x170 │ │ │ │ │ + vldr d12, [sp, #664] @ 0x298 │ │ │ │ │ + vldr d14, [sp, #856] @ 0x358 │ │ │ │ │ vsub.f64 d4, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vadd.f64 d5, d2, d10 │ │ │ │ │ vsub.f64 d10, d2, d10 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ + vldr d2, [sp, #792] @ 0x318 │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ vadd.f64 d6, d13, d11 │ │ │ │ │ - ldr r3, [sp, #352] @ 0x160 │ │ │ │ │ vsub.f64 d13, d13, d11 │ │ │ │ │ + ldr r3, [sp, #360] @ 0x168 │ │ │ │ │ + ldr r7, [sp, #372] @ 0x174 │ │ │ │ │ + vldr d11, [sp, #736] @ 0x2e0 │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vsub.f64 d5, d7, d10 │ │ │ │ │ vadd.f64 d7, d7, d10 │ │ │ │ │ + vldr d10, [sp, #728] @ 0x2d8 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ - ldr r3, [sp, #360] @ 0x168 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - ldr r3, [sp, #364] @ 0x16c │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - ldr r3, [sp, #372] @ 0x174 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ + add.w r3, sp, #1088 @ 0x440 │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ + ldr r7, [sp, #376] @ 0x178 │ │ │ │ │ + vstr d5, [r7] │ │ │ │ │ + ldr r7, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d5, [sp, #784] @ 0x310 │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ vsub.f64 d7, d8, d0 │ │ │ │ │ - ldr r3, [sp, #432] @ 0x1b0 │ │ │ │ │ + ldr r7, [sp, #388] @ 0x184 │ │ │ │ │ vadd.f64 d6, d7, d13 │ │ │ │ │ vsub.f64 d13, d13, d7 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - ldr r3, [sp, #368] @ 0x170 │ │ │ │ │ - vldr d12, [sp, #656] @ 0x290 │ │ │ │ │ - vldr d11, [sp, #728] @ 0x2d8 │ │ │ │ │ - vldr d5, [sp, #776] @ 0x308 │ │ │ │ │ - vstr d13, [r3] │ │ │ │ │ - add.w r3, sp, #1080 @ 0x438 │ │ │ │ │ - vldr d13, [sp, #840] @ 0x348 │ │ │ │ │ + vsub.f64 d7, d14, d2 │ │ │ │ │ + vldr d2, [sp, #952] @ 0x3b8 │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ vsub.f64 d6, d12, d11 │ │ │ │ │ - vldr d14, [sp, #848] @ 0x350 │ │ │ │ │ - vldr d2, [sp, #784] @ 0x310 │ │ │ │ │ + ldr r7, [sp, #380] @ 0x17c │ │ │ │ │ + vldr d11, [sp, #640] @ 0x280 │ │ │ │ │ + vstr d13, [r7] │ │ │ │ │ + vldr d13, [sp, #848] @ 0x350 │ │ │ │ │ vsub.f64 d12, d5, d13 │ │ │ │ │ - vldr d11, [sp, #632] @ 0x278 │ │ │ │ │ - vldr d10, [sp, #720] @ 0x2d0 │ │ │ │ │ - vsub.f64 d7, d14, d2 │ │ │ │ │ - vldr d2, [sp, #944] @ 0x3b0 │ │ │ │ │ vsub.f64 d8, d6, d12 │ │ │ │ │ vadd.f64 d1, d6, d12 │ │ │ │ │ + vldr d12, [sp, #920] @ 0x398 │ │ │ │ │ vsub.f64 d6, d11, d10 │ │ │ │ │ - vldr d12, [sp, #912] @ 0x390 │ │ │ │ │ - vldr d11, [sp, #928] @ 0x3a0 │ │ │ │ │ - vldr d10, [pc, #-232] @ 2478 │ │ │ │ │ + vldr d11, [sp, #936] @ 0x3a8 │ │ │ │ │ + vldr d10, [pc, #-228] @ 2530 │ │ │ │ │ vstr d1, [sp] │ │ │ │ │ vadd.f64 d13, d7, d6 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vsub.f64 d7, d12, d2 │ │ │ │ │ - vldr d12, [sp, #960] @ 0x3c0 │ │ │ │ │ + vldr d12, [sp, #968] @ 0x3c8 │ │ │ │ │ vsub.f64 d5, d12, d11 │ │ │ │ │ vldr d12, [r3] │ │ │ │ │ - add.w r3, sp, #1040 @ 0x410 │ │ │ │ │ + add.w r3, sp, #1048 @ 0x418 │ │ │ │ │ vmul.f64 d2, d5, d10 │ │ │ │ │ vnmls.f64 d2, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d10 │ │ │ │ │ vmla.f64 d7, d5, d3 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - add.w r3, sp, #1024 @ 0x400 │ │ │ │ │ + add.w r3, sp, #1032 @ 0x408 │ │ │ │ │ + ldr r2, [sp, #512] @ 0x200 │ │ │ │ │ vsub.f64 d4, d12, d5 │ │ │ │ │ vldr d12, [r3] │ │ │ │ │ - add.w r3, sp, #1056 @ 0x420 │ │ │ │ │ + add.w r3, sp, #1064 @ 0x428 │ │ │ │ │ vldr d0, [r3] │ │ │ │ │ - add.w r3, sp, #1208 @ 0x4b8 │ │ │ │ │ + add.w r3, sp, #1216 @ 0x4c0 │ │ │ │ │ vsub.f64 d5, d12, d0 │ │ │ │ │ vmul.f64 d3, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d10 │ │ │ │ │ vmla.f64 d3, d4, d10 │ │ │ │ │ vnmls.f64 d5, d4, d9 │ │ │ │ │ vsub.f64 d4, d2, d3 │ │ │ │ │ vadd.f64 d3, d2, d3 │ │ │ │ │ - vldr d2, [pc, #-324] @ 2488 │ │ │ │ │ + vldr d2, [pc, #-324] @ 2540 │ │ │ │ │ vsub.f64 d0, d5, d7 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vstr d3, [sp, #8] │ │ │ │ │ + vstr d3, [sp, #16] │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ - add.w r3, sp, #1240 @ 0x4d8 │ │ │ │ │ + add.w r3, sp, #1248 @ 0x4e0 │ │ │ │ │ vldr d12, [r3] │ │ │ │ │ - add.w r3, sp, #1368 @ 0x558 │ │ │ │ │ + add.w r3, sp, #1376 @ 0x560 │ │ │ │ │ vsub.f64 d3, d3, d12 │ │ │ │ │ vldr d12, [r3] │ │ │ │ │ - add.w r3, sp, #1336 @ 0x538 │ │ │ │ │ + add.w r3, sp, #1344 @ 0x540 │ │ │ │ │ vldr d11, [r3] │ │ │ │ │ - add.w r3, sp, #1256 @ 0x4e8 │ │ │ │ │ + add.w r3, sp, #1264 @ 0x4f0 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ - add.w r3, sp, #1224 @ 0x4c8 │ │ │ │ │ + add.w r3, sp, #1232 @ 0x4d0 │ │ │ │ │ vsub.f64 d5, d12, d11 │ │ │ │ │ vldr d12, [r3] │ │ │ │ │ - add.w r3, sp, #1344 @ 0x540 │ │ │ │ │ + add.w r3, sp, #1352 @ 0x548 │ │ │ │ │ vsub.f64 d1, d3, d5 │ │ │ │ │ vadd.f64 d3, d3, d5 │ │ │ │ │ vsub.f64 d5, d9, d12 │ │ │ │ │ vldr d12, [r3] │ │ │ │ │ - add.w r3, sp, #1376 @ 0x560 │ │ │ │ │ + add.w r3, sp, #1384 @ 0x568 │ │ │ │ │ vldr d11, [r3] │ │ │ │ │ - add.w r3, sp, #1120 @ 0x460 │ │ │ │ │ + add.w r3, sp, #1128 @ 0x468 │ │ │ │ │ vsub.f64 d9, d12, d11 │ │ │ │ │ - vldr d11, [pc, #-436] @ 2480 │ │ │ │ │ + vldr d11, [pc, #-436] @ 2538 │ │ │ │ │ vsub.f64 d14, d5, d9 │ │ │ │ │ vadd.f64 d5, d5, d9 │ │ │ │ │ vmul.f64 d9, d14, d2 │ │ │ │ │ vmul.f64 d14, d14, d11 │ │ │ │ │ - vmov.f64 d12, d9 │ │ │ │ │ vnmls.f64 d14, d1, d2 │ │ │ │ │ + vmov.f64 d12, d9 │ │ │ │ │ vmla.f64 d12, d1, d11 │ │ │ │ │ - vstr d12, [sp, #16] │ │ │ │ │ - vldr d12, [pc, #-456] @ 2490 │ │ │ │ │ + vstr d12, [sp, #24] │ │ │ │ │ + vldr d12, [pc, #-456] @ 2548 │ │ │ │ │ vmul.f64 d9, d5, d12 │ │ │ │ │ vmov.f64 d10, d9 │ │ │ │ │ - vldr d9, [pc, #-460] @ 2498 │ │ │ │ │ - vmul.f64 d5, d5, d9 │ │ │ │ │ + vldr d9, [pc, #-460] @ 2550 │ │ │ │ │ vnmls.f64 d10, d3, d9 │ │ │ │ │ - vstr d10, [sp, #24] │ │ │ │ │ + vmul.f64 d5, d5, d9 │ │ │ │ │ + vstr d10, [sp, #32] │ │ │ │ │ vmov.f64 d10, d2 │ │ │ │ │ vmov.f64 d2, d5 │ │ │ │ │ vmla.f64 d2, d3, d12 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ - add.w r3, sp, #1152 @ 0x480 │ │ │ │ │ - vstr d2, [sp, #32] │ │ │ │ │ + add.w r3, sp, #1160 @ 0x488 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ - add.w r3, sp, #1392 @ 0x570 │ │ │ │ │ - ldr r4, [sp, #496] @ 0x1f0 │ │ │ │ │ + add.w r3, sp, #1400 @ 0x578 │ │ │ │ │ vldr d12, [r3] │ │ │ │ │ - add.w r3, sp, #1472 @ 0x5c0 │ │ │ │ │ + add.w r3, sp, #1480 @ 0x5c8 │ │ │ │ │ vsub.f64 d1, d3, d9 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ - add.w r3, sp, #1168 @ 0x490 │ │ │ │ │ + add.w r3, sp, #1176 @ 0x498 │ │ │ │ │ + vstr d2, [sp, #40] @ 0x28 │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ - add.w r3, sp, #1136 @ 0x470 │ │ │ │ │ - vsub.f64 d5, d12, d3 │ │ │ │ │ + add.w r3, sp, #1144 @ 0x478 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ - add.w r3, sp, #1480 @ 0x5c8 │ │ │ │ │ - vsub.f64 d3, d1, d5 │ │ │ │ │ - vadd.f64 d1, d1, d5 │ │ │ │ │ + add.w r3, sp, #1488 @ 0x5d0 │ │ │ │ │ + vsub.f64 d5, d12, d3 │ │ │ │ │ vldr d12, [r3] │ │ │ │ │ - add.w r3, sp, #1400 @ 0x578 │ │ │ │ │ + add.w r3, sp, #1408 @ 0x580 │ │ │ │ │ vsub.f64 d2, d2, d9 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ - ldr r3, [sp, #472] @ 0x1d8 │ │ │ │ │ + vsub.f64 d3, d1, d5 │ │ │ │ │ + vadd.f64 d1, d1, d5 │ │ │ │ │ vsub.f64 d5, d12, d9 │ │ │ │ │ vmov.f64 d12, d11 │ │ │ │ │ vsub.f64 d9, d2, d5 │ │ │ │ │ vadd.f64 d2, d2, d5 │ │ │ │ │ vmul.f64 d5, d9, d11 │ │ │ │ │ - vldr d11, [pc, #-604] @ 2490 │ │ │ │ │ + vldr d11, [pc, #-600] @ 2548 │ │ │ │ │ vnmls.f64 d5, d3, d10 │ │ │ │ │ - vmul.f64 d10, d1, d11 │ │ │ │ │ - vldr d11, [pc, #-608] @ 2498 │ │ │ │ │ vmul.f64 d3, d3, d12 │ │ │ │ │ - vldr d12, [sp, #16] │ │ │ │ │ + vldr d12, [sp, #24] │ │ │ │ │ + vmul.f64 d10, d1, d11 │ │ │ │ │ + vldr d11, [pc, #-612] @ 2550 │ │ │ │ │ vmla.f64 d10, d2, d11 │ │ │ │ │ - vldr d11, [pc, #-640] @ 2488 │ │ │ │ │ + vldr d11, [pc, #-636] @ 2540 │ │ │ │ │ vmla.f64 d3, d9, d11 │ │ │ │ │ - vldr d11, [pc, #-640] @ 2490 │ │ │ │ │ + vldr d11, [pc, #-636] @ 2548 │ │ │ │ │ vmul.f64 d2, d2, d11 │ │ │ │ │ vmov.f64 d11, d2 │ │ │ │ │ - vldr d2, [pc, #-644] @ 2498 │ │ │ │ │ + vldr d2, [pc, #-640] @ 2550 │ │ │ │ │ vnmls.f64 d11, d1, d2 │ │ │ │ │ vadd.f64 d1, d12, d5 │ │ │ │ │ vadd.f64 d2, d8, d4 │ │ │ │ │ vsub.f64 d4, d8, d4 │ │ │ │ │ vsub.f64 d5, d5, d12 │ │ │ │ │ vsub.f64 d9, d2, d1 │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ vadd.f64 d1, d14, d3 │ │ │ │ │ vsub.f64 d14, d14, d3 │ │ │ │ │ - vstr d9, [r4] │ │ │ │ │ - vstr d2, [r9] │ │ │ │ │ + vstr d9, [r2] │ │ │ │ │ + vstr d2, [fp] │ │ │ │ │ vadd.f64 d2, d6, d0 │ │ │ │ │ - ldr r4, [sp, #504] @ 0x1f8 │ │ │ │ │ vsub.f64 d3, d4, d14 │ │ │ │ │ - vsub.f64 d6, d6, d0 │ │ │ │ │ + ldr r2, [sp, #520] @ 0x208 │ │ │ │ │ vadd.f64 d4, d4, d14 │ │ │ │ │ - vldr d0, [sp, #24] │ │ │ │ │ + vsub.f64 d6, d6, d0 │ │ │ │ │ vadd.f64 d9, d1, d2 │ │ │ │ │ vsub.f64 d2, d2, d1 │ │ │ │ │ - vldr d1, [sp] │ │ │ │ │ vstr d9, [r5] │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ - ldr r4, [sp, #532] @ 0x214 │ │ │ │ │ - vldr d2, [sp, #32] │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ - ldr r4, [sp, #540] @ 0x21c │ │ │ │ │ - vldr d3, [sp, #8] │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ + ldr r2, [sp, #544] @ 0x220 │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ + ldr r2, [sp, #552] @ 0x228 │ │ │ │ │ + vldr d1, [sp] │ │ │ │ │ + vldr d3, [sp, #16] │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ - ldr r4, [sp, #568] @ 0x238 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ + vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ + ldr r2, [sp, #556] @ 0x22c │ │ │ │ │ + vldr d0, [sp, #32] │ │ │ │ │ vadd.f64 d5, d2, d11 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - ldr r4, [sp, #536] @ 0x218 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ + ldr r3, [sp, #480] @ 0x1e0 │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ + ldr r7, [sp, #496] @ 0x1f0 │ │ │ │ │ + ldr r2, [sp, #548] @ 0x224 │ │ │ │ │ + vldr d14, [sp, #856] @ 0x358 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ vadd.f64 d6, d1, d7 │ │ │ │ │ - ldr r4, [sp, #480] @ 0x1e0 │ │ │ │ │ vsub.f64 d7, d1, d7 │ │ │ │ │ + ldr r2, [sp, #488] @ 0x1e8 │ │ │ │ │ vsub.f64 d4, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vadd.f64 d5, d0, d10 │ │ │ │ │ vsub.f64 d10, d0, d10 │ │ │ │ │ - vldr d0, [pc, #-796] @ 24a0 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - vstr d6, [r8] │ │ │ │ │ + vldr d0, [pc, #-800] @ 2558 │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ vadd.f64 d6, d13, d3 │ │ │ │ │ - ldr r4, [sp, #488] @ 0x1e8 │ │ │ │ │ vsub.f64 d13, d13, d3 │ │ │ │ │ + ldr r7, [sp, #504] @ 0x1f8 │ │ │ │ │ + ldr r3, [sp, #528] @ 0x210 │ │ │ │ │ + vldr d3, [sp, #792] @ 0x318 │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vsub.f64 d5, d7, d10 │ │ │ │ │ vadd.f64 d7, d7, d10 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ - ldr r4, [sp, #520] @ 0x208 │ │ │ │ │ - ldr r3, [sp, #512] @ 0x200 │ │ │ │ │ - vldr d4, [sp, #728] @ 0x2d8 │ │ │ │ │ - vldr d3, [sp, #784] @ 0x310 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ + vadd.f64 d12, d3, d14 │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ + ldr r7, [sp, #536] @ 0x218 │ │ │ │ │ + vldr d4, [sp, #736] @ 0x2e0 │ │ │ │ │ + vstr d5, [r7] │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d11, d2 │ │ │ │ │ - ldr r4, [sp, #528] @ 0x210 │ │ │ │ │ - add.w r3, sp, #1040 @ 0x410 │ │ │ │ │ - vldr d14, [sp, #848] @ 0x350 │ │ │ │ │ - vldr d5, [sp, #776] @ 0x308 │ │ │ │ │ + add.w r3, sp, #1048 @ 0x418 │ │ │ │ │ + ldr r7, [sp, #540] @ 0x21c │ │ │ │ │ + vldr d5, [sp, #784] @ 0x310 │ │ │ │ │ vadd.f64 d6, d7, d13 │ │ │ │ │ vsub.f64 d13, d13, d7 │ │ │ │ │ - vadd.f64 d12, d3, d14 │ │ │ │ │ - vldr d2, [sp, #944] @ 0x3b0 │ │ │ │ │ - vldr d14, [sp, #912] @ 0x390 │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ - vldr d6, [sp, #656] @ 0x290 │ │ │ │ │ - vstr d13, [r4] │ │ │ │ │ - vldr d13, [sp, #840] @ 0x348 │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ + vldr d6, [sp, #664] @ 0x298 │ │ │ │ │ + vstr d13, [r7] │ │ │ │ │ + vldr d13, [sp, #848] @ 0x350 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vldr d4, [sp, #960] @ 0x3c0 │ │ │ │ │ vadd.f64 d7, d5, d13 │ │ │ │ │ - vldr d13, [sp, #632] @ 0x278 │ │ │ │ │ + vldr d13, [sp, #640] @ 0x280 │ │ │ │ │ vsub.f64 d8, d6, d12 │ │ │ │ │ vadd.f64 d12, d6, d12 │ │ │ │ │ - vldr d6, [sp, #720] @ 0x2d0 │ │ │ │ │ + vldr d6, [sp, #728] @ 0x2d8 │ │ │ │ │ + vldr d14, [sp, #920] @ 0x398 │ │ │ │ │ + vldr d2, [sp, #952] @ 0x3b8 │ │ │ │ │ vadd.f64 d6, d13, d6 │ │ │ │ │ + vldr d4, [sp, #968] @ 0x3c8 │ │ │ │ │ vadd.f64 d13, d7, d6 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vadd.f64 d7, d14, d2 │ │ │ │ │ - vldr d14, [sp, #928] @ 0x3a0 │ │ │ │ │ + vldr d14, [sp, #936] @ 0x3a8 │ │ │ │ │ vadd.f64 d5, d14, d4 │ │ │ │ │ + vldr d4, [pc, #-960] @ 2560 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ - add.w r3, sp, #1080 @ 0x438 │ │ │ │ │ - vldr d4, [pc, #-968] @ 24a8 │ │ │ │ │ + add.w r3, sp, #1088 @ 0x440 │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ - add.w r3, sp, #1024 @ 0x400 │ │ │ │ │ + add.w r3, sp, #1032 @ 0x408 │ │ │ │ │ vmul.f64 d3, d5, d0 │ │ │ │ │ vmov.f64 d1, d4 │ │ │ │ │ vadd.f64 d2, d14, d2 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ - add.w r3, sp, #1056 @ 0x420 │ │ │ │ │ + add.w r3, sp, #1064 @ 0x428 │ │ │ │ │ vnmls.f64 d3, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ vmla.f64 d7, d5, d4 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - add.w r3, sp, #1224 @ 0x4c8 │ │ │ │ │ + add.w r3, sp, #1232 @ 0x4d0 │ │ │ │ │ vadd.f64 d5, d14, d5 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ - add.w r3, sp, #1256 @ 0x4e8 │ │ │ │ │ + add.w r3, sp, #1264 @ 0x4f0 │ │ │ │ │ vmul.f64 d4, d5, d4 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ vmla.f64 d4, d2, d0 │ │ │ │ │ vnmls.f64 d5, d2, d1 │ │ │ │ │ - vldr d1, [pc, #976] @ 2c90 │ │ │ │ │ + vldr d1, [pc, #976] @ 2d48 │ │ │ │ │ vadd.f64 d11, d3, d4 │ │ │ │ │ vsub.f64 d2, d3, d4 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ - add.w r3, sp, #1336 @ 0x538 │ │ │ │ │ + add.w r3, sp, #1344 @ 0x540 │ │ │ │ │ vsub.f64 d0, d5, d7 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - add.w r3, sp, #1368 @ 0x558 │ │ │ │ │ + add.w r3, sp, #1376 @ 0x560 │ │ │ │ │ vadd.f64 d4, d14, d4 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ - add.w r3, sp, #1208 @ 0x4b8 │ │ │ │ │ + add.w r3, sp, #1216 @ 0x4c0 │ │ │ │ │ vstr d7, [sp] │ │ │ │ │ - vadd.f64 d5, d5, d14 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - add.w r3, sp, #1240 @ 0x4d8 │ │ │ │ │ + add.w r3, sp, #1248 @ 0x4e0 │ │ │ │ │ + vadd.f64 d5, d5, d14 │ │ │ │ │ vsub.f64 d14, d4, d5 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - add.w r3, sp, #1344 @ 0x540 │ │ │ │ │ + add.w r3, sp, #1352 @ 0x548 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ - add.w r3, sp, #1376 @ 0x560 │ │ │ │ │ - vadd.f64 d5, d7, d5 │ │ │ │ │ - vldr d7, [pc, #892] @ 2c98 │ │ │ │ │ + add.w r3, sp, #1384 @ 0x568 │ │ │ │ │ vldr d10, [r3] │ │ │ │ │ - add.w r3, sp, #1120 @ 0x460 │ │ │ │ │ + add.w r3, sp, #1128 @ 0x468 │ │ │ │ │ + vadd.f64 d5, d7, d5 │ │ │ │ │ + vldr d7, [pc, #884] @ 2d50 │ │ │ │ │ vadd.f64 d3, d3, d10 │ │ │ │ │ - vldr d10, [pc, #884] @ 2ca0 │ │ │ │ │ + vldr d10, [pc, #884] @ 2d58 │ │ │ │ │ vsub.f64 d9, d5, d3 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ vmul.f64 d3, d9, d15 │ │ │ │ │ vmla.f64 d3, d14, d10 │ │ │ │ │ vmul.f64 d14, d14, d15 │ │ │ │ │ vnmls.f64 d14, d9, d10 │ │ │ │ │ - vstr d3, [sp, #8] │ │ │ │ │ + vstr d3, [sp, #16] │ │ │ │ │ vmul.f64 d3, d4, d1 │ │ │ │ │ - ldr r0, [sp, #376] @ 0x178 │ │ │ │ │ vnmls.f64 d3, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vmla.f64 d5, d4, d7 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ - add.w r3, sp, #1152 @ 0x480 │ │ │ │ │ - vstr d3, [sp, #16] │ │ │ │ │ - vstr d5, [sp, #24] │ │ │ │ │ + add.w r3, sp, #1160 @ 0x488 │ │ │ │ │ + vstr d3, [sp, #24] │ │ │ │ │ + vstr d5, [sp, #32] │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - add.w r3, sp, #1480 @ 0x5c8 │ │ │ │ │ + add.w r3, sp, #1488 @ 0x5d0 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - add.w r3, sp, #1400 @ 0x578 │ │ │ │ │ + add.w r3, sp, #1408 @ 0x580 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ - add.w r3, sp, #1136 @ 0x470 │ │ │ │ │ + add.w r3, sp, #1144 @ 0x478 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ vsub.f64 d9, d4, d5 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - add.w r3, sp, #1168 @ 0x490 │ │ │ │ │ + add.w r3, sp, #1176 @ 0x498 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ - add.w r3, sp, #1472 @ 0x5c0 │ │ │ │ │ + add.w r3, sp, #1480 @ 0x5c8 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ - add.w r3, sp, #1392 @ 0x570 │ │ │ │ │ + add.w r3, sp, #1400 @ 0x578 │ │ │ │ │ vldr d1, [r3] │ │ │ │ │ - ldr r3, [sp, #448] @ 0x1c0 │ │ │ │ │ + ldr r3, [sp, #456] @ 0x1c8 │ │ │ │ │ vadd.f64 d3, d3, d1 │ │ │ │ │ vsub.f64 d1, d5, d3 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ vmul.f64 d3, d1, d15 │ │ │ │ │ vnmls.f64 d3, d9, d10 │ │ │ │ │ vmul.f64 d10, d5, d7 │ │ │ │ │ - vldr d7, [pc, #704] @ 2c90 │ │ │ │ │ + vldr d7, [pc, #708] @ 2d48 │ │ │ │ │ vmla.f64 d10, d4, d7 │ │ │ │ │ - vldr d7, [pc, #712] @ 2ca0 │ │ │ │ │ + vldr d7, [pc, #716] @ 2d58 │ │ │ │ │ vmul.f64 d1, d1, d7 │ │ │ │ │ - vldr d7, [pc, #688] @ 2c90 │ │ │ │ │ + vldr d7, [pc, #692] @ 2d48 │ │ │ │ │ vmla.f64 d1, d9, d15 │ │ │ │ │ vmul.f64 d15, d5, d7 │ │ │ │ │ - vldr d7, [pc, #684] @ 2c98 │ │ │ │ │ + vldr d7, [pc, #688] @ 2d50 │ │ │ │ │ vadd.f64 d5, d8, d2 │ │ │ │ │ vsub.f64 d2, d8, d2 │ │ │ │ │ vnmls.f64 d15, d4, d7 │ │ │ │ │ - vldr d7, [sp, #8] │ │ │ │ │ + vldr d7, [sp, #16] │ │ │ │ │ vadd.f64 d4, d7, d3 │ │ │ │ │ vsub.f64 d3, d3, d7 │ │ │ │ │ - vldr d7, [sp] │ │ │ │ │ vsub.f64 d9, d5, d4 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ vadd.f64 d4, d14, d1 │ │ │ │ │ vsub.f64 d14, d14, d1 │ │ │ │ │ vstr d9, [r3] │ │ │ │ │ - ldr r3, [sp, #440] @ 0x1b8 │ │ │ │ │ + ldr r3, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d7, [sp] │ │ │ │ │ + ldr r7, [sp, #472] @ 0x1d8 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ vadd.f64 d5, d6, d0 │ │ │ │ │ - ldr r3, [sp, #444] @ 0x1bc │ │ │ │ │ vsub.f64 d6, d6, d0 │ │ │ │ │ - vldr d0, [pc, #632] @ 2ca8 │ │ │ │ │ + ldr r5, [sp, #8] │ │ │ │ │ + ldr r3, [sp, #452] @ 0x1c4 │ │ │ │ │ + ldr r4, [sp, #392] @ 0x188 │ │ │ │ │ vadd.f64 d9, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ + vldr d0, [pc, #620] @ 2d60 │ │ │ │ │ vstr d9, [r3] │ │ │ │ │ - ldr r3, [sp, #452] @ 0x1c4 │ │ │ │ │ - vldr d9, [pc, #644] @ 2cc8 │ │ │ │ │ + ldr r3, [sp, #460] @ 0x1cc │ │ │ │ │ + vldr d9, [pc, #644] @ 2d80 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ vsub.f64 d5, d2, d14 │ │ │ │ │ - ldr r3, [sp, #456] @ 0x1c8 │ │ │ │ │ vadd.f64 d2, d2, d14 │ │ │ │ │ - vldr d14, [sp, #24] │ │ │ │ │ + vldr d14, [sp, #32] │ │ │ │ │ + ldr r3, [sp, #464] @ 0x1d0 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ vadd.f64 d5, d3, d6 │ │ │ │ │ - ldr r3, [sp, #464] @ 0x1d0 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ - vstr d2, [r3] │ │ │ │ │ + vstr d2, [r7] │ │ │ │ │ ldr r3, [sp, #468] @ 0x1d4 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ + vldr d3, [sp, #24] │ │ │ │ │ + ldr r7, [sp, #476] @ 0x1dc │ │ │ │ │ + vstr d5, [r7] │ │ │ │ │ vadd.f64 d5, d14, d15 │ │ │ │ │ - ldr r3, [sp, #460] @ 0x1cc │ │ │ │ │ vsub.f64 d15, d15, d14 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ vadd.f64 d6, d12, d7 │ │ │ │ │ - ldr r3, [sp, #392] @ 0x188 │ │ │ │ │ vsub.f64 d7, d12, d7 │ │ │ │ │ + ldr r7, [sp, #400] @ 0x190 │ │ │ │ │ + ldr r3, [sp, #416] @ 0x1a0 │ │ │ │ │ vsub.f64 d4, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ - vadd.f64 d6, d13, d11 │ │ │ │ │ - vldr d3, [sp, #16] │ │ │ │ │ - vsub.f64 d13, d13, d11 │ │ │ │ │ - ldr r4, [sp, #384] @ 0x180 │ │ │ │ │ - ldr r0, [sp, #400] @ 0x190 │ │ │ │ │ vadd.f64 d5, d3, d10 │ │ │ │ │ vsub.f64 d10, d3, d10 │ │ │ │ │ - ldr r5, [sp, #408] @ 0x198 │ │ │ │ │ - ldr r3, [sp, #416] @ 0x1a0 │ │ │ │ │ - vldr d1, [sp, #768] @ 0x300 │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ + vstr d6, [r5] │ │ │ │ │ + vadd.f64 d6, d13, d11 │ │ │ │ │ + vsub.f64 d13, d13, d11 │ │ │ │ │ + ldr r5, [sp, #424] @ 0x1a8 │ │ │ │ │ + vldr d11, [pc, #528] @ 2d78 │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vsub.f64 d5, d7, d10 │ │ │ │ │ vadd.f64 d7, d7, d10 │ │ │ │ │ - vldr d3, [sp, #832] @ 0x340 │ │ │ │ │ - vldr d10, [sp, #736] @ 0x2e0 │ │ │ │ │ vstr d4, [r4] │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ + ldr r4, [sp, #408] @ 0x198 │ │ │ │ │ + vldr d4, [pc, #484] @ 2d68 │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ vadd.f64 d6, d15, d13 │ │ │ │ │ - ldr r0, [sp, #424] @ 0x1a8 │ │ │ │ │ vsub.f64 d13, d13, d15 │ │ │ │ │ - vldr d4, [pc, #460] @ 2cb0 │ │ │ │ │ - vldr d11, [pc, #472] @ 2cc0 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ - ldr r5, [sp, #436] @ 0x1b4 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - add.w r3, sp, #1032 @ 0x408 │ │ │ │ │ - vldr d6, [sp, #712] @ 0x2c8 │ │ │ │ │ - vstr d13, [r5] │ │ │ │ │ - vldr d13, [sp, #648] @ 0x288 │ │ │ │ │ - vldr d14, [r3] │ │ │ │ │ - add.w r3, sp, #1048 @ 0x418 │ │ │ │ │ + ldr r4, [sp, #432] @ 0x1b0 │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ + ldr r4, [sp, #440] @ 0x1b8 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + add.w r3, sp, #1024 @ 0x400 │ │ │ │ │ + vstr d6, [r5] │ │ │ │ │ + vstr d13, [r4] │ │ │ │ │ + vldr d13, [sp, #656] @ 0x290 │ │ │ │ │ + vldr d6, [sp, #720] @ 0x2d0 │ │ │ │ │ + vldr d10, [sp, #744] @ 0x2e8 │ │ │ │ │ + vldr d1, [sp, #776] @ 0x308 │ │ │ │ │ + vldr d3, [sp, #840] @ 0x348 │ │ │ │ │ vadd.f64 d6, d13, d6 │ │ │ │ │ vadd.f64 d13, d1, d3 │ │ │ │ │ - vldr d3, [sp, #640] @ 0x280 │ │ │ │ │ + vldr d3, [sp, #648] @ 0x288 │ │ │ │ │ vmov.f64 d1, d4 │ │ │ │ │ vsub.f64 d5, d6, d13 │ │ │ │ │ vadd.f64 d13, d6, d13 │ │ │ │ │ - vldr d6, [sp, #760] @ 0x2f8 │ │ │ │ │ + vldr d6, [sp, #768] @ 0x300 │ │ │ │ │ vadd.f64 d7, d3, d10 │ │ │ │ │ - vldr d3, [sp, #920] @ 0x398 │ │ │ │ │ - vldr d10, [sp, #1016] @ 0x3f8 │ │ │ │ │ + vldr d3, [sp, #928] @ 0x3a0 │ │ │ │ │ + vldr d10, [r3] │ │ │ │ │ + add.w r3, sp, #1040 @ 0x410 │ │ │ │ │ vstr d5, [sp] │ │ │ │ │ - vldr d5, [sp, #824] @ 0x338 │ │ │ │ │ + vldr d5, [sp, #832] @ 0x340 │ │ │ │ │ + vldr d14, [r3] │ │ │ │ │ + add.w r3, sp, #1056 @ 0x420 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vadd.f64 d12, d6, d7 │ │ │ │ │ vsub.f64 d8, d7, d6 │ │ │ │ │ - vldr d6, [sp, #904] @ 0x388 │ │ │ │ │ - vldr d7, [pc, #360] @ 2cb8 │ │ │ │ │ + vldr d6, [sp, #912] @ 0x390 │ │ │ │ │ + vldr d7, [pc, #356] @ 2d70 │ │ │ │ │ vadd.f64 d5, d6, d3 │ │ │ │ │ - vldr d3, [sp, #952] @ 0x3b8 │ │ │ │ │ - vldr d6, [sp, #936] @ 0x3a8 │ │ │ │ │ + vldr d6, [sp, #944] @ 0x3b0 │ │ │ │ │ vstr d8, [sp, #8] │ │ │ │ │ + vldr d3, [sp, #960] @ 0x3c0 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ vmul.f64 d3, d6, d4 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ - vmla.f64 d6, d5, d4 │ │ │ │ │ vnmls.f64 d3, d5, d0 │ │ │ │ │ + vmla.f64 d6, d5, d4 │ │ │ │ │ vadd.f64 d5, d10, d14 │ │ │ │ │ vldr d10, [r3] │ │ │ │ │ - add.w r3, sp, #1072 @ 0x430 │ │ │ │ │ + add.w r3, sp, #1080 @ 0x438 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ - add.w r3, sp, #1232 @ 0x4d0 │ │ │ │ │ + add.w r3, sp, #1240 @ 0x4d8 │ │ │ │ │ vadd.f64 d2, d10, d14 │ │ │ │ │ vldr d10, [r3] │ │ │ │ │ - add.w r3, sp, #1248 @ 0x4e0 │ │ │ │ │ + add.w r3, sp, #1256 @ 0x4e8 │ │ │ │ │ vmul.f64 d4, d2, d4 │ │ │ │ │ vmla.f64 d4, d5, d0 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vnmls.f64 d5, d2, d0 │ │ │ │ │ vsub.f64 d2, d3, d4 │ │ │ │ │ vadd.f64 d3, d3, d4 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ - add.w r3, sp, #1304 @ 0x518 │ │ │ │ │ - ldr r5, [sp, #580] @ 0x244 │ │ │ │ │ - ldr r0, [sp, #576] @ 0x240 │ │ │ │ │ - vadd.f64 d4, d10, d4 │ │ │ │ │ - vsub.f64 d0, d5, d6 │ │ │ │ │ + add.w r3, sp, #1312 @ 0x520 │ │ │ │ │ vldr d8, [r3] │ │ │ │ │ - add.w r3, sp, #1320 @ 0x528 │ │ │ │ │ - vadd.f64 d6, d6, d5 │ │ │ │ │ + add.w r3, sp, #1328 @ 0x530 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ - add.w r3, sp, #1200 @ 0x4b0 │ │ │ │ │ + add.w r3, sp, #1208 @ 0x4b8 │ │ │ │ │ + vsub.f64 d0, d5, d6 │ │ │ │ │ + vadd.f64 d4, d10, d4 │ │ │ │ │ + vadd.f64 d6, d6, d5 │ │ │ │ │ vldr d10, [r3] │ │ │ │ │ - add.w r3, sp, #1216 @ 0x4c0 │ │ │ │ │ - vadd.f64 d5, d8, d14 │ │ │ │ │ + add.w r3, sp, #1224 @ 0x4c8 │ │ │ │ │ vldr d15, [r3] │ │ │ │ │ - add.w r3, sp, #1312 @ 0x520 │ │ │ │ │ + add.w r3, sp, #1320 @ 0x528 │ │ │ │ │ + vldr d1, [r3] │ │ │ │ │ + add.w r3, sp, #1336 @ 0x538 │ │ │ │ │ + vadd.f64 d5, d8, d14 │ │ │ │ │ + vldr d8, [r3] │ │ │ │ │ + add.w r3, sp, #1120 @ 0x460 │ │ │ │ │ vsub.f64 d14, d4, d5 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ - vldr d1, [r3] │ │ │ │ │ - add.w r3, sp, #1328 @ 0x530 │ │ │ │ │ vadd.f64 d5, d10, d15 │ │ │ │ │ - vldr d15, [pc, #208] @ 2cd0 │ │ │ │ │ - vldr d8, [r3] │ │ │ │ │ - add.w r3, sp, #1112 @ 0x458 │ │ │ │ │ + vldr d15, [pc, #200] @ 2d88 │ │ │ │ │ vadd.f64 d1, d1, d8 │ │ │ │ │ vsub.f64 d10, d5, d1 │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ vmul.f64 d1, d10, d7 │ │ │ │ │ vmla.f64 d1, d14, d11 │ │ │ │ │ vmul.f64 d14, d14, d7 │ │ │ │ │ vnmls.f64 d14, d10, d11 │ │ │ │ │ vstr d1, [sp, #16] │ │ │ │ │ vmul.f64 d1, d4, d9 │ │ │ │ │ vmov.f64 d8, d1 │ │ │ │ │ vnmls.f64 d8, d5, d15 │ │ │ │ │ vmul.f64 d5, d5, d9 │ │ │ │ │ vmla.f64 d5, d4, d15 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ - add.w r3, sp, #1128 @ 0x468 │ │ │ │ │ + add.w r3, sp, #1136 @ 0x470 │ │ │ │ │ vldr d11, [r3] │ │ │ │ │ - add.w r3, sp, #1448 @ 0x5a8 │ │ │ │ │ - vadd.f64 d4, d4, d11 │ │ │ │ │ + add.w r3, sp, #1456 @ 0x5b0 │ │ │ │ │ vstr d8, [sp, #24] │ │ │ │ │ + vadd.f64 d4, d4, d11 │ │ │ │ │ vstr d5, [sp, #32] │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - add.w r3, sp, #1464 @ 0x5b8 │ │ │ │ │ + add.w r3, sp, #1472 @ 0x5c0 │ │ │ │ │ vldr d1, [r3] │ │ │ │ │ - add.w r3, sp, #1144 @ 0x478 │ │ │ │ │ + add.w r3, sp, #1152 @ 0x480 │ │ │ │ │ + ldr r4, [sp, #588] @ 0x24c │ │ │ │ │ + ldr r5, [sp, #616] @ 0x268 │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ vsub.f64 d9, d4, d5 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - add.w r3, sp, #1160 @ 0x488 │ │ │ │ │ + add.w r3, sp, #1168 @ 0x490 │ │ │ │ │ vldr d11, [r3] │ │ │ │ │ - add.w r3, sp, #1440 @ 0x5a0 │ │ │ │ │ + add.w r3, sp, #1448 @ 0x5a8 │ │ │ │ │ vldr d8, [r3] │ │ │ │ │ - add.w r3, sp, #1456 @ 0x5b0 │ │ │ │ │ - b.n 2cd8 │ │ │ │ │ + b.n 2d90 │ │ │ │ │ + nop │ │ │ │ │ .word 0xbc29b42c │ │ │ │ │ .word 0x3fb917a6 │ │ │ │ │ .word 0xa3d12526 │ │ │ │ │ .word 0x3fefd88d │ │ │ │ │ .word 0x25091dd6 │ │ │ │ │ .word 0x3fe44cf3 │ │ │ │ │ .word 0x290ea1a3 │ │ │ │ │ @@ -3057,118 +3051,123 @@ │ │ │ │ │ .word 0x3fec38b2 │ │ │ │ │ .word 0x3806f63b │ │ │ │ │ .word 0x3fde2b5d │ │ │ │ │ .word 0x2ed59f06 │ │ │ │ │ .word 0x3fd29406 │ │ │ │ │ .word 0x56c62dda │ │ │ │ │ .word 0x3fee9f41 │ │ │ │ │ - vadd.f64 d5, d5, d11 │ │ │ │ │ + add.w r3, sp, #1464 @ 0x5b8 │ │ │ │ │ vldr d1, [r3] │ │ │ │ │ + vadd.f64 d5, d5, d11 │ │ │ │ │ + ldr r3, [sp, #584] @ 0x248 │ │ │ │ │ vadd.f64 d10, d8, d1 │ │ │ │ │ vmov.f64 d8, d7 │ │ │ │ │ vsub.f64 d1, d5, d10 │ │ │ │ │ vadd.f64 d5, d5, d10 │ │ │ │ │ - vldr d10, [pc, #-52] @ 2cc0 │ │ │ │ │ + vldr d10, [pc, #-56] @ 2d78 │ │ │ │ │ vmul.f64 d11, d1, d7 │ │ │ │ │ vmov.f64 d7, d10 │ │ │ │ │ vmul.f64 d15, d5, d15 │ │ │ │ │ - vnmls.f64 d11, d9, d10 │ │ │ │ │ - vldr d10, [pc, #-64] @ 2cc8 │ │ │ │ │ vmul.f64 d1, d1, d7 │ │ │ │ │ vldr d7, [sp, #16] │ │ │ │ │ + vnmls.f64 d11, d9, d10 │ │ │ │ │ + vldr d10, [pc, #-76] @ 2d80 │ │ │ │ │ vmla.f64 d1, d9, d8 │ │ │ │ │ vldr d8, [sp, #8] │ │ │ │ │ vmla.f64 d15, d4, d10 │ │ │ │ │ vmul.f64 d10, d5, d10 │ │ │ │ │ - vldr d5, [pc, #-84] @ 2cd0 │ │ │ │ │ + vldr d5, [pc, #-88] @ 2d88 │ │ │ │ │ vnmls.f64 d10, d4, d5 │ │ │ │ │ vldr d5, [sp] │ │ │ │ │ vadd.f64 d4, d7, d11 │ │ │ │ │ vsub.f64 d11, d11, d7 │ │ │ │ │ vsub.f64 d7, d8, d0 │ │ │ │ │ vadd.f64 d5, d5, d2 │ │ │ │ │ vsub.f64 d9, d5, d4 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ vadd.f64 d4, d14, d1 │ │ │ │ │ vsub.f64 d14, d14, d1 │ │ │ │ │ - vstr d9, [r5] │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ + vldr d1, [sp, #32] │ │ │ │ │ + vstr d9, [r4] │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ vadd.f64 d5, d8, d0 │ │ │ │ │ - ldr r5, [sp, #584] @ 0x248 │ │ │ │ │ - ldr r0, [sp, #608] @ 0x260 │ │ │ │ │ + ldr r4, [sp, #592] @ 0x250 │ │ │ │ │ + ldr r3, [sp, #620] @ 0x26c │ │ │ │ │ vadd.f64 d9, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vadd.f64 d4, d11, d7 │ │ │ │ │ vsub.f64 d7, d7, d11 │ │ │ │ │ - vstr d9, [r1] │ │ │ │ │ - vstr d5, [r5] │ │ │ │ │ + vstr d9, [r0] │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ vldr d5, [sp] │ │ │ │ │ - ldr r5, [sp, #600] @ 0x258 │ │ │ │ │ + ldr r0, [sp, #560] @ 0x230 │ │ │ │ │ + ldr r4, [sp, #608] @ 0x260 │ │ │ │ │ vsub.f64 d2, d5, d2 │ │ │ │ │ vsub.f64 d5, d2, d14 │ │ │ │ │ vadd.f64 d2, d2, d14 │ │ │ │ │ - vstr d5, [r5] │ │ │ │ │ - vstr d2, [r0] │ │ │ │ │ - ldr r3, [sp, #612] @ 0x264 │ │ │ │ │ - ldr r5, [sp, #604] @ 0x25c │ │ │ │ │ - vldr d1, [sp, #32] │ │ │ │ │ - ldr r0, [sp, #560] @ 0x230 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ vadd.f64 d5, d1, d10 │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ - vadd.f64 d7, d13, d6 │ │ │ │ │ - ldr r1, [sp, #544] @ 0x220 │ │ │ │ │ + vsub.f64 d10, d10, d1 │ │ │ │ │ + ldr r4, [sp, #612] @ 0x264 │ │ │ │ │ + vstr d2, [r5] │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ vldr d2, [sp, #24] │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + vadd.f64 d7, d13, d6 │ │ │ │ │ vsub.f64 d13, d13, d6 │ │ │ │ │ - ldr r3, [sp, #552] @ 0x228 │ │ │ │ │ - vsub.f64 d10, d10, d1 │ │ │ │ │ - ldr r4, [sp, #588] @ 0x24c │ │ │ │ │ + ldr r3, [sp, #568] @ 0x238 │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vadd.f64 d5, d2, d15 │ │ │ │ │ vsub.f64 d15, d2, d15 │ │ │ │ │ - vstr d4, [r0] │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ vadd.f64 d7, d12, d3 │ │ │ │ │ - vsub.f64 d6, d13, d15 │ │ │ │ │ vsub.f64 d12, d12, d3 │ │ │ │ │ + ldr r3, [sp, #576] @ 0x240 │ │ │ │ │ + vsub.f64 d6, d13, d15 │ │ │ │ │ vadd.f64 d13, d13, d15 │ │ │ │ │ vadd.f64 d4, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - ldr r3, [sp, #572] @ 0x23c │ │ │ │ │ + vstr d4, [ip] │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vadd.f64 d7, d10, d12 │ │ │ │ │ - ldr r3, [sp, #592] @ 0x250 │ │ │ │ │ vsub.f64 d12, d12, d10 │ │ │ │ │ + ldrd r2, r3, [sp, #596] @ 0x254 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ - ldr r3, [sp, #596] @ 0x254 │ │ │ │ │ - vstr d13, [r4] │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ + ldr r3, [sp, #604] @ 0x25c │ │ │ │ │ + vstr d13, [r2] │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ vstr d12, [r3] │ │ │ │ │ - ldr.w r3, [sp, #1784] @ 0x6f8 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str.w r3, [sp, #1784] @ 0x6f8 │ │ │ │ │ - ldr.w r3, [sp, #1672] @ 0x688 │ │ │ │ │ - ldr.w r2, [sp, #1784] @ 0x6f8 │ │ │ │ │ - add r7, r3 │ │ │ │ │ - add ip, r3 │ │ │ │ │ - ldr.w r3, [sp, #1676] @ 0x68c │ │ │ │ │ - eor.w lr, lr, r3 │ │ │ │ │ - ldr.w r3, [sp, #1788] @ 0x6fc │ │ │ │ │ + ldr.w r3, [sp, #1792] @ 0x700 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + str.w r3, [sp, #1792] @ 0x700 │ │ │ │ │ + ldr.w r3, [sp, #1680] @ 0x690 │ │ │ │ │ + ldr.w r2, [sp, #1792] @ 0x700 │ │ │ │ │ + add r8, r3 │ │ │ │ │ + add sl, r3 │ │ │ │ │ + ldr.w r3, [sp, #1684] @ 0x694 │ │ │ │ │ + eor.w r9, r9, r3 │ │ │ │ │ + ldr.w r3, [sp, #1796] @ 0x704 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 48 │ │ │ │ │ - addw sp, sp, #1684 @ 0x694 │ │ │ │ │ + bne.w 5c │ │ │ │ │ + addw sp, sp, #1692 @ 0x69c │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00002e44 : │ │ │ │ │ +00002f14 : │ │ │ │ │ fftw_codelet_t1_64(): │ │ │ │ │ - ldr r2, [pc, #8] @ (2e50 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (2e54 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (2f20 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (2f24 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_dit_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── t1_7.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1672 (bytes into file) │ │ │ │ │ + Start of section headers: 1704 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x688: │ │ │ │ │ +There are 14 section headers, starting at offset 0x6a8: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0003cc 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0005e0 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000400 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000400 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000400 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000405 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 00040d 000040 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 0005f8 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 00044d 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00044d 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000480 000110 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000590 00004e 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000610 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0003ec 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000600 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000420 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000420 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000420 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000425 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 00042d 000040 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000618 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 00046d 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00046d 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 0004a0 000110 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0005b0 00004e 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000630 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,20 +1,20 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 17 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 952 FUNC LOCAL DEFAULT 1 t1_7 │ │ │ │ │ + 1: 00000001 984 FUNC LOCAL DEFAULT 1 t1_7 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000388 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 000003b8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000003c4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000003a8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 000003d8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000003e4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 14: 000003b9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_7 │ │ │ │ │ + 14: 000003d9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_7 │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_dit_register │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x5e0 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x600 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000003c4 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000003c8 00000103 R_ARM_REL32 00000001 t1_7 │ │ │ │ │ -000003c0 00000f1e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ +000003e4 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000003e8 00000103 R_ARM_REL32 00000001 t1_7 │ │ │ │ │ +000003e0 00000f1e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x5f8 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x618 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001002 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,284 +1,282 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ t1_7(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r6, r1 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #76 @ 0x4c │ │ │ │ │ - ldrd ip, r4, [sp, #176] @ 0xb0 │ │ │ │ │ - cmp ip, r4 │ │ │ │ │ - bge.w 37c │ │ │ │ │ - movs r6, #40 @ 0x28 │ │ │ │ │ - movs r7, #24 │ │ │ │ │ - lsls r4, r3, #4 │ │ │ │ │ - lsls r5, r3, #3 │ │ │ │ │ - str r0, [sp, #48] @ 0x30 │ │ │ │ │ - mov r0, r1 │ │ │ │ │ - mul.w r6, r6, r3 │ │ │ │ │ - vldr d8, [pc, #864] @ 388 │ │ │ │ │ - str r6, [sp, #60] @ 0x3c │ │ │ │ │ - mul.w r7, r3, r7 │ │ │ │ │ - ldr r6, [sp, #184] @ 0xb8 │ │ │ │ │ - lsls r3, r3, #5 │ │ │ │ │ - rsb r8, r3, #0 │ │ │ │ │ - vldr d15, [pc, #856] @ 390 │ │ │ │ │ - negs r3, r4 │ │ │ │ │ - vldr d12, [pc, #856] @ 398 │ │ │ │ │ - lsls r6, r6, #3 │ │ │ │ │ - str r6, [sp, #64] @ 0x40 │ │ │ │ │ - add.w r6, ip, #1 │ │ │ │ │ - str r6, [sp, #56] @ 0x38 │ │ │ │ │ - movs r6, #96 @ 0x60 │ │ │ │ │ - vldr d11, [pc, #848] @ 3a0 │ │ │ │ │ - str r3, [sp, #68] @ 0x44 │ │ │ │ │ - mla r6, ip, r6, r6 │ │ │ │ │ - add r2, r6 │ │ │ │ │ - b.n 5e │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #56] @ 0x38 │ │ │ │ │ - ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ - adds r2, #96 @ 0x60 │ │ │ │ │ - ldr r1, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - adds r4, r1, r5 │ │ │ │ │ - vldr d3, [r2, #-184] @ 0xffffff48 │ │ │ │ │ - vldr d0, [r3] │ │ │ │ │ - mov r3, r0 │ │ │ │ │ - add r3, r5 │ │ │ │ │ + ldrd r5, r1, [sp, #176] @ 0xb0 │ │ │ │ │ + cmp r5, r1 │ │ │ │ │ + bge.w 38a │ │ │ │ │ + mov.w r1, r3, lsl #4 │ │ │ │ │ + mov r7, r0 │ │ │ │ │ + vldr d8, [pc, #888] @ 3a8 │ │ │ │ │ + mov.w r4, r3, lsl #3 │ │ │ │ │ + vldr d15, [pc, #888] @ 3b0 │ │ │ │ │ + str r1, [sp, #68] @ 0x44 │ │ │ │ │ + mov.w r1, r3, lsl #5 │ │ │ │ │ + add.w ip, r0, r4 │ │ │ │ │ + ldr r3, [sp, #184] @ 0xb8 │ │ │ │ │ + add.w lr, ip, r4 │ │ │ │ │ + vldr d12, [pc, #876] @ 3b8 │ │ │ │ │ + vldr d11, [pc, #880] @ 3c0 │ │ │ │ │ + mov.w r0, r3, lsl #3 │ │ │ │ │ + add.w r3, r5, #1 │ │ │ │ │ + mov r5, r7 │ │ │ │ │ + str r3, [sp, #64] @ 0x40 │ │ │ │ │ + add.w r3, r3, r3, lsl #1 │ │ │ │ │ + add.w r3, r2, r3, lsl #5 │ │ │ │ │ + add.w r2, r6, r4 │ │ │ │ │ + add r4, r2 │ │ │ │ │ + str r4, [sp, #48] @ 0x30 │ │ │ │ │ + b.n 74 │ │ │ │ │ + add.w r7, r7, #1 │ │ │ │ │ + str r7, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + add.w r9, lr, r1 │ │ │ │ │ + add.w sl, r2, r1 │ │ │ │ │ + add.w fp, ip, r1 │ │ │ │ │ + add.w r8, r5, r1 │ │ │ │ │ + vldr d3, [r3, #-88] @ 0xffffffa8 │ │ │ │ │ + add.w r3, r3, #96 @ 0x60 │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + ldr r4, [sp, #48] @ 0x30 │ │ │ │ │ vstr d7, [sp, #8] │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - vldr d7, [r2, #-192] @ 0xffffff40 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - ldr r1, [sp, #60] @ 0x3c │ │ │ │ │ - vldr d1, [r2, #-104] @ 0xffffff98 │ │ │ │ │ + vldr d7, [r3, #-192] @ 0xffffff40 │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ vmul.f64 d5, d4, d3 │ │ │ │ │ - add r3, r1 │ │ │ │ │ + add.w r7, r4, r1 │ │ │ │ │ + vldr d1, [r3, #-104] @ 0xffffff98 │ │ │ │ │ + str r7, [sp, #60] @ 0x3c │ │ │ │ │ + vldr d2, [r7] │ │ │ │ │ vmla.f64 d5, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ - add.w r9, r4, r1 │ │ │ │ │ - vldr d3, [r2, #-112] @ 0xffffff90 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ - add.w r6, r3, r8 │ │ │ │ │ - add.w sl, r9, r8 │ │ │ │ │ - ldr r1, [sp, #68] @ 0x44 │ │ │ │ │ + vldr d3, [r3, #-112] @ 0xffffff90 │ │ │ │ │ + ldr r7, [sp, #68] @ 0x44 │ │ │ │ │ + vldr d0, [r5] │ │ │ │ │ vnmls.f64 d6, d4, d7 │ │ │ │ │ - vldr d7, [r9] │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ - add.w fp, sl, r7 │ │ │ │ │ - add.w lr, fp, r1 │ │ │ │ │ - str r1, [sp, #52] @ 0x34 │ │ │ │ │ + vldr d7, [r9] │ │ │ │ │ vmla.f64 d4, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [r2, #-120] @ 0xffffff88 │ │ │ │ │ + vldr d1, [r3, #-120] @ 0xffffff88 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ + vldr d2, [sl] │ │ │ │ │ vadd.f64 d3, d5, d4 │ │ │ │ │ vsub.f64 d4, d4, d5 │ │ │ │ │ - vstr d3, [sp] │ │ │ │ │ vsub.f64 d13, d6, d7 │ │ │ │ │ - vmov.f64 d10, d4 │ │ │ │ │ - vldr d3, [r2, #-168] @ 0xffffff58 │ │ │ │ │ - vldr d4, [r6] │ │ │ │ │ vadd.f64 d9, d6, d7 │ │ │ │ │ - vldr d7, [r2, #-176] @ 0xffffff50 │ │ │ │ │ - add r6, r7 │ │ │ │ │ - vldr d6, [sl] │ │ │ │ │ - add.w ip, r6, r1 │ │ │ │ │ + vldr d7, [r3, #-176] @ 0xffffff50 │ │ │ │ │ + vmov.f64 d10, d4 │ │ │ │ │ + vstr d3, [sp] │ │ │ │ │ + vldr d3, [r3, #-168] @ 0xffffff58 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + add.w r4, ip, r7 │ │ │ │ │ + add r7, r2 │ │ │ │ │ + vldr d6, [lr] │ │ │ │ │ + vstr d9, [sp, #16] │ │ │ │ │ + str r7, [sp, #56] @ 0x38 │ │ │ │ │ vmul.f64 d5, d4, d3 │ │ │ │ │ - vldr d2, [r6] │ │ │ │ │ vmla.f64 d5, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ - vldr d3, [r2, #-128] @ 0xffffff80 │ │ │ │ │ - vstr d9, [sp, #16] │ │ │ │ │ + vldr d3, [r3, #-128] @ 0xffffff80 │ │ │ │ │ vnmls.f64 d6, d4, d7 │ │ │ │ │ vldr d7, [fp] │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ vmla.f64 d4, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ - vldr d3, [r2, #-152] @ 0xffffff68 │ │ │ │ │ + vldr d3, [r3, #-152] @ 0xffffff68 │ │ │ │ │ vadd.f64 d2, d5, d4 │ │ │ │ │ vsub.f64 d1, d4, d5 │ │ │ │ │ - vldr d5, [lr] │ │ │ │ │ - add lr, r5 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ vsub.f64 d14, d6, d7 │ │ │ │ │ vmov.f64 d9, d2 │ │ │ │ │ vstr d1, [sp, #32] │ │ │ │ │ vstr d14, [sp, #40] @ 0x28 │ │ │ │ │ vadd.f64 d14, d6, d7 │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ - add ip, r5 │ │ │ │ │ - vldr d7, [r2, #-160] @ 0xffffff60 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + add.w r7, r6, r1 │ │ │ │ │ + vldr d7, [r3, #-160] @ 0xffffff60 │ │ │ │ │ vmul.f64 d4, d6, d3 │ │ │ │ │ vmla.f64 d4, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d3 │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ - vldr d6, [lr] │ │ │ │ │ - vldr d2, [ip] │ │ │ │ │ - vldr d1, [r2, #-136] @ 0xffffff78 │ │ │ │ │ - vldr d3, [r2, #-144] @ 0xffffff70 │ │ │ │ │ - ldr r1, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d6, [r8] │ │ │ │ │ + str r7, [sp, #52] @ 0x34 │ │ │ │ │ + vstr d2, [sp, #24] │ │ │ │ │ + vldr d1, [r3, #-136] @ 0xffffff78 │ │ │ │ │ + vldr d2, [r7] │ │ │ │ │ + vldr d3, [r3, #-144] @ 0xffffff70 │ │ │ │ │ + ldr r7, [sp, #48] @ 0x30 │ │ │ │ │ vmul.f64 d7, d2, d1 │ │ │ │ │ - vstr d9, [sp, #24] │ │ │ │ │ vmla.f64 d7, d6, d3 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ vnmls.f64 d6, d2, d3 │ │ │ │ │ - vldr d3, [sp, #8] │ │ │ │ │ + vmov.f64 d3, d9 │ │ │ │ │ + vldr d9, [sp, #16] │ │ │ │ │ + vstr d13, [sp, #16] │ │ │ │ │ vadd.f64 d1, d4, d7 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ vadd.f64 d2, d5, d6 │ │ │ │ │ vsub.f64 d4, d5, d6 │ │ │ │ │ vldr d5, [sp] │ │ │ │ │ vadd.f64 d6, d0, d5 │ │ │ │ │ vmul.f64 d5, d5, d11 │ │ │ │ │ - vadd.f64 d6, d6, d9 │ │ │ │ │ - vldr d9, [sp, #16] │ │ │ │ │ - vstr d13, [sp, #16] │ │ │ │ │ + vadd.f64 d6, d6, d3 │ │ │ │ │ + vldr d3, [sp, #8] │ │ │ │ │ vadd.f64 d6, d6, d1 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ + vstr d6, [r5] │ │ │ │ │ vadd.f64 d6, d9, d14 │ │ │ │ │ - ldr r1, [sp, #52] @ 0x34 │ │ │ │ │ - add ip, r1 │ │ │ │ │ + add r5, r0 │ │ │ │ │ vadd.f64 d6, d6, d2 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ - vldr d3, [pc, #456] @ 3a8 │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ + vldr d3, [pc, #468] @ 3c8 │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ vmul.f64 d6, d4, d8 │ │ │ │ │ + add r6, r0 │ │ │ │ │ vnmls.f64 d6, d13, d3 │ │ │ │ │ vldr d13, [sp, #40] @ 0x28 │ │ │ │ │ vmov.f64 d3, d0 │ │ │ │ │ vmls.f64 d6, d13, d15 │ │ │ │ │ - vldr d13, [pc, #436] @ 3b0 │ │ │ │ │ + vldr d13, [pc, #448] @ 3d0 │ │ │ │ │ vmla.f64 d3, d1, d13 │ │ │ │ │ vldr d13, [sp, #24] │ │ │ │ │ vmla.f64 d5, d13, d12 │ │ │ │ │ vmov.f64 d13, d0 │ │ │ │ │ vsub.f64 d5, d3, d5 │ │ │ │ │ vsub.f64 d3, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vmul.f64 d5, d7, d8 │ │ │ │ │ vstr d3, [fp] │ │ │ │ │ - vldr d3, [pc, #388] @ 3a8 │ │ │ │ │ - vstr d6, [sl] │ │ │ │ │ - vldr d6, [pc, #388] @ 3b0 │ │ │ │ │ + vldr d3, [pc, #400] @ 3c8 │ │ │ │ │ + vstr d6, [lr] │ │ │ │ │ + add lr, r0 │ │ │ │ │ + vldr d6, [pc, #396] @ 3d0 │ │ │ │ │ vnmls.f64 d5, d10, d3 │ │ │ │ │ vldr d3, [sp, #32] │ │ │ │ │ vmls.f64 d5, d3, d15 │ │ │ │ │ vldr d3, [sp, #8] │ │ │ │ │ vmla.f64 d3, d2, d6 │ │ │ │ │ vmul.f64 d6, d9, d11 │ │ │ │ │ vmla.f64 d6, d14, d12 │ │ │ │ │ vsub.f64 d6, d3, d6 │ │ │ │ │ vadd.f64 d3, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [pc, #336] @ 3a8 │ │ │ │ │ - vstr d3, [ip] │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ - add r6, r8 │ │ │ │ │ - vldr d6, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d5, [pc, #344] @ 3c8 │ │ │ │ │ + vstr d3, [r7] │ │ │ │ │ + vstr d6, [sl] │ │ │ │ │ vldr d3, [sp, #16] │ │ │ │ │ + vldr d6, [sp, #40] @ 0x28 │ │ │ │ │ + ldr r7, [sp, #60] @ 0x3c │ │ │ │ │ vmul.f64 d6, d6, d5 │ │ │ │ │ vldr d5, [sp] │ │ │ │ │ vmla.f64 d6, d3, d8 │ │ │ │ │ - vldr d3, [pc, #308] @ 3b0 │ │ │ │ │ - vmla.f64 d13, d5, d3 │ │ │ │ │ + vldr d3, [pc, #320] @ 3d0 │ │ │ │ │ vmla.f64 d6, d4, d15 │ │ │ │ │ + vmla.f64 d13, d5, d3 │ │ │ │ │ vmov.f64 d3, d13 │ │ │ │ │ vldr d13, [sp, #24] │ │ │ │ │ vmul.f64 d5, d13, d11 │ │ │ │ │ vmla.f64 d5, d1, d12 │ │ │ │ │ vsub.f64 d5, d3, d5 │ │ │ │ │ vsub.f64 d3, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [pc, #260] @ 3a8 │ │ │ │ │ + vldr d5, [pc, #272] @ 3c8 │ │ │ │ │ vstr d3, [r9] │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ - add r4, r7 │ │ │ │ │ - vldr d6, [sp, #32] │ │ │ │ │ + vstr d6, [ip] │ │ │ │ │ + add ip, r0 │ │ │ │ │ vldr d3, [sp, #8] │ │ │ │ │ + vldr d6, [sp, #32] │ │ │ │ │ vmul.f64 d5, d6, d5 │ │ │ │ │ - vldr d6, [pc, #244] @ 3b0 │ │ │ │ │ + vldr d6, [pc, #252] @ 3d0 │ │ │ │ │ vmla.f64 d5, d10, d8 │ │ │ │ │ vmla.f64 d3, d9, d6 │ │ │ │ │ vmul.f64 d6, d14, d11 │ │ │ │ │ - vmla.f64 d6, d2, d12 │ │ │ │ │ vmla.f64 d5, d7, d15 │ │ │ │ │ + vmla.f64 d6, d2, d12 │ │ │ │ │ vsub.f64 d6, d3, d6 │ │ │ │ │ vadd.f64 d3, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vstr d3, [r6] │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - subs r3, r3, r7 │ │ │ │ │ - vldr d6, [pc, #188] @ 3a8 │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ + add r2, r0 │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ + vldr d6, [pc, #200] @ 3c8 │ │ │ │ │ vldr d3, [sp, #16] │ │ │ │ │ vmul.f64 d4, d4, d6 │ │ │ │ │ vmla.f64 d4, d3, d15 │ │ │ │ │ vldr d3, [sp, #40] @ 0x28 │ │ │ │ │ vldr d5, [sp] │ │ │ │ │ - ldr r1, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r7, [sp, #56] @ 0x38 │ │ │ │ │ vmls.f64 d4, d3, d8 │ │ │ │ │ - vldr d3, [pc, #168] @ 3b0 │ │ │ │ │ + vldr d3, [pc, #176] @ 3d0 │ │ │ │ │ vmul.f64 d6, d5, d12 │ │ │ │ │ - vmla.f64 d6, d1, d11 │ │ │ │ │ vmla.f64 d0, d13, d3 │ │ │ │ │ vmul.f64 d13, d9, d12 │ │ │ │ │ + vmla.f64 d6, d1, d11 │ │ │ │ │ vmla.f64 d13, d2, d11 │ │ │ │ │ vsub.f64 d6, d0, d6 │ │ │ │ │ vsub.f64 d5, d6, d4 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ - vldr d6, [pc, #124] @ 3a8 │ │ │ │ │ + vldr d6, [pc, #132] @ 3c8 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [sp, #32] │ │ │ │ │ + vstr d5, [r8] │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ vmla.f64 d7, d10, d15 │ │ │ │ │ vldr d10, [sp, #8] │ │ │ │ │ - vmla.f64 d10, d14, d3 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ - subs r4, r4, r5 │ │ │ │ │ vmls.f64 d7, d6, d8 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ + vmla.f64 d10, d14, d3 │ │ │ │ │ vsub.f64 d10, d10, d13 │ │ │ │ │ vadd.f64 d6, d7, d10 │ │ │ │ │ vsub.f64 d10, d10, d7 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - add r3, r5 │ │ │ │ │ - vstr d10, [r3] │ │ │ │ │ - ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ - add r1, r3 │ │ │ │ │ - str r1, [sp, #48] @ 0x30 │ │ │ │ │ - mov r1, r0 │ │ │ │ │ - add r1, r3 │ │ │ │ │ - ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ - mov r0, r1 │ │ │ │ │ - ldr r1, [sp, #180] @ 0xb4 │ │ │ │ │ - cmp r1, r3 │ │ │ │ │ - bne.w 5a │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ + ldrd r4, r7, [sp, #48] @ 0x30 │ │ │ │ │ + add r4, r0 │ │ │ │ │ + vstr d10, [r7] │ │ │ │ │ + ldr r7, [sp, #64] @ 0x40 │ │ │ │ │ + str r4, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r4, [sp, #180] @ 0xb4 │ │ │ │ │ + cmp r4, r7 │ │ │ │ │ + bne.w 6e │ │ │ │ │ add sp, #76 @ 0x4c │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop │ │ │ │ │ .word 0x7505de4b │ │ │ │ │ .word 0x3fe904c3 │ │ │ │ │ .word 0x4d71abc1 │ │ │ │ │ .word 0x3fdbc4c0 │ │ │ │ │ .word 0xa9cb5c71 │ │ │ │ │ .word 0x3fecd4bc │ │ │ │ │ .word 0xe3024582 │ │ │ │ │ .word 0x3fcc7b90 │ │ │ │ │ .word 0x0558e969 │ │ │ │ │ .word 0x3fef329c │ │ │ │ │ .word 0xe28bedd1 │ │ │ │ │ .word 0x3fe3f3a0 │ │ │ │ │ │ │ │ │ │ -000003b8 : │ │ │ │ │ +000003d8 : │ │ │ │ │ fftw_codelet_t1_7(): │ │ │ │ │ - ldr r2, [pc, #8] @ (3c4 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (3c8 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (3e4 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (3e8 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_dit_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── t1_8.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1464 (bytes into file) │ │ │ │ │ + Start of section headers: 1528 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x5b8: │ │ │ │ │ +There are 14 section headers, starting at offset 0x5f8: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0002fc 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000510 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000330 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000330 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000330 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000335 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 00033d 000040 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000528 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 00037d 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00037d 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 0003b0 000110 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 0004c0 00004e 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000540 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00033c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000550 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000370 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000370 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000370 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000375 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 00037d 000040 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000568 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 0003bd 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0003bd 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 0003f0 000110 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000500 00004e 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000580 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,20 +1,20 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 17 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 744 FUNC LOCAL DEFAULT 1 t1_8 │ │ │ │ │ + 1: 00000001 808 FUNC LOCAL DEFAULT 1 t1_8 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000002e0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 000002e8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000002f4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000320 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000328 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000334 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 14: 000002e9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_8 │ │ │ │ │ + 14: 00000329 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_8 │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_dit_register │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x510 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x550 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000002f4 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000002f8 00000103 R_ARM_REL32 00000001 t1_8 │ │ │ │ │ -000002f0 00000f1e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ +00000334 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000338 00000103 R_ARM_REL32 00000001 t1_8 │ │ │ │ │ +00000330 00000f1e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x528 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x568 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001002 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,228 +1,243 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ t1_8(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r6, r1 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub sp, #60 @ 0x3c │ │ │ │ │ - ldrd r5, r4, [sp, #160] @ 0xa0 │ │ │ │ │ - cmp r5, r4 │ │ │ │ │ - bge.w 2d2 │ │ │ │ │ - movs r4, #24 │ │ │ │ │ - lsls r7, r3, #5 │ │ │ │ │ - mov.w r8, r3, lsl #3 │ │ │ │ │ - vldr d8, [pc, #704] @ 2e0 │ │ │ │ │ - rsb r8, r8, #0 │ │ │ │ │ - mul.w r4, r4, r3 │ │ │ │ │ - str r4, [sp, #40] @ 0x28 │ │ │ │ │ - lsls r4, r3, #4 │ │ │ │ │ - str r4, [sp, #44] @ 0x2c │ │ │ │ │ - ldr r4, [sp, #168] @ 0xa8 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ - str r4, [sp, #48] @ 0x30 │ │ │ │ │ - adds r4, r5, #1 │ │ │ │ │ - str r4, [sp, #36] @ 0x24 │ │ │ │ │ - movs r4, #112 @ 0x70 │ │ │ │ │ - mla r4, r5, r4, r4 │ │ │ │ │ - add r2, r4 │ │ │ │ │ - negs r4, r7 │ │ │ │ │ - str r4, [sp, #32] │ │ │ │ │ - mvn.w r4, #39 @ 0x27 │ │ │ │ │ - mul.w r3, r3, r4 │ │ │ │ │ - str r3, [sp, #52] @ 0x34 │ │ │ │ │ - b.n 54 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #36] @ 0x24 │ │ │ │ │ - add.w ip, r1, r7 │ │ │ │ │ - add.w lr, r0, r7 │ │ │ │ │ - vldr d1, [r2, #-56] @ 0xffffffc8 │ │ │ │ │ - adds r2, #112 @ 0x70 │ │ │ │ │ - vldr d3, [r2, #-176] @ 0xffffff50 │ │ │ │ │ - vldr d2, [ip] │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ - ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ + sub sp, #76 @ 0x4c │ │ │ │ │ + ldrd r1, r4, [sp, #176] @ 0xb0 │ │ │ │ │ + cmp r1, r4 │ │ │ │ │ + bge.w 302 │ │ │ │ │ + mov.w r5, r3, lsl #5 │ │ │ │ │ + vldr d8, [pc, #756] @ 320 │ │ │ │ │ + mov.w r4, r3, lsl #3 │ │ │ │ │ + str r0, [sp, #4] │ │ │ │ │ + mov.w r8, r3, lsl #4 │ │ │ │ │ + ldr r3, [sp, #184] @ 0xb8 │ │ │ │ │ + str r5, [sp, #64] @ 0x40 │ │ │ │ │ + mov.w r7, r3, lsl #3 │ │ │ │ │ + add.w r3, r1, #1 │ │ │ │ │ + add.w r1, r0, r5 │ │ │ │ │ + strd r4, r3, [sp, #56] @ 0x38 │ │ │ │ │ + rsb r3, r3, r3, lsl #3 │ │ │ │ │ + add.w r3, r2, r3, lsl #4 │ │ │ │ │ + add.w r2, r6, r5 │ │ │ │ │ + rsb r5, r4, #0 │ │ │ │ │ + str r5, [sp, #68] @ 0x44 │ │ │ │ │ + sub.w r5, r1, r4 │ │ │ │ │ + sub.w r4, r2, r4 │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ + b.n 70 │ │ │ │ │ + add.w r0, r0, #1 │ │ │ │ │ + str r0, [sp, #60] @ 0x3c │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ + add.w ip, r6, r8 │ │ │ │ │ + add.w sl, r2, r8 │ │ │ │ │ + add.w fp, r1, r8 │ │ │ │ │ + add.w r3, r3, #112 @ 0x70 │ │ │ │ │ + vldr d3, [r3, #-176] @ 0xffffff50 │ │ │ │ │ + vldr d1, [r3, #-168] @ 0xffffff58 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + ldr r0, [sp, #4] │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ + ldr r4, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d12, [r6] │ │ │ │ │ vldr d14, [r0] │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - add ip, r3 │ │ │ │ │ - vldr d12, [r1] │ │ │ │ │ - add lr, r3 │ │ │ │ │ - ldr r4, [sp, #32] │ │ │ │ │ + add.w r0, r5, r4 │ │ │ │ │ + str r0, [sp, #20] │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ - vldr d5, [ip] │ │ │ │ │ - vldr d3, [r2, #-120] @ 0xffffff88 │ │ │ │ │ - add.w r9, ip, r4 │ │ │ │ │ - add.w r5, lr, r4 │ │ │ │ │ - add.w r3, r9, r8 │ │ │ │ │ - add.w sl, r5, r8 │ │ │ │ │ - ldr r4, [sp, #52] @ 0x34 │ │ │ │ │ + vldr d3, [r3, #-120] @ 0xffffff88 │ │ │ │ │ vadd.f64 d1, d14, d6 │ │ │ │ │ - vmul.f64 d4, d5, d3 │ │ │ │ │ vsub.f64 d14, d14, d6 │ │ │ │ │ - vldr d6, [lr] │ │ │ │ │ - vldr d2, [r9] │ │ │ │ │ - add.w fp, sl, r7 │ │ │ │ │ - add.w r6, fp, r4 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + mov r0, r4 │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ vsub.f64 d0, d12, d7 │ │ │ │ │ vadd.f64 d12, d12, d7 │ │ │ │ │ - vldr d7, [r2, #-128] @ 0xffffff80 │ │ │ │ │ + vldr d7, [r3, #-128] @ 0xffffff80 │ │ │ │ │ + add r0, r4 │ │ │ │ │ + vldr d2, [r4] │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + str r0, [sp, #16] │ │ │ │ │ + vstr d0, [sp, #24] │ │ │ │ │ + vldr d0, [r3, #-184] @ 0xffffff48 │ │ │ │ │ + ldr r0, [sp, #4] │ │ │ │ │ + vmul.f64 d4, d5, d3 │ │ │ │ │ + add.w lr, r0, r8 │ │ │ │ │ vmla.f64 d4, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ - vstr d0, [sp] │ │ │ │ │ - vldr d0, [r2, #-184] @ 0xffffff48 │ │ │ │ │ - vldr d3, [r2, #-192] @ 0xffffff40 │ │ │ │ │ + vldr d3, [r3, #-192] @ 0xffffff40 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ vldr d7, [r5] │ │ │ │ │ vmul.f64 d5, d2, d0 │ │ │ │ │ vmla.f64 d5, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ + vldr d0, [sl] │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ vadd.f64 d11, d4, d5 │ │ │ │ │ vsub.f64 d9, d4, d5 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - vldr d4, [r2, #-200] @ 0xffffff38 │ │ │ │ │ - add r3, r7 │ │ │ │ │ - adds r4, r3, r4 │ │ │ │ │ + vldr d4, [r3, #-200] @ 0xffffff38 │ │ │ │ │ + vldr d5, [ip] │ │ │ │ │ vadd.f64 d2, d6, d7 │ │ │ │ │ vsub.f64 d10, d6, d7 │ │ │ │ │ - vldr d7, [r2, #-208] @ 0xffffff30 │ │ │ │ │ + vldr d7, [r3, #-208] @ 0xffffff30 │ │ │ │ │ + vstr d9, [sp, #32] │ │ │ │ │ + vldr d6, [lr] │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ - vldr d6, [sl] │ │ │ │ │ - vldr d0, [r3] │ │ │ │ │ - vstr d9, [sp, #8] │ │ │ │ │ + vldr d9, [r3, #-136] @ 0xffffff78 │ │ │ │ │ + vstr d10, [sp, #40] @ 0x28 │ │ │ │ │ vmla.f64 d3, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d4 │ │ │ │ │ - vldr d9, [r2, #-136] @ 0xffffff78 │ │ │ │ │ - vldr d4, [r2, #-144] @ 0xffffff70 │ │ │ │ │ - vstr d10, [sp, #16] │ │ │ │ │ + vldr d4, [r3, #-144] @ 0xffffff70 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ vldr d7, [fp] │ │ │ │ │ vmul.f64 d5, d0, d9 │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d9 │ │ │ │ │ vnmls.f64 d7, d0, d4 │ │ │ │ │ vadd.f64 d4, d3, d5 │ │ │ │ │ vsub.f64 d5, d3, d5 │ │ │ │ │ - vldr d3, [r4] │ │ │ │ │ - add r4, r7 │ │ │ │ │ vsub.f64 d15, d6, d7 │ │ │ │ │ vadd.f64 d13, d6, d7 │ │ │ │ │ - vstr d5, [sp, #24] │ │ │ │ │ - vldr d6, [r2, #-224] @ 0xffffff20 │ │ │ │ │ - vldr d5, [r6] │ │ │ │ │ - add r6, r7 │ │ │ │ │ - vldr d0, [r2, #-216] @ 0xffffff28 │ │ │ │ │ - vldr d10, [r2, #-152] @ 0xffffff68 │ │ │ │ │ + vstr d5, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r4, [sp, #68] @ 0x44 │ │ │ │ │ + vldr d6, [r3, #-224] @ 0xffffff20 │ │ │ │ │ + vldr d0, [r3, #-216] @ 0xffffff28 │ │ │ │ │ + add.w r0, lr, r4 │ │ │ │ │ + vldr d10, [r3, #-152] @ 0xffffff68 │ │ │ │ │ + str r0, [sp, #12] │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + add.w r0, ip, r4 │ │ │ │ │ + vldr d3, [r0] │ │ │ │ │ + str r0, [sp, #8] │ │ │ │ │ + ldr r0, [sp, #56] @ 0x38 │ │ │ │ │ vmul.f64 d7, d3, d0 │ │ │ │ │ + add r0, r1 │ │ │ │ │ + mov r4, r0 │ │ │ │ │ vmla.f64 d7, d5, d6 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ - vldr d0, [r4] │ │ │ │ │ - add r4, r8 │ │ │ │ │ vnmls.f64 d5, d3, d6 │ │ │ │ │ - vldr d3, [r2, #-160] @ 0xffffff60 │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + ldr r0, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d3, [r3, #-160] @ 0xffffff60 │ │ │ │ │ + add.w r9, r2, r0 │ │ │ │ │ + ldr r0, [sp, #4] │ │ │ │ │ + vldr d0, [r9] │ │ │ │ │ vmul.f64 d9, d0, d10 │ │ │ │ │ - add r6, r8 │ │ │ │ │ vmla.f64 d9, d6, d3 │ │ │ │ │ vmul.f64 d6, d6, d10 │ │ │ │ │ vnmls.f64 d6, d0, d3 │ │ │ │ │ vadd.f64 d3, d7, d9 │ │ │ │ │ vsub.f64 d7, d7, d9 │ │ │ │ │ vadd.f64 d0, d5, d6 │ │ │ │ │ - vadd.f64 d9, d11, d3 │ │ │ │ │ vsub.f64 d6, d5, d6 │ │ │ │ │ + vadd.f64 d9, d11, d3 │ │ │ │ │ vadd.f64 d5, d1, d4 │ │ │ │ │ vsub.f64 d4, d1, d4 │ │ │ │ │ vsub.f64 d3, d11, d3 │ │ │ │ │ - vldr d11, [sp, #24] │ │ │ │ │ + vldr d11, [sp, #48] @ 0x30 │ │ │ │ │ vsub.f64 d10, d5, d9 │ │ │ │ │ vadd.f64 d5, d5, d9 │ │ │ │ │ vadd.f64 d9, d2, d0 │ │ │ │ │ vsub.f64 d0, d0, d2 │ │ │ │ │ - vstr d10, [r6] │ │ │ │ │ + vstr d10, [r1] │ │ │ │ │ + add r1, r7 │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ vadd.f64 d5, d12, d13 │ │ │ │ │ vsub.f64 d12, d12, d13 │ │ │ │ │ - ldr r6, [sp, #44] @ 0x2c │ │ │ │ │ + ldr r0, [sp, #20] │ │ │ │ │ vadd.f64 d10, d9, d5 │ │ │ │ │ vsub.f64 d5, d5, d9 │ │ │ │ │ - vldr d9, [sp, #8] │ │ │ │ │ - vstr d10, [r1] │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ + vldr d9, [sp, #32] │ │ │ │ │ + vstr d10, [r6] │ │ │ │ │ + add r6, r7 │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ vsub.f64 d5, d4, d0 │ │ │ │ │ vadd.f64 d4, d4, d0 │ │ │ │ │ - subs r4, r4, r6 │ │ │ │ │ - vldr d10, [sp, #16] │ │ │ │ │ - vldr d0, [sp] │ │ │ │ │ + vldr d0, [sp, #24] │ │ │ │ │ + add r2, r7 │ │ │ │ │ + vldr d10, [sp, #40] @ 0x28 │ │ │ │ │ vstr d5, [fp] │ │ │ │ │ vadd.f64 d5, d3, d12 │ │ │ │ │ - vstr d4, [sl] │ │ │ │ │ - vadd.f64 d1, d9, d10 │ │ │ │ │ vsub.f64 d12, d12, d3 │ │ │ │ │ + vstr d4, [lr] │ │ │ │ │ vsub.f64 d3, d14, d15 │ │ │ │ │ vsub.f64 d4, d0, d11 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ + vadd.f64 d1, d9, d10 │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vsub.f64 d6, d9, d10 │ │ │ │ │ - vstr d12, [r3] │ │ │ │ │ - add r3, r8 │ │ │ │ │ - ldr r4, [sp, #32] │ │ │ │ │ + vstr d12, [sl] │ │ │ │ │ vsub.f64 d2, d5, d1 │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ vmul.f64 d2, d2, d8 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ vsub.f64 d1, d3, d2 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ - vstr d1, [lr] │ │ │ │ │ + vstr d1, [r0] │ │ │ │ │ vsub.f64 d1, d4, d5 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ vadd.f64 d5, d14, d15 │ │ │ │ │ - vstr d1, [r3] │ │ │ │ │ - add r3, r4 │ │ │ │ │ + ldr r0, [sp, #8] │ │ │ │ │ + vstr d1, [r9] │ │ │ │ │ vstr d3, [r5] │ │ │ │ │ vadd.f64 d3, d7, d6 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ - add r5, r6 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ vadd.f64 d4, d0, d11 │ │ │ │ │ - ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ + add r5, r7 │ │ │ │ │ vmul.f64 d3, d3, d8 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ - add r0, r3 │ │ │ │ │ - add r1, r3 │ │ │ │ │ - ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ vsub.f64 d6, d5, d3 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ - vstr d6, [r5] │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ vsub.f64 d6, d4, d7 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ - add r5, r4 │ │ │ │ │ - ldr r4, [sp, #164] @ 0xa4 │ │ │ │ │ - vstr d6, [ip] │ │ │ │ │ - cmp r4, r3 │ │ │ │ │ - vstr d5, [r5] │ │ │ │ │ - vstr d4, [r9] │ │ │ │ │ - bne.w 50 │ │ │ │ │ - add sp, #60 @ 0x3c │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ + ldr r0, [sp, #16] │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ + ldr r0, [sp, #12] │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ + ldr r0, [sp, #4] │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ + add r4, r7 │ │ │ │ │ + add r0, r7 │ │ │ │ │ + strd r4, r0, [sp] │ │ │ │ │ + ldr r0, [sp, #60] @ 0x3c │ │ │ │ │ + ldr r4, [sp, #180] @ 0xb4 │ │ │ │ │ + cmp r4, r0 │ │ │ │ │ + bne.w 6a │ │ │ │ │ + add sp, #76 @ 0x4c │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop.w │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ │ │ │ │ │ -000002e8 : │ │ │ │ │ +00000328 : │ │ │ │ │ fftw_codelet_t1_8(): │ │ │ │ │ - ldr r2, [pc, #8] @ (2f4 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (2f8 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (334 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (338 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_dit_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── t1_9.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2008 (bytes into file) │ │ │ │ │ + Start of section headers: 2064 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x7d8: │ │ │ │ │ +There are 14 section headers, starting at offset 0x810: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000494 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000720 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0004c8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0004c8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0004c8 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 0004cd 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0004d5 000040 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000748 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000515 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000515 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000548 000150 10 12 16 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000698 000086 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000760 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0004cc 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000758 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000500 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000500 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000500 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000505 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 00050d 000040 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000780 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 00054d 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00054d 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000580 000150 10 12 16 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0006d0 000086 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000798 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 21 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1152 FUNC LOCAL DEFAULT 1 t1_9 │ │ │ │ │ + 1: 00000001 1208 FUNC LOCAL DEFAULT 1 t1_9 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000048 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000060 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000458 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000480 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 0000048c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000058 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000070 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000490 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 000004b8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 000004c4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 13: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 14: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 15: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 18: 00000481 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_9 │ │ │ │ │ + 18: 000004b9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t1_9 │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_dit_register │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x720 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x758 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000058 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000005c 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -0000048c 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000490 00000103 R_ARM_REL32 00000001 t1_9 │ │ │ │ │ -00000488 0000131e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ +00000068 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000006c 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +000004c4 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000004c8 00000103 R_ARM_REL32 00000001 t1_9 │ │ │ │ │ +000004c0 0000131e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x748 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x780 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000a02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001402 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,338 +1,343 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ t1_9(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + mov r4, r3 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ mov sl, r0 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ mov fp, r1 │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #132 @ 0x84 │ │ │ │ │ - ldr r1, [pc, #72] @ (58 ) │ │ │ │ │ - mov r4, r3 │ │ │ │ │ - ldr r0, [sp, #236] @ 0xec │ │ │ │ │ - add r1, pc │ │ │ │ │ - ldr r3, [sp, #232] @ 0xe8 │ │ │ │ │ + ldrd r3, r0, [sp, #232] @ 0xe8 │ │ │ │ │ + ldr r1, [pc, #64] @ (68 ) │ │ │ │ │ cmp r3, r0 │ │ │ │ │ - bge.w 44c │ │ │ │ │ + add r1, pc │ │ │ │ │ + bge.w 472 │ │ │ │ │ ldr r0, [sp, #240] @ 0xf0 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - mov r8, fp │ │ │ │ │ - vldr d11, [pc, #32] @ 48 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + vmov.f64 d14, #96 @ 0x3f000000 0.5 │ │ │ │ │ add.w r9, r2, r3, lsl #7 │ │ │ │ │ - vldr d12, [pc, #32] @ 50 │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ + vldr d11, [pc, #24] @ 58 │ │ │ │ │ + vldr d12, [pc, #28] @ 60 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ str r0, [sp, #120] @ 0x78 │ │ │ │ │ - ldr r0, [pc, #36] @ (5c ) │ │ │ │ │ - mov fp, r4 │ │ │ │ │ - vmov.f64 d14, #96 @ 0x3f000000 0.5 │ │ │ │ │ + ldr r0, [pc, #32] @ (6c ) │ │ │ │ │ ldr r1, [r1, r0] │ │ │ │ │ str r3, [sp, #116] @ 0x74 │ │ │ │ │ ldr r1, [r1, #0] │ │ │ │ │ str r1, [sp, #124] @ 0x7c │ │ │ │ │ - b.n 64 │ │ │ │ │ + b.n 76 │ │ │ │ │ nop │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3febb67a │ │ │ │ │ .word 0x7e0b738a │ │ │ │ │ .word 0x3fc63a1a │ │ │ │ │ - .word 0x00000040 │ │ │ │ │ + .word 0x0000003c │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str r3, [sp, #116] @ 0x74 │ │ │ │ │ - movs r3, #24 │ │ │ │ │ + add.w r3, r4, r4, lsl #1 │ │ │ │ │ + vldr d8, [fp] │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ vldr d3, [r9, #-88] @ 0xffffffa8 │ │ │ │ │ + add.w r7, fp, r3 │ │ │ │ │ + add.w ip, sl, r3 │ │ │ │ │ vldr d7, [r9, #-96] @ 0xffffffa0 │ │ │ │ │ + add.w r1, r7, r3 │ │ │ │ │ + add.w r2, ip, r3 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + strd r2, r1, [sp, #4] │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + vstr d8, [sp, #24] │ │ │ │ │ vldr d1, [r9, #-40] @ 0xffffffd8 │ │ │ │ │ - mul.w r3, r3, fp │ │ │ │ │ - vldr d8, [r8] │ │ │ │ │ - vldr d13, [sl] │ │ │ │ │ - add.w ip, r8, r3 │ │ │ │ │ - add.w lr, sl, r3 │ │ │ │ │ - add.w r1, ip, r3 │ │ │ │ │ - add.w r2, lr, r3 │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ - vldr d5, [ip] │ │ │ │ │ - vldr d6, [lr] │ │ │ │ │ - vldr d2, [r1] │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ - str r1, [sp, #4] │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ + vldr d0, [r9, #-104] @ 0xffffff98 │ │ │ │ │ + vldr d13, [sl] │ │ │ │ │ vmla.f64 d4, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ vldr d3, [r9, #-48] @ 0xffffffd0 │ │ │ │ │ - vstr d8, [sp, #24] │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ - mov.w r2, fp, lsl #4 │ │ │ │ │ + mov.w r2, r4, lsl #4 │ │ │ │ │ add.w r1, sl, r2 │ │ │ │ │ - add r2, r8 │ │ │ │ │ + add.w r8, fp, r2 │ │ │ │ │ + mov.w r2, r4, lsl #3 │ │ │ │ │ + add.w lr, r1, r3 │ │ │ │ │ + add.w r5, lr, r3 │ │ │ │ │ vmla.f64 d5, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - adds r4, r1, r3 │ │ │ │ │ - str r1, [sp, #8] │ │ │ │ │ - adds r5, r4, r3 │ │ │ │ │ - str r5, [sp, #16] │ │ │ │ │ + strd r1, r5, [sp, #12] │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ vadd.f64 d1, d4, d5 │ │ │ │ │ vsub.f64 d3, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vmov.f64 d7, d8 │ │ │ │ │ - vldr d8, [r9, #-104] @ 0xffffff98 │ │ │ │ │ vmls.f64 d13, d1, d14 │ │ │ │ │ vstr d1, [sp, #48] @ 0x30 │ │ │ │ │ vmls.f64 d7, d6, d14 │ │ │ │ │ vmul.f64 d3, d3, d11 │ │ │ │ │ - vstr d6, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d6, [r9, #-112] @ 0xffffff90 │ │ │ │ │ vstr d3, [sp, #32] │ │ │ │ │ vsub.f64 d3, d5, d4 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ + vldr d4, [r8] │ │ │ │ │ + vstr d6, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d6, [r9, #-112] @ 0xffffff90 │ │ │ │ │ vstr d13, [sp, #72] @ 0x48 │ │ │ │ │ vstr d7, [sp, #80] @ 0x50 │ │ │ │ │ - vmul.f64 d2, d3, d11 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - vmul.f64 d5, d4, d8 │ │ │ │ │ - adds r1, r2, r3 │ │ │ │ │ - str r1, [sp, #12] │ │ │ │ │ - adds r6, r1, r3 │ │ │ │ │ + vmul.f64 d2, d3, d11 │ │ │ │ │ + add.w r1, r8, r3 │ │ │ │ │ + vmul.f64 d5, d4, d0 │ │ │ │ │ + add.w r6, r1, r3 │ │ │ │ │ + vldr d1, [r6] │ │ │ │ │ str r6, [sp, #20] │ │ │ │ │ - vmul.f64 d8, d7, d8 │ │ │ │ │ + add.w r6, sl, r2 │ │ │ │ │ + add r2, fp │ │ │ │ │ + add.w r0, r2, r3 │ │ │ │ │ + vmul.f64 d0, d7, d0 │ │ │ │ │ vstr d2, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d2, [r9, #-56] @ 0xffffffc8 │ │ │ │ │ vmla.f64 d5, d7, d6 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - vnmls.f64 d8, d4, d6 │ │ │ │ │ + vldr d2, [r9, #-56] @ 0xffffffc8 │ │ │ │ │ + vldr d7, [lr] │ │ │ │ │ + vnmls.f64 d0, d4, d6 │ │ │ │ │ vldr d4, [r1] │ │ │ │ │ vldr d6, [r9, #-64] @ 0xffffffc0 │ │ │ │ │ - mov.w r1, fp, lsl #3 │ │ │ │ │ - add.w r7, sl, r1 │ │ │ │ │ - add r1, r8 │ │ │ │ │ vmul.f64 d3, d4, d2 │ │ │ │ │ vmla.f64 d3, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ vnmls.f64 d7, d4, d6 │ │ │ │ │ vldr d4, [r5] │ │ │ │ │ - vldr d1, [r6] │ │ │ │ │ - adds r5, r1, r3 │ │ │ │ │ - vldr d0, [r9, #-8] │ │ │ │ │ - adds r6, r7, r3 │ │ │ │ │ + add.w r5, r6, r3 │ │ │ │ │ vldr d2, [r9, #-16] │ │ │ │ │ - adds r0, r6, r3 │ │ │ │ │ - add r3, r5 │ │ │ │ │ - str r0, [sp, #112] @ 0x70 │ │ │ │ │ - vmul.f64 d6, d1, d0 │ │ │ │ │ + str r0, [sp, #0] │ │ │ │ │ + vldr d8, [r9, #-8] │ │ │ │ │ + vmul.f64 d6, d1, d8 │ │ │ │ │ vmla.f64 d6, d4, d2 │ │ │ │ │ - vmul.f64 d4, d4, d0 │ │ │ │ │ + vmul.f64 d4, d4, d8 │ │ │ │ │ vnmls.f64 d4, d1, d2 │ │ │ │ │ vadd.f64 d1, d3, d6 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ vldr d3, [r9, #-72] @ 0xffffffb8 │ │ │ │ │ vadd.f64 d2, d7, d4 │ │ │ │ │ - vadd.f64 d10, d5, d1 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ + vldr d4, [r9, #-120] @ 0xffffff88 │ │ │ │ │ + vadd.f64 d10, d5, d1 │ │ │ │ │ vmls.f64 d5, d1, d14 │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ vldr d1, [r9, #-24] @ 0xffffffe8 │ │ │ │ │ - vadd.f64 d13, d8, d2 │ │ │ │ │ - vmls.f64 d8, d2, d14 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ - vsub.f64 d9, d5, d7 │ │ │ │ │ - vadd.f64 d0, d5, d7 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - vsub.f64 d4, d8, d6 │ │ │ │ │ - vadd.f64 d15, d6, d8 │ │ │ │ │ + vadd.f64 d13, d0, d2 │ │ │ │ │ + vmls.f64 d0, d2, d14 │ │ │ │ │ + vsub.f64 d15, d5, d7 │ │ │ │ │ + vadd.f64 d9, d5, d7 │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + vstr d9, [sp, #64] @ 0x40 │ │ │ │ │ + vmul.f64 d9, d5, d4 │ │ │ │ │ + vstr d15, [sp, #88] @ 0x58 │ │ │ │ │ + vadd.f64 d15, d6, d0 │ │ │ │ │ + vsub.f64 d0, d0, d6 │ │ │ │ │ vldr d6, [r9, #-128] @ 0xffffff80 │ │ │ │ │ add.w r9, r9, #128 @ 0x80 │ │ │ │ │ - vstr d9, [sp, #88] @ 0x58 │ │ │ │ │ - vstr d0, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d4, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d4, [r9, #-248] @ 0xffffff08 │ │ │ │ │ - vmul.f64 d9, d5, d4 │ │ │ │ │ + vstr d0, [sp, #96] @ 0x60 │ │ │ │ │ vmla.f64 d9, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vmov.f64 d2, d7 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ vnmls.f64 d2, d5, d6 │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + add.w r0, r5, r3 │ │ │ │ │ vldr d6, [r9, #-208] @ 0xffffff30 │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ + vstr d2, [sp, #104] @ 0x68 │ │ │ │ │ vmla.f64 d4, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ + str r0, [sp, #112] @ 0x70 │ │ │ │ │ vldr d3, [r9, #-160] @ 0xffffff60 │ │ │ │ │ - vstr d2, [sp, #104] @ 0x68 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ ldr r0, [sp, #0] │ │ │ │ │ + add r3, r0 │ │ │ │ │ + ldr r0, [sp, #4] │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ vmla.f64 d5, d6, d3 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ vnmls.f64 d6, d2, d3 │ │ │ │ │ vldr d2, [sp, #104] @ 0x68 │ │ │ │ │ vadd.f64 d8, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vldr d4, [sl] │ │ │ │ │ vadd.f64 d3, d7, d6 │ │ │ │ │ - vadd.f64 d0, d9, d8 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ + vadd.f64 d0, d9, d8 │ │ │ │ │ vmls.f64 d9, d8, d14 │ │ │ │ │ vmul.f64 d5, d5, d11 │ │ │ │ │ vadd.f64 d1, d2, d3 │ │ │ │ │ vmls.f64 d2, d3, d14 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ vadd.f64 d8, d10, d0 │ │ │ │ │ vsub.f64 d10, d10, d0 │ │ │ │ │ vsub.f64 d3, d1, d13 │ │ │ │ │ - vadd.f64 d6, d9, d7 │ │ │ │ │ - vsub.f64 d9, d9, d7 │ │ │ │ │ vadd.f64 d13, d13, d1 │ │ │ │ │ vldr d1, [sp, #56] @ 0x38 │ │ │ │ │ + vadd.f64 d6, d9, d7 │ │ │ │ │ + vsub.f64 d9, d9, d7 │ │ │ │ │ vmul.f64 d10, d10, d11 │ │ │ │ │ vmov.f64 d7, d2 │ │ │ │ │ vadd.f64 d2, d5, d2 │ │ │ │ │ vmul.f64 d3, d3, d11 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vldr d5, [sp, #48] @ 0x30 │ │ │ │ │ vadd.f64 d5, d4, d5 │ │ │ │ │ vmov.f64 d4, d5 │ │ │ │ │ vadd.f64 d5, d5, d8 │ │ │ │ │ vmls.f64 d4, d8, d14 │ │ │ │ │ vstr d5, [sl] │ │ │ │ │ vadd.f64 d5, d3, d4 │ │ │ │ │ vsub.f64 d4, d4, d3 │ │ │ │ │ - vstr d5, [lr] │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ vldr d5, [sp, #24] │ │ │ │ │ vstr d4, [r0] │ │ │ │ │ - ldr r0, [sp, #4] │ │ │ │ │ + ldr r0, [sp, #8] │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ vmov.f64 d4, d5 │ │ │ │ │ vmls.f64 d4, d13, d14 │ │ │ │ │ vadd.f64 d13, d13, d5 │ │ │ │ │ - vstr d13, [r8] │ │ │ │ │ + vstr d13, [fp] │ │ │ │ │ vsub.f64 d5, d4, d10 │ │ │ │ │ vadd.f64 d10, d10, d4 │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ - vstr d10, [ip] │ │ │ │ │ - vldr d10, [pc, #348] @ 458 │ │ │ │ │ - vldr d13, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d10, [r7] │ │ │ │ │ + vldr d10, [pc, #368] @ 490 │ │ │ │ │ vldr d5, [sp, #32] │ │ │ │ │ + vldr d4, [sp, #40] @ 0x28 │ │ │ │ │ vmul.f64 d1, d2, d10 │ │ │ │ │ - vldr d10, [pc, #340] @ 460 │ │ │ │ │ + vldr d10, [pc, #360] @ 498 │ │ │ │ │ + vldr d13, [sp, #72] @ 0x48 │ │ │ │ │ vldr d0, [sp, #64] @ 0x40 │ │ │ │ │ + vmla.f64 d1, d6, d10 │ │ │ │ │ + vldr d10, [pc, #352] @ 4a0 │ │ │ │ │ vadd.f64 d3, d5, d13 │ │ │ │ │ vldr d8, [sp, #80] @ 0x50 │ │ │ │ │ - vmla.f64 d1, d6, d10 │ │ │ │ │ - vldr d10, [pc, #328] @ 468 │ │ │ │ │ - vldr d4, [sp, #40] @ 0x28 │ │ │ │ │ ldr r0, [sp, #112] @ 0x70 │ │ │ │ │ vmul.f64 d5, d15, d10 │ │ │ │ │ - vmla.f64 d5, d0, d12 │ │ │ │ │ vadd.f64 d4, d4, d8 │ │ │ │ │ + vmla.f64 d5, d0, d12 │ │ │ │ │ vadd.f64 d0, d1, d5 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ - vldr d1, [pc, #284] @ 458 │ │ │ │ │ + vldr d1, [pc, #300] @ 490 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ - vldr d1, [pc, #284] @ 460 │ │ │ │ │ + vldr d1, [pc, #300] @ 498 │ │ │ │ │ vmul.f64 d5, d5, d11 │ │ │ │ │ vnmls.f64 d6, d2, d1 │ │ │ │ │ vldr d1, [sp, #64] @ 0x40 │ │ │ │ │ vmul.f64 d2, d1, d10 │ │ │ │ │ vnmls.f64 d2, d15, d12 │ │ │ │ │ vsub.f64 d1, d6, d2 │ │ │ │ │ vadd.f64 d2, d6, d2 │ │ │ │ │ vadd.f64 d6, d3, d0 │ │ │ │ │ vmls.f64 d3, d0, d14 │ │ │ │ │ vldr d0, [sp, #96] @ 0x60 │ │ │ │ │ vmul.f64 d1, d1, d11 │ │ │ │ │ - vstr d6, [r7] │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ vadd.f64 d6, d4, d2 │ │ │ │ │ vmls.f64 d4, d2, d14 │ │ │ │ │ vmul.f64 d2, d7, d10 │ │ │ │ │ - vmla.f64 d2, d9, d12 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ + ldr r6, [sp, #20] │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ vsub.f64 d6, d3, d1 │ │ │ │ │ vadd.f64 d1, d1, d3 │ │ │ │ │ - ldr r1, [sp, #8] │ │ │ │ │ + ldr r2, [sp, #0] │ │ │ │ │ + vmla.f64 d2, d9, d12 │ │ │ │ │ vstr d6, [r0] │ │ │ │ │ vadd.f64 d6, d5, d4 │ │ │ │ │ vsub.f64 d4, d4, d5 │ │ │ │ │ - vstr d1, [r6] │ │ │ │ │ - vldr d1, [sp, #88] @ 0x58 │ │ │ │ │ + vstr d1, [r5] │ │ │ │ │ + ldr r5, [sp, #16] │ │ │ │ │ vldr d5, [sp, #32] │ │ │ │ │ - vstr d6, [r5] │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ + vldr d1, [sp, #88] @ 0x58 │ │ │ │ │ vldr d4, [sp, #40] @ 0x28 │ │ │ │ │ vsub.f64 d5, d13, d5 │ │ │ │ │ - vldr d13, [pc, #176] @ 470 │ │ │ │ │ - ldr r5, [sp, #16] │ │ │ │ │ + vldr d13, [pc, #192] @ 4a8 │ │ │ │ │ + ldr r3, [sp, #12] │ │ │ │ │ vsub.f64 d4, d8, d4 │ │ │ │ │ - vldr d8, [pc, #176] @ 478 │ │ │ │ │ - ldr r3, [sp, #120] @ 0x78 │ │ │ │ │ - ldr r6, [sp, #20] │ │ │ │ │ + vldr d8, [pc, #188] @ 4b0 │ │ │ │ │ + ldr r2, [sp, #236] @ 0xec │ │ │ │ │ vmul.f64 d6, d1, d8 │ │ │ │ │ - add sl, r3 │ │ │ │ │ - add r8, r3 │ │ │ │ │ - ldr r3, [sp, #124] @ 0x7c │ │ │ │ │ - eor.w fp, fp, r3 │ │ │ │ │ - ldr r3, [sp, #116] @ 0x74 │ │ │ │ │ vnmls.f64 d6, d0, d13 │ │ │ │ │ vadd.f64 d3, d2, d6 │ │ │ │ │ vsub.f64 d6, d6, d2 │ │ │ │ │ vmul.f64 d2, d9, d10 │ │ │ │ │ vmul.f64 d9, d0, d8 │ │ │ │ │ - vmla.f64 d9, d1, d13 │ │ │ │ │ - vmul.f64 d6, d6, d11 │ │ │ │ │ vnmls.f64 d2, d7, d12 │ │ │ │ │ + vmla.f64 d9, d1, d13 │ │ │ │ │ vadd.f64 d7, d5, d3 │ │ │ │ │ vmls.f64 d5, d3, d14 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ - ldr r1, [sp, #12] │ │ │ │ │ + vmul.f64 d6, d6, d11 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + ldr r3, [sp, #120] @ 0x78 │ │ │ │ │ vadd.f64 d1, d2, d9 │ │ │ │ │ vsub.f64 d2, d2, d9 │ │ │ │ │ - vmul.f64 d1, d1, d11 │ │ │ │ │ + add sl, r3 │ │ │ │ │ + add fp, r3 │ │ │ │ │ + ldr r3, [sp, #124] @ 0x7c │ │ │ │ │ vadd.f64 d7, d4, d2 │ │ │ │ │ + vmul.f64 d1, d1, d11 │ │ │ │ │ vmls.f64 d4, d2, d14 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ + eor.w r4, r4, r3 │ │ │ │ │ + ldr r3, [sp, #116] @ 0x74 │ │ │ │ │ + vstr d7, [r8] │ │ │ │ │ vsub.f64 d7, d5, d1 │ │ │ │ │ vadd.f64 d1, d1, d5 │ │ │ │ │ - ldr r2, [sp, #236] @ 0xec │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ vadd.f64 d5, d6, d4 │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ vsub.f64 d7, d4, d6 │ │ │ │ │ - vstr d1, [r4] │ │ │ │ │ + vstr d1, [lr] │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ vstr d7, [r6] │ │ │ │ │ - bne.w 60 │ │ │ │ │ + bne.w 70 │ │ │ │ │ add sp, #132 @ 0x84 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop │ │ │ │ │ .word 0x523c161d │ │ │ │ │ .word 0x3fe491b7 │ │ │ │ │ .word 0xa2cf5039 │ │ │ │ │ .word 0x3fe8836f │ │ │ │ │ .word 0x8c811c17 │ │ │ │ │ .word 0x3fef838b │ │ │ │ │ .word 0x748a0bf5 │ │ │ │ │ .word 0x3fd5e3a8 │ │ │ │ │ .word 0x42522d1c │ │ │ │ │ .word 0x3fee11f6 │ │ │ │ │ │ │ │ │ │ -00000480 : │ │ │ │ │ +000004b8 : │ │ │ │ │ fftw_codelet_t1_9(): │ │ │ │ │ - ldr r2, [pc, #8] @ (48c ) │ │ │ │ │ - ldr r1, [pc, #12] @ (490 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (4c4 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (4c8 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_dit_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── t2_10.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2204 (bytes into file) │ │ │ │ │ + Start of section headers: 2276 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x89c: │ │ │ │ │ +There are 14 section headers, starting at offset 0x8e4: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00054c 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0007e4 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000580 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000580 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000580 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000586 000010 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 000596 000040 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 00080c 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 0005d6 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0005d6 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 00060c 000150 10 12 16 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 00075c 000087 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000824 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000594 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 00082c 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0005c8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0005c8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0005c8 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 0005ce 000010 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0005de 000040 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000854 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 00061e 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00061e 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000654 000150 10 12 16 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0007a4 000087 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 00086c 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 21 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1336 FUNC LOCAL DEFAULT 1 t2_10 │ │ │ │ │ + 1: 00000001 1408 FUNC LOCAL DEFAULT 1 t2_10 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000040 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000050 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000528 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000538 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00000544 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000058 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000070 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000578 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000580 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 0000058c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 16 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 13: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 14: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 15: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 18: 00000539 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t2_10 │ │ │ │ │ + 18: 00000581 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t2_10 │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_dit_register │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x7e4 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x82c contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000048 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000004c 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000544 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000548 00000103 R_ARM_REL32 00000001 t2_10 │ │ │ │ │ -00000540 0000131e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ +00000068 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000006c 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +0000058c 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000590 00000103 R_ARM_REL32 00000001 t2_10 │ │ │ │ │ +00000588 0000131e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x80c contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x854 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000a02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001402 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,389 +1,396 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ t2_10(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r0 │ │ │ │ │ mov r6, r1 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r7, r3 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #204 @ 0xcc │ │ │ │ │ - ldr r1, [pc, #56] @ (48 ) │ │ │ │ │ - mov r7, r3 │ │ │ │ │ - ldr r0, [sp, #308] @ 0x134 │ │ │ │ │ - add r1, pc │ │ │ │ │ - ldr r3, [sp, #304] @ 0x130 │ │ │ │ │ + ldrd r3, r0, [sp, #304] @ 0x130 │ │ │ │ │ + ldr r1, [pc, #64] @ (68 ) │ │ │ │ │ cmp r3, r0 │ │ │ │ │ - bge.w 51a │ │ │ │ │ + add r1, pc │ │ │ │ │ + bge.w 556 │ │ │ │ │ ldr r0, [sp, #312] @ 0x138 │ │ │ │ │ - mov lr, r7 │ │ │ │ │ - vldr d14, [pc, #28] @ 40 │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + vldr d13, [pc, #32] @ 58 │ │ │ │ │ + vldr d14, [pc, #36] @ 60 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ str r0, [sp, #192] @ 0xc0 │ │ │ │ │ - ldr r0, [pc, #32] @ (4c ) │ │ │ │ │ + ldr r0, [pc, #40] @ (6c ) │ │ │ │ │ ldr r1, [r1, r0] │ │ │ │ │ + str r3, [sp, #188] @ 0xbc │ │ │ │ │ + add.w r3, r3, r3, lsl #1 │ │ │ │ │ + add.w r4, r2, r3, lsl #4 │ │ │ │ │ ldr r1, [r1, #0] │ │ │ │ │ str r1, [sp, #196] @ 0xc4 │ │ │ │ │ - adds r1, r3, #1 │ │ │ │ │ - str r1, [sp, #188] @ 0xbc │ │ │ │ │ - movs r1, #48 @ 0x30 │ │ │ │ │ - mla r3, r3, r1, r1 │ │ │ │ │ - adds r4, r2, r3 │ │ │ │ │ - b.n 54 │ │ │ │ │ + b.n 76 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x134454ff │ │ │ │ │ + .word 0x3fee6f0e │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ - .word 0x00000030 │ │ │ │ │ + .word 0x0000003c │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str r3, [sp, #188] @ 0xbc │ │ │ │ │ - vldr d12, [r4, #-48] @ 0xffffffd0 │ │ │ │ │ - movs r3, #40 @ 0x28 │ │ │ │ │ - vldr d8, [r4, #-32] @ 0xffffffe0 │ │ │ │ │ - mov.w r1, lr, lsl #3 │ │ │ │ │ - vldr d10, [r4, #-24] @ 0xffffffe8 │ │ │ │ │ - movs r7, #72 @ 0x48 │ │ │ │ │ - vldr d7, [r4, #-40] @ 0xffffffd8 │ │ │ │ │ - mul.w ip, r3, lr │ │ │ │ │ - vmul.f64 d4, d12, d8 │ │ │ │ │ - vldr d9, [r4, #-8] │ │ │ │ │ - vmul.f64 d2, d12, d10 │ │ │ │ │ - vldr d6, [r4, #-16] │ │ │ │ │ - vmul.f64 d5, d7, d8 │ │ │ │ │ - vmul.f64 d11, d7, d10 │ │ │ │ │ - add.w fp, r5, ip │ │ │ │ │ - add ip, r6 │ │ │ │ │ - mov.w r3, lr, lsl #5 │ │ │ │ │ - adds r0, r5, r1 │ │ │ │ │ - adds r2, r5, r3 │ │ │ │ │ - adds r3, r6, r3 │ │ │ │ │ - vsub.f64 d0, d2, d5 │ │ │ │ │ - vsub.f64 d3, d4, d11 │ │ │ │ │ - vadd.f64 d11, d4, d11 │ │ │ │ │ - vadd.f64 d5, d5, d2 │ │ │ │ │ - vmul.f64 d4, d10, d9 │ │ │ │ │ - vldr d13, [fp] │ │ │ │ │ - vmla.f64 d4, d8, d6 │ │ │ │ │ - add r1, r6 │ │ │ │ │ - vmul.f64 d2, d0, d9 │ │ │ │ │ - vstr d0, [sp, #32] │ │ │ │ │ - vmla.f64 d2, d11, d6 │ │ │ │ │ - vmul.f64 d1, d5, d9 │ │ │ │ │ - vmla.f64 d1, d3, d6 │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ - vmul.f64 d15, d10, d6 │ │ │ │ │ + vldr d15, [r4, #-48] @ 0xffffffd0 │ │ │ │ │ + add.w r0, r7, r7, lsl #2 │ │ │ │ │ + add.w r4, r4, #48 @ 0x30 │ │ │ │ │ + vldr d4, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ + vldr d0, [r4, #-80] @ 0xffffffb0 │ │ │ │ │ + add.w r3, r0, r6 │ │ │ │ │ + add.w fp, r5, r0 │ │ │ │ │ + vldr d9, [r4, #-72] @ 0xffffffb8 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ - str r1, [sp, #12] │ │ │ │ │ - mov.w r9, #24 │ │ │ │ │ - str r0, [sp, #8] │ │ │ │ │ - mov.w sl, #56 @ 0x38 │ │ │ │ │ - adds r4, #48 @ 0x30 │ │ │ │ │ - vstr d4, [sp, #24] │ │ │ │ │ - vmul.f64 d4, d5, d6 │ │ │ │ │ - vnmls.f64 d15, d8, d9 │ │ │ │ │ + vldr d7, [r4, #-64] @ 0xffffffc0 │ │ │ │ │ + vmul.f64 d6, d4, d0 │ │ │ │ │ + vmul.f64 d5, d15, d0 │ │ │ │ │ + vldr d11, [r4, #-56] @ 0xffffffc8 │ │ │ │ │ + vmul.f64 d2, d15, d9 │ │ │ │ │ + vmul.f64 d10, d4, d9 │ │ │ │ │ + vsub.f64 d12, d2, d6 │ │ │ │ │ + vsub.f64 d3, d5, d10 │ │ │ │ │ + vadd.f64 d10, d5, d10 │ │ │ │ │ + vadd.f64 d6, d6, d2 │ │ │ │ │ + vmul.f64 d5, d9, d11 │ │ │ │ │ + vmul.f64 d2, d12, d11 │ │ │ │ │ + vmla.f64 d5, d0, d7 │ │ │ │ │ + vmul.f64 d1, d6, d11 │ │ │ │ │ + vmla.f64 d2, d10, d7 │ │ │ │ │ + vmla.f64 d1, d3, d7 │ │ │ │ │ + vstr d5, [sp, #32] │ │ │ │ │ + vmul.f64 d5, d9, d7 │ │ │ │ │ + vstr d2, [sp, #40] @ 0x28 │ │ │ │ │ + vmul.f64 d2, d4, d11 │ │ │ │ │ + vnmls.f64 d5, d0, d11 │ │ │ │ │ + vmla.f64 d2, d15, d7 │ │ │ │ │ + vstr d5, [sp, #24] │ │ │ │ │ + vmul.f64 d5, d6, d7 │ │ │ │ │ vstr d2, [sp, #96] @ 0x60 │ │ │ │ │ - vmul.f64 d2, d7, d9 │ │ │ │ │ - vmla.f64 d2, d12, d6 │ │ │ │ │ - vnmls.f64 d4, d3, d9 │ │ │ │ │ - vstr d2, [sp, #104] @ 0x68 │ │ │ │ │ - vmul.f64 d2, d7, d6 │ │ │ │ │ - vnmls.f64 d2, d12, d9 │ │ │ │ │ - vstr d2, [sp, #112] @ 0x70 │ │ │ │ │ - vmul.f64 d2, d0, d6 │ │ │ │ │ - vmov.f64 d0, d2 │ │ │ │ │ - vnmls.f64 d0, d11, d9 │ │ │ │ │ - vstr d0, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d0, [ip] │ │ │ │ │ - vmul.f64 d2, d4, d0 │ │ │ │ │ - vmul.f64 d4, d4, d13 │ │ │ │ │ - vmla.f64 d2, d1, d13 │ │ │ │ │ - vldr d13, [r5] │ │ │ │ │ - vnmls.f64 d4, d1, d0 │ │ │ │ │ - vsub.f64 d1, d13, d2 │ │ │ │ │ - vldr d13, [r6] │ │ │ │ │ + vmul.f64 d2, d4, d7 │ │ │ │ │ + vnmls.f64 d5, d3, d11 │ │ │ │ │ + vmov.f64 d8, d2 │ │ │ │ │ + vmul.f64 d2, d12, d7 │ │ │ │ │ + vnmls.f64 d8, d15, d11 │ │ │ │ │ + vstr d8, [sp, #104] @ 0x68 │ │ │ │ │ + vmov.f64 d8, d2 │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ + vnmls.f64 d8, d10, d11 │ │ │ │ │ + vmul.f64 d2, d5, d2 │ │ │ │ │ + vstr d8, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d8, [fp] │ │ │ │ │ + vmla.f64 d2, d1, d8 │ │ │ │ │ + vmul.f64 d5, d5, d8 │ │ │ │ │ + vldr d8, [r3] │ │ │ │ │ + mov.w r3, r7, lsl #5 │ │ │ │ │ + add.w r2, r5, r3 │ │ │ │ │ + add r3, r6 │ │ │ │ │ + strd r2, r3, [sp, #8] │ │ │ │ │ + vnmls.f64 d5, d1, d8 │ │ │ │ │ + vldr d1, [r5] │ │ │ │ │ + vldr d8, [r6] │ │ │ │ │ + vsub.f64 d1, d1, d2 │ │ │ │ │ + vadd.f64 d8, d8, d5 │ │ │ │ │ + vstr d1, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d1, [r6] │ │ │ │ │ + vstr d8, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d8, [r2] │ │ │ │ │ + add.w r2, r7, r7, lsl #1 │ │ │ │ │ + vsub.f64 d1, d1, d5 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ + mov.w r3, r7, lsl #3 │ │ │ │ │ + mov.w ip, r2, lsl #4 │ │ │ │ │ + add.w r1, r6, r3 │ │ │ │ │ + add.w lr, r5, r3 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + add.w r0, r5, ip │ │ │ │ │ + str r1, [sp, #16] │ │ │ │ │ + add.w r9, r5, r2 │ │ │ │ │ + add r2, r6 │ │ │ │ │ vstr d1, [sp, #128] @ 0x80 │ │ │ │ │ - vsub.f64 d1, d13, d4 │ │ │ │ │ - vldr d13, [r5] │ │ │ │ │ - vadd.f64 d2, d13, d2 │ │ │ │ │ - vldr d13, [r6] │ │ │ │ │ + vldr d1, [r5] │ │ │ │ │ + vadd.f64 d1, d1, d2 │ │ │ │ │ + vldr d2, [lr] │ │ │ │ │ vstr d1, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d1, [r2] │ │ │ │ │ - mul.w r2, r7, lr │ │ │ │ │ - vadd.f64 d4, d13, d4 │ │ │ │ │ - movs r7, #48 @ 0x30 │ │ │ │ │ - vstr d2, [sp, #144] @ 0x90 │ │ │ │ │ - add.w r8, r5, r2 │ │ │ │ │ - add r2, r6 │ │ │ │ │ - vstr d4, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - mul.w r3, r7, lr │ │ │ │ │ - vldr d0, [r8] │ │ │ │ │ - adds r7, r5, r3 │ │ │ │ │ - vmul.f64 d2, d5, d4 │ │ │ │ │ - vmla.f64 d2, d3, d1 │ │ │ │ │ - vmul.f64 d1, d5, d1 │ │ │ │ │ - vnmls.f64 d1, d3, d4 │ │ │ │ │ - vldr d3, [r0] │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - adds r1, r6, r3 │ │ │ │ │ - mov.w r3, lr, lsl #4 │ │ │ │ │ - adds r0, r5, r3 │ │ │ │ │ - adds r3, r6, r3 │ │ │ │ │ - vmul.f64 d5, d7, d4 │ │ │ │ │ - vmul.f64 d7, d7, d3 │ │ │ │ │ - vmla.f64 d5, d12, d3 │ │ │ │ │ - vldr d3, [r2] │ │ │ │ │ - str r7, [sp, #16] │ │ │ │ │ - str r3, [sp, #184] @ 0xb8 │ │ │ │ │ - vnmls.f64 d7, d12, d4 │ │ │ │ │ - vmul.f64 d4, d9, d3 │ │ │ │ │ - vmul.f64 d9, d9, d0 │ │ │ │ │ - vmla.f64 d4, d6, d0 │ │ │ │ │ - vldr d0, [r1] │ │ │ │ │ - vldr d12, [sp, #24] │ │ │ │ │ + vmul.f64 d1, d6, d5 │ │ │ │ │ + vmla.f64 d1, d3, d8 │ │ │ │ │ + vmul.f64 d8, d6, d8 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + add.w r1, r3, r7 │ │ │ │ │ + sub.w r3, r3, r7 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + add.w r8, r5, r1 │ │ │ │ │ + add r1, r6 │ │ │ │ │ + vnmls.f64 d8, d3, d5 │ │ │ │ │ + add.w sl, r5, r3 │ │ │ │ │ + add r3, r6 │ │ │ │ │ + vmul.f64 d3, d4, d6 │ │ │ │ │ + vmla.f64 d3, d15, d2 │ │ │ │ │ + vmul.f64 d2, d4, d2 │ │ │ │ │ + vldr d4, [r8] │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + str r0, [sp, #20] │ │ │ │ │ + vnmls.f64 d2, d15, d6 │ │ │ │ │ + vmul.f64 d6, d11, d5 │ │ │ │ │ + vmul.f64 d11, d11, d4 │ │ │ │ │ + vmla.f64 d6, d7, d4 │ │ │ │ │ + vldr d4, [sp, #24] │ │ │ │ │ + vnmls.f64 d11, d7, d5 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + add.w r0, r6, ip │ │ │ │ │ + mov.w ip, r7, lsl #4 │ │ │ │ │ + vldr d15, [r0] │ │ │ │ │ + vmul.f64 d5, d4, d15 │ │ │ │ │ + vstr d15, [sp, #24] │ │ │ │ │ + vldr d15, [sp, #32] │ │ │ │ │ + str r0, [sp, #184] @ 0xb8 │ │ │ │ │ + add.w r0, r5, ip │ │ │ │ │ + vmla.f64 d5, d15, d7 │ │ │ │ │ + vmul.f64 d7, d4, d7 │ │ │ │ │ + vldr d4, [sp, #24] │ │ │ │ │ str r0, [sp, #24] │ │ │ │ │ - vnmls.f64 d9, d6, d3 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - vmul.f64 d3, d15, d0 │ │ │ │ │ - mul.w r7, r9, lr │ │ │ │ │ - str r1, [sp, #20] │ │ │ │ │ - vmla.f64 d3, d12, d6 │ │ │ │ │ - vmul.f64 d6, d15, d6 │ │ │ │ │ - add.w r9, r5, r7 │ │ │ │ │ - add r7, r6 │ │ │ │ │ - vnmls.f64 d6, d12, d0 │ │ │ │ │ - vsub.f64 d12, d2, d4 │ │ │ │ │ - vadd.f64 d4, d2, d4 │ │ │ │ │ - vldr d2, [sp, #104] @ 0x68 │ │ │ │ │ - vsub.f64 d15, d3, d5 │ │ │ │ │ - vstr d12, [sp, #40] @ 0x28 │ │ │ │ │ - vadd.f64 d5, d5, d3 │ │ │ │ │ - vstr d4, [sp, #72] @ 0x48 │ │ │ │ │ - vadd.f64 d0, d12, d15 │ │ │ │ │ + vnmls.f64 d7, d15, d4 │ │ │ │ │ + vsub.f64 d15, d1, d6 │ │ │ │ │ + vadd.f64 d1, d1, d6 │ │ │ │ │ + vsub.f64 d4, d5, d3 │ │ │ │ │ + vadd.f64 d6, d3, d5 │ │ │ │ │ vstr d15, [sp, #48] @ 0x30 │ │ │ │ │ - vadd.f64 d12, d1, d9 │ │ │ │ │ - vadd.f64 d15, d7, d6 │ │ │ │ │ - vsub.f64 d9, d1, d9 │ │ │ │ │ - vsub.f64 d7, d6, d7 │ │ │ │ │ - vadd.f64 d3, d4, d5 │ │ │ │ │ - vstr d5, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d5, [sp, #32] │ │ │ │ │ - vstr d12, [sp, #56] @ 0x38 │ │ │ │ │ - vadd.f64 d12, d12, d15 │ │ │ │ │ - vadd.f64 d6, d9, d7 │ │ │ │ │ - vstr d15, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d9, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d4, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d12, [sp, #160] @ 0xa0 │ │ │ │ │ - vmov.f64 d12, d7 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - mov.w r3, lr, lsl #6 │ │ │ │ │ - vstr d6, [sp, #176] @ 0xb0 │ │ │ │ │ - adds r1, r5, r3 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - mul.w r0, sl, lr │ │ │ │ │ - vmul.f64 d15, d5, d7 │ │ │ │ │ + vadd.f64 d15, d15, d4 │ │ │ │ │ + vadd.f64 d3, d1, d6 │ │ │ │ │ + vstr d4, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d6, [sp, #80] @ 0x50 │ │ │ │ │ + vsub.f64 d6, d8, d11 │ │ │ │ │ + vadd.f64 d4, d2, d7 │ │ │ │ │ + vstr d15, [sp, #152] @ 0x98 │ │ │ │ │ + vadd.f64 d15, d8, d11 │ │ │ │ │ + vsub.f64 d8, d7, d2 │ │ │ │ │ vstr d3, [sp, #168] @ 0xa8 │ │ │ │ │ - add.w sl, r5, r0 │ │ │ │ │ - add r0, r6 │ │ │ │ │ - vmla.f64 d15, d11, d6 │ │ │ │ │ - vmul.f64 d6, d5, d6 │ │ │ │ │ - add r3, r6 │ │ │ │ │ - vldr d1, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d3, [sl] │ │ │ │ │ - str r1, [sp, #32] │ │ │ │ │ - vnmls.f64 d6, d11, d7 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - vmul.f64 d9, d10, d7 │ │ │ │ │ - vmov.f64 d11, d6 │ │ │ │ │ - vldr d6, [r9] │ │ │ │ │ - vmla.f64 d9, d8, d6 │ │ │ │ │ - vmul.f64 d6, d10, d6 │ │ │ │ │ - vmov.f64 d10, d6 │ │ │ │ │ - vldr d6, [sp, #96] @ 0x60 │ │ │ │ │ - vnmls.f64 d10, d8, d7 │ │ │ │ │ + vstr d6, [sp, #88] @ 0x58 │ │ │ │ │ + vadd.f64 d7, d6, d8 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + add.w r0, r6, ip │ │ │ │ │ + vstr d4, [sp, #72] @ 0x48 │ │ │ │ │ + mov.w ip, r7, lsl #6 │ │ │ │ │ + vstr d15, [sp, #64] @ 0x40 │ │ │ │ │ + vadd.f64 d15, d15, d4 │ │ │ │ │ + vldr d4, [sp, #112] @ 0x70 │ │ │ │ │ + str r0, [sp, #32] │ │ │ │ │ + vstr d7, [sp, #176] @ 0xb0 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - vmov.f64 d8, d11 │ │ │ │ │ - vmul.f64 d5, d4, d7 │ │ │ │ │ - vmla.f64 d5, d6, d3 │ │ │ │ │ - vmul.f64 d3, d4, d3 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - vnmls.f64 d3, d6, d7 │ │ │ │ │ + add.w r0, r5, ip │ │ │ │ │ + add ip, r6 │ │ │ │ │ + vstr d15, [sp, #160] @ 0xa0 │ │ │ │ │ + vmul.f64 d15, d12, d7 │ │ │ │ │ + vmul.f64 d12, d12, d6 │ │ │ │ │ + vnmls.f64 d12, d10, d7 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + vmla.f64 d15, d10, d6 │ │ │ │ │ + vldr d6, [r9] │ │ │ │ │ + vmul.f64 d5, d9, d7 │ │ │ │ │ + vmov.f64 d10, d5 │ │ │ │ │ + vldr d5, [sp, #40] @ 0x28 │ │ │ │ │ + str r0, [sp, #40] @ 0x28 │ │ │ │ │ + vmla.f64 d10, d0, d6 │ │ │ │ │ + vmul.f64 d6, d9, d6 │ │ │ │ │ + vnmls.f64 d6, d0, d7 │ │ │ │ │ + vldr d7, [sl] │ │ │ │ │ + vmov.f64 d11, d6 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - vmov.f64 d13, d10 │ │ │ │ │ - vmul.f64 d7, d1, d6 │ │ │ │ │ - vmla.f64 d7, d2, d4 │ │ │ │ │ - vmul.f64 d4, d1, d4 │ │ │ │ │ - vsub.f64 d1, d15, d5 │ │ │ │ │ - vadd.f64 d15, d15, d5 │ │ │ │ │ + vmul.f64 d3, d4, d6 │ │ │ │ │ + vmla.f64 d3, d5, d7 │ │ │ │ │ + vmul.f64 d7, d4, d7 │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ + vnmls.f64 d7, d5, d6 │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + vldr d0, [sp, #104] @ 0x68 │ │ │ │ │ + ldr r0, [sp, #4] │ │ │ │ │ + vldr d2, [sp, #96] @ 0x60 │ │ │ │ │ + vmul.f64 d5, d0, d6 │ │ │ │ │ + vadd.f64 d9, d12, d7 │ │ │ │ │ + vmla.f64 d5, d2, d4 │ │ │ │ │ + vmul.f64 d4, d0, d4 │ │ │ │ │ + vmov.f64 d0, d10 │ │ │ │ │ vnmls.f64 d4, d2, d6 │ │ │ │ │ - vadd.f64 d10, d11, d3 │ │ │ │ │ - vsub.f64 d6, d7, d9 │ │ │ │ │ - vstr d10, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d11, [sp, #96] @ 0x60 │ │ │ │ │ - vadd.f64 d9, d9, d7 │ │ │ │ │ - vsub.f64 d7, d8, d3 │ │ │ │ │ - vldr d8, [pc, #544] @ 528 │ │ │ │ │ - vadd.f64 d10, d13, d4 │ │ │ │ │ - vadd.f64 d2, d1, d6 │ │ │ │ │ - vsub.f64 d4, d4, d13 │ │ │ │ │ - vsub.f64 d6, d1, d6 │ │ │ │ │ - vadd.f64 d11, d11, d10 │ │ │ │ │ - vsub.f64 d5, d2, d0 │ │ │ │ │ - vadd.f64 d2, d0, d2 │ │ │ │ │ + vsub.f64 d2, d15, d3 │ │ │ │ │ + vadd.f64 d15, d15, d3 │ │ │ │ │ + vsub.f64 d6, d5, d10 │ │ │ │ │ + vadd.f64 d10, d12, d7 │ │ │ │ │ + vstr d2, [sp, #96] @ 0x60 │ │ │ │ │ + vsub.f64 d7, d12, d7 │ │ │ │ │ + vldr d12, [pc, #560] @ 578 │ │ │ │ │ + vstr d10, [sp, #104] @ 0x68 │ │ │ │ │ + vadd.f64 d10, d11, d4 │ │ │ │ │ + vadd.f64 d2, d2, d6 │ │ │ │ │ + vsub.f64 d4, d4, d11 │ │ │ │ │ + vadd.f64 d9, d9, d10 │ │ │ │ │ vadd.f64 d3, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vstr d11, [sp, #104] @ 0x68 │ │ │ │ │ - vmul.f64 d5, d5, d8 │ │ │ │ │ - vldr d13, [sp, #128] @ 0x80 │ │ │ │ │ - vmov.f64 d8, #80 @ 0x3e800000 0.250 │ │ │ │ │ vldr d4, [sp, #88] @ 0x58 │ │ │ │ │ - vadd.f64 d11, d15, d9 │ │ │ │ │ - ldr r1, [sp, #8] │ │ │ │ │ - vsub.f64 d15, d15, d9 │ │ │ │ │ - vmov.f64 d0, d13 │ │ │ │ │ - vldr d1, [sp, #48] @ 0x30 │ │ │ │ │ - vmls.f64 d0, d2, d8 │ │ │ │ │ - vsub.f64 d8, d4, d12 │ │ │ │ │ - vldr d12, [pc, #464] @ 530 │ │ │ │ │ - vadd.f64 d2, d13, d2 │ │ │ │ │ - vldr d13, [sp, #136] @ 0x88 │ │ │ │ │ + vstr d9, [sp, #112] @ 0x70 │ │ │ │ │ + vadd.f64 d9, d0, d5 │ │ │ │ │ + vldr d0, [sp, #152] @ 0x98 │ │ │ │ │ + vsub.f64 d8, d4, d8 │ │ │ │ │ + vsub.f64 d5, d2, d0 │ │ │ │ │ + vadd.f64 d2, d0, d2 │ │ │ │ │ + vmov.f64 d0, #80 @ 0x3e800000 0.250 │ │ │ │ │ vmul.f64 d4, d8, d14 │ │ │ │ │ - vmla.f64 d4, d7, d12 │ │ │ │ │ + vmul.f64 d5, d5, d12 │ │ │ │ │ + vldr d12, [sp, #120] @ 0x78 │ │ │ │ │ + vmla.f64 d4, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ + vmov.f64 d11, d12 │ │ │ │ │ + vnmls.f64 d7, d8, d13 │ │ │ │ │ + vmls.f64 d11, d2, d0 │ │ │ │ │ + vadd.f64 d2, d12, d2 │ │ │ │ │ + vldr d12, [sp, #96] @ 0x60 │ │ │ │ │ vstr d2, [fp] │ │ │ │ │ + vsub.f64 d6, d12, d6 │ │ │ │ │ + vldr d12, [sp, #56] @ 0x38 │ │ │ │ │ + vmov.f64 d0, d11 │ │ │ │ │ + vldr d11, [sp, #128] @ 0x80 │ │ │ │ │ vsub.f64 d2, d0, d5 │ │ │ │ │ vadd.f64 d5, d5, d0 │ │ │ │ │ - vnmls.f64 d7, d8, d12 │ │ │ │ │ - vldr d0, [pc, #416] @ 528 │ │ │ │ │ + vldr d0, [pc, #428] @ 578 │ │ │ │ │ vsub.f64 d8, d2, d7 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ vstr d8, [sl] │ │ │ │ │ vmov.f64 d8, #80 @ 0x3e800000 0.250 │ │ │ │ │ vstr d7, [r9] │ │ │ │ │ vsub.f64 d7, d5, d4 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ - vmov.f64 d5, d13 │ │ │ │ │ + vldr d5, [sp, #176] @ 0xb0 │ │ │ │ │ vstr d7, [r8] │ │ │ │ │ - vstr d4, [r1] │ │ │ │ │ - vldr d4, [sp, #176] @ 0xb0 │ │ │ │ │ - ldr r1, [sp, #12] │ │ │ │ │ - vsub.f64 d7, d3, d4 │ │ │ │ │ - vadd.f64 d3, d4, d3 │ │ │ │ │ - vldr d4, [sp, #40] @ 0x28 │ │ │ │ │ - vsub.f64 d2, d4, d1 │ │ │ │ │ + vstr d4, [lr] │ │ │ │ │ + vsub.f64 d7, d3, d5 │ │ │ │ │ + vadd.f64 d3, d5, d3 │ │ │ │ │ + vldr d4, [sp, #48] @ 0x30 │ │ │ │ │ + vmov.f64 d5, d11 │ │ │ │ │ vmls.f64 d5, d3, d8 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ - vadd.f64 d3, d13, d3 │ │ │ │ │ - vmov.f64 d1, d0 │ │ │ │ │ + vsub.f64 d2, d4, d12 │ │ │ │ │ + vadd.f64 d3, d11, d3 │ │ │ │ │ + vldr d11, [sp, #168] @ 0xa8 │ │ │ │ │ + vadd.f64 d12, d15, d9 │ │ │ │ │ + vsub.f64 d15, d15, d9 │ │ │ │ │ vmul.f64 d4, d2, d14 │ │ │ │ │ - vmla.f64 d4, d6, d12 │ │ │ │ │ - vmul.f64 d6, d6, d14 │ │ │ │ │ - vstr d3, [ip] │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ + ldr r0, [sp, #16] │ │ │ │ │ vsub.f64 d3, d5, d7 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vnmls.f64 d6, d2, d12 │ │ │ │ │ + vadd.f64 d5, d11, d12 │ │ │ │ │ + vmla.f64 d4, d6, d13 │ │ │ │ │ + vmul.f64 d6, d6, d14 │ │ │ │ │ + vnmls.f64 d6, d2, d13 │ │ │ │ │ vsub.f64 d2, d3, d6 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ - vldr d3, [sp, #56] @ 0x38 │ │ │ │ │ - vstr d2, [r7] │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ + vldr d3, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ vsub.f64 d6, d7, d4 │ │ │ │ │ - vldr d2, [sp, #144] @ 0x90 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ - ldr r0, [sp, #24] │ │ │ │ │ - ldr r7, [sp, #16] │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ - vldr d6, [sp, #168] @ 0xa8 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - ldr r2, [sp, #0] │ │ │ │ │ - vadd.f64 d5, d6, d11 │ │ │ │ │ - vsub.f64 d7, d11, d6 │ │ │ │ │ + vsub.f64 d7, d12, d11 │ │ │ │ │ + ldr r2, [sp, #8] │ │ │ │ │ + vldr d2, [sp, #136] @ 0x88 │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ + vldr d4, [sp, #64] @ 0x40 │ │ │ │ │ vmov.f64 d6, d2 │ │ │ │ │ vmls.f64 d6, d5, d8 │ │ │ │ │ - vmul.f64 d7, d7, d0 │ │ │ │ │ - vmov.f64 d0, d8 │ │ │ │ │ - vldr d8, [sp, #64] @ 0x40 │ │ │ │ │ vadd.f64 d5, d2, d5 │ │ │ │ │ - vsub.f64 d4, d3, d8 │ │ │ │ │ - vldr d3, [sp, #96] @ 0x60 │ │ │ │ │ + vsub.f64 d4, d4, d3 │ │ │ │ │ + vldr d3, [sp, #104] @ 0x68 │ │ │ │ │ vstr d5, [r5] │ │ │ │ │ vsub.f64 d12, d3, d10 │ │ │ │ │ - vldr d10, [pc, #216] @ 530 │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vmul.f64 d3, d12, d14 │ │ │ │ │ - vnmls.f64 d3, d4, d10 │ │ │ │ │ + vnmls.f64 d3, d4, d13 │ │ │ │ │ vmul.f64 d4, d4, d14 │ │ │ │ │ - vmla.f64 d4, d12, d10 │ │ │ │ │ + vmla.f64 d4, d12, d13 │ │ │ │ │ vsub.f64 d7, d6, d3 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ vsub.f64 d2, d5, d4 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ vstr d2, [r2] │ │ │ │ │ - vstr d4, [r7] │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ - ldr r0, [sp, #32] │ │ │ │ │ - vstr d3, [r0] │ │ │ │ │ - vldr d8, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d7, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d2, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d3, [sp, #72] @ 0x48 │ │ │ │ │ - vadd.f64 d4, d7, d8 │ │ │ │ │ + ldr r3, [sp, #12] │ │ │ │ │ + ldrd r0, r2, [sp, #20] │ │ │ │ │ vldr d5, [sp, #80] @ 0x50 │ │ │ │ │ - vsub.f64 d6, d8, d7 │ │ │ │ │ - vmov.f64 d7, d2 │ │ │ │ │ - ldr r2, [sp, #4] │ │ │ │ │ - vsub.f64 d5, d3, d5 │ │ │ │ │ + vldr d2, [sp, #144] @ 0x90 │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ + vldr d4, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ + vsub.f64 d5, d1, d5 │ │ │ │ │ + vldr d7, [sp, #160] @ 0xa0 │ │ │ │ │ + ldr r0, [sp, #184] @ 0xb8 │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ vmul.f64 d3, d15, d14 │ │ │ │ │ - vmls.f64 d7, d4, d0 │ │ │ │ │ - vadd.f64 d4, d2, d4 │ │ │ │ │ - vmul.f64 d6, d6, d1 │ │ │ │ │ - ldr r1, [sp, #20] │ │ │ │ │ - vnmls.f64 d3, d5, d10 │ │ │ │ │ + ldr r2, [sp, #308] @ 0x134 │ │ │ │ │ + vsub.f64 d6, d4, d7 │ │ │ │ │ + vadd.f64 d4, d7, d4 │ │ │ │ │ + vmov.f64 d7, d2 │ │ │ │ │ + vnmls.f64 d3, d5, d13 │ │ │ │ │ vmul.f64 d5, d5, d14 │ │ │ │ │ - vmla.f64 d5, d15, d10 │ │ │ │ │ + vmls.f64 d7, d4, d8 │ │ │ │ │ + vmul.f64 d6, d6, d0 │ │ │ │ │ + vadd.f64 d4, d2, d4 │ │ │ │ │ + vmla.f64 d5, d15, d13 │ │ │ │ │ vstr d4, [r6] │ │ │ │ │ vadd.f64 d4, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d2, d5, d4 │ │ │ │ │ vsub.f64 d4, d4, d5 │ │ │ │ │ vadd.f64 d6, d3, d7 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - ldr r2, [sp, #184] @ 0xb8 │ │ │ │ │ - vstr d4, [r1] │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ ldr r3, [sp, #192] @ 0xc0 │ │ │ │ │ - ldr r2, [sp, #308] @ 0x134 │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ + ldr r0, [sp, #32] │ │ │ │ │ add r5, r3 │ │ │ │ │ add r6, r3 │ │ │ │ │ ldr r3, [sp, #196] @ 0xc4 │ │ │ │ │ - eor.w lr, lr, r3 │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ + vstr d7, [ip] │ │ │ │ │ + eor.w r7, r7, r3 │ │ │ │ │ ldr r3, [sp, #188] @ 0xbc │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.w 50 │ │ │ │ │ + bne.w 70 │ │ │ │ │ add sp, #204 @ 0xcc │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ nop.w │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ - .word 0x134454ff │ │ │ │ │ - .word 0x3fee6f0e │ │ │ │ │ │ │ │ │ │ -00000538 : │ │ │ │ │ +00000580 : │ │ │ │ │ fftw_codelet_t2_10(): │ │ │ │ │ - ldr r2, [pc, #8] @ (544 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (548 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (58c ) │ │ │ │ │ + ldr r1, [pc, #12] @ (590 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_dit_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── t2_16.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 3104 (bytes into file) │ │ │ │ │ + Start of section headers: 3200 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0xc20: │ │ │ │ │ +There are 14 section headers, starting at offset 0xc80: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0008cc 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000b68 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000900 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000900 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000900 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000906 000014 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 00091a 000040 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000b90 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 00095a 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00095a 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000990 000150 10 12 16 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000ae0 000087 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000ba8 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00092c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000bc8 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000960 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000960 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000960 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000966 000014 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 00097a 000040 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000bf0 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 0009ba 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0009ba 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 0009f0 000150 10 12 16 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000b40 000087 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000c08 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 21 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 2232 FUNC LOCAL DEFAULT 1 t2_16 │ │ │ │ │ + 1: 00000001 2328 FUNC LOCAL DEFAULT 1 t2_16 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000040 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000050 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000008a8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 000008b8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 000008c4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000058 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000068 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000908 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000918 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00000924 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 20 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 13: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 14: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 15: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 18: 000008b9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t2_16 │ │ │ │ │ + 18: 00000919 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t2_16 │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_dit_register │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xb68 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xbc8 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000048 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000004c 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000008c4 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000008c8 00000103 R_ARM_REL32 00000001 t2_16 │ │ │ │ │ -000008c0 0000131e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ +00000060 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000064 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000924 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000928 00000103 R_ARM_REL32 00000001 t2_16 │ │ │ │ │ +00000920 0000131e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xb90 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xbf0 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000a02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001402 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,626 +1,644 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ t2_16(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + mov r4, r3 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r8, r0 │ │ │ │ │ - mov r9, r1 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov sl, r1 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #380 @ 0x17c │ │ │ │ │ - ldr r1, [pc, #56] @ (48 ) │ │ │ │ │ - mov sl, r3 │ │ │ │ │ - ldr r0, [sp, #484] @ 0x1e4 │ │ │ │ │ - add r1, pc │ │ │ │ │ - ldr r3, [sp, #480] @ 0x1e0 │ │ │ │ │ + ldrd r3, r0, [sp, #480] @ 0x1e0 │ │ │ │ │ + ldr r1, [pc, #56] @ (60 ) │ │ │ │ │ cmp r3, r0 │ │ │ │ │ - bge.w 89c │ │ │ │ │ + add r1, pc │ │ │ │ │ + bge.w 8ea │ │ │ │ │ ldr r0, [sp, #488] @ 0x1e8 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - vldr d11, [pc, #28] @ 40 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ add.w r7, r2, r3, lsl #6 │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ + vldr d11, [pc, #28] @ 58 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ str r0, [sp, #368] @ 0x170 │ │ │ │ │ - ldr r0, [pc, #28] @ (4c ) │ │ │ │ │ + ldr r0, [pc, #32] @ (64 ) │ │ │ │ │ ldr r1, [r1, r0] │ │ │ │ │ + mov r0, r4 │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ str r3, [sp, #364] @ 0x16c │ │ │ │ │ ldr r1, [r1, #0] │ │ │ │ │ str r1, [sp, #372] @ 0x174 │ │ │ │ │ - b.n 54 │ │ │ │ │ + b.n 6e │ │ │ │ │ nop │ │ │ │ │ nop.w │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ - .word 0x00000030 │ │ │ │ │ + .word 0x00000034 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str r3, [sp, #364] @ 0x16c │ │ │ │ │ - vldr d9, [r7, #-64] @ 0xffffffc0 │ │ │ │ │ - mov.w r3, sl, lsl #6 │ │ │ │ │ - vldr d14, [r7, #-56] @ 0xffffffc8 │ │ │ │ │ - add.w r1, r9, r3 │ │ │ │ │ - vldr d7, [r7, #-48] @ 0xffffffd0 │ │ │ │ │ + vldr d14, [r7, #-64] @ 0xffffffc0 │ │ │ │ │ + mov.w r3, r0, lsl #6 │ │ │ │ │ + add.w r7, r7, #64 @ 0x40 │ │ │ │ │ + vldr d7, [r7, #-112] @ 0xffffff90 │ │ │ │ │ add.w r2, r8, r3 │ │ │ │ │ - vldr d15, [r7, #-24] @ 0xffffffe8 │ │ │ │ │ - movs r5, #112 @ 0x70 │ │ │ │ │ - vldr d10, [r7, #-32] @ 0xffffffe0 │ │ │ │ │ - adds r7, #64 @ 0x40 │ │ │ │ │ - vmul.f64 d4, d9, d7 │ │ │ │ │ - vmul.f64 d12, d14, d7 │ │ │ │ │ - vldr d7, [r7, #-104] @ 0xffffff98 │ │ │ │ │ - vmul.f64 d0, d9, d15 │ │ │ │ │ - vldr d8, [r7, #-112] @ 0xffffff90 │ │ │ │ │ - vmul.f64 d2, d9, d7 │ │ │ │ │ - vmul.f64 d13, d14, d7 │ │ │ │ │ + add.w r1, sl, r3 │ │ │ │ │ + vldr d6, [r7, #-112] @ 0xffffff90 │ │ │ │ │ + vldr d10, [r7, #-96] @ 0xffffffa0 │ │ │ │ │ + vmul.f64 d5, d14, d7 │ │ │ │ │ + vldr d7, [r7, #-120] @ 0xffffff88 │ │ │ │ │ + vldr d9, [r7, #-88] @ 0xffffffa8 │ │ │ │ │ + vmul.f64 d12, d7, d6 │ │ │ │ │ + vldr d6, [r7, #-104] @ 0xffffff98 │ │ │ │ │ + vmul.f64 d0, d14, d9 │ │ │ │ │ + vmul.f64 d13, d7, d6 │ │ │ │ │ + vldr d7, [r7, #-120] @ 0xffffff88 │ │ │ │ │ + vmul.f64 d3, d14, d6 │ │ │ │ │ + vadd.f64 d4, d5, d13 │ │ │ │ │ + vsub.f64 d15, d5, d13 │ │ │ │ │ + vldr d5, [r7, #-104] @ 0xffffff98 │ │ │ │ │ + vadd.f64 d6, d12, d3 │ │ │ │ │ + vsub.f64 d12, d3, d12 │ │ │ │ │ + vmul.f64 d3, d14, d10 │ │ │ │ │ + vstr d4, [sp, #8] │ │ │ │ │ + vmul.f64 d4, d7, d9 │ │ │ │ │ + vmul.f64 d2, d5, d10 │ │ │ │ │ + vldr d5, [r7, #-120] @ 0xffffff88 │ │ │ │ │ + vstr d12, [sp, #16] │ │ │ │ │ vldr d7, [r7, #-112] @ 0xffffff90 │ │ │ │ │ - vmul.f64 d8, d8, d10 │ │ │ │ │ - vadd.f64 d6, d12, d2 │ │ │ │ │ - vmul.f64 d1, d7, d15 │ │ │ │ │ - vsub.f64 d3, d2, d12 │ │ │ │ │ + vmul.f64 d1, d7, d9 │ │ │ │ │ vldr d7, [r7, #-104] @ 0xffffff98 │ │ │ │ │ - vldr d2, [r7, #-104] @ 0xffffff98 │ │ │ │ │ - vadd.f64 d12, d4, d13 │ │ │ │ │ - vsub.f64 d5, d4, d13 │ │ │ │ │ - vmul.f64 d4, d14, d15 │ │ │ │ │ - vmul.f64 d7, d7, d15 │ │ │ │ │ - vmul.f64 d2, d2, d10 │ │ │ │ │ - vstr d3, [sp, #8] │ │ │ │ │ - vstr d12, [sp] │ │ │ │ │ - vmul.f64 d3, d9, d10 │ │ │ │ │ - vstr d7, [sp, #16] │ │ │ │ │ - vmul.f64 d7, d14, d10 │ │ │ │ │ - vsub.f64 d12, d1, d2 │ │ │ │ │ - vadd.f64 d13, d4, d3 │ │ │ │ │ - vsub.f64 d4, d3, d4 │ │ │ │ │ - vmul.f64 d3, d5, d15 │ │ │ │ │ - vstr d12, [sp, #80] @ 0x50 │ │ │ │ │ + vmul.f64 d7, d7, d9 │ │ │ │ │ + vsub.f64 d13, d1, d2 │ │ │ │ │ + vstr d7, [sp, #24] │ │ │ │ │ + vmul.f64 d7, d5, d10 │ │ │ │ │ + vldr d5, [r7, #-112] @ 0xffffff90 │ │ │ │ │ vadd.f64 d12, d0, d7 │ │ │ │ │ - vstr d4, [sp, #64] @ 0x40 │ │ │ │ │ vsub.f64 d7, d0, d7 │ │ │ │ │ - vstr d12, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d12, [sp, #16] │ │ │ │ │ - vsub.f64 d12, d8, d12 │ │ │ │ │ + vmul.f64 d8, d5, d10 │ │ │ │ │ + vadd.f64 d5, d4, d3 │ │ │ │ │ + vsub.f64 d4, d3, d4 │ │ │ │ │ + vldr d3, [r7, #-120] @ 0xffffff88 │ │ │ │ │ vstr d12, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d12, [sp, #16] │ │ │ │ │ + vldr d12, [sp, #24] │ │ │ │ │ + vstr d4, [sp, #48] @ 0x30 │ │ │ │ │ + vsub.f64 d12, d8, d12 │ │ │ │ │ + vstr d12, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d12, [sp, #24] │ │ │ │ │ vadd.f64 d8, d12, d8 │ │ │ │ │ - vldr d12, [sp] │ │ │ │ │ - vstr d8, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d12, [sp, #16] │ │ │ │ │ + vstr d8, [sp, #80] @ 0x50 │ │ │ │ │ vadd.f64 d8, d1, d2 │ │ │ │ │ vldr d2, [r7, #-80] @ 0xffffffb0 │ │ │ │ │ vldr d1, [r7, #-72] @ 0xffffffb8 │ │ │ │ │ - vmul.f64 d4, d14, d2 │ │ │ │ │ - vmul.f64 d0, d14, d1 │ │ │ │ │ - vmla.f64 d0, d9, d2 │ │ │ │ │ - vnmls.f64 d4, d9, d1 │ │ │ │ │ + vmul.f64 d4, d3, d2 │ │ │ │ │ + vmul.f64 d0, d3, d1 │ │ │ │ │ + vmul.f64 d3, d15, d9 │ │ │ │ │ + vnmls.f64 d4, d14, d1 │ │ │ │ │ + vmla.f64 d0, d14, d2 │ │ │ │ │ vstr d4, [sp, #72] @ 0x48 │ │ │ │ │ vmul.f64 d4, d6, d10 │ │ │ │ │ vsub.f64 d1, d3, d4 │ │ │ │ │ vadd.f64 d3, d3, d4 │ │ │ │ │ - vmul.f64 d4, d6, d15 │ │ │ │ │ - vstr d3, [sp, #128] @ 0x80 │ │ │ │ │ - vmul.f64 d3, d5, d10 │ │ │ │ │ + vmul.f64 d4, d6, d9 │ │ │ │ │ + vstr d3, [sp, #120] @ 0x78 │ │ │ │ │ + vmul.f64 d3, d15, d10 │ │ │ │ │ vstr d1, [sp, #296] @ 0x128 │ │ │ │ │ vadd.f64 d1, d3, d4 │ │ │ │ │ vsub.f64 d3, d3, d4 │ │ │ │ │ vldr d4, [sp, #8] │ │ │ │ │ + vstr d3, [sp, #128] @ 0x80 │ │ │ │ │ + vmul.f64 d3, d4, d9 │ │ │ │ │ vstr d1, [sp, #304] @ 0x130 │ │ │ │ │ - vmul.f64 d1, d4, d10 │ │ │ │ │ - vstr d3, [sp, #312] @ 0x138 │ │ │ │ │ - vmul.f64 d3, d12, d15 │ │ │ │ │ - vsub.f64 d4, d3, d1 │ │ │ │ │ + vmul.f64 d1, d12, d10 │ │ │ │ │ + vsub.f64 d12, d3, d1 │ │ │ │ │ vadd.f64 d1, d3, d1 │ │ │ │ │ - vmul.f64 d3, d12, d10 │ │ │ │ │ - vldr d12, [sp, #8] │ │ │ │ │ - vstr d4, [sp, #104] @ 0x68 │ │ │ │ │ - vmul.f64 d4, d12, d15 │ │ │ │ │ + vmul.f64 d3, d4, d10 │ │ │ │ │ + vstr d12, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d12, [sp, #16] │ │ │ │ │ + str r2, [sp, #24] │ │ │ │ │ + str r1, [sp, #36] @ 0x24 │ │ │ │ │ + vmul.f64 d4, d12, d9 │ │ │ │ │ vadd.f64 d12, d3, d4 │ │ │ │ │ vsub.f64 d3, d3, d4 │ │ │ │ │ - vstr d12, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d3, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + mov.w r2, r0, lsl #5 │ │ │ │ │ + add.w ip, r8, r2 │ │ │ │ │ + add r2, sl │ │ │ │ │ + add.w r5, r2, r3 │ │ │ │ │ + str r5, [sp, #88] @ 0x58 │ │ │ │ │ + vstr d12, [sp, #104] @ 0x68 │ │ │ │ │ + vmov.f64 d12, d4 │ │ │ │ │ vldr d4, [r1] │ │ │ │ │ - vldr d12, [r2] │ │ │ │ │ - vldr d3, [r8] │ │ │ │ │ - vstr d4, [sp, #32] │ │ │ │ │ + mov r1, r0 │ │ │ │ │ + add.w r0, ip, r3 │ │ │ │ │ + mov r4, r1 │ │ │ │ │ + vstr d4, [sp] │ │ │ │ │ vmul.f64 d4, d7, d4 │ │ │ │ │ - vmla.f64 d4, d13, d12 │ │ │ │ │ vmul.f64 d7, d7, d12 │ │ │ │ │ - vldr d12, [sp, #32] │ │ │ │ │ - str r2, [sp, #16] │ │ │ │ │ - mov.w r2, sl, lsl #5 │ │ │ │ │ - add.w r6, r8, r2 │ │ │ │ │ - add r2, r9 │ │ │ │ │ - vnmls.f64 d7, d13, d12 │ │ │ │ │ - vldr d12, [r9] │ │ │ │ │ - adds r4, r2, r3 │ │ │ │ │ - adds r0, r6, r3 │ │ │ │ │ - str r2, [sp, #32] │ │ │ │ │ - str r1, [sp, #28] │ │ │ │ │ - vadd.f64 d13, d3, d4 │ │ │ │ │ - str r0, [sp, #40] @ 0x28 │ │ │ │ │ - vsub.f64 d3, d3, d4 │ │ │ │ │ - str r4, [sp, #44] @ 0x2c │ │ │ │ │ - vsub.f64 d12, d12, d7 │ │ │ │ │ - vstr d13, [sp, #328] @ 0x148 │ │ │ │ │ - vstr d3, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d3, [r9] │ │ │ │ │ - vldr d13, [sp, #56] @ 0x38 │ │ │ │ │ - vstr d12, [sp, #136] @ 0x88 │ │ │ │ │ - vadd.f64 d7, d3, d7 │ │ │ │ │ - vldr d3, [r6] │ │ │ │ │ + strd r2, r0, [sp, #40] @ 0x28 │ │ │ │ │ + vmla.f64 d4, d5, d12 │ │ │ │ │ + vldr d12, [sp] │ │ │ │ │ + vnmls.f64 d7, d5, d12 │ │ │ │ │ + vldr d5, [r8] │ │ │ │ │ + vldr d12, [sp, #64] @ 0x40 │ │ │ │ │ + vadd.f64 d5, d5, d4 │ │ │ │ │ + vstr d5, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d5, [sl] │ │ │ │ │ + vsub.f64 d5, d5, d7 │ │ │ │ │ + vstr d5, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d5, [r8] │ │ │ │ │ + vsub.f64 d5, d5, d4 │ │ │ │ │ + vldr d4, [ip] │ │ │ │ │ + vstr d5, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d5, [sl] │ │ │ │ │ + vadd.f64 d7, d5, d7 │ │ │ │ │ vstr d7, [sp, #152] @ 0x98 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - mov.w r2, sl, lsl #4 │ │ │ │ │ - add.w lr, r8, r2 │ │ │ │ │ - add.w ip, r9, r2 │ │ │ │ │ - add.w r2, lr, r3 │ │ │ │ │ - add r3, ip │ │ │ │ │ - vmul.f64 d4, d6, d7 │ │ │ │ │ - vmul.f64 d6, d6, d3 │ │ │ │ │ - vmla.f64 d4, d5, d3 │ │ │ │ │ - vldr d3, [r0] │ │ │ │ │ - vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - vmul.f64 d7, d8, d5 │ │ │ │ │ - vmul.f64 d8, d8, d3 │ │ │ │ │ - vmla.f64 d7, d13, d3 │ │ │ │ │ - vldr d3, [sp, #8] │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ - vnmls.f64 d8, d13, d5 │ │ │ │ │ - vadd.f64 d5, d4, d7 │ │ │ │ │ - vsub.f64 d7, d4, d7 │ │ │ │ │ - vldr d4, [sp] │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ - vstr d7, [sp, #168] @ 0xa8 │ │ │ │ │ - vsub.f64 d7, d6, d8 │ │ │ │ │ + vmul.f64 d5, d6, d7 │ │ │ │ │ + vmul.f64 d6, d6, d4 │ │ │ │ │ + vmla.f64 d5, d15, d4 │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ + vnmls.f64 d6, d15, d7 │ │ │ │ │ + vldr d15, [r0] │ │ │ │ │ + mov.w r0, r1, lsl #4 │ │ │ │ │ + add.w lr, sl, r0 │ │ │ │ │ + add.w r9, r8, r0 │ │ │ │ │ + add.w r2, r9, r3 │ │ │ │ │ + add r3, lr │ │ │ │ │ + vmul.f64 d7, d8, d4 │ │ │ │ │ + sub.w r0, r0, r4 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ + vmul.f64 d8, d8, d15 │ │ │ │ │ + vmla.f64 d7, d12, d15 │ │ │ │ │ + vnmls.f64 d8, d12, d4 │ │ │ │ │ + vldr d4, [sp, #8] │ │ │ │ │ + vadd.f64 d15, d5, d7 │ │ │ │ │ + vsub.f64 d7, d5, d7 │ │ │ │ │ + vldr d5, [r9] │ │ │ │ │ + vstr d15, [sp, #160] @ 0xa0 │ │ │ │ │ + vsub.f64 d15, d6, d8 │ │ │ │ │ vadd.f64 d6, d6, d8 │ │ │ │ │ - vstr d5, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d5, [lr] │ │ │ │ │ - vstr d7, [sp, #176] @ 0xb0 │ │ │ │ │ - vmul.f64 d12, d3, d5 │ │ │ │ │ + vldr d8, [sp, #16] │ │ │ │ │ + vstr d7, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d15, [sp, #176] @ 0xb0 │ │ │ │ │ vstr d6, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ - vmul.f64 d7, d3, d6 │ │ │ │ │ + vmul.f64 d12, d8, d5 │ │ │ │ │ + vldr d6, [lr] │ │ │ │ │ + str r2, [sp, #8] │ │ │ │ │ + vldr d15, [sp, #48] @ 0x30 │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ + vmul.f64 d7, d8, d6 │ │ │ │ │ + vldr d8, [sp, #56] @ 0x38 │ │ │ │ │ vnmls.f64 d12, d4, d6 │ │ │ │ │ vmla.f64 d7, d4, d5 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - mul.w r3, r5, sl │ │ │ │ │ - vldr d3, [sp, #48] @ 0x30 │ │ │ │ │ - movs r5, #48 @ 0x30 │ │ │ │ │ - vldr d13, [sp, #64] @ 0x40 │ │ │ │ │ - add.w r0, r8, r3 │ │ │ │ │ - add r3, r9 │ │ │ │ │ - str r3, [sp, #56] @ 0x38 │ │ │ │ │ - vmul.f64 d6, d3, d5 │ │ │ │ │ - vldr d8, [sp, #88] @ 0x58 │ │ │ │ │ - vmla.f64 d6, d13, d4 │ │ │ │ │ - vmul.f64 d4, d3, d4 │ │ │ │ │ - str r0, [sp, #48] @ 0x30 │ │ │ │ │ - vnmls.f64 d4, d13, d5 │ │ │ │ │ - vadd.f64 d5, d7, d6 │ │ │ │ │ + mov.w r3, r1, lsl #3 │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + sub.w r2, r3, r1 │ │ │ │ │ + mov.w r1, r2, lsl #4 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + add.w r5, r8, r1 │ │ │ │ │ + add r1, sl │ │ │ │ │ + vmul.f64 d6, d8, d5 │ │ │ │ │ + str r1, [sp, #56] @ 0x38 │ │ │ │ │ + vmla.f64 d6, d15, d4 │ │ │ │ │ + vmul.f64 d15, d8, d4 │ │ │ │ │ + vldr d4, [sp, #48] @ 0x30 │ │ │ │ │ + str r5, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d8, [sp, #80] @ 0x50 │ │ │ │ │ + vnmls.f64 d15, d4, d5 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + add.w r1, r4, r4, lsl #1 │ │ │ │ │ + vadd.f64 d4, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vadd.f64 d13, d12, d4 │ │ │ │ │ - vsub.f64 d12, d12, d4 │ │ │ │ │ - vstr d5, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d4, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - mul.w r3, r5, sl │ │ │ │ │ - vsub.f64 d6, d12, d7 │ │ │ │ │ + vstr d4, [sp, #192] @ 0xc0 │ │ │ │ │ + vadd.f64 d4, d12, d15 │ │ │ │ │ + vsub.f64 d12, d12, d15 │ │ │ │ │ + vstr d4, [sp, #200] @ 0xc8 │ │ │ │ │ + vsub.f64 d15, d12, d7 │ │ │ │ │ vadd.f64 d12, d12, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - add.w r4, r8, r3 │ │ │ │ │ - add r3, r9 │ │ │ │ │ - movs r5, #120 @ 0x78 │ │ │ │ │ - str r3, [sp, #72] @ 0x48 │ │ │ │ │ - vstr d6, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d4, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + mov.w r5, r1, lsl #4 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + add.w r6, r8, r5 │ │ │ │ │ vmul.f64 d6, d4, d5 │ │ │ │ │ + str r6, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d15, [sp, #208] @ 0xd0 │ │ │ │ │ vmla.f64 d6, d0, d7 │ │ │ │ │ vmul.f64 d7, d4, d7 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - mul.w r3, r5, sl │ │ │ │ │ - vldr d3, [r4] │ │ │ │ │ - movs r5, #88 @ 0x58 │ │ │ │ │ - str r4, [sp, #64] @ 0x40 │ │ │ │ │ - add.w r4, r9, r3 │ │ │ │ │ vnmls.f64 d7, d0, d5 │ │ │ │ │ - vldr d0, [sp, #80] @ 0x50 │ │ │ │ │ - add.w r2, r8, r3 │ │ │ │ │ - str r4, [sp, #88] @ 0x58 │ │ │ │ │ - str r2, [sp, #80] @ 0x50 │ │ │ │ │ - vmul.f64 d5, d0, d4 │ │ │ │ │ - vstr d13, [sp, #200] @ 0xc8 │ │ │ │ │ - vmla.f64 d5, d8, d3 │ │ │ │ │ - vmul.f64 d3, d0, d3 │ │ │ │ │ - vnmls.f64 d3, d8, d4 │ │ │ │ │ - vadd.f64 d0, d6, d5 │ │ │ │ │ - vsub.f64 d6, d6, d5 │ │ │ │ │ + vldr d5, [r6] │ │ │ │ │ + add.w r6, sl, r5 │ │ │ │ │ + mov r5, r4 │ │ │ │ │ + mov.w r4, #88 @ 0x58 │ │ │ │ │ + vldr d0, [r6] │ │ │ │ │ + str r5, [sp, #0] │ │ │ │ │ + mul.w r5, r4, r5 │ │ │ │ │ + mov.w r4, #104 @ 0x68 │ │ │ │ │ + str r6, [sp, #72] @ 0x48 │ │ │ │ │ + add.w r6, r8, r0 │ │ │ │ │ + add r0, sl │ │ │ │ │ + add.w fp, r8, r5 │ │ │ │ │ + add r5, sl │ │ │ │ │ + str r0, [sp, #80] @ 0x50 │ │ │ │ │ + vmul.f64 d4, d13, d0 │ │ │ │ │ + vmla.f64 d4, d8, d5 │ │ │ │ │ + vmul.f64 d5, d13, d5 │ │ │ │ │ + vnmls.f64 d5, d8, d0 │ │ │ │ │ + vadd.f64 d0, d6, d4 │ │ │ │ │ + vsub.f64 d6, d6, d4 │ │ │ │ │ + vldr d4, [r7, #-72] @ 0xffffffb8 │ │ │ │ │ + vadd.f64 d8, d7, d5 │ │ │ │ │ + vsub.f64 d7, d7, d5 │ │ │ │ │ + vldr d5, [fp] │ │ │ │ │ vstr d0, [sp, #216] @ 0xd8 │ │ │ │ │ - vadd.f64 d0, d7, d3 │ │ │ │ │ - vsub.f64 d7, d7, d3 │ │ │ │ │ - vstr d0, [sp, #224] @ 0xe0 │ │ │ │ │ - vadd.f64 d8, d6, d7 │ │ │ │ │ - vsub.f64 d4, d6, d7 │ │ │ │ │ vldr d0, [r7, #-72] @ 0xffffffb8 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - mul.w r4, r5, sl │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - movs r5, #56 @ 0x38 │ │ │ │ │ - vstr d8, [sp, #232] @ 0xe8 │ │ │ │ │ - add.w fp, r8, r4 │ │ │ │ │ - vldr d8, [r7, #-72] @ 0xffffffb8 │ │ │ │ │ + vadd.f64 d13, d6, d7 │ │ │ │ │ + vsub.f64 d7, d6, d7 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + vstr d8, [sp, #224] @ 0xe0 │ │ │ │ │ + vstr d13, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d7, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + add.w r0, r8, r2 │ │ │ │ │ + add r2, sl │ │ │ │ │ + str r0, [sp, #92] @ 0x5c │ │ │ │ │ vmul.f64 d0, d0, d7 │ │ │ │ │ vmla.f64 d0, d2, d6 │ │ │ │ │ - add r4, r9 │ │ │ │ │ - vldr d5, [fp] │ │ │ │ │ - mul.w r1, r5, sl │ │ │ │ │ - vmul.f64 d6, d8, d6 │ │ │ │ │ - vstr d4, [sp, #240] @ 0xf0 │ │ │ │ │ - add.w r3, r8, r1 │ │ │ │ │ - vldr d4, [sp, #96] @ 0x60 │ │ │ │ │ - add r1, r9 │ │ │ │ │ - movs r5, #24 │ │ │ │ │ - str r3, [sp, #96] @ 0x60 │ │ │ │ │ + vmul.f64 d6, d4, d6 │ │ │ │ │ vnmls.f64 d6, d2, d7 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - mul.w r0, r5, sl │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ + add.w r0, r8, r1 │ │ │ │ │ + add r1, sl │ │ │ │ │ + vldr d8, [sp, #96] @ 0x60 │ │ │ │ │ + str r0, [sp, #96] @ 0x60 │ │ │ │ │ vmul.f64 d2, d1, d7 │ │ │ │ │ vmul.f64 d1, d1, d5 │ │ │ │ │ - vmla.f64 d2, d4, d5 │ │ │ │ │ - add.w r2, r8, r0 │ │ │ │ │ - add r0, r9 │ │ │ │ │ - vnmls.f64 d1, d4, d7 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - mov.w r3, sl, lsl #3 │ │ │ │ │ - vldr d8, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d13, [sp, #112] @ 0x70 │ │ │ │ │ - str r2, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d13, [sp, #104] @ 0x68 │ │ │ │ │ + vnmls.f64 d1, d3, d7 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + vmla.f64 d2, d3, d5 │ │ │ │ │ vmul.f64 d3, d8, d7 │ │ │ │ │ vmla.f64 d3, d13, d4 │ │ │ │ │ vmul.f64 d4, d8, d4 │ │ │ │ │ - vldr d8, [r0] │ │ │ │ │ + vldr d8, [r1] │ │ │ │ │ vnmls.f64 d4, d13, d7 │ │ │ │ │ vldr d13, [r7, #-104] @ 0xffffff98 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - add.w r2, r8, r3 │ │ │ │ │ - add r3, r9 │ │ │ │ │ - str r3, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + add.w r0, r8, r3 │ │ │ │ │ + str r0, [sp, #104] @ 0x68 │ │ │ │ │ vmul.f64 d5, d13, d8 │ │ │ │ │ vldr d13, [r7, #-112] @ 0xffffff90 │ │ │ │ │ - str r2, [sp, #112] @ 0x70 │ │ │ │ │ vmla.f64 d5, d13, d7 │ │ │ │ │ vldr d13, [r7, #-104] @ 0xffffff98 │ │ │ │ │ vmul.f64 d7, d13, d7 │ │ │ │ │ vldr d13, [r7, #-112] @ 0xffffff90 │ │ │ │ │ vnmls.f64 d7, d13, d8 │ │ │ │ │ - vadd.f64 d8, d0, d3 │ │ │ │ │ - vadd.f64 d13, d2, d5 │ │ │ │ │ + vadd.f64 d13, d0, d3 │ │ │ │ │ + vadd.f64 d8, d2, d5 │ │ │ │ │ vsub.f64 d3, d0, d3 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ - vldr d0, [r2] │ │ │ │ │ - vstr d8, [sp, #248] @ 0xf8 │ │ │ │ │ - vsub.f64 d8, d8, d13 │ │ │ │ │ - vstr d13, [sp, #256] @ 0x100 │ │ │ │ │ - vadd.f64 d13, d6, d4 │ │ │ │ │ - vsub.f64 d6, d6, d4 │ │ │ │ │ - vstr d8, [sp, #336] @ 0x150 │ │ │ │ │ - vadd.f64 d8, d1, d7 │ │ │ │ │ - vstr d13, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d13, [sp, #248] @ 0xf8 │ │ │ │ │ + vsub.f64 d15, d13, d8 │ │ │ │ │ + vstr d8, [sp, #256] @ 0x100 │ │ │ │ │ + vadd.f64 d13, d1, d7 │ │ │ │ │ vsub.f64 d7, d7, d1 │ │ │ │ │ + vstr d15, [sp, #336] @ 0x150 │ │ │ │ │ + vadd.f64 d15, d6, d4 │ │ │ │ │ + vsub.f64 d6, d6, d4 │ │ │ │ │ + vadd.f64 d0, d3, d7 │ │ │ │ │ vadd.f64 d2, d6, d5 │ │ │ │ │ - vsub.f64 d13, d13, d8 │ │ │ │ │ - vstr d8, [sp, #272] @ 0x110 │ │ │ │ │ + vsub.f64 d8, d15, d13 │ │ │ │ │ + vstr d15, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d13, [sp, #272] @ 0x110 │ │ │ │ │ + vsub.f64 d13, d3, d7 │ │ │ │ │ + vstr d0, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d0, [r0] │ │ │ │ │ + add.w r0, sl, r3 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + str r0, [sp, #112] @ 0x70 │ │ │ │ │ vstr d2, [sp, #288] @ 0x120 │ │ │ │ │ vsub.f64 d2, d6, d5 │ │ │ │ │ - vldr d6, [sp, #128] @ 0x80 │ │ │ │ │ - vstr d13, [sp, #280] @ 0x118 │ │ │ │ │ - vsub.f64 d13, d3, d7 │ │ │ │ │ - vadd.f64 d7, d3, d7 │ │ │ │ │ - vldr d5, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d6, [r7, #-120] @ 0xffffff88 │ │ │ │ │ + vstr d8, [sp, #280] @ 0x118 │ │ │ │ │ + ldr r0, [sp, #0] │ │ │ │ │ + vldr d5, [sp, #128] @ 0x80 │ │ │ │ │ vstr d2, [sp, #352] @ 0x160 │ │ │ │ │ - vstr d7, [sp, #344] @ 0x158 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - movs r3, #104 @ 0x68 │ │ │ │ │ - vmul.f64 d8, d14, d7 │ │ │ │ │ - mul.w r3, r3, sl │ │ │ │ │ - vmla.f64 d8, d9, d0 │ │ │ │ │ - vmul.f64 d0, d14, d0 │ │ │ │ │ - add.w r2, r8, r3 │ │ │ │ │ - add r3, r9 │ │ │ │ │ - str r2, [sp, #124] @ 0x7c │ │ │ │ │ - str r3, [sp, #360] @ 0x168 │ │ │ │ │ - vnmls.f64 d0, d9, d7 │ │ │ │ │ - vldr d3, [r2] │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - movs r2, #72 @ 0x48 │ │ │ │ │ + vmul.f64 d8, d6, d7 │ │ │ │ │ + mul.w r0, r4, r0 │ │ │ │ │ + add.w r4, r8, r0 │ │ │ │ │ + vmla.f64 d8, d14, d0 │ │ │ │ │ + vmul.f64 d0, d6, d0 │ │ │ │ │ + vldr d6, [sp, #120] @ 0x78 │ │ │ │ │ + str r4, [sp, #116] @ 0x74 │ │ │ │ │ + vldr d3, [r4] │ │ │ │ │ + add.w r4, sl, r0 │ │ │ │ │ + str r4, [sp, #360] @ 0x168 │ │ │ │ │ + vnmls.f64 d0, d14, d7 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + ldr r0, [sp, #0] │ │ │ │ │ vmul.f64 d1, d6, d7 │ │ │ │ │ - mul.w r2, r2, sl │ │ │ │ │ + add r3, r0 │ │ │ │ │ + add.w r0, r0, r0, lsl #2 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ + add.w r4, r8, r3 │ │ │ │ │ + add r3, sl │ │ │ │ │ vmla.f64 d1, d5, d3 │ │ │ │ │ vmul.f64 d3, d6, d3 │ │ │ │ │ - add.w r3, r8, r2 │ │ │ │ │ - add r2, r9 │ │ │ │ │ - str r3, [sp, #128] @ 0x80 │ │ │ │ │ + str r3, [sp, #120] @ 0x78 │ │ │ │ │ vnmls.f64 d3, d5, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - movs r3, #40 @ 0x28 │ │ │ │ │ - vmul.f64 d2, d15, d7 │ │ │ │ │ - mul.w r3, r3, sl │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + add.w r3, r8, r0 │ │ │ │ │ + add r0, sl │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + str r3, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ + vmul.f64 d2, d9, d7 │ │ │ │ │ vmla.f64 d2, d10, d5 │ │ │ │ │ - vmul.f64 d5, d15, d5 │ │ │ │ │ - add.w r5, r8, r3 │ │ │ │ │ - add r3, r9 │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ - vnmls.f64 d5, d10, d7 │ │ │ │ │ + vmul.f64 d5, d9, d5 │ │ │ │ │ vldr d9, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ + vnmls.f64 d5, d10, d7 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ vldr d10, [sp, #304] @ 0x130 │ │ │ │ │ vadd.f64 d14, d8, d2 │ │ │ │ │ vsub.f64 d2, d8, d2 │ │ │ │ │ vldr d8, [sp, #240] @ 0xf0 │ │ │ │ │ vmul.f64 d6, d9, d7 │ │ │ │ │ vmla.f64 d6, d10, d4 │ │ │ │ │ vmul.f64 d4, d9, d4 │ │ │ │ │ vstr d14, [sp, #296] @ 0x128 │ │ │ │ │ vadd.f64 d9, d0, d5 │ │ │ │ │ vsub.f64 d5, d0, d5 │ │ │ │ │ vldr d0, [sp, #208] @ 0xd0 │ │ │ │ │ vnmls.f64 d4, d10, d7 │ │ │ │ │ vstr d9, [sp, #312] @ 0x138 │ │ │ │ │ - vadd.f64 d15, d1, d6 │ │ │ │ │ + vadd.f64 d10, d1, d6 │ │ │ │ │ vsub.f64 d1, d6, d1 │ │ │ │ │ - vsub.f64 d10, d14, d15 │ │ │ │ │ + vstr d10, [sp, #304] @ 0x130 │ │ │ │ │ + vsub.f64 d10, d14, d10 │ │ │ │ │ vadd.f64 d14, d3, d4 │ │ │ │ │ vsub.f64 d4, d4, d3 │ │ │ │ │ vadd.f64 d6, d5, d1 │ │ │ │ │ - vstr d15, [sp, #304] @ 0x130 │ │ │ │ │ vsub.f64 d15, d5, d1 │ │ │ │ │ vsub.f64 d7, d9, d14 │ │ │ │ │ vstr d14, [sp, #320] @ 0x140 │ │ │ │ │ vsub.f64 d9, d2, d4 │ │ │ │ │ vadd.f64 d14, d2, d4 │ │ │ │ │ vldr d4, [sp, #144] @ 0x90 │ │ │ │ │ vldr d2, [sp, #176] @ 0xb0 │ │ │ │ │ vsub.f64 d3, d4, d2 │ │ │ │ │ vldr d2, [sp, #232] @ 0xe8 │ │ │ │ │ vsub.f64 d4, d8, d12 │ │ │ │ │ - vldr d8, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d8, [sp, #168] @ 0xa8 │ │ │ │ │ vsub.f64 d5, d0, d2 │ │ │ │ │ - vldr d2, [pc, #812] @ 8a8 │ │ │ │ │ - vldr d0, [sp, #168] @ 0xa8 │ │ │ │ │ - vmul.f64 d4, d4, d2 │ │ │ │ │ + vldr d2, [pc, #836] @ 908 │ │ │ │ │ + vldr d0, [sp, #136] @ 0x88 │ │ │ │ │ vmul.f64 d5, d5, d2 │ │ │ │ │ + vmul.f64 d4, d4, d2 │ │ │ │ │ vadd.f64 d1, d3, d5 │ │ │ │ │ vsub.f64 d3, d3, d5 │ │ │ │ │ - vldr d5, [sp, #136] @ 0x88 │ │ │ │ │ - vadd.f64 d5, d5, d0 │ │ │ │ │ + vadd.f64 d5, d0, d8 │ │ │ │ │ + vldr d8, [sp, #288] @ 0x120 │ │ │ │ │ vmul.f64 d0, d9, d11 │ │ │ │ │ vadd.f64 d2, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ - vldr d4, [pc, #776] @ 8b0 │ │ │ │ │ + vldr d4, [pc, #800] @ 910 │ │ │ │ │ vmla.f64 d0, d6, d4 │ │ │ │ │ vmul.f64 d4, d8, d4 │ │ │ │ │ vnmls.f64 d4, d13, d11 │ │ │ │ │ vadd.f64 d8, d0, d4 │ │ │ │ │ vsub.f64 d4, d4, d0 │ │ │ │ │ - vldr d0, [pc, #752] @ 8b0 │ │ │ │ │ + vldr d0, [pc, #776] @ 910 │ │ │ │ │ vmul.f64 d9, d9, d0 │ │ │ │ │ vnmls.f64 d9, d6, d11 │ │ │ │ │ vmul.f64 d6, d13, d0 │ │ │ │ │ vldr d0, [sp, #288] @ 0x120 │ │ │ │ │ - vldr d13, [sp, #328] @ 0x148 │ │ │ │ │ vmla.f64 d6, d0, d11 │ │ │ │ │ vsub.f64 d0, d9, d6 │ │ │ │ │ vadd.f64 d6, d9, d6 │ │ │ │ │ vsub.f64 d9, d1, d8 │ │ │ │ │ vadd.f64 d1, d1, d8 │ │ │ │ │ - vldr d8, [sp, #200] @ 0xc8 │ │ │ │ │ vstr d9, [fp] │ │ │ │ │ vsub.f64 d9, d2, d6 │ │ │ │ │ vadd.f64 d2, d2, d6 │ │ │ │ │ vsub.f64 d6, d3, d0 │ │ │ │ │ vadd.f64 d3, d3, d0 │ │ │ │ │ vadd.f64 d0, d10, d7 │ │ │ │ │ vsub.f64 d7, d7, d10 │ │ │ │ │ - vstr d9, [r4] │ │ │ │ │ - ldr r4, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d9, [pc, #660] @ 8a8 │ │ │ │ │ - vstr d1, [r4] │ │ │ │ │ - vstr d2, [r0] │ │ │ │ │ - ldr r0, [sp, #80] @ 0x50 │ │ │ │ │ - ldr r4, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d1, [sp, #160] @ 0xa0 │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ + vstr d9, [r5] │ │ │ │ │ + ldr r5, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d1, [r5] │ │ │ │ │ + vstr d2, [r1] │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ vsub.f64 d6, d5, d4 │ │ │ │ │ - ldr r0, [sp, #96] @ 0x60 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ - vsub.f64 d4, d13, d1 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ - vstr d3, [r0] │ │ │ │ │ - vstr d5, [r1] │ │ │ │ │ - vldr d3, [sp, #224] @ 0xe0 │ │ │ │ │ + ldr r1, [sp, #80] @ 0x50 │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ + ldr r1, [sp, #92] @ 0x5c │ │ │ │ │ + vstr d3, [r1] │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ + ldr r2, [sp, #8] │ │ │ │ │ + vldr d3, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d1, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d9, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d13, [sp, #328] @ 0x148 │ │ │ │ │ vldr d5, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d1, [sp, #280] @ 0x118 │ │ │ │ │ - vsub.f64 d6, d8, d3 │ │ │ │ │ - vldr d8, [sp, #184] @ 0xb8 │ │ │ │ │ - ldr r1, [sp, #0] │ │ │ │ │ - ldr r0, [sp, #48] @ 0x30 │ │ │ │ │ - ldr r4, [sp, #64] @ 0x40 │ │ │ │ │ + vsub.f64 d6, d1, d9 │ │ │ │ │ + vldr d8, [sp, #336] @ 0x150 │ │ │ │ │ + vsub.f64 d4, d13, d3 │ │ │ │ │ + vldr d1, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d9, [sp, #280] @ 0x118 │ │ │ │ │ + ldr r5, [sp, #48] @ 0x30 │ │ │ │ │ vadd.f64 d2, d4, d6 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ + ldr r1, [sp, #56] @ 0x38 │ │ │ │ │ vldr d6, [sp, #216] @ 0xd8 │ │ │ │ │ + ldr r6, [sp, #64] @ 0x40 │ │ │ │ │ vldr d10, [sp, #208] @ 0xd0 │ │ │ │ │ vsub.f64 d5, d6, d5 │ │ │ │ │ vldr d6, [sp, #152] @ 0x98 │ │ │ │ │ - vsub.f64 d6, d6, d8 │ │ │ │ │ - vldr d8, [sp, #336] @ 0x150 │ │ │ │ │ + vsub.f64 d6, d6, d1 │ │ │ │ │ vadd.f64 d3, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vsub.f64 d5, d8, d1 │ │ │ │ │ + vsub.f64 d5, d8, d9 │ │ │ │ │ + vldr d9, [pc, #568] @ 908 │ │ │ │ │ vadd.f64 d1, d0, d5 │ │ │ │ │ vsub.f64 d5, d5, d0 │ │ │ │ │ vldr d0, [sp, #280] @ 0x118 │ │ │ │ │ vadd.f64 d8, d8, d0 │ │ │ │ │ vmul.f64 d1, d1, d9 │ │ │ │ │ vmul.f64 d5, d5, d9 │ │ │ │ │ vsub.f64 d0, d7, d8 │ │ │ │ │ vadd.f64 d7, d7, d8 │ │ │ │ │ vsub.f64 d8, d2, d1 │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ vmul.f64 d0, d0, d9 │ │ │ │ │ vmul.f64 d7, d7, d9 │ │ │ │ │ - vstr d8, [r1] │ │ │ │ │ - ldr r1, [sp, #8] │ │ │ │ │ + vstr d8, [r2] │ │ │ │ │ + ldr r2, [sp, #16] │ │ │ │ │ vsub.f64 d8, d3, d7 │ │ │ │ │ vadd.f64 d3, d3, d7 │ │ │ │ │ vsub.f64 d7, d4, d0 │ │ │ │ │ vadd.f64 d4, d4, d0 │ │ │ │ │ - vstr d8, [r1] │ │ │ │ │ - vstr d2, [lr] │ │ │ │ │ - ldr r1, [sp, #56] @ 0x38 │ │ │ │ │ - vstr d3, [ip] │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ + vstr d8, [r2] │ │ │ │ │ + vstr d2, [r9] │ │ │ │ │ + vstr d3, [lr] │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ vsub.f64 d7, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vldr d3, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d2, [pc, #448] @ 8b0 │ │ │ │ │ + vldr d8, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d5, [sp, #176] @ 0xb0 │ │ │ │ │ + vldr d2, [pc, #472] @ 910 │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ - ldr r1, [sp, #72] @ 0x48 │ │ │ │ │ - vmul.f64 d1, d14, d2 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - vmla.f64 d1, d15, d11 │ │ │ │ │ + vstr d4, [r6] │ │ │ │ │ + ldr r6, [sp, #72] @ 0x48 │ │ │ │ │ vldr d4, [sp, #144] @ 0x90 │ │ │ │ │ + vmul.f64 d1, d14, d2 │ │ │ │ │ vmov.f64 d0, d2 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ - vadd.f64 d6, d4, d3 │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ + mov r6, r4 │ │ │ │ │ + vadd.f64 d6, d4, d5 │ │ │ │ │ vldr d4, [sp, #240] @ 0xf0 │ │ │ │ │ - ldr r1, [sp, #128] @ 0x80 │ │ │ │ │ + vmla.f64 d1, d15, d11 │ │ │ │ │ vadd.f64 d7, d12, d4 │ │ │ │ │ vldr d12, [sp, #232] @ 0xe8 │ │ │ │ │ - vldr d4, [sp, #168] @ 0xa8 │ │ │ │ │ - vadd.f64 d5, d10, d12 │ │ │ │ │ - vldr d10, [sp, #352] @ 0x160 │ │ │ │ │ vmul.f64 d7, d7, d9 │ │ │ │ │ - vmul.f64 d5, d5, d9 │ │ │ │ │ - vldr d9, [sp, #344] @ 0x158 │ │ │ │ │ + vadd.f64 d5, d10, d12 │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [sp, #136] @ 0x88 │ │ │ │ │ - vsub.f64 d7, d7, d4 │ │ │ │ │ + vmul.f64 d5, d5, d9 │ │ │ │ │ + vldr d12, [sp, #352] @ 0x160 │ │ │ │ │ + ldr r2, [sp, #24] │ │ │ │ │ + vsub.f64 d7, d7, d8 │ │ │ │ │ + vldr d10, [sp, #344] @ 0x158 │ │ │ │ │ + ldrd r4, r3, [sp, #116] @ 0x74 │ │ │ │ │ + vldr d9, [sp, #224] @ 0xe0 │ │ │ │ │ vadd.f64 d4, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vmul.f64 d5, d10, d11 │ │ │ │ │ - vnmls.f64 d5, d9, d2 │ │ │ │ │ + vldr d8, [sp, #256] @ 0x100 │ │ │ │ │ + vmul.f64 d5, d12, d11 │ │ │ │ │ + vnmls.f64 d5, d10, d2 │ │ │ │ │ vadd.f64 d2, d1, d5 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ vmul.f64 d1, d14, d11 │ │ │ │ │ - vmul.f64 d14, d9, d11 │ │ │ │ │ - vmla.f64 d14, d10, d0 │ │ │ │ │ + vmul.f64 d14, d10, d11 │ │ │ │ │ + vldr d10, [sp, #304] @ 0x130 │ │ │ │ │ vnmls.f64 d1, d15, d0 │ │ │ │ │ + vmla.f64 d14, d12, d0 │ │ │ │ │ + vldr d15, [sp, #264] @ 0x108 │ │ │ │ │ vsub.f64 d0, d1, d14 │ │ │ │ │ vadd.f64 d14, d1, d14 │ │ │ │ │ vsub.f64 d1, d3, d2 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ - vstr d1, [r1] │ │ │ │ │ + vstr d1, [r6] │ │ │ │ │ vsub.f64 d1, d4, d14 │ │ │ │ │ vadd.f64 d4, d4, d14 │ │ │ │ │ - vldr d8, [sp, #184] @ 0xb8 │ │ │ │ │ vldr d14, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d15, [sp, #304] @ 0x130 │ │ │ │ │ - vstr d1, [r2] │ │ │ │ │ - ldr r2, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d1, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d9, [sp, #312] @ 0x138 │ │ │ │ │ - ldr r1, [sp, #28] │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - ldr r2, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ + vstr d1, [r3] │ │ │ │ │ + ldr r3, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d1, [sp, #184] @ 0xb8 │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ + ldr r3, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d3, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ vsub.f64 d4, d6, d0 │ │ │ │ │ - ldr r2, [sp, #124] @ 0x7c │ │ │ │ │ vadd.f64 d6, d6, d0 │ │ │ │ │ + ldr r3, [sp, #128] @ 0x80 │ │ │ │ │ vldr d0, [sp, #216] @ 0xd8 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ - ldr r2, [sp, #360] @ 0x168 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vldr d5, [sp, #192] @ 0xc0 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - vstr d6, [r5] │ │ │ │ │ - vadd.f64 d6, d13, d1 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ + ldr r4, [sp, #360] @ 0x168 │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + vadd.f64 d6, d13, d3 │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ vadd.f64 d7, d5, d0 │ │ │ │ │ - vldr d0, [sp, #224] @ 0xe0 │ │ │ │ │ vldr d5, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d13, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d13, [sp, #248] @ 0xf8 │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [sp, #152] @ 0x98 │ │ │ │ │ - vadd.f64 d5, d5, d0 │ │ │ │ │ - ldr r2, [sp, #16] │ │ │ │ │ - vadd.f64 d7, d7, d8 │ │ │ │ │ - vldr d8, [sp, #248] @ 0xf8 │ │ │ │ │ - vadd.f64 d2, d8, d13 │ │ │ │ │ - vldr d8, [sp, #272] @ 0x110 │ │ │ │ │ + vadd.f64 d5, d5, d9 │ │ │ │ │ + vldr d9, [sp, #312] @ 0x138 │ │ │ │ │ + vadd.f64 d2, d13, d8 │ │ │ │ │ + vldr d13, [sp, #272] @ 0x110 │ │ │ │ │ + vadd.f64 d7, d7, d1 │ │ │ │ │ vadd.f64 d4, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vadd.f64 d5, d14, d15 │ │ │ │ │ - vldr d13, [sp, #264] @ 0x108 │ │ │ │ │ + vadd.f64 d5, d14, d10 │ │ │ │ │ vldr d14, [sp, #320] @ 0x140 │ │ │ │ │ vadd.f64 d1, d5, d2 │ │ │ │ │ vadd.f64 d0, d9, d14 │ │ │ │ │ vsub.f64 d2, d2, d5 │ │ │ │ │ - vadd.f64 d5, d13, d8 │ │ │ │ │ + vadd.f64 d5, d15, d13 │ │ │ │ │ vsub.f64 d8, d0, d5 │ │ │ │ │ vadd.f64 d5, d0, d5 │ │ │ │ │ vsub.f64 d0, d3, d1 │ │ │ │ │ vadd.f64 d3, d3, d1 │ │ │ │ │ vstr d0, [r2] │ │ │ │ │ vsub.f64 d0, d4, d5 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ vsub.f64 d5, d6, d8 │ │ │ │ │ + ldrd r1, r2, [sp, #36] @ 0x24 │ │ │ │ │ vadd.f64 d6, d6, d8 │ │ │ │ │ + ldr r0, [sp, #44] @ 0x2c │ │ │ │ │ + ldr r5, [sp, #88] @ 0x58 │ │ │ │ │ vstr d0, [r1] │ │ │ │ │ - vstr d3, [r8] │ │ │ │ │ - vstr d4, [r9] │ │ │ │ │ - ldr r0, [sp, #40] @ 0x28 │ │ │ │ │ ldr r3, [sp, #368] @ 0x170 │ │ │ │ │ - ldr r2, [sp, #32] │ │ │ │ │ - ldr r4, [sp, #44] @ 0x2c │ │ │ │ │ - add r8, r3 │ │ │ │ │ + vstr d3, [r8] │ │ │ │ │ + vstr d4, [sl] │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ vsub.f64 d5, d7, d2 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ - add r9, r3 │ │ │ │ │ + ldr r0, [sp, #0] │ │ │ │ │ + add r8, r3 │ │ │ │ │ + add sl, r3 │ │ │ │ │ ldr r3, [sp, #372] @ 0x174 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ - eor.w sl, sl, r3 │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ + vstr d5, [r5] │ │ │ │ │ + vstr d6, [ip] │ │ │ │ │ + eor.w r0, r0, r3 │ │ │ │ │ ldr r3, [sp, #364] @ 0x16c │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ ldr r2, [sp, #484] @ 0x1e4 │ │ │ │ │ + str r0, [sp, #0] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.w 50 │ │ │ │ │ + bne.w 68 │ │ │ │ │ add sp, #380 @ 0x17c │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ │ │ │ │ │ -000008b8 : │ │ │ │ │ +00000918 : │ │ │ │ │ fftw_codelet_t2_16(): │ │ │ │ │ - ldr r2, [pc, #8] @ (8c4 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (8c8 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (924 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (928 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_dit_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── t2_20.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 4124 (bytes into file) │ │ │ │ │ + Start of section headers: 4216 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x101c: │ │ │ │ │ +There are 14 section headers, starting at offset 0x1078: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000cc8 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000f64 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000cfc 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000cfc 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000cfc 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000d02 000014 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 000d16 000040 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000f8c 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000d56 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000d56 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000d8c 000150 10 12 16 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000edc 000087 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000fa4 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000d24 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000fc0 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000d58 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000d58 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000d58 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000d5e 000014 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000d72 000040 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000fe8 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000db2 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000db2 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000de8 000150 10 12 16 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000f38 000087 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 001000 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 21 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 3252 FUNC LOCAL DEFAULT 1 t2_20 │ │ │ │ │ + 1: 00000001 3342 FUNC LOCAL DEFAULT 1 t2_20 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000040 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000058 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000c70 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000c78 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00000cc0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000058 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000070 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000c98 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000ca0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00000d1c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 20 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 13: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 14: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 15: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 18: 00000cb5 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t2_20 │ │ │ │ │ + 18: 00000d11 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t2_20 │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_dit_register │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xf64 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xfc0 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000050 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000054 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000cc0 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000cc4 00000103 R_ARM_REL32 00000001 t2_20 │ │ │ │ │ -00000cbc 0000131e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ +00000068 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000006c 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000d1c 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000d20 00000103 R_ARM_REL32 00000001 t2_20 │ │ │ │ │ +00000d18 0000131e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xf8c contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xfe8 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000a02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001402 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,889 +1,908 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ t2_20(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov sl, r0 │ │ │ │ │ - mov fp, r1 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r6, r1 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r7, r3 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + mov fp, r0 │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub.w sp, sp, #604 @ 0x25c │ │ │ │ │ - ldr r1, [pc, #60] @ (50 ) │ │ │ │ │ - mov r4, r3 │ │ │ │ │ - ldr r0, [sp, #708] @ 0x2c4 │ │ │ │ │ - add r1, pc │ │ │ │ │ - ldr r3, [sp, #704] @ 0x2c0 │ │ │ │ │ + ldrd r3, r0, [sp, #704] @ 0x2c0 │ │ │ │ │ + ldr r1, [pc, #64] @ (68 ) │ │ │ │ │ cmp r3, r0 │ │ │ │ │ - bge.w ca8 │ │ │ │ │ + add r1, pc │ │ │ │ │ + bge.w cf0 │ │ │ │ │ ldr r0, [sp, #712] @ 0x2c8 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - vldr d13, [pc, #24] @ 40 │ │ │ │ │ - add.w r9, r2, r3, lsl #6 │ │ │ │ │ - vldr d11, [pc, #24] @ 48 │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + add.w sl, r2, r3, lsl #6 │ │ │ │ │ + vldr d13, [pc, #28] @ 58 │ │ │ │ │ + vldr d11, [pc, #32] @ 60 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ str r0, [sp, #592] @ 0x250 │ │ │ │ │ - ldr r0, [pc, #28] @ (54 ) │ │ │ │ │ + ldr r0, [pc, #32] @ (6c ) │ │ │ │ │ ldr r1, [r1, r0] │ │ │ │ │ + str r7, [sp, #0] │ │ │ │ │ str r3, [sp, #588] @ 0x24c │ │ │ │ │ ldr r1, [r1, #0] │ │ │ │ │ str r1, [sp, #596] @ 0x254 │ │ │ │ │ - b.n 5c │ │ │ │ │ + b.n 76 │ │ │ │ │ + nop │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ - .word 0x00000036 │ │ │ │ │ + .word 0x0000003a │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str r3, [sp, #588] @ 0x24c │ │ │ │ │ - vldr d14, [r9, #-48] @ 0xffffffd0 │ │ │ │ │ - movs r3, #80 @ 0x50 │ │ │ │ │ - vldr d7, [r9, #-64] @ 0xffffffc0 │ │ │ │ │ - movs r5, #40 @ 0x28 │ │ │ │ │ - vldr d15, [r9, #-40] @ 0xffffffd8 │ │ │ │ │ - mov.w ip, #136 @ 0x88 │ │ │ │ │ - vldr d5, [r9, #-24] @ 0xffffffe8 │ │ │ │ │ - mul.w r3, r3, r4 │ │ │ │ │ + vldr d7, [sl, #-64] @ 0xffffffc0 │ │ │ │ │ + add.w r3, r7, r7, lsl #2 │ │ │ │ │ + add.w sl, sl, #64 @ 0x40 │ │ │ │ │ + vldr d14, [sl, #-112] @ 0xffffff90 │ │ │ │ │ + mov.w r1, r3, lsl #4 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + vldr d15, [sl, #-104] @ 0xffffff98 │ │ │ │ │ + add.w r2, fp, r1 │ │ │ │ │ + add.w r0, r6, r1 │ │ │ │ │ + add.w ip, r6, r3 │ │ │ │ │ + add.w r9, fp, r3 │ │ │ │ │ + vldr d2, [sl, #-96] @ 0xffffffa0 │ │ │ │ │ + add.w r3, r9, r1 │ │ │ │ │ + add.w r5, ip, r1 │ │ │ │ │ vmul.f64 d6, d7, d14 │ │ │ │ │ - vldr d7, [r9, #-56] @ 0xffffffc8 │ │ │ │ │ - vldr d2, [r9, #-32] @ 0xffffffe0 │ │ │ │ │ - add.w r2, sl, r3 │ │ │ │ │ - add.w r1, fp, r3 │ │ │ │ │ - add.w r9, r9, #64 @ 0x40 │ │ │ │ │ + vldr d7, [sl, #-120] @ 0xffffff88 │ │ │ │ │ + vldr d5, [sl, #-88] @ 0xffffffa8 │ │ │ │ │ vmul.f64 d10, d7, d14 │ │ │ │ │ vmul.f64 d9, d7, d15 │ │ │ │ │ - vldr d7, [r9, #-128] @ 0xffffff80 │ │ │ │ │ + vldr d7, [sl, #-128] @ 0xffffff80 │ │ │ │ │ vmul.f64 d4, d7, d15 │ │ │ │ │ - vldr d7, [r9, #-120] @ 0xffffff88 │ │ │ │ │ + vldr d7, [sl, #-120] @ 0xffffff88 │ │ │ │ │ vsub.f64 d12, d6, d9 │ │ │ │ │ vadd.f64 d9, d6, d9 │ │ │ │ │ - vmul.f64 d5, d7, d5 │ │ │ │ │ - vldr d7, [r9, #-88] @ 0xffffffa8 │ │ │ │ │ vadd.f64 d3, d10, d4 │ │ │ │ │ + vmul.f64 d5, d7, d5 │ │ │ │ │ + vldr d7, [sl, #-88] @ 0xffffffa8 │ │ │ │ │ vsub.f64 d10, d4, d10 │ │ │ │ │ - vldr d4, [r9, #-88] @ 0xffffffa8 │ │ │ │ │ - vstr d3, [sp, #8] │ │ │ │ │ + vldr d4, [sl, #-88] @ 0xffffffa8 │ │ │ │ │ + vstr d3, [sp, #16] │ │ │ │ │ vmul.f64 d3, d14, d7 │ │ │ │ │ - vldr d7, [r9, #-128] @ 0xffffff80 │ │ │ │ │ + vldr d7, [sl, #-128] @ 0xffffff80 │ │ │ │ │ vmul.f64 d0, d15, d4 │ │ │ │ │ vmul.f64 d1, d7, d4 │ │ │ │ │ - vldr d7, [r9, #-128] @ 0xffffff80 │ │ │ │ │ - vldr d4, [r9, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d7, [sl, #-128] @ 0xffffff80 │ │ │ │ │ + vldr d4, [sl, #-96] @ 0xffffffa0 │ │ │ │ │ vmul.f64 d6, d7, d4 │ │ │ │ │ - vldr d7, [r9, #-120] @ 0xffffff88 │ │ │ │ │ + vldr d7, [sl, #-120] @ 0xffffff88 │ │ │ │ │ vmul.f64 d4, d15, d4 │ │ │ │ │ vmul.f64 d2, d7, d2 │ │ │ │ │ - vldr d7, [r9, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d7, [sl, #-96] @ 0xffffffa0 │ │ │ │ │ vmul.f64 d8, d14, d7 │ │ │ │ │ vsub.f64 d7, d6, d5 │ │ │ │ │ - vstr d7, [sp, #24] │ │ │ │ │ + vstr d7, [sp, #32] │ │ │ │ │ vadd.f64 d7, d0, d8 │ │ │ │ │ vsub.f64 d0, d8, d0 │ │ │ │ │ - vstr d7, [sp, #360] @ 0x168 │ │ │ │ │ + vstr d0, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d7, [sp, #344] @ 0x158 │ │ │ │ │ vadd.f64 d7, d3, d4 │ │ │ │ │ vsub.f64 d4, d3, d4 │ │ │ │ │ - vstr d0, [sp, #144] @ 0x90 │ │ │ │ │ - vstr d7, [sp, #136] @ 0x88 │ │ │ │ │ + vstr d7, [sp, #144] @ 0x90 │ │ │ │ │ vadd.f64 d7, d1, d2 │ │ │ │ │ vsub.f64 d2, d1, d2 │ │ │ │ │ vadd.f64 d1, d5, d6 │ │ │ │ │ - vldr d5, [r9, #-88] @ 0xffffffa8 │ │ │ │ │ - vldr d6, [r9, #-96] @ 0xffffffa0 │ │ │ │ │ - vstr d4, [sp, #368] @ 0x170 │ │ │ │ │ - vmul.f64 d5, d9, d5 │ │ │ │ │ - vstr d2, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d6, [sl, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d5, [sl, #-88] @ 0xffffffa8 │ │ │ │ │ + vstr d2, [sp, #56] @ 0x38 │ │ │ │ │ vmul.f64 d6, d10, d6 │ │ │ │ │ - vstr d1, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d4, [sp, #352] @ 0x160 │ │ │ │ │ + vstr d1, [sp, #64] @ 0x40 │ │ │ │ │ + vmul.f64 d5, d9, d5 │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ - vldr d6, [r9, #-96] @ 0xffffffa0 │ │ │ │ │ - vstr d5, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d6, [sl, #-96] @ 0xffffffa0 │ │ │ │ │ + vstr d5, [sp, #104] @ 0x68 │ │ │ │ │ vmul.f64 d5, d9, d6 │ │ │ │ │ - vldr d6, [r9, #-88] @ 0xffffffa8 │ │ │ │ │ + vldr d6, [sl, #-88] @ 0xffffffa8 │ │ │ │ │ vstr d4, [sp, #176] @ 0xb0 │ │ │ │ │ vmul.f64 d6, d10, d6 │ │ │ │ │ vsub.f64 d8, d5, d6 │ │ │ │ │ vadd.f64 d6, d5, d6 │ │ │ │ │ - vldr d5, [r9, #-96] @ 0xffffffa0 │ │ │ │ │ - vstr d6, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d5, [sl, #-96] @ 0xffffffa0 │ │ │ │ │ vmul.f64 d1, d12, d5 │ │ │ │ │ + vstr d6, [sp, #112] @ 0x70 │ │ │ │ │ vstr d8, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d8, [sp, #8] │ │ │ │ │ - vldr d5, [r9, #-88] @ 0xffffffa8 │ │ │ │ │ - vldr d0, [r9, #-72] @ 0xffffffb8 │ │ │ │ │ - vstr d12, [sp] │ │ │ │ │ + vldr d8, [sp, #16] │ │ │ │ │ + vstr d12, [sp, #8] │ │ │ │ │ + vldr d5, [sl, #-88] @ 0xffffffa8 │ │ │ │ │ + str r2, [sp, #28] │ │ │ │ │ + vldr d0, [sl, #-72] @ 0xffffffb8 │ │ │ │ │ + str r0, [sp, #40] @ 0x28 │ │ │ │ │ vmul.f64 d4, d12, d5 │ │ │ │ │ vmul.f64 d3, d8, d5 │ │ │ │ │ - vldr d5, [r9, #-96] @ 0xffffffa0 │ │ │ │ │ - vldr d12, [r9, #-80] @ 0xffffffb0 │ │ │ │ │ - str r2, [sp, #16] │ │ │ │ │ + vldr d5, [sl, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d12, [sl, #-80] @ 0xffffffb0 │ │ │ │ │ vmul.f64 d5, d8, d5 │ │ │ │ │ vadd.f64 d2, d1, d3 │ │ │ │ │ vsub.f64 d3, d1, d3 │ │ │ │ │ vmul.f64 d1, d8, d0 │ │ │ │ │ - str r1, [sp, #20] │ │ │ │ │ vsub.f64 d6, d4, d5 │ │ │ │ │ vadd.f64 d5, d4, d5 │ │ │ │ │ - vldr d4, [sp] │ │ │ │ │ - vstr d3, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d3, [r9, #-120] @ 0xffffff88 │ │ │ │ │ - vstr d5, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d4, [sp, #8] │ │ │ │ │ + vstr d3, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d3, [sl, #-120] @ 0xffffff88 │ │ │ │ │ + vstr d5, [sp, #128] @ 0x80 │ │ │ │ │ vmul.f64 d5, d6, d0 │ │ │ │ │ - vmla.f64 d5, d2, d12 │ │ │ │ │ vmla.f64 d1, d4, d12 │ │ │ │ │ + vmla.f64 d5, d2, d12 │ │ │ │ │ vstr d5, [sp, #168] @ 0xa8 │ │ │ │ │ vmul.f64 d5, d10, d12 │ │ │ │ │ vnmls.f64 d5, d9, d0 │ │ │ │ │ - vstr d5, [sp, #80] @ 0x50 │ │ │ │ │ + vstr d5, [sp, #88] @ 0x58 │ │ │ │ │ vmul.f64 d5, d8, d12 │ │ │ │ │ vnmls.f64 d5, d4, d0 │ │ │ │ │ - vldr d4, [r9, #-128] @ 0xffffff80 │ │ │ │ │ - vstr d5, [sp, #32] │ │ │ │ │ + vldr d4, [sl, #-128] @ 0xffffff80 │ │ │ │ │ + vstr d5, [sp, #48] @ 0x30 │ │ │ │ │ vmul.f64 d5, d10, d0 │ │ │ │ │ vmov.f64 d8, d5 │ │ │ │ │ vmla.f64 d8, d9, d12 │ │ │ │ │ - vstr d8, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d8, [r9, #-120] @ 0xffffff88 │ │ │ │ │ + vstr d8, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d8, [sl, #-120] @ 0xffffff88 │ │ │ │ │ vmul.f64 d5, d8, d12 │ │ │ │ │ vmov.f64 d8, d5 │ │ │ │ │ vmul.f64 d5, d15, d12 │ │ │ │ │ vnmls.f64 d8, d4, d0 │ │ │ │ │ - vstr d8, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d8, [sp, #72] @ 0x48 │ │ │ │ │ vmov.f64 d8, d5 │ │ │ │ │ vmul.f64 d5, d6, d12 │ │ │ │ │ vnmls.f64 d8, d14, d0 │ │ │ │ │ vmov.f64 d4, d5 │ │ │ │ │ vmul.f64 d5, d3, d0 │ │ │ │ │ + vnmls.f64 d4, d2, d0 │ │ │ │ │ vmov.f64 d3, d5 │ │ │ │ │ vmul.f64 d5, d15, d0 │ │ │ │ │ - vnmls.f64 d4, d2, d0 │ │ │ │ │ vstr d8, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d8, [r9, #-128] @ 0xffffff80 │ │ │ │ │ + vldr d8, [sl, #-128] @ 0xffffff80 │ │ │ │ │ + vstr d4, [sp, #192] @ 0xc0 │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ vmla.f64 d3, d8, d12 │ │ │ │ │ vmov.f64 d8, d5 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ vmla.f64 d8, d14, d12 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - vstr d4, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - mul.w r2, r5, r4 │ │ │ │ │ - add.w r7, fp, r2 │ │ │ │ │ - add.w r8, sl, r2 │ │ │ │ │ - add.w r5, r8, r3 │ │ │ │ │ - adds r6, r7, r3 │ │ │ │ │ - lsls r2, r4, #6 │ │ │ │ │ - vstr d3, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d3, [sp, #80] @ 0x50 │ │ │ │ │ vmul.f64 d3, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ - vstr d8, [sp, #376] @ 0x178 │ │ │ │ │ - vldr d8, [sp, #24] │ │ │ │ │ - add.w r1, sl, r2 │ │ │ │ │ - str r5, [sp, #24] │ │ │ │ │ - add r2, fp │ │ │ │ │ - adds r0, r1, r3 │ │ │ │ │ + vstr d8, [sp, #360] @ 0x168 │ │ │ │ │ + vldr d8, [sp, #32] │ │ │ │ │ + str r3, [sp, #32] │ │ │ │ │ vnmls.f64 d7, d8, d5 │ │ │ │ │ - vldr d5, [r8] │ │ │ │ │ + vldr d5, [r9] │ │ │ │ │ vmla.f64 d3, d8, d4 │ │ │ │ │ - vstr d7, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ + vstr d7, [sp] │ │ │ │ │ + vldr d7, [ip] │ │ │ │ │ vmul.f64 d4, d6, d7 │ │ │ │ │ vmla.f64 d4, d2, d5 │ │ │ │ │ vmul.f64 d5, d6, d5 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - adds r5, r2, r3 │ │ │ │ │ - str r6, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + str r5, [sp, #44] @ 0x2c │ │ │ │ │ + mov.w r3, r7, lsl #6 │ │ │ │ │ + add.w r2, fp, r3 │ │ │ │ │ + add.w r0, r6, r3 │ │ │ │ │ + add.w r4, r2, r1 │ │ │ │ │ vnmls.f64 d5, d2, d7 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - vldr d2, [sp, #32] │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, r0, r1 │ │ │ │ │ + vldr d2, [sp, #48] @ 0x30 │ │ │ │ │ + str r5, [sp, #136] @ 0x88 │ │ │ │ │ vmov.f64 d8, d7 │ │ │ │ │ vmul.f64 d2, d2, d7 │ │ │ │ │ - vldr d7, [sp, #32] │ │ │ │ │ + vldr d7, [sp, #48] @ 0x30 │ │ │ │ │ + str r2, [sp, #48] @ 0x30 │ │ │ │ │ vmla.f64 d2, d1, d6 │ │ │ │ │ - str r1, [sp, #32] │ │ │ │ │ vmul.f64 d6, d7, d6 │ │ │ │ │ - vldr d7, [sl] │ │ │ │ │ - vadd.f64 d7, d7, d3 │ │ │ │ │ + vldr d7, [fp] │ │ │ │ │ vnmls.f64 d6, d1, d8 │ │ │ │ │ + vadd.f64 d7, d7, d3 │ │ │ │ │ vadd.f64 d1, d4, d2 │ │ │ │ │ vsub.f64 d4, d4, d2 │ │ │ │ │ vmov.f64 d8, d7 │ │ │ │ │ vsub.f64 d7, d7, d1 │ │ │ │ │ - vstr d7, [sp, #208] @ 0xd0 │ │ │ │ │ + vstr d7, [sp, #400] @ 0x190 │ │ │ │ │ vadd.f64 d7, d8, d1 │ │ │ │ │ - vldr d8, [sp, #56] @ 0x38 │ │ │ │ │ - str r5, [sp, #56] @ 0x38 │ │ │ │ │ - vstr d7, [sp, #416] @ 0x1a0 │ │ │ │ │ - vldr d7, [fp] │ │ │ │ │ + vldr d8, [sp] │ │ │ │ │ + vstr d7, [sp, #408] @ 0x198 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ vsub.f64 d1, d7, d8 │ │ │ │ │ - vsub.f64 d7, d1, d4 │ │ │ │ │ - vadd.f64 d2, d1, d4 │ │ │ │ │ + vadd.f64 d7, d1, d4 │ │ │ │ │ + vsub.f64 d2, d1, d4 │ │ │ │ │ + vstr d2, [sp, #416] @ 0x1a0 │ │ │ │ │ vstr d7, [sp, #424] @ 0x1a8 │ │ │ │ │ - vldr d7, [sl] │ │ │ │ │ - vstr d2, [sp, #432] @ 0x1b0 │ │ │ │ │ - vldr d2, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d7, [fp] │ │ │ │ │ vsub.f64 d4, d7, d3 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ vsub.f64 d3, d5, d6 │ │ │ │ │ vadd.f64 d6, d5, d6 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - vsub.f64 d7, d4, d3 │ │ │ │ │ - vadd.f64 d1, d4, d3 │ │ │ │ │ - vstr d7, [sp, #440] @ 0x1b8 │ │ │ │ │ - vldr d7, [fp] │ │ │ │ │ - vstr d1, [sp, #448] @ 0x1c0 │ │ │ │ │ - vldr d1, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + mov.w r2, r7, lsl #4 │ │ │ │ │ + add.w r3, r2, r7 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + vsub.f64 d2, d4, d3 │ │ │ │ │ vadd.f64 d7, d7, d8 │ │ │ │ │ - str r0, [sp, #48] @ 0x30 │ │ │ │ │ - vadd.f64 d4, d6, d7 │ │ │ │ │ + vadd.f64 d1, d4, d3 │ │ │ │ │ + vldr d4, [sp, #56] @ 0x38 │ │ │ │ │ + str r0, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d2, [sp, #432] @ 0x1b0 │ │ │ │ │ + vadd.f64 d2, d6, d7 │ │ │ │ │ vsub.f64 d6, d7, d6 │ │ │ │ │ - vstr d4, [sp, #456] @ 0x1c8 │ │ │ │ │ - vldr d4, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d6, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ + vstr d1, [sp, #440] @ 0x1b8 │ │ │ │ │ vmul.f64 d8, d4, d5 │ │ │ │ │ - str r2, [sp, #40] @ 0x28 │ │ │ │ │ - mul.w r2, ip, r4 │ │ │ │ │ - mov.w ip, #56 @ 0x38 │ │ │ │ │ + vldr d1, [sp, #64] @ 0x40 │ │ │ │ │ + str r4, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d2, [sp, #448] @ 0x1c0 │ │ │ │ │ + vstr d6, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + add.w r0, r6, r3 │ │ │ │ │ + vldr d2, [sp, #72] @ 0x48 │ │ │ │ │ vmul.f64 d7, d4, d6 │ │ │ │ │ vldr d4, [r5] │ │ │ │ │ - vmla.f64 d7, d1, d5 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ vnmls.f64 d8, d1, d6 │ │ │ │ │ - vldr d1, [sp, #72] @ 0x48 │ │ │ │ │ + add.w r5, fp, r3 │ │ │ │ │ + str r5, [sp, #72] @ 0x48 │ │ │ │ │ + vmla.f64 d7, d1, d5 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + mov.w r4, r7, lsl #3 │ │ │ │ │ vmul.f64 d6, d2, d4 │ │ │ │ │ - add.w r6, sl, r2 │ │ │ │ │ - add r2, fp │ │ │ │ │ - str r6, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d1, [sp, #80] @ 0x50 │ │ │ │ │ + sub.w r3, r4, r7 │ │ │ │ │ + add.w r8, fp, r4 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ vmla.f64 d6, d1, d5 │ │ │ │ │ vmul.f64 d5, d2, d5 │ │ │ │ │ vnmls.f64 d5, d1, d4 │ │ │ │ │ vadd.f64 d3, d7, d6 │ │ │ │ │ vsub.f64 d6, d7, d6 │ │ │ │ │ vadd.f64 d1, d8, d5 │ │ │ │ │ - vstr d3, [sp, #224] @ 0xe0 │ │ │ │ │ - vstr d6, [sp, #304] @ 0x130 │ │ │ │ │ vsub.f64 d8, d8, d5 │ │ │ │ │ - vstr d1, [sp, #240] @ 0xf0 │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - vldr d1, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d5, [sp, #88] @ 0x58 │ │ │ │ │ - str r2, [sp, #72] @ 0x48 │ │ │ │ │ - mul.w r2, ip, r4 │ │ │ │ │ + vstr d3, [sp, #208] @ 0xd0 │ │ │ │ │ + vstr d1, [sp, #224] @ 0xe0 │ │ │ │ │ + vstr d6, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + add.w r5, fp, r3 │ │ │ │ │ + add r3, r6 │ │ │ │ │ + str r0, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + mov r0, r7 │ │ │ │ │ + mov.w r7, #104 @ 0x68 │ │ │ │ │ + vldr d1, [sp, #88] @ 0x58 │ │ │ │ │ + str r5, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d5, [sp, #96] @ 0x60 │ │ │ │ │ + str r3, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d3, [r3] │ │ │ │ │ + mul.w r3, r7, r0 │ │ │ │ │ vmul.f64 d4, d1, d7 │ │ │ │ │ - vldr d2, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d2, [sp, #112] @ 0x70 │ │ │ │ │ vmla.f64 d4, d5, d6 │ │ │ │ │ - add.w r5, fp, r2 │ │ │ │ │ vmul.f64 d6, d1, d6 │ │ │ │ │ - add.w r1, sl, r2 │ │ │ │ │ - vldr d1, [sp, #96] @ 0x60 │ │ │ │ │ - mov.w ip, #104 @ 0x68 │ │ │ │ │ - vldr d3, [r5] │ │ │ │ │ - str r5, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d1, [sp, #104] @ 0x68 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + mov r5, r0 │ │ │ │ │ vmul.f64 d5, d1, d3 │ │ │ │ │ - mul.w r2, ip, r4 │ │ │ │ │ - mov.w ip, #24 │ │ │ │ │ - str r1, [sp, #80] @ 0x50 │ │ │ │ │ + add.w r0, fp, r3 │ │ │ │ │ + add r3, r6 │ │ │ │ │ + mov r7, r5 │ │ │ │ │ + str r0, [sp, #104] @ 0x68 │ │ │ │ │ + str r3, [sp, #112] @ 0x70 │ │ │ │ │ vmla.f64 d5, d2, d7 │ │ │ │ │ vmul.f64 d7, d1, d7 │ │ │ │ │ - add.w r0, fp, r2 │ │ │ │ │ - add.w r6, sl, r2 │ │ │ │ │ - mul.w r2, ip, r4 │ │ │ │ │ - str r6, [sp, #96] @ 0x60 │ │ │ │ │ - str r0, [sp, #104] @ 0x68 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ - add.w r5, sl, r2 │ │ │ │ │ + vldr d2, [sp, #144] @ 0x90 │ │ │ │ │ vadd.f64 d1, d4, d5 │ │ │ │ │ vsub.f64 d5, d4, d5 │ │ │ │ │ - vadd.f64 d2, d6, d7 │ │ │ │ │ + vstr d1, [sp, #216] @ 0xd8 │ │ │ │ │ + vadd.f64 d1, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vstr d1, [sp, #232] @ 0xe8 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - vldr d1, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d5, [sp, #280] @ 0x118 │ │ │ │ │ - vstr d6, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d5, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + add.w r3, r5, r5, lsl #1 │ │ │ │ │ + vstr d1, [sp] │ │ │ │ │ + vldr d1, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d5, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d5, [sp, #120] @ 0x78 │ │ │ │ │ + vstr d6, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + mov.w r0, r3, lsl #3 │ │ │ │ │ vmul.f64 d4, d1, d7 │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ - add.w r6, fp, r2 │ │ │ │ │ - movs r2, #96 @ 0x60 │ │ │ │ │ - vstr d2, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d2, [sp, #136] @ 0x88 │ │ │ │ │ + add.w r5, fp, r0 │ │ │ │ │ + add r0, r6 │ │ │ │ │ + vldr d3, [r0] │ │ │ │ │ + str r5, [sp, #120] @ 0x78 │ │ │ │ │ + str r0, [sp, #128] @ 0x80 │ │ │ │ │ + mov.w r0, r3, lsl #5 │ │ │ │ │ vmla.f64 d4, d5, d6 │ │ │ │ │ vmul.f64 d6, d1, d6 │ │ │ │ │ - vldr d3, [r6] │ │ │ │ │ - mul.w r2, r4, r2 │ │ │ │ │ - str r6, [sp, #120] @ 0x78 │ │ │ │ │ - add.w r1, sl, r2 │ │ │ │ │ - add r2, fp │ │ │ │ │ + mov.w r3, r3, lsl #4 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ vldr d7, [r5] │ │ │ │ │ vmul.f64 d5, d15, d3 │ │ │ │ │ - str r2, [sp, #584] @ 0x248 │ │ │ │ │ - str r5, [sp, #112] @ 0x70 │ │ │ │ │ + add.w r5, fp, r0 │ │ │ │ │ + add r0, r6 │ │ │ │ │ + str r5, [sp, #140] @ 0x8c │ │ │ │ │ + str r0, [sp, #584] @ 0x248 │ │ │ │ │ vmla.f64 d5, d14, d7 │ │ │ │ │ vmul.f64 d7, d15, d7 │ │ │ │ │ - str r1, [sp, #132] @ 0x84 │ │ │ │ │ vnmls.f64 d7, d14, d3 │ │ │ │ │ vadd.f64 d1, d4, d5 │ │ │ │ │ vsub.f64 d4, d4, d5 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + add.w r5, fp, r2 │ │ │ │ │ + add r2, r6 │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - lsls r2, r4, #4 │ │ │ │ │ - add.w r6, fp, r2 │ │ │ │ │ - add.w r5, sl, r2 │ │ │ │ │ - lsls r2, r4, #5 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ vstr d3, [sp, #160] @ 0xa0 │ │ │ │ │ vmul.f64 d3, d2, d7 │ │ │ │ │ - add.w r1, sl, r2 │ │ │ │ │ - add r2, fp │ │ │ │ │ vmov.f64 d14, d3 │ │ │ │ │ - vldr d3, [sp, #144] @ 0x90 │ │ │ │ │ - str r5, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d15, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d3, [sp, #152] @ 0x98 │ │ │ │ │ + str r5, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d15, [sp, #208] @ 0xd0 │ │ │ │ │ + str r2, [sp, #152] @ 0x98 │ │ │ │ │ vmla.f64 d14, d3, d5 │ │ │ │ │ vmul.f64 d5, d2, d5 │ │ │ │ │ - vldr d2, [r6] │ │ │ │ │ - str r6, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ + mov.w r2, r7, lsl #5 │ │ │ │ │ + add.w r0, fp, r2 │ │ │ │ │ + add r2, r6 │ │ │ │ │ vnmls.f64 d5, d3, d7 │ │ │ │ │ vldr d7, [r5] │ │ │ │ │ + add.w r5, r0, r1 │ │ │ │ │ vmul.f64 d3, d10, d2 │ │ │ │ │ - adds r5, r2, r3 │ │ │ │ │ vmla.f64 d3, d9, d7 │ │ │ │ │ vmul.f64 d7, d10, d7 │ │ │ │ │ vnmls.f64 d7, d9, d2 │ │ │ │ │ vldr d9, [sp, #160] @ 0xa0 │ │ │ │ │ vadd.f64 d2, d14, d3 │ │ │ │ │ vadd.f64 d10, d5, d7 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ vsub.f64 d7, d14, d3 │ │ │ │ │ vsub.f64 d14, d15, d1 │ │ │ │ │ - vadd.f64 d15, d15, d1 │ │ │ │ │ - vstr d7, [sp, #320] @ 0x140 │ │ │ │ │ - vldr d7, [sp, #232] @ 0xe8 │ │ │ │ │ - vstr d14, [sp, #224] @ 0xe0 │ │ │ │ │ - vstr d15, [sp, #264] @ 0x108 │ │ │ │ │ + vadd.f64 d1, d15, d1 │ │ │ │ │ + vstr d14, [sp, #208] @ 0xd0 │ │ │ │ │ + vstr d7, [sp, #304] @ 0x130 │ │ │ │ │ + vldr d7, [sp, #216] @ 0xd8 │ │ │ │ │ + vstr d1, [sp, #248] @ 0xf8 │ │ │ │ │ vsub.f64 d3, d2, d7 │ │ │ │ │ - vadd.f64 d1, d7, d2 │ │ │ │ │ + vadd.f64 d15, d7, d2 │ │ │ │ │ vadd.f64 d7, d8, d4 │ │ │ │ │ vsub.f64 d8, d8, d4 │ │ │ │ │ vadd.f64 d14, d14, d3 │ │ │ │ │ - vstr d3, [sp, #232] @ 0xe8 │ │ │ │ │ - vldr d3, [sp, #240] @ 0xf0 │ │ │ │ │ - vadd.f64 d2, d15, d1 │ │ │ │ │ - vstr d1, [sp, #272] @ 0x110 │ │ │ │ │ - vldr d15, [sp, #304] @ 0x130 │ │ │ │ │ + vstr d3, [sp, #216] @ 0xd8 │ │ │ │ │ + vadd.f64 d1, d1, d15 │ │ │ │ │ + vldr d3, [sp, #224] @ 0xe0 │ │ │ │ │ + vstr d15, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d15, [sp, #288] @ 0x120 │ │ │ │ │ + vstr d8, [sp, #280] @ 0x118 │ │ │ │ │ vstr d14, [sp, #464] @ 0x1d0 │ │ │ │ │ vsub.f64 d14, d3, d9 │ │ │ │ │ - vstr d2, [sp, #488] @ 0x1e8 │ │ │ │ │ - vstr d8, [sp, #296] @ 0x128 │ │ │ │ │ - vstr d14, [sp, #240] @ 0xf0 │ │ │ │ │ - vldr d14, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d14, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d14, [sp] │ │ │ │ │ + vstr d1, [sp, #488] @ 0x1e8 │ │ │ │ │ vsub.f64 d14, d10, d14 │ │ │ │ │ vmov.f64 d9, d14 │ │ │ │ │ - vldr d14, [sp, #240] @ 0xf0 │ │ │ │ │ - vstr d9, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d14, [sp, #224] @ 0xe0 │ │ │ │ │ + vstr d9, [sp, #232] @ 0xe8 │ │ │ │ │ vadd.f64 d9, d14, d9 │ │ │ │ │ - vldr d14, [sp, #152] @ 0x98 │ │ │ │ │ - vstr d9, [sp, #472] @ 0x1d8 │ │ │ │ │ + vldr d14, [sp] │ │ │ │ │ vadd.f64 d10, d14, d10 │ │ │ │ │ + vldr d14, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d7, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d9, [sp, #472] @ 0x1d8 │ │ │ │ │ vldr d9, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d14, [sp, #280] @ 0x118 │ │ │ │ │ - vstr d7, [sp, #280] @ 0x118 │ │ │ │ │ - vadd.f64 d9, d3, d9 │ │ │ │ │ vadd.f64 d1, d14, d5 │ │ │ │ │ vsub.f64 d14, d5, d14 │ │ │ │ │ - vstr d9, [sp, #256] @ 0x100 │ │ │ │ │ - vadd.f64 d9, d9, d10 │ │ │ │ │ + vadd.f64 d9, d3, d9 │ │ │ │ │ vadd.f64 d5, d8, d14 │ │ │ │ │ vadd.f64 d8, d15, d6 │ │ │ │ │ - vsub.f64 d6, d15, d6 │ │ │ │ │ - vstr d1, [sp, #288] @ 0x120 │ │ │ │ │ + vsub.f64 d15, d15, d6 │ │ │ │ │ + vstr d9, [sp, #240] @ 0xf0 │ │ │ │ │ + vadd.f64 d9, d9, d10 │ │ │ │ │ + vstr d1, [sp, #272] @ 0x110 │ │ │ │ │ + vmov.f64 d6, d15 │ │ │ │ │ vstr d9, [sp, #480] @ 0x1e0 │ │ │ │ │ vadd.f64 d9, d7, d1 │ │ │ │ │ + vldr d7, [sp, #304] @ 0x130 │ │ │ │ │ vstr d5, [sp, #504] @ 0x1f8 │ │ │ │ │ - vldr d7, [sp, #320] @ 0x140 │ │ │ │ │ - vldr d5, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d5, [sp, #296] @ 0x128 │ │ │ │ │ vstr d9, [sp, #496] @ 0x1f0 │ │ │ │ │ - vstr d8, [sp, #304] @ 0x130 │ │ │ │ │ + vstr d8, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d4, [sp, #8] │ │ │ │ │ + vstr d6, [sp, #304] @ 0x130 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ vadd.f64 d2, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d3, [sp, #8] │ │ │ │ │ - vstr d6, [sp, #320] @ 0x140 │ │ │ │ │ + str r7, [sp, #0] │ │ │ │ │ + vldr d3, [sp, #16] │ │ │ │ │ + add.w r7, r8, r1 │ │ │ │ │ + str r5, [sp, #8] │ │ │ │ │ + str r7, [sp, #160] @ 0xa0 │ │ │ │ │ vldr d1, [sp, #192] @ 0xc0 │ │ │ │ │ - vadd.f64 d4, d8, d2 │ │ │ │ │ - vadd.f64 d5, d6, d7 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - vstr d7, [sp, #328] @ 0x148 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - vstr d4, [sp, #512] @ 0x200 │ │ │ │ │ - vldr d4, [sp] │ │ │ │ │ - vstr d5, [sp, #520] @ 0x208 │ │ │ │ │ + vadd.f64 d15, d15, d7 │ │ │ │ │ + vadd.f64 d8, d8, d2 │ │ │ │ │ + vstr d2, [sp, #296] @ 0x128 │ │ │ │ │ + vstr d7, [sp, #312] @ 0x138 │ │ │ │ │ vmul.f64 d5, d3, d6 │ │ │ │ │ - str r1, [sp, #0] │ │ │ │ │ - add r1, r3 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + vldr d2, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d9, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d15, [sp, #520] @ 0x208 │ │ │ │ │ vmla.f64 d5, d4, d7 │ │ │ │ │ vmul.f64 d7, d3, d7 │ │ │ │ │ - vldr d3, [r5] │ │ │ │ │ - vstr d2, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d2, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d8, [sp, #512] @ 0x200 │ │ │ │ │ vnmls.f64 d7, d4, d6 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ + add.w r5, r2, r1 │ │ │ │ │ + vldr d3, [r5] │ │ │ │ │ + str r5, [sp, #16] │ │ │ │ │ + add.w r5, r6, r4 │ │ │ │ │ vmul.f64 d6, d1, d3 │ │ │ │ │ - str r1, [sp, #8] │ │ │ │ │ - lsls r1, r4, #3 │ │ │ │ │ - vldr d9, [sp, #176] @ 0xb0 │ │ │ │ │ vmla.f64 d6, d2, d4 │ │ │ │ │ vmul.f64 d4, d1, d4 │ │ │ │ │ - add.w r6, fp, r1 │ │ │ │ │ - add.w lr, sl, r1 │ │ │ │ │ - adds r0, r6, r3 │ │ │ │ │ - add.w r1, lr, r3 │ │ │ │ │ vldr d1, [sp, #184] @ 0xb8 │ │ │ │ │ vnmls.f64 d4, d2, d3 │ │ │ │ │ - str r1, [sp, #160] @ 0xa0 │ │ │ │ │ - str r5, [sp, #152] @ 0x98 │ │ │ │ │ - str r0, [sp, #168] @ 0xa8 │ │ │ │ │ vadd.f64 d15, d5, d6 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ vadd.f64 d3, d7, d4 │ │ │ │ │ vsub.f64 d4, d7, d4 │ │ │ │ │ - vstr d5, [sp, #392] @ 0x188 │ │ │ │ │ - vldr d5, [r9, #-120] @ 0xffffff88 │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ - vstr d4, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d7, [r8] │ │ │ │ │ + vstr d5, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d5, [sl, #-120] @ 0xffffff88 │ │ │ │ │ + vstr d3, [sp, #320] @ 0x140 │ │ │ │ │ + vstr d4, [sp, #368] @ 0x170 │ │ │ │ │ vmul.f64 d4, d5, d6 │ │ │ │ │ - vldr d5, [r9, #-128] @ 0xffffff80 │ │ │ │ │ - vstr d3, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d3, [r0] │ │ │ │ │ + vldr d5, [sl, #-128] @ 0xffffff80 │ │ │ │ │ vmla.f64 d4, d5, d7 │ │ │ │ │ - vldr d5, [r9, #-120] @ 0xffffff88 │ │ │ │ │ + vldr d5, [sl, #-120] @ 0xffffff88 │ │ │ │ │ vmul.f64 d7, d5, d7 │ │ │ │ │ - vldr d5, [r9, #-128] @ 0xffffff80 │ │ │ │ │ + vldr d5, [sl, #-128] @ 0xffffff80 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + add.w r7, r5, r1 │ │ │ │ │ + vldr d3, [r7] │ │ │ │ │ + str r7, [sp, #168] @ 0xa8 │ │ │ │ │ vmul.f64 d5, d9, d3 │ │ │ │ │ - movs r1, #72 @ 0x48 │ │ │ │ │ vmla.f64 d5, d1, d6 │ │ │ │ │ vmul.f64 d6, d9, d6 │ │ │ │ │ - mul.w r1, r4, r1 │ │ │ │ │ - add.w r5, fp, r1 │ │ │ │ │ - add.w ip, sl, r1 │ │ │ │ │ vnmls.f64 d6, d1, d3 │ │ │ │ │ - add.w r1, ip, r3 │ │ │ │ │ - adds r3, r5, r3 │ │ │ │ │ vadd.f64 d1, d4, d5 │ │ │ │ │ - vsub.f64 d4, d4, d5 │ │ │ │ │ + vsub.f64 d5, d4, d5 │ │ │ │ │ vadd.f64 d9, d7, d6 │ │ │ │ │ - vsub.f64 d5, d7, d6 │ │ │ │ │ - vstr d1, [sp, #344] @ 0x158 │ │ │ │ │ - vstr d9, [sp, #352] @ 0x160 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - vstr d4, [sp, #400] @ 0x190 │ │ │ │ │ - vldr d4, [r9, #-88] @ 0xffffffa8 │ │ │ │ │ - vldr d9, [r9, #-96] @ 0xffffffa0 │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ - vmul.f64 d4, d4, d7 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - vstr d5, [sp, #408] @ 0x198 │ │ │ │ │ - vmla.f64 d4, d9, d6 │ │ │ │ │ - vldr d9, [r9, #-88] @ 0xffffffa8 │ │ │ │ │ + vsub.f64 d4, d7, d6 │ │ │ │ │ + vstr d1, [sp, #328] @ 0x148 │ │ │ │ │ + vstr d9, [sp, #336] @ 0x150 │ │ │ │ │ + ldr r7, [sp, #0] │ │ │ │ │ + vstr d5, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d5, [sl, #-88] @ 0xffffffa8 │ │ │ │ │ + vstr d4, [sp, #392] @ 0x188 │ │ │ │ │ + add r4, r7 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + add.w lr, fp, r4 │ │ │ │ │ + add r4, r6 │ │ │ │ │ + add.w r7, lr, r1 │ │ │ │ │ + add r1, r4 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + str r4, [sp, #176] @ 0xb0 │ │ │ │ │ + add.w r4, fp, r3 │ │ │ │ │ + add r3, r6 │ │ │ │ │ + vldr d6, [lr] │ │ │ │ │ + str r7, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ + str r1, [sp, #192] @ 0xc0 │ │ │ │ │ + vmul.f64 d4, d5, d7 │ │ │ │ │ + vldr d5, [sl, #-96] @ 0xffffffa0 │ │ │ │ │ + vmla.f64 d4, d5, d6 │ │ │ │ │ + vldr d5, [sl, #-88] @ 0xffffffa8 │ │ │ │ │ + vmul.f64 d6, d5, d6 │ │ │ │ │ + vldr d5, [sl, #-96] @ 0xffffffa0 │ │ │ │ │ + vnmls.f64 d6, d5, d7 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ vmul.f64 d5, d0, d3 │ │ │ │ │ - str r1, [sp, #176] @ 0xb0 │ │ │ │ │ - str r3, [sp, #184] @ 0xb8 │ │ │ │ │ - vmul.f64 d6, d9, d6 │ │ │ │ │ - vldr d9, [r9, #-96] @ 0xffffffa0 │ │ │ │ │ - vldr d2, [sp, #368] @ 0x170 │ │ │ │ │ - vnmls.f64 d6, d9, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - lsls r1, r4, #7 │ │ │ │ │ - add.w r3, sl, r1 │ │ │ │ │ - add r1, fp │ │ │ │ │ + ldr r7, [sp, #0] │ │ │ │ │ vmla.f64 d5, d12, d7 │ │ │ │ │ vmul.f64 d7, d0, d7 │ │ │ │ │ - str r3, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d0, [sp, #360] @ 0x168 │ │ │ │ │ + vldr d0, [sp, #344] @ 0x158 │ │ │ │ │ + mov.w r1, r7, lsl #7 │ │ │ │ │ + add.w r7, fp, r1 │ │ │ │ │ + add r1, r6 │ │ │ │ │ vnmls.f64 d7, d12, d3 │ │ │ │ │ - vldr d3, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d3, [sp, #360] @ 0x168 │ │ │ │ │ vadd.f64 d1, d4, d5 │ │ │ │ │ vsub.f64 d9, d4, d5 │ │ │ │ │ vldr d5, [sp, #200] @ 0xc8 │ │ │ │ │ + str r4, [sp, #200] @ 0xc8 │ │ │ │ │ vadd.f64 d8, d6, d7 │ │ │ │ │ - vsub.f64 d7, d6, d7 │ │ │ │ │ + vsub.f64 d2, d6, d7 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ vsub.f64 d12, d15, d1 │ │ │ │ │ - vstr d7, [sp, #528] @ 0x210 │ │ │ │ │ + vadd.f64 d1, d15, d1 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ vmul.f64 d4, d5, d6 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - movs r3, #48 @ 0x30 │ │ │ │ │ - mul.w r3, r4, r3 │ │ │ │ │ + vstr d2, [sp, #528] @ 0x210 │ │ │ │ │ + vldr d2, [sp, #352] @ 0x160 │ │ │ │ │ vmla.f64 d4, d3, d7 │ │ │ │ │ vmul.f64 d7, d5, d7 │ │ │ │ │ - add.w r0, sl, r3 │ │ │ │ │ - add r3, fp │ │ │ │ │ - str r0, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ vnmls.f64 d7, d3, d6 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ vmul.f64 d6, d2, d3 │ │ │ │ │ vmla.f64 d6, d0, d5 │ │ │ │ │ vmul.f64 d5, d2, d5 │ │ │ │ │ vnmls.f64 d5, d0, d3 │ │ │ │ │ vadd.f64 d2, d4, d6 │ │ │ │ │ vsub.f64 d6, d4, d6 │ │ │ │ │ - vmov.f64 d4, d12 │ │ │ │ │ - vldr d12, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d4, [sp, #320] @ 0x140 │ │ │ │ │ vadd.f64 d0, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vsub.f64 d12, d2, d12 │ │ │ │ │ - vstr d4, [sp, #360] @ 0x168 │ │ │ │ │ - vadd.f64 d5, d4, d12 │ │ │ │ │ - vldr d4, [sp, #336] @ 0x150 │ │ │ │ │ - vstr d12, [sp, #368] @ 0x170 │ │ │ │ │ + vmov.f64 d5, d12 │ │ │ │ │ + vldr d12, [sp, #328] @ 0x148 │ │ │ │ │ vsub.f64 d3, d4, d8 │ │ │ │ │ - vldr d4, [sp, #352] @ 0x160 │ │ │ │ │ - vsub.f64 d4, d0, d4 │ │ │ │ │ + vstr d5, [sp, #344] @ 0x158 │ │ │ │ │ + vsub.f64 d12, d2, d12 │ │ │ │ │ + vadd.f64 d5, d5, d12 │ │ │ │ │ + vstr d12, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d12, [sp, #336] @ 0x150 │ │ │ │ │ + vsub.f64 d4, d0, d12 │ │ │ │ │ vadd.f64 d12, d3, d4 │ │ │ │ │ vsub.f64 d4, d3, d4 │ │ │ │ │ vstr d12, [sp, #536] @ 0x218 │ │ │ │ │ vmul.f64 d3, d4, d11 │ │ │ │ │ - vldr d12, [sp, #336] @ 0x150 │ │ │ │ │ + vldr d12, [sp, #320] @ 0x140 │ │ │ │ │ vadd.f64 d8, d12, d8 │ │ │ │ │ - vldr d12, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d12, [sp, #336] @ 0x150 │ │ │ │ │ + ldr r4, [sp, #28] │ │ │ │ │ + vldr d15, [sp, #384] @ 0x180 │ │ │ │ │ vadd.f64 d0, d12, d0 │ │ │ │ │ vadd.f64 d12, d8, d0 │ │ │ │ │ + vstr d0, [sp, #320] @ 0x140 │ │ │ │ │ + vadd.f64 d0, d15, d7 │ │ │ │ │ + vstr d0, [sp, #360] @ 0x168 │ │ │ │ │ vstr d12, [sp, #544] @ 0x220 │ │ │ │ │ - vadd.f64 d12, d15, d1 │ │ │ │ │ - vmov.f64 d15, d12 │ │ │ │ │ - vldr d12, [sp, #344] @ 0x158 │ │ │ │ │ - ldr r0, [sp, #16] │ │ │ │ │ + vldr d12, [sp, #328] @ 0x148 │ │ │ │ │ vadd.f64 d12, d12, d2 │ │ │ │ │ - vstr d15, [sp, #336] @ 0x150 │ │ │ │ │ - vstr d12, [sp, #344] @ 0x158 │ │ │ │ │ - vadd.f64 d12, d15, d12 │ │ │ │ │ - vstr d12, [sp, #552] @ 0x228 │ │ │ │ │ - vldr d12, [sp, #384] @ 0x180 │ │ │ │ │ - vadd.f64 d1, d12, d9 │ │ │ │ │ + vadd.f64 d2, d1, d12 │ │ │ │ │ + vstr d12, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d12, [sp, #368] @ 0x170 │ │ │ │ │ + vstr d2, [sp, #552] @ 0x228 │ │ │ │ │ + vadd.f64 d2, d12, d9 │ │ │ │ │ vsub.f64 d9, d12, d9 │ │ │ │ │ - vmov.f64 d15, d1 │ │ │ │ │ - vldr d1, [sp, #400] @ 0x190 │ │ │ │ │ - vadd.f64 d2, d1, d7 │ │ │ │ │ - vsub.f64 d12, d7, d1 │ │ │ │ │ - vstr d15, [sp, #352] @ 0x160 │ │ │ │ │ - vldr d1, [sp, #408] @ 0x198 │ │ │ │ │ - vadd.f64 d15, d15, d2 │ │ │ │ │ - vadd.f64 d7, d9, d12 │ │ │ │ │ - vstr d12, [sp, #384] @ 0x180 │ │ │ │ │ - vldr d12, [sp, #392] @ 0x188 │ │ │ │ │ - vstr d2, [sp, #376] @ 0x178 │ │ │ │ │ - vadd.f64 d2, d1, d6 │ │ │ │ │ - vstr d15, [sp, #560] @ 0x230 │ │ │ │ │ - vsub.f64 d1, d6, d1 │ │ │ │ │ - vldr d15, [sp, #528] @ 0x210 │ │ │ │ │ - vstr d7, [sp, #568] @ 0x238 │ │ │ │ │ - vstr d2, [sp, #400] @ 0x190 │ │ │ │ │ - vadd.f64 d7, d12, d15 │ │ │ │ │ - vsub.f64 d12, d12, d15 │ │ │ │ │ - vstr d1, [sp, #408] @ 0x198 │ │ │ │ │ - vldr d15, [sp, #248] @ 0xf8 │ │ │ │ │ - vadd.f64 d6, d12, d1 │ │ │ │ │ - vstr d7, [sp, #392] @ 0x188 │ │ │ │ │ - vldr d1, [sp, #464] @ 0x1d0 │ │ │ │ │ - vadd.f64 d7, d7, d2 │ │ │ │ │ - vsub.f64 d2, d5, d1 │ │ │ │ │ - vadd.f64 d5, d1, d5 │ │ │ │ │ - vstr d7, [sp, #528] @ 0x210 │ │ │ │ │ - vmov.f64 d1, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vldr d7, [pc, #952] @ c70 │ │ │ │ │ - vstr d6, [sp, #576] @ 0x240 │ │ │ │ │ - vldr d6, [sp, #208] @ 0xd0 │ │ │ │ │ + vmov.f64 d12, d15 │ │ │ │ │ + vldr d15, [sp, #392] @ 0x188 │ │ │ │ │ + vadd.f64 d0, d2, d0 │ │ │ │ │ + vstr d2, [sp, #336] @ 0x150 │ │ │ │ │ + vldr d2, [sp, #528] @ 0x210 │ │ │ │ │ + vstr d0, [sp, #560] @ 0x230 │ │ │ │ │ + vsub.f64 d0, d7, d12 │ │ │ │ │ + vadd.f64 d7, d15, d6 │ │ │ │ │ + vldr d12, [sp, #376] @ 0x178 │ │ │ │ │ + vsub.f64 d6, d6, d15 │ │ │ │ │ + vldr d15, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d0, [sp, #368] @ 0x170 │ │ │ │ │ + vadd.f64 d0, d9, d0 │ │ │ │ │ + vstr d7, [sp, #384] @ 0x180 │ │ │ │ │ + vstr d6, [sp, #392] @ 0x188 │ │ │ │ │ + vstr d0, [sp, #568] @ 0x238 │ │ │ │ │ + vadd.f64 d0, d12, d2 │ │ │ │ │ + vsub.f64 d12, d12, d2 │ │ │ │ │ + vadd.f64 d2, d12, d6 │ │ │ │ │ + vldr d6, [sp, #464] @ 0x1d0 │ │ │ │ │ + vstr d0, [sp, #376] @ 0x178 │ │ │ │ │ + vadd.f64 d0, d0, d7 │ │ │ │ │ + vldr d7, [pc, #960] @ c98 │ │ │ │ │ + vstr d0, [sp, #528] @ 0x210 │ │ │ │ │ + vldr d0, [sp, #400] @ 0x190 │ │ │ │ │ + vstr d2, [sp, #576] @ 0x240 │ │ │ │ │ + vsub.f64 d2, d5, d6 │ │ │ │ │ + vadd.f64 d5, d6, d5 │ │ │ │ │ + vmov.f64 d6, #80 @ 0x3e800000 0.250 │ │ │ │ │ vmul.f64 d2, d2, d7 │ │ │ │ │ - vldr d7, [sp, #240] @ 0xf0 │ │ │ │ │ - vmls.f64 d6, d5, d1 │ │ │ │ │ + vmov.f64 d7, d0 │ │ │ │ │ + vmls.f64 d7, d5, d6 │ │ │ │ │ + vadd.f64 d5, d0, d5 │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ + ldr r4, [sp, #8] │ │ │ │ │ + vmov.f64 d6, d7 │ │ │ │ │ + vldr d7, [sp, #224] @ 0xe0 │ │ │ │ │ + vadd.f64 d5, d2, d6 │ │ │ │ │ + vsub.f64 d6, d6, d2 │ │ │ │ │ vsub.f64 d7, d7, d15 │ │ │ │ │ vnmls.f64 d3, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ vmla.f64 d7, d4, d13 │ │ │ │ │ - vldr d4, [sp, #208] @ 0xd0 │ │ │ │ │ - vadd.f64 d5, d4, d5 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ - vadd.f64 d5, d2, d6 │ │ │ │ │ - ldr r0, [sp, #8] │ │ │ │ │ - vsub.f64 d6, d6, d2 │ │ │ │ │ vsub.f64 d4, d5, d7 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vstr d4, [r0] │ │ │ │ │ - ldr r0, [sp, #200] @ 0xc8 │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ + ldr r4, [sp, #200] @ 0xc8 │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ vsub.f64 d7, d6, d3 │ │ │ │ │ - ldr r0, [sp, #136] @ 0x88 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ - ldr r0, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d15, [sp, #472] @ 0x1d8 │ │ │ │ │ - vldr d4, [sp, #536] @ 0x218 │ │ │ │ │ - vldr d2, [sp, #232] @ 0xe8 │ │ │ │ │ - vstr d3, [r0] │ │ │ │ │ - vsub.f64 d5, d4, d15 │ │ │ │ │ - vldr d3, [sp, #224] @ 0xe0 │ │ │ │ │ - vldr d7, [pc, #832] @ c70 │ │ │ │ │ - vadd.f64 d4, d15, d4 │ │ │ │ │ - vldr d15, [sp, #368] @ 0x170 │ │ │ │ │ - vldr d6, [sp, #216] @ 0xd8 │ │ │ │ │ + ldr r4, [sp, #144] @ 0x90 │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + ldr r4, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d4, [sp, #472] @ 0x1d8 │ │ │ │ │ + vldr d15, [sp, #536] @ 0x218 │ │ │ │ │ + vstr d3, [r4] │ │ │ │ │ + vmov.f64 d3, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vldr d0, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d7, [pc, #824] @ c98 │ │ │ │ │ + vsub.f64 d5, d15, d4 │ │ │ │ │ + vadd.f64 d4, d4, d15 │ │ │ │ │ + vldr d2, [sp, #216] @ 0xd8 │ │ │ │ │ + vmov.f64 d6, d0 │ │ │ │ │ + ldr r4, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d15, [sp, #352] @ 0x160 │ │ │ │ │ + vmls.f64 d6, d4, d3 │ │ │ │ │ + vldr d3, [sp, #208] @ 0xd0 │ │ │ │ │ vmul.f64 d5, d5, d7 │ │ │ │ │ + vadd.f64 d4, d0, d4 │ │ │ │ │ + vldr d0, [sp, #408] @ 0x198 │ │ │ │ │ vsub.f64 d7, d3, d2 │ │ │ │ │ - vldr d3, [sp, #360] @ 0x168 │ │ │ │ │ - vmls.f64 d6, d4, d1 │ │ │ │ │ - ldr r0, [sp, #20] │ │ │ │ │ + vldr d3, [sp, #344] @ 0x158 │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ + ldr r4, [sp, #16] │ │ │ │ │ + vadd.f64 d4, d5, d6 │ │ │ │ │ + vsub.f64 d6, d6, d5 │ │ │ │ │ + vldr d5, [sp, #552] @ 0x228 │ │ │ │ │ vsub.f64 d2, d3, d15 │ │ │ │ │ - vldr d15, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d15, [sp, #240] @ 0xf0 │ │ │ │ │ vmul.f64 d3, d2, d11 │ │ │ │ │ vnmls.f64 d3, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ vmla.f64 d7, d2, d13 │ │ │ │ │ - vldr d2, [sp, #216] @ 0xd8 │ │ │ │ │ - vadd.f64 d4, d2, d4 │ │ │ │ │ - vstr d4, [r0] │ │ │ │ │ - vadd.f64 d4, d5, d6 │ │ │ │ │ - vsub.f64 d6, d6, d5 │ │ │ │ │ - ldr r0, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d5, [sp, #488] @ 0x1e8 │ │ │ │ │ vsub.f64 d2, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [sp, #552] @ 0x228 │ │ │ │ │ + vldr d4, [sp, #488] @ 0x1e8 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ - ldr r3, [sp, #152] @ 0x98 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ + vsub.f64 d2, d15, d10 │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ vadd.f64 d7, d3, d6 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ - vldr d3, [sp, #256] @ 0x100 │ │ │ │ │ - ldr r3, [sp, #32] │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ - vsub.f64 d2, d3, d10 │ │ │ │ │ - ldr r0, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d7, [pc, #700] @ c70 │ │ │ │ │ - vmul.f64 d3, d2, d11 │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ - vsub.f64 d6, d4, d5 │ │ │ │ │ - vadd.f64 d4, d5, d4 │ │ │ │ │ - vmov.f64 d5, d15 │ │ │ │ │ - ldr r0, [sp, #132] @ 0x84 │ │ │ │ │ + vmov.f64 d3, #80 @ 0x3e800000 0.250 │ │ │ │ │ + ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r4, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + ldr r4, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d7, [pc, #680] @ c98 │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ + vsub.f64 d6, d5, d4 │ │ │ │ │ + vadd.f64 d4, d4, d5 │ │ │ │ │ + vmov.f64 d5, d0 │ │ │ │ │ + ldr r4, [sp, #140] @ 0x8c │ │ │ │ │ vmul.f64 d6, d6, d7 │ │ │ │ │ - vsub.f64 d7, d8, d0 │ │ │ │ │ - vmls.f64 d5, d4, d1 │ │ │ │ │ - vadd.f64 d4, d15, d4 │ │ │ │ │ - vldr d0, [pc, #660] @ c70 │ │ │ │ │ + vldr d7, [sp, #320] @ 0x140 │ │ │ │ │ + vmls.f64 d5, d4, d3 │ │ │ │ │ + vmul.f64 d3, d2, d11 │ │ │ │ │ + vadd.f64 d4, d0, d4 │ │ │ │ │ + vldr d0, [pc, #640] @ c98 │ │ │ │ │ + vsub.f64 d7, d8, d7 │ │ │ │ │ + vmov.f64 d8, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vstr d4, [fp] │ │ │ │ │ + vsub.f64 d4, d5, d6 │ │ │ │ │ + vadd.f64 d6, d6, d5 │ │ │ │ │ vmla.f64 d3, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ - vstr d4, [sl] │ │ │ │ │ vnmls.f64 d7, d2, d13 │ │ │ │ │ - vsub.f64 d4, d5, d6 │ │ │ │ │ - vadd.f64 d6, d6, d5 │ │ │ │ │ vsub.f64 d2, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vstr d2, [r0] │ │ │ │ │ + vldr d4, [sp, #544] @ 0x220 │ │ │ │ │ + vstr d2, [r4] │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d6, d3 │ │ │ │ │ - ldr r3, [sp, #0] │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ - ldr r0, [sp, #192] @ 0xc0 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - vstr d3, [r0] │ │ │ │ │ - vldr d3, [sp, #544] @ 0x220 │ │ │ │ │ vldr d6, [sp, #480] @ 0x1e0 │ │ │ │ │ - vldr d15, [sp, #264] @ 0x108 │ │ │ │ │ - vldr d10, [sp, #456] @ 0x1c8 │ │ │ │ │ - vadd.f64 d4, d6, d3 │ │ │ │ │ - vsub.f64 d7, d3, d6 │ │ │ │ │ - vldr d3, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d6, [sp, #344] @ 0x158 │ │ │ │ │ - vmov.f64 d5, d10 │ │ │ │ │ - ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ - vmls.f64 d5, d4, d1 │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ + vstr d3, [r7] │ │ │ │ │ + vsub.f64 d7, d4, d6 │ │ │ │ │ + vadd.f64 d4, d6, d4 │ │ │ │ │ + vldr d10, [sp, #448] @ 0x1c0 │ │ │ │ │ + ldr r3, [sp, #32] │ │ │ │ │ + vldr d3, [sp, #328] @ 0x148 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ - vsub.f64 d6, d3, d6 │ │ │ │ │ - vldr d3, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d15, [sp, #256] @ 0x100 │ │ │ │ │ + vmov.f64 d5, d10 │ │ │ │ │ + ldr r0, [sp, #56] @ 0x38 │ │ │ │ │ + vsub.f64 d6, d1, d3 │ │ │ │ │ + vmls.f64 d5, d4, d8 │ │ │ │ │ + ldr r4, [sp, #584] @ 0x248 │ │ │ │ │ vadd.f64 d4, d10, d4 │ │ │ │ │ - ldr r0, [sp, #584] @ 0x248 │ │ │ │ │ - vldr d10, [sp, #520] @ 0x208 │ │ │ │ │ - vsub.f64 d2, d15, d3 │ │ │ │ │ - vldr d8, [sp, #440] @ 0x1b8 │ │ │ │ │ - vstr d4, [fp] │ │ │ │ │ - vmul.f64 d3, d2, d11 │ │ │ │ │ + vmov.f64 d1, d0 │ │ │ │ │ + vldr d3, [sp, #248] @ 0xf8 │ │ │ │ │ + vmov.f64 d0, d8 │ │ │ │ │ + ldr r7, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d10, [sp, #432] @ 0x1b0 │ │ │ │ │ + vstr d4, [r6] │ │ │ │ │ + vsub.f64 d2, d3, d15 │ │ │ │ │ + vldr d15, [sp, #336] @ 0x150 │ │ │ │ │ vsub.f64 d4, d5, d7 │ │ │ │ │ + vadd.f64 d7, d7, d5 │ │ │ │ │ + vmul.f64 d3, d2, d11 │ │ │ │ │ vmla.f64 d3, d6, d13 │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ - vadd.f64 d7, d7, d5 │ │ │ │ │ vnmls.f64 d6, d2, d13 │ │ │ │ │ vsub.f64 d2, d4, d6 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vstr d2, [r3] │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ + vldr d4, [sp, #520] @ 0x208 │ │ │ │ │ + vstr d2, [r0] │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ vadd.f64 d6, d3, d7 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vldr d3, [sp, #288] @ 0x120 │ │ │ │ │ - ldr r3, [sp, #24] │ │ │ │ │ + ldr r4, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d3, [sp, #576] @ 0x240 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ - vldr d6, [sp, #576] @ 0x240 │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ - vmov.f64 d7, d8 │ │ │ │ │ - ldr r2, [sp, #160] @ 0xa0 │ │ │ │ │ - vadd.f64 d4, d10, d6 │ │ │ │ │ - vsub.f64 d5, d6, d10 │ │ │ │ │ - vldr d6, [sp, #280] @ 0x118 │ │ │ │ │ - vldr d10, [sp, #376] @ 0x178 │ │ │ │ │ - ldr r1, [sp, #80] @ 0x50 │ │ │ │ │ + vmov.f64 d7, d10 │ │ │ │ │ + vldr d6, [sp, #264] @ 0x108 │ │ │ │ │ + vsub.f64 d5, d3, d4 │ │ │ │ │ + vadd.f64 d4, d4, d3 │ │ │ │ │ + ldr r2, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d3, [sp, #272] @ 0x110 │ │ │ │ │ + ldr r1, [sp, #120] @ 0x78 │ │ │ │ │ + vmls.f64 d7, d4, d8 │ │ │ │ │ + vmul.f64 d5, d5, d1 │ │ │ │ │ + vadd.f64 d4, d10, d4 │ │ │ │ │ + vldr d10, [sp, #424] @ 0x1a8 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ - vldr d3, [sp, #352] @ 0x160 │ │ │ │ │ - vmls.f64 d7, d4, d1 │ │ │ │ │ - vmul.f64 d5, d5, d0 │ │ │ │ │ - vadd.f64 d4, d8, d4 │ │ │ │ │ - vsub.f64 d2, d3, d10 │ │ │ │ │ + vldr d3, [sp, #360] @ 0x168 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ - vmul.f64 d3, d2, d11 │ │ │ │ │ - ldr r3, [sp, #112] @ 0x70 │ │ │ │ │ + vsub.f64 d2, d15, d3 │ │ │ │ │ + vldr d15, [sp, #304] @ 0x130 │ │ │ │ │ vadd.f64 d4, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ + vmul.f64 d3, d2, d11 │ │ │ │ │ vnmls.f64 d3, d6, d13 │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ vmla.f64 d6, d2, d13 │ │ │ │ │ vadd.f64 d2, d6, d4 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vadd.f64 d6, d3, d7 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vldr d3, [sp, #560] @ 0x230 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - ldr r2, [sp, #176] @ 0xb0 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ + vstr d2, [r7] │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ + vldr d4, [sp, #560] @ 0x230 │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ vldr d6, [sp, #496] @ 0x1f0 │ │ │ │ │ - vldr d15, [sp, #320] @ 0x140 │ │ │ │ │ - vldr d7, [sp, #328] @ 0x148 │ │ │ │ │ - vadd.f64 d4, d6, d3 │ │ │ │ │ - vldr d2, [sp, #432] @ 0x1b0 │ │ │ │ │ - vsub.f64 d5, d3, d6 │ │ │ │ │ - ldr r3, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + vldr d7, [sp, #312] @ 0x138 │ │ │ │ │ + ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ + vsub.f64 d5, d4, d6 │ │ │ │ │ + vadd.f64 d4, d6, d4 │ │ │ │ │ + ldr r2, [sp, #96] @ 0x60 │ │ │ │ │ + vmov.f64 d6, d10 │ │ │ │ │ vsub.f64 d7, d15, d7 │ │ │ │ │ - vldr d15, [sp, #408] @ 0x198 │ │ │ │ │ - vmov.f64 d6, d2 │ │ │ │ │ - ldr r1, [sp, #88] @ 0x58 │ │ │ │ │ - vmls.f64 d6, d4, d1 │ │ │ │ │ - vadd.f64 d4, d2, d4 │ │ │ │ │ + ldr r7, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d15, [sp, #392] @ 0x188 │ │ │ │ │ + vmls.f64 d6, d4, d0 │ │ │ │ │ + vmul.f64 d5, d5, d1 │ │ │ │ │ + ldr r4, [sp, #192] @ 0xc0 │ │ │ │ │ + vadd.f64 d4, d10, d4 │ │ │ │ │ + ldr r1, [sp, #128] @ 0x80 │ │ │ │ │ vsub.f64 d12, d12, d15 │ │ │ │ │ - vmul.f64 d5, d5, d0 │ │ │ │ │ - vldr d10, [sp, #528] @ 0x210 │ │ │ │ │ - vldr d8, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d8, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d10, [sp, #440] @ 0x1b8 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ + ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ vmul.f64 d3, d12, d11 │ │ │ │ │ - ldr r3, [sp, #168] @ 0xa8 │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ + vmov.f64 d5, d10 │ │ │ │ │ vnmls.f64 d3, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ vmla.f64 d7, d12, d13 │ │ │ │ │ - vldr d12, [sp, #384] @ 0x180 │ │ │ │ │ - vmov.f64 d5, d8 │ │ │ │ │ + vldr d12, [sp, #528] @ 0x210 │ │ │ │ │ vsub.f64 d2, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [sp, #512] @ 0x200 │ │ │ │ │ - vstr d2, [r3] │ │ │ │ │ - ldr r3, [sp, #184] @ 0xb8 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ + vldr d4, [sp, #368] @ 0x170 │ │ │ │ │ + vstr d2, [r7] │ │ │ │ │ + vsub.f64 d4, d9, d4 │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ vsub.f64 d7, d6, d3 │ │ │ │ │ - ldr r3, [sp, #120] @ 0x78 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ - vsub.f64 d6, d9, d12 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - vsub.f64 d7, d10, d4 │ │ │ │ │ - vstr d3, [r1] │ │ │ │ │ - vadd.f64 d4, d4, d10 │ │ │ │ │ - vldr d3, [sp, #296] @ 0x128 │ │ │ │ │ - ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ - vmul.f64 d7, d7, d0 │ │ │ │ │ - ldr r1, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d6, [sp, #512] @ 0x200 │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ + vsub.f64 d7, d12, d6 │ │ │ │ │ + vadd.f64 d6, d6, d12 │ │ │ │ │ + ldr r2, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d3, [sp, #280] @ 0x118 │ │ │ │ │ + vmls.f64 d5, d6, d0 │ │ │ │ │ + vmul.f64 d7, d7, d1 │ │ │ │ │ + vadd.f64 d6, d10, d6 │ │ │ │ │ vsub.f64 d2, d3, d14 │ │ │ │ │ - vmls.f64 d5, d4, d1 │ │ │ │ │ - vadd.f64 d4, d8, d4 │ │ │ │ │ + vstr d6, [r9] │ │ │ │ │ vmul.f64 d3, d2, d11 │ │ │ │ │ - vmla.f64 d3, d6, d13 │ │ │ │ │ - vmul.f64 d6, d6, d11 │ │ │ │ │ - vstr d4, [r8] │ │ │ │ │ - vsub.f64 d4, d5, d7 │ │ │ │ │ + vsub.f64 d6, d5, d7 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vnmls.f64 d6, d2, d13 │ │ │ │ │ - vadd.f64 d2, d6, d4 │ │ │ │ │ - vsub.f64 d4, d4, d6 │ │ │ │ │ - vadd.f64 d6, d3, d7 │ │ │ │ │ - vsub.f64 d7, d7, d3 │ │ │ │ │ - vldr d3, [sp, #400] @ 0x190 │ │ │ │ │ - vstr d2, [r1] │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - vldr d4, [sp, #568] @ 0x238 │ │ │ │ │ - vstr d6, [lr] │ │ │ │ │ - vldr d6, [sp, #504] @ 0x1f8 │ │ │ │ │ - vstr d7, [ip] │ │ │ │ │ - vsub.f64 d7, d4, d6 │ │ │ │ │ - vadd.f64 d5, d6, d4 │ │ │ │ │ - vldr d4, [sp, #392] @ 0x188 │ │ │ │ │ - vmul.f64 d7, d7, d0 │ │ │ │ │ - vldr d0, [sp, #424] @ 0x1a8 │ │ │ │ │ - vldr d8, [sp, #304] @ 0x130 │ │ │ │ │ - vsub.f64 d4, d4, d3 │ │ │ │ │ - vldr d2, [sp, #312] @ 0x138 │ │ │ │ │ - vmov.f64 d6, d0 │ │ │ │ │ - ldr r3, [sp, #592] @ 0x250 │ │ │ │ │ - vmls.f64 d6, d5, d1 │ │ │ │ │ - vadd.f64 d5, d0, d5 │ │ │ │ │ - vsub.f64 d2, d8, d2 │ │ │ │ │ - ldr r2, [sp, #72] @ 0x48 │ │ │ │ │ - ldr r0, [sp, #104] @ 0x68 │ │ │ │ │ - add sl, r3 │ │ │ │ │ - add fp, r3 │ │ │ │ │ - ldr r3, [sp, #596] @ 0x254 │ │ │ │ │ - vstr d5, [r7] │ │ │ │ │ - vmul.f64 d3, d2, d11 │ │ │ │ │ - eors r4, r3 │ │ │ │ │ vmla.f64 d3, d4, d13 │ │ │ │ │ vmul.f64 d4, d4, d11 │ │ │ │ │ - ldr r3, [sp, #588] @ 0x24c │ │ │ │ │ - vsub.f64 d5, d6, d7 │ │ │ │ │ - b.n c78 │ │ │ │ │ - nop.w │ │ │ │ │ + vnmls.f64 d4, d2, d13 │ │ │ │ │ + vadd.f64 d2, d4, d6 │ │ │ │ │ + vsub.f64 d6, d6, d4 │ │ │ │ │ + vldr d4, [sp, #568] @ 0x238 │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + vadd.f64 d6, d3, d7 │ │ │ │ │ + vsub.f64 d7, d7, d3 │ │ │ │ │ + vldr d3, [sp, #296] @ 0x128 │ │ │ │ │ + vstr d6, [r8] │ │ │ │ │ + vstr d7, [lr] │ │ │ │ │ + vldr d7, [sp, #504] @ 0x1f8 │ │ │ │ │ + vadd.f64 d5, d7, d4 │ │ │ │ │ + vsub.f64 d6, d4, d7 │ │ │ │ │ + vldr d7, [sp, #384] @ 0x180 │ │ │ │ │ + vmov.f64 d4, d8 │ │ │ │ │ + vmls.f64 d4, d5, d0 │ │ │ │ │ + vldr d0, [sp, #376] @ 0x178 │ │ │ │ │ + vmul.f64 d6, d6, d1 │ │ │ │ │ + vadd.f64 d5, d8, d5 │ │ │ │ │ + vsub.f64 d2, d0, d7 │ │ │ │ │ + vldr d7, [sp, #288] @ 0x120 │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ + ldr r3, [sp, #112] @ 0x70 │ │ │ │ │ + vsub.f64 d5, d4, d6 │ │ │ │ │ + ldr r7, [sp, #0] │ │ │ │ │ + vsub.f64 d1, d7, d3 │ │ │ │ │ + b.n ca0 │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ - vadd.f64 d7, d7, d6 │ │ │ │ │ - vnmls.f64 d4, d2, d13 │ │ │ │ │ + vmul.f64 d7, d2, d11 │ │ │ │ │ + ldr r0, [sp, #80] @ 0x50 │ │ │ │ │ + ldr r2, [sp, #708] @ 0x2c4 │ │ │ │ │ + ldr r4, [sp, #176] @ 0xb0 │ │ │ │ │ + vnmls.f64 d7, d1, d13 │ │ │ │ │ + vmul.f64 d3, d1, d11 │ │ │ │ │ + vmla.f64 d3, d2, d13 │ │ │ │ │ + vsub.f64 d2, d5, d7 │ │ │ │ │ + vadd.f64 d5, d7, d5 │ │ │ │ │ + vadd.f64 d7, d6, d4 │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + ldr r3, [sp, #592] @ 0x250 │ │ │ │ │ vsub.f64 d6, d7, d3 │ │ │ │ │ vadd.f64 d7, d3, d7 │ │ │ │ │ - vsub.f64 d2, d5, d4 │ │ │ │ │ - vadd.f64 d4, d4, d5 │ │ │ │ │ - vstr d2, [r0] │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - ldr r2, [sp, #708] @ 0x2c4 │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ + add fp, r3 │ │ │ │ │ + add r6, r3 │ │ │ │ │ + ldr r3, [sp, #596] @ 0x254 │ │ │ │ │ + vstr d6, [r5] │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + eor.w r7, r7, r3 │ │ │ │ │ + ldr r3, [sp, #588] @ 0x24c │ │ │ │ │ + str r7, [sp, #0] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ - bne.w 58 │ │ │ │ │ + bne.w 70 │ │ │ │ │ add.w sp, sp, #604 @ 0x25c │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000cb4 : │ │ │ │ │ +00000d10 : │ │ │ │ │ fftw_codelet_t2_20(): │ │ │ │ │ - ldr r2, [pc, #8] @ (cc0 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (cc4 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (d1c ) │ │ │ │ │ + ldr r1, [pc, #12] @ (d20 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_dit_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── t2_25.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 6180 (bytes into file) │ │ │ │ │ + Start of section headers: 6256 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x1824: │ │ │ │ │ +There are 14 section headers, starting at offset 0x1870: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0014b0 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00176c 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0014e4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0014e4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0014e4 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 0014ea 000014 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0014fe 000040 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 001794 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 00153e 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00153e 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 001574 000170 10 12 18 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 0016e4 000087 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 0017ac 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0014fc 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0017b8 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 001530 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 001530 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 001530 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 001536 000014 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 00154a 000040 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 0017e0 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 00158a 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00158a 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 0015c0 000170 10 12 18 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 001730 000087 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 0017f8 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,26 +1,26 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 23 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 5274 FUNC LOCAL DEFAULT 1 t2_25 │ │ │ │ │ + 1: 00000001 5350 FUNC LOCAL DEFAULT 1 t2_25 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000040 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000050 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000798 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 000007b0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00001028 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 8: 000010d0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 9: 000014a8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000050 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000060 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000007a0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 000007b8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00001060 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 00001100 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 9: 000014f4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 12: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 13: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 14: 00000000 20 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 15: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 16: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 17: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 20: 0000149d 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t2_25 │ │ │ │ │ + 20: 000014e9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t2_25 │ │ │ │ │ 21: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_dit_register │ │ │ │ │ 22: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x176c contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x17b8 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000048 00001219 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000004c 0000131a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000014a8 00000f03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000014ac 00000103 R_ARM_REL32 00000001 t2_25 │ │ │ │ │ -000014a4 0000151e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ +00000058 00001219 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000005c 0000131a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +000014f4 00000f03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000014f8 00000103 R_ARM_REL32 00000001 t2_25 │ │ │ │ │ +000014f0 0000151e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x1794 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x17e0 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000a02 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000c02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001602 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,177 +1,179 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ t2_25(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r7, r0 │ │ │ │ │ - mov r8, r1 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r5, r0 │ │ │ │ │ + mov r6, r1 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r7, r3 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub.w sp, sp, #700 @ 0x2bc │ │ │ │ │ - ldr r1, [pc, #52] @ (48 ) │ │ │ │ │ - mov r9, r3 │ │ │ │ │ - ldr r0, [sp, #804] @ 0x324 │ │ │ │ │ - add r1, pc │ │ │ │ │ - ldr r3, [sp, #800] @ 0x320 │ │ │ │ │ + sub.w sp, sp, #708 @ 0x2c4 │ │ │ │ │ + ldrd r3, r0, [sp, #808] @ 0x328 │ │ │ │ │ + ldr r1, [pc, #48] @ (58 ) │ │ │ │ │ cmp r3, r0 │ │ │ │ │ - bge.w 148e │ │ │ │ │ - ldr r0, [sp, #808] @ 0x328 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - vldr d13, [pc, #24] @ 40 │ │ │ │ │ - add.w r6, r2, r3, lsl #6 │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ - str r0, [sp, #688] @ 0x2b0 │ │ │ │ │ - ldr r0, [pc, #24] @ (4c ) │ │ │ │ │ + add r1, pc │ │ │ │ │ + bge.w 14c8 │ │ │ │ │ + ldr r0, [sp, #816] @ 0x330 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + add.w r4, r2, r3, lsl #6 │ │ │ │ │ + vldr d13, [pc, #20] @ 50 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ + str r0, [sp, #696] @ 0x2b8 │ │ │ │ │ + ldr r0, [pc, #20] @ (5c ) │ │ │ │ │ ldr r1, [r1, r0] │ │ │ │ │ - str r3, [sp, #684] @ 0x2ac │ │ │ │ │ + str r3, [sp, #692] @ 0x2b4 │ │ │ │ │ ldr r1, [r1, #0] │ │ │ │ │ - str r1, [sp, #692] @ 0x2b4 │ │ │ │ │ - b.n 54 │ │ │ │ │ - nop.w │ │ │ │ │ + str r1, [sp, #700] @ 0x2bc │ │ │ │ │ + b.n 66 │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ - .word 0x0000002e │ │ │ │ │ + .word 0x0000002a │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #684] @ 0x2ac │ │ │ │ │ - vldr d9, [r6, #-48] @ 0xffffffd0 │ │ │ │ │ - movs r3, #40 @ 0x28 │ │ │ │ │ - vldr d7, [r6, #-64] @ 0xffffffc0 │ │ │ │ │ - adds r6, #64 @ 0x40 │ │ │ │ │ - vldr d11, [r6, #-104] @ 0xffffff98 │ │ │ │ │ - vldr d4, [r6, #-128] @ 0xffffff80 │ │ │ │ │ - mul.w r3, r3, r9 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + str r3, [sp, #692] @ 0x2b4 │ │ │ │ │ + vldr d7, [r4, #-64] @ 0xffffffc0 │ │ │ │ │ + add.w r2, r7, r7, lsl #2 │ │ │ │ │ + add.w r4, r4, #64 @ 0x40 │ │ │ │ │ + vldr d4, [r4, #-128] @ 0xffffff80 │ │ │ │ │ + mov.w r3, r2, lsl #3 │ │ │ │ │ + vldr d9, [r4, #-112] @ 0xffffff90 │ │ │ │ │ + add.w r1, r5, r3 │ │ │ │ │ + add.w r0, r6, r3 │ │ │ │ │ + vldr d11, [r4, #-104] @ 0xffffff98 │ │ │ │ │ + vldr d2, [r4, #-96] @ 0xffffffa0 │ │ │ │ │ vmul.f64 d6, d7, d9 │ │ │ │ │ - vldr d7, [r6, #-120] @ 0xffffff88 │ │ │ │ │ - vldr d2, [r6, #-96] @ 0xffffffa0 │ │ │ │ │ - adds r2, r7, r3 │ │ │ │ │ + vldr d7, [r4, #-120] @ 0xffffff88 │ │ │ │ │ vmul.f64 d4, d4, d11 │ │ │ │ │ - vldr d1, [r6, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d1, [r4, #-96] @ 0xffffffa0 │ │ │ │ │ vmul.f64 d5, d7, d9 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ - add.w r1, r8, r3 │ │ │ │ │ vadd.f64 d3, d5, d4 │ │ │ │ │ vsub.f64 d10, d6, d7 │ │ │ │ │ vsub.f64 d8, d4, d5 │ │ │ │ │ + vldr d5, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ vadd.f64 d14, d6, d7 │ │ │ │ │ - vldr d5, [r6, #-88] @ 0xffffffa8 │ │ │ │ │ vmul.f64 d6, d11, d2 │ │ │ │ │ - vldr d7, [r6, #-120] @ 0xffffff88 │ │ │ │ │ - vldr d4, [r6, #-88] @ 0xffffffa8 │ │ │ │ │ + vldr d7, [r4, #-120] @ 0xffffff88 │ │ │ │ │ + vldr d4, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ vstr d3, [sp] │ │ │ │ │ vmul.f64 d3, d7, d5 │ │ │ │ │ - vldr d7, [r6, #-128] @ 0xffffff80 │ │ │ │ │ - vmul.f64 d0, d11, d4 │ │ │ │ │ + vldr d7, [r4, #-128] @ 0xffffff80 │ │ │ │ │ vmul.f64 d5, d9, d5 │ │ │ │ │ + vmul.f64 d0, d11, d4 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [r6, #-128] @ 0xffffff80 │ │ │ │ │ + vldr d4, [r4, #-128] @ 0xffffff80 │ │ │ │ │ vadd.f64 d15, d5, d6 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ - vmul.f64 d4, d4, d2 │ │ │ │ │ - vldr d2, [r6, #-120] @ 0xffffff88 │ │ │ │ │ vldr d6, [sp] │ │ │ │ │ + vmul.f64 d4, d4, d2 │ │ │ │ │ + vldr d2, [r4, #-120] @ 0xffffff88 │ │ │ │ │ + vstr d5, [sp, #32] │ │ │ │ │ + vstr d15, [sp, #600] @ 0x258 │ │ │ │ │ + vldr d5, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ vmul.f64 d2, d2, d1 │ │ │ │ │ vmul.f64 d1, d9, d1 │ │ │ │ │ - vstr d15, [sp, #592] @ 0x250 │ │ │ │ │ - vstr d5, [sp, #32] │ │ │ │ │ - vldr d5, [r6, #-88] @ 0xffffffa8 │ │ │ │ │ + vmul.f64 d5, d6, d5 │ │ │ │ │ vsub.f64 d12, d1, d0 │ │ │ │ │ vadd.f64 d0, d0, d1 │ │ │ │ │ vsub.f64 d1, d7, d2 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ vadd.f64 d2, d3, d4 │ │ │ │ │ - vmul.f64 d5, d6, d5 │ │ │ │ │ vstr d0, [sp, #24] │ │ │ │ │ - vldr d0, [r6, #-88] @ 0xffffffa8 │ │ │ │ │ - vstr d2, [sp, #56] @ 0x38 │ │ │ │ │ - vmov.f64 d2, d14 │ │ │ │ │ - vldr d14, [r6, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d0, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ vstr d1, [sp, #48] @ 0x30 │ │ │ │ │ vmov.f64 d1, d8 │ │ │ │ │ - vldr d8, [r6, #-88] @ 0xffffffa8 │ │ │ │ │ - vmul.f64 d14, d2, d14 │ │ │ │ │ + vstr d2, [sp, #56] @ 0x38 │ │ │ │ │ + vmov.f64 d2, d14 │ │ │ │ │ + vldr d14, [r4, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d8, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ + vstr d1, [sp, #8] │ │ │ │ │ vstr d2, [sp, #16] │ │ │ │ │ + vstr d12, [sp, #592] @ 0x250 │ │ │ │ │ + vsub.f64 d12, d4, d3 │ │ │ │ │ + vmul.f64 d14, d2, d14 │ │ │ │ │ vmul.f64 d2, d2, d0 │ │ │ │ │ - vldr d0, [r6, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d0, [r4, #-96] @ 0xffffffa0 │ │ │ │ │ vmul.f64 d8, d1, d8 │ │ │ │ │ - vstr d12, [sp, #576] @ 0x240 │ │ │ │ │ - vsub.f64 d12, d4, d3 │ │ │ │ │ - vstr d1, [sp, #8] │ │ │ │ │ + vldr d4, [r4, #-96] @ 0xffffffa0 │ │ │ │ │ vmul.f64 d3, d1, d0 │ │ │ │ │ - vldr d4, [r6, #-96] @ 0xffffffa0 │ │ │ │ │ vadd.f64 d15, d14, d8 │ │ │ │ │ - vsub.f64 d8, d14, d8 │ │ │ │ │ vmul.f64 d4, d10, d4 │ │ │ │ │ + vsub.f64 d8, d14, d8 │ │ │ │ │ vsub.f64 d0, d2, d3 │ │ │ │ │ vstr d15, [sp, #40] @ 0x28 │ │ │ │ │ vmov.f64 d15, d10 │ │ │ │ │ vadd.f64 d10, d4, d5 │ │ │ │ │ vsub.f64 d4, d4, d5 │ │ │ │ │ vstr d0, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d0, [r6, #-88] @ 0xffffffa8 │ │ │ │ │ - vldr d1, [r6, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d0, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ + vldr d1, [r4, #-96] @ 0xffffffa0 │ │ │ │ │ vstr d4, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d5, [sp] │ │ │ │ │ + vstr d8, [sp, #264] @ 0x108 │ │ │ │ │ + vadd.f64 d8, d2, d3 │ │ │ │ │ vmul.f64 d0, d15, d0 │ │ │ │ │ vldr d4, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d15, [sp, #248] @ 0xf8 │ │ │ │ │ vmul.f64 d1, d6, d1 │ │ │ │ │ - vstr d8, [sp, #264] @ 0x108 │ │ │ │ │ - vadd.f64 d8, d2, d3 │ │ │ │ │ - vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ vldr d3, [sp, #32] │ │ │ │ │ - vldr d5, [sp] │ │ │ │ │ + vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d8, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d8, [r4, #-72] @ 0xffffffb8 │ │ │ │ │ vadd.f64 d14, d0, d1 │ │ │ │ │ vsub.f64 d6, d0, d1 │ │ │ │ │ - vstr d8, [sp, #272] @ 0x110 │ │ │ │ │ - vldr d8, [r6, #-72] @ 0xffffffb8 │ │ │ │ │ - vstr d15, [sp, #248] @ 0xf8 │ │ │ │ │ - vstr d14, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d14, [r6, #-80] @ 0xffffffb0 │ │ │ │ │ vmul.f64 d1, d5, d8 │ │ │ │ │ + vstr d14, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d14, [r4, #-80] @ 0xffffffb0 │ │ │ │ │ vmul.f64 d4, d4, d14 │ │ │ │ │ vmul.f64 d5, d5, d14 │ │ │ │ │ vmla.f64 d1, d15, d14 │ │ │ │ │ + vnmls.f64 d5, d15, d8 │ │ │ │ │ vmov.f64 d0, d4 │ │ │ │ │ vmul.f64 d4, d3, d14 │ │ │ │ │ - vnmls.f64 d5, d15, d8 │ │ │ │ │ vnmls.f64 d0, d2, d8 │ │ │ │ │ - vstr d0, [sp, #600] @ 0x258 │ │ │ │ │ + vstr d0, [sp, #608] @ 0x260 │ │ │ │ │ vldr d0, [sp, #24] │ │ │ │ │ vnmls.f64 d4, d0, d8 │ │ │ │ │ vstr d4, [sp, #160] @ 0xa0 │ │ │ │ │ vmul.f64 d4, d11, d8 │ │ │ │ │ vmov.f64 d15, d4 │ │ │ │ │ vmla.f64 d15, d9, d14 │ │ │ │ │ vstr d15, [sp, #232] @ 0xe8 │ │ │ │ │ - vldr d15, [r6, #-120] @ 0xffffff88 │ │ │ │ │ + vldr d15, [r4, #-120] @ 0xffffff88 │ │ │ │ │ vmul.f64 d4, d15, d8 │ │ │ │ │ - vldr d15, [r6, #-128] @ 0xffffff80 │ │ │ │ │ + vldr d15, [r4, #-128] @ 0xffffff80 │ │ │ │ │ vmla.f64 d4, d15, d14 │ │ │ │ │ - vldr d15, [r6, #-120] @ 0xffffff88 │ │ │ │ │ + vldr d15, [r4, #-120] @ 0xffffff88 │ │ │ │ │ vstr d4, [sp, #176] @ 0xb0 │ │ │ │ │ vmul.f64 d4, d15, d14 │ │ │ │ │ vmov.f64 d15, d4 │ │ │ │ │ - vldr d4, [r6, #-128] @ 0xffffff80 │ │ │ │ │ + vldr d4, [r4, #-128] @ 0xffffff80 │ │ │ │ │ vnmls.f64 d15, d4, d8 │ │ │ │ │ vmul.f64 d4, d3, d8 │ │ │ │ │ vmov.f64 d3, d4 │ │ │ │ │ vmul.f64 d4, d11, d14 │ │ │ │ │ vmla.f64 d3, d0, d14 │ │ │ │ │ - vldr d0, [r6, #-88] @ 0xffffffa8 │ │ │ │ │ + vldr d0, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ vmul.f64 d0, d0, d14 │ │ │ │ │ + vstr d3, [sp, #168] @ 0xa8 │ │ │ │ │ vstr d15, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d15, [r6, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d15, [r4, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d3, [r4, #-96] @ 0xffffffa0 │ │ │ │ │ vnmls.f64 d0, d15, d8 │ │ │ │ │ - vldr d15, [r6, #-88] @ 0xffffffa8 │ │ │ │ │ - vstr d3, [sp, #168] @ 0xa8 │ │ │ │ │ - vldr d3, [r6, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d15, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ vmul.f64 d15, d15, d8 │ │ │ │ │ vmla.f64 d15, d3, d14 │ │ │ │ │ vmov.f64 d3, d4 │ │ │ │ │ vldr d4, [sp, #48] @ 0x30 │ │ │ │ │ vnmls.f64 d3, d9, d8 │ │ │ │ │ vmul.f64 d4, d4, d8 │ │ │ │ │ vstr d3, [sp, #240] @ 0xf0 │ │ │ │ │ @@ -179,469 +181,474 @@ │ │ │ │ │ vmla.f64 d4, d3, d14 │ │ │ │ │ vstr d4, [sp, #216] @ 0xd8 │ │ │ │ │ vmul.f64 d4, d6, d8 │ │ │ │ │ vmov.f64 d3, d4 │ │ │ │ │ vmla.f64 d3, d10, d14 │ │ │ │ │ vstr d3, [sp, #280] @ 0x118 │ │ │ │ │ vldr d4, [sp, #64] @ 0x40 │ │ │ │ │ - str r2, [sp, #72] @ 0x48 │ │ │ │ │ - str r1, [sp, #80] @ 0x50 │ │ │ │ │ + str r1, [sp, #72] @ 0x48 │ │ │ │ │ + str r0, [sp, #80] @ 0x50 │ │ │ │ │ vmul.f64 d4, d4, d8 │ │ │ │ │ vmov.f64 d3, d4 │ │ │ │ │ vmul.f64 d4, d7, d14 │ │ │ │ │ vmla.f64 d3, d2, d14 │ │ │ │ │ vmov.f64 d2, d4 │ │ │ │ │ vmul.f64 d4, d6, d14 │ │ │ │ │ vnmls.f64 d2, d12, d8 │ │ │ │ │ - vstr d3, [sp, #608] @ 0x260 │ │ │ │ │ - vldr d3, [sp, #8] │ │ │ │ │ vstr d2, [sp, #504] @ 0x1f8 │ │ │ │ │ vmov.f64 d2, d4 │ │ │ │ │ - vmul.f64 d4, d3, d8 │ │ │ │ │ + vstr d3, [sp, #616] @ 0x268 │ │ │ │ │ + vldr d3, [sp, #8] │ │ │ │ │ vnmls.f64 d2, d10, d8 │ │ │ │ │ + vmul.f64 d4, d3, d8 │ │ │ │ │ vstr d2, [sp, #288] @ 0x120 │ │ │ │ │ vldr d2, [sp, #16] │ │ │ │ │ vmla.f64 d4, d2, d14 │ │ │ │ │ - vstr d4, [sp, #616] @ 0x268 │ │ │ │ │ + vstr d4, [sp, #624] @ 0x270 │ │ │ │ │ vmul.f64 d4, d3, d14 │ │ │ │ │ vldr d3, [sp, #56] @ 0x38 │ │ │ │ │ vnmls.f64 d4, d2, d8 │ │ │ │ │ - vstr d4, [sp, #624] @ 0x270 │ │ │ │ │ + vstr d4, [sp, #632] @ 0x278 │ │ │ │ │ vmul.f64 d4, d7, d8 │ │ │ │ │ vmov.f64 d2, d4 │ │ │ │ │ vldr d4, [sp, #48] @ 0x30 │ │ │ │ │ vmla.f64 d2, d12, d14 │ │ │ │ │ vmul.f64 d4, d4, d14 │ │ │ │ │ vstr d2, [sp, #512] @ 0x200 │ │ │ │ │ vmov.f64 d2, d4 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ vnmls.f64 d2, d3, d8 │ │ │ │ │ - vldr d3, [r8] │ │ │ │ │ + vldr d3, [r6] │ │ │ │ │ vstr d3, [sp, #304] @ 0x130 │ │ │ │ │ - vldr d3, [r2] │ │ │ │ │ - movs r2, #160 @ 0xa0 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ + mov.w r1, r2, lsl #5 │ │ │ │ │ vstr d2, [sp, #224] @ 0xe0 │ │ │ │ │ vmul.f64 d2, d6, d4 │ │ │ │ │ + mov.w r2, r2, lsl #4 │ │ │ │ │ + add.w r0, r5, r1 │ │ │ │ │ + add r1, r6 │ │ │ │ │ + str r0, [sp, #88] @ 0x58 │ │ │ │ │ + str r1, [sp, #96] @ 0x60 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ - add.w r5, r8, r2 │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ vmla.f64 d2, d10, d3 │ │ │ │ │ - movs r2, #80 @ 0x50 │ │ │ │ │ - str r0, [sp, #88] @ 0x58 │ │ │ │ │ - str r5, [sp, #96] @ 0x60 │ │ │ │ │ vnmls.f64 d6, d10, d4 │ │ │ │ │ vldr d10, [r0] │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - add r2, r8 │ │ │ │ │ - adds r0, r1, r3 │ │ │ │ │ + vmov.f64 d4, d6 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + add.w r1, r5, r2 │ │ │ │ │ + add r2, r6 │ │ │ │ │ str r1, [sp, #104] @ 0x68 │ │ │ │ │ - str r0, [sp, #120] @ 0x78 │ │ │ │ │ str r2, [sp, #112] @ 0x70 │ │ │ │ │ - vmov.f64 d4, d6 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - adds r5, r2, r3 │ │ │ │ │ - str r5, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d4, [sp, #136] @ 0x88 │ │ │ │ │ vmul.f64 d3, d5, d6 │ │ │ │ │ vmla.f64 d3, d1, d10 │ │ │ │ │ vmul.f64 d10, d5, d10 │ │ │ │ │ - vstr d4, [sp, #136] @ 0x88 │ │ │ │ │ vnmls.f64 d10, d1, d6 │ │ │ │ │ - vstr d3, [sp, #144] @ 0x90 │ │ │ │ │ vadd.f64 d1, d2, d3 │ │ │ │ │ + vstr d3, [sp, #144] @ 0x90 │ │ │ │ │ vadd.f64 d6, d4, d10 │ │ │ │ │ vldr d4, [r1] │ │ │ │ │ + add r1, r3 │ │ │ │ │ + str r1, [sp, #120] @ 0x78 │ │ │ │ │ vstr d6, [sp, #152] @ 0x98 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ - movs r2, #24 │ │ │ │ │ + add r2, r3 │ │ │ │ │ + str r2, [sp, #128] @ 0x80 │ │ │ │ │ vmul.f64 d5, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ - vmla.f64 d5, d12, d4 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ vnmls.f64 d7, d12, d6 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - vldr d3, [r5] │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ - add.w r5, r8, r2 │ │ │ │ │ - adds r2, r0, r3 │ │ │ │ │ - adds r1, r5, r3 │ │ │ │ │ - str r1, [sp, #680] @ 0x2a8 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + vmla.f64 d5, d12, d4 │ │ │ │ │ + vldr d3, [r2] │ │ │ │ │ + add.w r2, r7, r7, lsl #1 │ │ │ │ │ + str r2, [sp, #576] @ 0x240 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + add.w r1, r5, r2 │ │ │ │ │ + add r2, r6 │ │ │ │ │ vmul.f64 d4, d0, d3 │ │ │ │ │ vmla.f64 d4, d15, d6 │ │ │ │ │ vmul.f64 d6, d0, d6 │ │ │ │ │ vnmls.f64 d6, d15, d3 │ │ │ │ │ - vldr d15, [pc, #976] @ 798 │ │ │ │ │ + vldr d15, [pc, #964] @ 7a0 │ │ │ │ │ vadd.f64 d0, d5, d4 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ - vsub.f64 d12, d1, d0 │ │ │ │ │ vadd.f64 d3, d7, d6 │ │ │ │ │ + vsub.f64 d7, d7, d6 │ │ │ │ │ + vsub.f64 d12, d1, d0 │ │ │ │ │ vadd.f64 d1, d1, d0 │ │ │ │ │ vmul.f64 d4, d5, d13 │ │ │ │ │ - vsub.f64 d7, d7, d6 │ │ │ │ │ - vmul.f64 d12, d12, d15 │ │ │ │ │ - vstr d1, [sp, #328] @ 0x148 │ │ │ │ │ vmul.f64 d6, d7, d13 │ │ │ │ │ + vmul.f64 d12, d12, d15 │ │ │ │ │ vstr d12, [sp, #312] @ 0x138 │ │ │ │ │ vldr d12, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d1, [sp, #328] @ 0x148 │ │ │ │ │ vsub.f64 d12, d12, d3 │ │ │ │ │ vmul.f64 d12, d12, d15 │ │ │ │ │ vmov.f64 d15, #80 @ 0x3e800000 0.250 │ │ │ │ │ vstr d12, [sp, #320] @ 0x140 │ │ │ │ │ - vldr d12, [r7] │ │ │ │ │ + vldr d12, [r5] │ │ │ │ │ vmls.f64 d12, d1, d15 │ │ │ │ │ vldr d1, [sp, #56] @ 0x38 │ │ │ │ │ vstr d12, [sp, #336] @ 0x150 │ │ │ │ │ vldr d12, [sp, #152] @ 0x98 │ │ │ │ │ - str r2, [sp, #152] @ 0x98 │ │ │ │ │ vadd.f64 d12, d12, d3 │ │ │ │ │ vmov.f64 d0, d12 │ │ │ │ │ vldr d12, [sp, #304] @ 0x130 │ │ │ │ │ - vmls.f64 d12, d0, d15 │ │ │ │ │ vstr d0, [sp, #344] @ 0x158 │ │ │ │ │ + vmls.f64 d12, d0, d15 │ │ │ │ │ vstr d12, [sp, #352] @ 0x160 │ │ │ │ │ vldr d12, [sp, #144] @ 0x90 │ │ │ │ │ - str r5, [sp, #144] @ 0x90 │ │ │ │ │ + str r2, [sp, #144] @ 0x90 │ │ │ │ │ vsub.f64 d3, d2, d12 │ │ │ │ │ - vldr d2, [pc, #860] @ 7a0 │ │ │ │ │ + vldr d2, [pc, #848] @ 7a8 │ │ │ │ │ vmov.f64 d12, d4 │ │ │ │ │ vmla.f64 d12, d3, d2 │ │ │ │ │ vmul.f64 d3, d3, d13 │ │ │ │ │ - vstr d12, [sp, #632] @ 0x278 │ │ │ │ │ + vstr d12, [sp, #640] @ 0x280 │ │ │ │ │ vmov.f64 d12, d3 │ │ │ │ │ vnmls.f64 d12, d5, d2 │ │ │ │ │ - vstr d12, [sp, #640] @ 0x280 │ │ │ │ │ + vstr d12, [sp, #648] @ 0x288 │ │ │ │ │ vldr d12, [sp, #136] @ 0x88 │ │ │ │ │ - str r0, [sp, #136] @ 0x88 │ │ │ │ │ + str r1, [sp, #136] @ 0x88 │ │ │ │ │ vsub.f64 d5, d12, d10 │ │ │ │ │ vmla.f64 d6, d5, d2 │ │ │ │ │ vmul.f64 d5, d5, d13 │ │ │ │ │ vnmls.f64 d5, d7, d2 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + add r2, r3 │ │ │ │ │ + vstr d6, [sp, #656] @ 0x290 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ vmul.f64 d12, d11, d7 │ │ │ │ │ - vstr d6, [sp, #648] @ 0x288 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ + add r1, r3 │ │ │ │ │ + str r1, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d5, [sp, #664] @ 0x298 │ │ │ │ │ + str r2, [sp, #688] @ 0x2b0 │ │ │ │ │ vmul.f64 d11, d11, d6 │ │ │ │ │ vmla.f64 d12, d9, d6 │ │ │ │ │ - vstr d5, [sp, #656] @ 0x290 │ │ │ │ │ vnmls.f64 d11, d9, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - vldr d9, [r2] │ │ │ │ │ - movs r2, #144 @ 0x90 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - adds r4, r7, r2 │ │ │ │ │ - add r2, r8 │ │ │ │ │ - adds r0, r2, r3 │ │ │ │ │ - adds r5, r4, r3 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + mov.w r2, r7, lsl #3 │ │ │ │ │ + vldr d9, [r1] │ │ │ │ │ + add.w r1, r2, r7 │ │ │ │ │ + add.w fp, r5, r2 │ │ │ │ │ + mov.w r1, r1, lsl #4 │ │ │ │ │ + add.w r0, r5, r1 │ │ │ │ │ + add r1, r6 │ │ │ │ │ vstr d11, [sp, #192] @ 0xc0 │ │ │ │ │ vldr d11, [sp, #48] @ 0x30 │ │ │ │ │ vmul.f64 d5, d11, d7 │ │ │ │ │ vmul.f64 d6, d11, d9 │ │ │ │ │ vldr d11, [sp, #160] @ 0xa0 │ │ │ │ │ vmov.f64 d10, d5 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ vmla.f64 d10, d1, d9 │ │ │ │ │ vmov.f64 d9, d6 │ │ │ │ │ - vldr d6, [sp, #168] @ 0xa8 │ │ │ │ │ vnmls.f64 d9, d1, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - str r4, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ - vmul.f64 d2, d11, d7 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + vldr d6, [sp, #168] @ 0xa8 │ │ │ │ │ + str r0, [sp, #48] @ 0x30 │ │ │ │ │ + add r0, r3 │ │ │ │ │ + str r1, [sp, #56] @ 0x38 │ │ │ │ │ + add r1, r3 │ │ │ │ │ vldr d1, [sp, #184] @ 0xb8 │ │ │ │ │ + vmul.f64 d2, d11, d7 │ │ │ │ │ + str r0, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ + str r1, [sp, #168] @ 0xa8 │ │ │ │ │ + mov.w r1, #104 @ 0x68 │ │ │ │ │ + vldr d3, [sp, #208] @ 0xd0 │ │ │ │ │ + mul.w r1, r7, r1 │ │ │ │ │ vmla.f64 d2, d6, d5 │ │ │ │ │ vmul.f64 d5, d11, d5 │ │ │ │ │ - str r2, [sp, #56] @ 0x38 │ │ │ │ │ - movs r2, #104 @ 0x68 │ │ │ │ │ vldr d11, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d3, [sp, #208] @ 0xd0 │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ vmul.f64 d6, d1, d4 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - str r5, [sp, #160] @ 0xa0 │ │ │ │ │ + add.w r0, r5, r1 │ │ │ │ │ + add r1, r6 │ │ │ │ │ + str r0, [sp, #176] @ 0xb0 │ │ │ │ │ + str r1, [sp, #184] @ 0xb8 │ │ │ │ │ vmla.f64 d6, d11, d7 │ │ │ │ │ vmul.f64 d7, d1, d7 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - add r2, r8 │ │ │ │ │ - str r2, [sp, #184] @ 0xb8 │ │ │ │ │ - str r0, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d1, [r0] │ │ │ │ │ + add.w r0, r6, r2 │ │ │ │ │ + sub.w r2, r2, r7 │ │ │ │ │ + mov.w r2, r2, lsl #4 │ │ │ │ │ vnmls.f64 d7, d11, d4 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ + add.w r1, fp, r3 │ │ │ │ │ vldr d11, [sp, #200] @ 0xc8 │ │ │ │ │ - mov.w r2, r9, lsl #3 │ │ │ │ │ - vldr d1, [r1] │ │ │ │ │ - add.w r5, r8, r2 │ │ │ │ │ - add.w fp, r7, r2 │ │ │ │ │ - str r1, [sp, #176] @ 0xb0 │ │ │ │ │ vmul.f64 d0, d11, d4 │ │ │ │ │ - adds r1, r5, r3 │ │ │ │ │ vmla.f64 d0, d3, d1 │ │ │ │ │ vmul.f64 d1, d11, d1 │ │ │ │ │ - add.w r4, fp, r3 │ │ │ │ │ - mov.w r2, r9, lsl #7 │ │ │ │ │ - add.w r0, r8, r2 │ │ │ │ │ vnmls.f64 d1, d3, d4 │ │ │ │ │ vsub.f64 d3, d9, d7 │ │ │ │ │ vadd.f64 d7, d9, d7 │ │ │ │ │ vsub.f64 d4, d0, d2 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ + vsub.f64 d11, d1, d5 │ │ │ │ │ + vadd.f64 d5, d5, d1 │ │ │ │ │ vstr d4, [sp, #208] @ 0xd0 │ │ │ │ │ vsub.f64 d4, d10, d6 │ │ │ │ │ vadd.f64 d6, d10, d6 │ │ │ │ │ - vsub.f64 d11, d1, d5 │ │ │ │ │ - vadd.f64 d5, d5, d1 │ │ │ │ │ - vldr d10, [pc, #540] @ 7a0 │ │ │ │ │ - vadd.f64 d0, d6, d2 │ │ │ │ │ - vstr d11, [sp, #200] @ 0xc8 │ │ │ │ │ vadd.f64 d1, d7, d5 │ │ │ │ │ + vstr d11, [sp, #200] @ 0xc8 │ │ │ │ │ + vsub.f64 d7, d7, d5 │ │ │ │ │ vldr d11, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d10, [pc, #500] @ 7a8 │ │ │ │ │ + vadd.f64 d0, d6, d2 │ │ │ │ │ vsub.f64 d6, d6, d2 │ │ │ │ │ - vldr d2, [pc, #508] @ 798 │ │ │ │ │ - vsub.f64 d7, d7, d5 │ │ │ │ │ + vldr d2, [pc, #480] @ 7a0 │ │ │ │ │ vadd.f64 d9, d12, d0 │ │ │ │ │ vmls.f64 d12, d0, d15 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ - vstr d9, [sp, #664] @ 0x298 │ │ │ │ │ + vstr d9, [sp, #672] @ 0x2a0 │ │ │ │ │ vldr d9, [sp, #192] @ 0xc0 │ │ │ │ │ - vadd.f64 d9, d9, d1 │ │ │ │ │ vadd.f64 d0, d6, d12 │ │ │ │ │ - vstr d9, [sp, #672] @ 0x2a0 │ │ │ │ │ + vadd.f64 d9, d9, d1 │ │ │ │ │ + vstr d9, [sp, #680] @ 0x2a8 │ │ │ │ │ vmul.f64 d9, d11, d13 │ │ │ │ │ vmla.f64 d9, d3, d10 │ │ │ │ │ vmul.f64 d3, d3, d13 │ │ │ │ │ vnmls.f64 d3, d11, d10 │ │ │ │ │ vmov.f64 d10, d2 │ │ │ │ │ vsub.f64 d2, d12, d6 │ │ │ │ │ - vadd.f64 d11, d9, d0 │ │ │ │ │ vmul.f64 d7, d7, d10 │ │ │ │ │ + vadd.f64 d11, d9, d0 │ │ │ │ │ vsub.f64 d9, d0, d9 │ │ │ │ │ vstr d11, [sp, #360] @ 0x168 │ │ │ │ │ vadd.f64 d11, d3, d2 │ │ │ │ │ - vstr d9, [sp, #376] @ 0x178 │ │ │ │ │ - vldr d9, [sp, #192] @ 0xc0 │ │ │ │ │ - vmls.f64 d9, d1, d15 │ │ │ │ │ vstr d11, [sp, #368] @ 0x170 │ │ │ │ │ vsub.f64 d11, d2, d3 │ │ │ │ │ vldr d2, [sp, #208] @ 0xd0 │ │ │ │ │ - vldr d3, [pc, #408] @ 7a0 │ │ │ │ │ - vmul.f64 d6, d2, d13 │ │ │ │ │ + vstr d9, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d9, [sp, #192] @ 0xc0 │ │ │ │ │ + vldr d3, [pc, #388] @ 7a8 │ │ │ │ │ vstr d11, [sp, #384] @ 0x180 │ │ │ │ │ + vmul.f64 d6, d2, d13 │ │ │ │ │ + vmls.f64 d9, d1, d15 │ │ │ │ │ vmla.f64 d6, d4, d3 │ │ │ │ │ vmul.f64 d4, d4, d13 │ │ │ │ │ - vsub.f64 d5, d9, d7 │ │ │ │ │ vnmls.f64 d4, d2, d3 │ │ │ │ │ vadd.f64 d3, d7, d9 │ │ │ │ │ + vsub.f64 d5, d9, d7 │ │ │ │ │ vsub.f64 d7, d3, d6 │ │ │ │ │ vadd.f64 d9, d6, d3 │ │ │ │ │ + vadd.f64 d6, d4, d5 │ │ │ │ │ vstr d7, [sp, #392] @ 0x188 │ │ │ │ │ vsub.f64 d7, d5, d4 │ │ │ │ │ - vadd.f64 d6, d4, d5 │ │ │ │ │ - vstr d9, [sp, #408] @ 0x198 │ │ │ │ │ - vldr d9, [r6, #-120] @ 0xffffff88 │ │ │ │ │ vstr d7, [sp, #400] @ 0x190 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ + vstr d9, [sp, #408] @ 0x198 │ │ │ │ │ vstr d6, [sp, #416] @ 0x1a0 │ │ │ │ │ vldr d6, [fp] │ │ │ │ │ - vmul.f64 d12, d9, d7 │ │ │ │ │ - vldr d9, [r6, #-128] @ 0xffffff80 │ │ │ │ │ - vldr d4, [sp, #32] │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + str r0, [sp, #192] @ 0xc0 │ │ │ │ │ + add r0, r3 │ │ │ │ │ + vldr d9, [r4, #-120] @ 0xffffff88 │ │ │ │ │ + str r1, [sp, #200] @ 0xc8 │ │ │ │ │ vldr d0, [sp, #24] │ │ │ │ │ - vmla.f64 d12, d9, d6 │ │ │ │ │ - vldr d9, [r6, #-120] @ 0xffffff88 │ │ │ │ │ - str r1, [sp, #208] @ 0xd0 │ │ │ │ │ - str r5, [sp, #192] @ 0xc0 │ │ │ │ │ - vmul.f64 d6, d9, d6 │ │ │ │ │ + str r0, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d4, [sp, #32] │ │ │ │ │ + vmul.f64 d12, d9, d7 │ │ │ │ │ + vldr d9, [r4, #-128] @ 0xffffff80 │ │ │ │ │ vldr d1, [sp, #240] @ 0xf0 │ │ │ │ │ - str r0, [sp, #32] │ │ │ │ │ - vldr d3, [sp, #272] @ 0x110 │ │ │ │ │ vldr d10, [sp, #264] @ 0x108 │ │ │ │ │ + vmla.f64 d12, d9, d6 │ │ │ │ │ + vldr d9, [r4, #-120] @ 0xffffff88 │ │ │ │ │ + vldr d3, [sp, #272] @ 0x110 │ │ │ │ │ + vmul.f64 d6, d9, d6 │ │ │ │ │ vmov.f64 d9, d6 │ │ │ │ │ - vldr d6, [r6, #-128] @ 0xffffff80 │ │ │ │ │ - str r4, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d6, [r4, #-128] @ 0xffffff80 │ │ │ │ │ vnmls.f64 d9, d6, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ vldr d6, [sp, #216] @ 0xd8 │ │ │ │ │ - adds r2, r0, r3 │ │ │ │ │ - adds r5, r1, r3 │ │ │ │ │ vmul.f64 d11, d4, d7 │ │ │ │ │ - str r5, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - str r1, [sp, #24] │ │ │ │ │ vstr d9, [sp, #256] @ 0x100 │ │ │ │ │ - vldr d9, [r4] │ │ │ │ │ - mov.w r4, r9, lsl #5 │ │ │ │ │ - add.w r1, r4, r8 │ │ │ │ │ - add.w sl, r7, r4 │ │ │ │ │ + vldr d9, [r1] │ │ │ │ │ + mov.w r1, r7, lsl #7 │ │ │ │ │ + add.w r0, r5, r1 │ │ │ │ │ + add r1, r6 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + str r1, [sp, #24] │ │ │ │ │ vmla.f64 d11, d0, d9 │ │ │ │ │ vmul.f64 d9, d4, d9 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ + str r0, [sp, #32] │ │ │ │ │ vnmls.f64 d9, d0, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + mov r1, r0 │ │ │ │ │ + add r1, r3 │ │ │ │ │ vldr d0, [sp, #224] @ 0xe0 │ │ │ │ │ - str r2, [sp, #224] @ 0xe0 │ │ │ │ │ - movs r2, #88 @ 0x58 │ │ │ │ │ + str r1, [sp, #216] @ 0xd8 │ │ │ │ │ vmul.f64 d2, d0, d7 │ │ │ │ │ vmla.f64 d2, d6, d5 │ │ │ │ │ vmul.f64 d5, d0, d5 │ │ │ │ │ vldr d0, [sp, #232] @ 0xe8 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ - str r0, [sp, #232] @ 0xe8 │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + ldr r1, [sp, #24] │ │ │ │ │ + add r1, r3 │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ + str r1, [sp, #224] @ 0xe0 │ │ │ │ │ + mov.w r1, #88 @ 0x58 │ │ │ │ │ + mul.w r1, r7, r1 │ │ │ │ │ vmul.f64 d6, d1, d4 │ │ │ │ │ - add.w r5, r8, r2 │ │ │ │ │ - str r5, [sp, #240] @ 0xf0 │ │ │ │ │ - add.w r2, sl, r3 │ │ │ │ │ + add.w r0, r5, r1 │ │ │ │ │ + add r1, r6 │ │ │ │ │ + str r0, [sp, #232] @ 0xe8 │ │ │ │ │ + str r1, [sp, #240] @ 0xf0 │ │ │ │ │ vmla.f64 d6, d0, d7 │ │ │ │ │ vmul.f64 d7, d1, d7 │ │ │ │ │ vldr d1, [r0] │ │ │ │ │ + mov.w r0, r7, lsl #5 │ │ │ │ │ + add.w sl, r5, r0 │ │ │ │ │ + add r0, r6 │ │ │ │ │ vnmls.f64 d7, d0, d4 │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ + add.w r1, sl, r3 │ │ │ │ │ vmul.f64 d0, d3, d4 │ │ │ │ │ vmla.f64 d0, d10, d1 │ │ │ │ │ vmul.f64 d1, d3, d1 │ │ │ │ │ + vsub.f64 d3, d9, d7 │ │ │ │ │ + vadd.f64 d7, d9, d7 │ │ │ │ │ vnmls.f64 d1, d10, d4 │ │ │ │ │ vsub.f64 d4, d11, d6 │ │ │ │ │ vadd.f64 d6, d11, d6 │ │ │ │ │ - vsub.f64 d3, d9, d7 │ │ │ │ │ - vadd.f64 d7, d9, d7 │ │ │ │ │ - vstr d6, [sp, #264] @ 0x108 │ │ │ │ │ vsub.f64 d10, d1, d5 │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ vstr d10, [sp, #272] @ 0x110 │ │ │ │ │ vsub.f64 d10, d0, d2 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ + vldr d9, [sp, #256] @ 0x100 │ │ │ │ │ vadd.f64 d1, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ + vstr d6, [sp, #264] @ 0x108 │ │ │ │ │ vadd.f64 d0, d6, d2 │ │ │ │ │ + vadd.f64 d11, d9, d1 │ │ │ │ │ vadd.f64 d6, d12, d0 │ │ │ │ │ vmls.f64 d12, d0, d15 │ │ │ │ │ + b.n 7b8 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x9b97f4a8 │ │ │ │ │ + .word 0x3fe1e377 │ │ │ │ │ + .word 0x134454ff │ │ │ │ │ + .word 0x3fee6f0e │ │ │ │ │ + .word 0x9b97f4a8 │ │ │ │ │ + .word 0x3fe1e377 │ │ │ │ │ vstr d6, [sp, #424] @ 0x1a8 │ │ │ │ │ - vldr d9, [sp, #256] @ 0x100 │ │ │ │ │ vldr d6, [sp, #272] @ 0x110 │ │ │ │ │ - vadd.f64 d11, d9, d1 │ │ │ │ │ - vmul.f64 d9, d6, d13 │ │ │ │ │ vstr d11, [sp, #432] @ 0x1b0 │ │ │ │ │ - vldr d11, [pc, #32] @ 7a0 │ │ │ │ │ + vldr d11, [pc, #-32] @ 7a8 │ │ │ │ │ + vmul.f64 d9, d6, d13 │ │ │ │ │ vmla.f64 d9, d3, d11 │ │ │ │ │ vmul.f64 d3, d3, d13 │ │ │ │ │ vnmls.f64 d3, d6, d11 │ │ │ │ │ vldr d6, [sp, #264] @ 0x108 │ │ │ │ │ - b.n 7b0 │ │ │ │ │ - nop.w │ │ │ │ │ - .word 0x9b97f4a8 │ │ │ │ │ - .word 0x3fe1e377 │ │ │ │ │ - .word 0x134454ff │ │ │ │ │ - .word 0x3fee6f0e │ │ │ │ │ - .word 0x9b97f4a8 │ │ │ │ │ - .word 0x3fe1e377 │ │ │ │ │ vsub.f64 d6, d6, d2 │ │ │ │ │ - vldr d2, [pc, #-16] @ 7a8 │ │ │ │ │ + vldr d2, [pc, #-52] @ 7b0 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ vadd.f64 d0, d6, d12 │ │ │ │ │ vsub.f64 d2, d12, d6 │ │ │ │ │ vadd.f64 d6, d9, d0 │ │ │ │ │ vsub.f64 d0, d0, d9 │ │ │ │ │ vldr d9, [sp, #256] @ 0x100 │ │ │ │ │ - vmls.f64 d9, d1, d15 │ │ │ │ │ vstr d6, [sp, #440] @ 0x1b8 │ │ │ │ │ vadd.f64 d6, d3, d2 │ │ │ │ │ - vstr d0, [sp, #456] @ 0x1c8 │ │ │ │ │ - vsub.f64 d0, d2, d3 │ │ │ │ │ - vldr d2, [pc, #-64] @ 7a8 │ │ │ │ │ + vmls.f64 d9, d1, d15 │ │ │ │ │ vstr d6, [sp, #448] @ 0x1c0 │ │ │ │ │ vmul.f64 d6, d10, d13 │ │ │ │ │ + vstr d0, [sp, #456] @ 0x1c8 │ │ │ │ │ + vsub.f64 d0, d2, d3 │ │ │ │ │ + vldr d2, [pc, #-108] @ 7b0 │ │ │ │ │ + vmov.f64 d5, d9 │ │ │ │ │ + vldr d9, [r1] │ │ │ │ │ vmla.f64 d6, d4, d11 │ │ │ │ │ vmul.f64 d4, d4, d13 │ │ │ │ │ - vmul.f64 d7, d7, d2 │ │ │ │ │ vstr d0, [sp, #464] @ 0x1d0 │ │ │ │ │ + vmul.f64 d7, d7, d2 │ │ │ │ │ vldr d0, [sp, #288] @ 0x120 │ │ │ │ │ vnmls.f64 d4, d10, d11 │ │ │ │ │ - vadd.f64 d3, d7, d9 │ │ │ │ │ - vsub.f64 d5, d9, d7 │ │ │ │ │ - vldr d9, [r2] │ │ │ │ │ + vadd.f64 d3, d7, d5 │ │ │ │ │ + vsub.f64 d5, d5, d7 │ │ │ │ │ vsub.f64 d10, d3, d6 │ │ │ │ │ vsub.f64 d7, d5, d4 │ │ │ │ │ vadd.f64 d5, d4, d5 │ │ │ │ │ vstr d10, [sp, #472] @ 0x1d8 │ │ │ │ │ vadd.f64 d10, d6, d3 │ │ │ │ │ - vldr d6, [sl] │ │ │ │ │ vstr d7, [sp, #480] @ 0x1e0 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + vldr d6, [sl] │ │ │ │ │ + vstr d10, [sp, #488] @ 0x1e8 │ │ │ │ │ vstr d5, [sp, #496] @ 0x1f0 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ vldr d5, [sp] │ │ │ │ │ - vstr d10, [sp, #488] @ 0x1e8 │ │ │ │ │ + str r0, [sp, #0] │ │ │ │ │ + add r0, r3 │ │ │ │ │ vldr d10, [sp, #248] @ 0xf8 │ │ │ │ │ + str r1, [sp, #248] @ 0xf8 │ │ │ │ │ + mov.w r1, #152 @ 0x98 │ │ │ │ │ + str r0, [sp, #256] @ 0x100 │ │ │ │ │ + mul.w r1, r7, r1 │ │ │ │ │ vmul.f64 d12, d5, d7 │ │ │ │ │ - str r1, [sp, #0] │ │ │ │ │ - add r1, r3 │ │ │ │ │ - str r1, [sp, #256] @ 0x100 │ │ │ │ │ + add.w r9, r5, r1 │ │ │ │ │ + add r1, r6 │ │ │ │ │ vmla.f64 d12, d10, d6 │ │ │ │ │ vmul.f64 d6, d5, d6 │ │ │ │ │ - vldr d5, [r6, #-88] @ 0xffffffa8 │ │ │ │ │ - str r2, [sp, #248] @ 0xf8 │ │ │ │ │ - movs r2, #112 @ 0x70 │ │ │ │ │ + vldr d5, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ vnmls.f64 d6, d10, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - movs r1, #152 @ 0x98 │ │ │ │ │ - vldr d10, [sp, #280] @ 0x118 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + add.w r0, r9, r3 │ │ │ │ │ vmul.f64 d11, d5, d7 │ │ │ │ │ - vldr d5, [r6, #-96] @ 0xffffffa0 │ │ │ │ │ - mul.w r1, r1, r9 │ │ │ │ │ + vldr d5, [r4, #-96] @ 0xffffffa0 │ │ │ │ │ + vstr d6, [sp, #296] @ 0x128 │ │ │ │ │ vmla.f64 d11, d5, d9 │ │ │ │ │ - vldr d5, [r6, #-88] @ 0xffffffa8 │ │ │ │ │ - add.w lr, r7, r1 │ │ │ │ │ - add r1, r8 │ │ │ │ │ - adds r5, r1, r3 │ │ │ │ │ - add.w r0, lr, r3 │ │ │ │ │ + vldr d5, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ vmul.f64 d9, d5, d9 │ │ │ │ │ - vldr d5, [r6, #-96] @ 0xffffffa0 │ │ │ │ │ - str r0, [sp, #264] @ 0x108 │ │ │ │ │ - vstr d6, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d5, [r4, #-96] @ 0xffffffa0 │ │ │ │ │ vnmls.f64 d9, d5, d7 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - vldr d5, [lr] │ │ │ │ │ + vldr d5, [r9] │ │ │ │ │ + vldr d10, [sp, #280] @ 0x118 │ │ │ │ │ + str r0, [sp, #264] @ 0x108 │ │ │ │ │ vmul.f64 d2, d0, d7 │ │ │ │ │ vmla.f64 d2, d10, d5 │ │ │ │ │ vmul.f64 d5, d0, d5 │ │ │ │ │ vnmls.f64 d5, d10, d7 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ - add r2, r8 │ │ │ │ │ + add.w r0, r1, r3 │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ + str r0, [sp, #272] @ 0x110 │ │ │ │ │ + add.w r0, r5, r2 │ │ │ │ │ + add r2, r6 │ │ │ │ │ vldr d10, [sp, #504] @ 0x1f8 │ │ │ │ │ str r0, [sp, #280] @ 0x118 │ │ │ │ │ - vmul.f64 d6, d8, d4 │ │ │ │ │ vldr d1, [r0] │ │ │ │ │ + str r2, [sp, #288] @ 0x120 │ │ │ │ │ + vmul.f64 d6, d8, d4 │ │ │ │ │ vmla.f64 d6, d14, d7 │ │ │ │ │ vmul.f64 d7, d8, d7 │ │ │ │ │ - mov.w r0, r9, lsl #4 │ │ │ │ │ - str r2, [sp, #288] @ 0x120 │ │ │ │ │ - add.w ip, r7, r0 │ │ │ │ │ - add r0, r8 │ │ │ │ │ - str r5, [sp, #272] @ 0x110 │ │ │ │ │ - add.w r5, ip, r3 │ │ │ │ │ vnmls.f64 d7, d14, d4 │ │ │ │ │ vldr d4, [r2] │ │ │ │ │ + mov.w r2, r7, lsl #4 │ │ │ │ │ vldr d14, [sp, #512] @ 0x200 │ │ │ │ │ - adds r2, r0, r3 │ │ │ │ │ + add.w lr, r6, r2 │ │ │ │ │ + add.w r8, r5, r2 │ │ │ │ │ + add.w r0, r8, r3 │ │ │ │ │ + add r2, r7 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ vmul.f64 d0, d10, d4 │ │ │ │ │ - vmla.f64 d0, d14, d1 │ │ │ │ │ - vmul.f64 d1, d10, d1 │ │ │ │ │ - vnmls.f64 d1, d14, d4 │ │ │ │ │ + add.w ip, r5, r2 │ │ │ │ │ + add r2, r6 │ │ │ │ │ vsub.f64 d3, d9, d7 │ │ │ │ │ vadd.f64 d7, d9, d7 │ │ │ │ │ vldr d9, [sp, #296] @ 0x128 │ │ │ │ │ + vmla.f64 d0, d14, d1 │ │ │ │ │ + vmul.f64 d1, d10, d1 │ │ │ │ │ + vnmls.f64 d1, d14, d4 │ │ │ │ │ vsub.f64 d4, d11, d6 │ │ │ │ │ vadd.f64 d6, d11, d6 │ │ │ │ │ - vldr d11, [pc, #-388] @ 7a0 │ │ │ │ │ + vldr d11, [pc, #-440] @ 7a8 │ │ │ │ │ vsub.f64 d10, d0, d2 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ vsub.f64 d8, d1, d5 │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ vadd.f64 d0, d6, d2 │ │ │ │ │ vsub.f64 d6, d6, d2 │ │ │ │ │ vadd.f64 d1, d7, d5 │ │ │ │ │ @@ -650,768 +657,770 @@ │ │ │ │ │ vmls.f64 d12, d0, d15 │ │ │ │ │ vadd.f64 d9, d9, d1 │ │ │ │ │ vstr d9, [sp, #504] @ 0x1f8 │ │ │ │ │ vmul.f64 d9, d8, d13 │ │ │ │ │ vmla.f64 d9, d3, d11 │ │ │ │ │ vmul.f64 d3, d3, d13 │ │ │ │ │ vnmls.f64 d3, d8, d11 │ │ │ │ │ - vldr d8, [pc, #-448] @ 7a8 │ │ │ │ │ + vldr d8, [pc, #-500] @ 7b0 │ │ │ │ │ vmul.f64 d6, d6, d8 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ vadd.f64 d0, d6, d12 │ │ │ │ │ vsub.f64 d2, d12, d6 │ │ │ │ │ vadd.f64 d6, d9, d0 │ │ │ │ │ vsub.f64 d0, d0, d9 │ │ │ │ │ vldr d9, [sp, #296] @ 0x128 │ │ │ │ │ - vmls.f64 d9, d1, d15 │ │ │ │ │ - vldr d1, [sp, #8] │ │ │ │ │ - str r5, [sp, #8] │ │ │ │ │ vstr d6, [sp, #512] @ 0x200 │ │ │ │ │ vadd.f64 d6, d3, d2 │ │ │ │ │ + vmls.f64 d9, d1, d15 │ │ │ │ │ + vldr d1, [sp, #8] │ │ │ │ │ + str r0, [sp, #8] │ │ │ │ │ + vstr d6, [sp, #520] @ 0x208 │ │ │ │ │ + vmul.f64 d6, d10, d13 │ │ │ │ │ vstr d0, [sp, #528] @ 0x210 │ │ │ │ │ vsub.f64 d0, d2, d3 │ │ │ │ │ vldr d2, [sp, #16] │ │ │ │ │ - str r2, [sp, #16] │ │ │ │ │ - vstr d6, [sp, #520] @ 0x208 │ │ │ │ │ - vmul.f64 d6, d10, d13 │ │ │ │ │ + vmov.f64 d7, d9 │ │ │ │ │ + vldr d9, [r0] │ │ │ │ │ + add.w r0, lr, r3 │ │ │ │ │ vmla.f64 d6, d4, d11 │ │ │ │ │ vmul.f64 d4, d4, d13 │ │ │ │ │ - vsub.f64 d7, d9, d5 │ │ │ │ │ - vadd.f64 d3, d5, d9 │ │ │ │ │ - vldr d9, [r5] │ │ │ │ │ + str r0, [sp, #16] │ │ │ │ │ vstr d0, [sp, #536] @ 0x218 │ │ │ │ │ + vadd.f64 d3, d5, d7 │ │ │ │ │ + vsub.f64 d7, d7, d5 │ │ │ │ │ vnmls.f64 d4, d10, d11 │ │ │ │ │ vsub.f64 d10, d3, d6 │ │ │ │ │ vsub.f64 d5, d7, d4 │ │ │ │ │ vstr d10, [sp, #544] @ 0x220 │ │ │ │ │ vadd.f64 d10, d6, d3 │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ + vldr d6, [r8] │ │ │ │ │ vstr d5, [sp, #552] @ 0x228 │ │ │ │ │ vadd.f64 d5, d4, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ + vldr d7, [lr] │ │ │ │ │ vstr d10, [sp, #560] @ 0x230 │ │ │ │ │ vstr d5, [sp, #568] @ 0x238 │ │ │ │ │ vmul.f64 d5, d1, d7 │ │ │ │ │ vmla.f64 d5, d2, d6 │ │ │ │ │ vmul.f64 d6, d1, d6 │ │ │ │ │ vnmls.f64 d6, d2, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - movs r2, #136 @ 0x88 │ │ │ │ │ - vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + add.w r0, ip, r3 │ │ │ │ │ + add r3, r2 │ │ │ │ │ vmov.f64 d12, d5 │ │ │ │ │ - adds r5, r7, r2 │ │ │ │ │ - add r2, r8 │ │ │ │ │ - adds r4, r5, r3 │ │ │ │ │ - adds r3, r2, r3 │ │ │ │ │ vstr d6, [sp, #584] @ 0x248 │ │ │ │ │ vldr d6, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ + vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ + str r0, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d5, [ip] │ │ │ │ │ + str r3, [sp, #64] @ 0x40 │ │ │ │ │ vmul.f64 d11, d6, d7 │ │ │ │ │ + vldr d4, [sp, #608] @ 0x260 │ │ │ │ │ + vldr d10, [sp, #600] @ 0x258 │ │ │ │ │ + vldr d3, [sp, #616] @ 0x268 │ │ │ │ │ vmla.f64 d11, d2, d9 │ │ │ │ │ vmul.f64 d9, d6, d9 │ │ │ │ │ + vldr d1, [sp, #632] @ 0x278 │ │ │ │ │ vnmls.f64 d9, d2, d7 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - vldr d4, [sp, #600] @ 0x258 │ │ │ │ │ - vldr d3, [sp, #608] @ 0x260 │ │ │ │ │ - vldr d1, [sp, #624] @ 0x270 │ │ │ │ │ vmul.f64 d2, d4, d7 │ │ │ │ │ - str r3, [sp, #64] @ 0x40 │ │ │ │ │ vmla.f64 d2, d3, d5 │ │ │ │ │ vmul.f64 d5, d4, d5 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ - movs r3, #96 @ 0x60 │ │ │ │ │ - str r4, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d10, [sp, #592] @ 0x250 │ │ │ │ │ + ldr r3, [sp, #576] @ 0x240 │ │ │ │ │ + vstr d12, [sp, #576] @ 0x240 │ │ │ │ │ vnmls.f64 d5, d3, d7 │ │ │ │ │ - vldr d3, [sp, #616] @ 0x268 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ vmul.f64 d6, d1, d4 │ │ │ │ │ - mul.w r3, r3, r9 │ │ │ │ │ + vldr d3, [sp, #624] @ 0x270 │ │ │ │ │ + mov.w r3, r3, lsl #5 │ │ │ │ │ + add.w r0, r5, r3 │ │ │ │ │ + add r3, r6 │ │ │ │ │ + str r0, [sp, #296] @ 0x128 │ │ │ │ │ vmla.f64 d6, d3, d7 │ │ │ │ │ vmul.f64 d7, d1, d7 │ │ │ │ │ - adds r4, r7, r3 │ │ │ │ │ - add r3, r8 │ │ │ │ │ - str r4, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d1, [r0] │ │ │ │ │ vnmls.f64 d7, d3, d4 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ - vldr d3, [sp, #576] @ 0x240 │ │ │ │ │ - vldr d1, [r4] │ │ │ │ │ + vldr d3, [sp, #592] @ 0x250 │ │ │ │ │ vmul.f64 d0, d10, d4 │ │ │ │ │ - vstr d12, [sp, #576] @ 0x240 │ │ │ │ │ vmla.f64 d0, d3, d1 │ │ │ │ │ vmul.f64 d1, d10, d1 │ │ │ │ │ vnmls.f64 d1, d3, d4 │ │ │ │ │ vsub.f64 d3, d9, d7 │ │ │ │ │ vadd.f64 d7, d9, d7 │ │ │ │ │ vsub.f64 d4, d11, d6 │ │ │ │ │ - vadd.f64 d6, d11, d6 │ │ │ │ │ vldr d9, [sp, #584] @ 0x248 │ │ │ │ │ + vadd.f64 d6, d11, d6 │ │ │ │ │ vsub.f64 d10, d0, d2 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ vsub.f64 d8, d1, d5 │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ vadd.f64 d0, d6, d2 │ │ │ │ │ vsub.f64 d6, d6, d2 │ │ │ │ │ vldr d2, [sp, #576] @ 0x240 │ │ │ │ │ vadd.f64 d1, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ + vldr d5, [sp, #584] @ 0x248 │ │ │ │ │ vadd.f64 d11, d12, d0 │ │ │ │ │ - vldr d12, [pc, #-836] @ 7a0 │ │ │ │ │ vmls.f64 d2, d0, d15 │ │ │ │ │ - vldr d5, [sp, #584] @ 0x248 │ │ │ │ │ + vldr d12, [pc, #-900] @ 7a8 │ │ │ │ │ vadd.f64 d9, d9, d1 │ │ │ │ │ vmls.f64 d5, d1, d15 │ │ │ │ │ + vmov.f64 d1, d12 │ │ │ │ │ vstr d9, [sp, #592] @ 0x250 │ │ │ │ │ vmul.f64 d9, d8, d13 │ │ │ │ │ vmla.f64 d9, d3, d12 │ │ │ │ │ vmul.f64 d3, d3, d13 │ │ │ │ │ vnmls.f64 d3, d8, d12 │ │ │ │ │ - vldr d8, [pc, #-868] @ 7a8 │ │ │ │ │ + vldr d8, [pc, #-928] @ 7b0 │ │ │ │ │ vmul.f64 d6, d6, d8 │ │ │ │ │ vadd.f64 d0, d6, d2 │ │ │ │ │ vsub.f64 d2, d2, d6 │ │ │ │ │ vadd.f64 d6, d9, d0 │ │ │ │ │ vsub.f64 d9, d0, d9 │ │ │ │ │ vstr d6, [sp, #576] @ 0x240 │ │ │ │ │ vadd.f64 d6, d3, d2 │ │ │ │ │ vsub.f64 d3, d2, d3 │ │ │ │ │ vmov.f64 d2, d12 │ │ │ │ │ + vldr d12, [sp, #680] @ 0x2a8 │ │ │ │ │ vstr d6, [sp, #600] @ 0x258 │ │ │ │ │ vmul.f64 d6, d10, d13 │ │ │ │ │ - vmla.f64 d6, d4, d12 │ │ │ │ │ vstr d3, [sp, #608] @ 0x260 │ │ │ │ │ - vmul.f64 d4, d4, d13 │ │ │ │ │ vmul.f64 d3, d7, d8 │ │ │ │ │ - vmov.f64 d1, d2 │ │ │ │ │ - vnmls.f64 d4, d10, d12 │ │ │ │ │ + vmla.f64 d6, d4, d2 │ │ │ │ │ + vmul.f64 d4, d4, d13 │ │ │ │ │ vadd.f64 d0, d3, d5 │ │ │ │ │ - vmov.f64 d10, d8 │ │ │ │ │ vsub.f64 d7, d5, d3 │ │ │ │ │ - vldr d12, [sp, #672] @ 0x2a0 │ │ │ │ │ vldr d3, [sp, #432] @ 0x1b0 │ │ │ │ │ + vnmls.f64 d4, d10, d2 │ │ │ │ │ + vmov.f64 d10, d8 │ │ │ │ │ vsub.f64 d8, d0, d6 │ │ │ │ │ vadd.f64 d0, d6, d0 │ │ │ │ │ vstr d8, [sp, #584] @ 0x248 │ │ │ │ │ vsub.f64 d8, d7, d4 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ vldr d7, [sp, #592] @ 0x250 │ │ │ │ │ vstr d8, [sp, #616] @ 0x268 │ │ │ │ │ - vsub.f64 d7, d7, d12 │ │ │ │ │ vldr d8, [sp, #504] @ 0x1f8 │ │ │ │ │ + vsub.f64 d7, d7, d12 │ │ │ │ │ vstr d4, [sp, #624] @ 0x270 │ │ │ │ │ - vldr d4, [r7] │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ + ldr r0, [sp, #104] @ 0x68 │ │ │ │ │ vsub.f64 d6, d3, d8 │ │ │ │ │ vmul.f64 d5, d7, d13 │ │ │ │ │ vldr d3, [sp, #424] @ 0x1a8 │ │ │ │ │ + vldr d8, [sp, #672] @ 0x2a0 │ │ │ │ │ vmla.f64 d5, d6, d2 │ │ │ │ │ vmul.f64 d6, d6, d13 │ │ │ │ │ vnmls.f64 d6, d7, d2 │ │ │ │ │ vldr d2, [sp, #328] @ 0x148 │ │ │ │ │ - vldr d8, [sp, #664] @ 0x298 │ │ │ │ │ vadd.f64 d7, d3, d14 │ │ │ │ │ - ldr r4, [sp, #104] @ 0x68 │ │ │ │ │ vadd.f64 d4, d4, d2 │ │ │ │ │ vadd.f64 d2, d8, d11 │ │ │ │ │ vsub.f64 d11, d11, d8 │ │ │ │ │ vldr d8, [sp, #504] @ 0x1f8 │ │ │ │ │ vadd.f64 d3, d7, d2 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ vmov.f64 d2, d4 │ │ │ │ │ vmls.f64 d2, d3, d15 │ │ │ │ │ vmul.f64 d7, d7, d10 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ - vstr d4, [r7] │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ vsub.f64 d4, d2, d7 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ vldr d2, [sp, #344] @ 0x158 │ │ │ │ │ vsub.f64 d3, d4, d6 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ - ldr r4, [sp, #120] @ 0x78 │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ + ldr r0, [sp, #120] @ 0x78 │ │ │ │ │ vldr d3, [sp, #424] @ 0x1a8 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ vsub.f64 d6, d7, d5 │ │ │ │ │ - ldr r4, [sp, #88] @ 0x58 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ + ldr r0, [sp, #88] @ 0x58 │ │ │ │ │ vldr d7, [sp, #304] @ 0x130 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ vsub.f64 d6, d3, d14 │ │ │ │ │ + ldr r0, [sp, #72] @ 0x48 │ │ │ │ │ vldr d3, [sp, #432] @ 0x1b0 │ │ │ │ │ vadd.f64 d4, d7, d2 │ │ │ │ │ - ldr r4, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ + vmul.f64 d5, d11, d13 │ │ │ │ │ + ldr r0, [sp, #112] @ 0x70 │ │ │ │ │ vadd.f64 d7, d3, d8 │ │ │ │ │ vldr d3, [sp, #592] @ 0x250 │ │ │ │ │ vmov.f64 d2, d4 │ │ │ │ │ - vldr d8, [sp, #320] @ 0x140 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ - vmul.f64 d5, d11, d13 │ │ │ │ │ - vadd.f64 d12, d12, d3 │ │ │ │ │ vmla.f64 d5, d6, d1 │ │ │ │ │ vmul.f64 d6, d6, d13 │ │ │ │ │ - ldr r4, [sp, #112] @ 0x70 │ │ │ │ │ + vadd.f64 d12, d12, d3 │ │ │ │ │ + vnmls.f64 d6, d11, d1 │ │ │ │ │ + vldr d11, [pc, #980] @ 1060 │ │ │ │ │ vadd.f64 d3, d7, d12 │ │ │ │ │ vsub.f64 d7, d7, d12 │ │ │ │ │ - vnmls.f64 d6, d11, d1 │ │ │ │ │ - vldr d11, [pc, #972] @ 1028 │ │ │ │ │ - vldr d12, [pc, #976] @ 1030 │ │ │ │ │ + vldr d12, [pc, #976] @ 1068 │ │ │ │ │ vmls.f64 d2, d3, d15 │ │ │ │ │ - vadd.f64 d4, d4, d3 │ │ │ │ │ vmul.f64 d7, d7, d10 │ │ │ │ │ - vstr d4, [r8] │ │ │ │ │ + vadd.f64 d4, d4, d3 │ │ │ │ │ + vstr d4, [r6] │ │ │ │ │ vsub.f64 d4, d2, d7 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ vadd.f64 d3, d6, d4 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vsub.f64 d6, d7, d5 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ - ldr r4, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ + ldr r0, [sp, #128] @ 0x80 │ │ │ │ │ vldr d3, [sp, #312] @ 0x138 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - ldr r4, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d4, [sp, #648] @ 0x288 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ + ldr r0, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d4, [sp, #656] @ 0x290 │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ + ldr r0, [sp, #96] @ 0x60 │ │ │ │ │ vldr d6, [sp, #336] @ 0x150 │ │ │ │ │ - ldr r4, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ vadd.f64 d7, d3, d6 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ vadd.f64 d3, d4, d7 │ │ │ │ │ vsub.f64 d2, d7, d4 │ │ │ │ │ - vldr d7, [sp, #352] @ 0x160 │ │ │ │ │ - vadd.f64 d7, d8, d7 │ │ │ │ │ vstr d3, [sp, #104] @ 0x68 │ │ │ │ │ vstr d2, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d5, [sp, #632] @ 0x278 │ │ │ │ │ - vldr d2, [pc, #876] @ 1038 │ │ │ │ │ + vldr d8, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d7, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d2, [pc, #876] @ 1070 │ │ │ │ │ + vldr d5, [sp, #640] @ 0x280 │ │ │ │ │ + vadd.f64 d7, d8, d7 │ │ │ │ │ vldr d4, [sp, #472] @ 0x1d8 │ │ │ │ │ + vldr d1, [sp, #360] @ 0x168 │ │ │ │ │ + vldr d3, [sp, #576] @ 0x240 │ │ │ │ │ vsub.f64 d8, d7, d5 │ │ │ │ │ - vadd.f64 d14, d5, d7 │ │ │ │ │ - vldr d5, [pc, #868] @ 1040 │ │ │ │ │ vmul.f64 d6, d4, d2 │ │ │ │ │ vldr d4, [sp, #440] @ 0x1b8 │ │ │ │ │ + vadd.f64 d14, d5, d7 │ │ │ │ │ vldr d2, [sp, #584] @ 0x248 │ │ │ │ │ + vldr d5, [pc, #928] @ 10d0 │ │ │ │ │ vstr d8, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d8, [pc, #856] @ 1048 │ │ │ │ │ - vldr d3, [sp, #576] @ 0x240 │ │ │ │ │ - vmul.f64 d2, d2, d5 │ │ │ │ │ + vldr d8, [pc, #832] @ 1078 │ │ │ │ │ vstr d14, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d14, [pc, #848] @ 1090 │ │ │ │ │ + vmul.f64 d2, d2, d5 │ │ │ │ │ + vldr d5, [sp, #392] @ 0x188 │ │ │ │ │ vmla.f64 d6, d4, d8 │ │ │ │ │ vldr d8, [sp, #544] @ 0x220 │ │ │ │ │ - vldr d5, [sp, #392] @ 0x188 │ │ │ │ │ - vldr d14, [pc, #852] @ 1060 │ │ │ │ │ + vmul.f64 d5, d5, d14 │ │ │ │ │ vmul.f64 d7, d8, d11 │ │ │ │ │ vldr d8, [sp, #512] @ 0x200 │ │ │ │ │ - vldr d1, [sp, #360] @ 0x168 │ │ │ │ │ - vmul.f64 d5, d5, d14 │ │ │ │ │ vmla.f64 d7, d8, d12 │ │ │ │ │ - vldr d8, [pc, #900] @ 10a8 │ │ │ │ │ + vldr d8, [pc, #884] @ 10d8 │ │ │ │ │ vmla.f64 d2, d3, d8 │ │ │ │ │ - vldr d3, [pc, #828] @ 1068 │ │ │ │ │ - vmla.f64 d5, d1, d3 │ │ │ │ │ + vldr d3, [pc, #812] @ 1098 │ │ │ │ │ vadd.f64 d4, d6, d7 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ - vldr d6, [pc, #828] @ 1078 │ │ │ │ │ + vldr d6, [pc, #816] @ 10a8 │ │ │ │ │ + vmla.f64 d5, d1, d3 │ │ │ │ │ vstr d7, [sp, #120] @ 0x78 │ │ │ │ │ vldr d7, [sp, #560] @ 0x230 │ │ │ │ │ vadd.f64 d3, d2, d5 │ │ │ │ │ vsub.f64 d14, d2, d5 │ │ │ │ │ - vldr d2, [sp, #456] @ 0x1c8 │ │ │ │ │ vldr d5, [sp, #408] @ 0x198 │ │ │ │ │ - vmul.f64 d1, d2, d11 │ │ │ │ │ - vldr d2, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d2, [sp, #456] @ 0x1c8 │ │ │ │ │ vadd.f64 d8, d4, d3 │ │ │ │ │ vsub.f64 d4, d4, d3 │ │ │ │ │ vldr d3, [sp, #528] @ 0x210 │ │ │ │ │ vmul.f64 d6, d5, d6 │ │ │ │ │ - vldr d5, [pc, #792] @ 1088 │ │ │ │ │ - vnmls.f64 d1, d2, d12 │ │ │ │ │ - vldr d2, [pc, #776] @ 1080 │ │ │ │ │ vstr d14, [sp, #112] @ 0x70 │ │ │ │ │ + vmul.f64 d1, d2, d11 │ │ │ │ │ + vldr d2, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d5, [pc, #780] @ 10c0 │ │ │ │ │ + vldr d14, [pc, #808] @ 10e0 │ │ │ │ │ vmul.f64 d4, d4, d10 │ │ │ │ │ - vldr d14, [pc, #812] @ 10b0 │ │ │ │ │ + vnmls.f64 d1, d2, d12 │ │ │ │ │ + vldr d2, [pc, #748] @ 10b0 │ │ │ │ │ vmul.f64 d2, d7, d2 │ │ │ │ │ - vldr d7, [pc, #772] @ 1090 │ │ │ │ │ + vldr d7, [pc, #748] @ 10b8 │ │ │ │ │ vnmls.f64 d2, d3, d7 │ │ │ │ │ vldr d7, [sp, #376] @ 0x178 │ │ │ │ │ vmla.f64 d6, d7, d5 │ │ │ │ │ - vldr d5, [pc, #764] @ 1098 │ │ │ │ │ + vldr d5, [pc, #748] @ 10c8 │ │ │ │ │ vmul.f64 d7, d0, d14 │ │ │ │ │ - vmla.f64 d7, d9, d5 │ │ │ │ │ vadd.f64 d3, d1, d2 │ │ │ │ │ vsub.f64 d14, d1, d2 │ │ │ │ │ + vmla.f64 d7, d9, d5 │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ - vadd.f64 d2, d3, d5 │ │ │ │ │ vsub.f64 d6, d3, d5 │ │ │ │ │ - vstr d7, [sp, #304] @ 0x130 │ │ │ │ │ + vadd.f64 d2, d3, d5 │ │ │ │ │ vldr d3, [sp, #528] @ 0x210 │ │ │ │ │ - vmul.f64 d1, d2, d10 │ │ │ │ │ vstr d6, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d6, [sp, #488] @ 0x1e8 │ │ │ │ │ + vmul.f64 d1, d2, d10 │ │ │ │ │ vldr d2, [sp, #456] @ 0x1c8 │ │ │ │ │ - vmul.f64 d6, d6, d11 │ │ │ │ │ + vldr d6, [sp, #488] @ 0x1e8 │ │ │ │ │ vstr d1, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d1, [pc, #672] @ 10b8 │ │ │ │ │ + vstr d7, [sp, #304] @ 0x130 │ │ │ │ │ + vmul.f64 d6, d6, d11 │ │ │ │ │ vmla.f64 d6, d2, d12 │ │ │ │ │ - vldr d1, [pc, #684] @ 1090 │ │ │ │ │ vldr d2, [sp, #560] @ 0x230 │ │ │ │ │ vmul.f64 d7, d2, d1 │ │ │ │ │ - vldr d2, [pc, #656] @ 1080 │ │ │ │ │ + vldr d2, [pc, #640] @ 10b0 │ │ │ │ │ vmla.f64 d7, d3, d2 │ │ │ │ │ - vldr d2, [pc, #696] @ 10b0 │ │ │ │ │ + vldr d2, [pc, #680] @ 10e0 │ │ │ │ │ vmul.f64 d1, d9, d2 │ │ │ │ │ - vldr d9, [pc, #664] @ 1098 │ │ │ │ │ - vnmls.f64 d1, d0, d9 │ │ │ │ │ - vldr d9, [sp, #376] @ 0x178 │ │ │ │ │ - vldr d0, [pc, #620] @ 1078 │ │ │ │ │ + vldr d9, [pc, #648] @ 10c8 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ + vnmls.f64 d1, d0, d9 │ │ │ │ │ + vldr d9, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d0, [pc, #596] @ 10a8 │ │ │ │ │ + vstr d6, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d6, [pc, #524] @ 1068 │ │ │ │ │ vmul.f64 d3, d9, d0 │ │ │ │ │ vldr d9, [sp, #408] @ 0x198 │ │ │ │ │ - vldr d0, [pc, #616] @ 1088 │ │ │ │ │ - vstr d6, [sp, #328] @ 0x148 │ │ │ │ │ - vldr d6, [pc, #520] @ 1030 │ │ │ │ │ + vldr d0, [pc, #600] @ 10c0 │ │ │ │ │ vnmls.f64 d3, d9, d0 │ │ │ │ │ vldr d9, [sp, #440] @ 0x1b8 │ │ │ │ │ vadd.f64 d2, d1, d3 │ │ │ │ │ vsub.f64 d12, d1, d3 │ │ │ │ │ - vldr d3, [pc, #516] @ 1040 │ │ │ │ │ - vldr d1, [pc, #616] @ 10a8 │ │ │ │ │ + vldr d3, [pc, #596] @ 10d0 │ │ │ │ │ + vldr d1, [pc, #600] @ 10d8 │ │ │ │ │ vadd.f64 d0, d5, d2 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ - vldr d2, [pc, #492] @ 1038 │ │ │ │ │ + vldr d2, [pc, #484] @ 1070 │ │ │ │ │ vmul.f64 d7, d9, d2 │ │ │ │ │ vldr d9, [sp, #472] @ 0x1d8 │ │ │ │ │ - vldr d2, [pc, #496] @ 1048 │ │ │ │ │ vmul.f64 d5, d5, d10 │ │ │ │ │ + vldr d2, [pc, #476] @ 1078 │ │ │ │ │ + ldr r0, [sp, #192] @ 0xc0 │ │ │ │ │ + vldr d10, [sp, #576] @ 0x240 │ │ │ │ │ vnmls.f64 d7, d9, d2 │ │ │ │ │ vldr d9, [sp, #512] @ 0x200 │ │ │ │ │ - vmul.f64 d2, d9, d11 │ │ │ │ │ - vldr d9, [sp, #544] @ 0x220 │ │ │ │ │ - vldr d10, [sp, #576] @ 0x240 │ │ │ │ │ - ldr r4, [sp, #192] @ 0xc0 │ │ │ │ │ vmul.f64 d3, d10, d3 │ │ │ │ │ vldr d10, [sp, #584] @ 0x248 │ │ │ │ │ - vnmls.f64 d2, d9, d6 │ │ │ │ │ - vldr d6, [pc, #476] @ 1060 │ │ │ │ │ + vmul.f64 d2, d9, d11 │ │ │ │ │ + vldr d9, [sp, #544] @ 0x220 │ │ │ │ │ vnmls.f64 d3, d10, d1 │ │ │ │ │ vldr d1, [sp, #360] @ 0x168 │ │ │ │ │ - vldr d10, [pc, #472] @ 1068 │ │ │ │ │ + vnmls.f64 d2, d9, d6 │ │ │ │ │ + vldr d6, [pc, #456] @ 1090 │ │ │ │ │ + vldr d10, [pc, #460] @ 1098 │ │ │ │ │ vmul.f64 d6, d1, d6 │ │ │ │ │ vldr d1, [sp, #392] @ 0x188 │ │ │ │ │ vadd.f64 d9, d7, d2 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ vnmls.f64 d6, d1, d10 │ │ │ │ │ - vldr d10, [pc, #456] @ 1070 │ │ │ │ │ + vldr d10, [pc, #444] @ 10a0 │ │ │ │ │ vadd.f64 d1, d3, d6 │ │ │ │ │ vsub.f64 d6, d3, d6 │ │ │ │ │ vsub.f64 d2, d9, d1 │ │ │ │ │ vadd.f64 d1, d9, d1 │ │ │ │ │ vldr d9, [sp, #88] @ 0x58 │ │ │ │ │ vmul.f64 d2, d2, d10 │ │ │ │ │ vldr d10, [sp, #104] @ 0x68 │ │ │ │ │ vadd.f64 d3, d10, d8 │ │ │ │ │ vmls.f64 d10, d8, d15 │ │ │ │ │ vstr d3, [fp] │ │ │ │ │ vldr d3, [sp, #80] @ 0x50 │ │ │ │ │ - vadd.f64 d3, d3, d1 │ │ │ │ │ vadd.f64 d8, d4, d10 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ + vadd.f64 d3, d3, d1 │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ + ldr r0, [sp, #0] │ │ │ │ │ vldr d3, [sp, #72] @ 0x48 │ │ │ │ │ - ldr r4, [sp, #0] │ │ │ │ │ vadd.f64 d3, d3, d0 │ │ │ │ │ vstr d3, [sl] │ │ │ │ │ vldr d3, [sp, #96] @ 0x60 │ │ │ │ │ vadd.f64 d3, d9, d3 │ │ │ │ │ - vldr d9, [pc, #464] @ 10c8 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ + vldr d9, [pc, #448] @ 10f8 │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ vmul.f64 d3, d6, d13 │ │ │ │ │ + ldr r0, [sp, #216] @ 0xd8 │ │ │ │ │ vmla.f64 d3, d7, d9 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ - ldr r4, [sp, #216] @ 0xd8 │ │ │ │ │ vnmls.f64 d7, d6, d9 │ │ │ │ │ vsub.f64 d6, d10, d4 │ │ │ │ │ vldr d10, [sp, #112] @ 0x70 │ │ │ │ │ vsub.f64 d4, d8, d3 │ │ │ │ │ vadd.f64 d3, d3, d8 │ │ │ │ │ vldr d8, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ vadd.f64 d4, d7, d6 │ │ │ │ │ - ldr r4, [sp, #24] │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ + ldr r0, [sp, #32] │ │ │ │ │ vmul.f64 d7, d8, d13 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - ldr r4, [sp, #200] @ 0xc8 │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ vnmls.f64 d7, d10, d9 │ │ │ │ │ vldr d4, [sp, #80] @ 0x50 │ │ │ │ │ + ldr r0, [sp, #200] @ 0xc8 │ │ │ │ │ vmls.f64 d4, d1, d15 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ - ldr r4, [sp, #232] @ 0xe8 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ + ldr r0, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ vmul.f64 d6, d10, d13 │ │ │ │ │ - vmla.f64 d6, d8, d9 │ │ │ │ │ + ldr r0, [sp, #208] @ 0xd0 │ │ │ │ │ vadd.f64 d3, d2, d4 │ │ │ │ │ - ldr r4, [sp, #208] @ 0xd0 │ │ │ │ │ vsub.f64 d4, d4, d2 │ │ │ │ │ + vmla.f64 d6, d8, d9 │ │ │ │ │ vsub.f64 d2, d3, d6 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ - vldr d3, [pc, #208] @ 1040 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ + vldr d3, [pc, #292] @ 10d0 │ │ │ │ │ + vstr d2, [r0] │ │ │ │ │ vsub.f64 d2, d4, d7 │ │ │ │ │ - ldr r4, [sp, #32] │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ - ldr r4, [sp, #224] @ 0xe0 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ - ldr r4, [sp, #240] @ 0xf0 │ │ │ │ │ + ldr r0, [sp, #24] │ │ │ │ │ + vstr d2, [r0] │ │ │ │ │ vldr d8, [sp, #72] @ 0x48 │ │ │ │ │ - vmls.f64 d8, d0, d15 │ │ │ │ │ - vldr d4, [sp, #304] @ 0x130 │ │ │ │ │ vldr d2, [sp, #128] @ 0x80 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + ldr r0, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d4, [sp, #304] @ 0x130 │ │ │ │ │ + vmls.f64 d8, d0, d15 │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ + ldr r0, [sp, #240] @ 0xf0 │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ vmul.f64 d7, d4, d13 │ │ │ │ │ - ldr r4, [sp, #264] @ 0x108 │ │ │ │ │ + vmov.f64 d6, d8 │ │ │ │ │ + vldr d8, [sp, #96] @ 0x60 │ │ │ │ │ + ldr r0, [sp, #264] @ 0x108 │ │ │ │ │ vmla.f64 d7, d14, d9 │ │ │ │ │ vmul.f64 d14, d14, d13 │ │ │ │ │ vnmls.f64 d14, d4, d9 │ │ │ │ │ - vadd.f64 d4, d5, d8 │ │ │ │ │ - vsub.f64 d6, d8, d5 │ │ │ │ │ - vldr d8, [sp, #96] @ 0x60 │ │ │ │ │ + vadd.f64 d4, d5, d6 │ │ │ │ │ + vsub.f64 d6, d6, d5 │ │ │ │ │ vsub.f64 d5, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ vadd.f64 d5, d14, d6 │ │ │ │ │ - ldr r4, [sp, #248] @ 0xf8 │ │ │ │ │ vsub.f64 d6, d6, d14 │ │ │ │ │ vldr d14, [sp, #88] @ 0x58 │ │ │ │ │ + ldr r0, [sp, #248] @ 0xf8 │ │ │ │ │ + vstr d5, [r9] │ │ │ │ │ vmls.f64 d14, d8, d15 │ │ │ │ │ - vstr d5, [lr] │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ vmul.f64 d7, d12, d13 │ │ │ │ │ - ldr r4, [sp, #280] @ 0x118 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ + ldr r0, [sp, #280] @ 0x118 │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ + ldr r0, [sp, #256] @ 0x100 │ │ │ │ │ vldr d6, [sp, #328] @ 0x148 │ │ │ │ │ vadd.f64 d5, d2, d14 │ │ │ │ │ - ldr r4, [sp, #256] @ 0x100 │ │ │ │ │ vmla.f64 d7, d6, d9 │ │ │ │ │ vmul.f64 d10, d6, d13 │ │ │ │ │ vsub.f64 d6, d14, d2 │ │ │ │ │ vldr d14, [sp, #312] @ 0x138 │ │ │ │ │ vnmls.f64 d10, d12, d9 │ │ │ │ │ vldr d12, [sp, #336] @ 0x150 │ │ │ │ │ vsub.f64 d4, d5, d7 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - vsub.f64 d4, d6, d10 │ │ │ │ │ - ldr r4, [sp, #272] @ 0x110 │ │ │ │ │ - vadd.f64 d10, d10, d6 │ │ │ │ │ - b.n 10d0 │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ + b.n 1100 │ │ │ │ │ nop │ │ │ │ │ .word 0xff642e86 │ │ │ │ │ .word 0x3feb04bb │ │ │ │ │ .word 0x3c182b51 │ │ │ │ │ .word 0x3fe1257e │ │ │ │ │ .word 0xfa1c0796 │ │ │ │ │ .word 0x3fcfd511 │ │ │ │ │ - .word 0x5cbfa951 │ │ │ │ │ - .word 0x3fded50d │ │ │ │ │ .word 0x1d101ee0 │ │ │ │ │ .word 0x3feefea2 │ │ │ │ │ - .word 0xbfe443fe │ │ │ │ │ - .word 0x3fefefd5 │ │ │ │ │ .word 0x1be09379 │ │ │ │ │ .word 0x3fb0130a │ │ │ │ │ + .word 0xbfe443fe │ │ │ │ │ + .word 0x3fefefd5 │ │ │ │ │ .word 0x55112014 │ │ │ │ │ .word 0x3fe5e7cf │ │ │ │ │ .word 0x03d2b816 │ │ │ │ │ .word 0x3fe753b6 │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ .word 0x5480d903 │ │ │ │ │ .word 0x3fefbf67 │ │ │ │ │ .word 0xfeb501bc │ │ │ │ │ .word 0x3fe465c6 │ │ │ │ │ - .word 0x5da15be0 │ │ │ │ │ - .word 0x3fc00aeb │ │ │ │ │ .word 0x635b6bea │ │ │ │ │ .word 0x3fe8a80b │ │ │ │ │ + .word 0x5da15be0 │ │ │ │ │ + .word 0x3fc00aeb │ │ │ │ │ .word 0xdcdc158c │ │ │ │ │ .word 0x3fecf457 │ │ │ │ │ .word 0x5cbfa951 │ │ │ │ │ .word 0x3fded50d │ │ │ │ │ .word 0x4e81c059 │ │ │ │ │ .word 0x3fec0ab4 │ │ │ │ │ .word 0xc925819c │ │ │ │ │ .word 0x3fdb3ff7 │ │ │ │ │ .word 0xff642e86 │ │ │ │ │ .word 0x3feb04bb │ │ │ │ │ .word 0x3c182b51 │ │ │ │ │ .word 0x3fe1257e │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ - vldr d6, [pc, #-20] @ 10c0 │ │ │ │ │ + vsub.f64 d4, d6, d10 │ │ │ │ │ + vadd.f64 d10, d10, d6 │ │ │ │ │ + ldr r0, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d6, [pc, #-28] @ 10f0 │ │ │ │ │ vstr d4, [r1] │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + vldr d4, [sp, #664] @ 0x298 │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ vsub.f64 d7, d12, d14 │ │ │ │ │ - vldr d4, [sp, #656] @ 0x290 │ │ │ │ │ + ldr r0, [sp, #288] @ 0x120 │ │ │ │ │ vldr d14, [sp, #320] @ 0x140 │ │ │ │ │ - vldr d12, [sp, #640] @ 0x280 │ │ │ │ │ + vldr d12, [sp, #648] @ 0x288 │ │ │ │ │ vsub.f64 d8, d7, d4 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ + vstr d10, [r0] │ │ │ │ │ vldr d7, [sp, #352] @ 0x160 │ │ │ │ │ - ldr r4, [sp, #288] @ 0x120 │ │ │ │ │ + vstr d4, [sp] │ │ │ │ │ vsub.f64 d7, d7, d14 │ │ │ │ │ vstr d8, [sp, #80] @ 0x50 │ │ │ │ │ - vstr d4, [sp] │ │ │ │ │ - vstr d10, [r4] │ │ │ │ │ - vldr d4, [pc, #-92] @ 10b0 │ │ │ │ │ + vldr d4, [pc, #-104] @ 10e0 │ │ │ │ │ + vldr d8, [pc, #-132] @ 10c8 │ │ │ │ │ vadd.f64 d14, d12, d7 │ │ │ │ │ vsub.f64 d12, d7, d12 │ │ │ │ │ - vldr d8, [pc, #-128] @ 1098 │ │ │ │ │ vstr d14, [sp, #24] │ │ │ │ │ - vstr d12, [sp, #32] │ │ │ │ │ vldr d1, [sp, #496] @ 0x1f0 │ │ │ │ │ + vstr d12, [sp, #32] │ │ │ │ │ vldr d12, [sp, #464] @ 0x1d0 │ │ │ │ │ vldr d0, [sp, #608] @ 0x260 │ │ │ │ │ vmul.f64 d5, d1, d3 │ │ │ │ │ - vldr d1, [pc, #-140] @ 10a8 │ │ │ │ │ + vldr d1, [pc, #-152] @ 10d8 │ │ │ │ │ vmla.f64 d5, d12, d1 │ │ │ │ │ vldr d1, [sp, #536] @ 0x218 │ │ │ │ │ vldr d12, [sp, #624] @ 0x270 │ │ │ │ │ vmul.f64 d7, d1, d4 │ │ │ │ │ vldr d4, [sp, #568] @ 0x238 │ │ │ │ │ vmul.f64 d1, d12, d11 │ │ │ │ │ vldr d12, [sp, #416] @ 0x1a0 │ │ │ │ │ + vnmls.f64 d7, d4, d8 │ │ │ │ │ + vldr d8, [pc, #-276] @ 1080 │ │ │ │ │ vmla.f64 d1, d0, d6 │ │ │ │ │ - vldr d6, [pc, #-264] @ 1050 │ │ │ │ │ + vldr d6, [pc, #-276] @ 1088 │ │ │ │ │ vldr d0, [sp, #448] @ 0x1c0 │ │ │ │ │ - vnmls.f64 d7, d4, d8 │ │ │ │ │ - vldr d8, [pc, #-268] @ 1058 │ │ │ │ │ vmul.f64 d3, d12, d6 │ │ │ │ │ vldr d12, [sp, #384] @ 0x180 │ │ │ │ │ - vmla.f64 d3, d12, d8 │ │ │ │ │ vadd.f64 d4, d5, d7 │ │ │ │ │ + vmla.f64 d3, d12, d8 │ │ │ │ │ vsub.f64 d12, d5, d7 │ │ │ │ │ - vldr d5, [pc, #-284] @ 1060 │ │ │ │ │ - vldr d7, [pc, #-248] @ 1088 │ │ │ │ │ - vsub.f64 d14, d1, d3 │ │ │ │ │ - vmul.f64 d0, d0, d5 │ │ │ │ │ + vldr d5, [pc, #-296] @ 1090 │ │ │ │ │ + vldr d7, [pc, #-252] @ 10c0 │ │ │ │ │ vmov.f64 d11, d5 │ │ │ │ │ - vldr d5, [pc, #-296] @ 1068 │ │ │ │ │ + vmul.f64 d0, d0, d5 │ │ │ │ │ + vldr d5, [pc, #-304] @ 1098 │ │ │ │ │ + vsub.f64 d14, d1, d3 │ │ │ │ │ vadd.f64 d2, d1, d3 │ │ │ │ │ - vstr d14, [sp, #96] @ 0x60 │ │ │ │ │ vmov.f64 d9, d5 │ │ │ │ │ - vldr d14, [sp, #480] @ 0x1e0 │ │ │ │ │ + vstr d14, [sp, #96] @ 0x60 │ │ │ │ │ vadd.f64 d10, d4, d2 │ │ │ │ │ vsub.f64 d4, d4, d2 │ │ │ │ │ + vldr d14, [sp, #480] @ 0x1e0 │ │ │ │ │ vldr d2, [sp, #616] @ 0x268 │ │ │ │ │ + vstr d10, [sp, #88] @ 0x58 │ │ │ │ │ vnmls.f64 d0, d14, d5 │ │ │ │ │ vldr d14, [sp, #552] @ 0x228 │ │ │ │ │ - vldr d5, [pc, #-320] @ 1078 │ │ │ │ │ - vstr d10, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d10, [pc, #-336] @ 1070 │ │ │ │ │ + vldr d5, [pc, #-336] @ 10a8 │ │ │ │ │ + vldr d10, [pc, #-348] @ 10a0 │ │ │ │ │ vmul.f64 d3, d14, d5 │ │ │ │ │ vldr d5, [sp, #520] @ 0x208 │ │ │ │ │ - vldr d14, [pc, #-332] @ 1080 │ │ │ │ │ + vldr d14, [pc, #-344] @ 10b0 │ │ │ │ │ vmul.f64 d4, d4, d10 │ │ │ │ │ vmla.f64 d3, d5, d7 │ │ │ │ │ - vldr d5, [sp, #600] @ 0x258 │ │ │ │ │ vldr d7, [sp, #400] @ 0x190 │ │ │ │ │ - vmul.f64 d5, d5, d6 │ │ │ │ │ + vldr d5, [sp, #600] @ 0x258 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ vldr d14, [sp, #368] @ 0x170 │ │ │ │ │ - vnmls.f64 d5, d2, d8 │ │ │ │ │ - vldr d2, [pc, #-352] @ 1090 │ │ │ │ │ + vmul.f64 d5, d5, d6 │ │ │ │ │ vsub.f64 d1, d0, d3 │ │ │ │ │ vadd.f64 d0, d0, d3 │ │ │ │ │ + vnmls.f64 d5, d2, d8 │ │ │ │ │ + vldr d2, [pc, #-380] @ 10b8 │ │ │ │ │ vmla.f64 d7, d14, d2 │ │ │ │ │ vsub.f64 d2, d5, d7 │ │ │ │ │ vadd.f64 d14, d5, d7 │ │ │ │ │ vldr d7, [sp, #448] @ 0x1c0 │ │ │ │ │ vsub.f64 d3, d1, d2 │ │ │ │ │ vadd.f64 d5, d1, d2 │ │ │ │ │ vldr d1, [sp, #480] @ 0x1e0 │ │ │ │ │ vldr d2, [sp, #616] @ 0x268 │ │ │ │ │ vmul.f64 d3, d3, d10 │ │ │ │ │ - vstr d5, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d5, [pc, #-428] @ 1078 │ │ │ │ │ vstr d3, [sp, #104] @ 0x68 │ │ │ │ │ vmul.f64 d3, d1, d11 │ │ │ │ │ - vmla.f64 d3, d7, d9 │ │ │ │ │ - vldr d7, [sp, #520] @ 0x208 │ │ │ │ │ + vstr d5, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d5, [pc, #-448] @ 10a8 │ │ │ │ │ vldr d11, [sp, #552] @ 0x228 │ │ │ │ │ + vmla.f64 d3, d7, d9 │ │ │ │ │ vmul.f64 d9, d2, d6 │ │ │ │ │ - vldr d2, [pc, #-448] @ 1080 │ │ │ │ │ + vldr d7, [sp, #520] @ 0x208 │ │ │ │ │ + vldr d2, [pc, #-460] @ 10b0 │ │ │ │ │ + vldr d1, [pc, #-456] @ 10b8 │ │ │ │ │ vmul.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [pc, #-448] @ 1088 │ │ │ │ │ - vldr d1, [pc, #-444] @ 1090 │ │ │ │ │ + vldr d5, [pc, #-456] @ 10c0 │ │ │ │ │ vnmls.f64 d7, d11, d5 │ │ │ │ │ vldr d11, [sp, #600] @ 0x258 │ │ │ │ │ vmla.f64 d9, d11, d8 │ │ │ │ │ vldr d11, [sp, #368] @ 0x170 │ │ │ │ │ - vmul.f64 d2, d11, d2 │ │ │ │ │ - vldr d11, [sp, #400] @ 0x190 │ │ │ │ │ vadd.f64 d5, d3, d7 │ │ │ │ │ vsub.f64 d7, d3, d7 │ │ │ │ │ - vldr d3, [pc, #-472] @ 1098 │ │ │ │ │ - vnmls.f64 d2, d11, d1 │ │ │ │ │ + vldr d3, [pc, #-476] @ 10c8 │ │ │ │ │ + vmul.f64 d2, d11, d2 │ │ │ │ │ + vldr d11, [sp, #400] @ 0x190 │ │ │ │ │ vstr d7, [sp, #128] @ 0x80 │ │ │ │ │ - vldr d7, [pc, #-476] @ 10a0 │ │ │ │ │ + vldr d7, [pc, #-484] @ 10d0 │ │ │ │ │ + vnmls.f64 d2, d11, d1 │ │ │ │ │ vadd.f64 d1, d9, d2 │ │ │ │ │ vsub.f64 d2, d9, d2 │ │ │ │ │ vadd.f64 d11, d5, d1 │ │ │ │ │ - vstr d2, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d2, [sp, #464] @ 0x1d0 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ - vmul.f64 d7, d2, d7 │ │ │ │ │ vstr d11, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d2, [pc, #-504] @ 10a8 │ │ │ │ │ vmul.f64 d5, d5, d10 │ │ │ │ │ + vstr d2, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d2, [sp, #464] @ 0x1d0 │ │ │ │ │ + ldr r0, [sp, #8] │ │ │ │ │ vldr d9, [sp, #496] @ 0x1f0 │ │ │ │ │ + vmul.f64 d7, d2, d7 │ │ │ │ │ + vldr d2, [pc, #-524] @ 10d8 │ │ │ │ │ vldr d1, [sp, #536] @ 0x218 │ │ │ │ │ vldr d11, [sp, #624] @ 0x270 │ │ │ │ │ vnmls.f64 d7, d9, d2 │ │ │ │ │ + vldr d2, [pc, #-532] @ 10e0 │ │ │ │ │ vldr d9, [sp, #568] @ 0x238 │ │ │ │ │ - vldr d2, [pc, #-524] @ 10b0 │ │ │ │ │ - ldr r1, [sp, #144] @ 0x90 │ │ │ │ │ - ldr r4, [sp, #40] @ 0x28 │ │ │ │ │ + ldr r1, [sp, #136] @ 0x88 │ │ │ │ │ vmul.f64 d2, d9, d2 │ │ │ │ │ vmla.f64 d2, d1, d3 │ │ │ │ │ vldr d1, [sp, #608] @ 0x260 │ │ │ │ │ - vldr d3, [pc, #-536] @ 10b8 │ │ │ │ │ + vldr d3, [pc, #-548] @ 10e8 │ │ │ │ │ vmul.f64 d3, d1, d3 │ │ │ │ │ - vldr d1, [pc, #-536] @ 10c0 │ │ │ │ │ - vnmls.f64 d3, d11, d1 │ │ │ │ │ - vldr d1, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d1, [pc, #-548] @ 10f0 │ │ │ │ │ vsub.f64 d9, d7, d2 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ + vnmls.f64 d3, d11, d1 │ │ │ │ │ vldr d11, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d1, [sp, #384] @ 0x180 │ │ │ │ │ vmul.f64 d6, d1, d6 │ │ │ │ │ vldr d1, [sp, #416] @ 0x1a0 │ │ │ │ │ vnmls.f64 d6, d1, d8 │ │ │ │ │ vldr d8, [sp, #80] @ 0x50 │ │ │ │ │ vadd.f64 d1, d3, d6 │ │ │ │ │ vsub.f64 d6, d3, d6 │ │ │ │ │ vsub.f64 d2, d9, d1 │ │ │ │ │ vadd.f64 d1, d9, d1 │ │ │ │ │ - vldr d9, [pc, #-584] @ 10c8 │ │ │ │ │ + vldr d9, [pc, #-596] @ 10f8 │ │ │ │ │ vmul.f64 d2, d2, d10 │ │ │ │ │ vldr d10, [sp, #88] @ 0x58 │ │ │ │ │ vadd.f64 d3, d8, d10 │ │ │ │ │ - vstr d3, [ip] │ │ │ │ │ + vstr d3, [r8] │ │ │ │ │ vldr d3, [sp, #24] │ │ │ │ │ vadd.f64 d3, d3, d1 │ │ │ │ │ - vstr d3, [r0] │ │ │ │ │ + vstr d3, [lr] │ │ │ │ │ vldr d3, [sp] │ │ │ │ │ - ldr r0, [sp, #136] @ 0x88 │ │ │ │ │ vadd.f64 d3, d3, d11 │ │ │ │ │ vldr d11, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d3, [r0] │ │ │ │ │ + vstr d3, [r1] │ │ │ │ │ vldr d3, [sp, #32] │ │ │ │ │ - ldr r0, [sp, #296] @ 0x128 │ │ │ │ │ + ldr r1, [sp, #144] @ 0x90 │ │ │ │ │ vadd.f64 d3, d3, d11 │ │ │ │ │ vstr d3, [r1] │ │ │ │ │ vmul.f64 d3, d6, d13 │ │ │ │ │ + ldr r1, [sp, #40] @ 0x28 │ │ │ │ │ vmla.f64 d3, d7, d9 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ vnmls.f64 d7, d6, d9 │ │ │ │ │ vmov.f64 d6, d8 │ │ │ │ │ vmls.f64 d6, d10, d15 │ │ │ │ │ vadd.f64 d8, d4, d6 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vsub.f64 d4, d8, d3 │ │ │ │ │ vadd.f64 d3, d3, d8 │ │ │ │ │ vldr d8, [sp, #96] @ 0x60 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ vadd.f64 d4, d7, d6 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ + ldr r1, [sp, #296] @ 0x128 │ │ │ │ │ vmul.f64 d7, d8, d13 │ │ │ │ │ + vstr d4, [ip] │ │ │ │ │ vmla.f64 d7, d12, d9 │ │ │ │ │ vmul.f64 d12, d12, d13 │ │ │ │ │ - ldr r4, [sp, #16] │ │ │ │ │ - vstr d4, [r5] │ │ │ │ │ - ldr r5, [sp, #8] │ │ │ │ │ - vnmls.f64 d12, d8, d9 │ │ │ │ │ - vstr d3, [r5] │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ + ldr r0, [sp, #16] │ │ │ │ │ vldr d6, [sp, #24] │ │ │ │ │ + vnmls.f64 d12, d8, d9 │ │ │ │ │ vmls.f64 d6, d1, d15 │ │ │ │ │ vadd.f64 d4, d2, d6 │ │ │ │ │ vsub.f64 d6, d6, d2 │ │ │ │ │ vsub.f64 d3, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ vsub.f64 d3, d6, d12 │ │ │ │ │ vadd.f64 d12, d12, d6 │ │ │ │ │ vmul.f64 d6, d0, d13 │ │ │ │ │ vstr d3, [r2] │ │ │ │ │ - ldr r4, [sp, #64] @ 0x40 │ │ │ │ │ vnmls.f64 d6, d14, d9 │ │ │ │ │ - vldr d1, [sp, #72] @ 0x48 │ │ │ │ │ vldr d4, [sp] │ │ │ │ │ - ldr r5, [sp, #160] @ 0xa0 │ │ │ │ │ + ldr r0, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d1, [sp, #72] @ 0x48 │ │ │ │ │ + ldr r2, [sp, #64] @ 0x40 │ │ │ │ │ + ldr r1, [sp, #56] @ 0x38 │ │ │ │ │ vmls.f64 d4, d1, d15 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vmul.f64 d7, d14, d13 │ │ │ │ │ vstr d12, [r3] │ │ │ │ │ + ldr r3, [sp, #160] @ 0xa0 │ │ │ │ │ + ldr r2, [sp, #688] @ 0x2b0 │ │ │ │ │ vmla.f64 d7, d0, d9 │ │ │ │ │ - ldr r4, [sp, #48] @ 0x30 │ │ │ │ │ - ldr r3, [sp, #152] @ 0x98 │ │ │ │ │ - ldr r1, [sp, #680] @ 0x2a8 │ │ │ │ │ - ldr r2, [sp, #56] @ 0x38 │ │ │ │ │ - ldr r0, [sp, #168] @ 0xa8 │ │ │ │ │ vadd.f64 d3, d5, d4 │ │ │ │ │ vsub.f64 d4, d4, d5 │ │ │ │ │ vsub.f64 d5, d3, d7 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ - vstr d5, [r5] │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ vadd.f64 d5, d6, d4 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ + ldr r3, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ vldr d5, [sp, #120] @ 0x78 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vldr d7, [sp, #128] @ 0x80 │ │ │ │ │ - vmul.f64 d6, d5, d13 │ │ │ │ │ ldr r3, [sp, #176] @ 0xb0 │ │ │ │ │ - vmla.f64 d6, d7, d9 │ │ │ │ │ + vmul.f64 d6, d5, d13 │ │ │ │ │ vmul.f64 d10, d7, d13 │ │ │ │ │ - vldr d7, [sp, #32] │ │ │ │ │ - vmls.f64 d7, d11, d15 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ vldr d4, [sp, #104] @ 0x68 │ │ │ │ │ + vmla.f64 d6, d7, d9 │ │ │ │ │ + vldr d7, [sp, #32] │ │ │ │ │ vnmls.f64 d10, d5, d9 │ │ │ │ │ - ldr r3, [sp, #688] @ 0x2b0 │ │ │ │ │ - add r7, r3 │ │ │ │ │ - add r8, r3 │ │ │ │ │ + ldr r3, [sp, #696] @ 0x2b8 │ │ │ │ │ + vmls.f64 d7, d11, d15 │ │ │ │ │ + add r5, r3 │ │ │ │ │ + add r6, r3 │ │ │ │ │ + ldr r3, [sp, #700] @ 0x2bc │ │ │ │ │ + eor.w r7, r7, r3 │ │ │ │ │ ldr r3, [sp, #692] @ 0x2b4 │ │ │ │ │ - eor.w r9, r9, r3 │ │ │ │ │ - ldr r3, [sp, #684] @ 0x2ac │ │ │ │ │ vadd.f64 d5, d4, d7 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ vsub.f64 d4, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vstr d4, [r1] │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ vsub.f64 d4, d7, d10 │ │ │ │ │ vadd.f64 d10, d10, d7 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - ldr r2, [sp, #184] @ 0xb8 │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ - vstr d10, [r2] │ │ │ │ │ - ldr r2, [sp, #804] @ 0x324 │ │ │ │ │ + ldr r2, [sp, #812] @ 0x32c │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.w 50 │ │ │ │ │ - add.w sp, sp, #700 @ 0x2bc │ │ │ │ │ + ldr r1, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ + ldr r1, [sp, #184] @ 0xb8 │ │ │ │ │ + vstr d10, [r1] │ │ │ │ │ + bne.w 60 │ │ │ │ │ + add.w sp, sp, #708 @ 0x2c4 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -0000149c : │ │ │ │ │ +000014e8 : │ │ │ │ │ fftw_codelet_t2_25(): │ │ │ │ │ - ldr r2, [pc, #8] @ (14a8 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (14ac ) │ │ │ │ │ + ldr r2, [pc, #8] @ (14f4 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (14f8 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_dit_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── t2_32.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 6248 (bytes into file) │ │ │ │ │ + Start of section headers: 6384 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x1868: │ │ │ │ │ +There are 14 section headers, starting at offset 0x18f0: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0014f4 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0017b0 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 001528 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 001528 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 001528 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 00152e 000014 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 001542 000040 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 0017d8 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 001582 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 001582 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 0015b8 000170 10 12 18 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 001728 000087 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 0017f0 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00157c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 001838 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0015b0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0015b0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0015b0 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 0015b6 000014 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0015ca 000040 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 001860 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 00160a 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00160a 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 001640 000170 10 12 18 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0017b0 000087 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 001878 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,26 +1,26 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 23 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 5344 FUNC LOCAL DEFAULT 1 t2_32 │ │ │ │ │ + 1: 00000001 5480 FUNC LOCAL DEFAULT 1 t2_32 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000038 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000040 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000ec0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000f00 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 000014d0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 8: 000014e0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 9: 000014ec 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 0000004c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000054 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000f18 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000f58 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00001558 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 00001568 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 9: 00001574 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 12: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 13: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 14: 00000000 20 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 15: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 16: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 17: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 20: 000014e1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t2_32 │ │ │ │ │ + 20: 00001569 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t2_32 │ │ │ │ │ 21: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_dit_register │ │ │ │ │ 22: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x17b0 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x1838 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000038 00001219 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000003c 0000131a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000014ec 00000f03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000014f0 00000103 R_ARM_REL32 00000001 t2_32 │ │ │ │ │ -000014e8 0000151e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ +0000004c 00001219 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000050 0000131a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00001574 00000f03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00001578 00000103 R_ARM_REL32 00000001 t2_32 │ │ │ │ │ +00001570 0000151e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x17d8 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x1860 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000a02 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000c02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001602 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,1035 +1,1029 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ t2_32(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r7, r0 │ │ │ │ │ - mov r8, r1 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r6, r0 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r8, r3 │ │ │ │ │ + mov r7, r1 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub.w sp, sp, #900 @ 0x384 │ │ │ │ │ - ldr r1, [pc, #36] @ (38 ) │ │ │ │ │ - mov r9, r3 │ │ │ │ │ - ldr r0, [sp, #1004] @ 0x3ec │ │ │ │ │ - add r1, pc │ │ │ │ │ - ldr r3, [sp, #1000] @ 0x3e8 │ │ │ │ │ + sub.w sp, sp, #892 @ 0x37c │ │ │ │ │ + ldrd r3, r0, [sp, #992] @ 0x3e0 │ │ │ │ │ + ldr r1, [pc, #36] @ (4c ) │ │ │ │ │ cmp r3, r0 │ │ │ │ │ - bge.w 14c2 │ │ │ │ │ - ldr r0, [sp, #1008] @ 0x3f0 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - add.w r6, r2, r3, lsl #6 │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ - str r0, [sp, #888] @ 0x378 │ │ │ │ │ - ldr r0, [pc, #12] @ (3c ) │ │ │ │ │ + add r1, pc │ │ │ │ │ + bge.w 1534 │ │ │ │ │ + ldr r0, [sp, #1000] @ 0x3e8 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + add.w r5, r2, r3, lsl #6 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ + str r0, [sp, #880] @ 0x370 │ │ │ │ │ + ldr r0, [pc, #12] @ (50 ) │ │ │ │ │ ldr r1, [r1, r0] │ │ │ │ │ - str r3, [sp, #884] @ 0x374 │ │ │ │ │ + str r3, [sp, #876] @ 0x36c │ │ │ │ │ ldr r1, [r1, #0] │ │ │ │ │ - str r1, [sp, #892] @ 0x37c │ │ │ │ │ - b.n 44 │ │ │ │ │ + str r1, [sp, #884] @ 0x374 │ │ │ │ │ + b.n 5a │ │ │ │ │ .word 0x0000001e │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #884] @ 0x374 │ │ │ │ │ - vldr d8, [r6, #-64] @ 0xffffffc0 │ │ │ │ │ - mov.w r2, r9, lsl #7 │ │ │ │ │ - vldr d7, [r6, #-48] @ 0xffffffd0 │ │ │ │ │ - add.w r0, r8, r2 │ │ │ │ │ - vldr d6, [r6, #-48] @ 0xffffffd0 │ │ │ │ │ - adds r3, r7, r2 │ │ │ │ │ - vldr d5, [r6, #-40] @ 0xffffffd8 │ │ │ │ │ - mov.w sl, #200 @ 0xc8 │ │ │ │ │ - vmul.f64 d4, d8, d7 │ │ │ │ │ - vldr d7, [r6, #-56] @ 0xffffffc8 │ │ │ │ │ - vldr d9, [r6, #-32] @ 0xffffffe0 │ │ │ │ │ - adds r6, #64 @ 0x40 │ │ │ │ │ - vldr d3, [r6, #-112] @ 0xffffff90 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + str r3, [sp, #876] @ 0x36c │ │ │ │ │ + vldr d3, [r5, #-64] @ 0xffffffc0 │ │ │ │ │ + mov.w r2, r8, lsl #7 │ │ │ │ │ + mov.w r9, #184 @ 0xb8 │ │ │ │ │ + mov.w lr, r8, lsl #4 │ │ │ │ │ + add.w r5, r5, #64 @ 0x40 │ │ │ │ │ + vldr d7, [r5, #-112] @ 0xffffff90 │ │ │ │ │ + add.w r0, r7, r2 │ │ │ │ │ + add.w r3, r6, r2 │ │ │ │ │ + vldr d6, [r5, #-112] @ 0xffffff90 │ │ │ │ │ + vldr d5, [r5, #-104] @ 0xffffff98 │ │ │ │ │ + vmul.f64 d4, d3, d7 │ │ │ │ │ + vldr d7, [r5, #-120] @ 0xffffff88 │ │ │ │ │ + vldr d9, [r5, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d0, [r5, #-88] @ 0xffffffa8 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [r6, #-120] @ 0xffffff88 │ │ │ │ │ - vldr d0, [r6, #-88] @ 0xffffffa8 │ │ │ │ │ - vmul.f64 d11, d8, d9 │ │ │ │ │ - vmul.f64 d15, d3, d9 │ │ │ │ │ - vldr d3, [r6, #-120] @ 0xffffff88 │ │ │ │ │ + vldr d6, [r5, #-120] @ 0xffffff88 │ │ │ │ │ + vldr d12, [r5, #-80] @ 0xffffffb0 │ │ │ │ │ + vmul.f64 d11, d3, d9 │ │ │ │ │ + vldr d13, [r5, #-72] @ 0xffffffb8 │ │ │ │ │ vmul.f64 d5, d6, d5 │ │ │ │ │ - vldr d6, [r6, #-104] @ 0xffffff98 │ │ │ │ │ - vldr d12, [r6, #-80] @ 0xffffffb0 │ │ │ │ │ - vldr d10, [r6, #-112] @ 0xffffff90 │ │ │ │ │ - vmul.f64 d6, d8, d6 │ │ │ │ │ - vstr d15, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d6, [r5, #-104] @ 0xffffff98 │ │ │ │ │ + vmul.f64 d6, d3, d6 │ │ │ │ │ vadd.f64 d1, d4, d5 │ │ │ │ │ vsub.f64 d2, d4, d5 │ │ │ │ │ - vldr d15, [r6, #-104] @ 0xffffff98 │ │ │ │ │ - vadd.f64 d5, d7, d6 │ │ │ │ │ - vsub.f64 d7, d6, d7 │ │ │ │ │ - vldr d6, [r6, #-104] @ 0xffffff98 │ │ │ │ │ + vadd.f64 d10, d7, d6 │ │ │ │ │ + vsub.f64 d5, d6, d7 │ │ │ │ │ + vldr d7, [r5, #-104] @ 0xffffff98 │ │ │ │ │ vstr d2, [sp] │ │ │ │ │ - vstr d1, [sp, #16] │ │ │ │ │ - vmul.f64 d1, d8, d12 │ │ │ │ │ - vstr d7, [sp, #8] │ │ │ │ │ - vmul.f64 d7, d6, d9 │ │ │ │ │ - vstr d5, [sp, #24] │ │ │ │ │ - vmul.f64 d5, d3, d0 │ │ │ │ │ - vldr d3, [r6, #-112] @ 0xffffff90 │ │ │ │ │ - vldr d6, [r6, #-120] @ 0xffffff88 │ │ │ │ │ - vstr d7, [sp, #32] │ │ │ │ │ - vmul.f64 d7, d3, d0 │ │ │ │ │ - vldr d3, [r6, #-104] @ 0xffffff98 │ │ │ │ │ - vmul.f64 d6, d6, d9 │ │ │ │ │ - vmul.f64 d3, d3, d0 │ │ │ │ │ - vstr d7, [sp, #48] @ 0x30 │ │ │ │ │ - vmul.f64 d7, d8, d0 │ │ │ │ │ + vldr d6, [r5, #-104] @ 0xffffff98 │ │ │ │ │ + vmul.f64 d15, d7, d9 │ │ │ │ │ + vldr d7, [r5, #-120] @ 0xffffff88 │ │ │ │ │ + vstr d10, [sp, #8] │ │ │ │ │ + vstr d5, [sp, #16] │ │ │ │ │ + vmov.f64 d5, d3 │ │ │ │ │ + vmul.f64 d3, d6, d0 │ │ │ │ │ + vldr d6, [r5, #-112] @ 0xffffff90 │ │ │ │ │ + vstr d1, [sp, #24] │ │ │ │ │ + vmul.f64 d8, d7, d9 │ │ │ │ │ + vldr d7, [r5, #-112] @ 0xffffff90 │ │ │ │ │ + vmul.f64 d1, d5, d12 │ │ │ │ │ + vmul.f64 d14, d7, d9 │ │ │ │ │ + vldr d7, [r5, #-120] @ 0xffffff88 │ │ │ │ │ vstr d3, [sp, #56] @ 0x38 │ │ │ │ │ - vmul.f64 d3, d10, d12 │ │ │ │ │ - vldr d10, [r6, #-120] @ 0xffffff88 │ │ │ │ │ - vmul.f64 d13, d10, d12 │ │ │ │ │ - vldr d10, [r6, #-104] @ 0xffffff98 │ │ │ │ │ - vmul.f64 d14, d10, d12 │ │ │ │ │ - vldr d10, [r6, #-72] @ 0xffffffb8 │ │ │ │ │ - vstr d13, [sp, #64] @ 0x40 │ │ │ │ │ - vmul.f64 d4, d15, d10 │ │ │ │ │ - vldr d15, [r6, #-112] @ 0xffffff90 │ │ │ │ │ - vmul.f64 d13, d15, d10 │ │ │ │ │ - vldr d15, [r6, #-120] @ 0xffffff88 │ │ │ │ │ - vmul.f64 d2, d15, d10 │ │ │ │ │ - vadd.f64 d15, d3, d4 │ │ │ │ │ - vsub.f64 d3, d3, d4 │ │ │ │ │ - vmul.f64 d4, d0, d10 │ │ │ │ │ + vmul.f64 d3, d6, d12 │ │ │ │ │ + vldr d6, [r5, #-120] @ 0xffffff88 │ │ │ │ │ + vstr d8, [sp, #32] │ │ │ │ │ + vstr d5, [sp, #96] @ 0x60 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ + vmul.f64 d4, d6, d12 │ │ │ │ │ + vldr d6, [r5, #-104] @ 0xffffff98 │ │ │ │ │ + vstr d7, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d7, [r5, #-112] @ 0xffffff90 │ │ │ │ │ + vmul.f64 d10, d6, d12 │ │ │ │ │ + vstr d4, [sp, #64] @ 0x40 │ │ │ │ │ + vmul.f64 d4, d6, d13 │ │ │ │ │ + vldr d6, [r5, #-112] @ 0xffffff90 │ │ │ │ │ + vmul.f64 d8, d7, d0 │ │ │ │ │ + vmul.f64 d7, d5, d0 │ │ │ │ │ + vstr d8, [sp, #48] @ 0x30 │ │ │ │ │ + vmul.f64 d8, d5, d13 │ │ │ │ │ + vstr d8, [sp, #72] @ 0x48 │ │ │ │ │ + vmul.f64 d8, d6, d13 │ │ │ │ │ + vldr d6, [r5, #-120] @ 0xffffff88 │ │ │ │ │ + vmul.f64 d2, d6, d13 │ │ │ │ │ + vadd.f64 d6, d3, d4 │ │ │ │ │ + vsub.f64 d4, d3, d4 │ │ │ │ │ + vstr d6, [sp, #80] @ 0x50 │ │ │ │ │ + vsub.f64 d6, d8, d10 │ │ │ │ │ + vadd.f64 d5, d1, d2 │ │ │ │ │ + vstr d4, [sp, #304] @ 0x130 │ │ │ │ │ + vmul.f64 d4, d0, d13 │ │ │ │ │ + vstr d6, [sp, #88] @ 0x58 │ │ │ │ │ + vadd.f64 d6, d10, d8 │ │ │ │ │ + vldr d10, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d5, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d8, [sp, #72] @ 0x48 │ │ │ │ │ vmla.f64 d4, d9, d12 │ │ │ │ │ - vstr d15, [sp, #72] @ 0x48 │ │ │ │ │ - vsub.f64 d15, d13, d14 │ │ │ │ │ - vadd.f64 d14, d14, d13 │ │ │ │ │ - vstr d3, [sp, #296] @ 0x128 │ │ │ │ │ - vstr d15, [sp, #80] @ 0x50 │ │ │ │ │ - vadd.f64 d15, d1, d2 │ │ │ │ │ - vstr d14, [sp, #288] @ 0x120 │ │ │ │ │ - vmul.f64 d14, d8, d10 │ │ │ │ │ - vstr d4, [sp, #256] @ 0x100 │ │ │ │ │ + vadd.f64 d5, d10, d8 │ │ │ │ │ + vsub.f64 d8, d8, d10 │ │ │ │ │ + vldr d10, [sp, #8] │ │ │ │ │ + vstr d6, [sp, #296] @ 0x128 │ │ │ │ │ + vstr d4, [sp, #264] @ 0x108 │ │ │ │ │ vmul.f64 d4, d0, d12 │ │ │ │ │ - vstr d15, [sp, #240] @ 0xf0 │ │ │ │ │ - vldr d15, [sp, #64] @ 0x40 │ │ │ │ │ - vmov.f64 d3, d4 │ │ │ │ │ - vadd.f64 d13, d15, d14 │ │ │ │ │ - vnmls.f64 d3, d9, d10 │ │ │ │ │ - vstr d13, [sp, #224] @ 0xe0 │ │ │ │ │ - vsub.f64 d13, d14, d15 │ │ │ │ │ - vsub.f64 d14, d1, d2 │ │ │ │ │ - vldr d1, [sp, #16] │ │ │ │ │ - vldr d2, [sp, #8] │ │ │ │ │ - vstr d13, [sp, #248] @ 0xf8 │ │ │ │ │ - vmul.f64 d4, d2, d10 │ │ │ │ │ - vstr d14, [sp, #232] @ 0xe8 │ │ │ │ │ - vstr d3, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d5, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d8, [sp, #256] @ 0x100 │ │ │ │ │ + vsub.f64 d8, d1, d2 │ │ │ │ │ + vldr d2, [sp, #16] │ │ │ │ │ + vnmls.f64 d4, d9, d13 │ │ │ │ │ + vldr d1, [sp, #24] │ │ │ │ │ + vstr d8, [sp, #240] @ 0xf0 │ │ │ │ │ vmul.f64 d3, d1, d12 │ │ │ │ │ - vldr d14, [sp, #24] │ │ │ │ │ - vadd.f64 d13, d3, d4 │ │ │ │ │ - vsub.f64 d4, d3, d4 │ │ │ │ │ - vmul.f64 d3, d1, d10 │ │ │ │ │ - vstr d4, [sp, #352] @ 0x160 │ │ │ │ │ + vstr d4, [sp, #272] @ 0x110 │ │ │ │ │ + vmul.f64 d4, d2, d13 │ │ │ │ │ + vadd.f64 d5, d3, d4 │ │ │ │ │ + vsub.f64 d3, d3, d4 │ │ │ │ │ vmul.f64 d4, d2, d12 │ │ │ │ │ - vsub.f64 d2, d3, d4 │ │ │ │ │ - vadd.f64 d15, d3, d4 │ │ │ │ │ - vmul.f64 d4, d14, d10 │ │ │ │ │ - vstr d2, [sp, #96] @ 0x60 │ │ │ │ │ vldr d2, [sp] │ │ │ │ │ - vstr d15, [sp, #360] @ 0x168 │ │ │ │ │ + vstr d5, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d3, [sp, #352] @ 0x160 │ │ │ │ │ + vmul.f64 d3, d1, d13 │ │ │ │ │ + vsub.f64 d8, d3, d4 │ │ │ │ │ + vadd.f64 d6, d3, d4 │ │ │ │ │ vmul.f64 d3, d2, d12 │ │ │ │ │ - vsub.f64 d15, d3, d4 │ │ │ │ │ - vadd.f64 d3, d3, d4 │ │ │ │ │ - vmul.f64 d4, d14, d12 │ │ │ │ │ - vstr d3, [sp, #144] @ 0x90 │ │ │ │ │ - vmul.f64 d3, d2, d10 │ │ │ │ │ - vstr d15, [sp, #128] @ 0x80 │ │ │ │ │ - vldr d15, [sp, #40] @ 0x28 │ │ │ │ │ - vadd.f64 d2, d3, d4 │ │ │ │ │ - vsub.f64 d4, d3, d4 │ │ │ │ │ - vstr d4, [sp, #152] @ 0x98 │ │ │ │ │ - vsub.f64 d4, d7, d6 │ │ │ │ │ - vadd.f64 d6, d6, d7 │ │ │ │ │ - vstr d2, [sp, #136] @ 0x88 │ │ │ │ │ - vadd.f64 d2, d11, d5 │ │ │ │ │ - vsub.f64 d5, d11, d5 │ │ │ │ │ - vmul.f64 d3, d10, d4 │ │ │ │ │ - vmul.f64 d7, d10, d6 │ │ │ │ │ + vmul.f64 d4, d10, d13 │ │ │ │ │ + vstr d8, [sp, #120] @ 0x78 │ │ │ │ │ + vstr d6, [sp, #360] @ 0x168 │ │ │ │ │ + vsub.f64 d6, d3, d4 │ │ │ │ │ + vadd.f64 d4, d3, d4 │ │ │ │ │ + vldr d8, [sp, #32] │ │ │ │ │ + vmul.f64 d3, d2, d13 │ │ │ │ │ + vstr d6, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d4, [sp, #168] @ 0xa8 │ │ │ │ │ + vmul.f64 d4, d10, d12 │ │ │ │ │ + vldr d6, [sp, #40] @ 0x28 │ │ │ │ │ + vadd.f64 d10, d3, d4 │ │ │ │ │ + vsub.f64 d3, d3, d4 │ │ │ │ │ + vsub.f64 d4, d7, d8 │ │ │ │ │ + vadd.f64 d2, d11, d6 │ │ │ │ │ + vsub.f64 d6, d11, d6 │ │ │ │ │ + vstr d10, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d3, [sp, #176] @ 0xb0 │ │ │ │ │ + vmul.f64 d3, d13, d4 │ │ │ │ │ vstr d6, [sp, #280] @ 0x118 │ │ │ │ │ - vmla.f64 d7, d12, d5 │ │ │ │ │ vmla.f64 d3, d12, d2 │ │ │ │ │ - vstr d5, [sp, #272] @ 0x110 │ │ │ │ │ - vstr d7, [sp, #104] @ 0x68 │ │ │ │ │ - vmul.f64 d7, d12, d6 │ │ │ │ │ - vstr d3, [sp, #384] @ 0x180 │ │ │ │ │ + vstr d3, [sp, #376] @ 0x178 │ │ │ │ │ vmul.f64 d3, d12, d4 │ │ │ │ │ - vldr d6, [sp, #56] @ 0x38 │ │ │ │ │ - vmov.f64 d11, d7 │ │ │ │ │ - vldr d7, [sp, #32] │ │ │ │ │ - vnmls.f64 d3, d10, d2 │ │ │ │ │ - vnmls.f64 d11, d10, d5 │ │ │ │ │ - vstr d3, [sp, #392] @ 0x188 │ │ │ │ │ - vsub.f64 d3, d15, d6 │ │ │ │ │ - vstr d11, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d11, [sp, #48] @ 0x30 │ │ │ │ │ - vadd.f64 d7, d7, d11 │ │ │ │ │ + vnmls.f64 d3, d13, d2 │ │ │ │ │ + vstr d3, [sp, #384] @ 0x180 │ │ │ │ │ + vadd.f64 d3, d8, d7 │ │ │ │ │ + vmul.f64 d7, d13, d3 │ │ │ │ │ + vstr d3, [sp, #288] @ 0x120 │ │ │ │ │ + vmla.f64 d7, d12, d6 │ │ │ │ │ + vstr d7, [sp, #128] @ 0x80 │ │ │ │ │ + vmul.f64 d7, d12, d3 │ │ │ │ │ + vnmls.f64 d7, d13, d6 │ │ │ │ │ + vstr d7, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d10, [sp, #48] @ 0x30 │ │ │ │ │ + str r0, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d3, [sp, #56] @ 0x38 │ │ │ │ │ + str r3, [sp, #56] @ 0x38 │ │ │ │ │ + vadd.f64 d7, d15, d10 │ │ │ │ │ + vsub.f64 d15, d10, d15 │ │ │ │ │ + vsub.f64 d6, d14, d3 │ │ │ │ │ + vadd.f64 d14, d14, d3 │ │ │ │ │ vmov.f64 d5, d7 │ │ │ │ │ - vmul.f64 d7, d10, d7 │ │ │ │ │ - vmla.f64 d7, d12, d3 │ │ │ │ │ - vstr d7, [sp, #160] @ 0xa0 │ │ │ │ │ + vmul.f64 d7, d13, d7 │ │ │ │ │ + vstr d6, [sp, #208] @ 0xd0 │ │ │ │ │ + vstr d5, [sp, #216] @ 0xd8 │ │ │ │ │ + vmov.f64 d11, d7 │ │ │ │ │ vmul.f64 d7, d12, d5 │ │ │ │ │ - vstr d5, [sp, #200] @ 0xc8 │ │ │ │ │ - vadd.f64 d5, d15, d6 │ │ │ │ │ - vstr d3, [sp, #192] @ 0xc0 │ │ │ │ │ - str r0, [sp, #40] @ 0x28 │ │ │ │ │ - vnmls.f64 d7, d10, d3 │ │ │ │ │ - vstr d5, [sp, #320] @ 0x140 │ │ │ │ │ - vstr d7, [sp, #168] @ 0xa8 │ │ │ │ │ - vldr d7, [sp, #32] │ │ │ │ │ - str r3, [sp, #32] │ │ │ │ │ - vsub.f64 d6, d11, d7 │ │ │ │ │ - vmul.f64 d7, d10, d6 │ │ │ │ │ - vstr d6, [sp, #328] @ 0x148 │ │ │ │ │ - vmov.f64 d15, d7 │ │ │ │ │ - vmul.f64 d7, d12, d6 │ │ │ │ │ - vmla.f64 d15, d12, d5 │ │ │ │ │ - vmov.f64 d6, d7 │ │ │ │ │ - vnmls.f64 d6, d10, d5 │ │ │ │ │ - vldr d5, [sp, #8] │ │ │ │ │ - vstr d15, [sp, #344] @ 0x158 │ │ │ │ │ - vmul.f64 d7, d5, d0 │ │ │ │ │ - vstr d6, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d5, [sp, #16] │ │ │ │ │ + vmla.f64 d11, d12, d6 │ │ │ │ │ + vmov.f64 d8, d7 │ │ │ │ │ + vmul.f64 d7, d13, d15 │ │ │ │ │ + vmul.f64 d10, d5, d9 │ │ │ │ │ + vnmls.f64 d8, d13, d6 │ │ │ │ │ vmul.f64 d6, d1, d9 │ │ │ │ │ - vsub.f64 d15, d6, d7 │ │ │ │ │ + vmla.f64 d7, d12, d14 │ │ │ │ │ + vstr d11, [sp, #184] @ 0xb8 │ │ │ │ │ + vstr d8, [sp, #192] @ 0xc0 │ │ │ │ │ + vstr d7, [sp, #344] @ 0x158 │ │ │ │ │ + vmul.f64 d7, d12, d15 │ │ │ │ │ + vmov.f64 d8, d7 │ │ │ │ │ + vmul.f64 d7, d5, d0 │ │ │ │ │ + vnmls.f64 d8, d13, d14 │ │ │ │ │ + vsub.f64 d3, d6, d7 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ vmul.f64 d6, d1, d0 │ │ │ │ │ - vmov.f64 d3, d7 │ │ │ │ │ - vmul.f64 d7, d5, d9 │ │ │ │ │ - vstr d15, [sp, #408] @ 0x198 │ │ │ │ │ - vadd.f64 d5, d6, d7 │ │ │ │ │ - vsub.f64 d7, d6, d7 │ │ │ │ │ - vstr d3, [sp, #176] @ 0xb0 │ │ │ │ │ - vmov.f64 d1, d7 │ │ │ │ │ - vmul.f64 d7, d12, d7 │ │ │ │ │ - vmov.f64 d6, d5 │ │ │ │ │ - vmul.f64 d5, d10, d5 │ │ │ │ │ - vmla.f64 d5, d12, d15 │ │ │ │ │ - vnmls.f64 d7, d10, d3 │ │ │ │ │ - vstr d1, [sp, #184] @ 0xb8 │ │ │ │ │ - vstr d6, [sp, #416] @ 0x1a0 │ │ │ │ │ - vstr d7, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d1, [sp] │ │ │ │ │ + vstr d8, [sp, #392] @ 0x188 │ │ │ │ │ + vmov.f64 d8, d7 │ │ │ │ │ + vadd.f64 d7, d6, d10 │ │ │ │ │ + vsub.f64 d10, d6, d10 │ │ │ │ │ + vstr d3, [sp, #400] @ 0x190 │ │ │ │ │ + vstr d8, [sp, #200] @ 0xc8 │ │ │ │ │ + vmov.f64 d6, d7 │ │ │ │ │ + vmul.f64 d5, d13, d7 │ │ │ │ │ + vmul.f64 d7, d12, d10 │ │ │ │ │ + vstr d6, [sp, #408] @ 0x198 │ │ │ │ │ + vmla.f64 d5, d12, d3 │ │ │ │ │ + vmov.f64 d11, d7 │ │ │ │ │ vmul.f64 d7, d12, d6 │ │ │ │ │ - vmul.f64 d6, d10, d1 │ │ │ │ │ - vmov.f64 d1, d14 │ │ │ │ │ - vnmls.f64 d7, d10, d15 │ │ │ │ │ - vldr d15, [sp] │ │ │ │ │ + vmul.f64 d6, d13, d10 │ │ │ │ │ + vnmls.f64 d11, d13, d8 │ │ │ │ │ + vnmls.f64 d7, d13, d3 │ │ │ │ │ + vmul.f64 d3, d1, d9 │ │ │ │ │ + vstr d7, [sp, #48] @ 0x30 │ │ │ │ │ + vmov.f64 d7, d6 │ │ │ │ │ + vstr d11, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d11, [sp, #8] │ │ │ │ │ + vmla.f64 d7, d12, d8 │ │ │ │ │ + vmul.f64 d6, d11, d0 │ │ │ │ │ + vadd.f64 d8, d3, d6 │ │ │ │ │ + vstr d7, [sp, #312] @ 0x138 │ │ │ │ │ + vsub.f64 d7, d3, d6 │ │ │ │ │ + vmul.f64 d3, d1, d0 │ │ │ │ │ + vmul.f64 d6, d11, d9 │ │ │ │ │ + vldr d1, [r3] │ │ │ │ │ + mov.w r3, r8, lsl #6 │ │ │ │ │ + add.w fp, r6, r3 │ │ │ │ │ + add.w sl, r7, r3 │ │ │ │ │ + add.w r3, sl, r2 │ │ │ │ │ + add.w r4, fp, r2 │ │ │ │ │ + vstr d7, [sp, #32] │ │ │ │ │ + vadd.f64 d7, d3, d6 │ │ │ │ │ + vsub.f64 d6, d3, d6 │ │ │ │ │ + vldr d3, [sp, #32] │ │ │ │ │ + vstr d6, [sp, #40] @ 0x28 │ │ │ │ │ + vmul.f64 d6, d13, d7 │ │ │ │ │ + vstr d8, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d7, [sp, #368] @ 0x170 │ │ │ │ │ vmov.f64 d11, d6 │ │ │ │ │ - vmul.f64 d6, d14, d0 │ │ │ │ │ vmla.f64 d11, d12, d3 │ │ │ │ │ - vmul.f64 d3, d15, d9 │ │ │ │ │ - vstr d11, [sp, #216] @ 0xd8 │ │ │ │ │ - vsub.f64 d11, d3, d6 │ │ │ │ │ - vadd.f64 d6, d3, d6 │ │ │ │ │ - vmul.f64 d3, d15, d0 │ │ │ │ │ - vmul.f64 d15, d1, d9 │ │ │ │ │ - vstr d11, [sp, #368] @ 0x170 │ │ │ │ │ - vmov.f64 d14, d6 │ │ │ │ │ - vadd.f64 d1, d3, d15 │ │ │ │ │ - vsub.f64 d15, d3, d15 │ │ │ │ │ + vstr d11, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d11, [sp, #40] @ 0x28 │ │ │ │ │ + vmul.f64 d6, d12, d11 │ │ │ │ │ + vnmls.f64 d6, d13, d8 │ │ │ │ │ + vstr d6, [sp, #320] @ 0x140 │ │ │ │ │ + vmul.f64 d6, d12, d7 │ │ │ │ │ + vldr d7, [sp, #48] @ 0x30 │ │ │ │ │ + vnmls.f64 d6, d13, d3 │ │ │ │ │ vldr d3, [r0] │ │ │ │ │ - vstr d14, [sp, #336] @ 0x150 │ │ │ │ │ - vmul.f64 d6, d10, d1 │ │ │ │ │ - vstr d1, [sp, #376] @ 0x178 │ │ │ │ │ - vmla.f64 d6, d12, d11 │ │ │ │ │ - vstr d6, [sp, #312] @ 0x138 │ │ │ │ │ - vmul.f64 d6, d12, d15 │ │ │ │ │ - vnmls.f64 d6, d10, d14 │ │ │ │ │ - vstr d6, [sp, #304] @ 0x130 │ │ │ │ │ - vmul.f64 d6, d12, d1 │ │ │ │ │ - vmov.f64 d1, d6 │ │ │ │ │ - vmul.f64 d6, d10, d15 │ │ │ │ │ - vmla.f64 d6, d12, d14 │ │ │ │ │ - vnmls.f64 d1, d10, d11 │ │ │ │ │ - vstr d6, [sp, #648] @ 0x288 │ │ │ │ │ + mov.w r0, r8, lsl #3 │ │ │ │ │ + add.w r1, r7, r0 │ │ │ │ │ + add.w ip, r0, r8 │ │ │ │ │ + vstr d6, [sp, #632] @ 0x278 │ │ │ │ │ + vmul.f64 d6, d13, d11 │ │ │ │ │ + vmov.f64 d11, d6 │ │ │ │ │ vmul.f64 d6, d7, d3 │ │ │ │ │ - vstr d1, [sp, #640] @ 0x280 │ │ │ │ │ - vldr d1, [r3] │ │ │ │ │ - mov.w r3, r9, lsl #6 │ │ │ │ │ - add.w lr, r7, r3 │ │ │ │ │ - add.w ip, r8, r3 │ │ │ │ │ - add.w r4, lr, r2 │ │ │ │ │ - add.w r5, ip, r2 │ │ │ │ │ + vmla.f64 d11, d12, d8 │ │ │ │ │ vmla.f64 d6, d5, d1 │ │ │ │ │ vmul.f64 d1, d7, d1 │ │ │ │ │ - str r4, [sp, #48] @ 0x30 │ │ │ │ │ - mov.w r3, r9, lsl #3 │ │ │ │ │ - str r5, [sp, #56] @ 0x38 │ │ │ │ │ - adds r0, r7, r3 │ │ │ │ │ - add r3, r8 │ │ │ │ │ vnmls.f64 d1, d5, d3 │ │ │ │ │ - vldr d3, [lr] │ │ │ │ │ - vldr d5, [ip] │ │ │ │ │ + vstr d11, [sp, #640] @ 0x280 │ │ │ │ │ + vldr d3, [fp] │ │ │ │ │ + str r2, [sp, #48] @ 0x30 │ │ │ │ │ + mov.w r2, #200 @ 0xc8 │ │ │ │ │ + vldr d5, [sl] │ │ │ │ │ + str r4, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d8, [sp, #80] @ 0x50 │ │ │ │ │ + str r3, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d11, [sp, #88] @ 0x58 │ │ │ │ │ + str r1, [sp, #88] @ 0x58 │ │ │ │ │ vmul.f64 d7, d4, d5 │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ vmla.f64 d7, d2, d3 │ │ │ │ │ - vldr d3, [r5] │ │ │ │ │ + vldr d3, [r3] │ │ │ │ │ vnmls.f64 d4, d2, d5 │ │ │ │ │ + mul.w r3, r2, r8 │ │ │ │ │ vldr d2, [r4] │ │ │ │ │ - vldr d14, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d11, [sp, #72] @ 0x48 │ │ │ │ │ - str r3, [sp, #72] @ 0x48 │ │ │ │ │ - vmul.f64 d5, d14, d3 │ │ │ │ │ - str r0, [sp, #64] @ 0x40 │ │ │ │ │ - vmla.f64 d5, d11, d2 │ │ │ │ │ - vmul.f64 d2, d14, d2 │ │ │ │ │ - vldr d14, [r7] │ │ │ │ │ - vnmls.f64 d2, d11, d3 │ │ │ │ │ - vadd.f64 d14, d14, d6 │ │ │ │ │ + add.w r4, r6, r0 │ │ │ │ │ + sub.w r0, r0, r8 │ │ │ │ │ + str r4, [sp, #80] @ 0x50 │ │ │ │ │ + vmul.f64 d5, d11, d3 │ │ │ │ │ + vmla.f64 d5, d8, d2 │ │ │ │ │ + vmul.f64 d2, d11, d2 │ │ │ │ │ + vldr d11, [r6] │ │ │ │ │ + vnmls.f64 d2, d8, d3 │ │ │ │ │ + vadd.f64 d11, d11, d6 │ │ │ │ │ vadd.f64 d3, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vadd.f64 d11, d14, d3 │ │ │ │ │ - vsub.f64 d14, d14, d3 │ │ │ │ │ - vstr d14, [sp, #784] @ 0x310 │ │ │ │ │ - vldr d14, [r8] │ │ │ │ │ + vadd.f64 d8, d11, d3 │ │ │ │ │ + vsub.f64 d11, d11, d3 │ │ │ │ │ + vstr d8, [sp, #768] @ 0x300 │ │ │ │ │ vstr d11, [sp, #776] @ 0x308 │ │ │ │ │ - vldr d11, [sp, #112] @ 0x70 │ │ │ │ │ - vsub.f64 d3, d14, d1 │ │ │ │ │ - vadd.f64 d1, d14, d1 │ │ │ │ │ - vldr d14, [r6, #-120] @ 0xffffff88 │ │ │ │ │ + vldr d11, [r7] │ │ │ │ │ + vldr d8, [sp, #120] @ 0x78 │ │ │ │ │ + vsub.f64 d3, d11, d1 │ │ │ │ │ vsub.f64 d5, d3, d7 │ │ │ │ │ vadd.f64 d7, d3, d7 │ │ │ │ │ - vstr d7, [sp, #800] @ 0x320 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - vstr d5, [sp, #792] @ 0x318 │ │ │ │ │ + vstr d5, [sp, #784] @ 0x310 │ │ │ │ │ + vstr d7, [sp, #792] @ 0x318 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vsub.f64 d6, d4, d2 │ │ │ │ │ vadd.f64 d2, d4, d2 │ │ │ │ │ - vsub.f64 d5, d7, d6 │ │ │ │ │ + vldr d4, [sp, #96] @ 0x60 │ │ │ │ │ + vsub.f64 d11, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d7, [sp, #816] @ 0x330 │ │ │ │ │ + vstr d11, [sp, #800] @ 0x320 │ │ │ │ │ + vstr d7, [sp, #808] @ 0x328 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + vadd.f64 d1, d7, d1 │ │ │ │ │ vadd.f64 d7, d2, d1 │ │ │ │ │ - vstr d5, [sp, #808] @ 0x328 │ │ │ │ │ vsub.f64 d2, d1, d2 │ │ │ │ │ + vstr d7, [sp, #416] @ 0x1a0 │ │ │ │ │ + vstr d2, [sp, #816] @ 0x330 │ │ │ │ │ + vldr d2, [r5, #-120] @ 0xffffff88 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + add.w r4, r6, r3 │ │ │ │ │ + add r3, r7 │ │ │ │ │ + str r4, [sp, #96] @ 0x60 │ │ │ │ │ + str r3, [sp, #108] @ 0x6c │ │ │ │ │ + vmul.f64 d6, d2, d5 │ │ │ │ │ + vmla.f64 d6, d4, d7 │ │ │ │ │ + vmul.f64 d7, d2, d7 │ │ │ │ │ + vnmls.f64 d7, d4, d5 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - mul.w r3, sl, r9 │ │ │ │ │ - mov.w sl, #136 @ 0x88 │ │ │ │ │ - vstr d7, [sp, #424] @ 0x1a8 │ │ │ │ │ - add.w r5, r8, r3 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - vmul.f64 d6, d14, d5 │ │ │ │ │ - adds r4, r7, r3 │ │ │ │ │ - mul.w r3, sl, r9 │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ - vmla.f64 d6, d8, d7 │ │ │ │ │ - vmul.f64 d7, d14, d7 │ │ │ │ │ - vldr d14, [sp, #96] @ 0x60 │ │ │ │ │ - adds r1, r7, r3 │ │ │ │ │ - add r3, r8 │ │ │ │ │ + add.w r3, lr, r8 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + add.w r1, r6, r3 │ │ │ │ │ + add r3, r7 │ │ │ │ │ + vldr d11, [sp, #112] @ 0x70 │ │ │ │ │ + str r1, [sp, #112] @ 0x70 │ │ │ │ │ + vmul.f64 d2, d8, d5 │ │ │ │ │ + vldr d1, [sp, #128] @ 0x80 │ │ │ │ │ str r3, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d2, [sp, #824] @ 0x338 │ │ │ │ │ - vnmls.f64 d7, d8, d5 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - vmul.f64 d1, d14, d4 │ │ │ │ │ - vldr d8, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ - vmla.f64 d1, d13, d5 │ │ │ │ │ - vmul.f64 d5, d14, d5 │ │ │ │ │ - str r4, [sp, #80] @ 0x50 │ │ │ │ │ - str r5, [sp, #92] @ 0x5c │ │ │ │ │ - str r1, [sp, #96] @ 0x60 │ │ │ │ │ - vnmls.f64 d5, d13, d4 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - movs r3, #72 @ 0x48 │ │ │ │ │ - vmul.f64 d2, d11, d4 │ │ │ │ │ - mul.w r3, r3, r9 │ │ │ │ │ - vmla.f64 d2, d8, d3 │ │ │ │ │ - vmul.f64 d3, d11, d3 │ │ │ │ │ - adds r0, r7, r3 │ │ │ │ │ - add.w r4, r8, r3 │ │ │ │ │ - str r0, [sp, #104] @ 0x68 │ │ │ │ │ - movs r3, #248 @ 0xf8 │ │ │ │ │ - str r4, [sp, #112] @ 0x70 │ │ │ │ │ - vnmls.f64 d3, d8, d4 │ │ │ │ │ - vldr d8, [r0] │ │ │ │ │ - vldr d13, [r4] │ │ │ │ │ - mul.w r3, r3, r9 │ │ │ │ │ - add.w r1, r8, r3 │ │ │ │ │ - adds r5, r7, r3 │ │ │ │ │ - vmul.f64 d4, d0, d13 │ │ │ │ │ - movs r3, #184 @ 0xb8 │ │ │ │ │ - vmla.f64 d4, d9, d8 │ │ │ │ │ - vmul.f64 d8, d0, d8 │ │ │ │ │ - str r5, [sp, #124] @ 0x7c │ │ │ │ │ - mul.w r3, r3, r9 │ │ │ │ │ - str r1, [sp, #880] @ 0x370 │ │ │ │ │ - vnmls.f64 d8, d9, d13 │ │ │ │ │ - vadd.f64 d9, d6, d2 │ │ │ │ │ - vsub.f64 d6, d6, d2 │ │ │ │ │ - vldr d2, [sp, #128] @ 0x80 │ │ │ │ │ - vadd.f64 d0, d1, d4 │ │ │ │ │ - vsub.f64 d4, d4, d1 │ │ │ │ │ - vadd.f64 d13, d9, d0 │ │ │ │ │ - vsub.f64 d9, d9, d0 │ │ │ │ │ - vadd.f64 d0, d5, d8 │ │ │ │ │ - vsub.f64 d8, d8, d5 │ │ │ │ │ + vmul.f64 d8, d8, d4 │ │ │ │ │ + vmla.f64 d2, d11, d4 │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ + vnmls.f64 d8, d11, d5 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ + mov.w r3, ip, lsl #3 │ │ │ │ │ + mov.w ip, ip, lsl #4 │ │ │ │ │ + vldr d11, [sp, #136] @ 0x88 │ │ │ │ │ + add.w r1, r7, r3 │ │ │ │ │ + add.w r4, r6, r3 │ │ │ │ │ + mov.w r3, r8, lsl #5 │ │ │ │ │ + str r4, [sp, #128] @ 0x80 │ │ │ │ │ + str r1, [sp, #136] @ 0x88 │ │ │ │ │ + vmul.f64 d3, d11, d5 │ │ │ │ │ + vmla.f64 d3, d1, d4 │ │ │ │ │ + vmul.f64 d4, d11, d4 │ │ │ │ │ + vldr d11, [r4] │ │ │ │ │ + vnmls.f64 d4, d1, d5 │ │ │ │ │ + vldr d1, [r1] │ │ │ │ │ + sub.w r1, r3, r8 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + add.w r4, r6, r1 │ │ │ │ │ + add r1, r7 │ │ │ │ │ + strd r4, r1, [sp, #144] @ 0x90 │ │ │ │ │ + vmul.f64 d5, d0, d1 │ │ │ │ │ + vmul.f64 d0, d0, d11 │ │ │ │ │ + vmla.f64 d5, d9, d11 │ │ │ │ │ + vnmls.f64 d0, d9, d1 │ │ │ │ │ + vadd.f64 d9, d6, d3 │ │ │ │ │ + vsub.f64 d6, d6, d3 │ │ │ │ │ + vadd.f64 d1, d2, d5 │ │ │ │ │ + vsub.f64 d5, d5, d2 │ │ │ │ │ + vadd.f64 d11, d9, d1 │ │ │ │ │ + vsub.f64 d9, d9, d1 │ │ │ │ │ + vadd.f64 d1, d8, d0 │ │ │ │ │ + vsub.f64 d0, d0, d8 │ │ │ │ │ + vstr d11, [sp, #424] @ 0x1a8 │ │ │ │ │ + vstr d9, [sp, #432] @ 0x1b0 │ │ │ │ │ + vadd.f64 d9, d7, d4 │ │ │ │ │ + vsub.f64 d7, d7, d4 │ │ │ │ │ + vadd.f64 d2, d7, d5 │ │ │ │ │ + vsub.f64 d7, d7, d5 │ │ │ │ │ + vsub.f64 d11, d9, d1 │ │ │ │ │ + vadd.f64 d9, d9, d1 │ │ │ │ │ + vstr d7, [sp, #456] @ 0x1c8 │ │ │ │ │ + vsub.f64 d7, d6, d0 │ │ │ │ │ + vadd.f64 d0, d6, d0 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + vstr d2, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d2, [sp, #152] @ 0x98 │ │ │ │ │ vstr d9, [sp, #440] @ 0x1b8 │ │ │ │ │ - vadd.f64 d9, d7, d3 │ │ │ │ │ - vsub.f64 d7, d7, d3 │ │ │ │ │ - vstr d13, [sp, #432] @ 0x1b0 │ │ │ │ │ - vsub.f64 d14, d6, d8 │ │ │ │ │ - vadd.f64 d8, d6, d8 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - adds r5, r7, r3 │ │ │ │ │ - vsub.f64 d11, d9, d0 │ │ │ │ │ - vadd.f64 d0, d9, d0 │ │ │ │ │ - vadd.f64 d13, d7, d4 │ │ │ │ │ - add r3, r8 │ │ │ │ │ - vldr d9, [sp, #152] @ 0x98 │ │ │ │ │ - vstr d8, [sp, #840] @ 0x348 │ │ │ │ │ - vstr d0, [sp, #448] @ 0x1c0 │ │ │ │ │ - vsub.f64 d0, d7, d4 │ │ │ │ │ + vldr d9, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d7, [sp, #464] @ 0x1d0 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - movs r1, #48 @ 0x30 │ │ │ │ │ - vstr d11, [sp, #832] @ 0x340 │ │ │ │ │ - vldr d11, [sp, #168] @ 0xa8 │ │ │ │ │ - vstr d0, [sp, #464] @ 0x1d0 │ │ │ │ │ - mul.w r1, r1, r9 │ │ │ │ │ - vldr d0, [sp, #136] @ 0x88 │ │ │ │ │ - str r3, [sp, #136] @ 0x88 │ │ │ │ │ - add.w sl, r7, r1 │ │ │ │ │ - vldr d8, [sp, #160] @ 0xa0 │ │ │ │ │ - add r1, r8 │ │ │ │ │ + mul.w r1, r9, r8 │ │ │ │ │ + vstr d11, [sp, #824] @ 0x338 │ │ │ │ │ + vstr d0, [sp, #832] @ 0x340 │ │ │ │ │ + vldr d0, [sp, #160] @ 0xa0 │ │ │ │ │ + add.w r4, r6, r1 │ │ │ │ │ + add r1, r7 │ │ │ │ │ + str r4, [sp, #152] @ 0x98 │ │ │ │ │ + str r1, [sp, #160] @ 0xa0 │ │ │ │ │ vmul.f64 d3, d0, d7 │ │ │ │ │ - str r5, [sp, #128] @ 0x80 │ │ │ │ │ vmla.f64 d3, d2, d6 │ │ │ │ │ vmul.f64 d6, d0, d6 │ │ │ │ │ - vldr d0, [sp, #144] @ 0x90 │ │ │ │ │ - vstr d13, [sp, #456] @ 0x1c8 │ │ │ │ │ - vstr d14, [sp, #472] @ 0x1d8 │ │ │ │ │ + vldr d0, [sp, #168] @ 0xa8 │ │ │ │ │ vnmls.f64 d6, d2, d7 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - movs r3, #120 @ 0x78 │ │ │ │ │ - vldr d2, [r5] │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + sub.w r1, lr, r8 │ │ │ │ │ + vldr d2, [r4] │ │ │ │ │ + mov.w r4, r1, lsl #3 │ │ │ │ │ + mov.w r1, r1, lsl #4 │ │ │ │ │ + add.w r2, r6, r4 │ │ │ │ │ vmul.f64 d1, d9, d7 │ │ │ │ │ - mul.w r3, r3, r9 │ │ │ │ │ + str r2, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + add.w r2, r7, r4 │ │ │ │ │ + mov.w r4, r0, lsl #3 │ │ │ │ │ + vldr d11, [sp, #184] @ 0xb8 │ │ │ │ │ + str r2, [sp, #176] @ 0xb0 │ │ │ │ │ vmla.f64 d1, d0, d2 │ │ │ │ │ vmul.f64 d2, d9, d2 │ │ │ │ │ - add.w r4, r8, r3 │ │ │ │ │ - adds r0, r7, r3 │ │ │ │ │ - movs r3, #56 @ 0x38 │ │ │ │ │ - str r0, [sp, #144] @ 0x90 │ │ │ │ │ - str r4, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d9, [sp, #192] @ 0xc0 │ │ │ │ │ vnmls.f64 d2, d0, d7 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ - mul.w r3, r3, r9 │ │ │ │ │ - vmul.f64 d0, d11, d7 │ │ │ │ │ - adds r5, r7, r3 │ │ │ │ │ - vmla.f64 d0, d8, d4 │ │ │ │ │ - vmul.f64 d4, d11, d4 │ │ │ │ │ - add r3, r8 │ │ │ │ │ - vldr d11, [sp, #184] @ 0xb8 │ │ │ │ │ - str r5, [sp, #160] @ 0xa0 │ │ │ │ │ - str r3, [sp, #168] @ 0xa8 │ │ │ │ │ - vnmls.f64 d4, d8, d7 │ │ │ │ │ - vldr d8, [r3] │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - mov.w r3, r9, lsl #5 │ │ │ │ │ - vldr d9, [sp, #176] @ 0xb0 │ │ │ │ │ - add.w r4, r8, r3 │ │ │ │ │ - vmul.f64 d5, d11, d8 │ │ │ │ │ - adds r0, r7, r3 │ │ │ │ │ - movs r3, #96 @ 0x60 │ │ │ │ │ - str r4, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + add.w r2, r6, r4 │ │ │ │ │ + str r2, [sp, #184] @ 0xb8 │ │ │ │ │ + vmul.f64 d0, d9, d7 │ │ │ │ │ + vmla.f64 d0, d11, d4 │ │ │ │ │ + vmul.f64 d4, d9, d4 │ │ │ │ │ + vldr d9, [sp, #200] @ 0xc8 │ │ │ │ │ + vnmls.f64 d4, d11, d7 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + add.w r2, r7, r4 │ │ │ │ │ + vldr d8, [r2] │ │ │ │ │ + str r2, [sp, #192] @ 0xc0 │ │ │ │ │ + add.w r2, r6, r3 │ │ │ │ │ + add r3, r7 │ │ │ │ │ + str r2, [sp, #200] @ 0xc8 │ │ │ │ │ + str r3, [sp, #872] @ 0x368 │ │ │ │ │ + vmul.f64 d5, d10, d8 │ │ │ │ │ vmla.f64 d5, d9, d7 │ │ │ │ │ - vmul.f64 d7, d11, d7 │ │ │ │ │ - str r0, [sp, #176] @ 0xb0 │ │ │ │ │ - mul.w r3, r3, r9 │ │ │ │ │ - vldr d13, [sp, #224] @ 0xe0 │ │ │ │ │ + vmul.f64 d7, d10, d7 │ │ │ │ │ vnmls.f64 d7, d9, d8 │ │ │ │ │ vadd.f64 d9, d3, d0 │ │ │ │ │ vsub.f64 d3, d3, d0 │ │ │ │ │ - adds r5, r7, r3 │ │ │ │ │ - add r3, r8 │ │ │ │ │ vadd.f64 d8, d1, d5 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ - vadd.f64 d11, d9, d8 │ │ │ │ │ + vadd.f64 d10, d9, d8 │ │ │ │ │ vsub.f64 d9, d9, d8 │ │ │ │ │ vadd.f64 d8, d2, d7 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ - vstr d9, [sp, #488] @ 0x1e8 │ │ │ │ │ - vadd.f64 d9, d6, d4 │ │ │ │ │ + vstr d10, [sp, #472] @ 0x1d8 │ │ │ │ │ vsub.f64 d0, d3, d7 │ │ │ │ │ + vstr d9, [sp, #480] @ 0x1e0 │ │ │ │ │ + vadd.f64 d9, d6, d4 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ - vadd.f64 d7, d3, d7 │ │ │ │ │ - vldr d4, [sp, #24] │ │ │ │ │ - str r3, [sp, #24] │ │ │ │ │ - vstr d11, [sp, #480] @ 0x1e0 │ │ │ │ │ - vsub.f64 d11, d9, d8 │ │ │ │ │ + vsub.f64 d10, d9, d8 │ │ │ │ │ + vadd.f64 d9, d9, d8 │ │ │ │ │ vsub.f64 d2, d6, d5 │ │ │ │ │ + vstr d0, [sp, #504] @ 0x1f8 │ │ │ │ │ + vadd.f64 d0, d3, d7 │ │ │ │ │ + vstr d10, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d10, [sp, #8] │ │ │ │ │ + vstr d9, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ vstr d0, [sp, #512] @ 0x200 │ │ │ │ │ - vstr d7, [sp, #520] @ 0x208 │ │ │ │ │ - vadd.f64 d7, d6, d5 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - vadd.f64 d8, d9, d8 │ │ │ │ │ + vadd.f64 d0, d6, d5 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + add.w r3, r8, r8, lsl #1 │ │ │ │ │ vldr d5, [sp] │ │ │ │ │ - vldr d0, [sp, #200] @ 0xc8 │ │ │ │ │ - vstr d7, [sp, #528] @ 0x210 │ │ │ │ │ - vmul.f64 d3, d4, d6 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - vstr d2, [sp, #536] @ 0x218 │ │ │ │ │ - vldr d2, [sp, #192] @ 0xc0 │ │ │ │ │ + mov.w r4, r3, lsl #5 │ │ │ │ │ + add.w r2, r6, r4 │ │ │ │ │ + vstr d2, [sp, #528] @ 0x210 │ │ │ │ │ + vmul.f64 d3, d10, d6 │ │ │ │ │ + str r2, [sp, #0] │ │ │ │ │ + vstr d0, [sp, #520] @ 0x208 │ │ │ │ │ + vldr d2, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d0, [sp, #216] @ 0xd8 │ │ │ │ │ vmla.f64 d3, d5, d7 │ │ │ │ │ - vmul.f64 d7, d4, d7 │ │ │ │ │ - vstr d8, [sp, #504] @ 0x1f8 │ │ │ │ │ - vldr d8, [sp, #208] @ 0xd0 │ │ │ │ │ - vldr d4, [sp, #216] @ 0xd8 │ │ │ │ │ + vmul.f64 d7, d10, d7 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - movs r3, #160 @ 0xa0 │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ - str r5, [sp, #0] │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + add.w r2, r7, r4 │ │ │ │ │ + add.w r4, r8, r8, lsl #2 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + mov.w r9, r4, lsl #5 │ │ │ │ │ + str r2, [sp, #8] │ │ │ │ │ + add.w r2, r6, r9 │ │ │ │ │ + str r2, [sp, #208] @ 0xd0 │ │ │ │ │ vmul.f64 d1, d0, d6 │ │ │ │ │ - vstr d11, [sp, #496] @ 0x1f0 │ │ │ │ │ - mul.w r3, r3, r9 │ │ │ │ │ vmla.f64 d1, d2, d5 │ │ │ │ │ vmul.f64 d5, d0, d5 │ │ │ │ │ - add.w r4, r8, r3 │ │ │ │ │ - adds r0, r7, r3 │ │ │ │ │ - movs r3, #224 @ 0xe0 │ │ │ │ │ - str r0, [sp, #192] @ 0xc0 │ │ │ │ │ - str r4, [sp, #200] @ 0xc8 │ │ │ │ │ vnmls.f64 d5, d2, d6 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ - mul.w r3, r3, r9 │ │ │ │ │ - vmul.f64 d0, d8, d6 │ │ │ │ │ - adds r5, r7, r3 │ │ │ │ │ - vmla.f64 d0, d4, d2 │ │ │ │ │ - add r3, r8 │ │ │ │ │ - vmul.f64 d2, d8, d2 │ │ │ │ │ - str r5, [sp, #208] @ 0xd0 │ │ │ │ │ - str r3, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d8, [r3] │ │ │ │ │ - mov.w r3, r9, lsl #4 │ │ │ │ │ - add.w r4, r8, r3 │ │ │ │ │ - adds r0, r7, r3 │ │ │ │ │ - vnmls.f64 d2, d4, d6 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - vldr d14, [sp, #232] @ 0xe8 │ │ │ │ │ - vmul.f64 d4, d13, d8 │ │ │ │ │ - movs r3, #208 @ 0xd0 │ │ │ │ │ - str r4, [sp, #232] @ 0xe8 │ │ │ │ │ - str r0, [sp, #224] @ 0xe0 │ │ │ │ │ - vmla.f64 d4, d14, d6 │ │ │ │ │ - vmul.f64 d6, d13, d6 │ │ │ │ │ - mul.w r3, r3, r9 │ │ │ │ │ - vldr d13, [sp, #248] @ 0xf8 │ │ │ │ │ - adds r5, r7, r3 │ │ │ │ │ - add r3, r8 │ │ │ │ │ - vnmls.f64 d6, d14, d8 │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ + add.w r2, r7, r9 │ │ │ │ │ + mov.w r9, r0, lsl #5 │ │ │ │ │ + str r2, [sp, #216] @ 0xd8 │ │ │ │ │ + mov.w r0, r0, lsl #4 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add.w r2, r6, r9 │ │ │ │ │ + add r9, r7 │ │ │ │ │ + vldr d11, [sp, #224] @ 0xe0 │ │ │ │ │ + str r2, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d8, [r9] │ │ │ │ │ + vldr d10, [sp, #312] @ 0x138 │ │ │ │ │ + vmul.f64 d0, d11, d6 │ │ │ │ │ + vldr d9, [sp, #240] @ 0xf0 │ │ │ │ │ + vmla.f64 d0, d10, d2 │ │ │ │ │ + vmul.f64 d2, d11, d2 │ │ │ │ │ + vldr d11, [sp, #232] @ 0xe8 │ │ │ │ │ + vnmls.f64 d2, d10, d6 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add.w r2, r6, lr │ │ │ │ │ + vmul.f64 d4, d11, d8 │ │ │ │ │ + str r2, [sp, #232] @ 0xe8 │ │ │ │ │ + vmla.f64 d4, d9, d6 │ │ │ │ │ + vmul.f64 d6, d11, d6 │ │ │ │ │ + vnmls.f64 d6, d9, d8 │ │ │ │ │ vadd.f64 d8, d3, d0 │ │ │ │ │ vsub.f64 d3, d3, d0 │ │ │ │ │ vadd.f64 d9, d1, d4 │ │ │ │ │ vsub.f64 d4, d4, d1 │ │ │ │ │ - vldr d1, [sp, #16] │ │ │ │ │ - str r3, [sp, #16] │ │ │ │ │ - vadd.f64 d14, d8, d9 │ │ │ │ │ - vsub.f64 d8, d9, d8 │ │ │ │ │ - vadd.f64 d9, d7, d2 │ │ │ │ │ - vsub.f64 d7, d7, d2 │ │ │ │ │ - vstr d8, [sp, #848] @ 0x350 │ │ │ │ │ + vldr d1, [sp, #24] │ │ │ │ │ + vadd.f64 d11, d8, d9 │ │ │ │ │ + vstr d11, [sp, #536] @ 0x218 │ │ │ │ │ + vsub.f64 d11, d9, d8 │ │ │ │ │ vadd.f64 d8, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ + vadd.f64 d9, d7, d2 │ │ │ │ │ + vsub.f64 d7, d7, d2 │ │ │ │ │ + vldr d2, [sp, #256] @ 0x100 │ │ │ │ │ + vstr d11, [sp, #840] @ 0x348 │ │ │ │ │ + vadd.f64 d5, d4, d6 │ │ │ │ │ + vsub.f64 d10, d9, d8 │ │ │ │ │ vsub.f64 d0, d7, d3 │ │ │ │ │ - vadd.f64 d7, d7, d3 │ │ │ │ │ - vstr d14, [sp, #544] @ 0x220 │ │ │ │ │ - vldr d14, [sp, #240] @ 0xf0 │ │ │ │ │ - vldr d3, [sp, #264] @ 0x108 │ │ │ │ │ - vsub.f64 d11, d9, d8 │ │ │ │ │ - vsub.f64 d5, d4, d6 │ │ │ │ │ - vstr d0, [sp, #560] @ 0x230 │ │ │ │ │ - vadd.f64 d0, d4, d6 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - vldr d4, [sp, #8] │ │ │ │ │ + vadd.f64 d11, d7, d3 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + add.w r2, r7, lr │ │ │ │ │ + mov.w lr, #208 @ 0xd0 │ │ │ │ │ vadd.f64 d9, d9, d8 │ │ │ │ │ - vstr d7, [sp, #568] @ 0x238 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - vstr d5, [sp, #584] @ 0x248 │ │ │ │ │ + mul.w lr, lr, r8 │ │ │ │ │ + str r2, [sp, #240] @ 0xf0 │ │ │ │ │ + vstr d5, [sp, #568] @ 0x238 │ │ │ │ │ + vsub.f64 d5, d4, d6 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add.w r2, r6, lr │ │ │ │ │ + vstr d9, [sp, #544] @ 0x220 │ │ │ │ │ + vldr d4, [sp, #16] │ │ │ │ │ + str r2, [sp, #16] │ │ │ │ │ + vstr d0, [sp, #552] @ 0x228 │ │ │ │ │ + vstr d11, [sp, #560] @ 0x230 │ │ │ │ │ + vstr d5, [sp, #576] @ 0x240 │ │ │ │ │ + vstr d10, [sp, #848] @ 0x350 │ │ │ │ │ vmul.f64 d5, d4, d6 │ │ │ │ │ - vstr d0, [sp, #576] @ 0x240 │ │ │ │ │ vmla.f64 d5, d1, d7 │ │ │ │ │ vmul.f64 d7, d4, d7 │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ - vldr d8, [sp, #256] @ 0x100 │ │ │ │ │ - str r5, [sp, #8] │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + add.w r2, r7, lr │ │ │ │ │ + str r2, [sp, #24] │ │ │ │ │ vnmls.f64 d7, d1, d6 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - movs r3, #144 @ 0x90 │ │ │ │ │ - vstr d9, [sp, #552] @ 0x228 │ │ │ │ │ - vldr d9, [sp, #280] @ 0x118 │ │ │ │ │ - vmul.f64 d0, d13, d6 │ │ │ │ │ - vstr d11, [sp, #856] @ 0x358 │ │ │ │ │ - mul.w r3, r3, r9 │ │ │ │ │ - vmla.f64 d0, d14, d4 │ │ │ │ │ - vmul.f64 d4, d13, d4 │ │ │ │ │ - add.w r4, r8, r3 │ │ │ │ │ - adds r0, r7, r3 │ │ │ │ │ - movs r3, #80 @ 0x50 │ │ │ │ │ - str r0, [sp, #240] @ 0xf0 │ │ │ │ │ - str r4, [sp, #248] @ 0xf8 │ │ │ │ │ - vnmls.f64 d4, d14, d6 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ - mul.w r3, r3, r9 │ │ │ │ │ - vmul.f64 d1, d3, d6 │ │ │ │ │ - adds r5, r7, r3 │ │ │ │ │ - vmla.f64 d1, d8, d2 │ │ │ │ │ - vmul.f64 d2, d3, d2 │ │ │ │ │ - add r3, r8 │ │ │ │ │ - str r5, [sp, #256] @ 0x100 │ │ │ │ │ - str r3, [sp, #264] @ 0x108 │ │ │ │ │ - vnmls.f64 d2, d8, d6 │ │ │ │ │ - vldr d8, [r3] │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - movs r3, #240 @ 0xf0 │ │ │ │ │ - vldr d13, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add.w r2, r6, ip │ │ │ │ │ + vldr d1, [sp, #248] @ 0xf8 │ │ │ │ │ + str r2, [sp, #248] @ 0xf8 │ │ │ │ │ + vmul.f64 d0, d2, d6 │ │ │ │ │ + vmla.f64 d0, d1, d4 │ │ │ │ │ + vmul.f64 d4, d2, d4 │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ + add.w r2, r7, ip │ │ │ │ │ + mov.w ip, r4, lsl #4 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + str r2, [sp, #256] @ 0x100 │ │ │ │ │ + add.w lr, r6, r4 │ │ │ │ │ + vnmls.f64 d4, d1, d6 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add.w r2, r6, ip │ │ │ │ │ + vldr d9, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d10, [sp, #264] @ 0x108 │ │ │ │ │ + str r2, [sp, #264] @ 0x108 │ │ │ │ │ + vmul.f64 d1, d9, d6 │ │ │ │ │ + vmla.f64 d1, d10, d2 │ │ │ │ │ + vmul.f64 d2, d9, d2 │ │ │ │ │ + vldr d9, [sp, #288] @ 0x120 │ │ │ │ │ + vnmls.f64 d2, d10, d6 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add.w r2, r7, ip │ │ │ │ │ + add.w ip, r7, r4 │ │ │ │ │ + vldr d8, [r2] │ │ │ │ │ + str r2, [sp, #272] @ 0x110 │ │ │ │ │ + add.w r2, r6, r1 │ │ │ │ │ + add r1, r7 │ │ │ │ │ + vldr d10, [sp, #280] @ 0x118 │ │ │ │ │ + str r2, [sp, #280] @ 0x118 │ │ │ │ │ + str r1, [sp, #288] @ 0x120 │ │ │ │ │ vmul.f64 d3, d9, d8 │ │ │ │ │ - vldr d11, [sp, #320] @ 0x140 │ │ │ │ │ - mul.w r3, r3, r9 │ │ │ │ │ - vmla.f64 d3, d13, d6 │ │ │ │ │ + vmla.f64 d3, d10, d6 │ │ │ │ │ vmul.f64 d6, d9, d6 │ │ │ │ │ vadd.f64 d9, d5, d1 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ - add.w r4, r8, r3 │ │ │ │ │ - adds r0, r7, r3 │ │ │ │ │ - movs r3, #176 @ 0xb0 │ │ │ │ │ - str r0, [sp, #272] @ 0x110 │ │ │ │ │ - vnmls.f64 d6, d13, d8 │ │ │ │ │ - str r4, [sp, #280] @ 0x118 │ │ │ │ │ - mul.w r3, r3, r9 │ │ │ │ │ + vldr d1, [sp, #296] @ 0x128 │ │ │ │ │ + vnmls.f64 d6, d10, d8 │ │ │ │ │ vadd.f64 d8, d0, d3 │ │ │ │ │ - add.w r5, r8, r3 │ │ │ │ │ vsub.f64 d3, d3, d0 │ │ │ │ │ - add.w fp, r7, r3 │ │ │ │ │ - movs r3, #112 @ 0x70 │ │ │ │ │ - vadd.f64 d13, d9, d8 │ │ │ │ │ - vsub.f64 d14, d9, d8 │ │ │ │ │ - vadd.f64 d9, d7, d2 │ │ │ │ │ + vadd.f64 d10, d9, d8 │ │ │ │ │ + vsub.f64 d9, d9, d8 │ │ │ │ │ vadd.f64 d8, d4, d6 │ │ │ │ │ - vsub.f64 d7, d7, d2 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ - vldr d2, [sp, #304] @ 0x130 │ │ │ │ │ - mul.w r3, r3, r9 │ │ │ │ │ - vstr d13, [sp, #592] @ 0x250 │ │ │ │ │ - vsub.f64 d13, d9, d8 │ │ │ │ │ - vstr d14, [sp, #864] @ 0x360 │ │ │ │ │ + vstr d10, [sp, #584] @ 0x248 │ │ │ │ │ + vstr d9, [sp, #856] @ 0x358 │ │ │ │ │ + vadd.f64 d9, d7, d2 │ │ │ │ │ + vsub.f64 d7, d7, d2 │ │ │ │ │ vsub.f64 d4, d5, d6 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ - vldr d14, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + vsub.f64 d0, d7, d3 │ │ │ │ │ + vadd.f64 d2, d7, d3 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + mov.w r1, #176 @ 0xb0 │ │ │ │ │ + vsub.f64 d10, d9, d8 │ │ │ │ │ vadd.f64 d8, d9, d8 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - adds r0, r7, r3 │ │ │ │ │ - vstr d13, [sp, #872] @ 0x368 │ │ │ │ │ - vadd.f64 d13, d7, d3 │ │ │ │ │ - vsub.f64 d7, d7, d3 │ │ │ │ │ - vstr d4, [sp, #624] @ 0x270 │ │ │ │ │ - vldr d4, [sp, #288] @ 0x120 │ │ │ │ │ - add r3, r8 │ │ │ │ │ - vstr d5, [sp, #632] @ 0x278 │ │ │ │ │ - vstr d8, [sp, #600] @ 0x258 │ │ │ │ │ - vstr d7, [sp, #616] @ 0x268 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - vldr d8, [sp, #648] @ 0x288 │ │ │ │ │ - vldr d9, [sp, #640] @ 0x280 │ │ │ │ │ - vmul.f64 d5, d4, d7 │ │ │ │ │ - str r3, [sp, #304] @ 0x130 │ │ │ │ │ - vmla.f64 d5, d14, d6 │ │ │ │ │ - vmul.f64 d6, d4, d6 │ │ │ │ │ - vldr d4, [fp] │ │ │ │ │ - str r5, [sp, #288] @ 0x120 │ │ │ │ │ - str r0, [sp, #296] @ 0x128 │ │ │ │ │ - vnmls.f64 d6, d14, d7 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - vstr d13, [sp, #608] @ 0x260 │ │ │ │ │ - vmul.f64 d0, d2, d7 │ │ │ │ │ - vmla.f64 d0, d8, d4 │ │ │ │ │ - vmul.f64 d4, d2, d4 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ - vnmls.f64 d4, d8, d7 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - vldr d8, [sp, #312] @ 0x138 │ │ │ │ │ - movs r3, #40 @ 0x28 │ │ │ │ │ + vstr d5, [sp, #624] @ 0x270 │ │ │ │ │ + mul.w r1, r1, r8 │ │ │ │ │ + vmul.f64 d5, d1, d7 │ │ │ │ │ + add.w r2, r6, r1 │ │ │ │ │ + add r1, r7 │ │ │ │ │ + vstr d0, [sp, #608] @ 0x260 │ │ │ │ │ + vldr d0, [sp, #304] @ 0x130 │ │ │ │ │ + str r2, [sp, #296] @ 0x128 │ │ │ │ │ + vstr d10, [sp, #864] @ 0x360 │ │ │ │ │ + vldr d10, [sp, #320] @ 0x140 │ │ │ │ │ + vstr d2, [sp, #600] @ 0x258 │ │ │ │ │ + vldr d2, [sp, #640] @ 0x280 │ │ │ │ │ + vmla.f64 d5, d0, d6 │ │ │ │ │ + vmul.f64 d6, d1, d6 │ │ │ │ │ + vstr d4, [sp, #616] @ 0x268 │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + str r1, [sp, #304] @ 0x130 │ │ │ │ │ + vstr d8, [sp, #592] @ 0x250 │ │ │ │ │ + vnmls.f64 d6, d0, d7 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + add.w r1, r6, r0 │ │ │ │ │ + add r0, r7 │ │ │ │ │ str r1, [sp, #312] @ 0x138 │ │ │ │ │ - vmul.f64 d1, d9, d7 │ │ │ │ │ - vmla.f64 d1, d8, d2 │ │ │ │ │ - vmul.f64 d2, d9, d2 │ │ │ │ │ + str r0, [sp, #320] @ 0x140 │ │ │ │ │ + vmul.f64 d0, d10, d7 │ │ │ │ │ + vmla.f64 d0, d2, d4 │ │ │ │ │ + vmul.f64 d4, d10, d4 │ │ │ │ │ + vnmls.f64 d4, d2, d7 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + mov.w r0, r3, lsl #4 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ + add.w r1, r6, r0 │ │ │ │ │ + add r0, r7 │ │ │ │ │ + vldr d10, [sp, #632] @ 0x278 │ │ │ │ │ + vldr d8, [r0] │ │ │ │ │ vldr d9, [sp, #328] @ 0x148 │ │ │ │ │ - mul.w r3, r3, r9 │ │ │ │ │ - add.w r4, r8, r3 │ │ │ │ │ - adds r5, r7, r3 │ │ │ │ │ - vnmls.f64 d2, d8, d7 │ │ │ │ │ - vldr d8, [r1] │ │ │ │ │ - vldr d7, [sl] │ │ │ │ │ - adds r3, r5, r2 │ │ │ │ │ - adds r0, r4, r2 │ │ │ │ │ - vmul.f64 d3, d9, d8 │ │ │ │ │ - vmla.f64 d3, d11, d7 │ │ │ │ │ - vmul.f64 d7, d9, d7 │ │ │ │ │ + str r1, [sp, #328] @ 0x148 │ │ │ │ │ + vmul.f64 d1, d10, d7 │ │ │ │ │ + ldr r2, [sp, #48] @ 0x30 │ │ │ │ │ + vmul.f64 d3, d15, d8 │ │ │ │ │ + vmla.f64 d1, d9, d2 │ │ │ │ │ + vmul.f64 d2, d10, d2 │ │ │ │ │ + add.w r4, lr, r2 │ │ │ │ │ + vnmls.f64 d2, d9, d7 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ vadd.f64 d9, d5, d1 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ - vnmls.f64 d7, d11, d8 │ │ │ │ │ + vmla.f64 d3, d14, d7 │ │ │ │ │ + vmul.f64 d7, d15, d7 │ │ │ │ │ + vnmls.f64 d7, d14, d8 │ │ │ │ │ vadd.f64 d8, d0, d3 │ │ │ │ │ vsub.f64 d3, d3, d0 │ │ │ │ │ - vadd.f64 d14, d9, d8 │ │ │ │ │ - vsub.f64 d8, d9, d8 │ │ │ │ │ - vadd.f64 d9, d6, d2 │ │ │ │ │ - vsub.f64 d6, d6, d2 │ │ │ │ │ - vstr d14, [sp, #640] @ 0x280 │ │ │ │ │ + vldr d0, [sp, #392] @ 0x188 │ │ │ │ │ vadd.f64 d14, d4, d7 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vadd.f64 d2, d6, d3 │ │ │ │ │ - vsub.f64 d6, d6, d3 │ │ │ │ │ - vstr d8, [sp, #648] @ 0x288 │ │ │ │ │ - str r3, [sp, #320] @ 0x140 │ │ │ │ │ - vsub.f64 d8, d9, d14 │ │ │ │ │ - vldr d0, [sp, #344] @ 0x158 │ │ │ │ │ + vadd.f64 d15, d9, d8 │ │ │ │ │ vsub.f64 d4, d5, d7 │ │ │ │ │ vadd.f64 d1, d5, d7 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - vadd.f64 d14, d9, d14 │ │ │ │ │ + vldr d7, [ip] │ │ │ │ │ + vstr d15, [sp, #632] @ 0x278 │ │ │ │ │ + vsub.f64 d15, d9, d8 │ │ │ │ │ + vadd.f64 d9, d6, d2 │ │ │ │ │ + vsub.f64 d6, d6, d2 │ │ │ │ │ vldr d5, [sp, #336] @ 0x150 │ │ │ │ │ - vstr d6, [sp, #672] @ 0x2a0 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - vmul.f64 d3, d15, d7 │ │ │ │ │ - vstr d4, [sp, #680] @ 0x2a8 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - movs r3, #232 @ 0xe8 │ │ │ │ │ - vmla.f64 d3, d5, d6 │ │ │ │ │ - vmul.f64 d6, d15, d6 │ │ │ │ │ - str r0, [sp, #328] @ 0x148 │ │ │ │ │ - mul.w r3, r3, r9 │ │ │ │ │ - vstr d8, [sp, #656] @ 0x290 │ │ │ │ │ - vstr d1, [sp, #688] @ 0x2b0 │ │ │ │ │ - vmov.f64 d15, d6 │ │ │ │ │ - vldr d6, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d2, [sp, #344] @ 0x158 │ │ │ │ │ + vstr d15, [sp, #640] @ 0x280 │ │ │ │ │ + vsub.f64 d15, d9, d14 │ │ │ │ │ + vadd.f64 d14, d9, d14 │ │ │ │ │ + vstr d4, [sp, #672] @ 0x2a0 │ │ │ │ │ + vldr d4, [sp, #40] @ 0x28 │ │ │ │ │ + str r4, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d15, [sp, #648] @ 0x288 │ │ │ │ │ + vadd.f64 d15, d6, d3 │ │ │ │ │ + vsub.f64 d6, d6, d3 │ │ │ │ │ + vstr d1, [sp, #680] @ 0x2a8 │ │ │ │ │ + vmul.f64 d3, d4, d7 │ │ │ │ │ vldr d1, [sp, #360] @ 0x168 │ │ │ │ │ - vstr d2, [sp, #664] @ 0x298 │ │ │ │ │ - vldr d13, [sp, #376] @ 0x178 │ │ │ │ │ - vnmls.f64 d15, d5, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - adds r0, r7, r3 │ │ │ │ │ - add r3, r8 │ │ │ │ │ - str r3, [sp, #344] @ 0x158 │ │ │ │ │ - vmul.f64 d8, d6, d7 │ │ │ │ │ - str r0, [sp, #336] @ 0x150 │ │ │ │ │ - vmla.f64 d8, d0, d4 │ │ │ │ │ - vmul.f64 d4, d6, d4 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - movs r3, #104 @ 0x68 │ │ │ │ │ - vldr d9, [sp, #368] @ 0x170 │ │ │ │ │ - vnmls.f64 d4, d0, d7 │ │ │ │ │ + vstr d15, [sp, #656] @ 0x290 │ │ │ │ │ + vstr d6, [sp, #664] @ 0x298 │ │ │ │ │ + vldr d6, [lr] │ │ │ │ │ + vmla.f64 d3, d5, d6 │ │ │ │ │ + vmul.f64 d6, d4, d6 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + add.w r4, ip, r2 │ │ │ │ │ + str r4, [sp, #48] @ 0x30 │ │ │ │ │ + vnmls.f64 d6, d5, d7 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + mov.w r4, #232 @ 0xe8 │ │ │ │ │ + mul.w r4, r4, r8 │ │ │ │ │ + add.w r1, r6, r4 │ │ │ │ │ + add r4, r7 │ │ │ │ │ + vmul.f64 d10, d0, d7 │ │ │ │ │ + str r1, [sp, #336] @ 0x150 │ │ │ │ │ + str r4, [sp, #344] @ 0x158 │ │ │ │ │ + vmla.f64 d10, d2, d4 │ │ │ │ │ + vmul.f64 d4, d0, d4 │ │ │ │ │ vldr d0, [sp, #352] @ 0x160 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - mul.w r3, r3, r9 │ │ │ │ │ + vnmls.f64 d4, d2, d7 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + vsub.f64 d5, d3, d10 │ │ │ │ │ + vadd.f64 d3, d3, d10 │ │ │ │ │ + vsub.f64 d9, d6, d4 │ │ │ │ │ + vadd.f64 d11, d6, d4 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + mov.w r4, #104 @ 0x68 │ │ │ │ │ + mul.w r4, r4, r8 │ │ │ │ │ vmul.f64 d2, d1, d6 │ │ │ │ │ - vmov.f64 d11, d15 │ │ │ │ │ - adds r0, r7, r3 │ │ │ │ │ - add r3, r8 │ │ │ │ │ + add.w r1, r6, r4 │ │ │ │ │ + add r4, r7 │ │ │ │ │ + str r1, [sp, #352] @ 0x160 │ │ │ │ │ + str r4, [sp, #360] @ 0x168 │ │ │ │ │ vmla.f64 d2, d0, d7 │ │ │ │ │ vmul.f64 d7, d1, d7 │ │ │ │ │ - vsub.f64 d5, d3, d8 │ │ │ │ │ - vadd.f64 d3, d3, d8 │ │ │ │ │ - vldr d1, [r3] │ │ │ │ │ - str r3, [sp, #360] @ 0x168 │ │ │ │ │ - movs r3, #24 │ │ │ │ │ vnmls.f64 d7, d0, d6 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - vmul.f64 d0, d13, d1 │ │ │ │ │ - vadd.f64 d11, d11, d4 │ │ │ │ │ - vsub.f64 d15, d15, d4 │ │ │ │ │ - mul.w r3, r3, r9 │ │ │ │ │ - vmla.f64 d0, d9, d6 │ │ │ │ │ - vmul.f64 d6, d13, d6 │ │ │ │ │ - str r0, [sp, #352] @ 0x160 │ │ │ │ │ - adds r0, r7, r3 │ │ │ │ │ - add r3, r8 │ │ │ │ │ - adds r1, r0, r2 │ │ │ │ │ - adds r2, r3, r2 │ │ │ │ │ - vnmls.f64 d6, d9, d1 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + vldr d1, [r4] │ │ │ │ │ + add.w r4, r6, r3 │ │ │ │ │ + add r3, r7 │ │ │ │ │ + add.w r1, r4, r2 │ │ │ │ │ + add r2, r3 │ │ │ │ │ + vldr d15, [sp, #32] │ │ │ │ │ + str r1, [sp, #32] │ │ │ │ │ + vldr d8, [sp, #368] @ 0x170 │ │ │ │ │ + vmul.f64 d0, d8, d1 │ │ │ │ │ + vmla.f64 d0, d15, d6 │ │ │ │ │ + vmul.f64 d6, d8, d6 │ │ │ │ │ + vnmls.f64 d6, d15, d1 │ │ │ │ │ vsub.f64 d1, d2, d0 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ - vsub.f64 d9, d7, d6 │ │ │ │ │ + vsub.f64 d8, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vadd.f64 d13, d3, d2 │ │ │ │ │ - vsub.f64 d0, d2, d3 │ │ │ │ │ + vadd.f64 d15, d3, d2 │ │ │ │ │ vsub.f64 d6, d11, d7 │ │ │ │ │ - vadd.f64 d3, d11, d7 │ │ │ │ │ - vsub.f64 d7, d1, d9 │ │ │ │ │ - vadd.f64 d1, d1, d9 │ │ │ │ │ - vstr d0, [sp, #696] @ 0x2b8 │ │ │ │ │ + vadd.f64 d11, d11, d7 │ │ │ │ │ + vsub.f64 d7, d1, d8 │ │ │ │ │ + vstr d15, [sp, #688] @ 0x2b0 │ │ │ │ │ + vsub.f64 d15, d2, d3 │ │ │ │ │ + vldr d3, [pc, #984] @ f18 │ │ │ │ │ + vadd.f64 d1, d1, d8 │ │ │ │ │ + vldr d8, [r5, #-104] @ 0xffffff98 │ │ │ │ │ vstr d6, [sp, #704] @ 0x2c0 │ │ │ │ │ - vadd.f64 d6, d5, d15 │ │ │ │ │ - vsub.f64 d5, d15, d5 │ │ │ │ │ - vstr d3, [sp, #712] @ 0x2c8 │ │ │ │ │ - vldr d3, [pc, #976] @ ec0 │ │ │ │ │ + vadd.f64 d6, d5, d9 │ │ │ │ │ + vsub.f64 d5, d9, d5 │ │ │ │ │ + vstr d15, [sp, #696] @ 0x2b8 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vsub.f64 d15, d5, d1 │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ + vmov.f64 d6, d3 │ │ │ │ │ + vmul.f64 d7, d7, d3 │ │ │ │ │ vmul.f64 d0, d4, d3 │ │ │ │ │ - vmul.f64 d11, d7, d3 │ │ │ │ │ - vmul.f64 d5, d5, d3 │ │ │ │ │ - vmul.f64 d15, d15, d3 │ │ │ │ │ - vstr d0, [sp, #720] @ 0x2d0 │ │ │ │ │ - vstr d5, [sp, #736] @ 0x2e0 │ │ │ │ │ - vstr d11, [sp, #728] @ 0x2d8 │ │ │ │ │ - vldr d11, [r0] │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - vldr d1, [r6, #-104] @ 0xffffff98 │ │ │ │ │ - str r2, [sp, #376] @ 0x178 │ │ │ │ │ - vldr d2, [sp, #392] @ 0x188 │ │ │ │ │ - vmul.f64 d8, d1, d7 │ │ │ │ │ - vldr d1, [r6, #-112] @ 0xffffff90 │ │ │ │ │ - vldr d5, [sp, #384] @ 0x180 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - vmla.f64 d8, d1, d11 │ │ │ │ │ - vldr d1, [r6, #-104] @ 0xffffff98 │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ + vmul.f64 d1, d5, d6 │ │ │ │ │ + vmul.f64 d15, d15, d6 │ │ │ │ │ + mov r1, r2 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + mov.w r2, #216 @ 0xd8 │ │ │ │ │ str r1, [sp, #368] @ 0x170 │ │ │ │ │ - vmul.f64 d11, d1, d11 │ │ │ │ │ - vldr d1, [r6, #-112] @ 0xffffff90 │ │ │ │ │ - vnmls.f64 d11, d1, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - movs r2, #216 @ 0xd8 │ │ │ │ │ - vmul.f64 d3, d2, d7 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - vmla.f64 d3, d5, d4 │ │ │ │ │ - vmul.f64 d4, d2, d4 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - add r2, r8 │ │ │ │ │ - str r2, [sp, #392] @ 0x188 │ │ │ │ │ - str r1, [sp, #384] @ 0x180 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - movs r2, #88 @ 0x58 │ │ │ │ │ - vnmls.f64 d4, d5, d7 │ │ │ │ │ + vldr d5, [sp, #376] @ 0x178 │ │ │ │ │ + mul.w r2, r2, r8 │ │ │ │ │ + vldr d4, [sp, #384] @ 0x180 │ │ │ │ │ + vstr d7, [sp, #720] @ 0x2d0 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + vstr d0, [sp, #712] @ 0x2c8 │ │ │ │ │ + vstr d1, [sp, #728] @ 0x2d8 │ │ │ │ │ + vmul.f64 d10, d8, d7 │ │ │ │ │ + vldr d8, [r5, #-112] @ 0xffffff90 │ │ │ │ │ + vmla.f64 d10, d8, d6 │ │ │ │ │ + vldr d8, [r5, #-104] @ 0xffffff98 │ │ │ │ │ + vmul.f64 d6, d8, d6 │ │ │ │ │ + vldr d8, [r5, #-112] @ 0xffffff90 │ │ │ │ │ + vmov.f64 d1, d6 │ │ │ │ │ + vnmls.f64 d1, d8, d7 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - vmul.f64 d2, d10, d6 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - vmla.f64 d2, d12, d7 │ │ │ │ │ - vmul.f64 d7, d10, d7 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - add r2, r8 │ │ │ │ │ - vldr d10, [sp, #408] @ 0x198 │ │ │ │ │ - vsub.f64 d9, d8, d3 │ │ │ │ │ - vadd.f64 d3, d8, d3 │ │ │ │ │ - str r1, [sp, #400] @ 0x190 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ + add.w r1, r6, r2 │ │ │ │ │ + str r1, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d8, [sp, #400] @ 0x190 │ │ │ │ │ + vmul.f64 d2, d4, d7 │ │ │ │ │ + vstr d1, [sp, #736] @ 0x2e0 │ │ │ │ │ + vmla.f64 d2, d5, d3 │ │ │ │ │ + vmul.f64 d3, d4, d3 │ │ │ │ │ + vnmls.f64 d3, d5, d7 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + add.w r1, r7, r2 │ │ │ │ │ + mov.w r2, #88 @ 0x58 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + mul.w r2, r2, r8 │ │ │ │ │ + str r1, [sp, #384] @ 0x180 │ │ │ │ │ + vsub.f64 d0, d10, d2 │ │ │ │ │ + vadd.f64 d2, d10, d2 │ │ │ │ │ + add.w r1, r6, r2 │ │ │ │ │ + add r2, r7 │ │ │ │ │ + vmul.f64 d5, d13, d6 │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + str r1, [sp, #392] @ 0x188 │ │ │ │ │ + vsub.f64 d1, d1, d3 │ │ │ │ │ + vmla.f64 d5, d12, d7 │ │ │ │ │ + vmul.f64 d7, d13, d7 │ │ │ │ │ + vldr d13, [sp, #408] @ 0x198 │ │ │ │ │ vnmls.f64 d7, d12, d6 │ │ │ │ │ - vldr d12, [sp, #416] @ 0x1a0 │ │ │ │ │ - vsub.f64 d1, d11, d4 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ - vadd.f64 d11, d11, d4 │ │ │ │ │ - vmul.f64 d0, d12, d5 │ │ │ │ │ - vmla.f64 d0, d10, d6 │ │ │ │ │ - vmul.f64 d6, d12, d6 │ │ │ │ │ - vnmls.f64 d6, d10, d5 │ │ │ │ │ - vsub.f64 d10, d2, d0 │ │ │ │ │ - vadd.f64 d2, d2, d0 │ │ │ │ │ - vsub.f64 d5, d7, d6 │ │ │ │ │ - vadd.f64 d7, d7, d6 │ │ │ │ │ - vsub.f64 d12, d2, d3 │ │ │ │ │ - vadd.f64 d0, d3, d2 │ │ │ │ │ - vldr d3, [pc, #732] @ ec0 │ │ │ │ │ - vadd.f64 d6, d10, d5 │ │ │ │ │ - vsub.f64 d5, d10, d5 │ │ │ │ │ - vstr d12, [sp, #408] @ 0x198 │ │ │ │ │ - vsub.f64 d12, d11, d7 │ │ │ │ │ - vadd.f64 d11, d11, d7 │ │ │ │ │ - vsub.f64 d7, d1, d9 │ │ │ │ │ - vadd.f64 d1, d1, d9 │ │ │ │ │ - vstr d12, [sp, #416] @ 0x1a0 │ │ │ │ │ + vmul.f64 d9, d13, d4 │ │ │ │ │ + vmla.f64 d9, d8, d6 │ │ │ │ │ + vmul.f64 d6, d13, d6 │ │ │ │ │ + vnmls.f64 d6, d8, d4 │ │ │ │ │ + vsub.f64 d8, d5, d9 │ │ │ │ │ + vadd.f64 d9, d5, d9 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vmov.f64 d6, d3 │ │ │ │ │ - vldr d12, [sp, #776] @ 0x308 │ │ │ │ │ - vmul.f64 d2, d4, d3 │ │ │ │ │ - vmul.f64 d3, d7, d3 │ │ │ │ │ - vsub.f64 d7, d5, d1 │ │ │ │ │ - vadd.f64 d5, d5, d1 │ │ │ │ │ - vldr d4, [sp, #592] @ 0x250 │ │ │ │ │ - vldr d1, [sp, #640] @ 0x280 │ │ │ │ │ - vstr d2, [sp, #744] @ 0x2e8 │ │ │ │ │ - vmul.f64 d10, d7, d6 │ │ │ │ │ - vstr d3, [sp, #752] @ 0x2f0 │ │ │ │ │ - vadd.f64 d7, d4, d1 │ │ │ │ │ - vldr d4, [sp, #600] @ 0x258 │ │ │ │ │ - vstr d10, [sp, #760] @ 0x2f8 │ │ │ │ │ - vmov.f64 d10, d6 │ │ │ │ │ - vmul.f64 d6, d5, d6 │ │ │ │ │ - vadd.f64 d5, d4, d14 │ │ │ │ │ - vstr d6, [sp, #768] @ 0x300 │ │ │ │ │ - vldr d6, [sp, #544] @ 0x220 │ │ │ │ │ - vldr d1, [sp, #424] @ 0x1a8 │ │ │ │ │ - vldr d3, [sp, #552] @ 0x228 │ │ │ │ │ - vadd.f64 d6, d12, d6 │ │ │ │ │ - vldr d8, [sp, #432] @ 0x1b0 │ │ │ │ │ - vldr d9, [sp, #448] @ 0x1c0 │ │ │ │ │ - ldr r1, [sp, #32] │ │ │ │ │ - vadd.f64 d4, d8, d13 │ │ │ │ │ - vadd.f64 d2, d6, d7 │ │ │ │ │ - vsub.f64 d6, d6, d7 │ │ │ │ │ - vadd.f64 d7, d1, d3 │ │ │ │ │ - vldr d1, [sp, #712] @ 0x2c8 │ │ │ │ │ - vadd.f64 d3, d5, d7 │ │ │ │ │ - vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [sp, #480] @ 0x1e0 │ │ │ │ │ - vadd.f64 d5, d5, d0 │ │ │ │ │ - vadd.f64 d8, d4, d5 │ │ │ │ │ - vsub.f64 d5, d5, d4 │ │ │ │ │ - vadd.f64 d4, d9, d1 │ │ │ │ │ - vldr d1, [sp, #504] @ 0x1f8 │ │ │ │ │ - vadd.f64 d9, d1, d11 │ │ │ │ │ - vsub.f64 d1, d4, d9 │ │ │ │ │ - vadd.f64 d4, d4, d9 │ │ │ │ │ - vsub.f64 d9, d2, d8 │ │ │ │ │ - vadd.f64 d2, d2, d8 │ │ │ │ │ - vldr d8, [sp, #432] @ 0x1b0 │ │ │ │ │ - vstr d9, [r1] │ │ │ │ │ - vsub.f64 d9, d3, d4 │ │ │ │ │ - ldr r1, [sp, #40] @ 0x28 │ │ │ │ │ - vadd.f64 d3, d3, d4 │ │ │ │ │ - vsub.f64 d4, d6, d1 │ │ │ │ │ - vadd.f64 d6, d6, d1 │ │ │ │ │ - vldr d1, [sp, #424] @ 0x1a8 │ │ │ │ │ - vsub.f64 d13, d8, d13 │ │ │ │ │ - vldr d8, [sp, #448] @ 0x1c0 │ │ │ │ │ - vstr d9, [r1] │ │ │ │ │ - ldr r1, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d2, [r7] │ │ │ │ │ - vstr d3, [r8] │ │ │ │ │ - vldr d3, [sp, #552] @ 0x228 │ │ │ │ │ - vstr d4, [r1] │ │ │ │ │ - vsub.f64 d4, d7, d5 │ │ │ │ │ + vsub.f64 d13, d9, d2 │ │ │ │ │ + vadd.f64 d5, d2, d9 │ │ │ │ │ + vsub.f64 d6, d1, d0 │ │ │ │ │ + vadd.f64 d1, d1, d0 │ │ │ │ │ + vstr d13, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d2, [sp, #736] @ 0x2e0 │ │ │ │ │ ldr r1, [sp, #56] @ 0x38 │ │ │ │ │ - vadd.f64 d7, d7, d5 │ │ │ │ │ - vstr d4, [r1] │ │ │ │ │ - vstr d6, [lr] │ │ │ │ │ - vldr d6, [sp, #544] @ 0x220 │ │ │ │ │ - vstr d7, [ip] │ │ │ │ │ - ldr r1, [sp, #192] @ 0xc0 │ │ │ │ │ - vsub.f64 d4, d12, d6 │ │ │ │ │ - vldr d6, [sp, #600] @ 0x258 │ │ │ │ │ - vldr d12, [sp, #640] @ 0x280 │ │ │ │ │ - vsub.f64 d14, d6, d14 │ │ │ │ │ - vldr d6, [sp, #592] @ 0x250 │ │ │ │ │ - vsub.f64 d7, d12, d6 │ │ │ │ │ - vldr d12, [sp, #480] @ 0x1e0 │ │ │ │ │ - vsub.f64 d6, d1, d3 │ │ │ │ │ - vldr d1, [sp, #712] @ 0x2c8 │ │ │ │ │ - vadd.f64 d2, d4, d14 │ │ │ │ │ - vsub.f64 d4, d4, d14 │ │ │ │ │ - vsub.f64 d0, d12, d0 │ │ │ │ │ - vldr d12, [sp, #504] @ 0x1f8 │ │ │ │ │ - vadd.f64 d3, d7, d6 │ │ │ │ │ - vsub.f64 d6, d6, d7 │ │ │ │ │ - vsub.f64 d11, d12, d11 │ │ │ │ │ - vsub.f64 d7, d8, d1 │ │ │ │ │ - vsub.f64 d5, d0, d11 │ │ │ │ │ - vadd.f64 d1, d13, d7 │ │ │ │ │ - vadd.f64 d0, d0, d11 │ │ │ │ │ - vsub.f64 d7, d7, d13 │ │ │ │ │ - vadd.f64 d8, d1, d5 │ │ │ │ │ - vsub.f64 d5, d5, d1 │ │ │ │ │ - vmul.f64 d8, d8, d10 │ │ │ │ │ - vmul.f64 d5, d5, d10 │ │ │ │ │ - vsub.f64 d9, d2, d8 │ │ │ │ │ - vadd.f64 d2, d2, d8 │ │ │ │ │ - vstr d9, [r1] │ │ │ │ │ - ldr r1, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d1, [sp, #856] @ 0x358 │ │ │ │ │ - vldr d14, [sp, #864] @ 0x360 │ │ │ │ │ - vldr d9, [sp, #872] @ 0x368 │ │ │ │ │ + vldr d10, [sp, #472] @ 0x1d8 │ │ │ │ │ + vadd.f64 d12, d2, d3 │ │ │ │ │ + vsub.f64 d3, d12, d7 │ │ │ │ │ + vadd.f64 d7, d12, d7 │ │ │ │ │ + vldr d12, [pc, #668] @ f18 │ │ │ │ │ + vstr d3, [sp, #408] @ 0x198 │ │ │ │ │ + vadd.f64 d3, d8, d4 │ │ │ │ │ + vsub.f64 d4, d8, d4 │ │ │ │ │ + vsub.f64 d2, d6, d3 │ │ │ │ │ + vadd.f64 d6, d6, d3 │ │ │ │ │ + vmul.f64 d3, d6, d12 │ │ │ │ │ + vsub.f64 d6, d4, d1 │ │ │ │ │ + vadd.f64 d4, d4, d1 │ │ │ │ │ + vmul.f64 d13, d2, d12 │ │ │ │ │ + vldr d2, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d1, [sp, #632] @ 0x278 │ │ │ │ │ + vmul.f64 d8, d6, d12 │ │ │ │ │ + vmul.f64 d6, d4, d12 │ │ │ │ │ + vstr d13, [sp, #736] @ 0x2e0 │ │ │ │ │ + vldr d13, [sp, #768] @ 0x300 │ │ │ │ │ + vstr d3, [sp, #744] @ 0x2e8 │ │ │ │ │ + vldr d3, [sp, #584] @ 0x248 │ │ │ │ │ + vstr d8, [sp, #752] @ 0x2f0 │ │ │ │ │ + vstr d6, [sp, #760] @ 0x2f8 │ │ │ │ │ + vldr d8, [sp, #424] @ 0x1a8 │ │ │ │ │ + vldr d6, [sp, #536] @ 0x218 │ │ │ │ │ + vadd.f64 d4, d13, d6 │ │ │ │ │ + vadd.f64 d6, d3, d1 │ │ │ │ │ + vldr d1, [sp, #592] @ 0x250 │ │ │ │ │ + vadd.f64 d3, d1, d14 │ │ │ │ │ + vldr d1, [sp, #544] @ 0x220 │ │ │ │ │ + vadd.f64 d0, d4, d6 │ │ │ │ │ + vsub.f64 d4, d4, d6 │ │ │ │ │ + vadd.f64 d6, d2, d1 │ │ │ │ │ + vadd.f64 d1, d3, d6 │ │ │ │ │ + vsub.f64 d6, d6, d3 │ │ │ │ │ + vldr d3, [sp, #688] @ 0x2b0 │ │ │ │ │ + vadd.f64 d2, d8, d3 │ │ │ │ │ + vldr d8, [sp, #496] @ 0x1f0 │ │ │ │ │ + vadd.f64 d3, d10, d5 │ │ │ │ │ + vldr d10, [sp, #440] @ 0x1b8 │ │ │ │ │ + vadd.f64 d9, d2, d3 │ │ │ │ │ + vsub.f64 d3, d3, d2 │ │ │ │ │ + vadd.f64 d2, d10, d11 │ │ │ │ │ + vadd.f64 d10, d8, d7 │ │ │ │ │ + vsub.f64 d8, d2, d10 │ │ │ │ │ + vadd.f64 d2, d2, d10 │ │ │ │ │ + vsub.f64 d10, d0, d9 │ │ │ │ │ + vadd.f64 d0, d0, d9 │ │ │ │ │ + vstr d10, [r1] │ │ │ │ │ + vsub.f64 d10, d1, d2 │ │ │ │ │ + vadd.f64 d1, d1, d2 │ │ │ │ │ + ldr r1, [sp, #64] @ 0x40 │ │ │ │ │ + vsub.f64 d2, d4, d8 │ │ │ │ │ + vadd.f64 d4, d4, d8 │ │ │ │ │ + vstr d10, [r1] │ │ │ │ │ + ldr r1, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d0, [r6] │ │ │ │ │ + vstr d1, [r7] │ │ │ │ │ + vldr d1, [sp, #592] @ 0x250 │ │ │ │ │ vstr d2, [r1] │ │ │ │ │ - vadd.f64 d2, d7, d0 │ │ │ │ │ - ldr r1, [sp, #184] @ 0xb8 │ │ │ │ │ + vsub.f64 d2, d6, d3 │ │ │ │ │ + vadd.f64 d6, d6, d3 │ │ │ │ │ + ldr r1, [sp, #104] @ 0x68 │ │ │ │ │ + vsub.f64 d14, d1, d14 │ │ │ │ │ + vstr d2, [r1] │ │ │ │ │ + vstr d4, [fp] │ │ │ │ │ + vstr d6, [sl] │ │ │ │ │ + vldr d6, [sp, #536] @ 0x218 │ │ │ │ │ + vsub.f64 d3, d13, d6 │ │ │ │ │ + vldr d13, [sp, #632] @ 0x278 │ │ │ │ │ + ldr r1, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d6, [sp, #584] @ 0x248 │ │ │ │ │ + vldr d2, [sp, #416] @ 0x1a0 │ │ │ │ │ + vadd.f64 d1, d3, d14 │ │ │ │ │ + vsub.f64 d3, d3, d14 │ │ │ │ │ + vldr d8, [sp, #424] @ 0x1a8 │ │ │ │ │ + vsub.f64 d6, d13, d6 │ │ │ │ │ + vldr d10, [sp, #440] @ 0x1b8 │ │ │ │ │ + vldr d13, [sp, #544] @ 0x220 │ │ │ │ │ + vldr d14, [sp, #848] @ 0x350 │ │ │ │ │ + vsub.f64 d4, d2, d13 │ │ │ │ │ + vldr d13, [sp, #688] @ 0x2b0 │ │ │ │ │ + vadd.f64 d2, d6, d4 │ │ │ │ │ + vsub.f64 d13, d8, d13 │ │ │ │ │ + vldr d8, [sp, #496] @ 0x1f0 │ │ │ │ │ + vsub.f64 d4, d4, d6 │ │ │ │ │ + vsub.f64 d6, d10, d11 │ │ │ │ │ + vldr d10, [sp, #472] @ 0x1d8 │ │ │ │ │ + vsub.f64 d8, d8, d7 │ │ │ │ │ + vadd.f64 d0, d13, d6 │ │ │ │ │ + vsub.f64 d6, d6, d13 │ │ │ │ │ + vsub.f64 d5, d10, d5 │ │ │ │ │ + vsub.f64 d7, d5, d8 │ │ │ │ │ + vadd.f64 d5, d5, d8 │ │ │ │ │ + vadd.f64 d8, d0, d7 │ │ │ │ │ vsub.f64 d7, d7, d0 │ │ │ │ │ - vldr d12, [sp, #848] @ 0x350 │ │ │ │ │ - vmul.f64 d2, d2, d10 │ │ │ │ │ - vmul.f64 d7, d7, d10 │ │ │ │ │ - vadd.f64 d8, d3, d2 │ │ │ │ │ - vsub.f64 d3, d3, d2 │ │ │ │ │ - vldr d2, [sp, #824] @ 0x338 │ │ │ │ │ - vstr d8, [r1] │ │ │ │ │ - vadd.f64 d13, d2, d12 │ │ │ │ │ + vmul.f64 d8, d8, d12 │ │ │ │ │ + vmul.f64 d7, d7, d12 │ │ │ │ │ + vsub.f64 d9, d1, d8 │ │ │ │ │ + vadd.f64 d1, d1, d8 │ │ │ │ │ + vstr d9, [r1] │ │ │ │ │ ldr r1, [sp, #200] @ 0xc8 │ │ │ │ │ - vstr d3, [r1] │ │ │ │ │ - vsub.f64 d3, d4, d7 │ │ │ │ │ - ldr r1, [sp, #208] @ 0xd0 │ │ │ │ │ - vadd.f64 d4, d4, d7 │ │ │ │ │ - vadd.f64 d7, d6, d5 │ │ │ │ │ + vldr d9, [sp, #864] @ 0x360 │ │ │ │ │ + vstr d1, [r1] │ │ │ │ │ + vadd.f64 d1, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vsub.f64 d5, d2, d12 │ │ │ │ │ - vldr d12, [sp, #416] @ 0x1a0 │ │ │ │ │ - vstr d3, [r1] │ │ │ │ │ - vmov.f64 d3, d10 │ │ │ │ │ - ldr r1, [sp, #0] │ │ │ │ │ - vldr d10, [sp, #656] @ 0x290 │ │ │ │ │ - vmov.f64 d2, d3 │ │ │ │ │ - vstr d4, [r1] │ │ │ │ │ - ldr r1, [sp, #24] │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ - vldr d7, [sp, #784] @ 0x310 │ │ │ │ │ + ldr r1, [sp, #872] @ 0x368 │ │ │ │ │ + vmul.f64 d1, d1, d12 │ │ │ │ │ + vmul.f64 d6, d6, d12 │ │ │ │ │ + vadd.f64 d8, d2, d1 │ │ │ │ │ + vsub.f64 d2, d2, d1 │ │ │ │ │ + vldr d1, [sp, #816] @ 0x330 │ │ │ │ │ + vsub.f64 d5, d3, d6 │ │ │ │ │ + vadd.f64 d3, d3, d6 │ │ │ │ │ + vadd.f64 d6, d4, d7 │ │ │ │ │ + vsub.f64 d4, d4, d7 │ │ │ │ │ + vldr d7, [sp, #776] @ 0x308 │ │ │ │ │ + vstr d8, [r1] │ │ │ │ │ ldr r1, [sp, #216] @ 0xd8 │ │ │ │ │ - vsub.f64 d8, d7, d1 │ │ │ │ │ - vadd.f64 d0, d7, d1 │ │ │ │ │ - vldr d1, [sp, #648] @ 0x288 │ │ │ │ │ + vsub.f64 d8, d7, d14 │ │ │ │ │ + vadd.f64 d0, d7, d14 │ │ │ │ │ + vldr d14, [sp, #856] @ 0x358 │ │ │ │ │ + vstr d2, [r1] │ │ │ │ │ + vmov.f64 d2, d12 │ │ │ │ │ + ldr r1, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d12, [sp, #840] @ 0x348 │ │ │ │ │ vsub.f64 d7, d9, d14 │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ + ldr r1, [sp, #0] │ │ │ │ │ + vadd.f64 d13, d1, d12 │ │ │ │ │ + vsub.f64 d5, d1, d12 │ │ │ │ │ + vldr d1, [sp, #640] @ 0x280 │ │ │ │ │ + vldr d12, [sp, #648] @ 0x288 │ │ │ │ │ + vstr d3, [r1] │ │ │ │ │ + ldr r1, [sp, #8] │ │ │ │ │ vstr d6, [r1] │ │ │ │ │ - vadd.f64 d4, d1, d10 │ │ │ │ │ - vldr d10, [sp, #488] @ 0x1e8 │ │ │ │ │ - vldr d1, [pc, #204] @ ee8 │ │ │ │ │ + vstr d4, [r9] │ │ │ │ │ + vadd.f64 d4, d1, d12 │ │ │ │ │ + vldr d10, [sp, #480] @ 0x1e0 │ │ │ │ │ + vldr d1, [pc, #184] @ f40 │ │ │ │ │ + vldr d3, [sp, #408] @ 0x198 │ │ │ │ │ vsub.f64 d6, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vmul.f64 d6, d6, d3 │ │ │ │ │ - vmul.f64 d11, d7, d3 │ │ │ │ │ - vadd.f64 d7, d10, d12 │ │ │ │ │ - vldr d3, [sp, #408] @ 0x198 │ │ │ │ │ - vldr d12, [sp, #496] @ 0x1f0 │ │ │ │ │ - vldr d10, [pc, #164] @ ee0 │ │ │ │ │ - vadd.f64 d4, d12, d3 │ │ │ │ │ + vldr d12, [sp, #488] @ 0x1e8 │ │ │ │ │ + ldr r1, [sp, #296] @ 0x128 │ │ │ │ │ + vmul.f64 d11, d7, d2 │ │ │ │ │ + vadd.f64 d7, d10, d3 │ │ │ │ │ + vldr d10, [sp, #400] @ 0x190 │ │ │ │ │ + vmul.f64 d6, d6, d2 │ │ │ │ │ + vadd.f64 d4, d12, d10 │ │ │ │ │ + vldr d10, [pc, #132] @ f38 │ │ │ │ │ vldr d12, [sp, #648] @ 0x288 │ │ │ │ │ vmul.f64 d3, d4, d1 │ │ │ │ │ vnmls.f64 d3, d7, d10 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vmla.f64 d7, d4, d10 │ │ │ │ │ vadd.f64 d4, d14, d9 │ │ │ │ │ - vldr d14, [sp, #656] @ 0x290 │ │ │ │ │ + vldr d9, [sp, #432] @ 0x1b0 │ │ │ │ │ + vldr d14, [sp, #640] @ 0x280 │ │ │ │ │ vstr d3, [sp] │ │ │ │ │ - vsub.f64 d3, d12, d14 │ │ │ │ │ - vstr d7, [sp, #24] │ │ │ │ │ + vsub.f64 d3, d14, d12 │ │ │ │ │ vldr d14, [sp, #696] @ 0x2b8 │ │ │ │ │ + vstr d7, [sp, #8] │ │ │ │ │ + vldr d12, [sp, #704] @ 0x2c0 │ │ │ │ │ vadd.f64 d7, d4, d3 │ │ │ │ │ vsub.f64 d3, d3, d4 │ │ │ │ │ - vmul.f64 d7, d7, d2 │ │ │ │ │ - vmul.f64 d3, d3, d2 │ │ │ │ │ - vldr d2, [sp, #832] @ 0x340 │ │ │ │ │ - vldr d9, [sp, #440] @ 0x1b8 │ │ │ │ │ - vldr d12, [sp, #704] @ 0x2c0 │ │ │ │ │ - vsub.f64 d4, d2, d14 │ │ │ │ │ - ldr r1, [sp, #312] @ 0x138 │ │ │ │ │ vsub.f64 d12, d9, d12 │ │ │ │ │ vmov.f64 d9, d1 │ │ │ │ │ + vmul.f64 d3, d3, d2 │ │ │ │ │ + vmul.f64 d7, d7, d2 │ │ │ │ │ + vldr d2, [sp, #824] @ 0x338 │ │ │ │ │ + vsub.f64 d4, d2, d14 │ │ │ │ │ vmul.f64 d14, d12, d1 │ │ │ │ │ vmul.f64 d12, d12, d10 │ │ │ │ │ - vmla.f64 d14, d4, d10 │ │ │ │ │ - vnmls.f64 d12, d4, d1 │ │ │ │ │ - vldr d1, [sp, #696] @ 0x2b8 │ │ │ │ │ - vldr d4, [sp, #704] @ 0x2c0 │ │ │ │ │ - vadd.f64 d2, d2, d1 │ │ │ │ │ - vldr d1, [sp, #440] @ 0x1b8 │ │ │ │ │ - b.n f00 │ │ │ │ │ + b.n f58 │ │ │ │ │ nop │ │ │ │ │ nop.w │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0x39ae68c8 │ │ │ │ │ .word 0x3fe1c73b │ │ │ │ │ .word 0x3c69a60b │ │ │ │ │ @@ -1040,419 +1034,431 @@ │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ .word 0xcff75cb0 │ │ │ │ │ .word 0x3fef6297 │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ + vnmls.f64 d12, d4, d1 │ │ │ │ │ + vldr d1, [sp, #696] @ 0x2b8 │ │ │ │ │ + vmla.f64 d14, d4, d10 │ │ │ │ │ + vldr d4, [sp, #704] @ 0x2c0 │ │ │ │ │ + vadd.f64 d2, d2, d1 │ │ │ │ │ + vldr d1, [sp, #432] @ 0x1b0 │ │ │ │ │ vadd.f64 d4, d1, d4 │ │ │ │ │ vmul.f64 d1, d4, d10 │ │ │ │ │ vmul.f64 d4, d4, d9 │ │ │ │ │ vmla.f64 d1, d2, d9 │ │ │ │ │ vnmls.f64 d4, d2, d10 │ │ │ │ │ - vldr d2, [sp, #416] @ 0x1a0 │ │ │ │ │ - vstr d1, [sp, #32] │ │ │ │ │ - vldr d1, [sp, #488] @ 0x1e8 │ │ │ │ │ - vstr d4, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d2, [sp, #408] @ 0x198 │ │ │ │ │ + vstr d1, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d1, [sp, #480] @ 0x1e0 │ │ │ │ │ + vstr d4, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d4, [sp, #400] @ 0x190 │ │ │ │ │ vsub.f64 d2, d1, d2 │ │ │ │ │ - vldr d4, [sp, #408] @ 0x198 │ │ │ │ │ - vldr d1, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d1, [sp, #488] @ 0x1e8 │ │ │ │ │ vsub.f64 d1, d1, d4 │ │ │ │ │ vmul.f64 d4, d1, d10 │ │ │ │ │ vnmls.f64 d4, d2, d9 │ │ │ │ │ vmul.f64 d2, d2, d10 │ │ │ │ │ vmla.f64 d2, d1, d9 │ │ │ │ │ vadd.f64 d1, d8, d6 │ │ │ │ │ vsub.f64 d6, d8, d6 │ │ │ │ │ - vldr d8, [sp, #24] │ │ │ │ │ vadd.f64 d9, d14, d4 │ │ │ │ │ vsub.f64 d4, d4, d14 │ │ │ │ │ vsub.f64 d10, d1, d9 │ │ │ │ │ vadd.f64 d1, d1, d9 │ │ │ │ │ vadd.f64 d9, d12, d2 │ │ │ │ │ vsub.f64 d12, d12, d2 │ │ │ │ │ - vstr d10, [fp] │ │ │ │ │ - vstr d1, [sl] │ │ │ │ │ - vadd.f64 d1, d5, d3 │ │ │ │ │ + vstr d10, [r1] │ │ │ │ │ + ldr r1, [sp, #328] @ 0x148 │ │ │ │ │ vsub.f64 d2, d6, d12 │ │ │ │ │ - vsub.f64 d5, d5, d3 │ │ │ │ │ vadd.f64 d6, d6, d12 │ │ │ │ │ - vldr d3, [sp] │ │ │ │ │ - vldr d12, [sp, #32] │ │ │ │ │ + vstr d1, [r1] │ │ │ │ │ + vadd.f64 d1, d5, d3 │ │ │ │ │ + vsub.f64 d5, d5, d3 │ │ │ │ │ + ldr r1, [sp, #304] @ 0x130 │ │ │ │ │ vadd.f64 d10, d9, d1 │ │ │ │ │ vsub.f64 d1, d1, d9 │ │ │ │ │ - vstr d10, [r1] │ │ │ │ │ - ldr r1, [sp, #288] @ 0x120 │ │ │ │ │ + vstr d10, [r0] │ │ │ │ │ + ldr r0, [sp, #312] @ 0x138 │ │ │ │ │ vstr d1, [r1] │ │ │ │ │ - ldr r1, [sp, #272] @ 0x110 │ │ │ │ │ - vldr d1, [pc, #-184] @ ee8 │ │ │ │ │ + ldr r1, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d1, [pc, #-200] @ f40 │ │ │ │ │ vstr d2, [r1] │ │ │ │ │ - ldr r1, [sp, #296] @ 0x128 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ vadd.f64 d6, d4, d5 │ │ │ │ │ - ldr r1, [sp, #304] @ 0x130 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ + ldr r0, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d3, [sp] │ │ │ │ │ + vldr d8, [sp, #8] │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ vadd.f64 d6, d0, d7 │ │ │ │ │ - ldr r1, [sp, #280] @ 0x118 │ │ │ │ │ vsub.f64 d7, d0, d7 │ │ │ │ │ - vldr d0, [pc, #-228] @ ee0 │ │ │ │ │ + vldr d12, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r1, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d14, [sp, #64] @ 0x40 │ │ │ │ │ + ldr r0, [sp, #248] @ 0xf8 │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ vadd.f64 d5, d3, d12 │ │ │ │ │ - ldr r1, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d10, [sp, #600] @ 0x258 │ │ │ │ │ + vldr d0, [pc, #-272] @ f38 │ │ │ │ │ vsub.f64 d4, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vstr d4, [r1] │ │ │ │ │ - ldr r1, [sp, #224] @ 0xe0 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ + vadd.f64 d5, d8, d14 │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ + ldr r0, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ vadd.f64 d6, d13, d11 │ │ │ │ │ - vldr d14, [sp, #40] @ 0x28 │ │ │ │ │ vsub.f64 d13, d13, d11 │ │ │ │ │ - ldr r1, [sp, #232] @ 0xe8 │ │ │ │ │ - vldr d11, [sp, #560] @ 0x230 │ │ │ │ │ - vadd.f64 d5, d8, d14 │ │ │ │ │ - vldr d9, [sp, #680] @ 0x2a8 │ │ │ │ │ - vldr d10, [sp, #608] @ 0x260 │ │ │ │ │ + ldr r0, [sp, #240] @ 0xf0 │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vstr d4, [r1] │ │ │ │ │ - ldr r1, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d4, [sp, #800] @ 0x320 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ + ldr r0, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d4, [sp, #792] @ 0x318 │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ vsub.f64 d6, d14, d8 │ │ │ │ │ - ldr r1, [sp, #8] │ │ │ │ │ - vldr d14, [sp, #760] @ 0x2f8 │ │ │ │ │ + ldr r0, [sp, #16] │ │ │ │ │ + vldr d8, [sp, #552] @ 0x228 │ │ │ │ │ + vldr d14, [sp, #576] @ 0x240 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d5, [r1] │ │ │ │ │ - ldr r1, [sp, #256] @ 0x100 │ │ │ │ │ - vldr d5, [sp, #584] @ 0x248 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ + ldr r0, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d5, [sp, #616] @ 0x268 │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ vsub.f64 d7, d3, d12 │ │ │ │ │ - ldr r1, [sp, #264] @ 0x108 │ │ │ │ │ - vldr d12, [sp, #576] @ 0x240 │ │ │ │ │ - vldr d3, [sp, #808] @ 0x328 │ │ │ │ │ + ldr r0, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d12, [sp, #568] @ 0x238 │ │ │ │ │ + vmul.f64 d5, d5, d0 │ │ │ │ │ + vldr d3, [sp, #800] @ 0x320 │ │ │ │ │ vadd.f64 d6, d7, d13 │ │ │ │ │ vsub.f64 d13, d13, d7 │ │ │ │ │ - vsub.f64 d7, d11, d12 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ - vldr d6, [pc, #-352] @ ef8 │ │ │ │ │ - ldr r1, [sp, #16] │ │ │ │ │ + vnmls.f64 d5, d10, d1 │ │ │ │ │ + vsub.f64 d7, d8, d12 │ │ │ │ │ + vldr d12, [sp, #560] @ 0x230 │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ + vldr d6, [pc, #-384] @ f50 │ │ │ │ │ + ldr r0, [sp, #24] │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ - vstr d13, [r1] │ │ │ │ │ - vldr d13, [sp, #456] @ 0x1c8 │ │ │ │ │ + vstr d13, [r0] │ │ │ │ │ + vldr d9, [sp, #672] @ 0x2a0 │ │ │ │ │ + ldr r0, [sp, #152] @ 0x98 │ │ │ │ │ vsub.f64 d8, d3, d7 │ │ │ │ │ vadd.f64 d11, d3, d7 │ │ │ │ │ - vldr d3, [sp, #568] @ 0x238 │ │ │ │ │ - vsub.f64 d7, d5, d3 │ │ │ │ │ + vldr d13, [sp, #752] @ 0x2f0 │ │ │ │ │ + vsub.f64 d7, d14, d12 │ │ │ │ │ + vldr d3, [sp, #504] @ 0x1f8 │ │ │ │ │ + vldr d10, [sp, #736] @ 0x2e0 │ │ │ │ │ + vldr d14, [sp, #712] @ 0x2c8 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ vmul.f64 d6, d9, d0 │ │ │ │ │ - vldr d9, [sp, #664] @ 0x298 │ │ │ │ │ + vldr d9, [sp, #656] @ 0x290 │ │ │ │ │ vadd.f64 d12, d4, d7 │ │ │ │ │ vsub.f64 d7, d4, d7 │ │ │ │ │ - vldr d4, [sp, #624] @ 0x270 │ │ │ │ │ vmla.f64 d6, d9, d1 │ │ │ │ │ - vldr d9, [sp, #512] @ 0x200 │ │ │ │ │ - vmul.f64 d5, d4, d0 │ │ │ │ │ - vnmls.f64 d5, d10, d1 │ │ │ │ │ - vldr d10, [sp, #744] @ 0x2e8 │ │ │ │ │ - vadd.f64 d4, d9, d10 │ │ │ │ │ - vldr d10, [sp, #528] @ 0x210 │ │ │ │ │ - vldr d9, [pc, #-484] @ ec8 │ │ │ │ │ + vldr d9, [sp, #520] @ 0x208 │ │ │ │ │ + vadd.f64 d4, d3, d10 │ │ │ │ │ + vldr d10, [pc, #-496] @ f30 │ │ │ │ │ vsub.f64 d2, d5, d6 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ - vadd.f64 d6, d10, d14 │ │ │ │ │ - vldr d10, [pc, #-484] @ ed8 │ │ │ │ │ - vldr d14, [sp, #720] @ 0x2d0 │ │ │ │ │ + vadd.f64 d6, d9, d13 │ │ │ │ │ + vldr d9, [pc, #-528] @ f20 │ │ │ │ │ + vldr d13, [sp, #448] @ 0x1c0 │ │ │ │ │ vmul.f64 d3, d6, d9 │ │ │ │ │ vnmls.f64 d3, d4, d10 │ │ │ │ │ vmul.f64 d4, d4, d9 │ │ │ │ │ vmla.f64 d4, d6, d10 │ │ │ │ │ vsub.f64 d6, d13, d14 │ │ │ │ │ - vldr d14, [sp, #472] @ 0x1d8 │ │ │ │ │ - vsub.f64 d13, d14, d15 │ │ │ │ │ + vldr d14, [sp, #464] @ 0x1d0 │ │ │ │ │ vstr d3, [sp] │ │ │ │ │ + vsub.f64 d13, d14, d15 │ │ │ │ │ + vldr d3, [pc, #-528] @ f48 │ │ │ │ │ vstr d4, [sp, #8] │ │ │ │ │ - vldr d3, [pc, #-504] @ ef0 │ │ │ │ │ - vldr d4, [pc, #-540] @ ed0 │ │ │ │ │ + vldr d4, [pc, #-568] @ f28 │ │ │ │ │ vmul.f64 d14, d13, d4 │ │ │ │ │ vmul.f64 d13, d13, d3 │ │ │ │ │ vmla.f64 d14, d6, d3 │ │ │ │ │ vnmls.f64 d13, d6, d4 │ │ │ │ │ - vldr d6, [sp, #624] @ 0x270 │ │ │ │ │ - vldr d4, [sp, #608] @ 0x260 │ │ │ │ │ - ldr r1, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d4, [sp, #600] @ 0x258 │ │ │ │ │ + vldr d6, [sp, #616] @ 0x268 │ │ │ │ │ vmul.f64 d3, d6, d1 │ │ │ │ │ vmla.f64 d3, d4, d0 │ │ │ │ │ - vldr d4, [sp, #664] @ 0x298 │ │ │ │ │ + vldr d4, [sp, #656] @ 0x290 │ │ │ │ │ vmul.f64 d6, d4, d0 │ │ │ │ │ - vldr d4, [sp, #680] @ 0x2a8 │ │ │ │ │ - vldr d0, [sp, #720] @ 0x2d0 │ │ │ │ │ + vldr d4, [sp, #672] @ 0x2a0 │ │ │ │ │ + vldr d0, [sp, #712] @ 0x2c8 │ │ │ │ │ vnmls.f64 d6, d4, d1 │ │ │ │ │ - vldr d1, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d1, [sp, #448] @ 0x1c0 │ │ │ │ │ vadd.f64 d1, d1, d0 │ │ │ │ │ + vldr d0, [sp, #464] @ 0x1d0 │ │ │ │ │ vadd.f64 d4, d3, d6 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ - vldr d3, [sp, #472] @ 0x1d8 │ │ │ │ │ - vadd.f64 d15, d3, d15 │ │ │ │ │ - vldr d3, [pc, #-592] @ ef0 │ │ │ │ │ + vldr d3, [sp, #504] @ 0x1f8 │ │ │ │ │ + vadd.f64 d15, d0, d15 │ │ │ │ │ vmul.f64 d0, d15, d10 │ │ │ │ │ vmul.f64 d15, d15, d9 │ │ │ │ │ - vmla.f64 d0, d1, d9 │ │ │ │ │ - vldr d9, [sp, #744] @ 0x2e8 │ │ │ │ │ vnmls.f64 d15, d1, d10 │ │ │ │ │ - vldr d1, [sp, #512] @ 0x200 │ │ │ │ │ - vldr d10, [sp, #528] @ 0x210 │ │ │ │ │ - vsub.f64 d1, d1, d9 │ │ │ │ │ - vldr d9, [sp, #760] @ 0x2f8 │ │ │ │ │ + vldr d10, [sp, #736] @ 0x2e0 │ │ │ │ │ + vmla.f64 d0, d1, d9 │ │ │ │ │ + vldr d9, [pc, #-672] @ f28 │ │ │ │ │ + vsub.f64 d1, d3, d10 │ │ │ │ │ + vldr d3, [sp, #520] @ 0x208 │ │ │ │ │ + vldr d10, [sp, #752] @ 0x2f0 │ │ │ │ │ vstr d0, [sp, #16] │ │ │ │ │ - vsub.f64 d0, d10, d9 │ │ │ │ │ + vsub.f64 d0, d3, d10 │ │ │ │ │ + vldr d3, [pc, #-664] @ f48 │ │ │ │ │ vmov.f64 d10, d3 │ │ │ │ │ - vldr d9, [pc, #-676] @ ed0 │ │ │ │ │ vmul.f64 d3, d0, d3 │ │ │ │ │ vnmls.f64 d3, d1, d9 │ │ │ │ │ vmul.f64 d1, d1, d10 │ │ │ │ │ vmla.f64 d1, d0, d9 │ │ │ │ │ vadd.f64 d0, d8, d2 │ │ │ │ │ vsub.f64 d2, d8, d2 │ │ │ │ │ vadd.f64 d9, d14, d3 │ │ │ │ │ vsub.f64 d3, d3, d14 │ │ │ │ │ - vldr d14, [pc, #-712] @ ed0 │ │ │ │ │ + vldr d14, [pc, #-736] @ f28 │ │ │ │ │ vsub.f64 d10, d0, d9 │ │ │ │ │ vadd.f64 d0, d0, d9 │ │ │ │ │ vadd.f64 d9, d13, d1 │ │ │ │ │ vsub.f64 d13, d13, d1 │ │ │ │ │ - vstr d10, [r1] │ │ │ │ │ - ldr r1, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d10, [r0] │ │ │ │ │ + ldr r0, [sp, #184] @ 0xb8 │ │ │ │ │ vsub.f64 d1, d2, d13 │ │ │ │ │ vadd.f64 d2, d2, d13 │ │ │ │ │ - vldr d13, [sp, #16] │ │ │ │ │ - vstr d0, [r1] │ │ │ │ │ + vstr d0, [r0] │ │ │ │ │ vadd.f64 d0, d7, d6 │ │ │ │ │ - ldr r1, [sp, #168] @ 0xa8 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ + ldr r0, [sp, #192] @ 0xc0 │ │ │ │ │ vadd.f64 d10, d9, d0 │ │ │ │ │ vsub.f64 d0, d0, d9 │ │ │ │ │ vadd.f64 d6, d3, d7 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vstr d10, [r1] │ │ │ │ │ - ldr r1, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d10, [pc, #-776] @ ed8 │ │ │ │ │ - vstr d0, [r1] │ │ │ │ │ - ldr r1, [sp, #124] @ 0x7c │ │ │ │ │ - vldr d0, [pc, #-780] @ ee0 │ │ │ │ │ - vstr d1, [r1] │ │ │ │ │ - ldr r1, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d1, [pc, #-780] @ ee8 │ │ │ │ │ - vstr d2, [r1] │ │ │ │ │ - ldr r1, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d10, [r0] │ │ │ │ │ + ldr r0, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d10, [pc, #-800] @ f30 │ │ │ │ │ + vstr d0, [r0] │ │ │ │ │ + ldr r0, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d0, [pc, #-800] @ f38 │ │ │ │ │ + vstr d1, [r0] │ │ │ │ │ + vldr d8, [sp, #8] │ │ │ │ │ + ldr r0, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d13, [sp, #16] │ │ │ │ │ + vldr d1, [pc, #-812] @ f40 │ │ │ │ │ + vstr d2, [r0] │ │ │ │ │ vldr d2, [sp] │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ + ldr r0, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ vadd.f64 d6, d2, d13 │ │ │ │ │ - ldr r1, [sp, #880] @ 0x370 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ + ldr r0, [sp, #148] @ 0x94 │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ vadd.f64 d7, d11, d4 │ │ │ │ │ - ldr r1, [sp, #368] @ 0x170 │ │ │ │ │ vsub.f64 d4, d11, d4 │ │ │ │ │ + ldr r0, [sp, #32] │ │ │ │ │ + vldr d11, [sp, #560] @ 0x230 │ │ │ │ │ vsub.f64 d3, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d3, [r1] │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ - vadd.f64 d7, d12, d5 │ │ │ │ │ - vldr d8, [sp, #8] │ │ │ │ │ - vsub.f64 d12, d12, d5 │ │ │ │ │ - ldr r1, [sp, #376] @ 0x178 │ │ │ │ │ - vldr d11, [sp, #560] @ 0x230 │ │ │ │ │ vadd.f64 d6, d8, d15 │ │ │ │ │ vsub.f64 d15, d15, d8 │ │ │ │ │ - vldr d5, [sp, #632] @ 0x278 │ │ │ │ │ - vldr d9, [sp, #736] @ 0x2e0 │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + vadd.f64 d7, d12, d5 │ │ │ │ │ + vsub.f64 d12, d12, d5 │ │ │ │ │ + vldr d5, [sp, #624] @ 0x270 │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ + ldr r3, [sp, #368] @ 0x170 │ │ │ │ │ + vldr d3, [sp, #552] @ 0x228 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d4, d15 │ │ │ │ │ - ldr r1, [sp, #384] @ 0x180 │ │ │ │ │ vadd.f64 d4, d4, d15 │ │ │ │ │ - vldr d3, [sp, #568] @ 0x238 │ │ │ │ │ - vldr d15, [sp, #584] @ 0x248 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ + ldr r3, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d15, [sp, #576] @ 0x240 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d2, d13 │ │ │ │ │ - ldr r1, [sp, #400] @ 0x190 │ │ │ │ │ - vldr d2, [sp, #536] @ 0x218 │ │ │ │ │ - vldr d13, [pc, #-912] @ ef0 │ │ │ │ │ + ldr r3, [sp, #392] @ 0x188 │ │ │ │ │ + vldr d13, [pc, #-932] @ f48 │ │ │ │ │ vadd.f64 d6, d7, d12 │ │ │ │ │ vsub.f64 d12, d12, d7 │ │ │ │ │ - vadd.f64 d7, d3, d15 │ │ │ │ │ - vstr d4, [r1] │ │ │ │ │ - ldr r1, [sp, #392] @ 0x188 │ │ │ │ │ - vldr d4, [sp, #816] @ 0x330 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + vadd.f64 d7, d11, d15 │ │ │ │ │ + vldr d11, [sp, #568] @ 0x238 │ │ │ │ │ + vldr d15, [sp, #664] @ 0x298 │ │ │ │ │ + vldr d4, [sp, #808] @ 0x328 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ - vldr d6, [pc, #-936] @ ef8 │ │ │ │ │ - vldr d3, [sp, #576] @ 0x240 │ │ │ │ │ - vstr d12, [r1] │ │ │ │ │ + vldr d6, [pc, #-960] @ f50 │ │ │ │ │ + ldr r2, [sp, #384] @ 0x180 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ - vldr d15, [sp, #672] @ 0x2a0 │ │ │ │ │ + vstr d12, [r2] │ │ │ │ │ vsub.f64 d8, d4, d7 │ │ │ │ │ vadd.f64 d12, d4, d7 │ │ │ │ │ - vadd.f64 d7, d11, d3 │ │ │ │ │ - vldr d4, [sp, #688] @ 0x2b0 │ │ │ │ │ - vldr d3, [sp, #616] @ 0x268 │ │ │ │ │ + vldr d4, [sp, #680] @ 0x2a8 │ │ │ │ │ + vadd.f64 d7, d3, d11 │ │ │ │ │ + vldr d3, [sp, #608] @ 0x260 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #792] @ 0x318 │ │ │ │ │ + vldr d6, [sp, #784] @ 0x310 │ │ │ │ │ vnmls.f64 d5, d3, d0 │ │ │ │ │ vadd.f64 d11, d6, d7 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ vmul.f64 d6, d4, d1 │ │ │ │ │ - vldr d4, [sp, #520] @ 0x208 │ │ │ │ │ + vldr d4, [sp, #512] @ 0x200 │ │ │ │ │ + ldr r0, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d2, [sp, #528] @ 0x210 │ │ │ │ │ vmla.f64 d6, d15, d0 │ │ │ │ │ - vldr d15, [sp, #768] @ 0x300 │ │ │ │ │ + vldr d9, [sp, #728] @ 0x2d8 │ │ │ │ │ + vldr d15, [sp, #760] @ 0x2f8 │ │ │ │ │ vsub.f64 d3, d5, d6 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ vadd.f64 d6, d4, d15 │ │ │ │ │ - vldr d15, [sp, #752] @ 0x2f0 │ │ │ │ │ + vldr d15, [sp, #744] @ 0x2e8 │ │ │ │ │ vadd.f64 d4, d2, d15 │ │ │ │ │ vmul.f64 d2, d4, d14 │ │ │ │ │ vmul.f64 d4, d4, d13 │ │ │ │ │ - vmla.f64 d4, d6, d14 │ │ │ │ │ vnmls.f64 d2, d6, d13 │ │ │ │ │ - vldr d6, [sp, #464] @ 0x1d0 │ │ │ │ │ - vldr d13, [sp, #840] @ 0x348 │ │ │ │ │ + vmla.f64 d4, d6, d14 │ │ │ │ │ + vldr d6, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d13, [sp, #832] @ 0x340 │ │ │ │ │ vsub.f64 d6, d6, d9 │ │ │ │ │ - vldr d9, [pc, #436] @ 14d0 │ │ │ │ │ - vstr d4, [sp, #16] │ │ │ │ │ - vldr d4, [sp, #728] @ 0x2d8 │ │ │ │ │ + vldr d9, [pc, #456] @ 1558 │ │ │ │ │ vstr d2, [sp, #8] │ │ │ │ │ + vstr d4, [sp, #16] │ │ │ │ │ + vldr d4, [sp, #720] @ 0x2d0 │ │ │ │ │ vmul.f64 d2, d6, d10 │ │ │ │ │ vsub.f64 d15, d13, d4 │ │ │ │ │ vmov.f64 d4, d2 │ │ │ │ │ vmov.f64 d2, d14 │ │ │ │ │ vmla.f64 d4, d15, d9 │ │ │ │ │ vmul.f64 d15, d15, d10 │ │ │ │ │ vnmls.f64 d15, d6, d9 │ │ │ │ │ + vldr d6, [sp, #624] @ 0x270 │ │ │ │ │ vstr d4, [sp] │ │ │ │ │ - vldr d6, [sp, #632] @ 0x278 │ │ │ │ │ - ldr r2, [sp, #320] @ 0x140 │ │ │ │ │ - ldr r0, [sp, #64] @ 0x40 │ │ │ │ │ vmul.f64 d4, d6, d0 │ │ │ │ │ - vldr d6, [sp, #616] @ 0x268 │ │ │ │ │ - ldr r1, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d6, [sp, #608] @ 0x260 │ │ │ │ │ vmla.f64 d4, d6, d1 │ │ │ │ │ - vldr d6, [sp, #672] @ 0x2a0 │ │ │ │ │ + vldr d6, [sp, #664] @ 0x298 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ - vldr d1, [sp, #688] @ 0x2b0 │ │ │ │ │ + vldr d1, [sp, #680] @ 0x2a8 │ │ │ │ │ vnmls.f64 d6, d1, d0 │ │ │ │ │ - vldr d1, [sp, #464] @ 0x1d0 │ │ │ │ │ + vldr d1, [sp, #456] @ 0x1c8 │ │ │ │ │ vadd.f64 d0, d4, d6 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ - vldr d4, [sp, #728] @ 0x2d8 │ │ │ │ │ + vldr d4, [sp, #720] @ 0x2d0 │ │ │ │ │ vadd.f64 d13, d13, d4 │ │ │ │ │ - vldr d4, [sp, #736] @ 0x2e0 │ │ │ │ │ + vldr d4, [sp, #728] @ 0x2d8 │ │ │ │ │ vadd.f64 d4, d1, d4 │ │ │ │ │ - vldr d1, [pc, #332] @ 14d8 │ │ │ │ │ + vldr d1, [pc, #356] @ 1560 │ │ │ │ │ vmul.f64 d14, d4, d14 │ │ │ │ │ vmla.f64 d14, d13, d1 │ │ │ │ │ vmul.f64 d13, d13, d2 │ │ │ │ │ - vldr d2, [sp, #536] @ 0x218 │ │ │ │ │ + vldr d2, [sp, #528] @ 0x210 │ │ │ │ │ vnmls.f64 d13, d4, d1 │ │ │ │ │ - vldr d4, [sp, #768] @ 0x300 │ │ │ │ │ - vldr d1, [sp, #520] @ 0x208 │ │ │ │ │ + vldr d1, [sp, #512] @ 0x200 │ │ │ │ │ + vldr d4, [sp, #760] @ 0x2f8 │ │ │ │ │ vsub.f64 d1, d1, d4 │ │ │ │ │ - vldr d4, [sp, #752] @ 0x2f0 │ │ │ │ │ + vldr d4, [sp, #744] @ 0x2e8 │ │ │ │ │ vsub.f64 d2, d2, d4 │ │ │ │ │ vmul.f64 d4, d2, d10 │ │ │ │ │ vmul.f64 d2, d2, d9 │ │ │ │ │ - vmla.f64 d2, d1, d10 │ │ │ │ │ vnmls.f64 d4, d1, d9 │ │ │ │ │ vldr d9, [sp] │ │ │ │ │ + vmla.f64 d2, d1, d10 │ │ │ │ │ vadd.f64 d1, d8, d3 │ │ │ │ │ vsub.f64 d3, d8, d3 │ │ │ │ │ vadd.f64 d9, d9, d4 │ │ │ │ │ vsub.f64 d10, d1, d9 │ │ │ │ │ vadd.f64 d1, d1, d9 │ │ │ │ │ vadd.f64 d9, d15, d2 │ │ │ │ │ vsub.f64 d2, d15, d2 │ │ │ │ │ - vstr d10, [r2] │ │ │ │ │ - vstr d1, [r5] │ │ │ │ │ + vstr d10, [r0] │ │ │ │ │ + vstr d1, [lr] │ │ │ │ │ vadd.f64 d1, d7, d6 │ │ │ │ │ - ldr r2, [sp, #328] @ 0x148 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ + ldr r0, [sp, #48] @ 0x30 │ │ │ │ │ vadd.f64 d10, d9, d1 │ │ │ │ │ vsub.f64 d1, d1, d9 │ │ │ │ │ - vldr d9, [sp] │ │ │ │ │ - vstr d10, [r4] │ │ │ │ │ - vsub.f64 d4, d4, d9 │ │ │ │ │ - vstr d1, [r2] │ │ │ │ │ + vstr d10, [ip] │ │ │ │ │ + vstr d1, [r0] │ │ │ │ │ vsub.f64 d1, d3, d2 │ │ │ │ │ - ldr r2, [sp, #336] @ 0x150 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ + ldr r0, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d1, [r0] │ │ │ │ │ + ldr r0, [sp, #352] @ 0x160 │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ + vldr d9, [sp] │ │ │ │ │ + vldr d3, [sp, #8] │ │ │ │ │ + ldr r0, [sp, #360] @ 0x168 │ │ │ │ │ + vsub.f64 d4, d4, d9 │ │ │ │ │ + vldr d2, [sp, #16] │ │ │ │ │ + ldr r4, [sp, #80] @ 0x50 │ │ │ │ │ + ldr r1, [sp, #88] @ 0x58 │ │ │ │ │ vadd.f64 d6, d4, d7 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vstr d1, [r2] │ │ │ │ │ - ldr r2, [sp, #352] @ 0x160 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - ldr r2, [sp, #360] @ 0x168 │ │ │ │ │ - vldr d3, [sp, #8] │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ + ldrd r3, r2, [sp, #108] @ 0x6c │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ vadd.f64 d6, d3, d14 │ │ │ │ │ - ldr r2, [sp, #344] @ 0x158 │ │ │ │ │ vsub.f64 d14, d3, d14 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ + ldr r0, [sp, #344] @ 0x158 │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ vadd.f64 d7, d12, d0 │ │ │ │ │ vsub.f64 d12, d12, d0 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d4, [r1] │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ - vadd.f64 d7, d11, d5 │ │ │ │ │ - vldr d2, [sp, #16] │ │ │ │ │ - vsub.f64 d11, d11, d5 │ │ │ │ │ - ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ - ldr r4, [sp, #80] @ 0x50 │ │ │ │ │ vadd.f64 d6, d2, d13 │ │ │ │ │ vsub.f64 d13, d13, d2 │ │ │ │ │ - ldr r0, [sp, #104] @ 0x68 │ │ │ │ │ - ldr r5, [sp, #92] @ 0x5c │ │ │ │ │ - ldr r2, [sp, #1004] @ 0x3ec │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + vadd.f64 d7, d11, d5 │ │ │ │ │ + vsub.f64 d11, d11, d5 │ │ │ │ │ + ldr r4, [sp, #96] @ 0x60 │ │ │ │ │ + ldr r2, [sp, #120] @ 0x78 │ │ │ │ │ vadd.f64 d4, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d14, d11 │ │ │ │ │ vsub.f64 d11, d11, d14 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - ldr r3, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d12, d13 │ │ │ │ │ - ldr r3, [sp, #888] @ 0x378 │ │ │ │ │ vadd.f64 d12, d12, d13 │ │ │ │ │ - add r7, r3 │ │ │ │ │ - add r8, r3 │ │ │ │ │ + ldr r1, [sp, #136] @ 0x88 │ │ │ │ │ + ldr r2, [sp, #996] @ 0x3e4 │ │ │ │ │ vstr d7, [r4] │ │ │ │ │ - ldr r3, [sp, #892] @ 0x37c │ │ │ │ │ - ldr r4, [sp, #112] @ 0x70 │ │ │ │ │ - eor.w r9, r9, r3 │ │ │ │ │ + ldr r4, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d12, [r4] │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ + vstr d11, [r3] │ │ │ │ │ + ldr r3, [sp, #880] @ 0x370 │ │ │ │ │ + add r6, r3 │ │ │ │ │ + add r7, r3 │ │ │ │ │ ldr r3, [sp, #884] @ 0x374 │ │ │ │ │ - vstr d12, [r0] │ │ │ │ │ + eor.w r8, r8, r3 │ │ │ │ │ + ldr r3, [sp, #876] @ 0x36c │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ - vstr d11, [r5] │ │ │ │ │ - bne.w 40 │ │ │ │ │ - add.w sp, sp, #900 @ 0x384 │ │ │ │ │ + bne.w 54 │ │ │ │ │ + add.w sp, sp, #892 @ 0x37c │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop │ │ │ │ │ + nop.w │ │ │ │ │ .word 0x39ae68c8 │ │ │ │ │ .word 0x3fe1c73b │ │ │ │ │ .word 0xcff75cb0 │ │ │ │ │ .word 0x3fef6297 │ │ │ │ │ │ │ │ │ │ -000014e0 : │ │ │ │ │ +00001568 : │ │ │ │ │ fftw_codelet_t2_32(): │ │ │ │ │ - ldr r2, [pc, #8] @ (14ec ) │ │ │ │ │ - ldr r1, [pc, #12] @ (14f0 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (1574 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (1578 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_dit_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── t2_4.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1240 (bytes into file) │ │ │ │ │ + Start of section headers: 1276 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x4d8: │ │ │ │ │ +There are 14 section headers, starting at offset 0x4fc: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000238 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000430 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 00026c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 00026c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 00026c 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000271 00000c 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 00027d 000040 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000448 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 0002bd 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0002bd 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 0002f0 0000f0 10 12 12 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 0003e0 00004e 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000460 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00025c 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000454 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000290 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000290 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000290 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000295 00000c 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0002a1 000040 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 00046c 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 0002e1 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0002e1 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000314 0000f0 10 12 12 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000404 00004e 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000484 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,18 +1,18 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 15 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 546 FUNC LOCAL DEFAULT 1 t2_4 │ │ │ │ │ + 1: 00000001 584 FUNC LOCAL DEFAULT 1 t2_4 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000230 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000254 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 4: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 8: 00000000 12 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 9: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 10: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 11: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 12: 00000225 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t2_4 │ │ │ │ │ + 12: 00000249 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t2_4 │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_dit_register │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x430 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x454 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000230 00000903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000234 00000103 R_ARM_REL32 00000001 t2_4 │ │ │ │ │ -0000022c 00000d1e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ +00000254 00000903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000258 00000103 R_ARM_REL32 00000001 t2_4 │ │ │ │ │ +00000250 00000d1e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x448 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x46c contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000402 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000602 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00000e02 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,167 +1,172 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ t2_4(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ vpush {d8-d10} │ │ │ │ │ - ldrd r4, r7, [sp, #60] @ 0x3c │ │ │ │ │ - ldr r5, [sp, #68] @ 0x44 │ │ │ │ │ - cmp r4, r7 │ │ │ │ │ - add.w r2, r2, r4, lsl #5 │ │ │ │ │ - bge.n 116 │ │ │ │ │ - cmp r5, #1 │ │ │ │ │ - mov.w r8, r3, lsl #4 │ │ │ │ │ + ldrd r5, r6, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r4, [sp, #64] @ 0x40 │ │ │ │ │ + cmp r5, r6 │ │ │ │ │ + add.w r2, r2, r5, lsl #5 │ │ │ │ │ + bge.w 12a │ │ │ │ │ + cmp r4, #1 │ │ │ │ │ + mov.w ip, r3, lsl #4 │ │ │ │ │ mov.w lr, r3, lsl #3 │ │ │ │ │ - ittt eq │ │ │ │ │ - addeq r2, #32 │ │ │ │ │ - addeq.w r6, r0, r8 │ │ │ │ │ - addeq.w r5, r1, r8 │ │ │ │ │ - bne.n 11e │ │ │ │ │ - vldr d9, [r2, #-24] @ 0xffffffe8 │ │ │ │ │ - add.w ip, r0, lr │ │ │ │ │ - vldr d8, [r2, #-16] │ │ │ │ │ - add.w r3, r1, lr │ │ │ │ │ + bne.w 140 │ │ │ │ │ + add.w r4, r0, ip │ │ │ │ │ + add.w r3, r1, ip │ │ │ │ │ + add.w r2, r2, #32 │ │ │ │ │ + sub.w ip, r4, lr │ │ │ │ │ vldr d4, [r2, #-32] @ 0xffffffe0 │ │ │ │ │ - add.w sl, ip, r8 │ │ │ │ │ - vldr d10, [r2, #-8] │ │ │ │ │ - add.w r9, r3, r8 │ │ │ │ │ - vmul.f64 d1, d8, d9 │ │ │ │ │ - vldr d5, [r6] │ │ │ │ │ + add.w r8, r1, lr │ │ │ │ │ + add.w r9, r4, lr │ │ │ │ │ + add.w r7, r3, lr │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ + vldr d9, [r2, #-24] @ 0xffffffe8 │ │ │ │ │ + cmp r6, r5 │ │ │ │ │ + add.w r2, r2, #32 │ │ │ │ │ + vldr d8, [r2, #-48] @ 0xffffffd0 │ │ │ │ │ + vldr d10, [r2, #-40] @ 0xffffffd8 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ vmul.f64 d7, d8, d4 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - vmla.f64 d7, d10, d9 │ │ │ │ │ + vmul.f64 d1, d8, d9 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ vldr d2, [r0] │ │ │ │ │ vldr d3, [r1] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + vmla.f64 d7, d10, d9 │ │ │ │ │ vnmls.f64 d1, d10, d4 │ │ │ │ │ - adds r2, #32 │ │ │ │ │ - cmp r7, r4 │ │ │ │ │ vmul.f64 d0, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vmla.f64 d0, d6, d1 │ │ │ │ │ - vldr d1, [r3] │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ vldr d6, [ip] │ │ │ │ │ + vldr d1, [r8] │ │ │ │ │ vmul.f64 d7, d6, d4 │ │ │ │ │ vmul.f64 d6, d6, d9 │ │ │ │ │ - vmla.f64 d7, d1, d9 │ │ │ │ │ - vldr d9, [r9] │ │ │ │ │ vnmls.f64 d6, d1, d4 │ │ │ │ │ - vldr d4, [sl] │ │ │ │ │ + vldr d4, [r9] │ │ │ │ │ + vmla.f64 d7, d1, d9 │ │ │ │ │ + vldr d9, [r7] │ │ │ │ │ vmul.f64 d1, d4, d8 │ │ │ │ │ vmul.f64 d4, d4, d10 │ │ │ │ │ vmla.f64 d1, d9, d10 │ │ │ │ │ vnmls.f64 d4, d9, d8 │ │ │ │ │ vadd.f64 d9, d0, d2 │ │ │ │ │ vsub.f64 d2, d2, d0 │ │ │ │ │ vadd.f64 d8, d1, d7 │ │ │ │ │ vsub.f64 d7, d7, d1 │ │ │ │ │ vsub.f64 d10, d9, d8 │ │ │ │ │ vadd.f64 d8, d8, d9 │ │ │ │ │ vadd.f64 d9, d4, d6 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ - vstmia r6!, {d10} │ │ │ │ │ + vstmia r4!, {d10} │ │ │ │ │ vstmia r0!, {d8} │ │ │ │ │ vadd.f64 d8, d5, d3 │ │ │ │ │ vsub.f64 d3, d3, d5 │ │ │ │ │ vsub.f64 d4, d2, d6 │ │ │ │ │ vadd.f64 d6, d6, d2 │ │ │ │ │ vadd.f64 d10, d8, d9 │ │ │ │ │ - vsub.f64 d8, d8, d9 │ │ │ │ │ vsub.f64 d5, d3, d7 │ │ │ │ │ + vsub.f64 d8, d8, d9 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ vstmia r1!, {d10} │ │ │ │ │ - vstmia r5!, {d8} │ │ │ │ │ - vstr d4, [sl] │ │ │ │ │ - vstr d6, [ip] │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - vstr d7, [r9] │ │ │ │ │ - bne.n 2e │ │ │ │ │ + vstmia r3!, {d8} │ │ │ │ │ + vstr d4, [r9] │ │ │ │ │ + vstmia ip!, {d6} │ │ │ │ │ + vstr d5, [r8] │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ + bne.n 42 │ │ │ │ │ vpop {d8-d10} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ - adds r2, #32 │ │ │ │ │ - add.w r6, r0, r8 │ │ │ │ │ - add.w r3, r1, r8 │ │ │ │ │ - vldr d8, [r2, #-16] │ │ │ │ │ - add.w r9, r0, lr │ │ │ │ │ - vldr d7, [r2, #-24] @ 0xffffffe8 │ │ │ │ │ - add.w ip, r1, lr │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {sl, pc} │ │ │ │ │ + add.w r7, r0, ip │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + add.w r3, r1, ip │ │ │ │ │ + add.w r2, r2, #32 │ │ │ │ │ + sub.w ip, r7, lr │ │ │ │ │ vldr d1, [r2, #-32] @ 0xffffffe0 │ │ │ │ │ - add.w sl, ip, r8 │ │ │ │ │ - vldr d5, [r2, #-8] │ │ │ │ │ - add.w fp, r9, r8 │ │ │ │ │ - vmul.f64 d6, d7, d8 │ │ │ │ │ - vldr d10, [r6] │ │ │ │ │ + add.w r9, r1, lr │ │ │ │ │ + add.w r8, r3, lr │ │ │ │ │ + add.w sl, r7, lr │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ + vldr d7, [r2, #-24] @ 0xffffffe8 │ │ │ │ │ + cmp r6, r5 │ │ │ │ │ + add.w r2, r2, #32 │ │ │ │ │ + vldr d8, [r2, #-48] @ 0xffffffd0 │ │ │ │ │ + vldr d5, [r2, #-40] @ 0xffffffd8 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + vmul.f64 d6, d7, d8 │ │ │ │ │ + vldr d10, [r7] │ │ │ │ │ vmul.f64 d3, d7, d5 │ │ │ │ │ vldr d2, [r0] │ │ │ │ │ - vmla.f64 d3, d1, d8 │ │ │ │ │ vldr d4, [r1] │ │ │ │ │ vnmls.f64 d6, d1, d5 │ │ │ │ │ - adds r2, #32 │ │ │ │ │ - cmp r7, r4 │ │ │ │ │ + vmla.f64 d3, d1, d8 │ │ │ │ │ vmul.f64 d0, d6, d9 │ │ │ │ │ vmul.f64 d6, d6, d10 │ │ │ │ │ vmla.f64 d0, d3, d10 │ │ │ │ │ - vldr d10, [r9] │ │ │ │ │ + vldr d10, [ip] │ │ │ │ │ vnmls.f64 d6, d3, d9 │ │ │ │ │ - vldr d9, [ip] │ │ │ │ │ + vldr d9, [r9] │ │ │ │ │ vmul.f64 d3, d7, d9 │ │ │ │ │ vmul.f64 d7, d7, d10 │ │ │ │ │ - vmla.f64 d3, d1, d10 │ │ │ │ │ - vldr d10, [fp] │ │ │ │ │ vnmls.f64 d7, d1, d9 │ │ │ │ │ - vldr d9, [sl] │ │ │ │ │ + vldr d9, [r8] │ │ │ │ │ + vmla.f64 d3, d1, d10 │ │ │ │ │ + vldr d10, [sl] │ │ │ │ │ vmul.f64 d1, d5, d9 │ │ │ │ │ vmul.f64 d5, d5, d10 │ │ │ │ │ vmla.f64 d1, d8, d10 │ │ │ │ │ vnmls.f64 d5, d8, d9 │ │ │ │ │ vadd.f64 d8, d2, d0 │ │ │ │ │ vsub.f64 d2, d2, d0 │ │ │ │ │ vadd.f64 d9, d3, d1 │ │ │ │ │ vsub.f64 d3, d3, d1 │ │ │ │ │ vsub.f64 d10, d8, d9 │ │ │ │ │ vadd.f64 d8, d8, d9 │ │ │ │ │ vadd.f64 d9, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vstr d10, [r6] │ │ │ │ │ - add r6, r5 │ │ │ │ │ - vstr d8, [r0] │ │ │ │ │ + vstr d10, [r7] │ │ │ │ │ + add r7, r4 │ │ │ │ │ vsub.f64 d5, d2, d7 │ │ │ │ │ - vadd.f64 d8, d4, d6 │ │ │ │ │ vadd.f64 d2, d2, d7 │ │ │ │ │ + vstr d8, [r0] │ │ │ │ │ vsub.f64 d7, d4, d6 │ │ │ │ │ - add r0, r5 │ │ │ │ │ + vadd.f64 d8, d4, d6 │ │ │ │ │ + add r0, r4 │ │ │ │ │ vadd.f64 d10, d9, d8 │ │ │ │ │ - vsub.f64 d8, d8, d9 │ │ │ │ │ vsub.f64 d6, d7, d3 │ │ │ │ │ + vsub.f64 d8, d8, d9 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ vstr d10, [r1] │ │ │ │ │ - add r1, r5 │ │ │ │ │ + add r1, r4 │ │ │ │ │ vstr d8, [r3] │ │ │ │ │ - add r3, r5 │ │ │ │ │ - vstr d5, [fp] │ │ │ │ │ - vstr d2, [r9] │ │ │ │ │ - vstr d6, [ip] │ │ │ │ │ - vstr d7, [sl] │ │ │ │ │ - bne.n 12a │ │ │ │ │ - vpop {d8-d10} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + add r3, r4 │ │ │ │ │ + vstr d5, [sl] │ │ │ │ │ + vstr d2, [ip] │ │ │ │ │ + add ip, r4 │ │ │ │ │ + vstr d6, [r9] │ │ │ │ │ + vstr d7, [r8] │ │ │ │ │ + bne.n 154 │ │ │ │ │ + b.n 12a │ │ │ │ │ │ │ │ │ │ -00000224 : │ │ │ │ │ +00000248 : │ │ │ │ │ fftw_codelet_t2_4(): │ │ │ │ │ - ldr r2, [pc, #8] @ (230 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (234 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (254 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (258 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_dit_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── t2_5.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1644 (bytes into file) │ │ │ │ │ + Start of section headers: 1684 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x66c: │ │ │ │ │ +There are 14 section headers, starting at offset 0x694: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0003ac 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0005c4 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0003e0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0003e0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0003e0 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 0003e5 00000c 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0003f1 000040 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 0005dc 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000431 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000431 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000464 000110 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000574 00004e 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 0005f4 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0003d4 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0005ec 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000408 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000408 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000408 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 00040d 00000c 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000419 000040 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000604 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000459 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000459 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 00048c 000110 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 00059c 00004e 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 00061c 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,20 +1,20 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 17 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 920 FUNC LOCAL DEFAULT 1 t2_5 │ │ │ │ │ + 1: 00000001 960 FUNC LOCAL DEFAULT 1 t2_5 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000380 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000398 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000003a4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000003a8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 000003c0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000003cc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 12 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 14: 00000399 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t2_5 │ │ │ │ │ + 14: 000003c1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t2_5 │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_dit_register │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x5c4 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x5ec contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000003a4 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000003a8 00000103 R_ARM_REL32 00000001 t2_5 │ │ │ │ │ -000003a0 00000f1e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ +000003cc 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000003d0 00000103 R_ARM_REL32 00000001 t2_5 │ │ │ │ │ +000003c8 00000f1e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x5dc contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x604 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001002 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,82 +1,86 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ t2_5(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ ldrd r4, r7, [sp, #100] @ 0x64 │ │ │ │ │ ldr r5, [sp, #108] @ 0x6c │ │ │ │ │ cmp r4, r7 │ │ │ │ │ add.w r2, r2, r4, lsl #5 │ │ │ │ │ - bge.w 1c4 │ │ │ │ │ + bge.w 1d8 │ │ │ │ │ + cmp r5, #1 │ │ │ │ │ mov.w ip, r3, lsl #3 │ │ │ │ │ mov.w lr, r3, lsl #4 │ │ │ │ │ - cmp r5, #1 │ │ │ │ │ - bne.w 1cc │ │ │ │ │ + bne.w 1f2 │ │ │ │ │ + vldr d15, [pc, #880] @ 3a8 │ │ │ │ │ add.w r3, r2, #32 │ │ │ │ │ - vldr d15, [pc, #852] @ 380 │ │ │ │ │ rsb r2, lr, #0 │ │ │ │ │ - vldr d12, [pc, #852] @ 388 │ │ │ │ │ - vldr d3, [r3, #-32] @ 0xffffffe0 │ │ │ │ │ + vldr d12, [pc, #876] @ 3b0 │ │ │ │ │ add.w r6, r0, ip │ │ │ │ │ - vldr d2, [r3, #-24] @ 0xffffffe8 │ │ │ │ │ add.w r5, r1, ip │ │ │ │ │ - vldr d5, [r3, #-16] │ │ │ │ │ + vldr d3, [r3, #-32] @ 0xffffffe0 │ │ │ │ │ add.w sl, r6, lr │ │ │ │ │ - vldr d4, [r3, #-8] │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ add.w fp, sl, ip │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ + cmp r7, r4 │ │ │ │ │ + vldr d2, [r3, #-24] @ 0xffffffe8 │ │ │ │ │ add.w r8, fp, r2 │ │ │ │ │ + add.w r3, r3, #32 │ │ │ │ │ + vldr d5, [r3, #-48] @ 0xffffffd0 │ │ │ │ │ + vldr d4, [r3, #-40] @ 0xffffffd8 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ vmul.f64 d10, d5, d3 │ │ │ │ │ vmul.f64 d8, d5, d2 │ │ │ │ │ + vldr d13, [r0] │ │ │ │ │ vmul.f64 d0, d4, d2 │ │ │ │ │ vmul.f64 d6, d4, d3 │ │ │ │ │ + vldr d14, [r1] │ │ │ │ │ vmul.f64 d11, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ - vldr d13, [r0] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - vldr d14, [r1] │ │ │ │ │ - adds r3, #32 │ │ │ │ │ vsub.f64 d1, d10, d0 │ │ │ │ │ vadd.f64 d10, d0, d10 │ │ │ │ │ vldr d0, [r5] │ │ │ │ │ add r5, lr │ │ │ │ │ vsub.f64 d9, d6, d8 │ │ │ │ │ vadd.f64 d6, d6, d8 │ │ │ │ │ add.w r9, r5, ip │ │ │ │ │ - cmp r7, r4 │ │ │ │ │ vnmls.f64 d7, d0, d3 │ │ │ │ │ vldr d3, [sl] │ │ │ │ │ vmla.f64 d11, d0, d2 │ │ │ │ │ vldr d2, [r5] │ │ │ │ │ vmul.f64 d8, d3, d5 │ │ │ │ │ vmul.f64 d3, d3, d4 │ │ │ │ │ vmla.f64 d8, d2, d4 │ │ │ │ │ - vldr d4, [r9] │ │ │ │ │ vnmls.f64 d3, d2, d5 │ │ │ │ │ vldr d2, [fp] │ │ │ │ │ + vldr d4, [r9] │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ vmla.f64 d5, d4, d6 │ │ │ │ │ vmul.f64 d6, d2, d6 │ │ │ │ │ vnmls.f64 d6, d4, d1 │ │ │ │ │ vldr d4, [r8] │ │ │ │ │ add.w r8, r9, r2 │ │ │ │ │ + vldr d2, [r8] │ │ │ │ │ vmul.f64 d1, d4, d10 │ │ │ │ │ vmul.f64 d4, d4, d9 │ │ │ │ │ - vldr d2, [r8] │ │ │ │ │ + vsub.f64 d0, d7, d6 │ │ │ │ │ + vadd.f64 d6, d6, d7 │ │ │ │ │ vmla.f64 d1, d2, d9 │ │ │ │ │ vnmls.f64 d4, d2, d10 │ │ │ │ │ vsub.f64 d2, d11, d5 │ │ │ │ │ vadd.f64 d5, d5, d11 │ │ │ │ │ - vsub.f64 d0, d7, d6 │ │ │ │ │ - vadd.f64 d6, d6, d7 │ │ │ │ │ vmov.f64 d11, #80 @ 0x3e800000 0.250 │ │ │ │ │ vsub.f64 d10, d1, d8 │ │ │ │ │ vadd.f64 d1, d1, d8 │ │ │ │ │ vsub.f64 d9, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ vadd.f64 d8, d1, d5 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ @@ -88,78 +92,83 @@ │ │ │ │ │ vadd.f64 d7, d3, d14 │ │ │ │ │ vmls.f64 d14, d3, d11 │ │ │ │ │ vstmia r1!, {d7} │ │ │ │ │ vmul.f64 d7, d0, d12 │ │ │ │ │ vmul.f64 d0, d0, d15 │ │ │ │ │ vmla.f64 d7, d9, d15 │ │ │ │ │ vnmls.f64 d0, d9, d12 │ │ │ │ │ - vldr d9, [pc, #576] @ 390 │ │ │ │ │ + vldr d9, [pc, #596] @ 3b8 │ │ │ │ │ vmul.f64 d5, d5, d9 │ │ │ │ │ vmul.f64 d6, d6, d9 │ │ │ │ │ vadd.f64 d8, d13, d5 │ │ │ │ │ vsub.f64 d1, d13, d5 │ │ │ │ │ vsub.f64 d5, d8, d7 │ │ │ │ │ vadd.f64 d8, d8, d7 │ │ │ │ │ vmul.f64 d7, d2, d12 │ │ │ │ │ vmul.f64 d2, d2, d15 │ │ │ │ │ - vmla.f64 d7, d10, d15 │ │ │ │ │ vstr d5, [fp] │ │ │ │ │ vadd.f64 d5, d1, d0 │ │ │ │ │ + vmla.f64 d7, d10, d15 │ │ │ │ │ vnmls.f64 d2, d10, d12 │ │ │ │ │ vsub.f64 d1, d1, d0 │ │ │ │ │ vstr d5, [sl] │ │ │ │ │ vadd.f64 d5, d14, d6 │ │ │ │ │ + vsub.f64 d14, d14, d6 │ │ │ │ │ vstr d8, [r6] │ │ │ │ │ add r6, ip │ │ │ │ │ - vsub.f64 d14, d14, d6 │ │ │ │ │ - vsub.f64 d6, d5, d7 │ │ │ │ │ vstr d1, [r6] │ │ │ │ │ sub.w r6, r8, ip │ │ │ │ │ + vsub.f64 d6, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ vstr d6, [r6] │ │ │ │ │ vsub.f64 d6, d14, d2 │ │ │ │ │ vadd.f64 d14, d14, d2 │ │ │ │ │ vstr d6, [r5] │ │ │ │ │ vstr d5, [r9] │ │ │ │ │ vstr d14, [r8] │ │ │ │ │ - bne.w 36 │ │ │ │ │ + bne.w 46 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + vldr d15, [pc, #444] @ 3b0 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ add.w r3, r2, #32 │ │ │ │ │ - vldr d15, [pc, #436] @ 388 │ │ │ │ │ rsb r2, lr, #0 │ │ │ │ │ - vldr d12, [pc, #420] @ 380 │ │ │ │ │ + vldr d12, [pc, #420] @ 3a8 │ │ │ │ │ mov fp, r5 │ │ │ │ │ - vldr d3, [r3, #-32] @ 0xffffffe0 │ │ │ │ │ add.w r6, r0, ip │ │ │ │ │ - vldr d4, [r3, #-16] │ │ │ │ │ add.w r5, r1, ip │ │ │ │ │ - vldr d5, [r3, #-24] @ 0xffffffe8 │ │ │ │ │ + vldr d3, [r3, #-32] @ 0xffffffe0 │ │ │ │ │ add.w r9, r6, lr │ │ │ │ │ - vldr d6, [r3, #-8] │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ add.w sl, r9, ip │ │ │ │ │ - vmul.f64 d0, d3, d4 │ │ │ │ │ + add.w r3, r3, #32 │ │ │ │ │ + vldr d5, [r3, #-56] @ 0xffffffc8 │ │ │ │ │ + add.w r7, sl, r2 │ │ │ │ │ + vldr d4, [r3, #-48] @ 0xffffffd0 │ │ │ │ │ + vldr d6, [r3, #-40] @ 0xffffffd8 │ │ │ │ │ vldr d1, [r5] │ │ │ │ │ - vmul.f64 d7, d5, d4 │ │ │ │ │ add r5, lr │ │ │ │ │ - vmul.f64 d10, d5, d6 │ │ │ │ │ - vmul.f64 d8, d3, d6 │ │ │ │ │ - vmul.f64 d11, d5, d1 │ │ │ │ │ add.w r8, r5, ip │ │ │ │ │ - add.w r7, sl, r2 │ │ │ │ │ + vmul.f64 d0, d3, d4 │ │ │ │ │ + vmul.f64 d7, d5, d4 │ │ │ │ │ vldr d13, [r0] │ │ │ │ │ + vmul.f64 d10, d5, d6 │ │ │ │ │ + vmul.f64 d8, d3, d6 │ │ │ │ │ vldr d14, [r1] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + vmul.f64 d11, d5, d1 │ │ │ │ │ vsub.f64 d2, d0, d10 │ │ │ │ │ vadd.f64 d10, d0, d10 │ │ │ │ │ vldr d0, [r6] │ │ │ │ │ vsub.f64 d9, d8, d7 │ │ │ │ │ vadd.f64 d7, d7, d8 │ │ │ │ │ - adds r3, #32 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ vmla.f64 d11, d3, d0 │ │ │ │ │ vnmls.f64 d5, d3, d1 │ │ │ │ │ vldr d3, [r5] │ │ │ │ │ vldr d1, [r9] │ │ │ │ │ vmul.f64 d0, d6, d3 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ @@ -195,64 +204,64 @@ │ │ │ │ │ vmls.f64 d13, d0, d11 │ │ │ │ │ vstr d6, [r0] │ │ │ │ │ vadd.f64 d6, d14, d5 │ │ │ │ │ vmls.f64 d14, d5, d11 │ │ │ │ │ add r0, fp │ │ │ │ │ vstr d6, [r1] │ │ │ │ │ vmul.f64 d6, d8, d12 │ │ │ │ │ + add r1, fp │ │ │ │ │ vmla.f64 d6, d1, d15 │ │ │ │ │ vmul.f64 d1, d1, d12 │ │ │ │ │ - add r1, fp │ │ │ │ │ vnmls.f64 d1, d8, d15 │ │ │ │ │ - vldr d8, [pc, #148] @ 390 │ │ │ │ │ + vldr d8, [pc, #144] @ 3b8 │ │ │ │ │ vmul.f64 d4, d4, d8 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ vadd.f64 d0, d4, d13 │ │ │ │ │ vsub.f64 d2, d13, d4 │ │ │ │ │ vadd.f64 d5, d7, d14 │ │ │ │ │ vsub.f64 d14, d14, d7 │ │ │ │ │ vsub.f64 d4, d0, d6 │ │ │ │ │ vadd.f64 d6, d6, d0 │ │ │ │ │ vstr d4, [sl] │ │ │ │ │ vadd.f64 d4, d1, d2 │ │ │ │ │ vsub.f64 d2, d2, d1 │ │ │ │ │ vstr d4, [r9] │ │ │ │ │ vstr d6, [r6] │ │ │ │ │ vmul.f64 d6, d10, d12 │ │ │ │ │ - vmla.f64 d6, d3, d15 │ │ │ │ │ - vmul.f64 d3, d3, d12 │ │ │ │ │ add r6, ip │ │ │ │ │ - vnmls.f64 d3, d10, d15 │ │ │ │ │ vstr d2, [r6] │ │ │ │ │ sub.w r6, r7, ip │ │ │ │ │ + vmla.f64 d6, d3, d15 │ │ │ │ │ + vmul.f64 d3, d3, d12 │ │ │ │ │ + vnmls.f64 d3, d10, d15 │ │ │ │ │ vsub.f64 d7, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vstr d7, [r6] │ │ │ │ │ vsub.f64 d7, d14, d3 │ │ │ │ │ vadd.f64 d3, d3, d14 │ │ │ │ │ vstr d7, [r5] │ │ │ │ │ ldr r5, [sp, #104] @ 0x68 │ │ │ │ │ vstr d6, [r8] │ │ │ │ │ - cmp r5, r4 │ │ │ │ │ vstr d3, [r7] │ │ │ │ │ - bne.w 1e0 │ │ │ │ │ - vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + cmp r5, r4 │ │ │ │ │ + bne.w 208 │ │ │ │ │ + b.n 1d8 │ │ │ │ │ + nop │ │ │ │ │ nop.w │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ │ │ │ │ │ -00000398 : │ │ │ │ │ +000003c0 : │ │ │ │ │ fftw_codelet_t2_5(): │ │ │ │ │ - ldr r2, [pc, #8] @ (3a4 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (3a8 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (3cc ) │ │ │ │ │ + ldr r1, [pc, #12] @ (3d0 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_dit_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── t2_64.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 16020 (bytes into file) │ │ │ │ │ + Start of section headers: 16228 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x3e94: │ │ │ │ │ +There are 14 section headers, starting at offset 0x3f64: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 003a9c 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 003ddc 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 003ad0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 003ad0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 003ad0 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 003ad6 000018 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 003aee 000040 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 003e04 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 003b2e 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 003b2e 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 003b64 0001f0 10 12 26 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 003d54 000087 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 003e1c 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 003b6c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 003eac 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 003ba0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 003ba0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 003ba0 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 003ba6 000018 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 003bbe 000040 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 003ed4 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 003bfe 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 003bfe 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 003c34 0001f0 10 12 26 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 003e24 000087 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 003eec 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,34 +1,34 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 31 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 14984 FUNC LOCAL DEFAULT 1 t2_64 │ │ │ │ │ + 1: 00000001 15192 FUNC LOCAL DEFAULT 1 t2_64 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000050 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000060 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000f68 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000f80 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00001868 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 8: 00001878 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 9: 00002158 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 10: 00002170 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 11: 00002aa0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 12: 00002af0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 13: 000032e8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 14: 00003360 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 15: 00003a68 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 16: 00003a88 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 17: 00003a94 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000060 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000070 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000fb0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000fc8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 000018d0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 000018e0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 9: 000021f0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 10: 00002208 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 11: 00002b60 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 12: 00002bb0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 13: 000033b0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 14: 00003428 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 15: 00003b38 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 16: 00003b58 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 17: 00003b64 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 18: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 19: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 20: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 21: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 22: 00000000 24 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 23: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 24: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 25: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 26: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 27: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 28: 00003a89 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t2_64 │ │ │ │ │ + 28: 00003b59 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t2_64 │ │ │ │ │ 29: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_dit_register │ │ │ │ │ 30: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x3ddc contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x3eac contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000058 00001a19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000005c 00001b1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00003a94 00001703 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00003a98 00000103 R_ARM_REL32 00000001 t2_64 │ │ │ │ │ -00003a90 00001d1e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ +00000068 00001a19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000006c 00001b1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00003b64 00001703 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00003b68 00000103 R_ARM_REL32 00000001 t2_64 │ │ │ │ │ +00003b60 00001d1e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x3e04 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x3ed4 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00001202 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00001402 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001e02 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,126 +1,129 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ t2_64(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r7, r0 │ │ │ │ │ mov r8, r1 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov r9, r3 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ subw sp, sp, #2004 @ 0x7d4 │ │ │ │ │ - mov r9, r3 │ │ │ │ │ - ldr r3, [pc, #68] @ (58 ) │ │ │ │ │ - ldr.w r1, [sp, #2104] @ 0x838 │ │ │ │ │ - add r3, pc │ │ │ │ │ + ldr.w r3, [sp, #2104] @ 0x838 │ │ │ │ │ ldr.w r0, [sp, #2108] @ 0x83c │ │ │ │ │ - cmp r1, r0 │ │ │ │ │ - bge.w 3a58 │ │ │ │ │ + ldr r1, [pc, #60] @ (68 ) │ │ │ │ │ + cmp r3, r0 │ │ │ │ │ + add r1, pc │ │ │ │ │ + bge.w 3b18 │ │ │ │ │ ldr.w r0, [sp, #2112] @ 0x840 │ │ │ │ │ - vldr d15, [pc, #36] @ 50 │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + vldr d15, [pc, #32] @ 60 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ str.w r0, [sp, #1992] @ 0x7c8 │ │ │ │ │ - ldr r0, [pc, #40] @ (5c ) │ │ │ │ │ - ldr r3, [r3, r0] │ │ │ │ │ - ldr r3, [r3, #0] │ │ │ │ │ - str.w r3, [sp, #1996] @ 0x7cc │ │ │ │ │ - adds r3, r1, #1 │ │ │ │ │ + ldr r0, [pc, #32] @ (6c ) │ │ │ │ │ + ldr r1, [r1, r0] │ │ │ │ │ str.w r3, [sp, #1988] @ 0x7c4 │ │ │ │ │ - movs r3, #80 @ 0x50 │ │ │ │ │ - mla r3, r1, r3, r3 │ │ │ │ │ - adds r6, r2, r3 │ │ │ │ │ - b.n 66 │ │ │ │ │ - nop.w │ │ │ │ │ + add.w r3, r3, r3, lsl #2 │ │ │ │ │ + add.w r6, r2, r3, lsl #4 │ │ │ │ │ + ldr r1, [r1, #0] │ │ │ │ │ + str.w r1, [sp, #1996] @ 0x7cc │ │ │ │ │ + b.n 78 │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ - .word 0x0000003c │ │ │ │ │ + .word 0x00000036 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str.w r3, [sp, #1988] @ 0x7c4 │ │ │ │ │ vldr d7, [r6, #-80] @ 0xffffffb0 │ │ │ │ │ add.w r3, sp, #1720 @ 0x6b8 │ │ │ │ │ - vldr d6, [r6, #-64] @ 0xffffffc0 │ │ │ │ │ - adds r6, #80 @ 0x50 │ │ │ │ │ - vldr d5, [r6, #-128] @ 0xffffff80 │ │ │ │ │ + mov.w sl, r9, lsl #3 │ │ │ │ │ + add.w r6, r6, #80 @ 0x50 │ │ │ │ │ + vldr d6, [r6, #-144] @ 0xffffff70 │ │ │ │ │ vldr d4, [r6, #-136] @ 0xffffff78 │ │ │ │ │ + vldr d5, [r6, #-128] @ 0xffffff80 │ │ │ │ │ vmul.f64 d6, d7, d6 │ │ │ │ │ vldr d7, [r6, #-152] @ 0xffffff68 │ │ │ │ │ - vldr d3, [r6, #-120] @ 0xffffff88 │ │ │ │ │ vldr d1, [r6, #-128] @ 0xffffff80 │ │ │ │ │ + vldr d3, [r6, #-120] @ 0xffffff88 │ │ │ │ │ vmul.f64 d9, d7, d5 │ │ │ │ │ vldr d5, [r6, #-120] @ 0xffffff88 │ │ │ │ │ vmul.f64 d5, d7, d5 │ │ │ │ │ vldr d7, [r6, #-160] @ 0xffffff60 │ │ │ │ │ vmul.f64 d11, d7, d4 │ │ │ │ │ vldr d4, [r6, #-120] @ 0xffffff88 │ │ │ │ │ vmul.f64 d8, d7, d4 │ │ │ │ │ vldr d7, [r6, #-152] @ 0xffffff68 │ │ │ │ │ vldr d4, [r6, #-136] @ 0xffffff78 │ │ │ │ │ - vmul.f64 d13, d7, d4 │ │ │ │ │ - vldr d4, [r6, #-144] @ 0xffffff70 │ │ │ │ │ vsub.f64 d14, d8, d9 │ │ │ │ │ vadd.f64 d9, d9, d8 │ │ │ │ │ + vmul.f64 d13, d7, d4 │ │ │ │ │ + vldr d4, [r6, #-144] @ 0xffffff70 │ │ │ │ │ + vstr d14, [sp, #24] │ │ │ │ │ + vstr d9, [sp, #32] │ │ │ │ │ vmul.f64 d10, d7, d4 │ │ │ │ │ vldr d7, [r6, #-160] @ 0xffffff60 │ │ │ │ │ vldr d4, [r6, #-128] @ 0xffffff80 │ │ │ │ │ - vstr d14, [sp, #32] │ │ │ │ │ - vstr d9, [sp, #40] @ 0x28 │ │ │ │ │ vmul.f64 d4, d7, d4 │ │ │ │ │ vldr d7, [r6, #-144] @ 0xffffff70 │ │ │ │ │ vmul.f64 d2, d7, d3 │ │ │ │ │ vldr d7, [r6, #-136] @ 0xffffff78 │ │ │ │ │ vsub.f64 d8, d4, d5 │ │ │ │ │ vmul.f64 d0, d7, d3 │ │ │ │ │ vldr d3, [r6, #-128] @ 0xffffff80 │ │ │ │ │ - vstr d8, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d8, [sp, #64] @ 0x40 │ │ │ │ │ vsub.f64 d8, d6, d13 │ │ │ │ │ vmul.f64 d3, d7, d3 │ │ │ │ │ vldr d7, [r6, #-144] @ 0xffffff70 │ │ │ │ │ - vmul.f64 d1, d7, d1 │ │ │ │ │ - vstr d8, [sp, #80] @ 0x50 │ │ │ │ │ + vstr d8, [sp, #72] @ 0x48 │ │ │ │ │ vsub.f64 d12, d2, d3 │ │ │ │ │ + vmul.f64 d1, d7, d1 │ │ │ │ │ vadd.f64 d3, d2, d3 │ │ │ │ │ vadd.f64 d2, d5, d4 │ │ │ │ │ vldr d5, [r6, #-128] @ 0xffffff80 │ │ │ │ │ vsub.f64 d7, d1, d0 │ │ │ │ │ vadd.f64 d0, d0, d1 │ │ │ │ │ - vstr d12, [sp, #24] │ │ │ │ │ + vadd.f64 d1, d6, d13 │ │ │ │ │ + vldr d13, [r6, #-128] @ 0xffffff80 │ │ │ │ │ + vstr d7, [sp, #8] │ │ │ │ │ + vstr d12, [sp, #16] │ │ │ │ │ vmul.f64 d12, d5, d8 │ │ │ │ │ + vmul.f64 d6, d13, d1 │ │ │ │ │ vldr d5, [r6, #-120] @ 0xffffff88 │ │ │ │ │ - vstr d3, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d0, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d3, [sp, #48] @ 0x30 │ │ │ │ │ vadd.f64 d3, d11, d10 │ │ │ │ │ - vstr d0, [sp, #48] @ 0x30 │ │ │ │ │ - vadd.f64 d0, d6, d13 │ │ │ │ │ - vldr d13, [r6, #-128] @ 0xffffff80 │ │ │ │ │ - vmul.f64 d5, d5, d8 │ │ │ │ │ - vstr d7, [sp, #16] │ │ │ │ │ - vstr d2, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d2, [sp, #56] @ 0x38 │ │ │ │ │ vsub.f64 d2, d11, d10 │ │ │ │ │ - vmul.f64 d6, d13, d0 │ │ │ │ │ + vmul.f64 d5, d5, d8 │ │ │ │ │ vstr d5, [sp, #104] @ 0x68 │ │ │ │ │ - vstr d6, [sp, #144] @ 0x90 │ │ │ │ │ + vstr d6, [sp, #112] @ 0x70 │ │ │ │ │ vldr d13, [r6, #-120] @ 0xffffff88 │ │ │ │ │ - vstr d0, [sp, #88] @ 0x58 │ │ │ │ │ - vstr d3, [sp] │ │ │ │ │ - vmul.f64 d4, d13, d0 │ │ │ │ │ + vstr d2, [sp] │ │ │ │ │ + vstr d3, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d14, [r6, #-104] @ 0xffffff98 │ │ │ │ │ + vstr d1, [sp, #80] @ 0x50 │ │ │ │ │ + vmul.f64 d4, d13, d1 │ │ │ │ │ vmul.f64 d5, d13, d3 │ │ │ │ │ vldr d13, [r6, #-128] @ 0xffffff80 │ │ │ │ │ - vstr d2, [sp, #8] │ │ │ │ │ - vmul.f64 d14, d13, d3 │ │ │ │ │ + vmul.f64 d3, d13, d3 │ │ │ │ │ vldr d13, [r6, #-120] @ 0xffffff88 │ │ │ │ │ - vstr d4, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d5, [sp, #200] @ 0xc8 │ │ │ │ │ + vstr d4, [sp, #120] @ 0x78 │ │ │ │ │ vmul.f64 d9, d13, d2 │ │ │ │ │ vldr d13, [r6, #-128] @ 0xffffff80 │ │ │ │ │ - vstr d14, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d14, [r6, #-104] @ 0xffffff98 │ │ │ │ │ + vstr d3, [sp, #144] @ 0x90 │ │ │ │ │ + vstr d5, [sp, #200] @ 0xc8 │ │ │ │ │ vmul.f64 d1, d13, d2 │ │ │ │ │ vldr d13, [r6, #-136] @ 0xffffff78 │ │ │ │ │ vstr d9, [sp, #152] @ 0x98 │ │ │ │ │ vmul.f64 d8, d13, d14 │ │ │ │ │ vldr d13, [r6, #-144] @ 0xffffff70 │ │ │ │ │ vstr d1, [sp, #192] @ 0xc0 │ │ │ │ │ vmul.f64 d0, d13, d14 │ │ │ │ │ @@ -128,2100 +131,2103 @@ │ │ │ │ │ vmul.f64 d4, d13, d14 │ │ │ │ │ vldr d13, [r6, #-152] @ 0xffffff68 │ │ │ │ │ vmul.f64 d3, d13, d14 │ │ │ │ │ vldr d13, [r6, #-128] @ 0xffffff80 │ │ │ │ │ vmul.f64 d11, d13, d14 │ │ │ │ │ vldr d13, [r6, #-120] @ 0xffffff88 │ │ │ │ │ vmul.f64 d10, d13, d14 │ │ │ │ │ - vldr d14, [r6, #-112] @ 0xffffff90 │ │ │ │ │ vldr d13, [r6, #-144] @ 0xffffff70 │ │ │ │ │ + vldr d14, [r6, #-112] @ 0xffffff90 │ │ │ │ │ vmul.f64 d9, d13, d14 │ │ │ │ │ vldr d13, [r6, #-136] @ 0xffffff78 │ │ │ │ │ vmul.f64 d1, d13, d14 │ │ │ │ │ vldr d13, [r6, #-152] @ 0xffffff68 │ │ │ │ │ vmul.f64 d5, d13, d14 │ │ │ │ │ vldr d13, [r6, #-160] @ 0xffffff60 │ │ │ │ │ vmul.f64 d2, d13, d14 │ │ │ │ │ vldr d13, [r6, #-120] @ 0xffffff88 │ │ │ │ │ vmul.f64 d7, d13, d14 │ │ │ │ │ vldr d13, [r6, #-128] @ 0xffffff80 │ │ │ │ │ vmul.f64 d6, d13, d14 │ │ │ │ │ vadd.f64 d14, d8, d9 │ │ │ │ │ vsub.f64 d9, d9, d8 │ │ │ │ │ - vstr d14, [sp, #384] @ 0x180 │ │ │ │ │ + vstr d14, [sp, #392] @ 0x188 │ │ │ │ │ vadd.f64 d14, d0, d1 │ │ │ │ │ - vsub.f64 d0, d0, d1 │ │ │ │ │ - vstr d9, [sp, #640] @ 0x280 │ │ │ │ │ - vadd.f64 d9, d3, d2 │ │ │ │ │ - vstr d14, [sp, #624] @ 0x270 │ │ │ │ │ - vadd.f64 d14, d11, d7 │ │ │ │ │ - vstr d0, [sp, #408] @ 0x198 │ │ │ │ │ + vsub.f64 d1, d0, d1 │ │ │ │ │ vsub.f64 d0, d6, d10 │ │ │ │ │ - vstr d14, [sp, #400] @ 0x190 │ │ │ │ │ + vstr d1, [sp, #384] @ 0x180 │ │ │ │ │ + vstr d14, [sp, #648] @ 0x288 │ │ │ │ │ + vadd.f64 d14, d11, d7 │ │ │ │ │ + vstr d14, [sp, #424] @ 0x1a8 │ │ │ │ │ vsub.f64 d14, d4, d5 │ │ │ │ │ vadd.f64 d5, d4, d5 │ │ │ │ │ - vstr d14, [sp, #632] @ 0x278 │ │ │ │ │ - vstr d0, [sp, #416] @ 0x1a0 │ │ │ │ │ + vstr d9, [sp, #664] @ 0x298 │ │ │ │ │ + vadd.f64 d9, d3, d2 │ │ │ │ │ + vstr d14, [sp, #656] @ 0x290 │ │ │ │ │ + vstr d0, [sp, #432] @ 0x1b0 │ │ │ │ │ vsub.f64 d0, d2, d3 │ │ │ │ │ - vldr d8, [sp, #80] @ 0x50 │ │ │ │ │ vldr d13, [r6, #-112] @ 0xffffff90 │ │ │ │ │ - vldr d3, [sp] │ │ │ │ │ - vstr d5, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d2, [sp] │ │ │ │ │ + vldr d8, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d0, [sp, #472] @ 0x1d8 │ │ │ │ │ + vldr d3, [sp, #88] @ 0x58 │ │ │ │ │ + vstr d5, [sp, #480] @ 0x1e0 │ │ │ │ │ + vldr d1, [sp, #80] @ 0x50 │ │ │ │ │ + vstr d9, [sp, #672] @ 0x2a0 │ │ │ │ │ vmul.f64 d4, d8, d13 │ │ │ │ │ vldr d13, [r6, #-104] @ 0xffffff98 │ │ │ │ │ - vstr d9, [sp, #648] @ 0x288 │ │ │ │ │ - vstr d0, [sp, #448] @ 0x1c0 │ │ │ │ │ vmul.f64 d5, d3, d13 │ │ │ │ │ - vldr d0, [sp, #88] @ 0x58 │ │ │ │ │ vldr d13, [r6, #-112] @ 0xffffff90 │ │ │ │ │ - vldr d2, [sp, #8] │ │ │ │ │ vsub.f64 d9, d4, d5 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ - vstr d4, [sp, #776] @ 0x308 │ │ │ │ │ - vmul.f64 d4, d0, d13 │ │ │ │ │ + vstr d9, [sp, #744] @ 0x2e8 │ │ │ │ │ + vstr d4, [sp, #784] @ 0x310 │ │ │ │ │ + vmul.f64 d4, d1, d13 │ │ │ │ │ vldr d13, [r6, #-104] @ 0xffffff98 │ │ │ │ │ - vstr d9, [sp, #712] @ 0x2c8 │ │ │ │ │ vmul.f64 d5, d2, d13 │ │ │ │ │ - vadd.f64 d1, d4, d5 │ │ │ │ │ - vsub.f64 d5, d4, d5 │ │ │ │ │ + vadd.f64 d0, d4, d5 │ │ │ │ │ + vsub.f64 d4, d4, d5 │ │ │ │ │ + vstr d0, [sp, #872] @ 0x368 │ │ │ │ │ + vstr d4, [sp, #896] @ 0x380 │ │ │ │ │ vmul.f64 d4, d8, d13 │ │ │ │ │ vldr d13, [r6, #-112] @ 0xffffff90 │ │ │ │ │ - vstr d5, [sp, #896] @ 0x380 │ │ │ │ │ vmul.f64 d5, d3, d13 │ │ │ │ │ vldr d13, [r6, #-104] @ 0xffffff98 │ │ │ │ │ - vstr d1, [sp, #824] @ 0x338 │ │ │ │ │ - vldr d1, [sp, #200] @ 0xc8 │ │ │ │ │ vadd.f64 d3, d4, d5 │ │ │ │ │ - vsub.f64 d4, d4, d5 │ │ │ │ │ - vstr d4, [sp, #784] @ 0x310 │ │ │ │ │ - vmul.f64 d4, d0, d13 │ │ │ │ │ + vsub.f64 d5, d4, d5 │ │ │ │ │ + vmul.f64 d4, d1, d13 │ │ │ │ │ vldr d13, [r6, #-112] @ 0xffffff90 │ │ │ │ │ - vstr d3, [sp, #720] @ 0x2d0 │ │ │ │ │ + vldr d1, [sp, #200] @ 0xc8 │ │ │ │ │ + vstr d3, [sp, #752] @ 0x2f0 │ │ │ │ │ + vstr d5, [sp, #792] @ 0x318 │ │ │ │ │ vmul.f64 d5, d2, d13 │ │ │ │ │ vsub.f64 d3, d4, d5 │ │ │ │ │ - vadd.f64 d5, d4, d5 │ │ │ │ │ - vldr d4, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d5, [sp, #904] @ 0x388 │ │ │ │ │ + vadd.f64 d4, d4, d5 │ │ │ │ │ vadd.f64 d5, d10, d6 │ │ │ │ │ vsub.f64 d10, d11, d7 │ │ │ │ │ - vstr d3, [sp, #832] @ 0x340 │ │ │ │ │ - vstr d5, [sp, #224] @ 0xe0 │ │ │ │ │ + vstr d5, [sp, #232] @ 0xe8 │ │ │ │ │ vadd.f64 d5, d12, d1 │ │ │ │ │ vldr d1, [sp, #192] @ 0xc0 │ │ │ │ │ - vstr d10, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d4, [sp, #904] @ 0x388 │ │ │ │ │ vmul.f64 d11, d13, d5 │ │ │ │ │ - vldr d13, [r6, #-104] @ 0xffffff98 │ │ │ │ │ - vadd.f64 d4, d4, d1 │ │ │ │ │ + vldr d4, [sp, #120] @ 0x78 │ │ │ │ │ vstr d5, [sp, #96] @ 0x60 │ │ │ │ │ - vmul.f64 d7, d13, d5 │ │ │ │ │ + vldr d13, [r6, #-104] @ 0xffffff98 │ │ │ │ │ + vstr d10, [sp, #240] @ 0xf0 │ │ │ │ │ + vstr d3, [sp, #880] @ 0x370 │ │ │ │ │ vstr d11, [sp, #368] @ 0x170 │ │ │ │ │ - vstr d7, [sp, #376] @ 0x178 │ │ │ │ │ + vadd.f64 d4, d4, d1 │ │ │ │ │ + vmul.f64 d6, d13, d5 │ │ │ │ │ vmul.f64 d7, d13, d4 │ │ │ │ │ - vstr d7, [sp, #392] @ 0x188 │ │ │ │ │ + vstr d6, [sp, #376] @ 0x178 │ │ │ │ │ + vstr d7, [sp, #400] @ 0x190 │ │ │ │ │ vldr d13, [r6, #-112] @ 0xffffff90 │ │ │ │ │ - vldr d8, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d1, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d4, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d1, [sp, #32] │ │ │ │ │ + vldr d8, [sp, #64] @ 0x40 │ │ │ │ │ vmul.f64 d5, d13, d4 │ │ │ │ │ vldr d13, [r6, #-104] @ 0xffffff98 │ │ │ │ │ - vldr d0, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d4, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d4, [sp, #16] │ │ │ │ │ + vldr d0, [sp, #40] @ 0x28 │ │ │ │ │ vmul.f64 d6, d8, d13 │ │ │ │ │ vldr d13, [r6, #-112] @ 0xffffff90 │ │ │ │ │ - vldr d4, [sp, #24] │ │ │ │ │ - vmul.f64 d9, d1, d13 │ │ │ │ │ - vmul.f64 d11, d8, d13 │ │ │ │ │ + vldr d3, [sp, #144] @ 0x90 │ │ │ │ │ + vmul.f64 d11, d1, d13 │ │ │ │ │ + vmul.f64 d2, d8, d13 │ │ │ │ │ vldr d13, [r6, #-104] @ 0xffffff98 │ │ │ │ │ - vldr d8, [sp, #144] @ 0x90 │ │ │ │ │ vstr d6, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d8, [sp, #112] @ 0x70 │ │ │ │ │ vmul.f64 d14, d1, d13 │ │ │ │ │ - vmul.f64 d7, d0, d13 │ │ │ │ │ + vmul.f64 d10, d0, d13 │ │ │ │ │ vldr d13, [r6, #-112] @ 0xffffff90 │ │ │ │ │ - vstr d9, [sp, #216] @ 0xd8 │ │ │ │ │ - vsub.f64 d9, d6, d9 │ │ │ │ │ - vstr d11, [sp, #256] @ 0x100 │ │ │ │ │ - vmul.f64 d2, d4, d13 │ │ │ │ │ - vadd.f64 d11, d11, d14 │ │ │ │ │ - vstr d14, [sp, #264] @ 0x108 │ │ │ │ │ - vstr d9, [sp, #240] @ 0xf0 │ │ │ │ │ - vldr d14, [sp, #136] @ 0x88 │ │ │ │ │ - vsub.f64 d9, d7, d2 │ │ │ │ │ - vstr d11, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d11, [sp, #104] @ 0x68 │ │ │ │ │ + vsub.f64 d9, d6, d11 │ │ │ │ │ + vstr d11, [sp, #216] @ 0xd8 │ │ │ │ │ + vstr d2, [sp, #224] @ 0xe0 │ │ │ │ │ + vmul.f64 d7, d4, d13 │ │ │ │ │ + vadd.f64 d11, d2, d14 │ │ │ │ │ vldr d13, [r6, #-104] @ 0xffffff98 │ │ │ │ │ - vstr d7, [sp, #272] @ 0x110 │ │ │ │ │ - vstr d9, [sp, #128] @ 0x80 │ │ │ │ │ - vsub.f64 d9, d11, d14 │ │ │ │ │ + vstr d9, [sp, #248] @ 0xf8 │ │ │ │ │ + vstr d10, [sp, #272] @ 0x110 │ │ │ │ │ + vsub.f64 d9, d10, d7 │ │ │ │ │ + vstr d14, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d7, [sp, #280] @ 0x118 │ │ │ │ │ vldr d7, [sp, #152] @ 0x98 │ │ │ │ │ - vadd.f64 d11, d11, d14 │ │ │ │ │ - vstr d2, [sp, #280] @ 0x118 │ │ │ │ │ - vmul.f64 d10, d13, d9 │ │ │ │ │ - vldr d13, [r6, #-112] @ 0xffffff90 │ │ │ │ │ + vstr d11, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d11, [sp, #104] @ 0x68 │ │ │ │ │ vstr d9, [sp, #136] @ 0x88 │ │ │ │ │ - vmul.f64 d13, d13, d9 │ │ │ │ │ - vstr d10, [sp, #288] @ 0x120 │ │ │ │ │ vsub.f64 d10, d8, d7 │ │ │ │ │ + vsub.f64 d9, d11, d3 │ │ │ │ │ + vadd.f64 d11, d11, d3 │ │ │ │ │ + vstr d10, [sp, #104] @ 0x68 │ │ │ │ │ + vmul.f64 d2, d13, d9 │ │ │ │ │ + vldr d13, [r6, #-112] @ 0xffffff90 │ │ │ │ │ + vstr d9, [sp, #144] @ 0x90 │ │ │ │ │ + vmul.f64 d13, d13, d9 │ │ │ │ │ + vstr d2, [sp, #288] @ 0x120 │ │ │ │ │ vstr d13, [sp, #296] @ 0x128 │ │ │ │ │ vldr d13, [r6, #-112] @ 0xffffff90 │ │ │ │ │ - vstr d10, [sp, #144] @ 0x90 │ │ │ │ │ vmul.f64 d2, d13, d10 │ │ │ │ │ vldr d13, [r6, #-104] @ 0xffffff98 │ │ │ │ │ vmul.f64 d13, d13, d10 │ │ │ │ │ vstr d13, [sp, #304] @ 0x130 │ │ │ │ │ vldr d13, [r6, #-112] @ 0xffffff90 │ │ │ │ │ + vstr d11, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d3, [r6, #-112] @ 0xffffff90 │ │ │ │ │ vldr d6, [r6, #-104] @ 0xffffff98 │ │ │ │ │ vldr d14, [r6, #-104] @ 0xffffff98 │ │ │ │ │ vmul.f64 d13, d0, d13 │ │ │ │ │ - vldr d3, [r6, #-112] @ 0xffffff90 │ │ │ │ │ - vmul.f64 d6, d4, d6 │ │ │ │ │ - vstr d11, [sp, #160] @ 0xa0 │ │ │ │ │ - vmul.f64 d14, d14, d11 │ │ │ │ │ - vldr d10, [sp, #32] │ │ │ │ │ - vmul.f64 d3, d3, d11 │ │ │ │ │ - vldr d11, [sp, #64] @ 0x40 │ │ │ │ │ + vmov.f64 d0, d7 │ │ │ │ │ + vldr d7, [sp, #8] │ │ │ │ │ + vmul.f64 d6, d6, d11 │ │ │ │ │ + vldr d10, [r6, #-104] @ 0xffffff98 │ │ │ │ │ + vmul.f64 d14, d4, d14 │ │ │ │ │ vstr d13, [sp, #312] @ 0x138 │ │ │ │ │ - vadd.f64 d1, d13, d6 │ │ │ │ │ - vstr d6, [sp, #320] @ 0x140 │ │ │ │ │ - vstr d14, [sp, #328] @ 0x148 │ │ │ │ │ - vadd.f64 d14, d8, d7 │ │ │ │ │ - vldr d8, [r6, #-112] @ 0xffffff90 │ │ │ │ │ - vldr d6, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d6, [sp, #328] @ 0x148 │ │ │ │ │ + vadd.f64 d1, d13, d14 │ │ │ │ │ + vldr d6, [r6, #-112] @ 0xffffff90 │ │ │ │ │ + vldr d13, [r6, #-112] @ 0xffffff90 │ │ │ │ │ vstr d1, [sp, #152] @ 0x98 │ │ │ │ │ - vmov.f64 d1, d14 │ │ │ │ │ - vmul.f64 d14, d8, d14 │ │ │ │ │ + vstr d14, [sp, #320] @ 0x140 │ │ │ │ │ + vadd.f64 d14, d8, d0 │ │ │ │ │ + vmul.f64 d11, d6, d11 │ │ │ │ │ vldr d8, [r6, #-104] @ 0xffffff98 │ │ │ │ │ - vldr d7, [sp, #16] │ │ │ │ │ - vstr d3, [sp, #336] @ 0x150 │ │ │ │ │ + vmul.f64 d9, d7, d6 │ │ │ │ │ + vmov.f64 d1, d14 │ │ │ │ │ + vmul.f64 d14, d6, d14 │ │ │ │ │ + vldr d6, [sp, #48] @ 0x30 │ │ │ │ │ vmul.f64 d8, d8, d1 │ │ │ │ │ - vldr d3, [r6, #-104] @ 0xffffff98 │ │ │ │ │ - vldr d13, [r6, #-112] @ 0xffffff90 │ │ │ │ │ - vstr d1, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d1, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d11, [sp, #336] @ 0x150 │ │ │ │ │ + vldr d11, [r6, #-104] @ 0xffffff98 │ │ │ │ │ vstr d8, [sp, #344] @ 0x158 │ │ │ │ │ + vmul.f64 d8, d6, d11 │ │ │ │ │ + vldr d11, [sp, #56] @ 0x38 │ │ │ │ │ + vadd.f64 d0, d9, d8 │ │ │ │ │ vmul.f64 d4, d11, d13 │ │ │ │ │ - vldr d8, [r6, #-112] @ 0xffffff90 │ │ │ │ │ - vmul.f64 d9, d7, d8 │ │ │ │ │ - vmul.f64 d8, d6, d3 │ │ │ │ │ - vadd.f64 d3, d9, d8 │ │ │ │ │ vsub.f64 d8, d9, d8 │ │ │ │ │ - vstr d3, [sp, #168] @ 0xa8 │ │ │ │ │ - vldr d3, [r6, #-104] @ 0xffffff98 │ │ │ │ │ - vmul.f64 d0, d11, d3 │ │ │ │ │ + vstr d0, [sp, #168] @ 0xa8 │ │ │ │ │ + vmul.f64 d0, d11, d10 │ │ │ │ │ vldr d11, [r6, #-104] @ 0xffffff98 │ │ │ │ │ - vldr d3, [r6, #-112] @ 0xffffff90 │ │ │ │ │ + vldr d10, [sp, #24] │ │ │ │ │ vmul.f64 d11, d10, d11 │ │ │ │ │ vmul.f64 d1, d10, d3 │ │ │ │ │ - vldr d10, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d10, [sp, #120] @ 0x78 │ │ │ │ │ vstr d11, [sp, #352] @ 0x160 │ │ │ │ │ vadd.f64 d11, d4, d11 │ │ │ │ │ vsub.f64 d3, d0, d1 │ │ │ │ │ vadd.f64 d1, d0, d1 │ │ │ │ │ + vstr d3, [sp, #176] @ 0xb0 │ │ │ │ │ vstr d11, [sp, #184] @ 0xb8 │ │ │ │ │ vldr d11, [sp, #192] @ 0xc0 │ │ │ │ │ - vstr d3, [sp, #176] @ 0xb0 │ │ │ │ │ vsub.f64 d11, d10, d11 │ │ │ │ │ vldr d10, [r6, #-104] @ 0xffffff98 │ │ │ │ │ - vstr d11, [sp, #112] @ 0x70 │ │ │ │ │ vmul.f64 d10, d10, d11 │ │ │ │ │ + vstr d11, [sp, #120] @ 0x78 │ │ │ │ │ vmul.f64 d11, d13, d11 │ │ │ │ │ vldr d13, [r6, #-104] @ 0xffffff98 │ │ │ │ │ - vstr d8, [sp, #768] @ 0x300 │ │ │ │ │ - vldr d8, [sp, #376] @ 0x178 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ vldr d13, [r6, #-112] @ 0xffffff90 │ │ │ │ │ - vstr d1, [sp, #912] @ 0x390 │ │ │ │ │ - vldr d9, [sp, #216] @ 0xd8 │ │ │ │ │ vmul.f64 d3, d6, d13 │ │ │ │ │ - vldr d6, [sp, #200] @ 0xc8 │ │ │ │ │ vstr d7, [sp, #360] @ 0x168 │ │ │ │ │ + vstr d8, [sp, #800] @ 0x320 │ │ │ │ │ + vstr d1, [sp, #912] @ 0x390 │ │ │ │ │ + vldr d8, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d0, [sp, #360] @ 0x168 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ + vadd.f64 d0, d0, d3 │ │ │ │ │ + vldr d3, [sp, #208] @ 0xd0 │ │ │ │ │ vstr d7, [sp, #192] @ 0xc0 │ │ │ │ │ - vsub.f64 d7, d12, d6 │ │ │ │ │ + vldr d7, [sp, #200] @ 0xc8 │ │ │ │ │ + vstr d0, [sp, #808] @ 0x328 │ │ │ │ │ + vldr d0, [sp, #216] @ 0xd8 │ │ │ │ │ + vsub.f64 d7, d12, d7 │ │ │ │ │ vldr d12, [r6, #-104] @ 0xffffff98 │ │ │ │ │ + vadd.f64 d3, d3, d0 │ │ │ │ │ vmul.f64 d6, d13, d7 │ │ │ │ │ - vstr d7, [sp, #200] @ 0xc8 │ │ │ │ │ vldr d13, [sp, #288] @ 0x120 │ │ │ │ │ + vstr d7, [sp, #200] @ 0xc8 │ │ │ │ │ vmul.f64 d7, d12, d7 │ │ │ │ │ vldr d12, [sp, #368] @ 0x170 │ │ │ │ │ + vstr d3, [sp, #888] @ 0x378 │ │ │ │ │ vsub.f64 d13, d12, d13 │ │ │ │ │ vstr d13, [sp, #368] @ 0x170 │ │ │ │ │ vldr d13, [sp, #336] @ 0x150 │ │ │ │ │ vadd.f64 d13, d13, d7 │ │ │ │ │ - vstr d13, [sp, #424] @ 0x1a8 │ │ │ │ │ + vstr d13, [sp, #440] @ 0x1b8 │ │ │ │ │ vldr d13, [sp, #296] @ 0x128 │ │ │ │ │ vadd.f64 d1, d8, d13 │ │ │ │ │ vldr d13, [sp, #328] @ 0x148 │ │ │ │ │ - vsub.f64 d0, d6, d13 │ │ │ │ │ - vldr d13, [sp, #360] @ 0x168 │ │ │ │ │ - vadd.f64 d3, d13, d3 │ │ │ │ │ + vsub.f64 d9, d6, d13 │ │ │ │ │ vldr d13, [sp, #304] @ 0x130 │ │ │ │ │ - vstr d0, [sp, #376] @ 0x178 │ │ │ │ │ - vldr d0, [sp, #208] @ 0xd0 │ │ │ │ │ - vstr d3, [sp, #792] @ 0x318 │ │ │ │ │ - vldr d3, [sp, #352] @ 0x160 │ │ │ │ │ - vadd.f64 d9, d0, d9 │ │ │ │ │ - vsub.f64 d4, d4, d3 │ │ │ │ │ - vsub.f64 d3, d14, d10 │ │ │ │ │ - vstr d9, [sp, #928] @ 0x3a0 │ │ │ │ │ + vstr d9, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d9, [sp, #352] @ 0x160 │ │ │ │ │ + vsub.f64 d4, d4, d9 │ │ │ │ │ + vsub.f64 d9, d14, d10 │ │ │ │ │ vadd.f64 d14, d14, d10 │ │ │ │ │ + vstr d9, [sp, #512] @ 0x200 │ │ │ │ │ vstr d4, [sp, #920] @ 0x398 │ │ │ │ │ vadd.f64 d4, d5, d13 │ │ │ │ │ vldr d13, [sp, #312] @ 0x138 │ │ │ │ │ - vstr d3, [sp, #480] @ 0x1e0 │ │ │ │ │ - vstr d4, [sp, #728] @ 0x2d8 │ │ │ │ │ + vstr d4, [sp, #760] @ 0x2f8 │ │ │ │ │ vldr d4, [sp, #320] @ 0x140 │ │ │ │ │ vsub.f64 d4, d13, d4 │ │ │ │ │ - vstr d4, [sp, #800] @ 0x320 │ │ │ │ │ - vldr d4, [sp, #344] @ 0x158 │ │ │ │ │ - vadd.f64 d9, d4, d11 │ │ │ │ │ - vstr d9, [sp, #488] @ 0x1e8 │ │ │ │ │ - vldr d4, [sp, #392] @ 0x188 │ │ │ │ │ - vldr d3, [sp, #272] @ 0x110 │ │ │ │ │ - vldr d9, [sp, #264] @ 0x108 │ │ │ │ │ - vsub.f64 d0, d2, d4 │ │ │ │ │ - vldr d13, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d13, [sp, #344] @ 0x158 │ │ │ │ │ + vstr d4, [sp, #816] @ 0x330 │ │ │ │ │ + vadd.f64 d0, d13, d11 │ │ │ │ │ + vldr d4, [sp, #400] @ 0x190 │ │ │ │ │ + vstr d0, [sp, #520] @ 0x208 │ │ │ │ │ + vsub.f64 d3, d2, d4 │ │ │ │ │ vadd.f64 d2, d4, d2 │ │ │ │ │ - vldr d4, [sp, #192] @ 0xc0 │ │ │ │ │ - vstr d0, [sp, #736] @ 0x2e0 │ │ │ │ │ - vldr d0, [sp, #280] @ 0x118 │ │ │ │ │ - vadd.f64 d0, d3, d0 │ │ │ │ │ - vstr d0, [sp, #808] @ 0x328 │ │ │ │ │ - vldr d0, [sp, #256] @ 0x100 │ │ │ │ │ - vsub.f64 d9, d0, d9 │ │ │ │ │ + vmov.f64 d4, d14 │ │ │ │ │ + vstr d3, [sp, #768] @ 0x300 │ │ │ │ │ + vldr d9, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d0, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d3, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d13, [sp, #288] @ 0x120 │ │ │ │ │ + vadd.f64 d9, d9, d3 │ │ │ │ │ + vldr d3, [sp, #224] @ 0xe0 │ │ │ │ │ + vsub.f64 d3, d3, d0 │ │ │ │ │ vadd.f64 d0, d12, d13 │ │ │ │ │ vldr d13, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d12, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d12, [sp, #304] @ 0x130 │ │ │ │ │ + vsub.f64 d8, d8, d13 │ │ │ │ │ vstr d0, [sp, #208] @ 0xd0 │ │ │ │ │ - vsub.f64 d0, d8, d13 │ │ │ │ │ - vldr d13, [sp, #304] @ 0x130 │ │ │ │ │ - vstr d9, [sp, #936] @ 0x3a8 │ │ │ │ │ - vmov.f64 d9, d14 │ │ │ │ │ + vstr d3, [sp, #928] @ 0x3a0 │ │ │ │ │ + vsub.f64 d5, d12, d5 │ │ │ │ │ + vldr d0, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d12, [sp, #328] @ 0x148 │ │ │ │ │ + vstr d8, [sp, #216] @ 0xd8 │ │ │ │ │ vldr d8, [sp, #168] @ 0xa8 │ │ │ │ │ - vsub.f64 d5, d13, d5 │ │ │ │ │ - vldr d13, [sp, #328] @ 0x148 │ │ │ │ │ - vstr d0, [sp, #256] @ 0x100 │ │ │ │ │ - vldr d0, [sp, #232] @ 0xe8 │ │ │ │ │ - vadd.f64 d14, d13, d6 │ │ │ │ │ - vldr d13, [sp, #336] @ 0x150 │ │ │ │ │ - vstr d14, [sp, #216] @ 0xd8 │ │ │ │ │ - vsub.f64 d14, d7, d13 │ │ │ │ │ - vldr d13, [sp, #344] @ 0x158 │ │ │ │ │ + vstr d9, [sp, #824] @ 0x338 │ │ │ │ │ + vldr d9, [sp, #192] @ 0xc0 │ │ │ │ │ + vadd.f64 d14, d12, d6 │ │ │ │ │ + vldr d6, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d12, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d14, [sp, #224] @ 0xe0 │ │ │ │ │ + vsub.f64 d14, d7, d12 │ │ │ │ │ + vldr d12, [sp, #344] @ 0x158 │ │ │ │ │ vstr d14, [sp, #264] @ 0x108 │ │ │ │ │ - vsub.f64 d14, d13, d11 │ │ │ │ │ + vsub.f64 d14, d12, d11 │ │ │ │ │ vldr d11, [r6, #-88] @ 0xffffffa8 │ │ │ │ │ - vmov.f64 d6, d14 │ │ │ │ │ + vldr d12, [sp, #72] @ 0x48 │ │ │ │ │ + vmov.f64 d13, d14 │ │ │ │ │ vldr d14, [r6, #-96] @ 0xffffffa0 │ │ │ │ │ - vmul.f64 d10, d4, d11 │ │ │ │ │ + vmul.f64 d10, d9, d11 │ │ │ │ │ + vmul.f64 d7, d13, d14 │ │ │ │ │ vmla.f64 d10, d8, d14 │ │ │ │ │ + vnmls.f64 d7, d4, d11 │ │ │ │ │ + vstr d7, [sp, #936] @ 0x3a8 │ │ │ │ │ vmul.f64 d7, d6, d14 │ │ │ │ │ - vstr d6, [sp, #272] @ 0x110 │ │ │ │ │ - vldr d6, [sp] │ │ │ │ │ - vnmls.f64 d7, d9, d11 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - vmul.f64 d7, d6, d14 │ │ │ │ │ - add.w r3, sp, #1760 @ 0x6e0 │ │ │ │ │ + vldr d6, [sp, #120] @ 0x78 │ │ │ │ │ vmov.f64 d3, d7 │ │ │ │ │ vmul.f64 d7, d0, d14 │ │ │ │ │ - vldr d0, [sp, #224] @ 0xe0 │ │ │ │ │ vnmls.f64 d3, d12, d11 │ │ │ │ │ vldr d12, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ - vmov.f64 d3, d7 │ │ │ │ │ - vmul.f64 d7, d5, d14 │ │ │ │ │ - add.w r3, sp, #1608 @ 0x648 │ │ │ │ │ - vnmls.f64 d3, d0, d11 │ │ │ │ │ vmov.f64 d0, d7 │ │ │ │ │ - vmul.f64 d7, d12, d11 │ │ │ │ │ - vnmls.f64 d0, d2, d11 │ │ │ │ │ + vmul.f64 d7, d5, d14 │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ + add.w r3, sp, #1608 @ 0x648 │ │ │ │ │ + vldr d3, [sp, #232] @ 0xe8 │ │ │ │ │ + vnmls.f64 d0, d3, d11 │ │ │ │ │ + vmov.f64 d3, d7 │ │ │ │ │ + vmul.f64 d7, d6, d11 │ │ │ │ │ + vnmls.f64 d3, d2, d11 │ │ │ │ │ + vmla.f64 d7, d12, d14 │ │ │ │ │ + vstr d0, [r3] │ │ │ │ │ add.w r3, sp, #1752 @ 0x6d8 │ │ │ │ │ - vstr d0, [sp, #744] @ 0x2e8 │ │ │ │ │ - vldr d13, [sp, #104] @ 0x68 │ │ │ │ │ vldr d0, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d3, [sp, #200] @ 0xc8 │ │ │ │ │ - vmla.f64 d7, d13, d14 │ │ │ │ │ - vstr d9, [sp, #392] @ 0x188 │ │ │ │ │ - vstr d7, [sp, #360] @ 0x168 │ │ │ │ │ + vstr d7, [sp, #400] @ 0x190 │ │ │ │ │ vmul.f64 d7, d0, d11 │ │ │ │ │ - vmov.f64 d0, d7 │ │ │ │ │ + vstr d3, [sp, #776] @ 0x308 │ │ │ │ │ + vldr d0, [sp, #200] @ 0xc8 │ │ │ │ │ + vstr d4, [sp, #408] @ 0x198 │ │ │ │ │ + vstr d13, [sp, #416] @ 0x1a0 │ │ │ │ │ + vmov.f64 d3, d7 │ │ │ │ │ vmul.f64 d7, d5, d11 │ │ │ │ │ + vmla.f64 d3, d0, d14 │ │ │ │ │ vmla.f64 d7, d2, d14 │ │ │ │ │ - vmla.f64 d0, d3, d14 │ │ │ │ │ - vstr d7, [sp, #752] @ 0x2f0 │ │ │ │ │ - vldr d7, [sp, #272] @ 0x110 │ │ │ │ │ - vstr d0, [sp, #496] @ 0x1f0 │ │ │ │ │ - vmul.f64 d0, d4, d14 │ │ │ │ │ - vmul.f64 d7, d7, d11 │ │ │ │ │ - vnmls.f64 d0, d8, d11 │ │ │ │ │ - vldr d8, [sp, #184] @ 0xb8 │ │ │ │ │ - vmov.f64 d3, d7 │ │ │ │ │ - vmla.f64 d3, d9, d14 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ - add.w r3, sp, #1768 @ 0x6e8 │ │ │ │ │ + vstr d3, [sp, #528] @ 0x210 │ │ │ │ │ + vstr d7, [sp, #832] @ 0x340 │ │ │ │ │ + vmul.f64 d7, d13, d11 │ │ │ │ │ + vldr d13, [sp, #104] @ 0x68 │ │ │ │ │ vldr d3, [sp, #176] @ 0xb0 │ │ │ │ │ + vmov.f64 d0, d7 │ │ │ │ │ vmul.f64 d7, d3, d14 │ │ │ │ │ + vmla.f64 d0, d4, d14 │ │ │ │ │ vmov.f64 d4, d7 │ │ │ │ │ vmul.f64 d7, d3, d11 │ │ │ │ │ - vldr d3, [sp, #32] │ │ │ │ │ - vnmls.f64 d4, d8, d11 │ │ │ │ │ + vldr d3, [sp, #24] │ │ │ │ │ + vstr d0, [r3] │ │ │ │ │ + vmul.f64 d0, d9, d14 │ │ │ │ │ + add.w r3, sp, #1760 @ 0x6e0 │ │ │ │ │ vmov.f64 d9, d7 │ │ │ │ │ - vmla.f64 d9, d8, d14 │ │ │ │ │ vmul.f64 d7, d3, d11 │ │ │ │ │ - vldr d8, [sp, #16] │ │ │ │ │ - vstr d4, [sp, #464] @ 0x1d0 │ │ │ │ │ - vldr d4, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d9, [sp, #472] @ 0x1d8 │ │ │ │ │ - vldr d9, [sp, #56] @ 0x38 │ │ │ │ │ + vnmls.f64 d0, d8, d11 │ │ │ │ │ + vldr d8, [sp, #184] @ 0xb8 │ │ │ │ │ + vnmls.f64 d4, d8, d11 │ │ │ │ │ + vmla.f64 d9, d8, d14 │ │ │ │ │ + vldr d8, [sp, #8] │ │ │ │ │ + vstr d4, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d4, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d9, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d9, [sp, #48] @ 0x30 │ │ │ │ │ vmla.f64 d7, d4, d14 │ │ │ │ │ - vstr d7, [sp, #816] @ 0x330 │ │ │ │ │ + vstr d7, [sp, #840] @ 0x348 │ │ │ │ │ vmul.f64 d7, d9, d11 │ │ │ │ │ vmla.f64 d7, d8, d14 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - vmul.f64 d7, d12, d14 │ │ │ │ │ - add.w r3, sp, #1776 @ 0x6f0 │ │ │ │ │ - vmov.f64 d12, d7 │ │ │ │ │ - vldr d7, [sp, #120] @ 0x78 │ │ │ │ │ - vmul.f64 d7, d7, d14 │ │ │ │ │ - vnmls.f64 d12, d13, d11 │ │ │ │ │ - vldr d13, [r6, #-144] @ 0xffffff70 │ │ │ │ │ - vstr d12, [sp, #432] @ 0x1b0 │ │ │ │ │ - vmov.f64 d12, d7 │ │ │ │ │ - vldr d7, [sp, #144] @ 0x90 │ │ │ │ │ - vnmls.f64 d12, d7, d11 │ │ │ │ │ - vstr d12, [sp, #440] @ 0x1b8 │ │ │ │ │ + vmul.f64 d7, d6, d14 │ │ │ │ │ + add.w r3, sp, #1768 @ 0x6e8 │ │ │ │ │ + vmov.f64 d6, d7 │ │ │ │ │ + vldr d7, [sp, #128] @ 0x80 │ │ │ │ │ + vnmls.f64 d6, d12, d11 │ │ │ │ │ vldr d12, [r6, #-136] @ 0xffffff78 │ │ │ │ │ + vmul.f64 d7, d7, d14 │ │ │ │ │ + vstr d6, [sp, #448] @ 0x1c0 │ │ │ │ │ + vmov.f64 d6, d7 │ │ │ │ │ vmul.f64 d7, d12, d11 │ │ │ │ │ - vmov.f64 d12, d7 │ │ │ │ │ + vldr d12, [r6, #-144] @ 0xffffff70 │ │ │ │ │ + vnmls.f64 d6, d13, d11 │ │ │ │ │ + vstr d6, [sp, #456] @ 0x1c8 │ │ │ │ │ + vmov.f64 d6, d7 │ │ │ │ │ + vmla.f64 d6, d12, d14 │ │ │ │ │ + vldr d12, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d6, [sp, #464] @ 0x1d0 │ │ │ │ │ + vldr d6, [sp, #88] @ 0x58 │ │ │ │ │ vmul.f64 d7, d6, d11 │ │ │ │ │ - vmla.f64 d12, d13, d14 │ │ │ │ │ - vldr d6, [sp, #80] @ 0x50 │ │ │ │ │ - vstr d12, [sp, #504] @ 0x1f8 │ │ │ │ │ - vmov.f64 d12, d7 │ │ │ │ │ - vmla.f64 d12, d6, d14 │ │ │ │ │ - vldr d7, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d6, [sp, #144] @ 0x90 │ │ │ │ │ + vmov.f64 d6, d7 │ │ │ │ │ + vldr d7, [sp, #128] @ 0x80 │ │ │ │ │ + vmla.f64 d6, d12, d14 │ │ │ │ │ + vldr d12, [r6, #-136] @ 0xffffff78 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ - vstr d12, [r3] │ │ │ │ │ - vmov.f64 d12, d7 │ │ │ │ │ - vmla.f64 d12, d6, d14 │ │ │ │ │ + vmla.f64 d7, d13, d14 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + add.w r3, sp, #1776 @ 0x6f0 │ │ │ │ │ + vstr d7, [sp, #504] @ 0x1f8 │ │ │ │ │ vmul.f64 d7, d3, d14 │ │ │ │ │ - add.w r3, sp, #1784 @ 0x6f8 │ │ │ │ │ - vstr d12, [sp, #512] @ 0x200 │ │ │ │ │ - vmov.f64 d12, d7 │ │ │ │ │ - vnmls.f64 d12, d4, d11 │ │ │ │ │ - vstr d12, [sp, #840] @ 0x348 │ │ │ │ │ - vldr d12, [r6, #-136] @ 0xffffff78 │ │ │ │ │ - vldr d3, [sp, #200] @ 0xc8 │ │ │ │ │ + vmov.f64 d3, d7 │ │ │ │ │ vmul.f64 d7, d12, d14 │ │ │ │ │ - vmov.f64 d12, d7 │ │ │ │ │ + vldr d12, [r6, #-144] @ 0xffffff70 │ │ │ │ │ + vnmls.f64 d3, d4, d11 │ │ │ │ │ + vstr d3, [sp, #848] @ 0x350 │ │ │ │ │ + vmov.f64 d3, d7 │ │ │ │ │ vmul.f64 d7, d9, d14 │ │ │ │ │ - vldr d9, [sp, #128] @ 0x80 │ │ │ │ │ - vnmls.f64 d12, d13, d11 │ │ │ │ │ - vldr d13, [r6, #-120] @ 0xffffff88 │ │ │ │ │ - vstr d12, [sp, #520] @ 0x208 │ │ │ │ │ - vmov.f64 d12, d7 │ │ │ │ │ - vldr d7, [sp, #160] @ 0xa0 │ │ │ │ │ - vmul.f64 d7, d7, d14 │ │ │ │ │ - vnmls.f64 d12, d8, d11 │ │ │ │ │ - vldr d8, [sp, #208] @ 0xd0 │ │ │ │ │ + vnmls.f64 d3, d12, d11 │ │ │ │ │ vmov.f64 d6, d7 │ │ │ │ │ - vnmls.f64 d6, d3, d11 │ │ │ │ │ - vstr d12, [r3] │ │ │ │ │ - vldr d3, [sp, #8] │ │ │ │ │ + vnmls.f64 d6, d8, d11 │ │ │ │ │ + vstr d3, [sp, #536] @ 0x218 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ add.w r3, sp, #1616 @ 0x650 │ │ │ │ │ - vstr d6, [sp, #528] @ 0x210 │ │ │ │ │ - vldr d6, [sp, #232] @ 0xe8 │ │ │ │ │ - vmul.f64 d7, d6, d11 │ │ │ │ │ - vldr d6, [sp, #224] @ 0xe0 │ │ │ │ │ - vmov.f64 d12, d7 │ │ │ │ │ - vmul.f64 d7, d3, d11 │ │ │ │ │ - vmla.f64 d12, d6, d14 │ │ │ │ │ - vldr d6, [sp, #216] @ 0xd8 │ │ │ │ │ - vstr d12, [r3] │ │ │ │ │ - vmov.f64 d12, d7 │ │ │ │ │ - vldr d7, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d7, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d6, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d9, [sp, #240] @ 0xf0 │ │ │ │ │ + vmul.f64 d7, d7, d14 │ │ │ │ │ + vldr d8, [sp, #216] @ 0xd8 │ │ │ │ │ + vldr d13, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d12, [r6, #-120] @ 0xffffff88 │ │ │ │ │ + vmov.f64 d4, d7 │ │ │ │ │ + vmul.f64 d7, d9, d11 │ │ │ │ │ + vldr d9, [sp, #232] @ 0xe8 │ │ │ │ │ + vnmls.f64 d4, d6, d11 │ │ │ │ │ + vmov.f64 d3, d7 │ │ │ │ │ + vmla.f64 d3, d9, d14 │ │ │ │ │ + vldr d9, [sp, #208] @ 0xd0 │ │ │ │ │ + vstr d4, [sp, #544] @ 0x220 │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ add.w r3, sp, #1624 @ 0x658 │ │ │ │ │ - vmla.f64 d12, d7, d14 │ │ │ │ │ + vldr d3, [sp] │ │ │ │ │ + vmul.f64 d7, d3, d11 │ │ │ │ │ + vmov.f64 d4, d7 │ │ │ │ │ + vldr d7, [sp, #80] @ 0x50 │ │ │ │ │ + vmla.f64 d4, d7, d14 │ │ │ │ │ vldr d7, [sp, #264] @ 0x108 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ - vstr d12, [r3] │ │ │ │ │ - vmov.f64 d12, d7 │ │ │ │ │ - vldr d7, [sp, #256] @ 0x100 │ │ │ │ │ - vmla.f64 d12, d6, d14 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ add.w r3, sp, #1520 @ 0x5f0 │ │ │ │ │ - vmul.f64 d7, d7, d11 │ │ │ │ │ + vmov.f64 d6, d7 │ │ │ │ │ + vmul.f64 d7, d8, d11 │ │ │ │ │ + vmla.f64 d6, d13, d14 │ │ │ │ │ vmov.f64 d4, d7 │ │ │ │ │ - vmul.f64 d7, d9, d14 │ │ │ │ │ - vmla.f64 d4, d8, d14 │ │ │ │ │ - vstr d12, [sp, #872] @ 0x368 │ │ │ │ │ - vmov.f64 d12, d7 │ │ │ │ │ - vmul.f64 d7, d13, d14 │ │ │ │ │ - vldr d13, [r6, #-128] @ 0xffffff80 │ │ │ │ │ + vmla.f64 d4, d9, d14 │ │ │ │ │ + vstr d6, [sp, #856] @ 0x358 │ │ │ │ │ + vldr d6, [sp, #136] @ 0x88 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ - add.w r3, sp, #1632 @ 0x660 │ │ │ │ │ + add.w r3, sp, #1528 @ 0x5f8 │ │ │ │ │ vldr d4, [sp, #152] @ 0x98 │ │ │ │ │ - vnmls.f64 d12, d4, d11 │ │ │ │ │ - vstr d12, [sp, #536] @ 0x218 │ │ │ │ │ - vmov.f64 d12, d7 │ │ │ │ │ + vmul.f64 d7, d6, d14 │ │ │ │ │ + vnmls.f64 d7, d4, d11 │ │ │ │ │ + vstr d7, [sp, #552] @ 0x228 │ │ │ │ │ + vmul.f64 d7, d12, d14 │ │ │ │ │ + vldr d12, [r6, #-128] @ 0xffffff80 │ │ │ │ │ + vnmls.f64 d7, d12, d11 │ │ │ │ │ + vstr d7, [sp, #864] @ 0x360 │ │ │ │ │ vldr d7, [sp, #264] @ 0x108 │ │ │ │ │ - vnmls.f64 d12, d13, d11 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ - vldr d13, [r6, #-120] @ 0xffffff88 │ │ │ │ │ - vstr d12, [sp, #760] @ 0x2f8 │ │ │ │ │ vmov.f64 d12, d7 │ │ │ │ │ vmul.f64 d7, d3, d14 │ │ │ │ │ - vnmls.f64 d12, d6, d11 │ │ │ │ │ - vmov.f64 d3, d7 │ │ │ │ │ - vldr d7, [sp, #88] @ 0x58 │ │ │ │ │ - vnmls.f64 d3, d7, d11 │ │ │ │ │ - vmul.f64 d7, d9, d11 │ │ │ │ │ - vstr d12, [sp, #880] @ 0x370 │ │ │ │ │ - vmov.f64 d6, d7 │ │ │ │ │ - vmul.f64 d7, d13, d11 │ │ │ │ │ + vnmls.f64 d12, d13, d11 │ │ │ │ │ vldr d13, [r6, #-128] @ 0xffffff80 │ │ │ │ │ - vmla.f64 d6, d4, d14 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ - vmov.f64 d3, d7 │ │ │ │ │ - vmla.f64 d3, d13, d14 │ │ │ │ │ - add.w r3, sp, #1528 @ 0x5f8 │ │ │ │ │ - vstr d6, [sp, #616] @ 0x268 │ │ │ │ │ - vstr d3, [sp, #848] @ 0x350 │ │ │ │ │ - vldr d9, [sp, #240] @ 0xf0 │ │ │ │ │ + vstr d12, [r3] │ │ │ │ │ + vmov.f64 d12, d7 │ │ │ │ │ + add.w r3, sp, #1632 @ 0x660 │ │ │ │ │ + vldr d7, [sp, #80] @ 0x50 │ │ │ │ │ + vnmls.f64 d12, d7, d11 │ │ │ │ │ + vmul.f64 d7, d6, d11 │ │ │ │ │ vldr d6, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d4, [sp, #48] @ 0x30 │ │ │ │ │ - vmul.f64 d7, d9, d14 │ │ │ │ │ - vldr d13, [r6, #-152] @ 0xffffff68 │ │ │ │ │ - vmov.f64 d9, d7 │ │ │ │ │ - vldr d7, [sp, #256] @ 0x100 │ │ │ │ │ - vmul.f64 d7, d7, d14 │ │ │ │ │ - vnmls.f64 d9, d6, d11 │ │ │ │ │ - vmov.f64 d3, d7 │ │ │ │ │ - vnmls.f64 d3, d8, d11 │ │ │ │ │ - vstr d9, [sp, #672] @ 0x2a0 │ │ │ │ │ - vldr d9, [sp, #24] │ │ │ │ │ - vmul.f64 d7, d9, d14 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ + vstr d12, [r3] │ │ │ │ │ + vmov.f64 d12, d7 │ │ │ │ │ + add.w r3, sp, #1312 @ 0x520 │ │ │ │ │ + vmla.f64 d12, d4, d14 │ │ │ │ │ + vstr d12, [sp, #560] @ 0x230 │ │ │ │ │ + vldr d12, [r6, #-120] @ 0xffffff88 │ │ │ │ │ + vmul.f64 d7, d12, d11 │ │ │ │ │ + vmov.f64 d12, d7 │ │ │ │ │ + vmul.f64 d7, d6, d14 │ │ │ │ │ + vldr d6, [sp, #256] @ 0x100 │ │ │ │ │ + vmla.f64 d12, d13, d14 │ │ │ │ │ + vstr d12, [r3] │ │ │ │ │ + vmov.f64 d12, d7 │ │ │ │ │ + vmul.f64 d7, d8, d14 │ │ │ │ │ add.w r3, sp, #1536 @ 0x600 │ │ │ │ │ - vmov.f64 d6, d7 │ │ │ │ │ - vldr d7, [sp, #136] @ 0x88 │ │ │ │ │ + vnmls.f64 d12, d6, d11 │ │ │ │ │ + vstr d12, [sp, #696] @ 0x2b8 │ │ │ │ │ + vmov.f64 d12, d7 │ │ │ │ │ + vnmls.f64 d12, d9, d11 │ │ │ │ │ + vstr d12, [r3] │ │ │ │ │ + add.w r3, sp, #1544 @ 0x608 │ │ │ │ │ + vldr d9, [sp, #16] │ │ │ │ │ + vldr d13, [r6, #-160] @ 0xffffff60 │ │ │ │ │ + vldr d4, [sp, #40] @ 0x28 │ │ │ │ │ + vmul.f64 d7, d9, d14 │ │ │ │ │ vldr d3, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d6, [sp, #32] │ │ │ │ │ + vldr d8, [sp, #64] @ 0x40 │ │ │ │ │ + vmov.f64 d12, d7 │ │ │ │ │ + vldr d7, [sp, #144] @ 0x90 │ │ │ │ │ + vnmls.f64 d12, d4, d11 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ - vnmls.f64 d6, d4, d11 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - vmov.f64 d6, d7 │ │ │ │ │ - vmul.f64 d7, d13, d11 │ │ │ │ │ - vldr d13, [r6, #-160] @ 0xffffff60 │ │ │ │ │ - vmla.f64 d6, d3, d14 │ │ │ │ │ + vstr d12, [r3] │ │ │ │ │ + vmov.f64 d12, d7 │ │ │ │ │ add.w r3, sp, #1640 @ 0x668 │ │ │ │ │ - vmov.f64 d8, d7 │ │ │ │ │ - vmla.f64 d8, d13, d14 │ │ │ │ │ - vldr d13, [r6, #-152] @ 0xffffff68 │ │ │ │ │ - vmul.f64 d7, d13, d14 │ │ │ │ │ - vldr d13, [r6, #-160] @ 0xffffff60 │ │ │ │ │ - vstr d6, [sp, #656] @ 0x290 │ │ │ │ │ - vldr d6, [sp, #40] @ 0x28 │ │ │ │ │ + vmla.f64 d12, d3, d14 │ │ │ │ │ + vstr d12, [sp, #568] @ 0x238 │ │ │ │ │ + vldr d12, [r6, #-152] @ 0xffffff68 │ │ │ │ │ + vmul.f64 d7, d12, d11 │ │ │ │ │ + vmov.f64 d12, d7 │ │ │ │ │ + vmla.f64 d12, d13, d14 │ │ │ │ │ + vstr d12, [sp, #680] @ 0x2a8 │ │ │ │ │ + vldr d12, [r6, #-152] @ 0xffffff68 │ │ │ │ │ + vmul.f64 d7, d12, d14 │ │ │ │ │ vmov.f64 d12, d7 │ │ │ │ │ vmul.f64 d7, d6, d14 │ │ │ │ │ - vstr d8, [sp, #664] @ 0x298 │ │ │ │ │ - vldr d8, [sp, #72] @ 0x48 │ │ │ │ │ vnmls.f64 d12, d13, d11 │ │ │ │ │ - vstr d12, [sp, #680] @ 0x2a8 │ │ │ │ │ + vldr d13, [sp, #368] @ 0x170 │ │ │ │ │ + vstr d12, [sp, #688] @ 0x2b0 │ │ │ │ │ vmov.f64 d12, d7 │ │ │ │ │ - vldr d7, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d7, [sp, #144] @ 0x90 │ │ │ │ │ vnmls.f64 d12, d8, d11 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ vstr d12, [r3] │ │ │ │ │ vmov.f64 d12, d7 │ │ │ │ │ vmul.f64 d7, d9, d11 │ │ │ │ │ - add.w r3, sp, #1544 @ 0x608 │ │ │ │ │ + add.w r3, sp, #1552 @ 0x610 │ │ │ │ │ vnmls.f64 d12, d3, d11 │ │ │ │ │ vmov.f64 d9, d7 │ │ │ │ │ vmla.f64 d9, d4, d14 │ │ │ │ │ - vstr d12, [sp, #688] @ 0x2b0 │ │ │ │ │ + vstr d12, [sp, #704] @ 0x2c0 │ │ │ │ │ vstr d9, [r3] │ │ │ │ │ add.w r3, sp, #1648 @ 0x670 │ │ │ │ │ - vldr d9, [sp, #240] @ 0xf0 │ │ │ │ │ - vmul.f64 d7, d9, d11 │ │ │ │ │ vldr d9, [sp, #248] @ 0xf8 │ │ │ │ │ - vmov.f64 d4, d7 │ │ │ │ │ + vmul.f64 d7, d9, d11 │ │ │ │ │ + vldr d9, [sp, #256] @ 0x100 │ │ │ │ │ + vmov.f64 d3, d7 │ │ │ │ │ vmul.f64 d7, d6, d11 │ │ │ │ │ - vmla.f64 d4, d9, d14 │ │ │ │ │ + vmla.f64 d3, d9, d14 │ │ │ │ │ vldr d9, [r8] │ │ │ │ │ - vmov.f64 d3, d7 │ │ │ │ │ - vmla.f64 d3, d8, d14 │ │ │ │ │ + vmov.f64 d6, d7 │ │ │ │ │ + vmla.f64 d6, d8, d14 │ │ │ │ │ vldr d8, [r7] │ │ │ │ │ - vstr d4, [sp, #696] @ 0x2b8 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ + vstr d3, [sp, #712] @ 0x2c8 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ mov.w r3, r9, lsl #8 │ │ │ │ │ - adds r4, r7, r3 │ │ │ │ │ + add.w r4, r7, r3 │ │ │ │ │ add.w r2, r8, r3 │ │ │ │ │ - str r4, [sp, #280] @ 0x118 │ │ │ │ │ - str r2, [sp, #288] @ 0x120 │ │ │ │ │ vldr d6, [r4] │ │ │ │ │ + str r4, [sp, #272] @ 0x110 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ + str r2, [sp, #280] @ 0x118 │ │ │ │ │ mov.w r2, r9, lsl #7 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - vldr d13, [sp, #368] @ 0x170 │ │ │ │ │ + add.w r1, r7, r2 │ │ │ │ │ add r2, r8 │ │ │ │ │ - adds r0, r1, r3 │ │ │ │ │ + add.w r0, r1, r3 │ │ │ │ │ + add.w r5, r2, r3 │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ vmul.f64 d4, d1, d7 │ │ │ │ │ vmul.f64 d1, d1, d6 │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ - vmla.f64 d4, d13, d6 │ │ │ │ │ - adds r5, r2, r3 │ │ │ │ │ - str r2, [sp, #304] @ 0x130 │ │ │ │ │ - str r0, [sp, #312] @ 0x138 │ │ │ │ │ + str r1, [sp, #288] @ 0x120 │ │ │ │ │ + str r0, [sp, #304] @ 0x130 │ │ │ │ │ vnmls.f64 d1, d13, d7 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - mov.w r2, r9, lsl #6 │ │ │ │ │ - str r5, [sp, #320] @ 0x140 │ │ │ │ │ - add.w r4, r8, r2 │ │ │ │ │ - str r1, [sp, #296] @ 0x128 │ │ │ │ │ + vmla.f64 d4, d13, d6 │ │ │ │ │ vmul.f64 d6, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d3 │ │ │ │ │ vmla.f64 d6, d2, d3 │ │ │ │ │ vnmls.f64 d5, d2, d7 │ │ │ │ │ - vldr d2, [r5] │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ - adds r5, r4, r3 │ │ │ │ │ - adds r1, r0, r3 │ │ │ │ │ + str r2, [sp, #296] @ 0x128 │ │ │ │ │ + mov.w r2, r9, lsl #6 │ │ │ │ │ + vldr d2, [r5] │ │ │ │ │ + str r5, [sp, #312] @ 0x138 │ │ │ │ │ + add.w r5, r8, r2 │ │ │ │ │ + add.w r4, r7, r2 │ │ │ │ │ + add.w r0, r5, r3 │ │ │ │ │ + add.w r1, r4, r3 │ │ │ │ │ + str r2, [sp, #320] @ 0x140 │ │ │ │ │ + str r5, [sp, #328] @ 0x148 │ │ │ │ │ + str r1, [sp, #336] @ 0x150 │ │ │ │ │ + str r0, [sp, #344] @ 0x158 │ │ │ │ │ vmul.f64 d3, d0, d2 │ │ │ │ │ - mov.w r2, #448 @ 0x1c0 │ │ │ │ │ vmla.f64 d3, d10, d7 │ │ │ │ │ vmul.f64 d7, d0, d7 │ │ │ │ │ vadd.f64 d0, d8, d4 │ │ │ │ │ vsub.f64 d8, d8, d4 │ │ │ │ │ vldr d4, [r1] │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - str r1, [sp, #328] @ 0x148 │ │ │ │ │ vnmls.f64 d7, d10, d2 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - add r2, r8 │ │ │ │ │ - str r5, [sp, #336] @ 0x150 │ │ │ │ │ - str r1, [sp, #344] @ 0x158 │ │ │ │ │ vadd.f64 d2, d6, d3 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ vadd.f64 d13, d0, d2 │ │ │ │ │ - vsub.f64 d10, d0, d2 │ │ │ │ │ + vstr d13, [sp, #944] @ 0x3b0 │ │ │ │ │ + vsub.f64 d13, d0, d2 │ │ │ │ │ vsub.f64 d2, d9, d1 │ │ │ │ │ vadd.f64 d9, d9, d1 │ │ │ │ │ - vstr d13, [sp, #944] @ 0x3b0 │ │ │ │ │ - vstr d10, [sp, #952] @ 0x3b8 │ │ │ │ │ + vstr d13, [sp, #952] @ 0x3b8 │ │ │ │ │ vsub.f64 d13, d2, d6 │ │ │ │ │ - vadd.f64 d10, d2, d6 │ │ │ │ │ + vstr d13, [sp, #960] @ 0x3c0 │ │ │ │ │ + vadd.f64 d13, d2, d6 │ │ │ │ │ vsub.f64 d6, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - vldr d2, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d13, [sp, #960] @ 0x3c0 │ │ │ │ │ - vstr d10, [sp, #968] @ 0x3c8 │ │ │ │ │ - vsub.f64 d10, d8, d6 │ │ │ │ │ - vadd.f64 d13, d8, d6 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - str r4, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d10, [sp, #976] @ 0x3d0 │ │ │ │ │ - vadd.f64 d10, d5, d9 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + vsub.f64 d2, d8, d6 │ │ │ │ │ + vadd.f64 d12, d8, d6 │ │ │ │ │ + vstr d13, [sp, #968] @ 0x3c8 │ │ │ │ │ + vadd.f64 d6, d5, d9 │ │ │ │ │ vsub.f64 d5, d9, d5 │ │ │ │ │ - vstr d13, [sp, #984] @ 0x3d8 │ │ │ │ │ - vldr d13, [sp, #424] @ 0x1a8 │ │ │ │ │ - vstr d10, [sp, #992] @ 0x3e0 │ │ │ │ │ + vldr d13, [sp, #440] @ 0x1b8 │ │ │ │ │ + vstr d2, [sp, #976] @ 0x3d0 │ │ │ │ │ + vldr d2, [sp, #56] @ 0x38 │ │ │ │ │ vstr d5, [sp, #1000] @ 0x3e8 │ │ │ │ │ - vldr d5, [sp, #32] │ │ │ │ │ - str r0, [sp, #32] │ │ │ │ │ + vldr d5, [sp, #24] │ │ │ │ │ + str r4, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d6, [sp, #992] @ 0x3e0 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + sub.w r4, sl, r9 │ │ │ │ │ + mov.w r2, r4, lsl #6 │ │ │ │ │ + vstr d12, [sp, #984] @ 0x3d8 │ │ │ │ │ vmul.f64 d10, d5, d7 │ │ │ │ │ + add.w r1, r7, r2 │ │ │ │ │ + add r2, r8 │ │ │ │ │ + str r1, [sp, #352] @ 0x160 │ │ │ │ │ + str r2, [sp, #360] @ 0x168 │ │ │ │ │ vmla.f64 d10, d2, d6 │ │ │ │ │ vmul.f64 d6, d5, d6 │ │ │ │ │ + vldr d5, [sp, #400] @ 0x190 │ │ │ │ │ vmov.f64 d1, d6 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add.w r2, r9, r9, lsl #1 │ │ │ │ │ + str r2, [sp, #24] │ │ │ │ │ + mov.w r2, r2, lsl #6 │ │ │ │ │ vnmls.f64 d1, d2, d7 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + add.w r5, r7, r2 │ │ │ │ │ + add.w r0, r8, r2 │ │ │ │ │ vldr d2, [sp, #376] @ 0x178 │ │ │ │ │ + add.w r2, sp, #1024 @ 0x400 │ │ │ │ │ vmul.f64 d0, d13, d7 │ │ │ │ │ + vmov.f64 d12, d1 │ │ │ │ │ + vldr d1, [sp, #448] @ 0x1c0 │ │ │ │ │ vmla.f64 d0, d2, d4 │ │ │ │ │ vmul.f64 d4, d13, d4 │ │ │ │ │ vnmls.f64 d4, d2, d7 │ │ │ │ │ - vstr d1, [sp, #376] @ 0x178 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - str r2, [sp, #352] @ 0x160 │ │ │ │ │ - movs r2, #192 @ 0xc0 │ │ │ │ │ - vldr d5, [sp, #360] @ 0x168 │ │ │ │ │ + vmul.f64 d3, d1, d6 │ │ │ │ │ + str r5, [sp, #368] @ 0x170 │ │ │ │ │ + mov.w r1, r9, lsl #5 │ │ │ │ │ + vldr d8, [sp, #392] @ 0x188 │ │ │ │ │ + str r0, [sp, #376] @ 0x178 │ │ │ │ │ vsub.f64 d2, d10, d0 │ │ │ │ │ - vldr d12, [sp, #408] @ 0x198 │ │ │ │ │ vadd.f64 d10, d10, d0 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - vldr d8, [sp, #384] @ 0x180 │ │ │ │ │ - vsub.f64 d9, d1, d4 │ │ │ │ │ - vldr d1, [sp, #432] @ 0x1b0 │ │ │ │ │ - add.w r5, r8, r2 │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ - add.w r2, sp, #1024 @ 0x400 │ │ │ │ │ - str r5, [sp, #368] @ 0x170 │ │ │ │ │ - vmul.f64 d3, d1, d6 │ │ │ │ │ - str r0, [sp, #360] @ 0x168 │ │ │ │ │ + vldr d0, [sp, #416] @ 0x1a0 │ │ │ │ │ vmla.f64 d3, d5, d7 │ │ │ │ │ vmul.f64 d7, d1, d7 │ │ │ │ │ + vldr d1, [sp, #384] @ 0x180 │ │ │ │ │ + vsub.f64 d9, d12, d4 │ │ │ │ │ + vadd.f64 d4, d12, d4 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ - vmul.f64 d1, d12, d6 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + add.w r5, r7, r1 │ │ │ │ │ + add.w r0, r5, r3 │ │ │ │ │ + str r0, [sp, #392] @ 0x188 │ │ │ │ │ + vmul.f64 d1, d1, d6 │ │ │ │ │ vmla.f64 d1, d8, d5 │ │ │ │ │ - vmul.f64 d5, d12, d5 │ │ │ │ │ + vmov.f64 d13, d1 │ │ │ │ │ + vldr d1, [sp, #384] @ 0x180 │ │ │ │ │ + str r1, [sp, #384] @ 0x180 │ │ │ │ │ + add r1, r8 │ │ │ │ │ + vmul.f64 d5, d1, d5 │ │ │ │ │ + vldr d1, [sp, #408] @ 0x198 │ │ │ │ │ vnmls.f64 d5, d8, d6 │ │ │ │ │ - vsub.f64 d6, d3, d1 │ │ │ │ │ - vadd.f64 d3, d3, d1 │ │ │ │ │ + vsub.f64 d6, d3, d13 │ │ │ │ │ + vadd.f64 d3, d3, d13 │ │ │ │ │ + vadd.f64 d13, d10, d3 │ │ │ │ │ vsub.f64 d8, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vadd.f64 d13, d10, d3 │ │ │ │ │ vstr d13, [sp, #1008] @ 0x3f0 │ │ │ │ │ vsub.f64 d13, d3, d10 │ │ │ │ │ - vldr d10, [sp, #376] @ 0x178 │ │ │ │ │ - vldr d3, [pc, #960] @ f68 │ │ │ │ │ - vadd.f64 d4, d10, d4 │ │ │ │ │ - vstr d13, [sp, #1016] @ 0x3f8 │ │ │ │ │ + vldr d3, [pc, #972] @ fb0 │ │ │ │ │ vsub.f64 d5, d4, d7 │ │ │ │ │ + vstr d13, [sp, #1016] @ 0x3f8 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ vadd.f64 d5, d4, d7 │ │ │ │ │ add.w r2, sp, #1032 @ 0x408 │ │ │ │ │ vsub.f64 d7, d9, d2 │ │ │ │ │ vadd.f64 d2, d9, d2 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ vadd.f64 d5, d6, d8 │ │ │ │ │ vsub.f64 d6, d6, d8 │ │ │ │ │ add.w r2, sp, #1040 @ 0x410 │ │ │ │ │ - vldr d8, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d8, [sp, #72] @ 0x48 │ │ │ │ │ + str r5, [sp, #72] @ 0x48 │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vmul.f64 d13, d4, d3 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ vmul.f64 d10, d7, d3 │ │ │ │ │ vadd.f64 d7, d2, d6 │ │ │ │ │ + vmul.f64 d13, d4, d3 │ │ │ │ │ vsub.f64 d6, d6, d2 │ │ │ │ │ - vldr d4, [sp] │ │ │ │ │ - vldr d2, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d4, [sp, #88] @ 0x58 │ │ │ │ │ + str r1, [sp, #88] @ 0x58 │ │ │ │ │ + vmul.f64 d12, d7, d3 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, r1, r3 │ │ │ │ │ + vmul.f64 d2, d6, d3 │ │ │ │ │ vstr d13, [r2] │ │ │ │ │ add.w r2, sp, #1048 @ 0x418 │ │ │ │ │ - vmul.f64 d13, d7, d3 │ │ │ │ │ - vmul.f64 d5, d6, d3 │ │ │ │ │ + vmul.f64 d6, d4, d5 │ │ │ │ │ + vldr d3, [r5] │ │ │ │ │ vstr d10, [r2] │ │ │ │ │ add.w r2, sp, #1056 @ 0x420 │ │ │ │ │ - vldr d10, [sp, #400] @ 0x190 │ │ │ │ │ - vstr d13, [r2] │ │ │ │ │ + vldr d10, [sp, #432] @ 0x1b0 │ │ │ │ │ + str r5, [sp, #400] @ 0x190 │ │ │ │ │ + add.w r5, r9, r9, lsl #2 │ │ │ │ │ + vstr d12, [r2] │ │ │ │ │ add.w r2, sp, #1064 @ 0x428 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - mov.w r2, r9, lsl #5 │ │ │ │ │ - adds r5, r7, r2 │ │ │ │ │ - add r2, r8 │ │ │ │ │ - adds r0, r2, r3 │ │ │ │ │ - adds r1, r5, r3 │ │ │ │ │ - str r2, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - movs r2, #160 @ 0xa0 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - vldr d3, [r0] │ │ │ │ │ - vmul.f64 d6, d4, d5 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ vmla.f64 d6, d8, d7 │ │ │ │ │ vmul.f64 d7, d4, d7 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - str r1, [sp, #376] @ 0x178 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - str r5, [sp, #0] │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ + mov.w r2, r5, lsl #5 │ │ │ │ │ + vldr d2, [sp, #424] @ 0x1a8 │ │ │ │ │ + add.w r1, r7, r2 │ │ │ │ │ + add r2, r8 │ │ │ │ │ + add.w r0, r1, r3 │ │ │ │ │ vnmls.f64 d7, d8, d5 │ │ │ │ │ - vmul.f64 d5, d10, d3 │ │ │ │ │ - vmla.f64 d5, d2, d4 │ │ │ │ │ - vmul.f64 d4, d10, d4 │ │ │ │ │ - str r0, [sp, #384] @ 0x180 │ │ │ │ │ - add.w r0, r8, r2 │ │ │ │ │ - adds r5, r0, r3 │ │ │ │ │ - adds r2, r1, r3 │ │ │ │ │ - vnmls.f64 d4, d2, d3 │ │ │ │ │ + str r1, [sp, #408] @ 0x198 │ │ │ │ │ + vmul.f64 d5, d2, d3 │ │ │ │ │ + vmla.f64 d5, d10, d4 │ │ │ │ │ + vmul.f64 d4, d2, d4 │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ + vnmls.f64 d4, d10, d3 │ │ │ │ │ vadd.f64 d10, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ - vldr d0, [sp, #272] @ 0x110 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ - vldr d1, [sp, #392] @ 0x188 │ │ │ │ │ + str r0, [sp, #424] @ 0x1a8 │ │ │ │ │ + str r2, [sp, #416] @ 0x1a0 │ │ │ │ │ + add r2, r3 │ │ │ │ │ + vldr d8, [sp, #504] @ 0x1f8 │ │ │ │ │ + str r2, [sp, #432] @ 0x1b0 │ │ │ │ │ vadd.f64 d3, d7, d4 │ │ │ │ │ - vmul.f64 d12, d0, d5 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ + vmul.f64 d12, d0, d5 │ │ │ │ │ vmul.f64 d4, d0, d2 │ │ │ │ │ - vldr d0, [sp, #440] @ 0x1b8 │ │ │ │ │ - vmla.f64 d4, d1, d5 │ │ │ │ │ - vldr d8, [sp, #512] @ 0x200 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ + vldr d0, [sp, #456] @ 0x1c8 │ │ │ │ │ vnmls.f64 d12, d1, d2 │ │ │ │ │ - vldr d1, [r5] │ │ │ │ │ - str r2, [sp, #400] @ 0x190 │ │ │ │ │ + vmla.f64 d4, d1, d5 │ │ │ │ │ + vldr d1, [r2] │ │ │ │ │ add.w r2, sp, #1072 @ 0x430 │ │ │ │ │ - str r1, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ vmul.f64 d2, d0, d1 │ │ │ │ │ - str r5, [sp, #408] @ 0x198 │ │ │ │ │ vmla.f64 d2, d8, d5 │ │ │ │ │ vmul.f64 d5, d0, d5 │ │ │ │ │ - str r0, [sp, #392] @ 0x188 │ │ │ │ │ vnmls.f64 d5, d8, d1 │ │ │ │ │ vadd.f64 d1, d4, d2 │ │ │ │ │ vsub.f64 d4, d4, d2 │ │ │ │ │ vadd.f64 d0, d12, d5 │ │ │ │ │ vsub.f64 d5, d12, d5 │ │ │ │ │ - vadd.f64 d12, d10, d1 │ │ │ │ │ + vldr d12, [pc, #676] @ fb8 │ │ │ │ │ + vadd.f64 d2, d10, d1 │ │ │ │ │ vadd.f64 d8, d7, d4 │ │ │ │ │ vsub.f64 d4, d7, d4 │ │ │ │ │ vsub.f64 d10, d10, d1 │ │ │ │ │ - vldr d1, [sp, #520] @ 0x208 │ │ │ │ │ - vsub.f64 d2, d6, d5 │ │ │ │ │ - vadd.f64 d6, d6, d5 │ │ │ │ │ - vstr d12, [r2] │ │ │ │ │ - vadd.f64 d13, d3, d0 │ │ │ │ │ - vldr d12, [pc, #612] @ f70 │ │ │ │ │ + vldr d1, [sp, #536] @ 0x218 │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ + vadd.f64 d2, d3, d0 │ │ │ │ │ add.w r2, sp, #1080 @ 0x438 │ │ │ │ │ vsub.f64 d3, d3, d0 │ │ │ │ │ - vmul.f64 d9, d2, d15 │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ + vsub.f64 d2, d6, d5 │ │ │ │ │ + vadd.f64 d6, d6, d5 │ │ │ │ │ + add.w r2, sp, #1088 @ 0x440 │ │ │ │ │ vmul.f64 d7, d6, d12 │ │ │ │ │ + vmul.f64 d9, d2, d15 │ │ │ │ │ vmul.f64 d2, d2, d12 │ │ │ │ │ - vmla.f64 d2, d8, d15 │ │ │ │ │ - vstr d13, [r2] │ │ │ │ │ - add.w r2, sp, #1088 @ 0x440 │ │ │ │ │ vmul.f64 d6, d6, d15 │ │ │ │ │ vnmls.f64 d9, d8, d12 │ │ │ │ │ vmov.f64 d5, d7 │ │ │ │ │ + vmla.f64 d2, d8, d15 │ │ │ │ │ + vldr d8, [sp, #8] │ │ │ │ │ + vmla.f64 d6, d4, d12 │ │ │ │ │ vnmls.f64 d5, d4, d15 │ │ │ │ │ vstr d9, [r2] │ │ │ │ │ add.w r2, sp, #1096 @ 0x448 │ │ │ │ │ vstr d2, [r2] │ │ │ │ │ add.w r2, sp, #1104 @ 0x450 │ │ │ │ │ - vldr d2, [sp, #504] @ 0x1f8 │ │ │ │ │ + vldr d2, [sp, #472] @ 0x1d8 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ - vmov.f64 d5, d6 │ │ │ │ │ - vmla.f64 d5, d4, d12 │ │ │ │ │ add.w r2, sp, #1112 @ 0x458 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ vsub.f64 d6, d3, d10 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ add.w r2, sp, #1120 @ 0x460 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ vadd.f64 d6, d3, d10 │ │ │ │ │ add.w r2, sp, #1128 @ 0x468 │ │ │ │ │ - vldr d10, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d10, [sp, #480] @ 0x1e0 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ - mov.w r2, #480 @ 0x1e0 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - add r2, r8 │ │ │ │ │ - str r2, [sp, #424] @ 0x1a8 │ │ │ │ │ - str r1, [sp, #416] @ 0x1a0 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - movs r2, #224 @ 0xe0 │ │ │ │ │ + mov.w r2, r9, lsl #4 │ │ │ │ │ + vldr d6, [sp, #464] @ 0x1d0 │ │ │ │ │ + sub.w ip, r2, r9 │ │ │ │ │ + mov.w lr, ip, lsl #5 │ │ │ │ │ + add.w r0, r8, lr │ │ │ │ │ + add.w r1, r7, lr │ │ │ │ │ + mov.w lr, r4, lsl #5 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + str r1, [sp, #440] @ 0x1b8 │ │ │ │ │ vldr d4, [r1] │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ + add.w r1, r7, lr │ │ │ │ │ + str r0, [sp, #448] @ 0x1c0 │ │ │ │ │ + add.w r0, r8, lr │ │ │ │ │ + str r1, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d3, [r0] │ │ │ │ │ vmul.f64 d5, d1, d7 │ │ │ │ │ - vmla.f64 d5, d2, d4 │ │ │ │ │ + str r0, [sp, #464] @ 0x1d0 │ │ │ │ │ + vmla.f64 d5, d6, d4 │ │ │ │ │ vmul.f64 d4, d1, d4 │ │ │ │ │ - add.w r5, r8, r2 │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ - movs r2, #96 @ 0x60 │ │ │ │ │ - str r5, [sp, #440] @ 0x1b8 │ │ │ │ │ - str r0, [sp, #432] @ 0x1b0 │ │ │ │ │ - vldr d3, [r5] │ │ │ │ │ - vnmls.f64 d4, d2, d7 │ │ │ │ │ - vldr d2, [sp, #456] @ 0x1c8 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - add.w r5, r8, r2 │ │ │ │ │ - adds r4, r7, r2 │ │ │ │ │ - vmul.f64 d6, d2, d3 │ │ │ │ │ - adds r1, r5, r3 │ │ │ │ │ - vmla.f64 d6, d10, d7 │ │ │ │ │ - vmul.f64 d7, d2, d7 │ │ │ │ │ - adds r2, r4, r3 │ │ │ │ │ - vnmls.f64 d7, d10, d3 │ │ │ │ │ + vldr d1, [sp, #48] @ 0x30 │ │ │ │ │ + vnmls.f64 d4, d6, d7 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + vmul.f64 d6, d10, d3 │ │ │ │ │ + ldr r1, [sp, #24] │ │ │ │ │ + vmla.f64 d6, d2, d7 │ │ │ │ │ + vmul.f64 d7, d10, d7 │ │ │ │ │ + mov.w lr, r1, lsl #5 │ │ │ │ │ + add.w r0, r8, lr │ │ │ │ │ + add.w r1, r7, lr │ │ │ │ │ + add.w lr, sl, r9 │ │ │ │ │ + vnmls.f64 d7, d2, d3 │ │ │ │ │ + vldr d2, [r0] │ │ │ │ │ + mov.w fp, lr, lsl #4 │ │ │ │ │ + str r1, [sp, #8] │ │ │ │ │ + mov.w lr, lr, lsl #3 │ │ │ │ │ vadd.f64 d3, d5, d6 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ + vmul.f64 d6, d1, d2 │ │ │ │ │ vadd.f64 d10, d4, d7 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - vldr d2, [r5] │ │ │ │ │ - vldr d1, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d8, [sp, #16] │ │ │ │ │ - vldr d0, [sp, #464] @ 0x1d0 │ │ │ │ │ - vmul.f64 d6, d1, d2 │ │ │ │ │ - vldr d9, [sp, #472] @ 0x1d8 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + add r1, r3 │ │ │ │ │ + str r1, [sp, #472] @ 0x1d8 │ │ │ │ │ + str r0, [sp, #48] @ 0x30 │ │ │ │ │ + add r0, r3 │ │ │ │ │ + vldr d0, [sp, #488] @ 0x1e8 │ │ │ │ │ vmla.f64 d6, d8, d7 │ │ │ │ │ vmul.f64 d7, d1, d7 │ │ │ │ │ - vldr d1, [r1] │ │ │ │ │ - str r2, [sp, #448] @ 0x1c0 │ │ │ │ │ - str r1, [sp, #456] @ 0x1c8 │ │ │ │ │ + str r0, [sp, #480] @ 0x1e0 │ │ │ │ │ + vldr d1, [r0] │ │ │ │ │ + add.w r0, r7, r2 │ │ │ │ │ + vldr d9, [sp, #496] @ 0x1f0 │ │ │ │ │ vnmls.f64 d7, d8, d2 │ │ │ │ │ - vldr d2, [r2] │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ + add.w r1, sp, #1136 @ 0x470 │ │ │ │ │ vmul.f64 d8, d0, d1 │ │ │ │ │ - add.w r2, sp, #1136 @ 0x470 │ │ │ │ │ - str r4, [sp, #16] │ │ │ │ │ vmla.f64 d8, d9, d2 │ │ │ │ │ vmul.f64 d2, d0, d2 │ │ │ │ │ - str r5, [sp, #56] @ 0x38 │ │ │ │ │ vnmls.f64 d2, d9, d1 │ │ │ │ │ vadd.f64 d0, d6, d8 │ │ │ │ │ vsub.f64 d6, d6, d8 │ │ │ │ │ vadd.f64 d1, d7, d2 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ - vadd.f64 d2, d3, d0 │ │ │ │ │ + vadd.f64 d8, d3, d0 │ │ │ │ │ vsub.f64 d3, d3, d0 │ │ │ │ │ - vldr d0, [sp, #88] @ 0x58 │ │ │ │ │ - vsub.f64 d8, d5, d7 │ │ │ │ │ - vadd.f64 d5, d5, d7 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ vadd.f64 d2, d10, d1 │ │ │ │ │ - add.w r2, sp, #1144 @ 0x478 │ │ │ │ │ vsub.f64 d10, d10, d1 │ │ │ │ │ - vmul.f64 d9, d8, d15 │ │ │ │ │ - vmul.f64 d7, d5, d12 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ + vstr d8, [r1] │ │ │ │ │ + vsub.f64 d8, d5, d7 │ │ │ │ │ + add.w r1, sp, #1144 @ 0x478 │ │ │ │ │ + vadd.f64 d5, d5, d7 │ │ │ │ │ + vstr d2, [r1] │ │ │ │ │ vadd.f64 d2, d4, d6 │ │ │ │ │ - add.w r2, sp, #1152 @ 0x480 │ │ │ │ │ vsub.f64 d6, d4, d6 │ │ │ │ │ + vmul.f64 d9, d8, d15 │ │ │ │ │ + add.w r1, sp, #1152 @ 0x480 │ │ │ │ │ + vmul.f64 d7, d5, d12 │ │ │ │ │ vmla.f64 d9, d2, d12 │ │ │ │ │ vmul.f64 d2, d2, d15 │ │ │ │ │ vnmls.f64 d2, d8, d12 │ │ │ │ │ - vstr d9, [r2] │ │ │ │ │ - add.w r2, sp, #1160 @ 0x488 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - vmov.f64 d2, d7 │ │ │ │ │ - vmla.f64 d2, d6, d15 │ │ │ │ │ + vmov.f64 d8, d7 │ │ │ │ │ + vmla.f64 d8, d6, d15 │ │ │ │ │ vmul.f64 d6, d6, d12 │ │ │ │ │ - add.w r2, sp, #1168 @ 0x490 │ │ │ │ │ + vstr d9, [r1] │ │ │ │ │ + add.w r1, sp, #1160 @ 0x488 │ │ │ │ │ vnmls.f64 d6, d5, d15 │ │ │ │ │ - vadd.f64 d5, d3, d10 │ │ │ │ │ - vsub.f64 d10, d3, d10 │ │ │ │ │ - vldr d3, [sp, #8] │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - add.w r2, sp, #1176 @ 0x498 │ │ │ │ │ - vldr d2, [sp, #488] @ 0x1e8 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - add.w r2, sp, #1184 @ 0x4a0 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - add.w r2, sp, #1192 @ 0x4a8 │ │ │ │ │ - vstr d10, [r2] │ │ │ │ │ - mov.w r2, r9, lsl #4 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - add r2, r8 │ │ │ │ │ - adds r0, r1, r3 │ │ │ │ │ - str r0, [sp, #464] @ 0x1d0 │ │ │ │ │ - str r2, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - str r1, [sp, #8] │ │ │ │ │ + vsub.f64 d5, d3, d10 │ │ │ │ │ + vstr d2, [r1] │ │ │ │ │ + add.w r1, sp, #1168 @ 0x490 │ │ │ │ │ + vldr d2, [sp, #512] @ 0x200 │ │ │ │ │ + vstr d8, [r1] │ │ │ │ │ + add.w r1, sp, #1176 @ 0x498 │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ + vadd.f64 d6, d3, d10 │ │ │ │ │ + add.w r1, sp, #1184 @ 0x4a0 │ │ │ │ │ + vldr d3, [sp] │ │ │ │ │ + vldr d10, [sp, #520] @ 0x208 │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ + add.w r1, sp, #1192 @ 0x4a8 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ + add.w r1, r8, r2 │ │ │ │ │ + add r2, r9 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + str r1, [sp, #488] @ 0x1e8 │ │ │ │ │ + add r1, r3 │ │ │ │ │ + str r1, [sp, #504] @ 0x1f8 │ │ │ │ │ vmul.f64 d5, d3, d7 │ │ │ │ │ - vmov.f64 d10, d5 │ │ │ │ │ - vmla.f64 d10, d0, d6 │ │ │ │ │ + vmov.f64 d1, d5 │ │ │ │ │ + vldr d5, [sp, #80] @ 0x50 │ │ │ │ │ + str r0, [sp, #80] @ 0x50 │ │ │ │ │ + add r0, r3 │ │ │ │ │ + str r0, [sp, #496] @ 0x1f0 │ │ │ │ │ + vmla.f64 d1, d5, d6 │ │ │ │ │ vmul.f64 d6, d3, d6 │ │ │ │ │ - vldr d3, [sp, #480] @ 0x1e0 │ │ │ │ │ - vmov.f64 d1, d6 │ │ │ │ │ + vmov.f64 d0, d6 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ - adds r0, r2, r3 │ │ │ │ │ - movs r2, #144 @ 0x90 │ │ │ │ │ - str r0, [sp, #472] @ 0x1d8 │ │ │ │ │ - vnmls.f64 d1, d0, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - vstr d10, [sp, #544] @ 0x220 │ │ │ │ │ - vldr d8, [sp, #72] @ 0x48 │ │ │ │ │ - vmul.f64 d5, d2, d7 │ │ │ │ │ - add.w r4, r8, r2 │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ - adds r2, r4, r3 │ │ │ │ │ - adds r5, r0, r3 │ │ │ │ │ - str r2, [sp, #488] @ 0x1e8 │ │ │ │ │ - str r5, [sp, #480] @ 0x1e0 │ │ │ │ │ + add.w r0, r7, fp │ │ │ │ │ + vnmls.f64 d0, d5, d7 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + add.w r1, r8, fp │ │ │ │ │ + vstr d1, [sp] │ │ │ │ │ + mov.w fp, r5, lsl #4 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ + vmul.f64 d5, d10, d7 │ │ │ │ │ + vstr d0, [sp, #576] @ 0x240 │ │ │ │ │ vmov.f64 d13, d5 │ │ │ │ │ - vmla.f64 d13, d3, d6 │ │ │ │ │ - vmul.f64 d6, d2, d6 │ │ │ │ │ - vstr d1, [sp, #552] @ 0x228 │ │ │ │ │ - vldr d2, [sp, #528] @ 0x210 │ │ │ │ │ + vmla.f64 d13, d2, d6 │ │ │ │ │ + vmul.f64 d6, d10, d6 │ │ │ │ │ vmov.f64 d5, d13 │ │ │ │ │ vmov.f64 d13, d6 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ - b.n f80 │ │ │ │ │ + vnmls.f64 d13, d2, d7 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + vadd.f64 d12, d1, d5 │ │ │ │ │ + vstr d5, [sp, #584] @ 0x248 │ │ │ │ │ + b.n fc8 │ │ │ │ │ nop │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ - vnmls.f64 d13, d3, d7 │ │ │ │ │ - vadd.f64 d12, d10, d5 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - vldr d10, [sp, #232] @ 0xe8 │ │ │ │ │ - vstr d5, [sp, #560] @ 0x230 │ │ │ │ │ - str r4, [sp, #232] @ 0xe8 │ │ │ │ │ - movs r4, #112 @ 0x70 │ │ │ │ │ + vmov.f64 d10, d13 │ │ │ │ │ + vadd.f64 d13, d0, d13 │ │ │ │ │ + vstr d10, [sp, #592] @ 0x250 │ │ │ │ │ + vldr d10, [sp, #240] @ 0xf0 │ │ │ │ │ + str r1, [sp, #240] @ 0xf0 │ │ │ │ │ + add r1, r3 │ │ │ │ │ + vldr d8, [sp, #64] @ 0x40 │ │ │ │ │ + str r1, [sp, #520] @ 0x208 │ │ │ │ │ + vldr d1, [sp, #232] @ 0xe8 │ │ │ │ │ + str r0, [sp, #232] @ 0xe8 │ │ │ │ │ + add r0, r3 │ │ │ │ │ vmul.f64 d5, d10, d7 │ │ │ │ │ - mul.w r4, r4, r9 │ │ │ │ │ - vstr d13, [sp, #568] @ 0x238 │ │ │ │ │ - vadd.f64 d13, d1, d13 │ │ │ │ │ - vldr d1, [sp, #224] @ 0xe0 │ │ │ │ │ - add.w fp, r7, r4 │ │ │ │ │ - str r0, [sp, #224] @ 0xe0 │ │ │ │ │ - vmla.f64 d5, d1, d6 │ │ │ │ │ - vmul.f64 d6, d10, d6 │ │ │ │ │ - vmov.f64 d10, d6 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - vnmls.f64 d10, d1, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ + str r0, [sp, #512] @ 0x200 │ │ │ │ │ vmov.f64 d3, d5 │ │ │ │ │ - vldr d1, [sp, #496] @ 0x1f0 │ │ │ │ │ - movs r2, #80 @ 0x50 │ │ │ │ │ - vmul.f64 d5, d2, d7 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - vstr d3, [sp, #576] @ 0x240 │ │ │ │ │ - adds r5, r7, r2 │ │ │ │ │ - add r2, r8 │ │ │ │ │ - vmov.f64 d4, d10 │ │ │ │ │ - vmov.f64 d10, d5 │ │ │ │ │ - vmla.f64 d10, d1, d6 │ │ │ │ │ - vmul.f64 d6, d2, d6 │ │ │ │ │ - vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ - adds r1, r5, r3 │ │ │ │ │ - str r1, [sp, #496] @ 0x1f0 │ │ │ │ │ - vstr d4, [sp, #584] @ 0x248 │ │ │ │ │ + vmla.f64 d3, d1, d6 │ │ │ │ │ + vmul.f64 d6, d10, d6 │ │ │ │ │ + vldr d10, [sp, #544] @ 0x220 │ │ │ │ │ vnmls.f64 d6, d1, d7 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - vldr d1, [sp, #536] @ 0x218 │ │ │ │ │ - str r2, [sp, #72] @ 0x48 │ │ │ │ │ - str r5, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d10, [sp, #592] @ 0x250 │ │ │ │ │ - vadd.f64 d10, d3, d10 │ │ │ │ │ - vstr d6, [sp, #600] @ 0x258 │ │ │ │ │ - vadd.f64 d6, d4, d6 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + add.w r1, r8, fp │ │ │ │ │ + vldr d1, [sp, #528] @ 0x210 │ │ │ │ │ + str r1, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d3, [sp, #600] @ 0x258 │ │ │ │ │ + vmul.f64 d5, d10, d7 │ │ │ │ │ + vmov.f64 d2, d6 │ │ │ │ │ vstr d6, [sp, #608] @ 0x260 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + add.w r0, r7, fp │ │ │ │ │ + mov.w fp, #464 @ 0x1d0 │ │ │ │ │ + vmov.f64 d0, d5 │ │ │ │ │ + mul.w fp, fp, r9 │ │ │ │ │ + vmla.f64 d0, d1, d6 │ │ │ │ │ + vmul.f64 d6, d10, d6 │ │ │ │ │ + vnmls.f64 d6, d1, d7 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + vldr d1, [sp, #552] @ 0x228 │ │ │ │ │ + vadd.f64 d10, d3, d0 │ │ │ │ │ + vstr d0, [sp, #616] @ 0x268 │ │ │ │ │ + vldr d0, [sp, #560] @ 0x230 │ │ │ │ │ + vadd.f64 d3, d2, d6 │ │ │ │ │ + vldr d2, [sp, #32] │ │ │ │ │ + str r0, [sp, #32] │ │ │ │ │ + add r0, r3 │ │ │ │ │ + vstr d6, [sp, #624] @ 0x270 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + add r1, r3 │ │ │ │ │ + str r0, [sp, #528] @ 0x210 │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ + str r1, [sp, #536] @ 0x218 │ │ │ │ │ + add.w r1, r7, fp │ │ │ │ │ + vstr d3, [sp, #632] @ 0x278 │ │ │ │ │ + str r1, [sp, #544] @ 0x220 │ │ │ │ │ vmul.f64 d3, d2, d6 │ │ │ │ │ + vmul.f64 d5, d1, d4 │ │ │ │ │ vmla.f64 d3, d8, d7 │ │ │ │ │ vmul.f64 d7, d2, d7 │ │ │ │ │ - vldr d2, [sp, #616] @ 0x268 │ │ │ │ │ vnmls.f64 d7, d8, d6 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - adds r1, r2, r3 │ │ │ │ │ - mov.w r2, #464 @ 0x1d0 │ │ │ │ │ - str r1, [sp, #504] @ 0x1f8 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - add.w r5, r8, r2 │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ - vmul.f64 d5, d1, d4 │ │ │ │ │ - movs r2, #208 @ 0xd0 │ │ │ │ │ - vmla.f64 d5, d2, d6 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + vmla.f64 d5, d0, d6 │ │ │ │ │ vmul.f64 d6, d1, d6 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - vnmls.f64 d6, d2, d4 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - add r2, r8 │ │ │ │ │ + vnmls.f64 d6, d0, d4 │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ + add.w r1, r8, fp │ │ │ │ │ + mov.w fp, #208 @ 0xd0 │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ + str r1, [sp, #552] @ 0x228 │ │ │ │ │ + mul.w fp, fp, r9 │ │ │ │ │ vadd.f64 d0, d3, d5 │ │ │ │ │ vsub.f64 d3, d3, d5 │ │ │ │ │ + add.w r0, r8, fp │ │ │ │ │ + add.w r1, r7, fp │ │ │ │ │ vadd.f64 d1, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vstr d1, [sp, #616] @ 0x268 │ │ │ │ │ - vldr d2, [r5] │ │ │ │ │ - vldr d8, [sp, #688] @ 0x2b0 │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ - vldr d5, [sp, #656] @ 0x290 │ │ │ │ │ + vstr d1, [sp, #640] @ 0x280 │ │ │ │ │ + vldr d8, [sp, #704] @ 0x2c0 │ │ │ │ │ + str r1, [sp, #560] @ 0x230 │ │ │ │ │ + vldr d5, [sp, #568] @ 0x238 │ │ │ │ │ + str r0, [sp, #568] @ 0x238 │ │ │ │ │ + vldr d1, [sp, #672] @ 0x2a0 │ │ │ │ │ vmul.f64 d6, d8, d2 │ │ │ │ │ - vldr d1, [sp, #648] @ 0x288 │ │ │ │ │ - str r2, [sp, #536] @ 0x218 │ │ │ │ │ vmla.f64 d6, d5, d4 │ │ │ │ │ vmul.f64 d4, d8, d4 │ │ │ │ │ - vldr d8, [sp, #632] @ 0x278 │ │ │ │ │ - str r0, [sp, #512] @ 0x200 │ │ │ │ │ - str r5, [sp, #520] @ 0x208 │ │ │ │ │ + vldr d8, [sp, #656] @ 0x290 │ │ │ │ │ vnmls.f64 d4, d5, d2 │ │ │ │ │ - vldr d2, [r2] │ │ │ │ │ + vldr d2, [r0] │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ - add.w r2, sp, #1200 @ 0x4b0 │ │ │ │ │ - str r1, [sp, #528] @ 0x210 │ │ │ │ │ + add.w r1, sp, #1200 @ 0x4b0 │ │ │ │ │ vmul.f64 d9, d8, d2 │ │ │ │ │ vmla.f64 d9, d1, d5 │ │ │ │ │ vmul.f64 d5, d8, d5 │ │ │ │ │ vnmls.f64 d5, d1, d2 │ │ │ │ │ vadd.f64 d1, d12, d10 │ │ │ │ │ vsub.f64 d12, d12, d10 │ │ │ │ │ vadd.f64 d2, d6, d9 │ │ │ │ │ - vstr d1, [r2] │ │ │ │ │ - add.w r2, sp, #1208 @ 0x4b8 │ │ │ │ │ vsub.f64 d6, d6, d9 │ │ │ │ │ + vldr d9, [sp, #640] @ 0x280 │ │ │ │ │ + vstr d1, [r1] │ │ │ │ │ + add.w r1, sp, #1208 @ 0x4b8 │ │ │ │ │ vadd.f64 d8, d4, d5 │ │ │ │ │ vsub.f64 d5, d4, d5 │ │ │ │ │ vadd.f64 d4, d0, d2 │ │ │ │ │ vsub.f64 d2, d2, d0 │ │ │ │ │ - vsub.f64 d9, d1, d4 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - vldr d1, [sp, #608] @ 0x260 │ │ │ │ │ - add.w r2, sp, #1216 @ 0x4c0 │ │ │ │ │ - vstr d9, [r2] │ │ │ │ │ - vadd.f64 d9, d13, d1 │ │ │ │ │ + vadd.f64 d9, d9, d8 │ │ │ │ │ + vsub.f64 d1, d1, d4 │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ + add.w r1, sp, #1216 @ 0x4c0 │ │ │ │ │ + vldr d4, [sp, #576] @ 0x240 │ │ │ │ │ + vstr d1, [r1] │ │ │ │ │ + add.w r1, sp, #1224 @ 0x4c8 │ │ │ │ │ + vldr d1, [sp, #632] @ 0x278 │ │ │ │ │ + vadd.f64 d1, d13, d1 │ │ │ │ │ + vstr d1, [r1] │ │ │ │ │ + add.w r1, sp, #1232 @ 0x4d0 │ │ │ │ │ + vsub.f64 d1, d1, d9 │ │ │ │ │ + vstr d9, [r1] │ │ │ │ │ + add.w r1, sp, #1240 @ 0x4d8 │ │ │ │ │ + vldr d9, [sp, #592] @ 0x250 │ │ │ │ │ + vstr d1, [r1] │ │ │ │ │ + add.w r1, sp, #1248 @ 0x4e0 │ │ │ │ │ vldr d1, [sp, #616] @ 0x268 │ │ │ │ │ - add.w r2, sp, #1224 @ 0x4c8 │ │ │ │ │ - vadd.f64 d4, d1, d8 │ │ │ │ │ - vstr d9, [r2] │ │ │ │ │ - add.w r2, sp, #1232 @ 0x4d0 │ │ │ │ │ - vsub.f64 d1, d9, d4 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - vldr d9, [sp, #568] @ 0x238 │ │ │ │ │ - add.w r2, sp, #1240 @ 0x4d8 │ │ │ │ │ - vldr d4, [sp, #552] @ 0x228 │ │ │ │ │ - vstr d1, [r2] │ │ │ │ │ - add.w r2, sp, #1248 @ 0x4e0 │ │ │ │ │ vsub.f64 d9, d4, d9 │ │ │ │ │ - vldr d1, [sp, #592] @ 0x250 │ │ │ │ │ - vldr d4, [sp, #576] @ 0x240 │ │ │ │ │ + vldr d4, [sp, #600] @ 0x258 │ │ │ │ │ vsub.f64 d4, d4, d1 │ │ │ │ │ vadd.f64 d1, d9, d4 │ │ │ │ │ - vstr d1, [r2] │ │ │ │ │ - vsub.f64 d1, d9, d4 │ │ │ │ │ - add.w r2, sp, #1256 @ 0x4e8 │ │ │ │ │ + vsub.f64 d9, d9, d4 │ │ │ │ │ vsub.f64 d4, d6, d5 │ │ │ │ │ - vldr d9, [pc, #-496] @ f78 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vstr d1, [r2] │ │ │ │ │ - add.w r2, sp, #1832 @ 0x728 │ │ │ │ │ - vldr d1, [sp, #616] @ 0x268 │ │ │ │ │ + vstr d1, [r1] │ │ │ │ │ + add.w r1, sp, #1256 @ 0x4e8 │ │ │ │ │ + vldr d1, [sp, #640] @ 0x280 │ │ │ │ │ + vstr d9, [r1] │ │ │ │ │ + add.w r1, sp, #1832 @ 0x728 │ │ │ │ │ + vldr d9, [pc, #-508] @ fc0 │ │ │ │ │ vsub.f64 d1, d1, d8 │ │ │ │ │ - vsub.f64 d8, d12, d1 │ │ │ │ │ + vsub.f64 d10, d12, d1 │ │ │ │ │ + vstr d10, [r1] │ │ │ │ │ vadd.f64 d10, d12, d1 │ │ │ │ │ vadd.f64 d1, d3, d7 │ │ │ │ │ + add.w r1, sp, #1840 @ 0x730 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ - add.w r2, sp, #1840 @ 0x730 │ │ │ │ │ vsub.f64 d8, d4, d1 │ │ │ │ │ + vstr d10, [r1] │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ + add.w r1, sp, #1264 @ 0x4f0 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d10, [r2] │ │ │ │ │ - add.w r2, sp, #1264 @ 0x4f0 │ │ │ │ │ - vmul.f64 d8, d8, d9 │ │ │ │ │ - vmul.f64 d10, d4, d9 │ │ │ │ │ - vmul.f64 d5, d5, d9 │ │ │ │ │ - vmul.f64 d6, d7, d9 │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ - add.w r2, sp, #1272 @ 0x4f8 │ │ │ │ │ - vstr d10, [r2] │ │ │ │ │ - add.w r2, sp, #1280 @ 0x500 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - add.w r2, sp, #1288 @ 0x508 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - add.w r2, sp, #1848 @ 0x738 │ │ │ │ │ - vldr d6, [sp, #608] @ 0x260 │ │ │ │ │ - vldr d10, [sp, #544] @ 0x220 │ │ │ │ │ - vldr d1, [sp, #624] @ 0x270 │ │ │ │ │ - vsub.f64 d13, d13, d6 │ │ │ │ │ - vsub.f64 d6, d13, d2 │ │ │ │ │ - vadd.f64 d2, d13, d2 │ │ │ │ │ - vldr d13, [sp, #560] @ 0x230 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - vsub.f64 d7, d10, d13 │ │ │ │ │ - vldr d6, [sp, #600] @ 0x258 │ │ │ │ │ - add.w r2, sp, #1856 @ 0x740 │ │ │ │ │ - vldr d10, [sp, #584] @ 0x248 │ │ │ │ │ - vldr d13, [sp, #664] @ 0x298 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - add.w r2, sp, #1296 @ 0x510 │ │ │ │ │ - vsub.f64 d6, d10, d6 │ │ │ │ │ - vldr d2, [sp, #680] @ 0x2a8 │ │ │ │ │ - vsub.f64 d10, d7, d6 │ │ │ │ │ - vadd.f64 d6, d7, d6 │ │ │ │ │ - vstr d10, [r2] │ │ │ │ │ - add.w r2, sp, #1304 @ 0x518 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - mov.w r2, #496 @ 0x1f0 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - add.w r5, r8, r2 │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ - movs r2, #240 @ 0xf0 │ │ │ │ │ - str r0, [sp, #544] @ 0x220 │ │ │ │ │ - str r5, [sp, #552] @ 0x228 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - add.w r0, fp, r3 │ │ │ │ │ - vmul.f64 d5, d2, d7 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - add r2, r8 │ │ │ │ │ - str r2, [sp, #568] @ 0x238 │ │ │ │ │ - str r1, [sp, #560] @ 0x230 │ │ │ │ │ - vmov.f64 d10, d5 │ │ │ │ │ - vmla.f64 d10, d13, d6 │ │ │ │ │ - vmul.f64 d6, d2, d6 │ │ │ │ │ - vldr d2, [sp, #640] @ 0x280 │ │ │ │ │ - vnmls.f64 d6, d13, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - add.w r2, r4, r8 │ │ │ │ │ - adds r5, r2, r3 │ │ │ │ │ - vmul.f64 d5, d1, d7 │ │ │ │ │ - vstr d10, [sp, #632] @ 0x278 │ │ │ │ │ - vmov.f64 d13, d6 │ │ │ │ │ + vmul.f64 d10, d8, d9 │ │ │ │ │ + vmul.f64 d8, d4, d9 │ │ │ │ │ + vmul.f64 d3, d5, d9 │ │ │ │ │ + vstr d10, [r1] │ │ │ │ │ + add.w r1, sp, #1272 @ 0x4f8 │ │ │ │ │ + vldr d10, [sp, #632] @ 0x278 │ │ │ │ │ + vstr d8, [r1] │ │ │ │ │ + add.w r1, sp, #1280 @ 0x500 │ │ │ │ │ + vstr d3, [r1] │ │ │ │ │ + vmul.f64 d3, d7, d9 │ │ │ │ │ + add.w r1, sp, #1288 @ 0x508 │ │ │ │ │ + vsub.f64 d13, d13, d10 │ │ │ │ │ + vstr d3, [r1] │ │ │ │ │ + add.w r1, sp, #1848 @ 0x738 │ │ │ │ │ + vsub.f64 d10, d13, d2 │ │ │ │ │ + vstr d10, [r1] │ │ │ │ │ + vadd.f64 d10, d13, d2 │ │ │ │ │ + add.w r1, sp, #1856 @ 0x740 │ │ │ │ │ + vstr d10, [r1] │ │ │ │ │ + add.w r1, sp, #1296 @ 0x510 │ │ │ │ │ + vldr d13, [sp] │ │ │ │ │ + vldr d5, [sp, #584] @ 0x248 │ │ │ │ │ + vldr d0, [sp, #688] @ 0x2b0 │ │ │ │ │ + vsub.f64 d7, d13, d5 │ │ │ │ │ + vldr d13, [sp, #608] @ 0x260 │ │ │ │ │ + vldr d5, [sp, #624] @ 0x270 │ │ │ │ │ + vsub.f64 d6, d13, d5 │ │ │ │ │ + vldr d13, [sp, #680] @ 0x2a8 │ │ │ │ │ + vsub.f64 d5, d7, d6 │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ + vadd.f64 d5, d7, d6 │ │ │ │ │ + add.w r1, sp, #1304 @ 0x518 │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ + ldr r1, [sp, #384] @ 0x180 │ │ │ │ │ + sub.w r0, r1, r9 │ │ │ │ │ + mov.w fp, r0, lsl #4 │ │ │ │ │ + str r0, [sp, #736] @ 0x2e0 │ │ │ │ │ + add.w r0, r8, fp │ │ │ │ │ + add.w r1, r7, fp │ │ │ │ │ + mov.w fp, ip, lsl #4 │ │ │ │ │ + mov.w ip, ip, lsl #3 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + str r1, [sp, #384] @ 0x180 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ - vmla.f64 d5, d2, d6 │ │ │ │ │ - vmul.f64 d6, d1, d6 │ │ │ │ │ - vldr d1, [sp, #264] @ 0x108 │ │ │ │ │ - vstr d13, [sp, #640] @ 0x280 │ │ │ │ │ - str r0, [sp, #264] @ 0x108 │ │ │ │ │ - vnmls.f64 d6, d2, d7 │ │ │ │ │ - vadd.f64 d12, d10, d5 │ │ │ │ │ - vstr d5, [sp, #648] @ 0x288 │ │ │ │ │ - vadd.f64 d7, d13, d6 │ │ │ │ │ - vstr d6, [sp, #656] @ 0x290 │ │ │ │ │ - vldr d13, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d6, [fp] │ │ │ │ │ - vstr d7, [sp, #664] @ 0x298 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - vmul.f64 d5, d1, d7 │ │ │ │ │ - vmov.f64 d10, d5 │ │ │ │ │ - vmla.f64 d10, d13, d6 │ │ │ │ │ - vmul.f64 d6, d1, d6 │ │ │ │ │ - vnmls.f64 d6, d13, d7 │ │ │ │ │ - vmov.f64 d2, d6 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - str r2, [sp, #216] @ 0xd8 │ │ │ │ │ - movs r2, #48 @ 0x30 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - vldr d13, [sp, #672] @ 0x2a0 │ │ │ │ │ - vldr d1, [sp, #696] @ 0x2b8 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - vldr d4, [sp, #24] │ │ │ │ │ + add.w r1, r7, fp │ │ │ │ │ + str r0, [sp, #576] @ 0x240 │ │ │ │ │ + add.w r0, r8, fp │ │ │ │ │ + mov.w fp, r4, lsl #4 │ │ │ │ │ + str r1, [sp, #584] @ 0x248 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + str r0, [sp, #592] @ 0x250 │ │ │ │ │ + vmul.f64 d5, d0, d7 │ │ │ │ │ + vmla.f64 d5, d13, d6 │ │ │ │ │ + vmul.f64 d6, d0, d6 │ │ │ │ │ + vldr d0, [sp, #664] @ 0x298 │ │ │ │ │ + vmov.f64 d10, d6 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + add.w r1, r8, fp │ │ │ │ │ + vnmls.f64 d10, d13, d7 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + vmov.f64 d1, d5 │ │ │ │ │ + vstr d5, [sp] │ │ │ │ │ + add.w r0, r7, fp │ │ │ │ │ + vldr d13, [sp, #648] @ 0x288 │ │ │ │ │ vmul.f64 d5, d13, d7 │ │ │ │ │ - add.w r0, r8, r2 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - vldr d0, [sp, #48] @ 0x30 │ │ │ │ │ - str r5, [sp, #576] @ 0x240 │ │ │ │ │ - adds r5, r0, r3 │ │ │ │ │ - adds r2, r1, r3 │ │ │ │ │ - vstr d2, [sp, #680] @ 0x2a8 │ │ │ │ │ - vmov.f64 d8, d5 │ │ │ │ │ - str r2, [sp, #584] @ 0x248 │ │ │ │ │ - vmla.f64 d8, d1, d6 │ │ │ │ │ + vstr d10, [sp, #664] @ 0x298 │ │ │ │ │ + vmla.f64 d5, d0, d6 │ │ │ │ │ vmul.f64 d6, d13, d6 │ │ │ │ │ - vldr d13, [sp, #728] @ 0x2d8 │ │ │ │ │ - str r1, [sp, #24] │ │ │ │ │ - str r5, [sp, #592] @ 0x250 │ │ │ │ │ - vnmls.f64 d6, d1, d7 │ │ │ │ │ + vmov.f64 d13, d6 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + vnmls.f64 d13, d0, d7 │ │ │ │ │ + vadd.f64 d12, d1, d5 │ │ │ │ │ + vstr d5, [sp, #672] @ 0x2a0 │ │ │ │ │ + vadd.f64 d7, d10, d13 │ │ │ │ │ + vldr d10, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d13, [sp, #680] @ 0x2a8 │ │ │ │ │ + vldr d13, [sp, #224] @ 0xe0 │ │ │ │ │ + str r0, [sp, #224] @ 0xe0 │ │ │ │ │ + add r0, r3 │ │ │ │ │ + str r0, [sp, #600] @ 0x258 │ │ │ │ │ + vstr d7, [sp, #688] @ 0x2b0 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - str r0, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d10, [sp, #672] @ 0x2a0 │ │ │ │ │ - vstr d8, [sp, #688] @ 0x2b0 │ │ │ │ │ - vadd.f64 d10, d10, d8 │ │ │ │ │ - vstr d6, [sp, #696] @ 0x2b8 │ │ │ │ │ - vadd.f64 d6, d2, d6 │ │ │ │ │ - vldr d2, [sp, #736] @ 0x2e0 │ │ │ │ │ - vstr d6, [sp, #704] @ 0x2c0 │ │ │ │ │ + vmul.f64 d5, d10, d7 │ │ │ │ │ + vmov.f64 d8, d5 │ │ │ │ │ + vmla.f64 d8, d13, d6 │ │ │ │ │ + vmul.f64 d6, d10, d6 │ │ │ │ │ + vmov.f64 d1, d6 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ + str r1, [sp, #264] @ 0x108 │ │ │ │ │ + add r1, r3 │ │ │ │ │ + vldr d4, [sp, #16] │ │ │ │ │ + str r1, [sp, #608] @ 0x260 │ │ │ │ │ + vnmls.f64 d1, d13, d7 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + vldr d10, [sp, #712] @ 0x2c8 │ │ │ │ │ + vldr d13, [sp, #696] @ 0x2b8 │ │ │ │ │ + vstr d8, [sp, #696] @ 0x2b8 │ │ │ │ │ + ldr r1, [sp, #24] │ │ │ │ │ + vldr d2, [sp, #760] @ 0x2f8 │ │ │ │ │ + vmul.f64 d5, d13, d7 │ │ │ │ │ + vstr d1, [sp, #704] @ 0x2c0 │ │ │ │ │ + mov.w fp, r1, lsl #4 │ │ │ │ │ + add.w r1, r8, fp │ │ │ │ │ + add.w r0, r7, fp │ │ │ │ │ + mov.w fp, #432 @ 0x1b0 │ │ │ │ │ + str r0, [sp, #16] │ │ │ │ │ + vmov.f64 d3, d5 │ │ │ │ │ + mul.w fp, fp, r9 │ │ │ │ │ + vmla.f64 d3, d10, d6 │ │ │ │ │ + vmul.f64 d6, d13, d6 │ │ │ │ │ + vldr d13, [sp, #864] @ 0x360 │ │ │ │ │ + vmov.f64 d0, d6 │ │ │ │ │ + vnmls.f64 d0, d10, d7 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + vadd.f64 d10, d8, d3 │ │ │ │ │ + vstr d3, [sp, #712] @ 0x2c8 │ │ │ │ │ + add r0, r3 │ │ │ │ │ + vldr d8, [sp, #768] @ 0x300 │ │ │ │ │ + str r0, [sp, #616] @ 0x268 │ │ │ │ │ + vadd.f64 d6, d1, d0 │ │ │ │ │ + vstr d0, [sp, #720] @ 0x2d0 │ │ │ │ │ + vldr d0, [sp, #40] @ 0x28 │ │ │ │ │ + str r1, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d6, [sp, #728] @ 0x2d8 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + add r1, r3 │ │ │ │ │ + str r1, [sp, #624] @ 0x270 │ │ │ │ │ vmul.f64 d3, d4, d6 │ │ │ │ │ vmla.f64 d3, d0, d7 │ │ │ │ │ vmul.f64 d7, d4, d7 │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ + add.w r1, r7, fp │ │ │ │ │ + str r1, [sp, #632] @ 0x278 │ │ │ │ │ vnmls.f64 d7, d0, d6 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - vmul.f64 d5, d13, d4 │ │ │ │ │ - mov.w r2, #432 @ 0x1b0 │ │ │ │ │ - vmla.f64 d5, d2, d6 │ │ │ │ │ - vmul.f64 d6, d13, d6 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - vldr d13, [sp, #760] @ 0x2f8 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - add r2, r8 │ │ │ │ │ - vnmls.f64 d6, d2, d4 │ │ │ │ │ - str r2, [sp, #608] @ 0x260 │ │ │ │ │ - str r1, [sp, #600] @ 0x258 │ │ │ │ │ - vldr d2, [r2] │ │ │ │ │ - movs r2, #176 @ 0xb0 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + add.w r0, r8, fp │ │ │ │ │ + vmul.f64 d5, d2, d4 │ │ │ │ │ + mov.w fp, #176 @ 0xb0 │ │ │ │ │ + str r0, [sp, #640] @ 0x280 │ │ │ │ │ + mul.w fp, fp, r9 │ │ │ │ │ + vmla.f64 d5, d8, d6 │ │ │ │ │ + vmul.f64 d6, d2, d6 │ │ │ │ │ + vldr d2, [r0] │ │ │ │ │ + add.w r0, r8, fp │ │ │ │ │ + str r0, [sp, #656] @ 0x290 │ │ │ │ │ + vnmls.f64 d6, d8, d4 │ │ │ │ │ vldr d4, [r1] │ │ │ │ │ + add.w r1, sp, #1312 @ 0x520 │ │ │ │ │ vadd.f64 d0, d3, d5 │ │ │ │ │ vsub.f64 d3, d3, d5 │ │ │ │ │ - vldr d5, [sp, #848] @ 0x350 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + add.w r1, r7, fp │ │ │ │ │ + str r1, [sp, #648] @ 0x288 │ │ │ │ │ vadd.f64 d1, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vmul.f64 d6, d13, d2 │ │ │ │ │ - add.w r5, r8, r2 │ │ │ │ │ vmla.f64 d6, d5, d4 │ │ │ │ │ vmul.f64 d4, d13, d4 │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ - vldr d13, [sp, #256] @ 0x100 │ │ │ │ │ - str r0, [sp, #616] @ 0x268 │ │ │ │ │ - add.w r2, sp, #1312 @ 0x520 │ │ │ │ │ - str r5, [sp, #624] @ 0x270 │ │ │ │ │ vnmls.f64 d4, d5, d2 │ │ │ │ │ - vldr d2, [r5] │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ + vldr d2, [r0] │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + add.w r1, sp, #1312 @ 0x520 │ │ │ │ │ + vldr d13, [sp, #216] @ 0xd8 │ │ │ │ │ vldr d8, [sp, #208] @ 0xd0 │ │ │ │ │ vmul.f64 d9, d13, d2 │ │ │ │ │ vmla.f64 d9, d8, d5 │ │ │ │ │ vmul.f64 d5, d13, d5 │ │ │ │ │ vadd.f64 d13, d12, d10 │ │ │ │ │ vsub.f64 d12, d12, d10 │ │ │ │ │ vnmls.f64 d5, d8, d2 │ │ │ │ │ - vstr d13, [r2] │ │ │ │ │ - add.w r2, sp, #1320 @ 0x528 │ │ │ │ │ + vstr d13, [r1] │ │ │ │ │ + add.w r1, sp, #1320 @ 0x528 │ │ │ │ │ vadd.f64 d2, d6, d9 │ │ │ │ │ vsub.f64 d6, d6, d9 │ │ │ │ │ - vadd.f64 d9, d0, d2 │ │ │ │ │ vadd.f64 d8, d4, d5 │ │ │ │ │ vsub.f64 d5, d4, d5 │ │ │ │ │ + vadd.f64 d9, d0, d2 │ │ │ │ │ vsub.f64 d2, d2, d0 │ │ │ │ │ + vldr d0, [sp, #720] @ 0x2d0 │ │ │ │ │ vsub.f64 d13, d13, d9 │ │ │ │ │ - vstr d9, [r2] │ │ │ │ │ - add.w r2, sp, #1328 @ 0x530 │ │ │ │ │ - vldr d9, [sp, #664] @ 0x298 │ │ │ │ │ - vstr d13, [r2] │ │ │ │ │ - add.w r2, sp, #1336 @ 0x538 │ │ │ │ │ - vldr d13, [sp, #704] @ 0x2c0 │ │ │ │ │ + vstr d9, [r1] │ │ │ │ │ + add.w r1, sp, #1328 @ 0x530 │ │ │ │ │ + vldr d9, [sp, #688] @ 0x2b0 │ │ │ │ │ + vstr d13, [r1] │ │ │ │ │ + add.w r1, sp, #1336 @ 0x538 │ │ │ │ │ + vldr d13, [sp, #728] @ 0x2d8 │ │ │ │ │ vadd.f64 d4, d9, d13 │ │ │ │ │ vadd.f64 d13, d1, d8 │ │ │ │ │ vsub.f64 d1, d1, d8 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - add.w r2, sp, #1344 @ 0x540 │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ + add.w r1, sp, #1344 @ 0x540 │ │ │ │ │ vsub.f64 d9, d4, d13 │ │ │ │ │ - vldr d4, [sp, #656] @ 0x290 │ │ │ │ │ + vldr d4, [sp, #680] @ 0x2a8 │ │ │ │ │ vsub.f64 d8, d12, d1 │ │ │ │ │ - vadd.f64 d12, d12, d1 │ │ │ │ │ - vstr d13, [r2] │ │ │ │ │ - add.w r2, sp, #1352 @ 0x548 │ │ │ │ │ - vldr d13, [sp, #640] @ 0x280 │ │ │ │ │ - vadd.f64 d1, d3, d7 │ │ │ │ │ - vsub.f64 d7, d7, d3 │ │ │ │ │ - vstr d9, [r2] │ │ │ │ │ - add.w r2, sp, #1360 @ 0x550 │ │ │ │ │ + vstr d13, [r1] │ │ │ │ │ + add.w r1, sp, #1352 @ 0x548 │ │ │ │ │ + vldr d13, [sp, #664] @ 0x298 │ │ │ │ │ + vstr d9, [r1] │ │ │ │ │ + add.w r1, sp, #1360 @ 0x550 │ │ │ │ │ vsub.f64 d9, d13, d4 │ │ │ │ │ - vldr d13, [sp, #672] @ 0x2a0 │ │ │ │ │ - vldr d4, [sp, #688] @ 0x2b0 │ │ │ │ │ + vldr d13, [sp, #696] @ 0x2b8 │ │ │ │ │ + vldr d4, [sp, #712] @ 0x2c8 │ │ │ │ │ vsub.f64 d4, d13, d4 │ │ │ │ │ vadd.f64 d13, d9, d4 │ │ │ │ │ - vstr d13, [r2] │ │ │ │ │ + vstr d13, [r1] │ │ │ │ │ vsub.f64 d13, d9, d4 │ │ │ │ │ - add.w r2, sp, #1368 @ 0x558 │ │ │ │ │ + add.w r1, sp, #1368 @ 0x558 │ │ │ │ │ vsub.f64 d4, d6, d5 │ │ │ │ │ - vldr d9, [pc, #972] @ 1868 │ │ │ │ │ + vldr d9, [pc, #972] @ 18d0 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vstr d13, [r2] │ │ │ │ │ - add.w r2, sp, #1864 @ 0x748 │ │ │ │ │ - vldr d13, [sp, #704] @ 0x2c0 │ │ │ │ │ - vsub.f64 d5, d7, d6 │ │ │ │ │ - vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ + vstr d13, [r1] │ │ │ │ │ + add.w r1, sp, #1864 @ 0x748 │ │ │ │ │ + vstr d8, [r1] │ │ │ │ │ + vadd.f64 d8, d12, d1 │ │ │ │ │ + vadd.f64 d1, d3, d7 │ │ │ │ │ + add.w r1, sp, #1872 @ 0x750 │ │ │ │ │ + vsub.f64 d7, d7, d3 │ │ │ │ │ + vstr d8, [r1] │ │ │ │ │ vsub.f64 d8, d4, d1 │ │ │ │ │ - add.w r2, sp, #1872 @ 0x750 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ - vldr d1, [sp, #696] @ 0x2b8 │ │ │ │ │ - vmul.f64 d3, d5, d9 │ │ │ │ │ + vsub.f64 d5, d7, d6 │ │ │ │ │ + add.w r1, sp, #1376 @ 0x560 │ │ │ │ │ + vadd.f64 d7, d7, d6 │ │ │ │ │ + vmul.f64 d10, d8, d9 │ │ │ │ │ + vmul.f64 d12, d5, d9 │ │ │ │ │ vmul.f64 d7, d7, d9 │ │ │ │ │ - vstr d12, [r2] │ │ │ │ │ - vmul.f64 d12, d8, d9 │ │ │ │ │ - add.w r2, sp, #1376 @ 0x560 │ │ │ │ │ - vmul.f64 d8, d4, d9 │ │ │ │ │ - vstr d12, [r2] │ │ │ │ │ - add.w r2, sp, #1384 @ 0x568 │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ - add.w r2, sp, #1392 @ 0x570 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - add.w r2, sp, #1400 @ 0x578 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - add.w r2, sp, #1880 @ 0x758 │ │ │ │ │ - vldr d7, [sp, #664] @ 0x298 │ │ │ │ │ - vsub.f64 d13, d7, d13 │ │ │ │ │ - vsub.f64 d6, d13, d2 │ │ │ │ │ + vldr d5, [sp, #672] @ 0x2a0 │ │ │ │ │ + vstr d10, [r1] │ │ │ │ │ + vmul.f64 d10, d4, d9 │ │ │ │ │ + add.w r1, sp, #1384 @ 0x568 │ │ │ │ │ + vstr d10, [r1] │ │ │ │ │ + add.w r1, sp, #1392 @ 0x570 │ │ │ │ │ + vstr d12, [r1] │ │ │ │ │ + add.w r1, sp, #1400 @ 0x578 │ │ │ │ │ + vldr d12, [sp, #728] @ 0x2d8 │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ + add.w r1, sp, #1880 @ 0x758 │ │ │ │ │ + vldr d7, [sp, #688] @ 0x2b0 │ │ │ │ │ + vsub.f64 d13, d7, d12 │ │ │ │ │ + vsub.f64 d12, d13, d2 │ │ │ │ │ vadd.f64 d2, d13, d2 │ │ │ │ │ - vldr d13, [sp, #632] @ 0x278 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - add.w r2, sp, #1888 @ 0x760 │ │ │ │ │ - vldr d6, [sp, #648] @ 0x288 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - add.w r2, sp, #1408 @ 0x580 │ │ │ │ │ - vsub.f64 d7, d13, d6 │ │ │ │ │ - vldr d13, [sp, #680] @ 0x2a8 │ │ │ │ │ - vsub.f64 d6, d13, d1 │ │ │ │ │ - vsub.f64 d2, d7, d6 │ │ │ │ │ - vadd.f64 d6, d7, d6 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - add.w r2, sp, #1416 @ 0x588 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - mov.w r2, #504 @ 0x1f8 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - add r2, r8 │ │ │ │ │ + vldr d13, [sp] │ │ │ │ │ + vsub.f64 d7, d13, d5 │ │ │ │ │ + vldr d13, [sp, #704] @ 0x2c0 │ │ │ │ │ + vstr d12, [r1] │ │ │ │ │ + add.w r1, sp, #1888 @ 0x760 │ │ │ │ │ + vstr d2, [r1] │ │ │ │ │ + add.w r1, sp, #1408 @ 0x580 │ │ │ │ │ + vsub.f64 d6, d13, d0 │ │ │ │ │ + vsub.f64 d0, d7, d6 │ │ │ │ │ + vadd.f64 d5, d7, d6 │ │ │ │ │ + vstr d0, [r1] │ │ │ │ │ + add.w r1, sp, #1416 @ 0x588 │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ + ldr r1, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d12, [sp, #192] @ 0xc0 │ │ │ │ │ + vldr d8, [sp, #752] @ 0x2f0 │ │ │ │ │ + sub.w r0, r1, r9 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ + add.w r1, r7, r0 │ │ │ │ │ + add r0, r8 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ str r1, [sp, #208] @ 0xd0 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - str r2, [sp, #256] @ 0x100 │ │ │ │ │ - movs r2, #248 @ 0xf8 │ │ │ │ │ - vldr d8, [sp, #720] @ 0x2d0 │ │ │ │ │ + str r0, [sp, #216] @ 0xd8 │ │ │ │ │ + ldr r1, [sp, #736] @ 0x2e0 │ │ │ │ │ vmul.f64 d5, d11, d7 │ │ │ │ │ - vldr d10, [sp, #712] @ 0x2c8 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - vldr d0, [sp, #104] @ 0x68 │ │ │ │ │ - add.w r4, r8, r2 │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + add.w r0, r7, r1 │ │ │ │ │ + add r1, r8 │ │ │ │ │ vmov.f64 d13, d5 │ │ │ │ │ - movs r2, #120 @ 0x78 │ │ │ │ │ + str r0, [sp, #320] @ 0x140 │ │ │ │ │ + str r1, [sp, #664] @ 0x298 │ │ │ │ │ vmla.f64 d13, d14, d6 │ │ │ │ │ vmul.f64 d6, d11, d6 │ │ │ │ │ - str r0, [sp, #632] @ 0x278 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - str r4, [sp, #640] @ 0x280 │ │ │ │ │ vmov.f64 d11, d6 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ - adds r5, r7, r2 │ │ │ │ │ - add r2, r8 │ │ │ │ │ - adds r0, r2, r3 │ │ │ │ │ - adds r1, r5, r3 │ │ │ │ │ - str r0, [sp, #656] @ 0x290 │ │ │ │ │ + add.w r0, r7, ip │ │ │ │ │ + add ip, r8 │ │ │ │ │ vnmls.f64 d11, d14, d7 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - vstr d13, [sp, #712] @ 0x2c8 │ │ │ │ │ - str r1, [sp, #648] @ 0x288 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + add.w r1, r0, r3 │ │ │ │ │ + vstr d13, [sp] │ │ │ │ │ + str r1, [sp, #192] @ 0xc0 │ │ │ │ │ vmul.f64 d5, d8, d7 │ │ │ │ │ vmov.f64 d14, d11 │ │ │ │ │ + vstr d11, [sp, #728] @ 0x2d8 │ │ │ │ │ vmov.f64 d11, d5 │ │ │ │ │ - vmla.f64 d11, d10, d6 │ │ │ │ │ + vldr d5, [sp, #744] @ 0x2e8 │ │ │ │ │ + vmla.f64 d11, d5, d6 │ │ │ │ │ vmul.f64 d6, d8, d6 │ │ │ │ │ - vldr d8, [sp, #168] @ 0xa8 │ │ │ │ │ - str r5, [sp, #168] @ 0xa8 │ │ │ │ │ - vstr d14, [sp, #720] @ 0x2d0 │ │ │ │ │ - vmov.f64 d1, d11 │ │ │ │ │ + vmov.f64 d10, d11 │ │ │ │ │ vmov.f64 d11, d6 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - vnmls.f64 d11, d10, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - vldr d10, [sp, #192] @ 0xc0 │ │ │ │ │ - vadd.f64 d13, d13, d1 │ │ │ │ │ - vstr d1, [sp, #728] @ 0x2d8 │ │ │ │ │ - str r2, [sp, #192] @ 0xc0 │ │ │ │ │ - movs r2, #56 @ 0x38 │ │ │ │ │ - vmul.f64 d5, d10, d7 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - vstr d11, [sp, #736] @ 0x2e0 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + vnmls.f64 d11, d5, d7 │ │ │ │ │ + vadd.f64 d7, d13, d10 │ │ │ │ │ + vstr d10, [sp, #736] @ 0x2e0 │ │ │ │ │ + vstr d7, [sp, #752] @ 0x2f0 │ │ │ │ │ + vldr d7, [ip] │ │ │ │ │ + vmov.f64 d5, d11 │ │ │ │ │ vadd.f64 d11, d14, d11 │ │ │ │ │ - vmov.f64 d14, d5 │ │ │ │ │ - vmla.f64 d14, d8, d6 │ │ │ │ │ - vmul.f64 d6, d10, d6 │ │ │ │ │ - vmov.f64 d10, d6 │ │ │ │ │ - vldr d6, [sp, #744] @ 0x2e8 │ │ │ │ │ - vnmls.f64 d10, d8, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - vmov.f64 d1, d14 │ │ │ │ │ + vldr d14, [sp, #168] @ 0xa8 │ │ │ │ │ + str r0, [sp, #168] @ 0xa8 │ │ │ │ │ + add.w r0, r4, r8 │ │ │ │ │ + vstr d5, [sp, #744] @ 0x2e8 │ │ │ │ │ + vmul.f64 d5, d12, d7 │ │ │ │ │ + vmla.f64 d5, d14, d6 │ │ │ │ │ + vmul.f64 d6, d12, d6 │ │ │ │ │ + vldr d12, [sp, #776] @ 0x308 │ │ │ │ │ + vmov.f64 d0, d6 │ │ │ │ │ + vnmls.f64 d0, d14, d7 │ │ │ │ │ vldr d14, [r1] │ │ │ │ │ - add.w r0, r8, r2 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - vmul.f64 d5, d6, d7 │ │ │ │ │ - adds r4, r0, r3 │ │ │ │ │ - adds r5, r1, r3 │ │ │ │ │ - mov.w r2, #440 @ 0x1b8 │ │ │ │ │ - vstr d1, [sp, #744] @ 0x2e8 │ │ │ │ │ + add.w r1, ip, r3 │ │ │ │ │ vmov.f64 d8, d5 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - vmov.f64 d4, d10 │ │ │ │ │ - vldr d10, [sp, #752] @ 0x2f0 │ │ │ │ │ - vmla.f64 d8, d10, d14 │ │ │ │ │ - vmul.f64 d14, d6, d14 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - vstr d4, [sp, #752] @ 0x2f0 │ │ │ │ │ - vnmls.f64 d14, d10, d7 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - vadd.f64 d12, d1, d8 │ │ │ │ │ - vstr d8, [sp, #760] @ 0x2f8 │ │ │ │ │ - vldr d8, [sp, #112] @ 0x70 │ │ │ │ │ - str r1, [sp, #104] @ 0x68 │ │ │ │ │ + str r1, [sp, #672] @ 0x2a0 │ │ │ │ │ + add.w r1, r7, r4 │ │ │ │ │ + vstr d5, [sp, #760] @ 0x2f8 │ │ │ │ │ + add.w r4, r1, r3 │ │ │ │ │ + vmul.f64 d5, d12, d7 │ │ │ │ │ + vstr d0, [sp, #768] @ 0x300 │ │ │ │ │ + vmov.f64 d10, d5 │ │ │ │ │ + vldr d5, [sp, #832] @ 0x340 │ │ │ │ │ + vmla.f64 d10, d5, d14 │ │ │ │ │ + vmul.f64 d14, d12, d14 │ │ │ │ │ + vnmls.f64 d14, d5, d7 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + vstr d10, [sp, #776] @ 0x308 │ │ │ │ │ + vadd.f64 d12, d8, d10 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + str r4, [sp, #680] @ 0x2a8 │ │ │ │ │ + vldr d10, [sp, #112] @ 0x70 │ │ │ │ │ + str r1, [sp, #112] @ 0x70 │ │ │ │ │ + mov.w r1, #440 @ 0x1b8 │ │ │ │ │ + vldr d3, [sp, #120] @ 0x78 │ │ │ │ │ + vadd.f64 d0, d0, d14 │ │ │ │ │ + mul.w r1, r1, r9 │ │ │ │ │ + str r0, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + add.w r4, r0, r3 │ │ │ │ │ + add.w r0, r7, sl │ │ │ │ │ + add sl, r8 │ │ │ │ │ + vldr d13, [sp, #800] @ 0x320 │ │ │ │ │ + str r4, [sp, #688] @ 0x2b0 │ │ │ │ │ + vmul.f64 d5, d3, d6 │ │ │ │ │ + vldr d1, [sp, #840] @ 0x348 │ │ │ │ │ + vldr d2, [sp, #848] @ 0x350 │ │ │ │ │ + vmla.f64 d5, d10, d7 │ │ │ │ │ + vmul.f64 d7, d3, d7 │ │ │ │ │ vldr d3, [r4] │ │ │ │ │ - vmul.f64 d5, d8, d6 │ │ │ │ │ - vldr d2, [sp, #792] @ 0x318 │ │ │ │ │ - vmla.f64 d5, d0, d7 │ │ │ │ │ - vmul.f64 d7, d8, d7 │ │ │ │ │ - vadd.f64 d10, d4, d14 │ │ │ │ │ - vldr d8, [sp, #768] @ 0x300 │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ - str r5, [sp, #664] @ 0x298 │ │ │ │ │ - adds r5, r7, r2 │ │ │ │ │ - vnmls.f64 d7, d0, d6 │ │ │ │ │ - vmul.f64 d6, d2, d3 │ │ │ │ │ - vmla.f64 d6, d8, d4 │ │ │ │ │ - vmul.f64 d4, d2, d4 │ │ │ │ │ - add r2, r8 │ │ │ │ │ - vldr d0, [sp, #840] @ 0x348 │ │ │ │ │ - str r2, [sp, #688] @ 0x2b0 │ │ │ │ │ - vldr d1, [sp, #816] @ 0x330 │ │ │ │ │ - vnmls.f64 d4, d8, d3 │ │ │ │ │ - vldr d3, [r2] │ │ │ │ │ - movs r2, #184 @ 0xb8 │ │ │ │ │ - str r4, [sp, #672] @ 0x2a0 │ │ │ │ │ - str r0, [sp, #112] @ 0x70 │ │ │ │ │ - str r5, [sp, #680] @ 0x2a8 │ │ │ │ │ + add.w r4, r7, r1 │ │ │ │ │ + str r4, [sp, #696] @ 0x2b8 │ │ │ │ │ + vnmls.f64 d7, d10, d6 │ │ │ │ │ + vldr d10, [sp, #808] @ 0x328 │ │ │ │ │ + vmul.f64 d6, d10, d3 │ │ │ │ │ + vmla.f64 d6, d13, d4 │ │ │ │ │ + vmul.f64 d4, d10, d4 │ │ │ │ │ + vnmls.f64 d4, d13, d3 │ │ │ │ │ + vldr d13, [sp, #792] @ 0x318 │ │ │ │ │ vadd.f64 d8, d5, d6 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - adds r4, r7, r2 │ │ │ │ │ - add r2, r8 │ │ │ │ │ - str r2, [sp, #704] @ 0x2c0 │ │ │ │ │ - vadd.f64 d2, d7, d4 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + add.w r4, r8, r1 │ │ │ │ │ + mov.w r1, #184 @ 0xb8 │ │ │ │ │ + vldr d3, [r4] │ │ │ │ │ + mul.w r1, r1, r9 │ │ │ │ │ + str r4, [sp, #704] @ 0x2c0 │ │ │ │ │ + vadd.f64 d10, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vmul.f64 d4, d0, d3 │ │ │ │ │ - vstr d8, [sp, #768] @ 0x300 │ │ │ │ │ + add.w r4, r7, r1 │ │ │ │ │ + str r4, [sp, #712] @ 0x2c8 │ │ │ │ │ + vmul.f64 d4, d2, d3 │ │ │ │ │ vmla.f64 d4, d1, d6 │ │ │ │ │ - vmul.f64 d6, d0, d6 │ │ │ │ │ - vldr d8, [sp, #784] @ 0x310 │ │ │ │ │ - vldr d0, [sp, #776] @ 0x308 │ │ │ │ │ - str r4, [sp, #696] @ 0x2b8 │ │ │ │ │ + vmul.f64 d6, d2, d6 │ │ │ │ │ vnmls.f64 d6, d1, d3 │ │ │ │ │ - vldr d1, [r2] │ │ │ │ │ vldr d3, [r4] │ │ │ │ │ - add.w r2, sp, #1424 @ 0x590 │ │ │ │ │ - vmul.f64 d9, d8, d1 │ │ │ │ │ - vmla.f64 d9, d0, d3 │ │ │ │ │ - vmul.f64 d3, d8, d3 │ │ │ │ │ - vldr d8, [sp, #768] @ 0x300 │ │ │ │ │ - vnmls.f64 d3, d0, d1 │ │ │ │ │ - vadd.f64 d1, d4, d9 │ │ │ │ │ + add.w r4, r8, r1 │ │ │ │ │ + add.w r1, sp, #1424 @ 0x590 │ │ │ │ │ + vldr d2, [r4] │ │ │ │ │ + str r4, [sp, #720] @ 0x2d0 │ │ │ │ │ + add.w r4, r0, r3 │ │ │ │ │ + vldr d1, [sp, #784] @ 0x310 │ │ │ │ │ + vmul.f64 d9, d13, d2 │ │ │ │ │ + vmla.f64 d9, d1, d3 │ │ │ │ │ + vmul.f64 d3, d13, d3 │ │ │ │ │ + vnmls.f64 d3, d1, d2 │ │ │ │ │ + vadd.f64 d2, d4, d9 │ │ │ │ │ vsub.f64 d4, d4, d9 │ │ │ │ │ - vadd.f64 d9, d13, d12 │ │ │ │ │ - vsub.f64 d13, d13, d12 │ │ │ │ │ - vadd.f64 d0, d6, d3 │ │ │ │ │ + vadd.f64 d1, d6, d3 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ - vadd.f64 d3, d8, d1 │ │ │ │ │ - vadd.f64 d8, d9, d3 │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ - vsub.f64 d8, d9, d3 │ │ │ │ │ - add.w r2, sp, #1432 @ 0x598 │ │ │ │ │ - vsub.f64 d3, d11, d10 │ │ │ │ │ - vadd.f64 d11, d11, d10 │ │ │ │ │ - vldr d9, [pc, #272] @ 1868 │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ - add.w r2, sp, #1896 @ 0x768 │ │ │ │ │ - vldr d8, [sp, #768] @ 0x300 │ │ │ │ │ - vsub.f64 d1, d1, d8 │ │ │ │ │ - vsub.f64 d8, d3, d1 │ │ │ │ │ - vadd.f64 d3, d3, d1 │ │ │ │ │ - vadd.f64 d1, d4, d6 │ │ │ │ │ + vldr d3, [sp, #752] @ 0x2f0 │ │ │ │ │ + vadd.f64 d9, d3, d12 │ │ │ │ │ + vadd.f64 d3, d8, d2 │ │ │ │ │ + vsub.f64 d2, d2, d8 │ │ │ │ │ + vadd.f64 d13, d9, d3 │ │ │ │ │ + vsub.f64 d3, d9, d3 │ │ │ │ │ + vstr d13, [r1] │ │ │ │ │ + add.w r1, sp, #1432 @ 0x598 │ │ │ │ │ + vstr d3, [r1] │ │ │ │ │ + vsub.f64 d3, d11, d0 │ │ │ │ │ + add.w r1, sp, #1896 @ 0x768 │ │ │ │ │ + vadd.f64 d11, d11, d0 │ │ │ │ │ + vsub.f64 d8, d3, d2 │ │ │ │ │ + vadd.f64 d3, d3, d2 │ │ │ │ │ + vadd.f64 d2, d4, d6 │ │ │ │ │ vsub.f64 d6, d4, d6 │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ - add.w r2, sp, #1904 @ 0x770 │ │ │ │ │ - vldr d8, [sp, #728] @ 0x2d8 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - vadd.f64 d3, d2, d0 │ │ │ │ │ - add.w r2, sp, #1440 @ 0x5a0 │ │ │ │ │ - vsub.f64 d2, d2, d0 │ │ │ │ │ - vsub.f64 d10, d11, d3 │ │ │ │ │ + vstr d8, [r1] │ │ │ │ │ + add.w r1, sp, #1904 @ 0x770 │ │ │ │ │ + vldr d8, [pc, #212] @ 18d0 │ │ │ │ │ + vstr d3, [r1] │ │ │ │ │ + vadd.f64 d3, d10, d1 │ │ │ │ │ + add.w r1, sp, #1440 @ 0x5a0 │ │ │ │ │ + vsub.f64 d10, d10, d1 │ │ │ │ │ + vsub.f64 d0, d11, d3 │ │ │ │ │ vadd.f64 d11, d11, d3 │ │ │ │ │ - vadd.f64 d0, d13, d2 │ │ │ │ │ - vstr d10, [r2] │ │ │ │ │ - add.w r2, sp, #1448 @ 0x5a8 │ │ │ │ │ - vstr d11, [r2] │ │ │ │ │ - add.w r2, sp, #1456 @ 0x5b0 │ │ │ │ │ - vldr d11, [sp, #712] @ 0x2c8 │ │ │ │ │ - vsub.f64 d3, d11, d8 │ │ │ │ │ - vldr d11, [sp, #752] @ 0x2f0 │ │ │ │ │ + vldr d3, [sp, #736] @ 0x2e0 │ │ │ │ │ + vstr d0, [r1] │ │ │ │ │ + add.w r1, sp, #1448 @ 0x5a8 │ │ │ │ │ + vstr d11, [r1] │ │ │ │ │ + add.w r1, sp, #1456 @ 0x5b0 │ │ │ │ │ + vldr d11, [sp] │ │ │ │ │ + vsub.f64 d3, d11, d3 │ │ │ │ │ + vldr d11, [sp, #768] @ 0x300 │ │ │ │ │ + str r4, [sp, #736] @ 0x2e0 │ │ │ │ │ vsub.f64 d14, d11, d14 │ │ │ │ │ vsub.f64 d11, d3, d14 │ │ │ │ │ - vstr d11, [r2] │ │ │ │ │ - vadd.f64 d11, d3, d14 │ │ │ │ │ + vadd.f64 d14, d3, d14 │ │ │ │ │ vsub.f64 d3, d7, d5 │ │ │ │ │ - add.w r2, sp, #1464 @ 0x5b8 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vstr d11, [r2] │ │ │ │ │ - add.w r2, sp, #1472 @ 0x5c0 │ │ │ │ │ - vsub.f64 d8, d3, d1 │ │ │ │ │ - vadd.f64 d3, d3, d1 │ │ │ │ │ + vstr d11, [r1] │ │ │ │ │ + add.w r1, sp, #1464 @ 0x5b8 │ │ │ │ │ + vsub.f64 d0, d3, d2 │ │ │ │ │ + vadd.f64 d3, d3, d2 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ + vmov.f64 d2, d8 │ │ │ │ │ + vstr d14, [r1] │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d14, [sp, #808] @ 0x328 │ │ │ │ │ - vmul.f64 d11, d8, d9 │ │ │ │ │ - vldr d8, [sp, #800] @ 0x320 │ │ │ │ │ - vmul.f64 d7, d6, d9 │ │ │ │ │ - vstr d11, [r2] │ │ │ │ │ - vmul.f64 d11, d3, d9 │ │ │ │ │ - add.w r2, sp, #1480 @ 0x5c8 │ │ │ │ │ - vstr d11, [r2] │ │ │ │ │ - vmul.f64 d11, d5, d9 │ │ │ │ │ - add.w r2, sp, #1488 @ 0x5d0 │ │ │ │ │ - vstr d11, [r2] │ │ │ │ │ - add.w r2, sp, #1496 @ 0x5d8 │ │ │ │ │ - vldr d11, [sp, #720] @ 0x2d0 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - vsub.f64 d7, d13, d2 │ │ │ │ │ - add.w r2, sp, #1912 @ 0x778 │ │ │ │ │ - vldr d13, [sp, #736] @ 0x2e0 │ │ │ │ │ - vldr d2, [r6, #-152] @ 0xffffff68 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ + add.w r1, sp, #1472 @ 0x5c0 │ │ │ │ │ + vmul.f64 d11, d0, d8 │ │ │ │ │ + vmul.f64 d14, d3, d2 │ │ │ │ │ + vmul.f64 d7, d6, d8 │ │ │ │ │ + vldr d8, [sp, #824] @ 0x338 │ │ │ │ │ + vstr d11, [r1] │ │ │ │ │ + vmul.f64 d11, d5, d2 │ │ │ │ │ + add.w r1, sp, #1480 @ 0x5c8 │ │ │ │ │ + vstr d14, [r1] │ │ │ │ │ + add.w r1, sp, #1488 @ 0x5d0 │ │ │ │ │ + vstr d11, [r1] │ │ │ │ │ + add.w r1, sp, #1496 @ 0x5d8 │ │ │ │ │ + vldr d11, [sp, #728] @ 0x2d8 │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ + add.w r1, sp, #1912 @ 0x778 │ │ │ │ │ + vldr d7, [sp, #752] @ 0x2f0 │ │ │ │ │ + str r0, [sp, #728] @ 0x2d8 │ │ │ │ │ + vsub.f64 d13, d7, d12 │ │ │ │ │ + vsub.f64 d7, d13, d10 │ │ │ │ │ + vadd.f64 d14, d13, d10 │ │ │ │ │ + vldr d13, [sp, #744] @ 0x2e8 │ │ │ │ │ + vldr d10, [sp, #816] @ 0x330 │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ vsub.f64 d7, d11, d13 │ │ │ │ │ - vldr d11, [sp, #744] @ 0x2e8 │ │ │ │ │ - add.w r2, sp, #1920 @ 0x780 │ │ │ │ │ - vldr d13, [sp, #760] @ 0x2f8 │ │ │ │ │ - vstr d0, [r2] │ │ │ │ │ - add.w r2, sp, #1504 @ 0x5e0 │ │ │ │ │ - vsub.f64 d6, d11, d13 │ │ │ │ │ - vadd.f64 d11, d7, d6 │ │ │ │ │ - vstr d11, [r2] │ │ │ │ │ - vsub.f64 d11, d7, d6 │ │ │ │ │ - b.n 1878 │ │ │ │ │ + add.w r1, sp, #1920 @ 0x780 │ │ │ │ │ + b.n 18e0 │ │ │ │ │ nop │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ - add.w r2, sp, #1512 @ 0x5e8 │ │ │ │ │ - vstr d11, [r2] │ │ │ │ │ - mov.w r2, r9, lsl #3 │ │ │ │ │ - adds r5, r7, r2 │ │ │ │ │ - add r2, r8 │ │ │ │ │ - adds r0, r2, r3 │ │ │ │ │ - adds r1, r5, r3 │ │ │ │ │ - str r2, [sp, #720] @ 0x2d0 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - movs r2, #136 @ 0x88 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - str r1, [sp, #728] @ 0x2d8 │ │ │ │ │ - vmul.f64 d5, d2, d7 │ │ │ │ │ - vldr d2, [r6, #-160] @ 0xffffff60 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - str r0, [sp, #736] @ 0x2e0 │ │ │ │ │ - str r5, [sp, #712] @ 0x2c8 │ │ │ │ │ + vldr d11, [sp, #760] @ 0x2f8 │ │ │ │ │ + vstr d14, [r1] │ │ │ │ │ + add.w r1, sp, #1504 @ 0x5e0 │ │ │ │ │ + vldr d13, [sp, #776] @ 0x308 │ │ │ │ │ + vsub.f64 d6, d11, d13 │ │ │ │ │ + vadd.f64 d11, d7, d6 │ │ │ │ │ + vsub.f64 d14, d7, d6 │ │ │ │ │ + vldr d7, [sl] │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + vstr d11, [r1] │ │ │ │ │ + add.w r1, sp, #1512 @ 0x5e8 │ │ │ │ │ + vldr d11, [r6, #-152] @ 0xffffff68 │ │ │ │ │ + vstr d14, [r1] │ │ │ │ │ + add.w r1, sp, #1560 @ 0x618 │ │ │ │ │ + vmul.f64 d5, d11, d7 │ │ │ │ │ vmov.f64 d11, d5 │ │ │ │ │ - vmla.f64 d11, d2, d6 │ │ │ │ │ - vldr d2, [r6, #-152] @ 0xffffff68 │ │ │ │ │ - vmul.f64 d6, d2, d6 │ │ │ │ │ + vldr d5, [r6, #-160] @ 0xffffff60 │ │ │ │ │ + vmla.f64 d11, d5, d6 │ │ │ │ │ + vldr d5, [r6, #-152] @ 0xffffff68 │ │ │ │ │ + vmul.f64 d6, d5, d6 │ │ │ │ │ + vldr d5, [r6, #-160] @ 0xffffff60 │ │ │ │ │ + vstr d11, [sp] │ │ │ │ │ vmov.f64 d13, d6 │ │ │ │ │ - vldr d6, [r6, #-160] @ 0xffffff60 │ │ │ │ │ - vstr d11, [sp, #840] @ 0x348 │ │ │ │ │ - vnmls.f64 d13, d6, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - add.w r0, r8, r2 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - adds r5, r0, r3 │ │ │ │ │ - vmul.f64 d5, d14, d7 │ │ │ │ │ - adds r4, r1, r3 │ │ │ │ │ - movs r2, #72 @ 0x48 │ │ │ │ │ - vmov.f64 d10, d5 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - vmla.f64 d10, d8, d6 │ │ │ │ │ - vmul.f64 d6, d14, d6 │ │ │ │ │ - vstr d13, [sp, #848] @ 0x350 │ │ │ │ │ - vmov.f64 d14, d6 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - vnmls.f64 d14, d8, d7 │ │ │ │ │ - vadd.f64 d11, d11, d10 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - vstr d10, [sp, #856] @ 0x358 │ │ │ │ │ - vstr d14, [sp, #864] @ 0x360 │ │ │ │ │ - vadd.f64 d13, d13, d14 │ │ │ │ │ - vldr d10, [sp, #240] @ 0xf0 │ │ │ │ │ - vldr d14, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d0, [sp, #880] @ 0x370 │ │ │ │ │ - vmul.f64 d5, d10, d7 │ │ │ │ │ - str r5, [sp, #752] @ 0x2f0 │ │ │ │ │ - str r0, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + add.w r4, sl, r3 │ │ │ │ │ str r4, [sp, #744] @ 0x2e8 │ │ │ │ │ - str r1, [sp, #240] @ 0xf0 │ │ │ │ │ - vmov.f64 d8, d5 │ │ │ │ │ - vldr d5, [sp, #872] @ 0x368 │ │ │ │ │ - vmla.f64 d8, d14, d6 │ │ │ │ │ - vmul.f64 d6, d10, d6 │ │ │ │ │ - vnmls.f64 d6, d14, d7 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - adds r5, r7, r2 │ │ │ │ │ + vnmls.f64 d13, d5, d7 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + vmul.f64 d5, d8, d7 │ │ │ │ │ + vstr d13, [sp, #824] @ 0x338 │ │ │ │ │ + vmov.f64 d14, d5 │ │ │ │ │ + vmla.f64 d14, d10, d6 │ │ │ │ │ + vmul.f64 d6, d8, d6 │ │ │ │ │ + vmov.f64 d3, d6 │ │ │ │ │ + vnmls.f64 d3, d10, d7 │ │ │ │ │ + vstr d14, [sp, #832] @ 0x340 │ │ │ │ │ + vadd.f64 d11, d11, d14 │ │ │ │ │ + vadd.f64 d9, d13, d3 │ │ │ │ │ + vstr d3, [sp, #840] @ 0x348 │ │ │ │ │ + vldr d1, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d10, [sp, #256] @ 0x100 │ │ │ │ │ + vstr d9, [r1] │ │ │ │ │ + add.w r1, r7, r2 │ │ │ │ │ add r2, r8 │ │ │ │ │ - adds r0, r2, r3 │ │ │ │ │ - str r2, [sp, #768] @ 0x300 │ │ │ │ │ - vmul.f64 d14, d0, d7 │ │ │ │ │ - str r5, [sp, #760] @ 0x2f8 │ │ │ │ │ - str r0, [sp, #784] @ 0x310 │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ - vstr d8, [sp, #872] @ 0x368 │ │ │ │ │ + mov r0, r2 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + mov r2, r1 │ │ │ │ │ + add r2, r3 │ │ │ │ │ + str r1, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + mov.w r1, #104 @ 0x68 │ │ │ │ │ + str r0, [sp, #256] @ 0x100 │ │ │ │ │ + str r2, [sp, #752] @ 0x2f0 │ │ │ │ │ + mul.w r1, r1, r9 │ │ │ │ │ + vmul.f64 d5, d1, d7 │ │ │ │ │ + vmla.f64 d5, d10, d6 │ │ │ │ │ + vmul.f64 d6, d1, d6 │ │ │ │ │ vmov.f64 d1, d6 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - adds r4, r5, r3 │ │ │ │ │ - str r4, [sp, #776] @ 0x308 │ │ │ │ │ - vmla.f64 d14, d5, d6 │ │ │ │ │ - vmul.f64 d6, d0, d6 │ │ │ │ │ - vldr d0, [r6, #-120] @ 0xffffff88 │ │ │ │ │ - vstr d1, [sp, #880] @ 0x370 │ │ │ │ │ - vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - vadd.f64 d8, d8, d14 │ │ │ │ │ - vadd.f64 d12, d1, d6 │ │ │ │ │ - vstr d6, [sp, #888] @ 0x378 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ + mov r2, r0 │ │ │ │ │ + add r2, r3 │ │ │ │ │ + str r2, [sp, #760] @ 0x2f8 │ │ │ │ │ + vnmls.f64 d1, d10, d7 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ add.w r2, sp, #1528 @ 0x5f8 │ │ │ │ │ - vmul.f64 d3, d0, d6 │ │ │ │ │ - vldr d0, [r6, #-128] @ 0xffffff80 │ │ │ │ │ - vmla.f64 d3, d0, d7 │ │ │ │ │ - vldr d0, [r6, #-120] @ 0xffffff88 │ │ │ │ │ - vmul.f64 d7, d0, d7 │ │ │ │ │ - vldr d0, [r6, #-128] @ 0xffffff80 │ │ │ │ │ - vnmls.f64 d7, d0, d6 │ │ │ │ │ - vldr d0, [r2] │ │ │ │ │ + vmov.f64 d8, d5 │ │ │ │ │ + vstr d5, [sp, #848] @ 0x350 │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + add.w r2, r7, lr │ │ │ │ │ + add lr, r8 │ │ │ │ │ + str r2, [sp, #768] @ 0x300 │ │ │ │ │ + vmul.f64 d14, d5, d7 │ │ │ │ │ + vmov.f64 d10, d1 │ │ │ │ │ + vldr d1, [sp, #856] @ 0x358 │ │ │ │ │ + vstr d10, [sp, #856] @ 0x358 │ │ │ │ │ + vmla.f64 d14, d1, d6 │ │ │ │ │ + vmul.f64 d6, d5, d6 │ │ │ │ │ + vmov.f64 d5, d6 │ │ │ │ │ + vldr d6, [lr] │ │ │ │ │ + vnmls.f64 d5, d1, d7 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + add r2, r3 │ │ │ │ │ + vadd.f64 d8, d8, d14 │ │ │ │ │ + str r2, [sp, #776] @ 0x308 │ │ │ │ │ + vadd.f64 d12, d10, d5 │ │ │ │ │ + vstr d5, [sp, #864] @ 0x360 │ │ │ │ │ + vldr d5, [r6, #-120] @ 0xffffff88 │ │ │ │ │ + vmul.f64 d3, d5, d6 │ │ │ │ │ + vldr d5, [r6, #-128] @ 0xffffff80 │ │ │ │ │ + vmla.f64 d3, d5, d7 │ │ │ │ │ + vldr d5, [r6, #-120] @ 0xffffff88 │ │ │ │ │ + vmul.f64 d7, d5, d7 │ │ │ │ │ + vldr d5, [r6, #-128] @ 0xffffff80 │ │ │ │ │ + vnmls.f64 d7, d5, d6 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add.w r2, lr, r3 │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + str r2, [sp, #784] @ 0x310 │ │ │ │ │ + add.w r2, sp, #1536 @ 0x600 │ │ │ │ │ + vldr d10, [r2] │ │ │ │ │ add.w r2, sp, #1520 @ 0x5f0 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - vmul.f64 d5, d0, d4 │ │ │ │ │ vldr d1, [r2] │ │ │ │ │ mov.w r2, #456 @ 0x1c8 │ │ │ │ │ - vmla.f64 d5, d1, d6 │ │ │ │ │ mul.w r2, r2, r9 │ │ │ │ │ - vmul.f64 d6, d0, d6 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ + vmul.f64 d5, d10, d4 │ │ │ │ │ + add.w r4, r7, r2 │ │ │ │ │ add r2, r8 │ │ │ │ │ + str r4, [sp, #792] @ 0x318 │ │ │ │ │ str r2, [sp, #800] @ 0x320 │ │ │ │ │ - str r1, [sp, #792] @ 0x318 │ │ │ │ │ - vldr d2, [r2] │ │ │ │ │ - add.w r2, sp, #1536 @ 0x600 │ │ │ │ │ + vmla.f64 d5, d1, d6 │ │ │ │ │ + vmul.f64 d6, d10, d6 │ │ │ │ │ vnmls.f64 d6, d1, d4 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - movs r1, #40 @ 0x28 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ + add.w r2, sp, #1544 @ 0x608 │ │ │ │ │ + vldr d0, [sp, #872] @ 0x368 │ │ │ │ │ vadd.f64 d10, d3, d5 │ │ │ │ │ vsub.f64 d3, d3, d5 │ │ │ │ │ vldr d5, [r2] │ │ │ │ │ - add.w r2, sp, #1544 @ 0x608 │ │ │ │ │ - mul.w r1, r1, r9 │ │ │ │ │ - vldr d0, [r2] │ │ │ │ │ - movs r2, #200 @ 0xc8 │ │ │ │ │ - add.w lr, r7, r1 │ │ │ │ │ - add r1, r8 │ │ │ │ │ + add.w r2, sp, #1552 @ 0x610 │ │ │ │ │ + vldr d9, [r2] │ │ │ │ │ + mov.w r2, #200 @ 0xc8 │ │ │ │ │ vadd.f64 d1, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ mul.w r2, r2, r9 │ │ │ │ │ + vldr d13, [sp, #880] @ 0x370 │ │ │ │ │ vmul.f64 d6, d5, d2 │ │ │ │ │ - vmla.f64 d6, d0, d4 │ │ │ │ │ - vmul.f64 d4, d5, d4 │ │ │ │ │ - add.w r5, r8, r2 │ │ │ │ │ - adds r4, r7, r2 │ │ │ │ │ - add.w r2, sp, #1928 @ 0x788 │ │ │ │ │ + add.w r4, r7, r2 │ │ │ │ │ + add r2, r8 │ │ │ │ │ str r4, [sp, #808] @ 0x328 │ │ │ │ │ - str r5, [sp, #816] @ 0x330 │ │ │ │ │ - add.w r0, lr, r3 │ │ │ │ │ - vnmls.f64 d4, d0, d2 │ │ │ │ │ - vldr d2, [r5] │ │ │ │ │ - vldr d0, [sp, #832] @ 0x340 │ │ │ │ │ + str r2, [sp, #816] @ 0x330 │ │ │ │ │ + vmla.f64 d6, d9, d4 │ │ │ │ │ + vmul.f64 d4, d5, d4 │ │ │ │ │ vldr d5, [r4] │ │ │ │ │ - adds r4, r1, r3 │ │ │ │ │ - vmul.f64 d9, d0, d2 │ │ │ │ │ - vldr d0, [sp, #824] @ 0x338 │ │ │ │ │ + vnmls.f64 d4, d9, d2 │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ + add.w r2, sp, #1928 @ 0x788 │ │ │ │ │ + vmul.f64 d9, d13, d2 │ │ │ │ │ vmla.f64 d9, d0, d5 │ │ │ │ │ - vldr d0, [sp, #832] @ 0x340 │ │ │ │ │ - vmul.f64 d5, d0, d5 │ │ │ │ │ - vldr d0, [sp, #824] @ 0x338 │ │ │ │ │ + vmul.f64 d5, d13, d5 │ │ │ │ │ vnmls.f64 d5, d0, d2 │ │ │ │ │ vadd.f64 d2, d6, d9 │ │ │ │ │ vsub.f64 d6, d6, d9 │ │ │ │ │ vadd.f64 d9, d11, d8 │ │ │ │ │ vsub.f64 d11, d11, d8 │ │ │ │ │ vadd.f64 d0, d4, d5 │ │ │ │ │ vsub.f64 d5, d4, d5 │ │ │ │ │ vadd.f64 d4, d10, d2 │ │ │ │ │ vsub.f64 d2, d2, d10 │ │ │ │ │ - vldr d10, [sp, #856] @ 0x358 │ │ │ │ │ - vstr d0, [sp, #824] @ 0x338 │ │ │ │ │ - vadd.f64 d0, d9, d4 │ │ │ │ │ - vldr d8, [sp, #824] @ 0x338 │ │ │ │ │ - vstr d0, [r2] │ │ │ │ │ - vsub.f64 d0, d9, d4 │ │ │ │ │ - vsub.f64 d4, d1, d8 │ │ │ │ │ + vadd.f64 d13, d9, d4 │ │ │ │ │ + vsub.f64 d9, d9, d4 │ │ │ │ │ + vsub.f64 d4, d1, d0 │ │ │ │ │ + vadd.f64 d1, d1, d0 │ │ │ │ │ + vstr d13, [r2] │ │ │ │ │ add.w r2, sp, #1520 @ 0x5f0 │ │ │ │ │ - vadd.f64 d1, d1, d8 │ │ │ │ │ - vldr d8, [sp, #872] @ 0x368 │ │ │ │ │ - vstr d0, [r2] │ │ │ │ │ + vadd.f64 d8, d11, d4 │ │ │ │ │ + vstr d9, [r2] │ │ │ │ │ + vsub.f64 d9, d11, d4 │ │ │ │ │ add.w r2, sp, #1936 @ 0x790 │ │ │ │ │ - vsub.f64 d0, d11, d4 │ │ │ │ │ - vsub.f64 d14, d8, d14 │ │ │ │ │ - vldr d8, [pc, #-596] @ 1870 │ │ │ │ │ - vstr d0, [r2] │ │ │ │ │ - vadd.f64 d0, d11, d4 │ │ │ │ │ - vadd.f64 d4, d13, d12 │ │ │ │ │ + vldr d11, [sp, #840] @ 0x348 │ │ │ │ │ + vstr d9, [r2] │ │ │ │ │ add.w r2, sp, #1944 @ 0x798 │ │ │ │ │ - vldr d11, [sp, #864] @ 0x360 │ │ │ │ │ - vsub.f64 d13, d13, d12 │ │ │ │ │ - vstr d0, [r2] │ │ │ │ │ + vstr d8, [r2] │ │ │ │ │ + add.w r2, sp, #1560 @ 0x618 │ │ │ │ │ + vldr d8, [pc, #-624] @ 18d8 │ │ │ │ │ + vldr d9, [r2] │ │ │ │ │ add.w r2, sp, #1528 @ 0x5f8 │ │ │ │ │ + vadd.f64 d4, d9, d12 │ │ │ │ │ + vsub.f64 d13, d9, d12 │ │ │ │ │ vsub.f64 d0, d4, d1 │ │ │ │ │ + vsub.f64 d12, d13, d2 │ │ │ │ │ vstr d0, [r2] │ │ │ │ │ vadd.f64 d0, d4, d1 │ │ │ │ │ - vldr d1, [sp, #848] @ 0x350 │ │ │ │ │ add.w r2, sp, #1536 @ 0x600 │ │ │ │ │ - vsub.f64 d4, d1, d11 │ │ │ │ │ + vldr d1, [sp, #824] @ 0x338 │ │ │ │ │ vstr d0, [r2] │ │ │ │ │ - vadd.f64 d1, d3, d7 │ │ │ │ │ add.w r2, sp, #1544 @ 0x608 │ │ │ │ │ + vsub.f64 d4, d1, d11 │ │ │ │ │ + vldr d1, [sp, #848] @ 0x350 │ │ │ │ │ + vsub.f64 d14, d1, d14 │ │ │ │ │ + vadd.f64 d1, d3, d7 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vldr d11, [sp, #840] @ 0x348 │ │ │ │ │ vadd.f64 d0, d4, d14 │ │ │ │ │ - vsub.f64 d14, d4, d14 │ │ │ │ │ + vstr d0, [r2] │ │ │ │ │ + vsub.f64 d0, d4, d14 │ │ │ │ │ vsub.f64 d4, d6, d5 │ │ │ │ │ + add.w r2, sp, #1552 @ 0x610 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ + vldr d14, [sp, #832] @ 0x340 │ │ │ │ │ vstr d0, [r2] │ │ │ │ │ - add.w r2, sp, #1552 @ 0x610 │ │ │ │ │ vsub.f64 d0, d4, d1 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ - vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d14, [r2] │ │ │ │ │ + vmov.f64 d1, d8 │ │ │ │ │ add.w r2, sp, #1560 @ 0x618 │ │ │ │ │ - vmul.f64 d14, d0, d8 │ │ │ │ │ - vmul.f64 d3, d5, d8 │ │ │ │ │ - vmul.f64 d6, d7, d8 │ │ │ │ │ - vsub.f64 d7, d13, d2 │ │ │ │ │ - vstr d14, [r2] │ │ │ │ │ - vmul.f64 d14, d4, d8 │ │ │ │ │ + vadd.f64 d7, d7, d6 │ │ │ │ │ + vmul.f64 d11, d0, d8 │ │ │ │ │ + vmul.f64 d8, d4, d8 │ │ │ │ │ + vmul.f64 d3, d5, d1 │ │ │ │ │ + vmul.f64 d5, d7, d1 │ │ │ │ │ + vadd.f64 d7, d13, d2 │ │ │ │ │ + vstr d11, [r2] │ │ │ │ │ add.w r2, sp, #1568 @ 0x620 │ │ │ │ │ - vstr d14, [r2] │ │ │ │ │ + vldr d11, [sp] │ │ │ │ │ + vstr d8, [r2] │ │ │ │ │ add.w r2, sp, #1576 @ 0x628 │ │ │ │ │ vstr d3, [r2] │ │ │ │ │ add.w r2, sp, #1584 @ 0x630 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ add.w r2, sp, #1952 @ 0x7a0 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - vadd.f64 d7, d13, d2 │ │ │ │ │ + vldr d5, [sp, #864] @ 0x360 │ │ │ │ │ + vstr d12, [r2] │ │ │ │ │ add.w r2, sp, #1960 @ 0x7a8 │ │ │ │ │ - vldr d13, [sp, #888] @ 0x378 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ - vsub.f64 d7, d11, d10 │ │ │ │ │ - vldr d11, [sp, #880] @ 0x370 │ │ │ │ │ + vsub.f64 d7, d11, d14 │ │ │ │ │ add.w r2, sp, #1592 @ 0x638 │ │ │ │ │ - vsub.f64 d6, d11, d13 │ │ │ │ │ + vldr d11, [sp, #856] @ 0x358 │ │ │ │ │ + vsub.f64 d6, d11, d5 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d10, d7, d6 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ add.w r2, sp, #1600 @ 0x640 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - vldr d2, [sp, #136] @ 0x88 │ │ │ │ │ + vstr d10, [r2] │ │ │ │ │ + add.w r2, r7, r5 │ │ │ │ │ + add r5, r8 │ │ │ │ │ vldr d4, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ + str r2, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + vldr d2, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + add r2, r3 │ │ │ │ │ + str r2, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d0, [sp, #200] @ 0xc8 │ │ │ │ │ vmul.f64 d5, d2, d6 │ │ │ │ │ - vldr d3, [r4] │ │ │ │ │ - vldr d11, [sp, #928] @ 0x3a0 │ │ │ │ │ + vldr d11, [sp, #888] @ 0x378 │ │ │ │ │ + vldr d10, [sp, #928] @ 0x3a0 │ │ │ │ │ vmla.f64 d5, d4, d7 │ │ │ │ │ vmul.f64 d7, d2, d7 │ │ │ │ │ - vldr d13, [sp, #936] @ 0x3a8 │ │ │ │ │ - str r0, [sp, #96] @ 0x60 │ │ │ │ │ - vstr d10, [r2] │ │ │ │ │ + vldr d2, [sp, #160] @ 0xa0 │ │ │ │ │ vnmls.f64 d7, d4, d6 │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + add.w r2, r5, r3 │ │ │ │ │ + vldr d3, [r2] │ │ │ │ │ + str r2, [sp, #824] @ 0x338 │ │ │ │ │ + add.w r2, r7, r1 │ │ │ │ │ + add r1, r8 │ │ │ │ │ + str r2, [sp, #160] @ 0xa0 │ │ │ │ │ vmul.f64 d6, d11, d3 │ │ │ │ │ - movs r0, #104 @ 0x68 │ │ │ │ │ - vldr d0, [sp, #200] @ 0xc8 │ │ │ │ │ - vmla.f64 d6, d13, d4 │ │ │ │ │ + vmla.f64 d6, d10, d4 │ │ │ │ │ vmul.f64 d4, d11, d4 │ │ │ │ │ - mul.w r0, r0, r9 │ │ │ │ │ - str r4, [sp, #136] @ 0x88 │ │ │ │ │ - add.w sl, r7, r0 │ │ │ │ │ - add r0, r8 │ │ │ │ │ - vnmls.f64 d4, d13, d3 │ │ │ │ │ - add.w r2, sl, r3 │ │ │ │ │ - adds r5, r0, r3 │ │ │ │ │ - str r5, [sp, #200] @ 0xc8 │ │ │ │ │ + vnmls.f64 d4, d10, d3 │ │ │ │ │ vadd.f64 d10, d5, d6 │ │ │ │ │ - vldr d3, [r5] │ │ │ │ │ - vsub.f64 d6, d5, d6 │ │ │ │ │ - vsub.f64 d2, d7, d4 │ │ │ │ │ + vsub.f64 d5, d5, d6 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + vsub.f64 d3, d7, d4 │ │ │ │ │ vadd.f64 d11, d7, d4 │ │ │ │ │ - vstr d6, [sp, #856] @ 0x358 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + add r2, r3 │ │ │ │ │ + vstr d5, [sp] │ │ │ │ │ + vmul.f64 d5, d2, d6 │ │ │ │ │ vldr d4, [r2] │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - vstr d2, [sp, #880] @ 0x370 │ │ │ │ │ - vldr d2, [sp, #160] @ 0xa0 │ │ │ │ │ - str r2, [sp, #160] @ 0xa0 │ │ │ │ │ + str r2, [sp, #200] @ 0xc8 │ │ │ │ │ + add.w r2, r1, r3 │ │ │ │ │ + str r2, [sp, #832] @ 0x340 │ │ │ │ │ + vmla.f64 d5, d0, d7 │ │ │ │ │ + vmul.f64 d7, d2, d7 │ │ │ │ │ + vstr d3, [sp, #928] @ 0x3a0 │ │ │ │ │ + vldr d3, [r2] │ │ │ │ │ add.w r2, sp, #1608 @ 0x648 │ │ │ │ │ - vldr d7, [sl] │ │ │ │ │ - vmul.f64 d5, d2, d6 │ │ │ │ │ vldr d13, [r2] │ │ │ │ │ add.w r2, sp, #1616 @ 0x650 │ │ │ │ │ - vmla.f64 d5, d0, d7 │ │ │ │ │ - vmul.f64 d7, d2, d7 │ │ │ │ │ - vldr d2, [sp, #128] @ 0x80 │ │ │ │ │ - vldr d14, [r2] │ │ │ │ │ - movs r2, #168 @ 0xa8 │ │ │ │ │ vnmls.f64 d7, d0, d6 │ │ │ │ │ + vldr d14, [r2] │ │ │ │ │ + mov.w r2, #168 @ 0xa8 │ │ │ │ │ + mul.w r2, r2, r9 │ │ │ │ │ + vldr d2, [sp, #136] @ 0x88 │ │ │ │ │ vmul.f64 d6, d13, d3 │ │ │ │ │ + vldr d0, [sp, #152] @ 0x98 │ │ │ │ │ + add.w r0, r7, r2 │ │ │ │ │ + add r2, r8 │ │ │ │ │ + add.w r4, r0, r3 │ │ │ │ │ + str r0, [sp, #136] @ 0x88 │ │ │ │ │ + str r4, [sp, #152] @ 0x98 │ │ │ │ │ vmla.f64 d6, d14, d4 │ │ │ │ │ vmul.f64 d4, d13, d4 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - add.w ip, r7, r2 │ │ │ │ │ - add r2, r8 │ │ │ │ │ vnmls.f64 d4, d14, d3 │ │ │ │ │ - add.w r4, ip, r3 │ │ │ │ │ - adds r5, r2, r3 │ │ │ │ │ - str r4, [sp, #128] @ 0x80 │ │ │ │ │ vadd.f64 d12, d5, d6 │ │ │ │ │ vsub.f64 d14, d7, d4 │ │ │ │ │ - vadd.f64 d0, d7, d4 │ │ │ │ │ + vadd.f64 d3, d7, d4 │ │ │ │ │ vsub.f64 d7, d5, d6 │ │ │ │ │ - vldr d5, [ip] │ │ │ │ │ - vstr d0, [sp, #864] @ 0x360 │ │ │ │ │ - vstr d7, [sp, #872] @ 0x368 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + add.w r0, sp, #1640 @ 0x668 │ │ │ │ │ + vstr d3, [sp, #880] @ 0x370 │ │ │ │ │ + vstr d7, [sp, #888] @ 0x378 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - vldr d0, [sp, #152] @ 0x98 │ │ │ │ │ - str r5, [sp, #152] @ 0x98 │ │ │ │ │ vmul.f64 d4, d2, d7 │ │ │ │ │ vmla.f64 d4, d0, d5 │ │ │ │ │ vmul.f64 d5, d2, d5 │ │ │ │ │ vnmls.f64 d5, d0, d7 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ - add.w r4, sp, #1640 @ 0x668 │ │ │ │ │ - vldr d3, [r5] │ │ │ │ │ - mov.w r5, #488 @ 0x1e8 │ │ │ │ │ + add.w r4, r2, r3 │ │ │ │ │ + vldr d0, [r0] │ │ │ │ │ + add.w r0, sp, #1648 @ 0x670 │ │ │ │ │ + str r4, [sp, #840] @ 0x348 │ │ │ │ │ + vldr d3, [r4] │ │ │ │ │ + vldr d2, [r0] │ │ │ │ │ + mov.w r0, #488 @ 0x1e8 │ │ │ │ │ + mul.w r0, r0, r9 │ │ │ │ │ vldr d13, [sp, #904] @ 0x388 │ │ │ │ │ - vldr d0, [r4] │ │ │ │ │ - add.w r4, sp, #1648 @ 0x670 │ │ │ │ │ - mul.w r5, r5, r9 │ │ │ │ │ - vldr d8, [r4] │ │ │ │ │ vmul.f64 d6, d0, d3 │ │ │ │ │ - adds r4, r7, r5 │ │ │ │ │ - str r4, [sp, #824] @ 0x338 │ │ │ │ │ - add r5, r8 │ │ │ │ │ - str r5, [sp, #832] @ 0x340 │ │ │ │ │ - vmla.f64 d6, d8, d7 │ │ │ │ │ + add.w r4, r7, r0 │ │ │ │ │ + str r4, [sp, #848] @ 0x350 │ │ │ │ │ + vmla.f64 d6, d2, d7 │ │ │ │ │ vmul.f64 d7, d0, d7 │ │ │ │ │ - vnmls.f64 d7, d8, d3 │ │ │ │ │ - vldr d3, [r5] │ │ │ │ │ - movs r5, #232 @ 0xe8 │ │ │ │ │ + vnmls.f64 d7, d2, d3 │ │ │ │ │ vadd.f64 d8, d4, d6 │ │ │ │ │ - mul.w r5, r5, r9 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vldr d6, [r4] │ │ │ │ │ - add.w r4, sp, #1632 @ 0x660 │ │ │ │ │ + add.w r4, r8, r0 │ │ │ │ │ + add.w r0, sp, #1632 @ 0x660 │ │ │ │ │ + vldr d3, [r4] │ │ │ │ │ + str r4, [sp, #856] @ 0x358 │ │ │ │ │ + vldr d1, [r0] │ │ │ │ │ + add.w r0, sp, #1624 @ 0x658 │ │ │ │ │ vadd.f64 d0, d5, d7 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ - vldr d1, [r4] │ │ │ │ │ - add.w r4, sp, #1624 @ 0x658 │ │ │ │ │ - vldr d2, [r4] │ │ │ │ │ + vldr d2, [r0] │ │ │ │ │ + mov.w r0, #232 @ 0xe8 │ │ │ │ │ + mul.w r0, r0, r9 │ │ │ │ │ vmul.f64 d7, d1, d3 │ │ │ │ │ - adds r4, r7, r5 │ │ │ │ │ - add r5, r8 │ │ │ │ │ - str r4, [sp, #840] @ 0x348 │ │ │ │ │ + add.w r4, r7, r0 │ │ │ │ │ + str r4, [sp, #864] @ 0x360 │ │ │ │ │ vmla.f64 d7, d2, d6 │ │ │ │ │ vmul.f64 d6, d1, d6 │ │ │ │ │ vldr d1, [sp, #896] @ 0x380 │ │ │ │ │ - str r5, [sp, #848] @ 0x350 │ │ │ │ │ vnmls.f64 d6, d2, d3 │ │ │ │ │ - vldr d2, [r5] │ │ │ │ │ vldr d3, [r4] │ │ │ │ │ - add.w r4, sp, #1968 @ 0x7b0 │ │ │ │ │ - movs r5, #24 │ │ │ │ │ + add.w r4, r8, r0 │ │ │ │ │ + add.w r0, sp, #1968 @ 0x7b0 │ │ │ │ │ + vldr d2, [r4] │ │ │ │ │ + str r4, [sp, #872] @ 0x368 │ │ │ │ │ vmul.f64 d9, d13, d2 │ │ │ │ │ vmla.f64 d9, d1, d3 │ │ │ │ │ vmul.f64 d3, d13, d3 │ │ │ │ │ - mul.w r5, r5, r9 │ │ │ │ │ vnmls.f64 d3, d1, d2 │ │ │ │ │ vadd.f64 d1, d7, d9 │ │ │ │ │ vsub.f64 d7, d7, d9 │ │ │ │ │ vadd.f64 d2, d6, d3 │ │ │ │ │ - vadd.f64 d9, d12, d1 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ + vadd.f64 d9, d12, d1 │ │ │ │ │ vadd.f64 d3, d10, d8 │ │ │ │ │ vsub.f64 d10, d10, d8 │ │ │ │ │ vsub.f64 d1, d1, d12 │ │ │ │ │ vadd.f64 d13, d3, d9 │ │ │ │ │ vsub.f64 d3, d9, d3 │ │ │ │ │ - vldr d9, [pc, #976] @ 2158 │ │ │ │ │ - vstr d13, [r4] │ │ │ │ │ - add.w r4, sp, #1608 @ 0x648 │ │ │ │ │ - vldr d13, [sp, #880] @ 0x370 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ + vldr d9, [pc, #976] @ 21f0 │ │ │ │ │ + vstr d13, [r0] │ │ │ │ │ + add.w r0, sp, #1608 @ 0x648 │ │ │ │ │ + vldr d13, [sp, #928] @ 0x3a0 │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ vsub.f64 d3, d11, d0 │ │ │ │ │ - add.w r4, sp, #1616 @ 0x650 │ │ │ │ │ vadd.f64 d11, d11, d0 │ │ │ │ │ - vldr d0, [sp, #864] @ 0x360 │ │ │ │ │ + add.w r0, sp, #1616 @ 0x650 │ │ │ │ │ vadd.f64 d8, d10, d3 │ │ │ │ │ - vsub.f64 d3, d3, d10 │ │ │ │ │ - vstr d8, [r4] │ │ │ │ │ - add.w r4, sp, #1624 @ 0x658 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ - vadd.f64 d3, d0, d2 │ │ │ │ │ - add.w r4, sp, #1632 @ 0x660 │ │ │ │ │ + vsub.f64 d10, d3, d10 │ │ │ │ │ + vldr d3, [sp, #880] @ 0x370 │ │ │ │ │ + vadd.f64 d3, d3, d2 │ │ │ │ │ + vstr d8, [r0] │ │ │ │ │ + add.w r0, sp, #1624 @ 0x658 │ │ │ │ │ + vstr d10, [r0] │ │ │ │ │ + add.w r0, sp, #1632 @ 0x660 │ │ │ │ │ vsub.f64 d0, d11, d3 │ │ │ │ │ vadd.f64 d11, d11, d3 │ │ │ │ │ vsub.f64 d3, d7, d14 │ │ │ │ │ vadd.f64 d7, d14, d7 │ │ │ │ │ - vstr d0, [r4] │ │ │ │ │ - add.w r4, sp, #1640 @ 0x668 │ │ │ │ │ - vldr d0, [sp, #872] @ 0x368 │ │ │ │ │ + vstr d0, [r0] │ │ │ │ │ + add.w r0, sp, #1640 @ 0x668 │ │ │ │ │ + vldr d0, [sp, #888] @ 0x378 │ │ │ │ │ vadd.f64 d0, d0, d6 │ │ │ │ │ vmul.f64 d8, d0, d15 │ │ │ │ │ vnmls.f64 d8, d3, d9 │ │ │ │ │ vmul.f64 d3, d3, d15 │ │ │ │ │ vmov.f64 d10, d3 │ │ │ │ │ - vldr d3, [sp, #856] @ 0x358 │ │ │ │ │ + vldr d3, [sp] │ │ │ │ │ vmla.f64 d10, d0, d9 │ │ │ │ │ + vstr d8, [r0] │ │ │ │ │ vadd.f64 d0, d13, d4 │ │ │ │ │ + add.w r0, sp, #1648 @ 0x670 │ │ │ │ │ vsub.f64 d4, d13, d4 │ │ │ │ │ vsub.f64 d3, d3, d5 │ │ │ │ │ - vstr d8, [r4] │ │ │ │ │ - add.w r4, sp, #1648 @ 0x670 │ │ │ │ │ vmul.f64 d8, d3, d9 │ │ │ │ │ vmul.f64 d3, d3, d15 │ │ │ │ │ - vmla.f64 d8, d0, d15 │ │ │ │ │ - vstr d10, [r4] │ │ │ │ │ - add.w r4, sp, #1656 @ 0x678 │ │ │ │ │ - vmov.f64 d10, d3 │ │ │ │ │ - vldr d3, [sp, #856] @ 0x358 │ │ │ │ │ + vstr d10, [r0] │ │ │ │ │ + add.w r0, sp, #1656 @ 0x678 │ │ │ │ │ + vnmls.f64 d3, d0, d9 │ │ │ │ │ + vmov.f64 d10, d8 │ │ │ │ │ + vmla.f64 d10, d0, d15 │ │ │ │ │ + vstr d10, [r0] │ │ │ │ │ + add.w r0, sp, #1664 @ 0x680 │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ + add.w r0, sp, #1672 @ 0x688 │ │ │ │ │ + vldr d3, [sp] │ │ │ │ │ vadd.f64 d5, d3, d5 │ │ │ │ │ - vnmls.f64 d10, d0, d9 │ │ │ │ │ - vstr d8, [r4] │ │ │ │ │ - add.w r4, sp, #1664 @ 0x680 │ │ │ │ │ vmul.f64 d3, d5, d15 │ │ │ │ │ vmul.f64 d5, d5, d9 │ │ │ │ │ vmla.f64 d3, d4, d9 │ │ │ │ │ vnmls.f64 d5, d4, d15 │ │ │ │ │ - vstr d10, [r4] │ │ │ │ │ - add.w r4, sp, #1672 @ 0x688 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ - add.w r4, sp, #1680 @ 0x690 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ - add.w r4, sp, #1688 @ 0x698 │ │ │ │ │ - vldr d5, [sp, #864] @ 0x360 │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ + add.w r0, sp, #1680 @ 0x690 │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ + add.w r0, sp, #1688 @ 0x698 │ │ │ │ │ + vldr d5, [sp, #880] @ 0x370 │ │ │ │ │ + vldr d14, [sp, #920] @ 0x398 │ │ │ │ │ vsub.f64 d2, d2, d5 │ │ │ │ │ vsub.f64 d12, d1, d2 │ │ │ │ │ vadd.f64 d2, d1, d2 │ │ │ │ │ - vstr d12, [r4] │ │ │ │ │ - add.w r4, sp, #1696 @ 0x6a0 │ │ │ │ │ - vldr d3, [sp, #872] @ 0x368 │ │ │ │ │ - vldr d14, [sp, #912] @ 0x390 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ - add.w r4, sp, #1704 @ 0x6a8 │ │ │ │ │ - vsub.f64 d6, d6, d3 │ │ │ │ │ - vldr d2, [r6, #-144] @ 0xffffff70 │ │ │ │ │ - vldr d1, [sp, #920] @ 0x398 │ │ │ │ │ + vstr d12, [r0] │ │ │ │ │ + add.w r0, sp, #1696 @ 0x6a0 │ │ │ │ │ + vstr d2, [r0] │ │ │ │ │ + add.w r0, sp, #1704 @ 0x6a8 │ │ │ │ │ + vldr d2, [sp, #888] @ 0x378 │ │ │ │ │ + vsub.f64 d6, d6, d2 │ │ │ │ │ + vldr d2, [r6, #-136] @ 0xffffff78 │ │ │ │ │ vmul.f64 d5, d6, d9 │ │ │ │ │ vmov.f64 d13, d5 │ │ │ │ │ - vldr d5, [r6, #-136] @ 0xffffff78 │ │ │ │ │ vnmls.f64 d13, d7, d15 │ │ │ │ │ vmul.f64 d7, d7, d9 │ │ │ │ │ - vstr d13, [r4] │ │ │ │ │ - vmov.f64 d13, d7 │ │ │ │ │ - vmla.f64 d13, d6, d15 │ │ │ │ │ - add.w r4, sp, #1712 @ 0x6b0 │ │ │ │ │ - vstr d13, [r4] │ │ │ │ │ - adds r4, r7, r5 │ │ │ │ │ - add r5, r8 │ │ │ │ │ - str r5, [sp, #864] @ 0x360 │ │ │ │ │ - str r4, [sp, #856] @ 0x358 │ │ │ │ │ + vmov.f64 d12, d7 │ │ │ │ │ + vmla.f64 d12, d6, d15 │ │ │ │ │ + vstr d13, [r0] │ │ │ │ │ + add.w r0, sp, #1712 @ 0x6b0 │ │ │ │ │ + vldr d13, [sp, #912] @ 0x390 │ │ │ │ │ + vstr d12, [r0] │ │ │ │ │ + ldr r0, [sp, #24] │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ + add.w r4, r7, r0 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ + add.w r4, r8, r0 │ │ │ │ │ + mov r0, r4 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + str r0, [sp, #24] │ │ │ │ │ + add r0, r3 │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ + str r0, [sp, #888] @ 0x378 │ │ │ │ │ + vldr d3, [r0] │ │ │ │ │ + add.w r0, sp, #1728 @ 0x6c0 │ │ │ │ │ + vmul.f64 d5, d2, d6 │ │ │ │ │ + vldr d2, [r6, #-144] @ 0xffffff70 │ │ │ │ │ add r4, r3 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - add r5, r3 │ │ │ │ │ - str r4, [sp, #872] @ 0x368 │ │ │ │ │ vldr d4, [r4] │ │ │ │ │ - add.w r4, sp, #1728 @ 0x6c0 │ │ │ │ │ - vmul.f64 d5, d5, d6 │ │ │ │ │ - vldr d3, [r5] │ │ │ │ │ + str r4, [sp, #880] @ 0x370 │ │ │ │ │ vmla.f64 d5, d2, d7 │ │ │ │ │ vldr d2, [r6, #-136] @ 0xffffff78 │ │ │ │ │ - str r5, [sp, #880] @ 0x370 │ │ │ │ │ - movs r5, #88 @ 0x58 │ │ │ │ │ vmul.f64 d7, d2, d7 │ │ │ │ │ vldr d2, [r6, #-144] @ 0xffffff70 │ │ │ │ │ - mul.w r5, r5, r9 │ │ │ │ │ vnmls.f64 d7, d2, d6 │ │ │ │ │ - vmul.f64 d6, d14, d3 │ │ │ │ │ - vmla.f64 d6, d1, d4 │ │ │ │ │ - vmul.f64 d4, d14, d4 │ │ │ │ │ - vnmls.f64 d4, d1, d3 │ │ │ │ │ - vadd.f64 d1, d5, d6 │ │ │ │ │ - vmov.f64 d13, d1 │ │ │ │ │ - vadd.f64 d1, d7, d4 │ │ │ │ │ - vstr d1, [r4] │ │ │ │ │ - vsub.f64 d1, d7, d4 │ │ │ │ │ - add.w r4, sp, #1736 @ 0x6c8 │ │ │ │ │ - vsub.f64 d7, d5, d6 │ │ │ │ │ - vldr d5, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d4, [sp, #144] @ 0x90 │ │ │ │ │ - vstr d1, [r4] │ │ │ │ │ - add.w r4, sp, #1744 @ 0x6d0 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ - adds r4, r7, r5 │ │ │ │ │ - add r5, r8 │ │ │ │ │ - str r4, [sp, #120] @ 0x78 │ │ │ │ │ - str r5, [sp, #144] @ 0x90 │ │ │ │ │ + vmul.f64 d6, d13, d3 │ │ │ │ │ + vmla.f64 d6, d14, d4 │ │ │ │ │ + vmul.f64 d4, d13, d4 │ │ │ │ │ + vnmls.f64 d4, d14, d3 │ │ │ │ │ + vadd.f64 d14, d5, d6 │ │ │ │ │ + vsub.f64 d2, d5, d6 │ │ │ │ │ + vldr d5, [sp, #128] @ 0x80 │ │ │ │ │ + vmov.f64 d13, d14 │ │ │ │ │ + vadd.f64 d14, d7, d4 │ │ │ │ │ + vsub.f64 d7, d7, d4 │ │ │ │ │ + vldr d4, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d14, [r0] │ │ │ │ │ + add.w r0, sp, #1736 @ 0x6c8 │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ + add.w r0, sp, #1744 @ 0x6d0 │ │ │ │ │ + vstr d2, [r0] │ │ │ │ │ + mov.w r0, #88 @ 0x58 │ │ │ │ │ + mul.w r0, r0, r9 │ │ │ │ │ + add.w fp, r8, r0 │ │ │ │ │ + add.w r4, r7, r0 │ │ │ │ │ + add.w r0, r4, r3 │ │ │ │ │ + vldr d6, [fp] │ │ │ │ │ + str r4, [sp, #104] @ 0x68 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ - add r4, r3 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - add r5, r3 │ │ │ │ │ - str r4, [sp, #888] @ 0x378 │ │ │ │ │ - str r5, [sp, #896] @ 0x380 │ │ │ │ │ + str r0, [sp, #128] @ 0x80 │ │ │ │ │ vmul.f64 d3, d5, d6 │ │ │ │ │ vmla.f64 d3, d4, d7 │ │ │ │ │ vmul.f64 d7, d5, d7 │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ - movs r5, #152 @ 0x98 │ │ │ │ │ vnmls.f64 d7, d4, d6 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - add.w r4, sp, #1720 @ 0x6b8 │ │ │ │ │ - mul.w r5, r5, r9 │ │ │ │ │ - vldr d9, [r4] │ │ │ │ │ - add.w r4, sp, #1752 @ 0x6d8 │ │ │ │ │ - vldr d10, [r4] │ │ │ │ │ - vmul.f64 d4, d9, d5 │ │ │ │ │ - adds r4, r7, r5 │ │ │ │ │ - add r5, r8 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + add.w r0, fp, r3 │ │ │ │ │ + str r0, [sp, #896] @ 0x380 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + add.w r0, sp, #1752 @ 0x6d8 │ │ │ │ │ + vldr d10, [r0] │ │ │ │ │ + mov.w r0, #152 @ 0x98 │ │ │ │ │ + vldr d9, [sp, #936] @ 0x3a8 │ │ │ │ │ + mul.w r0, r0, r9 │ │ │ │ │ vldr d2, [sp, #184] @ 0xb8 │ │ │ │ │ + add.w r4, r7, r0 │ │ │ │ │ + add r0, r8 │ │ │ │ │ + vldr d0, [r6, #-112] @ 0xffffff90 │ │ │ │ │ + vmul.f64 d4, d9, d5 │ │ │ │ │ vmla.f64 d4, d10, d6 │ │ │ │ │ vmul.f64 d6, d9, d6 │ │ │ │ │ - vldr d0, [r6, #-112] @ 0xffffff90 │ │ │ │ │ vnmls.f64 d6, d10, d5 │ │ │ │ │ vadd.f64 d8, d3, d4 │ │ │ │ │ vsub.f64 d12, d3, d4 │ │ │ │ │ vldr d4, [sp, #176] @ 0xb0 │ │ │ │ │ str r4, [sp, #176] @ 0xb0 │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ vsub.f64 d14, d7, d6 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ add r4, r3 │ │ │ │ │ - adds r3, r5, r3 │ │ │ │ │ + add r3, r0 │ │ │ │ │ + str r4, [sp, #184] @ 0xb8 │ │ │ │ │ str r3, [sp, #904] @ 0x388 │ │ │ │ │ vmul.f64 d3, d4, d6 │ │ │ │ │ - str r4, [sp, #184] @ 0xb8 │ │ │ │ │ vmla.f64 d3, d2, d7 │ │ │ │ │ vmul.f64 d7, d4, d7 │ │ │ │ │ vnmls.f64 d7, d2, d6 │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ - add.w r3, sp, #1784 @ 0x6f8 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ + add.w r3, sp, #1776 @ 0x6f0 │ │ │ │ │ vldr d10, [r3] │ │ │ │ │ - add.w r3, sp, #1768 @ 0x6e8 │ │ │ │ │ + add.w r3, sp, #1760 @ 0x6e0 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ - vmul.f64 d4, d10, d2 │ │ │ │ │ add.w r3, sp, #1752 @ 0x6d8 │ │ │ │ │ + vmul.f64 d4, d10, d2 │ │ │ │ │ vmla.f64 d4, d9, d6 │ │ │ │ │ vmul.f64 d6, d10, d6 │ │ │ │ │ vnmls.f64 d6, d9, d2 │ │ │ │ │ vsub.f64 d10, d3, d4 │ │ │ │ │ vadd.f64 d2, d3, d4 │ │ │ │ │ vadd.f64 d1, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ mov.w r3, #472 @ 0x1d8 │ │ │ │ │ mul.w r3, r3, r9 │ │ │ │ │ - adds r4, r7, r3 │ │ │ │ │ + add.w r4, r7, r3 │ │ │ │ │ add r3, r8 │ │ │ │ │ - str r3, [sp, #920] @ 0x398 │ │ │ │ │ - str r4, [sp, #912] @ 0x390 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - add.w r3, sp, #1760 @ 0x6e0 │ │ │ │ │ + str r4, [sp, #912] @ 0x390 │ │ │ │ │ + str r3, [sp, #920] @ 0x398 │ │ │ │ │ + add.w r3, sp, #1720 @ 0x6b8 │ │ │ │ │ vldr d9, [r4] │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - add.w r3, sp, #1776 @ 0x6f0 │ │ │ │ │ + add.w r3, sp, #1768 @ 0x6e8 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ - movs r3, #216 @ 0xd8 │ │ │ │ │ - vmul.f64 d3, d7, d6 │ │ │ │ │ + mov.w r3, #216 @ 0xd8 │ │ │ │ │ mul.w r3, r3, r9 │ │ │ │ │ + vmul.f64 d3, d7, d6 │ │ │ │ │ + add.w r4, r7, r3 │ │ │ │ │ + str r4, [sp, #928] @ 0x3a0 │ │ │ │ │ vmla.f64 d3, d4, d9 │ │ │ │ │ vmul.f64 d9, d7, d9 │ │ │ │ │ - adds r4, r7, r3 │ │ │ │ │ - str r4, [sp, #928] @ 0x3a0 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ add.w r4, r3, r8 │ │ │ │ │ - vnmls.f64 d9, d4, d6 │ │ │ │ │ - vldr d6, [r6, #-104] @ 0xffffff98 │ │ │ │ │ add.w r3, sp, #1720 @ 0x6b8 │ │ │ │ │ - str r4, [sp, #936] @ 0x3a8 │ │ │ │ │ - vldr d4, [r4] │ │ │ │ │ vstr d13, [r3] │ │ │ │ │ add.w r3, sp, #1760 @ 0x6e0 │ │ │ │ │ + str r4, [sp, #936] @ 0x3a8 │ │ │ │ │ + vnmls.f64 d9, d4, d6 │ │ │ │ │ + vldr d6, [r6, #-104] @ 0xffffff98 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ vmul.f64 d6, d6, d4 │ │ │ │ │ vmla.f64 d6, d0, d7 │ │ │ │ │ vldr d0, [r6, #-104] @ 0xffffff98 │ │ │ │ │ vmul.f64 d7, d0, d7 │ │ │ │ │ vldr d0, [r6, #-112] @ 0xffffff90 │ │ │ │ │ vnmls.f64 d7, d0, d4 │ │ │ │ │ vadd.f64 d4, d3, d6 │ │ │ │ │ @@ -2231,1389 +2237,1394 @@ │ │ │ │ │ vsub.f64 d7, d9, d7 │ │ │ │ │ vadd.f64 d9, d8, d4 │ │ │ │ │ vsub.f64 d4, d4, d8 │ │ │ │ │ vadd.f64 d13, d3, d9 │ │ │ │ │ vsub.f64 d9, d9, d3 │ │ │ │ │ vsub.f64 d3, d0, d5 │ │ │ │ │ vadd.f64 d5, d5, d0 │ │ │ │ │ - vldr d0, [pc, #152] @ 2158 │ │ │ │ │ + vldr d0, [pc, #124] @ 21f0 │ │ │ │ │ vadd.f64 d8, d4, d3 │ │ │ │ │ - vsub.f64 d3, d4, d3 │ │ │ │ │ + vsub.f64 d4, d4, d3 │ │ │ │ │ vstr d8, [r3] │ │ │ │ │ add.w r3, sp, #1768 @ 0x6e8 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ add.w r3, sp, #1728 @ 0x6c0 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ add.w r3, sp, #1776 @ 0x6f0 │ │ │ │ │ vadd.f64 d8, d3, d1 │ │ │ │ │ - vsub.f64 d3, d8, d5 │ │ │ │ │ + vsub.f64 d4, d8, d5 │ │ │ │ │ vadd.f64 d8, d8, d5 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ add.w r3, sp, #1736 @ 0x6c8 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ add.w r3, sp, #1744 @ 0x6d0 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ add.w r3, sp, #1752 @ 0x6d8 │ │ │ │ │ vadd.f64 d4, d5, d10 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ add.w r3, sp, #1784 @ 0x6f8 │ │ │ │ │ vsub.f64 d5, d3, d5 │ │ │ │ │ vmul.f64 d3, d5, d15 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ - vmla.f64 d5, d4, d15 │ │ │ │ │ vnmls.f64 d3, d4, d0 │ │ │ │ │ + vmla.f64 d5, d4, d15 │ │ │ │ │ vsub.f64 d4, d6, d14 │ │ │ │ │ vadd.f64 d14, d14, d6 │ │ │ │ │ vmul.f64 d6, d14, d0 │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ - add.w r3, sp, #1792 @ 0x700 │ │ │ │ │ - vmul.f64 d3, d4, d15 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - vadd.f64 d5, d12, d7 │ │ │ │ │ - add.w r3, sp, #1800 @ 0x708 │ │ │ │ │ - vsub.f64 d7, d7, d12 │ │ │ │ │ - vmla.f64 d3, d5, d0 │ │ │ │ │ - b.n 2170 │ │ │ │ │ + b.n 2208 │ │ │ │ │ nop.w │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ + add.w r3, sp, #1792 @ 0x700 │ │ │ │ │ + vmul.f64 d3, d4, d15 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + vadd.f64 d5, d12, d7 │ │ │ │ │ + add.w r3, sp, #1800 @ 0x708 │ │ │ │ │ + vsub.f64 d7, d7, d12 │ │ │ │ │ + vmla.f64 d3, d5, d0 │ │ │ │ │ vmul.f64 d5, d5, d15 │ │ │ │ │ vnmls.f64 d5, d4, d0 │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ add.w r3, sp, #1808 @ 0x710 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ vmov.f64 d5, d0 │ │ │ │ │ vmov.f64 d0, d6 │ │ │ │ │ add.w r3, sp, #1816 @ 0x718 │ │ │ │ │ vmla.f64 d0, d7, d15 │ │ │ │ │ vmul.f64 d7, d7, d5 │ │ │ │ │ vnmls.f64 d7, d14, d15 │ │ │ │ │ - vldr d14, [sp, #1008] @ 0x3f0 │ │ │ │ │ vstr d0, [r3] │ │ │ │ │ add.w r3, sp, #1824 @ 0x720 │ │ │ │ │ vldr d0, [sp, #944] @ 0x3b0 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ add.w r3, sp, #1728 @ 0x6c0 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ add.w r3, sp, #1720 @ 0x6b8 │ │ │ │ │ vsub.f64 d1, d7, d1 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ vsub.f64 d2, d7, d2 │ │ │ │ │ vsub.f64 d7, d1, d2 │ │ │ │ │ - vadd.f64 d2, d1, d2 │ │ │ │ │ + vadd.f64 d14, d1, d2 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ add.w r3, sp, #1728 @ 0x6c0 │ │ │ │ │ - vstr d2, [r3] │ │ │ │ │ + vstr d14, [r3] │ │ │ │ │ add.w r3, sp, #1736 @ 0x6c8 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ add.w r3, sp, #1744 @ 0x6d0 │ │ │ │ │ vsub.f64 d10, d7, d10 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ add.w r3, sp, #1752 @ 0x6d8 │ │ │ │ │ - vldr d1, [r3] │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ add.w r3, sp, #1736 @ 0x6c8 │ │ │ │ │ - vadd.f64 d6, d7, d1 │ │ │ │ │ + vadd.f64 d6, d7, d6 │ │ │ │ │ vmov.f64 d7, d5 │ │ │ │ │ vmul.f64 d5, d6, d5 │ │ │ │ │ vmul.f64 d6, d6, d15 │ │ │ │ │ vmla.f64 d6, d10, d7 │ │ │ │ │ vmov.f64 d4, d5 │ │ │ │ │ vnmls.f64 d4, d10, d15 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ add.w r3, sp, #1744 @ 0x6d0 │ │ │ │ │ + vldr d4, [sp, #1008] @ 0x3f0 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ add.w r3, sp, #1072 @ 0x430 │ │ │ │ │ - vadd.f64 d6, d0, d14 │ │ │ │ │ - vldr d12, [r3] │ │ │ │ │ - add.w r3, sp, #1136 @ 0x470 │ │ │ │ │ + vadd.f64 d6, d0, d4 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ + add.w r3, sp, #1136 @ 0x470 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ add.w r3, sp, #1752 @ 0x6d8 │ │ │ │ │ - vadd.f64 d7, d12, d4 │ │ │ │ │ + vadd.f64 d7, d4, d7 │ │ │ │ │ + vsub.f64 d2, d6, d7 │ │ │ │ │ vadd.f64 d10, d6, d7 │ │ │ │ │ - vsub.f64 d7, d6, d7 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ add.w r3, sp, #1536 @ 0x600 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ add.w r3, sp, #1448 @ 0x5a8 │ │ │ │ │ + vldr d14, [r3] │ │ │ │ │ + add.w r3, sp, #1080 @ 0x438 │ │ │ │ │ vadd.f64 d3, d7, d11 │ │ │ │ │ + vadd.f64 d7, d14, d8 │ │ │ │ │ + vldr d14, [sp, #992] @ 0x3e0 │ │ │ │ │ + vsub.f64 d2, d3, d7 │ │ │ │ │ + vadd.f64 d3, d3, d7 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - add.w r3, sp, #1080 @ 0x438 │ │ │ │ │ - vadd.f64 d7, d7, d8 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ add.w r3, sp, #1144 @ 0x478 │ │ │ │ │ - vldr d12, [r3] │ │ │ │ │ + vldr d0, [r3] │ │ │ │ │ add.w r3, sp, #1032 @ 0x408 │ │ │ │ │ - vsub.f64 d2, d3, d7 │ │ │ │ │ - vadd.f64 d3, d3, d7 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - vadd.f64 d7, d6, d12 │ │ │ │ │ - vldr d12, [sp, #992] @ 0x3e0 │ │ │ │ │ + vldr d12, [r3] │ │ │ │ │ add.w r3, sp, #1976 @ 0x7b8 │ │ │ │ │ - vadd.f64 d6, d12, d4 │ │ │ │ │ - vsub.f64 d12, d6, d7 │ │ │ │ │ + vadd.f64 d7, d7, d0 │ │ │ │ │ + vadd.f64 d6, d14, d12 │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ - vstr d12, [r3] │ │ │ │ │ + vsub.f64 d6, d6, d7 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ add.w r3, sp, #1200 @ 0x4b0 │ │ │ │ │ - vldr d14, [r3] │ │ │ │ │ - add.w r3, sp, #1208 @ 0x4b8 │ │ │ │ │ vldr d1, [r3] │ │ │ │ │ + add.w r3, sp, #1208 @ 0x4b8 │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ add.w r3, sp, #1312 @ 0x520 │ │ │ │ │ vldr d12, [r3] │ │ │ │ │ add.w r3, sp, #1320 @ 0x528 │ │ │ │ │ - vadd.f64 d7, d14, d1 │ │ │ │ │ - ldr r4, [sp, #280] @ 0x118 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ add.w r3, sp, #1200 @ 0x4b0 │ │ │ │ │ + vadd.f64 d7, d1, d4 │ │ │ │ │ + ldr r4, [sp, #272] @ 0x110 │ │ │ │ │ vadd.f64 d6, d12, d14 │ │ │ │ │ - vsub.f64 d1, d6, d7 │ │ │ │ │ vadd.f64 d0, d7, d6 │ │ │ │ │ - vstr d1, [r3] │ │ │ │ │ + vsub.f64 d6, d6, d7 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ add.w r3, sp, #1928 @ 0x788 │ │ │ │ │ - vldr d12, [r3] │ │ │ │ │ - add.w r3, sp, #1968 @ 0x7b0 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ + add.w r3, sp, #1968 @ 0x7b0 │ │ │ │ │ + vldr d12, [r3] │ │ │ │ │ add.w r3, sp, #1424 @ 0x590 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ add.w r3, sp, #1536 @ 0x600 │ │ │ │ │ - vadd.f64 d7, d12, d6 │ │ │ │ │ - vsub.f64 d12, d12, d6 │ │ │ │ │ - vadd.f64 d4, d14, d13 │ │ │ │ │ - vldr d14, [r3] │ │ │ │ │ + vadd.f64 d7, d6, d12 │ │ │ │ │ + vsub.f64 d12, d6, d12 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ add.w r3, sp, #1424 @ 0x590 │ │ │ │ │ - vsub.f64 d6, d14, d11 │ │ │ │ │ + vadd.f64 d4, d14, d13 │ │ │ │ │ + vsub.f64 d6, d6, d11 │ │ │ │ │ vldr d11, [r3] │ │ │ │ │ add.w r3, sp, #1448 @ 0x5a8 │ │ │ │ │ vadd.f64 d1, d7, d4 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ + add.w r3, sp, #1208 @ 0x4b8 │ │ │ │ │ vsub.f64 d11, d11, d13 │ │ │ │ │ - add.w r3, sp, #1224 @ 0x4c8 │ │ │ │ │ vadd.f64 d14, d12, d6 │ │ │ │ │ vsub.f64 d12, d6, d12 │ │ │ │ │ vsub.f64 d8, d7, d8 │ │ │ │ │ - vsub.f64 d13, d11, d8 │ │ │ │ │ + vsub.f64 d7, d11, d8 │ │ │ │ │ vadd.f64 d11, d11, d8 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + add.w r3, sp, #1224 @ 0x4c8 │ │ │ │ │ vldr d8, [r3] │ │ │ │ │ add.w r3, sp, #1232 @ 0x4d0 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ add.w r3, sp, #1336 @ 0x538 │ │ │ │ │ vadd.f64 d7, d8, d7 │ │ │ │ │ vldr d8, [r3] │ │ │ │ │ add.w r3, sp, #1344 @ 0x540 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - add.w r3, sp, #1208 @ 0x4b8 │ │ │ │ │ + ldr r3, [sp, #288] @ 0x120 │ │ │ │ │ vadd.f64 d8, d8, d6 │ │ │ │ │ vsub.f64 d6, d7, d8 │ │ │ │ │ vadd.f64 d7, d7, d8 │ │ │ │ │ vadd.f64 d8, d10, d0 │ │ │ │ │ vsub.f64 d10, d10, d0 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - vsub.f64 d7, d8, d1 │ │ │ │ │ + vsub.f64 d13, d8, d1 │ │ │ │ │ vadd.f64 d1, d1, d8 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ + vstr d13, [r4] │ │ │ │ │ vstr d1, [r7] │ │ │ │ │ - ldr r4, [sp, #288] @ 0x120 │ │ │ │ │ vadd.f64 d1, d5, d7 │ │ │ │ │ - ldr r3, [sp, #296] @ 0x128 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ + ldr r4, [sp, #280] @ 0x118 │ │ │ │ │ vadd.f64 d8, d3, d1 │ │ │ │ │ vsub.f64 d1, d1, d3 │ │ │ │ │ vsub.f64 d3, d10, d2 │ │ │ │ │ vadd.f64 d2, d2, d10 │ │ │ │ │ vadd.f64 d7, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vstr d8, [r8] │ │ │ │ │ vstr d1, [r4] │ │ │ │ │ - ldr r4, [sp, #312] @ 0x138 │ │ │ │ │ + ldr r4, [sp, #304] @ 0x130 │ │ │ │ │ vstr d3, [r4] │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ - ldr r3, [sp, #304] @ 0x130 │ │ │ │ │ - ldr r4, [sp, #320] @ 0x140 │ │ │ │ │ - vldr d3, [pc, #-620] @ 2160 │ │ │ │ │ + ldr r3, [sp, #296] @ 0x128 │ │ │ │ │ + ldr r4, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d3, [pc, #-644] @ 21f8 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ add.w r3, sp, #1752 @ 0x6d8 │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ + add.w r3, sp, #1208 @ 0x4b8 │ │ │ │ │ vstr d5, [r4] │ │ │ │ │ - vadd.f64 d5, d14, d13 │ │ │ │ │ - ldr r4, [sp, #328] @ 0x148 │ │ │ │ │ - vsub.f64 d13, d13, d14 │ │ │ │ │ - vldr d1, [r3] │ │ │ │ │ + vldr d8, [r3] │ │ │ │ │ + ldr r4, [sp, #336] @ 0x150 │ │ │ │ │ + vadd.f64 d7, d2, d6 │ │ │ │ │ + ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ + vsub.f64 d6, d2, d6 │ │ │ │ │ + vadd.f64 d5, d14, d8 │ │ │ │ │ + vsub.f64 d13, d8, d14 │ │ │ │ │ + vldr d14, [sp, #992] @ 0x3e0 │ │ │ │ │ vmul.f64 d5, d5, d3 │ │ │ │ │ - vadd.f64 d7, d1, d6 │ │ │ │ │ - vsub.f64 d6, d1, d6 │ │ │ │ │ vmul.f64 d13, d13, d3 │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vadd.f64 d5, d12, d11 │ │ │ │ │ vsub.f64 d12, d12, d11 │ │ │ │ │ + vldr d11, [sp, #1008] @ 0x3f0 │ │ │ │ │ vstr d4, [r4] │ │ │ │ │ - ldr r3, [sp, #32] │ │ │ │ │ - vmul.f64 d5, d5, d3 │ │ │ │ │ - vmul.f64 d12, d12, d3 │ │ │ │ │ - ldr r4, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d0, [sp, #944] @ 0x3b0 │ │ │ │ │ - vldr d14, [sp, #1008] @ 0x3f0 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ add.w r3, sp, #1976 @ 0x7b8 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ + vmul.f64 d5, d5, d3 │ │ │ │ │ + vmul.f64 d12, d12, d3 │ │ │ │ │ + ldr r4, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d1, [r3] │ │ │ │ │ add.w r3, sp, #1200 @ 0x4b0 │ │ │ │ │ - vldr d10, [r3] │ │ │ │ │ - ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ - vadd.f64 d7, d2, d10 │ │ │ │ │ + vldr d0, [r3] │ │ │ │ │ + ldr r3, [sp, #328] @ 0x148 │ │ │ │ │ + vadd.f64 d7, d1, d0 │ │ │ │ │ + vmov.f64 d2, d0 │ │ │ │ │ + vldr d0, [sp, #944] @ 0x3b0 │ │ │ │ │ vadd.f64 d4, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ + add.w r3, sp, #1080 @ 0x438 │ │ │ │ │ vstr d7, [r4] │ │ │ │ │ vsub.f64 d7, d6, d12 │ │ │ │ │ - ldr r4, [sp, #344] @ 0x158 │ │ │ │ │ vadd.f64 d6, d6, d12 │ │ │ │ │ - ldr r3, [sp, #360] @ 0x168 │ │ │ │ │ + ldr r4, [sp, #352] @ 0x160 │ │ │ │ │ vstr d7, [r4] │ │ │ │ │ - vsub.f64 d7, d2, d10 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ + vsub.f64 d7, d1, d2 │ │ │ │ │ vmov.f64 d2, d3 │ │ │ │ │ - ldr r3, [sp, #368] @ 0x170 │ │ │ │ │ - ldr r4, [sp, #352] @ 0x160 │ │ │ │ │ + ldr r4, [sp, #368] @ 0x170 │ │ │ │ │ + vldr d1, [pc, #-808] @ 2200 │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ vadd.f64 d6, d13, d7 │ │ │ │ │ vsub.f64 d7, d7, d13 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - add.w r3, sp, #1080 @ 0x438 │ │ │ │ │ - vsub.f64 d6, d0, d14 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + ldr r4, [sp, #376] @ 0x178 │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ + vsub.f64 d6, d0, d11 │ │ │ │ │ vldr d11, [r3] │ │ │ │ │ add.w r3, sp, #1144 @ 0x478 │ │ │ │ │ vldr d0, [r3] │ │ │ │ │ add.w r3, sp, #1432 @ 0x598 │ │ │ │ │ + ldr r4, [sp, #360] @ 0x168 │ │ │ │ │ vsub.f64 d12, d11, d0 │ │ │ │ │ vldr d11, [r3] │ │ │ │ │ add.w r3, sp, #1776 @ 0x6f0 │ │ │ │ │ - vldr d1, [r3] │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ add.w r3, sp, #1440 @ 0x5a0 │ │ │ │ │ vsub.f64 d0, d6, d12 │ │ │ │ │ vadd.f64 d12, d6, d12 │ │ │ │ │ - vldr d14, [r3] │ │ │ │ │ - vadd.f64 d6, d11, d1 │ │ │ │ │ - vldr d1, [pc, #-848] @ 2168 │ │ │ │ │ + vadd.f64 d6, d11, d7 │ │ │ │ │ + vldr d11, [r3] │ │ │ │ │ add.w r3, sp, #1136 @ 0x470 │ │ │ │ │ - vadd.f64 d7, d14, d9 │ │ │ │ │ + vldr d8, [r3] │ │ │ │ │ + add.w r3, sp, #1072 @ 0x430 │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ + add.w r3, sp, #1032 @ 0x408 │ │ │ │ │ + vadd.f64 d7, d11, d9 │ │ │ │ │ vmul.f64 d5, d7, d1 │ │ │ │ │ vmov.f64 d11, d5 │ │ │ │ │ vnmls.f64 d11, d6, d15 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ - vmov.f64 d14, d6 │ │ │ │ │ - vmla.f64 d14, d7, d15 │ │ │ │ │ - vldr d7, [sp, #992] @ 0x3e0 │ │ │ │ │ - vstr d11, [sp, #32] │ │ │ │ │ - vldr d11, [r3] │ │ │ │ │ - add.w r3, sp, #1072 @ 0x430 │ │ │ │ │ - vldr d8, [r3] │ │ │ │ │ - add.w r3, sp, #1032 @ 0x408 │ │ │ │ │ - vstr d14, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ + vmov.f64 d13, d6 │ │ │ │ │ + vsub.f64 d6, d8, d4 │ │ │ │ │ + vmla.f64 d13, d7, d15 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ add.w r3, sp, #1240 @ 0x4d8 │ │ │ │ │ - vsub.f64 d6, d11, d8 │ │ │ │ │ - vsub.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - add.w r3, sp, #1216 @ 0x4c0 │ │ │ │ │ + vstr d11, [sp, #56] @ 0x38 │ │ │ │ │ vldr d8, [r3] │ │ │ │ │ + add.w r3, sp, #1216 @ 0x4c0 │ │ │ │ │ + vsub.f64 d7, d14, d7 │ │ │ │ │ + vstr d13, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ add.w r3, sp, #1328 @ 0x530 │ │ │ │ │ vadd.f64 d11, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ add.w r3, sp, #1352 @ 0x548 │ │ │ │ │ - vsub.f64 d6, d4, d8 │ │ │ │ │ - vmov.f64 d8, d1 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ + ldr r4, [sp, #440] @ 0x1b8 │ │ │ │ │ + vsub.f64 d6, d8, d4 │ │ │ │ │ + vldr d8, [r3] │ │ │ │ │ add.w r3, sp, #1528 @ 0x5f8 │ │ │ │ │ - ldr r4, [sp, #416] @ 0x1a0 │ │ │ │ │ - vadd.f64 d4, d14, d4 │ │ │ │ │ + vadd.f64 d4, d14, d8 │ │ │ │ │ + vmov.f64 d8, d1 │ │ │ │ │ vsub.f64 d5, d6, d4 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ + vmul.f64 d10, d6, d3 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ add.w r3, sp, #1608 @ 0x648 │ │ │ │ │ + vmul.f64 d5, d5, d3 │ │ │ │ │ vldr d13, [r3] │ │ │ │ │ add.w r3, sp, #1520 @ 0x5f0 │ │ │ │ │ - vmul.f64 d10, d6, d3 │ │ │ │ │ - vmul.f64 d5, d5, d3 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ add.w r3, sp, #1632 @ 0x660 │ │ │ │ │ - vsub.f64 d6, d4, d13 │ │ │ │ │ + vsub.f64 d6, d6, d13 │ │ │ │ │ vldr d13, [r3] │ │ │ │ │ add.w r3, sp, #1216 @ 0x4c0 │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ + add.w r3, sp, #1240 @ 0x4d8 │ │ │ │ │ vsub.f64 d13, d14, d13 │ │ │ │ │ vmul.f64 d14, d13, d1 │ │ │ │ │ vmul.f64 d13, d13, d15 │ │ │ │ │ - vmla.f64 d14, d6, d15 │ │ │ │ │ vnmls.f64 d13, d6, d1 │ │ │ │ │ vldr d1, [r3] │ │ │ │ │ - add.w r3, sp, #1240 @ 0x4d8 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ add.w r3, sp, #1328 @ 0x530 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - add.w r3, sp, #1352 @ 0x548 │ │ │ │ │ - vadd.f64 d4, d1, d4 │ │ │ │ │ + vmla.f64 d14, d6, d15 │ │ │ │ │ + vadd.f64 d4, d4, d1 │ │ │ │ │ vldr d1, [r3] │ │ │ │ │ + add.w r3, sp, #1352 @ 0x548 │ │ │ │ │ + vldr d3, [r3] │ │ │ │ │ add.w r3, sp, #1528 @ 0x5f8 │ │ │ │ │ - vsub.f64 d3, d3, d1 │ │ │ │ │ + vsub.f64 d3, d1, d3 │ │ │ │ │ + vldr d1, [r3] │ │ │ │ │ + add.w r3, sp, #1608 @ 0x648 │ │ │ │ │ vadd.f64 d6, d4, d3 │ │ │ │ │ vsub.f64 d3, d3, d4 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ - add.w r3, sp, #1608 @ 0x648 │ │ │ │ │ - vldr d1, [r3] │ │ │ │ │ add.w r3, sp, #1520 @ 0x5f0 │ │ │ │ │ vmul.f64 d3, d3, d2 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ - vadd.f64 d2, d4, d1 │ │ │ │ │ - vldr d1, [r3] │ │ │ │ │ - add.w r3, sp, #1632 @ 0x660 │ │ │ │ │ + vadd.f64 d2, d1, d4 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ + add.w r3, sp, #1632 @ 0x660 │ │ │ │ │ + vldr d1, [r3] │ │ │ │ │ add.w r3, sp, #1432 @ 0x598 │ │ │ │ │ - vadd.f64 d4, d1, d4 │ │ │ │ │ + vadd.f64 d4, d4, d1 │ │ │ │ │ vmul.f64 d1, d4, d15 │ │ │ │ │ vmul.f64 d4, d4, d8 │ │ │ │ │ - vmla.f64 d1, d2, d8 │ │ │ │ │ vnmls.f64 d4, d2, d15 │ │ │ │ │ + vmla.f64 d1, d2, d8 │ │ │ │ │ vstr d1, [sp, #280] @ 0x118 │ │ │ │ │ vstr d4, [sp, #288] @ 0x120 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ add.w r3, sp, #1776 @ 0x6f0 │ │ │ │ │ vldr d1, [r3] │ │ │ │ │ add.w r3, sp, #1440 @ 0x5a0 │ │ │ │ │ vsub.f64 d2, d4, d1 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ - ldr r3, [sp, #448] @ 0x1c0 │ │ │ │ │ + ldr r3, [sp, #472] @ 0x1d8 │ │ │ │ │ vsub.f64 d1, d4, d9 │ │ │ │ │ vmul.f64 d4, d1, d15 │ │ │ │ │ vnmls.f64 d4, d2, d8 │ │ │ │ │ vmul.f64 d2, d2, d15 │ │ │ │ │ vmla.f64 d2, d1, d8 │ │ │ │ │ vadd.f64 d1, d0, d5 │ │ │ │ │ vsub.f64 d5, d0, d5 │ │ │ │ │ vadd.f64 d8, d14, d4 │ │ │ │ │ vsub.f64 d4, d4, d14 │ │ │ │ │ vsub.f64 d9, d1, d8 │ │ │ │ │ vadd.f64 d1, d1, d8 │ │ │ │ │ vadd.f64 d8, d13, d2 │ │ │ │ │ vsub.f64 d13, d13, d2 │ │ │ │ │ vstr d9, [r3] │ │ │ │ │ - ldr r3, [sp, #16] │ │ │ │ │ + ldr r3, [sp, #8] │ │ │ │ │ vsub.f64 d2, d5, d13 │ │ │ │ │ vadd.f64 d5, d5, d13 │ │ │ │ │ vstr d1, [r3] │ │ │ │ │ vadd.f64 d1, d7, d3 │ │ │ │ │ - ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ + ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ vadd.f64 d9, d8, d1 │ │ │ │ │ vsub.f64 d1, d1, d8 │ │ │ │ │ vstr d9, [r3] │ │ │ │ │ - ldr r3, [sp, #456] @ 0x1c8 │ │ │ │ │ + ldr r3, [sp, #480] @ 0x1e0 │ │ │ │ │ vstr d1, [r3] │ │ │ │ │ vstr d2, [r4] │ │ │ │ │ - ldr r4, [sp, #432] @ 0x1b0 │ │ │ │ │ + ldr r4, [sp, #456] @ 0x1c8 │ │ │ │ │ vstr d5, [r4] │ │ │ │ │ vadd.f64 d5, d4, d7 │ │ │ │ │ - ldr r4, [sp, #440] @ 0x1b8 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ + ldr r4, [sp, #464] @ 0x1d0 │ │ │ │ │ + vldr d1, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ vstr d5, [r4] │ │ │ │ │ - ldr r4, [sp, #424] @ 0x1a8 │ │ │ │ │ - vldr d1, [sp, #32] │ │ │ │ │ - vldr d13, [sp, #280] @ 0x118 │ │ │ │ │ - ldr r3, [sp, #0] │ │ │ │ │ + vldr d14, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d0, [sp, #272] @ 0x110 │ │ │ │ │ + ldr r4, [sp, #448] @ 0x1c0 │ │ │ │ │ + vadd.f64 d5, d1, d14 │ │ │ │ │ + vldr d13, [sp, #288] @ 0x120 │ │ │ │ │ vstr d7, [r4] │ │ │ │ │ vadd.f64 d7, d12, d6 │ │ │ │ │ - vadd.f64 d5, d1, d13 │ │ │ │ │ - ldr r4, [sp, #376] @ 0x178 │ │ │ │ │ - vldr d0, [sp, #64] @ 0x40 │ │ │ │ │ vsub.f64 d6, d12, d6 │ │ │ │ │ - vldr d14, [sp, #288] @ 0x120 │ │ │ │ │ + ldr r4, [sp, #392] @ 0x188 │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vadd.f64 d5, d0, d14 │ │ │ │ │ + vadd.f64 d5, d0, d13 │ │ │ │ │ vstr d4, [r4] │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vadd.f64 d7, d11, d10 │ │ │ │ │ - ldr r3, [sp, #80] @ 0x50 │ │ │ │ │ vsub.f64 d11, d11, d10 │ │ │ │ │ - vldr d10, [pc, #972] @ 2aa0 │ │ │ │ │ + ldr r3, [sp, #88] @ 0x58 │ │ │ │ │ + ldr r4, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d10, [pc, #972] @ 2b60 │ │ │ │ │ vadd.f64 d4, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ - ldr r3, [sp, #384] @ 0x180 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - vsub.f64 d7, d14, d0 │ │ │ │ │ - ldr r3, [sp, #400] @ 0x190 │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + vsub.f64 d7, d13, d0 │ │ │ │ │ + ldr r3, [sp, #408] @ 0x198 │ │ │ │ │ + ldr r4, [sp, #424] @ 0x1a8 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vsub.f64 d7, d1, d13 │ │ │ │ │ + vsub.f64 d7, d1, d14 │ │ │ │ │ vldr d1, [sp, #952] @ 0x3b8 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - ldr r3, [sp, #272] @ 0x110 │ │ │ │ │ - vldr d5, [pc, #928] @ 2aa8 │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ vadd.f64 d6, d7, d11 │ │ │ │ │ - ldr r3, [sp, #392] @ 0x188 │ │ │ │ │ vsub.f64 d11, d11, d7 │ │ │ │ │ + ldr r3, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d5, [pc, #920] @ 2b68 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ - ldr r3, [sp, #408] @ 0x198 │ │ │ │ │ + ldr r3, [sp, #432] @ 0x1b0 │ │ │ │ │ vstr d11, [r3] │ │ │ │ │ add.w r3, sp, #1024 @ 0x400 │ │ │ │ │ - vldr d12, [r3] │ │ │ │ │ + vldr d14, [r3] │ │ │ │ │ add.w r3, sp, #1120 @ 0x460 │ │ │ │ │ vldr d11, [r3] │ │ │ │ │ add.w r3, sp, #1184 @ 0x4a0 │ │ │ │ │ - vsub.f64 d12, d1, d12 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ add.w r3, sp, #1832 @ 0x728 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ + vsub.f64 d12, d1, d14 │ │ │ │ │ + vsub.f64 d7, d11, d7 │ │ │ │ │ + vmul.f64 d7, d7, d10 │ │ │ │ │ + vsub.f64 d0, d12, d7 │ │ │ │ │ + vadd.f64 d2, d12, d7 │ │ │ │ │ + vldr d12, [r3] │ │ │ │ │ add.w r3, sp, #1848 @ 0x738 │ │ │ │ │ - vsub.f64 d7, d11, d4 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ add.w r3, sp, #1864 @ 0x748 │ │ │ │ │ - vmul.f64 d6, d3, d15 │ │ │ │ │ - vmul.f64 d7, d7, d10 │ │ │ │ │ - vldr d8, [r3] │ │ │ │ │ + vldr d3, [r3] │ │ │ │ │ add.w r3, sp, #1880 @ 0x758 │ │ │ │ │ - vnmls.f64 d6, d9, d5 │ │ │ │ │ - vldr d14, [r3] │ │ │ │ │ - vsub.f64 d0, d12, d7 │ │ │ │ │ - vadd.f64 d2, d12, d7 │ │ │ │ │ + vstr d2, [sp, #8] │ │ │ │ │ + vmul.f64 d6, d12, d15 │ │ │ │ │ + vldr d1, [r3] │ │ │ │ │ add.w r3, sp, #1192 @ 0x4a8 │ │ │ │ │ - vmul.f64 d7, d8, d15 │ │ │ │ │ - vmla.f64 d7, d14, d5 │ │ │ │ │ - vldr d12, [r3] │ │ │ │ │ - add.w r3, sp, #1128 @ 0x468 │ │ │ │ │ - vstr d2, [sp] │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ - add.w r3, sp, #1720 @ 0x6b8 │ │ │ │ │ + add.w r3, sp, #1128 @ 0x468 │ │ │ │ │ + vmul.f64 d7, d3, d15 │ │ │ │ │ + vnmls.f64 d6, d9, d5 │ │ │ │ │ + ldr r4, [sp, #600] @ 0x258 │ │ │ │ │ vldr d11, [sp, #1016] @ 0x3f8 │ │ │ │ │ - ldr r4, [sp, #264] @ 0x108 │ │ │ │ │ - vldr d1, [r3] │ │ │ │ │ - add.w r3, sp, #1760 @ 0x6e0 │ │ │ │ │ + vmla.f64 d7, d1, d5 │ │ │ │ │ vadd.f64 d13, d6, d7 │ │ │ │ │ vsub.f64 d2, d6, d7 │ │ │ │ │ - vsub.f64 d6, d12, d4 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + add.w r3, sp, #1720 @ 0x6b8 │ │ │ │ │ + vsub.f64 d6, d4, d7 │ │ │ │ │ vldr d7, [sp, #1000] @ 0x3e8 │ │ │ │ │ - vsub.f64 d7, d7, d11 │ │ │ │ │ vmul.f64 d6, d6, d10 │ │ │ │ │ + vsub.f64 d7, d7, d11 │ │ │ │ │ vadd.f64 d4, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vmul.f64 d6, d14, d15 │ │ │ │ │ - vstr d4, [sp, #16] │ │ │ │ │ + vmul.f64 d6, d1, d15 │ │ │ │ │ + vldr d1, [r3] │ │ │ │ │ + add.w r3, sp, #1760 @ 0x6e0 │ │ │ │ │ + vstr d4, [sp, #48] @ 0x30 │ │ │ │ │ vmov.f64 d4, d5 │ │ │ │ │ - vmul.f64 d5, d3, d5 │ │ │ │ │ + vmul.f64 d5, d12, d5 │ │ │ │ │ + vnmls.f64 d6, d3, d4 │ │ │ │ │ vmla.f64 d5, d9, d15 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ add.w r3, sp, #1912 @ 0x778 │ │ │ │ │ - vnmls.f64 d6, d8, d4 │ │ │ │ │ + vldr d12, [r3] │ │ │ │ │ + add.w r3, sp, #1768 @ 0x6e8 │ │ │ │ │ vsub.f64 d4, d1, d9 │ │ │ │ │ - vldr d1, [pc, #728] @ 2ac0 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ - add.w r3, sp, #1768 @ 0x6e8 │ │ │ │ │ - vmul.f64 d4, d4, d10 │ │ │ │ │ + add.w r3, sp, #1728 @ 0x6c0 │ │ │ │ │ + vldr d1, [pc, #716] @ 2b80 │ │ │ │ │ vadd.f64 d3, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vsub.f64 d14, d9, d4 │ │ │ │ │ - vadd.f64 d4, d9, d4 │ │ │ │ │ - vldr d9, [r3] │ │ │ │ │ - add.w r3, sp, #1728 @ 0x6c0 │ │ │ │ │ + vmul.f64 d4, d4, d10 │ │ │ │ │ + vsub.f64 d14, d12, d4 │ │ │ │ │ + vadd.f64 d4, d12, d4 │ │ │ │ │ vldr d12, [r3] │ │ │ │ │ add.w r3, sp, #1896 @ 0x768 │ │ │ │ │ - vsub.f64 d5, d9, d12 │ │ │ │ │ vldr d11, [r3] │ │ │ │ │ add.w r3, sp, #1688 @ 0x698 │ │ │ │ │ + vsub.f64 d5, d9, d12 │ │ │ │ │ vmul.f64 d5, d5, d10 │ │ │ │ │ vsub.f64 d8, d11, d5 │ │ │ │ │ vadd.f64 d5, d11, d5 │ │ │ │ │ - vldr d11, [pc, #664] @ 2ac8 │ │ │ │ │ + vldr d11, [pc, #668] @ 2b88 │ │ │ │ │ vmul.f64 d9, d8, d1 │ │ │ │ │ vmov.f64 d12, d9 │ │ │ │ │ vnmls.f64 d12, d14, d11 │ │ │ │ │ - vstr d12, [sp, #32] │ │ │ │ │ - vldr d12, [pc, #628] @ 2ab8 │ │ │ │ │ + vstr d12, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d12, [pc, #632] @ 2b78 │ │ │ │ │ vmul.f64 d9, d4, d12 │ │ │ │ │ vmov.f64 d1, d9 │ │ │ │ │ - vldr d9, [pc, #608] @ 2ab0 │ │ │ │ │ + vldr d9, [pc, #612] @ 2b70 │ │ │ │ │ vmla.f64 d1, d5, d9 │ │ │ │ │ vmul.f64 d5, d5, d12 │ │ │ │ │ - vstr d1, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d1, [pc, #608] @ 2ac0 │ │ │ │ │ + vldr d12, [r3] │ │ │ │ │ + add.w r3, sp, #1616 @ 0x650 │ │ │ │ │ + vstr d1, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d1, [pc, #604] @ 2b80 │ │ │ │ │ vmul.f64 d14, d14, d1 │ │ │ │ │ vmov.f64 d9, d1 │ │ │ │ │ + vldr d1, [pc, #576] @ 2b70 │ │ │ │ │ vmla.f64 d14, d8, d11 │ │ │ │ │ vmov.f64 d8, d5 │ │ │ │ │ - vldr d1, [pc, #572] @ 2ab0 │ │ │ │ │ vnmls.f64 d8, d4, d1 │ │ │ │ │ - vstr d8, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d8, [r3] │ │ │ │ │ - add.w r3, sp, #1616 @ 0x650 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ add.w r3, sp, #1952 @ 0x7a0 │ │ │ │ │ - vsub.f64 d1, d8, d4 │ │ │ │ │ + vsub.f64 d1, d12, d4 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ add.w r3, sp, #1624 @ 0x658 │ │ │ │ │ + vldr d12, [r3] │ │ │ │ │ + add.w r3, sp, #1696 @ 0x6a0 │ │ │ │ │ + vstr d8, [sp, #88] @ 0x58 │ │ │ │ │ vmul.f64 d1, d1, d10 │ │ │ │ │ vsub.f64 d8, d4, d1 │ │ │ │ │ vadd.f64 d1, d4, d1 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ - add.w r3, sp, #1696 @ 0x6a0 │ │ │ │ │ - vldr d12, [r3] │ │ │ │ │ add.w r3, sp, #1936 @ 0x790 │ │ │ │ │ - vsub.f64 d4, d4, d12 │ │ │ │ │ + vsub.f64 d4, d12, d4 │ │ │ │ │ vldr d12, [r3] │ │ │ │ │ - ldr r3, [sp, #216] @ 0xd8 │ │ │ │ │ + ldr r3, [sp, #224] @ 0xe0 │ │ │ │ │ vmul.f64 d4, d4, d10 │ │ │ │ │ vsub.f64 d5, d12, d4 │ │ │ │ │ vadd.f64 d4, d12, d4 │ │ │ │ │ vmov.f64 d12, d11 │ │ │ │ │ vmul.f64 d10, d5, d11 │ │ │ │ │ - vldr d11, [pc, #480] @ 2ab8 │ │ │ │ │ + vldr d11, [pc, #484] @ 2b78 │ │ │ │ │ vmla.f64 d10, d8, d9 │ │ │ │ │ vmul.f64 d9, d4, d11 │ │ │ │ │ - vldr d11, [pc, #460] @ 2ab0 │ │ │ │ │ + vldr d11, [pc, #464] @ 2b70 │ │ │ │ │ vnmls.f64 d9, d1, d11 │ │ │ │ │ - vldr d11, [pc, #468] @ 2ac0 │ │ │ │ │ + vldr d11, [pc, #472] @ 2b80 │ │ │ │ │ vmul.f64 d5, d5, d11 │ │ │ │ │ - vldr d11, [sp, #32] │ │ │ │ │ + vldr d11, [sp, #56] @ 0x38 │ │ │ │ │ vnmls.f64 d5, d8, d12 │ │ │ │ │ - vldr d8, [pc, #436] @ 2ab0 │ │ │ │ │ + vldr d8, [pc, #440] @ 2b70 │ │ │ │ │ vmul.f64 d4, d4, d8 │ │ │ │ │ - vldr d8, [pc, #436] @ 2ab8 │ │ │ │ │ + vldr d8, [pc, #440] @ 2b78 │ │ │ │ │ vmla.f64 d4, d1, d8 │ │ │ │ │ vadd.f64 d1, d11, d10 │ │ │ │ │ vsub.f64 d10, d11, d10 │ │ │ │ │ vmov.f64 d12, d4 │ │ │ │ │ vadd.f64 d4, d0, d2 │ │ │ │ │ vsub.f64 d2, d0, d2 │ │ │ │ │ vsub.f64 d8, d4, d1 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ vadd.f64 d1, d14, d5 │ │ │ │ │ vsub.f64 d5, d5, d14 │ │ │ │ │ vstr d8, [r4] │ │ │ │ │ - vstr d4, [fp] │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ vadd.f64 d4, d7, d6 │ │ │ │ │ - ldr r4, [sp, #576] @ 0x240 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ + ldr r3, [sp, #264] @ 0x108 │ │ │ │ │ + ldr r4, [sp, #608] @ 0x260 │ │ │ │ │ vadd.f64 d8, d1, d4 │ │ │ │ │ vsub.f64 d4, d4, d1 │ │ │ │ │ vadd.f64 d6, d10, d7 │ │ │ │ │ vsub.f64 d7, d7, d10 │ │ │ │ │ - vldr d10, [pc, #336] @ 2aa0 │ │ │ │ │ + vldr d10, [pc, #336] @ 2b60 │ │ │ │ │ vstr d8, [r3] │ │ │ │ │ vstr d4, [r4] │ │ │ │ │ vsub.f64 d4, d2, d5 │ │ │ │ │ - ldr r3, [sp, #544] @ 0x220 │ │ │ │ │ vadd.f64 d2, d2, d5 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - ldr r3, [sp, #560] @ 0x230 │ │ │ │ │ - vstr d2, [r3] │ │ │ │ │ - ldr r3, [sp, #568] @ 0x238 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - ldr r3, [sp, #552] @ 0x228 │ │ │ │ │ - vldr d2, [sp] │ │ │ │ │ - vldr d0, [sp, #64] @ 0x40 │ │ │ │ │ - ldr r4, [sp, #24] │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - vadd.f64 d7, d2, d3 │ │ │ │ │ + ldr r4, [sp, #384] @ 0x180 │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ + ldr r4, [sp, #584] @ 0x248 │ │ │ │ │ + ldr r3, [sp, #16] │ │ │ │ │ + vldr d0, [sp, #88] @ 0x58 │ │ │ │ │ + vstr d2, [r4] │ │ │ │ │ + vldr d2, [sp, #8] │ │ │ │ │ + ldr r4, [sp, #592] @ 0x250 │ │ │ │ │ + vldr d4, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d1, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ vadd.f64 d6, d0, d12 │ │ │ │ │ - ldr r3, [sp, #584] @ 0x248 │ │ │ │ │ - vldr d1, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r4, [sp, #576] @ 0x240 │ │ │ │ │ + vsub.f64 d11, d4, d13 │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + vadd.f64 d7, d2, d3 │ │ │ │ │ vsub.f64 d3, d2, d3 │ │ │ │ │ - vldr d4, [sp, #16] │ │ │ │ │ - vldr d2, [pc, #300] @ 2ac8 │ │ │ │ │ + ldr r4, [sp, #616] @ 0x268 │ │ │ │ │ + vldr d2, [pc, #296] @ 2b88 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d1, d9 │ │ │ │ │ vsub.f64 d9, d9, d1 │ │ │ │ │ - vsub.f64 d11, d4, d13 │ │ │ │ │ vldr d1, [sp, #952] @ 0x3b8 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vadd.f64 d7, d13, d4 │ │ │ │ │ - ldr r4, [sp, #48] @ 0x30 │ │ │ │ │ - ldr r3, [sp, #616] @ 0x268 │ │ │ │ │ + ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ + ldr r4, [sp, #624] @ 0x270 │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ - ldr r4, [sp, #592] @ 0x250 │ │ │ │ │ - vldr d5, [pc, #208] @ 2aa8 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + add.w r3, sp, #1024 @ 0x400 │ │ │ │ │ vstr d7, [r4] │ │ │ │ │ vsub.f64 d7, d3, d9 │ │ │ │ │ - ldr r4, [sp, #600] @ 0x258 │ │ │ │ │ vadd.f64 d3, d3, d9 │ │ │ │ │ - vldr d9, [pc, #200] @ 2ab0 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ - vsub.f64 d7, d0, d12 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ - ldr r3, [sp, #624] @ 0x270 │ │ │ │ │ - ldr r4, [sp, #608] @ 0x260 │ │ │ │ │ - vadd.f64 d6, d7, d11 │ │ │ │ │ - vsub.f64 d11, d11, d7 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - add.w r3, sp, #1024 @ 0x400 │ │ │ │ │ - vstr d11, [r4] │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ add.w r3, sp, #1128 @ 0x468 │ │ │ │ │ + ldr r4, [sp, #632] @ 0x278 │ │ │ │ │ + vldr d5, [pc, #188] @ 2b68 │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + vsub.f64 d7, d0, d12 │ │ │ │ │ vadd.f64 d12, d1, d14 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ add.w r3, sp, #1192 @ 0x4a8 │ │ │ │ │ vldr d0, [r3] │ │ │ │ │ add.w r3, sp, #1840 @ 0x730 │ │ │ │ │ + ldr r4, [sp, #648] @ 0x288 │ │ │ │ │ + vadd.f64 d6, d7, d11 │ │ │ │ │ + vsub.f64 d11, d11, d7 │ │ │ │ │ vadd.f64 d7, d14, d0 │ │ │ │ │ - vldr d14, [r3] │ │ │ │ │ + vldr d0, [r3] │ │ │ │ │ add.w r3, sp, #1856 @ 0x740 │ │ │ │ │ + vstr d3, [r4] │ │ │ │ │ + ldr r4, [sp, #656] @ 0x290 │ │ │ │ │ + vldr d3, [pc, #152] @ 2b80 │ │ │ │ │ vmul.f64 d7, d7, d10 │ │ │ │ │ - vldr d0, [r3] │ │ │ │ │ - add.w r3, sp, #1872 @ 0x750 │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ + ldr r4, [sp, #640] @ 0x280 │ │ │ │ │ vsub.f64 d6, d12, d7 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - add.w r3, sp, #1888 @ 0x760 │ │ │ │ │ vadd.f64 d12, d12, d7 │ │ │ │ │ - vmul.f64 d7, d3, d5 │ │ │ │ │ - vstr d6, [sp] │ │ │ │ │ - vmul.f64 d6, d14, d5 │ │ │ │ │ + vstr d11, [r4] │ │ │ │ │ + vstr d6, [sp, #8] │ │ │ │ │ + vmul.f64 d6, d0, d5 │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ + add.w r3, sp, #1872 @ 0x750 │ │ │ │ │ vldr d8, [r3] │ │ │ │ │ + add.w r3, sp, #1888 @ 0x760 │ │ │ │ │ + vldr d9, [r3] │ │ │ │ │ add.w r3, sp, #1120 @ 0x460 │ │ │ │ │ - vnmls.f64 d6, d0, d15 │ │ │ │ │ - vmla.f64 d7, d8, d15 │ │ │ │ │ + vnmls.f64 d6, d4, d15 │ │ │ │ │ + vmul.f64 d7, d8, d5 │ │ │ │ │ + vmla.f64 d7, d9, d15 │ │ │ │ │ vsub.f64 d1, d6, d7 │ │ │ │ │ vadd.f64 d13, d6, d7 │ │ │ │ │ - vstr d1, [sp, #24] │ │ │ │ │ + vldr d7, [sp, #1016] @ 0x3f8 │ │ │ │ │ + vstr d1, [sp, #40] @ 0x28 │ │ │ │ │ vldr d1, [r3] │ │ │ │ │ add.w r3, sp, #1184 @ 0x4a0 │ │ │ │ │ - vldr d7, [sp, #1000] @ 0x3e8 │ │ │ │ │ - ldr r4, [sp, #496] @ 0x1f0 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ + vldr d14, [r3] │ │ │ │ │ add.w r3, sp, #1768 @ 0x6e8 │ │ │ │ │ - vadd.f64 d6, d1, d4 │ │ │ │ │ - vldr d1, [sp, #1016] @ 0x3f8 │ │ │ │ │ - vadd.f64 d7, d7, d1 │ │ │ │ │ - b.n 2af0 │ │ │ │ │ + vadd.f64 d6, d1, d14 │ │ │ │ │ + vldr d1, [sp, #1000] @ 0x3e8 │ │ │ │ │ + vmul.f64 d6, d6, d10 │ │ │ │ │ + vadd.f64 d7, d1, d7 │ │ │ │ │ + b.n 2bb0 │ │ │ │ │ nop │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ .word 0x290ea1a3 │ │ │ │ │ .word 0x3fea9b66 │ │ │ │ │ .word 0x39ae68c8 │ │ │ │ │ .word 0x3fe1c73b │ │ │ │ │ .word 0xcff75cb0 │ │ │ │ │ .word 0x3fef6297 │ │ │ │ │ .word 0x3c69a60b │ │ │ │ │ .word 0x3fc8f8b8 │ │ │ │ │ - .word 0xbc29b42c │ │ │ │ │ - .word 0x3fb917a6 │ │ │ │ │ .word 0x25091dd6 │ │ │ │ │ .word 0x3fe44cf3 │ │ │ │ │ + .word 0xbc29b42c │ │ │ │ │ + .word 0x3fb917a6 │ │ │ │ │ .word 0xa3d12526 │ │ │ │ │ .word 0x3fefd88d │ │ │ │ │ .word 0x6b151741 │ │ │ │ │ .word 0x3fe8bc80 │ │ │ │ │ vldr d1, [r3] │ │ │ │ │ - vmul.f64 d6, d6, d10 │ │ │ │ │ add.w r3, sp, #1728 @ 0x6c0 │ │ │ │ │ + vldr d14, [r3] │ │ │ │ │ + add.w r3, sp, #1920 @ 0x780 │ │ │ │ │ vadd.f64 d11, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vmul.f64 d6, d14, d15 │ │ │ │ │ - vmla.f64 d6, d0, d5 │ │ │ │ │ - vmul.f64 d5, d8, d5 │ │ │ │ │ - vnmls.f64 d5, d3, d15 │ │ │ │ │ - vldr d3, [pc, #-88] @ 2ac0 │ │ │ │ │ + vmul.f64 d6, d0, d15 │ │ │ │ │ + vldr d0, [r3] │ │ │ │ │ + add.w r3, sp, #1760 @ 0x6e0 │ │ │ │ │ + vmla.f64 d6, d4, d5 │ │ │ │ │ + vmul.f64 d5, d9, d5 │ │ │ │ │ + vldr d9, [pc, #-112] @ 2b70 │ │ │ │ │ + vnmls.f64 d5, d8, d15 │ │ │ │ │ vadd.f64 d4, d6, d5 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ - vstr d4, [sp, #32] │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - add.w r3, sp, #1920 @ 0x780 │ │ │ │ │ - vldr d14, [r3] │ │ │ │ │ - add.w r3, sp, #1760 @ 0x6e0 │ │ │ │ │ - vadd.f64 d4, d1, d4 │ │ │ │ │ - vldr d0, [r3] │ │ │ │ │ + vstr d4, [sp, #48] @ 0x30 │ │ │ │ │ + vadd.f64 d4, d1, d14 │ │ │ │ │ + vldr d1, [r3] │ │ │ │ │ add.w r3, sp, #1720 @ 0x6b8 │ │ │ │ │ vmul.f64 d4, d4, d10 │ │ │ │ │ - vldr d1, [r3] │ │ │ │ │ - add.w r3, sp, #1904 @ 0x770 │ │ │ │ │ - vadd.f64 d6, d0, d1 │ │ │ │ │ + vsub.f64 d8, d0, d4 │ │ │ │ │ + vadd.f64 d4, d0, d4 │ │ │ │ │ vldr d0, [r3] │ │ │ │ │ - vsub.f64 d8, d14, d4 │ │ │ │ │ - vadd.f64 d4, d14, d4 │ │ │ │ │ + add.w r3, sp, #1904 @ 0x770 │ │ │ │ │ + vadd.f64 d6, d1, d0 │ │ │ │ │ + vldr d1, [r3] │ │ │ │ │ add.w r3, sp, #1616 @ 0x650 │ │ │ │ │ vmul.f64 d6, d6, d10 │ │ │ │ │ - vsub.f64 d14, d0, d6 │ │ │ │ │ - vadd.f64 d6, d0, d6 │ │ │ │ │ + vsub.f64 d14, d1, d6 │ │ │ │ │ + vadd.f64 d6, d1, d6 │ │ │ │ │ vmul.f64 d9, d14, d9 │ │ │ │ │ vmov.f64 d0, d9 │ │ │ │ │ - vldr d9, [pc, #-192] @ 2ab8 │ │ │ │ │ + vldr d9, [pc, #-188] @ 2b78 │ │ │ │ │ vnmls.f64 d0, d8, d9 │ │ │ │ │ vmul.f64 d9, d6, d3 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ + vnmls.f64 d6, d4, d3 │ │ │ │ │ vmov.f64 d1, d9 │ │ │ │ │ - vldr d9, [pc, #-212] @ 2ab8 │ │ │ │ │ + vldr d9, [pc, #-212] @ 2b78 │ │ │ │ │ vmla.f64 d1, d4, d2 │ │ │ │ │ - vnmls.f64 d6, d4, d3 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ add.w r3, sp, #1688 @ 0x698 │ │ │ │ │ vmul.f64 d14, d14, d9 │ │ │ │ │ - vstr d1, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d1, [pc, #-248] @ 2ab0 │ │ │ │ │ - vstr d6, [sp, #56] @ 0x38 │ │ │ │ │ - vmla.f64 d14, d8, d1 │ │ │ │ │ - vldr d8, [r3] │ │ │ │ │ + vstr d6, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ add.w r3, sp, #1944 @ 0x798 │ │ │ │ │ - vadd.f64 d3, d4, d8 │ │ │ │ │ + vstr d1, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d1, [pc, #-256] @ 2b70 │ │ │ │ │ + vadd.f64 d3, d4, d6 │ │ │ │ │ + vmla.f64 d14, d8, d1 │ │ │ │ │ vldr d8, [r3] │ │ │ │ │ add.w r3, sp, #1624 @ 0x658 │ │ │ │ │ vmul.f64 d3, d3, d10 │ │ │ │ │ vsub.f64 d4, d8, d3 │ │ │ │ │ vadd.f64 d3, d8, d3 │ │ │ │ │ vldr d8, [r3] │ │ │ │ │ add.w r3, sp, #1696 @ 0x6a0 │ │ │ │ │ - vldr d1, [r3] │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ add.w r3, sp, #1960 @ 0x7a8 │ │ │ │ │ - vstr d3, [sp, #16] │ │ │ │ │ - vadd.f64 d6, d8, d1 │ │ │ │ │ vldr d1, [r3] │ │ │ │ │ - ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d3, [sp, #16] │ │ │ │ │ + ldr r3, [sp, #528] @ 0x210 │ │ │ │ │ + vadd.f64 d6, d8, d6 │ │ │ │ │ vmul.f64 d6, d6, d10 │ │ │ │ │ vsub.f64 d8, d1, d6 │ │ │ │ │ vadd.f64 d6, d1, d6 │ │ │ │ │ - vldr d1, [pc, #-332] @ 2ab0 │ │ │ │ │ + vldr d1, [pc, #-328] @ 2b70 │ │ │ │ │ vmul.f64 d10, d8, d1 │ │ │ │ │ vmla.f64 d10, d4, d9 │ │ │ │ │ vmul.f64 d9, d3, d2 │ │ │ │ │ - vldr d3, [pc, #-332] @ 2ac0 │ │ │ │ │ + vldr d3, [pc, #-328] @ 2b80 │ │ │ │ │ vmul.f64 d4, d4, d1 │ │ │ │ │ - vldr d1, [sp, #24] │ │ │ │ │ vnmls.f64 d9, d6, d3 │ │ │ │ │ - vldr d3, [pc, #-356] @ 2ab8 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ - vldr d2, [sp, #16] │ │ │ │ │ + vldr d3, [pc, #-352] @ 2b78 │ │ │ │ │ + vmov.f64 d1, d6 │ │ │ │ │ + vldr d6, [sp, #16] │ │ │ │ │ vnmls.f64 d4, d8, d3 │ │ │ │ │ - vldr d3, [pc, #-364] @ 2ac0 │ │ │ │ │ - vmla.f64 d6, d2, d3 │ │ │ │ │ + vldr d3, [pc, #-360] @ 2b80 │ │ │ │ │ + vmla.f64 d1, d6, d3 │ │ │ │ │ + vldr d6, [sp, #8] │ │ │ │ │ vadd.f64 d3, d0, d10 │ │ │ │ │ vsub.f64 d10, d0, d10 │ │ │ │ │ - vmov.f64 d2, d6 │ │ │ │ │ - vldr d6, [sp] │ │ │ │ │ + vmov.f64 d2, d1 │ │ │ │ │ + vldr d1, [sp, #40] @ 0x28 │ │ │ │ │ vadd.f64 d6, d6, d1 │ │ │ │ │ vsub.f64 d8, d6, d3 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ vadd.f64 d3, d14, d4 │ │ │ │ │ vsub.f64 d4, d4, d14 │ │ │ │ │ vmov.f64 d14, d2 │ │ │ │ │ - vstr d8, [r4] │ │ │ │ │ + vstr d8, [r3] │ │ │ │ │ + ldr r3, [sp, #32] │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ vadd.f64 d6, d7, d5 │ │ │ │ │ - ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - ldr r4, [sp, #504] @ 0x1f8 │ │ │ │ │ + ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ vadd.f64 d8, d3, d6 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ + vldr d3, [pc, #-440] @ 2b80 │ │ │ │ │ vadd.f64 d5, d10, d7 │ │ │ │ │ vsub.f64 d7, d7, d10 │ │ │ │ │ - vldr d3, [pc, #-448] @ 2ac0 │ │ │ │ │ vstr d8, [r3] │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ - vldr d6, [sp] │ │ │ │ │ - ldr r4, [sp, #512] @ 0x200 │ │ │ │ │ - ldr r3, [sp, #528] @ 0x210 │ │ │ │ │ + vldr d0, [sp, #72] @ 0x48 │ │ │ │ │ + ldr r3, [sp, #536] @ 0x218 │ │ │ │ │ + vldr d8, [pc, #-456] @ 2b88 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + vldr d6, [sp, #8] │ │ │ │ │ + ldr r3, [sp, #544] @ 0x220 │ │ │ │ │ vsub.f64 d1, d6, d1 │ │ │ │ │ - vldr d0, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d8, [pc, #-468] @ 2ac8 │ │ │ │ │ vsub.f64 d6, d1, d4 │ │ │ │ │ vadd.f64 d1, d1, d4 │ │ │ │ │ - vldr d4, [sp, #32] │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ - vadd.f64 d6, d0, d2 │ │ │ │ │ - vstr d1, [r3] │ │ │ │ │ + vldr d4, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + vadd.f64 d6, d0, d14 │ │ │ │ │ vsub.f64 d2, d12, d4 │ │ │ │ │ - ldr r3, [sp, #536] @ 0x218 │ │ │ │ │ - ldr r4, [sp, #520] @ 0x208 │ │ │ │ │ - vldr d1, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r3, [sp, #560] @ 0x230 │ │ │ │ │ + vstr d1, [r3] │ │ │ │ │ + vldr d1, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r3, [sp, #568] @ 0x238 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + ldr r3, [sp, #552] @ 0x228 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vadd.f64 d7, d12, d4 │ │ │ │ │ - ldr r3, [sp, #464] @ 0x1d0 │ │ │ │ │ - ldr r4, [sp, #232] @ 0xe8 │ │ │ │ │ + ldr r3, [sp, #496] @ 0x1f0 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d1, d9 │ │ │ │ │ vsub.f64 d9, d9, d1 │ │ │ │ │ - vldr d1, [sp, #976] @ 0x3d0 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - ldr r3, [sp, #8] │ │ │ │ │ + ldr r3, [sp, #80] @ 0x50 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vadd.f64 d7, d13, d11 │ │ │ │ │ - ldr r3, [sp, #88] @ 0x58 │ │ │ │ │ vsub.f64 d11, d11, d13 │ │ │ │ │ + ldr r3, [sp, #488] @ 0x1e8 │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - ldr r3, [sp, #472] @ 0x1d8 │ │ │ │ │ + ldr r3, [sp, #504] @ 0x1f8 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d2, d9 │ │ │ │ │ - ldr r3, [sp, #480] @ 0x1e0 │ │ │ │ │ vadd.f64 d2, d2, d9 │ │ │ │ │ + ldr r3, [sp, #512] @ 0x200 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d0, d14 │ │ │ │ │ - ldr r3, [sp, #224] @ 0xe0 │ │ │ │ │ + ldr r3, [sp, #232] @ 0xe8 │ │ │ │ │ vadd.f64 d6, d7, d11 │ │ │ │ │ - vsub.f64 d11, d11, d7 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ - ldr r3, [sp, #488] @ 0x1e8 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ + vsub.f64 d11, d11, d7 │ │ │ │ │ + ldr r3, [sp, #240] @ 0xf0 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + ldr r3, [sp, #520] @ 0x208 │ │ │ │ │ vstr d11, [r3] │ │ │ │ │ add.w r3, sp, #1040 @ 0x410 │ │ │ │ │ + vldr d11, [sp, #976] @ 0x3d0 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ add.w r3, sp, #1088 @ 0x440 │ │ │ │ │ - vsub.f64 d6, d1, d7 │ │ │ │ │ + vsub.f64 d6, d11, d7 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ add.w r3, sp, #1152 @ 0x480 │ │ │ │ │ - vmov.f64 d1, d3 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ add.w r3, sp, #1160 @ 0x488 │ │ │ │ │ + vldr d11, [r3] │ │ │ │ │ + add.w r3, sp, #1096 @ 0x448 │ │ │ │ │ + vldr d1, [sp, #968] @ 0x3c8 │ │ │ │ │ vsub.f64 d12, d7, d4 │ │ │ │ │ - vadd.f64 d2, d6, d12 │ │ │ │ │ vsub.f64 d0, d6, d12 │ │ │ │ │ - vstr d2, [sp] │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - add.w r3, sp, #1096 @ 0x448 │ │ │ │ │ - vldr d11, [sp, #968] @ 0x3c8 │ │ │ │ │ + vadd.f64 d2, d6, d12 │ │ │ │ │ vldr d12, [r3] │ │ │ │ │ add.w r3, sp, #1064 @ 0x428 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ add.w r3, sp, #1248 @ 0x4e0 │ │ │ │ │ - vsub.f64 d7, d6, d12 │ │ │ │ │ - vsub.f64 d6, d11, d9 │ │ │ │ │ + vsub.f64 d7, d11, d12 │ │ │ │ │ vldr d11, [r3] │ │ │ │ │ add.w r3, sp, #1264 @ 0x4f0 │ │ │ │ │ - vldr d9, [r3] │ │ │ │ │ + vstr d2, [sp, #8] │ │ │ │ │ + vldr d12, [pc, #-708] @ 2b90 │ │ │ │ │ + vsub.f64 d6, d1, d9 │ │ │ │ │ + vldr d1, [r3] │ │ │ │ │ add.w r3, sp, #1296 @ 0x510 │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ + add.w r3, sp, #1280 @ 0x500 │ │ │ │ │ vadd.f64 d13, d7, d6 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vsub.f64 d5, d11, d9 │ │ │ │ │ - vldr d11, [r3] │ │ │ │ │ - add.w r3, sp, #1280 @ 0x500 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ add.w r3, sp, #1360 @ 0x550 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ + vsub.f64 d5, d11, d1 │ │ │ │ │ + vmov.f64 d1, d3 │ │ │ │ │ + vldr d11, [r3] │ │ │ │ │ add.w r3, sp, #1376 @ 0x560 │ │ │ │ │ - vsub.f64 d7, d11, d7 │ │ │ │ │ - vldr d9, [r3] │ │ │ │ │ + vsub.f64 d7, d4, d7 │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ add.w r3, sp, #1408 @ 0x580 │ │ │ │ │ + vsub.f64 d4, d11, d4 │ │ │ │ │ + vldr d11, [r3] │ │ │ │ │ + add.w r3, sp, #1392 @ 0x570 │ │ │ │ │ vmul.f64 d2, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ - vldr d12, [r3] │ │ │ │ │ - add.w r3, sp, #1392 @ 0x570 │ │ │ │ │ - vmla.f64 d7, d5, d3 │ │ │ │ │ - vsub.f64 d4, d4, d9 │ │ │ │ │ - vldr d11, [r3] │ │ │ │ │ - vnmls.f64 d2, d5, d8 │ │ │ │ │ - add.w r3, sp, #1544 @ 0x608 │ │ │ │ │ - vsub.f64 d5, d12, d11 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ - add.w r3, sp, #1560 @ 0x618 │ │ │ │ │ + add.w r3, sp, #1544 @ 0x608 │ │ │ │ │ + vnmls.f64 d2, d5, d8 │ │ │ │ │ + vmla.f64 d7, d5, d3 │ │ │ │ │ + vsub.f64 d5, d11, d9 │ │ │ │ │ vmul.f64 d3, d5, d3 │ │ │ │ │ vmla.f64 d3, d4, d8 │ │ │ │ │ vmul.f64 d4, d4, d1 │ │ │ │ │ vnmls.f64 d4, d5, d8 │ │ │ │ │ vsub.f64 d5, d2, d3 │ │ │ │ │ vadd.f64 d3, d2, d3 │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ + add.w r3, sp, #1560 @ 0x618 │ │ │ │ │ + vldr d9, [r3] │ │ │ │ │ add.w r3, sp, #1640 @ 0x668 │ │ │ │ │ vsub.f64 d1, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vldr d11, [r3] │ │ │ │ │ + vstr d3, [sp, #16] │ │ │ │ │ + vsub.f64 d3, d2, d9 │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ add.w r3, sp, #1656 @ 0x678 │ │ │ │ │ - vstr d3, [sp, #8] │ │ │ │ │ - vsub.f64 d3, d9, d2 │ │ │ │ │ - vldr d2, [pc, #-872] @ 2ad0 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ add.w r3, sp, #1592 @ 0x638 │ │ │ │ │ - vldr d12, [r3] │ │ │ │ │ - add.w r3, sp, #1576 @ 0x628 │ │ │ │ │ - vsub.f64 d4, d11, d9 │ │ │ │ │ + vsub.f64 d4, d2, d9 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ + add.w r3, sp, #1576 @ 0x628 │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ add.w r3, sp, #1664 @ 0x680 │ │ │ │ │ - vsub.f64 d8, d3, d4 │ │ │ │ │ - vadd.f64 d3, d3, d4 │ │ │ │ │ vldr d11, [r3] │ │ │ │ │ add.w r3, sp, #1648 @ 0x670 │ │ │ │ │ - vsub.f64 d4, d12, d9 │ │ │ │ │ - vldr d12, [pc, #-916] @ 2ad8 │ │ │ │ │ + vsub.f64 d8, d3, d4 │ │ │ │ │ + vadd.f64 d3, d3, d4 │ │ │ │ │ + vsub.f64 d4, d9, d2 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ add.w r3, sp, #1456 @ 0x5b0 │ │ │ │ │ + vldr d2, [pc, #-928] @ 2b98 │ │ │ │ │ vsub.f64 d9, d11, d9 │ │ │ │ │ - vldr d11, [pc, #-924] @ 2ae0 │ │ │ │ │ + vldr d11, [pc, #-928] @ 2ba0 │ │ │ │ │ vsub.f64 d14, d4, d9 │ │ │ │ │ vadd.f64 d4, d4, d9 │ │ │ │ │ vmul.f64 d9, d14, d2 │ │ │ │ │ vmul.f64 d14, d14, d11 │ │ │ │ │ - vmov.f64 d10, d9 │ │ │ │ │ - vmul.f64 d9, d4, d12 │ │ │ │ │ - vmla.f64 d10, d8, d11 │ │ │ │ │ vnmls.f64 d14, d8, d2 │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ add.w r3, sp, #1472 @ 0x5c0 │ │ │ │ │ - vstr d10, [sp, #16] │ │ │ │ │ - vldr d10, [pc, #-964] @ 2ae8 │ │ │ │ │ + vmov.f64 d10, d9 │ │ │ │ │ + vmul.f64 d9, d4, d12 │ │ │ │ │ + vmla.f64 d10, d8, d11 │ │ │ │ │ + vstr d10, [sp, #32] │ │ │ │ │ + vldr d10, [pc, #-968] @ 2ba8 │ │ │ │ │ vmul.f64 d4, d4, d10 │ │ │ │ │ vnmls.f64 d9, d3, d10 │ │ │ │ │ vmla.f64 d4, d3, d12 │ │ │ │ │ vldr d12, [r3] │ │ │ │ │ add.w r3, sp, #1784 @ 0x6f8 │ │ │ │ │ + vstr d9, [sp, #40] @ 0x28 │ │ │ │ │ vsub.f64 d2, d2, d12 │ │ │ │ │ - vstr d9, [sp, #24] │ │ │ │ │ - vstr d4, [sp, #32] │ │ │ │ │ + vstr d4, [sp, #48] @ 0x30 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ add.w r3, sp, #1800 @ 0x708 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ add.w r3, sp, #1504 @ 0x5e0 │ │ │ │ │ - vsub.f64 d3, d4, d3 │ │ │ │ │ vldr d12, [r3] │ │ │ │ │ add.w r3, sp, #1488 @ 0x5d0 │ │ │ │ │ + vsub.f64 d3, d4, d3 │ │ │ │ │ vsub.f64 d4, d2, d3 │ │ │ │ │ vadd.f64 d2, d2, d3 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ add.w r3, sp, #1808 @ 0x710 │ │ │ │ │ - vsub.f64 d3, d12, d3 │ │ │ │ │ - vldr d12, [r3] │ │ │ │ │ + vldr d9, [r3] │ │ │ │ │ add.w r3, sp, #1792 @ 0x700 │ │ │ │ │ vldr d10, [r3] │ │ │ │ │ - vsub.f64 d9, d12, d10 │ │ │ │ │ + vsub.f64 d3, d12, d3 │ │ │ │ │ vmov.f64 d12, d11 │ │ │ │ │ + ldr r3, [sp, #192] @ 0xc0 │ │ │ │ │ + vsub.f64 d9, d9, d10 │ │ │ │ │ vsub.f64 d8, d3, d9 │ │ │ │ │ vadd.f64 d3, d3, d9 │ │ │ │ │ - vldr d9, [pc, #972] @ 32e8 │ │ │ │ │ + vldr d9, [pc, #976] @ 33b0 │ │ │ │ │ vmul.f64 d10, d8, d11 │ │ │ │ │ - vldr d11, [pc, #972] @ 32f0 │ │ │ │ │ + vldr d11, [pc, #976] @ 33b8 │ │ │ │ │ vnmls.f64 d10, d4, d9 │ │ │ │ │ - vmul.f64 d9, d2, d11 │ │ │ │ │ - vldr d11, [pc, #968] @ 32f8 │ │ │ │ │ vmul.f64 d4, d4, d12 │ │ │ │ │ - vldr d12, [pc, #960] @ 32f8 │ │ │ │ │ + vldr d12, [pc, #972] @ 33c0 │ │ │ │ │ + vmul.f64 d9, d2, d11 │ │ │ │ │ + vldr d11, [pc, #964] @ 33c0 │ │ │ │ │ vmla.f64 d9, d3, d11 │ │ │ │ │ - vldr d11, [pc, #936] @ 32e8 │ │ │ │ │ + vldr d11, [pc, #940] @ 33b0 │ │ │ │ │ vmla.f64 d4, d8, d11 │ │ │ │ │ - vldr d11, [pc, #936] @ 32f0 │ │ │ │ │ + vldr d11, [pc, #940] @ 33b8 │ │ │ │ │ vmul.f64 d3, d3, d11 │ │ │ │ │ - vldr d11, [sp, #16] │ │ │ │ │ - ldr r3, [sp, #648] @ 0x288 │ │ │ │ │ + vldr d11, [sp, #32] │ │ │ │ │ vnmls.f64 d3, d2, d12 │ │ │ │ │ vadd.f64 d2, d11, d10 │ │ │ │ │ vsub.f64 d10, d10, d11 │ │ │ │ │ vmov.f64 d12, d3 │ │ │ │ │ vadd.f64 d3, d0, d5 │ │ │ │ │ vsub.f64 d5, d0, d5 │ │ │ │ │ - vldr d0, [sp, #24] │ │ │ │ │ + vldr d0, [sp, #40] @ 0x28 │ │ │ │ │ vsub.f64 d8, d3, d2 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ vadd.f64 d2, d14, d4 │ │ │ │ │ vsub.f64 d14, d14, d4 │ │ │ │ │ vstr d8, [r3] │ │ │ │ │ ldr r3, [sp, #168] @ 0xa8 │ │ │ │ │ vsub.f64 d4, d5, d14 │ │ │ │ │ vadd.f64 d5, d5, d14 │ │ │ │ │ - vldr d14, [sp, #32] │ │ │ │ │ + vldr d14, [sp, #48] @ 0x30 │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ vadd.f64 d3, d6, d1 │ │ │ │ │ - ldr r3, [sp, #192] @ 0xc0 │ │ │ │ │ vsub.f64 d6, d6, d1 │ │ │ │ │ + ldr r3, [sp, #672] @ 0x2a0 │ │ │ │ │ vadd.f64 d8, d2, d3 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ - vldr d2, [sp] │ │ │ │ │ - vstr d8, [r3] │ │ │ │ │ - ldr r3, [sp, #656] @ 0x290 │ │ │ │ │ + vldr d2, [sp, #8] │ │ │ │ │ + vstr d8, [ip] │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ + vldr d3, [sp, #16] │ │ │ │ │ ldr r3, [sp, #208] @ 0xd0 │ │ │ │ │ - vldr d3, [sp, #8] │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ vadd.f64 d4, d10, d6 │ │ │ │ │ - ldr r3, [sp, #632] @ 0x278 │ │ │ │ │ vsub.f64 d6, d6, d10 │ │ │ │ │ - vldr d10, [pc, #892] @ 3348 │ │ │ │ │ + ldr r3, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d10, [pc, #916] @ 3420 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ vadd.f64 d5, d14, d12 │ │ │ │ │ - ldr r3, [sp, #640] @ 0x280 │ │ │ │ │ + ldr r3, [sp, #664] @ 0x298 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ - ldr r3, [sp, #256] @ 0x100 │ │ │ │ │ + ldr r3, [sp, #216] @ 0xd8 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ vadd.f64 d6, d2, d7 │ │ │ │ │ - ldr r3, [sp, #664] @ 0x298 │ │ │ │ │ vsub.f64 d7, d2, d7 │ │ │ │ │ + ldr r3, [sp, #680] @ 0x2a8 │ │ │ │ │ vsub.f64 d4, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vadd.f64 d5, d0, d9 │ │ │ │ │ vsub.f64 d9, d0, d9 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ - ldr r3, [sp, #104] @ 0x68 │ │ │ │ │ + ldr r3, [sp, #112] @ 0x70 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ vadd.f64 d6, d13, d3 │ │ │ │ │ - ldr r3, [sp, #112] @ 0x70 │ │ │ │ │ vsub.f64 d13, d13, d3 │ │ │ │ │ - vldr d3, [pc, #828] @ 3350 │ │ │ │ │ + ldr r3, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d3, [pc, #836] @ 3418 │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vsub.f64 d5, d7, d9 │ │ │ │ │ vadd.f64 d7, d7, d9 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ - ldr r3, [sp, #672] @ 0x2a0 │ │ │ │ │ + ldr r3, [sp, #688] @ 0x2b0 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ - ldr r3, [sp, #680] @ 0x2a8 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ ldr r3, [sp, #696] @ 0x2b8 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + ldr r3, [sp, #712] @ 0x2c8 │ │ │ │ │ + vldr d0, [sp, #984] @ 0x3d8 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d12, d14 │ │ │ │ │ - ldr r3, [sp, #704] @ 0x2c0 │ │ │ │ │ - vldr d0, [sp, #984] @ 0x3d8 │ │ │ │ │ + ldr r3, [sp, #720] @ 0x2d0 │ │ │ │ │ vadd.f64 d6, d7, d13 │ │ │ │ │ vsub.f64 d13, d13, d7 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ - ldr r3, [sp, #688] @ 0x2b0 │ │ │ │ │ + ldr r3, [sp, #704] @ 0x2c0 │ │ │ │ │ vstr d13, [r3] │ │ │ │ │ add.w r3, sp, #1056 @ 0x420 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ add.w r3, sp, #1104 @ 0x450 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ add.w r3, sp, #1168 @ 0x490 │ │ │ │ │ vsub.f64 d6, d0, d14 │ │ │ │ │ vldr d0, [r3] │ │ │ │ │ add.w r3, sp, #1176 @ 0x498 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ add.w r3, sp, #1112 @ 0x458 │ │ │ │ │ - vsub.f64 d12, d5, d0 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ add.w r3, sp, #1048 @ 0x418 │ │ │ │ │ + vsub.f64 d12, d5, d0 │ │ │ │ │ + vldr d1, [r3] │ │ │ │ │ + add.w r3, sp, #1256 @ 0x4e8 │ │ │ │ │ + vsub.f64 d7, d9, d14 │ │ │ │ │ + vmov.f64 d9, d3 │ │ │ │ │ vsub.f64 d0, d6, d12 │ │ │ │ │ vadd.f64 d12, d6, d12 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ - vsub.f64 d7, d9, d14 │ │ │ │ │ vldr d6, [sp, #960] @ 0x3c0 │ │ │ │ │ - add.w r3, sp, #1256 @ 0x4e8 │ │ │ │ │ - vmov.f64 d9, d3 │ │ │ │ │ - vsub.f64 d6, d6, d2 │ │ │ │ │ + vsub.f64 d6, d6, d1 │ │ │ │ │ vadd.f64 d13, d7, d6 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vstr d6, [sp] │ │ │ │ │ + vstr d6, [sp, #8] │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ add.w r3, sp, #1288 @ 0x508 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ add.w r3, sp, #1304 @ 0x518 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ + vsub.f64 d7, d6, d2 │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ add.w r3, sp, #1272 @ 0x4f8 │ │ │ │ │ - vsub.f64 d7, d6, d4 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ add.w r3, sp, #1416 @ 0x588 │ │ │ │ │ - vsub.f64 d5, d5, d6 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - add.w r3, sp, #1384 @ 0x568 │ │ │ │ │ + vsub.f64 d5, d2, d6 │ │ │ │ │ vmul.f64 d2, d5, d10 │ │ │ │ │ - vldr d1, [r3] │ │ │ │ │ - add.w r3, sp, #1368 @ 0x558 │ │ │ │ │ vnmls.f64 d2, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d10 │ │ │ │ │ vmla.f64 d7, d5, d3 │ │ │ │ │ - vsub.f64 d5, d6, d1 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ + add.w r3, sp, #1384 @ 0x568 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + add.w r3, sp, #1368 @ 0x558 │ │ │ │ │ + vsub.f64 d5, d5, d6 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ add.w r3, sp, #1400 @ 0x578 │ │ │ │ │ - vldr d1, [r3] │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ add.w r3, sp, #1552 @ 0x610 │ │ │ │ │ - vsub.f64 d4, d6, d1 │ │ │ │ │ + vsub.f64 d4, d6, d4 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + add.w r3, sp, #1584 @ 0x630 │ │ │ │ │ vmul.f64 d3, d4, d3 │ │ │ │ │ vmul.f64 d4, d4, d10 │ │ │ │ │ vmla.f64 d3, d5, d10 │ │ │ │ │ vnmls.f64 d4, d5, d9 │ │ │ │ │ - vadd.f64 d11, d2, d3 │ │ │ │ │ vsub.f64 d5, d2, d3 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ - add.w r3, sp, #1584 @ 0x630 │ │ │ │ │ + vadd.f64 d11, d2, d3 │ │ │ │ │ + vldr d3, [r3] │ │ │ │ │ + add.w r3, sp, #1704 @ 0x6a8 │ │ │ │ │ vsub.f64 d1, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - add.w r3, sp, #1704 @ 0x6a8 │ │ │ │ │ - vstr d5, [sp, #8] │ │ │ │ │ - vsub.f64 d3, d2, d6 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ + vstr d5, [sp, #16] │ │ │ │ │ + vsub.f64 d3, d6, d3 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ add.w r3, sp, #1672 @ 0x688 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ add.w r3, sp, #1600 @ 0x640 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - add.w r3, sp, #1568 @ 0x620 │ │ │ │ │ - vsub.f64 d4, d2, d6 │ │ │ │ │ vldr d10, [r3] │ │ │ │ │ + add.w r3, sp, #1568 @ 0x620 │ │ │ │ │ + vsub.f64 d4, d5, d6 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ add.w r3, sp, #1680 @ 0x690 │ │ │ │ │ vsub.f64 d8, d3, d4 │ │ │ │ │ vadd.f64 d3, d3, d4 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ - add.w r3, sp, #1712 @ 0x6b0 │ │ │ │ │ - vsub.f64 d4, d5, d10 │ │ │ │ │ - vldr d5, [pc, #376] @ 3300 │ │ │ │ │ + vsub.f64 d4, d10, d6 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ + add.w r3, sp, #1712 @ 0x6b0 │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ add.w r3, sp, #1464 @ 0x5b8 │ │ │ │ │ - vsub.f64 d9, d2, d6 │ │ │ │ │ - vldr d2, [pc, #368] @ 3308 │ │ │ │ │ - vldr d6, [pc, #444] @ 3358 │ │ │ │ │ + vldr d10, [pc, #376] @ 33c8 │ │ │ │ │ + vsub.f64 d9, d6, d2 │ │ │ │ │ + vldr d2, [pc, #376] @ 33d0 │ │ │ │ │ + vldr d6, [pc, #436] @ 3410 │ │ │ │ │ vsub.f64 d14, d4, d9 │ │ │ │ │ vadd.f64 d4, d4, d9 │ │ │ │ │ vmul.f64 d9, d14, d2 │ │ │ │ │ vmul.f64 d14, d14, d6 │ │ │ │ │ - vmov.f64 d10, d9 │ │ │ │ │ - vmul.f64 d9, d4, d5 │ │ │ │ │ - vmla.f64 d10, d8, d6 │ │ │ │ │ vnmls.f64 d14, d8, d2 │ │ │ │ │ - vstr d10, [sp, #16] │ │ │ │ │ - vldr d10, [pc, #332] @ 3310 │ │ │ │ │ + vmov.f64 d5, d9 │ │ │ │ │ + vmla.f64 d5, d8, d6 │ │ │ │ │ + vstr d5, [sp, #32] │ │ │ │ │ + vldr d5, [pc, #344] @ 33d8 │ │ │ │ │ + ldr r4, [sp, #160] @ 0xa0 │ │ │ │ │ + vmul.f64 d9, d4, d5 │ │ │ │ │ vmul.f64 d4, d4, d10 │ │ │ │ │ - vnmls.f64 d9, d3, d10 │ │ │ │ │ vmla.f64 d4, d3, d5 │ │ │ │ │ - vstr d9, [sp, #24] │ │ │ │ │ - vstr d4, [sp, #32] │ │ │ │ │ + vnmls.f64 d9, d3, d10 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ add.w r3, sp, #1496 @ 0x5d8 │ │ │ │ │ vldr d8, [r3] │ │ │ │ │ add.w r3, sp, #1736 @ 0x6c8 │ │ │ │ │ + vsub.f64 d2, d3, d8 │ │ │ │ │ + vstr d9, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d4, [sp, #48] @ 0x30 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ add.w r3, sp, #1816 @ 0x718 │ │ │ │ │ - vsub.f64 d2, d3, d8 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ add.w r3, sp, #1512 @ 0x5e8 │ │ │ │ │ - vsub.f64 d3, d4, d3 │ │ │ │ │ vldr d10, [r3] │ │ │ │ │ add.w r3, sp, #1480 @ 0x5c8 │ │ │ │ │ + vsub.f64 d3, d4, d3 │ │ │ │ │ vsub.f64 d4, d2, d3 │ │ │ │ │ vadd.f64 d2, d2, d3 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ add.w r3, sp, #1824 @ 0x720 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ add.w r3, sp, #1744 @ 0x6d0 │ │ │ │ │ vsub.f64 d3, d10, d3 │ │ │ │ │ - vldr d9, [r3] │ │ │ │ │ - ldr r3, [sp, #160] @ 0xa0 │ │ │ │ │ - vsub.f64 d9, d5, d9 │ │ │ │ │ + vldr d10, [r3] │ │ │ │ │ + ldr r3, [sp, #200] @ 0xc8 │ │ │ │ │ + vsub.f64 d9, d5, d10 │ │ │ │ │ vmov.f64 d5, d6 │ │ │ │ │ vsub.f64 d8, d3, d9 │ │ │ │ │ vadd.f64 d3, d3, d9 │ │ │ │ │ - vldr d9, [pc, #200] @ 3308 │ │ │ │ │ + vldr d9, [pc, #208] @ 33d0 │ │ │ │ │ vmul.f64 d10, d8, d6 │ │ │ │ │ - vldr d6, [pc, #184] @ 3300 │ │ │ │ │ + vldr d6, [pc, #208] @ 33d8 │ │ │ │ │ vnmls.f64 d10, d4, d9 │ │ │ │ │ - vmul.f64 d9, d2, d6 │ │ │ │ │ - vldr d6, [pc, #188] @ 3310 │ │ │ │ │ vmul.f64 d4, d4, d5 │ │ │ │ │ - vldr d5, [sp, #8] │ │ │ │ │ + vldr d5, [sp, #16] │ │ │ │ │ + vmul.f64 d9, d2, d6 │ │ │ │ │ + vldr d6, [pc, #172] @ 33c8 │ │ │ │ │ vmla.f64 d9, d3, d6 │ │ │ │ │ - vldr d6, [pc, #164] @ 3308 │ │ │ │ │ + vldr d6, [pc, #172] @ 33d0 │ │ │ │ │ vmla.f64 d4, d8, d6 │ │ │ │ │ - vldr d6, [pc, #148] @ 3300 │ │ │ │ │ + vldr d6, [pc, #172] @ 33d8 │ │ │ │ │ vmul.f64 d3, d3, d6 │ │ │ │ │ vmov.f64 d6, d3 │ │ │ │ │ - vldr d3, [pc, #152] @ 3310 │ │ │ │ │ + vldr d3, [pc, #144] @ 33c8 │ │ │ │ │ vnmls.f64 d6, d2, d3 │ │ │ │ │ vadd.f64 d3, d0, d5 │ │ │ │ │ vsub.f64 d5, d0, d5 │ │ │ │ │ - vstr d6, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d6, [sp, #16] │ │ │ │ │ + vstr d6, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d6, [sp, #32] │ │ │ │ │ vadd.f64 d2, d6, d10 │ │ │ │ │ vsub.f64 d10, d10, d6 │ │ │ │ │ - vldr d6, [sp] │ │ │ │ │ + vldr d6, [sp, #8] │ │ │ │ │ vsub.f64 d8, d3, d2 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ vadd.f64 d2, d14, d4 │ │ │ │ │ vsub.f64 d14, d14, d4 │ │ │ │ │ vsub.f64 d6, d6, d1 │ │ │ │ │ vstr d8, [r3] │ │ │ │ │ - vstr d3, [sl] │ │ │ │ │ + vstr d3, [r4] │ │ │ │ │ vsub.f64 d4, d5, d14 │ │ │ │ │ - vldr d3, [sp] │ │ │ │ │ vadd.f64 d5, d5, d14 │ │ │ │ │ - ldr r3, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d3, [sp, #8] │ │ │ │ │ vadd.f64 d3, d3, d1 │ │ │ │ │ - vldr d1, [sp, #32] │ │ │ │ │ + vldr d1, [sp, #48] @ 0x30 │ │ │ │ │ vadd.f64 d8, d2, d3 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ - vstr d8, [r0] │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ - ldr r0, [sp, #840] @ 0x348 │ │ │ │ │ - ldr r3, [sp, #824] @ 0x338 │ │ │ │ │ - vldr d3, [sp, #40] @ 0x28 │ │ │ │ │ - b.n 3360 │ │ │ │ │ - nop.w │ │ │ │ │ + vstr d8, [r1] │ │ │ │ │ + ldr r1, [sp, #832] @ 0x340 │ │ │ │ │ + vldr d8, [pc, #68] @ 33e0 │ │ │ │ │ + vstr d3, [r1] │ │ │ │ │ + vldr d3, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r1, [sp, #848] @ 0x350 │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ + vadd.f64 d4, d10, d6 │ │ │ │ │ + b.n 3428 │ │ │ │ │ .word 0xbc29b42c │ │ │ │ │ .word 0x3fb917a6 │ │ │ │ │ .word 0x25091dd6 │ │ │ │ │ .word 0x3fe44cf3 │ │ │ │ │ .word 0x6b151741 │ │ │ │ │ .word 0x3fe8bc80 │ │ │ │ │ - .word 0x3806f63b │ │ │ │ │ - .word 0x3fde2b5d │ │ │ │ │ - .word 0x2ed59f06 │ │ │ │ │ - .word 0x3fd29406 │ │ │ │ │ .word 0xf180bdb1 │ │ │ │ │ .word 0x3fec38b2 │ │ │ │ │ + .word 0x2ed59f06 │ │ │ │ │ + .word 0x3fd29406 │ │ │ │ │ + .word 0x3806f63b │ │ │ │ │ + .word 0x3fde2b5d │ │ │ │ │ .word 0x3c69a60b │ │ │ │ │ .word 0x3fc8f8b8 │ │ │ │ │ .word 0xcff75cb0 │ │ │ │ │ .word 0x3fef6297 │ │ │ │ │ .word 0xa3d12526 │ │ │ │ │ .word 0x3fefd88d │ │ │ │ │ .word 0x25091dd6 │ │ │ │ │ .word 0x3fe44cf3 │ │ │ │ │ .word 0x6b151741 │ │ │ │ │ .word 0x3fe8bc80 │ │ │ │ │ .word 0xbc29b42c │ │ │ │ │ .word 0x3fb917a6 │ │ │ │ │ - .word 0x290ea1a3 │ │ │ │ │ - .word 0x3fea9b66 │ │ │ │ │ - .word 0x39ae68c8 │ │ │ │ │ - .word 0x3fe1c73b │ │ │ │ │ .word 0x56c62dda │ │ │ │ │ .word 0x3fee9f41 │ │ │ │ │ - vldr d8, [pc, #-76] @ 3318 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - vadd.f64 d4, d10, d6 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ + .word 0x39ae68c8 │ │ │ │ │ + .word 0x3fe1c73b │ │ │ │ │ + .word 0x290ea1a3 │ │ │ │ │ + .word 0x3fea9b66 │ │ │ │ │ vsub.f64 d6, d6, d10 │ │ │ │ │ - ldr r0, [sp, #848] @ 0x350 │ │ │ │ │ + ldr r1, [sp, #864] @ 0x360 │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ vadd.f64 d5, d1, d3 │ │ │ │ │ - ldr r3, [sp, #832] @ 0x340 │ │ │ │ │ - vstr d4, [r0] │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ + ldr r1, [sp, #872] @ 0x368 │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ + ldr r1, [sp, #856] @ 0x358 │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ vadd.f64 d6, d12, d7 │ │ │ │ │ - ldr r0, [sp, #96] @ 0x60 │ │ │ │ │ vsub.f64 d7, d12, d7 │ │ │ │ │ + ldr r3, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d0, [sp, #40] @ 0x28 │ │ │ │ │ vsub.f64 d4, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vstr d4, [r0] │ │ │ │ │ - vstr d6, [lr] │ │ │ │ │ - vadd.f64 d6, d13, d11 │ │ │ │ │ - vldr d0, [sp, #24] │ │ │ │ │ - vsub.f64 d13, d13, d11 │ │ │ │ │ - ldr r3, [sp, #136] @ 0x88 │ │ │ │ │ vadd.f64 d5, d0, d9 │ │ │ │ │ vsub.f64 d9, d0, d9 │ │ │ │ │ vldr d0, [sp, #984] @ 0x3d8 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + ldr r3, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + vadd.f64 d6, d13, d11 │ │ │ │ │ + vsub.f64 d13, d13, d11 │ │ │ │ │ + ldr r3, [sp, #824] @ 0x338 │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vsub.f64 d5, d7, d9 │ │ │ │ │ vadd.f64 d7, d7, d9 │ │ │ │ │ - vstr d4, [r1] │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ + ldr r5, [sp, #136] @ 0x88 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ - ldr r3, [sp, #128] @ 0x80 │ │ │ │ │ - vldr d4, [pc, #-180] @ 3320 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - vstr d7, [ip] │ │ │ │ │ - vsub.f64 d7, d3, d1 │ │ │ │ │ ldr r3, [sp, #152] @ 0x98 │ │ │ │ │ - vadd.f64 d6, d7, d13 │ │ │ │ │ - vsub.f64 d13, d13, d7 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - vstr d13, [r3] │ │ │ │ │ + vldr d4, [pc, #-176] @ 33e8 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ add.w r3, sp, #1056 @ 0x420 │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ + vsub.f64 d7, d3, d1 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ add.w r3, sp, #1112 @ 0x458 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ add.w r3, sp, #1176 @ 0x498 │ │ │ │ │ + ldr r5, [sp, #840] @ 0x348 │ │ │ │ │ + vadd.f64 d6, d7, d13 │ │ │ │ │ + vsub.f64 d13, d13, d7 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ vadd.f64 d6, d0, d3 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ add.w r3, sp, #1104 @ 0x450 │ │ │ │ │ + vstr d13, [r5] │ │ │ │ │ vldr d13, [r3] │ │ │ │ │ add.w r3, sp, #1168 @ 0x490 │ │ │ │ │ vadd.f64 d12, d14, d3 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ add.w r3, sp, #1048 @ 0x418 │ │ │ │ │ - vsub.f64 d0, d6, d12 │ │ │ │ │ - vadd.f64 d12, d6, d12 │ │ │ │ │ vadd.f64 d7, d13, d14 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ add.w r3, sp, #1256 @ 0x4e8 │ │ │ │ │ + vsub.f64 d0, d6, d12 │ │ │ │ │ + vadd.f64 d12, d6, d12 │ │ │ │ │ vldr d13, [sp, #960] @ 0x3c0 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ add.w r3, sp, #1288 @ 0x508 │ │ │ │ │ - vadd.f64 d6, d13, d14 │ │ │ │ │ - vldr d14, [r3] │ │ │ │ │ + vldr d1, [r3] │ │ │ │ │ add.w r3, sp, #1272 @ 0x4f8 │ │ │ │ │ + vadd.f64 d6, d13, d14 │ │ │ │ │ vadd.f64 d13, d7, d6 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vadd.f64 d7, d3, d14 │ │ │ │ │ + vadd.f64 d7, d3, d1 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ add.w r3, sp, #1304 @ 0x518 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ add.w r3, sp, #1384 @ 0x568 │ │ │ │ │ vadd.f64 d5, d3, d14 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ add.w r3, sp, #1416 @ 0x588 │ │ │ │ │ + vldr d1, [r3] │ │ │ │ │ + add.w r3, sp, #1368 @ 0x558 │ │ │ │ │ vmul.f64 d2, d5, d8 │ │ │ │ │ + vadd.f64 d3, d3, d1 │ │ │ │ │ + vldr d1, [r3] │ │ │ │ │ + add.w r3, sp, #1400 @ 0x578 │ │ │ │ │ + vldr d14, [r3] │ │ │ │ │ + add.w r3, sp, #1568 @ 0x620 │ │ │ │ │ vnmls.f64 d2, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ vmla.f64 d7, d5, d4 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - add.w r3, sp, #1368 @ 0x558 │ │ │ │ │ - vadd.f64 d3, d3, d5 │ │ │ │ │ - vldr d14, [r3] │ │ │ │ │ - add.w r3, sp, #1400 @ 0x578 │ │ │ │ │ - vldr d1, [r3] │ │ │ │ │ - add.w r3, sp, #1568 @ 0x620 │ │ │ │ │ - vadd.f64 d5, d14, d1 │ │ │ │ │ + vadd.f64 d5, d1, d14 │ │ │ │ │ vmov.f64 d1, d4 │ │ │ │ │ vmul.f64 d4, d5, d4 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ - vmla.f64 d4, d3, d8 │ │ │ │ │ vnmls.f64 d5, d3, d1 │ │ │ │ │ - vsub.f64 d3, d2, d4 │ │ │ │ │ + vmla.f64 d4, d3, d8 │ │ │ │ │ vsub.f64 d1, d5, d7 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vstr d7, [sp, #16] │ │ │ │ │ + vsub.f64 d3, d2, d4 │ │ │ │ │ + vstr d7, [sp, #32] │ │ │ │ │ vadd.f64 d7, d2, d4 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ + vstr d7, [sp, #8] │ │ │ │ │ + vldr d8, [r3] │ │ │ │ │ add.w r3, sp, #1600 @ 0x640 │ │ │ │ │ - vstr d7, [sp] │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ add.w r3, sp, #1672 @ 0x688 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ add.w r3, sp, #1704 @ 0x6a8 │ │ │ │ │ - vadd.f64 d4, d4, d7 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ add.w r3, sp, #1552 @ 0x610 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ add.w r3, sp, #1584 @ 0x630 │ │ │ │ │ - vadd.f64 d5, d14, d5 │ │ │ │ │ - ldr r4, [sp, #760] @ 0x2f8 │ │ │ │ │ - ldr r0, [sp, #784] @ 0x310 │ │ │ │ │ + vadd.f64 d4, d8, d4 │ │ │ │ │ vldr d8, [r3] │ │ │ │ │ add.w r3, sp, #1680 @ 0x690 │ │ │ │ │ - vsub.f64 d14, d4, d5 │ │ │ │ │ - vadd.f64 d4, d4, d5 │ │ │ │ │ - vadd.f64 d5, d2, d8 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ - add.w r3, sp, #1712 @ 0x6b0 │ │ │ │ │ - vldr d8, [pc, #-492] @ 3340 │ │ │ │ │ vldr d10, [r3] │ │ │ │ │ + add.w r3, sp, #1712 @ 0x6b0 │ │ │ │ │ + vadd.f64 d5, d14, d5 │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ add.w r3, sp, #1464 @ 0x5b8 │ │ │ │ │ - vadd.f64 d2, d2, d10 │ │ │ │ │ - vldr d10, [pc, #-524] @ 3330 │ │ │ │ │ + ldr r4, [sp, #768] @ 0x300 │ │ │ │ │ + vsub.f64 d14, d4, d5 │ │ │ │ │ + vadd.f64 d4, d4, d5 │ │ │ │ │ + ldr r1, [sp, #776] @ 0x308 │ │ │ │ │ + vadd.f64 d5, d7, d8 │ │ │ │ │ + vadd.f64 d2, d10, d2 │ │ │ │ │ + vldr d10, [pc, #-512] @ 33f8 │ │ │ │ │ + vldr d8, [pc, #-500] @ 3408 │ │ │ │ │ vsub.f64 d9, d5, d2 │ │ │ │ │ vadd.f64 d5, d5, d2 │ │ │ │ │ - vldr d2, [pc, #-528] @ 3338 │ │ │ │ │ + vldr d2, [pc, #-520] @ 3400 │ │ │ │ │ vmov.f64 d11, d2 │ │ │ │ │ vmul.f64 d2, d9, d2 │ │ │ │ │ vmov.f64 d7, d2 │ │ │ │ │ vmul.f64 d2, d4, d8 │ │ │ │ │ vmla.f64 d7, d14, d10 │ │ │ │ │ vmul.f64 d14, d14, d11 │ │ │ │ │ vnmls.f64 d14, d9, d10 │ │ │ │ │ - vstr d7, [sp, #24] │ │ │ │ │ - vldr d7, [pc, #-580] @ 3328 │ │ │ │ │ + vstr d7, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d7, [pc, #-572] @ 33f0 │ │ │ │ │ vnmls.f64 d2, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ vmla.f64 d5, d4, d7 │ │ │ │ │ - vstr d2, [sp, #32] │ │ │ │ │ - vstr d5, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d2, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d5, [sp, #56] @ 0x38 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ add.w r3, sp, #1496 @ 0x5d8 │ │ │ │ │ vldr d8, [r3] │ │ │ │ │ add.w r3, sp, #1824 @ 0x720 │ │ │ │ │ vadd.f64 d4, d5, d8 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ add.w r3, sp, #1744 @ 0x6d0 │ │ │ │ │ @@ -3622,153 +3633,151 @@ │ │ │ │ │ vadd.f64 d5, d5, d10 │ │ │ │ │ vsub.f64 d8, d4, d5 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ add.w r3, sp, #1512 @ 0x5e8 │ │ │ │ │ vldr d10, [r3] │ │ │ │ │ add.w r3, sp, #1816 @ 0x718 │ │ │ │ │ - vstr d8, [sp, #8] │ │ │ │ │ + vstr d8, [sp, #16] │ │ │ │ │ vadd.f64 d5, d5, d10 │ │ │ │ │ vldr d10, [r3] │ │ │ │ │ add.w r3, sp, #1736 @ 0x6c8 │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ - ldr r3, [sp, #776] @ 0x308 │ │ │ │ │ + ldr r3, [sp, #808] @ 0x328 │ │ │ │ │ vadd.f64 d9, d10, d2 │ │ │ │ │ vsub.f64 d2, d5, d9 │ │ │ │ │ vadd.f64 d5, d5, d9 │ │ │ │ │ - vldr d9, [pc, #-692] @ 3330 │ │ │ │ │ + vldr d9, [pc, #-688] @ 33f8 │ │ │ │ │ vmul.f64 d10, d2, d11 │ │ │ │ │ vmov.f64 d11, d9 │ │ │ │ │ + vmul.f64 d2, d2, d11 │ │ │ │ │ + vldr d11, [sp, #16] │ │ │ │ │ vnmls.f64 d10, d8, d9 │ │ │ │ │ - vldr d8, [pc, #-692] @ 3340 │ │ │ │ │ vmul.f64 d9, d5, d7 │ │ │ │ │ - vmul.f64 d2, d2, d11 │ │ │ │ │ - vldr d11, [sp, #8] │ │ │ │ │ + vldr d8, [pc, #-700] @ 3408 │ │ │ │ │ vmla.f64 d9, d4, d8 │ │ │ │ │ - vldr d8, [pc, #-720] @ 3338 │ │ │ │ │ + vldr d8, [pc, #-716] @ 3400 │ │ │ │ │ vmla.f64 d2, d11, d8 │ │ │ │ │ - vldr d8, [pc, #-720] @ 3340 │ │ │ │ │ + vldr d8, [pc, #-716] @ 3408 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ vnmls.f64 d5, d4, d7 │ │ │ │ │ - vldr d7, [sp, #24] │ │ │ │ │ + vldr d7, [sp, #40] @ 0x28 │ │ │ │ │ vadd.f64 d4, d7, d10 │ │ │ │ │ vsub.f64 d10, d10, d7 │ │ │ │ │ vmov.f64 d11, d5 │ │ │ │ │ vadd.f64 d5, d0, d3 │ │ │ │ │ vsub.f64 d3, d0, d3 │ │ │ │ │ - vldr d0, [pc, #-748] @ 3348 │ │ │ │ │ + vmov.f64 d0, d11 │ │ │ │ │ + vldr d11, [pc, #-748] @ 3410 │ │ │ │ │ vsub.f64 d8, d5, d4 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ vadd.f64 d4, d14, d2 │ │ │ │ │ vsub.f64 d14, d14, d2 │ │ │ │ │ - vstr d8, [r3] │ │ │ │ │ + vstr d8, [r1] │ │ │ │ │ vstr d5, [r4] │ │ │ │ │ vadd.f64 d5, d6, d1 │ │ │ │ │ - ldr r4, [sp, #768] @ 0x300 │ │ │ │ │ vsub.f64 d6, d6, d1 │ │ │ │ │ - ldr r3, [sp, #792] @ 0x318 │ │ │ │ │ + ldr r1, [sp, #784] @ 0x310 │ │ │ │ │ vadd.f64 d8, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vadd.f64 d4, d10, d6 │ │ │ │ │ vsub.f64 d6, d6, d10 │ │ │ │ │ - vstr d8, [r4] │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ + vstr d8, [lr] │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ vsub.f64 d5, d3, d14 │ │ │ │ │ vadd.f64 d3, d3, d14 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - ldr r3, [sp, #808] @ 0x328 │ │ │ │ │ + ldr r1, [sp, #792] @ 0x318 │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ + vldr d7, [sp, #32] │ │ │ │ │ + vldr d14, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d1, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r1, [sp, #800] @ 0x320 │ │ │ │ │ ldr r3, [sp, #816] @ 0x330 │ │ │ │ │ + vadd.f64 d5, d1, d0 │ │ │ │ │ + ldr r5, [sp, #736] @ 0x2e0 │ │ │ │ │ + ldr r2, [sp, #248] @ 0xf8 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ - ldr r2, [sp, #800] @ 0x320 │ │ │ │ │ - vldr d1, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d7, [sp, #16] │ │ │ │ │ - ldr r3, [sp, #728] @ 0x2d8 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - vadd.f64 d5, d1, d11 │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ vadd.f64 d6, d12, d7 │ │ │ │ │ - vldr d14, [sp, #32] │ │ │ │ │ - ldr r2, [sp, #720] @ 0x2d0 │ │ │ │ │ vsub.f64 d7, d12, d7 │ │ │ │ │ - ldr r1, [sp, #240] @ 0xf0 │ │ │ │ │ - ldr r0, [sp, #248] @ 0xf8 │ │ │ │ │ + ldr r3, [sp, #728] @ 0x2d8 │ │ │ │ │ vsub.f64 d4, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vadd.f64 d5, d14, d9 │ │ │ │ │ vsub.f64 d9, d14, d9 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - ldr r3, [sp, #712] @ 0x2c8 │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ - vldr d6, [sp] │ │ │ │ │ - ldr r3, [sp, #736] @ 0x2e0 │ │ │ │ │ + add.w r3, sp, #1040 @ 0x410 │ │ │ │ │ + vldr d6, [sp, #8] │ │ │ │ │ + ldr r5, [sp, #744] @ 0x2e8 │ │ │ │ │ + vldr d14, [r3] │ │ │ │ │ + add.w r3, sp, #1096 @ 0x448 │ │ │ │ │ vadd.f64 d6, d13, d6 │ │ │ │ │ + vldr d12, [r3] │ │ │ │ │ + add.w r3, sp, #1160 @ 0x488 │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vsub.f64 d5, d7, d9 │ │ │ │ │ vadd.f64 d7, d7, d9 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - ldr r3, [sp, #744] @ 0x2e8 │ │ │ │ │ - vldr d6, [sp] │ │ │ │ │ - vldr d4, [pc, #-932] @ 3350 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ + vstr d4, [sl] │ │ │ │ │ + vstr d6, [r5] │ │ │ │ │ + vldr d6, [sp, #8] │ │ │ │ │ + ldr r5, [sp, #752] @ 0x2f0 │ │ │ │ │ + vldr d4, [pc, #-944] @ 3418 │ │ │ │ │ vsub.f64 d13, d13, d6 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ - vsub.f64 d7, d11, d1 │ │ │ │ │ - ldr r1, [sp, #752] @ 0x2f0 │ │ │ │ │ - add.w r3, sp, #1040 @ 0x410 │ │ │ │ │ - vldr d1, [sp, #976] @ 0x3d0 │ │ │ │ │ - vldr d11, [pc, #-956] @ 3358 │ │ │ │ │ + vstr d5, [r5] │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + vsub.f64 d7, d0, d1 │ │ │ │ │ + ldr r2, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d0, [pc, #-960] @ 3420 │ │ │ │ │ vadd.f64 d6, d7, d13 │ │ │ │ │ vsub.f64 d13, d13, d7 │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ - vstr d13, [r1] │ │ │ │ │ - vldr d13, [r3] │ │ │ │ │ - add.w r3, sp, #1096 @ 0x448 │ │ │ │ │ - vldr d12, [r3] │ │ │ │ │ - add.w r3, sp, #1160 @ 0x488 │ │ │ │ │ - vadd.f64 d6, d1, d13 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + ldr r2, [sp, #760] @ 0x2f8 │ │ │ │ │ + vstr d13, [r2] │ │ │ │ │ + vldr d13, [sp, #976] @ 0x3d0 │ │ │ │ │ + vadd.f64 d6, d13, d14 │ │ │ │ │ vldr d13, [r3] │ │ │ │ │ add.w r3, sp, #1088 @ 0x440 │ │ │ │ │ vldr d8, [r3] │ │ │ │ │ add.w r3, sp, #1152 @ 0x480 │ │ │ │ │ vadd.f64 d13, d12, d13 │ │ │ │ │ vldr d12, [r3] │ │ │ │ │ add.w r3, sp, #1064 @ 0x428 │ │ │ │ │ vsub.f64 d5, d6, d13 │ │ │ │ │ vadd.f64 d13, d6, d13 │ │ │ │ │ - vldr d14, [r3] │ │ │ │ │ vadd.f64 d6, d8, d12 │ │ │ │ │ vldr d12, [sp, #968] @ 0x3c8 │ │ │ │ │ + vstr d5, [sp, #8] │ │ │ │ │ + vldr d14, [r3] │ │ │ │ │ add.w r3, sp, #1248 @ 0x4e0 │ │ │ │ │ - vstr d5, [sp] │ │ │ │ │ vadd.f64 d7, d12, d14 │ │ │ │ │ - vsub.f64 d8, d7, d6 │ │ │ │ │ - vadd.f64 d12, d6, d7 │ │ │ │ │ - vstr d8, [sp, #8] │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ add.w r3, sp, #1264 @ 0x4f0 │ │ │ │ │ - ldr r1, [sp, #888] @ 0x378 │ │ │ │ │ vldr d1, [r3] │ │ │ │ │ add.w r3, sp, #1280 @ 0x500 │ │ │ │ │ + vadd.f64 d12, d6, d7 │ │ │ │ │ + vsub.f64 d8, d7, d6 │ │ │ │ │ vadd.f64 d5, d14, d1 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ add.w r3, sp, #1296 @ 0x510 │ │ │ │ │ vldr d1, [r3] │ │ │ │ │ add.w r3, sp, #1360 @ 0x550 │ │ │ │ │ - vadd.f64 d6, d14, d1 │ │ │ │ │ vldr d10, [r3] │ │ │ │ │ add.w r3, sp, #1376 @ 0x560 │ │ │ │ │ - vmov.f64 d1, d4 │ │ │ │ │ - vmul.f64 d2, d6, d4 │ │ │ │ │ + vstr d8, [sp, #16] │ │ │ │ │ + vadd.f64 d6, d14, d1 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ add.w r3, sp, #1392 @ 0x570 │ │ │ │ │ + vmov.f64 d1, d4 │ │ │ │ │ + vmul.f64 d2, d6, d4 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ - vmla.f64 d6, d5, d4 │ │ │ │ │ vnmls.f64 d2, d5, d0 │ │ │ │ │ + vmla.f64 d6, d5, d4 │ │ │ │ │ vadd.f64 d5, d10, d14 │ │ │ │ │ vldr d10, [r3] │ │ │ │ │ add.w r3, sp, #1408 @ 0x580 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ add.w r3, sp, #1576 @ 0x628 │ │ │ │ │ vadd.f64 d3, d10, d14 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ @@ -3777,186 +3786,191 @@ │ │ │ │ │ vmla.f64 d4, d5, d0 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vnmls.f64 d5, d3, d0 │ │ │ │ │ vadd.f64 d10, d2, d4 │ │ │ │ │ vsub.f64 d3, d2, d4 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ add.w r3, sp, #1640 @ 0x668 │ │ │ │ │ - vadd.f64 d4, d14, d4 │ │ │ │ │ - vsub.f64 d0, d5, d6 │ │ │ │ │ vldr d8, [r3] │ │ │ │ │ add.w r3, sp, #1656 @ 0x678 │ │ │ │ │ + vsub.f64 d0, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ + vadd.f64 d4, d14, d4 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ add.w r3, sp, #1544 @ 0x608 │ │ │ │ │ vldr d1, [r3] │ │ │ │ │ add.w r3, sp, #1560 @ 0x618 │ │ │ │ │ - vadd.f64 d5, d8, d14 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ add.w r3, sp, #1648 @ 0x670 │ │ │ │ │ - vsub.f64 d14, d4, d5 │ │ │ │ │ - vadd.f64 d4, d4, d5 │ │ │ │ │ + vadd.f64 d5, d8, d14 │ │ │ │ │ vldr d8, [r3] │ │ │ │ │ add.w r3, sp, #1664 @ 0x680 │ │ │ │ │ - vadd.f64 d5, d1, d7 │ │ │ │ │ - vldr d7, [pc, #532] @ 3a68 │ │ │ │ │ - vldr d1, [pc, #536] @ 3a70 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ add.w r3, sp, #1456 @ 0x5b0 │ │ │ │ │ + vsub.f64 d14, d4, d5 │ │ │ │ │ + vadd.f64 d4, d4, d5 │ │ │ │ │ + vadd.f64 d5, d1, d7 │ │ │ │ │ + vldr d7, [pc, #540] @ 3b38 │ │ │ │ │ vadd.f64 d2, d8, d9 │ │ │ │ │ + vldr d1, [pc, #540] @ 3b40 │ │ │ │ │ vsub.f64 d9, d5, d2 │ │ │ │ │ vadd.f64 d5, d5, d2 │ │ │ │ │ vmul.f64 d2, d9, d7 │ │ │ │ │ vmov.f64 d8, d2 │ │ │ │ │ - vldr d2, [pc, #512] @ 3a78 │ │ │ │ │ + vldr d2, [pc, #528] @ 3b48 │ │ │ │ │ vmla.f64 d8, d14, d2 │ │ │ │ │ vmul.f64 d2, d4, d1 │ │ │ │ │ vmul.f64 d14, d14, d7 │ │ │ │ │ vnmls.f64 d2, d5, d11 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vmla.f64 d5, d4, d11 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ add.w r3, sp, #1472 @ 0x5c0 │ │ │ │ │ - vstr d8, [sp, #16] │ │ │ │ │ - vstr d2, [sp, #24] │ │ │ │ │ - vldr d2, [pc, #468] @ 3a78 │ │ │ │ │ - vstr d5, [sp, #32] │ │ │ │ │ - vnmls.f64 d14, d9, d2 │ │ │ │ │ - vldr d9, [r3] │ │ │ │ │ + vstr d8, [sp, #32] │ │ │ │ │ + vldr d11, [r3] │ │ │ │ │ add.w r3, sp, #1792 @ 0x700 │ │ │ │ │ - vadd.f64 d4, d4, d9 │ │ │ │ │ + vstr d2, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d2, [pc, #476] @ 3b48 │ │ │ │ │ + vadd.f64 d4, d4, d11 │ │ │ │ │ + vstr d5, [sp, #48] @ 0x30 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ add.w r3, sp, #1808 @ 0x710 │ │ │ │ │ + vnmls.f64 d14, d9, d2 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ add.w r3, sp, #1488 @ 0x5d0 │ │ │ │ │ vadd.f64 d5, d5, d9 │ │ │ │ │ vsub.f64 d9, d4, d5 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ add.w r3, sp, #1504 @ 0x5e0 │ │ │ │ │ vldr d11, [r3] │ │ │ │ │ add.w r3, sp, #1784 @ 0x6f8 │ │ │ │ │ vldr d8, [r3] │ │ │ │ │ add.w r3, sp, #1800 @ 0x708 │ │ │ │ │ - vadd.f64 d5, d5, d11 │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ + vadd.f64 d5, d5, d11 │ │ │ │ │ vadd.f64 d1, d8, d2 │ │ │ │ │ vmov.f64 d8, d7 │ │ │ │ │ vsub.f64 d2, d5, d1 │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ - vldr d1, [pc, #368] @ 3a78 │ │ │ │ │ + vldr d1, [pc, #384] @ 3b48 │ │ │ │ │ vmul.f64 d11, d2, d7 │ │ │ │ │ vnmls.f64 d11, d9, d1 │ │ │ │ │ - vldr d1, [pc, #364] @ 3a80 │ │ │ │ │ + vldr d1, [pc, #380] @ 3b50 │ │ │ │ │ vmul.f64 d1, d5, d1 │ │ │ │ │ vmov.f64 d7, d1 │ │ │ │ │ - vldr d1, [pc, #336] @ 3a70 │ │ │ │ │ + vldr d1, [pc, #352] @ 3b40 │ │ │ │ │ vmla.f64 d7, d4, d1 │ │ │ │ │ - vstr d7, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d7, [pc, #332] @ 3a78 │ │ │ │ │ + vstr d7, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d7, [pc, #348] @ 3b48 │ │ │ │ │ vmul.f64 d2, d2, d7 │ │ │ │ │ - vldr d7, [sp, #16] │ │ │ │ │ + vldr d7, [sp, #32] │ │ │ │ │ vmla.f64 d2, d9, d8 │ │ │ │ │ vmul.f64 d9, d5, d1 │ │ │ │ │ - vldr d1, [pc, #320] @ 3a80 │ │ │ │ │ - vldr d5, [sp] │ │ │ │ │ + vldr d5, [sp, #8] │ │ │ │ │ + vldr d1, [pc, #332] @ 3b50 │ │ │ │ │ + ldr r2, [sp, #128] @ 0x80 │ │ │ │ │ + vadd.f64 d5, d5, d3 │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ vnmls.f64 d9, d4, d1 │ │ │ │ │ vadd.f64 d4, d7, d11 │ │ │ │ │ - vadd.f64 d5, d5, d3 │ │ │ │ │ + vldr d8, [sp, #16] │ │ │ │ │ vsub.f64 d11, d11, d7 │ │ │ │ │ + ldr r3, [sp, #104] @ 0x68 │ │ │ │ │ + ldr r1, [sp, #928] @ 0x3a0 │ │ │ │ │ vsub.f64 d1, d5, d4 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ vadd.f64 d4, d14, d2 │ │ │ │ │ vsub.f64 d14, d14, d2 │ │ │ │ │ - vstr d1, [r1] │ │ │ │ │ - ldr r2, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d8, [sp, #8] │ │ │ │ │ - ldr r1, [sp, #896] @ 0x380 │ │ │ │ │ - ldr r3, [sp, #936] @ 0x3a8 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - vadd.f64 d5, d8, d0 │ │ │ │ │ - ldr r2, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d2, [sp, #56] @ 0x38 │ │ │ │ │ vsub.f64 d7, d8, d0 │ │ │ │ │ - ldr r0, [sp, #928] @ 0x3a0 │ │ │ │ │ - ldr r4, [sp, #856] @ 0x358 │ │ │ │ │ + vstr d1, [r2] │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + vadd.f64 d5, d8, d0 │ │ │ │ │ + ldr r2, [sp, #896] @ 0x380 │ │ │ │ │ + ldr r3, [sp, #936] @ 0x3a8 │ │ │ │ │ vadd.f64 d1, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vadd.f64 d4, d11, d7 │ │ │ │ │ vsub.f64 d7, d7, d11 │ │ │ │ │ - vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d1, [r2] │ │ │ │ │ - vstr d5, [r1] │ │ │ │ │ - vldr d5, [sp] │ │ │ │ │ - ldr r1, [sp, #912] @ 0x390 │ │ │ │ │ - vldr d1, [sp, #32] │ │ │ │ │ + vstr d1, [fp] │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ + vldr d5, [sp, #8] │ │ │ │ │ + vldr d1, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r2, [sp, #912] @ 0x390 │ │ │ │ │ vsub.f64 d3, d5, d3 │ │ │ │ │ - ldr r2, [sp, #872] @ 0x368 │ │ │ │ │ vsub.f64 d5, d3, d14 │ │ │ │ │ vadd.f64 d3, d3, d14 │ │ │ │ │ - vstr d5, [r1] │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ vadd.f64 d5, d1, d9 │ │ │ │ │ - ldr r1, [sp, #920] @ 0x398 │ │ │ │ │ vsub.f64 d9, d9, d1 │ │ │ │ │ - vstr d3, [r0] │ │ │ │ │ + ldr r2, [sp, #920] @ 0x398 │ │ │ │ │ + vstr d3, [r1] │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ - vldr d3, [sp, #24] │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ + vldr d3, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vadd.f64 d7, d13, d6 │ │ │ │ │ - ldr r3, [sp, #864] @ 0x360 │ │ │ │ │ vsub.f64 d13, d13, d6 │ │ │ │ │ + ldr r3, [sp, #880] @ 0x370 │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vadd.f64 d5, d3, d2 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ vstr d7, [r4] │ │ │ │ │ vadd.f64 d7, d12, d10 │ │ │ │ │ vsub.f64 d12, d12, d10 │ │ │ │ │ - ldr r4, [sp, #176] @ 0xb0 │ │ │ │ │ + ldr r4, [sp, #24] │ │ │ │ │ + ldr r3, [sp, #888] @ 0x378 │ │ │ │ │ vadd.f64 d4, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - ldr r3, [sp, #880] @ 0x370 │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d3, d2 │ │ │ │ │ + ldr r4, [sp, #176] @ 0xb0 │ │ │ │ │ ldr r3, [sp, #184] @ 0xb8 │ │ │ │ │ vsub.f64 d6, d13, d7 │ │ │ │ │ vadd.f64 d13, d13, d7 │ │ │ │ │ vadd.f64 d7, d9, d12 │ │ │ │ │ vsub.f64 d12, d12, d9 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ vstr d13, [r4] │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ ldr r3, [sp, #904] @ 0x388 │ │ │ │ │ ldr.w r2, [sp, #2108] @ 0x83c │ │ │ │ │ vstr d12, [r3] │ │ │ │ │ ldr.w r3, [sp, #1992] @ 0x7c8 │ │ │ │ │ add r7, r3 │ │ │ │ │ add r8, r3 │ │ │ │ │ ldr.w r3, [sp, #1996] @ 0x7cc │ │ │ │ │ eor.w r9, r9, r3 │ │ │ │ │ ldr.w r3, [sp, #1988] @ 0x7c4 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.w 60 │ │ │ │ │ + bne.w 70 │ │ │ │ │ addw sp, sp, #2004 @ 0x7d4 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop.w │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ .word 0xf180bdb1 │ │ │ │ │ .word 0x3fec38b2 │ │ │ │ │ .word 0x2ed59f06 │ │ │ │ │ .word 0x3fd29406 │ │ │ │ │ .word 0x3806f63b │ │ │ │ │ .word 0x3fde2b5d │ │ │ │ │ .word 0x56c62dda │ │ │ │ │ .word 0x3fee9f41 │ │ │ │ │ │ │ │ │ │ -00003a88 : │ │ │ │ │ +00003b58 : │ │ │ │ │ fftw_codelet_t2_64(): │ │ │ │ │ - ldr r2, [pc, #8] @ (3a94 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (3a98 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (3b64 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (3b68 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_dit_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── t2_8.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1560 (bytes into file) │ │ │ │ │ + Start of section headers: 1600 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x618: │ │ │ │ │ +There are 14 section headers, starting at offset 0x640: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000354 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000570 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000388 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000388 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000388 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 00038d 000010 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 00039d 000040 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000588 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 0003dd 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0003dd 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000410 000110 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000520 00004e 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 0005a0 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00037c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000598 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0003b0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0003b0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0003b0 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 0003b5 000010 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0003c5 000040 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 0005b0 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000405 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000405 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000438 000110 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000548 00004e 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 0005c8 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,20 +1,20 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 17 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 832 FUNC LOCAL DEFAULT 1 t2_8 │ │ │ │ │ + 1: 00000001 872 FUNC LOCAL DEFAULT 1 t2_8 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000338 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000340 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 0000034c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000360 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000368 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000374 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 16 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 64 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 14: 00000341 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t2_8 │ │ │ │ │ + 14: 00000369 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_t2_8 │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kdft_dit_register │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_t_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x570 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x598 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000034c 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000350 00000103 R_ARM_REL32 00000001 t2_8 │ │ │ │ │ -00000348 00000f1e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ +00000374 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000378 00000103 R_ARM_REL32 00000001 t2_8 │ │ │ │ │ +00000370 00000f1e R_ARM_THM_JUMP24 00000000 fftw_kdft_dit_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x588 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x5b0 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001002 R_ARM_ABS32 00000000 fftw_dft_t_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,250 +1,257 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ t2_8(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r6, r1 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub sp, #84 @ 0x54 │ │ │ │ │ - ldrd r5, r4, [sp, #184] @ 0xb8 │ │ │ │ │ - cmp r5, r4 │ │ │ │ │ - bge.w 32a │ │ │ │ │ - movs r4, #24 │ │ │ │ │ - lsls r7, r3, #5 │ │ │ │ │ - mov.w r8, r3, lsl #3 │ │ │ │ │ - vldr d14, [pc, #792] @ 338 │ │ │ │ │ - rsb r8, r8, #0 │ │ │ │ │ - mul.w r4, r4, r3 │ │ │ │ │ - str r4, [sp, #64] @ 0x40 │ │ │ │ │ - lsls r4, r3, #4 │ │ │ │ │ - str r4, [sp, #68] @ 0x44 │ │ │ │ │ - ldr r4, [sp, #192] @ 0xc0 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ - str r4, [sp, #72] @ 0x48 │ │ │ │ │ - adds r4, r5, #1 │ │ │ │ │ - str r4, [sp, #60] @ 0x3c │ │ │ │ │ - movs r4, #48 @ 0x30 │ │ │ │ │ - mla r4, r5, r4, r4 │ │ │ │ │ - add r2, r4 │ │ │ │ │ - negs r4, r7 │ │ │ │ │ - str r4, [sp, #56] @ 0x38 │ │ │ │ │ - mvn.w r4, #39 @ 0x27 │ │ │ │ │ - mul.w r3, r3, r4 │ │ │ │ │ - str r3, [sp, #76] @ 0x4c │ │ │ │ │ - b.n 54 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #60] @ 0x3c │ │ │ │ │ - vldr d15, [r2, #-48] @ 0xffffffd0 │ │ │ │ │ - add.w lr, r0, r7 │ │ │ │ │ - vldr d13, [r2, #-40] @ 0xffffffd8 │ │ │ │ │ - add.w ip, r1, r7 │ │ │ │ │ - vldr d12, [r2, #-32] @ 0xffffffe0 │ │ │ │ │ - adds r2, #48 @ 0x30 │ │ │ │ │ - vldr d5, [r2, #-72] @ 0xffffffb8 │ │ │ │ │ - vldr d10, [r0] │ │ │ │ │ + sub sp, #100 @ 0x64 │ │ │ │ │ + ldrd r1, r4, [sp, #200] @ 0xc8 │ │ │ │ │ + cmp r1, r4 │ │ │ │ │ + bge.w 344 │ │ │ │ │ + mov.w r5, r3, lsl #5 │ │ │ │ │ + str r0, [sp, #16] │ │ │ │ │ + mov.w r4, r3, lsl #3 │ │ │ │ │ + mov.w r8, r3, lsl #4 │ │ │ │ │ + ldr r3, [sp, #208] @ 0xd0 │ │ │ │ │ + str r5, [sp, #88] @ 0x58 │ │ │ │ │ + mov ip, r8 │ │ │ │ │ + mov.w r7, r3, lsl #3 │ │ │ │ │ + add.w r3, r1, #1 │ │ │ │ │ + add.w r1, r0, r5 │ │ │ │ │ + strd r4, r3, [sp, #80] @ 0x50 │ │ │ │ │ + add.w r3, r3, r3, lsl #1 │ │ │ │ │ + mov lr, r7 │ │ │ │ │ + add.w r3, r2, r3, lsl #4 │ │ │ │ │ + add.w r2, r6, r5 │ │ │ │ │ + rsb r5, r4, #0 │ │ │ │ │ + str r5, [sp, #92] @ 0x5c │ │ │ │ │ + sub.w r5, r1, r4 │ │ │ │ │ + sub.w r4, r2, r4 │ │ │ │ │ + mov r8, r4 │ │ │ │ │ + str r5, [sp, #4] │ │ │ │ │ + mov r5, r0 │ │ │ │ │ + b.n 74 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + str r4, [sp, #84] @ 0x54 │ │ │ │ │ + vldr d15, [r3, #-48] @ 0xffffffd0 │ │ │ │ │ + add.w sl, r2, ip │ │ │ │ │ + add.w fp, r1, ip │ │ │ │ │ + add.w r3, r3, #48 @ 0x30 │ │ │ │ │ + vldr d13, [r3, #-88] @ 0xffffffa8 │ │ │ │ │ + vldr d12, [r3, #-80] @ 0xffffffb0 │ │ │ │ │ + vldr d10, [r3, #-72] @ 0xffffffb8 │ │ │ │ │ + vldr d14, [r1] │ │ │ │ │ vmul.f64 d6, d13, d12 │ │ │ │ │ - vmul.f64 d4, d15, d12 │ │ │ │ │ - vmul.f64 d7, d15, d5 │ │ │ │ │ - vmul.f64 d2, d13, d5 │ │ │ │ │ - vstr d10, [sp] │ │ │ │ │ - vldr d10, [lr] │ │ │ │ │ - vldr d11, [r1] │ │ │ │ │ - vadd.f64 d3, d6, d7 │ │ │ │ │ + vmul.f64 d5, d15, d12 │ │ │ │ │ + vldr d1, [r5] │ │ │ │ │ + vmul.f64 d3, d13, d10 │ │ │ │ │ + vmul.f64 d7, d15, d10 │ │ │ │ │ + ldr r0, [sp, #4] │ │ │ │ │ + ldr r7, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d11, [r6] │ │ │ │ │ + vsub.f64 d8, d5, d3 │ │ │ │ │ + vadd.f64 d4, d6, d7 │ │ │ │ │ + vadd.f64 d5, d5, d3 │ │ │ │ │ + vldr d3, [r3, #-64] @ 0xffffffc0 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [r2, #-56] @ 0xffffffc8 │ │ │ │ │ - vsub.f64 d8, d4, d2 │ │ │ │ │ - vadd.f64 d4, d4, d2 │ │ │ │ │ - vldr d2, [r2, #-64] @ 0xffffffc0 │ │ │ │ │ - ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ - vmul.f64 d1, d13, d6 │ │ │ │ │ - ldr r4, [sp, #56] @ 0x38 │ │ │ │ │ - vmla.f64 d1, d15, d2 │ │ │ │ │ - add lr, r3 │ │ │ │ │ + add.w r4, r0, r7 │ │ │ │ │ + add r7, r8 │ │ │ │ │ + vldr d6, [r3, #-56] @ 0xffffffc8 │ │ │ │ │ + strd r7, r4, [sp, #24] │ │ │ │ │ + vmul.f64 d2, d7, d3 │ │ │ │ │ + vmul.f64 d0, d13, d6 │ │ │ │ │ vmul.f64 d9, d7, d6 │ │ │ │ │ - add.w r5, lr, r4 │ │ │ │ │ - vmla.f64 d9, d4, d2 │ │ │ │ │ - add.w sl, r5, r8 │ │ │ │ │ - add.w fp, sl, r7 │ │ │ │ │ - vstr d1, [sp, #8] │ │ │ │ │ - vmul.f64 d1, d7, d2 │ │ │ │ │ - vnmls.f64 d1, d4, d6 │ │ │ │ │ - vstr d1, [sp, #16] │ │ │ │ │ - vmul.f64 d1, d13, d2 │ │ │ │ │ - vmov.f64 d0, d1 │ │ │ │ │ - vnmls.f64 d0, d15, d6 │ │ │ │ │ - vstr d0, [sp, #24] │ │ │ │ │ - vldr d0, [ip] │ │ │ │ │ - add ip, r3 │ │ │ │ │ - add.w r9, ip, r4 │ │ │ │ │ - add.w r3, r9, r8 │ │ │ │ │ - vmul.f64 d1, d3, d0 │ │ │ │ │ - vmul.f64 d3, d3, d10 │ │ │ │ │ - vmla.f64 d1, d8, d10 │ │ │ │ │ - vldr d10, [sp] │ │ │ │ │ - vnmls.f64 d3, d8, d0 │ │ │ │ │ - vadd.f64 d8, d10, d1 │ │ │ │ │ - vsub.f64 d10, d10, d1 │ │ │ │ │ - vsub.f64 d0, d11, d3 │ │ │ │ │ - vadd.f64 d11, d11, d3 │ │ │ │ │ - vldr d3, [ip] │ │ │ │ │ - vstr d0, [sp, #32] │ │ │ │ │ - vmul.f64 d1, d6, d3 │ │ │ │ │ - vldr d0, [lr] │ │ │ │ │ - vmul.f64 d6, d6, d0 │ │ │ │ │ - vmla.f64 d1, d2, d0 │ │ │ │ │ - vldr d0, [r5] │ │ │ │ │ - vnmls.f64 d6, d2, d3 │ │ │ │ │ - vldr d2, [r9] │ │ │ │ │ - vmul.f64 d3, d5, d2 │ │ │ │ │ - vmul.f64 d5, d5, d0 │ │ │ │ │ - vmla.f64 d3, d12, d0 │ │ │ │ │ - vldr d0, [sp, #24] │ │ │ │ │ - vnmls.f64 d5, d12, d2 │ │ │ │ │ - vadd.f64 d12, d1, d3 │ │ │ │ │ - vadd.f64 d2, d6, d5 │ │ │ │ │ - vsub.f64 d6, d6, d5 │ │ │ │ │ - vstr d12, [sp, #40] @ 0x28 │ │ │ │ │ - vsub.f64 d12, d1, d3 │ │ │ │ │ - vldr d3, [sl] │ │ │ │ │ - vstr d6, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - add r3, r7 │ │ │ │ │ - vstr d2, [sp] │ │ │ │ │ - vldr d2, [sp, #8] │ │ │ │ │ - vmul.f64 d5, d7, d6 │ │ │ │ │ + vnmls.f64 d2, d5, d6 │ │ │ │ │ + vmla.f64 d0, d15, d3 │ │ │ │ │ + vmla.f64 d9, d5, d3 │ │ │ │ │ + vstr d2, [sp, #32] │ │ │ │ │ + vmul.f64 d2, d13, d3 │ │ │ │ │ + vnmls.f64 d2, d15, d6 │ │ │ │ │ + vstr d2, [sp, #8] │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ + vmul.f64 d2, d4, d2 │ │ │ │ │ + vmul.f64 d4, d4, d14 │ │ │ │ │ + vmla.f64 d2, d8, d14 │ │ │ │ │ + vldr d14, [r2] │ │ │ │ │ + vnmls.f64 d4, d8, d14 │ │ │ │ │ + vadd.f64 d8, d1, d2 │ │ │ │ │ + vsub.f64 d1, d1, d2 │ │ │ │ │ + vstr d8, [sp, #40] @ 0x28 │ │ │ │ │ + vsub.f64 d8, d11, d4 │ │ │ │ │ + vadd.f64 d11, d11, d4 │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + add.w r7, r5, ip │ │ │ │ │ + ldr r5, [sp, #92] @ 0x5c │ │ │ │ │ + vstr d8, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d1, [sp, #56] @ 0x38 │ │ │ │ │ + vmul.f64 d2, d6, d4 │ │ │ │ │ + vldr d1, [r4] │ │ │ │ │ + add.w r4, r6, ip │ │ │ │ │ + vldr d8, [sp, #8] │ │ │ │ │ + vmul.f64 d6, d6, d1 │ │ │ │ │ + vmla.f64 d2, d3, d1 │ │ │ │ │ + vldr d1, [r0] │ │ │ │ │ + add.w r0, r7, r5 │ │ │ │ │ + vnmls.f64 d6, d3, d4 │ │ │ │ │ + vldr d3, [r8] │ │ │ │ │ + vmul.f64 d4, d10, d3 │ │ │ │ │ + vmul.f64 d10, d10, d1 │ │ │ │ │ + vnmls.f64 d10, d12, d3 │ │ │ │ │ + vmla.f64 d4, d12, d1 │ │ │ │ │ + vadd.f64 d12, d6, d10 │ │ │ │ │ + vadd.f64 d3, d2, d4 │ │ │ │ │ + vsub.f64 d6, d6, d10 │ │ │ │ │ + vmov.f64 d14, d12 │ │ │ │ │ + vsub.f64 d12, d2, d4 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + vstr d3, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d3, [r7] │ │ │ │ │ + vstr d6, [sp, #72] @ 0x48 │ │ │ │ │ + vmul.f64 d6, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ - vmla.f64 d5, d4, d3 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - vnmls.f64 d7, d4, d6 │ │ │ │ │ - vldr d6, [fp] │ │ │ │ │ - vmul.f64 d4, d0, d3 │ │ │ │ │ - vmla.f64 d4, d2, d6 │ │ │ │ │ - vmul.f64 d6, d0, d6 │ │ │ │ │ - vnmls.f64 d6, d2, d3 │ │ │ │ │ - vadd.f64 d3, d5, d4 │ │ │ │ │ - vsub.f64 d5, d5, d4 │ │ │ │ │ - vstr d3, [sp, #8] │ │ │ │ │ - vsub.f64 d3, d7, d6 │ │ │ │ │ - ldr r4, [sp, #76] @ 0x4c │ │ │ │ │ - vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d1, [sp, #16] │ │ │ │ │ - add.w r6, fp, r4 │ │ │ │ │ - adds r4, r3, r4 │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ - add r6, r7 │ │ │ │ │ - vldr d2, [r4] │ │ │ │ │ - add r4, r7 │ │ │ │ │ + vmla.f64 d6, d5, d3 │ │ │ │ │ + vldr d3, [sl] │ │ │ │ │ + vnmls.f64 d7, d5, d4 │ │ │ │ │ + vldr d4, [fp] │ │ │ │ │ + str r0, [sp, #20] │ │ │ │ │ + vldr d1, [sp, #32] │ │ │ │ │ + vmul.f64 d5, d8, d3 │ │ │ │ │ + vmla.f64 d5, d0, d4 │ │ │ │ │ + vmul.f64 d4, d8, d4 │ │ │ │ │ + vnmls.f64 d4, d0, d3 │ │ │ │ │ + vadd.f64 d10, d6, d5 │ │ │ │ │ + vsub.f64 d5, d6, d5 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + add.w r0, r4, r5 │ │ │ │ │ + ldr r5, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d2, [r0] │ │ │ │ │ + vsub.f64 d3, d7, d4 │ │ │ │ │ + vadd.f64 d7, d7, d4 │ │ │ │ │ + add r5, r1 │ │ │ │ │ + str r5, [sp, #8] │ │ │ │ │ vmul.f64 d4, d13, d2 │ │ │ │ │ vmul.f64 d13, d13, d6 │ │ │ │ │ vmla.f64 d4, d15, d6 │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ - add r6, r8 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ vnmls.f64 d13, d15, d2 │ │ │ │ │ - vldr d2, [r4] │ │ │ │ │ - vldr d15, [sp, #40] @ 0x28 │ │ │ │ │ - add r4, r8 │ │ │ │ │ + vldr d15, [sp, #64] @ 0x40 │ │ │ │ │ + ldr r5, [sp, #80] @ 0x50 │ │ │ │ │ + add.w r9, r2, r5 │ │ │ │ │ + ldr r5, [sp, #16] │ │ │ │ │ + vldr d2, [r9] │ │ │ │ │ vmul.f64 d0, d1, d2 │ │ │ │ │ vmla.f64 d0, d9, d6 │ │ │ │ │ vmul.f64 d6, d1, d6 │ │ │ │ │ vnmls.f64 d6, d9, d2 │ │ │ │ │ vadd.f64 d2, d4, d0 │ │ │ │ │ vsub.f64 d4, d4, d0 │ │ │ │ │ - vldr d0, [sp, #8] │ │ │ │ │ vadd.f64 d1, d13, d6 │ │ │ │ │ - vadd.f64 d0, d8, d0 │ │ │ │ │ vsub.f64 d6, d13, d6 │ │ │ │ │ - vmov.f64 d13, d8 │ │ │ │ │ + vldr d13, [sp, #40] @ 0x28 │ │ │ │ │ vadd.f64 d8, d15, d2 │ │ │ │ │ vsub.f64 d2, d15, d2 │ │ │ │ │ + vadd.f64 d0, d13, d10 │ │ │ │ │ vsub.f64 d9, d0, d8 │ │ │ │ │ vadd.f64 d0, d0, d8 │ │ │ │ │ - vldr d8, [sp] │ │ │ │ │ - vstr d9, [r6] │ │ │ │ │ - vadd.f64 d8, d8, d1 │ │ │ │ │ - vstr d0, [r0] │ │ │ │ │ + vadd.f64 d8, d14, d1 │ │ │ │ │ + vsub.f64 d1, d1, d14 │ │ │ │ │ + vstr d9, [r1] │ │ │ │ │ + add r1, lr │ │ │ │ │ + vstr d0, [r5] │ │ │ │ │ vadd.f64 d0, d11, d7 │ │ │ │ │ vsub.f64 d7, d11, d7 │ │ │ │ │ - ldr r6, [sp, #68] @ 0x44 │ │ │ │ │ - vldr d11, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r5, [sp, #8] │ │ │ │ │ + vldr d11, [sp, #72] @ 0x48 │ │ │ │ │ vadd.f64 d9, d8, d0 │ │ │ │ │ vsub.f64 d0, d0, d8 │ │ │ │ │ - vldr d8, [sp] │ │ │ │ │ - vstr d9, [r1] │ │ │ │ │ - vsub.f64 d1, d1, d8 │ │ │ │ │ - vstr d0, [r4] │ │ │ │ │ - subs r4, r4, r6 │ │ │ │ │ - vldr d0, [sp, #8] │ │ │ │ │ - vldr d9, [sp, #32] │ │ │ │ │ - vsub.f64 d0, d13, d0 │ │ │ │ │ + vstr d9, [r6] │ │ │ │ │ + add r6, lr │ │ │ │ │ + vstr d0, [r2] │ │ │ │ │ + vsub.f64 d0, d13, d10 │ │ │ │ │ + add r2, lr │ │ │ │ │ + vldr d13, [pc, #228] @ 360 │ │ │ │ │ + vldr d10, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d9, [sp, #48] @ 0x30 │ │ │ │ │ vsub.f64 d8, d0, d1 │ │ │ │ │ vadd.f64 d0, d0, d1 │ │ │ │ │ vadd.f64 d1, d2, d7 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ vsub.f64 d2, d9, d5 │ │ │ │ │ vadd.f64 d5, d9, d5 │ │ │ │ │ vstr d8, [fp] │ │ │ │ │ vadd.f64 d8, d12, d11 │ │ │ │ │ - vstr d0, [sl] │ │ │ │ │ vsub.f64 d12, d12, d11 │ │ │ │ │ + vstr d0, [r7] │ │ │ │ │ vstr d1, [r4] │ │ │ │ │ vsub.f64 d1, d10, d3 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ + vadd.f64 d3, d10, d3 │ │ │ │ │ + vstr d7, [sl] │ │ │ │ │ vsub.f64 d7, d6, d4 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ - vadd.f64 d3, d10, d3 │ │ │ │ │ - add r3, r8 │ │ │ │ │ - ldr r4, [sp, #56] @ 0x38 │ │ │ │ │ + ldrd r7, r4, [sp, #24] │ │ │ │ │ vsub.f64 d0, d7, d8 │ │ │ │ │ vadd.f64 d7, d7, d8 │ │ │ │ │ - vmul.f64 d0, d0, d14 │ │ │ │ │ - vmul.f64 d7, d7, d14 │ │ │ │ │ + vmul.f64 d0, d0, d13 │ │ │ │ │ + vmul.f64 d7, d7, d13 │ │ │ │ │ vsub.f64 d8, d1, d0 │ │ │ │ │ vadd.f64 d1, d1, d0 │ │ │ │ │ - vstr d8, [lr] │ │ │ │ │ + vstr d8, [r4] │ │ │ │ │ vsub.f64 d8, d2, d7 │ │ │ │ │ vadd.f64 d2, d2, d7 │ │ │ │ │ vadd.f64 d7, d4, d12 │ │ │ │ │ vsub.f64 d12, d12, d4 │ │ │ │ │ - vstr d8, [r3] │ │ │ │ │ - add r3, r4 │ │ │ │ │ - vmul.f64 d7, d7, d14 │ │ │ │ │ - vstr d1, [r5] │ │ │ │ │ - vmul.f64 d12, d12, d14 │ │ │ │ │ - add r5, r6 │ │ │ │ │ - vstr d2, [r3] │ │ │ │ │ - ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ + ldr r4, [sp, #4] │ │ │ │ │ + vstr d8, [r9] │ │ │ │ │ + vmul.f64 d7, d7, d13 │ │ │ │ │ + vmul.f64 d12, d12, d13 │ │ │ │ │ + vstr d1, [r4] │ │ │ │ │ + vstr d2, [r0] │ │ │ │ │ vsub.f64 d6, d3, d7 │ │ │ │ │ vadd.f64 d3, d3, d7 │ │ │ │ │ - add r0, r3 │ │ │ │ │ - add r1, r3 │ │ │ │ │ vstr d6, [r5] │ │ │ │ │ vsub.f64 d6, d5, d12 │ │ │ │ │ vadd.f64 d5, d5, d12 │ │ │ │ │ - add r5, r4 │ │ │ │ │ - vstr d6, [ip] │ │ │ │ │ - vstr d3, [r5] │ │ │ │ │ - vstr d5, [r9] │ │ │ │ │ - ldr r4, [sp, #188] @ 0xbc │ │ │ │ │ - ldr r3, [sp, #60] @ 0x3c │ │ │ │ │ - cmp r4, r3 │ │ │ │ │ - bne.w 50 │ │ │ │ │ - add sp, #84 @ 0x54 │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ + ldrd r5, r0, [sp, #16] │ │ │ │ │ + ldr r4, [sp, #84] @ 0x54 │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ + add r5, lr │ │ │ │ │ + ldr r0, [sp, #4] │ │ │ │ │ + vstr d5, [r8] │ │ │ │ │ + add r8, lr │ │ │ │ │ + str r5, [sp, #16] │ │ │ │ │ + add r0, lr │ │ │ │ │ + str r0, [sp, #4] │ │ │ │ │ + ldr r0, [sp, #204] @ 0xcc │ │ │ │ │ + cmp r0, r4 │ │ │ │ │ + bne.w 6e │ │ │ │ │ + add sp, #100 @ 0x64 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop.w │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ │ │ │ │ │ -00000340 : │ │ │ │ │ +00000368 : │ │ │ │ │ fftw_codelet_t2_8(): │ │ │ │ │ - ldr r2, [pc, #8] @ (34c ) │ │ │ │ │ - ldr r1, [pc, #12] @ (350 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (374 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (378 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kdft_dit_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── lt6-buffered.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 3504 (bytes into file) │ │ │ │ │ + Start of section headers: 3700 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 16 │ │ │ │ │ Section header string table index: 15 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,25 +1,25 @@ │ │ │ │ │ -There are 16 section headers, starting at offset 0xdb0: │ │ │ │ │ +There are 16 section headers, starting at offset 0xe74: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0004f4 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000b18 0001e0 08 I 13 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000528 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000528 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000528 00002d 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000555 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 00055d 000010 00 WA 0 0 4 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000cf8 000020 08 I 13 7 4 │ │ │ │ │ - [ 9] .data.rel.ro.local PROGBITS 00000000 00056d 00000c 00 WA 0 0 4 │ │ │ │ │ - [10] .rel.data.rel.ro.local REL 00000000 000d18 000008 08 I 13 9 4 │ │ │ │ │ - [11] .note.GNU-stack PROGBITS 00000000 000579 000000 00 0 0 1 │ │ │ │ │ - [12] .ARM.attributes ARM_ATTRIBUTES 00000000 000579 000033 00 0 0 1 │ │ │ │ │ - [13] .symtab SYMTAB 00000000 0005ac 000340 10 14 24 4 │ │ │ │ │ - [14] .strtab STRTAB 00000000 0008ec 00022a 00 0 0 1 │ │ │ │ │ - [15] .shstrtab STRTAB 00000000 000d20 00008f 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0005b8 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000bdc 0001e0 08 I 13 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0005ec 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0005ec 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0005ec 00002d 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000619 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000621 000010 00 WA 0 0 4 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000dbc 000020 08 I 13 7 4 │ │ │ │ │ + [ 9] .data.rel.ro.local PROGBITS 00000000 000631 00000c 00 WA 0 0 4 │ │ │ │ │ + [10] .rel.data.rel.ro.local REL 00000000 000ddc 000008 08 I 13 9 4 │ │ │ │ │ + [11] .note.GNU-stack PROGBITS 00000000 00063d 000000 00 0 0 1 │ │ │ │ │ + [12] .ARM.attributes ARM_ATTRIBUTES 00000000 00063d 000033 00 0 0 1 │ │ │ │ │ + [13] .symtab SYMTAB 00000000 000670 000340 10 14 24 4 │ │ │ │ │ + [14] .strtab STRTAB 00000000 0009b0 00022a 00 0 0 1 │ │ │ │ │ + [15] .shstrtab STRTAB 00000000 000de4 00008f 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,25 +1,25 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 52 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ - 3: 00000001 60 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 3: 00000001 84 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ 4: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000038 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 0000003c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 0000003d 134 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ - 8: 000000c5 134 FUNC LOCAL DEFAULT 1 apply_hc2r │ │ │ │ │ - 9: 0000014d 26 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 10: 00000169 820 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 11: 00000488 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 12: 0000049c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 13: 0000049d 32 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 14: 000004f0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 5: 00000050 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000054 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00000055 170 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ + 8: 00000101 170 FUNC LOCAL DEFAULT 1 apply_hc2r │ │ │ │ │ + 9: 000001ad 30 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 10: 000001cd 884 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 11: 0000052c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 12: 00000540 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 13: 00000541 44 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 14: 000005b4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 15: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 16: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 17: 00000000 8 OBJECT LOCAL DEFAULT 6 maxnbufs │ │ │ │ │ 18: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 19: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 20: 00000000 16 OBJECT LOCAL DEFAULT 7 padt.0 │ │ │ │ │ 21: 00000000 0 SECTION LOCAL DEFAULT 9 .data.rel.ro.local │ │ │ │ │ @@ -45,11 +45,11 @@ │ │ │ │ │ 41: 00000000 0 NOTYPE GLOBAL DEFAULT UND __aeabi_idiv │ │ │ │ │ 42: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_copy │ │ │ │ │ 43: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_rdft │ │ │ │ │ 44: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_add │ │ │ │ │ 45: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_madd │ │ │ │ │ 46: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_inplace_strides2 │ │ │ │ │ 47: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_awake │ │ │ │ │ - 48: 000004bd 56 FUNC GLOBAL DEFAULT 1 fftw_rdft_buffered_register │ │ │ │ │ + 48: 0000056d 76 FUNC GLOBAL DEFAULT 1 fftw_rdft_buffered_register │ │ │ │ │ 49: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ 50: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 51: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_solve │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,74 +1,74 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xb18 contains 60 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xbdc contains 60 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000001c 0000180a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -00000038 00000203 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -00000062 0000190a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -000000ac 00001a0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -000000ea 0000190a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -00000134 00001a0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -00000152 00001b0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000158 00001b0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -0000017e 00001c0a R_ARM_THM_CALL 00000000 fftw_ifree0 │ │ │ │ │ -00000184 00001b0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -0000018a 00001b0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000190 00001b0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000001c4 00001d0a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ -000001cc 00001e0a R_ARM_THM_CALL 00000000 fftw_toobig │ │ │ │ │ -000001ee 00001f0a R_ARM_THM_CALL 00000000 fftw_nbuf_redundant │ │ │ │ │ -0000021a 0000200a R_ARM_THM_CALL 00000000 fftw_tensor_sz │ │ │ │ │ -00000228 00001d0a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ -0000023e 0000210a R_ARM_THM_CALL 00000000 fftw_nbuf │ │ │ │ │ -00000248 0000220a R_ARM_THM_CALL 00000000 fftw_bufdist │ │ │ │ │ -00000254 0000190a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -0000026a 0000230a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -00000276 0000230a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -0000028a 0000240a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_d │ │ │ │ │ -000002a6 0000250a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ -000002c4 0000260a R_ARM_THM_CALL 00000000 fftw_mktensor_2d │ │ │ │ │ -000002cc 0000270a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_0_d │ │ │ │ │ -000002d4 0000280a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -000002e2 00001a0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -000002ea 0000290a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -00000302 00002a0a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ -0000030c 0000180a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -00000316 0000230a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -00000330 0000240a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_d │ │ │ │ │ -00000338 0000280a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -00000354 00002b0a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ -0000038e 00002c0a R_ARM_THM_CALL 00000000 fftw_ops_add │ │ │ │ │ -00000396 0000290a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -000003a0 00002d0a R_ARM_THM_CALL 00000000 fftw_ops_madd │ │ │ │ │ +00000026 0000180a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +00000050 00000203 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +0000008a 0000190a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +000000d6 00001a0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +00000136 0000190a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +00000182 00001a0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +000001b4 00001b0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000001ba 00001b0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000001f4 00001c0a R_ARM_THM_CALL 00000000 fftw_ifree0 │ │ │ │ │ +000001fc 00001b0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000202 00001b0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000208 00001b0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000250 00001d0a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ +00000258 00001e0a R_ARM_THM_CALL 00000000 fftw_toobig │ │ │ │ │ +0000027c 00001f0a R_ARM_THM_CALL 00000000 fftw_nbuf_redundant │ │ │ │ │ +000002a8 0000200a R_ARM_THM_CALL 00000000 fftw_tensor_sz │ │ │ │ │ +000002b6 00001d0a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ +000002cc 0000210a R_ARM_THM_CALL 00000000 fftw_nbuf │ │ │ │ │ +000002d6 0000220a R_ARM_THM_CALL 00000000 fftw_bufdist │ │ │ │ │ +000002e4 0000190a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +000002fc 0000230a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +00000308 0000230a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +0000031c 0000240a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_d │ │ │ │ │ +00000340 0000250a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ +00000360 0000260a R_ARM_THM_CALL 00000000 fftw_mktensor_2d │ │ │ │ │ +00000368 0000270a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_0_d │ │ │ │ │ +00000370 0000280a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +0000037e 00001a0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +00000386 0000290a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +0000039e 00002a0a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ +000003a8 0000180a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ 000003b2 0000230a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -000003be 0000230a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -000003d2 0000240a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_d │ │ │ │ │ -000003e4 0000250a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ -000003fe 0000260a R_ARM_THM_CALL 00000000 fftw_mktensor_2d │ │ │ │ │ -00000426 00002e0a R_ARM_THM_CALL 00000000 fftw_tensor_inplace_strides2 │ │ │ │ │ -0000043e 0000210a R_ARM_THM_CALL 00000000 fftw_nbuf │ │ │ │ │ -0000046a 00001e0a R_ARM_THM_CALL 00000000 fftw_toobig │ │ │ │ │ -00000488 00000f03 R_ARM_REL32 00000000 .rodata │ │ │ │ │ -0000048c 00000f03 R_ARM_REL32 00000000 .rodata │ │ │ │ │ -00000490 00000703 R_ARM_REL32 0000003d apply │ │ │ │ │ -00000494 00001203 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000498 00000803 R_ARM_REL32 000000c5 apply_hc2r │ │ │ │ │ -000004a4 00002f0a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -000004ac 00002f0a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -000004c8 0000310a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -000004d4 0000320a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -000004dc 0000310a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -000004f0 00001503 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -00000162 00001b1e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000004b8 00002f1e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ -000004ec 0000321e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ +000003cc 0000240a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_d │ │ │ │ │ +000003d4 0000280a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +000003f2 00002b0a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ +0000042e 00002c0a R_ARM_THM_CALL 00000000 fftw_ops_add │ │ │ │ │ +00000436 0000290a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +00000440 00002d0a R_ARM_THM_CALL 00000000 fftw_ops_madd │ │ │ │ │ +00000450 0000230a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +0000045c 0000230a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +00000470 0000240a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_d │ │ │ │ │ +00000484 0000250a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ +000004a0 0000260a R_ARM_THM_CALL 00000000 fftw_mktensor_2d │ │ │ │ │ +000004c8 00002e0a R_ARM_THM_CALL 00000000 fftw_tensor_inplace_strides2 │ │ │ │ │ +000004e0 0000210a R_ARM_THM_CALL 00000000 fftw_nbuf │ │ │ │ │ +0000050c 00001e0a R_ARM_THM_CALL 00000000 fftw_toobig │ │ │ │ │ +0000052c 00000f03 R_ARM_REL32 00000000 .rodata │ │ │ │ │ +00000530 00000f03 R_ARM_REL32 00000000 .rodata │ │ │ │ │ +00000534 00000703 R_ARM_REL32 00000055 apply │ │ │ │ │ +00000538 00001203 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +0000053c 00000803 R_ARM_REL32 00000101 apply_hc2r │ │ │ │ │ +0000054e 00002f0a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +00000556 00002f0a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +00000580 0000310a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +0000058e 0000320a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +00000598 0000310a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +000005b4 00001503 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +000001c6 00001b1e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000568 00002f1e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ +000005b0 0000321e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xcf8 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xdbc contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00003302 R_ARM_ABS32 00000000 fftw_rdft_solve │ │ │ │ │ -00000004 00000d02 R_ARM_ABS32 0000049d awake │ │ │ │ │ +00000004 00000d02 R_ARM_ABS32 00000541 awake │ │ │ │ │ 00000008 00000302 R_ARM_ABS32 00000001 print │ │ │ │ │ -0000000c 00000902 R_ARM_ABS32 0000014d destroy │ │ │ │ │ +0000000c 00000902 R_ARM_ABS32 000001ad destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0xd18 contains 1 entry: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0xddc contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000a02 R_ARM_ABS32 00000169 mkplan │ │ │ │ │ +00000004 00000a02 R_ARM_ABS32 000001cd mkplan │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,10 +1,11 @@ │ │ │ │ │ -k*FQF8F^D │ │ │ │ │ -k*FQF8F^D │ │ │ │ │ -QJzDQIh yD │ │ │ │ │ +80!FRFHF^D │ │ │ │ │ +k*FQF8FDD │ │ │ │ │ +80!FRFHF^D │ │ │ │ │ +k*FQF8FDD │ │ │ │ │ (rdft-buffered-%D%v/%D-%D%(%p%)%(%p%)%(%p%)) │ │ │ │ │ apply_hc2r │ │ │ │ │ maxnbufs │ │ │ │ │ __aeabi_idivmod │ │ │ │ │ fftw_malloc_plain │ │ │ │ │ fftw_ifree │ │ │ │ │ fftw_plan_destroy_internal │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,359 +1,384 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ print(): │ │ │ │ │ - push {r4, r5, r6, r7, lr} │ │ │ │ │ + str.w r4, [sp, #-20]! │ │ │ │ │ + mov r4, r0 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r1 │ │ │ │ │ - ldr r3, [r0, #72] @ 0x48 │ │ │ │ │ + ldrd r3, r6, [r0, #72] @ 0x48 │ │ │ │ │ + strd r7, lr, [sp, #12] │ │ │ │ │ sub sp, #28 │ │ │ │ │ - ldr r6, [r0, #76] @ 0x4c │ │ │ │ │ ldr r7, [r0, #84] @ 0x54 │ │ │ │ │ - mov r4, r0 │ │ │ │ │ - mov r1, r6 │ │ │ │ │ str r3, [sp, #16] │ │ │ │ │ + mov r1, r6 │ │ │ │ │ ldr r3, [r0, #68] @ 0x44 │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ ldr r3, [r0, #64] @ 0x40 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr r0, [r0, #88] @ 0x58 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ str r1, [sp, #4] │ │ │ │ │ - ldr r1, [pc, #20] @ (38 ) │ │ │ │ │ mov r2, r6 │ │ │ │ │ - ldr r3, [r4, #80] @ 0x50 │ │ │ │ │ mov r0, r5 │ │ │ │ │ + ldr r3, [r4, #80] @ 0x50 │ │ │ │ │ + ldr r1, [pc, #28] @ (50 ) │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - add r1, pc │ │ │ │ │ mov r3, r7 │ │ │ │ │ ldr r4, [r5, #0] │ │ │ │ │ + add r1, pc │ │ │ │ │ blx r4 │ │ │ │ │ add sp, #28 │ │ │ │ │ - pop {r4, r5, r6, r7, pc} │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x00000012 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ -0000003c : │ │ │ │ │ +00000054 : │ │ │ │ │ apply(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ mov r3, r0 │ │ │ │ │ - ldr.w fp, [r0, #84] @ 0x54 │ │ │ │ │ - ldrd sl, r7, [r0, #64] @ 0x40 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + mov r4, r1 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r2 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ ldrd r8, r6, [r0, #92] @ 0x5c │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + ldrd sl, r7, [r0, #64] @ 0x40 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #20 │ │ │ │ │ - ldr r2, [r0, #80] @ 0x50 │ │ │ │ │ - mov r4, r1 │ │ │ │ │ + ldrd r2, fp, [r0, #80] @ 0x50 │ │ │ │ │ ldr r0, [r0, #88] @ 0x58 │ │ │ │ │ - str r2, [sp, #4] │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ + strd r2, r3, [sp, #4] │ │ │ │ │ mul.w r0, r0, fp │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ - ldr r2, [sp, #4] │ │ │ │ │ - ldr r3, [sp, #8] │ │ │ │ │ + ldrd r2, r3, [sp, #4] │ │ │ │ │ mov r9, r0 │ │ │ │ │ cmp r2, fp │ │ │ │ │ - blt.n a8 │ │ │ │ │ - lsls r2, r6, #3 │ │ │ │ │ + blt.n d2 │ │ │ │ │ + mov.w r2, r6, lsl #3 │ │ │ │ │ mov r9, sl │ │ │ │ │ - mov.w r8, r8, lsl #3 │ │ │ │ │ mov r6, fp │ │ │ │ │ + mov.w r8, r8, lsl #3 │ │ │ │ │ mov sl, r0 │ │ │ │ │ - str r2, [sp, #8] │ │ │ │ │ - str r3, [sp, #12] │ │ │ │ │ - mov r1, r4 │ │ │ │ │ + strd r2, r3, [sp, #8] │ │ │ │ │ ldr.w r3, [r9, #56] @ 0x38 │ │ │ │ │ + mov r1, r4 │ │ │ │ │ mov r2, sl │ │ │ │ │ mov r0, r9 │ │ │ │ │ + add r6, fp │ │ │ │ │ blx r3 │ │ │ │ │ ldr r3, [r7, #56] @ 0x38 │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r1, sl │ │ │ │ │ mov r0, r7 │ │ │ │ │ - add r6, fp │ │ │ │ │ + add r4, r8 │ │ │ │ │ blx r3 │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ - add r4, r8 │ │ │ │ │ add r5, r3 │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ cmp r3, r6 │ │ │ │ │ - bge.n 80 │ │ │ │ │ + bge.n aa │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ mov r9, sl │ │ │ │ │ mov r0, r9 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r1, r4 │ │ │ │ │ ldr r0, [r3, #72] @ 0x48 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ add sp, #20 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ bx r3 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000000c4 : │ │ │ │ │ +00000100 : │ │ │ │ │ apply_hc2r(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ mov r3, r0 │ │ │ │ │ - ldr.w fp, [r0, #84] @ 0x54 │ │ │ │ │ - ldrd r7, sl, [r0, #64] @ 0x40 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + mov r4, r1 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r2 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ ldrd r8, r6, [r0, #92] @ 0x5c │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + ldrd r7, sl, [r0, #64] @ 0x40 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #20 │ │ │ │ │ - ldr r2, [r0, #80] @ 0x50 │ │ │ │ │ - mov r4, r1 │ │ │ │ │ + ldrd r2, fp, [r0, #80] @ 0x50 │ │ │ │ │ ldr r0, [r0, #88] @ 0x58 │ │ │ │ │ - str r2, [sp, #4] │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ + strd r2, r3, [sp, #4] │ │ │ │ │ mul.w r0, r0, fp │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ - ldr r2, [sp, #4] │ │ │ │ │ - ldr r3, [sp, #8] │ │ │ │ │ + ldrd r2, r3, [sp, #4] │ │ │ │ │ mov r9, r0 │ │ │ │ │ cmp r2, fp │ │ │ │ │ - blt.n 130 │ │ │ │ │ - lsls r2, r6, #3 │ │ │ │ │ + blt.n 17e │ │ │ │ │ + mov.w r2, r6, lsl #3 │ │ │ │ │ mov r9, sl │ │ │ │ │ - mov.w r8, r8, lsl #3 │ │ │ │ │ mov r6, fp │ │ │ │ │ + mov.w r8, r8, lsl #3 │ │ │ │ │ mov sl, r0 │ │ │ │ │ - str r2, [sp, #8] │ │ │ │ │ - str r3, [sp, #12] │ │ │ │ │ - mov r1, r4 │ │ │ │ │ + strd r2, r3, [sp, #8] │ │ │ │ │ ldr.w r3, [r9, #56] @ 0x38 │ │ │ │ │ + mov r1, r4 │ │ │ │ │ mov r2, sl │ │ │ │ │ mov r0, r9 │ │ │ │ │ + add r6, fp │ │ │ │ │ blx r3 │ │ │ │ │ ldr r3, [r7, #56] @ 0x38 │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r1, sl │ │ │ │ │ mov r0, r7 │ │ │ │ │ - add r6, fp │ │ │ │ │ + add r4, r8 │ │ │ │ │ blx r3 │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ - add r4, r8 │ │ │ │ │ add r5, r3 │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ cmp r3, r6 │ │ │ │ │ - bge.n 108 │ │ │ │ │ + bge.n 156 │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ mov r9, sl │ │ │ │ │ mov r0, r9 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r1, r4 │ │ │ │ │ ldr r0, [r3, #72] @ 0x48 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ add sp, #20 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ bx r3 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -0000014c : │ │ │ │ │ +000001ac : │ │ │ │ │ destroy(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldr r0, [r0, #72] @ 0x48 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ ldr r0, [r4, #68] @ 0x44 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ ldr r0, [r4, #64] @ 0x40 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_destroy_internal │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000168 : │ │ │ │ │ +000001cc : │ │ │ │ │ mkplan(): │ │ │ │ │ ldr.w r3, [r2, #164] @ 0xa4 │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ lsls r4, r3, #21 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #84 @ 0x54 │ │ │ │ │ - bpl.n 19c │ │ │ │ │ - movs r5, #0 │ │ │ │ │ + bpl.n 228 │ │ │ │ │ + mov.w r5, #0 │ │ │ │ │ mov sl, r5 │ │ │ │ │ mov r8, r5 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree0 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ mov r0, sl │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ mov r0, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #84 @ 0x54 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ mov r5, r0 │ │ │ │ │ ldr r0, [r1, #8] │ │ │ │ │ mov r4, r1 │ │ │ │ │ ldr r3, [r0, #0] │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - bgt.n 176 │ │ │ │ │ + bgt.n 1ea │ │ │ │ │ ldr.w r9, [r1, #4] │ │ │ │ │ ldr.w r3, [r9] │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - bne.n 176 │ │ │ │ │ + bne.n 1ea │ │ │ │ │ + add r3, sp, #48 @ 0x30 │ │ │ │ │ add.w r8, sp, #44 @ 0x2c │ │ │ │ │ add r6, sp, #40 @ 0x28 │ │ │ │ │ - add r3, sp, #48 @ 0x30 │ │ │ │ │ mov r7, r2 │ │ │ │ │ mov r1, r6 │ │ │ │ │ mov r2, r8 │ │ │ │ │ str r3, [sp, #28] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_tornk1 │ │ │ │ │ ldr.w r0, [r9, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_toobig │ │ │ │ │ - cbz r0, 1da │ │ │ │ │ + cbz r0, 266 │ │ │ │ │ ldr.w r3, [r7, #164] @ 0xa4 │ │ │ │ │ lsls r3, r3, #17 │ │ │ │ │ - bmi.n 176 │ │ │ │ │ - ldr.w sl, [pc, #684] @ 488 │ │ │ │ │ - movs r3, #2 │ │ │ │ │ + bmi.n 1ea │ │ │ │ │ + ldr.w sl, [pc, #708] @ 52c │ │ │ │ │ + mov.w r3, #2 │ │ │ │ │ ldr.w r0, [r9, #4] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ + ldr r2, [r5, #8] │ │ │ │ │ add sl, pc │ │ │ │ │ ldr r1, [sp, #40] @ 0x28 │ │ │ │ │ mov r3, sl │ │ │ │ │ - ldr r2, [r5, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_nbuf_redundant │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.n 176 │ │ │ │ │ + bne.n 1ea │ │ │ │ │ ldrd r2, r3, [r4, #12] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.w 422 │ │ │ │ │ + beq.w 4c4 │ │ │ │ │ ldr r3, [r4, #20] │ │ │ │ │ cmp r3, #4 │ │ │ │ │ - beq.w 416 │ │ │ │ │ + beq.w 4b8 │ │ │ │ │ ldr.w r3, [r9, #12] │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - ble.n 176 │ │ │ │ │ + ble.n 1ea │ │ │ │ │ ldr.w r3, [r7, #164] @ 0xa4 │ │ │ │ │ lsls r3, r3, #15 │ │ │ │ │ - bmi.n 176 │ │ │ │ │ + bmi.n 1ea │ │ │ │ │ ldr r0, [r4, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_sz │ │ │ │ │ - mov r2, r6 │ │ │ │ │ mov r9, r0 │ │ │ │ │ + ldr r0, [r4, #8] │ │ │ │ │ + mov r2, r6 │ │ │ │ │ mov r3, r8 │ │ │ │ │ add r1, sp, #36 @ 0x24 │ │ │ │ │ - ldr r0, [r4, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_tornk1 │ │ │ │ │ ldr r3, [r4, #20] │ │ │ │ │ - str r3, [sp, #12] │ │ │ │ │ mov r0, r9 │ │ │ │ │ - ldr r3, [pc, #600] @ (48c ) │ │ │ │ │ ldr r2, [r5, #8] │ │ │ │ │ - add r3, pc │ │ │ │ │ ldr r1, [sp, #36] @ 0x24 │ │ │ │ │ + str r3, [sp, #12] │ │ │ │ │ + ldr r3, [pc, #616] @ (530 ) │ │ │ │ │ + add r3, pc │ │ │ │ │ ldr.w r2, [r3, r2, lsl #2] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_nbuf │ │ │ │ │ - mov r6, r0 │ │ │ │ │ ldr r1, [sp, #36] @ 0x24 │ │ │ │ │ + mov r6, r0 │ │ │ │ │ mov r0, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_bufdist │ │ │ │ │ mov fp, r0 │ │ │ │ │ mul.w r0, r0, r6 │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ ldr r2, [sp, #12] │ │ │ │ │ - ldr r3, [r4, #4] │ │ │ │ │ mov r5, r0 │ │ │ │ │ + ldr r3, [r4, #4] │ │ │ │ │ cmp r2, #4 │ │ │ │ │ - beq.w 3ac │ │ │ │ │ + beq.w 448 │ │ │ │ │ ldr r1, [r3, #8] │ │ │ │ │ - movs r2, #1 │ │ │ │ │ + mov.w r2, #1 │ │ │ │ │ mov r0, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ ldr r1, [sp, #40] @ 0x28 │ │ │ │ │ mov r8, r0 │ │ │ │ │ mov r2, fp │ │ │ │ │ mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ add.w r3, r4, #20 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ mov r1, r0 │ │ │ │ │ - str r3, [sp, #16] │ │ │ │ │ mov r0, r8 │ │ │ │ │ + str r3, [sp, #0] │ │ │ │ │ ldr r2, [r4, #12] │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ mov r3, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_d │ │ │ │ │ - mov r1, r0 │ │ │ │ │ ldrd r3, r2, [r4, #12] │ │ │ │ │ + mov r1, r0 │ │ │ │ │ mov r0, r7 │ │ │ │ │ - subs r3, r3, r2 │ │ │ │ │ + sub.w r3, r3, r2 │ │ │ │ │ clz r3, r3 │ │ │ │ │ - lsrs r3, r3, #5 │ │ │ │ │ - lsls r3, r3, #12 │ │ │ │ │ + mov.w r3, r3, lsr #5 │ │ │ │ │ + mov.w r3, r3, lsl #12 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ mov r2, r3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_f_d │ │ │ │ │ mov r8, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 40e │ │ │ │ │ + beq.w 4b0 │ │ │ │ │ ldr r3, [r4, #4] │ │ │ │ │ mov r1, fp │ │ │ │ │ - ldr r2, [sp, #44] @ 0x2c │ │ │ │ │ mov r0, r6 │ │ │ │ │ + ldr r2, [sp, #44] @ 0x2c │ │ │ │ │ ldr r3, [r3, #12] │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ - movs r3, #1 │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_2d │ │ │ │ │ ldr r2, [r4, #16] │ │ │ │ │ mov r1, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_0_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov sl, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 17c │ │ │ │ │ + beq.w 1f2 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ - mov r1, r6 │ │ │ │ │ ldr r0, [sp, #36] @ 0x24 │ │ │ │ │ + mov r1, r6 │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ mul.w r0, r6, r0 │ │ │ │ │ mul.w r5, r3, r0 │ │ │ │ │ ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ mul.w r3, r0, r3 │ │ │ │ │ @@ -382,201 +407,207 @@ │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov r5, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 17c │ │ │ │ │ + beq.w 1f2 │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ cmp r3, #4 │ │ │ │ │ - beq.n 408 │ │ │ │ │ - ldr r2, [pc, #324] @ (490 ) │ │ │ │ │ + beq.n 4aa │ │ │ │ │ + ldr r2, [pc, #332] @ (534 ) │ │ │ │ │ add r2, pc │ │ │ │ │ - ldr r1, [pc, #324] @ (494 ) │ │ │ │ │ - movs r0, #104 @ 0x68 │ │ │ │ │ + ldr r1, [pc, #332] @ (538 ) │ │ │ │ │ + mov.w r0, #104 @ 0x68 │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_rdft │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ - strd r5, r9, [r0, #72] @ 0x48 │ │ │ │ │ mov r4, r0 │ │ │ │ │ - str r3, [r0, #80] @ 0x50 │ │ │ │ │ add.w r1, sl, #8 │ │ │ │ │ - ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ + add.w r0, r8, #8 │ │ │ │ │ add.w r7, r4, #8 │ │ │ │ │ + strd r8, sl, [r4, #64] @ 0x40 │ │ │ │ │ + strd r5, r9, [r4, #72] @ 0x48 │ │ │ │ │ + add.w r5, r5, #8 │ │ │ │ │ ldr.w r9, [sp, #28] │ │ │ │ │ - adds r5, #8 │ │ │ │ │ - strd r8, sl, [r0, #64] @ 0x40 │ │ │ │ │ + str r3, [r4, #80] @ 0x50 │ │ │ │ │ + ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ mov r2, r9 │ │ │ │ │ mul.w r3, r6, r3 │ │ │ │ │ - str r3, [r0, #92] @ 0x5c │ │ │ │ │ + str r3, [r4, #92] @ 0x5c │ │ │ │ │ ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ - strd r6, fp, [r0, #84] @ 0x54 │ │ │ │ │ + strd r6, fp, [r4, #84] @ 0x54 │ │ │ │ │ mul.w r3, r6, r3 │ │ │ │ │ - str r3, [r0, #96] @ 0x60 │ │ │ │ │ - add.w r0, r8, #8 │ │ │ │ │ + str r3, [r4, #96] @ 0x60 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_add │ │ │ │ │ ldr r0, [sp, #36] @ 0x24 │ │ │ │ │ mov r1, r6 │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ mov r3, r7 │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r1, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_madd │ │ │ │ │ mov r0, r4 │ │ │ │ │ - add sp, #84 @ 0x54 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + b.n 210 │ │ │ │ │ ldr r2, [r3, #12] │ │ │ │ │ - movs r1, #1 │ │ │ │ │ + mov.w r1, #1 │ │ │ │ │ mov r0, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ ldr r2, [sp, #44] @ 0x2c │ │ │ │ │ mov r8, r0 │ │ │ │ │ mov r1, fp │ │ │ │ │ mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ add.w r3, r4, #20 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r0, r8 │ │ │ │ │ + str r3, [sp, #0] │ │ │ │ │ str r3, [sp, #16] │ │ │ │ │ ldr r3, [r4, #16] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_d │ │ │ │ │ mov.w r3, #4096 @ 0x1000 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ - movs r3, #0 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - mov r2, r3 │ │ │ │ │ mov r0, r7 │ │ │ │ │ + str r3, [sp, #0] │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + mov r2, r3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_f_d │ │ │ │ │ mov r8, r0 │ │ │ │ │ - cbz r0, 40e │ │ │ │ │ - movs r3, #1 │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ + cbz r0, 4b0 │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ ldr r1, [sp, #40] @ 0x28 │ │ │ │ │ mov r2, fp │ │ │ │ │ - ldr r3, [r4, #4] │ │ │ │ │ mov r0, r6 │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ + ldr r3, [r4, #4] │ │ │ │ │ ldr r3, [r3, #8] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_2d │ │ │ │ │ ldr r1, [r4, #12] │ │ │ │ │ mov r2, r5 │ │ │ │ │ - b.n 2cc │ │ │ │ │ - ldr r2, [pc, #140] @ (498 ) │ │ │ │ │ + b.n 368 │ │ │ │ │ + ldr r2, [pc, #144] @ (53c ) │ │ │ │ │ add r2, pc │ │ │ │ │ - b.n 34e │ │ │ │ │ + b.n 3ea │ │ │ │ │ mov.w sl, #0 │ │ │ │ │ mov r8, sl │ │ │ │ │ - b.n 17c │ │ │ │ │ + b.n 1f2 │ │ │ │ │ ldr.w r3, [r7, #164] @ 0xa4 │ │ │ │ │ lsls r0, r3, #19 │ │ │ │ │ - bmi.w 218 │ │ │ │ │ - b.n 176 │ │ │ │ │ + bmi.w 2a6 │ │ │ │ │ + b.n 1ea │ │ │ │ │ ldrd r0, r1, [r4, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_inplace_strides2 │ │ │ │ │ - cbnz r0, 44c │ │ │ │ │ + cbnz r0, 4ee │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ ldr r2, [r3, #0] │ │ │ │ │ - cbz r2, 44c │ │ │ │ │ + cbz r2, 4ee │ │ │ │ │ ldr r2, [r5, #8] │ │ │ │ │ ldr r1, [r3, #4] │ │ │ │ │ ldr.w r0, [r9, #4] │ │ │ │ │ ldr.w r2, [sl, r2, lsl #2] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_nbuf │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ ldr r3, [r3, #4] │ │ │ │ │ cmp r0, r3 │ │ │ │ │ - bne.w 176 │ │ │ │ │ + bne.w 1ea │ │ │ │ │ ldr r3, [r4, #20] │ │ │ │ │ cmp r3, #4 │ │ │ │ │ ldr.w r3, [r7, #164] @ 0xa4 │ │ │ │ │ - beq.n 476 │ │ │ │ │ + beq.n 518 │ │ │ │ │ lsls r2, r3, #15 │ │ │ │ │ - bpl.w 218 │ │ │ │ │ + bpl.w 2a6 │ │ │ │ │ ldrd r2, r3, [r4, #12] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.w 176 │ │ │ │ │ + bne.w 1ea │ │ │ │ │ ldr r3, [r4, #4] │ │ │ │ │ ldr r0, [r3, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_toobig │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 218 │ │ │ │ │ - b.n 176 │ │ │ │ │ + beq.w 2a6 │ │ │ │ │ + b.n 1ea │ │ │ │ │ lsls r1, r3, #15 │ │ │ │ │ - bpl.w 218 │ │ │ │ │ + bpl.w 2a6 │ │ │ │ │ ldrd r2, r3, [r4, #12] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.w 218 │ │ │ │ │ - b.n 466 │ │ │ │ │ - .word 0x0000029e │ │ │ │ │ + bne.w 2a6 │ │ │ │ │ + b.n 508 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x000002b2 │ │ │ │ │ R_ARM_REL32 .rodata │ │ │ │ │ - .word 0x00000252 │ │ │ │ │ + .word 0x00000266 │ │ │ │ │ R_ARM_REL32 .rodata │ │ │ │ │ - .word 0x00000140 │ │ │ │ │ + .word 0x00000148 │ │ │ │ │ R_ARM_REL32 apply │ │ │ │ │ - .word 0x0000013e │ │ │ │ │ + .word 0x00000144 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x0000008a │ │ │ │ │ + .word 0x0000008c │ │ │ │ │ R_ARM_REL32 apply_hc2r │ │ │ │ │ │ │ │ │ │ -0000049c : │ │ │ │ │ +00000540 : │ │ │ │ │ awake(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - mov r5, r1 │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ + mov r5, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ ldr r0, [r4, #68] @ 0x44 │ │ │ │ │ mov r1, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ ldr r0, [r4, #72] @ 0x48 │ │ │ │ │ mov r1, r5 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, lr} │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + ldrd r5, lr, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_awake │ │ │ │ │ │ │ │ │ │ -000004bc : │ │ │ │ │ +0000056c : │ │ │ │ │ fftw_rdft_buffered_register(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - ldr r5, [pc, #44] @ (4f0 ) │ │ │ │ │ - movs r0, #12 │ │ │ │ │ + mov.w r0, #12 │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ + ldr r5, [pc, #56] @ (5b4 ) │ │ │ │ │ add r5, pc │ │ │ │ │ mov r1, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ - movs r3, #0 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - str r3, [r0, #8] │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ + str r3, [r1, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ mov r1, r5 │ │ │ │ │ - movs r0, #12 │ │ │ │ │ + mov.w r0, #12 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ - movs r3, #1 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - str r3, [r0, #8] │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + ldrd r5, lr, [sp, #8] │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, lr} │ │ │ │ │ + str r3, [r1, #8] │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solver_register │ │ │ │ │ - .word 0x00000028 │ │ │ │ │ + .word 0x00000034 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ ├── buffered2.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 3996 (bytes into file) │ │ │ │ │ + Start of section headers: 4200 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 16 │ │ │ │ │ Section header string table index: 15 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,25 +1,25 @@ │ │ │ │ │ -There are 16 section headers, starting at offset 0xf9c: │ │ │ │ │ +There are 16 section headers, starting at offset 0x1068: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000658 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000ca4 000240 08 I 13 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 00068c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 00068c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 00068c 00002e 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 0006ba 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0006c2 000010 00 WA 0 0 4 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000ee4 000020 08 I 13 7 4 │ │ │ │ │ - [ 9] .data.rel.ro.local PROGBITS 00000000 0006d2 00000c 00 WA 0 0 4 │ │ │ │ │ - [10] .rel.data.rel.ro.local REL 00000000 000f04 000008 08 I 13 9 4 │ │ │ │ │ - [11] .note.GNU-stack PROGBITS 00000000 0006de 000000 00 0 0 1 │ │ │ │ │ - [12] .ARM.attributes ARM_ATTRIBUTES 00000000 0006de 000033 00 0 0 1 │ │ │ │ │ - [13] .symtab SYMTAB 00000000 000714 000350 10 14 24 4 │ │ │ │ │ - [14] .strtab STRTAB 00000000 000a64 00023f 00 0 0 1 │ │ │ │ │ - [15] .shstrtab STRTAB 00000000 000f0c 00008f 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000724 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000d70 000240 08 I 13 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000758 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000758 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000758 00002e 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000786 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 00078e 000010 00 WA 0 0 4 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000fb0 000020 08 I 13 7 4 │ │ │ │ │ + [ 9] .data.rel.ro.local PROGBITS 00000000 00079e 00000c 00 WA 0 0 4 │ │ │ │ │ + [10] .rel.data.rel.ro.local REL 00000000 000fd0 000008 08 I 13 9 4 │ │ │ │ │ + [11] .note.GNU-stack PROGBITS 00000000 0007aa 000000 00 0 0 1 │ │ │ │ │ + [12] .ARM.attributes ARM_ATTRIBUTES 00000000 0007aa 000033 00 0 0 1 │ │ │ │ │ + [13] .symtab SYMTAB 00000000 0007e0 000350 10 14 24 4 │ │ │ │ │ + [14] .strtab STRTAB 00000000 000b30 00023f 00 0 0 1 │ │ │ │ │ + [15] .shstrtab STRTAB 00000000 000fd8 00008f 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,25 +1,25 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 53 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ - 3: 00000001 60 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 3: 00000001 84 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ 4: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000038 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 0000003c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 0000003d 180 FUNC LOCAL DEFAULT 1 apply_hc2r │ │ │ │ │ - 8: 000000f1 174 FUNC LOCAL DEFAULT 1 apply_r2hc │ │ │ │ │ - 9: 000001a1 26 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 10: 000001bd 1092 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 11: 000005e8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 12: 00000600 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 13: 00000601 32 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 14: 00000654 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 5: 00000050 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000054 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00000055 212 FUNC LOCAL DEFAULT 1 apply_hc2r │ │ │ │ │ + 8: 00000129 210 FUNC LOCAL DEFAULT 1 apply_r2hc │ │ │ │ │ + 9: 000001fd 30 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 10: 0000021d 1168 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 11: 00000694 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 12: 000006ac 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 13: 000006ad 44 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 14: 00000720 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 15: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 16: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 17: 00000000 8 OBJECT LOCAL DEFAULT 6 maxnbufs │ │ │ │ │ 18: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 19: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 20: 00000000 16 OBJECT LOCAL DEFAULT 7 padt.0 │ │ │ │ │ 21: 00000000 0 SECTION LOCAL DEFAULT 9 .data.rel.ro.local │ │ │ │ │ @@ -46,11 +46,11 @@ │ │ │ │ │ 42: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_d │ │ │ │ │ 43: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_copy │ │ │ │ │ 44: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_rdft2 │ │ │ │ │ 45: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_add │ │ │ │ │ 46: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_madd │ │ │ │ │ 47: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft2_inplace_strides │ │ │ │ │ 48: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_awake │ │ │ │ │ - 49: 00000621 56 FUNC GLOBAL DEFAULT 1 fftw_rdft2_buffered_register │ │ │ │ │ + 49: 000006d9 76 FUNC GLOBAL DEFAULT 1 fftw_rdft2_buffered_register │ │ │ │ │ 50: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ 51: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 52: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft2_solve │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,86 +1,86 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xca4 contains 72 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xd70 contains 72 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000001c 0000180a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -00000038 00000203 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -0000006a 0000190a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -000000d4 00001a0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -0000011a 0000190a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -00000182 00001a0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -000001a6 00001b0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000001ac 00001b0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000001d4 00001c0a R_ARM_THM_CALL 00000000 fftw_ifree0 │ │ │ │ │ -000001da 00001b0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000001e0 00001b0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000001e6 00001b0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000228 00001d0a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ -00000230 00001e0a R_ARM_THM_CALL 00000000 fftw_toobig │ │ │ │ │ -00000254 00001f0a R_ARM_THM_CALL 00000000 fftw_nbuf_redundant │ │ │ │ │ -00000282 0000200a R_ARM_THM_CALL 00000000 fftw_tensor_sz │ │ │ │ │ -00000290 00001d0a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ -000002a2 0000210a R_ARM_THM_CALL 00000000 fftw_nbuf │ │ │ │ │ -000002ae 0000220a R_ARM_THM_CALL 00000000 fftw_bufdist │ │ │ │ │ -000002d4 0000190a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -000002e2 0000230a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -00000316 0000240a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -00000322 0000240a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -00000338 0000250a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft2_d │ │ │ │ │ -00000354 0000260a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ -00000360 0000270a R_ARM_THM_CALL 00000000 fftw_mktensor_0d │ │ │ │ │ -0000037e 0000280a R_ARM_THM_CALL 00000000 fftw_mktensor_2d │ │ │ │ │ -00000392 0000290a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ -0000039a 00002a0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -000003a8 00001a0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -000003ae 00002b0a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ -000003b8 0000180a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -000003c2 0000240a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -000003f0 0000250a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft2_d │ │ │ │ │ -000003f8 00002a0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -0000040e 00002c0a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft2 │ │ │ │ │ -00000450 00002d0a R_ARM_THM_CALL 00000000 fftw_ops_add │ │ │ │ │ -00000458 0000230a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -00000462 00002e0a R_ARM_THM_CALL 00000000 fftw_ops_madd │ │ │ │ │ -00000474 0000240a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -00000480 0000240a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -00000496 0000250a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft2_d │ │ │ │ │ -000004a8 0000260a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ -000004b2 0000270a R_ARM_THM_CALL 00000000 fftw_mktensor_0d │ │ │ │ │ -000004d0 0000280a R_ARM_THM_CALL 00000000 fftw_mktensor_2d │ │ │ │ │ -000004e4 0000290a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ -000004ec 00002a0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -000004fa 00001a0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -00000500 00002b0a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ -0000050a 0000180a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +00000026 0000180a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +00000050 00000203 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +00000090 0000190a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +000000fa 00001a0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +00000164 0000190a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +000001cc 00001a0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +00000204 00001b0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +0000020a 00001b0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000248 00001c0a R_ARM_THM_CALL 00000000 fftw_ifree0 │ │ │ │ │ +00000250 00001b0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000256 00001b0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +0000025c 00001b0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000002b2 00001d0a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ +000002ba 00001e0a R_ARM_THM_CALL 00000000 fftw_toobig │ │ │ │ │ +000002e0 00001f0a R_ARM_THM_CALL 00000000 fftw_nbuf_redundant │ │ │ │ │ +0000030e 0000200a R_ARM_THM_CALL 00000000 fftw_tensor_sz │ │ │ │ │ +0000031c 00001d0a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ +0000032e 0000210a R_ARM_THM_CALL 00000000 fftw_nbuf │ │ │ │ │ +0000033a 0000220a R_ARM_THM_CALL 00000000 fftw_bufdist │ │ │ │ │ +00000362 0000190a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +0000036c 0000230a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +000003a6 0000240a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +000003b2 0000240a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +000003c8 0000250a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft2_d │ │ │ │ │ +000003ea 0000260a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ +000003f6 0000270a R_ARM_THM_CALL 00000000 fftw_mktensor_0d │ │ │ │ │ +0000041a 0000280a R_ARM_THM_CALL 00000000 fftw_mktensor_2d │ │ │ │ │ +0000042e 0000290a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ +00000436 00002a0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +00000444 00001a0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +0000044a 00002b0a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ +00000454 0000180a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +0000045e 0000240a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +0000048e 0000250a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft2_d │ │ │ │ │ +00000496 00002a0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +000004ae 00002c0a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft2 │ │ │ │ │ +000004f2 00002d0a R_ARM_THM_CALL 00000000 fftw_ops_add │ │ │ │ │ +000004fa 0000230a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +00000504 00002e0a R_ARM_THM_CALL 00000000 fftw_ops_madd │ │ │ │ │ 00000514 0000240a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -00000542 0000250a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft2_d │ │ │ │ │ -0000054a 00002a0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -00000560 00002c0a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft2 │ │ │ │ │ -00000584 00002f0a R_ARM_THM_CALL 00000000 fftw_rdft2_inplace_strides │ │ │ │ │ -0000059c 0000210a R_ARM_THM_CALL 00000000 fftw_nbuf │ │ │ │ │ -000005ca 00001e0a R_ARM_THM_CALL 00000000 fftw_toobig │ │ │ │ │ -000005e8 00000f03 R_ARM_REL32 00000000 .rodata │ │ │ │ │ -000005ec 00000f03 R_ARM_REL32 00000000 .rodata │ │ │ │ │ -000005f0 00000803 R_ARM_REL32 000000f1 apply_r2hc │ │ │ │ │ -000005f4 00001203 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000005f8 00000703 R_ARM_REL32 0000003d apply_hc2r │ │ │ │ │ -000005fc 00001203 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000608 0000300a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -00000610 0000300a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -0000062c 0000320a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -00000638 0000330a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -00000640 0000320a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -00000654 00001503 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -000001b6 00001b1e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ -0000061c 0000301e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ -00000650 0000331e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ +00000520 0000240a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +00000536 0000250a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft2_d │ │ │ │ │ +0000054a 0000260a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ +00000554 0000270a R_ARM_THM_CALL 00000000 fftw_mktensor_0d │ │ │ │ │ +00000578 0000280a R_ARM_THM_CALL 00000000 fftw_mktensor_2d │ │ │ │ │ +0000058a 0000290a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ +00000592 00002a0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +000005a0 00001a0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +000005a6 00002b0a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ +000005b0 0000180a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +000005ba 0000240a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +000005ea 0000250a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft2_d │ │ │ │ │ +000005f2 00002a0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +0000060a 00002c0a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft2 │ │ │ │ │ +0000062e 00002f0a R_ARM_THM_CALL 00000000 fftw_rdft2_inplace_strides │ │ │ │ │ +00000646 0000210a R_ARM_THM_CALL 00000000 fftw_nbuf │ │ │ │ │ +00000674 00001e0a R_ARM_THM_CALL 00000000 fftw_toobig │ │ │ │ │ +00000694 00000f03 R_ARM_REL32 00000000 .rodata │ │ │ │ │ +00000698 00000f03 R_ARM_REL32 00000000 .rodata │ │ │ │ │ +0000069c 00000803 R_ARM_REL32 00000129 apply_r2hc │ │ │ │ │ +000006a0 00001203 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000006a4 00000703 R_ARM_REL32 00000055 apply_hc2r │ │ │ │ │ +000006a8 00001203 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000006ba 0000300a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +000006c2 0000300a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +000006ec 0000320a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +000006fa 0000330a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +00000704 0000320a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +00000720 00001503 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +00000216 00001b1e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000006d4 0000301e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ +0000071c 0000331e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xee4 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xfb0 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00003402 R_ARM_ABS32 00000000 fftw_rdft2_solve │ │ │ │ │ -00000004 00000d02 R_ARM_ABS32 00000601 awake │ │ │ │ │ +00000004 00000d02 R_ARM_ABS32 000006ad awake │ │ │ │ │ 00000008 00000302 R_ARM_ABS32 00000001 print │ │ │ │ │ -0000000c 00000902 R_ARM_ABS32 000001a1 destroy │ │ │ │ │ +0000000c 00000902 R_ARM_ABS32 000001fd destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0xf04 contains 1 entry: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0xfd0 contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000a02 R_ARM_ABS32 000001bd mkplan │ │ │ │ │ +00000004 00000a02 R_ARM_ABS32 0000021d mkplan │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,9 +1,7 @@ │ │ │ │ │ -zJp zIzDyD │ │ │ │ │ -(Jp (IzDyD │ │ │ │ │ (rdft2-buffered-%D%v/%D-%D%(%p%)%(%p%)%(%p%)) │ │ │ │ │ apply_hc2r │ │ │ │ │ apply_r2hc │ │ │ │ │ maxnbufs │ │ │ │ │ __aeabi_idivmod │ │ │ │ │ fftw_malloc_plain │ │ │ │ │ fftw_ifree │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,453 +1,478 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ print(): │ │ │ │ │ - push {r4, r5, r6, r7, lr} │ │ │ │ │ + str.w r4, [sp, #-20]! │ │ │ │ │ + mov r4, r0 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r1 │ │ │ │ │ - ldr r3, [r0, #72] @ 0x48 │ │ │ │ │ + ldrd r3, r6, [r0, #72] @ 0x48 │ │ │ │ │ + strd r7, lr, [sp, #12] │ │ │ │ │ sub sp, #28 │ │ │ │ │ - ldr r6, [r0, #76] @ 0x4c │ │ │ │ │ ldr r7, [r0, #84] @ 0x54 │ │ │ │ │ - mov r4, r0 │ │ │ │ │ - mov r1, r6 │ │ │ │ │ str r3, [sp, #16] │ │ │ │ │ + mov r1, r6 │ │ │ │ │ ldr r3, [r0, #68] @ 0x44 │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ ldr r3, [r0, #64] @ 0x40 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr r0, [r0, #88] @ 0x58 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ str r1, [sp, #4] │ │ │ │ │ - ldr r1, [pc, #20] @ (38 ) │ │ │ │ │ mov r2, r6 │ │ │ │ │ - ldr r3, [r4, #80] @ 0x50 │ │ │ │ │ mov r0, r5 │ │ │ │ │ + ldr r3, [r4, #80] @ 0x50 │ │ │ │ │ + ldr r1, [pc, #28] @ (50 ) │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - add r1, pc │ │ │ │ │ mov r3, r7 │ │ │ │ │ ldr r4, [r5, #0] │ │ │ │ │ + add r1, pc │ │ │ │ │ blx r4 │ │ │ │ │ add sp, #28 │ │ │ │ │ - pop {r4, r5, r6, r7, pc} │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x00000012 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ -0000003c : │ │ │ │ │ +00000054 : │ │ │ │ │ apply_hc2r(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r2 │ │ │ │ │ - ldr r4, [r0, #80] @ 0x50 │ │ │ │ │ - sub sp, #44 @ 0x2c │ │ │ │ │ - ldr r2, [r0, #84] @ 0x54 │ │ │ │ │ - ldr.w fp, [r0, #64] @ 0x40 │ │ │ │ │ mov r6, r3 │ │ │ │ │ - ldr.w sl, [r0, #68] @ 0x44 │ │ │ │ │ + ldrd r4, r2, [r0, #80] @ 0x50 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + sub sp, #44 @ 0x2c │ │ │ │ │ + ldrd fp, sl, [r0, #64] @ 0x40 │ │ │ │ │ + strd r1, r2, [sp, #8] │ │ │ │ │ ldrd r8, r9, [r0, #92] @ 0x5c │ │ │ │ │ - str r0, [sp, #32] │ │ │ │ │ str r4, [sp, #20] │ │ │ │ │ mov r4, r0 │ │ │ │ │ + str r0, [sp, #32] │ │ │ │ │ ldr r0, [r0, #88] @ 0x58 │ │ │ │ │ - str r1, [sp, #8] │ │ │ │ │ - str r2, [sp, #12] │ │ │ │ │ ldr r7, [sp, #80] @ 0x50 │ │ │ │ │ mul.w r0, r2, r0 │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ - ldr r3, [r4, #104] @ 0x68 │ │ │ │ │ - ldr r1, [r4, #100] @ 0x64 │ │ │ │ │ ldr r2, [sp, #12] │ │ │ │ │ + ldrd r1, r3, [r4, #100] @ 0x64 │ │ │ │ │ ldr r4, [sp, #20] │ │ │ │ │ add.w r3, r0, r3, lsl #3 │ │ │ │ │ add.w r1, r0, r1, lsl #3 │ │ │ │ │ cmp r4, r2 │ │ │ │ │ - blt.n d4 │ │ │ │ │ + blt.n fa │ │ │ │ │ mov.w r4, r8, lsl #3 │ │ │ │ │ - mov.w r9, r9, lsl #3 │ │ │ │ │ mov r8, r2 │ │ │ │ │ - str r4, [sp, #24] │ │ │ │ │ - str r2, [sp, #28] │ │ │ │ │ - str r0, [sp, #36] @ 0x24 │ │ │ │ │ strd r3, r1, [sp, #12] │ │ │ │ │ + mov.w r9, r9, lsl #3 │ │ │ │ │ + strd r4, r2, [sp, #24] │ │ │ │ │ + str r0, [sp, #36] @ 0x24 │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ mov r2, r7 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ mov r1, r6 │ │ │ │ │ - ldr r3, [sp, #12] │ │ │ │ │ mov r0, sl │ │ │ │ │ + str r3, [sp, #0] │ │ │ │ │ + ldr r3, [sp, #12] │ │ │ │ │ ldr.w r4, [sl, #56] @ 0x38 │ │ │ │ │ blx r4 │ │ │ │ │ - ldr r2, [sp, #16] │ │ │ │ │ - ldr r1, [sp, #24] │ │ │ │ │ + ldrd r3, r2, [sp, #12] │ │ │ │ │ mov r0, fp │ │ │ │ │ + ldr r1, [sp, #24] │ │ │ │ │ str r2, [sp, #0] │ │ │ │ │ mov r2, r5 │ │ │ │ │ - ldr r3, [sp, #12] │ │ │ │ │ - add r6, r1 │ │ │ │ │ + add r5, r9 │ │ │ │ │ ldr.w r4, [fp, #56] @ 0x38 │ │ │ │ │ + add r6, r1 │ │ │ │ │ add r7, r1 │ │ │ │ │ ldr r1, [sp, #8] │ │ │ │ │ - add r5, r9 │ │ │ │ │ blx r4 │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ add r3, r9 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ add r8, r3 │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ cmp r3, r8 │ │ │ │ │ - bge.n 96 │ │ │ │ │ + bge.n bc │ │ │ │ │ ldr r0, [sp, #36] @ 0x24 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ - ldr r3, [sp, #32] │ │ │ │ │ ldr r1, [sp, #8] │ │ │ │ │ mov r2, r5 │ │ │ │ │ + ldr r3, [sp, #32] │ │ │ │ │ ldr r0, [r3, #72] @ 0x48 │ │ │ │ │ mov r3, r6 │ │ │ │ │ str r7, [sp, #80] @ 0x50 │ │ │ │ │ ldr r7, [r0, #56] @ 0x38 │ │ │ │ │ mov ip, r7 │ │ │ │ │ add sp, #44 @ 0x2c │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ bx ip │ │ │ │ │ │ │ │ │ │ -000000f0 : │ │ │ │ │ +00000128 : │ │ │ │ │ apply_r2hc(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r5, r2 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ ldr r4, [r0, #80] @ 0x50 │ │ │ │ │ - sub sp, #44 @ 0x2c │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r5, r2 │ │ │ │ │ mov r6, r3 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + sub sp, #44 @ 0x2c │ │ │ │ │ ldrd fp, sl, [r0, #64] @ 0x40 │ │ │ │ │ - ldrd r8, r9, [r0, #92] @ 0x5c │ │ │ │ │ - str r0, [sp, #32] │ │ │ │ │ str r1, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [r0, #92] @ 0x5c │ │ │ │ │ str r4, [sp, #20] │ │ │ │ │ mov r4, r0 │ │ │ │ │ - ldr r1, [r0, #84] @ 0x54 │ │ │ │ │ - ldr r0, [r0, #88] @ 0x58 │ │ │ │ │ - str r1, [sp, #12] │ │ │ │ │ + str r0, [sp, #32] │ │ │ │ │ + ldrd r1, r0, [r0, #84] @ 0x54 │ │ │ │ │ ldr r7, [sp, #80] @ 0x50 │ │ │ │ │ mul.w r0, r1, r0 │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ + str r1, [sp, #12] │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ - ldr r3, [r4, #104] @ 0x68 │ │ │ │ │ - ldr r2, [r4, #100] @ 0x64 │ │ │ │ │ ldr r1, [sp, #12] │ │ │ │ │ + ldrd r2, r3, [r4, #100] @ 0x64 │ │ │ │ │ ldr r4, [sp, #20] │ │ │ │ │ add.w r3, r0, r3, lsl #3 │ │ │ │ │ add.w r2, r0, r2, lsl #3 │ │ │ │ │ cmp r4, r1 │ │ │ │ │ - blt.n 182 │ │ │ │ │ + blt.n 1cc │ │ │ │ │ mov.w r4, r8, lsl #3 │ │ │ │ │ - mov.w r9, r9, lsl #3 │ │ │ │ │ mov r8, r1 │ │ │ │ │ - str r4, [sp, #24] │ │ │ │ │ - str r1, [sp, #28] │ │ │ │ │ - str r0, [sp, #36] @ 0x24 │ │ │ │ │ strd r3, r2, [sp, #12] │ │ │ │ │ - ldr r3, [sp, #16] │ │ │ │ │ + mov.w r9, r9, lsl #3 │ │ │ │ │ + strd r4, r1, [sp, #24] │ │ │ │ │ + str r0, [sp, #36] @ 0x24 │ │ │ │ │ + ldr r1, [sp, #8] │ │ │ │ │ mov r2, r5 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ mov r0, fp │ │ │ │ │ + ldr r3, [sp, #16] │ │ │ │ │ + str r3, [sp, #0] │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ - ldr r1, [sp, #8] │ │ │ │ │ ldr.w r4, [fp, #56] @ 0x38 │ │ │ │ │ blx r4 │ │ │ │ │ - ldr r0, [sp, #24] │ │ │ │ │ - ldr r4, [sp, #8] │ │ │ │ │ + ldrd r4, r1, [sp, #8] │ │ │ │ │ mov r3, r6 │ │ │ │ │ + add r6, r9 │ │ │ │ │ str r7, [sp, #0] │ │ │ │ │ - add r5, r0 │ │ │ │ │ + add r7, r9 │ │ │ │ │ + ldr r2, [sp, #16] │ │ │ │ │ + ldr r0, [sp, #24] │ │ │ │ │ add r4, r0 │ │ │ │ │ + add r5, r0 │ │ │ │ │ mov r0, sl │ │ │ │ │ str r4, [sp, #8] │ │ │ │ │ - add r6, r9 │ │ │ │ │ - ldrd r1, r2, [sp, #12] │ │ │ │ │ - add r7, r9 │ │ │ │ │ ldr.w r4, [sl, #56] @ 0x38 │ │ │ │ │ blx r4 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ add r8, r3 │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ cmp r3, r8 │ │ │ │ │ - bge.n 146 │ │ │ │ │ + bge.n 190 │ │ │ │ │ ldr r0, [sp, #36] @ 0x24 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ - ldr r3, [sp, #32] │ │ │ │ │ ldr r1, [sp, #8] │ │ │ │ │ mov r2, r5 │ │ │ │ │ + ldr r3, [sp, #32] │ │ │ │ │ ldr r0, [r3, #72] @ 0x48 │ │ │ │ │ mov r3, r6 │ │ │ │ │ str r7, [sp, #80] @ 0x50 │ │ │ │ │ ldr r7, [r0, #56] @ 0x38 │ │ │ │ │ mov ip, r7 │ │ │ │ │ add sp, #44 @ 0x2c │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ bx ip │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000001a0 : │ │ │ │ │ +000001fc : │ │ │ │ │ destroy(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldr r0, [r0, #72] @ 0x48 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ ldr r0, [r4, #68] @ 0x44 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ ldr r0, [r4, #64] @ 0x40 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_destroy_internal │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000001bc : │ │ │ │ │ +0000021c : │ │ │ │ │ mkplan(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ ldr.w r3, [r2, #164] @ 0xa4 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #100 @ 0x64 │ │ │ │ │ + tst.w r3, #1024 @ 0x400 │ │ │ │ │ str r2, [sp, #20] │ │ │ │ │ - lsls r2, r3, #21 │ │ │ │ │ - bpl.n 1f2 │ │ │ │ │ - movs r5, #0 │ │ │ │ │ + beq.n 27c │ │ │ │ │ + mov.w r5, #0 │ │ │ │ │ mov sl, r5 │ │ │ │ │ mov r9, r5 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree0 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ mov r0, sl │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ mov r0, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #100 @ 0x64 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ mov r5, r0 │ │ │ │ │ ldr r0, [r1, #8] │ │ │ │ │ mov r4, r1 │ │ │ │ │ ldr r3, [r0, #0] │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - bgt.n 1cc │ │ │ │ │ + bgt.n 23e │ │ │ │ │ ldr.w r8, [r1, #4] │ │ │ │ │ ldr.w r3, [r8] │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - bne.n 1cc │ │ │ │ │ + bne.n 23e │ │ │ │ │ ldr.w r3, [r8, #4] │ │ │ │ │ lsls r3, r3, #31 │ │ │ │ │ - bmi.n 1cc │ │ │ │ │ + bmi.n 23e │ │ │ │ │ ldr r3, [r1, #28] │ │ │ │ │ bics.w r3, r3, #4 │ │ │ │ │ - bne.n 1cc │ │ │ │ │ + bne.n 23e │ │ │ │ │ + add r3, sp, #64 @ 0x40 │ │ │ │ │ add.w r9, sp, #60 @ 0x3c │ │ │ │ │ add r6, sp, #56 @ 0x38 │ │ │ │ │ - add r3, sp, #64 @ 0x40 │ │ │ │ │ mov r2, r9 │ │ │ │ │ mov r1, r6 │ │ │ │ │ str r3, [sp, #44] @ 0x2c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_tornk1 │ │ │ │ │ ldr.w r0, [r8, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_toobig │ │ │ │ │ - cbz r0, 240 │ │ │ │ │ + cbz r0, 2ca │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ ldr.w r3, [r3, #164] @ 0xa4 │ │ │ │ │ lsls r7, r3, #17 │ │ │ │ │ - bmi.n 1cc │ │ │ │ │ - ldr.w sl, [pc, #932] @ 5e8 │ │ │ │ │ - movs r3, #2 │ │ │ │ │ + bmi.n 23e │ │ │ │ │ + ldr.w sl, [pc, #968] @ 694 │ │ │ │ │ + mov.w r3, #2 │ │ │ │ │ ldr.w r0, [r8, #4] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ + ldr r2, [r5, #8] │ │ │ │ │ add sl, pc │ │ │ │ │ ldr r1, [sp, #56] @ 0x38 │ │ │ │ │ mov r3, sl │ │ │ │ │ - ldr r2, [r5, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_nbuf_redundant │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.n 1cc │ │ │ │ │ + bne.n 23e │ │ │ │ │ ldr r2, [r4, #12] │ │ │ │ │ ldr r3, [r4, #20] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.w 57e │ │ │ │ │ + beq.w 628 │ │ │ │ │ ldr r3, [r4, #28] │ │ │ │ │ cmp r3, #4 │ │ │ │ │ - beq.w 570 │ │ │ │ │ + beq.w 61a │ │ │ │ │ ldr.w r3, [r8, #12] │ │ │ │ │ cmp r3, #2 │ │ │ │ │ - ble.n 1cc │ │ │ │ │ + ble.n 23e │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ ldr.w r3, [r3, #164] @ 0xa4 │ │ │ │ │ lsls r3, r3, #15 │ │ │ │ │ - bmi.n 1cc │ │ │ │ │ + bmi.n 23e │ │ │ │ │ ldr r0, [r4, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_sz │ │ │ │ │ - mov r3, r9 │ │ │ │ │ mov r8, r0 │ │ │ │ │ + ldr r0, [r4, #8] │ │ │ │ │ + mov r3, r9 │ │ │ │ │ mov r2, r6 │ │ │ │ │ add r1, sp, #52 @ 0x34 │ │ │ │ │ - ldr r0, [r4, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_tornk1 │ │ │ │ │ - ldr r3, [pc, #852] @ (5ec ) │ │ │ │ │ - ldr r2, [r5, #8] │ │ │ │ │ + ldr r3, [pc, #884] @ (698 ) │ │ │ │ │ mov r0, r8 │ │ │ │ │ - add r3, pc │ │ │ │ │ + ldr r2, [r5, #8] │ │ │ │ │ ldr r1, [sp, #52] @ 0x34 │ │ │ │ │ + add r3, pc │ │ │ │ │ ldr.w r2, [r3, r2, lsl #2] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_nbuf │ │ │ │ │ ldr r1, [sp, #52] @ 0x34 │ │ │ │ │ mov r6, r0 │ │ │ │ │ add.w r0, r8, #2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_bufdist │ │ │ │ │ - mov fp, r0 │ │ │ │ │ ldrd r3, r2, [r4, #20] │ │ │ │ │ + mov fp, r0 │ │ │ │ │ mul.w r0, r0, r6 │ │ │ │ │ - subs r3, r3, r2 │ │ │ │ │ - cmp r3, #0 │ │ │ │ │ mov.w r0, r0, lsl #3 │ │ │ │ │ + sub.w r3, r3, r2 │ │ │ │ │ + cmp r3, #0 │ │ │ │ │ iteet le │ │ │ │ │ movle r1, #1 │ │ │ │ │ movgt r1, #0 │ │ │ │ │ movgt r3, #1 │ │ │ │ │ movle r3, #0 │ │ │ │ │ mov r7, r1 │ │ │ │ │ str r3, [sp, #28] │ │ │ │ │ str r1, [sp, #40] @ 0x28 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ - mov r1, r6 │ │ │ │ │ mov r5, r0 │ │ │ │ │ ldr r0, [sp, #52] @ 0x34 │ │ │ │ │ - add.w sl, r5, r7, lsl #3 │ │ │ │ │ + mov r1, r6 │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ - ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ mul.w r0, r6, r0 │ │ │ │ │ ldr r2, [sp, #28] │ │ │ │ │ + add.w sl, r5, r7, lsl #3 │ │ │ │ │ + ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ ldr.w r9, [r4, #28] │ │ │ │ │ add.w r2, r5, r2, lsl #3 │ │ │ │ │ - str r2, [sp, #24] │ │ │ │ │ mul.w r3, r3, r0 │ │ │ │ │ + str r2, [sp, #24] │ │ │ │ │ str r3, [sp, #32] │ │ │ │ │ ldr r3, [sp, #60] @ 0x3c │ │ │ │ │ mul.w r0, r3, r0 │ │ │ │ │ ldr r3, [r4, #4] │ │ │ │ │ str r0, [sp, #36] @ 0x24 │ │ │ │ │ cmp.w r9, #0 │ │ │ │ │ - bne.w 46e │ │ │ │ │ + bne.w 50c │ │ │ │ │ ldr r1, [r3, #8] │ │ │ │ │ - movs r2, #2 │ │ │ │ │ + mov.w r2, #2 │ │ │ │ │ mov r0, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ ldr r1, [sp, #56] @ 0x38 │ │ │ │ │ mov r7, r0 │ │ │ │ │ mov r2, fp │ │ │ │ │ mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ ldr r3, [r4, #28] │ │ │ │ │ - strd sl, r3, [sp, #4] │ │ │ │ │ mov r1, r0 │ │ │ │ │ - ldr r3, [sp, #24] │ │ │ │ │ mov r0, r7 │ │ │ │ │ + strd sl, r3, [sp, #4] │ │ │ │ │ + ldr r3, [sp, #24] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldrd r2, r3, [r4, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft2_d │ │ │ │ │ - ldr r2, [r4, #20] │ │ │ │ │ - mov r1, r0 │ │ │ │ │ ldr r3, [r4, #12] │ │ │ │ │ + mov r1, r0 │ │ │ │ │ + ldr r2, [r4, #20] │ │ │ │ │ ldr r0, [sp, #20] │ │ │ │ │ - subs r3, r3, r2 │ │ │ │ │ + sub.w r3, r3, r2 │ │ │ │ │ mov r2, r9 │ │ │ │ │ clz r3, r3 │ │ │ │ │ - lsrs r3, r3, #5 │ │ │ │ │ - lsls r3, r3, #12 │ │ │ │ │ + mov.w r3, r3, lsr #5 │ │ │ │ │ + mov.w r3, r3, lsl #12 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_f_d │ │ │ │ │ mov r9, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 568 │ │ │ │ │ + beq.w 612 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_0d │ │ │ │ │ ldr r2, [r4, #4] │ │ │ │ │ add.w r3, r8, r8, lsr #31 │ │ │ │ │ mov r7, r0 │ │ │ │ │ mov r1, fp │ │ │ │ │ mov r0, r6 │ │ │ │ │ + mov.w r3, r3, asr #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ ldr r2, [r2, #12] │ │ │ │ │ - asrs r3, r3, #1 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ str r2, [sp, #4] │ │ │ │ │ - movs r2, #2 │ │ │ │ │ + mov.w r2, #2 │ │ │ │ │ str r2, [sp, #0] │ │ │ │ │ ldr r2, [sp, #60] @ 0x3c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_2d │ │ │ │ │ ldr r3, [r4, #24] │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ mov r1, r0 │ │ │ │ │ - ldr r2, [sp, #24] │ │ │ │ │ mov r0, r7 │ │ │ │ │ + ldr r2, [sp, #24] │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ ldr r3, [r4, #20] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, sl │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_dft_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ ldr r0, [sp, #20] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov sl, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 1d2 │ │ │ │ │ + beq.w 246 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ ldr r0, [r4, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy │ │ │ │ │ - mov r1, r6 │ │ │ │ │ mov r5, r0 │ │ │ │ │ ldr r0, [sp, #52] @ 0x34 │ │ │ │ │ + mov r1, r6 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ mov r0, r1 │ │ │ │ │ ldrd r1, r2, [sp, #56] @ 0x38 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ ldr r3, [sp, #32] │ │ │ │ │ mov r1, r0 │ │ │ │ │ + ldr r0, [r4, #12] │ │ │ │ │ ldr r7, [r4, #28] │ │ │ │ │ - lsls r2, r3, #3 │ │ │ │ │ + mov.w r2, r3, lsl #3 │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ mov.w ip, r3, lsl #3 │ │ │ │ │ - ldrd r0, r3, [r4, #12] │ │ │ │ │ + ldr r3, [r4, #16] │ │ │ │ │ str r7, [sp, #8] │ │ │ │ │ ldr r7, [r4, #24] │ │ │ │ │ add r3, r2 │ │ │ │ │ add r2, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ add.w lr, r7, ip │ │ │ │ │ str.w lr, [sp, #4] │ │ │ │ │ @@ -458,33 +483,33 @@ │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft2_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ ldr r0, [sp, #20] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov r5, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 1d2 │ │ │ │ │ - ldr r2, [pc, #488] @ (5f0 ) │ │ │ │ │ - movs r0, #112 @ 0x70 │ │ │ │ │ - ldr r1, [pc, #488] @ (5f4 ) │ │ │ │ │ + beq.w 246 │ │ │ │ │ + ldr r2, [pc, #504] @ (69c ) │ │ │ │ │ + mov.w r0, #112 @ 0x70 │ │ │ │ │ + ldr r1, [pc, #500] @ (6a0 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_rdft2 │ │ │ │ │ mov r4, r0 │ │ │ │ │ - strd r5, r8, [r4, #72] @ 0x48 │ │ │ │ │ - add.w r1, sl, #8 │ │ │ │ │ ldr r3, [sp, #52] @ 0x34 │ │ │ │ │ + add.w r1, sl, #8 │ │ │ │ │ add.w r0, r9, #8 │ │ │ │ │ - str r3, [r4, #80] @ 0x50 │ │ │ │ │ + strd r9, sl, [r4, #64] @ 0x40 │ │ │ │ │ add.w r7, r4, #8 │ │ │ │ │ - ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ - adds r5, #8 │ │ │ │ │ + strd r5, r8, [r4, #72] @ 0x48 │ │ │ │ │ + add.w r5, r5, #8 │ │ │ │ │ ldr.w r8, [sp, #44] @ 0x2c │ │ │ │ │ - strd r9, sl, [r4, #64] @ 0x40 │ │ │ │ │ + str r3, [r4, #80] @ 0x50 │ │ │ │ │ + ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ mov r2, r8 │ │ │ │ │ mul.w r3, r6, r3 │ │ │ │ │ str r3, [r4, #92] @ 0x5c │ │ │ │ │ ldr r3, [sp, #60] @ 0x3c │ │ │ │ │ strd r6, fp, [r4, #84] @ 0x54 │ │ │ │ │ mul.w r3, r6, r3 │ │ │ │ │ str r3, [r4, #96] @ 0x60 │ │ │ │ │ @@ -500,100 +525,99 @@ │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ mov r3, r7 │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r1, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_madd │ │ │ │ │ mov r0, r4 │ │ │ │ │ - add sp, #100 @ 0x64 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + b.n 264 │ │ │ │ │ ldr r2, [r3, #12] │ │ │ │ │ - movs r1, #2 │ │ │ │ │ + mov.w r1, #2 │ │ │ │ │ mov r0, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ ldr r2, [sp, #60] @ 0x3c │ │ │ │ │ mov r9, r0 │ │ │ │ │ mov r1, fp │ │ │ │ │ mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ ldr r3, [r4, #28] │ │ │ │ │ - strd sl, r3, [sp, #4] │ │ │ │ │ mov r1, r0 │ │ │ │ │ - ldr r3, [sp, #24] │ │ │ │ │ mov r0, r9 │ │ │ │ │ + strd sl, r3, [sp, #4] │ │ │ │ │ + ldr r3, [sp, #24] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldrd r2, r3, [r4, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft2_d │ │ │ │ │ mov.w r3, #4096 @ 0x1000 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ - movs r3, #0 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - mov r2, r3 │ │ │ │ │ ldr r0, [sp, #20] │ │ │ │ │ + str r3, [sp, #0] │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + mov r2, r3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_f_d │ │ │ │ │ mov r9, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 568 │ │ │ │ │ + beq.n 612 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_0d │ │ │ │ │ - movs r2, #2 │ │ │ │ │ - str r2, [sp, #4] │ │ │ │ │ + mov.w r2, #2 │ │ │ │ │ add.w r3, r8, r8, lsr #31 │ │ │ │ │ ldr r1, [sp, #56] @ 0x38 │ │ │ │ │ mov r7, r0 │ │ │ │ │ - ldr r2, [r4, #4] │ │ │ │ │ - asrs r3, r3, #1 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ mov r0, r6 │ │ │ │ │ + str r2, [sp, #4] │ │ │ │ │ + mov.w r3, r3, asr #1 │ │ │ │ │ + ldr r2, [r4, #4] │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ ldr r2, [r2, #8] │ │ │ │ │ str r2, [sp, #0] │ │ │ │ │ mov r2, fp │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_2d │ │ │ │ │ ldr r3, [sp, #24] │ │ │ │ │ - str.w sl, [sp, #4] │ │ │ │ │ mov r1, r0 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ mov r0, r7 │ │ │ │ │ + strd r3, sl, [sp] │ │ │ │ │ ldrd r2, r3, [r4, #20] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_dft_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ ldr r0, [sp, #20] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov sl, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 1d2 │ │ │ │ │ + beq.w 246 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ ldr r0, [r4, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy │ │ │ │ │ - mov r1, r6 │ │ │ │ │ mov r5, r0 │ │ │ │ │ ldr r0, [sp, #52] @ 0x34 │ │ │ │ │ + mov r1, r6 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ mov r0, r1 │ │ │ │ │ ldrd r1, r2, [sp, #56] @ 0x38 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ mov r1, r0 │ │ │ │ │ + ldr r0, [r4, #12] │ │ │ │ │ ldr r7, [r4, #28] │ │ │ │ │ - lsls r2, r3, #3 │ │ │ │ │ + mov.w r2, r3, lsl #3 │ │ │ │ │ ldr r3, [sp, #32] │ │ │ │ │ mov.w ip, r3, lsl #3 │ │ │ │ │ - ldrd r0, r3, [r4, #12] │ │ │ │ │ + ldr r3, [r4, #16] │ │ │ │ │ str r7, [sp, #8] │ │ │ │ │ ldr r7, [r4, #24] │ │ │ │ │ add r3, r2 │ │ │ │ │ add r2, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ add.w lr, r7, ip │ │ │ │ │ str.w lr, [sp, #4] │ │ │ │ │ @@ -604,128 +628,135 @@ │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft2_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ ldr r0, [sp, #20] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov r5, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 1d2 │ │ │ │ │ - ldr r2, [pc, #160] @ (5f8 ) │ │ │ │ │ - movs r0, #112 @ 0x70 │ │ │ │ │ - ldr r1, [pc, #160] @ (5fc ) │ │ │ │ │ + beq.w 246 │ │ │ │ │ + ldr r2, [pc, #164] @ (6a4 ) │ │ │ │ │ + mov.w r0, #112 @ 0x70 │ │ │ │ │ + ldr r1, [pc, #160] @ (6a8 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_rdft2 │ │ │ │ │ mov r4, r0 │ │ │ │ │ - b.n 414 │ │ │ │ │ + b.n 4b4 │ │ │ │ │ mov.w sl, #0 │ │ │ │ │ mov r9, sl │ │ │ │ │ - b.n 1d2 │ │ │ │ │ + b.n 246 │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ ldr.w r3, [r3, #164] @ 0xa4 │ │ │ │ │ lsls r0, r3, #19 │ │ │ │ │ - bmi.w 280 │ │ │ │ │ - b.n 1cc │ │ │ │ │ + bmi.w 30c │ │ │ │ │ + b.n 23e │ │ │ │ │ mvn.w r1, #2147483648 @ 0x80000000 │ │ │ │ │ mov r0, r4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_rdft2_inplace_strides │ │ │ │ │ - cbnz r0, 5aa │ │ │ │ │ + cbnz r0, 654 │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ ldr r2, [r3, #0] │ │ │ │ │ - cbz r2, 5aa │ │ │ │ │ + cbz r2, 654 │ │ │ │ │ ldr r2, [r5, #8] │ │ │ │ │ ldr r1, [r3, #4] │ │ │ │ │ ldr.w r0, [r8, #4] │ │ │ │ │ ldr.w r2, [sl, r2, lsl #2] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_nbuf │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ ldr r3, [r3, #4] │ │ │ │ │ cmp r0, r3 │ │ │ │ │ - bne.w 1cc │ │ │ │ │ + bne.w 23e │ │ │ │ │ ldr r3, [r4, #28] │ │ │ │ │ cmp r3, #4 │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ ldr.w r3, [r3, #164] @ 0xa4 │ │ │ │ │ - beq.n 5d6 │ │ │ │ │ + beq.n 680 │ │ │ │ │ lsls r2, r3, #15 │ │ │ │ │ - bpl.w 280 │ │ │ │ │ + bpl.w 30c │ │ │ │ │ ldr r2, [r4, #12] │ │ │ │ │ ldr r3, [r4, #20] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.w 1cc │ │ │ │ │ + bne.w 23e │ │ │ │ │ ldr r3, [r4, #4] │ │ │ │ │ ldr r0, [r3, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_toobig │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 280 │ │ │ │ │ - b.n 1cc │ │ │ │ │ + beq.w 30c │ │ │ │ │ + b.n 23e │ │ │ │ │ lsls r1, r3, #15 │ │ │ │ │ - bpl.w 280 │ │ │ │ │ + bpl.w 30c │ │ │ │ │ ldr r2, [r4, #12] │ │ │ │ │ ldr r3, [r4, #20] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.w 280 │ │ │ │ │ - b.n 5c6 │ │ │ │ │ - .word 0x00000398 │ │ │ │ │ + bne.w 30c │ │ │ │ │ + b.n 670 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x000003b6 │ │ │ │ │ R_ARM_REL32 .rodata │ │ │ │ │ - .word 0x0000034e │ │ │ │ │ + .word 0x0000036c │ │ │ │ │ R_ARM_REL32 .rodata │ │ │ │ │ - .word 0x000001e2 │ │ │ │ │ + .word 0x000001ee │ │ │ │ │ R_ARM_REL32 apply_r2hc │ │ │ │ │ - .word 0x000001e4 │ │ │ │ │ + .word 0x000001f0 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000098 │ │ │ │ │ - R_ARM_REL32 apply_hc2r │ │ │ │ │ .word 0x0000009a │ │ │ │ │ + R_ARM_REL32 apply_hc2r │ │ │ │ │ + .word 0x0000009c │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ │ │ │ │ │ -00000600 : │ │ │ │ │ +000006ac : │ │ │ │ │ awake(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - mov r5, r1 │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ + mov r5, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ ldr r0, [r4, #68] @ 0x44 │ │ │ │ │ mov r1, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ ldr r0, [r4, #72] @ 0x48 │ │ │ │ │ mov r1, r5 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, lr} │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + ldrd r5, lr, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_awake │ │ │ │ │ │ │ │ │ │ -00000620 : │ │ │ │ │ +000006d8 : │ │ │ │ │ fftw_rdft2_buffered_register(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - ldr r5, [pc, #44] @ (654 ) │ │ │ │ │ - movs r0, #12 │ │ │ │ │ + mov.w r0, #12 │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ + ldr r5, [pc, #56] @ (720 ) │ │ │ │ │ add r5, pc │ │ │ │ │ mov r1, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ - movs r3, #0 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - str r3, [r0, #8] │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ + str r3, [r1, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ mov r1, r5 │ │ │ │ │ - movs r0, #12 │ │ │ │ │ + mov.w r0, #12 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ - movs r3, #1 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - str r3, [r0, #8] │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + ldrd r5, lr, [sp, #8] │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, lr} │ │ │ │ │ + str r3, [r1, #8] │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solver_register │ │ │ │ │ - .word 0x00000028 │ │ │ │ │ + .word 0x00000034 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ ├── lt7-conf.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2560 (bytes into file) │ │ │ │ │ + Start of section headers: 2572 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0xa00: │ │ │ │ │ +There are 13 section headers, starting at offset 0xa0c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000058 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000818 000048 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 00008c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 00008c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 00008c 000218 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 0002a4 0000a0 00 WA 0 0 4 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000860 000130 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 000344 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000344 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 000378 000210 10 11 8 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 000588 00028d 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000990 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000064 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000824 000048 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000098 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000098 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000098 000218 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0002b0 0000a0 00 WA 0 0 4 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 00086c 000130 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 000350 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000350 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 000384 000210 10 11 8 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 000594 00028d 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 00099c 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 33 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000044 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 2: 00000050 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 3: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 4: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 5: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 6: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 7: 00000000 160 OBJECT LOCAL DEFAULT 6 s │ │ │ │ │ - 8: 00000001 88 FUNC GLOBAL DEFAULT 1 fftw_rdft_conf_standard │ │ │ │ │ + 8: 00000001 100 FUNC GLOBAL DEFAULT 1 fftw_rdft_conf_standard │ │ │ │ │ 9: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solvtab_exec │ │ │ │ │ 10: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solvtab_rdft_r2cf │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solvtab_rdft_r2cb │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solvtab_rdft_r2r │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_indirect_register │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_rank0_register │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,21 +1,21 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x818 contains 9 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x824 contains 9 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000000e 0000090a R_ARM_THM_CALL 00000000 fftw_solvtab_exec │ │ │ │ │ -0000001e 0000090a R_ARM_THM_CALL 00000000 fftw_solvtab_exec │ │ │ │ │ -0000002c 0000090a R_ARM_THM_CALL 00000000 fftw_solvtab_exec │ │ │ │ │ -00000044 00000503 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000048 00000a19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000004c 00000b1a R_ARM_GOT_BREL 00000000 fftw_solvtab_rdft_r2cf │ │ │ │ │ -00000050 00000c1a R_ARM_GOT_BREL 00000000 fftw_solvtab_rdft_r2cb │ │ │ │ │ -00000054 00000d1a R_ARM_GOT_BREL 00000000 fftw_solvtab_rdft_r2r │ │ │ │ │ -00000040 0000091e R_ARM_THM_JUMP24 00000000 fftw_solvtab_exec │ │ │ │ │ +00000014 0000090a R_ARM_THM_CALL 00000000 fftw_solvtab_exec │ │ │ │ │ +00000024 0000090a R_ARM_THM_CALL 00000000 fftw_solvtab_exec │ │ │ │ │ +00000032 0000090a R_ARM_THM_CALL 00000000 fftw_solvtab_exec │ │ │ │ │ +00000050 00000503 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000054 00000a19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000058 00000b1a R_ARM_GOT_BREL 00000000 fftw_solvtab_rdft_r2cf │ │ │ │ │ +0000005c 00000c1a R_ARM_GOT_BREL 00000000 fftw_solvtab_rdft_r2cb │ │ │ │ │ +00000060 00000d1a R_ARM_GOT_BREL 00000000 fftw_solvtab_rdft_r2r │ │ │ │ │ +0000004c 0000091e R_ARM_THM_JUMP24 00000000 fftw_solvtab_exec │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x860 contains 38 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x86c contains 38 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00000e02 R_ARM_ABS32 00000000 fftw_rdft_indirect_register │ │ │ │ │ 00000004 00000302 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000f02 R_ARM_ABS32 00000000 fftw_rdft_rank0_register │ │ │ │ │ 0000000c 00000302 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000010 00001002 R_ARM_ABS32 00000000 fftw_rdft_vrank3_transpose_register │ │ │ │ │ 00000014 00000302 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,48 +1,51 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_rdft_conf_standard(): │ │ │ │ │ - push {r4, r5, lr} │ │ │ │ │ mov r1, r0 │ │ │ │ │ + str.w r4, [sp, #-12]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - ldr r0, [pc, #60] @ (44 ) │ │ │ │ │ + ldr r0, [pc, #68] @ (50 ) │ │ │ │ │ + strd r5, lr, [sp, #4] │ │ │ │ │ sub sp, #12 │ │ │ │ │ - ldr r5, [pc, #60] @ (48 ) │ │ │ │ │ + ldr r5, [pc, #64] @ (54 ) │ │ │ │ │ add r0, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solvtab_exec │ │ │ │ │ - ldr r3, [pc, #56] @ (4c ) │ │ │ │ │ + ldr r3, [pc, #60] @ (58 ) │ │ │ │ │ add r5, pc │ │ │ │ │ mov r1, r4 │ │ │ │ │ ldr r3, [r5, r3] │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ mov r0, r3 │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solvtab_exec │ │ │ │ │ - ldr r3, [pc, #44] @ (50 ) │ │ │ │ │ + ldr r3, [pc, #48] @ (5c ) │ │ │ │ │ mov r1, r4 │ │ │ │ │ ldr r3, [r5, r3] │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ mov r0, r3 │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solvtab_exec │ │ │ │ │ - ldr r3, [pc, #32] @ (54 ) │ │ │ │ │ + ldr r3, [pc, #40] @ (60 ) │ │ │ │ │ mov r1, r4 │ │ │ │ │ ldr r3, [r5, r3] │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ mov r0, r3 │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solvtab_exec │ │ │ │ │ - .word 0x00000034 │ │ │ │ │ + .word 0x0000003a │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000030 │ │ │ │ │ + .word 0x00000036 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ ... │ │ │ │ │ R_ARM_GOT32 fftw_solvtab_rdft_r2cf │ │ │ │ │ R_ARM_GOT32 fftw_solvtab_rdft_r2cb │ │ │ │ │ R_ARM_GOT32 fftw_solvtab_rdft_r2r │ │ │ ├── ct-hc2c-direct.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 4500 (bytes into file) │ │ │ │ │ + Start of section headers: 4896 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x1194: │ │ │ │ │ +There are 13 section headers, starting at offset 0x1320: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000a20 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000f6c 000198 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000a54 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000a54 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000a54 00005a 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro.local PROGBITS 00000000 000aae 000010 00 WA 0 0 4 │ │ │ │ │ - [ 7] .rel.data.rel.ro.local REL 00000000 001104 000018 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 000abe 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000abe 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 000af4 0002a0 10 11 20 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 000d94 0001d7 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 00111c 000076 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000bac 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0010f8 000198 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000be0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000be0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000be0 00005a 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro.local PROGBITS 00000000 000c3a 000010 00 WA 0 0 4 │ │ │ │ │ + [ 7] .rel.data.rel.ro.local REL 00000000 001290 000018 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 000c4a 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000c4a 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 000c80 0002a0 10 11 20 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 000f20 0001d7 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 0012a8 000076 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,27 +1,27 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 42 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 178 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ + 1: 00000001 232 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000000b5 244 FUNC LOCAL DEFAULT 1 apply_extra_iter │ │ │ │ │ - 4: 000001a9 20 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 3: 000000e9 306 FUNC LOCAL DEFAULT 1 apply_extra_iter │ │ │ │ │ + 4: 0000021d 24 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 6: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ 7: 00000030 0 NOTYPE LOCAL DEFAULT 5 .LC1 │ │ │ │ │ - 8: 000001bd 132 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ - 9: 00000238 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 10: 00000240 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 11: 00000241 66 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 12: 00000285 956 FUNC LOCAL DEFAULT 1 mkcldw │ │ │ │ │ - 13: 0000062c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 14: 00000641 908 FUNC LOCAL DEFAULT 1 apply_buf │ │ │ │ │ - 15: 00000640 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 16: 00000a1c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 00000235 156 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 9: 000002c8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 10: 000002d0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 11: 000002d1 80 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 12: 00000321 1068 FUNC LOCAL DEFAULT 1 mkcldw │ │ │ │ │ + 13: 00000738 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 14: 0000074d 1012 FUNC LOCAL DEFAULT 1 apply_buf │ │ │ │ │ + 15: 0000074c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 16: 00000ba8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 17: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro.local │ │ │ │ │ 18: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 19: 00000000 16 OBJECT LOCAL DEFAULT 6 padt.0 │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_destroy_internal │ │ │ │ │ 21: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_twiddle_length │ │ │ │ │ 22: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_awake │ │ │ │ │ 23: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_twiddle_awake │ │ │ │ │ @@ -36,10 +36,10 @@ │ │ │ │ │ 32: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_madd2 │ │ │ │ │ 33: 00000000 0 NOTYPE GLOBAL DEFAULT UND __aeabi_idivmod │ │ │ │ │ 34: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_cpy2d_pair_ci │ │ │ │ │ 35: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_cpy2d_pair_co │ │ │ │ │ 36: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_zero1d_pair │ │ │ │ │ 37: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ifree │ │ │ │ │ 38: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_malloc_plain │ │ │ │ │ - 39: 000009cd 84 FUNC GLOBAL DEFAULT 1 fftw_regsolver_hc2c_direct │ │ │ │ │ + 39: 00000b41 108 FUNC GLOBAL DEFAULT 1 fftw_regsolver_hc2c_direct │ │ │ │ │ 40: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver_hc2c │ │ │ │ │ 41: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,60 +1,60 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xf6c contains 51 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x10f8 contains 51 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000001ae 0000140a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000001dc 0000150a R_ARM_THM_CALL 00000000 fftw_twiddle_length │ │ │ │ │ -0000020e 0000150a R_ARM_THM_CALL 00000000 fftw_twiddle_length │ │ │ │ │ -00000238 00000603 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -0000023c 00000703 R_ARM_REL32 00000030 .LC1 │ │ │ │ │ -0000024a 0000160a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -00000252 0000160a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -0000027a 0000170a R_ARM_THM_CALL 00000000 fftw_twiddle_awake │ │ │ │ │ -00000376 0000180a R_ARM_THM_CALL 00000000 fftw_ct_uglyp │ │ │ │ │ -00000384 0000190a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -0000038a 00001a0a R_ARM_THM_CALL 00000000 fftw_mktensor_0d │ │ │ │ │ -000003a2 00001b0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft2_d │ │ │ │ │ -000003aa 00001c0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -000003be 00001a0a R_ARM_THM_CALL 00000000 fftw_mktensor_0d │ │ │ │ │ -000003c4 00001a0a R_ARM_THM_CALL 00000000 fftw_mktensor_0d │ │ │ │ │ -000003f4 00001b0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft2_d │ │ │ │ │ -000003fc 00001c0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -00000422 00001d0a R_ARM_THM_CALL 00000000 fftw_mkplan_hc2c │ │ │ │ │ -00000464 00001e0a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ -00000476 00001f0a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -00000484 0000200a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ -00000490 0000200a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ -0000049c 0000200a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ -0000052c 0000210a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -000005f6 0000190a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -0000060e 00001d0a R_ARM_THM_CALL 00000000 fftw_mkplan_hc2c │ │ │ │ │ -00000618 0000140a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -0000061e 0000140a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -0000062c 00000303 R_ARM_REL32 000000b5 apply_extra_iter │ │ │ │ │ -00000630 00001103 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -00000634 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ -00000638 00000e03 R_ARM_REL32 00000641 apply_buf │ │ │ │ │ -0000063c 00001103 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -00000746 0000220a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_ci │ │ │ │ │ -0000078a 0000220a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_ci │ │ │ │ │ -000007dc 0000230a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_co │ │ │ │ │ -00000804 0000230a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_co │ │ │ │ │ -00000860 0000220a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_ci │ │ │ │ │ -00000898 0000220a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_ci │ │ │ │ │ -000008f2 0000230a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_co │ │ │ │ │ -0000091a 0000230a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_co │ │ │ │ │ -0000096e 0000240a R_ARM_THM_CALL 00000000 fftw_zero1d_pair │ │ │ │ │ -00000988 0000240a R_ARM_THM_CALL 00000000 fftw_zero1d_pair │ │ │ │ │ -000009aa 0000250a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -000009ba 0000260a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -000009e6 0000280a R_ARM_THM_CALL 00000000 fftw_mksolver_hc2c │ │ │ │ │ -000009f6 0000290a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -00000a02 0000280a R_ARM_THM_CALL 00000000 fftw_mksolver_hc2c │ │ │ │ │ -00000a1c 00000c03 R_ARM_REL32 00000285 mkcldw │ │ │ │ │ -000001b8 0000141e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000a16 0000291e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ +00000224 0000140a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000260 0000150a R_ARM_THM_CALL 00000000 fftw_twiddle_length │ │ │ │ │ +000002a2 0000150a R_ARM_THM_CALL 00000000 fftw_twiddle_length │ │ │ │ │ +000002c8 00000603 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +000002cc 00000703 R_ARM_REL32 00000030 .LC1 │ │ │ │ │ +000002e0 0000160a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +000002e8 0000160a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +00000312 0000170a R_ARM_THM_CALL 00000000 fftw_twiddle_awake │ │ │ │ │ +00000444 0000180a R_ARM_THM_CALL 00000000 fftw_ct_uglyp │ │ │ │ │ +00000452 0000190a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +00000458 00001a0a R_ARM_THM_CALL 00000000 fftw_mktensor_0d │ │ │ │ │ +00000470 00001b0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft2_d │ │ │ │ │ +00000478 00001c0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +0000048c 00001a0a R_ARM_THM_CALL 00000000 fftw_mktensor_0d │ │ │ │ │ +00000492 00001a0a R_ARM_THM_CALL 00000000 fftw_mktensor_0d │ │ │ │ │ +000004c6 00001b0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft2_d │ │ │ │ │ +000004ce 00001c0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +000004f6 00001d0a R_ARM_THM_CALL 00000000 fftw_mkplan_hc2c │ │ │ │ │ +00000540 00001e0a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ +00000554 00001f0a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +00000562 0000200a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ +0000056e 0000200a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ +0000057a 0000200a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ +0000061c 0000210a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +00000700 0000190a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +0000071a 00001d0a R_ARM_THM_CALL 00000000 fftw_mkplan_hc2c │ │ │ │ │ +00000724 0000140a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +0000072c 0000140a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000738 00000303 R_ARM_REL32 000000e9 apply_extra_iter │ │ │ │ │ +0000073c 00001103 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +00000740 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ +00000744 00000e03 R_ARM_REL32 0000074d apply_buf │ │ │ │ │ +00000748 00001103 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +0000087e 0000220a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_ci │ │ │ │ │ +000008c4 0000220a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_ci │ │ │ │ │ +0000091c 0000230a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_co │ │ │ │ │ +00000946 0000230a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_co │ │ │ │ │ +000009a8 0000220a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_ci │ │ │ │ │ +000009e6 0000220a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_ci │ │ │ │ │ +00000a46 0000230a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_co │ │ │ │ │ +00000a72 0000230a R_ARM_THM_CALL 00000000 fftw_cpy2d_pair_co │ │ │ │ │ +00000ad0 0000240a R_ARM_THM_CALL 00000000 fftw_zero1d_pair │ │ │ │ │ +00000aec 0000240a R_ARM_THM_CALL 00000000 fftw_zero1d_pair │ │ │ │ │ +00000b24 0000250a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +00000b2e 0000260a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +00000b64 0000280a R_ARM_THM_CALL 00000000 fftw_mksolver_hc2c │ │ │ │ │ +00000b76 0000290a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +00000b84 0000280a R_ARM_THM_CALL 00000000 fftw_mksolver_hc2c │ │ │ │ │ +00000ba8 00000c03 R_ARM_REL32 00000321 mkcldw │ │ │ │ │ +00000230 0000141e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000ba4 0000291e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x1104 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x1290 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000b02 R_ARM_ABS32 00000241 awake │ │ │ │ │ -00000008 00000802 R_ARM_ABS32 000001bd print │ │ │ │ │ -0000000c 00000402 R_ARM_ABS32 000001a9 destroy │ │ │ │ │ +00000004 00000b02 R_ARM_ABS32 000002d1 awake │ │ │ │ │ +00000008 00000802 R_ARM_ABS32 00000235 print │ │ │ │ │ +0000000c 00000402 R_ARM_ABS32 0000021d destroy │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,9 +1,7 @@ │ │ │ │ │ -F:F!hCF │ │ │ │ │ -!hCF:F │ │ │ │ │ (hc2c-directbuf/%D-%D/%D/%D%v "%s"%(%p%)%(%p%)) │ │ │ │ │ (hc2c-direct-%D/%D/%D%v "%s"%(%p%)%(%p%)) │ │ │ │ │ apply_extra_iter │ │ │ │ │ apply_buf │ │ │ │ │ fftw_plan_destroy_internal │ │ │ │ │ fftw_twiddle_length │ │ │ │ │ fftw_plan_awake │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,507 +1,538 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ apply(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r6, r0 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ mov r4, r1 │ │ │ │ │ ldrd r3, r1, [r0, #80] @ 0x50 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r6, r0 │ │ │ │ │ mov r5, r2 │ │ │ │ │ + ldr r2, [r6, #96] @ 0x60 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + cmp r1, #0 │ │ │ │ │ ldrd r8, r9, [r0, #68] @ 0x44 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #52 @ 0x34 │ │ │ │ │ ldr r0, [r0, #92] @ 0x5c │ │ │ │ │ - cmp r1, #0 │ │ │ │ │ - ldr r2, [r6, #96] @ 0x60 │ │ │ │ │ - ble.n ac │ │ │ │ │ - lsls r7, r0, #3 │ │ │ │ │ + ble.n d0 │ │ │ │ │ + mov.w r7, r0, lsl #3 │ │ │ │ │ str r7, [sp, #28] │ │ │ │ │ - subs r7, r3, #1 │ │ │ │ │ + add.w r7, r3, #4294967295 @ 0xffffffff │ │ │ │ │ strd r1, r0, [sp, #40] @ 0x28 │ │ │ │ │ mul.w r7, r0, r7 │ │ │ │ │ mov.w sl, r7, lsl #3 │ │ │ │ │ - adds r7, r3, #1 │ │ │ │ │ + add.w r7, r3, #1 │ │ │ │ │ add.w r3, r3, r3, lsr #31 │ │ │ │ │ add.w r7, r7, r7, lsr #31 │ │ │ │ │ - asrs r3, r3, #1 │ │ │ │ │ - asrs r7, r7, #1 │ │ │ │ │ - str r7, [sp, #32] │ │ │ │ │ - movs r7, #0 │ │ │ │ │ - str r7, [sp, #24] │ │ │ │ │ + mov.w r3, r3, asr #1 │ │ │ │ │ + mov.w r7, r7, asr #1 │ │ │ │ │ mul.w r3, r0, r3 │ │ │ │ │ mov.w fp, r3, lsl #3 │ │ │ │ │ - lsls r3, r2, #3 │ │ │ │ │ - str r3, [sp, #36] @ 0x24 │ │ │ │ │ - str r5, [sp, #0] │ │ │ │ │ + mov.w r3, r2, lsl #3 │ │ │ │ │ + strd r7, r3, [sp, #32] │ │ │ │ │ + mov.w r7, #0 │ │ │ │ │ + str r7, [sp, #24] │ │ │ │ │ mov r3, r4 │ │ │ │ │ mov r2, r5 │ │ │ │ │ - mov r1, r4 │ │ │ │ │ + str r5, [sp, #0] │ │ │ │ │ ldr.w r7, [r8, #56] @ 0x38 │ │ │ │ │ + mov r1, r4 │ │ │ │ │ mov r0, r8 │ │ │ │ │ blx r7 │ │ │ │ │ + ldr r0, [sp, #28] │ │ │ │ │ + add.w r2, r4, sl │ │ │ │ │ ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ + add.w r1, r5, r0 │ │ │ │ │ + add r0, r4 │ │ │ │ │ str r3, [sp, #16] │ │ │ │ │ - add.w r2, r4, sl │ │ │ │ │ ldr r3, [sp, #32] │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ - movs r3, #1 │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ - ldr r0, [sp, #28] │ │ │ │ │ ldr r3, [r6, #100] @ 0x64 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ - adds r1, r5, r0 │ │ │ │ │ - adds r0, r4, r0 │ │ │ │ │ ldr r3, [r6, #108] @ 0x6c │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ add.w r3, r5, sl │ │ │ │ │ ldr r7, [r6, #64] @ 0x40 │ │ │ │ │ blx r7 │ │ │ │ │ add.w r2, fp, r5 │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ add.w r3, fp, r4 │ │ │ │ │ mov r1, r3 │ │ │ │ │ mov r0, r9 │ │ │ │ │ + str r2, [sp, #0] │ │ │ │ │ ldr.w r7, [r9, #56] @ 0x38 │ │ │ │ │ blx r7 │ │ │ │ │ - ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ ldr r2, [sp, #24] │ │ │ │ │ + ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ add r4, r3 │ │ │ │ │ add r5, r3 │ │ │ │ │ ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ - adds r2, #1 │ │ │ │ │ str r2, [sp, #24] │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.n 4e │ │ │ │ │ + bne.n 6c │ │ │ │ │ add sp, #52 @ 0x34 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -000000b4 : │ │ │ │ │ +000000e8 : │ │ │ │ │ apply_extra_iter(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r6, r0 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ mov r4, r1 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r6, r0 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ ldrd r3, lr, [r0, #80] @ 0x50 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + ldr.w ip, [r6, #96] @ 0x60 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ sub sp, #68 @ 0x44 │ │ │ │ │ ldrd r8, r9, [r0, #68] @ 0x44 │ │ │ │ │ - subs r7, r3, #1 │ │ │ │ │ - ldr r0, [r0, #92] @ 0x5c │ │ │ │ │ + add.w r7, r3, #4294967295 @ 0xffffffff │ │ │ │ │ cmp.w lr, #0 │ │ │ │ │ - ldr.w ip, [r6, #96] @ 0x60 │ │ │ │ │ + ldr r0, [r0, #92] @ 0x5c │ │ │ │ │ add.w r1, r7, r7, lsr #31 │ │ │ │ │ - ble.n 1a2 │ │ │ │ │ - asrs r1, r1, #1 │ │ │ │ │ - mul.w r7, r0, r7 │ │ │ │ │ + ble.n 202 │ │ │ │ │ + mov.w r1, r1, asr #1 │ │ │ │ │ mov r5, r2 │ │ │ │ │ - lsls r2, r0, #3 │ │ │ │ │ - str r2, [sp, #32] │ │ │ │ │ + str r0, [sp, #60] @ 0x3c │ │ │ │ │ + mul.w r7, r0, r7 │ │ │ │ │ + mov.w r2, r0, lsl #3 │ │ │ │ │ mov.w sl, r7, lsl #3 │ │ │ │ │ mul.w r7, r1, r0 │ │ │ │ │ - strd lr, r0, [sp, #56] @ 0x38 │ │ │ │ │ - str r1, [sp, #28] │ │ │ │ │ + strd r1, r2, [sp, #28] │ │ │ │ │ mov.w fp, r7, lsl #3 │ │ │ │ │ - subs r7, r3, r1 │ │ │ │ │ + sub.w r7, r3, r1 │ │ │ │ │ add.w r3, r3, r3, lsr #31 │ │ │ │ │ - str.w fp, [sp, #52] @ 0x34 │ │ │ │ │ - mov fp, sl │ │ │ │ │ - asrs r3, r3, #1 │ │ │ │ │ mul.w r7, r0, r7 │ │ │ │ │ + mov.w r3, r3, asr #1 │ │ │ │ │ + strd fp, lr, [sp, #52] @ 0x34 │ │ │ │ │ + mov fp, sl │ │ │ │ │ + mov.w r2, r7, lsl #3 │ │ │ │ │ + mov.w r7, #0 │ │ │ │ │ mul.w r3, r0, r3 │ │ │ │ │ - lsls r2, r7, #3 │ │ │ │ │ - movs r7, #0 │ │ │ │ │ - str r2, [sp, #36] @ 0x24 │ │ │ │ │ mov sl, r7 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ + str r2, [sp, #36] @ 0x24 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ str r3, [sp, #40] @ 0x28 │ │ │ │ │ mov.w r3, ip, lsl #3 │ │ │ │ │ str r3, [sp, #44] @ 0x2c │ │ │ │ │ - adds r3, r1, #2 │ │ │ │ │ + add.w r3, r1, #2 │ │ │ │ │ str r3, [sp, #48] @ 0x30 │ │ │ │ │ - str r5, [sp, #0] │ │ │ │ │ mov r3, r4 │ │ │ │ │ mov r2, r5 │ │ │ │ │ - mov r1, r4 │ │ │ │ │ + str r5, [sp, #0] │ │ │ │ │ ldr.w r7, [r8, #56] @ 0x38 │ │ │ │ │ + mov r1, r4 │ │ │ │ │ mov r0, r8 │ │ │ │ │ blx r7 │ │ │ │ │ - ldr r3, [sp, #60] @ 0x3c │ │ │ │ │ - str r3, [sp, #16] │ │ │ │ │ - movs r2, #1 │ │ │ │ │ - ldr r3, [sp, #28] │ │ │ │ │ + mov.w r2, #1 │ │ │ │ │ + ldr r0, [sp, #32] │ │ │ │ │ add.w sl, sl, #1 │ │ │ │ │ + ldr r3, [sp, #60] @ 0x3c │ │ │ │ │ str r2, [sp, #8] │ │ │ │ │ add.w r2, r4, fp │ │ │ │ │ + add.w r1, r5, r0 │ │ │ │ │ + add r0, r4 │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ + ldr r3, [sp, #28] │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ - ldr r0, [sp, #32] │ │ │ │ │ ldr r3, [r6, #100] @ 0x64 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ - adds r1, r5, r0 │ │ │ │ │ - adds r0, r4, r0 │ │ │ │ │ ldr r3, [r6, #108] @ 0x6c │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ add.w r3, r5, fp │ │ │ │ │ ldr r7, [r6, #64] @ 0x40 │ │ │ │ │ blx r7 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ - movs r2, #0 │ │ │ │ │ + ldr r0, [sp, #52] @ 0x34 │ │ │ │ │ str r2, [sp, #16] │ │ │ │ │ ldr r2, [sp, #48] @ 0x30 │ │ │ │ │ - str r2, [sp, #12] │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ - ldr r2, [sp, #36] @ 0x24 │ │ │ │ │ + add.w r1, r5, r0 │ │ │ │ │ + add r0, r4 │ │ │ │ │ + str r2, [sp, #12] │ │ │ │ │ ldr r3, [r6, #100] @ 0x64 │ │ │ │ │ + ldr r2, [sp, #36] @ 0x24 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ - ldr r0, [sp, #52] @ 0x34 │ │ │ │ │ ldr r3, [r6, #108] @ 0x6c │ │ │ │ │ - adds r1, r5, r0 │ │ │ │ │ - adds r0, r4, r0 │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - adds r3, r5, r2 │ │ │ │ │ - adds r2, r4, r2 │ │ │ │ │ + add.w r3, r5, r2 │ │ │ │ │ + add r2, r4 │ │ │ │ │ ldr r7, [r6, #64] @ 0x40 │ │ │ │ │ blx r7 │ │ │ │ │ ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ mov r0, r9 │ │ │ │ │ - adds r3, r2, r4 │ │ │ │ │ + add.w r3, r2, r4 │ │ │ │ │ add r2, r5 │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ mov r1, r3 │ │ │ │ │ + str r2, [sp, #0] │ │ │ │ │ ldr.w r7, [r9, #56] @ 0x38 │ │ │ │ │ blx r7 │ │ │ │ │ ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ add r4, r3 │ │ │ │ │ add r5, r3 │ │ │ │ │ ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ cmp r3, sl │ │ │ │ │ - bne.n 122 │ │ │ │ │ + bne.n 176 │ │ │ │ │ add sp, #68 @ 0x44 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -000001a8 : │ │ │ │ │ +0000021c : │ │ │ │ │ destroy(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldr r0, [r0, #68] @ 0x44 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ ldr r0, [r4, #72] @ 0x48 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_destroy_internal │ │ │ │ │ │ │ │ │ │ -000001bc : │ │ │ │ │ +00000234 : │ │ │ │ │ print(): │ │ │ │ │ ldr r3, [r0, #112] @ 0x70 │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ + str.w r4, [sp, #-28]! │ │ │ │ │ + mov r4, r0 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r1 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ ldr.w r8, [r1] │ │ │ │ │ - ldr r7, [r3, #20] │ │ │ │ │ + strd r9, lr, [sp, #20] │ │ │ │ │ sub sp, #28 │ │ │ │ │ - ldr r3, [r3, #24] │ │ │ │ │ - mov r4, r0 │ │ │ │ │ + ldrd r7, r3, [r3, #20] │ │ │ │ │ ldr r6, [r0, #76] @ 0x4c │ │ │ │ │ ldr r1, [r7, #8] │ │ │ │ │ - cbz r3, 20c │ │ │ │ │ + cbz r3, 2a0 │ │ │ │ │ mov r0, r6 │ │ │ │ │ add.w r9, r6, #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_twiddle_length │ │ │ │ │ ldr r3, [r4, #72] @ 0x48 │ │ │ │ │ - str r3, [sp, #20] │ │ │ │ │ bic.w r2, r9, #3 │ │ │ │ │ - ldr r1, [pc, #76] @ (238 ) │ │ │ │ │ - adds r2, #2 │ │ │ │ │ + add.w r2, r2, #2 │ │ │ │ │ + ldr r1, [pc, #88] @ (2c8 ) │ │ │ │ │ + str r3, [sp, #20] │ │ │ │ │ ldr r3, [r4, #68] @ 0x44 │ │ │ │ │ - str r3, [sp, #16] │ │ │ │ │ add r1, pc │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ ldr r3, [r7, #4] │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ ldr r3, [r4, #84] @ 0x54 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr r3, [r4, #88] @ 0x58 │ │ │ │ │ strd r0, r3, [sp] │ │ │ │ │ mov r3, r6 │ │ │ │ │ mov r0, r5 │ │ │ │ │ blx r8 │ │ │ │ │ add sp, #28 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_twiddle_length │ │ │ │ │ ldr r2, [r4, #72] @ 0x48 │ │ │ │ │ - str r2, [sp, #16] │ │ │ │ │ mov r3, r0 │ │ │ │ │ - ldr r1, [pc, #32] @ (23c ) │ │ │ │ │ mov r0, r5 │ │ │ │ │ + ldr r1, [pc, #28] @ (2cc ) │ │ │ │ │ + str r2, [sp, #16] │ │ │ │ │ ldr r2, [r4, #68] @ 0x44 │ │ │ │ │ - str r2, [sp, #12] │ │ │ │ │ add r1, pc │ │ │ │ │ + str r2, [sp, #12] │ │ │ │ │ ldr r2, [r7, #4] │ │ │ │ │ str r2, [sp, #8] │ │ │ │ │ ldr r2, [r4, #84] @ 0x54 │ │ │ │ │ str r2, [sp, #4] │ │ │ │ │ ldr r2, [r4, #88] @ 0x58 │ │ │ │ │ str r2, [sp, #0] │ │ │ │ │ mov r2, r6 │ │ │ │ │ blx r8 │ │ │ │ │ - add sp, #28 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} │ │ │ │ │ - .word 0x00000044 │ │ │ │ │ + b.n 28c │ │ │ │ │ + .word 0x00000050 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ - .word 0x00000018 │ │ │ │ │ + .word 0x00000016 │ │ │ │ │ R_ARM_REL32 .LC1 │ │ │ │ │ │ │ │ │ │ -00000240 : │ │ │ │ │ +000002d0 : │ │ │ │ │ awake(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ mov r5, r1 │ │ │ │ │ - sub sp, #8 │ │ │ │ │ ldr r0, [r0, #68] @ 0x44 │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ + sub sp, #8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ ldr r0, [r4, #72] @ 0x48 │ │ │ │ │ mov r1, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ - ldr r2, [r4, #112] @ 0x70 │ │ │ │ │ ldrd r3, r6, [r4, #76] @ 0x4c │ │ │ │ │ + ldr r2, [r4, #112] @ 0x70 │ │ │ │ │ ldr r0, [r4, #88] @ 0x58 │ │ │ │ │ - subs r1, r6, #1 │ │ │ │ │ - ldr r2, [r2, #20] │ │ │ │ │ + add.w r1, r6, #4294967295 @ 0xffffffff │ │ │ │ │ add.w r1, r1, r1, lsr #31 │ │ │ │ │ - ldr r2, [r2, #8] │ │ │ │ │ + ldr r2, [r2, #20] │ │ │ │ │ add.w r0, r0, r1, asr #1 │ │ │ │ │ add.w r1, r4, #108 @ 0x6c │ │ │ │ │ + ldr r2, [r2, #8] │ │ │ │ │ strd r3, r0, [sp] │ │ │ │ │ mul.w r3, r6, r3 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_twiddle_awake │ │ │ │ │ add sp, #8 │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ │ │ │ │ │ -00000284 : │ │ │ │ │ +00000320 : │ │ │ │ │ mkcldw(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r7, r3 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r0 │ │ │ │ │ + mov r6, r2 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ ldrd r9, sl, [r0, #20] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r7, r3 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #60 @ 0x3c │ │ │ │ │ - mov r6, r2 │ │ │ │ │ - ldr.w r3, [r9] │ │ │ │ │ str r1, [sp, #24] │ │ │ │ │ + ldr.w r3, [r9] │ │ │ │ │ cmp.w sl, #0 │ │ │ │ │ - beq.n 2ae │ │ │ │ │ + beq.n 36e │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.w 4ce │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + beq.w 5aa │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #60 @ 0x3c │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.n 2a6 │ │ │ │ │ + bne.n 352 │ │ │ │ │ ldr.w r3, [r9, #12] │ │ │ │ │ ldr r2, [r3, #4] │ │ │ │ │ cmp r1, r2 │ │ │ │ │ - bne.n 2a6 │ │ │ │ │ - ldr r2, [sp, #100] @ 0x64 │ │ │ │ │ - ldr r1, [sp, #96] @ 0x60 │ │ │ │ │ + bne.n 352 │ │ │ │ │ + ldrd r1, r2, [sp, #96] @ 0x60 │ │ │ │ │ + str r7, [sp, #0] │ │ │ │ │ ldr r0, [sp, #116] @ 0x74 │ │ │ │ │ mov.w fp, r2, lsl #3 │ │ │ │ │ ldr r2, [sp, #112] @ 0x70 │ │ │ │ │ add.w r4, r2, fp │ │ │ │ │ ldr r2, [sp, #116] @ 0x74 │ │ │ │ │ - str r4, [sp, #36] @ 0x24 │ │ │ │ │ add r2, fp │ │ │ │ │ - str r2, [sp, #40] @ 0x28 │ │ │ │ │ - subs r2, r1, #1 │ │ │ │ │ + strd r4, r2, [sp, #36] @ 0x24 │ │ │ │ │ + add.w r2, r1, #4294967295 @ 0xffffffff │ │ │ │ │ ldr r1, [sp, #100] @ 0x64 │ │ │ │ │ str r2, [sp, #28] │ │ │ │ │ mul.w r2, r2, r1 │ │ │ │ │ ldr r1, [sp, #112] @ 0x70 │ │ │ │ │ mov.w r8, r2, lsl #3 │ │ │ │ │ + add r0, r8 │ │ │ │ │ add r1, r8 │ │ │ │ │ - str r1, [sp, #44] @ 0x2c │ │ │ │ │ + strd r1, r0, [sp, #44] @ 0x2c │ │ │ │ │ ldr r1, [sp, #96] @ 0x60 │ │ │ │ │ - add r0, r8 │ │ │ │ │ - str r0, [sp, #48] @ 0x30 │ │ │ │ │ - adds r2, r1, #1 │ │ │ │ │ ldr r0, [sp, #120] @ 0x78 │ │ │ │ │ - str r0, [sp, #16] │ │ │ │ │ + add.w r2, r1, #1 │ │ │ │ │ add.w r2, r2, r2, lsr #31 │ │ │ │ │ + str r0, [sp, #16] │ │ │ │ │ ldr r0, [sp, #100] @ 0x64 │ │ │ │ │ - str r0, [sp, #12] │ │ │ │ │ - movs r0, #1 │ │ │ │ │ - asrs r1, r2, #1 │ │ │ │ │ - strd r7, r0, [sp] │ │ │ │ │ + mov.w r1, r2, asr #1 │ │ │ │ │ + ldr r2, [sp, #44] @ 0x2c │ │ │ │ │ str r1, [sp, #8] │ │ │ │ │ - mov r0, r4 │ │ │ │ │ + str r0, [sp, #12] │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ str r1, [sp, #32] │ │ │ │ │ + str r0, [sp, #4] │ │ │ │ │ + mov r0, r4 │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - str r3, [sp, #52] @ 0x34 │ │ │ │ │ ldr r1, [sp, #40] @ 0x28 │ │ │ │ │ - ldrd r2, r3, [sp, #44] @ 0x2c │ │ │ │ │ - ldr r4, [sp, #52] @ 0x34 │ │ │ │ │ + str r3, [sp, #52] @ 0x34 │ │ │ │ │ + ldrd r3, r4, [sp, #48] @ 0x30 │ │ │ │ │ blx r4 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 58a │ │ │ │ │ + beq.w 68c │ │ │ │ │ ldr r3, [sp, #108] @ 0x6c │ │ │ │ │ ldr r2, [sp, #120] @ 0x78 │ │ │ │ │ - lsls r1, r3, #3 │ │ │ │ │ + mov.w r1, r3, lsl #3 │ │ │ │ │ ldr r3, [sp, #112] @ 0x70 │ │ │ │ │ - adds r0, r3, r1 │ │ │ │ │ + add.w r0, r3, r1 │ │ │ │ │ ldr r3, [sp, #116] @ 0x74 │ │ │ │ │ add r1, r3 │ │ │ │ │ ldr.w r3, [r9, #12] │ │ │ │ │ + str r7, [sp, #0] │ │ │ │ │ str r2, [sp, #16] │ │ │ │ │ ldr r2, [sp, #100] @ 0x64 │ │ │ │ │ str r2, [sp, #12] │ │ │ │ │ ldr r2, [sp, #32] │ │ │ │ │ str r2, [sp, #8] │ │ │ │ │ - movs r2, #1 │ │ │ │ │ - strd r7, r2, [sp] │ │ │ │ │ + mov.w r2, #1 │ │ │ │ │ + str r2, [sp, #4] │ │ │ │ │ add.w r2, r0, r8 │ │ │ │ │ add r0, fp │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ mov r4, r3 │ │ │ │ │ add.w r3, r1, r8 │ │ │ │ │ add r1, fp │ │ │ │ │ blx r4 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 2a6 │ │ │ │ │ + beq.n 352 │ │ │ │ │ ldr r3, [sp, #120] @ 0x78 │ │ │ │ │ ldr.w r3, [r3, #164] @ 0xa4 │ │ │ │ │ lsls r2, r3, #15 │ │ │ │ │ - bpl.n 37e │ │ │ │ │ - ldr r2, [sp, #96] @ 0x60 │ │ │ │ │ + bpl.n 44c │ │ │ │ │ ldr r3, [r5, #24] │ │ │ │ │ + ldr r2, [sp, #96] @ 0x60 │ │ │ │ │ ldr r1, [sp, #104] @ 0x68 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ mov r3, r6 │ │ │ │ │ ite eq │ │ │ │ │ moveq r0, #16 │ │ │ │ │ movne.w r0, #512 @ 0x200 │ │ │ │ │ mul.w r2, r6, r2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ct_uglyp │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.n 2a6 │ │ │ │ │ + bne.n 352 │ │ │ │ │ mov r2, r7 │ │ │ │ │ mov r1, r7 │ │ │ │ │ mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ mov r8, r0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_0d │ │ │ │ │ ldr r3, [sp, #24] │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ mov r1, r0 │ │ │ │ │ - ldr r3, [sp, #116] @ 0x74 │ │ │ │ │ mov r0, r8 │ │ │ │ │ + ldr r2, [sp, #112] @ 0x70 │ │ │ │ │ + str r3, [sp, #8] │ │ │ │ │ + ldr r3, [sp, #116] @ 0x74 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr r3, [sp, #112] @ 0x70 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - ldrd r2, r3, [sp, #112] @ 0x70 │ │ │ │ │ + ldr r3, [sp, #116] @ 0x74 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft2_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ ldr r0, [sp, #120] @ 0x78 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov r8, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 616 │ │ │ │ │ + beq.w 722 │ │ │ │ │ ldr r3, [sp, #96] @ 0x60 │ │ │ │ │ lsls r3, r3, #31 │ │ │ │ │ - bpl.w 5f0 │ │ │ │ │ + bpl.w 6fa │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_0d │ │ │ │ │ mov fp, r0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_0d │ │ │ │ │ - ldr r3, [sp, #96] @ 0x60 │ │ │ │ │ - ldr r2, [sp, #100] @ 0x64 │ │ │ │ │ + ldrd r3, r2, [sp, #96] @ 0x60 │ │ │ │ │ mov r1, r0 │ │ │ │ │ ldr r0, [sp, #116] @ 0x74 │ │ │ │ │ add.w r3, r3, r3, lsr #31 │ │ │ │ │ - asrs r3, r3, #1 │ │ │ │ │ + mov.w r3, r3, asr #1 │ │ │ │ │ mul.w r3, r2, r3 │ │ │ │ │ ldr r2, [sp, #112] @ 0x70 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ add r2, r3 │ │ │ │ │ add r3, r0 │ │ │ │ │ ldr r0, [sp, #24] │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ + strd r2, r3, [sp] │ │ │ │ │ cmp r0, #0 │ │ │ │ │ ite ne │ │ │ │ │ movne r0, #6 │ │ │ │ │ moveq r0, #1 │ │ │ │ │ - strd r3, r0, [sp, #4] │ │ │ │ │ + str r0, [sp, #8] │ │ │ │ │ mov r0, fp │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft2_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ ldr r0, [sp, #120] @ 0x78 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov fp, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 616 │ │ │ │ │ + beq.w 722 │ │ │ │ │ ldr r3, [r5, #24] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bne.w 604 │ │ │ │ │ + bne.w 70e │ │ │ │ │ cmp.w sl, #0 │ │ │ │ │ - beq.w 5fe │ │ │ │ │ - ldr r2, [pc, #528] @ (62c ) │ │ │ │ │ + beq.w 708 │ │ │ │ │ + ldr r2, [pc, #588] @ (738 ) │ │ │ │ │ add r2, pc │ │ │ │ │ - ldr r1, [pc, #528] @ (630 ) │ │ │ │ │ - movs r0, #120 @ 0x78 │ │ │ │ │ + ldr r1, [pc, #588] @ (73c ) │ │ │ │ │ + mov.w r0, #120 @ 0x78 │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_hc2c │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldr r3, [r5, #28] │ │ │ │ │ - str r3, [r4, #64] @ 0x40 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + str r7, [r4, #100] @ 0x64 │ │ │ │ │ + add.w r7, r4, #8 │ │ │ │ │ + mov r0, r7 │ │ │ │ │ + strd r3, r8, [r4, #64] @ 0x40 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + strd fp, r6, [r4, #72] @ 0x48 │ │ │ │ │ + str.w sl, [r4, #88] @ 0x58 │ │ │ │ │ + add.w sl, r9, #16 │ │ │ │ │ str r3, [r4, #108] @ 0x6c │ │ │ │ │ ldr r3, [sp, #96] @ 0x60 │ │ │ │ │ + str r5, [r4, #112] @ 0x70 │ │ │ │ │ str r3, [r4, #80] @ 0x50 │ │ │ │ │ ldr r3, [sp, #100] @ 0x64 │ │ │ │ │ str r3, [r4, #92] @ 0x5c │ │ │ │ │ ldr r3, [sp, #104] @ 0x68 │ │ │ │ │ str r3, [r4, #84] @ 0x54 │ │ │ │ │ ldr r3, [sp, #108] @ 0x6c │ │ │ │ │ str r3, [r4, #96] @ 0x60 │ │ │ │ │ - adds r3, r6, #3 │ │ │ │ │ + add.w r3, r6, #3 │ │ │ │ │ bic.w r3, r3, #3 │ │ │ │ │ - str r7, [r4, #100] @ 0x64 │ │ │ │ │ - adds r3, #2 │ │ │ │ │ - add.w r7, r4, #8 │ │ │ │ │ - mov r0, r7 │ │ │ │ │ - str.w sl, [r4, #88] @ 0x58 │ │ │ │ │ - lsls r3, r3, #2 │ │ │ │ │ - str r6, [r4, #76] @ 0x4c │ │ │ │ │ + add.w r3, r3, #2 │ │ │ │ │ + mov.w r3, r3, lsl #2 │ │ │ │ │ str r3, [r4, #104] @ 0x68 │ │ │ │ │ - add.w sl, r9, #16 │ │ │ │ │ - str r5, [r4, #112] @ 0x70 │ │ │ │ │ - strd r8, fp, [r4, #68] @ 0x44 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_zero │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ add.w r0, r3, r3, lsr #31 │ │ │ │ │ ldr.w r3, [r9, #12] │ │ │ │ │ - asrs r0, r0, #1 │ │ │ │ │ + mov.w r0, r0, asr #1 │ │ │ │ │ ldr r1, [r3, #8] │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ ldr r3, [sp, #104] @ 0x68 │ │ │ │ │ mov r2, r7 │ │ │ │ │ mov r1, sl │ │ │ │ │ mul.w r0, r3, r0 │ │ │ │ │ @@ -514,565 +545,569 @@ │ │ │ │ │ R_ARM_THM_CALL fftw_ops_madd2 │ │ │ │ │ ldr r0, [sp, #104] @ 0x68 │ │ │ │ │ mov r2, r7 │ │ │ │ │ add.w r1, fp, #8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_madd2 │ │ │ │ │ ldr r3, [r5, #24] │ │ │ │ │ - cbz r3, 4c6 │ │ │ │ │ + cbz r3, 5a6 │ │ │ │ │ ldr r3, [sp, #96] @ 0x60 │ │ │ │ │ ldr r2, [sp, #104] @ 0x68 │ │ │ │ │ vldr d6, [r4, #32] │ │ │ │ │ mul.w r3, r6, r3 │ │ │ │ │ mul.w r3, r2, r3 │ │ │ │ │ - lsls r3, r3, #2 │ │ │ │ │ + mov.w r3, r3, lsl #2 │ │ │ │ │ vmov s15, r3 │ │ │ │ │ vcvt.f64.s32 d7, s15 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vstr d6, [r4, #32] │ │ │ │ │ mov r0, r4 │ │ │ │ │ - add sp, #60 @ 0x3c │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + b.n 356 │ │ │ │ │ ldr.w r2, [r9, #12] │ │ │ │ │ ldr r3, [r2, #4] │ │ │ │ │ cmp r1, r3 │ │ │ │ │ - bne.w 2a6 │ │ │ │ │ - adds r3, r6, #3 │ │ │ │ │ + bne.w 352 │ │ │ │ │ + add.w r3, r6, #3 │ │ │ │ │ bic.w r3, r3, #3 │ │ │ │ │ add.w sl, r3, #2 │ │ │ │ │ - adds r3, #3 │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ - movs r3, #1 │ │ │ │ │ + add.w r3, r3, #3 │ │ │ │ │ mov.w fp, sl, lsl #2 │ │ │ │ │ - strd fp, r3, [sp] │ │ │ │ │ add.w r1, fp, #536870912 @ 0x20000000 │ │ │ │ │ - subs r1, #2 │ │ │ │ │ + sub.w r1, r1, #2 │ │ │ │ │ + str r3, [sp, #8] │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ mov.w r8, r1, lsl #3 │ │ │ │ │ ldr r1, [sp, #120] @ 0x78 │ │ │ │ │ - str r1, [sp, #16] │ │ │ │ │ - movs r1, #2 │ │ │ │ │ - str r1, [sp, #12] │ │ │ │ │ + str.w fp, [sp] │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ add.w r0, r8, #8 │ │ │ │ │ mov r3, r0 │ │ │ │ │ + str r1, [sp, #16] │ │ │ │ │ + mov.w r1, #2 │ │ │ │ │ str r0, [sp, #32] │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + str r1, [sp, #12] │ │ │ │ │ + mov.w r1, #8 │ │ │ │ │ ldr r2, [r2, #0] │ │ │ │ │ - movs r1, #8 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ mov r4, r2 │ │ │ │ │ mov r2, r8 │ │ │ │ │ blx r4 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 2a6 │ │ │ │ │ + beq.w 352 │ │ │ │ │ ldr r4, [sp, #96] @ 0x60 │ │ │ │ │ mov r1, sl │ │ │ │ │ - subs r4, #1 │ │ │ │ │ - str r4, [sp, #28] │ │ │ │ │ + add.w r4, r4, #4294967295 @ 0xffffffff │ │ │ │ │ add.w r0, r4, r4, lsr #31 │ │ │ │ │ - asrs r0, r0, #1 │ │ │ │ │ + str r4, [sp, #28] │ │ │ │ │ + mov.w r0, r0, asr #1 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ ldr.w r3, [r9, #12] │ │ │ │ │ - ldr r4, [sp, #120] @ 0x78 │ │ │ │ │ mov sl, r1 │ │ │ │ │ + mov.w r1, #2 │ │ │ │ │ add.w r2, sl, #1 │ │ │ │ │ - movs r1, #2 │ │ │ │ │ - str r2, [sp, #8] │ │ │ │ │ - movs r2, #1 │ │ │ │ │ - str r1, [sp, #12] │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - strd fp, r2, [sp] │ │ │ │ │ - movs r1, #8 │ │ │ │ │ - str r4, [sp, #16] │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + str.w fp, [sp] │ │ │ │ │ + ldr r4, [sp, #120] @ 0x78 │ │ │ │ │ + strd r2, r1, [sp, #8] │ │ │ │ │ + mov.w r2, #1 │ │ │ │ │ + mov.w r1, #8 │ │ │ │ │ + str r2, [sp, #4] │ │ │ │ │ mov r2, r8 │ │ │ │ │ + str r4, [sp, #16] │ │ │ │ │ ldr r4, [r3, #0] │ │ │ │ │ ldr r3, [sp, #32] │ │ │ │ │ blx r4 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.n 624 │ │ │ │ │ + bne.n 732 │ │ │ │ │ ldr.w r2, [r9, #12] │ │ │ │ │ - movs r1, #2 │ │ │ │ │ - ldr r4, [sp, #120] @ 0x78 │ │ │ │ │ + mov.w r1, #2 │ │ │ │ │ add.w r3, sl, r1 │ │ │ │ │ - str r1, [sp, #12] │ │ │ │ │ - movs r1, #1 │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ - strd fp, r1, [sp] │ │ │ │ │ - movs r1, #8 │ │ │ │ │ - str r4, [sp, #16] │ │ │ │ │ + str.w fp, [sp] │ │ │ │ │ + ldr r4, [sp, #120] @ 0x78 │ │ │ │ │ + strd r3, r1, [sp, #8] │ │ │ │ │ + mov.w r1, #1 │ │ │ │ │ ldr r3, [sp, #32] │ │ │ │ │ + str r1, [sp, #4] │ │ │ │ │ + mov.w r1, #8 │ │ │ │ │ + str r4, [sp, #16] │ │ │ │ │ ldr.w sl, [r2] │ │ │ │ │ mov r2, r8 │ │ │ │ │ blx sl │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 2a6 │ │ │ │ │ + beq.w 352 │ │ │ │ │ mov.w sl, #1 │ │ │ │ │ - b.n 356 │ │ │ │ │ + b.n 424 │ │ │ │ │ ldr r2, [sp, #28] │ │ │ │ │ - movs r0, #1 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ + ldr r1, [sp, #40] @ 0x28 │ │ │ │ │ add.w r3, r2, r2, lsr #31 │ │ │ │ │ ldr r2, [sp, #120] @ 0x78 │ │ │ │ │ - asrs r4, r3, #1 │ │ │ │ │ + mov.w r4, r3, asr #1 │ │ │ │ │ ldr.w r3, [r9, #12] │ │ │ │ │ + strd r7, r0, [sp] │ │ │ │ │ + ldr r0, [sp, #36] @ 0x24 │ │ │ │ │ + str r4, [sp, #8] │ │ │ │ │ str r2, [sp, #16] │ │ │ │ │ ldr r2, [sp, #100] @ 0x64 │ │ │ │ │ str r2, [sp, #12] │ │ │ │ │ - str r4, [sp, #8] │ │ │ │ │ - strd r7, r0, [sp] │ │ │ │ │ - str r4, [sp, #52] @ 0x34 │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - ldrd r0, r1, [sp, #36] @ 0x24 │ │ │ │ │ + str r4, [sp, #52] @ 0x34 │ │ │ │ │ + ldr r2, [sp, #44] @ 0x2c │ │ │ │ │ mov r4, r3 │ │ │ │ │ - ldrd r2, r3, [sp, #44] @ 0x2c │ │ │ │ │ + ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ blx r4 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 2a6 │ │ │ │ │ - ldr r4, [sp, #120] @ 0x78 │ │ │ │ │ + beq.w 352 │ │ │ │ │ ldr.w r3, [r9, #12] │ │ │ │ │ + str r7, [sp, #0] │ │ │ │ │ + ldr r4, [sp, #120] @ 0x78 │ │ │ │ │ + ldrd r0, r1, [sp, #36] @ 0x24 │ │ │ │ │ strd sl, r4, [sp, #12] │ │ │ │ │ ldr r4, [sp, #52] @ 0x34 │ │ │ │ │ - str r7, [sp, #0] │ │ │ │ │ - adds r2, r4, #2 │ │ │ │ │ + add.w r2, r4, #2 │ │ │ │ │ strd r4, r2, [sp, #4] │ │ │ │ │ - ldrd r0, r1, [sp, #36] @ 0x24 │ │ │ │ │ ldr.w sl, [r3] │ │ │ │ │ ldrd r2, r3, [sp, #44] @ 0x2c │ │ │ │ │ blx sl │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 2a6 │ │ │ │ │ + beq.w 352 │ │ │ │ │ ldr r1, [sp, #32] │ │ │ │ │ mov.w sl, #1 │ │ │ │ │ - subs r3, r1, #1 │ │ │ │ │ + add.w r3, r1, #4294967295 @ 0xffffffff │ │ │ │ │ str r3, [sp, #32] │ │ │ │ │ - b.n 31e │ │ │ │ │ + b.n 3e6 │ │ │ │ │ mov r2, r7 │ │ │ │ │ mov r1, r7 │ │ │ │ │ mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ mov fp, r0 │ │ │ │ │ - b.n 3c4 │ │ │ │ │ - ldr r2, [pc, #52] @ (634 ) │ │ │ │ │ + b.n 492 │ │ │ │ │ + ldr r2, [pc, #52] @ (740 ) │ │ │ │ │ add r2, pc │ │ │ │ │ - b.n 41c │ │ │ │ │ - ldr r2, [pc, #48] @ (638 ) │ │ │ │ │ - movs r0, #120 @ 0x78 │ │ │ │ │ - ldr r1, [pc, #48] @ (63c ) │ │ │ │ │ + b.n 4ee │ │ │ │ │ + ldr r2, [pc, #52] @ (744 ) │ │ │ │ │ + mov.w r0, #120 @ 0x78 │ │ │ │ │ + ldr r1, [pc, #48] @ (748 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_hc2c │ │ │ │ │ mov r4, r0 │ │ │ │ │ - b.n 428 │ │ │ │ │ + b.n 4fc │ │ │ │ │ mov r0, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ - b.n 2a6 │ │ │ │ │ + b.n 352 │ │ │ │ │ mov.w sl, #0 │ │ │ │ │ - b.n 356 │ │ │ │ │ - nop │ │ │ │ │ - .word 0x0000020e │ │ │ │ │ + b.n 424 │ │ │ │ │ + .word 0x00000248 │ │ │ │ │ R_ARM_REL32 apply_extra_iter │ │ │ │ │ - .word 0x0000020c │ │ │ │ │ + .word 0x00000244 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ │ │ - .word 0x00000030 │ │ │ │ │ + .word 0x00000032 │ │ │ │ │ R_ARM_REL32 apply │ │ │ │ │ .word 0x0000002a │ │ │ │ │ R_ARM_REL32 apply_buf │ │ │ │ │ .word 0x0000002c │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ │ │ │ │ │ │ │ -00000640 : │ │ │ │ │ +0000074c : │ │ │ │ │ apply_buf(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov fp, r0 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #132 @ 0x84 │ │ │ │ │ - add r7, sp, #24 │ │ │ │ │ + mov fp, r0 │ │ │ │ │ ldr r3, [r0, #68] @ 0x44 │ │ │ │ │ - strd r2, r1, [r7, #60] @ 0x3c │ │ │ │ │ - ldr r2, [r0, #76] @ 0x4c │ │ │ │ │ + add r7, sp, #24 │ │ │ │ │ str r3, [r7, #28] │ │ │ │ │ - adds r4, r2, #3 │ │ │ │ │ - ldr r3, [r0, #72] @ 0x48 │ │ │ │ │ - bic.w r4, r4, #3 │ │ │ │ │ + strd r2, r1, [r7, #60] @ 0x3c │ │ │ │ │ + ldrd r3, r2, [r0, #72] @ 0x48 │ │ │ │ │ + ldr r1, [r0, #84] @ 0x54 │ │ │ │ │ str r3, [r7, #24] │ │ │ │ │ - adds r5, r4, #2 │ │ │ │ │ + add.w r4, r2, #3 │ │ │ │ │ ldr r3, [r0, #92] @ 0x5c │ │ │ │ │ - str r3, [r7, #32] │ │ │ │ │ - ldr r3, [r0, #80] @ 0x50 │ │ │ │ │ - ldr r1, [r0, #84] @ 0x54 │ │ │ │ │ + bic.w r4, r4, #3 │ │ │ │ │ + add.w r5, r4, #2 │ │ │ │ │ mul.w r2, r5, r2 │ │ │ │ │ - adds r0, r3, #1 │ │ │ │ │ str r5, [r7, #8] │ │ │ │ │ - add.w r0, r0, r0, lsr #31 │ │ │ │ │ + str r3, [r7, #32] │ │ │ │ │ + ldr r3, [r0, #80] @ 0x50 │ │ │ │ │ mov.w r8, r2, lsl #4 │ │ │ │ │ cmp.w r8, #65536 @ 0x10000 │ │ │ │ │ + add.w r0, r3, #1 │ │ │ │ │ + add.w r0, r0, r0, lsr #31 │ │ │ │ │ mov.w r0, r0, asr #1 │ │ │ │ │ str r0, [r7, #56] @ 0x38 │ │ │ │ │ - bcs.w 9b6 │ │ │ │ │ + bcs.w b2a │ │ │ │ │ sub.w sp, sp, r8 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ add r2, sp, #24 │ │ │ │ │ str r2, [r7, #96] @ 0x60 │ │ │ │ │ - ble.w 998 │ │ │ │ │ - adds r2, r4, #3 │ │ │ │ │ + ble.w afc │ │ │ │ │ + add.w r2, r4, #3 │ │ │ │ │ ldr r0, [r7, #32] │ │ │ │ │ - str r2, [r7, #16] │ │ │ │ │ + str.w r8, [r7, #4] │ │ │ │ │ + strd r1, r2, [r7, #12] │ │ │ │ │ ldr r2, [r7, #56] @ 0x38 │ │ │ │ │ - str r1, [r7, #12] │ │ │ │ │ ldr r1, [r7, #64] @ 0x40 │ │ │ │ │ - str.w r8, [r7, #4] │ │ │ │ │ mul.w r2, r0, r2 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ str r2, [r7, #20] │ │ │ │ │ ldr r2, [r7, #96] @ 0x60 │ │ │ │ │ - adds r2, #8 │ │ │ │ │ + add.w r2, r2, #8 │ │ │ │ │ str r2, [r7, #88] @ 0x58 │ │ │ │ │ - movs r2, #0 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ str r2, [r7, #36] @ 0x24 │ │ │ │ │ movw r2, #65534 @ 0xfffe │ │ │ │ │ movt r2, #65535 @ 0xffff │ │ │ │ │ - subs r2, r2, r4 │ │ │ │ │ + sub.w r2, r2, r4 │ │ │ │ │ str r2, [r7, #40] @ 0x28 │ │ │ │ │ ldr r2, [r7, #32] │ │ │ │ │ mul.w r3, r2, r3 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ - adds r2, r1, r3 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + add.w r2, r1, r3 │ │ │ │ │ str r2, [r7, #48] @ 0x30 │ │ │ │ │ ldr r2, [r7, #60] @ 0x3c │ │ │ │ │ - adds r3, r2, r3 │ │ │ │ │ + add r3, r2 │ │ │ │ │ str r3, [r7, #44] @ 0x2c │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ mov r3, r1 │ │ │ │ │ + str r2, [sp, #0] │ │ │ │ │ ldr r0, [r7, #28] │ │ │ │ │ ldr r4, [r0, #56] @ 0x38 │ │ │ │ │ blx r4 │ │ │ │ │ - ldr r2, [r7, #56] @ 0x38 │ │ │ │ │ ldr r3, [r7, #16] │ │ │ │ │ + ldr r2, [r7, #56] @ 0x38 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - ble.w 9a0 │ │ │ │ │ + ble.w b18 │ │ │ │ │ ldr r5, [r7, #8] │ │ │ │ │ mov sl, r3 │ │ │ │ │ + str.w sl, [r7, #52] @ 0x34 │ │ │ │ │ ldr r3, [r7, #40] @ 0x28 │ │ │ │ │ ldrd r6, r4, [fp, #100] @ 0x64 │ │ │ │ │ - add.w r2, r3, sl │ │ │ │ │ ldr.w r8, [fp, #92] @ 0x5c │ │ │ │ │ + add.w r2, r3, sl │ │ │ │ │ str r6, [r7, #92] @ 0x5c │ │ │ │ │ add.w r3, r4, #536870912 @ 0x20000000 │ │ │ │ │ ldr r6, [r7, #96] @ 0x60 │ │ │ │ │ - subs r3, #2 │ │ │ │ │ - str.w sl, [r7, #52] @ 0x34 │ │ │ │ │ + sub.w r3, r3, #2 │ │ │ │ │ mul.w r9, r2, r8 │ │ │ │ │ + mov.w r9, r9, lsl #3 │ │ │ │ │ add.w r1, r6, r3, lsl #3 │ │ │ │ │ ldr r3, [r7, #64] @ 0x40 │ │ │ │ │ strd r2, r1, [r7, #96] @ 0x60 │ │ │ │ │ - mov.w r9, r9, lsl #3 │ │ │ │ │ add r3, r9 │ │ │ │ │ mov r0, r3 │ │ │ │ │ ldr r3, [r7, #60] @ 0x3c │ │ │ │ │ strd r4, r5, [sp, #8] │ │ │ │ │ + str.w r8, [sp, #16] │ │ │ │ │ add r3, r9 │ │ │ │ │ mov r1, r3 │ │ │ │ │ - movs r3, #2 │ │ │ │ │ - strd r8, r3, [sp, #16] │ │ │ │ │ + mov.w r3, #2 │ │ │ │ │ + str r3, [sp, #20] │ │ │ │ │ ldr r2, [r7, #92] @ 0x5c │ │ │ │ │ str r2, [sp, #4] │ │ │ │ │ mov r2, r6 │ │ │ │ │ ldr.w r3, [fp, #76] @ 0x4c │ │ │ │ │ add.w r3, r3, r3, lsr #31 │ │ │ │ │ - asrs r3, r3, #1 │ │ │ │ │ + mov.w r3, r3, asr #1 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldr r3, [r7, #88] @ 0x58 │ │ │ │ │ strd r1, r0, [r7, #80] @ 0x50 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_pair_ci │ │ │ │ │ - ldr r3, [r7, #48] @ 0x30 │ │ │ │ │ - ldr r0, [r7, #44] @ 0x2c │ │ │ │ │ + ldrd r0, r3, [r7, #44] @ 0x2c │ │ │ │ │ ldr r1, [r7, #100] @ 0x64 │ │ │ │ │ sub.w r3, r3, r9 │ │ │ │ │ sub.w r0, r0, r9 │ │ │ │ │ - str r3, [r7, #76] @ 0x4c │ │ │ │ │ - str r0, [r7, #72] @ 0x48 │ │ │ │ │ + strd r0, r3, [r7, #72] @ 0x48 │ │ │ │ │ rsb r3, r8, #0 │ │ │ │ │ mvn.w r0, #1 │ │ │ │ │ + add.w r9, r1, #8 │ │ │ │ │ str r0, [sp, #20] │ │ │ │ │ str r3, [r7, #68] @ 0x44 │ │ │ │ │ - add.w r9, r1, #8 │ │ │ │ │ - strd r5, r3, [sp, #12] │ │ │ │ │ - str r4, [sp, #8] │ │ │ │ │ + strd r4, r5, [sp, #8] │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ ldr r2, [r7, #92] @ 0x5c │ │ │ │ │ str r2, [sp, #4] │ │ │ │ │ mov r2, r1 │ │ │ │ │ ldr.w r3, [fp, #76] @ 0x4c │ │ │ │ │ add.w r3, r3, r3, lsr #31 │ │ │ │ │ - asrs r3, r3, #1 │ │ │ │ │ + mov.w r3, r3, asr #1 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, r9 │ │ │ │ │ ldrd r1, r0, [r7, #72] @ 0x48 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_pair_ci │ │ │ │ │ - movs r1, #2 │ │ │ │ │ + mov.w r1, #2 │ │ │ │ │ strd sl, r1, [sp, #12] │ │ │ │ │ add sl, r5 │ │ │ │ │ ldr r0, [r7, #96] @ 0x60 │ │ │ │ │ str r0, [sp, #8] │ │ │ │ │ mov r0, r6 │ │ │ │ │ ldr.w r3, [fp, #104] @ 0x68 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr.w r3, [fp, #108] @ 0x6c │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, r9 │ │ │ │ │ - ldr r2, [r7, #100] @ 0x64 │ │ │ │ │ ldr r1, [r7, #88] @ 0x58 │ │ │ │ │ str r6, [r7, #96] @ 0x60 │ │ │ │ │ ldr.w r6, [fp, #64] @ 0x40 │ │ │ │ │ + ldr r2, [r7, #100] @ 0x64 │ │ │ │ │ blx r6 │ │ │ │ │ - movs r3, #2 │ │ │ │ │ - strd r5, r3, [sp, #12] │ │ │ │ │ + mov.w r3, #2 │ │ │ │ │ str.w r8, [sp, #20] │ │ │ │ │ + strd r5, r3, [sp, #12] │ │ │ │ │ ldr r6, [r7, #92] @ 0x5c │ │ │ │ │ strd r4, r6, [sp, #4] │ │ │ │ │ ldr.w r3, [fp, #76] @ 0x4c │ │ │ │ │ add.w r3, r3, r3, lsr #31 │ │ │ │ │ - asrs r3, r3, #1 │ │ │ │ │ + mov.w r3, r3, asr #1 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - ldr r1, [r7, #88] @ 0x58 │ │ │ │ │ ldrd r3, r2, [r7, #80] @ 0x50 │ │ │ │ │ + ldr r1, [r7, #88] @ 0x58 │ │ │ │ │ ldr r0, [r7, #96] @ 0x60 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_pair_co │ │ │ │ │ ldr r3, [r7, #68] @ 0x44 │ │ │ │ │ + mov r1, r9 │ │ │ │ │ + strd r4, r6, [sp, #4] │ │ │ │ │ + str r5, [sp, #12] │ │ │ │ │ str r3, [sp, #20] │ │ │ │ │ mvn.w r3, #1 │ │ │ │ │ - strd r4, r6, [sp, #4] │ │ │ │ │ - mov r1, r9 │ │ │ │ │ - strd r5, r3, [sp, #12] │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ ldr.w r3, [fp, #76] @ 0x4c │ │ │ │ │ add.w r3, r3, r3, lsr #31 │ │ │ │ │ - asrs r3, r3, #1 │ │ │ │ │ + mov.w r3, r3, asr #1 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - ldr r0, [r7, #100] @ 0x64 │ │ │ │ │ ldrd r3, r2, [r7, #72] @ 0x48 │ │ │ │ │ + ldr r0, [r7, #100] @ 0x64 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_pair_co │ │ │ │ │ ldr r3, [r7, #56] @ 0x38 │ │ │ │ │ cmp r3, sl │ │ │ │ │ - bgt.w 6ec │ │ │ │ │ + bgt.w 81c │ │ │ │ │ mov r0, r3 │ │ │ │ │ ldr r1, [r7, #52] @ 0x34 │ │ │ │ │ - ldr.w sl, [fp, #92] @ 0x5c │ │ │ │ │ + ldrd r3, sl, [fp, #88] @ 0x58 │ │ │ │ │ ldrd r6, r5, [fp, #100] @ 0x64 │ │ │ │ │ sub.w r8, r0, r1 │ │ │ │ │ - ldr.w r3, [fp, #88] @ 0x58 │ │ │ │ │ + ldr r2, [r7, #96] @ 0x60 │ │ │ │ │ mul.w r4, sl, r1 │ │ │ │ │ ldr r1, [r7, #64] @ 0x40 │ │ │ │ │ - ldr r2, [r7, #96] @ 0x60 │ │ │ │ │ + str r6, [r7, #92] @ 0x5c │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ str r3, [r7, #100] @ 0x64 │ │ │ │ │ add.w r3, r5, #536870912 @ 0x20000000 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ - subs r3, #2 │ │ │ │ │ - adds r0, r1, r4 │ │ │ │ │ - ldr r1, [r7, #60] @ 0x3c │ │ │ │ │ - str r0, [r7, #84] @ 0x54 │ │ │ │ │ + sub.w r3, r3, #2 │ │ │ │ │ add.w r9, r2, r3, lsl #3 │ │ │ │ │ - str r6, [r7, #92] @ 0x5c │ │ │ │ │ + mov.w r3, #2 │ │ │ │ │ + add.w r0, r1, r4 │ │ │ │ │ + ldr r1, [r7, #60] @ 0x3c │ │ │ │ │ add r1, r4 │ │ │ │ │ - movs r3, #2 │ │ │ │ │ - str r1, [r7, #80] @ 0x50 │ │ │ │ │ - strd sl, r3, [sp, #16] │ │ │ │ │ - strd r5, r8, [sp, #8] │ │ │ │ │ - str r6, [sp, #4] │ │ │ │ │ + strd r1, r0, [r7, #80] @ 0x50 │ │ │ │ │ + strd r6, r5, [sp, #4] │ │ │ │ │ + strd r8, sl, [sp, #12] │ │ │ │ │ + str r3, [sp, #20] │ │ │ │ │ ldr.w r3, [fp, #76] @ 0x4c │ │ │ │ │ add.w r3, r3, r3, lsr #31 │ │ │ │ │ - asrs r3, r3, #1 │ │ │ │ │ + mov.w r3, r3, asr #1 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldr r3, [r7, #88] @ 0x58 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_pair_ci │ │ │ │ │ ldr r2, [r7, #48] @ 0x30 │ │ │ │ │ mvn.w r3, #1 │ │ │ │ │ - subs r0, r2, r4 │ │ │ │ │ + sub.w r0, r2, r4 │ │ │ │ │ ldr r2, [r7, #44] @ 0x2c │ │ │ │ │ str r0, [r7, #76] @ 0x4c │ │ │ │ │ - subs r1, r2, r4 │ │ │ │ │ + sub.w r1, r2, r4 │ │ │ │ │ rsb r2, sl, #0 │ │ │ │ │ - str r1, [r7, #72] @ 0x48 │ │ │ │ │ add.w r4, r9, #8 │ │ │ │ │ - str r2, [r7, #68] @ 0x44 │ │ │ │ │ - strd r2, r3, [sp, #16] │ │ │ │ │ + strd r2, r1, [r7, #68] @ 0x44 │ │ │ │ │ + strd r6, r5, [sp, #4] │ │ │ │ │ + strd r8, r2, [sp, #12] │ │ │ │ │ mov r2, r9 │ │ │ │ │ - strd r5, r8, [sp, #8] │ │ │ │ │ - str r6, [sp, #4] │ │ │ │ │ + str r3, [sp, #20] │ │ │ │ │ ldr.w r3, [fp, #76] @ 0x4c │ │ │ │ │ add.w r3, r3, r3, lsr #31 │ │ │ │ │ - asrs r3, r3, #1 │ │ │ │ │ + mov.w r3, r3, asr #1 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, r4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_pair_ci │ │ │ │ │ ldr r3, [r7, #100] @ 0x64 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bne.n 952 │ │ │ │ │ - movs r3, #2 │ │ │ │ │ + bne.n ab2 │ │ │ │ │ + mov.w r3, #2 │ │ │ │ │ str r3, [sp, #16] │ │ │ │ │ ldr r1, [r7, #56] @ 0x38 │ │ │ │ │ ldr r2, [r7, #100] @ 0x64 │ │ │ │ │ add r2, r1 │ │ │ │ │ str r2, [sp, #12] │ │ │ │ │ ldr r2, [r7, #52] @ 0x34 │ │ │ │ │ str r2, [sp, #8] │ │ │ │ │ mov r2, r9 │ │ │ │ │ ldr.w r3, [fp, #104] @ 0x68 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr.w r3, [fp, #108] @ 0x6c │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, r4 │ │ │ │ │ - ldr r1, [r7, #88] @ 0x58 │ │ │ │ │ ldr.w r6, [fp, #64] @ 0x40 │ │ │ │ │ + ldr r1, [r7, #88] @ 0x58 │ │ │ │ │ ldr r0, [r7, #96] @ 0x60 │ │ │ │ │ blx r6 │ │ │ │ │ - movs r3, #2 │ │ │ │ │ - strd r8, r3, [sp, #12] │ │ │ │ │ + mov.w r3, #2 │ │ │ │ │ str.w sl, [sp, #20] │ │ │ │ │ + strd r8, r3, [sp, #12] │ │ │ │ │ ldr r6, [r7, #92] @ 0x5c │ │ │ │ │ strd r5, r6, [sp, #4] │ │ │ │ │ ldr.w r3, [fp, #76] @ 0x4c │ │ │ │ │ add.w r3, r3, r3, lsr #31 │ │ │ │ │ - asrs r3, r3, #1 │ │ │ │ │ + mov.w r3, r3, asr #1 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - ldr r1, [r7, #88] @ 0x58 │ │ │ │ │ ldrd r3, r2, [r7, #80] @ 0x50 │ │ │ │ │ + ldr r1, [r7, #88] @ 0x58 │ │ │ │ │ ldr r0, [r7, #96] @ 0x60 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_pair_co │ │ │ │ │ ldr r3, [r7, #68] @ 0x44 │ │ │ │ │ - str r3, [sp, #20] │ │ │ │ │ - mvn.w r3, #1 │ │ │ │ │ - strd r5, r6, [sp, #4] │ │ │ │ │ mov r1, r4 │ │ │ │ │ - strd r8, r3, [sp, #12] │ │ │ │ │ mov r0, r9 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + str.w r8, [sp, #12] │ │ │ │ │ + str r3, [sp, #20] │ │ │ │ │ + mvn.w r3, #1 │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ ldr.w r3, [fp, #76] @ 0x4c │ │ │ │ │ add.w r3, r3, r3, lsr #31 │ │ │ │ │ - asrs r3, r3, #1 │ │ │ │ │ + mov.w r3, r3, asr #1 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldrd r3, r2, [r7, #72] @ 0x48 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_pair_co │ │ │ │ │ - ldr r5, [r7, #64] @ 0x40 │ │ │ │ │ ldr r2, [r7, #20] │ │ │ │ │ - ldr r6, [r7, #60] @ 0x3c │ │ │ │ │ - adds r3, r5, r2 │ │ │ │ │ - adds r2, r6, r2 │ │ │ │ │ + ldrd r6, r5, [r7, #60] @ 0x3c │ │ │ │ │ + add.w r3, r5, r2 │ │ │ │ │ + add r2, r6 │ │ │ │ │ + mov r1, r3 │ │ │ │ │ str r2, [sp, #0] │ │ │ │ │ ldr r0, [r7, #24] │ │ │ │ │ - mov r1, r3 │ │ │ │ │ ldr r4, [r0, #56] @ 0x38 │ │ │ │ │ blx r4 │ │ │ │ │ ldr.w r3, [fp, #96] @ 0x60 │ │ │ │ │ ldr r2, [r7, #36] @ 0x24 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ - adds r2, #1 │ │ │ │ │ - adds r1, r5, r3 │ │ │ │ │ - adds r3, r6, r3 │ │ │ │ │ - str r3, [r7, #60] @ 0x3c │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + add.w r1, r5, r3 │ │ │ │ │ + add r3, r6 │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ + strd r3, r1, [r7, #60] @ 0x3c │ │ │ │ │ ldr r3, [r7, #12] │ │ │ │ │ str r2, [r7, #36] @ 0x24 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - str r1, [r7, #64] @ 0x40 │ │ │ │ │ - ble.n 98e │ │ │ │ │ + ble.n af2 │ │ │ │ │ ldr.w r3, [fp, #80] @ 0x50 │ │ │ │ │ - b.n 6c2 │ │ │ │ │ + b.n 7ee │ │ │ │ │ ldr.w r2, [fp, #76] @ 0x4c │ │ │ │ │ mov.w r3, r8, lsl #4 │ │ │ │ │ ldr r0, [r7, #96] @ 0x60 │ │ │ │ │ mov r6, r3 │ │ │ │ │ add.w r1, r3, #8 │ │ │ │ │ mov r3, r5 │ │ │ │ │ add.w r2, r2, r2, lsr #31 │ │ │ │ │ add r1, r0 │ │ │ │ │ + mov.w r2, r2, asr #1 │ │ │ │ │ add r0, r6 │ │ │ │ │ - asrs r2, r2, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_zero1d_pair │ │ │ │ │ ldr.w r2, [fp, #76] @ 0x4c │ │ │ │ │ rsb r1, r6, #8 │ │ │ │ │ mov r3, r5 │ │ │ │ │ add r1, r9 │ │ │ │ │ sub.w r0, r9, r6 │ │ │ │ │ add.w r2, r2, r2, lsr #31 │ │ │ │ │ - asrs r2, r2, #1 │ │ │ │ │ + mov.w r2, r2, asr #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_zero1d_pair │ │ │ │ │ - b.n 8a2 │ │ │ │ │ + b.n 9f0 │ │ │ │ │ ldr.w r8, [r7, #4] │ │ │ │ │ cmp.w r8, #65536 @ 0x10000 │ │ │ │ │ - bcs.n 9a8 │ │ │ │ │ - adds r7, #108 @ 0x6c │ │ │ │ │ + bcs.n b22 │ │ │ │ │ + add.w r7, r7, #108 @ 0x6c │ │ │ │ │ mov sp, r7 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - movs r3, #1 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ mov r0, r2 │ │ │ │ │ str r3, [r7, #52] @ 0x34 │ │ │ │ │ - b.n 812 │ │ │ │ │ + b.n 954 │ │ │ │ │ ldr r0, [r7, #96] @ 0x60 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ - adds r7, #108 @ 0x6c │ │ │ │ │ - mov sp, r7 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + b.n afc │ │ │ │ │ mov r0, r8 │ │ │ │ │ str r1, [r7, #100] @ 0x64 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ ldr r1, [r7, #100] @ 0x64 │ │ │ │ │ str r0, [r7, #96] @ 0x60 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - ble.n 9a8 │ │ │ │ │ + ble.n b22 │ │ │ │ │ ldr.w r3, [fp, #80] @ 0x50 │ │ │ │ │ - b.n 694 │ │ │ │ │ + b.n 7b6 │ │ │ │ │ │ │ │ │ │ -000009cc : │ │ │ │ │ +00000b40 : │ │ │ │ │ fftw_regsolver_hc2c_direct(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ + strd r4, r5, [sp, #-24]! │ │ │ │ │ mov r4, r2 │ │ │ │ │ - ldr.w r8, [pc, #72] @ a1c │ │ │ │ │ - mov r7, r3 │ │ │ │ │ mov r5, r0 │ │ │ │ │ - add r8, pc │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + mov r7, r3 │ │ │ │ │ mov r6, r1 │ │ │ │ │ + strd r8, lr, [sp, #16] │ │ │ │ │ mov r2, r7 │ │ │ │ │ + mov.w r0, #32 │ │ │ │ │ + ldr.w r8, [pc, #76] @ ba8 │ │ │ │ │ ldr r1, [r4, #0] │ │ │ │ │ + add r8, pc │ │ │ │ │ mov r3, r8 │ │ │ │ │ - movs r0, #32 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver_hc2c │ │ │ │ │ - movs r3, #0 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - str r6, [r0, #28] │ │ │ │ │ - str r4, [r0, #20] │ │ │ │ │ - str r3, [r0, #24] │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ + strd r4, r3, [r1, #20] │ │ │ │ │ + str r6, [r1, #28] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ ldr r1, [r4, #0] │ │ │ │ │ mov r3, r8 │ │ │ │ │ mov r2, r7 │ │ │ │ │ - movs r0, #32 │ │ │ │ │ + mov.w r0, #32 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver_hc2c │ │ │ │ │ - movs r3, #1 │ │ │ │ │ - str r6, [r0, #28] │ │ │ │ │ mov r1, r0 │ │ │ │ │ - str r4, [r0, #20] │ │ │ │ │ - str r3, [r0, #24] │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + ldrd r8, lr, [sp, #16] │ │ │ │ │ mov r0, r5 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ + strd r4, r3, [r1, #20] │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + str r6, [r1, #28] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #24 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solver_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x0000003e │ │ │ │ │ + .word 0x00000044 │ │ │ │ │ R_ARM_REL32 mkcldw │ │ │ ├── ct-hc2c.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2968 (bytes into file) │ │ │ │ │ + Start of section headers: 3120 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 15 │ │ │ │ │ Section header string table index: 14 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ -There are 15 section headers, starting at offset 0xb98: │ │ │ │ │ +There are 15 section headers, starting at offset 0xc30: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00046c 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000970 000178 08 I 12 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0004a0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0004a0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0004a0 000025 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 0004c5 000010 00 WA 0 0 4 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000ae8 000020 08 I 12 6 4 │ │ │ │ │ - [ 8] .data.rel.ro.local PROGBITS 00000000 0004d5 00000c 00 WA 0 0 4 │ │ │ │ │ - [ 9] .rel.data.rel.ro.local REL 00000000 000b08 000008 08 I 12 8 4 │ │ │ │ │ - [10] .note.GNU-stack PROGBITS 00000000 0004e1 000000 00 0 0 1 │ │ │ │ │ - [11] .ARM.attributes ARM_ATTRIBUTES 00000000 0004e1 000033 00 0 0 1 │ │ │ │ │ - [12] .symtab SYMTAB 00000000 000514 0002c0 10 13 26 4 │ │ │ │ │ - [13] .strtab STRTAB 00000000 0007d4 00019b 00 0 0 1 │ │ │ │ │ - [14] .shstrtab STRTAB 00000000 000b10 000087 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000504 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000a08 000178 08 I 12 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000538 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000538 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000538 000025 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 00055d 000010 00 WA 0 0 4 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000b80 000020 08 I 12 6 4 │ │ │ │ │ + [ 8] .data.rel.ro.local PROGBITS 00000000 00056d 00000c 00 WA 0 0 4 │ │ │ │ │ + [ 9] .rel.data.rel.ro.local REL 00000000 000ba0 000008 08 I 12 8 4 │ │ │ │ │ + [10] .note.GNU-stack PROGBITS 00000000 000579 000000 00 0 0 1 │ │ │ │ │ + [11] .ARM.attributes ARM_ATTRIBUTES 00000000 000579 000033 00 0 0 1 │ │ │ │ │ + [12] .symtab SYMTAB 00000000 0005ac 0002c0 10 13 26 4 │ │ │ │ │ + [13] .strtab STRTAB 00000000 00086c 00019b 00 0 0 1 │ │ │ │ │ + [14] .shstrtab STRTAB 00000000 000ba8 000087 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,30 +1,30 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 44 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 30 FUNC LOCAL DEFAULT 1 apply_dit │ │ │ │ │ + 1: 00000001 42 FUNC LOCAL DEFAULT 1 apply_dit │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000021 32 FUNC LOCAL DEFAULT 1 apply_dif │ │ │ │ │ - 4: 00000041 34 FUNC LOCAL DEFAULT 1 apply_dit_dft │ │ │ │ │ - 5: 00000065 46 FUNC LOCAL DEFAULT 1 apply_dif_dft │ │ │ │ │ + 3: 0000002d 44 FUNC LOCAL DEFAULT 1 apply_dif │ │ │ │ │ + 4: 00000059 54 FUNC LOCAL DEFAULT 1 apply_dit_dft │ │ │ │ │ + 5: 00000091 64 FUNC LOCAL DEFAULT 1 apply_dif_dft │ │ │ │ │ 6: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ 8: 00000004 0 NOTYPE LOCAL DEFAULT 5 .LC1 │ │ │ │ │ 9: 00000008 0 NOTYPE LOCAL DEFAULT 5 .LC2 │ │ │ │ │ - 10: 00000095 80 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ - 11: 000000d0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 12: 000000e4 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 13: 000000e5 820 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 14: 000003f8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 15: 00000418 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 16: 00000419 20 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 17: 0000042d 24 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 18: 0000045c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 19: 00000460 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 10: 000000d1 84 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 11: 00000110 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 12: 00000124 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 13: 00000125 876 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 14: 00000470 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 15: 00000490 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 16: 00000491 24 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 17: 000004a9 36 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 18: 000004f0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 19: 000004f4 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 20: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 21: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 22: 00000000 16 OBJECT LOCAL DEFAULT 6 padt.0 │ │ │ │ │ 23: 00000000 0 SECTION LOCAL DEFAULT 8 .data.rel.ro.local │ │ │ │ │ 24: 00000000 0 NOTYPE LOCAL DEFAULT 8 $d │ │ │ │ │ 25: 00000000 12 OBJECT LOCAL DEFAULT 8 sadt.1 │ │ │ │ │ 26: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_choose_radix │ │ │ │ │ @@ -36,12 +36,12 @@ │ │ │ │ │ 32: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_d │ │ │ │ │ 33: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_rdft2 │ │ │ │ │ 34: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_add │ │ │ │ │ 35: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mktensor_2d │ │ │ │ │ 36: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkproblem_dft_d │ │ │ │ │ 37: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_destroy_internal │ │ │ │ │ 38: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_awake │ │ │ │ │ - 39: 00000445 28 FUNC GLOBAL DEFAULT 1 fftw_mksolver_hc2c │ │ │ │ │ + 39: 000004cd 40 FUNC GLOBAL DEFAULT 1 fftw_mksolver_hc2c │ │ │ │ │ 40: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ - 41: 00000461 12 FUNC GLOBAL DEFAULT 1 fftw_mkplan_hc2c │ │ │ │ │ + 41: 000004f5 14 FUNC GLOBAL DEFAULT 1 fftw_mkplan_hc2c │ │ │ │ │ 42: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan │ │ │ │ │ 43: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft2_solve │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,61 +1,61 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x970 contains 47 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xa08 contains 47 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000000d0 00000403 R_ARM_REL32 00000041 apply_dit_dft │ │ │ │ │ -000000d4 00000103 R_ARM_REL32 00000001 apply_dit │ │ │ │ │ -000000d8 00000703 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -000000dc 00000903 R_ARM_REL32 00000008 .LC2 │ │ │ │ │ -000000e0 00000803 R_ARM_REL32 00000004 .LC1 │ │ │ │ │ -00000126 00001a0a R_ARM_THM_CALL 00000000 fftw_choose_radix │ │ │ │ │ -0000014e 00001a0a R_ARM_THM_CALL 00000000 fftw_choose_radix │ │ │ │ │ -00000158 00001b0a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -00000166 00001c0a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ -000001c2 00001d0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -000001f8 00001e0a R_ARM_THM_CALL 00000000 fftw_mktensor_3d │ │ │ │ │ -00000206 00001f0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_1_d │ │ │ │ │ -0000020e 0000200a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -00000224 0000210a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft2 │ │ │ │ │ -0000023c 0000220a R_ARM_THM_CALL 00000000 fftw_ops_add │ │ │ │ │ -000002a6 00001d0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -000002dc 00001e0a R_ARM_THM_CALL 00000000 fftw_mktensor_3d │ │ │ │ │ -000002ec 00001f0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_1_d │ │ │ │ │ -000002f4 0000200a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -00000308 0000210a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft2 │ │ │ │ │ -00000324 00001d0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -0000033e 0000230a R_ARM_THM_CALL 00000000 fftw_mktensor_2d │ │ │ │ │ -00000352 0000240a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ -0000035a 0000200a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -0000036e 0000210a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft2 │ │ │ │ │ -0000038e 00001d0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -000003a8 0000230a R_ARM_THM_CALL 00000000 fftw_mktensor_2d │ │ │ │ │ -000003bc 0000240a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ -000003c4 0000200a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -000003d6 0000210a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft2 │ │ │ │ │ -000003e4 0000250a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000003ea 0000250a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000003f8 00000103 R_ARM_REL32 00000001 apply_dit │ │ │ │ │ -000003fc 00001403 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000400 00000303 R_ARM_REL32 00000021 apply_dif │ │ │ │ │ -00000404 00001403 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000408 00000403 R_ARM_REL32 00000041 apply_dit_dft │ │ │ │ │ -0000040c 00001403 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000410 00000503 R_ARM_REL32 00000065 apply_dif_dft │ │ │ │ │ -00000414 00001403 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000041e 0000250a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000434 0000260a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -00000450 0000280a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -0000045c 00001703 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -00000464 00002a0a R_ARM_THM_CALL 00000000 fftw_mkplan │ │ │ │ │ -00000428 0000251e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000440 0000261e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ +00000110 00000403 R_ARM_REL32 00000059 apply_dit_dft │ │ │ │ │ +00000114 00000103 R_ARM_REL32 00000001 apply_dit │ │ │ │ │ +00000118 00000703 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +0000011c 00000903 R_ARM_REL32 00000008 .LC2 │ │ │ │ │ +00000120 00000803 R_ARM_REL32 00000004 .LC1 │ │ │ │ │ +0000018a 00001a0a R_ARM_THM_CALL 00000000 fftw_choose_radix │ │ │ │ │ +000001b2 00001a0a R_ARM_THM_CALL 00000000 fftw_choose_radix │ │ │ │ │ +000001bc 00001b0a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +000001ca 00001c0a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ +00000226 00001d0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +00000266 00001e0a R_ARM_THM_CALL 00000000 fftw_mktensor_3d │ │ │ │ │ +00000274 00001f0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_1_d │ │ │ │ │ +0000027c 0000200a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +00000294 0000210a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft2 │ │ │ │ │ +000002ac 0000220a R_ARM_THM_CALL 00000000 fftw_ops_add │ │ │ │ │ +0000030e 00001d0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +0000034e 00001e0a R_ARM_THM_CALL 00000000 fftw_mktensor_3d │ │ │ │ │ +0000035e 00001f0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_1_d │ │ │ │ │ +00000366 0000200a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +0000037c 0000210a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft2 │ │ │ │ │ +0000039a 00001d0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +000003b4 0000230a R_ARM_THM_CALL 00000000 fftw_mktensor_2d │ │ │ │ │ +000003c8 0000240a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ +000003d0 0000200a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +000003e6 0000210a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft2 │ │ │ │ │ +00000404 00001d0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +0000041e 0000230a R_ARM_THM_CALL 00000000 fftw_mktensor_2d │ │ │ │ │ +00000432 0000240a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ +0000043a 0000200a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +0000044e 0000210a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft2 │ │ │ │ │ +0000045c 0000250a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000464 0000250a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000470 00000103 R_ARM_REL32 00000001 apply_dit │ │ │ │ │ +00000474 00001403 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000478 00000303 R_ARM_REL32 0000002d apply_dif │ │ │ │ │ +0000047c 00001403 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000480 00000403 R_ARM_REL32 00000059 apply_dit_dft │ │ │ │ │ +00000484 00001403 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000488 00000503 R_ARM_REL32 00000091 apply_dif_dft │ │ │ │ │ +0000048c 00001403 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000498 0000250a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000004b6 0000260a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +000004de 0000280a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +000004f0 00001703 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +000004fa 00002a0a R_ARM_THM_CALL 00000000 fftw_mkplan │ │ │ │ │ +000004a4 0000251e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000004c8 0000261e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xae8 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xb80 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00002b02 R_ARM_ABS32 00000000 fftw_rdft2_solve │ │ │ │ │ -00000004 00001102 R_ARM_ABS32 0000042d awake │ │ │ │ │ -00000008 00000a02 R_ARM_ABS32 00000095 print │ │ │ │ │ -0000000c 00001002 R_ARM_ABS32 00000419 destroy │ │ │ │ │ +00000004 00001102 R_ARM_ABS32 000004a9 awake │ │ │ │ │ +00000008 00000a02 R_ARM_ABS32 000000d1 print │ │ │ │ │ +0000000c 00001002 R_ARM_ABS32 00000491 destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0xb08 contains 1 entry: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0xba0 contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000d02 R_ARM_ABS32 000000e5 mkplan │ │ │ │ │ +00000004 00000d02 R_ARM_ABS32 00000125 mkplan │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,10 +1,7 @@ │ │ │ │ │ -wJP wIzDyD │ │ │ │ │ -@JP @IzDyD │ │ │ │ │ -(JP (IzDyD │ │ │ │ │ (rdft2-ct-%s/%D%(%p%)%(%p%)) │ │ │ │ │ apply_dit │ │ │ │ │ apply_dif │ │ │ │ │ apply_dit_dft │ │ │ │ │ apply_dif_dft │ │ │ │ │ fftw_choose_radix │ │ │ │ │ __aeabi_idiv │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,530 +1,561 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ apply_dit(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ mov r5, r0 │ │ │ │ │ - ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ mov r4, r3 │ │ │ │ │ + ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ + mov r2, r3 │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ ldr r6, [sp, #16] │ │ │ │ │ - mov r2, r4 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ blx r3 │ │ │ │ │ ldr r0, [r5, #68] @ 0x44 │ │ │ │ │ mov r2, r6 │ │ │ │ │ mov r1, r4 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, lr, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ bx r3 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000020 : │ │ │ │ │ +0000002c : │ │ │ │ │ apply_dif(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ mov r5, r0 │ │ │ │ │ - ldr r0, [r0, #68] @ 0x44 │ │ │ │ │ mov r4, r3 │ │ │ │ │ - ldr r2, [sp, #16] │ │ │ │ │ + ldr r0, [r0, #68] @ 0x44 │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ mov r6, r1 │ │ │ │ │ - mov r1, r4 │ │ │ │ │ + mov r1, r3 │ │ │ │ │ + ldr r2, [sp, #16] │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ blx r3 │ │ │ │ │ ldr r0, [r5, #64] @ 0x40 │ │ │ │ │ mov r2, r6 │ │ │ │ │ mov r1, r4 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, lr, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ bx r3 │ │ │ │ │ │ │ │ │ │ -00000040 : │ │ │ │ │ +00000058 : │ │ │ │ │ apply_dit_dft(): │ │ │ │ │ - push {r4, r5, r6, r7, lr} │ │ │ │ │ + str.w r4, [sp, #-20]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ - sub sp, #12 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r3 │ │ │ │ │ + strd r7, lr, [sp, #12] │ │ │ │ │ + sub sp, #12 │ │ │ │ │ ldr r6, [sp, #32] │ │ │ │ │ + ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ str r6, [sp, #0] │ │ │ │ │ ldr r7, [r0, #56] @ 0x38 │ │ │ │ │ blx r7 │ │ │ │ │ ldr r0, [r4, #68] @ 0x44 │ │ │ │ │ mov r2, r6 │ │ │ │ │ mov r1, r5 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ bx r3 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000064 : │ │ │ │ │ +00000090 : │ │ │ │ │ apply_dif_dft(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ + strd r4, r5, [sp, #-24]! │ │ │ │ │ mov r5, r0 │ │ │ │ │ - ldr r0, [r0, #68] @ 0x44 │ │ │ │ │ - ldr.w r8, [sp, #24] │ │ │ │ │ mov r4, r3 │ │ │ │ │ + ldr r0, [r0, #68] @ 0x44 │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ mov r7, r1 │ │ │ │ │ mov r6, r2 │ │ │ │ │ + strd r8, lr, [sp, #16] │ │ │ │ │ + mov r1, r3 │ │ │ │ │ + ldr.w r8, [sp, #24] │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ mov r2, r8 │ │ │ │ │ - mov r1, r4 │ │ │ │ │ blx r3 │ │ │ │ │ ldr r0, [r5, #64] @ 0x40 │ │ │ │ │ - str r7, [sp, #24] │ │ │ │ │ mov r3, r6 │ │ │ │ │ mov r2, r4 │ │ │ │ │ + str r7, [sp, #24] │ │ │ │ │ mov r1, r8 │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, lr, [sp, #16] │ │ │ │ │ ldr r5, [r0, #56] @ 0x38 │ │ │ │ │ mov ip, r5 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #24 │ │ │ │ │ bx ip │ │ │ │ │ - nop │ │ │ │ │ │ │ │ │ │ -00000094 : │ │ │ │ │ +000000d0 : │ │ │ │ │ print(): │ │ │ │ │ mov r3, r0 │ │ │ │ │ - ldr r2, [pc, #56] @ (d0 ) │ │ │ │ │ - ldr.w ip, [pc, #56] @ d4 │ │ │ │ │ + ldr r2, [pc, #60] @ (110 ) │ │ │ │ │ mov r0, r1 │ │ │ │ │ - push {r4, lr} │ │ │ │ │ - add r2, pc │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ + sub sp, #8 │ │ │ │ │ + ldr.w ip, [pc, #52] @ 114 │ │ │ │ │ ldr r4, [r1, #0] │ │ │ │ │ + add r2, pc │ │ │ │ │ ldr r1, [r3, #56] @ 0x38 │ │ │ │ │ add ip, pc │ │ │ │ │ - sub sp, #8 │ │ │ │ │ cmp r1, ip │ │ │ │ │ it ne │ │ │ │ │ cmpne r1, r2 │ │ │ │ │ - bne.n ca │ │ │ │ │ - ldr r2, [pc, #36] @ (d8 ) │ │ │ │ │ + bne.n 108 │ │ │ │ │ + ldr r2, [pc, #36] @ (118 ) │ │ │ │ │ add r2, pc │ │ │ │ │ ldr r1, [r3, #64] @ 0x40 │ │ │ │ │ str r1, [sp, #4] │ │ │ │ │ ldr r1, [r3, #68] @ 0x44 │ │ │ │ │ str r1, [sp, #0] │ │ │ │ │ - ldr r1, [pc, #28] @ (dc ) │ │ │ │ │ + ldr r1, [pc, #28] @ (11c ) │ │ │ │ │ ldr r3, [r3, #72] @ 0x48 │ │ │ │ │ add r1, pc │ │ │ │ │ blx r4 │ │ │ │ │ add sp, #8 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - ldr r2, [pc, #20] @ (e0 ) │ │ │ │ │ + ldr r2, [pc, #20] @ (120 ) │ │ │ │ │ add r2, pc │ │ │ │ │ - b.n b6 │ │ │ │ │ - .word 0x0000002c │ │ │ │ │ + b.n f4 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x0000002a │ │ │ │ │ R_ARM_REL32 apply_dit_dft │ │ │ │ │ .word 0x0000002a │ │ │ │ │ R_ARM_REL32 apply_dit │ │ │ │ │ - .word 0x00000020 │ │ │ │ │ + .word 0x00000022 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ - .word 0x00000016 │ │ │ │ │ + .word 0x00000018 │ │ │ │ │ R_ARM_REL32 .LC2 │ │ │ │ │ - .word 0x00000010 │ │ │ │ │ + .word 0x00000012 │ │ │ │ │ R_ARM_REL32 .LC1 │ │ │ │ │ │ │ │ │ │ -000000e4 : │ │ │ │ │ +00000124 : │ │ │ │ │ mkplan(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ ldr r3, [r1, #4] │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #60 @ 0x3c │ │ │ │ │ str r2, [sp, #32] │ │ │ │ │ ldr r2, [r3, #0] │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - beq.n fc │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + beq.n 160 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #60 @ 0x3c │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ ldr r2, [r1, #8] │ │ │ │ │ mov r4, r1 │ │ │ │ │ ldr r2, [r2, #0] │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - bgt.n f4 │ │ │ │ │ + bgt.n 144 │ │ │ │ │ ldr r2, [r1, #28] │ │ │ │ │ mov r5, r0 │ │ │ │ │ - cbz r2, 122 │ │ │ │ │ + cbz r2, 186 │ │ │ │ │ cmp r2, #4 │ │ │ │ │ - bne.n f4 │ │ │ │ │ + bne.n 144 │ │ │ │ │ ldr r1, [r1, #12] │ │ │ │ │ ldr r2, [r4, #20] │ │ │ │ │ cmp r1, r2 │ │ │ │ │ - beq.n 122 │ │ │ │ │ + beq.n 186 │ │ │ │ │ ldr r2, [sp, #32] │ │ │ │ │ ldr.w r2, [r2, #164] @ 0xa4 │ │ │ │ │ lsls r2, r2, #19 │ │ │ │ │ - bmi.n f4 │ │ │ │ │ + bmi.n 144 │ │ │ │ │ ldr r1, [r3, #4] │ │ │ │ │ ldr r0, [r5, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_choose_radix │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - ble.n f4 │ │ │ │ │ + ble.n 144 │ │ │ │ │ ldr.w r9, [r4, #4] │ │ │ │ │ ldr.w r8, [r9, #4] │ │ │ │ │ cmp r0, r8 │ │ │ │ │ - bge.n f4 │ │ │ │ │ + bge.n 144 │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - cbz r3, 14a │ │ │ │ │ + cbz r3, 1ae │ │ │ │ │ ldr r3, [sp, #32] │ │ │ │ │ ldr.w r3, [r3, #164] @ 0xa4 │ │ │ │ │ lsls r3, r3, #27 │ │ │ │ │ - bmi.n f4 │ │ │ │ │ - mov r1, r8 │ │ │ │ │ + bmi.n 144 │ │ │ │ │ ldr r0, [r5, #8] │ │ │ │ │ + mov r1, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_choose_radix │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r7, r0 │ │ │ │ │ mov r0, r8 │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ - add r3, sp, #52 @ 0x34 │ │ │ │ │ mov sl, r0 │ │ │ │ │ - add r2, sp, #48 @ 0x30 │ │ │ │ │ ldr r0, [r4, #8] │ │ │ │ │ + add r3, sp, #52 @ 0x34 │ │ │ │ │ + add r2, sp, #48 @ 0x30 │ │ │ │ │ add r1, sp, #44 @ 0x2c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_tornk1 │ │ │ │ │ ldr.w r8, [r4, #28] │ │ │ │ │ cmp.w r8, #0 │ │ │ │ │ - bne.n 24e │ │ │ │ │ + bne.n 2ba │ │ │ │ │ ldr r2, [sp, #32] │ │ │ │ │ mov r1, r8 │ │ │ │ │ - ldr.w r3, [r9, #12] │ │ │ │ │ mov r0, r5 │ │ │ │ │ + ldr.w r3, [r9, #12] │ │ │ │ │ str r2, [sp, #24] │ │ │ │ │ ldr r2, [r4, #24] │ │ │ │ │ str r2, [sp, #20] │ │ │ │ │ ldr r2, [r4, #20] │ │ │ │ │ + strd sl, r3, [sp] │ │ │ │ │ + mul.w r3, sl, r3 │ │ │ │ │ str r2, [sp, #16] │ │ │ │ │ ldr r2, [sp, #52] @ 0x34 │ │ │ │ │ str r2, [sp, #12] │ │ │ │ │ ldr r2, [sp, #44] @ 0x2c │ │ │ │ │ - strd r3, r2, [sp, #4] │ │ │ │ │ - mul.w r3, sl, r3 │ │ │ │ │ - str.w sl, [sp] │ │ │ │ │ + str r2, [sp, #8] │ │ │ │ │ mov r2, r7 │ │ │ │ │ ldr r6, [r5, #12] │ │ │ │ │ blx r6 │ │ │ │ │ mov fp, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 3de │ │ │ │ │ + beq.w 456 │ │ │ │ │ ldr r5, [r5, #16] │ │ │ │ │ cmp r5, #0 │ │ │ │ │ - bne.w 310 │ │ │ │ │ + bne.w 384 │ │ │ │ │ + ldrd r1, r2, [r9, #8] │ │ │ │ │ add.w r3, r7, r7, lsr #31 │ │ │ │ │ mov r0, sl │ │ │ │ │ - ldrd r1, r2, [r9, #8] │ │ │ │ │ - asrs r3, r3, #1 │ │ │ │ │ - str r3, [sp, #36] @ 0x24 │ │ │ │ │ + mov.w r3, r3, asr #1 │ │ │ │ │ mul.w r1, r3, r1 │ │ │ │ │ + str r3, [sp, #36] @ 0x24 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ - mov r8, r0 │ │ │ │ │ ldrd r1, r2, [r4, #20] │ │ │ │ │ + mov r8, r0 │ │ │ │ │ + ldr r0, [r4, #12] │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ - subs r2, r2, r1 │ │ │ │ │ - ldrd r0, r1, [r4, #12] │ │ │ │ │ - asrs r2, r2, #3 │ │ │ │ │ - subs r1, r1, r0 │ │ │ │ │ + sub.w r2, r2, r1 │ │ │ │ │ + ldr r1, [r4, #16] │ │ │ │ │ + mov.w r2, r2, asr #3 │ │ │ │ │ + sub.w r1, r1, r0 │ │ │ │ │ ldr r0, [sp, #52] @ 0x34 │ │ │ │ │ + mov.w r1, r1, asr #3 │ │ │ │ │ str r0, [sp, #16] │ │ │ │ │ ldr r0, [sp, #48] @ 0x30 │ │ │ │ │ - asrs r1, r1, #3 │ │ │ │ │ str r0, [sp, #12] │ │ │ │ │ ldr r0, [sp, #44] @ 0x2c │ │ │ │ │ str r0, [sp, #8] │ │ │ │ │ ldr.w r0, [r9, #12] │ │ │ │ │ mul.w r0, r0, sl │ │ │ │ │ str r0, [sp, #4] │ │ │ │ │ ldr.w r0, [r9, #8] │ │ │ │ │ str r0, [sp, #0] │ │ │ │ │ - movs r0, #2 │ │ │ │ │ + mov.w r0, #2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_3d │ │ │ │ │ - str r5, [sp, #0] │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r8 │ │ │ │ │ - ldr r3, [r4, #20] │ │ │ │ │ + str r5, [sp, #0] │ │ │ │ │ ldr r2, [r4, #12] │ │ │ │ │ + ldr r3, [r4, #20] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_1_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ ldr r0, [sp, #32] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov r5, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 3e2 │ │ │ │ │ - ldr r2, [pc, #476] @ (3f8 ) │ │ │ │ │ - movs r0, #80 @ 0x50 │ │ │ │ │ - ldr r1, [pc, #476] @ (3fc ) │ │ │ │ │ + beq.w 45a │ │ │ │ │ + ldr r2, [pc, #484] @ (470 ) │ │ │ │ │ + mov.w r0, #80 @ 0x50 │ │ │ │ │ + ldr r1, [pc, #484] @ (474 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_rdft2 │ │ │ │ │ mov r4, r0 │ │ │ │ │ add.w r0, r5, #8 │ │ │ │ │ add.w r2, r4, #8 │ │ │ │ │ - add.w r1, fp, #8 │ │ │ │ │ strd r5, fp, [r4, #64] @ 0x40 │ │ │ │ │ + add.w r1, fp, #8 │ │ │ │ │ str r7, [r4, #72] @ 0x48 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_add │ │ │ │ │ ldr.w r3, [fp, #52] @ 0x34 │ │ │ │ │ mov r0, r4 │ │ │ │ │ str r3, [r4, #52] @ 0x34 │ │ │ │ │ - add sp, #60 @ 0x3c │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + b.n 148 │ │ │ │ │ cmp.w r8, #4 │ │ │ │ │ - bne.w 3f0 │ │ │ │ │ + bne.w 46a │ │ │ │ │ ldr r2, [sp, #32] │ │ │ │ │ mov r1, r8 │ │ │ │ │ - ldr.w r3, [r9, #8] │ │ │ │ │ mov r0, r5 │ │ │ │ │ + ldr.w r3, [r9, #8] │ │ │ │ │ str r2, [sp, #24] │ │ │ │ │ ldr r2, [r4, #24] │ │ │ │ │ str r2, [sp, #20] │ │ │ │ │ ldr r2, [r4, #20] │ │ │ │ │ + strd sl, r3, [sp] │ │ │ │ │ + mul.w r3, sl, r3 │ │ │ │ │ str r2, [sp, #16] │ │ │ │ │ ldr r2, [sp, #48] @ 0x30 │ │ │ │ │ str r2, [sp, #12] │ │ │ │ │ ldr r2, [sp, #44] @ 0x2c │ │ │ │ │ - strd r3, r2, [sp, #4] │ │ │ │ │ - mul.w r3, sl, r3 │ │ │ │ │ - str.w sl, [sp] │ │ │ │ │ + str r2, [sp, #8] │ │ │ │ │ mov r2, r7 │ │ │ │ │ ldr r6, [r5, #12] │ │ │ │ │ blx r6 │ │ │ │ │ mov fp, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 3de │ │ │ │ │ + beq.w 456 │ │ │ │ │ ldr r3, [r5, #16] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bne.n 376 │ │ │ │ │ + bne.n 3ee │ │ │ │ │ + ldrd r1, r2, [r9, #8] │ │ │ │ │ add.w r3, r7, r7, lsr #31 │ │ │ │ │ - ldr.w r2, [r9, #12] │ │ │ │ │ - ldr.w r1, [r9, #8] │ │ │ │ │ mov r0, sl │ │ │ │ │ - asrs r3, r3, #1 │ │ │ │ │ - str r3, [sp, #36] @ 0x24 │ │ │ │ │ + mov.w r3, r3, asr #1 │ │ │ │ │ mul.w r2, r3, r2 │ │ │ │ │ + str r3, [sp, #36] @ 0x24 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ - mov r5, r0 │ │ │ │ │ ldrd r1, r2, [r4, #12] │ │ │ │ │ + mov r5, r0 │ │ │ │ │ + ldr r0, [r4, #20] │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ - subs r2, r2, r1 │ │ │ │ │ - ldrd r0, r1, [r4, #20] │ │ │ │ │ - asrs r2, r2, #3 │ │ │ │ │ - subs r1, r1, r0 │ │ │ │ │ + sub.w r2, r2, r1 │ │ │ │ │ + ldr r1, [r4, #24] │ │ │ │ │ + mov.w r2, r2, asr #3 │ │ │ │ │ + sub.w r1, r1, r0 │ │ │ │ │ ldr r0, [sp, #52] @ 0x34 │ │ │ │ │ + mov.w r1, r1, asr #3 │ │ │ │ │ str r0, [sp, #16] │ │ │ │ │ ldr r0, [sp, #48] @ 0x30 │ │ │ │ │ - asrs r1, r1, #3 │ │ │ │ │ str r0, [sp, #12] │ │ │ │ │ ldr r0, [sp, #44] @ 0x2c │ │ │ │ │ str r0, [sp, #8] │ │ │ │ │ ldr.w r0, [r9, #12] │ │ │ │ │ str r0, [sp, #4] │ │ │ │ │ ldr.w r0, [r9, #8] │ │ │ │ │ mul.w r0, r0, sl │ │ │ │ │ str r0, [sp, #0] │ │ │ │ │ - movs r0, #2 │ │ │ │ │ + mov.w r0, #2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_3d │ │ │ │ │ - str.w r8, [sp] │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ + str.w r8, [sp] │ │ │ │ │ ldr r3, [r4, #12] │ │ │ │ │ ldr r2, [r4, #20] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_1_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ ldr r0, [sp, #32] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov r5, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 3e2 │ │ │ │ │ - ldr r2, [pc, #256] @ (400 ) │ │ │ │ │ - movs r0, #80 @ 0x50 │ │ │ │ │ - ldr r1, [pc, #256] @ (404 ) │ │ │ │ │ + beq.n 45a │ │ │ │ │ + ldr r2, [pc, #260] @ (478 ) │ │ │ │ │ + mov.w r0, #80 @ 0x50 │ │ │ │ │ + ldr r1, [pc, #260] @ (47c ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_rdft2 │ │ │ │ │ mov r4, r0 │ │ │ │ │ - b.n 22a │ │ │ │ │ + b.n 29a │ │ │ │ │ cmp r5, #1 │ │ │ │ │ - bne.n 3f0 │ │ │ │ │ + bne.n 46a │ │ │ │ │ + ldrd r1, r2, [r9, #8] │ │ │ │ │ add.w r5, r7, r7, lsr #31 │ │ │ │ │ mov r0, sl │ │ │ │ │ - ldrd r1, r2, [r9, #8] │ │ │ │ │ - asrs r5, r5, #1 │ │ │ │ │ + mov.w r5, r5, asr #1 │ │ │ │ │ mul.w r1, r5, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ ldr r3, [sp, #52] @ 0x34 │ │ │ │ │ + mov r8, r0 │ │ │ │ │ + mov r0, r5 │ │ │ │ │ ldrd r1, r2, [r9, #8] │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ - mov r8, r0 │ │ │ │ │ + mul.w r2, r2, sl │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - mov r0, r5 │ │ │ │ │ ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ - mul.w r2, r2, sl │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_2d │ │ │ │ │ ldr r3, [r4, #24] │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r8 │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ ldr r3, [r4, #20] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldrd r2, r3, [r4, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_dft_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ ldr r0, [sp, #32] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov r5, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 3e2 │ │ │ │ │ - ldr r2, [pc, #160] @ (408 ) │ │ │ │ │ - movs r0, #80 @ 0x50 │ │ │ │ │ - ldr r1, [pc, #160] @ (40c ) │ │ │ │ │ + beq.n 45a │ │ │ │ │ + ldr r2, [pc, #164] @ (480 ) │ │ │ │ │ + mov.w r0, #80 @ 0x50 │ │ │ │ │ + ldr r1, [pc, #160] @ (484 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_rdft2 │ │ │ │ │ mov r4, r0 │ │ │ │ │ - b.n 22a │ │ │ │ │ + b.n 29a │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - bne.n 3f0 │ │ │ │ │ + bne.n 46a │ │ │ │ │ + ldrd r1, r2, [r9, #8] │ │ │ │ │ add.w r5, r7, r7, lsr #31 │ │ │ │ │ - ldr.w r2, [r9, #12] │ │ │ │ │ - ldr.w r1, [r9, #8] │ │ │ │ │ mov r0, sl │ │ │ │ │ - asrs r5, r5, #1 │ │ │ │ │ + mov.w r5, r5, asr #1 │ │ │ │ │ mul.w r2, r5, r2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ ldr r3, [sp, #52] @ 0x34 │ │ │ │ │ + mov r8, r0 │ │ │ │ │ + mov r0, r5 │ │ │ │ │ ldrd r1, r2, [r9, #8] │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ - mov r8, r0 │ │ │ │ │ + mul.w r1, r1, sl │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - mov r0, r5 │ │ │ │ │ ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ - mul.w r1, r1, sl │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_2d │ │ │ │ │ ldr r3, [r4, #12] │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r8 │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ ldr r3, [r4, #16] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldrd r3, r2, [r4, #20] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_dft_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ ldr r0, [sp, #32] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov r5, r0 │ │ │ │ │ - cbz r0, 3e2 │ │ │ │ │ - ldr r2, [pc, #64] @ (410 ) │ │ │ │ │ - movs r0, #80 @ 0x50 │ │ │ │ │ - ldr r1, [pc, #64] @ (414 ) │ │ │ │ │ + cbz r0, 45a │ │ │ │ │ + ldr r2, [pc, #68] @ (488 ) │ │ │ │ │ + mov.w r0, #80 @ 0x50 │ │ │ │ │ + ldr r1, [pc, #64] @ (48c ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_rdft2 │ │ │ │ │ mov r4, r0 │ │ │ │ │ - b.n 22a │ │ │ │ │ + b.n 29a │ │ │ │ │ mov.w fp, #0 │ │ │ │ │ mov r0, fp │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ - b.n f4 │ │ │ │ │ + b.n 144 │ │ │ │ │ movs r3, #0 │ │ │ │ │ str r3, [r3, #64] @ 0x40 │ │ │ │ │ udf #255 @ 0xff │ │ │ │ │ - nop │ │ │ │ │ - .word 0x000001d4 │ │ │ │ │ + .word 0x000001dc │ │ │ │ │ R_ARM_REL32 apply_dit │ │ │ │ │ - .word 0x000001d6 │ │ │ │ │ + .word 0x000001de │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x000000f8 │ │ │ │ │ + .word 0x000000fc │ │ │ │ │ R_ARM_REL32 apply_dif │ │ │ │ │ - .word 0x000000fa │ │ │ │ │ + .word 0x000000fe │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x0000009a │ │ │ │ │ R_ARM_REL32 apply_dit_dft │ │ │ │ │ .word 0x0000009c │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x0000003a │ │ │ │ │ R_ARM_REL32 apply_dif_dft │ │ │ │ │ .word 0x0000003c │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ │ │ │ │ │ -00000418 : │ │ │ │ │ +00000490 : │ │ │ │ │ destroy(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldr r0, [r0, #68] @ 0x44 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ ldr r0, [r4, #64] @ 0x40 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_destroy_internal │ │ │ │ │ │ │ │ │ │ -0000042c : │ │ │ │ │ +000004a8 : │ │ │ │ │ awake(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - mov r5, r1 │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ + mov r5, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ ldr r0, [r4, #68] @ 0x44 │ │ │ │ │ mov r1, r5 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, lr} │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + ldrd r5, lr, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_awake │ │ │ │ │ │ │ │ │ │ -00000444 : │ │ │ │ │ +000004cc : │ │ │ │ │ fftw_mksolver_hc2c(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ - mov r6, r1 │ │ │ │ │ - ldr r1, [pc, #16] @ (45c ) │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ mov r5, r2 │ │ │ │ │ mov r4, r3 │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ + mov r6, r1 │ │ │ │ │ + ldr r1, [pc, #20] @ (4f0 ) │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ - str r6, [r0, #8] │ │ │ │ │ - strd r4, r5, [r0, #12] │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ - .word 0x0000000a │ │ │ │ │ + strd r6, r4, [r0, #8] │ │ │ │ │ + str r5, [r0, #16] │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ + .word 0x00000010 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ │ │ │ │ │ │ │ -00000460 : │ │ │ │ │ +000004f4 : │ │ │ │ │ fftw_mkplan_hc2c(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan │ │ │ │ │ str r4, [r0, #56] @ 0x38 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ + nop │ │ │ ├── dft-r2hc.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1952 (bytes into file) │ │ │ │ │ + Start of section headers: 2084 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 15 │ │ │ │ │ Section header string table index: 14 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ -There are 15 section headers, starting at offset 0x7a0: │ │ │ │ │ +There are 15 section headers, starting at offset 0x824: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0002d0 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000680 000070 08 I 12 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000304 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000304 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000304 000014 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 000318 000010 00 WA 0 0 4 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 0006f0 000020 08 I 12 6 4 │ │ │ │ │ - [ 8] .data.rel.ro.local PROGBITS 00000000 000328 00000c 00 WA 0 0 4 │ │ │ │ │ - [ 9] .rel.data.rel.ro.local REL 00000000 000710 000008 08 I 12 8 4 │ │ │ │ │ - [10] .note.GNU-stack PROGBITS 00000000 000334 000000 00 0 0 1 │ │ │ │ │ - [11] .ARM.attributes ARM_ATTRIBUTES 00000000 000334 000033 00 0 0 1 │ │ │ │ │ - [12] .symtab SYMTAB 00000000 000368 000200 10 13 20 4 │ │ │ │ │ - [13] .strtab STRTAB 00000000 000568 000116 00 0 0 1 │ │ │ │ │ - [14] .shstrtab STRTAB 00000000 000718 000087 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000354 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000704 000070 08 I 12 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000388 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000388 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000388 000014 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 00039c 000010 00 WA 0 0 4 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000774 000020 08 I 12 6 4 │ │ │ │ │ + [ 8] .data.rel.ro.local PROGBITS 00000000 0003ac 00000c 00 WA 0 0 4 │ │ │ │ │ + [ 9] .rel.data.rel.ro.local REL 00000000 000794 000008 08 I 12 8 4 │ │ │ │ │ + [10] .note.GNU-stack PROGBITS 00000000 0003b8 000000 00 0 0 1 │ │ │ │ │ + [11] .ARM.attributes ARM_ATTRIBUTES 00000000 0003b8 000033 00 0 0 1 │ │ │ │ │ + [12] .symtab SYMTAB 00000000 0003ec 000200 10 13 20 4 │ │ │ │ │ + [13] .strtab STRTAB 00000000 0005ec 000116 00 0 0 1 │ │ │ │ │ + [14] .shstrtab STRTAB 00000000 00079c 000087 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,35 +1,35 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 32 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 206 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ + 1: 00000001 258 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 3: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 4: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ - 5: 000000d1 28 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ - 6: 000000e8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 7: 000000ec 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 8: 000000ed 436 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 9: 00000290 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 10: 000002a0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 11: 000002a1 6 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 12: 000002a9 6 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 13: 000002cc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 5: 00000105 32 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 6: 00000120 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 7: 00000124 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 8: 00000125 508 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 9: 00000310 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 10: 00000320 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 11: 00000321 6 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 12: 00000329 6 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 13: 00000350 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 14: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 15: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 16: 00000000 16 OBJECT LOCAL DEFAULT 6 padt.0 │ │ │ │ │ 17: 00000000 0 SECTION LOCAL DEFAULT 8 .data.rel.ro.local │ │ │ │ │ 18: 00000000 0 NOTYPE LOCAL DEFAULT 8 $d │ │ │ │ │ 19: 00000000 12 OBJECT LOCAL DEFAULT 8 sadt.1 │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mktensor_1d │ │ │ │ │ 21: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_append │ │ │ │ │ 22: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkproblem_rdft_1 │ │ │ │ │ 23: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_d │ │ │ │ │ 24: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_destroy2 │ │ │ │ │ 25: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_dft │ │ │ │ │ 26: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_destroy_internal │ │ │ │ │ 27: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_awake │ │ │ │ │ - 28: 000002b1 32 FUNC GLOBAL DEFAULT 1 fftw_dft_r2hc_register │ │ │ │ │ + 28: 00000331 36 FUNC GLOBAL DEFAULT 1 fftw_dft_r2hc_register │ │ │ │ │ 29: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ 30: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 31: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_solve │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,28 +1,28 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x680 contains 14 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x704 contains 14 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000000e8 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -00000126 0000140a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -0000012e 0000150a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ -0000017e 0000160a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_1 │ │ │ │ │ -00000186 0000170a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -00000190 0000180a R_ARM_THM_CALL 00000000 fftw_tensor_destroy2 │ │ │ │ │ -000001a4 0000190a R_ARM_THM_CALL 00000000 fftw_mkplan_dft │ │ │ │ │ -00000298 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ -0000029c 00000e03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000002ba 00001d0a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -000002cc 00001103 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -000002a2 00001a1e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000002aa 00001b1e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ -000002c6 00001e1e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ +00000120 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +00000174 0000140a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +0000017c 0000150a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ +000001dc 0000160a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_1 │ │ │ │ │ +000001e4 0000170a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +000001ee 0000180a R_ARM_THM_CALL 00000000 fftw_tensor_destroy2 │ │ │ │ │ +00000202 0000190a R_ARM_THM_CALL 00000000 fftw_mkplan_dft │ │ │ │ │ +00000318 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ +0000031c 00000e03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +0000033e 00001d0a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +00000350 00001103 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +00000322 00001a1e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ +0000032a 00001b1e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ +0000034c 00001e1e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x6f0 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x774 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00001f02 R_ARM_ABS32 00000000 fftw_dft_solve │ │ │ │ │ -00000004 00000c02 R_ARM_ABS32 000002a9 awake │ │ │ │ │ -00000008 00000502 R_ARM_ABS32 000000d1 print │ │ │ │ │ -0000000c 00000b02 R_ARM_ABS32 000002a1 destroy │ │ │ │ │ +00000004 00000c02 R_ARM_ABS32 00000329 awake │ │ │ │ │ +00000008 00000502 R_ARM_ABS32 00000105 print │ │ │ │ │ +0000000c 00000b02 R_ARM_ABS32 00000321 destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x710 contains 1 entry: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x794 contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000802 R_ARM_ABS32 000000ed mkplan │ │ │ │ │ +00000004 00000802 R_ARM_ABS32 00000125 mkplan │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,8 +1,7 @@ │ │ │ │ │ -?JX ?IzDyD │ │ │ │ │ (dft-r2hc-%D%(%p%)) │ │ │ │ │ fftw_mktensor_1d │ │ │ │ │ fftw_tensor_append │ │ │ │ │ fftw_mkproblem_rdft_1 │ │ │ │ │ fftw_mkplan_d │ │ │ │ │ fftw_tensor_destroy2 │ │ │ │ │ fftw_mkplan_dft │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,301 +1,314 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ apply(): │ │ │ │ │ - push {r3, r4, r5, r6, r7, lr} │ │ │ │ │ + strd r3, r4, [sp, #-24]! │ │ │ │ │ + strd r5, r6, [sp, #8] │ │ │ │ │ mov r6, r0 │ │ │ │ │ - ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ mov r5, r3 │ │ │ │ │ + ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ + strd r7, lr, [sp, #16] │ │ │ │ │ + ldrd r7, r2, [r6, #68] @ 0x44 │ │ │ │ │ ldr r4, [sp, #24] │ │ │ │ │ - ldr r2, [r6, #72] @ 0x48 │ │ │ │ │ - ldr r7, [r6, #68] @ 0x44 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ add.w r2, r5, r2, lsl #3 │ │ │ │ │ add.w r1, r1, r7, lsl #3 │ │ │ │ │ blx r3 │ │ │ │ │ ldr r3, [r6, #80] @ 0x50 │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - ble.n 74 │ │ │ │ │ + ble.n 86 │ │ │ │ │ ldr r7, [r6, #76] @ 0x4c │ │ │ │ │ - adds r6, r3, #1 │ │ │ │ │ - asrs r6, r6, #1 │ │ │ │ │ + add.w r6, r3, #1 │ │ │ │ │ + mov.w r6, r6, asr #1 │ │ │ │ │ cmp r6, #1 │ │ │ │ │ - beq.n 74 │ │ │ │ │ + beq.n 86 │ │ │ │ │ cmp r7, #1 │ │ │ │ │ - bne.n 76 │ │ │ │ │ - lsls r1, r3, #3 │ │ │ │ │ + bne.n 92 │ │ │ │ │ + mov.w r1, r3, lsl #3 │ │ │ │ │ add.w r2, r5, #8 │ │ │ │ │ - adds r3, r5, r1 │ │ │ │ │ add.w r0, r4, #8 │ │ │ │ │ - add r1, r4 │ │ │ │ │ + add.w r3, r5, r1 │ │ │ │ │ add.w r5, r5, r6, lsl #3 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ + add r1, r4 │ │ │ │ │ vldmdb r1!, {d6} │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ vldmdb r3!, {d5} │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ vsub.f64 d3, d4, d6 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ vstmia r2!, {d3} │ │ │ │ │ vadd.f64 d3, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ cmp r2, r5 │ │ │ │ │ vstmia r0!, {d3} │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ - bne.n 40 │ │ │ │ │ - pop {r3, r4, r5, r6, r7, pc} │ │ │ │ │ - subs r3, #1 │ │ │ │ │ - lsls r2, r7, #3 │ │ │ │ │ - adds r0, r5, r2 │ │ │ │ │ - adds r1, r4, r2 │ │ │ │ │ + bne.n 52 │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + ldrd r5, r6, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + pop {r7, pc} │ │ │ │ │ + add.w r3, r3, #4294967295 @ 0xffffffff │ │ │ │ │ + mov.w r2, r7, lsl #3 │ │ │ │ │ mul.w r3, r7, r3 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ + add.w r0, r5, r2 │ │ │ │ │ + add.w r1, r4, r2 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ add r5, r3 │ │ │ │ │ add r3, r4 │ │ │ │ │ - movs r4, #1 │ │ │ │ │ + mov.w r4, #1 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ cmp r4, r6 │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ vldr d5, [r5] │ │ │ │ │ vsub.f64 d3, d6, d4 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ vstr d3, [r0] │ │ │ │ │ vadd.f64 d3, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ add r0, r2 │ │ │ │ │ vstr d3, [r1] │ │ │ │ │ add r1, r2 │ │ │ │ │ vstr d6, [r5] │ │ │ │ │ sub.w r5, r5, r2 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ sub.w r3, r3, r2 │ │ │ │ │ - bne.n 8a │ │ │ │ │ - pop {r3, r4, r5, r6, r7, pc} │ │ │ │ │ + bne.n b2 │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + ldrd r5, r6, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + pop {r7, pc} │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000000d0 : │ │ │ │ │ +00000104 : │ │ │ │ │ print(): │ │ │ │ │ mov r2, r0 │ │ │ │ │ - push {r4} │ │ │ │ │ mov r0, r1 │ │ │ │ │ - ldr r4, [r1, #0] │ │ │ │ │ - ldr r1, [pc, #12] @ (e8 ) │ │ │ │ │ + ldr r1, [pc, #20] @ (120 ) │ │ │ │ │ + str.w r4, [sp, #-4]! │ │ │ │ │ + ldr r4, [r0, #0] │ │ │ │ │ ldr r3, [r2, #64] @ 0x40 │ │ │ │ │ - mov ip, r4 │ │ │ │ │ - ldr r2, [r2, #80] @ 0x50 │ │ │ │ │ add r1, pc │ │ │ │ │ + ldr r2, [r2, #80] @ 0x50 │ │ │ │ │ + mov ip, r4 │ │ │ │ │ ldr.w r4, [sp], #4 │ │ │ │ │ bx ip │ │ │ │ │ - .word 0x00000004 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x0000000a │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ -000000ec : │ │ │ │ │ +00000124 : │ │ │ │ │ mkplan(): │ │ │ │ │ ldr r3, [r1, #4] │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ - mov r9, r2 │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ mov r5, r1 │ │ │ │ │ - ldr r2, [r3, #0] │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ + mov r9, r2 │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ sub sp, #8 │ │ │ │ │ + ldr r2, [r3, #0] │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - beq.w 21a │ │ │ │ │ + beq.w 286 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - bne.w 220 │ │ │ │ │ + bne.w 28c │ │ │ │ │ ldr r3, [r1, #8] │ │ │ │ │ ldr r2, [r3, #0] │ │ │ │ │ mvn.w r3, #2147483648 @ 0x80000000 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.w 220 │ │ │ │ │ + beq.w 28c │ │ │ │ │ ldrd r0, r1, [r1, #12] │ │ │ │ │ ldrd r4, r2, [r5, #20] │ │ │ │ │ - subs r1, r1, r0 │ │ │ │ │ - subs r2, r2, r4 │ │ │ │ │ - movs r0, #2 │ │ │ │ │ - asrs r1, r1, #3 │ │ │ │ │ - asrs r2, r2, #3 │ │ │ │ │ + sub.w r1, r1, r0 │ │ │ │ │ + sub.w r2, r2, r4 │ │ │ │ │ + mov.w r2, r2, asr #3 │ │ │ │ │ + mov.w r0, #2 │ │ │ │ │ + mov.w r1, r1, asr #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ ldr r1, [r5, #8] │ │ │ │ │ mov sl, r0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_append │ │ │ │ │ mov r8, r0 │ │ │ │ │ ldr r0, [r0, #0] │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - ble.w 282 │ │ │ │ │ - movs r2, #0 │ │ │ │ │ + ble.w 304 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ mov r3, r8 │ │ │ │ │ mov r6, r2 │ │ │ │ │ mov r7, r2 │ │ │ │ │ ldr r4, [r3, #8] │ │ │ │ │ cmp r4, #0 │ │ │ │ │ - bge.n 162 │ │ │ │ │ + bge.n 1b6 │ │ │ │ │ ldr r1, [r3, #4] │ │ │ │ │ - negs r4, r4 │ │ │ │ │ - str r4, [r3, #8] │ │ │ │ │ + rsb r4, r4, #0 │ │ │ │ │ add.w ip, r1, #4294967295 @ 0xffffffff │ │ │ │ │ ldr r1, [r3, #12] │ │ │ │ │ - negs r1, r1 │ │ │ │ │ - str r1, [r3, #12] │ │ │ │ │ mls r7, ip, r4, r7 │ │ │ │ │ + rsb r1, r1, #0 │ │ │ │ │ mls r6, ip, r1, r6 │ │ │ │ │ - adds r2, #1 │ │ │ │ │ - adds r3, #12 │ │ │ │ │ + strd r4, r1, [r3, #8] │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ + add.w r3, r3, #12 │ │ │ │ │ cmp r0, r2 │ │ │ │ │ - bne.n 144 │ │ │ │ │ - lsls r4, r7, #3 │ │ │ │ │ - lsls r3, r6, #3 │ │ │ │ │ - ldr r1, [r5, #20] │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + bne.n 194 │ │ │ │ │ + mov.w r4, r7, lsl #3 │ │ │ │ │ + mov.w r3, r6, lsl #3 │ │ │ │ │ ldr r2, [r5, #12] │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + ldr r1, [r5, #20] │ │ │ │ │ str r0, [sp, #0] │ │ │ │ │ - add r3, r1 │ │ │ │ │ + ldr r0, [r5, #4] │ │ │ │ │ add r2, r4 │ │ │ │ │ + add r3, r1 │ │ │ │ │ mov r1, r8 │ │ │ │ │ - ldr r0, [r5, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_1 │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ + mov r4, r0 │ │ │ │ │ mov r1, r8 │ │ │ │ │ - mov r9, r0 │ │ │ │ │ mov r0, sl │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_destroy2 │ │ │ │ │ - cmp.w r9, #0 │ │ │ │ │ - beq.n 220 │ │ │ │ │ - ldr r2, [pc, #252] @ (298 ) │ │ │ │ │ - movs r0, #88 @ 0x58 │ │ │ │ │ - ldr r1, [pc, #252] @ (29c ) │ │ │ │ │ + cmp r4, #0 │ │ │ │ │ + beq.n 28c │ │ │ │ │ + ldr r2, [pc, #288] @ (318 ) │ │ │ │ │ + mov.w r0, #88 @ 0x58 │ │ │ │ │ + ldr r1, [pc, #284] @ (31c ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_dft │ │ │ │ │ ldr r3, [r5, #4] │ │ │ │ │ - mov r4, r0 │ │ │ │ │ ldr r2, [r3, #0] │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - beq.n 256 │ │ │ │ │ + beq.n 2d4 │ │ │ │ │ ldr r1, [r3, #4] │ │ │ │ │ ldr r2, [r3, #12] │ │ │ │ │ - subs r3, r1, #1 │ │ │ │ │ + add.w r3, r1, #4294967295 @ 0xffffffff │ │ │ │ │ add.w r3, r3, r3, lsr #31 │ │ │ │ │ - asrs r3, r3, #1 │ │ │ │ │ - lsls r0, r3, #3 │ │ │ │ │ - lsls r3, r3, #2 │ │ │ │ │ - vmov s12, r0 │ │ │ │ │ + mov.w r3, r3, asr #1 │ │ │ │ │ + mov.w r5, r3, lsl #3 │ │ │ │ │ + mov.w r3, r3, lsl #2 │ │ │ │ │ + vmov s12, r5 │ │ │ │ │ vmov s15, r3 │ │ │ │ │ vcvt.f64.s32 d6, s12 │ │ │ │ │ vcvt.f64.s32 d7, s15 │ │ │ │ │ - add.w r5, r9, #8 │ │ │ │ │ - strd r2, r1, [r4, #76] @ 0x4c │ │ │ │ │ - strd r7, r6, [r4, #68] @ 0x44 │ │ │ │ │ - add.w r6, r4, #8 │ │ │ │ │ - str.w r9, [r4, #64] @ 0x40 │ │ │ │ │ - ldmia r5!, {r0, r1, r2, r3} │ │ │ │ │ - stmia r6!, {r0, r1, r2, r3} │ │ │ │ │ - ldmia.w r5, {r0, r1, r2, r3} │ │ │ │ │ - stmia.w r6, {r0, r1, r2, r3} │ │ │ │ │ - mov r0, r4 │ │ │ │ │ - vldr d5, [r4, #32] │ │ │ │ │ + strd r4, r7, [r0, #64] @ 0x40 │ │ │ │ │ + strd r6, r2, [r0, #72] @ 0x48 │ │ │ │ │ + add.w r2, r4, #8 │ │ │ │ │ + ldrd r4, r5, [r4, #8] │ │ │ │ │ + strd r4, r5, [r0, #8] │ │ │ │ │ + ldrd r4, r5, [r2, #8] │ │ │ │ │ + str r1, [r0, #80] @ 0x50 │ │ │ │ │ + strd r4, r5, [r0, #16] │ │ │ │ │ + ldrd r4, r5, [r2, #16] │ │ │ │ │ + strd r4, r5, [r0, #24] │ │ │ │ │ + ldrd r4, r5, [r2, #24] │ │ │ │ │ + strd r4, r5, [r0, #32] │ │ │ │ │ + vldr d5, [r0, #32] │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [r4, #8] │ │ │ │ │ + vldr d5, [r0, #8] │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ vmov.f64 d7, #112 @ 0x3f800000 1.0 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ - vstr d5, [r4, #8] │ │ │ │ │ - vstr d7, [r4, #32] │ │ │ │ │ - add sp, #8 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ + vstr d5, [r0, #8] │ │ │ │ │ + vstr d7, [r0, #32] │ │ │ │ │ + b.n 290 │ │ │ │ │ ldr r2, [r1, #8] │ │ │ │ │ ldr r2, [r2, #0] │ │ │ │ │ - cbz r2, 228 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + cbz r2, 2a4 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #8 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {sl, pc} │ │ │ │ │ ldrd r0, r1, [r1, #12] │ │ │ │ │ ldrd r6, r2, [r3, #4] │ │ │ │ │ cmp r0, r1 │ │ │ │ │ ite hi │ │ │ │ │ subhi r4, r0, r1 │ │ │ │ │ subls r4, r1, r0 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ + mov.w r4, r4, asr #3 │ │ │ │ │ it lt │ │ │ │ │ neglt r2, r2 │ │ │ │ │ - asrs r4, r4, #3 │ │ │ │ │ mul.w r2, r6, r2 │ │ │ │ │ cmp r2, r4 │ │ │ │ │ - ble.n 262 │ │ │ │ │ + ble.n 2e2 │ │ │ │ │ ldr.w r3, [r9, #164] @ 0xa4 │ │ │ │ │ lsls r3, r3, #29 │ │ │ │ │ - bmi.n 220 │ │ │ │ │ + bmi.n 28c │ │ │ │ │ ldrd r4, r2, [r5, #20] │ │ │ │ │ - b.n 11c │ │ │ │ │ - vldr d7, [pc, #56] @ 290 │ │ │ │ │ - movs r1, #1 │ │ │ │ │ + b.n 160 │ │ │ │ │ + vldr d7, [pc, #56] @ 310 │ │ │ │ │ + mov.w r1, #1 │ │ │ │ │ vmov.f64 d6, d7 │ │ │ │ │ - b.n 1d2 │ │ │ │ │ + b.n 236 │ │ │ │ │ ldrd r4, r2, [r5, #20] │ │ │ │ │ ldr r3, [r3, #12] │ │ │ │ │ cmp r4, r2 │ │ │ │ │ ite hi │ │ │ │ │ subhi r7, r4, r2 │ │ │ │ │ subls r7, r2, r4 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ + mov.w r7, r7, asr #3 │ │ │ │ │ it lt │ │ │ │ │ neglt r3, r3 │ │ │ │ │ - asrs r7, r7, #3 │ │ │ │ │ mul.w r3, r6, r3 │ │ │ │ │ cmp r3, r7 │ │ │ │ │ - bgt.n 248 │ │ │ │ │ - b.n 11c │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + bgt.n 2c6 │ │ │ │ │ + b.n 160 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ mov r4, r3 │ │ │ │ │ mov r6, r3 │ │ │ │ │ mov r7, r3 │ │ │ │ │ - b.n 16e │ │ │ │ │ - nop.w │ │ │ │ │ + b.n 1ca │ │ │ │ │ ... │ │ │ │ │ - .word 0x000000f4 │ │ │ │ │ + .word 0x00000116 │ │ │ │ │ R_ARM_REL32 apply │ │ │ │ │ - .word 0x000000f6 │ │ │ │ │ + .word 0x00000118 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ │ │ │ │ │ -000002a0 : │ │ │ │ │ +00000320 : │ │ │ │ │ destroy(): │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_destroy_internal │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000002a8 : │ │ │ │ │ +00000328 : │ │ │ │ │ awake(): │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_awake │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000002b0 : │ │ │ │ │ +00000330 : │ │ │ │ │ fftw_dft_r2hc_register(): │ │ │ │ │ - ldr r1, [pc, #24] @ (2cc ) │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + ldr r1, [pc, #28] @ (350 ) │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ + mov.w r0, #8 │ │ │ │ │ add r1, pc │ │ │ │ │ - movs r0, #8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solver_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000012 │ │ │ │ │ + .word 0x00000010 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ ├── dht-r2hc.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1504 (bytes into file) │ │ │ │ │ + Start of section headers: 1576 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 15 │ │ │ │ │ Section header string table index: 14 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ -There are 15 section headers, starting at offset 0x5e0: │ │ │ │ │ +There are 15 section headers, starting at offset 0x628: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00018c 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0004d8 000058 08 I 12 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0001c0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0001c0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0001c0 000014 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 0001d4 000010 00 WA 0 0 4 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000530 000020 08 I 12 6 4 │ │ │ │ │ - [ 8] .data.rel.ro.local PROGBITS 00000000 0001e4 00000c 00 WA 0 0 4 │ │ │ │ │ - [ 9] .rel.data.rel.ro.local REL 00000000 000550 000008 08 I 12 8 4 │ │ │ │ │ - [10] .note.GNU-stack PROGBITS 00000000 0001f0 000000 00 0 0 1 │ │ │ │ │ - [11] .ARM.attributes ARM_ATTRIBUTES 00000000 0001f0 000033 00 0 0 1 │ │ │ │ │ - [12] .symtab SYMTAB 00000000 000224 0001d0 10 13 20 4 │ │ │ │ │ - [13] .strtab STRTAB 00000000 0003f4 0000e1 00 0 0 1 │ │ │ │ │ - [14] .shstrtab STRTAB 00000000 000558 000087 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0001d4 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000520 000058 08 I 12 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000208 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000208 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000208 000014 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 00021c 000010 00 WA 0 0 4 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000578 000020 08 I 12 6 4 │ │ │ │ │ + [ 8] .data.rel.ro.local PROGBITS 00000000 00022c 00000c 00 WA 0 0 4 │ │ │ │ │ + [ 9] .rel.data.rel.ro.local REL 00000000 000598 000008 08 I 12 8 4 │ │ │ │ │ + [10] .note.GNU-stack PROGBITS 00000000 000238 000000 00 0 0 1 │ │ │ │ │ + [11] .ARM.attributes ARM_ATTRIBUTES 00000000 000238 000033 00 0 0 1 │ │ │ │ │ + [12] .symtab SYMTAB 00000000 00026c 0001d0 10 13 20 4 │ │ │ │ │ + [13] .strtab STRTAB 00000000 00043c 0000e1 00 0 0 1 │ │ │ │ │ + [14] .shstrtab STRTAB 00000000 0005a0 000087 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,32 +1,32 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 29 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 122 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ + 1: 00000001 156 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 3: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 4: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ - 5: 0000007d 28 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ - 6: 00000094 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 7: 00000098 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 8: 00000099 196 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 9: 00000154 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 10: 0000015c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 11: 0000015d 6 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 12: 00000165 6 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 13: 00000188 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 5: 0000009d 32 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 6: 000000b8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 7: 000000bc 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 8: 000000bd 228 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 9: 00000198 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 10: 000001a0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 11: 000001a1 6 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 12: 000001a9 6 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 13: 000001d0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 14: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 15: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 16: 00000000 16 OBJECT LOCAL DEFAULT 6 padt.0 │ │ │ │ │ 17: 00000000 0 SECTION LOCAL DEFAULT 8 .data.rel.ro.local │ │ │ │ │ 18: 00000000 0 NOTYPE LOCAL DEFAULT 8 $d │ │ │ │ │ 19: 00000000 12 OBJECT LOCAL DEFAULT 8 sadt.1 │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkproblem_rdft_1 │ │ │ │ │ 21: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_f_d │ │ │ │ │ 22: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_rdft │ │ │ │ │ 23: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_destroy_internal │ │ │ │ │ 24: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_awake │ │ │ │ │ - 25: 0000016d 32 FUNC GLOBAL DEFAULT 1 fftw_dht_r2hc_register │ │ │ │ │ + 25: 000001b1 36 FUNC GLOBAL DEFAULT 1 fftw_dht_r2hc_register │ │ │ │ │ 26: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ 27: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 28: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_solve │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,25 +1,25 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x4d8 contains 11 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x520 contains 11 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000094 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -000000ce 0000140a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_1 │ │ │ │ │ -000000de 0000150a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ -000000f2 0000160a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ -00000154 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ -00000158 00000e03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000176 00001a0a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -00000188 00001103 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -0000015e 0000171e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000166 0000181e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ -00000182 00001b1e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ +000000b8 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +00000100 0000140a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_1 │ │ │ │ │ +00000110 0000150a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ +00000126 0000160a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ +00000198 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ +0000019c 00000e03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000001be 00001a0a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +000001d0 00001103 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +000001a2 0000171e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000001aa 0000181e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ +000001cc 00001b1e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x530 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x578 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00001c02 R_ARM_ABS32 00000000 fftw_rdft_solve │ │ │ │ │ -00000004 00000c02 R_ARM_ABS32 00000165 awake │ │ │ │ │ -00000008 00000502 R_ARM_ABS32 0000007d print │ │ │ │ │ -0000000c 00000b02 R_ARM_ABS32 0000015d destroy │ │ │ │ │ +00000004 00000c02 R_ARM_ABS32 000001a9 awake │ │ │ │ │ +00000008 00000502 R_ARM_ABS32 0000009d print │ │ │ │ │ +0000000c 00000b02 R_ARM_ABS32 000001a1 destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x550 contains 1 entry: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x598 contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000802 R_ARM_ABS32 00000099 mkplan │ │ │ │ │ +00000004 00000802 R_ARM_ABS32 000000bd mkplan │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,179 +1,187 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ apply(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ mov r5, r2 │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ ldrd r4, r6, [r0, #68] @ 0x44 │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ blx r3 │ │ │ │ │ - subs r3, r6, #1 │ │ │ │ │ + add.w r3, r6, #4294967295 @ 0xffffffff │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - ble.n 42 │ │ │ │ │ + ble.n 4e │ │ │ │ │ cmp r4, #1 │ │ │ │ │ itt eq │ │ │ │ │ - addeq.w r3, r5, #8 │ │ │ │ │ addeq.w r2, r5, r6, lsl #3 │ │ │ │ │ - bne.n 44 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + addeq.w r3, r5, #8 │ │ │ │ │ + bne.n 56 │ │ │ │ │ vldmdb r2!, {d7} │ │ │ │ │ - subs r1, r6, r4 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + sub.w r1, r6, r4 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ cmp r4, r1 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vstmia r3!, {d5} │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ - blt.n 22 │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ + blt.n 2a │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ mul.w r3, r4, r3 │ │ │ │ │ - lsls r0, r4, #3 │ │ │ │ │ - adds r1, r5, r0 │ │ │ │ │ - movs r2, #1 │ │ │ │ │ + mov.w r2, #1 │ │ │ │ │ + mov.w r0, r4, lsl #3 │ │ │ │ │ add.w r3, r5, r3, lsl #3 │ │ │ │ │ + add.w r1, r5, r0 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - adds r2, #1 │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ + sub.w r4, r6, r2 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - subs r4, r6, r2 │ │ │ │ │ cmp r2, r4 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ add r1, r0 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ sub.w r3, r3, r0 │ │ │ │ │ - blt.n 52 │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ - nop │ │ │ │ │ + blt.n 6a │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ │ │ │ │ │ -0000007c : │ │ │ │ │ +0000009c : │ │ │ │ │ print(): │ │ │ │ │ mov r2, r0 │ │ │ │ │ - push {r4} │ │ │ │ │ mov r0, r1 │ │ │ │ │ - ldr r4, [r1, #0] │ │ │ │ │ - ldr r1, [pc, #12] @ (94 ) │ │ │ │ │ + ldr r1, [pc, #20] @ (b8 ) │ │ │ │ │ + str.w r4, [sp, #-4]! │ │ │ │ │ + ldr r4, [r0, #0] │ │ │ │ │ ldr r3, [r2, #64] @ 0x40 │ │ │ │ │ - mov ip, r4 │ │ │ │ │ - ldr r2, [r2, #72] @ 0x48 │ │ │ │ │ add r1, pc │ │ │ │ │ + ldr r2, [r2, #72] @ 0x48 │ │ │ │ │ + mov ip, r4 │ │ │ │ │ ldr.w r4, [sp], #4 │ │ │ │ │ bx ip │ │ │ │ │ - .word 0x00000004 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x0000000a │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ -00000098 : │ │ │ │ │ +000000bc : │ │ │ │ │ mkplan(): │ │ │ │ │ - push {r4, r5, r6, r7, lr} │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ mov r4, r2 │ │ │ │ │ - ldr.w r2, [r2, #164] @ 0xa4 │ │ │ │ │ movw r3, #32776 @ 0x8008 │ │ │ │ │ - sub sp, #12 │ │ │ │ │ + ldr.w r2, [r2, #164] @ 0xa4 │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ + sub sp, #8 │ │ │ │ │ tst r2, r3 │ │ │ │ │ - beq.n b0 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - add sp, #12 │ │ │ │ │ - pop {r4, r5, r6, r7, pc} │ │ │ │ │ + beq.n e2 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + add sp, #8 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ ldr r0, [r1, #4] │ │ │ │ │ mov r5, r1 │ │ │ │ │ ldr r3, [r0, #0] │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - bne.n aa │ │ │ │ │ + bne.n d4 │ │ │ │ │ ldr r1, [r1, #8] │ │ │ │ │ ldr r6, [r1, #0] │ │ │ │ │ cmp r6, #0 │ │ │ │ │ - bne.n aa │ │ │ │ │ + bne.n d4 │ │ │ │ │ ldr r3, [r5, #20] │ │ │ │ │ cmp r3, #8 │ │ │ │ │ - bne.n aa │ │ │ │ │ + bne.n d4 │ │ │ │ │ str r6, [sp, #0] │ │ │ │ │ ldrd r2, r3, [r5, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_1 │ │ │ │ │ - mov r3, r6 │ │ │ │ │ mov r1, r0 │ │ │ │ │ + mov r3, r6 │ │ │ │ │ str r6, [sp, #0] │ │ │ │ │ - mov.w r2, #32768 @ 0x8000 │ │ │ │ │ mov r0, r4 │ │ │ │ │ + mov.w r2, #32768 @ 0x8000 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_f_d │ │ │ │ │ - mov r6, r0 │ │ │ │ │ + mov r4, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n aa │ │ │ │ │ - ldr r2, [pc, #104] @ (154 ) │ │ │ │ │ - movs r0, #80 @ 0x50 │ │ │ │ │ - ldr r1, [pc, #104] @ (158 ) │ │ │ │ │ + beq.n d4 │ │ │ │ │ + ldr r2, [pc, #124] @ (198 ) │ │ │ │ │ + mov.w r0, #80 @ 0x50 │ │ │ │ │ + ldr r1, [pc, #120] @ (19c ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_rdft │ │ │ │ │ - ldr r3, [r5, #4] │ │ │ │ │ - add.w r5, r6, #8 │ │ │ │ │ - mov r4, r0 │ │ │ │ │ - add.w ip, r0, #8 │ │ │ │ │ - ldr r7, [r3, #4] │ │ │ │ │ - ldr r3, [r3, #12] │ │ │ │ │ - str r7, [r0, #72] @ 0x48 │ │ │ │ │ - subs r7, #1 │ │ │ │ │ - strd r6, r3, [r0, #64] @ 0x40 │ │ │ │ │ - ldmia r5!, {r0, r1, r2, r3} │ │ │ │ │ - stmia.w ip!, {r0, r1, r2, r3} │ │ │ │ │ - add.w r7, r7, r7, lsr #31 │ │ │ │ │ - ldmia.w r5, {r0, r1, r2, r3} │ │ │ │ │ - stmia.w ip, {r0, r1, r2, r3} │ │ │ │ │ - asrs r3, r7, #1 │ │ │ │ │ - vldr d7, [r4, #32] │ │ │ │ │ - mov r0, r4 │ │ │ │ │ - lsls r2, r3, #2 │ │ │ │ │ + ldr r2, [r5, #4] │ │ │ │ │ + add.w r1, r4, #8 │ │ │ │ │ + ldr r3, [r2, #4] │ │ │ │ │ + ldr r2, [r2, #12] │ │ │ │ │ + strd r4, r2, [r0, #64] @ 0x40 │ │ │ │ │ + ldrd r4, r5, [r4, #8] │ │ │ │ │ + str r3, [r0, #72] @ 0x48 │ │ │ │ │ + add.w r3, r3, #4294967295 @ 0xffffffff │ │ │ │ │ + add.w r3, r3, r3, lsr #31 │ │ │ │ │ + mov.w r3, r3, asr #1 │ │ │ │ │ + strd r4, r5, [r0, #8] │ │ │ │ │ + ldrd r4, r5, [r1, #8] │ │ │ │ │ + mov.w r2, r3, lsl #2 │ │ │ │ │ + mov.w r3, r3, lsl #1 │ │ │ │ │ vmov s12, r2 │ │ │ │ │ - lsls r3, r3, #1 │ │ │ │ │ + strd r4, r5, [r0, #16] │ │ │ │ │ + ldrd r4, r5, [r1, #16] │ │ │ │ │ + strd r4, r5, [r0, #24] │ │ │ │ │ + ldrd r4, r5, [r1, #24] │ │ │ │ │ vcvt.f64.s32 d6, s12 │ │ │ │ │ + strd r4, r5, [r0, #32] │ │ │ │ │ + vldr d7, [r0, #32] │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [r4, #8] │ │ │ │ │ - vstr d7, [r4, #32] │ │ │ │ │ + vldr d6, [r0, #8] │ │ │ │ │ + vstr d7, [r0, #32] │ │ │ │ │ vmov s15, r3 │ │ │ │ │ vcvt.f64.s32 d7, s15 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vstr d6, [r4, #8] │ │ │ │ │ - b.n ac │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000062 │ │ │ │ │ + vstr d6, [r0, #8] │ │ │ │ │ + b.n d8 │ │ │ │ │ + .word 0x00000072 │ │ │ │ │ R_ARM_REL32 apply │ │ │ │ │ - .word 0x00000064 │ │ │ │ │ + .word 0x00000074 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ │ │ │ │ │ -0000015c : │ │ │ │ │ +000001a0 : │ │ │ │ │ destroy(): │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_destroy_internal │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000164 : │ │ │ │ │ +000001a8 : │ │ │ │ │ awake(): │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_awake │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -0000016c : │ │ │ │ │ +000001b0 : │ │ │ │ │ fftw_dht_r2hc_register(): │ │ │ │ │ - ldr r1, [pc, #24] @ (188 ) │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + ldr r1, [pc, #28] @ (1d0 ) │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ + mov.w r0, #8 │ │ │ │ │ add r1, pc │ │ │ │ │ - movs r0, #8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solver_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000012 │ │ │ │ │ + .word 0x00000010 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ ├── dht-rader.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 4260 (bytes into file) │ │ │ │ │ + Start of section headers: 4496 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 16 │ │ │ │ │ Section header string table index: 15 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,25 +1,25 @@ │ │ │ │ │ -There are 16 section headers, starting at offset 0x10a4: │ │ │ │ │ +There are 16 section headers, starting at offset 0x1190: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000768 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000dcc 000220 08 I 13 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 00079c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 00079c 000004 00 WA 0 0 4 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 00079c 00002b 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 0007c7 000010 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0007d7 000010 00 WA 0 0 4 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000fec 000020 08 I 13 7 4 │ │ │ │ │ - [ 9] .data.rel.ro.local PROGBITS 00000000 0007e7 00000c 00 WA 0 0 4 │ │ │ │ │ - [10] .rel.data.rel.ro.local REL 00000000 00100c 000008 08 I 13 9 4 │ │ │ │ │ - [11] .note.GNU-stack PROGBITS 00000000 0007f3 000000 00 0 0 1 │ │ │ │ │ - [12] .ARM.attributes ARM_ATTRIBUTES 00000000 0007f3 000033 00 0 0 1 │ │ │ │ │ - [13] .symtab SYMTAB 00000000 000828 000380 10 14 29 4 │ │ │ │ │ - [14] .strtab STRTAB 00000000 000ba8 000223 00 0 0 1 │ │ │ │ │ - [15] .shstrtab STRTAB 00000000 001014 00008f 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000854 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000eb8 000220 08 I 13 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000888 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000888 000004 00 WA 0 0 4 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000888 00002b 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 0008b3 000010 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0008c3 000010 00 WA 0 0 4 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 0010d8 000020 08 I 13 7 4 │ │ │ │ │ + [ 9] .data.rel.ro.local PROGBITS 00000000 0008d3 00000c 00 WA 0 0 4 │ │ │ │ │ + [10] .rel.data.rel.ro.local REL 00000000 0010f8 000008 08 I 13 9 4 │ │ │ │ │ + [11] .note.GNU-stack PROGBITS 00000000 0008df 000000 00 0 0 1 │ │ │ │ │ + [12] .ARM.attributes ARM_ATTRIBUTES 00000000 0008df 000033 00 0 0 1 │ │ │ │ │ + [13] .symtab SYMTAB 00000000 000914 000380 10 14 29 4 │ │ │ │ │ + [14] .strtab STRTAB 00000000 000c94 000223 00 0 0 1 │ │ │ │ │ + [15] .shstrtab STRTAB 00000000 001100 00008f 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -2,27 +2,27 @@ │ │ │ │ │ Symbol table '.symtab' contains 56 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 SECTION LOCAL DEFAULT 4 .bss │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 3: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ 4: 00000024 0 NOTYPE LOCAL DEFAULT 5 .LC1 │ │ │ │ │ - 5: 00000001 104 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 5: 00000001 116 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ 6: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 0000005c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 8: 00000068 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 9: 00000069 26 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 10: 00000085 726 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ - 11: 0000035d 408 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 12: 000004e8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 13: 000004f4 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 14: 000004f5 572 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 15: 00000724 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 16: 00000730 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 17: 00000764 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 7: 00000068 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 00000074 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 9: 00000075 30 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 10: 00000095 794 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ + 11: 000003b1 452 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 12: 00000568 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 13: 00000574 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 14: 00000575 660 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 15: 000007fc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 16: 00000808 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 17: 00000850 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 18: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 19: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 20: 00000000 16 OBJECT LOCAL DEFAULT 6 primes.0 │ │ │ │ │ 21: 00000000 0 NOTYPE LOCAL DEFAULT 4 $d │ │ │ │ │ 22: 00000000 4 OBJECT LOCAL DEFAULT 4 omegas │ │ │ │ │ 23: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 24: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ @@ -49,11 +49,11 @@ │ │ │ │ │ 45: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_factors_into │ │ │ │ │ 46: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mktensor_1d │ │ │ │ │ 47: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkproblem_rdft_1_d │ │ │ │ │ 48: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_f_d │ │ │ │ │ 49: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_rdft │ │ │ │ │ 50: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_add │ │ │ │ │ 51: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ifree0 │ │ │ │ │ - 52: 00000731 56 FUNC GLOBAL DEFAULT 1 fftw_dht_rader_register │ │ │ │ │ + 52: 00000809 76 FUNC GLOBAL DEFAULT 1 fftw_dht_rader_register │ │ │ │ │ 53: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ 54: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 55: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_solve │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,82 +1,82 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xdcc contains 68 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xeb8 contains 68 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000005c 00000303 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -00000060 00000403 R_ARM_REL32 00000024 .LC1 │ │ │ │ │ -00000064 00000403 R_ARM_REL32 00000024 .LC1 │ │ │ │ │ -0000006e 00001d0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000074 00001d0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000000a4 00001e0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -000000d2 00001f0a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -000000f6 0000200a R_ARM_THM_CALL 00000000 fftw_safe_mulmod │ │ │ │ │ -00000116 0000210a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ -0000021c 00001f0a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -00000248 0000200a R_ARM_THM_CALL 00000000 fftw_safe_mulmod │ │ │ │ │ -0000028e 00001f0a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -000002bc 0000200a R_ARM_THM_CALL 00000000 fftw_safe_mulmod │ │ │ │ │ -000002e6 00001f0a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -00000318 00001f0a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -00000344 0000200a R_ARM_THM_CALL 00000000 fftw_safe_mulmod │ │ │ │ │ -0000034e 0000200a R_ARM_THM_CALL 00000000 fftw_safe_mulmod │ │ │ │ │ -0000036c 0000230a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -00000374 0000230a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -0000037c 0000230a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -0000038a 0000240a R_ARM_THM_CALL 00000000 fftw_rader_tl_delete │ │ │ │ │ -0000039e 0000250a R_ARM_THM_CALL 00000000 fftw_find_generator │ │ │ │ │ -000003a8 0000260a R_ARM_THM_CALL 00000000 fftw_power_mod │ │ │ │ │ -000003ca 0000270a R_ARM_THM_CALL 00000000 fftw_rader_tl_find │ │ │ │ │ -000003dc 00001e0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -000003ee 0000280a R_ARM_THM_CALL 00000000 fftw_mktriggen │ │ │ │ │ -0000041e 00001f0a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -00000454 0000200a R_ARM_THM_CALL 00000000 fftw_safe_mulmod │ │ │ │ │ -00000464 0000290a R_ARM_THM_CALL 00000000 fftw_triggen_destroy │ │ │ │ │ -00000484 0000210a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ -000004c4 00002a0a R_ARM_THM_CALL 00000000 fftw_rader_tl_insert │ │ │ │ │ -000004d6 0000290a R_ARM_THM_CALL 00000000 fftw_triggen_destroy │ │ │ │ │ -000004e8 00000103 R_ARM_REL32 00000000 .bss │ │ │ │ │ -000004ec 00000103 R_ARM_REL32 00000000 .bss │ │ │ │ │ -000004f0 00000103 R_ARM_REL32 00000000 .bss │ │ │ │ │ -00000520 00002b0a R_ARM_THM_CALL 00000000 fftw_is_prime │ │ │ │ │ -00000548 00002c0a R_ARM_THM_CALL 00000000 fftw_factors_into_small_primes │ │ │ │ │ -0000057e 00002d0a R_ARM_THM_CALL 00000000 fftw_factors_into │ │ │ │ │ -0000058e 00001e0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -0000059a 00002e0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -000005a6 00002e0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -000005b4 00002f0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_1_d │ │ │ │ │ -000005c2 0000300a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ -000005d4 00002e0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -000005e0 00002e0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -000005ee 00002f0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_1_d │ │ │ │ │ -000005fc 0000300a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ -0000060c 00002e0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -00000618 00002e0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -00000626 00002f0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_1_d │ │ │ │ │ -00000634 0000300a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ -00000640 0000220a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -0000064e 0000310a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ -00000676 0000320a R_ARM_THM_CALL 00000000 fftw_ops_add │ │ │ │ │ -0000070c 0000330a R_ARM_THM_CALL 00000000 fftw_ifree0 │ │ │ │ │ -00000712 00001d0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000718 00001d0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -0000071e 00001d0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000724 00001203 R_ARM_REL32 00000000 .rodata │ │ │ │ │ -00000728 00000a03 R_ARM_REL32 00000085 apply │ │ │ │ │ -0000072c 00001703 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000073c 0000350a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -00000748 0000360a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -00000750 0000350a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -00000764 00001a03 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -0000007e 00001d1e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ -0000025a 0000221e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ │ -00000760 0000361e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ +00000068 00000303 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +0000006c 00000403 R_ARM_REL32 00000024 .LC1 │ │ │ │ │ +00000070 00000403 R_ARM_REL32 00000024 .LC1 │ │ │ │ │ +0000007c 00001d0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000082 00001d0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000000c6 00001e0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +000000f6 00001f0a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +0000011c 0000200a R_ARM_THM_CALL 00000000 fftw_safe_mulmod │ │ │ │ │ +00000144 0000210a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ +00000256 00001f0a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +00000284 0000200a R_ARM_THM_CALL 00000000 fftw_safe_mulmod │ │ │ │ │ +000002dc 00001f0a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +0000030a 0000200a R_ARM_THM_CALL 00000000 fftw_safe_mulmod │ │ │ │ │ +00000336 00001f0a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +00000368 00001f0a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +00000396 0000200a R_ARM_THM_CALL 00000000 fftw_safe_mulmod │ │ │ │ │ +000003a0 0000200a R_ARM_THM_CALL 00000000 fftw_safe_mulmod │ │ │ │ │ +000003d0 0000230a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +000003d8 0000230a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +000003e0 0000230a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +000003ee 0000240a R_ARM_THM_CALL 00000000 fftw_rader_tl_delete │ │ │ │ │ +00000414 0000250a R_ARM_THM_CALL 00000000 fftw_find_generator │ │ │ │ │ +00000420 0000260a R_ARM_THM_CALL 00000000 fftw_power_mod │ │ │ │ │ +00000446 0000270a R_ARM_THM_CALL 00000000 fftw_rader_tl_find │ │ │ │ │ +0000045a 00001e0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +0000046c 0000280a R_ARM_THM_CALL 00000000 fftw_mktriggen │ │ │ │ │ +000004a2 00001f0a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +000004da 0000200a R_ARM_THM_CALL 00000000 fftw_safe_mulmod │ │ │ │ │ +000004ea 0000290a R_ARM_THM_CALL 00000000 fftw_triggen_destroy │ │ │ │ │ +00000510 0000210a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ +00000550 00002a0a R_ARM_THM_CALL 00000000 fftw_rader_tl_insert │ │ │ │ │ +00000556 0000290a R_ARM_THM_CALL 00000000 fftw_triggen_destroy │ │ │ │ │ +00000568 00000103 R_ARM_REL32 00000000 .bss │ │ │ │ │ +0000056c 00000103 R_ARM_REL32 00000000 .bss │ │ │ │ │ +00000570 00000103 R_ARM_REL32 00000000 .bss │ │ │ │ │ +000005c4 00002b0a R_ARM_THM_CALL 00000000 fftw_is_prime │ │ │ │ │ +000005ec 00002c0a R_ARM_THM_CALL 00000000 fftw_factors_into_small_primes │ │ │ │ │ +00000628 00002d0a R_ARM_THM_CALL 00000000 fftw_factors_into │ │ │ │ │ +0000063c 00001e0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +0000064a 00002e0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +0000065a 00002e0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +00000668 00002f0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_1_d │ │ │ │ │ +00000678 0000300a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ +0000068c 00002e0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +0000069a 00002e0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +000006a8 00002f0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_1_d │ │ │ │ │ +000006b8 0000300a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ +000006cc 00002e0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +000006da 00002e0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +000006e8 00002f0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_1_d │ │ │ │ │ +000006fa 0000300a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ +00000706 0000220a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +00000716 0000310a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ +0000073c 0000320a R_ARM_THM_CALL 00000000 fftw_ops_add │ │ │ │ │ +000007e0 0000330a R_ARM_THM_CALL 00000000 fftw_ifree0 │ │ │ │ │ +000007e8 00001d0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000007ee 00001d0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000007f4 00001d0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000007fc 00001203 R_ARM_REL32 00000000 .rodata │ │ │ │ │ +00000800 00000a03 R_ARM_REL32 00000095 apply │ │ │ │ │ +00000804 00001703 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +0000081c 0000350a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +0000082a 0000360a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +00000834 0000350a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +00000850 00001a03 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +0000008e 00001d1e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000002a8 0000221e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ │ +0000084c 0000361e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xfec contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x10d8 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00003702 R_ARM_ABS32 00000000 fftw_rdft_solve │ │ │ │ │ -00000004 00000b02 R_ARM_ABS32 0000035d awake │ │ │ │ │ +00000004 00000b02 R_ARM_ABS32 000003b1 awake │ │ │ │ │ 00000008 00000502 R_ARM_ABS32 00000001 print │ │ │ │ │ -0000000c 00000902 R_ARM_ABS32 00000069 destroy │ │ │ │ │ +0000000c 00000902 R_ARM_ABS32 00000075 destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x100c contains 1 entry: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x10f8 contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000e02 R_ARM_ABS32 000004f5 mkplan │ │ │ │ │ +00000004 00000e02 R_ARM_ABS32 00000575 mkplan │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,9 +1,9 @@ │ │ │ │ │ + I(F+hyD │ │ │ │ │ 0l*F)F7n │ │ │ │ │ -8J9Ih zDyD │ │ │ │ │ (dht-rader-%D/%D%ois=%oos=%(%p%) │ │ │ │ │ primes.0 │ │ │ │ │ fftw_plan_destroy_internal │ │ │ │ │ fftw_malloc_plain │ │ │ │ │ __aeabi_idivmod │ │ │ │ │ fftw_safe_mulmod │ │ │ │ │ fftw_ifree │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,800 +1,825 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ print(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ - mov r5, r1 │ │ │ │ │ ldr r3, [r0, #64] @ 0x40 │ │ │ │ │ - sub sp, #16 │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ + mov r5, r1 │ │ │ │ │ mov r4, r0 │ │ │ │ │ - ldr r1, [pc, #80] @ (5c ) │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ + sub sp, #16 │ │ │ │ │ + ldr r1, [pc, #84] @ (68 ) │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ - add r1, pc │ │ │ │ │ ldr r3, [r0, #96] @ 0x60 │ │ │ │ │ + add r1, pc │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr r3, [r0, #92] @ 0x5c │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ + ldr r6, [r5, #0] │ │ │ │ │ ldrd r2, r3, [r0, #76] @ 0x4c │ │ │ │ │ mov r0, r5 │ │ │ │ │ - ldr r6, [r5, #0] │ │ │ │ │ blx r6 │ │ │ │ │ ldrd r3, r2, [r4, #64] @ 0x40 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.n 36 │ │ │ │ │ - ldr r1, [pc, #52] @ (60 ) │ │ │ │ │ + beq.n 3c │ │ │ │ │ + ldr r1, [pc, #56] @ (6c ) │ │ │ │ │ mov r0, r5 │ │ │ │ │ ldr r3, [r5, #0] │ │ │ │ │ add r1, pc │ │ │ │ │ blx r3 │ │ │ │ │ ldr r3, [r4, #64] @ 0x40 │ │ │ │ │ ldr r2, [r4, #100] @ 0x64 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.n 4c │ │ │ │ │ + beq.n 52 │ │ │ │ │ ldr r3, [r4, #68] @ 0x44 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.n 4c │ │ │ │ │ - ldr r1, [pc, #32] @ (64 ) │ │ │ │ │ + beq.n 52 │ │ │ │ │ + ldr r1, [pc, #36] @ (70 ) │ │ │ │ │ mov r0, r5 │ │ │ │ │ ldr r3, [r5, #0] │ │ │ │ │ add r1, pc │ │ │ │ │ blx r3 │ │ │ │ │ ldr r3, [r5, #8] │ │ │ │ │ - movs r1, #41 @ 0x29 │ │ │ │ │ + mov.w r1, #41 @ 0x29 │ │ │ │ │ mov r0, r5 │ │ │ │ │ add sp, #16 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, lr, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ bx r3 │ │ │ │ │ - nop │ │ │ │ │ - .word 0x0000004a │ │ │ │ │ + .word 0x0000004e │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ - .word 0x0000002c │ │ │ │ │ + .word 0x00000032 │ │ │ │ │ R_ARM_REL32 .LC1 │ │ │ │ │ - .word 0x00000018 │ │ │ │ │ + .word 0x0000001e │ │ │ │ │ R_ARM_REL32 .LC1 │ │ │ │ │ │ │ │ │ │ -00000068 : │ │ │ │ │ +00000074 : │ │ │ │ │ destroy(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldr r0, [r0, #100] @ 0x64 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ ldr r0, [r4, #68] @ 0x44 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ ldr r0, [r4, #64] @ 0x40 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_destroy_internal │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000084 : │ │ │ │ │ +00000094 : │ │ │ │ │ apply(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + ldrd r4, r3, [r0, #76] @ 0x4c │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r6, r0 │ │ │ │ │ - ldr r3, [r0, #80] @ 0x50 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov r9, r1 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #28 │ │ │ │ │ - ldr r4, [r0, #76] @ 0x4c │ │ │ │ │ ldr r7, [r0, #92] @ 0x5c │ │ │ │ │ - mov r9, r1 │ │ │ │ │ add.w r8, r4, #4294967295 @ 0xffffffff │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ - mov r0, r3 │ │ │ │ │ + strd r4, r3, [sp] │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ str r2, [sp, #8] │ │ │ │ │ - str r4, [sp, #0] │ │ │ │ │ + mov r0, r3 │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ + cmp.w r8, #0 │ │ │ │ │ ldr r2, [r6, #84] @ 0x54 │ │ │ │ │ mov r5, r0 │ │ │ │ │ - cmp.w r8, #0 │ │ │ │ │ - ble.n 102 │ │ │ │ │ - mov sl, r0 │ │ │ │ │ + ble.n 128 │ │ │ │ │ rsb fp, r2, #92672 @ 0x16a00 │ │ │ │ │ - str r5, [sp, #16] │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ + strd r5, r6, [sp, #16] │ │ │ │ │ add.w fp, fp, #9 │ │ │ │ │ - str r6, [sp, #20] │ │ │ │ │ - movs r0, #1 │ │ │ │ │ - mov r6, sl │ │ │ │ │ + mov r6, r5 │ │ │ │ │ ldr r5, [sp, #0] │ │ │ │ │ - movs r4, #0 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ mov sl, r2 │ │ │ │ │ - b.n dc │ │ │ │ │ + b.n 100 │ │ │ │ │ mul.w r0, r0, sl │ │ │ │ │ mov r1, r5 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ cmp r4, r8 │ │ │ │ │ mov r0, r1 │ │ │ │ │ - beq.n fe │ │ │ │ │ + beq.n 124 │ │ │ │ │ mul.w r2, r0, r7 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ cmp r0, fp │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ add.w r2, r9, r2, lsl #3 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ vstmia r6!, {d7} │ │ │ │ │ - ble.n cc │ │ │ │ │ + ble.n f0 │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r1, sl │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_safe_mulmod │ │ │ │ │ cmp r4, r8 │ │ │ │ │ - bne.n dc │ │ │ │ │ + bne.n 100 │ │ │ │ │ ldrd r5, r6, [sp, #16] │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ cmp r3, r8 │ │ │ │ │ - ble.n 11a │ │ │ │ │ - adds r2, r3, #1 │ │ │ │ │ + ble.n 148 │ │ │ │ │ + add.w r2, r3, #1 │ │ │ │ │ ldr r3, [sp, #0] │ │ │ │ │ - movs r1, #0 │ │ │ │ │ add.w r0, r5, r8, lsl #3 │ │ │ │ │ - subs r2, r2, r3 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ + sub.w r2, r2, r3 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memset │ │ │ │ │ ldr r0, [r6, #64] @ 0x40 │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r1, r5 │ │ │ │ │ ldr r7, [r6, #96] @ 0x60 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ blx r3 │ │ │ │ │ - vldr d2, [r9] │ │ │ │ │ vldr d7, [r5] │ │ │ │ │ + vldr d2, [r9] │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ ldr.w ip, [r6, #72] @ 0x48 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vldr d7, [r5] │ │ │ │ │ vldr d6, [ip] │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ - cmp r3, #3 │ │ │ │ │ add.w r4, r3, r3, lsr #31 │ │ │ │ │ + cmp r3, #3 │ │ │ │ │ it le │ │ │ │ │ movle r2, #8 │ │ │ │ │ mov.w r4, r4, asr #1 │ │ │ │ │ vstr d7, [r5] │ │ │ │ │ - ble.n 1a8 │ │ │ │ │ + ble.n 1de │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ add.w lr, ip, #8 │ │ │ │ │ add.w r1, r5, #8 │ │ │ │ │ add.w r0, ip, r3 │ │ │ │ │ - adds r2, r5, r3 │ │ │ │ │ - movs r3, #1 │ │ │ │ │ + add.w r2, r5, r3 │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ vldmdb r2!, {d5} │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - vldmdb r0!, {d7} │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ cmp r3, r4 │ │ │ │ │ + vldmdb r0!, {d7} │ │ │ │ │ vldr d3, [r1] │ │ │ │ │ vldmia lr!, {d4} │ │ │ │ │ vmul.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ - vmla.f64 d7, d4, d5 │ │ │ │ │ vnmls.f64 d6, d4, d3 │ │ │ │ │ + vmla.f64 d7, d4, d5 │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vstmia r1!, {d5} │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ - blt.n 170 │ │ │ │ │ - lsls r2, r4, #3 │ │ │ │ │ - adds r3, r5, r2 │ │ │ │ │ + blt.n 1a2 │ │ │ │ │ + mov.w r2, r4, lsl #3 │ │ │ │ │ + add.w r3, r5, r2 │ │ │ │ │ add ip, r2 │ │ │ │ │ ldr r0, [r6, #68] @ 0x44 │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r1, r5 │ │ │ │ │ - str r3, [sp, #16] │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ vldr d6, [ip] │ │ │ │ │ ldr.w r9, [r0, #56] @ 0x38 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vldr d7, [r5] │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ vstr d7, [r5] │ │ │ │ │ blx r9 │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ ldrd r0, r1, [r5] │ │ │ │ │ + ldr r6, [r6, #88] @ 0x58 │ │ │ │ │ add.w r2, r3, r7, lsl #3 │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ - ldr r6, [r6, #88] @ 0x58 │ │ │ │ │ + strd r0, r1, [r2] │ │ │ │ │ cmp r3, r8 │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ - strd r0, r1, [r2] │ │ │ │ │ - beq.n 25e │ │ │ │ │ + beq.n 2ac │ │ │ │ │ cmp.w r8, #1 │ │ │ │ │ - ble.n 252 │ │ │ │ │ + ble.n 28e │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ add.w r9, r5, #8 │ │ │ │ │ rsb fp, r6, #92672 @ 0x16a00 │ │ │ │ │ mov r0, r6 │ │ │ │ │ - add r3, r5 │ │ │ │ │ + add.w fp, fp, #9 │ │ │ │ │ str r5, [sp, #4] │ │ │ │ │ + mov.w r4, #1 │ │ │ │ │ + add r3, r5 │ │ │ │ │ + ldr r5, [sp, #8] │ │ │ │ │ mov sl, r3 │ │ │ │ │ mov r3, r9 │ │ │ │ │ - ldr r5, [sp, #8] │ │ │ │ │ mov r9, r6 │ │ │ │ │ - add.w fp, fp, #9 │ │ │ │ │ - movs r4, #1 │ │ │ │ │ mov r6, r3 │ │ │ │ │ - b.n 226 │ │ │ │ │ + b.n 260 │ │ │ │ │ ldr r1, [sp, #0] │ │ │ │ │ mul.w r0, r0, r9 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ cmp r4, r8 │ │ │ │ │ mov r0, r1 │ │ │ │ │ - beq.n 250 │ │ │ │ │ + beq.n 28c │ │ │ │ │ vldmia r6!, {d6} │ │ │ │ │ mul.w r2, r0, r7 │ │ │ │ │ - vldmdb sl!, {d7} │ │ │ │ │ - adds r4, #1 │ │ │ │ │ cmp r0, fp │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + vldmdb sl!, {d7} │ │ │ │ │ add.w r2, r5, r2, lsl #3 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ - ble.n 216 │ │ │ │ │ + ble.n 250 │ │ │ │ │ ldr r2, [sp, #0] │ │ │ │ │ mov r1, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_safe_mulmod │ │ │ │ │ cmp r4, r8 │ │ │ │ │ - bne.n 226 │ │ │ │ │ + bne.n 260 │ │ │ │ │ ldr r5, [sp, #4] │ │ │ │ │ mov r0, r5 │ │ │ │ │ add sp, #28 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_ifree │ │ │ │ │ ldr r2, [sp, #4] │ │ │ │ │ rsb r9, r6, #92672 @ 0x16a00 │ │ │ │ │ add.w r9, r9, #9 │ │ │ │ │ cmp r2, #3 │ │ │ │ │ - ble.n 354 │ │ │ │ │ + ble.n 3a6 │ │ │ │ │ ldr r2, [sp, #12] │ │ │ │ │ add.w fp, r5, #8 │ │ │ │ │ - strd r3, r5, [sp, #12] │ │ │ │ │ mov r0, r6 │ │ │ │ │ - add r2, r5 │ │ │ │ │ mov.w r8, #1 │ │ │ │ │ + strd r3, r5, [sp, #12] │ │ │ │ │ + add r2, r5 │ │ │ │ │ mov r5, fp │ │ │ │ │ - mov sl, r2 │ │ │ │ │ ldr.w fp, [sp, #8] │ │ │ │ │ - b.n 298 │ │ │ │ │ + mov sl, r2 │ │ │ │ │ + b.n 2e6 │ │ │ │ │ ldr r1, [sp, #0] │ │ │ │ │ mul.w r0, r6, r0 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ cmp r8, r4 │ │ │ │ │ mov r0, r1 │ │ │ │ │ - bge.n 2c4 │ │ │ │ │ + bge.n 312 │ │ │ │ │ vldmia r5!, {d6} │ │ │ │ │ mul.w r2, r0, r7 │ │ │ │ │ - vldmdb sl!, {d7} │ │ │ │ │ - add.w r8, r8, #1 │ │ │ │ │ cmp r0, r9 │ │ │ │ │ + add.w r8, r8, #1 │ │ │ │ │ + vldmdb sl!, {d7} │ │ │ │ │ add.w r2, fp, r2, lsl #3 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ - ble.n 288 │ │ │ │ │ + ble.n 2d6 │ │ │ │ │ ldr r2, [sp, #0] │ │ │ │ │ mov r1, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_safe_mulmod │ │ │ │ │ cmp r8, r4 │ │ │ │ │ - blt.n 298 │ │ │ │ │ + blt.n 2e6 │ │ │ │ │ ldrd r3, r5, [sp, #12] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + cmp r0, r9 │ │ │ │ │ + ldr r2, [sp, #8] │ │ │ │ │ ldrd sl, fp, [r3] │ │ │ │ │ mul.w r3, r0, r7 │ │ │ │ │ - ldr r2, [sp, #8] │ │ │ │ │ - cmp r0, r9 │ │ │ │ │ add.w r3, r2, r3, lsl #3 │ │ │ │ │ strd sl, fp, [r3] │ │ │ │ │ - bgt.n 34a │ │ │ │ │ + bgt.n 39c │ │ │ │ │ ldr r1, [sp, #0] │ │ │ │ │ mul.w r0, r6, r0 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ mov r0, r1 │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ cmp r3, r4 │ │ │ │ │ - ble.n 252 │ │ │ │ │ - sub.w r8, r3, r4 │ │ │ │ │ + ble.n 28e │ │ │ │ │ add.w sl, r5, r4, lsl #3 │ │ │ │ │ - add.w r8, r8, #1 │ │ │ │ │ + sub.w r8, r3, r4 │ │ │ │ │ str r5, [sp, #4] │ │ │ │ │ + add.w r8, r8, #1 │ │ │ │ │ ldr.w fp, [sp, #8] │ │ │ │ │ add.w r8, r5, r8, lsl #3 │ │ │ │ │ mov r5, r3 │ │ │ │ │ mov r3, sl │ │ │ │ │ mov sl, r6 │ │ │ │ │ mov r6, r3 │ │ │ │ │ - b.n 322 │ │ │ │ │ + b.n 372 │ │ │ │ │ ldr r1, [sp, #0] │ │ │ │ │ mul.w r0, r0, sl │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ mov r0, r1 │ │ │ │ │ cmp r5, r4 │ │ │ │ │ - beq.n 250 │ │ │ │ │ + beq.n 28c │ │ │ │ │ vldmia r6!, {d6} │ │ │ │ │ mul.w r2, r0, r7 │ │ │ │ │ - vldmdb r8!, {d7} │ │ │ │ │ - adds r4, #1 │ │ │ │ │ cmp r0, r9 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + vldmdb r8!, {d7} │ │ │ │ │ add.w r2, fp, r2, lsl #3 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ - ble.n 312 │ │ │ │ │ + ble.n 362 │ │ │ │ │ ldr r2, [sp, #0] │ │ │ │ │ mov r1, sl │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_safe_mulmod │ │ │ │ │ - b.n 31e │ │ │ │ │ + b.n 36e │ │ │ │ │ ldr r2, [sp, #0] │ │ │ │ │ mov r1, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_safe_mulmod │ │ │ │ │ - b.n 2ec │ │ │ │ │ + b.n 33c │ │ │ │ │ mov r0, r6 │ │ │ │ │ - movs r4, #2 │ │ │ │ │ - b.n 2ca │ │ │ │ │ + mov.w r4, #2 │ │ │ │ │ + b.n 31a │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -0000035c : │ │ │ │ │ +000003b0 : │ │ │ │ │ awake(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ + ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r1 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8} │ │ │ │ │ sub sp, #60 @ 0x3c │ │ │ │ │ - ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ ldr r0, [r4, #68] @ 0x44 │ │ │ │ │ mov r1, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ ldr r0, [r4, #100] @ 0x64 │ │ │ │ │ mov r1, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ - cbnz r5, 39c │ │ │ │ │ - ldr r1, [pc, #356] @ (4e8 ) │ │ │ │ │ + cbnz r5, 412 │ │ │ │ │ + ldr r1, [pc, #384] @ (568 ) │ │ │ │ │ mov fp, r5 │ │ │ │ │ ldr r0, [r4, #72] @ 0x48 │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_rader_tl_delete │ │ │ │ │ str.w fp, [r4, #72] @ 0x48 │ │ │ │ │ add sp, #60 @ 0x3c │ │ │ │ │ vpop {d8} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ ldr r0, [r4, #76] @ 0x4c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_find_generator │ │ │ │ │ ldr r2, [r4, #76] @ 0x4c │ │ │ │ │ str r0, [r4, #84] @ 0x54 │ │ │ │ │ - subs r1, r2, #2 │ │ │ │ │ + sub.w r1, r2, #2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_power_mod │ │ │ │ │ + ldr.w r9, [r4, #76] @ 0x4c │ │ │ │ │ + mov r6, r0 │ │ │ │ │ + mov r2, r0 │ │ │ │ │ ldr r3, [r4, #100] @ 0x64 │ │ │ │ │ + str r6, [r4, #88] @ 0x58 │ │ │ │ │ + mov r0, r9 │ │ │ │ │ str r3, [sp, #16] │ │ │ │ │ - mov r2, r0 │ │ │ │ │ - ldrd r9, r3, [r4, #76] @ 0x4c │ │ │ │ │ + ldr r3, [r4, #80] @ 0x50 │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ - str r0, [r4, #88] @ 0x58 │ │ │ │ │ - mov r6, r0 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #20] │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ mov r1, r3 │ │ │ │ │ - ldr r3, [pc, #296] @ (4ec ) │ │ │ │ │ - mov r0, r9 │ │ │ │ │ + ldr r3, [pc, #300] @ (56c ) │ │ │ │ │ + str r1, [sp, #20] │ │ │ │ │ add r3, pc │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_rader_tl_find │ │ │ │ │ mov fp, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.n 38e │ │ │ │ │ + bne.n 3f2 │ │ │ │ │ ldr r7, [sp, #12] │ │ │ │ │ - lsls r3, r7, #3 │ │ │ │ │ - str r3, [sp, #36] @ 0x24 │ │ │ │ │ + mov.w r3, r7, lsl #3 │ │ │ │ │ mov r0, r3 │ │ │ │ │ + str r3, [sp, #36] @ 0x24 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ vmov s15, r7 │ │ │ │ │ mov fp, r0 │ │ │ │ │ mov r1, r9 │ │ │ │ │ mov r0, r5 │ │ │ │ │ vcvt.f64.s32 d8, s15 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktriggen │ │ │ │ │ add.w r2, r9, #4294967295 @ 0xffffffff │ │ │ │ │ mov r8, r0 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ str r2, [sp, #24] │ │ │ │ │ - ble.n 4d6 │ │ │ │ │ + ble.n 556 │ │ │ │ │ rsb r3, r6, #92672 @ 0x16a00 │ │ │ │ │ - strd fp, r4, [sp, #28] │ │ │ │ │ - adds r3, #9 │ │ │ │ │ - mov sl, fp │ │ │ │ │ add r1, sp, #40 @ 0x28 │ │ │ │ │ - movs r7, #0 │ │ │ │ │ - movs r5, #1 │ │ │ │ │ + add.w r3, r3, #9 │ │ │ │ │ + mov sl, fp │ │ │ │ │ + mov.w r7, #0 │ │ │ │ │ + mov.w r5, #1 │ │ │ │ │ + str r1, [sp, #8] │ │ │ │ │ + strd fp, r4, [sp, #28] │ │ │ │ │ mov r4, r3 │ │ │ │ │ mov fp, r2 │ │ │ │ │ - str r1, [sp, #8] │ │ │ │ │ - b.n 428 │ │ │ │ │ + b.n 4ac │ │ │ │ │ mul.w r0, r5, r6 │ │ │ │ │ mov r1, r9 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ cmp r7, fp │ │ │ │ │ mov r5, r1 │ │ │ │ │ - beq.n 45e │ │ │ │ │ + beq.n 4e4 │ │ │ │ │ ldr.w r3, [r8, #4] │ │ │ │ │ mov r1, r5 │ │ │ │ │ - ldr r2, [sp, #8] │ │ │ │ │ mov r0, r8 │ │ │ │ │ + add.w r7, r7, #1 │ │ │ │ │ + ldr r2, [sp, #8] │ │ │ │ │ blx r3 │ │ │ │ │ - vldr d6, [sp, #48] @ 0x30 │ │ │ │ │ vldr d7, [sp, #40] @ 0x28 │ │ │ │ │ - adds r7, #1 │ │ │ │ │ cmp r5, r4 │ │ │ │ │ + vldr d6, [sp, #48] @ 0x30 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vdiv.f64 d6, d7, d8 │ │ │ │ │ vstmia sl!, {d6} │ │ │ │ │ - ble.n 418 │ │ │ │ │ + ble.n 49c │ │ │ │ │ mov r0, r5 │ │ │ │ │ mov r2, r9 │ │ │ │ │ mov r1, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_safe_mulmod │ │ │ │ │ cmp r7, fp │ │ │ │ │ mov r5, r0 │ │ │ │ │ - bne.n 428 │ │ │ │ │ + bne.n 4ac │ │ │ │ │ mov r0, r8 │ │ │ │ │ ldrd fp, r4, [sp, #28] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_triggen_destroy │ │ │ │ │ - ldr r2, [sp, #24] │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ + ldr r2, [sp, #24] │ │ │ │ │ cmp r3, r2 │ │ │ │ │ it gt │ │ │ │ │ movgt r0, r2 │ │ │ │ │ - ble.n 488 │ │ │ │ │ - subs r2, r3, r0 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ + ble.n 514 │ │ │ │ │ + sub.w r2, r3, r0 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ cmp r3, r0 │ │ │ │ │ it le │ │ │ │ │ movle r2, #8 │ │ │ │ │ add.w r0, fp, r0, lsl #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memset │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ cmp r9, r3 │ │ │ │ │ - bgt.n 4ac │ │ │ │ │ + bgt.n 538 │ │ │ │ │ ldr r3, [sp, #24] │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - ble.n 4ac │ │ │ │ │ + ble.n 538 │ │ │ │ │ ldr r2, [sp, #36] @ 0x24 │ │ │ │ │ add.w r3, fp, r3, lsl #3 │ │ │ │ │ add.w r5, fp, #8 │ │ │ │ │ add r2, fp │ │ │ │ │ ldrd r0, r1, [r3, #-8]! │ │ │ │ │ - strd r0, r1, [r2, #-8]! │ │ │ │ │ cmp r5, r3 │ │ │ │ │ - bne.n 4a0 │ │ │ │ │ + strd r0, r1, [r2, #-8]! │ │ │ │ │ + bne.n 52c │ │ │ │ │ ldr r0, [sp, #16] │ │ │ │ │ mov r2, fp │ │ │ │ │ mov r1, fp │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ blx r3 │ │ │ │ │ - ldr r3, [pc, #56] @ (4f0 ) │ │ │ │ │ - ldr r1, [sp, #20] │ │ │ │ │ + ldr r3, [pc, #44] @ (570 ) │ │ │ │ │ mov r2, r6 │ │ │ │ │ - add r3, pc │ │ │ │ │ mov r0, r9 │ │ │ │ │ + ldr r1, [sp, #20] │ │ │ │ │ + add r3, pc │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, fp │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_rader_tl_insert │ │ │ │ │ - str.w fp, [r4, #72] @ 0x48 │ │ │ │ │ - add sp, #60 @ 0x3c │ │ │ │ │ - vpop {d8} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + b.n 3f2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_triggen_destroy │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ it gt │ │ │ │ │ movgt r0, #0 │ │ │ │ │ - bgt.n 474 │ │ │ │ │ - b.n 4ac │ │ │ │ │ + bgt.n 4fa │ │ │ │ │ + b.n 538 │ │ │ │ │ nop │ │ │ │ │ - .word 0x0000015c │ │ │ │ │ + .word 0x00000178 │ │ │ │ │ R_ARM_REL32 .bss │ │ │ │ │ - .word 0x00000122 │ │ │ │ │ + .word 0x00000126 │ │ │ │ │ R_ARM_REL32 .bss │ │ │ │ │ - .word 0x00000030 │ │ │ │ │ + .word 0x00000022 │ │ │ │ │ R_ARM_REL32 .bss │ │ │ │ │ │ │ │ │ │ -000004f4 : │ │ │ │ │ +00000574 : │ │ │ │ │ mkplan(): │ │ │ │ │ ldr r3, [r1, #4] │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r7, r2 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ ldr r2, [r3, #0] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #28 │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - beq.n 50c │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + beq.n 5b0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #28 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ ldr r2, [r1, #8] │ │ │ │ │ ldr r2, [r2, #0] │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - bne.n 504 │ │ │ │ │ + bne.n 594 │ │ │ │ │ ldr r2, [r1, #20] │ │ │ │ │ cmp r2, #8 │ │ │ │ │ - bne.n 504 │ │ │ │ │ + bne.n 594 │ │ │ │ │ mov sl, r0 │ │ │ │ │ ldr r0, [r3, #4] │ │ │ │ │ str r1, [sp, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_is_prime │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 504 │ │ │ │ │ + beq.n 594 │ │ │ │ │ ldr r1, [sp, #8] │ │ │ │ │ ldr r3, [r1, #4] │ │ │ │ │ ldr.w fp, [r3, #4] │ │ │ │ │ cmp.w fp, #2 │ │ │ │ │ - ble.n 504 │ │ │ │ │ + ble.n 594 │ │ │ │ │ ldr.w r2, [r7, #164] @ 0xa4 │ │ │ │ │ lsls r2, r2, #28 │ │ │ │ │ - bpl.n 558 │ │ │ │ │ + bpl.n 5fc │ │ │ │ │ cmp.w fp, #32 │ │ │ │ │ - ble.n 504 │ │ │ │ │ + ble.n 594 │ │ │ │ │ add.w r0, fp, #4294967295 @ 0xffffffff │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_factors_into_small_primes │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 504 │ │ │ │ │ + beq.n 594 │ │ │ │ │ ldr r1, [sp, #8] │ │ │ │ │ ldr r3, [r1, #4] │ │ │ │ │ ldr.w fp, [r3, #4] │ │ │ │ │ - ldr r2, [r3, #8] │ │ │ │ │ - ldr r3, [r3, #12] │ │ │ │ │ - str r3, [sp, #12] │ │ │ │ │ - ldr.w r3, [sl, #8] │ │ │ │ │ - str r2, [sp, #16] │ │ │ │ │ + ldrd r2, r3, [r3, #8] │ │ │ │ │ + strd r3, r2, [sp, #12] │ │ │ │ │ add.w r2, fp, #4294967295 @ 0xffffffff │ │ │ │ │ + ldr.w r3, [sl, #8] │ │ │ │ │ mov r4, r2 │ │ │ │ │ str r2, [sp, #8] │ │ │ │ │ - cbz r3, 58a │ │ │ │ │ - ldr r5, [pc, #436] @ (724 ) │ │ │ │ │ - lsls r4, r2, #1 │ │ │ │ │ - subs r4, #1 │ │ │ │ │ + cbz r3, 634 │ │ │ │ │ + ldr r5, [pc, #488] @ (7fc ) │ │ │ │ │ + mov.w r4, r2, lsl #1 │ │ │ │ │ + add.w r4, r4, #4294967295 @ 0xffffffff │ │ │ │ │ add r5, pc │ │ │ │ │ - b.n 57a │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + b.n 624 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ mov r1, r5 │ │ │ │ │ mov r0, r4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_factors_into │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 578 │ │ │ │ │ + beq.n 620 │ │ │ │ │ lsls r3, r4, #31 │ │ │ │ │ - bmi.n 578 │ │ │ │ │ - lsls r0, r4, #3 │ │ │ │ │ - movs r5, #0 │ │ │ │ │ + bmi.n 620 │ │ │ │ │ + mov.w r0, r4, lsl #3 │ │ │ │ │ + mov.w r5, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ - movs r2, #1 │ │ │ │ │ + mov.w r2, #1 │ │ │ │ │ mov r6, r0 │ │ │ │ │ mov r1, r2 │ │ │ │ │ mov r0, r4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ - movs r2, #0 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ mov r8, r0 │ │ │ │ │ mov r1, r2 │ │ │ │ │ - movs r0, #1 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ - mov r3, r6 │ │ │ │ │ mov r1, r0 │ │ │ │ │ + mov r3, r6 │ │ │ │ │ + str r5, [sp, #0] │ │ │ │ │ mov r2, r6 │ │ │ │ │ mov r0, r8 │ │ │ │ │ - str r5, [sp, #0] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_1_d │ │ │ │ │ - mov r3, r5 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - movs r2, #8 │ │ │ │ │ - mov r0, r7 │ │ │ │ │ + mov r3, r5 │ │ │ │ │ str r5, [sp, #0] │ │ │ │ │ + mov.w r2, #8 │ │ │ │ │ + mov r0, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_f_d │ │ │ │ │ mov r8, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 706 │ │ │ │ │ - movs r2, #1 │ │ │ │ │ + beq.w 7da │ │ │ │ │ + mov.w r2, #1 │ │ │ │ │ mov r0, r4 │ │ │ │ │ mov r1, r2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ - mov r2, r5 │ │ │ │ │ mov r9, r0 │ │ │ │ │ + mov r2, r5 │ │ │ │ │ mov r1, r5 │ │ │ │ │ - movs r0, #1 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ - mov r3, r6 │ │ │ │ │ mov r1, r0 │ │ │ │ │ + mov r3, r6 │ │ │ │ │ + str r5, [sp, #0] │ │ │ │ │ mov r2, r6 │ │ │ │ │ mov r0, r9 │ │ │ │ │ - str r5, [sp, #0] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_1_d │ │ │ │ │ - mov r3, r5 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - movs r2, #8 │ │ │ │ │ - mov r0, r7 │ │ │ │ │ + mov r3, r5 │ │ │ │ │ str r5, [sp, #0] │ │ │ │ │ + mov.w r2, #8 │ │ │ │ │ + mov r0, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_f_d │ │ │ │ │ mov r9, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 706 │ │ │ │ │ - movs r2, #1 │ │ │ │ │ + beq.w 7da │ │ │ │ │ + mov.w r2, #1 │ │ │ │ │ mov r0, r4 │ │ │ │ │ mov r1, r2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r1, r5 │ │ │ │ │ str r0, [sp, #20] │ │ │ │ │ - movs r0, #1 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ - mov r3, r6 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - mov r2, r6 │ │ │ │ │ ldr r0, [sp, #20] │ │ │ │ │ + mov r3, r6 │ │ │ │ │ + mov r2, r6 │ │ │ │ │ str r5, [sp, #0] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_1_d │ │ │ │ │ - movs r3, #2 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - movs r2, #8 │ │ │ │ │ - mov r0, r7 │ │ │ │ │ + mov.w r3, #2 │ │ │ │ │ str r5, [sp, #0] │ │ │ │ │ + mov r0, r7 │ │ │ │ │ + mov.w r2, #8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_f_d │ │ │ │ │ mov r7, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 70a │ │ │ │ │ + beq.n 7de │ │ │ │ │ mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ - ldr r2, [pc, #224] @ (728 ) │ │ │ │ │ - ldr r1, [pc, #228] @ (72c ) │ │ │ │ │ - movs r0, #104 @ 0x68 │ │ │ │ │ + ldr r2, [pc, #244] @ (800 ) │ │ │ │ │ + mov.w r0, #104 @ 0x68 │ │ │ │ │ + ldr r1, [pc, #240] @ (804 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_rdft │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ - str r3, [r0, #92] @ 0x5c │ │ │ │ │ mov r6, r0 │ │ │ │ │ - ldr r3, [sp, #12] │ │ │ │ │ add.w r2, r0, #8 │ │ │ │ │ - strd r5, fp, [r0, #72] @ 0x48 │ │ │ │ │ add.w r1, r9, #8 │ │ │ │ │ - strd r8, r9, [r0, #64] @ 0x40 │ │ │ │ │ - movs r5, #6 │ │ │ │ │ - str r7, [r0, #100] @ 0x64 │ │ │ │ │ - str r4, [r0, #80] @ 0x50 │ │ │ │ │ - str r3, [r0, #96] @ 0x60 │ │ │ │ │ add.w r0, r8, #8 │ │ │ │ │ + strd r8, r9, [r6, #64] @ 0x40 │ │ │ │ │ + strd r5, fp, [r6, #72] @ 0x48 │ │ │ │ │ + str r4, [r6, #80] @ 0x50 │ │ │ │ │ + str r3, [r6, #92] @ 0x5c │ │ │ │ │ + ldr r3, [sp, #12] │ │ │ │ │ + str r3, [r6, #96] @ 0x60 │ │ │ │ │ + str r7, [r6, #100] @ 0x64 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_add │ │ │ │ │ add.w r3, r4, r4, lsr #31 │ │ │ │ │ ldr.w r1, [sl, #8] │ │ │ │ │ - asrs r3, r3, #1 │ │ │ │ │ ldr r2, [sp, #8] │ │ │ │ │ - subs r0, r3, #1 │ │ │ │ │ - vldr d6, [r6, #32] │ │ │ │ │ - lsls r3, r3, #1 │ │ │ │ │ + mov.w r3, r3, asr #1 │ │ │ │ │ + add.w r0, r3, #4294967295 @ 0xffffffff │ │ │ │ │ + mov.w r3, r3, lsl #1 │ │ │ │ │ vldr d5, [r6, #8] │ │ │ │ │ - vldr d4, [r6, #16] │ │ │ │ │ - mla r4, r5, r0, r4 │ │ │ │ │ + add.w r5, r0, r0, lsl #1 │ │ │ │ │ + vldr d6, [r6, #32] │ │ │ │ │ + add.w r0, r1, r0, lsl #2 │ │ │ │ │ mul.w r2, r1, r2 │ │ │ │ │ + add.w r4, r4, r5, lsl #1 │ │ │ │ │ + add.w r0, r0, #2 │ │ │ │ │ + vldr d4, [r6, #16] │ │ │ │ │ add r4, fp │ │ │ │ │ add r4, r2 │ │ │ │ │ - vmov s14, r4 │ │ │ │ │ add r2, r3 │ │ │ │ │ - subs r3, #2 │ │ │ │ │ + sub.w r3, r3, #2 │ │ │ │ │ + vmov s14, r4 │ │ │ │ │ vcvt.f64.s32 d7, s14 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vmov s12, r2 │ │ │ │ │ - add.w r2, r1, r0, lsl #2 │ │ │ │ │ + sub.w r2, fp, #2 │ │ │ │ │ + add r3, r2 │ │ │ │ │ + sub.w r3, r3, r1 │ │ │ │ │ vcvt.f64.s32 d6, s12 │ │ │ │ │ - adds r2, #2 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vmov s11, r2 │ │ │ │ │ - sub.w r2, fp, #2 │ │ │ │ │ + vmov s11, r0 │ │ │ │ │ + sub.w r0, r2, r1 │ │ │ │ │ vcvt.f64.s32 d5, s11 │ │ │ │ │ - subs r0, r2, r1 │ │ │ │ │ - add r3, r2 │ │ │ │ │ - subs r3, r3, r1 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ vmov s10, r0 │ │ │ │ │ mov r0, r6 │ │ │ │ │ - vcvt.f64.s32 d5, s10 │ │ │ │ │ vstr d4, [r6, #16] │ │ │ │ │ + vcvt.f64.s32 d5, s10 │ │ │ │ │ vadd.f64 d7, d5, d7 │ │ │ │ │ vstr d7, [r6, #32] │ │ │ │ │ vmov s14, r3 │ │ │ │ │ vcvt.f64.s32 d7, s14 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vstr d7, [r6, #8] │ │ │ │ │ - add sp, #28 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + b.n 598 │ │ │ │ │ mov.w r9, #0 │ │ │ │ │ mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree0 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ mov r0, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ mov r0, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ - b.n 504 │ │ │ │ │ - .word 0x000001ac │ │ │ │ │ + b.n 594 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x000001dc │ │ │ │ │ R_ARM_REL32 .rodata │ │ │ │ │ - .word 0x000000da │ │ │ │ │ + .word 0x000000ea │ │ │ │ │ R_ARM_REL32 apply │ │ │ │ │ - .word 0x000000dc │ │ │ │ │ + .word 0x000000ec │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ │ │ │ │ │ -00000730 : │ │ │ │ │ +00000808 : │ │ │ │ │ fftw_dht_rader_register(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - ldr r5, [pc, #44] @ (764 ) │ │ │ │ │ - movs r0, #12 │ │ │ │ │ + mov.w r0, #12 │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ + ldr r5, [pc, #56] @ (850 ) │ │ │ │ │ add r5, pc │ │ │ │ │ mov r1, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ - movs r3, #0 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - str r3, [r0, #8] │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ + str r3, [r1, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ mov r1, r5 │ │ │ │ │ - movs r0, #12 │ │ │ │ │ + mov.w r0, #12 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ - movs r3, #1 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - str r3, [r0, #8] │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + ldrd r5, lr, [sp, #8] │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, lr} │ │ │ │ │ + str r3, [r1, #8] │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solver_register │ │ │ │ │ - .word 0x00000028 │ │ │ │ │ + .word 0x00000034 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ ├── direct-r2c.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 3184 (bytes into file) │ │ │ │ │ + Start of section headers: 3364 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 15 │ │ │ │ │ Section header string table index: 14 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ -There are 15 section headers, starting at offset 0xc70: │ │ │ │ │ +There are 15 section headers, starting at offset 0xd24: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000544 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000ac0 000100 08 I 12 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000578 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000578 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000578 000047 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 0005bf 000010 00 WA 0 0 4 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000bc0 000020 08 I 12 6 4 │ │ │ │ │ - [ 8] .data.rel.ro.local PROGBITS 00000000 0005cf 00000c 00 WA 0 0 4 │ │ │ │ │ - [ 9] .rel.data.rel.ro.local REL 00000000 000be0 000008 08 I 12 8 4 │ │ │ │ │ - [10] .note.GNU-stack PROGBITS 00000000 0005db 000000 00 0 0 1 │ │ │ │ │ - [11] .ARM.attributes ARM_ATTRIBUTES 00000000 0005db 000033 00 0 0 1 │ │ │ │ │ - [12] .symtab SYMTAB 00000000 000610 000300 10 13 32 4 │ │ │ │ │ - [13] .strtab STRTAB 00000000 000910 0001ae 00 0 0 1 │ │ │ │ │ - [14] .shstrtab STRTAB 00000000 000be8 000087 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0005f8 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000b74 000100 08 I 12 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 00062c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 00062c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 00062c 000047 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 000673 000010 00 WA 0 0 4 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000c74 000020 08 I 12 6 4 │ │ │ │ │ + [ 8] .data.rel.ro.local PROGBITS 00000000 000683 00000c 00 WA 0 0 4 │ │ │ │ │ + [ 9] .rel.data.rel.ro.local REL 00000000 000c94 000008 08 I 12 8 4 │ │ │ │ │ + [10] .note.GNU-stack PROGBITS 00000000 00068f 000000 00 0 0 1 │ │ │ │ │ + [11] .ARM.attributes ARM_ATTRIBUTES 00000000 00068f 000033 00 0 0 1 │ │ │ │ │ + [12] .symtab SYMTAB 00000000 0006c4 000300 10 13 32 4 │ │ │ │ │ + [13] .strtab STRTAB 00000000 0009c4 0001ae 00 0 0 1 │ │ │ │ │ + [14] .shstrtab STRTAB 00000000 000c9c 000087 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,36 +1,36 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 48 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 70 FUNC LOCAL DEFAULT 1 apply_r2hc │ │ │ │ │ + 1: 00000001 68 FUNC LOCAL DEFAULT 1 apply_r2hc │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000049 72 FUNC LOCAL DEFAULT 1 apply_hc2r │ │ │ │ │ - 4: 00000091 2 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 5: 00000095 174 FUNC LOCAL DEFAULT 1 dobatch_hc2r │ │ │ │ │ - 6: 00000145 182 FUNC LOCAL DEFAULT 1 dobatch_r2hc │ │ │ │ │ - 7: 000001fd 166 FUNC LOCAL DEFAULT 1 iterate │ │ │ │ │ - 8: 000002a5 12 FUNC LOCAL DEFAULT 1 apply_buf_hc2r │ │ │ │ │ - 9: 000002ac 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 10: 000002b0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 11: 000002b1 12 FUNC LOCAL DEFAULT 1 apply_buf_r2hc │ │ │ │ │ - 12: 000002b8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 13: 000002bc 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 14: 000002bd 488 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 15: 0000048c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000045 82 FUNC LOCAL DEFAULT 1 apply_hc2r │ │ │ │ │ + 4: 00000099 2 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 5: 0000009d 208 FUNC LOCAL DEFAULT 1 dobatch_hc2r │ │ │ │ │ + 6: 0000016d 194 FUNC LOCAL DEFAULT 1 dobatch_r2hc │ │ │ │ │ + 7: 00000231 202 FUNC LOCAL DEFAULT 1 iterate │ │ │ │ │ + 8: 000002fd 12 FUNC LOCAL DEFAULT 1 apply_buf_hc2r │ │ │ │ │ + 9: 00000304 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 10: 00000308 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 11: 00000309 12 FUNC LOCAL DEFAULT 1 apply_buf_r2hc │ │ │ │ │ + 12: 00000310 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 13: 00000314 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 14: 00000315 528 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 15: 0000050c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 16: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 17: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ 18: 00000028 0 NOTYPE LOCAL DEFAULT 5 .LC1 │ │ │ │ │ - 19: 000004a4 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 20: 000004a5 96 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ - 21: 000004fc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 22: 00000504 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 23: 00000520 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 24: 00000524 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 25: 00000540 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 19: 00000524 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 20: 00000525 116 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 21: 00000590 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 22: 00000598 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 23: 000005c4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 24: 000005c8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 25: 000005f4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 26: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 27: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 28: 00000000 16 OBJECT LOCAL DEFAULT 6 padt.0 │ │ │ │ │ 29: 00000000 0 SECTION LOCAL DEFAULT 8 .data.rel.ro.local │ │ │ │ │ 30: 00000000 0 NOTYPE LOCAL DEFAULT 8 $d │ │ │ │ │ 31: 00000000 12 OBJECT LOCAL DEFAULT 8 sadt.1 │ │ │ │ │ 32: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_cpy2d_co │ │ │ │ │ @@ -40,12 +40,12 @@ │ │ │ │ │ 36: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_tornk1 │ │ │ │ │ 37: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_rdft │ │ │ │ │ 38: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_zero │ │ │ │ │ 39: 00000000 0 NOTYPE GLOBAL DEFAULT UND __aeabi_idiv │ │ │ │ │ 40: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_madd2 │ │ │ │ │ 41: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_inplace_strides2 │ │ │ │ │ 42: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_kind_str │ │ │ │ │ - 43: 00000505 32 FUNC GLOBAL DEFAULT 1 fftw_mksolver_rdft_r2c_direct │ │ │ │ │ + 43: 00000599 48 FUNC GLOBAL DEFAULT 1 fftw_mksolver_rdft_r2c_direct │ │ │ │ │ 44: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ - 45: 00000525 32 FUNC GLOBAL DEFAULT 1 fftw_mksolver_rdft_r2c_directbuf │ │ │ │ │ + 45: 000005c9 48 FUNC GLOBAL DEFAULT 1 fftw_mksolver_rdft_r2c_directbuf │ │ │ │ │ 46: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_solve │ │ │ │ │ 47: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_null_awake │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,46 +1,46 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xac0 contains 32 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xb74 contains 32 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000000fc 0000200a R_ARM_THM_CALL 00000000 fftw_cpy2d_co │ │ │ │ │ -00000118 0000210a R_ARM_THM_CALL 00000000 fftw_cpy2d_ci │ │ │ │ │ -0000016c 0000210a R_ARM_THM_CALL 00000000 fftw_cpy2d_ci │ │ │ │ │ -000001f0 0000200a R_ARM_THM_CALL 00000000 fftw_cpy2d_co │ │ │ │ │ -0000028a 0000220a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -00000296 0000230a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -000002ac 00000503 R_ARM_REL32 00000095 dobatch_hc2r │ │ │ │ │ -000002b8 00000603 R_ARM_REL32 00000145 dobatch_r2hc │ │ │ │ │ -00000302 0000240a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ -00000334 0000250a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ -0000039c 0000240a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ -000003a4 0000260a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ -000003b4 0000270a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -000003bc 0000280a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ -00000416 0000240a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ -00000430 0000290a R_ARM_THM_CALL 00000000 fftw_tensor_inplace_strides2 │ │ │ │ │ -00000458 0000250a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ -0000047e 0000290a R_ARM_THM_CALL 00000000 fftw_tensor_inplace_strides2 │ │ │ │ │ -0000048c 00000b03 R_ARM_REL32 000002b1 apply_buf_r2hc │ │ │ │ │ -00000490 00001a03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000494 00000803 R_ARM_REL32 000002a5 apply_buf_hc2r │ │ │ │ │ -00000498 00001a03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000049c 00000103 R_ARM_REL32 00000001 apply_r2hc │ │ │ │ │ -000004a0 00000303 R_ARM_REL32 00000049 apply_hc2r │ │ │ │ │ -000004ba 00002a0a R_ARM_THM_CALL 00000000 fftw_rdft_kind_str │ │ │ │ │ -000004dc 00002a0a R_ARM_THM_CALL 00000000 fftw_rdft_kind_str │ │ │ │ │ -000004fc 00001103 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -00000500 00001203 R_ARM_REL32 00000028 .LC1 │ │ │ │ │ -00000510 00002c0a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -00000520 00001d03 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -00000530 00002c0a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -00000540 00001d03 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +00000114 0000200a R_ARM_THM_CALL 00000000 fftw_cpy2d_co │ │ │ │ │ +00000140 0000210a R_ARM_THM_CALL 00000000 fftw_cpy2d_ci │ │ │ │ │ +000001a2 0000210a R_ARM_THM_CALL 00000000 fftw_cpy2d_ci │ │ │ │ │ +00000228 0000200a R_ARM_THM_CALL 00000000 fftw_cpy2d_co │ │ │ │ │ +000002e8 0000220a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +000002f4 0000230a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +00000304 00000503 R_ARM_REL32 0000009d dobatch_hc2r │ │ │ │ │ +00000310 00000603 R_ARM_REL32 0000016d dobatch_r2hc │ │ │ │ │ +00000376 0000240a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ +000003aa 0000250a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ +0000041c 0000240a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ +00000424 0000260a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ +00000434 0000270a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +0000043c 0000280a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ +00000496 0000240a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ +000004b0 0000290a R_ARM_THM_CALL 00000000 fftw_tensor_inplace_strides2 │ │ │ │ │ +000004da 0000250a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ +00000500 0000290a R_ARM_THM_CALL 00000000 fftw_tensor_inplace_strides2 │ │ │ │ │ +0000050c 00000b03 R_ARM_REL32 00000309 apply_buf_r2hc │ │ │ │ │ +00000510 00001a03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000514 00000803 R_ARM_REL32 000002fd apply_buf_hc2r │ │ │ │ │ +00000518 00001a03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +0000051c 00000103 R_ARM_REL32 00000001 apply_r2hc │ │ │ │ │ +00000520 00000303 R_ARM_REL32 00000045 apply_hc2r │ │ │ │ │ +00000544 00002a0a R_ARM_THM_CALL 00000000 fftw_rdft_kind_str │ │ │ │ │ +00000572 00002a0a R_ARM_THM_CALL 00000000 fftw_rdft_kind_str │ │ │ │ │ +00000590 00001103 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +00000594 00001203 R_ARM_REL32 00000028 .LC1 │ │ │ │ │ +000005ac 00002c0a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +000005c4 00001d03 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +000005dc 00002c0a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +000005f4 00001d03 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xbc0 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xc74 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00002e02 R_ARM_ABS32 00000000 fftw_rdft_solve │ │ │ │ │ 00000004 00002f02 R_ARM_ABS32 00000000 fftw_null_awake │ │ │ │ │ -00000008 00001402 R_ARM_ABS32 000004a5 print │ │ │ │ │ -0000000c 00000402 R_ARM_ABS32 00000091 destroy │ │ │ │ │ +00000008 00001402 R_ARM_ABS32 00000525 print │ │ │ │ │ +0000000c 00000402 R_ARM_ABS32 00000099 destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0xbe0 contains 1 entry: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0xc94 contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000e02 R_ARM_ABS32 000002bd mkplan │ │ │ │ │ +00000004 00000e02 R_ARM_ABS32 00000315 mkplan │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,20 +1,19 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ apply_r2hc(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ mov ip, r0 │ │ │ │ │ - mov r0, r1 │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ sub sp, #24 │ │ │ │ │ - ldr.w r4, [ip, #104] @ 0x68 │ │ │ │ │ - ldr.w r3, [ip, #108] @ 0x6c │ │ │ │ │ + ldrd r4, r3, [ip, #104] @ 0x68 │ │ │ │ │ + mov r0, r1 │ │ │ │ │ ldr.w r1, [ip, #96] @ 0x60 │ │ │ │ │ str r4, [sp, #20] │ │ │ │ │ add.w r3, r2, r3, lsl #3 │ │ │ │ │ ldr.w r4, [ip, #100] @ 0x64 │ │ │ │ │ add.w r1, r0, r1, lsl #3 │ │ │ │ │ str r4, [sp, #16] │ │ │ │ │ ldr.w r4, [ip, #92] @ 0x5c │ │ │ │ │ @@ -25,24 +24,23 @@ │ │ │ │ │ str r4, [sp, #4] │ │ │ │ │ ldr.w r4, [ip, #64] @ 0x40 │ │ │ │ │ str r4, [sp, #0] │ │ │ │ │ ldr.w r4, [ip, #116] @ 0x74 │ │ │ │ │ blx r4 │ │ │ │ │ add sp, #24 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - nop │ │ │ │ │ │ │ │ │ │ -00000048 : │ │ │ │ │ +00000044 : │ │ │ │ │ apply_hc2r(): │ │ │ │ │ - push {r4, r5, lr} │ │ │ │ │ mov ip, r0 │ │ │ │ │ mov r0, r2 │ │ │ │ │ + str.w r4, [sp, #-12]! │ │ │ │ │ + ldrd r2, r3, [ip, #104] @ 0x68 │ │ │ │ │ + strd r5, lr, [sp, #4] │ │ │ │ │ sub sp, #28 │ │ │ │ │ - ldr.w r2, [ip, #104] @ 0x68 │ │ │ │ │ - ldr.w r3, [ip, #108] @ 0x6c │ │ │ │ │ ldr.w r5, [ip, #96] @ 0x60 │ │ │ │ │ str r2, [sp, #20] │ │ │ │ │ add.w r3, r1, r3, lsl #3 │ │ │ │ │ ldr.w r2, [ip, #100] @ 0x64 │ │ │ │ │ str r2, [sp, #16] │ │ │ │ │ ldr.w r2, [ip, #92] @ 0x5c │ │ │ │ │ str r2, [sp, #12] │ │ │ │ │ @@ -53,341 +51,370 @@ │ │ │ │ │ ldr.w r2, [ip, #64] @ 0x40 │ │ │ │ │ str r2, [sp, #0] │ │ │ │ │ mov r2, r1 │ │ │ │ │ add.w r1, r0, r5, lsl #3 │ │ │ │ │ ldr.w r4, [ip, #116] @ 0x74 │ │ │ │ │ blx r4 │ │ │ │ │ add sp, #28 │ │ │ │ │ - pop {r4, r5, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000090 : │ │ │ │ │ +00000098 : │ │ │ │ │ destroy(): │ │ │ │ │ bx lr │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000094 : │ │ │ │ │ +0000009c : │ │ │ │ │ dobatch_hc2r(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ + str.w r4, [sp, #-28]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - mov r9, r2 │ │ │ │ │ + mov r0, r1 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r3 │ │ │ │ │ - sub sp, #28 │ │ │ │ │ ldr r3, [r4, #68] @ 0x44 │ │ │ │ │ - mov r0, r1 │ │ │ │ │ - ldr r2, [r4, #100] @ 0x64 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, lr, [sp, #20] │ │ │ │ │ + mov r9, r2 │ │ │ │ │ + sub sp, #28 │ │ │ │ │ ldr r7, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r2, [r4, #100] @ 0x64 │ │ │ │ │ eor.w lr, r3, r3, asr #31 │ │ │ │ │ + sub.w lr, lr, r3, asr #31 │ │ │ │ │ ldr r1, [r4, #80] @ 0x50 │ │ │ │ │ eor.w ip, r2, r2, asr #31 │ │ │ │ │ - sub.w lr, lr, r3, asr #31 │ │ │ │ │ sub.w ip, ip, r2, asr #31 │ │ │ │ │ cmp lr, ip │ │ │ │ │ - bge.n 106 │ │ │ │ │ - str r7, [sp, #12] │ │ │ │ │ + bge.n 12c │ │ │ │ │ mov.w ip, #1 │ │ │ │ │ - strd r2, ip, [sp, #16] │ │ │ │ │ + strd r7, r2, [sp, #12] │ │ │ │ │ add.w r1, r5, r1, lsl #3 │ │ │ │ │ + str.w ip, [sp, #20] │ │ │ │ │ ldr r2, [r4, #72] @ 0x48 │ │ │ │ │ strd r3, r2, [sp, #4] │ │ │ │ │ mov r2, r0 │ │ │ │ │ ldr r3, [r4, #76] @ 0x4c │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldr r3, [r4, #108] @ 0x6c │ │ │ │ │ ldr r6, [r4, #116] @ 0x74 │ │ │ │ │ add.w r3, r0, r3, lsl #3 │ │ │ │ │ mov r0, r5 │ │ │ │ │ blx r6 │ │ │ │ │ - movs r3, #1 │ │ │ │ │ - str r3, [sp, #16] │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ mov r1, r9 │ │ │ │ │ mov r0, r5 │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ ldr r2, [r4, #104] @ 0x68 │ │ │ │ │ - strd r3, r2, [sp, #8] │ │ │ │ │ - str r7, [sp, #4] │ │ │ │ │ + strd r7, r3, [sp, #4] │ │ │ │ │ + str r2, [sp, #12] │ │ │ │ │ ldr r3, [r4, #96] @ 0x60 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldr r3, [r4, #80] @ 0x50 │ │ │ │ │ ldr r2, [r4, #88] @ 0x58 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_co │ │ │ │ │ add sp, #28 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} │ │ │ │ │ - str r1, [sp, #0] │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ mov.w r8, #1 │ │ │ │ │ - strd r7, r2, [sp, #4] │ │ │ │ │ + strd r1, r7, [sp] │ │ │ │ │ mov r1, r5 │ │ │ │ │ - strd r8, r8, [sp, #12] │ │ │ │ │ + strd r2, r8, [sp, #8] │ │ │ │ │ + str.w r8, [sp, #16] │ │ │ │ │ ldr r2, [r4, #88] @ 0x58 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_ci │ │ │ │ │ ldr r1, [r4, #80] @ 0x50 │ │ │ │ │ - ldr r3, [r4, #112] @ 0x70 │ │ │ │ │ mov r0, r5 │ │ │ │ │ - strd r8, r8, [sp, #16] │ │ │ │ │ - str r7, [sp, #12] │ │ │ │ │ - add.w r3, r5, r3, lsl #3 │ │ │ │ │ + ldr r3, [r4, #112] @ 0x70 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + str.w r8, [sp, #20] │ │ │ │ │ ldr r2, [r4, #84] @ 0x54 │ │ │ │ │ + add.w r3, r5, r3, lsl #3 │ │ │ │ │ strd r1, r2, [sp, #4] │ │ │ │ │ add.w r1, r5, r1, lsl #3 │ │ │ │ │ ldr r2, [r4, #76] @ 0x4c │ │ │ │ │ str r2, [sp, #0] │ │ │ │ │ mov r2, r5 │ │ │ │ │ ldr r6, [r4, #116] @ 0x74 │ │ │ │ │ blx r6 │ │ │ │ │ - b.n e4 │ │ │ │ │ - nop │ │ │ │ │ + b.n fa │ │ │ │ │ │ │ │ │ │ -00000144 : │ │ │ │ │ +0000016c : │ │ │ │ │ dobatch_r2hc(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - movs r6, #1 │ │ │ │ │ - sub sp, #24 │ │ │ │ │ mov r5, r3 │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + mov.w r6, #1 │ │ │ │ │ mov r0, r1 │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ + mov r1, r3 │ │ │ │ │ mov r7, r2 │ │ │ │ │ - mov r1, r5 │ │ │ │ │ - strd r6, r6, [sp, #12] │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ + sub sp, #24 │ │ │ │ │ ldr.w r8, [sp, #56] @ 0x38 │ │ │ │ │ + strd r6, r6, [sp, #12] │ │ │ │ │ ldr r3, [r4, #100] @ 0x64 │ │ │ │ │ strd r8, r3, [sp, #4] │ │ │ │ │ ldr r3, [r4, #80] @ 0x50 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - ldr r3, [r4, #96] @ 0x60 │ │ │ │ │ ldr r2, [r4, #88] @ 0x58 │ │ │ │ │ + ldr r3, [r4, #96] @ 0x60 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_ci │ │ │ │ │ ldr r0, [r4, #68] @ 0x44 │ │ │ │ │ + ldrd ip, r2, [r4, #76] @ 0x4c │ │ │ │ │ ldr r3, [r4, #104] @ 0x68 │ │ │ │ │ - ldr r2, [r4, #80] @ 0x50 │ │ │ │ │ eor.w sl, r0, r0, asr #31 │ │ │ │ │ ldr.w r9, [r4, #116] @ 0x74 │ │ │ │ │ - eor.w lr, r3, r3, asr #31 │ │ │ │ │ sub.w sl, sl, r0, asr #31 │ │ │ │ │ - sub.w lr, lr, r3, asr #31 │ │ │ │ │ - ldr.w ip, [r4, #76] @ 0x4c │ │ │ │ │ add.w r1, r5, r2, lsl #3 │ │ │ │ │ + eor.w lr, r3, r3, asr #31 │ │ │ │ │ + sub.w lr, lr, r3, asr #31 │ │ │ │ │ cmp sl, lr │ │ │ │ │ - bge.n 1ba │ │ │ │ │ + bge.n 1f8 │ │ │ │ │ ldr r2, [r4, #108] @ 0x6c │ │ │ │ │ - strd r6, r3, [sp, #16] │ │ │ │ │ - str.w r8, [sp, #12] │ │ │ │ │ + strd r8, r6, [sp, #12] │ │ │ │ │ + str r3, [sp, #20] │ │ │ │ │ ldr r3, [r4, #72] @ 0x48 │ │ │ │ │ - strd r0, r3, [sp, #4] │ │ │ │ │ - add.w r3, r7, r2, lsl #3 │ │ │ │ │ + strd ip, r0, [sp] │ │ │ │ │ mov r0, r5 │ │ │ │ │ + str r3, [sp, #8] │ │ │ │ │ + add.w r3, r7, r2, lsl #3 │ │ │ │ │ mov r2, r7 │ │ │ │ │ - str.w ip, [sp] │ │ │ │ │ blx r9 │ │ │ │ │ add sp, #24 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {sl, pc} │ │ │ │ │ ldr r3, [r4, #112] @ 0x70 │ │ │ │ │ - strd r6, r6, [sp, #16] │ │ │ │ │ - str.w r8, [sp, #12] │ │ │ │ │ - add.w r3, r5, r3, lsl #3 │ │ │ │ │ + strd r8, r6, [sp, #12] │ │ │ │ │ + str r6, [sp, #20] │ │ │ │ │ ldr r0, [r4, #84] @ 0x54 │ │ │ │ │ - strd r2, r0, [sp, #4] │ │ │ │ │ + strd ip, r2, [sp] │ │ │ │ │ mov r2, r5 │ │ │ │ │ + add.w r3, r5, r3, lsl #3 │ │ │ │ │ + str r0, [sp, #8] │ │ │ │ │ mov r0, r5 │ │ │ │ │ - str.w ip, [sp] │ │ │ │ │ blx r9 │ │ │ │ │ str r6, [sp, #16] │ │ │ │ │ mov r1, r7 │ │ │ │ │ mov r0, r5 │ │ │ │ │ ldr r3, [r4, #104] @ 0x68 │ │ │ │ │ - strd r6, r3, [sp, #8] │ │ │ │ │ - str.w r8, [sp, #4] │ │ │ │ │ + strd r8, r6, [sp, #4] │ │ │ │ │ + str r3, [sp, #12] │ │ │ │ │ ldr r3, [r4, #68] @ 0x44 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldr r3, [r4, #80] @ 0x50 │ │ │ │ │ ldr r2, [r4, #88] @ 0x58 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_co │ │ │ │ │ - add sp, #24 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ + b.n 1e4 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000001fc : │ │ │ │ │ +00000230 : │ │ │ │ │ iterate(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r6, r1 │ │ │ │ │ + mov r5, r0 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ mov r9, r3 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #28 │ │ │ │ │ + mov fp, r2 │ │ │ │ │ ldrd r3, r1, [r0, #88] @ 0x58 │ │ │ │ │ add r7, sp, #8 │ │ │ │ │ - mov r5, r0 │ │ │ │ │ - mov fp, r2 │ │ │ │ │ - adds r4, r3, #3 │ │ │ │ │ + add.w r4, r3, #3 │ │ │ │ │ bic.w r4, r4, #3 │ │ │ │ │ - adds r4, #2 │ │ │ │ │ + add.w r4, r4, #2 │ │ │ │ │ mul.w r3, r4, r3 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ - str r3, [r7, #8] │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ cmp.w r3, #65536 @ 0x10000 │ │ │ │ │ - bcs.n 286 │ │ │ │ │ + str r3, [r7, #8] │ │ │ │ │ + bcs.n 2e4 │ │ │ │ │ sub.w sp, sp, r3 │ │ │ │ │ add r3, sp, #8 │ │ │ │ │ str r3, [r7, #12] │ │ │ │ │ sub.w sl, r1, r4 │ │ │ │ │ cmp.w sl, #0 │ │ │ │ │ - ble.n 26a │ │ │ │ │ + ble.n 2b4 │ │ │ │ │ mov.w r8, #0 │ │ │ │ │ str r1, [r7, #4] │ │ │ │ │ str r4, [sp, #0] │ │ │ │ │ mov r2, fp │ │ │ │ │ - ldr r3, [r7, #12] │ │ │ │ │ mov r1, r6 │ │ │ │ │ + ldr r3, [r7, #12] │ │ │ │ │ mov r0, r5 │ │ │ │ │ add r8, r4 │ │ │ │ │ blx r9 │ │ │ │ │ ldr r3, [r5, #100] @ 0x64 │ │ │ │ │ cmp r8, sl │ │ │ │ │ mul.w r3, r4, r3 │ │ │ │ │ add.w r6, r6, r3, lsl #3 │ │ │ │ │ ldr r3, [r5, #104] @ 0x68 │ │ │ │ │ mul.w r3, r4, r3 │ │ │ │ │ add.w fp, fp, r3, lsl #3 │ │ │ │ │ - blt.n 23e │ │ │ │ │ + blt.n 288 │ │ │ │ │ ldr r1, [r7, #4] │ │ │ │ │ sub.w r1, r1, r8 │ │ │ │ │ str r1, [sp, #0] │ │ │ │ │ mov r2, fp │ │ │ │ │ + mov r0, r5 │ │ │ │ │ ldr r3, [r7, #12] │ │ │ │ │ mov r1, r6 │ │ │ │ │ - mov r0, r5 │ │ │ │ │ blx r9 │ │ │ │ │ ldr r3, [r7, #8] │ │ │ │ │ cmp.w r3, #65536 @ 0x10000 │ │ │ │ │ - bcs.n 294 │ │ │ │ │ - adds r7, #20 │ │ │ │ │ + bcs.n 2f2 │ │ │ │ │ + add.w r7, r7, #20 │ │ │ │ │ mov sp, r7 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ mov r0, r3 │ │ │ │ │ str r1, [r7, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ ldr r1, [r7, #4] │ │ │ │ │ str r0, [r7, #12] │ │ │ │ │ - b.n 22e │ │ │ │ │ + b.n 278 │ │ │ │ │ ldr r0, [r7, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ - adds r7, #20 │ │ │ │ │ - mov sp, r7 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + b.n 2c8 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000002a4 : │ │ │ │ │ +000002fc : │ │ │ │ │ apply_buf_hc2r(): │ │ │ │ │ - ldr r3, [pc, #4] @ (2ac ) │ │ │ │ │ + ldr r3, [pc, #4] @ (304 ) │ │ │ │ │ add r3, pc │ │ │ │ │ - b.n 1fc │ │ │ │ │ + b.n 230 │ │ │ │ │ nop │ │ │ │ │ .word 0x00000002 │ │ │ │ │ R_ARM_REL32 dobatch_hc2r │ │ │ │ │ │ │ │ │ │ -000002b0 : │ │ │ │ │ +00000308 : │ │ │ │ │ apply_buf_r2hc(): │ │ │ │ │ - ldr r3, [pc, #4] @ (2b8 ) │ │ │ │ │ + ldr r3, [pc, #4] @ (310 ) │ │ │ │ │ add r3, pc │ │ │ │ │ - b.n 1fc │ │ │ │ │ + b.n 230 │ │ │ │ │ nop │ │ │ │ │ .word 0x00000002 │ │ │ │ │ R_ARM_REL32 dobatch_r2hc │ │ │ │ │ │ │ │ │ │ -000002bc : │ │ │ │ │ +00000314 : │ │ │ │ │ mkplan(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ - mov r6, r1 │ │ │ │ │ ldr r3, [r1, #4] │ │ │ │ │ + str.w r4, [sp, #-28]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r6, r1 │ │ │ │ │ + mov r5, r0 │ │ │ │ │ + ldr r4, [r0, #8] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ ldr r1, [r0, #16] │ │ │ │ │ + strd r9, lr, [sp, #20] │ │ │ │ │ sub sp, #20 │ │ │ │ │ - ldr r4, [r0, #8] │ │ │ │ │ - mov r5, r0 │ │ │ │ │ ldr r2, [r3, #0] │ │ │ │ │ - cbz r1, 2de │ │ │ │ │ + cbz r1, 352 │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - beq.w 3f0 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + beq.w 470 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #20 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - bne.n 2d6 │ │ │ │ │ + bne.n 33a │ │ │ │ │ ldr r0, [r6, #8] │ │ │ │ │ ldr r2, [r0, #0] │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - bgt.n 2d6 │ │ │ │ │ + bgt.n 33a │ │ │ │ │ ldr r2, [r3, #4] │ │ │ │ │ ldr r3, [r4, #0] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.n 2d6 │ │ │ │ │ + bne.n 33a │ │ │ │ │ ldr r3, [r4, #40] @ 0x28 │ │ │ │ │ ldr r2, [r6, #20] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.n 2d6 │ │ │ │ │ + bne.n 33a │ │ │ │ │ add r3, sp, #12 │ │ │ │ │ add r2, sp, #8 │ │ │ │ │ add r1, sp, #4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_tornk1 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 2d6 │ │ │ │ │ + beq.n 33a │ │ │ │ │ ldrd r2, r3, [r6, #12] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.w 472 │ │ │ │ │ + beq.w 4f4 │ │ │ │ │ ldr r3, [r6, #4] │ │ │ │ │ ldr r2, [r5, #16] │ │ │ │ │ ldrd r9, r8, [r3, #8] │ │ │ │ │ ldr r3, [r6, #20] │ │ │ │ │ cmp r3, #3 │ │ │ │ │ - bhi.w 44c │ │ │ │ │ + bhi.w 4cc │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - beq.w 466 │ │ │ │ │ - ldr r2, [pc, #352] @ (48c ) │ │ │ │ │ + beq.w 4e8 │ │ │ │ │ + ldr r2, [pc, #364] @ (50c ) │ │ │ │ │ add r2, pc │ │ │ │ │ - ldr r1, [pc, #352] @ (490 ) │ │ │ │ │ - movs r0, #128 @ 0x80 │ │ │ │ │ + ldr r1, [pc, #364] @ (510 ) │ │ │ │ │ + mov.w r0, #128 @ 0x80 │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_rdft │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldr r3, [r6, #4] │ │ │ │ │ ldr r7, [r3, #4] │ │ │ │ │ ldr r3, [r5, #12] │ │ │ │ │ + str.w r8, [r4, #68] @ 0x44 │ │ │ │ │ + str r7, [r4, #88] @ 0x58 │ │ │ │ │ + str.w r9, [r4, #96] @ 0x60 │ │ │ │ │ str r3, [r4, #116] @ 0x74 │ │ │ │ │ mov.w r3, r9, lsl #1 │ │ │ │ │ - strd r3, r8, [r4, #64] @ 0x40 │ │ │ │ │ + str r3, [r4, #64] @ 0x40 │ │ │ │ │ rsb r3, r8, #0 │ │ │ │ │ str r3, [r4, #72] @ 0x48 │ │ │ │ │ ldr r3, [r6, #20] │ │ │ │ │ - str r7, [r4, #88] @ 0x58 │ │ │ │ │ bic.w r3, r3, #4 │ │ │ │ │ - str.w r9, [r4, #96] @ 0x60 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ ite eq │ │ │ │ │ moveq r1, r7 │ │ │ │ │ subne r1, r7, #1 │ │ │ │ │ mul.w r3, r1, r8 │ │ │ │ │ str r3, [r4, #108] @ 0x6c │ │ │ │ │ - adds r3, r7, #3 │ │ │ │ │ + add.w r3, r7, #3 │ │ │ │ │ bic.w r3, r3, #3 │ │ │ │ │ - adds r2, r3, #2 │ │ │ │ │ + add.w r2, r3, #2 │ │ │ │ │ rsb r3, r3, #4278255360 @ 0xff00ff00 │ │ │ │ │ + mov.w r0, r2, lsl #1 │ │ │ │ │ add.w r3, r3, #16711680 @ 0xff0000 │ │ │ │ │ - lsls r0, r2, #1 │ │ │ │ │ + add.w r3, r3, #254 @ 0xfe │ │ │ │ │ strd r0, r2, [r4, #76] @ 0x4c │ │ │ │ │ mul.w r2, r1, r2 │ │ │ │ │ - ldr r0, [r6, #8] │ │ │ │ │ add.w r1, r4, #92 @ 0x5c │ │ │ │ │ - adds r3, #254 @ 0xfe │ │ │ │ │ + ldr r0, [r6, #8] │ │ │ │ │ add.w r6, r4, #8 │ │ │ │ │ str r3, [r4, #84] @ 0x54 │ │ │ │ │ - str r2, [r4, #112] @ 0x70 │ │ │ │ │ add.w r3, r4, #104 @ 0x68 │ │ │ │ │ + str r2, [r4, #112] @ 0x70 │ │ │ │ │ add.w r2, r4, #100 @ 0x64 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_tornk1 │ │ │ │ │ mov r0, r6 │ │ │ │ │ str r5, [r4, #120] @ 0x78 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_zero │ │ │ │ │ @@ -399,186 +426,194 @@ │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ mov r2, r6 │ │ │ │ │ mov r1, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_madd2 │ │ │ │ │ ldr r3, [r5, #16] │ │ │ │ │ - cbz r3, 3e0 │ │ │ │ │ - ldr r2, [r4, #92] @ 0x5c │ │ │ │ │ + cbz r3, 462 │ │ │ │ │ vldr d6, [r4, #32] │ │ │ │ │ + ldr r2, [r4, #92] @ 0x5c │ │ │ │ │ mul.w r7, r2, r7 │ │ │ │ │ - lsls r7, r7, #1 │ │ │ │ │ + mov.w r7, r7, lsl #1 │ │ │ │ │ vmov s15, r7 │ │ │ │ │ vcvt.f64.s32 d7, s15 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vstr d6, [r4, #32] │ │ │ │ │ clz r3, r3 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - lsrs r3, r3, #5 │ │ │ │ │ + mov.w r3, r3, lsr #5 │ │ │ │ │ str r3, [r4, #52] @ 0x34 │ │ │ │ │ - add sp, #20 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} │ │ │ │ │ + b.n 33e │ │ │ │ │ ldr r0, [r6, #8] │ │ │ │ │ ldr r2, [r0, #0] │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - bgt.w 2d6 │ │ │ │ │ + bgt.w 33a │ │ │ │ │ ldr r2, [r3, #4] │ │ │ │ │ ldr r3, [r4, #0] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.w 2d6 │ │ │ │ │ + bne.w 33a │ │ │ │ │ ldr r3, [r4, #40] @ 0x28 │ │ │ │ │ ldr r2, [r6, #20] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.w 2d6 │ │ │ │ │ + bne.w 33a │ │ │ │ │ add r3, sp, #12 │ │ │ │ │ add r2, sp, #8 │ │ │ │ │ add r1, sp, #4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_tornk1 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 2d6 │ │ │ │ │ + beq.w 33a │ │ │ │ │ ldrd r2, r3, [r6, #12] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.w 314 │ │ │ │ │ + bne.w 388 │ │ │ │ │ ldrd r0, r1, [r6, #4] │ │ │ │ │ ldr r4, [r4, #0] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_inplace_strides2 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.w 314 │ │ │ │ │ - adds r3, r4, #3 │ │ │ │ │ + bne.w 388 │ │ │ │ │ ldr r2, [sp, #4] │ │ │ │ │ + adds r3, r4, #3 │ │ │ │ │ bic.w r3, r3, #3 │ │ │ │ │ adds r3, #2 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - blt.w 2d6 │ │ │ │ │ - b.n 314 │ │ │ │ │ - cbz r2, 46c │ │ │ │ │ - ldr r2, [pc, #68] @ (494 ) │ │ │ │ │ + blt.w 33a │ │ │ │ │ + b.n 388 │ │ │ │ │ + cbz r2, 4ee │ │ │ │ │ + ldr r2, [pc, #68] @ (514 ) │ │ │ │ │ add r2, pc │ │ │ │ │ - ldr r1, [pc, #68] @ (498 ) │ │ │ │ │ - movs r0, #128 @ 0x80 │ │ │ │ │ + ldr r1, [pc, #68] @ (518 ) │ │ │ │ │ + mov.w r0, #128 @ 0x80 │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_rdft │ │ │ │ │ mov r3, r9 │ │ │ │ │ mov r4, r0 │ │ │ │ │ mov r9, r8 │ │ │ │ │ mov r8, r3 │ │ │ │ │ - b.n 33a │ │ │ │ │ - ldr r2, [pc, #52] @ (49c ) │ │ │ │ │ + b.n 3b0 │ │ │ │ │ + ldr r2, [pc, #48] @ (51c ) │ │ │ │ │ add r2, pc │ │ │ │ │ - b.n 32e │ │ │ │ │ - ldr r2, [pc, #48] @ (4a0 ) │ │ │ │ │ + b.n 3a2 │ │ │ │ │ + ldr r2, [pc, #48] @ (520 ) │ │ │ │ │ add r2, pc │ │ │ │ │ - b.n 452 │ │ │ │ │ + b.n 4d2 │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - beq.w 314 │ │ │ │ │ + beq.w 388 │ │ │ │ │ ldrd r0, r1, [r6, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_inplace_strides2 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 2d6 │ │ │ │ │ - b.n 314 │ │ │ │ │ - nop │ │ │ │ │ - .word 0x0000015c │ │ │ │ │ + beq.w 33a │ │ │ │ │ + b.n 388 │ │ │ │ │ + .word 0x00000168 │ │ │ │ │ R_ARM_REL32 apply_buf_r2hc │ │ │ │ │ - .word 0x0000015a │ │ │ │ │ + .word 0x00000164 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000040 │ │ │ │ │ R_ARM_REL32 apply_buf_hc2r │ │ │ │ │ - .word 0x0000003e │ │ │ │ │ + .word 0x0000003c │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000030 │ │ │ │ │ - R_ARM_REL32 apply_r2hc │ │ │ │ │ .word 0x0000002e │ │ │ │ │ + R_ARM_REL32 apply_r2hc │ │ │ │ │ + .word 0x0000002c │ │ │ │ │ R_ARM_REL32 apply_hc2r │ │ │ │ │ │ │ │ │ │ -000004a4 : │ │ │ │ │ +00000524 : │ │ │ │ │ print(): │ │ │ │ │ - push {r4, r5, r6, r7, lr} │ │ │ │ │ + str.w r4, [sp, #-20]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r6, r1 │ │ │ │ │ ldr r5, [r0, #120] @ 0x78 │ │ │ │ │ - ldr r7, [r1, #0] │ │ │ │ │ + strd r7, lr, [sp, #12] │ │ │ │ │ sub sp, #20 │ │ │ │ │ - mov r6, r1 │ │ │ │ │ + ldr r7, [r1, #0] │ │ │ │ │ ldr r3, [r5, #8] │ │ │ │ │ ldr r3, [r3, #40] @ 0x28 │ │ │ │ │ ldr r0, [r3, #0] │ │ │ │ │ ldr r3, [r5, #16] │ │ │ │ │ - cbz r3, 4dc │ │ │ │ │ + cbz r3, 572 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_rdft_kind_str │ │ │ │ │ ldr r3, [r5, #8] │ │ │ │ │ - ldr r1, [pc, #56] @ (4fc ) │ │ │ │ │ mov r2, r0 │ │ │ │ │ mov r0, r6 │ │ │ │ │ + ldr r1, [pc, #64] @ (590 ) │ │ │ │ │ ldr r3, [r3, #4] │ │ │ │ │ add r1, pc │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr r3, [r4, #92] @ 0x5c │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr r3, [r4, #88] @ 0x58 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldr r3, [r4, #80] @ 0x50 │ │ │ │ │ blx r7 │ │ │ │ │ add sp, #20 │ │ │ │ │ - pop {r4, r5, r6, r7, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_rdft_kind_str │ │ │ │ │ ldr r3, [r5, #8] │ │ │ │ │ - ldr r1, [pc, #28] @ (500 ) │ │ │ │ │ mov r2, r0 │ │ │ │ │ mov r0, r6 │ │ │ │ │ + ldr r1, [pc, #20] @ (594 ) │ │ │ │ │ ldr r3, [r3, #4] │ │ │ │ │ add r1, pc │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr r3, [r4, #92] @ 0x5c │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldr r3, [r4, #88] @ 0x58 │ │ │ │ │ blx r7 │ │ │ │ │ - add sp, #20 │ │ │ │ │ - pop {r4, r5, r6, r7, pc} │ │ │ │ │ + b.n 562 │ │ │ │ │ nop │ │ │ │ │ - .word 0x00000030 │ │ │ │ │ + .word 0x0000003a │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ - .word 0x00000012 │ │ │ │ │ + .word 0x00000010 │ │ │ │ │ R_ARM_REL32 .LC1 │ │ │ │ │ │ │ │ │ │ -00000504 : │ │ │ │ │ +00000598 : │ │ │ │ │ fftw_mksolver_rdft_r2c_direct(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r1 │ │ │ │ │ - ldr r1, [pc, #20] @ (520 ) │ │ │ │ │ + ldr r1, [pc, #36] @ (5c4 ) │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ mov r5, r0 │ │ │ │ │ - movs r0, #20 │ │ │ │ │ + mov.w r0, #20 │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ - movs r2, #0 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ strd r4, r5, [r0, #8] │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ str r2, [r0, #16] │ │ │ │ │ - pop {r3, r4, r5, pc} │ │ │ │ │ + pop {r5, pc} │ │ │ │ │ nop │ │ │ │ │ - .word 0x0000000e │ │ │ │ │ + .word 0x00000016 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ │ │ │ │ │ │ │ -00000524 : │ │ │ │ │ +000005c8 : │ │ │ │ │ fftw_mksolver_rdft_r2c_directbuf(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r1 │ │ │ │ │ - ldr r1, [pc, #20] @ (540 ) │ │ │ │ │ + ldr r1, [pc, #36] @ (5f4 ) │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ mov r5, r0 │ │ │ │ │ - movs r0, #20 │ │ │ │ │ + mov.w r0, #20 │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ - movs r2, #1 │ │ │ │ │ + mov.w r2, #1 │ │ │ │ │ strd r4, r5, [r0, #8] │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ str r2, [r0, #16] │ │ │ │ │ - pop {r3, r4, r5, pc} │ │ │ │ │ + pop {r5, pc} │ │ │ │ │ nop │ │ │ │ │ - .word 0x0000000e │ │ │ │ │ + .word 0x00000016 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ ├── direct-r2r.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1504 (bytes into file) │ │ │ │ │ + Start of section headers: 1564 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 15 │ │ │ │ │ Section header string table index: 14 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ -There are 15 section headers, starting at offset 0x5e0: │ │ │ │ │ +There are 15 section headers, starting at offset 0x61c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000144 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0004c8 000068 08 I 12 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000178 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000178 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000178 00001f 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 000197 000010 00 WA 0 0 4 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000530 000020 08 I 12 6 4 │ │ │ │ │ - [ 8] .data.rel.ro.local PROGBITS 00000000 0001a7 00000c 00 WA 0 0 4 │ │ │ │ │ - [ 9] .rel.data.rel.ro.local REL 00000000 000550 000008 08 I 12 8 4 │ │ │ │ │ - [10] .note.GNU-stack PROGBITS 00000000 0001b3 000000 00 0 0 1 │ │ │ │ │ - [11] .ARM.attributes ARM_ATTRIBUTES 00000000 0001b3 000033 00 0 0 1 │ │ │ │ │ - [12] .symtab SYMTAB 00000000 0001e8 0001e0 10 13 19 4 │ │ │ │ │ - [13] .strtab STRTAB 00000000 0003c8 0000ff 00 0 0 1 │ │ │ │ │ - [14] .shstrtab STRTAB 00000000 000558 000087 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000180 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000504 000068 08 I 12 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0001b4 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0001b4 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0001b4 00001f 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0001d3 000010 00 WA 0 0 4 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 00056c 000020 08 I 12 6 4 │ │ │ │ │ + [ 8] .data.rel.ro.local PROGBITS 00000000 0001e3 00000c 00 WA 0 0 4 │ │ │ │ │ + [ 9] .rel.data.rel.ro.local REL 00000000 00058c 000008 08 I 12 8 4 │ │ │ │ │ + [10] .note.GNU-stack PROGBITS 00000000 0001ef 000000 00 0 0 1 │ │ │ │ │ + [11] .ARM.attributes ARM_ATTRIBUTES 00000000 0001ef 000033 00 0 0 1 │ │ │ │ │ + [12] .symtab SYMTAB 00000000 000224 0001e0 10 13 19 4 │ │ │ │ │ + [13] .strtab STRTAB 00000000 000404 0000ff 00 0 0 1 │ │ │ │ │ + [14] .shstrtab STRTAB 00000000 000594 000087 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,33 +1,33 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 30 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 42 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ + 1: 00000001 44 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 3: 0000002d 2 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 4: 00000031 196 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 5: 000000ec 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000031 224 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 5: 00000108 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ - 8: 000000f4 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 9: 000000f5 52 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ - 10: 00000124 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 11: 00000128 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 12: 00000140 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 00000110 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 9: 00000111 72 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 10: 00000154 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 11: 00000158 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 12: 0000017c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 13: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 14: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 15: 00000000 16 OBJECT LOCAL DEFAULT 6 padt.0 │ │ │ │ │ 16: 00000000 0 SECTION LOCAL DEFAULT 8 .data.rel.ro.local │ │ │ │ │ 17: 00000000 0 NOTYPE LOCAL DEFAULT 8 $d │ │ │ │ │ 18: 00000000 12 OBJECT LOCAL DEFAULT 8 sadt.1 │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_tornk1 │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_rdft │ │ │ │ │ 21: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_zero │ │ │ │ │ 22: 00000000 0 NOTYPE GLOBAL DEFAULT UND __aeabi_idiv │ │ │ │ │ 23: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_madd2 │ │ │ │ │ 24: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_inplace_strides2 │ │ │ │ │ 25: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_kind_str │ │ │ │ │ - 26: 00000129 28 FUNC GLOBAL DEFAULT 1 fftw_mksolver_rdft_r2r_direct │ │ │ │ │ + 26: 00000159 40 FUNC GLOBAL DEFAULT 1 fftw_mksolver_rdft_r2r_direct │ │ │ │ │ 27: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ 28: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_solve │ │ │ │ │ 29: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_null_awake │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,27 +1,27 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x4c8 contains 13 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x504 contains 13 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000006a 0000130a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ -00000084 0000140a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ -000000aa 0000130a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ -000000b2 0000150a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ -000000c2 0000160a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -000000ca 0000170a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ -000000e2 0000180a R_ARM_THM_CALL 00000000 fftw_tensor_inplace_strides2 │ │ │ │ │ -000000ec 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ -000000f0 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000104 0000190a R_ARM_THM_CALL 00000000 fftw_rdft_kind_str │ │ │ │ │ -00000124 00000703 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -00000134 00001b0a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -00000140 00001003 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +0000007a 0000130a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ +00000096 0000140a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ +000000bc 0000130a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ +000000c4 0000150a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ +000000d4 0000160a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +000000dc 0000170a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ +000000fc 0000180a R_ARM_THM_CALL 00000000 fftw_tensor_inplace_strides2 │ │ │ │ │ +00000108 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ +0000010c 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +0000012a 0000190a R_ARM_THM_CALL 00000000 fftw_rdft_kind_str │ │ │ │ │ +00000154 00000703 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +0000016c 00001b0a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +0000017c 00001003 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x530 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x56c contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00001c02 R_ARM_ABS32 00000000 fftw_rdft_solve │ │ │ │ │ 00000004 00001d02 R_ARM_ABS32 00000000 fftw_null_awake │ │ │ │ │ -00000008 00000902 R_ARM_ABS32 000000f5 print │ │ │ │ │ +00000008 00000902 R_ARM_ABS32 00000111 print │ │ │ │ │ 0000000c 00000302 R_ARM_ABS32 0000002d destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x550 contains 1 entry: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x58c contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000402 R_ARM_ABS32 00000031 mkplan │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,93 +1,94 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ apply(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ mov ip, r0 │ │ │ │ │ - mov r0, r1 │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ sub sp, #16 │ │ │ │ │ - mov r1, r2 │ │ │ │ │ ldr.w r3, [ip, #72] @ 0x48 │ │ │ │ │ + mov r0, r1 │ │ │ │ │ + mov r1, r2 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr.w r3, [ip, #68] @ 0x44 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr.w r3, [ip, #64] @ 0x40 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - ldrd r3, r4, [ip, #80] @ 0x50 │ │ │ │ │ - ldr.w r2, [ip, #76] @ 0x4c │ │ │ │ │ + ldrd r2, r3, [ip, #76] @ 0x4c │ │ │ │ │ + ldr.w r4, [ip, #84] @ 0x54 │ │ │ │ │ blx r4 │ │ │ │ │ add sp, #16 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - nop │ │ │ │ │ │ │ │ │ │ 0000002c : │ │ │ │ │ destroy(): │ │ │ │ │ bx lr │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ 00000030 : │ │ │ │ │ mkplan(): │ │ │ │ │ ldr r3, [r1, #4] │ │ │ │ │ ldr r2, [r3, #0] │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - beq.n 3c │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + beq.n 3e │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bx lr │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ + mov r5, r1 │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ mov r6, r0 │ │ │ │ │ - ldr r0, [r1, #8] │ │ │ │ │ sub sp, #16 │ │ │ │ │ - mov r5, r1 │ │ │ │ │ + ldr r0, [r1, #8] │ │ │ │ │ ldr r2, [r0, #0] │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - ble.n 52 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + ble.n 62 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #16 │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ ldr r2, [r6, #8] │ │ │ │ │ ldr r1, [r3, #4] │ │ │ │ │ ldr r3, [r2, #0] │ │ │ │ │ cmp r1, r3 │ │ │ │ │ - bne.n 4c │ │ │ │ │ + bne.n 54 │ │ │ │ │ ldr r1, [r5, #20] │ │ │ │ │ ldr r3, [r2, #44] @ 0x2c │ │ │ │ │ cmp r1, r3 │ │ │ │ │ - bne.n 4c │ │ │ │ │ + bne.n 54 │ │ │ │ │ add r3, sp, #12 │ │ │ │ │ add r2, sp, #8 │ │ │ │ │ add r1, sp, #4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_tornk1 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 4c │ │ │ │ │ + beq.n 54 │ │ │ │ │ ldrd r2, r3, [r5, #12] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.n d8 │ │ │ │ │ - ldr r2, [pc, #112] @ (ec ) │ │ │ │ │ - movs r0, #96 @ 0x60 │ │ │ │ │ - ldr r1, [pc, #112] @ (f0 ) │ │ │ │ │ + beq.n f2 │ │ │ │ │ + ldr r2, [pc, #124] @ (108 ) │ │ │ │ │ + mov.w r0, #96 @ 0x60 │ │ │ │ │ + ldr r1, [pc, #120] @ (10c ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_rdft │ │ │ │ │ - ldr r3, [r5, #4] │ │ │ │ │ - mov r4, r0 │ │ │ │ │ ldr r2, [r6, #12] │ │ │ │ │ - str r2, [r0, #84] @ 0x54 │ │ │ │ │ + mov r4, r0 │ │ │ │ │ add.w r1, r0, #64 @ 0x40 │ │ │ │ │ - ldrd r2, r3, [r3, #8] │ │ │ │ │ - strd r2, r3, [r0, #76] @ 0x4c │ │ │ │ │ - add.w r2, r0, #68 @ 0x44 │ │ │ │ │ - add.w r3, r0, #72 @ 0x48 │ │ │ │ │ - ldr r0, [r5, #8] │ │ │ │ │ + ldrd r3, r0, [r5, #4] │ │ │ │ │ add.w r5, r4, #8 │ │ │ │ │ + str r2, [r4, #84] @ 0x54 │ │ │ │ │ + ldrd r2, r3, [r3, #8] │ │ │ │ │ + strd r2, r3, [r4, #76] @ 0x4c │ │ │ │ │ + add.w r2, r4, #68 @ 0x44 │ │ │ │ │ + add.w r3, r4, #72 @ 0x48 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_tornk1 │ │ │ │ │ mov r0, r5 │ │ │ │ │ str r6, [r4, #88] @ 0x58 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_zero │ │ │ │ │ ldr r3, [r6, #8] │ │ │ │ │ @@ -97,69 +98,78 @@ │ │ │ │ │ ldr r1, [r3, #0] │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r1, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_madd2 │ │ │ │ │ - movs r3, #1 │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ mov r0, r4 │ │ │ │ │ str r3, [r4, #52] @ 0x34 │ │ │ │ │ add sp, #16 │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - beq.n 7a │ │ │ │ │ + beq.n 8a │ │ │ │ │ ldrd r0, r1, [r5, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_inplace_strides2 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 4c │ │ │ │ │ - b.n 7a │ │ │ │ │ - .word 0x00000068 │ │ │ │ │ + beq.n 54 │ │ │ │ │ + b.n 8a │ │ │ │ │ + nop │ │ │ │ │ + .word 0x00000072 │ │ │ │ │ R_ARM_REL32 apply │ │ │ │ │ - .word 0x0000006a │ │ │ │ │ + .word 0x00000074 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ │ │ │ │ │ -000000f4 : │ │ │ │ │ +00000110 : │ │ │ │ │ print(): │ │ │ │ │ - push {r4, r5, r6, r7, lr} │ │ │ │ │ + str.w r4, [sp, #-20]! │ │ │ │ │ + mov r4, r1 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r0 │ │ │ │ │ ldr r6, [r0, #88] @ 0x58 │ │ │ │ │ + strd r7, lr, [sp, #12] │ │ │ │ │ sub sp, #12 │ │ │ │ │ ldr r7, [r1, #0] │ │ │ │ │ - mov r4, r1 │ │ │ │ │ ldr r3, [r6, #8] │ │ │ │ │ ldr r0, [r3, #44] @ 0x2c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_rdft_kind_str │ │ │ │ │ ldr r1, [r6, #8] │ │ │ │ │ mov r2, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ ldrd r3, r1, [r1] │ │ │ │ │ str r1, [sp, #4] │ │ │ │ │ ldr r1, [r5, #64] @ 0x40 │ │ │ │ │ str r1, [sp, #0] │ │ │ │ │ - ldr r1, [pc, #8] @ (124 ) │ │ │ │ │ + ldr r1, [pc, #20] @ (154 ) │ │ │ │ │ add r1, pc │ │ │ │ │ blx r7 │ │ │ │ │ add sp, #12 │ │ │ │ │ - pop {r4, r5, r6, r7, pc} │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + .word 0x00000010 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ -00000128 : │ │ │ │ │ +00000158 : │ │ │ │ │ fftw_mksolver_rdft_r2r_direct(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r1 │ │ │ │ │ - ldr r1, [pc, #16] @ (140 ) │ │ │ │ │ + ldr r1, [pc, #28] @ (17c ) │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ mov r5, r0 │ │ │ │ │ - movs r0, #16 │ │ │ │ │ + mov.w r0, #16 │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ strd r4, r5, [r0, #8] │ │ │ │ │ - pop {r3, r4, r5, pc} │ │ │ │ │ - nop │ │ │ │ │ - .word 0x0000000a │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r5, pc} │ │ │ │ │ + .word 0x0000000e │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ ├── direct2.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1820 (bytes into file) │ │ │ │ │ + Start of section headers: 1912 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 15 │ │ │ │ │ Section header string table index: 14 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ -There are 15 section headers, starting at offset 0x71c: │ │ │ │ │ +There are 15 section headers, starting at offset 0x778: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000254 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0005ec 000080 08 I 12 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000288 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000288 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000288 00001c 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 0002a4 000010 00 WA 0 0 4 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 00066c 000020 08 I 12 6 4 │ │ │ │ │ - [ 8] .data.rel.ro.local PROGBITS 00000000 0002b4 00000c 00 WA 0 0 4 │ │ │ │ │ - [ 9] .rel.data.rel.ro.local REL 00000000 00068c 000008 08 I 12 8 4 │ │ │ │ │ - [10] .note.GNU-stack PROGBITS 00000000 0002c0 000000 00 0 0 1 │ │ │ │ │ - [11] .ARM.attributes ARM_ATTRIBUTES 00000000 0002c0 000033 00 0 0 1 │ │ │ │ │ - [12] .symtab SYMTAB 00000000 0002f4 0001f0 10 13 20 4 │ │ │ │ │ - [13] .strtab STRTAB 00000000 0004e4 000107 00 0 0 1 │ │ │ │ │ - [14] .shstrtab STRTAB 00000000 000694 000087 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0002b0 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000648 000080 08 I 12 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0002e4 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0002e4 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0002e4 00001c 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 000300 000010 00 WA 0 0 4 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 0006c8 000020 08 I 12 6 4 │ │ │ │ │ + [ 8] .data.rel.ro.local PROGBITS 00000000 000310 00000c 00 WA 0 0 4 │ │ │ │ │ + [ 9] .rel.data.rel.ro.local REL 00000000 0006e8 000008 08 I 12 8 4 │ │ │ │ │ + [10] .note.GNU-stack PROGBITS 00000000 00031c 000000 00 0 0 1 │ │ │ │ │ + [11] .ARM.attributes ARM_ATTRIBUTES 00000000 00031c 000033 00 0 0 1 │ │ │ │ │ + [12] .symtab SYMTAB 00000000 000350 0001f0 10 13 20 4 │ │ │ │ │ + [13] .strtab STRTAB 00000000 000540 000107 00 0 0 1 │ │ │ │ │ + [14] .shstrtab STRTAB 00000000 0006f0 000087 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,34 +1,34 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 31 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 56 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ + 1: 00000001 58 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000039 134 FUNC LOCAL DEFAULT 1 apply_r2hc │ │ │ │ │ - 4: 000000c1 2 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 5: 000000c5 320 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 6: 000001f4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 0000003d 158 FUNC LOCAL DEFAULT 1 apply_r2hc │ │ │ │ │ + 4: 000000dd 2 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 5: 000000e1 348 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 6: 0000022c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ - 9: 00000204 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 10: 00000205 52 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ - 11: 00000234 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 12: 00000238 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 13: 00000250 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 9: 0000023c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 10: 0000023d 76 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 11: 00000284 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 12: 00000288 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 13: 000002ac 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 14: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 15: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 16: 00000000 16 OBJECT LOCAL DEFAULT 6 padt.0 │ │ │ │ │ 17: 00000000 0 SECTION LOCAL DEFAULT 8 .data.rel.ro.local │ │ │ │ │ 18: 00000000 0 NOTYPE LOCAL DEFAULT 8 $d │ │ │ │ │ 19: 00000000 12 OBJECT LOCAL DEFAULT 8 sadt.1 │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_tornk1 │ │ │ │ │ 21: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_rdft2 │ │ │ │ │ 22: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_zero │ │ │ │ │ 23: 00000000 0 NOTYPE GLOBAL DEFAULT UND __aeabi_idiv │ │ │ │ │ 24: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_madd2 │ │ │ │ │ 25: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft2_inplace_strides │ │ │ │ │ 26: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_kind_str │ │ │ │ │ - 27: 00000239 28 FUNC GLOBAL DEFAULT 1 fftw_mksolver_rdft2_direct │ │ │ │ │ + 27: 00000289 40 FUNC GLOBAL DEFAULT 1 fftw_mksolver_rdft2_direct │ │ │ │ │ 28: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ 29: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft2_solve │ │ │ │ │ 30: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_null_awake │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,30 +1,30 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x5ec contains 16 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x648 contains 16 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000104 0000140a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ -00000128 0000150a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft2 │ │ │ │ │ -00000156 0000140a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ -0000017a 0000160a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ -0000018a 0000170a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -00000192 0000180a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ -000001c8 0000150a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft2 │ │ │ │ │ -000001e8 0000190a R_ARM_THM_CALL 00000000 fftw_rdft2_inplace_strides │ │ │ │ │ -000001f4 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ -000001f8 00000e03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000001fc 00000303 R_ARM_REL32 00000039 apply_r2hc │ │ │ │ │ -00000200 00000e03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000216 00001a0a R_ARM_THM_CALL 00000000 fftw_rdft_kind_str │ │ │ │ │ -00000234 00000803 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -00000244 00001c0a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -00000250 00001103 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +00000136 0000140a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ +0000015c 0000150a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft2 │ │ │ │ │ +0000018a 0000140a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ +000001b0 0000160a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ +000001c0 0000170a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +000001c8 0000180a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ +00000200 0000150a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft2 │ │ │ │ │ +00000220 0000190a R_ARM_THM_CALL 00000000 fftw_rdft2_inplace_strides │ │ │ │ │ +0000022c 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ +00000230 00000e03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000234 00000303 R_ARM_REL32 0000003d apply_r2hc │ │ │ │ │ +00000238 00000e03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000258 00001a0a R_ARM_THM_CALL 00000000 fftw_rdft_kind_str │ │ │ │ │ +00000284 00000803 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +0000029c 00001c0a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +000002ac 00001103 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x66c contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x6c8 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00001d02 R_ARM_ABS32 00000000 fftw_rdft2_solve │ │ │ │ │ 00000004 00001e02 R_ARM_ABS32 00000000 fftw_null_awake │ │ │ │ │ -00000008 00000a02 R_ARM_ABS32 00000205 print │ │ │ │ │ -0000000c 00000402 R_ARM_ABS32 000000c1 destroy │ │ │ │ │ +00000008 00000a02 R_ARM_ABS32 0000023d print │ │ │ │ │ +0000000c 00000402 R_ARM_ABS32 000000dd destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x68c contains 1 entry: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x6e8 contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000502 R_ARM_ABS32 000000c5 mkplan │ │ │ │ │ +00000004 00000502 R_ARM_ABS32 000000e1 mkplan │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,8 +1,7 @@ │ │ │ │ │ -5J` 5IzDyD │ │ │ │ │ (rdft2-%s-direct-%D%v "%s") │ │ │ │ │ apply_r2hc │ │ │ │ │ fftw_tensor_tornk1 │ │ │ │ │ fftw_mkplan_rdft2 │ │ │ │ │ fftw_ops_zero │ │ │ │ │ __aeabi_idiv │ │ │ │ │ fftw_ops_madd2 │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,272 +1,289 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ apply(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ mov ip, r0 │ │ │ │ │ - mov r0, r1 │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ sub sp, #24 │ │ │ │ │ - mov r1, r2 │ │ │ │ │ ldr.w r4, [ip, #80] @ 0x50 │ │ │ │ │ + mov r0, r1 │ │ │ │ │ + mov r1, r2 │ │ │ │ │ mov r2, r3 │ │ │ │ │ ldr.w r3, [ip, #68] @ 0x44 │ │ │ │ │ str r4, [sp, #20] │ │ │ │ │ ldr.w r4, [ip, #76] @ 0x4c │ │ │ │ │ str r4, [sp, #16] │ │ │ │ │ ldr.w r4, [ip, #72] @ 0x48 │ │ │ │ │ - strd r3, r4, [sp, #8] │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ + strd r3, r3, [sp, #4] │ │ │ │ │ + str r4, [sp, #12] │ │ │ │ │ ldr.w r3, [ip, #64] @ 0x40 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldr r3, [sp, #32] │ │ │ │ │ ldr.w r4, [ip, #84] @ 0x54 │ │ │ │ │ blx r4 │ │ │ │ │ add sp, #24 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000038 : │ │ │ │ │ +0000003c : │ │ │ │ │ apply_r2hc(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ + strd r4, r5, [sp, #-24]! │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ mov r6, r0 │ │ │ │ │ mov r0, r1 │ │ │ │ │ + strd r8, lr, [sp, #16] │ │ │ │ │ sub sp, #24 │ │ │ │ │ mov r1, r2 │ │ │ │ │ ldr.w r8, [r6, #80] @ 0x50 │ │ │ │ │ mov r2, r3 │ │ │ │ │ - ldr r5, [r6, #72] @ 0x48 │ │ │ │ │ - ldr r3, [r6, #68] @ 0x44 │ │ │ │ │ - str.w r8, [sp, #20] │ │ │ │ │ + ldrd r3, r5, [r6, #68] @ 0x44 │ │ │ │ │ ldr r4, [sp, #48] @ 0x30 │ │ │ │ │ + str.w r8, [sp, #20] │ │ │ │ │ ldr r7, [r6, #76] @ 0x4c │ │ │ │ │ - strd r5, r7, [sp, #12] │ │ │ │ │ strd r3, r3, [sp, #4] │ │ │ │ │ + strd r5, r7, [sp, #12] │ │ │ │ │ ldr r3, [r6, #64] @ 0x40 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, r4 │ │ │ │ │ ldr r7, [r6, #84] @ 0x54 │ │ │ │ │ blx r7 │ │ │ │ │ cmp r5, #0 │ │ │ │ │ - ble.n 94 │ │ │ │ │ + ble.n a2 │ │ │ │ │ ldr r3, [r6, #92] @ 0x5c │ │ │ │ │ cmp.w r8, #1 │ │ │ │ │ itt eq │ │ │ │ │ moveq r0, #0 │ │ │ │ │ moveq r1, #0 │ │ │ │ │ mov.w ip, r3, lsl #3 │ │ │ │ │ it eq │ │ │ │ │ moveq r3, #0 │ │ │ │ │ - bne.n 9a │ │ │ │ │ + bne.n b2 │ │ │ │ │ add.w r2, r4, ip │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ cmp r5, r3 │ │ │ │ │ strd r0, r1, [r2] │ │ │ │ │ strd r0, r1, [r4], #8 │ │ │ │ │ - bne.n 82 │ │ │ │ │ + bne.n 8e │ │ │ │ │ add sp, #24 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldmia.w sp!, {r8, pc} │ │ │ │ │ mov.w r7, r8, lsl #3 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ add.w r2, r4, ip │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ cmp r5, r3 │ │ │ │ │ strd r0, r1, [r2] │ │ │ │ │ strd r0, r1, [r4] │ │ │ │ │ add r4, r7 │ │ │ │ │ - bne.n a4 │ │ │ │ │ - add sp, #24 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, pc} │ │ │ │ │ + bne.n c2 │ │ │ │ │ + b.n a2 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000000c0 : │ │ │ │ │ +000000dc : │ │ │ │ │ destroy(): │ │ │ │ │ bx lr │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000000c4 : │ │ │ │ │ +000000e0 : │ │ │ │ │ mkplan(): │ │ │ │ │ ldr r3, [r1, #4] │ │ │ │ │ ldr r2, [r3, #0] │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - beq.n d0 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + beq.n ee │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bx lr │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ + strd r4, r5, [sp, #-24]! │ │ │ │ │ + mov r5, r1 │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ mov r6, r0 │ │ │ │ │ ldr r0, [r1, #8] │ │ │ │ │ + strd r8, lr, [sp, #16] │ │ │ │ │ sub sp, #16 │ │ │ │ │ - mov r5, r1 │ │ │ │ │ ldr r2, [r0, #0] │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - ble.n ea │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + ble.n 11c │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ add sp, #16 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, pc} │ │ │ │ │ + ldmia.w sp!, {r8, pc} │ │ │ │ │ ldr r2, [r6, #8] │ │ │ │ │ ldr r1, [r3, #4] │ │ │ │ │ ldr r3, [r2, #0] │ │ │ │ │ cmp r1, r3 │ │ │ │ │ - bne.n e2 │ │ │ │ │ + bne.n 108 │ │ │ │ │ ldr r3, [r2, #40] @ 0x28 │ │ │ │ │ ldr r2, [r5, #28] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.n e2 │ │ │ │ │ + bne.n 108 │ │ │ │ │ add r3, sp, #12 │ │ │ │ │ add r2, sp, #8 │ │ │ │ │ add r1, sp, #4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_tornk1 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n e2 │ │ │ │ │ + beq.n 108 │ │ │ │ │ ldr r2, [r5, #12] │ │ │ │ │ ldr r3, [r5, #20] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.n 1da │ │ │ │ │ + beq.n 212 │ │ │ │ │ ldr.w r8, [r5, #28] │ │ │ │ │ cmp.w r8, #0 │ │ │ │ │ - beq.n 1be │ │ │ │ │ - ldr r2, [pc, #212] @ (1f4 ) │ │ │ │ │ - movs r0, #96 @ 0x60 │ │ │ │ │ - ldr r1, [pc, #212] @ (1f8 ) │ │ │ │ │ + beq.n 1f4 │ │ │ │ │ + ldr r2, [pc, #216] @ (22c ) │ │ │ │ │ + mov.w r0, #96 @ 0x60 │ │ │ │ │ + ldr r1, [pc, #216] @ (230 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_rdft2 │ │ │ │ │ ldr r7, [r5, #4] │ │ │ │ │ - ldr r3, [r6, #12] │ │ │ │ │ cmp.w r8, #3 │ │ │ │ │ - str r3, [r0, #84] @ 0x54 │ │ │ │ │ mov r4, r0 │ │ │ │ │ - ldrd r3, r1, [r7, #8] │ │ │ │ │ - itet ls │ │ │ │ │ - movls r2, r3 │ │ │ │ │ + ldr r3, [r6, #12] │ │ │ │ │ + ldr r1, [r7, #12] │ │ │ │ │ + str r3, [r0, #84] @ 0x54 │ │ │ │ │ + ldr r3, [r7, #8] │ │ │ │ │ + itee hi │ │ │ │ │ movhi r2, r1 │ │ │ │ │ + movls r2, r3 │ │ │ │ │ movls r3, r1 │ │ │ │ │ + ldr r0, [r5, #8] │ │ │ │ │ add.w r1, r4, #72 @ 0x48 │ │ │ │ │ strd r2, r3, [r4, #64] @ 0x40 │ │ │ │ │ - ldr r0, [r5, #8] │ │ │ │ │ - add.w r2, r4, #76 @ 0x4c │ │ │ │ │ add.w r3, r4, #80 @ 0x50 │ │ │ │ │ + add.w r2, r4, #76 @ 0x4c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_tornk1 │ │ │ │ │ ldr r3, [r7, #4] │ │ │ │ │ lsls r2, r3, #31 │ │ │ │ │ - itee mi │ │ │ │ │ + it mi │ │ │ │ │ movmi r3, #0 │ │ │ │ │ - addpl.w r3, r3, r3, lsr #31 │ │ │ │ │ - ldrpl r2, [r7, #12] │ │ │ │ │ + bmi.n 1a6 │ │ │ │ │ + ldr r2, [r7, #12] │ │ │ │ │ + add.w r3, r3, r3, lsr #31 │ │ │ │ │ + mov.w r3, r3, asr #1 │ │ │ │ │ + mul.w r3, r2, r3 │ │ │ │ │ add.w r7, r4, #8 │ │ │ │ │ - it pl │ │ │ │ │ - asrpl r3, r3, #1 │ │ │ │ │ - mov r0, r7 │ │ │ │ │ - it pl │ │ │ │ │ - mulpl r3, r2 │ │ │ │ │ strd r6, r3, [r4, #88] @ 0x58 │ │ │ │ │ + mov r0, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_zero │ │ │ │ │ ldr r3, [r6, #8] │ │ │ │ │ ldr r0, [r4, #72] @ 0x48 │ │ │ │ │ add.w r6, r3, #8 │ │ │ │ │ ldr r3, [r3, #40] @ 0x28 │ │ │ │ │ ldr r1, [r3, #4] │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ mov r2, r7 │ │ │ │ │ mov r1, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_madd2 │ │ │ │ │ ldr r3, [r5, #28] │ │ │ │ │ - cbnz r3, 1b2 │ │ │ │ │ - ldr r3, [r4, #72] @ 0x48 │ │ │ │ │ + cbnz r3, 1ea │ │ │ │ │ vldr d6, [r4, #32] │ │ │ │ │ - lsls r3, r3, #1 │ │ │ │ │ + ldr r3, [r4, #72] @ 0x48 │ │ │ │ │ + mov.w r3, r3, lsl #1 │ │ │ │ │ vmov s15, r3 │ │ │ │ │ vcvt.f64.s32 d7, s15 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vstr d6, [r4, #32] │ │ │ │ │ - movs r3, #1 │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ mov r0, r4 │ │ │ │ │ str r3, [r4, #52] @ 0x34 │ │ │ │ │ - add sp, #16 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, pc} │ │ │ │ │ - ldr r2, [pc, #60] @ (1fc ) │ │ │ │ │ - movs r0, #96 @ 0x60 │ │ │ │ │ - ldr r1, [pc, #60] @ (200 ) │ │ │ │ │ + b.n 10c │ │ │ │ │ + ldr r2, [pc, #60] @ (234 ) │ │ │ │ │ + mov.w r0, #96 @ 0x60 │ │ │ │ │ + ldr r1, [pc, #60] @ (238 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_rdft2 │ │ │ │ │ ldr r7, [r5, #4] │ │ │ │ │ - ldr r3, [r6, #12] │ │ │ │ │ mov r4, r0 │ │ │ │ │ + ldr r3, [r6, #12] │ │ │ │ │ + ldr r2, [r7, #8] │ │ │ │ │ str r3, [r0, #84] @ 0x54 │ │ │ │ │ - ldrd r2, r3, [r7, #8] │ │ │ │ │ - b.n 144 │ │ │ │ │ + ldr r3, [r7, #12] │ │ │ │ │ + b.n 178 │ │ │ │ │ ldr r3, [r5, #8] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - beq.n 114 │ │ │ │ │ + beq.n 146 │ │ │ │ │ mvn.w r1, #2147483648 @ 0x80000000 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_rdft2_inplace_strides │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w e2 │ │ │ │ │ - b.n 114 │ │ │ │ │ - .word 0x000000cc │ │ │ │ │ + beq.w 108 │ │ │ │ │ + b.n 146 │ │ │ │ │ + .word 0x000000d0 │ │ │ │ │ R_ARM_REL32 apply │ │ │ │ │ - .word 0x000000ce │ │ │ │ │ + .word 0x000000d2 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000034 │ │ │ │ │ R_ARM_REL32 apply_r2hc │ │ │ │ │ .word 0x00000036 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ │ │ │ │ │ -00000204 : │ │ │ │ │ +0000023c : │ │ │ │ │ print(): │ │ │ │ │ - push {r4, r5, r6, r7, lr} │ │ │ │ │ + str.w r4, [sp, #-20]! │ │ │ │ │ + mov r4, r1 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r0 │ │ │ │ │ ldr r6, [r0, #88] @ 0x58 │ │ │ │ │ + strd r7, lr, [sp, #12] │ │ │ │ │ sub sp, #12 │ │ │ │ │ ldr r7, [r1, #0] │ │ │ │ │ - mov r4, r1 │ │ │ │ │ ldr r3, [r6, #8] │ │ │ │ │ ldr r3, [r3, #40] @ 0x28 │ │ │ │ │ ldr r0, [r3, #0] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_rdft_kind_str │ │ │ │ │ ldr r1, [r6, #8] │ │ │ │ │ mov r2, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ ldrd r3, r1, [r1] │ │ │ │ │ str r1, [sp, #4] │ │ │ │ │ ldr r1, [r5, #72] @ 0x48 │ │ │ │ │ str r1, [sp, #0] │ │ │ │ │ - ldr r1, [pc, #8] @ (234 ) │ │ │ │ │ + ldr r1, [pc, #20] @ (284 ) │ │ │ │ │ add r1, pc │ │ │ │ │ blx r7 │ │ │ │ │ add sp, #12 │ │ │ │ │ - pop {r4, r5, r6, r7, pc} │ │ │ │ │ - .word 0x00000004 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x00000012 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ -00000238 : │ │ │ │ │ +00000288 : │ │ │ │ │ fftw_mksolver_rdft2_direct(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r1 │ │ │ │ │ - ldr r1, [pc, #16] @ (250 ) │ │ │ │ │ + ldr r1, [pc, #28] @ (2ac ) │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ mov r5, r0 │ │ │ │ │ - movs r0, #16 │ │ │ │ │ + mov.w r0, #16 │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ strd r4, r5, [r0, #8] │ │ │ │ │ - pop {r3, r4, r5, pc} │ │ │ │ │ - nop │ │ │ │ │ - .word 0x0000000a │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r5, pc} │ │ │ │ │ + .word 0x0000000e │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ ├── lt8-generic.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2572 (bytes into file) │ │ │ │ │ + Start of section headers: 2740 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 16 │ │ │ │ │ Section header string table index: 15 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,25 +1,25 @@ │ │ │ │ │ -There are 16 section headers, starting at offset 0xa0c: │ │ │ │ │ +There are 16 section headers, starting at offset 0xab4: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000474 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0008bc 000098 08 I 13 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0004a8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0004a8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0004a8 000025 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 0004cd 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0004d5 000010 00 WA 0 0 4 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000954 000020 08 I 13 7 4 │ │ │ │ │ - [ 9] .data.rel.ro.local PROGBITS 00000000 0004e5 00000c 00 WA 0 0 4 │ │ │ │ │ - [10] .rel.data.rel.ro.local REL 00000000 000974 000008 08 I 13 9 4 │ │ │ │ │ - [11] .note.GNU-stack PROGBITS 00000000 0004f1 000000 00 0 0 1 │ │ │ │ │ - [12] .ARM.attributes ARM_ATTRIBUTES 00000000 0004f1 000033 00 0 0 1 │ │ │ │ │ - [13] .symtab SYMTAB 00000000 000524 000290 10 14 31 4 │ │ │ │ │ - [14] .strtab STRTAB 00000000 0007b4 000105 00 0 0 1 │ │ │ │ │ - [15] .shstrtab STRTAB 00000000 00097c 00008f 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00051c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000964 000098 08 I 13 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000550 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000550 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000550 000025 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000575 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 00057d 000010 00 WA 0 0 4 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 0009fc 000020 08 I 13 7 4 │ │ │ │ │ + [ 9] .data.rel.ro.local PROGBITS 00000000 00058d 00000c 00 WA 0 0 4 │ │ │ │ │ + [10] .rel.data.rel.ro.local REL 00000000 000a1c 000008 08 I 13 9 4 │ │ │ │ │ + [11] .note.GNU-stack PROGBITS 00000000 000599 000000 00 0 0 1 │ │ │ │ │ + [12] .ARM.attributes ARM_ATTRIBUTES 00000000 000599 000033 00 0 0 1 │ │ │ │ │ + [13] .symtab SYMTAB 00000000 0005cc 000290 10 14 31 4 │ │ │ │ │ + [14] .strtab STRTAB 00000000 00085c 000105 00 0 0 1 │ │ │ │ │ + [15] .shstrtab STRTAB 00000000 000a24 00008f 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -2,43 +2,43 @@ │ │ │ │ │ Symbol table '.symtab' contains 41 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ 3: 00000008 0 NOTYPE LOCAL DEFAULT 5 .LC1 │ │ │ │ │ 4: 00000010 0 NOTYPE LOCAL DEFAULT 5 .LC2 │ │ │ │ │ - 5: 00000001 48 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 5: 00000001 52 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ 6: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00000024 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 8: 00000030 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 9: 00000031 392 FUNC LOCAL DEFAULT 1 apply_hc2r │ │ │ │ │ - 10: 000001b0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 11: 000001b8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 12: 000001b9 384 FUNC LOCAL DEFAULT 1 apply_r2hc │ │ │ │ │ - 13: 00000330 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 14: 00000338 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 15: 00000339 212 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 16: 00000400 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 17: 0000040c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 18: 0000040d 48 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 19: 00000438 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 20: 0000043c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 21: 00000470 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 7: 00000028 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 00000034 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 9: 00000035 444 FUNC LOCAL DEFAULT 1 apply_hc2r │ │ │ │ │ + 10: 000001e8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 11: 000001f0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 12: 000001f1 440 FUNC LOCAL DEFAULT 1 apply_r2hc │ │ │ │ │ + 13: 000003a0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 14: 000003a8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 15: 000003a9 244 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 16: 00000490 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 17: 0000049c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 18: 0000049d 52 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 19: 000004cc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 20: 000004d0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 21: 00000518 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 22: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 23: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 24: 00000000 8 OBJECT LOCAL DEFAULT 6 half_tw.0 │ │ │ │ │ 25: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 26: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 27: 00000000 16 OBJECT LOCAL DEFAULT 7 padt.1 │ │ │ │ │ 28: 00000000 0 SECTION LOCAL DEFAULT 9 .data.rel.ro.local │ │ │ │ │ 29: 00000000 0 NOTYPE LOCAL DEFAULT 9 $d │ │ │ │ │ 30: 00000000 12 OBJECT LOCAL DEFAULT 9 sadt.2 │ │ │ │ │ 31: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_malloc_plain │ │ │ │ │ 32: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ifree │ │ │ │ │ 33: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_is_prime │ │ │ │ │ 34: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_rdft │ │ │ │ │ 35: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_twiddle_awake │ │ │ │ │ - 36: 0000043d 56 FUNC GLOBAL DEFAULT 1 fftw_rdft_generic_register │ │ │ │ │ + 36: 000004d1 76 FUNC GLOBAL DEFAULT 1 fftw_rdft_generic_register │ │ │ │ │ 37: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ 38: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 39: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_solve │ │ │ │ │ 40: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_null_destroy │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,33 +1,33 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x8bc contains 19 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x964 contains 19 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000024 00000203 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -00000028 00000403 R_ARM_REL32 00000010 .LC2 │ │ │ │ │ -0000002c 00000303 R_ARM_REL32 00000008 .LC1 │ │ │ │ │ -00000136 00001f0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -00000152 0000200a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -000002c4 00001f0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -000002d0 0000200a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -00000392 0000210a R_ARM_THM_CALL 00000000 fftw_is_prime │ │ │ │ │ -000003b0 0000220a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ -00000400 00000c03 R_ARM_REL32 000001b9 apply_r2hc │ │ │ │ │ -00000404 00001903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000408 00000903 R_ARM_REL32 00000031 apply_hc2r │ │ │ │ │ -0000042c 0000230a R_ARM_THM_CALL 00000000 fftw_twiddle_awake │ │ │ │ │ -00000438 00001603 R_ARM_REL32 00000000 .rodata │ │ │ │ │ -00000448 0000250a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -00000454 0000260a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -0000045c 0000250a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -00000470 00001c03 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -0000046c 0000261e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ +00000028 00000203 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +0000002c 00000403 R_ARM_REL32 00000010 .LC2 │ │ │ │ │ +00000030 00000303 R_ARM_REL32 00000008 .LC1 │ │ │ │ │ +0000016c 00001f0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +0000018a 0000200a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +00000336 00001f0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +00000342 0000200a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +00000410 0000210a R_ARM_THM_CALL 00000000 fftw_is_prime │ │ │ │ │ +00000430 0000220a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ +00000490 00000c03 R_ARM_REL32 000001f1 apply_r2hc │ │ │ │ │ +00000494 00001903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000498 00000903 R_ARM_REL32 00000035 apply_hc2r │ │ │ │ │ +000004c2 0000230a R_ARM_THM_CALL 00000000 fftw_twiddle_awake │ │ │ │ │ +000004cc 00001603 R_ARM_REL32 00000000 .rodata │ │ │ │ │ +000004e4 0000250a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +000004f2 0000260a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +000004fc 0000250a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +00000518 00001c03 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +00000514 0000261e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x954 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x9fc contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00002702 R_ARM_ABS32 00000000 fftw_rdft_solve │ │ │ │ │ -00000004 00001202 R_ARM_ABS32 0000040d awake │ │ │ │ │ +00000004 00001202 R_ARM_ABS32 0000049d awake │ │ │ │ │ 00000008 00000502 R_ARM_ABS32 00000001 print │ │ │ │ │ 0000000c 00002802 R_ARM_ABS32 00000000 fftw_plan_null_destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x974 contains 1 entry: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0xa1c contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000f02 R_ARM_ABS32 00000339 mkplan │ │ │ │ │ +00000004 00000f02 R_ARM_ABS32 000003a9 mkplan │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -2,421 +2,443 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ print(): │ │ │ │ │ mov r3, r0 │ │ │ │ │ - push {r4} │ │ │ │ │ mov r0, r1 │ │ │ │ │ - ldr r4, [r1, #0] │ │ │ │ │ + str.w r4, [sp, #-4]! │ │ │ │ │ ldr r2, [r3, #80] @ 0x50 │ │ │ │ │ - cbnz r2, 1e │ │ │ │ │ - ldr r2, [pc, #20] @ (24 ) │ │ │ │ │ + ldr r4, [r1, #0] │ │ │ │ │ + cbnz r2, 20 │ │ │ │ │ + ldr r2, [pc, #24] @ (28 ) │ │ │ │ │ add r2, pc │ │ │ │ │ - ldr r1, [pc, #20] @ (28 ) │ │ │ │ │ + ldr r1, [pc, #24] @ (2c ) │ │ │ │ │ mov ip, r4 │ │ │ │ │ - ldr r3, [r3, #68] @ 0x44 │ │ │ │ │ ldr.w r4, [sp], #4 │ │ │ │ │ + ldr r3, [r3, #68] @ 0x44 │ │ │ │ │ add r1, pc │ │ │ │ │ bx ip │ │ │ │ │ - ldr r2, [pc, #12] @ (2c ) │ │ │ │ │ + ldr r2, [pc, #12] @ (30 ) │ │ │ │ │ add r2, pc │ │ │ │ │ - b.n 10 │ │ │ │ │ - .word 0x00000012 │ │ │ │ │ + b.n 12 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x00000014 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ - .word 0x0000000a │ │ │ │ │ + .word 0x0000000c │ │ │ │ │ R_ARM_REL32 .LC2 │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + .word 0x0000000a │ │ │ │ │ R_ARM_REL32 .LC1 │ │ │ │ │ │ │ │ │ │ -00000030 : │ │ │ │ │ +00000034 : │ │ │ │ │ apply_hc2r(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r1 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r8, r2 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #12 │ │ │ │ │ - ldrd sl, r6, [r0, #68] @ 0x44 │ │ │ │ │ + ldrd r3, sl, [r0, #64] @ 0x40 │ │ │ │ │ add r7, sp, #0 │ │ │ │ │ - ldr r3, [r0, #64] @ 0x40 │ │ │ │ │ - ldr.w fp, [r0, #76] @ 0x4c │ │ │ │ │ + ldrd r6, fp, [r0, #72] @ 0x48 │ │ │ │ │ mov.w r9, sl, lsl #3 │ │ │ │ │ ldr r4, [r3, #0] │ │ │ │ │ cmp.w r9, #65536 @ 0x10000 │ │ │ │ │ - bcs.n 134 │ │ │ │ │ - sub.w sp, sp, r9 │ │ │ │ │ + bcs.w 16a │ │ │ │ │ vldr d6, [r5] │ │ │ │ │ - mov r0, sp │ │ │ │ │ + sub.w sp, sp, r9 │ │ │ │ │ cmp.w sl, #2 │ │ │ │ │ + mov r0, sp │ │ │ │ │ vstr d6, [r0] │ │ │ │ │ - ble.n 148 │ │ │ │ │ + ble.w 180 │ │ │ │ │ add.w r1, r0, #24 │ │ │ │ │ cmp r6, #1 │ │ │ │ │ mov r2, r1 │ │ │ │ │ - bne.n 15e │ │ │ │ │ + bne.w 190 │ │ │ │ │ sub.w r3, sl, #3 │ │ │ │ │ add.w r6, r5, #8 │ │ │ │ │ - add.w ip, r5, r9 │ │ │ │ │ - adds r5, #16 │ │ │ │ │ mov.w lr, r3, lsr #1 │ │ │ │ │ + add.w ip, r5, r9 │ │ │ │ │ + add.w r5, r5, #16 │ │ │ │ │ add.w r5, r5, lr, lsl #3 │ │ │ │ │ vldmia r6!, {d7} │ │ │ │ │ - adds r2, #16 │ │ │ │ │ + add.w r2, r2, #16 │ │ │ │ │ vadd.f64 d7, d7, d7 │ │ │ │ │ cmp r6, r5 │ │ │ │ │ - vstr d7, [r2, #-32] @ 0xffffffe0 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ + vstr d7, [r2, #-32] @ 0xffffffe0 │ │ │ │ │ vldmdb ip!, {d7} │ │ │ │ │ vadd.f64 d7, d7, d7 │ │ │ │ │ vstr d7, [r2, #-24] @ 0xffffffe8 │ │ │ │ │ - bne.n 86 │ │ │ │ │ + bne.n a0 │ │ │ │ │ add.w r2, sl, #4294967295 @ 0xffffffff │ │ │ │ │ str r2, [r7, #4] │ │ │ │ │ mul.w sl, fp, r2 │ │ │ │ │ - mov.w r6, fp, lsl #3 │ │ │ │ │ - lsrs r3, r3, #1 │ │ │ │ │ - add.w r5, r8, r6 │ │ │ │ │ - vstr d6, [r8] │ │ │ │ │ sub.w ip, r9, #8 │ │ │ │ │ - add.w sl, r8, sl, lsl #3 │ │ │ │ │ + vstr d6, [r8] │ │ │ │ │ + mov.w r6, fp, lsl #3 │ │ │ │ │ mov.w fp, #1 │ │ │ │ │ + mov.w r3, r3, lsr #1 │ │ │ │ │ + add.w sl, r8, sl, lsl #3 │ │ │ │ │ + add.w r5, r8, r6 │ │ │ │ │ add.w r8, r3, #2 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ mov r2, r1 │ │ │ │ │ add.w r3, r4, #16 │ │ │ │ │ mov.w lr, #1 │ │ │ │ │ - vldr d6, [pc, #208] @ 1b0 │ │ │ │ │ - vldr d4, [r2, #-16] │ │ │ │ │ + vldr d6, [pc, #232] @ 1e8 │ │ │ │ │ add.w lr, lr, #1 │ │ │ │ │ - vldr d5, [r3, #-16] │ │ │ │ │ - adds r2, #16 │ │ │ │ │ - adds r3, #16 │ │ │ │ │ + add.w r2, r2, #16 │ │ │ │ │ + vldr d4, [r2, #-32] @ 0xffffffe0 │ │ │ │ │ cmp lr, r8 │ │ │ │ │ + add.w r3, r3, #16 │ │ │ │ │ + vldr d5, [r3, #-32] @ 0xffffffe0 │ │ │ │ │ vmla.f64 d7, d4, d5 │ │ │ │ │ vldr d4, [r2, #-24] @ 0xffffffe8 │ │ │ │ │ vldr d5, [r3, #-24] @ 0xffffffe8 │ │ │ │ │ vmla.f64 d6, d4, d5 │ │ │ │ │ - bne.n e2 │ │ │ │ │ + bne.n 100 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ add.w fp, fp, #1 │ │ │ │ │ - add r4, ip │ │ │ │ │ cmp fp, r8 │ │ │ │ │ + add r4, ip │ │ │ │ │ vstr d5, [r5] │ │ │ │ │ add r5, r6 │ │ │ │ │ vstr d7, [sl] │ │ │ │ │ sub.w sl, sl, r6 │ │ │ │ │ - bne.n d0 │ │ │ │ │ + bne.n ee │ │ │ │ │ cmp.w r9, #65536 @ 0x10000 │ │ │ │ │ - bcs.n 152 │ │ │ │ │ - adds r7, #12 │ │ │ │ │ + bcs.n 18a │ │ │ │ │ + add.w r7, r7, #12 │ │ │ │ │ mov sp, r7 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ mov r0, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ vldr d6, [r5] │ │ │ │ │ cmp.w sl, #2 │ │ │ │ │ vstr d6, [r0] │ │ │ │ │ - bgt.n 66 │ │ │ │ │ + bgt.w 7c │ │ │ │ │ cmp.w r9, #65536 @ 0x10000 │ │ │ │ │ vstr d6, [r8] │ │ │ │ │ - bcc.n 12c │ │ │ │ │ + bcc.n 14e │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ - adds r7, #12 │ │ │ │ │ - mov sp, r7 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + b.n 14e │ │ │ │ │ add.w r3, sl, #4294967295 @ 0xffffffff │ │ │ │ │ mov.w lr, r6, lsl #3 │ │ │ │ │ - str r3, [r7, #4] │ │ │ │ │ - add.w ip, r5, lr │ │ │ │ │ mul.w r6, r3, r6 │ │ │ │ │ + str r3, [r7, #4] │ │ │ │ │ sub.w r3, sl, #3 │ │ │ │ │ mov.w sl, r3, lsr #1 │ │ │ │ │ - add.w r5, r5, r6, lsl #3 │ │ │ │ │ + add.w ip, r5, lr │ │ │ │ │ add.w sl, sl, #2 │ │ │ │ │ - movs r6, #1 │ │ │ │ │ + add.w r5, r5, r6, lsl #3 │ │ │ │ │ + mov.w r6, #1 │ │ │ │ │ vldr d7, [ip] │ │ │ │ │ - adds r6, #1 │ │ │ │ │ - adds r2, #16 │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ add ip, lr │ │ │ │ │ cmp r6, sl │ │ │ │ │ + add.w r2, r2, #16 │ │ │ │ │ vadd.f64 d7, d7, d7 │ │ │ │ │ - vstr d7, [r2, #-32] @ 0xffffffe0 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ + vstr d7, [r2, #-32] @ 0xffffffe0 │ │ │ │ │ vldr d7, [r5] │ │ │ │ │ sub.w r5, r5, lr │ │ │ │ │ vadd.f64 d7, d7, d7 │ │ │ │ │ vstr d7, [r2, #-24] @ 0xffffffe8 │ │ │ │ │ - bne.n 182 │ │ │ │ │ + bne.n 1b6 │ │ │ │ │ ldr r2, [r7, #4] │ │ │ │ │ - b.n ae │ │ │ │ │ + b.n ca │ │ │ │ │ ... │ │ │ │ │ │ │ │ │ │ -000001b8 : │ │ │ │ │ +000001f0 : │ │ │ │ │ apply_r2hc(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r6, r2 │ │ │ │ │ mov r5, r1 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #12 │ │ │ │ │ - ldrd fp, r8, [r0, #68] @ 0x44 │ │ │ │ │ + ldrd r2, fp, [r0, #64] @ 0x40 │ │ │ │ │ add r7, sp, #0 │ │ │ │ │ - ldr r2, [r0, #64] @ 0x40 │ │ │ │ │ - ldr r3, [r0, #76] @ 0x4c │ │ │ │ │ + ldrd r8, r3, [r0, #72] @ 0x48 │ │ │ │ │ ldr r4, [r2, #0] │ │ │ │ │ mov.w r2, fp, lsl #3 │ │ │ │ │ cmp.w r2, #65536 @ 0x10000 │ │ │ │ │ str r2, [r7, #4] │ │ │ │ │ - bcs.n 2c0 │ │ │ │ │ + bcs.w 332 │ │ │ │ │ sub.w sp, sp, r2 │ │ │ │ │ mov r9, sp │ │ │ │ │ vldr d4, [r5] │ │ │ │ │ cmp.w fp, #2 │ │ │ │ │ vstr d4, [r9] │ │ │ │ │ - ble.n 2ac │ │ │ │ │ + ble.n 30a │ │ │ │ │ add.w sl, r9, #24 │ │ │ │ │ cmp.w r8, #1 │ │ │ │ │ mov r1, sl │ │ │ │ │ - bne.n 2dc │ │ │ │ │ + bne.w 348 │ │ │ │ │ ldr r2, [r7, #4] │ │ │ │ │ add.w r0, r5, #8 │ │ │ │ │ add.w ip, r5, r2 │ │ │ │ │ sub.w r2, fp, #3 │ │ │ │ │ - adds r5, #16 │ │ │ │ │ mov.w lr, r2, lsr #1 │ │ │ │ │ + add.w r5, r5, #16 │ │ │ │ │ add.w r5, r5, lr, lsl #3 │ │ │ │ │ vldmia r0!, {d6} │ │ │ │ │ - adds r1, #16 │ │ │ │ │ + add.w r1, r1, #16 │ │ │ │ │ vldmdb ip!, {d7} │ │ │ │ │ cmp r0, r5 │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vstr d5, [r1, #-32] @ 0xffffffe0 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ + vstr d5, [r1, #-32] @ 0xffffffe0 │ │ │ │ │ vstr d7, [r1, #-24] @ 0xffffffe8 │ │ │ │ │ - bne.n 212 │ │ │ │ │ + bne.n 260 │ │ │ │ │ add.w r1, fp, #4294967295 @ 0xffffffff │ │ │ │ │ str r1, [r7, #0] │ │ │ │ │ ldr r1, [r7, #4] │ │ │ │ │ mov.w r8, r3, lsl #3 │ │ │ │ │ - lsrs r2, r2, #1 │ │ │ │ │ + mov.w r2, r2, lsr #1 │ │ │ │ │ + vstr d4, [r6] │ │ │ │ │ add.w r5, r6, r8 │ │ │ │ │ + add.w r2, r2, #2 │ │ │ │ │ sub.w fp, r1, #8 │ │ │ │ │ ldr r1, [r7, #0] │ │ │ │ │ - vstr d4, [r6] │ │ │ │ │ - adds r2, #2 │ │ │ │ │ mul.w r1, r3, r1 │ │ │ │ │ add.w r0, r6, r1, lsl #3 │ │ │ │ │ - movs r6, #1 │ │ │ │ │ + mov.w r6, #1 │ │ │ │ │ vldr d6, [r9] │ │ │ │ │ mov ip, sl │ │ │ │ │ add.w r1, r4, #16 │ │ │ │ │ - movs r3, #1 │ │ │ │ │ - vldr d7, [pc, #196] @ 330 │ │ │ │ │ - vldr d4, [ip, #-16] │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + vldr d7, [pc, #220] @ 3a0 │ │ │ │ │ mov lr, r3 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ vldr d5, [r1, #-16] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - add.w ip, ip, #16 │ │ │ │ │ - adds r1, #16 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ + add.w ip, ip, #16 │ │ │ │ │ + add.w r1, r1, #16 │ │ │ │ │ + vldr d4, [ip, #-32] @ 0xffffffe0 │ │ │ │ │ vmla.f64 d6, d4, d5 │ │ │ │ │ - vldr d4, [ip, #-24] @ 0xffffffe8 │ │ │ │ │ vldr d5, [r1, #-24] @ 0xffffffe8 │ │ │ │ │ + vldr d4, [ip, #-24] @ 0xffffffe8 │ │ │ │ │ vmla.f64 d7, d4, d5 │ │ │ │ │ - bne.n 26c │ │ │ │ │ - vstr d6, [r5] │ │ │ │ │ + bne.n 2c4 │ │ │ │ │ + cmp r6, lr │ │ │ │ │ add r4, fp │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ - adds r3, r6, #1 │ │ │ │ │ + vstr d6, [r5] │ │ │ │ │ + add.w r3, r6, #1 │ │ │ │ │ add r5, r8 │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ sub.w r0, r0, r8 │ │ │ │ │ - cmp r6, lr │ │ │ │ │ - beq.n 2b0 │ │ │ │ │ + beq.n 30e │ │ │ │ │ mov r6, r3 │ │ │ │ │ - b.n 25c │ │ │ │ │ + b.n 2b2 │ │ │ │ │ vstr d4, [r6] │ │ │ │ │ ldr r3, [r7, #4] │ │ │ │ │ cmp.w r3, #65536 @ 0x10000 │ │ │ │ │ - bcs.n 2ce │ │ │ │ │ - adds r7, #12 │ │ │ │ │ + bcs.n 340 │ │ │ │ │ + add.w r7, r7, #12 │ │ │ │ │ mov sp, r7 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ mov r0, r2 │ │ │ │ │ str r3, [r7, #0] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ ldr r3, [r7, #0] │ │ │ │ │ mov r9, r0 │ │ │ │ │ - b.n 1e0 │ │ │ │ │ + b.n 22a │ │ │ │ │ mov r0, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ - adds r7, #12 │ │ │ │ │ - mov sp, r7 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + b.n 316 │ │ │ │ │ add.w r2, fp, #4294967295 @ 0xffffffff │ │ │ │ │ mov.w ip, r8, lsl #3 │ │ │ │ │ - str r2, [r7, #0] │ │ │ │ │ - add.w r0, r5, ip │ │ │ │ │ mov.w lr, #1 │ │ │ │ │ mul.w r8, r8, r2 │ │ │ │ │ + str r2, [r7, #0] │ │ │ │ │ sub.w r2, fp, #3 │ │ │ │ │ + add.w r0, r5, ip │ │ │ │ │ add.w r5, r5, r8, lsl #3 │ │ │ │ │ mov.w r8, r2, lsr #1 │ │ │ │ │ add.w r8, r8, #2 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ add.w lr, lr, #1 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - adds r1, #16 │ │ │ │ │ add r0, ip │ │ │ │ │ - sub.w r5, r5, ip │ │ │ │ │ cmp lr, r8 │ │ │ │ │ + add.w r1, r1, #16 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + sub.w r5, r5, ip │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vstr d5, [r1, #-32] @ 0xffffffe0 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ + vstr d5, [r1, #-32] @ 0xffffffe0 │ │ │ │ │ vstr d7, [r1, #-24] @ 0xffffffe8 │ │ │ │ │ - bne.n 302 │ │ │ │ │ - b.n 23a │ │ │ │ │ + bne.n 36e │ │ │ │ │ + b.n 28a │ │ │ │ │ + nop │ │ │ │ │ ... │ │ │ │ │ │ │ │ │ │ -00000338 : │ │ │ │ │ +000003a8 : │ │ │ │ │ mkplan(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r1 │ │ │ │ │ ldr r3, [r1, #4] │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ ldr r1, [r3, #0] │ │ │ │ │ cmp r1, #1 │ │ │ │ │ - beq.n 348 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - pop {r3, r4, r5, pc} │ │ │ │ │ + beq.n 3c6 │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + pop {r5, pc} │ │ │ │ │ ldr r1, [r4, #8] │ │ │ │ │ ldr r1, [r1, #0] │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - bne.n 344 │ │ │ │ │ + bne.n 3ba │ │ │ │ │ mov r5, r0 │ │ │ │ │ ldr r0, [r3, #4] │ │ │ │ │ cmp r0, #0 │ │ │ │ │ and.w r3, r0, #1 │ │ │ │ │ it lt │ │ │ │ │ neglt r3, r3 │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - bne.n 344 │ │ │ │ │ + bne.n 3ba │ │ │ │ │ ldr.w r3, [r2, #164] @ 0xa4 │ │ │ │ │ ubfx r2, r3, #0, #20 │ │ │ │ │ ubfx r3, r3, #6, #1 │ │ │ │ │ eor.w r3, r3, #1 │ │ │ │ │ cmp r0, #172 @ 0xac │ │ │ │ │ it le │ │ │ │ │ orrle.w r3, r3, #1 │ │ │ │ │ lsls r1, r3, #31 │ │ │ │ │ - bpl.n 344 │ │ │ │ │ + bpl.n 3ba │ │ │ │ │ ubfx r2, r2, #3, #1 │ │ │ │ │ eor.w r2, r2, #1 │ │ │ │ │ cmp r0, #16 │ │ │ │ │ it gt │ │ │ │ │ orrgt.w r2, r2, #1 │ │ │ │ │ lsls r3, r2, #31 │ │ │ │ │ - bpl.n 344 │ │ │ │ │ + bpl.n 3ba │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_is_prime │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 344 │ │ │ │ │ - ldr r3, [r4, #20] │ │ │ │ │ + beq.n 3ba │ │ │ │ │ ldr r2, [r5, #8] │ │ │ │ │ + ldr r3, [r4, #20] │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.n 344 │ │ │ │ │ + bne.n 3ba │ │ │ │ │ cmp r3, #3 │ │ │ │ │ - bhi.n 3fa │ │ │ │ │ - ldr r2, [pc, #88] @ (400 ) │ │ │ │ │ + bhi.n 488 │ │ │ │ │ + ldr r2, [pc, #104] @ (490 ) │ │ │ │ │ add r2, pc │ │ │ │ │ - ldr r1, [pc, #88] @ (404 ) │ │ │ │ │ - movs r0, #88 @ 0x58 │ │ │ │ │ + ldr r1, [pc, #104] @ (494 ) │ │ │ │ │ + mov.w r0, #88 @ 0x58 │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_rdft │ │ │ │ │ ldr r2, [r4, #4] │ │ │ │ │ vmov.f64 d6, #4 @ 0x40200000 2.5 │ │ │ │ │ ldrd r3, r1, [r2, #4] │ │ │ │ │ strd r3, r1, [r0, #68] @ 0x44 │ │ │ │ │ - subs r3, #1 │ │ │ │ │ - vmov s15, r3 │ │ │ │ │ + add.w r3, r3, #4294967295 @ 0xffffffff │ │ │ │ │ ldr r2, [r2, #12] │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - vcvt.f64.s32 d7, s15 │ │ │ │ │ + vmov s15, r3 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ str r2, [r0, #76] @ 0x4c │ │ │ │ │ - movs r2, #0 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ str r2, [r0, #64] @ 0x40 │ │ │ │ │ ldr r2, [r5, #8] │ │ │ │ │ + vcvt.f64.s32 d7, s15 │ │ │ │ │ str r2, [r0, #80] @ 0x50 │ │ │ │ │ - movs r2, #0 │ │ │ │ │ - vmul.f64 d6, d7, d6 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ strd r2, r3, [r0, #16] │ │ │ │ │ + vmul.f64 d6, d7, d6 │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ vstr d6, [r0, #8] │ │ │ │ │ vmov.f64 d6, #96 @ 0x3f000000 0.5 │ │ │ │ │ vmul.f64 d6, d7, d6 │ │ │ │ │ vmul.f64 d7, d6, d7 │ │ │ │ │ vstr d7, [r0, #24] │ │ │ │ │ - pop {r3, r4, r5, pc} │ │ │ │ │ - ldr r2, [pc, #12] @ (408 ) │ │ │ │ │ + pop {r5, pc} │ │ │ │ │ + ldr r2, [pc, #12] @ (498 ) │ │ │ │ │ add r2, pc │ │ │ │ │ - b.n 3aa │ │ │ │ │ - .word 0x00000054 │ │ │ │ │ + b.n 428 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x00000066 │ │ │ │ │ R_ARM_REL32 apply_r2hc │ │ │ │ │ - .word 0x00000052 │ │ │ │ │ + .word 0x00000062 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + .word 0x0000000a │ │ │ │ │ R_ARM_REL32 apply_hc2r │ │ │ │ │ │ │ │ │ │ -0000040c : │ │ │ │ │ +0000049c : │ │ │ │ │ awake(): │ │ │ │ │ mov ip, r0 │ │ │ │ │ - push {lr} │ │ │ │ │ - mov r0, r1 │ │ │ │ │ + str.w lr, [sp, #-4]! │ │ │ │ │ sub sp, #12 │ │ │ │ │ - add.w r1, ip, #64 @ 0x40 │ │ │ │ │ ldr.w r3, [ip, #68] @ 0x44 │ │ │ │ │ - subs r2, r3, #1 │ │ │ │ │ + mov r0, r1 │ │ │ │ │ + add.w r1, ip, #64 @ 0x40 │ │ │ │ │ + add.w r2, r3, #4294967295 @ 0xffffffff │ │ │ │ │ add.w r2, r2, r2, lsr #31 │ │ │ │ │ - asrs r2, r2, #1 │ │ │ │ │ + mov.w r2, r2, asr #1 │ │ │ │ │ strd r3, r2, [sp] │ │ │ │ │ - ldr r2, [pc, #12] @ (438 ) │ │ │ │ │ + ldr r2, [pc, #12] @ (4cc ) │ │ │ │ │ add r2, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_twiddle_awake │ │ │ │ │ add sp, #12 │ │ │ │ │ ldr.w pc, [sp], #4 │ │ │ │ │ - nop │ │ │ │ │ - .word 0x0000000a │ │ │ │ │ + .word 0x00000008 │ │ │ │ │ R_ARM_REL32 .rodata │ │ │ │ │ │ │ │ │ │ -0000043c : │ │ │ │ │ +000004d0 : │ │ │ │ │ fftw_rdft_generic_register(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - ldr r5, [pc, #44] @ (470 ) │ │ │ │ │ - movs r0, #12 │ │ │ │ │ + mov.w r0, #12 │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ + ldr r5, [pc, #56] @ (518 ) │ │ │ │ │ add r5, pc │ │ │ │ │ mov r1, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ - movs r3, #0 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - str r3, [r0, #8] │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ + str r3, [r1, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ mov r1, r5 │ │ │ │ │ - movs r0, #12 │ │ │ │ │ + mov.w r0, #12 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ - movs r3, #4 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - str r3, [r0, #8] │ │ │ │ │ + mov.w r3, #4 │ │ │ │ │ + ldrd r5, lr, [sp, #8] │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, lr} │ │ │ │ │ + str r3, [r1, #8] │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solver_register │ │ │ │ │ - .word 0x00000028 │ │ │ │ │ + .word 0x00000034 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ ├── hc2hc-direct.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 3596 (bytes into file) │ │ │ │ │ + Start of section headers: 3844 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0xe0c: │ │ │ │ │ +There are 13 section headers, starting at offset 0xf04: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0006b4 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000be4 000198 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0006e8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0006e8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0006e8 000058 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro.local PROGBITS 00000000 000740 000010 00 WA 0 0 4 │ │ │ │ │ - [ 7] .rel.data.rel.ro.local REL 00000000 000d7c 000018 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 000750 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000750 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 000784 000290 10 11 19 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 000a14 0001ce 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000d94 000076 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0007ac 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000cdc 000198 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0007e0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0007e0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0007e0 000058 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro.local PROGBITS 00000000 000838 000010 00 WA 0 0 4 │ │ │ │ │ + [ 7] .rel.data.rel.ro.local REL 00000000 000e74 000018 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 000848 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000848 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 00087c 000290 10 11 19 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 000b0c 0001ce 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000e8c 000076 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,26 +1,26 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 41 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 152 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ + 1: 00000001 202 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000099 20 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 4: 000000ad 524 FUNC LOCAL DEFAULT 1 mkcldw │ │ │ │ │ - 5: 000002ac 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000375 658 FUNC LOCAL DEFAULT 1 apply_buf │ │ │ │ │ + 3: 000000cd 24 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 4: 000000e5 580 FUNC LOCAL DEFAULT 1 mkcldw │ │ │ │ │ + 5: 0000031c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000405 716 FUNC LOCAL DEFAULT 1 apply_buf │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ 9: 00000030 0 NOTYPE LOCAL DEFAULT 5 .LC1 │ │ │ │ │ - 10: 000002b8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 11: 000002b9 120 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ - 12: 00000328 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 13: 00000330 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 14: 00000331 66 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 15: 000006a4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 10: 00000328 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 11: 00000329 140 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 12: 000003ac 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 13: 000003b4 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 14: 000003b5 78 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 15: 0000079c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 16: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro.local │ │ │ │ │ 17: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 18: 00000000 16 OBJECT LOCAL DEFAULT 6 padt.0 │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_destroy_internal │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ct_uglyp │ │ │ │ │ 21: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mktensor_1d │ │ │ │ │ 22: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mktensor_0d │ │ │ │ │ @@ -33,12 +33,12 @@ │ │ │ │ │ 29: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_twiddle_length │ │ │ │ │ 30: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_awake │ │ │ │ │ 31: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_twiddle_awake │ │ │ │ │ 32: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_cpy2d_ci │ │ │ │ │ 33: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_cpy2d_co │ │ │ │ │ 34: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_malloc_plain │ │ │ │ │ 35: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ifree │ │ │ │ │ - 36: 00000609 172 FUNC GLOBAL DEFAULT 1 fftw_regsolver_hc2hc_direct │ │ │ │ │ + 36: 000006d1 220 FUNC GLOBAL DEFAULT 1 fftw_regsolver_hc2hc_direct │ │ │ │ │ 37: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver_hc2hc │ │ │ │ │ 38: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 39: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 40: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver_hc2hc_hook │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,60 +1,60 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xbe4 contains 51 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xcdc contains 51 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000009e 0000130a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000108 0000140a R_ARM_THM_CALL 00000000 fftw_ct_uglyp │ │ │ │ │ -0000011e 0000150a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -00000124 0000160a R_ARM_THM_CALL 00000000 fftw_mktensor_0d │ │ │ │ │ -00000132 0000170a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_1_d │ │ │ │ │ -0000013a 0000180a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -0000015e 0000160a R_ARM_THM_CALL 00000000 fftw_mktensor_0d │ │ │ │ │ -00000164 0000160a R_ARM_THM_CALL 00000000 fftw_mktensor_0d │ │ │ │ │ -00000180 0000170a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_1_d │ │ │ │ │ -00000188 0000180a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -000001a4 0000190a R_ARM_THM_CALL 00000000 fftw_mkplan_hc2hc │ │ │ │ │ -000001fe 00001a0a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ -0000020e 00001b0a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -0000021c 00001c0a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ -0000022a 00001c0a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ -00000236 00001c0a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ -00000270 0000160a R_ARM_THM_CALL 00000000 fftw_mktensor_0d │ │ │ │ │ -00000296 0000150a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -000002a0 0000130a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000002a6 0000130a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000002ac 00000603 R_ARM_REL32 00000375 apply_buf │ │ │ │ │ -000002b0 00001003 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -000002b4 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ -000002d4 00001d0a R_ARM_THM_CALL 00000000 fftw_twiddle_length │ │ │ │ │ -00000302 00001d0a R_ARM_THM_CALL 00000000 fftw_twiddle_length │ │ │ │ │ -00000328 00000803 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -0000032c 00000903 R_ARM_REL32 00000030 .LC1 │ │ │ │ │ -0000033a 00001e0a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -00000342 00001e0a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -0000036a 00001f0a R_ARM_THM_CALL 00000000 fftw_twiddle_awake │ │ │ │ │ -00000452 0000200a R_ARM_THM_CALL 00000000 fftw_cpy2d_ci │ │ │ │ │ -0000047c 0000200a R_ARM_THM_CALL 00000000 fftw_cpy2d_ci │ │ │ │ │ -000004b6 0000210a R_ARM_THM_CALL 00000000 fftw_cpy2d_co │ │ │ │ │ -000004d6 0000210a R_ARM_THM_CALL 00000000 fftw_cpy2d_co │ │ │ │ │ -00000528 0000200a R_ARM_THM_CALL 00000000 fftw_cpy2d_ci │ │ │ │ │ -00000550 0000200a R_ARM_THM_CALL 00000000 fftw_cpy2d_ci │ │ │ │ │ -0000058a 0000210a R_ARM_THM_CALL 00000000 fftw_cpy2d_co │ │ │ │ │ -000005a6 0000210a R_ARM_THM_CALL 00000000 fftw_cpy2d_co │ │ │ │ │ -000005ea 0000220a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -000005fa 0000230a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -0000061e 0000250a R_ARM_THM_CALL 00000000 fftw_mksolver_hc2hc │ │ │ │ │ -00000636 0000260a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -00000656 0000260a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -0000066a 0000250a R_ARM_THM_CALL 00000000 fftw_mksolver_hc2hc │ │ │ │ │ -0000067a 0000260a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -000006a4 00000403 R_ARM_REL32 000000ad mkcldw │ │ │ │ │ -000006a8 00002719 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -000006ac 0000281a R_ARM_GOT_BREL 00000000 fftw_mksolver_hc2hc_hook │ │ │ │ │ -000006b0 00000403 R_ARM_REL32 000000ad mkcldw │ │ │ │ │ -000000a8 0000131e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ -0000069a 0000261e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ +000000d4 0000130a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000166 0000140a R_ARM_THM_CALL 00000000 fftw_ct_uglyp │ │ │ │ │ +0000017c 0000150a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +00000182 0000160a R_ARM_THM_CALL 00000000 fftw_mktensor_0d │ │ │ │ │ +00000190 0000170a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_1_d │ │ │ │ │ +00000198 0000180a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +000001be 0000160a R_ARM_THM_CALL 00000000 fftw_mktensor_0d │ │ │ │ │ +000001c4 0000160a R_ARM_THM_CALL 00000000 fftw_mktensor_0d │ │ │ │ │ +000001e0 0000170a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_1_d │ │ │ │ │ +000001e8 0000180a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +00000206 0000190a R_ARM_THM_CALL 00000000 fftw_mkplan_hc2hc │ │ │ │ │ +00000266 00001a0a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ +00000278 00001b0a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +00000286 00001c0a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ +00000294 00001c0a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ +000002a0 00001c0a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ +000002dc 0000160a R_ARM_THM_CALL 00000000 fftw_mktensor_0d │ │ │ │ │ +00000304 0000150a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +0000030e 0000130a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000316 0000130a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +0000031c 00000603 R_ARM_REL32 00000405 apply_buf │ │ │ │ │ +00000320 00001003 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +00000324 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ +0000034c 00001d0a R_ARM_THM_CALL 00000000 fftw_twiddle_length │ │ │ │ │ +00000388 00001d0a R_ARM_THM_CALL 00000000 fftw_twiddle_length │ │ │ │ │ +000003ac 00000803 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +000003b0 00000903 R_ARM_REL32 00000030 .LC1 │ │ │ │ │ +000003c4 00001e0a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +000003cc 00001e0a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +000003f4 00001f0a R_ARM_THM_CALL 00000000 fftw_twiddle_awake │ │ │ │ │ +00000502 0000200a R_ARM_THM_CALL 00000000 fftw_cpy2d_ci │ │ │ │ │ +0000052e 0000200a R_ARM_THM_CALL 00000000 fftw_cpy2d_ci │ │ │ │ │ +00000568 0000210a R_ARM_THM_CALL 00000000 fftw_cpy2d_co │ │ │ │ │ +00000588 0000210a R_ARM_THM_CALL 00000000 fftw_cpy2d_co │ │ │ │ │ +000005de 0000200a R_ARM_THM_CALL 00000000 fftw_cpy2d_ci │ │ │ │ │ +00000608 0000200a R_ARM_THM_CALL 00000000 fftw_cpy2d_ci │ │ │ │ │ +00000642 0000210a R_ARM_THM_CALL 00000000 fftw_cpy2d_co │ │ │ │ │ +0000065e 0000210a R_ARM_THM_CALL 00000000 fftw_cpy2d_co │ │ │ │ │ +000006ba 0000220a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +000006ca 0000230a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +000006fa 0000250a R_ARM_THM_CALL 00000000 fftw_mksolver_hc2hc │ │ │ │ │ +0000070c 0000260a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +0000072e 0000260a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +00000744 0000250a R_ARM_THM_CALL 00000000 fftw_mksolver_hc2hc │ │ │ │ │ +00000754 0000260a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +0000079c 00000403 R_ARM_REL32 000000e5 mkcldw │ │ │ │ │ +000007a0 00002719 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +000007a4 0000281a R_ARM_GOT_BREL 00000000 fftw_mksolver_hc2hc_hook │ │ │ │ │ +000007a8 00000403 R_ARM_REL32 000000e5 mkcldw │ │ │ │ │ +000000e0 0000131e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000784 0000261e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0xd7c contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0xe74 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000e02 R_ARM_ABS32 00000331 awake │ │ │ │ │ -00000008 00000b02 R_ARM_ABS32 000002b9 print │ │ │ │ │ -0000000c 00000302 R_ARM_ABS32 00000099 destroy │ │ │ │ │ +00000004 00000e02 R_ARM_ABS32 000003b5 awake │ │ │ │ │ +00000008 00000b02 R_ARM_ABS32 00000329 print │ │ │ │ │ +0000000c 00000302 R_ARM_ABS32 000000cd destroy │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,9 +1,7 @@ │ │ │ │ │ -DJzDDIx yD │ │ │ │ │ -CF~l9lxm2F │ │ │ │ │ (hc2hc-directbuf/%D-%D/%D%v "%s"%(%p%)%(%p%)) │ │ │ │ │ (hc2hc-direct-%D/%D%v "%s"%(%p%)%(%p%)) │ │ │ │ │ apply_buf │ │ │ │ │ fftw_plan_destroy_internal │ │ │ │ │ fftw_ct_uglyp │ │ │ │ │ fftw_mktensor_1d │ │ │ │ │ fftw_mktensor_0d │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,733 +1,771 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ apply(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r5, r0 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ mov r4, r1 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r5, r0 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ ldrd r7, r9, [r0, #68] @ 0x44 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #44 @ 0x2c │ │ │ │ │ ldrd r3, r0, [r0, #80] @ 0x50 │ │ │ │ │ + ldr.w sl, [r5, #88] @ 0x58 │ │ │ │ │ ldrd r1, r2, [r5, #96] @ 0x60 │ │ │ │ │ - str r2, [sp, #20] │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - ldrd sl, r2, [r5, #88] @ 0x58 │ │ │ │ │ - ble.n 92 │ │ │ │ │ - subs r6, r3, r1 │ │ │ │ │ + str r2, [sp, #20] │ │ │ │ │ + ldr r2, [r5, #92] @ 0x5c │ │ │ │ │ + ble.n b2 │ │ │ │ │ + sub.w r6, r3, r1 │ │ │ │ │ add.w r3, r3, r3, lsr #31 │ │ │ │ │ - mul.w r8, sl, r1 │ │ │ │ │ strd r1, sl, [sp, #32] │ │ │ │ │ - asrs r3, r3, #1 │ │ │ │ │ - mov.w fp, r2, lsl #3 │ │ │ │ │ + mul.w r8, sl, r1 │ │ │ │ │ + mov.w r3, r3, asr #1 │ │ │ │ │ mul.w r6, sl, r6 │ │ │ │ │ mov.w r8, r8, lsl #3 │ │ │ │ │ mul.w r3, sl, r3 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ mov sl, r8 │ │ │ │ │ mov r8, r0 │ │ │ │ │ - lsls r6, r6, #3 │ │ │ │ │ - str r6, [sp, #24] │ │ │ │ │ - movs r6, #0 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ + mov.w fp, r2, lsl #3 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + strd r6, r3, [sp, #24] │ │ │ │ │ + mov.w r6, #0 │ │ │ │ │ str r6, [sp, #16] │ │ │ │ │ - str r3, [sp, #28] │ │ │ │ │ + ldr r3, [r7, #56] @ 0x38 │ │ │ │ │ mov r2, r4 │ │ │ │ │ mov r1, r4 │ │ │ │ │ - ldr r3, [r7, #56] @ 0x38 │ │ │ │ │ mov r0, r7 │ │ │ │ │ blx r3 │ │ │ │ │ ldr r3, [r5, #112] @ 0x70 │ │ │ │ │ - ldr r1, [sp, #24] │ │ │ │ │ add.w r0, r4, sl │ │ │ │ │ + ldr r1, [sp, #24] │ │ │ │ │ ldr r2, [r3, #0] │ │ │ │ │ - adds r1, r4, r1 │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ + add r1, r4 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr r3, [sp, #32] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - ldr r3, [r5, #104] @ 0x68 │ │ │ │ │ ldr r6, [r5, #64] @ 0x40 │ │ │ │ │ + ldr r3, [r5, #104] @ 0x68 │ │ │ │ │ blx r6 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ mov r0, r9 │ │ │ │ │ - adds r2, r3, r4 │ │ │ │ │ + add.w r2, r3, r4 │ │ │ │ │ ldr.w r3, [r9, #56] @ 0x38 │ │ │ │ │ - mov r1, r2 │ │ │ │ │ add r4, fp │ │ │ │ │ + mov r1, r2 │ │ │ │ │ blx r3 │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #16] │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ cmp r8, r3 │ │ │ │ │ - bne.n 50 │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ + bne.n 6c │ │ │ │ │ add sp, #44 @ 0x2c │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000098 : │ │ │ │ │ +000000cc : │ │ │ │ │ destroy(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldr r0, [r0, #68] @ 0x44 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ ldr r0, [r4, #72] @ 0x48 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_destroy_internal │ │ │ │ │ │ │ │ │ │ -000000ac : │ │ │ │ │ +000000e4 : │ │ │ │ │ mkcldw(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r6, r2 │ │ │ │ │ mov r5, r3 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ add.w r3, r3, r3, lsr #31 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #28 │ │ │ │ │ - mov r6, r2 │ │ │ │ │ - asrs r3, r3, #1 │ │ │ │ │ - ldr.w r9, [r0, #16] │ │ │ │ │ + mov.w r3, r3, asr #1 │ │ │ │ │ ldr r2, [sp, #64] @ 0x40 │ │ │ │ │ + ldr.w r9, [r0, #16] │ │ │ │ │ mul.w r3, r2, r3 │ │ │ │ │ - str r3, [sp, #12] │ │ │ │ │ mul.w sl, r2, r5 │ │ │ │ │ + str r3, [sp, #12] │ │ │ │ │ ldr.w r3, [r9] │ │ │ │ │ cmp r6, r3 │ │ │ │ │ - beq.n dc │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + beq.n 13a │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #28 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ ldr.w r3, [r9, #12] │ │ │ │ │ mov r4, r1 │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ cmp r1, r3 │ │ │ │ │ - bne.n d4 │ │ │ │ │ + bne.n 11e │ │ │ │ │ ldr r3, [sp, #88] @ 0x58 │ │ │ │ │ mov r7, r0 │ │ │ │ │ ldr.w r3, [r3, #164] @ 0xa4 │ │ │ │ │ lsls r3, r3, #15 │ │ │ │ │ - bpl.n 110 │ │ │ │ │ + bpl.n 16e │ │ │ │ │ ldr r3, [r0, #24] │ │ │ │ │ mul.w r2, r6, r5 │ │ │ │ │ ldr r1, [sp, #68] @ 0x44 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ mov r3, r6 │ │ │ │ │ ite eq │ │ │ │ │ moveq r0, #16 │ │ │ │ │ movne.w r0, #512 @ 0x200 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ct_uglyp │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.n d4 │ │ │ │ │ + bne.n 11e │ │ │ │ │ ldr r3, [sp, #76] @ 0x4c │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bne.w 270 │ │ │ │ │ + bne.w 2dc │ │ │ │ │ mov r2, sl │ │ │ │ │ mov r1, sl │ │ │ │ │ mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ mov r8, r0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_0d │ │ │ │ │ ldr r3, [sp, #84] @ 0x54 │ │ │ │ │ mov r1, r0 │ │ │ │ │ + mov r0, r8 │ │ │ │ │ str r4, [sp, #0] │ │ │ │ │ mov r2, r3 │ │ │ │ │ - mov r0, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_1_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ ldr r0, [sp, #88] @ 0x58 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ str r0, [sp, #8] │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 29e │ │ │ │ │ + beq.w 30c │ │ │ │ │ ldrd r3, r2, [sp, #76] @ 0x4c │ │ │ │ │ add.w fp, r3, r2 │ │ │ │ │ - adds r2, r5, #2 │ │ │ │ │ - str r2, [sp, #20] │ │ │ │ │ + add.w r2, r5, #2 │ │ │ │ │ mov.w r3, fp, lsl #1 │ │ │ │ │ - str r3, [sp, #16] │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - beq.w 290 │ │ │ │ │ + strd r3, r2, [sp, #16] │ │ │ │ │ + beq.w 2fe │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_0d │ │ │ │ │ mov r8, r0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_0d │ │ │ │ │ ldr r2, [sp, #12] │ │ │ │ │ - ldr r3, [sp, #84] @ 0x54 │ │ │ │ │ cmp r4, #0 │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r8 │ │ │ │ │ + ldr r3, [sp, #84] @ 0x54 │ │ │ │ │ add.w r3, r3, r2, lsl #3 │ │ │ │ │ ite ne │ │ │ │ │ movne r2, #6 │ │ │ │ │ moveq r2, #1 │ │ │ │ │ str r2, [sp, #0] │ │ │ │ │ mov r2, r3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_1_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ ldr r0, [sp, #88] @ 0x58 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov r8, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 29e │ │ │ │ │ + beq.w 30c │ │ │ │ │ ldr r3, [r7, #24] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - beq.n 28a │ │ │ │ │ - ldr r2, [pc, #272] @ (2ac ) │ │ │ │ │ + beq.n 2f8 │ │ │ │ │ + ldr r2, [pc, #288] @ (31c ) │ │ │ │ │ add r2, pc │ │ │ │ │ - ldr r1, [pc, #272] @ (2b0 ) │ │ │ │ │ - movs r0, #120 @ 0x78 │ │ │ │ │ + ldr r1, [pc, #288] @ (320 ) │ │ │ │ │ + mov.w r0, #120 @ 0x78 │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_hc2hc │ │ │ │ │ - adds r2, r6, #3 │ │ │ │ │ - bic.w r2, r2, #3 │ │ │ │ │ ldr r3, [r7, #20] │ │ │ │ │ - adds r2, #2 │ │ │ │ │ - str r3, [r0, #64] @ 0x40 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - str r3, [r0, #112] @ 0x70 │ │ │ │ │ - lsls r2, r2, #1 │ │ │ │ │ - str r2, [r0, #108] @ 0x6c │ │ │ │ │ - ldr r2, [sp, #76] @ 0x4c │ │ │ │ │ + add.w r2, r6, #3 │ │ │ │ │ mov r4, r0 │ │ │ │ │ + bic.w r2, r2, #3 │ │ │ │ │ + add.w r2, r2, #2 │ │ │ │ │ + ldr r1, [sp, #20] │ │ │ │ │ + mov.w r2, r2, lsl #1 │ │ │ │ │ + str r3, [r0, #64] @ 0x40 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + strd r8, r6, [r0, #72] @ 0x48 │ │ │ │ │ + str r5, [r0, #80] @ 0x50 │ │ │ │ │ + strd sl, r2, [r0, #104] @ 0x68 │ │ │ │ │ + add.w sl, r0, #8 │ │ │ │ │ + str r7, [r0, #116] @ 0x74 │ │ │ │ │ + mov r0, sl │ │ │ │ │ + str r3, [r4, #112] @ 0x70 │ │ │ │ │ ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ - str r3, [r0, #88] @ 0x58 │ │ │ │ │ + ldr r2, [sp, #76] @ 0x4c │ │ │ │ │ + str r3, [r4, #88] @ 0x58 │ │ │ │ │ + ldr r3, [sp, #68] @ 0x44 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ it eq │ │ │ │ │ addeq r2, #1 │ │ │ │ │ - ldr r3, [sp, #68] @ 0x44 │ │ │ │ │ - str r2, [r0, #96] @ 0x60 │ │ │ │ │ - ldrd r2, r1, [sp, #16] │ │ │ │ │ - str r3, [r0, #84] @ 0x54 │ │ │ │ │ + str r3, [r4, #84] @ 0x54 │ │ │ │ │ ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ - str.w sl, [r0, #104] @ 0x68 │ │ │ │ │ - add.w sl, r0, #8 │ │ │ │ │ - str r3, [r0, #92] @ 0x5c │ │ │ │ │ + str r2, [r4, #96] @ 0x60 │ │ │ │ │ + ldr r2, [sp, #16] │ │ │ │ │ + str r3, [r4, #92] @ 0x5c │ │ │ │ │ + ldr r3, [sp, #8] │ │ │ │ │ cmp r2, r1 │ │ │ │ │ ite ne │ │ │ │ │ movne r2, fp │ │ │ │ │ subeq.w r2, fp, #1 │ │ │ │ │ - ldr r3, [sp, #8] │ │ │ │ │ add.w fp, r9, #16 │ │ │ │ │ - strd r3, r8, [r0, #68] @ 0x44 │ │ │ │ │ - str r2, [r0, #100] @ 0x64 │ │ │ │ │ - str r6, [r0, #76] @ 0x4c │ │ │ │ │ - str r5, [r0, #80] @ 0x50 │ │ │ │ │ - str r7, [r0, #116] @ 0x74 │ │ │ │ │ - mov r0, sl │ │ │ │ │ + str r3, [r4, #68] @ 0x44 │ │ │ │ │ + str r2, [r4, #100] @ 0x64 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_zero │ │ │ │ │ ldr.w r1, [r9, #12] │ │ │ │ │ ldrd r2, r0, [r4, #96] @ 0x60 │ │ │ │ │ ldr r1, [r1, #4] │ │ │ │ │ - subs r0, r0, r2 │ │ │ │ │ + sub.w r0, r0, r2 │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ ldr r3, [sp, #68] @ 0x44 │ │ │ │ │ mov r2, sl │ │ │ │ │ mov r1, fp │ │ │ │ │ mul.w r0, r3, r0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_madd2 │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ - ldr r0, [sp, #68] @ 0x44 │ │ │ │ │ mov r2, sl │ │ │ │ │ + ldr r0, [sp, #68] @ 0x44 │ │ │ │ │ add.w r1, r3, #8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_madd2 │ │ │ │ │ - mov r2, sl │ │ │ │ │ ldr r0, [sp, #68] @ 0x44 │ │ │ │ │ + mov r2, sl │ │ │ │ │ add.w r1, r8, #8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_madd2 │ │ │ │ │ ldr r2, [r7, #24] │ │ │ │ │ - cbz r2, 278 │ │ │ │ │ - ldrd r1, r2, [r4, #96] @ 0x60 │ │ │ │ │ + cbz r2, 2e4 │ │ │ │ │ ldr r3, [sp, #68] @ 0x44 │ │ │ │ │ - subs r2, r2, r1 │ │ │ │ │ + ldrd r1, r2, [r4, #96] @ 0x60 │ │ │ │ │ vldr d6, [r4, #32] │ │ │ │ │ + sub.w r2, r2, r1 │ │ │ │ │ mul.w r2, r6, r2 │ │ │ │ │ mul.w r2, r3, r2 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - lsls r2, r2, #2 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + mov.w r2, r2, lsl #2 │ │ │ │ │ vmov s15, r2 │ │ │ │ │ vcvt.f64.s32 d7, s15 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vstr d6, [r4, #32] │ │ │ │ │ mov r0, r4 │ │ │ │ │ str r3, [r4, #52] @ 0x34 │ │ │ │ │ - add sp, #28 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + b.n 122 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_0d │ │ │ │ │ mov r8, r0 │ │ │ │ │ - b.n 124 │ │ │ │ │ - subs r3, r6, #5 │ │ │ │ │ + b.n 182 │ │ │ │ │ + sub.w r3, r6, #5 │ │ │ │ │ cmp r3, #58 @ 0x3a │ │ │ │ │ ite hi │ │ │ │ │ movhi r3, #0 │ │ │ │ │ movls r3, #1 │ │ │ │ │ cmp r5, r6 │ │ │ │ │ it lt │ │ │ │ │ movlt r3, #0 │ │ │ │ │ - b.n 266 │ │ │ │ │ - ldr r2, [pc, #40] @ (2b4 ) │ │ │ │ │ + b.n 2d6 │ │ │ │ │ + ldr r2, [pc, #40] @ (324 ) │ │ │ │ │ add r2, pc │ │ │ │ │ - b.n 19e │ │ │ │ │ + b.n 1fe │ │ │ │ │ mov r2, sl │ │ │ │ │ mov r1, sl │ │ │ │ │ mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ mov r8, r0 │ │ │ │ │ - b.n 164 │ │ │ │ │ + b.n 1c4 │ │ │ │ │ ldr r0, [sp, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ - b.n d4 │ │ │ │ │ - .word 0x0000010c │ │ │ │ │ + b.n 11e │ │ │ │ │ + .word 0x0000011c │ │ │ │ │ R_ARM_REL32 apply_buf │ │ │ │ │ - .word 0x0000010a │ │ │ │ │ + .word 0x00000118 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ │ │ - .word 0x00000024 │ │ │ │ │ + .word 0x00000026 │ │ │ │ │ R_ARM_REL32 apply │ │ │ │ │ │ │ │ │ │ -000002b8 : │ │ │ │ │ +00000328 : │ │ │ │ │ print(): │ │ │ │ │ ldr r3, [r0, #116] @ 0x74 │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ + strd r4, r5, [sp, #-24]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ + mov r5, r1 │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ ldr r6, [r0, #76] @ 0x4c │ │ │ │ │ + strd r8, lr, [sp, #16] │ │ │ │ │ + sub sp, #24 │ │ │ │ │ ldr r7, [r3, #16] │ │ │ │ │ - mov r5, r1 │ │ │ │ │ ldr r3, [r3, #24] │ │ │ │ │ - sub sp, #24 │ │ │ │ │ - ldr.w r8, [r1] │ │ │ │ │ mov r0, r6 │ │ │ │ │ + ldr.w r8, [r1] │ │ │ │ │ ldr r1, [r7, #8] │ │ │ │ │ - cbz r3, 302 │ │ │ │ │ + cbz r3, 388 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_twiddle_length │ │ │ │ │ ldr r3, [r4, #72] @ 0x48 │ │ │ │ │ - str r3, [sp, #16] │ │ │ │ │ - adds r2, r6, #3 │ │ │ │ │ - ldr r1, [pc, #72] @ (328 ) │ │ │ │ │ + add.w r2, r6, #3 │ │ │ │ │ bic.w r2, r2, #3 │ │ │ │ │ + ldr r1, [pc, #80] @ (3ac ) │ │ │ │ │ + add.w r2, r2, #2 │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ ldr r3, [r4, #68] @ 0x44 │ │ │ │ │ - adds r2, #2 │ │ │ │ │ - str r3, [sp, #12] │ │ │ │ │ add r1, pc │ │ │ │ │ + str r3, [sp, #12] │ │ │ │ │ ldr r3, [r7, #4] │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr r3, [r4, #84] @ 0x54 │ │ │ │ │ strd r0, r3, [sp] │ │ │ │ │ mov r3, r6 │ │ │ │ │ mov r0, r5 │ │ │ │ │ blx r8 │ │ │ │ │ add sp, #24 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldmia.w sp!, {r8, pc} │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_twiddle_length │ │ │ │ │ ldr r2, [r4, #72] @ 0x48 │ │ │ │ │ - str r2, [sp, #12] │ │ │ │ │ mov r3, r0 │ │ │ │ │ - ldr r1, [pc, #28] @ (32c ) │ │ │ │ │ mov r0, r5 │ │ │ │ │ + ldr r1, [pc, #28] @ (3b0 ) │ │ │ │ │ + str r2, [sp, #12] │ │ │ │ │ ldr r2, [r4, #68] @ 0x44 │ │ │ │ │ - str r2, [sp, #8] │ │ │ │ │ add r1, pc │ │ │ │ │ + str r2, [sp, #8] │ │ │ │ │ ldr r2, [r7, #4] │ │ │ │ │ str r2, [sp, #4] │ │ │ │ │ ldr r2, [r4, #84] @ 0x54 │ │ │ │ │ str r2, [sp, #0] │ │ │ │ │ mov r2, r6 │ │ │ │ │ blx r8 │ │ │ │ │ - add sp, #24 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, pc} │ │ │ │ │ - .word 0x0000003a │ │ │ │ │ + b.n 378 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x00000044 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ .word 0x00000014 │ │ │ │ │ R_ARM_REL32 .LC1 │ │ │ │ │ │ │ │ │ │ -00000330 : │ │ │ │ │ +000003b4 : │ │ │ │ │ awake(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - mov r6, r1 │ │ │ │ │ - sub sp, #8 │ │ │ │ │ ldr r0, [r0, #68] @ 0x44 │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ + sub sp, #8 │ │ │ │ │ + mov r6, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ ldr r0, [r4, #72] @ 0x48 │ │ │ │ │ mov r1, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ - ldr r2, [r4, #116] @ 0x74 │ │ │ │ │ ldrd r3, r1, [r4, #76] @ 0x4c │ │ │ │ │ mov r0, r6 │ │ │ │ │ - ldr r2, [r2, #16] │ │ │ │ │ + ldr r2, [r4, #116] @ 0x74 │ │ │ │ │ add.w ip, r1, #4294967295 @ 0xffffffff │ │ │ │ │ add.w ip, ip, ip, lsr #31 │ │ │ │ │ - ldr r2, [r2, #8] │ │ │ │ │ + ldr r2, [r2, #16] │ │ │ │ │ mov.w r5, ip, asr #1 │ │ │ │ │ + ldr r2, [r2, #8] │ │ │ │ │ strd r3, r5, [sp] │ │ │ │ │ mul.w r3, r1, r3 │ │ │ │ │ add.w r1, r4, #112 @ 0x70 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_twiddle_awake │ │ │ │ │ add sp, #8 │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000374 : │ │ │ │ │ +00000404 : │ │ │ │ │ apply_buf(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r8, r0 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #116 @ 0x74 │ │ │ │ │ - add r7, sp, #24 │ │ │ │ │ ldr r3, [r0, #68] @ 0x44 │ │ │ │ │ + add r7, sp, #24 │ │ │ │ │ + ldr r4, [r0, #80] @ 0x50 │ │ │ │ │ ldr r2, [r0, #96] @ 0x60 │ │ │ │ │ ldr r5, [r0, #88] @ 0x58 │ │ │ │ │ str r3, [r7, #32] │ │ │ │ │ ldr r3, [r0, #72] @ 0x48 │ │ │ │ │ - str r3, [r7, #28] │ │ │ │ │ - ldr r3, [r0, #76] @ 0x4c │ │ │ │ │ str r2, [r7, #8] │ │ │ │ │ ldr r2, [r0, #100] @ 0x64 │ │ │ │ │ + str r3, [r7, #28] │ │ │ │ │ + ldr r3, [r0, #76] @ 0x4c │ │ │ │ │ str r2, [r7, #44] @ 0x2c │ │ │ │ │ - adds r2, r3, #3 │ │ │ │ │ - bic.w r2, r2, #3 │ │ │ │ │ str r1, [r7, #52] @ 0x34 │ │ │ │ │ + ldr r1, [r0, #84] @ 0x54 │ │ │ │ │ + add.w r2, r3, #3 │ │ │ │ │ + bic.w r2, r2, #3 │ │ │ │ │ add.w r9, r2, #2 │ │ │ │ │ - ldrd r4, r1, [r0, #80] @ 0x50 │ │ │ │ │ mul.w r3, r9, r3 │ │ │ │ │ - lsls r6, r3, #4 │ │ │ │ │ + mov.w r6, r3, lsl #4 │ │ │ │ │ cmp.w r6, #65536 @ 0x10000 │ │ │ │ │ - bcs.w 5e6 │ │ │ │ │ + bcs.w 6b6 │ │ │ │ │ sub.w sp, sp, r6 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ add r3, sp, #24 │ │ │ │ │ str r3, [r7, #84] @ 0x54 │ │ │ │ │ - ble.w 5d8 │ │ │ │ │ + ble.w 694 │ │ │ │ │ mul.w r3, r5, r4 │ │ │ │ │ mov fp, r9 │ │ │ │ │ mov sl, r8 │ │ │ │ │ - str r1, [r7, #12] │ │ │ │ │ str r6, [r7, #4] │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ + str r1, [r7, #12] │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ str r3, [r7, #24] │ │ │ │ │ ldr r3, [r7, #8] │ │ │ │ │ add r3, r9 │ │ │ │ │ str r3, [r7, #16] │ │ │ │ │ add.w r3, r4, r4, lsr #31 │ │ │ │ │ - asrs r3, r3, #1 │ │ │ │ │ + mov.w r3, r3, asr #1 │ │ │ │ │ mul.w r3, r5, r3 │ │ │ │ │ - movs r5, #1 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ + mov.w r5, #1 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ str r3, [r7, #20] │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ str r3, [r7, #36] @ 0x24 │ │ │ │ │ + ldr r3, [r7, #24] │ │ │ │ │ ldr r0, [r7, #32] │ │ │ │ │ ldr r2, [r7, #52] @ 0x34 │ │ │ │ │ - ldr r3, [r7, #24] │ │ │ │ │ + add r3, r2 │ │ │ │ │ mov r1, r2 │ │ │ │ │ - adds r3, r2, r3 │ │ │ │ │ str r3, [r7, #40] @ 0x28 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ blx r3 │ │ │ │ │ - ldr r2, [r7, #44] @ 0x2c │ │ │ │ │ ldr r3, [r7, #16] │ │ │ │ │ + ldr r2, [r7, #44] @ 0x2c │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - ble.w 5e0 │ │ │ │ │ + ble.w 6b0 │ │ │ │ │ mov r9, r3 │ │ │ │ │ str.w fp, [r7, #80] @ 0x50 │ │ │ │ │ - ldrd r0, r8, [sl, #104] @ 0x68 │ │ │ │ │ - str.w r9, [r7, #48] @ 0x30 │ │ │ │ │ ldr.w r3, [sl, #76] @ 0x4c │ │ │ │ │ - ldr r2, [r7, #80] @ 0x50 │ │ │ │ │ - ldr.w fp, [sl, #88] @ 0x58 │ │ │ │ │ + str.w r9, [r7, #48] @ 0x30 │ │ │ │ │ + ldrd r2, r1, [r7, #80] @ 0x50 │ │ │ │ │ + ldrd r0, r8, [sl, #104] @ 0x68 │ │ │ │ │ mov r6, r3 │ │ │ │ │ - ldr r1, [r7, #84] @ 0x54 │ │ │ │ │ + ldr.w fp, [sl, #88] @ 0x58 │ │ │ │ │ sub.w r2, r9, r2 │ │ │ │ │ add.w r3, r8, #536870912 @ 0x20000000 │ │ │ │ │ str r2, [r7, #56] @ 0x38 │ │ │ │ │ - subs r3, #1 │ │ │ │ │ + add.w r3, r3, #4294967295 @ 0xffffffff │ │ │ │ │ add.w r4, r1, r3, lsl #3 │ │ │ │ │ + ldr r3, [r7, #52] @ 0x34 │ │ │ │ │ str r4, [r7, #72] @ 0x48 │ │ │ │ │ mul.w r4, r2, fp │ │ │ │ │ - ldr r3, [r7, #52] @ 0x34 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ add r3, r4 │ │ │ │ │ str r3, [r7, #64] @ 0x40 │ │ │ │ │ - strd r5, r5, [sp, #12] │ │ │ │ │ mov r3, r0 │ │ │ │ │ - str.w fp, [sp, #8] │ │ │ │ │ + strd fp, r5, [sp, #8] │ │ │ │ │ + str r5, [sp, #16] │ │ │ │ │ ldr r2, [r7, #80] @ 0x50 │ │ │ │ │ strd r8, r2, [sp] │ │ │ │ │ mov r2, r6 │ │ │ │ │ str r0, [r7, #76] @ 0x4c │ │ │ │ │ ldr r0, [r7, #64] @ 0x40 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_ci │ │ │ │ │ ldr r0, [r7, #40] @ 0x28 │ │ │ │ │ - subs r4, r0, r4 │ │ │ │ │ + sub.w r4, r0, r4 │ │ │ │ │ mov.w r0, #4294967295 @ 0xffffffff │ │ │ │ │ str r4, [r7, #60] @ 0x3c │ │ │ │ │ rsb r4, fp, #0 │ │ │ │ │ - strd r4, r0, [sp, #8] │ │ │ │ │ - str r5, [sp, #16] │ │ │ │ │ + str r4, [sp, #8] │ │ │ │ │ + strd r0, r5, [sp, #12] │ │ │ │ │ ldr r2, [r7, #80] @ 0x50 │ │ │ │ │ strd r8, r2, [sp] │ │ │ │ │ mov r2, r6 │ │ │ │ │ str r6, [r7, #68] @ 0x44 │ │ │ │ │ - ldr r6, [r7, #72] @ 0x48 │ │ │ │ │ - ldr r3, [r7, #76] @ 0x4c │ │ │ │ │ - mov r1, r6 │ │ │ │ │ ldr r0, [r7, #60] @ 0x3c │ │ │ │ │ + ldrd r6, r3, [r7, #72] @ 0x48 │ │ │ │ │ + mov r1, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_ci │ │ │ │ │ ldr.w r3, [sl, #112] @ 0x70 │ │ │ │ │ mov r1, r6 │ │ │ │ │ ldr r2, [r3, #0] │ │ │ │ │ strd r9, r5, [sp, #4] │ │ │ │ │ ldr r3, [r7, #56] @ 0x38 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldr r0, [r7, #84] @ 0x54 │ │ │ │ │ - ldr.w r3, [sl, #108] @ 0x6c │ │ │ │ │ str r6, [r7, #72] @ 0x48 │ │ │ │ │ ldr.w r6, [sl, #64] @ 0x40 │ │ │ │ │ + ldr.w r3, [sl, #108] @ 0x6c │ │ │ │ │ blx r6 │ │ │ │ │ - strd fp, r5, [sp, #12] │ │ │ │ │ - str r5, [sp, #8] │ │ │ │ │ + strd r5, fp, [sp, #8] │ │ │ │ │ + str r5, [sp, #16] │ │ │ │ │ ldr r6, [r7, #80] @ 0x50 │ │ │ │ │ str r6, [sp, #4] │ │ │ │ │ ldr r3, [r7, #76] @ 0x4c │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, r8 │ │ │ │ │ - ldr r6, [r7, #68] @ 0x44 │ │ │ │ │ - ldr r1, [r7, #64] @ 0x40 │ │ │ │ │ + ldrd r1, r6, [r7, #64] @ 0x40 │ │ │ │ │ ldr r0, [r7, #84] @ 0x54 │ │ │ │ │ mov r2, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_co │ │ │ │ │ - strd r4, r5, [sp, #12] │ │ │ │ │ mov.w r3, #4294967295 @ 0xffffffff │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ - ldr r4, [r7, #80] @ 0x50 │ │ │ │ │ mov r2, r6 │ │ │ │ │ + str r5, [sp, #16] │ │ │ │ │ + strd r3, r4, [sp, #8] │ │ │ │ │ + ldr r4, [r7, #80] @ 0x50 │ │ │ │ │ str r4, [sp, #4] │ │ │ │ │ - ldr r3, [r7, #76] @ 0x4c │ │ │ │ │ add r9, r4 │ │ │ │ │ + ldr r3, [r7, #76] @ 0x4c │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, r8 │ │ │ │ │ ldr r1, [r7, #60] @ 0x3c │ │ │ │ │ ldr r0, [r7, #72] @ 0x48 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_co │ │ │ │ │ ldr r3, [r7, #44] @ 0x2c │ │ │ │ │ cmp r3, r9 │ │ │ │ │ - bgt.n 408 │ │ │ │ │ + bgt.n 4b6 │ │ │ │ │ ldr.w fp, [r7, #80] @ 0x50 │ │ │ │ │ - ldrd r6, r8, [sl, #104] @ 0x68 │ │ │ │ │ - str r6, [r7, #76] @ 0x4c │ │ │ │ │ ldr.w r3, [sl, #76] @ 0x4c │ │ │ │ │ + ldrd r6, r8, [sl, #104] @ 0x68 │ │ │ │ │ ldr r1, [r7, #84] @ 0x54 │ │ │ │ │ - str r3, [r7, #72] @ 0x48 │ │ │ │ │ + strd r3, r6, [r7, #72] @ 0x48 │ │ │ │ │ add.w r3, r8, #536870912 @ 0x20000000 │ │ │ │ │ - subs r3, #1 │ │ │ │ │ + add.w r3, r3, #4294967295 @ 0xffffffff │ │ │ │ │ ldr.w r6, [sl, #88] @ 0x58 │ │ │ │ │ add.w r2, r1, r3, lsl #3 │ │ │ │ │ ldr r3, [r7, #48] @ 0x30 │ │ │ │ │ str r2, [r7, #80] @ 0x50 │ │ │ │ │ ldr r2, [r7, #52] @ 0x34 │ │ │ │ │ mul.w r4, r3, r6 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ - adds r0, r2, r4 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + add.w r0, r2, r4 │ │ │ │ │ str r0, [r7, #68] @ 0x44 │ │ │ │ │ ldr r0, [r7, #44] @ 0x2c │ │ │ │ │ - strd r5, r5, [sp, #12] │ │ │ │ │ + strd r6, r5, [sp, #8] │ │ │ │ │ + str r5, [sp, #16] │ │ │ │ │ sub.w r9, r0, r3 │ │ │ │ │ - str.w r8, [sp] │ │ │ │ │ - strd r9, r6, [sp, #4] │ │ │ │ │ - ldrd r2, r3, [r7, #72] @ 0x48 │ │ │ │ │ - ldr r0, [r7, #68] @ 0x44 │ │ │ │ │ + strd r8, r9, [sp] │ │ │ │ │ + ldrd r0, r2, [r7, #68] @ 0x44 │ │ │ │ │ + ldr r3, [r7, #76] @ 0x4c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_ci │ │ │ │ │ ldr r2, [r7, #40] @ 0x28 │ │ │ │ │ - str r5, [sp, #16] │ │ │ │ │ - subs r4, r2, r4 │ │ │ │ │ + sub.w r4, r2, r4 │ │ │ │ │ mov.w r2, #4294967295 @ 0xffffffff │ │ │ │ │ mov r0, r4 │ │ │ │ │ - str r2, [sp, #12] │ │ │ │ │ - negs r4, r6 │ │ │ │ │ + rsb r4, r6, #0 │ │ │ │ │ + strd r2, r5, [sp, #12] │ │ │ │ │ str r4, [r7, #60] @ 0x3c │ │ │ │ │ - strd r9, r4, [sp, #4] │ │ │ │ │ - str.w r8, [sp] │ │ │ │ │ - ldr r4, [r7, #80] @ 0x50 │ │ │ │ │ + strd r8, r9, [sp] │ │ │ │ │ + str r4, [sp, #8] │ │ │ │ │ ldrd r2, r3, [r7, #72] @ 0x48 │ │ │ │ │ - mov r1, r4 │ │ │ │ │ str r0, [r7, #64] @ 0x40 │ │ │ │ │ + ldr r4, [r7, #80] @ 0x50 │ │ │ │ │ + mov r1, r4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_ci │ │ │ │ │ ldr.w r3, [sl, #112] @ 0x70 │ │ │ │ │ mov r1, r4 │ │ │ │ │ ldr r2, [r3, #0] │ │ │ │ │ str r5, [sp, #8] │ │ │ │ │ ldr r0, [r7, #44] @ 0x2c │ │ │ │ │ str r0, [sp, #4] │ │ │ │ │ ldr r3, [r7, #48] @ 0x30 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldr r0, [r7, #84] @ 0x54 │ │ │ │ │ - ldr.w r3, [sl, #108] @ 0x6c │ │ │ │ │ str r4, [r7, #80] @ 0x50 │ │ │ │ │ ldr.w r4, [sl, #64] @ 0x40 │ │ │ │ │ + ldr.w r3, [sl, #108] @ 0x6c │ │ │ │ │ blx r4 │ │ │ │ │ - strd r6, r5, [sp, #12] │ │ │ │ │ strd r9, r5, [sp, #4] │ │ │ │ │ mov r3, r8 │ │ │ │ │ + strd r6, r5, [sp, #12] │ │ │ │ │ ldr r6, [r7, #76] @ 0x4c │ │ │ │ │ str r6, [sp, #0] │ │ │ │ │ - ldr r4, [r7, #72] @ 0x48 │ │ │ │ │ - ldr r1, [r7, #68] @ 0x44 │ │ │ │ │ - mov r2, r4 │ │ │ │ │ + ldrd r1, r4, [r7, #68] @ 0x44 │ │ │ │ │ ldr r0, [r7, #84] @ 0x54 │ │ │ │ │ + mov r2, r4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_co │ │ │ │ │ str r5, [sp, #16] │ │ │ │ │ - ldr r3, [r7, #60] @ 0x3c │ │ │ │ │ mov r2, r4 │ │ │ │ │ + ldr r3, [r7, #60] @ 0x3c │ │ │ │ │ + strd r6, r9, [sp] │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ mov.w r3, #4294967295 @ 0xffffffff │ │ │ │ │ - strd r9, r3, [sp, #4] │ │ │ │ │ + str r3, [sp, #8] │ │ │ │ │ mov r3, r8 │ │ │ │ │ - str r6, [sp, #0] │ │ │ │ │ ldr r1, [r7, #64] @ 0x40 │ │ │ │ │ ldr r0, [r7, #80] @ 0x50 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_co │ │ │ │ │ - ldr r4, [r7, #52] @ 0x34 │ │ │ │ │ ldr r3, [r7, #20] │ │ │ │ │ ldr r0, [r7, #28] │ │ │ │ │ - adds r2, r4, r3 │ │ │ │ │ - mov r1, r2 │ │ │ │ │ + ldr r4, [r7, #52] @ 0x34 │ │ │ │ │ + add.w r2, r4, r3 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ + mov r1, r2 │ │ │ │ │ blx r3 │ │ │ │ │ ldr.w r3, [sl, #92] @ 0x5c │ │ │ │ │ ldr r2, [r7, #36] @ 0x24 │ │ │ │ │ add.w r3, r4, r3, lsl #3 │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ str r3, [r7, #52] @ 0x34 │ │ │ │ │ ldr r3, [r7, #12] │ │ │ │ │ - adds r2, #1 │ │ │ │ │ str r2, [r7, #36] @ 0x24 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bgt.w 3e8 │ │ │ │ │ + bgt.w 496 │ │ │ │ │ ldr r6, [r7, #4] │ │ │ │ │ cmp.w r6, #65536 @ 0x10000 │ │ │ │ │ - bcs.n 5f8 │ │ │ │ │ - adds r7, #92 @ 0x5c │ │ │ │ │ + bcs.n 6c8 │ │ │ │ │ + add.w r7, r7, #92 @ 0x5c │ │ │ │ │ mov sp, r7 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ ldr r3, [r7, #8] │ │ │ │ │ str r3, [r7, #48] @ 0x30 │ │ │ │ │ - b.n 4e4 │ │ │ │ │ + b.n 596 │ │ │ │ │ mov r0, r6 │ │ │ │ │ str r1, [r7, #80] @ 0x50 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ ldr r1, [r7, #80] @ 0x50 │ │ │ │ │ str r0, [r7, #84] @ 0x54 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - bgt.w 3be │ │ │ │ │ + bgt.w 462 │ │ │ │ │ ldr r0, [r7, #84] @ 0x54 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ - adds r7, #92 @ 0x5c │ │ │ │ │ - mov sp, r7 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + b.n 694 │ │ │ │ │ │ │ │ │ │ -00000608 : │ │ │ │ │ +000006d0 : │ │ │ │ │ fftw_regsolver_hc2hc_direct(): │ │ │ │ │ - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ + strd r3, r4, [sp, #-32]! │ │ │ │ │ mov r4, r2 │ │ │ │ │ - ldr.w r9, [pc, #148] @ 6a4 │ │ │ │ │ + strd r5, r6, [sp, #8] │ │ │ │ │ mov r5, r0 │ │ │ │ │ mov r6, r1 │ │ │ │ │ - add r9, pc │ │ │ │ │ + strd r9, lr, [sp, #24] │ │ │ │ │ + mov.w r0, #28 │ │ │ │ │ + ldr.w r9, [pc, #180] @ 79c │ │ │ │ │ + strd r7, r8, [sp, #16] │ │ │ │ │ + mov.w r8, #0 │ │ │ │ │ ldr r1, [r4, #0] │ │ │ │ │ + ldr r7, [pc, #168] @ (7a0 ) │ │ │ │ │ + add r9, pc │ │ │ │ │ mov r2, r9 │ │ │ │ │ - movs r0, #28 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver_hc2hc │ │ │ │ │ - ldr r7, [pc, #132] @ (6a8 ) │ │ │ │ │ mov r1, r0 │ │ │ │ │ strd r4, r6, [r0, #16] │ │ │ │ │ - mov.w r8, #0 │ │ │ │ │ str.w r8, [r0, #24] │ │ │ │ │ mov r0, r5 │ │ │ │ │ add r7, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ - ldr r3, [pc, #112] @ (6ac ) │ │ │ │ │ + ldr r3, [pc, #144] @ (7a4 ) │ │ │ │ │ ldr r7, [r7, r3] │ │ │ │ │ ldr r3, [r7, #0] │ │ │ │ │ - cbz r3, 65a │ │ │ │ │ + cbz r3, 732 │ │ │ │ │ ldr r1, [r4, #0] │ │ │ │ │ mov r2, r9 │ │ │ │ │ - movs r0, #28 │ │ │ │ │ + mov.w r0, #28 │ │ │ │ │ blx r3 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - strd r4, r6, [r0, #16] │ │ │ │ │ - str.w r8, [r0, #24] │ │ │ │ │ mov r0, r5 │ │ │ │ │ + strd r4, r6, [r1, #16] │ │ │ │ │ + str.w r8, [r1, #24] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ - ldr.w r9, [pc, #84] @ 6b0 │ │ │ │ │ - movs r0, #28 │ │ │ │ │ - ldr r1, [r4, #0] │ │ │ │ │ + ldr.w r9, [pc, #116] @ 7a8 │ │ │ │ │ + mov.w r0, #28 │ │ │ │ │ mov.w r8, #1 │ │ │ │ │ + ldr r1, [r4, #0] │ │ │ │ │ add r9, pc │ │ │ │ │ mov r2, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver_hc2hc │ │ │ │ │ mov r1, r0 │ │ │ │ │ - strd r4, r6, [r0, #16] │ │ │ │ │ - str.w r8, [r0, #24] │ │ │ │ │ mov r0, r5 │ │ │ │ │ + strd r4, r6, [r1, #16] │ │ │ │ │ + str.w r8, [r1, #24] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ ldr r3, [r7, #0] │ │ │ │ │ - cbz r3, 69e │ │ │ │ │ + cbz r3, 788 │ │ │ │ │ ldr r1, [r4, #0] │ │ │ │ │ mov r2, r9 │ │ │ │ │ - movs r0, #28 │ │ │ │ │ + mov.w r0, #28 │ │ │ │ │ blx r3 │ │ │ │ │ - strd r4, r6, [r0, #16] │ │ │ │ │ - str.w r8, [r0, #24] │ │ │ │ │ mov r1, r0 │ │ │ │ │ + ldrd r9, lr, [sp, #24] │ │ │ │ │ mov r0, r5 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ + strd r4, r6, [r1, #16] │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + str.w r8, [r1, #24] │ │ │ │ │ + ldrd r5, r6, [sp, #8] │ │ │ │ │ + ldrd r7, r8, [sp, #16] │ │ │ │ │ + add sp, #32 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solver_register │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + ldrd r5, r6, [sp, #8] │ │ │ │ │ + ldrd r7, r8, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {r9, pc} │ │ │ │ │ nop │ │ │ │ │ - .word 0x0000008a │ │ │ │ │ + .word 0x000000a2 │ │ │ │ │ R_ARM_REL32 mkcldw │ │ │ │ │ - .word 0x00000070 │ │ │ │ │ + .word 0x00000092 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_mksolver_hc2hc_hook │ │ │ │ │ - .word 0x00000046 │ │ │ │ │ + .word 0x00000064 │ │ │ │ │ R_ARM_REL32 mkcldw │ │ │ ├── hc2hc-generic.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 4236 (bytes into file) │ │ │ │ │ + Start of section headers: 4624 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x108c: │ │ │ │ │ +There are 14 section headers, starting at offset 0x1210: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000a58 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000efc 0000f8 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000a8c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000a8c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000a8c 00002f 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000abb 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro.local PROGBITS 00000000 000ac3 000010 00 WA 0 0 4 │ │ │ │ │ - [ 8] .rel.data.rel.ro.local REL 00000000 000ff4 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000ad3 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000ad3 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000b08 000280 10 12 26 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000d88 000172 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 00100c 00007e 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000bdc 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 001080 0000f8 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000c10 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000c10 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000c10 00002f 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000c3f 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro.local PROGBITS 00000000 000c47 000010 00 WA 0 0 4 │ │ │ │ │ + [ 8] .rel.data.rel.ro.local REL 00000000 001178 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000c57 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000c57 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000c8c 000280 10 12 26 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000f0c 000172 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 001190 00007e 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,30 +1,30 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 40 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 392 FUNC LOCAL DEFAULT 1 bytwiddle │ │ │ │ │ + 1: 00000001 458 FUNC LOCAL DEFAULT 1 bytwiddle │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000189 820 FUNC LOCAL DEFAULT 1 apply_dif │ │ │ │ │ + 3: 000001cd 922 FUNC LOCAL DEFAULT 1 apply_dif │ │ │ │ │ 4: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ 6: 00000004 0 NOTYPE LOCAL DEFAULT 5 .LC1 │ │ │ │ │ 7: 00000008 0 NOTYPE LOCAL DEFAULT 5 .LC2 │ │ │ │ │ - 8: 000004bd 76 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ - 9: 000004f8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 10: 00000709 774 FUNC LOCAL DEFAULT 1 apply_dit │ │ │ │ │ - 11: 00000508 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 12: 00000509 436 FUNC LOCAL DEFAULT 1 mkcldw │ │ │ │ │ - 13: 000006b0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 14: 000006bc 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 15: 000006bd 20 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 16: 000006d1 56 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 17: 00000704 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 18: 00000708 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 19: 00000a4c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 00000569 76 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 9: 000005a4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 10: 00000801 888 FUNC LOCAL DEFAULT 1 apply_dit │ │ │ │ │ + 11: 000005b4 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 12: 000005b5 492 FUNC LOCAL DEFAULT 1 mkcldw │ │ │ │ │ + 13: 00000794 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 14: 000007a0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 15: 000007a1 24 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 16: 000007b9 72 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 17: 000007fc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 18: 00000800 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 19: 00000bd0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 20: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 21: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 22: 00000000 8 OBJECT LOCAL DEFAULT 6 tw.0 │ │ │ │ │ 23: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro.local │ │ │ │ │ 24: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 25: 00000000 16 OBJECT LOCAL DEFAULT 7 padt.1 │ │ │ │ │ 26: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mktensor_0d │ │ │ │ │ @@ -32,12 +32,12 @@ │ │ │ │ │ 28: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkproblem_rdft_1_d │ │ │ │ │ 29: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_d │ │ │ │ │ 30: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mktensor_3d │ │ │ │ │ 31: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_hc2hc │ │ │ │ │ 32: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_destroy_internal │ │ │ │ │ 33: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_awake │ │ │ │ │ 34: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_twiddle_awake │ │ │ │ │ - 35: 00000a11 72 FUNC GLOBAL DEFAULT 1 fftw_hc2hc_generic_register │ │ │ │ │ + 35: 00000b79 100 FUNC GLOBAL DEFAULT 1 fftw_hc2hc_generic_register │ │ │ │ │ 36: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver_hc2hc │ │ │ │ │ 37: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 38: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 39: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver_hc2hc_hook │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,40 +1,40 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xefc contains 31 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x1080 contains 31 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000004f8 00000a03 R_ARM_REL32 00000709 apply_dit │ │ │ │ │ -000004fc 00000603 R_ARM_REL32 00000004 .LC1 │ │ │ │ │ -00000500 00000703 R_ARM_REL32 00000008 .LC2 │ │ │ │ │ -00000504 00000503 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -0000055e 00001a0a R_ARM_THM_CALL 00000000 fftw_mktensor_0d │ │ │ │ │ -0000056a 00001b0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -00000578 00001c0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_1_d │ │ │ │ │ -00000580 00001d0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -00000596 00001b0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -000005b8 00001e0a R_ARM_THM_CALL 00000000 fftw_mktensor_3d │ │ │ │ │ -000005d0 00001c0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_1_d │ │ │ │ │ -000005d8 00001d0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -000005f0 00001f0a R_ARM_THM_CALL 00000000 fftw_mkplan_hc2hc │ │ │ │ │ -00000694 00001b0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -000006a4 0000200a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000006aa 0000200a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000006b0 00000a03 R_ARM_REL32 00000709 apply_dit │ │ │ │ │ -000006b4 00001703 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -000006b8 00000303 R_ARM_REL32 00000189 apply_dif │ │ │ │ │ -000006c2 0000200a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000006da 0000210a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -000006e2 0000210a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -000006fc 0000220a R_ARM_THM_CALL 00000000 fftw_twiddle_awake │ │ │ │ │ -00000704 00001403 R_ARM_REL32 00000000 .rodata │ │ │ │ │ -00000a20 0000240a R_ARM_THM_CALL 00000000 fftw_mksolver_hc2hc │ │ │ │ │ -00000a2a 0000250a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -00000a4c 00000c03 R_ARM_REL32 00000509 mkcldw │ │ │ │ │ -00000a50 00002619 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000a54 0000271a R_ARM_GOT_BREL 00000000 fftw_mksolver_hc2hc_hook │ │ │ │ │ -000006cc 0000201e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000a46 0000251e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ +000005a4 00000a03 R_ARM_REL32 00000801 apply_dit │ │ │ │ │ +000005a8 00000603 R_ARM_REL32 00000004 .LC1 │ │ │ │ │ +000005ac 00000703 R_ARM_REL32 00000008 .LC2 │ │ │ │ │ +000005b0 00000503 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +0000062e 00001a0a R_ARM_THM_CALL 00000000 fftw_mktensor_0d │ │ │ │ │ +0000063a 00001b0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +00000648 00001c0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_1_d │ │ │ │ │ +00000650 00001d0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +00000666 00001b0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +0000068a 00001e0a R_ARM_THM_CALL 00000000 fftw_mktensor_3d │ │ │ │ │ +000006a2 00001c0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_1_d │ │ │ │ │ +000006aa 00001d0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +000006c4 00001f0a R_ARM_THM_CALL 00000000 fftw_mkplan_hc2hc │ │ │ │ │ +00000776 00001b0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +00000788 0000200a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +0000078e 0000200a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000794 00000a03 R_ARM_REL32 00000801 apply_dit │ │ │ │ │ +00000798 00001703 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +0000079c 00000303 R_ARM_REL32 000001cd apply_dif │ │ │ │ │ +000007a8 0000200a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000007c8 0000210a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +000007d0 0000210a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +000007ea 0000220a R_ARM_THM_CALL 00000000 fftw_twiddle_awake │ │ │ │ │ +000007fc 00001403 R_ARM_REL32 00000000 .rodata │ │ │ │ │ +00000b92 0000240a R_ARM_THM_CALL 00000000 fftw_mksolver_hc2hc │ │ │ │ │ +00000b9a 0000250a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +00000bd0 00000c03 R_ARM_REL32 000005b5 mkcldw │ │ │ │ │ +00000bd4 00002619 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000bd8 0000271a R_ARM_GOT_BREL 00000000 fftw_mksolver_hc2hc_hook │ │ │ │ │ +000007b4 0000201e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000bc2 0000251e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0xff4 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x1178 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00001002 R_ARM_ABS32 000006d1 awake │ │ │ │ │ -00000008 00000802 R_ARM_ABS32 000004bd print │ │ │ │ │ -0000000c 00000f02 R_ARM_ABS32 000006bd destroy │ │ │ │ │ +00000004 00001002 R_ARM_ABS32 000007b9 awake │ │ │ │ │ +00000008 00000802 R_ARM_ABS32 00000569 print │ │ │ │ │ +0000000c 00000f02 R_ARM_ABS32 000007a1 destroy │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,8 +1,7 @@ │ │ │ │ │ -2JzD2Ih yD │ │ │ │ │ (hc2hc-generic-%s-%D-%D%v%(%p%)%(%p%)) │ │ │ │ │ bytwiddle │ │ │ │ │ apply_dif │ │ │ │ │ apply_dit │ │ │ │ │ fftw_mktensor_0d │ │ │ │ │ fftw_mktensor_1d │ │ │ │ │ fftw_mkproblem_rdft_1_d │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,1028 +1,1066 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ bytwiddle(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ mov r3, r1 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r0 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ ldrd r8, r1, [r0, #64] @ 0x40 │ │ │ │ │ - sub sp, #28 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ ldrd r4, r0, [r0, #72] @ 0x48 │ │ │ │ │ - subs r7, r1, #1 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + sub sp, #28 │ │ │ │ │ + ldrd lr, r2, [r5, #80] @ 0x50 │ │ │ │ │ + add.w r7, r1, #4294967295 @ 0xffffffff │ │ │ │ │ ldr.w ip, [r5, #88] @ 0x58 │ │ │ │ │ add.w r6, r7, r7, lsr #31 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - ldrd lr, r2, [r5, #80] @ 0x50 │ │ │ │ │ rsb r6, ip, r6, asr #1 │ │ │ │ │ - ble.n e8 │ │ │ │ │ + ble.n 10a │ │ │ │ │ ldr r5, [r5, #100] @ 0x64 │ │ │ │ │ add.w r9, r2, #4294967295 @ 0xffffffff │ │ │ │ │ - lsls r6, r6, #4 │ │ │ │ │ - mul.w r2, r4, r2 │ │ │ │ │ - add.w r7, r7, r9, lsl #1 │ │ │ │ │ cmp.w r8, #1 │ │ │ │ │ + add.w r7, r7, r9, lsl #1 │ │ │ │ │ + mul.w r2, r4, r2 │ │ │ │ │ + mov.w r6, r6, lsl #4 │ │ │ │ │ ldr r5, [r5, #0] │ │ │ │ │ add.w r5, r5, r7, lsl #3 │ │ │ │ │ str r5, [sp, #12] │ │ │ │ │ mov.w r5, lr, lsl #3 │ │ │ │ │ str r5, [sp, #8] │ │ │ │ │ - ble.n e8 │ │ │ │ │ + ble.n 10a │ │ │ │ │ cmp.w ip, #0 │ │ │ │ │ - ble.n e8 │ │ │ │ │ - mul.w r1, r4, r1 │ │ │ │ │ + ble.n 10a │ │ │ │ │ cmp r4, #1 │ │ │ │ │ - bne.n ee │ │ │ │ │ - adds r4, r2, r1 │ │ │ │ │ + mul.w r1, r4, r1 │ │ │ │ │ + bne.n 122 │ │ │ │ │ + add.w r4, r2, r1 │ │ │ │ │ rsb r2, r2, r2, lsl #28 │ │ │ │ │ + str r0, [sp, #16] │ │ │ │ │ mov.w sl, r1, lsl #3 │ │ │ │ │ - mov.w r7, ip, lsl #4 │ │ │ │ │ add.w r1, r1, r2, lsl #1 │ │ │ │ │ add.w r3, r3, r4, lsl #3 │ │ │ │ │ - str r0, [sp, #16] │ │ │ │ │ mov.w r9, r1, lsl #3 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ + mov.w r7, ip, lsl #4 │ │ │ │ │ mov r2, r1 │ │ │ │ │ ldr r5, [sp, #12] │ │ │ │ │ mov lr, r3 │ │ │ │ │ mov.w fp, #1 │ │ │ │ │ str r2, [sp, #4] │ │ │ │ │ mov r4, lr │ │ │ │ │ add.w fp, fp, #1 │ │ │ │ │ + str r3, [sp, #0] │ │ │ │ │ add.w r0, r9, lr │ │ │ │ │ add.w r2, r5, #16 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ - vldr d6, [r2, #-8] │ │ │ │ │ - mov r3, r0 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ vldr d3, [r0] │ │ │ │ │ - adds r1, #1 │ │ │ │ │ - vldr d7, [r2, #-16] │ │ │ │ │ - subs r0, #8 │ │ │ │ │ - vmul.f64 d6, d0, d6 │ │ │ │ │ - vldr d4, [r4] │ │ │ │ │ - adds r2, #16 │ │ │ │ │ + mov r3, r0 │ │ │ │ │ + add.w r1, r1, #1 │ │ │ │ │ cmp r1, ip │ │ │ │ │ + sub.w r0, r0, #8 │ │ │ │ │ + vldr d6, [r2, #-8] │ │ │ │ │ + add.w r2, r2, #16 │ │ │ │ │ + vldr d7, [r2, #-32] @ 0xffffffe0 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + vmul.f64 d6, d0, d6 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ vnmls.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vmla.f64 d7, d6, d4 │ │ │ │ │ vstmia r4!, {d5} │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - bne.n 96 │ │ │ │ │ + bne.n b0 │ │ │ │ │ add r5, r7 │ │ │ │ │ + cmp r8, fp │ │ │ │ │ ldr r3, [sp, #0] │ │ │ │ │ add r5, r6 │ │ │ │ │ add lr, sl │ │ │ │ │ - cmp r8, fp │ │ │ │ │ - bne.n 84 │ │ │ │ │ - ldr r1, [sp, #8] │ │ │ │ │ - ldr r2, [sp, #4] │ │ │ │ │ + bne.n 9c │ │ │ │ │ + ldrd r2, r1, [sp, #4] │ │ │ │ │ add r3, r1 │ │ │ │ │ ldr r1, [sp, #16] │ │ │ │ │ - adds r2, #1 │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ cmp r1, r2 │ │ │ │ │ - bne.n 7a │ │ │ │ │ + bne.n 92 │ │ │ │ │ add sp, #28 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - adds r7, r2, r1 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + add.w r7, r2, r1 │ │ │ │ │ rsb r2, r2, r2, lsl #28 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ - mov.w fp, r1, lsl #3 │ │ │ │ │ + str r0, [sp, #20] │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ add.w r2, r1, r2, lsl #1 │ │ │ │ │ add.w r3, r3, r7, lsl #3 │ │ │ │ │ - negs r5, r4 │ │ │ │ │ + rsb r5, r4, #0 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + mov.w fp, r1, lsl #3 │ │ │ │ │ mov.w r7, ip, lsl #4 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ str r2, [sp, #0] │ │ │ │ │ - movs r2, #0 │ │ │ │ │ - str r0, [sp, #20] │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ ldr.w lr, [sp, #12] │ │ │ │ │ mov r9, r3 │ │ │ │ │ mov.w sl, #1 │ │ │ │ │ str r2, [sp, #4] │ │ │ │ │ str r3, [sp, #16] │ │ │ │ │ ldr r3, [sp, #0] │ │ │ │ │ mov r1, r9 │ │ │ │ │ add.w sl, sl, #1 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add.w r2, r9, r3 │ │ │ │ │ add.w r3, lr, #16 │ │ │ │ │ - vldr d6, [r3, #-8] │ │ │ │ │ - adds r0, #1 │ │ │ │ │ vldr d3, [r2] │ │ │ │ │ - adds r3, #16 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ + add.w r0, r0, #1 │ │ │ │ │ + add.w r3, r3, #16 │ │ │ │ │ cmp ip, r0 │ │ │ │ │ - vmul.f64 d6, d0, d6 │ │ │ │ │ vldr d4, [r3, #-32] @ 0xffffffe0 │ │ │ │ │ + vldr d6, [r3, #-24] @ 0xffffffe8 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + vmul.f64 d6, d0, d6 │ │ │ │ │ vmul.f64 d5, d3, d6 │ │ │ │ │ vnmls.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ vmla.f64 d7, d3, d4 │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ add r1, r4 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ add r2, r5 │ │ │ │ │ - bne.n 130 │ │ │ │ │ + bne.n 170 │ │ │ │ │ add lr, r7 │ │ │ │ │ - add r9, fp │ │ │ │ │ - add lr, r6 │ │ │ │ │ cmp sl, r8 │ │ │ │ │ - bne.n 11e │ │ │ │ │ - ldr r1, [sp, #8] │ │ │ │ │ + add lr, r6 │ │ │ │ │ + add r9, fp │ │ │ │ │ + bne.n 15c │ │ │ │ │ + ldrd r2, r1, [sp, #4] │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ - ldr r2, [sp, #4] │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ add r3, r1 │ │ │ │ │ ldr r1, [sp, #20] │ │ │ │ │ - adds r2, #1 │ │ │ │ │ cmp r1, r2 │ │ │ │ │ - bne.n 110 │ │ │ │ │ - add sp, #28 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + bne.n 14e │ │ │ │ │ + b.n 10a │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000188 : │ │ │ │ │ +000001cc : │ │ │ │ │ apply_dif(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r6, r0 │ │ │ │ │ ldr r3, [r0, #64] @ 0x40 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r6, r0 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #60 @ 0x3c │ │ │ │ │ - ldr r2, [r6, #68] @ 0x44 │ │ │ │ │ - str r1, [sp, #48] @ 0x30 │ │ │ │ │ - ldrd r5, r1, [r0, #72] @ 0x48 │ │ │ │ │ + ldr r2, [r0, #68] @ 0x44 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ - ldrd r8, r3, [r6, #84] @ 0x54 │ │ │ │ │ - cmp r1, #0 │ │ │ │ │ - ldr r0, [r0, #80] @ 0x50 │ │ │ │ │ + ldr r5, [r0, #72] @ 0x48 │ │ │ │ │ + str r1, [sp, #48] @ 0x30 │ │ │ │ │ + ldr.w r8, [r0, #84] @ 0x54 │ │ │ │ │ + ldrd r1, r0, [r0, #76] @ 0x4c │ │ │ │ │ mul.w r2, r5, r2 │ │ │ │ │ - add.w lr, r3, r8 │ │ │ │ │ + ldr r3, [r6, #88] @ 0x58 │ │ │ │ │ + cmp r1, #0 │ │ │ │ │ str r1, [sp, #12] │ │ │ │ │ - ble.n 21a │ │ │ │ │ - lsls r3, r0, #3 │ │ │ │ │ - mul.w r1, r8, r5 │ │ │ │ │ + add.w lr, r3, r8 │ │ │ │ │ + ble.n 286 │ │ │ │ │ + mov.w r3, r0, lsl #3 │ │ │ │ │ cmp r5, #1 │ │ │ │ │ + mul.w r1, r8, r5 │ │ │ │ │ str r3, [sp, #16] │ │ │ │ │ - bne.w 344 │ │ │ │ │ + bne.w 3d4 │ │ │ │ │ ldr r7, [sp, #4] │ │ │ │ │ rsb r0, r1, r1, lsl #29 │ │ │ │ │ - ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ mov.w ip, r2, lsl #3 │ │ │ │ │ + ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ mov.w r8, r1, lsl #3 │ │ │ │ │ mov.w fp, lr, lsl #3 │ │ │ │ │ + mla r4, r2, r7, r0 │ │ │ │ │ add.w r5, r3, ip │ │ │ │ │ rsb r3, r8, #0 │ │ │ │ │ - mla r4, r2, r7, r0 │ │ │ │ │ + sub.w r4, r4, r2 │ │ │ │ │ str r3, [sp, #32] │ │ │ │ │ - subs r4, r4, r2 │ │ │ │ │ - lsls r3, r4, #3 │ │ │ │ │ - subs r4, r7, #1 │ │ │ │ │ - subs r7, #2 │ │ │ │ │ - str r3, [sp, #36] @ 0x24 │ │ │ │ │ - lsrs r4, r4, #1 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + mov.w r3, r4, lsl #3 │ │ │ │ │ + add.w r4, r7, #4294967295 @ 0xffffffff │ │ │ │ │ + sub.w r7, r7, #2 │ │ │ │ │ + mov.w r4, r4, lsr #1 │ │ │ │ │ mul.w r7, r2, r7 │ │ │ │ │ - lsls r3, r7, #3 │ │ │ │ │ + str r3, [sp, #36] @ 0x24 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + mov.w r3, r7, lsl #3 │ │ │ │ │ + add.w r7, r2, r0 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ str r3, [sp, #28] │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ - adds r7, r2, r0 │ │ │ │ │ - movs r2, #0 │ │ │ │ │ sub.w sl, r3, #3 │ │ │ │ │ mov r0, r3 │ │ │ │ │ mov.w sl, sl, lsr #1 │ │ │ │ │ add.w sl, sl, #2 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bgt.n 24a │ │ │ │ │ + bgt.n 2c8 │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ - adds r2, #1 │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ add r5, r3 │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.n 20a │ │ │ │ │ - ldr r0, [r6, #92] @ 0x5c │ │ │ │ │ + bne.n 274 │ │ │ │ │ ldr r4, [sp, #48] @ 0x30 │ │ │ │ │ - ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ + ldr r0, [r6, #92] @ 0x5c │ │ │ │ │ mov r2, r4 │ │ │ │ │ mov r1, r4 │ │ │ │ │ + ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ blx r3 │ │ │ │ │ ldr r2, [r6, #72] @ 0x48 │ │ │ │ │ ldr r3, [r6, #84] @ 0x54 │ │ │ │ │ ldr r0, [r6, #96] @ 0x60 │ │ │ │ │ mul.w r3, r2, r3 │ │ │ │ │ add.w r2, r4, r3, lsl #3 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ mov r1, r2 │ │ │ │ │ blx r3 │ │ │ │ │ + vmov.f64 d0, #112 @ 0x3f800000 1.0 │ │ │ │ │ mov r1, r4 │ │ │ │ │ mov r0, r6 │ │ │ │ │ - vmov.f64 d0, #112 @ 0x3f800000 1.0 │ │ │ │ │ add sp, #60 @ 0x3c │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ b.n 0 │ │ │ │ │ - adds r7, #1 │ │ │ │ │ + add.w r7, r7, #1 │ │ │ │ │ + vmov.f64 d3, #96 @ 0x3f000000 0.5 │ │ │ │ │ str r2, [sp, #8] │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ mov r2, lr │ │ │ │ │ - vmov.f64 d3, #96 @ 0x3f000000 0.5 │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ strd fp, r6, [sp, #40] @ 0x28 │ │ │ │ │ cmp r2, r1 │ │ │ │ │ - ble.n 33a │ │ │ │ │ + ble.n 3ca │ │ │ │ │ ldr r3, [sp, #32] │ │ │ │ │ - movs r6, #0 │ │ │ │ │ + mov.w r6, #0 │ │ │ │ │ add.w r9, r5, r3 │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ add.w lr, r5, r3 │ │ │ │ │ - adds r6, #1 │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ mov fp, r9 │ │ │ │ │ + str r1, [sp, #0] │ │ │ │ │ mov r0, lr │ │ │ │ │ mov r3, r1 │ │ │ │ │ - str r1, [sp, #0] │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ mov r1, fp │ │ │ │ │ - vldr d7, [fp] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - sub.w fp, fp, #8 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ + sub.w fp, fp, #8 │ │ │ │ │ + vldr d7, [fp, #8] │ │ │ │ │ vstr d6, [r1] │ │ │ │ │ mov r1, r0 │ │ │ │ │ sub.w r0, r0, #8 │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ - bne.n 276 │ │ │ │ │ + bne.n 2fc │ │ │ │ │ + cmp r6, r4 │ │ │ │ │ ldr r1, [sp, #0] │ │ │ │ │ add r9, ip │ │ │ │ │ sub.w lr, lr, ip │ │ │ │ │ - cmp r6, r4 │ │ │ │ │ - bne.n 26c │ │ │ │ │ + bne.n 2f0 │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ cmp r3, #2 │ │ │ │ │ - ble.n 326 │ │ │ │ │ + ble.n 3b4 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ mov.w r9, #1 │ │ │ │ │ - ldr.w fp, [sp, #40] @ 0x28 │ │ │ │ │ - adds r0, r5, r3 │ │ │ │ │ - mov r3, r5 │ │ │ │ │ str r2, [sp, #0] │ │ │ │ │ + ldr.w fp, [sp, #40] @ 0x28 │ │ │ │ │ strd r1, r5, [sp, #20] │ │ │ │ │ + add.w r0, r5, r3 │ │ │ │ │ + mov r3, r5 │ │ │ │ │ add.w r2, r8, r3 │ │ │ │ │ - adds r6, r7, r0 │ │ │ │ │ + add.w r6, r7, r0 │ │ │ │ │ add.w r5, r8, r0 │ │ │ │ │ - adds r1, r7, r3 │ │ │ │ │ + add.w r1, r7, r3 │ │ │ │ │ add.w lr, fp, r3 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ vldmdb r6!, {d6} │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ - vmul.f64 d4, d4, d3 │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ vldmdb r1!, {d7} │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ - vmul.f64 d5, d5, d3 │ │ │ │ │ + vmul.f64 d4, d4, d3 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ + vmul.f64 d5, d5, d3 │ │ │ │ │ vadd.f64 d2, d6, d4 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vstmia r2!, {d2} │ │ │ │ │ cmp r2, lr │ │ │ │ │ vstr d6, [r6] │ │ │ │ │ vadd.f64 d6, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vstmia r5!, {d6} │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ - bne.n 2ce │ │ │ │ │ + bne.n 35c │ │ │ │ │ add.w r9, r9, #1 │ │ │ │ │ add r3, ip │ │ │ │ │ - sub.w r0, r0, ip │ │ │ │ │ cmp r9, sl │ │ │ │ │ - bne.n 2be │ │ │ │ │ + sub.w r0, r0, ip │ │ │ │ │ + bne.n 348 │ │ │ │ │ ldr r2, [sp, #0] │ │ │ │ │ ldrd r1, r5, [sp, #20] │ │ │ │ │ - ldr r0, [sp, #16] │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ + ldr r0, [sp, #16] │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ add r5, r0 │ │ │ │ │ ldr r0, [sp, #12] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ cmp r0, r3 │ │ │ │ │ - bne.n 25a │ │ │ │ │ + bne.n 2dc │ │ │ │ │ ldr r6, [sp, #44] @ 0x2c │ │ │ │ │ - b.n 21a │ │ │ │ │ + b.n 286 │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ cmp r3, #2 │ │ │ │ │ - ble.n 326 │ │ │ │ │ + ble.n 3b4 │ │ │ │ │ ldr r6, [sp, #44] @ 0x2c │ │ │ │ │ - b.n 21a │ │ │ │ │ - subs r0, r2, r1 │ │ │ │ │ + b.n 286 │ │ │ │ │ + sub.w r0, r2, r1 │ │ │ │ │ mov.w r9, r1, lsl #3 │ │ │ │ │ - rsb r1, r1, r1, lsl #29 │ │ │ │ │ ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ mov.w fp, r0, lsl #3 │ │ │ │ │ ldr r0, [sp, #4] │ │ │ │ │ - lsls r7, r2, #3 │ │ │ │ │ + rsb r1, r1, r1, lsl #29 │ │ │ │ │ rsb r9, r9, #0 │ │ │ │ │ - adds r4, r3, r7 │ │ │ │ │ + mov.w r7, r2, lsl #3 │ │ │ │ │ + add.w r4, r3, r7 │ │ │ │ │ mla r0, r2, r0, r1 │ │ │ │ │ add r1, r2 │ │ │ │ │ - subs r0, r0, r2 │ │ │ │ │ - lsls r3, r0, #3 │ │ │ │ │ + sub.w r0, r0, r2 │ │ │ │ │ + mov.w r3, r0, lsl #3 │ │ │ │ │ str r3, [sp, #44] @ 0x2c │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ sub.w ip, r3, #2 │ │ │ │ │ - subs r0, r3, #1 │ │ │ │ │ - lsrs r0, r0, #1 │ │ │ │ │ + add.w r0, r3, #4294967295 @ 0xffffffff │ │ │ │ │ + mov.w r0, r0, lsr #1 │ │ │ │ │ mul.w ip, r2, ip │ │ │ │ │ ldr r2, [sp, #4] │ │ │ │ │ - adds r0, #1 │ │ │ │ │ - cmp r2, #0 │ │ │ │ │ + add.w r0, r0, #1 │ │ │ │ │ mov.w r3, ip, lsl #3 │ │ │ │ │ + cmp r2, #0 │ │ │ │ │ str r3, [sp, #40] @ 0x28 │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ sub.w ip, r3, #3 │ │ │ │ │ mov.w ip, ip, lsr #1 │ │ │ │ │ add.w r3, ip, #2 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov.w r3, r1, lsl #3 │ │ │ │ │ mov.w r1, #0 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ mov r3, lr │ │ │ │ │ - bgt.n 3b6 │ │ │ │ │ + bgt.n 458 │ │ │ │ │ ldr r2, [sp, #16] │ │ │ │ │ - adds r1, #1 │ │ │ │ │ + add.w r1, r1, #1 │ │ │ │ │ add r4, r2 │ │ │ │ │ ldr r2, [sp, #12] │ │ │ │ │ cmp r2, r1 │ │ │ │ │ - beq.w 21a │ │ │ │ │ + beq.w 286 │ │ │ │ │ ldr r2, [sp, #4] │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.n 3a2 │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ + ble.n 442 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ vmov.f64 d3, #96 @ 0x3f000000 0.5 │ │ │ │ │ - negs r2, r5 │ │ │ │ │ - str.w fp, [sp, #52] @ 0x34 │ │ │ │ │ str r6, [sp, #20] │ │ │ │ │ + str.w fp, [sp, #52] @ 0x34 │ │ │ │ │ + rsb r2, r5, #0 │ │ │ │ │ cmp r8, r3 │ │ │ │ │ - bge.n 4b4 │ │ │ │ │ + bge.n 55e │ │ │ │ │ ldr r6, [sp, #44] @ 0x2c │ │ │ │ │ add.w sl, r4, r9 │ │ │ │ │ mov.w ip, #0 │ │ │ │ │ str r5, [sp, #24] │ │ │ │ │ add.w lr, r4, r6 │ │ │ │ │ add.w ip, ip, #1 │ │ │ │ │ mov r6, sl │ │ │ │ │ mov r5, lr │ │ │ │ │ mov fp, r8 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - add.w fp, fp, #1 │ │ │ │ │ vldr d6, [r5] │ │ │ │ │ + add.w fp, fp, #1 │ │ │ │ │ cmp r3, fp │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ vstr d6, [r6] │ │ │ │ │ add r6, r2 │ │ │ │ │ vstr d7, [r5] │ │ │ │ │ add r5, r2 │ │ │ │ │ - bne.n 3e2 │ │ │ │ │ + bne.n 488 │ │ │ │ │ + cmp ip, r0 │ │ │ │ │ add sl, r7 │ │ │ │ │ sub.w lr, lr, r7 │ │ │ │ │ - cmp ip, r0 │ │ │ │ │ - bne.n 3d8 │ │ │ │ │ + bne.n 47e │ │ │ │ │ ldr r6, [sp, #4] │ │ │ │ │ ldr r5, [sp, #24] │ │ │ │ │ cmp r6, #2 │ │ │ │ │ - ble.n 4a4 │ │ │ │ │ + ble.n 54c │ │ │ │ │ ldr r6, [sp, #40] @ 0x28 │ │ │ │ │ mov lr, r4 │ │ │ │ │ - ldr.w ip, [sp, #52] @ 0x34 │ │ │ │ │ mov.w fp, #1 │ │ │ │ │ - add.w sl, r4, r6 │ │ │ │ │ strd r2, r4, [sp, #24] │ │ │ │ │ - str r1, [sp, #32] │ │ │ │ │ - str r0, [sp, #36] @ 0x24 │ │ │ │ │ + ldr.w ip, [sp, #52] @ 0x34 │ │ │ │ │ + strd r1, r0, [sp, #32] │ │ │ │ │ + add.w sl, r4, r6 │ │ │ │ │ ldr r2, [sp, #8] │ │ │ │ │ sub.w r4, lr, r9 │ │ │ │ │ add.w r0, sl, ip │ │ │ │ │ sub.w r1, sl, r9 │ │ │ │ │ - add r2, lr │ │ │ │ │ mov r6, r8 │ │ │ │ │ - vldr d4, [r4] │ │ │ │ │ - adds r6, #1 │ │ │ │ │ + add r2, lr │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ cmp r3, r6 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ - vmul.f64 d4, d4, d3 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ + vmul.f64 d4, d4, d3 │ │ │ │ │ vmul.f64 d5, d5, d3 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vadd.f64 d2, d4, d6 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vstr d2, [r4] │ │ │ │ │ add r4, r5 │ │ │ │ │ vstr d6, [r0] │ │ │ │ │ vadd.f64 d6, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ sub.w r0, r0, r5 │ │ │ │ │ vstr d6, [r1] │ │ │ │ │ add r1, r5 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ sub.w r2, r2, r5 │ │ │ │ │ - bne.n 43a │ │ │ │ │ + bne.n 4e0 │ │ │ │ │ ldr r2, [sp, #0] │ │ │ │ │ add.w fp, fp, #1 │ │ │ │ │ add lr, r7 │ │ │ │ │ sub.w sl, sl, r7 │ │ │ │ │ cmp fp, r2 │ │ │ │ │ - bne.n 428 │ │ │ │ │ + bne.n 4ce │ │ │ │ │ ldrd r2, r4, [sp, #24] │ │ │ │ │ ldrd r1, r0, [sp, #32] │ │ │ │ │ - adds r1, #1 │ │ │ │ │ + add.w r1, r1, #1 │ │ │ │ │ ldr r6, [sp, #16] │ │ │ │ │ add r4, r6 │ │ │ │ │ ldr r6, [sp, #12] │ │ │ │ │ cmp r6, r1 │ │ │ │ │ - bne.n 3c4 │ │ │ │ │ + bne.n 46a │ │ │ │ │ ldr r6, [sp, #20] │ │ │ │ │ - b.n 21a │ │ │ │ │ + b.n 286 │ │ │ │ │ ldr r6, [sp, #4] │ │ │ │ │ cmp r6, #2 │ │ │ │ │ - bgt.n 4b0 │ │ │ │ │ - b.n 4a4 │ │ │ │ │ + bgt.n 55a │ │ │ │ │ + b.n 54c │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -000004bc : │ │ │ │ │ +00000568 : │ │ │ │ │ print(): │ │ │ │ │ mov r3, r0 │ │ │ │ │ - ldr r2, [pc, #56] @ (4f8 ) │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + ldr r2, [pc, #56] @ (5a4 ) │ │ │ │ │ mov r0, r1 │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ + sub sp, #16 │ │ │ │ │ ldr r4, [r1, #0] │ │ │ │ │ ldr r1, [r3, #56] @ 0x38 │ │ │ │ │ add r2, pc │ │ │ │ │ - sub sp, #16 │ │ │ │ │ cmp r1, r2 │ │ │ │ │ - beq.n 4f0 │ │ │ │ │ - ldr r2, [pc, #40] @ (4fc ) │ │ │ │ │ + beq.n 59e │ │ │ │ │ + ldr r2, [pc, #40] @ (5a8 ) │ │ │ │ │ add r2, pc │ │ │ │ │ ldr r1, [r3, #96] @ 0x60 │ │ │ │ │ str r1, [sp, #12] │ │ │ │ │ ldr r1, [r3, #92] @ 0x5c │ │ │ │ │ str r1, [sp, #8] │ │ │ │ │ ldr r1, [r3, #76] @ 0x4c │ │ │ │ │ str r1, [sp, #4] │ │ │ │ │ ldr r1, [r3, #68] @ 0x44 │ │ │ │ │ str r1, [sp, #0] │ │ │ │ │ - ldr r1, [pc, #24] @ (500 ) │ │ │ │ │ + ldr r1, [pc, #24] @ (5ac ) │ │ │ │ │ ldr r3, [r3, #64] @ 0x40 │ │ │ │ │ add r1, pc │ │ │ │ │ blx r4 │ │ │ │ │ add sp, #16 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - ldr r2, [pc, #16] @ (504 ) │ │ │ │ │ + ldr r2, [pc, #16] @ (5b0 ) │ │ │ │ │ add r2, pc │ │ │ │ │ - b.n 4d4 │ │ │ │ │ - nop │ │ │ │ │ - .word 0x0000002c │ │ │ │ │ + b.n 582 │ │ │ │ │ + .word 0x00000028 │ │ │ │ │ R_ARM_REL32 apply_dit │ │ │ │ │ - .word 0x00000026 │ │ │ │ │ + .word 0x00000024 │ │ │ │ │ R_ARM_REL32 .LC1 │ │ │ │ │ - .word 0x00000014 │ │ │ │ │ + .word 0x00000012 │ │ │ │ │ R_ARM_REL32 .LC2 │ │ │ │ │ - .word 0x0000000e │ │ │ │ │ + .word 0x0000000c │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ -00000508 : │ │ │ │ │ +000005b4 : │ │ │ │ │ mkcldw(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r3 │ │ │ │ │ bics.w r3, r1, #4 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #28 │ │ │ │ │ - bne.n 51a │ │ │ │ │ + bne.n 5d6 │ │ │ │ │ lsls r0, r5, #31 │ │ │ │ │ - bmi.n 522 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + bmi.n 5f2 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #28 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ mov r6, r2 │ │ │ │ │ lsls r2, r6, #31 │ │ │ │ │ - bpl.n 51a │ │ │ │ │ + bpl.n 5d6 │ │ │ │ │ ldr r3, [sp, #88] @ 0x58 │ │ │ │ │ ldr.w r3, [r3, #164] @ 0xa4 │ │ │ │ │ lsls r3, r3, #28 │ │ │ │ │ - bmi.n 51a │ │ │ │ │ - ldr r3, [sp, #76] @ 0x4c │ │ │ │ │ + bmi.n 5d6 │ │ │ │ │ + ldrd r3, r2, [sp, #76] @ 0x4c │ │ │ │ │ mov r4, r1 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ ite eq │ │ │ │ │ moveq r7, #1 │ │ │ │ │ movne r7, #0 │ │ │ │ │ add.w r8, r7, r3 │ │ │ │ │ ldr r3, [sp, #80] @ 0x50 │ │ │ │ │ sub.w r7, r3, r7 │ │ │ │ │ - ldrd r3, r2, [sp, #76] @ 0x4c │ │ │ │ │ + ldr r3, [sp, #76] @ 0x4c │ │ │ │ │ add r3, r2 │ │ │ │ │ add.w r3, r3, #4294967295 @ 0xffffffff │ │ │ │ │ sub.w r3, r5, r3 │ │ │ │ │ sub.w r9, r3, r8 │ │ │ │ │ - beq.w 68a │ │ │ │ │ + beq.w 76c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_0d │ │ │ │ │ mov sl, r0 │ │ │ │ │ - ldr r2, [sp, #72] @ 0x48 │ │ │ │ │ - ldr r0, [sp, #68] @ 0x44 │ │ │ │ │ + ldrd r0, r2, [sp, #68] @ 0x44 │ │ │ │ │ mov r1, r2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ ldr r3, [sp, #84] @ 0x54 │ │ │ │ │ mov r1, r0 │ │ │ │ │ + mov r0, sl │ │ │ │ │ str r4, [sp, #0] │ │ │ │ │ mov r2, r3 │ │ │ │ │ - mov r0, sl │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_1_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ ldr r0, [sp, #88] @ 0x58 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov sl, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 6a2 │ │ │ │ │ + beq.w 784 │ │ │ │ │ ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ mov r0, r6 │ │ │ │ │ mul.w r2, r3, r5 │ │ │ │ │ mov r1, r2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ mov fp, r0 │ │ │ │ │ - movs r0, #2 │ │ │ │ │ + mov.w r0, #2 │ │ │ │ │ mul.w r2, r3, r9 │ │ │ │ │ ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ + mov r1, r2 │ │ │ │ │ strd r3, r3, [sp, #12] │ │ │ │ │ ldr r3, [sp, #68] @ 0x44 │ │ │ │ │ - mov r1, r2 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ strd r3, r3, [sp] │ │ │ │ │ mov r3, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_3d │ │ │ │ │ ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ - ldr r2, [sp, #84] @ 0x54 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - str r4, [sp, #0] │ │ │ │ │ mov r0, fp │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ + ldr r2, [sp, #84] @ 0x54 │ │ │ │ │ mul.w r3, r3, r8 │ │ │ │ │ add.w r3, r2, r3, lsl #3 │ │ │ │ │ mov r2, r3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_1_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ ldr r0, [sp, #88] @ 0x58 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov r9, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 6a2 │ │ │ │ │ + beq.n 784 │ │ │ │ │ cmp r4, #0 │ │ │ │ │ - bne.n 69c │ │ │ │ │ - ldr r2, [pc, #200] @ (6b0 ) │ │ │ │ │ + bne.n 77e │ │ │ │ │ + ldr r2, [pc, #216] @ (794 ) │ │ │ │ │ add r2, pc │ │ │ │ │ - ldr r1, [pc, #200] @ (6b4 ) │ │ │ │ │ - movs r0, #104 @ 0x68 │ │ │ │ │ + ldr r1, [pc, #216] @ (798 ) │ │ │ │ │ + mov.w r0, #104 @ 0x68 │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_hc2hc │ │ │ │ │ - subs r2, r6, #1 │ │ │ │ │ + add.w r2, r6, #4294967295 @ 0xffffffff │ │ │ │ │ + strd r6, r5, [r0, #64] @ 0x40 │ │ │ │ │ + vmov.f64 d5, #28 @ 0x40e00000 7.0 │ │ │ │ │ strd r8, r7, [r0, #84] @ 0x54 │ │ │ │ │ - lsls r7, r7, #1 │ │ │ │ │ - vmov s13, r7 │ │ │ │ │ + mov.w r7, r7, lsl #1 │ │ │ │ │ + vmov.f64 d4, #20 @ 0x40a00000 5.0 │ │ │ │ │ vmov s14, r2 │ │ │ │ │ vcvt.f64.s32 d7, d7, #1 │ │ │ │ │ - strd r6, r5, [r0, #64] @ 0x40 │ │ │ │ │ cmp r4, #0 │ │ │ │ │ - vcvt.f64.s32 d6, s13 │ │ │ │ │ ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ - add.w r5, r9, #8 │ │ │ │ │ + vmov s13, r7 │ │ │ │ │ + ldrd r6, r7, [r9, #8] │ │ │ │ │ + it eq │ │ │ │ │ + vmoveq.f64 d5, d4 │ │ │ │ │ + strd sl, r9, [r0, #92] @ 0x5c │ │ │ │ │ + strd r6, r7, [r0, #8] │ │ │ │ │ + ldrd r6, r7, [r9, #16] │ │ │ │ │ str r3, [r0, #72] @ 0x48 │ │ │ │ │ - add.w r6, r0, #8 │ │ │ │ │ + vcvt.f64.s32 d6, s13 │ │ │ │ │ ldr r3, [sp, #68] @ 0x44 │ │ │ │ │ - vmov.f64 d5, #28 @ 0x40e00000 7.0 │ │ │ │ │ - vmov.f64 d4, #20 @ 0x40a00000 5.0 │ │ │ │ │ + strd r6, r7, [r0, #16] │ │ │ │ │ + ldrd r6, r7, [r9, #24] │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ vldr s13, [sp, #68] @ 0x44 │ │ │ │ │ + strd r6, r7, [r0, #24] │ │ │ │ │ + ldrd r6, r7, [r9, #32] │ │ │ │ │ str r3, [r0, #76] @ 0x4c │ │ │ │ │ - mov ip, r0 │ │ │ │ │ - ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ - it eq │ │ │ │ │ - vmoveq.f64 d5, d4 │ │ │ │ │ vcvt.f64.s32 d6, s13 │ │ │ │ │ + ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ + strd r6, r7, [r0, #32] │ │ │ │ │ str r3, [r0, #80] @ 0x50 │ │ │ │ │ - strd sl, r9, [r0, #92] @ 0x5c │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - str r3, [r0, #100] @ 0x64 │ │ │ │ │ - ldmia r5!, {r0, r1, r2, r3} │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ - stmia r6!, {r0, r1, r2, r3} │ │ │ │ │ - vldr d6, [ip, #16] │ │ │ │ │ + vldr d6, [r0, #16] │ │ │ │ │ + str r3, [r0, #100] @ 0x64 │ │ │ │ │ vmla.f64 d6, d5, d7 │ │ │ │ │ vmov.f64 d5, #16 @ 0x40800000 4.0 │ │ │ │ │ - ldmia.w r5, {r0, r1, r2, r3} │ │ │ │ │ - stmia.w r6, {r0, r1, r2, r3} │ │ │ │ │ - mov r0, ip │ │ │ │ │ - vstr d6, [ip, #16] │ │ │ │ │ - vldr d6, [ip, #8] │ │ │ │ │ + vstr d6, [r0, #16] │ │ │ │ │ + vldr d6, [r0, #8] │ │ │ │ │ vmla.f64 d6, d7, d5 │ │ │ │ │ vmov.f64 d5, #38 @ 0x41300000 11.0 │ │ │ │ │ - vstr d6, [ip, #8] │ │ │ │ │ - vldr d6, [ip, #32] │ │ │ │ │ + vstr d6, [r0, #8] │ │ │ │ │ + vldr d6, [r0, #32] │ │ │ │ │ vmla.f64 d6, d7, d5 │ │ │ │ │ - vstr d6, [ip, #32] │ │ │ │ │ - b.n 51c │ │ │ │ │ + vstr d6, [r0, #32] │ │ │ │ │ + b.n 5da │ │ │ │ │ ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ mov r0, r6 │ │ │ │ │ mul.w r2, r3, r5 │ │ │ │ │ mov r1, r2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ mov sl, r0 │ │ │ │ │ - b.n 564 │ │ │ │ │ - ldr r2, [pc, #24] @ (6b8 ) │ │ │ │ │ + b.n 634 │ │ │ │ │ + ldr r2, [pc, #28] @ (79c ) │ │ │ │ │ add r2, pc │ │ │ │ │ - b.n 5ea │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + b.n 6bc │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ mov r0, sl │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ - b.n 51a │ │ │ │ │ - .word 0x000000c4 │ │ │ │ │ + b.n 5d6 │ │ │ │ │ + .word 0x000000d6 │ │ │ │ │ R_ARM_REL32 apply_dit │ │ │ │ │ - .word 0x000000c2 │ │ │ │ │ + .word 0x000000d2 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ │ │ - .word 0x00000016 │ │ │ │ │ + .word 0x00000018 │ │ │ │ │ R_ARM_REL32 apply_dif │ │ │ │ │ │ │ │ │ │ -000006bc : │ │ │ │ │ +000007a0 : │ │ │ │ │ destroy(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldr r0, [r0, #96] @ 0x60 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ ldr r0, [r4, #92] @ 0x5c │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_destroy_internal │ │ │ │ │ │ │ │ │ │ -000006d0 : │ │ │ │ │ +000007b8 : │ │ │ │ │ awake(): │ │ │ │ │ - push {r4, r5, lr} │ │ │ │ │ + str.w r4, [sp, #-12]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - mov r5, r1 │ │ │ │ │ - sub sp, #12 │ │ │ │ │ ldr r0, [r0, #92] @ 0x5c │ │ │ │ │ + strd r5, lr, [sp, #4] │ │ │ │ │ + sub sp, #12 │ │ │ │ │ + mov r5, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ ldr r0, [r4, #96] @ 0x60 │ │ │ │ │ mov r1, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ - add.w r1, r4, #100 @ 0x64 │ │ │ │ │ ldrd r3, r2, [r4, #64] @ 0x40 │ │ │ │ │ - strd r2, r3, [sp] │ │ │ │ │ + add.w r1, r4, #100 @ 0x64 │ │ │ │ │ mov r0, r5 │ │ │ │ │ + strd r2, r3, [sp] │ │ │ │ │ mul.w r3, r2, r3 │ │ │ │ │ - ldr r2, [pc, #8] @ (704 ) │ │ │ │ │ + ldr r2, [pc, #20] @ (7fc ) │ │ │ │ │ add r2, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_twiddle_awake │ │ │ │ │ add sp, #12 │ │ │ │ │ - pop {r4, r5, pc} │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x00000010 │ │ │ │ │ R_ARM_REL32 .rodata │ │ │ │ │ │ │ │ │ │ -00000708 : │ │ │ │ │ +00000800 : │ │ │ │ │ apply_dit(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r6, r0 │ │ │ │ │ vmov.f64 d0, #240 @ 0xbf800000 -1.0 │ │ │ │ │ - sub sp, #52 @ 0x34 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ mov r4, r1 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r6, r0 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + sub sp, #52 @ 0x34 │ │ │ │ │ bl 0 │ │ │ │ │ ldr r0, [r6, #92] @ 0x5c │ │ │ │ │ mov r2, r4 │ │ │ │ │ mov r1, r4 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ blx r3 │ │ │ │ │ ldr r2, [r6, #72] @ 0x48 │ │ │ │ │ ldr r3, [r6, #84] @ 0x54 │ │ │ │ │ ldr r0, [r6, #96] @ 0x60 │ │ │ │ │ mul.w r3, r2, r3 │ │ │ │ │ add.w r2, r4, r3, lsl #3 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ mov r1, r2 │ │ │ │ │ blx r3 │ │ │ │ │ - ldr r3, [r6, #64] @ 0x40 │ │ │ │ │ + ldrd r3, r0, [r6, #64] @ 0x40 │ │ │ │ │ ldrd r5, r1, [r6, #72] @ 0x48 │ │ │ │ │ + ldrd r2, r8, [r6, #80] @ 0x50 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ - ldr r0, [r6, #68] @ 0x44 │ │ │ │ │ - ldrd r8, r3, [r6, #84] @ 0x54 │ │ │ │ │ + ldr r3, [r6, #88] @ 0x58 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - ldr r2, [r6, #80] @ 0x50 │ │ │ │ │ mul.w r0, r5, r0 │ │ │ │ │ - add r3, r8 │ │ │ │ │ str r1, [sp, #20] │ │ │ │ │ - ble.w 87a │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ - mul.w r1, r8, r5 │ │ │ │ │ + add r3, r8 │ │ │ │ │ + ble.w 9ae │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ cmp r5, #1 │ │ │ │ │ + mul.w r1, r8, r5 │ │ │ │ │ str r2, [sp, #24] │ │ │ │ │ - bne.w 892 │ │ │ │ │ + bne.w 9da │ │ │ │ │ ldr r6, [sp, #8] │ │ │ │ │ mov.w ip, r0, lsl #3 │ │ │ │ │ + mov.w r8, r1, lsl #3 │ │ │ │ │ add.w r5, r4, ip │ │ │ │ │ rsb r4, r1, r1, lsl #29 │ │ │ │ │ - subs r2, r6, #2 │ │ │ │ │ - mov.w r8, r1, lsl #3 │ │ │ │ │ rsb r7, r8, #0 │ │ │ │ │ mov.w fp, r3, lsl #3 │ │ │ │ │ + sub.w r2, r6, #2 │ │ │ │ │ str r7, [sp, #28] │ │ │ │ │ mul.w r2, r0, r2 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ str r2, [sp, #36] @ 0x24 │ │ │ │ │ - subs r2, r6, #3 │ │ │ │ │ - lsrs r2, r2, #1 │ │ │ │ │ + sub.w r2, r6, #3 │ │ │ │ │ + mov.w r2, r2, lsr #1 │ │ │ │ │ add.w sl, r2, #2 │ │ │ │ │ - adds r2, r4, r0 │ │ │ │ │ + add.w r2, r4, r0 │ │ │ │ │ mla r4, r0, r6, r4 │ │ │ │ │ - adds r2, #1 │ │ │ │ │ - subs r4, r4, r0 │ │ │ │ │ - lsls r7, r2, #3 │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ + mov.w r7, r2, lsl #3 │ │ │ │ │ mov r2, r3 │ │ │ │ │ - lsls r0, r4, #3 │ │ │ │ │ - subs r4, r6, #1 │ │ │ │ │ + sub.w r4, r4, r0 │ │ │ │ │ + mov.w r0, r4, lsl #3 │ │ │ │ │ + add.w r4, r6, #4294967295 @ 0xffffffff │ │ │ │ │ + mov.w r4, r4, lsr #1 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ str r0, [sp, #32] │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - lsrs r4, r4, #1 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ str r0, [sp, #4] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ cmp r3, #2 │ │ │ │ │ - ble.w 9d4 │ │ │ │ │ + ble.w b3e │ │ │ │ │ cmp r2, r1 │ │ │ │ │ - ble.n 880 │ │ │ │ │ + ble.n 9c6 │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ mov.w lr, #1 │ │ │ │ │ str r4, [sp, #0] │ │ │ │ │ - adds r0, r5, r3 │ │ │ │ │ - mov r3, r5 │ │ │ │ │ strd r2, r5, [sp, #12] │ │ │ │ │ + add.w r0, r5, r3 │ │ │ │ │ + mov r3, r5 │ │ │ │ │ add.w r2, r8, r3 │ │ │ │ │ - adds r6, r7, r0 │ │ │ │ │ + add.w r6, r7, r0 │ │ │ │ │ add.w r5, r8, r0 │ │ │ │ │ - adds r4, r7, r3 │ │ │ │ │ + add.w r4, r7, r3 │ │ │ │ │ add.w r9, fp, r3 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ vldmdb r6!, {d6} │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ vldmdb r4!, {d7} │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ vsub.f64 d3, d4, d6 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ vstmia r2!, {d3} │ │ │ │ │ cmp r2, r9 │ │ │ │ │ vstr d6, [r6] │ │ │ │ │ vsub.f64 d6, d5, d7 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vstmia r5!, {d6} │ │ │ │ │ vstr d7, [r4] │ │ │ │ │ - bne.n 7da │ │ │ │ │ + bne.n 904 │ │ │ │ │ add.w lr, lr, #1 │ │ │ │ │ add r3, ip │ │ │ │ │ - sub.w r0, r0, ip │ │ │ │ │ cmp lr, sl │ │ │ │ │ - bne.n 7ca │ │ │ │ │ + sub.w r0, r0, ip │ │ │ │ │ + bne.n 8f0 │ │ │ │ │ ldr r4, [sp, #0] │ │ │ │ │ ldrd r2, r5, [sp, #12] │ │ │ │ │ - movs r6, #0 │ │ │ │ │ - ldr r3, [sp, #28] │ │ │ │ │ + mov.w r6, #0 │ │ │ │ │ str r5, [sp, #12] │ │ │ │ │ + ldr r3, [sp, #28] │ │ │ │ │ add.w r9, r5, r3 │ │ │ │ │ ldr r3, [sp, #32] │ │ │ │ │ add.w lr, r5, r3 │ │ │ │ │ - adds r6, #1 │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ mov r5, r9 │ │ │ │ │ + str r1, [sp, #0] │ │ │ │ │ mov r0, lr │ │ │ │ │ mov r3, r1 │ │ │ │ │ - str r1, [sp, #0] │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ mov r1, r5 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - subs r5, #8 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ + sub.w r5, r5, #8 │ │ │ │ │ + vldr d7, [r5, #8] │ │ │ │ │ vstr d6, [r1] │ │ │ │ │ mov r1, r0 │ │ │ │ │ sub.w r0, r0, #8 │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ - bne.n 83c │ │ │ │ │ + bne.n 96a │ │ │ │ │ + cmp r4, r6 │ │ │ │ │ ldr r1, [sp, #0] │ │ │ │ │ add r9, ip │ │ │ │ │ sub.w lr, lr, ip │ │ │ │ │ - cmp r4, r6 │ │ │ │ │ - bne.n 832 │ │ │ │ │ - ldr r0, [sp, #24] │ │ │ │ │ - ldr r5, [sp, #12] │ │ │ │ │ + bne.n 95e │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ + ldr r5, [sp, #12] │ │ │ │ │ + ldr r0, [sp, #24] │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ add r5, r0 │ │ │ │ │ ldr r0, [sp, #20] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ cmp r0, r3 │ │ │ │ │ - bne.n 7ae │ │ │ │ │ + bne.n 8d2 │ │ │ │ │ add sp, #52 @ 0x34 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - ldr r0, [sp, #24] │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ + ldr r0, [sp, #24] │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ add r5, r0 │ │ │ │ │ ldr r0, [sp, #20] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ cmp r0, r3 │ │ │ │ │ - bne.n 7b6 │ │ │ │ │ - b.n 87a │ │ │ │ │ + bne.n 8da │ │ │ │ │ + b.n 9ae │ │ │ │ │ ldr r6, [sp, #8] │ │ │ │ │ mov.w r9, r1, lsl #3 │ │ │ │ │ - lsls r7, r0, #3 │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ - subs r6, #2 │ │ │ │ │ - negs r2, r5 │ │ │ │ │ + mov.w r7, r0, lsl #3 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ add r4, r7 │ │ │ │ │ + rsb r2, r5, #0 │ │ │ │ │ + sub.w r6, r6, #2 │ │ │ │ │ mul.w r6, r0, r6 │ │ │ │ │ - lsls r6, r6, #3 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ str r6, [sp, #44] @ 0x2c │ │ │ │ │ ldr r6, [sp, #8] │ │ │ │ │ - subs r6, #3 │ │ │ │ │ - lsrs r6, r6, #1 │ │ │ │ │ + sub.w r6, r6, #3 │ │ │ │ │ + mov.w r6, r6, lsr #1 │ │ │ │ │ add.w fp, r6, #2 │ │ │ │ │ - subs r6, r0, r1 │ │ │ │ │ + sub.w r6, r0, r1 │ │ │ │ │ rsb r1, r1, r1, lsl #29 │ │ │ │ │ - str.w fp, [sp, #4] │ │ │ │ │ - lsls r6, r6, #3 │ │ │ │ │ - str r6, [sp, #0] │ │ │ │ │ - adds r6, r1, r0 │ │ │ │ │ - lsls r6, r6, #3 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + strd r6, fp, [sp] │ │ │ │ │ + add.w r6, r1, r0 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ str r6, [sp, #40] @ 0x28 │ │ │ │ │ ldr r6, [sp, #8] │ │ │ │ │ mla r1, r0, r6, r1 │ │ │ │ │ - subs r1, r1, r0 │ │ │ │ │ - lsls r0, r1, #3 │ │ │ │ │ - subs r1, r6, #1 │ │ │ │ │ - lsrs r1, r1, #1 │ │ │ │ │ - adds r1, #1 │ │ │ │ │ + sub.w r1, r1, r0 │ │ │ │ │ + mov.w r0, r1, lsl #3 │ │ │ │ │ + add.w r1, r6, #4294967295 @ 0xffffffff │ │ │ │ │ + mov.w r1, r1, lsr #1 │ │ │ │ │ + add.w r1, r1, #1 │ │ │ │ │ str r1, [sp, #36] @ 0x24 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ ldr r6, [sp, #8] │ │ │ │ │ cmp r6, #2 │ │ │ │ │ - ble.w 9e6 │ │ │ │ │ + ble.w b50 │ │ │ │ │ cmp r8, r3 │ │ │ │ │ - bge.n 9c6 │ │ │ │ │ - ldr r6, [sp, #44] @ 0x2c │ │ │ │ │ + bge.n b2e │ │ │ │ │ + ldrd ip, r6, [sp, #40] @ 0x28 │ │ │ │ │ mov lr, r4 │ │ │ │ │ - ldr.w ip, [sp, #40] @ 0x28 │ │ │ │ │ mov.w fp, #1 │ │ │ │ │ - add.w sl, r4, r6 │ │ │ │ │ strd r2, r1, [sp, #12] │ │ │ │ │ - str r4, [sp, #28] │ │ │ │ │ - str r0, [sp, #32] │ │ │ │ │ + strd r4, r0, [sp, #28] │ │ │ │ │ + add.w sl, r4, r6 │ │ │ │ │ ldr r2, [sp, #0] │ │ │ │ │ add.w r4, r9, lr │ │ │ │ │ add.w r1, r9, sl │ │ │ │ │ mov r6, r8 │ │ │ │ │ add.w r0, sl, r2 │ │ │ │ │ add.w r2, lr, ip │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - adds r6, #1 │ │ │ │ │ vldr d4, [r0] │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ cmp r3, r6 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ vldr d5, [r2] │ │ │ │ │ vsub.f64 d3, d6, d4 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ vstr d3, [r4] │ │ │ │ │ add r4, r5 │ │ │ │ │ vstr d6, [r0] │ │ │ │ │ vsub.f64 d6, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ sub.w r0, r0, r5 │ │ │ │ │ vstr d6, [r1] │ │ │ │ │ add r1, r5 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ sub.w r2, r2, r5 │ │ │ │ │ - bne.n 914 │ │ │ │ │ + bne.n a7a │ │ │ │ │ ldr r2, [sp, #4] │ │ │ │ │ add.w fp, fp, #1 │ │ │ │ │ add lr, r7 │ │ │ │ │ sub.w sl, sl, r7 │ │ │ │ │ cmp fp, r2 │ │ │ │ │ - bne.n 900 │ │ │ │ │ + bne.n a66 │ │ │ │ │ ldrd r2, r1, [sp, #12] │ │ │ │ │ ldrd r4, r0, [sp, #28] │ │ │ │ │ sub.w sl, r4, r9 │ │ │ │ │ - ldr.w fp, [sp, #36] @ 0x24 │ │ │ │ │ add.w lr, r4, r0 │ │ │ │ │ - mov.w ip, #0 │ │ │ │ │ strd r5, r1, [sp, #12] │ │ │ │ │ + ldr.w fp, [sp, #36] @ 0x24 │ │ │ │ │ + mov.w ip, #0 │ │ │ │ │ add.w ip, ip, #1 │ │ │ │ │ mov r5, sl │ │ │ │ │ mov r1, lr │ │ │ │ │ mov r6, r8 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - adds r6, #1 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ cmp r3, r6 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ vstr d6, [r5] │ │ │ │ │ add r5, r2 │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ add r1, r2 │ │ │ │ │ - bne.n 98c │ │ │ │ │ + bne.n af4 │ │ │ │ │ + cmp ip, fp │ │ │ │ │ add sl, r7 │ │ │ │ │ sub.w lr, lr, r7 │ │ │ │ │ - cmp ip, fp │ │ │ │ │ - bne.n 982 │ │ │ │ │ - ldr r6, [sp, #24] │ │ │ │ │ + bne.n aea │ │ │ │ │ ldrd r5, r1, [sp, #12] │ │ │ │ │ + ldr r6, [sp, #24] │ │ │ │ │ + add.w r1, r1, #1 │ │ │ │ │ add r4, r6 │ │ │ │ │ ldr r6, [sp, #20] │ │ │ │ │ - adds r1, #1 │ │ │ │ │ cmp r6, r1 │ │ │ │ │ - bne.n 8dc │ │ │ │ │ - add sp, #52 @ 0x34 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + bne.n a44 │ │ │ │ │ + b.n 9ae │ │ │ │ │ ldr r6, [sp, #24] │ │ │ │ │ - adds r1, #1 │ │ │ │ │ + add.w r1, r1, #1 │ │ │ │ │ add r4, r6 │ │ │ │ │ ldr r6, [sp, #20] │ │ │ │ │ cmp r6, r1 │ │ │ │ │ - bne.n 8e4 │ │ │ │ │ - b.n 87a │ │ │ │ │ + bne.n a4c │ │ │ │ │ + b.n 9ae │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ ldr r0, [sp, #8] │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - ble.w 87a │ │ │ │ │ + ble.w 9ae │ │ │ │ │ cmp r2, r1 │ │ │ │ │ - ble.n a00 │ │ │ │ │ + ble.n b6a │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ - b.n 822 │ │ │ │ │ + b.n 94c │ │ │ │ │ ldr r6, [sp, #8] │ │ │ │ │ cmp r6, #0 │ │ │ │ │ - ble.w 87a │ │ │ │ │ + ble.w 9ae │ │ │ │ │ cmp r8, r3 │ │ │ │ │ - blt.n 96e │ │ │ │ │ + blt.n ad6 │ │ │ │ │ ldr r6, [sp, #24] │ │ │ │ │ adds r1, #1 │ │ │ │ │ add r4, r6 │ │ │ │ │ ldr r6, [sp, #20] │ │ │ │ │ cmp r6, r1 │ │ │ │ │ - bne.n 9e6 │ │ │ │ │ - b.n 87a │ │ │ │ │ + bne.n b50 │ │ │ │ │ + b.n 9ae │ │ │ │ │ ldr r0, [sp, #24] │ │ │ │ │ adds r3, #1 │ │ │ │ │ add r5, r0 │ │ │ │ │ ldr r0, [sp, #20] │ │ │ │ │ cmp r0, r3 │ │ │ │ │ - bne.n 9d6 │ │ │ │ │ - b.n 87a │ │ │ │ │ - nop │ │ │ │ │ + bne.n b40 │ │ │ │ │ + b.n 9ae │ │ │ │ │ │ │ │ │ │ -00000a10 : │ │ │ │ │ +00000b78 : │ │ │ │ │ fftw_hc2hc_generic_register(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - ldr r6, [pc, #52] @ (a4c ) │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ mov r4, r0 │ │ │ │ │ - movs r0, #16 │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ + mov.w r0, #16 │ │ │ │ │ + ldr r6, [pc, #68] @ (bd0 ) │ │ │ │ │ + ldr r5, [pc, #68] @ (bd4 ) │ │ │ │ │ add r6, pc │ │ │ │ │ - ldr r5, [pc, #48] @ (a50 ) │ │ │ │ │ mov r2, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver_hc2hc │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - add r5, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ - ldr r3, [pc, #36] @ (a54 ) │ │ │ │ │ + ldr r3, [pc, #56] @ (bd8 ) │ │ │ │ │ + add r5, pc │ │ │ │ │ ldr r3, [r5, r3] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - cbz r3, a4a │ │ │ │ │ + cbz r3, bc6 │ │ │ │ │ mov r2, r6 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - movs r0, #16 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ + mov.w r0, #16 │ │ │ │ │ blx r3 │ │ │ │ │ + ldrd r6, lr, [sp, #8] │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solver_register │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ - .word 0x0000002e │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ + nop │ │ │ │ │ + .word 0x0000003e │ │ │ │ │ R_ARM_REL32 mkcldw │ │ │ │ │ - .word 0x00000024 │ │ │ │ │ + .word 0x00000030 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_mksolver_hc2hc_hook │ │ │ ├── hc2hc.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2452 (bytes into file) │ │ │ │ │ + Start of section headers: 2564 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 15 │ │ │ │ │ Section header string table index: 14 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ -There are 15 section headers, starting at offset 0x994: │ │ │ │ │ +There are 15 section headers, starting at offset 0xa04: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0002fc 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0007dc 000108 08 I 12 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000330 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000330 000004 00 WA 0 0 4 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000330 000024 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 000354 000010 00 WA 0 0 4 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 0008e4 000020 08 I 12 6 4 │ │ │ │ │ - [ 8] .data.rel.ro.local PROGBITS 00000000 000364 00000c 00 WA 0 0 4 │ │ │ │ │ - [ 9] .rel.data.rel.ro.local REL 00000000 000904 000008 08 I 12 8 4 │ │ │ │ │ - [10] .note.GNU-stack PROGBITS 00000000 000370 000000 00 0 0 1 │ │ │ │ │ - [11] .ARM.attributes ARM_ATTRIBUTES 00000000 000370 000033 00 0 0 1 │ │ │ │ │ - [12] .symtab SYMTAB 00000000 0003a4 0002b0 10 13 25 4 │ │ │ │ │ - [13] .strtab STRTAB 00000000 000654 000186 00 0 0 1 │ │ │ │ │ - [14] .shstrtab STRTAB 00000000 00090c 000087 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00036c 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 00084c 000108 08 I 12 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0003a0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0003a0 000004 00 WA 0 0 4 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0003a0 000024 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0003c4 000010 00 WA 0 0 4 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000954 000020 08 I 12 6 4 │ │ │ │ │ + [ 8] .data.rel.ro.local PROGBITS 00000000 0003d4 00000c 00 WA 0 0 4 │ │ │ │ │ + [ 9] .rel.data.rel.ro.local REL 00000000 000974 000008 08 I 12 8 4 │ │ │ │ │ + [10] .note.GNU-stack PROGBITS 00000000 0003e0 000000 00 0 0 1 │ │ │ │ │ + [11] .ARM.attributes ARM_ATTRIBUTES 00000000 0003e0 000033 00 0 0 1 │ │ │ │ │ + [12] .symtab SYMTAB 00000000 000414 0002b0 10 13 25 4 │ │ │ │ │ + [13] .strtab STRTAB 00000000 0006c4 000186 00 0 0 1 │ │ │ │ │ + [14] .shstrtab STRTAB 00000000 00097c 000087 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,46 +1,46 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 43 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 24 FUNC LOCAL DEFAULT 1 apply_dit │ │ │ │ │ + 1: 00000001 36 FUNC LOCAL DEFAULT 1 apply_dit │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000019 28 FUNC LOCAL DEFAULT 1 apply_dif │ │ │ │ │ + 3: 00000025 40 FUNC LOCAL DEFAULT 1 apply_dif │ │ │ │ │ 4: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ 6: 00000004 0 NOTYPE LOCAL DEFAULT 5 .LC1 │ │ │ │ │ 7: 00000008 0 NOTYPE LOCAL DEFAULT 5 .LC2 │ │ │ │ │ - 8: 00000035 68 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ - 9: 00000068 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 10: 00000078 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 11: 00000079 20 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 12: 0000008d 24 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 13: 0000010d 460 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 14: 000002c8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 15: 000002d8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 16: 000002ec 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 17: 000002f0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 8: 0000004d 68 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 9: 00000080 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 10: 00000090 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 11: 00000091 24 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 12: 000000a9 36 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 13: 00000149 496 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 14: 00000328 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 15: 00000338 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 16: 00000358 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 17: 0000035c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 18: 00000000 0 NOTYPE LOCAL DEFAULT 4 $d │ │ │ │ │ 19: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 20: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 21: 00000000 16 OBJECT LOCAL DEFAULT 6 padt.0 │ │ │ │ │ 22: 00000000 0 SECTION LOCAL DEFAULT 8 .data.rel.ro.local │ │ │ │ │ 23: 00000000 0 NOTYPE LOCAL DEFAULT 8 $d │ │ │ │ │ 24: 00000000 12 OBJECT LOCAL DEFAULT 8 sadt.1 │ │ │ │ │ 25: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_destroy_internal │ │ │ │ │ 26: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_awake │ │ │ │ │ - 27: 000000a5 104 FUNC GLOBAL DEFAULT 1 fftw_hc2hc_applicable │ │ │ │ │ + 27: 000000cd 124 FUNC GLOBAL DEFAULT 1 fftw_hc2hc_applicable │ │ │ │ │ 28: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_choose_radix │ │ │ │ │ 29: 00000000 0 NOTYPE GLOBAL DEFAULT UND __aeabi_idiv │ │ │ │ │ 30: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_tornk1 │ │ │ │ │ 31: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mktensor_1d │ │ │ │ │ 32: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mktensor_2d │ │ │ │ │ 33: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkproblem_rdft_d │ │ │ │ │ 34: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_d │ │ │ │ │ 35: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_rdft │ │ │ │ │ 36: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_add │ │ │ │ │ - 37: 000002d9 24 FUNC GLOBAL DEFAULT 1 fftw_mksolver_hc2hc │ │ │ │ │ + 37: 00000339 36 FUNC GLOBAL DEFAULT 1 fftw_mksolver_hc2hc │ │ │ │ │ 38: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ - 39: 000002f1 12 FUNC GLOBAL DEFAULT 1 fftw_mkplan_hc2hc │ │ │ │ │ + 39: 0000035d 14 FUNC GLOBAL DEFAULT 1 fftw_mkplan_hc2hc │ │ │ │ │ 40: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan │ │ │ │ │ 41: 00000000 4 OBJECT GLOBAL DEFAULT 4 fftw_mksolver_hc2hc_hook │ │ │ │ │ 42: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_solve │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,47 +1,47 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x7dc contains 33 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x84c contains 33 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000068 00000103 R_ARM_REL32 00000001 apply_dit │ │ │ │ │ -0000006c 00000603 R_ARM_REL32 00000004 .LC1 │ │ │ │ │ -00000070 00000703 R_ARM_REL32 00000008 .LC2 │ │ │ │ │ -00000074 00000503 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -0000007e 0000190a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000094 00001a0a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -000000e0 00001c0a R_ARM_THM_CALL 00000000 fftw_choose_radix │ │ │ │ │ -00000130 00001b0a R_ARM_THM_CALL 000000a5 fftw_hc2hc_applicable │ │ │ │ │ -00000146 00001c0a R_ARM_THM_CALL 00000000 fftw_choose_radix │ │ │ │ │ -00000150 00001d0a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -0000015e 00001e0a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ -000001a8 00001f0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -000001c2 0000200a R_ARM_THM_CALL 00000000 fftw_mktensor_2d │ │ │ │ │ -000001d4 0000210a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_d │ │ │ │ │ -000001dc 0000220a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -000001f0 0000230a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ -00000208 0000240a R_ARM_THM_CALL 00000000 fftw_ops_add │ │ │ │ │ -0000025e 00001f0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -00000278 0000200a R_ARM_THM_CALL 00000000 fftw_mktensor_2d │ │ │ │ │ -0000028a 0000210a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_d │ │ │ │ │ -00000292 0000220a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -000002a4 0000230a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ -000002b0 0000190a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000002b6 0000190a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000002c8 00000103 R_ARM_REL32 00000001 apply_dit │ │ │ │ │ -000002cc 00001303 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000002d0 00000303 R_ARM_REL32 00000019 apply_dif │ │ │ │ │ -000002d4 00001303 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000002e2 0000260a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -000002ec 00001603 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -000002f4 0000280a R_ARM_THM_CALL 00000000 fftw_mkplan │ │ │ │ │ -00000088 0000191e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000000a0 00001a1e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ +00000080 00000103 R_ARM_REL32 00000001 apply_dit │ │ │ │ │ +00000084 00000603 R_ARM_REL32 00000004 .LC1 │ │ │ │ │ +00000088 00000703 R_ARM_REL32 00000008 .LC2 │ │ │ │ │ +0000008c 00000503 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +00000098 0000190a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000000b6 00001a0a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +00000116 00001c0a R_ARM_THM_CALL 00000000 fftw_choose_radix │ │ │ │ │ +00000178 00001b0a R_ARM_THM_CALL 000000cd fftw_hc2hc_applicable │ │ │ │ │ +0000018e 00001c0a R_ARM_THM_CALL 00000000 fftw_choose_radix │ │ │ │ │ +00000198 00001d0a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +000001a6 00001e0a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ +000001f2 00001f0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +0000020c 0000200a R_ARM_THM_CALL 00000000 fftw_mktensor_2d │ │ │ │ │ +0000021e 0000210a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_d │ │ │ │ │ +00000226 0000220a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +0000023c 0000230a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ +00000254 0000240a R_ARM_THM_CALL 00000000 fftw_ops_add │ │ │ │ │ +000002a6 00001f0a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +000002c0 0000200a R_ARM_THM_CALL 00000000 fftw_mktensor_2d │ │ │ │ │ +000002d2 0000210a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_d │ │ │ │ │ +000002da 0000220a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +000002ee 0000230a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ +000002fc 0000190a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000304 0000190a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000328 00000103 R_ARM_REL32 00000001 apply_dit │ │ │ │ │ +0000032c 00001303 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000330 00000303 R_ARM_REL32 00000025 apply_dif │ │ │ │ │ +00000334 00001303 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000348 0000260a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +00000358 00001603 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +00000362 0000280a R_ARM_THM_CALL 00000000 fftw_mkplan │ │ │ │ │ +000000a4 0000191e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000000c8 00001a1e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x8e4 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x954 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00002a02 R_ARM_ABS32 00000000 fftw_rdft_solve │ │ │ │ │ -00000004 00000c02 R_ARM_ABS32 0000008d awake │ │ │ │ │ -00000008 00000802 R_ARM_ABS32 00000035 print │ │ │ │ │ -0000000c 00000b02 R_ARM_ABS32 00000079 destroy │ │ │ │ │ +00000004 00000c02 R_ARM_ABS32 000000a9 awake │ │ │ │ │ +00000008 00000802 R_ARM_ABS32 0000004d print │ │ │ │ │ +0000000c 00000b02 R_ARM_ABS32 00000091 destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x904 contains 1 entry: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x974 contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000d02 R_ARM_ABS32 0000010d mkplan │ │ │ │ │ +00000004 00000d02 R_ARM_ABS32 00000149 mkplan │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,8 +1,7 @@ │ │ │ │ │ -8JP 8IzDyD │ │ │ │ │ (rdft-ct-%s/%D%(%p%)%(%p%)) │ │ │ │ │ apply_dit │ │ │ │ │ apply_dif │ │ │ │ │ fftw_plan_destroy_internal │ │ │ │ │ fftw_plan_awake │ │ │ │ │ fftw_hc2hc_applicable │ │ │ │ │ fftw_choose_radix │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,367 +1,392 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ apply_dit(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ mov r5, r2 │ │ │ │ │ + ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ blx r3 │ │ │ │ │ ldr r0, [r4, #68] @ 0x44 │ │ │ │ │ mov r1, r5 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, lr, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ bx r3 │ │ │ │ │ │ │ │ │ │ -00000018 : │ │ │ │ │ +00000024 : │ │ │ │ │ apply_dif(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - ldr r0, [r0, #68] @ 0x44 │ │ │ │ │ mov r5, r1 │ │ │ │ │ + ldr r0, [r0, #68] @ 0x44 │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ mov r6, r2 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ blx r3 │ │ │ │ │ ldr r0, [r4, #64] @ 0x40 │ │ │ │ │ mov r2, r6 │ │ │ │ │ mov r1, r5 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, lr, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ bx r3 │ │ │ │ │ │ │ │ │ │ -00000034 : │ │ │ │ │ +0000004c : │ │ │ │ │ print(): │ │ │ │ │ mov r3, r0 │ │ │ │ │ - ldr r2, [pc, #48] @ (68 ) │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + ldr r2, [pc, #48] @ (80 ) │ │ │ │ │ mov r0, r1 │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ + sub sp, #8 │ │ │ │ │ ldr r4, [r1, #0] │ │ │ │ │ ldr r1, [r3, #56] @ 0x38 │ │ │ │ │ add r2, pc │ │ │ │ │ - sub sp, #8 │ │ │ │ │ cmp r1, r2 │ │ │ │ │ - beq.n 60 │ │ │ │ │ - ldr r2, [pc, #32] @ (6c ) │ │ │ │ │ + beq.n 7a │ │ │ │ │ + ldr r2, [pc, #32] @ (84 ) │ │ │ │ │ add r2, pc │ │ │ │ │ ldr r1, [r3, #64] @ 0x40 │ │ │ │ │ str r1, [sp, #4] │ │ │ │ │ ldr r1, [r3, #68] @ 0x44 │ │ │ │ │ str r1, [sp, #0] │ │ │ │ │ - ldr r1, [pc, #24] @ (70 ) │ │ │ │ │ + ldr r1, [pc, #24] @ (88 ) │ │ │ │ │ ldr r3, [r3, #72] @ 0x48 │ │ │ │ │ add r1, pc │ │ │ │ │ blx r4 │ │ │ │ │ add sp, #8 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - ldr r2, [pc, #16] @ (74 ) │ │ │ │ │ + ldr r2, [pc, #16] @ (8c ) │ │ │ │ │ add r2, pc │ │ │ │ │ - b.n 4c │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000024 │ │ │ │ │ + b.n 66 │ │ │ │ │ + .word 0x00000020 │ │ │ │ │ R_ARM_REL32 apply_dit │ │ │ │ │ - .word 0x0000001e │ │ │ │ │ + .word 0x0000001c │ │ │ │ │ R_ARM_REL32 .LC1 │ │ │ │ │ - .word 0x00000014 │ │ │ │ │ + .word 0x00000012 │ │ │ │ │ R_ARM_REL32 .LC2 │ │ │ │ │ - .word 0x0000000e │ │ │ │ │ + .word 0x0000000c │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ -00000078 : │ │ │ │ │ +00000090 : │ │ │ │ │ destroy(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldr r0, [r0, #68] @ 0x44 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ ldr r0, [r4, #64] @ 0x40 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_destroy_internal │ │ │ │ │ │ │ │ │ │ -0000008c : │ │ │ │ │ +000000a8 : │ │ │ │ │ awake(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - mov r5, r1 │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ + mov r5, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ ldr r0, [r4, #68] @ 0x44 │ │ │ │ │ mov r1, r5 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, lr} │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + ldrd r5, lr, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_awake │ │ │ │ │ │ │ │ │ │ -000000a4 : │ │ │ │ │ +000000cc : │ │ │ │ │ fftw_hc2hc_applicable(): │ │ │ │ │ ldr r3, [r1, #4] │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ - ldr r4, [r3, #0] │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ sub sp, #8 │ │ │ │ │ + ldr r4, [r3, #0] │ │ │ │ │ cmp r4, #1 │ │ │ │ │ - beq.n b8 │ │ │ │ │ - movs r4, #0 │ │ │ │ │ + beq.n ee │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ add sp, #8 │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ mov r5, r1 │ │ │ │ │ ldr r1, [r1, #8] │ │ │ │ │ ldr r1, [r1, #0] │ │ │ │ │ cmp r1, #1 │ │ │ │ │ - bgt.n b0 │ │ │ │ │ + bgt.n de │ │ │ │ │ ldr r1, [r5, #20] │ │ │ │ │ - cbz r1, da │ │ │ │ │ + cbz r1, 110 │ │ │ │ │ cmp r1, #4 │ │ │ │ │ - bne.n b0 │ │ │ │ │ + bne.n de │ │ │ │ │ ldrd r6, r1, [r5, #12] │ │ │ │ │ cmp r6, r1 │ │ │ │ │ - beq.n da │ │ │ │ │ + beq.n 110 │ │ │ │ │ ldr.w r1, [r2, #164] @ 0xa4 │ │ │ │ │ lsls r1, r1, #19 │ │ │ │ │ - bmi.n b0 │ │ │ │ │ + bmi.n de │ │ │ │ │ ldr r1, [r3, #4] │ │ │ │ │ - ldr r0, [r0, #8] │ │ │ │ │ str r2, [sp, #4] │ │ │ │ │ + ldr r0, [r0, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_choose_radix │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - ble.n b0 │ │ │ │ │ + ble.n de │ │ │ │ │ ldr r3, [r5, #4] │ │ │ │ │ ldr r3, [r3, #4] │ │ │ │ │ cmp r0, r3 │ │ │ │ │ - bge.n b0 │ │ │ │ │ + bge.n de │ │ │ │ │ ldr r3, [r5, #8] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - beq.n b2 │ │ │ │ │ + beq.n e2 │ │ │ │ │ ldr r2, [sp, #4] │ │ │ │ │ ldr.w r4, [r2, #164] @ 0xa4 │ │ │ │ │ ubfx r4, r4, #4, #1 │ │ │ │ │ eor.w r4, r4, #1 │ │ │ │ │ mov r0, r4 │ │ │ │ │ add sp, #8 │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ │ │ │ │ │ -0000010c : │ │ │ │ │ +00000148 : │ │ │ │ │ mkplan(): │ │ │ │ │ ldr.w r3, [r2, #164] @ 0xa4 │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ - mov r6, r0 │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ mov r4, r1 │ │ │ │ │ - sub sp, #48 @ 0x30 │ │ │ │ │ mov r5, r2 │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + mov r6, r0 │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ + sub sp, #48 @ 0x30 │ │ │ │ │ lsls r3, r3, #22 │ │ │ │ │ - bpl.n 12a │ │ │ │ │ + bpl.n 172 │ │ │ │ │ ldr.w r3, [r2, #160] @ 0xa0 │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - bgt.w 2ba │ │ │ │ │ + bgt.w 308 │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r1, r4 │ │ │ │ │ mov r0, r6 │ │ │ │ │ - bl a4 │ │ │ │ │ + bl cc │ │ │ │ │ R_ARM_THM_CALL fftw_hc2hc_applicable │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 2ba │ │ │ │ │ + beq.w 308 │ │ │ │ │ ldr.w r9, [r4, #4] │ │ │ │ │ ldr r0, [r6, #8] │ │ │ │ │ ldr.w r8, [r9, #4] │ │ │ │ │ mov r1, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_choose_radix │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r7, r0 │ │ │ │ │ mov r0, r8 │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ - add r1, sp, #36 @ 0x24 │ │ │ │ │ mov r8, r0 │ │ │ │ │ - add r3, sp, #44 @ 0x2c │ │ │ │ │ ldr r0, [r4, #8] │ │ │ │ │ + add r1, sp, #36 @ 0x24 │ │ │ │ │ + add r3, sp, #44 @ 0x2c │ │ │ │ │ add r2, sp, #40 @ 0x28 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_tornk1 │ │ │ │ │ ldr r1, [r4, #20] │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - bne.n 218 │ │ │ │ │ + bne.n 260 │ │ │ │ │ str r5, [sp, #24] │ │ │ │ │ mov r0, r6 │ │ │ │ │ mov r2, r7 │ │ │ │ │ ldr r3, [r4, #16] │ │ │ │ │ + str r1, [sp, #12] │ │ │ │ │ str r3, [sp, #20] │ │ │ │ │ add.w r3, r8, #2 │ │ │ │ │ add.w r3, r3, r3, lsr #31 │ │ │ │ │ - asrs r3, r3, #1 │ │ │ │ │ - strd r1, r3, [sp, #12] │ │ │ │ │ + mov.w r3, r3, asr #1 │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr.w r3, [r9, #12] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, r8 │ │ │ │ │ ldr.w sl, [r6, #12] │ │ │ │ │ blx sl │ │ │ │ │ mov r6, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 2ac │ │ │ │ │ + beq.w 2f6 │ │ │ │ │ ldrd r1, r2, [r9, #8] │ │ │ │ │ mov r0, r8 │ │ │ │ │ mul.w r1, r7, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ + mov sl, r0 │ │ │ │ │ + mov r0, r7 │ │ │ │ │ ldrd r1, r2, [r9, #8] │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ - mov sl, r0 │ │ │ │ │ + mul.w r2, r2, r8 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - mov r0, r7 │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_2d │ │ │ │ │ add.w r3, r4, #20 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, sl │ │ │ │ │ + str r3, [sp, #0] │ │ │ │ │ ldrd r2, r3, [r4, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov r5, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 2ae │ │ │ │ │ - ldr r2, [pc, #224] @ (2c8 ) │ │ │ │ │ - movs r0, #80 @ 0x50 │ │ │ │ │ - ldr r1, [pc, #224] @ (2cc ) │ │ │ │ │ + beq.n 2fa │ │ │ │ │ + ldr r2, [pc, #244] @ (328 ) │ │ │ │ │ + mov.w r0, #80 @ 0x50 │ │ │ │ │ + ldr r1, [pc, #244] @ (32c ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_rdft │ │ │ │ │ mov r4, r0 │ │ │ │ │ add.w r0, r5, #8 │ │ │ │ │ add.w r2, r4, #8 │ │ │ │ │ - add.w r1, r6, #8 │ │ │ │ │ strd r5, r6, [r4, #64] @ 0x40 │ │ │ │ │ + add.w r1, r6, #8 │ │ │ │ │ str r7, [r4, #72] @ 0x48 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_add │ │ │ │ │ ldr r3, [r6, #52] @ 0x34 │ │ │ │ │ mov r0, r4 │ │ │ │ │ str r3, [r4, #52] @ 0x34 │ │ │ │ │ - add sp, #48 @ 0x30 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ + b.n 30c │ │ │ │ │ cmp r1, #4 │ │ │ │ │ - bne.n 2c2 │ │ │ │ │ + bne.n 320 │ │ │ │ │ str r5, [sp, #24] │ │ │ │ │ mov r0, r6 │ │ │ │ │ mov r2, r7 │ │ │ │ │ ldr r3, [r4, #12] │ │ │ │ │ str r3, [sp, #20] │ │ │ │ │ add.w r3, r8, #2 │ │ │ │ │ add.w r3, r3, r3, lsr #31 │ │ │ │ │ - asrs r3, r3, #1 │ │ │ │ │ + mov.w r3, r3, asr #1 │ │ │ │ │ str r3, [sp, #16] │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr.w r3, [r9, #8] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, r8 │ │ │ │ │ ldr.w sl, [r6, #12] │ │ │ │ │ blx sl │ │ │ │ │ mov r6, r0 │ │ │ │ │ - cbz r0, 2ac │ │ │ │ │ - ldr.w r2, [r9, #12] │ │ │ │ │ + cbz r0, 2f6 │ │ │ │ │ + ldrd r1, r2, [r9, #8] │ │ │ │ │ mov r0, r8 │ │ │ │ │ - ldr.w r1, [r9, #8] │ │ │ │ │ mul.w r2, r7, r2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ + mov sl, r0 │ │ │ │ │ + mov r0, r7 │ │ │ │ │ ldrd r1, r2, [r9, #8] │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ - mov sl, r0 │ │ │ │ │ + mul.w r1, r1, r8 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - mov r0, r7 │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ - mul.w r1, r1, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_2d │ │ │ │ │ add.w r3, r4, #20 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, sl │ │ │ │ │ + str r3, [sp, #0] │ │ │ │ │ ldrd r2, r3, [r4, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov r5, r0 │ │ │ │ │ - cbz r0, 2ae │ │ │ │ │ - ldr r2, [pc, #52] @ (2d0 ) │ │ │ │ │ - movs r0, #80 @ 0x50 │ │ │ │ │ - ldr r1, [pc, #52] @ (2d4 ) │ │ │ │ │ + cbz r0, 2fa │ │ │ │ │ + ldr r2, [pc, #76] @ (330 ) │ │ │ │ │ + mov.w r0, #80 @ 0x50 │ │ │ │ │ + ldr r1, [pc, #72] @ (334 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_rdft │ │ │ │ │ mov r4, r0 │ │ │ │ │ - b.n 1f6 │ │ │ │ │ - movs r6, #0 │ │ │ │ │ + b.n 242 │ │ │ │ │ + mov.w r6, #0 │ │ │ │ │ mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #48 @ 0x30 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {sl, pc} │ │ │ │ │ movs r3, #0 │ │ │ │ │ str r3, [r3, #64] @ 0x40 │ │ │ │ │ udf #255 @ 0xff │ │ │ │ │ - .word 0x000000d8 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x000000ec │ │ │ │ │ R_ARM_REL32 apply_dit │ │ │ │ │ - .word 0x000000da │ │ │ │ │ + .word 0x000000ee │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x0000002c │ │ │ │ │ + .word 0x00000042 │ │ │ │ │ R_ARM_REL32 apply_dif │ │ │ │ │ - .word 0x0000002e │ │ │ │ │ + .word 0x00000044 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ │ │ │ │ │ -000002d8 : │ │ │ │ │ +00000338 : │ │ │ │ │ fftw_mksolver_hc2hc(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ - mov r5, r1 │ │ │ │ │ - ldr r1, [pc, #12] @ (2ec ) │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r2 │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ + mov r5, r1 │ │ │ │ │ + ldr r1, [pc, #16] @ (358 ) │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ strd r5, r4, [r0, #8] │ │ │ │ │ - pop {r3, r4, r5, pc} │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r5, pc} │ │ │ │ │ + .word 0x0000000e │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ │ │ │ │ │ │ │ -000002f0 : │ │ │ │ │ +0000035c : │ │ │ │ │ fftw_mkplan_hc2hc(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan │ │ │ │ │ str r4, [r0, #56] @ 0x38 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ + nop │ │ │ ├── lt9-indirect.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2440 (bytes into file) │ │ │ │ │ + Start of section headers: 2568 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 15 │ │ │ │ │ Section header string table index: 14 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ -There are 15 section headers, starting at offset 0x988: │ │ │ │ │ +There are 15 section headers, starting at offset 0xa08: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00024c 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0007a8 000100 08 I 12 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000280 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000280 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000280 00003d 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 0002bd 000010 00 WA 0 0 4 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 0008a8 000020 08 I 12 6 4 │ │ │ │ │ - [ 8] .data.rel.ro.local PROGBITS 00000000 0002cd 000024 00 WA 0 0 4 │ │ │ │ │ - [ 9] .rel.data.rel.ro.local REL 00000000 0008c8 000038 08 I 12 8 4 │ │ │ │ │ - [10] .note.GNU-stack PROGBITS 00000000 0002f1 000000 00 0 0 1 │ │ │ │ │ - [11] .ARM.attributes ARM_ATTRIBUTES 00000000 0002f1 000033 00 0 0 1 │ │ │ │ │ - [12] .symtab SYMTAB 00000000 000324 0002b0 10 13 26 4 │ │ │ │ │ - [13] .strtab STRTAB 00000000 0005d4 0001d3 00 0 0 1 │ │ │ │ │ - [14] .shstrtab STRTAB 00000000 000900 000087 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0002cc 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000828 000100 08 I 12 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000300 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000300 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000300 00003d 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 00033d 000010 00 WA 0 0 4 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000928 000020 08 I 12 6 4 │ │ │ │ │ + [ 8] .data.rel.ro.local PROGBITS 00000000 00034d 000024 00 WA 0 0 4 │ │ │ │ │ + [ 9] .rel.data.rel.ro.local REL 00000000 000948 000038 08 I 12 8 4 │ │ │ │ │ + [10] .note.GNU-stack PROGBITS 00000000 000371 000000 00 0 0 1 │ │ │ │ │ + [11] .ARM.attributes ARM_ATTRIBUTES 00000000 000371 000033 00 0 0 1 │ │ │ │ │ + [12] .symtab SYMTAB 00000000 0003a4 0002b0 10 13 26 4 │ │ │ │ │ + [13] .strtab STRTAB 00000000 000654 0001d3 00 0 0 1 │ │ │ │ │ + [14] .shstrtab STRTAB 00000000 000980 000087 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,28 +1,28 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 43 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 26 FUNC LOCAL DEFAULT 1 apply_before │ │ │ │ │ + 1: 00000001 38 FUNC LOCAL DEFAULT 1 apply_before │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 0000001d 30 FUNC LOCAL DEFAULT 1 apply_after │ │ │ │ │ + 3: 00000029 42 FUNC LOCAL DEFAULT 1 apply_after │ │ │ │ │ 4: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 6: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ - 7: 0000003d 36 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ - 8: 0000005c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 9: 00000060 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 10: 00000061 20 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 11: 00000075 300 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 12: 00000194 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 13: 000001a0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 14: 000001a1 24 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 15: 000001b9 44 FUNC LOCAL DEFAULT 1 mkcld_after │ │ │ │ │ - 16: 000001e5 44 FUNC LOCAL DEFAULT 1 mkcld_before │ │ │ │ │ - 17: 00000248 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 7: 00000055 40 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 8: 00000078 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 9: 0000007c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 10: 0000007d 24 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 11: 00000095 320 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 12: 000001c8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 13: 000001d4 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 14: 000001d5 36 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 15: 000001f9 68 FUNC LOCAL DEFAULT 1 mkcld_after │ │ │ │ │ + 16: 0000023d 68 FUNC LOCAL DEFAULT 1 mkcld_before │ │ │ │ │ + 17: 000002c8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 18: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 19: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 20: 00000000 16 OBJECT LOCAL DEFAULT 6 padt.0 │ │ │ │ │ 21: 00000000 0 SECTION LOCAL DEFAULT 8 .data.rel.ro.local │ │ │ │ │ 22: 00000000 0 NOTYPE LOCAL DEFAULT 8 $d │ │ │ │ │ 23: 00000000 12 OBJECT LOCAL DEFAULT 8 sadt.1 │ │ │ │ │ 24: 0000000c 12 OBJECT LOCAL DEFAULT 8 adt_before │ │ │ │ │ @@ -36,11 +36,11 @@ │ │ │ │ │ 32: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_f_d │ │ │ │ │ 33: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_rdft │ │ │ │ │ 34: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_add │ │ │ │ │ 35: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_min_ostride │ │ │ │ │ 36: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_awake │ │ │ │ │ 37: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_copy_inplace │ │ │ │ │ 38: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkproblem_rdft_d │ │ │ │ │ - 39: 00000211 60 FUNC GLOBAL DEFAULT 1 fftw_rdft_indirect_register │ │ │ │ │ + 39: 00000281 76 FUNC GLOBAL DEFAULT 1 fftw_rdft_indirect_register │ │ │ │ │ 40: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ 41: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 42: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_solve │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,52 +1,52 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x7a8 contains 32 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x828 contains 32 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000005c 00000603 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -00000066 00001a0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000000c2 00001b0a R_ARM_THM_CALL 00000000 fftw_tensor_min_istride │ │ │ │ │ -000000da 00001c0a R_ARM_THM_CALL 00000000 fftw_tensor_inplace_strides2 │ │ │ │ │ -000000f6 00001d0a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ -000000fe 00001e0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_0_d │ │ │ │ │ -00000106 00001f0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -00000122 0000200a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ -00000134 0000210a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ -0000014c 0000220a R_ARM_THM_CALL 00000000 fftw_ops_add │ │ │ │ │ -00000164 00001a0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -0000016a 00001a0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000172 0000230a R_ARM_THM_CALL 00000000 fftw_tensor_min_ostride │ │ │ │ │ -0000017c 00001b0a R_ARM_THM_CALL 00000000 fftw_tensor_min_istride │ │ │ │ │ -00000188 0000230a R_ARM_THM_CALL 00000000 fftw_tensor_min_ostride │ │ │ │ │ -00000194 00000303 R_ARM_REL32 0000001d apply_after │ │ │ │ │ -00000198 00000103 R_ARM_REL32 00000001 apply_before │ │ │ │ │ -0000019c 00001203 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000001a8 0000240a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -000001c2 0000250a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ -000001cc 0000250a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ -000001dc 0000260a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_d │ │ │ │ │ -000001ee 0000250a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ -000001f8 0000250a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ -00000208 0000260a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_d │ │ │ │ │ -0000021c 0000280a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -0000022a 0000290a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -00000234 0000280a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -00000248 00001503 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -00000070 00001a1e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000001b4 0000241e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ -00000242 0000291e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ +00000078 00000603 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +00000084 00001a0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000000f6 00001b0a R_ARM_THM_CALL 00000000 fftw_tensor_min_istride │ │ │ │ │ +0000010c 00001c0a R_ARM_THM_CALL 00000000 fftw_tensor_inplace_strides2 │ │ │ │ │ +00000128 00001d0a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ +00000130 00001e0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_0_d │ │ │ │ │ +00000138 00001f0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +00000156 0000200a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ +0000016a 0000210a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ +00000182 0000220a R_ARM_THM_CALL 00000000 fftw_ops_add │ │ │ │ │ +00000198 00001a0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +0000019e 00001a0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000001a6 0000230a R_ARM_THM_CALL 00000000 fftw_tensor_min_ostride │ │ │ │ │ +000001b0 00001b0a R_ARM_THM_CALL 00000000 fftw_tensor_min_istride │ │ │ │ │ +000001bc 0000230a R_ARM_THM_CALL 00000000 fftw_tensor_min_ostride │ │ │ │ │ +000001c8 00000303 R_ARM_REL32 00000029 apply_after │ │ │ │ │ +000001cc 00000103 R_ARM_REL32 00000001 apply_before │ │ │ │ │ +000001d0 00001203 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000001e2 0000240a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +0000020e 0000250a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ +0000021c 0000250a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ +0000022c 0000260a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_d │ │ │ │ │ +00000252 0000250a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ +00000260 0000250a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ +00000270 0000260a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_d │ │ │ │ │ +00000294 0000280a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +000002a2 0000290a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +000002ac 0000280a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +000002c8 00001503 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +00000090 00001a1e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000001f4 0000241e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ +000002c4 0000291e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x8a8 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x928 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00002a02 R_ARM_ABS32 00000000 fftw_rdft_solve │ │ │ │ │ -00000004 00000e02 R_ARM_ABS32 000001a1 awake │ │ │ │ │ -00000008 00000702 R_ARM_ABS32 0000003d print │ │ │ │ │ -0000000c 00000a02 R_ARM_ABS32 00000061 destroy │ │ │ │ │ +00000004 00000e02 R_ARM_ABS32 000001d5 awake │ │ │ │ │ +00000008 00000702 R_ARM_ABS32 00000055 print │ │ │ │ │ +0000000c 00000a02 R_ARM_ABS32 0000007d destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x8c8 contains 7 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x948 contains 7 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000b02 R_ARM_ABS32 00000075 mkplan │ │ │ │ │ +00000004 00000b02 R_ARM_ABS32 00000095 mkplan │ │ │ │ │ 0000000c 00000102 R_ARM_ABS32 00000001 apply_before │ │ │ │ │ -00000010 00001002 R_ARM_ABS32 000001e5 mkcld_before │ │ │ │ │ +00000010 00001002 R_ARM_ABS32 0000023d mkcld_before │ │ │ │ │ 00000014 00000402 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ -00000018 00000302 R_ARM_ABS32 0000001d apply_after │ │ │ │ │ -0000001c 00000f02 R_ARM_ABS32 000001b9 mkcld_after │ │ │ │ │ +00000018 00000302 R_ARM_ABS32 00000029 apply_after │ │ │ │ │ +0000001c 00000f02 R_ARM_ABS32 000001f9 mkcld_after │ │ │ │ │ 00000020 00000402 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,302 +1,324 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ apply_before(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ mov r5, r2 │ │ │ │ │ + ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ blx r3 │ │ │ │ │ ldr r0, [r4, #68] @ 0x44 │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r1, r5 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, lr, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ bx r3 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -0000001c : │ │ │ │ │ +00000028 : │ │ │ │ │ apply_after(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ mov r5, r0 │ │ │ │ │ + mov r4, r1 │ │ │ │ │ ldr r0, [r0, #68] @ 0x44 │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ mov r6, r2 │ │ │ │ │ mov r2, r1 │ │ │ │ │ - mov r4, r1 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ blx r3 │ │ │ │ │ ldr r0, [r5, #64] @ 0x40 │ │ │ │ │ mov r2, r6 │ │ │ │ │ mov r1, r4 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, lr, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ bx r3 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -0000003c : │ │ │ │ │ +00000054 : │ │ │ │ │ print(): │ │ │ │ │ mov r3, r0 │ │ │ │ │ - push {r4, lr} │ │ │ │ │ mov r0, r1 │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ + ldr r1, [r3, #64] @ 0x40 │ │ │ │ │ sub sp, #8 │ │ │ │ │ ldr r2, [r3, #72] @ 0x48 │ │ │ │ │ - ldr r1, [r3, #64] @ 0x40 │ │ │ │ │ - ldr r4, [r0, #0] │ │ │ │ │ ldr r2, [r2, #8] │ │ │ │ │ ldr r2, [r2, #8] │ │ │ │ │ str r1, [sp, #0] │ │ │ │ │ - ldr r1, [pc, #8] @ (5c ) │ │ │ │ │ + ldr r1, [pc, #12] @ (78 ) │ │ │ │ │ + ldr r4, [r0, #0] │ │ │ │ │ ldr r3, [r3, #68] @ 0x44 │ │ │ │ │ add r1, pc │ │ │ │ │ blx r4 │ │ │ │ │ add sp, #8 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - .word 0x00000004 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x00000006 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ -00000060 : │ │ │ │ │ +0000007c : │ │ │ │ │ destroy(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldr r0, [r0, #68] @ 0x44 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ ldr r0, [r4, #64] @ 0x40 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_destroy_internal │ │ │ │ │ │ │ │ │ │ -00000074 : │ │ │ │ │ +00000094 : │ │ │ │ │ mkplan(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ + strd r4, r5, [sp, #-24]! │ │ │ │ │ mov r4, r1 │ │ │ │ │ - ldr r1, [r1, #8] │ │ │ │ │ mvn.w r3, #2147483648 @ 0x80000000 │ │ │ │ │ + ldr r1, [r1, #8] │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + strd r8, lr, [sp, #16] │ │ │ │ │ sub sp, #8 │ │ │ │ │ ldr r6, [r1, #0] │ │ │ │ │ cmp r6, r3 │ │ │ │ │ - beq.n b0 │ │ │ │ │ + beq.n d8 │ │ │ │ │ mov r5, r0 │ │ │ │ │ ldr r0, [r4, #4] │ │ │ │ │ ldr r3, [r0, #0] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.n b0 │ │ │ │ │ + ble.n d8 │ │ │ │ │ mov r7, r2 │ │ │ │ │ ldrd r2, r3, [r4, #12] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.n da │ │ │ │ │ + beq.n 10c │ │ │ │ │ ldr r3, [r5, #8] │ │ │ │ │ - ldr r2, [pc, #244] @ (194 ) │ │ │ │ │ + ldr r2, [pc, #256] @ (1c8 ) │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ add r2, pc │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - beq.n b8 │ │ │ │ │ - ldr r2, [pc, #236] @ (198 ) │ │ │ │ │ + beq.n ec │ │ │ │ │ + ldr r2, [pc, #248] @ (1cc ) │ │ │ │ │ add r2, pc │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - beq.n 170 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + beq.n 1a4 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #8 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldmia.w sp!, {r8, pc} │ │ │ │ │ ldr.w r3, [r7, #164] @ 0xa4 │ │ │ │ │ lsls r3, r3, #19 │ │ │ │ │ - bmi.n b0 │ │ │ │ │ + bmi.n d8 │ │ │ │ │ ldr r0, [r4, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_min_istride │ │ │ │ │ cmp r0, #2 │ │ │ │ │ - ble.n 186 │ │ │ │ │ + ble.n 1ba │ │ │ │ │ ldrd r2, r3, [r4, #12] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - itt ne │ │ │ │ │ - ldrne r3, [r5, #8] │ │ │ │ │ - ldrne r3, [r3, #0] │ │ │ │ │ - bne.n a8 │ │ │ │ │ - b.n b0 │ │ │ │ │ + beq.n d8 │ │ │ │ │ + ldr r3, [r5, #8] │ │ │ │ │ + ldr r3, [r3, #0] │ │ │ │ │ + b.n d0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_inplace_strides2 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.n 158 │ │ │ │ │ + bne.n 18a │ │ │ │ │ ldr.w r3, [r7, #164] @ 0xa4 │ │ │ │ │ lsls r2, r3, #26 │ │ │ │ │ - bpl.n f2 │ │ │ │ │ + bpl.n 124 │ │ │ │ │ ldrd r2, r3, [r4, #12] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.n b0 │ │ │ │ │ + bne.n d8 │ │ │ │ │ ldrd r1, r0, [r4, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_append │ │ │ │ │ ldrd r1, r2, [r4, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_0_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov r8, r0 │ │ │ │ │ - cbz r0, 162 │ │ │ │ │ + cbz r0, 194 │ │ │ │ │ ldr r3, [r5, #8] │ │ │ │ │ mov r0, r4 │ │ │ │ │ ldr r3, [r3, #4] │ │ │ │ │ blx r3 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov.w r2, #1024 @ 0x400 │ │ │ │ │ mov r0, r7 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_f_d │ │ │ │ │ mov r6, r0 │ │ │ │ │ - cbz r0, 162 │ │ │ │ │ + cbz r0, 194 │ │ │ │ │ ldr r3, [r5, #8] │ │ │ │ │ - movs r0, #80 @ 0x50 │ │ │ │ │ - ldr r1, [pc, #108] @ (19c ) │ │ │ │ │ + mov.w r0, #80 @ 0x50 │ │ │ │ │ + ldr r1, [pc, #104] @ (1d0 ) │ │ │ │ │ ldr r2, [r3, #0] │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_rdft │ │ │ │ │ - add.w r1, r8, #8 │ │ │ │ │ mov r4, r0 │ │ │ │ │ add.w r2, r0, #8 │ │ │ │ │ - strd r8, r6, [r0, #64] @ 0x40 │ │ │ │ │ - str r5, [r0, #72] @ 0x48 │ │ │ │ │ + add.w r1, r8, #8 │ │ │ │ │ add.w r0, r6, #8 │ │ │ │ │ + strd r8, r6, [r4, #64] @ 0x40 │ │ │ │ │ + str r5, [r4, #72] @ 0x48 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_add │ │ │ │ │ mov r0, r4 │ │ │ │ │ - add sp, #8 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, pc} │ │ │ │ │ + b.n dc │ │ │ │ │ ldrd r2, r3, [r4, #12] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.n b0 │ │ │ │ │ - b.n 9c │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + beq.n d8 │ │ │ │ │ + b.n c4 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ mov r0, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ - b.n b0 │ │ │ │ │ + b.n d8 │ │ │ │ │ ldr r0, [r4, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_min_ostride │ │ │ │ │ cmp r0, #2 │ │ │ │ │ - bgt.n b0 │ │ │ │ │ + bgt.n d8 │ │ │ │ │ ldr r0, [r4, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_min_istride │ │ │ │ │ cmp r0, #2 │ │ │ │ │ - bgt.n e2 │ │ │ │ │ - b.n b0 │ │ │ │ │ + bgt.n 114 │ │ │ │ │ + b.n d8 │ │ │ │ │ ldr r0, [r4, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_min_ostride │ │ │ │ │ cmp r0, #2 │ │ │ │ │ - bgt.n e2 │ │ │ │ │ - b.n ca │ │ │ │ │ + bgt.n 114 │ │ │ │ │ + b.n fe │ │ │ │ │ nop │ │ │ │ │ - .word 0x000000ee │ │ │ │ │ + .word 0x000000fa │ │ │ │ │ R_ARM_REL32 apply_after │ │ │ │ │ - .word 0x000000ea │ │ │ │ │ + .word 0x000000f6 │ │ │ │ │ R_ARM_REL32 apply_before │ │ │ │ │ - .word 0x00000066 │ │ │ │ │ + .word 0x00000064 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ │ │ │ │ │ -000001a0 : │ │ │ │ │ +000001d4 : │ │ │ │ │ awake(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - mov r5, r1 │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ + mov r5, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ ldr r0, [r4, #68] @ 0x44 │ │ │ │ │ mov r1, r5 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, lr} │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + ldrd r5, lr, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_awake │ │ │ │ │ │ │ │ │ │ -000001b8 : │ │ │ │ │ +000001f8 : │ │ │ │ │ mkcld_after(): │ │ │ │ │ - push {r4, r5, lr} │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ + str.w r4, [sp, #-12]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - sub sp, #12 │ │ │ │ │ ldr r0, [r0, #4] │ │ │ │ │ + add.w r4, r4, #20 │ │ │ │ │ + strd r5, lr, [sp, #4] │ │ │ │ │ + sub sp, #12 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy_inplace │ │ │ │ │ - movs r1, #0 │ │ │ │ │ mov r5, r0 │ │ │ │ │ - ldr r0, [r4, #8] │ │ │ │ │ + ldr.w r0, [r4, #-12] │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy_inplace │ │ │ │ │ - ldr r3, [r4, #12] │ │ │ │ │ + ldr.w r3, [r4, #-8] │ │ │ │ │ mov r1, r0 │ │ │ │ │ - adds r4, #20 │ │ │ │ │ - mov r2, r3 │ │ │ │ │ mov r0, r5 │ │ │ │ │ str r4, [sp, #0] │ │ │ │ │ + mov r2, r3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_d │ │ │ │ │ add sp, #12 │ │ │ │ │ - pop {r4, r5, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -000001e4 : │ │ │ │ │ +0000023c : │ │ │ │ │ mkcld_before(): │ │ │ │ │ - push {r4, r5, lr} │ │ │ │ │ + mov.w r1, #1 │ │ │ │ │ + str.w r4, [sp, #-12]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - movs r1, #1 │ │ │ │ │ - sub sp, #12 │ │ │ │ │ ldr r0, [r0, #4] │ │ │ │ │ + add.w r4, r4, #20 │ │ │ │ │ + strd r5, lr, [sp, #4] │ │ │ │ │ + sub sp, #12 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy_inplace │ │ │ │ │ - movs r1, #1 │ │ │ │ │ mov r5, r0 │ │ │ │ │ - ldr r0, [r4, #8] │ │ │ │ │ + ldr.w r0, [r4, #-12] │ │ │ │ │ + mov.w r1, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy_inplace │ │ │ │ │ - ldr r3, [r4, #16] │ │ │ │ │ + ldr.w r3, [r4, #-4] │ │ │ │ │ mov r1, r0 │ │ │ │ │ - adds r4, #20 │ │ │ │ │ - mov r2, r3 │ │ │ │ │ mov r0, r5 │ │ │ │ │ str r4, [sp, #0] │ │ │ │ │ + mov r2, r3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_d │ │ │ │ │ add sp, #12 │ │ │ │ │ - pop {r4, r5, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -00000210 : │ │ │ │ │ +00000280 : │ │ │ │ │ fftw_rdft_indirect_register(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ + ldr r4, [pc, #64] @ (2c8 ) │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ mov r5, r0 │ │ │ │ │ - ldr r4, [pc, #48] @ (248 ) │ │ │ │ │ - movs r0, #12 │ │ │ │ │ + mov.w r0, #12 │ │ │ │ │ add r4, pc │ │ │ │ │ mov r1, r4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ - add.w r3, r4, #12 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - str r3, [r0, #8] │ │ │ │ │ + add.w r3, r4, #12 │ │ │ │ │ mov r0, r5 │ │ │ │ │ + str r3, [r1, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ mov r1, r4 │ │ │ │ │ - movs r0, #12 │ │ │ │ │ - adds r4, #24 │ │ │ │ │ + mov.w r0, #12 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ - str r4, [r0, #8] │ │ │ │ │ mov r1, r0 │ │ │ │ │ + add.w r4, r4, #24 │ │ │ │ │ mov r0, r5 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, lr} │ │ │ │ │ + ldrd r5, lr, [sp, #8] │ │ │ │ │ + str r4, [r1, #8] │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solver_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x0000002c │ │ │ │ │ + .word 0x00000034 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ ├── kr2c.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 540 (bytes into file) │ │ │ │ │ + Start of section headers: 552 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 10 │ │ │ │ │ Section header string table index: 9 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ -There are 10 section headers, starting at offset 0x21c: │ │ │ │ │ +There are 10 section headers, starting at offset 0x228: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00003c 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00019c 000030 08 I 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000070 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000070 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .note.GNU-stack PROGBITS 00000000 000070 000000 00 0 0 1 │ │ │ │ │ - [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000070 000033 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 0000a4 000070 10 8 2 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 000114 000086 00 0 0 1 │ │ │ │ │ - [ 9] .shstrtab STRTAB 00000000 0001cc 000050 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000048 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0001a8 000030 08 I 7 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 00007c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 00007c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .note.GNU-stack PROGBITS 00000000 00007c 000000 00 0 0 1 │ │ │ │ │ + [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 00007c 000033 00 0 0 1 │ │ │ │ │ + [ 7] .symtab SYMTAB 00000000 0000b0 000070 10 8 2 4 │ │ │ │ │ + [ 8] .strtab STRTAB 00000000 000120 000086 00 0 0 1 │ │ │ │ │ + [ 9] .shstrtab STRTAB 00000000 0001d8 000050 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,10 +1,10 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 7 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 60 FUNC GLOBAL DEFAULT 1 fftw_kr2c_register │ │ │ │ │ + 2: 00000001 72 FUNC GLOBAL DEFAULT 1 fftw_kr2c_register │ │ │ │ │ 3: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver_rdft_r2c_direct │ │ │ │ │ 4: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 5: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver_rdft_r2c_directbuf │ │ │ │ │ 6: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver_rdft2_direct │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,9 +1,9 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x19c contains 6 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x1a8 contains 6 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000000c 0000030a R_ARM_THM_CALL 00000000 fftw_mksolver_rdft_r2c_direct │ │ │ │ │ -00000014 0000040a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -0000001c 0000050a R_ARM_THM_CALL 00000000 fftw_mksolver_rdft_r2c_directbuf │ │ │ │ │ -00000024 0000040a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -0000002c 0000060a R_ARM_THM_CALL 00000000 fftw_mksolver_rdft2_direct │ │ │ │ │ -00000038 0000041e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ +00000012 0000030a R_ARM_THM_CALL 00000000 fftw_mksolver_rdft_r2c_direct │ │ │ │ │ +0000001a 0000040a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +00000022 0000050a R_ARM_THM_CALL 00000000 fftw_mksolver_rdft_r2c_directbuf │ │ │ │ │ +0000002a 0000040a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +00000032 0000060a R_ARM_THM_CALL 00000000 fftw_mksolver_rdft2_direct │ │ │ │ │ +00000044 0000041e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,19 +1,20 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_kr2c_register(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ mov r5, r1 │ │ │ │ │ mov r4, r0 │ │ │ │ │ mov r1, r2 │ │ │ │ │ mov r0, r5 │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ mov r6, r2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver_rdft_r2c_direct │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ @@ -25,12 +26,14 @@ │ │ │ │ │ mov r0, r4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ mov r1, r6 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver_rdft2_direct │ │ │ │ │ + ldrd r6, lr, [sp, #8] │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solver_register │ │ │ ├── kr2r.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 380 (bytes into file) │ │ │ │ │ + Start of section headers: 384 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 10 │ │ │ │ │ Section header string table index: 9 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ -There are 10 section headers, starting at offset 0x17c: │ │ │ │ │ +There are 10 section headers, starting at offset 0x180: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000018 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00011c 000010 08 I 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 00004c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 00004c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .note.GNU-stack PROGBITS 00000000 00004c 000000 00 0 0 1 │ │ │ │ │ - [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 00004c 000033 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 000080 000050 10 8 2 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 0000d0 00004a 00 0 0 1 │ │ │ │ │ - [ 9] .shstrtab STRTAB 00000000 00012c 000050 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00001c 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000120 000010 08 I 7 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000050 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000050 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .note.GNU-stack PROGBITS 00000000 000050 000000 00 0 0 1 │ │ │ │ │ + [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000050 000033 00 0 0 1 │ │ │ │ │ + [ 7] .symtab SYMTAB 00000000 000084 000050 10 8 2 4 │ │ │ │ │ + [ 8] .strtab STRTAB 00000000 0000d4 00004a 00 0 0 1 │ │ │ │ │ + [ 9] .shstrtab STRTAB 00000000 000130 000050 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,8 +1,8 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 5 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 24 FUNC GLOBAL DEFAULT 1 fftw_kr2r_register │ │ │ │ │ + 2: 00000001 28 FUNC GLOBAL DEFAULT 1 fftw_kr2r_register │ │ │ │ │ 3: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver_rdft_r2r_direct │ │ │ │ │ 4: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,5 +1,5 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x11c contains 2 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x120 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000008 0000030a R_ARM_THM_CALL 00000000 fftw_mksolver_rdft_r2r_direct │ │ │ │ │ -00000014 0000041e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ +0000000a 0000030a R_ARM_THM_CALL 00000000 fftw_mksolver_rdft_r2r_direct │ │ │ │ │ +00000018 0000041e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,18 +1,19 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_kr2r_register(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ mov r0, r1 │ │ │ │ │ mov r1, r2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver_rdft_r2r_direct │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solver_register │ │ │ ├── lt10-nop.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1172 (bytes into file) │ │ │ │ │ + Start of section headers: 1184 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 15 │ │ │ │ │ Section header string table index: 14 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ -There are 15 section headers, starting at offset 0x494: │ │ │ │ │ +There are 15 section headers, starting at offset 0x4a0: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000080 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00039c 000048 08 I 12 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0000b4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0000b4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0000b4 00000b 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 0000bf 000010 00 WA 0 0 4 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 0003e4 000020 08 I 12 6 4 │ │ │ │ │ - [ 8] .data.rel.ro.local PROGBITS 00000000 0000cf 00000c 00 WA 0 0 4 │ │ │ │ │ - [ 9] .rel.data.rel.ro.local REL 00000000 000404 000008 08 I 12 8 4 │ │ │ │ │ - [10] .note.GNU-stack PROGBITS 00000000 0000db 000000 00 0 0 1 │ │ │ │ │ - [11] .ARM.attributes ARM_ATTRIBUTES 00000000 0000db 000033 00 0 0 1 │ │ │ │ │ - [12] .symtab SYMTAB 00000000 000110 0001b0 10 13 18 4 │ │ │ │ │ - [13] .strtab STRTAB 00000000 0002c0 0000d9 00 0 0 1 │ │ │ │ │ - [14] .shstrtab STRTAB 00000000 00040c 000087 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00008c 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0003a8 000048 08 I 12 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0000c0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0000c0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0000c0 00000b 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0000cb 000010 00 WA 0 0 4 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 0003f0 000020 08 I 12 6 4 │ │ │ │ │ + [ 8] .data.rel.ro.local PROGBITS 00000000 0000db 00000c 00 WA 0 0 4 │ │ │ │ │ + [ 9] .rel.data.rel.ro.local REL 00000000 000410 000008 08 I 12 8 4 │ │ │ │ │ + [10] .note.GNU-stack PROGBITS 00000000 0000e7 000000 00 0 0 1 │ │ │ │ │ + [11] .ARM.attributes ARM_ATTRIBUTES 00000000 0000e7 000033 00 0 0 1 │ │ │ │ │ + [12] .symtab SYMTAB 00000000 00011c 0001b0 10 13 18 4 │ │ │ │ │ + [13] .strtab STRTAB 00000000 0002cc 0000d9 00 0 0 1 │ │ │ │ │ + [14] .shstrtab STRTAB 00000000 000418 000087 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -5,26 +5,26 @@ │ │ │ │ │ 1: 00000001 2 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 3: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 4: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ 5: 00000005 16 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ 6: 00000010 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 7: 00000014 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 8: 00000015 76 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 9: 00000058 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 10: 00000060 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 11: 0000007c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 00000015 84 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 9: 00000060 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 10: 00000068 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 11: 00000088 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 12: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 13: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 14: 00000000 16 OBJECT LOCAL DEFAULT 6 padt.0 │ │ │ │ │ 15: 00000000 0 SECTION LOCAL DEFAULT 8 .data.rel.ro.local │ │ │ │ │ 16: 00000000 0 NOTYPE LOCAL DEFAULT 8 $d │ │ │ │ │ 17: 00000000 12 OBJECT LOCAL DEFAULT 8 sadt.1 │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_inplace_strides │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_rdft │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_zero │ │ │ │ │ - 21: 00000061 32 FUNC GLOBAL DEFAULT 1 fftw_rdft_nop_register │ │ │ │ │ + 21: 00000069 36 FUNC GLOBAL DEFAULT 1 fftw_rdft_nop_register │ │ │ │ │ 22: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ 23: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 24: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_solve │ │ │ │ │ 25: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_null_awake │ │ │ │ │ 26: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_null_destroy │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x39c contains 9 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x3a8 contains 9 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000010 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -00000034 0000120a R_ARM_THM_CALL 00000000 fftw_tensor_inplace_strides │ │ │ │ │ -00000046 0000130a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ -0000004e 0000140a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ -00000058 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ -0000005c 00000c03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000006a 0000160a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -0000007c 00000f03 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -00000076 0000171e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ +00000038 0000120a R_ARM_THM_CALL 00000000 fftw_tensor_inplace_strides │ │ │ │ │ +0000004c 0000130a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ +00000056 0000140a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ +00000060 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ +00000064 00000c03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000076 0000160a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +00000088 00000f03 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +00000084 0000171e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x3e4 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x3f0 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00001802 R_ARM_ABS32 00000000 fftw_rdft_solve │ │ │ │ │ 00000004 00001902 R_ARM_ABS32 00000000 fftw_null_awake │ │ │ │ │ 00000008 00000502 R_ARM_ABS32 00000005 print │ │ │ │ │ 0000000c 00001a02 R_ARM_ABS32 00000000 fftw_plan_null_destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x404 contains 1 entry: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x410 contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000015 mkplan │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -6,72 +6,72 @@ │ │ │ │ │ 00000000 : │ │ │ │ │ apply(): │ │ │ │ │ bx lr │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ 00000004 : │ │ │ │ │ print(): │ │ │ │ │ - ldr r3, [r1, #0] │ │ │ │ │ mov r0, r1 │ │ │ │ │ - ldr r1, [pc, #4] @ (10 ) │ │ │ │ │ + ldr r1, [pc, #8] @ (10 ) │ │ │ │ │ + ldr r3, [r0, #0] │ │ │ │ │ add r1, pc │ │ │ │ │ bx r3 │ │ │ │ │ nop │ │ │ │ │ .word 0x00000002 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ 00000014 : │ │ │ │ │ mkplan(): │ │ │ │ │ ldr r0, [r1, #8] │ │ │ │ │ mvn.w r3, #2147483648 @ 0x80000000 │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ ldr r2, [r0, #0] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.n 3c │ │ │ │ │ + beq.n 40 │ │ │ │ │ ldr r3, [r1, #4] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - cbnz r3, 30 │ │ │ │ │ + cbnz r3, 32 │ │ │ │ │ ldrd r3, r2, [r1, #12] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.n 34 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + beq.n 38 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_inplace_strides │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 30 │ │ │ │ │ - ldr r2, [pc, #24] @ (58 ) │ │ │ │ │ - movs r0, #64 @ 0x40 │ │ │ │ │ - ldr r1, [pc, #24] @ (5c ) │ │ │ │ │ + beq.n 32 │ │ │ │ │ + ldr r2, [pc, #28] @ (60 ) │ │ │ │ │ + mov.w r0, #64 @ 0x40 │ │ │ │ │ + ldr r1, [pc, #28] @ (64 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_rdft │ │ │ │ │ mov r4, r0 │ │ │ │ │ - adds r0, #8 │ │ │ │ │ + add.w r0, r0, #8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_zero │ │ │ │ │ mov r0, r4 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ nop │ │ │ │ │ - .word 0x00000012 │ │ │ │ │ - R_ARM_REL32 apply │ │ │ │ │ .word 0x00000014 │ │ │ │ │ + R_ARM_REL32 apply │ │ │ │ │ + .word 0x00000016 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ │ │ │ │ │ -00000060 : │ │ │ │ │ +00000068 : │ │ │ │ │ fftw_rdft_nop_register(): │ │ │ │ │ - ldr r1, [pc, #24] @ (7c ) │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + ldr r1, [pc, #28] @ (88 ) │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ + mov.w r0, #8 │ │ │ │ │ add r1, pc │ │ │ │ │ - movs r0, #8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solver_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000012 │ │ │ │ │ + .word 0x00000010 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ ├── nop2.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1176 (bytes into file) │ │ │ │ │ + Start of section headers: 1188 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 15 │ │ │ │ │ Section header string table index: 14 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ -There are 15 section headers, starting at offset 0x498: │ │ │ │ │ +There are 15 section headers, starting at offset 0x4a4: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000084 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0003a0 000048 08 I 12 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0000b8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0000b8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0000b8 00000c 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 0000c4 000010 00 WA 0 0 4 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 0003e8 000020 08 I 12 6 4 │ │ │ │ │ - [ 8] .data.rel.ro.local PROGBITS 00000000 0000d4 00000c 00 WA 0 0 4 │ │ │ │ │ - [ 9] .rel.data.rel.ro.local REL 00000000 000408 000008 08 I 12 8 4 │ │ │ │ │ - [10] .note.GNU-stack PROGBITS 00000000 0000e0 000000 00 0 0 1 │ │ │ │ │ - [11] .ARM.attributes ARM_ATTRIBUTES 00000000 0000e0 000033 00 0 0 1 │ │ │ │ │ - [12] .symtab SYMTAB 00000000 000114 0001b0 10 13 18 4 │ │ │ │ │ - [13] .strtab STRTAB 00000000 0002c4 0000db 00 0 0 1 │ │ │ │ │ - [14] .shstrtab STRTAB 00000000 000410 000087 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000090 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0003ac 000048 08 I 12 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0000c4 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0000c4 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0000c4 00000c 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0000d0 000010 00 WA 0 0 4 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 0003f4 000020 08 I 12 6 4 │ │ │ │ │ + [ 8] .data.rel.ro.local PROGBITS 00000000 0000e0 00000c 00 WA 0 0 4 │ │ │ │ │ + [ 9] .rel.data.rel.ro.local REL 00000000 000414 000008 08 I 12 8 4 │ │ │ │ │ + [10] .note.GNU-stack PROGBITS 00000000 0000ec 000000 00 0 0 1 │ │ │ │ │ + [11] .ARM.attributes ARM_ATTRIBUTES 00000000 0000ec 000033 00 0 0 1 │ │ │ │ │ + [12] .symtab SYMTAB 00000000 000120 0001b0 10 13 18 4 │ │ │ │ │ + [13] .strtab STRTAB 00000000 0002d0 0000db 00 0 0 1 │ │ │ │ │ + [14] .shstrtab STRTAB 00000000 00041c 000087 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -5,26 +5,26 @@ │ │ │ │ │ 1: 00000001 2 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 3: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 4: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ 5: 00000005 16 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ 6: 00000010 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 7: 00000014 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 8: 00000015 80 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 9: 0000005c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 10: 00000064 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 11: 00000080 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 00000015 88 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 9: 00000064 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 10: 0000006c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 11: 0000008c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 12: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 13: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 14: 00000000 16 OBJECT LOCAL DEFAULT 6 padt.0 │ │ │ │ │ 15: 00000000 0 SECTION LOCAL DEFAULT 8 .data.rel.ro.local │ │ │ │ │ 16: 00000000 0 NOTYPE LOCAL DEFAULT 8 $d │ │ │ │ │ 17: 00000000 12 OBJECT LOCAL DEFAULT 8 sadt.1 │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft2_inplace_strides │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_rdft2 │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_zero │ │ │ │ │ - 21: 00000065 32 FUNC GLOBAL DEFAULT 1 fftw_rdft2_nop_register │ │ │ │ │ + 21: 0000006d 36 FUNC GLOBAL DEFAULT 1 fftw_rdft2_nop_register │ │ │ │ │ 22: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ 23: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 24: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft2_solve │ │ │ │ │ 25: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_null_awake │ │ │ │ │ 26: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_null_destroy │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x3a0 contains 9 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x3ac contains 9 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000010 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -0000003a 0000120a R_ARM_THM_CALL 00000000 fftw_rdft2_inplace_strides │ │ │ │ │ -0000004c 0000130a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft2 │ │ │ │ │ -00000054 0000140a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ -0000005c 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ -00000060 00000c03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000006e 0000160a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -00000080 00000f03 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -0000007a 0000171e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ +0000003e 0000120a R_ARM_THM_CALL 00000000 fftw_rdft2_inplace_strides │ │ │ │ │ +00000052 0000130a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft2 │ │ │ │ │ +0000005c 0000140a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ +00000064 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ +00000068 00000c03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +0000007a 0000160a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +0000008c 00000f03 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +00000088 0000171e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x3e8 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x3f4 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00001802 R_ARM_ABS32 00000000 fftw_rdft2_solve │ │ │ │ │ 00000004 00001902 R_ARM_ABS32 00000000 fftw_null_awake │ │ │ │ │ 00000008 00000502 R_ARM_ABS32 00000005 print │ │ │ │ │ 0000000c 00001a02 R_ARM_ABS32 00000000 fftw_plan_null_destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x408 contains 1 entry: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x414 contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000015 mkplan │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -6,75 +6,75 @@ │ │ │ │ │ 00000000 : │ │ │ │ │ apply(): │ │ │ │ │ bx lr │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ 00000004 : │ │ │ │ │ print(): │ │ │ │ │ - ldr r3, [r1, #0] │ │ │ │ │ mov r0, r1 │ │ │ │ │ - ldr r1, [pc, #4] @ (10 ) │ │ │ │ │ + ldr r1, [pc, #8] @ (10 ) │ │ │ │ │ + ldr r3, [r0, #0] │ │ │ │ │ add r1, pc │ │ │ │ │ bx r3 │ │ │ │ │ nop │ │ │ │ │ .word 0x00000002 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ 00000014 : │ │ │ │ │ mkplan(): │ │ │ │ │ ldr r3, [r1, #8] │ │ │ │ │ mov r0, r1 │ │ │ │ │ mvn.w r1, #2147483648 @ 0x80000000 │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ cmp r3, r1 │ │ │ │ │ - beq.n 42 │ │ │ │ │ + beq.n 46 │ │ │ │ │ ldr r3, [r0, #28] │ │ │ │ │ - cbz r3, 36 │ │ │ │ │ + cbz r3, 38 │ │ │ │ │ ldr r3, [r0, #4] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - cbnz r3, 36 │ │ │ │ │ + cbnz r3, 38 │ │ │ │ │ ldr r2, [r0, #12] │ │ │ │ │ ldr r3, [r0, #20] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.n 3a │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + beq.n 3e │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_rdft2_inplace_strides │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 36 │ │ │ │ │ - ldr r2, [pc, #24] @ (5c ) │ │ │ │ │ - movs r0, #64 @ 0x40 │ │ │ │ │ - ldr r1, [pc, #24] @ (60 ) │ │ │ │ │ + beq.n 38 │ │ │ │ │ + ldr r2, [pc, #28] @ (64 ) │ │ │ │ │ + mov.w r0, #64 @ 0x40 │ │ │ │ │ + ldr r1, [pc, #24] @ (68 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_rdft2 │ │ │ │ │ mov r4, r0 │ │ │ │ │ - adds r0, #8 │ │ │ │ │ + add.w r0, r0, #8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_zero │ │ │ │ │ mov r0, r4 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - .word 0x00000010 │ │ │ │ │ - R_ARM_REL32 apply │ │ │ │ │ .word 0x00000012 │ │ │ │ │ + R_ARM_REL32 apply │ │ │ │ │ + .word 0x00000014 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ │ │ │ │ │ -00000064 : │ │ │ │ │ +0000006c : │ │ │ │ │ fftw_rdft2_nop_register(): │ │ │ │ │ - ldr r1, [pc, #24] @ (80 ) │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + ldr r1, [pc, #28] @ (8c ) │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ + mov.w r0, #8 │ │ │ │ │ add r1, pc │ │ │ │ │ - movs r0, #8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solver_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000012 │ │ │ │ │ + .word 0x00000010 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ ├── lt11-plan.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 304 (bytes into file) │ │ │ │ │ + Start of section headers: 308 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 10 │ │ │ │ │ Section header string table index: 9 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ -There are 10 section headers, starting at offset 0x130: │ │ │ │ │ +There are 10 section headers, starting at offset 0x134: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00000c 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0000d8 000008 08 I 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000040 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000040 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .note.GNU-stack PROGBITS 00000000 000040 000000 00 0 0 1 │ │ │ │ │ - [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000040 000033 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 000074 000040 10 8 2 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 0000b4 000021 00 0 0 1 │ │ │ │ │ - [ 9] .shstrtab STRTAB 00000000 0000e0 000050 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000010 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0000dc 000008 08 I 7 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000044 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000044 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .note.GNU-stack PROGBITS 00000000 000044 000000 00 0 0 1 │ │ │ │ │ + [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000044 000033 00 0 0 1 │ │ │ │ │ + [ 7] .symtab SYMTAB 00000000 000078 000040 10 8 2 4 │ │ │ │ │ + [ 8] .strtab STRTAB 00000000 0000b8 000021 00 0 0 1 │ │ │ │ │ + [ 9] .shstrtab STRTAB 00000000 0000e4 000050 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,7 +1,7 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 4 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 12 FUNC GLOBAL DEFAULT 1 fftw_mkplan_rdft │ │ │ │ │ + 2: 00000001 14 FUNC GLOBAL DEFAULT 1 fftw_mkplan_rdft │ │ │ │ │ 3: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,4 +1,4 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xd8 contains 1 entry: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xdc contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 0000030a R_ARM_THM_CALL 00000000 fftw_mkplan │ │ │ │ │ +00000006 0000030a R_ARM_THM_CALL 00000000 fftw_mkplan │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,13 +1,14 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_mkplan_rdft(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan │ │ │ │ │ str r4, [r0, #56] @ 0x38 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ + nop │ │ │ ├── plan2.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 304 (bytes into file) │ │ │ │ │ + Start of section headers: 308 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 10 │ │ │ │ │ Section header string table index: 9 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ -There are 10 section headers, starting at offset 0x130: │ │ │ │ │ +There are 10 section headers, starting at offset 0x134: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00000c 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0000d8 000008 08 I 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000040 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000040 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .note.GNU-stack PROGBITS 00000000 000040 000000 00 0 0 1 │ │ │ │ │ - [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000040 000033 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 000074 000040 10 8 2 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 0000b4 000022 00 0 0 1 │ │ │ │ │ - [ 9] .shstrtab STRTAB 00000000 0000e0 000050 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000010 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0000dc 000008 08 I 7 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000044 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000044 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .note.GNU-stack PROGBITS 00000000 000044 000000 00 0 0 1 │ │ │ │ │ + [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000044 000033 00 0 0 1 │ │ │ │ │ + [ 7] .symtab SYMTAB 00000000 000078 000040 10 8 2 4 │ │ │ │ │ + [ 8] .strtab STRTAB 00000000 0000b8 000022 00 0 0 1 │ │ │ │ │ + [ 9] .shstrtab STRTAB 00000000 0000e4 000050 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,7 +1,7 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 4 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 12 FUNC GLOBAL DEFAULT 1 fftw_mkplan_rdft2 │ │ │ │ │ + 2: 00000001 14 FUNC GLOBAL DEFAULT 1 fftw_mkplan_rdft2 │ │ │ │ │ 3: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,4 +1,4 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xd8 contains 1 entry: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xdc contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 0000030a R_ARM_THM_CALL 00000000 fftw_mkplan │ │ │ │ │ +00000006 0000030a R_ARM_THM_CALL 00000000 fftw_mkplan │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,13 +1,14 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_mkplan_rdft2(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan │ │ │ │ │ str r4, [r0, #56] @ 0x38 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ + nop │ │ │ ├── lt12-problem.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 4672 (bytes into file) │ │ │ │ │ + Start of section headers: 5152 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x1240: │ │ │ │ │ +There are 14 section headers, starting at offset 0x1420: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0009ec 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 001050 000150 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000a20 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000a20 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000a20 000021 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000a41 000088 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro.local PROGBITS 00000000 000ac9 000014 00 WA 0 0 4 │ │ │ │ │ - [ 8] .rel.data.rel.ro.local REL 00000000 0011a0 000020 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000add 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000add 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000b10 000350 10 12 30 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000e60 0001ef 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 0011c0 00007e 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000bcc 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 001230 000150 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000c00 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000c00 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000c00 000021 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000c21 000088 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro.local PROGBITS 00000000 000ca9 000014 00 WA 0 0 4 │ │ │ │ │ + [ 8] .rel.data.rel.ro.local REL 00000000 001380 000020 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000cbd 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000cbd 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000cf0 000350 10 12 30 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 001040 0001ef 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 0013a0 00007e 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,56 +1,56 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 53 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 22 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 1: 00000001 26 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 3: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 4: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ 5: 00000014 0 NOTYPE LOCAL DEFAULT 5 .LC1 │ │ │ │ │ 6: 00000018 0 NOTYPE LOCAL DEFAULT 5 .LC2 │ │ │ │ │ - 7: 00000019 116 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ - 8: 00000080 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 7: 0000001d 140 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 8: 0000009c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 9: 0000001c 0 NOTYPE LOCAL DEFAULT 5 .LC3 │ │ │ │ │ - 10: 0000008c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 11: 0000008d 124 FUNC LOCAL DEFAULT 1 hash │ │ │ │ │ - 12: 00000104 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 13: 00000108 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 14: 00000109 704 FUNC LOCAL DEFAULT 1 recur │ │ │ │ │ - 15: 000003c0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 16: 000003c8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 17: 00000748 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 18: 00000750 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 19: 00000751 30 FUNC LOCAL DEFAULT 1 zero │ │ │ │ │ - 20: 0000077c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 21: 00000780 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 22: 00000988 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 23: 0000098c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 10: 000000a8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 11: 000000a9 148 FUNC LOCAL DEFAULT 1 hash │ │ │ │ │ + 12: 00000138 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 13: 0000013c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 14: 0000013d 804 FUNC LOCAL DEFAULT 1 recur │ │ │ │ │ + 15: 00000458 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 16: 00000460 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 17: 00000878 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 18: 00000880 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 19: 00000881 42 FUNC LOCAL DEFAULT 1 zero │ │ │ │ │ + 20: 000008b8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 21: 000008bc 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 22: 00000b44 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 23: 00000b48 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 24: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 25: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 26: 00000000 136 OBJECT LOCAL DEFAULT 6 kstr.0 │ │ │ │ │ 27: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro.local │ │ │ │ │ 28: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 29: 00000000 20 OBJECT LOCAL DEFAULT 7 padt │ │ │ │ │ 30: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_destroy2 │ │ │ │ │ 31: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ifree │ │ │ │ │ 32: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ialignment_of │ │ │ │ │ 33: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_md5puts │ │ │ │ │ 34: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_md5int │ │ │ │ │ 35: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_md5 │ │ │ │ │ 36: 00000000 0 NOTYPE GLOBAL DEFAULT UND memset │ │ │ │ │ - 37: 000003c9 904 FUNC GLOBAL DEFAULT 1 fftw_rdft_zerotens │ │ │ │ │ + 37: 00000461 1056 FUNC GLOBAL DEFAULT 1 fftw_rdft_zerotens │ │ │ │ │ 38: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_append │ │ │ │ │ 39: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_destroy │ │ │ │ │ - 40: 00000771 16 FUNC GLOBAL DEFAULT 1 fftw_rdft_kind_str │ │ │ │ │ - 41: 00000781 524 FUNC GLOBAL DEFAULT 1 fftw_mkproblem_rdft │ │ │ │ │ + 40: 000008ad 16 FUNC GLOBAL DEFAULT 1 fftw_rdft_kind_str │ │ │ │ │ + 41: 000008bd 652 FUNC GLOBAL DEFAULT 1 fftw_mkproblem_rdft │ │ │ │ │ 42: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkproblem │ │ │ │ │ 43: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mktensor │ │ │ │ │ 44: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dimcmp │ │ │ │ │ 45: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_compress_contiguous │ │ │ │ │ 46: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_inplace_locations │ │ │ │ │ 47: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkproblem_unsolvable │ │ │ │ │ - 48: 0000098d 32 FUNC GLOBAL DEFAULT 1 fftw_mkproblem_rdft_d │ │ │ │ │ - 49: 000009ad 16 FUNC GLOBAL DEFAULT 1 fftw_mkproblem_rdft_1 │ │ │ │ │ - 50: 000009bd 16 FUNC GLOBAL DEFAULT 1 fftw_mkproblem_rdft_1_d │ │ │ │ │ - 51: 000009cd 32 FUNC GLOBAL DEFAULT 1 fftw_mkproblem_rdft_0_d │ │ │ │ │ + 48: 00000b49 44 FUNC GLOBAL DEFAULT 1 fftw_mkproblem_rdft_d │ │ │ │ │ + 49: 00000b75 18 FUNC GLOBAL DEFAULT 1 fftw_mkproblem_rdft_1 │ │ │ │ │ + 50: 00000b89 18 FUNC GLOBAL DEFAULT 1 fftw_mkproblem_rdft_1_d │ │ │ │ │ + 51: 00000b9d 46 FUNC GLOBAL DEFAULT 1 fftw_mkproblem_rdft_0_d │ │ │ │ │ 52: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mktensor_0d │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,52 +1,52 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x1050 contains 42 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x1230 contains 42 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000008 00001e0a R_ARM_THM_CALL 00000000 fftw_tensor_destroy2 │ │ │ │ │ -00000026 0000200a R_ARM_THM_CALL 00000000 fftw_ialignment_of │ │ │ │ │ -00000080 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -00000084 00000503 R_ARM_REL32 00000014 .LC1 │ │ │ │ │ -00000088 00000603 R_ARM_REL32 00000018 .LC2 │ │ │ │ │ -0000009a 0000210a R_ARM_THM_CALL 00000000 fftw_md5puts │ │ │ │ │ -000000ac 0000220a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ -000000ca 0000220a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ -000000d4 0000200a R_ARM_THM_CALL 00000000 fftw_ialignment_of │ │ │ │ │ -000000dc 0000220a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ -000000e2 0000200a R_ARM_THM_CALL 00000000 fftw_ialignment_of │ │ │ │ │ -000000ea 0000220a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ -000000f2 0000230a R_ARM_THM_CALL 00000000 fftw_tensor_md5 │ │ │ │ │ -00000104 00000903 R_ARM_REL32 0000001c .LC3 │ │ │ │ │ -00000230 0000240a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ -000002ba 0000240a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ -00000316 0000240a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ -0000056a 0000240a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ -000005b4 0000240a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ -00000640 0000240a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ +0000000a 00001e0a R_ARM_THM_CALL 00000000 fftw_tensor_destroy2 │ │ │ │ │ +00000032 0000200a R_ARM_THM_CALL 00000000 fftw_ialignment_of │ │ │ │ │ +0000009c 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +000000a0 00000503 R_ARM_REL32 00000014 .LC1 │ │ │ │ │ +000000a4 00000603 R_ARM_REL32 00000018 .LC2 │ │ │ │ │ +000000be 0000210a R_ARM_THM_CALL 00000000 fftw_md5puts │ │ │ │ │ +000000d4 0000220a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ +000000f6 0000220a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ +00000100 0000200a R_ARM_THM_CALL 00000000 fftw_ialignment_of │ │ │ │ │ +00000108 0000220a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ +0000010e 0000200a R_ARM_THM_CALL 00000000 fftw_ialignment_of │ │ │ │ │ +00000116 0000220a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ +0000011e 0000230a R_ARM_THM_CALL 00000000 fftw_tensor_md5 │ │ │ │ │ +00000138 00000903 R_ARM_REL32 0000001c .LC3 │ │ │ │ │ +000002e2 0000240a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ +0000033c 0000240a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ +0000040e 0000240a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ +00000652 0000240a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ 000006a4 0000240a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ -00000758 0000260a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ -00000760 0000250a R_ARM_THM_CALL 000003c9 fftw_rdft_zerotens │ │ │ │ │ -0000077c 00001803 R_ARM_REL32 00000000 .rodata │ │ │ │ │ -000007f8 00002a0a R_ARM_THM_CALL 00000000 fftw_mkproblem │ │ │ │ │ -00000800 00002b0a R_ARM_THM_CALL 00000000 fftw_mktensor │ │ │ │ │ -000008c0 00002c0a R_ARM_THM_CALL 00000000 fftw_dimcmp │ │ │ │ │ -00000950 00002d0a R_ARM_THM_CALL 00000000 fftw_tensor_compress_contiguous │ │ │ │ │ -00000968 00002e0a R_ARM_THM_CALL 00000000 fftw_tensor_inplace_locations │ │ │ │ │ -00000988 00001b03 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -00000998 0000290a R_ARM_THM_CALL 00000781 fftw_mkproblem_rdft │ │ │ │ │ -000009a2 00001e0a R_ARM_THM_CALL 00000000 fftw_tensor_destroy2 │ │ │ │ │ -000009b4 0000290a R_ARM_THM_CALL 00000781 fftw_mkproblem_rdft │ │ │ │ │ -000009c4 0000300a R_ARM_THM_CALL 0000098d fftw_mkproblem_rdft_d │ │ │ │ │ -000009d6 0000340a R_ARM_THM_CALL 00000000 fftw_mktensor_0d │ │ │ │ │ -000009e4 0000300a R_ARM_THM_CALL 0000098d fftw_mkproblem_rdft_d │ │ │ │ │ -00000012 00001f1e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ │ -000000fe 0000231e R_ARM_THM_JUMP24 00000000 fftw_tensor_md5 │ │ │ │ │ -00000286 0000241e R_ARM_THM_JUMP24 00000000 memset │ │ │ │ │ -00000548 0000241e R_ARM_THM_JUMP24 00000000 memset │ │ │ │ │ -0000076a 0000271e R_ARM_THM_JUMP24 00000000 fftw_tensor_destroy │ │ │ │ │ -00000978 00002f1e R_ARM_THM_JUMP24 00000000 fftw_mkproblem_unsolvable │ │ │ │ │ +00000736 0000240a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ +000007a4 0000240a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ +0000088e 0000260a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ +00000896 0000250a R_ARM_THM_CALL 00000461 fftw_rdft_zerotens │ │ │ │ │ +000008b8 00001803 R_ARM_REL32 00000000 .rodata │ │ │ │ │ +00000958 00002a0a R_ARM_THM_CALL 00000000 fftw_mkproblem │ │ │ │ │ +00000964 00002b0a R_ARM_THM_CALL 00000000 fftw_mktensor │ │ │ │ │ +00000a3c 00002c0a R_ARM_THM_CALL 00000000 fftw_dimcmp │ │ │ │ │ +00000ae2 00002d0a R_ARM_THM_CALL 00000000 fftw_tensor_compress_contiguous │ │ │ │ │ +00000b1c 00002e0a R_ARM_THM_CALL 00000000 fftw_tensor_inplace_locations │ │ │ │ │ +00000b44 00001b03 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +00000b5a 0000290a R_ARM_THM_CALL 000008bd fftw_mkproblem_rdft │ │ │ │ │ +00000b64 00001e0a R_ARM_THM_CALL 00000000 fftw_tensor_destroy2 │ │ │ │ │ +00000b7e 0000290a R_ARM_THM_CALL 000008bd fftw_mkproblem_rdft │ │ │ │ │ +00000b92 0000300a R_ARM_THM_CALL 00000b49 fftw_mkproblem_rdft_d │ │ │ │ │ +00000bac 0000340a R_ARM_THM_CALL 00000000 fftw_mktensor_0d │ │ │ │ │ +00000bbc 0000300a R_ARM_THM_CALL 00000b49 fftw_mkproblem_rdft_d │ │ │ │ │ +00000016 00001f1e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ │ +00000134 0000231e R_ARM_THM_JUMP24 00000000 fftw_tensor_md5 │ │ │ │ │ +000002ac 0000241e R_ARM_THM_JUMP24 00000000 memset │ │ │ │ │ +0000062a 0000241e R_ARM_THM_JUMP24 00000000 memset │ │ │ │ │ +000008a6 0000271e R_ARM_THM_JUMP24 00000000 fftw_tensor_destroy │ │ │ │ │ +00000b3e 00002f1e R_ARM_THM_JUMP24 00000000 fftw_mkproblem_unsolvable │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x11a0 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x1380 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000b02 R_ARM_ABS32 0000008d hash │ │ │ │ │ -00000008 00001302 R_ARM_ABS32 00000751 zero │ │ │ │ │ -0000000c 00000702 R_ARM_ABS32 00000019 print │ │ │ │ │ +00000004 00000b02 R_ARM_ABS32 000000a9 hash │ │ │ │ │ +00000008 00001302 R_ARM_ABS32 00000881 zero │ │ │ │ │ +0000000c 00000702 R_ARM_ABS32 0000001d print │ │ │ │ │ 00000010 00000102 R_ARM_ABS32 00000001 destroy │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,8 +1,7 @@ │ │ │ │ │ -3F8FFF: │ │ │ │ │ destroy(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldrd r1, r0, [r0, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_destroy2 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_ifree │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000018 : │ │ │ │ │ +0000001c : │ │ │ │ │ print(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ + strd r4, r5, [sp, #-24]! │ │ │ │ │ + mov r5, r1 │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ mov r6, r0 │ │ │ │ │ ldr r0, [r0, #12] │ │ │ │ │ + strd r8, lr, [sp, #16] │ │ │ │ │ sub sp, #8 │ │ │ │ │ ldr r4, [r1, #0] │ │ │ │ │ - mov r5, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ialignment_of │ │ │ │ │ ldrd r1, r3, [r6, #12] │ │ │ │ │ mov r2, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ - subs r3, r3, r1 │ │ │ │ │ + sub.w r3, r3, r1 │ │ │ │ │ ldr r1, [r6, #8] │ │ │ │ │ + mov.w r3, r3, asr #3 │ │ │ │ │ str r1, [sp, #4] │ │ │ │ │ - asrs r3, r3, #3 │ │ │ │ │ ldr r1, [r6, #4] │ │ │ │ │ str r1, [sp, #0] │ │ │ │ │ - ldr r1, [pc, #64] @ (80 ) │ │ │ │ │ + ldr r1, [pc, #76] @ (9c ) │ │ │ │ │ add r1, pc │ │ │ │ │ blx r4 │ │ │ │ │ ldr r3, [r6, #4] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.n 6e │ │ │ │ │ - ldr.w r8, [pc, #52] @ 84 │ │ │ │ │ + ble.n 82 │ │ │ │ │ + ldr.w r8, [pc, #64] @ a0 │ │ │ │ │ add.w r7, r6, #16 │ │ │ │ │ - movs r4, #0 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ add r8, pc │ │ │ │ │ ldr r3, [r5, #0] │ │ │ │ │ mov r1, r8 │ │ │ │ │ - ldr.w r2, [r7, #4]! │ │ │ │ │ mov r0, r5 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + ldr.w r2, [r7, #4]! │ │ │ │ │ blx r3 │ │ │ │ │ ldr r3, [r6, #4] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ cmp r3, r4 │ │ │ │ │ - bgt.n 58 │ │ │ │ │ - ldr r1, [pc, #24] @ (88 ) │ │ │ │ │ + bgt.n 6a │ │ │ │ │ + ldr r1, [pc, #32] @ (a4 ) │ │ │ │ │ mov r0, r5 │ │ │ │ │ ldr r3, [r5, #0] │ │ │ │ │ add r1, pc │ │ │ │ │ add sp, #8 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, lr, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ bx r3 │ │ │ │ │ - nop │ │ │ │ │ - .word 0x0000003c │ │ │ │ │ + .word 0x00000048 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ - .word 0x0000002a │ │ │ │ │ + .word 0x00000034 │ │ │ │ │ R_ARM_REL32 .LC1 │ │ │ │ │ - .word 0x00000010 │ │ │ │ │ + .word 0x00000018 │ │ │ │ │ R_ARM_REL32 .LC2 │ │ │ │ │ │ │ │ │ │ -0000008c : │ │ │ │ │ +000000a8 : │ │ │ │ │ hash(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ - mov r7, r0 │ │ │ │ │ + strd r4, r5, [sp, #-24]! │ │ │ │ │ mov r5, r1 │ │ │ │ │ - ldr r1, [pc, #108] @ (104 ) │ │ │ │ │ + ldr r1, [pc, #136] @ (138 ) │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + mov r7, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ + strd r8, lr, [sp, #16] │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5puts │ │ │ │ │ - mov r0, r5 │ │ │ │ │ ldrd r1, r3, [r7, #12] │ │ │ │ │ - subs r1, r1, r3 │ │ │ │ │ + mov r0, r5 │ │ │ │ │ + sub.w r1, r1, r3 │ │ │ │ │ clz r1, r1 │ │ │ │ │ - lsrs r1, r1, #5 │ │ │ │ │ + mov.w r1, r1, lsr #5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5int │ │ │ │ │ ldr r3, [r7, #4] │ │ │ │ │ ldr.w r8, [r3] │ │ │ │ │ cmp.w r8, #0 │ │ │ │ │ - ble.n d2 │ │ │ │ │ + ble.n fe │ │ │ │ │ add.w r6, r7, #16 │ │ │ │ │ - movs r4, #0 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ ldr.w r1, [r6, #4]! │ │ │ │ │ mov r0, r5 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5int │ │ │ │ │ cmp r8, r4 │ │ │ │ │ - bne.n c2 │ │ │ │ │ + bne.n ec │ │ │ │ │ ldr r0, [r7, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ialignment_of │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5int │ │ │ │ │ @@ -117,951 +124,1007 @@ │ │ │ │ │ R_ARM_THM_CALL fftw_md5int │ │ │ │ │ ldr r1, [r7, #4] │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_md5 │ │ │ │ │ ldr r1, [r7, #8] │ │ │ │ │ mov r0, r5 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, lr, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_tensor_md5 │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000068 │ │ │ │ │ + .word 0x00000078 │ │ │ │ │ R_ARM_REL32 .LC3 │ │ │ │ │ │ │ │ │ │ -00000108 : │ │ │ │ │ +0000013c : │ │ │ │ │ recur(): │ │ │ │ │ mvn.w r3, #2147483648 @ 0x80000000 │ │ │ │ │ cmp r1, r3 │ │ │ │ │ - beq.w 228 │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + beq.w 27c │ │ │ │ │ + cmp r1, #0 │ │ │ │ │ mov ip, r0 │ │ │ │ │ - mov r4, r1 │ │ │ │ │ - sub sp, #60 @ 0x3c │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ mov r0, r2 │ │ │ │ │ - cmp r1, #0 │ │ │ │ │ - bne.n 130 │ │ │ │ │ - movs r2, #0 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + sub sp, #60 @ 0x3c │ │ │ │ │ + bne.n 188 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ strd r2, r3, [r0] │ │ │ │ │ add sp, #60 @ 0x3c │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - ble.n 12a │ │ │ │ │ - ldrd fp, r3, [ip] │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + ble.n 170 │ │ │ │ │ cmp r1, #1 │ │ │ │ │ - beq.w 26c │ │ │ │ │ + ldrd fp, r3, [ip] │ │ │ │ │ + beq.n 27e │ │ │ │ │ cmp.w fp, #0 │ │ │ │ │ - ble.n 12a │ │ │ │ │ + ble.n 170 │ │ │ │ │ ldrd sl, r7, [ip, #12] │ │ │ │ │ - cmp r1, #2 │ │ │ │ │ mov.w r3, r3, lsl #3 │ │ │ │ │ - str r3, [sp, #48] @ 0x30 │ │ │ │ │ + cmp r1, #2 │ │ │ │ │ mov r5, r2 │ │ │ │ │ - it eq │ │ │ │ │ - moveq r4, #0 │ │ │ │ │ + str r3, [sp, #48] @ 0x30 │ │ │ │ │ mov.w r3, r7, lsl #3 │ │ │ │ │ - itt eq │ │ │ │ │ - ldreq.w r8, [sp, #48] @ 0x30 │ │ │ │ │ - moveq.w r6, sl, lsl #3 │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ - beq.n 23e │ │ │ │ │ + beq.w 3f4 │ │ │ │ │ add.w r3, ip, #48 @ 0x30 │ │ │ │ │ mov.w lr, #0 │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ + strd r3, r1, [sp, #4] │ │ │ │ │ mov r3, ip │ │ │ │ │ mov ip, fp │ │ │ │ │ mov fp, lr │ │ │ │ │ mov lr, sl │ │ │ │ │ mov sl, r3 │ │ │ │ │ - str r4, [sp, #8] │ │ │ │ │ cmp.w lr, #0 │ │ │ │ │ - ble.n 12a │ │ │ │ │ + ble.n 170 │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ mov r6, fp │ │ │ │ │ str.w ip, [sp, #20] │ │ │ │ │ sub.w r9, r3, #4 │ │ │ │ │ ldrd fp, r7, [sl, #24] │ │ │ │ │ - lsls r3, r7, #3 │ │ │ │ │ + mov.w r3, r7, lsl #3 │ │ │ │ │ str r3, [sp, #16] │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ cmp r3, #3 │ │ │ │ │ - beq.w 2f4 │ │ │ │ │ - movs r2, #0 │ │ │ │ │ + beq.w 318 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ mov r7, r5 │ │ │ │ │ strd r6, r5, [sp, #40] @ 0x28 │ │ │ │ │ mov r5, r2 │ │ │ │ │ mov r2, sl │ │ │ │ │ cmp.w fp, #0 │ │ │ │ │ - ble.w 2da │ │ │ │ │ + ble.n 2fe │ │ │ │ │ mov r8, r5 │ │ │ │ │ mov r1, r7 │ │ │ │ │ - ldrd r5, r4, [r2, #36] @ 0x24 │ │ │ │ │ ldr r0, [sp, #8] │ │ │ │ │ - lsls r3, r4, #3 │ │ │ │ │ + ldrd r5, r4, [r2, #36] @ 0x24 │ │ │ │ │ cmp r0, #4 │ │ │ │ │ - beq.n 28a │ │ │ │ │ + mov.w r3, r4, lsl #3 │ │ │ │ │ + beq.n 2b0 │ │ │ │ │ mov r6, r5 │ │ │ │ │ mov r7, r1 │ │ │ │ │ - mov r5, r8 │ │ │ │ │ cmp r6, #0 │ │ │ │ │ + mov r5, r8 │ │ │ │ │ mov r8, r3 │ │ │ │ │ - ble.n 20a │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - str r5, [sp, #28] │ │ │ │ │ + ble.n 25a │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ mov r4, r1 │ │ │ │ │ + strd lr, r5, [sp, #24] │ │ │ │ │ mov r5, r3 │ │ │ │ │ - str.w lr, [sp, #24] │ │ │ │ │ strd r1, r2, [sp, #32] │ │ │ │ │ mov r7, r4 │ │ │ │ │ mov.w sl, #0 │ │ │ │ │ - mov r2, r7 │ │ │ │ │ ldr r0, [sp, #4] │ │ │ │ │ + mov r2, r7 │ │ │ │ │ mov r1, r9 │ │ │ │ │ add.w sl, sl, #1 │ │ │ │ │ - bl 108 │ │ │ │ │ add r7, r8 │ │ │ │ │ + bl 13c │ │ │ │ │ cmp sl, r6 │ │ │ │ │ - bne.n 1e4 │ │ │ │ │ + bne.n 232 │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ - adds r5, #1 │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ cmp fp, r5 │ │ │ │ │ add r4, r3 │ │ │ │ │ - bne.n 1de │ │ │ │ │ + bne.n 22c │ │ │ │ │ ldrd lr, r5, [sp, #24] │ │ │ │ │ ldrd r7, r2, [sp, #32] │ │ │ │ │ - adds r5, #1 │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ cmp lr, r5 │ │ │ │ │ add r7, r3 │ │ │ │ │ - bne.n 1aa │ │ │ │ │ + bne.n 1f8 │ │ │ │ │ ldrd r6, r5, [sp, #40] @ 0x28 │ │ │ │ │ mov sl, r2 │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ - adds r6, #1 │ │ │ │ │ add r5, r3 │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ cmp r3, r6 │ │ │ │ │ - bne.n 18e │ │ │ │ │ - b.n 12a │ │ │ │ │ + bne.n 1d8 │ │ │ │ │ + b.n 170 │ │ │ │ │ bx lr │ │ │ │ │ - mov r2, r6 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - bl 0 │ │ │ │ │ - R_ARM_THM_CALL memset │ │ │ │ │ - add r5, r8 │ │ │ │ │ - cmp fp, r4 │ │ │ │ │ - beq.w 12a │ │ │ │ │ - mov r0, r5 │ │ │ │ │ - cmp.w sl, #0 │ │ │ │ │ - ble.w 12a │ │ │ │ │ - cmp r7, #1 │ │ │ │ │ - beq.n 22a │ │ │ │ │ - ldr r6, [sp, #12] │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - mov r2, r5 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - strd r0, r1, [r2] │ │ │ │ │ - cmp sl, r3 │ │ │ │ │ - add r2, r6 │ │ │ │ │ - bne.n 254 │ │ │ │ │ - ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - cmp fp, r4 │ │ │ │ │ - add r5, r3 │ │ │ │ │ - bne.n 250 │ │ │ │ │ - b.n 12a │ │ │ │ │ cmp.w fp, #0 │ │ │ │ │ - ble.w 12a │ │ │ │ │ + ble.w 170 │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - bne.w 3a4 │ │ │ │ │ + bne.w 3d4 │ │ │ │ │ mov.w r2, fp, lsl #3 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ add sp, #60 @ 0x3c │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 memset │ │ │ │ │ - str.w r8, [sp, #28] │ │ │ │ │ + mov.w r7, r5, lsl #3 │ │ │ │ │ mov r0, r1 │ │ │ │ │ - ldr.w r8, [sp, #16] │ │ │ │ │ mov r6, r1 │ │ │ │ │ mov.w sl, #0 │ │ │ │ │ - lsls r7, r5, #3 │ │ │ │ │ - str.w lr, [sp, #24] │ │ │ │ │ - str r3, [sp, #52] @ 0x34 │ │ │ │ │ + strd lr, r8, [sp, #24] │ │ │ │ │ + ldr.w r8, [sp, #16] │ │ │ │ │ strd r1, r2, [sp, #32] │ │ │ │ │ - b.n 2aa │ │ │ │ │ + str r3, [sp, #52] @ 0x34 │ │ │ │ │ + b.n 2ce │ │ │ │ │ mov r0, r6 │ │ │ │ │ cmp r5, #0 │ │ │ │ │ - ble.n 202 │ │ │ │ │ + ble.n 252 │ │ │ │ │ cmp r4, #1 │ │ │ │ │ - bne.n 340 │ │ │ │ │ + bne.n 366 │ │ │ │ │ mov r2, r7 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ add.w sl, sl, #1 │ │ │ │ │ + add r6, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memset │ │ │ │ │ - add r6, r8 │ │ │ │ │ cmp fp, sl │ │ │ │ │ - bne.n 2a8 │ │ │ │ │ + bne.n 2cc │ │ │ │ │ + ldr r3, [sp, #12] │ │ │ │ │ ldrd lr, r8, [sp, #24] │ │ │ │ │ ldrd r1, r2, [sp, #32] │ │ │ │ │ add.w r8, r8, #1 │ │ │ │ │ - ldr r3, [sp, #12] │ │ │ │ │ cmp lr, r8 │ │ │ │ │ add r1, r3 │ │ │ │ │ - bne.w 1b6 │ │ │ │ │ + bne.n 202 │ │ │ │ │ ldr.w ip, [sp, #20] │ │ │ │ │ mov sl, r2 │ │ │ │ │ ldrd fp, r5, [sp, #40] @ 0x28 │ │ │ │ │ add.w fp, fp, #1 │ │ │ │ │ ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ cmp ip, fp │ │ │ │ │ add r5, r3 │ │ │ │ │ - bne.w 17c │ │ │ │ │ - b.n 12a │ │ │ │ │ + bne.w 1c6 │ │ │ │ │ + b.n 170 │ │ │ │ │ mov.w r3, fp, lsl #3 │ │ │ │ │ + cmp.w fp, #0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ mov r8, r5 │ │ │ │ │ - str r5, [sp, #24] │ │ │ │ │ - str.w r9, [sp, #28] │ │ │ │ │ - movs r4, #0 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ + strd r5, r9, [sp, #24] │ │ │ │ │ mov r5, r3 │ │ │ │ │ mov r9, lr │ │ │ │ │ - cmp.w fp, #0 │ │ │ │ │ - ble.n 32c │ │ │ │ │ + ble.n 354 │ │ │ │ │ cmp r7, #1 │ │ │ │ │ - bne.n 374 │ │ │ │ │ + bne.n 39e │ │ │ │ │ mov r2, r5 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memset │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - add r8, r3 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ cmp r9, r4 │ │ │ │ │ - beq.n 338 │ │ │ │ │ - mov r0, r8 │ │ │ │ │ + add r8, r3 │ │ │ │ │ + beq.n 35e │ │ │ │ │ cmp.w fp, #0 │ │ │ │ │ - bgt.n 30e │ │ │ │ │ - ldr.w ip, [sp, #20] │ │ │ │ │ + mov r0, r8 │ │ │ │ │ + bgt.n 332 │ │ │ │ │ + ldrd ip, r5, [sp, #20] │ │ │ │ │ mov lr, r9 │ │ │ │ │ - ldr r5, [sp, #24] │ │ │ │ │ mov fp, r6 │ │ │ │ │ - b.n 2e4 │ │ │ │ │ + b.n 308 │ │ │ │ │ mov lr, r9 │ │ │ │ │ ldrd r5, r9, [sp, #24] │ │ │ │ │ - b.n 21a │ │ │ │ │ + b.n 26c │ │ │ │ │ + vldr d7, [pc, #240] @ 458 │ │ │ │ │ mov r4, sl │ │ │ │ │ - ldr.w lr, [sp, #24] │ │ │ │ │ mov sl, r6 │ │ │ │ │ - ldr.w r8, [sp, #52] @ 0x34 │ │ │ │ │ mov r6, r5 │ │ │ │ │ - ldr r2, [sp, #36] @ 0x24 │ │ │ │ │ - ldrd r5, r7, [sp, #28] │ │ │ │ │ - vldr d7, [pc, #104] @ 3c0 │ │ │ │ │ + ldrd lr, r5, [sp, #24] │ │ │ │ │ + ldrd r7, r2, [sp, #32] │ │ │ │ │ + ldr.w r8, [sp, #52] @ 0x34 │ │ │ │ │ mov r1, sl │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ - cmp r3, r6 │ │ │ │ │ add r1, r8 │ │ │ │ │ - bne.n 35c │ │ │ │ │ + cmp r3, r6 │ │ │ │ │ + bne.n 382 │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ cmp r4, fp │ │ │ │ │ add sl, r3 │ │ │ │ │ - bne.n 358 │ │ │ │ │ - b.n 20a │ │ │ │ │ + bne.n 37c │ │ │ │ │ + b.n 25a │ │ │ │ │ + vldr d7, [pc, #184] @ 458 │ │ │ │ │ mov r3, r4 │ │ │ │ │ - ldr r1, [sp, #16] │ │ │ │ │ - ldrd ip, r5, [sp, #20] │ │ │ │ │ - mov r4, fp │ │ │ │ │ mov lr, r9 │ │ │ │ │ + mov r4, fp │ │ │ │ │ mov fp, r6 │ │ │ │ │ - vldr d7, [pc, #60] @ 3c0 │ │ │ │ │ + ldrd r1, ip, [sp, #16] │ │ │ │ │ mov r6, r3 │ │ │ │ │ + ldr r5, [sp, #24] │ │ │ │ │ mov r2, r8 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ - cmp r3, r4 │ │ │ │ │ add r2, r1 │ │ │ │ │ - bne.n 38c │ │ │ │ │ + cmp r3, r4 │ │ │ │ │ + bne.n 3b8 │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ - adds r6, #1 │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ cmp lr, r6 │ │ │ │ │ add r8, r3 │ │ │ │ │ - bne.n 388 │ │ │ │ │ - b.n 2e4 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - movs r4, #0 │ │ │ │ │ - movs r5, #0 │ │ │ │ │ - adds r1, #1 │ │ │ │ │ + bne.n 3b2 │ │ │ │ │ + b.n 308 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ + mov.w r5, #0 │ │ │ │ │ + add.w r1, r1, #1 │ │ │ │ │ strd r4, r5, [r2] │ │ │ │ │ - cmp fp, r1 │ │ │ │ │ add r2, r3 │ │ │ │ │ - bne.n 3ac │ │ │ │ │ - b.n 12a │ │ │ │ │ + cmp fp, r1 │ │ │ │ │ + bne.n 3e4 │ │ │ │ │ + b.n 170 │ │ │ │ │ + ldr.w r8, [sp, #48] @ 0x30 │ │ │ │ │ + mov.w r6, sl, lsl #3 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ + b.n 41a │ │ │ │ │ + mov r2, r6 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + add r5, r8 │ │ │ │ │ + bl 0 │ │ │ │ │ + R_ARM_THM_CALL memset │ │ │ │ │ + cmp fp, r4 │ │ │ │ │ + beq.w 170 │ │ │ │ │ + mov r0, r5 │ │ │ │ │ + cmp.w sl, #0 │ │ │ │ │ + ble.w 170 │ │ │ │ │ + cmp r7, #1 │ │ │ │ │ + beq.n 402 │ │ │ │ │ + ldr r6, [sp, #12] │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ + mov r2, r5 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + strd r0, r1, [r2] │ │ │ │ │ + add r2, r6 │ │ │ │ │ + cmp sl, r3 │ │ │ │ │ + bne.n 436 │ │ │ │ │ + ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + cmp fp, r4 │ │ │ │ │ + add r5, r3 │ │ │ │ │ + bne.n 430 │ │ │ │ │ + b.n 170 │ │ │ │ │ nop │ │ │ │ │ nop.w │ │ │ │ │ ... │ │ │ │ │ │ │ │ │ │ -000003c8 : │ │ │ │ │ +00000460 : │ │ │ │ │ fftw_rdft_zerotens(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ mvn.w r3, #2147483648 @ 0x80000000 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ ldr.w lr, [r0] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ sub sp, #68 @ 0x44 │ │ │ │ │ cmp lr, r3 │ │ │ │ │ - beq.w 528 │ │ │ │ │ - mov r9, r1 │ │ │ │ │ + beq.w 5e4 │ │ │ │ │ cmp.w lr, #0 │ │ │ │ │ - beq.w 520 │ │ │ │ │ - ble.w 528 │ │ │ │ │ + mov r9, r1 │ │ │ │ │ + beq.w 5d8 │ │ │ │ │ + ble.w 5e4 │ │ │ │ │ + cmp.w lr, #1 │ │ │ │ │ ldrd fp, r3, [r0, #4] │ │ │ │ │ mov sl, r0 │ │ │ │ │ - cmp.w lr, #1 │ │ │ │ │ - beq.w 52e │ │ │ │ │ + beq.w 5fc │ │ │ │ │ cmp.w fp, #0 │ │ │ │ │ - ble.w 528 │ │ │ │ │ + ble.w 5e4 │ │ │ │ │ mov.w r8, r3, lsl #3 │ │ │ │ │ - movs r5, #0 │ │ │ │ │ add.w r3, r0, #64 @ 0x40 │ │ │ │ │ + mov.w r5, #0 │ │ │ │ │ + mov r6, r1 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ mov r3, r8 │ │ │ │ │ - mov r6, r1 │ │ │ │ │ mov r8, r5 │ │ │ │ │ mov r5, fp │ │ │ │ │ mov fp, r3 │ │ │ │ │ - ldrd r7, r2, [sl, #16] │ │ │ │ │ cmp.w lr, #2 │ │ │ │ │ - beq.w 688 │ │ │ │ │ + ldrd r7, r2, [sl, #16] │ │ │ │ │ + beq.w 784 │ │ │ │ │ mov r1, r5 │ │ │ │ │ mov r5, fp │ │ │ │ │ mov fp, r8 │ │ │ │ │ mov r8, r7 │ │ │ │ │ cmp.w r8, #0 │ │ │ │ │ - ble.w 6dc │ │ │ │ │ + ble.w 7e6 │ │ │ │ │ + mov.w r3, r2, lsl #3 │ │ │ │ │ mov r7, r6 │ │ │ │ │ - movs r4, #0 │ │ │ │ │ - lsls r3, r2, #3 │ │ │ │ │ - strd r1, fp, [sp, #32] │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ str r3, [sp, #20] │ │ │ │ │ + strd r1, fp, [sp, #32] │ │ │ │ │ strd r6, r5, [sp, #40] @ 0x28 │ │ │ │ │ ldr.w r3, [sl, #28] │ │ │ │ │ cmp.w lr, #3 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr.w r3, [sl, #32] │ │ │ │ │ - beq.w 61c │ │ │ │ │ - mov r5, r8 │ │ │ │ │ + beq.w 710 │ │ │ │ │ sub.w r2, lr, #5 │ │ │ │ │ + mov r5, r8 │ │ │ │ │ str r2, [sp, #0] │ │ │ │ │ ldr r2, [sp, #8] │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.w 666 │ │ │ │ │ + ble.w 760 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ mov.w r8, #0 │ │ │ │ │ mov r2, lr │ │ │ │ │ mov r9, r8 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ - str r4, [sp, #24] │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ - str r7, [sp, #28] │ │ │ │ │ - ldrd r8, r3, [sl, #40] @ 0x28 │ │ │ │ │ + strd r4, r7, [sp, #24] │ │ │ │ │ cmp r2, #4 │ │ │ │ │ - beq.w 598 │ │ │ │ │ + ldrd r8, r3, [sl, #40] @ 0x28 │ │ │ │ │ + beq.w 684 │ │ │ │ │ cmp.w r8, #0 │ │ │ │ │ - ble.w 5e0 │ │ │ │ │ + ble.w 6d0 │ │ │ │ │ + cmp r2, #5 │ │ │ │ │ ldrd r6, r1, [sl, #52] @ 0x34 │ │ │ │ │ mov.w fp, r3, lsl #3 │ │ │ │ │ - cmp r2, #5 │ │ │ │ │ - beq.n 54c │ │ │ │ │ + beq.n 62e │ │ │ │ │ mov r3, r7 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - mov r4, r1 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ strd r2, r9, [sp, #48] @ 0x30 │ │ │ │ │ - str r7, [sp, #56] @ 0x38 │ │ │ │ │ + mov r4, r1 │ │ │ │ │ mov r9, r0 │ │ │ │ │ + strd r7, r5, [sp, #56] @ 0x38 │ │ │ │ │ + mov r1, r8 │ │ │ │ │ mov r7, fp │ │ │ │ │ - str r5, [sp, #60] @ 0x3c │ │ │ │ │ + mov r5, r6 │ │ │ │ │ mov fp, sl │ │ │ │ │ - mov r1, r8 │ │ │ │ │ mov sl, r3 │ │ │ │ │ - mov r5, r6 │ │ │ │ │ cmp r5, #0 │ │ │ │ │ - ble.n 4e0 │ │ │ │ │ + ble.n 596 │ │ │ │ │ mov.w r8, r4, lsl #3 │ │ │ │ │ mov r6, sl │ │ │ │ │ - movs r4, #0 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ str r1, [sp, #16] │ │ │ │ │ - mov r2, r6 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ ldrd r1, r0, [sp] │ │ │ │ │ - bl 108 │ │ │ │ │ - add r6, r8 │ │ │ │ │ + mov r2, r6 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + bl 13c │ │ │ │ │ cmp r4, r5 │ │ │ │ │ - bne.n 4ba │ │ │ │ │ + add r6, r8 │ │ │ │ │ + bne.n 56e │ │ │ │ │ ldr r1, [sp, #16] │ │ │ │ │ add.w r9, r9, #1 │ │ │ │ │ add sl, r7 │ │ │ │ │ cmp r9, r1 │ │ │ │ │ - beq.n 4ea │ │ │ │ │ + beq.n 5a0 │ │ │ │ │ ldrd r5, r4, [fp, #52] @ 0x34 │ │ │ │ │ cmp r5, #0 │ │ │ │ │ - bgt.n 4b0 │ │ │ │ │ + bgt.n 562 │ │ │ │ │ add.w r9, r9, #1 │ │ │ │ │ add sl, r7 │ │ │ │ │ cmp r9, r1 │ │ │ │ │ - bne.n 4ac │ │ │ │ │ + bne.n 55e │ │ │ │ │ ldrd r2, r9, [sp, #48] @ 0x30 │ │ │ │ │ mov sl, fp │ │ │ │ │ - ldr r7, [sp, #56] @ 0x38 │ │ │ │ │ - ldr r5, [sp, #60] @ 0x3c │ │ │ │ │ - ldr r3, [sp, #12] │ │ │ │ │ + ldrd r7, r5, [sp, #56] @ 0x38 │ │ │ │ │ add.w r9, r9, #1 │ │ │ │ │ + ldr r3, [sp, #12] │ │ │ │ │ add r7, r3 │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ cmp r9, r3 │ │ │ │ │ - bne.n 474 │ │ │ │ │ - ldrd r4, r7, [sp, #24] │ │ │ │ │ + bne.n 524 │ │ │ │ │ + ldrd r3, r4, [sp, #20] │ │ │ │ │ mov lr, r2 │ │ │ │ │ - ldr r3, [sp, #20] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - add r7, r3 │ │ │ │ │ + ldr r7, [sp, #28] │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ cmp r4, r5 │ │ │ │ │ - beq.w 672 │ │ │ │ │ + add r7, r3 │ │ │ │ │ + beq.w 76e │ │ │ │ │ ldr.w r3, [sl, #28] │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr.w r3, [sl, #32] │ │ │ │ │ - b.n 45c │ │ │ │ │ - movs r2, #0 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + b.n 50a │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ strd r2, r3, [r1] │ │ │ │ │ add sp, #68 @ 0x44 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ cmp.w fp, #0 │ │ │ │ │ - ble.n 528 │ │ │ │ │ + ble.n 5e4 │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - bne.w 732 │ │ │ │ │ + bne.w 852 │ │ │ │ │ mov.w r2, fp, lsl #3 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ mov r0, r9 │ │ │ │ │ add sp, #68 @ 0x44 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 memset │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + mov r0, r7 │ │ │ │ │ + mov r4, r7 │ │ │ │ │ str r3, [sp, #16] │ │ │ │ │ mov r3, r6 │ │ │ │ │ - mov r0, r7 │ │ │ │ │ mov r6, r8 │ │ │ │ │ - mov r4, r7 │ │ │ │ │ mov r8, r2 │ │ │ │ │ mov r2, r3 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.n 584 │ │ │ │ │ + ble.n 66e │ │ │ │ │ cmp r1, #1 │ │ │ │ │ - bne.w 6c4 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + bne.w 7c8 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memset │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ add r4, fp │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #16] │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ cmp r3, r6 │ │ │ │ │ - beq.n 594 │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ + beq.n 680 │ │ │ │ │ ldrd r2, r1, [sl, #52] @ 0x34 │ │ │ │ │ mov r0, r4 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - bgt.n 560 │ │ │ │ │ + bgt.n 644 │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ add r4, fp │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #16] │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ cmp r3, r6 │ │ │ │ │ - beq.n 594 │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ + beq.n 680 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - b.n 55c │ │ │ │ │ + b.n 640 │ │ │ │ │ mov r2, r8 │ │ │ │ │ - b.n 4f4 │ │ │ │ │ + b.n 5aa │ │ │ │ │ mov r0, r8 │ │ │ │ │ - ldr r4, [sp, #24] │ │ │ │ │ mov r8, r5 │ │ │ │ │ mov r5, r7 │ │ │ │ │ - ldr r7, [sp, #28] │ │ │ │ │ + ldrd r4, r7, [sp, #24] │ │ │ │ │ mov r6, r2 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - ble.n 5ce │ │ │ │ │ + ble.n 6be │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - bne.w 6ea │ │ │ │ │ - lsls r2, r0, #3 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + bne.w 7f4 │ │ │ │ │ + mov.w r2, r0, lsl #3 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memset │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ add.w r9, r9, #1 │ │ │ │ │ add r5, r3 │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ cmp r9, r3 │ │ │ │ │ - beq.n 5dc │ │ │ │ │ + beq.n 6cc │ │ │ │ │ ldrd r0, r3, [sl, #40] @ 0x28 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bgt.n 5a8 │ │ │ │ │ + bgt.n 694 │ │ │ │ │ ldr r2, [sp, #12] │ │ │ │ │ add.w r9, r9, #1 │ │ │ │ │ add r5, r2 │ │ │ │ │ ldr r2, [sp, #8] │ │ │ │ │ cmp r9, r2 │ │ │ │ │ - bne.n 5a4 │ │ │ │ │ + bne.n 690 │ │ │ │ │ mov lr, r6 │ │ │ │ │ - b.n 5f8 │ │ │ │ │ + b.n 6e8 │ │ │ │ │ ldr r1, [sp, #12] │ │ │ │ │ add.w r9, r9, #1 │ │ │ │ │ add r7, r1 │ │ │ │ │ ldr r1, [sp, #8] │ │ │ │ │ cmp r9, r1 │ │ │ │ │ - bne.w 47e │ │ │ │ │ + bne.w 52e │ │ │ │ │ ldrd r4, r7, [sp, #24] │ │ │ │ │ mov lr, r2 │ │ │ │ │ mov r8, r5 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ cmp r4, r8 │ │ │ │ │ add r7, r3 │ │ │ │ │ - bne.w 442 │ │ │ │ │ + bne.w 4f0 │ │ │ │ │ ldrd r1, fp, [sp, #32] │ │ │ │ │ ldrd r6, r5, [sp, #40] @ 0x28 │ │ │ │ │ add.w fp, fp, #1 │ │ │ │ │ cmp r1, fp │ │ │ │ │ add r6, r5 │ │ │ │ │ - beq.n 528 │ │ │ │ │ + beq.w 5e4 │ │ │ │ │ ldrd r8, r2, [sl, #16] │ │ │ │ │ - b.n 42a │ │ │ │ │ + b.n 4d4 │ │ │ │ │ + ldrd r6, fp, [sp, #40] @ 0x28 │ │ │ │ │ mov r5, r8 │ │ │ │ │ mov r0, r3 │ │ │ │ │ - ldrd r6, fp, [sp, #40] @ 0x28 │ │ │ │ │ mov r9, r7 │ │ │ │ │ - ldr.w r8, [sp, #36] @ 0x24 │ │ │ │ │ mov r7, lr │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ - ldr r2, [sp, #32] │ │ │ │ │ + ldrd r2, r8, [sp, #32] │ │ │ │ │ str r2, [sp, #0] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.n 656 │ │ │ │ │ + ble.n 74e │ │ │ │ │ cmp r0, #1 │ │ │ │ │ - bne.n 702 │ │ │ │ │ - lsls r2, r3, #3 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + bne.n 812 │ │ │ │ │ + mov.w r2, r3, lsl #3 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ mov r0, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memset │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ cmp r4, r5 │ │ │ │ │ add r9, r3 │ │ │ │ │ - beq.n 660 │ │ │ │ │ + beq.n 75a │ │ │ │ │ ldrd r3, r0, [sl, #28] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bgt.n 636 │ │ │ │ │ + bgt.n 728 │ │ │ │ │ ldr r2, [sp, #20] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ cmp r4, r5 │ │ │ │ │ add r9, r2 │ │ │ │ │ - bne.n 632 │ │ │ │ │ + bne.n 724 │ │ │ │ │ ldr r5, [sp, #0] │ │ │ │ │ mov lr, r7 │ │ │ │ │ - b.n 67a │ │ │ │ │ + b.n 776 │ │ │ │ │ ldr r2, [sp, #20] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ cmp r4, r5 │ │ │ │ │ add r7, r2 │ │ │ │ │ - bne.w 45c │ │ │ │ │ + bne.w 50a │ │ │ │ │ ldrd r5, r8, [sp, #32] │ │ │ │ │ ldrd r6, fp, [sp, #40] @ 0x28 │ │ │ │ │ add.w r8, r8, #1 │ │ │ │ │ add r6, fp │ │ │ │ │ cmp r5, r8 │ │ │ │ │ - bne.w 416 │ │ │ │ │ - b.n 528 │ │ │ │ │ + bne.w 4c0 │ │ │ │ │ + b.n 5e4 │ │ │ │ │ mov r3, fp │ │ │ │ │ mov r9, r6 │ │ │ │ │ mov fp, r5 │ │ │ │ │ mov r0, r7 │ │ │ │ │ mov r5, r8 │ │ │ │ │ mov r1, r2 │ │ │ │ │ mov r8, r3 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - ble.n 6ba │ │ │ │ │ + ble.n 7bc │ │ │ │ │ cmp r1, #1 │ │ │ │ │ - bne.n 71a │ │ │ │ │ - lsls r2, r0, #3 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + bne.n 830 │ │ │ │ │ + mov.w r2, r0, lsl #3 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ mov r0, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memset │ │ │ │ │ - adds r5, #1 │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ add r9, r8 │ │ │ │ │ cmp fp, r5 │ │ │ │ │ - beq.w 528 │ │ │ │ │ + beq.w 5e4 │ │ │ │ │ ldrd r0, r1, [sl, #16] │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bgt.n 69a │ │ │ │ │ - adds r5, #1 │ │ │ │ │ + bgt.n 796 │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ add r9, r8 │ │ │ │ │ cmp fp, r5 │ │ │ │ │ - bne.n 696 │ │ │ │ │ - b.n 528 │ │ │ │ │ - lsls r1, r1, #3 │ │ │ │ │ + bne.n 792 │ │ │ │ │ + b.n 5e4 │ │ │ │ │ + vldr d7, [pc, #172] @ 878 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ mov ip, r4 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - vldr d7, [pc, #124] @ 748 │ │ │ │ │ - adds r0, #1 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + add.w r0, r0, #1 │ │ │ │ │ vstr d7, [ip] │ │ │ │ │ - cmp r0, r2 │ │ │ │ │ add ip, r1 │ │ │ │ │ - bne.n 6ce │ │ │ │ │ - b.n 56e │ │ │ │ │ + cmp r0, r2 │ │ │ │ │ + bne.n 7d6 │ │ │ │ │ + b.n 656 │ │ │ │ │ add.w fp, fp, #1 │ │ │ │ │ add r6, r5 │ │ │ │ │ cmp r1, fp │ │ │ │ │ - bne.w 42a │ │ │ │ │ - b.n 528 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ + bne.w 4d4 │ │ │ │ │ + b.n 5e4 │ │ │ │ │ + vldr d7, [pc, #128] @ 878 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ mov r1, r5 │ │ │ │ │ - movs r2, #0 │ │ │ │ │ - vldr d7, [pc, #84] @ 748 │ │ │ │ │ - adds r2, #1 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ - cmp r2, r0 │ │ │ │ │ add r1, r3 │ │ │ │ │ - bne.n 6f4 │ │ │ │ │ - b.n 5b8 │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ + cmp r2, r0 │ │ │ │ │ + bne.n 802 │ │ │ │ │ + b.n 6a8 │ │ │ │ │ + vldr d7, [pc, #100] @ 878 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ mov r1, r9 │ │ │ │ │ - movs r2, #0 │ │ │ │ │ - vldr d7, [pc, #60] @ 748 │ │ │ │ │ - adds r2, #1 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ - cmp r2, r3 │ │ │ │ │ add r1, r0 │ │ │ │ │ - bne.n 70c │ │ │ │ │ - b.n 644 │ │ │ │ │ - lsls r1, r1, #3 │ │ │ │ │ + cmp r2, r3 │ │ │ │ │ + bne.n 820 │ │ │ │ │ + b.n 73a │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ mov r2, r9 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - movs r6, #0 │ │ │ │ │ - movs r7, #0 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + mov.w r6, #0 │ │ │ │ │ + mov.w r7, #0 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ strd r6, r7, [r2] │ │ │ │ │ - cmp r3, r0 │ │ │ │ │ add r2, r1 │ │ │ │ │ - bne.n 724 │ │ │ │ │ - b.n 6a8 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ - movs r2, #0 │ │ │ │ │ - movs r4, #0 │ │ │ │ │ - movs r5, #0 │ │ │ │ │ - adds r2, #1 │ │ │ │ │ + cmp r3, r0 │ │ │ │ │ + bne.n 842 │ │ │ │ │ + b.n 7a8 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ + mov.w r5, #0 │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ strd r4, r5, [r1] │ │ │ │ │ - cmp fp, r2 │ │ │ │ │ add r1, r3 │ │ │ │ │ - bne.n 73a │ │ │ │ │ - b.n 528 │ │ │ │ │ + cmp fp, r2 │ │ │ │ │ + bne.n 862 │ │ │ │ │ + b.n 5e4 │ │ │ │ │ + nop │ │ │ │ │ + nop.w │ │ │ │ │ ... │ │ │ │ │ │ │ │ │ │ -00000750 : │ │ │ │ │ +00000880 : │ │ │ │ │ zero(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldrd r1, r0, [r0, #4] │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_append │ │ │ │ │ ldr r1, [r4, #12] │ │ │ │ │ mov r5, r0 │ │ │ │ │ - bl 3c8 │ │ │ │ │ + bl 460 │ │ │ │ │ R_ARM_THM_CALL fftw_rdft_zerotens │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ mov r0, r5 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, lr} │ │ │ │ │ + ldrd r5, lr, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_tensor_destroy │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000770 : │ │ │ │ │ +000008ac : │ │ │ │ │ fftw_rdft_kind_str(): │ │ │ │ │ - ldr r3, [pc, #8] @ (77c ) │ │ │ │ │ + ldr r3, [pc, #8] @ (8b8 ) │ │ │ │ │ add r3, pc │ │ │ │ │ add.w r0, r3, r0, lsl #3 │ │ │ │ │ bx lr │ │ │ │ │ nop │ │ │ │ │ .word 0x00000006 │ │ │ │ │ R_ARM_REL32 .rodata │ │ │ │ │ │ │ │ │ │ -00000780 : │ │ │ │ │ +000008bc : │ │ │ │ │ fftw_mkproblem_rdft(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - mov r4, r0 │ │ │ │ │ - sub sp, #52 @ 0x34 │ │ │ │ │ - mov fp, r1 │ │ │ │ │ - mov r9, r2 │ │ │ │ │ - mov r6, r3 │ │ │ │ │ - ldr r5, [sp, #88] @ 0x58 │ │ │ │ │ - beq.w 968 │ │ │ │ │ - ldr r0, [r4, #0] │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + mov r4, r3 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r5, r0 │ │ │ │ │ + mov r6, r2 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r8, r1 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + sub sp, #60 @ 0x3c │ │ │ │ │ + ldr r7, [sp, #96] @ 0x60 │ │ │ │ │ + beq.w b1c │ │ │ │ │ + ldr r0, [r5, #0] │ │ │ │ │ cmp r0, #0 │ │ │ │ │ itt le │ │ │ │ │ - movle r7, #0 │ │ │ │ │ + movle.w r9, #0 │ │ │ │ │ movle r0, #24 │ │ │ │ │ - ble.n 7f4 │ │ │ │ │ - mov r3, r5 │ │ │ │ │ - mov r2, r4 │ │ │ │ │ - add.w r0, r5, r0, lsl #2 │ │ │ │ │ - movs r7, #0 │ │ │ │ │ - b.n 7b6 │ │ │ │ │ - adds r7, #1 │ │ │ │ │ - adds r2, #12 │ │ │ │ │ + ble.n 954 │ │ │ │ │ + add.w r0, r7, r0, lsl #2 │ │ │ │ │ + mov r3, r7 │ │ │ │ │ + mov r2, r5 │ │ │ │ │ + mov.w r9, #0 │ │ │ │ │ + b.n 90a │ │ │ │ │ cmp r3, r0 │ │ │ │ │ - beq.n 7ea │ │ │ │ │ + add.w r9, r9, #1 │ │ │ │ │ + add.w r2, r2, #12 │ │ │ │ │ + beq.n 944 │ │ │ │ │ ldr r1, [r2, #4] │ │ │ │ │ mov ip, r3 │ │ │ │ │ - adds r3, #4 │ │ │ │ │ + add.w r3, r3, #4 │ │ │ │ │ cmp r1, #1 │ │ │ │ │ - bgt.n 7ae │ │ │ │ │ + bgt.n 8fe │ │ │ │ │ ldr.w r1, [ip] │ │ │ │ │ bic.w ip, r1, #4 │ │ │ │ │ cmp.w ip, #3 │ │ │ │ │ - beq.n 7ae │ │ │ │ │ - subs r1, #9 │ │ │ │ │ + beq.n 8fe │ │ │ │ │ + sub.w r1, r1, #9 │ │ │ │ │ cmp r1, #7 │ │ │ │ │ ite hi │ │ │ │ │ movhi r1, #0 │ │ │ │ │ movls r1, #1 │ │ │ │ │ cmp.w ip, #10 │ │ │ │ │ it eq │ │ │ │ │ moveq r1, #0 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - bne.n 7ae │ │ │ │ │ - adds r2, #12 │ │ │ │ │ + bne.n 8fe │ │ │ │ │ cmp r3, r0 │ │ │ │ │ - bne.n 7b6 │ │ │ │ │ - adds r0, r7, #5 │ │ │ │ │ - lsls r0, r0, #2 │ │ │ │ │ - cmp r7, #0 │ │ │ │ │ - beq.w 964 │ │ │ │ │ - ldr r1, [pc, #400] @ (988 ) │ │ │ │ │ + add.w r2, r2, #12 │ │ │ │ │ + bne.n 90a │ │ │ │ │ + add.w r0, r9, #5 │ │ │ │ │ + mov.w r0, r0, lsl #2 │ │ │ │ │ + cmp.w r9, #0 │ │ │ │ │ + beq.w b08 │ │ │ │ │ + ldr r1, [pc, #492] @ (b44 ) │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem │ │ │ │ │ mov sl, r0 │ │ │ │ │ - mov r0, r7 │ │ │ │ │ + mov r0, r9 │ │ │ │ │ + str.w sl, [sp, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor │ │ │ │ │ - ldr r7, [r4, #0] │ │ │ │ │ - mov r8, r0 │ │ │ │ │ + ldr r3, [r5, #0] │ │ │ │ │ str.w r0, [sl, #4] │ │ │ │ │ - cmp r7, #0 │ │ │ │ │ - ble.w 94e │ │ │ │ │ - add.w r7, r5, r7, lsl #2 │ │ │ │ │ - mov.w lr, #0 │ │ │ │ │ - mov.w ip, #12 │ │ │ │ │ - b.n 844 │ │ │ │ │ - add.w r2, sl, lr, lsl #2 │ │ │ │ │ - cmp r5, r7 │ │ │ │ │ - str r3, [r2, #20] │ │ │ │ │ - mla r3, ip, lr, r8 │ │ │ │ │ - add.w r2, r4, #4 │ │ │ │ │ - add.w lr, lr, #1 │ │ │ │ │ - add.w r3, r3, #4 │ │ │ │ │ - add.w r4, r4, #12 │ │ │ │ │ - ldmia r2, {r0, r1, r2} │ │ │ │ │ - stmia.w r3, {r0, r1, r2} │ │ │ │ │ - beq.n 872 │ │ │ │ │ - ldr r2, [r4, #4] │ │ │ │ │ - ldr.w r3, [r5], #4 │ │ │ │ │ - cmp r2, #1 │ │ │ │ │ - bgt.n 820 │ │ │ │ │ - bic.w r2, r3, #4 │ │ │ │ │ - cmp r2, #3 │ │ │ │ │ - beq.n 820 │ │ │ │ │ - sub.w r1, r3, #9 │ │ │ │ │ - cmp r1, #7 │ │ │ │ │ + cmp r3, #0 │ │ │ │ │ + ble.w ae0 │ │ │ │ │ + ldr.w lr, [sp, #8] │ │ │ │ │ + add.w ip, r7, r3, lsl #2 │ │ │ │ │ + mov r1, r5 │ │ │ │ │ + mov.w sl, #0 │ │ │ │ │ + mov r9, r4 │ │ │ │ │ + b.n 9ac │ │ │ │ │ + add.w r3, lr, sl, lsl #2 │ │ │ │ │ + ldrd r4, r5, [r1, #4] │ │ │ │ │ + cmp r7, ip │ │ │ │ │ + add.w r1, r1, #12 │ │ │ │ │ + str r2, [r3, #20] │ │ │ │ │ + add.w r3, sl, sl, lsl #1 │ │ │ │ │ + add.w sl, sl, #1 │ │ │ │ │ + add.w r3, r0, r3, lsl #2 │ │ │ │ │ + strd r4, r5, [r3, #4] │ │ │ │ │ + ldr r2, [r1, #0] │ │ │ │ │ + str r2, [r3, #12] │ │ │ │ │ + beq.n 9dc │ │ │ │ │ + ldr r3, [r1, #4] │ │ │ │ │ + ldr.w r2, [r7], #4 │ │ │ │ │ + cmp r3, #1 │ │ │ │ │ + bgt.n 986 │ │ │ │ │ + bic.w r3, r2, #4 │ │ │ │ │ + cmp r3, #3 │ │ │ │ │ + beq.n 986 │ │ │ │ │ + sub.w r4, r2, #9 │ │ │ │ │ + cmp r4, #7 │ │ │ │ │ ite hi │ │ │ │ │ - movhi r1, #0 │ │ │ │ │ - movls r1, #1 │ │ │ │ │ - cmp r2, #10 │ │ │ │ │ + movhi r4, #0 │ │ │ │ │ + movls r4, #1 │ │ │ │ │ + cmp r3, #10 │ │ │ │ │ it eq │ │ │ │ │ - moveq r1, #0 │ │ │ │ │ - cmp r1, #0 │ │ │ │ │ - bne.n 820 │ │ │ │ │ - adds r4, #12 │ │ │ │ │ - cmp r5, r7 │ │ │ │ │ - bne.n 844 │ │ │ │ │ - cmp.w lr, #1 │ │ │ │ │ - ble.w 97c │ │ │ │ │ - ldr.w r5, [sl, #4] │ │ │ │ │ - add.w r8, sl, #20 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - add.w r3, lr, #4294967295 @ 0xffffffff │ │ │ │ │ - add r7, sp, #36 @ 0x24 │ │ │ │ │ - str r3, [sp, #12] │ │ │ │ │ - mov r2, r1 │ │ │ │ │ - mov r3, r8 │ │ │ │ │ - mov r4, lr │ │ │ │ │ - mov ip, r5 │ │ │ │ │ - strd fp, r9, [sp, #16] │ │ │ │ │ - strd r6, r8, [sp, #24] │ │ │ │ │ - mov r9, r2 │ │ │ │ │ - movs r1, #12 │ │ │ │ │ - adds r2, #1 │ │ │ │ │ - mov fp, r3 │ │ │ │ │ - adds r3, #4 │ │ │ │ │ - mov r8, r2 │ │ │ │ │ - mul.w r9, r1, r9 │ │ │ │ │ - mov r5, r3 │ │ │ │ │ - strd r3, r2, [sp, #4] │ │ │ │ │ - mov r3, ip │ │ │ │ │ - adds r0, r3, #4 │ │ │ │ │ - movs r3, #12 │ │ │ │ │ - mul.w r6, r3, r8 │ │ │ │ │ - adds r1, r0, r6 │ │ │ │ │ - add r0, r9 │ │ │ │ │ + moveq r4, #0 │ │ │ │ │ + cmp r4, #0 │ │ │ │ │ + bne.n 986 │ │ │ │ │ + cmp r7, ip │ │ │ │ │ + add.w r1, r1, #12 │ │ │ │ │ + bne.n 9ac │ │ │ │ │ + cmp.w sl, #1 │ │ │ │ │ + mov r4, r9 │ │ │ │ │ + ble.w b0e │ │ │ │ │ + ldr r2, [sp, #8] │ │ │ │ │ + mov.w r9, #1 │ │ │ │ │ + strd r8, r6, [sp, #24] │ │ │ │ │ + ldr.w fp, [r2, #4] │ │ │ │ │ + add.w r7, r2, #20 │ │ │ │ │ + mov r3, r7 │ │ │ │ │ + strd r4, r7, [sp, #32] │ │ │ │ │ + mov r0, fp │ │ │ │ │ + add.w r5, r9, r9, lsl #1 │ │ │ │ │ + add.w r2, r9, #4294967295 @ 0xffffffff │ │ │ │ │ + mov r6, r3 │ │ │ │ │ + add.w r2, r2, r2, lsl #1 │ │ │ │ │ + add.w r3, r3, #4 │ │ │ │ │ + mov r4, r9 │ │ │ │ │ + mov.w r5, r5, lsl #2 │ │ │ │ │ + mov r7, r3 │ │ │ │ │ + str.w r9, [sp, #20] │ │ │ │ │ + mov.w r2, r2, lsl #2 │ │ │ │ │ + sub.w fp, r5, #12 │ │ │ │ │ + str.w fp, [sp, #4] │ │ │ │ │ + mov fp, r6 │ │ │ │ │ + strd r2, r3, [sp, #12] │ │ │ │ │ + ldr r3, [sp, #4] │ │ │ │ │ + add.w r0, r0, #4 │ │ │ │ │ + add.w r1, r0, r5 │ │ │ │ │ + add r0, r3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_dimcmp │ │ │ │ │ - ldr.w r3, [sl, #4] │ │ │ │ │ + ldr r3, [sp, #8] │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - ble.n 8fc │ │ │ │ │ - add.w lr, r3, r9 │ │ │ │ │ - add r6, r3 │ │ │ │ │ - add.w lr, lr, #4 │ │ │ │ │ - adds r6, #4 │ │ │ │ │ - ldmia.w lr, {r0, r1, r2} │ │ │ │ │ - stmia.w r7, {r0, r1, r2} │ │ │ │ │ - ldmia.w r6, {r0, r1, r2} │ │ │ │ │ - stmia.w lr, {r0, r1, r2} │ │ │ │ │ - ldmia.w r7, {r0, r1, r2} │ │ │ │ │ - stmia.w r6, {r0, r1, r2} │ │ │ │ │ + ldr r0, [r3, #4] │ │ │ │ │ + ble.n a88 │ │ │ │ │ + ldr r3, [sp, #12] │ │ │ │ │ + add.w r1, r0, r3 │ │ │ │ │ + ldrd r2, r3, [r1, #4] │ │ │ │ │ + mov ip, r1 │ │ │ │ │ + ldr r6, [r1, #12] │ │ │ │ │ + strd r2, r3, [sp, #44] @ 0x2c │ │ │ │ │ + add.w r3, r4, r4, lsl #1 │ │ │ │ │ + add.w r3, r0, r3, lsl #2 │ │ │ │ │ + str r6, [sp, #52] @ 0x34 │ │ │ │ │ + ldrd r8, r9, [r3, #4] │ │ │ │ │ + strd r8, r9, [r1, #4] │ │ │ │ │ + ldr r1, [r3, #12] │ │ │ │ │ + ldrd r8, r9, [sp, #44] @ 0x2c │ │ │ │ │ + str.w r1, [ip, #12] │ │ │ │ │ + strd r8, r9, [r3, #4] │ │ │ │ │ + str r6, [r3, #12] │ │ │ │ │ + ldr r3, [r7, #0] │ │ │ │ │ ldr.w r2, [fp] │ │ │ │ │ - ldr r1, [r5, #0] │ │ │ │ │ - str.w r1, [fp] │ │ │ │ │ - str r2, [r5, #0] │ │ │ │ │ - add.w r8, r8, #1 │ │ │ │ │ - adds r5, #4 │ │ │ │ │ - cmp r8, r4 │ │ │ │ │ - blt.n 8b4 │ │ │ │ │ - ldr r2, [sp, #8] │ │ │ │ │ - mov ip, r3 │ │ │ │ │ - ldr r1, [sp, #12] │ │ │ │ │ - ldr r3, [sp, #4] │ │ │ │ │ - cmp r2, r1 │ │ │ │ │ - bne.n 89c │ │ │ │ │ - ldrd fp, r9, [sp, #16] │ │ │ │ │ - mov lr, r4 │ │ │ │ │ - ldrd r6, r8, [sp, #24] │ │ │ │ │ - mov r5, ip │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - add.w lr, lr, lr, lsl #1 │ │ │ │ │ - adds r5, #4 │ │ │ │ │ - mov r4, r3 │ │ │ │ │ - ldr.w r2, [r5, r3, lsl #2] │ │ │ │ │ - cmp r2, #2 │ │ │ │ │ - bne.n 944 │ │ │ │ │ - ldr.w r2, [r8] │ │ │ │ │ - sub.w r1, r2, #8 │ │ │ │ │ - cmp r2, #4 │ │ │ │ │ + str.w r3, [fp] │ │ │ │ │ + str r2, [r7, #0] │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + add.w r5, r5, #12 │ │ │ │ │ + cmp r4, sl │ │ │ │ │ + add.w r7, r7, #4 │ │ │ │ │ + blt.n a30 │ │ │ │ │ + ldrd r3, r9, [sp, #16] │ │ │ │ │ + add.w r9, r9, #1 │ │ │ │ │ + cmp r9, sl │ │ │ │ │ + bne.n a00 │ │ │ │ │ + ldrd r8, r6, [sp, #24] │ │ │ │ │ + mov fp, r0 │ │ │ │ │ + ldrd r4, r7, [sp, #32] │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ + add.w r3, sl, sl, lsl #1 │ │ │ │ │ + add.w fp, fp, #4 │ │ │ │ │ + mov r5, r2 │ │ │ │ │ + ldr.w r1, [fp, r2, lsl #2] │ │ │ │ │ + cmp r1, #2 │ │ │ │ │ + bne.n ad4 │ │ │ │ │ + ldr r1, [r7, #0] │ │ │ │ │ + sub.w r0, r1, #8 │ │ │ │ │ + cmp r1, #4 │ │ │ │ │ it ne │ │ │ │ │ - cmpne r1, #1 │ │ │ │ │ + cmpne r0, #1 │ │ │ │ │ it ls │ │ │ │ │ - strls.w r4, [r8] │ │ │ │ │ - adds r3, #3 │ │ │ │ │ - add.w r8, r8, #4 │ │ │ │ │ - cmp r3, lr │ │ │ │ │ - bne.n 928 │ │ │ │ │ - mov r0, fp │ │ │ │ │ + strls r5, [r7, #0] │ │ │ │ │ + add.w r2, r2, #3 │ │ │ │ │ + add.w r7, r7, #4 │ │ │ │ │ + cmp r2, r3 │ │ │ │ │ + bne.n abc │ │ │ │ │ + mov r0, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_compress_contiguous │ │ │ │ │ - str.w r6, [sl, #16] │ │ │ │ │ - strd r0, r9, [sl, #8] │ │ │ │ │ - mov r0, sl │ │ │ │ │ - add sp, #52 @ 0x34 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - movs r0, #24 │ │ │ │ │ - b.n 7f4 │ │ │ │ │ + ldr r3, [sp, #8] │ │ │ │ │ + strd r0, r6, [r3, #8] │ │ │ │ │ + mov r0, r3 │ │ │ │ │ + str r4, [r3, #16] │ │ │ │ │ + add sp, #60 @ 0x3c │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + mov.w r0, #24 │ │ │ │ │ + b.n 954 │ │ │ │ │ + bne.n ae0 │ │ │ │ │ + ldr r3, [sp, #8] │ │ │ │ │ + ldr.w fp, [r3, #4] │ │ │ │ │ + add.w r7, r3, #20 │ │ │ │ │ + b.n aae │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_inplace_locations │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.w 796 │ │ │ │ │ - add sp, #52 @ 0x34 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + bne.w 8e2 │ │ │ │ │ + add sp, #60 @ 0x3c │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_mkproblem_unsolvable │ │ │ │ │ - bne.n 94e │ │ │ │ │ - ldr.w r5, [sl, #4] │ │ │ │ │ - add.w r8, sl, #20 │ │ │ │ │ - b.n 91e │ │ │ │ │ - .word 0x0000018e │ │ │ │ │ + nop │ │ │ │ │ + .word 0x000001ea │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ │ │ │ │ │ │ │ -0000098c : │ │ │ │ │ +00000b48 : │ │ │ │ │ fftw_mkproblem_rdft_d(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ mov r5, r1 │ │ │ │ │ - mov r6, r0 │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ sub sp, #8 │ │ │ │ │ + mov r6, r0 │ │ │ │ │ ldr r4, [sp, #24] │ │ │ │ │ str r4, [sp, #0] │ │ │ │ │ - bl 780 │ │ │ │ │ + bl 8bc │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft │ │ │ │ │ - mov r1, r6 │ │ │ │ │ mov r4, r0 │ │ │ │ │ + mov r1, r6 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_destroy2 │ │ │ │ │ mov r0, r4 │ │ │ │ │ add sp, #8 │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ │ │ │ │ │ -000009ac : │ │ │ │ │ +00000b74 : │ │ │ │ │ fftw_mkproblem_rdft_1(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ sub sp, #8 │ │ │ │ │ add r4, sp, #16 │ │ │ │ │ str r4, [sp, #0] │ │ │ │ │ - bl 780 │ │ │ │ │ + bl 8bc │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft │ │ │ │ │ add sp, #8 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -000009bc : │ │ │ │ │ +00000b88 : │ │ │ │ │ fftw_mkproblem_rdft_1_d(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ sub sp, #8 │ │ │ │ │ add r4, sp, #16 │ │ │ │ │ str r4, [sp, #0] │ │ │ │ │ - bl 98c │ │ │ │ │ + bl b48 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_d │ │ │ │ │ add sp, #8 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -000009cc : │ │ │ │ │ +00000b9c : │ │ │ │ │ fftw_mkproblem_rdft_0_d(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ mov r5, r1 │ │ │ │ │ - mov r6, r2 │ │ │ │ │ - sub sp, #8 │ │ │ │ │ mov r4, r0 │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ + sub sp, #8 │ │ │ │ │ + mov r6, r2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_0d │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r1, r4 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, r6 │ │ │ │ │ - bl 98c │ │ │ │ │ + bl b48 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_d │ │ │ │ │ add sp, #8 │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ + nop │ │ │ ├── problem2.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 4716 (bytes into file) │ │ │ │ │ + Start of section headers: 5168 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x126c: │ │ │ │ │ +There are 13 section headers, starting at offset 0x1430: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000b48 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00108c 000148 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000b7c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000b7c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000b7c 00001a 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro.local PROGBITS 00000000 000b96 000014 00 WA 0 0 4 │ │ │ │ │ - [ 7] .rel.data.rel.ro.local REL 00000000 0011d4 000020 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 000baa 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000baa 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 000be0 0002e0 10 11 25 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 000ec0 0001cc 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 0011f4 000076 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000d0c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 001250 000148 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000d40 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000d40 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000d40 00001a 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro.local PROGBITS 00000000 000d5a 000014 00 WA 0 0 4 │ │ │ │ │ + [ 7] .rel.data.rel.ro.local REL 00000000 001398 000020 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 000d6e 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000d6e 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 000da4 0002e0 10 11 25 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 001084 0001cc 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 0013b8 000076 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,49 +1,49 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 46 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ - 3: 00000001 48 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 3: 00000001 52 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ 4: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 0000002c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000030 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00000031 22 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 5: 00000030 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000034 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00000035 26 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ 8: 00000014 0 NOTYPE LOCAL DEFAULT 5 .LC1 │ │ │ │ │ - 9: 00000049 152 FUNC LOCAL DEFAULT 1 hash │ │ │ │ │ - 10: 000000dc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 11: 000000e0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 12: 000000e1 888 FUNC LOCAL DEFAULT 1 recur │ │ │ │ │ - 13: 00000450 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 14: 00000458 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 15: 00000459 1230 FUNC LOCAL DEFAULT 1 vrecur │ │ │ │ │ - 16: 00000930 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 17: 00000951 194 FUNC LOCAL DEFAULT 1 zero │ │ │ │ │ - 18: 00000abc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 19: 00000ac0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 9: 00000051 176 FUNC LOCAL DEFAULT 1 hash │ │ │ │ │ + 10: 000000fc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 11: 00000100 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 12: 00000101 1016 FUNC LOCAL DEFAULT 1 recur │ │ │ │ │ + 13: 000004f0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 14: 000004f8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 15: 000004f9 1332 FUNC LOCAL DEFAULT 1 vrecur │ │ │ │ │ + 16: 00000a34 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 17: 00000a61 272 FUNC LOCAL DEFAULT 1 zero │ │ │ │ │ + 18: 00000c54 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 19: 00000c58 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 20: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro.local │ │ │ │ │ 21: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 22: 00000000 20 OBJECT LOCAL DEFAULT 6 padt │ │ │ │ │ - 23: 00000937 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 24: 00000938 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 23: 00000a3b 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 24: 00000a3c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 25: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_destroy2 │ │ │ │ │ 26: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ifree │ │ │ │ │ 27: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_md5puts │ │ │ │ │ 28: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_md5int │ │ │ │ │ 29: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_md5INT │ │ │ │ │ 30: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ialignment_of │ │ │ │ │ 31: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_md5 │ │ │ │ │ - 32: 00000929 40 FUNC GLOBAL DEFAULT 1 fftw_rdft2_complex_n │ │ │ │ │ + 32: 00000a2d 50 FUNC GLOBAL DEFAULT 1 fftw_rdft2_complex_n │ │ │ │ │ 33: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_copy │ │ │ │ │ 34: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_append │ │ │ │ │ 35: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_destroy │ │ │ │ │ 36: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_dft_zerotens │ │ │ │ │ - 37: 00000a15 172 FUNC GLOBAL DEFAULT 1 fftw_mkproblem_rdft2 │ │ │ │ │ + 37: 00000b71 232 FUNC GLOBAL DEFAULT 1 fftw_mkproblem_rdft2 │ │ │ │ │ 38: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkproblem │ │ │ │ │ 39: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_copy_except │ │ │ │ │ 40: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_copy_sub │ │ │ │ │ 41: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_compress │ │ │ │ │ 42: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_compress_contiguous │ │ │ │ │ 43: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkproblem_unsolvable │ │ │ │ │ - 44: 00000ac1 40 FUNC GLOBAL DEFAULT 1 fftw_mkproblem_rdft2_d │ │ │ │ │ - 45: 00000ae9 94 FUNC GLOBAL DEFAULT 1 fftw_mkproblem_rdft2_d_3pointers │ │ │ │ │ + 44: 00000c59 52 FUNC GLOBAL DEFAULT 1 fftw_mkproblem_rdft2_d │ │ │ │ │ + 45: 00000c8d 126 FUNC GLOBAL DEFAULT 1 fftw_mkproblem_rdft2_d_3pointers │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,51 +1,51 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x108c contains 41 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x1250 contains 41 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000002c 00000203 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -00000038 0000190a R_ARM_THM_CALL 00000000 fftw_tensor_destroy2 │ │ │ │ │ -00000054 00001b0a R_ARM_THM_CALL 00000000 fftw_md5puts │ │ │ │ │ -00000066 00001c0a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ -00000074 00001d0a R_ARM_THM_CALL 00000000 fftw_md5INT │ │ │ │ │ -00000082 00001d0a R_ARM_THM_CALL 00000000 fftw_md5INT │ │ │ │ │ -00000088 00001e0a R_ARM_THM_CALL 00000000 fftw_ialignment_of │ │ │ │ │ -00000090 00001c0a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ -00000096 00001e0a R_ARM_THM_CALL 00000000 fftw_ialignment_of │ │ │ │ │ -0000009e 00001c0a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ -000000a4 00001e0a R_ARM_THM_CALL 00000000 fftw_ialignment_of │ │ │ │ │ -000000ac 00001c0a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ -000000b2 00001e0a R_ARM_THM_CALL 00000000 fftw_ialignment_of │ │ │ │ │ -000000ba 00001c0a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ -000000c2 00001c0a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ -000000ca 00001f0a R_ARM_THM_CALL 00000000 fftw_tensor_md5 │ │ │ │ │ -000000dc 00000803 R_ARM_REL32 00000014 .LC1 │ │ │ │ │ -000009bc 0000210a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ -000009cc 0000220a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ -000009d4 0000230a R_ARM_THM_CALL 00000000 fftw_tensor_destroy │ │ │ │ │ -000009de 0000240a R_ARM_THM_CALL 00000000 fftw_dft_zerotens │ │ │ │ │ -000009fa 0000200a R_ARM_THM_CALL 00000929 fftw_rdft2_complex_n │ │ │ │ │ -00000a34 0000260a R_ARM_THM_CALL 00000000 fftw_mkproblem │ │ │ │ │ -00000a46 0000270a R_ARM_THM_CALL 00000000 fftw_tensor_copy_except │ │ │ │ │ -00000a56 0000280a R_ARM_THM_CALL 00000000 fftw_tensor_copy_sub │ │ │ │ │ -00000a5e 0000290a R_ARM_THM_CALL 00000000 fftw_tensor_compress │ │ │ │ │ -00000a6c 0000220a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ -00000a78 0000190a R_ARM_THM_CALL 00000000 fftw_tensor_destroy2 │ │ │ │ │ -00000a7e 0000230a R_ARM_THM_CALL 00000000 fftw_tensor_destroy │ │ │ │ │ -00000a84 00002a0a R_ARM_THM_CALL 00000000 fftw_tensor_compress_contiguous │ │ │ │ │ -00000a9e 0000290a R_ARM_THM_CALL 00000000 fftw_tensor_compress │ │ │ │ │ -00000aaa 0000290a R_ARM_THM_CALL 00000000 fftw_tensor_compress │ │ │ │ │ -00000abc 00001403 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -00000ad4 0000250a R_ARM_THM_CALL 00000a15 fftw_mkproblem_rdft2 │ │ │ │ │ -00000ade 0000190a R_ARM_THM_CALL 00000000 fftw_tensor_destroy2 │ │ │ │ │ -00000b1e 0000250a R_ARM_THM_CALL 00000a15 fftw_mkproblem_rdft2 │ │ │ │ │ -00000b28 0000190a R_ARM_THM_CALL 00000000 fftw_tensor_destroy2 │ │ │ │ │ -00000042 00001a1e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ │ -000000d6 00001f1e R_ARM_THM_JUMP24 00000000 fftw_tensor_md5 │ │ │ │ │ -000009ea 0000231e R_ARM_THM_JUMP24 00000000 fftw_tensor_destroy │ │ │ │ │ -00000ab6 00002b1e R_ARM_THM_JUMP24 00000000 fftw_mkproblem_unsolvable │ │ │ │ │ +00000030 00000203 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +0000003e 0000190a R_ARM_THM_CALL 00000000 fftw_tensor_destroy2 │ │ │ │ │ +00000062 00001b0a R_ARM_THM_CALL 00000000 fftw_md5puts │ │ │ │ │ +00000078 00001c0a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ +0000008a 00001d0a R_ARM_THM_CALL 00000000 fftw_md5INT │ │ │ │ │ +0000009c 00001d0a R_ARM_THM_CALL 00000000 fftw_md5INT │ │ │ │ │ +000000a2 00001e0a R_ARM_THM_CALL 00000000 fftw_ialignment_of │ │ │ │ │ +000000aa 00001c0a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ +000000b0 00001e0a R_ARM_THM_CALL 00000000 fftw_ialignment_of │ │ │ │ │ +000000b8 00001c0a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ +000000be 00001e0a R_ARM_THM_CALL 00000000 fftw_ialignment_of │ │ │ │ │ +000000c6 00001c0a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ +000000cc 00001e0a R_ARM_THM_CALL 00000000 fftw_ialignment_of │ │ │ │ │ +000000d4 00001c0a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ +000000dc 00001c0a R_ARM_THM_CALL 00000000 fftw_md5int │ │ │ │ │ +000000e4 00001f0a R_ARM_THM_CALL 00000000 fftw_tensor_md5 │ │ │ │ │ +000000fc 00000803 R_ARM_REL32 00000014 .LC1 │ │ │ │ │ +00000af4 0000210a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ +00000b04 0000220a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ +00000b0c 0000230a R_ARM_THM_CALL 00000000 fftw_tensor_destroy │ │ │ │ │ +00000b16 0000240a R_ARM_THM_CALL 00000000 fftw_dft_zerotens │ │ │ │ │ +00000b46 0000200a R_ARM_THM_CALL 00000a2d fftw_rdft2_complex_n │ │ │ │ │ +00000ba2 0000260a R_ARM_THM_CALL 00000000 fftw_mkproblem │ │ │ │ │ +00000bb6 0000270a R_ARM_THM_CALL 00000000 fftw_tensor_copy_except │ │ │ │ │ +00000bca 0000280a R_ARM_THM_CALL 00000000 fftw_tensor_copy_sub │ │ │ │ │ +00000bd2 0000290a R_ARM_THM_CALL 00000000 fftw_tensor_compress │ │ │ │ │ +00000be0 0000220a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ +00000bec 0000190a R_ARM_THM_CALL 00000000 fftw_tensor_destroy2 │ │ │ │ │ +00000bf2 0000230a R_ARM_THM_CALL 00000000 fftw_tensor_destroy │ │ │ │ │ +00000bf8 00002a0a R_ARM_THM_CALL 00000000 fftw_tensor_compress_contiguous │ │ │ │ │ +00000c24 0000290a R_ARM_THM_CALL 00000000 fftw_tensor_compress │ │ │ │ │ +00000c30 0000290a R_ARM_THM_CALL 00000000 fftw_tensor_compress │ │ │ │ │ +00000c54 00001403 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +00000c72 0000250a R_ARM_THM_CALL 00000b71 fftw_mkproblem_rdft2 │ │ │ │ │ +00000c7c 0000190a R_ARM_THM_CALL 00000000 fftw_tensor_destroy2 │ │ │ │ │ +00000cd0 0000250a R_ARM_THM_CALL 00000b71 fftw_mkproblem_rdft2 │ │ │ │ │ +00000cda 0000190a R_ARM_THM_CALL 00000000 fftw_tensor_destroy2 │ │ │ │ │ +0000004a 00001a1e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ │ +000000f6 00001f1e R_ARM_THM_JUMP24 00000000 fftw_tensor_md5 │ │ │ │ │ +00000b34 0000231e R_ARM_THM_JUMP24 00000000 fftw_tensor_destroy │ │ │ │ │ +00000c4e 00002b1e R_ARM_THM_JUMP24 00000000 fftw_mkproblem_unsolvable │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x11d4 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x1398 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000902 R_ARM_ABS32 00000049 hash │ │ │ │ │ -00000008 00001102 R_ARM_ABS32 00000951 zero │ │ │ │ │ +00000004 00000902 R_ARM_ABS32 00000051 hash │ │ │ │ │ +00000008 00001102 R_ARM_ABS32 00000a61 zero │ │ │ │ │ 0000000c 00000302 R_ARM_ABS32 00000001 print │ │ │ │ │ -00000010 00000702 R_ARM_ABS32 00000031 destroy │ │ │ │ │ +00000010 00000702 R_ARM_ABS32 00000035 destroy │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,9 +1,9 @@ │ │ │ │ │ -CFEFbFfF │ │ │ │ │ -RF;F>FUF │ │ │ │ │ +SFVFbFeF │ │ │ │ │ +:F=F[F^F │ │ │ │ │ (rdft2 %d %d %T %T) │ │ │ │ │ fftw_tensor_destroy2 │ │ │ │ │ fftw_ifree │ │ │ │ │ fftw_md5puts │ │ │ │ │ fftw_md5int │ │ │ │ │ fftw_md5INT │ │ │ │ │ fftw_ialignment_of │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,78 +1,79 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ print(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ mov r3, r0 │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r0, r1 │ │ │ │ │ - sub sp, #8 │ │ │ │ │ ldrd r4, r2, [r3, #8] │ │ │ │ │ + sub sp, #8 │ │ │ │ │ ldr r1, [r3, #20] │ │ │ │ │ str r4, [sp, #4] │ │ │ │ │ - subs r2, r1, r2 │ │ │ │ │ - ldr r1, [pc, #24] @ (2c ) │ │ │ │ │ ldr r4, [r3, #4] │ │ │ │ │ + sub.w r2, r1, r2 │ │ │ │ │ + ldr r1, [pc, #20] @ (30 ) │ │ │ │ │ clz r2, r2 │ │ │ │ │ + mov.w r2, r2, lsr #5 │ │ │ │ │ str r4, [sp, #0] │ │ │ │ │ - add r1, pc │ │ │ │ │ ldr r4, [r0, #0] │ │ │ │ │ - lsrs r2, r2, #5 │ │ │ │ │ + add r1, pc │ │ │ │ │ ldr r3, [r3, #28] │ │ │ │ │ blx r4 │ │ │ │ │ add sp, #8 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - nop │ │ │ │ │ - .word 0x0000000c │ │ │ │ │ + .word 0x00000006 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ -00000030 : │ │ │ │ │ +00000034 : │ │ │ │ │ destroy(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldrd r1, r0, [r0, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_destroy2 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_ifree │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000048 : │ │ │ │ │ +00000050 : │ │ │ │ │ hash(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ mov r5, r1 │ │ │ │ │ - ldr r1, [pc, #140] @ (dc ) │ │ │ │ │ + ldr r1, [pc, #156] @ (fc ) │ │ │ │ │ mov r0, r5 │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5puts │ │ │ │ │ - ldr r3, [r4, #20] │ │ │ │ │ ldr r1, [r4, #12] │ │ │ │ │ mov r0, r5 │ │ │ │ │ - subs r1, r1, r3 │ │ │ │ │ + ldr r3, [r4, #20] │ │ │ │ │ + sub.w r1, r1, r3 │ │ │ │ │ clz r1, r1 │ │ │ │ │ - lsrs r1, r1, #5 │ │ │ │ │ + mov.w r1, r1, lsr #5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5int │ │ │ │ │ - mov r0, r5 │ │ │ │ │ ldrd r3, r1, [r4, #12] │ │ │ │ │ - subs r1, r1, r3 │ │ │ │ │ - asrs r1, r1, #3 │ │ │ │ │ + mov r0, r5 │ │ │ │ │ + sub.w r1, r1, r3 │ │ │ │ │ + mov.w r1, r1, asr #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5INT │ │ │ │ │ - mov r0, r5 │ │ │ │ │ ldrd r3, r1, [r4, #20] │ │ │ │ │ - subs r1, r1, r3 │ │ │ │ │ - asrs r1, r1, #3 │ │ │ │ │ + mov r0, r5 │ │ │ │ │ + sub.w r1, r1, r3 │ │ │ │ │ + mov.w r1, r1, asr #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_md5INT │ │ │ │ │ ldr r0, [r4, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ialignment_of │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ @@ -105,1074 +106,1129 @@ │ │ │ │ │ R_ARM_THM_CALL fftw_md5int │ │ │ │ │ ldr r1, [r4, #4] │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_md5 │ │ │ │ │ ldr r1, [r4, #8] │ │ │ │ │ mov r0, r5 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, lr} │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + ldrd r5, lr, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_tensor_md5 │ │ │ │ │ nop │ │ │ │ │ - .word 0x00000086 │ │ │ │ │ + .word 0x00000098 │ │ │ │ │ R_ARM_REL32 .LC1 │ │ │ │ │ │ │ │ │ │ -000000e0 : │ │ │ │ │ +00000100 : │ │ │ │ │ recur(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r8, r1 │ │ │ │ │ mvn.w r1, #2147483648 @ 0x80000000 │ │ │ │ │ - sub sp, #68 @ 0x44 │ │ │ │ │ cmp r8, r1 │ │ │ │ │ - beq.w 212 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + sub sp, #68 @ 0x44 │ │ │ │ │ + beq.w 254 │ │ │ │ │ cmp.w r8, #0 │ │ │ │ │ - beq.w 258 │ │ │ │ │ - ble.w 212 │ │ │ │ │ - mov lr, r0 │ │ │ │ │ + beq.w 2b8 │ │ │ │ │ + ble.w 254 │ │ │ │ │ ldr r1, [r0, #0] │ │ │ │ │ - str r1, [sp, #28] │ │ │ │ │ + mov lr, r0 │ │ │ │ │ cmp.w r8, #1 │ │ │ │ │ mov r0, r1 │ │ │ │ │ ldr.w r1, [lr, #4] │ │ │ │ │ - beq.w 218 │ │ │ │ │ + str r0, [sp, #28] │ │ │ │ │ + beq.w 26c │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - ble.n 212 │ │ │ │ │ - ldr.w r5, [lr, #16] │ │ │ │ │ - lsls r1, r1, #3 │ │ │ │ │ - ldr.w r0, [lr, #12] │ │ │ │ │ + ble.w 254 │ │ │ │ │ + ldrd r0, r5, [lr, #12] │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ cmp.w r8, #2 │ │ │ │ │ - str r0, [sp, #16] │ │ │ │ │ - str r1, [sp, #52] @ 0x34 │ │ │ │ │ + strd r0, r3, [sp, #16] │ │ │ │ │ mov.w r0, r5, lsl #3 │ │ │ │ │ + str r1, [sp, #52] @ 0x34 │ │ │ │ │ mov r1, r2 │ │ │ │ │ - str r3, [sp, #20] │ │ │ │ │ str r0, [sp, #44] @ 0x2c │ │ │ │ │ - beq.w 3be │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + beq.w 444 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ str r3, [sp, #48] @ 0x30 │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.w 374 │ │ │ │ │ + ble.w 3f4 │ │ │ │ │ mov r5, r1 │ │ │ │ │ mov fp, lr │ │ │ │ │ str.w r8, [sp, #12] │ │ │ │ │ - ldrd r7, r4, [fp, #24] │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ - lsls r6, r4, #3 │ │ │ │ │ + ldrd r7, r4, [fp, #24] │ │ │ │ │ cmp r3, #3 │ │ │ │ │ - beq.w 2a2 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + mov.w r6, r4, lsl #3 │ │ │ │ │ + beq.w 30a │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + ldr r2, [sp, #20] │ │ │ │ │ str r3, [sp, #24] │ │ │ │ │ add.w r3, fp, #48 @ 0x30 │ │ │ │ │ + str r5, [sp, #60] @ 0x3c │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ - ldr r2, [sp, #20] │ │ │ │ │ + strd r5, r2, [sp, #4] │ │ │ │ │ sub.w r9, r3, #4 │ │ │ │ │ - str r5, [sp, #4] │ │ │ │ │ mov sl, r9 │ │ │ │ │ mov r9, r7 │ │ │ │ │ - str r2, [sp, #8] │ │ │ │ │ - str r5, [sp, #60] @ 0x3c │ │ │ │ │ cmp.w r9, #0 │ │ │ │ │ - ble.n 1e0 │ │ │ │ │ + ble.n 21e │ │ │ │ │ ldrd r5, lr, [fp, #36] @ 0x24 │ │ │ │ │ mov.w r4, lr, lsl #3 │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ cmp r3, #4 │ │ │ │ │ itt ne │ │ │ │ │ - movne r1, #0 │ │ │ │ │ ldrdne r3, r2, [sp, #4] │ │ │ │ │ - beq.w 310 │ │ │ │ │ + movne r1, #0 │ │ │ │ │ + beq.w 380 │ │ │ │ │ cmp r5, #0 │ │ │ │ │ - ble.n 27a │ │ │ │ │ + ble.w 2dc │ │ │ │ │ mov ip, r6 │ │ │ │ │ - str.w r9, [sp, #40] @ 0x28 │ │ │ │ │ mov r6, r3 │ │ │ │ │ - mov r9, r2 │ │ │ │ │ + str.w r9, [sp, #40] @ 0x28 │ │ │ │ │ mov r3, r1 │ │ │ │ │ + mov r9, r2 │ │ │ │ │ str.w fp, [sp, #56] @ 0x38 │ │ │ │ │ - movs r7, #0 │ │ │ │ │ + mov.w r7, #0 │ │ │ │ │ mov r8, r9 │ │ │ │ │ - mov fp, ip │ │ │ │ │ strd r3, r6, [sp, #32] │ │ │ │ │ + mov fp, ip │ │ │ │ │ + ldr r0, [sp, #0] │ │ │ │ │ mov r3, r8 │ │ │ │ │ mov r2, r6 │ │ │ │ │ - ldr r0, [sp, #0] │ │ │ │ │ mov r1, sl │ │ │ │ │ - adds r7, #1 │ │ │ │ │ - bl e0 │ │ │ │ │ + add.w r7, r7, #1 │ │ │ │ │ + bl 100 │ │ │ │ │ + cmp r7, r5 │ │ │ │ │ add r6, r4 │ │ │ │ │ add r8, r4 │ │ │ │ │ - cmp r7, r5 │ │ │ │ │ - bne.n 1b0 │ │ │ │ │ + bne.n 1ea │ │ │ │ │ ldrd r3, r6, [sp, #32] │ │ │ │ │ mov ip, fp │ │ │ │ │ - ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ add r9, fp │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ add r6, fp │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.n 1a6 │ │ │ │ │ + bne.n 1de │ │ │ │ │ ldr.w fp, [sp, #56] @ 0x38 │ │ │ │ │ mov r9, r2 │ │ │ │ │ mov r6, ip │ │ │ │ │ ldr r2, [sp, #4] │ │ │ │ │ - ldr r1, [sp, #44] @ 0x2c │ │ │ │ │ ldr r3, [sp, #24] │ │ │ │ │ + ldr r1, [sp, #44] @ 0x2c │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ add r2, r1 │ │ │ │ │ str r2, [sp, #4] │ │ │ │ │ ldr r2, [sp, #8] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ str r3, [sp, #24] │ │ │ │ │ add r2, r1 │ │ │ │ │ str r2, [sp, #8] │ │ │ │ │ ldr r2, [sp, #16] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.n 174 │ │ │ │ │ + bne.n 1aa │ │ │ │ │ ldr r5, [sp, #60] @ 0x3c │ │ │ │ │ - ldr r2, [sp, #52] @ 0x34 │ │ │ │ │ ldr r1, [sp, #20] │ │ │ │ │ - ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ - add r5, r2 │ │ │ │ │ + ldrd r3, r2, [sp, #48] @ 0x30 │ │ │ │ │ add r1, r2 │ │ │ │ │ + add r5, r2 │ │ │ │ │ ldr r2, [sp, #28] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str r1, [sp, #20] │ │ │ │ │ - cmp r2, r3 │ │ │ │ │ str r3, [sp, #48] @ 0x30 │ │ │ │ │ - bne.n 14a │ │ │ │ │ + cmp r2, r3 │ │ │ │ │ + bne.n 17c │ │ │ │ │ add sp, #68 @ 0x44 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - subs r6, r0, #1 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ cmp r0, #1 │ │ │ │ │ - ble.w 44a │ │ │ │ │ - lsls r7, r1, #3 │ │ │ │ │ + add.w r6, r0, #4294967295 @ 0xffffffff │ │ │ │ │ + ble.w 4e4 │ │ │ │ │ cmp r1, #1 │ │ │ │ │ + mov.w r7, r1, lsl #3 │ │ │ │ │ mov r0, r2 │ │ │ │ │ mov.w r1, #0 │ │ │ │ │ mov.w r4, #0 │ │ │ │ │ mov.w r5, #0 │ │ │ │ │ - bne.n 266 │ │ │ │ │ - adds r1, #2 │ │ │ │ │ + bne.n 2c6 │ │ │ │ │ + add.w r1, r1, #2 │ │ │ │ │ strd r4, r5, [r3], #8 │ │ │ │ │ cmp r6, r1 │ │ │ │ │ strd r4, r5, [r0], #8 │ │ │ │ │ - bgt.n 234 │ │ │ │ │ + bgt.n 28c │ │ │ │ │ ldr r1, [sp, #28] │ │ │ │ │ - subs r3, r1, #2 │ │ │ │ │ - lsrs r1, r1, #1 │ │ │ │ │ + sub.w r3, r1, #2 │ │ │ │ │ + mov.w r1, r1, lsr #1 │ │ │ │ │ bic.w r3, r3, #1 │ │ │ │ │ - adds r3, #2 │ │ │ │ │ + add.w r3, r3, #2 │ │ │ │ │ mla r2, r1, r7, r2 │ │ │ │ │ ldr r1, [sp, #28] │ │ │ │ │ cmp r1, r3 │ │ │ │ │ - ble.n 212 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + ble.n 254 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ strd r0, r1, [r2] │ │ │ │ │ - add sp, #68 @ 0x44 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - adds r1, #2 │ │ │ │ │ + b.n 254 │ │ │ │ │ + add.w r1, r1, #2 │ │ │ │ │ strd r4, r5, [r3] │ │ │ │ │ + add r3, r7 │ │ │ │ │ cmp r1, r6 │ │ │ │ │ strd r4, r5, [r0] │ │ │ │ │ - add r3, r7 │ │ │ │ │ add r0, r7 │ │ │ │ │ - blt.n 266 │ │ │ │ │ - b.n 242 │ │ │ │ │ - adds r1, #1 │ │ │ │ │ + blt.n 2c6 │ │ │ │ │ + b.n 29c │ │ │ │ │ + add.w r1, r1, #1 │ │ │ │ │ add r3, r6 │ │ │ │ │ - add r2, r6 │ │ │ │ │ cmp r9, r1 │ │ │ │ │ - bne.n 192 │ │ │ │ │ + add r2, r6 │ │ │ │ │ + bne.w 1c8 │ │ │ │ │ ldr r2, [sp, #4] │ │ │ │ │ - ldr r1, [sp, #44] @ 0x2c │ │ │ │ │ ldr r3, [sp, #24] │ │ │ │ │ + ldr r1, [sp, #44] @ 0x2c │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ add r2, r1 │ │ │ │ │ str r2, [sp, #4] │ │ │ │ │ ldr r2, [sp, #8] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ str r3, [sp, #24] │ │ │ │ │ add r2, r1 │ │ │ │ │ str r2, [sp, #8] │ │ │ │ │ ldr r2, [sp, #16] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.w 182 │ │ │ │ │ - b.n 1fa │ │ │ │ │ - mov.w lr, r7, lsr #1 │ │ │ │ │ + bne.w 1b8 │ │ │ │ │ + b.n 23a │ │ │ │ │ ldr.w r9, [sp, #20] │ │ │ │ │ - add.w lr, lr, #4294967295 @ 0xffffffff │ │ │ │ │ - subs r2, r7, #2 │ │ │ │ │ + mov.w lr, r7, lsr #1 │ │ │ │ │ + sub.w r2, r7, #2 │ │ │ │ │ bic.w r2, r2, #1 │ │ │ │ │ mov r3, r5 │ │ │ │ │ - mov r1, r9 │ │ │ │ │ + vldr d7, [pc, #464] @ 4f0 │ │ │ │ │ + add.w lr, lr, #4294967295 @ 0xffffffff │ │ │ │ │ mov ip, r5 │ │ │ │ │ - mul.w lr, r6, lr │ │ │ │ │ mov.w r8, #0 │ │ │ │ │ - subs r0, r7, #1 │ │ │ │ │ - vldr d7, [pc, #392] @ 450 │ │ │ │ │ + add.w r0, r7, #4294967295 @ 0xffffffff │ │ │ │ │ + mul.w lr, r6, lr │ │ │ │ │ add.w sl, r2, #2 │ │ │ │ │ - movs r2, #0 │ │ │ │ │ + mov r1, r9 │ │ │ │ │ cmp r7, #1 │ │ │ │ │ - ble.n 2ec │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ + ble.n 35c │ │ │ │ │ cmp r4, #1 │ │ │ │ │ - bne.n 3a6 │ │ │ │ │ - adds r2, #2 │ │ │ │ │ + bne.n 42a │ │ │ │ │ + add.w r2, r2, #2 │ │ │ │ │ vstmia r1!, {d7} │ │ │ │ │ cmp r0, r2 │ │ │ │ │ vstmia r3!, {d7} │ │ │ │ │ - bgt.n 2d6 │ │ │ │ │ + bgt.n 344 │ │ │ │ │ add.w r3, r6, ip │ │ │ │ │ mov r2, sl │ │ │ │ │ add r3, lr │ │ │ │ │ cmp r7, r2 │ │ │ │ │ - ble.n 2f8 │ │ │ │ │ - vldr d6, [pc, #348] @ 450 │ │ │ │ │ + ble.n 368 │ │ │ │ │ + vldr d6, [pc, #396] @ 4f0 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ add.w r8, r8, #1 │ │ │ │ │ add ip, r3 │ │ │ │ │ add r9, r3 │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ cmp r3, r8 │ │ │ │ │ - beq.w 1fc │ │ │ │ │ + beq.w 23c │ │ │ │ │ mov r3, ip │ │ │ │ │ mov r1, r9 │ │ │ │ │ - b.n 2cc │ │ │ │ │ - subs r2, r5, #2 │ │ │ │ │ - ldr r7, [sp, #4] │ │ │ │ │ + b.n 338 │ │ │ │ │ + sub.w r2, r5, #2 │ │ │ │ │ + ldrd r7, r8, [sp, #4] │ │ │ │ │ + mov.w ip, #0 │ │ │ │ │ bic.w r2, r2, #1 │ │ │ │ │ - ldr.w r8, [sp, #8] │ │ │ │ │ - adds r2, #2 │ │ │ │ │ + add.w r0, r5, #4294967295 @ 0xffffffff │ │ │ │ │ + add.w r2, r2, #2 │ │ │ │ │ + vldr d7, [pc, #340] @ 4f0 │ │ │ │ │ str r2, [sp, #32] │ │ │ │ │ - lsrs r2, r5, #1 │ │ │ │ │ + mov.w r2, r5, lsr #1 │ │ │ │ │ mov r3, r7 │ │ │ │ │ - subs r2, #1 │ │ │ │ │ mov r1, r8 │ │ │ │ │ - mov.w ip, #0 │ │ │ │ │ - subs r0, r5, #1 │ │ │ │ │ - vldr d7, [pc, #288] @ 450 │ │ │ │ │ + add.w r2, r2, #4294967295 @ 0xffffffff │ │ │ │ │ mul.w r2, r4, r2 │ │ │ │ │ str r2, [sp, #36] @ 0x24 │ │ │ │ │ - movs r2, #0 │ │ │ │ │ cmp r5, #1 │ │ │ │ │ - ble.n 35a │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ + ble.n 3d8 │ │ │ │ │ cmp.w lr, #1 │ │ │ │ │ - bne.n 38e │ │ │ │ │ - adds r2, #2 │ │ │ │ │ + bne.n 410 │ │ │ │ │ + add.w r2, r2, #2 │ │ │ │ │ vstmia r1!, {d7} │ │ │ │ │ cmp r0, r2 │ │ │ │ │ vstmia r3!, {d7} │ │ │ │ │ - bgt.n 344 │ │ │ │ │ - ldr r1, [sp, #36] @ 0x24 │ │ │ │ │ - adds r3, r4, r7 │ │ │ │ │ - ldr r2, [sp, #32] │ │ │ │ │ + bgt.n 3be │ │ │ │ │ + ldrd r2, r1, [sp, #32] │ │ │ │ │ + add.w r3, r4, r7 │ │ │ │ │ add r3, r1 │ │ │ │ │ cmp r5, r2 │ │ │ │ │ - ble.n 362 │ │ │ │ │ + ble.n 3e0 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ add.w ip, ip, #1 │ │ │ │ │ add r7, r6 │ │ │ │ │ - add r8, r6 │ │ │ │ │ cmp r9, ip │ │ │ │ │ - beq.n 284 │ │ │ │ │ + add r8, r6 │ │ │ │ │ + beq.w 2ea │ │ │ │ │ mov r3, r7 │ │ │ │ │ mov r1, r8 │ │ │ │ │ - b.n 338 │ │ │ │ │ - ldr r2, [sp, #52] @ 0x34 │ │ │ │ │ + b.n 3b0 │ │ │ │ │ ldr r0, [sp, #20] │ │ │ │ │ - ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ - add r1, r2 │ │ │ │ │ + ldrd r3, r2, [sp, #48] @ 0x30 │ │ │ │ │ add r0, r2 │ │ │ │ │ + add r1, r2 │ │ │ │ │ ldr r2, [sp, #28] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str r0, [sp, #20] │ │ │ │ │ - cmp r2, r3 │ │ │ │ │ str r3, [sp, #48] @ 0x30 │ │ │ │ │ - bne.w 13a │ │ │ │ │ - b.n 212 │ │ │ │ │ - vldr d6, [pc, #192] @ 450 │ │ │ │ │ - adds r2, #2 │ │ │ │ │ + cmp r2, r3 │ │ │ │ │ + bne.w 16c │ │ │ │ │ + b.n 254 │ │ │ │ │ + vldr d6, [pc, #220] @ 4f0 │ │ │ │ │ + add.w r2, r2, #2 │ │ │ │ │ vstr d6, [r1] │ │ │ │ │ + add r1, r4 │ │ │ │ │ cmp r2, r0 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ - add r1, r4 │ │ │ │ │ add r3, r4 │ │ │ │ │ - blt.n 392 │ │ │ │ │ - b.n 352 │ │ │ │ │ - vldr d6, [pc, #168] @ 450 │ │ │ │ │ - adds r2, #2 │ │ │ │ │ + blt.n 414 │ │ │ │ │ + b.n 3ce │ │ │ │ │ + vldr d6, [pc, #196] @ 4f0 │ │ │ │ │ + add.w r2, r2, #2 │ │ │ │ │ vstr d6, [r1] │ │ │ │ │ + add r1, r6 │ │ │ │ │ cmp r0, r2 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ - add r1, r6 │ │ │ │ │ add r3, r6 │ │ │ │ │ - bgt.n 3aa │ │ │ │ │ - b.n 2e4 │ │ │ │ │ + bgt.n 42e │ │ │ │ │ + b.n 354 │ │ │ │ │ ldr r0, [sp, #16] │ │ │ │ │ - movs r6, #0 │ │ │ │ │ + mov.w r6, #0 │ │ │ │ │ mov.w r8, #0 │ │ │ │ │ mov.w r9, #0 │ │ │ │ │ - subs r4, r0, #1 │ │ │ │ │ - str r4, [sp, #0] │ │ │ │ │ - lsrs r7, r0, #1 │ │ │ │ │ - lsls r4, r5, #3 │ │ │ │ │ - subs r7, #1 │ │ │ │ │ + mov sl, r3 │ │ │ │ │ + add.w r4, r0, #4294967295 @ 0xffffffff │ │ │ │ │ + mov.w r7, r0, lsr #1 │ │ │ │ │ sub.w ip, r0, #2 │ │ │ │ │ bic.w ip, ip, #1 │ │ │ │ │ mov fp, r0 │ │ │ │ │ - mov lr, r4 │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ + mov.w r4, r5, lsl #3 │ │ │ │ │ + add.w r7, r7, #4294967295 @ 0xffffffff │ │ │ │ │ add.w ip, ip, #2 │ │ │ │ │ + mov lr, r4 │ │ │ │ │ mul.w r7, r4, r7 │ │ │ │ │ ldr r4, [sp, #0] │ │ │ │ │ - mov sl, r3 │ │ │ │ │ mov r0, r7 │ │ │ │ │ mov r7, r5 │ │ │ │ │ mov r5, r0 │ │ │ │ │ cmp.w fp, #1 │ │ │ │ │ - ble.n 446 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + ble.n 4de │ │ │ │ │ cmp r7, #1 │ │ │ │ │ - bne.n 432 │ │ │ │ │ - adds r0, #2 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + bne.n 4c8 │ │ │ │ │ + add.w r0, r0, #2 │ │ │ │ │ strd r8, r9, [r3], #8 │ │ │ │ │ cmp r4, r0 │ │ │ │ │ strd r8, r9, [r2], #8 │ │ │ │ │ - bgt.n 3fe │ │ │ │ │ + bgt.n 490 │ │ │ │ │ add.w r2, lr, r1 │ │ │ │ │ mov r3, ip │ │ │ │ │ add r2, r5 │ │ │ │ │ cmp fp, r3 │ │ │ │ │ - ble.n 41c │ │ │ │ │ + ble.n 4b0 │ │ │ │ │ strd r8, r9, [r2] │ │ │ │ │ ldr r3, [sp, #52] @ 0x34 │ │ │ │ │ - adds r6, #1 │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ add r1, r3 │ │ │ │ │ add sl, r3 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ cmp r3, r6 │ │ │ │ │ - beq.w 212 │ │ │ │ │ + beq.w 254 │ │ │ │ │ mov r2, r1 │ │ │ │ │ mov r3, sl │ │ │ │ │ - b.n 3f2 │ │ │ │ │ - adds r0, #2 │ │ │ │ │ + b.n 482 │ │ │ │ │ + add.w r0, r0, #2 │ │ │ │ │ strd r8, r9, [r3] │ │ │ │ │ + add r3, lr │ │ │ │ │ cmp r0, r4 │ │ │ │ │ strd r8, r9, [r2] │ │ │ │ │ - add r3, lr │ │ │ │ │ add r2, lr │ │ │ │ │ - blt.n 432 │ │ │ │ │ - b.n 40c │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - b.n 414 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - b.n 252 │ │ │ │ │ + blt.n 4c8 │ │ │ │ │ + b.n 4a0 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + b.n 4a8 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + b.n 2b2 │ │ │ │ │ nop │ │ │ │ │ + nop.w │ │ │ │ │ ... │ │ │ │ │ │ │ │ │ │ -00000458 : │ │ │ │ │ +000004f8 : │ │ │ │ │ vrecur(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r6, r2 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + sub sp, #196 @ 0xc4 │ │ │ │ │ mov lr, r0 │ │ │ │ │ mov r0, r1 │ │ │ │ │ - sub sp, #196 @ 0xc4 │ │ │ │ │ - mov r6, r2 │ │ │ │ │ + ldr r2, [sp, #232] @ 0xe8 │ │ │ │ │ str r1, [sp, #12] │ │ │ │ │ mvn.w r1, #2147483648 @ 0x80000000 │ │ │ │ │ - str r3, [sp, #72] @ 0x48 │ │ │ │ │ cmp r0, r1 │ │ │ │ │ - ldrd r2, r3, [sp, #232] @ 0xe8 │ │ │ │ │ - beq.w 6f8 │ │ │ │ │ + str r3, [sp, #72] @ 0x48 │ │ │ │ │ + ldr r3, [sp, #236] @ 0xec │ │ │ │ │ + beq.w 7bc │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 776 │ │ │ │ │ - ble.w 6f8 │ │ │ │ │ + beq.w 852 │ │ │ │ │ + ble.w 7bc │ │ │ │ │ ldr.w ip, [lr] │ │ │ │ │ cmp.w ip, #0 │ │ │ │ │ - ble.w 6f8 │ │ │ │ │ + ble.w 7bc │ │ │ │ │ ldr.w r1, [lr, #4] │ │ │ │ │ mov r9, r2 │ │ │ │ │ mov r8, r3 │ │ │ │ │ - lsls r1, r1, #3 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ str r1, [sp, #156] @ 0x9c │ │ │ │ │ ldr r1, [sp, #12] │ │ │ │ │ cmp r1, #1 │ │ │ │ │ - beq.w 902 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + beq.w a04 │ │ │ │ │ add.w r3, lr, #108 @ 0x6c │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + mov r7, r8 │ │ │ │ │ str r3, [sp, #76] @ 0x4c │ │ │ │ │ mov r3, r0 │ │ │ │ │ - mov r7, r8 │ │ │ │ │ mov r0, r2 │ │ │ │ │ mov r9, r3 │ │ │ │ │ str r6, [sp, #96] @ 0x60 │ │ │ │ │ ldr.w r3, [lr, #12] │ │ │ │ │ - str r3, [sp, #136] @ 0x88 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.w 6e8 │ │ │ │ │ + str r3, [sp, #136] @ 0x88 │ │ │ │ │ + ble.w 7ac │ │ │ │ │ ldr.w r3, [lr, #16] │ │ │ │ │ mov.w sl, r3, lsl #3 │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ cmp r3, #2 │ │ │ │ │ - beq.w 8a8 │ │ │ │ │ + beq.w 9a6 │ │ │ │ │ mov r8, sl │ │ │ │ │ mov.w fp, #0 │ │ │ │ │ - mov sl, r0 │ │ │ │ │ strd ip, r0, [sp, #176] @ 0xb0 │ │ │ │ │ + mov sl, r0 │ │ │ │ │ strd r7, r9, [sp, #184] @ 0xb8 │ │ │ │ │ ldr.w r3, [lr, #24] │ │ │ │ │ - str r3, [sp, #116] @ 0x74 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.w 6d0 │ │ │ │ │ + str r3, [sp, #116] @ 0x74 │ │ │ │ │ + ble.w 794 │ │ │ │ │ ldr.w r3, [lr, #28] │ │ │ │ │ mov.w r9, r3, lsl #3 │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ cmp r3, #3 │ │ │ │ │ - beq.w 850 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - mov r3, r7 │ │ │ │ │ + beq.w 94c │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ mov ip, r9 │ │ │ │ │ - str r7, [sp, #172] @ 0xac │ │ │ │ │ - mov r9, r3 │ │ │ │ │ + strd r8, fp, [sp, #160] @ 0xa0 │ │ │ │ │ + mov r9, r7 │ │ │ │ │ + strd sl, r7, [sp, #168] @ 0xa8 │ │ │ │ │ mov r7, r0 │ │ │ │ │ mov r0, sl │ │ │ │ │ - str.w r8, [sp, #160] @ 0xa0 │ │ │ │ │ - strd fp, sl, [sp, #164] @ 0xa4 │ │ │ │ │ ldr.w r3, [lr, #36] @ 0x24 │ │ │ │ │ - str r3, [sp, #92] @ 0x5c │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.w 6ba │ │ │ │ │ + str r3, [sp, #92] @ 0x5c │ │ │ │ │ + ble.w 77c │ │ │ │ │ ldr.w r3, [lr, #40] @ 0x28 │ │ │ │ │ mov.w r8, r3, lsl #3 │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ cmp r3, #4 │ │ │ │ │ - beq.w 808 │ │ │ │ │ + beq.w 900 │ │ │ │ │ mov.w sl, #0 │ │ │ │ │ mov r1, r8 │ │ │ │ │ strd ip, r7, [sp, #140] @ 0x8c │ │ │ │ │ mov fp, r9 │ │ │ │ │ mov r7, r0 │ │ │ │ │ - mov r8, sl │ │ │ │ │ strd r0, r9, [sp, #148] @ 0x94 │ │ │ │ │ + mov r8, sl │ │ │ │ │ ldr.w r3, [lr, #48] @ 0x30 │ │ │ │ │ - str r3, [sp, #68] @ 0x44 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.w 6a2 │ │ │ │ │ + str r3, [sp, #68] @ 0x44 │ │ │ │ │ + ble.w 764 │ │ │ │ │ ldr.w r3, [lr, #52] @ 0x34 │ │ │ │ │ mov.w r9, r3, lsl #3 │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ cmp r3, #5 │ │ │ │ │ - beq.w 7c6 │ │ │ │ │ + beq.w 8ba │ │ │ │ │ mov.w sl, #0 │ │ │ │ │ mov ip, r7 │ │ │ │ │ - str r7, [sp, #128] @ 0x80 │ │ │ │ │ + strd r1, r8, [sp, #120] @ 0x78 │ │ │ │ │ mov r0, r9 │ │ │ │ │ + strd r7, fp, [sp, #128] @ 0x80 │ │ │ │ │ mov r7, sl │ │ │ │ │ mov sl, fp │ │ │ │ │ - strd r1, r8, [sp, #120] @ 0x78 │ │ │ │ │ - str.w fp, [sp, #132] @ 0x84 │ │ │ │ │ ldr.w r3, [lr, #60] @ 0x3c │ │ │ │ │ - str r3, [sp, #48] @ 0x30 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.w 68c │ │ │ │ │ + str r3, [sp, #48] @ 0x30 │ │ │ │ │ + ble.w 74c │ │ │ │ │ ldr.w r3, [lr, #64] @ 0x40 │ │ │ │ │ mov.w r8, r3, lsl #3 │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ cmp r3, #6 │ │ │ │ │ - beq.w 782 │ │ │ │ │ - mov r1, sl │ │ │ │ │ - str.w sl, [sp, #112] @ 0x70 │ │ │ │ │ + beq.w 870 │ │ │ │ │ ldr.w fp, [sp, #96] @ 0x60 │ │ │ │ │ + mov r1, sl │ │ │ │ │ mov.w r9, #0 │ │ │ │ │ + str.w r8, [sp, #52] @ 0x34 │ │ │ │ │ + strd ip, sl, [sp, #108] @ 0x6c │ │ │ │ │ ldr.w sl, [sp, #72] @ 0x48 │ │ │ │ │ - str r0, [sp, #100] @ 0x64 │ │ │ │ │ + strd r0, r7, [sp, #100] @ 0x64 │ │ │ │ │ mov r0, ip │ │ │ │ │ - str.w r8, [sp, #52] @ 0x34 │ │ │ │ │ - strd r7, ip, [sp, #104] @ 0x68 │ │ │ │ │ ldr.w r3, [lr, #72] @ 0x48 │ │ │ │ │ - str r3, [sp, #40] @ 0x28 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.n 674 │ │ │ │ │ + str r3, [sp, #40] @ 0x28 │ │ │ │ │ + ble.n 734 │ │ │ │ │ ldr.w r3, [lr, #76] @ 0x4c │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ str r3, [sp, #44] @ 0x2c │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ cmp r3, #7 │ │ │ │ │ - beq.w 738 │ │ │ │ │ + beq.w 812 │ │ │ │ │ + sub.w r3, r3, #9 │ │ │ │ │ mov r8, r1 │ │ │ │ │ mov ip, r0 │ │ │ │ │ - movs r7, #0 │ │ │ │ │ - subs r3, #9 │ │ │ │ │ - strd r9, r0, [sp, #80] @ 0x50 │ │ │ │ │ + mov.w r7, #0 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ + strd r9, r0, [sp, #80] @ 0x50 │ │ │ │ │ str r1, [sp, #88] @ 0x58 │ │ │ │ │ ldr.w r1, [lr, #84] @ 0x54 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - ble.n 660 │ │ │ │ │ + ble.n 71e │ │ │ │ │ ldr.w r3, [lr, #88] @ 0x58 │ │ │ │ │ mov.w r9, r3, lsl #3 │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ cmp r3, #8 │ │ │ │ │ - beq.w 6fe │ │ │ │ │ + beq.w 7d4 │ │ │ │ │ str r1, [sp, #36] @ 0x24 │ │ │ │ │ mov r1, r9 │ │ │ │ │ - ldr.w r9, [sp, #76] @ 0x4c │ │ │ │ │ mov r0, ip │ │ │ │ │ + ldr.w r9, [sp, #76] @ 0x4c │ │ │ │ │ mov r2, r8 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - str.w r8, [sp, #56] @ 0x38 │ │ │ │ │ - strd r7, ip, [sp, #60] @ 0x3c │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + strd r8, r7, [sp, #56] @ 0x38 │ │ │ │ │ + str.w ip, [sp, #64] @ 0x40 │ │ │ │ │ ldr.w r8, [lr, #96] @ 0x60 │ │ │ │ │ cmp.w r8, #0 │ │ │ │ │ - ble.n 64c │ │ │ │ │ + ble.n 708 │ │ │ │ │ ldr.w r7, [lr, #100] @ 0x64 │ │ │ │ │ mov r6, r2 │ │ │ │ │ mov r5, r0 │ │ │ │ │ - movs r4, #0 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ strd r1, r0, [sp, #16] │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ strd r2, r3, [sp, #24] │ │ │ │ │ str.w lr, [sp, #32] │ │ │ │ │ - strd r5, r6, [sp] │ │ │ │ │ - mov r3, sl │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ ldr r1, [sp, #8] │ │ │ │ │ + mov r3, sl │ │ │ │ │ mov r2, fp │ │ │ │ │ mov r0, r9 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - bl 458 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + strd r5, r6, [sp] │ │ │ │ │ + bl 4f8 │ │ │ │ │ + cmp r8, r4 │ │ │ │ │ add r5, r7 │ │ │ │ │ add r6, r7 │ │ │ │ │ - cmp r8, r4 │ │ │ │ │ - bne.n 626 │ │ │ │ │ + bne.n 6e0 │ │ │ │ │ ldrd r1, r0, [sp, #16] │ │ │ │ │ ldrd r2, r3, [sp, #24] │ │ │ │ │ ldr.w lr, [sp, #32] │ │ │ │ │ - ldr r4, [sp, #36] @ 0x24 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ add r0, r1 │ │ │ │ │ + ldr r4, [sp, #36] @ 0x24 │ │ │ │ │ add r2, r1 │ │ │ │ │ cmp r4, r3 │ │ │ │ │ - bne.n 604 │ │ │ │ │ + bne.n 6ba │ │ │ │ │ ldrd r8, r7, [sp, #56] @ 0x38 │ │ │ │ │ ldr.w ip, [sp, #64] @ 0x40 │ │ │ │ │ + add.w r7, r7, #1 │ │ │ │ │ ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ - adds r7, #1 │ │ │ │ │ add ip, r3 │ │ │ │ │ add r8, r3 │ │ │ │ │ ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ cmp r3, r7 │ │ │ │ │ - bne.n 5d6 │ │ │ │ │ + bne.n 68a │ │ │ │ │ ldrd r9, r0, [sp, #80] @ 0x50 │ │ │ │ │ ldr r1, [sp, #88] @ 0x58 │ │ │ │ │ - ldr r3, [sp, #52] @ 0x34 │ │ │ │ │ add.w r9, r9, #1 │ │ │ │ │ + ldr r3, [sp, #52] @ 0x34 │ │ │ │ │ add r0, r3 │ │ │ │ │ add r1, r3 │ │ │ │ │ ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ cmp r3, r9 │ │ │ │ │ - bne.n 5ac │ │ │ │ │ + bne.n 65a │ │ │ │ │ ldrd r0, r7, [sp, #100] @ 0x64 │ │ │ │ │ ldrd ip, sl, [sp, #108] @ 0x6c │ │ │ │ │ - adds r7, #1 │ │ │ │ │ - ldr r3, [sp, #68] @ 0x44 │ │ │ │ │ + add.w r7, r7, #1 │ │ │ │ │ add ip, r0 │ │ │ │ │ + ldr r3, [sp, #68] @ 0x44 │ │ │ │ │ add sl, r0 │ │ │ │ │ cmp r3, r7 │ │ │ │ │ - bne.w 572 │ │ │ │ │ + bne.w 622 │ │ │ │ │ ldrd r1, r8, [sp, #120] @ 0x78 │ │ │ │ │ ldrd r7, fp, [sp, #128] @ 0x80 │ │ │ │ │ add.w r8, r8, #1 │ │ │ │ │ - ldr r3, [sp, #92] @ 0x5c │ │ │ │ │ add r7, r1 │ │ │ │ │ + ldr r3, [sp, #92] @ 0x5c │ │ │ │ │ add fp, r1 │ │ │ │ │ cmp r3, r8 │ │ │ │ │ - bne.w 540 │ │ │ │ │ + bne.w 5f2 │ │ │ │ │ ldrd ip, r7, [sp, #140] @ 0x8c │ │ │ │ │ ldrd r0, r9, [sp, #148] @ 0x94 │ │ │ │ │ - adds r7, #1 │ │ │ │ │ - ldr r3, [sp, #116] @ 0x74 │ │ │ │ │ + add.w r7, r7, #1 │ │ │ │ │ add r0, ip │ │ │ │ │ + ldr r3, [sp, #116] @ 0x74 │ │ │ │ │ add r9, ip │ │ │ │ │ cmp r3, r7 │ │ │ │ │ - bne.w 510 │ │ │ │ │ + bne.w 5c2 │ │ │ │ │ ldrd r8, fp, [sp, #160] @ 0xa0 │ │ │ │ │ ldrd sl, r7, [sp, #168] @ 0xa8 │ │ │ │ │ add.w fp, fp, #1 │ │ │ │ │ - ldr r3, [sp, #136] @ 0x88 │ │ │ │ │ add sl, r8 │ │ │ │ │ + ldr r3, [sp, #136] @ 0x88 │ │ │ │ │ add r7, r8 │ │ │ │ │ cmp r3, fp │ │ │ │ │ - bne.w 4de │ │ │ │ │ + bne.w 592 │ │ │ │ │ ldrd ip, r0, [sp, #176] @ 0xb0 │ │ │ │ │ ldrd r7, r9, [sp, #184] @ 0xb8 │ │ │ │ │ add.w r9, r9, #1 │ │ │ │ │ ldr r3, [sp, #156] @ 0x9c │ │ │ │ │ cmp ip, r9 │ │ │ │ │ add r0, r3 │ │ │ │ │ add r7, r3 │ │ │ │ │ - bne.w 4b2 │ │ │ │ │ + bne.w 566 │ │ │ │ │ add sp, #196 @ 0xc4 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - strd r8, r7, [sp, #16] │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ mov r3, r8 │ │ │ │ │ mov r5, r8 │ │ │ │ │ + strd r8, r7, [sp, #16] │ │ │ │ │ mov r2, ip │ │ │ │ │ mov r6, ip │ │ │ │ │ - movs r4, #0 │ │ │ │ │ + str.w ip, [sp, #24] │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ mov r7, r1 │ │ │ │ │ mov r8, lr │ │ │ │ │ - str.w ip, [sp, #24] │ │ │ │ │ mov r1, sl │ │ │ │ │ mov r0, fp │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - bl e0 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ add r6, r9 │ │ │ │ │ - add r5, r9 │ │ │ │ │ + bl 100 │ │ │ │ │ cmp r7, r4 │ │ │ │ │ - beq.n 72c │ │ │ │ │ + add r5, r9 │ │ │ │ │ + beq.n 806 │ │ │ │ │ mov r2, r6 │ │ │ │ │ mov r3, r5 │ │ │ │ │ - b.n 714 │ │ │ │ │ + b.n 7ec │ │ │ │ │ + ldr.w ip, [sp, #24] │ │ │ │ │ mov lr, r8 │ │ │ │ │ - ldr.w r8, [sp, #16] │ │ │ │ │ - ldrd r7, ip, [sp, #20] │ │ │ │ │ - b.n 660 │ │ │ │ │ - ldr.w r8, [sp, #40] @ 0x28 │ │ │ │ │ + ldrd r8, r7, [sp, #16] │ │ │ │ │ + b.n 71e │ │ │ │ │ + ldrd r8, r7, [sp, #40] @ 0x28 │ │ │ │ │ mov r2, r0 │ │ │ │ │ - ldr r7, [sp, #44] @ 0x2c │ │ │ │ │ mov r3, r1 │ │ │ │ │ - str.w r9, [sp, #8] │ │ │ │ │ mov r6, r1 │ │ │ │ │ mov r5, r0 │ │ │ │ │ - movs r4, #0 │ │ │ │ │ + str.w r9, [sp, #8] │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ mov r9, lr │ │ │ │ │ strd r0, r1, [sp, #16] │ │ │ │ │ mov r1, sl │ │ │ │ │ mov r0, fp │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - bl e0 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ add r5, r7 │ │ │ │ │ - add r6, r7 │ │ │ │ │ + bl 100 │ │ │ │ │ cmp r4, r8 │ │ │ │ │ - beq.n 76a │ │ │ │ │ + add r6, r7 │ │ │ │ │ + beq.n 846 │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r3, r6 │ │ │ │ │ - b.n 752 │ │ │ │ │ + b.n 82c │ │ │ │ │ + ldrd r0, r1, [sp, #16] │ │ │ │ │ mov lr, r9 │ │ │ │ │ ldr.w r9, [sp, #8] │ │ │ │ │ - ldrd r0, r1, [sp, #16] │ │ │ │ │ - b.n 674 │ │ │ │ │ + b.n 734 │ │ │ │ │ ldr r1, [sp, #72] @ 0x48 │ │ │ │ │ mov r0, r6 │ │ │ │ │ add sp, #196 @ 0xc4 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - b.n e0 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ + b.n 100 │ │ │ │ │ + ldr.w r9, [sp, #96] @ 0x60 │ │ │ │ │ mov r3, sl │ │ │ │ │ mov r6, sl │ │ │ │ │ - str r7, [sp, #16] │ │ │ │ │ mov r2, ip │ │ │ │ │ - strd ip, sl, [sp, #20] │ │ │ │ │ mov r5, ip │ │ │ │ │ - ldr r7, [sp, #48] @ 0x30 │ │ │ │ │ - movs r4, #0 │ │ │ │ │ - ldr.w r9, [sp, #96] @ 0x60 │ │ │ │ │ + str r0, [sp, #8] │ │ │ │ │ + strd r7, ip, [sp, #16] │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ mov fp, lr │ │ │ │ │ + ldr r7, [sp, #48] @ 0x30 │ │ │ │ │ + str.w sl, [sp, #24] │ │ │ │ │ ldr.w sl, [sp, #72] @ 0x48 │ │ │ │ │ - str r0, [sp, #8] │ │ │ │ │ mov r1, sl │ │ │ │ │ mov r0, r9 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - bl e0 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ add r5, r8 │ │ │ │ │ - add r6, r8 │ │ │ │ │ + bl 100 │ │ │ │ │ cmp r4, r7 │ │ │ │ │ - beq.n 7b8 │ │ │ │ │ + add r6, r8 │ │ │ │ │ + beq.n 8ac │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r3, r6 │ │ │ │ │ - b.n 7a0 │ │ │ │ │ + b.n 892 │ │ │ │ │ ldr r0, [sp, #8] │ │ │ │ │ mov lr, fp │ │ │ │ │ ldrd r7, ip, [sp, #16] │ │ │ │ │ ldr.w sl, [sp, #24] │ │ │ │ │ - b.n 68c │ │ │ │ │ + b.n 74c │ │ │ │ │ + ldr.w sl, [sp, #72] @ 0x48 │ │ │ │ │ mov r2, r7 │ │ │ │ │ mov r5, r7 │ │ │ │ │ - str.w r8, [sp, #16] │ │ │ │ │ mov r3, fp │ │ │ │ │ - strd r7, lr, [sp, #20] │ │ │ │ │ mov r6, fp │ │ │ │ │ + str r1, [sp, #8] │ │ │ │ │ + strd r8, r7, [sp, #16] │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ ldr.w r8, [sp, #68] @ 0x44 │ │ │ │ │ - movs r4, #0 │ │ │ │ │ + str.w lr, [sp, #24] │ │ │ │ │ ldr r7, [sp, #96] @ 0x60 │ │ │ │ │ - ldr.w sl, [sp, #72] @ 0x48 │ │ │ │ │ - str r1, [sp, #8] │ │ │ │ │ mov r1, sl │ │ │ │ │ mov r0, r7 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - bl e0 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ add r5, r9 │ │ │ │ │ - add r6, r9 │ │ │ │ │ + bl 100 │ │ │ │ │ cmp r8, r4 │ │ │ │ │ - beq.n 7fc │ │ │ │ │ + add r6, r9 │ │ │ │ │ + beq.n 8f4 │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r3, r6 │ │ │ │ │ - b.n 7e4 │ │ │ │ │ + b.n 8da │ │ │ │ │ ldr r1, [sp, #8] │ │ │ │ │ ldrd r8, r7, [sp, #16] │ │ │ │ │ ldr.w lr, [sp, #24] │ │ │ │ │ - b.n 6a2 │ │ │ │ │ + b.n 764 │ │ │ │ │ + ldr.w sl, [sp, #72] @ 0x48 │ │ │ │ │ mov r3, r9 │ │ │ │ │ mov r6, r9 │ │ │ │ │ - str r7, [sp, #16] │ │ │ │ │ mov r2, r0 │ │ │ │ │ - strd r0, r9, [sp, #20] │ │ │ │ │ mov r5, r0 │ │ │ │ │ - ldr r7, [sp, #92] @ 0x5c │ │ │ │ │ - movs r4, #0 │ │ │ │ │ - ldr.w r9, [sp, #96] @ 0x60 │ │ │ │ │ - mov fp, lr │ │ │ │ │ - ldr.w sl, [sp, #72] @ 0x48 │ │ │ │ │ str.w ip, [sp, #8] │ │ │ │ │ + strd r7, r0, [sp, #16] │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ + mov fp, lr │ │ │ │ │ + str.w r9, [sp, #24] │ │ │ │ │ + ldrd r7, r9, [sp, #92] @ 0x5c │ │ │ │ │ mov r1, sl │ │ │ │ │ mov r0, r9 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - bl e0 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ add r5, r8 │ │ │ │ │ - add r6, r8 │ │ │ │ │ + bl 100 │ │ │ │ │ cmp r7, r4 │ │ │ │ │ - beq.n 840 │ │ │ │ │ + add r6, r8 │ │ │ │ │ + beq.n 93c │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r3, r6 │ │ │ │ │ - b.n 828 │ │ │ │ │ + b.n 922 │ │ │ │ │ ldr.w ip, [sp, #8] │ │ │ │ │ mov lr, fp │ │ │ │ │ ldrd r7, r0, [sp, #16] │ │ │ │ │ ldr.w r9, [sp, #24] │ │ │ │ │ - b.n 6ba │ │ │ │ │ - strd fp, sl, [sp, #16] │ │ │ │ │ + b.n 77c │ │ │ │ │ mov r2, sl │ │ │ │ │ mov r3, r7 │ │ │ │ │ - mov r6, r7 │ │ │ │ │ - mov r5, sl │ │ │ │ │ str.w r8, [sp, #8] │ │ │ │ │ - str r7, [sp, #24] │ │ │ │ │ - movs r4, #0 │ │ │ │ │ ldr.w r8, [sp, #116] @ 0x74 │ │ │ │ │ + mov r6, r7 │ │ │ │ │ + mov r5, sl │ │ │ │ │ + strd fp, sl, [sp, #16] │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ mov fp, lr │ │ │ │ │ - ldr r7, [sp, #96] @ 0x60 │ │ │ │ │ ldr.w sl, [sp, #72] @ 0x48 │ │ │ │ │ + str r7, [sp, #24] │ │ │ │ │ + ldr r7, [sp, #96] @ 0x60 │ │ │ │ │ mov r1, sl │ │ │ │ │ mov r0, r7 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - bl e0 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ add r5, r9 │ │ │ │ │ - add r6, r9 │ │ │ │ │ + bl 100 │ │ │ │ │ cmp r8, r4 │ │ │ │ │ - beq.n 888 │ │ │ │ │ + add r6, r9 │ │ │ │ │ + beq.n 988 │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r3, r6 │ │ │ │ │ - b.n 870 │ │ │ │ │ - ldrd sl, r7, [sp, #20] │ │ │ │ │ + b.n 96e │ │ │ │ │ mov lr, fp │ │ │ │ │ - ldr.w fp, [sp, #16] │ │ │ │ │ ldr.w r8, [sp, #8] │ │ │ │ │ + ldrd fp, sl, [sp, #16] │ │ │ │ │ ldr r3, [sp, #136] @ 0x88 │ │ │ │ │ + ldr r7, [sp, #24] │ │ │ │ │ add.w fp, fp, #1 │ │ │ │ │ add sl, r8 │ │ │ │ │ - add r7, r8 │ │ │ │ │ cmp r3, fp │ │ │ │ │ - bne.w 4de │ │ │ │ │ - b.n 6e0 │ │ │ │ │ + add r7, r8 │ │ │ │ │ + bne.w 592 │ │ │ │ │ + b.n 7a4 │ │ │ │ │ + ldr.w r8, [sp, #136] @ 0x88 │ │ │ │ │ mov r3, r7 │ │ │ │ │ mov r6, r7 │ │ │ │ │ - strd r0, r7, [sp, #16] │ │ │ │ │ mov r2, r0 │ │ │ │ │ - str.w r9, [sp, #24] │ │ │ │ │ mov r5, r0 │ │ │ │ │ - ldr.w r8, [sp, #136] @ 0x88 │ │ │ │ │ - movs r4, #0 │ │ │ │ │ - ldr r7, [sp, #96] @ 0x60 │ │ │ │ │ + str.w ip, [sp, #8] │ │ │ │ │ + strd r0, r7, [sp, #16] │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ mov fp, lr │ │ │ │ │ + ldr r7, [sp, #96] @ 0x60 │ │ │ │ │ + str.w r9, [sp, #24] │ │ │ │ │ ldr.w r9, [sp, #72] @ 0x48 │ │ │ │ │ - str.w ip, [sp, #8] │ │ │ │ │ mov r1, r9 │ │ │ │ │ mov r0, r7 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - bl e0 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ add r5, sl │ │ │ │ │ - add r6, sl │ │ │ │ │ + bl 100 │ │ │ │ │ cmp r8, r4 │ │ │ │ │ - beq.n 8e2 │ │ │ │ │ + add r6, sl │ │ │ │ │ + beq.n 9e4 │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r3, r6 │ │ │ │ │ - b.n 8ca │ │ │ │ │ - ldrd r0, r7, [sp, #16] │ │ │ │ │ + b.n 9ca │ │ │ │ │ + ldr.w ip, [sp, #8] │ │ │ │ │ mov lr, fp │ │ │ │ │ ldr.w r9, [sp, #24] │ │ │ │ │ + ldrd r0, r7, [sp, #16] │ │ │ │ │ ldr r3, [sp, #156] @ 0x9c │ │ │ │ │ - ldr.w ip, [sp, #8] │ │ │ │ │ add.w r9, r9, #1 │ │ │ │ │ + cmp ip, r9 │ │ │ │ │ add r0, r3 │ │ │ │ │ add r7, r3 │ │ │ │ │ - cmp ip, r9 │ │ │ │ │ - bne.w 4b2 │ │ │ │ │ - b.n 6f8 │ │ │ │ │ - ldr r5, [sp, #156] @ 0x9c │ │ │ │ │ - movs r4, #0 │ │ │ │ │ + bne.w 566 │ │ │ │ │ + b.n 7bc │ │ │ │ │ ldr.w sl, [sp, #72] @ 0x48 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ mov r7, ip │ │ │ │ │ + ldr r5, [sp, #156] @ 0x9c │ │ │ │ │ mov r1, sl │ │ │ │ │ mov r0, r6 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - bl e0 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ add r9, r5 │ │ │ │ │ - add r8, r5 │ │ │ │ │ + bl 100 │ │ │ │ │ cmp r7, r4 │ │ │ │ │ - beq.w 6f8 │ │ │ │ │ + add r8, r5 │ │ │ │ │ + beq.w 7bc │ │ │ │ │ mov r2, r9 │ │ │ │ │ mov r3, r8 │ │ │ │ │ - b.n 90c │ │ │ │ │ - nop │ │ │ │ │ + b.n a10 │ │ │ │ │ │ │ │ │ │ -00000928 : │ │ │ │ │ +00000a2c : │ │ │ │ │ fftw_rdft2_complex_n(): │ │ │ │ │ cmp r1, #6 │ │ │ │ │ - bhi.n 94c │ │ │ │ │ + bhi.n a58 │ │ │ │ │ tbb [pc, r1] │ │ │ │ │ - .word 0x0e0e0409 │ │ │ │ │ - .short 0x0e09 │ │ │ │ │ + .word 0x1212040b │ │ │ │ │ + .short 0x120b │ │ │ │ │ .byte 0x04 │ │ │ │ │ .byte 0x00 │ │ │ │ │ - adds r0, #1 │ │ │ │ │ + add.w r0, r0, #1 │ │ │ │ │ add.w r0, r0, r0, lsr #31 │ │ │ │ │ - asrs r0, r0, #1 │ │ │ │ │ + mov.w r0, r0, asr #1 │ │ │ │ │ bx lr │ │ │ │ │ add.w r0, r0, r0, lsr #31 │ │ │ │ │ - asrs r0, r0, #1 │ │ │ │ │ - adds r0, #1 │ │ │ │ │ + mov.w r0, r0, asr #1 │ │ │ │ │ + add.w r0, r0, #1 │ │ │ │ │ bx lr │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bx lr │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000950 : │ │ │ │ │ +00000a60 : │ │ │ │ │ zero(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - ldr r0, [r0, #4] │ │ │ │ │ - sub sp, #20 │ │ │ │ │ ldr r3, [r4, #28] │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + ldr r0, [r0, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ cmp r3, #3 │ │ │ │ │ - bhi.n 9bc │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + sub sp, #20 │ │ │ │ │ + bhi.n af4 │ │ │ │ │ ldr r5, [r4, #8] │ │ │ │ │ mvn.w r3, #2147483648 @ 0x80000000 │ │ │ │ │ add.w sl, r0, #4 │ │ │ │ │ ldr r7, [r5, #0] │ │ │ │ │ cmp r7, r3 │ │ │ │ │ - beq.n 9b6 │ │ │ │ │ - ldr.w fp, [r0] │ │ │ │ │ + beq.n adc │ │ │ │ │ cmp r7, #0 │ │ │ │ │ + ldr.w fp, [r0] │ │ │ │ │ ldrd r2, r3, [r4, #12] │ │ │ │ │ - beq.n a04 │ │ │ │ │ - ble.n 9b6 │ │ │ │ │ + beq.n b50 │ │ │ │ │ + ble.n adc │ │ │ │ │ ldr.w r9, [r5, #4] │ │ │ │ │ cmp.w r9, #0 │ │ │ │ │ - ble.n 9b6 │ │ │ │ │ + ble.n adc │ │ │ │ │ ldr r0, [r5, #8] │ │ │ │ │ add.w r1, r5, #16 │ │ │ │ │ - subs r7, #1 │ │ │ │ │ - mov r5, r2 │ │ │ │ │ + add.w r7, r7, #4294967295 @ 0xffffffff │ │ │ │ │ mov r4, r3 │ │ │ │ │ - movs r6, #0 │ │ │ │ │ - mov.w r8, r0, lsl #3 │ │ │ │ │ + mov.w r6, #0 │ │ │ │ │ + mov r5, r2 │ │ │ │ │ str r1, [sp, #12] │ │ │ │ │ - strd r5, r4, [sp] │ │ │ │ │ - mov r3, fp │ │ │ │ │ + mov.w r8, r0, lsl #3 │ │ │ │ │ ldr r0, [sp, #12] │ │ │ │ │ + mov r3, fp │ │ │ │ │ mov r2, sl │ │ │ │ │ mov r1, r7 │ │ │ │ │ - adds r6, #1 │ │ │ │ │ - bl 458 │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ + strd r5, r4, [sp] │ │ │ │ │ + bl 4f8 │ │ │ │ │ + cmp r9, r6 │ │ │ │ │ add r5, r8 │ │ │ │ │ add r4, r8 │ │ │ │ │ - cmp r9, r6 │ │ │ │ │ - bne.n 99c │ │ │ │ │ + bne.n ac0 │ │ │ │ │ add sp, #20 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy │ │ │ │ │ - ldr r6, [r0, #0] │ │ │ │ │ + ldr r3, [r0, #0] │ │ │ │ │ mov r5, r0 │ │ │ │ │ - cmp r6, #0 │ │ │ │ │ - bgt.n 9ee │ │ │ │ │ - mov r1, r5 │ │ │ │ │ + cmp r3, #0 │ │ │ │ │ + bgt.n b38 │ │ │ │ │ ldr r0, [r4, #8] │ │ │ │ │ + mov r1, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_append │ │ │ │ │ mov r6, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_destroy │ │ │ │ │ - mov r0, r6 │ │ │ │ │ ldrd r1, r2, [r4, #20] │ │ │ │ │ + mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_dft_zerotens │ │ │ │ │ mov r0, r6 │ │ │ │ │ add sp, #20 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_tensor_destroy │ │ │ │ │ - movs r2, #12 │ │ │ │ │ + add.w r3, r3, r3, lsl #1 │ │ │ │ │ ldr r1, [r4, #28] │ │ │ │ │ - mla r6, r2, r6, r0 │ │ │ │ │ + add.w r6, r0, r3, lsl #2 │ │ │ │ │ ldr.w r0, [r6, #-8] │ │ │ │ │ - bl 928 │ │ │ │ │ + bl a2c │ │ │ │ │ R_ARM_THM_CALL fftw_rdft2_complex_n │ │ │ │ │ str.w r0, [r6, #-8] │ │ │ │ │ - b.n 9c8 │ │ │ │ │ + b.n b00 │ │ │ │ │ mov r1, fp │ │ │ │ │ mov r0, sl │ │ │ │ │ add sp, #20 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - b.w e0 │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ + b.w 100 │ │ │ │ │ │ │ │ │ │ -00000a14 : │ │ │ │ │ +00000b70 : │ │ │ │ │ fftw_mkproblem_rdft2(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #12 │ │ │ │ │ ldrd fp, r7, [sp, #48] @ 0x30 │ │ │ │ │ ldr.w sl, [sp, #56] @ 0x38 │ │ │ │ │ cmp r2, r7 │ │ │ │ │ - beq.n ab0 │ │ │ │ │ - mov r8, r0 │ │ │ │ │ + beq.n c36 │ │ │ │ │ mov r6, r1 │ │ │ │ │ - ldr r1, [pc, #144] @ (abc ) │ │ │ │ │ - movs r0, #32 │ │ │ │ │ + ldr r1, [pc, #188] @ (c54 ) │ │ │ │ │ + mov r8, r0 │ │ │ │ │ + mov.w r0, #32 │ │ │ │ │ mov r4, r2 │ │ │ │ │ mov r5, r3 │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem │ │ │ │ │ ldr.w r1, [r8] │ │ │ │ │ mov r9, r0 │ │ │ │ │ cmp r1, #1 │ │ │ │ │ - ble.n a9c │ │ │ │ │ - subs r1, #1 │ │ │ │ │ + ble.n c22 │ │ │ │ │ + add.w r1, r1, #4294967295 @ 0xffffffff │ │ │ │ │ mov r0, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy_except │ │ │ │ │ ldr.w r1, [r8] │ │ │ │ │ - movs r2, #1 │ │ │ │ │ + mov.w r2, #1 │ │ │ │ │ str r0, [sp, #0] │ │ │ │ │ - subs r1, #1 │ │ │ │ │ mov r0, r8 │ │ │ │ │ + add.w r1, r1, #4294967295 @ 0xffffffff │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy_sub │ │ │ │ │ str r0, [sp, #4] │ │ │ │ │ ldr r0, [sp, #0] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_compress │ │ │ │ │ ldr r2, [r0, #0] │ │ │ │ │ mov r8, r0 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.n aa8 │ │ │ │ │ + ble.n c2e │ │ │ │ │ ldr r1, [sp, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_append │ │ │ │ │ + ldr r1, [sp, #4] │ │ │ │ │ str.w r0, [r9, #4] │ │ │ │ │ - ldrd r0, r1, [sp] │ │ │ │ │ + ldr r0, [sp, #0] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_destroy2 │ │ │ │ │ mov r0, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_destroy │ │ │ │ │ mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_compress_contiguous │ │ │ │ │ - strd r5, fp, [r9, #16] │ │ │ │ │ strd r0, r4, [r9, #8] │ │ │ │ │ mov r0, r9 │ │ │ │ │ + strd r5, fp, [r9, #16] │ │ │ │ │ strd r7, sl, [r9, #24] │ │ │ │ │ add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ mov r0, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_compress │ │ │ │ │ str.w r0, [r9, #4] │ │ │ │ │ - b.n a82 │ │ │ │ │ + b.n bf6 │ │ │ │ │ ldr r0, [sp, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_compress │ │ │ │ │ - b.n a70 │ │ │ │ │ + b.n be4 │ │ │ │ │ add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_mkproblem_unsolvable │ │ │ │ │ nop │ │ │ │ │ - .word 0x00000086 │ │ │ │ │ + .word 0x000000b0 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ │ │ │ │ │ │ │ -00000ac0 : │ │ │ │ │ +00000c58 : │ │ │ │ │ fftw_mkproblem_rdft2_d(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ mov r5, r1 │ │ │ │ │ - mov r6, r0 │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ sub sp, #16 │ │ │ │ │ + mov r6, r0 │ │ │ │ │ ldr r4, [sp, #40] @ 0x28 │ │ │ │ │ str r4, [sp, #8] │ │ │ │ │ ldr r4, [sp, #36] @ 0x24 │ │ │ │ │ str r4, [sp, #4] │ │ │ │ │ ldr r4, [sp, #32] │ │ │ │ │ str r4, [sp, #0] │ │ │ │ │ - bl a14 │ │ │ │ │ + bl b70 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft2 │ │ │ │ │ - mov r1, r6 │ │ │ │ │ mov r4, r0 │ │ │ │ │ + mov r1, r6 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_destroy2 │ │ │ │ │ mov r0, r4 │ │ │ │ │ add sp, #16 │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ │ │ │ │ │ -00000ae8 : │ │ │ │ │ +00000c8c : │ │ │ │ │ fftw_mkproblem_rdft2_d_3pointers(): │ │ │ │ │ - push {r4, r5, r6, r7, lr} │ │ │ │ │ + str.w r4, [sp, #-20]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - mov r5, r1 │ │ │ │ │ - sub sp, #20 │ │ │ │ │ - mov r0, r3 │ │ │ │ │ - ldr r1, [r4, #0] │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r6, r1 │ │ │ │ │ + mov r1, r3 │ │ │ │ │ + ldr r5, [r0, #0] │ │ │ │ │ mov r3, r2 │ │ │ │ │ - ldr r6, [sp, #44] @ 0x2c │ │ │ │ │ - cbz r1, b12 │ │ │ │ │ - cmp r6, #3 │ │ │ │ │ - bhi.n b32 │ │ │ │ │ - movs r3, #12 │ │ │ │ │ - mla r1, r3, r1, r4 │ │ │ │ │ - ldr.w r7, [r1, #-4] │ │ │ │ │ + strd r7, lr, [sp, #12] │ │ │ │ │ + sub sp, #20 │ │ │ │ │ + ldr r0, [sp, #44] @ 0x2c │ │ │ │ │ + cbz r5, cc4 │ │ │ │ │ + cmp r0, #3 │ │ │ │ │ + bhi.n cf0 │ │ │ │ │ + add.w r5, r5, r5, lsl #1 │ │ │ │ │ + add.w r5, r4, r5, lsl #2 │ │ │ │ │ + ldr.w r7, [r5, #-4] │ │ │ │ │ add.w r3, r2, r7, lsl #3 │ │ │ │ │ - lsls r7, r7, #1 │ │ │ │ │ - str.w r7, [r1, #-4] │ │ │ │ │ - ldr r1, [sp, #40] @ 0x28 │ │ │ │ │ - strd r0, r1, [sp] │ │ │ │ │ - mov r1, r5 │ │ │ │ │ - str r6, [sp, #8] │ │ │ │ │ + mov.w r7, r7, lsl #1 │ │ │ │ │ + str.w r7, [r5, #-4] │ │ │ │ │ + str r1, [sp, #0] │ │ │ │ │ + mov r1, r6 │ │ │ │ │ + str r0, [sp, #8] │ │ │ │ │ + ldr r0, [sp, #40] @ 0x28 │ │ │ │ │ + str r0, [sp, #4] │ │ │ │ │ mov r0, r4 │ │ │ │ │ - bl a14 │ │ │ │ │ + bl b70 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft2 │ │ │ │ │ + mov r5, r0 │ │ │ │ │ mov r1, r4 │ │ │ │ │ - mov r6, r0 │ │ │ │ │ - mov r0, r5 │ │ │ │ │ + mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_destroy2 │ │ │ │ │ - mov r0, r6 │ │ │ │ │ + mov r0, r5 │ │ │ │ │ add sp, #20 │ │ │ │ │ - pop {r4, r5, r6, r7, pc} │ │ │ │ │ - movs r3, #12 │ │ │ │ │ - subs r1, #1 │ │ │ │ │ - mla r1, r3, r1, r4 │ │ │ │ │ - ldr r7, [r1, #12] │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + add.w r5, r5, #4294967295 @ 0xffffffff │ │ │ │ │ + add.w r5, r5, r5, lsl #1 │ │ │ │ │ + add.w r5, r4, r5, lsl #2 │ │ │ │ │ + ldr r7, [r5, #12] │ │ │ │ │ add.w r3, r2, r7, lsl #3 │ │ │ │ │ - lsls r7, r7, #1 │ │ │ │ │ - str r7, [r1, #12] │ │ │ │ │ - b.n b12 │ │ │ │ │ + mov.w r7, r7, lsl #1 │ │ │ │ │ + str r7, [r5, #12] │ │ │ │ │ + b.n cc4 │ │ │ │ │ nop │ │ │ ├── rank-geq2-rdft2.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2492 (bytes into file) │ │ │ │ │ + Start of section headers: 2628 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 16 │ │ │ │ │ Section header string table index: 15 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,25 +1,25 @@ │ │ │ │ │ -There are 16 section headers, starting at offset 0x9bc: │ │ │ │ │ +There are 16 section headers, starting at offset 0xa44: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0002c8 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0007f4 000110 08 I 13 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0002fc 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0002fc 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0002fc 00001f 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 00031b 00000c 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 000327 000010 00 WA 0 0 4 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000904 000020 08 I 13 7 4 │ │ │ │ │ - [ 9] .data.rel.ro.local PROGBITS 00000000 000337 00000c 00 WA 0 0 4 │ │ │ │ │ - [10] .rel.data.rel.ro.local REL 00000000 000924 000008 08 I 13 9 4 │ │ │ │ │ - [11] .note.GNU-stack PROGBITS 00000000 000343 000000 00 0 0 1 │ │ │ │ │ - [12] .ARM.attributes ARM_ATTRIBUTES 00000000 000343 000033 00 0 0 1 │ │ │ │ │ - [13] .symtab SYMTAB 00000000 000378 0002b0 10 14 24 4 │ │ │ │ │ - [14] .strtab STRTAB 00000000 000628 0001c9 00 0 0 1 │ │ │ │ │ - [15] .shstrtab STRTAB 00000000 00092c 00008f 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000350 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 00087c 000110 08 I 13 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000384 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000384 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000384 00001f 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 0003a3 00000c 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0003af 000010 00 WA 0 0 4 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 00098c 000020 08 I 13 7 4 │ │ │ │ │ + [ 9] .data.rel.ro.local PROGBITS 00000000 0003bf 00000c 00 WA 0 0 4 │ │ │ │ │ + [10] .rel.data.rel.ro.local REL 00000000 0009ac 000008 08 I 13 9 4 │ │ │ │ │ + [11] .note.GNU-stack PROGBITS 00000000 0003cb 000000 00 0 0 1 │ │ │ │ │ + [12] .ARM.attributes ARM_ATTRIBUTES 00000000 0003cb 000033 00 0 0 1 │ │ │ │ │ + [13] .symtab SYMTAB 00000000 000400 0002b0 10 14 24 4 │ │ │ │ │ + [14] .strtab STRTAB 00000000 0006b0 0001c9 00 0 0 1 │ │ │ │ │ + [15] .shstrtab STRTAB 00000000 0009b4 00008f 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,25 +1,25 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 43 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 40 FUNC LOCAL DEFAULT 1 apply_r2hc │ │ │ │ │ + 1: 00000001 60 FUNC LOCAL DEFAULT 1 apply_r2hc │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000029 58 FUNC LOCAL DEFAULT 1 apply_hc2r │ │ │ │ │ + 3: 0000003d 84 FUNC LOCAL DEFAULT 1 apply_hc2r │ │ │ │ │ 4: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ - 6: 00000065 36 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ - 7: 00000084 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 8: 00000088 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 9: 00000089 20 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 10: 0000009d 468 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 11: 00000264 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 12: 00000270 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 13: 00000271 24 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 14: 000002c0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000091 36 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 7: 000000b0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 000000b4 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 9: 000000b5 24 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 10: 000000cd 508 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 11: 000002bc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 12: 000002c8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 13: 000002c9 36 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 14: 00000348 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 15: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 16: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 17: 00000000 12 OBJECT LOCAL DEFAULT 6 buddies.2 │ │ │ │ │ 18: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 19: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 20: 00000000 16 OBJECT LOCAL DEFAULT 7 padt.0 │ │ │ │ │ 21: 00000000 0 SECTION LOCAL DEFAULT 9 .data.rel.ro.local │ │ │ │ │ @@ -36,11 +36,11 @@ │ │ │ │ │ 32: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkproblem_dft_d │ │ │ │ │ 33: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_rdft2 │ │ │ │ │ 34: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_add │ │ │ │ │ 35: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_destroy4 │ │ │ │ │ 36: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_min_stride │ │ │ │ │ 37: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft2_tensor_max_index │ │ │ │ │ 38: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_awake │ │ │ │ │ - 39: 00000289 64 FUNC GLOBAL DEFAULT 1 fftw_rdft2_rank_geq2_register │ │ │ │ │ + 39: 000002ed 100 FUNC GLOBAL DEFAULT 1 fftw_rdft2_rank_geq2_register │ │ │ │ │ 40: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ 41: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 42: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft2_solve │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,48 +1,48 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x7f4 contains 34 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x87c contains 34 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000084 00000503 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -0000008e 0000180a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000000ea 0000190a R_ARM_THM_CALL 00000000 fftw_pickdim │ │ │ │ │ -00000138 00001a0a R_ARM_THM_CALL 00000000 fftw_tensor_split │ │ │ │ │ -00000148 00001b0a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ -00000152 00001b0a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ -00000172 00001c0a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ -0000017c 00001d0a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ -00000194 00001e0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft2_d │ │ │ │ │ -0000019c 00001f0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -000001ae 00001b0a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ -000001b8 00001d0a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ -000001c8 0000200a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ -000001d0 00001f0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -000001e6 0000210a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft2 │ │ │ │ │ -000001fe 0000220a R_ARM_THM_CALL 00000000 fftw_ops_add │ │ │ │ │ -0000020a 0000230a R_ARM_THM_CALL 00000000 fftw_tensor_destroy4 │ │ │ │ │ -00000216 00001b0a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ -00000220 00001d0a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ -00000234 0000180a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -0000023a 0000180a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000246 0000230a R_ARM_THM_CALL 00000000 fftw_tensor_destroy4 │ │ │ │ │ -0000024c 0000240a R_ARM_THM_CALL 00000000 fftw_tensor_min_stride │ │ │ │ │ -00000256 0000250a R_ARM_THM_CALL 00000000 fftw_rdft2_tensor_max_index │ │ │ │ │ -00000264 00000103 R_ARM_REL32 00000001 apply_r2hc │ │ │ │ │ -00000268 00001203 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000026c 00000303 R_ARM_REL32 00000029 apply_hc2r │ │ │ │ │ -00000278 0000260a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -000002a4 0000280a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -000002b4 0000290a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -000002c0 00000f03 R_ARM_REL32 00000000 .rodata │ │ │ │ │ -000002c4 00001503 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -00000098 0000181e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000284 0000261e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ +000000b0 00000503 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +000000bc 0000180a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000138 0000190a R_ARM_THM_CALL 00000000 fftw_pickdim │ │ │ │ │ +00000188 00001a0a R_ARM_THM_CALL 00000000 fftw_tensor_split │ │ │ │ │ +0000019a 00001b0a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ +000001a4 00001b0a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ +000001ca 00001c0a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ +000001d4 00001d0a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ +000001ec 00001e0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft2_d │ │ │ │ │ +000001f4 00001f0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +00000206 00001b0a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ +00000210 00001d0a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ +00000220 0000200a R_ARM_THM_CALL 00000000 fftw_mkproblem_dft_d │ │ │ │ │ +00000228 00001f0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +00000240 0000210a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft2 │ │ │ │ │ +00000258 0000220a R_ARM_THM_CALL 00000000 fftw_ops_add │ │ │ │ │ +00000264 0000230a R_ARM_THM_CALL 00000000 fftw_tensor_destroy4 │ │ │ │ │ +0000026c 00001b0a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ +00000276 00001d0a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ +0000028a 0000180a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000292 0000180a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +0000029e 0000230a R_ARM_THM_CALL 00000000 fftw_tensor_destroy4 │ │ │ │ │ +000002a4 0000240a R_ARM_THM_CALL 00000000 fftw_tensor_min_stride │ │ │ │ │ +000002ae 0000250a R_ARM_THM_CALL 00000000 fftw_rdft2_tensor_max_index │ │ │ │ │ +000002bc 00000103 R_ARM_REL32 00000001 apply_r2hc │ │ │ │ │ +000002c0 00001203 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000002c4 00000303 R_ARM_REL32 0000003d apply_hc2r │ │ │ │ │ +000002d6 0000260a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +00000318 0000280a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +0000032e 0000290a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +00000348 00000f03 R_ARM_REL32 00000000 .rodata │ │ │ │ │ +0000034c 00001503 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +000000c8 0000181e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000002e8 0000261e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x904 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x98c contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00002a02 R_ARM_ABS32 00000000 fftw_rdft2_solve │ │ │ │ │ -00000004 00000d02 R_ARM_ABS32 00000271 awake │ │ │ │ │ -00000008 00000602 R_ARM_ABS32 00000065 print │ │ │ │ │ -0000000c 00000902 R_ARM_ABS32 00000089 destroy │ │ │ │ │ +00000004 00000d02 R_ARM_ABS32 000002c9 awake │ │ │ │ │ +00000008 00000602 R_ARM_ABS32 00000091 print │ │ │ │ │ +0000000c 00000902 R_ARM_ABS32 000000b5 destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x924 contains 1 entry: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x9ac contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000a02 R_ARM_ABS32 0000009d mkplan │ │ │ │ │ +00000004 00000a02 R_ARM_ABS32 000000cd mkplan │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,8 +1,7 @@ │ │ │ │ │ -!JzD!IP yD │ │ │ │ │ (rdft2-rank>=2/%d%(%p%)%(%p%)) │ │ │ │ │ apply_r2hc │ │ │ │ │ apply_hc2r │ │ │ │ │ buddies.2 │ │ │ │ │ fftw_plan_destroy_internal │ │ │ │ │ fftw_pickdim │ │ │ │ │ fftw_tensor_split │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,340 +1,367 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ apply_r2hc(): │ │ │ │ │ - push {r4, r5, r6, r7, lr} │ │ │ │ │ + str.w r4, [sp, #-20]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ - sub sp, #12 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r6, r3 │ │ │ │ │ + strd r7, lr, [sp, #12] │ │ │ │ │ + sub sp, #12 │ │ │ │ │ ldr r5, [sp, #32] │ │ │ │ │ + ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ str r5, [sp, #0] │ │ │ │ │ ldr r7, [r0, #56] @ 0x38 │ │ │ │ │ blx r7 │ │ │ │ │ ldr r0, [r4, #68] @ 0x44 │ │ │ │ │ - str r5, [sp, #32] │ │ │ │ │ mov r3, r6 │ │ │ │ │ mov r2, r5 │ │ │ │ │ + str r5, [sp, #32] │ │ │ │ │ mov r1, r6 │ │ │ │ │ ldr r4, [r0, #56] @ 0x38 │ │ │ │ │ mov ip, r4 │ │ │ │ │ add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ bx ip │ │ │ │ │ │ │ │ │ │ -00000028 : │ │ │ │ │ +0000003c : │ │ │ │ │ apply_hc2r(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ - mov r5, r0 │ │ │ │ │ - ldr r0, [r0, #68] @ 0x44 │ │ │ │ │ - sub sp, #12 │ │ │ │ │ + str.w r4, [sp, #-28]! │ │ │ │ │ mov r4, r3 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r5, r0 │ │ │ │ │ mov r6, r1 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r7, r2 │ │ │ │ │ - mov r2, r4 │ │ │ │ │ + mov r2, r3 │ │ │ │ │ + strd r9, lr, [sp, #20] │ │ │ │ │ + sub sp, #12 │ │ │ │ │ ldr.w r8, [sp, #40] @ 0x28 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ - mov r1, r8 │ │ │ │ │ + ldr r0, [r0, #68] @ 0x44 │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ mov r3, r8 │ │ │ │ │ + mov r1, r8 │ │ │ │ │ ldr.w r9, [r0, #56] @ 0x38 │ │ │ │ │ blx r9 │ │ │ │ │ ldr r0, [r5, #64] @ 0x40 │ │ │ │ │ - str.w r8, [sp, #40] @ 0x28 │ │ │ │ │ mov r3, r4 │ │ │ │ │ mov r2, r7 │ │ │ │ │ + str.w r8, [sp, #40] @ 0x28 │ │ │ │ │ mov r1, r6 │ │ │ │ │ ldr r5, [r0, #56] @ 0x38 │ │ │ │ │ mov ip, r5 │ │ │ │ │ add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ bx ip │ │ │ │ │ - nop │ │ │ │ │ │ │ │ │ │ -00000064 : │ │ │ │ │ +00000090 : │ │ │ │ │ print(): │ │ │ │ │ mov r3, r0 │ │ │ │ │ - push {r4, lr} │ │ │ │ │ mov r0, r1 │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ + ldrd r1, r2, [r3, #68] @ 0x44 │ │ │ │ │ sub sp, #8 │ │ │ │ │ - ldr r2, [r3, #72] @ 0x48 │ │ │ │ │ - ldr r1, [r3, #68] @ 0x44 │ │ │ │ │ - ldr r4, [r0, #0] │ │ │ │ │ ldr r2, [r2, #8] │ │ │ │ │ str r1, [sp, #0] │ │ │ │ │ - ldr r1, [pc, #12] @ (84 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (b0 ) │ │ │ │ │ + ldr r4, [r0, #0] │ │ │ │ │ ldr r3, [r3, #64] @ 0x40 │ │ │ │ │ add r1, pc │ │ │ │ │ blx r4 │ │ │ │ │ add sp, #8 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ -00000088 : │ │ │ │ │ +000000b4 : │ │ │ │ │ destroy(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ ldr r0, [r4, #68] @ 0x44 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_destroy_internal │ │ │ │ │ │ │ │ │ │ -0000009c : │ │ │ │ │ +000000cc : │ │ │ │ │ mkplan(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ mov r4, r1 │ │ │ │ │ ldr r5, [r1, #4] │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ mov sl, r2 │ │ │ │ │ mvn.w r2, #2147483648 @ 0x80000000 │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ sub sp, #32 │ │ │ │ │ ldr r1, [r5, #0] │ │ │ │ │ cmp r1, r2 │ │ │ │ │ - beq.n d0 │ │ │ │ │ + beq.n 10c │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - beq.n d0 │ │ │ │ │ + beq.n 10c │ │ │ │ │ ldr r2, [r4, #28] │ │ │ │ │ cmp r1, #1 │ │ │ │ │ bic.w r2, r2, #4 │ │ │ │ │ clz r2, r2 │ │ │ │ │ mov.w r2, r2, lsr #5 │ │ │ │ │ it le │ │ │ │ │ movle r2, #0 │ │ │ │ │ - cbnz r2, d8 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + cbnz r2, 124 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #32 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {sl, pc} │ │ │ │ │ add r3, sp, #28 │ │ │ │ │ + mov r7, r0 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ - movs r3, #1 │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - mov r7, r0 │ │ │ │ │ mov r3, r5 │ │ │ │ │ - ldrd r1, r2, [r0, #12] │ │ │ │ │ - ldr r0, [r0, #8] │ │ │ │ │ + ldrd r0, r1, [r0, #8] │ │ │ │ │ + ldr r2, [r7, #16] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_pickdim │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n d0 │ │ │ │ │ + beq.n 10c │ │ │ │ │ ldr r2, [sp, #28] │ │ │ │ │ ldr r3, [r5, #0] │ │ │ │ │ - adds r2, #1 │ │ │ │ │ - str r2, [sp, #28] │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bge.n d0 │ │ │ │ │ - ldr.w r3, [sl, #164] @ 0xa4 │ │ │ │ │ + str r2, [sp, #28] │ │ │ │ │ + bge.n 10c │ │ │ │ │ ldr r0, [r4, #12] │ │ │ │ │ ldr r1, [r4, #20] │ │ │ │ │ - ubfx r3, r3, #0, #20 │ │ │ │ │ + ldr.w r3, [sl, #164] @ 0xa4 │ │ │ │ │ cmp r0, r1 │ │ │ │ │ - beq.n 116 │ │ │ │ │ + ubfx r3, r3, #0, #20 │ │ │ │ │ + beq.n 166 │ │ │ │ │ ldr r1, [r4, #28] │ │ │ │ │ - cbz r1, 116 │ │ │ │ │ + cbz r1, 166 │ │ │ │ │ lsls r0, r3, #19 │ │ │ │ │ - bmi.n d0 │ │ │ │ │ + bmi.n 10c │ │ │ │ │ lsls r1, r3, #24 │ │ │ │ │ - bpl.n 124 │ │ │ │ │ + bpl.n 174 │ │ │ │ │ ldrd r0, r1, [r7, #8] │ │ │ │ │ ldr r1, [r1, #0] │ │ │ │ │ cmp r0, r1 │ │ │ │ │ - bne.n d0 │ │ │ │ │ + bne.n 10c │ │ │ │ │ lsls r3, r3, #15 │ │ │ │ │ - bpl.n 132 │ │ │ │ │ + bpl.n 182 │ │ │ │ │ ldr r0, [r4, #8] │ │ │ │ │ ldr r3, [r0, #0] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bgt.w 24c │ │ │ │ │ - add r3, sp, #24 │ │ │ │ │ + bgt.w 2a4 │ │ │ │ │ ldr r0, [r4, #4] │ │ │ │ │ + add r3, sp, #24 │ │ │ │ │ add r1, sp, #20 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_split │ │ │ │ │ - ldr r5, [r4, #28] │ │ │ │ │ ldr r0, [r4, #8] │ │ │ │ │ + ldr r5, [r4, #28] │ │ │ │ │ clz r5, r5 │ │ │ │ │ - lsrs r5, r5, #5 │ │ │ │ │ + mov.w r5, r5, lsr #5 │ │ │ │ │ mov r1, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy_inplace │ │ │ │ │ - mov r1, r5 │ │ │ │ │ mov r8, r0 │ │ │ │ │ ldr r0, [sp, #24] │ │ │ │ │ + mov r1, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy_inplace │ │ │ │ │ ldr r2, [r0, #0] │ │ │ │ │ - movs r3, #12 │ │ │ │ │ mov r6, r0 │ │ │ │ │ - mla r2, r3, r2, r0 │ │ │ │ │ ldr r0, [sp, #24] │ │ │ │ │ + add.w r2, r2, r2, lsl #1 │ │ │ │ │ + add.w r2, r6, r2, lsl #2 │ │ │ │ │ ldr.w r3, [r2, #-8] │ │ │ │ │ add.w r3, r3, r3, lsr #31 │ │ │ │ │ - asrs r3, r3, #1 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + mov.w r3, r3, asr #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str.w r3, [r2, #-8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy │ │ │ │ │ ldr r1, [sp, #20] │ │ │ │ │ mov r9, r0 │ │ │ │ │ ldr r0, [r4, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_append │ │ │ │ │ ldr r3, [r4, #28] │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r9 │ │ │ │ │ + str r3, [sp, #8] │ │ │ │ │ ldr r3, [r4, #24] │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr r3, [r4, #20] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldrd r2, r3, [r4, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft2_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, sl │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov r9, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 232 │ │ │ │ │ + beq.n 288 │ │ │ │ │ ldr r3, [r4, #28] │ │ │ │ │ mov r1, r5 │ │ │ │ │ ldr r0, [sp, #20] │ │ │ │ │ - cbnz r3, 216 │ │ │ │ │ + cbnz r3, 26c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy_inplace │ │ │ │ │ - mov r1, r6 │ │ │ │ │ mov r5, r0 │ │ │ │ │ + mov r1, r6 │ │ │ │ │ mov r0, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_append │ │ │ │ │ - mov r1, r0 │ │ │ │ │ ldrd r2, r3, [r4, #20] │ │ │ │ │ + mov r1, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ strd r2, r3, [sp] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_dft_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, sl │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov r5, r0 │ │ │ │ │ - cbz r0, 232 │ │ │ │ │ + cbz r0, 288 │ │ │ │ │ ldr r3, [r4, #28] │ │ │ │ │ - cbnz r3, 22c │ │ │ │ │ - ldr r2, [pc, #132] @ (264 ) │ │ │ │ │ + cbnz r3, 282 │ │ │ │ │ + ldr r2, [pc, #132] @ (2bc ) │ │ │ │ │ add r2, pc │ │ │ │ │ - ldr r1, [pc, #132] @ (268 ) │ │ │ │ │ - movs r0, #80 @ 0x50 │ │ │ │ │ + ldr r1, [pc, #132] @ (2c0 ) │ │ │ │ │ + mov.w r0, #80 @ 0x50 │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_rdft2 │ │ │ │ │ - add.w r1, r5, #8 │ │ │ │ │ mov r4, r0 │ │ │ │ │ add.w r2, r0, #8 │ │ │ │ │ - strd r9, r5, [r0, #64] @ 0x40 │ │ │ │ │ - str r7, [r0, #72] @ 0x48 │ │ │ │ │ + add.w r1, r5, #8 │ │ │ │ │ add.w r0, r9, #8 │ │ │ │ │ + strd r9, r5, [r4, #64] @ 0x40 │ │ │ │ │ + str r7, [r4, #72] @ 0x48 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_add │ │ │ │ │ - mov r0, r6 │ │ │ │ │ ldrd r3, r2, [sp, #20] │ │ │ │ │ + mov r0, r6 │ │ │ │ │ mov r1, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_destroy4 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - add sp, #32 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ + b.n 110 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy_inplace │ │ │ │ │ - mov r1, r6 │ │ │ │ │ mov r5, r0 │ │ │ │ │ + mov r1, r6 │ │ │ │ │ mov r0, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_append │ │ │ │ │ - mov r1, r0 │ │ │ │ │ ldrd r3, r2, [r4, #20] │ │ │ │ │ - b.n 1c2 │ │ │ │ │ - ldr r2, [pc, #60] @ (26c ) │ │ │ │ │ + mov r1, r0 │ │ │ │ │ + b.n 21a │ │ │ │ │ + ldr r2, [pc, #64] @ (2c4 ) │ │ │ │ │ add r2, pc │ │ │ │ │ - b.n 1e0 │ │ │ │ │ + b.n 238 │ │ │ │ │ mov r0, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ - mov r1, r8 │ │ │ │ │ ldrd r3, r2, [sp, #20] │ │ │ │ │ + mov r1, r8 │ │ │ │ │ mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_destroy4 │ │ │ │ │ - b.n d0 │ │ │ │ │ + b.n 10c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_min_stride │ │ │ │ │ ldr r1, [r4, #28] │ │ │ │ │ mov r5, r0 │ │ │ │ │ ldr r0, [r4, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_rdft2_tensor_max_index │ │ │ │ │ cmp r5, r0 │ │ │ │ │ - bgt.w d0 │ │ │ │ │ + bgt.w 10c │ │ │ │ │ ldr r2, [sp, #28] │ │ │ │ │ - b.n 132 │ │ │ │ │ + b.n 182 │ │ │ │ │ .word 0x00000082 │ │ │ │ │ R_ARM_REL32 apply_r2hc │ │ │ │ │ - .word 0x00000080 │ │ │ │ │ + .word 0x0000007e │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x0000003a │ │ │ │ │ + .word 0x0000003c │ │ │ │ │ R_ARM_REL32 apply_hc2r │ │ │ │ │ │ │ │ │ │ -00000270 : │ │ │ │ │ +000002c8 : │ │ │ │ │ awake(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - mov r5, r1 │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ + mov r5, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ ldr r0, [r4, #68] @ 0x44 │ │ │ │ │ mov r1, r5 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, lr} │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + ldrd r5, lr, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_awake │ │ │ │ │ │ │ │ │ │ -00000288 : │ │ │ │ │ +000002ec : │ │ │ │ │ fftw_rdft2_rank_geq2_register(): │ │ │ │ │ - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ - mov r5, r0 │ │ │ │ │ - ldr r4, [pc, #48] @ (2c0 ) │ │ │ │ │ - ldr r7, [pc, #48] @ (2c4 ) │ │ │ │ │ - add r4, pc │ │ │ │ │ - add.w r8, r4, #12 │ │ │ │ │ - add r7, pc │ │ │ │ │ - mov r6, r4 │ │ │ │ │ - ldr.w r9, [r4], #4 │ │ │ │ │ - mov r1, r7 │ │ │ │ │ - movs r0, #20 │ │ │ │ │ + strd r3, r4, [sp, #-32]! │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ + strd r5, r6, [sp, #8] │ │ │ │ │ + mov r6, r0 │ │ │ │ │ + ldr r5, [pc, #76] @ (348 ) │ │ │ │ │ + strd r7, r8, [sp, #16] │ │ │ │ │ + ldr.w r8, [pc, #72] @ 34c │ │ │ │ │ + strd r9, lr, [sp, #24] │ │ │ │ │ + add r5, pc │ │ │ │ │ + mov r7, r5 │ │ │ │ │ + add r8, pc │ │ │ │ │ + ldr.w r9, [r5], #4 │ │ │ │ │ + mov r1, r8 │ │ │ │ │ + mov.w r0, #20 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ - movs r3, #3 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - strd r9, r6, [r0, #8] │ │ │ │ │ - str r3, [r0, #16] │ │ │ │ │ - mov r0, r5 │ │ │ │ │ + mov.w r3, #3 │ │ │ │ │ + mov r0, r6 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + strd r9, r7, [r1, #8] │ │ │ │ │ + str r3, [r1, #16] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ - cmp r4, r8 │ │ │ │ │ - bne.n 29c │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} │ │ │ │ │ - .word 0x0000002a │ │ │ │ │ + cmp r4, #3 │ │ │ │ │ + bne.n 30e │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + ldrd r5, r6, [sp, #8] │ │ │ │ │ + ldrd r7, r8, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {r9, pc} │ │ │ │ │ + .word 0x0000003c │ │ │ │ │ R_ARM_REL32 .rodata │ │ │ │ │ - .word 0x00000028 │ │ │ │ │ + .word 0x0000003c │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ ├── lt13-rank-geq2.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2204 (bytes into file) │ │ │ │ │ + Start of section headers: 2316 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 16 │ │ │ │ │ Section header string table index: 15 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,25 +1,25 @@ │ │ │ │ │ -There are 16 section headers, starting at offset 0x89c: │ │ │ │ │ +There are 16 section headers, starting at offset 0x90c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000210 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0006ec 0000f8 08 I 13 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000244 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000244 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000244 00001e 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000262 00000c 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 00026e 000010 00 WA 0 0 4 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 0007e4 000020 08 I 13 7 4 │ │ │ │ │ - [ 9] .data.rel.ro.local PROGBITS 00000000 00027e 00000c 00 WA 0 0 4 │ │ │ │ │ - [10] .rel.data.rel.ro.local REL 00000000 000804 000008 08 I 13 9 4 │ │ │ │ │ - [11] .note.GNU-stack PROGBITS 00000000 00028a 000000 00 0 0 1 │ │ │ │ │ - [12] .ARM.attributes ARM_ATTRIBUTES 00000000 00028a 000033 00 0 0 1 │ │ │ │ │ - [13] .symtab SYMTAB 00000000 0002c0 000290 10 14 23 4 │ │ │ │ │ - [14] .strtab STRTAB 00000000 000550 00019a 00 0 0 1 │ │ │ │ │ - [15] .shstrtab STRTAB 00000000 00080c 00008f 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000280 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 00075c 0000f8 08 I 13 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0002b4 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0002b4 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0002b4 00001e 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 0002d2 00000c 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0002de 000010 00 WA 0 0 4 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000854 000020 08 I 13 7 4 │ │ │ │ │ + [ 9] .data.rel.ro.local PROGBITS 00000000 0002ee 00000c 00 WA 0 0 4 │ │ │ │ │ + [10] .rel.data.rel.ro.local REL 00000000 000874 000008 08 I 13 9 4 │ │ │ │ │ + [11] .note.GNU-stack PROGBITS 00000000 0002fa 000000 00 0 0 1 │ │ │ │ │ + [12] .ARM.attributes ARM_ATTRIBUTES 00000000 0002fa 000033 00 0 0 1 │ │ │ │ │ + [13] .symtab SYMTAB 00000000 000330 000290 10 14 23 4 │ │ │ │ │ + [14] .strtab STRTAB 00000000 0005c0 00019a 00 0 0 1 │ │ │ │ │ + [15] .shstrtab STRTAB 00000000 00087c 00008f 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 41 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 26 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ + 1: 00000001 38 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 3: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 4: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ - 5: 0000001d 36 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ - 6: 0000003c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 7: 00000040 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 8: 00000041 20 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 9: 00000055 356 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 10: 000001b0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 11: 000001b8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 12: 000001b9 24 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 13: 00000208 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 5: 00000029 36 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 6: 00000048 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 7: 0000004c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 8: 0000004d 24 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 9: 00000065 404 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 10: 000001f0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 11: 000001f8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 12: 000001f9 36 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 13: 00000278 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 14: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 15: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 16: 00000000 12 OBJECT LOCAL DEFAULT 6 buddies.2 │ │ │ │ │ 17: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 18: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 19: 00000000 16 OBJECT LOCAL DEFAULT 7 padt.0 │ │ │ │ │ 20: 00000000 0 SECTION LOCAL DEFAULT 9 .data.rel.ro.local │ │ │ │ │ @@ -34,11 +34,11 @@ │ │ │ │ │ 30: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_d │ │ │ │ │ 31: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_rdft │ │ │ │ │ 32: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_add │ │ │ │ │ 33: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_destroy4 │ │ │ │ │ 34: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_min_stride │ │ │ │ │ 35: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_max_index │ │ │ │ │ 36: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_awake │ │ │ │ │ - 37: 000001d1 64 FUNC GLOBAL DEFAULT 1 fftw_rdft_rank_geq2_register │ │ │ │ │ + 37: 0000021d 100 FUNC GLOBAL DEFAULT 1 fftw_rdft_rank_geq2_register │ │ │ │ │ 38: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ 39: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 40: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_solve │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,45 +1,45 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x6ec contains 31 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x75c contains 31 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000003c 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -00000046 0000170a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000090 0000180a R_ARM_THM_CALL 00000000 fftw_pickdim │ │ │ │ │ -000000d0 0000190a R_ARM_THM_CALL 00000000 fftw_tensor_split │ │ │ │ │ -000000d8 00001a0a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ -000000e2 00001a0a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ -000000ea 00001b0a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ -000000f4 00001c0a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ -00000108 00001d0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_d │ │ │ │ │ -00000110 00001e0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -0000011c 00001a0a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ -00000126 00001c0a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ -00000136 00001d0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_d │ │ │ │ │ -0000013e 00001e0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -00000150 00001f0a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ -00000168 0000200a R_ARM_THM_CALL 00000000 fftw_ops_add │ │ │ │ │ -00000174 0000210a R_ARM_THM_CALL 00000000 fftw_tensor_destroy4 │ │ │ │ │ -00000182 0000170a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000188 0000170a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000194 0000210a R_ARM_THM_CALL 00000000 fftw_tensor_destroy4 │ │ │ │ │ -0000019a 0000220a R_ARM_THM_CALL 00000000 fftw_tensor_min_stride │ │ │ │ │ -000001a2 0000230a R_ARM_THM_CALL 00000000 fftw_tensor_max_index │ │ │ │ │ -000001b0 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ -000001b4 00001103 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000001c0 0000240a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -000001ec 0000260a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -000001fc 0000270a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -00000208 00000e03 R_ARM_REL32 00000000 .rodata │ │ │ │ │ -0000020c 00001403 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -00000050 0000171e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000001cc 0000241e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ +00000048 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +00000054 0000170a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000000c6 0000180a R_ARM_THM_CALL 00000000 fftw_pickdim │ │ │ │ │ +00000104 0000190a R_ARM_THM_CALL 00000000 fftw_tensor_split │ │ │ │ │ +00000112 00001a0a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ +0000011e 00001a0a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ +00000126 00001b0a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ +00000130 00001c0a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ +00000144 00001d0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_d │ │ │ │ │ +0000014c 00001e0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +0000015a 00001a0a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ +00000164 00001c0a R_ARM_THM_CALL 00000000 fftw_tensor_append │ │ │ │ │ +00000174 00001d0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_d │ │ │ │ │ +0000017c 00001e0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +00000190 00001f0a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ +000001a8 0000200a R_ARM_THM_CALL 00000000 fftw_ops_add │ │ │ │ │ +000001b4 0000210a R_ARM_THM_CALL 00000000 fftw_tensor_destroy4 │ │ │ │ │ +000001c0 0000170a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000001c6 0000170a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000001d2 0000210a R_ARM_THM_CALL 00000000 fftw_tensor_destroy4 │ │ │ │ │ +000001d8 0000220a R_ARM_THM_CALL 00000000 fftw_tensor_min_stride │ │ │ │ │ +000001e0 0000230a R_ARM_THM_CALL 00000000 fftw_tensor_max_index │ │ │ │ │ +000001f0 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ +000001f4 00001103 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000206 0000240a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +00000248 0000260a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +0000025e 0000270a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +00000278 00000e03 R_ARM_REL32 00000000 .rodata │ │ │ │ │ +0000027c 00001403 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +00000060 0000171e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000218 0000241e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x7e4 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x854 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00002802 R_ARM_ABS32 00000000 fftw_rdft_solve │ │ │ │ │ -00000004 00000c02 R_ARM_ABS32 000001b9 awake │ │ │ │ │ -00000008 00000502 R_ARM_ABS32 0000001d print │ │ │ │ │ -0000000c 00000802 R_ARM_ABS32 00000041 destroy │ │ │ │ │ +00000004 00000c02 R_ARM_ABS32 000001f9 awake │ │ │ │ │ +00000008 00000502 R_ARM_ABS32 00000029 print │ │ │ │ │ +0000000c 00000802 R_ARM_ABS32 0000004d destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x804 contains 1 entry: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x874 contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000902 R_ARM_ABS32 00000055 mkplan │ │ │ │ │ +00000004 00000902 R_ARM_ABS32 00000065 mkplan │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,126 +1,137 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ apply(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ mov r5, r2 │ │ │ │ │ + ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ blx r3 │ │ │ │ │ ldr r0, [r4, #68] @ 0x44 │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r1, r5 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, lr, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ bx r3 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -0000001c : │ │ │ │ │ +00000028 : │ │ │ │ │ print(): │ │ │ │ │ mov r3, r0 │ │ │ │ │ - push {r4, lr} │ │ │ │ │ mov r0, r1 │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ + ldrd r1, r2, [r3, #68] @ 0x44 │ │ │ │ │ sub sp, #8 │ │ │ │ │ - ldr r2, [r3, #72] @ 0x48 │ │ │ │ │ - ldr r1, [r3, #68] @ 0x44 │ │ │ │ │ - ldr r4, [r0, #0] │ │ │ │ │ ldr r2, [r2, #8] │ │ │ │ │ str r1, [sp, #0] │ │ │ │ │ - ldr r1, [pc, #12] @ (3c ) │ │ │ │ │ + ldr r1, [pc, #12] @ (48 ) │ │ │ │ │ + ldr r4, [r0, #0] │ │ │ │ │ ldr r3, [r3, #64] @ 0x40 │ │ │ │ │ add r1, pc │ │ │ │ │ blx r4 │ │ │ │ │ add sp, #8 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ -00000040 : │ │ │ │ │ +0000004c : │ │ │ │ │ destroy(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldr r0, [r0, #68] @ 0x44 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ ldr r0, [r4, #64] @ 0x40 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_destroy_internal │ │ │ │ │ │ │ │ │ │ -00000054 : │ │ │ │ │ +00000064 : │ │ │ │ │ mkplan(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + mov r4, r1 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r2 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ ldr r7, [r1, #4] │ │ │ │ │ - mov r4, r1 │ │ │ │ │ mvn.w r1, #2147483648 @ 0x80000000 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #28 │ │ │ │ │ ldr r2, [r7, #0] │ │ │ │ │ cmp r2, r1 │ │ │ │ │ - beq.n 76 │ │ │ │ │ + beq.n 96 │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ cmp r3, r1 │ │ │ │ │ it ne │ │ │ │ │ cmpne r2, #1 │ │ │ │ │ - bgt.n 7e │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + bgt.n b2 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #28 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ add r3, sp, #20 │ │ │ │ │ + mov r6, r0 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ - movs r3, #1 │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - mov r6, r0 │ │ │ │ │ mov r3, r7 │ │ │ │ │ - ldrd r1, r2, [r0, #12] │ │ │ │ │ - ldr r0, [r0, #8] │ │ │ │ │ + ldrd r0, r1, [r0, #8] │ │ │ │ │ + ldr r2, [r6, #16] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_pickdim │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 76 │ │ │ │ │ + beq.n 96 │ │ │ │ │ ldr r2, [sp, #20] │ │ │ │ │ ldr r3, [r7, #0] │ │ │ │ │ - adds r2, #1 │ │ │ │ │ - str r2, [sp, #20] │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bge.n 76 │ │ │ │ │ + str r2, [sp, #20] │ │ │ │ │ + bge.n 96 │ │ │ │ │ ldr.w r3, [r5, #164] @ 0xa4 │ │ │ │ │ - ubfx r1, r3, #0, #20 │ │ │ │ │ lsls r0, r3, #24 │ │ │ │ │ - bpl.n ba │ │ │ │ │ + ubfx r1, r3, #0, #20 │ │ │ │ │ + bpl.n f2 │ │ │ │ │ ldrd r0, r3, [r6, #8] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ cmp r0, r3 │ │ │ │ │ - bne.n 76 │ │ │ │ │ + bne.n 96 │ │ │ │ │ lsls r3, r1, #15 │ │ │ │ │ - bpl.n c6 │ │ │ │ │ + bpl.n fe │ │ │ │ │ ldr r0, [r4, #8] │ │ │ │ │ ldr r3, [r0, #0] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bgt.n 19a │ │ │ │ │ - add r3, sp, #16 │ │ │ │ │ + bgt.n 1d8 │ │ │ │ │ ldr r0, [r4, #4] │ │ │ │ │ + add r3, sp, #16 │ │ │ │ │ add r1, sp, #12 │ │ │ │ │ - add.w sl, r4, #20 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_split │ │ │ │ │ - movs r1, #1 │ │ │ │ │ ldr r0, [r4, #8] │ │ │ │ │ + mov.w r1, #1 │ │ │ │ │ + add.w sl, r4, #20 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy_inplace │ │ │ │ │ - movs r1, #1 │ │ │ │ │ mov r8, r0 │ │ │ │ │ ldr r0, [sp, #16] │ │ │ │ │ + mov.w r1, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy_inplace │ │ │ │ │ mov r9, r0 │ │ │ │ │ ldr r0, [sp, #16] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy │ │ │ │ │ ldr r1, [sp, #12] │ │ │ │ │ @@ -137,123 +148,134 @@ │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov r7, r0 │ │ │ │ │ - cbz r0, 180 │ │ │ │ │ - movs r1, #1 │ │ │ │ │ + cbz r0, 1bc │ │ │ │ │ ldr r0, [sp, #12] │ │ │ │ │ + mov.w r1, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy_inplace │ │ │ │ │ - mov r1, r9 │ │ │ │ │ mov fp, r0 │ │ │ │ │ + mov r1, r9 │ │ │ │ │ mov r0, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_append │ │ │ │ │ ldr r3, [r4, #16] │ │ │ │ │ mov r1, r0 │ │ │ │ │ + mov r0, fp │ │ │ │ │ str.w sl, [sp] │ │ │ │ │ mov r2, r3 │ │ │ │ │ - mov r0, fp │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov r5, r0 │ │ │ │ │ - cbz r0, 180 │ │ │ │ │ - ldr r2, [pc, #104] @ (1b0 ) │ │ │ │ │ - movs r0, #80 @ 0x50 │ │ │ │ │ - ldr r1, [pc, #104] @ (1b4 ) │ │ │ │ │ + cbz r0, 1bc │ │ │ │ │ + ldr r2, [pc, #104] @ (1f0 ) │ │ │ │ │ + mov.w r0, #80 @ 0x50 │ │ │ │ │ + ldr r1, [pc, #104] @ (1f4 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_rdft │ │ │ │ │ - add.w r1, r5, #8 │ │ │ │ │ mov r4, r0 │ │ │ │ │ add.w r2, r0, #8 │ │ │ │ │ - strd r7, r5, [r0, #64] @ 0x40 │ │ │ │ │ - str r6, [r0, #72] @ 0x48 │ │ │ │ │ + add.w r1, r5, #8 │ │ │ │ │ add.w r0, r7, #8 │ │ │ │ │ + strd r7, r5, [r4, #64] @ 0x40 │ │ │ │ │ + str r6, [r4, #72] @ 0x48 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_add │ │ │ │ │ - mov r3, r9 │ │ │ │ │ ldrd r1, r0, [sp, #12] │ │ │ │ │ + mov r3, r9 │ │ │ │ │ mov r2, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_destroy4 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - add sp, #28 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + b.n 9a │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ mov r0, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ - mov r3, r9 │ │ │ │ │ ldrd r1, r0, [sp, #12] │ │ │ │ │ + mov r3, r9 │ │ │ │ │ mov r2, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_destroy4 │ │ │ │ │ - b.n 76 │ │ │ │ │ + b.n 96 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_min_stride │ │ │ │ │ mov r7, r0 │ │ │ │ │ ldr r0, [r4, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_max_index │ │ │ │ │ cmp r7, r0 │ │ │ │ │ - bgt.w 76 │ │ │ │ │ + bgt.w 96 │ │ │ │ │ ldr r2, [sp, #20] │ │ │ │ │ - b.n c6 │ │ │ │ │ + b.n fe │ │ │ │ │ + nop │ │ │ │ │ .word 0x00000060 │ │ │ │ │ R_ARM_REL32 apply │ │ │ │ │ .word 0x00000062 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ │ │ │ │ │ -000001b8 : │ │ │ │ │ +000001f8 : │ │ │ │ │ awake(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - mov r5, r1 │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ + mov r5, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ ldr r0, [r4, #68] @ 0x44 │ │ │ │ │ mov r1, r5 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, lr} │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + ldrd r5, lr, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_awake │ │ │ │ │ │ │ │ │ │ -000001d0 : │ │ │ │ │ +0000021c : │ │ │ │ │ fftw_rdft_rank_geq2_register(): │ │ │ │ │ - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ - mov r5, r0 │ │ │ │ │ - ldr r4, [pc, #48] @ (208 ) │ │ │ │ │ - ldr r7, [pc, #48] @ (20c ) │ │ │ │ │ - add r4, pc │ │ │ │ │ - add.w r8, r4, #12 │ │ │ │ │ - add r7, pc │ │ │ │ │ - mov r6, r4 │ │ │ │ │ - ldr.w r9, [r4], #4 │ │ │ │ │ - mov r1, r7 │ │ │ │ │ - movs r0, #20 │ │ │ │ │ + strd r3, r4, [sp, #-32]! │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ + strd r5, r6, [sp, #8] │ │ │ │ │ + mov r6, r0 │ │ │ │ │ + ldr r5, [pc, #76] @ (278 ) │ │ │ │ │ + strd r7, r8, [sp, #16] │ │ │ │ │ + ldr.w r8, [pc, #72] @ 27c │ │ │ │ │ + strd r9, lr, [sp, #24] │ │ │ │ │ + add r5, pc │ │ │ │ │ + mov r7, r5 │ │ │ │ │ + add r8, pc │ │ │ │ │ + ldr.w r9, [r5], #4 │ │ │ │ │ + mov r1, r8 │ │ │ │ │ + mov.w r0, #20 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ - movs r3, #3 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - strd r9, r6, [r0, #8] │ │ │ │ │ - str r3, [r0, #16] │ │ │ │ │ - mov r0, r5 │ │ │ │ │ + mov.w r3, #3 │ │ │ │ │ + mov r0, r6 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + strd r9, r7, [r1, #8] │ │ │ │ │ + str r3, [r1, #16] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ - cmp r4, r8 │ │ │ │ │ - bne.n 1e4 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} │ │ │ │ │ - .word 0x0000002a │ │ │ │ │ + cmp r4, #3 │ │ │ │ │ + bne.n 23e │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + ldrd r5, r6, [sp, #8] │ │ │ │ │ + ldrd r7, r8, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {r9, pc} │ │ │ │ │ + .word 0x0000003c │ │ │ │ │ R_ARM_REL32 .rodata │ │ │ │ │ - .word 0x00000028 │ │ │ │ │ + .word 0x0000003c │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ ├── rank0-rdft2.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2324 (bytes into file) │ │ │ │ │ + Start of section headers: 2488 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 15 │ │ │ │ │ Section header string table index: 14 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ -There are 15 section headers, starting at offset 0x914: │ │ │ │ │ +There are 15 section headers, starting at offset 0x9b8: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000364 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0007d4 000090 08 I 12 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000398 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000398 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000398 000031 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 0003c9 000010 00 WA 0 0 4 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000864 000020 08 I 12 6 4 │ │ │ │ │ - [ 8] .data.rel.ro.local PROGBITS 00000000 0003d9 00000c 00 WA 0 0 4 │ │ │ │ │ - [ 9] .rel.data.rel.ro.local REL 00000000 000884 000008 08 I 12 8 4 │ │ │ │ │ - [10] .note.GNU-stack PROGBITS 00000000 0003e5 000000 00 0 0 1 │ │ │ │ │ - [11] .ARM.attributes ARM_ATTRIBUTES 00000000 0003e5 000033 00 0 0 1 │ │ │ │ │ - [12] .symtab SYMTAB 00000000 000418 000260 10 13 25 4 │ │ │ │ │ - [13] .strtab STRTAB 00000000 000678 00015c 00 0 0 1 │ │ │ │ │ - [14] .shstrtab STRTAB 00000000 00088c 000087 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000408 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000878 000090 08 I 12 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 00043c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 00043c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 00043c 000031 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 00046d 000010 00 WA 0 0 4 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000908 000020 08 I 12 6 4 │ │ │ │ │ + [ 8] .data.rel.ro.local PROGBITS 00000000 00047d 00000c 00 WA 0 0 4 │ │ │ │ │ + [ 9] .rel.data.rel.ro.local REL 00000000 000928 000008 08 I 12 8 4 │ │ │ │ │ + [10] .note.GNU-stack PROGBITS 00000000 000489 000000 00 0 0 1 │ │ │ │ │ + [11] .ARM.attributes ARM_ATTRIBUTES 00000000 000489 000033 00 0 0 1 │ │ │ │ │ + [12] .symtab SYMTAB 00000000 0004bc 000260 10 13 25 4 │ │ │ │ │ + [13] .strtab STRTAB 00000000 00071c 00015c 00 0 0 1 │ │ │ │ │ + [14] .shstrtab STRTAB 00000000 000930 000087 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,29 +1,29 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 38 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 336 FUNC LOCAL DEFAULT 1 apply_r2hc │ │ │ │ │ + 1: 00000001 400 FUNC LOCAL DEFAULT 1 apply_r2hc │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000148 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000150 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000151 174 FUNC LOCAL DEFAULT 1 apply_r2hc_inplace │ │ │ │ │ - 6: 00000201 18 FUNC LOCAL DEFAULT 1 apply_hc2r │ │ │ │ │ - 7: 00000215 232 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 8: 000002ec 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 9: 000002fc 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 10: 000002fd 10 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 11: 00000309 10 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 3: 00000188 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000190 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000191 238 FUNC LOCAL DEFAULT 1 apply_r2hc_inplace │ │ │ │ │ + 6: 00000281 20 FUNC LOCAL DEFAULT 1 apply_hc2r │ │ │ │ │ + 7: 00000295 264 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 8: 0000038c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 9: 0000039c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 10: 0000039d 10 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 11: 000003a9 10 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 13: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ 14: 0000001c 0 NOTYPE LOCAL DEFAULT 5 .LC1 │ │ │ │ │ - 15: 00000315 48 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ - 16: 0000033c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 17: 00000344 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 18: 00000360 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 15: 000003b5 48 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 16: 000003dc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 17: 000003e4 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 18: 00000404 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 19: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 20: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 21: 00000000 16 OBJECT LOCAL DEFAULT 6 padt.0 │ │ │ │ │ 22: 00000000 0 SECTION LOCAL DEFAULT 8 .data.rel.ro.local │ │ │ │ │ 23: 00000000 0 NOTYPE LOCAL DEFAULT 8 $d │ │ │ │ │ 24: 00000000 12 OBJECT LOCAL DEFAULT 8 sadt.1 │ │ │ │ │ 25: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_rdft2 │ │ │ │ │ @@ -31,11 +31,11 @@ │ │ │ │ │ 27: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_copy │ │ │ │ │ 28: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkproblem_rdft_0_d │ │ │ │ │ 29: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_d │ │ │ │ │ 30: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_tornk1 │ │ │ │ │ 31: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_other │ │ │ │ │ 32: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_destroy_internal │ │ │ │ │ 33: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_awake │ │ │ │ │ - 34: 00000345 32 FUNC GLOBAL DEFAULT 1 fftw_rdft2_rank0_register │ │ │ │ │ + 34: 000003e5 36 FUNC GLOBAL DEFAULT 1 fftw_rdft2_rank0_register │ │ │ │ │ 35: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ 36: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 37: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft2_solve │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,32 +1,32 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x7d4 contains 18 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x878 contains 18 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000024a 0000190a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft2 │ │ │ │ │ -0000027c 00001a0a R_ARM_THM_CALL 00000000 fftw_rdft2_inplace_strides │ │ │ │ │ -0000028c 00001b0a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ -00000294 00001c0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_0_d │ │ │ │ │ -0000029c 00001d0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -000002cc 00001e0a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ -000002e2 00001f0a R_ARM_THM_CALL 00000000 fftw_ops_other │ │ │ │ │ -000002ec 00000103 R_ARM_REL32 00000001 apply_r2hc │ │ │ │ │ -000002f0 00001303 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000002f4 00000603 R_ARM_REL32 00000201 apply_hc2r │ │ │ │ │ -000002f8 00000503 R_ARM_REL32 00000151 apply_r2hc_inplace │ │ │ │ │ -0000033c 00000d03 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -00000340 00000e03 R_ARM_REL32 0000001c .LC1 │ │ │ │ │ -0000034e 0000230a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -00000360 00001603 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -00000300 0000201e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ -0000030c 0000211e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ -0000035a 0000241e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ +000002d4 0000190a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft2 │ │ │ │ │ +0000031e 00001a0a R_ARM_THM_CALL 00000000 fftw_rdft2_inplace_strides │ │ │ │ │ +0000032e 00001b0a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ +00000336 00001c0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_0_d │ │ │ │ │ +0000033e 00001d0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +0000036e 00001e0a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ +00000384 00001f0a R_ARM_THM_CALL 00000000 fftw_ops_other │ │ │ │ │ +0000038c 00000103 R_ARM_REL32 00000001 apply_r2hc │ │ │ │ │ +00000390 00001303 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000394 00000603 R_ARM_REL32 00000281 apply_hc2r │ │ │ │ │ +00000398 00000503 R_ARM_REL32 00000191 apply_r2hc_inplace │ │ │ │ │ +000003dc 00000d03 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +000003e0 00000e03 R_ARM_REL32 0000001c .LC1 │ │ │ │ │ +000003f2 0000230a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +00000404 00001603 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +000003a0 0000201e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000003ac 0000211e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ +00000400 0000241e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x864 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x908 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00002502 R_ARM_ABS32 00000000 fftw_rdft2_solve │ │ │ │ │ -00000004 00000b02 R_ARM_ABS32 00000309 awake │ │ │ │ │ -00000008 00000f02 R_ARM_ABS32 00000315 print │ │ │ │ │ -0000000c 00000a02 R_ARM_ABS32 000002fd destroy │ │ │ │ │ +00000004 00000b02 R_ARM_ABS32 000003a9 awake │ │ │ │ │ +00000008 00000f02 R_ARM_ABS32 000003b5 print │ │ │ │ │ +0000000c 00000a02 R_ARM_ABS32 0000039d destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x884 contains 1 entry: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x928 contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000702 R_ARM_ABS32 00000215 mkplan │ │ │ │ │ +00000004 00000702 R_ARM_ABS32 00000295 mkplan │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,8 +1,7 @@ │ │ │ │ │ -*JzD*IP yD │ │ │ │ │ (rdft2-hc2r-rank0%(%p%)) │ │ │ │ │ (rdft2-r2hc-rank0%v) │ │ │ │ │ apply_r2hc │ │ │ │ │ apply_r2hc_inplace │ │ │ │ │ apply_hc2r │ │ │ │ │ fftw_mkplan_rdft2 │ │ │ │ │ fftw_rdft2_inplace_strides │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,46 +1,49 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ apply_r2hc(): │ │ │ │ │ - mov r2, r0 │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ mov sl, r3 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + ldrd r3, fp, [r0, #64] @ 0x40 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ sub sp, #20 │ │ │ │ │ - ldrd r3, fp, [r2, #64] @ 0x40 │ │ │ │ │ + ldr r2, [r0, #72] @ 0x48 │ │ │ │ │ ldr r0, [sp, #56] @ 0x38 │ │ │ │ │ - ldr r2, [r2, #72] @ 0x48 │ │ │ │ │ cmp r3, #3 │ │ │ │ │ - ble.w 144 │ │ │ │ │ + ble.w 17e │ │ │ │ │ mov.w r4, fp, lsl #4 │ │ │ │ │ - str r4, [sp, #4] │ │ │ │ │ - adds r4, r1, r4 │ │ │ │ │ + vldr d7, [pc, #348] @ 188 │ │ │ │ │ + mov lr, sl │ │ │ │ │ mov.w r9, fp, lsl #3 │ │ │ │ │ - mov r5, r4 │ │ │ │ │ - str r4, [sp, #0] │ │ │ │ │ + mov.w r6, #4 │ │ │ │ │ mov.w ip, r2, lsl #3 │ │ │ │ │ + strd r4, fp, [sp, #4] │ │ │ │ │ + add r4, r1 │ │ │ │ │ mov.w r8, fp, lsl #5 │ │ │ │ │ - lsls r7, r2, #5 │ │ │ │ │ + mov.w r7, r2, lsl #5 │ │ │ │ │ + mov r5, r4 │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ mov r4, r0 │ │ │ │ │ - mov lr, sl │ │ │ │ │ - movs r6, #4 │ │ │ │ │ - vldr d7, [pc, #268] @ 148 │ │ │ │ │ - strd fp, r2, [sp, #8] │ │ │ │ │ + str r2, [sp, #12] │ │ │ │ │ add.w r2, r1, r9 │ │ │ │ │ vldr d3, [r1] │ │ │ │ │ add.w fp, lr, ip │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ - adds r6, #4 │ │ │ │ │ + add.w r6, r6, #4 │ │ │ │ │ add r1, r8 │ │ │ │ │ vldr d4, [r2] │ │ │ │ │ add.w r2, r5, r9 │ │ │ │ │ cmp r3, r6 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ add r5, r8 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ add.w r2, r4, ip │ │ │ │ │ vstr d3, [lr] │ │ │ │ │ add lr, r7 │ │ │ │ │ vstr d7, [r4] │ │ │ │ │ add r4, r7 │ │ │ │ │ @@ -50,323 +53,340 @@ │ │ │ │ │ add r2, ip │ │ │ │ │ vstr d5, [fp] │ │ │ │ │ add fp, ip │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ add r2, ip │ │ │ │ │ vstr d6, [fp] │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ - bge.n 40 │ │ │ │ │ - lsrs r1, r3, #2 │ │ │ │ │ + bge.n 52 │ │ │ │ │ + mov.w r1, r3, lsr #2 │ │ │ │ │ add r0, r7 │ │ │ │ │ - subs r1, #1 │ │ │ │ │ - subs r4, r3, #4 │ │ │ │ │ - bic.w r4, r4, #3 │ │ │ │ │ ldrd fp, r2, [sp, #8] │ │ │ │ │ + sub.w r4, r3, #4 │ │ │ │ │ + add.w r1, r1, #4294967295 @ 0xffffffff │ │ │ │ │ + bic.w r4, r4, #3 │ │ │ │ │ + add.w r4, r4, #8 │ │ │ │ │ mul.w r5, r7, r1 │ │ │ │ │ add r7, sl │ │ │ │ │ - adds r4, #8 │ │ │ │ │ add r0, r5 │ │ │ │ │ add.w sl, r7, r5 │ │ │ │ │ ldrd r5, r6, [sp] │ │ │ │ │ add r5, r6 │ │ │ │ │ mla r1, r8, r1, r5 │ │ │ │ │ - adds r3, #3 │ │ │ │ │ + add.w r3, r3, #3 │ │ │ │ │ cmp r3, r4 │ │ │ │ │ - blt.n 106 │ │ │ │ │ + blt.n 128 │ │ │ │ │ ldrd r6, r7, [r1] │ │ │ │ │ - strd r6, r7, [sl] │ │ │ │ │ cmp r2, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq.w fp, #1 │ │ │ │ │ + strd r6, r7, [sl] │ │ │ │ │ mov.w r6, #0 │ │ │ │ │ mov.w r7, #0 │ │ │ │ │ strd r6, r7, [r0] │ │ │ │ │ - bne.n 10c │ │ │ │ │ - adds r2, r4, #1 │ │ │ │ │ + bne.n 140 │ │ │ │ │ + add.w r2, r4, #1 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - blt.n 106 │ │ │ │ │ + blt.n 128 │ │ │ │ │ ldrd r8, r9, [r1, #8] │ │ │ │ │ - adds r4, #2 │ │ │ │ │ - strd r8, r9, [sl, #8] │ │ │ │ │ + add.w r4, r4, #2 │ │ │ │ │ cmp r3, r4 │ │ │ │ │ + strd r8, r9, [sl, #8] │ │ │ │ │ strd r6, r7, [r0, #8] │ │ │ │ │ - blt.n 106 │ │ │ │ │ + blt.n 128 │ │ │ │ │ ldrd r2, r3, [r1, #16] │ │ │ │ │ strd r2, r3, [sl, #16] │ │ │ │ │ strd r6, r7, [r0, #16] │ │ │ │ │ add sp, #20 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - adds r5, r4, #1 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + add.w r5, r4, #1 │ │ │ │ │ cmp r3, r5 │ │ │ │ │ - blt.n 106 │ │ │ │ │ + blt.n 128 │ │ │ │ │ mov.w fp, fp, lsl #3 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ + add.w r4, r4, #2 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + cmp r3, r4 │ │ │ │ │ add r1, fp │ │ │ │ │ + ldrd r8, r9, [r1] │ │ │ │ │ add sl, r2 │ │ │ │ │ add r0, r2 │ │ │ │ │ - adds r4, #2 │ │ │ │ │ - cmp r3, r4 │ │ │ │ │ - ldrd r8, r9, [r1] │ │ │ │ │ strd r8, r9, [sl] │ │ │ │ │ strd r6, r7, [r0] │ │ │ │ │ - blt.n 106 │ │ │ │ │ + blt.n 128 │ │ │ │ │ add r1, fp │ │ │ │ │ add sl, r2 │ │ │ │ │ - add r0, r2 │ │ │ │ │ ldrd r4, r5, [r1] │ │ │ │ │ + add r0, r2 │ │ │ │ │ strd r4, r5, [sl] │ │ │ │ │ strd r6, r7, [r0] │ │ │ │ │ - b.n 106 │ │ │ │ │ - movs r4, #4 │ │ │ │ │ - b.n be │ │ │ │ │ + b.n 128 │ │ │ │ │ + mov.w r4, #4 │ │ │ │ │ + b.n da │ │ │ │ │ + nop.w │ │ │ │ │ ... │ │ │ │ │ │ │ │ │ │ -00000150 : │ │ │ │ │ +00000190 : │ │ │ │ │ apply_r2hc_inplace(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ + str.w r4, [sp, #-28]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ ldr r6, [r0, #64] @ 0x40 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ + strd r9, lr, [sp, #20] │ │ │ │ │ ldr r7, [r0, #72] @ 0x48 │ │ │ │ │ cmp r6, #3 │ │ │ │ │ - ble.n 1fa │ │ │ │ │ + ble.n 278 │ │ │ │ │ mov.w r9, r7, lsl #4 │ │ │ │ │ - lsls r4, r7, #3 │ │ │ │ │ + mov.w ip, #4 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + mov.w r4, r7, lsl #3 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ add.w r8, r3, r9 │ │ │ │ │ mov.w lr, r7, lsl #5 │ │ │ │ │ mov r2, r8 │ │ │ │ │ - mov.w ip, #4 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - adds r5, r3, r4 │ │ │ │ │ - strd r0, r1, [r3] │ │ │ │ │ + add.w r5, r3, r4 │ │ │ │ │ add.w ip, ip, #4 │ │ │ │ │ - add r3, lr │ │ │ │ │ + strd r0, r1, [r3] │ │ │ │ │ cmp r6, ip │ │ │ │ │ + add r3, lr │ │ │ │ │ strd r0, r1, [r5] │ │ │ │ │ add.w r5, r2, r4 │ │ │ │ │ strd r0, r1, [r2] │ │ │ │ │ add r2, lr │ │ │ │ │ strd r0, r1, [r5] │ │ │ │ │ - bge.n 176 │ │ │ │ │ - lsrs r3, r6, #2 │ │ │ │ │ + bge.n 1c8 │ │ │ │ │ + mov.w r3, r6, lsr #2 │ │ │ │ │ add.w r0, r8, r9 │ │ │ │ │ - subs r3, #1 │ │ │ │ │ - subs r2, r6, #4 │ │ │ │ │ + sub.w r2, r6, #4 │ │ │ │ │ bic.w r2, r2, #3 │ │ │ │ │ - adds r2, #8 │ │ │ │ │ + add.w r3, r3, #4294967295 @ 0xffffffff │ │ │ │ │ + add.w r2, r2, #8 │ │ │ │ │ mla r3, lr, r3, r0 │ │ │ │ │ - adds r6, #3 │ │ │ │ │ + add.w r6, r6, #3 │ │ │ │ │ cmp r6, r2 │ │ │ │ │ - blt.n 1d2 │ │ │ │ │ + blt.n 238 │ │ │ │ │ cmp r7, #1 │ │ │ │ │ - bne.n 1d6 │ │ │ │ │ - adds r4, r2, #1 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + bne.n 24a │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ + add.w r4, r2, #1 │ │ │ │ │ cmp r6, r4 │ │ │ │ │ strd r0, r1, [r3] │ │ │ │ │ - blt.n 1d2 │ │ │ │ │ - adds r2, #2 │ │ │ │ │ + blt.n 238 │ │ │ │ │ + add.w r2, r2, #2 │ │ │ │ │ strd r0, r1, [r3, #8] │ │ │ │ │ cmp r6, r2 │ │ │ │ │ - blt.n 1d2 │ │ │ │ │ + blt.n 238 │ │ │ │ │ strd r0, r1, [r3, #16] │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} │ │ │ │ │ - adds r1, r2, #1 │ │ │ │ │ - movs r4, #0 │ │ │ │ │ - movs r5, #0 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ + mov.w r5, #0 │ │ │ │ │ + add.w r1, r2, #1 │ │ │ │ │ cmp r6, r1 │ │ │ │ │ strd r4, r5, [r3] │ │ │ │ │ - blt.n 1d2 │ │ │ │ │ - lsls r1, r7, #3 │ │ │ │ │ - adds r2, #2 │ │ │ │ │ - add r3, r1 │ │ │ │ │ + blt.n 238 │ │ │ │ │ + mov.w r1, r7, lsl #3 │ │ │ │ │ + add.w r2, r2, #2 │ │ │ │ │ cmp r6, r2 │ │ │ │ │ + add r3, r1 │ │ │ │ │ strd r4, r5, [r3] │ │ │ │ │ - blt.n 1d2 │ │ │ │ │ + blt.n 238 │ │ │ │ │ add r3, r1 │ │ │ │ │ strd r4, r5, [r3] │ │ │ │ │ - b.n 1d2 │ │ │ │ │ - movs r2, #4 │ │ │ │ │ - b.n 1ac │ │ │ │ │ + b.n 238 │ │ │ │ │ + mov.w r2, #4 │ │ │ │ │ + b.n 208 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000200 : │ │ │ │ │ +00000280 : │ │ │ │ │ apply_hc2r(): │ │ │ │ │ ldr r0, [r0, #76] @ 0x4c │ │ │ │ │ mov r2, r1 │ │ │ │ │ - push {r4} │ │ │ │ │ mov r1, r3 │ │ │ │ │ + str.w r4, [sp, #-4]! │ │ │ │ │ ldr r4, [r0, #56] @ 0x38 │ │ │ │ │ mov r3, r4 │ │ │ │ │ ldr.w r4, [sp], #4 │ │ │ │ │ bx r3 │ │ │ │ │ - nop │ │ │ │ │ │ │ │ │ │ -00000214 : │ │ │ │ │ +00000294 : │ │ │ │ │ mkplan(): │ │ │ │ │ ldr r3, [r1, #4] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - cbz r3, 21e │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + cbz r3, 2a0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bx lr │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ - mov r6, r1 │ │ │ │ │ - ldr r5, [r1, #28] │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ + mov r5, r1 │ │ │ │ │ mov r4, r2 │ │ │ │ │ - cmp r5, #4 │ │ │ │ │ - beq.n 28a │ │ │ │ │ - cbnz r5, 272 │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ + ldr r6, [r1, #28] │ │ │ │ │ + cmp r6, #4 │ │ │ │ │ + beq.n 32c │ │ │ │ │ + cbnz r6, 30c │ │ │ │ │ ldr r3, [r1, #8] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - bgt.n 272 │ │ │ │ │ + bgt.n 30c │ │ │ │ │ ldr r2, [r1, #12] │ │ │ │ │ ldr r3, [r1, #20] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.n 276 │ │ │ │ │ + beq.n 318 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.n 2b8 │ │ │ │ │ - ldr r2, [pc, #168] @ (2ec ) │ │ │ │ │ + beq.n 35a │ │ │ │ │ + ldr r2, [pc, #192] @ (38c ) │ │ │ │ │ add r2, pc │ │ │ │ │ - ldr r1, [pc, #168] @ (2f0 ) │ │ │ │ │ - movs r0, #80 @ 0x50 │ │ │ │ │ + ldr r1, [pc, #192] @ (390 ) │ │ │ │ │ + mov.w r0, #80 @ 0x50 │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_rdft2 │ │ │ │ │ - ldr r3, [r6, #28] │ │ │ │ │ + ldr r3, [r5, #28] │ │ │ │ │ mov r4, r0 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - beq.n 2be │ │ │ │ │ - str r5, [r0, #76] @ 0x4c │ │ │ │ │ - add.w ip, r5, #8 │ │ │ │ │ - add.w r6, r4, #8 │ │ │ │ │ - ldmia.w ip!, {r0, r1, r2, r3} │ │ │ │ │ - stmia r6!, {r0, r1, r2, r3} │ │ │ │ │ - ldmia.w ip, {r0, r1, r2, r3} │ │ │ │ │ - stmia.w r6, {r0, r1, r2, r3} │ │ │ │ │ + beq.n 360 │ │ │ │ │ + str r6, [r0, #76] @ 0x4c │ │ │ │ │ + ldrd r0, r1, [r6, #8] │ │ │ │ │ + strd r0, r1, [r4, #8] │ │ │ │ │ + ldrd r0, r1, [r6, #16] │ │ │ │ │ + strd r0, r1, [r4, #16] │ │ │ │ │ + ldrd r0, r1, [r6, #24] │ │ │ │ │ + strd r0, r1, [r4, #24] │ │ │ │ │ + ldrd r0, r1, [r6, #32] │ │ │ │ │ + strd r0, r1, [r4, #32] │ │ │ │ │ mov r0, r4 │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ mvn.w r1, #2147483648 @ 0x80000000 │ │ │ │ │ - mov r0, r6 │ │ │ │ │ + mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_rdft2_inplace_strides │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 272 │ │ │ │ │ - ldr r3, [r6, #28] │ │ │ │ │ + beq.n 30c │ │ │ │ │ + ldr r3, [r5, #28] │ │ │ │ │ cmp r3, #4 │ │ │ │ │ - bne.n 2a8 │ │ │ │ │ - ldr r0, [r6, #8] │ │ │ │ │ + bne.n 34a │ │ │ │ │ + ldr r0, [r5, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy │ │ │ │ │ - ldr r2, [r6, #12] │ │ │ │ │ - ldr r1, [r6, #20] │ │ │ │ │ + ldr r2, [r5, #12] │ │ │ │ │ + ldr r1, [r5, #20] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_0_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ - mov r5, r0 │ │ │ │ │ + mov r6, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 272 │ │ │ │ │ - ldr r3, [r6, #28] │ │ │ │ │ - cbz r3, 2b0 │ │ │ │ │ - ldr r2, [pc, #72] @ (2f4 ) │ │ │ │ │ + beq.n 30c │ │ │ │ │ + ldr r3, [r5, #28] │ │ │ │ │ + cbz r3, 352 │ │ │ │ │ + ldr r2, [pc, #68] @ (394 ) │ │ │ │ │ add r2, pc │ │ │ │ │ - b.n 244 │ │ │ │ │ - ldr r2, [r6, #12] │ │ │ │ │ - ldr r3, [r6, #20] │ │ │ │ │ + b.n 2cc │ │ │ │ │ + ldr r2, [r5, #12] │ │ │ │ │ + ldr r3, [r5, #20] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.n 240 │ │ │ │ │ - ldr r2, [pc, #60] @ (2f8 ) │ │ │ │ │ + bne.n 2c8 │ │ │ │ │ + ldr r2, [pc, #60] @ (398 ) │ │ │ │ │ add r2, pc │ │ │ │ │ - b.n 244 │ │ │ │ │ + b.n 2cc │ │ │ │ │ add.w r3, r0, #72 @ 0x48 │ │ │ │ │ add.w r2, r0, #68 @ 0x44 │ │ │ │ │ add.w r1, r0, #64 @ 0x40 │ │ │ │ │ - ldr r0, [r6, #8] │ │ │ │ │ + ldr r0, [r5, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_tornk1 │ │ │ │ │ - ldr r3, [r6, #28] │ │ │ │ │ - str r5, [r4, #76] @ 0x4c │ │ │ │ │ + ldr r3, [r5, #28] │ │ │ │ │ + str r6, [r4, #76] @ 0x4c │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - bne.n 258 │ │ │ │ │ + bne.n 2e2 │ │ │ │ │ ldr r0, [r4, #64] @ 0x40 │ │ │ │ │ add.w r1, r4, #8 │ │ │ │ │ add.w r0, r0, r0, lsl #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_other │ │ │ │ │ mov r0, r4 │ │ │ │ │ - b.n 270 │ │ │ │ │ - nop │ │ │ │ │ - .word 0x000000a6 │ │ │ │ │ + b.n 304 │ │ │ │ │ + .word 0x000000be │ │ │ │ │ R_ARM_REL32 apply_r2hc │ │ │ │ │ - .word 0x000000a4 │ │ │ │ │ + .word 0x000000ba │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000044 │ │ │ │ │ + .word 0x00000042 │ │ │ │ │ R_ARM_REL32 apply_hc2r │ │ │ │ │ - .word 0x0000003a │ │ │ │ │ + .word 0x00000038 │ │ │ │ │ R_ARM_REL32 apply_r2hc_inplace │ │ │ │ │ │ │ │ │ │ -000002fc : │ │ │ │ │ +0000039c : │ │ │ │ │ destroy(): │ │ │ │ │ ldr r0, [r0, #76] @ 0x4c │ │ │ │ │ - cbz r0, 304 │ │ │ │ │ + cbz r0, 3a4 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_destroy_internal │ │ │ │ │ bx lr │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000308 : │ │ │ │ │ +000003a8 : │ │ │ │ │ awake(): │ │ │ │ │ ldr r0, [r0, #76] @ 0x4c │ │ │ │ │ - cbz r0, 310 │ │ │ │ │ + cbz r0, 3b0 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_awake │ │ │ │ │ bx lr │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000314 : │ │ │ │ │ +000003b4 : │ │ │ │ │ print(): │ │ │ │ │ mov r3, r0 │ │ │ │ │ - push {r4} │ │ │ │ │ mov r0, r1 │ │ │ │ │ - ldr r4, [r1, #0] │ │ │ │ │ + str.w r4, [sp, #-4]! │ │ │ │ │ ldr r2, [r3, #76] @ 0x4c │ │ │ │ │ - cbz r2, 32c │ │ │ │ │ - ldr r1, [pc, #24] @ (33c ) │ │ │ │ │ + ldr r4, [r1, #0] │ │ │ │ │ + cbz r2, 3ce │ │ │ │ │ mov r3, r4 │ │ │ │ │ + ldr r1, [pc, #20] @ (3dc ) │ │ │ │ │ ldr.w r4, [sp], #4 │ │ │ │ │ add r1, pc │ │ │ │ │ bx r3 │ │ │ │ │ - ldr r1, [pc, #16] @ (340 ) │ │ │ │ │ + ldr r1, [pc, #16] @ (3e0 ) │ │ │ │ │ ldr r2, [r3, #64] @ 0x40 │ │ │ │ │ mov r3, r4 │ │ │ │ │ - add r1, pc │ │ │ │ │ ldr.w r4, [sp], #4 │ │ │ │ │ + add r1, pc │ │ │ │ │ bx r3 │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000010 │ │ │ │ │ + .word 0x0000000e │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ - .word 0x0000000a │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .LC1 │ │ │ │ │ │ │ │ │ │ -00000344 : │ │ │ │ │ +000003e4 : │ │ │ │ │ fftw_rdft2_rank0_register(): │ │ │ │ │ - ldr r1, [pc, #24] @ (360 ) │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + ldr r1, [pc, #28] @ (404 ) │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ + mov.w r0, #8 │ │ │ │ │ add r1, pc │ │ │ │ │ - movs r0, #8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solver_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000012 │ │ │ │ │ + .word 0x00000010 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ ├── rank0.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 8592 (bytes into file) │ │ │ │ │ + Start of section headers: 9380 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 15 │ │ │ │ │ Section header string table index: 14 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ -There are 15 section headers, starting at offset 0x2190: │ │ │ │ │ +There are 15 section headers, starting at offset 0x24a4: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 001544 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 001e78 000190 08 I 12 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 001578 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 001578 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 001578 0000d2 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 00164a 000010 00 WA 0 0 4 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 002008 000020 08 I 12 6 4 │ │ │ │ │ - [ 8] .data.rel.ro.local PROGBITS 00000000 00165a 000078 00 WA 0 0 4 │ │ │ │ │ - [ 9] .rel.data.rel.ro.local REL 00000000 002028 0000e0 08 I 12 8 4 │ │ │ │ │ - [10] .note.GNU-stack PROGBITS 00000000 0016d2 000000 00 0 0 1 │ │ │ │ │ - [11] .ARM.attributes ARM_ATTRIBUTES 00000000 0016d2 000033 00 0 0 1 │ │ │ │ │ - [12] .symtab SYMTAB 00000000 001708 0004c0 10 13 55 4 │ │ │ │ │ - [13] .strtab STRTAB 00000000 001bc8 0002b0 00 0 0 1 │ │ │ │ │ - [14] .shstrtab STRTAB 00000000 002108 000087 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 001858 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 00218c 000190 08 I 12 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 00188c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 00188c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 00188c 0000d2 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 00195e 000010 00 WA 0 0 4 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 00231c 000020 08 I 12 6 4 │ │ │ │ │ + [ 8] .data.rel.ro.local PROGBITS 00000000 00196e 000078 00 WA 0 0 4 │ │ │ │ │ + [ 9] .rel.data.rel.ro.local REL 00000000 00233c 0000e0 08 I 12 8 4 │ │ │ │ │ + [10] .note.GNU-stack PROGBITS 00000000 0019e6 000000 00 0 0 1 │ │ │ │ │ + [11] .ARM.attributes ARM_ATTRIBUTES 00000000 0019e6 000033 00 0 0 1 │ │ │ │ │ + [12] .symtab SYMTAB 00000000 001a1c 0004c0 10 13 55 4 │ │ │ │ │ + [13] .strtab STRTAB 00000000 001edc 0002b0 00 0 0 1 │ │ │ │ │ + [14] .shstrtab STRTAB 00000000 00241c 000087 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,58 +1,58 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 76 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000001 12 FUNC LOCAL DEFAULT 1 applicable_iter │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 0000000d 28 FUNC LOCAL DEFAULT 1 applicable_memcpy │ │ │ │ │ - 4: 00000029 30 FUNC LOCAL DEFAULT 1 applicable_memcpy_loop │ │ │ │ │ + 3: 0000000d 30 FUNC LOCAL DEFAULT 1 applicable_memcpy │ │ │ │ │ + 4: 0000002d 32 FUNC LOCAL DEFAULT 1 applicable_memcpy_loop │ │ │ │ │ 5: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 6: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ 8: 00000008 0 NOTYPE LOCAL DEFAULT 5 .LC1 │ │ │ │ │ 9: 0000000c 0 NOTYPE LOCAL DEFAULT 5 .LC2 │ │ │ │ │ - 10: 00000049 88 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ - 11: 00000094 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 12: 000000a0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 13: 000000a1 116 FUNC LOCAL DEFAULT 1 applicable_ip_sq_tiled │ │ │ │ │ - 14: 00000115 38 FUNC LOCAL DEFAULT 1 applicable_tiled │ │ │ │ │ - 15: 0000013d 92 FUNC LOCAL DEFAULT 1 applicable_cpy2dco │ │ │ │ │ - 16: 00000199 12 FUNC LOCAL DEFAULT 1 apply_memcpy │ │ │ │ │ - 17: 000001a5 108 FUNC LOCAL DEFAULT 1 applicable_ip_sq │ │ │ │ │ - 18: 00000211 272 FUNC LOCAL DEFAULT 1 applicable │ │ │ │ │ - 19: 00000321 244 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 20: 00000410 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 21: 00000414 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 22: 00000415 1152 FUNC LOCAL DEFAULT 1 memcpy_loop │ │ │ │ │ - 23: 00000895 128 FUNC LOCAL DEFAULT 1 apply_memcpy_loop │ │ │ │ │ - 24: 00000915 1110 FUNC LOCAL DEFAULT 1 transpose │ │ │ │ │ - 25: 00000d6d 108 FUNC LOCAL DEFAULT 1 apply_ip_sq_tiledbuf │ │ │ │ │ - 26: 00000dd0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 27: 00000dd8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 28: 00000dd9 108 FUNC LOCAL DEFAULT 1 apply_ip_sq │ │ │ │ │ - 29: 00000e3c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 30: 00000e44 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 31: 00000e45 108 FUNC LOCAL DEFAULT 1 apply_ip_sq_tiled │ │ │ │ │ - 32: 00000ea8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 33: 00000eb0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 34: 00000eb1 1040 FUNC LOCAL DEFAULT 1 copy │ │ │ │ │ - 35: 000012c1 132 FUNC LOCAL DEFAULT 1 apply_tiledbuf │ │ │ │ │ - 36: 0000133c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 37: 00001344 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 38: 00001345 132 FUNC LOCAL DEFAULT 1 apply_cpy2dco │ │ │ │ │ - 39: 000013c0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 40: 000013c8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 41: 000013c9 132 FUNC LOCAL DEFAULT 1 apply_tiled │ │ │ │ │ - 42: 00001444 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 43: 0000144c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 44: 0000144d 192 FUNC LOCAL DEFAULT 1 apply_iter │ │ │ │ │ - 45: 00001504 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 46: 0000150c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 47: 00001540 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 10: 0000004d 112 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 11: 000000b0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 12: 000000bc 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 13: 000000bd 142 FUNC LOCAL DEFAULT 1 applicable_ip_sq_tiled │ │ │ │ │ + 14: 0000014d 44 FUNC LOCAL DEFAULT 1 applicable_tiled │ │ │ │ │ + 15: 00000179 116 FUNC LOCAL DEFAULT 1 applicable_cpy2dco │ │ │ │ │ + 16: 000001ed 14 FUNC LOCAL DEFAULT 1 apply_memcpy │ │ │ │ │ + 17: 000001fd 136 FUNC LOCAL DEFAULT 1 applicable_ip_sq │ │ │ │ │ + 18: 00000285 338 FUNC LOCAL DEFAULT 1 applicable │ │ │ │ │ + 19: 000003d9 284 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 20: 000004f0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 21: 000004f4 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 22: 000004f5 1302 FUNC LOCAL DEFAULT 1 memcpy_loop │ │ │ │ │ + 23: 00000a0d 166 FUNC LOCAL DEFAULT 1 apply_memcpy_loop │ │ │ │ │ + 24: 00000ab5 1180 FUNC LOCAL DEFAULT 1 transpose │ │ │ │ │ + 25: 00000f51 136 FUNC LOCAL DEFAULT 1 apply_ip_sq_tiledbuf │ │ │ │ │ + 26: 00000fd0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 27: 00000fd8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 28: 00000fd9 136 FUNC LOCAL DEFAULT 1 apply_ip_sq │ │ │ │ │ + 29: 00001058 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 30: 00001060 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 31: 00001061 136 FUNC LOCAL DEFAULT 1 apply_ip_sq_tiled │ │ │ │ │ + 32: 000010e0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 33: 000010e8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 34: 000010e9 1106 FUNC LOCAL DEFAULT 1 copy │ │ │ │ │ + 35: 0000153d 168 FUNC LOCAL DEFAULT 1 apply_tiledbuf │ │ │ │ │ + 36: 000015dc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 37: 000015e4 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 38: 000015e5 168 FUNC LOCAL DEFAULT 1 apply_cpy2dco │ │ │ │ │ + 39: 00001684 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 40: 0000168c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 41: 0000168d 168 FUNC LOCAL DEFAULT 1 apply_tiled │ │ │ │ │ + 42: 0000172c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 43: 00001734 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 44: 00001735 220 FUNC LOCAL DEFAULT 1 apply_iter │ │ │ │ │ + 45: 00001808 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 46: 00001810 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 47: 00001854 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 48: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 49: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 50: 00000000 16 OBJECT LOCAL DEFAULT 6 padt.0 │ │ │ │ │ 51: 00000000 0 SECTION LOCAL DEFAULT 8 .data.rel.ro.local │ │ │ │ │ 52: 00000000 0 NOTYPE LOCAL DEFAULT 8 $d │ │ │ │ │ 53: 00000000 108 OBJECT LOCAL DEFAULT 8 tab.1 │ │ │ │ │ 54: 0000006c 12 OBJECT LOCAL DEFAULT 8 sadt.2 │ │ │ │ │ @@ -67,13 +67,13 @@ │ │ │ │ │ 63: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_transpose │ │ │ │ │ 64: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_transpose_tiled │ │ │ │ │ 65: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_cpy2d_tiledbuf │ │ │ │ │ 66: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_cpy2d_co │ │ │ │ │ 67: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_cpy2d_tiled │ │ │ │ │ 68: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_cpy1d │ │ │ │ │ 69: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_cpy2d_ci │ │ │ │ │ - 70: 0000150d 56 FUNC GLOBAL DEFAULT 1 fftw_rdft_rank0_register │ │ │ │ │ + 70: 00001811 72 FUNC GLOBAL DEFAULT 1 fftw_rdft_rank0_register │ │ │ │ │ 71: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ 72: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 73: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_solve │ │ │ │ │ 74: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_null_awake │ │ │ │ │ 75: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_null_destroy │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,91 +1,91 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x1e78 contains 50 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x218c contains 50 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000094 00000703 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -00000098 00000803 R_ARM_REL32 00000008 .LC1 │ │ │ │ │ -0000009c 00000903 R_ARM_REL32 0000000c .LC2 │ │ │ │ │ -00000100 0000370a R_ARM_THM_CALL 00000000 fftw_compute_tilesz │ │ │ │ │ -0000012c 0000370a R_ARM_THM_CALL 00000000 fftw_compute_tilesz │ │ │ │ │ -0000016c 0000380a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -00000174 0000380a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -00000182 0000380a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -0000018a 0000380a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -0000033c 00003a0a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ -000003ca 00003b0a R_ARM_THM_CALL 00000000 fftw_tensor_sz │ │ │ │ │ -000003d4 00003c0a R_ARM_THM_CALL 00000000 fftw_ops_other │ │ │ │ │ -00000410 00003003 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000006d2 0000390a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ -00000704 0000390a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ -00000730 0000390a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ -00000768 0000390a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ -000007a2 0000390a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ -000007e2 0000390a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ -00000820 0000390a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ -00000854 0000390a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ -0000087e 0000390a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ -00000902 0000390a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ -00000dc4 00003d0a R_ARM_THM_CALL 00000000 fftw_transpose_tiledbuf │ │ │ │ │ -00000dd0 00003e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000dd4 00003d1a R_ARM_GOT_BREL 00000000 fftw_transpose_tiledbuf │ │ │ │ │ -00000e30 00003f0a R_ARM_THM_CALL 00000000 fftw_transpose │ │ │ │ │ -00000e3c 00003e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000e40 00003f1a R_ARM_GOT_BREL 00000000 fftw_transpose │ │ │ │ │ -00000e9c 0000400a R_ARM_THM_CALL 00000000 fftw_transpose_tiled │ │ │ │ │ -00000ea8 00003e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000eac 0000401a R_ARM_GOT_BREL 00000000 fftw_transpose_tiled │ │ │ │ │ -00001332 0000410a R_ARM_THM_CALL 00000000 fftw_cpy2d_tiledbuf │ │ │ │ │ -0000133c 00003e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00001340 0000411a R_ARM_GOT_BREL 00000000 fftw_cpy2d_tiledbuf │ │ │ │ │ -000013b6 0000420a R_ARM_THM_CALL 00000000 fftw_cpy2d_co │ │ │ │ │ -000013c0 00003e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -000013c4 0000421a R_ARM_GOT_BREL 00000000 fftw_cpy2d_co │ │ │ │ │ -0000143a 0000430a R_ARM_THM_CALL 00000000 fftw_cpy2d_tiled │ │ │ │ │ -00001444 00003e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00001448 0000431a R_ARM_GOT_BREL 00000000 fftw_cpy2d_tiled │ │ │ │ │ -000014bc 0000440a R_ARM_THM_CALL 00000000 fftw_cpy1d │ │ │ │ │ -000014d2 0000440a R_ARM_THM_CALL 00000000 fftw_cpy1d │ │ │ │ │ -000014f8 0000450a R_ARM_THM_CALL 00000000 fftw_cpy2d_ci │ │ │ │ │ -00001504 00003e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00001508 0000451a R_ARM_GOT_BREL 00000000 fftw_cpy2d_ci │ │ │ │ │ -0000151c 0000470a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -00001534 0000480a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -00001540 00003303 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -000001a0 0000391e R_ARM_THM_JUMP24 00000000 memcpy │ │ │ │ │ +000000b0 00000703 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +000000b4 00000803 R_ARM_REL32 00000008 .LC1 │ │ │ │ │ +000000b8 00000903 R_ARM_REL32 0000000c .LC2 │ │ │ │ │ +00000132 0000370a R_ARM_THM_CALL 00000000 fftw_compute_tilesz │ │ │ │ │ +0000016a 0000370a R_ARM_THM_CALL 00000000 fftw_compute_tilesz │ │ │ │ │ +000001c0 0000380a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +000001c8 0000380a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +000001d6 0000380a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +000001de 0000380a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +00000400 00003a0a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ +0000049a 00003b0a R_ARM_THM_CALL 00000000 fftw_tensor_sz │ │ │ │ │ +000004a6 00003c0a R_ARM_THM_CALL 00000000 fftw_ops_other │ │ │ │ │ +000004f0 00003003 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000816 0000390a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ +00000848 0000390a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ +0000087c 0000390a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ +000008be 0000390a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ +000008fe 0000390a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ +00000946 0000390a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ +0000098c 0000390a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ +000009c2 0000390a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ +000009f4 0000390a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ +00000aa4 0000390a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ +00000fc8 00003d0a R_ARM_THM_CALL 00000000 fftw_transpose_tiledbuf │ │ │ │ │ +00000fd0 00003e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000fd4 00003d1a R_ARM_GOT_BREL 00000000 fftw_transpose_tiledbuf │ │ │ │ │ +00001050 00003f0a R_ARM_THM_CALL 00000000 fftw_transpose │ │ │ │ │ +00001058 00003e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000105c 00003f1a R_ARM_GOT_BREL 00000000 fftw_transpose │ │ │ │ │ +000010d8 0000400a R_ARM_THM_CALL 00000000 fftw_transpose_tiled │ │ │ │ │ +000010e0 00003e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +000010e4 0000401a R_ARM_GOT_BREL 00000000 fftw_transpose_tiled │ │ │ │ │ +000015d4 0000410a R_ARM_THM_CALL 00000000 fftw_cpy2d_tiledbuf │ │ │ │ │ +000015dc 00003e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +000015e0 0000411a R_ARM_GOT_BREL 00000000 fftw_cpy2d_tiledbuf │ │ │ │ │ +0000167c 0000420a R_ARM_THM_CALL 00000000 fftw_cpy2d_co │ │ │ │ │ +00001684 00003e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00001688 0000421a R_ARM_GOT_BREL 00000000 fftw_cpy2d_co │ │ │ │ │ +00001724 0000430a R_ARM_THM_CALL 00000000 fftw_cpy2d_tiled │ │ │ │ │ +0000172c 00003e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00001730 0000431a R_ARM_GOT_BREL 00000000 fftw_cpy2d_tiled │ │ │ │ │ +000017b4 0000440a R_ARM_THM_CALL 00000000 fftw_cpy1d │ │ │ │ │ +000017de 0000440a R_ARM_THM_CALL 00000000 fftw_cpy1d │ │ │ │ │ +00001800 0000450a R_ARM_THM_CALL 00000000 fftw_cpy2d_ci │ │ │ │ │ +00001808 00003e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000180c 0000451a R_ARM_GOT_BREL 00000000 fftw_cpy2d_ci │ │ │ │ │ +00001828 0000470a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +00001842 0000480a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +00001854 00003303 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +000001f6 0000391e R_ARM_THM_JUMP24 00000000 memcpy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x2008 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x231c contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00004902 R_ARM_ABS32 00000000 fftw_rdft_solve │ │ │ │ │ 00000004 00004a02 R_ARM_ABS32 00000000 fftw_null_awake │ │ │ │ │ -00000008 00000a02 R_ARM_ABS32 00000049 print │ │ │ │ │ +00000008 00000a02 R_ARM_ABS32 0000004d print │ │ │ │ │ 0000000c 00004b02 R_ARM_ABS32 00000000 fftw_plan_null_destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x2028 contains 28 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x233c contains 28 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000000 00001002 R_ARM_ABS32 00000199 apply_memcpy │ │ │ │ │ +00000000 00001002 R_ARM_ABS32 000001ed apply_memcpy │ │ │ │ │ 00000004 00000302 R_ARM_ABS32 0000000d applicable_memcpy │ │ │ │ │ 00000008 00000502 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ -0000000c 00001702 R_ARM_ABS32 00000895 apply_memcpy_loop │ │ │ │ │ -00000010 00000402 R_ARM_ABS32 00000029 applicable_memcpy_loop │ │ │ │ │ +0000000c 00001702 R_ARM_ABS32 00000a0d apply_memcpy_loop │ │ │ │ │ +00000010 00000402 R_ARM_ABS32 0000002d applicable_memcpy_loop │ │ │ │ │ 00000014 00000502 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ -00000018 00002c02 R_ARM_ABS32 0000144d apply_iter │ │ │ │ │ +00000018 00002c02 R_ARM_ABS32 00001735 apply_iter │ │ │ │ │ 0000001c 00000102 R_ARM_ABS32 00000001 applicable_iter │ │ │ │ │ 00000020 00000502 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ -00000024 00002602 R_ARM_ABS32 00001345 apply_cpy2dco │ │ │ │ │ -00000028 00000f02 R_ARM_ABS32 0000013d applicable_cpy2dco │ │ │ │ │ +00000024 00002602 R_ARM_ABS32 000015e5 apply_cpy2dco │ │ │ │ │ +00000028 00000f02 R_ARM_ABS32 00000179 applicable_cpy2dco │ │ │ │ │ 0000002c 00000502 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ -00000030 00002902 R_ARM_ABS32 000013c9 apply_tiled │ │ │ │ │ -00000034 00000e02 R_ARM_ABS32 00000115 applicable_tiled │ │ │ │ │ +00000030 00002902 R_ARM_ABS32 0000168d apply_tiled │ │ │ │ │ +00000034 00000e02 R_ARM_ABS32 0000014d applicable_tiled │ │ │ │ │ 00000038 00000502 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ -0000003c 00002302 R_ARM_ABS32 000012c1 apply_tiledbuf │ │ │ │ │ -00000040 00000e02 R_ARM_ABS32 00000115 applicable_tiled │ │ │ │ │ +0000003c 00002302 R_ARM_ABS32 0000153d apply_tiledbuf │ │ │ │ │ +00000040 00000e02 R_ARM_ABS32 0000014d applicable_tiled │ │ │ │ │ 00000044 00000502 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ -00000048 00001c02 R_ARM_ABS32 00000dd9 apply_ip_sq │ │ │ │ │ -0000004c 00001102 R_ARM_ABS32 000001a5 applicable_ip_sq │ │ │ │ │ +00000048 00001c02 R_ARM_ABS32 00000fd9 apply_ip_sq │ │ │ │ │ +0000004c 00001102 R_ARM_ABS32 000001fd applicable_ip_sq │ │ │ │ │ 00000050 00000502 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ -00000054 00001f02 R_ARM_ABS32 00000e45 apply_ip_sq_tiled │ │ │ │ │ -00000058 00000d02 R_ARM_ABS32 000000a1 applicable_ip_sq_tiled │ │ │ │ │ +00000054 00001f02 R_ARM_ABS32 00001061 apply_ip_sq_tiled │ │ │ │ │ +00000058 00000d02 R_ARM_ABS32 000000bd applicable_ip_sq_tiled │ │ │ │ │ 0000005c 00000502 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ -00000060 00001902 R_ARM_ABS32 00000d6d apply_ip_sq_tiledbuf │ │ │ │ │ -00000064 00000d02 R_ARM_ABS32 000000a1 applicable_ip_sq_tiled │ │ │ │ │ +00000060 00001902 R_ARM_ABS32 00000f51 apply_ip_sq_tiledbuf │ │ │ │ │ +00000064 00000d02 R_ARM_ABS32 000000bd applicable_ip_sq_tiled │ │ │ │ │ 00000068 00000502 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ -00000070 00001302 R_ARM_ABS32 00000321 mkplan │ │ │ │ │ +00000070 00001302 R_ARM_ABS32 000003d9 mkplan │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,11 +1,7 @@ │ │ │ │ │ -+FBF9FPF │ │ │ │ │ -+FBF9FPF │ │ │ │ │ -+FBF9FPF │ │ │ │ │ -kBF9FPF │ │ │ │ │ rdft-rank0-memcpy │ │ │ │ │ rdft-rank0-memcpy-loop │ │ │ │ │ rdft-rank0-iter-ci │ │ │ │ │ rdft-rank0-iter-co │ │ │ │ │ rdft-rank0-tiled │ │ │ │ │ rdft-rank0-tiledbuf │ │ │ │ │ rdft-rank0-ip-sq │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -20,2179 +20,2278 @@ │ │ │ │ │ cbnz r3, 24 │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ cmp r0, #2 │ │ │ │ │ ite le │ │ │ │ │ movle r0, #0 │ │ │ │ │ movgt r0, #1 │ │ │ │ │ bx lr │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bx lr │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000028 : │ │ │ │ │ +0000002c : │ │ │ │ │ applicable_memcpy_loop(): │ │ │ │ │ ldrd r2, r3, [r1, #12] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.n 42 │ │ │ │ │ + beq.n 46 │ │ │ │ │ ldr r3, [r0, #68] @ 0x44 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.n 42 │ │ │ │ │ + ble.n 46 │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ cmp r0, #2 │ │ │ │ │ ite le │ │ │ │ │ movle r0, #0 │ │ │ │ │ movgt r0, #1 │ │ │ │ │ bx lr │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bx lr │ │ │ │ │ - nop │ │ │ │ │ │ │ │ │ │ -00000048 : │ │ │ │ │ +0000004c : │ │ │ │ │ print(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ - mov r7, r0 │ │ │ │ │ + strd r4, r5, [sp, #-24]! │ │ │ │ │ ldr r4, [r1, #0] │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ mov r6, r1 │ │ │ │ │ - ldr r1, [pc, #64] @ (94 ) │ │ │ │ │ + mov r7, r0 │ │ │ │ │ + ldr r1, [pc, #84] @ (b0 ) │ │ │ │ │ + strd r8, lr, [sp, #16] │ │ │ │ │ ldr r3, [r0, #64] @ 0x40 │ │ │ │ │ ldr.w r2, [r0, #456] @ 0x1c8 │ │ │ │ │ - add r1, pc │ │ │ │ │ mov r0, r6 │ │ │ │ │ + add r1, pc │ │ │ │ │ blx r4 │ │ │ │ │ ldr r3, [r7, #68] @ 0x44 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.n 84 │ │ │ │ │ - ldr.w r8, [pc, #48] @ 98 │ │ │ │ │ + ble.n 96 │ │ │ │ │ + ldr.w r8, [pc, #64] @ b4 │ │ │ │ │ mov r5, r7 │ │ │ │ │ - movs r4, #0 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ add r8, pc │ │ │ │ │ ldr r3, [r6, #0] │ │ │ │ │ mov r1, r8 │ │ │ │ │ - ldr r2, [r5, #72] @ 0x48 │ │ │ │ │ mov r0, r6 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + add.w r5, r5, #12 │ │ │ │ │ + ldr r2, [r5, #60] @ 0x3c │ │ │ │ │ blx r3 │ │ │ │ │ ldr r3, [r7, #68] @ 0x44 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - adds r5, #12 │ │ │ │ │ cmp r3, r4 │ │ │ │ │ - bgt.n 70 │ │ │ │ │ - ldr r1, [pc, #20] @ (9c ) │ │ │ │ │ + bgt.n 7e │ │ │ │ │ + ldr r1, [pc, #32] @ (b8 ) │ │ │ │ │ mov r0, r6 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ ldr r3, [r6, #0] │ │ │ │ │ add r1, pc │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, lr, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ bx r3 │ │ │ │ │ nop │ │ │ │ │ - .word 0x00000036 │ │ │ │ │ + .word 0x00000044 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ - .word 0x00000026 │ │ │ │ │ + .word 0x00000034 │ │ │ │ │ R_ARM_REL32 .LC1 │ │ │ │ │ - .word 0x0000000e │ │ │ │ │ + .word 0x00000014 │ │ │ │ │ R_ARM_REL32 .LC2 │ │ │ │ │ │ │ │ │ │ -000000a0 : │ │ │ │ │ +000000bc : │ │ │ │ │ applicable_ip_sq_tiled(): │ │ │ │ │ ldrd r2, r3, [r1, #12] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.n ac │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + beq.n ca │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bx lr │ │ │ │ │ ldr r2, [r0, #68] @ 0x44 │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - ble.n a8 │ │ │ │ │ + ble.n c4 │ │ │ │ │ cmp r2, #2 │ │ │ │ │ - push {r4, lr} │ │ │ │ │ - beq.n 10e │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ + beq.n 140 │ │ │ │ │ mov r3, r0 │ │ │ │ │ sub.w ip, r2, #2 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - b.n cc │ │ │ │ │ - adds r2, r1, #1 │ │ │ │ │ - adds r3, #12 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ + b.n f2 │ │ │ │ │ + add.w r2, r1, #1 │ │ │ │ │ + add.w r3, r3, #12 │ │ │ │ │ cmp r2, ip │ │ │ │ │ - beq.n d8 │ │ │ │ │ + beq.n 100 │ │ │ │ │ mov r1, r2 │ │ │ │ │ ldrd r4, r2, [r3, #76] @ 0x4c │ │ │ │ │ cmp r4, r2 │ │ │ │ │ - beq.n c2 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + beq.n e4 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - adds r1, #2 │ │ │ │ │ - movs r3, #12 │ │ │ │ │ - mla r2, r3, r2, r0 │ │ │ │ │ - mla r1, r3, r1, r0 │ │ │ │ │ + add.w r1, r1, #2 │ │ │ │ │ + add.w r2, r2, r2, lsl #1 │ │ │ │ │ + add.w r1, r1, r1, lsl #1 │ │ │ │ │ + add.w r2, r0, r2, lsl #2 │ │ │ │ │ + add.w r1, r0, r1, lsl #2 │ │ │ │ │ ldr r4, [r2, #72] @ 0x48 │ │ │ │ │ ldr r3, [r1, #72] @ 0x48 │ │ │ │ │ cmp r4, r3 │ │ │ │ │ - bne.n d4 │ │ │ │ │ - ldr r3, [r1, #80] @ 0x50 │ │ │ │ │ + bne.n fa │ │ │ │ │ ldr r4, [r2, #76] @ 0x4c │ │ │ │ │ + ldr r3, [r1, #80] @ 0x50 │ │ │ │ │ cmp r4, r3 │ │ │ │ │ - bne.n d4 │ │ │ │ │ - ldr r2, [r2, #80] @ 0x50 │ │ │ │ │ + bne.n fa │ │ │ │ │ ldr r3, [r1, #76] @ 0x4c │ │ │ │ │ + ldr r2, [r2, #80] @ 0x50 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.n d4 │ │ │ │ │ - movs r1, #2 │ │ │ │ │ + bne.n fa │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ + mov.w r1, #2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_compute_tilesz │ │ │ │ │ cmp r0, #4 │ │ │ │ │ ite le │ │ │ │ │ movle r0, #0 │ │ │ │ │ movgt r0, #1 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - movs r1, #1 │ │ │ │ │ - movs r2, #0 │ │ │ │ │ - b.n da │ │ │ │ │ + mov.w r1, #1 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ + b.n 104 │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000114 : │ │ │ │ │ +0000014c : │ │ │ │ │ applicable_tiled(): │ │ │ │ │ - push {r3, lr} │ │ │ │ │ + strd r3, lr, [sp, #-8]! │ │ │ │ │ ldrd r2, r3, [r1, #12] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.n 124 │ │ │ │ │ + beq.n 15e │ │ │ │ │ ldr r3, [r0, #68] @ 0x44 │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - bgt.n 128 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + bgt.n 164 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ pop {r3, pc} │ │ │ │ │ - movs r1, #1 │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ + mov.w r1, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_compute_tilesz │ │ │ │ │ cmp r0, #4 │ │ │ │ │ ite le │ │ │ │ │ movle r0, #0 │ │ │ │ │ movgt r0, #1 │ │ │ │ │ pop {r3, pc} │ │ │ │ │ - nop │ │ │ │ │ │ │ │ │ │ -0000013c : │ │ │ │ │ +00000178 : │ │ │ │ │ applicable_cpy2dco(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ + strd r3, r4, [sp, #-24]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ + strd r5, r6, [sp, #8] │ │ │ │ │ ldr r5, [r0, #68] @ 0x44 │ │ │ │ │ + strd r7, lr, [sp, #16] │ │ │ │ │ ldrd r3, r0, [r1, #12] │ │ │ │ │ cmp r3, r0 │ │ │ │ │ it ne │ │ │ │ │ cmpne r5, #1 │ │ │ │ │ ite gt │ │ │ │ │ movgt r0, #1 │ │ │ │ │ movle r0, #0 │ │ │ │ │ - bgt.n 15a │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, pc} │ │ │ │ │ - subs r6, r5, #2 │ │ │ │ │ - mov.w r8, #12 │ │ │ │ │ - subs r5, #1 │ │ │ │ │ - mla r6, r8, r6, r4 │ │ │ │ │ - mla r5, r8, r5, r4 │ │ │ │ │ + bgt.n 1a6 │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + ldrd r5, r6, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + pop {r7, pc} │ │ │ │ │ + sub.w r3, r5, #2 │ │ │ │ │ + add.w r5, r5, #4294967295 @ 0xffffffff │ │ │ │ │ + add.w r3, r3, r3, lsl #1 │ │ │ │ │ + add.w r5, r5, r5, lsl #1 │ │ │ │ │ + add.w r6, r4, r3, lsl #2 │ │ │ │ │ + add.w r5, r4, r5, lsl #2 │ │ │ │ │ ldr r0, [r6, #76] @ 0x4c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ mov r7, r0 │ │ │ │ │ ldr r0, [r5, #76] @ 0x4c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ cmp r7, r0 │ │ │ │ │ it le │ │ │ │ │ movle r0, #1 │ │ │ │ │ - ble.n 156 │ │ │ │ │ + ble.n 19a │ │ │ │ │ ldr r0, [r6, #80] @ 0x50 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldr r0, [r5, #80] @ 0x50 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ cmp r4, r0 │ │ │ │ │ ite gt │ │ │ │ │ movgt r0, #0 │ │ │ │ │ movle r0, #1 │ │ │ │ │ - b.n 156 │ │ │ │ │ + b.n 19a │ │ │ │ │ │ │ │ │ │ -00000198 : │ │ │ │ │ +000001ec : │ │ │ │ │ apply_memcpy(): │ │ │ │ │ mov r3, r2 │ │ │ │ │ ldr r2, [r0, #64] @ 0x40 │ │ │ │ │ mov r0, r3 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 memcpy │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -000001a4 : │ │ │ │ │ +000001fc : │ │ │ │ │ applicable_ip_sq(): │ │ │ │ │ ldrd r2, r3, [r1, #12] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.n 1b0 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + beq.n 20a │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bx lr │ │ │ │ │ ldr r2, [r0, #68] @ 0x44 │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - ble.n 1ac │ │ │ │ │ + ble.n 204 │ │ │ │ │ cmp r2, #2 │ │ │ │ │ - push {r4} │ │ │ │ │ - beq.n 20a │ │ │ │ │ + str.w r4, [sp, #-4]! │ │ │ │ │ + beq.n 27a │ │ │ │ │ mov r3, r0 │ │ │ │ │ sub.w ip, r2, #2 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - b.n 1d0 │ │ │ │ │ - adds r2, r1, #1 │ │ │ │ │ - adds r3, #12 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ + b.n 232 │ │ │ │ │ + add.w r2, r1, #1 │ │ │ │ │ + add.w r3, r3, #12 │ │ │ │ │ cmp r2, ip │ │ │ │ │ - beq.n 1e0 │ │ │ │ │ + beq.n 244 │ │ │ │ │ mov r1, r2 │ │ │ │ │ ldrd r4, r2, [r3, #76] @ 0x4c │ │ │ │ │ cmp r4, r2 │ │ │ │ │ - beq.n 1c6 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + beq.n 224 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ ldr.w r4, [sp], #4 │ │ │ │ │ bx lr │ │ │ │ │ - adds r1, #2 │ │ │ │ │ - movs r3, #12 │ │ │ │ │ - mla r2, r3, r2, r0 │ │ │ │ │ - mla r0, r3, r1, r0 │ │ │ │ │ + add.w r1, r1, #2 │ │ │ │ │ + add.w r1, r1, r1, lsl #1 │ │ │ │ │ + add.w r2, r2, r2, lsl #1 │ │ │ │ │ + add.w r2, r0, r2, lsl #2 │ │ │ │ │ + add.w r0, r0, r1, lsl #2 │ │ │ │ │ ldr r1, [r2, #72] @ 0x48 │ │ │ │ │ ldr r3, [r0, #72] @ 0x48 │ │ │ │ │ cmp r1, r3 │ │ │ │ │ - bne.n 1d8 │ │ │ │ │ + bne.n 23a │ │ │ │ │ ldr r1, [r2, #76] @ 0x4c │ │ │ │ │ ldr r3, [r0, #80] @ 0x50 │ │ │ │ │ cmp r1, r3 │ │ │ │ │ - bne.n 1d8 │ │ │ │ │ - ldr r3, [r2, #80] @ 0x50 │ │ │ │ │ + bne.n 23a │ │ │ │ │ ldr r0, [r0, #76] @ 0x4c │ │ │ │ │ - subs r0, r3, r0 │ │ │ │ │ + ldr r3, [r2, #80] @ 0x50 │ │ │ │ │ + sub.w r0, r3, r0 │ │ │ │ │ clz r0, r0 │ │ │ │ │ - lsrs r0, r0, #5 │ │ │ │ │ - b.n 1da │ │ │ │ │ - movs r1, #1 │ │ │ │ │ - movs r2, #0 │ │ │ │ │ - b.n 1e2 │ │ │ │ │ + mov.w r0, r0, lsr #5 │ │ │ │ │ + b.n 23e │ │ │ │ │ + mov.w r1, #1 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ + b.n 248 │ │ │ │ │ │ │ │ │ │ -00000210 : │ │ │ │ │ +00000284 : │ │ │ │ │ applicable(): │ │ │ │ │ ldr r3, [r1, #4] │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - ldr r4, [r3, #0] │ │ │ │ │ - sub sp, #484 @ 0x1e4 │ │ │ │ │ - cbnz r4, 22a │ │ │ │ │ - ldr r2, [r1, #8] │ │ │ │ │ + ldr r2, [r3, #0] │ │ │ │ │ + cbz r2, 290 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + bx lr │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ mvn.w r3, #2147483648 @ 0x80000000 │ │ │ │ │ - mov lr, r1 │ │ │ │ │ - ldr r7, [r2, #0] │ │ │ │ │ - cmp r7, r3 │ │ │ │ │ - bne.n 232 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - add sp, #484 @ 0x1e4 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - mov r5, r0 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ - movs r0, #1 │ │ │ │ │ - cmp r7, #0 │ │ │ │ │ - strd r0, r1, [sp, #80] @ 0x50 │ │ │ │ │ - ble.n 31a │ │ │ │ │ - mov r9, r2 │ │ │ │ │ - mov r8, r4 │ │ │ │ │ - mov r0, r4 │ │ │ │ │ - movs r6, #1 │ │ │ │ │ - add.w sl, sp, #16 │ │ │ │ │ - mov.w ip, #12 │ │ │ │ │ - str r4, [sp, #8] │ │ │ │ │ - str r2, [sp, #12] │ │ │ │ │ - str r5, [sp, #4] │ │ │ │ │ - cmp r6, #1 │ │ │ │ │ - beq.n 2c2 │ │ │ │ │ - cmp.w r8, #32 │ │ │ │ │ - beq.n 22a │ │ │ │ │ - mla r5, ip, r8, sl │ │ │ │ │ - add.w r2, r9, #4 │ │ │ │ │ - add.w r3, r8, #1 │ │ │ │ │ - mov fp, sl │ │ │ │ │ - adds r5, #72 @ 0x48 │ │ │ │ │ - ldmia r2, {r0, r1, r2} │ │ │ │ │ - stmia.w r5, {r0, r1, r2} │ │ │ │ │ - adds r1, r4, #1 │ │ │ │ │ - cmp r7, r1 │ │ │ │ │ - beq.n 2e8 │ │ │ │ │ - cmp r6, #1 │ │ │ │ │ - beq.n 2b8 │ │ │ │ │ - ldr r2, [sp, #12] │ │ │ │ │ - sub.w r4, r4, r8 │ │ │ │ │ - ldr r5, [sp, #4] │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + ldr r6, [r1, #8] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + sub sp, #476 @ 0x1dc │ │ │ │ │ + ldr r5, [r6, #0] │ │ │ │ │ + cmp r5, r3 │ │ │ │ │ + bne.n 2ce │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + add sp, #476 @ 0x1dc │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + mov.w r8, #1 │ │ │ │ │ + mov.w r9, #0 │ │ │ │ │ + cmp r5, #0 │ │ │ │ │ + strd r8, r9, [sp, #72] @ 0x48 │ │ │ │ │ + ble.n 3d0 │ │ │ │ │ + mov r9, r6 │ │ │ │ │ + mov lr, r2 │ │ │ │ │ + str r6, [sp, #4] │ │ │ │ │ + mov ip, r2 │ │ │ │ │ + mov fp, r2 │ │ │ │ │ + mov.w r4, #1 │ │ │ │ │ + add.w sl, sp, #8 │ │ │ │ │ + mov r7, r2 │ │ │ │ │ + cmp r4, #1 │ │ │ │ │ + beq.n 378 │ │ │ │ │ + cmp.w lr, #32 │ │ │ │ │ + beq.n 2b2 │ │ │ │ │ + ldrd r2, r3, [r9, #4] │ │ │ │ │ + add.w r6, lr, lr, lsl #1 │ │ │ │ │ + add.w ip, lr, #1 │ │ │ │ │ + mov r8, sl │ │ │ │ │ + add.w r6, sl, r6, lsl #2 │ │ │ │ │ + strd r2, r3, [r6, #72] @ 0x48 │ │ │ │ │ + ldr.w r3, [r9, #12] │ │ │ │ │ + str r3, [r6, #80] @ 0x50 │ │ │ │ │ + add.w r3, r7, #1 │ │ │ │ │ + cmp r5, r3 │ │ │ │ │ + beq.n 3a0 │ │ │ │ │ + cmp r4, #1 │ │ │ │ │ + beq.n 36e │ │ │ │ │ + ldr r6, [sp, #4] │ │ │ │ │ + mov r9, ip │ │ │ │ │ + mov ip, r3 │ │ │ │ │ + add.w ip, ip, ip, lsl #1 │ │ │ │ │ + mov r3, r9 │ │ │ │ │ + sub.w r2, r7, lr │ │ │ │ │ + add.w r9, r9, r9, lsl #1 │ │ │ │ │ cmp r3, #32 │ │ │ │ │ - mla r9, ip, r1, r2 │ │ │ │ │ - mla ip, ip, r3, sl │ │ │ │ │ - beq.n 22a │ │ │ │ │ - add.w r2, r9, #4 │ │ │ │ │ - add.w r8, ip, #72 @ 0x48 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - add.w r9, r9, #12 │ │ │ │ │ + add.w r9, sl, r9, lsl #2 │ │ │ │ │ + add.w ip, r6, ip, lsl #2 │ │ │ │ │ + beq.n 2b2 │ │ │ │ │ + ldrd r6, r7, [ip, #4] │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ add.w ip, ip, #12 │ │ │ │ │ - ldmia r2, {r0, r1, r2} │ │ │ │ │ - stmia.w r8, {r0, r1, r2} │ │ │ │ │ - adds r2, r4, r3 │ │ │ │ │ - cmp r7, r2 │ │ │ │ │ - ble.n 2ea │ │ │ │ │ + add.w r9, r9, #12 │ │ │ │ │ + strd r6, r7, [r9, #60] @ 0x3c │ │ │ │ │ + ldr.w r6, [ip] │ │ │ │ │ + str.w r6, [r9, #68] @ 0x44 │ │ │ │ │ + add.w r6, r2, r3 │ │ │ │ │ + cmp r5, r6 │ │ │ │ │ + ble.n 3a2 │ │ │ │ │ cmp r3, #32 │ │ │ │ │ - bne.n 294 │ │ │ │ │ - b.n 22a │ │ │ │ │ + bne.n 344 │ │ │ │ │ + b.n 2b2 │ │ │ │ │ + mov lr, ip │ │ │ │ │ add.w r9, r9, #12 │ │ │ │ │ - mov r8, r3 │ │ │ │ │ - mov r4, r1 │ │ │ │ │ - mov r0, r6 │ │ │ │ │ - ldr.w r6, [r9, #8] │ │ │ │ │ - cmp r6, #1 │ │ │ │ │ + mov r7, r3 │ │ │ │ │ + mov ip, r4 │ │ │ │ │ + ldr.w r4, [r9, #8] │ │ │ │ │ + cmp r4, #1 │ │ │ │ │ it ne │ │ │ │ │ - movne r6, #1 │ │ │ │ │ - bne.n 25a │ │ │ │ │ - ldr.w r1, [r9, #12] │ │ │ │ │ - cmp r1, #1 │ │ │ │ │ - bne.n 25a │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - ldr.w r6, [r9, #4] │ │ │ │ │ - cmp r7, r4 │ │ │ │ │ - beq.n 306 │ │ │ │ │ + movne r4, #1 │ │ │ │ │ + bne.n 2f6 │ │ │ │ │ + ldr.w r3, [r9, #12] │ │ │ │ │ + cmp r3, #1 │ │ │ │ │ + bne.n 2f6 │ │ │ │ │ + add.w r7, r7, #1 │ │ │ │ │ + ldr.w r4, [r9, #4] │ │ │ │ │ + cmp r5, r7 │ │ │ │ │ + beq.n 3ba │ │ │ │ │ add.w r9, r9, #12 │ │ │ │ │ - str r1, [sp, #8] │ │ │ │ │ - b.n 256 │ │ │ │ │ - ldr r5, [sp, #4] │ │ │ │ │ - str.w r3, [fp, #68] @ 0x44 │ │ │ │ │ - ldr r3, [sp, #8] │ │ │ │ │ - cbnz r3, 314 │ │ │ │ │ - ldr r3, [r5, #12] │ │ │ │ │ - mov r1, lr │ │ │ │ │ - mov r0, fp │ │ │ │ │ + mov fp, r3 │ │ │ │ │ + b.n 2f2 │ │ │ │ │ + mov r3, ip │ │ │ │ │ + str.w r3, [r8, #68] @ 0x44 │ │ │ │ │ + cmp.w fp, #0 │ │ │ │ │ + bne.n 3ca │ │ │ │ │ + ldr r3, [r0, #12] │ │ │ │ │ + mov r0, r8 │ │ │ │ │ blx r3 │ │ │ │ │ subs r0, #0 │ │ │ │ │ it ne │ │ │ │ │ movne r0, #1 │ │ │ │ │ - add sp, #484 @ 0x1e4 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - ldr r5, [sp, #4] │ │ │ │ │ - mov r3, r8 │ │ │ │ │ - add.w fp, sp, #16 │ │ │ │ │ - str r1, [sp, #8] │ │ │ │ │ - cmp r0, #0 │ │ │ │ │ - bne.n 2ea │ │ │ │ │ - str.w r6, [fp, #64] @ 0x40 │ │ │ │ │ - b.n 2f2 │ │ │ │ │ - add.w fp, sp, #16 │ │ │ │ │ - b.n 2f2 │ │ │ │ │ + b.n 2b6 │ │ │ │ │ + mov r7, r3 │ │ │ │ │ + add.w r8, sp, #8 │ │ │ │ │ + mov r3, lr │ │ │ │ │ + mov fp, r7 │ │ │ │ │ + cmp.w ip, #0 │ │ │ │ │ + bne.n 3a2 │ │ │ │ │ + str.w r4, [r8, #64] @ 0x40 │ │ │ │ │ + b.n 3ac │ │ │ │ │ + add.w r8, sp, #8 │ │ │ │ │ + b.n 3ac │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000320 : │ │ │ │ │ +000003d8 : │ │ │ │ │ mkplan(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ + strd r3, r4, [sp, #-32]! │ │ │ │ │ + strd r5, r6, [sp, #8] │ │ │ │ │ mov r5, r0 │ │ │ │ │ - mov r6, r1 │ │ │ │ │ - bl 210 │ │ │ │ │ - mov r8, r0 │ │ │ │ │ + strd r7, r8, [sp, #16] │ │ │ │ │ + mov r7, r1 │ │ │ │ │ + strd r9, lr, [sp, #24] │ │ │ │ │ + bl 284 │ │ │ │ │ + mov r6, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 3da │ │ │ │ │ - ldr r1, [pc, #220] @ (410 ) │ │ │ │ │ + beq.n 4ac │ │ │ │ │ + ldr r1, [pc, #248] @ (4f0 ) │ │ │ │ │ mov.w r0, #464 @ 0x1d0 │ │ │ │ │ ldr r2, [r5, #8] │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_rdft │ │ │ │ │ - ldr r7, [r6, #8] │ │ │ │ │ - movs r2, #1 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - strd r2, r3, [r0, #64] @ 0x40 │ │ │ │ │ mov r4, r0 │ │ │ │ │ - ldr r6, [r7, #0] │ │ │ │ │ - cmp r6, #0 │ │ │ │ │ - itttt gt │ │ │ │ │ - movgt sl, r7 │ │ │ │ │ - movgt r9, r8 │ │ │ │ │ - movgt.w ip, #0 │ │ │ │ │ - movgt.w lr, #12 │ │ │ │ │ - ble.n 3c2 │ │ │ │ │ - cmp.w r9, #1 │ │ │ │ │ - beq.n 3e2 │ │ │ │ │ + ldr r0, [r7, #8] │ │ │ │ │ + mov.w r2, #1 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + strd r2, r3, [r4, #64] @ 0x40 │ │ │ │ │ + ldr r1, [r0, #0] │ │ │ │ │ + cmp r1, #0 │ │ │ │ │ + ittt gt │ │ │ │ │ + movgt lr, r0 │ │ │ │ │ + movgt ip, r6 │ │ │ │ │ + movgt r2, #0 │ │ │ │ │ + ble.n 494 │ │ │ │ │ + cmp.w ip, #1 │ │ │ │ │ + beq.n 4c2 │ │ │ │ │ ldr r3, [r4, #68] @ 0x44 │ │ │ │ │ cmp r3, #32 │ │ │ │ │ - beq.n 3c2 │ │ │ │ │ - adds r2, r3, #1 │ │ │ │ │ - mla r3, lr, r3, r4 │ │ │ │ │ - str r2, [r4, #68] @ 0x44 │ │ │ │ │ - add.w r2, sl, #4 │ │ │ │ │ - adds r3, #72 @ 0x48 │ │ │ │ │ - add.w ip, ip, #1 │ │ │ │ │ - cmp r6, ip │ │ │ │ │ - ldmia r2, {r0, r1, r2} │ │ │ │ │ - stmia.w r3, {r0, r1, r2} │ │ │ │ │ - beq.n 3c2 │ │ │ │ │ - cmp.w r9, #1 │ │ │ │ │ - beq.n 3de │ │ │ │ │ + beq.n 494 │ │ │ │ │ + ldrd r8, r9, [lr, #4] │ │ │ │ │ + add.w r7, r3, #1 │ │ │ │ │ + add.w r3, r3, r3, lsl #1 │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ + add.w r3, r4, r3, lsl #2 │ │ │ │ │ + str r7, [r4, #68] @ 0x44 │ │ │ │ │ + cmp r1, r2 │ │ │ │ │ + strd r8, r9, [r3, #72] @ 0x48 │ │ │ │ │ + ldr.w r7, [lr, #12] │ │ │ │ │ + str r7, [r3, #80] @ 0x50 │ │ │ │ │ + beq.n 494 │ │ │ │ │ + cmp.w ip, #1 │ │ │ │ │ + beq.n 4be │ │ │ │ │ ldr r3, [r4, #68] @ 0x44 │ │ │ │ │ - mla lr, lr, ip, r7 │ │ │ │ │ - mov.w r8, #12 │ │ │ │ │ + add.w ip, r2, r2, lsl #1 │ │ │ │ │ + add.w ip, r0, ip, lsl #2 │ │ │ │ │ cmp r3, #32 │ │ │ │ │ - beq.n 3c2 │ │ │ │ │ - adds r2, r3, #1 │ │ │ │ │ - mla r3, r8, r3, r4 │ │ │ │ │ - str r2, [r4, #68] @ 0x44 │ │ │ │ │ - add.w r2, lr, #4 │ │ │ │ │ - adds r3, #72 @ 0x48 │ │ │ │ │ - add.w ip, ip, #1 │ │ │ │ │ - add.w lr, lr, #12 │ │ │ │ │ - cmp r6, ip │ │ │ │ │ - ldmia r2, {r0, r1, r2} │ │ │ │ │ - stmia.w r3, {r0, r1, r2} │ │ │ │ │ - ble.n 3c2 │ │ │ │ │ + beq.n 494 │ │ │ │ │ + add.w r6, r3, #1 │ │ │ │ │ + add.w r3, r3, r3, lsl #1 │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ + cmp r1, r2 │ │ │ │ │ + add.w ip, ip, #12 │ │ │ │ │ + str r6, [r4, #68] @ 0x44 │ │ │ │ │ + add.w r3, r4, r3, lsl #2 │ │ │ │ │ + ldrd r6, r7, [ip, #-8] │ │ │ │ │ + strd r6, r7, [r3, #72] @ 0x48 │ │ │ │ │ + ldr.w r6, [ip] │ │ │ │ │ + str r6, [r3, #80] @ 0x50 │ │ │ │ │ + ble.n 494 │ │ │ │ │ ldr r3, [r4, #68] @ 0x44 │ │ │ │ │ cmp r3, #32 │ │ │ │ │ - bne.n 39c │ │ │ │ │ + bne.n 466 │ │ │ │ │ ldr r3, [r5, #16] │ │ │ │ │ - mov r0, r7 │ │ │ │ │ str.w r3, [r4, #456] @ 0x1c8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_sz │ │ │ │ │ + mov.w r0, r0, lsl #1 │ │ │ │ │ add.w r1, r4, #8 │ │ │ │ │ - lsls r0, r0, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_other │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ - add.w sl, sl, #12 │ │ │ │ │ - ldr.w r9, [sl, #8] │ │ │ │ │ - cmp.w r9, #1 │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + ldrd r5, r6, [sp, #8] │ │ │ │ │ + ldrd r7, r8, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {r9, pc} │ │ │ │ │ + add.w lr, lr, #12 │ │ │ │ │ + ldr.w ip, [lr, #8] │ │ │ │ │ + cmp.w ip, #1 │ │ │ │ │ it ne │ │ │ │ │ - movne r9, r8 │ │ │ │ │ - bne.n 366 │ │ │ │ │ - ldr.w r3, [sl, #12] │ │ │ │ │ + movne ip, r6 │ │ │ │ │ + bne.n 428 │ │ │ │ │ + ldr.w r3, [lr, #12] │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - bne.n 366 │ │ │ │ │ - ldr.w r9, [sl, #4] │ │ │ │ │ - add.w ip, ip, #1 │ │ │ │ │ - cmp r6, ip │ │ │ │ │ - str.w r9, [r4, #64] @ 0x40 │ │ │ │ │ - beq.n 3c2 │ │ │ │ │ - add.w sl, sl, #12 │ │ │ │ │ - b.n 360 │ │ │ │ │ + bne.n 428 │ │ │ │ │ + ldr.w ip, [lr, #4] │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ + cmp r1, r2 │ │ │ │ │ + str.w ip, [r4, #64] @ 0x40 │ │ │ │ │ + beq.n 494 │ │ │ │ │ + add.w lr, lr, #12 │ │ │ │ │ + b.n 422 │ │ │ │ │ nop │ │ │ │ │ - .word 0x000000d2 │ │ │ │ │ + .word 0x000000ee │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ │ │ │ │ │ -00000414 : │ │ │ │ │ +000004f4 : │ │ │ │ │ memcpy_loop(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #212 @ 0xd4 │ │ │ │ │ ldrd r5, r4, [r2, #4] │ │ │ │ │ + str r1, [sp, #8] │ │ │ │ │ str r0, [sp, #20] │ │ │ │ │ mov r0, r1 │ │ │ │ │ - str r1, [sp, #8] │ │ │ │ │ mov r1, r3 │ │ │ │ │ ldr r3, [r2, #0] │ │ │ │ │ cmp r0, #1 │ │ │ │ │ str r3, [sp, #148] @ 0x94 │ │ │ │ │ ldr r3, [sp, #148] @ 0x94 │ │ │ │ │ - beq.w 866 │ │ │ │ │ + beq.w 9d8 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.w 6b2 │ │ │ │ │ - lsls r3, r5, #3 │ │ │ │ │ + ble.w 7da │ │ │ │ │ + mov.w r3, r5, lsl #3 │ │ │ │ │ + mov r7, r2 │ │ │ │ │ + mov r6, r1 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ str r3, [sp, #180] @ 0xb4 │ │ │ │ │ - lsls r3, r4, #3 │ │ │ │ │ + mov.w r3, r4, lsl #3 │ │ │ │ │ str r3, [sp, #184] @ 0xb8 │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ - mov r7, r2 │ │ │ │ │ - mov r6, r1 │ │ │ │ │ - movs r2, #0 │ │ │ │ │ - subs r3, #9 │ │ │ │ │ + sub.w r3, r3, #9 │ │ │ │ │ str r3, [sp, #88] @ 0x58 │ │ │ │ │ - ldr r3, [r7, #12] │ │ │ │ │ ldr r1, [sp, #8] │ │ │ │ │ - str r3, [sp, #152] @ 0x98 │ │ │ │ │ + ldr r3, [r7, #12] │ │ │ │ │ + ldr r5, [r7, #20] │ │ │ │ │ cmp r1, #2 │ │ │ │ │ + str r3, [sp, #152] @ 0x98 │ │ │ │ │ + ldr r3, [r7, #16] │ │ │ │ │ ldr r1, [sp, #152] @ 0x98 │ │ │ │ │ - ldrd r3, r5, [r7, #16] │ │ │ │ │ - beq.w 836 │ │ │ │ │ + beq.w 9a2 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - ble.w 69c │ │ │ │ │ + ble.w 7c2 │ │ │ │ │ ldr.w sl, [sp, #248] @ 0xf8 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ mov fp, r6 │ │ │ │ │ mov r9, r1 │ │ │ │ │ + str r3, [sp, #172] @ 0xac │ │ │ │ │ + mov.w r3, r5, lsl #3 │ │ │ │ │ mov ip, sl │ │ │ │ │ mov sl, r6 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ - str r2, [sp, #188] @ 0xbc │ │ │ │ │ - str r3, [sp, #172] @ 0xac │ │ │ │ │ - lsls r3, r5, #3 │ │ │ │ │ str r3, [sp, #176] @ 0xb0 │ │ │ │ │ + str r2, [sp, #188] @ 0xbc │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ ldrd r0, r6, [r7, #24] │ │ │ │ │ - cmp r3, #3 │ │ │ │ │ ldr r5, [r7, #32] │ │ │ │ │ - beq.w 7fc │ │ │ │ │ + cmp r3, #3 │ │ │ │ │ + beq.w 960 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - ble.w 684 │ │ │ │ │ - movs r2, #0 │ │ │ │ │ + ble.w 7aa │ │ │ │ │ + mov.w r3, r6, lsl #3 │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ mov r1, ip │ │ │ │ │ - str.w ip, [sp, #200] @ 0xc8 │ │ │ │ │ mov lr, fp │ │ │ │ │ - mov ip, r0 │ │ │ │ │ mov r8, r2 │ │ │ │ │ - lsls r3, r6, #3 │ │ │ │ │ - strd r9, fp, [sp, #192] @ 0xc0 │ │ │ │ │ str r3, [sp, #140] @ 0x8c │ │ │ │ │ - lsls r3, r5, #3 │ │ │ │ │ - str.w sl, [sp, #204] @ 0xcc │ │ │ │ │ + mov.w r3, r5, lsl #3 │ │ │ │ │ + strd ip, sl, [sp, #200] @ 0xc8 │ │ │ │ │ + mov ip, r0 │ │ │ │ │ str r3, [sp, #144] @ 0x90 │ │ │ │ │ - ldr r3, [r7, #36] @ 0x24 │ │ │ │ │ + strd r9, fp, [sp, #192] @ 0xc0 │ │ │ │ │ + ldrd r3, r6, [r7, #36] @ 0x24 │ │ │ │ │ + ldr r5, [r7, #44] @ 0x2c │ │ │ │ │ str r3, [sp, #116] @ 0x74 │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ - ldrd r6, r5, [r7, #40] @ 0x28 │ │ │ │ │ cmp r3, #4 │ │ │ │ │ - beq.w 7b6 │ │ │ │ │ + beq.w 912 │ │ │ │ │ ldr r3, [sp, #116] @ 0x74 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.w 66a │ │ │ │ │ - strd ip, r8, [sp, #156] @ 0x9c │ │ │ │ │ + ble.w 790 │ │ │ │ │ + mov.w r3, r6, lsl #3 │ │ │ │ │ mov.w sl, #0 │ │ │ │ │ mov fp, lr │ │ │ │ │ - mov r8, r1 │ │ │ │ │ mov r0, r7 │ │ │ │ │ - lsls r3, r6, #3 │ │ │ │ │ - strd lr, r1, [sp, #164] @ 0xa4 │ │ │ │ │ str r3, [sp, #120] @ 0x78 │ │ │ │ │ - lsls r3, r5, #3 │ │ │ │ │ + mov.w r3, r5, lsl #3 │ │ │ │ │ + strd ip, r8, [sp, #156] @ 0x9c │ │ │ │ │ + mov r8, r1 │ │ │ │ │ str r3, [sp, #124] @ 0x7c │ │ │ │ │ + strd lr, r1, [sp, #164] @ 0xa4 │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ ldrd r2, r6, [r0, #48] @ 0x30 │ │ │ │ │ - cmp r3, #5 │ │ │ │ │ ldr r5, [r0, #56] @ 0x38 │ │ │ │ │ - beq.w 77e │ │ │ │ │ + cmp r3, #5 │ │ │ │ │ + beq.w 8d4 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.w 64c │ │ │ │ │ - lsls r3, r6, #3 │ │ │ │ │ - strd sl, fp, [sp, #128] @ 0x80 │ │ │ │ │ - str r3, [sp, #92] @ 0x5c │ │ │ │ │ + ble.w 772 │ │ │ │ │ + mov.w r3, r6, lsl #3 │ │ │ │ │ mov ip, fp │ │ │ │ │ - lsls r3, r5, #3 │ │ │ │ │ - mov sl, r8 │ │ │ │ │ - movs r5, #0 │ │ │ │ │ mov r7, r0 │ │ │ │ │ + str r3, [sp, #92] @ 0x5c │ │ │ │ │ + mov.w r3, r5, lsl #3 │ │ │ │ │ + mov.w r5, #0 │ │ │ │ │ + strd sl, fp, [sp, #128] @ 0x80 │ │ │ │ │ + mov sl, r8 │ │ │ │ │ str r3, [sp, #96] @ 0x60 │ │ │ │ │ - str.w r8, [sp, #136] @ 0x88 │ │ │ │ │ str r2, [sp, #100] @ 0x64 │ │ │ │ │ + str.w r8, [sp, #136] @ 0x88 │ │ │ │ │ ldr r1, [sp, #8] │ │ │ │ │ ldrd r2, r3, [r7, #60] @ 0x3c │ │ │ │ │ - cmp r1, #6 │ │ │ │ │ ldr r6, [r7, #68] @ 0x44 │ │ │ │ │ - beq.w 744 │ │ │ │ │ + cmp r1, #6 │ │ │ │ │ + beq.w 894 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.w 630 │ │ │ │ │ + ble.w 754 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ mov r8, sl │ │ │ │ │ + mov.w r9, #0 │ │ │ │ │ + str r3, [sp, #56] @ 0x38 │ │ │ │ │ + mov.w r3, r6, lsl #3 │ │ │ │ │ str.w sl, [sp, #112] @ 0x70 │ │ │ │ │ + mov sl, r7 │ │ │ │ │ str r2, [sp, #64] @ 0x40 │ │ │ │ │ - mov.w r9, #0 │ │ │ │ │ mov r2, ip │ │ │ │ │ - mov sl, r7 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ - strd r5, ip, [sp, #104] @ 0x68 │ │ │ │ │ - str r3, [sp, #56] @ 0x38 │ │ │ │ │ - lsls r3, r6, #3 │ │ │ │ │ str r3, [sp, #60] @ 0x3c │ │ │ │ │ - ldr.w r3, [sl, #72] @ 0x48 │ │ │ │ │ + strd r5, ip, [sp, #104] @ 0x68 │ │ │ │ │ + ldrd r3, r6, [sl, #72] @ 0x48 │ │ │ │ │ + ldr.w r5, [sl, #80] @ 0x50 │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ - ldrd r6, r5, [sl, #76] @ 0x4c │ │ │ │ │ cmp r3, #7 │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ - beq.w 716 │ │ │ │ │ + beq.w 85e │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.n 614 │ │ │ │ │ - lsls r3, r6, #3 │ │ │ │ │ + ble.n 738 │ │ │ │ │ + mov.w r3, r6, lsl #3 │ │ │ │ │ mov fp, r2 │ │ │ │ │ mov r6, r8 │ │ │ │ │ - movs r7, #0 │ │ │ │ │ + mov.w r7, #0 │ │ │ │ │ str r3, [sp, #24] │ │ │ │ │ - lsls r3, r5, #3 │ │ │ │ │ - strd r9, r2, [sp, #76] @ 0x4c │ │ │ │ │ + mov.w r3, r5, lsl #3 │ │ │ │ │ str r3, [sp, #28] │ │ │ │ │ add.w r3, sl, #108 @ 0x6c │ │ │ │ │ - str.w r8, [sp, #84] @ 0x54 │ │ │ │ │ + strd r9, r2, [sp, #76] @ 0x4c │ │ │ │ │ str r3, [sp, #52] @ 0x34 │ │ │ │ │ + str.w r8, [sp, #84] @ 0x54 │ │ │ │ │ ldr r2, [sp, #8] │ │ │ │ │ ldrd r4, r3, [sl, #84] @ 0x54 │ │ │ │ │ - cmp r2, #8 │ │ │ │ │ ldr.w r5, [sl, #92] @ 0x5c │ │ │ │ │ - beq.w 6e4 │ │ │ │ │ + cmp r2, #8 │ │ │ │ │ + beq.w 826 │ │ │ │ │ cmp r4, #0 │ │ │ │ │ - ble.n 5fc │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ + ble.n 71e │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ mov r8, fp │ │ │ │ │ - str r3, [sp, #40] @ 0x28 │ │ │ │ │ - lsls r3, r5, #3 │ │ │ │ │ - str r3, [sp, #44] @ 0x2c │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - strd r3, r7, [sp, #32] │ │ │ │ │ - mov r3, r6 │ │ │ │ │ str r6, [sp, #16] │ │ │ │ │ + strd r7, r3, [sp, #36] @ 0x24 │ │ │ │ │ + mov.w r3, r5, lsl #3 │ │ │ │ │ str r4, [sp, #48] @ 0x30 │ │ │ │ │ + str r3, [sp, #44] @ 0x2c │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + str r3, [sp, #32] │ │ │ │ │ + mov r3, r6 │ │ │ │ │ ldr r2, [sp, #8] │ │ │ │ │ ldrd r7, r5, [sl, #96] @ 0x60 │ │ │ │ │ - cmp r2, #9 │ │ │ │ │ ldr.w r4, [sl, #104] @ 0x68 │ │ │ │ │ - beq.w 6b8 │ │ │ │ │ + cmp r2, #9 │ │ │ │ │ + beq.w 7f2 │ │ │ │ │ cmp r7, #0 │ │ │ │ │ - ble.n 5e0 │ │ │ │ │ + ble.n 700 │ │ │ │ │ ldr r6, [sp, #16] │ │ │ │ │ - lsls r2, r5, #3 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ - movs r5, #0 │ │ │ │ │ + mov.w r2, r5, lsl #3 │ │ │ │ │ mov r9, r3 │ │ │ │ │ - str r2, [sp, #68] @ 0x44 │ │ │ │ │ - str.w r8, [sp, #72] @ 0x48 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + mov.w r5, #0 │ │ │ │ │ + strd r2, r8, [sp, #68] @ 0x44 │ │ │ │ │ + ldr r0, [sp, #20] │ │ │ │ │ mov r3, r8 │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ str r6, [sp, #0] │ │ │ │ │ + add r6, r4 │ │ │ │ │ ldr r2, [sp, #52] @ 0x34 │ │ │ │ │ - adds r5, #1 │ │ │ │ │ ldr r1, [sp, #88] @ 0x58 │ │ │ │ │ - add r6, r4 │ │ │ │ │ - ldr r0, [sp, #20] │ │ │ │ │ - bl 414 │ │ │ │ │ + bl 4f4 │ │ │ │ │ ldr r3, [sp, #68] @ 0x44 │ │ │ │ │ cmp r7, r5 │ │ │ │ │ add r8, r3 │ │ │ │ │ - bne.n 5c0 │ │ │ │ │ + bne.n 6de │ │ │ │ │ ldr.w r8, [sp, #72] @ 0x48 │ │ │ │ │ mov r3, r9 │ │ │ │ │ - ldr r1, [sp, #40] @ 0x28 │ │ │ │ │ - ldr r0, [sp, #44] @ 0x2c │ │ │ │ │ + ldr r2, [sp, #32] │ │ │ │ │ + ldrd r1, r0, [sp, #40] @ 0x28 │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ add r8, r1 │ │ │ │ │ ldr r1, [sp, #16] │ │ │ │ │ - ldr r2, [sp, #32] │ │ │ │ │ + str r2, [sp, #32] │ │ │ │ │ add r1, r0 │ │ │ │ │ str r1, [sp, #16] │ │ │ │ │ ldr r1, [sp, #48] @ 0x30 │ │ │ │ │ - adds r2, #1 │ │ │ │ │ - str r2, [sp, #32] │ │ │ │ │ cmp r1, r2 │ │ │ │ │ - bne.n 59c │ │ │ │ │ + bne.n 6b6 │ │ │ │ │ ldr r7, [sp, #36] @ 0x24 │ │ │ │ │ mov r6, r3 │ │ │ │ │ + add.w r7, r7, #1 │ │ │ │ │ ldr r3, [sp, #24] │ │ │ │ │ - adds r7, #1 │ │ │ │ │ add fp, r3 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ add r6, r3 │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ cmp r3, r7 │ │ │ │ │ - bne.n 572 │ │ │ │ │ + bne.n 686 │ │ │ │ │ ldrd r9, r2, [sp, #76] @ 0x4c │ │ │ │ │ ldr.w r8, [sp, #84] @ 0x54 │ │ │ │ │ - ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ add.w r9, r9, #1 │ │ │ │ │ + ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ add r2, r3 │ │ │ │ │ ldr r3, [sp, #60] @ 0x3c │ │ │ │ │ add r8, r3 │ │ │ │ │ ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ cmp r3, r9 │ │ │ │ │ - bne.n 53e │ │ │ │ │ + bne.n 64c │ │ │ │ │ + ldrd r5, ip, [sp, #104] @ 0x68 │ │ │ │ │ mov r7, sl │ │ │ │ │ ldr.w sl, [sp, #112] @ 0x70 │ │ │ │ │ - ldrd r5, ip, [sp, #104] @ 0x68 │ │ │ │ │ - adds r5, #1 │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ ldr r3, [sp, #92] @ 0x5c │ │ │ │ │ add ip, r3 │ │ │ │ │ ldr r3, [sp, #96] @ 0x60 │ │ │ │ │ add sl, r3 │ │ │ │ │ ldr r3, [sp, #100] @ 0x64 │ │ │ │ │ cmp r3, r5 │ │ │ │ │ - bne.w 50e │ │ │ │ │ + bne.w 618 │ │ │ │ │ ldrd sl, fp, [sp, #128] @ 0x80 │ │ │ │ │ mov r0, r7 │ │ │ │ │ ldr.w r8, [sp, #136] @ 0x88 │ │ │ │ │ - ldr r3, [sp, #120] @ 0x78 │ │ │ │ │ add.w sl, sl, #1 │ │ │ │ │ + ldr r3, [sp, #120] @ 0x78 │ │ │ │ │ add fp, r3 │ │ │ │ │ ldr r3, [sp, #124] @ 0x7c │ │ │ │ │ add r8, r3 │ │ │ │ │ ldr r3, [sp, #116] @ 0x74 │ │ │ │ │ cmp r3, sl │ │ │ │ │ - bne.w 4e0 │ │ │ │ │ + bne.w 5e4 │ │ │ │ │ ldrd ip, r8, [sp, #156] @ 0x9c │ │ │ │ │ mov r7, r0 │ │ │ │ │ ldrd lr, r1, [sp, #164] @ 0xa4 │ │ │ │ │ add.w r8, r8, #1 │ │ │ │ │ ldr r3, [sp, #140] @ 0x8c │ │ │ │ │ cmp ip, r8 │ │ │ │ │ add lr, r3 │ │ │ │ │ ldr r3, [sp, #144] @ 0x90 │ │ │ │ │ add r1, r3 │ │ │ │ │ - bne.w 4ae │ │ │ │ │ + bne.w 5ae │ │ │ │ │ ldrd r9, fp, [sp, #192] @ 0xc0 │ │ │ │ │ ldrd ip, sl, [sp, #200] @ 0xc8 │ │ │ │ │ add.w r9, r9, #1 │ │ │ │ │ ldr r3, [sp, #172] @ 0xac │ │ │ │ │ add fp, r3 │ │ │ │ │ ldr r3, [sp, #176] @ 0xb0 │ │ │ │ │ add ip, r3 │ │ │ │ │ ldr r3, [sp, #152] @ 0x98 │ │ │ │ │ cmp r3, r9 │ │ │ │ │ - bne.w 47c │ │ │ │ │ + bne.w 57a │ │ │ │ │ ldr r2, [sp, #188] @ 0xbc │ │ │ │ │ mov r6, sl │ │ │ │ │ - ldr r3, [sp, #180] @ 0xb4 │ │ │ │ │ - adds r2, #1 │ │ │ │ │ - ldr r1, [sp, #184] @ 0xb8 │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ + ldrd r3, r1, [sp, #180] @ 0xb4 │ │ │ │ │ add r6, r3 │ │ │ │ │ ldr r3, [sp, #248] @ 0xf8 │ │ │ │ │ add r3, r1 │ │ │ │ │ str r3, [sp, #248] @ 0xf8 │ │ │ │ │ ldr r3, [sp, #148] @ 0x94 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 44c │ │ │ │ │ + bne.w 544 │ │ │ │ │ add sp, #212 @ 0xd4 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ cmp r7, #0 │ │ │ │ │ - ble.n 5e0 │ │ │ │ │ + ble.n 700 │ │ │ │ │ ldr.w r9, [sp, #16] │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ mov r1, r8 │ │ │ │ │ - movs r6, #0 │ │ │ │ │ - mov r0, r9 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + mov.w r6, #0 │ │ │ │ │ ldr r2, [sp, #20] │ │ │ │ │ - str r3, [sp, #72] @ 0x48 │ │ │ │ │ - adds r6, #1 │ │ │ │ │ - str r1, [sp, #68] @ 0x44 │ │ │ │ │ + mov r0, r9 │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ + strd r1, r3, [sp, #68] @ 0x44 │ │ │ │ │ + add r9, r4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memcpy │ │ │ │ │ - ldr r1, [sp, #68] @ 0x44 │ │ │ │ │ - add r9, r4 │ │ │ │ │ - ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ + ldrd r1, r3, [sp, #68] @ 0x44 │ │ │ │ │ cmp r7, r6 │ │ │ │ │ add r1, r5 │ │ │ │ │ - bne.n 6c8 │ │ │ │ │ - b.n 5e0 │ │ │ │ │ + bne.n 808 │ │ │ │ │ + b.n 700 │ │ │ │ │ cmp r4, #0 │ │ │ │ │ - ble.n 5fc │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ - mov r2, r5 │ │ │ │ │ - str r3, [sp, #16] │ │ │ │ │ + ble.w 71e │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ mov.w r9, #0 │ │ │ │ │ - mov r3, r6 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ + mov r2, r5 │ │ │ │ │ mov r5, fp │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ mov r8, r2 │ │ │ │ │ + mov r3, r6 │ │ │ │ │ ldr r2, [sp, #20] │ │ │ │ │ mov r1, r5 │ │ │ │ │ mov r0, r3 │ │ │ │ │ - add.w r9, r9, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memcpy │ │ │ │ │ ldr r2, [sp, #16] │ │ │ │ │ + add.w r9, r9, #1 │ │ │ │ │ mov r3, r0 │ │ │ │ │ cmp r4, r9 │ │ │ │ │ - add r5, r2 │ │ │ │ │ add r3, r8 │ │ │ │ │ - bne.n 6fa │ │ │ │ │ - b.n 5fc │ │ │ │ │ + add r5, r2 │ │ │ │ │ + bne.n 842 │ │ │ │ │ + b.n 71e │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.w 614 │ │ │ │ │ - lsls r6, r6, #3 │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ + ble.w 738 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ mov r4, r2 │ │ │ │ │ mov r3, r8 │ │ │ │ │ - movs r7, #0 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ + mov.w r7, #0 │ │ │ │ │ mov fp, r2 │ │ │ │ │ ldr r2, [sp, #20] │ │ │ │ │ mov r1, fp │ │ │ │ │ mov r0, r3 │ │ │ │ │ - adds r7, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memcpy │ │ │ │ │ ldr r2, [sp, #12] │ │ │ │ │ + add.w r7, r7, #1 │ │ │ │ │ mov r3, r0 │ │ │ │ │ add fp, r6 │ │ │ │ │ add r3, r5 │ │ │ │ │ cmp r2, r7 │ │ │ │ │ - bne.n 728 │ │ │ │ │ + bne.n 876 │ │ │ │ │ mov r2, r4 │ │ │ │ │ - b.n 614 │ │ │ │ │ + b.n 738 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.w 630 │ │ │ │ │ - str r7, [sp, #16] │ │ │ │ │ - mov.w r9, r3, lsl #3 │ │ │ │ │ - ldr r7, [sp, #20] │ │ │ │ │ - lsls r6, r6, #3 │ │ │ │ │ - str r5, [sp, #12] │ │ │ │ │ + ble.w 754 │ │ │ │ │ + strd r5, r7, [sp, #12] │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ mov r8, ip │ │ │ │ │ + ldr r7, [sp, #20] │ │ │ │ │ + mov.w r9, r3, lsl #3 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ mov r3, sl │ │ │ │ │ - movs r4, #0 │ │ │ │ │ mov fp, r2 │ │ │ │ │ mov r5, ip │ │ │ │ │ mov r1, r5 │ │ │ │ │ mov r0, r3 │ │ │ │ │ mov r2, r7 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memcpy │ │ │ │ │ mov r3, r0 │ │ │ │ │ + cmp fp, r4 │ │ │ │ │ add r5, r9 │ │ │ │ │ add r3, r6 │ │ │ │ │ - cmp fp, r4 │ │ │ │ │ - bne.n 760 │ │ │ │ │ - ldr r5, [sp, #12] │ │ │ │ │ + bne.n 8b4 │ │ │ │ │ + ldrd r5, r7, [sp, #12] │ │ │ │ │ mov ip, r8 │ │ │ │ │ - ldr r7, [sp, #16] │ │ │ │ │ - b.n 630 │ │ │ │ │ + b.n 754 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.w 64c │ │ │ │ │ - str.w sl, [sp, #12] │ │ │ │ │ - lsls r6, r6, #3 │ │ │ │ │ - ldr.w sl, [sp, #20] │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ + ble.w 772 │ │ │ │ │ + strd sl, r0, [sp, #12] │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ mov r7, fp │ │ │ │ │ + ldr.w sl, [sp, #20] │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ mov r3, r8 │ │ │ │ │ - movs r4, #0 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ mov r9, r2 │ │ │ │ │ - str r0, [sp, #16] │ │ │ │ │ mov r1, r7 │ │ │ │ │ mov r0, r3 │ │ │ │ │ mov r2, sl │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memcpy │ │ │ │ │ mov r3, r0 │ │ │ │ │ + cmp r9, r4 │ │ │ │ │ add r7, r6 │ │ │ │ │ add r3, r5 │ │ │ │ │ - cmp r9, r4 │ │ │ │ │ - bne.n 79a │ │ │ │ │ + bne.n 8f4 │ │ │ │ │ ldrd sl, r0, [sp, #12] │ │ │ │ │ - b.n 64c │ │ │ │ │ + b.n 772 │ │ │ │ │ ldr r2, [sp, #116] @ 0x74 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.w 66a │ │ │ │ │ + ble.w 790 │ │ │ │ │ + ldr.w sl, [sp, #20] │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + mov r3, r1 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ strd ip, r8, [sp, #12] │ │ │ │ │ mov r8, r2 │ │ │ │ │ - ldr.w sl, [sp, #20] │ │ │ │ │ mov r2, r7 │ │ │ │ │ - lsls r6, r6, #3 │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ - mov r3, r1 │ │ │ │ │ - movs r4, #0 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ + str r1, [sp, #24] │ │ │ │ │ mov fp, lr │ │ │ │ │ mov r7, lr │ │ │ │ │ mov r9, r2 │ │ │ │ │ - str r1, [sp, #24] │ │ │ │ │ mov r1, r7 │ │ │ │ │ mov r0, r3 │ │ │ │ │ mov r2, sl │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memcpy │ │ │ │ │ mov r3, r0 │ │ │ │ │ + cmp r8, r4 │ │ │ │ │ add r7, r6 │ │ │ │ │ add r3, r5 │ │ │ │ │ - cmp r8, r4 │ │ │ │ │ - bne.n 7da │ │ │ │ │ + bne.n 93c │ │ │ │ │ ldrd ip, r8, [sp, #12] │ │ │ │ │ mov lr, fp │ │ │ │ │ - ldr r1, [sp, #24] │ │ │ │ │ mov r7, r9 │ │ │ │ │ - b.n 66a │ │ │ │ │ + ldr r1, [sp, #24] │ │ │ │ │ + b.n 790 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - ble.w 684 │ │ │ │ │ + ble.w 7aa │ │ │ │ │ ldr.w r8, [sp, #20] │ │ │ │ │ - lsls r6, r6, #3 │ │ │ │ │ - strd r9, ip, [sp, #12] │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ - str r7, [sp, #24] │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ mov r3, ip │ │ │ │ │ - movs r4, #0 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ + strd r9, ip, [sp, #12] │ │ │ │ │ mov r9, r0 │ │ │ │ │ + str r7, [sp, #24] │ │ │ │ │ mov r7, fp │ │ │ │ │ mov r1, r7 │ │ │ │ │ mov r0, r3 │ │ │ │ │ mov r2, r8 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memcpy │ │ │ │ │ mov r3, r0 │ │ │ │ │ + cmp r9, r4 │ │ │ │ │ add r7, r6 │ │ │ │ │ add r3, r5 │ │ │ │ │ - cmp r9, r4 │ │ │ │ │ - bne.n 818 │ │ │ │ │ + bne.n 982 │ │ │ │ │ ldrd r9, ip, [sp, #12] │ │ │ │ │ ldr r7, [sp, #24] │ │ │ │ │ - b.n 684 │ │ │ │ │ + b.n 7aa │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - ble.w 69c │ │ │ │ │ + ble.w 7c2 │ │ │ │ │ mov.w r9, r3, lsl #3 │ │ │ │ │ ldr r3, [sp, #248] @ 0xf8 │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ mov r8, r6 │ │ │ │ │ - movs r4, #0 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ mov fp, r2 │ │ │ │ │ mov sl, r1 │ │ │ │ │ + ldr r2, [sp, #20] │ │ │ │ │ mov r1, r8 │ │ │ │ │ mov r0, r3 │ │ │ │ │ - ldr r2, [sp, #20] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memcpy │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ mov r3, r0 │ │ │ │ │ + cmp sl, r4 │ │ │ │ │ add r8, r9 │ │ │ │ │ add r3, r5 │ │ │ │ │ - cmp sl, r4 │ │ │ │ │ - bne.n 84c │ │ │ │ │ + bne.n 9bc │ │ │ │ │ mov r2, fp │ │ │ │ │ - b.n 69c │ │ │ │ │ + b.n 7c2 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.w 6b2 │ │ │ │ │ + ble.w 7da │ │ │ │ │ ldr r3, [sp, #248] @ 0xf8 │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ - movs r6, #0 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ + mov.w r6, #0 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ mov r7, r1 │ │ │ │ │ ldr r2, [sp, #20] │ │ │ │ │ mov r1, r7 │ │ │ │ │ mov r0, r3 │ │ │ │ │ - adds r6, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memcpy │ │ │ │ │ ldr r2, [sp, #148] @ 0x94 │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ mov r3, r0 │ │ │ │ │ add r7, r5 │ │ │ │ │ add r3, r4 │ │ │ │ │ cmp r2, r6 │ │ │ │ │ - bne.n 876 │ │ │ │ │ - add sp, #212 @ 0xd4 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + bne.n 9ee │ │ │ │ │ + b.n 7da │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000894 : │ │ │ │ │ +00000a0c : │ │ │ │ │ apply_memcpy_loop(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ mov r3, r0 │ │ │ │ │ - ldr r7, [r0, #64] @ 0x40 │ │ │ │ │ - mov r5, r2 │ │ │ │ │ mov r4, r1 │ │ │ │ │ - ldrd r2, fp, [r0, #68] @ 0x44 │ │ │ │ │ - sub sp, #20 │ │ │ │ │ - ldr r0, [r0, #76] @ 0x4c │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r5, r2 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + ldrd r7, r2, [r0, #64] @ 0x40 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ ldr r1, [r3, #80] @ 0x50 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + sub sp, #20 │ │ │ │ │ + ldrd fp, r0, [r0, #72] @ 0x48 │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - beq.n 8ea │ │ │ │ │ - subs r2, #1 │ │ │ │ │ - add.w r6, r3, #84 @ 0x54 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + beq.n a88 │ │ │ │ │ cmp.w fp, #0 │ │ │ │ │ - ble.n 8e4 │ │ │ │ │ + add.w r2, r2, #4294967295 @ 0xffffffff │ │ │ │ │ + add.w r6, r3, #84 @ 0x54 │ │ │ │ │ + ble.n a70 │ │ │ │ │ mov.w r9, r0, lsl #3 │ │ │ │ │ - mov.w r8, r1, lsl #3 │ │ │ │ │ mov.w sl, #0 │ │ │ │ │ str r2, [sp, #12] │ │ │ │ │ - mov r3, r4 │ │ │ │ │ - str r5, [sp, #0] │ │ │ │ │ + mov.w r8, r1, lsl #3 │ │ │ │ │ ldr r1, [sp, #12] │ │ │ │ │ + mov r3, r4 │ │ │ │ │ mov r2, r6 │ │ │ │ │ mov r0, r7 │ │ │ │ │ add.w sl, sl, #1 │ │ │ │ │ - bl 414 │ │ │ │ │ + str r5, [sp, #0] │ │ │ │ │ + bl 4f4 │ │ │ │ │ + cmp fp, sl │ │ │ │ │ add r4, r9 │ │ │ │ │ add r5, r8 │ │ │ │ │ - cmp fp, sl │ │ │ │ │ - bne.n 8ca │ │ │ │ │ + bne.n a56 │ │ │ │ │ add sp, #20 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ cmp.w fp, #0 │ │ │ │ │ - ble.n 8e4 │ │ │ │ │ + ble.n a70 │ │ │ │ │ mov.w r9, r0, lsl #3 │ │ │ │ │ + mov.w r6, #0 │ │ │ │ │ mov.w r8, r1, lsl #3 │ │ │ │ │ - movs r6, #0 │ │ │ │ │ mov r1, r4 │ │ │ │ │ mov r0, r5 │ │ │ │ │ mov r2, r7 │ │ │ │ │ - adds r6, #1 │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memcpy │ │ │ │ │ + cmp fp, r6 │ │ │ │ │ add r4, r9 │ │ │ │ │ add r5, r8 │ │ │ │ │ - cmp fp, r6 │ │ │ │ │ - bne.n 8fa │ │ │ │ │ - add sp, #20 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + bne.n a9a │ │ │ │ │ + b.n a70 │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000914 : │ │ │ │ │ +00000ab4 : │ │ │ │ │ transpose(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r9, r1 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + cmp r1, #2 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r6, r3 │ │ │ │ │ - sub sp, #84 @ 0x54 │ │ │ │ │ - ldr r1, [r0, #0] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r8, r0 │ │ │ │ │ - cmp.w r9, #2 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov r9, r1 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + sub sp, #84 @ 0x54 │ │ │ │ │ ldr r3, [sp, #120] @ 0x78 │ │ │ │ │ - str r2, [sp, #48] @ 0x30 │ │ │ │ │ - str r3, [sp, #44] @ 0x2c │ │ │ │ │ - beq.w ce0 │ │ │ │ │ + ldr r1, [r0, #0] │ │ │ │ │ + strd r3, r2, [sp, #44] @ 0x2c │ │ │ │ │ + beq.w eae │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - ble.w b3c │ │ │ │ │ - ldr r2, [r0, #12] │ │ │ │ │ + ble.w ce4 │ │ │ │ │ cmp.w r9, #3 │ │ │ │ │ - beq.w d3e │ │ │ │ │ - movs r7, #0 │ │ │ │ │ - mov lr, r9 │ │ │ │ │ + ldr r2, [r0, #12] │ │ │ │ │ + beq.w f20 │ │ │ │ │ add.w r3, r8, #108 @ 0x6c │ │ │ │ │ + mov.w r7, #0 │ │ │ │ │ + mov lr, r9 │ │ │ │ │ str r3, [sp, #16] │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.w d26 │ │ │ │ │ + ble.w f06 │ │ │ │ │ ldr.w r0, [r8, #24] │ │ │ │ │ cmp.w lr, #4 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - beq.w cf8 │ │ │ │ │ + beq.w ed8 │ │ │ │ │ mov r9, r6 │ │ │ │ │ mov.w sl, #0 │ │ │ │ │ + strd r7, r6, [sp, #64] @ 0x40 │ │ │ │ │ mov fp, r8 │ │ │ │ │ - str r7, [sp, #64] @ 0x40 │ │ │ │ │ - str r6, [sp, #68] @ 0x44 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - ble.w ccc │ │ │ │ │ + ble.w e9a │ │ │ │ │ ldr.w r2, [fp, #36] @ 0x24 │ │ │ │ │ cmp.w lr, #5 │ │ │ │ │ mov r1, r2 │ │ │ │ │ - beq.w c98 │ │ │ │ │ - strd sl, r9, [sp, #72] @ 0x48 │ │ │ │ │ - movs r6, #0 │ │ │ │ │ + beq.w e62 │ │ │ │ │ + mov.w r6, #0 │ │ │ │ │ mov r8, fp │ │ │ │ │ + strd sl, r9, [sp, #72] @ 0x48 │ │ │ │ │ mov sl, lr │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.w c86 │ │ │ │ │ + ble.w e4e │ │ │ │ │ ldr.w r5, [r8, #48] @ 0x30 │ │ │ │ │ cmp.w sl, #6 │ │ │ │ │ mov r1, r5 │ │ │ │ │ - beq.w c56 │ │ │ │ │ - movs r7, #0 │ │ │ │ │ + beq.w e1e │ │ │ │ │ mov ip, sl │ │ │ │ │ + ldr.w sl, [sp, #44] @ 0x2c │ │ │ │ │ + mov.w r7, #0 │ │ │ │ │ str.w r9, [sp, #36] @ 0x24 │ │ │ │ │ - str.w r9, [sp, #60] @ 0x3c │ │ │ │ │ - ldrd sl, r9, [sp, #44] @ 0x2c │ │ │ │ │ - str r6, [sp, #56] @ 0x38 │ │ │ │ │ + strd r6, r9, [sp, #56] @ 0x38 │ │ │ │ │ mov r6, r7 │ │ │ │ │ + ldr.w r9, [sp, #48] @ 0x30 │ │ │ │ │ cmp r5, #0 │ │ │ │ │ - ble.w c40 │ │ │ │ │ + ble.w e06 │ │ │ │ │ ldr.w r2, [r8, #60] @ 0x3c │ │ │ │ │ cmp.w ip, #7 │ │ │ │ │ mov r1, r2 │ │ │ │ │ - beq.w c0e │ │ │ │ │ + beq.w dd0 │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ - movs r7, #0 │ │ │ │ │ + mov.w r7, #0 │ │ │ │ │ + mov fp, ip │ │ │ │ │ str r3, [sp, #32] │ │ │ │ │ mov r3, r9 │ │ │ │ │ - mov fp, ip │ │ │ │ │ mov r9, r7 │ │ │ │ │ mov r7, r3 │ │ │ │ │ str r6, [sp, #52] @ 0x34 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.w bf6 │ │ │ │ │ + ble.w db8 │ │ │ │ │ ldr.w r4, [r8, #72] @ 0x48 │ │ │ │ │ cmp.w fp, #8 │ │ │ │ │ mov r1, r4 │ │ │ │ │ - beq.w bce │ │ │ │ │ + beq.w d90 │ │ │ │ │ ldr r3, [sp, #32] │ │ │ │ │ - movs r5, #0 │ │ │ │ │ + mov.w r5, #0 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ str.w r9, [sp, #40] @ 0x28 │ │ │ │ │ cmp r4, #0 │ │ │ │ │ - ble.w bb8 │ │ │ │ │ + ble.w d78 │ │ │ │ │ ldr.w r3, [r8, #84] @ 0x54 │ │ │ │ │ - movs r6, #0 │ │ │ │ │ - ldr.w r9, [sp, #8] │ │ │ │ │ cmp.w fp, #9 │ │ │ │ │ + mov.w r6, #0 │ │ │ │ │ + ldr.w r9, [sp, #8] │ │ │ │ │ mov r1, r3 │ │ │ │ │ - beq.w b42 │ │ │ │ │ - mov lr, r5 │ │ │ │ │ + beq.w cfc │ │ │ │ │ sub.w r2, fp, #9 │ │ │ │ │ + mov lr, r5 │ │ │ │ │ str r2, [sp, #12] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.w ba6 │ │ │ │ │ + ble.w d64 │ │ │ │ │ ldr.w r2, [r8, #96] @ 0x60 │ │ │ │ │ cmp.w fp, #10 │ │ │ │ │ mov r1, r2 │ │ │ │ │ - beq.w b76 │ │ │ │ │ + beq.w d30 │ │ │ │ │ mov r0, r9 │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.w b64 │ │ │ │ │ - strd r6, r9, [sp, #20] │ │ │ │ │ + ble.w d1c │ │ │ │ │ mov r5, r0 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ + strd r6, r9, [sp, #20] │ │ │ │ │ mov r6, sl │ │ │ │ │ - movs r4, #0 │ │ │ │ │ mov r9, lr │ │ │ │ │ - mov sl, r0 │ │ │ │ │ str r1, [sp, #28] │ │ │ │ │ + mov sl, r0 │ │ │ │ │ + ldrd r1, r0, [sp, #12] │ │ │ │ │ mov r3, r5 │ │ │ │ │ mov r2, r7 │ │ │ │ │ - ldrd r1, r0, [sp, #12] │ │ │ │ │ str r6, [sp, #0] │ │ │ │ │ - bl 914 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + bl ab4 │ │ │ │ │ ldr.w r2, [r8, #100] @ 0x64 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ add.w r5, r5, r2, lsl #3 │ │ │ │ │ ldr.w r2, [r8, #96] @ 0x60 │ │ │ │ │ cmp r4, r2 │ │ │ │ │ - blt.n a42 │ │ │ │ │ + blt.n c02 │ │ │ │ │ ldr r1, [sp, #28] │ │ │ │ │ mov r0, sl │ │ │ │ │ - ldr.w r4, [r8, #88] @ 0x58 │ │ │ │ │ mov lr, r9 │ │ │ │ │ - ldr.w r3, [r8, #84] @ 0x54 │ │ │ │ │ - adds r1, #1 │ │ │ │ │ mov sl, r6 │ │ │ │ │ - ldr.w r9, [sp, #24] │ │ │ │ │ - ldr r6, [sp, #20] │ │ │ │ │ - add.w r0, r0, r4, lsl #3 │ │ │ │ │ + ldrd r3, r4, [r8, #84] @ 0x54 │ │ │ │ │ + ldrd r6, r9, [sp, #20] │ │ │ │ │ + add.w r1, r1, #1 │ │ │ │ │ cmp r1, r3 │ │ │ │ │ - blt.n a2c │ │ │ │ │ - ldr.w r2, [r8, #76] @ 0x4c │ │ │ │ │ - adds r6, #1 │ │ │ │ │ - ldr.w r4, [r8, #72] @ 0x48 │ │ │ │ │ - add.w r9, r9, r2, lsl #3 │ │ │ │ │ + add.w r0, r0, r4, lsl #3 │ │ │ │ │ + blt.n bea │ │ │ │ │ + ldrd r4, r2, [r8, #72] @ 0x48 │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ cmp r6, r4 │ │ │ │ │ - blt.n a14 │ │ │ │ │ + add.w r9, r9, r2, lsl #3 │ │ │ │ │ + blt.n bd0 │ │ │ │ │ mov r5, lr │ │ │ │ │ ldr r1, [sp, #8] │ │ │ │ │ - adds r5, #1 │ │ │ │ │ - ldr.w r3, [r8, #64] @ 0x40 │ │ │ │ │ - ldr.w r2, [r8, #60] @ 0x3c │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ + ldrd r2, r3, [r8, #60] @ 0x3c │ │ │ │ │ add.w r3, r1, r3, lsl #3 │ │ │ │ │ cmp r5, r2 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ - blt.n 9f2 │ │ │ │ │ + blt.n bac │ │ │ │ │ ldr.w r9, [sp, #40] @ 0x28 │ │ │ │ │ - ldr r1, [sp, #32] │ │ │ │ │ add.w r9, r9, #1 │ │ │ │ │ - ldr.w r3, [r8, #52] @ 0x34 │ │ │ │ │ - ldr.w r5, [r8, #48] @ 0x30 │ │ │ │ │ + ldr r1, [sp, #32] │ │ │ │ │ + ldrd r5, r3, [r8, #48] @ 0x30 │ │ │ │ │ add.w r3, r1, r3, lsl #3 │ │ │ │ │ cmp r9, r5 │ │ │ │ │ str r3, [sp, #32] │ │ │ │ │ - blt.n 9d4 │ │ │ │ │ + blt.n b8c │ │ │ │ │ ldr r6, [sp, #52] @ 0x34 │ │ │ │ │ mov ip, fp │ │ │ │ │ mov r9, r7 │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ + ldrd r2, r3, [r8, #36] @ 0x24 │ │ │ │ │ ldr r1, [sp, #36] @ 0x24 │ │ │ │ │ - adds r6, #1 │ │ │ │ │ - ldr.w r3, [r8, #40] @ 0x28 │ │ │ │ │ - ldr.w r2, [r8, #36] @ 0x24 │ │ │ │ │ - add.w r3, r1, r3, lsl #3 │ │ │ │ │ cmp r6, r2 │ │ │ │ │ + add.w r3, r1, r3, lsl #3 │ │ │ │ │ str r3, [sp, #36] @ 0x24 │ │ │ │ │ - blt.w 9b0 │ │ │ │ │ + blt.w b66 │ │ │ │ │ ldrd r6, r9, [sp, #56] @ 0x38 │ │ │ │ │ mov sl, ip │ │ │ │ │ - ldr.w r3, [r8, #28] │ │ │ │ │ - adds r6, #1 │ │ │ │ │ - ldr.w r0, [r8, #24] │ │ │ │ │ - add.w r9, r9, r3, lsl #3 │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ + ldrd r0, r3, [r8, #24] │ │ │ │ │ cmp r6, r0 │ │ │ │ │ - blt.w 988 │ │ │ │ │ + add.w r9, r9, r3, lsl #3 │ │ │ │ │ + blt.w b3a │ │ │ │ │ mov lr, sl │ │ │ │ │ - ldr.w r9, [sp, #76] @ 0x4c │ │ │ │ │ - ldr.w sl, [sp, #72] @ 0x48 │ │ │ │ │ + ldrd sl, r9, [sp, #72] @ 0x48 │ │ │ │ │ mov fp, r8 │ │ │ │ │ - ldr.w r3, [fp, #16] │ │ │ │ │ add.w sl, sl, #1 │ │ │ │ │ - ldr.w r2, [fp, #12] │ │ │ │ │ - add.w r9, r9, r3, lsl #3 │ │ │ │ │ + ldrd r2, r3, [fp, #12] │ │ │ │ │ cmp sl, r2 │ │ │ │ │ - blt.w 96a │ │ │ │ │ - ldr r7, [sp, #64] @ 0x40 │ │ │ │ │ + add.w r9, r9, r3, lsl #3 │ │ │ │ │ + blt.w b1a │ │ │ │ │ + ldrd r7, r6, [sp, #64] @ 0x40 │ │ │ │ │ mov r8, fp │ │ │ │ │ - ldr r6, [sp, #68] @ 0x44 │ │ │ │ │ - ldr.w r3, [r8, #4] │ │ │ │ │ - adds r7, #1 │ │ │ │ │ - ldr.w r1, [r8] │ │ │ │ │ - add.w r6, r6, r3, lsl #3 │ │ │ │ │ + add.w r7, r7, #1 │ │ │ │ │ + ldrd r1, r3, [r8] │ │ │ │ │ cmp r7, r1 │ │ │ │ │ - blt.w 94a │ │ │ │ │ + add.w r6, r6, r3, lsl #3 │ │ │ │ │ + blt.w afa │ │ │ │ │ add sp, #84 @ 0x54 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - str r7, [sp, #0] │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ mov r0, r9 │ │ │ │ │ - adds r6, #1 │ │ │ │ │ + str r7, [sp, #0] │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ ldrd r2, r3, [r8, #88] @ 0x58 │ │ │ │ │ blx sl │ │ │ │ │ - ldr.w r3, [r8, #76] @ 0x4c │ │ │ │ │ - ldr.w r4, [r8, #72] @ 0x48 │ │ │ │ │ - add.w r9, r9, r3, lsl #3 │ │ │ │ │ + ldrd r4, r3, [r8, #72] @ 0x48 │ │ │ │ │ cmp r6, r4 │ │ │ │ │ - bge.n a96 │ │ │ │ │ + add.w r9, r9, r3, lsl #3 │ │ │ │ │ + bge.n c52 │ │ │ │ │ ldr.w r1, [r8, #84] @ 0x54 │ │ │ │ │ - b.n b42 │ │ │ │ │ + b.n cfc │ │ │ │ │ ldr.w r4, [r8, #88] @ 0x58 │ │ │ │ │ - adds r1, #1 │ │ │ │ │ + add.w r1, r1, #1 │ │ │ │ │ cmp r3, r1 │ │ │ │ │ add.w r0, r0, r4, lsl #3 │ │ │ │ │ - bgt.w a2c │ │ │ │ │ - b.n a82 │ │ │ │ │ + bgt.w bea │ │ │ │ │ + b.n c40 │ │ │ │ │ mov r5, r9 │ │ │ │ │ - movs r4, #0 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ str.w lr, [sp, #20] │ │ │ │ │ - str r7, [sp, #0] │ │ │ │ │ mov r0, r5 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + str r7, [sp, #0] │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ ldrd r2, r3, [r8, #100] @ 0x64 │ │ │ │ │ blx sl │ │ │ │ │ ldr.w r3, [r8, #88] @ 0x58 │ │ │ │ │ add.w r5, r5, r3, lsl #3 │ │ │ │ │ ldr.w r3, [r8, #84] @ 0x54 │ │ │ │ │ cmp r4, r3 │ │ │ │ │ - bge.n ba0 │ │ │ │ │ + bge.n d5e │ │ │ │ │ ldr.w r1, [r8, #96] @ 0x60 │ │ │ │ │ - b.n b7e │ │ │ │ │ + b.n d3a │ │ │ │ │ ldr.w lr, [sp, #20] │ │ │ │ │ - b.n a82 │ │ │ │ │ + b.n c40 │ │ │ │ │ ldr.w r2, [r8, #76] @ 0x4c │ │ │ │ │ - adds r6, #1 │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ cmp r4, r6 │ │ │ │ │ add.w r9, r9, r2, lsl #3 │ │ │ │ │ - bgt.w a14 │ │ │ │ │ - b.n a94 │ │ │ │ │ + bgt.w bd0 │ │ │ │ │ + b.n c50 │ │ │ │ │ ldr r1, [sp, #8] │ │ │ │ │ - adds r5, #1 │ │ │ │ │ - ldr.w r3, [r8, #64] @ 0x40 │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ cmp r2, r5 │ │ │ │ │ + ldr.w r3, [r8, #64] @ 0x40 │ │ │ │ │ add.w r3, r1, r3, lsl #3 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ - bgt.w 9f2 │ │ │ │ │ - b.n aac │ │ │ │ │ + bgt.w bac │ │ │ │ │ + b.n c66 │ │ │ │ │ ldr r5, [sp, #32] │ │ │ │ │ - movs r4, #0 │ │ │ │ │ - str r7, [sp, #0] │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + str r7, [sp, #0] │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ ldrd r2, r3, [r8, #76] @ 0x4c │ │ │ │ │ blx sl │ │ │ │ │ - ldr.w r3, [r8, #64] @ 0x40 │ │ │ │ │ - ldr.w r2, [r8, #60] @ 0x3c │ │ │ │ │ - add.w r5, r5, r3, lsl #3 │ │ │ │ │ + ldrd r2, r3, [r8, #60] @ 0x3c │ │ │ │ │ cmp r4, r2 │ │ │ │ │ - bge.w ab0 │ │ │ │ │ + add.w r5, r5, r3, lsl #3 │ │ │ │ │ + bge.w c6a │ │ │ │ │ ldr.w r1, [r8, #72] @ 0x48 │ │ │ │ │ - b.n bd2 │ │ │ │ │ + b.n d96 │ │ │ │ │ ldr r1, [sp, #32] │ │ │ │ │ add.w r9, r9, #1 │ │ │ │ │ - ldr.w r3, [r8, #52] @ 0x34 │ │ │ │ │ cmp r5, r9 │ │ │ │ │ + ldr.w r3, [r8, #52] @ 0x34 │ │ │ │ │ add.w r3, r1, r3, lsl #3 │ │ │ │ │ str r3, [sp, #32] │ │ │ │ │ - bgt.w 9d4 │ │ │ │ │ - b.n ac8 │ │ │ │ │ + bgt.w b8c │ │ │ │ │ + b.n c7e │ │ │ │ │ ldr r7, [sp, #36] @ 0x24 │ │ │ │ │ mov r5, r9 │ │ │ │ │ - movs r4, #0 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ mov r9, ip │ │ │ │ │ - str r5, [sp, #0] │ │ │ │ │ mov r0, r7 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + str r5, [sp, #0] │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ ldrd r2, r3, [r8, #64] @ 0x40 │ │ │ │ │ blx sl │ │ │ │ │ ldr.w r3, [r8, #52] @ 0x34 │ │ │ │ │ add.w r7, r7, r3, lsl #3 │ │ │ │ │ ldr.w r3, [r8, #48] @ 0x30 │ │ │ │ │ cmp r4, r3 │ │ │ │ │ - bge.n c38 │ │ │ │ │ + bge.n dfe │ │ │ │ │ ldr.w r1, [r8, #60] @ 0x3c │ │ │ │ │ - b.n c16 │ │ │ │ │ + b.n dda │ │ │ │ │ mov ip, r9 │ │ │ │ │ mov r9, r5 │ │ │ │ │ mov r5, r3 │ │ │ │ │ - b.n ace │ │ │ │ │ + b.n c84 │ │ │ │ │ ldr r1, [sp, #36] @ 0x24 │ │ │ │ │ - adds r6, #1 │ │ │ │ │ - ldr.w r3, [r8, #40] @ 0x28 │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ cmp r2, r6 │ │ │ │ │ + ldr.w r3, [r8, #40] @ 0x28 │ │ │ │ │ add.w r3, r1, r3, lsl #3 │ │ │ │ │ str r3, [sp, #36] @ 0x24 │ │ │ │ │ - bgt.w 9b0 │ │ │ │ │ - b.n ae6 │ │ │ │ │ + bgt.w b66 │ │ │ │ │ + b.n c9a │ │ │ │ │ ldr r7, [sp, #48] @ 0x30 │ │ │ │ │ mov r5, r9 │ │ │ │ │ - movs r4, #0 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ mov fp, r6 │ │ │ │ │ - str r7, [sp, #0] │ │ │ │ │ - mov r0, r5 │ │ │ │ │ ldr r6, [sp, #44] @ 0x2c │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + mov r0, r5 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + str r7, [sp, #0] │ │ │ │ │ ldrd r2, r3, [r8, #52] @ 0x34 │ │ │ │ │ blx r6 │ │ │ │ │ - ldr.w r3, [r8, #40] @ 0x28 │ │ │ │ │ - ldr.w r2, [r8, #36] @ 0x24 │ │ │ │ │ - add.w r5, r5, r3, lsl #3 │ │ │ │ │ + ldrd r2, r3, [r8, #36] @ 0x24 │ │ │ │ │ cmp r4, r2 │ │ │ │ │ - bge.n c82 │ │ │ │ │ + add.w r5, r5, r3, lsl #3 │ │ │ │ │ + bge.n e4a │ │ │ │ │ ldr.w r1, [r8, #48] @ 0x30 │ │ │ │ │ - b.n c5e │ │ │ │ │ + b.n e28 │ │ │ │ │ mov r6, fp │ │ │ │ │ - b.n aec │ │ │ │ │ + b.n ca0 │ │ │ │ │ ldr.w r3, [r8, #28] │ │ │ │ │ - adds r6, #1 │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ cmp r0, r6 │ │ │ │ │ add.w r9, r9, r3, lsl #3 │ │ │ │ │ - bgt.w 988 │ │ │ │ │ - b.n b00 │ │ │ │ │ + bgt.w b3a │ │ │ │ │ + b.n cb2 │ │ │ │ │ ldr.w r8, [sp, #44] @ 0x2c │ │ │ │ │ - movs r4, #0 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ mov r6, r9 │ │ │ │ │ mov r5, lr │ │ │ │ │ ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ mov r0, r6 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ ldrd r2, r3, [fp, #40] @ 0x28 │ │ │ │ │ blx r8 │ │ │ │ │ ldr.w r3, [fp, #28] │ │ │ │ │ add.w r6, r6, r3, lsl #3 │ │ │ │ │ ldr.w r3, [fp, #24] │ │ │ │ │ cmp r4, r3 │ │ │ │ │ - bge.n cc6 │ │ │ │ │ + bge.n e94 │ │ │ │ │ ldr.w r1, [fp, #36] @ 0x24 │ │ │ │ │ - b.n ca2 │ │ │ │ │ + b.n e6e │ │ │ │ │ mov lr, r5 │ │ │ │ │ mov r0, r3 │ │ │ │ │ - b.n b0c │ │ │ │ │ + b.n cba │ │ │ │ │ ldr.w r3, [fp, #16] │ │ │ │ │ add.w sl, sl, #1 │ │ │ │ │ cmp r2, sl │ │ │ │ │ add.w r9, r9, r3, lsl #3 │ │ │ │ │ - bgt.w 96a │ │ │ │ │ - b.n b22 │ │ │ │ │ + bgt.w b1a │ │ │ │ │ + b.n ccc │ │ │ │ │ vldr s15, [sp, #44] @ 0x2c │ │ │ │ │ + mov r0, r6 │ │ │ │ │ str r2, [sp, #120] @ 0x78 │ │ │ │ │ + ldrd r2, r3, [r8, #4] │ │ │ │ │ vmov ip, s15 │ │ │ │ │ - ldrd r2, r3, [r0, #4] │ │ │ │ │ - mov r0, r6 │ │ │ │ │ add sp, #84 @ 0x54 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ bx ip │ │ │ │ │ mov r5, r6 │ │ │ │ │ - movs r4, #0 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ mov r9, lr │ │ │ │ │ mov sl, r6 │ │ │ │ │ - ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ + ldrd r6, r3, [sp, #44] @ 0x2c │ │ │ │ │ mov r0, r5 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - ldr r6, [sp, #44] @ 0x2c │ │ │ │ │ ldrd r2, r3, [r8, #28] │ │ │ │ │ blx r6 │ │ │ │ │ - ldr.w r3, [r8, #16] │ │ │ │ │ - ldr.w r2, [r8, #12] │ │ │ │ │ - add.w r5, r5, r3, lsl #3 │ │ │ │ │ + ldrd r2, r3, [r8, #12] │ │ │ │ │ cmp r4, r2 │ │ │ │ │ - bge.n d38 │ │ │ │ │ + add.w r5, r5, r3, lsl #3 │ │ │ │ │ + bge.n f1a │ │ │ │ │ ldr.w r1, [r8, #24] │ │ │ │ │ - b.n d00 │ │ │ │ │ + b.n ee2 │ │ │ │ │ ldr.w r3, [r8, #4] │ │ │ │ │ - adds r7, #1 │ │ │ │ │ + add.w r7, r7, #1 │ │ │ │ │ cmp r1, r7 │ │ │ │ │ add.w r6, r6, r3, lsl #3 │ │ │ │ │ - bgt.w 94a │ │ │ │ │ - b.n b3c │ │ │ │ │ + bgt.w afa │ │ │ │ │ + b.n ce4 │ │ │ │ │ mov lr, r9 │ │ │ │ │ mov r6, sl │ │ │ │ │ - b.n b28 │ │ │ │ │ - movs r4, #0 │ │ │ │ │ + b.n cd2 │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ mov r1, r2 │ │ │ │ │ - ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ + ldrd r5, r3, [sp, #44] @ 0x2c │ │ │ │ │ mov r0, r6 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - ldr r5, [sp, #44] @ 0x2c │ │ │ │ │ ldrd r2, r3, [r8, #16] │ │ │ │ │ blx r5 │ │ │ │ │ ldr.w r3, [r8, #4] │ │ │ │ │ add.w r6, r6, r3, lsl #3 │ │ │ │ │ ldr.w r3, [r8] │ │ │ │ │ cmp r4, r3 │ │ │ │ │ - bge.w b3c │ │ │ │ │ + bge.w ce4 │ │ │ │ │ ldr.w r1, [r8, #12] │ │ │ │ │ - b.n d42 │ │ │ │ │ - nop │ │ │ │ │ + b.n f26 │ │ │ │ │ │ │ │ │ │ -00000d6c : │ │ │ │ │ +00000f50 : │ │ │ │ │ apply_ip_sq_tiledbuf(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ mov r5, r1 │ │ │ │ │ - ldr r3, [pc, #92] @ (dd0 ) │ │ │ │ │ + mov r4, r0 │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ ldrd r8, r7, [r0, #64] @ 0x40 │ │ │ │ │ - add r3, pc │ │ │ │ │ - ldr r1, [r0, #72] @ 0x48 │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ sub sp, #8 │ │ │ │ │ - mov r4, r0 │ │ │ │ │ + ldr r3, [pc, #100] @ (fd0 ) │ │ │ │ │ + ldr r1, [r0, #72] @ 0x48 │ │ │ │ │ cmp r7, #2 │ │ │ │ │ - beq.n dba │ │ │ │ │ + add r3, pc │ │ │ │ │ + beq.n fbe │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - ble.n db4 │ │ │ │ │ - ldr r2, [pc, #72] @ (dd4 ) │ │ │ │ │ + ble.n faa │ │ │ │ │ + ldr r2, [pc, #88] @ (fd4 ) │ │ │ │ │ add.w sl, r0, #84 @ 0x54 │ │ │ │ │ - subs r7, #1 │ │ │ │ │ - movs r6, #0 │ │ │ │ │ + add.w r7, r7, #4294967295 @ 0xffffffff │ │ │ │ │ + mov.w r6, #0 │ │ │ │ │ ldr.w r9, [r3, r2] │ │ │ │ │ mov r3, r5 │ │ │ │ │ mov r2, r8 │ │ │ │ │ + str.w r9, [sp] │ │ │ │ │ mov r1, r7 │ │ │ │ │ mov r0, sl │ │ │ │ │ - str.w r9, [sp] │ │ │ │ │ - adds r6, #1 │ │ │ │ │ - bl 914 │ │ │ │ │ + bl ab4 │ │ │ │ │ ldr r3, [r4, #76] @ 0x4c │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ add.w r5, r5, r3, lsl #3 │ │ │ │ │ ldr r3, [r4, #72] @ 0x48 │ │ │ │ │ cmp r6, r3 │ │ │ │ │ - blt.n d96 │ │ │ │ │ + blt.n f8a │ │ │ │ │ add sp, #8 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ - str.w r8, [sp] │ │ │ │ │ - ldrd r2, r3, [r0, #76] @ 0x4c │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {sl, pc} │ │ │ │ │ mov r0, r5 │ │ │ │ │ + str.w r8, [sp] │ │ │ │ │ + ldrd r2, r3, [r4, #76] @ 0x4c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_transpose_tiledbuf │ │ │ │ │ - add sp, #8 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ + b.n faa │ │ │ │ │ nop │ │ │ │ │ - .word 0x00000054 │ │ │ │ │ + .word 0x0000005c │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_transpose_tiledbuf │ │ │ │ │ │ │ │ │ │ -00000dd8 : │ │ │ │ │ +00000fd8 : │ │ │ │ │ apply_ip_sq(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ mov r5, r1 │ │ │ │ │ - ldr r3, [pc, #92] @ (e3c ) │ │ │ │ │ + mov r4, r0 │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ ldrd r8, r7, [r0, #64] @ 0x40 │ │ │ │ │ - add r3, pc │ │ │ │ │ - ldr r1, [r0, #72] @ 0x48 │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ sub sp, #8 │ │ │ │ │ - mov r4, r0 │ │ │ │ │ + ldr r3, [pc, #100] @ (1058 ) │ │ │ │ │ + ldr r1, [r0, #72] @ 0x48 │ │ │ │ │ cmp r7, #2 │ │ │ │ │ - beq.n e26 │ │ │ │ │ + add r3, pc │ │ │ │ │ + beq.n 1046 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - ble.n e20 │ │ │ │ │ - ldr r2, [pc, #72] @ (e40 ) │ │ │ │ │ + ble.n 1032 │ │ │ │ │ + ldr r2, [pc, #88] @ (105c ) │ │ │ │ │ add.w sl, r0, #84 @ 0x54 │ │ │ │ │ - subs r7, #1 │ │ │ │ │ - movs r6, #0 │ │ │ │ │ + add.w r7, r7, #4294967295 @ 0xffffffff │ │ │ │ │ + mov.w r6, #0 │ │ │ │ │ ldr.w r9, [r3, r2] │ │ │ │ │ mov r3, r5 │ │ │ │ │ mov r2, r8 │ │ │ │ │ + str.w r9, [sp] │ │ │ │ │ mov r1, r7 │ │ │ │ │ mov r0, sl │ │ │ │ │ - str.w r9, [sp] │ │ │ │ │ - adds r6, #1 │ │ │ │ │ - bl 914 │ │ │ │ │ + bl ab4 │ │ │ │ │ ldr r3, [r4, #76] @ 0x4c │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ add.w r5, r5, r3, lsl #3 │ │ │ │ │ ldr r3, [r4, #72] @ 0x48 │ │ │ │ │ cmp r6, r3 │ │ │ │ │ - blt.n e02 │ │ │ │ │ + blt.n 1012 │ │ │ │ │ add sp, #8 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ - str.w r8, [sp] │ │ │ │ │ - ldrd r2, r3, [r0, #76] @ 0x4c │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {sl, pc} │ │ │ │ │ mov r0, r5 │ │ │ │ │ + str.w r8, [sp] │ │ │ │ │ + ldrd r2, r3, [r4, #76] @ 0x4c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_transpose │ │ │ │ │ - add sp, #8 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ + b.n 1032 │ │ │ │ │ nop │ │ │ │ │ - .word 0x00000054 │ │ │ │ │ + .word 0x0000005c │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_transpose │ │ │ │ │ │ │ │ │ │ -00000e44 : │ │ │ │ │ +00001060 : │ │ │ │ │ apply_ip_sq_tiled(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ mov r5, r1 │ │ │ │ │ - ldr r3, [pc, #92] @ (ea8 ) │ │ │ │ │ + mov r4, r0 │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ ldrd r8, r7, [r0, #64] @ 0x40 │ │ │ │ │ - add r3, pc │ │ │ │ │ - ldr r1, [r0, #72] @ 0x48 │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ sub sp, #8 │ │ │ │ │ - mov r4, r0 │ │ │ │ │ + ldr r3, [pc, #100] @ (10e0 ) │ │ │ │ │ + ldr r1, [r0, #72] @ 0x48 │ │ │ │ │ cmp r7, #2 │ │ │ │ │ - beq.n e92 │ │ │ │ │ + add r3, pc │ │ │ │ │ + beq.n 10ce │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - ble.n e8c │ │ │ │ │ - ldr r2, [pc, #72] @ (eac ) │ │ │ │ │ + ble.n 10ba │ │ │ │ │ + ldr r2, [pc, #88] @ (10e4 ) │ │ │ │ │ add.w sl, r0, #84 @ 0x54 │ │ │ │ │ - subs r7, #1 │ │ │ │ │ - movs r6, #0 │ │ │ │ │ + add.w r7, r7, #4294967295 @ 0xffffffff │ │ │ │ │ + mov.w r6, #0 │ │ │ │ │ ldr.w r9, [r3, r2] │ │ │ │ │ mov r3, r5 │ │ │ │ │ mov r2, r8 │ │ │ │ │ + str.w r9, [sp] │ │ │ │ │ mov r1, r7 │ │ │ │ │ mov r0, sl │ │ │ │ │ - str.w r9, [sp] │ │ │ │ │ - adds r6, #1 │ │ │ │ │ - bl 914 │ │ │ │ │ + bl ab4 │ │ │ │ │ ldr r3, [r4, #76] @ 0x4c │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ add.w r5, r5, r3, lsl #3 │ │ │ │ │ ldr r3, [r4, #72] @ 0x48 │ │ │ │ │ cmp r6, r3 │ │ │ │ │ - blt.n e6e │ │ │ │ │ + blt.n 109a │ │ │ │ │ add sp, #8 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ - str.w r8, [sp] │ │ │ │ │ - ldrd r2, r3, [r0, #76] @ 0x4c │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {sl, pc} │ │ │ │ │ mov r0, r5 │ │ │ │ │ + str.w r8, [sp] │ │ │ │ │ + ldrd r2, r3, [r4, #76] @ 0x4c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_transpose_tiled │ │ │ │ │ - add sp, #8 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ + b.n 10ba │ │ │ │ │ nop │ │ │ │ │ - .word 0x00000054 │ │ │ │ │ + .word 0x0000005c │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_transpose_tiled │ │ │ │ │ │ │ │ │ │ -00000eb0 : │ │ │ │ │ +000010e8 : │ │ │ │ │ copy(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ cmp r1, #2 │ │ │ │ │ - mov fp, r0 │ │ │ │ │ - sub sp, #132 @ 0x84 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r3 │ │ │ │ │ - str r2, [sp, #80] @ 0x50 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + sub sp, #132 @ 0x84 │ │ │ │ │ + mov fp, r0 │ │ │ │ │ ldrd r4, sl, [sp, #168] @ 0xa8 │ │ │ │ │ str r1, [sp, #28] │ │ │ │ │ + str r2, [sp, #80] @ 0x50 │ │ │ │ │ ldr r2, [r0, #0] │ │ │ │ │ - beq.w 129e │ │ │ │ │ + beq.w 1512 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.w 1136 │ │ │ │ │ + ble.w 1398 │ │ │ │ │ + add.w r3, r0, #108 @ 0x6c │ │ │ │ │ mov.w r8, #0 │ │ │ │ │ mov r6, r5 │ │ │ │ │ - add.w r3, r0, #108 @ 0x6c │ │ │ │ │ str r3, [sp, #44] @ 0x2c │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ ldr.w r1, [fp, #12] │ │ │ │ │ cmp r3, #3 │ │ │ │ │ - beq.w 1270 │ │ │ │ │ + beq.w 14e4 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - ble.w 111c │ │ │ │ │ - movs r7, #0 │ │ │ │ │ + ble.w 137e │ │ │ │ │ + mov.w r7, #0 │ │ │ │ │ mov r5, r6 │ │ │ │ │ + str r4, [sp, #96] @ 0x60 │ │ │ │ │ mov r9, fp │ │ │ │ │ - str r6, [sp, #116] @ 0x74 │ │ │ │ │ mov fp, sl │ │ │ │ │ + strd r8, r6, [sp, #112] @ 0x70 │ │ │ │ │ mov r6, r7 │ │ │ │ │ - str r4, [sp, #96] @ 0x60 │ │ │ │ │ - str.w r8, [sp, #112] @ 0x70 │ │ │ │ │ str r4, [sp, #168] @ 0xa8 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ ldr.w r2, [r9, #24] │ │ │ │ │ cmp r3, #4 │ │ │ │ │ - beq.w 1244 │ │ │ │ │ + beq.w 14b8 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.w 10f2 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ + ble.w 1352 │ │ │ │ │ ldr.w r8, [sp, #96] @ 0x60 │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ mov sl, fp │ │ │ │ │ mov r7, r5 │ │ │ │ │ mov fp, r9 │ │ │ │ │ - mov r9, r3 │ │ │ │ │ strd r6, r5, [sp, #120] @ 0x78 │ │ │ │ │ + mov r9, r3 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ ldr.w r1, [fp, #36] @ 0x24 │ │ │ │ │ cmp r3, #5 │ │ │ │ │ - beq.w 1216 │ │ │ │ │ + beq.w 148a │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - ble.w 10cc │ │ │ │ │ + ble.w 132c │ │ │ │ │ mov r6, r8 │ │ │ │ │ mov r4, r7 │ │ │ │ │ - movs r5, #0 │ │ │ │ │ strd r9, r7, [sp, #100] @ 0x64 │ │ │ │ │ + mov.w r5, #0 │ │ │ │ │ str.w r8, [sp, #108] @ 0x6c │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ ldr.w r2, [fp, #48] @ 0x30 │ │ │ │ │ cmp r3, #6 │ │ │ │ │ - beq.w 11ea │ │ │ │ │ + beq.w 145e │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.w 10a8 │ │ │ │ │ + ble.w 1306 │ │ │ │ │ ldr.w r9, [sp, #80] @ 0x50 │ │ │ │ │ + mov.w r7, #0 │ │ │ │ │ mov r8, r4 │ │ │ │ │ strd r5, r4, [sp, #84] @ 0x54 │ │ │ │ │ mov r5, r6 │ │ │ │ │ - movs r7, #0 │ │ │ │ │ - str r6, [sp, #92] @ 0x5c │ │ │ │ │ str r7, [sp, #64] @ 0x40 │ │ │ │ │ + str r6, [sp, #92] @ 0x5c │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ ldr.w r1, [fp, #60] @ 0x3c │ │ │ │ │ cmp r3, #7 │ │ │ │ │ - beq.w 11bc │ │ │ │ │ + beq.w 1430 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - ble.w 1082 │ │ │ │ │ - movs r4, #0 │ │ │ │ │ + ble.w 12de │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ mov r6, r5 │ │ │ │ │ strd r8, r5, [sp, #72] @ 0x48 │ │ │ │ │ mov r7, r9 │ │ │ │ │ mov r5, r4 │ │ │ │ │ mov r4, sl │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ ldr.w r2, [fp, #72] @ 0x48 │ │ │ │ │ cmp r3, #8 │ │ │ │ │ - beq.w 1192 │ │ │ │ │ + beq.w 1406 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.n 1060 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - str r3, [sp, #68] @ 0x44 │ │ │ │ │ - ldr r3, [sp, #28] │ │ │ │ │ + ble.n 12ba │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ strd r8, r6, [sp, #32] │ │ │ │ │ + strd r5, r8, [sp, #48] @ 0x30 │ │ │ │ │ str r6, [sp, #56] @ 0x38 │ │ │ │ │ mov r6, r4 │ │ │ │ │ - subs r3, #9 │ │ │ │ │ - strd r5, r8, [sp, #48] @ 0x30 │ │ │ │ │ + str r3, [sp, #68] @ 0x44 │ │ │ │ │ + ldr r3, [sp, #28] │ │ │ │ │ + sub.w r3, r3, #9 │ │ │ │ │ str r3, [sp, #40] @ 0x28 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ ldr.w r5, [fp, #84] @ 0x54 │ │ │ │ │ cmp r3, #9 │ │ │ │ │ - beq.w 1166 │ │ │ │ │ + beq.w 13da │ │ │ │ │ cmp r5, #0 │ │ │ │ │ - ble.n 1032 │ │ │ │ │ + ble.n 128a │ │ │ │ │ ldrd sl, r4, [sp, #32] │ │ │ │ │ mov.w r9, #0 │ │ │ │ │ mov r8, r4 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ ldr.w r2, [fp, #96] @ 0x60 │ │ │ │ │ cmp r3, #10 │ │ │ │ │ - beq.w 113c │ │ │ │ │ + beq.w 13b0 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.n 1016 │ │ │ │ │ + ble.n 126e │ │ │ │ │ mov r4, r8 │ │ │ │ │ + mov.w r5, #0 │ │ │ │ │ str.w r8, [sp, #60] @ 0x3c │ │ │ │ │ - movs r5, #0 │ │ │ │ │ mov r8, sl │ │ │ │ │ + ldrd r1, r0, [sp, #40] @ 0x28 │ │ │ │ │ mov r3, r8 │ │ │ │ │ mov r2, r7 │ │ │ │ │ strd r4, r6, [sp] │ │ │ │ │ - adds r5, #1 │ │ │ │ │ - ldrd r1, r0, [sp, #40] @ 0x28 │ │ │ │ │ - bl eb0 │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ + bl 10e8 │ │ │ │ │ ldr.w r2, [fp, #100] @ 0x64 │ │ │ │ │ add.w r8, r8, r2, lsl #3 │ │ │ │ │ ldr.w r2, [fp, #104] @ 0x68 │ │ │ │ │ add.w r4, r4, r2, lsl #3 │ │ │ │ │ ldr.w r2, [fp, #96] @ 0x60 │ │ │ │ │ cmp r5, r2 │ │ │ │ │ - blt.n fe4 │ │ │ │ │ + blt.n 123a │ │ │ │ │ ldr.w r8, [sp, #60] @ 0x3c │ │ │ │ │ ldr.w r5, [fp, #84] @ 0x54 │ │ │ │ │ - ldr.w r3, [fp, #88] @ 0x58 │ │ │ │ │ add.w r9, r9, #1 │ │ │ │ │ + ldr.w r3, [fp, #88] @ 0x58 │ │ │ │ │ cmp r9, r5 │ │ │ │ │ add.w sl, sl, r3, lsl #3 │ │ │ │ │ ldr.w r3, [fp, #92] @ 0x5c │ │ │ │ │ add.w r8, r8, r3, lsl #3 │ │ │ │ │ - blt.n fca │ │ │ │ │ + blt.n 121e │ │ │ │ │ ldr.w r2, [fp, #72] @ 0x48 │ │ │ │ │ ldr r0, [sp, #32] │ │ │ │ │ ldr.w r3, [fp, #76] @ 0x4c │ │ │ │ │ ldr r1, [sp, #68] @ 0x44 │ │ │ │ │ add.w r3, r0, r3, lsl #3 │ │ │ │ │ ldr r0, [sp, #36] @ 0x24 │ │ │ │ │ + add.w r1, r1, #1 │ │ │ │ │ str r3, [sp, #32] │ │ │ │ │ - adds r1, #1 │ │ │ │ │ - ldr.w r3, [fp, #80] @ 0x50 │ │ │ │ │ cmp r1, r2 │ │ │ │ │ + ldr.w r3, [fp, #80] @ 0x50 │ │ │ │ │ str r1, [sp, #68] @ 0x44 │ │ │ │ │ add.w r3, r0, r3, lsl #3 │ │ │ │ │ str r3, [sp, #36] @ 0x24 │ │ │ │ │ - blt.n fb0 │ │ │ │ │ - mov r4, r6 │ │ │ │ │ - ldr.w r1, [fp, #60] @ 0x3c │ │ │ │ │ + blt.n 1204 │ │ │ │ │ ldrd r5, r8, [sp, #48] @ 0x30 │ │ │ │ │ + mov r4, r6 │ │ │ │ │ ldr r6, [sp, #56] @ 0x38 │ │ │ │ │ + ldr.w r1, [fp, #60] @ 0x3c │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ ldr.w r3, [fp, #64] @ 0x40 │ │ │ │ │ - adds r5, #1 │ │ │ │ │ cmp r5, r1 │ │ │ │ │ add.w r8, r8, r3, lsl #3 │ │ │ │ │ ldr.w r3, [fp, #68] @ 0x44 │ │ │ │ │ add.w r6, r6, r3, lsl #3 │ │ │ │ │ - blt.n f8a │ │ │ │ │ - ldrd r8, r5, [sp, #72] @ 0x48 │ │ │ │ │ - mov r9, r7 │ │ │ │ │ + blt.n 11da │ │ │ │ │ ldr.w r2, [fp, #48] @ 0x30 │ │ │ │ │ + mov r9, r7 │ │ │ │ │ mov sl, r4 │ │ │ │ │ + ldrd r8, r5, [sp, #72] @ 0x48 │ │ │ │ │ ldr.w r3, [fp, #52] @ 0x34 │ │ │ │ │ ldr r1, [sp, #64] @ 0x40 │ │ │ │ │ add.w r8, r8, r3, lsl #3 │ │ │ │ │ ldr.w r3, [fp, #56] @ 0x38 │ │ │ │ │ - adds r1, #1 │ │ │ │ │ - str r1, [sp, #64] @ 0x40 │ │ │ │ │ + add.w r1, r1, #1 │ │ │ │ │ cmp r1, r2 │ │ │ │ │ + str r1, [sp, #64] @ 0x40 │ │ │ │ │ add.w r5, r5, r3, lsl #3 │ │ │ │ │ - blt.w f6a │ │ │ │ │ + blt.w 11b8 │ │ │ │ │ + ldr.w r1, [fp, #36] @ 0x24 │ │ │ │ │ ldrd r5, r4, [sp, #84] @ 0x54 │ │ │ │ │ ldr r6, [sp, #92] @ 0x5c │ │ │ │ │ - ldr.w r1, [fp, #36] @ 0x24 │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ ldr.w r3, [fp, #40] @ 0x28 │ │ │ │ │ - adds r5, #1 │ │ │ │ │ cmp r5, r1 │ │ │ │ │ add.w r4, r4, r3, lsl #3 │ │ │ │ │ ldr.w r3, [fp, #44] @ 0x2c │ │ │ │ │ add.w r6, r6, r3, lsl #3 │ │ │ │ │ - blt.w f46 │ │ │ │ │ + blt.w 1192 │ │ │ │ │ + ldr.w r2, [fp, #24] │ │ │ │ │ ldrd r9, r7, [sp, #100] @ 0x64 │ │ │ │ │ ldr.w r8, [sp, #108] @ 0x6c │ │ │ │ │ - ldr.w r2, [fp, #24] │ │ │ │ │ - ldr.w r3, [fp, #28] │ │ │ │ │ add.w r9, r9, #1 │ │ │ │ │ + ldr.w r3, [fp, #28] │ │ │ │ │ cmp r9, r2 │ │ │ │ │ add.w r7, r7, r3, lsl #3 │ │ │ │ │ ldr.w r3, [fp, #32] │ │ │ │ │ add.w r8, r8, r3, lsl #3 │ │ │ │ │ - blt.w f26 │ │ │ │ │ + blt.w 1170 │ │ │ │ │ mov r9, fp │ │ │ │ │ - mov fp, sl │ │ │ │ │ ldrd r6, r5, [sp, #120] @ 0x78 │ │ │ │ │ + mov fp, sl │ │ │ │ │ ldr.w r1, [r9, #12] │ │ │ │ │ + add.w r6, r6, #1 │ │ │ │ │ ldr.w r3, [r9, #16] │ │ │ │ │ - adds r6, #1 │ │ │ │ │ - ldr r2, [sp, #96] @ 0x60 │ │ │ │ │ cmp r6, r1 │ │ │ │ │ + ldr r2, [sp, #96] @ 0x60 │ │ │ │ │ add.w r5, r5, r3, lsl #3 │ │ │ │ │ ldr.w r3, [r9, #20] │ │ │ │ │ add.w r3, r2, r3, lsl #3 │ │ │ │ │ str r3, [sp, #96] @ 0x60 │ │ │ │ │ - blt.w f02 │ │ │ │ │ - ldrd r8, r6, [sp, #112] @ 0x70 │ │ │ │ │ + blt.w 114a │ │ │ │ │ + ldr.w r2, [r9] │ │ │ │ │ mov sl, fp │ │ │ │ │ - ldr r4, [sp, #168] @ 0xa8 │ │ │ │ │ mov fp, r9 │ │ │ │ │ - ldr.w r2, [r9] │ │ │ │ │ - ldr.w r3, [fp, #4] │ │ │ │ │ + ldrd r8, r6, [sp, #112] @ 0x70 │ │ │ │ │ + ldr r4, [sp, #168] @ 0xa8 │ │ │ │ │ add.w r8, r8, #1 │ │ │ │ │ + ldr.w r3, [fp, #4] │ │ │ │ │ cmp r8, r2 │ │ │ │ │ add.w r6, r6, r3, lsl #3 │ │ │ │ │ ldr.w r3, [fp, #8] │ │ │ │ │ add.w r4, r4, r3, lsl #3 │ │ │ │ │ - blt.w edc │ │ │ │ │ + blt.w 1124 │ │ │ │ │ add sp, #132 @ 0x84 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ str r7, [sp, #16] │ │ │ │ │ mov r1, r8 │ │ │ │ │ mov r0, sl │ │ │ │ │ ldr.w r3, [fp, #116] @ 0x74 │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ ldr.w r3, [fp, #112] @ 0x70 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr.w r3, [fp, #108] @ 0x6c │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr.w r3, [fp, #104] @ 0x68 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldr.w r3, [fp, #100] @ 0x64 │ │ │ │ │ blx r6 │ │ │ │ │ ldr.w r5, [fp, #84] @ 0x54 │ │ │ │ │ - b.n 1016 │ │ │ │ │ + b.n 126e │ │ │ │ │ str r7, [sp, #16] │ │ │ │ │ mov r2, r5 │ │ │ │ │ - ldrd r0, r1, [sp, #32] │ │ │ │ │ ldr.w r3, [fp, #104] @ 0x68 │ │ │ │ │ + ldrd r0, r1, [sp, #32] │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ ldr.w r3, [fp, #100] @ 0x64 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr.w r3, [fp, #96] @ 0x60 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr.w r3, [fp, #92] @ 0x5c │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldr.w r3, [fp, #88] @ 0x58 │ │ │ │ │ blx r6 │ │ │ │ │ ldr.w r2, [fp, #72] @ 0x48 │ │ │ │ │ - b.n 1032 │ │ │ │ │ + b.n 128a │ │ │ │ │ str r7, [sp, #16] │ │ │ │ │ mov r1, r6 │ │ │ │ │ mov r0, r8 │ │ │ │ │ ldr.w r3, [fp, #92] @ 0x5c │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ ldr.w r3, [fp, #88] @ 0x58 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr.w r3, [fp, #84] @ 0x54 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr.w r3, [fp, #80] @ 0x50 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldr.w r3, [fp, #76] @ 0x4c │ │ │ │ │ blx r4 │ │ │ │ │ ldr.w r1, [fp, #60] @ 0x3c │ │ │ │ │ - b.n 1060 │ │ │ │ │ + b.n 12ba │ │ │ │ │ str.w r9, [sp, #16] │ │ │ │ │ mov r2, r1 │ │ │ │ │ mov r0, r8 │ │ │ │ │ - mov r1, r5 │ │ │ │ │ ldr.w r3, [fp, #80] @ 0x50 │ │ │ │ │ + mov r1, r5 │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ ldr.w r3, [fp, #76] @ 0x4c │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr.w r3, [fp, #72] @ 0x48 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr.w r3, [fp, #68] @ 0x44 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldr.w r3, [fp, #64] @ 0x40 │ │ │ │ │ blx sl │ │ │ │ │ ldr.w r2, [fp, #48] @ 0x30 │ │ │ │ │ - b.n 1082 │ │ │ │ │ + b.n 12de │ │ │ │ │ ldr r3, [sp, #80] @ 0x50 │ │ │ │ │ mov r1, r6 │ │ │ │ │ - str r3, [sp, #16] │ │ │ │ │ mov r0, r4 │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ ldr.w r3, [fp, #68] @ 0x44 │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ ldr.w r3, [fp, #64] @ 0x40 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr.w r3, [fp, #60] @ 0x3c │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr.w r3, [fp, #56] @ 0x38 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldr.w r3, [fp, #52] @ 0x34 │ │ │ │ │ blx sl │ │ │ │ │ ldr.w r1, [fp, #36] @ 0x24 │ │ │ │ │ - b.n 10a8 │ │ │ │ │ + b.n 1306 │ │ │ │ │ ldr r3, [sp, #80] @ 0x50 │ │ │ │ │ mov r2, r1 │ │ │ │ │ - str r3, [sp, #16] │ │ │ │ │ - mov r1, r8 │ │ │ │ │ mov r0, r7 │ │ │ │ │ + mov r1, r8 │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ ldr.w r3, [fp, #56] @ 0x38 │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ ldr.w r3, [fp, #52] @ 0x34 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr.w r3, [fp, #48] @ 0x30 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr.w r3, [fp, #44] @ 0x2c │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldr.w r3, [fp, #40] @ 0x28 │ │ │ │ │ blx sl │ │ │ │ │ ldr.w r2, [fp, #24] │ │ │ │ │ - b.n 10cc │ │ │ │ │ + b.n 132c │ │ │ │ │ ldr r3, [sp, #80] @ 0x50 │ │ │ │ │ mov r0, r5 │ │ │ │ │ - str r3, [sp, #16] │ │ │ │ │ ldr r1, [sp, #96] @ 0x60 │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ ldr.w r3, [r9, #44] @ 0x2c │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ ldr.w r3, [r9, #40] @ 0x28 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr.w r3, [r9, #36] @ 0x24 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr.w r3, [r9, #32] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldr.w r3, [r9, #28] │ │ │ │ │ blx fp │ │ │ │ │ ldr.w r1, [r9, #12] │ │ │ │ │ - b.n 10f2 │ │ │ │ │ + b.n 1352 │ │ │ │ │ ldr r3, [sp, #80] @ 0x50 │ │ │ │ │ mov r2, r1 │ │ │ │ │ - str r3, [sp, #16] │ │ │ │ │ - mov r1, r4 │ │ │ │ │ mov r0, r6 │ │ │ │ │ + mov r1, r4 │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ ldr.w r3, [fp, #32] │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ ldr.w r3, [fp, #28] │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr.w r3, [fp, #24] │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr.w r3, [fp, #20] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldr.w r3, [fp, #16] │ │ │ │ │ blx sl │ │ │ │ │ ldr.w r2, [fp] │ │ │ │ │ - b.n 111c │ │ │ │ │ + b.n 137e │ │ │ │ │ + mov r0, r3 │ │ │ │ │ ldr r3, [sp, #80] @ 0x50 │ │ │ │ │ mov r1, r4 │ │ │ │ │ str r3, [sp, #16] │ │ │ │ │ - ldr r3, [r0, #20] │ │ │ │ │ + ldr.w r3, [fp, #20] │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ - ldr r3, [r0, #16] │ │ │ │ │ + ldr.w r3, [fp, #16] │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ - ldr r3, [r0, #12] │ │ │ │ │ + ldr.w r3, [fp, #12] │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ - ldr r3, [r0, #8] │ │ │ │ │ + ldr.w r3, [fp, #8] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - ldr r3, [r0, #4] │ │ │ │ │ - mov r0, r5 │ │ │ │ │ + ldr.w r3, [fp, #4] │ │ │ │ │ blx sl │ │ │ │ │ - add sp, #132 @ 0x84 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + b.n 1398 │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -000012c0 : │ │ │ │ │ +0000153c : │ │ │ │ │ apply_tiledbuf(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + mov r4, r0 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r1 │ │ │ │ │ - ldr r3, [pc, #116] @ (133c ) │ │ │ │ │ - ldrd r9, r1, [r0, #64] @ 0x40 │ │ │ │ │ mov r6, r2 │ │ │ │ │ - add r3, pc │ │ │ │ │ + ldr r3, [pc, #144] @ (15dc ) │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + ldrd r9, r1, [r0, #64] @ 0x40 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ ldr r2, [r0, #72] @ 0x48 │ │ │ │ │ + add r3, pc │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #28 │ │ │ │ │ - mov r4, r0 │ │ │ │ │ cmp r1, #2 │ │ │ │ │ - beq.n 1318 │ │ │ │ │ + beq.n 15ba │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.n 1312 │ │ │ │ │ - ldr r2, [pc, #96] @ (1340 ) │ │ │ │ │ + ble.n 15a2 │ │ │ │ │ + ldr r2, [pc, #116] @ (15e0 ) │ │ │ │ │ add.w fp, r0, #84 @ 0x54 │ │ │ │ │ add.w r8, r1, #4294967295 @ 0xffffffff │ │ │ │ │ - movs r7, #0 │ │ │ │ │ + mov.w r7, #0 │ │ │ │ │ ldr.w sl, [r3, r2] │ │ │ │ │ mov r3, r5 │ │ │ │ │ - strd r6, sl, [sp] │ │ │ │ │ mov r2, r9 │ │ │ │ │ + strd r6, sl, [sp] │ │ │ │ │ mov r1, r8 │ │ │ │ │ mov r0, fp │ │ │ │ │ - adds r7, #1 │ │ │ │ │ - bl eb0 │ │ │ │ │ + bl 10e8 │ │ │ │ │ ldr r3, [r4, #76] @ 0x4c │ │ │ │ │ + add.w r7, r7, #1 │ │ │ │ │ add.w r5, r5, r3, lsl #3 │ │ │ │ │ ldr r3, [r4, #80] @ 0x50 │ │ │ │ │ add.w r6, r6, r3, lsl #3 │ │ │ │ │ ldr r3, [r4, #72] @ 0x48 │ │ │ │ │ cmp r7, r3 │ │ │ │ │ - blt.n 12ee │ │ │ │ │ + blt.n 157c │ │ │ │ │ add sp, #28 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ str.w r9, [sp, #16] │ │ │ │ │ mov r1, r6 │ │ │ │ │ - ldr r3, [r0, #92] @ 0x5c │ │ │ │ │ + mov r0, r5 │ │ │ │ │ + ldr r3, [r4, #92] @ 0x5c │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ - ldr r3, [r0, #88] @ 0x58 │ │ │ │ │ + ldr r3, [r4, #88] @ 0x58 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ - ldr r3, [r0, #84] @ 0x54 │ │ │ │ │ + ldr r3, [r4, #84] @ 0x54 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ - ldr r3, [r0, #80] @ 0x50 │ │ │ │ │ + ldr r3, [r4, #80] @ 0x50 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - ldr r3, [r0, #76] @ 0x4c │ │ │ │ │ - mov r0, r5 │ │ │ │ │ + ldr r3, [r4, #76] @ 0x4c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_tiledbuf │ │ │ │ │ - add sp, #28 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - .word 0x0000006a │ │ │ │ │ + b.n 15a2 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x0000007e │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_cpy2d_tiledbuf │ │ │ │ │ │ │ │ │ │ -00001344 : │ │ │ │ │ +000015e4 : │ │ │ │ │ apply_cpy2dco(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + mov r4, r0 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r1 │ │ │ │ │ - ldr r3, [pc, #116] @ (13c0 ) │ │ │ │ │ - ldrd r9, r1, [r0, #64] @ 0x40 │ │ │ │ │ mov r6, r2 │ │ │ │ │ - add r3, pc │ │ │ │ │ + ldr r3, [pc, #144] @ (1684 ) │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + ldrd r9, r1, [r0, #64] @ 0x40 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ ldr r2, [r0, #72] @ 0x48 │ │ │ │ │ + add r3, pc │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #28 │ │ │ │ │ - mov r4, r0 │ │ │ │ │ cmp r1, #2 │ │ │ │ │ - beq.n 139c │ │ │ │ │ + beq.n 1662 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.n 1396 │ │ │ │ │ - ldr r2, [pc, #96] @ (13c4 ) │ │ │ │ │ + ble.n 164a │ │ │ │ │ + ldr r2, [pc, #116] @ (1688 ) │ │ │ │ │ add.w fp, r0, #84 @ 0x54 │ │ │ │ │ add.w r8, r1, #4294967295 @ 0xffffffff │ │ │ │ │ - movs r7, #0 │ │ │ │ │ + mov.w r7, #0 │ │ │ │ │ ldr.w sl, [r3, r2] │ │ │ │ │ mov r3, r5 │ │ │ │ │ - strd r6, sl, [sp] │ │ │ │ │ mov r2, r9 │ │ │ │ │ + strd r6, sl, [sp] │ │ │ │ │ mov r1, r8 │ │ │ │ │ mov r0, fp │ │ │ │ │ - adds r7, #1 │ │ │ │ │ - bl eb0 │ │ │ │ │ + bl 10e8 │ │ │ │ │ ldr r3, [r4, #76] @ 0x4c │ │ │ │ │ + add.w r7, r7, #1 │ │ │ │ │ add.w r5, r5, r3, lsl #3 │ │ │ │ │ ldr r3, [r4, #80] @ 0x50 │ │ │ │ │ add.w r6, r6, r3, lsl #3 │ │ │ │ │ ldr r3, [r4, #72] @ 0x48 │ │ │ │ │ cmp r7, r3 │ │ │ │ │ - blt.n 1372 │ │ │ │ │ + blt.n 1624 │ │ │ │ │ add sp, #28 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ str.w r9, [sp, #16] │ │ │ │ │ mov r1, r6 │ │ │ │ │ - ldr r3, [r0, #92] @ 0x5c │ │ │ │ │ + mov r0, r5 │ │ │ │ │ + ldr r3, [r4, #92] @ 0x5c │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ - ldr r3, [r0, #88] @ 0x58 │ │ │ │ │ + ldr r3, [r4, #88] @ 0x58 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ - ldr r3, [r0, #84] @ 0x54 │ │ │ │ │ + ldr r3, [r4, #84] @ 0x54 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ - ldr r3, [r0, #80] @ 0x50 │ │ │ │ │ + ldr r3, [r4, #80] @ 0x50 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - ldr r3, [r0, #76] @ 0x4c │ │ │ │ │ - mov r0, r5 │ │ │ │ │ + ldr r3, [r4, #76] @ 0x4c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_co │ │ │ │ │ - add sp, #28 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - .word 0x0000006a │ │ │ │ │ + b.n 164a │ │ │ │ │ + nop │ │ │ │ │ + .word 0x0000007e │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_cpy2d_co │ │ │ │ │ │ │ │ │ │ -000013c8 : │ │ │ │ │ +0000168c : │ │ │ │ │ apply_tiled(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + mov r4, r0 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r1 │ │ │ │ │ - ldr r3, [pc, #116] @ (1444 ) │ │ │ │ │ - ldrd r9, r1, [r0, #64] @ 0x40 │ │ │ │ │ mov r6, r2 │ │ │ │ │ - add r3, pc │ │ │ │ │ + ldr r3, [pc, #144] @ (172c ) │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + ldrd r9, r1, [r0, #64] @ 0x40 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ ldr r2, [r0, #72] @ 0x48 │ │ │ │ │ + add r3, pc │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #28 │ │ │ │ │ - mov r4, r0 │ │ │ │ │ cmp r1, #2 │ │ │ │ │ - beq.n 1420 │ │ │ │ │ + beq.n 170a │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.n 141a │ │ │ │ │ - ldr r2, [pc, #96] @ (1448 ) │ │ │ │ │ + ble.n 16f2 │ │ │ │ │ + ldr r2, [pc, #116] @ (1730 ) │ │ │ │ │ add.w fp, r0, #84 @ 0x54 │ │ │ │ │ add.w r8, r1, #4294967295 @ 0xffffffff │ │ │ │ │ - movs r7, #0 │ │ │ │ │ + mov.w r7, #0 │ │ │ │ │ ldr.w sl, [r3, r2] │ │ │ │ │ mov r3, r5 │ │ │ │ │ - strd r6, sl, [sp] │ │ │ │ │ mov r2, r9 │ │ │ │ │ + strd r6, sl, [sp] │ │ │ │ │ mov r1, r8 │ │ │ │ │ mov r0, fp │ │ │ │ │ - adds r7, #1 │ │ │ │ │ - bl eb0 │ │ │ │ │ + bl 10e8 │ │ │ │ │ ldr r3, [r4, #76] @ 0x4c │ │ │ │ │ + add.w r7, r7, #1 │ │ │ │ │ add.w r5, r5, r3, lsl #3 │ │ │ │ │ ldr r3, [r4, #80] @ 0x50 │ │ │ │ │ add.w r6, r6, r3, lsl #3 │ │ │ │ │ ldr r3, [r4, #72] @ 0x48 │ │ │ │ │ cmp r7, r3 │ │ │ │ │ - blt.n 13f6 │ │ │ │ │ + blt.n 16cc │ │ │ │ │ add sp, #28 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ str.w r9, [sp, #16] │ │ │ │ │ mov r1, r6 │ │ │ │ │ - ldr r3, [r0, #92] @ 0x5c │ │ │ │ │ + mov r0, r5 │ │ │ │ │ + ldr r3, [r4, #92] @ 0x5c │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ - ldr r3, [r0, #88] @ 0x58 │ │ │ │ │ + ldr r3, [r4, #88] @ 0x58 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ - ldr r3, [r0, #84] @ 0x54 │ │ │ │ │ + ldr r3, [r4, #84] @ 0x54 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ - ldr r3, [r0, #80] @ 0x50 │ │ │ │ │ + ldr r3, [r4, #80] @ 0x50 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - ldr r3, [r0, #76] @ 0x4c │ │ │ │ │ - mov r0, r5 │ │ │ │ │ + ldr r3, [r4, #76] @ 0x4c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_tiled │ │ │ │ │ - add sp, #28 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - .word 0x0000006a │ │ │ │ │ + b.n 16f2 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x0000007e │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_cpy2d_tiled │ │ │ │ │ │ │ │ │ │ -0000144c : │ │ │ │ │ +00001734 : │ │ │ │ │ apply_iter(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + ldr r3, [pc, #208] @ (1808 ) │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r1 │ │ │ │ │ - ldr r3, [pc, #176] @ (1504 ) │ │ │ │ │ + mov r6, r2 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ ldrd r8, r7, [r0, #64] @ 0x40 │ │ │ │ │ add r3, pc │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #28 │ │ │ │ │ - mov r6, r2 │ │ │ │ │ - cbz r7, 14c6 │ │ │ │ │ - mov r4, r0 │ │ │ │ │ + cmp r7, #0 │ │ │ │ │ + beq.n 17d0 │ │ │ │ │ cmp r7, #1 │ │ │ │ │ - beq.n 14ac │ │ │ │ │ + mov r4, r0 │ │ │ │ │ + beq.n 17a4 │ │ │ │ │ cmp r7, #2 │ │ │ │ │ - beq.n 14dc │ │ │ │ │ + beq.n 17e4 │ │ │ │ │ ldr r2, [r0, #72] @ 0x48 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.n 14c0 │ │ │ │ │ - ldr r2, [pc, #148] @ (1508 ) │ │ │ │ │ + ble.n 17b8 │ │ │ │ │ + ldr r2, [pc, #160] @ (180c ) │ │ │ │ │ add.w sl, r0, #84 @ 0x54 │ │ │ │ │ - subs r7, #1 │ │ │ │ │ + add.w r7, r7, #4294967295 @ 0xffffffff │ │ │ │ │ mov.w r9, #0 │ │ │ │ │ ldr.w fp, [r3, r2] │ │ │ │ │ mov r3, r5 │ │ │ │ │ - strd r6, fp, [sp] │ │ │ │ │ mov r2, r8 │ │ │ │ │ + strd r6, fp, [sp] │ │ │ │ │ mov r1, r7 │ │ │ │ │ mov r0, sl │ │ │ │ │ - add.w r9, r9, #1 │ │ │ │ │ - bl eb0 │ │ │ │ │ + bl 10e8 │ │ │ │ │ ldr r3, [r4, #76] @ 0x4c │ │ │ │ │ + add.w r9, r9, #1 │ │ │ │ │ add.w r5, r5, r3, lsl #3 │ │ │ │ │ ldr r3, [r4, #80] @ 0x50 │ │ │ │ │ add.w r6, r6, r3, lsl #3 │ │ │ │ │ ldr r3, [r4, #72] @ 0x48 │ │ │ │ │ cmp r9, r3 │ │ │ │ │ - blt.n 1480 │ │ │ │ │ - add sp, #28 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + blt.n 177c │ │ │ │ │ + b.n 17b8 │ │ │ │ │ str.w r8, [sp, #4] │ │ │ │ │ - mov r1, r6 │ │ │ │ │ - ldr r3, [r0, #80] @ 0x50 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ - ldrd r2, r3, [r0, #72] @ 0x48 │ │ │ │ │ + mov r1, r2 │ │ │ │ │ mov r0, r5 │ │ │ │ │ + ldr r3, [r4, #80] @ 0x50 │ │ │ │ │ + str r3, [sp, #0] │ │ │ │ │ + ldrd r2, r3, [r4, #72] @ 0x48 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy1d │ │ │ │ │ add sp, #28 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - movs r3, #1 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ mov r2, r8 │ │ │ │ │ mov r1, r6 │ │ │ │ │ mov r0, r5 │ │ │ │ │ strd r3, r3, [sp] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy1d │ │ │ │ │ - add sp, #28 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + b.n 17b8 │ │ │ │ │ str.w r8, [sp, #16] │ │ │ │ │ - mov r1, r6 │ │ │ │ │ - ldr r3, [r0, #92] @ 0x5c │ │ │ │ │ + mov r1, r2 │ │ │ │ │ + mov r0, r5 │ │ │ │ │ + ldr r3, [r4, #92] @ 0x5c │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ - ldr r3, [r0, #88] @ 0x58 │ │ │ │ │ + ldr r3, [r4, #88] @ 0x58 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ - ldr r3, [r0, #84] @ 0x54 │ │ │ │ │ + ldr r3, [r4, #84] @ 0x54 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ - ldr r3, [r0, #80] @ 0x50 │ │ │ │ │ + ldr r3, [r4, #80] @ 0x50 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - ldrd r2, r3, [r0, #72] @ 0x48 │ │ │ │ │ - mov r0, r5 │ │ │ │ │ + ldrd r2, r3, [r4, #72] @ 0x48 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_cpy2d_ci │ │ │ │ │ - add sp, #28 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + b.n 17b8 │ │ │ │ │ nop │ │ │ │ │ - .word 0x000000a8 │ │ │ │ │ + .word 0x000000ba │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_cpy2d_ci │ │ │ │ │ │ │ │ │ │ -0000150c : │ │ │ │ │ +00001810 : │ │ │ │ │ fftw_rdft_rank0_register(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ + ldr r4, [pc, #60] @ (1854 ) │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ mov r6, r0 │ │ │ │ │ - ldr r4, [pc, #44] @ (1540 ) │ │ │ │ │ add r4, pc │ │ │ │ │ add.w r5, r4, #108 @ 0x6c │ │ │ │ │ mov r1, r5 │ │ │ │ │ - movs r0, #20 │ │ │ │ │ + mov.w r0, #20 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ - mov r1, r0 │ │ │ │ │ ldrd r2, r3, [r4] │ │ │ │ │ - strd r2, r3, [r0, #8] │ │ │ │ │ - adds r4, #12 │ │ │ │ │ - ldr.w r3, [r4, #-4] │ │ │ │ │ - str r3, [r0, #16] │ │ │ │ │ + mov r1, r0 │ │ │ │ │ + add.w r4, r4, #12 │ │ │ │ │ mov r0, r6 │ │ │ │ │ + strd r2, r3, [r1, #8] │ │ │ │ │ + ldr.w r3, [r4, #-4] │ │ │ │ │ + str r3, [r1, #16] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ cmp r4, r5 │ │ │ │ │ - bne.n 1518 │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ + bne.n 1822 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ nop │ │ │ │ │ - .word 0x0000002a │ │ │ │ │ + .word 0x00000034 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ ├── rdft-dht.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2320 (bytes into file) │ │ │ │ │ + Start of section headers: 2444 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 15 │ │ │ │ │ Section header string table index: 14 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ -There are 15 section headers, starting at offset 0x910: │ │ │ │ │ +There are 15 section headers, starting at offset 0x98c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0003b8 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0007c0 0000a0 08 I 12 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0003ec 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0003ec 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0003ec 000022 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 00040e 000010 00 WA 0 0 4 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000860 000020 08 I 12 6 4 │ │ │ │ │ - [ 8] .data.rel.ro.local PROGBITS 00000000 00041e 00000c 00 WA 0 0 4 │ │ │ │ │ - [ 9] .rel.data.rel.ro.local REL 00000000 000880 000008 08 I 12 8 4 │ │ │ │ │ - [10] .note.GNU-stack PROGBITS 00000000 00042a 000000 00 0 0 1 │ │ │ │ │ - [11] .ARM.attributes ARM_ATTRIBUTES 00000000 00042a 000033 00 0 0 1 │ │ │ │ │ - [12] .symtab SYMTAB 00000000 000460 000230 10 13 24 4 │ │ │ │ │ - [13] .strtab STRTAB 00000000 000690 00012e 00 0 0 1 │ │ │ │ │ - [14] .shstrtab STRTAB 00000000 000888 000087 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000434 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 00083c 0000a0 08 I 12 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000468 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000468 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000468 000022 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 00048a 000010 00 WA 0 0 4 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 0008dc 000020 08 I 12 6 4 │ │ │ │ │ + [ 8] .data.rel.ro.local PROGBITS 00000000 00049a 00000c 00 WA 0 0 4 │ │ │ │ │ + [ 9] .rel.data.rel.ro.local REL 00000000 0008fc 000008 08 I 12 8 4 │ │ │ │ │ + [10] .note.GNU-stack PROGBITS 00000000 0004a6 000000 00 0 0 1 │ │ │ │ │ + [11] .ARM.attributes ARM_ATTRIBUTES 00000000 0004a6 000033 00 0 0 1 │ │ │ │ │ + [12] .symtab SYMTAB 00000000 0004dc 000230 10 13 24 4 │ │ │ │ │ + [13] .strtab STRTAB 00000000 00070c 00012e 00 0 0 1 │ │ │ │ │ + [14] .shstrtab STRTAB 00000000 000904 000087 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,38 +1,38 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 35 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 146 FUNC LOCAL DEFAULT 1 apply_r2hc │ │ │ │ │ + 1: 00000001 180 FUNC LOCAL DEFAULT 1 apply_r2hc │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000095 134 FUNC LOCAL DEFAULT 1 apply_hc2r │ │ │ │ │ - 4: 0000011d 220 FUNC LOCAL DEFAULT 1 apply_hc2r_save │ │ │ │ │ + 3: 000000b5 150 FUNC LOCAL DEFAULT 1 apply_hc2r │ │ │ │ │ + 4: 0000014d 252 FUNC LOCAL DEFAULT 1 apply_hc2r_save │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 6: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ 7: 00000008 0 NOTYPE LOCAL DEFAULT 5 .LC1 │ │ │ │ │ 8: 00000010 0 NOTYPE LOCAL DEFAULT 5 .LC2 │ │ │ │ │ - 9: 000001f9 64 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ - 10: 00000228 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 11: 00000238 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 12: 00000239 336 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 13: 00000374 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 14: 00000388 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 15: 00000389 6 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 16: 00000391 6 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 17: 000003b4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 9: 00000249 64 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 10: 00000278 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 11: 00000288 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 12: 00000289 376 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 13: 000003ec 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 14: 00000400 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 15: 00000401 6 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 16: 00000409 6 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 17: 00000430 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 18: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 19: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 20: 00000000 16 OBJECT LOCAL DEFAULT 6 padt.0 │ │ │ │ │ 21: 00000000 0 SECTION LOCAL DEFAULT 8 .data.rel.ro.local │ │ │ │ │ 22: 00000000 0 NOTYPE LOCAL DEFAULT 8 $d │ │ │ │ │ 23: 00000000 12 OBJECT LOCAL DEFAULT 8 sadt.1 │ │ │ │ │ 24: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkproblem_rdft_1 │ │ │ │ │ 25: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_d │ │ │ │ │ 26: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_rdft │ │ │ │ │ 27: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_copy_inplace │ │ │ │ │ 28: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_destroy │ │ │ │ │ 29: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_destroy_internal │ │ │ │ │ 30: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_awake │ │ │ │ │ - 31: 00000399 32 FUNC GLOBAL DEFAULT 1 fftw_rdft_dht_register │ │ │ │ │ + 31: 00000411 36 FUNC GLOBAL DEFAULT 1 fftw_rdft_dht_register │ │ │ │ │ 32: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ 33: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 34: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_solve │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,34 +1,34 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x7c0 contains 20 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x83c contains 20 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000228 00000103 R_ARM_REL32 00000001 apply_r2hc │ │ │ │ │ -0000022c 00000703 R_ARM_REL32 00000008 .LC1 │ │ │ │ │ -00000230 00000803 R_ARM_REL32 00000010 .LC2 │ │ │ │ │ -00000234 00000603 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -0000027e 0000180a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_1 │ │ │ │ │ -00000286 0000190a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -000002a8 00001a0a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ -00000354 00001b0a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ -00000364 0000180a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_1 │ │ │ │ │ -0000036c 00001c0a R_ARM_THM_CALL 00000000 fftw_tensor_destroy │ │ │ │ │ -00000374 00000403 R_ARM_REL32 0000011d apply_hc2r_save │ │ │ │ │ -00000378 00001203 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000037c 00000403 R_ARM_REL32 0000011d apply_hc2r_save │ │ │ │ │ -00000380 00000103 R_ARM_REL32 00000001 apply_r2hc │ │ │ │ │ -00000384 00000303 R_ARM_REL32 00000095 apply_hc2r │ │ │ │ │ -000003a2 0000200a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -000003b4 00001503 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -0000038a 00001d1e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000392 00001e1e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ -000003ae 0000211e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ +00000278 00000103 R_ARM_REL32 00000001 apply_r2hc │ │ │ │ │ +0000027c 00000703 R_ARM_REL32 00000008 .LC1 │ │ │ │ │ +00000280 00000803 R_ARM_REL32 00000010 .LC2 │ │ │ │ │ +00000284 00000603 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +000002e8 0000180a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_1 │ │ │ │ │ +000002f0 0000190a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +00000314 00001a0a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ +000003c8 00001b0a R_ARM_THM_CALL 00000000 fftw_tensor_copy_inplace │ │ │ │ │ +000003da 0000180a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_1 │ │ │ │ │ +000003e4 00001c0a R_ARM_THM_CALL 00000000 fftw_tensor_destroy │ │ │ │ │ +000003ec 00000403 R_ARM_REL32 0000014d apply_hc2r_save │ │ │ │ │ +000003f0 00001203 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000003f4 00000403 R_ARM_REL32 0000014d apply_hc2r_save │ │ │ │ │ +000003f8 00000103 R_ARM_REL32 00000001 apply_r2hc │ │ │ │ │ +000003fc 00000303 R_ARM_REL32 000000b5 apply_hc2r │ │ │ │ │ +0000041e 0000200a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +00000430 00001503 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +00000402 00001d1e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ +0000040a 00001e1e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ +0000042c 0000211e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x860 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x8dc contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00002202 R_ARM_ABS32 00000000 fftw_rdft_solve │ │ │ │ │ -00000004 00001002 R_ARM_ABS32 00000391 awake │ │ │ │ │ -00000008 00000902 R_ARM_ABS32 000001f9 print │ │ │ │ │ -0000000c 00000f02 R_ARM_ABS32 00000389 destroy │ │ │ │ │ +00000004 00001002 R_ARM_ABS32 00000409 awake │ │ │ │ │ +00000008 00000902 R_ARM_ABS32 00000249 print │ │ │ │ │ +0000000c 00000f02 R_ARM_ABS32 00000401 destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x880 contains 1 entry: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x8fc contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000c02 R_ARM_ABS32 00000239 mkplan │ │ │ │ │ +00000004 00000c02 R_ARM_ABS32 00000289 mkplan │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,8 +1,7 @@ │ │ │ │ │ -5JzD5IP yD │ │ │ │ │ (%s-dht-%D%(%p%)) │ │ │ │ │ apply_r2hc │ │ │ │ │ apply_hc2r │ │ │ │ │ apply_hc2r_save │ │ │ │ │ fftw_mkproblem_rdft_1 │ │ │ │ │ fftw_mkplan_d │ │ │ │ │ fftw_mkplan_rdft │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,382 +1,396 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ apply_r2hc(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ + mov r4, r2 │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ mov r6, r0 │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ - mov r4, r2 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ blx r3 │ │ │ │ │ ldrd r3, r5, [r6, #72] @ 0x48 │ │ │ │ │ - subs r2, r5, #1 │ │ │ │ │ + add.w r2, r5, #4294967295 @ 0xffffffff │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - ble.n 4e │ │ │ │ │ + ble.n 5a │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - bne.n 50 │ │ │ │ │ - add.w r1, r4, #8 │ │ │ │ │ - add.w r2, r4, r5, lsl #3 │ │ │ │ │ + bne.n 62 │ │ │ │ │ vmov.f64 d5, #96 @ 0x3f000000 0.5 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r2, r4, r5, lsl #3 │ │ │ │ │ + add.w r1, r4, #8 │ │ │ │ │ vldmdb r2!, {d7} │ │ │ │ │ - subs r0, r5, r3 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + sub.w r0, r5, r3 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ cmp r3, r0 │ │ │ │ │ - vmul.f64 d6, d6, d5 │ │ │ │ │ vmul.f64 d7, d7, d5 │ │ │ │ │ + vmul.f64 d6, d6, d5 │ │ │ │ │ vadd.f64 d4, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vstmia r1!, {d4} │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ - blt.n 26 │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ - lsls r0, r3, #3 │ │ │ │ │ - mul.w r3, r2, r3 │ │ │ │ │ - adds r1, r4, r0 │ │ │ │ │ + blt.n 2e │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ + mov.w r0, r3, lsl #3 │ │ │ │ │ vmov.f64 d5, #96 @ 0x3f000000 0.5 │ │ │ │ │ + mul.w r3, r2, r3 │ │ │ │ │ + add.w r1, r4, r0 │ │ │ │ │ add.w r2, r4, r3, lsl #3 │ │ │ │ │ - movs r3, #1 │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + sub.w r4, r5, r3 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - subs r4, r5, r3 │ │ │ │ │ cmp r3, r4 │ │ │ │ │ vmul.f64 d6, d6, d5 │ │ │ │ │ vmul.f64 d7, d7, d5 │ │ │ │ │ vadd.f64 d4, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vstr d4, [r1] │ │ │ │ │ add r1, r0 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ sub.w r2, r2, r0 │ │ │ │ │ - blt.n 62 │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ - nop │ │ │ │ │ + blt.n 7a │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ │ │ │ │ │ -00000094 : │ │ │ │ │ +000000b4 : │ │ │ │ │ apply_hc2r(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ - ldr r5, [r0, #76] @ 0x4c │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ ldr r3, [r0, #68] @ 0x44 │ │ │ │ │ - subs r4, r5, #1 │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ + ldr r5, [r0, #76] @ 0x4c │ │ │ │ │ + add.w r4, r5, #4294967295 @ 0xffffffff │ │ │ │ │ cmp r4, #1 │ │ │ │ │ - ble.n ce │ │ │ │ │ + ble.n fa │ │ │ │ │ cmp r3, #1 │ │ │ │ │ itt eq │ │ │ │ │ - addeq.w lr, r1, #8 │ │ │ │ │ addeq.w ip, r1, r5, lsl #3 │ │ │ │ │ - bne.n d8 │ │ │ │ │ - vldr d6, [lr] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + addeq.w lr, r1, #8 │ │ │ │ │ + bne.n 10a │ │ │ │ │ vldmdb ip!, {d7} │ │ │ │ │ - subs r4, r5, r3 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + sub.w r4, r5, r3 │ │ │ │ │ + vldr d6, [lr] │ │ │ │ │ cmp r3, r4 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vstmia lr!, {d5} │ │ │ │ │ vstr d7, [ip] │ │ │ │ │ - blt.n ae │ │ │ │ │ + blt.n d6 │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, lr, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ bx r3 │ │ │ │ │ mov.w lr, r3, lsl #3 │ │ │ │ │ mul.w r3, r4, r3 │ │ │ │ │ + mov.w r4, #1 │ │ │ │ │ add.w ip, r1, lr │ │ │ │ │ - movs r4, #1 │ │ │ │ │ add.w r3, r1, r3, lsl #3 │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - subs r6, r5, r4 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + sub.w r6, r5, r4 │ │ │ │ │ + vldr d7, [ip] │ │ │ │ │ cmp r4, r6 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vstr d5, [ip] │ │ │ │ │ add ip, lr │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ sub.w r3, r3, lr │ │ │ │ │ - blt.n ea │ │ │ │ │ - ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, lr} │ │ │ │ │ - ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ - bx r3 │ │ │ │ │ + blt.n 11e │ │ │ │ │ + b.n fa │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -0000011c : │ │ │ │ │ +0000014c : │ │ │ │ │ apply_hc2r_save(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ ldr r4, [r0, #76] @ 0x4c │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ ldrd r8, r7, [r0, #68] @ 0x44 │ │ │ │ │ - subs r3, r4, #1 │ │ │ │ │ + add.w r3, r4, #4294967295 @ 0xffffffff │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ cmp r3, #1 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ - ble.n 1f2 │ │ │ │ │ + ble.n 242 │ │ │ │ │ cmp.w r8, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r7, #1 │ │ │ │ │ - bne.n 19e │ │ │ │ │ + bne.n 1ec │ │ │ │ │ mov.w lr, r4, lsl #3 │ │ │ │ │ add.w r6, r1, #8 │ │ │ │ │ - add.w r5, r1, lr │ │ │ │ │ add.w r4, r2, #8 │ │ │ │ │ - add lr, r2 │ │ │ │ │ mov.w ip, #1 │ │ │ │ │ + add.w r5, r1, lr │ │ │ │ │ + add lr, r2 │ │ │ │ │ vldmia r6!, {d6} │ │ │ │ │ add.w ip, ip, #1 │ │ │ │ │ - vldmdb r5!, {d7} │ │ │ │ │ - subs r3, #1 │ │ │ │ │ + add.w r3, r3, #4294967295 @ 0xffffffff │ │ │ │ │ cmp r3, ip │ │ │ │ │ + vldmdb r5!, {d7} │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vstmia r4!, {d5} │ │ │ │ │ vstmdb lr!, {d7} │ │ │ │ │ - bgt.n 154 │ │ │ │ │ + bgt.n 192 │ │ │ │ │ cmp r3, ip │ │ │ │ │ - bne.n 192 │ │ │ │ │ + bne.n 1d2 │ │ │ │ │ mul.w r8, r3, r8 │ │ │ │ │ mul.w r7, r3, r7 │ │ │ │ │ add.w r1, r1, r8, lsl #3 │ │ │ │ │ add.w r7, r2, r7, lsl #3 │ │ │ │ │ ldrd r4, r5, [r1] │ │ │ │ │ strd r4, r5, [r7] │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ mov r1, r2 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, lr, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ bx r3 │ │ │ │ │ mul.w r5, r3, r8 │ │ │ │ │ - mov.w r9, r8, lsl #3 │ │ │ │ │ + mov.w ip, #1 │ │ │ │ │ mul.w r4, r3, r7 │ │ │ │ │ + mov.w r9, r8, lsl #3 │ │ │ │ │ mov.w sl, r7, lsl #3 │ │ │ │ │ - add.w lr, r1, r9 │ │ │ │ │ - add.w r6, r2, sl │ │ │ │ │ add.w r5, r1, r5, lsl #3 │ │ │ │ │ - mov.w ip, #1 │ │ │ │ │ + add.w lr, r1, r9 │ │ │ │ │ add.w r4, r2, r4, lsl #3 │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ - add.w ip, ip, #1 │ │ │ │ │ + add.w r6, r2, sl │ │ │ │ │ vldr d6, [r5] │ │ │ │ │ - subs r3, #1 │ │ │ │ │ - add lr, r9 │ │ │ │ │ - sub.w r5, r5, r9 │ │ │ │ │ + add.w ip, ip, #1 │ │ │ │ │ + add.w r3, r3, #4294967295 @ 0xffffffff │ │ │ │ │ cmp r3, ip │ │ │ │ │ + sub.w r5, r5, r9 │ │ │ │ │ + vldr d7, [lr] │ │ │ │ │ + add lr, r9 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vstr d5, [r6] │ │ │ │ │ add r6, sl │ │ │ │ │ vstr d7, [r4] │ │ │ │ │ sub.w r4, r4, sl │ │ │ │ │ - bgt.n 1c2 │ │ │ │ │ - b.n 176 │ │ │ │ │ + bgt.n 210 │ │ │ │ │ + b.n 1b6 │ │ │ │ │ mov.w ip, #1 │ │ │ │ │ - b.n 176 │ │ │ │ │ + b.n 1b6 │ │ │ │ │ │ │ │ │ │ -000001f8 : │ │ │ │ │ +00000248 : │ │ │ │ │ print(): │ │ │ │ │ mov r3, r0 │ │ │ │ │ - ldr r2, [pc, #44] @ (228 ) │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + ldr r2, [pc, #44] @ (278 ) │ │ │ │ │ mov r0, r1 │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ + sub sp, #8 │ │ │ │ │ ldr r4, [r1, #0] │ │ │ │ │ ldr r1, [r3, #56] @ 0x38 │ │ │ │ │ add r2, pc │ │ │ │ │ - sub sp, #8 │ │ │ │ │ cmp r1, r2 │ │ │ │ │ - beq.n 220 │ │ │ │ │ - ldr r2, [pc, #28] @ (22c ) │ │ │ │ │ + beq.n 272 │ │ │ │ │ + ldr r2, [pc, #28] @ (27c ) │ │ │ │ │ add r2, pc │ │ │ │ │ ldr r1, [r3, #64] @ 0x40 │ │ │ │ │ str r1, [sp, #0] │ │ │ │ │ - ldr r1, [pc, #24] @ (230 ) │ │ │ │ │ + ldr r1, [pc, #24] @ (280 ) │ │ │ │ │ ldr r3, [r3, #76] @ 0x4c │ │ │ │ │ add r1, pc │ │ │ │ │ blx r4 │ │ │ │ │ add sp, #8 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - ldr r2, [pc, #16] @ (234 ) │ │ │ │ │ + ldr r2, [pc, #16] @ (284 ) │ │ │ │ │ add r2, pc │ │ │ │ │ - b.n 210 │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000020 │ │ │ │ │ + b.n 262 │ │ │ │ │ + .word 0x0000001c │ │ │ │ │ R_ARM_REL32 apply_r2hc │ │ │ │ │ - .word 0x0000001a │ │ │ │ │ + .word 0x00000018 │ │ │ │ │ R_ARM_REL32 .LC1 │ │ │ │ │ - .word 0x00000014 │ │ │ │ │ + .word 0x00000012 │ │ │ │ │ R_ARM_REL32 .LC2 │ │ │ │ │ - .word 0x0000000e │ │ │ │ │ + .word 0x0000000c │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ -00000238 : │ │ │ │ │ +00000288 : │ │ │ │ │ mkplan(): │ │ │ │ │ ldr.w r3, [r2, #164] @ 0xa4 │ │ │ │ │ - push {r4, r5, r6, r7, lr} │ │ │ │ │ + str.w r4, [sp, #-20]! │ │ │ │ │ mov r4, r2 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, lr, [sp, #12] │ │ │ │ │ sub sp, #20 │ │ │ │ │ - ubfx r2, r3, #0, #20 │ │ │ │ │ lsls r0, r3, #28 │ │ │ │ │ - bmi.n 254 │ │ │ │ │ + ubfx r2, r3, #0, #20 │ │ │ │ │ + bmi.n 2ae │ │ │ │ │ ldr r0, [r1, #4] │ │ │ │ │ mov r5, r1 │ │ │ │ │ ldr r3, [r0, #0] │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - beq.n 25a │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + beq.n 2c2 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #20 │ │ │ │ │ - pop {r4, r5, r6, r7, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ ldr r1, [r1, #8] │ │ │ │ │ ldr r6, [r1, #0] │ │ │ │ │ cmp r6, #0 │ │ │ │ │ - bne.n 254 │ │ │ │ │ + bne.n 2ae │ │ │ │ │ ldr r6, [r5, #20] │ │ │ │ │ bics.w r7, r6, #4 │ │ │ │ │ - bne.n 254 │ │ │ │ │ + bne.n 2ae │ │ │ │ │ ldr r7, [r0, #4] │ │ │ │ │ cmp r7, #2 │ │ │ │ │ - ble.n 254 │ │ │ │ │ - cbz r6, 276 │ │ │ │ │ + ble.n 2ae │ │ │ │ │ + cbz r6, 2de │ │ │ │ │ lsls r2, r2, #19 │ │ │ │ │ - bmi.n 352 │ │ │ │ │ - movs r3, #8 │ │ │ │ │ + bmi.n 3c6 │ │ │ │ │ + mov.w r3, #8 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldrd r2, r3, [r5, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_1 │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov r6, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 254 │ │ │ │ │ + beq.n 2ae │ │ │ │ │ ldr r3, [r5, #20] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - beq.n 346 │ │ │ │ │ + beq.n 3ba │ │ │ │ │ ldr.w r3, [r4, #164] @ 0xa4 │ │ │ │ │ lsls r3, r3, #19 │ │ │ │ │ - bpl.n 34c │ │ │ │ │ - ldr r2, [pc, #212] @ (374 ) │ │ │ │ │ + bpl.n 3c0 │ │ │ │ │ + ldr r2, [pc, #224] @ (3ec ) │ │ │ │ │ add r2, pc │ │ │ │ │ - ldr r1, [pc, #212] @ (378 ) │ │ │ │ │ - movs r0, #80 @ 0x50 │ │ │ │ │ + ldr r1, [pc, #224] @ (3f0 ) │ │ │ │ │ + mov.w r0, #80 @ 0x50 │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_rdft │ │ │ │ │ ldr r3, [r5, #4] │ │ │ │ │ - add.w ip, r6, #8 │ │ │ │ │ - mov r4, r0 │ │ │ │ │ - add.w lr, r0, #8 │ │ │ │ │ - ldr r7, [r3, #4] │ │ │ │ │ - str r7, [r0, #76] @ 0x4c │ │ │ │ │ + vldr d7, [r6, #8] │ │ │ │ │ + ldr r1, [r3, #4] │ │ │ │ │ + str r1, [r0, #76] @ 0x4c │ │ │ │ │ ldrd r2, r3, [r3, #8] │ │ │ │ │ - strd r2, r3, [r0, #68] @ 0x44 │ │ │ │ │ - str r6, [r0, #64] @ 0x40 │ │ │ │ │ - ldmia.w ip!, {r0, r1, r2, r3} │ │ │ │ │ - stmia.w lr!, {r0, r1, r2, r3} │ │ │ │ │ - vldr d5, [r4, #8] │ │ │ │ │ - ldmia.w ip, {r0, r1, r2, r3} │ │ │ │ │ - stmia.w lr, {r0, r1, r2, r3} │ │ │ │ │ - subs r3, r7, #1 │ │ │ │ │ - vldr d7, [r4, #32] │ │ │ │ │ + vstr d7, [r0, #8] │ │ │ │ │ + vldr d7, [r6, #16] │ │ │ │ │ + vldr d5, [r0, #8] │ │ │ │ │ + str r3, [r0, #72] @ 0x48 │ │ │ │ │ + add.w r3, r1, #4294967295 @ 0xffffffff │ │ │ │ │ add.w r3, r3, r3, lsr #31 │ │ │ │ │ - asrs r3, r3, #1 │ │ │ │ │ - lsls r2, r3, #2 │ │ │ │ │ + vstr d7, [r0, #16] │ │ │ │ │ + mov.w r3, r3, asr #1 │ │ │ │ │ + vldr d7, [r6, #24] │ │ │ │ │ + strd r6, r2, [r0, #64] @ 0x40 │ │ │ │ │ + mov.w r2, r3, lsl #2 │ │ │ │ │ + mov.w r3, r3, lsl #1 │ │ │ │ │ vmov s12, r2 │ │ │ │ │ - lsls r3, r3, #1 │ │ │ │ │ + vstr d7, [r0, #24] │ │ │ │ │ + vldr d7, [r6, #32] │ │ │ │ │ + vstr d7, [r0, #32] │ │ │ │ │ + vldr d7, [r0, #32] │ │ │ │ │ vcvt.f64.s32 d6, s12 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vmov s15, r3 │ │ │ │ │ ldr r3, [r5, #20] │ │ │ │ │ + vstr d6, [r0, #32] │ │ │ │ │ vcvt.f64.s32 d7, s15 │ │ │ │ │ - vstr d6, [r4, #32] │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ - vstr d5, [r4, #8] │ │ │ │ │ - cbnz r3, 31a │ │ │ │ │ - vldr d5, [r4, #16] │ │ │ │ │ + vstr d5, [r0, #8] │ │ │ │ │ + cbnz r3, 394 │ │ │ │ │ + vldr d5, [r0, #16] │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ - vstr d5, [r4, #16] │ │ │ │ │ - ldr r3, [pc, #96] @ (37c ) │ │ │ │ │ - ldr r2, [r4, #56] @ 0x38 │ │ │ │ │ + vstr d5, [r0, #16] │ │ │ │ │ + ldr r3, [pc, #92] @ (3f4 ) │ │ │ │ │ + ldr r2, [r0, #56] @ 0x38 │ │ │ │ │ add r3, pc │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.n 328 │ │ │ │ │ - mov r0, r4 │ │ │ │ │ - b.n 256 │ │ │ │ │ - tst.w r7, #1 │ │ │ │ │ + bne.n 2b2 │ │ │ │ │ vmov.f64 d7, #16 @ 0x40800000 4.0 │ │ │ │ │ vmov.f64 d5, #0 @ 0x40000000 2.0 │ │ │ │ │ - mov r0, r4 │ │ │ │ │ + tst.w r1, #1 │ │ │ │ │ it ne │ │ │ │ │ vmovne.f64 d7, d5 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vstr d6, [r4, #32] │ │ │ │ │ - b.n 256 │ │ │ │ │ - ldr r2, [pc, #56] @ (380 ) │ │ │ │ │ + vstr d6, [r0, #32] │ │ │ │ │ + b.n 2b2 │ │ │ │ │ + ldr r2, [pc, #60] @ (3f8 ) │ │ │ │ │ add r2, pc │ │ │ │ │ - b.n 2a2 │ │ │ │ │ - ldr r2, [pc, #52] @ (384 ) │ │ │ │ │ + b.n 30c │ │ │ │ │ + ldr r2, [pc, #56] @ (3fc ) │ │ │ │ │ add r2, pc │ │ │ │ │ - b.n 2a2 │ │ │ │ │ + b.n 30c │ │ │ │ │ mov r1, r3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy_inplace │ │ │ │ │ - movs r3, #8 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ + mov.w r3, #8 │ │ │ │ │ mov r6, r0 │ │ │ │ │ - ldr r3, [r5, #16] │ │ │ │ │ + str r3, [sp, #0] │ │ │ │ │ ldr r1, [r5, #8] │ │ │ │ │ + ldr r3, [r5, #16] │ │ │ │ │ mov r2, r3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_1 │ │ │ │ │ - str r0, [sp, #12] │ │ │ │ │ + mov r1, r0 │ │ │ │ │ mov r0, r6 │ │ │ │ │ + str r1, [sp, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_destroy │ │ │ │ │ ldr r1, [sp, #12] │ │ │ │ │ - b.n 284 │ │ │ │ │ - .word 0x000000d0 │ │ │ │ │ + b.n 2ee │ │ │ │ │ + .word 0x000000de │ │ │ │ │ R_ARM_REL32 apply_hc2r_save │ │ │ │ │ - .word 0x000000ce │ │ │ │ │ + .word 0x000000da │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x0000005a │ │ │ │ │ + .word 0x00000058 │ │ │ │ │ R_ARM_REL32 apply_hc2r_save │ │ │ │ │ - .word 0x00000034 │ │ │ │ │ + .word 0x00000038 │ │ │ │ │ R_ARM_REL32 apply_r2hc │ │ │ │ │ - .word 0x00000032 │ │ │ │ │ + .word 0x00000036 │ │ │ │ │ R_ARM_REL32 apply_hc2r │ │ │ │ │ │ │ │ │ │ -00000388 : │ │ │ │ │ +00000400 : │ │ │ │ │ destroy(): │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_destroy_internal │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000390 : │ │ │ │ │ +00000408 : │ │ │ │ │ awake(): │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_awake │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000398 : │ │ │ │ │ +00000410 : │ │ │ │ │ fftw_rdft_dht_register(): │ │ │ │ │ - ldr r1, [pc, #24] @ (3b4 ) │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + ldr r1, [pc, #28] @ (430 ) │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ + mov.w r0, #8 │ │ │ │ │ add r1, pc │ │ │ │ │ - movs r0, #8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solver_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000012 │ │ │ │ │ + .word 0x00000010 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ ├── rdft2-inplace-strides.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 768 (bytes into file) │ │ │ │ │ + Start of section headers: 824 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 10 │ │ │ │ │ Section header string table index: 9 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ -There are 10 section headers, starting at offset 0x300: │ │ │ │ │ +There are 10 section headers, starting at offset 0x338: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0000f8 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000278 000038 08 I 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 00012c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 00012c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .note.GNU-stack PROGBITS 00000000 00012c 000000 00 0 0 1 │ │ │ │ │ - [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 00012c 000033 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 000160 000090 10 8 3 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 0001f0 000088 00 0 0 1 │ │ │ │ │ - [ 9] .shstrtab STRTAB 00000000 0002b0 000050 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000130 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0002b0 000038 08 I 7 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000164 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000164 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .note.GNU-stack PROGBITS 00000000 000164 000000 00 0 0 1 │ │ │ │ │ + [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 000164 000033 00 0 0 1 │ │ │ │ │ + [ 7] .symtab SYMTAB 00000000 000198 000090 10 8 3 4 │ │ │ │ │ + [ 8] .strtab STRTAB 00000000 000228 000088 00 0 0 1 │ │ │ │ │ + [ 9] .shstrtab STRTAB 00000000 0002e8 000050 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 9 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 248 FUNC LOCAL DEFAULT 1 fftw_rdft2_inplace_strides.localalias │ │ │ │ │ - 3: 00000001 248 FUNC GLOBAL DEFAULT 1 fftw_rdft2_inplace_strides │ │ │ │ │ + 2: 00000001 302 FUNC LOCAL DEFAULT 1 fftw_rdft2_inplace_strides.localalias │ │ │ │ │ + 3: 00000001 302 FUNC GLOBAL DEFAULT 1 fftw_rdft2_inplace_strides │ │ │ │ │ 4: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_sz │ │ │ │ │ 5: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft2_strides │ │ │ │ │ 6: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_iabs │ │ │ │ │ 7: 00000000 0 NOTYPE GLOBAL DEFAULT UND __aeabi_idiv │ │ │ │ │ 8: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_imax │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,10 +1,10 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x278 contains 7 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x2b0 contains 7 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000058 0000040a R_ARM_THM_CALL 00000000 fftw_tensor_sz │ │ │ │ │ -00000078 0000050a R_ARM_THM_CALL 00000000 fftw_rdft2_strides │ │ │ │ │ -000000ba 0000060a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -000000c6 0000060a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -000000ce 0000060a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -000000da 0000070a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -000000ea 0000080a R_ARM_THM_CALL 00000000 fftw_imax │ │ │ │ │ +0000006a 0000040a R_ARM_THM_CALL 00000000 fftw_tensor_sz │ │ │ │ │ +00000096 0000050a R_ARM_THM_CALL 00000000 fftw_rdft2_strides │ │ │ │ │ +000000e6 0000060a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +000000f2 0000060a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +000000fe 0000060a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +0000010e 0000070a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +00000120 0000080a R_ARM_THM_CALL 00000000 fftw_imax │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,113 +1,120 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_rdft2_inplace_strides.localalias(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ + str.w r4, [sp, #-28]! │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r7, r0 │ │ │ │ │ + mov r8, r1 │ │ │ │ │ ldr r0, [r0, #4] │ │ │ │ │ + strd r9, lr, [sp, #20] │ │ │ │ │ sub sp, #12 │ │ │ │ │ - mov r8, r1 │ │ │ │ │ - mov r2, r0 │ │ │ │ │ - movs r3, #0 │ │ │ │ │ ldr r6, [r0, #0] │ │ │ │ │ - b.n 1e │ │ │ │ │ + mov r2, r0 │ │ │ │ │ + b.n 2c │ │ │ │ │ ldr r5, [r2, #8] │ │ │ │ │ ldr.w r4, [r2, #12]! │ │ │ │ │ cmp r5, r4 │ │ │ │ │ - bne.n 8a │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + bne.n a8 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ cmp r3, r6 │ │ │ │ │ - blt.n 14 │ │ │ │ │ + blt.n 22 │ │ │ │ │ ldr r1, [r7, #8] │ │ │ │ │ mvn.w r2, #2147483648 @ 0x80000000 │ │ │ │ │ ldr r3, [r1, #0] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ it ne │ │ │ │ │ cmpne r3, r2 │ │ │ │ │ ite eq │ │ │ │ │ moveq r4, #1 │ │ │ │ │ movne r4, #0 │ │ │ │ │ - beq.n ac │ │ │ │ │ + beq.n dc │ │ │ │ │ cmp r8, r2 │ │ │ │ │ - beq.n 92 │ │ │ │ │ - cbnz r6, 58 │ │ │ │ │ - movs r3, #12 │ │ │ │ │ - mla r1, r3, r8, r1 │ │ │ │ │ + beq.n c0 │ │ │ │ │ + cbnz r6, 6a │ │ │ │ │ + add.w r8, r8, r8, lsl #1 │ │ │ │ │ + add.w r1, r1, r8, lsl #2 │ │ │ │ │ ldrd r0, r3, [r1, #8] │ │ │ │ │ - subs r0, r0, r3 │ │ │ │ │ + sub.w r0, r0, r3 │ │ │ │ │ clz r0, r0 │ │ │ │ │ - lsrs r0, r0, #5 │ │ │ │ │ - add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} │ │ │ │ │ + mov.w r0, r0, lsr #5 │ │ │ │ │ + b.n ac │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_sz │ │ │ │ │ - ldr r3, [r7, #4] │ │ │ │ │ - movs r4, #12 │ │ │ │ │ + ldr r2, [r7, #4] │ │ │ │ │ mov r5, r0 │ │ │ │ │ + add.w r8, r8, r8, lsl #1 │ │ │ │ │ ldr r0, [r7, #28] │ │ │ │ │ - ldr r1, [r3, #0] │ │ │ │ │ - subs r2, r1, #1 │ │ │ │ │ - mla r1, r4, r1, r3 │ │ │ │ │ - mla r2, r4, r2, r3 │ │ │ │ │ - add r3, sp, #4 │ │ │ │ │ - subs r1, #8 │ │ │ │ │ - ldr r6, [r2, #4] │ │ │ │ │ + ldr r1, [r2, #0] │ │ │ │ │ + add.w r3, r1, r1, lsl #1 │ │ │ │ │ + add.w r1, r1, r1, lsl #1 │ │ │ │ │ + add.w r3, r2, r3, lsl #2 │ │ │ │ │ + add.w r1, r2, r1, lsl #2 │ │ │ │ │ mov r2, sp │ │ │ │ │ + ldr.w r6, [r3, #-8] │ │ │ │ │ + add r3, sp, #4 │ │ │ │ │ + sub.w r1, r1, #8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_rdft2_strides │ │ │ │ │ ldr r3, [r7, #8] │ │ │ │ │ - mla r3, r4, r8, r3 │ │ │ │ │ + add.w r3, r3, r8, lsl #2 │ │ │ │ │ ldrd r0, r2, [r3, #8] │ │ │ │ │ cmp r0, r2 │ │ │ │ │ - beq.n b4 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + beq.n e2 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.n ac │ │ │ │ │ + ble.n dc │ │ │ │ │ mov r1, r4 │ │ │ │ │ mov r0, r7 │ │ │ │ │ bl 0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 8a │ │ │ │ │ + beq.n a8 │ │ │ │ │ ldr r3, [r7, #8] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ cmp r3, r4 │ │ │ │ │ - bgt.n 96 │ │ │ │ │ - movs r0, #1 │ │ │ │ │ - add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} │ │ │ │ │ - add.w r7, r6, r6, lsr #31 │ │ │ │ │ - lsls r0, r0, #1 │ │ │ │ │ + bgt.n c4 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ + b.n ac │ │ │ │ │ + mov.w r0, r0, lsl #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ mov r4, r0 │ │ │ │ │ - asrs r7, r7, #1 │ │ │ │ │ ldr r0, [sp, #4] │ │ │ │ │ - adds r7, #1 │ │ │ │ │ + add.w r7, r6, r6, lsr #31 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ mov r9, r0 │ │ │ │ │ ldr r0, [sp, #0] │ │ │ │ │ + mov.w r7, r7, asr #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ - mov r1, r6 │ │ │ │ │ mul.w r8, r5, r0 │ │ │ │ │ + mov r1, r6 │ │ │ │ │ + add.w r7, r7, #1 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ mul.w r7, r0, r7 │ │ │ │ │ mov r1, r8 │ │ │ │ │ mul.w r0, r9, r7 │ │ │ │ │ - lsls r0, r0, #1 │ │ │ │ │ + mov.w r0, r0, lsl #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_imax │ │ │ │ │ cmp r4, r0 │ │ │ │ │ ite lt │ │ │ │ │ movlt r0, #0 │ │ │ │ │ movge r0, #1 │ │ │ │ │ - b.n 8c │ │ │ │ │ + b.n ac │ │ │ │ │ + nop │ │ │ ├── rdft2-rdft.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 4428 (bytes into file) │ │ │ │ │ + Start of section headers: 4708 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 15 │ │ │ │ │ Section header string table index: 14 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ -There are 15 section headers, starting at offset 0x114c: │ │ │ │ │ +There are 15 section headers, starting at offset 0x1264: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000854 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000e7c 000220 08 I 12 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000888 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000888 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000888 000037 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 0008bf 000010 00 WA 0 0 4 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 00109c 000020 08 I 12 6 4 │ │ │ │ │ - [ 8] .data.rel.ro.local PROGBITS 00000000 0008cf 00000c 00 WA 0 0 4 │ │ │ │ │ - [ 9] .rel.data.rel.ro.local REL 00000000 0010bc 000008 08 I 12 8 4 │ │ │ │ │ - [10] .note.GNU-stack PROGBITS 00000000 0008db 000000 00 0 0 1 │ │ │ │ │ - [11] .ARM.attributes ARM_ATTRIBUTES 00000000 0008db 000033 00 0 0 1 │ │ │ │ │ - [12] .symtab SYMTAB 00000000 000910 000350 10 13 25 4 │ │ │ │ │ - [13] .strtab STRTAB 00000000 000c60 00021c 00 0 0 1 │ │ │ │ │ - [14] .shstrtab STRTAB 00000000 0010c4 000087 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00096c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000f94 000220 08 I 12 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0009a0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0009a0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0009a0 000037 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0009d7 000010 00 WA 0 0 4 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 0011b4 000020 08 I 12 6 4 │ │ │ │ │ + [ 8] .data.rel.ro.local PROGBITS 00000000 0009e7 00000c 00 WA 0 0 4 │ │ │ │ │ + [ 9] .rel.data.rel.ro.local REL 00000000 0011d4 000008 08 I 12 8 4 │ │ │ │ │ + [10] .note.GNU-stack PROGBITS 00000000 0009f3 000000 00 0 0 1 │ │ │ │ │ + [11] .ARM.attributes ARM_ATTRIBUTES 00000000 0009f3 000033 00 0 0 1 │ │ │ │ │ + [12] .symtab SYMTAB 00000000 000a28 000350 10 13 25 4 │ │ │ │ │ + [13] .strtab STRTAB 00000000 000d78 00021c 00 0 0 1 │ │ │ │ │ + [14] .shstrtab STRTAB 00000000 0011dc 000087 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -2,28 +2,28 @@ │ │ │ │ │ Symbol table '.symtab' contains 53 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ 3: 00000008 0 NOTYPE LOCAL DEFAULT 5 .LC1 │ │ │ │ │ 4: 00000010 0 NOTYPE LOCAL DEFAULT 5 .LC2 │ │ │ │ │ - 5: 00000001 100 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 5: 00000001 116 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ 6: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00000054 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 8: 00000241 560 FUNC LOCAL DEFAULT 1 apply_r2hc │ │ │ │ │ - 9: 00000064 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 10: 00000065 474 FUNC LOCAL DEFAULT 1 apply_hc2r │ │ │ │ │ - 11: 00000468 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 12: 00000470 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 13: 00000471 20 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 14: 00000485 24 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 15: 0000049d 920 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 16: 00000824 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 17: 00000834 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 18: 00000850 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 7: 00000064 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 00000295 644 FUNC LOCAL DEFAULT 1 apply_r2hc │ │ │ │ │ + 9: 00000074 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 10: 00000075 544 FUNC LOCAL DEFAULT 1 apply_hc2r │ │ │ │ │ + 11: 00000510 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 12: 00000518 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 13: 00000519 24 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 14: 00000531 36 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 15: 00000555 1012 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 16: 00000938 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 17: 00000948 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 18: 00000968 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 19: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 20: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 21: 00000000 16 OBJECT LOCAL DEFAULT 6 padt.0 │ │ │ │ │ 22: 00000000 0 SECTION LOCAL DEFAULT 8 .data.rel.ro.local │ │ │ │ │ 23: 00000000 0 NOTYPE LOCAL DEFAULT 8 $d │ │ │ │ │ 24: 00000000 12 OBJECT LOCAL DEFAULT 8 sadt.1 │ │ │ │ │ 25: 00000000 0 NOTYPE GLOBAL DEFAULT UND __aeabi_idivmod │ │ │ │ │ @@ -46,11 +46,11 @@ │ │ │ │ │ 42: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_d │ │ │ │ │ 43: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_rdft2 │ │ │ │ │ 44: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft2_strides │ │ │ │ │ 45: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_madd │ │ │ │ │ 46: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft2_inplace_strides │ │ │ │ │ 47: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_iabs │ │ │ │ │ 48: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_imin │ │ │ │ │ - 49: 00000835 32 FUNC GLOBAL DEFAULT 1 fftw_rdft2_rdft_register │ │ │ │ │ + 49: 00000949 36 FUNC GLOBAL DEFAULT 1 fftw_rdft2_rdft_register │ │ │ │ │ 50: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ 51: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 52: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft2_solve │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,82 +1,82 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xe7c contains 68 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xf94 contains 68 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000002a 0000190a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -00000054 00000803 R_ARM_REL32 00000241 apply_r2hc │ │ │ │ │ -00000058 00000303 R_ARM_REL32 00000008 .LC1 │ │ │ │ │ -0000005c 00000403 R_ARM_REL32 00000010 .LC2 │ │ │ │ │ -00000060 00000203 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -00000094 00001a0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -00000198 00001b0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -00000276 00001a0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -000003a8 00001b0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -00000476 00001c0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -0000048c 00001d0a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -000004b0 00001e0a R_ARM_THM_CALL 00000000 fftw_ifree0 │ │ │ │ │ -000004b6 00001c0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000004bc 00001c0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000004fc 00001f0a R_ARM_THM_CALL 00000000 fftw_toobig │ │ │ │ │ -0000051e 00001f0a R_ARM_THM_CALL 00000000 fftw_toobig │ │ │ │ │ -00000532 0000200a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ -0000053c 0000210a R_ARM_THM_CALL 00000000 fftw_nbuf │ │ │ │ │ -00000550 0000220a R_ARM_THM_CALL 00000000 fftw_imax │ │ │ │ │ -0000055a 0000230a R_ARM_THM_CALL 00000000 fftw_bufdist │ │ │ │ │ -00000566 00001a0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -00000570 0000240a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -000005a0 0000250a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -000005ac 0000250a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -000005be 0000260a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_d │ │ │ │ │ -000005da 0000270a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ -000005ea 00001b0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -000005f0 0000280a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ -000005fa 0000190a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -00000604 0000250a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -00000628 0000290a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft2_d │ │ │ │ │ -00000630 00002a0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -00000646 00002b0a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft2 │ │ │ │ │ -00000674 00002c0a R_ARM_THM_CALL 00000000 fftw_rdft2_strides │ │ │ │ │ -00000680 0000240a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -0000068a 00002d0a R_ARM_THM_CALL 00000000 fftw_ops_madd │ │ │ │ │ -000006c2 0000250a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -000006ce 0000250a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -000006e0 0000260a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_d │ │ │ │ │ -000006f2 0000270a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ -00000700 00001b0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -00000706 0000280a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ -00000710 0000190a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -0000071a 0000250a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ -00000742 0000290a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft2_d │ │ │ │ │ -0000074a 00002a0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -00000760 00002b0a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft2 │ │ │ │ │ -00000772 00002e0a R_ARM_THM_CALL 00000000 fftw_rdft2_inplace_strides │ │ │ │ │ -00000786 00002c0a R_ARM_THM_CALL 00000000 fftw_rdft2_strides │ │ │ │ │ -00000794 00002c0a R_ARM_THM_CALL 00000000 fftw_rdft2_strides │ │ │ │ │ -0000079a 00002f0a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -000007a4 00002f0a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -000007b2 00002f0a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -000007c2 00002f0a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -000007d4 00002f0a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -000007e8 0000300a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ -000007f2 0000220a R_ARM_THM_CALL 00000000 fftw_imax │ │ │ │ │ -00000800 0000240a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -00000818 00002f0a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -00000824 00000803 R_ARM_REL32 00000241 apply_r2hc │ │ │ │ │ -00000828 00001303 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000082c 00000a03 R_ARM_REL32 00000065 apply_hc2r │ │ │ │ │ -00000830 00001303 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000083e 0000320a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -00000850 00001603 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -00000480 00001c1e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000498 00001d1e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ -0000084a 0000331e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ +00000032 0000190a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +00000064 00000803 R_ARM_REL32 00000295 apply_r2hc │ │ │ │ │ +00000068 00000303 R_ARM_REL32 00000008 .LC1 │ │ │ │ │ +0000006c 00000403 R_ARM_REL32 00000010 .LC2 │ │ │ │ │ +00000070 00000203 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +000000b4 00001a0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +000001d2 00001b0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +000002dc 00001a0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +00000428 00001b0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +00000520 00001c0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +0000053e 00001d0a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +0000057a 00001e0a R_ARM_THM_CALL 00000000 fftw_ifree0 │ │ │ │ │ +00000582 00001c0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000588 00001c0a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000005de 00001f0a R_ARM_THM_CALL 00000000 fftw_toobig │ │ │ │ │ +00000600 00001f0a R_ARM_THM_CALL 00000000 fftw_toobig │ │ │ │ │ +00000614 0000200a R_ARM_THM_CALL 00000000 fftw_tensor_tornk1 │ │ │ │ │ +00000620 0000210a R_ARM_THM_CALL 00000000 fftw_nbuf │ │ │ │ │ +00000634 0000220a R_ARM_THM_CALL 00000000 fftw_imax │ │ │ │ │ +0000063e 0000230a R_ARM_THM_CALL 00000000 fftw_bufdist │ │ │ │ │ +0000064c 00001a0a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +00000656 0000240a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +0000068a 0000250a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +00000696 0000250a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +000006a8 0000260a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_d │ │ │ │ │ +000006ca 0000270a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ +000006dc 00001b0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +000006e2 0000280a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ +000006ec 0000190a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +000006f6 0000250a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +0000071c 0000290a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft2_d │ │ │ │ │ +00000724 00002a0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +0000073c 00002b0a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft2 │ │ │ │ │ +0000076e 00002c0a R_ARM_THM_CALL 00000000 fftw_rdft2_strides │ │ │ │ │ +0000077a 0000240a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +00000784 00002d0a R_ARM_THM_CALL 00000000 fftw_ops_madd │ │ │ │ │ +000007be 0000250a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +000007ca 0000250a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +000007dc 0000260a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_d │ │ │ │ │ +000007f0 0000270a R_ARM_THM_CALL 00000000 fftw_mkplan_f_d │ │ │ │ │ +000007fe 00001b0a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +00000804 0000280a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ +0000080e 0000190a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +00000818 0000250a R_ARM_THM_CALL 00000000 fftw_mktensor_1d │ │ │ │ │ +00000842 0000290a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft2_d │ │ │ │ │ +0000084a 00002a0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +00000862 00002b0a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft2 │ │ │ │ │ +00000874 00002e0a R_ARM_THM_CALL 00000000 fftw_rdft2_inplace_strides │ │ │ │ │ +0000088a 00002c0a R_ARM_THM_CALL 00000000 fftw_rdft2_strides │ │ │ │ │ +0000089a 00002c0a R_ARM_THM_CALL 00000000 fftw_rdft2_strides │ │ │ │ │ +000008a0 00002f0a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +000008aa 00002f0a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +000008b8 00002f0a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +000008ca 00002f0a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +000008e0 00002f0a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +000008f4 0000300a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ +000008fe 0000220a R_ARM_THM_CALL 00000000 fftw_imax │ │ │ │ │ +00000910 0000240a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +0000092c 00002f0a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +00000938 00000803 R_ARM_REL32 00000295 apply_r2hc │ │ │ │ │ +0000093c 00001303 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000940 00000a03 R_ARM_REL32 00000075 apply_hc2r │ │ │ │ │ +00000944 00001303 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000956 0000320a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +00000968 00001603 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +0000052c 00001c1e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ +00000550 00001d1e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ +00000964 0000331e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x109c contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x11b4 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00003402 R_ARM_ABS32 00000000 fftw_rdft2_solve │ │ │ │ │ -00000004 00000e02 R_ARM_ABS32 00000485 awake │ │ │ │ │ +00000004 00000e02 R_ARM_ABS32 00000531 awake │ │ │ │ │ 00000008 00000502 R_ARM_ABS32 00000001 print │ │ │ │ │ -0000000c 00000d02 R_ARM_ABS32 00000471 destroy │ │ │ │ │ +0000000c 00000d02 R_ARM_ABS32 00000519 destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x10bc contains 1 entry: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x11d4 contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000f02 R_ARM_ABS32 0000049d mkplan │ │ │ │ │ +00000004 00000f02 R_ARM_ABS32 00000555 mkplan │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,9 +1,7 @@ │ │ │ │ │ -yJh yIzDyD │ │ │ │ │ -5Jh 5IzDyD │ │ │ │ │ (rdft2-rdft-%s-%D%v/%D-%D%(%p%)%(%p%)) │ │ │ │ │ apply_r2hc │ │ │ │ │ apply_hc2r │ │ │ │ │ __aeabi_idivmod │ │ │ │ │ fftw_malloc_plain │ │ │ │ │ fftw_ifree │ │ │ │ │ fftw_plan_destroy_internal │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,666 +1,695 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ print(): │ │ │ │ │ - ldr r3, [pc, #80] @ (54 ) │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ + ldr r3, [pc, #96] @ (64 ) │ │ │ │ │ + strd r4, r5, [sp, #-24]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ + mov r5, r1 │ │ │ │ │ ldr r2, [r0, #56] @ 0x38 │ │ │ │ │ - add r3, pc │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ ldr r7, [r1, #0] │ │ │ │ │ + add r3, pc │ │ │ │ │ + strd r8, lr, [sp, #16] │ │ │ │ │ sub sp, #24 │ │ │ │ │ - mov r5, r1 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.n 4a │ │ │ │ │ - ldr.w r8, [pc, #64] @ 58 │ │ │ │ │ + beq.n 5c │ │ │ │ │ + ldr.w r8, [pc, #72] @ 68 │ │ │ │ │ add r8, pc │ │ │ │ │ ldrd r3, r6, [r4, #68] @ 0x44 │ │ │ │ │ str r3, [sp, #16] │ │ │ │ │ - ldr r3, [r4, #64] @ 0x40 │ │ │ │ │ mov r1, r6 │ │ │ │ │ + ldr r3, [r4, #64] @ 0x40 │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ ldr r0, [r4, #84] @ 0x54 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ str r1, [sp, #8] │ │ │ │ │ - ldr r1, [pc, #40] @ (5c ) │ │ │ │ │ mov r2, r8 │ │ │ │ │ - ldr r3, [r4, #76] @ 0x4c │ │ │ │ │ mov r0, r5 │ │ │ │ │ + ldr r3, [r4, #76] @ 0x4c │ │ │ │ │ + ldr r1, [pc, #44] @ (6c ) │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ - add r1, pc │ │ │ │ │ ldr r3, [r4, #80] @ 0x50 │ │ │ │ │ + add r1, pc │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, r6 │ │ │ │ │ blx r7 │ │ │ │ │ add sp, #24 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, pc} │ │ │ │ │ - ldr.w r8, [pc, #20] @ 60 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldmia.w sp!, {r8, pc} │ │ │ │ │ + ldr.w r8, [pc, #16] @ 70 │ │ │ │ │ add r8, pc │ │ │ │ │ - b.n 1c │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000046 │ │ │ │ │ + b.n 24 │ │ │ │ │ + .word 0x0000004e │ │ │ │ │ R_ARM_REL32 apply_r2hc │ │ │ │ │ - .word 0x0000003a │ │ │ │ │ + .word 0x00000042 │ │ │ │ │ R_ARM_REL32 .LC1 │ │ │ │ │ - .word 0x0000001e │ │ │ │ │ + .word 0x00000024 │ │ │ │ │ R_ARM_REL32 .LC2 │ │ │ │ │ - .word 0x0000000e │ │ │ │ │ + .word 0x0000000c │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ -00000064 : │ │ │ │ │ +00000074 : │ │ │ │ │ apply_hc2r(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r8, r0 │ │ │ │ │ - ldr.w fp, [r0, #80] @ 0x50 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #76 @ 0x4c │ │ │ │ │ - ldr r4, [r0, #84] @ 0x54 │ │ │ │ │ ldr r6, [r0, #72] @ 0x48 │ │ │ │ │ - ldrd r5, r7, [r0, #92] @ 0x5c │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ ldr r3, [sp, #112] @ 0x70 │ │ │ │ │ + ldrd fp, r4, [r0, #80] @ 0x50 │ │ │ │ │ + ldrd r5, r7, [r0, #92] @ 0x5c │ │ │ │ │ str r3, [sp, #16] │ │ │ │ │ ldr r3, [r0, #64] @ 0x40 │ │ │ │ │ strd r1, r2, [sp, #24] │ │ │ │ │ - str r3, [sp, #52] @ 0x34 │ │ │ │ │ ldr r2, [r0, #88] @ 0x58 │ │ │ │ │ + str r3, [sp, #52] @ 0x34 │ │ │ │ │ ldr r3, [r0, #76] @ 0x4c │ │ │ │ │ mul.w r0, r4, fp │ │ │ │ │ - str r3, [sp, #44] @ 0x2c │ │ │ │ │ str r2, [sp, #36] @ 0x24 │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ + str r3, [sp, #44] @ 0x2c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ cmp r3, fp │ │ │ │ │ - blt.n 198 │ │ │ │ │ + blt.w 1d2 │ │ │ │ │ mul.w r7, r7, fp │ │ │ │ │ ldr r2, [sp, #36] @ 0x24 │ │ │ │ │ mov.w sl, r4, lsl #3 │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ str r0, [sp, #32] │ │ │ │ │ - lsls r3, r7, #3 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ + mov.w r3, r7, lsl #3 │ │ │ │ │ + mov r7, fp │ │ │ │ │ + mov.w r4, r2, lsl #3 │ │ │ │ │ str r3, [sp, #48] @ 0x30 │ │ │ │ │ - lsls r3, r6, #3 │ │ │ │ │ + mov.w r3, r6, lsl #3 │ │ │ │ │ str r3, [sp, #20] │ │ │ │ │ - subs r3, r6, #3 │ │ │ │ │ - lsls r4, r2, #3 │ │ │ │ │ - mov r7, fp │ │ │ │ │ - strd r4, r8, [sp, #64] @ 0x40 │ │ │ │ │ - lsrs r2, r3, #1 │ │ │ │ │ + sub.w r3, r6, #3 │ │ │ │ │ + mov.w r2, r3, lsr #1 │ │ │ │ │ bic.w r3, r3, #1 │ │ │ │ │ - adds r3, #4 │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ - lsls r1, r2, #3 │ │ │ │ │ - adds r2, #2 │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ + strd r4, r8, [sp, #64] @ 0x40 │ │ │ │ │ + add.w r3, r3, #4 │ │ │ │ │ + mov.w r1, r2, lsl #3 │ │ │ │ │ + add.w r2, r2, #2 │ │ │ │ │ + strd r2, r3, [sp] │ │ │ │ │ add.w r2, fp, #4294967295 @ 0xffffffff │ │ │ │ │ str r1, [sp, #60] @ 0x3c │ │ │ │ │ mul.w r2, r5, r2 │ │ │ │ │ str r2, [sp, #56] @ 0x38 │ │ │ │ │ cmp.w fp, #0 │ │ │ │ │ - ble.n 170 │ │ │ │ │ + ble.n 1aa │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - bne.n 1bc │ │ │ │ │ - ldr r3, [sp, #32] │ │ │ │ │ - mov.w r8, #0 │ │ │ │ │ + bne.n 20c │ │ │ │ │ ldrd ip, r9, [sp, #12] │ │ │ │ │ + mov.w r8, #0 │ │ │ │ │ + str r7, [sp, #40] @ 0x28 │ │ │ │ │ + ldr r3, [sp, #32] │ │ │ │ │ add.w lr, r3, #8 │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ - str r7, [sp, #40] @ 0x28 │ │ │ │ │ - subs r3, #8 │ │ │ │ │ + sub.w r3, r3, #8 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr r3, [sp, #60] @ 0x3c │ │ │ │ │ - adds r3, #16 │ │ │ │ │ + add.w r3, r3, #16 │ │ │ │ │ mov r7, r3 │ │ │ │ │ ldrd r2, r3, [ip] │ │ │ │ │ cmp r6, #2 │ │ │ │ │ strd r2, r3, [lr, #-8] │ │ │ │ │ - ble.n 1b6 │ │ │ │ │ + ble.n 202 │ │ │ │ │ ldr r2, [sp, #8] │ │ │ │ │ add.w r3, ip, #8 │ │ │ │ │ add.w r0, r9, #8 │ │ │ │ │ add.w r4, r7, ip │ │ │ │ │ add.w r1, r2, lr │ │ │ │ │ mov r2, lr │ │ │ │ │ vldmia r3!, {d7} │ │ │ │ │ vstmia r2!, {d7} │ │ │ │ │ cmp r3, r4 │ │ │ │ │ vldmia r0!, {d7} │ │ │ │ │ vstmdb r1!, {d7} │ │ │ │ │ - bne.n 122 │ │ │ │ │ + bne.n 15a │ │ │ │ │ ldrd r3, r2, [sp] │ │ │ │ │ cmp r6, r2 │ │ │ │ │ - bne.n 14e │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ + bne.n 188 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ add.w r2, ip, r3 │ │ │ │ │ add r3, lr │ │ │ │ │ ldrd r0, r1, [r2] │ │ │ │ │ strd r0, r1, [r3, #-8] │ │ │ │ │ add.w r8, r8, #1 │ │ │ │ │ add ip, r5 │ │ │ │ │ + cmp fp, r8 │ │ │ │ │ add r9, r5 │ │ │ │ │ add lr, sl │ │ │ │ │ - cmp fp, r8 │ │ │ │ │ - bne.n 102 │ │ │ │ │ + bne.n 13a │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ + ldr r7, [sp, #40] @ 0x28 │ │ │ │ │ ldr r2, [sp, #56] @ 0x38 │ │ │ │ │ add r3, r5 │ │ │ │ │ - ldr r7, [sp, #40] @ 0x28 │ │ │ │ │ add r3, r2 │ │ │ │ │ str r3, [sp, #16] │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ add r3, r5 │ │ │ │ │ add r3, r2 │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ - ldr r0, [sp, #52] @ 0x34 │ │ │ │ │ - add r7, fp │ │ │ │ │ ldr r4, [sp, #24] │ │ │ │ │ + add r7, fp │ │ │ │ │ ldr r1, [sp, #32] │ │ │ │ │ - ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ + ldr r0, [sp, #52] @ 0x34 │ │ │ │ │ mov r2, r4 │ │ │ │ │ + ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ blx r3 │ │ │ │ │ ldr r2, [sp, #48] @ 0x30 │ │ │ │ │ mov r3, r4 │ │ │ │ │ add r3, r2 │ │ │ │ │ str r3, [sp, #24] │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ add r3, r2 │ │ │ │ │ str r3, [sp, #28] │ │ │ │ │ ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ cmp r3, r7 │ │ │ │ │ - bge.n da │ │ │ │ │ + bge.n 10e │ │ │ │ │ ldr r0, [sp, #32] │ │ │ │ │ ldr.w r8, [sp, #68] @ 0x44 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ - ldr.w r0, [r8, #68] @ 0x44 │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ - str r3, [sp, #112] @ 0x70 │ │ │ │ │ + ldr.w r0, [r8, #68] @ 0x44 │ │ │ │ │ ldrd r1, r2, [sp, #24] │ │ │ │ │ - ldr r4, [r0, #56] @ 0x38 │ │ │ │ │ + str r3, [sp, #112] @ 0x70 │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ + ldr r4, [r0, #56] @ 0x38 │ │ │ │ │ mov ip, r4 │ │ │ │ │ add sp, #76 @ 0x4c │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ bx ip │ │ │ │ │ - movs r3, #1 │ │ │ │ │ - movs r2, #2 │ │ │ │ │ - b.n 13a │ │ │ │ │ - ldr r3, [sp, #60] @ 0x3c │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + mov.w r2, #2 │ │ │ │ │ + b.n 172 │ │ │ │ │ + ldrd lr, r9, [sp, #12] │ │ │ │ │ mov.w r8, #0 │ │ │ │ │ + str r7, [sp, #40] @ 0x28 │ │ │ │ │ + ldrd r3, r4, [sp, #60] @ 0x3c │ │ │ │ │ ldr.w ip, [sp, #32] │ │ │ │ │ - ldrd lr, r9, [sp, #12] │ │ │ │ │ - adds r3, #16 │ │ │ │ │ - ldr r4, [sp, #64] @ 0x40 │ │ │ │ │ + add.w r3, r3, #16 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ - str r7, [sp, #40] @ 0x28 │ │ │ │ │ ldrd r2, r3, [lr] │ │ │ │ │ cmp r6, #2 │ │ │ │ │ strd r2, r3, [ip] │ │ │ │ │ - ble.n 238 │ │ │ │ │ - ldr r0, [sp, #20] │ │ │ │ │ - add.w r1, lr, r4 │ │ │ │ │ + ble.n 28a │ │ │ │ │ ldr r7, [sp, #8] │ │ │ │ │ + add.w r1, lr, r4 │ │ │ │ │ add.w r2, ip, #8 │ │ │ │ │ add.w r3, r9, r4 │ │ │ │ │ - add r0, ip │ │ │ │ │ + ldr r0, [sp, #20] │ │ │ │ │ add r7, ip │ │ │ │ │ + add r0, ip │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ add r1, r4 │ │ │ │ │ vstmia r2!, {d7} │ │ │ │ │ cmp r2, r7 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ add r3, r4 │ │ │ │ │ vstmdb r0!, {d7} │ │ │ │ │ - bne.n 1f2 │ │ │ │ │ + bne.n 244 │ │ │ │ │ ldrd r3, r2, [sp] │ │ │ │ │ cmp r6, r2 │ │ │ │ │ - bne.n 228 │ │ │ │ │ + bne.n 27a │ │ │ │ │ ldr r2, [sp, #36] @ 0x24 │ │ │ │ │ mul.w r2, r3, r2 │ │ │ │ │ add.w r3, ip, r3, lsl #3 │ │ │ │ │ add.w r2, lr, r2, lsl #3 │ │ │ │ │ ldrd r0, r1, [r2] │ │ │ │ │ strd r0, r1, [r3] │ │ │ │ │ add.w r8, r8, #1 │ │ │ │ │ add lr, r5 │ │ │ │ │ + cmp fp, r8 │ │ │ │ │ add r9, r5 │ │ │ │ │ add ip, sl │ │ │ │ │ - cmp fp, r8 │ │ │ │ │ - bne.n 1d2 │ │ │ │ │ - b.n 15c │ │ │ │ │ - movs r2, #2 │ │ │ │ │ - movs r3, #1 │ │ │ │ │ - b.n 20e │ │ │ │ │ - nop │ │ │ │ │ + bne.n 224 │ │ │ │ │ + b.n 196 │ │ │ │ │ + mov.w r2, #2 │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + b.n 260 │ │ │ │ │ │ │ │ │ │ -00000240 : │ │ │ │ │ +00000294 : │ │ │ │ │ apply_r2hc(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r7, r0 │ │ │ │ │ - ldr r4, [r0, #84] @ 0x54 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8} │ │ │ │ │ sub sp, #92 @ 0x5c │ │ │ │ │ ldr.w fp, [r0, #72] @ 0x48 │ │ │ │ │ - ldrd r6, r5, [r0, #92] @ 0x5c │ │ │ │ │ + str r1, [sp, #4] │ │ │ │ │ str r3, [sp, #24] │ │ │ │ │ ldr r3, [sp, #136] @ 0x88 │ │ │ │ │ + ldr r4, [r0, #84] @ 0x54 │ │ │ │ │ + ldr r1, [r0, #76] @ 0x4c │ │ │ │ │ str r3, [sp, #28] │ │ │ │ │ ldr r3, [r0, #64] @ 0x40 │ │ │ │ │ - str r3, [sp, #64] @ 0x40 │ │ │ │ │ - ldr r3, [r0, #80] @ 0x50 │ │ │ │ │ - str r1, [sp, #4] │ │ │ │ │ str r2, [sp, #36] @ 0x24 │ │ │ │ │ - ldr r1, [r0, #76] @ 0x4c │ │ │ │ │ ldr r2, [r0, #88] @ 0x58 │ │ │ │ │ - mul.w r0, r4, r3 │ │ │ │ │ + ldrd r6, r5, [r0, #92] @ 0x5c │ │ │ │ │ + str r3, [sp, #64] @ 0x40 │ │ │ │ │ + ldr r3, [r0, #80] @ 0x50 │ │ │ │ │ str r1, [sp, #56] @ 0x38 │ │ │ │ │ - str r2, [sp, #48] @ 0x30 │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ + mul.w r0, r4, r3 │ │ │ │ │ str r3, [sp, #20] │ │ │ │ │ + str r2, [sp, #48] @ 0x30 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ - ldr r1, [sp, #56] @ 0x38 │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ mov r2, r0 │ │ │ │ │ + ldr r1, [sp, #56] @ 0x38 │ │ │ │ │ cmp r1, r3 │ │ │ │ │ ldr r1, [sp, #4] │ │ │ │ │ - blt.w 3a4 │ │ │ │ │ + blt.w 424 │ │ │ │ │ ldr r0, [sp, #48] @ 0x30 │ │ │ │ │ - mov.w r9, r4, lsl #3 │ │ │ │ │ mul.w r6, r3, r6 │ │ │ │ │ + mov.w r9, r4, lsl #3 │ │ │ │ │ mov.w sl, r5, lsl #3 │ │ │ │ │ ldr r5, [sp, #20] │ │ │ │ │ - lsls r4, r0, #3 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + vldr d8, [pc, #524] @ 510 │ │ │ │ │ + mov.w r4, r0, lsl #3 │ │ │ │ │ mov.w r0, fp, lsl #3 │ │ │ │ │ + str r6, [sp, #60] @ 0x3c │ │ │ │ │ str r0, [sp, #32] │ │ │ │ │ sub.w r0, fp, #3 │ │ │ │ │ - lsls r6, r6, #3 │ │ │ │ │ - str r6, [sp, #60] @ 0x3c │ │ │ │ │ - lsrs r3, r0, #1 │ │ │ │ │ - str r5, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d8, [pc, #440] @ 468 │ │ │ │ │ - lsls r6, r3, #3 │ │ │ │ │ - str r6, [sp, #72] @ 0x48 │ │ │ │ │ - adds r6, r3, #2 │ │ │ │ │ - subs r3, r5, #1 │ │ │ │ │ + mov.w r3, r0, lsr #1 │ │ │ │ │ + strd r5, r2, [sp, #40] @ 0x28 │ │ │ │ │ + strd r4, r7, [sp, #80] @ 0x50 │ │ │ │ │ + mov.w r6, r3, lsl #3 │ │ │ │ │ + strd r6, r0, [sp, #72] @ 0x48 │ │ │ │ │ + add.w r6, r3, #2 │ │ │ │ │ + add.w r3, r5, #4294967295 @ 0xffffffff │ │ │ │ │ mov r5, r1 │ │ │ │ │ - str r6, [sp, #4] │ │ │ │ │ - str r2, [sp, #44] @ 0x2c │ │ │ │ │ mul.w r3, sl, r3 │ │ │ │ │ - strd r0, r4, [sp, #76] @ 0x4c │ │ │ │ │ + str r6, [sp, #4] │ │ │ │ │ str r3, [sp, #68] @ 0x44 │ │ │ │ │ - str r7, [sp, #84] @ 0x54 │ │ │ │ │ - ldr r0, [sp, #64] @ 0x40 │ │ │ │ │ - mov r1, r5 │ │ │ │ │ ldr r2, [sp, #44] @ 0x2c │ │ │ │ │ + mov r1, r5 │ │ │ │ │ + ldr r0, [sp, #64] @ 0x40 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ blx r3 │ │ │ │ │ - ldr r3, [sp, #60] @ 0x3c │ │ │ │ │ ldr r2, [sp, #36] @ 0x24 │ │ │ │ │ - add r5, r3 │ │ │ │ │ + ldr r3, [sp, #60] @ 0x3c │ │ │ │ │ add r2, r3 │ │ │ │ │ + add r5, r3 │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ str r2, [sp, #36] @ 0x24 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.n 390 │ │ │ │ │ + ble.n 410 │ │ │ │ │ ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - bne.n 3ce │ │ │ │ │ - ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ + bne.w 464 │ │ │ │ │ + ldrd r7, ip, [sp, #24] │ │ │ │ │ mov.w r8, #0 │ │ │ │ │ str r5, [sp, #52] @ 0x34 │ │ │ │ │ + ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ + ldr r5, [sp, #20] │ │ │ │ │ mov lr, r3 │ │ │ │ │ add.w r6, r3, #8 │ │ │ │ │ ldr r3, [sp, #32] │ │ │ │ │ - ldrd r7, ip, [sp, #24] │ │ │ │ │ - subs r3, #8 │ │ │ │ │ + sub.w r3, r3, #8 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ - ldr r5, [sp, #20] │ │ │ │ │ - adds r3, #16 │ │ │ │ │ + add.w r3, r3, #16 │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ ldr r3, [sp, #76] @ 0x4c │ │ │ │ │ bic.w r3, r3, #1 │ │ │ │ │ - adds r3, #4 │ │ │ │ │ + add.w r3, r3, #4 │ │ │ │ │ str r3, [sp, #16] │ │ │ │ │ ldrd r2, r3, [r6, #-8] │ │ │ │ │ - strd r2, r3, [r7] │ │ │ │ │ cmp.w fp, #2 │ │ │ │ │ + strd r2, r3, [r7] │ │ │ │ │ vstr d8, [ip] │ │ │ │ │ - ble.n 3c8 │ │ │ │ │ + ble.n 45a │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ add.w r0, r7, #8 │ │ │ │ │ add.w r2, ip, #8 │ │ │ │ │ - adds r1, r3, r6 │ │ │ │ │ + add.w r1, r3, r6 │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ add.w r4, r3, lr │ │ │ │ │ mov r3, r6 │ │ │ │ │ vldmia r3!, {d7} │ │ │ │ │ vstmia r0!, {d7} │ │ │ │ │ cmp r3, r4 │ │ │ │ │ vldmdb r1!, {d7} │ │ │ │ │ vstmia r2!, {d7} │ │ │ │ │ - bne.n 33a │ │ │ │ │ - ldr r2, [sp, #16] │ │ │ │ │ + bne.n 3b6 │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ + ldr r2, [sp, #16] │ │ │ │ │ cmp fp, r2 │ │ │ │ │ - bne.n 36c │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ + bne.n 3ec │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ add.w r2, lr, r3 │ │ │ │ │ ldrd r0, r1, [r2] │ │ │ │ │ - adds r2, r7, r3 │ │ │ │ │ + add.w r2, r7, r3 │ │ │ │ │ add r3, ip │ │ │ │ │ strd r0, r1, [r2] │ │ │ │ │ vstr d8, [r3] │ │ │ │ │ add.w r8, r8, #1 │ │ │ │ │ add r7, sl │ │ │ │ │ + cmp r5, r8 │ │ │ │ │ add ip, sl │ │ │ │ │ add lr, r9 │ │ │ │ │ add r6, r9 │ │ │ │ │ - cmp r5, r8 │ │ │ │ │ - bne.n 314 │ │ │ │ │ + bne.n 38e │ │ │ │ │ ldr r5, [sp, #52] @ 0x34 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ ldr r2, [sp, #68] @ 0x44 │ │ │ │ │ add r3, sl │ │ │ │ │ add r3, r2 │ │ │ │ │ str r3, [sp, #28] │ │ │ │ │ ldr r3, [sp, #24] │ │ │ │ │ add r3, sl │ │ │ │ │ add r3, r2 │ │ │ │ │ str r3, [sp, #24] │ │ │ │ │ - ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ ldr r2, [sp, #20] │ │ │ │ │ + ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ add r3, r2 │ │ │ │ │ ldr r2, [sp, #56] @ 0x38 │ │ │ │ │ str r3, [sp, #40] @ 0x28 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bge.n 2ca │ │ │ │ │ + bge.n 33c │ │ │ │ │ ldr r2, [sp, #44] @ 0x2c │ │ │ │ │ mov r1, r5 │ │ │ │ │ ldr r7, [sp, #84] @ 0x54 │ │ │ │ │ mov r0, r2 │ │ │ │ │ str r1, [sp, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ ldr r0, [r7, #68] @ 0x44 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ - str r3, [sp, #136] @ 0x88 │ │ │ │ │ + ldr r1, [sp, #4] │ │ │ │ │ ldr r2, [sp, #36] @ 0x24 │ │ │ │ │ + str r3, [sp, #136] @ 0x88 │ │ │ │ │ ldr r4, [r0, #56] @ 0x38 │ │ │ │ │ ldr r3, [sp, #24] │ │ │ │ │ - ldr r1, [sp, #4] │ │ │ │ │ mov ip, r4 │ │ │ │ │ add sp, #92 @ 0x5c │ │ │ │ │ vpop {d8} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ bx ip │ │ │ │ │ - movs r3, #1 │ │ │ │ │ - movs r2, #2 │ │ │ │ │ - b.n 352 │ │ │ │ │ - ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + mov.w r2, #2 │ │ │ │ │ + b.n 3ce │ │ │ │ │ + ldrd r7, ip, [sp, #24] │ │ │ │ │ mov.w lr, #0 │ │ │ │ │ + ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ ldr r6, [sp, #44] @ 0x2c │ │ │ │ │ + ldr r4, [sp, #80] @ 0x50 │ │ │ │ │ add.w r8, r3, #16 │ │ │ │ │ ldr r3, [sp, #76] @ 0x4c │ │ │ │ │ - ldrd r7, ip, [sp, #24] │ │ │ │ │ bic.w r3, r3, #1 │ │ │ │ │ - ldr r4, [sp, #80] @ 0x50 │ │ │ │ │ - adds r3, #4 │ │ │ │ │ - str r5, [sp, #12] │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ + add.w r3, r3, #4 │ │ │ │ │ + strd r3, r5, [sp, #8] │ │ │ │ │ ldrd r2, r3, [r6] │ │ │ │ │ - strd r2, r3, [r7] │ │ │ │ │ cmp.w fp, #2 │ │ │ │ │ + strd r2, r3, [r7] │ │ │ │ │ vstr d8, [ip] │ │ │ │ │ - ble.n 460 │ │ │ │ │ + ble.n 500 │ │ │ │ │ ldr r3, [sp, #32] │ │ │ │ │ add.w r1, r6, #8 │ │ │ │ │ - adds r2, r7, r4 │ │ │ │ │ + add.w r2, r7, r4 │ │ │ │ │ add.w r5, r8, r6 │ │ │ │ │ - adds r0, r3, r6 │ │ │ │ │ + add.w r0, r3, r6 │ │ │ │ │ add.w r3, ip, r4 │ │ │ │ │ vldmia r1!, {d7} │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ cmp r1, r5 │ │ │ │ │ - vldmdb r0!, {d7} │ │ │ │ │ add r2, r4 │ │ │ │ │ + vldmdb r0!, {d7} │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ add r3, r4 │ │ │ │ │ - bne.n 410 │ │ │ │ │ + bne.n 4ac │ │ │ │ │ ldrd r2, r3, [sp, #4] │ │ │ │ │ cmp fp, r3 │ │ │ │ │ - bne.n 44c │ │ │ │ │ + bne.n 4ec │ │ │ │ │ ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ mul.w r3, r2, r3 │ │ │ │ │ add.w r2, r6, r2, lsl #3 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ ldrd r0, r1, [r2] │ │ │ │ │ - adds r2, r7, r3 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + add.w r2, r7, r3 │ │ │ │ │ add r3, ip │ │ │ │ │ strd r0, r1, [r2] │ │ │ │ │ vstr d8, [r3] │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ add.w lr, lr, #1 │ │ │ │ │ add r7, sl │ │ │ │ │ add ip, sl │ │ │ │ │ add r6, r9 │ │ │ │ │ cmp r3, lr │ │ │ │ │ - bne.n 3ec │ │ │ │ │ + bne.n 484 │ │ │ │ │ ldr r5, [sp, #12] │ │ │ │ │ - b.n 37e │ │ │ │ │ - movs r3, #2 │ │ │ │ │ - movs r2, #1 │ │ │ │ │ - b.n 42c │ │ │ │ │ + b.n 3fe │ │ │ │ │ + mov.w r3, #2 │ │ │ │ │ + mov.w r2, #1 │ │ │ │ │ + b.n 4c8 │ │ │ │ │ nop │ │ │ │ │ + nop.w │ │ │ │ │ ... │ │ │ │ │ │ │ │ │ │ -00000470 : │ │ │ │ │ +00000518 : │ │ │ │ │ destroy(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldr r0, [r0, #68] @ 0x44 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ ldr r0, [r4, #64] @ 0x40 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_destroy_internal │ │ │ │ │ │ │ │ │ │ -00000484 : │ │ │ │ │ +00000530 : │ │ │ │ │ awake(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - mov r5, r1 │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ + mov r5, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ ldr r0, [r4, #68] @ 0x44 │ │ │ │ │ mov r1, r5 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, lr} │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + ldrd r5, lr, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_awake │ │ │ │ │ │ │ │ │ │ -0000049c : │ │ │ │ │ +00000554 : │ │ │ │ │ mkplan(): │ │ │ │ │ ldr.w r3, [r2, #164] @ 0xa4 │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ lsls r0, r3, #21 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #60 @ 0x3c │ │ │ │ │ - bpl.n 4c8 │ │ │ │ │ - movs r5, #0 │ │ │ │ │ + bpl.n 5a8 │ │ │ │ │ + mov.w r5, #0 │ │ │ │ │ mov r9, r5 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree0 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ mov r0, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #60 @ 0x3c │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ ldr r3, [r1, #8] │ │ │ │ │ mov r4, r1 │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - bgt.n 4aa │ │ │ │ │ + bgt.n 572 │ │ │ │ │ ldr r3, [r1, #4] │ │ │ │ │ ldr r7, [r3, #0] │ │ │ │ │ cmp r7, #1 │ │ │ │ │ - bne.n 4aa │ │ │ │ │ + bne.n 572 │ │ │ │ │ mov sl, r2 │ │ │ │ │ ldr r2, [r1, #28] │ │ │ │ │ bics.w r1, r2, #4 │ │ │ │ │ - bne.n 4aa │ │ │ │ │ + bne.n 572 │ │ │ │ │ ldrd r0, r1, [r4, #12] │ │ │ │ │ - subs r0, r1, r0 │ │ │ │ │ - ldrd r5, r1, [r3, #8] │ │ │ │ │ + ldr r5, [r3, #8] │ │ │ │ │ + sub.w r0, r1, r0 │ │ │ │ │ + ldr r1, [r3, #12] │ │ │ │ │ cmp r2, #0 │ │ │ │ │ it eq │ │ │ │ │ moveq r1, r5 │ │ │ │ │ cmp.w r1, r0, asr #2 │ │ │ │ │ - bne.n 4aa │ │ │ │ │ + bne.n 572 │ │ │ │ │ ldr r0, [r3, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_toobig │ │ │ │ │ ldr.w r3, [sl, #164] @ 0xa4 │ │ │ │ │ ubfx r3, r3, #0, #20 │ │ │ │ │ - cbz r0, 50e │ │ │ │ │ + cbz r0, 5f0 │ │ │ │ │ lsls r2, r3, #17 │ │ │ │ │ - bmi.n 4aa │ │ │ │ │ + bmi.n 572 │ │ │ │ │ lsls r3, r3, #15 │ │ │ │ │ - bpl.n 526 │ │ │ │ │ + bpl.n 608 │ │ │ │ │ ldr r2, [r4, #12] │ │ │ │ │ ldr r3, [r4, #20] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.n 4aa │ │ │ │ │ + bne.n 572 │ │ │ │ │ ldr r3, [r4, #4] │ │ │ │ │ ldr r0, [r3, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_toobig │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.n 4aa │ │ │ │ │ - ldr r3, [r4, #4] │ │ │ │ │ + bne.n 572 │ │ │ │ │ + ldrd r3, r0, [r4, #4] │ │ │ │ │ add r2, sp, #32 │ │ │ │ │ add r1, sp, #28 │ │ │ │ │ - ldr r0, [r4, #8] │ │ │ │ │ ldr r6, [r3, #4] │ │ │ │ │ add r3, sp, #36 @ 0x24 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_tornk1 │ │ │ │ │ - movs r2, #0 │ │ │ │ │ ldr r1, [sp, #28] │ │ │ │ │ + mov.w r2, #0 │ │ │ │ │ mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_nbuf │ │ │ │ │ ldr r2, [r4, #12] │ │ │ │ │ - ldr r3, [r4, #20] │ │ │ │ │ mov r5, r0 │ │ │ │ │ + ldr r3, [r4, #20] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.w 768 │ │ │ │ │ + beq.w 86a │ │ │ │ │ mov r1, r7 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_imax │ │ │ │ │ - mov r8, r0 │ │ │ │ │ ldr r1, [sp, #28] │ │ │ │ │ + mov r8, r0 │ │ │ │ │ mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_bufdist │ │ │ │ │ mov fp, r0 │ │ │ │ │ mul.w r0, r0, r8 │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ - mov r1, r8 │ │ │ │ │ mov r5, r0 │ │ │ │ │ ldr r0, [sp, #28] │ │ │ │ │ + mov r1, r8 │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ ldr r3, [sp, #32] │ │ │ │ │ mul.w r7, r8, r0 │ │ │ │ │ ldr.w r9, [r4, #28] │ │ │ │ │ mul.w r3, r3, r7 │ │ │ │ │ str r3, [sp, #16] │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ mul.w r7, r3, r7 │ │ │ │ │ ldr r3, [r4, #4] │ │ │ │ │ cmp.w r9, #0 │ │ │ │ │ - bne.w 6b6 │ │ │ │ │ - ldr r1, [r3, #8] │ │ │ │ │ - movs r2, #1 │ │ │ │ │ + bne.w 7ae │ │ │ │ │ + mov.w r2, #1 │ │ │ │ │ mov r0, r6 │ │ │ │ │ + ldr r1, [r3, #8] │ │ │ │ │ add.w r1, r1, r1, lsr #31 │ │ │ │ │ - asrs r1, r2 │ │ │ │ │ + asr.w r1, r1, r2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ ldr r1, [sp, #32] │ │ │ │ │ mov r2, fp │ │ │ │ │ str r0, [sp, #20] │ │ │ │ │ mov r0, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ add.w r3, r4, #28 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ mov r1, r0 │ │ │ │ │ - mov r3, r5 │ │ │ │ │ ldr r0, [sp, #20] │ │ │ │ │ + str r3, [sp, #0] │ │ │ │ │ + mov r3, r5 │ │ │ │ │ ldr r2, [r4, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_d │ │ │ │ │ - ldr r2, [r4, #20] │ │ │ │ │ ldr r3, [r4, #12] │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, sl │ │ │ │ │ - subs r3, r3, r2 │ │ │ │ │ + ldr r2, [r4, #20] │ │ │ │ │ + sub.w r3, r3, r2 │ │ │ │ │ mov r2, r9 │ │ │ │ │ clz r3, r3 │ │ │ │ │ - lsrs r3, r3, #5 │ │ │ │ │ - lsls r3, r3, #12 │ │ │ │ │ + mov.w r3, r3, lsr #5 │ │ │ │ │ + mov.w r3, r3, lsl #12 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ mov r3, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_f_d │ │ │ │ │ mov r9, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 808 │ │ │ │ │ + beq.w 918 │ │ │ │ │ mov r0, r5 │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ ldr r0, [r4, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy │ │ │ │ │ - mov r1, r8 │ │ │ │ │ mov r5, r0 │ │ │ │ │ ldr r0, [sp, #28] │ │ │ │ │ + mov r1, r8 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ mov r0, r1 │ │ │ │ │ ldrd r1, r2, [sp, #32] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ mov r1, r0 │ │ │ │ │ ldr r0, [r4, #28] │ │ │ │ │ - lsls r2, r3, #3 │ │ │ │ │ + mov.w r2, r3, lsl #3 │ │ │ │ │ ldr r3, [r4, #16] │ │ │ │ │ str r0, [sp, #8] │ │ │ │ │ - add r3, r2 │ │ │ │ │ ldr r0, [r4, #24] │ │ │ │ │ + add r3, r2 │ │ │ │ │ add r0, r7 │ │ │ │ │ str r0, [sp, #4] │ │ │ │ │ ldr r0, [r4, #20] │ │ │ │ │ add r7, r0 │ │ │ │ │ str r7, [sp, #0] │ │ │ │ │ ldr r0, [r4, #12] │ │ │ │ │ add r2, r0 │ │ │ │ │ @@ -669,120 +698,118 @@ │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft2_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, sl │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov r5, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 4ae │ │ │ │ │ - ldr r2, [pc, #484] @ (824 ) │ │ │ │ │ - movs r0, #104 @ 0x68 │ │ │ │ │ - ldr r1, [pc, #484] @ (828 ) │ │ │ │ │ + beq.w 578 │ │ │ │ │ + ldr r2, [pc, #516] @ (938 ) │ │ │ │ │ + mov.w r0, #104 @ 0x68 │ │ │ │ │ + ldr r1, [pc, #516] @ (93c ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_rdft2 │ │ │ │ │ mov r7, r0 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ add r2, sp, #52 @ 0x34 │ │ │ │ │ - ldr r1, [r4, #4] │ │ │ │ │ add.w sl, r7, #8 │ │ │ │ │ - str r3, [r7, #76] @ 0x4c │ │ │ │ │ + ldr r1, [r4, #4] │ │ │ │ │ + ldr r0, [r4, #28] │ │ │ │ │ + strd r9, r5, [r7, #64] @ 0x40 │ │ │ │ │ + add.w r5, r5, #8 │ │ │ │ │ + add.w r9, r9, #8 │ │ │ │ │ + strd r6, r3, [r7, #72] @ 0x48 │ │ │ │ │ ldr r3, [sp, #32] │ │ │ │ │ - adds r1, #4 │ │ │ │ │ + add.w r1, r1, #4 │ │ │ │ │ str r3, [r7, #92] @ 0x5c │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ - strd r9, r5, [r7, #64] @ 0x40 │ │ │ │ │ - adds r5, #8 │ │ │ │ │ - ldr r0, [r4, #28] │ │ │ │ │ - add.w r9, r9, #8 │ │ │ │ │ str r3, [r7, #96] @ 0x60 │ │ │ │ │ add.w r3, r7, #88 @ 0x58 │ │ │ │ │ - str r6, [r7, #72] @ 0x48 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_rdft2_strides │ │ │ │ │ ldr r0, [sp, #28] │ │ │ │ │ mov r1, r8 │ │ │ │ │ strd r8, fp, [r7, #80] @ 0x50 │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ mov r3, sl │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r1, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_madd │ │ │ │ │ ldr r3, [r4, #28] │ │ │ │ │ vldr d6, [r7, #32] │ │ │ │ │ - cbnz r3, 698 │ │ │ │ │ - adds r6, #2 │ │ │ │ │ + cbnz r3, 794 │ │ │ │ │ + add.w r6, r6, #2 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ mov r0, r7 │ │ │ │ │ mul.w r3, r3, r6 │ │ │ │ │ vmov s14, r3 │ │ │ │ │ vcvt.f64.s32 d7, s14 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vstr d7, [r7, #32] │ │ │ │ │ - add sp, #60 @ 0x3c │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + b.n 590 │ │ │ │ │ ldr r2, [r3, #12] │ │ │ │ │ - movs r1, #1 │ │ │ │ │ + mov.w r1, #1 │ │ │ │ │ mov r0, r6 │ │ │ │ │ add.w r2, r2, r2, lsr #31 │ │ │ │ │ - asrs r2, r2, #1 │ │ │ │ │ + mov.w r2, r2, asr #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ ldr r2, [sp, #36] @ 0x24 │ │ │ │ │ mov r9, r0 │ │ │ │ │ mov r1, fp │ │ │ │ │ mov r0, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ add.w r3, r4, #28 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r0, r9 │ │ │ │ │ + str r3, [sp, #0] │ │ │ │ │ ldr r3, [r4, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_d │ │ │ │ │ mov.w r3, #4096 @ 0x1000 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ - movs r3, #0 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - mov r2, r3 │ │ │ │ │ mov r0, sl │ │ │ │ │ + str r3, [sp, #0] │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + mov r2, r3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_f_d │ │ │ │ │ mov r9, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 808 │ │ │ │ │ + beq.w 918 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ ldr r0, [r4, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy │ │ │ │ │ - mov r1, r8 │ │ │ │ │ mov r5, r0 │ │ │ │ │ ldr r0, [sp, #28] │ │ │ │ │ + mov r1, r8 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ mov r0, r1 │ │ │ │ │ ldrd r1, r2, [sp, #32] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_1d │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ mov r1, r0 │ │ │ │ │ + mov.w r2, r7, lsl #3 │ │ │ │ │ ldr r0, [r4, #28] │ │ │ │ │ - lsls r2, r7, #3 │ │ │ │ │ mov.w ip, r3, lsl #3 │ │ │ │ │ ldr r3, [r4, #16] │ │ │ │ │ str r0, [sp, #8] │ │ │ │ │ - add r3, r2 │ │ │ │ │ ldr r0, [r4, #24] │ │ │ │ │ + add r3, r2 │ │ │ │ │ add r0, ip │ │ │ │ │ str r0, [sp, #4] │ │ │ │ │ ldr r7, [r4, #20] │ │ │ │ │ add r7, ip │ │ │ │ │ str r7, [sp, #0] │ │ │ │ │ ldr r0, [r4, #12] │ │ │ │ │ add r2, r0 │ │ │ │ │ @@ -791,126 +818,126 @@ │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft2_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, sl │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ mov r5, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w 4ae │ │ │ │ │ - ldr r2, [pc, #212] @ (82c ) │ │ │ │ │ - movs r0, #104 @ 0x68 │ │ │ │ │ - ldr r1, [pc, #212] @ (830 ) │ │ │ │ │ + beq.w 578 │ │ │ │ │ + ldr r2, [pc, #232] @ (940 ) │ │ │ │ │ + mov.w r0, #104 @ 0x68 │ │ │ │ │ + ldr r1, [pc, #228] @ (944 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_rdft2 │ │ │ │ │ mov r7, r0 │ │ │ │ │ - b.n 64c │ │ │ │ │ + b.n 742 │ │ │ │ │ mvn.w r1, #2147483648 @ 0x80000000 │ │ │ │ │ mov r0, r4 │ │ │ │ │ ldr.w r8, [sp, #28] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_rdft2_inplace_strides │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.w 54c │ │ │ │ │ + bne.w 630 │ │ │ │ │ ldr r1, [r4, #4] │ │ │ │ │ add r3, sp, #44 @ 0x2c │ │ │ │ │ - ldr r0, [r4, #28] │ │ │ │ │ add r2, sp, #40 @ 0x28 │ │ │ │ │ - adds r1, #4 │ │ │ │ │ + ldr r0, [r4, #28] │ │ │ │ │ + add.w r1, r1, #4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_rdft2_strides │ │ │ │ │ ldr r1, [r4, #8] │ │ │ │ │ add r3, sp, #52 @ 0x34 │ │ │ │ │ add r2, sp, #48 @ 0x30 │ │ │ │ │ - adds r1, #4 │ │ │ │ │ ldr r0, [r4, #28] │ │ │ │ │ + add.w r1, r1, #4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_rdft2_strides │ │ │ │ │ ldr r0, [sp, #40] @ 0x28 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ mul.w r7, r0, r6 │ │ │ │ │ ldr r0, [sp, #48] @ 0x30 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ cmp r7, r0 │ │ │ │ │ - ble.n 7b0 │ │ │ │ │ + ble.n 8b6 │ │ │ │ │ mov r7, r8 │ │ │ │ │ - b.n 54c │ │ │ │ │ + b.n 630 │ │ │ │ │ ldr r0, [sp, #44] @ 0x2c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ add.w r3, r6, r6, lsr #31 │ │ │ │ │ - asrs r3, r3, #1 │ │ │ │ │ + mov.w r3, r3, asr #1 │ │ │ │ │ mla r7, r3, r0, r0 │ │ │ │ │ ldr r0, [sp, #52] @ 0x34 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ cmp r7, r0 │ │ │ │ │ - bgt.n 7ac │ │ │ │ │ + bgt.n 8b2 │ │ │ │ │ ldrd r3, r2, [r4, #20] │ │ │ │ │ ldr r0, [sp, #44] @ 0x2c │ │ │ │ │ - subs r3, r3, r2 │ │ │ │ │ - asrs r7, r3, #3 │ │ │ │ │ + sub.w r3, r3, r2 │ │ │ │ │ + mov.w r7, r3, asr #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ cmp r7, r0 │ │ │ │ │ - bgt.n 80e │ │ │ │ │ + bgt.n 91e │ │ │ │ │ ldr r0, [sp, #48] @ 0x30 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - ble.n 7ac │ │ │ │ │ + ble.n 8b2 │ │ │ │ │ ldr r1, [sp, #52] @ 0x34 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - ble.n 7ac │ │ │ │ │ + ble.n 8b2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_imin │ │ │ │ │ mov r7, r0 │ │ │ │ │ ldrd r0, r1, [sp, #48] @ 0x30 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_imax │ │ │ │ │ - subs r0, r0, r7 │ │ │ │ │ + sub.w r0, r0, r7 │ │ │ │ │ mov r1, r7 │ │ │ │ │ mla r0, r8, r0, r7 │ │ │ │ │ - subs r0, #1 │ │ │ │ │ + add.w r0, r0, #4294967295 @ 0xffffffff │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ mov r7, r0 │ │ │ │ │ - b.n 54c │ │ │ │ │ + b.n 630 │ │ │ │ │ mov.w r9, #0 │ │ │ │ │ - b.n 4ae │ │ │ │ │ + b.n 578 │ │ │ │ │ ldrd r2, r3, [r4, #20] │ │ │ │ │ ldr r0, [sp, #44] @ 0x2c │ │ │ │ │ - subs r3, r3, r2 │ │ │ │ │ - asrs r7, r3, #3 │ │ │ │ │ + sub.w r3, r3, r2 │ │ │ │ │ + mov.w r7, r3, asr #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ cmp r7, r0 │ │ │ │ │ - ble.n 7dc │ │ │ │ │ + ble.n 8e8 │ │ │ │ │ mov r7, r8 │ │ │ │ │ - b.n 54c │ │ │ │ │ - .word 0x000001de │ │ │ │ │ + b.n 630 │ │ │ │ │ + .word 0x000001fc │ │ │ │ │ R_ARM_REL32 apply_r2hc │ │ │ │ │ - .word 0x000001e0 │ │ │ │ │ + .word 0x000001fe │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x000000cc │ │ │ │ │ + .word 0x000000de │ │ │ │ │ R_ARM_REL32 apply_hc2r │ │ │ │ │ - .word 0x000000ce │ │ │ │ │ + .word 0x000000e0 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ │ │ │ │ │ -00000834 : │ │ │ │ │ +00000948 : │ │ │ │ │ fftw_rdft2_rdft_register(): │ │ │ │ │ - ldr r1, [pc, #24] @ (850 ) │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + ldr r1, [pc, #28] @ (968 ) │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ + mov.w r0, #8 │ │ │ │ │ add r1, pc │ │ │ │ │ - movs r0, #8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solver_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000012 │ │ │ │ │ + .word 0x00000010 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ ├── rdft2-tensor-max-index.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 572 (bytes into file) │ │ │ │ │ + Start of section headers: 604 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 10 │ │ │ │ │ Section header string table index: 9 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ -There are 10 section headers, starting at offset 0x23c: │ │ │ │ │ +There are 10 section headers, starting at offset 0x25c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0000a4 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0001b4 000038 08 I 7 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0000d8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0000d8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .note.GNU-stack PROGBITS 00000000 0000d8 000000 00 0 0 1 │ │ │ │ │ - [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 0000d8 000033 00 0 0 1 │ │ │ │ │ - [ 7] .symtab SYMTAB 00000000 00010c 000060 10 8 2 4 │ │ │ │ │ - [ 8] .strtab STRTAB 00000000 00016c 000047 00 0 0 1 │ │ │ │ │ - [ 9] .shstrtab STRTAB 00000000 0001ec 000050 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0000c4 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0001d4 000038 08 I 7 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0000f8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0000f8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .note.GNU-stack PROGBITS 00000000 0000f8 000000 00 0 0 1 │ │ │ │ │ + [ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 0000f8 000033 00 0 0 1 │ │ │ │ │ + [ 7] .symtab SYMTAB 00000000 00012c 000060 10 8 2 4 │ │ │ │ │ + [ 8] .strtab STRTAB 00000000 00018c 000047 00 0 0 1 │ │ │ │ │ + [ 9] .shstrtab STRTAB 00000000 00020c 000050 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,9 +1,9 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 6 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 164 FUNC GLOBAL DEFAULT 1 fftw_rdft2_tensor_max_index │ │ │ │ │ + 2: 00000001 196 FUNC GLOBAL DEFAULT 1 fftw_rdft2_tensor_max_index │ │ │ │ │ 3: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_iabs │ │ │ │ │ 4: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_imax │ │ │ │ │ 5: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft2_strides │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,10 +1,10 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x1b4 contains 7 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x1d4 contains 7 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000001e 0000030a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -00000028 0000030a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -00000030 0000040a R_ARM_THM_CALL 00000000 fftw_imax │ │ │ │ │ -00000064 0000050a R_ARM_THM_CALL 00000000 fftw_rdft2_strides │ │ │ │ │ -0000006e 0000030a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -00000084 0000030a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -0000008e 0000040a R_ARM_THM_CALL 00000000 fftw_imax │ │ │ │ │ +0000002e 0000030a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +00000038 0000030a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +00000040 0000040a R_ARM_THM_CALL 00000000 fftw_imax │ │ │ │ │ +00000086 0000050a R_ARM_THM_CALL 00000000 fftw_rdft2_strides │ │ │ │ │ +00000090 0000030a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +000000aa 0000030a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +000000b4 0000040a R_ARM_THM_CALL 00000000 fftw_imax │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,73 +1,77 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_rdft2_tensor_max_index(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ - mov r9, r0 │ │ │ │ │ ldr r3, [r0, #0] │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ + mov r9, r0 │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ sub sp, #8 │ │ │ │ │ mov sl, r1 │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - ble.n 9c │ │ │ │ │ + ble.n bc │ │ │ │ │ mov r5, r0 │ │ │ │ │ - movs r4, #1 │ │ │ │ │ + mov.w r4, #1 │ │ │ │ │ mov.w r8, #0 │ │ │ │ │ - ldr r3, [r5, #4] │ │ │ │ │ - ldr r0, [r5, #8] │ │ │ │ │ - subs r6, r3, #1 │ │ │ │ │ + ldrd r3, r0, [r5, #4] │ │ │ │ │ + add.w r6, r3, #4294967295 @ 0xffffffff │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ mov r7, r0 │ │ │ │ │ ldr.w r0, [r5, #12]! │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_imax │ │ │ │ │ ldr.w r3, [r9] │ │ │ │ │ mov r2, r4 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ mla r8, r0, r6, r8 │ │ │ │ │ cmp r3, r4 │ │ │ │ │ - bgt.n 18 │ │ │ │ │ + bgt.n 26 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bgt.n 50 │ │ │ │ │ + bgt.n 70 │ │ │ │ │ mov r0, r8 │ │ │ │ │ add sp, #8 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ - movs r3, #12 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {sl, pc} │ │ │ │ │ + add.w r2, r2, r2, lsl #1 │ │ │ │ │ add.w r9, r9, #4 │ │ │ │ │ - mov r0, sl │ │ │ │ │ - mul.w r4, r3, r2 │ │ │ │ │ add r3, sp, #4 │ │ │ │ │ + mov r0, sl │ │ │ │ │ + mov.w r4, r2, lsl #2 │ │ │ │ │ mov r2, sp │ │ │ │ │ add.w r1, r9, r4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_rdft2_strides │ │ │ │ │ ldr r0, [sp, #0] │ │ │ │ │ ldr.w r5, [r9, r4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ ldr.w r1, [r9, r4] │ │ │ │ │ - subs r5, #1 │ │ │ │ │ + add.w r5, r5, #4294967295 @ 0xffffffff │ │ │ │ │ add.w r1, r1, r1, lsr #31 │ │ │ │ │ mul.w r5, r0, r5 │ │ │ │ │ ldr r0, [sp, #4] │ │ │ │ │ - asrs r4, r1, #1 │ │ │ │ │ + mov.w r4, r1, asr #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ mul.w r1, r0, r4 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_imax │ │ │ │ │ add r8, r0 │ │ │ │ │ - mov r0, r8 │ │ │ │ │ - add sp, #8 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ + b.n 5a │ │ │ │ │ mov.w r8, #0 │ │ │ │ │ mov r2, r8 │ │ │ │ │ - b.n 44 │ │ │ │ │ + b.n 56 │ │ │ ├── lt14-solve.o │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,10 +1,10 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_rdft_solve(): │ │ │ │ │ - ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ ldrd r1, r2, [r1, #12] │ │ │ │ │ + ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ bx r3 │ │ │ ├── solve2.o │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,6 +1,6 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 3 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 2: 00000001 22 FUNC GLOBAL DEFAULT 1 fftw_rdft2_solve │ │ │ │ │ + 2: 00000001 24 FUNC GLOBAL DEFAULT 1 fftw_rdft2_solve │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,18 +1,17 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ fftw_rdft2_solve(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ ldr r3, [r1, #24] │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ sub sp, #8 │ │ │ │ │ ldr r4, [r0, #56] @ 0x38 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldrd r2, r3, [r1, #16] │ │ │ │ │ ldr r1, [r1, #12] │ │ │ │ │ blx r4 │ │ │ │ │ add sp, #8 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - nop │ │ │ ├── vrank-geq1-rdft2.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2296 (bytes into file) │ │ │ │ │ + Start of section headers: 2396 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 16 │ │ │ │ │ Section header string table index: 15 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,25 +1,25 @@ │ │ │ │ │ -There are 16 section headers, starting at offset 0x8f8: │ │ │ │ │ +There are 16 section headers, starting at offset 0x95c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000284 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000778 0000c8 08 I 13 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0002b8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0002b8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0002b8 00001e 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 0002d6 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0002de 000010 00 WA 0 0 4 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000840 000020 08 I 13 7 4 │ │ │ │ │ - [ 9] .data.rel.ro.local PROGBITS 00000000 0002ee 00000c 00 WA 0 0 4 │ │ │ │ │ - [10] .rel.data.rel.ro.local REL 00000000 000860 000008 08 I 13 9 4 │ │ │ │ │ - [11] .note.GNU-stack PROGBITS 00000000 0002fa 000000 00 0 0 1 │ │ │ │ │ - [12] .ARM.attributes ARM_ATTRIBUTES 00000000 0002fa 000033 00 0 0 1 │ │ │ │ │ - [13] .symtab SYMTAB 00000000 000330 0002a0 10 14 23 4 │ │ │ │ │ - [14] .strtab STRTAB 00000000 0005d0 0001a5 00 0 0 1 │ │ │ │ │ - [15] .shstrtab STRTAB 00000000 000868 00008f 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0002e8 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0007dc 0000c8 08 I 13 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 00031c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 00031c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 00031c 00001e 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 00033a 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000342 000010 00 WA 0 0 4 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 0008a4 000020 08 I 13 7 4 │ │ │ │ │ + [ 9] .data.rel.ro.local PROGBITS 00000000 000352 00000c 00 WA 0 0 4 │ │ │ │ │ + [10] .rel.data.rel.ro.local REL 00000000 0008c4 000008 08 I 13 9 4 │ │ │ │ │ + [11] .note.GNU-stack PROGBITS 00000000 00035e 000000 00 0 0 1 │ │ │ │ │ + [12] .ARM.attributes ARM_ATTRIBUTES 00000000 00035e 000033 00 0 0 1 │ │ │ │ │ + [13] .symtab SYMTAB 00000000 000394 0002a0 10 14 23 4 │ │ │ │ │ + [14] .strtab STRTAB 00000000 000634 0001a5 00 0 0 1 │ │ │ │ │ + [15] .shstrtab STRTAB 00000000 0008cc 00008f 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 42 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 92 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ + 1: 00000001 128 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 3: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 4: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ - 5: 0000005d 36 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ - 6: 0000007c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 7: 00000080 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 8: 00000081 424 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 9: 00000218 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 10: 00000228 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 11: 00000229 6 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 12: 00000231 6 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 13: 0000027c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 5: 00000081 36 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 6: 000000a0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 7: 000000a4 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 8: 000000a5 460 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 9: 00000260 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 10: 00000270 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 11: 00000271 6 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 12: 00000279 6 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 13: 000002e0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 14: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 15: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 16: 00000000 8 OBJECT LOCAL DEFAULT 6 buddies.2 │ │ │ │ │ 17: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 18: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 19: 00000000 16 OBJECT LOCAL DEFAULT 7 padt.0 │ │ │ │ │ 20: 00000000 0 SECTION LOCAL DEFAULT 9 .data.rel.ro.local │ │ │ │ │ @@ -35,11 +35,11 @@ │ │ │ │ │ 31: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_madd2 │ │ │ │ │ 32: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_iabs │ │ │ │ │ 33: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_imin │ │ │ │ │ 34: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft2_tensor_max_index │ │ │ │ │ 35: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft2_inplace_strides │ │ │ │ │ 36: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_destroy_internal │ │ │ │ │ 37: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_awake │ │ │ │ │ - 38: 00000239 76 FUNC GLOBAL DEFAULT 1 fftw_rdft2_vrank_geq1_register │ │ │ │ │ + 38: 00000281 104 FUNC GLOBAL DEFAULT 1 fftw_rdft2_vrank_geq1_register │ │ │ │ │ 39: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ 40: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 41: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft2_solve │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,39 +1,39 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x778 contains 25 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x7dc contains 25 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000007c 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -000000bc 0000170a R_ARM_THM_CALL 00000000 fftw_pickdim │ │ │ │ │ -00000122 0000180a R_ARM_THM_CALL 00000000 fftw_rdft2_strides │ │ │ │ │ -00000128 0000190a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ -00000132 00001a0a R_ARM_THM_CALL 00000000 fftw_tensor_copy_except │ │ │ │ │ -0000014a 00001b0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft2_d │ │ │ │ │ -00000152 00001c0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -00000166 00001d0a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft2 │ │ │ │ │ -00000184 00001e0a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ -0000019a 00001f0a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ -000001d0 0000200a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -000001d8 0000200a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -000001e0 0000210a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ -000001ea 0000220a R_ARM_THM_CALL 00000000 fftw_rdft2_tensor_max_index │ │ │ │ │ -00000208 0000230a R_ARM_THM_CALL 00000000 fftw_rdft2_inplace_strides │ │ │ │ │ -00000220 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ -00000224 00001103 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000024a 0000270a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -0000025a 0000280a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -00000262 0000270a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -0000027c 00001403 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -00000280 00000e03 R_ARM_REL32 00000000 .rodata │ │ │ │ │ -0000022a 0000241e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00000232 0000251e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ -00000278 0000281e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ +000000a0 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +00000100 0000170a R_ARM_THM_CALL 00000000 fftw_pickdim │ │ │ │ │ +00000168 0000180a R_ARM_THM_CALL 00000000 fftw_rdft2_strides │ │ │ │ │ +0000016e 0000190a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ +00000178 00001a0a R_ARM_THM_CALL 00000000 fftw_tensor_copy_except │ │ │ │ │ +00000190 00001b0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft2_d │ │ │ │ │ +00000198 00001c0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +000001ae 00001d0a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft2 │ │ │ │ │ +000001ce 00001e0a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ +000001e4 00001f0a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ +00000216 0000200a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +0000021e 0000200a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +00000226 0000210a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ +00000230 0000220a R_ARM_THM_CALL 00000000 fftw_rdft2_tensor_max_index │ │ │ │ │ +0000024e 0000230a R_ARM_THM_CALL 00000000 fftw_rdft2_inplace_strides │ │ │ │ │ +00000268 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ +0000026c 00001103 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +0000029e 0000270a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +000002b2 0000280a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +000002bc 0000270a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +000002e0 00001403 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +000002e4 00000e03 R_ARM_REL32 00000000 .rodata │ │ │ │ │ +00000272 0000241e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ +0000027a 0000251e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ +000002dc 0000281e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x840 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x8a4 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00002902 R_ARM_ABS32 00000000 fftw_rdft2_solve │ │ │ │ │ -00000004 00000c02 R_ARM_ABS32 00000231 awake │ │ │ │ │ -00000008 00000502 R_ARM_ABS32 0000005d print │ │ │ │ │ -0000000c 00000b02 R_ARM_ABS32 00000229 destroy │ │ │ │ │ +00000004 00000c02 R_ARM_ABS32 00000279 awake │ │ │ │ │ +00000008 00000502 R_ARM_ABS32 00000081 print │ │ │ │ │ +0000000c 00000b02 R_ARM_ABS32 00000271 destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x860 contains 1 entry: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x8c4 contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000802 R_ARM_ABS32 00000081 mkplan │ │ │ │ │ +00000004 00000802 R_ARM_ABS32 000000a5 mkplan │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,8 +1,7 @@ │ │ │ │ │ -0JX 0IzDyD │ │ │ │ │ (rdft2-vrank>=1-x%D/%d%(%p%)) │ │ │ │ │ buddies.2 │ │ │ │ │ fftw_pickdim │ │ │ │ │ fftw_rdft2_strides │ │ │ │ │ fftw_tensor_copy │ │ │ │ │ fftw_tensor_copy_except │ │ │ │ │ fftw_mkproblem_rdft2_d │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,301 +1,318 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ apply(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov fp, r0 │ │ │ │ │ - ldr r7, [r0, #76] @ 0x4c │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ mov r4, r3 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r2 │ │ │ │ │ ldrd r3, r6, [r0, #68] @ 0x44 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + ldr r7, [r0, #76] @ 0x4c │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + mov fp, r0 │ │ │ │ │ sub sp, #20 │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ ldr r2, [r0, #56] @ 0x38 │ │ │ │ │ - ble.n 56 │ │ │ │ │ - ldr.w r8, [sp, #56] @ 0x38 │ │ │ │ │ + ble.n 68 │ │ │ │ │ + strd r3, fp, [sp, #8] │ │ │ │ │ mov.w sl, r6, lsl #3 │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ + mov fp, r2 │ │ │ │ │ + ldr.w r8, [sp, #56] @ 0x38 │ │ │ │ │ mov.w r9, r7, lsl #3 │ │ │ │ │ + mov.w r7, #0 │ │ │ │ │ mov r3, r8 │ │ │ │ │ - str.w fp, [sp, #12] │ │ │ │ │ - movs r7, #0 │ │ │ │ │ mov r8, r1 │ │ │ │ │ - mov fp, r2 │ │ │ │ │ mov r6, r3 │ │ │ │ │ - b.n 3c │ │ │ │ │ + b.n 4c │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ ldr r0, [r3, #64] @ 0x40 │ │ │ │ │ mov r3, r4 │ │ │ │ │ mov r2, r5 │ │ │ │ │ - mov r1, r8 │ │ │ │ │ str r6, [sp, #0] │ │ │ │ │ + mov r1, r8 │ │ │ │ │ + add.w r7, r7, #1 │ │ │ │ │ blx fp │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ - adds r7, #1 │ │ │ │ │ add r8, sl │ │ │ │ │ add r5, sl │ │ │ │ │ add r4, r9 │ │ │ │ │ add r6, r9 │ │ │ │ │ cmp r3, r7 │ │ │ │ │ - bne.n 38 │ │ │ │ │ + bne.n 48 │ │ │ │ │ add sp, #20 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -0000005c : │ │ │ │ │ +00000080 : │ │ │ │ │ print(): │ │ │ │ │ mov r2, r0 │ │ │ │ │ - push {r4, lr} │ │ │ │ │ mov r0, r1 │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ + ldr r1, [r2, #64] @ 0x40 │ │ │ │ │ sub sp, #8 │ │ │ │ │ ldr r3, [r2, #80] @ 0x50 │ │ │ │ │ - ldr r1, [r2, #64] @ 0x40 │ │ │ │ │ - ldr r4, [r0, #0] │ │ │ │ │ ldr r3, [r3, #8] │ │ │ │ │ str r1, [sp, #0] │ │ │ │ │ - ldr r1, [pc, #12] @ (7c ) │ │ │ │ │ + ldr r1, [pc, #12] @ (a0 ) │ │ │ │ │ + ldr r4, [r0, #0] │ │ │ │ │ ldr r2, [r2, #68] @ 0x44 │ │ │ │ │ add r1, pc │ │ │ │ │ blx r4 │ │ │ │ │ add sp, #8 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ -00000080 : │ │ │ │ │ +000000a4 : │ │ │ │ │ mkplan(): │ │ │ │ │ ldr r3, [r1, #8] │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ - mov r5, r2 │ │ │ │ │ + str.w r4, [sp, #-28]! │ │ │ │ │ mov r4, r1 │ │ │ │ │ - ldr r2, [r3, #0] │ │ │ │ │ - movw r1, #65533 @ 0xfffd │ │ │ │ │ - movt r1, #32767 @ 0x7fff │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r5, r2 │ │ │ │ │ + movw r2, #65533 @ 0xfffd │ │ │ │ │ + movt r2, #32767 @ 0x7fff │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, lr, [sp, #20] │ │ │ │ │ sub sp, #36 @ 0x24 │ │ │ │ │ - subs r2, #1 │ │ │ │ │ - cmp r2, r1 │ │ │ │ │ - bls.n a4 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + ldr r1, [r3, #0] │ │ │ │ │ + add.w r1, r1, #4294967295 @ 0xffffffff │ │ │ │ │ + cmp r1, r2 │ │ │ │ │ + bls.n e6 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #36 @ 0x24 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ add r2, sp, #20 │ │ │ │ │ + mov r8, r0 │ │ │ │ │ str r2, [sp, #4] │ │ │ │ │ - mov r6, r0 │ │ │ │ │ - ldr r1, [r4, #20] │ │ │ │ │ ldr r2, [r4, #12] │ │ │ │ │ + ldr r1, [r4, #20] │ │ │ │ │ subs r2, r2, r1 │ │ │ │ │ it ne │ │ │ │ │ movne r2, #1 │ │ │ │ │ str r2, [sp, #0] │ │ │ │ │ - ldrd r1, r2, [r0, #12] │ │ │ │ │ - ldr r0, [r0, #8] │ │ │ │ │ + ldrd r0, r1, [r0, #8] │ │ │ │ │ + ldr.w r2, [r8, #16] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_pickdim │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 9c │ │ │ │ │ + beq.n ce │ │ │ │ │ ldr r2, [r4, #12] │ │ │ │ │ ldr r3, [r4, #20] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.w 204 │ │ │ │ │ + beq.w 24a │ │ │ │ │ ldr.w r3, [r5, #164] @ 0xa4 │ │ │ │ │ - ubfx r2, r3, #0, #20 │ │ │ │ │ lsls r1, r3, #23 │ │ │ │ │ - bpl.n e4 │ │ │ │ │ - ldrd r1, r3, [r6, #8] │ │ │ │ │ + ubfx r2, r3, #0, #20 │ │ │ │ │ + bpl.n 128 │ │ │ │ │ + ldrd r1, r3, [r8, #8] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ cmp r1, r3 │ │ │ │ │ - bne.n 9c │ │ │ │ │ + bne.n ce │ │ │ │ │ lsls r2, r2, #15 │ │ │ │ │ - bpl.n 10a │ │ │ │ │ + bpl.n 14e │ │ │ │ │ ldr r3, [r4, #4] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - bgt.n 1c2 │ │ │ │ │ - cbnz r3, fa │ │ │ │ │ + bgt.n 208 │ │ │ │ │ + cbnz r3, 13e │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - beq.n 9c │ │ │ │ │ + beq.n ce │ │ │ │ │ ldr.w r3, [r5, #164] @ 0xa4 │ │ │ │ │ lsls r3, r3, #22 │ │ │ │ │ - bpl.n 10a │ │ │ │ │ + bpl.n 14e │ │ │ │ │ ldr.w r3, [r5, #160] @ 0xa0 │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - bgt.n 9c │ │ │ │ │ + bgt.n ce │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ - movs r2, #12 │ │ │ │ │ + add r2, sp, #24 │ │ │ │ │ ldr r0, [r4, #28] │ │ │ │ │ add.w r9, r3, #4 │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ - mul.w r8, r2, r3 │ │ │ │ │ + add.w r3, r3, r3, lsl #1 │ │ │ │ │ + mov.w r7, r3, lsl #2 │ │ │ │ │ add r3, sp, #28 │ │ │ │ │ - add r2, sp, #24 │ │ │ │ │ - add.w r1, r9, r8 │ │ │ │ │ + add.w r1, r9, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_rdft2_strides │ │ │ │ │ ldr r0, [r4, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy │ │ │ │ │ ldr r1, [sp, #20] │ │ │ │ │ - mov r7, r0 │ │ │ │ │ + mov r6, r0 │ │ │ │ │ ldr r0, [r4, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy_except │ │ │ │ │ ldr r3, [r4, #28] │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ mov r1, r0 │ │ │ │ │ - mov r0, r7 │ │ │ │ │ + mov r0, r6 │ │ │ │ │ + str r3, [sp, #8] │ │ │ │ │ ldr r3, [r4, #24] │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr r3, [r4, #20] │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ ldrd r2, r3, [r4, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft2_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ - mov r7, r0 │ │ │ │ │ + mov r6, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 9c │ │ │ │ │ - ldr r2, [pc, #192] @ (220 ) │ │ │ │ │ - movs r0, #88 @ 0x58 │ │ │ │ │ - ldr r1, [pc, #192] @ (224 ) │ │ │ │ │ + beq.n ce │ │ │ │ │ + ldr r2, [pc, #196] @ (268 ) │ │ │ │ │ + mov.w r0, #88 @ 0x58 │ │ │ │ │ + ldr r1, [pc, #192] @ (26c ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_rdft2 │ │ │ │ │ - ldr.w r3, [r9, r8] │ │ │ │ │ - str r3, [r0, #68] @ 0x44 │ │ │ │ │ + ldr.w r3, [r9, r7] │ │ │ │ │ mov r5, r0 │ │ │ │ │ + add.w r7, r0, #8 │ │ │ │ │ + mov r0, r7 │ │ │ │ │ + strd r6, r3, [r5, #64] @ 0x40 │ │ │ │ │ ldr r3, [sp, #24] │ │ │ │ │ - str r3, [r0, #72] @ 0x48 │ │ │ │ │ + str.w r8, [r5, #80] @ 0x50 │ │ │ │ │ + str r3, [r5, #72] @ 0x48 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ - strd r3, r6, [r0, #76] @ 0x4c │ │ │ │ │ - add.w r6, r0, #8 │ │ │ │ │ - str r7, [r0, #64] @ 0x40 │ │ │ │ │ - mov r0, r6 │ │ │ │ │ + str r3, [r5, #76] @ 0x4c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_zero │ │ │ │ │ - ldr r0, [r5, #68] @ 0x44 │ │ │ │ │ - add r3, pc, #140 @ (adr r3, 218 ) │ │ │ │ │ + add r3, pc, #140 @ (adr r3, 260 ) │ │ │ │ │ ldrd r2, r3, [r3] │ │ │ │ │ + add.w r1, r6, #8 │ │ │ │ │ + ldr r0, [r5, #68] @ 0x44 │ │ │ │ │ strd r2, r3, [r5, #32] │ │ │ │ │ - add.w r1, r7, #8 │ │ │ │ │ - mov r2, r6 │ │ │ │ │ + mov r2, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_madd2 │ │ │ │ │ ldr r3, [r4, #4] │ │ │ │ │ ldr r2, [r3, #0] │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - beq.n 1fa │ │ │ │ │ + beq.n 240 │ │ │ │ │ vldr s15, [r5, #68] @ 0x44 │ │ │ │ │ mov r0, r5 │ │ │ │ │ - vldr d6, [r7, #40] @ 0x28 │ │ │ │ │ + vldr d6, [r6, #40] @ 0x28 │ │ │ │ │ vcvt.f64.s32 d7, s15 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ vstr d7, [r5, #40] @ 0x28 │ │ │ │ │ - add sp, #36 @ 0x24 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} │ │ │ │ │ - ldr r7, [r4, #8] │ │ │ │ │ - movs r2, #12 │ │ │ │ │ + b.n d2 │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ - adds r7, #4 │ │ │ │ │ - mla r7, r2, r3, r7 │ │ │ │ │ - ldr r0, [r7, #4] │ │ │ │ │ + ldr r6, [r4, #8] │ │ │ │ │ + add.w r3, r3, r3, lsl #1 │ │ │ │ │ + add.w r6, r6, r3, lsl #2 │ │ │ │ │ + ldr r0, [r6, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ - mov r8, r0 │ │ │ │ │ - ldr r0, [r7, #8] │ │ │ │ │ + mov r7, r0 │ │ │ │ │ + ldr r0, [r6, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ mov r1, r0 │ │ │ │ │ - mov r0, r8 │ │ │ │ │ + mov r0, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_imin │ │ │ │ │ ldr r1, [r4, #28] │ │ │ │ │ - mov r7, r0 │ │ │ │ │ + mov r6, r0 │ │ │ │ │ ldr r0, [r4, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_rdft2_tensor_max_index │ │ │ │ │ - cmp r7, r0 │ │ │ │ │ - blt.w 9c │ │ │ │ │ + cmp r6, r0 │ │ │ │ │ + blt.w ce │ │ │ │ │ ldr r3, [r4, #4] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - b.n f0 │ │ │ │ │ + b.n 134 │ │ │ │ │ ldr r3, [r3, #4] │ │ │ │ │ cmp r3, #128 @ 0x80 │ │ │ │ │ - bgt.n 1a6 │ │ │ │ │ + bgt.n 1f0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ - b.n 1bc │ │ │ │ │ + b.n d2 │ │ │ │ │ ldr r1, [sp, #20] │ │ │ │ │ mov r0, r4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_rdft2_inplace_strides │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - bne.w ce │ │ │ │ │ - b.n 9c │ │ │ │ │ + bne.w 112 │ │ │ │ │ + b.n ce │ │ │ │ │ + nop │ │ │ │ │ nop.w │ │ │ │ │ .word 0xf01b866e │ │ │ │ │ .word 0x400921f9 │ │ │ │ │ .word 0x000000ba │ │ │ │ │ R_ARM_REL32 apply │ │ │ │ │ .word 0x000000bc │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ │ │ │ │ │ -00000228 : │ │ │ │ │ +00000270 : │ │ │ │ │ destroy(): │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_destroy_internal │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000230 : │ │ │ │ │ +00000278 : │ │ │ │ │ awake(): │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_awake │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000238 : │ │ │ │ │ +00000280 : │ │ │ │ │ fftw_rdft2_vrank_geq1_register(): │ │ │ │ │ - push {r3, r4, r5, r6, r7, lr} │ │ │ │ │ + strd r3, r4, [sp, #-24]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - ldr r7, [pc, #60] @ (27c ) │ │ │ │ │ - ldr r6, [pc, #64] @ (280 ) │ │ │ │ │ - movs r0, #20 │ │ │ │ │ + mov.w r0, #20 │ │ │ │ │ + strd r5, r6, [sp, #8] │ │ │ │ │ + mov.w r5, #2 │ │ │ │ │ + strd r7, lr, [sp, #16] │ │ │ │ │ + ldr r7, [pc, #72] @ (2e0 ) │ │ │ │ │ + ldr r6, [pc, #72] @ (2e4 ) │ │ │ │ │ add r7, pc │ │ │ │ │ - movs r5, #2 │ │ │ │ │ mov r1, r7 │ │ │ │ │ - add r6, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ - movs r3, #1 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - str r3, [r0, #8] │ │ │ │ │ - str r6, [r0, #12] │ │ │ │ │ - str r5, [r0, #16] │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + add r6, pc │ │ │ │ │ mov r0, r4 │ │ │ │ │ + strd r3, r6, [r1, #8] │ │ │ │ │ + str r5, [r1, #16] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ mov r1, r7 │ │ │ │ │ - movs r0, #20 │ │ │ │ │ + mov.w r0, #20 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ - mov.w r3, #4294967295 @ 0xffffffff │ │ │ │ │ - str r5, [r0, #16] │ │ │ │ │ mov r1, r0 │ │ │ │ │ - strd r3, r6, [r0, #8] │ │ │ │ │ + mov.w r3, #4294967295 @ 0xffffffff │ │ │ │ │ + ldrd r7, lr, [sp, #16] │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, r6, r7, lr} │ │ │ │ │ + strd r3, r6, [r1, #8] │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + str r5, [r1, #16] │ │ │ │ │ + ldrd r5, r6, [sp, #8] │ │ │ │ │ + add sp, #24 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solver_register │ │ │ │ │ - .word 0x00000036 │ │ │ │ │ + .word 0x00000042 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ │ │ - .word 0x00000034 │ │ │ │ │ + .word 0x00000038 │ │ │ │ │ R_ARM_REL32 .rodata │ │ │ ├── lt15-vrank-geq1.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2148 (bytes into file) │ │ │ │ │ + Start of section headers: 2256 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 16 │ │ │ │ │ Section header string table index: 15 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,25 +1,25 @@ │ │ │ │ │ -There are 16 section headers, starting at offset 0x864: │ │ │ │ │ +There are 16 section headers, starting at offset 0x8d0: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00025c 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0006f4 0000b8 08 I 13 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000290 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000290 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000290 00001d 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 0002ad 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0002b5 000010 00 WA 0 0 4 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 0007ac 000020 08 I 13 7 4 │ │ │ │ │ - [ 9] .data.rel.ro.local PROGBITS 00000000 0002c5 00000c 00 WA 0 0 4 │ │ │ │ │ - [10] .rel.data.rel.ro.local REL 00000000 0007cc 000008 08 I 13 9 4 │ │ │ │ │ - [11] .note.GNU-stack PROGBITS 00000000 0002d1 000000 00 0 0 1 │ │ │ │ │ - [12] .ARM.attributes ARM_ATTRIBUTES 00000000 0002d1 000033 00 0 0 1 │ │ │ │ │ - [13] .symtab SYMTAB 00000000 000304 000280 10 14 23 4 │ │ │ │ │ - [14] .strtab STRTAB 00000000 000584 00016d 00 0 0 1 │ │ │ │ │ - [15] .shstrtab STRTAB 00000000 0007d4 00008f 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0002c8 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000760 0000b8 08 I 13 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0002fc 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0002fc 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0002fc 00001d 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000319 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000321 000010 00 WA 0 0 4 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000818 000020 08 I 13 7 4 │ │ │ │ │ + [ 9] .data.rel.ro.local PROGBITS 00000000 000331 00000c 00 WA 0 0 4 │ │ │ │ │ + [10] .rel.data.rel.ro.local REL 00000000 000838 000008 08 I 13 9 4 │ │ │ │ │ + [11] .note.GNU-stack PROGBITS 00000000 00033d 000000 00 0 0 1 │ │ │ │ │ + [12] .ARM.attributes ARM_ATTRIBUTES 00000000 00033d 000033 00 0 0 1 │ │ │ │ │ + [13] .symtab SYMTAB 00000000 000370 000280 10 14 23 4 │ │ │ │ │ + [14] .strtab STRTAB 00000000 0005f0 00016d 00 0 0 1 │ │ │ │ │ + [15] .shstrtab STRTAB 00000000 000840 00008f 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 40 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 64 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ + 1: 00000001 100 FUNC LOCAL DEFAULT 1 apply │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 3: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 4: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ - 5: 00000041 36 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ - 6: 00000060 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 7: 00000064 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 8: 00000065 412 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 9: 000001f0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 10: 00000200 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 11: 00000201 6 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 12: 00000209 6 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 13: 00000254 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 5: 00000065 36 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 6: 00000084 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 7: 00000088 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 8: 00000089 456 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 9: 00000240 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 10: 00000250 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 11: 00000251 6 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 12: 00000259 6 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 13: 000002c0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 14: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 15: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 16: 00000000 8 OBJECT LOCAL DEFAULT 6 buddies.2 │ │ │ │ │ 17: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 18: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 19: 00000000 16 OBJECT LOCAL DEFAULT 7 padt.0 │ │ │ │ │ 20: 00000000 0 SECTION LOCAL DEFAULT 9 .data.rel.ro.local │ │ │ │ │ @@ -33,11 +33,11 @@ │ │ │ │ │ 29: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_zero │ │ │ │ │ 30: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_madd2 │ │ │ │ │ 31: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_iabs │ │ │ │ │ 32: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_imin │ │ │ │ │ 33: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_max_index │ │ │ │ │ 34: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_destroy_internal │ │ │ │ │ 35: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_plan_awake │ │ │ │ │ - 36: 00000211 76 FUNC GLOBAL DEFAULT 1 fftw_rdft_vrank_geq1_register │ │ │ │ │ + 36: 00000261 104 FUNC GLOBAL DEFAULT 1 fftw_rdft_vrank_geq1_register │ │ │ │ │ 37: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ 38: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 39: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_solve │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,37 +1,37 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x6f4 contains 23 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x760 contains 23 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000060 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -000000a8 0000170a R_ARM_THM_CALL 00000000 fftw_pickdim │ │ │ │ │ -00000100 0000180a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ -0000010e 0000190a R_ARM_THM_CALL 00000000 fftw_tensor_copy_except │ │ │ │ │ -00000120 00001a0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_d │ │ │ │ │ -00000128 00001b0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -0000013c 00001c0a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ -0000015a 00001d0a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ -00000170 00001e0a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ -000001b0 00001f0a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -000001b8 00001f0a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -000001c0 0000200a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ -000001c8 0000210a R_ARM_THM_CALL 00000000 fftw_tensor_max_index │ │ │ │ │ -000001f8 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ -000001fc 00001103 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000222 0000250a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -00000232 0000260a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -0000023a 0000250a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -00000254 00001403 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -00000258 00000e03 R_ARM_REL32 00000000 .rodata │ │ │ │ │ -00000202 0000221e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ -0000020a 0000231e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ -00000250 0000261e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ +00000084 00000403 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +000000ec 0000170a R_ARM_THM_CALL 00000000 fftw_pickdim │ │ │ │ │ +00000122 0000180a R_ARM_THM_CALL 00000000 fftw_tensor_copy │ │ │ │ │ +00000130 0000190a R_ARM_THM_CALL 00000000 fftw_tensor_copy_except │ │ │ │ │ +00000142 00001a0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_d │ │ │ │ │ +0000014a 00001b0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +00000160 00001c0a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ +00000180 00001d0a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ +00000196 00001e0a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ +0000020e 00001f0a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +00000216 00001f0a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +0000021e 0000200a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ +00000226 0000210a R_ARM_THM_CALL 00000000 fftw_tensor_max_index │ │ │ │ │ +00000248 00000103 R_ARM_REL32 00000001 apply │ │ │ │ │ +0000024c 00001103 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +0000027e 0000250a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +00000292 0000260a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +0000029c 0000250a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +000002c0 00001403 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +000002c4 00000e03 R_ARM_REL32 00000000 .rodata │ │ │ │ │ +00000252 0000221e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ +0000025a 0000231e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ +000002bc 0000261e R_ARM_THM_JUMP24 00000000 fftw_solver_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x7ac contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x818 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00002702 R_ARM_ABS32 00000000 fftw_rdft_solve │ │ │ │ │ -00000004 00000c02 R_ARM_ABS32 00000209 awake │ │ │ │ │ -00000008 00000502 R_ARM_ABS32 00000041 print │ │ │ │ │ -0000000c 00000b02 R_ARM_ABS32 00000201 destroy │ │ │ │ │ +00000004 00000c02 R_ARM_ABS32 00000259 awake │ │ │ │ │ +00000008 00000502 R_ARM_ABS32 00000065 print │ │ │ │ │ +0000000c 00000b02 R_ARM_ABS32 00000251 destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x7cc contains 1 entry: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x838 contains 1 entry: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000802 R_ARM_ABS32 00000065 mkplan │ │ │ │ │ +00000004 00000802 R_ARM_ABS32 00000089 mkplan │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,8 +1,7 @@ │ │ │ │ │ -1JX 1IzDyD │ │ │ │ │ (rdft-vrank>=1-x%D/%d%(%p%)) │ │ │ │ │ buddies.2 │ │ │ │ │ fftw_pickdim │ │ │ │ │ fftw_tensor_copy │ │ │ │ │ fftw_tensor_copy_except │ │ │ │ │ fftw_mkproblem_rdft_d │ │ │ │ │ fftw_mkplan_d │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,276 +1,293 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ apply(): │ │ │ │ │ - stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + strd r3, r4, [sp, #-40]! @ 0x28 │ │ │ │ │ + strd r5, r6, [sp, #8] │ │ │ │ │ mov r6, r0 │ │ │ │ │ - ldr r7, [r0, #76] @ 0x4c │ │ │ │ │ + strd r9, sl, [sp, #24] │ │ │ │ │ ldrd r9, r3, [r0, #68] @ 0x44 │ │ │ │ │ + strd r7, r8, [sp, #16] │ │ │ │ │ + ldr r7, [r0, #76] @ 0x4c │ │ │ │ │ + strd fp, lr, [sp, #32] │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ cmp.w r9, #0 │ │ │ │ │ ldr.w sl, [r0, #56] @ 0x38 │ │ │ │ │ - ble.n 3c │ │ │ │ │ + ble.n 4e │ │ │ │ │ mov.w r8, r3, lsl #3 │ │ │ │ │ mov r5, r1 │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ mov r4, r2 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ mov.w fp, #0 │ │ │ │ │ - b.n 2a │ │ │ │ │ + b.n 3c │ │ │ │ │ ldr r0, [r6, #64] @ 0x40 │ │ │ │ │ mov r2, r4 │ │ │ │ │ mov r1, r5 │ │ │ │ │ add.w fp, fp, #1 │ │ │ │ │ - blx sl │ │ │ │ │ add r5, r8 │ │ │ │ │ - add r4, r7 │ │ │ │ │ + blx sl │ │ │ │ │ cmp r9, fp │ │ │ │ │ - bne.n 28 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + add r4, r7 │ │ │ │ │ + bne.n 3a │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + ldrd r5, r6, [sp, #8] │ │ │ │ │ + ldrd r7, r8, [sp, #16] │ │ │ │ │ + ldrd r9, sl, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldmia.w sp!, {fp, pc} │ │ │ │ │ │ │ │ │ │ -00000040 : │ │ │ │ │ +00000064 : │ │ │ │ │ print(): │ │ │ │ │ mov r2, r0 │ │ │ │ │ - push {r4, lr} │ │ │ │ │ mov r0, r1 │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ + ldr r1, [r2, #64] @ 0x40 │ │ │ │ │ sub sp, #8 │ │ │ │ │ ldr r3, [r2, #80] @ 0x50 │ │ │ │ │ - ldr r1, [r2, #64] @ 0x40 │ │ │ │ │ - ldr r4, [r0, #0] │ │ │ │ │ ldr r3, [r3, #8] │ │ │ │ │ str r1, [sp, #0] │ │ │ │ │ - ldr r1, [pc, #12] @ (60 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (84 ) │ │ │ │ │ + ldr r4, [r0, #0] │ │ │ │ │ ldr r2, [r2, #68] @ 0x44 │ │ │ │ │ add r1, pc │ │ │ │ │ blx r4 │ │ │ │ │ add sp, #8 │ │ │ │ │ pop {r4, pc} │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ │ │ │ │ │ -00000064 : │ │ │ │ │ +00000088 : │ │ │ │ │ mkplan(): │ │ │ │ │ ldr r3, [r1, #8] │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ - mov r4, r2 │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ mov r5, r1 │ │ │ │ │ - ldr r2, [r3, #0] │ │ │ │ │ - movw r1, #65533 @ 0xfffd │ │ │ │ │ - movt r1, #32767 @ 0x7fff │ │ │ │ │ + mov r4, r2 │ │ │ │ │ + movw r2, #65533 @ 0xfffd │ │ │ │ │ + movt r2, #32767 @ 0x7fff │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ sub sp, #16 │ │ │ │ │ - subs r2, #1 │ │ │ │ │ - cmp r2, r1 │ │ │ │ │ - bhi.n 88 │ │ │ │ │ + ldr r1, [r3, #0] │ │ │ │ │ + add.w r1, r1, #4294967295 @ 0xffffffff │ │ │ │ │ + cmp r1, r2 │ │ │ │ │ + bhi.n ba │ │ │ │ │ ldr r2, [r5, #4] │ │ │ │ │ ldr r2, [r2, #0] │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - bge.n 90 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + bge.n d2 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #16 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {sl, pc} │ │ │ │ │ add r2, sp, #12 │ │ │ │ │ + mov r8, r0 │ │ │ │ │ str r2, [sp, #4] │ │ │ │ │ - mov r6, r0 │ │ │ │ │ ldrd r2, r1, [r5, #12] │ │ │ │ │ subs r2, r2, r1 │ │ │ │ │ it ne │ │ │ │ │ movne r2, #1 │ │ │ │ │ str r2, [sp, #0] │ │ │ │ │ - ldrd r1, r2, [r0, #12] │ │ │ │ │ - ldr r0, [r0, #8] │ │ │ │ │ + ldrd r0, r1, [r0, #8] │ │ │ │ │ + ldr.w r2, [r8, #16] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_pickdim │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 88 │ │ │ │ │ + beq.n ba │ │ │ │ │ ldr.w r3, [r4, #164] @ 0xa4 │ │ │ │ │ + lsls r1, r3, #23 │ │ │ │ │ ubfx r2, r3, #0, #20 │ │ │ │ │ - lsls r3, r3, #23 │ │ │ │ │ - bpl.n c6 │ │ │ │ │ - ldrd r1, r3, [r6, #8] │ │ │ │ │ + bpl.n 10a │ │ │ │ │ + ldrd r1, r3, [r8, #8] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ cmp r1, r3 │ │ │ │ │ - bne.n 88 │ │ │ │ │ - lsls r7, r2, #15 │ │ │ │ │ + bne.n ba │ │ │ │ │ + tst.w r2, #65536 @ 0x10000 │ │ │ │ │ ldr r0, [r5, #4] │ │ │ │ │ - it pl │ │ │ │ │ - ldrpl r3, [r5, #8] │ │ │ │ │ - bpl.n f4 │ │ │ │ │ - ldr r3, [r0, #0] │ │ │ │ │ - lsls r1, r2, #28 │ │ │ │ │ - bpl.n da │ │ │ │ │ - cmp r3, #0 │ │ │ │ │ - beq.n 88 │ │ │ │ │ - cmp r3, #1 │ │ │ │ │ - bgt.n 1a2 │ │ │ │ │ - lsls r3, r2, #22 │ │ │ │ │ - bpl.n ea │ │ │ │ │ - ldr.w r3, [r4, #160] @ 0xa0 │ │ │ │ │ - cmp r3, #1 │ │ │ │ │ - bgt.n 88 │ │ │ │ │ - ldrd r0, r3, [r5, #4] │ │ │ │ │ - ldr r2, [r3, #0] │ │ │ │ │ - cmp r2, #1 │ │ │ │ │ - beq.n 1dc │ │ │ │ │ + bne.n 1ba │ │ │ │ │ + ldr r3, [r5, #8] │ │ │ │ │ add.w r9, r3, #4 │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ - movs r2, #12 │ │ │ │ │ - mul.w r8, r2, r3 │ │ │ │ │ + add.w r3, r3, r3, lsl #1 │ │ │ │ │ + mov.w r7, r3, lsl #2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy │ │ │ │ │ ldr r1, [sp, #12] │ │ │ │ │ - mov r7, r0 │ │ │ │ │ + mov r6, r0 │ │ │ │ │ + add.w sl, r9, r7 │ │ │ │ │ ldr r0, [r5, #8] │ │ │ │ │ - add.w sl, r9, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_copy_except │ │ │ │ │ add.w r3, r5, #20 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ mov r1, r0 │ │ │ │ │ - mov r0, r7 │ │ │ │ │ + mov r0, r6 │ │ │ │ │ + str r3, [sp, #0] │ │ │ │ │ ldrd r2, r3, [r5, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ - mov r7, r0 │ │ │ │ │ + mov r6, r0 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 88 │ │ │ │ │ - ldr r2, [pc, #196] @ (1f8 ) │ │ │ │ │ - movs r0, #88 @ 0x58 │ │ │ │ │ - ldr r1, [pc, #196] @ (1fc ) │ │ │ │ │ + beq.n ba │ │ │ │ │ + ldr r2, [pc, #240] @ (248 ) │ │ │ │ │ + mov.w r0, #88 @ 0x58 │ │ │ │ │ + ldr r1, [pc, #240] @ (24c ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_rdft │ │ │ │ │ - ldr.w r1, [r9, r8] │ │ │ │ │ - ldrd r2, r3, [sl, #4] │ │ │ │ │ - strd r3, r6, [r0, #76] @ 0x4c │ │ │ │ │ + ldr.w r1, [r9, r7] │ │ │ │ │ mov r4, r0 │ │ │ │ │ - add.w r6, r0, #8 │ │ │ │ │ - strd r1, r2, [r0, #68] @ 0x44 │ │ │ │ │ - str r7, [r0, #64] @ 0x40 │ │ │ │ │ - mov r0, r6 │ │ │ │ │ + add.w r7, r0, #8 │ │ │ │ │ + mov r0, r7 │ │ │ │ │ + ldrd r2, r3, [sl, #4] │ │ │ │ │ + strd r6, r1, [r4, #64] @ 0x40 │ │ │ │ │ + str.w r8, [r4, #80] @ 0x50 │ │ │ │ │ + strd r2, r3, [r4, #72] @ 0x48 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_zero │ │ │ │ │ - ldr r0, [r4, #68] @ 0x44 │ │ │ │ │ - add r3, pc, #140 @ (adr r3, 1f0 ) │ │ │ │ │ + add r3, pc, #184 @ (adr r3, 240 ) │ │ │ │ │ ldrd r2, r3, [r3] │ │ │ │ │ + add.w r1, r6, #8 │ │ │ │ │ + ldr r0, [r4, #68] @ 0x44 │ │ │ │ │ strd r2, r3, [r4, #32] │ │ │ │ │ - add.w r1, r7, #8 │ │ │ │ │ - mov r2, r6 │ │ │ │ │ + mov r2, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_madd2 │ │ │ │ │ ldr r3, [r5, #4] │ │ │ │ │ ldr r2, [r3, #0] │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - beq.n 198 │ │ │ │ │ + beq.n 1f6 │ │ │ │ │ vldr s15, [r4, #68] @ 0x44 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - vldr d6, [r7, #40] @ 0x28 │ │ │ │ │ + vldr d6, [r6, #40] @ 0x28 │ │ │ │ │ vcvt.f64.s32 d7, s15 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ vstr d7, [r4, #40] @ 0x28 │ │ │ │ │ - add sp, #16 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ + b.n be │ │ │ │ │ + tst.w r2, #8 │ │ │ │ │ + ldr r3, [r0, #0] │ │ │ │ │ + beq.n 1c8 │ │ │ │ │ + cmp r3, #0 │ │ │ │ │ + beq.w ba │ │ │ │ │ + cmp r3, #1 │ │ │ │ │ + bgt.n 200 │ │ │ │ │ + lsls r3, r2, #22 │ │ │ │ │ + bpl.n 1da │ │ │ │ │ + ldr.w r3, [r4, #160] @ 0xa0 │ │ │ │ │ + cmp r3, #1 │ │ │ │ │ + bgt.w ba │ │ │ │ │ + ldrd r0, r3, [r5, #4] │ │ │ │ │ + ldr r2, [r3, #0] │ │ │ │ │ + cmp r2, #1 │ │ │ │ │ + bne.n 114 │ │ │ │ │ + ldr r2, [r0, #0] │ │ │ │ │ + cmp r2, #1 │ │ │ │ │ + bne.n 114 │ │ │ │ │ + ldr r2, [r5, #20] │ │ │ │ │ + sub.w r2, r2, #9 │ │ │ │ │ + cmp r2, #7 │ │ │ │ │ + bhi.n 114 │ │ │ │ │ + b.n ba │ │ │ │ │ ldr r3, [r3, #4] │ │ │ │ │ cmp r3, #128 @ 0x80 │ │ │ │ │ - bgt.n 17c │ │ │ │ │ + bgt.n 1a2 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - b.n 192 │ │ │ │ │ - ldr r7, [r5, #8] │ │ │ │ │ - movs r2, #12 │ │ │ │ │ + b.n be │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ - adds r7, #4 │ │ │ │ │ - mla r7, r2, r3, r7 │ │ │ │ │ - ldr r0, [r7, #4] │ │ │ │ │ + ldr r6, [r5, #8] │ │ │ │ │ + add.w r3, r3, r3, lsl #1 │ │ │ │ │ + add.w r6, r6, r3, lsl #2 │ │ │ │ │ + ldr r0, [r6, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ - mov r8, r0 │ │ │ │ │ - ldr r0, [r7, #8] │ │ │ │ │ + mov r7, r0 │ │ │ │ │ + ldr r0, [r6, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ mov r1, r0 │ │ │ │ │ - mov r0, r8 │ │ │ │ │ + mov r0, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_imin │ │ │ │ │ - mov r7, r0 │ │ │ │ │ + mov r6, r0 │ │ │ │ │ ldr r0, [r5, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_max_index │ │ │ │ │ - cmp r7, r0 │ │ │ │ │ - blt.w 88 │ │ │ │ │ + cmp r6, r0 │ │ │ │ │ + blt.w ba │ │ │ │ │ ldr.w r2, [r4, #164] @ 0xa4 │ │ │ │ │ ubfx r2, r2, #0, #20 │ │ │ │ │ - b.n de │ │ │ │ │ - ldr r2, [r0, #0] │ │ │ │ │ - cmp r2, #1 │ │ │ │ │ - bne.n f4 │ │ │ │ │ - ldr r2, [r5, #20] │ │ │ │ │ - subs r2, #9 │ │ │ │ │ - cmp r2, #7 │ │ │ │ │ - bhi.n f4 │ │ │ │ │ - b.n 88 │ │ │ │ │ + b.n 1cc │ │ │ │ │ + nop │ │ │ │ │ nop.w │ │ │ │ │ .word 0xf01b866e │ │ │ │ │ .word 0x400921f9 │ │ │ │ │ - .word 0x000000bc │ │ │ │ │ + .word 0x000000e8 │ │ │ │ │ R_ARM_REL32 apply │ │ │ │ │ - .word 0x000000be │ │ │ │ │ + .word 0x000000ea │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ │ │ │ │ │ -00000200 : │ │ │ │ │ +00000250 : │ │ │ │ │ destroy(): │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_destroy_internal │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000208 : │ │ │ │ │ +00000258 : │ │ │ │ │ awake(): │ │ │ │ │ ldr r0, [r0, #64] @ 0x40 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_awake │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000210 : │ │ │ │ │ +00000260 : │ │ │ │ │ fftw_rdft_vrank_geq1_register(): │ │ │ │ │ - push {r3, r4, r5, r6, r7, lr} │ │ │ │ │ + strd r3, r4, [sp, #-24]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - ldr r7, [pc, #60] @ (254 ) │ │ │ │ │ - ldr r6, [pc, #64] @ (258 ) │ │ │ │ │ - movs r0, #20 │ │ │ │ │ + mov.w r0, #20 │ │ │ │ │ + strd r5, r6, [sp, #8] │ │ │ │ │ + mov.w r5, #2 │ │ │ │ │ + strd r7, lr, [sp, #16] │ │ │ │ │ + ldr r7, [pc, #72] @ (2c0 ) │ │ │ │ │ + ldr r6, [pc, #72] @ (2c4 ) │ │ │ │ │ add r7, pc │ │ │ │ │ - movs r5, #2 │ │ │ │ │ mov r1, r7 │ │ │ │ │ - add r6, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ - movs r3, #1 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - str r3, [r0, #8] │ │ │ │ │ - str r6, [r0, #12] │ │ │ │ │ - str r5, [r0, #16] │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + add r6, pc │ │ │ │ │ mov r0, r4 │ │ │ │ │ + strd r3, r6, [r1, #8] │ │ │ │ │ + str r5, [r1, #16] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ mov r1, r7 │ │ │ │ │ - movs r0, #20 │ │ │ │ │ + mov.w r0, #20 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ - mov.w r3, #4294967295 @ 0xffffffff │ │ │ │ │ - str r5, [r0, #16] │ │ │ │ │ mov r1, r0 │ │ │ │ │ - strd r3, r6, [r0, #8] │ │ │ │ │ + mov.w r3, #4294967295 @ 0xffffffff │ │ │ │ │ + ldrd r7, lr, [sp, #16] │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, r6, r7, lr} │ │ │ │ │ + strd r3, r6, [r1, #8] │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + str r5, [r1, #16] │ │ │ │ │ + ldrd r5, r6, [sp, #8] │ │ │ │ │ + add sp, #24 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_solver_register │ │ │ │ │ - .word 0x00000036 │ │ │ │ │ + .word 0x00000042 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ │ │ - .word 0x00000034 │ │ │ │ │ + .word 0x00000038 │ │ │ │ │ R_ARM_REL32 .rodata │ │ │ ├── vrank3-transpose.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 8176 (bytes into file) │ │ │ │ │ + Start of section headers: 8764 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 15 │ │ │ │ │ Section header string table index: 14 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ -There are 15 section headers, starting at offset 0x1ff0: │ │ │ │ │ +There are 15 section headers, starting at offset 0x223c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 001430 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 001b60 000368 08 I 12 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 001464 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 001464 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 001464 000057 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 0014bb 000010 00 WA 0 0 4 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 001ec8 000020 08 I 12 6 4 │ │ │ │ │ - [ 8] .data.rel.ro.local PROGBITS 00000000 0014cb 000048 00 WA 0 0 4 │ │ │ │ │ - [ 9] .rel.data.rel.ro.local REL 00000000 001ee8 000080 08 I 12 8 4 │ │ │ │ │ - [10] .note.GNU-stack PROGBITS 00000000 001513 000000 00 0 0 1 │ │ │ │ │ - [11] .ARM.attributes ARM_ATTRIBUTES 00000000 001513 000033 00 0 0 1 │ │ │ │ │ - [12] .symtab SYMTAB 00000000 001548 0003c0 10 13 35 4 │ │ │ │ │ - [13] .strtab STRTAB 00000000 001908 000257 00 0 0 1 │ │ │ │ │ - [14] .shstrtab STRTAB 00000000 001f68 000087 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 001684 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 001db4 000360 08 I 12 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0016b8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0016b8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0016b8 000057 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 00170f 000010 00 WA 0 0 4 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 002114 000020 08 I 12 6 4 │ │ │ │ │ + [ 8] .data.rel.ro.local PROGBITS 00000000 00171f 000048 00 WA 0 0 4 │ │ │ │ │ + [ 9] .rel.data.rel.ro.local REL 00000000 002134 000080 08 I 12 8 4 │ │ │ │ │ + [10] .note.GNU-stack PROGBITS 00000000 001767 000000 00 0 0 1 │ │ │ │ │ + [11] .ARM.attributes ARM_ATTRIBUTES 00000000 001767 000033 00 0 0 1 │ │ │ │ │ + [12] .symtab SYMTAB 00000000 00179c 0003c0 10 13 35 4 │ │ │ │ │ + [13] .strtab STRTAB 00000000 001b5c 000257 00 0 0 1 │ │ │ │ │ + [14] .shstrtab STRTAB 00000000 0021b4 000087 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,35 +1,35 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 60 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 42 FUNC LOCAL DEFAULT 1 mkcldrn_toms513 │ │ │ │ │ + 1: 00000001 48 FUNC LOCAL DEFAULT 1 mkcldrn_toms513 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 3: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 4: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 .LC0 │ │ │ │ │ 6: 0000000c 0 NOTYPE LOCAL DEFAULT 5 .LC1 │ │ │ │ │ 7: 00000014 0 NOTYPE LOCAL DEFAULT 5 .LC2 │ │ │ │ │ - 8: 0000002d 112 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ - 9: 00000088 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 10: 0000009c 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 11: 0000009d 26 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ - 12: 000000b9 32 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ - 13: 000000d9 1286 FUNC LOCAL DEFAULT 1 apply_toms513 │ │ │ │ │ - 14: 000005e1 222 FUNC LOCAL DEFAULT 1 apply_gcd │ │ │ │ │ - 15: 000006c1 412 FUNC LOCAL DEFAULT 1 apply_cut │ │ │ │ │ - 16: 0000085d 352 FUNC LOCAL DEFAULT 1 mkcldrn_gcd │ │ │ │ │ - 17: 000009bd 304 FUNC LOCAL DEFAULT 1 applicable_cut │ │ │ │ │ - 18: 00000aed 642 FUNC LOCAL DEFAULT 1 mkcldrn_cut │ │ │ │ │ - 19: 00000d71 240 FUNC LOCAL DEFAULT 1 applicable_gcd │ │ │ │ │ - 20: 00000e61 226 FUNC LOCAL DEFAULT 1 applicable_toms513 │ │ │ │ │ - 21: 00000f45 1216 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ - 22: 00001400 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 23: 00001404 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 24: 0000142c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 00000031 124 FUNC LOCAL DEFAULT 1 print │ │ │ │ │ + 9: 00000098 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 10: 000000ac 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 11: 000000ad 30 FUNC LOCAL DEFAULT 1 destroy │ │ │ │ │ + 12: 000000cd 44 FUNC LOCAL DEFAULT 1 awake │ │ │ │ │ + 13: 000000f9 1342 FUNC LOCAL DEFAULT 1 apply_toms513 │ │ │ │ │ + 14: 00000639 268 FUNC LOCAL DEFAULT 1 apply_gcd │ │ │ │ │ + 15: 00000745 464 FUNC LOCAL DEFAULT 1 apply_cut │ │ │ │ │ + 16: 00000915 396 FUNC LOCAL DEFAULT 1 mkcldrn_gcd │ │ │ │ │ + 17: 00000aa1 390 FUNC LOCAL DEFAULT 1 applicable_cut │ │ │ │ │ + 18: 00000c29 690 FUNC LOCAL DEFAULT 1 mkcldrn_cut │ │ │ │ │ + 19: 00000edd 306 FUNC LOCAL DEFAULT 1 applicable_gcd │ │ │ │ │ + 20: 00001011 288 FUNC LOCAL DEFAULT 1 applicable_toms513 │ │ │ │ │ + 21: 00001131 1288 FUNC LOCAL DEFAULT 1 mkplan │ │ │ │ │ + 22: 00001634 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 23: 00001638 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 24: 00001680 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 25: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 26: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 27: 00000000 16 OBJECT LOCAL DEFAULT 6 padt.0 │ │ │ │ │ 28: 00000000 0 SECTION LOCAL DEFAULT 8 .data.rel.ro.local │ │ │ │ │ 29: 00000000 0 NOTYPE LOCAL DEFAULT 8 $d │ │ │ │ │ 30: 00000000 12 OBJECT LOCAL DEFAULT 8 adts.2 │ │ │ │ │ 31: 00000038 16 OBJECT LOCAL DEFAULT 8 adt_gcd │ │ │ │ │ @@ -53,11 +53,11 @@ │ │ │ │ │ 49: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_madd2 │ │ │ │ │ 50: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_imax │ │ │ │ │ 51: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_iabs │ │ │ │ │ 52: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_imin │ │ │ │ │ 53: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mkplan_rdft │ │ │ │ │ 54: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_ops_zero │ │ │ │ │ 55: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_tensor_sz │ │ │ │ │ - 56: 00001405 44 FUNC GLOBAL DEFAULT 1 fftw_rdft_vrank3_transpose_register │ │ │ │ │ + 56: 00001639 76 FUNC GLOBAL DEFAULT 1 fftw_rdft_vrank3_transpose_register │ │ │ │ │ 57: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_mksolver │ │ │ │ │ 58: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_solver_register │ │ │ │ │ 59: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_solve │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,138 +1,137 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x1b60 contains 109 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x1db4 contains 108 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000088 00000503 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ -0000008c 00000603 R_ARM_REL32 0000000c .LC1 │ │ │ │ │ -00000090 00000603 R_ARM_REL32 0000000c .LC1 │ │ │ │ │ -00000094 00000603 R_ARM_REL32 0000000c .LC1 │ │ │ │ │ -00000098 00000703 R_ARM_REL32 00000014 .LC2 │ │ │ │ │ -000000a2 0000230a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000000a8 0000230a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000000c0 0000240a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -000000c8 0000240a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ -000000f0 0000250a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -00000122 0000260a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ -00000142 0000270a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -000001ee 0000280a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -000002a2 0000280a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -00000342 0000280a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -000003ba 00002a0a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ -000003cc 00002a0a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ -00000400 00002a0a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ -00000418 00002a0a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ -0000042e 0000280a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -00000474 00002a0a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ -00000484 00002a0a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ -00000510 0000280a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -00000586 0000280a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -000005fe 0000250a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -0000063e 00002a0a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ -00000678 00002a0a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ -000006de 0000250a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -00000720 00002b0a R_ARM_THM_CALL 00000000 memmove │ │ │ │ │ -0000075e 00002a0a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ -000007b2 00002a0a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ -000007ea 00002b0a R_ARM_THM_CALL 00000000 memmove │ │ │ │ │ -00000828 00002a0a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ -00000878 0000250a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -000008ae 00002c0a R_ARM_THM_CALL 00000000 fftw_mktensor_3d │ │ │ │ │ -000008b8 00002d0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_0_d │ │ │ │ │ -000008c0 00002e0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -000008d6 00002f0a R_ARM_THM_CALL 00000000 fftw_ops_madd │ │ │ │ │ -00000916 00002c0a R_ARM_THM_CALL 00000000 fftw_mktensor_3d │ │ │ │ │ -00000920 00002d0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_0_d │ │ │ │ │ -00000928 00002e0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -0000093a 0000300a R_ARM_THM_CALL 00000000 fftw_ops_add2 │ │ │ │ │ -0000095c 00002c0a R_ARM_THM_CALL 00000000 fftw_mktensor_3d │ │ │ │ │ -00000966 00002d0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_0_d │ │ │ │ │ -0000096e 00002e0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -0000097e 0000310a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ -000009a2 0000290a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -000009b0 0000290a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -00000a26 0000320a R_ARM_THM_CALL 00000000 fftw_imax │ │ │ │ │ -00000a2e 0000330a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -00000a8a 0000340a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ -00000a92 0000330a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -00000aae 0000270a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -00000ac0 0000340a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ -00000ac8 0000340a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ -00000ae2 0000270a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -00000b0c 0000320a R_ARM_THM_CALL 00000000 fftw_imax │ │ │ │ │ -00000b14 0000330a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -00000b26 0000340a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ -00000b56 0000250a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -00000b7a 00002c0a R_ARM_THM_CALL 00000000 fftw_mktensor_3d │ │ │ │ │ -00000b8a 00002d0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_0_d │ │ │ │ │ -00000b92 00002e0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -00000ba4 0000300a R_ARM_THM_CALL 00000000 fftw_ops_add2 │ │ │ │ │ -00000bbc 00002c0a R_ARM_THM_CALL 00000000 fftw_mktensor_3d │ │ │ │ │ -00000bc8 00002d0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_0_d │ │ │ │ │ -00000bd0 00002e0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -00000be4 0000300a R_ARM_THM_CALL 00000000 fftw_ops_add2 │ │ │ │ │ -00000c08 00002c0a R_ARM_THM_CALL 00000000 fftw_mktensor_3d │ │ │ │ │ -00000c1a 00002d0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_0_d │ │ │ │ │ -00000c22 00002e0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ -00000c30 0000300a R_ARM_THM_CALL 00000000 fftw_ops_add2 │ │ │ │ │ -00000c74 0000290a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -00000c82 0000290a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ -00000c94 0000340a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ -00000c9c 0000330a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -00000cb8 0000270a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -00000cf0 0000270a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -00000d14 0000340a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ -00000d2e 0000340a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ -00000d5e 0000250a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ -00000db0 0000270a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -00000dc0 0000280a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -00000e52 0000270a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -00000f36 0000270a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -00001088 0000350a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ -000010c8 0000270a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -000010e0 0000280a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -000010ec 0000280a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ -000010fe 0000360a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ -00001126 0000230a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ -00001250 0000330a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -0000125e 0000330a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -0000126a 0000330a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ -00001272 0000320a R_ARM_THM_CALL 00000000 fftw_imax │ │ │ │ │ -00001368 0000370a R_ARM_THM_CALL 00000000 fftw_tensor_sz │ │ │ │ │ -0000138c 0000270a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -000013b8 0000270a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -000013e8 0000270a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ -00001400 00001903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00001418 0000390a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ -00001422 00003a0a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ -0000142c 00001c03 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ -000000b2 0000231e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ -000000d4 0000241e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ -000003a2 0000291e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ │ -00000688 0000291e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ │ -0000076a 0000291e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ │ -0000083e 0000291e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ │ +00000098 00000503 R_ARM_REL32 00000000 .LC0 │ │ │ │ │ +0000009c 00000603 R_ARM_REL32 0000000c .LC1 │ │ │ │ │ +000000a0 00000603 R_ARM_REL32 0000000c .LC1 │ │ │ │ │ +000000a4 00000603 R_ARM_REL32 0000000c .LC1 │ │ │ │ │ +000000a8 00000703 R_ARM_REL32 00000014 .LC2 │ │ │ │ │ +000000b4 0000230a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000000ba 0000230a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000000da 0000240a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +000000e2 0000240a R_ARM_THM_CALL 00000000 fftw_plan_awake │ │ │ │ │ +00000122 0000250a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +00000158 0000260a R_ARM_THM_CALL 00000000 memset │ │ │ │ │ +0000017c 0000270a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +00000230 0000280a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +000002de 0000280a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +00000382 0000280a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +00000408 00002a0a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ +0000041a 00002a0a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ +0000044e 00002a0a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ +00000466 00002a0a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ +00000478 0000280a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +000004c4 00002a0a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ +000004d4 00002a0a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ +00000562 0000280a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +000005da 0000280a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +0000066e 0000250a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +000006aa 00002a0a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ +000006e8 00002a0a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ +00000772 0000250a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +000007bc 00002b0a R_ARM_THM_CALL 00000000 memmove │ │ │ │ │ +000007fc 00002a0a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ +00000866 00002a0a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ +000008a4 00002b0a R_ARM_THM_CALL 00000000 memmove │ │ │ │ │ +000008e8 00002a0a R_ARM_THM_CALL 00000000 memcpy │ │ │ │ │ +0000093e 0000250a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +0000097a 00002c0a R_ARM_THM_CALL 00000000 fftw_mktensor_3d │ │ │ │ │ +00000984 00002d0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_0_d │ │ │ │ │ +0000098c 00002e0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +000009a2 00002f0a R_ARM_THM_CALL 00000000 fftw_ops_madd │ │ │ │ │ +000009e6 00002c0a R_ARM_THM_CALL 00000000 fftw_mktensor_3d │ │ │ │ │ +000009f0 00002d0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_0_d │ │ │ │ │ +000009f8 00002e0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +00000a0c 0000300a R_ARM_THM_CALL 00000000 fftw_ops_add2 │ │ │ │ │ +00000a2e 00002c0a R_ARM_THM_CALL 00000000 fftw_mktensor_3d │ │ │ │ │ +00000a38 00002d0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_0_d │ │ │ │ │ +00000a40 00002e0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +00000a50 0000310a R_ARM_THM_CALL 00000000 fftw_ops_madd2 │ │ │ │ │ +00000a74 0000290a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +00000a80 0000290a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +00000b3e 0000320a R_ARM_THM_CALL 00000000 fftw_imax │ │ │ │ │ +00000b4c 0000330a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +00000bbc 0000340a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ +00000bc6 0000330a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +00000be4 0000270a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +00000bf6 0000340a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ +00000c00 0000340a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ +00000c1a 0000270a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +00000c56 0000320a R_ARM_THM_CALL 00000000 fftw_imax │ │ │ │ │ +00000c5e 0000330a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +00000c70 0000340a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ +00000ca4 0000250a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +00000cca 00002c0a R_ARM_THM_CALL 00000000 fftw_mktensor_3d │ │ │ │ │ +00000cda 00002d0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_0_d │ │ │ │ │ +00000ce2 00002e0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +00000cf6 0000300a R_ARM_THM_CALL 00000000 fftw_ops_add2 │ │ │ │ │ +00000d10 00002c0a R_ARM_THM_CALL 00000000 fftw_mktensor_3d │ │ │ │ │ +00000d1c 00002d0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_0_d │ │ │ │ │ +00000d24 00002e0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +00000d3a 0000300a R_ARM_THM_CALL 00000000 fftw_ops_add2 │ │ │ │ │ +00000d60 00002c0a R_ARM_THM_CALL 00000000 fftw_mktensor_3d │ │ │ │ │ +00000d72 00002d0a R_ARM_THM_CALL 00000000 fftw_mkproblem_rdft_0_d │ │ │ │ │ +00000d7a 00002e0a R_ARM_THM_CALL 00000000 fftw_mkplan_d │ │ │ │ │ +00000d8a 0000300a R_ARM_THM_CALL 00000000 fftw_ops_add2 │ │ │ │ │ +00000dd0 0000290a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +00000ddc 0000290a R_ARM_THM_CALL 00000000 fftw_ifree │ │ │ │ │ +00000e02 0000340a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ +00000e0a 0000330a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +00000e26 0000270a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +00000e5e 0000270a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +00000e82 0000340a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ +00000e9c 0000340a R_ARM_THM_CALL 00000000 fftw_imin │ │ │ │ │ +00000ecc 0000250a R_ARM_THM_CALL 00000000 fftw_malloc_plain │ │ │ │ │ +00000f3a 0000270a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +00000f4e 0000280a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +00001002 0000270a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +00001124 0000270a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +000012ac 0000350a R_ARM_THM_CALL 00000000 fftw_mkplan_rdft │ │ │ │ │ +000012e8 0000270a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +000012fe 0000280a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +0000130a 0000280a R_ARM_THM_CALL 00000000 __aeabi_idiv │ │ │ │ │ +0000131a 0000360a R_ARM_THM_CALL 00000000 fftw_ops_zero │ │ │ │ │ +00001340 0000230a R_ARM_THM_CALL 00000000 fftw_plan_destroy_internal │ │ │ │ │ +0000147e 0000330a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +0000148c 0000330a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +0000149a 0000330a R_ARM_THM_CALL 00000000 fftw_iabs │ │ │ │ │ +000014a2 0000320a R_ARM_THM_CALL 00000000 fftw_imax │ │ │ │ │ +00001592 0000370a R_ARM_THM_CALL 00000000 fftw_tensor_sz │ │ │ │ │ +000015b6 0000270a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +000015e6 0000270a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +00001618 0000270a R_ARM_THM_CALL 00000000 __aeabi_idivmod │ │ │ │ │ +00001634 00001903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +0000165c 0000390a R_ARM_THM_CALL 00000000 fftw_mksolver │ │ │ │ │ +0000166a 00003a0a R_ARM_THM_CALL 00000000 fftw_solver_register │ │ │ │ │ +00001680 00001c03 R_ARM_REL32 00000000 .data.rel.ro.local │ │ │ │ │ +000000c6 0000231e R_ARM_THM_JUMP24 00000000 fftw_plan_destroy_internal │ │ │ │ │ +000000f4 0000241e R_ARM_THM_JUMP24 00000000 fftw_plan_awake │ │ │ │ │ +000003f0 0000291e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ │ +0000070c 0000291e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ │ +0000081a 0000291e R_ARM_THM_JUMP24 00000000 fftw_ifree │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x1ec8 contains 4 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x2114 contains 4 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00003b02 R_ARM_ABS32 00000000 fftw_rdft_solve │ │ │ │ │ -00000004 00000c02 R_ARM_ABS32 000000b9 awake │ │ │ │ │ -00000008 00000802 R_ARM_ABS32 0000002d print │ │ │ │ │ -0000000c 00000b02 R_ARM_ABS32 0000009d destroy │ │ │ │ │ +00000004 00000c02 R_ARM_ABS32 000000cd awake │ │ │ │ │ +00000008 00000802 R_ARM_ABS32 00000031 print │ │ │ │ │ +0000000c 00000b02 R_ARM_ABS32 000000ad destroy │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x1ee8 contains 16 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x2134 contains 16 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00001c02 R_ARM_ABS32 00000000 .data.rel.ro.local │ │ │ │ │ 00000004 00001c02 R_ARM_ABS32 00000000 .data.rel.ro.local │ │ │ │ │ 00000008 00001c02 R_ARM_ABS32 00000000 .data.rel.ro.local │ │ │ │ │ -00000010 00001502 R_ARM_ABS32 00000f45 mkplan │ │ │ │ │ -00000018 00000d02 R_ARM_ABS32 000000d9 apply_toms513 │ │ │ │ │ -0000001c 00001402 R_ARM_ABS32 00000e61 applicable_toms513 │ │ │ │ │ +00000010 00001502 R_ARM_ABS32 00001131 mkplan │ │ │ │ │ +00000018 00000d02 R_ARM_ABS32 000000f9 apply_toms513 │ │ │ │ │ +0000001c 00001402 R_ARM_ABS32 00001011 applicable_toms513 │ │ │ │ │ 00000020 00000102 R_ARM_ABS32 00000001 mkcldrn_toms513 │ │ │ │ │ 00000024 00000302 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ -00000028 00000f02 R_ARM_ABS32 000006c1 apply_cut │ │ │ │ │ -0000002c 00001102 R_ARM_ABS32 000009bd applicable_cut │ │ │ │ │ -00000030 00001202 R_ARM_ABS32 00000aed mkcldrn_cut │ │ │ │ │ +00000028 00000f02 R_ARM_ABS32 00000745 apply_cut │ │ │ │ │ +0000002c 00001102 R_ARM_ABS32 00000aa1 applicable_cut │ │ │ │ │ +00000030 00001202 R_ARM_ABS32 00000c29 mkcldrn_cut │ │ │ │ │ 00000034 00000302 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ -00000038 00000e02 R_ARM_ABS32 000005e1 apply_gcd │ │ │ │ │ -0000003c 00001302 R_ARM_ABS32 00000d71 applicable_gcd │ │ │ │ │ -00000040 00001002 R_ARM_ABS32 0000085d mkcldrn_gcd │ │ │ │ │ +00000038 00000e02 R_ARM_ABS32 00000639 apply_gcd │ │ │ │ │ +0000003c 00001302 R_ARM_ABS32 00000edd applicable_gcd │ │ │ │ │ +00000040 00001002 R_ARM_ABS32 00000915 mkcldrn_gcd │ │ │ │ │ 00000044 00000302 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,10 +1,8 @@ │ │ │ │ │ - I F#hyD │ │ │ │ │ -8F*F1F/D │ │ │ │ │ -7 F*F1F,D │ │ │ │ │ +G I F#hyD │ │ │ │ │ (%s-%Dx%D%v │ │ │ │ │ rdft-transpose-toms513 │ │ │ │ │ rdft-transpose-cut │ │ │ │ │ rdft-transpose-gcd │ │ │ │ │ mkcldrn_toms513 │ │ │ │ │ apply_toms513 │ │ │ │ │ apply_gcd │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,211 +1,218 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ mkcldrn_toms513(): │ │ │ │ │ - ldrd r3, r1, [r2, #64] @ 0x40 │ │ │ │ │ - movs r0, #1 │ │ │ │ │ vldr d6, [r2, #32] │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ + ldrd r3, r1, [r2, #64] @ 0x40 │ │ │ │ │ mul.w r3, r1, r3 │ │ │ │ │ ldr r1, [r2, #72] @ 0x48 │ │ │ │ │ - adds r1, #30 │ │ │ │ │ + add.w r1, r1, #30 │ │ │ │ │ mul.w r3, r1, r3 │ │ │ │ │ - lsls r3, r3, #1 │ │ │ │ │ + mov.w r3, r3, lsl #1 │ │ │ │ │ vmov s15, r3 │ │ │ │ │ vcvt.f64.s32 d7, s15 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vstr d6, [r2, #32] │ │ │ │ │ bx lr │ │ │ │ │ - nop │ │ │ │ │ │ │ │ │ │ -0000002c : │ │ │ │ │ +00000030 : │ │ │ │ │ print(): │ │ │ │ │ ldr r3, [r0, #112] @ 0x70 │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ mov r4, r1 │ │ │ │ │ mov r5, r0 │ │ │ │ │ - ldr r3, [r3, #8] │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ sub sp, #8 │ │ │ │ │ - ldr r1, [pc, #76] @ (88 ) │ │ │ │ │ - ldr r2, [r3, #12] │ │ │ │ │ + ldr r1, [pc, #84] @ (98 ) │ │ │ │ │ + ldr r3, [r3, #8] │ │ │ │ │ add r1, pc │ │ │ │ │ + ldr r2, [r3, #12] │ │ │ │ │ ldr r3, [r0, #72] @ 0x48 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ ldr r3, [r0, #68] @ 0x44 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ + ldr r6, [r4, #0] │ │ │ │ │ ldr r3, [r0, #64] @ 0x40 │ │ │ │ │ mov r0, r4 │ │ │ │ │ - ldr r6, [r4, #0] │ │ │ │ │ blx r6 │ │ │ │ │ ldr r2, [r5, #100] @ 0x64 │ │ │ │ │ - cbz r2, 5c │ │ │ │ │ - ldr r1, [pc, #56] @ (8c ) │ │ │ │ │ + cbz r2, 66 │ │ │ │ │ + ldr r1, [pc, #60] @ (9c ) │ │ │ │ │ mov r0, r4 │ │ │ │ │ ldr r3, [r4, #0] │ │ │ │ │ add r1, pc │ │ │ │ │ blx r3 │ │ │ │ │ ldr r2, [r5, #104] @ 0x68 │ │ │ │ │ - cbz r2, 6a │ │ │ │ │ - ldr r1, [pc, #44] @ (90 ) │ │ │ │ │ + cbz r2, 74 │ │ │ │ │ + ldr r1, [pc, #52] @ (a0 ) │ │ │ │ │ mov r0, r4 │ │ │ │ │ ldr r3, [r4, #0] │ │ │ │ │ add r1, pc │ │ │ │ │ blx r3 │ │ │ │ │ ldr r2, [r5, #108] @ 0x6c │ │ │ │ │ - cbz r2, 78 │ │ │ │ │ - ldr r1, [pc, #36] @ (94 ) │ │ │ │ │ + cbz r2, 82 │ │ │ │ │ + ldr r1, [pc, #40] @ (a4 ) │ │ │ │ │ mov r0, r4 │ │ │ │ │ ldr r3, [r4, #0] │ │ │ │ │ add r1, pc │ │ │ │ │ blx r3 │ │ │ │ │ - ldr r1, [pc, #28] @ (98 ) │ │ │ │ │ + ldr r1, [pc, #36] @ (a8 ) │ │ │ │ │ mov r0, r4 │ │ │ │ │ ldr r3, [r4, #0] │ │ │ │ │ add r1, pc │ │ │ │ │ add sp, #8 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, lr, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ bx r3 │ │ │ │ │ - .word 0x00000048 │ │ │ │ │ + .word 0x00000050 │ │ │ │ │ R_ARM_REL32 .LC0 │ │ │ │ │ - .word 0x00000030 │ │ │ │ │ + .word 0x00000036 │ │ │ │ │ R_ARM_REL32 .LC1 │ │ │ │ │ - .word 0x00000026 │ │ │ │ │ + .word 0x0000002c │ │ │ │ │ R_ARM_REL32 .LC1 │ │ │ │ │ - .word 0x0000001c │ │ │ │ │ + .word 0x00000022 │ │ │ │ │ R_ARM_REL32 .LC1 │ │ │ │ │ - .word 0x00000016 │ │ │ │ │ + .word 0x0000001c │ │ │ │ │ R_ARM_REL32 .LC2 │ │ │ │ │ │ │ │ │ │ -0000009c : │ │ │ │ │ +000000ac : │ │ │ │ │ destroy(): │ │ │ │ │ - push {r4, lr} │ │ │ │ │ + strd r4, lr, [sp, #-8]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ ldr r0, [r0, #108] @ 0x6c │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ ldr r0, [r4, #104] @ 0x68 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ ldr r0, [r4, #100] @ 0x64 │ │ │ │ │ - ldmia.w sp!, {r4, lr} │ │ │ │ │ + ldrd r4, lr, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_destroy_internal │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000000b8 : │ │ │ │ │ +000000cc : │ │ │ │ │ awake(): │ │ │ │ │ - push {r3, r4, r5, lr} │ │ │ │ │ + strd r3, r4, [sp, #-16]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ - mov r5, r1 │ │ │ │ │ ldr r0, [r0, #100] @ 0x64 │ │ │ │ │ + strd r5, lr, [sp, #8] │ │ │ │ │ + mov r5, r1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ ldr r0, [r4, #104] @ 0x68 │ │ │ │ │ mov r1, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_awake │ │ │ │ │ ldr r0, [r4, #108] @ 0x6c │ │ │ │ │ mov r1, r5 │ │ │ │ │ - ldmia.w sp!, {r3, r4, r5, lr} │ │ │ │ │ + ldrd r3, r4, [sp] │ │ │ │ │ + ldrd r5, lr, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_plan_awake │ │ │ │ │ │ │ │ │ │ -000000d8 : │ │ │ │ │ +000000f8 : │ │ │ │ │ apply_toms513(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + ldrd r5, r6, [r0, #64] @ 0x40 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r8, r1 │ │ │ │ │ - ldr r5, [r0, #64] @ 0x40 │ │ │ │ │ - ldr r7, [r0, #72] @ 0x48 │ │ │ │ │ + ldrd r7, r0, [r0, #72] @ 0x48 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #60 @ 0x3c │ │ │ │ │ - ldr r6, [r0, #68] @ 0x44 │ │ │ │ │ - ldr r0, [r0, #76] @ 0x4c │ │ │ │ │ - str r5, [sp, #8] │ │ │ │ │ + strd r6, r5, [sp, #4] │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ str r7, [sp, #40] @ 0x28 │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ - str r6, [sp, #4] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ - adds r3, r5, r6 │ │ │ │ │ + add.w r3, r5, r6 │ │ │ │ │ add.w sl, r0, r7, lsl #4 │ │ │ │ │ mov r4, r0 │ │ │ │ │ add.w r2, r3, r3, lsr #31 │ │ │ │ │ cmp r3, #1 │ │ │ │ │ mov.w fp, r2, asr #1 │ │ │ │ │ mov.w r2, r7, lsl #3 │ │ │ │ │ str r2, [sp, #24] │ │ │ │ │ add r2, r0 │ │ │ │ │ mov r7, r2 │ │ │ │ │ mul.w r2, r6, r5 │ │ │ │ │ - str r2, [sp, #12] │ │ │ │ │ add.w r5, r2, #4294967295 @ 0xffffffff │ │ │ │ │ - ble.n 126 │ │ │ │ │ + str r2, [sp, #12] │ │ │ │ │ + ble.n 15c │ │ │ │ │ mov r2, fp │ │ │ │ │ - movs r1, #0 │ │ │ │ │ + mov.w r1, #0 │ │ │ │ │ mov r0, sl │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memset │ │ │ │ │ ldrd r3, r2, [sp, #4] │ │ │ │ │ cmp r3, #2 │ │ │ │ │ it gt │ │ │ │ │ cmpgt r2, #2 │ │ │ │ │ itt le │ │ │ │ │ movle r3, #2 │ │ │ │ │ strle r3, [sp, #36] @ 0x24 │ │ │ │ │ - ble.n 152 │ │ │ │ │ - subs r0, r3, #1 │ │ │ │ │ + ble.n 18e │ │ │ │ │ + add.w r0, r3, #4294967295 @ 0xffffffff │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ - subs r1, r3, #1 │ │ │ │ │ + add.w r1, r3, #4294967295 @ 0xffffffff │ │ │ │ │ mov r6, r1 │ │ │ │ │ mov r1, r6 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ mov r0, r6 │ │ │ │ │ mov r6, r1 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - bne.n 140 │ │ │ │ │ - adds r3, r0, #1 │ │ │ │ │ + bne.n 17a │ │ │ │ │ + add.w r3, r0, #1 │ │ │ │ │ str r3, [sp, #36] @ 0x24 │ │ │ │ │ - ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ - movs r6, #1 │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ + mov.w r6, #1 │ │ │ │ │ str r4, [sp, #32] │ │ │ │ │ - cmp r2, #1 │ │ │ │ │ + ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ str r3, [sp, #44] @ 0x2c │ │ │ │ │ sub.w r3, r5, r6 │ │ │ │ │ str r4, [sp, #52] @ 0x34 │ │ │ │ │ mov r4, r7 │ │ │ │ │ - beq.w 2de │ │ │ │ │ + cmp r2, #1 │ │ │ │ │ + beq.w 31a │ │ │ │ │ cmp r2, #2 │ │ │ │ │ - bne.w 3a6 │ │ │ │ │ + bne.w 3f4 │ │ │ │ │ add.w r2, r8, r6, lsl #4 │ │ │ │ │ ldr r7, [sp, #32] │ │ │ │ │ mov r9, r3 │ │ │ │ │ ldrd r0, r1, [r2] │ │ │ │ │ strd r0, r1, [r7] │ │ │ │ │ ldrd r0, r1, [r2, #8] │ │ │ │ │ add.w r2, r8, r3, lsl #4 │ │ │ │ │ strd r0, r1, [r7, #8] │ │ │ │ │ mov r7, r6 │ │ │ │ │ ldrd r0, r1, [r2] │ │ │ │ │ strd r0, r1, [r4] │ │ │ │ │ ldrd r0, r1, [r2, #8] │ │ │ │ │ - strd r0, r1, [r4, #8] │ │ │ │ │ ldr r2, [sp, #4] │ │ │ │ │ + strd r0, r1, [r4, #8] │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - bne.w 4be │ │ │ │ │ - str r4, [sp, #16] │ │ │ │ │ + bne.w 50c │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ + str r4, [sp, #16] │ │ │ │ │ ldr r4, [sp, #36] @ 0x24 │ │ │ │ │ - b.n 1ea │ │ │ │ │ + b.n 228 │ │ │ │ │ ldr r3, [sp, #0] │ │ │ │ │ cmp r3, r0 │ │ │ │ │ - beq.w 4b2 │ │ │ │ │ + beq.w 500 │ │ │ │ │ add.w ip, r8, r0, lsl #4 │ │ │ │ │ add.w r7, r8, r7, lsl #4 │ │ │ │ │ add.w r9, r8, r9, lsl #4 │ │ │ │ │ vldr d7, [ip] │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ vldr d7, [ip, #8] │ │ │ │ │ vstr d7, [r7, #8] │ │ │ │ │ @@ -214,76 +221,74 @@ │ │ │ │ │ vstr d7, [r9] │ │ │ │ │ vldr d7, [r7, #8] │ │ │ │ │ mov r7, r0 │ │ │ │ │ vstr d7, [r9, #8] │ │ │ │ │ mov r9, r1 │ │ │ │ │ ldr r1, [sp, #12] │ │ │ │ │ mov r0, r7 │ │ │ │ │ + add.w r4, r4, #2 │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ cmp fp, r7 │ │ │ │ │ mls r0, r5, r0, r7 │ │ │ │ │ - add.w r4, r4, #2 │ │ │ │ │ itt gt │ │ │ │ │ movgt r3, #1 │ │ │ │ │ strbgt.w r3, [sl, r7] │ │ │ │ │ cmp fp, r9 │ │ │ │ │ sub.w r1, r5, r0 │ │ │ │ │ itt gt │ │ │ │ │ movgt r3, #1 │ │ │ │ │ strbgt.w r3, [sl, r9] │ │ │ │ │ cmp r6, r0 │ │ │ │ │ - bne.n 1ae │ │ │ │ │ + bne.n 1ec │ │ │ │ │ str r4, [sp, #36] @ 0x24 │ │ │ │ │ ldr r4, [sp, #16] │ │ │ │ │ - ldr r3, [sp, #32] │ │ │ │ │ add.w r7, r8, r7, lsl #4 │ │ │ │ │ + ldr r3, [sp, #32] │ │ │ │ │ add.w r9, r8, r9, lsl #4 │ │ │ │ │ ldrd r0, r1, [r3] │ │ │ │ │ strd r0, r1, [r7] │ │ │ │ │ ldrd r0, r1, [r3, #8] │ │ │ │ │ strd r0, r1, [r7, #8] │ │ │ │ │ ldrd r0, r1, [r4] │ │ │ │ │ strd r0, r1, [r9] │ │ │ │ │ ldrd r0, r1, [r4, #8] │ │ │ │ │ strd r0, r1, [r9, #8] │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ ldr r2, [sp, #36] @ 0x24 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - ble.w 398 │ │ │ │ │ - mov r3, r6 │ │ │ │ │ - ldr.w r9, [sp, #8] │ │ │ │ │ - ldr r6, [sp, #4] │ │ │ │ │ + ble.w 3d4 │ │ │ │ │ ldr r7, [sp, #44] @ 0x2c │ │ │ │ │ - str r4, [sp, #16] │ │ │ │ │ + mov r3, r6 │ │ │ │ │ + strd r4, r8, [sp, #16] │ │ │ │ │ mov r4, r5 │ │ │ │ │ - str.w r8, [sp, #20] │ │ │ │ │ + ldrd r6, r9, [sp, #4] │ │ │ │ │ add r7, r6 │ │ │ │ │ - adds r5, r3, #1 │ │ │ │ │ + add.w r5, r3, #1 │ │ │ │ │ cmp r4, r7 │ │ │ │ │ it lt │ │ │ │ │ sublt r7, r7, r4 │ │ │ │ │ cmp r5, r7 │ │ │ │ │ - beq.n 278 │ │ │ │ │ + beq.n 2b4 │ │ │ │ │ cmp fp, r5 │ │ │ │ │ - ble.n 27c │ │ │ │ │ + ble.n 2b8 │ │ │ │ │ ldrb.w r3, [sl, r5] │ │ │ │ │ - cbz r3, 2c6 │ │ │ │ │ + cbz r3, 302 │ │ │ │ │ mov r3, r5 │ │ │ │ │ - b.n 260 │ │ │ │ │ + b.n 29a │ │ │ │ │ cmp r5, r7 │ │ │ │ │ sub.w r8, r4, r3 │ │ │ │ │ ite ge │ │ │ │ │ movge r1, #0 │ │ │ │ │ movlt r1, #1 │ │ │ │ │ cmp r8, r7 │ │ │ │ │ it le │ │ │ │ │ movle r1, #0 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - beq.n 278 │ │ │ │ │ + beq.n 2b4 │ │ │ │ │ mov r0, r7 │ │ │ │ │ str r7, [sp, #0] │ │ │ │ │ mov r7, r5 │ │ │ │ │ mov r5, r4 │ │ │ │ │ mov r4, r8 │ │ │ │ │ mul.w r8, r0, r6 │ │ │ │ │ mov r1, r9 │ │ │ │ │ @@ -294,694 +299,705 @@ │ │ │ │ │ ite ge │ │ │ │ │ movge r2, #0 │ │ │ │ │ movlt r2, #1 │ │ │ │ │ cmp r4, r0 │ │ │ │ │ it le │ │ │ │ │ movle r2, #0 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - bne.n 29c │ │ │ │ │ + bne.n 2d8 │ │ │ │ │ + cmp r7, r0 │ │ │ │ │ mov r4, r5 │ │ │ │ │ mov r5, r7 │ │ │ │ │ - cmp r5, r0 │ │ │ │ │ ldr r7, [sp, #0] │ │ │ │ │ - bne.n 278 │ │ │ │ │ - mov r9, r5 │ │ │ │ │ + bne.n 2b4 │ │ │ │ │ ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ + mov r9, r5 │ │ │ │ │ mov r5, r4 │ │ │ │ │ mov r6, r9 │ │ │ │ │ - ldr r4, [sp, #16] │ │ │ │ │ - subs r3, r5, r6 │ │ │ │ │ - ldr.w r8, [sp, #20] │ │ │ │ │ - cmp r2, #1 │ │ │ │ │ str r7, [sp, #44] @ 0x2c │ │ │ │ │ - bne.w 16a │ │ │ │ │ + ldrd r4, r8, [sp, #16] │ │ │ │ │ + sub.w r3, r5, r6 │ │ │ │ │ + cmp r2, #1 │ │ │ │ │ + bne.w 1a8 │ │ │ │ │ add.w r2, r8, r6, lsl #3 │ │ │ │ │ mov r9, r3 │ │ │ │ │ mov r7, r6 │ │ │ │ │ ldrd r0, r1, [r2] │ │ │ │ │ ldr r2, [sp, #32] │ │ │ │ │ strd r0, r1, [r2] │ │ │ │ │ add.w r2, r8, r3, lsl #3 │ │ │ │ │ ldrd r0, r1, [r2] │ │ │ │ │ - strd r0, r1, [r4] │ │ │ │ │ ldr r2, [sp, #4] │ │ │ │ │ + strd r0, r1, [r4] │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - bne.w 540 │ │ │ │ │ + bne.w 596 │ │ │ │ │ mov r2, r5 │ │ │ │ │ - str r4, [sp, #16] │ │ │ │ │ mov r5, fp │ │ │ │ │ - ldr r4, [sp, #36] @ 0x24 │ │ │ │ │ - mov fp, r2 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - b.n 33e │ │ │ │ │ + mov fp, r2 │ │ │ │ │ + str r4, [sp, #16] │ │ │ │ │ + ldr r4, [sp, #36] @ 0x24 │ │ │ │ │ + b.n 37a │ │ │ │ │ ldr r3, [sp, #0] │ │ │ │ │ cmp r3, r0 │ │ │ │ │ - beq.w 4a0 │ │ │ │ │ + beq.w 4ee │ │ │ │ │ add.w ip, r8, r0, lsl #3 │ │ │ │ │ add.w r7, r8, r7, lsl #3 │ │ │ │ │ add.w r9, r8, r9, lsl #3 │ │ │ │ │ vldr d7, [ip] │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ add.w r7, r8, r1, lsl #3 │ │ │ │ │ vldr d7, [r7] │ │ │ │ │ mov r7, r0 │ │ │ │ │ vstr d7, [r9] │ │ │ │ │ mov r9, r1 │ │ │ │ │ ldr r1, [sp, #12] │ │ │ │ │ mov r0, r7 │ │ │ │ │ + add.w r4, r4, #2 │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ cmp r5, r7 │ │ │ │ │ mls r0, fp, r0, r7 │ │ │ │ │ - add.w r4, r4, #2 │ │ │ │ │ itt gt │ │ │ │ │ movgt r3, #1 │ │ │ │ │ strbgt.w r3, [sl, r7] │ │ │ │ │ cmp r5, r9 │ │ │ │ │ sub.w r1, fp, r0 │ │ │ │ │ itt gt │ │ │ │ │ movgt r3, #1 │ │ │ │ │ strbgt.w r3, [sl, r9] │ │ │ │ │ cmp r6, r0 │ │ │ │ │ - bne.n 312 │ │ │ │ │ - mov r3, fp │ │ │ │ │ + bne.n 34e │ │ │ │ │ str r4, [sp, #36] @ 0x24 │ │ │ │ │ - ldr r4, [sp, #16] │ │ │ │ │ + mov r3, fp │ │ │ │ │ mov fp, r5 │ │ │ │ │ + ldr r4, [sp, #16] │ │ │ │ │ mov r5, r3 │ │ │ │ │ - ldr r3, [sp, #32] │ │ │ │ │ add.w r7, r8, r7, lsl #3 │ │ │ │ │ + ldr r3, [sp, #32] │ │ │ │ │ add.w r9, r8, r9, lsl #3 │ │ │ │ │ ldr r2, [sp, #36] @ 0x24 │ │ │ │ │ ldrd r0, r1, [r3] │ │ │ │ │ - strd r0, r1, [r7] │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ + strd r0, r1, [r7] │ │ │ │ │ ldrd r0, r1, [r4] │ │ │ │ │ cmp r3, r2 │ │ │ │ │ strd r0, r1, [r9] │ │ │ │ │ - bgt.w 24e │ │ │ │ │ + bgt.w 28c │ │ │ │ │ ldr r4, [sp, #52] @ 0x34 │ │ │ │ │ mov r0, r4 │ │ │ │ │ add sp, #60 @ 0x3c │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_ifree │ │ │ │ │ - mul.w r1, r6, r2 │ │ │ │ │ ldr.w r9, [sp, #24] │ │ │ │ │ + mul.w r1, r6, r2 │ │ │ │ │ mov r7, r2 │ │ │ │ │ - ldr r0, [sp, #32] │ │ │ │ │ - mov r2, r9 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ + ldr r0, [sp, #32] │ │ │ │ │ add.w r1, r8, r1, lsl #3 │ │ │ │ │ + mov r2, r9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memcpy │ │ │ │ │ ldr r3, [sp, #0] │ │ │ │ │ mov r2, r9 │ │ │ │ │ mov r0, r4 │ │ │ │ │ mul.w r1, r3, r7 │ │ │ │ │ add.w r1, r8, r1, lsl #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memcpy │ │ │ │ │ ldr r3, [sp, #0] │ │ │ │ │ strd sl, r6, [sp, #16] │ │ │ │ │ - str r4, [sp, #48] @ 0x30 │ │ │ │ │ - mov r9, r3 │ │ │ │ │ ldr.w sl, [sp, #36] @ 0x24 │ │ │ │ │ - mov r4, r7 │ │ │ │ │ + mov r9, r3 │ │ │ │ │ str r3, [sp, #28] │ │ │ │ │ - b.n 420 │ │ │ │ │ + str r4, [sp, #48] @ 0x30 │ │ │ │ │ + mov r4, r7 │ │ │ │ │ + b.n 46e │ │ │ │ │ ldr r2, [sp, #28] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.n 48a │ │ │ │ │ - mul.w r1, r3, r4 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ + beq.n 4da │ │ │ │ │ mul.w r0, r6, r4 │ │ │ │ │ ldr r6, [sp, #24] │ │ │ │ │ + mul.w r1, r3, r4 │ │ │ │ │ + str r3, [sp, #0] │ │ │ │ │ + add.w r0, r8, r0, lsl #3 │ │ │ │ │ add.w r1, r8, r1, lsl #3 │ │ │ │ │ mov r2, r6 │ │ │ │ │ - add.w r0, r8, r0, lsl #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memcpy │ │ │ │ │ mul.w r0, r9, r4 │ │ │ │ │ - mul.w r1, r7, r4 │ │ │ │ │ mov r2, r6 │ │ │ │ │ mov r9, r7 │ │ │ │ │ + mul.w r1, r7, r4 │ │ │ │ │ add.w r0, r8, r0, lsl #3 │ │ │ │ │ add.w r1, r8, r1, lsl #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memcpy │ │ │ │ │ ldr r3, [sp, #0] │ │ │ │ │ mov r6, r3 │ │ │ │ │ - ldr r3, [sp, #4] │ │ │ │ │ + ldrd r3, r1, [sp, #4] │ │ │ │ │ mov r0, r6 │ │ │ │ │ - ldr r1, [sp, #8] │ │ │ │ │ - add.w sl, sl, #2 │ │ │ │ │ mul.w r7, r6, r3 │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ cmp fp, r6 │ │ │ │ │ mls r3, r5, r0, r7 │ │ │ │ │ - it gt │ │ │ │ │ - movgt r1, #1 │ │ │ │ │ sub.w r7, r5, r3 │ │ │ │ │ - itt gt │ │ │ │ │ - ldrgt r2, [sp, #16] │ │ │ │ │ - strbgt r1, [r2, r6] │ │ │ │ │ + ble.n 490 │ │ │ │ │ + ldr r2, [sp, #16] │ │ │ │ │ + mov.w r1, #1 │ │ │ │ │ + strb r1, [r2, r6] │ │ │ │ │ cmp fp, r9 │ │ │ │ │ - ittt gt │ │ │ │ │ - movgt r1, #1 │ │ │ │ │ - ldrgt r2, [sp, #16] │ │ │ │ │ - strbgt.w r1, [r2, r9] │ │ │ │ │ + ble.n 49e │ │ │ │ │ + ldr r2, [sp, #16] │ │ │ │ │ + mov.w r1, #1 │ │ │ │ │ + strb.w r1, [r2, r9] │ │ │ │ │ ldr r2, [sp, #20] │ │ │ │ │ + add.w sl, sl, #2 │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.n 3e4 │ │ │ │ │ + bne.n 432 │ │ │ │ │ + ldr r4, [sp, #48] @ 0x30 │ │ │ │ │ mov r2, r6 │ │ │ │ │ str.w sl, [sp, #36] @ 0x24 │ │ │ │ │ - ldr r4, [sp, #48] @ 0x30 │ │ │ │ │ ldr.w sl, [sp, #16] │ │ │ │ │ ldr r6, [sp, #20] │ │ │ │ │ - ldr r7, [sp, #40] @ 0x28 │ │ │ │ │ ldr r1, [sp, #32] │ │ │ │ │ + ldr r7, [sp, #40] @ 0x28 │ │ │ │ │ mul.w r0, r2, r7 │ │ │ │ │ ldr r2, [sp, #24] │ │ │ │ │ add.w r0, r8, r0, lsl #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memcpy │ │ │ │ │ mul.w r0, r9, r7 │ │ │ │ │ ldr r2, [sp, #24] │ │ │ │ │ mov r1, r4 │ │ │ │ │ add.w r0, r8, r0, lsl #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memcpy │ │ │ │ │ - b.n 244 │ │ │ │ │ + b.n 282 │ │ │ │ │ ldr r1, [sp, #32] │ │ │ │ │ mov r2, r6 │ │ │ │ │ + ldr r6, [sp, #20] │ │ │ │ │ ldr r4, [sp, #48] @ 0x30 │ │ │ │ │ - str.w sl, [sp, #36] @ 0x24 │ │ │ │ │ - str r4, [sp, #32] │ │ │ │ │ + strd r4, sl, [sp, #32] │ │ │ │ │ mov r4, r1 │ │ │ │ │ ldr.w sl, [sp, #16] │ │ │ │ │ - ldr r6, [sp, #20] │ │ │ │ │ - b.n 466 │ │ │ │ │ + b.n 4b6 │ │ │ │ │ ldr r2, [sp, #32] │ │ │ │ │ mov r3, fp │ │ │ │ │ - str r4, [sp, #36] @ 0x24 │ │ │ │ │ mov fp, r5 │ │ │ │ │ - ldr r4, [sp, #16] │ │ │ │ │ + str r4, [sp, #36] @ 0x24 │ │ │ │ │ mov r5, r3 │ │ │ │ │ + ldr r4, [sp, #16] │ │ │ │ │ str r4, [sp, #32] │ │ │ │ │ mov r4, r2 │ │ │ │ │ - b.n 374 │ │ │ │ │ + b.n 3b0 │ │ │ │ │ ldr r2, [sp, #32] │ │ │ │ │ str r4, [sp, #36] @ 0x24 │ │ │ │ │ ldr r4, [sp, #16] │ │ │ │ │ str r4, [sp, #32] │ │ │ │ │ mov r4, r2 │ │ │ │ │ - b.n 21a │ │ │ │ │ + b.n 258 │ │ │ │ │ str r6, [sp, #0] │ │ │ │ │ mov r6, r5 │ │ │ │ │ - strd r3, r4, [sp, #16] │ │ │ │ │ ldr r5, [sp, #36] @ 0x24 │ │ │ │ │ - b.n 504 │ │ │ │ │ + strd r3, r4, [sp, #16] │ │ │ │ │ + b.n 554 │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ cmp r3, r1 │ │ │ │ │ - beq.n 5ce │ │ │ │ │ + beq.w 626 │ │ │ │ │ add.w r4, r8, r1, lsl #4 │ │ │ │ │ add.w r7, r8, r7, lsl #4 │ │ │ │ │ add.w r9, r8, r9, lsl #4 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ vldr d7, [r4, #8] │ │ │ │ │ add.w r4, r8, r0, lsl #4 │ │ │ │ │ vstr d7, [r7, #8] │ │ │ │ │ mov r7, r1 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ vstr d7, [r9] │ │ │ │ │ vldr d7, [r4, #8] │ │ │ │ │ vstr d7, [r9, #8] │ │ │ │ │ mov r9, r0 │ │ │ │ │ - ldr r3, [sp, #4] │ │ │ │ │ + ldrd r3, r1, [sp, #4] │ │ │ │ │ mov r0, r7 │ │ │ │ │ - ldr r1, [sp, #8] │ │ │ │ │ - adds r5, #2 │ │ │ │ │ + add.w r5, r5, #2 │ │ │ │ │ mul.w r4, r7, r3 │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ cmp fp, r7 │ │ │ │ │ - mls r1, r6, r0, r4 │ │ │ │ │ - itt gt │ │ │ │ │ + it gt │ │ │ │ │ movgt r3, #1 │ │ │ │ │ + mls r1, r6, r0, r4 │ │ │ │ │ + it gt │ │ │ │ │ strbgt.w r3, [sl, r7] │ │ │ │ │ cmp fp, r9 │ │ │ │ │ - sub.w r0, r6, r1 │ │ │ │ │ - itt gt │ │ │ │ │ + it gt │ │ │ │ │ movgt r3, #1 │ │ │ │ │ + sub.w r0, r6, r1 │ │ │ │ │ + it gt │ │ │ │ │ strbgt.w r3, [sl, r9] │ │ │ │ │ ldr r3, [sp, #0] │ │ │ │ │ cmp r3, r1 │ │ │ │ │ - bne.n 4ca │ │ │ │ │ + bne.n 518 │ │ │ │ │ + ldr r4, [sp, #20] │ │ │ │ │ str r5, [sp, #36] @ 0x24 │ │ │ │ │ mov r5, r6 │ │ │ │ │ - ldr r4, [sp, #20] │ │ │ │ │ ldr r6, [sp, #0] │ │ │ │ │ - b.n 21a │ │ │ │ │ + b.n 258 │ │ │ │ │ str.w sl, [sp] │ │ │ │ │ mov sl, fp │ │ │ │ │ - strd r3, r4, [sp, #16] │ │ │ │ │ mov fp, r5 │ │ │ │ │ ldr r5, [sp, #36] @ 0x24 │ │ │ │ │ - b.n 57a │ │ │ │ │ + strd r3, r4, [sp, #16] │ │ │ │ │ + b.n 5d0 │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ cmp r3, r1 │ │ │ │ │ - beq.n 5ba │ │ │ │ │ + beq.n 612 │ │ │ │ │ add.w r4, r8, r1, lsl #3 │ │ │ │ │ add.w r7, r8, r7, lsl #3 │ │ │ │ │ add.w r9, r8, r9, lsl #3 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ add.w r4, r8, r0, lsl #3 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ mov r7, r1 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ vstr d7, [r9] │ │ │ │ │ mov r9, r0 │ │ │ │ │ - ldr r3, [sp, #4] │ │ │ │ │ + ldrd r3, r1, [sp, #4] │ │ │ │ │ mov r0, r7 │ │ │ │ │ - ldr r1, [sp, #8] │ │ │ │ │ - adds r5, #2 │ │ │ │ │ mul.w r4, r7, r3 │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ cmp sl, r7 │ │ │ │ │ mls r1, fp, r0, r4 │ │ │ │ │ sub.w r0, fp, r1 │ │ │ │ │ - ittt gt │ │ │ │ │ - ldrgt r3, [sp, #0] │ │ │ │ │ - ldrgt r2, [sp, #40] @ 0x28 │ │ │ │ │ - strbgt r2, [r3, r7] │ │ │ │ │ + ble.n 5f0 │ │ │ │ │ + ldr r3, [sp, #0] │ │ │ │ │ + ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ + strb r2, [r3, r7] │ │ │ │ │ cmp sl, r9 │ │ │ │ │ - ittt gt │ │ │ │ │ - ldrgt r3, [sp, #0] │ │ │ │ │ - ldrgt r2, [sp, #40] @ 0x28 │ │ │ │ │ - strbgt.w r2, [r3, r9] │ │ │ │ │ + ble.n 5fc │ │ │ │ │ + ldr r3, [sp, #0] │ │ │ │ │ + ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ + strb.w r2, [r3, r9] │ │ │ │ │ cmp r6, r1 │ │ │ │ │ - bne.n 550 │ │ │ │ │ + add.w r5, r5, #2 │ │ │ │ │ + bne.n 5a6 │ │ │ │ │ + ldr r4, [sp, #20] │ │ │ │ │ str r5, [sp, #36] @ 0x24 │ │ │ │ │ mov r5, fp │ │ │ │ │ - ldr r4, [sp, #20] │ │ │ │ │ mov fp, sl │ │ │ │ │ ldr.w sl, [sp] │ │ │ │ │ - b.n 374 │ │ │ │ │ - ldr r2, [sp, #32] │ │ │ │ │ + b.n 3b0 │ │ │ │ │ ldr r4, [sp, #20] │ │ │ │ │ - str r5, [sp, #36] @ 0x24 │ │ │ │ │ + ldr r2, [sp, #32] │ │ │ │ │ + strd r4, r5, [sp, #32] │ │ │ │ │ mov r5, fp │ │ │ │ │ - str r4, [sp, #32] │ │ │ │ │ mov fp, sl │ │ │ │ │ - mov r4, r2 │ │ │ │ │ ldr.w sl, [sp] │ │ │ │ │ - b.n 374 │ │ │ │ │ - ldr r2, [sp, #32] │ │ │ │ │ + mov r4, r2 │ │ │ │ │ + b.n 3b0 │ │ │ │ │ ldr r4, [sp, #20] │ │ │ │ │ - str r5, [sp, #36] @ 0x24 │ │ │ │ │ + ldr r2, [sp, #32] │ │ │ │ │ + strd r4, r5, [sp, #32] │ │ │ │ │ mov r5, r6 │ │ │ │ │ - str r4, [sp, #32] │ │ │ │ │ - mov r4, r2 │ │ │ │ │ ldr r6, [sp, #0] │ │ │ │ │ - b.n 21a │ │ │ │ │ + mov r4, r2 │ │ │ │ │ + b.n 258 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000005e0 : │ │ │ │ │ +00000638 : │ │ │ │ │ apply_gcd(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + mov r4, r1 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r8, r0 │ │ │ │ │ - ldr.w r9, [r0, #88] @ 0x58 │ │ │ │ │ ldrd r7, r5, [r0, #80] @ 0x50 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #12 │ │ │ │ │ - ldrd sl, r0, [r0, #72] @ 0x48 │ │ │ │ │ - mov r4, r1 │ │ │ │ │ + ldr.w r9, [r0, #88] @ 0x58 │ │ │ │ │ + ldr.w sl, [r0, #72] @ 0x48 │ │ │ │ │ str r5, [sp, #4] │ │ │ │ │ mul.w r5, r5, r7 │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ + ldr r0, [r0, #76] @ 0x4c │ │ │ │ │ + mul.w r5, r9, r5 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ cmp r7, #1 │ │ │ │ │ - mul.w r5, r9, r5 │ │ │ │ │ - mov r6, r0 │ │ │ │ │ mul.w r5, sl, r5 │ │ │ │ │ - ble.n 68c │ │ │ │ │ + mov r6, r0 │ │ │ │ │ + ble.n 710 │ │ │ │ │ ldr.w r0, [r8, #100] @ 0x64 │ │ │ │ │ cmp.w r9, #0 │ │ │ │ │ ldr.w sl, [r0, #56] @ 0x38 │ │ │ │ │ - ble.n 6b0 │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ + ble.n 736 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ mov r7, r4 │ │ │ │ │ mov.w fp, #0 │ │ │ │ │ - b.n 62c │ │ │ │ │ + b.n 69a │ │ │ │ │ ldr.w r0, [r8, #100] @ 0x64 │ │ │ │ │ mov r1, r7 │ │ │ │ │ mov r2, r6 │ │ │ │ │ blx sl │ │ │ │ │ add.w fp, fp, #1 │ │ │ │ │ mov r0, r7 │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r1, r6 │ │ │ │ │ - add r7, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memcpy │ │ │ │ │ cmp r9, fp │ │ │ │ │ - bne.n 628 │ │ │ │ │ + add r7, r5 │ │ │ │ │ + bne.n 696 │ │ │ │ │ ldr.w r0, [r8, #104] @ 0x68 │ │ │ │ │ mov r2, r4 │ │ │ │ │ mov r1, r4 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ blx r3 │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - ble.n 680 │ │ │ │ │ + ble.n 6f2 │ │ │ │ │ ldr.w r0, [r8, #108] @ 0x6c │ │ │ │ │ ldr.w sl, [r0, #56] @ 0x38 │ │ │ │ │ - movs r7, #0 │ │ │ │ │ - b.n 668 │ │ │ │ │ + mov.w r7, #0 │ │ │ │ │ + b.n 6d8 │ │ │ │ │ ldr.w r0, [r8, #108] @ 0x6c │ │ │ │ │ mov r1, r4 │ │ │ │ │ mov r2, r6 │ │ │ │ │ blx sl │ │ │ │ │ - adds r7, #1 │ │ │ │ │ + add.w r7, r7, #1 │ │ │ │ │ mov r0, r4 │ │ │ │ │ mov r2, r5 │ │ │ │ │ mov r1, r6 │ │ │ │ │ - add r4, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memcpy │ │ │ │ │ cmp r9, r7 │ │ │ │ │ - bne.n 664 │ │ │ │ │ + add r4, r5 │ │ │ │ │ + bne.n 6d4 │ │ │ │ │ mov r0, r6 │ │ │ │ │ add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_ifree │ │ │ │ │ ldr.w r0, [r8, #104] @ 0x68 │ │ │ │ │ mov r2, r4 │ │ │ │ │ mov r1, r4 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ blx r3 │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - ble.n 680 │ │ │ │ │ + ble.n 6f2 │ │ │ │ │ ldr.w r0, [r8, #108] @ 0x6c │ │ │ │ │ cmp.w r9, #0 │ │ │ │ │ ldr.w sl, [r0, #56] @ 0x38 │ │ │ │ │ - ble.n 680 │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ - b.n 660 │ │ │ │ │ + ble.n 6f2 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ + b.n 6ce │ │ │ │ │ ldr.w r0, [r8, #104] @ 0x68 │ │ │ │ │ mov r2, r4 │ │ │ │ │ mov r1, r4 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ blx r3 │ │ │ │ │ - b.n 680 │ │ │ │ │ - nop │ │ │ │ │ + b.n 6f2 │ │ │ │ │ │ │ │ │ │ -000006c0 : │ │ │ │ │ +00000744 : │ │ │ │ │ apply_cut(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + ldr r5, [r0, #72] @ 0x48 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r8, r1 │ │ │ │ │ + ldrd r7, r4, [r0, #92] @ 0x5c │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + ldrd r3, r9, [r0, #64] @ 0x40 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ mov fp, r0 │ │ │ │ │ - ldr r3, [r0, #64] @ 0x40 │ │ │ │ │ - ldr.w r9, [r0, #68] @ 0x44 │ │ │ │ │ sub sp, #28 │ │ │ │ │ - ldrd r7, r4, [r0, #92] @ 0x5c │ │ │ │ │ - mov r8, r1 │ │ │ │ │ - ldr r5, [r0, #72] @ 0x48 │ │ │ │ │ ldr r0, [r0, #76] @ 0x4c │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ str r5, [sp, #12] │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ cmp r9, r4 │ │ │ │ │ str r0, [sp, #8] │ │ │ │ │ - ble.n 76e │ │ │ │ │ - mul.w r6, r5, r4 │ │ │ │ │ + ble.n 81e │ │ │ │ │ mov r2, r0 │ │ │ │ │ ldr.w r0, [fp, #100] @ 0x64 │ │ │ │ │ - lsls r6, r6, #3 │ │ │ │ │ + mul.w r6, r5, r4 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ add.w r1, r8, r6 │ │ │ │ │ blx r3 │ │ │ │ │ cmp r7, #0 │ │ │ │ │ - ble.w 842 │ │ │ │ │ + ble.w 8f8 │ │ │ │ │ mul.w r3, r5, r9 │ │ │ │ │ - str r4, [sp, #20] │ │ │ │ │ - str r3, [sp, #16] │ │ │ │ │ - mov r4, r6 │ │ │ │ │ - mov r2, r3 │ │ │ │ │ mov sl, r8 │ │ │ │ │ + mov.w r5, #0 │ │ │ │ │ + mov r2, r3 │ │ │ │ │ mov r3, r8 │ │ │ │ │ - movs r5, #0 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ + strd r2, r4, [sp, #16] │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + mov r4, r6 │ │ │ │ │ mov r6, r2 │ │ │ │ │ mov r1, sl │ │ │ │ │ mov r0, r3 │ │ │ │ │ mov r2, r4 │ │ │ │ │ - adds r5, #1 │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memmove │ │ │ │ │ mov r3, r0 │ │ │ │ │ + cmp r7, r5 │ │ │ │ │ add r3, r4 │ │ │ │ │ add sl, r6 │ │ │ │ │ - cmp r7, r5 │ │ │ │ │ - bne.n 718 │ │ │ │ │ + bne.n 7b2 │ │ │ │ │ ldr.w r0, [fp, #104] @ 0x68 │ │ │ │ │ mov r2, r8 │ │ │ │ │ mov r1, r8 │ │ │ │ │ ldr r4, [sp, #20] │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ blx r3 │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ cmp r3, r7 │ │ │ │ │ - bgt.n 788 │ │ │ │ │ + bgt.n 838 │ │ │ │ │ + ldrd r3, r1, [sp, #4] │ │ │ │ │ ldr r2, [sp, #12] │ │ │ │ │ - ldr r3, [sp, #4] │ │ │ │ │ - ldr r1, [sp, #8] │ │ │ │ │ mul.w r3, r2, r3 │ │ │ │ │ sub.w r2, r9, r4 │ │ │ │ │ mul.w r0, r4, r3 │ │ │ │ │ mul.w r2, r3, r2 │ │ │ │ │ add.w r0, r8, r0, lsl #3 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memcpy │ │ │ │ │ ldr r0, [sp, #8] │ │ │ │ │ add sp, #28 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w lr, [sp], #4 │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_ifree │ │ │ │ │ ldr.w r0, [fp, #104] @ 0x68 │ │ │ │ │ mov r2, r8 │ │ │ │ │ mov r1, r8 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ blx r3 │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ cmp r3, r7 │ │ │ │ │ - ble.n 762 │ │ │ │ │ + ble.n 800 │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ mul.w r3, r3, r9 │ │ │ │ │ str r3, [sp, #16] │ │ │ │ │ - ldr r3, [sp, #12] │ │ │ │ │ - ldr r2, [sp, #8] │ │ │ │ │ + ldrd r2, r3, [sp, #8] │ │ │ │ │ mul.w r5, r3, r7 │ │ │ │ │ sub.w r3, r9, r4 │ │ │ │ │ mul.w r3, r5, r3 │ │ │ │ │ add.w r0, r2, r3, lsl #3 │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ str r0, [sp, #20] │ │ │ │ │ - subs r2, r3, r7 │ │ │ │ │ + sub.w r2, r3, r7 │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ mul.w r2, r3, r2 │ │ │ │ │ mul.w r1, r3, r7 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ add.w r1, r8, r1, lsl #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memcpy │ │ │ │ │ subs.w sl, r4, #1 │ │ │ │ │ - bmi.n 858 │ │ │ │ │ - ldr r2, [sp, #12] │ │ │ │ │ - lsls r6, r5, #3 │ │ │ │ │ + bmi.n 90e │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ + mov.w r6, r5, lsl #3 │ │ │ │ │ mul.w r5, sl, r5 │ │ │ │ │ str r4, [sp, #16] │ │ │ │ │ + ldr r2, [sp, #12] │ │ │ │ │ add.w r5, r8, r5, lsl #3 │ │ │ │ │ mul.w r3, r2, r3 │ │ │ │ │ - negs r2, r6 │ │ │ │ │ - lsls r7, r3, #3 │ │ │ │ │ + rsb r2, r6, #0 │ │ │ │ │ + mov.w r7, r3, lsl #3 │ │ │ │ │ mul.w r3, sl, r3 │ │ │ │ │ mov r4, r7 │ │ │ │ │ mov r7, r2 │ │ │ │ │ add.w r3, r8, r3, lsl #3 │ │ │ │ │ mov r1, r5 │ │ │ │ │ mov r0, r3 │ │ │ │ │ mov r2, r4 │ │ │ │ │ add.w sl, sl, #4294967295 @ 0xffffffff │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memmove │ │ │ │ │ - add r5, r7 │ │ │ │ │ - subs r3, r0, r4 │ │ │ │ │ cmp.w sl, #4294967295 @ 0xffffffff │ │ │ │ │ - bne.n 7e0 │ │ │ │ │ + sub.w r3, r0, r4 │ │ │ │ │ + add r5, r7 │ │ │ │ │ + bne.n 89a │ │ │ │ │ ldr r4, [sp, #16] │ │ │ │ │ - ldr.w r0, [fp, #108] @ 0x6c │ │ │ │ │ add.w r2, r8, r6 │ │ │ │ │ + ldr.w r0, [fp, #108] @ 0x6c │ │ │ │ │ ldr r1, [sp, #20] │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ blx r3 │ │ │ │ │ cmp r9, r4 │ │ │ │ │ - ble.n 762 │ │ │ │ │ - ldr r3, [sp, #4] │ │ │ │ │ + ble.n 800 │ │ │ │ │ + ldrd r3, r7, [sp, #4] │ │ │ │ │ ldr r2, [sp, #12] │ │ │ │ │ - ldr r7, [sp, #8] │ │ │ │ │ mul.w r3, r2, r3 │ │ │ │ │ - lsls r5, r3, #3 │ │ │ │ │ + mov.w r5, r3, lsl #3 │ │ │ │ │ mul.w r3, r4, r3 │ │ │ │ │ add.w r3, r8, r3, lsl #3 │ │ │ │ │ mov r1, r7 │ │ │ │ │ mov r0, r3 │ │ │ │ │ mov r2, r6 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL memcpy │ │ │ │ │ mov r3, r0 │ │ │ │ │ + cmp r9, r4 │ │ │ │ │ add r3, r5 │ │ │ │ │ add r7, r6 │ │ │ │ │ - cmp r9, r4 │ │ │ │ │ - bne.n 820 │ │ │ │ │ - ldr r0, [sp, #8] │ │ │ │ │ - add sp, #28 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - b.w 0 │ │ │ │ │ - R_ARM_THM_JUMP24 fftw_ifree │ │ │ │ │ + bne.n 8de │ │ │ │ │ + b.n 800 │ │ │ │ │ ldr.w r0, [fp, #104] @ 0x68 │ │ │ │ │ mov r2, r8 │ │ │ │ │ mov r1, r8 │ │ │ │ │ ldr r3, [r0, #56] @ 0x38 │ │ │ │ │ blx r3 │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ cmp r3, r7 │ │ │ │ │ - ble.w 742 │ │ │ │ │ - b.n 780 │ │ │ │ │ - lsls r6, r5, #3 │ │ │ │ │ - b.n 7fa │ │ │ │ │ + ble.w 7de │ │ │ │ │ + b.n 830 │ │ │ │ │ + mov.w r6, r5, lsl #3 │ │ │ │ │ + b.n 8b6 │ │ │ │ │ │ │ │ │ │ -0000085c : │ │ │ │ │ +00000914 : │ │ │ │ │ mkcldrn_gcd(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + mov r4, r2 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ mov sl, r0 │ │ │ │ │ - ldr r5, [r2, #88] @ 0x58 │ │ │ │ │ - ldrd r7, r9, [r2, #80] @ 0x50 │ │ │ │ │ - sub sp, #44 @ 0x2c │ │ │ │ │ ldrd r8, r0, [r2, #72] @ 0x48 │ │ │ │ │ - mov r4, r2 │ │ │ │ │ - mul.w r6, r9, r7 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + sub sp, #44 @ 0x2c │ │ │ │ │ + ldrd r7, r9, [r2, #80] @ 0x50 │ │ │ │ │ str r1, [sp, #28] │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ + ldr r5, [r2, #88] @ 0x58 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ + mul.w r6, r9, r7 │ │ │ │ │ cmp r7, #1 │ │ │ │ │ mul.w r3, r5, r6 │ │ │ │ │ - str r0, [sp, #32] │ │ │ │ │ mul.w r6, r8, r6 │ │ │ │ │ mul.w r3, r8, r3 │ │ │ │ │ - str r3, [sp, #36] @ 0x24 │ │ │ │ │ - ble.n 8f6 │ │ │ │ │ - mul.w r1, r5, r9 │ │ │ │ │ - mov fp, r0 │ │ │ │ │ + strd r0, r3, [sp, #32] │ │ │ │ │ + ble.n 9c4 │ │ │ │ │ mul.w r2, r8, r9 │ │ │ │ │ - movs r3, #1 │ │ │ │ │ - strd r6, r2, [sp, #4] │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + mov fp, r0 │ │ │ │ │ + mul.w r1, r5, r9 │ │ │ │ │ mov r0, r7 │ │ │ │ │ - strd r3, r3, [sp, #12] │ │ │ │ │ - mov r3, r5 │ │ │ │ │ + strd r2, r6, [sp] │ │ │ │ │ mul.w r1, r8, r1 │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ + strd r2, r3, [sp, #8] │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ + mov r3, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_3d │ │ │ │ │ ldr.w r1, [sl, #12] │ │ │ │ │ mov r2, fp │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_0_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ ldr r0, [sp, #28] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ str r0, [r4, #100] @ 0x64 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 9ae │ │ │ │ │ + beq.n a7e │ │ │ │ │ add.w r3, r4, #8 │ │ │ │ │ add.w r1, r0, #8 │ │ │ │ │ mov r2, r3 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_madd │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ vldr d6, [r4, #32] │ │ │ │ │ mul.w r3, r3, r5 │ │ │ │ │ - lsls r3, r3, #1 │ │ │ │ │ + mov.w r3, r3, lsl #1 │ │ │ │ │ vmov s15, r3 │ │ │ │ │ vcvt.f64.s32 d7, s15 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vstr d6, [r4, #32] │ │ │ │ │ mul.w r7, r5, r7 │ │ │ │ │ + mov.w fp, #1 │ │ │ │ │ mov r3, r5 │ │ │ │ │ mov r2, r6 │ │ │ │ │ - mov.w fp, #1 │ │ │ │ │ mov r0, r5 │ │ │ │ │ - strd fp, fp, [sp, #12] │ │ │ │ │ - str r6, [sp, #0] │ │ │ │ │ + strd r6, fp, [sp, #8] │ │ │ │ │ mul.w r1, r9, r7 │ │ │ │ │ + str.w fp, [sp, #16] │ │ │ │ │ mul.w r1, r8, r1 │ │ │ │ │ - strd r1, r6, [sp, #4] │ │ │ │ │ + strd r6, r1, [sp] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_3d │ │ │ │ │ ldr.w r2, [sl, #12] │ │ │ │ │ mov r1, r2 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_0_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ ldr r0, [sp, #28] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ str r0, [r4, #104] @ 0x68 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n 9ae │ │ │ │ │ + beq.n a7e │ │ │ │ │ add.w r6, r4, #8 │ │ │ │ │ - adds r0, #8 │ │ │ │ │ + add.w r0, r0, #8 │ │ │ │ │ mov r1, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_add2 │ │ │ │ │ cmp r9, fp │ │ │ │ │ - ble.n 9a0 │ │ │ │ │ + ble.n a72 │ │ │ │ │ mul.w r3, r8, r7 │ │ │ │ │ mov r2, r8 │ │ │ │ │ + mov r0, r7 │ │ │ │ │ mul.w r1, r8, r9 │ │ │ │ │ strd r8, r3, [sp] │ │ │ │ │ - mov r0, r7 │ │ │ │ │ mov r3, r9 │ │ │ │ │ - strd fp, fp, [sp, #12] │ │ │ │ │ - str.w r8, [sp, #8] │ │ │ │ │ + strd r8, fp, [sp, #8] │ │ │ │ │ + str.w fp, [sp, #16] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_3d │ │ │ │ │ - ldr r2, [sp, #32] │ │ │ │ │ ldr.w r1, [sl, #12] │ │ │ │ │ + ldr r2, [sp, #32] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_0_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ ldr r0, [sp, #28] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ str r0, [r4, #108] @ 0x6c │ │ │ │ │ - cbz r0, 9ae │ │ │ │ │ + cbz r0, a7e │ │ │ │ │ add.w r1, r0, #8 │ │ │ │ │ mov r2, r6 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_madd2 │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ vldr d6, [r4, #32] │ │ │ │ │ @@ -990,268 +1006,299 @@ │ │ │ │ │ vmov s15, r5 │ │ │ │ │ vcvt.f64.s32 d7, s15 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vstr d6, [r4, #32] │ │ │ │ │ ldr r0, [sp, #32] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ - movs r0, #1 │ │ │ │ │ - add sp, #44 @ 0x2c │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ + b.n a88 │ │ │ │ │ ldr r0, [sp, #32] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #44 @ 0x2c │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -000009bc : │ │ │ │ │ +00000aa0 : │ │ │ │ │ applicable_cut(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r4, r3 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r5, r3 │ │ │ │ │ + mov r6, r2 │ │ │ │ │ + mov.w r2, r2, lsl #1 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov.w sl, r3, lsl #1 │ │ │ │ │ ldr r3, [r0, #8] │ │ │ │ │ - mov r5, r2 │ │ │ │ │ - movs r2, #12 │ │ │ │ │ - mov r6, r0 │ │ │ │ │ - sub sp, #12 │ │ │ │ │ - mla r0, r2, r5, r3 │ │ │ │ │ - ldr r7, [r0, #4] │ │ │ │ │ - mla r0, r2, r4, r3 │ │ │ │ │ - ldr.w r8, [r0, #4] │ │ │ │ │ - ldr r0, [r3, #0] │ │ │ │ │ - cmp r0, #2 │ │ │ │ │ - ittee eq │ │ │ │ │ - moveq.w sl, #1 │ │ │ │ │ - moveq r9, sl │ │ │ │ │ - ldrne r0, [sp, #48] @ 0x30 │ │ │ │ │ - mlane r3, r2, r0, r3 │ │ │ │ │ - mov.w r2, #0 │ │ │ │ │ - it ne │ │ │ │ │ - ldrdne r9, sl, [r3, #4] │ │ │ │ │ - ldr r3, [sp, #52] @ 0x34 │ │ │ │ │ - str r2, [r3, #0] │ │ │ │ │ - ldr.w r1, [r1, #164] @ 0xa4 │ │ │ │ │ - ubfx r1, r1, #3, #1 │ │ │ │ │ - eor.w r1, r1, #1 │ │ │ │ │ - cmp r7, r8 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + sub sp, #20 │ │ │ │ │ + mov fp, r0 │ │ │ │ │ + ldr r0, [sp, #56] @ 0x38 │ │ │ │ │ + str r2, [sp, #8] │ │ │ │ │ + add r2, r6 │ │ │ │ │ + add.w r2, r3, r2, lsl #2 │ │ │ │ │ + ldr.w r8, [r2, #4] │ │ │ │ │ + add.w r2, sl, r5 │ │ │ │ │ + add.w r2, r3, r2, lsl #2 │ │ │ │ │ + ldr.w r9, [r2, #4] │ │ │ │ │ + ldr r2, [r3, #0] │ │ │ │ │ + cmp r2, #2 │ │ │ │ │ + beq.n b32 │ │ │ │ │ + add.w r0, r0, r0, lsl #1 │ │ │ │ │ + add.w r3, r3, r0, lsl #2 │ │ │ │ │ + ldrd r2, r7, [r3, #4] │ │ │ │ │ + str r2, [sp, #4] │ │ │ │ │ + ldr r2, [sp, #60] @ 0x3c │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + str r0, [r2, #0] │ │ │ │ │ + ldr.w r2, [r1, #164] @ 0xa4 │ │ │ │ │ + ubfx r2, r2, #3, #1 │ │ │ │ │ + eor.w r2, r2, #1 │ │ │ │ │ + cmp r8, r9 │ │ │ │ │ ite eq │ │ │ │ │ - moveq r1, #0 │ │ │ │ │ - andne.w r1, r1, #1 │ │ │ │ │ - cbnz r1, a1e │ │ │ │ │ - mov.w sl, #0 │ │ │ │ │ - mov r0, sl │ │ │ │ │ - add sp, #12 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - mov r1, r8 │ │ │ │ │ + moveq r2, #0 │ │ │ │ │ + andne.w r2, r2, #1 │ │ │ │ │ + cbnz r2, b3a │ │ │ │ │ + mov.w r7, #0 │ │ │ │ │ mov r0, r7 │ │ │ │ │ - sub.w fp, r7, r8 │ │ │ │ │ + add sp, #20 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + mov.w r7, #1 │ │ │ │ │ + str r7, [sp, #4] │ │ │ │ │ + b.n af4 │ │ │ │ │ + mov r1, r9 │ │ │ │ │ + mov r0, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_imax │ │ │ │ │ - str r0, [sp, #4] │ │ │ │ │ - mov r0, fp │ │ │ │ │ + mov r2, r0 │ │ │ │ │ + sub.w r4, r8, r9 │ │ │ │ │ + mov r0, r4 │ │ │ │ │ + str r2, [sp, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ - ldr r3, [sp, #4] │ │ │ │ │ + ldr r2, [sp, #12] │ │ │ │ │ add.w r0, r0, r0, lsl #3 │ │ │ │ │ - cmp r3, r0 │ │ │ │ │ - blt.n a86 │ │ │ │ │ - cmp.w sl, #1 │ │ │ │ │ - bne.n a12 │ │ │ │ │ - movs r2, #12 │ │ │ │ │ - ldr r3, [r6, #8] │ │ │ │ │ - adds r3, #4 │ │ │ │ │ - mul.w r4, r2, r4 │ │ │ │ │ - adds r6, r3, r4 │ │ │ │ │ - ldr r1, [r6, #4] │ │ │ │ │ - cmp r1, r9 │ │ │ │ │ - bne.n a12 │ │ │ │ │ - mul.w r5, r2, r5 │ │ │ │ │ - adds r2, r3, r5 │ │ │ │ │ - ldr r1, [r2, #8] │ │ │ │ │ - cmp r1, r9 │ │ │ │ │ - bne.n a12 │ │ │ │ │ - ldr r7, [r3, r5] │ │ │ │ │ - ldr r4, [r3, r4] │ │ │ │ │ - ldr r5, [r2, #4] │ │ │ │ │ - cmp r7, r4 │ │ │ │ │ - beq.n ad4 │ │ │ │ │ - mul.w r4, r4, r9 │ │ │ │ │ - cmp r5, r4 │ │ │ │ │ - bne.n a12 │ │ │ │ │ - mul.w r9, r7, r9 │ │ │ │ │ - ldr r3, [r6, #8] │ │ │ │ │ - sub.w sl, r3, r9 │ │ │ │ │ - clz sl, sl │ │ │ │ │ - mov.w sl, sl, lsr #5 │ │ │ │ │ - b.n a16 │ │ │ │ │ - mov r1, r8 │ │ │ │ │ - mov r0, r7 │ │ │ │ │ + cmp r2, r0 │ │ │ │ │ + blt.n bb8 │ │ │ │ │ + cmp r7, #1 │ │ │ │ │ + bne.n b14 │ │ │ │ │ + ldr.w r2, [fp, #8] │ │ │ │ │ + add sl, r5 │ │ │ │ │ + mov.w sl, sl, lsl #2 │ │ │ │ │ + ldr r3, [sp, #4] │ │ │ │ │ + add.w r2, r2, #4 │ │ │ │ │ + add.w r4, r2, sl │ │ │ │ │ + ldr r1, [r4, #4] │ │ │ │ │ + cmp r1, r3 │ │ │ │ │ + bne.n b14 │ │ │ │ │ + ldr r3, [sp, #8] │ │ │ │ │ + add r3, r6 │ │ │ │ │ + mov.w fp, r3, lsl #2 │ │ │ │ │ + ldr r3, [sp, #4] │ │ │ │ │ + add.w r1, r2, fp │ │ │ │ │ + ldr r0, [r1, #8] │ │ │ │ │ + cmp r0, r3 │ │ │ │ │ + bne.n b14 │ │ │ │ │ + ldr.w r8, [r2, fp] │ │ │ │ │ + ldr.w r5, [r2, sl] │ │ │ │ │ + ldr r6, [r1, #4] │ │ │ │ │ + cmp r8, r5 │ │ │ │ │ + beq.n c0c │ │ │ │ │ + ldr r3, [sp, #4] │ │ │ │ │ + mul.w r5, r3, r5 │ │ │ │ │ + cmp r6, r5 │ │ │ │ │ + bne.n b14 │ │ │ │ │ + ldr r7, [r4, #8] │ │ │ │ │ + mul.w r2, r8, r3 │ │ │ │ │ + sub.w r7, r7, r2 │ │ │ │ │ + clz r7, r7 │ │ │ │ │ + mov.w r7, r7, lsr #5 │ │ │ │ │ + b.n b18 │ │ │ │ │ + mov r1, r9 │ │ │ │ │ + mov r0, r8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_imin │ │ │ │ │ - str r0, [sp, #4] │ │ │ │ │ - mov r0, fp │ │ │ │ │ + mov r2, r0 │ │ │ │ │ + mov r0, r4 │ │ │ │ │ + str r2, [sp, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ - mul.w r3, r0, r3 │ │ │ │ │ - mul.w r3, r9, r3 │ │ │ │ │ - cmp.w r3, #65536 @ 0x10000 │ │ │ │ │ - ble.n a3c │ │ │ │ │ - mov r1, r8 │ │ │ │ │ - mov r3, r7 │ │ │ │ │ - mov fp, r1 │ │ │ │ │ - mov r0, r3 │ │ │ │ │ + ldr r2, [sp, #12] │ │ │ │ │ + mul.w r2, r0, r2 │ │ │ │ │ + mul.w r2, r3, r2 │ │ │ │ │ + cmp.w r2, #65536 @ 0x10000 │ │ │ │ │ + ble.n b5a │ │ │ │ │ + mov r4, r9 │ │ │ │ │ + mov r2, r8 │ │ │ │ │ + mov r1, r4 │ │ │ │ │ + mov r0, r2 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ - mov r3, fp │ │ │ │ │ + mov r2, r4 │ │ │ │ │ + mov r4, r1 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - bne.n aaa │ │ │ │ │ - mov r1, r8 │ │ │ │ │ - mov r0, r7 │ │ │ │ │ - str.w fp, [sp, #4] │ │ │ │ │ + bne.n be0 │ │ │ │ │ + mov r1, r9 │ │ │ │ │ + mov r0, r8 │ │ │ │ │ + str r2, [sp, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_imin │ │ │ │ │ mov r1, r0 │ │ │ │ │ - movs r0, #9 │ │ │ │ │ + mov.w r0, #9 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_imin │ │ │ │ │ - ldr r3, [sp, #4] │ │ │ │ │ - cmp r0, r3 │ │ │ │ │ - bgt.n a3c │ │ │ │ │ - b.n a12 │ │ │ │ │ - ldr r3, [r6, #8] │ │ │ │ │ - cmp r5, r7 │ │ │ │ │ + ldr r2, [sp, #12] │ │ │ │ │ + cmp r0, r2 │ │ │ │ │ + bgt.n b5a │ │ │ │ │ + b.n b14 │ │ │ │ │ + ldr r2, [r4, #8] │ │ │ │ │ + cmp r6, r8 │ │ │ │ │ it ge │ │ │ │ │ - cmpge r3, r5 │ │ │ │ │ - bne.n a6a │ │ │ │ │ - mov r1, r9 │ │ │ │ │ - mov r0, r5 │ │ │ │ │ + cmpge r2, r6 │ │ │ │ │ + bne.n b9a │ │ │ │ │ + mov r1, r3 │ │ │ │ │ + mov r0, r6 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - beq.n a16 │ │ │ │ │ - b.n a6a │ │ │ │ │ + beq.w b18 │ │ │ │ │ + b.n b9a │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000aec : │ │ │ │ │ +00000c28 : │ │ │ │ │ mkcldrn_cut(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + ldrd r3, sl, [r2, #64] @ 0x40 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ mov fp, r2 │ │ │ │ │ - ldr r3, [r2, #64] @ 0x40 │ │ │ │ │ + ldr r2, [r2, #72] @ 0x48 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ sub sp, #60 @ 0x3c │ │ │ │ │ - ldrd sl, r2, [r2, #68] @ 0x44 │ │ │ │ │ - mov r5, r3 │ │ │ │ │ + sub.w r5, r3, sl │ │ │ │ │ strd r0, r1, [sp, #44] @ 0x2c │ │ │ │ │ - mov r0, r3 │ │ │ │ │ mov r1, sl │ │ │ │ │ - sub.w r5, r5, sl │ │ │ │ │ - str r3, [sp, #28] │ │ │ │ │ - str r2, [sp, #32] │ │ │ │ │ + mov r0, r3 │ │ │ │ │ + strd r3, r2, [sp, #28] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_imax │ │ │ │ │ mov r4, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ add.w r0, r0, r0, lsl #3 │ │ │ │ │ cmp r4, r0 │ │ │ │ │ - blt.w c8e │ │ │ │ │ + blt.w dfc │ │ │ │ │ ldr r0, [sp, #28] │ │ │ │ │ mov r1, sl │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_imin │ │ │ │ │ mov r7, r0 │ │ │ │ │ mov r8, r0 │ │ │ │ │ - ldr r3, [sp, #32] │ │ │ │ │ + ldrd r2, r3, [sp, #28] │ │ │ │ │ sub.w r4, sl, r8 │ │ │ │ │ - ldr r2, [sp, #28] │ │ │ │ │ strd r7, r8, [fp, #92] @ 0x5c │ │ │ │ │ - subs r0, r2, r7 │ │ │ │ │ - str r0, [sp, #36] @ 0x24 │ │ │ │ │ mul.w r5, r3, r7 │ │ │ │ │ + sub.w r0, r2, r7 │ │ │ │ │ mul.w r9, r3, sl │ │ │ │ │ + str r0, [sp, #36] @ 0x24 │ │ │ │ │ mul.w r1, r5, r4 │ │ │ │ │ mla r0, r9, r0, r1 │ │ │ │ │ str r1, [sp, #52] @ 0x34 │ │ │ │ │ str.w r0, [fp, #76] @ 0x4c │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ ldr r2, [sp, #32] │ │ │ │ │ - mov r6, r0 │ │ │ │ │ cmp r8, sl │ │ │ │ │ + mov r6, r0 │ │ │ │ │ mul.w r3, r2, r8 │ │ │ │ │ str r3, [sp, #40] @ 0x28 │ │ │ │ │ - bge.n ba8 │ │ │ │ │ - movs r3, #1 │ │ │ │ │ + bge.n cfa │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ mov r1, r9 │ │ │ │ │ - strd r3, r3, [sp, #12] │ │ │ │ │ + str r2, [sp, #0] │ │ │ │ │ mov r0, r7 │ │ │ │ │ + str r5, [sp, #4] │ │ │ │ │ + str r2, [sp, #8] │ │ │ │ │ + strd r3, r3, [sp, #12] │ │ │ │ │ mov r3, r4 │ │ │ │ │ - strd r5, r2, [sp, #4] │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_3d │ │ │ │ │ - ldr r2, [sp, #44] @ 0x2c │ │ │ │ │ - ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ + ldrd r3, r2, [sp, #40] @ 0x28 │ │ │ │ │ ldr r1, [r2, #12] │ │ │ │ │ mov r2, r6 │ │ │ │ │ add.w r1, r1, r3, lsl #3 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_0_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ ldr r0, [sp, #48] @ 0x30 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ str.w r0, [fp, #100] @ 0x64 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n c80 │ │ │ │ │ + beq.n dda │ │ │ │ │ add.w r1, fp, #8 │ │ │ │ │ - adds r0, #8 │ │ │ │ │ + add.w r0, r0, #8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_add2 │ │ │ │ │ ldr r2, [sp, #32] │ │ │ │ │ - movs r3, #1 │ │ │ │ │ - ldr r1, [sp, #40] @ 0x28 │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ mov r0, r7 │ │ │ │ │ - strd r3, r3, [sp, #12] │ │ │ │ │ + ldr r1, [sp, #40] @ 0x28 │ │ │ │ │ + strd r2, r5, [sp] │ │ │ │ │ + strd r2, r3, [sp, #8] │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ mov r3, r8 │ │ │ │ │ - strd r5, r2, [sp, #4] │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_3d │ │ │ │ │ ldr r1, [sp, #44] @ 0x2c │ │ │ │ │ ldr r1, [r1, #12] │ │ │ │ │ - str r1, [sp, #40] @ 0x28 │ │ │ │ │ mov r2, r1 │ │ │ │ │ + str r1, [sp, #40] @ 0x28 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_0_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ ldr r0, [sp, #48] @ 0x30 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ str.w r0, [fp, #104] @ 0x68 │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.n c80 │ │ │ │ │ + beq.n dda │ │ │ │ │ add.w r1, fp, #8 │ │ │ │ │ - adds r0, #8 │ │ │ │ │ + add.w r0, r0, #8 │ │ │ │ │ str r1, [sp, #40] @ 0x28 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_add2 │ │ │ │ │ ldr r0, [sp, #28] │ │ │ │ │ cmp r0, r7 │ │ │ │ │ - ble.n c34 │ │ │ │ │ + ble.n d8e │ │ │ │ │ ldr r2, [sp, #32] │ │ │ │ │ - movs r3, #1 │ │ │ │ │ - strd r3, r3, [sp, #12] │ │ │ │ │ - mov r3, r0 │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ mov r1, r9 │ │ │ │ │ - str r2, [sp, #8] │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ + strd r2, r3, [sp, #8] │ │ │ │ │ + mov r3, r0 │ │ │ │ │ ldr r0, [sp, #36] @ 0x24 │ │ │ │ │ mul.w r3, r2, r3 │ │ │ │ │ - strd r2, r3, [sp] │ │ │ │ │ + str r2, [sp, #0] │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ mov r3, sl │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mktensor_3d │ │ │ │ │ ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ ldr r2, [r3, #12] │ │ │ │ │ ldr r3, [sp, #52] @ 0x34 │ │ │ │ │ add.w r2, r2, r5, lsl #3 │ │ │ │ │ @@ -1259,17 +1306,17 @@ │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkproblem_rdft_0_d │ │ │ │ │ mov r1, r0 │ │ │ │ │ ldr r0, [sp, #48] @ 0x30 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_d │ │ │ │ │ str.w r0, [fp, #108] @ 0x6c │ │ │ │ │ - cbz r0, c80 │ │ │ │ │ + cbz r0, dda │ │ │ │ │ ldr r1, [sp, #40] @ 0x28 │ │ │ │ │ - adds r0, #8 │ │ │ │ │ + add.w r0, r0, #8 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_add2 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ mov r0, r6 │ │ │ │ │ vldr d6, [fp, #32] │ │ │ │ │ cmp r3, r7 │ │ │ │ │ ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ @@ -1281,788 +1328,841 @@ │ │ │ │ │ addgt r2, #1 │ │ │ │ │ mul.w r8, r8, r7 │ │ │ │ │ mul.w r3, r3, sl │ │ │ │ │ mla r3, r8, r2, r3 │ │ │ │ │ ldr r2, [sp, #32] │ │ │ │ │ mla r3, r7, r4, r3 │ │ │ │ │ mul.w r3, r2, r3 │ │ │ │ │ - lsls r3, r3, #1 │ │ │ │ │ + mov.w r3, r3, lsl #1 │ │ │ │ │ vmov s15, r3 │ │ │ │ │ vcvt.f64.s32 d7, s15 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vstr d6, [fp, #32] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ - movs r0, #1 │ │ │ │ │ - add sp, #60 @ 0x3c │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ + b.n de4 │ │ │ │ │ mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ifree │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #60 @ 0x3c │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ ldr r6, [sp, #28] │ │ │ │ │ mov r1, sl │ │ │ │ │ mov r0, r6 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_imin │ │ │ │ │ mov r4, r0 │ │ │ │ │ mov r0, r5 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ ldr r2, [sp, #32] │ │ │ │ │ mul.w r3, r0, r4 │ │ │ │ │ mul.w r3, r2, r3 │ │ │ │ │ cmp.w r3, #65536 @ 0x10000 │ │ │ │ │ - ble.w b22 │ │ │ │ │ + ble.w c6c │ │ │ │ │ mov r0, sl │ │ │ │ │ mov r1, r6 │ │ │ │ │ mov r5, r1 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ mov r0, r5 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - bne.n cb6 │ │ │ │ │ - mov r4, r1 │ │ │ │ │ + bne.n e24 │ │ │ │ │ cmp.w sl, #0 │ │ │ │ │ - ble.n d46 │ │ │ │ │ + mov r4, r1 │ │ │ │ │ + ble.n eb4 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ sub.w r9, sl, #32 │ │ │ │ │ mov r4, sl │ │ │ │ │ mov r8, sl │ │ │ │ │ + strd sl, fp, [sp, #36] @ 0x24 │ │ │ │ │ mov r7, r3 │ │ │ │ │ sub.w r6, r3, #32 │ │ │ │ │ - strd sl, fp, [sp, #36] @ 0x24 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.n d10 │ │ │ │ │ + ble.n e7e │ │ │ │ │ mov sl, r3 │ │ │ │ │ mov r0, r4 │ │ │ │ │ mov fp, r6 │ │ │ │ │ mov r6, r4 │ │ │ │ │ mov r4, sl │ │ │ │ │ mov r1, r4 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ mov r0, r4 │ │ │ │ │ mov r4, r1 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - bne.n cee │ │ │ │ │ - mov r4, r6 │ │ │ │ │ + bne.n e5c │ │ │ │ │ cmp r0, r5 │ │ │ │ │ + mov r4, r6 │ │ │ │ │ mov r6, fp │ │ │ │ │ mov fp, r0 │ │ │ │ │ - bgt.n d2a │ │ │ │ │ + bgt.n e98 │ │ │ │ │ subs.w sl, sl, #1 │ │ │ │ │ - beq.n d10 │ │ │ │ │ + beq.n e7e │ │ │ │ │ cmp sl, r6 │ │ │ │ │ - bne.n ce6 │ │ │ │ │ + bne.n e54 │ │ │ │ │ ldr r0, [sp, #28] │ │ │ │ │ mov r1, r4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_imin │ │ │ │ │ cmp r0, r5 │ │ │ │ │ - beq.n d24 │ │ │ │ │ + beq.n e92 │ │ │ │ │ subs r4, #1 │ │ │ │ │ - beq.n d24 │ │ │ │ │ + beq.n e92 │ │ │ │ │ cmp r4, r9 │ │ │ │ │ - bne.n cde │ │ │ │ │ + bne.n e4c │ │ │ │ │ ldrd sl, fp, [sp, #36] @ 0x24 │ │ │ │ │ - b.n b2e │ │ │ │ │ + b.n c78 │ │ │ │ │ mov r1, r4 │ │ │ │ │ mov r0, sl │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_imin │ │ │ │ │ cmp r0, fp │ │ │ │ │ - beq.n d3e │ │ │ │ │ + beq.n eac │ │ │ │ │ mov r5, fp │ │ │ │ │ mov r8, r4 │ │ │ │ │ mov r7, sl │ │ │ │ │ - b.n d06 │ │ │ │ │ + b.n e74 │ │ │ │ │ mov r5, fp │ │ │ │ │ mov r8, r4 │ │ │ │ │ mov r7, sl │ │ │ │ │ - b.n d10 │ │ │ │ │ - ldr r3, [sp, #32] │ │ │ │ │ + b.n e7e │ │ │ │ │ + ldrd r7, r3, [sp, #28] │ │ │ │ │ mov r0, r1 │ │ │ │ │ - ldr r7, [sp, #28] │ │ │ │ │ mov r8, sl │ │ │ │ │ - strd r7, sl, [fp, #92] @ 0x5c │ │ │ │ │ str.w r1, [fp, #76] @ 0x4c │ │ │ │ │ mul.w r9, r3, sl │ │ │ │ │ + strd r7, sl, [fp, #92] @ 0x5c │ │ │ │ │ mul.w r5, r3, r7 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_malloc_plain │ │ │ │ │ - str.w r9, [sp, #40] @ 0x28 │ │ │ │ │ mov r6, r0 │ │ │ │ │ - str r4, [sp, #36] @ 0x24 │ │ │ │ │ + strd r4, r9, [sp, #36] @ 0x24 │ │ │ │ │ str r4, [sp, #52] @ 0x34 │ │ │ │ │ - b.n ba8 │ │ │ │ │ + b.n cfa │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000d70 : │ │ │ │ │ +00000edc : │ │ │ │ │ applicable_gcd(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r3 │ │ │ │ │ - ldr r4, [r0, #8] │ │ │ │ │ - movs r3, #12 │ │ │ │ │ mov r6, r2 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov.w r9, r3, lsl #1 │ │ │ │ │ + ldr.w sl, [r0, #8] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ sub sp, #20 │ │ │ │ │ - mov r7, r1 │ │ │ │ │ - mla r2, r3, r2, r4 │ │ │ │ │ - ldr.w r9, [r2, #4] │ │ │ │ │ - mla r2, r3, r5, r4 │ │ │ │ │ - ldr.w r8, [r2, #4] │ │ │ │ │ - ldr r2, [r4, #0] │ │ │ │ │ - cmp r2, #2 │ │ │ │ │ - beq.n df6 │ │ │ │ │ - ldr r2, [sp, #56] @ 0x38 │ │ │ │ │ - mla r3, r3, r2, r4 │ │ │ │ │ - ldr r2, [r3, #4] │ │ │ │ │ - ldr r3, [r3, #8] │ │ │ │ │ - str r2, [sp, #4] │ │ │ │ │ + mov.w fp, r2, lsl #1 │ │ │ │ │ + ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ + str r1, [sp, #4] │ │ │ │ │ + add.w r1, fp, r2 │ │ │ │ │ + add.w r1, sl, r1, lsl #2 │ │ │ │ │ + ldr.w r8, [r1, #4] │ │ │ │ │ + add.w r1, r9, r5 │ │ │ │ │ + add.w r1, sl, r1, lsl #2 │ │ │ │ │ + ldr r7, [r1, #4] │ │ │ │ │ + ldr.w r1, [sl] │ │ │ │ │ + cmp r1, #2 │ │ │ │ │ + beq.n f94 │ │ │ │ │ + add.w r3, r3, r3, lsl #1 │ │ │ │ │ + add.w r3, sl, r3, lsl #2 │ │ │ │ │ + ldrd r2, r3, [r3, #4] │ │ │ │ │ + str r2, [sp, #0] │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ - mov r3, r8 │ │ │ │ │ - mov fp, r9 │ │ │ │ │ - mov sl, r3 │ │ │ │ │ - mov r1, r3 │ │ │ │ │ - mov r0, fp │ │ │ │ │ - mov fp, sl │ │ │ │ │ + mov r4, r7 │ │ │ │ │ + mov r0, r8 │ │ │ │ │ + mov r1, r4 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ - mov r3, r1 │ │ │ │ │ + mov r0, r4 │ │ │ │ │ + mov r4, r1 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - bne.n da8 │ │ │ │ │ - str r1, [sp, #8] │ │ │ │ │ - mov r0, r8 │ │ │ │ │ - mov r1, sl │ │ │ │ │ + bne.n f38 │ │ │ │ │ + mov r3, r0 │ │ │ │ │ + mov r1, r0 │ │ │ │ │ + mov r0, r7 │ │ │ │ │ + str r3, [sp, #8] │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ - ldr r3, [sp, #4] │ │ │ │ │ - mul.w r0, r9, r0 │ │ │ │ │ + ldr r3, [sp, #0] │ │ │ │ │ + mul.w r0, r8, r0 │ │ │ │ │ ldr r1, [sp, #60] @ 0x3c │ │ │ │ │ mul.w r0, r3, r0 │ │ │ │ │ - ldr r3, [sp, #8] │ │ │ │ │ + ldr r3, [sp, #4] │ │ │ │ │ str r0, [r1, #0] │ │ │ │ │ - ldr.w r1, [r7, #164] @ 0xa4 │ │ │ │ │ - tst.w r1, #8 │ │ │ │ │ - bne.n dee │ │ │ │ │ - cmp r9, r8 │ │ │ │ │ + ldr.w r1, [r3, #164] @ 0xa4 │ │ │ │ │ + lsls r3, r1, #28 │ │ │ │ │ + bmi.n f7a │ │ │ │ │ + ldr r3, [sp, #8] │ │ │ │ │ + cmp r8, r7 │ │ │ │ │ it ne │ │ │ │ │ - cmpne.w sl, #1 │ │ │ │ │ - ble.n dee │ │ │ │ │ - ldr r2, [sp, #12] │ │ │ │ │ - cmp r2, #1 │ │ │ │ │ - beq.n dfe │ │ │ │ │ - mov r0, r3 │ │ │ │ │ + cmpne r3, #1 │ │ │ │ │ + ble.n f7a │ │ │ │ │ + ldr r3, [sp, #12] │ │ │ │ │ + cmp r3, #1 │ │ │ │ │ + beq.n f9e │ │ │ │ │ + mov r0, r4 │ │ │ │ │ add sp, #20 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - movs r3, #1 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + str r3, [sp, #0] │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ - b.n da4 │ │ │ │ │ - movs r1, #12 │ │ │ │ │ - adds r4, #4 │ │ │ │ │ - ldr r0, [sp, #4] │ │ │ │ │ - mul.w r5, r1, r5 │ │ │ │ │ - adds r7, r4, r5 │ │ │ │ │ - ldr r2, [r7, #4] │ │ │ │ │ - cmp r2, r0 │ │ │ │ │ - bne.n dee │ │ │ │ │ - mul.w r6, r1, r6 │ │ │ │ │ - adds r1, r4, r6 │ │ │ │ │ - ldr r2, [r1, #8] │ │ │ │ │ - cmp r2, r0 │ │ │ │ │ - bne.n dee │ │ │ │ │ - ldr r6, [r4, r6] │ │ │ │ │ - ldr r4, [r4, r5] │ │ │ │ │ - ldr.w r8, [r1, #4] │ │ │ │ │ - cmp r6, r4 │ │ │ │ │ - beq.n e44 │ │ │ │ │ - ldr r2, [sp, #4] │ │ │ │ │ - mul.w r4, r2, r4 │ │ │ │ │ - cmp r8, r4 │ │ │ │ │ - bne.n dee │ │ │ │ │ - mul.w sl, r6, r2 │ │ │ │ │ - ldr r3, [r7, #8] │ │ │ │ │ - sub.w r3, r3, sl │ │ │ │ │ - clz r3, r3 │ │ │ │ │ - lsrs r3, r3, #5 │ │ │ │ │ - b.n dee │ │ │ │ │ - ldr r2, [r7, #8] │ │ │ │ │ + b.n f34 │ │ │ │ │ + add.w r3, r9, r5 │ │ │ │ │ + add.w r2, sl, #4 │ │ │ │ │ + ldr r0, [sp, #0] │ │ │ │ │ + mov.w r3, r3, lsl #2 │ │ │ │ │ + add.w r5, r2, r3 │ │ │ │ │ + ldr r1, [r5, #4] │ │ │ │ │ + cmp r1, r0 │ │ │ │ │ + bne.n f7a │ │ │ │ │ + add.w r1, fp, r6 │ │ │ │ │ + mov r7, r0 │ │ │ │ │ + mov.w r1, r1, lsl #2 │ │ │ │ │ + add.w r6, r2, r1 │ │ │ │ │ + ldr r0, [r6, #8] │ │ │ │ │ + cmp r0, r7 │ │ │ │ │ + bne.n f7a │ │ │ │ │ + ldr r7, [r2, r1] │ │ │ │ │ + ldr.w r8, [r6, #4] │ │ │ │ │ + ldr r6, [r2, r3] │ │ │ │ │ + cmp r7, r6 │ │ │ │ │ + beq.n ff4 │ │ │ │ │ + ldr r3, [sp, #0] │ │ │ │ │ + mul.w r6, r3, r6 │ │ │ │ │ cmp r8, r6 │ │ │ │ │ + bne.n f7a │ │ │ │ │ + ldr r4, [r5, #8] │ │ │ │ │ + mul.w sl, r7, r3 │ │ │ │ │ + sub.w r4, r4, sl │ │ │ │ │ + clz r4, r4 │ │ │ │ │ + mov.w r4, r4, lsr #5 │ │ │ │ │ + b.n f7a │ │ │ │ │ + ldr r3, [r5, #8] │ │ │ │ │ + cmp r8, r7 │ │ │ │ │ it ge │ │ │ │ │ - cmpge r2, r8 │ │ │ │ │ - bne.n e28 │ │ │ │ │ - mov r1, r0 │ │ │ │ │ + cmpge r3, r8 │ │ │ │ │ + bne.n fd6 │ │ │ │ │ + ldr r1, [sp, #0] │ │ │ │ │ mov r0, r8 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ - ldr r3, [sp, #8] │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - bne.n e28 │ │ │ │ │ - ldr r3, [sp, #12] │ │ │ │ │ - b.n dee │ │ │ │ │ + bne.n fd6 │ │ │ │ │ + ldr r4, [sp, #12] │ │ │ │ │ + b.n f7a │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000e60 : │ │ │ │ │ +00001010 : │ │ │ │ │ applicable_toms513(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ - mov.w ip, #12 │ │ │ │ │ - ldr r4, [r0, #8] │ │ │ │ │ - ldr.w r7, [r1, #164] @ 0xa4 │ │ │ │ │ - ldr r1, [r4, #0] │ │ │ │ │ - mla r0, ip, r2, r4 │ │ │ │ │ - ubfx lr, r7, #0, #20 │ │ │ │ │ - cmp r1, #2 │ │ │ │ │ - and.w r7, r7, #8 │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ + mov.w ip, r3, lsl #1 │ │ │ │ │ + ldr r5, [r0, #8] │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ + mov.w lr, r2, lsl #1 │ │ │ │ │ + ldr.w r1, [r1, #164] @ 0xa4 │ │ │ │ │ + add.w r0, lr, r2 │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ + add.w r0, r5, r0, lsl #2 │ │ │ │ │ + ldr r4, [sp, #32] │ │ │ │ │ + ldr r7, [r0, #4] │ │ │ │ │ + add.w r0, ip, r3 │ │ │ │ │ + add.w r0, r5, r0, lsl #2 │ │ │ │ │ + and.w r8, r1, #8 │ │ │ │ │ + ubfx r9, r1, #0, #20 │ │ │ │ │ + ldr r1, [r5, #0] │ │ │ │ │ ldr r6, [r0, #4] │ │ │ │ │ - mla r0, ip, r3, r4 │ │ │ │ │ - ldr r5, [r0, #4] │ │ │ │ │ - add.w r0, r6, r5 │ │ │ │ │ + cmp r1, #2 │ │ │ │ │ + add.w r0, r7, r6 │ │ │ │ │ add.w r0, r0, r0, lsr #31 │ │ │ │ │ mov.w r0, r0, asr #1 │ │ │ │ │ add.w r0, r0, #7 │ │ │ │ │ mov.w r0, r0, lsr #3 │ │ │ │ │ - beq.n ec6 │ │ │ │ │ - ldr r1, [sp, #24] │ │ │ │ │ - mla r1, ip, r1, r4 │ │ │ │ │ - ldrd r8, ip, [r1, #4] │ │ │ │ │ - ldr r1, [sp, #28] │ │ │ │ │ - add.w r0, r0, r8, lsl #1 │ │ │ │ │ + beq.n 10a4 │ │ │ │ │ + add.w r4, r4, r4, lsl #1 │ │ │ │ │ + add.w r1, r5, r4, lsl #2 │ │ │ │ │ + ldrd r4, sl, [r1, #4] │ │ │ │ │ + ldr r1, [sp, #36] @ 0x24 │ │ │ │ │ + add.w r0, r0, r4, lsl #1 │ │ │ │ │ str r0, [r1, #0] │ │ │ │ │ - cbnz r7, ec0 │ │ │ │ │ - cmp.w r8, #8 │ │ │ │ │ - ble.n f20 │ │ │ │ │ - cmp r6, r5 │ │ │ │ │ - beq.n ec0 │ │ │ │ │ - cmp.w ip, #1 │ │ │ │ │ - beq.n ee0 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, pc} │ │ │ │ │ - ldr r1, [sp, #28] │ │ │ │ │ - adds r0, #2 │ │ │ │ │ + cmp.w r8, #0 │ │ │ │ │ + bne.n 108e │ │ │ │ │ + cmp r4, #8 │ │ │ │ │ + ble.n 110e │ │ │ │ │ + cmp r7, r6 │ │ │ │ │ + beq.n 108e │ │ │ │ │ + cmp.w sl, #1 │ │ │ │ │ + beq.n 10c0 │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {sl, pc} │ │ │ │ │ + ldr r1, [sp, #36] @ 0x24 │ │ │ │ │ + add.w r0, r0, #2 │ │ │ │ │ str r0, [r1, #0] │ │ │ │ │ - cmp r7, #0 │ │ │ │ │ - bne.n ec0 │ │ │ │ │ - tst.w lr, #65536 @ 0x10000 │ │ │ │ │ - bne.n ec0 │ │ │ │ │ - cmp r6, r5 │ │ │ │ │ + cmp.w r8, #0 │ │ │ │ │ + bne.n 108e │ │ │ │ │ + tst.w r9, #65536 @ 0x10000 │ │ │ │ │ + bne.n 108e │ │ │ │ │ + cmp r7, r6 │ │ │ │ │ it ne │ │ │ │ │ - movne.w r8, #1 │ │ │ │ │ - beq.n ec0 │ │ │ │ │ - movs r1, #12 │ │ │ │ │ - adds r4, #4 │ │ │ │ │ - mul.w r3, r1, r3 │ │ │ │ │ - adds r5, r4, r3 │ │ │ │ │ - ldr r0, [r5, #4] │ │ │ │ │ - cmp r0, r8 │ │ │ │ │ - bne.n ec0 │ │ │ │ │ - mul.w r1, r2, r1 │ │ │ │ │ - adds r2, r4, r1 │ │ │ │ │ - ldr r0, [r2, #8] │ │ │ │ │ - cmp r0, r8 │ │ │ │ │ - bne.n ec0 │ │ │ │ │ - ldr r7, [r4, r1] │ │ │ │ │ - ldr r4, [r4, r3] │ │ │ │ │ - ldr r6, [r2, #4] │ │ │ │ │ - cmp r7, r4 │ │ │ │ │ - beq.n f28 │ │ │ │ │ - mul.w r4, r4, r8 │ │ │ │ │ - cmp r6, r4 │ │ │ │ │ - bne.n ec0 │ │ │ │ │ - mul.w r8, r7, r8 │ │ │ │ │ - ldr r0, [r5, #8] │ │ │ │ │ - sub.w r0, r0, r8 │ │ │ │ │ + movne r4, #1 │ │ │ │ │ + beq.n 108e │ │ │ │ │ + add ip, r3 │ │ │ │ │ + add.w r5, r5, #4 │ │ │ │ │ + mov.w ip, ip, lsl #2 │ │ │ │ │ + add.w r6, r5, ip │ │ │ │ │ + ldr r3, [r6, #4] │ │ │ │ │ + cmp r3, r4 │ │ │ │ │ + bne.n 108e │ │ │ │ │ + add lr, r2 │ │ │ │ │ + mov.w lr, lr, lsl #2 │ │ │ │ │ + add.w r3, r5, lr │ │ │ │ │ + ldr r2, [r3, #8] │ │ │ │ │ + cmp r2, r4 │ │ │ │ │ + bne.n 108e │ │ │ │ │ + ldr.w r8, [r5, lr] │ │ │ │ │ + ldr.w r5, [r5, ip] │ │ │ │ │ + ldr r7, [r3, #4] │ │ │ │ │ + cmp r8, r5 │ │ │ │ │ + beq.n 1116 │ │ │ │ │ + mul.w r5, r4, r5 │ │ │ │ │ + cmp r7, r5 │ │ │ │ │ + bne.n 108e │ │ │ │ │ + ldr r0, [r6, #8] │ │ │ │ │ + mul.w r4, r8, r4 │ │ │ │ │ + sub.w r0, r0, r4 │ │ │ │ │ clz r0, r0 │ │ │ │ │ - lsrs r0, r0, #5 │ │ │ │ │ - b.n ec2 │ │ │ │ │ - tst.w lr, #65536 @ 0x10000 │ │ │ │ │ - bne.n ec0 │ │ │ │ │ - b.n eb6 │ │ │ │ │ - ldr r3, [r5, #8] │ │ │ │ │ - cmp r6, r7 │ │ │ │ │ + mov.w r0, r0, lsr #5 │ │ │ │ │ + b.n 1092 │ │ │ │ │ + tst.w r9, #65536 @ 0x10000 │ │ │ │ │ + bne.n 108e │ │ │ │ │ + b.n 1084 │ │ │ │ │ + ldr r3, [r6, #8] │ │ │ │ │ + cmp r7, r8 │ │ │ │ │ it ge │ │ │ │ │ - cmpge r3, r6 │ │ │ │ │ - bne.n f06 │ │ │ │ │ - mov r1, r8 │ │ │ │ │ - mov r0, r6 │ │ │ │ │ + cmpge r3, r7 │ │ │ │ │ + bne.n 10f2 │ │ │ │ │ + mov r1, r4 │ │ │ │ │ + mov r0, r7 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - bne.n f06 │ │ │ │ │ + bne.n 10f2 │ │ │ │ │ movs r0, #1 │ │ │ │ │ - b.n ec2 │ │ │ │ │ - nop │ │ │ │ │ + b.n 1092 │ │ │ │ │ │ │ │ │ │ -00000f44 : │ │ │ │ │ +00001130 : │ │ │ │ │ mkplan(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r6, r2 │ │ │ │ │ - sub sp, #52 @ 0x34 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r8, r2 │ │ │ │ │ ldrd r2, r3, [r1, #12] │ │ │ │ │ - strd r1, r0, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + sub sp, #52 @ 0x34 │ │ │ │ │ + str r1, [sp, #12] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - beq.n f60 │ │ │ │ │ - movs r0, #0 │ │ │ │ │ + beq.n 116e │ │ │ │ │ + mov.w r0, #0 │ │ │ │ │ add sp, #52 @ 0x34 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ ldr r3, [r1, #4] │ │ │ │ │ - ldr r7, [r3, #0] │ │ │ │ │ - cmp r7, #0 │ │ │ │ │ - bne.n f58 │ │ │ │ │ + mov r2, r1 │ │ │ │ │ + ldr r6, [r3, #0] │ │ │ │ │ + cmp r6, #0 │ │ │ │ │ + bne.n 1152 │ │ │ │ │ ldr.w fp, [r1, #8] │ │ │ │ │ ldr.w r9, [fp] │ │ │ │ │ sub.w r3, r9, #2 │ │ │ │ │ cmp r3, #1 │ │ │ │ │ - bhi.n f58 │ │ │ │ │ + bhi.n 1152 │ │ │ │ │ cmp.w r9, #2 │ │ │ │ │ - beq.w 11d0 │ │ │ │ │ + mov r5, r0 │ │ │ │ │ + beq.w 13f8 │ │ │ │ │ + mov r7, r6 │ │ │ │ │ mov sl, fp │ │ │ │ │ - mov r8, r7 │ │ │ │ │ + strd r6, r0, [sp, #16] │ │ │ │ │ mov.w r9, #2 │ │ │ │ │ mov r4, fp │ │ │ │ │ - str r7, [sp, #20] │ │ │ │ │ - str r7, [sp, #24] │ │ │ │ │ - b.n f9e │ │ │ │ │ - cmp.w r8, #1 │ │ │ │ │ - beq.w 11cc │ │ │ │ │ + str r6, [sp, #24] │ │ │ │ │ + mov r6, r8 │ │ │ │ │ + b.n 11b2 │ │ │ │ │ + cmp r7, #1 │ │ │ │ │ + beq.w 13f2 │ │ │ │ │ mov r6, r2 │ │ │ │ │ mov.w r9, #0 │ │ │ │ │ ldrd r5, r3, [sl, #32] │ │ │ │ │ cmp r3, r5 │ │ │ │ │ - beq.w 112c │ │ │ │ │ - cmp.w r8, #2 │ │ │ │ │ - beq.n f58 │ │ │ │ │ - ldr r3, [sp, #20] │ │ │ │ │ + beq.w 1346 │ │ │ │ │ + cmp r7, #2 │ │ │ │ │ + beq.n 1152 │ │ │ │ │ + ldr r3, [sp, #16] │ │ │ │ │ mov r2, r6 │ │ │ │ │ rsb r9, r3, #1 │ │ │ │ │ mov r6, r9 │ │ │ │ │ ldrd r0, r3, [sl, #20] │ │ │ │ │ cmp r3, r0 │ │ │ │ │ - beq.w 117c │ │ │ │ │ + beq.w 139c │ │ │ │ │ sub.w sl, sl, #12 │ │ │ │ │ - add.w r8, r8, #1 │ │ │ │ │ - adds r4, #12 │ │ │ │ │ - str.w r8, [sp, #20] │ │ │ │ │ + add.w r7, r7, #1 │ │ │ │ │ ldrd r0, r3, [sl, #44] @ 0x2c │ │ │ │ │ + add.w r4, r4, #12 │ │ │ │ │ + str r7, [sp, #16] │ │ │ │ │ cmp r3, r0 │ │ │ │ │ - bne.n f90 │ │ │ │ │ - ldr r5, [r4, #4] │ │ │ │ │ - rsb r6, r8, #3 │ │ │ │ │ - ldr.w r7, [fp, #4] │ │ │ │ │ - cmp r5, r7 │ │ │ │ │ - beq.w 1226 │ │ │ │ │ + bne.n 11a6 │ │ │ │ │ + ldr.w r8, [r4, #4] │ │ │ │ │ + rsb r6, r7, #3 │ │ │ │ │ + ldr.w r5, [fp, #4] │ │ │ │ │ + cmp r8, r5 │ │ │ │ │ + beq.w 1450 │ │ │ │ │ cmp r0, #1 │ │ │ │ │ - bne.n f90 │ │ │ │ │ - ldr.w r9, [sl, #40] @ 0x28 │ │ │ │ │ + bne.n 11a6 │ │ │ │ │ ldr.w r3, [fp, #8] │ │ │ │ │ + ldr.w r9, [sl, #40] @ 0x28 │ │ │ │ │ cmp r9, r3 │ │ │ │ │ - bne.n f90 │ │ │ │ │ + bne.n 11a6 │ │ │ │ │ ldr r3, [r4, #12] │ │ │ │ │ cmp r9, r3 │ │ │ │ │ - bne.n f90 │ │ │ │ │ + bne.n 11a6 │ │ │ │ │ + cmp r8, r5 │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ - cmp r5, r7 │ │ │ │ │ - beq.w 13d0 │ │ │ │ │ - mul.w r7, r7, r9 │ │ │ │ │ - cmp r3, r7 │ │ │ │ │ - bne.n f90 │ │ │ │ │ - mul.w r9, r5, r9 │ │ │ │ │ + beq.w 1600 │ │ │ │ │ + mul.w r5, r5, r9 │ │ │ │ │ + cmp r3, r5 │ │ │ │ │ + bne.n 11a6 │ │ │ │ │ ldr.w r3, [fp, #12] │ │ │ │ │ + mul.w r9, r8, r9 │ │ │ │ │ cmp r3, r9 │ │ │ │ │ - bne.n f90 │ │ │ │ │ - ldr r7, [sp, #24] │ │ │ │ │ + bne.n 11a6 │ │ │ │ │ mov r9, r6 │ │ │ │ │ - mov r6, r2 │ │ │ │ │ - ldr.w r2, [r6, #164] @ 0xa4 │ │ │ │ │ + ldrd r5, r6, [sp, #20] │ │ │ │ │ + mov r8, r2 │ │ │ │ │ + ldr.w r2, [r8, #164] @ 0xa4 │ │ │ │ │ ubfx r3, r2, #0, #20 │ │ │ │ │ lsls r2, r2, #15 │ │ │ │ │ - bmi.w 1240 │ │ │ │ │ + bmi.w 146a │ │ │ │ │ lsls r3, r3, #28 │ │ │ │ │ - bpl.n 1048 │ │ │ │ │ + bpl.n 1266 │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ - movs r2, #12 │ │ │ │ │ + add.w r2, r7, r7, lsl #1 │ │ │ │ │ + add.w r1, r6, r6, lsl #1 │ │ │ │ │ ldr r3, [r3, #8] │ │ │ │ │ - mla r1, r2, r8, r3 │ │ │ │ │ - mla r3, r2, r7, r3 │ │ │ │ │ - ldr r2, [r1, #4] │ │ │ │ │ + add.w r2, r3, r2, lsl #2 │ │ │ │ │ + add.w r3, r3, r1, lsl #2 │ │ │ │ │ + ldr r2, [r2, #4] │ │ │ │ │ ldr r3, [r3, #4] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.n f58 │ │ │ │ │ - ldr r3, [sp, #16] │ │ │ │ │ + bne.w 1152 │ │ │ │ │ + ldr r3, [r5, #8] │ │ │ │ │ add r2, sp, #44 @ 0x2c │ │ │ │ │ + mov r1, r8 │ │ │ │ │ ldr r0, [sp, #12] │ │ │ │ │ - mov r1, r6 │ │ │ │ │ - ldr r3, [r3, #8] │ │ │ │ │ strd r9, r2, [sp] │ │ │ │ │ - mov r2, r8 │ │ │ │ │ + mov r2, r7 │ │ │ │ │ ldr.w sl, [r3, #4] │ │ │ │ │ - mov r3, r7 │ │ │ │ │ + mov r3, r6 │ │ │ │ │ blx sl │ │ │ │ │ cmp r0, #0 │ │ │ │ │ - beq.w f58 │ │ │ │ │ - ldr.w r3, [r6, #164] @ 0xa4 │ │ │ │ │ + beq.w 1152 │ │ │ │ │ + ldr.w r3, [r8, #164] @ 0xa4 │ │ │ │ │ tst.w r3, #81920 @ 0x14000 │ │ │ │ │ - beq.n 107c │ │ │ │ │ + beq.n 1298 │ │ │ │ │ ldr.w sl, [sp, #44] @ 0x2c │ │ │ │ │ cmp.w sl, #65536 @ 0x10000 │ │ │ │ │ - bgt.w 1360 │ │ │ │ │ - ldr r3, [sp, #16] │ │ │ │ │ - movs r0, #120 @ 0x78 │ │ │ │ │ - ldr r1, [pc, #892] @ (1400 ) │ │ │ │ │ - ldr r3, [r3, #8] │ │ │ │ │ - add r1, pc │ │ │ │ │ + bgt.w 158a │ │ │ │ │ + ldr r3, [r5, #8] │ │ │ │ │ + mov.w r0, #120 @ 0x78 │ │ │ │ │ + add.w r7, r7, r7, lsl #1 │ │ │ │ │ + add.w r6, r6, r6, lsl #1 │ │ │ │ │ + ldr r1, [pc, #908] @ (1634 ) │ │ │ │ │ ldr r2, [r3, #0] │ │ │ │ │ + add r1, pc │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mkplan_rdft │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ - movs r1, #12 │ │ │ │ │ mov sl, r0 │ │ │ │ │ ldr r3, [r3, #8] │ │ │ │ │ + add.w r7, r3, r7, lsl #2 │ │ │ │ │ ldr r2, [r3, #0] │ │ │ │ │ - mla r8, r1, r8, r3 │ │ │ │ │ - mla r7, r1, r7, r3 │ │ │ │ │ + add.w r6, r3, r6, lsl #2 │ │ │ │ │ + ldr.w fp, [r7, #4] │ │ │ │ │ + ldr r7, [r6, #4] │ │ │ │ │ cmp r2, #2 │ │ │ │ │ - ldr.w fp, [r8, #4] │ │ │ │ │ - ldr.w r8, [r7, #4] │ │ │ │ │ - str.w fp, [r0, #64] @ 0x40 │ │ │ │ │ - str.w r8, [r0, #68] @ 0x44 │ │ │ │ │ - beq.n 1120 │ │ │ │ │ - mla r3, r1, r9, r3 │ │ │ │ │ + strd fp, r7, [r0, #64] @ 0x40 │ │ │ │ │ + beq.n 1338 │ │ │ │ │ + add.w r9, r9, r9, lsl #1 │ │ │ │ │ + add.w r3, r3, r9, lsl #2 │ │ │ │ │ ldr r3, [r3, #4] │ │ │ │ │ str.w r3, [sl, #72] @ 0x48 │ │ │ │ │ mov r0, fp │ │ │ │ │ + mov r4, r7 │ │ │ │ │ ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ - mov r4, r8 │ │ │ │ │ str.w r3, [sl, #76] @ 0x4c │ │ │ │ │ mov r1, r4 │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ mov r0, r4 │ │ │ │ │ mov r4, r1 │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - bne.n 10c6 │ │ │ │ │ - mov r7, r1 │ │ │ │ │ + bne.n 12e6 │ │ │ │ │ mov r9, r0 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - str.w r0, [sl, #88] @ 0x58 │ │ │ │ │ mov r0, fp │ │ │ │ │ + str.w r9, [sl, #88] @ 0x58 │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ mov r1, r9 │ │ │ │ │ str.w r0, [sl, #80] @ 0x50 │ │ │ │ │ - mov r0, r8 │ │ │ │ │ + mov r0, r7 │ │ │ │ │ bl 0 <__aeabi_idiv> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idiv │ │ │ │ │ - ldr r4, [sp, #16] │ │ │ │ │ str.w r0, [sl, #84] @ 0x54 │ │ │ │ │ add.w r0, sl, #8 │ │ │ │ │ - str.w r4, [sl, #112] @ 0x70 │ │ │ │ │ + str.w r5, [sl, #112] @ 0x70 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_ops_zero │ │ │ │ │ - ldr r3, [r4, #8] │ │ │ │ │ - ldr r0, [sp, #12] │ │ │ │ │ + ldr r3, [r5, #8] │ │ │ │ │ mov r2, sl │ │ │ │ │ - mov r1, r6 │ │ │ │ │ - str.w r7, [sl, #108] @ 0x6c │ │ │ │ │ + mov r1, r8 │ │ │ │ │ + ldr r0, [sp, #12] │ │ │ │ │ ldr r3, [r3, #8] │ │ │ │ │ - strd r7, r7, [sl, #100] @ 0x64 │ │ │ │ │ + strd r4, r4, [sl, #100] @ 0x64 │ │ │ │ │ + str.w r4, [sl, #108] @ 0x6c │ │ │ │ │ blx r3 │ │ │ │ │ - cbz r0, 1124 │ │ │ │ │ + cbz r0, 133e │ │ │ │ │ mov r0, sl │ │ │ │ │ - add sp, #52 @ 0x34 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - movs r3, #1 │ │ │ │ │ - b.n 10b8 │ │ │ │ │ + b.n 1156 │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + b.n 12d8 │ │ │ │ │ mov r0, sl │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_plan_destroy_internal │ │ │ │ │ - b.n f58 │ │ │ │ │ + b.n 1152 │ │ │ │ │ ldr r3, [r4, #4] │ │ │ │ │ - ldr.w r7, [fp, #16] │ │ │ │ │ - cmp r7, r3 │ │ │ │ │ - beq.w 1286 │ │ │ │ │ + ldr.w r8, [fp, #16] │ │ │ │ │ + cmp r8, r3 │ │ │ │ │ + beq.w 14b6 │ │ │ │ │ cmp r5, #1 │ │ │ │ │ - bne.w fa8 │ │ │ │ │ - ldr.w r2, [sl, #28] │ │ │ │ │ + bne.w 11bc │ │ │ │ │ ldr.w r1, [fp, #20] │ │ │ │ │ + ldr.w r2, [sl, #28] │ │ │ │ │ cmp r1, r2 │ │ │ │ │ - bne.w fa8 │ │ │ │ │ + bne.w 11bc │ │ │ │ │ ldr r1, [r4, #12] │ │ │ │ │ cmp r1, r2 │ │ │ │ │ - bne.w fa8 │ │ │ │ │ + bne.w 11bc │ │ │ │ │ ldr r1, [r4, #8] │ │ │ │ │ - cmp r7, r3 │ │ │ │ │ + cmp r8, r3 │ │ │ │ │ str r1, [sp, #28] │ │ │ │ │ - beq.w 1374 │ │ │ │ │ - mul.w r7, r2, r7 │ │ │ │ │ + beq.w 159e │ │ │ │ │ ldr r1, [sp, #28] │ │ │ │ │ - cmp r7, r1 │ │ │ │ │ - bne.w fa8 │ │ │ │ │ + mul.w r8, r2, r8 │ │ │ │ │ + cmp r8, r1 │ │ │ │ │ + bne.w 11bc │ │ │ │ │ mul.w r2, r3, r2 │ │ │ │ │ ldr.w r3, [fp, #24] │ │ │ │ │ cmp r2, r3 │ │ │ │ │ - bne.w fa8 │ │ │ │ │ - movs r7, #1 │ │ │ │ │ - b.n 1020 │ │ │ │ │ - ldr r7, [r4, #4] │ │ │ │ │ + bne.w 11bc │ │ │ │ │ + ldr r5, [sp, #20] │ │ │ │ │ + mov r8, r6 │ │ │ │ │ + mov.w r6, #1 │ │ │ │ │ + b.n 1236 │ │ │ │ │ + ldr.w r8, [r4, #4] │ │ │ │ │ ldr.w r5, [fp, #28] │ │ │ │ │ - cmp r5, r7 │ │ │ │ │ - beq.w 12a0 │ │ │ │ │ + cmp r5, r8 │ │ │ │ │ + beq.w 14d0 │ │ │ │ │ cmp r0, #1 │ │ │ │ │ - bne.w fc2 │ │ │ │ │ + bne.w 11d4 │ │ │ │ │ ldr.w r9, [sl, #16] │ │ │ │ │ ldr.w r3, [fp, #32] │ │ │ │ │ cmp r9, r3 │ │ │ │ │ - bne.w fc2 │ │ │ │ │ + bne.w 11d4 │ │ │ │ │ ldr r3, [r4, #12] │ │ │ │ │ cmp r9, r3 │ │ │ │ │ - bne.w fc2 │ │ │ │ │ + bne.w 11d4 │ │ │ │ │ + cmp r5, r8 │ │ │ │ │ ldr r3, [r4, #8] │ │ │ │ │ - cmp r5, r7 │ │ │ │ │ - beq.w 13a0 │ │ │ │ │ + beq.w 15ce │ │ │ │ │ mul.w r5, r9, r5 │ │ │ │ │ cmp r3, r5 │ │ │ │ │ - bne.w fc2 │ │ │ │ │ - mul.w r7, r9, r7 │ │ │ │ │ + bne.w 11d4 │ │ │ │ │ ldr.w r3, [fp, #36] @ 0x24 │ │ │ │ │ - cmp r3, r7 │ │ │ │ │ - bne.w fc2 │ │ │ │ │ + mul.w r8, r9, r8 │ │ │ │ │ + cmp r3, r8 │ │ │ │ │ + bne.w 11d4 │ │ │ │ │ + ldr r5, [sp, #20] │ │ │ │ │ mov r9, r6 │ │ │ │ │ - movs r7, #2 │ │ │ │ │ - mov r6, r2 │ │ │ │ │ - b.n 1020 │ │ │ │ │ - movs r6, #0 │ │ │ │ │ - b.n fb8 │ │ │ │ │ - ldrd r0, r1, [fp, #16] │ │ │ │ │ - ldr.w r3, [fp, #4] │ │ │ │ │ - cmp r3, r0 │ │ │ │ │ - beq.w 12ee │ │ │ │ │ - cmp r1, #1 │ │ │ │ │ - beq.w 131a │ │ │ │ │ - ldrd r0, r2, [fp, #4] │ │ │ │ │ - add.w r3, fp, #12 │ │ │ │ │ - ldr r1, [r3, #4] │ │ │ │ │ - cmp r1, r0 │ │ │ │ │ - beq.n 12ba │ │ │ │ │ - cmp r2, #1 │ │ │ │ │ - bne.w f58 │ │ │ │ │ - ldr r2, [r3, #12] │ │ │ │ │ - cmp r2, #1 │ │ │ │ │ + mov r8, r2 │ │ │ │ │ + mov.w r6, #2 │ │ │ │ │ + b.n 1236 │ │ │ │ │ + mov.w r6, #0 │ │ │ │ │ + b.n 11ca │ │ │ │ │ + ldr.w r7, [fp, #4] │ │ │ │ │ + ldrd r0, r3, [fp, #16] │ │ │ │ │ + cmp r7, r0 │ │ │ │ │ + beq.w 151c │ │ │ │ │ + cmp r3, #1 │ │ │ │ │ + beq.w 1546 │ │ │ │ │ + ldrd r0, r7, [fp, #4] │ │ │ │ │ + add.w r1, fp, #12 │ │ │ │ │ + ldr.w lr, [r1, #4] │ │ │ │ │ + cmp lr, r0 │ │ │ │ │ + beq.n 14ea │ │ │ │ │ + cmp r7, #1 │ │ │ │ │ + bne.w 1152 │ │ │ │ │ + ldr r3, [r1, #12] │ │ │ │ │ + cmp r3, #1 │ │ │ │ │ it eq │ │ │ │ │ - ldreq r2, [r3, #8] │ │ │ │ │ - bne.w f58 │ │ │ │ │ + ldreq r2, [r1, #8] │ │ │ │ │ + bne.w 1152 │ │ │ │ │ cmp r0, r2 │ │ │ │ │ - bne.w f58 │ │ │ │ │ + bne.w 1152 │ │ │ │ │ ldr.w r3, [fp, #12] │ │ │ │ │ - cmp r1, r3 │ │ │ │ │ - bne.w f58 │ │ │ │ │ + cmp lr, r3 │ │ │ │ │ + bne.w 1152 │ │ │ │ │ movs r2, #0 │ │ │ │ │ - movs r7, #1 │ │ │ │ │ - ldr.w r3, [r6, #164] @ 0xa4 │ │ │ │ │ - mov r8, r7 │ │ │ │ │ - mov r7, r2 │ │ │ │ │ + movs r6, #1 │ │ │ │ │ + ldr.w r3, [r8, #164] @ 0xa4 │ │ │ │ │ + mov r7, r6 │ │ │ │ │ + mov r6, r2 │ │ │ │ │ ubfx r3, r3, #0, #20 │ │ │ │ │ - b.n 102e │ │ │ │ │ - ldr r1, [r4, #12] │ │ │ │ │ + b.n 1244 │ │ │ │ │ ldr.w r3, [fp, #8] │ │ │ │ │ + ldr r1, [r4, #12] │ │ │ │ │ cmp r1, r3 │ │ │ │ │ - bne.w fe8 │ │ │ │ │ + bne.w 11fc │ │ │ │ │ ldr r1, [r4, #8] │ │ │ │ │ ldr.w r3, [fp, #12] │ │ │ │ │ cmp r1, r3 │ │ │ │ │ - bne.w fe8 │ │ │ │ │ - b.n 101a │ │ │ │ │ - mov.w sl, #12 │ │ │ │ │ - mla ip, sl, r9, fp │ │ │ │ │ - mul.w sl, sl, r8 │ │ │ │ │ + bne.w 11fc │ │ │ │ │ + b.n 122e │ │ │ │ │ + add.w r3, r9, r9, lsl #1 │ │ │ │ │ + add.w sl, r7, r7, lsl #1 │ │ │ │ │ + add.w ip, fp, r3, lsl #2 │ │ │ │ │ + mov.w sl, sl, lsl #2 │ │ │ │ │ ldr.w r0, [ip, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ - ldr r5, [sp, #12] │ │ │ │ │ + ldr r3, [sp, #12] │ │ │ │ │ mov fp, r0 │ │ │ │ │ - ldr r2, [r5, #8] │ │ │ │ │ + ldr r2, [r3, #8] │ │ │ │ │ add r2, sl │ │ │ │ │ ldr r0, [r2, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ - ldr r2, [r5, #8] │ │ │ │ │ + ldr r3, [sp, #12] │ │ │ │ │ mov r4, r0 │ │ │ │ │ + ldr r2, [r3, #8] │ │ │ │ │ add r2, sl │ │ │ │ │ ldr r0, [r2, #12] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_iabs │ │ │ │ │ mov r1, r0 │ │ │ │ │ mov r0, r4 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_imax │ │ │ │ │ cmp fp, r0 │ │ │ │ │ - bge.w f58 │ │ │ │ │ - ldr.w r3, [r6, #164] @ 0xa4 │ │ │ │ │ + bge.w 1152 │ │ │ │ │ + ldr.w r3, [r8, #164] @ 0xa4 │ │ │ │ │ ubfx r3, r3, #0, #20 │ │ │ │ │ - b.n 102e │ │ │ │ │ + b.n 1244 │ │ │ │ │ ldr r1, [r4, #12] │ │ │ │ │ ldr.w r2, [fp, #20] │ │ │ │ │ cmp r1, r2 │ │ │ │ │ - bne.w 1138 │ │ │ │ │ + bne.w 1352 │ │ │ │ │ ldr r1, [r4, #8] │ │ │ │ │ ldr.w r2, [fp, #24] │ │ │ │ │ cmp r1, r2 │ │ │ │ │ - bne.w 1138 │ │ │ │ │ - b.n 1178 │ │ │ │ │ - ldr.w r1, [fp, #32] │ │ │ │ │ + bne.w 1352 │ │ │ │ │ + b.n 1392 │ │ │ │ │ ldr r3, [r4, #12] │ │ │ │ │ + ldr.w r1, [fp, #32] │ │ │ │ │ cmp r1, r3 │ │ │ │ │ - bne.w 1188 │ │ │ │ │ + bne.w 13aa │ │ │ │ │ ldr r1, [r4, #8] │ │ │ │ │ ldr.w r3, [fp, #36] @ 0x24 │ │ │ │ │ cmp r1, r3 │ │ │ │ │ - bne.w 1188 │ │ │ │ │ - b.n 11c4 │ │ │ │ │ - ldr.w r8, [r3, #12] │ │ │ │ │ - cmp r2, r8 │ │ │ │ │ - beq.n 133e │ │ │ │ │ - cmp r2, #1 │ │ │ │ │ - bne.w f58 │ │ │ │ │ - cmp.w r8, #1 │ │ │ │ │ - bne.w f58 │ │ │ │ │ - ldr r2, [r3, #8] │ │ │ │ │ + bne.w 13aa │ │ │ │ │ + b.n 13e6 │ │ │ │ │ + ldr r3, [r1, #12] │ │ │ │ │ + cmp r7, r3 │ │ │ │ │ + beq.n 156a │ │ │ │ │ + cmp r7, #1 │ │ │ │ │ + bne.w 1152 │ │ │ │ │ + cmp r3, #1 │ │ │ │ │ + mov r7, r3 │ │ │ │ │ + bne.w 1152 │ │ │ │ │ + ldr r2, [r1, #8] │ │ │ │ │ ldr.w r3, [fp, #12] │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.n 1204 │ │ │ │ │ + bne.n 142e │ │ │ │ │ cmp r0, r2 │ │ │ │ │ - bgt.w f58 │ │ │ │ │ + bgt.w 1152 │ │ │ │ │ movs r2, #0 │ │ │ │ │ - ldr.w r3, [r6, #164] @ 0xa4 │ │ │ │ │ - mov r7, r2 │ │ │ │ │ + ldr.w r3, [r8, #164] @ 0xa4 │ │ │ │ │ + mov r6, r2 │ │ │ │ │ ubfx r3, r3, #0, #20 │ │ │ │ │ - b.n 102e │ │ │ │ │ + b.n 1244 │ │ │ │ │ ldr.w r2, [fp, #12] │ │ │ │ │ - cmp r1, r2 │ │ │ │ │ - beq.n 134e │ │ │ │ │ - cmp r1, #1 │ │ │ │ │ - bne.w 11e4 │ │ │ │ │ + cmp r3, r2 │ │ │ │ │ + beq.n 1578 │ │ │ │ │ + cmp r3, #1 │ │ │ │ │ + bne.w 140c │ │ │ │ │ cmp r2, #1 │ │ │ │ │ - bne.w 11e4 │ │ │ │ │ + bne.w 140c │ │ │ │ │ ldr.w r1, [fp, #8] │ │ │ │ │ - ldr.w r4, [fp, #24] │ │ │ │ │ - cmp r4, r1 │ │ │ │ │ - bne.n 132a │ │ │ │ │ + ldr.w r3, [fp, #24] │ │ │ │ │ + cmp r3, r1 │ │ │ │ │ + bne.n 1556 │ │ │ │ │ cmp r0, r1 │ │ │ │ │ - bgt.w 11e4 │ │ │ │ │ - mov.w r8, #0 │ │ │ │ │ - b.n 12e2 │ │ │ │ │ - ldr.w r2, [fp, #12] │ │ │ │ │ - cmp r2, #1 │ │ │ │ │ + bgt.w 140c │ │ │ │ │ + movs r7, #0 │ │ │ │ │ + b.n 1510 │ │ │ │ │ + ldr.w r3, [fp, #12] │ │ │ │ │ + cmp r3, #1 │ │ │ │ │ it eq │ │ │ │ │ ldreq.w r1, [fp, #8] │ │ │ │ │ - bne.w 11e4 │ │ │ │ │ + bne.w 140c │ │ │ │ │ cmp r0, r1 │ │ │ │ │ - bne.w 11e4 │ │ │ │ │ - ldr.w r2, [fp, #24] │ │ │ │ │ - cmp r3, r2 │ │ │ │ │ - bne.w 11e4 │ │ │ │ │ + bne.w 140c │ │ │ │ │ + ldr.w r3, [fp, #24] │ │ │ │ │ + cmp r7, r3 │ │ │ │ │ + bne.w 140c │ │ │ │ │ movs r2, #1 │ │ │ │ │ - b.n 1218 │ │ │ │ │ - ldr r5, [r3, #8] │ │ │ │ │ + b.n 1442 │ │ │ │ │ + ldr r2, [r1, #8] │ │ │ │ │ ldr.w r4, [fp, #12] │ │ │ │ │ - cmp r5, r4 │ │ │ │ │ - bne.n 12c2 │ │ │ │ │ - mov.w r8, #1 │ │ │ │ │ - b.n 127c │ │ │ │ │ - ldr.w r5, [fp, #8] │ │ │ │ │ - ldr.w r4, [fp, #24] │ │ │ │ │ - cmp r5, r4 │ │ │ │ │ - bne.n 12f6 │ │ │ │ │ - mov r8, r7 │ │ │ │ │ + cmp r2, r4 │ │ │ │ │ + bne.n 14f0 │ │ │ │ │ movs r7, #1 │ │ │ │ │ - b.n 127c │ │ │ │ │ + b.n 14ac │ │ │ │ │ + ldr.w r1, [fp, #8] │ │ │ │ │ + ldr.w r4, [fp, #24] │ │ │ │ │ + cmp r1, r4 │ │ │ │ │ + bne.n 1524 │ │ │ │ │ + mov r7, r6 │ │ │ │ │ + movs r6, #1 │ │ │ │ │ + b.n 14ac │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ add.w sl, sl, sl, lsl #3 │ │ │ │ │ ldr r0, [r3, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_tensor_sz │ │ │ │ │ cmp sl, r0 │ │ │ │ │ - ble.w 107c │ │ │ │ │ - b.n f58 │ │ │ │ │ + ble.w 1298 │ │ │ │ │ + b.n 1152 │ │ │ │ │ ldr.w r1, [fp, #24] │ │ │ │ │ ldr r0, [sp, #28] │ │ │ │ │ cmp r1, r0 │ │ │ │ │ - bne.w 115e │ │ │ │ │ - cmp r7, r0 │ │ │ │ │ - bgt.w 115e │ │ │ │ │ + bne.w 1378 │ │ │ │ │ + cmp r8, r0 │ │ │ │ │ + bgt.w 1378 │ │ │ │ │ mov r1, r2 │ │ │ │ │ - str r3, [sp, #36] @ 0x24 │ │ │ │ │ - str r2, [sp, #32] │ │ │ │ │ + strd r2, r3, [sp, #32] │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ ldrd r2, r3, [sp, #32] │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - bne.w 115e │ │ │ │ │ + bne.w 1378 │ │ │ │ │ mov r3, r5 │ │ │ │ │ - mov r7, r3 │ │ │ │ │ - b.n 1020 │ │ │ │ │ + mov r8, r6 │ │ │ │ │ + ldr r5, [sp, #20] │ │ │ │ │ + mov r6, r3 │ │ │ │ │ + b.n 1236 │ │ │ │ │ ldr.w r1, [fp, #36] @ 0x24 │ │ │ │ │ cmp r1, r3 │ │ │ │ │ - bne.w 11ac │ │ │ │ │ + bne.w 13ce │ │ │ │ │ cmp r5, r3 │ │ │ │ │ - bgt.w 11ac │ │ │ │ │ + bgt.w 13ce │ │ │ │ │ mov r0, r3 │ │ │ │ │ mov r1, r9 │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ str r2, [sp, #28] │ │ │ │ │ - str r3, [sp, #20] │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ - ldr r3, [sp, #20] │ │ │ │ │ + ldr r3, [sp, #16] │ │ │ │ │ ldr r2, [sp, #28] │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - bne.w 11ac │ │ │ │ │ + bne.w 13ce │ │ │ │ │ movs r3, #2 │ │ │ │ │ mov r9, r6 │ │ │ │ │ - mov r7, r3 │ │ │ │ │ - mov r6, r2 │ │ │ │ │ - b.n 1020 │ │ │ │ │ + ldr r5, [sp, #20] │ │ │ │ │ + mov r8, r2 │ │ │ │ │ + mov r6, r3 │ │ │ │ │ + b.n 1236 │ │ │ │ │ ldr.w r1, [fp, #12] │ │ │ │ │ cmp r1, r3 │ │ │ │ │ - bne.w 1006 │ │ │ │ │ - cmp r3, r5 │ │ │ │ │ - blt.w 1006 │ │ │ │ │ + bne.w 121a │ │ │ │ │ + cmp r3, r8 │ │ │ │ │ + blt.w 121a │ │ │ │ │ mov r0, r3 │ │ │ │ │ mov r1, r9 │ │ │ │ │ - str r2, [sp, #32] │ │ │ │ │ - str r3, [sp, #28] │ │ │ │ │ + strd r3, r2, [sp, #28] │ │ │ │ │ bl 0 <__aeabi_idivmod> │ │ │ │ │ R_ARM_THM_CALL __aeabi_idivmod │ │ │ │ │ ldrd r3, r2, [sp, #28] │ │ │ │ │ cmp r1, #0 │ │ │ │ │ - bne.w 1006 │ │ │ │ │ + bne.w 121a │ │ │ │ │ mov r3, r1 │ │ │ │ │ mov r9, r6 │ │ │ │ │ - mov r7, r3 │ │ │ │ │ - mov r6, r2 │ │ │ │ │ - b.n 1020 │ │ │ │ │ - .word 0x00000378 │ │ │ │ │ + ldr r5, [sp, #20] │ │ │ │ │ + mov r8, r2 │ │ │ │ │ + mov r6, r3 │ │ │ │ │ + b.n 1236 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x00000386 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ │ │ │ │ │ -00001404 : │ │ │ │ │ +00001638 : │ │ │ │ │ fftw_rdft_vrank3_transpose_register(): │ │ │ │ │ - push {r3, r4, r5, r6, r7, lr} │ │ │ │ │ + strd r4, r5, [sp, #-24]! │ │ │ │ │ + mov.w r4, #0 │ │ │ │ │ + ldr r5, [pc, #60] @ (1680 ) │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ mov r6, r0 │ │ │ │ │ - ldr r4, [pc, #32] @ (142c ) │ │ │ │ │ - add r4, pc │ │ │ │ │ - add.w r5, r4, #12 │ │ │ │ │ - ldr.w r7, [r4], #4 │ │ │ │ │ - mov r1, r5 │ │ │ │ │ - movs r0, #12 │ │ │ │ │ + strd r8, lr, [sp, #16] │ │ │ │ │ + add r5, pc │ │ │ │ │ + add.w r8, r5, #12 │ │ │ │ │ + ldr.w r7, [r5], #4 │ │ │ │ │ + mov r1, r8 │ │ │ │ │ + mov.w r0, #12 │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_mksolver │ │ │ │ │ mov r1, r0 │ │ │ │ │ - str r7, [r0, #8] │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ mov r0, r6 │ │ │ │ │ + str r7, [r1, #8] │ │ │ │ │ bl 0 │ │ │ │ │ R_ARM_THM_CALL fftw_solver_register │ │ │ │ │ - cmp r4, r5 │ │ │ │ │ - bne.n 1410 │ │ │ │ │ - pop {r3, r4, r5, r6, r7, pc} │ │ │ │ │ - .word 0x0000001e │ │ │ │ │ + cmp r4, #3 │ │ │ │ │ + bne.n 1652 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldmia.w sp!, {r8, pc} │ │ │ │ │ + .word 0x00000030 │ │ │ │ │ R_ARM_REL32 .data.rel.ro.local │ │ │ ├── hc2c.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 400 (bytes into file) │ │ │ │ │ + Start of section headers: 404 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 11 │ │ │ │ │ Section header string table index: 10 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,20 +1,20 @@ │ │ │ │ │ -There are 11 section headers, starting at offset 0x190: │ │ │ │ │ +There are 11 section headers, starting at offset 0x194: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000004 00 AX 0 0 4 │ │ │ │ │ - [ 2] .data PROGBITS 00000000 000038 000000 00 WA 0 0 1 │ │ │ │ │ - [ 3] .bss NOBITS 00000000 000038 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .data.rel.ro.local PROGBITS 00000000 000038 000018 00 WA 0 0 4 │ │ │ │ │ - [ 5] .rel.data.rel.ro.local REL 00000000 00011c 000010 08 I 8 4 4 │ │ │ │ │ - [ 6] .note.GNU-stack PROGBITS 00000000 000050 000000 00 0 0 1 │ │ │ │ │ - [ 7] .ARM.attributes ARM_ATTRIBUTES 00000000 000050 000033 00 0 0 1 │ │ │ │ │ - [ 8] .symtab SYMTAB 00000000 000084 000060 10 9 4 4 │ │ │ │ │ - [ 9] .strtab STRTAB 00000000 0000e4 000037 00 0 0 1 │ │ │ │ │ - [10] .shstrtab STRTAB 00000000 00012c 000063 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000008 00 AX 0 0 4 │ │ │ │ │ + [ 2] .data PROGBITS 00000000 00003c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 3] .bss NOBITS 00000000 00003c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .data.rel.ro.local PROGBITS 00000000 00003c 000018 00 WA 0 0 4 │ │ │ │ │ + [ 5] .rel.data.rel.ro.local REL 00000000 000120 000010 08 I 8 4 4 │ │ │ │ │ + [ 6] .note.GNU-stack PROGBITS 00000000 000054 000000 00 0 0 1 │ │ │ │ │ + [ 7] .ARM.attributes ARM_ATTRIBUTES 00000000 000054 000033 00 0 0 1 │ │ │ │ │ + [ 8] .symtab SYMTAB 00000000 000088 000060 10 9 4 4 │ │ │ │ │ + [ 9] .strtab STRTAB 00000000 0000e8 000037 00 0 0 1 │ │ │ │ │ + [10] .shstrtab STRTAB 00000000 000130 000063 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,9 +1,9 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 6 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 4 FUNC LOCAL DEFAULT 1 okp │ │ │ │ │ + 1: 00000001 6 FUNC LOCAL DEFAULT 1 okp │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 3: 00000000 0 NOTYPE LOCAL DEFAULT 4 $d │ │ │ │ │ 4: 00000000 12 OBJECT GLOBAL DEFAULT 4 fftw_rdft_hc2cb_genus │ │ │ │ │ 5: 0000000c 12 OBJECT GLOBAL DEFAULT 4 fftw_rdft_hc2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,5 +1,5 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro.local' at offset 0x11c contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro.local' at offset 0x120 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000000 00000102 R_ARM_ABS32 00000001 okp │ │ │ │ │ 0000000c 00000102 R_ARM_ABS32 00000001 okp │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,9 +1,10 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ okp(): │ │ │ │ │ - movs r0, #1 │ │ │ │ │ + mov.w r0, #1 │ │ │ │ │ bx lr │ │ │ │ │ + nop │ │ │ ├── hc2cf2_16.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 3104 (bytes into file) │ │ │ │ │ + Start of section headers: 3160 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0xc20: │ │ │ │ │ +There are 14 section headers, starting at offset 0xc58: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0008d0 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000b68 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000904 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000904 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000904 00000a 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 00090e 000014 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 000922 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000b90 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000952 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000952 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000988 000150 10 12 16 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000ad8 00008d 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000ba8 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000908 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000ba0 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 00093c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 00093c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 00093c 00000a 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000946 000014 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 00095a 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000bc8 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 00098a 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00098a 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 0009c0 000150 10 12 16 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000b10 00008d 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000be0 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 21 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 2232 FUNC LOCAL DEFAULT 1 hc2cf2_16 │ │ │ │ │ + 1: 00000001 2288 FUNC LOCAL DEFAULT 1 hc2cf2_16 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000050 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000060 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000008a8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 000008b8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 000008c8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000058 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000068 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000008e0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 000008f0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00000900 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 20 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 13: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 14: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 15: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 18: 000008b9 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cf2_16 │ │ │ │ │ + 18: 000008f1 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cf2_16 │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2c_register │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hc2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xb68 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xba0 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000058 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000005c 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000008c8 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000008cc 00000103 R_ARM_REL32 00000001 hc2cf2_16 │ │ │ │ │ -000008c2 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ +00000060 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000064 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000900 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000904 00000103 R_ARM_REL32 00000001 hc2cf2_16 │ │ │ │ │ +000008fc 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xb90 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xbc8 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000a02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001402 R_ARM_ABS32 00000000 fftw_rdft_hc2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,632 +1,642 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hc2cf2_16(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r8, r1 │ │ │ │ │ - mov sl, r2 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + mov r4, r3 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov sl, r1 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + mov fp, r2 │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub sp, #380 @ 0x17c │ │ │ │ │ - mov fp, r3 │ │ │ │ │ - ldr r3, [pc, #68] @ (58 ) │ │ │ │ │ - ldrd r2, r1, [sp, #488] @ 0x1e8 │ │ │ │ │ - add r3, pc │ │ │ │ │ - ldr r4, [sp, #484] @ 0x1e4 │ │ │ │ │ + sub sp, #372 @ 0x174 │ │ │ │ │ + ldrd r2, r1, [sp, #480] @ 0x1e0 │ │ │ │ │ + ldr r3, [pc, #56] @ (60 ) │ │ │ │ │ cmp r2, r1 │ │ │ │ │ - bge.w 89c │ │ │ │ │ - ldr r2, [sp, #496] @ 0x1f0 │ │ │ │ │ - mov r9, sl │ │ │ │ │ - vldr d11, [pc, #40] @ 50 │ │ │ │ │ - mov sl, fp │ │ │ │ │ - mov lr, r0 │ │ │ │ │ - mov fp, r4 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ - str r2, [sp, #364] @ 0x16c │ │ │ │ │ - negs r2, r2 │ │ │ │ │ - str r2, [sp, #368] @ 0x170 │ │ │ │ │ - ldr r2, [pc, #36] @ (5c ) │ │ │ │ │ - ldr r3, [r3, r2] │ │ │ │ │ + add r3, pc │ │ │ │ │ + bge.w 8c0 │ │ │ │ │ ldr r2, [sp, #488] @ 0x1e8 │ │ │ │ │ + mov r8, r0 │ │ │ │ │ + vldr d11, [pc, #36] @ 58 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + str r2, [sp, #356] @ 0x164 │ │ │ │ │ + rsb r2, r2, #0 │ │ │ │ │ + str r2, [sp, #360] @ 0x168 │ │ │ │ │ + ldr r2, [pc, #32] @ (64 ) │ │ │ │ │ + ldr r3, [r3, r2] │ │ │ │ │ + str r4, [sp, #24] │ │ │ │ │ + ldr r2, [sp, #480] @ 0x1e0 │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - str r3, [sp, #372] @ 0x174 │ │ │ │ │ - ldr r3, [sp, #480] @ 0x1e0 │ │ │ │ │ - add.w r6, r3, r2, lsl #6 │ │ │ │ │ - str r6, [sp, #0] │ │ │ │ │ - b.n 60 │ │ │ │ │ + str r3, [sp, #364] @ 0x16c │ │ │ │ │ + ldr r3, [sp, #472] @ 0x1d8 │ │ │ │ │ + add.w r7, r3, r2, lsl #6 │ │ │ │ │ + b.n 68 │ │ │ │ │ nop │ │ │ │ │ - nop.w │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ - .word 0x0000003e │ │ │ │ │ + .word 0x00000034 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - ldr r3, [sp, #0] │ │ │ │ │ - movs r5, #48 @ 0x30 │ │ │ │ │ - movs r6, #40 @ 0x28 │ │ │ │ │ - mul.w r0, r5, fp │ │ │ │ │ - vldr d9, [r3, #-64] @ 0xffffffc0 │ │ │ │ │ - vldr d14, [r3, #-56] @ 0xffffffc8 │ │ │ │ │ - vldr d7, [r3, #-48] @ 0xffffffd0 │ │ │ │ │ - vldr d15, [r3, #-24] @ 0xffffffe8 │ │ │ │ │ - vldr d10, [r3, #-32] @ 0xffffffe0 │ │ │ │ │ + vldr d9, [r7, #-64] @ 0xffffffc0 │ │ │ │ │ + add.w r7, r7, #64 @ 0x40 │ │ │ │ │ + vldr d14, [r7, #-120] @ 0xffffff88 │ │ │ │ │ + vldr d7, [r7, #-112] @ 0xffffff90 │ │ │ │ │ + vldr d8, [r7, #-112] @ 0xffffff90 │ │ │ │ │ + vldr d15, [r7, #-88] @ 0xffffffa8 │ │ │ │ │ vmul.f64 d4, d9, d7 │ │ │ │ │ vmul.f64 d12, d14, d7 │ │ │ │ │ - vldr d7, [r3, #-40] @ 0xffffffd8 │ │ │ │ │ + vldr d7, [r7, #-104] @ 0xffffff98 │ │ │ │ │ + vldr d10, [r7, #-96] @ 0xffffffa0 │ │ │ │ │ vmul.f64 d0, d9, d15 │ │ │ │ │ - vldr d8, [r3, #-48] @ 0xffffffd0 │ │ │ │ │ - vmul.f64 d3, d9, d10 │ │ │ │ │ - vmul.f64 d2, d9, d7 │ │ │ │ │ vmul.f64 d13, d14, d7 │ │ │ │ │ - vldr d7, [r3, #-48] @ 0xffffffd0 │ │ │ │ │ + vmul.f64 d2, d9, d7 │ │ │ │ │ + vldr d7, [r7, #-112] @ 0xffffff90 │ │ │ │ │ vmul.f64 d8, d8, d10 │ │ │ │ │ vadd.f64 d6, d12, d2 │ │ │ │ │ - vsub.f64 d2, d2, d12 │ │ │ │ │ vmul.f64 d1, d7, d15 │ │ │ │ │ - vldr d7, [r3, #-40] @ 0xffffffd8 │ │ │ │ │ + vldr d7, [r7, #-104] @ 0xffffff98 │ │ │ │ │ + vsub.f64 d3, d2, d12 │ │ │ │ │ vadd.f64 d12, d4, d13 │ │ │ │ │ + vldr d2, [r7, #-104] @ 0xffffff98 │ │ │ │ │ vsub.f64 d5, d4, d13 │ │ │ │ │ vmul.f64 d4, d14, d15 │ │ │ │ │ - vstr d2, [sp, #16] │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ - vldr d2, [r3, #-40] @ 0xffffffd8 │ │ │ │ │ - vstr d12, [sp, #8] │ │ │ │ │ - vadd.f64 d13, d4, d3 │ │ │ │ │ - vsub.f64 d4, d3, d4 │ │ │ │ │ + vstr d12, [sp] │ │ │ │ │ vmul.f64 d2, d2, d10 │ │ │ │ │ - vstr d7, [sp] │ │ │ │ │ + vstr d7, [sp, #8] │ │ │ │ │ vmul.f64 d7, d14, d10 │ │ │ │ │ - vmul.f64 d3, d5, d15 │ │ │ │ │ - vstr d4, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d3, [sp, #16] │ │ │ │ │ + vmul.f64 d3, d9, d10 │ │ │ │ │ vsub.f64 d12, d1, d2 │ │ │ │ │ - vstr d12, [sp, #88] @ 0x58 │ │ │ │ │ + vadd.f64 d13, d4, d3 │ │ │ │ │ + vsub.f64 d4, d3, d4 │ │ │ │ │ + vmul.f64 d3, d5, d15 │ │ │ │ │ + vstr d12, [sp, #72] @ 0x48 │ │ │ │ │ vadd.f64 d12, d0, d7 │ │ │ │ │ vsub.f64 d7, d0, d7 │ │ │ │ │ - vstr d12, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d12, [sp] │ │ │ │ │ - vsub.f64 d12, d8, d12 │ │ │ │ │ vstr d12, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d12, [sp] │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ - vadd.f64 d8, d12, d8 │ │ │ │ │ vldr d12, [sp, #8] │ │ │ │ │ - vstr d8, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d4, [sp, #64] @ 0x40 │ │ │ │ │ + vsub.f64 d12, d8, d12 │ │ │ │ │ + vstr d12, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d12, [sp, #8] │ │ │ │ │ + vadd.f64 d8, d12, d8 │ │ │ │ │ + vldr d12, [sp] │ │ │ │ │ + vstr d8, [sp, #80] @ 0x50 │ │ │ │ │ vadd.f64 d8, d1, d2 │ │ │ │ │ - vldr d1, [r3, #-16] │ │ │ │ │ - vldr d2, [r3, #-8] │ │ │ │ │ - mov.w r3, fp, lsl #5 │ │ │ │ │ - add.w r2, lr, r3 │ │ │ │ │ - add.w r1, r9, r3 │ │ │ │ │ - vmul.f64 d4, d14, d1 │ │ │ │ │ - vmul.f64 d0, d14, d2 │ │ │ │ │ - vmla.f64 d0, d9, d1 │ │ │ │ │ - vnmls.f64 d4, d9, d2 │ │ │ │ │ - vstr d4, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d2, [r7, #-80] @ 0xffffffb0 │ │ │ │ │ + vldr d1, [r7, #-72] @ 0xffffffb8 │ │ │ │ │ + vmul.f64 d4, d14, d2 │ │ │ │ │ + vmul.f64 d0, d14, d1 │ │ │ │ │ + vnmls.f64 d4, d9, d1 │ │ │ │ │ + vmla.f64 d0, d9, d2 │ │ │ │ │ + vstr d4, [sp, #88] @ 0x58 │ │ │ │ │ vmul.f64 d4, d6, d10 │ │ │ │ │ - vsub.f64 d2, d3, d4 │ │ │ │ │ + vsub.f64 d1, d3, d4 │ │ │ │ │ vadd.f64 d3, d3, d4 │ │ │ │ │ vmul.f64 d4, d6, d15 │ │ │ │ │ vstr d3, [sp, #120] @ 0x78 │ │ │ │ │ vmul.f64 d3, d5, d10 │ │ │ │ │ - vstr d2, [sp, #296] @ 0x128 │ │ │ │ │ - vadd.f64 d2, d3, d4 │ │ │ │ │ + vstr d1, [sp, #296] @ 0x128 │ │ │ │ │ + vadd.f64 d1, d3, d4 │ │ │ │ │ vsub.f64 d3, d3, d4 │ │ │ │ │ - vstr d2, [sp, #304] @ 0x130 │ │ │ │ │ - vldr d2, [sp, #16] │ │ │ │ │ + vldr d4, [sp, #16] │ │ │ │ │ vstr d3, [sp, #128] @ 0x80 │ │ │ │ │ vmul.f64 d3, d12, d15 │ │ │ │ │ - vmul.f64 d4, d2, d10 │ │ │ │ │ - vsub.f64 d2, d3, d4 │ │ │ │ │ - vadd.f64 d3, d3, d4 │ │ │ │ │ - vstr d2, [sp, #104] @ 0x68 │ │ │ │ │ - vstr d3, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d1, [sp, #304] @ 0x130 │ │ │ │ │ + vmul.f64 d1, d4, d10 │ │ │ │ │ + vsub.f64 d4, d3, d1 │ │ │ │ │ + vadd.f64 d1, d3, d1 │ │ │ │ │ vmul.f64 d3, d12, d10 │ │ │ │ │ - vldr d2, [sp, #16] │ │ │ │ │ - str r2, [sp, #24] │ │ │ │ │ - str r1, [sp, #28] │ │ │ │ │ - vmul.f64 d4, d2, d15 │ │ │ │ │ - vsub.f64 d12, d3, d4 │ │ │ │ │ - vadd.f64 d2, d3, d4 │ │ │ │ │ + vldr d12, [sp, #16] │ │ │ │ │ + vstr d4, [sp, #104] @ 0x68 │ │ │ │ │ + vmul.f64 d4, d12, d15 │ │ │ │ │ + vadd.f64 d12, d3, d4 │ │ │ │ │ + vsub.f64 d3, d3, d4 │ │ │ │ │ + vstr d12, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d3, [sp, #96] @ 0x60 │ │ │ │ │ + ldr r3, [sp, #476] @ 0x1dc │ │ │ │ │ + vldr d3, [fp] │ │ │ │ │ + ldr r4, [sp, #476] @ 0x1dc │ │ │ │ │ + mov.w r3, r3, lsl #5 │ │ │ │ │ + add.w r1, fp, r3 │ │ │ │ │ + add.w r2, r8, r3 │ │ │ │ │ vldr d4, [r1] │ │ │ │ │ - vldr d3, [r9] │ │ │ │ │ - vstr d12, [sp, #248] @ 0xf8 │ │ │ │ │ + add.w r0, r4, r4, lsl #1 │ │ │ │ │ + add.w lr, r4, r4, lsl #2 │ │ │ │ │ vldr d12, [r2] │ │ │ │ │ - mov.w r2, fp, lsl #4 │ │ │ │ │ - vstr d4, [sp, #32] │ │ │ │ │ + mov.w r6, r0, lsl #4 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ + mov.w lr, lr, lsl #3 │ │ │ │ │ + vstr d4, [sp, #8] │ │ │ │ │ vmul.f64 d4, d7, d4 │ │ │ │ │ - add.w r1, lr, r2 │ │ │ │ │ - add.w r4, r9, r2 │ │ │ │ │ + strd r2, r1, [sp, #28] │ │ │ │ │ vmul.f64 d7, d7, d12 │ │ │ │ │ + ldr r1, [sp, #476] @ 0x1dc │ │ │ │ │ + str r6, [sp, #352] @ 0x160 │ │ │ │ │ vmla.f64 d4, d13, d12 │ │ │ │ │ - vldr d12, [sp, #32] │ │ │ │ │ - adds r7, r4, r3 │ │ │ │ │ - adds r5, r1, r3 │ │ │ │ │ - str r1, [sp, #32] │ │ │ │ │ - str r7, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d12, [sp, #8] │ │ │ │ │ + mov.w r1, r1, lsl #4 │ │ │ │ │ + add.w ip, fp, r1 │ │ │ │ │ + add.w r2, r8, r1 │ │ │ │ │ + add.w r6, r2, r3 │ │ │ │ │ + str r1, [sp, #8] │ │ │ │ │ + add.w r1, fp, r0 │ │ │ │ │ vnmls.f64 d7, d13, d12 │ │ │ │ │ - vldr d13, [lr] │ │ │ │ │ - str r5, [sp, #44] @ 0x2c │ │ │ │ │ - str r4, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d13, [r8] │ │ │ │ │ + strd r2, r6, [sp, #36] @ 0x24 │ │ │ │ │ vadd.f64 d13, d13, d4 │ │ │ │ │ vsub.f64 d12, d3, d7 │ │ │ │ │ vadd.f64 d7, d3, d7 │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ - mov.w r1, fp, lsl #3 │ │ │ │ │ - vstr d13, [sp, #328] @ 0x148 │ │ │ │ │ - vldr d13, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d3, [r2] │ │ │ │ │ + mov.w r2, r4, lsl #3 │ │ │ │ │ + add.w r9, r8, r2 │ │ │ │ │ + add.w r5, r9, r3 │ │ │ │ │ vstr d12, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d12, [lr] │ │ │ │ │ + vldr d12, [r8] │ │ │ │ │ vstr d7, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - mul.w r4, r6, fp │ │ │ │ │ + vldr d7, [ip] │ │ │ │ │ + vstr d13, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d13, [sp, #56] @ 0x38 │ │ │ │ │ vsub.f64 d4, d12, d4 │ │ │ │ │ - movs r6, #56 @ 0x38 │ │ │ │ │ - mul.w ip, r6, fp │ │ │ │ │ - movs r6, #24 │ │ │ │ │ vstr d4, [sp, #144] @ 0x90 │ │ │ │ │ vmul.f64 d4, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ vmla.f64 d4, d5, d3 │ │ │ │ │ - vldr d3, [r5] │ │ │ │ │ - add.w r5, r9, r1 │ │ │ │ │ + vldr d3, [r6] │ │ │ │ │ + add.w r6, ip, r3 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ - add.w r7, lr, r1 │ │ │ │ │ + vldr d5, [r6] │ │ │ │ │ + str r6, [sp, #44] @ 0x2c │ │ │ │ │ + add.w r6, fp, r2 │ │ │ │ │ vmul.f64 d7, d8, d5 │ │ │ │ │ vmul.f64 d8, d8, d3 │ │ │ │ │ vmla.f64 d7, d13, d3 │ │ │ │ │ - vldr d3, [sp, #16] │ │ │ │ │ vnmls.f64 d8, d13, d5 │ │ │ │ │ vadd.f64 d5, d4, d7 │ │ │ │ │ vsub.f64 d7, d4, d7 │ │ │ │ │ - vldr d4, [sp, #8] │ │ │ │ │ + vstr d5, [sp, #160] @ 0xa0 │ │ │ │ │ vstr d7, [sp, #168] @ 0xa8 │ │ │ │ │ vsub.f64 d7, d6, d8 │ │ │ │ │ vadd.f64 d6, d6, d8 │ │ │ │ │ - vstr d5, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ + vldr d5, [r9] │ │ │ │ │ vstr d7, [sp, #176] @ 0xb0 │ │ │ │ │ - vmul.f64 d12, d3, d5 │ │ │ │ │ vstr d6, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - str r7, [sp, #8] │ │ │ │ │ - add r7, r3 │ │ │ │ │ - str r7, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + vldr d3, [sp, #16] │ │ │ │ │ + str r5, [sp, #16] │ │ │ │ │ + vldr d4, [sp] │ │ │ │ │ + str r6, [sp, #0] │ │ │ │ │ + vldr d13, [sp, #64] @ 0x40 │ │ │ │ │ + str r1, [sp, #64] @ 0x40 │ │ │ │ │ vmul.f64 d7, d3, d6 │ │ │ │ │ - vnmls.f64 d12, d4, d6 │ │ │ │ │ + vmul.f64 d12, d3, d5 │ │ │ │ │ + vldr d3, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d8, [sp, #80] @ 0x50 │ │ │ │ │ vmla.f64 d7, d4, d5 │ │ │ │ │ - vldr d4, [r7] │ │ │ │ │ - adds r7, r5, r3 │ │ │ │ │ - vldr d3, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d13, [sp, #72] @ 0x48 │ │ │ │ │ - str r7, [sp, #60] @ 0x3c │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ - add.w r7, lr, ip │ │ │ │ │ - str r7, [sp, #64] @ 0x40 │ │ │ │ │ - str r5, [sp, #16] │ │ │ │ │ + vnmls.f64 d12, d4, d6 │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ + add.w r5, r6, r3 │ │ │ │ │ + sub.w r6, r2, r4 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + add.w r4, r8, r6 │ │ │ │ │ + str r4, [sp, #48] @ 0x30 │ │ │ │ │ vmul.f64 d6, d3, d5 │ │ │ │ │ - vldr d8, [sp, #96] @ 0x60 │ │ │ │ │ vmla.f64 d6, d13, d4 │ │ │ │ │ vmul.f64 d4, d3, d4 │ │ │ │ │ vnmls.f64 d4, d13, d5 │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d13, d12, d4 │ │ │ │ │ vsub.f64 d12, d12, d4 │ │ │ │ │ + vldr d4, [sp, #88] @ 0x58 │ │ │ │ │ vstr d5, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d4, [sp, #80] @ 0x50 │ │ │ │ │ vsub.f64 d6, d12, d7 │ │ │ │ │ vadd.f64 d12, d12, d7 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - add.w r7, r9, ip │ │ │ │ │ - str r7, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + add.w r4, fp, r6 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + str r4, [sp, #56] @ 0x38 │ │ │ │ │ + add.w r4, r8, r0 │ │ │ │ │ vstr d13, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ - mul.w r7, r6, fp │ │ │ │ │ vstr d6, [sp, #208] @ 0xd0 │ │ │ │ │ - add.w r5, lr, r7 │ │ │ │ │ - str r5, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d3, [r4] │ │ │ │ │ vmul.f64 d6, d4, d5 │ │ │ │ │ - ldr r6, [sp, #0] │ │ │ │ │ vmla.f64 d6, d0, d7 │ │ │ │ │ vmul.f64 d7, d4, d7 │ │ │ │ │ - vldr d3, [r5] │ │ │ │ │ - add.w r5, r9, r7 │ │ │ │ │ - str r5, [sp, #360] @ 0x168 │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ + add.w r1, sl, r6 │ │ │ │ │ vnmls.f64 d7, d0, d5 │ │ │ │ │ - vldr d0, [sp, #88] @ 0x58 │ │ │ │ │ - add.w r5, r8, ip │ │ │ │ │ - add ip, sl │ │ │ │ │ + vldr d0, [sp, #72] @ 0x48 │ │ │ │ │ + str r1, [sp, #72] @ 0x48 │ │ │ │ │ vmul.f64 d5, d0, d4 │ │ │ │ │ vmla.f64 d5, d8, d3 │ │ │ │ │ vmul.f64 d3, d0, d3 │ │ │ │ │ vnmls.f64 d3, d8, d4 │ │ │ │ │ + vldr d4, [r7, #-72] @ 0xffffffb8 │ │ │ │ │ vadd.f64 d0, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vstr d0, [sp, #216] @ 0xd8 │ │ │ │ │ vadd.f64 d0, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vstr d0, [sp, #224] @ 0xe0 │ │ │ │ │ vadd.f64 d8, d6, d7 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ - vldr d6, [r6, #-8] │ │ │ │ │ - add.w r6, r8, r4 │ │ │ │ │ - add r4, sl │ │ │ │ │ - str r6, [sp, #88] @ 0x58 │ │ │ │ │ - str r4, [sp, #96] @ 0x60 │ │ │ │ │ - vstr d7, [sp, #240] @ 0xf0 │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + vstr d0, [sp, #224] @ 0xe0 │ │ │ │ │ + ldr r1, [sp, #24] │ │ │ │ │ vstr d8, [sp, #232] @ 0xe8 │ │ │ │ │ - vldr d8, [r5] │ │ │ │ │ - vmul.f64 d0, d6, d7 │ │ │ │ │ - vldr d5, [r6] │ │ │ │ │ - add.w r6, r8, r7 │ │ │ │ │ - add r7, sl │ │ │ │ │ - vmla.f64 d0, d1, d8 │ │ │ │ │ - vmul.f64 d8, d6, d8 │ │ │ │ │ - vnmls.f64 d8, d1, d7 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - vldr d6, [sp, #112] @ 0x70 │ │ │ │ │ - add.w r4, r8, r1 │ │ │ │ │ - vldr d4, [sp, #248] @ 0xf8 │ │ │ │ │ - add r1, sl │ │ │ │ │ - vldr d13, [sp, #104] @ 0x68 │ │ │ │ │ - vmul.f64 d1, d6, d7 │ │ │ │ │ - str r4, [sp, #104] @ 0x68 │ │ │ │ │ - vmla.f64 d1, d4, d5 │ │ │ │ │ - vmul.f64 d5, d6, d5 │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ - vnmls.f64 d5, d4, d7 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - vmul.f64 d4, d13, d7 │ │ │ │ │ - vmla.f64 d4, d2, d6 │ │ │ │ │ - vmul.f64 d6, d13, d6 │ │ │ │ │ + add r6, r1 │ │ │ │ │ + vstr d7, [sp, #240] @ 0xf0 │ │ │ │ │ + add.w r1, sl, lr │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + str r1, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + ldr r1, [sp, #24] │ │ │ │ │ + vmul.f64 d0, d4, d7 │ │ │ │ │ + vldr d8, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d13, [sp, #112] @ 0x70 │ │ │ │ │ + add lr, r1 │ │ │ │ │ + add.w r1, sl, r0 │ │ │ │ │ + vmla.f64 d0, d2, d6 │ │ │ │ │ + vmul.f64 d6, d4, d6 │ │ │ │ │ + vldr d4, [sp, #96] @ 0x60 │ │ │ │ │ + str r1, [sp, #88] @ 0x58 │ │ │ │ │ vnmls.f64 d6, d2, d7 │ │ │ │ │ - vldr d2, [r4] │ │ │ │ │ - ldr r4, [sp, #0] │ │ │ │ │ - vldr d13, [r4, #-40] @ 0xffffffd8 │ │ │ │ │ - vmul.f64 d7, d13, d3 │ │ │ │ │ - vldr d13, [r4, #-48] @ 0xffffffd0 │ │ │ │ │ - vmla.f64 d7, d13, d2 │ │ │ │ │ - vldr d13, [r4, #-40] @ 0xffffffd8 │ │ │ │ │ - vmul.f64 d2, d13, d2 │ │ │ │ │ - vldr d13, [r4, #-48] @ 0xffffffd0 │ │ │ │ │ - add.w r4, r8, r0 │ │ │ │ │ - add r0, sl │ │ │ │ │ - str r0, [sp, #112] @ 0x70 │ │ │ │ │ - vnmls.f64 d2, d13, d3 │ │ │ │ │ - vadd.f64 d3, d0, d4 │ │ │ │ │ - vadd.f64 d13, d1, d7 │ │ │ │ │ - vsub.f64 d7, d7, d1 │ │ │ │ │ - vsub.f64 d0, d0, d4 │ │ │ │ │ - vstr d3, [sp, #248] @ 0xf8 │ │ │ │ │ - vsub.f64 d3, d3, d13 │ │ │ │ │ + vldr d7, [lr] │ │ │ │ │ + vmul.f64 d2, d1, d7 │ │ │ │ │ + vmul.f64 d1, d1, d5 │ │ │ │ │ + vmla.f64 d2, d4, d5 │ │ │ │ │ + vnmls.f64 d1, d4, d7 │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ + ldr r1, [sp, #24] │ │ │ │ │ + add r0, r1 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + str r0, [sp, #96] @ 0x60 │ │ │ │ │ + add.w r0, sl, r2 │ │ │ │ │ + add r2, r1 │ │ │ │ │ + str r0, [sp, #104] @ 0x68 │ │ │ │ │ + vmul.f64 d3, d8, d7 │ │ │ │ │ + vmla.f64 d3, d13, d4 │ │ │ │ │ + vmul.f64 d4, d8, d4 │ │ │ │ │ + vldr d8, [r2] │ │ │ │ │ + vnmls.f64 d4, d13, d7 │ │ │ │ │ + vldr d13, [r7, #-104] @ 0xffffff98 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + ldr r0, [sp, #352] @ 0x160 │ │ │ │ │ + vmul.f64 d5, d13, d8 │ │ │ │ │ + vldr d13, [r7, #-112] @ 0xffffff90 │ │ │ │ │ + vmla.f64 d5, d13, d7 │ │ │ │ │ + vldr d13, [r7, #-104] @ 0xffffff98 │ │ │ │ │ + vmul.f64 d7, d13, d7 │ │ │ │ │ + vldr d13, [r7, #-112] @ 0xffffff90 │ │ │ │ │ + vnmls.f64 d7, d13, d8 │ │ │ │ │ + vadd.f64 d13, d2, d5 │ │ │ │ │ + vadd.f64 d8, d0, d3 │ │ │ │ │ + vsub.f64 d3, d0, d3 │ │ │ │ │ + vldr d0, [sl] │ │ │ │ │ + vsub.f64 d5, d5, d2 │ │ │ │ │ + vstr d8, [sp, #248] @ 0xf8 │ │ │ │ │ + vsub.f64 d8, d8, d13 │ │ │ │ │ vstr d13, [sp, #256] @ 0x100 │ │ │ │ │ - vadd.f64 d13, d5, d2 │ │ │ │ │ - vsub.f64 d2, d2, d5 │ │ │ │ │ - vstr d3, [sp, #336] @ 0x150 │ │ │ │ │ - vadd.f64 d3, d8, d6 │ │ │ │ │ - vsub.f64 d8, d8, d6 │ │ │ │ │ - vldr d5, [sp, #120] @ 0x78 │ │ │ │ │ - vadd.f64 d4, d0, d2 │ │ │ │ │ - vstr d13, [sp, #272] @ 0x110 │ │ │ │ │ - vstr d3, [sp, #264] @ 0x108 │ │ │ │ │ - vsub.f64 d3, d3, d13 │ │ │ │ │ - vadd.f64 d1, d8, d7 │ │ │ │ │ - vsub.f64 d13, d0, d2 │ │ │ │ │ - vldr d2, [r4] │ │ │ │ │ + vadd.f64 d13, d6, d4 │ │ │ │ │ + vsub.f64 d6, d6, d4 │ │ │ │ │ + vstr d8, [sp, #328] @ 0x148 │ │ │ │ │ + vadd.f64 d8, d1, d7 │ │ │ │ │ + vsub.f64 d7, d7, d1 │ │ │ │ │ + vstr d13, [sp, #264] @ 0x108 │ │ │ │ │ + vadd.f64 d2, d6, d5 │ │ │ │ │ + vsub.f64 d4, d6, d5 │ │ │ │ │ + vsub.f64 d13, d13, d8 │ │ │ │ │ + vstr d8, [sp, #272] @ 0x110 │ │ │ │ │ + vstr d13, [sp, #280] @ 0x118 │ │ │ │ │ + vsub.f64 d13, d3, d7 │ │ │ │ │ + vadd.f64 d3, d3, d7 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + add.w r1, sl, r0 │ │ │ │ │ + vstr d2, [sp, #288] @ 0x120 │ │ │ │ │ + str r1, [sp, #112] @ 0x70 │ │ │ │ │ vstr d4, [sp, #344] @ 0x158 │ │ │ │ │ - vldr d4, [sp, #128] @ 0x80 │ │ │ │ │ - vstr d1, [sp, #288] @ 0x120 │ │ │ │ │ - vsub.f64 d1, d8, d7 │ │ │ │ │ - vldr d7, [sl] │ │ │ │ │ - vstr d3, [sp, #280] @ 0x118 │ │ │ │ │ - vstr d1, [sp, #352] @ 0x160 │ │ │ │ │ - vmul.f64 d0, d14, d7 │ │ │ │ │ - vldr d1, [r8] │ │ │ │ │ - vmla.f64 d0, d9, d1 │ │ │ │ │ - vmul.f64 d1, d14, d1 │ │ │ │ │ - vnmls.f64 d1, d9, d7 │ │ │ │ │ + vstr d3, [sp, #336] @ 0x150 │ │ │ │ │ + vmul.f64 d8, d14, d7 │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ + ldr r1, [sp, #24] │ │ │ │ │ + vmla.f64 d8, d9, d0 │ │ │ │ │ + vmul.f64 d0, d14, d0 │ │ │ │ │ + add r0, r1 │ │ │ │ │ + str r0, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d6, [sp, #120] @ 0x78 │ │ │ │ │ + vnmls.f64 d0, d9, d7 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - add.w r0, r8, r3 │ │ │ │ │ - add r3, sl │ │ │ │ │ + add.w r0, sl, r3 │ │ │ │ │ + add r3, r1 │ │ │ │ │ + vldr d5, [sp, #128] @ 0x80 │ │ │ │ │ str r0, [sp, #120] @ 0x78 │ │ │ │ │ - vmul.f64 d6, d5, d7 │ │ │ │ │ - vmla.f64 d6, d4, d2 │ │ │ │ │ - vmul.f64 d2, d5, d2 │ │ │ │ │ - vnmls.f64 d2, d4, d7 │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ + vldr d9, [sp, #296] @ 0x128 │ │ │ │ │ + vmul.f64 d1, d6, d7 │ │ │ │ │ + vmla.f64 d1, d5, d3 │ │ │ │ │ + vmul.f64 d3, d6, d3 │ │ │ │ │ + vnmls.f64 d3, d5, d7 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - add.w r0, r8, r2 │ │ │ │ │ - add r2, sl │ │ │ │ │ - vldr d8, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d9, [sp, #304] @ 0x130 │ │ │ │ │ - vmul.f64 d5, d15, d7 │ │ │ │ │ - vmul.f64 d15, d15, d4 │ │ │ │ │ - vmla.f64 d5, d10, d4 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + ldr r0, [sp, #8] │ │ │ │ │ + vmul.f64 d2, d15, d7 │ │ │ │ │ + add r0, sl │ │ │ │ │ vldr d4, [r0] │ │ │ │ │ + vmla.f64 d2, d10, d5 │ │ │ │ │ + vmul.f64 d5, d15, d5 │ │ │ │ │ str r0, [sp, #128] @ 0x80 │ │ │ │ │ - ldr r0, [sp, #28] │ │ │ │ │ - vnmls.f64 d15, d10, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - vmul.f64 d3, d8, d7 │ │ │ │ │ - vmla.f64 d3, d9, d4 │ │ │ │ │ - vmul.f64 d4, d8, d4 │ │ │ │ │ - vadd.f64 d14, d0, d5 │ │ │ │ │ + ldr r0, [sp, #8] │ │ │ │ │ + vnmls.f64 d5, d10, d7 │ │ │ │ │ + vldr d10, [sp, #304] @ 0x130 │ │ │ │ │ + add r0, r1 │ │ │ │ │ + mov r1, r0 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + vadd.f64 d14, d8, d2 │ │ │ │ │ + vsub.f64 d2, d8, d2 │ │ │ │ │ + ldr r0, [sp, #32] │ │ │ │ │ + vldr d8, [sp, #240] @ 0xf0 │ │ │ │ │ + vmul.f64 d6, d9, d7 │ │ │ │ │ + vstr d14, [sp, #8] │ │ │ │ │ + vmla.f64 d6, d10, d4 │ │ │ │ │ + vmul.f64 d4, d9, d4 │ │ │ │ │ + vadd.f64 d9, d0, d5 │ │ │ │ │ vsub.f64 d5, d0, d5 │ │ │ │ │ vldr d0, [sp, #208] @ 0xd0 │ │ │ │ │ - vldr d8, [sp, #240] @ 0xf0 │ │ │ │ │ - vnmls.f64 d4, d9, d7 │ │ │ │ │ - vstr d14, [sp, #296] @ 0x128 │ │ │ │ │ - vadd.f64 d9, d6, d3 │ │ │ │ │ - vsub.f64 d3, d3, d6 │ │ │ │ │ - vsub.f64 d10, d14, d9 │ │ │ │ │ + vnmls.f64 d4, d10, d7 │ │ │ │ │ vstr d9, [sp, #304] @ 0x130 │ │ │ │ │ - vadd.f64 d14, d1, d15 │ │ │ │ │ - vadd.f64 d9, d2, d4 │ │ │ │ │ - vsub.f64 d4, d4, d2 │ │ │ │ │ - vsub.f64 d15, d1, d15 │ │ │ │ │ - vldr d2, [sp, #176] @ 0xb0 │ │ │ │ │ - vsub.f64 d7, d14, d9 │ │ │ │ │ + vadd.f64 d15, d1, d6 │ │ │ │ │ + vsub.f64 d1, d6, d1 │ │ │ │ │ + vsub.f64 d10, d14, d15 │ │ │ │ │ + vadd.f64 d14, d3, d4 │ │ │ │ │ + vstr d15, [sp, #296] @ 0x128 │ │ │ │ │ + vsub.f64 d4, d4, d3 │ │ │ │ │ + vadd.f64 d6, d5, d1 │ │ │ │ │ + vsub.f64 d15, d5, d1 │ │ │ │ │ + vsub.f64 d7, d9, d14 │ │ │ │ │ vstr d14, [sp, #312] @ 0x138 │ │ │ │ │ - vstr d9, [sp, #320] @ 0x140 │ │ │ │ │ - vadd.f64 d14, d5, d4 │ │ │ │ │ - vsub.f64 d9, d5, d4 │ │ │ │ │ + vsub.f64 d9, d2, d4 │ │ │ │ │ + vadd.f64 d14, d2, d4 │ │ │ │ │ vldr d4, [sp, #144] @ 0x90 │ │ │ │ │ - vadd.f64 d6, d15, d3 │ │ │ │ │ - vsub.f64 d15, d15, d3 │ │ │ │ │ + vldr d2, [sp, #176] @ 0xb0 │ │ │ │ │ vsub.f64 d3, d4, d2 │ │ │ │ │ vldr d2, [sp, #232] @ 0xe8 │ │ │ │ │ vsub.f64 d4, d8, d12 │ │ │ │ │ vldr d8, [sp, #288] @ 0x120 │ │ │ │ │ vsub.f64 d5, d0, d2 │ │ │ │ │ - vldr d2, [pc, #832] @ 8a8 │ │ │ │ │ + vldr d2, [pc, #852] @ 8e0 │ │ │ │ │ vldr d0, [sp, #168] @ 0xa8 │ │ │ │ │ - vmul.f64 d4, d4, d2 │ │ │ │ │ vmul.f64 d5, d5, d2 │ │ │ │ │ + vmul.f64 d4, d4, d2 │ │ │ │ │ vadd.f64 d1, d3, d5 │ │ │ │ │ vsub.f64 d3, d3, d5 │ │ │ │ │ vldr d5, [sp, #136] @ 0x88 │ │ │ │ │ vadd.f64 d5, d5, d0 │ │ │ │ │ vmul.f64 d0, d9, d11 │ │ │ │ │ vadd.f64 d2, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ - vldr d4, [pc, #796] @ 8b0 │ │ │ │ │ + vldr d4, [pc, #816] @ 8e8 │ │ │ │ │ vmla.f64 d0, d6, d4 │ │ │ │ │ vmul.f64 d4, d8, d4 │ │ │ │ │ vnmls.f64 d4, d13, d11 │ │ │ │ │ vadd.f64 d8, d0, d4 │ │ │ │ │ vsub.f64 d4, d4, d0 │ │ │ │ │ - vldr d0, [pc, #772] @ 8b0 │ │ │ │ │ + vldr d0, [pc, #792] @ 8e8 │ │ │ │ │ vmul.f64 d9, d9, d0 │ │ │ │ │ vnmls.f64 d9, d6, d11 │ │ │ │ │ vmul.f64 d6, d13, d0 │ │ │ │ │ vldr d0, [sp, #288] @ 0x120 │ │ │ │ │ - vldr d13, [sp, #328] @ 0x148 │ │ │ │ │ vmla.f64 d6, d0, d11 │ │ │ │ │ vsub.f64 d0, d9, d6 │ │ │ │ │ vadd.f64 d6, d9, d6 │ │ │ │ │ vsub.f64 d9, d1, d8 │ │ │ │ │ vadd.f64 d1, d1, d8 │ │ │ │ │ vstr d9, [r0] │ │ │ │ │ vsub.f64 d9, d6, d2 │ │ │ │ │ - ldr r0, [sp, #80] @ 0x50 │ │ │ │ │ vadd.f64 d2, d2, d6 │ │ │ │ │ vsub.f64 d6, d3, d0 │ │ │ │ │ + ldr r0, [sp, #88] @ 0x58 │ │ │ │ │ vadd.f64 d3, d3, d0 │ │ │ │ │ vadd.f64 d0, d10, d7 │ │ │ │ │ vsub.f64 d7, d7, d10 │ │ │ │ │ vstr d9, [r3] │ │ │ │ │ - vstr d1, [r0] │ │ │ │ │ - vstr d2, [r6] │ │ │ │ │ - ldr r0, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d6, [r9] │ │ │ │ │ + vstr d1, [r4] │ │ │ │ │ + vstr d2, [r0] │ │ │ │ │ + vstr d6, [fp] │ │ │ │ │ vsub.f64 d6, d4, d5 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ - vldr d9, [pc, #664] @ 8a8 │ │ │ │ │ - vstr d6, [sl] │ │ │ │ │ - vstr d3, [r0] │ │ │ │ │ - vldr d3, [sp, #160] @ 0xa0 │ │ │ │ │ - vstr d5, [r5] │ │ │ │ │ + ldr r3, [sp, #24] │ │ │ │ │ + ldr r4, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r0, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ vldr d1, [sp, #200] @ 0xc8 │ │ │ │ │ + vstr d3, [r4] │ │ │ │ │ + vldr d13, [sp, #320] @ 0x140 │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ + vldr d3, [sp, #160] @ 0xa0 │ │ │ │ │ vldr d6, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d9, [pc, #656] @ 8e0 │ │ │ │ │ + vldr d5, [sp, #192] @ 0xc0 │ │ │ │ │ vsub.f64 d4, d13, d3 │ │ │ │ │ vldr d8, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d5, [sp, #192] @ 0xc0 │ │ │ │ │ vsub.f64 d6, d1, d6 │ │ │ │ │ + ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ vldr d1, [sp, #280] @ 0x118 │ │ │ │ │ - ldr r0, [sp, #60] @ 0x3c │ │ │ │ │ - vsub.f64 d5, d8, d5 │ │ │ │ │ - vldr d8, [sp, #184] @ 0xb8 │ │ │ │ │ - ldr r6, [sp, #96] @ 0x60 │ │ │ │ │ vadd.f64 d2, d4, d6 │ │ │ │ │ + vsub.f64 d5, d8, d5 │ │ │ │ │ + ldr r4, [sp, #128] @ 0x80 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vldr d6, [sp, #152] @ 0x98 │ │ │ │ │ - ldr r3, [sp, #32] │ │ │ │ │ - ldr r5, [sp, #16] │ │ │ │ │ + vldr d8, [sp, #184] @ 0xb8 │ │ │ │ │ vsub.f64 d6, d6, d8 │ │ │ │ │ - vldr d8, [sp, #336] @ 0x150 │ │ │ │ │ - vmov.f64 d10, d8 │ │ │ │ │ + vldr d8, [sp, #328] @ 0x148 │ │ │ │ │ vadd.f64 d3, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vsub.f64 d5, d8, d1 │ │ │ │ │ - vldr d8, [sp, #280] @ 0x118 │ │ │ │ │ - vadd.f64 d8, d10, d8 │ │ │ │ │ - vldr d10, [sp, #208] @ 0xd0 │ │ │ │ │ vadd.f64 d1, d0, d5 │ │ │ │ │ vsub.f64 d5, d5, d0 │ │ │ │ │ - vsub.f64 d0, d7, d8 │ │ │ │ │ - vadd.f64 d7, d7, d8 │ │ │ │ │ + vldr d0, [sp, #280] @ 0x118 │ │ │ │ │ + vadd.f64 d8, d8, d0 │ │ │ │ │ vmul.f64 d1, d1, d9 │ │ │ │ │ vmul.f64 d5, d5, d9 │ │ │ │ │ - vmul.f64 d0, d0, d9 │ │ │ │ │ - vmul.f64 d7, d7, d9 │ │ │ │ │ + vsub.f64 d0, d7, d8 │ │ │ │ │ + vadd.f64 d7, d7, d8 │ │ │ │ │ vsub.f64 d8, d2, d1 │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ vldr d1, [sp, #176] @ 0xb0 │ │ │ │ │ - vstr d8, [r0] │ │ │ │ │ + vmul.f64 d7, d7, d9 │ │ │ │ │ + vmul.f64 d0, d0, d9 │ │ │ │ │ + vstr d8, [r5] │ │ │ │ │ vsub.f64 d8, d7, d3 │ │ │ │ │ - ldr r0, [sp, #128] @ 0x80 │ │ │ │ │ vadd.f64 d3, d3, d7 │ │ │ │ │ vsub.f64 d7, d4, d0 │ │ │ │ │ vadd.f64 d4, d4, d0 │ │ │ │ │ - vstr d8, [r6] │ │ │ │ │ + vstr d8, [lr] │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ - vstr d3, [r0] │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ + ldr r3, [sp, #0] │ │ │ │ │ + vstr d3, [r4] │ │ │ │ │ + vldr d2, [pc, #508] @ 8e8 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d5, d6 │ │ │ │ │ - ldr r5, [sp, #44] @ 0x2c │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vldr d2, [pc, #468] @ 8b0 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ - vstr d4, [r5] │ │ │ │ │ + ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ vmov.f64 d0, d2 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + ldr r3, [sp, #112] @ 0x70 │ │ │ │ │ vldr d4, [sp, #144] @ 0x90 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ vadd.f64 d6, d4, d1 │ │ │ │ │ vldr d4, [sp, #240] @ 0xf0 │ │ │ │ │ vmul.f64 d1, d14, d2 │ │ │ │ │ + ldr r5, [sp, #16] │ │ │ │ │ + vldr d10, [sp, #208] @ 0xd0 │ │ │ │ │ vmla.f64 d1, d15, d11 │ │ │ │ │ vadd.f64 d7, d12, d4 │ │ │ │ │ + ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ vldr d12, [sp, #232] @ 0xe8 │ │ │ │ │ vldr d4, [sp, #168] @ 0xa8 │ │ │ │ │ - vadd.f64 d5, d10, d12 │ │ │ │ │ - vldr d10, [sp, #352] @ 0x160 │ │ │ │ │ vmul.f64 d7, d7, d9 │ │ │ │ │ - vmul.f64 d5, d5, d9 │ │ │ │ │ - vldr d9, [sp, #344] @ 0x158 │ │ │ │ │ + ldr r0, [sp, #104] @ 0x68 │ │ │ │ │ + vadd.f64 d5, d10, d12 │ │ │ │ │ + vldr d8, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d10, [sp, #344] @ 0x158 │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [sp, #136] @ 0x88 │ │ │ │ │ - ldr r1, [sp, #56] @ 0x38 │ │ │ │ │ - ldr r3, [sp, #112] @ 0x70 │ │ │ │ │ + vmul.f64 d5, d5, d9 │ │ │ │ │ + vldr d9, [sp, #336] @ 0x150 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - ldr r4, [sp, #40] @ 0x28 │ │ │ │ │ - ldr r6, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d8, [sp, #184] @ 0xb8 │ │ │ │ │ vadd.f64 d4, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vmul.f64 d5, d10, d11 │ │ │ │ │ vnmls.f64 d5, d9, d2 │ │ │ │ │ vadd.f64 d2, d1, d5 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ vmul.f64 d1, d14, d11 │ │ │ │ │ vmul.f64 d14, d9, d11 │ │ │ │ │ - vmla.f64 d14, d10, d0 │ │ │ │ │ vldr d9, [sp, #304] @ 0x130 │ │ │ │ │ vnmls.f64 d1, d15, d0 │ │ │ │ │ + vmla.f64 d14, d10, d0 │ │ │ │ │ + vldr d15, [sp, #296] @ 0x128 │ │ │ │ │ vsub.f64 d0, d1, d14 │ │ │ │ │ vadd.f64 d14, d1, d14 │ │ │ │ │ vsub.f64 d1, d3, d2 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ - vldr d2, [sp, #248] @ 0xf8 │ │ │ │ │ - vstr d1, [r1] │ │ │ │ │ + vstr d1, [r3] │ │ │ │ │ vsub.f64 d1, d14, d4 │ │ │ │ │ - ldr r1, [sp, #104] @ 0x68 │ │ │ │ │ vadd.f64 d4, d4, d14 │ │ │ │ │ - vldr d14, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d14, [sp, #8] │ │ │ │ │ + ldr r3, [sp, #352] @ 0x160 │ │ │ │ │ vstr d1, [r3] │ │ │ │ │ - ldr r3, [sp, #8] │ │ │ │ │ - vldr d1, [sp, #200] @ 0xc8 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ - vstr d4, [r1] │ │ │ │ │ + vstr d3, [r9] │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ vsub.f64 d4, d6, d0 │ │ │ │ │ - ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ vadd.f64 d6, d6, d0 │ │ │ │ │ + ldr r3, [sp, #80] @ 0x50 │ │ │ │ │ vldr d3, [sp, #160] @ 0xa0 │ │ │ │ │ vldr d0, [sp, #216] @ 0xd8 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ + vstr d4, [ip] │ │ │ │ │ vsub.f64 d4, d5, d7 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vldr d5, [sp, #192] @ 0xc0 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ + vldr d1, [sp, #200] @ 0xc8 │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ + vstr d6, [r5] │ │ │ │ │ vadd.f64 d6, d13, d3 │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vadd.f64 d7, d5, d0 │ │ │ │ │ vldr d0, [sp, #224] @ 0xe0 │ │ │ │ │ vldr d13, [sp, #256] @ 0x100 │ │ │ │ │ - ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [sp, #152] @ 0x98 │ │ │ │ │ vadd.f64 d5, d1, d0 │ │ │ │ │ - vadd.f64 d2, d2, d13 │ │ │ │ │ - vldr d13, [sp, #272] @ 0x110 │ │ │ │ │ vadd.f64 d7, d7, d8 │ │ │ │ │ + vldr d8, [sp, #248] @ 0xf8 │ │ │ │ │ vadd.f64 d4, d5, d7 │ │ │ │ │ + vadd.f64 d2, d8, d13 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vadd.f64 d5, d14, d9 │ │ │ │ │ + vadd.f64 d5, d14, d15 │ │ │ │ │ vldr d14, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d9, [sp, #320] @ 0x140 │ │ │ │ │ + ldr r4, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d13, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d8, [sp, #272] @ 0x110 │ │ │ │ │ vadd.f64 d1, d5, d2 │ │ │ │ │ + vadd.f64 d0, d9, d14 │ │ │ │ │ vsub.f64 d2, d2, d5 │ │ │ │ │ - vldr d5, [sp, #264] @ 0x108 │ │ │ │ │ - vadd.f64 d0, d14, d9 │ │ │ │ │ - vadd.f64 d5, d5, d13 │ │ │ │ │ + ldr r1, [sp, #64] @ 0x40 │ │ │ │ │ + ldr r3, [sp, #480] @ 0x1e0 │ │ │ │ │ + vadd.f64 d5, d13, d8 │ │ │ │ │ + ldr r2, [sp, #96] @ 0x60 │ │ │ │ │ + ldr r0, [sp, #120] @ 0x78 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + str r3, [sp, #480] @ 0x1e0 │ │ │ │ │ vsub.f64 d8, d0, d5 │ │ │ │ │ vadd.f64 d5, d0, d5 │ │ │ │ │ + ldr r3, [sp, #356] @ 0x164 │ │ │ │ │ vsub.f64 d0, d3, d1 │ │ │ │ │ vadd.f64 d3, d3, d1 │ │ │ │ │ - vstr d0, [r3] │ │ │ │ │ + vstr d0, [r4] │ │ │ │ │ vsub.f64 d0, d5, d4 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ vsub.f64 d5, d6, d8 │ │ │ │ │ vadd.f64 d6, d6, d8 │ │ │ │ │ - vstr d0, [ip] │ │ │ │ │ - ldr r3, [sp, #488] @ 0x1e8 │ │ │ │ │ - ldr r5, [sp, #360] @ 0x168 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #488] @ 0x1e8 │ │ │ │ │ - ldr r3, [sp, #364] @ 0x16c │ │ │ │ │ - vstr d3, [lr] │ │ │ │ │ - ldr r2, [sp, #24] │ │ │ │ │ - add lr, r3 │ │ │ │ │ - vstr d4, [r8] │ │ │ │ │ + vstr d0, [r6] │ │ │ │ │ + vstr d3, [r8] │ │ │ │ │ add r8, r3 │ │ │ │ │ - vstr d5, [r5] │ │ │ │ │ + vstr d4, [sl] │ │ │ │ │ + add sl, r3 │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ vsub.f64 d5, d2, d7 │ │ │ │ │ - ldr r3, [sp, #368] @ 0x170 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ - ldr r0, [sp, #120] @ 0x78 │ │ │ │ │ - add r9, r3 │ │ │ │ │ - add sl, r3 │ │ │ │ │ - ldr r3, [sp, #372] @ 0x174 │ │ │ │ │ - vstr d5, [r7] │ │ │ │ │ - eor.w fp, fp, r3 │ │ │ │ │ + ldr r1, [sp, #24] │ │ │ │ │ + ldr r3, [sp, #360] @ 0x168 │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ + ldr r2, [sp, #28] │ │ │ │ │ + add r1, r3 │ │ │ │ │ + add fp, r3 │ │ │ │ │ + ldr r3, [sp, #364] @ 0x16c │ │ │ │ │ + str r1, [sp, #24] │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ - ldrd r2, r3, [sp, #488] @ 0x1e8 │ │ │ │ │ + ldr r2, [sp, #476] @ 0x1dc │ │ │ │ │ vstr d7, [r0] │ │ │ │ │ - ldr r4, [sp, #0] │ │ │ │ │ + eor.w r2, r2, r3 │ │ │ │ │ + ldr r3, [sp, #484] @ 0x1e4 │ │ │ │ │ + str r2, [sp, #476] @ 0x1dc │ │ │ │ │ + ldr r2, [sp, #480] @ 0x1e0 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - add.w r4, r4, #64 @ 0x40 │ │ │ │ │ - str r4, [sp, #0] │ │ │ │ │ - bne.w 60 │ │ │ │ │ - add sp, #380 @ 0x17c │ │ │ │ │ + bne.w 68 │ │ │ │ │ + add sp, #372 @ 0x174 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop.w │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ │ │ │ │ │ -000008b8 : │ │ │ │ │ +000008f0 : │ │ │ │ │ fftw_codelet_hc2cf2_16(): │ │ │ │ │ - ldr r2, [pc, #12] @ (8c8 ) │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - ldr r1, [pc, #12] @ (8cc ) │ │ │ │ │ + ldr r2, [pc, #12] @ (900 ) │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + ldr r1, [pc, #12] @ (904 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2c_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + .word 0x00000006 │ │ │ │ │ R_ARM_REL32 hc2cf2_16 │ │ │ ├── hc2cf2_20.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 4120 (bytes into file) │ │ │ │ │ + Start of section headers: 4184 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x1018: │ │ │ │ │ +There are 14 section headers, starting at offset 0x1058: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000cc8 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000f60 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000cfc 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000cfc 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000cfc 00000a 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000d06 000014 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 000d1a 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000f88 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000d4a 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000d4a 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000d80 000150 10 12 16 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000ed0 00008d 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000fa0 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000d08 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000fa0 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000d3c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000d3c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000d3c 00000a 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000d46 000014 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000d5a 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000fc8 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000d8a 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000d8a 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000dc0 000150 10 12 16 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000f10 00008d 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000fe0 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 21 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 3248 FUNC LOCAL DEFAULT 1 hc2cf2_20 │ │ │ │ │ + 1: 00000001 3310 FUNC LOCAL DEFAULT 1 hc2cf2_20 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000058 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000070 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000c60 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000c68 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00000cc0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000060 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000078 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000c80 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000c88 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00000d00 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 20 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 13: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 14: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 15: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 18: 00000cb1 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cf2_20 │ │ │ │ │ + 18: 00000cf1 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cf2_20 │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2c_register │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hc2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xf60 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xfa0 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000068 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000006c 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000cc0 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000cc4 00000103 R_ARM_REL32 00000001 hc2cf2_20 │ │ │ │ │ -00000cba 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ +00000070 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000074 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000d00 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000d04 00000103 R_ARM_REL32 00000001 hc2cf2_20 │ │ │ │ │ +00000cfc 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xf88 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xfc8 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000a02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001402 R_ARM_ABS32 00000000 fftw_rdft_hc2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,893 +1,903 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hc2cf2_20(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ mov r9, r1 │ │ │ │ │ mov sl, r2 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + mov fp, r3 │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub.w sp, sp, #596 @ 0x254 │ │ │ │ │ - mov fp, r3 │ │ │ │ │ - ldr r3, [pc, #84] @ (68 ) │ │ │ │ │ - ldrd r2, r1, [sp, #704] @ 0x2c0 │ │ │ │ │ - add r3, pc │ │ │ │ │ - ldr r4, [sp, #700] @ 0x2bc │ │ │ │ │ + ldrd r5, r2, [sp, #700] @ 0x2bc │ │ │ │ │ + ldr r1, [sp, #708] @ 0x2c4 │ │ │ │ │ + ldr r3, [pc, #68] @ (70 ) │ │ │ │ │ cmp r2, r1 │ │ │ │ │ - bge.w ca4 │ │ │ │ │ + add r3, pc │ │ │ │ │ + bge.w cd0 │ │ │ │ │ ldr r2, [sp, #712] @ 0x2c8 │ │ │ │ │ - mov r8, r9 │ │ │ │ │ - vldr d13, [pc, #48] @ 58 │ │ │ │ │ - mov r9, sl │ │ │ │ │ - vldr d11, [pc, #48] @ 60 │ │ │ │ │ - mov sl, fp │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ + mov r8, sl │ │ │ │ │ + mov lr, r0 │ │ │ │ │ + mov sl, r5 │ │ │ │ │ + vldr d13, [pc, #36] @ 60 │ │ │ │ │ + vldr d11, [pc, #40] @ 68 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ str r2, [sp, #580] @ 0x244 │ │ │ │ │ - negs r2, r2 │ │ │ │ │ + rsb r2, r2, #0 │ │ │ │ │ str r2, [sp, #584] @ 0x248 │ │ │ │ │ - ldr r2, [pc, #48] @ (6c ) │ │ │ │ │ - mov lr, r0 │ │ │ │ │ - mov fp, r4 │ │ │ │ │ + ldr r2, [pc, #36] @ (74 ) │ │ │ │ │ ldr r3, [r3, r2] │ │ │ │ │ ldr r2, [sp, #704] @ 0x2c0 │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ str r3, [sp, #588] @ 0x24c │ │ │ │ │ ldr r3, [sp, #696] @ 0x2b8 │ │ │ │ │ add.w r7, r3, r2, lsl #6 │ │ │ │ │ - mov ip, r7 │ │ │ │ │ - b.n 70 │ │ │ │ │ - nop │ │ │ │ │ - nop.w │ │ │ │ │ + b.n 78 │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ - .word 0x0000004c │ │ │ │ │ + .word 0x00000040 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - vldr d8, [ip, #-48] @ 0xffffffd0 │ │ │ │ │ - movs r3, #40 @ 0x28 │ │ │ │ │ - vldr d0, [ip, #-64] @ 0xffffffc0 │ │ │ │ │ - movs r6, #56 @ 0x38 │ │ │ │ │ - vldr d1, [ip, #-56] @ 0xffffffc8 │ │ │ │ │ - movs r7, #72 @ 0x48 │ │ │ │ │ - vldr d7, [ip, #-40] @ 0xffffffd8 │ │ │ │ │ - mul.w r3, r3, fp │ │ │ │ │ - vmul.f64 d6, d0, d8 │ │ │ │ │ - vldr d12, [ip, #-24] @ 0xffffffe8 │ │ │ │ │ - vmul.f64 d5, d1, d8 │ │ │ │ │ - vldr d10, [ip, #-32] @ 0xffffffe0 │ │ │ │ │ - vmul.f64 d9, d1, d7 │ │ │ │ │ - vmul.f64 d4, d0, d7 │ │ │ │ │ + vldr d14, [r7, #-64] @ 0xffffffc0 │ │ │ │ │ + add.w r3, sl, sl, lsl #2 │ │ │ │ │ + add.w r7, r7, #64 @ 0x40 │ │ │ │ │ + mov.w ip, sl, lsl #4 │ │ │ │ │ + vldr d3, [r7, #-120] @ 0xffffff88 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + add.w r0, r9, ip │ │ │ │ │ + add.w r6, fp, ip │ │ │ │ │ + vldr d7, [r7, #-112] @ 0xffffff90 │ │ │ │ │ add.w r2, lr, r3 │ │ │ │ │ - add.w r1, r9, r3 │ │ │ │ │ - add.w ip, ip, #64 @ 0x40 │ │ │ │ │ - vadd.f64 d7, d6, d9 │ │ │ │ │ - vadd.f64 d2, d5, d4 │ │ │ │ │ - vsub.f64 d3, d6, d9 │ │ │ │ │ - vsub.f64 d4, d4, d5 │ │ │ │ │ - vmul.f64 d9, d8, d10 │ │ │ │ │ - vmul.f64 d5, d1, d12 │ │ │ │ │ - vmov.f64 d6, d0 │ │ │ │ │ - vstr d7, [sp] │ │ │ │ │ - vldr d7, [ip, #-104] @ 0xffffff98 │ │ │ │ │ - vmov.f64 d15, d4 │ │ │ │ │ - vstr d2, [sp, #40] @ 0x28 │ │ │ │ │ - vmov.f64 d2, d1 │ │ │ │ │ - vmul.f64 d1, d0, d12 │ │ │ │ │ - vstr d3, [sp, #32] │ │ │ │ │ - vmul.f64 d0, d7, d12 │ │ │ │ │ - vmul.f64 d3, d8, d12 │ │ │ │ │ - vmul.f64 d4, d7, d10 │ │ │ │ │ - vstr d6, [sp, #8] │ │ │ │ │ - vstr d2, [sp, #16] │ │ │ │ │ - vmul.f64 d2, d2, d10 │ │ │ │ │ - vmul.f64 d6, d6, d10 │ │ │ │ │ - vstr d15, [sp, #24] │ │ │ │ │ - vadd.f64 d7, d0, d9 │ │ │ │ │ - vsub.f64 d0, d9, d0 │ │ │ │ │ - vsub.f64 d14, d6, d5 │ │ │ │ │ - vadd.f64 d5, d5, d6 │ │ │ │ │ - vstr d7, [sp, #352] @ 0x160 │ │ │ │ │ + add.w r1, r8, r3 │ │ │ │ │ + vldr d8, [r7, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d15, [r7, #-96] @ 0xffffffa0 │ │ │ │ │ + vmul.f64 d6, d14, d7 │ │ │ │ │ + vmul.f64 d12, d3, d7 │ │ │ │ │ + vldr d7, [r7, #-104] @ 0xffffff98 │ │ │ │ │ + vmul.f64 d4, d14, d7 │ │ │ │ │ + vmul.f64 d9, d3, d7 │ │ │ │ │ + vldr d7, [r7, #-88] @ 0xffffffa8 │ │ │ │ │ + vadd.f64 d2, d12, d4 │ │ │ │ │ + vmul.f64 d5, d3, d7 │ │ │ │ │ + vldr d7, [r7, #-112] @ 0xffffff90 │ │ │ │ │ + vsub.f64 d12, d4, d12 │ │ │ │ │ + vsub.f64 d10, d6, d9 │ │ │ │ │ + vldr d4, [r7, #-88] @ 0xffffffa8 │ │ │ │ │ + vadd.f64 d9, d6, d9 │ │ │ │ │ + vstr d2, [sp] │ │ │ │ │ + vmov.f64 d2, d3 │ │ │ │ │ + vmul.f64 d3, d7, d4 │ │ │ │ │ + vldr d7, [r7, #-104] @ 0xffffff98 │ │ │ │ │ + vmul.f64 d1, d14, d4 │ │ │ │ │ + vstr d2, [sp, #8] │ │ │ │ │ + vmul.f64 d0, d7, d4 │ │ │ │ │ + vldr d7, [r7, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d4, [r7, #-96] @ 0xffffffa0 │ │ │ │ │ + vmul.f64 d6, d14, d7 │ │ │ │ │ + vldr d7, [r7, #-104] @ 0xffffff98 │ │ │ │ │ + vmul.f64 d4, d7, d4 │ │ │ │ │ + vldr d7, [r7, #-96] @ 0xffffffa0 │ │ │ │ │ + vmul.f64 d2, d2, d7 │ │ │ │ │ + vldr d7, [r7, #-112] @ 0xffffff90 │ │ │ │ │ + vmul.f64 d8, d7, d8 │ │ │ │ │ + vsub.f64 d7, d6, d5 │ │ │ │ │ + vstr d7, [sp, #32] │ │ │ │ │ + vadd.f64 d7, d0, d8 │ │ │ │ │ + vsub.f64 d0, d8, d0 │ │ │ │ │ + vstr d0, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d7, [sp, #336] @ 0x150 │ │ │ │ │ vadd.f64 d7, d3, d4 │ │ │ │ │ - vmul.f64 d6, d15, d10 │ │ │ │ │ - vstr d0, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d0, [ip, #-72] @ 0xffffffb8 │ │ │ │ │ - vstr d5, [sp, #88] @ 0x58 │ │ │ │ │ - vstr d7, [sp, #184] @ 0xb8 │ │ │ │ │ + vsub.f64 d4, d3, d4 │ │ │ │ │ + vadd.f64 d3, d5, d6 │ │ │ │ │ + vldr d5, [r7, #-88] @ 0xffffffa8 │ │ │ │ │ + vstr d7, [sp, #160] @ 0xa0 │ │ │ │ │ vadd.f64 d7, d1, d2 │ │ │ │ │ vsub.f64 d1, d1, d2 │ │ │ │ │ - vstr d14, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d14, [sp, #32] │ │ │ │ │ - vstr d1, [sp, #80] @ 0x50 │ │ │ │ │ - vsub.f64 d1, d3, d4 │ │ │ │ │ - vmul.f64 d3, d14, d12 │ │ │ │ │ - vstr d1, [sp, #360] @ 0x168 │ │ │ │ │ - vldr d1, [sp] │ │ │ │ │ - vmul.f64 d5, d1, d12 │ │ │ │ │ - vadd.f64 d9, d5, d6 │ │ │ │ │ + vmul.f64 d5, d9, d5 │ │ │ │ │ + vstr d1, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d1, [r7, #-96] @ 0xffffffa0 │ │ │ │ │ + vstr d4, [sp, #344] @ 0x158 │ │ │ │ │ + vstr d3, [sp, #64] @ 0x40 │ │ │ │ │ + vmul.f64 d6, d12, d1 │ │ │ │ │ + vadd.f64 d1, d5, d6 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ - vmul.f64 d6, d15, d12 │ │ │ │ │ - vldr d15, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d5, [sp, #144] @ 0x90 │ │ │ │ │ - vmul.f64 d5, d1, d10 │ │ │ │ │ - vmul.f64 d4, d15, d10 │ │ │ │ │ - vmul.f64 d1, d14, d10 │ │ │ │ │ - vstr d9, [sp, #336] @ 0x150 │ │ │ │ │ - vsub.f64 d2, d5, d6 │ │ │ │ │ - vadd.f64 d9, d5, d6 │ │ │ │ │ - vsub.f64 d6, d3, d4 │ │ │ │ │ - vstr d2, [sp, #344] @ 0x158 │ │ │ │ │ - vmul.f64 d2, d15, d12 │ │ │ │ │ - vstr d9, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d5, [sp, #120] @ 0x78 │ │ │ │ │ + vmul.f64 d5, d9, d15 │ │ │ │ │ + vldr d15, [r7, #-88] @ 0xffffffa8 │ │ │ │ │ + vstr d1, [sp, #192] @ 0xc0 │ │ │ │ │ + vmul.f64 d6, d12, d15 │ │ │ │ │ + vldr d15, [r7, #-96] @ 0xffffffa0 │ │ │ │ │ + vsub.f64 d4, d5, d6 │ │ │ │ │ + vadd.f64 d5, d5, d6 │ │ │ │ │ + vmul.f64 d1, d10, d15 │ │ │ │ │ + vstr d5, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d4, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d6, [sp] │ │ │ │ │ + vstr d10, [sp, #16] │ │ │ │ │ + vldr d15, [r7, #-88] @ 0xffffffa8 │ │ │ │ │ + str r2, [sp, #28] │ │ │ │ │ + vldr d0, [r7, #-80] @ 0xffffffb0 │ │ │ │ │ + str r1, [sp, #40] @ 0x28 │ │ │ │ │ + vmul.f64 d2, d6, d15 │ │ │ │ │ + vmul.f64 d3, d10, d15 │ │ │ │ │ + vldr d15, [r7, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d10, [r7, #-72] @ 0xffffffb8 │ │ │ │ │ + vmul.f64 d4, d6, d15 │ │ │ │ │ vadd.f64 d5, d1, d2 │ │ │ │ │ - vsub.f64 d2, d1, d2 │ │ │ │ │ + vldr d15, [r7, #-104] @ 0xffffff98 │ │ │ │ │ + vsub.f64 d8, d1, d2 │ │ │ │ │ + vldr d2, [sp] │ │ │ │ │ + vsub.f64 d6, d3, d4 │ │ │ │ │ vadd.f64 d1, d3, d4 │ │ │ │ │ - vmul.f64 d4, d15, d0 │ │ │ │ │ - vmov.f64 d3, d14 │ │ │ │ │ - vstr d2, [sp, #160] @ 0xa0 │ │ │ │ │ - vmov.f64 d2, d15 │ │ │ │ │ - vstr d1, [sp, #168] @ 0xa8 │ │ │ │ │ - vmov.f64 d9, d4 │ │ │ │ │ - vldr d1, [ip, #-80] @ 0xffffffb0 │ │ │ │ │ - vmul.f64 d4, d6, d0 │ │ │ │ │ - vmla.f64 d4, d5, d1 │ │ │ │ │ - vmla.f64 d9, d14, d1 │ │ │ │ │ - vstr d4, [sp, #368] @ 0x170 │ │ │ │ │ - vldr d15, [sp, #24] │ │ │ │ │ - vldr d14, [sp] │ │ │ │ │ - str r2, [sp, #52] @ 0x34 │ │ │ │ │ - vmul.f64 d4, d15, d1 │ │ │ │ │ - str r1, [sp, #64] @ 0x40 │ │ │ │ │ - vnmls.f64 d4, d14, d0 │ │ │ │ │ - vstr d4, [sp, #128] @ 0x80 │ │ │ │ │ - vmul.f64 d4, d2, d1 │ │ │ │ │ - vldr d2, [sp, #8] │ │ │ │ │ - vnmls.f64 d4, d3, d0 │ │ │ │ │ vldr d3, [sp, #16] │ │ │ │ │ - vstr d4, [sp, #96] @ 0x60 │ │ │ │ │ - vmul.f64 d4, d15, d0 │ │ │ │ │ - vldr d15, [ip, #-104] @ 0xffffff98 │ │ │ │ │ - vmov.f64 d14, d4 │ │ │ │ │ - vldr d4, [sp] │ │ │ │ │ - vmla.f64 d14, d4, d1 │ │ │ │ │ - vmul.f64 d4, d3, d1 │ │ │ │ │ - vstr d14, [sp, #136] @ 0x88 │ │ │ │ │ - vmov.f64 d14, d4 │ │ │ │ │ - vmul.f64 d4, d15, d1 │ │ │ │ │ - vnmls.f64 d14, d2, d0 │ │ │ │ │ - vstr d14, [sp, #112] @ 0x70 │ │ │ │ │ - vmov.f64 d14, d4 │ │ │ │ │ - vmul.f64 d4, d6, d1 │ │ │ │ │ - vnmls.f64 d14, d8, d0 │ │ │ │ │ - vstr d14, [sp, #376] @ 0x178 │ │ │ │ │ - vmov.f64 d14, d4 │ │ │ │ │ + vstr d8, [sp, #136] @ 0x88 │ │ │ │ │ + vmul.f64 d4, d2, d10 │ │ │ │ │ + vstr d1, [sp, #144] @ 0x90 │ │ │ │ │ + vmla.f64 d4, d3, d0 │ │ │ │ │ + vstr d4, [sp, #72] @ 0x48 │ │ │ │ │ + vmul.f64 d4, d6, d10 │ │ │ │ │ + vmla.f64 d4, d5, d0 │ │ │ │ │ + vstr d4, [sp, #320] @ 0x140 │ │ │ │ │ + vmul.f64 d4, d12, d0 │ │ │ │ │ + vmov.f64 d1, d4 │ │ │ │ │ + vmul.f64 d4, d12, d10 │ │ │ │ │ + vnmls.f64 d1, d9, d10 │ │ │ │ │ + vmla.f64 d4, d9, d0 │ │ │ │ │ + vstr d1, [sp, #104] @ 0x68 │ │ │ │ │ + vmul.f64 d1, d2, d0 │ │ │ │ │ + vstr d4, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ + mov.w r2, sl, lsl #3 │ │ │ │ │ + vnmls.f64 d1, d3, d10 │ │ │ │ │ + vldr d3, [sp, #8] │ │ │ │ │ vmul.f64 d4, d3, d0 │ │ │ │ │ - vnmls.f64 d14, d5, d0 │ │ │ │ │ - vmov.f64 d3, d4 │ │ │ │ │ + vmov.f64 d8, d4 │ │ │ │ │ vmul.f64 d4, d15, d0 │ │ │ │ │ - vmla.f64 d3, d2, d1 │ │ │ │ │ - vmla.f64 d4, d8, d1 │ │ │ │ │ - vldr d15, [sp, #96] @ 0x60 │ │ │ │ │ - vstr d14, [sp, #384] @ 0x180 │ │ │ │ │ - vldr d14, [sp, #56] @ 0x38 │ │ │ │ │ - vstr d3, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d4, [sp, #392] @ 0x188 │ │ │ │ │ - vldr d3, [r2] │ │ │ │ │ - mov.w r2, fp, lsl #4 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - add.w r0, r8, r2 │ │ │ │ │ - add.w r5, sl, r2 │ │ │ │ │ - str r2, [sp, #56] @ 0x38 │ │ │ │ │ - mul.w r2, r6, fp │ │ │ │ │ - str r0, [sp, #68] @ 0x44 │ │ │ │ │ - vmul.f64 d2, d7, d4 │ │ │ │ │ - vmul.f64 d7, d7, d3 │ │ │ │ │ - vmla.f64 d2, d14, d3 │ │ │ │ │ - vldr d3, [r0] │ │ │ │ │ - add.w r4, sl, r2 │ │ │ │ │ - add.w r6, r8, r2 │ │ │ │ │ - str r5, [sp, #72] @ 0x48 │ │ │ │ │ - mov.w r2, fp, lsl #5 │ │ │ │ │ - vnmls.f64 d7, d14, d4 │ │ │ │ │ - str r6, [sp, #76] @ 0x4c │ │ │ │ │ - str r4, [sp, #176] @ 0xb0 │ │ │ │ │ - add.w r0, r9, r2 │ │ │ │ │ - add.w r1, lr, r2 │ │ │ │ │ - vstr d7, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - mul.w r5, r7, fp │ │ │ │ │ - movs r7, #24 │ │ │ │ │ - vmul.f64 d4, d6, d7 │ │ │ │ │ - vmul.f64 d6, d6, d3 │ │ │ │ │ - vmla.f64 d4, d5, d3 │ │ │ │ │ - vldr d3, [r4] │ │ │ │ │ - vnmls.f64 d6, d5, d7 │ │ │ │ │ + vldr d15, [r7, #-112] @ 0xffffff90 │ │ │ │ │ + vnmls.f64 d8, d14, d10 │ │ │ │ │ + vnmls.f64 d4, d15, d10 │ │ │ │ │ + vldr d15, [r7, #-104] @ 0xffffff98 │ │ │ │ │ + vstr d8, [sp, #88] @ 0x58 │ │ │ │ │ + vstr d4, [sp, #352] @ 0x160 │ │ │ │ │ + vmul.f64 d4, d6, d0 │ │ │ │ │ + vmov.f64 d8, d4 │ │ │ │ │ + vmul.f64 d4, d3, d10 │ │ │ │ │ + vnmls.f64 d8, d5, d10 │ │ │ │ │ + vmov.f64 d3, d4 │ │ │ │ │ + vmul.f64 d4, d15, d10 │ │ │ │ │ + vldr d15, [r7, #-112] @ 0xffffff90 │ │ │ │ │ + vmla.f64 d3, d14, d0 │ │ │ │ │ + vmla.f64 d4, d15, d0 │ │ │ │ │ + vstr d3, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ + sub.w r1, r2, sl │ │ │ │ │ + vstr d8, [sp, #360] @ 0x168 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + vldr d8, [sp, #32] │ │ │ │ │ + add.w r4, r9, r1 │ │ │ │ │ + str r0, [sp, #32] │ │ │ │ │ + add.w r5, fp, r1 │ │ │ │ │ + vstr d4, [sp, #368] @ 0x170 │ │ │ │ │ + vmul.f64 d4, d7, d3 │ │ │ │ │ + vmul.f64 d7, d7, d2 │ │ │ │ │ + vnmls.f64 d7, d8, d3 │ │ │ │ │ + vmla.f64 d4, d8, d2 │ │ │ │ │ + vldr d2, [r0] │ │ │ │ │ + vstr d7, [sp, #80] @ 0x50 │ │ │ │ │ + strd r6, r4, [sp, #44] @ 0x2c │ │ │ │ │ vldr d7, [r6] │ │ │ │ │ - vmul.f64 d5, d15, d3 │ │ │ │ │ - adds r6, r1, r3 │ │ │ │ │ - vmla.f64 d5, d9, d7 │ │ │ │ │ - vmul.f64 d7, d15, d7 │ │ │ │ │ + mov.w r6, sl, lsl #5 │ │ │ │ │ + str r5, [sp, #52] @ 0x34 │ │ │ │ │ + vldr d15, [sp, #72] @ 0x48 │ │ │ │ │ + add.w r0, r8, r6 │ │ │ │ │ + add.w r1, lr, r6 │ │ │ │ │ + str r3, [sp, #576] @ 0x240 │ │ │ │ │ + vmul.f64 d3, d6, d7 │ │ │ │ │ + vmul.f64 d6, d6, d2 │ │ │ │ │ + vmov.f64 d8, d15 │ │ │ │ │ vldr d15, [lr] │ │ │ │ │ - vnmls.f64 d7, d9, d3 │ │ │ │ │ - vadd.f64 d3, d15, d2 │ │ │ │ │ - vmov.f64 d14, d3 │ │ │ │ │ - vadd.f64 d3, d4, d5 │ │ │ │ │ - vsub.f64 d4, d4, d5 │ │ │ │ │ - vsub.f64 d9, d14, d3 │ │ │ │ │ - vstr d9, [sp, #200] @ 0xc8 │ │ │ │ │ - vadd.f64 d9, d14, d3 │ │ │ │ │ - vstr d9, [sp, #416] @ 0x1a0 │ │ │ │ │ - vldr d9, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d15, [r9] │ │ │ │ │ - vldr d14, [sp, #88] @ 0x58 │ │ │ │ │ - str r0, [sp, #88] @ 0x58 │ │ │ │ │ - vsub.f64 d3, d15, d9 │ │ │ │ │ + vmla.f64 d3, d5, d2 │ │ │ │ │ + vldr d2, [r5] │ │ │ │ │ + vnmls.f64 d6, d5, d7 │ │ │ │ │ + add.w r5, r0, r3 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + add.w r4, r2, sl │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + vmul.f64 d5, d1, d2 │ │ │ │ │ + vmla.f64 d5, d8, d7 │ │ │ │ │ + vmul.f64 d7, d1, d7 │ │ │ │ │ + vadd.f64 d1, d15, d4 │ │ │ │ │ + vldr d15, [r8] │ │ │ │ │ + vnmls.f64 d7, d8, d2 │ │ │ │ │ + vadd.f64 d2, d3, d5 │ │ │ │ │ + vsub.f64 d3, d3, d5 │ │ │ │ │ + vsub.f64 d8, d1, d2 │ │ │ │ │ + vadd.f64 d2, d1, d2 │ │ │ │ │ + vldr d1, [sp, #88] @ 0x58 │ │ │ │ │ + vstr d8, [sp, #408] @ 0x198 │ │ │ │ │ + vldr d8, [sp, #80] @ 0x50 │ │ │ │ │ + str r5, [sp, #80] @ 0x50 │ │ │ │ │ + vstr d2, [sp, #416] @ 0x1a0 │ │ │ │ │ + vsub.f64 d2, d15, d8 │ │ │ │ │ vldr d15, [lr] │ │ │ │ │ - str r6, [sp, #96] @ 0x60 │ │ │ │ │ - vsub.f64 d5, d3, d4 │ │ │ │ │ + vsub.f64 d5, d2, d3 │ │ │ │ │ vstr d5, [sp, #424] @ 0x1a8 │ │ │ │ │ - vadd.f64 d5, d3, d4 │ │ │ │ │ + vadd.f64 d5, d2, d3 │ │ │ │ │ + vldr d3, [sp, #64] @ 0x40 │ │ │ │ │ + str r0, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d5, [sp, #432] @ 0x1b0 │ │ │ │ │ + vsub.f64 d5, d15, d4 │ │ │ │ │ vsub.f64 d4, d6, d7 │ │ │ │ │ + vldr d15, [r8] │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ - vstr d5, [sp, #432] @ 0x1b0 │ │ │ │ │ - vsub.f64 d5, d15, d2 │ │ │ │ │ - vldr d15, [r9] │ │ │ │ │ - vadd.f64 d6, d15, d9 │ │ │ │ │ vsub.f64 d2, d5, d4 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - vadd.f64 d9, d7, d6 │ │ │ │ │ - vsub.f64 d7, d6, d7 │ │ │ │ │ - vldr d6, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d4, [sp, #56] @ 0x38 │ │ │ │ │ + vadd.f64 d6, d15, d8 │ │ │ │ │ + str r1, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d2, [sp, #440] @ 0x1b8 │ │ │ │ │ vstr d5, [sp, #448] @ 0x1c0 │ │ │ │ │ - str r1, [sp, #80] @ 0x50 │ │ │ │ │ - adds r1, r0, r3 │ │ │ │ │ + vadd.f64 d5, d7, d6 │ │ │ │ │ + vsub.f64 d7, d6, d7 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + vstr d5, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + add r1, r3 │ │ │ │ │ vstr d7, [sp, #464] @ 0x1d0 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ - vstr d9, [sp, #456] @ 0x1c8 │ │ │ │ │ - vmul.f64 d5, d6, d7 │ │ │ │ │ - vldr d9, [sp, #112] @ 0x70 │ │ │ │ │ - vmla.f64 d5, d14, d4 │ │ │ │ │ - vmul.f64 d4, d6, d4 │ │ │ │ │ - str r1, [sp, #104] @ 0x68 │ │ │ │ │ - mov.w r1, fp, lsl #6 │ │ │ │ │ - vmul.f64 d6, d9, d3 │ │ │ │ │ - add.w r4, sl, r1 │ │ │ │ │ - add.w r0, r8, r1 │ │ │ │ │ - str r0, [sp, #112] @ 0x70 │ │ │ │ │ - vnmls.f64 d4, d14, d7 │ │ │ │ │ - vldr d14, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - str r4, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d2, [sp, #440] @ 0x1b8 │ │ │ │ │ - vmla.f64 d6, d14, d7 │ │ │ │ │ - vmul.f64 d7, d9, d7 │ │ │ │ │ - vldr d9, [sp, #136] @ 0x88 │ │ │ │ │ - vnmls.f64 d7, d14, d3 │ │ │ │ │ - vadd.f64 d3, d5, d6 │ │ │ │ │ - vsub.f64 d6, d5, d6 │ │ │ │ │ - vldr d5, [sp, #128] @ 0x80 │ │ │ │ │ - vstr d3, [sp, #224] @ 0xe0 │ │ │ │ │ - vadd.f64 d3, d4, d7 │ │ │ │ │ - vsub.f64 d7, d4, d7 │ │ │ │ │ - vstr d6, [sp, #304] @ 0x130 │ │ │ │ │ + vmul.f64 d7, d4, d6 │ │ │ │ │ + str r1, [sp, #72] @ 0x48 │ │ │ │ │ + vmul.f64 d8, d4, d5 │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ + add.w r5, sl, sl, lsl #1 │ │ │ │ │ + vmla.f64 d7, d3, d5 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + mov.w r1, sl, lsl #6 │ │ │ │ │ + add.w r0, r9, r1 │ │ │ │ │ + vnmls.f64 d8, d3, d6 │ │ │ │ │ + vldr d3, [sp, #96] @ 0x60 │ │ │ │ │ + vmul.f64 d6, d1, d4 │ │ │ │ │ + vmla.f64 d6, d3, d5 │ │ │ │ │ + vmul.f64 d5, d1, d5 │ │ │ │ │ + vnmls.f64 d5, d3, d4 │ │ │ │ │ + vadd.f64 d3, d7, d6 │ │ │ │ │ + vsub.f64 d6, d7, d6 │ │ │ │ │ + vstr d3, [sp, #200] @ 0xc8 │ │ │ │ │ + vadd.f64 d3, d8, d5 │ │ │ │ │ + vsub.f64 d8, d8, d5 │ │ │ │ │ + str r0, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d5, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d1, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d6, [sp, #288] @ 0x120 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ - mul.w r0, r7, fp │ │ │ │ │ - movs r7, #48 @ 0x30 │ │ │ │ │ - add.w r6, r8, r0 │ │ │ │ │ - vstr d3, [sp, #240] @ 0xf0 │ │ │ │ │ - vstr d7, [sp, #272] @ 0x110 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - str r6, [sp, #128] @ 0x80 │ │ │ │ │ - vldr d14, [sp, #144] @ 0x90 │ │ │ │ │ - vmul.f64 d4, d5, d7 │ │ │ │ │ - vldr d15, [ip, #-104] @ 0xffffff98 │ │ │ │ │ - vmla.f64 d4, d9, d6 │ │ │ │ │ - vmul.f64 d6, d5, d6 │ │ │ │ │ - vnmls.f64 d6, d9, d7 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - add.w r6, sl, r0 │ │ │ │ │ - vldr d9, [sp, #152] @ 0x98 │ │ │ │ │ - str r6, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d3, [r6] │ │ │ │ │ - mul.w r6, r7, fp │ │ │ │ │ - add.w r4, r8, r6 │ │ │ │ │ - str r4, [sp, #144] @ 0x90 │ │ │ │ │ - vmul.f64 d5, d14, d3 │ │ │ │ │ - vmla.f64 d5, d9, d7 │ │ │ │ │ - vmul.f64 d7, d14, d7 │ │ │ │ │ - vnmls.f64 d7, d9, d3 │ │ │ │ │ - vadd.f64 d14, d4, d5 │ │ │ │ │ - vsub.f64 d5, d4, d5 │ │ │ │ │ - vadd.f64 d9, d6, d7 │ │ │ │ │ - vsub.f64 d6, d6, d7 │ │ │ │ │ - vstr d5, [sp, #280] @ 0x118 │ │ │ │ │ - vldr d5, [sp, #168] @ 0xa8 │ │ │ │ │ - vstr d14, [sp, #232] @ 0xe8 │ │ │ │ │ - vstr d6, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - add.w r4, sl, r6 │ │ │ │ │ - vldr d14, [sp, #160] @ 0xa0 │ │ │ │ │ - str r4, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - mov.w r4, fp, lsl #3 │ │ │ │ │ - add.w r7, r8, r4 │ │ │ │ │ - str r7, [sp, #160] @ 0xa0 │ │ │ │ │ - vstr d9, [sp, #208] @ 0xd0 │ │ │ │ │ + add.w r0, fp, r1 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + str r0, [sp, #96] @ 0x60 │ │ │ │ │ + mov.w r0, r5, lsl #3 │ │ │ │ │ + vstr d3, [sp, #216] @ 0xd8 │ │ │ │ │ + mov.w r5, r5, lsl #4 │ │ │ │ │ + add.w r3, r9, r0 │ │ │ │ │ + vldr d2, [sp, #128] @ 0x80 │ │ │ │ │ + str r3, [sp, #104] @ 0x68 │ │ │ │ │ vmul.f64 d4, d5, d7 │ │ │ │ │ - vldr d9, [sp, #184] @ 0xb8 │ │ │ │ │ - vmla.f64 d4, d14, d6 │ │ │ │ │ + vmla.f64 d4, d1, d6 │ │ │ │ │ vmul.f64 d6, d5, d6 │ │ │ │ │ - vnmls.f64 d6, d14, d7 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - add.w r7, sl, r4 │ │ │ │ │ - str r7, [sp, #168] @ 0xa8 │ │ │ │ │ - vldr d3, [r7] │ │ │ │ │ - add.w r7, lr, r6 │ │ │ │ │ - str r7, [sp, #180] @ 0xb4 │ │ │ │ │ - vmul.f64 d5, d15, d3 │ │ │ │ │ - vmla.f64 d5, d8, d7 │ │ │ │ │ - vmul.f64 d7, d15, d7 │ │ │ │ │ - vnmls.f64 d7, d8, d3 │ │ │ │ │ - vadd.f64 d8, d4, d5 │ │ │ │ │ + vnmls.f64 d6, d1, d7 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + add.w r3, fp, r0 │ │ │ │ │ + vldr d3, [r3] │ │ │ │ │ + str r3, [sp, #112] @ 0x70 │ │ │ │ │ + add.w r3, r9, r5 │ │ │ │ │ + vldr d1, [sp, #120] @ 0x78 │ │ │ │ │ + str r3, [sp, #120] @ 0x78 │ │ │ │ │ + vmul.f64 d5, d1, d3 │ │ │ │ │ + vmla.f64 d5, d2, d7 │ │ │ │ │ + vmul.f64 d7, d1, d7 │ │ │ │ │ + vnmls.f64 d7, d2, d3 │ │ │ │ │ + vldr d3, [sp, #136] @ 0x88 │ │ │ │ │ + vadd.f64 d1, d4, d5 │ │ │ │ │ + vsub.f64 d15, d4, d5 │ │ │ │ │ + vldr d5, [r7, #-104] @ 0xffffff98 │ │ │ │ │ + vstr d1, [sp, #208] @ 0xd0 │ │ │ │ │ + vadd.f64 d1, d6, d7 │ │ │ │ │ + vstr d15, [sp, #256] @ 0x100 │ │ │ │ │ + vsub.f64 d15, d6, d7 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + add.w r3, fp, r5 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + vstr d1, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d1, [sp, #144] @ 0x90 │ │ │ │ │ + str r3, [sp, #128] @ 0x80 │ │ │ │ │ + add.w r3, r9, r2 │ │ │ │ │ + str r3, [sp, #136] @ 0x88 │ │ │ │ │ + vstr d15, [sp, #296] @ 0x128 │ │ │ │ │ + vmul.f64 d4, d1, d7 │ │ │ │ │ + vmla.f64 d4, d3, d6 │ │ │ │ │ + vmul.f64 d6, d1, d6 │ │ │ │ │ + vldr d1, [r7, #-112] @ 0xffffff90 │ │ │ │ │ + vnmls.f64 d6, d3, d7 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + add.w r3, fp, r2 │ │ │ │ │ + vldr d3, [r3] │ │ │ │ │ + str r3, [sp, #144] @ 0x90 │ │ │ │ │ + add.w r3, lr, r5 │ │ │ │ │ + add r5, r8 │ │ │ │ │ + vmul.f64 d5, d5, d3 │ │ │ │ │ + vmla.f64 d5, d1, d7 │ │ │ │ │ + vldr d1, [r7, #-104] @ 0xffffff98 │ │ │ │ │ + vmul.f64 d7, d1, d7 │ │ │ │ │ + vldr d1, [r7, #-112] @ 0xffffff90 │ │ │ │ │ + vnmls.f64 d7, d1, d3 │ │ │ │ │ + vadd.f64 d3, d4, d5 │ │ │ │ │ vsub.f64 d4, d4, d5 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ - add.w r7, r9, r6 │ │ │ │ │ - add.w r6, r4, r9 │ │ │ │ │ - str r7, [sp, #576] @ 0x240 │ │ │ │ │ - vstr d8, [sp, #216] @ 0xd8 │ │ │ │ │ - vadd.f64 d8, d6, d7 │ │ │ │ │ + vstr d3, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d2, [sp, #160] @ 0xa0 │ │ │ │ │ + strd r3, r5, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ + vadd.f64 d15, d6, d7 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ - vldr d2, [r6] │ │ │ │ │ - vstr d7, [sp, #320] @ 0x140 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - add.w r7, lr, r4 │ │ │ │ │ - str r7, [sp, #184] @ 0xb8 │ │ │ │ │ - vmul.f64 d3, d9, d7 │ │ │ │ │ - vmov.f64 d14, d3 │ │ │ │ │ - vldr d3, [sp, #192] @ 0xc0 │ │ │ │ │ - str r6, [sp, #192] @ 0xc0 │ │ │ │ │ - vmla.f64 d14, d3, d5 │ │ │ │ │ - vmul.f64 d5, d9, d5 │ │ │ │ │ - vnmls.f64 d5, d3, d7 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - vldr d15, [sp, #24] │ │ │ │ │ - vldr d6, [sp] │ │ │ │ │ - vmul.f64 d3, d15, d2 │ │ │ │ │ - vmla.f64 d3, d6, d7 │ │ │ │ │ - vmul.f64 d7, d15, d7 │ │ │ │ │ - vnmls.f64 d7, d6, d2 │ │ │ │ │ - vldr d6, [sp, #216] @ 0xd8 │ │ │ │ │ - vadd.f64 d2, d14, d3 │ │ │ │ │ - vadd.f64 d9, d5, d7 │ │ │ │ │ + vldr d6, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d15, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d7, [sp, #304] @ 0x130 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, lr, r2 │ │ │ │ │ + add r2, r8 │ │ │ │ │ + str r5, [sp, #160] @ 0xa0 │ │ │ │ │ + vmul.f64 d3, d2, d7 │ │ │ │ │ + vmla.f64 d3, d6, d5 │ │ │ │ │ + vmul.f64 d5, d2, d5 │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ + vnmls.f64 d5, d6, d7 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, lr, ip │ │ │ │ │ + add ip, r8 │ │ │ │ │ + vmov.f64 d1, d3 │ │ │ │ │ + vmul.f64 d3, d12, d2 │ │ │ │ │ + vmla.f64 d3, d9, d7 │ │ │ │ │ + vmul.f64 d7, d12, d7 │ │ │ │ │ + vnmls.f64 d7, d9, d2 │ │ │ │ │ + vadd.f64 d6, d1, d3 │ │ │ │ │ + vsub.f64 d9, d1, d3 │ │ │ │ │ + vldr d3, [sp, #208] @ 0xd0 │ │ │ │ │ + vadd.f64 d2, d5, d7 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ - vldr d7, [sp, #224] @ 0xe0 │ │ │ │ │ - vstr d9, [sp] │ │ │ │ │ - vsub.f64 d9, d14, d3 │ │ │ │ │ - vldr d14, [sp, #232] @ 0xe8 │ │ │ │ │ - vsub.f64 d15, d7, d6 │ │ │ │ │ - vldr d3, [sp, #240] @ 0xf0 │ │ │ │ │ - vsub.f64 d6, d2, d14 │ │ │ │ │ - vadd.f64 d14, d14, d2 │ │ │ │ │ + vldr d7, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d6, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d12, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d6, [sp, #200] @ 0xc8 │ │ │ │ │ + vsub.f64 d7, d6, d7 │ │ │ │ │ + vmov.f64 d1, d7 │ │ │ │ │ + vsub.f64 d7, d12, d3 │ │ │ │ │ + vstr d1, [sp, #200] @ 0xc8 │ │ │ │ │ + vadd.f64 d12, d1, d7 │ │ │ │ │ + vldr d1, [sp, #224] @ 0xe0 │ │ │ │ │ + vstr d7, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d7, [sp, #216] @ 0xd8 │ │ │ │ │ + vstr d12, [sp, #472] @ 0x1d8 │ │ │ │ │ + vadd.f64 d12, d7, d15 │ │ │ │ │ + vadd.f64 d15, d1, d2 │ │ │ │ │ + vstr d12, [sp, #216] @ 0xd8 │ │ │ │ │ + vadd.f64 d12, d12, d15 │ │ │ │ │ vstr d15, [sp, #224] @ 0xe0 │ │ │ │ │ - vadd.f64 d15, d15, d6 │ │ │ │ │ - vstr d6, [sp, #232] @ 0xe8 │ │ │ │ │ - vldr d6, [sp, #208] @ 0xd0 │ │ │ │ │ - vstr d14, [sp, #264] @ 0x108 │ │ │ │ │ - vstr d15, [sp, #472] @ 0x1d8 │ │ │ │ │ - vadd.f64 d15, d3, d8 │ │ │ │ │ - vsub.f64 d8, d3, d8 │ │ │ │ │ + vldr d15, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d12, [sp, #480] @ 0x1e0 │ │ │ │ │ + vsub.f64 d12, d7, d15 │ │ │ │ │ + vsub.f64 d15, d1, d2 │ │ │ │ │ + vsub.f64 d7, d15, d12 │ │ │ │ │ + vstr d12, [sp, #232] @ 0xe8 │ │ │ │ │ vstr d15, [sp, #240] @ 0xf0 │ │ │ │ │ - vldr d15, [sp] │ │ │ │ │ - vadd.f64 d15, d6, d15 │ │ │ │ │ - vmov.f64 d6, d15 │ │ │ │ │ - vldr d15, [sp, #240] @ 0xf0 │ │ │ │ │ - vadd.f64 d15, d15, d6 │ │ │ │ │ + vstr d7, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d7, [sp, #168] @ 0xa8 │ │ │ │ │ + vadd.f64 d6, d6, d7 │ │ │ │ │ + vldr d7, [sp, #184] @ 0xb8 │ │ │ │ │ + vadd.f64 d12, d3, d7 │ │ │ │ │ vstr d6, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d6, [sp, #208] @ 0xd0 │ │ │ │ │ - vstr d8, [sp, #208] @ 0xd0 │ │ │ │ │ - vstr d15, [sp, #480] @ 0x1e0 │ │ │ │ │ - vldr d15, [sp] │ │ │ │ │ - vsub.f64 d3, d6, d15 │ │ │ │ │ - vldr d6, [sp, #280] @ 0x118 │ │ │ │ │ - vsub.f64 d8, d3, d8 │ │ │ │ │ - vstr d3, [sp, #256] @ 0x100 │ │ │ │ │ - vstr d8, [sp, #488] @ 0x1e8 │ │ │ │ │ - vldr d8, [sp, #216] @ 0xd8 │ │ │ │ │ - vadd.f64 d8, d7, d8 │ │ │ │ │ - vldr d7, [sp, #272] @ 0x110 │ │ │ │ │ - vadd.f64 d14, d8, d14 │ │ │ │ │ - vstr d8, [sp, #216] @ 0xd8 │ │ │ │ │ - vadd.f64 d8, d6, d5 │ │ │ │ │ - vsub.f64 d5, d5, d6 │ │ │ │ │ - vstr d14, [sp, #496] @ 0x1f0 │ │ │ │ │ - vadd.f64 d14, d7, d4 │ │ │ │ │ - vsub.f64 d4, d7, d4 │ │ │ │ │ - vstr d5, [sp, #296] @ 0x128 │ │ │ │ │ - vstr d8, [sp, #280] @ 0x118 │ │ │ │ │ - vadd.f64 d3, d14, d8 │ │ │ │ │ - vstr d14, [sp, #272] @ 0x110 │ │ │ │ │ - vadd.f64 d5, d4, d5 │ │ │ │ │ - vstr d4, [sp, #288] @ 0x120 │ │ │ │ │ - vstr d3, [sp, #504] @ 0x1f8 │ │ │ │ │ - vstr d5, [sp, #512] @ 0x200 │ │ │ │ │ + vadd.f64 d1, d6, d12 │ │ │ │ │ + vstr d1, [sp, #496] @ 0x1f0 │ │ │ │ │ + vadd.f64 d1, d8, d4 │ │ │ │ │ + vsub.f64 d8, d8, d4 │ │ │ │ │ + vldr d15, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d2, [sp] │ │ │ │ │ + str r5, [sp, #0] │ │ │ │ │ vldr d7, [sp, #304] @ 0x130 │ │ │ │ │ - vldr d8, [sp, #320] @ 0x140 │ │ │ │ │ - vldr d6, [sp, #312] @ 0x138 │ │ │ │ │ - ldr r4, [sp, #56] @ 0x38 │ │ │ │ │ - vadd.f64 d5, d7, d8 │ │ │ │ │ - vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ - vadd.f64 d4, d6, d9 │ │ │ │ │ - add.w r6, lr, r4 │ │ │ │ │ - add r4, r9 │ │ │ │ │ - vldr d3, [sp, #32] │ │ │ │ │ - vsub.f64 d9, d9, d6 │ │ │ │ │ - mov r7, r4 │ │ │ │ │ - vstr d5, [sp, #304] @ 0x130 │ │ │ │ │ - vadd.f64 d5, d5, d4 │ │ │ │ │ - vstr d4, [sp, #312] @ 0x138 │ │ │ │ │ - vsub.f64 d4, d7, d8 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - vstr d9, [sp, #328] @ 0x148 │ │ │ │ │ - vldr d8, [sp, #384] @ 0x180 │ │ │ │ │ - vstr d5, [sp, #520] @ 0x208 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - adds r4, r6, r3 │ │ │ │ │ - vadd.f64 d9, d4, d9 │ │ │ │ │ - str r4, [sp, #0] │ │ │ │ │ - vstr d4, [sp, #320] @ 0x140 │ │ │ │ │ - vmul.f64 d6, d2, d5 │ │ │ │ │ - vldr d4, [r4] │ │ │ │ │ - vmla.f64 d6, d3, d7 │ │ │ │ │ - vmul.f64 d7, d2, d7 │ │ │ │ │ - adds r4, r7, r3 │ │ │ │ │ - vldr d2, [sp, #368] @ 0x170 │ │ │ │ │ + vstr d1, [sp, #256] @ 0x100 │ │ │ │ │ + vadd.f64 d3, d15, d5 │ │ │ │ │ + vsub.f64 d5, d5, d15 │ │ │ │ │ + vldr d15, [sp, #296] @ 0x128 │ │ │ │ │ + ldr r3, [sp, #576] @ 0x240 │ │ │ │ │ + vadd.f64 d6, d1, d3 │ │ │ │ │ + vadd.f64 d1, d8, d5 │ │ │ │ │ + vstr d3, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d8, [sp, #272] @ 0x110 │ │ │ │ │ + vstr d5, [sp, #280] @ 0x118 │ │ │ │ │ + vadd.f64 d5, d15, d9 │ │ │ │ │ + vsub.f64 d9, d9, d15 │ │ │ │ │ + vldr d3, [sp, #16] │ │ │ │ │ + vstr d6, [sp, #504] @ 0x1f8 │ │ │ │ │ + vmov.f64 d15, d9 │ │ │ │ │ + vldr d6, [sp, #288] @ 0x120 │ │ │ │ │ + vstr d5, [sp, #296] @ 0x128 │ │ │ │ │ + vstr d1, [sp, #512] @ 0x200 │ │ │ │ │ + vstr d15, [sp, #312] @ 0x138 │ │ │ │ │ + vadd.f64 d8, d6, d7 │ │ │ │ │ + vsub.f64 d6, d6, d7 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add r5, r3 │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ + str r5, [sp, #16] │ │ │ │ │ + add.w r5, ip, r3 │ │ │ │ │ + vadd.f64 d9, d6, d9 │ │ │ │ │ + vadd.f64 d1, d8, d5 │ │ │ │ │ + str r5, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d6, [sp, #304] @ 0x130 │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + vstr d8, [sp, #288] @ 0x120 │ │ │ │ │ + vstr d1, [sp, #520] @ 0x208 │ │ │ │ │ + vldr d1, [sp, #360] @ 0x168 │ │ │ │ │ + vmul.f64 d5, d2, d6 │ │ │ │ │ vstr d9, [sp, #528] @ 0x210 │ │ │ │ │ - str r4, [sp, #24] │ │ │ │ │ - vnmls.f64 d7, d3, d5 │ │ │ │ │ - vldr d3, [r4] │ │ │ │ │ - add.w r4, r8, r3 │ │ │ │ │ - add r3, sl │ │ │ │ │ - vldr d15, [sp, #336] @ 0x150 │ │ │ │ │ - vmul.f64 d5, d8, d3 │ │ │ │ │ - vmla.f64 d5, d2, d4 │ │ │ │ │ - vmul.f64 d4, d8, d4 │ │ │ │ │ + vmla.f64 d5, d3, d7 │ │ │ │ │ + vmul.f64 d7, d2, d7 │ │ │ │ │ + vldr d2, [sp, #320] @ 0x140 │ │ │ │ │ + vnmls.f64 d7, d3, d6 │ │ │ │ │ + vldr d3, [r5] │ │ │ │ │ + mov r5, r3 │ │ │ │ │ + add r3, r9 │ │ │ │ │ + vmul.f64 d6, d1, d3 │ │ │ │ │ + vmla.f64 d6, d2, d4 │ │ │ │ │ + vmul.f64 d4, d1, d4 │ │ │ │ │ vnmls.f64 d4, d2, d3 │ │ │ │ │ - vadd.f64 d2, d6, d5 │ │ │ │ │ - vsub.f64 d9, d6, d5 │ │ │ │ │ - vldr d6, [sl] │ │ │ │ │ - vadd.f64 d3, d7, d4 │ │ │ │ │ - vstr d2, [sp, #368] @ 0x170 │ │ │ │ │ - vsub.f64 d2, d7, d4 │ │ │ │ │ - vldr d7, [r8] │ │ │ │ │ - vstr d9, [sp, #408] @ 0x198 │ │ │ │ │ - vstr d3, [sp, #384] @ 0x180 │ │ │ │ │ - vldr d3, [sp, #16] │ │ │ │ │ - vstr d2, [sp, #400] @ 0x190 │ │ │ │ │ - vldr d2, [sp, #8] │ │ │ │ │ + vadd.f64 d9, d5, d6 │ │ │ │ │ + vsub.f64 d2, d5, d6 │ │ │ │ │ + vsub.f64 d3, d7, d4 │ │ │ │ │ + vstr d9, [sp, #320] @ 0x140 │ │ │ │ │ + vadd.f64 d9, d7, d4 │ │ │ │ │ + vstr d2, [sp, #384] @ 0x180 │ │ │ │ │ + vstr d9, [sp, #360] @ 0x168 │ │ │ │ │ + vstr d3, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d7, [r9] │ │ │ │ │ + vldr d6, [fp] │ │ │ │ │ + vldr d3, [sp, #8] │ │ │ │ │ + str r3, [sp, #8] │ │ │ │ │ + vldr d9, [sp, #192] @ 0xc0 │ │ │ │ │ vmul.f64 d5, d3, d6 │ │ │ │ │ - str r4, [sp, #8] │ │ │ │ │ - vmla.f64 d5, d2, d7 │ │ │ │ │ + vmla.f64 d5, d14, d7 │ │ │ │ │ vmul.f64 d7, d3, d7 │ │ │ │ │ + vnmls.f64 d7, d14, d6 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + mov r3, r5 │ │ │ │ │ + add r3, fp │ │ │ │ │ + add.w r5, r9, r6 │ │ │ │ │ + vldr d14, [sp, #328] @ 0x148 │ │ │ │ │ + add r6, fp │ │ │ │ │ + str r5, [sp, #176] @ 0xb0 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ - vnmls.f64 d7, d2, d6 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - vldr d14, [sp, #344] @ 0x158 │ │ │ │ │ - vmul.f64 d4, d15, d3 │ │ │ │ │ - add.w r4, r8, r2 │ │ │ │ │ - add r2, sl │ │ │ │ │ - str r4, [sp, #16] │ │ │ │ │ + vmul.f64 d4, d9, d3 │ │ │ │ │ vmla.f64 d4, d14, d6 │ │ │ │ │ - vmul.f64 d6, d15, d6 │ │ │ │ │ + vmul.f64 d6, d9, d6 │ │ │ │ │ vnmls.f64 d6, d14, d3 │ │ │ │ │ + vsub.f64 d9, d4, d5 │ │ │ │ │ vadd.f64 d15, d5, d4 │ │ │ │ │ - vsub.f64 d2, d4, d5 │ │ │ │ │ - vsub.f64 d3, d7, d6 │ │ │ │ │ vadd.f64 d14, d7, d6 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - add.w r4, r8, r5 │ │ │ │ │ - add r5, sl │ │ │ │ │ - str r4, [sp, #32] │ │ │ │ │ - vstr d3, [sp, #536] @ 0x218 │ │ │ │ │ - vmul.f64 d3, d12, d7 │ │ │ │ │ - vmla.f64 d3, d10, d6 │ │ │ │ │ - vmul.f64 d6, d12, d6 │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ - vstr d2, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d12, [sp, #360] @ 0x168 │ │ │ │ │ - vnmls.f64 d6, d10, d7 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - vmul.f64 d5, d0, d4 │ │ │ │ │ - add.w r4, lr, r1 │ │ │ │ │ - add r1, r9 │ │ │ │ │ - str r4, [sp, #40] @ 0x28 │ │ │ │ │ - vmla.f64 d5, d1, d7 │ │ │ │ │ - vmul.f64 d7, d0, d7 │ │ │ │ │ - vnmls.f64 d7, d1, d4 │ │ │ │ │ - vldr d4, [sp, #392] @ 0x188 │ │ │ │ │ + vsub.f64 d1, d7, d6 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + vstr d9, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d9, [r7, #-88] @ 0xffffffa8 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + add.w r5, r9, r4 │ │ │ │ │ + add r4, fp │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + str r5, [sp, #184] @ 0xb8 │ │ │ │ │ + vmul.f64 d3, d9, d7 │ │ │ │ │ + vldr d9, [r7, #-96] @ 0xffffffa0 │ │ │ │ │ + vstr d1, [sp, #392] @ 0x188 │ │ │ │ │ + vmul.f64 d5, d10, d4 │ │ │ │ │ + vmla.f64 d3, d9, d6 │ │ │ │ │ + vldr d9, [r7, #-88] @ 0xffffffa8 │ │ │ │ │ + vmul.f64 d6, d9, d6 │ │ │ │ │ + vldr d9, [r7, #-96] @ 0xffffffa0 │ │ │ │ │ + vnmls.f64 d6, d9, d7 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, lr, r1 │ │ │ │ │ + add r1, r8 │ │ │ │ │ + str r5, [sp, #576] @ 0x240 │ │ │ │ │ + vmla.f64 d5, d0, d7 │ │ │ │ │ + vmul.f64 d7, d10, d7 │ │ │ │ │ + vldr d10, [sp, #344] @ 0x158 │ │ │ │ │ + vnmls.f64 d7, d0, d4 │ │ │ │ │ + vldr d0, [sp, #336] @ 0x150 │ │ │ │ │ + vldr d4, [sp, #368] @ 0x170 │ │ │ │ │ vadd.f64 d8, d3, d5 │ │ │ │ │ vsub.f64 d3, d3, d5 │ │ │ │ │ - vldr d5, [sp, #376] @ 0x178 │ │ │ │ │ - vadd.f64 d0, d6, d7 │ │ │ │ │ + vldr d5, [sp, #352] @ 0x160 │ │ │ │ │ + vadd.f64 d1, d6, d7 │ │ │ │ │ vsub.f64 d9, d6, d7 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - add.w r4, lr, r0 │ │ │ │ │ - add r0, r9 │ │ │ │ │ - str r4, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, lr, r0 │ │ │ │ │ + add r0, r8 │ │ │ │ │ + str r5, [sp, #192] @ 0xc0 │ │ │ │ │ vmul.f64 d2, d5, d6 │ │ │ │ │ - vstr d0, [sp, #344] @ 0x158 │ │ │ │ │ vmla.f64 d2, d4, d7 │ │ │ │ │ vmul.f64 d7, d5, d7 │ │ │ │ │ - vldr d0, [sp, #352] @ 0x160 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ vnmls.f64 d7, d4, d6 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ - vmul.f64 d4, d12, d6 │ │ │ │ │ + vmul.f64 d4, d10, d6 │ │ │ │ │ vmla.f64 d4, d0, d5 │ │ │ │ │ - vmul.f64 d5, d12, d5 │ │ │ │ │ - vldr d12, [sp, #368] @ 0x170 │ │ │ │ │ + vmul.f64 d5, d10, d5 │ │ │ │ │ + vldr d10, [sp, #320] @ 0x140 │ │ │ │ │ vnmls.f64 d5, d0, d6 │ │ │ │ │ - vsub.f64 d10, d12, d8 │ │ │ │ │ - vldr d0, [sp, #344] @ 0x158 │ │ │ │ │ - vadd.f64 d8, d12, d8 │ │ │ │ │ - vldr d12, [sp, #400] @ 0x190 │ │ │ │ │ - vadd.f64 d1, d2, d4 │ │ │ │ │ + vsub.f64 d10, d10, d8 │ │ │ │ │ + vadd.f64 d0, d2, d4 │ │ │ │ │ vsub.f64 d4, d2, d4 │ │ │ │ │ - vmov.f64 d2, d10 │ │ │ │ │ vadd.f64 d6, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [sp, #384] @ 0x180 │ │ │ │ │ - vsub.f64 d10, d1, d15 │ │ │ │ │ - vstr d1, [sp, #352] @ 0x160 │ │ │ │ │ - vstr d2, [sp, #360] @ 0x168 │ │ │ │ │ - vadd.f64 d1, d14, d6 │ │ │ │ │ - vadd.f64 d0, d5, d0 │ │ │ │ │ + vsub.f64 d5, d0, d15 │ │ │ │ │ + vstr d0, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d10, [sp, #344] @ 0x158 │ │ │ │ │ + ldr r5, [sp, #80] @ 0x50 │ │ │ │ │ + vadd.f64 d2, d10, d5 │ │ │ │ │ + vstr d5, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d5, [sp, #360] @ 0x168 │ │ │ │ │ + vadd.f64 d0, d5, d1 │ │ │ │ │ + vsub.f64 d1, d5, d1 │ │ │ │ │ + vstr d0, [sp, #360] @ 0x168 │ │ │ │ │ + vadd.f64 d0, d14, d6 │ │ │ │ │ vsub.f64 d6, d6, d14 │ │ │ │ │ - vadd.f64 d2, d2, d10 │ │ │ │ │ - vstr d0, [sp, #368] @ 0x170 │ │ │ │ │ - vadd.f64 d0, d0, d1 │ │ │ │ │ - vstr d1, [sp, #376] @ 0x178 │ │ │ │ │ - vstr d0, [sp, #544] @ 0x220 │ │ │ │ │ - vldr d0, [sp, #344] @ 0x158 │ │ │ │ │ - vsub.f64 d5, d5, d0 │ │ │ │ │ - vldr d0, [sp, #352] @ 0x160 │ │ │ │ │ - vadd.f64 d14, d15, d0 │ │ │ │ │ - vadd.f64 d15, d12, d3 │ │ │ │ │ - vstr d5, [sp, #344] @ 0x158 │ │ │ │ │ - vadd.f64 d5, d5, d6 │ │ │ │ │ - vmov.f64 d1, d15 │ │ │ │ │ - vldr d15, [sp, #336] @ 0x150 │ │ │ │ │ - ldr r4, [sp, #104] @ 0x68 │ │ │ │ │ - vadd.f64 d0, d8, d14 │ │ │ │ │ - vsub.f64 d8, d8, d14 │ │ │ │ │ + vldr d14, [sp, #320] @ 0x140 │ │ │ │ │ + vmov.f64 d10, d0 │ │ │ │ │ + vldr d0, [sp, #360] @ 0x168 │ │ │ │ │ + vadd.f64 d5, d1, d6 │ │ │ │ │ + vadd.f64 d8, d14, d8 │ │ │ │ │ + vsub.f64 d6, d1, d6 │ │ │ │ │ + vldr d14, [sp, #376] @ 0x178 │ │ │ │ │ + vstr d10, [sp, #368] @ 0x170 │ │ │ │ │ + vadd.f64 d0, d0, d10 │ │ │ │ │ + vmul.f64 d1, d6, d11 │ │ │ │ │ + vadd.f64 d10, d14, d3 │ │ │ │ │ + vsub.f64 d3, d14, d3 │ │ │ │ │ + vldr d14, [sp, #328] @ 0x148 │ │ │ │ │ + vstr d0, [sp, #536] @ 0x218 │ │ │ │ │ + vldr d0, [sp, #336] @ 0x150 │ │ │ │ │ + vadd.f64 d14, d14, d7 │ │ │ │ │ + vstr d10, [sp, #336] @ 0x150 │ │ │ │ │ + vadd.f64 d0, d15, d0 │ │ │ │ │ + vldr d15, [sp, #328] @ 0x148 │ │ │ │ │ vsub.f64 d15, d15, d7 │ │ │ │ │ - vstr d1, [sp, #352] @ 0x160 │ │ │ │ │ - vsub.f64 d1, d15, d1 │ │ │ │ │ - vstr d1, [sp, #552] @ 0x228 │ │ │ │ │ - vsub.f64 d1, d12, d3 │ │ │ │ │ - vldr d12, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d3, [sp, #536] @ 0x218 │ │ │ │ │ - vadd.f64 d7, d12, d7 │ │ │ │ │ - vstr d1, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d12, [sp, #408] @ 0x198 │ │ │ │ │ - vadd.f64 d1, d1, d7 │ │ │ │ │ - vstr d7, [sp, #384] @ 0x180 │ │ │ │ │ + vstr d3, [sp, #328] @ 0x148 │ │ │ │ │ + vstr d0, [sp, #320] @ 0x140 │ │ │ │ │ + vadd.f64 d0, d8, d0 │ │ │ │ │ + vsub.f64 d10, d15, d10 │ │ │ │ │ + vstr d10, [sp, #544] @ 0x220 │ │ │ │ │ + vmov.f64 d10, d14 │ │ │ │ │ + vadd.f64 d14, d3, d14 │ │ │ │ │ + vstr d10, [sp, #376] @ 0x178 │ │ │ │ │ + vstr d14, [sp, #552] @ 0x228 │ │ │ │ │ + vldr d14, [sp, #384] @ 0x180 │ │ │ │ │ + vadd.f64 d3, d14, d9 │ │ │ │ │ + vsub.f64 d9, d14, d9 │ │ │ │ │ + vmov.f64 d10, d3 │ │ │ │ │ + vldr d3, [sp, #392] @ 0x188 │ │ │ │ │ + vstr d10, [sp, #384] @ 0x180 │ │ │ │ │ vadd.f64 d7, d3, d4 │ │ │ │ │ vsub.f64 d4, d4, d3 │ │ │ │ │ - vstr d1, [sp, #560] @ 0x230 │ │ │ │ │ - vadd.f64 d1, d12, d9 │ │ │ │ │ - vsub.f64 d9, d12, d9 │ │ │ │ │ - vstr d7, [sp, #400] @ 0x190 │ │ │ │ │ - vstr d4, [sp, #408] @ 0x198 │ │ │ │ │ - vldr d12, [sp, #256] @ 0x100 │ │ │ │ │ - vstr d1, [sp, #392] @ 0x188 │ │ │ │ │ - vadd.f64 d1, d1, d7 │ │ │ │ │ - vadd.f64 d7, d9, d4 │ │ │ │ │ + vadd.f64 d14, d9, d4 │ │ │ │ │ + vstr d7, [sp, #392] @ 0x188 │ │ │ │ │ + vadd.f64 d7, d10, d7 │ │ │ │ │ + vstr d4, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d10, [sp, #408] @ 0x198 │ │ │ │ │ vldr d4, [sp, #472] @ 0x1d8 │ │ │ │ │ + vstr d7, [sp, #560] @ 0x230 │ │ │ │ │ + vldr d7, [pc, #960] @ c80 │ │ │ │ │ + vstr d14, [sp, #568] @ 0x238 │ │ │ │ │ + vldr d14, [sp, #240] @ 0xf0 │ │ │ │ │ vsub.f64 d3, d2, d4 │ │ │ │ │ - vstr d1, [sp, #536] @ 0x218 │ │ │ │ │ - vstr d7, [sp, #568] @ 0x238 │ │ │ │ │ vadd.f64 d2, d4, d2 │ │ │ │ │ - vldr d7, [pc, #960] @ c60 │ │ │ │ │ - vldr d1, [sp, #344] @ 0x158 │ │ │ │ │ - vldr d4, [sp, #200] @ 0xc8 │ │ │ │ │ + vmov.f64 d4, d10 │ │ │ │ │ vmul.f64 d3, d3, d7 │ │ │ │ │ vmov.f64 d7, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vsub.f64 d6, d1, d6 │ │ │ │ │ vmls.f64 d4, d2, d7 │ │ │ │ │ - vldr d7, [sp, #208] @ 0xd0 │ │ │ │ │ - vmul.f64 d1, d6, d11 │ │ │ │ │ - vadd.f64 d7, d7, d12 │ │ │ │ │ - vldr d12, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d7, [sp, #232] @ 0xe8 │ │ │ │ │ + vadd.f64 d2, d10, d2 │ │ │ │ │ + vadd.f64 d7, d7, d14 │ │ │ │ │ + vstr d2, [r5] │ │ │ │ │ + ldr r5, [sp, #40] @ 0x28 │ │ │ │ │ vnmls.f64 d1, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ vmla.f64 d7, d6, d13 │ │ │ │ │ - vldr d6, [sp, #200] @ 0xc8 │ │ │ │ │ - vadd.f64 d2, d6, d2 │ │ │ │ │ vadd.f64 d6, d3, d4 │ │ │ │ │ vsub.f64 d4, d4, d3 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ vsub.f64 d2, d6, d7 │ │ │ │ │ - ldr r4, [sp, #64] @ 0x40 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ - ldr r4, [sp, #180] @ 0xb4 │ │ │ │ │ - vldr d2, [sp, #464] @ 0x1d0 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + vstr d2, [r5] │ │ │ │ │ + ldr r5, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d14, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d6, [sp, #488] @ 0x1e8 │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ vsub.f64 d7, d4, d1 │ │ │ │ │ - ldr r4, [sp, #192] @ 0xc0 │ │ │ │ │ vadd.f64 d1, d1, d4 │ │ │ │ │ - vadd.f64 d4, d12, d5 │ │ │ │ │ - vsub.f64 d5, d12, d5 │ │ │ │ │ + vldr d2, [sp, #464] @ 0x1d0 │ │ │ │ │ + ldr r5, [sp, #0] │ │ │ │ │ + vldr d3, [sp, #352] @ 0x160 │ │ │ │ │ + vadd.f64 d4, d6, d5 │ │ │ │ │ + vsub.f64 d5, d6, d5 │ │ │ │ │ vmov.f64 d6, d2 │ │ │ │ │ - vldr d12, [sp, #360] @ 0x168 │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ vmov.f64 d7, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vstr d1, [r4] │ │ │ │ │ + vstr d1, [r2] │ │ │ │ │ + vldr d1, [pc, #816] @ c80 │ │ │ │ │ + vsub.f64 d10, d3, d14 │ │ │ │ │ vmla.f64 d6, d5, d7 │ │ │ │ │ - vldr d3, [sp, #224] @ 0xe0 │ │ │ │ │ - vldr d7, [sp, #232] @ 0xe8 │ │ │ │ │ - vsub.f64 d10, d10, d12 │ │ │ │ │ - vldr d1, [pc, #808] @ c60 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ - ldr r4, [sp, #68] @ 0x44 │ │ │ │ │ - vsub.f64 d7, d3, d7 │ │ │ │ │ - vldr d12, [sp, #368] @ 0x170 │ │ │ │ │ + ldr r2, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d3, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d7, [sp, #208] @ 0xd0 │ │ │ │ │ vmul.f64 d4, d4, d1 │ │ │ │ │ - vldr d14, [sp, #216] @ 0xd8 │ │ │ │ │ - vstr d5, [r5] │ │ │ │ │ - ldr r5, [sp, #144] @ 0x90 │ │ │ │ │ - vmul.f64 d3, d7, d13 │ │ │ │ │ - vmul.f64 d7, d7, d11 │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ + ldr r4, [sp, #32] │ │ │ │ │ + vldr d14, [sp, #360] @ 0x168 │ │ │ │ │ + vsub.f64 d7, d3, d7 │ │ │ │ │ vadd.f64 d5, d4, d6 │ │ │ │ │ - vmla.f64 d3, d10, d11 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vldr d4, [sp, #496] @ 0x1f0 │ │ │ │ │ + vmul.f64 d3, d7, d13 │ │ │ │ │ + vmul.f64 d7, d7, d11 │ │ │ │ │ vnmls.f64 d7, d10, d13 │ │ │ │ │ + vmla.f64 d3, d10, d11 │ │ │ │ │ vldr d10, [sp, #416] @ 0x1a0 │ │ │ │ │ vsub.f64 d2, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vmov.f64 d5, d10 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d3, d6 │ │ │ │ │ - ldr r5, [sp, #168] @ 0xa8 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ - vldr d2, [sp, #248] @ 0xf8 │ │ │ │ │ vsub.f64 d6, d0, d4 │ │ │ │ │ vadd.f64 d4, d4, d0 │ │ │ │ │ + ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ vmov.f64 d0, #80 @ 0x3e800000 0.250 │ │ │ │ │ - ldr r3, [sp, #80] @ 0x50 │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ - vmul.f64 d6, d6, d1 │ │ │ │ │ - vldr d3, [sp, #376] @ 0x178 │ │ │ │ │ + ldr r2, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d2, [sp, #224] @ 0xe0 │ │ │ │ │ vmls.f64 d5, d4, d0 │ │ │ │ │ + vmul.f64 d6, d6, d1 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vadd.f64 d4, d10, d4 │ │ │ │ │ - ldr r5, [sp, #24] │ │ │ │ │ - vldr d10, [sp, #456] @ 0x1c8 │ │ │ │ │ - vsub.f64 d7, d12, d3 │ │ │ │ │ - vldr d3, [sp, #240] @ 0xf0 │ │ │ │ │ - vldr d12, [sp, #544] @ 0x220 │ │ │ │ │ + vstr d3, [r4] │ │ │ │ │ + ldr r4, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d3, [sp, #216] @ 0xd8 │ │ │ │ │ + vldr d7, [sp, #368] @ 0x170 │ │ │ │ │ vstr d4, [lr] │ │ │ │ │ - vsub.f64 d2, d3, d2 │ │ │ │ │ - ldr r4, [sp, #176] @ 0xb0 │ │ │ │ │ + ldr r2, [sp, #576] @ 0x240 │ │ │ │ │ vsub.f64 d4, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ + vsub.f64 d2, d3, d2 │ │ │ │ │ + vsub.f64 d7, d14, d7 │ │ │ │ │ vmul.f64 d3, d2, d11 │ │ │ │ │ vmla.f64 d3, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ vnmls.f64 d7, d2, d13 │ │ │ │ │ vsub.f64 d2, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vstr d2, [r5] │ │ │ │ │ - ldr r5, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ + vstr d2, [r4] │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d6, d3 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - vldr d7, [sp, #480] @ 0x1e0 │ │ │ │ │ vstr d3, [r0] │ │ │ │ │ - vadd.f64 d4, d7, d12 │ │ │ │ │ - vsub.f64 d6, d12, d7 │ │ │ │ │ + ldr r5, [sp, #52] @ 0x34 │ │ │ │ │ + vldr d7, [sp, #480] @ 0x1e0 │ │ │ │ │ + vldr d14, [sp, #536] @ 0x218 │ │ │ │ │ + vldr d10, [sp, #456] @ 0x1c8 │ │ │ │ │ + ldr r0, [sp, #64] @ 0x40 │ │ │ │ │ + vadd.f64 d4, d7, d14 │ │ │ │ │ + vsub.f64 d6, d14, d7 │ │ │ │ │ + ldr r3, [sp, #88] @ 0x58 │ │ │ │ │ vmov.f64 d7, d10 │ │ │ │ │ + ldr r4, [sp, #176] @ 0xb0 │ │ │ │ │ vmls.f64 d7, d4, d0 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ vadd.f64 d4, d10, d4 │ │ │ │ │ - vstr d4, [r8] │ │ │ │ │ + vldr d10, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d4, [r9] │ │ │ │ │ + vadd.f64 d15, d10, d15 │ │ │ │ │ vmov.f64 d5, d7 │ │ │ │ │ - vldr d7, [sp, #264] @ 0x108 │ │ │ │ │ - vsub.f64 d7, d14, d7 │ │ │ │ │ + vldr d7, [sp, #320] @ 0x140 │ │ │ │ │ vsub.f64 d4, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ + vsub.f64 d8, d8, d7 │ │ │ │ │ + vldr d7, [sp, #248] @ 0xf8 │ │ │ │ │ + vsub.f64 d7, d7, d12 │ │ │ │ │ + vldr d12, [sp, #568] @ 0x238 │ │ │ │ │ vmul.f64 d3, d7, d11 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ - vmla.f64 d3, d8, d13 │ │ │ │ │ vnmls.f64 d7, d8, d11 │ │ │ │ │ + vmla.f64 d3, d8, d13 │ │ │ │ │ + vldr d8, [sp, #432] @ 0x1b0 │ │ │ │ │ vsub.f64 d2, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ - ldr r3, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d12, [sp, #528] @ 0x210 │ │ │ │ │ - ldr r0, [sp, #16] │ │ │ │ │ - vldr d2, [sp, #440] @ 0x1b8 │ │ │ │ │ + vldr d4, [sp, #528] @ 0x210 │ │ │ │ │ + vstr d2, [r5] │ │ │ │ │ + vsub.f64 d5, d12, d4 │ │ │ │ │ + vadd.f64 d4, d4, d12 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d3, d6 │ │ │ │ │ - ldr r3, [sp, #136] @ 0x88 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ - vldr d14, [sp, #272] @ 0x110 │ │ │ │ │ - vldr d6, [sp, #280] @ 0x118 │ │ │ │ │ - vldr d10, [sp, #328] @ 0x148 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - vldr d7, [sp, #568] @ 0x238 │ │ │ │ │ - vsub.f64 d6, d14, d6 │ │ │ │ │ - vstr d3, [r0] │ │ │ │ │ - ldr r0, [sp, #88] @ 0x58 │ │ │ │ │ - vadd.f64 d4, d12, d7 │ │ │ │ │ - vsub.f64 d5, d7, d12 │ │ │ │ │ - vldr d12, [sp, #352] @ 0x160 │ │ │ │ │ - vmov.f64 d7, d2 │ │ │ │ │ - vldr d14, [sp, #408] @ 0x198 │ │ │ │ │ - vldr d8, [sp, #432] @ 0x1b0 │ │ │ │ │ - vadd.f64 d15, d12, d15 │ │ │ │ │ - vmls.f64 d7, d4, d0 │ │ │ │ │ + ldr r5, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d6, [sp, #256] @ 0x100 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - vadd.f64 d4, d2, d4 │ │ │ │ │ - vldr d12, [sp, #552] @ 0x228 │ │ │ │ │ - ldr r3, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d12, [sp, #400] @ 0x190 │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ + vstr d3, [r4] │ │ │ │ │ + vldr d3, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d2, [sp, #440] @ 0x1b8 │ │ │ │ │ + vsub.f64 d6, d6, d3 │ │ │ │ │ vmul.f64 d3, d15, d11 │ │ │ │ │ - ldr r6, [sp, #76] @ 0x4c │ │ │ │ │ - vstr d4, [r0] │ │ │ │ │ - ldr r0, [sp, #56] @ 0x38 │ │ │ │ │ - ldr r4, [sp, #120] @ 0x78 │ │ │ │ │ + vmov.f64 d7, d2 │ │ │ │ │ + vmls.f64 d7, d4, d0 │ │ │ │ │ vnmls.f64 d3, d6, d13 │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ + vadd.f64 d4, d2, d4 │ │ │ │ │ vmla.f64 d6, d15, d13 │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ + ldr r0, [sp, #192] @ 0xc0 │ │ │ │ │ vadd.f64 d4, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vadd.f64 d2, d6, d4 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vadd.f64 d6, d3, d7 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ vstr d2, [r1] │ │ │ │ │ - ldr r1, [sp, #0] │ │ │ │ │ - vstr d4, [r9] │ │ │ │ │ - vmov.f64 d4, d8 │ │ │ │ │ + vstr d4, [r8] │ │ │ │ │ vstr d6, [r0] │ │ │ │ │ + vldr d4, [sp, #544] @ 0x220 │ │ │ │ │ vldr d6, [sp, #504] @ 0x1f8 │ │ │ │ │ + ldr r1, [sp, #16] │ │ │ │ │ + vsub.f64 d5, d4, d6 │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ - vsub.f64 d5, d12, d6 │ │ │ │ │ - vadd.f64 d7, d6, d12 │ │ │ │ │ - vsub.f64 d6, d9, d14 │ │ │ │ │ - vldr d9, [sp, #320] @ 0x140 │ │ │ │ │ - vsub.f64 d2, d9, d10 │ │ │ │ │ + vadd.f64 d7, d6, d4 │ │ │ │ │ + vsub.f64 d6, d9, d12 │ │ │ │ │ + vldr d9, [sp, #304] @ 0x130 │ │ │ │ │ + vmov.f64 d4, d8 │ │ │ │ │ + ldr r2, [sp, #28] │ │ │ │ │ + vldr d15, [sp, #312] @ 0x138 │ │ │ │ │ vmla.f64 d4, d5, d0 │ │ │ │ │ - vmul.f64 d7, d7, d1 │ │ │ │ │ vsub.f64 d5, d5, d8 │ │ │ │ │ + vmul.f64 d7, d7, d1 │ │ │ │ │ + ldr r4, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r3, [sp, #104] @ 0x68 │ │ │ │ │ + vsub.f64 d2, d9, d15 │ │ │ │ │ + vstr d5, [r6] │ │ │ │ │ + ldr r0, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d14, [sp, #328] @ 0x148 │ │ │ │ │ + vadd.f64 d5, d7, d4 │ │ │ │ │ + vsub.f64 d7, d7, d4 │ │ │ │ │ + vldr d9, [sp, #560] @ 0x230 │ │ │ │ │ vmul.f64 d3, d2, d11 │ │ │ │ │ + vldr d10, [sp, #376] @ 0x178 │ │ │ │ │ + ldr r1, [sp, #72] @ 0x48 │ │ │ │ │ vmla.f64 d3, d6, d13 │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - vadd.f64 d5, d7, d4 │ │ │ │ │ - vsub.f64 d7, d7, d4 │ │ │ │ │ + vldr d8, [sp, #448] @ 0x1c0 │ │ │ │ │ + vsub.f64 d4, d14, d10 │ │ │ │ │ + ldr r5, [sp, #156] @ 0x9c │ │ │ │ │ + vldr d10, [sp, #384] @ 0x180 │ │ │ │ │ vnmls.f64 d6, d2, d13 │ │ │ │ │ vsub.f64 d2, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ + vmov.f64 d5, d8 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ vadd.f64 d6, d3, d7 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ - vldr d3, [sp, #288] @ 0x120 │ │ │ │ │ - vldr d2, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d12, [sp, #536] @ 0x218 │ │ │ │ │ + vldr d3, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d2, [sp, #280] @ 0x118 │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ vldr d6, [sp, #520] @ 0x208 │ │ │ │ │ - vldr d9, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d7, [fp] │ │ │ │ │ vsub.f64 d2, d3, d2 │ │ │ │ │ - vldr d10, [sp, #384] @ 0x180 │ │ │ │ │ - vstr d7, [sl] │ │ │ │ │ - vsub.f64 d7, d12, d6 │ │ │ │ │ - vldr d8, [sp, #448] @ 0x1c0 │ │ │ │ │ - vadd.f64 d6, d6, d12 │ │ │ │ │ - vsub.f64 d4, d9, d10 │ │ │ │ │ + vsub.f64 d7, d9, d6 │ │ │ │ │ + vadd.f64 d6, d6, d9 │ │ │ │ │ vmul.f64 d3, d2, d11 │ │ │ │ │ - ldr r2, [sp, #52] @ 0x34 │ │ │ │ │ - vmov.f64 d5, d8 │ │ │ │ │ - vmul.f64 d7, d7, d1 │ │ │ │ │ vmls.f64 d5, d6, d0 │ │ │ │ │ - vadd.f64 d6, d8, d6 │ │ │ │ │ + vmul.f64 d7, d7, d1 │ │ │ │ │ vmla.f64 d3, d4, d13 │ │ │ │ │ vmul.f64 d4, d4, d11 │ │ │ │ │ - ldr r3, [sp, #576] @ 0x240 │ │ │ │ │ - ldr r6, [sp, #96] @ 0x60 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ + vadd.f64 d6, d8, d6 │ │ │ │ │ + vldr d8, [sp, #288] @ 0x120 │ │ │ │ │ vnmls.f64 d4, d2, d13 │ │ │ │ │ - ldr r4, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ vsub.f64 d6, d5, d7 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vadd.f64 d2, d4, d6 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ - vstr d2, [r3] │ │ │ │ │ - vstr d6, [r7] │ │ │ │ │ + vldr d4, [sp, #552] @ 0x228 │ │ │ │ │ + vstr d2, [r5] │ │ │ │ │ + vstr d6, [ip] │ │ │ │ │ vadd.f64 d6, d3, d7 │ │ │ │ │ - ldr r3, [sp, #184] @ 0xb8 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vldr d2, [sp, #560] @ 0x230 │ │ │ │ │ - vldr d3, [sp, #312] @ 0x138 │ │ │ │ │ - ldr r7, [sp, #160] @ 0xa0 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ + ldr r5, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d6, [r5] │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ vldr d7, [sp, #512] @ 0x200 │ │ │ │ │ - ldr r3, [sp, #8] │ │ │ │ │ - vadd.f64 d4, d7, d2 │ │ │ │ │ - vsub.f64 d6, d2, d7 │ │ │ │ │ - vldr d7, [sp, #304] @ 0x130 │ │ │ │ │ - vldr d2, [sp, #400] @ 0x190 │ │ │ │ │ - vsub.f64 d7, d7, d3 │ │ │ │ │ - vldr d3, [sp, #392] @ 0x188 │ │ │ │ │ + vsub.f64 d6, d4, d7 │ │ │ │ │ + vadd.f64 d4, d7, d4 │ │ │ │ │ + vldr d7, [sp, #296] @ 0x128 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ vldr d1, [sp, #424] @ 0x1a8 │ │ │ │ │ - vsub.f64 d2, d3, d2 │ │ │ │ │ + vsub.f64 d7, d8, d7 │ │ │ │ │ + vldr d3, [sp, #392] @ 0x188 │ │ │ │ │ + ldr r1, [sp, #8] │ │ │ │ │ vmov.f64 d5, d1 │ │ │ │ │ + ldr r6, [sp, #44] @ 0x2c │ │ │ │ │ + vsub.f64 d2, d10, d3 │ │ │ │ │ + ldr r2, [sp, #136] @ 0x88 │ │ │ │ │ vmls.f64 d5, d4, d0 │ │ │ │ │ vadd.f64 d4, d1, d4 │ │ │ │ │ + ldr r5, [sp, #184] @ 0xb8 │ │ │ │ │ + ldr r3, [sp, #128] @ 0x80 │ │ │ │ │ vmul.f64 d3, d2, d11 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - ldr r3, [sp, #32] │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ vnmls.f64 d3, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ - vmla.f64 d7, d2, d13 │ │ │ │ │ vadd.f64 d4, d6, d5 │ │ │ │ │ - vsub.f64 d2, d4, d7 │ │ │ │ │ - vadd.f64 d7, d7, d4 │ │ │ │ │ - vstr d2, [r7] │ │ │ │ │ - b.n c68 │ │ │ │ │ + vmla.f64 d7, d2, d13 │ │ │ │ │ + b.n c88 │ │ │ │ │ nop.w │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ + vsub.f64 d2, d4, d7 │ │ │ │ │ + vadd.f64 d7, d7, d4 │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ vsub.f64 d7, d6, d5 │ │ │ │ │ vadd.f64 d6, d3, d7 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ - ldr r5, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ ldr r3, [sp, #704] @ 0x2c0 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str r3, [sp, #704] @ 0x2c0 │ │ │ │ │ ldr r3, [sp, #580] @ 0x244 │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ + ldr r2, [sp, #704] @ 0x2c0 │ │ │ │ │ add lr, r3 │ │ │ │ │ - add r8, r3 │ │ │ │ │ - ldr r3, [sp, #584] @ 0x248 │ │ │ │ │ add r9, r3 │ │ │ │ │ - add sl, r3 │ │ │ │ │ + ldr r3, [sp, #584] @ 0x248 │ │ │ │ │ + add r8, r3 │ │ │ │ │ + add fp, r3 │ │ │ │ │ ldr r3, [sp, #588] @ 0x24c │ │ │ │ │ - eor.w fp, fp, r3 │ │ │ │ │ - ldrd r2, r3, [sp, #704] @ 0x2c0 │ │ │ │ │ + eor.w sl, sl, r3 │ │ │ │ │ + ldr r3, [sp, #708] @ 0x2c4 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 70 │ │ │ │ │ + bne.w 78 │ │ │ │ │ add.w sp, sp, #596 @ 0x254 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000cb0 : │ │ │ │ │ +00000cf0 : │ │ │ │ │ fftw_codelet_hc2cf2_20(): │ │ │ │ │ - ldr r2, [pc, #12] @ (cc0 ) │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - ldr r1, [pc, #12] @ (cc4 ) │ │ │ │ │ + ldr r2, [pc, #12] @ (d00 ) │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + ldr r1, [pc, #12] @ (d04 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2c_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + .word 0x00000006 │ │ │ │ │ R_ARM_REL32 hc2cf2_20 │ │ │ ├── hc2cf2_32.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 6256 (bytes into file) │ │ │ │ │ + Start of section headers: 6392 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x1870: │ │ │ │ │ +There are 14 section headers, starting at offset 0x18f8: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 001520 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0017b8 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 001554 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 001554 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 001554 00000a 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 00155e 000014 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 001572 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 0017e0 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 0015a2 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0015a2 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 0015d8 000150 10 12 16 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 001728 00008d 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 0017f8 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0015a8 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 001840 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0015dc 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0015dc 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0015dc 00000a 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 0015e6 000014 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0015fa 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 001868 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 00162a 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00162a 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 001660 000150 10 12 16 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0017b0 00008d 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 001880 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 21 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 5382 FUNC LOCAL DEFAULT 1 hc2cf2_32 │ │ │ │ │ + 1: 00000001 5520 FUNC LOCAL DEFAULT 1 hc2cf2_32 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000ec0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000ee0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00001360 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00001398 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00001518 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000f08 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000f28 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000013c0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 000013f8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 000015a0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 20 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 13: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 14: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 15: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 18: 00001509 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cf2_32 │ │ │ │ │ + 18: 00001591 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cf2_32 │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2c_register │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hc2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x17b8 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x1840 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000ed8 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000edc 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00001518 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000151c 00000103 R_ARM_REL32 00000001 hc2cf2_32 │ │ │ │ │ -00001512 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ +00000f20 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000f24 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +000015a0 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000015a4 00000103 R_ARM_REL32 00000001 hc2cf2_32 │ │ │ │ │ +0000159c 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x17e0 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x1868 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000a02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001402 R_ARM_ABS32 00000000 fftw_rdft_hc2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,1341 +1,1376 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hc2cf2_32(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r8, r1 │ │ │ │ │ - mov r9, r2 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r6, r1 │ │ │ │ │ + mov r5, r3 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r7, r2 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub.w sp, sp, #876 @ 0x36c │ │ │ │ │ - mov r4, r3 │ │ │ │ │ - ldr.w r3, [pc, #3780] @ ed8 │ │ │ │ │ - ldrd r2, r1, [sp, #984] @ 0x3d8 │ │ │ │ │ - add r3, pc │ │ │ │ │ + sub.w sp, sp, #884 @ 0x374 │ │ │ │ │ + ldrd r8, r2, [sp, #988] @ 0x3dc │ │ │ │ │ + ldr r1, [sp, #996] @ 0x3e4 │ │ │ │ │ + ldr.w r3, [pc, #3828] @ f20 │ │ │ │ │ cmp r2, r1 │ │ │ │ │ - bge.w 14fa │ │ │ │ │ - ldr r2, [sp, #992] @ 0x3e0 │ │ │ │ │ - mov r5, r0 │ │ │ │ │ - mov fp, r9 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ - str r2, [sp, #860] @ 0x35c │ │ │ │ │ - negs r2, r2 │ │ │ │ │ - str r2, [sp, #864] @ 0x360 │ │ │ │ │ - ldr.w r2, [pc, #3752] @ edc │ │ │ │ │ + add r3, pc │ │ │ │ │ + bge.w 1572 │ │ │ │ │ + ldr r2, [sp, #1000] @ 0x3e8 │ │ │ │ │ + mov r4, r0 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + str r2, [sp, #868] @ 0x364 │ │ │ │ │ + rsb r2, r2, #0 │ │ │ │ │ + str r2, [sp, #872] @ 0x368 │ │ │ │ │ + ldr.w r2, [pc, #3804] @ f24 │ │ │ │ │ ldr r3, [r3, r2] │ │ │ │ │ - ldr r2, [sp, #984] @ 0x3d8 │ │ │ │ │ + strd r7, r5, [sp, #4] │ │ │ │ │ + ldr r2, [sp, #992] @ 0x3e0 │ │ │ │ │ + str r6, [sp, #12] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - str r3, [sp, #868] @ 0x364 │ │ │ │ │ - ldr r3, [sp, #976] @ 0x3d0 │ │ │ │ │ + str r3, [sp, #876] @ 0x36c │ │ │ │ │ + ldr r3, [sp, #984] @ 0x3d8 │ │ │ │ │ add.w sl, r3, r2, lsl #6 │ │ │ │ │ - vldr d0, [sl, #-64] @ 0xffffffc0 │ │ │ │ │ - movs r6, #96 @ 0x60 │ │ │ │ │ - vldr d7, [sl, #-48] @ 0xffffffd0 │ │ │ │ │ - mov.w r9, #88 @ 0x58 │ │ │ │ │ - vldr d6, [sl, #-48] @ 0xffffffd0 │ │ │ │ │ - mov.w lr, #24 │ │ │ │ │ - vldr d5, [sl, #-40] @ 0xffffffd8 │ │ │ │ │ - mov.w ip, #80 @ 0x50 │ │ │ │ │ + mov r9, sl │ │ │ │ │ + mov sl, r8 │ │ │ │ │ + vldr d0, [r9, #-64] @ 0xffffffc0 │ │ │ │ │ + mov.w r2, sl, lsl #6 │ │ │ │ │ + add.w r9, r9, #64 @ 0x40 │ │ │ │ │ + add.w r6, sl, sl, lsl #1 │ │ │ │ │ + vldr d7, [r9, #-112] @ 0xffffff90 │ │ │ │ │ + add.w r3, r4, r2 │ │ │ │ │ + mov.w r8, sl, lsl #4 │ │ │ │ │ + vldr d6, [r9, #-112] @ 0xffffff90 │ │ │ │ │ + sub.w lr, r8, sl │ │ │ │ │ + mov.w lr, lr, lsl #3 │ │ │ │ │ + vldr d5, [r9, #-104] @ 0xffffff98 │ │ │ │ │ vmul.f64 d4, d0, d7 │ │ │ │ │ - vldr d7, [sl, #-56] @ 0xffffffc8 │ │ │ │ │ - vldr d10, [sl, #-32] @ 0xffffffe0 │ │ │ │ │ - add.w sl, sl, #64 @ 0x40 │ │ │ │ │ - vldr d12, [sl, #-80] @ 0xffffffb0 │ │ │ │ │ + vldr d7, [r9, #-120] @ 0xffffff88 │ │ │ │ │ + vldr d10, [r9, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d12, [r9, #-80] @ 0xffffffb0 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sl, #-120] @ 0xffffff88 │ │ │ │ │ + vldr d6, [r9, #-120] @ 0xffffff88 │ │ │ │ │ vmul.f64 d11, d0, d10 │ │ │ │ │ - vldr d13, [sl, #-72] @ 0xffffffb8 │ │ │ │ │ + vldr d13, [r9, #-72] @ 0xffffffb8 │ │ │ │ │ vmul.f64 d5, d6, d5 │ │ │ │ │ - vldr d6, [sl, #-104] @ 0xffffff98 │ │ │ │ │ - vmul.f64 d6, d0, d6 │ │ │ │ │ + vldr d6, [r9, #-104] @ 0xffffff98 │ │ │ │ │ vadd.f64 d2, d4, d5 │ │ │ │ │ vsub.f64 d1, d4, d5 │ │ │ │ │ - vldr d4, [sl, #-104] @ 0xffffff98 │ │ │ │ │ + vldr d4, [r9, #-104] @ 0xffffff98 │ │ │ │ │ + vmul.f64 d6, d0, d6 │ │ │ │ │ + vstr d1, [sp, #16] │ │ │ │ │ + vmul.f64 d1, d0, d12 │ │ │ │ │ + vstr d2, [sp, #40] @ 0x28 │ │ │ │ │ + vmov.f64 d2, d0 │ │ │ │ │ vsub.f64 d3, d6, d7 │ │ │ │ │ + vldr d0, [r9, #-88] @ 0xffffffa8 │ │ │ │ │ vadd.f64 d9, d7, d6 │ │ │ │ │ - vstr d2, [sp, #24] │ │ │ │ │ - vmov.f64 d2, d0 │ │ │ │ │ - vldr d0, [sl, #-88] @ 0xffffffa8 │ │ │ │ │ - vldr d7, [sl, #-104] @ 0xffffff98 │ │ │ │ │ - vstr d3, [sp, #16] │ │ │ │ │ + vldr d7, [r9, #-104] @ 0xffffff98 │ │ │ │ │ + vstr d2, [sp, #104] @ 0x68 │ │ │ │ │ vmul.f64 d8, d4, d0 │ │ │ │ │ - vldr d4, [sl, #-112] @ 0xffffff90 │ │ │ │ │ + vldr d4, [r9, #-112] @ 0xffffff90 │ │ │ │ │ + vstr d3, [sp, #32] │ │ │ │ │ vmul.f64 d15, d7, d10 │ │ │ │ │ - vldr d7, [sl, #-120] @ 0xffffff88 │ │ │ │ │ - vstr d1, [sp] │ │ │ │ │ - vmul.f64 d1, d2, d12 │ │ │ │ │ + vldr d7, [r9, #-120] @ 0xffffff88 │ │ │ │ │ + vstr d9, [sp, #24] │ │ │ │ │ + vldr d9, [r9, #-112] @ 0xffffff90 │ │ │ │ │ vmul.f64 d3, d4, d12 │ │ │ │ │ - vldr d4, [sl, #-120] @ 0xffffff88 │ │ │ │ │ - vstr d8, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d4, [r9, #-120] @ 0xffffff88 │ │ │ │ │ + vstr d8, [sp, #72] @ 0x48 │ │ │ │ │ vmul.f64 d6, d7, d10 │ │ │ │ │ - vldr d7, [sl, #-112] @ 0xffffff90 │ │ │ │ │ + vldr d7, [r9, #-112] @ 0xffffff90 │ │ │ │ │ + vmul.f64 d9, d9, d13 │ │ │ │ │ vmul.f64 d4, d4, d12 │ │ │ │ │ - vstr d9, [sp, #8] │ │ │ │ │ - vstr d2, [sp, #88] @ 0x58 │ │ │ │ │ vmul.f64 d14, d7, d10 │ │ │ │ │ - vldr d7, [sl, #-120] @ 0xffffff88 │ │ │ │ │ - vldr d9, [sl, #-112] @ 0xffffff90 │ │ │ │ │ + vldr d7, [r9, #-120] @ 0xffffff88 │ │ │ │ │ vmov.f64 d8, d4 │ │ │ │ │ - vldr d4, [sl, #-104] @ 0xffffff98 │ │ │ │ │ + vldr d4, [r9, #-104] @ 0xffffff98 │ │ │ │ │ vmul.f64 d5, d7, d0 │ │ │ │ │ - vldr d7, [sl, #-112] @ 0xffffff90 │ │ │ │ │ - vmul.f64 d9, d9, d13 │ │ │ │ │ + vldr d7, [r9, #-112] @ 0xffffff90 │ │ │ │ │ vmul.f64 d4, d4, d12 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ - vstr d4, [sp, #32] │ │ │ │ │ - vldr d4, [sl, #-104] @ 0xffffff98 │ │ │ │ │ - vstr d7, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d4, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d4, [r9, #-104] @ 0xffffff98 │ │ │ │ │ + vstr d7, [sp, #64] @ 0x40 │ │ │ │ │ vmul.f64 d7, d2, d0 │ │ │ │ │ vmul.f64 d4, d4, d13 │ │ │ │ │ - vstr d4, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d4, [sp, #56] @ 0x38 │ │ │ │ │ vmul.f64 d4, d2, d13 │ │ │ │ │ - vstr d4, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d2, [sl, #-120] @ 0xffffff88 │ │ │ │ │ - vldr d4, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d4, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d2, [r9, #-120] @ 0xffffff88 │ │ │ │ │ + vldr d4, [sp, #56] @ 0x38 │ │ │ │ │ vmul.f64 d2, d2, d13 │ │ │ │ │ vadd.f64 d4, d3, d4 │ │ │ │ │ - vstr d4, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d4, [sp, #32] │ │ │ │ │ + vstr d4, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d4, [sp, #48] @ 0x30 │ │ │ │ │ vsub.f64 d4, d9, d4 │ │ │ │ │ - vstr d4, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d4, [sp, #120] @ 0x78 │ │ │ │ │ vadd.f64 d4, d1, d2 │ │ │ │ │ vstr d4, [sp, #264] @ 0x108 │ │ │ │ │ - vldr d4, [sp, #32] │ │ │ │ │ + vldr d4, [sp, #48] @ 0x30 │ │ │ │ │ vadd.f64 d9, d4, d9 │ │ │ │ │ - vldr d4, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d4, [sp, #80] @ 0x50 │ │ │ │ │ vstr d9, [sp, #312] @ 0x138 │ │ │ │ │ vadd.f64 d9, d8, d4 │ │ │ │ │ vsub.f64 d8, d4, d8 │ │ │ │ │ - vldr d4, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d4, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d9, [sp, #248] @ 0xf8 │ │ │ │ │ + vsub.f64 d9, d1, d2 │ │ │ │ │ vsub.f64 d3, d3, d4 │ │ │ │ │ vmul.f64 d4, d0, d13 │ │ │ │ │ + vldr d1, [sp, #32] │ │ │ │ │ + vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ vmla.f64 d4, d10, d12 │ │ │ │ │ - vstr d9, [sp, #240] @ 0xf0 │ │ │ │ │ - vsub.f64 d9, d1, d2 │ │ │ │ │ - vldr d2, [sp, #24] │ │ │ │ │ - vldr d1, [sp, #16] │ │ │ │ │ - vstr d3, [sp, #320] @ 0x140 │ │ │ │ │ - vmul.f64 d3, d2, d12 │ │ │ │ │ + vstr d9, [sp, #256] @ 0x100 │ │ │ │ │ vstr d8, [sp, #272] @ 0x110 │ │ │ │ │ - vstr d9, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d9, [sp, #8] │ │ │ │ │ + vstr d3, [sp, #328] @ 0x148 │ │ │ │ │ + vmul.f64 d3, d2, d12 │ │ │ │ │ + vldr d9, [sp, #24] │ │ │ │ │ vstr d4, [sp, #280] @ 0x118 │ │ │ │ │ vmul.f64 d4, d0, d12 │ │ │ │ │ vnmls.f64 d4, d10, d13 │ │ │ │ │ vstr d4, [sp, #288] @ 0x120 │ │ │ │ │ vmul.f64 d4, d1, d13 │ │ │ │ │ vadd.f64 d8, d3, d4 │ │ │ │ │ vsub.f64 d3, d3, d4 │ │ │ │ │ vmul.f64 d4, d1, d12 │ │ │ │ │ + vstr d8, [sp, #128] @ 0x80 │ │ │ │ │ vstr d3, [sp, #352] @ 0x160 │ │ │ │ │ vmul.f64 d3, d2, d13 │ │ │ │ │ - vstr d8, [sp, #112] @ 0x70 │ │ │ │ │ vsub.f64 d1, d3, d4 │ │ │ │ │ vadd.f64 d3, d3, d4 │ │ │ │ │ vmul.f64 d4, d9, d13 │ │ │ │ │ - vstr d1, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d1, [sp] │ │ │ │ │ - vstr d3, [sp, #368] @ 0x170 │ │ │ │ │ + vstr d1, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d1, [sp, #16] │ │ │ │ │ + vstr d3, [sp, #376] @ 0x178 │ │ │ │ │ vmul.f64 d3, d1, d12 │ │ │ │ │ vsub.f64 d8, d3, d4 │ │ │ │ │ vadd.f64 d3, d3, d4 │ │ │ │ │ vmul.f64 d4, d9, d12 │ │ │ │ │ - vstr d3, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d8, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d3, [sp, #176] @ 0xb0 │ │ │ │ │ vmul.f64 d3, d1, d13 │ │ │ │ │ - vstr d8, [sp, #144] @ 0x90 │ │ │ │ │ vadd.f64 d1, d11, d5 │ │ │ │ │ vsub.f64 d11, d11, d5 │ │ │ │ │ vadd.f64 d8, d3, d4 │ │ │ │ │ vsub.f64 d4, d3, d4 │ │ │ │ │ - vstr d4, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d8, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d4, [sp, #184] @ 0xb8 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vstr d8, [sp, #152] @ 0x98 │ │ │ │ │ vmul.f64 d3, d13, d4 │ │ │ │ │ vmul.f64 d7, d13, d6 │ │ │ │ │ vstr d6, [sp, #304] @ 0x130 │ │ │ │ │ vmla.f64 d7, d12, d11 │ │ │ │ │ vmov.f64 d8, d3 │ │ │ │ │ vmul.f64 d3, d12, d4 │ │ │ │ │ vmla.f64 d8, d12, d1 │ │ │ │ │ vnmls.f64 d3, d13, d1 │ │ │ │ │ - vstr d7, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d7, [sp, #144] @ 0x90 │ │ │ │ │ vmul.f64 d7, d12, d6 │ │ │ │ │ - vstr d8, [sp, #712] @ 0x2c8 │ │ │ │ │ + vstr d8, [sp, #384] @ 0x180 │ │ │ │ │ vnmls.f64 d7, d13, d11 │ │ │ │ │ - vstr d3, [sp, #720] @ 0x2d0 │ │ │ │ │ + vstr d3, [sp, #728] @ 0x2d8 │ │ │ │ │ vstr d11, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d6, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d8, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d3, [sp, #16] │ │ │ │ │ + ldr r5, [sp, #4] │ │ │ │ │ + vldr d6, [sp, #64] @ 0x40 │ │ │ │ │ + str r3, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d8, [sp, #72] @ 0x48 │ │ │ │ │ + add.w r0, r5, r2 │ │ │ │ │ + vldr d3, [sp, #32] │ │ │ │ │ + vstr d7, [sp, #152] @ 0x98 │ │ │ │ │ vadd.f64 d11, d15, d6 │ │ │ │ │ vsub.f64 d15, d6, d15 │ │ │ │ │ - vsub.f64 d5, d14, d8 │ │ │ │ │ - vstr d7, [sp, #136] @ 0x88 │ │ │ │ │ vmul.f64 d6, d2, d10 │ │ │ │ │ + vsub.f64 d5, d14, d8 │ │ │ │ │ vmul.f64 d9, d3, d10 │ │ │ │ │ - ldr r3, [sp, #980] @ 0x3d4 │ │ │ │ │ vmul.f64 d7, d13, d11 │ │ │ │ │ + vstr d5, [sp, #224] @ 0xe0 │ │ │ │ │ vmla.f64 d7, d12, d5 │ │ │ │ │ - vstr d5, [sp, #216] @ 0xd8 │ │ │ │ │ - lsls r2, r3, #6 │ │ │ │ │ - adds r3, r5, r2 │ │ │ │ │ - add.w r1, fp, r2 │ │ │ │ │ - str r3, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d7, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d7, [sp, #192] @ 0xc0 │ │ │ │ │ vmul.f64 d7, d12, d11 │ │ │ │ │ vnmls.f64 d7, d13, d5 │ │ │ │ │ vadd.f64 d5, d14, d8 │ │ │ │ │ - vstr d5, [sp, #336] @ 0x150 │ │ │ │ │ - vstr d7, [sp, #184] @ 0xb8 │ │ │ │ │ + vstr d7, [sp, #200] @ 0xc8 │ │ │ │ │ vmul.f64 d7, d13, d15 │ │ │ │ │ + vstr d5, [sp, #336] @ 0x150 │ │ │ │ │ vmov.f64 d14, d7 │ │ │ │ │ vmul.f64 d7, d12, d15 │ │ │ │ │ vmla.f64 d14, d12, d5 │ │ │ │ │ - vstr d14, [sp, #656] @ 0x290 │ │ │ │ │ + vstr d14, [sp, #672] @ 0x2a0 │ │ │ │ │ vmov.f64 d14, d7 │ │ │ │ │ vmul.f64 d7, d3, d0 │ │ │ │ │ vnmls.f64 d14, d13, d5 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ vmul.f64 d6, d2, d0 │ │ │ │ │ - vstr d5, [sp, #376] @ 0x178 │ │ │ │ │ - vstr d14, [sp, #664] @ 0x298 │ │ │ │ │ + vstr d5, [sp, #392] @ 0x188 │ │ │ │ │ + vstr d14, [sp, #680] @ 0x2a8 │ │ │ │ │ vmov.f64 d14, d7 │ │ │ │ │ vadd.f64 d7, d6, d9 │ │ │ │ │ vsub.f64 d9, d6, d9 │ │ │ │ │ vmov.f64 d3, d14 │ │ │ │ │ vmov.f64 d2, d7 │ │ │ │ │ vmul.f64 d6, d13, d7 │ │ │ │ │ vmul.f64 d7, d12, d9 │ │ │ │ │ + vstr d3, [sp, #208] @ 0xd0 │ │ │ │ │ + vstr d2, [sp, #400] @ 0x190 │ │ │ │ │ vmla.f64 d6, d12, d5 │ │ │ │ │ - vstr d3, [sp, #192] @ 0xc0 │ │ │ │ │ - vstr d2, [sp, #384] @ 0x180 │ │ │ │ │ vmov.f64 d8, d7 │ │ │ │ │ vmul.f64 d7, d12, d2 │ │ │ │ │ - vldr d2, [sp] │ │ │ │ │ + vldr d2, [sp, #16] │ │ │ │ │ + vnmls.f64 d8, d13, d14 │ │ │ │ │ vnmls.f64 d7, d13, d5 │ │ │ │ │ vmul.f64 d5, d13, d9 │ │ │ │ │ - vnmls.f64 d8, d13, d14 │ │ │ │ │ vmov.f64 d14, d5 │ │ │ │ │ vmla.f64 d14, d12, d3 │ │ │ │ │ vmul.f64 d3, d2, d10 │ │ │ │ │ - vstr d7, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d8, [sp, #224] @ 0xe0 │ │ │ │ │ - vstr d14, [sp, #232] @ 0xe8 │ │ │ │ │ - vldr d14, [sp, #8] │ │ │ │ │ + vstr d7, [sp, #80] @ 0x50 │ │ │ │ │ + vstr d8, [sp, #240] @ 0xf0 │ │ │ │ │ + vstr d14, [sp, #368] @ 0x170 │ │ │ │ │ + vldr d14, [sp, #24] │ │ │ │ │ vmul.f64 d5, d14, d0 │ │ │ │ │ vadd.f64 d8, d3, d5 │ │ │ │ │ vsub.f64 d7, d3, d5 │ │ │ │ │ vmul.f64 d5, d14, d10 │ │ │ │ │ vmul.f64 d3, d2, d0 │ │ │ │ │ - vstr d7, [sp, #32] │ │ │ │ │ + vstr d7, [sp, #48] @ 0x30 │ │ │ │ │ vadd.f64 d7, d3, d5 │ │ │ │ │ vsub.f64 d2, d3, d5 │ │ │ │ │ - vldr d3, [sp, #32] │ │ │ │ │ - vstr d8, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d3, [sp, #48] @ 0x30 │ │ │ │ │ vmul.f64 d5, d13, d7 │ │ │ │ │ - vstr d2, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d2, [sp, #56] @ 0x38 │ │ │ │ │ vmov.f64 d2, d7 │ │ │ │ │ - vldr d7, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d7, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d8, [sp, #344] @ 0x158 │ │ │ │ │ + vstr d2, [sp, #360] @ 0x168 │ │ │ │ │ vmov.f64 d14, d5 │ │ │ │ │ vmul.f64 d5, d12, d7 │ │ │ │ │ + vldr d7, [sp, #56] @ 0x38 │ │ │ │ │ vmla.f64 d14, d12, d3 │ │ │ │ │ - vldr d7, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d2, [sp, #360] @ 0x168 │ │ │ │ │ - vstr d14, [sp, #328] @ 0x148 │ │ │ │ │ + vstr d14, [sp, #616] @ 0x268 │ │ │ │ │ vmov.f64 d14, d5 │ │ │ │ │ vmul.f64 d5, d12, d2 │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ + mov.w r3, sl, lsl #5 │ │ │ │ │ + add.w r1, r4, r3 │ │ │ │ │ vnmls.f64 d14, d13, d8 │ │ │ │ │ - vstr d14, [sp, #600] @ 0x258 │ │ │ │ │ + mov r7, r1 │ │ │ │ │ + vstr d14, [sp, #624] @ 0x270 │ │ │ │ │ vmov.f64 d14, d5 │ │ │ │ │ vmul.f64 d5, d13, d7 │ │ │ │ │ vnmls.f64 d14, d13, d3 │ │ │ │ │ vmov.f64 d7, d5 │ │ │ │ │ vmla.f64 d7, d12, d8 │ │ │ │ │ - vstr d14, [sp, #608] @ 0x260 │ │ │ │ │ - vstr d7, [sp, #616] @ 0x268 │ │ │ │ │ - str r1, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ - vldr d7, [sp, #64] @ 0x40 │ │ │ │ │ - ldr r1, [sp, #980] @ 0x3d4 │ │ │ │ │ - vldr d14, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d14, [sp, #632] @ 0x278 │ │ │ │ │ + vstr d7, [sp, #640] @ 0x280 │ │ │ │ │ + str r0, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d3, [r0] │ │ │ │ │ + add.w r0, r5, r3 │ │ │ │ │ + mov r5, r0 │ │ │ │ │ + vldr d7, [sp, #80] @ 0x50 │ │ │ │ │ + str r7, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d8, [sp, #112] @ 0x70 │ │ │ │ │ + str r5, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d14, [sp, #120] @ 0x78 │ │ │ │ │ vmul.f64 d5, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ - lsls r3, r1, #5 │ │ │ │ │ vmla.f64 d5, d6, d2 │ │ │ │ │ - adds r0, r5, r3 │ │ │ │ │ - add.w r7, fp, r3 │ │ │ │ │ - str r7, [sp, #80] @ 0x50 │ │ │ │ │ - mul.w r1, r6, r1 │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ vnmls.f64 d7, d6, d3 │ │ │ │ │ - str r0, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ + mov.w r1, r6, lsl #5 │ │ │ │ │ + vldr d3, [r0] │ │ │ │ │ + mov r0, r7 │ │ │ │ │ add r0, r2 │ │ │ │ │ - vldr d3, [r7] │ │ │ │ │ - add r7, r2 │ │ │ │ │ - vldr d8, [sp, #96] @ 0x60 │ │ │ │ │ - movs r6, #120 @ 0x78 │ │ │ │ │ - str r7, [sp, #84] @ 0x54 │ │ │ │ │ + ldr r7, [sp, #12] │ │ │ │ │ + str r0, [sp, #88] @ 0x58 │ │ │ │ │ vmul.f64 d6, d4, d3 │ │ │ │ │ vmul.f64 d4, d4, d2 │ │ │ │ │ vmla.f64 d6, d1, d2 │ │ │ │ │ - vldr d2, [r7] │ │ │ │ │ - add.w r7, r8, r1 │ │ │ │ │ - adds r1, r4, r1 │ │ │ │ │ - str r0, [sp, #72] @ 0x48 │ │ │ │ │ vnmls.f64 d4, d1, d3 │ │ │ │ │ vldr d1, [r0] │ │ │ │ │ + mov r0, r5 │ │ │ │ │ + add r0, r2 │ │ │ │ │ + ldr r5, [sp, #4] │ │ │ │ │ + vldr d2, [r0] │ │ │ │ │ + str r0, [sp, #100] @ 0x64 │ │ │ │ │ + add.w r0, r7, r1 │ │ │ │ │ vmul.f64 d3, d14, d2 │ │ │ │ │ - str r1, [sp, #96] @ 0x60 │ │ │ │ │ - movs r0, #56 @ 0x38 │ │ │ │ │ vmla.f64 d3, d8, d1 │ │ │ │ │ vmul.f64 d1, d14, d1 │ │ │ │ │ - vldr d14, [r5] │ │ │ │ │ + vldr d14, [r4] │ │ │ │ │ vnmls.f64 d1, d8, d2 │ │ │ │ │ vadd.f64 d14, d14, d5 │ │ │ │ │ vadd.f64 d2, d6, d3 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ vadd.f64 d8, d14, d2 │ │ │ │ │ vsub.f64 d14, d14, d2 │ │ │ │ │ - vldr d2, [fp] │ │ │ │ │ + vldr d2, [r5] │ │ │ │ │ vsub.f64 d2, d2, d7 │ │ │ │ │ - vstr d14, [sp, #752] @ 0x2f0 │ │ │ │ │ - vstr d8, [sp, #744] @ 0x2e8 │ │ │ │ │ + vstr d8, [sp, #752] @ 0x2f0 │ │ │ │ │ + vstr d14, [sp, #760] @ 0x2f8 │ │ │ │ │ vsub.f64 d14, d2, d6 │ │ │ │ │ vadd.f64 d6, d2, d6 │ │ │ │ │ - vstr d6, [sp, #768] @ 0x300 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - vstr d14, [sp, #760] @ 0x2f8 │ │ │ │ │ + vstr d14, [sp, #768] @ 0x300 │ │ │ │ │ + vstr d6, [sp, #776] @ 0x308 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vsub.f64 d5, d4, d1 │ │ │ │ │ vadd.f64 d1, d4, d1 │ │ │ │ │ - vldr d4, [fp] │ │ │ │ │ - vadd.f64 d7, d4, d7 │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ + ldr r5, [sp, #8] │ │ │ │ │ vsub.f64 d2, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ + vadd.f64 d7, d4, d7 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + add r1, r5 │ │ │ │ │ + vstr d2, [sp, #784] @ 0x310 │ │ │ │ │ vadd.f64 d4, d1, d7 │ │ │ │ │ - vstr d2, [sp, #776] @ 0x308 │ │ │ │ │ - vstr d6, [sp, #784] @ 0x310 │ │ │ │ │ + vstr d6, [sp, #792] @ 0x318 │ │ │ │ │ vsub.f64 d6, d7, d1 │ │ │ │ │ - vldr d2, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d7, [r8] │ │ │ │ │ - vstr d4, [sp, #792] @ 0x318 │ │ │ │ │ - vldr d4, [sl, #-120] @ 0xffffff88 │ │ │ │ │ - vstr d6, [sp, #800] @ 0x320 │ │ │ │ │ - str r7, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + vldr d2, [sp, #104] @ 0x68 │ │ │ │ │ + str r0, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d4, [sp, #800] @ 0x320 │ │ │ │ │ + vldr d4, [r9, #-120] @ 0xffffff88 │ │ │ │ │ + vstr d6, [sp, #808] @ 0x328 │ │ │ │ │ vmul.f64 d6, d4, d5 │ │ │ │ │ vmla.f64 d6, d2, d7 │ │ │ │ │ vmul.f64 d7, d4, d7 │ │ │ │ │ vnmls.f64 d7, d2, d5 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + mov r0, r7 │ │ │ │ │ + str r1, [sp, #112] @ 0x70 │ │ │ │ │ vldr d4, [r1] │ │ │ │ │ - add.w r1, r8, r2 │ │ │ │ │ - vldr d2, [sp, #120] @ 0x78 │ │ │ │ │ - adds r2, r4, r2 │ │ │ │ │ - vldr d14, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d8, [sp, #128] @ 0x80 │ │ │ │ │ - vmul.f64 d1, d2, d4 │ │ │ │ │ + add.w r1, r7, r2 │ │ │ │ │ + add r2, r5 │ │ │ │ │ + vldr d14, [sp, #128] @ 0x80 │ │ │ │ │ + str r1, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d2, [sp, #136] @ 0x88 │ │ │ │ │ + str r2, [sp, #128] @ 0x80 │ │ │ │ │ vldr d3, [r1] │ │ │ │ │ + mov r1, r5 │ │ │ │ │ + mov.w r5, #88 @ 0x58 │ │ │ │ │ + vldr d8, [sp, #144] @ 0x90 │ │ │ │ │ + mul.w fp, r5, sl │ │ │ │ │ + mov r5, r1 │ │ │ │ │ + vmul.f64 d1, d2, d4 │ │ │ │ │ vmla.f64 d1, d14, d5 │ │ │ │ │ vmul.f64 d5, d2, d5 │ │ │ │ │ - str r2, [sp, #112] @ 0x70 │ │ │ │ │ - ldr r7, [sp, #980] @ 0x3d4 │ │ │ │ │ - str r1, [sp, #104] @ 0x68 │ │ │ │ │ vnmls.f64 d5, d14, d4 │ │ │ │ │ vldr d4, [r2] │ │ │ │ │ - vldr d14, [sp, #136] @ 0x88 │ │ │ │ │ - add.w r2, r8, r3 │ │ │ │ │ - adds r3, r4, r3 │ │ │ │ │ - str r3, [sp, #128] @ 0x80 │ │ │ │ │ - str r2, [sp, #120] @ 0x78 │ │ │ │ │ + add.w r2, r7, r3 │ │ │ │ │ + add r3, r1 │ │ │ │ │ + vldr d14, [sp, #152] @ 0x98 │ │ │ │ │ + str r2, [sp, #136] @ 0x88 │ │ │ │ │ + str r3, [sp, #144] @ 0x90 │ │ │ │ │ vmul.f64 d2, d14, d4 │ │ │ │ │ vmla.f64 d2, d8, d3 │ │ │ │ │ vmul.f64 d3, d14, d3 │ │ │ │ │ vnmls.f64 d3, d8, d4 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ + add.w r3, r7, lr │ │ │ │ │ vldr d8, [r2] │ │ │ │ │ - mul.w r3, r6, r7 │ │ │ │ │ + add.w r2, r1, lr │ │ │ │ │ + mov.w r1, r6, lsl #3 │ │ │ │ │ + str r3, [sp, #152] @ 0x98 │ │ │ │ │ + str r2, [sp, #216] @ 0xd8 │ │ │ │ │ vmov.f64 d14, d4 │ │ │ │ │ vmul.f64 d4, d0, d4 │ │ │ │ │ vmla.f64 d4, d10, d8 │ │ │ │ │ vmul.f64 d8, d0, d8 │ │ │ │ │ - adds r7, r4, r3 │ │ │ │ │ - add.w r2, r8, r3 │ │ │ │ │ - str r7, [sp, #200] @ 0xc8 │ │ │ │ │ - mov r6, r3 │ │ │ │ │ - str r2, [sp, #136] @ 0x88 │ │ │ │ │ vnmls.f64 d8, d10, d14 │ │ │ │ │ vadd.f64 d10, d6, d2 │ │ │ │ │ vsub.f64 d6, d6, d2 │ │ │ │ │ vadd.f64 d0, d1, d4 │ │ │ │ │ vsub.f64 d4, d4, d1 │ │ │ │ │ - vldr d1, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d1, [sp, #160] @ 0xa0 │ │ │ │ │ vadd.f64 d14, d10, d0 │ │ │ │ │ vsub.f64 d10, d10, d0 │ │ │ │ │ vadd.f64 d0, d5, d8 │ │ │ │ │ vsub.f64 d8, d8, d5 │ │ │ │ │ - vstr d10, [sp, #400] @ 0x190 │ │ │ │ │ + vstr d14, [sp, #408] @ 0x198 │ │ │ │ │ + vstr d10, [sp, #416] @ 0x1a0 │ │ │ │ │ vadd.f64 d10, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vstr d14, [sp, #392] @ 0x188 │ │ │ │ │ vsub.f64 d14, d10, d0 │ │ │ │ │ vadd.f64 d10, d10, d0 │ │ │ │ │ vadd.f64 d0, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ vadd.f64 d4, d6, d8 │ │ │ │ │ - vstr d14, [sp, #808] @ 0x328 │ │ │ │ │ - vstr d7, [sp, #424] @ 0x1a8 │ │ │ │ │ + vstr d10, [sp, #424] @ 0x1a8 │ │ │ │ │ + vstr d0, [sp, #432] @ 0x1b0 │ │ │ │ │ + vstr d7, [sp, #440] @ 0x1b8 │ │ │ │ │ vsub.f64 d7, d6, d8 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - ldr r7, [sp, #980] @ 0x3d4 │ │ │ │ │ - vstr d0, [sp, #416] @ 0x1a0 │ │ │ │ │ - vldr d0, [sp, #152] @ 0x98 │ │ │ │ │ - vstr d7, [sp, #432] @ 0x1b0 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - mul.w r9, r9, r7 │ │ │ │ │ - vstr d4, [sp, #816] @ 0x330 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add.w r2, r5, fp │ │ │ │ │ + vldr d0, [sp, #168] @ 0xa8 │ │ │ │ │ + str r2, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d7, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + add.w r3, r7, fp │ │ │ │ │ + vstr d4, [sp, #824] @ 0x338 │ │ │ │ │ vmul.f64 d4, d0, d6 │ │ │ │ │ - add.w r3, r8, r9 │ │ │ │ │ - add.w r2, r4, r9 │ │ │ │ │ + vldr d3, [r3] │ │ │ │ │ + str r3, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d14, [sp, #816] @ 0x330 │ │ │ │ │ vmla.f64 d4, d1, d7 │ │ │ │ │ vmul.f64 d7, d0, d7 │ │ │ │ │ - str r3, [sp, #144] @ 0x90 │ │ │ │ │ - mul.w r0, r7, r0 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - str r2, [sp, #152] @ 0x98 │ │ │ │ │ - adds r7, r4, r0 │ │ │ │ │ vnmls.f64 d7, d1, d6 │ │ │ │ │ - vstr d10, [sp, #408] @ 0x198 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ - add.w r1, r8, r0 │ │ │ │ │ - vldr d0, [sp, #168] @ 0xa8 │ │ │ │ │ - vldr d1, [sp, #160] @ 0xa0 │ │ │ │ │ - str r7, [sp, #168] @ 0xa8 │ │ │ │ │ + mov.w r2, sl, lsl #3 │ │ │ │ │ + vldr d1, [sp, #176] @ 0xb0 │ │ │ │ │ + sub.w ip, r2, sl │ │ │ │ │ + mov.w r3, ip, lsl #3 │ │ │ │ │ + vldr d0, [sp, #184] @ 0xb8 │ │ │ │ │ + mov.w ip, ip, lsl #4 │ │ │ │ │ + add r0, r3 │ │ │ │ │ + vldr d14, [sp, #192] @ 0xc0 │ │ │ │ │ + strd r3, r1, [sp, #320] @ 0x140 │ │ │ │ │ + add r3, r5 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + str r0, [sp, #176] @ 0xb0 │ │ │ │ │ + mov r0, r7 │ │ │ │ │ vmul.f64 d2, d0, d6 │ │ │ │ │ - vldr d14, [sp, #176] @ 0xb0 │ │ │ │ │ + str r3, [sp, #184] @ 0xb8 │ │ │ │ │ + add r0, r1 │ │ │ │ │ + vldr d10, [sp, #208] @ 0xd0 │ │ │ │ │ + str r0, [sp, #192] @ 0xc0 │ │ │ │ │ + vldr d8, [r0] │ │ │ │ │ + add.w r0, r4, r8 │ │ │ │ │ vmla.f64 d2, d1, d3 │ │ │ │ │ vmul.f64 d3, d0, d3 │ │ │ │ │ - vldr d0, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - str r1, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d0, [sp, #200] @ 0xc8 │ │ │ │ │ + str r0, [sp, #208] @ 0xd0 │ │ │ │ │ vnmls.f64 d3, d1, d6 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - ldr r7, [sp, #980] @ 0x3d4 │ │ │ │ │ - vldr d10, [sp, #192] @ 0xc0 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + add.w r3, r5, r1 │ │ │ │ │ + ldr r5, [sp, #4] │ │ │ │ │ + str r3, [sp, #200] @ 0xc8 │ │ │ │ │ vmul.f64 d1, d0, d6 │ │ │ │ │ + mov r7, r5 │ │ │ │ │ vmla.f64 d1, d14, d5 │ │ │ │ │ vmul.f64 d5, d0, d5 │ │ │ │ │ - mul.w lr, lr, r7 │ │ │ │ │ - add.w r1, r4, lr │ │ │ │ │ - add.w r2, r8, lr │ │ │ │ │ + vldr d0, [r3] │ │ │ │ │ + mov r3, r5 │ │ │ │ │ + add r3, r8 │ │ │ │ │ + str r3, [sp, #220] @ 0xdc │ │ │ │ │ vnmls.f64 d5, d14, d6 │ │ │ │ │ - str r1, [sp, #184] @ 0xb8 │ │ │ │ │ - str r2, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d0, [r1] │ │ │ │ │ - lsls r1, r7, #4 │ │ │ │ │ - vldr d8, [r2] │ │ │ │ │ - adds r3, r5, r1 │ │ │ │ │ - str r3, [sp, #204] @ 0xcc │ │ │ │ │ vmul.f64 d6, d9, d0 │ │ │ │ │ - str r1, [sp, #192] @ 0xc0 │ │ │ │ │ - vmla.f64 d6, d10, d8 │ │ │ │ │ vmul.f64 d9, d9, d8 │ │ │ │ │ + vmla.f64 d6, d10, d8 │ │ │ │ │ + vnmls.f64 d9, d10, d0 │ │ │ │ │ vadd.f64 d8, d4, d1 │ │ │ │ │ vsub.f64 d4, d4, d1 │ │ │ │ │ - vnmls.f64 d9, d10, d0 │ │ │ │ │ vadd.f64 d0, d2, d6 │ │ │ │ │ vsub.f64 d6, d6, d2 │ │ │ │ │ vadd.f64 d10, d8, d0 │ │ │ │ │ vsub.f64 d0, d8, d0 │ │ │ │ │ vadd.f64 d8, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [sp] │ │ │ │ │ - vstr d0, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d5, [sp, #16] │ │ │ │ │ + vstr d10, [sp, #456] @ 0x1c8 │ │ │ │ │ + vstr d0, [sp, #464] @ 0x1d0 │ │ │ │ │ vadd.f64 d0, d3, d9 │ │ │ │ │ - vstr d10, [sp, #440] @ 0x1b8 │ │ │ │ │ vsub.f64 d9, d9, d3 │ │ │ │ │ vsub.f64 d10, d8, d0 │ │ │ │ │ vadd.f64 d0, d8, d0 │ │ │ │ │ vsub.f64 d1, d4, d9 │ │ │ │ │ vadd.f64 d4, d4, d9 │ │ │ │ │ - vldr d9, [sp, #8] │ │ │ │ │ - vstr d0, [sp, #464] @ 0x1d0 │ │ │ │ │ + vldr d9, [sp, #24] │ │ │ │ │ + vstr d10, [sp, #472] @ 0x1d8 │ │ │ │ │ + vstr d0, [sp, #480] @ 0x1e0 │ │ │ │ │ vadd.f64 d0, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vstr d4, [sp, #480] @ 0x1e0 │ │ │ │ │ - vstr d10, [sp, #456] @ 0x1c8 │ │ │ │ │ - vstr d1, [sp, #472] @ 0x1d8 │ │ │ │ │ - vstr d0, [sp, #488] @ 0x1e8 │ │ │ │ │ - vstr d7, [sp, #496] @ 0x1f0 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - add.w r3, fp, r1 │ │ │ │ │ - str r3, [sp, #208] @ 0xd0 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - movs r3, #48 @ 0x30 │ │ │ │ │ + vstr d1, [sp, #488] @ 0x1e8 │ │ │ │ │ + vstr d4, [sp, #496] @ 0x1f0 │ │ │ │ │ + vstr d0, [sp, #504] @ 0x1f8 │ │ │ │ │ + vstr d7, [sp, #512] @ 0x200 │ │ │ │ │ vmul.f64 d4, d9, d6 │ │ │ │ │ - mul.w r7, r3, r7 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + mov.w r0, r6, lsl #4 │ │ │ │ │ + mov r6, r5 │ │ │ │ │ + add.w r1, r4, r0 │ │ │ │ │ + add.w r3, r5, r0 │ │ │ │ │ + str r1, [sp, #24] │ │ │ │ │ vmla.f64 d4, d5, d7 │ │ │ │ │ vmul.f64 d7, d9, d7 │ │ │ │ │ - adds r2, r5, r7 │ │ │ │ │ - add.w r1, fp, r7 │ │ │ │ │ - str r2, [sp, #8] │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - str r7, [sp, #0] │ │ │ │ │ - ldr r7, [sp, #980] @ 0x3d4 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - vldr d1, [sp, #216] @ 0xd8 │ │ │ │ │ - str r1, [sp, #212] @ 0xd4 │ │ │ │ │ - mul.w ip, ip, r7 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + str r3, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + add.w r3, sl, sl, lsl #2 │ │ │ │ │ + vldr d1, [sp, #224] @ 0xe0 │ │ │ │ │ + mov.w r1, r3, lsl #4 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + add.w r5, r4, r1 │ │ │ │ │ + vldr d0, [sp, #240] @ 0xf0 │ │ │ │ │ vmul.f64 d2, d11, d6 │ │ │ │ │ vmul.f64 d11, d11, d5 │ │ │ │ │ - ldr r1, [sp, #980] @ 0x3d4 │ │ │ │ │ - add.w r7, r5, ip │ │ │ │ │ - add.w r3, fp, ip │ │ │ │ │ - str r7, [sp, #216] @ 0xd8 │ │ │ │ │ - vmla.f64 d2, d1, d5 │ │ │ │ │ - vldr d0, [sp, #224] @ 0xe0 │ │ │ │ │ - vldr d3, [r7] │ │ │ │ │ - movs r7, #112 @ 0x70 │ │ │ │ │ + vldr d3, [r5] │ │ │ │ │ + str r5, [sp, #224] @ 0xe0 │ │ │ │ │ + add.w r5, r6, r1 │ │ │ │ │ + str r1, [sp, #864] @ 0x360 │ │ │ │ │ + add.w r1, r6, ip │ │ │ │ │ + vldr d9, [sp, #368] @ 0x170 │ │ │ │ │ + strd r5, r1, [sp, #236] @ 0xec │ │ │ │ │ vnmls.f64 d11, d1, d6 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - vldr d9, [sp, #232] @ 0xe8 │ │ │ │ │ - mul.w r7, r1, r7 │ │ │ │ │ - str r3, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + vmla.f64 d2, d1, d5 │ │ │ │ │ + add.w r5, r4, ip │ │ │ │ │ + vldr d10, [sp, #248] @ 0xf8 │ │ │ │ │ vmul.f64 d1, d0, d6 │ │ │ │ │ - vldr d10, [sp, #240] @ 0xf0 │ │ │ │ │ vmla.f64 d1, d9, d3 │ │ │ │ │ - add.w r3, fp, r7 │ │ │ │ │ vmul.f64 d3, d0, d3 │ │ │ │ │ - adds r1, r5, r7 │ │ │ │ │ - str r1, [sp, #224] @ 0xe0 │ │ │ │ │ - vldr d0, [r3] │ │ │ │ │ - str r3, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d0, [r1] │ │ │ │ │ + add.w r1, r4, r2 │ │ │ │ │ + str r1, [sp, #248] @ 0xf8 │ │ │ │ │ vnmls.f64 d3, d9, d6 │ │ │ │ │ - vldr d9, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ vmul.f64 d5, d10, d0 │ │ │ │ │ - ldr r1, [sp, #980] @ 0x3d4 │ │ │ │ │ + vldr d9, [sp, #256] @ 0x100 │ │ │ │ │ vmla.f64 d5, d9, d6 │ │ │ │ │ vmul.f64 d6, d10, d6 │ │ │ │ │ - lsls r3, r1, #3 │ │ │ │ │ - str r3, [sp, #240] @ 0xf0 │ │ │ │ │ - adds r2, r5, r3 │ │ │ │ │ - add.w r1, fp, r3 │ │ │ │ │ - str r2, [sp, #248] @ 0xf8 │ │ │ │ │ vnmls.f64 d6, d9, d0 │ │ │ │ │ vadd.f64 d0, d4, d1 │ │ │ │ │ vsub.f64 d4, d4, d1 │ │ │ │ │ - str r1, [sp, #260] @ 0x104 │ │ │ │ │ vadd.f64 d8, d2, d5 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ + vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ vadd.f64 d9, d0, d8 │ │ │ │ │ vsub.f64 d0, d8, d0 │ │ │ │ │ vadd.f64 d8, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vldr d3, [sp, #16] │ │ │ │ │ - vstr d0, [sp, #824] @ 0x338 │ │ │ │ │ - vadd.f64 d0, d11, d6 │ │ │ │ │ - vsub.f64 d6, d6, d11 │ │ │ │ │ + vldr d3, [sp, #32] │ │ │ │ │ + vstr d9, [sp, #520] @ 0x208 │ │ │ │ │ vsub.f64 d1, d7, d4 │ │ │ │ │ - vstr d9, [sp, #504] @ 0x1f8 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vsub.f64 d9, d8, d0 │ │ │ │ │ - vadd.f64 d0, d8, d0 │ │ │ │ │ + vstr d0, [sp, #832] @ 0x340 │ │ │ │ │ + vadd.f64 d0, d11, d6 │ │ │ │ │ + vsub.f64 d6, d6, d11 │ │ │ │ │ + vstr d1, [sp, #536] @ 0x218 │ │ │ │ │ + vstr d7, [sp, #544] @ 0x220 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + add.w r1, r6, r2 │ │ │ │ │ + mov.w r6, #104 @ 0x68 │ │ │ │ │ + str r1, [sp, #256] @ 0x100 │ │ │ │ │ vadd.f64 d11, d5, d6 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ - vstr d1, [sp, #520] @ 0x208 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ - vstr d9, [sp, #832] @ 0x340 │ │ │ │ │ - vstr d0, [sp, #512] @ 0x200 │ │ │ │ │ - vstr d7, [sp, #528] @ 0x210 │ │ │ │ │ - vstr d11, [sp, #536] @ 0x218 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - movs r2, #104 @ 0x68 │ │ │ │ │ - vstr d5, [sp, #544] @ 0x220 │ │ │ │ │ + mul.w r1, r6, sl │ │ │ │ │ + vsub.f64 d9, d8, d0 │ │ │ │ │ + vadd.f64 d0, d8, d0 │ │ │ │ │ + add.w r6, r4, r1 │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ + vstr d5, [sp, #560] @ 0x230 │ │ │ │ │ vmul.f64 d5, d3, d6 │ │ │ │ │ - vldr d2, [sp, #24] │ │ │ │ │ - ldr r1, [sp, #980] @ 0x3d4 │ │ │ │ │ - vldr d1, [sp, #272] @ 0x110 │ │ │ │ │ + str r6, [sp, #40] @ 0x28 │ │ │ │ │ + mov r6, r7 │ │ │ │ │ + add r6, r1 │ │ │ │ │ + vstr d0, [sp, #528] @ 0x210 │ │ │ │ │ + vstr d11, [sp, #552] @ 0x228 │ │ │ │ │ + vstr d9, [sp, #840] @ 0x348 │ │ │ │ │ vmla.f64 d5, d2, d7 │ │ │ │ │ vmul.f64 d7, d3, d7 │ │ │ │ │ - vldr d10, [sp, #288] @ 0x120 │ │ │ │ │ - mul.w r2, r1, r2 │ │ │ │ │ + str r1, [sp, #32] │ │ │ │ │ + vldr d1, [sp, #272] @ 0x110 │ │ │ │ │ + add.w r1, r2, sl │ │ │ │ │ + mov.w r7, r1, lsl #3 │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ vldr d3, [sp, #280] @ 0x118 │ │ │ │ │ - str r2, [sp, #16] │ │ │ │ │ - adds r1, r5, r2 │ │ │ │ │ - add r2, fp │ │ │ │ │ + add.w r1, r4, r7 │ │ │ │ │ vnmls.f64 d7, d2, d6 │ │ │ │ │ - str r2, [sp, #856] @ 0x358 │ │ │ │ │ - str r1, [sp, #24] │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - ldr r2, [sp, #980] @ 0x3d4 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - movs r1, #72 @ 0x48 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + str r7, [sp, #368] @ 0x170 │ │ │ │ │ vldr d2, [sp, #264] @ 0x108 │ │ │ │ │ + str r1, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d10, [sp, #288] @ 0x120 │ │ │ │ │ vmul.f64 d0, d1, d6 │ │ │ │ │ - vldr d9, [sp, #304] @ 0x130 │ │ │ │ │ - mul.w r1, r2, r1 │ │ │ │ │ vldr d11, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d9, [sp, #304] @ 0x130 │ │ │ │ │ vmla.f64 d0, d2, d4 │ │ │ │ │ vmul.f64 d4, d1, d4 │ │ │ │ │ - add.w r2, fp, r1 │ │ │ │ │ - adds r3, r5, r1 │ │ │ │ │ - str r2, [sp, #272] @ 0x110 │ │ │ │ │ - str r3, [sp, #264] @ 0x108 │ │ │ │ │ vnmls.f64 d4, d2, d6 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - ldr r2, [sp, #980] @ 0x3d4 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ - movs r3, #40 @ 0x28 │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ + ldr r1, [sp, #4] │ │ │ │ │ + add r1, r7 │ │ │ │ │ + ldr r7, [sp, #4] │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + str r1, [sp, #272] @ 0x110 │ │ │ │ │ + add.w r1, r4, r3 │ │ │ │ │ + str r1, [sp, #280] @ 0x118 │ │ │ │ │ vmul.f64 d1, d10, d6 │ │ │ │ │ - mul.w r3, r2, r3 │ │ │ │ │ vmla.f64 d1, d3, d2 │ │ │ │ │ vmul.f64 d2, d10, d2 │ │ │ │ │ - adds r2, r5, r3 │ │ │ │ │ - str r2, [sp, #280] @ 0x118 │ │ │ │ │ vnmls.f64 d2, d3, d6 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - add.w r2, fp, r3 │ │ │ │ │ - str r2, [sp, #288] @ 0x120 │ │ │ │ │ - vldr d8, [r2] │ │ │ │ │ - adds r2, r5, r6 │ │ │ │ │ - str r2, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + mov r1, r7 │ │ │ │ │ + add r1, r3 │ │ │ │ │ + mov r3, r7 │ │ │ │ │ + vldr d8, [r1] │ │ │ │ │ + str r1, [sp, #288] @ 0x120 │ │ │ │ │ + add.w r1, r4, lr │ │ │ │ │ + add lr, r7 │ │ │ │ │ + str r1, [sp, #296] @ 0x128 │ │ │ │ │ vmul.f64 d3, d9, d8 │ │ │ │ │ vmla.f64 d3, d11, d6 │ │ │ │ │ vmul.f64 d6, d9, d6 │ │ │ │ │ vadd.f64 d9, d5, d1 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ vnmls.f64 d6, d11, d8 │ │ │ │ │ vadd.f64 d8, d0, d3 │ │ │ │ │ vsub.f64 d3, d3, d0 │ │ │ │ │ + vldr d0, [sp, #328] @ 0x148 │ │ │ │ │ vadd.f64 d11, d9, d8 │ │ │ │ │ - vstr d11, [sp, #552] @ 0x228 │ │ │ │ │ + vstr d11, [sp, #568] @ 0x238 │ │ │ │ │ vsub.f64 d11, d9, d8 │ │ │ │ │ vadd.f64 d9, d7, d2 │ │ │ │ │ - vsub.f64 d7, d7, d2 │ │ │ │ │ vadd.f64 d8, d4, d6 │ │ │ │ │ + vsub.f64 d7, d7, d2 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ - vstr d11, [sp, #840] @ 0x348 │ │ │ │ │ + vstr d11, [sp, #848] @ 0x350 │ │ │ │ │ vadd.f64 d2, d7, d3 │ │ │ │ │ - vsub.f64 d11, d9, d8 │ │ │ │ │ vadd.f64 d10, d9, d8 │ │ │ │ │ vsub.f64 d4, d5, d6 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ - vstr d2, [sp, #568] @ 0x238 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + vsub.f64 d11, d9, d8 │ │ │ │ │ + add.w r1, r4, fp │ │ │ │ │ + add fp, r3 │ │ │ │ │ + vstr d10, [sp, #576] @ 0x240 │ │ │ │ │ + vstr d2, [sp, #584] @ 0x248 │ │ │ │ │ vsub.f64 d2, d7, d3 │ │ │ │ │ - vstr d11, [sp, #848] @ 0x350 │ │ │ │ │ - vstr d10, [sp, #560] @ 0x230 │ │ │ │ │ - vstr d4, [sp, #584] @ 0x248 │ │ │ │ │ - vstr d2, [sp, #576] @ 0x240 │ │ │ │ │ - vstr d5, [sp, #592] @ 0x250 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - add.w r2, fp, r6 │ │ │ │ │ + vldr d7, [lr] │ │ │ │ │ + vstr d2, [sp, #592] @ 0x250 │ │ │ │ │ + vstr d4, [sp, #600] @ 0x258 │ │ │ │ │ vldr d4, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d0, [sp, #320] @ 0x140 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - str r2, [sp, #304] @ 0x130 │ │ │ │ │ - add.w r2, r5, r9 │ │ │ │ │ - add r9, fp │ │ │ │ │ - vldr d9, [sp, #600] @ 0x258 │ │ │ │ │ + vstr d5, [sp, #608] @ 0x260 │ │ │ │ │ + vstr d11, [sp, #856] @ 0x358 │ │ │ │ │ + str r1, [sp, #304] @ 0x130 │ │ │ │ │ + ldr r7, [sp, #320] @ 0x140 │ │ │ │ │ vmul.f64 d5, d4, d7 │ │ │ │ │ - vldr d10, [sp, #616] @ 0x268 │ │ │ │ │ + vldr d9, [sp, #624] @ 0x270 │ │ │ │ │ + vldr d10, [sp, #640] @ 0x280 │ │ │ │ │ + vldr d11, [sp, #616] @ 0x268 │ │ │ │ │ vmla.f64 d5, d0, d6 │ │ │ │ │ vmul.f64 d6, d4, d6 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - str r2, [sp, #312] @ 0x138 │ │ │ │ │ - adds r2, r5, r0 │ │ │ │ │ - add r0, fp │ │ │ │ │ - vldr d11, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ + add.w r1, r4, r7 │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ + str r1, [sp, #320] @ 0x140 │ │ │ │ │ + mov r1, r7 │ │ │ │ │ vnmls.f64 d6, d0, d7 │ │ │ │ │ - vldr d7, [r9] │ │ │ │ │ - vldr d2, [r2] │ │ │ │ │ - str r2, [sp, #320] @ 0x140 │ │ │ │ │ - add.w r2, r5, lr │ │ │ │ │ + vldr d7, [fp] │ │ │ │ │ + add r1, r3 │ │ │ │ │ + str r1, [sp, #312] @ 0x138 │ │ │ │ │ vmul.f64 d0, d9, d7 │ │ │ │ │ - add lr, fp │ │ │ │ │ vmla.f64 d0, d10, d4 │ │ │ │ │ vmul.f64 d4, d9, d4 │ │ │ │ │ - vldr d9, [sp, #608] @ 0x260 │ │ │ │ │ - vldr d8, [lr] │ │ │ │ │ - str r2, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d9, [sp, #632] @ 0x278 │ │ │ │ │ vnmls.f64 d4, d10, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - vmul.f64 d3, d15, d8 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + ldr r1, [sp, #324] @ 0x144 │ │ │ │ │ vmul.f64 d1, d9, d7 │ │ │ │ │ + add.w r7, r4, r1 │ │ │ │ │ + str r7, [sp, #324] @ 0x144 │ │ │ │ │ vmla.f64 d1, d11, d2 │ │ │ │ │ vmul.f64 d2, d9, d2 │ │ │ │ │ vldr d9, [sp, #336] @ 0x150 │ │ │ │ │ vnmls.f64 d2, d11, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - ldr r2, [sp, #192] @ 0xc0 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + mov r7, r3 │ │ │ │ │ + add r7, r1 │ │ │ │ │ + vldr d8, [r7] │ │ │ │ │ + str r7, [sp, #328] @ 0x148 │ │ │ │ │ + ldr r7, [sp, #12] │ │ │ │ │ + vmul.f64 d3, d15, d8 │ │ │ │ │ + add.w r1, r7, r8 │ │ │ │ │ + mov r3, r7 │ │ │ │ │ + vldr d11, [r1] │ │ │ │ │ + str r1, [sp, #336] @ 0x150 │ │ │ │ │ vmla.f64 d3, d9, d7 │ │ │ │ │ vmul.f64 d7, d15, d7 │ │ │ │ │ - add.w r6, r8, r2 │ │ │ │ │ - str r6, [sp, #192] @ 0xc0 │ │ │ │ │ + ldr r1, [sp, #8] │ │ │ │ │ vnmls.f64 d7, d9, d8 │ │ │ │ │ vadd.f64 d9, d5, d1 │ │ │ │ │ + add r8, r1 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ - vldr d11, [r6] │ │ │ │ │ - adds r6, r4, r2 │ │ │ │ │ - str r6, [sp, #336] @ 0x150 │ │ │ │ │ + ldr r1, [sp, #864] @ 0x360 │ │ │ │ │ vadd.f64 d8, d0, d3 │ │ │ │ │ vsub.f64 d3, d3, d0 │ │ │ │ │ - vadd.f64 d15, d9, d8 │ │ │ │ │ + add r7, r1 │ │ │ │ │ vadd.f64 d14, d4, d7 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vstr d15, [sp, #600] @ 0x258 │ │ │ │ │ + vadd.f64 d15, d9, d8 │ │ │ │ │ + vsub.f64 d4, d5, d7 │ │ │ │ │ + vstr d15, [sp, #616] @ 0x268 │ │ │ │ │ vsub.f64 d15, d9, d8 │ │ │ │ │ vadd.f64 d9, d6, d2 │ │ │ │ │ vsub.f64 d6, d6, d2 │ │ │ │ │ - vsub.f64 d4, d5, d7 │ │ │ │ │ - vstr d15, [sp, #608] @ 0x260 │ │ │ │ │ + vldr d8, [sp, #344] @ 0x158 │ │ │ │ │ + vstr d15, [sp, #624] @ 0x270 │ │ │ │ │ vsub.f64 d15, d9, d14 │ │ │ │ │ vadd.f64 d14, d9, d14 │ │ │ │ │ - vstr d4, [sp, #640] @ 0x280 │ │ │ │ │ + vstr d4, [sp, #656] @ 0x290 │ │ │ │ │ vadd.f64 d4, d5, d7 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - add.w r6, r8, ip │ │ │ │ │ - add ip, r4 │ │ │ │ │ - vstr d15, [sp, #616] @ 0x268 │ │ │ │ │ + vldr d7, [r8] │ │ │ │ │ + vstr d15, [sp, #632] @ 0x278 │ │ │ │ │ vadd.f64 d15, d6, d3 │ │ │ │ │ - vstr d4, [sp, #648] @ 0x288 │ │ │ │ │ - vstr d15, [sp, #624] @ 0x270 │ │ │ │ │ + vstr d15, [sp, #640] @ 0x280 │ │ │ │ │ vsub.f64 d15, d6, d3 │ │ │ │ │ - vldr d6, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d15, [sp, #632] @ 0x278 │ │ │ │ │ + vldr d6, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d15, [sp, #648] @ 0x288 │ │ │ │ │ vmul.f64 d3, d6, d7 │ │ │ │ │ - vldr d8, [sp, #344] @ 0x158 │ │ │ │ │ - vldr d1, [sp, #664] @ 0x298 │ │ │ │ │ - vldr d4, [r6] │ │ │ │ │ + vstr d4, [sp, #664] @ 0x298 │ │ │ │ │ + str r7, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + ldr r7, [sp, #8] │ │ │ │ │ vmla.f64 d3, d8, d11 │ │ │ │ │ vmul.f64 d11, d6, d11 │ │ │ │ │ - vldr d6, [sp, #656] @ 0x290 │ │ │ │ │ - str r6, [sp, #40] @ 0x28 │ │ │ │ │ - add.w r6, r8, r7 │ │ │ │ │ - add r7, r4 │ │ │ │ │ - vldr d0, [sp, #368] @ 0x170 │ │ │ │ │ + vldr d9, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d1, [sp, #680] @ 0x2a8 │ │ │ │ │ + add r7, r1 │ │ │ │ │ vnmls.f64 d11, d8, d7 │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ - ldr r2, [sp, #0] │ │ │ │ │ + vldr d6, [sp, #672] @ 0x2a0 │ │ │ │ │ str r7, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + mov r7, r3 │ │ │ │ │ + add r7, ip │ │ │ │ │ + ldr r1, [sp, #8] │ │ │ │ │ + str r7, [sp, #864] @ 0x360 │ │ │ │ │ + vldr d0, [sp, #376] @ 0x178 │ │ │ │ │ vmul.f64 d8, d1, d7 │ │ │ │ │ vldr d15, [sp, #360] @ 0x168 │ │ │ │ │ + add ip, r1 │ │ │ │ │ vmla.f64 d8, d6, d4 │ │ │ │ │ vmul.f64 d4, d1, d4 │ │ │ │ │ vldr d1, [sp, #352] @ 0x160 │ │ │ │ │ - vldr d9, [sp, #32] │ │ │ │ │ vnmls.f64 d4, d6, d7 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - add.w r7, r8, r2 │ │ │ │ │ - str r7, [sp, #0] │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + mov r7, r3 │ │ │ │ │ + add r7, r0 │ │ │ │ │ + add r0, r1 │ │ │ │ │ + vsub.f64 d5, d3, d8 │ │ │ │ │ + vadd.f64 d3, d3, d8 │ │ │ │ │ + str r7, [sp, #352] @ 0x160 │ │ │ │ │ vmul.f64 d2, d0, d6 │ │ │ │ │ + vsub.f64 d10, d11, d4 │ │ │ │ │ + vadd.f64 d11, d11, d4 │ │ │ │ │ vmla.f64 d2, d1, d7 │ │ │ │ │ vmul.f64 d7, d0, d7 │ │ │ │ │ - vsub.f64 d5, d3, d8 │ │ │ │ │ - vadd.f64 d3, d3, d8 │ │ │ │ │ vnmls.f64 d7, d1, d6 │ │ │ │ │ + vldr d1, [r0] │ │ │ │ │ vldr d6, [r7] │ │ │ │ │ - adds r7, r4, r2 │ │ │ │ │ - vsub.f64 d10, d11, d4 │ │ │ │ │ - vadd.f64 d11, d11, d4 │ │ │ │ │ - ldr r2, [sp, #240] @ 0xf0 │ │ │ │ │ - str r7, [sp, #352] @ 0x160 │ │ │ │ │ - vldr d1, [r7] │ │ │ │ │ - add.w r7, r8, r2 │ │ │ │ │ - str r7, [sp, #32] │ │ │ │ │ + mov r7, r3 │ │ │ │ │ + add r7, r2 │ │ │ │ │ + add r2, r1 │ │ │ │ │ + str r7, [sp, #48] @ 0x30 │ │ │ │ │ vmul.f64 d0, d15, d1 │ │ │ │ │ vmla.f64 d0, d9, d6 │ │ │ │ │ vmul.f64 d6, d15, d6 │ │ │ │ │ vnmls.f64 d6, d9, d1 │ │ │ │ │ vsub.f64 d1, d2, d0 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ vsub.f64 d9, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d8, d3, d2 │ │ │ │ │ vsub.f64 d3, d2, d3 │ │ │ │ │ vsub.f64 d6, d11, d7 │ │ │ │ │ vadd.f64 d7, d11, d7 │ │ │ │ │ - vstr d3, [sp, #664] @ 0x298 │ │ │ │ │ - vldr d3, [pc, #984] @ ec0 │ │ │ │ │ vldr d11, [r7] │ │ │ │ │ - adds r7, r4, r2 │ │ │ │ │ - vstr d6, [sp, #672] @ 0x2a0 │ │ │ │ │ + vstr d8, [sp, #672] @ 0x2a0 │ │ │ │ │ + mov r7, r3 │ │ │ │ │ + vstr d3, [sp, #680] @ 0x2a8 │ │ │ │ │ + vldr d3, [pc, #964] @ f08 │ │ │ │ │ + vldr d8, [r9, #-104] @ 0xffffff98 │ │ │ │ │ + vstr d6, [sp, #688] @ 0x2b0 │ │ │ │ │ vadd.f64 d6, d5, d10 │ │ │ │ │ - vstr d7, [sp, #680] @ 0x2a8 │ │ │ │ │ - vsub.f64 d7, d1, d9 │ │ │ │ │ vsub.f64 d5, d10, d5 │ │ │ │ │ + vstr d7, [sp, #696] @ 0x2b8 │ │ │ │ │ + vsub.f64 d7, d1, d9 │ │ │ │ │ vadd.f64 d1, d1, d9 │ │ │ │ │ - vstr d8, [sp, #656] @ 0x290 │ │ │ │ │ - vldr d8, [sl, #-104] @ 0xffffff98 │ │ │ │ │ + ldr r3, [sp, #368] @ 0x170 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - str r7, [sp, #240] @ 0xf0 │ │ │ │ │ - vmul.f64 d15, d7, d3 │ │ │ │ │ + add r7, r3 │ │ │ │ │ vmul.f64 d2, d4, d3 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - add.w r7, r8, r1 │ │ │ │ │ - add r1, r4 │ │ │ │ │ - vstr d15, [sp, #696] @ 0x2b8 │ │ │ │ │ + vmul.f64 d15, d7, d3 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + vstr d2, [sp, #704] @ 0x2c0 │ │ │ │ │ + vmul.f64 d8, d8, d7 │ │ │ │ │ + vldr d2, [r9, #-112] @ 0xffffff90 │ │ │ │ │ + vstr d15, [sp, #712] @ 0x2c8 │ │ │ │ │ vsub.f64 d15, d5, d1 │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ - vstr d2, [sp, #688] @ 0x2b0 │ │ │ │ │ - vldr d2, [sl, #-112] @ 0xffffff90 │ │ │ │ │ - vmul.f64 d8, d8, d7 │ │ │ │ │ - vmul.f64 d15, d15, d3 │ │ │ │ │ - vmul.f64 d1, d5, d3 │ │ │ │ │ vmla.f64 d8, d2, d11 │ │ │ │ │ - vstr d1, [sp, #704] @ 0x2c0 │ │ │ │ │ - vldr d2, [sl, #-104] @ 0xffffff98 │ │ │ │ │ - vldr d0, [sp, #720] @ 0x2d0 │ │ │ │ │ - vldr d1, [sp, #712] @ 0x2c8 │ │ │ │ │ + vldr d2, [r9, #-104] @ 0xffffff98 │ │ │ │ │ + vmul.f64 d1, d5, d3 │ │ │ │ │ + vmul.f64 d15, d15, d3 │ │ │ │ │ vmul.f64 d11, d2, d11 │ │ │ │ │ - vldr d2, [sl, #-112] @ 0xffffff90 │ │ │ │ │ - vldr d4, [r7] │ │ │ │ │ - ldr r2, [sp, #16] │ │ │ │ │ + vldr d2, [r9, #-112] @ 0xffffff90 │ │ │ │ │ + vstr d1, [sp, #720] @ 0x2d0 │ │ │ │ │ str r7, [sp, #360] @ 0x168 │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + mov r7, r3 │ │ │ │ │ + add r7, r1 │ │ │ │ │ + ldr r1, [sp, #32] │ │ │ │ │ + mov r3, r7 │ │ │ │ │ vnmls.f64 d11, d2, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - add.w r7, r8, r2 │ │ │ │ │ - add r2, r4 │ │ │ │ │ - str r7, [sp, #16] │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + str r3, [sp, #368] @ 0x170 │ │ │ │ │ + vldr d0, [sp, #728] @ 0x2d8 │ │ │ │ │ + vldr d1, [sp, #384] @ 0x180 │ │ │ │ │ + ldr r3, [sp, #8] │ │ │ │ │ vmul.f64 d3, d0, d7 │ │ │ │ │ - vldr d10, [sp, #376] @ 0x178 │ │ │ │ │ + ldr r7, [sp, #12] │ │ │ │ │ + vldr d10, [sp, #392] @ 0x188 │ │ │ │ │ vmla.f64 d3, d1, d4 │ │ │ │ │ vmul.f64 d4, d0, d4 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ + add r7, r1 │ │ │ │ │ + str r7, [sp, #32] │ │ │ │ │ vnmls.f64 d4, d1, d7 │ │ │ │ │ vldr d7, [r7] │ │ │ │ │ + mov r7, r3 │ │ │ │ │ + add r7, r1 │ │ │ │ │ + ldr r1, [sp, #16] │ │ │ │ │ + str r7, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + vsub.f64 d9, d8, d3 │ │ │ │ │ + vadd.f64 d3, d8, d3 │ │ │ │ │ + ldr r7, [sp, #12] │ │ │ │ │ vmul.f64 d2, d13, d6 │ │ │ │ │ - add.w r7, r8, r3 │ │ │ │ │ - add r3, r4 │ │ │ │ │ - str r7, [sp, #368] @ 0x170 │ │ │ │ │ + vsub.f64 d1, d11, d4 │ │ │ │ │ + add r7, r1 │ │ │ │ │ + mov r1, r3 │ │ │ │ │ + ldr r3, [sp, #16] │ │ │ │ │ + vadd.f64 d11, d11, d4 │ │ │ │ │ + str r7, [sp, #384] @ 0x180 │ │ │ │ │ vmla.f64 d2, d12, d7 │ │ │ │ │ vmul.f64 d7, d13, d7 │ │ │ │ │ - vsub.f64 d9, d8, d3 │ │ │ │ │ + add r3, r1 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - vadd.f64 d3, d8, d3 │ │ │ │ │ vnmls.f64 d7, d12, d6 │ │ │ │ │ - vldr d12, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d12, [sp, #400] @ 0x190 │ │ │ │ │ vldr d6, [r7] │ │ │ │ │ - vsub.f64 d1, d11, d4 │ │ │ │ │ - vadd.f64 d11, d11, d4 │ │ │ │ │ vmul.f64 d0, d12, d5 │ │ │ │ │ vmla.f64 d0, d10, d6 │ │ │ │ │ vmul.f64 d6, d12, d6 │ │ │ │ │ vnmls.f64 d6, d10, d5 │ │ │ │ │ vsub.f64 d10, d2, d0 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d0, d3, d2 │ │ │ │ │ vsub.f64 d13, d2, d3 │ │ │ │ │ - vldr d3, [pc, #712] @ ec0 │ │ │ │ │ + vldr d3, [pc, #684] @ f08 │ │ │ │ │ vadd.f64 d6, d10, d5 │ │ │ │ │ vsub.f64 d12, d11, d7 │ │ │ │ │ vadd.f64 d11, d11, d7 │ │ │ │ │ vsub.f64 d7, d1, d9 │ │ │ │ │ - vsub.f64 d5, d10, d5 │ │ │ │ │ + vstr d13, [sp, #16] │ │ │ │ │ vadd.f64 d1, d1, d9 │ │ │ │ │ - vstr d13, [sp, #376] @ 0x178 │ │ │ │ │ + vsub.f64 d5, d10, d5 │ │ │ │ │ vmov.f64 d10, d3 │ │ │ │ │ - vstr d12, [sp, #384] @ 0x180 │ │ │ │ │ + vstr d12, [sp, #392] @ 0x188 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d12, [sp, #744] @ 0x2e8 │ │ │ │ │ + vldr d12, [sp, #752] @ 0x2f0 │ │ │ │ │ vmul.f64 d8, d7, d3 │ │ │ │ │ + vmul.f64 d13, d4, d3 │ │ │ │ │ vsub.f64 d7, d5, d1 │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ - vmul.f64 d13, d4, d3 │ │ │ │ │ - vldr d1, [sp, #392] @ 0x188 │ │ │ │ │ - vstr d8, [sp, #720] @ 0x2d0 │ │ │ │ │ + vstr d13, [sp, #400] @ 0x190 │ │ │ │ │ + vstr d8, [sp, #728] @ 0x2d8 │ │ │ │ │ vmul.f64 d2, d7, d3 │ │ │ │ │ - vldr d8, [sp, #504] @ 0x1f8 │ │ │ │ │ vmul.f64 d5, d5, d3 │ │ │ │ │ - vldr d3, [sp, #552] @ 0x228 │ │ │ │ │ - vstr d13, [sp, #712] @ 0x2c8 │ │ │ │ │ + vldr d8, [sp, #520] @ 0x208 │ │ │ │ │ + vldr d3, [sp, #568] @ 0x238 │ │ │ │ │ + vldr d13, [sp, #576] @ 0x240 │ │ │ │ │ + vstr d2, [sp, #736] @ 0x2e0 │ │ │ │ │ vadd.f64 d6, d12, d8 │ │ │ │ │ - vldr d8, [sp, #600] @ 0x258 │ │ │ │ │ - vldr d13, [sp, #560] @ 0x230 │ │ │ │ │ - vstr d5, [sp, #736] @ 0x2e0 │ │ │ │ │ - vadd.f64 d7, d3, d8 │ │ │ │ │ - vldr d8, [sp, #512] @ 0x200 │ │ │ │ │ + vldr d8, [sp, #616] @ 0x268 │ │ │ │ │ + vstr d5, [sp, #744] @ 0x2e8 │ │ │ │ │ vadd.f64 d5, d13, d14 │ │ │ │ │ - vldr d13, [sp, #792] @ 0x318 │ │ │ │ │ - vstr d2, [sp, #728] @ 0x2d8 │ │ │ │ │ + vldr d13, [sp, #800] @ 0x320 │ │ │ │ │ + vadd.f64 d7, d3, d8 │ │ │ │ │ + vldr d8, [sp, #528] @ 0x210 │ │ │ │ │ + ldr r7, [sp, #12] │ │ │ │ │ + vldr d1, [sp, #408] @ 0x198 │ │ │ │ │ vadd.f64 d2, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ + vldr d9, [sp, #424] @ 0x1a8 │ │ │ │ │ vadd.f64 d7, d13, d8 │ │ │ │ │ - vldr d8, [sp, #656] @ 0x290 │ │ │ │ │ - vadd.f64 d4, d1, d8 │ │ │ │ │ - vldr d8, [sp, #440] @ 0x1b8 │ │ │ │ │ + ldr r1, [sp, #216] @ 0xd8 │ │ │ │ │ + vldr d8, [sp, #672] @ 0x2a0 │ │ │ │ │ vadd.f64 d3, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d9, [sp, #408] @ 0x198 │ │ │ │ │ + vadd.f64 d4, d1, d8 │ │ │ │ │ + vldr d8, [sp, #456] @ 0x1c8 │ │ │ │ │ vadd.f64 d5, d8, d0 │ │ │ │ │ - ldr r7, [sp, #304] @ 0x130 │ │ │ │ │ vadd.f64 d8, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ - vldr d4, [sp, #680] @ 0x2a8 │ │ │ │ │ + vldr d4, [sp, #696] @ 0x2b8 │ │ │ │ │ vadd.f64 d4, d9, d4 │ │ │ │ │ - vldr d9, [sp, #464] @ 0x1d0 │ │ │ │ │ + vldr d9, [sp, #480] @ 0x1e0 │ │ │ │ │ vadd.f64 d9, d9, d11 │ │ │ │ │ vsub.f64 d1, d4, d9 │ │ │ │ │ vadd.f64 d4, d4, d9 │ │ │ │ │ vsub.f64 d9, d2, d8 │ │ │ │ │ vadd.f64 d2, d2, d8 │ │ │ │ │ - vldr d8, [sp, #440] @ 0x1b8 │ │ │ │ │ - vstr d9, [r7] │ │ │ │ │ + vldr d8, [sp, #456] @ 0x1c8 │ │ │ │ │ + vstr d9, [lr] │ │ │ │ │ vsub.f64 d9, d4, d3 │ │ │ │ │ - ldr r7, [sp, #200] @ 0xc8 │ │ │ │ │ vadd.f64 d3, d3, d4 │ │ │ │ │ vsub.f64 d4, d6, d1 │ │ │ │ │ vadd.f64 d6, d6, d1 │ │ │ │ │ - vldr d1, [sp, #392] @ 0x188 │ │ │ │ │ + vldr d1, [sp, #408] @ 0x198 │ │ │ │ │ vsub.f64 d0, d8, d0 │ │ │ │ │ - vldr d8, [sp, #464] @ 0x1d0 │ │ │ │ │ - vstr d9, [r7] │ │ │ │ │ - vstr d2, [r5] │ │ │ │ │ - ldr r7, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d8, [sp, #480] @ 0x1e0 │ │ │ │ │ + vstr d9, [r1] │ │ │ │ │ + ldr r1, [sp, #312] @ 0x138 │ │ │ │ │ + vstr d2, [r4] │ │ │ │ │ + vstr d3, [r7] │ │ │ │ │ vsub.f64 d11, d8, d11 │ │ │ │ │ - vstr d3, [r8] │ │ │ │ │ - vstr d4, [r0] │ │ │ │ │ + vldr d2, [sp, #520] @ 0x208 │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ vsub.f64 d4, d5, d7 │ │ │ │ │ - ldr r0, [sp, #48] @ 0x30 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vldr d2, [sp, #504] @ 0x1f8 │ │ │ │ │ + ldr r1, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d3, [sp, #568] @ 0x238 │ │ │ │ │ vsub.f64 d5, d0, d11 │ │ │ │ │ - vldr d3, [sp, #552] @ 0x228 │ │ │ │ │ vadd.f64 d0, d0, d11 │ │ │ │ │ - vstr d4, [r7] │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ vsub.f64 d4, d12, d2 │ │ │ │ │ - ldr r0, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d12, [sp, #600] @ 0x258 │ │ │ │ │ - vldr d2, [sp, #560] @ 0x230 │ │ │ │ │ - ldr r7, [sp, #152] @ 0x98 │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ - vsub.f64 d7, d12, d3 │ │ │ │ │ - vldr d12, [sp, #512] @ 0x200 │ │ │ │ │ + ldr r1, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d2, [sp, #576] @ 0x240 │ │ │ │ │ + vldr d12, [sp, #616] @ 0x268 │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ + ldr r1, [sp, #120] @ 0x78 │ │ │ │ │ vsub.f64 d14, d2, d14 │ │ │ │ │ - ldr r0, [sp, #64] @ 0x40 │ │ │ │ │ - vsub.f64 d6, d13, d12 │ │ │ │ │ - vldr d13, [sp, #656] @ 0x290 │ │ │ │ │ - vldr d12, [sp, #680] @ 0x2a8 │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ + vsub.f64 d7, d12, d3 │ │ │ │ │ + vldr d12, [sp, #528] @ 0x210 │ │ │ │ │ vadd.f64 d2, d4, d14 │ │ │ │ │ vsub.f64 d4, d4, d14 │ │ │ │ │ + vsub.f64 d6, d13, d12 │ │ │ │ │ + vldr d13, [sp, #672] @ 0x2a0 │ │ │ │ │ + vldr d12, [sp, #696] @ 0x2b8 │ │ │ │ │ vsub.f64 d13, d1, d13 │ │ │ │ │ - vldr d1, [sp, #408] @ 0x198 │ │ │ │ │ + vldr d1, [sp, #424] @ 0x1a8 │ │ │ │ │ vadd.f64 d3, d7, d6 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vsub.f64 d7, d1, d12 │ │ │ │ │ vadd.f64 d1, d13, d7 │ │ │ │ │ vsub.f64 d7, d7, d13 │ │ │ │ │ vadd.f64 d8, d1, d5 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ vmul.f64 d8, d8, d10 │ │ │ │ │ vmul.f64 d5, d5, d10 │ │ │ │ │ vsub.f64 d9, d2, d8 │ │ │ │ │ vadd.f64 d2, d2, d8 │ │ │ │ │ - vstr d9, [r9] │ │ │ │ │ - vstr d2, [r0] │ │ │ │ │ + vstr d9, [fp] │ │ │ │ │ + ldr r1, [sp, #80] @ 0x50 │ │ │ │ │ + ldr r7, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d1, [sp, #464] @ 0x1d0 │ │ │ │ │ + vstr d2, [r1] │ │ │ │ │ vadd.f64 d2, d7, d0 │ │ │ │ │ vsub.f64 d7, d7, d0 │ │ │ │ │ + ldr r1, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d11, [sp, #832] @ 0x340 │ │ │ │ │ + vldr d12, [sp, #840] @ 0x348 │ │ │ │ │ vmul.f64 d2, d2, d10 │ │ │ │ │ vmul.f64 d7, d7, d10 │ │ │ │ │ + vldr d9, [sp, #848] @ 0x350 │ │ │ │ │ + vldr d14, [sp, #856] @ 0x358 │ │ │ │ │ vsub.f64 d8, d2, d3 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ - vstr d8, [r7] │ │ │ │ │ - ldr r0, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d12, [sp, #832] @ 0x340 │ │ │ │ │ - vldr d11, [sp, #824] @ 0x338 │ │ │ │ │ - vldr d14, [sp, #848] @ 0x350 │ │ │ │ │ - vstr d3, [r0] │ │ │ │ │ + vstr d8, [r1] │ │ │ │ │ + ldr r1, [sp, #136] @ 0x88 │ │ │ │ │ + vstr d3, [r1] │ │ │ │ │ vsub.f64 d3, d4, d7 │ │ │ │ │ - ldr r0, [sp, #72] @ 0x48 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ + ldr r1, [sp, #88] @ 0x58 │ │ │ │ │ vsub.f64 d7, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vldr d9, [sp, #840] @ 0x348 │ │ │ │ │ - vstr d3, [lr] │ │ │ │ │ - vstr d4, [r0] │ │ │ │ │ - ldr r0, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d3, [sp, #800] @ 0x320 │ │ │ │ │ - vldr d1, [sp, #448] @ 0x1c0 │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ + vstr d3, [r7] │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ + vmov.f64 d4, d10 │ │ │ │ │ + vldr d10, [sp, #16] │ │ │ │ │ + ldr r1, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d3, [sp, #808] @ 0x328 │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ + ldr r1, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d7, [sp, #760] @ 0x2f8 │ │ │ │ │ vadd.f64 d13, d3, d11 │ │ │ │ │ - vldr d7, [sp, #752] @ 0x2f0 │ │ │ │ │ vsub.f64 d2, d3, d11 │ │ │ │ │ - ldr r0, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d3, [sp, #616] @ 0x268 │ │ │ │ │ + vldr d3, [sp, #632] @ 0x278 │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ vsub.f64 d8, d7, d12 │ │ │ │ │ vadd.f64 d0, d7, d12 │ │ │ │ │ - vldr d12, [sp, #608] @ 0x260 │ │ │ │ │ + vldr d12, [sp, #624] @ 0x270 │ │ │ │ │ vsub.f64 d7, d14, d9 │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ vadd.f64 d6, d12, d3 │ │ │ │ │ - vldr d12, [sp, #384] @ 0x180 │ │ │ │ │ - vmov.f64 d3, d10 │ │ │ │ │ + vldr d12, [sp, #392] @ 0x188 │ │ │ │ │ + vmov.f64 d3, d4 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vmul.f64 d5, d5, d10 │ │ │ │ │ - vmul.f64 d11, d7, d10 │ │ │ │ │ + vmul.f64 d11, d7, d4 │ │ │ │ │ vadd.f64 d7, d1, d12 │ │ │ │ │ - vldr d10, [sp, #376] @ 0x178 │ │ │ │ │ - vldr d12, [sp, #456] @ 0x1c8 │ │ │ │ │ - vldr d1, [pc, #128] @ ec8 │ │ │ │ │ + vldr d12, [sp, #472] @ 0x1d8 │ │ │ │ │ + vmul.f64 d5, d5, d4 │ │ │ │ │ + vldr d1, [pc, #96] @ f10 │ │ │ │ │ vadd.f64 d6, d12, d10 │ │ │ │ │ - vldr d10, [pc, #128] @ ed0 │ │ │ │ │ - vldr d12, [sp, #616] @ 0x268 │ │ │ │ │ + vldr d10, [pc, #96] @ f18 │ │ │ │ │ + vldr d12, [sp, #632] @ 0x278 │ │ │ │ │ vmul.f64 d4, d6, d1 │ │ │ │ │ vnmls.f64 d4, d7, d10 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vmla.f64 d7, d6, d10 │ │ │ │ │ vadd.f64 d6, d9, d14 │ │ │ │ │ - vldr d9, [sp, #608] @ 0x260 │ │ │ │ │ - vldr d14, [sp, #664] @ 0x298 │ │ │ │ │ - vstr d4, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d9, [sp, #624] @ 0x270 │ │ │ │ │ + vldr d14, [sp, #680] @ 0x2a8 │ │ │ │ │ + vstr d4, [sp, #64] @ 0x40 │ │ │ │ │ vsub.f64 d4, d9, d12 │ │ │ │ │ - vstr d7, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d9, [sp, #400] @ 0x190 │ │ │ │ │ - vldr d12, [sp, #672] @ 0x2a0 │ │ │ │ │ + vstr d7, [sp, #80] @ 0x50 │ │ │ │ │ vadd.f64 d7, d6, d4 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ - vsub.f64 d12, d9, d12 │ │ │ │ │ - vmov.f64 d9, d1 │ │ │ │ │ - vmul.f64 d4, d4, d3 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ - vldr d3, [sp, #808] @ 0x328 │ │ │ │ │ - vsub.f64 d6, d3, d14 │ │ │ │ │ - vmul.f64 d14, d12, d1 │ │ │ │ │ - vmul.f64 d12, d12, d10 │ │ │ │ │ - vmla.f64 d14, d6, d10 │ │ │ │ │ - vnmls.f64 d12, d6, d1 │ │ │ │ │ - vldr d6, [sp, #664] @ 0x298 │ │ │ │ │ - b.n ee0 │ │ │ │ │ + vmul.f64 d4, d4, d3 │ │ │ │ │ + vldr d3, [sp, #816] @ 0x330 │ │ │ │ │ + vldr d9, [sp, #416] @ 0x1a0 │ │ │ │ │ + ldr r1, [sp, #272] @ 0x110 │ │ │ │ │ + b.n f28 │ │ │ │ │ nop │ │ │ │ │ nop.w │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ - .word 0x00000eba │ │ │ │ │ + .word 0x00000eee │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - vldr d1, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d12, [sp, #688] @ 0x2b0 │ │ │ │ │ + vsub.f64 d6, d3, d14 │ │ │ │ │ + ldr r7, [sp, #352] @ 0x160 │ │ │ │ │ + vsub.f64 d12, d9, d12 │ │ │ │ │ + vmov.f64 d9, d1 │ │ │ │ │ + vmul.f64 d14, d12, d1 │ │ │ │ │ + vmul.f64 d12, d12, d10 │ │ │ │ │ + vmla.f64 d14, d6, d10 │ │ │ │ │ + vnmls.f64 d12, d6, d1 │ │ │ │ │ + vldr d1, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d6, [sp, #680] @ 0x2a8 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ - vldr d6, [sp, #672] @ 0x2a0 │ │ │ │ │ + vldr d6, [sp, #688] @ 0x2b0 │ │ │ │ │ vadd.f64 d6, d1, d6 │ │ │ │ │ vmul.f64 d1, d6, d10 │ │ │ │ │ vmul.f64 d6, d6, d9 │ │ │ │ │ vmla.f64 d1, d3, d9 │ │ │ │ │ vnmls.f64 d6, d3, d10 │ │ │ │ │ - vstr d1, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d1, [sp, #448] @ 0x1c0 │ │ │ │ │ - vldr d3, [sp, #384] @ 0x180 │ │ │ │ │ - vstr d6, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d6, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d3, [sp, #392] @ 0x188 │ │ │ │ │ + vstr d1, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d1, [sp, #464] @ 0x1d0 │ │ │ │ │ + vstr d6, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d6, [sp, #16] │ │ │ │ │ vsub.f64 d3, d1, d3 │ │ │ │ │ - vldr d1, [sp, #456] @ 0x1c8 │ │ │ │ │ - ldr r7, [sp, #272] @ 0x110 │ │ │ │ │ - ldr r0, [sp, #8] │ │ │ │ │ + vldr d1, [sp, #472] @ 0x1d8 │ │ │ │ │ vsub.f64 d1, d1, d6 │ │ │ │ │ vmul.f64 d6, d1, d10 │ │ │ │ │ vnmls.f64 d6, d3, d9 │ │ │ │ │ vmul.f64 d3, d3, d10 │ │ │ │ │ vmla.f64 d3, d1, d9 │ │ │ │ │ vadd.f64 d1, d8, d5 │ │ │ │ │ vsub.f64 d5, d8, d5 │ │ │ │ │ - vldr d8, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d8, [sp, #80] @ 0x50 │ │ │ │ │ vadd.f64 d9, d14, d6 │ │ │ │ │ vsub.f64 d6, d6, d14 │ │ │ │ │ - vldr d14, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d14, [sp, #104] @ 0x68 │ │ │ │ │ vsub.f64 d10, d1, d9 │ │ │ │ │ vadd.f64 d1, d1, d9 │ │ │ │ │ vadd.f64 d9, d2, d4 │ │ │ │ │ vsub.f64 d2, d2, d4 │ │ │ │ │ - vstr d10, [r7] │ │ │ │ │ - vstr d1, [r0] │ │ │ │ │ + vstr d10, [r1] │ │ │ │ │ + ldr r1, [sp, #24] │ │ │ │ │ + vstr d1, [r1] │ │ │ │ │ vadd.f64 d1, d12, d3 │ │ │ │ │ vsub.f64 d12, d12, d3 │ │ │ │ │ - ldr r7, [sp, #0] │ │ │ │ │ - ldr r0, [sp, #260] @ 0x104 │ │ │ │ │ + ldr r1, [sp, #368] @ 0x170 │ │ │ │ │ vsub.f64 d10, d1, d9 │ │ │ │ │ - vadd.f64 d1, d1, d9 │ │ │ │ │ vsub.f64 d3, d5, d12 │ │ │ │ │ + vadd.f64 d1, d1, d9 │ │ │ │ │ vadd.f64 d5, d5, d12 │ │ │ │ │ - vldr d12, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d12, [sp, #88] @ 0x58 │ │ │ │ │ vstr d10, [r1] │ │ │ │ │ + ldr r1, [sp, #256] @ 0x100 │ │ │ │ │ vstr d1, [r7] │ │ │ │ │ - vstr d3, [r0] │ │ │ │ │ - ldr r0, [sp, #224] @ 0xe0 │ │ │ │ │ - vldr d1, [pc, #972] @ 1360 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ + vldr d1, [pc, #964] @ 13c0 │ │ │ │ │ + vstr d3, [r1] │ │ │ │ │ + mov r1, r5 │ │ │ │ │ + ldr r5, [sp, #864] @ 0x360 │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ vsub.f64 d5, d6, d2 │ │ │ │ │ - ldr r0, [sp, #240] @ 0xf0 │ │ │ │ │ vadd.f64 d6, d6, d2 │ │ │ │ │ - vldr d2, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ + vldr d2, [sp, #64] @ 0x40 │ │ │ │ │ + ldr r1, [sp, #208] @ 0xd0 │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ vadd.f64 d5, d2, d12 │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ + vstr d6, [r5] │ │ │ │ │ vadd.f64 d6, d0, d7 │ │ │ │ │ - ldr r0, [sp, #856] @ 0x358 │ │ │ │ │ vsub.f64 d7, d0, d7 │ │ │ │ │ - ldr r6, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d0, [pc, #932] @ 1368 │ │ │ │ │ + vldr d0, [pc, #924] @ 13c8 │ │ │ │ │ vsub.f64 d4, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vadd.f64 d5, d13, d11 │ │ │ │ │ vsub.f64 d13, d13, d11 │ │ │ │ │ - vstr d4, [r0] │ │ │ │ │ - ldr r0, [sp, #204] @ 0xcc │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ + vstr d4, [r6] │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ vadd.f64 d6, d8, d14 │ │ │ │ │ - ldr r0, [sp, #288] @ 0x120 │ │ │ │ │ + ldr r6, [sp, #376] @ 0x178 │ │ │ │ │ + ldr r5, [sp, #224] @ 0xe0 │ │ │ │ │ + ldr r7, [sp, #336] @ 0x150 │ │ │ │ │ vsub.f64 d4, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ + vldr d10, [sp, #584] @ 0x248 │ │ │ │ │ + vldr d9, [sp, #656] @ 0x290 │ │ │ │ │ + vstr d4, [r6] │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ vsub.f64 d6, d14, d8 │ │ │ │ │ + ldr r7, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r6, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d8, [sp, #536] @ 0x218 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ - ldr r0, [sp, #216] @ 0xd8 │ │ │ │ │ - ldr r6, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d8, [sp, #520] @ 0x208 │ │ │ │ │ - vldr d4, [sp, #776] @ 0x308 │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ + vldr d14, [sp, #600] @ 0x258 │ │ │ │ │ + vldr d4, [sp, #784] @ 0x310 │ │ │ │ │ + vstr d5, [r6] │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ vsub.f64 d7, d2, d12 │ │ │ │ │ - vldr d12, [sp, #536] @ 0x218 │ │ │ │ │ - vldr d2, [sp, #544] @ 0x220 │ │ │ │ │ - vldr d14, [sp, #584] @ 0x248 │ │ │ │ │ + vldr d12, [sp, #552] @ 0x228 │ │ │ │ │ + vldr d2, [sp, #560] @ 0x230 │ │ │ │ │ + vldr d5, [sp, #776] @ 0x308 │ │ │ │ │ vsub.f64 d6, d7, d13 │ │ │ │ │ vadd.f64 d7, d7, d13 │ │ │ │ │ - vldr d9, [sp, #640] @ 0x280 │ │ │ │ │ - vldr d10, [sp, #568] @ 0x238 │ │ │ │ │ - vldr d5, [sp, #768] @ 0x300 │ │ │ │ │ + vldr d13, [sp, #400] @ 0x190 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ + vldr d6, [pc, #800] @ 13d0 │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ vsub.f64 d7, d8, d12 │ │ │ │ │ - vldr d6, [pc, #808] @ 1370 │ │ │ │ │ - vldr d12, [sp, #528] @ 0x210 │ │ │ │ │ - vldr d13, [sp, #712] @ 0x2c8 │ │ │ │ │ + vldr d12, [sp, #544] @ 0x220 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ vsub.f64 d8, d4, d7 │ │ │ │ │ vadd.f64 d11, d4, d7 │ │ │ │ │ vsub.f64 d7, d2, d12 │ │ │ │ │ vmul.f64 d4, d14, d0 │ │ │ │ │ - vldr d14, [sp, #688] @ 0x2b0 │ │ │ │ │ + vldr d14, [sp, #704] @ 0x2c0 │ │ │ │ │ + vnmls.f64 d4, d10, d1 │ │ │ │ │ + vldr d10, [sp, #504] @ 0x1f8 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ vmul.f64 d6, d9, d0 │ │ │ │ │ - vldr d9, [sp, #624] @ 0x270 │ │ │ │ │ - vnmls.f64 d4, d10, d1 │ │ │ │ │ - vldr d10, [sp, #488] @ 0x1e8 │ │ │ │ │ - vmla.f64 d6, d9, d1 │ │ │ │ │ - vldr d9, [sp, #472] @ 0x1d8 │ │ │ │ │ + vldr d9, [sp, #640] @ 0x280 │ │ │ │ │ vadd.f64 d12, d5, d7 │ │ │ │ │ vsub.f64 d7, d5, d7 │ │ │ │ │ + vmla.f64 d6, d9, d1 │ │ │ │ │ + vldr d9, [sp, #488] @ 0x1e8 │ │ │ │ │ vadd.f64 d5, d9, d13 │ │ │ │ │ - vldr d13, [sp, #728] @ 0x2d8 │ │ │ │ │ - vldr d9, [pc, #736] @ 1378 │ │ │ │ │ + vldr d13, [sp, #736] @ 0x2e0 │ │ │ │ │ + vldr d9, [pc, #724] @ 13d8 │ │ │ │ │ vsub.f64 d2, d4, d6 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ vadd.f64 d6, d10, d13 │ │ │ │ │ - vldr d10, [pc, #728] @ 1380 │ │ │ │ │ - vldr d13, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d10, [pc, #716] @ 13e0 │ │ │ │ │ + vldr d13, [sp, #432] @ 0x1b0 │ │ │ │ │ vmul.f64 d3, d6, d9 │ │ │ │ │ vnmls.f64 d3, d5, d10 │ │ │ │ │ vmul.f64 d5, d5, d9 │ │ │ │ │ vmla.f64 d5, d6, d10 │ │ │ │ │ vsub.f64 d6, d13, d14 │ │ │ │ │ - vstr d3, [sp] │ │ │ │ │ - vldr d3, [sp, #432] @ 0x1b0 │ │ │ │ │ - vstr d5, [sp, #8] │ │ │ │ │ - vldr d5, [pc, #696] @ 1388 │ │ │ │ │ + vstr d3, [sp, #16] │ │ │ │ │ + vldr d3, [sp, #448] @ 0x1c0 │ │ │ │ │ + vstr d5, [sp, #24] │ │ │ │ │ + vldr d5, [pc, #684] @ 13e8 │ │ │ │ │ vsub.f64 d13, d3, d15 │ │ │ │ │ - vldr d3, [pc, #696] @ 1390 │ │ │ │ │ + vldr d3, [pc, #684] @ 13f0 │ │ │ │ │ vmul.f64 d14, d13, d5 │ │ │ │ │ vmul.f64 d13, d13, d3 │ │ │ │ │ vmla.f64 d14, d6, d3 │ │ │ │ │ - vldr d3, [sp, #568] @ 0x238 │ │ │ │ │ + vldr d3, [sp, #584] @ 0x248 │ │ │ │ │ vnmls.f64 d13, d6, d5 │ │ │ │ │ - vldr d5, [sp, #584] @ 0x248 │ │ │ │ │ + vldr d5, [sp, #600] @ 0x258 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vmla.f64 d5, d3, d0 │ │ │ │ │ - vldr d3, [sp, #624] @ 0x270 │ │ │ │ │ + vldr d3, [sp, #640] @ 0x280 │ │ │ │ │ + ldrd r3, r1, [sp, #4] │ │ │ │ │ + ldr r2, [sp, #72] @ 0x48 │ │ │ │ │ vmul.f64 d6, d3, d0 │ │ │ │ │ - vldr d0, [sp, #640] @ 0x280 │ │ │ │ │ + ldrd r6, r7, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d0, [sp, #656] @ 0x290 │ │ │ │ │ + ldr r5, [sp, #296] @ 0x128 │ │ │ │ │ vnmls.f64 d6, d0, d1 │ │ │ │ │ - vldr d0, [sp, #688] @ 0x2b0 │ │ │ │ │ - vldr d1, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d1, [sp, #432] @ 0x1b0 │ │ │ │ │ + vldr d0, [sp, #704] @ 0x2c0 │ │ │ │ │ vadd.f64 d1, d1, d0 │ │ │ │ │ - vldr d0, [sp, #432] @ 0x1b0 │ │ │ │ │ - vadd.f64 d15, d0, d15 │ │ │ │ │ + vldr d0, [sp, #448] @ 0x1c0 │ │ │ │ │ vadd.f64 d3, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [pc, #616] @ 1390 │ │ │ │ │ + vldr d5, [pc, #596] @ 13f0 │ │ │ │ │ + vadd.f64 d15, d0, d15 │ │ │ │ │ vmul.f64 d0, d15, d10 │ │ │ │ │ vmul.f64 d15, d15, d9 │ │ │ │ │ vmla.f64 d0, d1, d9 │ │ │ │ │ - vldr d9, [pc, #592] @ 1388 │ │ │ │ │ vnmls.f64 d15, d1, d10 │ │ │ │ │ - vstr d0, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d1, [sp, #472] @ 0x1d8 │ │ │ │ │ - vldr d0, [sp, #712] @ 0x2c8 │ │ │ │ │ - vldr d10, [sp, #488] @ 0x1e8 │ │ │ │ │ - ldr r1, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d1, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d10, [sp, #504] @ 0x1f8 │ │ │ │ │ + vldr d9, [pc, #556] @ 13e8 │ │ │ │ │ + vstr d0, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d0, [sp, #400] @ 0x190 │ │ │ │ │ vsub.f64 d1, d1, d0 │ │ │ │ │ - vldr d0, [sp, #728] @ 0x2d8 │ │ │ │ │ - ldr r7, [sp, #320] @ 0x140 │ │ │ │ │ - ldr r0, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d0, [sp, #736] @ 0x2e0 │ │ │ │ │ vsub.f64 d0, d10, d0 │ │ │ │ │ vmov.f64 d10, d5 │ │ │ │ │ - ldr r2, [sp, #84] @ 0x54 │ │ │ │ │ - ldr r3, [sp, #80] @ 0x50 │ │ │ │ │ vmul.f64 d5, d0, d5 │ │ │ │ │ vnmls.f64 d5, d1, d9 │ │ │ │ │ vmul.f64 d1, d1, d10 │ │ │ │ │ vmla.f64 d1, d0, d9 │ │ │ │ │ vadd.f64 d0, d8, d2 │ │ │ │ │ vsub.f64 d2, d8, d2 │ │ │ │ │ - vldr d8, [sp, #8] │ │ │ │ │ vadd.f64 d9, d14, d5 │ │ │ │ │ vsub.f64 d5, d5, d14 │ │ │ │ │ vsub.f64 d10, d0, d9 │ │ │ │ │ vadd.f64 d0, d0, d9 │ │ │ │ │ vadd.f64 d9, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vstr d10, [r1] │ │ │ │ │ - vstr d0, [r7] │ │ │ │ │ + vstr d10, [r2] │ │ │ │ │ + vstr d0, [r6] │ │ │ │ │ vadd.f64 d0, d13, d1 │ │ │ │ │ vsub.f64 d13, d13, d1 │ │ │ │ │ + ldr r2, [sp, #128] @ 0x80 │ │ │ │ │ vsub.f64 d6, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ vadd.f64 d7, d11, d3 │ │ │ │ │ - ldr r1, [sp, #96] @ 0x60 │ │ │ │ │ vsub.f64 d3, d11, d3 │ │ │ │ │ vsub.f64 d10, d0, d9 │ │ │ │ │ - vadd.f64 d0, d0, d9 │ │ │ │ │ vsub.f64 d1, d2, d13 │ │ │ │ │ + vadd.f64 d0, d0, d9 │ │ │ │ │ vadd.f64 d2, d2, d13 │ │ │ │ │ - vldr d13, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d10, [r0] │ │ │ │ │ - ldr r0, [sp, #160] @ 0xa0 │ │ │ │ │ - vstr d0, [r0] │ │ │ │ │ - ldr r0, [sp, #296] @ 0x128 │ │ │ │ │ - vstr d1, [fp] │ │ │ │ │ - vldr d1, [pc, #380] @ 1360 │ │ │ │ │ - vldr d0, [pc, #384] @ 1368 │ │ │ │ │ - vstr d2, [r0] │ │ │ │ │ - vldr d2, [sp] │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ - ldr r0, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d13, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d10, [r2] │ │ │ │ │ + ldr r2, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d0, [r2] │ │ │ │ │ + vstr d1, [r3] │ │ │ │ │ + vstr d2, [r5] │ │ │ │ │ + vldr d2, [sp, #16] │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ + ldr r2, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d1, [pc, #360] @ 13c0 │ │ │ │ │ vadd.f64 d6, d2, d13 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ + vldr d0, [pc, #360] @ 13c8 │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ + ldr r2, [sp, #100] @ 0x64 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ - ldr r0, [sp, #328] @ 0x148 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d12, d4 │ │ │ │ │ vsub.f64 d12, d12, d4 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ + vldr d8, [sp, #24] │ │ │ │ │ + ldr r3, [sp, #96] @ 0x60 │ │ │ │ │ + ldr r1, [sp, #112] @ 0x70 │ │ │ │ │ vadd.f64 d7, d8, d15 │ │ │ │ │ - ldr r2, [sp, #176] @ 0xb0 │ │ │ │ │ vsub.f64 d15, d15, d8 │ │ │ │ │ - ldr r0, [sp, #312] @ 0x138 │ │ │ │ │ + ldr r2, [sp, #192] @ 0xc0 │ │ │ │ │ + vldr d11, [sp, #544] @ 0x220 │ │ │ │ │ + vldr d9, [sp, #712] @ 0x2c8 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ + vldr d14, [sp, #728] @ 0x2d8 │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d3, d15 │ │ │ │ │ vadd.f64 d3, d3, d15 │ │ │ │ │ + ldr r2, [sp, #304] @ 0x130 │ │ │ │ │ + vldr d15, [sp, #560] @ 0x230 │ │ │ │ │ + vldr d5, [sp, #792] @ 0x318 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d2, d13 │ │ │ │ │ - vstr d3, [r0] │ │ │ │ │ - ldr r3, [sp, #128] @ 0x80 │ │ │ │ │ - vldr d11, [sp, #528] @ 0x210 │ │ │ │ │ + ldr r3, [sp, #144] @ 0x90 │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ + vldr d3, [sp, #536] @ 0x218 │ │ │ │ │ + vldr d2, [sp, #744] @ 0x2e8 │ │ │ │ │ vsub.f64 d6, d7, d12 │ │ │ │ │ vadd.f64 d7, d7, d12 │ │ │ │ │ - vldr d15, [sp, #544] @ 0x220 │ │ │ │ │ - vldr d5, [sp, #784] @ 0x310 │ │ │ │ │ - vldr d3, [sp, #520] @ 0x208 │ │ │ │ │ + vldr d13, [pc, #272] @ 13f0 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ - ldr r3, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d6, [pc, #260] @ 1370 │ │ │ │ │ - vldr d2, [sp, #736] @ 0x2e0 │ │ │ │ │ - vldr d14, [sp, #720] @ 0x2d0 │ │ │ │ │ + ldr r3, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d6, [pc, #228] @ 13d0 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vadd.f64 d7, d11, d15 │ │ │ │ │ - vldr d11, [sp, #536] @ 0x218 │ │ │ │ │ - vldr d15, [sp, #592] @ 0x250 │ │ │ │ │ - vldr d13, [pc, #264] @ 1390 │ │ │ │ │ + vldr d11, [sp, #552] @ 0x228 │ │ │ │ │ + vldr d15, [sp, #608] @ 0x260 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ - vldr d10, [sp, #704] @ 0x2c0 │ │ │ │ │ vmul.f64 d4, d15, d1 │ │ │ │ │ - vldr d9, [sp, #696] @ 0x2b8 │ │ │ │ │ vsub.f64 d8, d5, d7 │ │ │ │ │ vadd.f64 d12, d5, d7 │ │ │ │ │ + vldr d5, [sp, #664] @ 0x298 │ │ │ │ │ vadd.f64 d7, d3, d11 │ │ │ │ │ - vldr d5, [sp, #648] @ 0x288 │ │ │ │ │ - vldr d3, [sp, #576] @ 0x240 │ │ │ │ │ + vldr d3, [sp, #592] @ 0x250 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #760] @ 0x2f8 │ │ │ │ │ + vldr d6, [sp, #768] @ 0x300 │ │ │ │ │ vnmls.f64 d4, d3, d0 │ │ │ │ │ vadd.f64 d11, d6, d7 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ vmul.f64 d6, d5, d1 │ │ │ │ │ - vldr d5, [sp, #632] @ 0x278 │ │ │ │ │ + vldr d5, [sp, #648] @ 0x288 │ │ │ │ │ vmla.f64 d6, d5, d0 │ │ │ │ │ - vldr d5, [sp, #480] @ 0x1e0 │ │ │ │ │ + vldr d5, [sp, #496] @ 0x1f0 │ │ │ │ │ vsub.f64 d3, d4, d6 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ vadd.f64 d6, d5, d2 │ │ │ │ │ - vldr d2, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d2, [sp, #512] @ 0x200 │ │ │ │ │ vadd.f64 d5, d2, d14 │ │ │ │ │ - vldr d14, [pc, #160] @ 1388 │ │ │ │ │ + vldr d14, [pc, #148] @ 13e8 │ │ │ │ │ vmul.f64 d2, d5, d14 │ │ │ │ │ vmul.f64 d5, d5, d13 │ │ │ │ │ - vmla.f64 d5, d6, d14 │ │ │ │ │ vnmls.f64 d2, d6, d13 │ │ │ │ │ - vldr d6, [sp, #424] @ 0x1a8 │ │ │ │ │ - vldr d13, [sp, #816] @ 0x330 │ │ │ │ │ - vsub.f64 d6, d6, d10 │ │ │ │ │ - vldr d10, [pc, #120] @ 1380 │ │ │ │ │ + vmla.f64 d5, d6, d14 │ │ │ │ │ + vldr d6, [sp, #440] @ 0x1b8 │ │ │ │ │ + vldr d13, [sp, #824] @ 0x338 │ │ │ │ │ vsub.f64 d15, d13, d9 │ │ │ │ │ - vldr d9, [pc, #104] @ 1378 │ │ │ │ │ - vstr d5, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d2, [sp, #8] │ │ │ │ │ + vldr d9, [pc, #100] @ 13d8 │ │ │ │ │ + vstr d2, [sp, #24] │ │ │ │ │ + vstr d5, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d10, [sp, #720] @ 0x2d0 │ │ │ │ │ + ldr r6, [sp, #40] @ 0x28 │ │ │ │ │ + ldrd r5, r1, [sp, #236] @ 0xec │ │ │ │ │ + vsub.f64 d6, d6, d10 │ │ │ │ │ + vldr d10, [pc, #84] @ 13e0 │ │ │ │ │ + ldr r2, [sp, #280] @ 0x118 │ │ │ │ │ + ldr r7, [sp, #344] @ 0x158 │ │ │ │ │ vmul.f64 d2, d6, d10 │ │ │ │ │ + ldr r3, [sp, #220] @ 0xdc │ │ │ │ │ vmov.f64 d5, d2 │ │ │ │ │ vmov.f64 d2, d14 │ │ │ │ │ vmla.f64 d5, d15, d9 │ │ │ │ │ vmul.f64 d15, d15, d10 │ │ │ │ │ vnmls.f64 d15, d6, d9 │ │ │ │ │ - vldr d6, [sp, #592] @ 0x250 │ │ │ │ │ - vstr d5, [sp] │ │ │ │ │ + vldr d6, [sp, #608] @ 0x260 │ │ │ │ │ + vstr d5, [sp, #16] │ │ │ │ │ vmul.f64 d5, d6, d0 │ │ │ │ │ - vldr d6, [sp, #576] @ 0x240 │ │ │ │ │ - vmla.f64 d5, d6, d1 │ │ │ │ │ - vldr d6, [sp, #632] @ 0x278 │ │ │ │ │ - vmul.f64 d6, d6, d1 │ │ │ │ │ - vldr d1, [sp, #648] @ 0x288 │ │ │ │ │ - vnmls.f64 d6, d1, d0 │ │ │ │ │ - vldr d1, [sp, #424] @ 0x1a8 │ │ │ │ │ - vadd.f64 d0, d5, d6 │ │ │ │ │ - b.n 1398 │ │ │ │ │ + vldr d6, [sp, #592] @ 0x250 │ │ │ │ │ + b.n 13f8 │ │ │ │ │ nop │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ @@ -1343,129 +1378,135 @@ │ │ │ │ │ .word 0x3fe1c73b │ │ │ │ │ .word 0x290ea1a3 │ │ │ │ │ .word 0x3fea9b66 │ │ │ │ │ .word 0x3c69a60b │ │ │ │ │ .word 0x3fc8f8b8 │ │ │ │ │ .word 0xcff75cb0 │ │ │ │ │ .word 0x3fef6297 │ │ │ │ │ + vmla.f64 d5, d6, d1 │ │ │ │ │ + vldr d6, [sp, #648] @ 0x288 │ │ │ │ │ + vmul.f64 d6, d6, d1 │ │ │ │ │ + vldr d1, [sp, #664] @ 0x298 │ │ │ │ │ + vnmls.f64 d6, d1, d0 │ │ │ │ │ + vldr d1, [sp, #440] @ 0x1b8 │ │ │ │ │ + vadd.f64 d0, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [sp, #696] @ 0x2b8 │ │ │ │ │ + vldr d5, [sp, #712] @ 0x2c8 │ │ │ │ │ vadd.f64 d13, d13, d5 │ │ │ │ │ - vldr d5, [sp, #704] @ 0x2c0 │ │ │ │ │ + vldr d5, [sp, #720] @ 0x2d0 │ │ │ │ │ vadd.f64 d5, d1, d5 │ │ │ │ │ - vldr d1, [pc, #-32] @ 1390 │ │ │ │ │ + vldr d1, [pc, #-60] @ 13f0 │ │ │ │ │ vmul.f64 d14, d5, d14 │ │ │ │ │ vmla.f64 d14, d13, d1 │ │ │ │ │ vmul.f64 d13, d13, d2 │ │ │ │ │ + vldr d2, [sp, #512] @ 0x200 │ │ │ │ │ vnmls.f64 d13, d5, d1 │ │ │ │ │ - vldr d1, [sp, #480] @ 0x1e0 │ │ │ │ │ - vldr d5, [sp, #736] @ 0x2e0 │ │ │ │ │ - vldr d2, [sp, #496] @ 0x1f0 │ │ │ │ │ - ldr r2, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d1, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d5, [sp, #744] @ 0x2e8 │ │ │ │ │ vsub.f64 d1, d1, d5 │ │ │ │ │ - vldr d5, [sp, #720] @ 0x2d0 │ │ │ │ │ - ldr r7, [sp, #280] @ 0x118 │ │ │ │ │ - ldr r0, [sp, #368] @ 0x170 │ │ │ │ │ + vldr d5, [sp, #728] @ 0x2d8 │ │ │ │ │ vsub.f64 d2, d2, d5 │ │ │ │ │ - ldr r3, [sp, #208] @ 0xd0 │ │ │ │ │ - ldr r6, [sp, #336] @ 0x150 │ │ │ │ │ - ldr r1, [sp, #212] @ 0xd4 │ │ │ │ │ vmul.f64 d5, d2, d10 │ │ │ │ │ vmul.f64 d2, d2, d9 │ │ │ │ │ - vmla.f64 d2, d1, d10 │ │ │ │ │ vnmls.f64 d5, d1, d9 │ │ │ │ │ - vldr d9, [sp] │ │ │ │ │ + vldr d9, [sp, #16] │ │ │ │ │ + vmla.f64 d2, d1, d10 │ │ │ │ │ vadd.f64 d1, d8, d3 │ │ │ │ │ vsub.f64 d3, d8, d3 │ │ │ │ │ vadd.f64 d9, d9, d5 │ │ │ │ │ vsub.f64 d10, d1, d9 │ │ │ │ │ vadd.f64 d1, d1, d9 │ │ │ │ │ vadd.f64 d9, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vstr d10, [r2] │ │ │ │ │ - vstr d1, [r7] │ │ │ │ │ + vstr d10, [r5] │ │ │ │ │ + vstr d1, [r2] │ │ │ │ │ vadd.f64 d1, d15, d2 │ │ │ │ │ vsub.f64 d2, d15, d2 │ │ │ │ │ - ldr r2, [sp, #248] @ 0xf8 │ │ │ │ │ + ldr r2, [sp, #32] │ │ │ │ │ + ldr r5, [sp, #384] @ 0x180 │ │ │ │ │ vsub.f64 d10, d1, d9 │ │ │ │ │ vadd.f64 d1, d1, d9 │ │ │ │ │ - vldr d9, [sp] │ │ │ │ │ + vldr d9, [sp, #16] │ │ │ │ │ vsub.f64 d5, d5, d9 │ │ │ │ │ - vstr d10, [ip] │ │ │ │ │ - vstr d1, [r0] │ │ │ │ │ + vstr d10, [r7] │ │ │ │ │ + vstr d1, [r5] │ │ │ │ │ vsub.f64 d1, d3, d2 │ │ │ │ │ - ldr r0, [sp, #24] │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ - vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ vsub.f64 d6, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ vstr d1, [r3] │ │ │ │ │ vadd.f64 d7, d12, d0 │ │ │ │ │ - vstr d3, [r0] │ │ │ │ │ vsub.f64 d12, d12, d0 │ │ │ │ │ - vldr d3, [sp, #8] │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ - ldr r0, [sp, #16] │ │ │ │ │ + vstr d3, [r6] │ │ │ │ │ + vldr d3, [sp, #24] │ │ │ │ │ + vstr d6, [r8] │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ vadd.f64 d6, d3, d14 │ │ │ │ │ - ldr r3, [sp, #232] @ 0xe8 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d11, d4 │ │ │ │ │ vsub.f64 d11, d11, d4 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ + ldr r2, [sp, #12] │ │ │ │ │ + vldr d2, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r1, [sp, #248] @ 0xf8 │ │ │ │ │ + ldr r7, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r3, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ vadd.f64 d7, d2, d13 │ │ │ │ │ - ldr r3, [sp, #344] @ 0x158 │ │ │ │ │ vsub.f64 d13, d13, d2 │ │ │ │ │ - ldr r2, [sp, #32] │ │ │ │ │ + ldr r1, [sp, #264] @ 0x108 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ vsub.f64 d7, d12, d13 │ │ │ │ │ vadd.f64 d12, d12, d13 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ + ldr r7, [sp, #360] @ 0x168 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d3, d14 │ │ │ │ │ - ldr r3, [sp, #264] @ 0x108 │ │ │ │ │ - ldr r7, [sp, #352] @ 0x160 │ │ │ │ │ - ldr r2, [sp, #980] @ 0x3d4 │ │ │ │ │ + ldr r3, [sp, #992] @ 0x3e0 │ │ │ │ │ + vstr d12, [r1] │ │ │ │ │ + ldr r1, [sp, #8] │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ vsub.f64 d6, d7, d11 │ │ │ │ │ vadd.f64 d7, d7, d11 │ │ │ │ │ - vstr d12, [r3] │ │ │ │ │ - ldr r3, [sp, #984] @ 0x3d8 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #984] @ 0x3d8 │ │ │ │ │ - ldr r3, [sp, #860] @ 0x35c │ │ │ │ │ - vstr d6, [r7] │ │ │ │ │ - add r5, r3 │ │ │ │ │ - add r8, r3 │ │ │ │ │ - ldr r3, [sp, #864] @ 0x360 │ │ │ │ │ - ldr r7, [sp, #360] @ 0x168 │ │ │ │ │ - add fp, r3 │ │ │ │ │ - add r4, r3 │ │ │ │ │ + str r3, [sp, #992] @ 0x3e0 │ │ │ │ │ ldr r3, [sp, #868] @ 0x364 │ │ │ │ │ - eors r2, r3 │ │ │ │ │ - str r2, [sp, #980] @ 0x3d4 │ │ │ │ │ - ldrd r2, r3, [sp, #984] @ 0x3d8 │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ + add r2, r3 │ │ │ │ │ + add r4, r3 │ │ │ │ │ + ldr r3, [sp, #872] @ 0x368 │ │ │ │ │ + add r1, r3 │ │ │ │ │ + strd r1, r2, [sp, #8] │ │ │ │ │ + ldr r2, [sp, #4] │ │ │ │ │ + add r2, r3 │ │ │ │ │ + ldr r3, [sp, #876] @ 0x36c │ │ │ │ │ + str r2, [sp, #4] │ │ │ │ │ + ldr r2, [sp, #992] @ 0x3e0 │ │ │ │ │ + eor.w sl, sl, r3 │ │ │ │ │ + ldr r3, [sp, #996] @ 0x3e4 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 42 │ │ │ │ │ - add.w sp, sp, #876 @ 0x36c │ │ │ │ │ + bne.w 60 │ │ │ │ │ + add.w sp, sp, #884 @ 0x374 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -00001508 : │ │ │ │ │ +00001590 : │ │ │ │ │ fftw_codelet_hc2cf2_32(): │ │ │ │ │ - ldr r2, [pc, #12] @ (1518 ) │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - ldr r1, [pc, #12] @ (151c ) │ │ │ │ │ + ldr r2, [pc, #12] @ (15a0 ) │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + ldr r1, [pc, #12] @ (15a4 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2c_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + .word 0x00000006 │ │ │ │ │ R_ARM_REL32 hc2cf2_32 │ │ │ ├── hc2cf2_4.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1248 (bytes into file) │ │ │ │ │ + Start of section headers: 1284 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x4e0: │ │ │ │ │ +There are 14 section headers, starting at offset 0x504: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000248 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000438 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 00027c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 00027c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 00027c 000009 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000285 00000c 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 000291 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000450 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 0002c1 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0002c1 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 0002f4 0000f0 10 12 12 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 0003e4 000054 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000468 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00026c 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 00045c 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0002a0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0002a0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0002a0 000009 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 0002a9 00000c 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0002b5 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000474 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 0002e5 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0002e5 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000318 0000f0 10 12 12 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000408 000054 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 00048c 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,18 +1,18 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 15 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 558 FUNC LOCAL DEFAULT 1 hc2cf2_4 │ │ │ │ │ + 1: 00000001 596 FUNC LOCAL DEFAULT 1 hc2cf2_4 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000240 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000264 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 4: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 8: 00000000 12 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 9: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 10: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 11: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 12: 00000231 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cf2_4 │ │ │ │ │ + 12: 00000255 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cf2_4 │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2c_register │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hc2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x438 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x45c contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000240 00000903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000244 00000103 R_ARM_REL32 00000001 hc2cf2_4 │ │ │ │ │ -0000023a 00000d1e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ +00000264 00000903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000268 00000103 R_ARM_REL32 00000001 hc2cf2_4 │ │ │ │ │ +00000260 00000d1e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x450 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x474 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000402 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000602 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00000e02 R_ARM_ABS32 00000000 fftw_rdft_hc2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,60 +1,64 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hc2cf2_4(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d10} │ │ │ │ │ - ldrd r5, r7, [sp, #68] @ 0x44 │ │ │ │ │ ldr r4, [sp, #60] @ 0x3c │ │ │ │ │ - subs r6, r5, #1 │ │ │ │ │ + ldrd r5, r7, [sp, #68] @ 0x44 │ │ │ │ │ + add.w r6, r5, #4294967295 @ 0xffffffff │ │ │ │ │ cmp r5, r7 │ │ │ │ │ add.w ip, r4, r6, lsl #5 │ │ │ │ │ - bge.w 122 │ │ │ │ │ + bge.w 138 │ │ │ │ │ ldr r4, [sp, #64] @ 0x40 │ │ │ │ │ mov.w lr, r4, lsl #3 │ │ │ │ │ ldr r4, [sp, #76] @ 0x4c │ │ │ │ │ cmp r4, #1 │ │ │ │ │ it eq │ │ │ │ │ addeq.w ip, ip, #32 │ │ │ │ │ - bne.n 12a │ │ │ │ │ - vldr d9, [ip, #-24] @ 0xffffffe8 │ │ │ │ │ + bne.w 152 │ │ │ │ │ + vldr d5, [ip, #-32] @ 0xffffffe0 │ │ │ │ │ add.w r6, r0, lr │ │ │ │ │ - vldr d8, [ip, #-16] │ │ │ │ │ add.w r9, r2, lr │ │ │ │ │ - vldr d5, [ip, #-32] @ 0xffffffe0 │ │ │ │ │ add.w r4, r1, lr │ │ │ │ │ - vldr d10, [ip, #-8] │ │ │ │ │ add.w r8, r3, lr │ │ │ │ │ - vmul.f64 d1, d8, d9 │ │ │ │ │ + vldr d9, [ip, #-24] @ 0xffffffe8 │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ + add.w ip, ip, #32 │ │ │ │ │ + cmp r7, r5 │ │ │ │ │ + vldr d8, [ip, #-48] @ 0xffffffd0 │ │ │ │ │ + vldr d10, [ip, #-40] @ 0xffffffd8 │ │ │ │ │ vldr d3, [r6] │ │ │ │ │ vmul.f64 d6, d8, d5 │ │ │ │ │ + vmul.f64 d1, d8, d9 │ │ │ │ │ vldr d4, [r9] │ │ │ │ │ - vmla.f64 d6, d10, d9 │ │ │ │ │ vldr d2, [r0] │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - adds r5, #1 │ │ │ │ │ + vmla.f64 d6, d10, d9 │ │ │ │ │ vnmls.f64 d1, d10, d5 │ │ │ │ │ - add.w ip, ip, #32 │ │ │ │ │ - cmp r7, r5 │ │ │ │ │ vmul.f64 d0, d3, d6 │ │ │ │ │ vmul.f64 d3, d3, d1 │ │ │ │ │ - vmla.f64 d0, d4, d1 │ │ │ │ │ vnmls.f64 d3, d4, d6 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ + vmla.f64 d0, d4, d1 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ vmul.f64 d1, d6, d5 │ │ │ │ │ vmul.f64 d6, d6, d9 │ │ │ │ │ - vmla.f64 d1, d4, d9 │ │ │ │ │ - vldr d9, [r8] │ │ │ │ │ vnmls.f64 d6, d4, d5 │ │ │ │ │ vldr d5, [r4] │ │ │ │ │ + vmla.f64 d1, d4, d9 │ │ │ │ │ + vldr d9, [r8] │ │ │ │ │ vmul.f64 d4, d5, d8 │ │ │ │ │ vmul.f64 d5, d5, d10 │ │ │ │ │ vmla.f64 d4, d9, d10 │ │ │ │ │ vnmls.f64 d5, d9, d8 │ │ │ │ │ vadd.f64 d9, d0, d2 │ │ │ │ │ vsub.f64 d2, d2, d0 │ │ │ │ │ vadd.f64 d8, d4, d1 │ │ │ │ │ @@ -69,61 +73,66 @@ │ │ │ │ │ vsub.f64 d5, d2, d6 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ vadd.f64 d6, d6, d2 │ │ │ │ │ vsub.f64 d10, d9, d8 │ │ │ │ │ vadd.f64 d8, d8, d9 │ │ │ │ │ vstr d10, [r8] │ │ │ │ │ mov r8, r2 │ │ │ │ │ - vstmia r1!, {d8} │ │ │ │ │ sub.w r2, r2, #8 │ │ │ │ │ + vstmia r1!, {d8} │ │ │ │ │ vstr d5, [r8] │ │ │ │ │ vsub.f64 d5, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ vstr d6, [r6] │ │ │ │ │ mov r6, r3 │ │ │ │ │ sub.w r3, r3, #8 │ │ │ │ │ vstr d5, [r6] │ │ │ │ │ vstr d7, [r4] │ │ │ │ │ - bne.n 2c │ │ │ │ │ + bne.n 40 │ │ │ │ │ vpop {d8-d10} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ add.w ip, ip, #32 │ │ │ │ │ rsb sl, r4, #0 │ │ │ │ │ - vldr d8, [ip, #-16] │ │ │ │ │ + vldr d5, [ip, #-32] @ 0xffffffe0 │ │ │ │ │ add.w r8, r0, lr │ │ │ │ │ - vldr d7, [ip, #-24] @ 0xffffffe8 │ │ │ │ │ add.w fp, r2, lr │ │ │ │ │ - vldr d5, [ip, #-32] @ 0xffffffe0 │ │ │ │ │ add.w r9, r3, lr │ │ │ │ │ - vldr d6, [ip, #-8] │ │ │ │ │ add.w r6, r1, lr │ │ │ │ │ - vmul.f64 d4, d7, d8 │ │ │ │ │ + vldr d7, [ip, #-24] @ 0xffffffe8 │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ + add.w ip, ip, #32 │ │ │ │ │ + cmp r7, r5 │ │ │ │ │ + vldr d8, [ip, #-48] @ 0xffffffd0 │ │ │ │ │ + vldr d6, [ip, #-40] @ 0xffffffd8 │ │ │ │ │ vldr d10, [r8] │ │ │ │ │ + vmul.f64 d4, d7, d8 │ │ │ │ │ vldr d9, [fp] │ │ │ │ │ - adds r5, #1 │ │ │ │ │ vmul.f64 d1, d7, d6 │ │ │ │ │ vldr d3, [r0] │ │ │ │ │ - vmla.f64 d1, d5, d8 │ │ │ │ │ vldr d2, [r2] │ │ │ │ │ vnmls.f64 d4, d5, d6 │ │ │ │ │ - add.w ip, ip, #32 │ │ │ │ │ - cmp r7, r5 │ │ │ │ │ + vmla.f64 d1, d5, d8 │ │ │ │ │ vmul.f64 d0, d4, d9 │ │ │ │ │ vmul.f64 d4, d4, d10 │ │ │ │ │ vmla.f64 d0, d1, d10 │ │ │ │ │ vldr d10, [r1] │ │ │ │ │ vnmls.f64 d4, d1, d9 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ vmul.f64 d1, d7, d9 │ │ │ │ │ vmul.f64 d7, d7, d10 │ │ │ │ │ - vmla.f64 d1, d5, d10 │ │ │ │ │ - vldr d10, [r6] │ │ │ │ │ vnmls.f64 d7, d5, d9 │ │ │ │ │ vldr d9, [r9] │ │ │ │ │ + vmla.f64 d1, d5, d10 │ │ │ │ │ + vldr d10, [r6] │ │ │ │ │ vmul.f64 d5, d6, d9 │ │ │ │ │ vmul.f64 d6, d6, d10 │ │ │ │ │ vmla.f64 d5, d8, d10 │ │ │ │ │ vnmls.f64 d6, d8, d9 │ │ │ │ │ vadd.f64 d8, d3, d0 │ │ │ │ │ vsub.f64 d3, d3, d0 │ │ │ │ │ vadd.f64 d9, d1, d5 │ │ │ │ │ @@ -132,42 +141,39 @@ │ │ │ │ │ vadd.f64 d9, d2, d4 │ │ │ │ │ vsub.f64 d2, d2, d4 │ │ │ │ │ vstr d10, [fp] │ │ │ │ │ vstr d8, [r0] │ │ │ │ │ vadd.f64 d8, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ add r0, r4 │ │ │ │ │ - vsub.f64 d10, d8, d9 │ │ │ │ │ - vadd.f64 d8, d8, d9 │ │ │ │ │ vsub.f64 d6, d3, d7 │ │ │ │ │ + vsub.f64 d10, d8, d9 │ │ │ │ │ vadd.f64 d3, d3, d7 │ │ │ │ │ + vadd.f64 d8, d8, d9 │ │ │ │ │ vsub.f64 d7, d5, d1 │ │ │ │ │ vstr d10, [r9] │ │ │ │ │ vstr d8, [r1] │ │ │ │ │ add r1, r4 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ vsub.f64 d6, d7, d2 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ - vstr d3, [r8] │ │ │ │ │ add r2, sl │ │ │ │ │ + vstr d3, [r8] │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ add r3, sl │ │ │ │ │ vstr d7, [r6] │ │ │ │ │ - bne.n 134 │ │ │ │ │ - vpop {d8-d10} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + bne.n 15e │ │ │ │ │ + b.n 138 │ │ │ │ │ │ │ │ │ │ -00000230 : │ │ │ │ │ +00000254 : │ │ │ │ │ fftw_codelet_hc2cf2_4(): │ │ │ │ │ - ldr r2, [pc, #12] @ (240 ) │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - ldr r1, [pc, #12] @ (244 ) │ │ │ │ │ + ldr r2, [pc, #12] @ (264 ) │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + ldr r1, [pc, #12] @ (268 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2c_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + .word 0x00000006 │ │ │ │ │ R_ARM_REL32 hc2cf2_4 │ │ │ ├── hc2cf2_8.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1684 (bytes into file) │ │ │ │ │ + Start of section headers: 1716 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x694: │ │ │ │ │ +There are 14 section headers, starting at offset 0x6b4: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000370 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0005dc 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0003a4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0003a4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0003a4 000009 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 0003ad 000010 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0003bd 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000604 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 0003ed 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0003ed 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000420 000130 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000550 00008c 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 00061c 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000390 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0005fc 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0003c4 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0003c4 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0003c4 000009 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 0003cd 000010 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0003dd 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000624 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 00040d 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00040d 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000440 000130 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000570 00008c 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 00063c 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 19 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 856 FUNC LOCAL DEFAULT 1 hc2cf2_8 │ │ │ │ │ + 1: 00000001 888 FUNC LOCAL DEFAULT 1 hc2cf2_8 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000348 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000358 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000368 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000368 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000378 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000388 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 16 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 16: 00000359 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cf2_8 │ │ │ │ │ + 16: 00000379 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cf2_8 │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2c_register │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hc2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x5dc contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x5fc contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000350 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000354 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000368 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000036c 00000103 R_ARM_REL32 00000001 hc2cf2_8 │ │ │ │ │ -00000362 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ +00000370 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000374 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000388 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +0000038c 00000103 R_ARM_REL32 00000001 hc2cf2_8 │ │ │ │ │ +00000384 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x604 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x624 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001202 R_ARM_ABS32 00000000 fftw_rdft_hc2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,267 +1,266 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hc2cf2_8(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r1 │ │ │ │ │ - vpush {d8-d15} │ │ │ │ │ - sub sp, #100 @ 0x64 │ │ │ │ │ mov r6, r2 │ │ │ │ │ - ldr r2, [pc, #828] @ (350 ) │ │ │ │ │ - ldrd r1, r0, [sp, #208] @ 0xd0 │ │ │ │ │ - add r2, pc │ │ │ │ │ - ldr r7, [sp, #204] @ 0xcc │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + vpush {d8-d15} │ │ │ │ │ + sub sp, #92 @ 0x5c │ │ │ │ │ + ldrd r1, r0, [sp, #200] @ 0xc8 │ │ │ │ │ + ldr r2, [pc, #840] @ (370 ) │ │ │ │ │ cmp r1, r0 │ │ │ │ │ - bge.w 33e │ │ │ │ │ - ldr r1, [sp, #216] @ 0xd8 │ │ │ │ │ - movs r0, #48 @ 0x30 │ │ │ │ │ - vldr d14, [pc, #800] @ 348 │ │ │ │ │ - mov lr, r7 │ │ │ │ │ - lsls r1, r1, #3 │ │ │ │ │ - str r1, [sp, #84] @ 0x54 │ │ │ │ │ - negs r1, r1 │ │ │ │ │ - str r1, [sp, #88] @ 0x58 │ │ │ │ │ - ldr r1, [pc, #800] @ (354 ) │ │ │ │ │ - ldr r2, [r2, r1] │ │ │ │ │ + add r2, pc │ │ │ │ │ + bge.w 346 │ │ │ │ │ ldr r1, [sp, #208] @ 0xd0 │ │ │ │ │ - str r6, [sp, #0] │ │ │ │ │ + vldr d14, [pc, #820] @ 368 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + str r1, [sp, #76] @ 0x4c │ │ │ │ │ + rsb r1, r1, #0 │ │ │ │ │ + str r1, [sp, #80] @ 0x50 │ │ │ │ │ + ldr r1, [pc, #816] @ (374 ) │ │ │ │ │ + ldr r2, [r2, r1] │ │ │ │ │ + ldr r1, [sp, #192] @ 0xc0 │ │ │ │ │ ldr r2, [r2, #0] │ │ │ │ │ - str r2, [sp, #92] @ 0x5c │ │ │ │ │ + str r2, [sp, #84] @ 0x54 │ │ │ │ │ ldr r2, [sp, #200] @ 0xc8 │ │ │ │ │ - mla r0, r0, r1, r2 │ │ │ │ │ - vldr d12, [r0, #-48] @ 0xffffffd0 │ │ │ │ │ - mov r1, r4 │ │ │ │ │ - vldr d11, [r0, #-40] @ 0xffffffd8 │ │ │ │ │ - mov r6, r4 │ │ │ │ │ - vldr d10, [r0, #-32] @ 0xffffffe0 │ │ │ │ │ - adds r0, #48 @ 0x30 │ │ │ │ │ - vldr d5, [r0, #-72] @ 0xffffffb8 │ │ │ │ │ - ldr r2, [sp, #0] │ │ │ │ │ - vmul.f64 d6, d11, d10 │ │ │ │ │ - vmul.f64 d4, d12, d10 │ │ │ │ │ - vmul.f64 d7, d12, d5 │ │ │ │ │ - vmul.f64 d2, d11, d5 │ │ │ │ │ - vldr d15, [r2] │ │ │ │ │ - mov.w r2, lr, lsl #4 │ │ │ │ │ - add r1, r2 │ │ │ │ │ + add.w r2, r2, r2, lsl #1 │ │ │ │ │ + add.w r0, r1, r2, lsl #4 │ │ │ │ │ + vldr d13, [r0, #-48] @ 0xffffffd0 │ │ │ │ │ + add.w r0, r0, #48 @ 0x30 │ │ │ │ │ + vldr d11, [r0, #-88] @ 0xffffffa8 │ │ │ │ │ + vldr d15, [r0, #-80] @ 0xffffffb0 │ │ │ │ │ + vldr d12, [r0, #-72] @ 0xffffffb8 │ │ │ │ │ + ldr r2, [sp, #196] @ 0xc4 │ │ │ │ │ + vmul.f64 d6, d11, d15 │ │ │ │ │ + vmul.f64 d4, d13, d15 │ │ │ │ │ + vldr d1, [r4] │ │ │ │ │ + vmul.f64 d3, d11, d12 │ │ │ │ │ + vmul.f64 d7, d13, d12 │ │ │ │ │ + ldr r7, [sp, #196] @ 0xc4 │ │ │ │ │ + mov.w r2, r2, lsl #4 │ │ │ │ │ + add.w r1, r4, r2 │ │ │ │ │ + add.w r9, r5, r2 │ │ │ │ │ str r1, [sp, #4] │ │ │ │ │ - vadd.f64 d3, d6, d7 │ │ │ │ │ + add.w ip, r7, r7, lsl #1 │ │ │ │ │ + vsub.f64 d8, d4, d3 │ │ │ │ │ + vadd.f64 d5, d6, d7 │ │ │ │ │ + vadd.f64 d4, d4, d3 │ │ │ │ │ + vldr d3, [r0, #-64] @ 0xffffffc0 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ + mov.w ip, ip, lsl #3 │ │ │ │ │ vldr d6, [r0, #-56] @ 0xffffffc8 │ │ │ │ │ - vsub.f64 d8, d4, d2 │ │ │ │ │ - vadd.f64 d4, d4, d2 │ │ │ │ │ - vldr d2, [r0, #-64] @ 0xffffffc0 │ │ │ │ │ - add.w r9, r5, r2 │ │ │ │ │ - vmul.f64 d1, d11, d6 │ │ │ │ │ + vmul.f64 d2, d7, d3 │ │ │ │ │ vmul.f64 d9, d7, d6 │ │ │ │ │ - vmla.f64 d1, d12, d2 │ │ │ │ │ - vmla.f64 d9, d4, d2 │ │ │ │ │ - vstr d1, [sp, #32] │ │ │ │ │ - vmul.f64 d1, d7, d2 │ │ │ │ │ - vnmls.f64 d1, d4, d6 │ │ │ │ │ - vstr d1, [sp, #40] @ 0x28 │ │ │ │ │ - vmul.f64 d1, d11, d2 │ │ │ │ │ - vmov.f64 d0, d1 │ │ │ │ │ - vnmls.f64 d0, d12, d6 │ │ │ │ │ - vstr d0, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d0, [r4] │ │ │ │ │ - movs r4, #24 │ │ │ │ │ - vstr d0, [sp, #8] │ │ │ │ │ - vldr d0, [r1] │ │ │ │ │ - ldr r1, [sp, #0] │ │ │ │ │ - adds r7, r1, r2 │ │ │ │ │ - vmov.f64 d13, d0 │ │ │ │ │ - str r7, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d0, [r7] │ │ │ │ │ - mul.w r7, r4, lr │ │ │ │ │ - ldr r4, [sp, #0] │ │ │ │ │ - adds r1, r5, r7 │ │ │ │ │ - add r7, r3 │ │ │ │ │ - vmul.f64 d1, d3, d0 │ │ │ │ │ - vmul.f64 d3, d3, d13 │ │ │ │ │ - vmla.f64 d1, d8, d13 │ │ │ │ │ - vnmls.f64 d3, d8, d0 │ │ │ │ │ - vldr d0, [sp, #8] │ │ │ │ │ + vmul.f64 d0, d11, d6 │ │ │ │ │ + vnmls.f64 d2, d4, d6 │ │ │ │ │ + vmla.f64 d9, d4, d3 │ │ │ │ │ + vmla.f64 d0, d13, d3 │ │ │ │ │ + vstr d2, [sp, #24] │ │ │ │ │ + vmul.f64 d2, d11, d3 │ │ │ │ │ + vstr d9, [sp, #40] @ 0x28 │ │ │ │ │ + vnmls.f64 d2, d13, d6 │ │ │ │ │ + vstr d2, [sp, #32] │ │ │ │ │ + vldr d2, [r6] │ │ │ │ │ + vstr d2, [sp, #8] │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ + add.w r1, r6, r2 │ │ │ │ │ + vldr d10, [r1] │ │ │ │ │ + str r1, [sp, #72] @ 0x48 │ │ │ │ │ + add.w r1, r5, ip │ │ │ │ │ + add ip, r3 │ │ │ │ │ + vmov.f64 d9, d2 │ │ │ │ │ + vmul.f64 d2, d5, d10 │ │ │ │ │ + vmul.f64 d5, d5, d9 │ │ │ │ │ + vmla.f64 d2, d8, d9 │ │ │ │ │ + vnmls.f64 d5, d8, d10 │ │ │ │ │ + vldr d8, [sp, #8] │ │ │ │ │ str r1, [sp, #8] │ │ │ │ │ - vadd.f64 d8, d0, d1 │ │ │ │ │ - vsub.f64 d13, d15, d3 │ │ │ │ │ - vadd.f64 d3, d15, d3 │ │ │ │ │ - vstr d13, [sp, #56] @ 0x38 │ │ │ │ │ - vsub.f64 d13, d0, d1 │ │ │ │ │ - vstr d3, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d0, [r1] │ │ │ │ │ - mov.w r1, lr, lsl #3 │ │ │ │ │ - vldr d3, [r7] │ │ │ │ │ - add.w r8, r5, r1 │ │ │ │ │ + vadd.f64 d9, d1, d2 │ │ │ │ │ + vsub.f64 d1, d1, d2 │ │ │ │ │ + vsub.f64 d10, d8, d5 │ │ │ │ │ + vstr d10, [sp, #48] @ 0x30 │ │ │ │ │ + vadd.f64 d10, d8, d5 │ │ │ │ │ + vldr d5, [ip] │ │ │ │ │ + vstr d1, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d1, [r1] │ │ │ │ │ + mov.w r1, r7, lsl #3 │ │ │ │ │ add.w sl, r3, r1 │ │ │ │ │ - add.w ip, r6, r1 │ │ │ │ │ - add r1, r4 │ │ │ │ │ - add.w r4, ip, r2 │ │ │ │ │ - vmul.f64 d1, d6, d3 │ │ │ │ │ - vmul.f64 d6, d6, d0 │ │ │ │ │ - vmla.f64 d1, d2, d0 │ │ │ │ │ - vldr d0, [r8] │ │ │ │ │ + add.w r7, r5, r1 │ │ │ │ │ + add.w lr, r4, r1 │ │ │ │ │ + add r1, r6 │ │ │ │ │ + vmul.f64 d2, d6, d5 │ │ │ │ │ add.w fp, r1, r2 │ │ │ │ │ + add.w r8, lr, r2 │ │ │ │ │ add r2, r3 │ │ │ │ │ - vnmls.f64 d6, d2, d3 │ │ │ │ │ - vldr d2, [sl] │ │ │ │ │ - vmul.f64 d3, d5, d2 │ │ │ │ │ - vmul.f64 d5, d5, d0 │ │ │ │ │ - vmla.f64 d3, d10, d0 │ │ │ │ │ - vnmls.f64 d5, d10, d2 │ │ │ │ │ - vadd.f64 d10, d1, d3 │ │ │ │ │ - vadd.f64 d15, d6, d5 │ │ │ │ │ - vsub.f64 d6, d6, d5 │ │ │ │ │ - vstr d10, [sp, #16] │ │ │ │ │ - vstr d15, [sp, #24] │ │ │ │ │ - vsub.f64 d15, d1, d3 │ │ │ │ │ - vstr d6, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d3, [ip] │ │ │ │ │ + vmul.f64 d6, d6, d1 │ │ │ │ │ + vmla.f64 d2, d3, d1 │ │ │ │ │ + vldr d1, [r7] │ │ │ │ │ + vnmls.f64 d6, d3, d5 │ │ │ │ │ + vldr d3, [sl] │ │ │ │ │ + vmul.f64 d5, d12, d3 │ │ │ │ │ + vmul.f64 d12, d12, d1 │ │ │ │ │ + vmla.f64 d5, d15, d1 │ │ │ │ │ + vnmls.f64 d12, d15, d3 │ │ │ │ │ + vadd.f64 d3, d2, d5 │ │ │ │ │ + vadd.f64 d15, d6, d12 │ │ │ │ │ + vsub.f64 d12, d6, d12 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ + vstr d15, [sp, #16] │ │ │ │ │ + vsub.f64 d15, d2, d5 │ │ │ │ │ + vstr d3, [sp, #64] @ 0x40 │ │ │ │ │ vmul.f64 d5, d7, d6 │ │ │ │ │ + vldr d3, [lr] │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vmla.f64 d5, d4, d3 │ │ │ │ │ - vnmls.f64 d7, d4, d6 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ vldr d3, [fp] │ │ │ │ │ - vldr d0, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d2, [sp, #32] │ │ │ │ │ - vldr d1, [sp, #40] @ 0x28 │ │ │ │ │ - vmul.f64 d4, d0, d3 │ │ │ │ │ - vmla.f64 d4, d2, d6 │ │ │ │ │ - vmul.f64 d6, d0, d6 │ │ │ │ │ - vnmls.f64 d6, d2, d3 │ │ │ │ │ + vnmls.f64 d7, d4, d6 │ │ │ │ │ + vldr d6, [r8] │ │ │ │ │ + vldr d8, [sp, #32] │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ - vadd.f64 d10, d5, d4 │ │ │ │ │ + vldr d1, [sp, #24] │ │ │ │ │ + vmul.f64 d4, d8, d3 │ │ │ │ │ + vmla.f64 d4, d0, d6 │ │ │ │ │ + vmul.f64 d6, d8, d6 │ │ │ │ │ + vnmls.f64 d6, d0, d3 │ │ │ │ │ + vadd.f64 d8, d5, d4 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vmul.f64 d4, d11, d2 │ │ │ │ │ vsub.f64 d3, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [r5] │ │ │ │ │ + vstr d8, [sp, #24] │ │ │ │ │ vmul.f64 d11, d11, d6 │ │ │ │ │ - vmla.f64 d4, d12, d6 │ │ │ │ │ + vmla.f64 d4, d13, d6 │ │ │ │ │ vldr d6, [r9] │ │ │ │ │ - vnmls.f64 d11, d12, d2 │ │ │ │ │ + vnmls.f64 d11, d13, d2 │ │ │ │ │ vldr d2, [r2] │ │ │ │ │ - vldr d12, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d13, [sp, #40] @ 0x28 │ │ │ │ │ vmul.f64 d0, d1, d2 │ │ │ │ │ - vmla.f64 d0, d9, d6 │ │ │ │ │ + vmla.f64 d0, d13, d6 │ │ │ │ │ vmul.f64 d6, d1, d6 │ │ │ │ │ - vnmls.f64 d6, d9, d2 │ │ │ │ │ + vnmls.f64 d6, d13, d2 │ │ │ │ │ + vldr d13, [sp, #64] @ 0x40 │ │ │ │ │ vadd.f64 d2, d4, d0 │ │ │ │ │ vsub.f64 d4, d4, d0 │ │ │ │ │ - vadd.f64 d0, d8, d10 │ │ │ │ │ + vadd.f64 d0, d9, d8 │ │ │ │ │ vadd.f64 d1, d11, d6 │ │ │ │ │ vsub.f64 d6, d11, d6 │ │ │ │ │ - vmov.f64 d11, d8 │ │ │ │ │ - vldr d8, [sp, #16] │ │ │ │ │ - vadd.f64 d8, d8, d2 │ │ │ │ │ + vadd.f64 d8, d13, d2 │ │ │ │ │ + vmov.f64 d11, d9 │ │ │ │ │ + vsub.f64 d2, d13, d2 │ │ │ │ │ vsub.f64 d9, d0, d8 │ │ │ │ │ vadd.f64 d0, d0, d8 │ │ │ │ │ - vadd.f64 d8, d12, d7 │ │ │ │ │ - vsub.f64 d7, d12, d7 │ │ │ │ │ + vadd.f64 d8, d10, d7 │ │ │ │ │ + vsub.f64 d7, d10, d7 │ │ │ │ │ vstr d9, [fp] │ │ │ │ │ - vstr d0, [r6] │ │ │ │ │ - vldr d0, [sp, #24] │ │ │ │ │ + vstr d0, [r4] │ │ │ │ │ + vldr d0, [sp, #16] │ │ │ │ │ vadd.f64 d0, d0, d1 │ │ │ │ │ vsub.f64 d9, d0, d8 │ │ │ │ │ vadd.f64 d0, d0, d8 │ │ │ │ │ - vstr d9, [r7] │ │ │ │ │ + vldr d8, [sp, #24] │ │ │ │ │ + vstr d9, [ip] │ │ │ │ │ vstr d0, [r5] │ │ │ │ │ - vsub.f64 d0, d11, d10 │ │ │ │ │ - vldr d11, [sp, #24] │ │ │ │ │ - vldr d10, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d9, [sp, #56] @ 0x38 │ │ │ │ │ - vsub.f64 d1, d1, d11 │ │ │ │ │ - ldr r7, [sp, #80] @ 0x50 │ │ │ │ │ + vsub.f64 d0, d11, d8 │ │ │ │ │ + vldr d8, [sp, #16] │ │ │ │ │ + vldr d9, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d11, [sp, #56] @ 0x38 │ │ │ │ │ + vsub.f64 d1, d1, d8 │ │ │ │ │ vsub.f64 d8, d0, d1 │ │ │ │ │ vadd.f64 d0, d0, d1 │ │ │ │ │ + vsub.f64 d1, d2, d7 │ │ │ │ │ + vadd.f64 d2, d2, d7 │ │ │ │ │ + vsub.f64 d7, d6, d4 │ │ │ │ │ + vadd.f64 d4, d4, d6 │ │ │ │ │ vstr d8, [r1] │ │ │ │ │ - vldr d8, [sp, #16] │ │ │ │ │ + vadd.f64 d8, d15, d12 │ │ │ │ │ + vsub.f64 d15, d15, d12 │ │ │ │ │ ldr r1, [sp, #4] │ │ │ │ │ - vsub.f64 d2, d8, d2 │ │ │ │ │ - vadd.f64 d8, d15, d10 │ │ │ │ │ - vsub.f64 d15, d15, d10 │ │ │ │ │ vstr d0, [r1] │ │ │ │ │ vsub.f64 d0, d9, d5 │ │ │ │ │ - ldr r1, [sp, #0] │ │ │ │ │ vadd.f64 d5, d9, d5 │ │ │ │ │ - vsub.f64 d1, d2, d7 │ │ │ │ │ - vadd.f64 d2, d2, d7 │ │ │ │ │ - vsub.f64 d7, d6, d4 │ │ │ │ │ - vadd.f64 d4, d4, d6 │ │ │ │ │ vstr d1, [sl] │ │ │ │ │ vsub.f64 d1, d7, d8 │ │ │ │ │ - vstr d2, [r9] │ │ │ │ │ vadd.f64 d7, d7, d8 │ │ │ │ │ - vsub.f64 d2, d13, d3 │ │ │ │ │ - vadd.f64 d3, d13, d3 │ │ │ │ │ + vstr d2, [r9] │ │ │ │ │ + vsub.f64 d2, d11, d3 │ │ │ │ │ + vadd.f64 d3, d11, d3 │ │ │ │ │ + ldr r1, [sp, #72] @ 0x48 │ │ │ │ │ vmul.f64 d1, d1, d14 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ vsub.f64 d8, d2, d1 │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ - vstr d8, [r1] │ │ │ │ │ + vstr d8, [r6] │ │ │ │ │ vadd.f64 d8, d0, d7 │ │ │ │ │ vsub.f64 d7, d7, d0 │ │ │ │ │ - vstr d8, [r8] │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ + vstr d8, [r7] │ │ │ │ │ + vstr d2, [r8] │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ vadd.f64 d7, d4, d15 │ │ │ │ │ vsub.f64 d15, d15, d4 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ vmul.f64 d15, d15, d14 │ │ │ │ │ vsub.f64 d6, d3, d7 │ │ │ │ │ vadd.f64 d3, d3, d7 │ │ │ │ │ - vstr d6, [r7] │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ vadd.f64 d6, d5, d15 │ │ │ │ │ - ldr r1, [sp, #8] │ │ │ │ │ vsub.f64 d15, d15, d5 │ │ │ │ │ - ldr r2, [sp, #208] @ 0xd0 │ │ │ │ │ - adds r2, #1 │ │ │ │ │ - str r2, [sp, #208] @ 0xd0 │ │ │ │ │ - ldr r2, [sp, #84] @ 0x54 │ │ │ │ │ + ldr r1, [sp, #8] │ │ │ │ │ vstr d6, [r1] │ │ │ │ │ - mov r1, r6 │ │ │ │ │ - add r1, r2 │ │ │ │ │ - add r5, r2 │ │ │ │ │ - mov r4, r1 │ │ │ │ │ - ldr r2, [sp, #88] @ 0x58 │ │ │ │ │ - ldr r1, [sp, #0] │ │ │ │ │ - vstr d3, [ip] │ │ │ │ │ - add r1, r2 │ │ │ │ │ + vstr d3, [lr] │ │ │ │ │ vstr d15, [r3] │ │ │ │ │ + ldrd r1, r2, [sp, #196] @ 0xc4 │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ + str r2, [sp, #200] @ 0xc8 │ │ │ │ │ + ldr r2, [sp, #76] @ 0x4c │ │ │ │ │ + add r4, r2 │ │ │ │ │ + add r5, r2 │ │ │ │ │ + ldr r2, [sp, #80] @ 0x50 │ │ │ │ │ + add r6, r2 │ │ │ │ │ add r3, r2 │ │ │ │ │ - ldr r2, [sp, #92] @ 0x5c │ │ │ │ │ - str r1, [sp, #0] │ │ │ │ │ - eor.w lr, lr, r2 │ │ │ │ │ - ldrd r1, r2, [sp, #208] @ 0xd0 │ │ │ │ │ + ldr r2, [sp, #84] @ 0x54 │ │ │ │ │ + eor.w r1, r1, r2 │ │ │ │ │ + ldr r2, [sp, #204] @ 0xcc │ │ │ │ │ + str r1, [sp, #196] @ 0xc4 │ │ │ │ │ + ldr r1, [sp, #200] @ 0xc8 │ │ │ │ │ cmp r2, r1 │ │ │ │ │ - bne.w 44 │ │ │ │ │ - add sp, #100 @ 0x64 │ │ │ │ │ + bne.w 54 │ │ │ │ │ + add sp, #92 @ 0x5c │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ + nop.w │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ - .word 0x00000336 │ │ │ │ │ + .word 0x00000344 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ │ │ │ │ │ -00000358 : │ │ │ │ │ +00000378 : │ │ │ │ │ fftw_codelet_hc2cf2_8(): │ │ │ │ │ - ldr r2, [pc, #12] @ (368 ) │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - ldr r1, [pc, #12] @ (36c ) │ │ │ │ │ + ldr r2, [pc, #12] @ (388 ) │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + ldr r1, [pc, #12] @ (38c ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2c_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + .word 0x00000006 │ │ │ │ │ R_ARM_REL32 hc2cf2_8 │ │ │ ├── hc2cf_10.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2024 (bytes into file) │ │ │ │ │ + Start of section headers: 2084 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x7e8: │ │ │ │ │ +There are 14 section headers, starting at offset 0x824: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0004cc 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000730 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000500 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000500 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000500 000009 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000509 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 000511 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000758 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000541 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000541 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000574 000130 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 0006a4 00008c 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000770 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000508 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 00076c 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 00053c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 00053c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 00053c 000009 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000545 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 00054d 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000794 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 00057d 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00057d 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 0005b0 000130 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0006e0 00008c 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 0007ac 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 19 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1204 FUNC LOCAL DEFAULT 1 hc2cf_10 │ │ │ │ │ + 1: 00000001 1264 FUNC LOCAL DEFAULT 1 hc2cf_10 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000003f0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000410 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000004c4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000408 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000428 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000500 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 16: 000004b5 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cf_10 │ │ │ │ │ + 16: 000004f1 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cf_10 │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2c_register │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hc2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x730 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x76c contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000408 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000040c 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000004c4 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000004c8 00000103 R_ARM_REL32 00000001 hc2cf_10 │ │ │ │ │ -000004be 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ +00000420 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000424 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000500 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000504 00000103 R_ARM_REL32 00000001 hc2cf_10 │ │ │ │ │ +000004fc 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x758 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x794 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001202 R_ARM_ABS32 00000000 fftw_rdft_hc2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,208 +1,211 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hc2cf_10(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r6, r1 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r7, r2 │ │ │ │ │ + mov r8, r3 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #196 @ 0xc4 │ │ │ │ │ - mov r8, r3 │ │ │ │ │ - ldr r3, [pc, #1012] @ (408 ) │ │ │ │ │ - ldrd r2, r1, [sp, #304] @ 0x130 │ │ │ │ │ - add r3, pc │ │ │ │ │ - ldr.w r9, [sp, #300] @ 0x12c │ │ │ │ │ + ldrd r9, r2, [sp, #300] @ 0x12c │ │ │ │ │ + ldr r1, [sp, #308] @ 0x134 │ │ │ │ │ + ldr r3, [pc, #1016] @ (420 ) │ │ │ │ │ cmp r2, r1 │ │ │ │ │ - bge.w 4aa │ │ │ │ │ + add r3, pc │ │ │ │ │ + bge.w 4d4 │ │ │ │ │ ldr r2, [sp, #312] @ 0x138 │ │ │ │ │ - movs r1, #144 @ 0x90 │ │ │ │ │ + vmov.f64 d11, #80 @ 0x3e800000 0.250 │ │ │ │ │ mov lr, r8 │ │ │ │ │ mov r5, r0 │ │ │ │ │ - vldr d13, [pc, #964] @ 3f0 │ │ │ │ │ mov ip, r6 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ + vldr d13, [pc, #968] @ 408 │ │ │ │ │ + mov r8, r9 │ │ │ │ │ + vldr d12, [pc, #972] @ 410 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ str r2, [sp, #180] @ 0xb4 │ │ │ │ │ - negs r2, r2 │ │ │ │ │ + rsb r2, r2, #0 │ │ │ │ │ str r2, [sp, #184] @ 0xb8 │ │ │ │ │ - ldr r2, [pc, #976] @ (40c ) │ │ │ │ │ - mov r8, r9 │ │ │ │ │ - vldr d12, [pc, #952] @ 3f8 │ │ │ │ │ - vmov.f64 d11, #80 @ 0x3e800000 0.250 │ │ │ │ │ + ldr r2, [pc, #976] @ (424 ) │ │ │ │ │ ldr r3, [r3, r2] │ │ │ │ │ - ldr r2, [sp, #304] @ 0x130 │ │ │ │ │ + ldr r2, [sp, #296] @ 0x128 │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ str r3, [sp, #188] @ 0xbc │ │ │ │ │ - ldr r3, [sp, #296] @ 0x128 │ │ │ │ │ - mla r4, r1, r2, r3 │ │ │ │ │ + ldr r3, [sp, #304] @ 0x130 │ │ │ │ │ + add.w r3, r3, r3, lsl #3 │ │ │ │ │ + add.w r4, r2, r3, lsl #4 │ │ │ │ │ mov.w r3, r8, lsl #4 │ │ │ │ │ - vldr d1, [r4, #-72] @ 0xffffffb8 │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ + mov.w r1, r8, lsl #5 │ │ │ │ │ add.w r6, lr, r3 │ │ │ │ │ + vldr d1, [r4, #-72] @ 0xffffffb8 │ │ │ │ │ add.w r9, ip, r3 │ │ │ │ │ - vldr d3, [r4, #-80] @ 0xffffffb0 │ │ │ │ │ add.w fp, r7, r3 │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ - adds r2, r5, r3 │ │ │ │ │ + add.w r2, r5, r3 │ │ │ │ │ vldr d2, [r6] │ │ │ │ │ add.w r0, r9, r3 │ │ │ │ │ + strd r6, r2, [sp] │ │ │ │ │ + vldr d3, [r4, #-80] @ 0xffffffb0 │ │ │ │ │ + str r0, [sp, #8] │ │ │ │ │ vldr d7, [r9] │ │ │ │ │ - mov.w r1, r8, lsl #5 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ vldr d10, [r4, #-136] @ 0xffffff78 │ │ │ │ │ + vldr d9, [r4, #-64] @ 0xffffffc0 │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - str r2, [sp, #4] │ │ │ │ │ - str r6, [sp, #0] │ │ │ │ │ - str r0, [sp, #8] │ │ │ │ │ - vnmls.f64 d7, d2, d3 │ │ │ │ │ vldr d8, [r4, #-56] @ 0xffffffc8 │ │ │ │ │ - vldr d9, [r4, #-64] @ 0xffffffc0 │ │ │ │ │ + vnmls.f64 d7, d2, d3 │ │ │ │ │ vsub.f64 d3, d4, d6 │ │ │ │ │ vadd.f64 d6, d4, d6 │ │ │ │ │ vldr d4, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ vsub.f64 d2, d5, d7 │ │ │ │ │ vadd.f64 d0, d5, d7 │ │ │ │ │ + vldr d7, [r4, #-96] @ 0xffffffa0 │ │ │ │ │ + vstr d3, [sp, #32] │ │ │ │ │ vstr d6, [sp, #128] @ 0x80 │ │ │ │ │ vldr d6, [fp] │ │ │ │ │ - vldr d7, [r4, #-96] @ 0xffffffa0 │ │ │ │ │ vldr d5, [r2] │ │ │ │ │ - adds r2, r6, r3 │ │ │ │ │ - vmul.f64 d1, d6, d4 │ │ │ │ │ - vstr d3, [sp, #32] │ │ │ │ │ - movs r6, #24 │ │ │ │ │ + add.w r2, r6, r3 │ │ │ │ │ vstr d0, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d0, [r4, #-8] │ │ │ │ │ + vmul.f64 d1, d6, d4 │ │ │ │ │ + str r2, [sp, #12] │ │ │ │ │ + vstr d2, [sp, #120] @ 0x78 │ │ │ │ │ vmla.f64 d1, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d4 │ │ │ │ │ vldr d4, [lr] │ │ │ │ │ - vldr d0, [r4, #-8] │ │ │ │ │ - str r2, [sp, #12] │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ vldr d7, [ip] │ │ │ │ │ vmul.f64 d3, d4, d10 │ │ │ │ │ vldr d6, [r4, #-144] @ 0xffffff70 │ │ │ │ │ - vstr d2, [sp, #120] @ 0x78 │ │ │ │ │ vmul.f64 d10, d7, d10 │ │ │ │ │ vmla.f64 d3, d7, d6 │ │ │ │ │ vldr d7, [r4, #-16] │ │ │ │ │ vnmls.f64 d10, d4, d6 │ │ │ │ │ vldr d4, [r2] │ │ │ │ │ + add.w r2, r8, r8, lsl #1 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ - mul.w r2, r6, r8 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + add.w r0, r7, r2 │ │ │ │ │ + add.w sl, r5, r2 │ │ │ │ │ + mov.w r2, r8, lsl #3 │ │ │ │ │ vmul.f64 d2, d4, d0 │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ + str r0, [sp, #16] │ │ │ │ │ vmla.f64 d2, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ - add.w sl, r5, r2 │ │ │ │ │ - mov.w r2, r8, lsl #3 │ │ │ │ │ vldr d0, [r0] │ │ │ │ │ - str r0, [sp, #16] │ │ │ │ │ - adds r0, r5, r2 │ │ │ │ │ + add.w r0, r5, r2 │ │ │ │ │ vnmls.f64 d6, d4, d7 │ │ │ │ │ vldr d7, [sl] │ │ │ │ │ vmul.f64 d4, d0, d8 │ │ │ │ │ vmla.f64 d4, d7, d9 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ vnmls.f64 d7, d0, d9 │ │ │ │ │ vsub.f64 d9, d1, d2 │ │ │ │ │ vadd.f64 d1, d1, d2 │ │ │ │ │ vsub.f64 d14, d4, d3 │ │ │ │ │ - vstr d9, [sp, #40] @ 0x28 │ │ │ │ │ vadd.f64 d3, d3, d4 │ │ │ │ │ + vstr d9, [sp, #40] @ 0x28 │ │ │ │ │ + vsub.f64 d0, d10, d7 │ │ │ │ │ vadd.f64 d15, d9, d14 │ │ │ │ │ - vstr d14, [sp, #48] @ 0x30 │ │ │ │ │ vadd.f64 d4, d1, d3 │ │ │ │ │ - vsub.f64 d0, d10, d7 │ │ │ │ │ + vstr d14, [sp, #48] @ 0x30 │ │ │ │ │ str r0, [sp, #20] │ │ │ │ │ vstr d1, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d0, [sp, #64] @ 0x40 │ │ │ │ │ vstr d15, [sp, #144] @ 0x90 │ │ │ │ │ vsub.f64 d15, d5, d6 │ │ │ │ │ vadd.f64 d6, d5, d6 │ │ │ │ │ vadd.f64 d5, d10, d7 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ + add.w r0, r7, r2 │ │ │ │ │ + str r0, [sp, #24] │ │ │ │ │ vstr d4, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d4, [r4, #-120] @ 0xffffff88 │ │ │ │ │ vsub.f64 d9, d0, d15 │ │ │ │ │ + vldr d4, [r4, #-120] @ 0xffffff88 │ │ │ │ │ vadd.f64 d10, d6, d5 │ │ │ │ │ + vstr d15, [sp, #56] @ 0x38 │ │ │ │ │ vstr d5, [sp, #96] @ 0x60 │ │ │ │ │ vldr d5, [r0] │ │ │ │ │ + add.w r0, ip, r2 │ │ │ │ │ + add r2, lr │ │ │ │ │ vstr d6, [sp, #88] @ 0x58 │ │ │ │ │ + add.w r6, r0, r3 │ │ │ │ │ + add r3, r2 │ │ │ │ │ vldr d6, [r4, #-128] @ 0xffffff80 │ │ │ │ │ + str r6, [sp, #28] │ │ │ │ │ + vldr d15, [r4, #-104] @ 0xffffff98 │ │ │ │ │ + vstr d9, [sp, #152] @ 0x98 │ │ │ │ │ vmul.f64 d14, d5, d4 │ │ │ │ │ - str r0, [sp, #24] │ │ │ │ │ - add.w r0, ip, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ + vstr d10, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d10, [r4, #-40] @ 0xffffffd8 │ │ │ │ │ + vstr d3, [sp, #80] @ 0x50 │ │ │ │ │ vmla.f64 d14, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ - vstr d15, [sp, #56] @ 0x38 │ │ │ │ │ - adds r6, r0, r3 │ │ │ │ │ - vldr d15, [r4, #-104] @ 0xffffff98 │ │ │ │ │ - add r3, r2 │ │ │ │ │ - vstr d9, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d4, [r4, #-24] @ 0xffffffe8 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ vldr d5, [r2] │ │ │ │ │ vldr d6, [r4, #-112] @ 0xffffff90 │ │ │ │ │ - adds r4, #144 @ 0x90 │ │ │ │ │ - vstr d10, [sp, #168] @ 0xa8 │ │ │ │ │ + add.w r4, r4, #144 @ 0x90 │ │ │ │ │ vmul.f64 d1, d5, d15 │ │ │ │ │ - vldr d10, [r4, #-184] @ 0xffffff48 │ │ │ │ │ - str r6, [sp, #28] │ │ │ │ │ - vldr d4, [r4, #-168] @ 0xffffff58 │ │ │ │ │ - vstr d0, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d3, [sp, #80] @ 0x50 │ │ │ │ │ vmov.f64 d9, d7 │ │ │ │ │ + vstr d7, [sp, #104] @ 0x68 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ vmul.f64 d15, d7, d15 │ │ │ │ │ vmla.f64 d1, d7, d6 │ │ │ │ │ vldr d7, [r6] │ │ │ │ │ - adds r6, r5, r1 │ │ │ │ │ + add.w r6, r5, r1 │ │ │ │ │ add r1, r7 │ │ │ │ │ - vstr d9, [sp, #104] @ 0x68 │ │ │ │ │ str r6, [sp, #176] @ 0xb0 │ │ │ │ │ vnmls.f64 d15, d5, d6 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ vldr d6, [r4, #-192] @ 0xffffff40 │ │ │ │ │ vmul.f64 d8, d5, d10 │ │ │ │ │ vmul.f64 d10, d7, d10 │ │ │ │ │ vmla.f64 d8, d7, d6 │ │ │ │ │ - vldr d7, [r4, #-176] @ 0xffffff50 │ │ │ │ │ vnmls.f64 d10, d5, d6 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ + vldr d7, [r4, #-176] @ 0xffffff50 │ │ │ │ │ vldr d5, [r6] │ │ │ │ │ vmul.f64 d0, d6, d4 │ │ │ │ │ vmla.f64 d0, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d4 │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ vsub.f64 d7, d14, d8 │ │ │ │ │ vadd.f64 d14, d14, d8 │ │ │ │ │ vsub.f64 d3, d0, d1 │ │ │ │ │ - vstr d7, [sp, #112] @ 0x70 │ │ │ │ │ vadd.f64 d1, d1, d0 │ │ │ │ │ + vstr d7, [sp, #112] @ 0x70 │ │ │ │ │ vldr d0, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d8, [sp, #144] @ 0x90 │ │ │ │ │ ldr r6, [sp, #0] │ │ │ │ │ - vadd.f64 d2, d7, d3 │ │ │ │ │ vsub.f64 d4, d5, d15 │ │ │ │ │ vadd.f64 d15, d15, d5 │ │ │ │ │ + vldr d8, [sp, #144] @ 0x90 │ │ │ │ │ + vadd.f64 d2, d7, d3 │ │ │ │ │ vsub.f64 d7, d9, d10 │ │ │ │ │ - vadd.f64 d10, d0, d10 │ │ │ │ │ - vldr d0, [pc, #376] @ 400 │ │ │ │ │ vadd.f64 d9, d14, d1 │ │ │ │ │ vsub.f64 d1, d14, d1 │ │ │ │ │ + vadd.f64 d10, d0, d10 │ │ │ │ │ + vldr d0, [pc, #352] @ 418 │ │ │ │ │ + vstr d15, [sp, #104] @ 0x68 │ │ │ │ │ vsub.f64 d5, d2, d8 │ │ │ │ │ vadd.f64 d2, d8, d2 │ │ │ │ │ vldr d8, [sp, #32] │ │ │ │ │ vadd.f64 d6, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ vldr d4, [sp, #56] @ 0x38 │ │ │ │ │ - vstr d15, [sp, #104] @ 0x68 │ │ │ │ │ vadd.f64 d15, d10, d15 │ │ │ │ │ vmls.f64 d8, d2, d11 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ vmov.f64 d0, d8 │ │ │ │ │ vldr d8, [sp, #64] @ 0x40 │ │ │ │ │ vadd.f64 d8, d4, d8 │ │ │ │ │ vmul.f64 d4, d8, d12 │ │ │ │ │ @@ -211,148 +214,153 @@ │ │ │ │ │ vnmls.f64 d7, d8, d13 │ │ │ │ │ vldr d8, [sp, #32] │ │ │ │ │ vadd.f64 d2, d8, d2 │ │ │ │ │ vstr d2, [r1] │ │ │ │ │ vsub.f64 d2, d0, d5 │ │ │ │ │ vadd.f64 d5, d5, d0 │ │ │ │ │ ldr r1, [sp, #20] │ │ │ │ │ - vldr d0, [pc, #272] @ 400 │ │ │ │ │ + vldr d0, [pc, #260] @ 418 │ │ │ │ │ vsub.f64 d8, d2, d7 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ vldr d2, [sp, #48] @ 0x30 │ │ │ │ │ vstr d8, [fp] │ │ │ │ │ vstr d7, [sl] │ │ │ │ │ vsub.f64 d7, d5, d4 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ vldr d8, [sp, #120] @ 0x78 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ vldr d7, [sp, #40] @ 0x28 │ │ │ │ │ vstr d4, [r1] │ │ │ │ │ + ldr r1, [sp, #12] │ │ │ │ │ vldr d4, [sp, #152] @ 0x98 │ │ │ │ │ vsub.f64 d7, d2, d7 │ │ │ │ │ vldr d2, [sp, #112] @ 0x70 │ │ │ │ │ - ldr r1, [sp, #12] │ │ │ │ │ vadd.f64 d5, d4, d6 │ │ │ │ │ vsub.f64 d6, d4, d6 │ │ │ │ │ - vsub.f64 d3, d2, d3 │ │ │ │ │ vmov.f64 d4, d8 │ │ │ │ │ + vsub.f64 d3, d2, d3 │ │ │ │ │ vmla.f64 d4, d6, d11 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ - vmul.f64 d2, d3, d13 │ │ │ │ │ vsub.f64 d6, d6, d8 │ │ │ │ │ vldr d8, [sp, #96] @ 0x60 │ │ │ │ │ + vmul.f64 d2, d3, d13 │ │ │ │ │ vnmls.f64 d2, d7, d12 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ - vmla.f64 d7, d3, d12 │ │ │ │ │ vstr d6, [r1] │ │ │ │ │ vsub.f64 d6, d4, d5 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ vldr d4, [sp, #88] @ 0x58 │ │ │ │ │ + vmla.f64 d7, d3, d12 │ │ │ │ │ vsub.f64 d4, d4, d8 │ │ │ │ │ vldr d8, [sp, #104] @ 0x68 │ │ │ │ │ vsub.f64 d3, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vsub.f64 d10, d10, d8 │ │ │ │ │ vstr d3, [r6] │ │ │ │ │ ldr r6, [sp, #28] │ │ │ │ │ vmul.f64 d3, d10, d12 │ │ │ │ │ vstr d7, [r6] │ │ │ │ │ vsub.f64 d7, d2, d5 │ │ │ │ │ vadd.f64 d2, d2, d5 │ │ │ │ │ vldr d5, [sp, #160] @ 0xa0 │ │ │ │ │ vnmls.f64 d3, d4, d13 │ │ │ │ │ vmul.f64 d4, d4, d12 │ │ │ │ │ - vmla.f64 d4, d10, d13 │ │ │ │ │ vstr d7, [lr] │ │ │ │ │ - vsub.f64 d7, d9, d5 │ │ │ │ │ + vmla.f64 d4, d10, d13 │ │ │ │ │ vstr d2, [r0] │ │ │ │ │ + vsub.f64 d7, d9, d5 │ │ │ │ │ vadd.f64 d5, d5, d9 │ │ │ │ │ vldr d2, [sp, #128] @ 0x80 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ vmov.f64 d6, d2 │ │ │ │ │ vmls.f64 d6, d5, d11 │ │ │ │ │ vadd.f64 d5, d2, d5 │ │ │ │ │ vstr d5, [r5] │ │ │ │ │ ldr r6, [sp, #176] @ 0xb0 │ │ │ │ │ - ldr r1, [sp, #4] │ │ │ │ │ - ldr r0, [sp, #8] │ │ │ │ │ + ldrd r1, r0, [sp, #4] │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vsub.f64 d2, d5, d4 │ │ │ │ │ - vsub.f64 d7, d6, d3 │ │ │ │ │ - vadd.f64 d4, d4, d5 │ │ │ │ │ - vldr d5, [sp, #168] @ 0xa8 │ │ │ │ │ - vadd.f64 d3, d3, d6 │ │ │ │ │ - b.n 410 │ │ │ │ │ + b.n 428 │ │ │ │ │ + nop │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ - .word 0x000003ee │ │ │ │ │ + .word 0x000003f2 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ + vsub.f64 d7, d6, d3 │ │ │ │ │ + vadd.f64 d4, d4, d5 │ │ │ │ │ + vldr d5, [sp, #168] @ 0xa8 │ │ │ │ │ + vadd.f64 d3, d3, d6 │ │ │ │ │ vstr d2, [r6] │ │ │ │ │ - vsub.f64 d6, d15, d5 │ │ │ │ │ ldr r6, [sp, #16] │ │ │ │ │ + vsub.f64 d6, d15, d5 │ │ │ │ │ vadd.f64 d5, d5, d15 │ │ │ │ │ - vmul.f64 d6, d6, d0 │ │ │ │ │ - vldr d0, [sp, #136] @ 0x88 │ │ │ │ │ vstr d4, [r6] │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ + vmul.f64 d6, d6, d0 │ │ │ │ │ ldr r1, [sp, #24] │ │ │ │ │ - vmov.f64 d4, d0 │ │ │ │ │ vldr d7, [sp, #72] @ 0x48 │ │ │ │ │ - vmls.f64 d4, d5, d11 │ │ │ │ │ - vadd.f64 d5, d0, d5 │ │ │ │ │ + vldr d0, [sp, #136] @ 0x88 │ │ │ │ │ vstr d3, [r1] │ │ │ │ │ vldr d3, [sp, #80] @ 0x50 │ │ │ │ │ - vstr d5, [ip] │ │ │ │ │ + vmov.f64 d4, d0 │ │ │ │ │ vsub.f64 d2, d7, d3 │ │ │ │ │ vmul.f64 d3, d1, d12 │ │ │ │ │ - vadd.f64 d5, d6, d4 │ │ │ │ │ + vmls.f64 d4, d5, d11 │ │ │ │ │ + vadd.f64 d5, d0, d5 │ │ │ │ │ vmul.f64 d7, d2, d12 │ │ │ │ │ vnmls.f64 d3, d2, d13 │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ vmla.f64 d7, d1, d13 │ │ │ │ │ + vadd.f64 d5, d6, d4 │ │ │ │ │ vsub.f64 d2, d7, d5 │ │ │ │ │ vadd.f64 d5, d7, d5 │ │ │ │ │ vsub.f64 d7, d4, d6 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ ldr r3, [sp, #304] @ 0x130 │ │ │ │ │ vsub.f64 d6, d3, d7 │ │ │ │ │ vadd.f64 d7, d3, d7 │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ str r3, [sp, #304] @ 0x130 │ │ │ │ │ ldr r3, [sp, #180] @ 0xb4 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ + vstr d7, [r9] │ │ │ │ │ + ldr r2, [sp, #304] @ 0x130 │ │ │ │ │ add r5, r3 │ │ │ │ │ add ip, r3 │ │ │ │ │ ldr r3, [sp, #184] @ 0xb8 │ │ │ │ │ - vstr d7, [r9] │ │ │ │ │ add r7, r3 │ │ │ │ │ add lr, r3 │ │ │ │ │ ldr r3, [sp, #188] @ 0xbc │ │ │ │ │ eor.w r8, r8, r3 │ │ │ │ │ - ldrd r2, r3, [sp, #304] @ 0x130 │ │ │ │ │ + ldr r3, [sp, #308] @ 0x134 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 52 │ │ │ │ │ + bne.w 66 │ │ │ │ │ add sp, #196 @ 0xc4 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -000004b4 : │ │ │ │ │ +000004f0 : │ │ │ │ │ fftw_codelet_hc2cf_10(): │ │ │ │ │ - ldr r2, [pc, #12] @ (4c4 ) │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - ldr r1, [pc, #12] @ (4c8 ) │ │ │ │ │ + ldr r2, [pc, #12] @ (500 ) │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + ldr r1, [pc, #12] @ (504 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2c_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + .word 0x00000006 │ │ │ │ │ R_ARM_REL32 hc2cf_10 │ │ │ ├── hc2cf_12.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2224 (bytes into file) │ │ │ │ │ + Start of section headers: 2276 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x8b0: │ │ │ │ │ +There are 14 section headers, starting at offset 0x8e4: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000594 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0007f8 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0005c8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0005c8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0005c8 000009 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 0005d1 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0005d9 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000820 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000609 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000609 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 00063c 000130 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 00076c 00008c 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000838 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0005c8 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 00082c 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0005fc 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0005fc 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0005fc 000009 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000605 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 00060d 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000854 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 00063d 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00063d 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000670 000130 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0007a0 00008c 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 00086c 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 19 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1402 FUNC LOCAL DEFAULT 1 hc2cf_12 │ │ │ │ │ + 1: 00000001 1454 FUNC LOCAL DEFAULT 1 hc2cf_12 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000058 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000068 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 0000058c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000068 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000078 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000005c0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 16: 0000057d 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cf_12 │ │ │ │ │ + 16: 000005b1 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cf_12 │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2c_register │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hc2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x7f8 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x82c contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000060 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000064 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -0000058c 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000590 00000103 R_ARM_REL32 00000001 hc2cf_12 │ │ │ │ │ -00000586 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ +00000070 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000074 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +000005c0 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000005c4 00000103 R_ARM_REL32 00000001 hc2cf_12 │ │ │ │ │ +000005bc 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x820 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x854 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001202 R_ARM_ABS32 00000000 fftw_rdft_hc2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,231 +1,230 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hc2cf_12(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r8, r1 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ mov r9, r2 │ │ │ │ │ + mov sl, r3 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #220 @ 0xdc │ │ │ │ │ - mov sl, r3 │ │ │ │ │ - ldr r3, [pc, #76] @ (60 ) │ │ │ │ │ - ldrd r2, r1, [sp, #328] @ 0x148 │ │ │ │ │ - add r3, pc │ │ │ │ │ - ldr.w fp, [sp, #324] @ 0x144 │ │ │ │ │ + ldrd fp, r2, [sp, #324] @ 0x144 │ │ │ │ │ + ldr r1, [sp, #332] @ 0x14c │ │ │ │ │ + ldr r3, [pc, #72] @ (70 ) │ │ │ │ │ cmp r2, r1 │ │ │ │ │ - bge.w 570 │ │ │ │ │ + add r3, pc │ │ │ │ │ + bge.w 592 │ │ │ │ │ ldr r2, [sp, #336] @ 0x150 │ │ │ │ │ - movs r1, #176 @ 0xb0 │ │ │ │ │ - vldr d13, [pc, #48] @ 58 │ │ │ │ │ + mov.w r1, #176 @ 0xb0 │ │ │ │ │ + vmov.f64 d11, #96 @ 0x3f000000 0.5 │ │ │ │ │ mov r5, r0 │ │ │ │ │ mov ip, r9 │ │ │ │ │ - mov lr, fp │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ + vldr d13, [pc, #40] @ 68 │ │ │ │ │ + mov lr, sl │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ str r2, [sp, #204] @ 0xcc │ │ │ │ │ - negs r2, r2 │ │ │ │ │ + rsb r2, r2, #0 │ │ │ │ │ str r2, [sp, #208] @ 0xd0 │ │ │ │ │ - ldr r2, [pc, #40] @ (64 ) │ │ │ │ │ - vmov.f64 d11, #96 @ 0x3f000000 0.5 │ │ │ │ │ + ldr r2, [pc, #32] @ (74 ) │ │ │ │ │ ldr r3, [r3, r2] │ │ │ │ │ - ldr r2, [sp, #328] @ 0x148 │ │ │ │ │ str.w r8, [sp, #4] │ │ │ │ │ + ldr r2, [sp, #328] @ 0x148 │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ str r3, [sp, #212] @ 0xd4 │ │ │ │ │ ldr r3, [sp, #320] @ 0x140 │ │ │ │ │ mla r6, r1, r2, r3 │ │ │ │ │ - b.n 68 │ │ │ │ │ + b.n 78 │ │ │ │ │ nop │ │ │ │ │ - nop.w │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3febb67a │ │ │ │ │ - .word 0x00000046 │ │ │ │ │ + .word 0x00000042 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - mov.w r3, lr, lsl #4 │ │ │ │ │ - vldr d3, [r6, #-120] @ 0xffffff88 │ │ │ │ │ + mov.w r3, fp, lsl #4 │ │ │ │ │ + vldr d7, [r6, #-128] @ 0xffffff80 │ │ │ │ │ + mov.w r1, fp, lsl #5 │ │ │ │ │ add.w r9, ip, r3 │ │ │ │ │ + vldr d3, [r6, #-120] @ 0xffffff88 │ │ │ │ │ add.w r8, r5, r3 │ │ │ │ │ - vldr d7, [r6, #-128] @ 0xffffff80 │ │ │ │ │ add.w r0, r9, r3 │ │ │ │ │ add.w r2, r8, r3 │ │ │ │ │ - vldr d1, [r6, #-56] @ 0xffffffc8 │ │ │ │ │ vldr d5, [r9] │ │ │ │ │ - mov.w r1, lr, lsl #5 │ │ │ │ │ + strd r2, r0, [sp, #8] │ │ │ │ │ vldr d6, [r8] │ │ │ │ │ - movs r7, #24 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ + vldr d1, [r6, #-56] @ 0xffffffc8 │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ - str r0, [sp, #12] │ │ │ │ │ + vldr d2, [r0] │ │ │ │ │ + ldr r7, [sp, #4] │ │ │ │ │ + vldr d8, [r6, #-40] @ 0xffffffd8 │ │ │ │ │ vmla.f64 d4, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ vldr d3, [r6, #-64] @ 0xffffffc0 │ │ │ │ │ - ldr r0, [sp, #4] │ │ │ │ │ - str r2, [sp, #8] │ │ │ │ │ + add.w r4, r7, r1 │ │ │ │ │ + add.w r0, r7, r3 │ │ │ │ │ + add r3, lr │ │ │ │ │ + str r4, [sp, #16] │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ - adds r4, r0, r1 │ │ │ │ │ - add.w r2, sl, r1 │ │ │ │ │ - vldr d8, [r6, #-40] @ 0xffffffd8 │ │ │ │ │ + str r3, [sp, #28] │ │ │ │ │ + mov.w r2, fp, lsl #3 │ │ │ │ │ vmla.f64 d5, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - str r4, [sp, #16] │ │ │ │ │ - str r2, [sp, #20] │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ - vldr d2, [sl] │ │ │ │ │ + vldr d2, [lr] │ │ │ │ │ vadd.f64 d15, d4, d5 │ │ │ │ │ vsub.f64 d3, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ - adds r4, r0, r3 │ │ │ │ │ - add r3, sl │ │ │ │ │ - str r4, [sp, #24] │ │ │ │ │ - str r3, [sp, #28] │ │ │ │ │ + add.w r4, lr, r1 │ │ │ │ │ + strd r4, r0, [sp, #20] │ │ │ │ │ vmul.f64 d0, d3, d13 │ │ │ │ │ vsub.f64 d3, d5, d4 │ │ │ │ │ vldr d5, [r5] │ │ │ │ │ vmov.f64 d4, d6 │ │ │ │ │ - vmls.f64 d5, d15, d11 │ │ │ │ │ vldr d6, [ip] │ │ │ │ │ + vmls.f64 d5, d15, d11 │ │ │ │ │ vmul.f64 d3, d3, d13 │ │ │ │ │ vstr d0, [sp, #48] @ 0x30 │ │ │ │ │ - vmls.f64 d6, d4, d11 │ │ │ │ │ vstr d4, [sp, #72] @ 0x48 │ │ │ │ │ + vmls.f64 d6, d4, d11 │ │ │ │ │ vstr d3, [sp, #56] @ 0x38 │ │ │ │ │ vldr d3, [r6, #-104] @ 0xffffff98 │ │ │ │ │ vstr d5, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - mul.w r2, r7, lr │ │ │ │ │ - movs r7, #40 @ 0x28 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ vstr d6, [sp, #80] @ 0x50 │ │ │ │ │ - add.w fp, r5, r2 │ │ │ │ │ + vldr d6, [r6, #-48] @ 0xffffffd0 │ │ │ │ │ vmul.f64 d0, d5, d8 │ │ │ │ │ vmul.f64 d8, d7, d8 │ │ │ │ │ - vldr d6, [r6, #-48] @ 0xffffffd0 │ │ │ │ │ vnmls.f64 d8, d5, d6 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ vmla.f64 d0, d7, d6 │ │ │ │ │ + add.w r3, fp, fp, lsl #1 │ │ │ │ │ vldr d7, [r6, #-112] @ 0xffffff90 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - mov.w r3, lr, lsl #3 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + add.w r0, r5, r2 │ │ │ │ │ + add.w r4, ip, r3 │ │ │ │ │ + add.w sl, r5, r3 │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ - adds r4, r5, r3 │ │ │ │ │ vmla.f64 d4, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ vldr d3, [r6, #-176] @ 0xffffff50 │ │ │ │ │ - add.w r0, ip, r2 │ │ │ │ │ + strd r4, r0, [sp, #32] │ │ │ │ │ vldr d1, [r6, #-168] @ 0xffffff58 │ │ │ │ │ - str r0, [sp, #32] │ │ │ │ │ - str r4, [sp, #36] @ 0x24 │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ vmla.f64 d5, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ vadd.f64 d12, d4, d5 │ │ │ │ │ vsub.f64 d3, d7, d6 │ │ │ │ │ vadd.f64 d14, d6, d7 │ │ │ │ │ vldr d6, [r6, #-96] @ 0xffffffa0 │ │ │ │ │ - vldr d7, [fp] │ │ │ │ │ + vldr d7, [sl] │ │ │ │ │ vmul.f64 d2, d3, d13 │ │ │ │ │ vsub.f64 d3, d4, d5 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ vmov.f64 d4, d8 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ + add.w r4, ip, r2 │ │ │ │ │ + str r4, [sp, #40] @ 0x28 │ │ │ │ │ vmls.f64 d4, d14, d11 │ │ │ │ │ - add.w r0, ip, r3 │ │ │ │ │ - str r0, [sp, #40] @ 0x28 │ │ │ │ │ vadd.f64 d14, d8, d14 │ │ │ │ │ vmul.f64 d1, d3, d13 │ │ │ │ │ vstr d2, [sp, #88] @ 0x58 │ │ │ │ │ vmov.f64 d2, d0 │ │ │ │ │ vmls.f64 d2, d12, d11 │ │ │ │ │ vadd.f64 d12, d0, d12 │ │ │ │ │ vstr d1, [sp, #96] @ 0x60 │ │ │ │ │ vldr d1, [r6, #-24] @ 0xffffffe8 │ │ │ │ │ vstr d4, [sp, #112] @ 0x70 │ │ │ │ │ vldr d4, [r6, #-88] @ 0xffffffa8 │ │ │ │ │ - vmul.f64 d3, d5, d4 │ │ │ │ │ vstr d2, [sp, #104] @ 0x68 │ │ │ │ │ + vmul.f64 d3, d5, d4 │ │ │ │ │ vmla.f64 d3, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vldr d4, [r6, #-152] @ 0xffffff68 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - mul.w r0, r7, lr │ │ │ │ │ - ldr r7, [sp, #4] │ │ │ │ │ - adds r4, r5, r0 │ │ │ │ │ - add r0, ip │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + add.w r0, fp, fp, lsl #2 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ vmov.f64 d9, d3 │ │ │ │ │ vmul.f64 d3, d6, d4 │ │ │ │ │ - str r4, [sp, #44] @ 0x2c │ │ │ │ │ + add.w r4, r5, r0 │ │ │ │ │ + add r0, ip │ │ │ │ │ vldr d2, [r0] │ │ │ │ │ + str r4, [sp, #44] @ 0x2c │ │ │ │ │ vmov.f64 d10, d7 │ │ │ │ │ vldr d7, [r6, #-160] @ 0xffffff60 │ │ │ │ │ vstr d9, [sp, #120] @ 0x78 │ │ │ │ │ + vstr d10, [sp, #128] @ 0x80 │ │ │ │ │ vmla.f64 d3, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d4 │ │ │ │ │ vldr d4, [r6, #-32] @ 0xffffffe0 │ │ │ │ │ - vstr d10, [sp, #128] @ 0x80 │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ - adds r4, r7, r3 │ │ │ │ │ - add r3, sl │ │ │ │ │ - adds r7, r4, r1 │ │ │ │ │ + add.w r4, r7, r2 │ │ │ │ │ + add r2, lr │ │ │ │ │ + add.w r7, r4, r1 │ │ │ │ │ + add r1, r2 │ │ │ │ │ vmla.f64 d6, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - add r1, r3 │ │ │ │ │ vnmls.f64 d7, d2, d4 │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ vmov.f64 d7, d10 │ │ │ │ │ vmul.f64 d1, d4, d13 │ │ │ │ │ vsub.f64 d4, d3, d6 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ vmov.f64 d6, d9 │ │ │ │ │ vmls.f64 d7, d5, d11 │ │ │ │ │ vmul.f64 d2, d4, d13 │ │ │ │ │ - vstr d1, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ vmls.f64 d6, d3, d11 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ + vstr d1, [sp, #136] @ 0x88 │ │ │ │ │ vstr d2, [sp, #144] @ 0x90 │ │ │ │ │ - vstr d7, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ + vldr d2, [r6, #-136] @ 0xffffff78 │ │ │ │ │ vstr d6, [sp, #176] @ 0xb0 │ │ │ │ │ vldr d6, [r6, #-144] @ 0xffffff70 │ │ │ │ │ - vldr d2, [r6, #-136] @ 0xffffff78 │ │ │ │ │ - str r7, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d10, [r6, #-72] @ 0xffffffb8 │ │ │ │ │ + vstr d7, [sp, #184] @ 0xb8 │ │ │ │ │ vmul.f64 d1, d4, d2 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ vmla.f64 d1, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ vmov.f64 d2, d7 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - ldr r7, [sp, #4] │ │ │ │ │ - add r7, r2 │ │ │ │ │ - add r2, sl │ │ │ │ │ vnmls.f64 d2, d4, d6 │ │ │ │ │ vstr d1, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ vldr d1, [r6, #-8] │ │ │ │ │ + vldr d10, [r6, #-72] @ 0xffffffb8 │ │ │ │ │ vldr d4, [r6, #-16] │ │ │ │ │ - vldr d9, [r2] │ │ │ │ │ vstr d2, [sp, #160] @ 0xa0 │ │ │ │ │ vldr d2, [r1] │ │ │ │ │ + str r7, [sp, #200] @ 0xc8 │ │ │ │ │ + ldr r7, [sp, #4] │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ + add r7, r3 │ │ │ │ │ + add r3, lr │ │ │ │ │ + vldr d9, [r3] │ │ │ │ │ vmla.f64 d6, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vldr d1, [r6, #-80] @ 0xffffffb0 │ │ │ │ │ - adds r6, #176 @ 0xb0 │ │ │ │ │ + add.w r6, r6, #176 @ 0xb0 │ │ │ │ │ vnmls.f64 d7, d2, d4 │ │ │ │ │ vldr d4, [r7] │ │ │ │ │ vmul.f64 d2, d9, d10 │ │ │ │ │ vmla.f64 d2, d4, d1 │ │ │ │ │ vmul.f64 d4, d4, d10 │ │ │ │ │ vnmls.f64 d4, d9, d1 │ │ │ │ │ vsub.f64 d9, d6, d2 │ │ │ │ │ @@ -234,71 +233,71 @@ │ │ │ │ │ vsub.f64 d10, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ vldr d4, [sp, #160] @ 0xa0 │ │ │ │ │ vmls.f64 d2, d6, d11 │ │ │ │ │ vmul.f64 d9, d9, d13 │ │ │ │ │ vmls.f64 d4, d7, d11 │ │ │ │ │ vmul.f64 d10, d10, d13 │ │ │ │ │ - vstr d2, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d2, [sp, #120] @ 0x78 │ │ │ │ │ vstr d4, [sp, #168] @ 0xa8 │ │ │ │ │ vldr d4, [r5] │ │ │ │ │ - vadd.f64 d3, d2, d3 │ │ │ │ │ + vstr d2, [sp, #192] @ 0xc0 │ │ │ │ │ + vldr d2, [sp, #120] @ 0x78 │ │ │ │ │ vadd.f64 d4, d4, d15 │ │ │ │ │ vldr d15, [sp, #72] @ 0x48 │ │ │ │ │ + vadd.f64 d3, d2, d3 │ │ │ │ │ vadd.f64 d2, d4, d3 │ │ │ │ │ vsub.f64 d4, d4, d3 │ │ │ │ │ vldr d3, [sp, #128] @ 0x80 │ │ │ │ │ vadd.f64 d1, d3, d5 │ │ │ │ │ vldr d3, [ip] │ │ │ │ │ vadd.f64 d5, d3, d15 │ │ │ │ │ vadd.f64 d3, d1, d5 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ vldr d1, [sp, #152] @ 0x98 │ │ │ │ │ vadd.f64 d6, d1, d6 │ │ │ │ │ vldr d1, [sp, #160] @ 0xa0 │ │ │ │ │ - vadd.f64 d7, d1, d7 │ │ │ │ │ vadd.f64 d0, d6, d12 │ │ │ │ │ + vadd.f64 d7, d1, d7 │ │ │ │ │ vsub.f64 d6, d6, d12 │ │ │ │ │ vsub.f64 d1, d7, d14 │ │ │ │ │ - vadd.f64 d7, d7, d14 │ │ │ │ │ vsub.f64 d8, d2, d0 │ │ │ │ │ + vadd.f64 d7, d7, d14 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ vstr d8, [r0] │ │ │ │ │ vsub.f64 d8, d7, d3 │ │ │ │ │ vadd.f64 d3, d3, d7 │ │ │ │ │ vsub.f64 d7, d4, d1 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ vstr d8, [r1] │ │ │ │ │ ldr r1, [sp, #4] │ │ │ │ │ vstr d2, [r5] │ │ │ │ │ vstr d3, [r1] │ │ │ │ │ - vstr d7, [fp] │ │ │ │ │ + vstr d7, [sl] │ │ │ │ │ vadd.f64 d7, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ + ldr r1, [sp, #28] │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ vstr d4, [r9] │ │ │ │ │ - ldr r1, [sp, #28] │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ vldr d0, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r0, [sp, #12] │ │ │ │ │ vldr d3, [sp, #64] @ 0x40 │ │ │ │ │ vldr d14, [sp, #136] @ 0x88 │ │ │ │ │ vldr d12, [sp, #176] @ 0xb0 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ vadd.f64 d7, d0, d3 │ │ │ │ │ vldr d5, [sp, #56] @ 0x38 │ │ │ │ │ - vadd.f64 d6, d14, d12 │ │ │ │ │ vldr d15, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d14, [sp, #184] @ 0xb8 │ │ │ │ │ + vadd.f64 d6, d14, d12 │ │ │ │ │ vldr d8, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d14, [sp, #184] @ 0xb8 │ │ │ │ │ vldr d1, [sp, #104] @ 0x68 │ │ │ │ │ vadd.f64 d2, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #80] @ 0x50 │ │ │ │ │ ldr r1, [sp, #40] @ 0x28 │ │ │ │ │ - ldr r0, [sp, #12] │ │ │ │ │ + vldr d6, [sp, #80] @ 0x50 │ │ │ │ │ vadd.f64 d6, d5, d6 │ │ │ │ │ vadd.f64 d5, d15, d14 │ │ │ │ │ vldr d15, [sp, #192] @ 0xc0 │ │ │ │ │ vsub.f64 d3, d6, d5 │ │ │ │ │ vadd.f64 d4, d10, d15 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vadd.f64 d5, d8, d1 │ │ │ │ │ @@ -314,102 +313,107 @@ │ │ │ │ │ vadd.f64 d4, d4, d8 │ │ │ │ │ vsub.f64 d8, d2, d0 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ vldr d0, [sp, #48] @ 0x30 │ │ │ │ │ vstr d8, [r1] │ │ │ │ │ vsub.f64 d8, d4, d6 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vstr d8, [r3] │ │ │ │ │ - ldr r3, [sp, #8] │ │ │ │ │ - vstr d2, [r3] │ │ │ │ │ - ldr r3, [sp, #16] │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ + vstr d8, [r2] │ │ │ │ │ + ldr r2, [sp, #8] │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ + ldr r2, [sp, #16] │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ vsub.f64 d6, d7, d1 │ │ │ │ │ - ldr r3, [sp, #20] │ │ │ │ │ vadd.f64 d7, d7, d1 │ │ │ │ │ + ldr r2, [sp, #20] │ │ │ │ │ vstr d6, [r0] │ │ │ │ │ vsub.f64 d6, d5, d3 │ │ │ │ │ vadd.f64 d3, d3, d5 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + ldr r2, [sp, #36] @ 0x24 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vldr d7, [sp, #64] @ 0x40 │ │ │ │ │ vstr d3, [r4] │ │ │ │ │ vsub.f64 d6, d7, d0 │ │ │ │ │ vldr d0, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d3, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d1, [sp, #88] @ 0x58 │ │ │ │ │ vsub.f64 d7, d12, d0 │ │ │ │ │ vldr d0, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d2, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d8, [sp, #112] @ 0x70 │ │ │ │ │ - vsub.f64 d5, d14, d0 │ │ │ │ │ - ldr r4, [sp, #24] │ │ │ │ │ vadd.f64 d4, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [sp, #80] @ 0x50 │ │ │ │ │ - vsub.f64 d2, d2, d1 │ │ │ │ │ - ldr r0, [sp, #32] │ │ │ │ │ - ldr r3, [sp, #328] @ 0x148 │ │ │ │ │ + vsub.f64 d5, d14, d0 │ │ │ │ │ + ldr r0, [sp, #24] │ │ │ │ │ + vldr d3, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d1, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d2, [sp, #104] @ 0x68 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ + vldr d8, [sp, #112] @ 0x70 │ │ │ │ │ + ldr r4, [sp, #32] │ │ │ │ │ + vsub.f64 d2, d2, d1 │ │ │ │ │ ldr r7, [sp, #200] @ 0xc8 │ │ │ │ │ - vadd.f64 d1, d10, d2 │ │ │ │ │ - vsub.f64 d2, d2, d10 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #328] @ 0x148 │ │ │ │ │ - ldr r3, [sp, #204] @ 0xcc │ │ │ │ │ vadd.f64 d3, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vldr d5, [sp, #168] @ 0xa8 │ │ │ │ │ - vsub.f64 d0, d4, d1 │ │ │ │ │ - vadd.f64 d4, d4, d1 │ │ │ │ │ - add r5, r3 │ │ │ │ │ + vadd.f64 d1, d10, d2 │ │ │ │ │ + vsub.f64 d2, d2, d10 │ │ │ │ │ vsub.f64 d9, d5, d9 │ │ │ │ │ vldr d5, [sp, #96] @ 0x60 │ │ │ │ │ - vstr d0, [r8] │ │ │ │ │ + vsub.f64 d0, d4, d1 │ │ │ │ │ + vadd.f64 d4, d4, d1 │ │ │ │ │ vsub.f64 d5, d5, d8 │ │ │ │ │ + vstr d0, [r8] │ │ │ │ │ vadd.f64 d8, d9, d5 │ │ │ │ │ vsub.f64 d5, d5, d9 │ │ │ │ │ vadd.f64 d0, d3, d5 │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ - vstr d0, [r4] │ │ │ │ │ - vstr d4, [r0] │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ + vstr d0, [r0] │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ vsub.f64 d5, d6, d8 │ │ │ │ │ - ldr r2, [sp, #4] │ │ │ │ │ vadd.f64 d6, d6, d8 │ │ │ │ │ ldr r4, [sp, #44] @ 0x2c │ │ │ │ │ - add r2, r3 │ │ │ │ │ - ldr r3, [sp, #208] @ 0xd0 │ │ │ │ │ + ldr r3, [sp, #328] @ 0x148 │ │ │ │ │ vstr d5, [ip] │ │ │ │ │ vsub.f64 d5, d2, d7 │ │ │ │ │ - add ip, r3 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ - str r2, [sp, #4] │ │ │ │ │ - vstr d5, [sl] │ │ │ │ │ - add sl, r3 │ │ │ │ │ - ldr r3, [sp, #212] @ 0xd4 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + str r3, [sp, #328] @ 0x148 │ │ │ │ │ + ldr r3, [sp, #204] @ 0xcc │ │ │ │ │ + vstr d5, [lr] │ │ │ │ │ vstr d6, [r4] │ │ │ │ │ - eor.w lr, lr, r3 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ - ldrd r2, r3, [sp, #328] @ 0x148 │ │ │ │ │ + ldr r7, [sp, #4] │ │ │ │ │ + add r5, r3 │ │ │ │ │ + ldr r2, [sp, #328] @ 0x148 │ │ │ │ │ + add r7, r3 │ │ │ │ │ + ldr r3, [sp, #208] @ 0xd0 │ │ │ │ │ + str r7, [sp, #4] │ │ │ │ │ + add ip, r3 │ │ │ │ │ + add lr, r3 │ │ │ │ │ + ldr r3, [sp, #212] @ 0xd4 │ │ │ │ │ + eor.w fp, fp, r3 │ │ │ │ │ + ldr r3, [sp, #332] @ 0x14c │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 68 │ │ │ │ │ + bne.w 78 │ │ │ │ │ add sp, #220 @ 0xdc │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -0000057c : │ │ │ │ │ +000005b0 : │ │ │ │ │ fftw_codelet_hc2cf_12(): │ │ │ │ │ - ldr r2, [pc, #12] @ (58c ) │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - ldr r1, [pc, #12] @ (590 ) │ │ │ │ │ + ldr r2, [pc, #12] @ (5c0 ) │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + ldr r1, [pc, #12] @ (5c4 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2c_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + .word 0x00000006 │ │ │ │ │ R_ARM_REL32 hc2cf_12 │ │ │ ├── hc2cf_16.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2804 (bytes into file) │ │ │ │ │ + Start of section headers: 2860 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0xaf4: │ │ │ │ │ +There are 14 section headers, starting at offset 0xb2c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0007b8 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000a3c 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0007ec 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0007ec 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0007ec 000009 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 0007f5 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0007fd 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000a64 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 00082d 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00082d 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000860 000150 10 12 16 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 0009b0 00008c 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000a7c 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0007f0 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000a74 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000824 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000824 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000824 000009 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 00082d 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000835 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000a9c 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000865 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000865 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000898 000150 10 12 16 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0009e8 00008c 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000ab4 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 21 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1952 FUNC LOCAL DEFAULT 1 hc2cf_16 │ │ │ │ │ + 1: 00000001 2008 FUNC LOCAL DEFAULT 1 hc2cf_16 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000050 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000068 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000798 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 000007a0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 000007b0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000068 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000080 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000007d0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 000007d8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 000007e8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 13: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 14: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 15: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 18: 000007a1 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cf_16 │ │ │ │ │ + 18: 000007d9 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cf_16 │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2c_register │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hc2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xa3c contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xa74 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000060 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000064 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000007b0 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000007b4 00000103 R_ARM_REL32 00000001 hc2cf_16 │ │ │ │ │ -000007aa 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ +00000078 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000007c 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +000007e8 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000007ec 00000103 R_ARM_REL32 00000001 hc2cf_16 │ │ │ │ │ +000007e4 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xa64 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xa9c contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000a02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001402 R_ARM_ABS32 00000000 fftw_rdft_hc2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,396 +1,395 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hc2cf_16(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r8, r1 │ │ │ │ │ - mov sl, r2 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + mov r4, r3 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov sl, r1 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + mov fp, r2 │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #332 @ 0x14c │ │ │ │ │ - mov fp, r3 │ │ │ │ │ - ldr r3, [pc, #76] @ (60 ) │ │ │ │ │ - ldrd r2, r1, [sp, #440] @ 0x1b8 │ │ │ │ │ - add r3, pc │ │ │ │ │ - ldr r4, [sp, #436] @ 0x1b4 │ │ │ │ │ + ldrd r5, r2, [sp, #436] @ 0x1b4 │ │ │ │ │ + ldr r1, [sp, #444] @ 0x1bc │ │ │ │ │ + ldr r3, [pc, #80] @ (78 ) │ │ │ │ │ cmp r2, r1 │ │ │ │ │ - bge.w 788 │ │ │ │ │ + add r3, pc │ │ │ │ │ + bge.w 7b2 │ │ │ │ │ ldr r2, [sp, #448] @ 0x1c0 │ │ │ │ │ - movs r1, #240 @ 0xf0 │ │ │ │ │ - mov ip, r8 │ │ │ │ │ - mov r7, r0 │ │ │ │ │ - vldr d15, [pc, #36] @ 50 │ │ │ │ │ - mov lr, sl │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ + mov r6, r0 │ │ │ │ │ + mov ip, sl │ │ │ │ │ + mov lr, fp │ │ │ │ │ + mov r8, r4 │ │ │ │ │ + vldr d15, [pc, #44] @ 68 │ │ │ │ │ + mov r9, r5 │ │ │ │ │ + vldr d14, [pc, #44] @ 70 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ str r2, [sp, #316] @ 0x13c │ │ │ │ │ - negs r2, r2 │ │ │ │ │ + rsb r2, r2, #0 │ │ │ │ │ str r2, [sp, #320] @ 0x140 │ │ │ │ │ - ldr r2, [pc, #44] @ (64 ) │ │ │ │ │ - mov r8, fp │ │ │ │ │ - vldr d14, [pc, #28] @ 58 │ │ │ │ │ - mov r9, r4 │ │ │ │ │ + ldr r2, [pc, #40] @ (7c ) │ │ │ │ │ ldr r3, [r3, r2] │ │ │ │ │ - ldr r2, [sp, #440] @ 0x1b8 │ │ │ │ │ + ldr r2, [sp, #432] @ 0x1b0 │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ str r3, [sp, #324] @ 0x144 │ │ │ │ │ - ldr r3, [sp, #432] @ 0x1b0 │ │ │ │ │ - mla r6, r1, r2, r3 │ │ │ │ │ - b.n 68 │ │ │ │ │ + ldr r3, [sp, #440] @ 0x1b8 │ │ │ │ │ + rsb r3, r3, r3, lsl #4 │ │ │ │ │ + add.w r7, r2, r3, lsl #4 │ │ │ │ │ + b.n 80 │ │ │ │ │ + nop │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ - .word 0x00000046 │ │ │ │ │ + .word 0x0000004a │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ mov.w r3, r9, lsl #5 │ │ │ │ │ - vldr d1, [r6, #-120] @ 0xffffff88 │ │ │ │ │ + vldr d3, [r7, #-128] @ 0xffffff80 │ │ │ │ │ add.w r1, lr, r3 │ │ │ │ │ - adds r2, r7, r3 │ │ │ │ │ - vldr d3, [r6, #-128] @ 0xffffff80 │ │ │ │ │ - movs r4, #48 @ 0x30 │ │ │ │ │ - vldr d5, [lr] │ │ │ │ │ + vldr d1, [r7, #-120] @ 0xffffff88 │ │ │ │ │ + add.w r2, r6, r3 │ │ │ │ │ vldr d2, [r1] │ │ │ │ │ + strd r2, r1, [sp, #4] │ │ │ │ │ + add.w r1, r9, r9, lsl #1 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - mul.w r5, r4, r9 │ │ │ │ │ - vldr d4, [r7] │ │ │ │ │ + mov.w r2, r9, lsl #4 │ │ │ │ │ + mov.w r5, r1, lsl #4 │ │ │ │ │ + vldr d5, [lr] │ │ │ │ │ + add.w sl, lr, r2 │ │ │ │ │ + add.w r0, r6, r2 │ │ │ │ │ + add.w r4, r0, r3 │ │ │ │ │ + str r2, [sp, #0] │ │ │ │ │ + mov.w r2, r9, lsl #3 │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ - str r2, [sp, #4] │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + strd r0, r4, [sp, #12] │ │ │ │ │ + add.w fp, r6, r2 │ │ │ │ │ + str r5, [sp, #72] @ 0x48 │ │ │ │ │ + add.w r5, fp, r3 │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - mov.w r2, r9, lsl #4 │ │ │ │ │ - str r1, [sp, #8] │ │ │ │ │ - add.w sl, lr, r2 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - add.w r0, sl, r3 │ │ │ │ │ - adds r4, r1, r3 │ │ │ │ │ + vldr d1, [r7, #-56] @ 0xffffffc8 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ - vldr d1, [r6, #-56] @ 0xffffffc8 │ │ │ │ │ - str r1, [sp, #12] │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ - str r4, [sp, #16] │ │ │ │ │ vadd.f64 d11, d4, d6 │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vldr d6, [sl] │ │ │ │ │ - str r5, [sp, #72] @ 0x48 │ │ │ │ │ - movs r5, #40 @ 0x28 │ │ │ │ │ - str r0, [sp, #20] │ │ │ │ │ vsub.f64 d3, d5, d7 │ │ │ │ │ vadd.f64 d12, d5, d7 │ │ │ │ │ - vstr d4, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d7, [r6, #-192] @ 0xffffff40 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - mov.w r1, r9, lsl #3 │ │ │ │ │ + vldr d7, [r7, #-192] @ 0xffffff40 │ │ │ │ │ vstr d3, [sp, #80] @ 0x50 │ │ │ │ │ - add.w fp, r7, r1 │ │ │ │ │ - vldr d3, [r6, #-184] @ 0xffffff48 │ │ │ │ │ - add.w r2, fp, r3 │ │ │ │ │ + vldr d3, [r7, #-184] @ 0xffffff48 │ │ │ │ │ + vstr d4, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ + add.w r0, sl, r3 │ │ │ │ │ vstr d11, [sp, #264] @ 0x108 │ │ │ │ │ - vstr d12, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d2, [r0] │ │ │ │ │ + str r0, [sp, #20] │ │ │ │ │ + add.w r0, r9, r9, lsl #2 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ + vstr d12, [sp, #272] @ 0x110 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ vmla.f64 d5, d4, d7 │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ - vldr d3, [r6, #-64] @ 0xffffffc0 │ │ │ │ │ + vldr d3, [r7, #-64] @ 0xffffffc0 │ │ │ │ │ vnmls.f64 d4, d6, d7 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ - add.w r4, lr, r1 │ │ │ │ │ - mov r0, r4 │ │ │ │ │ + add.w r4, lr, r2 │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ vsub.f64 d1, d5, d6 │ │ │ │ │ vadd.f64 d2, d5, d6 │ │ │ │ │ - vldr d5, [r6, #-224] @ 0xffffff20 │ │ │ │ │ + vldr d5, [r7, #-224] @ 0xffffff20 │ │ │ │ │ vsub.f64 d0, d4, d7 │ │ │ │ │ vadd.f64 d7, d4, d7 │ │ │ │ │ - vstr d2, [sp, #96] @ 0x60 │ │ │ │ │ vldr d4, [r4] │ │ │ │ │ - mul.w r4, r5, r9 │ │ │ │ │ + vstr d2, [sp, #96] @ 0x60 │ │ │ │ │ vstr d1, [sp, #104] @ 0x68 │ │ │ │ │ - movs r5, #56 @ 0x38 │ │ │ │ │ vstr d0, [sp, #112] @ 0x70 │ │ │ │ │ vstr d7, [sp, #120] @ 0x78 │ │ │ │ │ vldr d7, [fp] │ │ │ │ │ - vldr d3, [r6, #-216] @ 0xffffff28 │ │ │ │ │ - str r2, [sp, #28] │ │ │ │ │ - vldr d1, [r6, #-88] @ 0xffffffa8 │ │ │ │ │ + vldr d3, [r7, #-216] @ 0xffffff28 │ │ │ │ │ + strd r4, r5, [sp, #24] │ │ │ │ │ + vldr d1, [r7, #-88] @ 0xffffffa8 │ │ │ │ │ vmul.f64 d6, d4, d3 │ │ │ │ │ - str r0, [sp, #24] │ │ │ │ │ vmla.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ - vldr d3, [r6, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d3, [r7, #-96] @ 0xffffffa0 │ │ │ │ │ vnmls.f64 d7, d4, d5 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - adds r2, r0, r3 │ │ │ │ │ - mul.w r0, r5, r9 │ │ │ │ │ - str r2, [sp, #32] │ │ │ │ │ - movs r5, #24 │ │ │ │ │ - vldr d2, [r2] │ │ │ │ │ - adds r2, r7, r0 │ │ │ │ │ - str r2, [sp, #36] @ 0x24 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + add.w r5, r4, r3 │ │ │ │ │ + sub.w r4, r2, r9 │ │ │ │ │ + vldr d2, [r5] │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + str r5, [sp, #32] │ │ │ │ │ + add.w r5, r6, r4 │ │ │ │ │ + str r5, [sp, #36] @ 0x24 │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ vmla.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - vldr d1, [r6, #-152] @ 0xffffff68 │ │ │ │ │ + vldr d1, [r7, #-152] @ 0xffffff68 │ │ │ │ │ vnmls.f64 d5, d2, d3 │ │ │ │ │ - vldr d3, [r6, #-24] @ 0xffffffe8 │ │ │ │ │ + vldr d3, [r7, #-24] @ 0xffffffe8 │ │ │ │ │ vadd.f64 d8, d6, d4 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vadd.f64 d9, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [r6, #-32] @ 0xffffffe0 │ │ │ │ │ + vldr d5, [r7, #-32] @ 0xffffffe0 │ │ │ │ │ vstr d8, [sp, #128] @ 0x80 │ │ │ │ │ vsub.f64 d10, d7, d6 │ │ │ │ │ vadd.f64 d6, d7, d6 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - add.w r2, lr, r0 │ │ │ │ │ - str r2, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, lr, r4 │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ + str r5, [sp, #40] @ 0x28 │ │ │ │ │ + add.w r5, r6, r1 │ │ │ │ │ vstr d9, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - mul.w r2, r5, r9 │ │ │ │ │ - vstr d6, [sp, #152] @ 0x98 │ │ │ │ │ - adds r5, r7, r2 │ │ │ │ │ str r5, [sp, #44] @ 0x2c │ │ │ │ │ - vmul.f64 d6, d4, d3 │ │ │ │ │ + vstr d6, [sp, #152] @ 0x98 │ │ │ │ │ vstr d10, [sp, #144] @ 0x90 │ │ │ │ │ + vmul.f64 d6, d4, d3 │ │ │ │ │ vmla.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ - vldr d3, [r6, #-160] @ 0xffffff60 │ │ │ │ │ + vldr d3, [r7, #-160] @ 0xffffff60 │ │ │ │ │ vnmls.f64 d7, d4, d5 │ │ │ │ │ vldr d5, [r5] │ │ │ │ │ - add.w r5, lr, r2 │ │ │ │ │ - str r5, [sp, #48] @ 0x30 │ │ │ │ │ + add.w r5, lr, r1 │ │ │ │ │ vldr d2, [r5] │ │ │ │ │ - add.w r5, ip, r0 │ │ │ │ │ - add r0, r8 │ │ │ │ │ - str r5, [sp, #52] @ 0x34 │ │ │ │ │ - str r0, [sp, #56] @ 0x38 │ │ │ │ │ + str r5, [sp, #48] @ 0x30 │ │ │ │ │ + add.w r5, ip, r4 │ │ │ │ │ + add r4, r8 │ │ │ │ │ + strd r5, r4, [sp, #52] @ 0x34 │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ vmla.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vnmls.f64 d5, d2, d3 │ │ │ │ │ vadd.f64 d9, d6, d4 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vadd.f64 d10, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ vstr d9, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ - add.w r0, ip, r4 │ │ │ │ │ - add r4, r8 │ │ │ │ │ + add.w r4, ip, r0 │ │ │ │ │ + add r0, r8 │ │ │ │ │ vadd.f64 d8, d6, d7 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ vstr d10, [sp, #168] @ 0xa8 │ │ │ │ │ vstr d8, [sp, #176] @ 0xb0 │ │ │ │ │ vstr d7, [sp, #184] @ 0xb8 │ │ │ │ │ vldr d7, [r5] │ │ │ │ │ - add.w r5, ip, r2 │ │ │ │ │ - vldr d6, [r6, #-16] │ │ │ │ │ - add r2, r8 │ │ │ │ │ - vldr d10, [r6, #-8] │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ - vldr d1, [r6, #-136] @ 0xffffff78 │ │ │ │ │ + vldr d6, [r7, #-16] │ │ │ │ │ + str r4, [sp, #60] @ 0x3c │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + add.w r4, ip, r1 │ │ │ │ │ + add r1, r8 │ │ │ │ │ + vldr d10, [r7, #-8] │ │ │ │ │ + str r4, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d8, [r7, #-200] @ 0xffffff38 │ │ │ │ │ + vldr d1, [r7, #-136] @ 0xffffff78 │ │ │ │ │ vmul.f64 d9, d5, d10 │ │ │ │ │ vmul.f64 d10, d7, d10 │ │ │ │ │ + ldr r5, [sp, #72] @ 0x48 │ │ │ │ │ vmla.f64 d9, d7, d6 │ │ │ │ │ - vldr d7, [r6, #-80] @ 0xffffffb0 │ │ │ │ │ - str r5, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d8, [r6, #-200] @ 0xffffff38 │ │ │ │ │ vnmls.f64 d10, d5, d6 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - vldr d5, [r6, #-72] @ 0xffffffb8 │ │ │ │ │ - str r0, [sp, #60] @ 0x3c │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + vldr d5, [r7, #-72] @ 0xffffffb8 │ │ │ │ │ + vldr d7, [r7, #-80] @ 0xffffffb0 │ │ │ │ │ vmul.f64 d3, d6, d5 │ │ │ │ │ vmla.f64 d3, d4, d7 │ │ │ │ │ vmul.f64 d4, d4, d5 │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ - add.w r5, ip, r1 │ │ │ │ │ - add r1, r8 │ │ │ │ │ - str r5, [sp, #68] @ 0x44 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + add.w r4, ip, r2 │ │ │ │ │ + add r2, r8 │ │ │ │ │ + vldr d0, [r2] │ │ │ │ │ + str r4, [sp, #68] @ 0x44 │ │ │ │ │ vnmls.f64 d4, d6, d7 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - vldr d7, [r6, #-144] @ 0xffffff70 │ │ │ │ │ - vldr d0, [r1] │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + vldr d7, [r7, #-144] @ 0xffffff70 │ │ │ │ │ vmul.f64 d2, d6, d1 │ │ │ │ │ vmla.f64 d2, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - vldr d1, [r6, #-208] @ 0xffffff30 │ │ │ │ │ + vldr d1, [r7, #-208] @ 0xffffff30 │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ vmul.f64 d6, d0, d8 │ │ │ │ │ - ldr r5, [sp, #72] @ 0x48 │ │ │ │ │ + add.w r4, ip, r5 │ │ │ │ │ + add r5, r8 │ │ │ │ │ + str r4, [sp, #72] @ 0x48 │ │ │ │ │ vmla.f64 d6, d7, d1 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ - add.w r0, ip, r5 │ │ │ │ │ - add r5, r8 │ │ │ │ │ - str r0, [sp, #72] @ 0x48 │ │ │ │ │ - vnmls.f64 d7, d0, d1 │ │ │ │ │ - vadd.f64 d0, d9, d2 │ │ │ │ │ vadd.f64 d12, d10, d5 │ │ │ │ │ - vsub.f64 d9, d9, d2 │ │ │ │ │ vsub.f64 d10, d10, d5 │ │ │ │ │ vldr d5, [r8] │ │ │ │ │ + vnmls.f64 d7, d0, d1 │ │ │ │ │ + vadd.f64 d0, d9, d2 │ │ │ │ │ + vsub.f64 d9, d9, d2 │ │ │ │ │ vadd.f64 d11, d3, d6 │ │ │ │ │ - vstr d0, [sp, #192] @ 0xc0 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ + vstr d0, [sp, #192] @ 0xc0 │ │ │ │ │ vstr d12, [sp, #208] @ 0xd0 │ │ │ │ │ vadd.f64 d1, d4, d7 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ vsub.f64 d8, d0, d11 │ │ │ │ │ vstr d11, [sp, #200] @ 0xc8 │ │ │ │ │ vadd.f64 d11, d10, d6 │ │ │ │ │ vsub.f64 d10, d10, d6 │ │ │ │ │ - vldr d6, [r6, #-240] @ 0xffffff10 │ │ │ │ │ + vldr d6, [r7, #-240] @ 0xffffff10 │ │ │ │ │ vstr d1, [sp, #216] @ 0xd8 │ │ │ │ │ vsub.f64 d1, d12, d1 │ │ │ │ │ vsub.f64 d12, d9, d7 │ │ │ │ │ vadd.f64 d9, d9, d7 │ │ │ │ │ vldr d7, [ip] │ │ │ │ │ vstr d8, [sp, #280] @ 0x118 │ │ │ │ │ vstr d1, [sp, #288] @ 0x120 │ │ │ │ │ - vldr d1, [r6, #-232] @ 0xffffff18 │ │ │ │ │ + vldr d1, [r7, #-232] @ 0xffffff18 │ │ │ │ │ vmul.f64 d2, d5, d1 │ │ │ │ │ vmul.f64 d1, d7, d1 │ │ │ │ │ vmla.f64 d2, d7, d6 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - add.w r0, ip, r3 │ │ │ │ │ - add r3, r8 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ vnmls.f64 d1, d5, d6 │ │ │ │ │ + add.w r4, ip, r3 │ │ │ │ │ + add r3, r8 │ │ │ │ │ + vldr d6, [r7, #-48] @ 0xffffffd0 │ │ │ │ │ vldr d5, [r5] │ │ │ │ │ - vldr d6, [r6, #-48] @ 0xffffffd0 │ │ │ │ │ - vldr d8, [r6, #-40] @ 0xffffffd8 │ │ │ │ │ - vldr d3, [r6, #-104] @ 0xffffff98 │ │ │ │ │ - str r0, [sp, #76] @ 0x4c │ │ │ │ │ + vldr d8, [r7, #-40] @ 0xffffffd8 │ │ │ │ │ + str r4, [sp, #76] @ 0x4c │ │ │ │ │ + vldr d13, [r7, #-168] @ 0xffffff58 │ │ │ │ │ + vldr d3, [r7, #-104] @ 0xffffff98 │ │ │ │ │ vmul.f64 d0, d5, d8 │ │ │ │ │ vmul.f64 d8, d7, d8 │ │ │ │ │ vmla.f64 d0, d7, d6 │ │ │ │ │ - vldr d7, [r6, #-112] @ 0xffffff90 │ │ │ │ │ - vldr d13, [r6, #-168] @ 0xffffff58 │ │ │ │ │ vnmls.f64 d8, d5, d6 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ - ldr r0, [sp, #0] │ │ │ │ │ + vldr d7, [r7, #-112] @ 0xffffff90 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ vmul.f64 d4, d6, d3 │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ vmla.f64 d4, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d3 │ │ │ │ │ - add r0, ip │ │ │ │ │ - str r0, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d3, [r6, #-176] @ 0xffffff50 │ │ │ │ │ - adds r6, #240 @ 0xf0 │ │ │ │ │ + add r4, ip │ │ │ │ │ + vldr d3, [r7, #-176] @ 0xffffff50 │ │ │ │ │ + add.w r7, r7, #240 @ 0xf0 │ │ │ │ │ + str r4, [sp, #312] @ 0x138 │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - ldr r0, [sp, #0] │ │ │ │ │ - add r0, r8 │ │ │ │ │ - str r0, [sp, #0] │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - ldr r0, [sp, #8] │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ + add r4, r8 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ + ldr r4, [sp, #8] │ │ │ │ │ vstr d7, [sp, #224] @ 0xe0 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ vmla.f64 d7, d6, d3 │ │ │ │ │ vmul.f64 d6, d6, d13 │ │ │ │ │ vldr d13, [sp, #224] @ 0xe0 │ │ │ │ │ vnmls.f64 d6, d13, d3 │ │ │ │ │ vadd.f64 d13, d2, d4 │ │ │ │ │ vsub.f64 d4, d2, d4 │ │ │ │ │ vldr d2, [sp, #176] @ 0xb0 │ │ │ │ │ vadd.f64 d3, d0, d7 │ │ │ │ │ - vstr d13, [sp, #224] @ 0xe0 │ │ │ │ │ vsub.f64 d0, d7, d0 │ │ │ │ │ + vstr d13, [sp, #224] @ 0xe0 │ │ │ │ │ vstr d3, [sp, #232] @ 0xe8 │ │ │ │ │ vsub.f64 d3, d13, d3 │ │ │ │ │ vadd.f64 d13, d8, d6 │ │ │ │ │ vsub.f64 d6, d6, d8 │ │ │ │ │ vstr d3, [sp, #240] @ 0xf0 │ │ │ │ │ vadd.f64 d3, d1, d5 │ │ │ │ │ - vsub.f64 d8, d4, d6 │ │ │ │ │ vsub.f64 d5, d1, d5 │ │ │ │ │ + vsub.f64 d8, d4, d6 │ │ │ │ │ vadd.f64 d6, d4, d6 │ │ │ │ │ vldr d1, [sp, #184] @ 0xb8 │ │ │ │ │ - vstr d13, [sp, #256] @ 0x100 │ │ │ │ │ - vstr d3, [sp, #248] @ 0xf8 │ │ │ │ │ - vsub.f64 d13, d3, d13 │ │ │ │ │ vadd.f64 d7, d5, d0 │ │ │ │ │ vsub.f64 d5, d5, d0 │ │ │ │ │ + vldr d0, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d3, [sp, #248] @ 0xf8 │ │ │ │ │ vstr d6, [sp, #304] @ 0x130 │ │ │ │ │ vldr d6, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d0, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d13, [sp, #256] @ 0x100 │ │ │ │ │ + vsub.f64 d13, d3, d13 │ │ │ │ │ vstr d5, [sp, #296] @ 0x128 │ │ │ │ │ - vsub.f64 d6, d6, d2 │ │ │ │ │ vldr d5, [sp, #88] @ 0x58 │ │ │ │ │ + vsub.f64 d6, d6, d2 │ │ │ │ │ vsub.f64 d4, d5, d0 │ │ │ │ │ - vldr d0, [pc, #828] @ 798 │ │ │ │ │ + vldr d0, [pc, #844] @ 7d0 │ │ │ │ │ vmul.f64 d6, d6, d15 │ │ │ │ │ vadd.f64 d2, d4, d6 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vldr d6, [sp, #152] @ 0x98 │ │ │ │ │ vsub.f64 d5, d1, d6 │ │ │ │ │ - vldr d1, [sp, #104] @ 0x68 │ │ │ │ │ vldr d6, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d1, [sp, #104] @ 0x68 │ │ │ │ │ vmul.f64 d5, d5, d15 │ │ │ │ │ vadd.f64 d6, d6, d1 │ │ │ │ │ vmul.f64 d1, d8, d0 │ │ │ │ │ vmul.f64 d8, d8, d14 │ │ │ │ │ vmla.f64 d1, d7, d14 │ │ │ │ │ vadd.f64 d3, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vmul.f64 d5, d11, d14 │ │ │ │ │ vnmls.f64 d5, d12, d0 │ │ │ │ │ vadd.f64 d0, d1, d5 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ - vldr d1, [pc, #752] @ 798 │ │ │ │ │ + vldr d1, [pc, #768] @ 7d0 │ │ │ │ │ vnmls.f64 d8, d7, d1 │ │ │ │ │ vmul.f64 d7, d12, d14 │ │ │ │ │ vmla.f64 d7, d11, d1 │ │ │ │ │ vsub.f64 d1, d8, d7 │ │ │ │ │ vadd.f64 d7, d8, d7 │ │ │ │ │ vsub.f64 d8, d2, d0 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ - vstr d8, [r0] │ │ │ │ │ + vstr d8, [r4] │ │ │ │ │ vsub.f64 d8, d7, d3 │ │ │ │ │ vadd.f64 d3, d3, d7 │ │ │ │ │ vsub.f64 d7, d4, d1 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ + ldr r4, [sp, #24] │ │ │ │ │ vldr d11, [sp, #264] @ 0x108 │ │ │ │ │ vldr d12, [sp, #272] @ 0x110 │ │ │ │ │ vstr d8, [r3] │ │ │ │ │ ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ vldr d8, [sp, #128] @ 0x80 │ │ │ │ │ vldr d0, [sp, #288] @ 0x120 │ │ │ │ │ - ldr r0, [sp, #24] │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ vldr d2, [sp, #96] @ 0x60 │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ vstr d7, [lr] │ │ │ │ │ vsub.f64 d7, d5, d6 │ │ │ │ │ - ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vldr d3, [sp, #168] @ 0xa8 │ │ │ │ │ + ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ vsub.f64 d5, d11, d2 │ │ │ │ │ + vldr d3, [sp, #168] @ 0xa8 │ │ │ │ │ vstr d7, [r8] │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ - vldr d4, [sp, #136] @ 0x88 │ │ │ │ │ ldr r3, [sp, #52] @ 0x34 │ │ │ │ │ + vldr d4, [sp, #136] @ 0x88 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + ldr r3, [sp, #32] │ │ │ │ │ vsub.f64 d7, d4, d3 │ │ │ │ │ vldr d3, [sp, #160] @ 0xa0 │ │ │ │ │ vldr d4, [sp, #240] @ 0xf0 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ vsub.f64 d6, d3, d8 │ │ │ │ │ vldr d3, [sp, #120] @ 0x78 │ │ │ │ │ vadd.f64 d2, d5, d7 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ vldr d8, [sp, #280] @ 0x118 │ │ │ │ │ vadd.f64 d4, d4, d13 │ │ │ │ │ vsub.f64 d7, d12, d3 │ │ │ │ │ - ldr r3, [sp, #32] │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vsub.f64 d6, d8, d0 │ │ │ │ │ vadd.f64 d8, d8, d0 │ │ │ │ │ vadd.f64 d1, d4, d6 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vldr d4, [sp, #240] @ 0xf0 │ │ │ │ │ @@ -400,48 +399,47 @@ │ │ │ │ │ vsub.f64 d0, d4, d8 │ │ │ │ │ vadd.f64 d4, d4, d8 │ │ │ │ │ vsub.f64 d8, d2, d1 │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ vmul.f64 d4, d4, d15 │ │ │ │ │ vmul.f64 d0, d0, d15 │ │ │ │ │ vstr d8, [r3] │ │ │ │ │ - ldr r3, [sp, #12] │ │ │ │ │ + ldr r3, [sp, #312] @ 0x138 │ │ │ │ │ vsub.f64 d8, d4, d3 │ │ │ │ │ vadd.f64 d3, d3, d4 │ │ │ │ │ vsub.f64 d4, d5, d0 │ │ │ │ │ vadd.f64 d5, d5, d0 │ │ │ │ │ - vstr d8, [r4] │ │ │ │ │ - vstr d2, [r3] │ │ │ │ │ - ldr r3, [sp, #312] @ 0x138 │ │ │ │ │ + vstr d8, [r0] │ │ │ │ │ + ldr r0, [sp, #12] │ │ │ │ │ + vstr d2, [r0] │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ - vstr d4, [r0] │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ vsub.f64 d4, d6, d7 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d4, [r1] │ │ │ │ │ - ldr r4, [sp, #16] │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ + ldrd r4, r0, [sp, #16] │ │ │ │ │ + ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ vldr d0, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d1, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d13, [sp, #304] @ 0x130 │ │ │ │ │ vstr d5, [r4] │ │ │ │ │ + ldr r4, [sp, #60] @ 0x3c │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vldr d5, [sp, #88] @ 0x58 │ │ │ │ │ - ldr r4, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d8, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d1, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d13, [sp, #304] @ 0x130 │ │ │ │ │ vadd.f64 d6, d5, d0 │ │ │ │ │ + vldr d8, [sp, #296] @ 0x128 │ │ │ │ │ vldr d5, [sp, #152] @ 0x98 │ │ │ │ │ vldr d0, [sp, #184] @ 0xb8 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ - ldr r0, [sp, #20] │ │ │ │ │ + ldr r3, [sp, #68] @ 0x44 │ │ │ │ │ vadd.f64 d7, d5, d0 │ │ │ │ │ vldr d0, [sp, #144] @ 0x90 │ │ │ │ │ vldr d5, [sp, #176] @ 0xb0 │ │ │ │ │ - ldr r1, [sp, #68] @ 0x44 │ │ │ │ │ - ldr r3, [sp, #28] │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ vadd.f64 d5, d0, d5 │ │ │ │ │ - vldr d0, [pc, #392] @ 798 │ │ │ │ │ + vldr d0, [pc, #408] @ 7d0 │ │ │ │ │ vadd.f64 d2, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [sp, #80] @ 0x50 │ │ │ │ │ vmul.f64 d5, d5, d15 │ │ │ │ │ vmul.f64 d4, d10, d0 │ │ │ │ │ vsub.f64 d7, d7, d1 │ │ │ │ │ vnmls.f64 d4, d9, d14 │ │ │ │ │ @@ -462,104 +460,108 @@ │ │ │ │ │ vsub.f64 d0, d2, d1 │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ vstr d0, [r0] │ │ │ │ │ vsub.f64 d0, d5, d3 │ │ │ │ │ vadd.f64 d3, d3, d5 │ │ │ │ │ vsub.f64 d5, d6, d8 │ │ │ │ │ vadd.f64 d6, d6, d8 │ │ │ │ │ - ldr r0, [sp, #60] @ 0x3c │ │ │ │ │ vstr d0, [r5] │ │ │ │ │ vstr d2, [fp] │ │ │ │ │ - vstr d3, [r1] │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ + vldr d2, [sp, #96] @ 0x60 │ │ │ │ │ vstr d5, [sl] │ │ │ │ │ vsub.f64 d5, d4, d7 │ │ │ │ │ - ldr r1, [sp, #0] │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vldr d2, [sp, #96] @ 0x60 │ │ │ │ │ + ldr r3, [sp, #0] │ │ │ │ │ + ldr r5, [sp, #28] │ │ │ │ │ vldr d4, [sp, #136] @ 0x88 │ │ │ │ │ - vstr d5, [r1] │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - vadd.f64 d6, d11, d2 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ vldr d5, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d6, [r5] │ │ │ │ │ + vadd.f64 d6, d11, d2 │ │ │ │ │ vldr d2, [sp, #160] @ 0xa0 │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ vadd.f64 d7, d5, d2 │ │ │ │ │ vadd.f64 d5, d4, d10 │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d13, [sp, #224] @ 0xe0 │ │ │ │ │ - vldr d2, [sp, #232] @ 0xe8 │ │ │ │ │ - vadd.f64 d7, d12, d7 │ │ │ │ │ + ldr r2, [sp, #4] │ │ │ │ │ vldr d0, [sp, #192] @ 0xc0 │ │ │ │ │ vldr d11, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d12, [sp, #208] @ 0xd0 │ │ │ │ │ - ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ + vadd.f64 d7, d12, d7 │ │ │ │ │ + vldr d13, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d2, [sp, #232] @ 0xe8 │ │ │ │ │ vadd.f64 d4, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ + ldr r5, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d12, [sp, #208] @ 0xd0 │ │ │ │ │ vadd.f64 d5, d13, d2 │ │ │ │ │ vadd.f64 d2, d0, d11 │ │ │ │ │ - vldr d13, [sp, #256] @ 0x100 │ │ │ │ │ + ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ vldr d0, [sp, #248] @ 0xf8 │ │ │ │ │ - ldr r5, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d13, [sp, #256] @ 0x100 │ │ │ │ │ vadd.f64 d1, d5, d2 │ │ │ │ │ vsub.f64 d2, d2, d5 │ │ │ │ │ + ldr r4, [sp, #76] @ 0x4c │ │ │ │ │ vldr d5, [sp, #216] @ 0xd8 │ │ │ │ │ vadd.f64 d0, d0, d13 │ │ │ │ │ - ldr r0, [sp, #76] @ 0x4c │ │ │ │ │ vadd.f64 d5, d12, d5 │ │ │ │ │ vsub.f64 d8, d0, d5 │ │ │ │ │ vadd.f64 d5, d0, d5 │ │ │ │ │ vsub.f64 d0, d3, d1 │ │ │ │ │ vadd.f64 d3, d3, d1 │ │ │ │ │ - vstr d0, [r3] │ │ │ │ │ + vstr d0, [r5] │ │ │ │ │ vsub.f64 d0, d5, d4 │ │ │ │ │ - ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ vsub.f64 d5, d6, d8 │ │ │ │ │ + ldr r5, [sp, #48] @ 0x30 │ │ │ │ │ vadd.f64 d6, d6, d8 │ │ │ │ │ vstr d0, [r3] │ │ │ │ │ - vstr d3, [r7] │ │ │ │ │ ldr r3, [sp, #440] @ 0x1b8 │ │ │ │ │ + vstr d3, [r6] │ │ │ │ │ vstr d4, [ip] │ │ │ │ │ vstr d5, [r5] │ │ │ │ │ vsub.f64 d5, d2, d7 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + vadd.f64 d7, d7, d2 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str r3, [sp, #440] @ 0x1b8 │ │ │ │ │ ldr r3, [sp, #316] @ 0x13c │ │ │ │ │ - vadd.f64 d7, d7, d2 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - add r7, r3 │ │ │ │ │ - ldr r2, [sp, #4] │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + ldr r2, [sp, #440] @ 0x1b8 │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + add r6, r3 │ │ │ │ │ add ip, r3 │ │ │ │ │ ldr r3, [sp, #320] @ 0x140 │ │ │ │ │ add lr, r3 │ │ │ │ │ add r8, r3 │ │ │ │ │ ldr r3, [sp, #324] @ 0x144 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ eor.w r9, r9, r3 │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ - ldrd r2, r3, [sp, #440] @ 0x1b8 │ │ │ │ │ + ldr r3, [sp, #444] @ 0x1bc │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 68 │ │ │ │ │ + bne.w 80 │ │ │ │ │ add sp, #332 @ 0x14c │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop │ │ │ │ │ - nop.w │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ │ │ │ │ │ -000007a0 : │ │ │ │ │ +000007d8 : │ │ │ │ │ fftw_codelet_hc2cf_16(): │ │ │ │ │ - ldr r2, [pc, #12] @ (7b0 ) │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - ldr r1, [pc, #12] @ (7b4 ) │ │ │ │ │ + ldr r2, [pc, #12] @ (7e8 ) │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + ldr r1, [pc, #12] @ (7ec ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2c_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + .word 0x00000006 │ │ │ │ │ R_ARM_REL32 hc2cf_16 │ │ │ ├── hc2cf_2.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 912 (bytes into file) │ │ │ │ │ + Start of section headers: 956 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x390: │ │ │ │ │ +There are 14 section headers, starting at offset 0x3bc: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0000fc 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0002e8 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000130 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000130 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000130 000008 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000138 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 000140 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000300 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000170 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000170 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 0001a4 0000f0 10 12 12 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000294 000053 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000318 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000128 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000314 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 00015c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 00015c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 00015c 000008 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000164 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 00016c 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 00032c 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 00019c 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00019c 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 0001d0 0000f0 10 12 12 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0002c0 000053 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000344 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,18 +1,18 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 15 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 228 FUNC LOCAL DEFAULT 1 hc2cf_2 │ │ │ │ │ + 1: 00000001 270 FUNC LOCAL DEFAULT 1 hc2cf_2 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000000f4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000120 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 4: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 8: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 9: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 10: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 11: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 12: 000000e5 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cf_2 │ │ │ │ │ + 12: 00000111 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cf_2 │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2c_register │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hc2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x2e8 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x314 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000000f4 00000903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000000f8 00000103 R_ARM_REL32 00000001 hc2cf_2 │ │ │ │ │ -000000ee 00000d1e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ +00000120 00000903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000124 00000103 R_ARM_REL32 00000001 hc2cf_2 │ │ │ │ │ +0000011c 00000d1e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x300 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x32c contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000402 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000602 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00000e02 R_ARM_ABS32 00000000 fftw_rdft_hc2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,65 +1,70 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hc2cf_2(): │ │ │ │ │ - push {r4, r5, r6, r7, lr} │ │ │ │ │ - ldr r7, [sp, #20] │ │ │ │ │ + str.w r4, [sp, #-20]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ ldrd r4, r6, [sp, #28] │ │ │ │ │ + strd r7, lr, [sp, #12] │ │ │ │ │ + ldr r7, [sp, #20] │ │ │ │ │ ldr r5, [sp, #36] @ 0x24 │ │ │ │ │ add.w ip, r4, #4294967295 @ 0xffffffff │ │ │ │ │ cmp r4, r6 │ │ │ │ │ add.w ip, r7, ip, lsl #4 │ │ │ │ │ - bge.n 7c │ │ │ │ │ + bge.n 8a │ │ │ │ │ cmp r5, #1 │ │ │ │ │ it eq │ │ │ │ │ addeq.w ip, ip, #16 │ │ │ │ │ - bne.n 7e │ │ │ │ │ + bne.n 98 │ │ │ │ │ vldr d2, [ip, #-16] │ │ │ │ │ mov r5, r2 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + cmp r4, r6 │ │ │ │ │ + sub.w r2, r2, #8 │ │ │ │ │ vldr d1, [r1] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + add.w ip, ip, #16 │ │ │ │ │ + vldr d7, [ip, #-24] @ 0xffffffe8 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ - subs r2, #8 │ │ │ │ │ - vldr d7, [ip, #-8] │ │ │ │ │ - cmp r4, r6 │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ vldr d4, [r0] │ │ │ │ │ vldr d5, [r2, #8] │ │ │ │ │ - add.w ip, ip, #16 │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ vsub.f64 d3, d4, d6 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ vstr d3, [r5] │ │ │ │ │ vsub.f64 d3, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ mov r5, r3 │ │ │ │ │ sub.w r3, r3, #8 │ │ │ │ │ vstr d3, [r5] │ │ │ │ │ vstmia r0!, {d6} │ │ │ │ │ vstmia r1!, {d7} │ │ │ │ │ - bne.n 20 │ │ │ │ │ - pop {r4, r5, r6, r7, pc} │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ + bne.n 2a │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ add.w ip, ip, #16 │ │ │ │ │ rsb lr, r5, #0 │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - vldr d1, [ip, #-8] │ │ │ │ │ - cmp r6, r4 │ │ │ │ │ - vldr d3, [ip, #-16] │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ add.w ip, ip, #16 │ │ │ │ │ + cmp r6, r4 │ │ │ │ │ + vldr d3, [ip, #-32] @ 0xffffffe0 │ │ │ │ │ + vldr d1, [ip, #-24] @ 0xffffffe8 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - vmul.f64 d4, d2, d1 │ │ │ │ │ vldr d5, [r0] │ │ │ │ │ + vmul.f64 d4, d2, d1 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ vmla.f64 d4, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ vsub.f64 d3, d5, d4 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ vstr d3, [r2] │ │ │ │ │ @@ -68,24 +73,27 @@ │ │ │ │ │ add r2, lr │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ add r3, lr │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ add r0, r5 │ │ │ │ │ vstr d6, [r1] │ │ │ │ │ add r1, r5 │ │ │ │ │ - bne.n 88 │ │ │ │ │ - pop {r4, r5, r6, r7, pc} │ │ │ │ │ + bne.n a4 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -000000e4 : │ │ │ │ │ +00000110 : │ │ │ │ │ fftw_codelet_hc2cf_2(): │ │ │ │ │ - ldr r2, [pc, #12] @ (f4 ) │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - ldr r1, [pc, #12] @ (f8 ) │ │ │ │ │ + ldr r2, [pc, #12] @ (120 ) │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + ldr r1, [pc, #12] @ (124 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2c_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + .word 0x00000006 │ │ │ │ │ R_ARM_REL32 hc2cf_2 │ │ │ ├── hc2cf_20.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 3584 (bytes into file) │ │ │ │ │ + Start of section headers: 3624 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0xe00: │ │ │ │ │ +There are 14 section headers, starting at offset 0xe28: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000ae4 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000d48 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000b18 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000b18 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000b18 000009 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000b21 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 000b29 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000d70 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000b59 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000b59 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000b8c 000130 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000cbc 00008c 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000d88 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000b0c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000d70 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000b40 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000b40 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000b40 000009 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000b49 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000b51 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000d98 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000b81 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000b81 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000bb4 000130 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000ce4 00008c 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000db0 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 19 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 2764 FUNC LOCAL DEFAULT 1 hc2cf_20 │ │ │ │ │ + 1: 00000001 2804 FUNC LOCAL DEFAULT 1 hc2cf_20 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000009b8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 000009d8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000adc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000009c8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 000009e8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000b04 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 16: 00000acd 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cf_20 │ │ │ │ │ + 16: 00000af5 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cf_20 │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2c_register │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hc2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xd48 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xd70 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000009d0 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -000009d4 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000adc 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000ae0 00000103 R_ARM_REL32 00000001 hc2cf_20 │ │ │ │ │ -00000ad6 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ +000009e0 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +000009e4 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000b04 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000b08 00000103 R_ARM_REL32 00000001 hc2cf_20 │ │ │ │ │ +00000b00 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xd70 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xd98 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001202 R_ARM_ABS32 00000000 fftw_rdft_hc2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,226 +1,221 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hc2cf_20(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov fp, r3 │ │ │ │ │ - mov r9, r1 │ │ │ │ │ - vpush {d8-d15} │ │ │ │ │ - sub.w sp, sp, #516 @ 0x204 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r8, r0 │ │ │ │ │ mov.w r0, #304 @ 0x130 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov r9, r1 │ │ │ │ │ mov sl, r2 │ │ │ │ │ - ldr.w r2, [pc, #2484] @ 9d0 │ │ │ │ │ - ldr r3, [sp, #624] @ 0x270 │ │ │ │ │ - add r2, pc │ │ │ │ │ - ldr r4, [sp, #620] @ 0x26c │ │ │ │ │ - subs r1, r3, #1 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + mov fp, r3 │ │ │ │ │ + vpush {d8-d15} │ │ │ │ │ + sub.w sp, sp, #516 @ 0x204 │ │ │ │ │ + ldrd r5, r3, [sp, #620] @ 0x26c │ │ │ │ │ + ldr.w r2, [pc, #2480] @ 9e0 │ │ │ │ │ + add.w r1, r3, #4294967295 @ 0xffffffff │ │ │ │ │ ldr r3, [sp, #616] @ 0x268 │ │ │ │ │ + add r2, pc │ │ │ │ │ mla r7, r0, r1, r3 │ │ │ │ │ ldrd r3, r1, [sp, #624] @ 0x270 │ │ │ │ │ cmp r3, r1 │ │ │ │ │ - bge.w ac0 │ │ │ │ │ + bge.w ad6 │ │ │ │ │ ldr r3, [sp, #632] @ 0x278 │ │ │ │ │ mov lr, r8 │ │ │ │ │ mov r8, r9 │ │ │ │ │ mov r9, sl │ │ │ │ │ mov sl, fp │ │ │ │ │ - mov fp, r4 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ + mov fp, r5 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ str r3, [sp, #500] @ 0x1f4 │ │ │ │ │ - negs r3, r3 │ │ │ │ │ + rsb r3, r3, #0 │ │ │ │ │ str r3, [sp, #504] @ 0x1f8 │ │ │ │ │ - ldr.w r3, [pc, #2440] @ 9d4 │ │ │ │ │ + ldr.w r3, [pc, #2436] @ 9e4 │ │ │ │ │ ldr r3, [r2, r3] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ str r3, [sp, #508] @ 0x1fc │ │ │ │ │ - movs r3, #40 @ 0x28 │ │ │ │ │ - vldr d4, [r7, #152] @ 0x98 │ │ │ │ │ - vldr d7, [r7, #144] @ 0x90 │ │ │ │ │ + add.w r3, fp, fp, lsl #2 │ │ │ │ │ + vldr d1, [r7, #72] @ 0x48 │ │ │ │ │ mov.w r4, fp, lsl #4 │ │ │ │ │ + mov.w r0, r3, lsl #3 │ │ │ │ │ + vldr d4, [r7, #152] @ 0x98 │ │ │ │ │ add.w r5, sl, r4 │ │ │ │ │ add.w r1, r8, r4 │ │ │ │ │ - mul.w r0, r3, fp │ │ │ │ │ - movs r6, #56 @ 0x38 │ │ │ │ │ - vldr d1, [r7, #72] @ 0x48 │ │ │ │ │ - mov.w ip, #72 @ 0x48 │ │ │ │ │ add.w r2, r9, r0 │ │ │ │ │ add.w r3, lr, r0 │ │ │ │ │ - vldr d2, [r5] │ │ │ │ │ - str r3, [sp, #12] │ │ │ │ │ - mul.w ip, ip, fp │ │ │ │ │ + vldr d7, [r7, #144] @ 0x90 │ │ │ │ │ vldr d5, [r2] │ │ │ │ │ + strd r3, r2, [sp, #8] │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - mul.w r3, r6, fp │ │ │ │ │ - str r2, [sp, #16] │ │ │ │ │ + mov.w r3, fp, lsl #3 │ │ │ │ │ + strd r1, r5, [sp, #16] │ │ │ │ │ + vldr d2, [r5] │ │ │ │ │ + sub.w r2, r3, fp │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ - add.w r2, sl, r3 │ │ │ │ │ + vldr d8, [r7, #232] @ 0xe8 │ │ │ │ │ + add.w r6, r8, r2 │ │ │ │ │ + add r2, sl │ │ │ │ │ + vldr d9, [lr] │ │ │ │ │ + strd r6, r2, [sp, #24] │ │ │ │ │ + vldr d0, [r2] │ │ │ │ │ + add.w r2, r3, fp │ │ │ │ │ vmla.f64 d3, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d4 │ │ │ │ │ + mov.w ip, r2, lsl #3 │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ - add.w r6, r8, r3 │ │ │ │ │ - vldr d0, [r2] │ │ │ │ │ - vldr d8, [r7, #232] @ 0xe8 │ │ │ │ │ + vldr d10, [r9] │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d5, [r7, #64] @ 0x40 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - vldr d9, [lr] │ │ │ │ │ - vldr d10, [r9] │ │ │ │ │ + vldr d5, [r7, #64] @ 0x40 │ │ │ │ │ vmla.f64 d4, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vldr d1, [r7, #224] @ 0xe0 │ │ │ │ │ - str r6, [sp, #28] │ │ │ │ │ - str r1, [sp, #20] │ │ │ │ │ vnmls.f64 d7, d2, d5 │ │ │ │ │ vldr d5, [r6] │ │ │ │ │ vmul.f64 d2, d0, d8 │ │ │ │ │ mov.w r6, fp, lsl #5 │ │ │ │ │ - add.w r1, r9, r6 │ │ │ │ │ - add.w r3, lr, r6 │ │ │ │ │ + add.w r5, r9, r6 │ │ │ │ │ + add.w r1, lr, r6 │ │ │ │ │ vmla.f64 d2, d5, d1 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ - str r5, [sp, #24] │ │ │ │ │ - adds r5, r3, r0 │ │ │ │ │ - str r2, [sp, #32] │ │ │ │ │ vnmls.f64 d5, d0, d1 │ │ │ │ │ vadd.f64 d0, d9, d3 │ │ │ │ │ vsub.f64 d9, d9, d3 │ │ │ │ │ vadd.f64 d1, d4, d2 │ │ │ │ │ vsub.f64 d4, d4, d2 │ │ │ │ │ vsub.f64 d8, d0, d1 │ │ │ │ │ vadd.f64 d1, d0, d1 │ │ │ │ │ + vstr d8, [sp, #328] @ 0x148 │ │ │ │ │ vstr d1, [sp, #336] @ 0x150 │ │ │ │ │ vsub.f64 d1, d10, d6 │ │ │ │ │ vadd.f64 d10, d10, d6 │ │ │ │ │ - vstr d8, [sp, #328] @ 0x148 │ │ │ │ │ vsub.f64 d2, d1, d4 │ │ │ │ │ vadd.f64 d4, d1, d4 │ │ │ │ │ + vstr d2, [sp, #344] @ 0x158 │ │ │ │ │ vstr d4, [sp, #352] @ 0x160 │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vstr d2, [sp, #344] @ 0x158 │ │ │ │ │ vadd.f64 d3, d9, d4 │ │ │ │ │ - vsub.f64 d11, d9, d4 │ │ │ │ │ vadd.f64 d6, d7, d10 │ │ │ │ │ vsub.f64 d7, d10, d7 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ + vsub.f64 d11, d9, d4 │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ vstr d3, [sp, #368] @ 0x170 │ │ │ │ │ - vstr d6, [sp, #376] @ 0x178 │ │ │ │ │ vldr d3, [r7, #120] @ 0x78 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ + vstr d6, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + vstr d11, [sp, #360] @ 0x168 │ │ │ │ │ vstr d7, [sp, #384] @ 0x180 │ │ │ │ │ vldr d7, [r7, #112] @ 0x70 │ │ │ │ │ + strd r1, r5, [sp, #32] │ │ │ │ │ + add r5, r0 │ │ │ │ │ + add r1, r0 │ │ │ │ │ + vldr d1, [r7, #280] @ 0x118 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ - vstr d11, [sp, #360] @ 0x168 │ │ │ │ │ - str r3, [sp, #36] @ 0x24 │ │ │ │ │ + strd r1, r5, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d2, [r5] │ │ │ │ │ + mov.w r5, fp, lsl #6 │ │ │ │ │ + str r0, [sp, #92] @ 0x5c │ │ │ │ │ + add.w r2, r8, r5 │ │ │ │ │ vmla.f64 d5, d4, d7 │ │ │ │ │ - str r1, [sp, #40] @ 0x28 │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ - add r1, r0 │ │ │ │ │ - vldr d1, [r7, #280] @ 0x118 │ │ │ │ │ vldr d3, [r7, #272] @ 0x110 │ │ │ │ │ - vldr d2, [r1] │ │ │ │ │ vnmls.f64 d4, d6, d7 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - str r5, [sp, #44] @ 0x2c │ │ │ │ │ - mov.w r5, fp, lsl #6 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ - add.w r2, sl, r5 │ │ │ │ │ + add.w r1, sl, r5 │ │ │ │ │ + strd r2, r1, [sp, #48] @ 0x30 │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - add.w r3, r8, r5 │ │ │ │ │ - str r0, [sp, #8] │ │ │ │ │ - movs r0, #24 │ │ │ │ │ - str r3, [sp, #52] @ 0x34 │ │ │ │ │ - str r2, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d1, [r7, #104] @ 0x68 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ vldr d3, [r7, #264] @ 0x108 │ │ │ │ │ - str r1, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d1, [r7, #104] @ 0x68 │ │ │ │ │ vadd.f64 d0, d5, d6 │ │ │ │ │ vsub.f64 d13, d5, d6 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - mul.w r3, r0, fp │ │ │ │ │ - movs r0, #48 @ 0x30 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + add.w r1, fp, fp, lsl #1 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + mov.w r2, r1, lsl #3 │ │ │ │ │ + mov.w r1, r1, lsl #4 │ │ │ │ │ vadd.f64 d9, d4, d7 │ │ │ │ │ vsub.f64 d10, d4, d7 │ │ │ │ │ vldr d7, [r7, #256] @ 0x100 │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ - add.w r2, sl, r3 │ │ │ │ │ - add.w r1, r8, r3 │ │ │ │ │ - str r1, [sp, #60] @ 0x3c │ │ │ │ │ + add.w r0, r8, r2 │ │ │ │ │ vmov.f64 d14, d0 │ │ │ │ │ vmla.f64 d4, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ - vldr d2, [r2] │ │ │ │ │ + str r0, [sp, #56] @ 0x38 │ │ │ │ │ vldr d3, [r7, #96] @ 0x60 │ │ │ │ │ - str r2, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d10, [sp] │ │ │ │ │ + vstr d13, [sp, #96] @ 0x60 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + add.w r0, sl, r2 │ │ │ │ │ + vldr d2, [r0] │ │ │ │ │ + str r0, [sp, #60] @ 0x3c │ │ │ │ │ + add.w r0, r8, r1 │ │ │ │ │ + str r0, [sp, #64] @ 0x40 │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ - mul.w r1, r0, fp │ │ │ │ │ - vstr d13, [sp, #96] @ 0x60 │ │ │ │ │ vmla.f64 d5, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - add.w r2, r8, r1 │ │ │ │ │ - str r2, [sp, #68] @ 0x44 │ │ │ │ │ - vstr d10, [sp] │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ vldr d3, [r7, #200] @ 0xc8 │ │ │ │ │ vadd.f64 d13, d4, d5 │ │ │ │ │ vsub.f64 d2, d4, d5 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - add.w r2, sl, r1 │ │ │ │ │ - str r2, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + add.w r0, sl, r1 │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ + str r0, [sp, #68] @ 0x44 │ │ │ │ │ + add.w r0, r8, r3 │ │ │ │ │ vadd.f64 d11, d6, d7 │ │ │ │ │ vsub.f64 d8, d6, d7 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - mov.w r2, fp, lsl #3 │ │ │ │ │ vldr d7, [r7, #192] @ 0xc0 │ │ │ │ │ - add.w r0, r8, r2 │ │ │ │ │ - str r0, [sp, #76] @ 0x4c │ │ │ │ │ - vmul.f64 d6, d4, d3 │ │ │ │ │ + str r0, [sp, #72] @ 0x48 │ │ │ │ │ vstr d2, [sp, #104] @ 0x68 │ │ │ │ │ + vmul.f64 d6, d4, d3 │ │ │ │ │ vmla.f64 d6, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d3 │ │ │ │ │ vnmls.f64 d5, d4, d7 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - add.w r0, sl, r2 │ │ │ │ │ - str r0, [sp, #80] @ 0x50 │ │ │ │ │ + add.w r0, sl, r3 │ │ │ │ │ + str r0, [sp, #76] @ 0x4c │ │ │ │ │ vldr d2, [r0] │ │ │ │ │ add.w r0, lr, r1 │ │ │ │ │ + add r1, r9 │ │ │ │ │ + strd r0, r1, [sp, #80] @ 0x50 │ │ │ │ │ vldr d1, [r7, #40] @ 0x28 │ │ │ │ │ vldr d3, [r7, #32] │ │ │ │ │ - str r0, [sp, #84] @ 0x54 │ │ │ │ │ - vmul.f64 d4, d2, d1 │ │ │ │ │ vldr d12, [r7, #24] │ │ │ │ │ + vmul.f64 d4, d2, d1 │ │ │ │ │ vmla.f64 d4, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vldr d1, [r7, #184] @ 0xb8 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ vadd.f64 d3, d6, d4 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ + add.w r1, lr, r3 │ │ │ │ │ + add r3, r9 │ │ │ │ │ + vldr d0, [r3] │ │ │ │ │ + str r1, [sp, #88] @ 0x58 │ │ │ │ │ vadd.f64 d2, d5, d7 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - add.w r0, r9, r1 │ │ │ │ │ - add.w r1, lr, r2 │ │ │ │ │ - add r2, r9 │ │ │ │ │ - str r0, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ + vmul.f64 d10, d4, d1 │ │ │ │ │ vstr d5, [sp, #112] @ 0x70 │ │ │ │ │ vldr d5, [r7, #176] @ 0xb0 │ │ │ │ │ - vmul.f64 d10, d4, d1 │ │ │ │ │ - vldr d0, [r2] │ │ │ │ │ - str r1, [sp, #92] @ 0x5c │ │ │ │ │ vmla.f64 d10, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vldr d1, [r7, #16] │ │ │ │ │ vnmls.f64 d7, d4, d5 │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ vmul.f64 d4, d0, d12 │ │ │ │ │ add.w r1, lr, r4 │ │ │ │ │ @@ -233,81 +228,81 @@ │ │ │ │ │ vsub.f64 d4, d14, d3 │ │ │ │ │ vadd.f64 d0, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vmov.f64 d5, d14 │ │ │ │ │ vsub.f64 d14, d1, d13 │ │ │ │ │ vstr d4, [sp, #128] @ 0x80 │ │ │ │ │ vadd.f64 d13, d13, d1 │ │ │ │ │ + vadd.f64 d5, d5, d3 │ │ │ │ │ vadd.f64 d15, d4, d14 │ │ │ │ │ vmov.f64 d4, d9 │ │ │ │ │ vstr d14, [sp, #136] @ 0x88 │ │ │ │ │ vadd.f64 d14, d9, d2 │ │ │ │ │ vadd.f64 d9, d11, d0 │ │ │ │ │ - vadd.f64 d5, d5, d3 │ │ │ │ │ - vstr d13, [sp, #184] @ 0xb8 │ │ │ │ │ vsub.f64 d2, d4, d2 │ │ │ │ │ vsub.f64 d4, d11, d0 │ │ │ │ │ vstr d14, [sp, #144] @ 0x90 │ │ │ │ │ vstr d9, [sp, #152] @ 0x98 │ │ │ │ │ vadd.f64 d9, d14, d9 │ │ │ │ │ + vadd.f64 d14, d8, d10 │ │ │ │ │ vstr d5, [sp, #176] @ 0xb0 │ │ │ │ │ vadd.f64 d5, d5, d13 │ │ │ │ │ + vsub.f64 d10, d10, d8 │ │ │ │ │ vsub.f64 d0, d4, d2 │ │ │ │ │ vstr d2, [sp, #160] @ 0xa0 │ │ │ │ │ vldr d2, [sp, #104] @ 0x68 │ │ │ │ │ - vadd.f64 d14, d8, d10 │ │ │ │ │ + vstr d4, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d13, [sp, #184] @ 0xb8 │ │ │ │ │ vstr d9, [sp, #392] @ 0x188 │ │ │ │ │ - vsub.f64 d10, d10, d8 │ │ │ │ │ - vstr d5, [sp, #408] @ 0x198 │ │ │ │ │ vstr d0, [sp, #400] @ 0x190 │ │ │ │ │ - vadd.f64 d3, d2, d7 │ │ │ │ │ vldr d0, [sp] │ │ │ │ │ + vadd.f64 d3, d2, d7 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ - vstr d4, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d5, [sp, #408] @ 0x198 │ │ │ │ │ vadd.f64 d9, d0, d6 │ │ │ │ │ vsub.f64 d0, d0, d6 │ │ │ │ │ - vstr d3, [sp, #200] @ 0xc8 │ │ │ │ │ vadd.f64 d1, d9, d3 │ │ │ │ │ vadd.f64 d5, d0, d7 │ │ │ │ │ vstr d9, [sp, #192] @ 0xc0 │ │ │ │ │ + vstr d3, [sp, #200] @ 0xc8 │ │ │ │ │ vstr d0, [sp, #208] @ 0xd0 │ │ │ │ │ vstr d1, [sp, #416] @ 0x1a0 │ │ │ │ │ vstr d7, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d0, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ vstr d5, [sp, #424] @ 0x1a8 │ │ │ │ │ - vldr d5, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d0, [sp, #96] @ 0x60 │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ vldr d3, [r7, #56] @ 0x38 │ │ │ │ │ + vstr d14, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d5, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d10, [sp, #248] @ 0xf8 │ │ │ │ │ vldr d7, [r7, #48] @ 0x30 │ │ │ │ │ + ldr r0, [sp, #92] @ 0x5c │ │ │ │ │ vadd.f64 d13, d0, d5 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - ldr r0, [sp, #8] │ │ │ │ │ vsub.f64 d0, d0, d5 │ │ │ │ │ - str r4, [sp, #0] │ │ │ │ │ vldr d1, [r7, #216] @ 0xd8 │ │ │ │ │ vadd.f64 d6, d13, d14 │ │ │ │ │ - vstr d10, [sp, #248] @ 0xf8 │ │ │ │ │ vadd.f64 d10, d0, d10 │ │ │ │ │ vstr d13, [sp, #224] @ 0xe0 │ │ │ │ │ - vstr d14, [sp, #232] @ 0xe8 │ │ │ │ │ vstr d0, [sp, #240] @ 0xf0 │ │ │ │ │ vstr d6, [sp, #432] @ 0x1b0 │ │ │ │ │ vldr d6, [r4] │ │ │ │ │ - adds r4, r1, r0 │ │ │ │ │ - str r4, [sp, #8] │ │ │ │ │ + add.w r4, r1, r0 │ │ │ │ │ + str r4, [sp, #92] @ 0x5c │ │ │ │ │ vstr d10, [sp, #440] @ 0x1b8 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ vmla.f64 d5, d4, d7 │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ vldr d3, [r7, #208] @ 0xd0 │ │ │ │ │ vnmls.f64 d4, d6, d7 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ ldr r4, [sp, #0] │ │ │ │ │ add r4, r0 │ │ │ │ │ - str r4, [sp, #96] @ 0x60 │ │ │ │ │ vldr d2, [r4] │ │ │ │ │ + str r4, [sp, #96] @ 0x60 │ │ │ │ │ add.w r4, r8, r0 │ │ │ │ │ add r0, sl │ │ │ │ │ str r4, [sp, #104] @ 0x68 │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ @@ -317,73 +312,73 @@ │ │ │ │ │ vldr d6, [r8] │ │ │ │ │ vadd.f64 d8, d4, d7 │ │ │ │ │ vsub.f64 d2, d4, d7 │ │ │ │ │ vldr d4, [sl] │ │ │ │ │ vmov.f64 d11, d10 │ │ │ │ │ vldr d7, [r7] │ │ │ │ │ add.w r7, r7, #304 @ 0x130 │ │ │ │ │ - vstr d12, [sp, #304] @ 0x130 │ │ │ │ │ vmul.f64 d5, d4, d3 │ │ │ │ │ vstr d2, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d2, [r0] │ │ │ │ │ + vstr d12, [sp, #304] @ 0x130 │ │ │ │ │ vmla.f64 d5, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ vldr d3, [r7, #-144] @ 0xffffff70 │ │ │ │ │ vnmls.f64 d6, d4, d7 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ - vldr d1, [r7, #-136] @ 0xffffff78 │ │ │ │ │ add.w r4, r8, r6 │ │ │ │ │ add r6, sl │ │ │ │ │ + vldr d1, [r7, #-136] @ 0xffffff78 │ │ │ │ │ + str r4, [sp, #112] @ 0x70 │ │ │ │ │ str r6, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d11, [sp, #256] @ 0x100 │ │ │ │ │ + vstr d10, [sp, #256] @ 0x100 │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ - str r4, [sp, #112] @ 0x70 │ │ │ │ │ vmla.f64 d4, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ vldr d3, [r7, #-168] @ 0xffffff58 │ │ │ │ │ vadd.f64 d14, d5, d4 │ │ │ │ │ vsub.f64 d12, d4, d5 │ │ │ │ │ vldr d5, [r6] │ │ │ │ │ add.w r6, r8, ip │ │ │ │ │ add ip, sl │ │ │ │ │ + vldr d2, [ip] │ │ │ │ │ str r6, [sp, #124] @ 0x7c │ │ │ │ │ vadd.f64 d13, d6, d7 │ │ │ │ │ vsub.f64 d1, d6, d7 │ │ │ │ │ vldr d7, [r7, #-176] @ 0xffffff50 │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ + vstr d12, [sp, #288] @ 0x120 │ │ │ │ │ vldr d6, [r4] │ │ │ │ │ - vldr d2, [ip] │ │ │ │ │ + vldr d12, [r7, #-216] @ 0xffffff28 │ │ │ │ │ vstr d1, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d1, [r7, #-8] │ │ │ │ │ vmla.f64 d4, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ - vldr d1, [r7, #-8] │ │ │ │ │ vldr d3, [r7, #-16] │ │ │ │ │ - vstr d12, [sp, #288] @ 0x120 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ vldr d7, [r6] │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ add.w r6, lr, r5 │ │ │ │ │ str r6, [sp, #496] @ 0x1f0 │ │ │ │ │ vmla.f64 d5, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d12, [r7, #-216] @ 0xffffff28 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ vldr d3, [r7, #-56] @ 0xffffffc8 │ │ │ │ │ vadd.f64 d0, d4, d5 │ │ │ │ │ vsub.f64 d4, d4, d5 │ │ │ │ │ vadd.f64 d2, d6, d7 │ │ │ │ │ vsub.f64 d9, d6, d7 │ │ │ │ │ vldr d7, [r6] │ │ │ │ │ add.w r6, r9, r5 │ │ │ │ │ + add.w r5, lr, r2 │ │ │ │ │ vldr d6, [r7, #-64] @ 0xffffffc0 │ │ │ │ │ - add.w r5, lr, r3 │ │ │ │ │ - add r3, r9 │ │ │ │ │ + add r2, r9 │ │ │ │ │ vldr d5, [r6] │ │ │ │ │ - vldr d1, [r3] │ │ │ │ │ + vldr d1, [r2] │ │ │ │ │ vmul.f64 d10, d5, d3 │ │ │ │ │ vmla.f64 d10, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vldr d3, [r5] │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ vldr d6, [r7, #-224] @ 0xffffff20 │ │ │ │ │ vmul.f64 d5, d1, d12 │ │ │ │ │ @@ -400,371 +395,374 @@ │ │ │ │ │ vmov.f64 d3, d10 │ │ │ │ │ vsub.f64 d10, d1, d14 │ │ │ │ │ vadd.f64 d1, d14, d1 │ │ │ │ │ vldr d14, [sp, #264] @ 0x108 │ │ │ │ │ vadd.f64 d12, d13, d6 │ │ │ │ │ vsub.f64 d6, d6, d13 │ │ │ │ │ vldr d13, [sp, #256] @ 0x100 │ │ │ │ │ + vstr d1, [sp, #256] @ 0x100 │ │ │ │ │ vstr d3, [sp, #272] @ 0x110 │ │ │ │ │ vadd.f64 d3, d3, d10 │ │ │ │ │ - vstr d1, [sp, #256] @ 0x100 │ │ │ │ │ vmov.f64 d11, d12 │ │ │ │ │ vadd.f64 d12, d8, d2 │ │ │ │ │ vadd.f64 d0, d13, d0 │ │ │ │ │ vldr d13, [sp, #288] @ 0x120 │ │ │ │ │ vsub.f64 d2, d8, d2 │ │ │ │ │ vstr d11, [sp, #280] @ 0x118 │ │ │ │ │ vadd.f64 d11, d12, d11 │ │ │ │ │ vsub.f64 d12, d13, d7 │ │ │ │ │ vadd.f64 d7, d13, d7 │ │ │ │ │ + vldr d13, [pc, #972] @ 9c8 │ │ │ │ │ vadd.f64 d8, d2, d6 │ │ │ │ │ vsub.f64 d6, d2, d6 │ │ │ │ │ - vldr d13, [pc, #972] @ 9b8 │ │ │ │ │ vadd.f64 d1, d0, d1 │ │ │ │ │ vstr d11, [sp, #456] @ 0x1c8 │ │ │ │ │ vadd.f64 d11, d14, d4 │ │ │ │ │ vstr d12, [sp, #288] @ 0x120 │ │ │ │ │ vstr d7, [sp, #296] @ 0x128 │ │ │ │ │ vmul.f64 d2, d6, d13 │ │ │ │ │ - ldr r4, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r4, [sp, #44] @ 0x2c │ │ │ │ │ vmov.f64 d14, d11 │ │ │ │ │ vsub.f64 d11, d12, d11 │ │ │ │ │ vldr d12, [sp, #264] @ 0x108 │ │ │ │ │ vsub.f64 d4, d12, d4 │ │ │ │ │ vldr d12, [sp, #304] @ 0x130 │ │ │ │ │ - vstr d11, [sp, #464] @ 0x1d0 │ │ │ │ │ - vadd.f64 d11, d12, d9 │ │ │ │ │ - vsub.f64 d9, d12, d9 │ │ │ │ │ vadd.f64 d7, d4, d7 │ │ │ │ │ vstr d4, [sp, #264] @ 0x108 │ │ │ │ │ vldr d4, [sp, #312] @ 0x138 │ │ │ │ │ + vstr d11, [sp, #464] @ 0x1d0 │ │ │ │ │ + vadd.f64 d11, d12, d9 │ │ │ │ │ + vsub.f64 d9, d12, d9 │ │ │ │ │ vldr d12, [sp, #328] @ 0x148 │ │ │ │ │ - vstr d11, [sp, #304] @ 0x130 │ │ │ │ │ vstr d7, [sp, #472] @ 0x1d8 │ │ │ │ │ vadd.f64 d7, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vsub.f64 d4, d3, d15 │ │ │ │ │ vadd.f64 d3, d15, d3 │ │ │ │ │ + vstr d11, [sp, #304] @ 0x130 │ │ │ │ │ vldr d15, [sp, #160] @ 0xa0 │ │ │ │ │ vstr d7, [sp, #312] @ 0x138 │ │ │ │ │ vadd.f64 d7, d11, d7 │ │ │ │ │ vstr d5, [sp, #320] @ 0x140 │ │ │ │ │ vadd.f64 d5, d9, d5 │ │ │ │ │ vstr d7, [sp, #480] @ 0x1e0 │ │ │ │ │ - vldr d7, [pc, #852] @ 9c0 │ │ │ │ │ + vldr d7, [pc, #844] @ 9d0 │ │ │ │ │ vstr d5, [sp, #488] @ 0x1e8 │ │ │ │ │ vmov.f64 d5, d12 │ │ │ │ │ - vmov.f64 d11, d7 │ │ │ │ │ vmul.f64 d4, d4, d7 │ │ │ │ │ + vmov.f64 d11, d7 │ │ │ │ │ vmov.f64 d7, #80 @ 0x3e800000 0.250 │ │ │ │ │ vmls.f64 d5, d3, d7 │ │ │ │ │ vldr d7, [sp, #168] @ 0xa8 │ │ │ │ │ vadd.f64 d3, d12, d3 │ │ │ │ │ vldr d12, [sp, #272] @ 0x110 │ │ │ │ │ vadd.f64 d7, d15, d7 │ │ │ │ │ - vldr d15, [pc, #816] @ 9c8 │ │ │ │ │ - vsub.f64 d10, d10, d12 │ │ │ │ │ + vldr d15, [pc, #808] @ 9d8 │ │ │ │ │ vstr d3, [r4] │ │ │ │ │ - ldr r4, [sp, #16] │ │ │ │ │ + ldr r4, [sp, #12] │ │ │ │ │ + vsub.f64 d10, d10, d12 │ │ │ │ │ vnmls.f64 d2, d7, d15 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ + vmov.f64 d13, d15 │ │ │ │ │ vmla.f64 d7, d6, d15 │ │ │ │ │ vadd.f64 d6, d4, d5 │ │ │ │ │ + vldr d15, [sp, #136] @ 0x88 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ - vmov.f64 d13, d15 │ │ │ │ │ vldr d4, [sp, #128] @ 0x80 │ │ │ │ │ - vldr d15, [sp, #136] @ 0x88 │ │ │ │ │ vsub.f64 d3, d6, d7 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [sp, #400] @ 0x190 │ │ │ │ │ vstr d3, [r4] │ │ │ │ │ - ldr r4, [sp, #84] @ 0x54 │ │ │ │ │ + ldr r4, [sp, #80] @ 0x50 │ │ │ │ │ vldr d3, [sp, #384] @ 0x180 │ │ │ │ │ vstr d7, [r4] │ │ │ │ │ vsub.f64 d7, d5, d2 │ │ │ │ │ vadd.f64 d2, d2, d5 │ │ │ │ │ vadd.f64 d5, d6, d8 │ │ │ │ │ vsub.f64 d8, d6, d8 │ │ │ │ │ + ldr r4, [sp, #64] @ 0x40 │ │ │ │ │ vmov.f64 d6, d3 │ │ │ │ │ - ldr r4, [sp, #68] @ 0x44 │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ vmov.f64 d7, #80 @ 0x3e800000 0.250 │ │ │ │ │ vmul.f64 d5, d5, d11 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ vmla.f64 d6, d8, d7 │ │ │ │ │ vsub.f64 d7, d4, d15 │ │ │ │ │ - vldr d15, [pc, #684] @ 9b8 │ │ │ │ │ + vldr d15, [pc, #676] @ 9c8 │ │ │ │ │ vsub.f64 d8, d8, d3 │ │ │ │ │ vmul.f64 d4, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ - vmla.f64 d4, d10, d15 │ │ │ │ │ vstr d8, [ip] │ │ │ │ │ vmov.f64 d8, d11 │ │ │ │ │ - vnmls.f64 d7, d10, d13 │ │ │ │ │ + vmov.f64 d11, d13 │ │ │ │ │ vadd.f64 d3, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ + vnmls.f64 d7, d10, d13 │ │ │ │ │ + vmla.f64 d4, d10, d15 │ │ │ │ │ vmov.f64 d10, #80 @ 0x3e800000 0.250 │ │ │ │ │ vsub.f64 d2, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ vstr d2, [r0] │ │ │ │ │ vstr d7, [r4] │ │ │ │ │ vsub.f64 d7, d4, d6 │ │ │ │ │ - ldr r4, [sp, #80] @ 0x50 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ - ldr r0, [sp, #20] │ │ │ │ │ - vldr d12, [sp, #448] @ 0x1c0 │ │ │ │ │ - vldr d2, [sp, #280] @ 0x118 │ │ │ │ │ - vldr d15, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d3, [sp, #152] @ 0x98 │ │ │ │ │ + ldr r4, [sp, #76] @ 0x4c │ │ │ │ │ + ldr r0, [sp, #16] │ │ │ │ │ + ldr r1, [sp, #32] │ │ │ │ │ vstr d7, [r4] │ │ │ │ │ - vsub.f64 d7, d12, d2 │ │ │ │ │ + vldr d15, [sp, #144] @ 0x90 │ │ │ │ │ vstr d4, [r0] │ │ │ │ │ + vldr d3, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d2, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d12, [sp, #448] @ 0x1c0 │ │ │ │ │ vldr d4, [sp, #408] @ 0x198 │ │ │ │ │ - vsub.f64 d2, d15, d3 │ │ │ │ │ - vldr d15, [pc, #576] @ 9b8 │ │ │ │ │ ldr r4, [sp, #96] @ 0x60 │ │ │ │ │ + vsub.f64 d7, d12, d2 │ │ │ │ │ + vsub.f64 d2, d15, d3 │ │ │ │ │ + vldr d15, [pc, #560] @ 9c8 │ │ │ │ │ vsub.f64 d6, d1, d4 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ + ldr r3, [sp, #496] @ 0x1f0 │ │ │ │ │ vldr d1, [sp, #336] @ 0x150 │ │ │ │ │ vmul.f64 d3, d2, d15 │ │ │ │ │ - vmla.f64 d3, d7, d13 │ │ │ │ │ - vmul.f64 d7, d7, d15 │ │ │ │ │ - ldr r0, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d13, [sp, #184] @ 0xb8 │ │ │ │ │ + vmul.f64 d6, d6, d8 │ │ │ │ │ + vldr d12, [sp, #456] @ 0x1c8 │ │ │ │ │ vmov.f64 d5, d1 │ │ │ │ │ - vmul.f64 d6, d6, d11 │ │ │ │ │ + vmla.f64 d3, d7, d11 │ │ │ │ │ + vmul.f64 d7, d7, d15 │ │ │ │ │ vmls.f64 d5, d4, d10 │ │ │ │ │ vadd.f64 d4, d1, d4 │ │ │ │ │ - vnmls.f64 d7, d2, d13 │ │ │ │ │ - ldr r2, [sp, #36] @ 0x24 │ │ │ │ │ - vldr d12, [sp, #456] @ 0x1c8 │ │ │ │ │ - vmov.f64 d11, d13 │ │ │ │ │ - vldr d13, [sp, #184] @ 0xb8 │ │ │ │ │ vmov.f64 d1, d8 │ │ │ │ │ + vnmls.f64 d7, d2, d11 │ │ │ │ │ + vmov.f64 d8, d11 │ │ │ │ │ vstr d4, [lr] │ │ │ │ │ vsub.f64 d4, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vsub.f64 d2, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ vstr d2, [r4] │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d6, d3 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ + ldr r4, [sp, #60] @ 0x3c │ │ │ │ │ vldr d2, [sp, #376] @ 0x178 │ │ │ │ │ - ldr r0, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - vmov.f64 d5, d2 │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ vldr d7, [sp, #392] @ 0x188 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ - ldr r2, [sp, #32] │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ + vmov.f64 d5, d2 │ │ │ │ │ + ldr r2, [sp, #28] │ │ │ │ │ vadd.f64 d4, d7, d12 │ │ │ │ │ vsub.f64 d6, d12, d7 │ │ │ │ │ vldr d7, [sp, #256] @ 0x100 │ │ │ │ │ - ldr r3, [sp, #112] @ 0x70 │ │ │ │ │ vsub.f64 d0, d0, d7 │ │ │ │ │ vldr d7, [sp, #176] @ 0xb0 │ │ │ │ │ vmls.f64 d5, d4, d10 │ │ │ │ │ - vmul.f64 d6, d6, d8 │ │ │ │ │ + vmul.f64 d6, d6, d1 │ │ │ │ │ vadd.f64 d4, d2, d4 │ │ │ │ │ - vmov.f64 d8, d11 │ │ │ │ │ vsub.f64 d7, d7, d13 │ │ │ │ │ vmov.f64 d13, d15 │ │ │ │ │ vstr d4, [r8] │ │ │ │ │ - vmul.f64 d3, d7, d15 │ │ │ │ │ - vmul.f64 d7, d7, d11 │ │ │ │ │ - vmla.f64 d3, d0, d11 │ │ │ │ │ vsub.f64 d4, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ + vmul.f64 d3, d7, d15 │ │ │ │ │ + vmul.f64 d7, d7, d11 │ │ │ │ │ vnmls.f64 d7, d0, d15 │ │ │ │ │ + vmla.f64 d3, d0, d11 │ │ │ │ │ vmov.f64 d0, d10 │ │ │ │ │ vsub.f64 d2, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ vstr d2, [r2] │ │ │ │ │ - ldr r2, [sp, #52] @ 0x34 │ │ │ │ │ + ldr r2, [sp, #48] @ 0x30 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d3, d6 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ - vldr d3, [sp, #200] @ 0xc8 │ │ │ │ │ + ldr r2, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ + ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ vldr d6, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d2, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d3, [sp, #200] @ 0xc8 │ │ │ │ │ vldr d15, [sp, #440] @ 0x1b8 │ │ │ │ │ + vldr d2, [sp, #488] @ 0x1e8 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ - vldr d3, [sp, #288] @ 0x120 │ │ │ │ │ vldr d11, [sp, #360] @ 0x168 │ │ │ │ │ + vldr d3, [sp, #288] @ 0x120 │ │ │ │ │ vadd.f64 d4, d15, d2 │ │ │ │ │ vsub.f64 d5, d2, d15 │ │ │ │ │ - vadd.f64 d14, d14, d3 │ │ │ │ │ - ldr r1, [sp, #40] @ 0x28 │ │ │ │ │ + ldrd r2, r0, [sp, #52] @ 0x34 │ │ │ │ │ vmov.f64 d7, d11 │ │ │ │ │ + vldr d10, [sp, #240] @ 0xf0 │ │ │ │ │ + vadd.f64 d14, d14, d3 │ │ │ │ │ vldr d12, [sp, #464] @ 0x1d0 │ │ │ │ │ - ldr r4, [sp, #8] │ │ │ │ │ - vmls.f64 d7, d4, d10 │ │ │ │ │ + vmls.f64 d7, d4, d0 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - vmul.f64 d3, d14, d13 │ │ │ │ │ + vldr d15, [sp, #320] @ 0x140 │ │ │ │ │ vadd.f64 d4, d11, d4 │ │ │ │ │ + ldr r4, [sp, #92] @ 0x5c │ │ │ │ │ + vmul.f64 d3, d14, d13 │ │ │ │ │ vldr d11, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d15, [sp, #320] @ 0x140 │ │ │ │ │ - ldr r2, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ vnmls.f64 d3, d6, d8 │ │ │ │ │ vmul.f64 d6, d6, d13 │ │ │ │ │ - vmla.f64 d6, d14, d8 │ │ │ │ │ - vstr d4, [r1] │ │ │ │ │ - vmov.f64 d13, d8 │ │ │ │ │ - vldr d8, [sp, #352] @ 0x160 │ │ │ │ │ vadd.f64 d4, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - ldr r1, [sp, #60] @ 0x3c │ │ │ │ │ + vmov.f64 d13, d8 │ │ │ │ │ + vmla.f64 d6, d14, d8 │ │ │ │ │ + vldr d8, [sp, #352] @ 0x160 │ │ │ │ │ vadd.f64 d2, d6, d4 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vadd.f64 d6, d3, d7 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ vstr d2, [r6] │ │ │ │ │ + vsub.f64 d2, d10, d11 │ │ │ │ │ + vmov.f64 d11, d13 │ │ │ │ │ vstr d4, [r9] │ │ │ │ │ vmov.f64 d4, d8 │ │ │ │ │ vstr d6, [r5] │ │ │ │ │ - vldr d6, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d10, [pc, #168] @ 9c8 │ │ │ │ │ vstr d7, [r4] │ │ │ │ │ + vldr d6, [sp, #416] @ 0x1a0 │ │ │ │ │ ldr r6, [sp, #120] @ 0x78 │ │ │ │ │ + vmul.f64 d3, d2, d10 │ │ │ │ │ + vmov.f64 d13, d10 │ │ │ │ │ vsub.f64 d5, d12, d6 │ │ │ │ │ vadd.f64 d7, d6, d12 │ │ │ │ │ - vsub.f64 d6, d9, d15 │ │ │ │ │ vldr d12, [sp, #480] @ 0x1e0 │ │ │ │ │ - vmla.f64 d4, d5, d10 │ │ │ │ │ - vldr d10, [sp, #240] @ 0xf0 │ │ │ │ │ + vsub.f64 d6, d9, d15 │ │ │ │ │ + vmla.f64 d4, d5, d0 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ + vmla.f64 d3, d6, d11 │ │ │ │ │ + vmul.f64 d6, d6, d10 │ │ │ │ │ vsub.f64 d5, d5, d8 │ │ │ │ │ vldr d8, [sp, #368] @ 0x170 │ │ │ │ │ - vsub.f64 d2, d10, d11 │ │ │ │ │ - vldr d10, [pc, #140] @ 9b8 │ │ │ │ │ - vmov.f64 d11, d13 │ │ │ │ │ + vnmls.f64 d6, d2, d11 │ │ │ │ │ vstr d5, [r6] │ │ │ │ │ - ldr r6, [sp, #28] │ │ │ │ │ - vmul.f64 d3, d2, d10 │ │ │ │ │ - vmla.f64 d3, d6, d13 │ │ │ │ │ - vmul.f64 d6, d6, d10 │ │ │ │ │ + ldr r6, [sp, #24] │ │ │ │ │ vadd.f64 d5, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vmov.f64 d13, d10 │ │ │ │ │ vldr d4, [sp, #264] @ 0x108 │ │ │ │ │ - vnmls.f64 d6, d2, d11 │ │ │ │ │ vsub.f64 d2, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vmov.f64 d5, d8 │ │ │ │ │ - vstr d2, [r1] │ │ │ │ │ + vstr d2, [r0] │ │ │ │ │ vstr d6, [r6] │ │ │ │ │ vadd.f64 d6, d3, d7 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ vldr d6, [sp, #432] @ 0x1b0 │ │ │ │ │ vstr d7, [sl] │ │ │ │ │ vldr d10, [sp, #296] @ 0x128 │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ vldr d3, [sp, #208] @ 0xd0 │ │ │ │ │ vsub.f64 d7, d12, d6 │ │ │ │ │ - vldr d9, [sp, #216] @ 0xd8 │ │ │ │ │ vadd.f64 d6, d6, d12 │ │ │ │ │ + vldr d9, [sp, #216] @ 0xd8 │ │ │ │ │ vsub.f64 d4, d4, d10 │ │ │ │ │ - ldr r3, [sp, #12] │ │ │ │ │ - ldr r1, [sp, #88] @ 0x58 │ │ │ │ │ vmov.f64 d10, d13 │ │ │ │ │ - vsub.f64 d2, d3, d9 │ │ │ │ │ - vmul.f64 d7, d7, d1 │ │ │ │ │ + ldr r3, [sp, #8] │ │ │ │ │ vmls.f64 d5, d6, d0 │ │ │ │ │ + vmul.f64 d7, d7, d1 │ │ │ │ │ + ldr r5, [sp, #20] │ │ │ │ │ vadd.f64 d6, d8, d6 │ │ │ │ │ - ldr r4, [sp, #0] │ │ │ │ │ - b.n 9d8 │ │ │ │ │ - nop.w │ │ │ │ │ + b.n 9e8 │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ - .word 0x000009ae │ │ │ │ │ + .word 0x000009a6 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ + vsub.f64 d2, d3, d9 │ │ │ │ │ + ldr r2, [sp, #84] @ 0x54 │ │ │ │ │ vmov.f64 d9, d11 │ │ │ │ │ + ldr r1, [sp, #40] @ 0x28 │ │ │ │ │ vldr d14, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ vmul.f64 d3, d2, d13 │ │ │ │ │ - ldr r0, [sp, #76] @ 0x4c │ │ │ │ │ + ldr r6, [sp, #124] @ 0x7c │ │ │ │ │ + vsub.f64 d6, d5, d7 │ │ │ │ │ + vadd.f64 d7, d7, d5 │ │ │ │ │ + ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ + ldr r0, [sp, #68] @ 0x44 │ │ │ │ │ vmla.f64 d3, d4, d11 │ │ │ │ │ vmul.f64 d4, d4, d13 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ vldr d13, [sp, #224] @ 0xe0 │ │ │ │ │ vnmls.f64 d4, d2, d11 │ │ │ │ │ - vsub.f64 d6, d5, d7 │ │ │ │ │ - vadd.f64 d7, d7, d5 │ │ │ │ │ vldr d11, [sp, #304] @ 0x130 │ │ │ │ │ - ldr r6, [sp, #124] @ 0x7c │ │ │ │ │ - ldr r2, [sp, #72] @ 0x48 │ │ │ │ │ - ldr r5, [sp, #24] │ │ │ │ │ vadd.f64 d2, d4, d6 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vldr d4, [sp, #472] @ 0x1d8 │ │ │ │ │ - vstr d2, [r1] │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ vstr d6, [r4] │ │ │ │ │ vadd.f64 d6, d3, d7 │ │ │ │ │ - ldr r1, [sp, #92] @ 0x5c │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vldr d3, [sp, #312] @ 0x138 │ │ │ │ │ + ldr r2, [sp, #88] @ 0x58 │ │ │ │ │ ldr r4, [sp, #104] @ 0x68 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ - vsub.f64 d2, d11, d3 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ + vldr d3, [sp, #312] @ 0x138 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ vldr d7, [sp, #424] @ 0x1a8 │ │ │ │ │ - ldr r3, [sp, #624] @ 0x270 │ │ │ │ │ - vmul.f64 d3, d2, d10 │ │ │ │ │ + vsub.f64 d2, d11, d3 │ │ │ │ │ vsub.f64 d6, d4, d7 │ │ │ │ │ vadd.f64 d4, d7, d4 │ │ │ │ │ vsub.f64 d7, d13, d14 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #624] @ 0x270 │ │ │ │ │ + vmul.f64 d3, d2, d10 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ vldr d1, [sp, #344] @ 0x158 │ │ │ │ │ vnmls.f64 d3, d7, d9 │ │ │ │ │ vmul.f64 d7, d7, d10 │ │ │ │ │ - vmla.f64 d7, d2, d9 │ │ │ │ │ vmov.f64 d5, d1 │ │ │ │ │ + vmla.f64 d7, d2, d9 │ │ │ │ │ vmls.f64 d5, d4, d0 │ │ │ │ │ vadd.f64 d4, d1, d4 │ │ │ │ │ vstr d4, [r4] │ │ │ │ │ vadd.f64 d4, d6, d5 │ │ │ │ │ vsub.f64 d2, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vstr d2, [r0] │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ vstr d7, [r6] │ │ │ │ │ vsub.f64 d7, d6, d5 │ │ │ │ │ + ldr r3, [sp, #624] @ 0x270 │ │ │ │ │ vadd.f64 d6, d3, d7 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + str r3, [sp, #624] @ 0x270 │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ vstr d7, [r5] │ │ │ │ │ ldr r3, [sp, #500] @ 0x1f4 │ │ │ │ │ + ldr r2, [sp, #624] @ 0x270 │ │ │ │ │ add lr, r3 │ │ │ │ │ add r8, r3 │ │ │ │ │ ldr r3, [sp, #504] @ 0x1f8 │ │ │ │ │ add r9, r3 │ │ │ │ │ add sl, r3 │ │ │ │ │ ldr r3, [sp, #508] @ 0x1fc │ │ │ │ │ eor.w fp, fp, r3 │ │ │ │ │ - ldrd r2, r3, [sp, #624] @ 0x270 │ │ │ │ │ + ldr r3, [sp, #628] @ 0x274 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 52 │ │ │ │ │ + bne.w 68 │ │ │ │ │ add.w sp, sp, #516 @ 0x204 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -00000acc : │ │ │ │ │ +00000af4 : │ │ │ │ │ fftw_codelet_hc2cf_20(): │ │ │ │ │ - ldr r2, [pc, #12] @ (adc ) │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - ldr r1, [pc, #12] @ (ae0 ) │ │ │ │ │ + ldr r2, [pc, #12] @ (b04 ) │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + ldr r1, [pc, #12] @ (b08 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2c_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + .word 0x00000006 │ │ │ │ │ R_ARM_REL32 hc2cf_20 │ │ │ ├── hc2cf_32.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 5496 (bytes into file) │ │ │ │ │ + Start of section headers: 5556 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x1578: │ │ │ │ │ +There are 14 section headers, starting at offset 0x15b4: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00123c 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0014c0 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 001270 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 001270 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 001270 000009 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 001279 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 001281 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 0014e8 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 0012b1 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0012b1 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 0012e4 000150 10 12 16 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 001434 00008c 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 001500 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 001278 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0014fc 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0012ac 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0012ac 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0012ac 000009 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 0012b5 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0012bd 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 001524 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 0012ed 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0012ed 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 001320 000150 10 12 16 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 001470 00008c 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 00153c 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 21 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 4642 FUNC LOCAL DEFAULT 1 hc2cf_32 │ │ │ │ │ + 1: 00000001 4704 FUNC LOCAL DEFAULT 1 hc2cf_32 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000060 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000080 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000010c0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 000010e0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00001234 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000070 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000090 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000010e8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00001108 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00001270 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 13: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 14: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 15: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 18: 00001225 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cf_32 │ │ │ │ │ + 18: 00001261 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cf_32 │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2c_register │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hc2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x14c0 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x14fc contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000078 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000007c 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00001234 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00001238 00000103 R_ARM_REL32 00000001 hc2cf_32 │ │ │ │ │ -0000122e 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ +00000088 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000008c 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00001270 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00001274 00000103 R_ARM_REL32 00000001 hc2cf_32 │ │ │ │ │ +0000126c 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x14e8 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x1524 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000a02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001402 R_ARM_ABS32 00000000 fftw_rdft_hc2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,571 +1,566 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hc2cf_32(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r4, r3 │ │ │ │ │ - mov r8, r1 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r5, r3 │ │ │ │ │ + mov r6, r1 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r7, r2 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub.w sp, sp, #764 @ 0x2fc │ │ │ │ │ - mov fp, r0 │ │ │ │ │ - mov.w r0, #496 @ 0x1f0 │ │ │ │ │ - mov r9, r2 │ │ │ │ │ - ldr r2, [pc, #92] @ (78 ) │ │ │ │ │ - ldr r3, [sp, #872] @ 0x368 │ │ │ │ │ - add r2, pc │ │ │ │ │ - ldr r5, [sp, #868] @ 0x364 │ │ │ │ │ - subs r1, r3, #1 │ │ │ │ │ + sub.w sp, sp, #756 @ 0x2f4 │ │ │ │ │ + ldr r2, [sp, #856] @ 0x358 │ │ │ │ │ ldr r3, [sp, #864] @ 0x360 │ │ │ │ │ - mla sl, r0, r1, r3 │ │ │ │ │ - ldrd r3, r1, [sp, #872] @ 0x368 │ │ │ │ │ - cmp r3, r1 │ │ │ │ │ - bge.w 1216 │ │ │ │ │ - ldr r3, [sp, #880] @ 0x370 │ │ │ │ │ - mov lr, r8 │ │ │ │ │ - vldr d14, [pc, #40] @ 60 │ │ │ │ │ + ldr r1, [pc, #96] @ (88 ) │ │ │ │ │ + add.w r3, r3, #4294967295 @ 0xffffffff │ │ │ │ │ + rsb r3, r3, r3, lsl #5 │ │ │ │ │ + add r1, pc │ │ │ │ │ + add.w sl, r2, r3, lsl #4 │ │ │ │ │ + ldrd r3, r2, [sp, #864] @ 0x360 │ │ │ │ │ + cmp r3, r2 │ │ │ │ │ + bge.w 1242 │ │ │ │ │ + ldr r3, [sp, #872] @ 0x368 │ │ │ │ │ + mov fp, r0 │ │ │ │ │ + mov ip, r6 │ │ │ │ │ + mov r9, r7 │ │ │ │ │ mov r8, sl │ │ │ │ │ - vldr d12, [pc, #40] @ 68 │ │ │ │ │ - mov ip, r5 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ - str r3, [sp, #748] @ 0x2ec │ │ │ │ │ - negs r3, r3 │ │ │ │ │ - str r3, [sp, #752] @ 0x2f0 │ │ │ │ │ - ldr r3, [pc, #48] @ (7c ) │ │ │ │ │ - vldr d15, [pc, #32] @ 70 │ │ │ │ │ - ldr r3, [r2, r3] │ │ │ │ │ - str.w r9, [sp, #4] │ │ │ │ │ - str r4, [sp, #16] │ │ │ │ │ + vldr d14, [pc, #36] @ 70 │ │ │ │ │ + vldr d12, [pc, #40] @ 78 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + vldr d15, [pc, #40] @ 80 │ │ │ │ │ + str r3, [sp, #740] @ 0x2e4 │ │ │ │ │ + rsb r3, r3, #0 │ │ │ │ │ + str r3, [sp, #744] @ 0x2e8 │ │ │ │ │ + ldr r3, [pc, #40] @ (8c ) │ │ │ │ │ + ldr r3, [r1, r3] │ │ │ │ │ + str r5, [sp, #4] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - str r3, [sp, #756] @ 0x2f4 │ │ │ │ │ - b.n 80 │ │ │ │ │ + str r3, [sp, #748] @ 0x2ec │ │ │ │ │ + b.n 90 │ │ │ │ │ nop │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ - .word 0x00000058 │ │ │ │ │ + .word 0x00000054 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - ldr r7, [sp, #4] │ │ │ │ │ - mov.w r2, ip, lsl #6 │ │ │ │ │ - add.w r3, fp, r2 │ │ │ │ │ + ldr r3, [sp, #860] @ 0x35c │ │ │ │ │ + mov.w r4, #88 @ 0x58 │ │ │ │ │ + vldr d1, [r8, #120] @ 0x78 │ │ │ │ │ vldr d4, [r8, #248] @ 0xf8 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ + mov.w r1, r3, lsl #6 │ │ │ │ │ vldr d7, [r8, #240] @ 0xf0 │ │ │ │ │ - str r3, [sp, #24] │ │ │ │ │ - movs r4, #96 @ 0x60 │ │ │ │ │ + add.w r2, r9, r1 │ │ │ │ │ + add.w r3, fp, r1 │ │ │ │ │ + vldr d8, [r8, #376] @ 0x178 │ │ │ │ │ + str r3, [sp, #8] │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + str r2, [sp, #16] │ │ │ │ │ + ldr r2, [sp, #860] @ 0x35c │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - mov.w r3, ip, lsl #5 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - adds r5, r7, r3 │ │ │ │ │ - add.w r0, fp, r3 │ │ │ │ │ - vldr d1, [r8, #120] @ 0x78 │ │ │ │ │ - str r1, [sp, #32] │ │ │ │ │ - mul.w r1, r4, ip │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ - vldr d2, [r5] │ │ │ │ │ + vldr d9, [fp] │ │ │ │ │ + mov.w r2, r2, lsl #5 │ │ │ │ │ + vldr d10, [r9] │ │ │ │ │ + add.w r7, r9, r2 │ │ │ │ │ + add.w r6, fp, r2 │ │ │ │ │ + ldr r0, [sp, #860] @ 0x35c │ │ │ │ │ vmla.f64 d3, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d4 │ │ │ │ │ - adds r4, r0, r2 │ │ │ │ │ - str r0, [sp, #40] @ 0x28 │ │ │ │ │ - vmul.f64 d4, d2, d1 │ │ │ │ │ - vldr d8, [r8, #376] @ 0x178 │ │ │ │ │ - vldr d9, [fp] │ │ │ │ │ - movs r6, #120 @ 0x78 │ │ │ │ │ + str r6, [sp, #24] │ │ │ │ │ + vldr d2, [r7] │ │ │ │ │ + str r7, [sp, #32] │ │ │ │ │ + add r7, r1 │ │ │ │ │ + vldr d0, [r7] │ │ │ │ │ + add.w r5, r0, r0, lsl #1 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ + str r7, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + add r6, r1 │ │ │ │ │ + mov.w r0, r5, lsl #5 │ │ │ │ │ + vmul.f64 d4, d2, d1 │ │ │ │ │ vldr d5, [r8, #112] @ 0x70 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - adds r0, r5, r2 │ │ │ │ │ - vldr d10, [r7] │ │ │ │ │ - mov.w r9, #80 @ 0x50 │ │ │ │ │ - str r4, [sp, #56] @ 0x38 │ │ │ │ │ - mov.w sl, #112 @ 0x70 │ │ │ │ │ + add.w r7, ip, r0 │ │ │ │ │ + str r6, [sp, #40] @ 0x28 │ │ │ │ │ vmla.f64 d4, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d0, [r0] │ │ │ │ │ - mul.w r9, r9, ip │ │ │ │ │ vldr d1, [r8, #368] @ 0x170 │ │ │ │ │ - mul.w sl, sl, ip │ │ │ │ │ - str r5, [sp, #48] @ 0x30 │ │ │ │ │ - add.w r5, lr, r1 │ │ │ │ │ vnmls.f64 d7, d2, d5 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ + vldr d5, [r6] │ │ │ │ │ vmul.f64 d2, d0, d8 │ │ │ │ │ - ldr r4, [sp, #16] │ │ │ │ │ - str r0, [sp, #64] @ 0x40 │ │ │ │ │ - add.w r0, lr, r2 │ │ │ │ │ vmla.f64 d2, d5, d1 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ - add r1, r4 │ │ │ │ │ - add r2, r4 │ │ │ │ │ vnmls.f64 d5, d0, d1 │ │ │ │ │ vadd.f64 d0, d9, d3 │ │ │ │ │ vsub.f64 d9, d9, d3 │ │ │ │ │ vadd.f64 d1, d4, d2 │ │ │ │ │ vsub.f64 d4, d4, d2 │ │ │ │ │ vadd.f64 d8, d0, d1 │ │ │ │ │ vsub.f64 d1, d0, d1 │ │ │ │ │ - vstr d1, [sp, #632] @ 0x278 │ │ │ │ │ + vstr d8, [sp, #616] @ 0x268 │ │ │ │ │ + vstr d1, [sp, #624] @ 0x270 │ │ │ │ │ vsub.f64 d1, d10, d6 │ │ │ │ │ vadd.f64 d10, d10, d6 │ │ │ │ │ - vstr d8, [sp, #624] @ 0x270 │ │ │ │ │ - vldr d6, [lr] │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ vsub.f64 d2, d1, d4 │ │ │ │ │ vadd.f64 d4, d1, d4 │ │ │ │ │ - vstr d4, [sp, #648] @ 0x288 │ │ │ │ │ + vstr d2, [sp, #632] @ 0x278 │ │ │ │ │ + vstr d4, [sp, #640] @ 0x280 │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vstr d2, [sp, #640] @ 0x280 │ │ │ │ │ vsub.f64 d3, d9, d4 │ │ │ │ │ vadd.f64 d0, d9, d4 │ │ │ │ │ vadd.f64 d11, d7, d10 │ │ │ │ │ vsub.f64 d10, d10, d7 │ │ │ │ │ - vldr d4, [r4] │ │ │ │ │ - vstr d3, [sp, #656] @ 0x290 │ │ │ │ │ - vstr d0, [sp, #664] @ 0x298 │ │ │ │ │ - vstr d11, [sp, #256] @ 0x100 │ │ │ │ │ - vstr d10, [sp, #672] @ 0x2a0 │ │ │ │ │ + vstr d11, [sp, #248] @ 0xf8 │ │ │ │ │ + vstr d3, [sp, #648] @ 0x288 │ │ │ │ │ + vstr d0, [sp, #656] @ 0x290 │ │ │ │ │ + vstr d10, [sp, #664] @ 0x298 │ │ │ │ │ + ldr r3, [sp, #4] │ │ │ │ │ + str r7, [sp, #56] @ 0x38 │ │ │ │ │ vldr d7, [r8] │ │ │ │ │ vldr d3, [r8, #8] │ │ │ │ │ + add r0, r3 │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ + str r0, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d8, [r8, #136] @ 0x88 │ │ │ │ │ vldr d10, [r8, #392] @ 0x188 │ │ │ │ │ - vldr d1, [r8, #264] @ 0x108 │ │ │ │ │ vmul.f64 d5, d4, d3 │ │ │ │ │ - str r2, [sp, #92] @ 0x5c │ │ │ │ │ + vldr d1, [r8, #264] @ 0x108 │ │ │ │ │ + ldr r6, [sp, #860] @ 0x35c │ │ │ │ │ vmla.f64 d5, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ - vldr d8, [r8, #136] @ 0x88 │ │ │ │ │ - str r5, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d3, [r0] │ │ │ │ │ + add.w r0, ip, r1 │ │ │ │ │ + add r1, r3 │ │ │ │ │ + mov.w lr, r6, lsl #4 │ │ │ │ │ + str r0, [sp, #72] @ 0x48 │ │ │ │ │ + str r1, [sp, #88] @ 0x58 │ │ │ │ │ vnmls.f64 d6, d4, d7 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ vmul.f64 d9, d3, d10 │ │ │ │ │ vldr d4, [r8, #384] @ 0x180 │ │ │ │ │ - str r1, [sp, #88] @ 0x58 │ │ │ │ │ vmul.f64 d10, d7, d10 │ │ │ │ │ - str r0, [sp, #80] @ 0x50 │ │ │ │ │ vmla.f64 d9, d7, d4 │ │ │ │ │ vldr d7, [r8, #256] @ 0x100 │ │ │ │ │ vnmls.f64 d10, d3, d4 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ + add.w r1, ip, r2 │ │ │ │ │ + add r2, r3 │ │ │ │ │ vldr d3, [r0] │ │ │ │ │ - add.w r2, lr, r3 │ │ │ │ │ - add r3, r4 │ │ │ │ │ - str r3, [sp, #104] @ 0x68 │ │ │ │ │ + sub.w r0, lr, r6 │ │ │ │ │ + mul.w r6, r4, r6 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ + str r1, [sp, #80] @ 0x50 │ │ │ │ │ + mov r4, r3 │ │ │ │ │ + vldr d0, [r2] │ │ │ │ │ + str r2, [sp, #92] @ 0x5c │ │ │ │ │ + add.w r2, r3, r0 │ │ │ │ │ + add.w r7, ip, r6 │ │ │ │ │ vmul.f64 d2, d4, d1 │ │ │ │ │ - str r2, [sp, #96] @ 0x60 │ │ │ │ │ vmla.f64 d2, d3, d7 │ │ │ │ │ vmul.f64 d3, d3, d1 │ │ │ │ │ - vldr d0, [r3] │ │ │ │ │ - mul.w r3, r6, ip │ │ │ │ │ vldr d1, [r8, #128] @ 0x80 │ │ │ │ │ - mov r6, r3 │ │ │ │ │ vnmls.f64 d3, d4, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ vmul.f64 d4, d0, d8 │ │ │ │ │ - add.w r2, lr, r3 │ │ │ │ │ - str r2, [sp, #108] @ 0x6c │ │ │ │ │ + add.w r1, ip, r0 │ │ │ │ │ + str r1, [sp, #96] @ 0x60 │ │ │ │ │ vmla.f64 d4, d7, d1 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ vnmls.f64 d7, d0, d1 │ │ │ │ │ vadd.f64 d0, d5, d2 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ vadd.f64 d1, d9, d4 │ │ │ │ │ vsub.f64 d4, d4, d9 │ │ │ │ │ vadd.f64 d13, d0, d1 │ │ │ │ │ vsub.f64 d1, d0, d1 │ │ │ │ │ vadd.f64 d0, d6, d3 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ - vstr d1, [sp, #680] @ 0x2a8 │ │ │ │ │ + vstr d13, [sp, #256] @ 0x100 │ │ │ │ │ + vstr d1, [sp, #672] @ 0x2a0 │ │ │ │ │ vadd.f64 d1, d10, d7 │ │ │ │ │ vsub.f64 d7, d7, d10 │ │ │ │ │ - vstr d13, [sp, #264] @ 0x108 │ │ │ │ │ vadd.f64 d13, d6, d4 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vsub.f64 d11, d0, d1 │ │ │ │ │ - vadd.f64 d0, d0, d1 │ │ │ │ │ vsub.f64 d2, d5, d7 │ │ │ │ │ vadd.f64 d10, d5, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - mov r2, r4 │ │ │ │ │ - add r4, r3 │ │ │ │ │ - str r4, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d11, [sp, #688] @ 0x2b0 │ │ │ │ │ - vstr d0, [sp, #272] @ 0x110 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - movs r4, #88 @ 0x58 │ │ │ │ │ - vstr d13, [sp, #280] @ 0x118 │ │ │ │ │ - vstr d2, [sp, #288] @ 0x120 │ │ │ │ │ - vstr d10, [sp, #296] @ 0x128 │ │ │ │ │ - mul.w r4, r4, ip │ │ │ │ │ - vstr d6, [sp, #696] @ 0x2b8 │ │ │ │ │ - vldr d6, [r8, #480] @ 0x1e0 │ │ │ │ │ - adds r5, r2, r4 │ │ │ │ │ + vadd.f64 d0, d0, d1 │ │ │ │ │ + vstr d6, [sp, #688] @ 0x2b0 │ │ │ │ │ + vstr d0, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d13, [sp, #272] @ 0x110 │ │ │ │ │ + vstr d2, [sp, #280] @ 0x118 │ │ │ │ │ + vstr d10, [sp, #288] @ 0x120 │ │ │ │ │ + vstr d11, [sp, #680] @ 0x2a8 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + strd r2, r7, [sp, #100] @ 0x64 │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + add.w r2, r3, r6 │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + str r2, [sp, #108] @ 0x6c │ │ │ │ │ vldr d10, [r8, #488] @ 0x1e8 │ │ │ │ │ - add.w r1, lr, r4 │ │ │ │ │ - str r5, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d1, [r8, #232] @ 0xe8 │ │ │ │ │ + vldr d6, [r8, #480] @ 0x1e0 │ │ │ │ │ + ldr r7, [sp, #860] @ 0x35c │ │ │ │ │ vmul.f64 d9, d5, d10 │ │ │ │ │ vmul.f64 d10, d7, d10 │ │ │ │ │ + vldr d8, [r8, #104] @ 0x68 │ │ │ │ │ + vldr d1, [r8, #232] @ 0xe8 │ │ │ │ │ vmla.f64 d9, d7, d6 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - vldr d7, [r8, #352] @ 0x160 │ │ │ │ │ - str r1, [sp, #116] @ 0x74 │ │ │ │ │ - mov r1, r2 │ │ │ │ │ vnmls.f64 d10, d5, d6 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - movs r5, #56 @ 0x38 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + mov.w r2, r7, lsl #3 │ │ │ │ │ + vldr d7, [r8, #352] @ 0x160 │ │ │ │ │ + sub.w sl, r2, r7 │ │ │ │ │ vldr d5, [r8, #360] @ 0x168 │ │ │ │ │ - vldr d8, [r8, #104] @ 0x68 │ │ │ │ │ - mul.w r5, r5, ip │ │ │ │ │ + mov.w r7, sl, lsl #3 │ │ │ │ │ + mov.w sl, sl, lsl #4 │ │ │ │ │ + add.w r1, ip, r7 │ │ │ │ │ + str r1, [sp, #112] @ 0x70 │ │ │ │ │ vmul.f64 d3, d6, d5 │ │ │ │ │ vmla.f64 d3, d4, d7 │ │ │ │ │ vmul.f64 d4, d4, d5 │ │ │ │ │ - add.w r0, lr, r5 │ │ │ │ │ - adds r3, r2, r5 │ │ │ │ │ - str r0, [sp, #124] @ 0x7c │ │ │ │ │ - str r3, [sp, #128] @ 0x80 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ - movs r0, #24 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + add.w r1, r3, r7 │ │ │ │ │ + str r1, [sp, #116] @ 0x74 │ │ │ │ │ vnmls.f64 d4, d6, d7 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + mov.w r1, r5, lsl #3 │ │ │ │ │ vldr d7, [r8, #224] @ 0xe0 │ │ │ │ │ - mul.w r0, r0, ip │ │ │ │ │ + add.w r3, ip, r1 │ │ │ │ │ + str r3, [sp, #120] @ 0x78 │ │ │ │ │ + str r1, [sp, #212] @ 0xd4 │ │ │ │ │ vmul.f64 d2, d6, d1 │ │ │ │ │ vmla.f64 d2, d5, d7 │ │ │ │ │ - add r1, r0 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - add.w r2, lr, r0 │ │ │ │ │ vldr d1, [r8, #96] @ 0x60 │ │ │ │ │ - vldr d0, [r1] │ │ │ │ │ - str r1, [sp, #136] @ 0x88 │ │ │ │ │ - mov.w r1, ip, lsl #4 │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + add.w r3, r4, r1 │ │ │ │ │ + mov.w r4, #104 @ 0x68 │ │ │ │ │ + vldr d0, [r3] │ │ │ │ │ + str r3, [sp, #124] @ 0x7c │ │ │ │ │ + add.w r3, fp, lr │ │ │ │ │ vmul.f64 d6, d0, d8 │ │ │ │ │ - add.w r3, fp, r1 │ │ │ │ │ - str r2, [sp, #132] @ 0x84 │ │ │ │ │ - adds r2, r7, r1 │ │ │ │ │ vmla.f64 d6, d7, d1 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ - str r3, [sp, #144] @ 0x90 │ │ │ │ │ - str r1, [sp, #140] @ 0x8c │ │ │ │ │ - str r2, [sp, #148] @ 0x94 │ │ │ │ │ vnmls.f64 d7, d0, d1 │ │ │ │ │ vadd.f64 d0, d9, d2 │ │ │ │ │ vsub.f64 d9, d9, d2 │ │ │ │ │ vadd.f64 d1, d3, d6 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ vadd.f64 d11, d0, d1 │ │ │ │ │ vsub.f64 d13, d0, d1 │ │ │ │ │ - vadd.f64 d1, d4, d7 │ │ │ │ │ - vsub.f64 d7, d7, d4 │ │ │ │ │ vadd.f64 d0, d10, d5 │ │ │ │ │ + vadd.f64 d1, d4, d7 │ │ │ │ │ vsub.f64 d10, d10, d5 │ │ │ │ │ - vstr d11, [sp, #304] @ 0x130 │ │ │ │ │ - vsub.f64 d2, d9, d7 │ │ │ │ │ - vadd.f64 d7, d9, d7 │ │ │ │ │ + vsub.f64 d7, d7, d4 │ │ │ │ │ + vstr d11, [sp, #296] @ 0x128 │ │ │ │ │ vsub.f64 d11, d0, d1 │ │ │ │ │ - vadd.f64 d5, d10, d6 │ │ │ │ │ vadd.f64 d1, d0, d1 │ │ │ │ │ + vstr d13, [sp, #304] @ 0x130 │ │ │ │ │ + vsub.f64 d2, d9, d7 │ │ │ │ │ + vadd.f64 d5, d10, d6 │ │ │ │ │ + vadd.f64 d7, d9, d7 │ │ │ │ │ vsub.f64 d6, d10, d6 │ │ │ │ │ - vstr d13, [sp, #312] @ 0x138 │ │ │ │ │ - vstr d7, [sp, #344] @ 0x158 │ │ │ │ │ + vstr d11, [sp, #312] @ 0x138 │ │ │ │ │ + vstr d1, [sp, #320] @ 0x140 │ │ │ │ │ + vstr d2, [sp, #328] @ 0x148 │ │ │ │ │ + vstr d7, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d5, [sp, #344] @ 0x158 │ │ │ │ │ + vstr d6, [sp, #352] @ 0x160 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - movs r3, #48 @ 0x30 │ │ │ │ │ - vstr d11, [sp, #320] @ 0x140 │ │ │ │ │ - vstr d1, [sp, #328] @ 0x148 │ │ │ │ │ - vstr d2, [sp, #336] @ 0x150 │ │ │ │ │ - vstr d6, [sp, #360] @ 0x168 │ │ │ │ │ - vstr d5, [sp, #352] @ 0x160 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - mul.w r2, r3, ip │ │ │ │ │ - vldr d9, [r8, #56] @ 0x38 │ │ │ │ │ - ldr r3, [sp, #4] │ │ │ │ │ - add.w r1, fp, r2 │ │ │ │ │ + str r3, [sp, #128] @ 0x80 │ │ │ │ │ + add.w r3, r9, lr │ │ │ │ │ vldr d6, [r8, #48] @ 0x30 │ │ │ │ │ - mov r7, r2 │ │ │ │ │ + str r3, [sp, #132] @ 0x84 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ + mov.w r3, r5, lsl #4 │ │ │ │ │ + vldr d9, [r8, #56] @ 0x38 │ │ │ │ │ + add.w r1, fp, r3 │ │ │ │ │ + str r1, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d4, [r8, #184] @ 0xb8 │ │ │ │ │ + str r3, [sp, #232] @ 0xe8 │ │ │ │ │ + ldr r5, [sp, #860] @ 0x35c │ │ │ │ │ vmul.f64 d10, d5, d9 │ │ │ │ │ vmul.f64 d9, d7, d9 │ │ │ │ │ - add r3, r2 │ │ │ │ │ - vldr d4, [r8, #184] @ 0xb8 │ │ │ │ │ - vmla.f64 d10, d7, d6 │ │ │ │ │ - vldr d7, [r8, #176] @ 0xb0 │ │ │ │ │ - ldr r2, [sp, #4] │ │ │ │ │ + vldr d1, [r8, #312] @ 0x138 │ │ │ │ │ + vldr d8, [r8, #440] @ 0x1b8 │ │ │ │ │ vnmls.f64 d9, d5, d6 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ - str r3, [sp, #156] @ 0x9c │ │ │ │ │ - add.w r3, r2, r9 │ │ │ │ │ + add.w r1, r9, r3 │ │ │ │ │ + vmla.f64 d10, d7, d6 │ │ │ │ │ + add.w r3, r5, r5, lsl #2 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + str r1, [sp, #140] @ 0x8c │ │ │ │ │ + mov.w r1, r3, lsl #4 │ │ │ │ │ + vldr d7, [r8, #176] @ 0xb0 │ │ │ │ │ + add.w r5, fp, r1 │ │ │ │ │ + str r5, [sp, #144] @ 0x90 │ │ │ │ │ vmul.f64 d3, d6, d4 │ │ │ │ │ - str r1, [sp, #152] @ 0x98 │ │ │ │ │ + str r1, [sp, #224] @ 0xe0 │ │ │ │ │ vmla.f64 d3, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d4 │ │ │ │ │ - add.w r1, fp, r9 │ │ │ │ │ - vldr d1, [r8, #312] @ 0x138 │ │ │ │ │ - add r2, sl │ │ │ │ │ - str r1, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d8, [r8, #440] @ 0x1b8 │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ + add.w r5, r9, r1 │ │ │ │ │ + add.w r1, r9, sl │ │ │ │ │ + vldr d0, [r1] │ │ │ │ │ + str r5, [sp, #148] @ 0x94 │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + add.w r5, fp, sl │ │ │ │ │ vldr d7, [r8, #304] @ 0x130 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - add.w r1, fp, sl │ │ │ │ │ + str r1, [sp, #156] @ 0x9c │ │ │ │ │ + add.w r1, fp, r2 │ │ │ │ │ + str r5, [sp, #152] @ 0x98 │ │ │ │ │ vmul.f64 d2, d6, d1 │ │ │ │ │ - vldr d0, [r2] │ │ │ │ │ - str r3, [sp, #164] @ 0xa4 │ │ │ │ │ - mov.w r3, ip, lsl #3 │ │ │ │ │ vmla.f64 d2, d4, d7 │ │ │ │ │ vmul.f64 d4, d4, d1 │ │ │ │ │ vldr d1, [r8, #432] @ 0x1b0 │ │ │ │ │ - str r1, [sp, #168] @ 0xa8 │ │ │ │ │ - str r2, [sp, #172] @ 0xac │ │ │ │ │ - movs r2, #104 @ 0x68 │ │ │ │ │ vnmls.f64 d4, d6, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ vmul.f64 d6, d0, d8 │ │ │ │ │ - add.w r1, fp, r3 │ │ │ │ │ - str r1, [sp, #180] @ 0xb4 │ │ │ │ │ vmla.f64 d6, d7, d1 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ vnmls.f64 d7, d0, d1 │ │ │ │ │ vadd.f64 d1, d10, d2 │ │ │ │ │ vsub.f64 d10, d10, d2 │ │ │ │ │ vadd.f64 d0, d3, d6 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ vadd.f64 d13, d1, d0 │ │ │ │ │ vsub.f64 d0, d0, d1 │ │ │ │ │ vadd.f64 d1, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vstr d0, [sp, #704] @ 0x2c0 │ │ │ │ │ + vstr d13, [sp, #360] @ 0x168 │ │ │ │ │ + vstr d0, [sp, #696] @ 0x2b8 │ │ │ │ │ vadd.f64 d0, d9, d4 │ │ │ │ │ vsub.f64 d9, d9, d4 │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ - vstr d13, [sp, #368] @ 0x170 │ │ │ │ │ vsub.f64 d11, d0, d1 │ │ │ │ │ - vadd.f64 d0, d0, d1 │ │ │ │ │ vsub.f64 d2, d9, d10 │ │ │ │ │ + vadd.f64 d0, d0, d1 │ │ │ │ │ vadd.f64 d10, d9, d10 │ │ │ │ │ - vstr d3, [sp, #400] @ 0x190 │ │ │ │ │ - vstr d7, [sp, #408] @ 0x198 │ │ │ │ │ - vstr d11, [sp, #712] @ 0x2c8 │ │ │ │ │ - vstr d0, [sp, #376] @ 0x178 │ │ │ │ │ - vstr d2, [sp, #384] @ 0x180 │ │ │ │ │ - vstr d10, [sp, #392] @ 0x188 │ │ │ │ │ + vstr d0, [sp, #368] @ 0x170 │ │ │ │ │ + vstr d2, [sp, #376] @ 0x178 │ │ │ │ │ + vstr d11, [sp, #704] @ 0x2c0 │ │ │ │ │ + vstr d10, [sp, #384] @ 0x180 │ │ │ │ │ + str r1, [sp, #160] @ 0xa0 │ │ │ │ │ + ldr r5, [sp, #860] @ 0x35c │ │ │ │ │ + vstr d7, [sp, #400] @ 0x190 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - ldr r1, [sp, #4] │ │ │ │ │ - str r3, [sp, #176] @ 0xb0 │ │ │ │ │ - add r3, r1 │ │ │ │ │ + add.w r1, r9, r2 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + str r1, [sp, #164] @ 0xa4 │ │ │ │ │ + mul.w r1, r4, r5 │ │ │ │ │ vldr d9, [r8, #24] │ │ │ │ │ - str r3, [sp, #184] @ 0xb8 │ │ │ │ │ + vstr d3, [sp, #392] @ 0x188 │ │ │ │ │ vldr d6, [r8, #16] │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - mul.w r3, r2, ip │ │ │ │ │ - str r3, [sp, #20] │ │ │ │ │ - add.w r2, fp, r3 │ │ │ │ │ - str r2, [sp, #188] @ 0xbc │ │ │ │ │ + add.w r4, fp, r1 │ │ │ │ │ + strd r1, r4, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d8, [r8, #152] @ 0x98 │ │ │ │ │ vmul.f64 d10, d5, d9 │ │ │ │ │ vmul.f64 d9, d7, d9 │ │ │ │ │ - vmla.f64 d10, d7, d6 │ │ │ │ │ - mov r3, r1 │ │ │ │ │ vldr d4, [r8, #408] @ 0x198 │ │ │ │ │ - movs r1, #72 @ 0x48 │ │ │ │ │ - vldr d7, [r8, #400] @ 0x190 │ │ │ │ │ - vnmls.f64 d9, d5, d6 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - ldr r2, [sp, #20] │ │ │ │ │ - mul.w r1, r1, ip │ │ │ │ │ vldr d1, [r8, #280] @ 0x118 │ │ │ │ │ - add r3, r2 │ │ │ │ │ - str r3, [sp, #192] @ 0xc0 │ │ │ │ │ - add.w r2, fp, r1 │ │ │ │ │ - str r2, [sp, #196] @ 0xc4 │ │ │ │ │ - vldr d8, [r8, #152] @ 0x98 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - ldr r3, [sp, #4] │ │ │ │ │ + vmla.f64 d10, d7, d6 │ │ │ │ │ + vnmls.f64 d9, d5, d6 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + add.w r4, r9, r1 │ │ │ │ │ + add.w r1, r2, r5 │ │ │ │ │ + mov.w r5, r3, lsl #3 │ │ │ │ │ + vldr d7, [r8, #400] @ 0x190 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + str r4, [sp, #176] @ 0xb0 │ │ │ │ │ + add.w r3, fp, r5 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + add.w r4, fp, r1 │ │ │ │ │ + str r4, [sp, #180] @ 0xb4 │ │ │ │ │ + str r3, [sp, #188] @ 0xbc │ │ │ │ │ + str r5, [sp, #736] @ 0x2e0 │ │ │ │ │ vmul.f64 d2, d5, d4 │ │ │ │ │ - add r3, r1 │ │ │ │ │ vmla.f64 d2, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d4 │ │ │ │ │ - str r3, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + add.w r4, r9, r1 │ │ │ │ │ + str r4, [sp, #184] @ 0xb8 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - movs r3, #40 @ 0x28 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ vldr d7, [r8, #272] @ 0x110 │ │ │ │ │ vmul.f64 d3, d5, d1 │ │ │ │ │ - mul.w r3, r3, ip │ │ │ │ │ vmla.f64 d3, d4, d7 │ │ │ │ │ vmul.f64 d4, d4, d1 │ │ │ │ │ vldr d1, [r8, #144] @ 0x90 │ │ │ │ │ - add.w r2, fp, r3 │ │ │ │ │ - str r2, [sp, #204] @ 0xcc │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ vnmls.f64 d4, d5, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - ldr r2, [sp, #4] │ │ │ │ │ - add r2, r3 │ │ │ │ │ - str r2, [sp, #208] @ 0xd0 │ │ │ │ │ - vldr d0, [r2] │ │ │ │ │ - add.w r2, fp, r6 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + add.w r3, r9, r5 │ │ │ │ │ + vldr d0, [r3] │ │ │ │ │ + str r3, [sp, #192] @ 0xc0 │ │ │ │ │ + add.w r3, fp, r0 │ │ │ │ │ vmul.f64 d5, d0, d8 │ │ │ │ │ vmla.f64 d5, d7, d1 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ vnmls.f64 d7, d0, d1 │ │ │ │ │ vadd.f64 d0, d10, d3 │ │ │ │ │ vsub.f64 d10, d10, d3 │ │ │ │ │ vadd.f64 d1, d2, d5 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ vadd.f64 d13, d0, d1 │ │ │ │ │ - vstr d13, [sp, #416] @ 0x1a0 │ │ │ │ │ + vstr d13, [sp, #408] @ 0x198 │ │ │ │ │ vsub.f64 d13, d0, d1 │ │ │ │ │ vadd.f64 d0, d9, d4 │ │ │ │ │ vadd.f64 d1, d6, d7 │ │ │ │ │ - vsub.f64 d7, d7, d6 │ │ │ │ │ vsub.f64 d9, d9, d4 │ │ │ │ │ - vstr d13, [sp, #720] @ 0x2d0 │ │ │ │ │ + vsub.f64 d7, d7, d6 │ │ │ │ │ + vstr d13, [sp, #712] @ 0x2c8 │ │ │ │ │ vsub.f64 d8, d0, d1 │ │ │ │ │ vadd.f64 d1, d0, d1 │ │ │ │ │ - vsub.f64 d6, d10, d7 │ │ │ │ │ - vadd.f64 d3, d10, d7 │ │ │ │ │ vadd.f64 d4, d9, d5 │ │ │ │ │ vsub.f64 d5, d9, d5 │ │ │ │ │ - vstr d8, [sp, #728] @ 0x2d8 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - str r2, [sp, #212] @ 0xd4 │ │ │ │ │ - mov r2, r6 │ │ │ │ │ - ldr r6, [sp, #4] │ │ │ │ │ + vsub.f64 d6, d10, d7 │ │ │ │ │ + vadd.f64 d3, d10, d7 │ │ │ │ │ + vstr d8, [sp, #720] @ 0x2d0 │ │ │ │ │ + vstr d1, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + str r3, [sp, #196] @ 0xc4 │ │ │ │ │ + add.w r3, r0, r9 │ │ │ │ │ + ldr r4, [sp, #212] @ 0xd4 │ │ │ │ │ + vstr d5, [sp, #432] @ 0x1b0 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ + vstr d6, [sp, #440] @ 0x1b8 │ │ │ │ │ vldr d9, [r8, #472] @ 0x1d8 │ │ │ │ │ - add r2, r6 │ │ │ │ │ - vstr d5, [sp, #440] @ 0x1b8 │ │ │ │ │ - str r2, [sp, #216] @ 0xd8 │ │ │ │ │ - vstr d6, [sp, #448] @ 0x1c0 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - add.w r2, fp, r4 │ │ │ │ │ + str r3, [sp, #200] @ 0xc8 │ │ │ │ │ + add.w r3, fp, r6 │ │ │ │ │ + add r6, r9 │ │ │ │ │ + vstr d4, [sp, #424] @ 0x1a8 │ │ │ │ │ vldr d6, [r8, #464] @ 0x1d0 │ │ │ │ │ - add r4, r6 │ │ │ │ │ - vstr d4, [sp, #432] @ 0x1b0 │ │ │ │ │ + str r3, [sp, #204] @ 0xcc │ │ │ │ │ + vldr d1, [r8, #216] @ 0xd8 │ │ │ │ │ vmul.f64 d10, d5, d9 │ │ │ │ │ vmul.f64 d9, d7, d9 │ │ │ │ │ + vstr d3, [sp, #448] @ 0x1c0 │ │ │ │ │ vldr d4, [r8, #344] @ 0x158 │ │ │ │ │ + vldr d8, [r8, #88] @ 0x58 │ │ │ │ │ + vnmls.f64 d9, d5, d6 │ │ │ │ │ + vldr d5, [r6] │ │ │ │ │ vmla.f64 d10, d7, d6 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + add.w r3, fp, r7 │ │ │ │ │ + add r7, r9 │ │ │ │ │ vldr d7, [r8, #336] @ 0x150 │ │ │ │ │ - str r2, [sp, #220] @ 0xdc │ │ │ │ │ - vnmls.f64 d9, d5, d6 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - add.w r2, fp, r5 │ │ │ │ │ - add r5, r6 │ │ │ │ │ - vstr d1, [sp, #424] @ 0x1a8 │ │ │ │ │ + str r3, [sp, #208] @ 0xd0 │ │ │ │ │ vmul.f64 d2, d5, d4 │ │ │ │ │ - vldr d1, [r8, #216] @ 0xd8 │ │ │ │ │ vmla.f64 d2, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d4 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - vstr d3, [sp, #456] @ 0x1c8 │ │ │ │ │ - str r2, [sp, #224] @ 0xe0 │ │ │ │ │ - add.w r2, fp, r0 │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ + add.w r3, fp, r4 │ │ │ │ │ + str r3, [sp, #212] @ 0xd4 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ vldr d7, [r8, #208] @ 0xd0 │ │ │ │ │ - add r0, r6 │ │ │ │ │ - vldr d8, [r8, #88] @ 0x58 │ │ │ │ │ vmul.f64 d3, d5, d1 │ │ │ │ │ - str r2, [sp, #228] @ 0xe4 │ │ │ │ │ vmla.f64 d3, d4, d7 │ │ │ │ │ vmul.f64 d4, d4, d1 │ │ │ │ │ - vldr d0, [r0] │ │ │ │ │ vldr d1, [r8, #80] @ 0x50 │ │ │ │ │ vnmls.f64 d4, d5, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + add.w r3, r9, r4 │ │ │ │ │ + vldr d0, [r3] │ │ │ │ │ + str r3, [sp, #216] @ 0xd8 │ │ │ │ │ + add.w r3, ip, lr │ │ │ │ │ vmul.f64 d5, d0, d8 │ │ │ │ │ vmla.f64 d5, d7, d1 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ vnmls.f64 d7, d0, d1 │ │ │ │ │ vadd.f64 d0, d10, d3 │ │ │ │ │ vsub.f64 d10, d10, d3 │ │ │ │ │ vadd.f64 d1, d2, d5 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ vadd.f64 d8, d0, d1 │ │ │ │ │ vsub.f64 d1, d0, d1 │ │ │ │ │ vadd.f64 d0, d9, d4 │ │ │ │ │ vsub.f64 d9, d9, d4 │ │ │ │ │ - vstr d1, [sp, #736] @ 0x2e0 │ │ │ │ │ + vstr d8, [sp, #456] @ 0x1c8 │ │ │ │ │ + vstr d1, [sp, #728] @ 0x2d8 │ │ │ │ │ vadd.f64 d1, d6, d7 │ │ │ │ │ vadd.f64 d4, d9, d5 │ │ │ │ │ vsub.f64 d9, d9, d5 │ │ │ │ │ - vstr d8, [sp, #464] @ 0x1d0 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vsub.f64 d11, d0, d1 │ │ │ │ │ vadd.f64 d0, d0, d1 │ │ │ │ │ - vstr d4, [sp, #488] @ 0x1e8 │ │ │ │ │ vsub.f64 d6, d10, d7 │ │ │ │ │ vadd.f64 d10, d10, d7 │ │ │ │ │ - vstr d11, [sp, #472] @ 0x1d8 │ │ │ │ │ - vstr d0, [sp, #480] @ 0x1e0 │ │ │ │ │ - vstr d9, [sp, #496] @ 0x1f0 │ │ │ │ │ - ldr r2, [sp, #140] @ 0x8c │ │ │ │ │ - ldr r3, [sp, #16] │ │ │ │ │ - add.w r6, lr, r2 │ │ │ │ │ - str r6, [sp, #140] @ 0x8c │ │ │ │ │ + vstr d11, [sp, #464] @ 0x1d0 │ │ │ │ │ + vstr d0, [sp, #472] @ 0x1d8 │ │ │ │ │ + vstr d4, [sp, #480] @ 0x1e0 │ │ │ │ │ + vstr d9, [sp, #488] @ 0x1e8 │ │ │ │ │ + ldr r4, [sp, #4] │ │ │ │ │ + str r3, [sp, #220] @ 0xdc │ │ │ │ │ vldr d13, [r8, #72] @ 0x48 │ │ │ │ │ - vstr d6, [sp, #504] @ 0x1f8 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - mov r6, r3 │ │ │ │ │ - add r6, r2 │ │ │ │ │ + vstr d6, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + add lr, r4 │ │ │ │ │ + vstr d10, [sp, #504] @ 0x1f8 │ │ │ │ │ + mov r0, r4 │ │ │ │ │ + ldr r3, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d5, [lr] │ │ │ │ │ vldr d6, [r8, #64] @ 0x40 │ │ │ │ │ - str r6, [sp, #232] @ 0xe8 │ │ │ │ │ - mov r2, r7 │ │ │ │ │ - vstr d10, [sp, #512] @ 0x200 │ │ │ │ │ - add r7, lr │ │ │ │ │ - vldr d5, [r6] │ │ │ │ │ - add.w r6, lr, r9 │ │ │ │ │ - add r9, r3 │ │ │ │ │ - vldr d10, [r8, #328] @ 0x148 │ │ │ │ │ - str r6, [sp, #236] @ 0xec │ │ │ │ │ + add.w r5, ip, r3 │ │ │ │ │ + vldr d8, [r8, #200] @ 0xc8 │ │ │ │ │ + str r5, [sp, #224] @ 0xe0 │ │ │ │ │ vmul.f64 d11, d5, d13 │ │ │ │ │ vmul.f64 d13, d7, d13 │ │ │ │ │ - vmla.f64 d11, d7, d6 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - add.w r6, lr, sl │ │ │ │ │ - add sl, r3 │ │ │ │ │ + vldr d10, [r8, #328] @ 0x148 │ │ │ │ │ vldr d1, [r8, #456] @ 0x1c8 │ │ │ │ │ + vmla.f64 d11, d7, d6 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, r4, r3 │ │ │ │ │ vnmls.f64 d13, d5, d6 │ │ │ │ │ - vldr d5, [r9] │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + str r5, [sp, #228] @ 0xe4 │ │ │ │ │ + add.w r5, ip, sl │ │ │ │ │ + add sl, r4 │ │ │ │ │ vldr d6, [r8, #320] @ 0x140 │ │ │ │ │ vldr d3, [sl] │ │ │ │ │ vmul.f64 d9, d5, d10 │ │ │ │ │ vmul.f64 d10, d7, d10 │ │ │ │ │ - vmla.f64 d9, d7, d6 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ + ldr r3, [sp, #232] @ 0xe8 │ │ │ │ │ vmul.f64 d4, d3, d1 │ │ │ │ │ - str r7, [sp, #240] @ 0xf0 │ │ │ │ │ - vldr d8, [r8, #200] @ 0xc8 │ │ │ │ │ vnmls.f64 d10, d5, d6 │ │ │ │ │ vldr d5, [r8, #448] @ 0x1c0 │ │ │ │ │ + vmla.f64 d9, d7, d6 │ │ │ │ │ + add.w r4, ip, r3 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + str r4, [sp, #232] @ 0xe8 │ │ │ │ │ vmla.f64 d4, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vldr d1, [r8, #192] @ 0xc0 │ │ │ │ │ + vsub.f64 d2, d13, d10 │ │ │ │ │ vsub.f64 d6, d11, d9 │ │ │ │ │ + vadd.f64 d13, d13, d10 │ │ │ │ │ vadd.f64 d9, d11, d9 │ │ │ │ │ vnmls.f64 d7, d3, d5 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ - mov r7, r3 │ │ │ │ │ - vsub.f64 d2, d13, d10 │ │ │ │ │ - add r7, r2 │ │ │ │ │ - vadd.f64 d13, d13, d10 │ │ │ │ │ - str r7, [sp, #244] @ 0xf4 │ │ │ │ │ - vldr d0, [r7] │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + mov r4, r0 │ │ │ │ │ + add r4, r3 │ │ │ │ │ + vldr d0, [r4] │ │ │ │ │ + str r4, [sp, #236] @ 0xec │ │ │ │ │ + add.w r4, ip, r2 │ │ │ │ │ + add r2, r0 │ │ │ │ │ vmul.f64 d3, d0, d8 │ │ │ │ │ vmla.f64 d3, d5, d1 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ vnmls.f64 d5, d0, d1 │ │ │ │ │ vsub.f64 d1, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ vsub.f64 d0, d7, d5 │ │ │ │ │ @@ -574,722 +569,720 @@ │ │ │ │ │ vadd.f64 d5, d6, d2 │ │ │ │ │ vsub.f64 d4, d4, d9 │ │ │ │ │ vsub.f64 d6, d2, d6 │ │ │ │ │ vsub.f64 d10, d13, d7 │ │ │ │ │ vadd.f64 d13, d13, d7 │ │ │ │ │ vsub.f64 d7, d1, d0 │ │ │ │ │ vadd.f64 d1, d1, d0 │ │ │ │ │ - vstr d4, [sp, #528] @ 0x210 │ │ │ │ │ - vstr d3, [sp, #520] @ 0x208 │ │ │ │ │ - vstr d10, [sp, #536] @ 0x218 │ │ │ │ │ + vstr d3, [sp, #512] @ 0x200 │ │ │ │ │ + vstr d4, [sp, #520] @ 0x208 │ │ │ │ │ + vstr d10, [sp, #528] @ 0x210 │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ vmul.f64 d10, d4, d14 │ │ │ │ │ - vstr d7, [sp, #552] @ 0x228 │ │ │ │ │ + vstr d10, [sp, #536] @ 0x218 │ │ │ │ │ + vstr d7, [sp, #544] @ 0x220 │ │ │ │ │ vsub.f64 d7, d6, d1 │ │ │ │ │ vadd.f64 d6, d6, d1 │ │ │ │ │ - vstr d10, [sp, #544] @ 0x220 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ vmul.f64 d2, d6, d14 │ │ │ │ │ - vstr d7, [sp, #560] @ 0x230 │ │ │ │ │ - vstr d2, [sp, #568] @ 0x238 │ │ │ │ │ - ldr r2, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d7, [sp, #552] @ 0x228 │ │ │ │ │ + vstr d2, [sp, #560] @ 0x230 │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + str r4, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + add.w r4, ip, r1 │ │ │ │ │ + add r1, r0 │ │ │ │ │ vldr d4, [r8, #40] @ 0x28 │ │ │ │ │ - add.w r7, lr, r2 │ │ │ │ │ - str r7, [sp, #176] @ 0xb0 │ │ │ │ │ + str r4, [sp, #244] @ 0xf4 │ │ │ │ │ vldr d6, [r8, #32] │ │ │ │ │ + ldr r3, [sp, #168] @ 0xa8 │ │ │ │ │ + vmul.f64 d11, d5, d4 │ │ │ │ │ vldr d10, [r8, #296] @ 0x128 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - mov r7, r3 │ │ │ │ │ - add r7, r2 │ │ │ │ │ - str r7, [sp, #248] @ 0xf8 │ │ │ │ │ - mov r2, r3 │ │ │ │ │ - vldr d1, [r8, #424] @ 0x1a8 │ │ │ │ │ vldr d0, [r8, #168] @ 0xa8 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ - add.w r7, lr, r1 │ │ │ │ │ - add r1, r3 │ │ │ │ │ - ldr r3, [sp, #20] │ │ │ │ │ - str r7, [sp, #252] @ 0xfc │ │ │ │ │ - vmul.f64 d11, d5, d4 │ │ │ │ │ + vldr d1, [r8, #424] @ 0x1a8 │ │ │ │ │ vmla.f64 d11, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ vldr d6, [r8, #288] @ 0x120 │ │ │ │ │ vmul.f64 d9, d5, d10 │ │ │ │ │ vmov.f64 d4, d7 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - add.w r7, lr, r3 │ │ │ │ │ - add r3, r2 │ │ │ │ │ - mov r2, r3 │ │ │ │ │ - str r7, [sp, #20] │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + add.w r4, ip, r3 │ │ │ │ │ + str r4, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d4, [sp, #568] @ 0x238 │ │ │ │ │ vmul.f64 d10, d7, d10 │ │ │ │ │ vmla.f64 d9, d7, d6 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - vstr d4, [sp, #576] @ 0x240 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + mov r4, r0 │ │ │ │ │ + add r4, r3 │ │ │ │ │ + ldr r0, [sp, #736] @ 0x2e0 │ │ │ │ │ vnmls.f64 d10, d5, d6 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ vldr d6, [r8, #416] @ 0x1a0 │ │ │ │ │ - ldr r3, [sp, #8] │ │ │ │ │ - add.w r7, lr, r3 │ │ │ │ │ - str r7, [sp, #744] @ 0x2e8 │ │ │ │ │ + add.w r3, ip, r0 │ │ │ │ │ + str r3, [sp, #736] @ 0x2e0 │ │ │ │ │ vsub.f64 d2, d11, d9 │ │ │ │ │ vadd.f64 d9, d11, d9 │ │ │ │ │ vsub.f64 d3, d4, d10 │ │ │ │ │ vmul.f64 d4, d5, d1 │ │ │ │ │ vmla.f64 d4, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ - ldr r7, [sp, #16] │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ + ldr r3, [sp, #4] │ │ │ │ │ vldr d6, [r8, #160] @ 0xa0 │ │ │ │ │ add.w r8, r8, #496 @ 0x1f0 │ │ │ │ │ - add r3, r7 │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ - vldr d1, [r3] │ │ │ │ │ + add r0, r3 │ │ │ │ │ + mov r3, r0 │ │ │ │ │ + vldr d1, [r0] │ │ │ │ │ vmul.f64 d8, d1, d0 │ │ │ │ │ vmla.f64 d8, d5, d6 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ vnmls.f64 d5, d1, d6 │ │ │ │ │ vsub.f64 d1, d4, d8 │ │ │ │ │ vadd.f64 d4, d4, d8 │ │ │ │ │ vsub.f64 d6, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vadd.f64 d11, d9, d4 │ │ │ │ │ vsub.f64 d0, d4, d9 │ │ │ │ │ - vldr d4, [sp, #576] @ 0x240 │ │ │ │ │ + vldr d4, [sp, #568] @ 0x238 │ │ │ │ │ vadd.f64 d10, d4, d10 │ │ │ │ │ - vstr d0, [sp, #584] @ 0x248 │ │ │ │ │ + vstr d0, [sp, #576] @ 0x240 │ │ │ │ │ vsub.f64 d5, d10, d7 │ │ │ │ │ vadd.f64 d10, d10, d7 │ │ │ │ │ vsub.f64 d7, d3, d2 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ - vstr d5, [sp, #576] @ 0x240 │ │ │ │ │ + vstr d5, [sp, #568] @ 0x238 │ │ │ │ │ vadd.f64 d5, d1, d6 │ │ │ │ │ vsub.f64 d6, d1, d6 │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ vmul.f64 d9, d4, d14 │ │ │ │ │ - vstr d7, [sp, #600] @ 0x258 │ │ │ │ │ + vstr d9, [sp, #584] @ 0x248 │ │ │ │ │ + vstr d7, [sp, #592] @ 0x250 │ │ │ │ │ vsub.f64 d7, d6, d3 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ - vstr d9, [sp, #592] @ 0x250 │ │ │ │ │ + vldr d9, [sp, #616] @ 0x268 │ │ │ │ │ vmul.f64 d2, d7, d14 │ │ │ │ │ vmul.f64 d3, d6, d14 │ │ │ │ │ - vstr d2, [sp, #608] @ 0x260 │ │ │ │ │ - vldr d9, [sp, #624] @ 0x270 │ │ │ │ │ - vldr d8, [sp, #416] @ 0x1a0 │ │ │ │ │ - vldr d6, [sp, #368] @ 0x170 │ │ │ │ │ - vldr d7, [sp, #464] @ 0x1d0 │ │ │ │ │ - vldr d4, [sp, #480] @ 0x1e0 │ │ │ │ │ - vldr d5, [sp, #424] @ 0x1a8 │ │ │ │ │ + vstr d2, [sp, #600] @ 0x258 │ │ │ │ │ + vstr d3, [sp, #608] @ 0x260 │ │ │ │ │ + vldr d6, [sp, #360] @ 0x168 │ │ │ │ │ + ldr r0, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d8, [sp, #408] @ 0x198 │ │ │ │ │ + vldr d5, [sp, #416] @ 0x1a0 │ │ │ │ │ vadd.f64 d6, d9, d6 │ │ │ │ │ + vldr d7, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d4, [sp, #472] @ 0x1d8 │ │ │ │ │ + vldr d1, [sp, #512] @ 0x200 │ │ │ │ │ vadd.f64 d7, d8, d7 │ │ │ │ │ - vldr d8, [sp, #256] @ 0x100 │ │ │ │ │ - vldr d1, [sp, #520] @ 0x208 │ │ │ │ │ + vldr d8, [sp, #248] @ 0xf8 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ - vldr d4, [sp, #376] @ 0x178 │ │ │ │ │ - vstr d3, [sp, #616] @ 0x268 │ │ │ │ │ + vldr d4, [sp, #368] @ 0x170 │ │ │ │ │ vadd.f64 d2, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vadd.f64 d7, d8, d4 │ │ │ │ │ - vldr d4, [sp, #264] @ 0x108 │ │ │ │ │ - ldr r3, [sp, #216] @ 0xd8 │ │ │ │ │ - vadd.f64 d4, d4, d1 │ │ │ │ │ - vldr d1, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d4, [sp, #256] @ 0x100 │ │ │ │ │ vadd.f64 d3, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [sp, #304] @ 0x130 │ │ │ │ │ + vldr d5, [sp, #296] @ 0x128 │ │ │ │ │ + vadd.f64 d4, d4, d1 │ │ │ │ │ + vldr d1, [sp, #264] @ 0x108 │ │ │ │ │ vadd.f64 d5, d5, d11 │ │ │ │ │ vadd.f64 d0, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vadd.f64 d4, d1, d13 │ │ │ │ │ - vldr d1, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d1, [sp, #320] @ 0x140 │ │ │ │ │ vadd.f64 d8, d1, d10 │ │ │ │ │ vsub.f64 d1, d4, d8 │ │ │ │ │ vadd.f64 d4, d4, d8 │ │ │ │ │ vsub.f64 d8, d2, d0 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ - vldr d0, [sp, #464] @ 0x1d0 │ │ │ │ │ - vstr d8, [r3] │ │ │ │ │ + vldr d0, [sp, #456] @ 0x1c8 │ │ │ │ │ + vstr d8, [r0] │ │ │ │ │ vsub.f64 d8, d4, d3 │ │ │ │ │ - ldr r3, [sp, #112] @ 0x70 │ │ │ │ │ vadd.f64 d3, d3, d4 │ │ │ │ │ vsub.f64 d4, d6, d1 │ │ │ │ │ + ldr r0, [sp, #100] @ 0x64 │ │ │ │ │ vadd.f64 d6, d6, d1 │ │ │ │ │ - vstr d8, [r3] │ │ │ │ │ + vstr d8, [r0] │ │ │ │ │ vstr d2, [fp] │ │ │ │ │ - ldr r3, [sp, #128] @ 0x80 │ │ │ │ │ - vstr d3, [lr] │ │ │ │ │ - vstr d4, [r5] │ │ │ │ │ + vstr d3, [ip] │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ vsub.f64 d4, d5, d7 │ │ │ │ │ - ldr r5, [sp, #24] │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - vstr d6, [r5] │ │ │ │ │ - vldr d6, [sp, #368] @ 0x170 │ │ │ │ │ - ldr r5, [sp, #80] @ 0x50 │ │ │ │ │ + ldr r0, [sp, #116] @ 0x74 │ │ │ │ │ + vldr d8, [sp, #248] @ 0xf8 │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ + ldr r0, [sp, #8] │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ + ldr r0, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d6, [sp, #360] @ 0x168 │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ vsub.f64 d5, d9, d6 │ │ │ │ │ - vldr d6, [sp, #424] @ 0x1a8 │ │ │ │ │ - vldr d9, [sp, #480] @ 0x1e0 │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ + vldr d6, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d9, [sp, #472] @ 0x1d8 │ │ │ │ │ vsub.f64 d7, d6, d9 │ │ │ │ │ - vldr d9, [sp, #416] @ 0x1a0 │ │ │ │ │ - vldr d8, [sp, #256] @ 0x100 │ │ │ │ │ - vldr d6, [sp, #376] @ 0x178 │ │ │ │ │ - vsub.f64 d9, d0, d9 │ │ │ │ │ - vldr d4, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d6, [sp, #368] @ 0x170 │ │ │ │ │ + vldr d9, [sp, #408] @ 0x198 │ │ │ │ │ + vldr d4, [sp, #256] @ 0x100 │ │ │ │ │ vadd.f64 d2, d5, d7 │ │ │ │ │ - vldr d0, [sp, #272] @ 0x110 │ │ │ │ │ vsub.f64 d6, d8, d6 │ │ │ │ │ + ldr r0, [sp, #108] @ 0x6c │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ - vldr d8, [sp, #304] @ 0x130 │ │ │ │ │ - vldr d7, [sp, #520] @ 0x208 │ │ │ │ │ - vldr d1, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d8, [sp, #296] @ 0x128 │ │ │ │ │ + vsub.f64 d9, d0, d9 │ │ │ │ │ + vldr d0, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d1, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d7, [sp, #512] @ 0x200 │ │ │ │ │ vadd.f64 d3, d9, d6 │ │ │ │ │ vsub.f64 d9, d6, d9 │ │ │ │ │ + vsub.f64 d10, d1, d10 │ │ │ │ │ vsub.f64 d6, d4, d7 │ │ │ │ │ vsub.f64 d4, d8, d11 │ │ │ │ │ - vsub.f64 d10, d1, d10 │ │ │ │ │ vsub.f64 d7, d0, d13 │ │ │ │ │ - ldr r3, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d13, [sp, #720] @ 0x2d0 │ │ │ │ │ + vldr d13, [sp, #712] @ 0x2c8 │ │ │ │ │ vadd.f64 d0, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vsub.f64 d6, d4, d10 │ │ │ │ │ vadd.f64 d4, d4, d10 │ │ │ │ │ - vldr d10, [sp, #704] @ 0x2c0 │ │ │ │ │ + vldr d10, [sp, #696] @ 0x2b8 │ │ │ │ │ vadd.f64 d1, d0, d6 │ │ │ │ │ vsub.f64 d6, d6, d0 │ │ │ │ │ - vldr d0, [sp, #576] @ 0x240 │ │ │ │ │ + vldr d0, [sp, #568] @ 0x238 │ │ │ │ │ vmul.f64 d1, d1, d14 │ │ │ │ │ vmul.f64 d6, d6, d14 │ │ │ │ │ vsub.f64 d8, d2, d1 │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ - vstr d8, [r4] │ │ │ │ │ - ldr r4, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d8, [sp, #672] @ 0x2a0 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ + vstr d8, [r6] │ │ │ │ │ + ldr r6, [sp, #24] │ │ │ │ │ + vldr d8, [sp, #664] @ 0x298 │ │ │ │ │ + vstr d2, [r6] │ │ │ │ │ vadd.f64 d2, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - ldr r4, [sp, #96] @ 0x60 │ │ │ │ │ + ldr r6, [sp, #80] @ 0x50 │ │ │ │ │ vadd.f64 d11, d8, d10 │ │ │ │ │ vmul.f64 d2, d2, d14 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ - vstr d11, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d11, [sp, #24] │ │ │ │ │ vsub.f64 d1, d2, d3 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ + vldr d2, [sp, #728] @ 0x2d8 │ │ │ │ │ vsub.f64 d4, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ vsub.f64 d7, d6, d9 │ │ │ │ │ vadd.f64 d9, d9, d6 │ │ │ │ │ - vldr d2, [sp, #736] @ 0x2e0 │ │ │ │ │ - vstr d1, [r3] │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ + vstr d1, [r0] │ │ │ │ │ + ldr r0, [sp, #216] @ 0xd8 │ │ │ │ │ + vstr d3, [r6] │ │ │ │ │ vsub.f64 d3, d8, d10 │ │ │ │ │ - ldr r4, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r6, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d8, [sp, #464] @ 0x1d0 │ │ │ │ │ vstr d4, [r0] │ │ │ │ │ - vldr d8, [sp, #472] @ 0x1d8 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ - ldr r4, [sp, #136] @ 0x88 │ │ │ │ │ + ldr r0, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d5, [r6] │ │ │ │ │ + ldr r6, [sp, #124] @ 0x7c │ │ │ │ │ vadd.f64 d5, d2, d8 │ │ │ │ │ - vldr d8, [sp, #312] @ 0x138 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ - ldr r4, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d7, [sp, #632] @ 0x278 │ │ │ │ │ - vstr d9, [r4] │ │ │ │ │ - vldr d9, [sp, #712] @ 0x2c8 │ │ │ │ │ + vldr d8, [sp, #304] @ 0x130 │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ + vldr d7, [sp, #624] @ 0x270 │ │ │ │ │ + vstr d9, [r0] │ │ │ │ │ + vldr d9, [sp, #704] @ 0x2c0 │ │ │ │ │ vsub.f64 d1, d7, d9 │ │ │ │ │ vadd.f64 d10, d7, d9 │ │ │ │ │ - vldr d9, [sp, #728] @ 0x2d8 │ │ │ │ │ + vldr d9, [sp, #720] @ 0x2d0 │ │ │ │ │ vsub.f64 d7, d9, d13 │ │ │ │ │ vsub.f64 d6, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vmul.f64 d11, d7, d14 │ │ │ │ │ vadd.f64 d7, d8, d0 │ │ │ │ │ - vldr d0, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d0, [sp, #312] @ 0x138 │ │ │ │ │ vmul.f64 d6, d6, d14 │ │ │ │ │ - vldr d8, [sp, #584] @ 0x248 │ │ │ │ │ - ldr r5, [sp, #200] @ 0xc8 │ │ │ │ │ - ldr r4, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d8, [sp, #576] @ 0x240 │ │ │ │ │ + ldr r6, [sp, #136] @ 0x88 │ │ │ │ │ + ldr r0, [sp, #184] @ 0xb8 │ │ │ │ │ vadd.f64 d5, d0, d8 │ │ │ │ │ - vldr d8, [sp, #472] @ 0x1d8 │ │ │ │ │ - ldr r7, [sp, #240] @ 0xf0 │ │ │ │ │ + vmov.f64 d8, d9 │ │ │ │ │ + vldr d9, [sp, #672] @ 0x2a0 │ │ │ │ │ vmul.f64 d4, d5, d15 │ │ │ │ │ vnmls.f64 d4, d7, d12 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ vmla.f64 d7, d5, d12 │ │ │ │ │ + vstr d4, [sp, #40] @ 0x28 │ │ │ │ │ + vadd.f64 d4, d13, d8 │ │ │ │ │ + vldr d8, [sp, #464] @ 0x1d0 │ │ │ │ │ + vldr d13, [sp, #520] @ 0x208 │ │ │ │ │ + vstr d7, [sp, #56] @ 0x38 │ │ │ │ │ vsub.f64 d5, d2, d8 │ │ │ │ │ - vstr d4, [sp, #56] @ 0x38 │ │ │ │ │ - vadd.f64 d4, d13, d9 │ │ │ │ │ - vstr d7, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d13, [sp, #528] @ 0x210 │ │ │ │ │ - vldr d9, [sp, #680] @ 0x2a8 │ │ │ │ │ vadd.f64 d7, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ - vldr d4, [sp, #688] @ 0x2b0 │ │ │ │ │ + vldr d4, [sp, #680] @ 0x2a8 │ │ │ │ │ vsub.f64 d2, d4, d13 │ │ │ │ │ - vldr d13, [sp, #536] @ 0x218 │ │ │ │ │ + vldr d13, [sp, #528] @ 0x210 │ │ │ │ │ vmul.f64 d5, d5, d14 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ vsub.f64 d13, d9, d13 │ │ │ │ │ vmul.f64 d0, d13, d15 │ │ │ │ │ vmul.f64 d13, d13, d12 │ │ │ │ │ vmla.f64 d0, d2, d12 │ │ │ │ │ vnmls.f64 d13, d2, d15 │ │ │ │ │ vmov.f64 d8, d0 │ │ │ │ │ - vldr d0, [sp, #528] @ 0x210 │ │ │ │ │ + vldr d0, [sp, #520] @ 0x208 │ │ │ │ │ + vstr d8, [sp, #8] │ │ │ │ │ vadd.f64 d2, d4, d0 │ │ │ │ │ - vldr d0, [sp, #536] @ 0x218 │ │ │ │ │ - vstr d8, [sp, #24] │ │ │ │ │ + vldr d0, [sp, #528] @ 0x210 │ │ │ │ │ vadd.f64 d4, d9, d0 │ │ │ │ │ - vldr d9, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d9, [sp, #304] @ 0x130 │ │ │ │ │ vmul.f64 d0, d4, d12 │ │ │ │ │ vmul.f64 d4, d4, d15 │ │ │ │ │ - vmla.f64 d0, d2, d15 │ │ │ │ │ vnmls.f64 d4, d2, d12 │ │ │ │ │ - vstr d0, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d0, [sp, #584] @ 0x248 │ │ │ │ │ - vstr d4, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d4, [sp, #576] @ 0x240 │ │ │ │ │ + vmla.f64 d0, d2, d15 │ │ │ │ │ + vstr d0, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d4, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d4, [sp, #568] @ 0x238 │ │ │ │ │ + vldr d0, [sp, #576] @ 0x240 │ │ │ │ │ vsub.f64 d4, d9, d4 │ │ │ │ │ - vldr d9, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d9, [sp, #312] @ 0x138 │ │ │ │ │ vsub.f64 d2, d9, d0 │ │ │ │ │ vmul.f64 d9, d2, d12 │ │ │ │ │ vnmls.f64 d9, d4, d15 │ │ │ │ │ vmul.f64 d4, d4, d12 │ │ │ │ │ vmla.f64 d4, d2, d15 │ │ │ │ │ vadd.f64 d2, d1, d6 │ │ │ │ │ vsub.f64 d6, d1, d6 │ │ │ │ │ vadd.f64 d0, d8, d9 │ │ │ │ │ vsub.f64 d8, d2, d0 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ vadd.f64 d0, d3, d5 │ │ │ │ │ vsub.f64 d3, d3, d5 │ │ │ │ │ - vstr d8, [r5] │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ + vstr d8, [r0] │ │ │ │ │ + vstr d2, [r6] │ │ │ │ │ vadd.f64 d2, d13, d4 │ │ │ │ │ vsub.f64 d13, d13, d4 │ │ │ │ │ - ldr r5, [sp, #184] @ 0xb8 │ │ │ │ │ - ldr r4, [sp, #168] @ 0xa8 │ │ │ │ │ + ldr r6, [sp, #164] @ 0xa4 │ │ │ │ │ + ldr r0, [sp, #232] @ 0xe8 │ │ │ │ │ vsub.f64 d8, d2, d0 │ │ │ │ │ - vadd.f64 d2, d2, d0 │ │ │ │ │ vsub.f64 d4, d6, d13 │ │ │ │ │ + vadd.f64 d2, d2, d0 │ │ │ │ │ vadd.f64 d6, d6, d13 │ │ │ │ │ vstr d8, [r1] │ │ │ │ │ - vldr d8, [sp, #24] │ │ │ │ │ - vstr d2, [r7] │ │ │ │ │ - vstr d4, [r5] │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ + vldr d8, [sp, #8] │ │ │ │ │ + vstr d2, [r0] │ │ │ │ │ + vstr d4, [r6] │ │ │ │ │ + ldr r6, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ vsub.f64 d6, d9, d8 │ │ │ │ │ - ldr r5, [sp, #248] @ 0xf8 │ │ │ │ │ vsub.f64 d5, d6, d3 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ - vstr d5, [r5] │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ + vldr d3, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ + vstr d6, [r5] │ │ │ │ │ vadd.f64 d6, d10, d7 │ │ │ │ │ - vldr d3, [sp, #56] @ 0x38 │ │ │ │ │ vsub.f64 d7, d10, d7 │ │ │ │ │ - vldr d1, [sp, #80] @ 0x50 │ │ │ │ │ - ldr r4, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d2, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d1, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d13, [sp, #24] │ │ │ │ │ + ldr r6, [sp, #176] @ 0xb0 │ │ │ │ │ vadd.f64 d5, d3, d1 │ │ │ │ │ - vldr d0, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d13, [sp, #40] @ 0x28 │ │ │ │ │ - ldr r6, [sp, #140] @ 0x8c │ │ │ │ │ - ldr r3, [sp, #8] │ │ │ │ │ + vldr d2, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d0, [sp, #80] @ 0x50 │ │ │ │ │ + ldr r5, [sp, #144] @ 0x90 │ │ │ │ │ vsub.f64 d4, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ + ldr r0, [sp, #220] @ 0xdc │ │ │ │ │ vadd.f64 d5, d13, d11 │ │ │ │ │ vsub.f64 d11, d13, d11 │ │ │ │ │ - vldr d10, [sp, #392] @ 0x188 │ │ │ │ │ - vldr d8, [sp, #448] @ 0x1c0 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - ldr r4, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d9, [sp, #488] @ 0x1e8 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ + vldr d10, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d8, [sp, #440] @ 0x1b8 │ │ │ │ │ + vstr d4, [r6] │ │ │ │ │ + ldr r6, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d9, [sp, #480] @ 0x1e0 │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ vadd.f64 d6, d2, d0 │ │ │ │ │ - ldr r4, [sp, #208] @ 0xd0 │ │ │ │ │ + ldr r6, [sp, #192] @ 0xc0 │ │ │ │ │ vsub.f64 d4, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ vsub.f64 d6, d0, d2 │ │ │ │ │ - ldr r6, [sp, #236] @ 0xec │ │ │ │ │ - vldr d0, [sp, #408] @ 0x198 │ │ │ │ │ - vldr d4, [sp, #432] @ 0x1b0 │ │ │ │ │ + vldr d0, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d4, [sp, #424] @ 0x1a8 │ │ │ │ │ + vldr d2, [pc, #976] @ 10e8 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d2, [pc, #968] @ 10c0 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ - ldr r4, [sp, #160] @ 0xa0 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + vstr d5, [r6] │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ vsub.f64 d7, d3, d1 │ │ │ │ │ - vldr d1, [sp, #384] @ 0x180 │ │ │ │ │ - vldr d3, [sp, #656] @ 0x290 │ │ │ │ │ + ldr r5, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d1, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d3, [sp, #648] @ 0x288 │ │ │ │ │ vsub.f64 d5, d7, d11 │ │ │ │ │ vadd.f64 d7, d7, d11 │ │ │ │ │ - vldr d11, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d11, [sp, #392] @ 0x188 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ vsub.f64 d7, d1, d11 │ │ │ │ │ - vldr d5, [sp, #648] @ 0x288 │ │ │ │ │ + vldr d5, [sp, #640] @ 0x280 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ vsub.f64 d1, d3, d7 │ │ │ │ │ vadd.f64 d11, d3, d7 │ │ │ │ │ + vldr d3, [sp, #328] @ 0x148 │ │ │ │ │ vsub.f64 d7, d0, d10 │ │ │ │ │ - vldr d0, [sp, #504] @ 0x1f8 │ │ │ │ │ - vldr d3, [sp, #336] @ 0x150 │ │ │ │ │ - vmul.f64 d6, d0, d12 │ │ │ │ │ + vldr d0, [sp, #496] @ 0x1f0 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ - vmla.f64 d6, d9, d15 │ │ │ │ │ + vmul.f64 d6, d0, d12 │ │ │ │ │ + vldr d0, [sp, #600] @ 0x258 │ │ │ │ │ vadd.f64 d13, d5, d7 │ │ │ │ │ vsub.f64 d7, d5, d7 │ │ │ │ │ vmul.f64 d5, d8, d12 │ │ │ │ │ - vldr d8, [sp, #592] @ 0x250 │ │ │ │ │ + vmla.f64 d6, d9, d15 │ │ │ │ │ + vldr d8, [sp, #584] @ 0x248 │ │ │ │ │ vnmls.f64 d5, d4, d15 │ │ │ │ │ vadd.f64 d10, d5, d6 │ │ │ │ │ vsub.f64 d4, d5, d6 │ │ │ │ │ vadd.f64 d6, d3, d8 │ │ │ │ │ - vldr d8, [sp, #352] @ 0x160 │ │ │ │ │ - vldr d0, [sp, #608] @ 0x260 │ │ │ │ │ - vldr d9, [sp, #280] @ 0x118 │ │ │ │ │ - ldr r1, [sp, #32] │ │ │ │ │ + vldr d8, [sp, #344] @ 0x158 │ │ │ │ │ vadd.f64 d5, d8, d0 │ │ │ │ │ - vldr d8, [pc, #836] @ 10c8 │ │ │ │ │ - vldr d0, [pc, #840] @ 10d0 │ │ │ │ │ - ldr r4, [sp, #224] @ 0xe0 │ │ │ │ │ - ldr r2, [sp, #92] @ 0x5c │ │ │ │ │ + vldr d8, [pc, #844] @ 10f0 │ │ │ │ │ + vldr d0, [pc, #848] @ 10f8 │ │ │ │ │ vmul.f64 d3, d5, d8 │ │ │ │ │ vnmls.f64 d3, d6, d0 │ │ │ │ │ vmul.f64 d6, d6, d8 │ │ │ │ │ vmla.f64 d6, d5, d0 │ │ │ │ │ - vldr d5, [sp, #288] @ 0x120 │ │ │ │ │ vstr d3, [sp, #24] │ │ │ │ │ + ldr r2, [sp, #16] │ │ │ │ │ + vldr d9, [sp, #272] @ 0x110 │ │ │ │ │ vstr d6, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d6, [sp, #544] @ 0x220 │ │ │ │ │ + vldr d5, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d6, [sp, #536] @ 0x218 │ │ │ │ │ + ldr r1, [sp, #88] @ 0x58 │ │ │ │ │ + ldr r6, [sp, #208] @ 0xd0 │ │ │ │ │ vsub.f64 d6, d9, d6 │ │ │ │ │ - vldr d9, [sp, #560] @ 0x230 │ │ │ │ │ + vldr d9, [sp, #552] @ 0x228 │ │ │ │ │ vsub.f64 d5, d5, d9 │ │ │ │ │ - vldr d9, [pc, #796] @ 10d8 │ │ │ │ │ + vldr d9, [pc, #796] @ 1100 │ │ │ │ │ vmul.f64 d3, d5, d2 │ │ │ │ │ vmul.f64 d5, d5, d9 │ │ │ │ │ vmla.f64 d3, d6, d9 │ │ │ │ │ - vldr d9, [sp, #280] @ 0x118 │ │ │ │ │ vnmls.f64 d5, d6, d2 │ │ │ │ │ - vldr d2, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d9, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d2, [sp, #440] @ 0x1b8 │ │ │ │ │ vstr d3, [sp, #8] │ │ │ │ │ vmul.f64 d3, d2, d15 │ │ │ │ │ - vldr d2, [sp, #432] @ 0x1b0 │ │ │ │ │ + vldr d2, [sp, #424] @ 0x1a8 │ │ │ │ │ vmla.f64 d3, d2, d12 │ │ │ │ │ - vldr d2, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d2, [sp, #480] @ 0x1e0 │ │ │ │ │ vmul.f64 d6, d2, d12 │ │ │ │ │ - vldr d2, [sp, #504] @ 0x1f8 │ │ │ │ │ + vldr d2, [sp, #496] @ 0x1f0 │ │ │ │ │ vnmls.f64 d6, d2, d15 │ │ │ │ │ vadd.f64 d2, d3, d6 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ - vldr d3, [sp, #560] @ 0x230 │ │ │ │ │ + vldr d3, [sp, #552] @ 0x228 │ │ │ │ │ vstr d2, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d2, [sp, #544] @ 0x220 │ │ │ │ │ + vldr d2, [sp, #536] @ 0x218 │ │ │ │ │ vadd.f64 d2, d9, d2 │ │ │ │ │ - vldr d9, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d9, [sp, #280] @ 0x118 │ │ │ │ │ vadd.f64 d3, d9, d3 │ │ │ │ │ vmov.f64 d9, d0 │ │ │ │ │ vmul.f64 d0, d3, d0 │ │ │ │ │ vmul.f64 d3, d3, d8 │ │ │ │ │ vmla.f64 d0, d2, d8 │ │ │ │ │ - vldr d8, [sp, #352] @ 0x160 │ │ │ │ │ vnmls.f64 d3, d2, d9 │ │ │ │ │ - vldr d2, [sp, #592] @ 0x250 │ │ │ │ │ - vldr d9, [pc, #676] @ 10d8 │ │ │ │ │ + vldr d8, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d2, [sp, #584] @ 0x248 │ │ │ │ │ + vldr d9, [pc, #676] @ 1100 │ │ │ │ │ vstr d0, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d0, [sp, #608] @ 0x260 │ │ │ │ │ + vldr d0, [sp, #600] @ 0x258 │ │ │ │ │ vstr d3, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d3, [sp, #336] @ 0x150 │ │ │ │ │ + vldr d3, [sp, #328] @ 0x148 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ vsub.f64 d2, d8, d0 │ │ │ │ │ + vldr d0, [pc, #624] @ 10e8 │ │ │ │ │ vmov.f64 d8, d9 │ │ │ │ │ - vldr d0, [pc, #620] @ 10c0 │ │ │ │ │ vmul.f64 d9, d2, d9 │ │ │ │ │ vnmls.f64 d9, d3, d0 │ │ │ │ │ vmul.f64 d3, d3, d8 │ │ │ │ │ vmla.f64 d3, d2, d0 │ │ │ │ │ vldr d0, [sp, #8] │ │ │ │ │ vadd.f64 d2, d1, d4 │ │ │ │ │ vsub.f64 d4, d1, d4 │ │ │ │ │ vadd.f64 d0, d0, d9 │ │ │ │ │ vsub.f64 d8, d2, d0 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ vadd.f64 d0, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vstr d8, [r1] │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ + vstr d8, [r2] │ │ │ │ │ + vstr d2, [r6] │ │ │ │ │ vadd.f64 d2, d5, d3 │ │ │ │ │ - ldr r4, [sp, #124] @ 0x7c │ │ │ │ │ vsub.f64 d3, d5, d3 │ │ │ │ │ + ldr r6, [sp, #112] @ 0x70 │ │ │ │ │ vsub.f64 d8, d2, d0 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ - vldr d0, [pc, #544] @ 10c0 │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ + vldr d0, [pc, #544] @ 10e8 │ │ │ │ │ + vstr d8, [r1] │ │ │ │ │ + vstr d2, [r6] │ │ │ │ │ vsub.f64 d2, d4, d3 │ │ │ │ │ - ldr r6, [sp, #4] │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ - ldr r4, [sp, #212] @ 0xd4 │ │ │ │ │ + ldr r6, [sp, #196] @ 0xc4 │ │ │ │ │ + vstr d2, [r9] │ │ │ │ │ + vstr d4, [r6] │ │ │ │ │ + ldr r2, [sp, #4] │ │ │ │ │ vldr d5, [sp, #8] │ │ │ │ │ - ldr r2, [sp, #16] │ │ │ │ │ - vstr d2, [r6] │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - vsub.f64 d4, d9, d5 │ │ │ │ │ - vldr d8, [sp, #56] @ 0x38 │ │ │ │ │ vldr d3, [sp, #24] │ │ │ │ │ + vldr d8, [sp, #56] @ 0x38 │ │ │ │ │ + vsub.f64 d4, d9, d5 │ │ │ │ │ + ldr r7, [sp, #32] │ │ │ │ │ vldr d9, [sp, #72] @ 0x48 │ │ │ │ │ + ldr r1, [sp, #96] @ 0x60 │ │ │ │ │ + vsub.f64 d5, d11, d8 │ │ │ │ │ vsub.f64 d6, d4, d7 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ - vadd.f64 d7, d11, d8 │ │ │ │ │ - ldr r0, [sp, #64] @ 0x40 │ │ │ │ │ vldr d1, [sp, #40] @ 0x28 │ │ │ │ │ - vsub.f64 d5, d11, d8 │ │ │ │ │ + vadd.f64 d7, d11, d8 │ │ │ │ │ vldr d2, [sp, #80] @ 0x50 │ │ │ │ │ + ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ vadd.f64 d6, d3, d9 │ │ │ │ │ - ldr r2, [sp, #108] @ 0x6c │ │ │ │ │ - ldr r1, [sp, #88] @ 0x58 │ │ │ │ │ - ldr r5, [sp, #48] @ 0x30 │ │ │ │ │ - ldr r3, [sp, #104] @ 0x68 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ + ldr r6, [sp, #212] @ 0xd4 │ │ │ │ │ + ldr r0, [sp, #64] @ 0x40 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ + ldr r2, [sp, #92] @ 0x5c │ │ │ │ │ vadd.f64 d6, d13, d10 │ │ │ │ │ - ldr r2, [sp, #132] @ 0x84 │ │ │ │ │ vsub.f64 d13, d13, d10 │ │ │ │ │ - vldr d11, [sp, #392] @ 0x188 │ │ │ │ │ - vstr d4, [r0] │ │ │ │ │ - ldr r0, [sp, #228] @ 0xe4 │ │ │ │ │ - vldr d8, [pc, #424] @ 10c8 │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ + vldr d11, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d8, [pc, #432] @ 10f0 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ vadd.f64 d7, d1, d2 │ │ │ │ │ + ldr r3, [sp, #120] @ 0x78 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d4, [r1] │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d2, d1 │ │ │ │ │ - ldr r1, [sp, #116] @ 0x74 │ │ │ │ │ - vldr d2, [pc, #404] @ 10d8 │ │ │ │ │ + ldr r0, [sp, #204] @ 0xcc │ │ │ │ │ + vldr d2, [pc, #408] @ 1100 │ │ │ │ │ vsub.f64 d6, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ vsub.f64 d7, d3, d9 │ │ │ │ │ - vstr d6, [r5] │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ vsub.f64 d6, d7, d13 │ │ │ │ │ - ldr r5, [sp, #220] @ 0xdc │ │ │ │ │ vadd.f64 d7, d7, d13 │ │ │ │ │ - vldr d13, [sp, #408] @ 0x198 │ │ │ │ │ - vstr d5, [r5] │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ + ldr r7, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ + vldr d13, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d5, [sp, #656] @ 0x290 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ vadd.f64 d7, d11, d13 │ │ │ │ │ - vldr d5, [sp, #664] @ 0x298 │ │ │ │ │ - vldr d11, [sp, #400] @ 0x190 │ │ │ │ │ - vldr d3, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d11, [sp, #392] @ 0x188 │ │ │ │ │ + vldr d6, [sp, #632] @ 0x278 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ - vldr d6, [sp, #640] @ 0x280 │ │ │ │ │ - vldr d9, [sp, #496] @ 0x1f0 │ │ │ │ │ - vmul.f64 d4, d3, d15 │ │ │ │ │ - vldr d3, [sp, #616] @ 0x268 │ │ │ │ │ - vldr d10, [sp, #552] @ 0x228 │ │ │ │ │ vsub.f64 d1, d5, d7 │ │ │ │ │ vadd.f64 d13, d5, d7 │ │ │ │ │ - vldr d5, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d5, [sp, #376] @ 0x178 │ │ │ │ │ vadd.f64 d7, d5, d11 │ │ │ │ │ - vldr d5, [sp, #440] @ 0x1b8 │ │ │ │ │ - vnmls.f64 d4, d5, d12 │ │ │ │ │ - vldr d5, [sp, #512] @ 0x200 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ vadd.f64 d11, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [sp, #296] @ 0x128 │ │ │ │ │ vstr d6, [sp, #8] │ │ │ │ │ + ldr r5, [sp, #148] @ 0x94 │ │ │ │ │ + vldr d3, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d5, [sp, #432] @ 0x1b0 │ │ │ │ │ + vldr d9, [sp, #488] @ 0x1e8 │ │ │ │ │ + vmul.f64 d4, d3, d15 │ │ │ │ │ + vldr d7, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d3, [sp, #608] @ 0x260 │ │ │ │ │ + vldr d10, [sp, #544] @ 0x220 │ │ │ │ │ + vnmls.f64 d4, d5, d12 │ │ │ │ │ + vldr d5, [sp, #504] @ 0x1f8 │ │ │ │ │ vmul.f64 d6, d5, d15 │ │ │ │ │ vmla.f64 d6, d9, d12 │ │ │ │ │ vsub.f64 d5, d4, d6 │ │ │ │ │ vadd.f64 d9, d4, d6 │ │ │ │ │ - vldr d4, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d4, [sp, #336] @ 0x150 │ │ │ │ │ vadd.f64 d6, d4, d3 │ │ │ │ │ - vldr d3, [sp, #360] @ 0x168 │ │ │ │ │ - vldr d4, [sp, #600] @ 0x258 │ │ │ │ │ + vldr d3, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d4, [sp, #592] @ 0x250 │ │ │ │ │ vadd.f64 d4, d3, d4 │ │ │ │ │ vmul.f64 d3, d4, d0 │ │ │ │ │ vmul.f64 d4, d4, d2 │ │ │ │ │ vmla.f64 d4, d6, d0 │ │ │ │ │ vnmls.f64 d3, d6, d2 │ │ │ │ │ - vldr d2, [sp, #456] @ 0x1c8 │ │ │ │ │ - vstr d4, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d2, [sp, #448] @ 0x1c0 │ │ │ │ │ + vstr d3, [sp, #24] │ │ │ │ │ + vstr d4, [sp, #32] │ │ │ │ │ vsub.f64 d4, d7, d10 │ │ │ │ │ - vldr d7, [sp, #696] @ 0x2b8 │ │ │ │ │ - vldr d10, [sp, #568] @ 0x238 │ │ │ │ │ - vstr d3, [sp, #32] │ │ │ │ │ + vldr d10, [sp, #560] @ 0x230 │ │ │ │ │ + vldr d7, [sp, #688] @ 0x2b0 │ │ │ │ │ vsub.f64 d6, d7, d10 │ │ │ │ │ - vldr d10, [pc, #184] @ 10d0 │ │ │ │ │ + vldr d10, [pc, #184] @ 10f8 │ │ │ │ │ vmul.f64 d3, d6, d10 │ │ │ │ │ vmla.f64 d3, d4, d8 │ │ │ │ │ vmul.f64 d4, d4, d10 │ │ │ │ │ vnmls.f64 d4, d6, d8 │ │ │ │ │ - vldr d6, [sp, #440] @ 0x1b8 │ │ │ │ │ - vstr d3, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d4, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d6, [sp, #432] @ 0x1b0 │ │ │ │ │ + vstr d3, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d4, [sp, #48] @ 0x30 │ │ │ │ │ vmul.f64 d4, d2, d12 │ │ │ │ │ + vldr d2, [sp, #504] @ 0x1f8 │ │ │ │ │ vmla.f64 d4, d6, d15 │ │ │ │ │ - vldr d6, [sp, #496] @ 0x1f0 │ │ │ │ │ - vldr d2, [sp, #512] @ 0x200 │ │ │ │ │ + vldr d6, [sp, #488] @ 0x1e8 │ │ │ │ │ vmul.f64 d6, d6, d15 │ │ │ │ │ vnmls.f64 d6, d2, d12 │ │ │ │ │ vadd.f64 d2, d4, d6 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ - vldr d4, [sp, #552] @ 0x228 │ │ │ │ │ - vstr d6, [sp, #24] │ │ │ │ │ - vldr d6, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d4, [sp, #544] @ 0x220 │ │ │ │ │ + vstr d6, [sp, #16] │ │ │ │ │ + vldr d6, [sp, #288] @ 0x120 │ │ │ │ │ vadd.f64 d4, d6, d4 │ │ │ │ │ - vldr d6, [sp, #568] @ 0x238 │ │ │ │ │ + vldr d6, [sp, #560] @ 0x230 │ │ │ │ │ vadd.f64 d3, d7, d6 │ │ │ │ │ vmov.f64 d6, d0 │ │ │ │ │ vmul.f64 d0, d3, d0 │ │ │ │ │ vmov.f64 d7, d0 │ │ │ │ │ - vldr d0, [pc, #92] @ 10d8 │ │ │ │ │ + vldr d0, [pc, #92] @ 1100 │ │ │ │ │ vmla.f64 d7, d4, d0 │ │ │ │ │ vmul.f64 d4, d4, d6 │ │ │ │ │ - vldr d0, [pc, #80] @ 10d8 │ │ │ │ │ + vldr d0, [pc, #80] @ 1100 │ │ │ │ │ vmov.f64 d6, d4 │ │ │ │ │ vnmls.f64 d6, d3, d0 │ │ │ │ │ - vstr d7, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d7, [sp, #344] @ 0x158 │ │ │ │ │ + vstr d7, [sp, #56] @ 0x38 │ │ │ │ │ vmov.f64 d0, d10 │ │ │ │ │ - vstr d6, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d6, [sp, #616] @ 0x268 │ │ │ │ │ - ldr r1, [sp, #164] @ 0xa4 │ │ │ │ │ - ldr r4, [sp, #204] @ 0xcc │ │ │ │ │ + vldr d7, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d6, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d6, [sp, #608] @ 0x260 │ │ │ │ │ vsub.f64 d3, d7, d6 │ │ │ │ │ - vldr d7, [sp, #360] @ 0x168 │ │ │ │ │ - vldr d6, [sp, #600] @ 0x258 │ │ │ │ │ - ldr r2, [sp, #148] @ 0x94 │ │ │ │ │ - ldr r0, [sp, #188] @ 0xbc │ │ │ │ │ + vldr d7, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d6, [sp, #592] @ 0x250 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ - b.n 10e0 │ │ │ │ │ + vldr d6, [sp, #40] @ 0x28 │ │ │ │ │ + vmul.f64 d10, d4, d10 │ │ │ │ │ + b.n 1108 │ │ │ │ │ .word 0x3c69a60b │ │ │ │ │ .word 0x3fc8f8b8 │ │ │ │ │ .word 0x39ae68c8 │ │ │ │ │ .word 0x3fe1c73b │ │ │ │ │ .word 0x290ea1a3 │ │ │ │ │ .word 0x3fea9b66 │ │ │ │ │ .word 0xcff75cb0 │ │ │ │ │ .word 0x3fef6297 │ │ │ │ │ - vldr d6, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d7, [sp, #56] @ 0x38 │ │ │ │ │ - ldr r6, [sp, #232] @ 0xe8 │ │ │ │ │ - vmul.f64 d10, d4, d10 │ │ │ │ │ vmul.f64 d4, d4, d8 │ │ │ │ │ - vmla.f64 d4, d3, d0 │ │ │ │ │ vnmls.f64 d10, d3, d8 │ │ │ │ │ + vmla.f64 d4, d3, d0 │ │ │ │ │ vadd.f64 d3, d1, d5 │ │ │ │ │ vsub.f64 d5, d1, d5 │ │ │ │ │ - vldr d1, [sp, #64] @ 0x40 │ │ │ │ │ vadd.f64 d0, d6, d10 │ │ │ │ │ vsub.f64 d8, d3, d0 │ │ │ │ │ vadd.f64 d3, d3, d0 │ │ │ │ │ - vldr d0, [sp, #24] │ │ │ │ │ - vstr d8, [r1] │ │ │ │ │ + vstr d8, [r5] │ │ │ │ │ vldr d8, [sp, #8] │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ + vldr d0, [sp, #16] │ │ │ │ │ + vldr d7, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d1, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r2, [sp, #188] @ 0xbc │ │ │ │ │ + vadd.f64 d0, d8, d0 │ │ │ │ │ + ldr r5, [sp, #228] @ 0xe4 │ │ │ │ │ + ldr r0, [sp, #736] @ 0x2e0 │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ vadd.f64 d3, d7, d4 │ │ │ │ │ - ldr r4, [sp, #744] @ 0x2e8 │ │ │ │ │ vsub.f64 d4, d7, d4 │ │ │ │ │ - vadd.f64 d0, d8, d0 │ │ │ │ │ - vldr d7, [sp, #24] │ │ │ │ │ - ldr r1, [sp, #180] @ 0xb4 │ │ │ │ │ + vldr d7, [sp, #16] │ │ │ │ │ + ldr r3, [sp, #132] @ 0x84 │ │ │ │ │ + ldr r4, [sp, #172] @ 0xac │ │ │ │ │ vsub.f64 d8, d3, d0 │ │ │ │ │ vadd.f64 d3, d3, d0 │ │ │ │ │ - vldr d0, [sp, #72] @ 0x48 │ │ │ │ │ - vstr d8, [r9] │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ + vmov.f64 d0, d6 │ │ │ │ │ + vldr d6, [sp, #8] │ │ │ │ │ + ldr r1, [sp, #140] @ 0x8c │ │ │ │ │ + ldr r2, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d8, [r5] │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ vsub.f64 d3, d5, d4 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ - vldr d4, [sp, #32] │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ - vsub.f64 d5, d10, d6 │ │ │ │ │ - vldr d6, [sp, #8] │ │ │ │ │ - ldr r0, [sp, #20] │ │ │ │ │ - ldr r2, [sp, #172] @ 0xac │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ - vldr d3, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d4, [sp, #24] │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ + vsub.f64 d5, d10, d0 │ │ │ │ │ + vldr d3, [sp, #32] │ │ │ │ │ + ldr r3, [sp, #156] @ 0x9c │ │ │ │ │ + vldr d0, [sp, #64] @ 0x40 │ │ │ │ │ vsub.f64 d6, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ vadd.f64 d7, d13, d2 │ │ │ │ │ vsub.f64 d13, d13, d2 │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ + ldr r4, [sp, #180] @ 0xb4 │ │ │ │ │ + vstr d6, [lr] │ │ │ │ │ vadd.f64 d6, d4, d1 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d11, d9 │ │ │ │ │ vsub.f64 d11, d11, d9 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + ldr r3, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vadd.f64 d7, d3, d0 │ │ │ │ │ + ldr r3, [sp, #240] @ 0xf0 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vstr d5, [sl] │ │ │ │ │ - ldr r1, [sp, #176] @ 0xb0 │ │ │ │ │ - ldr r3, [sp, #156] @ 0x9c │ │ │ │ │ - ldr r2, [sp, #196] @ 0xc4 │ │ │ │ │ - ldr r7, [sp, #244] @ 0xf4 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d0, d3 │ │ │ │ │ - ldr r6, [sp, #4] │ │ │ │ │ vsub.f64 d6, d13, d7 │ │ │ │ │ vadd.f64 d13, d13, d7 │ │ │ │ │ vsub.f64 d7, d4, d1 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - ldr r3, [sp, #872] @ 0x368 │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ + vstr d13, [r4] │ │ │ │ │ vsub.f64 d6, d7, d11 │ │ │ │ │ - vstr d13, [r2] │ │ │ │ │ vadd.f64 d7, d7, d11 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #872] @ 0x368 │ │ │ │ │ - ldr r3, [sp, #748] @ 0x2ec │ │ │ │ │ - ldr r2, [sp, #16] │ │ │ │ │ + ldr r2, [sp, #4] │ │ │ │ │ + ldr r3, [sp, #864] @ 0x360 │ │ │ │ │ + ldr r4, [sp, #236] @ 0xec │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + str r3, [sp, #864] @ 0x360 │ │ │ │ │ + ldr r3, [sp, #740] @ 0x2e4 │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ + ldr r4, [sp, #244] @ 0xf4 │ │ │ │ │ add fp, r3 │ │ │ │ │ - add lr, r3 │ │ │ │ │ - ldr r3, [sp, #752] @ 0x2f0 │ │ │ │ │ - vstr d6, [r7] │ │ │ │ │ + add ip, r3 │ │ │ │ │ + ldr r3, [sp, #744] @ 0x2e8 │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ add r2, r3 │ │ │ │ │ - add r6, r3 │ │ │ │ │ - ldr r3, [sp, #756] @ 0x2f4 │ │ │ │ │ - ldr r7, [sp, #252] @ 0xfc │ │ │ │ │ - eor.w ip, ip, r3 │ │ │ │ │ - str r2, [sp, #16] │ │ │ │ │ - ldrd r2, r3, [sp, #872] @ 0x368 │ │ │ │ │ - str r6, [sp, #4] │ │ │ │ │ - vstr d7, [r7] │ │ │ │ │ + add r9, r3 │ │ │ │ │ + ldr r3, [sp, #748] @ 0x2ec │ │ │ │ │ + str r2, [sp, #4] │ │ │ │ │ + ldr r2, [sp, #860] @ 0x35c │ │ │ │ │ + eor.w r2, r2, r3 │ │ │ │ │ + ldr r3, [sp, #868] @ 0x364 │ │ │ │ │ + str r2, [sp, #860] @ 0x35c │ │ │ │ │ + ldr r2, [sp, #864] @ 0x360 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 80 │ │ │ │ │ - add.w sp, sp, #764 @ 0x2fc │ │ │ │ │ + bne.w 90 │ │ │ │ │ + add.w sp, sp, #756 @ 0x2f4 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -00001224 : │ │ │ │ │ +00001260 : │ │ │ │ │ fftw_codelet_hc2cf_32(): │ │ │ │ │ - ldr r2, [pc, #12] @ (1234 ) │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - ldr r1, [pc, #12] @ (1238 ) │ │ │ │ │ + ldr r2, [pc, #12] @ (1270 ) │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + ldr r1, [pc, #12] @ (1274 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2c_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + .word 0x00000006 │ │ │ │ │ R_ARM_REL32 hc2cf_32 │ │ │ ├── hc2cf_4.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1228 (bytes into file) │ │ │ │ │ + Start of section headers: 1268 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x4cc: │ │ │ │ │ +There are 14 section headers, starting at offset 0x4f4: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000238 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000424 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 00026c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 00026c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 00026c 000008 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000274 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 00027c 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 00043c 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 0002ac 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0002ac 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 0002e0 0000f0 10 12 12 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 0003d0 000053 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000454 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000260 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 00044c 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000294 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000294 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000294 000008 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 00029c 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0002a4 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000464 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 0002d4 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0002d4 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000308 0000f0 10 12 12 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0003f8 000053 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 00047c 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,18 +1,18 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 15 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 544 FUNC LOCAL DEFAULT 1 hc2cf_4 │ │ │ │ │ + 1: 00000001 584 FUNC LOCAL DEFAULT 1 hc2cf_4 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000230 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000258 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 4: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 8: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 9: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 10: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 11: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 12: 00000221 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cf_4 │ │ │ │ │ + 12: 00000249 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cf_4 │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2c_register │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hc2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x424 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x44c contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000230 00000903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000234 00000103 R_ARM_REL32 00000001 hc2cf_4 │ │ │ │ │ -0000022a 00000d1e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ +00000258 00000903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +0000025c 00000103 R_ARM_REL32 00000001 hc2cf_4 │ │ │ │ │ +00000254 00000d1e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x43c contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x464 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000402 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000602 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00000e02 R_ARM_ABS32 00000000 fftw_rdft_hc2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,52 +1,56 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hc2cf_4(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov.w ip, #48 @ 0x30 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d10} │ │ │ │ │ - ldrd r5, r7, [sp, #68] @ 0x44 │ │ │ │ │ ldr r4, [sp, #60] @ 0x3c │ │ │ │ │ - subs r6, r5, #1 │ │ │ │ │ + ldrd r5, r7, [sp, #68] @ 0x44 │ │ │ │ │ + add.w r6, r5, #4294967295 @ 0xffffffff │ │ │ │ │ cmp r5, r7 │ │ │ │ │ - mla ip, ip, r6, r4 │ │ │ │ │ - bge.n 11c │ │ │ │ │ + add.w r6, r6, r6, lsl #1 │ │ │ │ │ + add.w ip, r4, r6, lsl #4 │ │ │ │ │ + bge.w 134 │ │ │ │ │ ldr r4, [sp, #64] @ 0x40 │ │ │ │ │ mov.w lr, r4, lsl #3 │ │ │ │ │ ldr r4, [sp, #76] @ 0x4c │ │ │ │ │ cmp r4, #1 │ │ │ │ │ it eq │ │ │ │ │ addeq.w ip, ip, #48 @ 0x30 │ │ │ │ │ - bne.n 124 │ │ │ │ │ + bne.w 14e │ │ │ │ │ add.w r6, r0, lr │ │ │ │ │ - add.w r9, r2, lr │ │ │ │ │ vldr d5, [ip, #-32] @ 0xffffffe0 │ │ │ │ │ + add.w r9, r2, lr │ │ │ │ │ add.w r4, r1, lr │ │ │ │ │ - vldr d3, [ip, #-24] @ 0xffffffe8 │ │ │ │ │ add.w r8, r3, lr │ │ │ │ │ vldr d4, [r6] │ │ │ │ │ - adds r5, #1 │ │ │ │ │ - vldr d6, [r9] │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ add.w ip, ip, #48 @ 0x30 │ │ │ │ │ - vldr d8, [r1] │ │ │ │ │ cmp r7, r5 │ │ │ │ │ + vldr d3, [ip, #-72] @ 0xffffffb8 │ │ │ │ │ + vldr d6, [r9] │ │ │ │ │ vmul.f64 d0, d5, d4 │ │ │ │ │ + vldr d8, [r1] │ │ │ │ │ vldr d9, [ip, #-64] @ 0xffffffc0 │ │ │ │ │ + vldr d10, [r4] │ │ │ │ │ vmla.f64 d0, d3, d6 │ │ │ │ │ vmul.f64 d3, d3, d4 │ │ │ │ │ vldr d4, [ip, #-96] @ 0xffffffa0 │ │ │ │ │ - vldr d10, [r4] │ │ │ │ │ vldr d2, [r0] │ │ │ │ │ vnmls.f64 d3, d5, d6 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ vldr d6, [ip, #-88] @ 0xffffffa8 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ vmul.f64 d1, d4, d8 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ vmla.f64 d1, d6, d5 │ │ │ │ │ vmul.f64 d6, d6, d8 │ │ │ │ │ vldr d8, [r8] │ │ │ │ │ vnmls.f64 d6, d4, d5 │ │ │ │ │ vldr d5, [ip, #-56] @ 0xffffffc8 │ │ │ │ │ @@ -68,54 +72,59 @@ │ │ │ │ │ vsub.f64 d5, d2, d6 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ vadd.f64 d6, d6, d2 │ │ │ │ │ vsub.f64 d10, d9, d8 │ │ │ │ │ vadd.f64 d8, d8, d9 │ │ │ │ │ vstr d10, [r8] │ │ │ │ │ mov r8, r2 │ │ │ │ │ - vstmia r1!, {d8} │ │ │ │ │ sub.w r2, r2, #8 │ │ │ │ │ + vstmia r1!, {d8} │ │ │ │ │ vstr d5, [r8] │ │ │ │ │ vsub.f64 d5, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ vstr d6, [r6] │ │ │ │ │ mov r6, r3 │ │ │ │ │ sub.w r3, r3, #8 │ │ │ │ │ vstr d5, [r6] │ │ │ │ │ vstr d7, [r4] │ │ │ │ │ - bne.n 2e │ │ │ │ │ + bne.n 44 │ │ │ │ │ vpop {d8-d10} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ add.w ip, ip, #48 @ 0x30 │ │ │ │ │ rsb sl, r4, #0 │ │ │ │ │ add.w fp, r2, lr │ │ │ │ │ add.w r8, r0, lr │ │ │ │ │ - vldr d4, [ip, #-24] @ 0xffffffe8 │ │ │ │ │ - add.w r9, r3, lr │ │ │ │ │ vldr d7, [ip, #-32] @ 0xffffffe0 │ │ │ │ │ + add.w r9, r3, lr │ │ │ │ │ add.w r6, r1, lr │ │ │ │ │ + vldr d4, [ip, #-24] @ 0xffffffe8 │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ + add.w ip, ip, #48 @ 0x30 │ │ │ │ │ + cmp r7, r5 │ │ │ │ │ vldr d5, [fp] │ │ │ │ │ - adds r5, #1 │ │ │ │ │ vldr d3, [r8] │ │ │ │ │ - add.w ip, ip, #48 @ 0x30 │ │ │ │ │ vldr d8, [r3] │ │ │ │ │ - cmp r7, r5 │ │ │ │ │ vmul.f64 d0, d5, d4 │ │ │ │ │ vldr d10, [ip, #-56] @ 0xffffffc8 │ │ │ │ │ + vldr d9, [r9] │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ vmla.f64 d0, d3, d7 │ │ │ │ │ vmul.f64 d3, d3, d4 │ │ │ │ │ vldr d4, [ip, #-88] @ 0xffffffa8 │ │ │ │ │ - vldr d9, [r9] │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ vnmls.f64 d3, d5, d7 │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ - vmul.f64 d1, d8, d4 │ │ │ │ │ vldr d7, [ip, #-96] @ 0xffffffa0 │ │ │ │ │ - vldr d2, [r2] │ │ │ │ │ + vmul.f64 d1, d8, d4 │ │ │ │ │ vmul.f64 d4, d5, d4 │ │ │ │ │ vmla.f64 d1, d5, d7 │ │ │ │ │ vldr d5, [r6] │ │ │ │ │ vnmls.f64 d4, d8, d7 │ │ │ │ │ vldr d8, [ip, #-64] @ 0xffffffc0 │ │ │ │ │ vmul.f64 d7, d9, d10 │ │ │ │ │ vmla.f64 d7, d5, d8 │ │ │ │ │ @@ -130,40 +139,38 @@ │ │ │ │ │ vadd.f64 d9, d2, d3 │ │ │ │ │ vsub.f64 d3, d2, d3 │ │ │ │ │ vstr d10, [fp] │ │ │ │ │ vstr d8, [r0] │ │ │ │ │ vadd.f64 d8, d4, d5 │ │ │ │ │ vsub.f64 d5, d4, d5 │ │ │ │ │ add r0, r4 │ │ │ │ │ - vsub.f64 d10, d8, d9 │ │ │ │ │ - vadd.f64 d8, d8, d9 │ │ │ │ │ vsub.f64 d4, d6, d5 │ │ │ │ │ + vsub.f64 d10, d8, d9 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ + vadd.f64 d8, d8, d9 │ │ │ │ │ vsub.f64 d5, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ vstr d10, [r9] │ │ │ │ │ vstr d8, [r1] │ │ │ │ │ add r1, r4 │ │ │ │ │ vstr d4, [r2] │ │ │ │ │ add r2, sl │ │ │ │ │ vstr d6, [r8] │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ add r3, sl │ │ │ │ │ vstr d7, [r6] │ │ │ │ │ - bne.n 12e │ │ │ │ │ - vpop {d8-d10} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + bne.n 15a │ │ │ │ │ + b.n 134 │ │ │ │ │ │ │ │ │ │ -00000220 : │ │ │ │ │ +00000248 : │ │ │ │ │ fftw_codelet_hc2cf_4(): │ │ │ │ │ - ldr r2, [pc, #12] @ (230 ) │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - ldr r1, [pc, #12] @ (234 ) │ │ │ │ │ + ldr r2, [pc, #12] @ (258 ) │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + ldr r1, [pc, #12] @ (25c ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2c_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + .word 0x00000006 │ │ │ │ │ R_ARM_REL32 hc2cf_4 │ │ │ ├── hc2cf_6.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1884 (bytes into file) │ │ │ │ │ + Start of section headers: 1980 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x75c: │ │ │ │ │ +There are 14 section headers, starting at offset 0x7bc: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000440 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0006a4 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000474 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000474 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000474 000008 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 00047c 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 000484 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 0006cc 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 0004b4 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0004b4 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 0004e8 000130 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000618 00008b 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 0006e4 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000480 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000704 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0004b4 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0004b4 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0004b4 000008 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 0004bc 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0004c4 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 00072c 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 0004f4 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0004f4 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000528 000150 10 12 16 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000678 00008b 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000744 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,22 +1,24 @@ │ │ │ │ │ │ │ │ │ │ -Symbol table '.symtab' contains 19 entries: │ │ │ │ │ +Symbol table '.symtab' contains 21 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1064 FUNC LOCAL DEFAULT 1 hc2cf_6 │ │ │ │ │ + 1: 00000001 1128 FUNC LOCAL DEFAULT 1 hc2cf_6 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000418 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000428 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000438 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ - 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ - 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ - 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ - 10: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ - 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ - 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ - 13: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ - 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 16: 00000429 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cf_6 │ │ │ │ │ - 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2c_register │ │ │ │ │ - 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hc2cf_genus │ │ │ │ │ + 3: 00000258 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000268 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000460 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000468 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00000478 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ + 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ + 10: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ + 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ + 12: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ + 13: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ + 14: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ + 15: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ + 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ + 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ + 18: 00000469 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cf_6 │ │ │ │ │ + 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2c_register │ │ │ │ │ + 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hc2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x6a4 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x704 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000420 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000424 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000438 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000043c 00000103 R_ARM_REL32 00000001 hc2cf_6 │ │ │ │ │ -00000432 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ +00000260 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000264 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000478 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +0000047c 00000103 R_ARM_REL32 00000001 hc2cf_6 │ │ │ │ │ +00000474 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x6cc contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x72c contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ -00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ -0000000c 00001202 R_ARM_ABS32 00000000 fftw_rdft_hc2cf_genus │ │ │ │ │ +00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ +00000008 00000a02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ +0000000c 00001402 R_ARM_ABS32 00000000 fftw_rdft_hc2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,79 +1,82 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hc2cf_6(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov.w lr, #80 @ 0x50 │ │ │ │ │ - ldr.w r7, [pc, #1044] @ 420 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #28 │ │ │ │ │ - add r7, pc │ │ │ │ │ - ldr r6, [sp, #136] @ 0x88 │ │ │ │ │ - ldr.w r8, [sp, #132] @ 0x84 │ │ │ │ │ + ldrd lr, r6, [sp, #132] @ 0x84 │ │ │ │ │ + ldrd r5, r4, [sp, #140] @ 0x8c │ │ │ │ │ + ldr r7, [pc, #572] @ (260 ) │ │ │ │ │ add.w ip, r6, #4294967295 @ 0xffffffff │ │ │ │ │ ldr r6, [sp, #128] @ 0x80 │ │ │ │ │ - ldr r4, [sp, #144] @ 0x90 │ │ │ │ │ - mla ip, lr, ip, r6 │ │ │ │ │ - ldrd r6, r5, [sp, #136] @ 0x88 │ │ │ │ │ + add.w ip, ip, ip, lsl #2 │ │ │ │ │ + add r7, pc │ │ │ │ │ + add.w ip, r6, ip, lsl #4 │ │ │ │ │ + ldr r6, [sp, #136] @ 0x88 │ │ │ │ │ cmp r6, r5 │ │ │ │ │ - bge.w 21e │ │ │ │ │ - ldr r6, [pc, #1008] @ (424 ) │ │ │ │ │ + bge.w 238 │ │ │ │ │ + ldr r6, [pc, #548] @ (264 ) │ │ │ │ │ cmp r4, #1 │ │ │ │ │ ldr r6, [r7, r6] │ │ │ │ │ ldr r5, [r6, #0] │ │ │ │ │ str r5, [sp, #12] │ │ │ │ │ - bne.w 228 │ │ │ │ │ - add.w ip, ip, #80 @ 0x50 │ │ │ │ │ - vldr d15, [pc, #980] @ 418 │ │ │ │ │ - mov r5, r8 │ │ │ │ │ + bne.w 268 │ │ │ │ │ + vldr d15, [pc, #524] @ 258 │ │ │ │ │ vmov.f64 d11, #96 @ 0x3f000000 0.5 │ │ │ │ │ - lsls r4, r5, #3 │ │ │ │ │ + add.w ip, ip, #80 @ 0x50 │ │ │ │ │ + mov r5, lr │ │ │ │ │ + mov.w r4, r5, lsl #3 │ │ │ │ │ vldr d2, [ip, #-48] @ 0xffffffd0 │ │ │ │ │ + add.w ip, ip, #80 @ 0x50 │ │ │ │ │ + mov.w r6, r5, lsl #4 │ │ │ │ │ add.w lr, r1, r4 │ │ │ │ │ - adds r7, r3, r4 │ │ │ │ │ - vldr d7, [ip, #-40] @ 0xffffffd8 │ │ │ │ │ - lsls r6, r5, #4 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ + add.w r7, r3, r4 │ │ │ │ │ + vldr d7, [ip, #-120] @ 0xffffff88 │ │ │ │ │ add.w r9, r0, r6 │ │ │ │ │ - vldr d1, [lr] │ │ │ │ │ add r6, r2 │ │ │ │ │ - vldr d3, [r7] │ │ │ │ │ + vldr d1, [lr] │ │ │ │ │ add.w fp, r0, r4 │ │ │ │ │ - vldr d12, [r0] │ │ │ │ │ add.w sl, r2, r4 │ │ │ │ │ - vmul.f64 d6, d2, d1 │ │ │ │ │ add.w r8, lr, r4 │ │ │ │ │ + add r4, r7 │ │ │ │ │ + vldr d3, [r7] │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + vmul.f64 d6, d2, d1 │ │ │ │ │ + vldr d12, [r0] │ │ │ │ │ + vldr d0, [r4] │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vldr d1, [r1] │ │ │ │ │ - add r4, r7 │ │ │ │ │ - add.w ip, ip, #80 @ 0x50 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ vldr d3, [r9] │ │ │ │ │ vldr d2, [ip, #-160] @ 0xffffff60 │ │ │ │ │ - vldr d0, [r4] │ │ │ │ │ vsub.f64 d8, d12, d6 │ │ │ │ │ vadd.f64 d12, d6, d12 │ │ │ │ │ vldr d6, [r6] │ │ │ │ │ - vadd.f64 d4, d7, d5 │ │ │ │ │ vsub.f64 d10, d5, d7 │ │ │ │ │ + vadd.f64 d4, d7, d5 │ │ │ │ │ vldr d5, [ip, #-112] @ 0xffffff90 │ │ │ │ │ vldr d7, [ip, #-104] @ 0xffffff98 │ │ │ │ │ vstr d4, [sp] │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ vmla.f64 d4, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vmul.f64 d3, d2, d1 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ vldr d6, [ip, #-152] @ 0xffffff68 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ vmla.f64 d3, d6, d5 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ vldr d1, [ip, #-96] @ 0xffffffa0 │ │ │ │ │ vnmls.f64 d6, d2, d5 │ │ │ │ │ vldr d2, [fp] │ │ │ │ │ vsub.f64 d5, d4, d3 │ │ │ │ │ vadd.f64 d13, d3, d4 │ │ │ │ │ @@ -91,108 +94,121 @@ │ │ │ │ │ vmul.f64 d6, d1, d2 │ │ │ │ │ vmla.f64 d6, d7, d0 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ vnmls.f64 d7, d1, d0 │ │ │ │ │ vsub.f64 d0, d3, d6 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ vsub.f64 d1, d4, d7 │ │ │ │ │ - vadd.f64 d2, d0, d5 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ + vadd.f64 d2, d0, d5 │ │ │ │ │ vmov.f64 d4, d8 │ │ │ │ │ vsub.f64 d5, d5, d0 │ │ │ │ │ - vmls.f64 d4, d2, d11 │ │ │ │ │ vadd.f64 d3, d1, d9 │ │ │ │ │ - vadd.f64 d2, d2, d8 │ │ │ │ │ vsub.f64 d9, d9, d1 │ │ │ │ │ + vmls.f64 d4, d2, d11 │ │ │ │ │ + vadd.f64 d2, d2, d8 │ │ │ │ │ vmul.f64 d5, d5, d15 │ │ │ │ │ vmul.f64 d3, d3, d15 │ │ │ │ │ vstr d2, [r6] │ │ │ │ │ mov r6, r2 │ │ │ │ │ - subs r2, #8 │ │ │ │ │ + sub.w r2, r2, #8 │ │ │ │ │ vadd.f64 d2, d4, d3 │ │ │ │ │ vsub.f64 d4, d4, d3 │ │ │ │ │ vmov.f64 d3, d10 │ │ │ │ │ vmla.f64 d3, d9, d11 │ │ │ │ │ vsub.f64 d9, d9, d10 │ │ │ │ │ vstr d2, [fp] │ │ │ │ │ vstr d4, [r6] │ │ │ │ │ vstr d9, [r4] │ │ │ │ │ mov r4, r3 │ │ │ │ │ - subs r3, #8 │ │ │ │ │ + sub.w r3, r3, #8 │ │ │ │ │ vmov.f64 d4, d3 │ │ │ │ │ vadd.f64 d3, d3, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ - vstr d3, [lr] │ │ │ │ │ - vadd.f64 d3, d6, d13 │ │ │ │ │ vsub.f64 d4, d7, d14 │ │ │ │ │ vadd.f64 d7, d7, d14 │ │ │ │ │ + vstr d3, [lr] │ │ │ │ │ + vadd.f64 d3, d6, d13 │ │ │ │ │ vsub.f64 d6, d6, d13 │ │ │ │ │ vstr d5, [r4] │ │ │ │ │ vmov.f64 d5, d12 │ │ │ │ │ - vmls.f64 d5, d3, d11 │ │ │ │ │ vmul.f64 d4, d4, d15 │ │ │ │ │ - vadd.f64 d3, d3, d12 │ │ │ │ │ vmul.f64 d6, d6, d15 │ │ │ │ │ + vmls.f64 d5, d3, d11 │ │ │ │ │ + vadd.f64 d3, d3, d12 │ │ │ │ │ vstmia r0!, {d3} │ │ │ │ │ vadd.f64 d3, d5, d4 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vstr d3, [sl] │ │ │ │ │ vstr d5, [r9] │ │ │ │ │ vldr d4, [sp] │ │ │ │ │ ldr r4, [sp, #136] @ 0x88 │ │ │ │ │ vmov.f64 d5, d4 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + str r4, [sp, #136] @ 0x88 │ │ │ │ │ vmls.f64 d5, d7, d11 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - str r4, [sp, #136] @ 0x88 │ │ │ │ │ ldr r4, [sp, #12] │ │ │ │ │ + ldr r6, [sp, #136] @ 0x88 │ │ │ │ │ + eor.w r5, r5, r4 │ │ │ │ │ + ldr r4, [sp, #140] @ 0x8c │ │ │ │ │ vstmia r1!, {d7} │ │ │ │ │ - eors r5, r4 │ │ │ │ │ - ldrd r6, r4, [sp, #136] @ 0x88 │ │ │ │ │ vadd.f64 d7, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ cmp r4, r6 │ │ │ │ │ vstr d7, [r8] │ │ │ │ │ vstr d6, [r7] │ │ │ │ │ - bne.w 4c │ │ │ │ │ + bne.w 58 │ │ │ │ │ add sp, #28 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ - add ip, lr │ │ │ │ │ - vldr d15, [pc, #488] @ 418 │ │ │ │ │ - mov r5, r8 │ │ │ │ │ - str r4, [sp, #16] │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop.w │ │ │ │ │ + .word 0xe8584caa │ │ │ │ │ + .word 0x3febb67a │ │ │ │ │ + .word 0x0000022e │ │ │ │ │ + R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ + .word 0x00000000 │ │ │ │ │ + R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ + vldr d15, [pc, #500] @ 460 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ vmov.f64 d0, #96 @ 0x3f000000 0.5 │ │ │ │ │ - negs r4, r4 │ │ │ │ │ + add.w ip, ip, #80 @ 0x50 │ │ │ │ │ + mov r5, lr │ │ │ │ │ + str r4, [sp, #16] │ │ │ │ │ + rsb r4, r4, #0 │ │ │ │ │ str r4, [sp, #20] │ │ │ │ │ - lsls r4, r5, #3 │ │ │ │ │ - vldr d1, [ip, #-40] @ 0xffffffd8 │ │ │ │ │ - adds r7, r3, r4 │ │ │ │ │ - add.w lr, r1, r4 │ │ │ │ │ - vldr d3, [ip, #-48] @ 0xffffffd0 │ │ │ │ │ - lsls r6, r5, #4 │ │ │ │ │ + mov.w r4, r5, lsl #3 │ │ │ │ │ vldr d5, [r2] │ │ │ │ │ + add.w ip, ip, #80 @ 0x50 │ │ │ │ │ + mov.w r6, r5, lsl #4 │ │ │ │ │ + add.w r7, r3, r4 │ │ │ │ │ + add.w lr, r1, r4 │ │ │ │ │ + vldr d12, [r0] │ │ │ │ │ add.w r9, r0, r6 │ │ │ │ │ - vldr d2, [r7] │ │ │ │ │ add r6, r2 │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ + vldr d1, [ip, #-120] @ 0xffffff88 │ │ │ │ │ add.w sl, r2, r4 │ │ │ │ │ - vldr d12, [r0] │ │ │ │ │ add.w fp, r0, r4 │ │ │ │ │ + add.w r8, lr, r4 │ │ │ │ │ + add r4, r7 │ │ │ │ │ + vldr d2, [r7] │ │ │ │ │ + vldr d3, [ip, #-128] @ 0xffffff80 │ │ │ │ │ + vldr d7, [lr] │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ - vldr d4, [ip, #-24] @ 0xffffffe8 │ │ │ │ │ + vldr d8, [ip, #-152] @ 0xffffff68 │ │ │ │ │ + vldr d4, [ip, #-104] @ 0xffffff98 │ │ │ │ │ + vldr d9, [ip, #-96] @ 0xffffffa0 │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d8, [ip, #-72] @ 0xffffffb8 │ │ │ │ │ - add.w r8, lr, r4 │ │ │ │ │ vldr d1, [r3] │ │ │ │ │ - add r4, r7 │ │ │ │ │ - vldr d9, [ip, #-16] │ │ │ │ │ - add.w ip, ip, #80 @ 0x50 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ vsub.f64 d2, d12, d6 │ │ │ │ │ vadd.f64 d12, d12, d6 │ │ │ │ │ vadd.f64 d6, d5, d7 │ │ │ │ │ vsub.f64 d11, d5, d7 │ │ │ │ │ vldr d5, [r6] │ │ │ │ │ vldr d7, [ip, #-112] @ 0xffffff90 │ │ │ │ │ @@ -226,22 +242,22 @@ │ │ │ │ │ vmul.f64 d3, d8, d1 │ │ │ │ │ vmla.f64 d3, d4, d9 │ │ │ │ │ vmul.f64 d4, d4, d1 │ │ │ │ │ vnmls.f64 d4, d8, d9 │ │ │ │ │ vsub.f64 d8, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ vsub.f64 d1, d6, d4 │ │ │ │ │ - vadd.f64 d9, d5, d8 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ + vadd.f64 d9, d5, d8 │ │ │ │ │ vmov.f64 d4, d2 │ │ │ │ │ vsub.f64 d5, d5, d8 │ │ │ │ │ - vmls.f64 d4, d9, d0 │ │ │ │ │ vadd.f64 d3, d10, d1 │ │ │ │ │ - vadd.f64 d2, d2, d9 │ │ │ │ │ vsub.f64 d10, d10, d1 │ │ │ │ │ + vmls.f64 d4, d9, d0 │ │ │ │ │ + vadd.f64 d2, d2, d9 │ │ │ │ │ vmul.f64 d5, d5, d15 │ │ │ │ │ vmul.f64 d3, d3, d15 │ │ │ │ │ vstr d2, [r6] │ │ │ │ │ vadd.f64 d2, d3, d4 │ │ │ │ │ vsub.f64 d4, d4, d3 │ │ │ │ │ vstr d2, [fp] │ │ │ │ │ vstr d4, [r2] │ │ │ │ │ @@ -251,66 +267,60 @@ │ │ │ │ │ vstr d10, [r4] │ │ │ │ │ vadd.f64 d3, d5, d4 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vsub.f64 d4, d6, d14 │ │ │ │ │ vadd.f64 d14, d14, d6 │ │ │ │ │ vstr d3, [lr] │ │ │ │ │ vadd.f64 d3, d13, d7 │ │ │ │ │ + vsub.f64 d7, d7, d13 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ vmov.f64 d5, d12 │ │ │ │ │ vmul.f64 d4, d4, d15 │ │ │ │ │ - vsub.f64 d7, d7, d13 │ │ │ │ │ vmls.f64 d5, d3, d0 │ │ │ │ │ vadd.f64 d12, d12, d3 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ vstr d12, [r0] │ │ │ │ │ vadd.f64 d3, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vstr d3, [sl] │ │ │ │ │ vstr d5, [r9] │ │ │ │ │ vldr d6, [sp] │ │ │ │ │ ldr r4, [sp, #136] @ 0x88 │ │ │ │ │ vmov.f64 d5, d6 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + str r4, [sp, #136] @ 0x88 │ │ │ │ │ vmls.f64 d5, d14, d0 │ │ │ │ │ vadd.f64 d14, d6, d14 │ │ │ │ │ - str r4, [sp, #136] @ 0x88 │ │ │ │ │ ldr r4, [sp, #16] │ │ │ │ │ - vstr d14, [r1] │ │ │ │ │ + ldr r6, [sp, #136] @ 0x88 │ │ │ │ │ add r0, r4 │ │ │ │ │ + vstr d14, [r1] │ │ │ │ │ add r1, r4 │ │ │ │ │ ldr r4, [sp, #20] │ │ │ │ │ + vadd.f64 d6, d7, d5 │ │ │ │ │ + vsub.f64 d7, d7, d5 │ │ │ │ │ add r2, r4 │ │ │ │ │ add r3, r4 │ │ │ │ │ ldr r4, [sp, #12] │ │ │ │ │ - vadd.f64 d6, d7, d5 │ │ │ │ │ - vsub.f64 d7, d7, d5 │ │ │ │ │ - eors r5, r4 │ │ │ │ │ - ldrd r6, r4, [sp, #136] @ 0x88 │ │ │ │ │ vstr d6, [r8] │ │ │ │ │ + eor.w r5, r5, r4 │ │ │ │ │ + ldr r4, [sp, #140] @ 0x8c │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ cmp r4, r6 │ │ │ │ │ - bne.w 23c │ │ │ │ │ - add sp, #28 │ │ │ │ │ - vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + bne.w 282 │ │ │ │ │ + b.n 238 │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3febb67a │ │ │ │ │ - .word 0x0000040a │ │ │ │ │ - R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ - .word 0x00000000 │ │ │ │ │ - R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ │ │ │ │ │ -00000428 : │ │ │ │ │ +00000468 : │ │ │ │ │ fftw_codelet_hc2cf_6(): │ │ │ │ │ - ldr r2, [pc, #12] @ (438 ) │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - ldr r1, [pc, #12] @ (43c ) │ │ │ │ │ + ldr r2, [pc, #12] @ (478 ) │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + ldr r1, [pc, #12] @ (47c ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2c_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + .word 0x00000006 │ │ │ │ │ R_ARM_REL32 hc2cf_6 │ │ │ ├── hc2cf_8.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1572 (bytes into file) │ │ │ │ │ + Start of section headers: 1620 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x624: │ │ │ │ │ +There are 14 section headers, starting at offset 0x654: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000308 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00056c 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 00033c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 00033c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 00033c 000008 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000344 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 00034c 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000594 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 00037c 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00037c 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 0003b0 000130 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 0004e0 00008b 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 0005ac 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000338 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 00059c 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 00036c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 00036c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 00036c 000008 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000374 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 00037c 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 0005c4 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 0003ac 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0003ac 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 0003e0 000130 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000510 00008b 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 0005dc 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 19 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 752 FUNC LOCAL DEFAULT 1 hc2cf_8 │ │ │ │ │ + 1: 00000001 800 FUNC LOCAL DEFAULT 1 hc2cf_8 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000002e0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 000002f0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000300 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000310 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000320 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000330 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 16: 000002f1 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cf_8 │ │ │ │ │ + 16: 00000321 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cf_8 │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2c_register │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hc2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x56c contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x59c contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000002e8 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -000002ec 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000300 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000304 00000103 R_ARM_REL32 00000001 hc2cf_8 │ │ │ │ │ -000002fa 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ +00000318 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000031c 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000330 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000334 00000103 R_ARM_REL32 00000001 hc2cf_8 │ │ │ │ │ +0000032c 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x594 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x5c4 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001202 R_ARM_ABS32 00000000 fftw_rdft_hc2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,238 +1,246 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hc2cf_8(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ mov r4, r0 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r1 │ │ │ │ │ + mov r6, r2 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #68 @ 0x44 │ │ │ │ │ - mov r6, r2 │ │ │ │ │ - ldr r2, [pc, #724] @ (2e8 ) │ │ │ │ │ - ldrd r1, r0, [sp, #176] @ 0xb0 │ │ │ │ │ - add r2, pc │ │ │ │ │ - ldr r7, [sp, #172] @ 0xac │ │ │ │ │ + ldrd r7, r1, [sp, #172] @ 0xac │ │ │ │ │ + ldr r0, [sp, #180] @ 0xb4 │ │ │ │ │ + ldr r2, [pc, #752] @ (318 ) │ │ │ │ │ cmp r1, r0 │ │ │ │ │ - bge.w 2d4 │ │ │ │ │ + add r2, pc │ │ │ │ │ + bge.w 2f4 │ │ │ │ │ ldr r1, [sp, #184] @ 0xb8 │ │ │ │ │ - movs r0, #112 @ 0x70 │ │ │ │ │ - vldr d8, [pc, #696] @ 2e0 │ │ │ │ │ - mov lr, r7 │ │ │ │ │ - lsls r1, r1, #3 │ │ │ │ │ + vldr d8, [pc, #732] @ 310 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ str r1, [sp, #52] @ 0x34 │ │ │ │ │ - negs r1, r1 │ │ │ │ │ + rsb r1, r1, #0 │ │ │ │ │ str r1, [sp, #56] @ 0x38 │ │ │ │ │ - ldr r1, [pc, #696] @ (2ec ) │ │ │ │ │ + ldr r1, [pc, #728] @ (31c ) │ │ │ │ │ ldr r2, [r2, r1] │ │ │ │ │ - ldr r1, [sp, #176] @ 0xb0 │ │ │ │ │ + ldr r1, [sp, #168] @ 0xa8 │ │ │ │ │ ldr r2, [r2, #0] │ │ │ │ │ str r2, [sp, #60] @ 0x3c │ │ │ │ │ - ldr r2, [sp, #168] @ 0xa8 │ │ │ │ │ - mla r2, r0, r1, r2 │ │ │ │ │ - mov.w r1, lr, lsl #4 │ │ │ │ │ - vldr d1, [r2, #-56] @ 0xffffffc8 │ │ │ │ │ - adds r0, r6, r1 │ │ │ │ │ - add.w sl, r4, r1 │ │ │ │ │ + ldr r2, [sp, #176] @ 0xb0 │ │ │ │ │ + rsb r2, r2, r2, lsl #3 │ │ │ │ │ + add.w r2, r1, r2, lsl #4 │ │ │ │ │ + mov.w r1, r7, lsl #4 │ │ │ │ │ vldr d3, [r2, #-64] @ 0xffffffc0 │ │ │ │ │ - movs r7, #24 │ │ │ │ │ - str r0, [sp, #0] │ │ │ │ │ - add.w r8, r5, r1 │ │ │ │ │ + add.w r2, r2, #112 @ 0x70 │ │ │ │ │ + add.w ip, r7, r7, lsl #1 │ │ │ │ │ + add.w r0, r6, r1 │ │ │ │ │ + vldr d1, [r2, #-168] @ 0xffffff58 │ │ │ │ │ + add.w sl, r4, r1 │ │ │ │ │ + mov.w ip, ip, lsl #3 │ │ │ │ │ + str r1, [sp, #0] │ │ │ │ │ vldr d2, [r0] │ │ │ │ │ - adds r2, #112 @ 0x70 │ │ │ │ │ + str r0, [sp, #12] │ │ │ │ │ + add.w r0, r5, ip │ │ │ │ │ + add ip, r3 │ │ │ │ │ vldr d7, [sl] │ │ │ │ │ - mul.w r7, r7, lr │ │ │ │ │ + str r0, [sp, #16] │ │ │ │ │ vldr d14, [r4] │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ - adds r0, r5, r7 │ │ │ │ │ + vldr d12, [r6] │ │ │ │ │ + vldr d5, [ip] │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - add r7, r3 │ │ │ │ │ - vldr d12, [r6] │ │ │ │ │ - str r0, [sp, #4] │ │ │ │ │ - str r7, [sp, #8] │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ vldr d3, [r2, #-120] @ 0xffffff88 │ │ │ │ │ vadd.f64 d1, d14, d6 │ │ │ │ │ - vmul.f64 d4, d5, d3 │ │ │ │ │ vsub.f64 d14, d14, d6 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ - mov.w r0, lr, lsl #3 │ │ │ │ │ + vmul.f64 d4, d5, d3 │ │ │ │ │ + mov.w r0, r7, lsl #3 │ │ │ │ │ add.w r9, r3, r0 │ │ │ │ │ - adds r7, r5, r0 │ │ │ │ │ + add.w r1, r5, r0 │ │ │ │ │ + add.w lr, r4, r0 │ │ │ │ │ + add r0, r6 │ │ │ │ │ vsub.f64 d0, d12, d7 │ │ │ │ │ vadd.f64 d12, d12, d7 │ │ │ │ │ vldr d7, [r2, #-128] @ 0xffffff80 │ │ │ │ │ - add.w ip, r4, r0 │ │ │ │ │ + str r1, [sp, #20] │ │ │ │ │ vldr d2, [r9] │ │ │ │ │ - add r0, r6 │ │ │ │ │ - add.w fp, r0, r1 │ │ │ │ │ - str r7, [sp, #12] │ │ │ │ │ vmla.f64 d4, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ - vstr d0, [sp, #16] │ │ │ │ │ - vldr d0, [r2, #-184] @ 0xffffff48 │ │ │ │ │ + vstr d0, [sp, #24] │ │ │ │ │ vldr d3, [r2, #-192] @ 0xffffff40 │ │ │ │ │ + vldr d0, [r2, #-184] @ 0xffffff48 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + ldr r1, [sp, #0] │ │ │ │ │ vmul.f64 d5, d2, d0 │ │ │ │ │ - add.w r7, ip, r1 │ │ │ │ │ - str r7, [sp, #48] @ 0x30 │ │ │ │ │ - add r1, r3 │ │ │ │ │ + add r1, lr │ │ │ │ │ vmla.f64 d5, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ - vldr d0, [fp] │ │ │ │ │ + str r1, [sp, #48] @ 0x30 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ vldr d3, [r2, #-200] @ 0xffffff38 │ │ │ │ │ vadd.f64 d11, d4, d5 │ │ │ │ │ vsub.f64 d9, d4, d5 │ │ │ │ │ vldr d5, [r0] │ │ │ │ │ vadd.f64 d2, d6, d7 │ │ │ │ │ vsub.f64 d10, d6, d7 │ │ │ │ │ vldr d7, [r2, #-208] @ 0xffffff30 │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ - vstr d9, [sp, #24] │ │ │ │ │ + vstr d9, [sp, #32] │ │ │ │ │ + vldr d6, [lr] │ │ │ │ │ vldr d9, [r2, #-136] @ 0xffffff78 │ │ │ │ │ + vstr d10, [sp, #40] @ 0x28 │ │ │ │ │ vmla.f64 d4, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ vldr d3, [r2, #-144] @ 0xffffff70 │ │ │ │ │ - vstr d10, [sp, #32] │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + ldr r1, [sp, #0] │ │ │ │ │ + add.w fp, r0, r1 │ │ │ │ │ + add.w r8, r5, r1 │ │ │ │ │ + add r1, r3 │ │ │ │ │ + vldr d0, [fp] │ │ │ │ │ vmul.f64 d5, d0, d9 │ │ │ │ │ vmla.f64 d5, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d9 │ │ │ │ │ vnmls.f64 d7, d0, d3 │ │ │ │ │ vadd.f64 d3, d4, d5 │ │ │ │ │ vsub.f64 d5, d4, d5 │ │ │ │ │ vsub.f64 d15, d6, d7 │ │ │ │ │ vadd.f64 d13, d6, d7 │ │ │ │ │ - vstr d5, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ + vstr d5, [sp] │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ vldr d0, [r2, #-216] @ 0xffffff28 │ │ │ │ │ vldr d6, [r2, #-224] @ 0xffffff20 │ │ │ │ │ - vldr d10, [r2, #-152] @ 0xffffff68 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ vmul.f64 d7, d4, d0 │ │ │ │ │ - ldr r7, [sp, #8] │ │ │ │ │ + vldr d10, [r2, #-152] @ 0xffffff68 │ │ │ │ │ vmla.f64 d7, d5, d6 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ vldr d0, [r1] │ │ │ │ │ vnmls.f64 d5, d4, d6 │ │ │ │ │ vldr d4, [r2, #-160] @ 0xffffff60 │ │ │ │ │ - vldr d6, [r8] │ │ │ │ │ vmul.f64 d9, d0, d10 │ │ │ │ │ + vldr d6, [r8] │ │ │ │ │ vmla.f64 d9, d6, d4 │ │ │ │ │ vmul.f64 d6, d6, d10 │ │ │ │ │ vnmls.f64 d6, d0, d4 │ │ │ │ │ vadd.f64 d4, d7, d9 │ │ │ │ │ vsub.f64 d7, d7, d9 │ │ │ │ │ vadd.f64 d0, d5, d6 │ │ │ │ │ - vadd.f64 d9, d11, d4 │ │ │ │ │ vsub.f64 d6, d5, d6 │ │ │ │ │ + vadd.f64 d9, d11, d4 │ │ │ │ │ vadd.f64 d5, d1, d3 │ │ │ │ │ vsub.f64 d3, d1, d3 │ │ │ │ │ vsub.f64 d4, d11, d4 │ │ │ │ │ - vldr d11, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d11, [sp] │ │ │ │ │ vsub.f64 d10, d5, d9 │ │ │ │ │ vadd.f64 d5, d5, d9 │ │ │ │ │ vadd.f64 d9, d12, d13 │ │ │ │ │ vsub.f64 d12, d12, d13 │ │ │ │ │ vstr d10, [fp] │ │ │ │ │ vstr d5, [r4] │ │ │ │ │ vadd.f64 d5, d2, d0 │ │ │ │ │ vsub.f64 d0, d0, d2 │ │ │ │ │ vsub.f64 d10, d5, d9 │ │ │ │ │ vadd.f64 d5, d5, d9 │ │ │ │ │ - vldr d9, [sp, #24] │ │ │ │ │ - vstr d10, [r7] │ │ │ │ │ + vldr d9, [sp, #32] │ │ │ │ │ + vstr d10, [ip] │ │ │ │ │ vstr d5, [r5] │ │ │ │ │ vsub.f64 d5, d3, d0 │ │ │ │ │ vadd.f64 d3, d3, d0 │ │ │ │ │ - vldr d10, [sp, #32] │ │ │ │ │ - vldr d0, [sp, #16] │ │ │ │ │ - ldr r7, [sp, #12] │ │ │ │ │ + vldr d0, [sp, #24] │ │ │ │ │ + vldr d10, [sp, #40] @ 0x28 │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ vsub.f64 d5, d4, d12 │ │ │ │ │ - vstr d3, [sl] │ │ │ │ │ - vadd.f64 d1, d9, d10 │ │ │ │ │ vadd.f64 d4, d4, d12 │ │ │ │ │ + vstr d3, [sl] │ │ │ │ │ vsub.f64 d2, d0, d11 │ │ │ │ │ - ldr r0, [sp, #0] │ │ │ │ │ + ldr r0, [sp, #20] │ │ │ │ │ + vadd.f64 d1, d9, d10 │ │ │ │ │ vstr d5, [r9] │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vsub.f64 d6, d9, d10 │ │ │ │ │ vstr d4, [r8] │ │ │ │ │ vsub.f64 d4, d14, d15 │ │ │ │ │ + vsub.f64 d6, d9, d10 │ │ │ │ │ vsub.f64 d3, d5, d1 │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ vmul.f64 d3, d3, d8 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ vsub.f64 d1, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ vadd.f64 d3, d7, d6 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ vstr d1, [r6] │ │ │ │ │ vadd.f64 d1, d2, d5 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ vmul.f64 d3, d3, d8 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ - vstr d1, [r7] │ │ │ │ │ - ldr r7, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d4, [r7] │ │ │ │ │ + vstr d1, [r0] │ │ │ │ │ + ldr r0, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ vadd.f64 d4, d0, d11 │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ vadd.f64 d5, d14, d15 │ │ │ │ │ + ldr r0, [sp, #12] │ │ │ │ │ vsub.f64 d6, d5, d3 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ vstr d6, [r0] │ │ │ │ │ vadd.f64 d6, d4, d7 │ │ │ │ │ - ldr r0, [sp, #4] │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ + ldr r0, [sp, #16] │ │ │ │ │ vstr d6, [r0] │ │ │ │ │ - vstr d5, [ip] │ │ │ │ │ + vstr d5, [lr] │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ ldr r1, [sp, #176] @ 0xb0 │ │ │ │ │ - adds r1, #1 │ │ │ │ │ + add.w r1, r1, #1 │ │ │ │ │ str r1, [sp, #176] @ 0xb0 │ │ │ │ │ ldr r1, [sp, #52] @ 0x34 │ │ │ │ │ + ldr r0, [sp, #176] @ 0xb0 │ │ │ │ │ add r4, r1 │ │ │ │ │ add r5, r1 │ │ │ │ │ ldr r1, [sp, #56] @ 0x38 │ │ │ │ │ add r6, r1 │ │ │ │ │ add r3, r1 │ │ │ │ │ ldr r1, [sp, #60] @ 0x3c │ │ │ │ │ - eor.w lr, lr, r1 │ │ │ │ │ - ldrd r0, r1, [sp, #176] @ 0xb0 │ │ │ │ │ + eor.w r7, r7, r1 │ │ │ │ │ + ldr r1, [sp, #180] @ 0xb4 │ │ │ │ │ cmp r1, r0 │ │ │ │ │ - bne.w 42 │ │ │ │ │ + bne.w 56 │ │ │ │ │ add sp, #68 @ 0x44 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ - .word 0x000002ce │ │ │ │ │ + .word 0x000002ea │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ │ │ │ │ │ -000002f0 : │ │ │ │ │ +00000320 : │ │ │ │ │ fftw_codelet_hc2cf_8(): │ │ │ │ │ - ldr r2, [pc, #12] @ (300 ) │ │ │ │ │ - movs r3, #0 │ │ │ │ │ - ldr r1, [pc, #12] @ (304 ) │ │ │ │ │ + ldr r2, [pc, #12] @ (330 ) │ │ │ │ │ + mov.w r3, #0 │ │ │ │ │ + ldr r1, [pc, #12] @ (334 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2c_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + .word 0x00000006 │ │ │ │ │ R_ARM_REL32 hc2cf_8 │ │ │ ├── hc2cfdft2_16.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 3352 (bytes into file) │ │ │ │ │ + Start of section headers: 3432 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0xd18: │ │ │ │ │ +There are 14 section headers, starting at offset 0xd68: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0009e8 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000c60 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000a1c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000a1c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000a1c 00000d 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000a29 000014 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 000a3d 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000c88 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000a6d 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000a6d 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000aa0 000130 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000bd0 000090 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000ca0 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000a38 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000cb0 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000a6c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000a6c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000a6c 00000d 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000a79 000014 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000a8d 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000cd8 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000abd 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000abd 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000af0 000130 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000c20 000090 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000cf0 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 19 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 2512 FUNC LOCAL DEFAULT 1 hc2cfdft2_16 │ │ │ │ │ + 1: 00000001 2592 FUNC LOCAL DEFAULT 1 hc2cfdft2_16 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000009b0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 000009d0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000009e0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000a00 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000a20 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000a30 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 20 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 16: 000009d1 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cfdft2_16 │ │ │ │ │ + 16: 00000a21 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cfdft2_16 │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2c_register │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hc2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xc60 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xcb0 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000009c8 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -000009cc 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000009e0 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000009e4 00000103 R_ARM_REL32 00000001 hc2cfdft2_16 │ │ │ │ │ -000009da 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ +00000a18 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000a1c 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000a30 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000a34 00000103 R_ARM_REL32 00000001 hc2cfdft2_16 │ │ │ │ │ +00000a2c 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xc88 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xcd8 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001202 R_ARM_ABS32 00000000 fftw_rdft_hc2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,700 +1,710 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hc2cfdft2_16(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ mov sl, r1 │ │ │ │ │ + mov r9, r0 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ mov fp, r2 │ │ │ │ │ + mov r0, r3 │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #396 @ 0x18c │ │ │ │ │ - mov r4, r3 │ │ │ │ │ - ldr.w r3, [pc, #2484] @ 9c8 │ │ │ │ │ ldrd r2, r1, [sp, #504] @ 0x1f8 │ │ │ │ │ - add r3, pc │ │ │ │ │ + ldr.w r3, [pc, #2544] @ a18 │ │ │ │ │ cmp r2, r1 │ │ │ │ │ - bge.w 9a0 │ │ │ │ │ + add r3, pc │ │ │ │ │ + bge.w 9e0 │ │ │ │ │ ldr r2, [sp, #512] @ 0x200 │ │ │ │ │ - mov r9, r0 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ str r2, [sp, #380] @ 0x17c │ │ │ │ │ - negs r2, r2 │ │ │ │ │ + rsb r2, r2, #0 │ │ │ │ │ str r2, [sp, #384] @ 0x180 │ │ │ │ │ - ldr.w r2, [pc, #2460] @ 9cc │ │ │ │ │ + ldr.w r2, [pc, #2520] @ a1c │ │ │ │ │ ldr r3, [r3, r2] │ │ │ │ │ ldr r2, [sp, #504] @ 0x1f8 │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ str r3, [sp, #388] @ 0x184 │ │ │ │ │ ldr r3, [sp, #496] @ 0x1f0 │ │ │ │ │ add.w r8, r3, r2, lsl #6 │ │ │ │ │ - vldr d12, [r8, #-56] @ 0xffffffc8 │ │ │ │ │ - movs r7, #56 @ 0x38 │ │ │ │ │ vldr d15, [r8, #-64] @ 0xffffffc0 │ │ │ │ │ add.w r8, r8, #64 @ 0x40 │ │ │ │ │ + vldr d10, [r8, #-120] @ 0xffffff88 │ │ │ │ │ vldr d7, [r8, #-112] @ 0xffffff90 │ │ │ │ │ vldr d5, [r8, #-104] @ 0xffffff98 │ │ │ │ │ - vldr d10, [r8, #-96] @ 0xffffffa0 │ │ │ │ │ vmul.f64 d6, d15, d7 │ │ │ │ │ - vmul.f64 d4, d12, d7 │ │ │ │ │ + vmul.f64 d4, d10, d7 │ │ │ │ │ vldr d7, [r8, #-104] @ 0xffffff98 │ │ │ │ │ vmul.f64 d5, d15, d5 │ │ │ │ │ - vmul.f64 d0, d15, d10 │ │ │ │ │ - vmul.f64 d2, d12, d10 │ │ │ │ │ - vmul.f64 d7, d12, d7 │ │ │ │ │ - vsub.f64 d9, d5, d4 │ │ │ │ │ - vadd.f64 d4, d4, d5 │ │ │ │ │ - vldr d5, [r8, #-104] @ 0xffffff98 │ │ │ │ │ + vmul.f64 d7, d10, d7 │ │ │ │ │ + vsub.f64 d14, d5, d4 │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ - vstr d4, [sp, #8] │ │ │ │ │ - vmul.f64 d4, d5, d10 │ │ │ │ │ - vldr d5, [r8, #-112] @ 0xffffff90 │ │ │ │ │ - vstr d3, [sp] │ │ │ │ │ - vsub.f64 d3, d6, d7 │ │ │ │ │ - vldr d7, [r8, #-88] @ 0xffffffa8 │ │ │ │ │ - vmul.f64 d5, d5, d10 │ │ │ │ │ + vsub.f64 d2, d6, d7 │ │ │ │ │ vldr d6, [r8, #-112] @ 0xffffff90 │ │ │ │ │ - vmov.f64 d14, d3 │ │ │ │ │ - vmul.f64 d8, d12, d7 │ │ │ │ │ - vmul.f64 d3, d6, d7 │ │ │ │ │ + vldr d7, [r8, #-88] @ 0xffffffa8 │ │ │ │ │ + vstr d3, [sp] │ │ │ │ │ + vadd.f64 d3, d4, d5 │ │ │ │ │ + vstr d14, [sp, #8] │ │ │ │ │ + vmov.f64 d14, d2 │ │ │ │ │ + vmul.f64 d2, d6, d7 │ │ │ │ │ vldr d6, [r8, #-104] @ 0xffffff98 │ │ │ │ │ - vmul.f64 d1, d15, d7 │ │ │ │ │ - vmul.f64 d6, d6, d7 │ │ │ │ │ - vsub.f64 d13, d0, d8 │ │ │ │ │ - vadd.f64 d11, d3, d4 │ │ │ │ │ - vadd.f64 d0, d8, d0 │ │ │ │ │ - vstr d14, [sp, #64] @ 0x40 │ │ │ │ │ + vmul.f64 d9, d10, d7 │ │ │ │ │ + vmul.f64 d0, d15, d7 │ │ │ │ │ + vldr d4, [r8, #-104] @ 0xffffff98 │ │ │ │ │ + vstr d3, [sp, #16] │ │ │ │ │ + vstr d14, [sp, #72] @ 0x48 │ │ │ │ │ + vmul.f64 d5, d6, d7 │ │ │ │ │ + vldr d6, [r8, #-96] @ 0xffffffa0 │ │ │ │ │ + vmul.f64 d3, d4, d6 │ │ │ │ │ + vldr d4, [r8, #-112] @ 0xffffff90 │ │ │ │ │ + vmul.f64 d8, d15, d6 │ │ │ │ │ + vmul.f64 d1, d10, d6 │ │ │ │ │ + vmul.f64 d4, d4, d6 │ │ │ │ │ + vsub.f64 d13, d8, d9 │ │ │ │ │ + vadd.f64 d11, d2, d3 │ │ │ │ │ + vadd.f64 d8, d9, d8 │ │ │ │ │ + vadd.f64 d12, d5, d4 │ │ │ │ │ + vsub.f64 d5, d4, d5 │ │ │ │ │ + vldr d4, [r8, #-72] @ 0xffffffb8 │ │ │ │ │ vstr d13, [sp, #104] @ 0x68 │ │ │ │ │ - vsub.f64 d13, d1, d2 │ │ │ │ │ + vsub.f64 d13, d0, d1 │ │ │ │ │ + vadd.f64 d1, d0, d1 │ │ │ │ │ + vsub.f64 d0, d2, d3 │ │ │ │ │ + vldr d3, [sp, #16] │ │ │ │ │ vstr d11, [sp, #112] @ 0x70 │ │ │ │ │ - vadd.f64 d11, d6, d5 │ │ │ │ │ - vsub.f64 d6, d5, d6 │ │ │ │ │ - vldr d5, [r8, #-72] @ 0xffffffb8 │ │ │ │ │ - vadd.f64 d2, d1, d2 │ │ │ │ │ - vsub.f64 d1, d3, d4 │ │ │ │ │ - vldr d4, [sp, #8] │ │ │ │ │ - vstr d11, [sp, #280] @ 0x118 │ │ │ │ │ - vstr d6, [sp, #128] @ 0x80 │ │ │ │ │ - vmul.f64 d6, d12, d5 │ │ │ │ │ - vldr d5, [r8, #-80] @ 0xffffffb0 │ │ │ │ │ - vstr d2, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d1, [sp, #288] @ 0x120 │ │ │ │ │ - vmla.f64 d6, d15, d5 │ │ │ │ │ - vstr d6, [sp, #296] @ 0x128 │ │ │ │ │ - vmul.f64 d6, d12, d5 │ │ │ │ │ - vldr d5, [r8, #-72] @ 0xffffffb8 │ │ │ │ │ - vnmls.f64 d6, d15, d5 │ │ │ │ │ - vmul.f64 d5, d14, d7 │ │ │ │ │ - vstr d6, [sp, #136] @ 0x88 │ │ │ │ │ - vmul.f64 d6, d4, d10 │ │ │ │ │ - vsub.f64 d8, d5, d6 │ │ │ │ │ - vadd.f64 d5, d5, d6 │ │ │ │ │ - vmul.f64 d6, d4, d7 │ │ │ │ │ - vldr d4, [sp] │ │ │ │ │ - vstr d5, [sp, #80] @ 0x50 │ │ │ │ │ - vmul.f64 d5, d14, d10 │ │ │ │ │ - vstr d8, [sp, #72] @ 0x48 │ │ │ │ │ - vadd.f64 d2, d5, d6 │ │ │ │ │ - vsub.f64 d1, d5, d6 │ │ │ │ │ - vmul.f64 d6, d9, d10 │ │ │ │ │ - vmul.f64 d5, d4, d7 │ │ │ │ │ - vstr d2, [sp, #88] @ 0x58 │ │ │ │ │ - vadd.f64 d8, d5, d6 │ │ │ │ │ - vsub.f64 d5, d5, d6 │ │ │ │ │ - vstr d1, [sp, #184] @ 0xb8 │ │ │ │ │ - vmul.f64 d6, d9, d7 │ │ │ │ │ - vstr d8, [sp, #240] @ 0xf0 │ │ │ │ │ - vstr d5, [sp, #304] @ 0x130 │ │ │ │ │ - vmul.f64 d5, d4, d10 │ │ │ │ │ + vstr d5, [sp, #128] @ 0x80 │ │ │ │ │ + vmul.f64 d5, d10, d4 │ │ │ │ │ + vldr d4, [r8, #-80] @ 0xffffffb0 │ │ │ │ │ + vstr d1, [sp, #120] @ 0x78 │ │ │ │ │ + vstr d12, [sp, #280] @ 0x118 │ │ │ │ │ + vstr d0, [sp, #288] @ 0x120 │ │ │ │ │ + vmla.f64 d5, d15, d4 │ │ │ │ │ + vstr d5, [sp, #296] @ 0x128 │ │ │ │ │ + vmul.f64 d5, d10, d4 │ │ │ │ │ + vldr d4, [r8, #-72] @ 0xffffffb8 │ │ │ │ │ + vnmls.f64 d5, d15, d4 │ │ │ │ │ + vmul.f64 d4, d14, d7 │ │ │ │ │ + vstr d5, [sp, #136] @ 0x88 │ │ │ │ │ + vmul.f64 d5, d3, d6 │ │ │ │ │ + vsub.f64 d9, d4, d5 │ │ │ │ │ + vadd.f64 d4, d4, d5 │ │ │ │ │ + vmul.f64 d5, d3, d7 │ │ │ │ │ + vldr d3, [sp] │ │ │ │ │ + vstr d9, [sp, #80] @ 0x50 │ │ │ │ │ + vstr d4, [sp, #88] @ 0x58 │ │ │ │ │ + vmul.f64 d4, d14, d6 │ │ │ │ │ + vadd.f64 d1, d4, d5 │ │ │ │ │ + vsub.f64 d4, d4, d5 │ │ │ │ │ + vstr d1, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d4, [sp, #184] @ 0xb8 │ │ │ │ │ + vmul.f64 d4, d3, d7 │ │ │ │ │ + vldr d14, [sp, #8] │ │ │ │ │ ldr r3, [sp, #500] @ 0x1f4 │ │ │ │ │ - vldr d3, [r4] │ │ │ │ │ vldr d2, [r9] │ │ │ │ │ - lsls r3, r3, #5 │ │ │ │ │ - vsub.f64 d4, d5, d6 │ │ │ │ │ + vmul.f64 d5, d14, d6 │ │ │ │ │ + mov.w r3, r3, lsl #5 │ │ │ │ │ add.w r2, sl, r3 │ │ │ │ │ - adds r1, r4, r3 │ │ │ │ │ - add.w r5, r9, r3 │ │ │ │ │ - add.w r6, fp, r3 │ │ │ │ │ - vadd.f64 d1, d5, d6 │ │ │ │ │ - vstr d9, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - vstr d4, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ - vsub.f64 d8, d5, d6 │ │ │ │ │ - vadd.f64 d5, d5, d6 │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ - vstr d1, [sp, #312] @ 0x138 │ │ │ │ │ - str r1, [sp, #32] │ │ │ │ │ - vadd.f64 d11, d4, d6 │ │ │ │ │ - vsub.f64 d4, d4, d6 │ │ │ │ │ - vldr d6, [sl] │ │ │ │ │ + add.w r1, r0, r3 │ │ │ │ │ + add.w r4, r9, r3 │ │ │ │ │ + add.w r5, fp, r3 │ │ │ │ │ + str r2, [sp, #24] │ │ │ │ │ + vadd.f64 d12, d4, d5 │ │ │ │ │ + vsub.f64 d9, d4, d5 │ │ │ │ │ + strd r1, r4, [sp, #36] @ 0x24 │ │ │ │ │ + vmul.f64 d5, d14, d7 │ │ │ │ │ + vmul.f64 d4, d3, d6 │ │ │ │ │ + vldr d3, [r0] │ │ │ │ │ + str r5, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d12, [sp, #240] @ 0xf0 │ │ │ │ │ + vsub.f64 d0, d4, d5 │ │ │ │ │ + vadd.f64 d4, d4, d5 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ ldr r1, [sp, #500] @ 0x1f4 │ │ │ │ │ - str r2, [sp, #16] │ │ │ │ │ - vsub.f64 d9, d6, d3 │ │ │ │ │ - vadd.f64 d6, d6, d3 │ │ │ │ │ - vldr d3, [fp] │ │ │ │ │ - lsls r2, r1, #4 │ │ │ │ │ - add.w ip, r4, r2 │ │ │ │ │ - str r6, [sp, #36] @ 0x24 │ │ │ │ │ + vstr d0, [sp, #248] @ 0xf8 │ │ │ │ │ + vstr d4, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + mov.w r2, r1, lsl #4 │ │ │ │ │ + vstr d9, [sp, #304] @ 0x130 │ │ │ │ │ add.w r6, sl, r2 │ │ │ │ │ + add.w ip, r0, r2 │ │ │ │ │ add.w r1, r9, r2 │ │ │ │ │ + add.w lr, fp, r2 │ │ │ │ │ + add.w r2, r1, r3 │ │ │ │ │ + vsub.f64 d1, d4, d5 │ │ │ │ │ + vmov.f64 d11, d1 │ │ │ │ │ + vadd.f64 d1, d4, d5 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + add.w r5, ip, r3 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + add.w r4, r6, r3 │ │ │ │ │ + str r4, [sp, #60] @ 0x3c │ │ │ │ │ + vmov.f64 d12, d1 │ │ │ │ │ + vadd.f64 d0, d4, d5 │ │ │ │ │ + vsub.f64 d4, d4, d5 │ │ │ │ │ + vldr d5, [sl] │ │ │ │ │ + vsub.f64 d9, d5, d3 │ │ │ │ │ + vadd.f64 d5, d5, d3 │ │ │ │ │ + vldr d3, [fp] │ │ │ │ │ vsub.f64 d1, d3, d2 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ - vmul.f64 d2, d13, d11 │ │ │ │ │ - vmul.f64 d13, d13, d8 │ │ │ │ │ - vmla.f64 d13, d0, d11 │ │ │ │ │ - add.w lr, fp, r2 │ │ │ │ │ - adds r0, r6, r3 │ │ │ │ │ - add.w r2, ip, r3 │ │ │ │ │ - str r5, [sp, #24] │ │ │ │ │ - adds r5, r1, r3 │ │ │ │ │ - vnmls.f64 d2, d0, d8 │ │ │ │ │ - str r0, [sp, #48] @ 0x30 │ │ │ │ │ - str r2, [sp, #56] @ 0x38 │ │ │ │ │ - vadd.f64 d0, d3, d13 │ │ │ │ │ + vmul.f64 d2, d13, d0 │ │ │ │ │ + vmul.f64 d13, d13, d11 │ │ │ │ │ + vmla.f64 d13, d8, d0 │ │ │ │ │ + vnmls.f64 d2, d8, d11 │ │ │ │ │ + vadd.f64 d8, d3, d13 │ │ │ │ │ vadd.f64 d14, d9, d2 │ │ │ │ │ - vstr d0, [sp, #144] @ 0x90 │ │ │ │ │ - vsub.f64 d0, d3, d13 │ │ │ │ │ - vmul.f64 d3, d7, d5 │ │ │ │ │ + vsub.f64 d9, d9, d2 │ │ │ │ │ + vmul.f64 d2, d10, d5 │ │ │ │ │ + vnmls.f64 d2, d15, d1 │ │ │ │ │ + vmul.f64 d15, d15, d5 │ │ │ │ │ + vstr d8, [sp, #144] @ 0x90 │ │ │ │ │ + vsub.f64 d8, d3, d13 │ │ │ │ │ + vmul.f64 d3, d7, d12 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ - vmla.f64 d3, d10, d4 │ │ │ │ │ - vldr d4, [r6] │ │ │ │ │ vstr d14, [sp, #320] @ 0x140 │ │ │ │ │ - vsub.f64 d14, d9, d2 │ │ │ │ │ - vmul.f64 d2, d12, d6 │ │ │ │ │ - vstr d0, [sp, #336] @ 0x150 │ │ │ │ │ - vnmls.f64 d7, d10, d5 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - vstr d14, [sp, #328] @ 0x148 │ │ │ │ │ - vnmls.f64 d2, d15, d1 │ │ │ │ │ - vmul.f64 d15, d15, d6 │ │ │ │ │ - vmla.f64 d15, d12, d1 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - add.w r0, lr, r3 │ │ │ │ │ - vsub.f64 d0, d2, d3 │ │ │ │ │ - vadd.f64 d8, d2, d3 │ │ │ │ │ - vadd.f64 d12, d7, d15 │ │ │ │ │ + vstr d9, [sp, #328] @ 0x148 │ │ │ │ │ + vmla.f64 d15, d10, d1 │ │ │ │ │ + vmla.f64 d3, d6, d4 │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ + vnmls.f64 d7, d6, d12 │ │ │ │ │ + vstr d8, [sp, #336] @ 0x150 │ │ │ │ │ + vsub.f64 d14, d2, d3 │ │ │ │ │ + vadd.f64 d0, d2, d3 │ │ │ │ │ + vadd.f64 d6, d7, d15 │ │ │ │ │ vsub.f64 d7, d15, d7 │ │ │ │ │ - vstr d0, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d14, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d6, [sp, #160] @ 0xa0 │ │ │ │ │ vstr d7, [sp, #168] @ 0xa8 │ │ │ │ │ vldr d7, [ip] │ │ │ │ │ - vstr d8, [sp, #344] @ 0x158 │ │ │ │ │ - vstr d12, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d0, [sp, #344] @ 0x158 │ │ │ │ │ vsub.f64 d9, d4, d7 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ vldr d7, [lr] │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + add.w r4, lr, r3 │ │ │ │ │ + str r1, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d3, [r4] │ │ │ │ │ + strd r5, r2, [sp, #64] @ 0x40 │ │ │ │ │ vadd.f64 d8, d5, d7 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - vldr d3, [r0] │ │ │ │ │ - vldr d12, [sp, #8] │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + str r4, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d10, [sp, #16] │ │ │ │ │ + vldr d13, [sp, #72] @ 0x48 │ │ │ │ │ vsub.f64 d0, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - vldr d10, [sp, #112] @ 0x70 │ │ │ │ │ - vmul.f64 d2, d12, d8 │ │ │ │ │ - vldr d13, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + vldr d15, [sp, #112] @ 0x70 │ │ │ │ │ + vmul.f64 d2, d10, d8 │ │ │ │ │ + vldr d11, [sp, #128] @ 0x80 │ │ │ │ │ vadd.f64 d1, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vldr d15, [sp, #128] @ 0x80 │ │ │ │ │ - vnmls.f64 d2, d13, d9 │ │ │ │ │ - vldr d11, [sp, #184] @ 0xb8 │ │ │ │ │ - str r1, [sp, #40] @ 0x28 │ │ │ │ │ - vmul.f64 d3, d10, d1 │ │ │ │ │ ldr r1, [sp, #500] @ 0x1f4 │ │ │ │ │ - str r5, [sp, #60] @ 0x3c │ │ │ │ │ - str r0, [sp, #376] @ 0x178 │ │ │ │ │ - lsls r2, r1, #3 │ │ │ │ │ - vnmls.f64 d3, d15, d0 │ │ │ │ │ - add.w r0, sl, r2 │ │ │ │ │ - adds r5, r4, r2 │ │ │ │ │ - add.w r1, r9, r2 │ │ │ │ │ - str r0, [sp, #8] │ │ │ │ │ - add r2, fp │ │ │ │ │ - vadd.f64 d14, d2, d3 │ │ │ │ │ + vnmls.f64 d2, d13, d9 │ │ │ │ │ + mov.w r2, r1, lsl #3 │ │ │ │ │ + vmul.f64 d3, d15, d1 │ │ │ │ │ + add.w r4, sl, r2 │ │ │ │ │ + add.w r5, r9, r2 │ │ │ │ │ + mov r1, r4 │ │ │ │ │ + mov r7, r5 │ │ │ │ │ + vnmls.f64 d3, d11, d0 │ │ │ │ │ + vadd.f64 d12, d2, d3 │ │ │ │ │ vsub.f64 d3, d2, d3 │ │ │ │ │ + vldr d2, [sp, #80] @ 0x50 │ │ │ │ │ + vmul.f64 d2, d2, d5 │ │ │ │ │ + vstr d12, [sp, #176] @ 0xb0 │ │ │ │ │ vstr d3, [sp, #352] @ 0x160 │ │ │ │ │ - vldr d3, [sp, #72] @ 0x48 │ │ │ │ │ - vstr d14, [sp, #176] @ 0xb0 │ │ │ │ │ - vmul.f64 d2, d3, d5 │ │ │ │ │ - vldr d3, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d3, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d12, [sp, #184] @ 0xb8 │ │ │ │ │ vnmls.f64 d2, d3, d4 │ │ │ │ │ - vldr d3, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d3, [sp, #88] @ 0x58 │ │ │ │ │ vmul.f64 d3, d3, d7 │ │ │ │ │ - vnmls.f64 d3, d11, d6 │ │ │ │ │ + vnmls.f64 d3, d12, d6 │ │ │ │ │ vadd.f64 d14, d2, d3 │ │ │ │ │ - vsub.f64 d2, d2, d3 │ │ │ │ │ - vldr d3, [sp, #72] @ 0x48 │ │ │ │ │ - vstr d2, [sp, #192] @ 0xc0 │ │ │ │ │ - vmul.f64 d4, d3, d4 │ │ │ │ │ - vldr d2, [sp, #88] @ 0x58 │ │ │ │ │ + vsub.f64 d3, d2, d3 │ │ │ │ │ + vldr d2, [sp, #80] @ 0x50 │ │ │ │ │ + vmul.f64 d4, d2, d4 │ │ │ │ │ + vldr d2, [sp, #96] @ 0x60 │ │ │ │ │ vstr d14, [sp, #184] @ 0xb8 │ │ │ │ │ + vstr d3, [sp, #192] @ 0xc0 │ │ │ │ │ vmla.f64 d4, d2, d5 │ │ │ │ │ - vldr d5, [sp, #80] @ 0x50 │ │ │ │ │ - vmul.f64 d6, d5, d6 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - vmla.f64 d6, d11, d7 │ │ │ │ │ - vmul.f64 d7, d12, d9 │ │ │ │ │ + vldr d2, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + add.w r5, fp, r2 │ │ │ │ │ + vmul.f64 d6, d2, d6 │ │ │ │ │ + vmla.f64 d6, d12, d7 │ │ │ │ │ + vmul.f64 d7, d10, d9 │ │ │ │ │ vmla.f64 d7, d13, d8 │ │ │ │ │ - vadd.f64 d3, d4, d6 │ │ │ │ │ - vsub.f64 d4, d6, d4 │ │ │ │ │ - vmul.f64 d6, d10, d0 │ │ │ │ │ - vmla.f64 d6, d15, d1 │ │ │ │ │ - vstr d4, [sp, #208] @ 0xd0 │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ - add r0, r3 │ │ │ │ │ - vstr d3, [sp, #200] @ 0xc8 │ │ │ │ │ - str r0, [sp, #72] @ 0x48 │ │ │ │ │ - vadd.f64 d12, d7, d6 │ │ │ │ │ - vsub.f64 d13, d7, d6 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - vstr d12, [sp, #216] @ 0xd8 │ │ │ │ │ + vadd.f64 d2, d4, d6 │ │ │ │ │ + vsub.f64 d6, d6, d4 │ │ │ │ │ + vstr d2, [sp, #200] @ 0xc8 │ │ │ │ │ + vstr d6, [sp, #208] @ 0xd0 │ │ │ │ │ + vmul.f64 d6, d15, d0 │ │ │ │ │ + vmla.f64 d6, d11, d1 │ │ │ │ │ + vsub.f64 d4, d7, d6 │ │ │ │ │ + vadd.f64 d15, d7, d6 │ │ │ │ │ + vstr d15, [sp, #216] @ 0xd8 │ │ │ │ │ + vstr d4, [sp, #360] @ 0x168 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + add.w r4, r0, r2 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ vsub.f64 d8, d4, d7 │ │ │ │ │ - vstr d13, [sp, #360] @ 0x168 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - adds r0, r5, r3 │ │ │ │ │ - str r1, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + str r1, [sp, #16] │ │ │ │ │ add r1, r3 │ │ │ │ │ + vldr d14, [sp, #8] │ │ │ │ │ + str r7, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + str r1, [sp, #80] @ 0x50 │ │ │ │ │ + add.w r1, r4, r3 │ │ │ │ │ vadd.f64 d0, d5, d7 │ │ │ │ │ - add r3, r2 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - vldr d10, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d10, [sp, #104] @ 0x68 │ │ │ │ │ + str r1, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + mov r1, r7 │ │ │ │ │ + add r1, r3 │ │ │ │ │ + add r3, r5 │ │ │ │ │ + vldr d11, [sp, #120] @ 0x78 │ │ │ │ │ + str r1, [sp, #96] @ 0x60 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ + vmul.f64 d9, d14, d0 │ │ │ │ │ vsub.f64 d1, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - vmul.f64 d9, d10, d0 │ │ │ │ │ - vldr d13, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d12, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d12, [sp, #240] @ 0xf0 │ │ │ │ │ + ldr r7, [sp, #500] @ 0x1f4 │ │ │ │ │ vadd.f64 d2, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ vldr d3, [sp] │ │ │ │ │ - vldr d11, [sp, #240] @ 0xf0 │ │ │ │ │ - str r1, [sp, #88] @ 0x58 │ │ │ │ │ + sub.w r2, r2, r7 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ vnmls.f64 d9, d3, d8 │ │ │ │ │ - vmul.f64 d3, d13, d2 │ │ │ │ │ - ldr r1, [sp, #500] @ 0x1f4 │ │ │ │ │ - str r0, [sp, #80] @ 0x50 │ │ │ │ │ - vnmls.f64 d3, d12, d1 │ │ │ │ │ - mul.w r0, r7, r1 │ │ │ │ │ - add.w r1, sl, r0 │ │ │ │ │ - add.w r7, r9, r0 │ │ │ │ │ - str r7, [sp, #104] @ 0x68 │ │ │ │ │ - vadd.f64 d15, d9, d3 │ │ │ │ │ + vmul.f64 d3, d11, d2 │ │ │ │ │ + add.w r1, sl, r2 │ │ │ │ │ + add.w r7, r9, r2 │ │ │ │ │ + vnmls.f64 d3, d10, d1 │ │ │ │ │ + vadd.f64 d13, d9, d3 │ │ │ │ │ vsub.f64 d9, d9, d3 │ │ │ │ │ - vmul.f64 d3, d11, d7 │ │ │ │ │ + vmul.f64 d3, d12, d7 │ │ │ │ │ + vstr d13, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d13, [r8, #-104] @ 0xffffff98 │ │ │ │ │ vstr d9, [sp, #232] @ 0xe8 │ │ │ │ │ - vldr d9, [r8, #-104] @ 0xffffff98 │ │ │ │ │ - vstr d15, [sp, #224] @ 0xe0 │ │ │ │ │ - vldr d15, [r8, #-112] @ 0xffffff90 │ │ │ │ │ - vmul.f64 d9, d9, d5 │ │ │ │ │ - vnmls.f64 d9, d15, d4 │ │ │ │ │ - vldr d15, [sp, #248] @ 0xf8 │ │ │ │ │ - vnmls.f64 d3, d15, d6 │ │ │ │ │ - vmul.f64 d6, d11, d6 │ │ │ │ │ - vmla.f64 d6, d15, d7 │ │ │ │ │ - vmul.f64 d7, d10, d8 │ │ │ │ │ - vadd.f64 d14, d9, d3 │ │ │ │ │ + vmul.f64 d9, d13, d5 │ │ │ │ │ + vldr d13, [r8, #-112] @ 0xffffff90 │ │ │ │ │ + vnmls.f64 d9, d13, d4 │ │ │ │ │ + vldr d13, [sp, #248] @ 0xf8 │ │ │ │ │ + vnmls.f64 d3, d13, d6 │ │ │ │ │ + vmul.f64 d6, d12, d6 │ │ │ │ │ + vmla.f64 d6, d13, d7 │ │ │ │ │ + vmul.f64 d7, d14, d8 │ │ │ │ │ + vadd.f64 d15, d9, d3 │ │ │ │ │ vsub.f64 d9, d9, d3 │ │ │ │ │ - vstr d9, [sp, #368] @ 0x170 │ │ │ │ │ - vldr d9, [r8, #-104] @ 0xffffff98 │ │ │ │ │ - vstr d14, [sp, #240] @ 0xf0 │ │ │ │ │ - vmul.f64 d4, d9, d4 │ │ │ │ │ - vldr d9, [r8, #-112] @ 0xffffff90 │ │ │ │ │ - vmla.f64 d4, d9, d5 │ │ │ │ │ - vadd.f64 d15, d4, d6 │ │ │ │ │ - vsub.f64 d4, d6, d4 │ │ │ │ │ - vmul.f64 d6, d13, d1 │ │ │ │ │ - vmla.f64 d6, d12, d2 │ │ │ │ │ - vstr d4, [sp, #256] @ 0x100 │ │ │ │ │ - vldr d4, [sp] │ │ │ │ │ + vldr d3, [sp] │ │ │ │ │ str r1, [sp, #0] │ │ │ │ │ - vstr d15, [sp, #248] @ 0xf8 │ │ │ │ │ - vmla.f64 d7, d4, d0 │ │ │ │ │ + vstr d15, [sp, #240] @ 0xf0 │ │ │ │ │ + vmla.f64 d7, d3, d0 │ │ │ │ │ + vldr d15, [r8, #-104] @ 0xffffff98 │ │ │ │ │ + vstr d9, [sp, #368] @ 0x170 │ │ │ │ │ + vmul.f64 d4, d15, d4 │ │ │ │ │ + vldr d15, [r8, #-112] @ 0xffffff90 │ │ │ │ │ + vmla.f64 d4, d15, d5 │ │ │ │ │ + vadd.f64 d12, d4, d6 │ │ │ │ │ + vsub.f64 d13, d6, d4 │ │ │ │ │ vldr d4, [r1] │ │ │ │ │ - adds r1, r4, r0 │ │ │ │ │ - str r1, [sp, #96] @ 0x60 │ │ │ │ │ - add r0, fp │ │ │ │ │ - vadd.f64 d13, d7, d6 │ │ │ │ │ + vmul.f64 d6, d11, d1 │ │ │ │ │ + add.w r1, r0, r2 │ │ │ │ │ + add r2, fp │ │ │ │ │ + str r1, [sp, #8] │ │ │ │ │ + vmla.f64 d6, d10, d2 │ │ │ │ │ + vstr d12, [sp, #248] @ 0xf8 │ │ │ │ │ + vstr d13, [sp, #256] @ 0x100 │ │ │ │ │ + vadd.f64 d1, d7, d6 │ │ │ │ │ vsub.f64 d10, d7, d6 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - vstr d13, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d1, [sp, #264] @ 0x108 │ │ │ │ │ vsub.f64 d8, d4, d7 │ │ │ │ │ - vstr d10, [sp, #272] @ 0x110 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ + vstr d10, [sp, #272] @ 0x110 │ │ │ │ │ + str r7, [sp, #104] @ 0x68 │ │ │ │ │ vldr d5, [r7] │ │ │ │ │ - movs r7, #24 │ │ │ │ │ - ldr r1, [sp, #500] @ 0x1f4 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - vldr d13, [sp, #288] @ 0x120 │ │ │ │ │ - vldr d15, [sp, #296] @ 0x128 │ │ │ │ │ - mul.w r1, r7, r1 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + ldr r7, [sp, #500] @ 0x1f4 │ │ │ │ │ + vldr d11, [sp, #280] @ 0x118 │ │ │ │ │ vadd.f64 d0, d5, d7 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ - vldr d11, [sp, #280] @ 0x118 │ │ │ │ │ - add.w r7, sl, r1 │ │ │ │ │ - str r7, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d13, [sp, #288] @ 0x120 │ │ │ │ │ + add.w r1, r7, r7, lsl #1 │ │ │ │ │ + vldr d15, [sp, #296] @ 0x128 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ vldr d14, [sp, #304] @ 0x130 │ │ │ │ │ + add.w r7, sl, r1 │ │ │ │ │ vldr d6, [r7] │ │ │ │ │ - adds r7, r4, r1 │ │ │ │ │ - str r7, [sp, #120] @ 0x78 │ │ │ │ │ + str r7, [sp, #112] @ 0x70 │ │ │ │ │ + add.w r7, r0, r1 │ │ │ │ │ vldr d7, [r7] │ │ │ │ │ + str r7, [sp, #120] @ 0x78 │ │ │ │ │ add.w r7, r9, r1 │ │ │ │ │ add r1, fp │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ str r7, [sp, #128] @ 0x80 │ │ │ │ │ vsub.f64 d1, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ vldr d7, [r7] │ │ │ │ │ vadd.f64 d2, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ vldr d3, [sp, #136] @ 0x88 │ │ │ │ │ vmul.f64 d9, d3, d0 │ │ │ │ │ vmul.f64 d3, d13, d2 │ │ │ │ │ vnmls.f64 d9, d15, d8 │ │ │ │ │ vnmls.f64 d3, d11, d1 │ │ │ │ │ vadd.f64 d10, d9, d3 │ │ │ │ │ vsub.f64 d12, d9, d3 │ │ │ │ │ - vldr d9, [r8, #-72] @ 0xffffffb8 │ │ │ │ │ vmul.f64 d3, d14, d7 │ │ │ │ │ - vmul.f64 d9, d9, d5 │ │ │ │ │ vstr d10, [sp, #280] @ 0x118 │ │ │ │ │ - vldr d10, [r8, #-80] @ 0xffffffb0 │ │ │ │ │ + vldr d10, [r8, #-72] @ 0xffffffb8 │ │ │ │ │ vstr d12, [sp, #296] @ 0x128 │ │ │ │ │ + vmul.f64 d9, d10, d5 │ │ │ │ │ + vldr d10, [r8, #-80] @ 0xffffffb0 │ │ │ │ │ vnmls.f64 d9, d10, d4 │ │ │ │ │ vldr d10, [sp, #312] @ 0x138 │ │ │ │ │ vnmls.f64 d3, d10, d6 │ │ │ │ │ vmul.f64 d6, d14, d6 │ │ │ │ │ vmla.f64 d6, d10, d7 │ │ │ │ │ vadd.f64 d12, d9, d3 │ │ │ │ │ vsub.f64 d9, d9, d3 │ │ │ │ │ vldr d3, [r8, #-72] @ 0xffffffb8 │ │ │ │ │ vmul.f64 d4, d3, d4 │ │ │ │ │ vldr d3, [r8, #-80] @ 0xffffffb0 │ │ │ │ │ vmla.f64 d4, d3, d5 │ │ │ │ │ vldr d3, [sp, #136] @ 0x88 │ │ │ │ │ vsub.f64 d7, d6, d4 │ │ │ │ │ vadd.f64 d10, d4, d6 │ │ │ │ │ - vmul.f64 d6, d13, d1 │ │ │ │ │ vldr d4, [sp, #160] @ 0xa0 │ │ │ │ │ - vmla.f64 d6, d11, d2 │ │ │ │ │ - vldr d11, [sp, #320] @ 0x140 │ │ │ │ │ - vldr d2, [sp, #176] @ 0xb0 │ │ │ │ │ + vmul.f64 d6, d13, d1 │ │ │ │ │ vmov.f64 d13, #96 @ 0x3f000000 0.5 │ │ │ │ │ + vldr d1, [sp, #224] @ 0xe0 │ │ │ │ │ vstr d7, [sp, #288] @ 0x120 │ │ │ │ │ vmul.f64 d7, d3, d8 │ │ │ │ │ + vmla.f64 d6, d11, d2 │ │ │ │ │ + vldr d2, [sp, #176] @ 0xb0 │ │ │ │ │ + vldr d11, [sp, #320] @ 0x140 │ │ │ │ │ vmla.f64 d7, d15, d0 │ │ │ │ │ - vldr d1, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d8, [sp, #240] @ 0xf0 │ │ │ │ │ vsub.f64 d15, d7, d6 │ │ │ │ │ vadd.f64 d3, d7, d6 │ │ │ │ │ vldr d7, [sp, #280] @ 0x118 │ │ │ │ │ - vldr d6, [sp, #224] @ 0xe0 │ │ │ │ │ - vadd.f64 d6, d6, d7 │ │ │ │ │ + vadd.f64 d6, d1, d7 │ │ │ │ │ vadd.f64 d7, d11, d2 │ │ │ │ │ - vadd.f64 d2, d8, d12 │ │ │ │ │ - vadd.f64 d5, d6, d7 │ │ │ │ │ + vldr d1, [sp, #184] @ 0xb8 │ │ │ │ │ + vadd.f64 d0, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d4, d1 │ │ │ │ │ - vmov.f64 d14, d5 │ │ │ │ │ + vmov.f64 d14, d0 │ │ │ │ │ + vldr d0, [sp, #240] @ 0xf0 │ │ │ │ │ + vadd.f64 d2, d0, d12 │ │ │ │ │ vsub.f64 d0, d2, d6 │ │ │ │ │ vadd.f64 d2, d2, d6 │ │ │ │ │ vldr d6, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d8, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d5, [sp, #200] @ 0xc8 │ │ │ │ │ + ldr r7, [sp, #8] │ │ │ │ │ + vldr d8, [sp, #216] @ 0xd8 │ │ │ │ │ + vsub.f64 d6, d6, d5 │ │ │ │ │ vldr d5, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d1, [sp, #216] @ 0xd8 │ │ │ │ │ - vsub.f64 d6, d6, d8 │ │ │ │ │ - vldr d8, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d1, [sp, #264] @ 0x108 │ │ │ │ │ vadd.f64 d5, d5, d10 │ │ │ │ │ - ldr r7, [sp, #96] @ 0x60 │ │ │ │ │ + vadd.f64 d1, d1, d3 │ │ │ │ │ vsub.f64 d4, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vldr d5, [sp, #144] @ 0x90 │ │ │ │ │ - vadd.f64 d5, d5, d1 │ │ │ │ │ - vadd.f64 d1, d8, d3 │ │ │ │ │ + vadd.f64 d5, d5, d8 │ │ │ │ │ vsub.f64 d8, d5, d1 │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ vadd.f64 d1, d14, d4 │ │ │ │ │ vsub.f64 d4, d4, d14 │ │ │ │ │ vmul.f64 d1, d1, d13 │ │ │ │ │ vmul.f64 d4, d4, d13 │ │ │ │ │ vstr d1, [sl] │ │ │ │ │ vadd.f64 d1, d2, d5 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ vldr d2, [sp, #176] @ 0xb0 │ │ │ │ │ vmul.f64 d1, d1, d13 │ │ │ │ │ vmul.f64 d5, d5, d13 │ │ │ │ │ vstr d1, [r9] │ │ │ │ │ - vmov.f64 d1, d13 │ │ │ │ │ vstr d4, [r7] │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ vsub.f64 d5, d8, d6 │ │ │ │ │ vadd.f64 d6, d6, d8 │ │ │ │ │ + ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d1, [sp, #264] @ 0x108 │ │ │ │ │ ldr r7, [sp, #120] @ 0x78 │ │ │ │ │ - ldr r0, [sp, #24] │ │ │ │ │ - vldr d4, [sp, #160] @ 0xa0 │ │ │ │ │ vmul.f64 d5, d5, d13 │ │ │ │ │ vmul.f64 d6, d6, d13 │ │ │ │ │ + vldr d4, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d8, [sp, #216] @ 0xd8 │ │ │ │ │ + vsub.f64 d3, d3, d1 │ │ │ │ │ + vldr d1, [sp, #184] @ 0xb8 │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ vsub.f64 d5, d0, d7 │ │ │ │ │ vadd.f64 d7, d7, d0 │ │ │ │ │ - vldr d0, [sp, #264] @ 0x108 │ │ │ │ │ + vsub.f64 d1, d4, d1 │ │ │ │ │ vmul.f64 d5, d5, d13 │ │ │ │ │ - vsub.f64 d3, d3, d0 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ vsub.f64 d5, d11, d2 │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ vmov.f64 d11, d13 │ │ │ │ │ - ldr r0, [sp, #16] │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + ldr r2, [sp, #24] │ │ │ │ │ vldr d6, [sp, #144] @ 0x90 │ │ │ │ │ vadd.f64 d2, d3, d5 │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ - vldr d3, [sp, #216] @ 0xd8 │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ - vsub.f64 d7, d6, d3 │ │ │ │ │ - vldr d3, [sp, #224] @ 0xe0 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + vsub.f64 d7, d6, d8 │ │ │ │ │ + vldr d8, [sp, #224] @ 0xe0 │ │ │ │ │ vldr d6, [sp, #280] @ 0x118 │ │ │ │ │ vmul.f64 d2, d2, d13 │ │ │ │ │ vmul.f64 d5, d5, d13 │ │ │ │ │ - vsub.f64 d13, d3, d6 │ │ │ │ │ + vsub.f64 d13, d8, d6 │ │ │ │ │ vldr d6, [sp, #152] @ 0x98 │ │ │ │ │ vsub.f64 d3, d7, d13 │ │ │ │ │ vadd.f64 d7, d7, d13 │ │ │ │ │ vldr d13, [sp, #240] @ 0xf0 │ │ │ │ │ vsub.f64 d12, d12, d13 │ │ │ │ │ vldr d13, [sp, #248] @ 0xf8 │ │ │ │ │ - vmul.f64 d3, d3, d1 │ │ │ │ │ - vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [sp, #184] @ 0xb8 │ │ │ │ │ + vmul.f64 d7, d7, d11 │ │ │ │ │ + vmul.f64 d3, d3, d11 │ │ │ │ │ vsub.f64 d10, d13, d10 │ │ │ │ │ - vsub.f64 d1, d4, d1 │ │ │ │ │ vadd.f64 d0, d12, d10 │ │ │ │ │ vsub.f64 d12, d12, d10 │ │ │ │ │ vldr d10, [sp, #200] @ 0xc8 │ │ │ │ │ vadd.f64 d6, d6, d10 │ │ │ │ │ - vldr d10, [pc, #712] @ 9b0 │ │ │ │ │ + vldr d10, [pc, #732] @ a00 │ │ │ │ │ vsub.f64 d4, d6, d1 │ │ │ │ │ vadd.f64 d6, d6, d1 │ │ │ │ │ vadd.f64 d1, d0, d4 │ │ │ │ │ vsub.f64 d4, d4, d0 │ │ │ │ │ vmul.f64 d1, d1, d10 │ │ │ │ │ vmul.f64 d4, d4, d10 │ │ │ │ │ vadd.f64 d8, d2, d1 │ │ │ │ │ vsub.f64 d1, d1, d2 │ │ │ │ │ vadd.f64 d2, d12, d6 │ │ │ │ │ vsub.f64 d12, d12, d6 │ │ │ │ │ + vmov.f64 d6, d10 │ │ │ │ │ vstr d8, [r6] │ │ │ │ │ - vmov.f64 d8, d10 │ │ │ │ │ vmul.f64 d2, d2, d10 │ │ │ │ │ - ldr r6, [sp, #80] @ 0x50 │ │ │ │ │ + ldr r6, [sp, #88] @ 0x58 │ │ │ │ │ vmul.f64 d12, d12, d10 │ │ │ │ │ + vldr d8, [pc, #680] @ a08 │ │ │ │ │ vstr d1, [r6] │ │ │ │ │ vsub.f64 d1, d7, d2 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ - vmov.f64 d2, d10 │ │ │ │ │ + vmov.f64 d2, d6 │ │ │ │ │ vstr d1, [r3] │ │ │ │ │ - ldr r1, [sp, #40] @ 0x28 │ │ │ │ │ + ldr r1, [sp, #48] @ 0x30 │ │ │ │ │ ldr r3, [sp, #60] @ 0x3c │ │ │ │ │ - vldr d1, [sp, #360] @ 0x168 │ │ │ │ │ - vldr d14, [sp, #296] @ 0x128 │ │ │ │ │ + ldr r2, [sp, #68] @ 0x44 │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ vsub.f64 d7, d3, d4 │ │ │ │ │ vadd.f64 d3, d3, d4 │ │ │ │ │ - vldr d0, [sp, #272] @ 0x110 │ │ │ │ │ - vldr d6, [sp, #192] @ 0xc0 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ + vldr d0, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d4, [sp, #360] @ 0x168 │ │ │ │ │ + vldr d14, [sp, #296] @ 0x128 │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ vadd.f64 d7, d5, d12 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ vsub.f64 d12, d12, d5 │ │ │ │ │ - ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ + vldr d3, [sp, #192] @ 0xc0 │ │ │ │ │ vldr d5, [sp, #352] @ 0x160 │ │ │ │ │ - vldr d3, [sp, #208] @ 0xd0 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vldr d7, [sp, #328] @ 0x148 │ │ │ │ │ - vstr d12, [r5] │ │ │ │ │ - vsub.f64 d13, d7, d1 │ │ │ │ │ - vadd.f64 d12, d7, d1 │ │ │ │ │ + vstr d12, [r4] │ │ │ │ │ + vsub.f64 d13, d7, d4 │ │ │ │ │ + vadd.f64 d12, d7, d4 │ │ │ │ │ + vldr d4, [sp, #272] @ 0x110 │ │ │ │ │ vldr d7, [sp, #336] @ 0x150 │ │ │ │ │ + vmul.f64 d13, d13, d11 │ │ │ │ │ + vmul.f64 d12, d12, d11 │ │ │ │ │ vsub.f64 d10, d7, d5 │ │ │ │ │ vadd.f64 d1, d7, d5 │ │ │ │ │ vldr d5, [sp, #232] @ 0xe8 │ │ │ │ │ vadd.f64 d7, d14, d15 │ │ │ │ │ - vmul.f64 d13, d13, d11 │ │ │ │ │ - vmul.f64 d12, d12, d11 │ │ │ │ │ - vsub.f64 d5, d5, d0 │ │ │ │ │ + vsub.f64 d5, d5, d4 │ │ │ │ │ vmul.f64 d1, d1, d11 │ │ │ │ │ - vldr d0, [pc, #524] @ 9b8 │ │ │ │ │ vmul.f64 d10, d10, d11 │ │ │ │ │ vldr d11, [sp, #344] @ 0x158 │ │ │ │ │ vadd.f64 d4, d5, d7 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ vldr d7, [sp, #168] @ 0xa8 │ │ │ │ │ - vadd.f64 d6, d11, d6 │ │ │ │ │ - vsub.f64 d7, d7, d3 │ │ │ │ │ - vmul.f64 d5, d5, d8 │ │ │ │ │ - vmul.f64 d4, d4, d8 │ │ │ │ │ - vldr d8, [pc, #492] @ 9c0 │ │ │ │ │ + vsub.f64 d7, d7, d0 │ │ │ │ │ + vldr d0, [pc, #524] @ a10 │ │ │ │ │ + vmul.f64 d5, d5, d6 │ │ │ │ │ + vmul.f64 d4, d4, d6 │ │ │ │ │ + vadd.f64 d6, d11, d3 │ │ │ │ │ vmul.f64 d3, d7, d0 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ - vmla.f64 d7, d6, d0 │ │ │ │ │ vnmls.f64 d3, d6, d8 │ │ │ │ │ + vldr d8, [sp, #272] @ 0x110 │ │ │ │ │ + vmla.f64 d7, d6, d0 │ │ │ │ │ vldr d6, [sp, #232] @ 0xe8 │ │ │ │ │ - vmov.f64 d8, d0 │ │ │ │ │ - vstr d7, [sp, #40] @ 0x28 │ │ │ │ │ vstr d3, [sp, #24] │ │ │ │ │ - vldr d3, [sp, #272] @ 0x110 │ │ │ │ │ - vadd.f64 d3, d6, d3 │ │ │ │ │ + vadd.f64 d3, d6, d8 │ │ │ │ │ vsub.f64 d6, d15, d14 │ │ │ │ │ - vldr d14, [sp, #368] @ 0x170 │ │ │ │ │ vldr d15, [sp, #256] @ 0x100 │ │ │ │ │ + vmov.f64 d8, d0 │ │ │ │ │ + vstr d7, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d14, [sp, #368] @ 0x170 │ │ │ │ │ vadd.f64 d7, d3, d6 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ vldr d3, [sp, #288] @ 0x120 │ │ │ │ │ - vsub.f64 d3, d3, d14 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ + vsub.f64 d3, d3, d14 │ │ │ │ │ vadd.f64 d2, d15, d9 │ │ │ │ │ - vldr d15, [pc, #408] @ 9c0 │ │ │ │ │ + vldr d15, [pc, #420] @ a08 │ │ │ │ │ vmul.f64 d0, d3, d0 │ │ │ │ │ vmul.f64 d3, d3, d15 │ │ │ │ │ - vmla.f64 d0, d2, d15 │ │ │ │ │ vnmls.f64 d3, d2, d8 │ │ │ │ │ - vstr d0, [sp, #16] │ │ │ │ │ + vmla.f64 d0, d2, d15 │ │ │ │ │ + vstr d0, [sp, #8] │ │ │ │ │ vmov.f64 d0, d8 │ │ │ │ │ - vldr d8, [sp, #256] @ 0x100 │ │ │ │ │ vstr d3, [sp, #48] @ 0x30 │ │ │ │ │ - vsub.f64 d2, d9, d8 │ │ │ │ │ + vldr d8, [sp, #256] @ 0x100 │ │ │ │ │ vldr d3, [sp, #288] @ 0x120 │ │ │ │ │ + vsub.f64 d2, d9, d8 │ │ │ │ │ vmov.f64 d9, d15 │ │ │ │ │ vmov.f64 d8, d0 │ │ │ │ │ vadd.f64 d14, d14, d3 │ │ │ │ │ vmul.f64 d15, d14, d15 │ │ │ │ │ vmul.f64 d14, d14, d0 │ │ │ │ │ vmla.f64 d15, d2, d0 │ │ │ │ │ vnmls.f64 d14, d2, d9 │ │ │ │ │ vldr d2, [sp, #192] @ 0xc0 │ │ │ │ │ vsub.f64 d0, d11, d2 │ │ │ │ │ vldr d11, [sp, #168] @ 0xa8 │ │ │ │ │ vldr d2, [sp, #208] @ 0xd0 │ │ │ │ │ - ldr r0, [sp, #8] │ │ │ │ │ - ldr r2, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r1, [sp, #16] │ │ │ │ │ + ldr r5, [sp, #56] @ 0x38 │ │ │ │ │ vadd.f64 d3, d11, d2 │ │ │ │ │ vldr d11, [sp, #48] @ 0x30 │ │ │ │ │ - ldr r1, [sp, #64] @ 0x40 │ │ │ │ │ - ldr r3, [sp, #88] @ 0x58 │ │ │ │ │ - ldr r6, [sp, #36] @ 0x24 │ │ │ │ │ + ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ + ldr r4, [sp, #376] @ 0x178 │ │ │ │ │ vmul.f64 d2, d3, d9 │ │ │ │ │ vmul.f64 d3, d3, d8 │ │ │ │ │ - vmla.f64 d3, d0, d9 │ │ │ │ │ + ldr r2, [sp, #96] @ 0x60 │ │ │ │ │ ldr r7, [sp, #104] @ 0x68 │ │ │ │ │ vnmls.f64 d2, d0, d8 │ │ │ │ │ - vldr d0, [sp, #16] │ │ │ │ │ + vmla.f64 d3, d0, d9 │ │ │ │ │ + vldr d0, [sp, #8] │ │ │ │ │ vadd.f64 d8, d13, d4 │ │ │ │ │ vsub.f64 d4, d13, d4 │ │ │ │ │ vadd.f64 d0, d0, d2 │ │ │ │ │ vadd.f64 d9, d8, d0 │ │ │ │ │ vsub.f64 d0, d0, d8 │ │ │ │ │ vadd.f64 d8, d11, d3 │ │ │ │ │ - vstr d9, [r0] │ │ │ │ │ - vstr d0, [r2] │ │ │ │ │ + vstr d9, [r1] │ │ │ │ │ + vstr d0, [r3] │ │ │ │ │ vadd.f64 d0, d1, d7 │ │ │ │ │ - ldr r0, [sp, #376] @ 0x178 │ │ │ │ │ vsub.f64 d7, d1, d7 │ │ │ │ │ + ldr r1, [sp, #72] @ 0x48 │ │ │ │ │ + ldr r3, [sp, #80] @ 0x50 │ │ │ │ │ vsub.f64 d9, d0, d8 │ │ │ │ │ vadd.f64 d0, d0, d8 │ │ │ │ │ - vstr d9, [r0] │ │ │ │ │ + vstr d9, [r4] │ │ │ │ │ vstr d0, [r1] │ │ │ │ │ - vldr d0, [sp, #16] │ │ │ │ │ - ldr r0, [sp, #72] @ 0x48 │ │ │ │ │ - ldr r1, [sp, #32] │ │ │ │ │ + vldr d0, [sp, #8] │ │ │ │ │ + ldr r1, [sp, #36] @ 0x24 │ │ │ │ │ vsub.f64 d2, d2, d0 │ │ │ │ │ vsub.f64 d1, d7, d2 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ vldr d2, [sp, #24] │ │ │ │ │ vstr d1, [lr] │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d11, d3 │ │ │ │ │ - ldr r3, [sp, #112] @ 0x70 │ │ │ │ │ vldr d1, [sp, #40] @ 0x28 │ │ │ │ │ vadd.f64 d3, d4, d7 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ vadd.f64 d4, d12, d6 │ │ │ │ │ vsub.f64 d12, d12, d6 │ │ │ │ │ - vstr d3, [r0] │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ vstr d7, [ip] │ │ │ │ │ vadd.f64 d7, d2, d15 │ │ │ │ │ vsub.f64 d15, d2, d15 │ │ │ │ │ + ldr r3, [sp, #112] @ 0x70 │ │ │ │ │ vadd.f64 d3, d4, d7 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ vadd.f64 d4, d1, d14 │ │ │ │ │ vsub.f64 d14, d14, d1 │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ vadd.f64 d7, d10, d5 │ │ │ │ │ - ldr r3, [sp, #128] @ 0x80 │ │ │ │ │ vsub.f64 d10, d10, d5 │ │ │ │ │ ldr r1, [sp, #0] │ │ │ │ │ + ldr r3, [sp, #128] @ 0x80 │ │ │ │ │ vsub.f64 d3, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ vsub.f64 d5, d10, d15 │ │ │ │ │ vadd.f64 d10, d10, d15 │ │ │ │ │ - vstr d3, [r6] │ │ │ │ │ + vstr d3, [r5] │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vadd.f64 d7, d12, d14 │ │ │ │ │ - vstr d5, [fp] │ │ │ │ │ vsub.f64 d14, d14, d12 │ │ │ │ │ + vstr d5, [fp] │ │ │ │ │ vstr d10, [r7] │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ - ldr r3, [sp, #504] @ 0x1f8 │ │ │ │ │ - ldr r2, [sp, #500] @ 0x1f4 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + ldrd r2, r3, [sp, #500] @ 0x1f4 │ │ │ │ │ + vstr d14, [r0] │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str r3, [sp, #504] @ 0x1f8 │ │ │ │ │ ldr r3, [sp, #380] @ 0x17c │ │ │ │ │ - vstr d14, [r4] │ │ │ │ │ add r9, r3 │ │ │ │ │ add sl, r3 │ │ │ │ │ ldr r3, [sp, #384] @ 0x180 │ │ │ │ │ add fp, r3 │ │ │ │ │ - add r4, r3 │ │ │ │ │ + add r0, r3 │ │ │ │ │ ldr r3, [sp, #388] @ 0x184 │ │ │ │ │ - eors r2, r3 │ │ │ │ │ + eor.w r2, r2, r3 │ │ │ │ │ + ldr r3, [sp, #508] @ 0x1fc │ │ │ │ │ str r2, [sp, #500] @ 0x1f4 │ │ │ │ │ - ldrd r2, r3, [sp, #504] @ 0x1f8 │ │ │ │ │ + ldr r2, [sp, #504] @ 0x1f8 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 3e │ │ │ │ │ + bne.w 52 │ │ │ │ │ add sp, #396 @ 0x18c │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop.w │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fd6a09e │ │ │ │ │ - .word 0xcf328d46 │ │ │ │ │ - .word 0x3fdd906b │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fc87de2 │ │ │ │ │ - .word 0x000009ac │ │ │ │ │ + .word 0xcf328d46 │ │ │ │ │ + .word 0x3fdd906b │ │ │ │ │ + .word 0x000009e8 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ │ │ │ │ │ -000009d0 : │ │ │ │ │ +00000a20 : │ │ │ │ │ fftw_codelet_hc2cfdft2_16(): │ │ │ │ │ - ldr r2, [pc, #12] @ (9e0 ) │ │ │ │ │ - movs r3, #1 │ │ │ │ │ - ldr r1, [pc, #12] @ (9e4 ) │ │ │ │ │ + ldr r2, [pc, #12] @ (a30 ) │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + ldr r1, [pc, #12] @ (a34 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2c_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + .word 0x00000006 │ │ │ │ │ R_ARM_REL32 hc2cfdft2_16 │ │ │ ├── hc2cfdft2_20.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 4520 (bytes into file) │ │ │ │ │ + Start of section headers: 4560 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x11a8: │ │ │ │ │ +There are 14 section headers, starting at offset 0x11d0: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000e58 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0010f0 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000e8c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000e8c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000e8c 00000d 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000e99 000014 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 000ead 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 001118 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000edd 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000edd 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000f10 000150 10 12 16 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 001060 000090 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 001130 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000e80 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 001118 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000eb4 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000eb4 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000eb4 00000d 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000ec1 000014 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000ed5 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 001140 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000f05 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000f05 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000f38 000150 10 12 16 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 001088 000090 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 001158 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 21 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 3646 FUNC LOCAL DEFAULT 1 hc2cfdft2_20 │ │ │ │ │ + 1: 00000001 3688 FUNC LOCAL DEFAULT 1 hc2cfdft2_20 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000058 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000070 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000d50 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000d58 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00000e50 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000060 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000078 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000d68 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000d70 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00000e78 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 20 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 13: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 14: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 15: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 18: 00000e41 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cfdft2_20 │ │ │ │ │ + 18: 00000e69 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cfdft2_20 │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2c_register │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hc2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x10f0 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x1118 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000068 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000006c 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000e50 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000e54 00000103 R_ARM_REL32 00000001 hc2cfdft2_20 │ │ │ │ │ -00000e4a 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ +00000070 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000074 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000e78 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000e7c 00000103 R_ARM_REL32 00000001 hc2cfdft2_20 │ │ │ │ │ +00000e74 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x1118 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x1140 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000a02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001402 R_ARM_ABS32 00000000 fftw_rdft_hc2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,996 +1,991 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hc2cfdft2_20(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r8, r0 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ mov r9, r1 │ │ │ │ │ mov sl, r2 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + mov fp, r3 │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub.w sp, sp, #580 @ 0x244 │ │ │ │ │ - mov fp, r3 │ │ │ │ │ - ldr r3, [pc, #84] @ (68 ) │ │ │ │ │ - mov r8, r0 │ │ │ │ │ - ldrd r2, r1, [sp, #688] @ 0x2b0 │ │ │ │ │ - add r3, pc │ │ │ │ │ - ldr r0, [sp, #684] @ 0x2ac │ │ │ │ │ + ldrd r0, r2, [sp, #684] @ 0x2ac │ │ │ │ │ + ldr r1, [sp, #692] @ 0x2b4 │ │ │ │ │ + ldr r3, [pc, #68] @ (70 ) │ │ │ │ │ cmp r2, r1 │ │ │ │ │ - bge.w e32 │ │ │ │ │ + add r3, pc │ │ │ │ │ + bge.w e4a │ │ │ │ │ ldr r2, [sp, #696] @ 0x2b8 │ │ │ │ │ - mov lr, r8 │ │ │ │ │ - vldr d13, [pc, #44] @ 58 │ │ │ │ │ - mov r8, r9 │ │ │ │ │ - vldr d11, [pc, #48] @ 60 │ │ │ │ │ - mov r9, sl │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ + vmov.f64 d15, #96 @ 0x3f000000 0.5 │ │ │ │ │ + vldr d13, [pc, #36] @ 60 │ │ │ │ │ + vldr d11, [pc, #40] @ 68 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ str r2, [sp, #564] @ 0x234 │ │ │ │ │ - negs r2, r2 │ │ │ │ │ + rsb r2, r2, #0 │ │ │ │ │ str r2, [sp, #568] @ 0x238 │ │ │ │ │ - ldr r2, [pc, #44] @ (6c ) │ │ │ │ │ - mov sl, fp │ │ │ │ │ - mov fp, r0 │ │ │ │ │ - vmov.f64 d15, #96 @ 0x3f000000 0.5 │ │ │ │ │ + ldr r2, [pc, #36] @ (74 ) │ │ │ │ │ ldr r3, [r3, r2] │ │ │ │ │ ldr r2, [sp, #688] @ 0x2b0 │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ str r3, [sp, #572] @ 0x23c │ │ │ │ │ ldr r3, [sp, #680] @ 0x2a8 │ │ │ │ │ add.w r7, r3, r2, lsl #6 │ │ │ │ │ - str r7, [sp, #0] │ │ │ │ │ - b.n 70 │ │ │ │ │ + b.n 78 │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fde6f0e │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fd2cf23 │ │ │ │ │ - .word 0x0000004a │ │ │ │ │ + .word 0x0000003e │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - ldr r3, [sp, #0] │ │ │ │ │ - movs r5, #56 @ 0x38 │ │ │ │ │ - movs r7, #40 @ 0x28 │ │ │ │ │ - vldr d10, [r3, #-64] @ 0xffffffc0 │ │ │ │ │ - vldr d8, [r3, #-56] @ 0xffffffc8 │ │ │ │ │ - vldr d6, [r3, #-48] @ 0xffffffd0 │ │ │ │ │ - vldr d3, [r3, #-40] @ 0xffffffd8 │ │ │ │ │ - vldr d12, [r3, #-24] @ 0xffffffe8 │ │ │ │ │ - vmul.f64 d5, d10, d6 │ │ │ │ │ - vmul.f64 d4, d8, d6 │ │ │ │ │ - vldr d6, [r3, #-40] @ 0xffffffd8 │ │ │ │ │ - vmul.f64 d3, d10, d3 │ │ │ │ │ - vmul.f64 d7, d8, d12 │ │ │ │ │ - vstr d8, [sp, #24] │ │ │ │ │ - vmul.f64 d1, d10, d12 │ │ │ │ │ - vmul.f64 d6, d8, d6 │ │ │ │ │ + vldr d10, [r7, #-64] @ 0xffffffc0 │ │ │ │ │ + mov.w r3, r0, lsl #4 │ │ │ │ │ + add.w r7, r7, #64 @ 0x40 │ │ │ │ │ + vldr d1, [r7, #-120] @ 0xffffff88 │ │ │ │ │ + add.w r2, r9, r3 │ │ │ │ │ + add.w r1, fp, r3 │ │ │ │ │ + add.w r4, r8, r3 │ │ │ │ │ + add.w r5, sl, r3 │ │ │ │ │ + vldr d7, [r7, #-112] @ 0xffffff90 │ │ │ │ │ + vldr d12, [r7, #-96] @ 0xffffffa0 │ │ │ │ │ + vmul.f64 d5, d10, d7 │ │ │ │ │ + vmul.f64 d4, d1, d7 │ │ │ │ │ + vldr d7, [r7, #-104] @ 0xffffff98 │ │ │ │ │ + vmul.f64 d8, d1, d12 │ │ │ │ │ + vmul.f64 d6, d1, d7 │ │ │ │ │ + vmul.f64 d3, d10, d7 │ │ │ │ │ + vldr d7, [r7, #-112] @ 0xffffff90 │ │ │ │ │ + vstr d8, [sp, #40] @ 0x28 │ │ │ │ │ + vsub.f64 d2, d5, d6 │ │ │ │ │ vadd.f64 d9, d4, d3 │ │ │ │ │ vsub.f64 d4, d3, d4 │ │ │ │ │ - vsub.f64 d2, d5, d6 │ │ │ │ │ vadd.f64 d3, d5, d6 │ │ │ │ │ - vldr d5, [r3, #-32] @ 0xffffffe0 │ │ │ │ │ - vldr d6, [r3, #-48] @ 0xffffffd0 │ │ │ │ │ - vstr d4, [sp, #32] │ │ │ │ │ - vmul.f64 d14, d10, d5 │ │ │ │ │ - vmul.f64 d8, d8, d5 │ │ │ │ │ - vstr d3, [sp, #8] │ │ │ │ │ - vmul.f64 d3, d6, d12 │ │ │ │ │ - vldr d6, [r3, #-40] @ 0xffffffd8 │ │ │ │ │ + vldr d6, [r7, #-88] @ 0xffffffa8 │ │ │ │ │ + vmov.f64 d5, d1 │ │ │ │ │ + vstr d3, [sp] │ │ │ │ │ + vmul.f64 d3, d7, d6 │ │ │ │ │ + vmul.f64 d14, d1, d6 │ │ │ │ │ + vldr d7, [r7, #-104] @ 0xffffff98 │ │ │ │ │ + vmul.f64 d1, d10, d6 │ │ │ │ │ + vstr d6, [sp, #8] │ │ │ │ │ vstr d5, [sp, #16] │ │ │ │ │ - vstr d14, [sp] │ │ │ │ │ - vldr d14, [r3, #-48] @ 0xffffffd0 │ │ │ │ │ - vmul.f64 d0, d6, d12 │ │ │ │ │ - vstr d8, [sp, #40] @ 0x28 │ │ │ │ │ - vmul.f64 d4, d6, d5 │ │ │ │ │ - vmul.f64 d8, d14, d5 │ │ │ │ │ - vldr d14, [sp] │ │ │ │ │ - vsub.f64 d5, d14, d7 │ │ │ │ │ - vadd.f64 d6, d0, d8 │ │ │ │ │ - vsub.f64 d0, d8, d0 │ │ │ │ │ + vstr d4, [sp, #24] │ │ │ │ │ + vmul.f64 d0, d7, d6 │ │ │ │ │ + vmul.f64 d7, d10, d12 │ │ │ │ │ + vmov.f64 d6, d7 │ │ │ │ │ + vldr d7, [r7, #-104] @ 0xffffff98 │ │ │ │ │ + vsub.f64 d5, d6, d14 │ │ │ │ │ + vstr d6, [sp, #32] │ │ │ │ │ + vmul.f64 d4, d7, d12 │ │ │ │ │ + vldr d7, [r7, #-112] @ 0xffffff90 │ │ │ │ │ vstr d5, [sp, #192] @ 0xc0 │ │ │ │ │ + vmul.f64 d8, d7, d12 │ │ │ │ │ + vldr d7, [sp, #40] @ 0x28 │ │ │ │ │ vadd.f64 d5, d3, d4 │ │ │ │ │ + vstr d5, [sp, #176] @ 0xb0 │ │ │ │ │ + vadd.f64 d5, d1, d7 │ │ │ │ │ + vsub.f64 d1, d1, d7 │ │ │ │ │ + vadd.f64 d6, d0, d8 │ │ │ │ │ + vsub.f64 d0, d8, d0 │ │ │ │ │ + vldr d7, [sp, #24] │ │ │ │ │ + vstr d1, [sp, #120] @ 0x78 │ │ │ │ │ + vsub.f64 d1, d3, d4 │ │ │ │ │ + vldr d3, [sp] │ │ │ │ │ vstr d6, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d6, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d0, [sp, #352] @ 0x160 │ │ │ │ │ - vsub.f64 d0, d3, d4 │ │ │ │ │ - vstr d5, [sp, #184] @ 0xb8 │ │ │ │ │ - vmul.f64 d4, d9, d12 │ │ │ │ │ - vadd.f64 d5, d1, d6 │ │ │ │ │ - vsub.f64 d8, d1, d6 │ │ │ │ │ - vadd.f64 d6, d7, d14 │ │ │ │ │ - vldr d3, [sp, #8] │ │ │ │ │ - vldr d14, [sp, #32] │ │ │ │ │ - vldr d7, [sp, #16] │ │ │ │ │ + vmul.f64 d6, d7, d12 │ │ │ │ │ + vldr d4, [sp, #32] │ │ │ │ │ + vstr d0, [sp, #184] @ 0xb8 │ │ │ │ │ + vstr d1, [sp, #144] @ 0x90 │ │ │ │ │ vstr d5, [sp, #200] @ 0xc8 │ │ │ │ │ - vmul.f64 d5, d3, d12 │ │ │ │ │ - vstr d6, [sp, #128] @ 0x80 │ │ │ │ │ - vmul.f64 d6, d14, d7 │ │ │ │ │ - vstr d8, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d0, [sp, #144] @ 0x90 │ │ │ │ │ + vadd.f64 d0, d14, d4 │ │ │ │ │ + vldr d14, [sp, #8] │ │ │ │ │ + vmul.f64 d5, d3, d14 │ │ │ │ │ + vstr d0, [sp, #128] @ 0x80 │ │ │ │ │ + vmul.f64 d4, d9, d14 │ │ │ │ │ vsub.f64 d8, d5, d6 │ │ │ │ │ vadd.f64 d0, d5, d6 │ │ │ │ │ - vmul.f64 d5, d3, d7 │ │ │ │ │ - vmul.f64 d6, d14, d12 │ │ │ │ │ - vmul.f64 d3, d2, d7 │ │ │ │ │ + vmul.f64 d5, d3, d12 │ │ │ │ │ + vmul.f64 d6, d7, d14 │ │ │ │ │ + vmul.f64 d3, d2, d12 │ │ │ │ │ vstr d8, [sp, #152] @ 0x98 │ │ │ │ │ vsub.f64 d1, d5, d6 │ │ │ │ │ vadd.f64 d6, d5, d6 │ │ │ │ │ - vmul.f64 d5, d2, d12 │ │ │ │ │ + vmul.f64 d5, d2, d14 │ │ │ │ │ vsub.f64 d8, d3, d4 │ │ │ │ │ vstr d1, [sp, #96] @ 0x60 │ │ │ │ │ vstr d6, [sp, #160] @ 0xa0 │ │ │ │ │ vadd.f64 d6, d3, d4 │ │ │ │ │ - vstr d8, [sp, #168] @ 0xa8 │ │ │ │ │ - vldr d8, [r3, #-8] │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ - vstr d6, [sp, #40] @ 0x28 │ │ │ │ │ - vmul.f64 d6, d9, d7 │ │ │ │ │ - vldr d3, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d6, [sp, #32] │ │ │ │ │ + vmul.f64 d6, d9, d12 │ │ │ │ │ + vstr d8, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d8, [r7, #-72] @ 0xffffffb8 │ │ │ │ │ + vldr d3, [sp, #32] │ │ │ │ │ vsub.f64 d1, d5, d6 │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ vmul.f64 d6, d9, d8 │ │ │ │ │ - vmov.f64 d7, d1 │ │ │ │ │ - vldr d1, [r3, #-16] │ │ │ │ │ - vstr d4, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d4, [sp, #8] │ │ │ │ │ + vmov.f64 d14, d1 │ │ │ │ │ + vldr d1, [r7, #-80] @ 0xffffffb0 │ │ │ │ │ + vstr d4, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d4, [sp] │ │ │ │ │ + vstr d14, [sp, #208] @ 0xd0 │ │ │ │ │ vmla.f64 d6, d2, d1 │ │ │ │ │ - vstr d7, [sp, #208] @ 0xd0 │ │ │ │ │ - vstr d6, [sp, #416] @ 0x1a0 │ │ │ │ │ - vmul.f64 d6, d7, d8 │ │ │ │ │ - vmov.f64 d5, d6 │ │ │ │ │ + vstr d6, [sp, #400] @ 0x190 │ │ │ │ │ vmul.f64 d6, d14, d8 │ │ │ │ │ - vmla.f64 d6, d4, d1 │ │ │ │ │ + vmov.f64 d5, d6 │ │ │ │ │ + vmul.f64 d6, d7, d8 │ │ │ │ │ vmla.f64 d5, d3, d1 │ │ │ │ │ - vstr d6, [sp, #368] @ 0x170 │ │ │ │ │ + vmla.f64 d6, d4, d1 │ │ │ │ │ + vstr d5, [sp, #72] @ 0x48 │ │ │ │ │ + vmov.f64 d5, d7 │ │ │ │ │ + vstr d6, [sp, #360] @ 0x168 │ │ │ │ │ vmul.f64 d6, d9, d1 │ │ │ │ │ - vstr d5, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d7, [sp, #16] │ │ │ │ │ vnmls.f64 d6, d2, d8 │ │ │ │ │ - vstr d6, [sp, #424] @ 0x1a8 │ │ │ │ │ - vmul.f64 d6, d14, d1 │ │ │ │ │ - vldr d14, [sp, #24] │ │ │ │ │ + vstr d6, [sp, #408] @ 0x198 │ │ │ │ │ + vmul.f64 d6, d5, d1 │ │ │ │ │ vmov.f64 d5, d6 │ │ │ │ │ - vmul.f64 d6, d14, d1 │ │ │ │ │ - vldr d14, [r3, #-40] @ 0xffffffd8 │ │ │ │ │ - vnmls.f64 d6, d10, d8 │ │ │ │ │ + vmul.f64 d6, d7, d1 │ │ │ │ │ + vldr d7, [r7, #-104] @ 0xffffff98 │ │ │ │ │ vnmls.f64 d5, d4, d8 │ │ │ │ │ - vstr d6, [sp, #328] @ 0x148 │ │ │ │ │ - vmul.f64 d6, d14, d1 │ │ │ │ │ - vldr d14, [r3, #-48] @ 0xffffffd0 │ │ │ │ │ - vstr d5, [sp, #376] @ 0x178 │ │ │ │ │ vmov.f64 d4, d6 │ │ │ │ │ vmul.f64 d6, d7, d1 │ │ │ │ │ - vldr d7, [sl] │ │ │ │ │ - vnmls.f64 d4, d14, d8 │ │ │ │ │ - vldr d14, [sp, #24] │ │ │ │ │ + vldr d7, [r7, #-112] @ 0xffffff90 │ │ │ │ │ + vnmls.f64 d4, d10, d8 │ │ │ │ │ + vnmls.f64 d6, d7, d8 │ │ │ │ │ + vldr d7, [sp, #16] │ │ │ │ │ + vstr d5, [sp, #368] @ 0x170 │ │ │ │ │ + vstr d4, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d6, [sp, #376] @ 0x178 │ │ │ │ │ + vmul.f64 d6, d14, d1 │ │ │ │ │ + vldr d14, [fp] │ │ │ │ │ vmov.f64 d5, d6 │ │ │ │ │ - vmul.f64 d6, d14, d8 │ │ │ │ │ - vldr d14, [r3, #-40] @ 0xffffffd8 │ │ │ │ │ + vmul.f64 d6, d7, d8 │ │ │ │ │ + vldr d7, [r7, #-104] @ 0xffffff98 │ │ │ │ │ vnmls.f64 d5, d3, d8 │ │ │ │ │ + vmov.f64 d4, d6 │ │ │ │ │ + vmul.f64 d6, d7, d8 │ │ │ │ │ + vldr d7, [r7, #-112] @ 0xffffff90 │ │ │ │ │ + vmla.f64 d4, d10, d1 │ │ │ │ │ vmov.f64 d3, d6 │ │ │ │ │ - vmul.f64 d6, d14, d8 │ │ │ │ │ - vmla.f64 d3, d10, d1 │ │ │ │ │ - vldr d14, [r3, #-48] @ 0xffffffd0 │ │ │ │ │ - vstr d4, [sp, #384] @ 0x180 │ │ │ │ │ - mov.w r3, fp, lsl #4 │ │ │ │ │ - vldr d4, [r9] │ │ │ │ │ - add.w r2, r8, r3 │ │ │ │ │ - add.w r1, sl, r3 │ │ │ │ │ - add.w r0, lr, r3 │ │ │ │ │ - add.w r4, r9, r3 │ │ │ │ │ - vstr d5, [sp, #88] @ 0x58 │ │ │ │ │ - vstr d3, [sp, #336] @ 0x150 │ │ │ │ │ - vmov.f64 d3, d6 │ │ │ │ │ - vmla.f64 d3, d14, d1 │ │ │ │ │ - vldr d14, [r8] │ │ │ │ │ - vstr d3, [sp, #392] @ 0x188 │ │ │ │ │ - vldr d3, [sl] │ │ │ │ │ - vadd.f64 d5, d14, d3 │ │ │ │ │ - vsub.f64 d14, d14, d7 │ │ │ │ │ - vldr d3, [lr] │ │ │ │ │ - vstr d14, [sp, #400] @ 0x190 │ │ │ │ │ - vadd.f64 d14, d3, d4 │ │ │ │ │ + vstr d5, [sp, #80] @ 0x50 │ │ │ │ │ + vmla.f64 d3, d7, d1 │ │ │ │ │ + vldr d7, [r9] │ │ │ │ │ + vstr d4, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d4, [fp] │ │ │ │ │ + vstr d3, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d3, [r8] │ │ │ │ │ + vadd.f64 d5, d7, d4 │ │ │ │ │ + vsub.f64 d7, d7, d14 │ │ │ │ │ + vldr d4, [sl] │ │ │ │ │ + vstr d7, [sp, #392] @ 0x188 │ │ │ │ │ + vadd.f64 d7, d3, d4 │ │ │ │ │ vsub.f64 d6, d3, d4 │ │ │ │ │ - vstr d14, [sp, #408] @ 0x198 │ │ │ │ │ - vldr d14, [sp, #24] │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ - str r2, [sp, #24] │ │ │ │ │ - vmul.f64 d4, d14, d6 │ │ │ │ │ - vmul.f64 d7, d14, d5 │ │ │ │ │ - vmla.f64 d7, d10, d6 │ │ │ │ │ - str r4, [sp, #60] @ 0x3c │ │ │ │ │ - str r0, [sp, #56] @ 0x38 │ │ │ │ │ - str r1, [sp, #52] @ 0x34 │ │ │ │ │ + vstr d7, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d7, [sp, #16] │ │ │ │ │ + vmul.f64 d4, d7, d6 │ │ │ │ │ + vmul.f64 d7, d7, d5 │ │ │ │ │ vnmls.f64 d4, d10, d5 │ │ │ │ │ + vmla.f64 d7, d10, d6 │ │ │ │ │ + vstr d4, [sp, #424] @ 0x1a8 │ │ │ │ │ + vstr d7, [sp, #432] @ 0x1b0 │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ + str r2, [sp, #16] │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + str r1, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + strd r4, r5, [sp, #52] @ 0x34 │ │ │ │ │ vldr d10, [r2] │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - mul.w r2, r5, fp │ │ │ │ │ - vadd.f64 d14, d10, d3 │ │ │ │ │ - add.w r5, r8, r2 │ │ │ │ │ - add.w r6, sl, r2 │ │ │ │ │ - add.w r4, lr, r2 │ │ │ │ │ - vstr d7, [sp, #440] @ 0x1b8 │ │ │ │ │ - vsub.f64 d7, d10, d3 │ │ │ │ │ - add r2, r9 │ │ │ │ │ - str r2, [sp, #76] @ 0x4c │ │ │ │ │ - vstr d14, [sp, #216] @ 0xd8 │ │ │ │ │ - vstr d4, [sp, #432] @ 0x1b0 │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ - vldr d3, [r6] │ │ │ │ │ - str r5, [sp, #64] @ 0x40 │ │ │ │ │ + mov.w r2, r0, lsl #3 │ │ │ │ │ + sub.w r1, r2, r0 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ vadd.f64 d6, d4, d5 │ │ │ │ │ - vsub.f64 d14, d4, d5 │ │ │ │ │ - vldr d4, [r4] │ │ │ │ │ - str r6, [sp, #68] @ 0x44 │ │ │ │ │ - str r4, [sp, #72] @ 0x48 │ │ │ │ │ + add.w r6, r9, r1 │ │ │ │ │ + add.w r5, fp, r1 │ │ │ │ │ + vsub.f64 d7, d10, d3 │ │ │ │ │ + vadd.f64 d10, d10, d3 │ │ │ │ │ + add.w r4, sl, r1 │ │ │ │ │ + strd r6, r5, [sp, #60] @ 0x3c │ │ │ │ │ + vldr d3, [r5] │ │ │ │ │ + str r4, [sp, #88] @ 0x58 │ │ │ │ │ + vstr d10, [sp, #216] @ 0xd8 │ │ │ │ │ + vsub.f64 d10, d4, d5 │ │ │ │ │ vmul.f64 d5, d9, d6 │ │ │ │ │ vmul.f64 d6, d2, d6 │ │ │ │ │ - vstr d14, [sp, #224] @ 0xe0 │ │ │ │ │ + vstr d10, [sp, #224] @ 0xe0 │ │ │ │ │ vmov.f64 d10, d5 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - mul.w r2, r7, fp │ │ │ │ │ - movs r7, #72 @ 0x48 │ │ │ │ │ - add.w r0, r8, r2 │ │ │ │ │ - add.w r6, r9, r2 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ vnmls.f64 d10, d2, d7 │ │ │ │ │ - vmov.f64 d2, d6 │ │ │ │ │ - vmla.f64 d2, d9, d7 │ │ │ │ │ + vldr d2, [r6] │ │ │ │ │ + add.w r6, r8, r1 │ │ │ │ │ + add.w r1, r0, r0, lsl #2 │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + str r6, [sp, #68] @ 0x44 │ │ │ │ │ + add.w r5, fp, r1 │ │ │ │ │ + add.w r4, r8, r1 │ │ │ │ │ + add.w r6, r9, r1 │ │ │ │ │ + add r1, sl │ │ │ │ │ + str r4, [sp, #92] @ 0x5c │ │ │ │ │ + vstr d10, [sp, #232] @ 0xe8 │ │ │ │ │ + vmov.f64 d10, d6 │ │ │ │ │ vadd.f64 d6, d4, d5 │ │ │ │ │ - mov r1, r0 │ │ │ │ │ - vstr d10, [sp, #448] @ 0x1c0 │ │ │ │ │ - vstr d2, [sp, #456] @ 0x1c8 │ │ │ │ │ - vldr d2, [r5] │ │ │ │ │ - add.w r5, lr, r2 │ │ │ │ │ - vldr d10, [sp, #88] @ 0x58 │ │ │ │ │ + vmla.f64 d10, d9, d7 │ │ │ │ │ vadd.f64 d9, d2, d3 │ │ │ │ │ vsub.f64 d7, d2, d3 │ │ │ │ │ - vldr d2, [sp, #80] @ 0x50 │ │ │ │ │ - vstr d9, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d2, [sp, #72] @ 0x48 │ │ │ │ │ + str r6, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d3, [r5] │ │ │ │ │ + vstr d9, [sp, #240] @ 0xf0 │ │ │ │ │ vsub.f64 d9, d4, d5 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + vstr d10, [sp, #440] @ 0x1b8 │ │ │ │ │ + vldr d10, [sp, #80] @ 0x50 │ │ │ │ │ + str r5, [sp, #80] @ 0x50 │ │ │ │ │ + vstr d9, [sp, #248] @ 0xf8 │ │ │ │ │ vmul.f64 d5, d10, d6 │ │ │ │ │ vmul.f64 d6, d2, d6 │ │ │ │ │ - vstr d9, [sp, #240] @ 0xf0 │ │ │ │ │ vmov.f64 d9, d5 │ │ │ │ │ vnmls.f64 d9, d2, d7 │ │ │ │ │ - vmov.f64 d2, d6 │ │ │ │ │ - vmla.f64 d2, d10, d7 │ │ │ │ │ - vstr d9, [sp, #248] @ 0xf8 │ │ │ │ │ - vstr d2, [sp, #256] @ 0x100 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ - add.w r0, sl, r2 │ │ │ │ │ - str r0, [sp, #80] @ 0x50 │ │ │ │ │ - mov.w r2, fp, lsl #5 │ │ │ │ │ - add.w r4, r8, r2 │ │ │ │ │ - vldr d3, [r0] │ │ │ │ │ - add.w r0, sl, r2 │ │ │ │ │ - str r5, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ - add.w r5, lr, r2 │ │ │ │ │ - vldr d5, [r6] │ │ │ │ │ + vldr d2, [r6] │ │ │ │ │ + vstr d9, [sp, #256] @ 0x100 │ │ │ │ │ + vmov.f64 d9, d6 │ │ │ │ │ vadd.f64 d6, d2, d3 │ │ │ │ │ - vldr d10, [sp, #96] @ 0x60 │ │ │ │ │ - add r2, r9 │ │ │ │ │ - vsub.f64 d2, d2, d3 │ │ │ │ │ - str r2, [sp, #116] @ 0x74 │ │ │ │ │ + vsub.f64 d3, d2, d3 │ │ │ │ │ + vmla.f64 d9, d10, d7 │ │ │ │ │ + vstr d9, [sp, #264] @ 0x108 │ │ │ │ │ + str r1, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + mov.w r1, r0, lsl #5 │ │ │ │ │ + vstr d3, [sp, #272] @ 0x110 │ │ │ │ │ + add.w r6, r9, r1 │ │ │ │ │ + add.w r5, fp, r1 │ │ │ │ │ + vldr d14, [sp, #8] │ │ │ │ │ + add.w r4, r8, r1 │ │ │ │ │ + add r1, sl │ │ │ │ │ + vldr d2, [sp, #96] @ 0x60 │ │ │ │ │ + str r6, [sp, #96] @ 0x60 │ │ │ │ │ vsub.f64 d7, d4, d5 │ │ │ │ │ - vadd.f64 d14, d4, d5 │ │ │ │ │ - vldr d3, [r2] │ │ │ │ │ - mov.w r2, fp, lsl #3 │ │ │ │ │ - str r6, [sp, #104] @ 0x68 │ │ │ │ │ - add.w r6, r8, r2 │ │ │ │ │ - str r4, [sp, #96] @ 0x60 │ │ │ │ │ + vadd.f64 d5, d4, d5 │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ + strd r5, r4, [sp, #108] @ 0x6c │ │ │ │ │ + vldr d9, [sp, #120] @ 0x78 │ │ │ │ │ + str r1, [sp, #116] @ 0x74 │ │ │ │ │ + add.w r1, r8, r2 │ │ │ │ │ + str r1, [sp, #8] │ │ │ │ │ + vstr d5, [sp, #280] @ 0x118 │ │ │ │ │ vmul.f64 d5, d0, d7 │ │ │ │ │ vmul.f64 d0, d0, d6 │ │ │ │ │ - vmla.f64 d0, d10, d7 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - vstr d14, [sp, #264] @ 0x108 │ │ │ │ │ - add.w r4, sl, r2 │ │ │ │ │ - vldr d14, [sp, #128] @ 0x80 │ │ │ │ │ - vmov.f64 d9, d5 │ │ │ │ │ - str r5, [sp, #112] @ 0x70 │ │ │ │ │ - str r0, [sp, #108] @ 0x6c │ │ │ │ │ - vnmls.f64 d9, d10, d6 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - vstr d0, [sp, #472] @ 0x1d8 │ │ │ │ │ - ldr r0, [sp, #0] │ │ │ │ │ + vnmls.f64 d5, d2, d6 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + vmla.f64 d0, d2, d7 │ │ │ │ │ + add.w r5, fp, r2 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + add.w r6, sl, r2 │ │ │ │ │ + vstr d5, [sp, #448] @ 0x1c0 │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - add.w r5, lr, r2 │ │ │ │ │ - add r2, r9 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + add.w r4, r9, r2 │ │ │ │ │ + add r2, r0 │ │ │ │ │ + vstr d0, [sp, #456] @ 0x1c8 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ vsub.f64 d4, d6, d3 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ - vstr d9, [sp, #464] @ 0x1d0 │ │ │ │ │ - vldr d9, [sp, #120] @ 0x78 │ │ │ │ │ - vmul.f64 d3, d12, d4 │ │ │ │ │ - vmov.f64 d10, d3 │ │ │ │ │ - vldr d3, [sp, #16] │ │ │ │ │ - vnmls.f64 d10, d3, d5 │ │ │ │ │ - vmul.f64 d3, d14, d6 │ │ │ │ │ + vmul.f64 d3, d14, d4 │ │ │ │ │ + vmov.f64 d2, d3 │ │ │ │ │ + vnmls.f64 d2, d12, d5 │ │ │ │ │ + vmul.f64 d12, d12, d4 │ │ │ │ │ + vmla.f64 d12, d14, d5 │ │ │ │ │ + vldr d14, [r7, #-104] @ 0xffffff98 │ │ │ │ │ + vstr d2, [sp, #464] @ 0x1d0 │ │ │ │ │ + vldr d2, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d12, [sp, #472] @ 0x1d8 │ │ │ │ │ + vldr d12, [r7, #-112] @ 0xffffff90 │ │ │ │ │ + vmul.f64 d3, d2, d6 │ │ │ │ │ vmul.f64 d6, d9, d6 │ │ │ │ │ vmov.f64 d0, d3 │ │ │ │ │ - vldr d3, [r2] │ │ │ │ │ - vmla.f64 d0, d9, d7 │ │ │ │ │ - vldr d9, [sp, #8] │ │ │ │ │ - vstr d10, [sp, #272] @ 0x110 │ │ │ │ │ vmov.f64 d10, d6 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - vnmls.f64 d10, d14, d7 │ │ │ │ │ - vldr d7, [sp, #16] │ │ │ │ │ - vstr d0, [sp, #280] @ 0x118 │ │ │ │ │ - vldr d0, [sp, #32] │ │ │ │ │ - vmul.f64 d14, d7, d4 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - vmla.f64 d14, d12, d5 │ │ │ │ │ - vldr d12, [r0, #-40] @ 0xffffffd8 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + vldr d3, [r6] │ │ │ │ │ + vmla.f64 d0, d9, d7 │ │ │ │ │ + vnmls.f64 d10, d2, d7 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + vldr d9, [sp] │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - vstr d10, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + add.w r1, r4, r3 │ │ │ │ │ + vstr d0, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d0, [sp, #24] │ │ │ │ │ vsub.f64 d4, d6, d3 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ - vstr d14, [sp, #480] @ 0x1e0 │ │ │ │ │ + vstr d10, [sp, #296] @ 0x128 │ │ │ │ │ vmul.f64 d3, d9, d6 │ │ │ │ │ - vmul.f64 d14, d12, d4 │ │ │ │ │ - vldr d12, [r0, #-48] @ 0xffffffd0 │ │ │ │ │ + vmul.f64 d14, d14, d4 │ │ │ │ │ vmul.f64 d6, d0, d6 │ │ │ │ │ vnmls.f64 d14, d12, d5 │ │ │ │ │ vmov.f64 d12, d3 │ │ │ │ │ vmla.f64 d12, d0, d7 │ │ │ │ │ - vstr d12, [sp, #296] @ 0x128 │ │ │ │ │ + vstr d12, [sp, #304] @ 0x130 │ │ │ │ │ vmov.f64 d12, d6 │ │ │ │ │ - str r2, [sp, #16] │ │ │ │ │ - add r2, r3 │ │ │ │ │ - vldr d0, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d10, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d14, [sp, #480] @ 0x1e0 │ │ │ │ │ vnmls.f64 d12, d9, d7 │ │ │ │ │ - vldr d7, [r0, #-48] @ 0xffffffd0 │ │ │ │ │ - str r2, [sp, #560] @ 0x230 │ │ │ │ │ - vmul.f64 d4, d7, d4 │ │ │ │ │ + vstr d12, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d14, [r7, #-112] @ 0xffffff90 │ │ │ │ │ + str r5, [sp, #0] │ │ │ │ │ + add r5, r3 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + str r1, [sp, #24] │ │ │ │ │ + ldr r1, [sp, #8] │ │ │ │ │ + str r5, [sp, #120] @ 0x78 │ │ │ │ │ + vmul.f64 d4, d14, d4 │ │ │ │ │ + vldr d14, [r7, #-104] @ 0xffffff98 │ │ │ │ │ + vldr d10, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d12, [sp, #144] @ 0x90 │ │ │ │ │ vmov.f64 d7, d4 │ │ │ │ │ - vstr d12, [sp, #304] @ 0x130 │ │ │ │ │ - vldr d12, [r0, #-40] @ 0xffffffd8 │ │ │ │ │ - adds r0, r6, r3 │ │ │ │ │ - str r0, [sp, #32] │ │ │ │ │ - vmla.f64 d7, d12, d5 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - adds r0, r4, r3 │ │ │ │ │ - str r0, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d12, [sp, #136] @ 0x88 │ │ │ │ │ + vmla.f64 d7, d14, d5 │ │ │ │ │ vstr d7, [sp, #488] @ 0x1e8 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - adds r0, r5, r3 │ │ │ │ │ - str r0, [sp, #128] @ 0x80 │ │ │ │ │ - vldr d3, [r0] │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, r1, r3 │ │ │ │ │ + add.w r1, r6, r3 │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ + str r5, [sp, #128] @ 0x80 │ │ │ │ │ + str r1, [sp, #560] @ 0x230 │ │ │ │ │ + add.w r1, fp, r2 │ │ │ │ │ vsub.f64 d4, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - mul.w r2, r7, fp │ │ │ │ │ - movs r7, #48 @ 0x30 │ │ │ │ │ - vadd.f64 d5, d3, d7 │ │ │ │ │ - vsub.f64 d7, d3, d7 │ │ │ │ │ - add.w r0, r8, r2 │ │ │ │ │ - str r0, [sp, #136] @ 0x88 │ │ │ │ │ - vmul.f64 d3, d0, d5 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, r9, r2 │ │ │ │ │ + str r5, [sp, #136] @ 0x88 │ │ │ │ │ + str r1, [sp, #144] @ 0x90 │ │ │ │ │ + vadd.f64 d5, d7, d3 │ │ │ │ │ + vsub.f64 d7, d7, d3 │ │ │ │ │ + vmul.f64 d3, d12, d5 │ │ │ │ │ vmov.f64 d9, d3 │ │ │ │ │ - vnmls.f64 d9, d12, d4 │ │ │ │ │ - vmul.f64 d4, d0, d4 │ │ │ │ │ + vnmls.f64 d9, d10, d4 │ │ │ │ │ + vmul.f64 d4, d12, d4 │ │ │ │ │ vmov.f64 d0, d4 │ │ │ │ │ - vmla.f64 d0, d12, d5 │ │ │ │ │ - vstr d9, [sp, #312] @ 0x138 │ │ │ │ │ + vstr d9, [sp, #320] @ 0x140 │ │ │ │ │ + vmla.f64 d0, d10, d5 │ │ │ │ │ vldr d9, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d10, [sp, #160] @ 0xa0 │ │ │ │ │ vmul.f64 d12, d9, d7 │ │ │ │ │ - vstr d0, [sp, #320] @ 0x140 │ │ │ │ │ - vldr d0, [sp, #328] @ 0x148 │ │ │ │ │ + vstr d0, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d0, [sp, #336] @ 0x150 │ │ │ │ │ vnmls.f64 d12, d10, d6 │ │ │ │ │ vmul.f64 d6, d9, d6 │ │ │ │ │ vmov.f64 d5, d6 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ vmla.f64 d5, d10, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - add.w r0, sl, r2 │ │ │ │ │ - str r0, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d10, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - add.w r0, lr, r2 │ │ │ │ │ - add r2, r9 │ │ │ │ │ - str r2, [sp, #160] @ 0xa0 │ │ │ │ │ - str r0, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, r8, r2 │ │ │ │ │ + add r2, sl │ │ │ │ │ + vldr d10, [sp, #344] @ 0x158 │ │ │ │ │ + str r5, [sp, #152] @ 0x98 │ │ │ │ │ vldr d3, [r2] │ │ │ │ │ - mul.w r2, r7, fp │ │ │ │ │ + str r2, [sp, #160] @ 0xa0 │ │ │ │ │ + add.w r2, r0, r0, lsl #1 │ │ │ │ │ + mov.w r2, r2, lsl #4 │ │ │ │ │ + add.w lr, r9, r2 │ │ │ │ │ + add.w ip, r8, r2 │ │ │ │ │ vstr d5, [sp, #496] @ 0x1f0 │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - add.w ip, sl, r2 │ │ │ │ │ - add.w r0, r8, r2 │ │ │ │ │ - add.w r7, lr, r2 │ │ │ │ │ - add r2, r9 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + add.w r5, fp, r2 │ │ │ │ │ + add r2, sl │ │ │ │ │ + add.w r1, lr, r3 │ │ │ │ │ vsub.f64 d4, d6, d3 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ + vmul.f64 d9, d8, d4 │ │ │ │ │ vmul.f64 d3, d10, d6 │ │ │ │ │ + vmul.f64 d4, d1, d4 │ │ │ │ │ vmul.f64 d6, d0, d6 │ │ │ │ │ + vnmls.f64 d9, d1, d5 │ │ │ │ │ vmla.f64 d3, d0, d7 │ │ │ │ │ - vmul.f64 d9, d8, d4 │ │ │ │ │ - vmul.f64 d4, d1, d4 │ │ │ │ │ + vmov.f64 d1, d4 │ │ │ │ │ vmov.f64 d0, d6 │ │ │ │ │ - vnmls.f64 d9, d1, d5 │ │ │ │ │ + vmla.f64 d1, d8, d5 │ │ │ │ │ vnmls.f64 d0, d10, d7 │ │ │ │ │ - vmov.f64 d10, d4 │ │ │ │ │ - vmla.f64 d10, d8, d5 │ │ │ │ │ - vstr d3, [sp, #328] @ 0x148 │ │ │ │ │ - vstr d0, [sp, #336] @ 0x150 │ │ │ │ │ - vstr d10, [sp, #344] @ 0x158 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ - vldr d3, [r2] │ │ │ │ │ - vldr d10, [sp, #352] @ 0x160 │ │ │ │ │ - vadd.f64 d5, d7, d6 │ │ │ │ │ - vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ + vstr d3, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d0, [sp, #344] @ 0x158 │ │ │ │ │ + vstr d1, [sp, #504] @ 0x1f8 │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + vldr d3, [ip] │ │ │ │ │ + vldr d7, [lr] │ │ │ │ │ + vldr d1, [sp, #168] @ 0xa8 │ │ │ │ │ vldr d8, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d1, [sp, #184] @ 0xb8 │ │ │ │ │ - vsub.f64 d4, d6, d3 │ │ │ │ │ - vadd.f64 d6, d6, d3 │ │ │ │ │ - str r7, [sp, #8] │ │ │ │ │ - adds r7, r0, r3 │ │ │ │ │ - vmul.f64 d0, d10, d6 │ │ │ │ │ - vmul.f64 d3, d8, d4 │ │ │ │ │ - vldr d8, [sp, #168] @ 0xa8 │ │ │ │ │ - vnmls.f64 d3, d8, d5 │ │ │ │ │ - vmov.f64 d8, d0 │ │ │ │ │ - vmla.f64 d8, d1, d7 │ │ │ │ │ - vstr d8, [sp, #352] @ 0x160 │ │ │ │ │ - vmul.f64 d8, d1, d6 │ │ │ │ │ - vnmls.f64 d8, d10, d7 │ │ │ │ │ - vldr d7, [sp, #168] @ 0xa8 │ │ │ │ │ - str r7, [sp, #168] @ 0xa8 │ │ │ │ │ - vmul.f64 d4, d7, d4 │ │ │ │ │ - vldr d7, [sp, #176] @ 0xb0 │ │ │ │ │ - vmov.f64 d1, d4 │ │ │ │ │ - vldr d4, [sp, #384] @ 0x180 │ │ │ │ │ - vmla.f64 d1, d7, d5 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ - add.w r7, ip, r3 │ │ │ │ │ - str r7, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - ldr r7, [sp, #8] │ │ │ │ │ - add r7, r3 │ │ │ │ │ + vldr d10, [sp, #184] @ 0xb8 │ │ │ │ │ + vadd.f64 d6, d7, d5 │ │ │ │ │ + vsub.f64 d7, d7, d5 │ │ │ │ │ + vsub.f64 d5, d3, d4 │ │ │ │ │ + vadd.f64 d3, d3, d4 │ │ │ │ │ + vldr d2, [sp, #352] @ 0x160 │ │ │ │ │ + vmul.f64 d0, d10, d3 │ │ │ │ │ + vmul.f64 d3, d8, d3 │ │ │ │ │ + vmul.f64 d4, d1, d5 │ │ │ │ │ + vmul.f64 d5, d2, d5 │ │ │ │ │ + vmla.f64 d0, d8, d7 │ │ │ │ │ + vmov.f64 d14, d3 │ │ │ │ │ + vnmls.f64 d4, d2, d6 │ │ │ │ │ + vldr d2, [sp, #376] @ 0x178 │ │ │ │ │ + vmov.f64 d8, d5 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + vnmls.f64 d14, d10, d7 │ │ │ │ │ + vldr d10, [sp, #168] @ 0xa8 │ │ │ │ │ + str r1, [sp, #168] @ 0xa8 │ │ │ │ │ + add.w r1, r5, r3 │ │ │ │ │ + vldr d3, [sp, #384] @ 0x180 │ │ │ │ │ + str r1, [sp, #176] @ 0xb0 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + add.w r1, ip, r3 │ │ │ │ │ add r3, r2 │ │ │ │ │ + vmla.f64 d8, d10, d6 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + str r1, [sp, #184] @ 0xb8 │ │ │ │ │ vsub.f64 d10, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ - vstr d1, [sp, #360] @ 0x168 │ │ │ │ │ - vldr d0, [r7] │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - vldr d1, [sp, #392] @ 0x188 │ │ │ │ │ - str r7, [sp, #184] @ 0xb8 │ │ │ │ │ - vadd.f64 d7, d0, d6 │ │ │ │ │ - vsub.f64 d6, d6, d0 │ │ │ │ │ - vmul.f64 d0, d4, d7 │ │ │ │ │ - vnmls.f64 d0, d1, d10 │ │ │ │ │ - vmul.f64 d10, d4, d10 │ │ │ │ │ - vmla.f64 d10, d1, d7 │ │ │ │ │ - vldr d4, [sp, #368] @ 0x170 │ │ │ │ │ - vldr d1, [sp, #376] @ 0x178 │ │ │ │ │ - vmul.f64 d7, d4, d5 │ │ │ │ │ - vmul.f64 d5, d1, d5 │ │ │ │ │ - vmla.f64 d7, d1, d6 │ │ │ │ │ - vldr d1, [sp, #200] @ 0xc8 │ │ │ │ │ - vnmls.f64 d5, d4, d6 │ │ │ │ │ - vldr d6, [sp, #264] @ 0x108 │ │ │ │ │ - vldr d4, [sp, #400] @ 0x190 │ │ │ │ │ - vmul.f64 d6, d1, d6 │ │ │ │ │ - vldr d1, [sp, #192] @ 0xc0 │ │ │ │ │ - vnmls.f64 d6, d1, d2 │ │ │ │ │ - vstr d5, [sp, #368] @ 0x170 │ │ │ │ │ - vsub.f64 d1, d4, d6 │ │ │ │ │ - vadd.f64 d6, d4, d6 │ │ │ │ │ - vstr d1, [sp, #376] @ 0x178 │ │ │ │ │ - vstr d6, [sp, #504] @ 0x1f8 │ │ │ │ │ - vldr d1, [sp, #448] @ 0x1c0 │ │ │ │ │ - vldr d6, [sp, #272] @ 0x110 │ │ │ │ │ - vldr d4, [sp, #248] @ 0xf8 │ │ │ │ │ - vsub.f64 d6, d6, d9 │ │ │ │ │ - vsub.f64 d4, d1, d4 │ │ │ │ │ - vsub.f64 d5, d4, d6 │ │ │ │ │ - vstr d5, [sp, #384] @ 0x180 │ │ │ │ │ - vadd.f64 d5, d4, d6 │ │ │ │ │ - vldr d4, [sp, #200] @ 0xc8 │ │ │ │ │ - vmul.f64 d6, d4, d2 │ │ │ │ │ + vmov.f64 d1, d14 │ │ │ │ │ + vldr d14, [sp, #368] @ 0x170 │ │ │ │ │ + vstr d8, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d8, [r1] │ │ │ │ │ + vadd.f64 d7, d8, d6 │ │ │ │ │ + vsub.f64 d6, d6, d8 │ │ │ │ │ + vmul.f64 d8, d2, d7 │ │ │ │ │ + vnmls.f64 d8, d3, d10 │ │ │ │ │ + vmul.f64 d10, d2, d10 │ │ │ │ │ + vldr d2, [sp, #280] @ 0x118 │ │ │ │ │ + vmla.f64 d10, d3, d7 │ │ │ │ │ + vldr d3, [sp, #360] @ 0x168 │ │ │ │ │ + vmul.f64 d7, d3, d5 │ │ │ │ │ + vmul.f64 d5, d14, d5 │ │ │ │ │ + vmla.f64 d7, d14, d6 │ │ │ │ │ + vnmls.f64 d5, d3, d6 │ │ │ │ │ + vldr d6, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d3, [sp, #272] @ 0x110 │ │ │ │ │ + vmul.f64 d6, d6, d2 │ │ │ │ │ vldr d2, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d4, [sp, #264] @ 0x108 │ │ │ │ │ - vstr d5, [sp, #448] @ 0x1c0 │ │ │ │ │ - vmla.f64 d6, d2, d4 │ │ │ │ │ - vldr d2, [sp, #408] @ 0x198 │ │ │ │ │ - vsub.f64 d4, d2, d6 │ │ │ │ │ - vadd.f64 d2, d2, d6 │ │ │ │ │ + vnmls.f64 d6, d2, d3 │ │ │ │ │ + vldr d2, [sp, #392] @ 0x188 │ │ │ │ │ + vsub.f64 d14, d2, d6 │ │ │ │ │ + vstr d14, [sp, #360] @ 0x168 │ │ │ │ │ + vadd.f64 d14, d2, d6 │ │ │ │ │ + vldr d2, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d6, [sp, #256] @ 0x100 │ │ │ │ │ + vstr d14, [sp, #512] @ 0x200 │ │ │ │ │ + vsub.f64 d3, d2, d6 │ │ │ │ │ + vldr d2, [sp, #464] @ 0x1d0 │ │ │ │ │ + vsub.f64 d6, d2, d9 │ │ │ │ │ + vadd.f64 d9, d2, d9 │ │ │ │ │ + vsub.f64 d14, d3, d6 │ │ │ │ │ + vstr d14, [sp, #368] @ 0x170 │ │ │ │ │ + vadd.f64 d14, d3, d6 │ │ │ │ │ + vstr d14, [sp, #464] @ 0x1d0 │ │ │ │ │ + vldr d6, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d3, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d14, [sp, #280] @ 0x118 │ │ │ │ │ + vmul.f64 d6, d6, d3 │ │ │ │ │ + vldr d3, [sp, #192] @ 0xc0 │ │ │ │ │ + vmla.f64 d6, d3, d14 │ │ │ │ │ + vldr d3, [sp, #416] @ 0x1a0 │ │ │ │ │ + vsub.f64 d14, d3, d6 │ │ │ │ │ + vadd.f64 d6, d3, d6 │ │ │ │ │ + vldr d3, [sp, #304] @ 0x130 │ │ │ │ │ + vadd.f64 d3, d3, d0 │ │ │ │ │ + vstr d14, [sp, #416] @ 0x1a0 │ │ │ │ │ + vstr d6, [sp, #520] @ 0x208 │ │ │ │ │ vadd.f64 d6, d12, d7 │ │ │ │ │ vsub.f64 d7, d7, d12 │ │ │ │ │ - vstr d4, [sp, #512] @ 0x200 │ │ │ │ │ - vstr d2, [sp, #520] @ 0x208 │ │ │ │ │ - vldr d4, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d2, [sp, #352] @ 0x160 │ │ │ │ │ - vadd.f64 d4, d4, d2 │ │ │ │ │ - vldr d2, [sp, #256] @ 0x100 │ │ │ │ │ - vadd.f64 d5, d6, d4 │ │ │ │ │ - vsub.f64 d6, d4, d6 │ │ │ │ │ - vldr d4, [sp, #456] @ 0x1c8 │ │ │ │ │ + vadd.f64 d14, d6, d3 │ │ │ │ │ + vsub.f64 d6, d3, d6 │ │ │ │ │ + vldr d3, [sp, #440] @ 0x1b8 │ │ │ │ │ + vstr d14, [sp, #528] @ 0x210 │ │ │ │ │ vstr d6, [sp, #536] @ 0x218 │ │ │ │ │ - vldr d6, [sp, #304] @ 0x130 │ │ │ │ │ - vstr d5, [sp, #528] @ 0x210 │ │ │ │ │ - vsub.f64 d6, d8, d6 │ │ │ │ │ + vldr d6, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d14, [sp, #480] @ 0x1e0 │ │ │ │ │ + vsub.f64 d6, d1, d6 │ │ │ │ │ vsub.f64 d12, d6, d7 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ - vadd.f64 d6, d4, d2 │ │ │ │ │ - vldr d2, [sp, #432] @ 0x1b0 │ │ │ │ │ vstr d12, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d12, [sp, #272] @ 0x110 │ │ │ │ │ vstr d7, [sp, #544] @ 0x220 │ │ │ │ │ - vadd.f64 d9, d12, d9 │ │ │ │ │ - vadd.f64 d12, d6, d9 │ │ │ │ │ - vstr d12, [sp, #456] @ 0x1c8 │ │ │ │ │ - vsub.f64 d12, d6, d9 │ │ │ │ │ - vldr d9, [sp, #464] @ 0x1d0 │ │ │ │ │ - vstr d12, [sp, #552] @ 0x228 │ │ │ │ │ - vadd.f64 d7, d2, d9 │ │ │ │ │ - vldr d12, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d7, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d12, [sp, #328] @ 0x148 │ │ │ │ │ + vadd.f64 d6, d3, d7 │ │ │ │ │ + vadd.f64 d2, d6, d9 │ │ │ │ │ + vstr d2, [sp, #440] @ 0x1b8 │ │ │ │ │ + vsub.f64 d2, d6, d9 │ │ │ │ │ vadd.f64 d6, d12, d10 │ │ │ │ │ - vldr d12, [sp, #280] @ 0x118 │ │ │ │ │ - vadd.f64 d5, d6, d7 │ │ │ │ │ + vldr d9, [sp, #448] @ 0x1c0 │ │ │ │ │ + vstr d2, [sp, #552] @ 0x228 │ │ │ │ │ + vldr d2, [sp, #424] @ 0x1a8 │ │ │ │ │ + vadd.f64 d7, d2, d9 │ │ │ │ │ + vadd.f64 d12, d6, d7 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ - vstr d7, [sp, #264] @ 0x108 │ │ │ │ │ - vldr d7, [sp, #328] @ 0x148 │ │ │ │ │ - vstr d5, [sp, #200] @ 0xc8 │ │ │ │ │ - vadd.f64 d6, d12, d7 │ │ │ │ │ - vadd.f64 d7, d14, d3 │ │ │ │ │ - vsub.f64 d3, d3, d14 │ │ │ │ │ - vadd.f64 d5, d6, d7 │ │ │ │ │ - vsub.f64 d6, d6, d7 │ │ │ │ │ - vstr d5, [sp, #272] @ 0x110 │ │ │ │ │ - vstr d6, [sp, #392] @ 0x188 │ │ │ │ │ + vstr d12, [sp, #200] @ 0xc8 │ │ │ │ │ vldr d12, [sp, #288] @ 0x120 │ │ │ │ │ + vstr d7, [sp, #272] @ 0x110 │ │ │ │ │ vldr d7, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d5, [sp, #496] @ 0x1f0 │ │ │ │ │ + vadd.f64 d6, d12, d7 │ │ │ │ │ + vadd.f64 d7, d14, d4 │ │ │ │ │ + vsub.f64 d4, d4, d14 │ │ │ │ │ + vadd.f64 d12, d6, d7 │ │ │ │ │ + vsub.f64 d7, d6, d7 │ │ │ │ │ + vstr d12, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d12, [sp, #296] @ 0x128 │ │ │ │ │ + vstr d7, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d7, [sp, #344] @ 0x158 │ │ │ │ │ vsub.f64 d6, d12, d7 │ │ │ │ │ - vldr d12, [sp, #312] @ 0x138 │ │ │ │ │ vsub.f64 d7, d9, d2 │ │ │ │ │ - vldr d9, [sp, #304] @ 0x130 │ │ │ │ │ - vldr d2, [sp, #256] @ 0x100 │ │ │ │ │ - vsub.f64 d14, d6, d3 │ │ │ │ │ - vadd.f64 d3, d6, d3 │ │ │ │ │ - vsub.f64 d6, d0, d12 │ │ │ │ │ - vadd.f64 d8, d9, d8 │ │ │ │ │ - vstr d3, [sp, #400] @ 0x190 │ │ │ │ │ - vadd.f64 d12, d6, d7 │ │ │ │ │ - vsub.f64 d3, d7, d6 │ │ │ │ │ - vldr d7, [sp, #368] @ 0x170 │ │ │ │ │ - vsub.f64 d6, d7, d5 │ │ │ │ │ - vstr d3, [sp, #408] @ 0x198 │ │ │ │ │ - vldr d3, [sp, #488] @ 0x1e8 │ │ │ │ │ - vsub.f64 d9, d6, d8 │ │ │ │ │ - vadd.f64 d8, d6, d8 │ │ │ │ │ - vstr d9, [sp, #432] @ 0x1b0 │ │ │ │ │ - vstr d8, [sp, #464] @ 0x1d0 │ │ │ │ │ - vldr d9, [sp, #288] @ 0x120 │ │ │ │ │ - vldr d8, [sp, #336] @ 0x150 │ │ │ │ │ - vadd.f64 d7, d9, d8 │ │ │ │ │ - vldr d8, [sp, #360] @ 0x168 │ │ │ │ │ - vldr d9, [sp, #344] @ 0x158 │ │ │ │ │ - vadd.f64 d6, d3, d8 │ │ │ │ │ - vadd.f64 d8, d7, d6 │ │ │ │ │ - vstr d8, [sp, #288] @ 0x120 │ │ │ │ │ - vsub.f64 d8, d7, d6 │ │ │ │ │ - vsub.f64 d7, d4, d2 │ │ │ │ │ - vstr d8, [sp, #304] @ 0x130 │ │ │ │ │ - vldr d8, [sp, #480] @ 0x1e0 │ │ │ │ │ - vsub.f64 d6, d9, d8 │ │ │ │ │ + vsub.f64 d14, d6, d4 │ │ │ │ │ + vadd.f64 d4, d6, d4 │ │ │ │ │ + vstr d4, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d4, [sp, #320] @ 0x140 │ │ │ │ │ + vsub.f64 d6, d8, d4 │ │ │ │ │ vsub.f64 d2, d7, d6 │ │ │ │ │ + vadd.f64 d12, d6, d7 │ │ │ │ │ + vstr d2, [sp, #392] @ 0x188 │ │ │ │ │ + vldr d2, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d9, [sp, #312] @ 0x138 │ │ │ │ │ + vsub.f64 d6, d5, d2 │ │ │ │ │ + vadd.f64 d5, d2, d5 │ │ │ │ │ + vldr d2, [sp, #304] @ 0x130 │ │ │ │ │ + vadd.f64 d7, d9, d1 │ │ │ │ │ + vldr d1, [sp, #344] @ 0x158 │ │ │ │ │ + vadd.f64 d9, d6, d7 │ │ │ │ │ + vsub.f64 d4, d6, d7 │ │ │ │ │ + vstr d4, [sp, #424] @ 0x1a8 │ │ │ │ │ + vstr d9, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d9, [sp, #296] @ 0x128 │ │ │ │ │ + vadd.f64 d7, d9, d1 │ │ │ │ │ + vldr d9, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d1, [sp, #488] @ 0x1e8 │ │ │ │ │ + vadd.f64 d6, d1, d9 │ │ │ │ │ + vadd.f64 d4, d7, d6 │ │ │ │ │ + vsub.f64 d9, d7, d6 │ │ │ │ │ + vstr d4, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d4, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d9, [sp, #312] @ 0x138 │ │ │ │ │ + vmov.f64 d9, d3 │ │ │ │ │ + vldr d3, [sp, #504] @ 0x1f8 │ │ │ │ │ + vsub.f64 d7, d9, d4 │ │ │ │ │ + vldr d4, [sp, #472] @ 0x1d8 │ │ │ │ │ + vsub.f64 d6, d3, d4 │ │ │ │ │ vadd.f64 d9, d7, d6 │ │ │ │ │ - vldr d7, [sp, #368] @ 0x170 │ │ │ │ │ - vstr d2, [sp, #256] @ 0x100 │ │ │ │ │ - vadd.f64 d5, d5, d7 │ │ │ │ │ - vldr d2, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d7, [sp, #352] @ 0x160 │ │ │ │ │ - vsub.f64 d6, d7, d2 │ │ │ │ │ - vldr d7, [sp, #440] @ 0x1b8 │ │ │ │ │ + vsub.f64 d7, d7, d6 │ │ │ │ │ + vsub.f64 d6, d0, d2 │ │ │ │ │ + vstr d7, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d7, [sp, #320] @ 0x140 │ │ │ │ │ vadd.f64 d2, d5, d6 │ │ │ │ │ - vsub.f64 d4, d6, d5 │ │ │ │ │ - vldr d5, [sp, #312] @ 0x138 │ │ │ │ │ - vadd.f64 d0, d5, d0 │ │ │ │ │ - vldr d5, [sp, #472] @ 0x1d8 │ │ │ │ │ - vstr d4, [sp, #296] @ 0x128 │ │ │ │ │ + vsub.f64 d0, d6, d5 │ │ │ │ │ + vldr d5, [sp, #456] @ 0x1c8 │ │ │ │ │ + vadd.f64 d8, d7, d8 │ │ │ │ │ + vldr d7, [sp, #432] @ 0x1b0 │ │ │ │ │ + vstr d0, [sp, #304] @ 0x130 │ │ │ │ │ vadd.f64 d6, d7, d5 │ │ │ │ │ - vadd.f64 d4, d0, d6 │ │ │ │ │ - vsub.f64 d0, d0, d6 │ │ │ │ │ + vadd.f64 d0, d8, d6 │ │ │ │ │ + vsub.f64 d8, d8, d6 │ │ │ │ │ vsub.f64 d6, d5, d7 │ │ │ │ │ - vstr d4, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d4, [sp, #320] @ 0x140 │ │ │ │ │ - vstr d0, [sp, #336] @ 0x150 │ │ │ │ │ - vsub.f64 d10, d10, d4 │ │ │ │ │ - vsub.f64 d0, d10, d6 │ │ │ │ │ - vadd.f64 d7, d10, d6 │ │ │ │ │ + vldr d5, [sp, #232] @ 0xe8 │ │ │ │ │ vstr d0, [sp, #320] @ 0x140 │ │ │ │ │ - vldr d0, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d10, [sp, #344] @ 0x158 │ │ │ │ │ + vstr d8, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d0, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d8, [sp, #328] @ 0x148 │ │ │ │ │ + vadd.f64 d5, d5, d0 │ │ │ │ │ + vldr d0, [sp, #288] @ 0x120 │ │ │ │ │ + vsub.f64 d10, d10, d8 │ │ │ │ │ + vadd.f64 d7, d10, d6 │ │ │ │ │ + vsub.f64 d8, d10, d6 │ │ │ │ │ + vadd.f64 d6, d4, d3 │ │ │ │ │ vldr d4, [sp, #208] @ 0xd0 │ │ │ │ │ - vadd.f64 d5, d1, d0 │ │ │ │ │ - vldr d1, [sp, #240] @ 0xf0 │ │ │ │ │ - vadd.f64 d6, d8, d10 │ │ │ │ │ - vldr d10, [sp, #360] @ 0x168 │ │ │ │ │ - vldr d8, [sp, #424] @ 0x1a8 │ │ │ │ │ - vadd.f64 d0, d5, d6 │ │ │ │ │ - vstr d0, [sp, #248] @ 0xf8 │ │ │ │ │ - vsub.f64 d0, d5, d6 │ │ │ │ │ - vldr d5, [sp, #328] @ 0x148 │ │ │ │ │ - vsub.f64 d6, d3, d10 │ │ │ │ │ - vldr d3, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d0, [sp, #344] @ 0x158 │ │ │ │ │ - vldr d0, [sp, #280] @ 0x118 │ │ │ │ │ + vstr d8, [sp, #328] @ 0x148 │ │ │ │ │ + vadd.f64 d8, d5, d6 │ │ │ │ │ + vsub.f64 d5, d5, d6 │ │ │ │ │ + vstr d8, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d5, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d5, [sp, #336] @ 0x150 │ │ │ │ │ vsub.f64 d5, d0, d5 │ │ │ │ │ + vldr d0, [sp, #352] @ 0x160 │ │ │ │ │ + vsub.f64 d6, d1, d0 │ │ │ │ │ + vsub.f64 d1, d5, d6 │ │ │ │ │ vadd.f64 d0, d5, d6 │ │ │ │ │ - vsub.f64 d10, d5, d6 │ │ │ │ │ + vstr d1, [sp, #288] @ 0x120 │ │ │ │ │ vldr d5, [sp, #224] @ 0xe0 │ │ │ │ │ - vmul.f64 d6, d8, d1 │ │ │ │ │ - vldr d1, [sp, #416] @ 0x1a0 │ │ │ │ │ - vmul.f64 d5, d4, d5 │ │ │ │ │ - vstr d10, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d3, [sp, #32] │ │ │ │ │ + ldr r1, [sp, #72] @ 0x48 │ │ │ │ │ vldr d10, [sp, #216] @ 0xd8 │ │ │ │ │ + vmul.f64 d5, d4, d5 │ │ │ │ │ + vldr d1, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d8, [sp, #408] @ 0x198 │ │ │ │ │ vnmls.f64 d5, d3, d10 │ │ │ │ │ - vldr d10, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d10, [sp, #240] @ 0xf0 │ │ │ │ │ + vmul.f64 d6, d8, d1 │ │ │ │ │ + vldr d1, [sp, #400] @ 0x190 │ │ │ │ │ vnmls.f64 d6, d1, d10 │ │ │ │ │ vsub.f64 d10, d5, d6 │ │ │ │ │ vadd.f64 d6, d5, d6 │ │ │ │ │ vldr d5, [sp, #216] @ 0xd8 │ │ │ │ │ - vstr d6, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d6, [sp, #32] │ │ │ │ │ vldr d6, [sp, #224] @ 0xe0 │ │ │ │ │ vmul.f64 d6, d3, d6 │ │ │ │ │ vmla.f64 d6, d4, d5 │ │ │ │ │ - vldr d5, [sp, #240] @ 0xf0 │ │ │ │ │ - vldr d4, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d4, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d5, [sp, #248] @ 0xf8 │ │ │ │ │ vmul.f64 d5, d1, d5 │ │ │ │ │ - vldr d1, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d1, [sp, #368] @ 0x170 │ │ │ │ │ vmla.f64 d5, d8, d4 │ │ │ │ │ + vldr d8, [sp, #192] @ 0xc0 │ │ │ │ │ vadd.f64 d3, d6, d5 │ │ │ │ │ - vsub.f64 d8, d5, d6 │ │ │ │ │ + vsub.f64 d5, d5, d6 │ │ │ │ │ vsub.f64 d6, d0, d2 │ │ │ │ │ - vsub.f64 d5, d9, d7 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ - vadd.f64 d7, d9, d7 │ │ │ │ │ - vldr d0, [pc, #968] @ d50 │ │ │ │ │ - vstr d8, [sp, #216] @ 0xd8 │ │ │ │ │ + vldr d0, [pc, #968] @ d68 │ │ │ │ │ + vstr d3, [sp, #208] @ 0xd0 │ │ │ │ │ + vstr d5, [sp, #216] @ 0xd8 │ │ │ │ │ + vsub.f64 d5, d9, d7 │ │ │ │ │ vmul.f64 d4, d6, d11 │ │ │ │ │ - vldr d8, [sp, #384] @ 0x180 │ │ │ │ │ + vadd.f64 d7, d9, d7 │ │ │ │ │ vmla.f64 d4, d5, d13 │ │ │ │ │ vmul.f64 d5, d5, d11 │ │ │ │ │ - vstr d3, [sp, #208] @ 0xd0 │ │ │ │ │ - vsub.f64 d3, d1, d10 │ │ │ │ │ vnmls.f64 d5, d6, d13 │ │ │ │ │ - vadd.f64 d6, d8, d12 │ │ │ │ │ - vldr d8, [sp, #192] @ 0xc0 │ │ │ │ │ + vldr d6, [sp, #360] @ 0x168 │ │ │ │ │ + vsub.f64 d3, d6, d10 │ │ │ │ │ + vadd.f64 d6, d1, d12 │ │ │ │ │ vadd.f64 d1, d8, d14 │ │ │ │ │ vadd.f64 d8, d6, d1 │ │ │ │ │ vsub.f64 d6, d6, d1 │ │ │ │ │ - vldr d1, [pc, #912] @ d50 │ │ │ │ │ + vldr d1, [pc, #908] @ d68 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ vmov.f64 d1, #64 @ 0x3e000000 0.125 │ │ │ │ │ vmul.f64 d1, d8, d1 │ │ │ │ │ vnmls.f64 d1, d3, d15 │ │ │ │ │ vadd.f64 d3, d3, d8 │ │ │ │ │ vmul.f64 d3, d3, d15 │ │ │ │ │ vstr d3, [r1] │ │ │ │ │ vsub.f64 d3, d6, d1 │ │ │ │ │ - ldr r1, [sp, #52] @ 0x34 │ │ │ │ │ vadd.f64 d6, d6, d1 │ │ │ │ │ + ldr r1, [sp, #40] @ 0x28 │ │ │ │ │ vsub.f64 d8, d3, d5 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ + vldr d3, [sp, #216] @ 0xd8 │ │ │ │ │ vstr d8, [r1] │ │ │ │ │ - vstr d5, [ip] │ │ │ │ │ + vmov.f64 d8, #64 @ 0x3e000000 0.125 │ │ │ │ │ + vstr d5, [r5] │ │ │ │ │ vsub.f64 d5, d6, d4 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ - vstr d5, [r6] │ │ │ │ │ - ldr r6, [sp, #136] @ 0x88 │ │ │ │ │ - vstr d4, [r6] │ │ │ │ │ - vldr d5, [sp, #384] @ 0x180 │ │ │ │ │ - vldr d3, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d8, [sp, #216] @ 0xd8 │ │ │ │ │ + ldr r1, [sp, #92] @ 0x5c │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ + ldr r4, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d5, [sp, #368] @ 0x170 │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ vsub.f64 d6, d5, d12 │ │ │ │ │ - ldr r1, [sp, #88] @ 0x58 │ │ │ │ │ - vsub.f64 d14, d14, d3 │ │ │ │ │ - vadd.f64 d3, d7, d2 │ │ │ │ │ - vsub.f64 d7, d7, d2 │ │ │ │ │ - vldr d1, [sp, #376] @ 0x178 │ │ │ │ │ - vldr d12, [sp, #448] @ 0x1c0 │ │ │ │ │ - vldr d9, [sp, #544] @ 0x220 │ │ │ │ │ + vldr d5, [sp, #192] @ 0xc0 │ │ │ │ │ + vsub.f64 d14, d14, d5 │ │ │ │ │ vmul.f64 d5, d14, d11 │ │ │ │ │ - vadd.f64 d10, d1, d10 │ │ │ │ │ vmla.f64 d5, d6, d13 │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ - vmul.f64 d7, d7, d0 │ │ │ │ │ - vldr d1, [sp, #408] @ 0x198 │ │ │ │ │ - ldr r7, [sp, #176] @ 0xb0 │ │ │ │ │ vnmls.f64 d6, d14, d13 │ │ │ │ │ - vldr d14, [sp, #512] @ 0x200 │ │ │ │ │ - vadd.f64 d4, d14, d8 │ │ │ │ │ - vmov.f64 d8, #64 @ 0x3e000000 0.125 │ │ │ │ │ + vldr d14, [sp, #416] @ 0x1a0 │ │ │ │ │ + vadd.f64 d4, d14, d3 │ │ │ │ │ + vadd.f64 d3, d7, d2 │ │ │ │ │ + vsub.f64 d7, d7, d2 │ │ │ │ │ vmul.f64 d2, d3, d8 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ vnmls.f64 d2, d4, d15 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ vmul.f64 d4, d4, d15 │ │ │ │ │ vstr d4, [r1] │ │ │ │ │ vsub.f64 d4, d2, d7 │ │ │ │ │ - ldr r1, [sp, #60] @ 0x3c │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ - vldr d2, [sp, #320] @ 0x140 │ │ │ │ │ vadd.f64 d3, d6, d4 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vadd.f64 d6, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vsub.f64 d5, d1, d12 │ │ │ │ │ vstr d3, [r2] │ │ │ │ │ + ldr r1, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r2, [sp, #8] │ │ │ │ │ + vldr d3, [sp, #288] @ 0x120 │ │ │ │ │ vstr d4, [r1] │ │ │ │ │ - ldr r1, [sp, #152] @ 0x98 │ │ │ │ │ - vstr d6, [r5] │ │ │ │ │ - vldr d4, [sp, #296] @ 0x128 │ │ │ │ │ - ldr r5, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ - vldr d7, [sp, #280] @ 0x118 │ │ │ │ │ - ldr r1, [sp, #108] @ 0x6c │ │ │ │ │ - vsub.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [sp, #256] @ 0x100 │ │ │ │ │ - vsub.f64 d6, d4, d2 │ │ │ │ │ - vldr d2, [sp, #400] @ 0x190 │ │ │ │ │ - vadd.f64 d1, d9, d2 │ │ │ │ │ + ldr r1, [sp, #60] @ 0x3c │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + vldr d1, [sp, #304] @ 0x130 │ │ │ │ │ + ldr r2, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d5, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d12, [sp, #464] @ 0x1d0 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + vsub.f64 d7, d3, d1 │ │ │ │ │ + vldr d9, [sp, #544] @ 0x220 │ │ │ │ │ + vldr d3, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d1, [sp, #392] @ 0x188 │ │ │ │ │ + ldr r2, [sp, #108] @ 0x6c │ │ │ │ │ + vsub.f64 d6, d3, d5 │ │ │ │ │ + vsub.f64 d5, d1, d12 │ │ │ │ │ + vldr d1, [sp, #384] @ 0x180 │ │ │ │ │ vmul.f64 d4, d6, d11 │ │ │ │ │ - vsub.f64 d3, d5, d1 │ │ │ │ │ - vadd.f64 d5, d5, d1 │ │ │ │ │ + vadd.f64 d1, d9, d1 │ │ │ │ │ vnmls.f64 d4, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ + vsub.f64 d3, d5, d1 │ │ │ │ │ + vadd.f64 d5, d5, d1 │ │ │ │ │ + vldr d1, [sp, #392] @ 0x188 │ │ │ │ │ vmla.f64 d7, d6, d13 │ │ │ │ │ + vldr d6, [sp, #360] @ 0x168 │ │ │ │ │ + vmul.f64 d5, d5, d0 │ │ │ │ │ + vadd.f64 d10, d6, d10 │ │ │ │ │ vmul.f64 d6, d3, d8 │ │ │ │ │ vsub.f64 d3, d3, d10 │ │ │ │ │ vmla.f64 d6, d10, d15 │ │ │ │ │ - vmul.f64 d5, d5, d0 │ │ │ │ │ + vldr d10, [sp, #288] @ 0x120 │ │ │ │ │ vmul.f64 d3, d3, d15 │ │ │ │ │ - vstr d3, [r1] │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ vsub.f64 d3, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - ldr r1, [sp, #32] │ │ │ │ │ + ldr r2, [sp, #176] @ 0xb0 │ │ │ │ │ + vadd.f64 d5, d12, d1 │ │ │ │ │ + vldr d1, [sp, #328] @ 0x148 │ │ │ │ │ vsub.f64 d2, d3, d7 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ - vldr d3, [sp, #400] @ 0x190 │ │ │ │ │ - vstr d2, [sl] │ │ │ │ │ - vstr d7, [r7] │ │ │ │ │ + vldr d3, [sp, #384] @ 0x180 │ │ │ │ │ + vstr d2, [fp] │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d6, d4 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ - vsub.f64 d7, d3, d9 │ │ │ │ │ - vldr d3, [sp, #408] @ 0x198 │ │ │ │ │ - vstr d4, [r5] │ │ │ │ │ - vldr d10, [sp, #216] @ 0xd8 │ │ │ │ │ - vadd.f64 d5, d12, d3 │ │ │ │ │ - vldr d1, [sp, #320] @ 0x140 │ │ │ │ │ - vldr d4, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d2, [sp, #280] @ 0x118 │ │ │ │ │ - vldr d3, [sp, #256] @ 0x100 │ │ │ │ │ + ldr r2, [sp, #24] │ │ │ │ │ vmul.f64 d6, d5, d11 │ │ │ │ │ + vldr d2, [sp, #216] @ 0xd8 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + vsub.f64 d7, d3, d9 │ │ │ │ │ + vldr d3, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ ldr r1, [sp, #116] @ 0x74 │ │ │ │ │ - vldr d12, [sp, #552] @ 0x228 │ │ │ │ │ - vadd.f64 d3, d3, d1 │ │ │ │ │ - vadd.f64 d1, d4, d2 │ │ │ │ │ - vldr d9, [sp, #504] @ 0x1f8 │ │ │ │ │ vnmls.f64 d6, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ + vadd.f64 d3, d3, d1 │ │ │ │ │ + vldr d1, [sp, #304] @ 0x130 │ │ │ │ │ vmla.f64 d7, d5, d13 │ │ │ │ │ - vsub.f64 d5, d14, d10 │ │ │ │ │ + vsub.f64 d5, d14, d2 │ │ │ │ │ + vadd.f64 d1, d1, d10 │ │ │ │ │ vadd.f64 d2, d3, d1 │ │ │ │ │ vsub.f64 d3, d3, d1 │ │ │ │ │ - vldr d14, [sp, #536] @ 0x218 │ │ │ │ │ - vldr d1, [sp, #392] @ 0x188 │ │ │ │ │ - vldr d10, [sp, #432] @ 0x1b0 │ │ │ │ │ vmul.f64 d4, d2, d8 │ │ │ │ │ vmul.f64 d3, d3, d0 │ │ │ │ │ vnmls.f64 d4, d5, d15 │ │ │ │ │ vadd.f64 d5, d5, d2 │ │ │ │ │ vmul.f64 d5, d5, d15 │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ vadd.f64 d5, d4, d3 │ │ │ │ │ vsub.f64 d4, d4, d3 │ │ │ │ │ - ldr r1, [sp, #128] @ 0x80 │ │ │ │ │ - vldr d3, [sp, #208] @ 0xd0 │ │ │ │ │ + ldr r5, [sp, #0] │ │ │ │ │ + vldr d1, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d9, [sp, #512] @ 0x200 │ │ │ │ │ vadd.f64 d2, d7, d5 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ vadd.f64 d7, d6, d4 │ │ │ │ │ + vldr d14, [sp, #552] @ 0x228 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ + vldr d3, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d10, [sp, #424] @ 0x1a8 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ - vadd.f64 d2, d9, d3 │ │ │ │ │ - vstr d5, [r9] │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ - vsub.f64 d7, d1, d14 │ │ │ │ │ - ldr r1, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d3, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d1, [sp, #248] @ 0xf8 │ │ │ │ │ - ldr r3, [sp, #24] │ │ │ │ │ - vstr d4, [r1] │ │ │ │ │ - vldr d4, [sp, #264] @ 0x108 │ │ │ │ │ + vadd.f64 d2, d9, d1 │ │ │ │ │ + vstr d5, [sl] │ │ │ │ │ + ldr r3, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d12, [sp, #536] @ 0x218 │ │ │ │ │ + vldr d5, [sp, #272] @ 0x110 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + vldr d1, [sp, #232] @ 0xe8 │ │ │ │ │ + ldr r3, [sp, #68] @ 0x44 │ │ │ │ │ + vsub.f64 d6, d5, d14 │ │ │ │ │ + ldr r2, [sp, #16] │ │ │ │ │ + vldr d5, [sp, #296] @ 0x128 │ │ │ │ │ vadd.f64 d1, d3, d1 │ │ │ │ │ - ldr r1, [sp, #144] @ 0x90 │ │ │ │ │ - vsub.f64 d6, d4, d12 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + ldr r3, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d4, [sp, #376] @ 0x178 │ │ │ │ │ + vsub.f64 d5, d10, d5 │ │ │ │ │ + vsub.f64 d7, d4, d12 │ │ │ │ │ + vsub.f64 d3, d5, d1 │ │ │ │ │ + vadd.f64 d5, d5, d1 │ │ │ │ │ + vldr d1, [sp, #376] @ 0x178 │ │ │ │ │ vmul.f64 d4, d7, d11 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ + vmul.f64 d5, d5, d0 │ │ │ │ │ + vadd.f64 d1, d12, d1 │ │ │ │ │ vnmls.f64 d4, d6, d13 │ │ │ │ │ vmla.f64 d7, d6, d11 │ │ │ │ │ - vldr d6, [sp, #288] @ 0x120 │ │ │ │ │ - vsub.f64 d5, d10, d6 │ │ │ │ │ - vsub.f64 d3, d5, d1 │ │ │ │ │ - vadd.f64 d5, d5, d1 │ │ │ │ │ vmul.f64 d6, d3, d8 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ vmla.f64 d6, d2, d15 │ │ │ │ │ - vmul.f64 d5, d5, d0 │ │ │ │ │ vmul.f64 d3, d3, d15 │ │ │ │ │ - vstr d3, [r1] │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ + ldr r3, [sp, #80] @ 0x50 │ │ │ │ │ vsub.f64 d3, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ + vldr d5, [sp, #232] @ 0xe8 │ │ │ │ │ vadd.f64 d2, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vstr d2, [r3] │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + vldr d3, [sp, #272] @ 0x110 │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ + vadd.f64 d3, d14, d3 │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ vadd.f64 d7, d4, d6 │ │ │ │ │ - ldr r3, [sp, #80] @ 0x50 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ - vldr d6, [sp, #288] @ 0x120 │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ - vadd.f64 d6, d10, d6 │ │ │ │ │ + vadd.f64 d2, d3, d1 │ │ │ │ │ + vsub.f64 d3, d3, d1 │ │ │ │ │ + vstr d7, [lr] │ │ │ │ │ + vldr d7, [sp, #296] @ 0x128 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ - vldr d10, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d7, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d3, [sp, #264] @ 0x108 │ │ │ │ │ - vldr d1, [sp, #392] @ 0x188 │ │ │ │ │ - vsub.f64 d7, d10, d7 │ │ │ │ │ + vmul.f64 d3, d3, d0 │ │ │ │ │ + vadd.f64 d6, d10, d7 │ │ │ │ │ + vldr d7, [sp, #320] @ 0x140 │ │ │ │ │ vldr d10, [sp, #520] @ 0x208 │ │ │ │ │ - vadd.f64 d3, d12, d3 │ │ │ │ │ - ldr r1, [sp, #160] @ 0xa0 │ │ │ │ │ - vadd.f64 d1, d14, d1 │ │ │ │ │ - ldr r2, [sp, #8] │ │ │ │ │ - ldr r3, [sp, #104] @ 0x68 │ │ │ │ │ + vsub.f64 d7, d5, d7 │ │ │ │ │ vmul.f64 d5, d7, d11 │ │ │ │ │ - ldr r0, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d14, [sp, #456] @ 0x1c8 │ │ │ │ │ - vadd.f64 d2, d3, d1 │ │ │ │ │ - vsub.f64 d3, d3, d1 │ │ │ │ │ - vldr d12, [sp, #528] @ 0x210 │ │ │ │ │ vnmls.f64 d5, d6, d13 │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ vmla.f64 d6, d7, d13 │ │ │ │ │ - vldr d7, [sp, #40] @ 0x28 │ │ │ │ │ - vmul.f64 d3, d3, d0 │ │ │ │ │ - vldr d1, [sp, #344] @ 0x158 │ │ │ │ │ - ldr r4, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d7, [sp, #32] │ │ │ │ │ + ldr r2, [sp, #160] @ 0xa0 │ │ │ │ │ + ldr r4, [sp, #52] @ 0x34 │ │ │ │ │ vsub.f64 d4, d10, d7 │ │ │ │ │ vmul.f64 d7, d2, d8 │ │ │ │ │ - ldr r7, [sp, #168] @ 0xa8 │ │ │ │ │ + ldr r5, [sp, #64] @ 0x40 │ │ │ │ │ + ldr r1, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d1, [sp, #208] @ 0xd0 │ │ │ │ │ vnmls.f64 d7, d4, d15 │ │ │ │ │ vadd.f64 d4, d4, d2 │ │ │ │ │ + vldr d12, [sp, #528] @ 0x210 │ │ │ │ │ + vldr d14, [sp, #440] @ 0x1b8 │ │ │ │ │ + ldr r3, [sp, #120] @ 0x78 │ │ │ │ │ vmul.f64 d4, d4, d15 │ │ │ │ │ - vstr d4, [r1] │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ vadd.f64 d4, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vldr d3, [sp, #208] @ 0xd0 │ │ │ │ │ + vsub.f64 d3, d9, d1 │ │ │ │ │ + vldr d9, [sp, #448] @ 0x1c0 │ │ │ │ │ vadd.f64 d2, d6, d4 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vsub.f64 d6, d7, d5 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ - vldr d7, [sp, #200] @ 0xc8 │ │ │ │ │ - vsub.f64 d3, d9, d3 │ │ │ │ │ - vldr d9, [sp, #464] @ 0x1d0 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - vldr d4, [sp, #272] @ 0x110 │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ - vsub.f64 d6, d14, d7 │ │ │ │ │ - ldr r2, [sp, #16] │ │ │ │ │ - vsub.f64 d7, d4, d12 │ │ │ │ │ - vldr d2, [sp, #336] @ 0x150 │ │ │ │ │ - ldr r0, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - vadd.f64 d5, d2, d1 │ │ │ │ │ + vldr d7, [sp, #280] @ 0x118 │ │ │ │ │ + vstr d2, [ip] │ │ │ │ │ + vldr d2, [sp, #344] @ 0x158 │ │ │ │ │ + vsub.f64 d7, d7, d12 │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ + vstr d5, [r6] │ │ │ │ │ + ldr r6, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d5, [sp, #256] @ 0x100 │ │ │ │ │ vmul.f64 d4, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ - vmla.f64 d7, d6, d13 │ │ │ │ │ + vldr d6, [sp, #200] @ 0xc8 │ │ │ │ │ + vadd.f64 d5, d2, d5 │ │ │ │ │ + vldr d2, [sp, #312] @ 0x138 │ │ │ │ │ + vsub.f64 d6, d14, d6 │ │ │ │ │ + vadd.f64 d1, d9, d2 │ │ │ │ │ vnmls.f64 d4, d6, d11 │ │ │ │ │ - vldr d6, [sp, #304] @ 0x130 │ │ │ │ │ - vadd.f64 d1, d9, d6 │ │ │ │ │ + vmla.f64 d7, d6, d13 │ │ │ │ │ vadd.f64 d2, d5, d1 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ + vldr d1, [sp, #344] @ 0x158 │ │ │ │ │ vmul.f64 d6, d2, d8 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ vnmls.f64 d6, d3, d15 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ vmul.f64 d3, d3, d15 │ │ │ │ │ - vstr d3, [r8] │ │ │ │ │ - vadd.f64 d3, d6, d5 │ │ │ │ │ - b.n d58 │ │ │ │ │ - nop │ │ │ │ │ + b.n d70 │ │ │ │ │ + nop.w │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fd1e377 │ │ │ │ │ + vstr d3, [r9] │ │ │ │ │ + vadd.f64 d3, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vadd.f64 d2, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ + vldr d3, [sp, #280] @ 0x118 │ │ │ │ │ + vstr d2, [r6] │ │ │ │ │ + vadd.f64 d3, d12, d3 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vadd.f64 d7, d4, d6 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ - vstr d7, [r7] │ │ │ │ │ - ldr r6, [sp, #68] @ 0x44 │ │ │ │ │ - vldr d6, [sp, #304] @ 0x130 │ │ │ │ │ - vldr d2, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d1, [sp, #344] @ 0x158 │ │ │ │ │ - vsub.f64 d5, d6, d9 │ │ │ │ │ - vldr d3, [sp, #272] @ 0x110 │ │ │ │ │ - vstr d4, [r6] │ │ │ │ │ - vsub.f64 d7, d1, d2 │ │ │ │ │ - vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ - vadd.f64 d3, d12, d3 │ │ │ │ │ - ldr r2, [sp, #76] @ 0x4c │ │ │ │ │ + ldr r3, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ + vldr d7, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d4, [sp, #312] @ 0x138 │ │ │ │ │ + vsub.f64 d7, d7, d1 │ │ │ │ │ + vsub.f64 d5, d4, d9 │ │ │ │ │ + vldr d4, [sp, #32] │ │ │ │ │ vmul.f64 d6, d5, d11 │ │ │ │ │ - ldr r3, [sp, #688] @ 0x2b0 │ │ │ │ │ - vadd.f64 d4, d10, d2 │ │ │ │ │ - ldr r7, [sp, #184] @ 0xb8 │ │ │ │ │ + vadd.f64 d4, d10, d4 │ │ │ │ │ vmla.f64 d6, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #688] @ 0x2b0 │ │ │ │ │ - ldr r3, [sp, #564] @ 0x234 │ │ │ │ │ - ldr r5, [sp, #112] @ 0x70 │ │ │ │ │ vnmls.f64 d7, d5, d13 │ │ │ │ │ vldr d5, [sp, #200] @ 0xc8 │ │ │ │ │ - add r8, r3 │ │ │ │ │ - ldr r0, [sp, #0] │ │ │ │ │ vadd.f64 d5, d14, d5 │ │ │ │ │ - adds r0, #64 @ 0x40 │ │ │ │ │ - str r0, [sp, #0] │ │ │ │ │ vadd.f64 d2, d5, d3 │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ vmul.f64 d3, d2, d8 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ vnmls.f64 d3, d4, d15 │ │ │ │ │ vadd.f64 d4, d4, d2 │ │ │ │ │ vmul.f64 d4, d4, d15 │ │ │ │ │ - vstr d4, [lr] │ │ │ │ │ + vstr d4, [r8] │ │ │ │ │ vsub.f64 d4, d3, d5 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ - add lr, r3 │ │ │ │ │ - ldr r3, [sp, #568] @ 0x238 │ │ │ │ │ + ldr r4, [sp, #88] @ 0x58 │ │ │ │ │ + ldr r3, [sp, #184] @ 0xb8 │ │ │ │ │ + ldr r1, [sp, #560] @ 0x230 │ │ │ │ │ vadd.f64 d2, d7, d4 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ vsub.f64 d7, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + ldr r3, [sp, #688] @ 0x2b0 │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ + ldr r4, [sp, #112] @ 0x70 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + str r3, [sp, #688] @ 0x2b0 │ │ │ │ │ + ldr r3, [sp, #564] @ 0x234 │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + ldr r2, [sp, #688] @ 0x2b0 │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ + add r8, r3 │ │ │ │ │ add r9, r3 │ │ │ │ │ + ldr r3, [sp, #568] @ 0x238 │ │ │ │ │ add sl, r3 │ │ │ │ │ + add fp, r3 │ │ │ │ │ ldr r3, [sp, #572] @ 0x23c │ │ │ │ │ - vstr d2, [r7] │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - eor.w fp, fp, r3 │ │ │ │ │ - ldr r2, [sp, #560] @ 0x230 │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - ldrd r2, r3, [sp, #688] @ 0x2b0 │ │ │ │ │ + eor.w r0, r0, r3 │ │ │ │ │ + ldr r3, [sp, #692] @ 0x2b4 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 70 │ │ │ │ │ + bne.w 78 │ │ │ │ │ add.w sp, sp, #580 @ 0x244 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -00000e40 : │ │ │ │ │ +00000e68 : │ │ │ │ │ fftw_codelet_hc2cfdft2_20(): │ │ │ │ │ - ldr r2, [pc, #12] @ (e50 ) │ │ │ │ │ - movs r3, #1 │ │ │ │ │ - ldr r1, [pc, #12] @ (e54 ) │ │ │ │ │ + ldr r2, [pc, #12] @ (e78 ) │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + ldr r1, [pc, #12] @ (e7c ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2c_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + .word 0x00000006 │ │ │ │ │ R_ARM_REL32 hc2cfdft2_20 │ │ │ ├── hc2cfdft2_32.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 6980 (bytes into file) │ │ │ │ │ + Start of section headers: 7172 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x1b44: │ │ │ │ │ +There are 14 section headers, starting at offset 0x1c04: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0017f4 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 001a8c 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 001828 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 001828 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 001828 00000d 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 001835 000014 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 001849 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 001ab4 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 001879 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 001879 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 0018ac 000150 10 12 16 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 0019fc 000090 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 001acc 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0018b4 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 001b4c 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0018e8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0018e8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0018e8 00000d 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 0018f5 000014 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 001909 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 001b74 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 001939 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 001939 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 00196c 000150 10 12 16 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 001abc 000090 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 001b8c 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 21 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 6106 FUNC LOCAL DEFAULT 1 hc2cfdft2_32 │ │ │ │ │ + 1: 00000001 6298 FUNC LOCAL DEFAULT 1 hc2cfdft2_32 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000f68 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000f78 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00001390 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 000013d8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 000017ec 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000068 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000070 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00001378 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 000013c0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 000018ac 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 20 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 13: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 14: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 15: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 18: 000017dd 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cfdft2_32 │ │ │ │ │ + 18: 0000189d 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cfdft2_32 │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2c_register │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hc2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x1a8c contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x1b4c contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000f70 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000f74 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000017ec 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000017f0 00000103 R_ARM_REL32 00000001 hc2cfdft2_32 │ │ │ │ │ -000017e6 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ +00000068 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000006c 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +000018ac 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000018b0 00000103 R_ARM_REL32 00000001 hc2cfdft2_32 │ │ │ │ │ +000018a8 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x1ab4 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x1b74 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000a02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001402 R_ARM_ABS32 00000000 fftw_rdft_hc2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,1658 +1,1708 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hc2cfdft2_32(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r4, r2 │ │ │ │ │ - mov r5, r3 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r5, r1 │ │ │ │ │ + mov r6, r2 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r7, r3 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub.w sp, sp, #916 @ 0x394 │ │ │ │ │ - ldr.w r3, [pc, #3932] @ f70 │ │ │ │ │ - ldr.w r2, [sp, #1024] @ 0x400 │ │ │ │ │ + sub.w sp, sp, #932 @ 0x3a4 │ │ │ │ │ + ldr r3, [pc, #68] @ (68 ) │ │ │ │ │ + ldr.w r2, [sp, #1040] @ 0x410 │ │ │ │ │ + ldr.w r1, [sp, #1044] @ 0x414 │ │ │ │ │ add r3, pc │ │ │ │ │ - ldr.w r7, [sp, #1028] @ 0x404 │ │ │ │ │ - cmp r2, r7 │ │ │ │ │ - bge.w 17ce │ │ │ │ │ - ldr.w r2, [sp, #1032] @ 0x408 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ - str r2, [sp, #900] @ 0x384 │ │ │ │ │ - negs r2, r2 │ │ │ │ │ - str r2, [sp, #904] @ 0x388 │ │ │ │ │ - ldr.w r2, [pc, #3904] @ f74 │ │ │ │ │ + ldr.w ip, [sp, #1036] @ 0x40c │ │ │ │ │ + cmp r2, r1 │ │ │ │ │ + bge.w 187c │ │ │ │ │ + ldr.w r2, [sp, #1048] @ 0x418 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + str r2, [sp, #916] @ 0x394 │ │ │ │ │ + rsb r2, r2, #0 │ │ │ │ │ + str r2, [sp, #920] @ 0x398 │ │ │ │ │ + ldr r2, [pc, #32] @ (6c ) │ │ │ │ │ ldr r3, [r3, r2] │ │ │ │ │ - ldr.w r2, [sp, #1024] @ 0x400 │ │ │ │ │ + str r0, [sp, #0] │ │ │ │ │ + ldr.w r2, [sp, #1040] @ 0x410 │ │ │ │ │ + str r5, [sp, #8] │ │ │ │ │ + str r6, [sp, #16] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - str r3, [sp, #908] @ 0x38c │ │ │ │ │ - ldr r3, [sp, #1016] @ 0x3f8 │ │ │ │ │ - add.w fp, r3, r2, lsl #6 │ │ │ │ │ - vldr d2, [fp, #-64] @ 0xffffffc0 │ │ │ │ │ - movs r6, #96 @ 0x60 │ │ │ │ │ - vldr d0, [fp, #-56] @ 0xffffffc8 │ │ │ │ │ - mov.w ip, #120 @ 0x78 │ │ │ │ │ - vldr d7, [fp, #-48] @ 0xffffffd0 │ │ │ │ │ - add.w fp, fp, #64 @ 0x40 │ │ │ │ │ - vldr d6, [fp, #-104] @ 0xffffff98 │ │ │ │ │ - vldr d1, [fp, #-96] @ 0xffffffa0 │ │ │ │ │ + str r7, [sp, #24] │ │ │ │ │ + str r3, [sp, #924] @ 0x39c │ │ │ │ │ + ldr.w r3, [sp, #1032] @ 0x408 │ │ │ │ │ + add.w r0, r3, r2, lsl #6 │ │ │ │ │ + b.n 70 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x00000038 │ │ │ │ │ + R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ + .word 0x00000000 │ │ │ │ │ + R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ + vldr d2, [r0, #-64] @ 0xffffffc0 │ │ │ │ │ + mov.w r3, ip, lsl #5 │ │ │ │ │ + mov.w lr, #88 @ 0x58 │ │ │ │ │ + add.w r8, ip, ip, lsl #1 │ │ │ │ │ + add.w r0, r0, #64 @ 0x40 │ │ │ │ │ + vldr d0, [r0, #-120] @ 0xffffff88 │ │ │ │ │ + mul.w lr, lr, ip │ │ │ │ │ + vldr d7, [r0, #-112] @ 0xffffff90 │ │ │ │ │ + vldr d11, [r0, #-112] @ 0xffffff90 │ │ │ │ │ + vldr d6, [r0, #-104] @ 0xffffff98 │ │ │ │ │ vmul.f64 d4, d2, d7 │ │ │ │ │ vmul.f64 d7, d0, d7 │ │ │ │ │ + vldr d5, [r0, #-112] @ 0xffffff90 │ │ │ │ │ + vldr d12, [r0, #-104] @ 0xffffff98 │ │ │ │ │ vmul.f64 d13, d0, d6 │ │ │ │ │ vmul.f64 d6, d2, d6 │ │ │ │ │ - vldr d5, [fp, #-112] @ 0xffffff90 │ │ │ │ │ - vldr d11, [fp, #-112] @ 0xffffff90 │ │ │ │ │ - vldr d12, [fp, #-104] @ 0xffffff98 │ │ │ │ │ + vldr d1, [r0, #-96] @ 0xffffffa0 │ │ │ │ │ vadd.f64 d10, d7, d6 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ + vldr d6, [r0, #-104] @ 0xffffff98 │ │ │ │ │ vadd.f64 d9, d4, d13 │ │ │ │ │ vsub.f64 d13, d4, d13 │ │ │ │ │ - vldr d6, [fp, #-104] @ 0xffffff98 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - vstr d7, [sp, #24] │ │ │ │ │ - vldr d7, [fp, #-88] @ 0xffffffa8 │ │ │ │ │ - vstr d13, [sp, #8] │ │ │ │ │ + vstr d7, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d7, [r0, #-88] @ 0xffffffa8 │ │ │ │ │ + vstr d9, [sp, #32] │ │ │ │ │ + vstr d13, [sp, #40] @ 0x28 │ │ │ │ │ vmul.f64 d13, d6, d1 │ │ │ │ │ - vstr d5, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d5, [sp, #80] @ 0x50 │ │ │ │ │ + vstr d10, [sp, #48] @ 0x30 │ │ │ │ │ vmul.f64 d6, d11, d7 │ │ │ │ │ - vldr d11, [fp, #-104] @ 0xffffff98 │ │ │ │ │ - vstr d9, [sp] │ │ │ │ │ - vstr d13, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d11, [r0, #-104] @ 0xffffff98 │ │ │ │ │ + vstr d13, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d13, [r0, #-112] @ 0xffffff90 │ │ │ │ │ vmul.f64 d5, d11, d7 │ │ │ │ │ - vldr d11, [fp, #-80] @ 0xffffffb0 │ │ │ │ │ - vldr d13, [fp, #-112] @ 0xffffff90 │ │ │ │ │ - vstr d10, [sp, #16] │ │ │ │ │ + vldr d11, [r0, #-80] @ 0xffffffb0 │ │ │ │ │ vmul.f64 d8, d12, d11 │ │ │ │ │ - vldr d12, [fp, #-72] @ 0xffffffb8 │ │ │ │ │ + vldr d12, [r0, #-72] @ 0xffffffb8 │ │ │ │ │ vmul.f64 d10, d2, d11 │ │ │ │ │ vmul.f64 d3, d13, d11 │ │ │ │ │ vmul.f64 d9, d0, d12 │ │ │ │ │ vmul.f64 d15, d13, d12 │ │ │ │ │ - vldr d13, [fp, #-104] @ 0xffffff98 │ │ │ │ │ + vldr d13, [r0, #-104] @ 0xffffff98 │ │ │ │ │ vmul.f64 d14, d2, d12 │ │ │ │ │ vmul.f64 d4, d13, d12 │ │ │ │ │ vadd.f64 d13, d10, d9 │ │ │ │ │ - vstr d14, [sp, #32] │ │ │ │ │ + vstr d14, [sp, #64] @ 0x40 │ │ │ │ │ vsub.f64 d9, d10, d9 │ │ │ │ │ - vstr d13, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d13, [sp, #272] @ 0x110 │ │ │ │ │ vmov.f64 d13, d14 │ │ │ │ │ vmul.f64 d14, d0, d11 │ │ │ │ │ - vstr d9, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d9, [sp, #216] @ 0xd8 │ │ │ │ │ vsub.f64 d14, d13, d14 │ │ │ │ │ vsub.f64 d13, d15, d8 │ │ │ │ │ vadd.f64 d15, d8, d15 │ │ │ │ │ vmul.f64 d8, d0, d11 │ │ │ │ │ - vstr d13, [sp, #216] @ 0xd8 │ │ │ │ │ - vstr d15, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d13, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d13, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d15, [sp, #344] @ 0x158 │ │ │ │ │ vsub.f64 d15, d3, d4 │ │ │ │ │ vadd.f64 d4, d3, d4 │ │ │ │ │ - vldr d13, [sp, #32] │ │ │ │ │ - vstr d14, [sp, #240] @ 0xf0 │ │ │ │ │ - vadd.f64 d14, d8, d13 │ │ │ │ │ - vstr d15, [sp, #344] @ 0x158 │ │ │ │ │ - vstr d4, [sp, #224] @ 0xe0 │ │ │ │ │ + vstr d4, [sp, #208] @ 0xd0 │ │ │ │ │ vmul.f64 d4, d7, d12 │ │ │ │ │ + vstr d14, [sp, #280] @ 0x118 │ │ │ │ │ + vadd.f64 d14, d8, d13 │ │ │ │ │ vmla.f64 d4, d1, d11 │ │ │ │ │ - vstr d14, [sp, #184] @ 0xb8 │ │ │ │ │ - vstr d4, [sp, #256] @ 0x100 │ │ │ │ │ + vstr d14, [sp, #224] @ 0xe0 │ │ │ │ │ + vstr d15, [sp, #352] @ 0x160 │ │ │ │ │ + vstr d4, [sp, #288] @ 0x120 │ │ │ │ │ vmul.f64 d4, d7, d11 │ │ │ │ │ vmov.f64 d8, d4 │ │ │ │ │ vnmls.f64 d8, d1, d12 │ │ │ │ │ - vstr d8, [sp, #264] @ 0x108 │ │ │ │ │ - vldr d9, [sp] │ │ │ │ │ - vldr d10, [sp, #24] │ │ │ │ │ - vldr d13, [sp, #8] │ │ │ │ │ + vstr d8, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d9, [sp, #32] │ │ │ │ │ + vldr d13, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d10, [sp, #56] @ 0x38 │ │ │ │ │ vmul.f64 d3, d9, d11 │ │ │ │ │ vmul.f64 d4, d10, d12 │ │ │ │ │ vadd.f64 d8, d3, d4 │ │ │ │ │ vsub.f64 d3, d3, d4 │ │ │ │ │ - vmul.f64 d4, d10, d11 │ │ │ │ │ - vldr d10, [sp, #16] │ │ │ │ │ - vstr d3, [sp, #248] @ 0xf8 │ │ │ │ │ - vmul.f64 d3, d9, d12 │ │ │ │ │ + vmov.f64 d4, d9 │ │ │ │ │ + vmov.f64 d9, d10 │ │ │ │ │ + vldr d10, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d3, [sp, #336] @ 0x150 │ │ │ │ │ + vmul.f64 d3, d4, d12 │ │ │ │ │ + vmul.f64 d4, d9, d11 │ │ │ │ │ vsub.f64 d9, d3, d4 │ │ │ │ │ vadd.f64 d14, d3, d4 │ │ │ │ │ vmul.f64 d4, d10, d12 │ │ │ │ │ vmul.f64 d3, d13, d11 │ │ │ │ │ - vstr d14, [sp, #272] @ 0x110 │ │ │ │ │ - vmul.f64 d14, d2, d1 │ │ │ │ │ + vstr d14, [sp, #360] @ 0x168 │ │ │ │ │ vsub.f64 d15, d3, d4 │ │ │ │ │ vadd.f64 d3, d3, d4 │ │ │ │ │ + vldr d14, [sp, #80] @ 0x50 │ │ │ │ │ vmul.f64 d4, d10, d11 │ │ │ │ │ vmul.f64 d10, d2, d7 │ │ │ │ │ - vstr d3, [sp, #360] @ 0x168 │ │ │ │ │ + vstr d15, [sp, #368] @ 0x170 │ │ │ │ │ + vstr d3, [sp, #376] @ 0x178 │ │ │ │ │ vmul.f64 d3, d13, d12 │ │ │ │ │ - vstr d15, [sp, #352] @ 0x160 │ │ │ │ │ vsub.f64 d15, d3, d4 │ │ │ │ │ vadd.f64 d13, d3, d4 │ │ │ │ │ + vmul.f64 d4, d2, d1 │ │ │ │ │ vmul.f64 d3, d0, d7 │ │ │ │ │ - vstr d15, [sp, #376] @ 0x178 │ │ │ │ │ + vstr d13, [sp, #384] @ 0x180 │ │ │ │ │ + vstr d15, [sp, #736] @ 0x2e0 │ │ │ │ │ vmul.f64 d15, d0, d1 │ │ │ │ │ - vsub.f64 d3, d14, d3 │ │ │ │ │ - vstr d13, [sp, #368] @ 0x170 │ │ │ │ │ - vldr d13, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d14, [sp, #48] @ 0x30 │ │ │ │ │ + vsub.f64 d3, d4, d3 │ │ │ │ │ + vldr d13, [sp, #72] @ 0x48 │ │ │ │ │ vadd.f64 d4, d15, d10 │ │ │ │ │ - vstr d3, [sp, #288] @ 0x120 │ │ │ │ │ + vstr d3, [sp, #304] @ 0x130 │ │ │ │ │ vmov.f64 d10, d4 │ │ │ │ │ vmul.f64 d4, d12, d4 │ │ │ │ │ + vstr d10, [sp, #312] @ 0x138 │ │ │ │ │ vmla.f64 d4, d11, d3 │ │ │ │ │ - vstr d10, [sp, #296] @ 0x128 │ │ │ │ │ - vstr d4, [sp, #280] @ 0x118 │ │ │ │ │ + vstr d4, [sp, #232] @ 0xe8 │ │ │ │ │ vmul.f64 d4, d11, d10 │ │ │ │ │ vsub.f64 d10, d14, d5 │ │ │ │ │ vadd.f64 d5, d14, d5 │ │ │ │ │ vnmls.f64 d4, d12, d3 │ │ │ │ │ - vstr d5, [sp, #384] @ 0x180 │ │ │ │ │ - vstr d4, [sp, #320] @ 0x140 │ │ │ │ │ + vstr d4, [sp, #240] @ 0xf0 │ │ │ │ │ vadd.f64 d4, d13, d6 │ │ │ │ │ vsub.f64 d6, d6, d13 │ │ │ │ │ vmul.f64 d13, d0, d7 │ │ │ │ │ + vstr d5, [sp, #392] @ 0x188 │ │ │ │ │ vmov.f64 d3, d4 │ │ │ │ │ vmul.f64 d4, d12, d4 │ │ │ │ │ + vstr d3, [sp, #136] @ 0x88 │ │ │ │ │ vmla.f64 d4, d11, d10 │ │ │ │ │ - vstr d3, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d4, [sp, #736] @ 0x2e0 │ │ │ │ │ + vstr d4, [sp, #744] @ 0x2e8 │ │ │ │ │ vmul.f64 d4, d11, d3 │ │ │ │ │ + vldr d3, [sp, #48] @ 0x30 │ │ │ │ │ vnmls.f64 d4, d12, d10 │ │ │ │ │ - vstr d4, [sp, #744] @ 0x2e8 │ │ │ │ │ + vstr d4, [sp, #752] @ 0x2f0 │ │ │ │ │ vmov.f64 d4, d6 │ │ │ │ │ vmul.f64 d6, d12, d6 │ │ │ │ │ + vstr d4, [sp, #400] @ 0x190 │ │ │ │ │ vmla.f64 d6, d11, d5 │ │ │ │ │ - vstr d4, [sp, #392] @ 0x188 │ │ │ │ │ - vstr d6, [sp, #328] @ 0x148 │ │ │ │ │ + vstr d6, [sp, #264] @ 0x108 │ │ │ │ │ vmul.f64 d6, d11, d4 │ │ │ │ │ vnmls.f64 d6, d12, d5 │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ - vadd.f64 d3, d5, d13 │ │ │ │ │ - vldr d13, [sp, #8] │ │ │ │ │ - vstr d6, [sp, #488] @ 0x1e8 │ │ │ │ │ + vadd.f64 d4, d5, d13 │ │ │ │ │ + vldr d13, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d6, [sp, #496] @ 0x1f0 │ │ │ │ │ vmul.f64 d6, d2, d7 │ │ │ │ │ - vstr d3, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d4, [sp, #144] @ 0x90 │ │ │ │ │ vsub.f64 d5, d6, d15 │ │ │ │ │ vmul.f64 d6, d12, d5 │ │ │ │ │ - vstr d5, [sp, #112] @ 0x70 │ │ │ │ │ - vmla.f64 d6, d11, d3 │ │ │ │ │ - vstr d6, [sp, #608] @ 0x260 │ │ │ │ │ + vstr d5, [sp, #152] @ 0x98 │ │ │ │ │ + vmla.f64 d6, d11, d4 │ │ │ │ │ + vstr d6, [sp, #616] @ 0x268 │ │ │ │ │ vmul.f64 d6, d11, d5 │ │ │ │ │ vmul.f64 d5, d13, d1 │ │ │ │ │ vmov.f64 d14, d6 │ │ │ │ │ - vnmls.f64 d14, d12, d3 │ │ │ │ │ - vldr d3, [sp, #16] │ │ │ │ │ vmul.f64 d6, d3, d7 │ │ │ │ │ + vnmls.f64 d14, d12, d4 │ │ │ │ │ vsub.f64 d4, d5, d6 │ │ │ │ │ vadd.f64 d6, d5, d6 │ │ │ │ │ vmul.f64 d5, d13, d7 │ │ │ │ │ - vstr d14, [sp, #616] @ 0x268 │ │ │ │ │ - vstr d6, [sp, #32] │ │ │ │ │ + vstr d6, [sp, #64] @ 0x40 │ │ │ │ │ vmul.f64 d6, d3, d1 │ │ │ │ │ + vstr d14, [sp, #624] @ 0x270 │ │ │ │ │ vadd.f64 d3, d5, d6 │ │ │ │ │ vsub.f64 d6, d5, d6 │ │ │ │ │ - vldr d5, [sp, #32] │ │ │ │ │ + vldr d5, [sp, #64] @ 0x40 │ │ │ │ │ vmov.f64 d13, d6 │ │ │ │ │ vmul.f64 d6, d12, d3 │ │ │ │ │ vmov.f64 d15, d6 │ │ │ │ │ vmul.f64 d6, d11, d13 │ │ │ │ │ vmla.f64 d15, d11, d4 │ │ │ │ │ vmov.f64 d14, d6 │ │ │ │ │ vmul.f64 d6, d11, d3 │ │ │ │ │ vnmls.f64 d14, d12, d5 │ │ │ │ │ - vstr d15, [sp, #728] @ 0x2d8 │ │ │ │ │ + vstr d15, [sp, #760] @ 0x2f8 │ │ │ │ │ vmov.f64 d15, d6 │ │ │ │ │ vmul.f64 d6, d12, d13 │ │ │ │ │ vnmls.f64 d15, d12, d4 │ │ │ │ │ - vstr d14, [sp, #720] @ 0x2d0 │ │ │ │ │ - vstr d3, [sp, #136] @ 0x88 │ │ │ │ │ - vstr d4, [sp, #128] @ 0x80 │ │ │ │ │ - vldr d3, [sp, #24] │ │ │ │ │ - vldr d4, [sp] │ │ │ │ │ - vstr d15, [sp, #752] @ 0x2f0 │ │ │ │ │ + vstr d14, [sp, #728] @ 0x2d8 │ │ │ │ │ + vstr d4, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d3, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d4, [sp, #32] │ │ │ │ │ + vstr d13, [sp, #176] @ 0xb0 │ │ │ │ │ + ldr r7, [sp, #0] │ │ │ │ │ + vldr d3, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d15, [sp, #768] @ 0x300 │ │ │ │ │ vmov.f64 d15, d6 │ │ │ │ │ + ldr r5, [sp, #8] │ │ │ │ │ + ldr r4, [sp, #24] │ │ │ │ │ vmla.f64 d15, d11, d5 │ │ │ │ │ - vmul.f64 d6, d3, d7 │ │ │ │ │ vmul.f64 d5, d4, d1 │ │ │ │ │ - vstr d13, [sp, #144] @ 0x90 │ │ │ │ │ - ldr r3, [sp, #1020] @ 0x3fc │ │ │ │ │ + vmul.f64 d6, d3, d7 │ │ │ │ │ + ldr r6, [sp, #16] │ │ │ │ │ + add.w r2, r5, r3 │ │ │ │ │ + add.w r1, r4, r3 │ │ │ │ │ + str r2, [sp, #72] @ 0x48 │ │ │ │ │ + str r1, [sp, #80] @ 0x50 │ │ │ │ │ vsub.f64 d14, d5, d6 │ │ │ │ │ - lsls r3, r3, #5 │ │ │ │ │ - adds r2, r1, r3 │ │ │ │ │ - adds r7, r5, r3 │ │ │ │ │ - str r2, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d15, [sp, #760] @ 0x2f8 │ │ │ │ │ + vstr d15, [sp, #776] @ 0x308 │ │ │ │ │ vadd.f64 d15, d5, d6 │ │ │ │ │ vmul.f64 d5, d4, d7 │ │ │ │ │ vmul.f64 d6, d3, d1 │ │ │ │ │ - str r7, [sp, #60] @ 0x3c │ │ │ │ │ - vstr d14, [sp, #304] @ 0x130 │ │ │ │ │ + vstr d14, [sp, #320] @ 0x140 │ │ │ │ │ vmov.f64 d13, d15 │ │ │ │ │ vsub.f64 d15, d5, d6 │ │ │ │ │ vadd.f64 d6, d5, d6 │ │ │ │ │ - vstr d13, [sp, #400] @ 0x190 │ │ │ │ │ + vmov.f64 d5, d13 │ │ │ │ │ vmov.f64 d3, d6 │ │ │ │ │ vmul.f64 d6, d12, d15 │ │ │ │ │ - vmla.f64 d6, d11, d13 │ │ │ │ │ vmov.f64 d4, d15 │ │ │ │ │ - vstr d3, [sp, #312] @ 0x138 │ │ │ │ │ - vstr d4, [sp, #408] @ 0x198 │ │ │ │ │ - vstr d6, [sp, #496] @ 0x1f0 │ │ │ │ │ + vstr d3, [sp, #328] @ 0x148 │ │ │ │ │ + vmla.f64 d6, d11, d13 │ │ │ │ │ + vstr d15, [sp, #416] @ 0x1a0 │ │ │ │ │ + vstr d5, [sp, #408] @ 0x198 │ │ │ │ │ + vldr d13, [r2] │ │ │ │ │ + add.w r2, r7, r3 │ │ │ │ │ + str r2, [sp, #88] @ 0x58 │ │ │ │ │ + vstr d6, [sp, #504] @ 0x1f8 │ │ │ │ │ vmul.f64 d6, d11, d3 │ │ │ │ │ vmov.f64 d15, d6 │ │ │ │ │ vmul.f64 d6, d11, d4 │ │ │ │ │ - vnmls.f64 d6, d12, d13 │ │ │ │ │ vnmls.f64 d15, d12, d14 │ │ │ │ │ - vldr d13, [r2] │ │ │ │ │ - adds r2, r0, r3 │ │ │ │ │ - str r2, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d6, [sp, #504] @ 0x1f8 │ │ │ │ │ + vnmls.f64 d6, d12, d5 │ │ │ │ │ + vstr d15, [sp, #248] @ 0xf8 │ │ │ │ │ + vstr d6, [sp, #512] @ 0x200 │ │ │ │ │ vmul.f64 d6, d12, d3 │ │ │ │ │ - vstr d15, [sp, #416] @ 0x1a0 │ │ │ │ │ vmov.f64 d5, d6 │ │ │ │ │ vmla.f64 d5, d11, d14 │ │ │ │ │ - vstr d5, [sp, #424] @ 0x1a8 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ - adds r7, r4, r3 │ │ │ │ │ - str r7, [sp, #80] @ 0x50 │ │ │ │ │ + vstr d5, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + add.w r1, r6, r3 │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ + str r1, [sp, #104] @ 0x68 │ │ │ │ │ vadd.f64 d6, d13, d5 │ │ │ │ │ - vldr d3, [r7] │ │ │ │ │ - vmov.f64 d15, d5 │ │ │ │ │ + vsub.f64 d13, d13, d5 │ │ │ │ │ vldr d5, [r2] │ │ │ │ │ + mov.w r2, r8, lsl #5 │ │ │ │ │ + add.w r1, r5, r2 │ │ │ │ │ vsub.f64 d4, d5, d3 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ + vstr d13, [sp, #464] @ 0x1d0 │ │ │ │ │ vmul.f64 d3, d7, d6 │ │ │ │ │ - vsub.f64 d13, d13, d15 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vmov.f64 d15, d3 │ │ │ │ │ - vldr d3, [r0] │ │ │ │ │ - vmla.f64 d15, d1, d4 │ │ │ │ │ - vldr d4, [r4] │ │ │ │ │ - vstr d13, [sp, #456] @ 0x1c8 │ │ │ │ │ vnmls.f64 d7, d1, d6 │ │ │ │ │ - vldr d1, [r1] │ │ │ │ │ - vldr d13, [r5] │ │ │ │ │ - vstr d15, [sp, #152] @ 0x98 │ │ │ │ │ - vstr d7, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ + vmla.f64 d15, d1, d4 │ │ │ │ │ + vldr d1, [r5] │ │ │ │ │ + vstr d15, [sp] │ │ │ │ │ + vstr d7, [sp, #8] │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ + str r1, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d3, [r7] │ │ │ │ │ vadd.f64 d6, d1, d7 │ │ │ │ │ + vldr d15, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d14, [sp, #240] @ 0xf0 │ │ │ │ │ vsub.f64 d7, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ - vsub.f64 d1, d1, d13 │ │ │ │ │ + vldr d13, [r4] │ │ │ │ │ vmul.f64 d3, d0, d6 │ │ │ │ │ vmul.f64 d6, d2, d6 │ │ │ │ │ + vsub.f64 d1, d1, d13 │ │ │ │ │ vnmls.f64 d3, d2, d7 │ │ │ │ │ vmov.f64 d2, d6 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + add.w r1, r4, r2 │ │ │ │ │ vmla.f64 d2, d0, d7 │ │ │ │ │ - vstr d3, [sp, #168] @ 0xa8 │ │ │ │ │ - ldr r7, [sp, #1020] @ 0x3fc │ │ │ │ │ - vstr d2, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d14, [sp, #320] @ 0x140 │ │ │ │ │ - vldr d15, [sp, #280] @ 0x118 │ │ │ │ │ - mul.w r2, r6, r7 │ │ │ │ │ - adds r7, r1, r2 │ │ │ │ │ - str r7, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - adds r7, r5, r2 │ │ │ │ │ - str r7, [sp, #84] @ 0x54 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - adds r7, r0, r2 │ │ │ │ │ - adds r2, r4, r2 │ │ │ │ │ - str r7, [sp, #88] @ 0x58 │ │ │ │ │ - str r2, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + str r1, [sp, #108] @ 0x6c │ │ │ │ │ + add.w r1, r7, r2 │ │ │ │ │ + add r2, r6 │ │ │ │ │ + vstr d3, [sp, #16] │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ - vmov.f64 d13, d7 │ │ │ │ │ + vsub.f64 d6, d6, d7 │ │ │ │ │ vldr d0, [r2] │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - ldr r7, [sp, #1020] @ 0x3fc │ │ │ │ │ - vsub.f64 d6, d6, d13 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + vstr d2, [sp, #24] │ │ │ │ │ + str r1, [sp, #112] @ 0x70 │ │ │ │ │ + str r2, [sp, #120] @ 0x78 │ │ │ │ │ + mov.w r2, ip, lsl #6 │ │ │ │ │ + add.w r1, r5, r2 │ │ │ │ │ vsub.f64 d2, d7, d0 │ │ │ │ │ vadd.f64 d7, d7, d0 │ │ │ │ │ vmul.f64 d0, d9, d3 │ │ │ │ │ - lsls r2, r7, #6 │ │ │ │ │ - adds r7, r1, r2 │ │ │ │ │ - str r7, [sp, #100] @ 0x64 │ │ │ │ │ + str r1, [sp, #124] @ 0x7c │ │ │ │ │ vmla.f64 d0, d8, d2 │ │ │ │ │ vmul.f64 d2, d9, d2 │ │ │ │ │ vnmls.f64 d2, d8, d3 │ │ │ │ │ - vldr d8, [r7] │ │ │ │ │ - adds r7, r5, r2 │ │ │ │ │ - str r7, [sp, #104] @ 0x68 │ │ │ │ │ - vmov.f64 d13, d8 │ │ │ │ │ - vstr d0, [sp, #200] @ 0xc8 │ │ │ │ │ - vstr d2, [sp, #208] @ 0xd0 │ │ │ │ │ - vldr d2, [r7] │ │ │ │ │ - adds r7, r0, r2 │ │ │ │ │ - adds r2, r4, r2 │ │ │ │ │ - str r7, [sp, #108] @ 0x6c │ │ │ │ │ - str r2, [sp, #896] @ 0x380 │ │ │ │ │ - vldr d9, [r7] │ │ │ │ │ - vadd.f64 d0, d8, d2 │ │ │ │ │ + vldr d8, [r1] │ │ │ │ │ + add.w r1, r4, r2 │ │ │ │ │ + str r1, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d0, [sp, #184] @ 0xb8 │ │ │ │ │ + vstr d2, [sp, #192] @ 0xc0 │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ + add.w r1, r7, r2 │ │ │ │ │ + add r2, r6 │ │ │ │ │ + vldr d9, [r1] │ │ │ │ │ + str r1, [sp, #132] @ 0x84 │ │ │ │ │ vldr d3, [r2] │ │ │ │ │ - vsub.f64 d2, d13, d2 │ │ │ │ │ + str r2, [sp, #912] @ 0x390 │ │ │ │ │ + mov.w r2, ip, lsl #4 │ │ │ │ │ + vadd.f64 d0, d8, d2 │ │ │ │ │ + vsub.f64 d2, d8, d2 │ │ │ │ │ + add.w r9, r4, r2 │ │ │ │ │ + add.w r1, r5, r2 │ │ │ │ │ + add.w sl, r6, r2 │ │ │ │ │ vsub.f64 d8, d9, d3 │ │ │ │ │ vadd.f64 d3, d9, d3 │ │ │ │ │ vmul.f64 d9, d14, d0 │ │ │ │ │ vmla.f64 d9, d15, d8 │ │ │ │ │ vmul.f64 d8, d14, d8 │ │ │ │ │ - vldr d14, [sp, #424] @ 0x1a8 │ │ │ │ │ + vldr d14, [sp, #256] @ 0x100 │ │ │ │ │ vnmls.f64 d8, d15, d0 │ │ │ │ │ - vldr d15, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d15, [sp, #248] @ 0xf8 │ │ │ │ │ vmul.f64 d0, d15, d3 │ │ │ │ │ vnmls.f64 d0, d14, d2 │ │ │ │ │ vmul.f64 d2, d15, d2 │ │ │ │ │ vmla.f64 d2, d14, d3 │ │ │ │ │ vadd.f64 d13, d1, d0 │ │ │ │ │ - vstr d13, [sp, #416] @ 0x1a0 │ │ │ │ │ - vsub.f64 d13, d1, d0 │ │ │ │ │ - vldr d0, [sp, #168] @ 0xa8 │ │ │ │ │ - vldr d1, [sp, #160] @ 0xa0 │ │ │ │ │ vstr d13, [sp, #424] @ 0x1a8 │ │ │ │ │ + vsub.f64 d13, d1, d0 │ │ │ │ │ + vldr d1, [sp, #8] │ │ │ │ │ + vldr d0, [sp, #16] │ │ │ │ │ + vstr d13, [sp, #432] @ 0x1b0 │ │ │ │ │ + vldr d13, [sp, #192] @ 0xc0 │ │ │ │ │ vadd.f64 d0, d0, d9 │ │ │ │ │ - vldr d13, [sp, #208] @ 0xd0 │ │ │ │ │ vsub.f64 d1, d1, d13 │ │ │ │ │ vsub.f64 d13, d0, d1 │ │ │ │ │ vadd.f64 d1, d0, d1 │ │ │ │ │ - vstr d13, [sp, #768] @ 0x300 │ │ │ │ │ - vstr d1, [sp, #776] @ 0x308 │ │ │ │ │ - vldr d1, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d0, [sp, #152] @ 0x98 │ │ │ │ │ - ldr r7, [sp, #1020] @ 0x3fc │ │ │ │ │ + vstr d13, [sp, #784] @ 0x310 │ │ │ │ │ + vldr d0, [sp] │ │ │ │ │ + vstr d1, [sp, #792] @ 0x318 │ │ │ │ │ + vldr d1, [sp, #184] @ 0xb8 │ │ │ │ │ vsub.f64 d1, d1, d0 │ │ │ │ │ - vldr d0, [sp, #192] @ 0xc0 │ │ │ │ │ - lsls r2, r7, #4 │ │ │ │ │ - adds r7, r1, r2 │ │ │ │ │ - add.w lr, r5, r2 │ │ │ │ │ + vldr d0, [sp, #24] │ │ │ │ │ vsub.f64 d0, d0, d8 │ │ │ │ │ - add.w r8, r4, r2 │ │ │ │ │ vadd.f64 d13, d1, d0 │ │ │ │ │ vsub.f64 d0, d0, d1 │ │ │ │ │ - vldr d1, [sp, #200] @ 0xc8 │ │ │ │ │ - vstr d0, [sp, #792] @ 0x318 │ │ │ │ │ - vldr d0, [sp, #168] @ 0xa8 │ │ │ │ │ - vstr d13, [sp, #784] @ 0x310 │ │ │ │ │ - vldr d13, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d1, [sp, #184] @ 0xb8 │ │ │ │ │ + vstr d13, [sp, #800] @ 0x320 │ │ │ │ │ + vstr d0, [sp, #808] @ 0x328 │ │ │ │ │ + vldr d0, [sp, #16] │ │ │ │ │ + vldr d13, [sp, #192] @ 0xc0 │ │ │ │ │ vsub.f64 d9, d0, d9 │ │ │ │ │ - vldr d0, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d0, [sp] │ │ │ │ │ + str r7, [sp, #0] │ │ │ │ │ vadd.f64 d1, d0, d1 │ │ │ │ │ vsub.f64 d0, d9, d1 │ │ │ │ │ - vstr d0, [sp, #800] @ 0x320 │ │ │ │ │ + vstr d0, [sp, #816] @ 0x330 │ │ │ │ │ vadd.f64 d0, d9, d1 │ │ │ │ │ - vldr d1, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d9, [sp, #40] @ 0x28 │ │ │ │ │ - str r7, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d0, [sp, #808] @ 0x328 │ │ │ │ │ + vldr d9, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d1, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d0, [sp, #824] @ 0x338 │ │ │ │ │ vadd.f64 d0, d4, d2 │ │ │ │ │ vsub.f64 d2, d4, d2 │ │ │ │ │ vmul.f64 d3, d1, d5 │ │ │ │ │ - vstr d0, [sp, #432] @ 0x1b0 │ │ │ │ │ - vstr d2, [sp, #440] @ 0x1b8 │ │ │ │ │ - vldr d2, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d0, [sp, #456] @ 0x1c8 │ │ │ │ │ + vstr d0, [sp, #440] @ 0x1b8 │ │ │ │ │ + vstr d2, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d2, [sp, #8] │ │ │ │ │ + str r5, [sp, #8] │ │ │ │ │ + mov r5, r1 │ │ │ │ │ + vldr d0, [sp, #464] @ 0x1d0 │ │ │ │ │ vadd.f64 d4, d2, d13 │ │ │ │ │ - vldr d2, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d13, [sp, #216] @ 0xd8 │ │ │ │ │ + vldr d2, [sp, #24] │ │ │ │ │ + str r4, [sp, #24] │ │ │ │ │ + vldr d13, [sp, #200] @ 0xc8 │ │ │ │ │ vmul.f64 d14, d1, d0 │ │ │ │ │ - vmla.f64 d14, d9, d5 │ │ │ │ │ vnmls.f64 d3, d9, d0 │ │ │ │ │ vadd.f64 d8, d2, d8 │ │ │ │ │ + vmla.f64 d14, d9, d5 │ │ │ │ │ vadd.f64 d2, d4, d8 │ │ │ │ │ vsub.f64 d8, d8, d4 │ │ │ │ │ vmul.f64 d4, d13, d7 │ │ │ │ │ - vstr d2, [sp, #816] @ 0x330 │ │ │ │ │ - vldr d2, [sp, #224] @ 0xe0 │ │ │ │ │ - vstr d8, [sp, #448] @ 0x1c0 │ │ │ │ │ + vstr d8, [sp, #456] @ 0x1c8 │ │ │ │ │ + vstr d2, [sp, #832] @ 0x340 │ │ │ │ │ + vldr d2, [sp, #208] @ 0xd0 │ │ │ │ │ vnmls.f64 d4, d2, d6 │ │ │ │ │ vmul.f64 d6, d13, d6 │ │ │ │ │ vmla.f64 d6, d2, d7 │ │ │ │ │ vadd.f64 d8, d3, d4 │ │ │ │ │ vadd.f64 d7, d14, d6 │ │ │ │ │ - vstr d8, [sp, #456] @ 0x1c8 │ │ │ │ │ - vsub.f64 d8, d3, d4 │ │ │ │ │ - vstr d7, [sp, #472] @ 0x1d8 │ │ │ │ │ - vsub.f64 d7, d14, d6 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - adds r7, r0, r2 │ │ │ │ │ - vldr d3, [r8] │ │ │ │ │ - mov r6, r7 │ │ │ │ │ vstr d8, [sp, #464] @ 0x1d0 │ │ │ │ │ + vsub.f64 d8, d3, d4 │ │ │ │ │ vstr d7, [sp, #480] @ 0x1e0 │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ - vsub.f64 d15, d6, d7 │ │ │ │ │ + vsub.f64 d7, d14, d6 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + add.w r1, r7, r2 │ │ │ │ │ + sub.w r2, r2, ip │ │ │ │ │ + vstr d8, [sp, #472] @ 0x1d8 │ │ │ │ │ + mov r4, r1 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + vstr d7, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d7, [r9] │ │ │ │ │ + vsub.f64 d4, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - vldr d1, [sp, #16] │ │ │ │ │ - vldr d4, [sp, #8] │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + mov r1, r5 │ │ │ │ │ + str r6, [sp, #16] │ │ │ │ │ + vldr d3, [sl] │ │ │ │ │ + add r1, r3 │ │ │ │ │ + mov r6, r1 │ │ │ │ │ + vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ + str r5, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d1, [sp, #48] @ 0x30 │ │ │ │ │ + str r4, [sp, #48] @ 0x30 │ │ │ │ │ vadd.f64 d5, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vldr d14, [sp, #144] @ 0x90 │ │ │ │ │ - ldr r7, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d9, [sp, #32] │ │ │ │ │ + vldr d9, [sp, #64] @ 0x40 │ │ │ │ │ + str r6, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d14, [sp, #176] @ 0xb0 │ │ │ │ │ + vmul.f64 d15, d1, d4 │ │ │ │ │ + vldr d0, [sp, #136] @ 0x88 │ │ │ │ │ vmul.f64 d3, d1, d5 │ │ │ │ │ - adds r2, r7, r3 │ │ │ │ │ - mov r7, r2 │ │ │ │ │ - vldr d0, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d8, [sp, #128] @ 0x80 │ │ │ │ │ - str r7, [sp, #120] @ 0x78 │ │ │ │ │ - add r7, r3 │ │ │ │ │ + vldr d8, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d1, [sp, #512] @ 0x200 │ │ │ │ │ + vmla.f64 d15, d2, d5 │ │ │ │ │ vmov.f64 d13, d3 │ │ │ │ │ vmul.f64 d3, d14, d7 │ │ │ │ │ vmul.f64 d14, d14, d6 │ │ │ │ │ - str r6, [sp, #112] @ 0x70 │ │ │ │ │ + vnmls.f64 d13, d2, d4 │ │ │ │ │ vmla.f64 d14, d9, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - add.w r2, lr, r3 │ │ │ │ │ - str r2, [sp, #8] │ │ │ │ │ - vnmls.f64 d13, d4, d15 │ │ │ │ │ - vmul.f64 d15, d1, d15 │ │ │ │ │ - vmla.f64 d15, d4, d5 │ │ │ │ │ - vldr d1, [sp, #504] @ 0x1f8 │ │ │ │ │ - vstr d13, [sp, #192] @ 0xc0 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + add.w r1, r9, r3 │ │ │ │ │ + mov r5, r1 │ │ │ │ │ + str r5, [sp, #136] @ 0x88 │ │ │ │ │ + vstr d13, [sp, #232] @ 0xe8 │ │ │ │ │ vmov.f64 d13, d3 │ │ │ │ │ vnmls.f64 d13, d9, d6 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - mov r2, r6 │ │ │ │ │ - vldr d9, [sp, #136] @ 0x88 │ │ │ │ │ - add r2, r3 │ │ │ │ │ - str r2, [sp, #16] │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + mov r1, r4 │ │ │ │ │ + add r1, r3 │ │ │ │ │ + mov r4, r1 │ │ │ │ │ + vldr d9, [sp, #168] @ 0xa8 │ │ │ │ │ + str r4, [sp, #144] @ 0x90 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - mov r6, r7 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - add.w r2, r8, r3 │ │ │ │ │ - str r2, [sp, #32] │ │ │ │ │ - vldr d3, [r2] │ │ │ │ │ - vstr d13, [sp, #280] @ 0x118 │ │ │ │ │ - ldr r2, [sp, #8] │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + add.w r1, sl, r3 │ │ │ │ │ + mov r7, r1 │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ + mov r1, r6 │ │ │ │ │ + add.w fp, r7, r3 │ │ │ │ │ + add r1, r3 │ │ │ │ │ + str r7, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d13, [sp, #568] @ 0x238 │ │ │ │ │ + mov r6, r1 │ │ │ │ │ + vldr d2, [fp] │ │ │ │ │ vadd.f64 d5, d6, d3 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ - add.w sl, r2, r3 │ │ │ │ │ vmul.f64 d3, d0, d5 │ │ │ │ │ vmov.f64 d13, d3 │ │ │ │ │ vnmls.f64 d13, d10, d4 │ │ │ │ │ vmul.f64 d4, d0, d4 │ │ │ │ │ - vstr d13, [sp, #200] @ 0xc8 │ │ │ │ │ + vstr d13, [sp, #240] @ 0xf0 │ │ │ │ │ vmul.f64 d13, d9, d6 │ │ │ │ │ vnmls.f64 d13, d8, d7 │ │ │ │ │ vmul.f64 d7, d9, d7 │ │ │ │ │ - vmla.f64 d7, d8, d6 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - ldr r7, [sp, #16] │ │ │ │ │ vmov.f64 d9, d4 │ │ │ │ │ + vmla.f64 d7, d8, d6 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + mov r1, r5 │ │ │ │ │ + add r1, r3 │ │ │ │ │ vmla.f64 d9, d10, d5 │ │ │ │ │ - vldr d5, [sl] │ │ │ │ │ - adds r2, r7, r3 │ │ │ │ │ - ldr r7, [sp, #32] │ │ │ │ │ - vldr d10, [sp, #488] @ 0x1e8 │ │ │ │ │ - add.w r9, r7, r3 │ │ │ │ │ + mov r5, r1 │ │ │ │ │ + vldr d10, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + mov r1, r4 │ │ │ │ │ + add r1, r3 │ │ │ │ │ + mov r4, r1 │ │ │ │ │ vsub.f64 d4, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - mov r7, r6 │ │ │ │ │ - vldr d2, [r9] │ │ │ │ │ - add r7, r3 │ │ │ │ │ - vstr d7, [sp, #208] @ 0xd0 │ │ │ │ │ - vstr d9, [sp, #216] @ 0xd8 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + mov r1, r6 │ │ │ │ │ + vstr d7, [sp, #248] @ 0xf8 │ │ │ │ │ + add r1, r3 │ │ │ │ │ + vstr d9, [sp, #256] @ 0x100 │ │ │ │ │ vadd.f64 d3, d5, d2 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ - vldr d2, [sp, #496] @ 0x1f0 │ │ │ │ │ - vldr d9, [sp, #328] @ 0x148 │ │ │ │ │ - str r7, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d2, [sp, #504] @ 0x1f8 │ │ │ │ │ + vldr d9, [sp, #264] @ 0x108 │ │ │ │ │ + str r6, [sp, #160] @ 0xa0 │ │ │ │ │ + str r1, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d7, [sp, #336] @ 0x150 │ │ │ │ │ vmul.f64 d0, d1, d3 │ │ │ │ │ vmul.f64 d8, d10, d5 │ │ │ │ │ - str r2, [sp, #136] @ 0x88 │ │ │ │ │ - add r2, r3 │ │ │ │ │ - vldr d7, [sp, #248] @ 0xf8 │ │ │ │ │ - str r6, [sp, #128] @ 0x80 │ │ │ │ │ + str r5, [sp, #168] @ 0xa8 │ │ │ │ │ + str r4, [sp, #176] @ 0xb0 │ │ │ │ │ vnmls.f64 d0, d2, d4 │ │ │ │ │ vmul.f64 d4, d1, d4 │ │ │ │ │ - vmla.f64 d4, d2, d3 │ │ │ │ │ - vldr d2, [r7] │ │ │ │ │ - add.w r7, sl, r3 │ │ │ │ │ - add r3, r9 │ │ │ │ │ vnmls.f64 d8, d9, d6 │ │ │ │ │ vmul.f64 d6, d10, d6 │ │ │ │ │ + vmla.f64 d4, d2, d3 │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ + mov r1, r5 │ │ │ │ │ + add r1, r3 │ │ │ │ │ vmla.f64 d6, d9, d5 │ │ │ │ │ - vldr d1, [r2] │ │ │ │ │ - vldr d3, [r7] │ │ │ │ │ - vldr d9, [sp, #184] @ 0xb8 │ │ │ │ │ - str r7, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d9, [sp, #224] @ 0xe0 │ │ │ │ │ + str r1, [sp, #192] @ 0xc0 │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ + mov r1, r4 │ │ │ │ │ + mov.w r4, #104 @ 0x68 │ │ │ │ │ + add r1, r3 │ │ │ │ │ + add r3, fp │ │ │ │ │ + vldr d1, [r1] │ │ │ │ │ + str r1, [sp, #200] @ 0xc8 │ │ │ │ │ + str r3, [sp, #208] @ 0xd0 │ │ │ │ │ vsub.f64 d5, d2, d3 │ │ │ │ │ - str r2, [sp, #160] @ 0xa0 │ │ │ │ │ vadd.f64 d2, d2, d3 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ - str r3, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d6, [sp, #264] @ 0x108 │ │ │ │ │ + mov.w r3, ip, lsl #3 │ │ │ │ │ + vldr d6, [sp, #360] @ 0x168 │ │ │ │ │ vadd.f64 d10, d1, d3 │ │ │ │ │ vsub.f64 d1, d1, d3 │ │ │ │ │ - vstr d6, [sp, #224] @ 0xe0 │ │ │ │ │ - vldr d6, [sp, #272] @ 0x110 │ │ │ │ │ vmul.f64 d3, d9, d10 │ │ │ │ │ - vldr d9, [sp, #176] @ 0xb0 │ │ │ │ │ + vldr d9, [sp, #216] @ 0xd8 │ │ │ │ │ vnmls.f64 d3, d9, d5 │ │ │ │ │ vmul.f64 d9, d6, d1 │ │ │ │ │ vnmls.f64 d9, d7, d2 │ │ │ │ │ vmul.f64 d2, d6, d2 │ │ │ │ │ - vmla.f64 d2, d7, d1 │ │ │ │ │ - vldr d1, [sp, #184] @ 0xb8 │ │ │ │ │ vadd.f64 d6, d15, d4 │ │ │ │ │ vsub.f64 d15, d15, d4 │ │ │ │ │ + vmla.f64 d2, d7, d1 │ │ │ │ │ + vldr d1, [sp, #224] @ 0xe0 │ │ │ │ │ + vstr d6, [sp, #504] @ 0x1f8 │ │ │ │ │ vmul.f64 d5, d1, d5 │ │ │ │ │ - vldr d1, [sp, #176] @ 0xb0 │ │ │ │ │ - vstr d6, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d1, [sp, #216] @ 0xd8 │ │ │ │ │ vmla.f64 d5, d1, d10 │ │ │ │ │ - vldr d10, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d1, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d10, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d1, [sp, #240] @ 0xf0 │ │ │ │ │ vadd.f64 d7, d10, d0 │ │ │ │ │ - vldr d10, [sp, #216] @ 0xd8 │ │ │ │ │ - vstr d7, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d10, [sp, #256] @ 0x100 │ │ │ │ │ vadd.f64 d6, d10, d5 │ │ │ │ │ vadd.f64 d10, d1, d3 │ │ │ │ │ - vldr d7, [sp, #224] @ 0xe0 │ │ │ │ │ - vstr d10, [sp, #512] @ 0x200 │ │ │ │ │ + vstr d7, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d7, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d6, [sp, #512] @ 0x200 │ │ │ │ │ + vstr d10, [sp, #520] @ 0x208 │ │ │ │ │ vadd.f64 d1, d14, d7 │ │ │ │ │ - vldr d10, [sp, #208] @ 0xd0 │ │ │ │ │ - vstr d6, [sp, #504] @ 0x1f8 │ │ │ │ │ + vldr d10, [sp, #248] @ 0xf8 │ │ │ │ │ vadd.f64 d10, d10, d2 │ │ │ │ │ - vsub.f64 d7, d10, d1 │ │ │ │ │ vadd.f64 d6, d1, d10 │ │ │ │ │ - vldr d10, [sp, #208] @ 0xd0 │ │ │ │ │ + vsub.f64 d7, d10, d1 │ │ │ │ │ + vldr d10, [sp, #248] @ 0xf8 │ │ │ │ │ vsub.f64 d1, d9, d13 │ │ │ │ │ vadd.f64 d13, d13, d9 │ │ │ │ │ - vstr d7, [sp, #520] @ 0x208 │ │ │ │ │ + vstr d7, [sp, #528] @ 0x210 │ │ │ │ │ vsub.f64 d7, d10, d2 │ │ │ │ │ - vstr d6, [sp, #824] @ 0x338 │ │ │ │ │ + vstr d6, [sp, #840] @ 0x348 │ │ │ │ │ vadd.f64 d10, d1, d7 │ │ │ │ │ vsub.f64 d6, d1, d7 │ │ │ │ │ - vstr d10, [sp, #528] @ 0x210 │ │ │ │ │ - vstr d6, [sp, #536] @ 0x218 │ │ │ │ │ - vldr d7, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d2, [sp, #280] @ 0x118 │ │ │ │ │ - ldr r3, [sp, #1020] @ 0x3fc │ │ │ │ │ + vstr d10, [sp, #536] @ 0x218 │ │ │ │ │ + vstr d6, [sp, #544] @ 0x220 │ │ │ │ │ + ldr r7, [sp, #0] │ │ │ │ │ + vldr d7, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d2, [sp, #568] @ 0x238 │ │ │ │ │ + ldr r1, [sp, #8] │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ - vldr d7, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d1, [sp, #24] │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ + ldr r5, [sp, #24] │ │ │ │ │ + vldr d7, [sp, #240] @ 0xf0 │ │ │ │ │ + add r1, r3 │ │ │ │ │ + ldr r6, [sp, #16] │ │ │ │ │ + str r1, [sp, #216] @ 0xd8 │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ + add.w r1, r5, r3 │ │ │ │ │ vsub.f64 d3, d3, d7 │ │ │ │ │ - adds r2, r1, r3 │ │ │ │ │ - str r2, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - adds r2, r5, r3 │ │ │ │ │ + str r1, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d1, [sp, #56] @ 0x38 │ │ │ │ │ vadd.f64 d7, d5, d3 │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ - str r2, [sp, #184] @ 0xb8 │ │ │ │ │ - vstr d7, [sp, #544] @ 0x220 │ │ │ │ │ + vstr d7, [sp, #552] @ 0x228 │ │ │ │ │ vadd.f64 d7, d2, d8 │ │ │ │ │ vsub.f64 d8, d2, d8 │ │ │ │ │ - vstr d5, [sp, #552] @ 0x228 │ │ │ │ │ + vstr d5, [sp, #560] @ 0x230 │ │ │ │ │ vadd.f64 d10, d7, d13 │ │ │ │ │ vsub.f64 d7, d13, d7 │ │ │ │ │ - vldr d13, [sp, #192] @ 0xc0 │ │ │ │ │ - vstr d7, [sp, #568] @ 0x238 │ │ │ │ │ + vldr d13, [sp, #232] @ 0xe8 │ │ │ │ │ vsub.f64 d0, d13, d0 │ │ │ │ │ - vldr d7, [sp, #224] @ 0xe0 │ │ │ │ │ - vstr d10, [sp, #560] @ 0x230 │ │ │ │ │ - vsub.f64 d6, d7, d14 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - adds r2, r0, r3 │ │ │ │ │ - adds r3, r4, r3 │ │ │ │ │ + vstr d10, [sp, #568] @ 0x238 │ │ │ │ │ + vstr d7, [sp, #576] @ 0x240 │ │ │ │ │ + vldr d7, [sp, #264] @ 0x108 │ │ │ │ │ vadd.f64 d13, d0, d15 │ │ │ │ │ vsub.f64 d10, d0, d15 │ │ │ │ │ - str r3, [sp, #200] @ 0xc8 │ │ │ │ │ + vsub.f64 d6, d7, d14 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + add.w r1, r7, r3 │ │ │ │ │ + mov r7, r5 │ │ │ │ │ + str r1, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d10, [sp, #600] @ 0x258 │ │ │ │ │ + vstr d13, [sp, #608] @ 0x260 │ │ │ │ │ vadd.f64 d5, d6, d8 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ vsub.f64 d2, d6, d8 │ │ │ │ │ - str r2, [sp, #192] @ 0xc0 │ │ │ │ │ - vstr d13, [sp, #600] @ 0x258 │ │ │ │ │ - movs r3, #104 @ 0x68 │ │ │ │ │ - vstr d10, [sp, #592] @ 0x250 │ │ │ │ │ - vstr d5, [sp, #584] @ 0x248 │ │ │ │ │ + vstr d2, [sp, #584] @ 0x248 │ │ │ │ │ + vstr d5, [sp, #592] @ 0x250 │ │ │ │ │ vsub.f64 d5, d4, d7 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - vstr d2, [sp, #576] @ 0x240 │ │ │ │ │ - vldr d2, [sp] │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + add.w r1, r6, r3 │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ + str r1, [sp, #240] @ 0xf0 │ │ │ │ │ + mul.w r1, r4, ip │ │ │ │ │ + vldr d2, [sp, #32] │ │ │ │ │ vadd.f64 d6, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ vmul.f64 d3, d1, d6 │ │ │ │ │ vmov.f64 d13, d3 │ │ │ │ │ - vldr d3, [fp, #-104] @ 0xffffff98 │ │ │ │ │ - vmul.f64 d3, d3, d7 │ │ │ │ │ + vldr d3, [r0, #-104] @ 0xffffff98 │ │ │ │ │ vnmls.f64 d13, d2, d5 │ │ │ │ │ vmul.f64 d5, d1, d5 │ │ │ │ │ + vmul.f64 d3, d3, d7 │ │ │ │ │ vmov.f64 d9, d3 │ │ │ │ │ - vldr d3, [fp, #-112] @ 0xffffff90 │ │ │ │ │ + vldr d3, [r0, #-112] @ 0xffffff90 │ │ │ │ │ + vstr d13, [sp, #360] @ 0x168 │ │ │ │ │ vnmls.f64 d9, d3, d4 │ │ │ │ │ - vldr d3, [fp, #-104] @ 0xffffff98 │ │ │ │ │ - vstr d13, [sp, #624] @ 0x270 │ │ │ │ │ + vldr d3, [r0, #-104] @ 0xffffff98 │ │ │ │ │ vmul.f64 d4, d3, d4 │ │ │ │ │ + vstr d9, [sp, #672] @ 0x2a0 │ │ │ │ │ vmov.f64 d13, d4 │ │ │ │ │ - vldr d4, [fp, #-112] @ 0xffffff90 │ │ │ │ │ - vstr d9, [sp, #664] @ 0x298 │ │ │ │ │ + vldr d4, [r0, #-112] @ 0xffffff90 │ │ │ │ │ + ldr r4, [sp, #8] │ │ │ │ │ + vldr d1, [sp, #272] @ 0x110 │ │ │ │ │ vmla.f64 d13, d4, d7 │ │ │ │ │ vmov.f64 d7, d5 │ │ │ │ │ + vldr d9, [sp, #280] @ 0x118 │ │ │ │ │ + add r4, r1 │ │ │ │ │ + vldr d0, [sp, #296] @ 0x128 │ │ │ │ │ + str r4, [sp, #32] │ │ │ │ │ vmla.f64 d7, d2, d6 │ │ │ │ │ - vstr d13, [sp, #648] @ 0x288 │ │ │ │ │ - vstr d7, [sp, #320] @ 0x140 │ │ │ │ │ - ldr r2, [sp, #1020] @ 0x3fc │ │ │ │ │ - vldr d9, [sp, #240] @ 0xf0 │ │ │ │ │ - vldr d1, [sp, #232] @ 0xe8 │ │ │ │ │ - vldr d0, [sp, #264] @ 0x108 │ │ │ │ │ - mul.w r3, r2, r3 │ │ │ │ │ - vldr d8, [sp, #608] @ 0x260 │ │ │ │ │ - adds r2, r1, r3 │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - adds r2, r5, r3 │ │ │ │ │ - str r2, [sp, #24] │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - adds r2, r0, r3 │ │ │ │ │ - adds r3, r4, r3 │ │ │ │ │ - str r2, [sp, #208] @ 0xd0 │ │ │ │ │ - str r3, [sp, #216] @ 0xd8 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + add.w r4, r5, r1 │ │ │ │ │ + vldr d8, [sp, #616] @ 0x268 │ │ │ │ │ + vstr d7, [sp, #24] │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + str r4, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ + vstr d13, [sp, #656] @ 0x290 │ │ │ │ │ vsub.f64 d13, d4, d7 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - movs r3, #72 @ 0x48 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - ldr r2, [sp, #1020] @ 0x3fc │ │ │ │ │ + add.w r5, r4, r1 │ │ │ │ │ + ldr r4, [sp, #8] │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + str r5, [sp, #248] @ 0xf8 │ │ │ │ │ + add.w r5, r6, r1 │ │ │ │ │ + add.w r1, r3, ip │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + sub.w r3, r3, ip │ │ │ │ │ + vldr d3, [r5] │ │ │ │ │ vmul.f64 d10, d12, d4 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + add.w r6, r4, r1 │ │ │ │ │ + mov r4, r7 │ │ │ │ │ + ldr r7, [sp, #0] │ │ │ │ │ + str r6, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d5, [r6] │ │ │ │ │ + add.w r6, r4, r1 │ │ │ │ │ vadd.f64 d6, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - mul.w r3, r2, r3 │ │ │ │ │ + str r6, [sp, #264] @ 0x108 │ │ │ │ │ + add r7, r1 │ │ │ │ │ + str r7, [sp, #272] @ 0x110 │ │ │ │ │ vmul.f64 d3, d9, d6 │ │ │ │ │ - adds r7, r1, r3 │ │ │ │ │ - adds r2, r5, r3 │ │ │ │ │ vmla.f64 d10, d11, d7 │ │ │ │ │ - str r7, [sp, #224] @ 0xe0 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ - adds r7, r0, r3 │ │ │ │ │ vmov.f64 d2, d3 │ │ │ │ │ vmul.f64 d3, d12, d7 │ │ │ │ │ - adds r3, r4, r3 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - str r2, [sp, #232] @ 0xe8 │ │ │ │ │ - ldr r2, [sp, #1020] @ 0x3fc │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + ldr r6, [sp, #16] │ │ │ │ │ vnmls.f64 d2, d1, d13 │ │ │ │ │ vmul.f64 d13, d9, d13 │ │ │ │ │ vmla.f64 d13, d1, d6 │ │ │ │ │ - str r3, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d1, [sp, #256] @ 0x100 │ │ │ │ │ - str r7, [sp, #240] @ 0xf0 │ │ │ │ │ - vstr d2, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d1, [sp, #288] @ 0x120 │ │ │ │ │ + vstr d2, [sp, #336] @ 0x150 │ │ │ │ │ vmov.f64 d2, d3 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - movs r3, #40 @ 0x28 │ │ │ │ │ vnmls.f64 d2, d11, d4 │ │ │ │ │ vsub.f64 d4, d5, d7 │ │ │ │ │ + vldr d11, [sp, #624] @ 0x270 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ vldr d7, [r7] │ │ │ │ │ - mul.w r3, r2, r3 │ │ │ │ │ - vldr d11, [sp, #616] @ 0x268 │ │ │ │ │ + add.w r7, r6, r1 │ │ │ │ │ + add.w r1, ip, ip, lsl #2 │ │ │ │ │ + vldr d3, [r7] │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + str r7, [sp, #280] @ 0x118 │ │ │ │ │ + ldr r6, [sp, #8] │ │ │ │ │ vadd.f64 d6, d7, d3 │ │ │ │ │ - adds r2, r1, r3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - adds r7, r5, r3 │ │ │ │ │ - str r2, [sp, #256] @ 0x100 │ │ │ │ │ - str r7, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d2, [sp, #664] @ 0x298 │ │ │ │ │ + add r6, r1 │ │ │ │ │ + str r6, [sp, #288] @ 0x120 │ │ │ │ │ + ldr r7, [sp, #0] │ │ │ │ │ vmul.f64 d9, d0, d6 │ │ │ │ │ - vstr d2, [sp, #656] @ 0x290 │ │ │ │ │ vmul.f64 d2, d11, d7 │ │ │ │ │ - vldr d3, [r7] │ │ │ │ │ - movs r7, #56 @ 0x38 │ │ │ │ │ + vldr d12, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d14, [sp, #320] @ 0x140 │ │ │ │ │ + add r7, r1 │ │ │ │ │ + vldr d15, [sp, #328] @ 0x148 │ │ │ │ │ vnmls.f64 d9, d1, d4 │ │ │ │ │ vmul.f64 d4, d0, d4 │ │ │ │ │ - vmla.f64 d4, d1, d6 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - adds r2, r0, r3 │ │ │ │ │ - adds r3, r4, r3 │ │ │ │ │ + str r7, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d0, [r7] │ │ │ │ │ vnmls.f64 d2, d8, d5 │ │ │ │ │ vmul.f64 d5, d11, d5 │ │ │ │ │ + ldr r7, [sp, #16] │ │ │ │ │ + vmla.f64 d4, d1, d6 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + add.w r6, r4, r1 │ │ │ │ │ vmla.f64 d5, d8, d7 │ │ │ │ │ - str r2, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d3, [r6] │ │ │ │ │ + add r7, r1 │ │ │ │ │ + vldr d11, [sp, #304] @ 0x130 │ │ │ │ │ vsub.f64 d7, d6, d3 │ │ │ │ │ - vldr d0, [r2] │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - vldr d12, [sp, #296] @ 0x128 │ │ │ │ │ - movs r2, #88 @ 0x58 │ │ │ │ │ - vldr d11, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d3, [r7] │ │ │ │ │ vadd.f64 d8, d0, d3 │ │ │ │ │ vsub.f64 d0, d0, d3 │ │ │ │ │ - vldr d15, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d14, [sp, #304] @ 0x130 │ │ │ │ │ - str r3, [sp, #280] @ 0x118 │ │ │ │ │ vmul.f64 d3, d12, d8 │ │ │ │ │ vmul.f64 d1, d15, d0 │ │ │ │ │ vnmls.f64 d3, d11, d7 │ │ │ │ │ vmul.f64 d7, d12, d7 │ │ │ │ │ - vmla.f64 d7, d11, d8 │ │ │ │ │ - vldr d11, [sp, #624] @ 0x270 │ │ │ │ │ - vldr d8, [sp, #328] @ 0x148 │ │ │ │ │ vnmls.f64 d1, d14, d6 │ │ │ │ │ vmul.f64 d6, d15, d6 │ │ │ │ │ + vmla.f64 d7, d11, d8 │ │ │ │ │ + vldr d8, [sp, #336] @ 0x150 │ │ │ │ │ vmla.f64 d6, d14, d0 │ │ │ │ │ + vldr d11, [sp, #360] @ 0x168 │ │ │ │ │ + vadd.f64 d15, d8, d3 │ │ │ │ │ vadd.f64 d0, d11, d9 │ │ │ │ │ vsub.f64 d9, d11, d9 │ │ │ │ │ - vadd.f64 d15, d8, d3 │ │ │ │ │ - vstr d0, [sp, #608] @ 0x260 │ │ │ │ │ vadd.f64 d12, d13, d7 │ │ │ │ │ vsub.f64 d7, d7, d13 │ │ │ │ │ - vsub.f64 d14, d0, d15 │ │ │ │ │ - vldr d0, [sp, #320] @ 0x140 │ │ │ │ │ - vstr d12, [sp, #632] @ 0x278 │ │ │ │ │ vadd.f64 d8, d10, d6 │ │ │ │ │ vsub.f64 d6, d6, d10 │ │ │ │ │ + vsub.f64 d14, d0, d15 │ │ │ │ │ + vstr d0, [sp, #616] @ 0x268 │ │ │ │ │ + vldr d0, [sp, #24] │ │ │ │ │ vsub.f64 d11, d9, d7 │ │ │ │ │ - vstr d14, [sp, #616] @ 0x268 │ │ │ │ │ - vadd.f64 d14, d0, d4 │ │ │ │ │ - vstr d11, [sp, #864] @ 0x360 │ │ │ │ │ vstr d14, [sp, #624] @ 0x270 │ │ │ │ │ + vadd.f64 d14, d0, d4 │ │ │ │ │ + vstr d12, [sp, #640] @ 0x280 │ │ │ │ │ + vstr d14, [sp, #632] @ 0x278 │ │ │ │ │ vsub.f64 d14, d14, d12 │ │ │ │ │ - vldr d12, [sp, #648] @ 0x288 │ │ │ │ │ + vldr d12, [sp, #656] @ 0x290 │ │ │ │ │ + vstr d14, [sp, #648] @ 0x288 │ │ │ │ │ vadd.f64 d0, d12, d5 │ │ │ │ │ - vstr d14, [sp, #640] @ 0x280 │ │ │ │ │ vsub.f64 d5, d5, d12 │ │ │ │ │ vadd.f64 d14, d0, d8 │ │ │ │ │ vsub.f64 d0, d8, d0 │ │ │ │ │ - vldr d8, [sp, #664] @ 0x298 │ │ │ │ │ - vstr d14, [sp, #832] @ 0x340 │ │ │ │ │ - vldr d14, [sp, #656] @ 0x290 │ │ │ │ │ - vstr d0, [sp, #840] @ 0x348 │ │ │ │ │ + vldr d8, [sp, #672] @ 0x2a0 │ │ │ │ │ + vstr d14, [sp, #848] @ 0x350 │ │ │ │ │ + vldr d14, [sp, #664] @ 0x298 │ │ │ │ │ + vstr d0, [sp, #856] @ 0x358 │ │ │ │ │ vsub.f64 d0, d14, d1 │ │ │ │ │ vadd.f64 d1, d14, d1 │ │ │ │ │ vadd.f64 d10, d0, d6 │ │ │ │ │ - vstr d10, [sp, #648] @ 0x288 │ │ │ │ │ + vstr d10, [sp, #656] @ 0x290 │ │ │ │ │ vsub.f64 d10, d0, d6 │ │ │ │ │ vadd.f64 d6, d8, d2 │ │ │ │ │ vsub.f64 d2, d8, d2 │ │ │ │ │ - vstr d10, [sp, #656] @ 0x290 │ │ │ │ │ + vstr d10, [sp, #664] @ 0x298 │ │ │ │ │ vadd.f64 d10, d6, d1 │ │ │ │ │ vsub.f64 d1, d1, d6 │ │ │ │ │ - vldr d6, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d6, [sp, #24] │ │ │ │ │ + vstr d10, [sp, #672] @ 0x2a0 │ │ │ │ │ vsub.f64 d4, d6, d4 │ │ │ │ │ - vldr d6, [sp, #328] @ 0x148 │ │ │ │ │ - vstr d1, [sp, #672] @ 0x2a0 │ │ │ │ │ - vstr d10, [sp, #664] @ 0x298 │ │ │ │ │ + vldr d6, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d1, [sp, #680] @ 0x2a8 │ │ │ │ │ vsub.f64 d3, d3, d6 │ │ │ │ │ vadd.f64 d1, d4, d3 │ │ │ │ │ vsub.f64 d3, d4, d3 │ │ │ │ │ vadd.f64 d4, d5, d2 │ │ │ │ │ - vstr d3, [sp, #856] @ 0x358 │ │ │ │ │ + vstr d1, [sp, #864] @ 0x360 │ │ │ │ │ + vstr d3, [sp, #872] @ 0x368 │ │ │ │ │ vsub.f64 d3, d5, d2 │ │ │ │ │ - vstr d1, [sp, #848] @ 0x350 │ │ │ │ │ - vstr d4, [sp, #688] @ 0x2b0 │ │ │ │ │ - vstr d3, [sp, #680] @ 0x2a8 │ │ │ │ │ + vstr d3, [sp, #688] @ 0x2b0 │ │ │ │ │ vadd.f64 d3, d9, d7 │ │ │ │ │ - vstr d3, [sp, #872] @ 0x368 │ │ │ │ │ - ldr r3, [sp, #1020] @ 0x3fc │ │ │ │ │ - vldr d8, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d9, [sp, #344] @ 0x158 │ │ │ │ │ - vldr d11, [sp, #368] @ 0x170 │ │ │ │ │ - mul.w ip, ip, r3 │ │ │ │ │ - vldr d1, [sp, #352] @ 0x160 │ │ │ │ │ - vldr d2, [sp, #376] @ 0x178 │ │ │ │ │ - add.w r3, r1, ip │ │ │ │ │ - str r3, [sp, #288] @ 0x120 │ │ │ │ │ - add.w r6, r0, ip │ │ │ │ │ - str r6, [sp, #304] @ 0x130 │ │ │ │ │ - vldr d14, [sp, #360] @ 0x168 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - add.w r3, r5, ip │ │ │ │ │ - add ip, r4 │ │ │ │ │ - vldr d12, [sp, #760] @ 0x2f8 │ │ │ │ │ - str r3, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - movs r3, #24 │ │ │ │ │ - vldr d3, [ip] │ │ │ │ │ + ldr r1, [sp, #8] │ │ │ │ │ + str r4, [sp, #24] │ │ │ │ │ + vstr d4, [sp, #696] @ 0x2b8 │ │ │ │ │ + vldr d8, [sp, #344] @ 0x158 │ │ │ │ │ + vstr d11, [sp, #880] @ 0x370 │ │ │ │ │ + add r1, r2 │ │ │ │ │ + vldr d9, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + str r1, [sp, #304] @ 0x130 │ │ │ │ │ + mov r1, r4 │ │ │ │ │ + add r1, r2 │ │ │ │ │ + vstr d3, [sp, #888] @ 0x378 │ │ │ │ │ + mov r4, r1 │ │ │ │ │ + vldr d1, [sp, #368] @ 0x170 │ │ │ │ │ + str r4, [sp, #312] @ 0x138 │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + vldr d11, [sp, #384] @ 0x180 │ │ │ │ │ + add r4, r2 │ │ │ │ │ + ldr r1, [sp, #8] │ │ │ │ │ + str r4, [sp, #320] @ 0x140 │ │ │ │ │ vsub.f64 d4, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - ldr r6, [sp, #1020] @ 0x3fc │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + ldr r4, [sp, #16] │ │ │ │ │ + add r2, r4 │ │ │ │ │ + add.w r4, r1, lr │ │ │ │ │ + ldr r1, [sp, #24] │ │ │ │ │ + vldr d3, [r2] │ │ │ │ │ + str r4, [sp, #328] @ 0x148 │ │ │ │ │ vadd.f64 d5, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - mul.w r2, r6, r2 │ │ │ │ │ vmul.f64 d3, d8, d5 │ │ │ │ │ - adds r6, r1, r2 │ │ │ │ │ - str r6, [sp, #312] @ 0x138 │ │ │ │ │ vnmls.f64 d3, d9, d4 │ │ │ │ │ vmul.f64 d4, d8, d4 │ │ │ │ │ - vstr d3, [sp, #696] @ 0x2b8 │ │ │ │ │ + vstr d3, [sp, #704] @ 0x2c0 │ │ │ │ │ vmul.f64 d3, d11, d7 │ │ │ │ │ vmov.f64 d13, d3 │ │ │ │ │ vnmls.f64 d13, d1, d6 │ │ │ │ │ vmul.f64 d6, d11, d6 │ │ │ │ │ vmla.f64 d6, d1, d7 │ │ │ │ │ vmov.f64 d7, d4 │ │ │ │ │ vmla.f64 d7, d9, d5 │ │ │ │ │ - vldr d11, [sp, #720] @ 0x2d0 │ │ │ │ │ - vstr d13, [sp, #880] @ 0x370 │ │ │ │ │ - vstr d6, [sp, #704] @ 0x2c0 │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ - adds r6, r5, r2 │ │ │ │ │ - vstr d7, [sp, #712] @ 0x2c8 │ │ │ │ │ - str r6, [sp, #320] @ 0x140 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - adds r6, r0, r2 │ │ │ │ │ - add r2, r4 │ │ │ │ │ - str r6, [sp, #328] @ 0x148 │ │ │ │ │ + vstr d6, [sp, #712] @ 0x2c8 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + add.w r4, r1, lr │ │ │ │ │ + str r4, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d7, [sp, #720] @ 0x2d0 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + vstr d13, [sp, #896] @ 0x380 │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ vsub.f64 d4, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d3, [r2] │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - ldr r6, [sp, #1020] @ 0x3fc │ │ │ │ │ + add r4, lr │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + str r4, [sp, #344] @ 0x158 │ │ │ │ │ + ldr r4, [sp, #16] │ │ │ │ │ + add lr, r4 │ │ │ │ │ + vldr d3, [lr] │ │ │ │ │ + ldr r4, [sp, #8] │ │ │ │ │ + vldr d11, [sp, #728] @ 0x2d8 │ │ │ │ │ vadd.f64 d5, d7, d3 │ │ │ │ │ + vldr d2, [sp, #736] @ 0x2e0 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - mul.w r7, r6, r7 │ │ │ │ │ + add r4, r3 │ │ │ │ │ + vldr d12, [sp, #776] @ 0x308 │ │ │ │ │ + str r4, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d14, [sp, #376] @ 0x178 │ │ │ │ │ vmul.f64 d3, d11, d5 │ │ │ │ │ - adds r6, r1, r7 │ │ │ │ │ - vmov.f64 d8, d3 │ │ │ │ │ + vldr d1, [sp, #752] @ 0x2f0 │ │ │ │ │ + vldr d0, [sp, #768] @ 0x300 │ │ │ │ │ + vldr d10, [sp, #760] @ 0x2f8 │ │ │ │ │ + vmov.f64 d9, d3 │ │ │ │ │ vmul.f64 d3, d2, d7 │ │ │ │ │ - vmov.f64 d13, d3 │ │ │ │ │ - vnmls.f64 d8, d12, d4 │ │ │ │ │ + vnmls.f64 d9, d12, d4 │ │ │ │ │ vmul.f64 d4, d11, d4 │ │ │ │ │ + vmov.f64 d13, d3 │ │ │ │ │ vnmls.f64 d13, d14, d6 │ │ │ │ │ vmul.f64 d6, d2, d6 │ │ │ │ │ + vldr d2, [sp, #744] @ 0x2e8 │ │ │ │ │ + vstr d9, [sp, #728] @ 0x2d8 │ │ │ │ │ vmla.f64 d6, d14, d7 │ │ │ │ │ vmov.f64 d14, d4 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + add.w r4, r1, r3 │ │ │ │ │ + ldr r1, [sp, #0] │ │ │ │ │ + str r4, [sp, #360] @ 0x168 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ vmla.f64 d14, d12, d5 │ │ │ │ │ - vstr d8, [sp, #720] @ 0x2d0 │ │ │ │ │ - vstr d13, [sp, #760] @ 0x2f8 │ │ │ │ │ - vstr d6, [sp, #888] @ 0x378 │ │ │ │ │ - str r6, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d4, [r6] │ │ │ │ │ - adds r6, r5, r7 │ │ │ │ │ - str r6, [sp, #344] @ 0x158 │ │ │ │ │ - vldr d0, [sp, #752] @ 0x2f0 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - adds r6, r0, r7 │ │ │ │ │ - add r7, r4 │ │ │ │ │ - vldr d10, [sp, #728] @ 0x2d8 │ │ │ │ │ - str r6, [sp, #352] @ 0x160 │ │ │ │ │ - vsub.f64 d12, d4, d7 │ │ │ │ │ + vstr d13, [sp, #776] @ 0x308 │ │ │ │ │ + add.w r4, r1, r3 │ │ │ │ │ + mov.w r1, r8, lsl #3 │ │ │ │ │ + str r4, [sp, #368] @ 0x170 │ │ │ │ │ + vsub.f64 d11, d4, d7 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ - vldr d3, [r7] │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - ldr r6, [sp, #1020] @ 0x3fc │ │ │ │ │ - vldr d1, [sp, #744] @ 0x2e8 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + vstr d6, [sp, #904] @ 0x388 │ │ │ │ │ + ldr r4, [sp, #16] │ │ │ │ │ + vmul.f64 d13, d1, d4 │ │ │ │ │ + add r3, r4 │ │ │ │ │ + ldr r4, [sp, #8] │ │ │ │ │ + vldr d3, [r3] │ │ │ │ │ + add r4, r1 │ │ │ │ │ + str r4, [sp, #376] @ 0x178 │ │ │ │ │ vadd.f64 d6, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vldr d2, [sp, #736] @ 0x2e0 │ │ │ │ │ - mul.w r3, r6, r3 │ │ │ │ │ - vmul.f64 d13, d1, d4 │ │ │ │ │ - vldr d9, [sp, #408] @ 0x198 │ │ │ │ │ vmul.f64 d3, d0, d6 │ │ │ │ │ - adds r6, r1, r3 │ │ │ │ │ - str r6, [sp, #360] @ 0x168 │ │ │ │ │ vmla.f64 d13, d2, d7 │ │ │ │ │ - vldr d8, [sp, #400] @ 0x190 │ │ │ │ │ - vmov.f64 d11, d3 │ │ │ │ │ - vnmls.f64 d11, d10, d12 │ │ │ │ │ - vmul.f64 d12, d0, d12 │ │ │ │ │ - vmla.f64 d12, d10, d6 │ │ │ │ │ - vldr d0, [sp, #392] @ 0x188 │ │ │ │ │ - vstr d11, [sp, #728] @ 0x2d8 │ │ │ │ │ - vmul.f64 d11, d1, d7 │ │ │ │ │ - vnmls.f64 d11, d2, d4 │ │ │ │ │ - vldr d4, [r6] │ │ │ │ │ - adds r6, r5, r3 │ │ │ │ │ - str r6, [sp, #368] @ 0x170 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - adds r6, r0, r3 │ │ │ │ │ - add r3, r4 │ │ │ │ │ - str r6, [sp, #376] @ 0x178 │ │ │ │ │ + vmov.f64 d12, d3 │ │ │ │ │ + vnmls.f64 d12, d10, d11 │ │ │ │ │ + vmul.f64 d11, d0, d11 │ │ │ │ │ + vmla.f64 d11, d10, d6 │ │ │ │ │ + vstr d12, [sp, #736] @ 0x2e0 │ │ │ │ │ + vmul.f64 d12, d1, d7 │ │ │ │ │ + vnmls.f64 d12, d2, d4 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + ldr r4, [sp, #24] │ │ │ │ │ + add.w r8, r4, r1 │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ + vldr d7, [r8] │ │ │ │ │ + add r4, r1 │ │ │ │ │ + str r4, [sp, #384] @ 0x180 │ │ │ │ │ vsub.f64 d5, d4, d7 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + ldr r4, [sp, #16] │ │ │ │ │ + add r1, r4 │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ + vldr d0, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d8, [sp, #408] @ 0x198 │ │ │ │ │ vadd.f64 d6, d7, d3 │ │ │ │ │ + vldr d9, [sp, #416] @ 0x1a0 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vldr d3, [sp, #384] @ 0x180 │ │ │ │ │ - vstr d14, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d3, [sp, #392] @ 0x188 │ │ │ │ │ + vstr d14, [sp, #392] @ 0x188 │ │ │ │ │ vmul.f64 d1, d0, d6 │ │ │ │ │ vmul.f64 d2, d9, d7 │ │ │ │ │ vnmls.f64 d1, d3, d5 │ │ │ │ │ - vnmls.f64 d2, d8, d4 │ │ │ │ │ vmul.f64 d5, d0, d5 │ │ │ │ │ + vldr d0, [sp, #736] @ 0x2e0 │ │ │ │ │ + vnmls.f64 d2, d8, d4 │ │ │ │ │ vmul.f64 d4, d9, d4 │ │ │ │ │ - vmla.f64 d4, d8, d7 │ │ │ │ │ + vldr d9, [sp, #728] @ 0x2d8 │ │ │ │ │ vmla.f64 d5, d3, d6 │ │ │ │ │ - vldr d0, [sp, #728] @ 0x2d8 │ │ │ │ │ - vldr d3, [sp, #696] @ 0x2b8 │ │ │ │ │ - vldr d8, [sp, #720] @ 0x2d0 │ │ │ │ │ - vldr d7, [sp, #712] @ 0x2c8 │ │ │ │ │ + vldr d3, [sp, #704] @ 0x2c0 │ │ │ │ │ + vmla.f64 d4, d8, d7 │ │ │ │ │ + vldr d6, [sp, #712] @ 0x2c8 │ │ │ │ │ + vldr d7, [sp, #720] @ 0x2d0 │ │ │ │ │ + vadd.f64 d9, d9, d1 │ │ │ │ │ vadd.f64 d0, d3, d0 │ │ │ │ │ - vldr d6, [sp, #704] @ 0x2c0 │ │ │ │ │ - vadd.f64 d8, d8, d1 │ │ │ │ │ - vadd.f64 d7, d7, d12 │ │ │ │ │ - vsub.f64 d3, d0, d8 │ │ │ │ │ - vadd.f64 d0, d0, d8 │ │ │ │ │ - vstr d3, [sp, #392] @ 0x188 │ │ │ │ │ + vadd.f64 d7, d7, d11 │ │ │ │ │ + vsub.f64 d3, d0, d9 │ │ │ │ │ + vadd.f64 d0, d0, d9 │ │ │ │ │ + vstr d3, [sp, #400] @ 0x190 │ │ │ │ │ vadd.f64 d3, d14, d5 │ │ │ │ │ - vldr d14, [sp, #888] @ 0x378 │ │ │ │ │ - vsub.f64 d9, d7, d3 │ │ │ │ │ + vldr d14, [sp, #904] @ 0x388 │ │ │ │ │ + vsub.f64 d8, d7, d3 │ │ │ │ │ + vadd.f64 d7, d7, d3 │ │ │ │ │ vadd.f64 d10, d14, d4 │ │ │ │ │ vsub.f64 d4, d14, d4 │ │ │ │ │ - vadd.f64 d7, d7, d3 │ │ │ │ │ - vstr d9, [sp, #400] @ 0x190 │ │ │ │ │ - vadd.f64 d9, d6, d13 │ │ │ │ │ - vadd.f64 d6, d9, d10 │ │ │ │ │ - vsub.f64 d9, d10, d9 │ │ │ │ │ - vstr d9, [sp, #408] @ 0x198 │ │ │ │ │ - vldr d10, [sp, #880] @ 0x370 │ │ │ │ │ - vldr d8, [sp, #800] @ 0x320 │ │ │ │ │ - vsub.f64 d9, d10, d11 │ │ │ │ │ - vadd.f64 d11, d10, d11 │ │ │ │ │ - vadd.f64 d14, d9, d4 │ │ │ │ │ - vsub.f64 d4, d9, d4 │ │ │ │ │ - vldr d9, [sp, #712] @ 0x2c8 │ │ │ │ │ - vstr d14, [sp, #736] @ 0x2e0 │ │ │ │ │ - vsub.f64 d12, d9, d12 │ │ │ │ │ - vldr d14, [sp, #760] @ 0x2f8 │ │ │ │ │ - vldr d9, [sp, #720] @ 0x2d0 │ │ │ │ │ - vstr d4, [sp, #744] @ 0x2e8 │ │ │ │ │ + vstr d8, [sp, #408] @ 0x198 │ │ │ │ │ + vadd.f64 d8, d6, d13 │ │ │ │ │ + vadd.f64 d6, d8, d10 │ │ │ │ │ + vsub.f64 d8, d10, d8 │ │ │ │ │ + vldr d10, [sp, #896] @ 0x380 │ │ │ │ │ + vstr d8, [sp, #416] @ 0x1a0 │ │ │ │ │ + vsub.f64 d8, d10, d12 │ │ │ │ │ + vadd.f64 d12, d10, d12 │ │ │ │ │ + vadd.f64 d14, d8, d4 │ │ │ │ │ + vsub.f64 d4, d8, d4 │ │ │ │ │ + vldr d8, [sp, #720] @ 0x2d0 │ │ │ │ │ + vsub.f64 d11, d8, d11 │ │ │ │ │ + vldr d8, [sp, #728] @ 0x2d8 │ │ │ │ │ + vstr d14, [sp, #744] @ 0x2e8 │ │ │ │ │ + vldr d14, [sp, #776] @ 0x308 │ │ │ │ │ + vstr d4, [sp, #752] @ 0x2f0 │ │ │ │ │ + vsub.f64 d1, d1, d8 │ │ │ │ │ vadd.f64 d10, d14, d2 │ │ │ │ │ vsub.f64 d2, d2, d14 │ │ │ │ │ - vsub.f64 d1, d1, d9 │ │ │ │ │ - vldr d14, [sp, #384] @ 0x180 │ │ │ │ │ - vldr d9, [sp, #832] @ 0x340 │ │ │ │ │ - vadd.f64 d4, d11, d10 │ │ │ │ │ - vsub.f64 d10, d11, d10 │ │ │ │ │ - vadd.f64 d11, d12, d1 │ │ │ │ │ + vldr d14, [sp, #392] @ 0x188 │ │ │ │ │ + vadd.f64 d8, d11, d1 │ │ │ │ │ + vsub.f64 d11, d11, d1 │ │ │ │ │ + vldr d1, [sp, #712] @ 0x2c8 │ │ │ │ │ + vadd.f64 d4, d12, d10 │ │ │ │ │ + vsub.f64 d10, d12, d10 │ │ │ │ │ + vldr d12, [sp, #736] @ 0x2e0 │ │ │ │ │ vsub.f64 d5, d5, d14 │ │ │ │ │ - vldr d14, [sp, #512] @ 0x200 │ │ │ │ │ - vstr d11, [sp, #712] @ 0x2c8 │ │ │ │ │ - vsub.f64 d11, d12, d1 │ │ │ │ │ - vldr d1, [sp, #704] @ 0x2c0 │ │ │ │ │ - vldr d12, [sp, #824] @ 0x338 │ │ │ │ │ vsub.f64 d13, d13, d1 │ │ │ │ │ - vstr d11, [sp, #720] @ 0x2d0 │ │ │ │ │ - vldr d11, [sp, #728] @ 0x2d8 │ │ │ │ │ - vsub.f64 d1, d13, d2 │ │ │ │ │ + vstr d8, [sp, #720] @ 0x2d0 │ │ │ │ │ + vstr d11, [sp, #728] @ 0x2d8 │ │ │ │ │ + vsub.f64 d11, d13, d2 │ │ │ │ │ vadd.f64 d2, d13, d2 │ │ │ │ │ - vstr d2, [sp, #752] @ 0x2f0 │ │ │ │ │ - vldr d2, [sp, #696] @ 0x2b8 │ │ │ │ │ - vstr d1, [sp, #704] @ 0x2c0 │ │ │ │ │ - vldr d1, [sp, #664] @ 0x298 │ │ │ │ │ - vsub.f64 d2, d2, d11 │ │ │ │ │ + vstr d11, [sp, #712] @ 0x2c8 │ │ │ │ │ + vstr d2, [sp, #760] @ 0x2f8 │ │ │ │ │ + vldr d2, [sp, #704] @ 0x2c0 │ │ │ │ │ + vsub.f64 d2, d2, d12 │ │ │ │ │ vsub.f64 d11, d2, d5 │ │ │ │ │ vadd.f64 d5, d2, d5 │ │ │ │ │ - vsub.f64 d2, d4, d1 │ │ │ │ │ - vldr d1, [sp, #560] @ 0x230 │ │ │ │ │ - vstr d5, [sp, #728] @ 0x2d8 │ │ │ │ │ - vldr d5, [sp, #608] @ 0x260 │ │ │ │ │ - vstr d11, [sp, #696] @ 0x2b8 │ │ │ │ │ + vstr d11, [sp, #704] @ 0x2c0 │ │ │ │ │ + vstr d5, [sp, #736] @ 0x2e0 │ │ │ │ │ + vldr d5, [sp, #616] @ 0x268 │ │ │ │ │ + vldr d1, [sp, #672] @ 0x2a0 │ │ │ │ │ + ldr r4, [sp, #8] │ │ │ │ │ + vldr d9, [sp, #848] @ 0x350 │ │ │ │ │ vadd.f64 d15, d5, d15 │ │ │ │ │ + vsub.f64 d2, d4, d1 │ │ │ │ │ + vldr d8, [sp, #816] @ 0x330 │ │ │ │ │ + vldr d1, [sp, #568] @ 0x238 │ │ │ │ │ vsub.f64 d5, d9, d6 │ │ │ │ │ - vadd.f64 d6, d9, d6 │ │ │ │ │ - vadd.f64 d13, d2, d5 │ │ │ │ │ - vsub.f64 d5, d2, d5 │ │ │ │ │ + vldr d12, [sp, #840] @ 0x348 │ │ │ │ │ vadd.f64 d11, d15, d0 │ │ │ │ │ vsub.f64 d15, d15, d0 │ │ │ │ │ - vldr d0, [sp, #816] @ 0x330 │ │ │ │ │ - vadd.f64 d2, d8, d12 │ │ │ │ │ - vstr d5, [sp, #760] @ 0x2f8 │ │ │ │ │ + vadd.f64 d6, d9, d6 │ │ │ │ │ + vldr d14, [sp, #520] @ 0x208 │ │ │ │ │ + vldr d0, [sp, #832] @ 0x340 │ │ │ │ │ + vadd.f64 d13, d2, d5 │ │ │ │ │ + vsub.f64 d2, d2, d5 │ │ │ │ │ + vldr d3, [sp, #568] @ 0x238 │ │ │ │ │ vsub.f64 d5, d0, d1 │ │ │ │ │ - vstr d13, [sp, #608] @ 0x260 │ │ │ │ │ - vldr d1, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d1, [sp, #496] @ 0x1f0 │ │ │ │ │ + vstr d13, [sp, #616] @ 0x268 │ │ │ │ │ + vstr d2, [sp, #768] @ 0x300 │ │ │ │ │ + vadd.f64 d2, d8, d12 │ │ │ │ │ + vadd.f64 d14, d1, d14 │ │ │ │ │ vsub.f64 d13, d2, d5 │ │ │ │ │ vadd.f64 d2, d2, d5 │ │ │ │ │ - vldr d5, [sp, #416] @ 0x1a0 │ │ │ │ │ - vadd.f64 d14, d1, d14 │ │ │ │ │ - vstr d2, [sp, #800] @ 0x320 │ │ │ │ │ - vldr d2, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d5, [sp, #424] @ 0x1a8 │ │ │ │ │ + vstr d2, [sp, #776] @ 0x308 │ │ │ │ │ + vldr d2, [sp, #464] @ 0x1d0 │ │ │ │ │ vadd.f64 d2, d5, d2 │ │ │ │ │ vsub.f64 d5, d8, d12 │ │ │ │ │ - vldr d8, [sp, #624] @ 0x270 │ │ │ │ │ - vldr d12, [sp, #632] @ 0x278 │ │ │ │ │ + vldr d8, [sp, #632] @ 0x278 │ │ │ │ │ + vldr d12, [sp, #640] @ 0x280 │ │ │ │ │ vadd.f64 d1, d14, d2 │ │ │ │ │ vsub.f64 d14, d2, d14 │ │ │ │ │ - vadd.f64 d12, d8, d12 │ │ │ │ │ - vldr d8, [sp, #664] @ 0x298 │ │ │ │ │ - vldr d3, [sp, #560] @ 0x230 │ │ │ │ │ vsub.f64 d2, d5, d6 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ - vldr d6, [sp, #472] @ 0x1d8 │ │ │ │ │ - vadd.f64 d4, d8, d4 │ │ │ │ │ - vldr d8, [sp, #504] @ 0x1f8 │ │ │ │ │ + vldr d6, [sp, #480] @ 0x1e0 │ │ │ │ │ + vadd.f64 d12, d8, d12 │ │ │ │ │ + vldr d8, [sp, #672] @ 0x2a0 │ │ │ │ │ vadd.f64 d9, d12, d7 │ │ │ │ │ vsub.f64 d12, d7, d12 │ │ │ │ │ + vadd.f64 d4, d8, d4 │ │ │ │ │ vadd.f64 d7, d0, d3 │ │ │ │ │ - vldr d0, [sp, #496] @ 0x1f0 │ │ │ │ │ - ldr r6, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d0, [sp, #504] @ 0x1f8 │ │ │ │ │ + vldr d8, [sp, #512] @ 0x200 │ │ │ │ │ vsub.f64 d3, d4, d7 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ - vldr d7, [sp, #432] @ 0x1b0 │ │ │ │ │ + vldr d7, [sp, #440] @ 0x1b8 │ │ │ │ │ vadd.f64 d6, d7, d6 │ │ │ │ │ vadd.f64 d7, d0, d8 │ │ │ │ │ - vadd.f64 d8, d11, d1 │ │ │ │ │ - vsub.f64 d1, d1, d11 │ │ │ │ │ - vldr d11, [sp, #800] @ 0x320 │ │ │ │ │ vadd.f64 d0, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vstr d8, [sp, #384] @ 0x180 │ │ │ │ │ - vadd.f64 d8, d2, d8 │ │ │ │ │ + vadd.f64 d7, d11, d1 │ │ │ │ │ + vsub.f64 d1, d1, d11 │ │ │ │ │ + vadd.f64 d8, d2, d7 │ │ │ │ │ + vstr d7, [sp, #392] @ 0x188 │ │ │ │ │ vmov.f64 d7, #96 @ 0x3f000000 0.5 │ │ │ │ │ vmul.f64 d8, d8, d7 │ │ │ │ │ - vstr d8, [r1] │ │ │ │ │ - vldr d8, [sp, #384] @ 0x180 │ │ │ │ │ + vstr d8, [r4] │ │ │ │ │ + ldr r4, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d8, [sp, #392] @ 0x188 │ │ │ │ │ vsub.f64 d2, d2, d8 │ │ │ │ │ vadd.f64 d8, d9, d0 │ │ │ │ │ vsub.f64 d0, d0, d9 │ │ │ │ │ - vldr d9, [sp, #760] @ 0x2f8 │ │ │ │ │ vmul.f64 d2, d2, d7 │ │ │ │ │ - vstr d2, [r6] │ │ │ │ │ + vstr d2, [r4] │ │ │ │ │ vsub.f64 d2, d8, d4 │ │ │ │ │ vadd.f64 d4, d4, d8 │ │ │ │ │ - vldr d8, [pc, #96] @ f68 │ │ │ │ │ - ldr r6, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d8, [pc, #972] @ 1378 │ │ │ │ │ vmul.f64 d2, d2, d7 │ │ │ │ │ vmul.f64 d4, d4, d7 │ │ │ │ │ - vstr d2, [ip] │ │ │ │ │ - vstr d4, [r0] │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ + ldr r2, [sp, #0] │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ vsub.f64 d4, d0, d5 │ │ │ │ │ vadd.f64 d5, d5, d0 │ │ │ │ │ - vldr d2, [sp, #608] @ 0x260 │ │ │ │ │ vmul.f64 d4, d4, d7 │ │ │ │ │ vmul.f64 d5, d5, d7 │ │ │ │ │ - vstr d4, [r7] │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ vadd.f64 d4, d14, d12 │ │ │ │ │ - ldr r7, [sp, #108] @ 0x6c │ │ │ │ │ vsub.f64 d14, d14, d12 │ │ │ │ │ - vmul.f64 d4, d4, d7 │ │ │ │ │ - vstr d5, [r7] │ │ │ │ │ + ldr r3, [sp, #132] @ 0x84 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ vadd.f64 d5, d3, d1 │ │ │ │ │ - ldr r7, [sp, #100] @ 0x64 │ │ │ │ │ vsub.f64 d3, d3, d1 │ │ │ │ │ + vmul.f64 d4, d4, d7 │ │ │ │ │ + ldr r2, [sp, #72] @ 0x48 │ │ │ │ │ vmul.f64 d14, d14, d7 │ │ │ │ │ + vldr d9, [sp, #616] @ 0x268 │ │ │ │ │ + ldr r3, [sp, #124] @ 0x7c │ │ │ │ │ vmul.f64 d5, d5, d7 │ │ │ │ │ vmul.f64 d3, d3, d7 │ │ │ │ │ - vstr d5, [r7] │ │ │ │ │ - b.n f78 │ │ │ │ │ - nop │ │ │ │ │ - nop.w │ │ │ │ │ - .word 0x667f3bcd │ │ │ │ │ - .word 0x3fd6a09e │ │ │ │ │ - .word 0x00000f54 │ │ │ │ │ - R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ - .word 0x00000000 │ │ │ │ │ - R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - vadd.f64 d5, d2, d13 │ │ │ │ │ - vstr d3, [r6] │ │ │ │ │ - vsub.f64 d13, d13, d2 │ │ │ │ │ - ldr r7, [sp, #48] @ 0x30 │ │ │ │ │ - ldr r6, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d1, [sp, #768] @ 0x300 │ │ │ │ │ + vldr d2, [sp, #776] @ 0x308 │ │ │ │ │ + ldr r4, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + vadd.f64 d5, d9, d13 │ │ │ │ │ + vsub.f64 d13, d13, d9 │ │ │ │ │ + ldr r3, [sp, #360] @ 0x168 │ │ │ │ │ + vldr d12, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d9, [sp, #416] @ 0x1a0 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ vmul.f64 d13, d13, d8 │ │ │ │ │ + ldr r3, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d11, [sp, #648] @ 0x288 │ │ │ │ │ + vldr d0, [sp, #856] @ 0x358 │ │ │ │ │ vadd.f64 d3, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ - vadd.f64 d4, d9, d11 │ │ │ │ │ - vstr d3, [r7] │ │ │ │ │ - vstr d5, [r6] │ │ │ │ │ + vadd.f64 d4, d1, d2 │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ vadd.f64 d5, d15, d6 │ │ │ │ │ vmul.f64 d4, d4, d8 │ │ │ │ │ vsub.f64 d6, d6, d15 │ │ │ │ │ + ldr r2, [sp, #88] @ 0x58 │ │ │ │ │ vmul.f64 d5, d5, d7 │ │ │ │ │ vmul.f64 d6, d6, d7 │ │ │ │ │ vsub.f64 d3, d5, d4 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - ldr r2, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d3, [pc, #968] @ 1390 │ │ │ │ │ + vmov.f64 d4, d1 │ │ │ │ │ + vldr d1, [sp, #680] @ 0x2a8 │ │ │ │ │ + vstr d3, [lr] │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ vsub.f64 d5, d6, d13 │ │ │ │ │ vadd.f64 d6, d6, d13 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - ldr r3, [sp, #88] @ 0x58 │ │ │ │ │ + ldr r2, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d3, [pc, #760] @ 1380 │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ - vsub.f64 d6, d9, d11 │ │ │ │ │ - ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ - ldr r6, [sp, #368] @ 0x170 │ │ │ │ │ - vldr d4, [sp, #616] @ 0x268 │ │ │ │ │ + vsub.f64 d6, d4, d2 │ │ │ │ │ + vldr d4, [sp, #624] @ 0x270 │ │ │ │ │ vmul.f64 d6, d6, d8 │ │ │ │ │ - vldr d11, [sp, #640] @ 0x280 │ │ │ │ │ - vldr d12, [sp, #392] @ 0x188 │ │ │ │ │ - vldr d9, [sp, #408] @ 0x198 │ │ │ │ │ - vldr d1, [sp, #672] @ 0x2a0 │ │ │ │ │ vadd.f64 d5, d14, d6 │ │ │ │ │ vsub.f64 d6, d6, d14 │ │ │ │ │ - vldr d14, [sp, #400] @ 0x190 │ │ │ │ │ - vldr d0, [sp, #840] @ 0x348 │ │ │ │ │ - vldr d15, [sp, #520] @ 0x208 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ + vldr d14, [sp, #408] @ 0x198 │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ vadd.f64 d5, d12, d14 │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ + vstr d6, [r8] │ │ │ │ │ vsub.f64 d6, d4, d11 │ │ │ │ │ - vldr d14, [sp, #448] @ 0x1c0 │ │ │ │ │ - vldr d12, [sp, #504] @ 0x1f8 │ │ │ │ │ - vldr d2, [sp, #432] @ 0x1b0 │ │ │ │ │ + vldr d14, [sp, #456] @ 0x1c8 │ │ │ │ │ vadd.f64 d11, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vsub.f64 d5, d10, d0 │ │ │ │ │ vmul.f64 d13, d6, d8 │ │ │ │ │ vsub.f64 d6, d9, d1 │ │ │ │ │ - vldr d1, [pc, #856] @ 13a0 │ │ │ │ │ + vldr d1, [pc, #692] @ 1388 │ │ │ │ │ vmul.f64 d11, d11, d8 │ │ │ │ │ - vldr d9, [sp, #808] @ 0x328 │ │ │ │ │ + vldr d9, [sp, #824] @ 0x338 │ │ │ │ │ vmul.f64 d4, d6, d1 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ vmla.f64 d4, d5, d3 │ │ │ │ │ vnmls.f64 d6, d5, d1 │ │ │ │ │ - vsub.f64 d5, d14, d15 │ │ │ │ │ - vldr d15, [sp, #456] @ 0x1c8 │ │ │ │ │ - vstr d4, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d4, [sp, #72] @ 0x48 │ │ │ │ │ vmov.f64 d4, d3 │ │ │ │ │ - vldr d3, [sp, #568] @ 0x238 │ │ │ │ │ - vstr d6, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d3, [sp, #576] @ 0x240 │ │ │ │ │ + vstr d6, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d15, [sp, #528] @ 0x210 │ │ │ │ │ + ldr r1, [sp, #40] @ 0x28 │ │ │ │ │ vsub.f64 d6, d9, d3 │ │ │ │ │ vmov.f64 d3, d4 │ │ │ │ │ + vldr d12, [sp, #512] @ 0x200 │ │ │ │ │ + vsub.f64 d5, d14, d15 │ │ │ │ │ + vldr d2, [sp, #440] @ 0x1b8 │ │ │ │ │ + vldr d15, [sp, #464] @ 0x1d0 │ │ │ │ │ + ldr r4, [sp, #56] @ 0x38 │ │ │ │ │ vmul.f64 d4, d5, d4 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - vmla.f64 d5, d6, d3 │ │ │ │ │ + ldr r2, [sp, #176] @ 0xb0 │ │ │ │ │ vnmls.f64 d4, d6, d1 │ │ │ │ │ - vstr d5, [sp, #88] @ 0x58 │ │ │ │ │ - vstr d4, [sp, #72] @ 0x48 │ │ │ │ │ + vmla.f64 d5, d6, d3 │ │ │ │ │ + vstr d4, [sp, #96] @ 0x60 │ │ │ │ │ vmov.f64 d4, d3 │ │ │ │ │ - vldr d3, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d3, [sp, #504] @ 0x1f8 │ │ │ │ │ + vstr d5, [sp, #112] @ 0x70 │ │ │ │ │ vsub.f64 d5, d12, d3 │ │ │ │ │ - vldr d3, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d3, [sp, #424] @ 0x1a8 │ │ │ │ │ vsub.f64 d6, d3, d15 │ │ │ │ │ - vldr d15, [sp, #672] @ 0x2a0 │ │ │ │ │ + vldr d15, [sp, #680] @ 0x2a8 │ │ │ │ │ vadd.f64 d3, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [sp, #512] @ 0x200 │ │ │ │ │ + vldr d5, [sp, #520] @ 0x208 │ │ │ │ │ vmul.f64 d12, d6, d7 │ │ │ │ │ vadd.f64 d6, d0, d10 │ │ │ │ │ - vldr d0, [sp, #408] @ 0x198 │ │ │ │ │ + vldr d0, [sp, #416] @ 0x1a0 │ │ │ │ │ vmov.f64 d10, d4 │ │ │ │ │ vmul.f64 d3, d3, d7 │ │ │ │ │ vadd.f64 d15, d15, d0 │ │ │ │ │ vmul.f64 d14, d15, d4 │ │ │ │ │ vmul.f64 d15, d15, d1 │ │ │ │ │ vmla.f64 d14, d6, d1 │ │ │ │ │ vnmls.f64 d15, d6, d4 │ │ │ │ │ - vldr d6, [sp, #472] @ 0x1d8 │ │ │ │ │ - vldr d4, [sp, #616] @ 0x268 │ │ │ │ │ + vldr d6, [sp, #480] @ 0x1e0 │ │ │ │ │ + vldr d4, [sp, #624] @ 0x270 │ │ │ │ │ vsub.f64 d6, d2, d6 │ │ │ │ │ - vldr d2, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d2, [sp, #496] @ 0x1f0 │ │ │ │ │ vsub.f64 d5, d2, d5 │ │ │ │ │ - vldr d2, [sp, #640] @ 0x280 │ │ │ │ │ - vadd.f64 d2, d4, d2 │ │ │ │ │ + vldr d2, [sp, #648] @ 0x288 │ │ │ │ │ vadd.f64 d0, d6, d5 │ │ │ │ │ + vadd.f64 d2, d4, d2 │ │ │ │ │ + vldr d4, [sp, #400] @ 0x190 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [sp, #400] @ 0x190 │ │ │ │ │ - vldr d4, [sp, #392] @ 0x188 │ │ │ │ │ - ldr r7, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d5, [sp, #408] @ 0x198 │ │ │ │ │ vmul.f64 d0, d0, d7 │ │ │ │ │ - ldr r3, [sp, #24] │ │ │ │ │ - vsub.f64 d5, d5, d4 │ │ │ │ │ - ldr r2, [sp, #112] @ 0x70 │ │ │ │ │ vmul.f64 d6, d6, d7 │ │ │ │ │ + vsub.f64 d5, d5, d4 │ │ │ │ │ vadd.f64 d4, d2, d5 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ - vldr d2, [sp, #520] @ 0x208 │ │ │ │ │ + vldr d2, [sp, #528] @ 0x210 │ │ │ │ │ vmul.f64 d4, d4, d8 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ - vldr d8, [sp, #568] @ 0x238 │ │ │ │ │ + vldr d8, [sp, #576] @ 0x240 │ │ │ │ │ vadd.f64 d8, d9, d8 │ │ │ │ │ - vldr d9, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d9, [sp, #456] @ 0x1c8 │ │ │ │ │ vadd.f64 d2, d9, d2 │ │ │ │ │ vmov.f64 d9, d1 │ │ │ │ │ vmul.f64 d1, d2, d1 │ │ │ │ │ vmul.f64 d2, d2, d10 │ │ │ │ │ + vnmls.f64 d1, d8, d10 │ │ │ │ │ vmla.f64 d2, d8, d9 │ │ │ │ │ vadd.f64 d9, d11, d3 │ │ │ │ │ vsub.f64 d3, d3, d11 │ │ │ │ │ - vldr d11, [sp, #72] @ 0x48 │ │ │ │ │ - vnmls.f64 d1, d8, d10 │ │ │ │ │ vadd.f64 d8, d14, d1 │ │ │ │ │ vsub.f64 d1, d1, d14 │ │ │ │ │ - vldr d14, [sp, #88] @ 0x58 │ │ │ │ │ vadd.f64 d10, d9, d8 │ │ │ │ │ vsub.f64 d8, d8, d9 │ │ │ │ │ vadd.f64 d9, d15, d2 │ │ │ │ │ vsub.f64 d15, d15, d2 │ │ │ │ │ - vstr d10, [r7] │ │ │ │ │ - vstr d8, [r3] │ │ │ │ │ + vstr d10, [r1] │ │ │ │ │ + vstr d8, [r4] │ │ │ │ │ vadd.f64 d8, d0, d4 │ │ │ │ │ - ldr r3, [sp, #216] @ 0xd8 │ │ │ │ │ vsub.f64 d4, d0, d4 │ │ │ │ │ - ldr r7, [sp, #16] │ │ │ │ │ + ldr r1, [sp, #48] @ 0x30 │ │ │ │ │ vsub.f64 d10, d8, d9 │ │ │ │ │ - vadd.f64 d8, d8, d9 │ │ │ │ │ vsub.f64 d0, d4, d1 │ │ │ │ │ + vadd.f64 d8, d8, d9 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ - vldr d1, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d10, [r3] │ │ │ │ │ - ldr r3, [sp, #280] @ 0x118 │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ - ldr r2, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d0, [r3] │ │ │ │ │ - ldr r3, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d0, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ + vstr d10, [r5] │ │ │ │ │ + vstr d8, [r1] │ │ │ │ │ + vstr d0, [r7] │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ vadd.f64 d4, d3, d15 │ │ │ │ │ - ldr r3, [sp, #128] @ 0x80 │ │ │ │ │ vsub.f64 d15, d15, d3 │ │ │ │ │ + ldr r2, [sp, #160] @ 0xa0 │ │ │ │ │ vadd.f64 d3, d12, d5 │ │ │ │ │ vsub.f64 d5, d12, d5 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ + vstr d15, [r6] │ │ │ │ │ + ldr r1, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d1, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d11, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d0, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d14, [sp, #112] @ 0x70 │ │ │ │ │ vadd.f64 d4, d1, d11 │ │ │ │ │ - ldr r3, [sp, #264] @ 0x108 │ │ │ │ │ + ldr r3, [sp, #144] @ 0x90 │ │ │ │ │ + ldr r6, [sp, #264] @ 0x108 │ │ │ │ │ + ldr r2, [sp, #240] @ 0xf0 │ │ │ │ │ vadd.f64 d2, d3, d4 │ │ │ │ │ vsub.f64 d4, d4, d3 │ │ │ │ │ - vstr d15, [r3] │ │ │ │ │ + ldr r7, [sp, #280] @ 0x118 │ │ │ │ │ vadd.f64 d3, d0, d14 │ │ │ │ │ - ldr r3, [sp, #232] @ 0xe8 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ + vldr d8, [sp, #704] @ 0x2c0 │ │ │ │ │ + vldr d12, [sp, #720] @ 0x2d0 │ │ │ │ │ + vstr d2, [r1] │ │ │ │ │ + vstr d4, [r6] │ │ │ │ │ vadd.f64 d4, d13, d6 │ │ │ │ │ - ldr r3, [sp, #248] @ 0xf8 │ │ │ │ │ vsub.f64 d6, d6, d13 │ │ │ │ │ - vldr d13, [pc, #448] @ 13c8 │ │ │ │ │ + vldr d15, [sp, #864] @ 0x360 │ │ │ │ │ + vldr d13, [pc, #264] @ 13b0 │ │ │ │ │ vsub.f64 d2, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ - vstr d2, [r3] │ │ │ │ │ - vstr d4, [r7] │ │ │ │ │ + vstr d2, [r7] │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ vsub.f64 d4, d11, d1 │ │ │ │ │ ldr r3, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d15, [sp, #848] @ 0x350 │ │ │ │ │ - vldr d12, [sp, #712] @ 0x2c8 │ │ │ │ │ + vldr d11, [sp, #552] @ 0x228 │ │ │ │ │ + vldr d1, [sp, #600] @ 0x258 │ │ │ │ │ vsub.f64 d3, d6, d4 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vldr d8, [sp, #696] @ 0x2b8 │ │ │ │ │ - vldr d11, [sp, #544] @ 0x220 │ │ │ │ │ - vldr d1, [sp, #592] @ 0x250 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ - ldr r3, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d3, [pc, #332] @ 1390 │ │ │ │ │ - vldr d10, [sp, #440] @ 0x1b8 │ │ │ │ │ - vldr d9, [sp, #768] @ 0x300 │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ vsub.f64 d6, d0, d14 │ │ │ │ │ - ldr r3, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d0, [sp, #864] @ 0x360 │ │ │ │ │ - vldr d14, [sp, #480] @ 0x1e0 │ │ │ │ │ + ldr r3, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d3, [pc, #160] @ 1380 │ │ │ │ │ + vldr d0, [sp, #880] @ 0x370 │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ + vldr d14, [sp, #488] @ 0x1e8 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ - vldr d4, [pc, #308] @ 13a0 │ │ │ │ │ - ldr r3, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d4, [pc, #144] @ 1388 │ │ │ │ │ + ldr r3, [sp, #224] @ 0xe0 │ │ │ │ │ vmul.f64 d5, d15, d4 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ vmul.f64 d6, d12, d4 │ │ │ │ │ - vmla.f64 d6, d8, d3 │ │ │ │ │ vnmls.f64 d5, d0, d3 │ │ │ │ │ + vmla.f64 d6, d8, d3 │ │ │ │ │ vadd.f64 d2, d5, d6 │ │ │ │ │ vsub.f64 d6, d5, d6 │ │ │ │ │ - vldr d5, [sp, #424] @ 0x1a8 │ │ │ │ │ - vstr d6, [sp, #24] │ │ │ │ │ + vldr d5, [sp, #432] @ 0x1b0 │ │ │ │ │ vsub.f64 d5, d5, d14 │ │ │ │ │ + vstr d2, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d2, [pc, #84] @ 1378 │ │ │ │ │ + vstr d6, [sp, #48] @ 0x30 │ │ │ │ │ vadd.f64 d6, d11, d1 │ │ │ │ │ - vstr d2, [sp, #16] │ │ │ │ │ - vldr d2, [pc, #260] @ 13a8 │ │ │ │ │ - vldr d11, [sp, #464] @ 0x1d0 │ │ │ │ │ vmul.f64 d5, d5, d7 │ │ │ │ │ - vldr d14, [sp, #584] @ 0x248 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ vadd.f64 d1, d6, d5 │ │ │ │ │ vsub.f64 d6, d5, d6 │ │ │ │ │ vmul.f64 d5, d8, d4 │ │ │ │ │ - vstr d6, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d6, [sp, #56] @ 0x38 │ │ │ │ │ vmul.f64 d6, d15, d3 │ │ │ │ │ vnmls.f64 d5, d12, d3 │ │ │ │ │ vmla.f64 d6, d0, d4 │ │ │ │ │ - vldr d12, [sp, #600] @ 0x258 │ │ │ │ │ - vldr d0, [sp, #552] @ 0x228 │ │ │ │ │ - vldr d15, [sp, #528] @ 0x210 │ │ │ │ │ vadd.f64 d8, d6, d5 │ │ │ │ │ vsub.f64 d6, d5, d6 │ │ │ │ │ + vstr d6, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d10, [sp, #448] @ 0x1c0 │ │ │ │ │ + ldr r3, [sp, #216] @ 0xd8 │ │ │ │ │ + vldr d0, [sp, #560] @ 0x230 │ │ │ │ │ + vldr d12, [sp, #608] @ 0x260 │ │ │ │ │ + vldr d11, [sp, #472] @ 0x1d8 │ │ │ │ │ + b.n 13c0 │ │ │ │ │ + nop │ │ │ │ │ + nop.w │ │ │ │ │ + .word 0x667f3bcd │ │ │ │ │ + .word 0x3fd6a09e │ │ │ │ │ + .word 0xcf328d46 │ │ │ │ │ + .word 0x3fdd906b │ │ │ │ │ + .word 0xa6aea963 │ │ │ │ │ + .word 0x3fc87de2 │ │ │ │ │ + .word 0x667f3bcd │ │ │ │ │ + .word 0x3fd6a09e │ │ │ │ │ + .word 0x667f3bcd │ │ │ │ │ + .word 0x3fe6a09e │ │ │ │ │ + .word 0x290ea1a3 │ │ │ │ │ + .word 0x3fda9b66 │ │ │ │ │ + .word 0x39ae68c8 │ │ │ │ │ + .word 0x3fd1c73b │ │ │ │ │ + .word 0xcff75cb0 │ │ │ │ │ + .word 0x3fdf6297 │ │ │ │ │ + .word 0x3c69a60b │ │ │ │ │ + .word 0x3fb8f8b8 │ │ │ │ │ + vldr d15, [sp, #536] @ 0x218 │ │ │ │ │ vadd.f64 d5, d0, d12 │ │ │ │ │ - vldr d12, [sp, #576] @ 0x240 │ │ │ │ │ - vadd.f64 d4, d15, d12 │ │ │ │ │ - vstr d6, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d9, [sp, #784] @ 0x310 │ │ │ │ │ + vldr d12, [sp, #584] @ 0x248 │ │ │ │ │ vadd.f64 d6, d10, d11 │ │ │ │ │ - vldr d10, [pc, #180] @ 13b0 │ │ │ │ │ + vldr d10, [pc, #-64] @ 1398 │ │ │ │ │ + vldr d14, [sp, #592] @ 0x250 │ │ │ │ │ vmul.f64 d5, d5, d2 │ │ │ │ │ - vmul.f64 d4, d4, d10 │ │ │ │ │ + vadd.f64 d4, d15, d12 │ │ │ │ │ vmul.f64 d6, d6, d7 │ │ │ │ │ - vadd.f64 d0, d9, d4 │ │ │ │ │ - vsub.f64 d4, d9, d4 │ │ │ │ │ - vldr d9, [sp, #536] @ 0x218 │ │ │ │ │ + ldr r6, [sp, #256] @ 0x100 │ │ │ │ │ + ldr r7, [sp, #272] @ 0x110 │ │ │ │ │ + vmul.f64 d4, d4, d10 │ │ │ │ │ vadd.f64 d3, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ + vadd.f64 d0, d9, d4 │ │ │ │ │ + vsub.f64 d4, d9, d4 │ │ │ │ │ + vldr d9, [sp, #544] @ 0x220 │ │ │ │ │ vadd.f64 d5, d9, d14 │ │ │ │ │ - vldr d9, [sp, #784] @ 0x310 │ │ │ │ │ - vldr d14, [pc, #152] @ 13c0 │ │ │ │ │ + vldr d9, [sp, #800] @ 0x320 │ │ │ │ │ + vldr d14, [pc, #-104] @ 13a8 │ │ │ │ │ vmul.f64 d5, d5, d10 │ │ │ │ │ vadd.f64 d2, d9, d5 │ │ │ │ │ vsub.f64 d5, d9, d5 │ │ │ │ │ - vldr d9, [pc, #152] @ 13d0 │ │ │ │ │ + vldr d9, [pc, #-104] @ 13b8 │ │ │ │ │ vmul.f64 d15, d2, d9 │ │ │ │ │ vmul.f64 d9, d5, d14 │ │ │ │ │ vmul.f64 d2, d2, d13 │ │ │ │ │ + vnmls.f64 d15, d0, d13 │ │ │ │ │ vmov.f64 d11, d9 │ │ │ │ │ - vldr d9, [pc, #108] @ 13b8 │ │ │ │ │ + vldr d9, [pc, #-152] @ 13a0 │ │ │ │ │ vmov.f64 d12, d2 │ │ │ │ │ - vldr d2, [sp, #648] @ 0x288 │ │ │ │ │ - vnmls.f64 d15, d0, d13 │ │ │ │ │ + vldr d2, [sp, #656] @ 0x290 │ │ │ │ │ vmla.f64 d11, d4, d9 │ │ │ │ │ - vldr d9, [pc, #112] @ 13d0 │ │ │ │ │ + vldr d9, [pc, #-144] @ 13b8 │ │ │ │ │ vmla.f64 d12, d0, d9 │ │ │ │ │ - vldr d9, [pc, #80] @ 13b8 │ │ │ │ │ + vldr d9, [pc, #-176] @ 13a0 │ │ │ │ │ + vldr d0, [sp, #712] @ 0x2c8 │ │ │ │ │ + vstr d11, [sp, #72] @ 0x48 │ │ │ │ │ vmul.f64 d5, d5, d9 │ │ │ │ │ - vstr d11, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d9, [sp, #680] @ 0x2a8 │ │ │ │ │ + vldr d9, [sp, #688] @ 0x2b0 │ │ │ │ │ vnmls.f64 d5, d4, d14 │ │ │ │ │ - vldr d0, [sp, #704] @ 0x2c0 │ │ │ │ │ - ldr r3, [sp, #176] @ 0xb0 │ │ │ │ │ vadd.f64 d2, d2, d9 │ │ │ │ │ - vldr d9, [sp, #688] @ 0x2b0 │ │ │ │ │ - ldr r7, [sp, #32] │ │ │ │ │ - ldr r2, [sp, #8] │ │ │ │ │ + vldr d9, [sp, #696] @ 0x2b8 │ │ │ │ │ vmul.f64 d2, d2, d10 │ │ │ │ │ - b.n 13d8 │ │ │ │ │ - .word 0xcf328d46 │ │ │ │ │ - .word 0x3fdd906b │ │ │ │ │ - .word 0xcf328d46 │ │ │ │ │ - .word 0x3fdd906b │ │ │ │ │ - .word 0xa6aea963 │ │ │ │ │ - .word 0x3fc87de2 │ │ │ │ │ - .word 0x667f3bcd │ │ │ │ │ - .word 0x3fd6a09e │ │ │ │ │ - .word 0x667f3bcd │ │ │ │ │ - .word 0x3fe6a09e │ │ │ │ │ - .word 0x290ea1a3 │ │ │ │ │ - .word 0x3fda9b66 │ │ │ │ │ - .word 0x39ae68c8 │ │ │ │ │ - .word 0x3fd1c73b │ │ │ │ │ - .word 0xcff75cb0 │ │ │ │ │ - .word 0x3fdf6297 │ │ │ │ │ - .word 0x3c69a60b │ │ │ │ │ - .word 0x3fb8f8b8 │ │ │ │ │ vmov.f64 d11, d5 │ │ │ │ │ vadd.f64 d5, d0, d2 │ │ │ │ │ vsub.f64 d2, d0, d2 │ │ │ │ │ - vldr d0, [sp, #656] @ 0x290 │ │ │ │ │ + vldr d0, [sp, #664] @ 0x298 │ │ │ │ │ vadd.f64 d4, d0, d9 │ │ │ │ │ - vldr d0, [sp, #736] @ 0x2e0 │ │ │ │ │ + vldr d0, [sp, #744] @ 0x2e8 │ │ │ │ │ vmul.f64 d4, d4, d10 │ │ │ │ │ - vldr d10, [pc, #-64] @ 13b8 │ │ │ │ │ - vmul.f64 d10, d2, d10 │ │ │ │ │ + vldr d10, [pc, #-240] @ 13a0 │ │ │ │ │ vadd.f64 d9, d0, d4 │ │ │ │ │ vsub.f64 d4, d0, d4 │ │ │ │ │ - vldr d0, [pc, #-56] @ 13d0 │ │ │ │ │ + vldr d0, [pc, #-228] @ 13b8 │ │ │ │ │ + vmul.f64 d10, d2, d10 │ │ │ │ │ vnmls.f64 d10, d4, d14 │ │ │ │ │ - vldr d14, [pc, #-64] @ 13d0 │ │ │ │ │ + vldr d14, [pc, #-240] @ 13b8 │ │ │ │ │ vmul.f64 d0, d9, d0 │ │ │ │ │ vmla.f64 d0, d5, d13 │ │ │ │ │ vmul.f64 d5, d5, d14 │ │ │ │ │ - vldr d14, [pc, #-96] @ 13c0 │ │ │ │ │ + vldr d14, [pc, #-272] @ 13a8 │ │ │ │ │ vnmls.f64 d5, d9, d13 │ │ │ │ │ - vldr d9, [pc, #-112] @ 13b8 │ │ │ │ │ + vldr d9, [pc, #-288] @ 13a0 │ │ │ │ │ vmul.f64 d4, d4, d9 │ │ │ │ │ vmov.f64 d13, d4 │ │ │ │ │ - vldr d4, [sp, #16] │ │ │ │ │ + vldr d4, [sp, #40] @ 0x28 │ │ │ │ │ vmla.f64 d13, d2, d14 │ │ │ │ │ vadd.f64 d2, d4, d1 │ │ │ │ │ vadd.f64 d4, d15, d0 │ │ │ │ │ vsub.f64 d0, d15, d0 │ │ │ │ │ vadd.f64 d9, d2, d4 │ │ │ │ │ vsub.f64 d4, d4, d2 │ │ │ │ │ vadd.f64 d2, d12, d5 │ │ │ │ │ vsub.f64 d5, d5, d12 │ │ │ │ │ + vmov.f64 d12, d13 │ │ │ │ │ vstr d9, [r3] │ │ │ │ │ - ldr r3, [sp, #152] @ 0x98 │ │ │ │ │ + ldr r3, [sp, #192] @ 0xc0 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ vadd.f64 d4, d8, d3 │ │ │ │ │ - ldr r3, [sp, #168] @ 0xa8 │ │ │ │ │ vsub.f64 d3, d3, d8 │ │ │ │ │ - vldr d8, [sp, #64] @ 0x40 │ │ │ │ │ + ldr r3, [sp, #208] @ 0xd0 │ │ │ │ │ vsub.f64 d9, d4, d2 │ │ │ │ │ vadd.f64 d4, d4, d2 │ │ │ │ │ vsub.f64 d2, d3, d0 │ │ │ │ │ vadd.f64 d3, d3, d0 │ │ │ │ │ - vldr d0, [sp, #24] │ │ │ │ │ vstr d9, [r3] │ │ │ │ │ - ldr r3, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d9, [pc, #-208] @ 13b8 │ │ │ │ │ + ldr r3, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d9, [pc, #-380] @ 13a0 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ - vldr d4, [sp, #16] │ │ │ │ │ - ldr r3, [sp, #240] @ 0xf0 │ │ │ │ │ - vstr d2, [r7] │ │ │ │ │ + vldr d4, [sp, #40] @ 0x28 │ │ │ │ │ + ldr r3, [sp, #152] @ 0x98 │ │ │ │ │ vsub.f64 d1, d1, d4 │ │ │ │ │ - vldr d2, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ - ldr r3, [sp, #224] @ 0xe0 │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + vstr d3, [r7] │ │ │ │ │ vadd.f64 d4, d1, d5 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ - vldr d1, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ + vstr d4, [r6] │ │ │ │ │ + ldr r4, [sp, #32] │ │ │ │ │ + vldr d1, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d2, [sp, #64] @ 0x40 │ │ │ │ │ + ldr r1, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d0, [sp, #48] @ 0x30 │ │ │ │ │ vadd.f64 d4, d1, d2 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - vadd.f64 d5, d11, d13 │ │ │ │ │ - ldr r3, [sp, #256] @ 0x100 │ │ │ │ │ - vsub.f64 d12, d1, d2 │ │ │ │ │ + vldr d8, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ + vadd.f64 d5, d11, d12 │ │ │ │ │ + ldr r1, [sp, #168] @ 0xa8 │ │ │ │ │ + ldr r6, [sp, #288] @ 0x120 │ │ │ │ │ + ldr r7, [sp, #296] @ 0x128 │ │ │ │ │ vadd.f64 d3, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vadd.f64 d4, d8, d10 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ - vstr d5, [sl] │ │ │ │ │ + ldr r5, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d13, [sp, #728] @ 0x2d8 │ │ │ │ │ + vldr d15, [sp, #888] @ 0x378 │ │ │ │ │ + vstr d3, [r6] │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ vadd.f64 d5, d0, d6 │ │ │ │ │ - ldr r3, [sp, #272] @ 0x110 │ │ │ │ │ vsub.f64 d6, d6, d0 │ │ │ │ │ vsub.f64 d3, d5, d4 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ - vstr d3, [r9] │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - vsub.f64 d5, d11, d13 │ │ │ │ │ - ldr r3, [sp, #208] @ 0xd0 │ │ │ │ │ - vldr d3, [pc, #-360] @ 1398 │ │ │ │ │ - vldr d11, [sp, #856] @ 0x358 │ │ │ │ │ + vstr d3, [fp] │ │ │ │ │ + vstr d5, [r7] │ │ │ │ │ + vsub.f64 d5, d11, d12 │ │ │ │ │ + vsub.f64 d12, d1, d2 │ │ │ │ │ + vldr d3, [pc, #-552] @ 1380 │ │ │ │ │ + vldr d11, [sp, #872] @ 0x368 │ │ │ │ │ + vldr d2, [sp, #488] @ 0x1e8 │ │ │ │ │ vsub.f64 d4, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vsub.f64 d5, d10, d8 │ │ │ │ │ - vldr d13, [sp, #720] @ 0x2d0 │ │ │ │ │ - vldr d15, [sp, #872] @ 0x368 │ │ │ │ │ - vldr d10, [sp, #728] @ 0x2d8 │ │ │ │ │ - vstr d4, [r8] │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ + vldr d8, [sp, #560] @ 0x230 │ │ │ │ │ + vldr d10, [sp, #736] @ 0x2e0 │ │ │ │ │ + vstr d4, [sl] │ │ │ │ │ vadd.f64 d4, d12, d5 │ │ │ │ │ - ldr r3, [sp, #0] │ │ │ │ │ vsub.f64 d5, d5, d12 │ │ │ │ │ + vstr d6, [r5] │ │ │ │ │ vmul.f64 d6, d13, d3 │ │ │ │ │ - vldr d8, [sp, #552] @ 0x228 │ │ │ │ │ - vldr d12, [sp, #600] @ 0x258 │ │ │ │ │ - vldr d2, [sp, #480] @ 0x1e0 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - vstr d5, [lr] │ │ │ │ │ + vldr d12, [sp, #608] @ 0x260 │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ + vldr d4, [pc, #-604] @ 1388 │ │ │ │ │ + vstr d5, [r9] │ │ │ │ │ vmul.f64 d5, d11, d3 │ │ │ │ │ - vldr d4, [pc, #-428] @ 13a0 │ │ │ │ │ - vnmls.f64 d5, d15, d4 │ │ │ │ │ vmla.f64 d6, d10, d4 │ │ │ │ │ + vnmls.f64 d5, d15, d4 │ │ │ │ │ vadd.f64 d0, d5, d6 │ │ │ │ │ vsub.f64 d1, d5, d6 │ │ │ │ │ - vldr d5, [sp, #424] @ 0x1a8 │ │ │ │ │ + vldr d5, [sp, #432] @ 0x1b0 │ │ │ │ │ vsub.f64 d6, d8, d12 │ │ │ │ │ - vldr d12, [sp, #792] @ 0x318 │ │ │ │ │ vadd.f64 d5, d5, d2 │ │ │ │ │ - vstr d1, [sp] │ │ │ │ │ - vldr d1, [pc, #-460] @ 13a8 │ │ │ │ │ + vstr d1, [sp, #32] │ │ │ │ │ + vldr d1, [pc, #-640] @ 1390 │ │ │ │ │ vmul.f64 d5, d5, d7 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ vadd.f64 d2, d6, d5 │ │ │ │ │ vsub.f64 d6, d5, d6 │ │ │ │ │ vmul.f64 d5, d10, d3 │ │ │ │ │ - vldr d10, [pc, #-476] @ 13b0 │ │ │ │ │ - vstr d6, [sp, #8] │ │ │ │ │ + vldr d10, [pc, #-656] @ 1398 │ │ │ │ │ + vstr d6, [sp, #40] @ 0x28 │ │ │ │ │ vmul.f64 d6, d11, d4 │ │ │ │ │ - vmla.f64 d6, d15, d3 │ │ │ │ │ vnmls.f64 d5, d13, d4 │ │ │ │ │ - vldr d4, [sp, #464] @ 0x1d0 │ │ │ │ │ - vldr d3, [sp, #592] @ 0x250 │ │ │ │ │ - vldr d15, [sp, #528] @ 0x210 │ │ │ │ │ + vldr d4, [sp, #472] @ 0x1d8 │ │ │ │ │ + vmla.f64 d6, d15, d3 │ │ │ │ │ + vldr d3, [sp, #600] @ 0x258 │ │ │ │ │ vadd.f64 d8, d6, d5 │ │ │ │ │ vsub.f64 d11, d5, d6 │ │ │ │ │ - vldr d5, [sp, #440] @ 0x1b8 │ │ │ │ │ + vldr d5, [sp, #448] @ 0x1c0 │ │ │ │ │ vsub.f64 d6, d5, d4 │ │ │ │ │ - vldr d4, [sp, #544] @ 0x220 │ │ │ │ │ - vldr d5, [sp, #536] @ 0x218 │ │ │ │ │ + vldr d4, [sp, #552] @ 0x228 │ │ │ │ │ + ldr r1, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d5, [sp, #544] @ 0x220 │ │ │ │ │ vmul.f64 d7, d6, d7 │ │ │ │ │ vsub.f64 d6, d3, d4 │ │ │ │ │ - vldr d4, [sp, #584] @ 0x248 │ │ │ │ │ - vsub.f64 d5, d5, d4 │ │ │ │ │ + vldr d15, [sp, #536] @ 0x218 │ │ │ │ │ + vldr d4, [sp, #592] @ 0x250 │ │ │ │ │ + vldr d12, [sp, #808] @ 0x328 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ - vmul.f64 d5, d5, d10 │ │ │ │ │ + ldrd r3, r2, [sp, #104] @ 0x68 │ │ │ │ │ + vsub.f64 d5, d5, d4 │ │ │ │ │ + ldr r6, [sp, #376] @ 0x178 │ │ │ │ │ + ldr r5, [sp, #344] @ 0x158 │ │ │ │ │ vadd.f64 d3, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #776] @ 0x308 │ │ │ │ │ + vldr d6, [sp, #792] @ 0x318 │ │ │ │ │ + vmul.f64 d5, d5, d10 │ │ │ │ │ vadd.f64 d1, d6, d5 │ │ │ │ │ vsub.f64 d5, d6, d5 │ │ │ │ │ - vldr d6, [sp, #576] @ 0x240 │ │ │ │ │ + vldr d6, [sp, #584] @ 0x248 │ │ │ │ │ vsub.f64 d6, d6, d15 │ │ │ │ │ vmul.f64 d6, d6, d10 │ │ │ │ │ vadd.f64 d4, d12, d6 │ │ │ │ │ vsub.f64 d6, d12, d6 │ │ │ │ │ vmov.f64 d12, d9 │ │ │ │ │ vmul.f64 d15, d4, d14 │ │ │ │ │ - vldr d14, [pc, #-572] @ 13d0 │ │ │ │ │ + vldr d14, [pc, #-764] @ 13b8 │ │ │ │ │ vmul.f64 d4, d4, d12 │ │ │ │ │ vnmls.f64 d15, d1, d9 │ │ │ │ │ vmul.f64 d9, d6, d14 │ │ │ │ │ vmov.f64 d12, d4 │ │ │ │ │ - vldr d4, [pc, #-608] @ 13c0 │ │ │ │ │ + vldr d4, [pc, #-800] @ 13a8 │ │ │ │ │ vmov.f64 d13, d9 │ │ │ │ │ - vldr d9, [pc, #-608] @ 13c8 │ │ │ │ │ + vldr d9, [pc, #-800] @ 13b0 │ │ │ │ │ vmla.f64 d12, d1, d4 │ │ │ │ │ - vldr d4, [sp, #688] @ 0x2b0 │ │ │ │ │ - vldr d1, [sp, #680] @ 0x2a8 │ │ │ │ │ + vldr d1, [sp, #688] @ 0x2b0 │ │ │ │ │ + vldr d4, [sp, #696] @ 0x2b8 │ │ │ │ │ vmul.f64 d6, d6, d9 │ │ │ │ │ vmla.f64 d13, d5, d9 │ │ │ │ │ + vstr d12, [sp, #48] @ 0x30 │ │ │ │ │ vnmls.f64 d6, d5, d14 │ │ │ │ │ - vldr d5, [sp, #752] @ 0x2f0 │ │ │ │ │ - vstr d12, [sp, #16] │ │ │ │ │ - vldr d12, [pc, #-660] @ 13b8 │ │ │ │ │ - vstr d6, [sp, #24] │ │ │ │ │ - vldr d6, [sp, #656] @ 0x290 │ │ │ │ │ + vldr d5, [sp, #760] @ 0x2f8 │ │ │ │ │ + vldr d12, [pc, #-852] @ 13a0 │ │ │ │ │ + vstr d6, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d6, [sp, #664] @ 0x298 │ │ │ │ │ vsub.f64 d4, d6, d4 │ │ │ │ │ vmul.f64 d4, d4, d10 │ │ │ │ │ vadd.f64 d6, d5, d4 │ │ │ │ │ vsub.f64 d4, d5, d4 │ │ │ │ │ - vldr d5, [sp, #648] @ 0x288 │ │ │ │ │ - ldr r3, [sp, #360] @ 0x168 │ │ │ │ │ - ldr r2, [sp, #84] @ 0x54 │ │ │ │ │ + vldr d5, [sp, #656] @ 0x290 │ │ │ │ │ vsub.f64 d5, d1, d5 │ │ │ │ │ - vldr d1, [sp, #744] @ 0x2e8 │ │ │ │ │ - ldr r6, [sp, #312] @ 0x138 │ │ │ │ │ - ldr r7, [sp, #60] @ 0x3c │ │ │ │ │ + vldr d1, [sp, #752] @ 0x2f0 │ │ │ │ │ vmul.f64 d5, d5, d10 │ │ │ │ │ - vldr d10, [pc, #-696] @ 13c8 │ │ │ │ │ - vmul.f64 d14, d4, d10 │ │ │ │ │ - vldr d10, [pc, #-696] @ 13d0 │ │ │ │ │ + vldr d10, [pc, #-880] @ 13b0 │ │ │ │ │ vadd.f64 d9, d1, d5 │ │ │ │ │ + vmul.f64 d14, d4, d10 │ │ │ │ │ + vldr d10, [pc, #-884] @ 13b8 │ │ │ │ │ vsub.f64 d5, d1, d5 │ │ │ │ │ - vldr d1, [pc, #-724] @ 13c0 │ │ │ │ │ + vldr d1, [pc, #-908] @ 13a8 │ │ │ │ │ vnmls.f64 d14, d5, d10 │ │ │ │ │ - vldr d10, [pc, #-732] @ 13c0 │ │ │ │ │ + vldr d10, [pc, #-916] @ 13a8 │ │ │ │ │ vmul.f64 d1, d9, d1 │ │ │ │ │ vmla.f64 d1, d6, d12 │ │ │ │ │ vmul.f64 d6, d6, d10 │ │ │ │ │ vnmls.f64 d6, d9, d12 │ │ │ │ │ - vldr d9, [pc, #-744] @ 13c8 │ │ │ │ │ - vldr d12, [sp, #16] │ │ │ │ │ + vldr d9, [pc, #-928] @ 13b0 │ │ │ │ │ + vldr d12, [sp, #48] @ 0x30 │ │ │ │ │ vmul.f64 d10, d5, d9 │ │ │ │ │ - vldr d5, [pc, #-748] @ 13d0 │ │ │ │ │ + vldr d5, [pc, #-932] @ 13b8 │ │ │ │ │ vmla.f64 d10, d4, d5 │ │ │ │ │ vadd.f64 d4, d0, d2 │ │ │ │ │ vadd.f64 d5, d15, d1 │ │ │ │ │ vsub.f64 d1, d15, d1 │ │ │ │ │ vsub.f64 d2, d2, d0 │ │ │ │ │ vadd.f64 d9, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vadd.f64 d4, d12, d6 │ │ │ │ │ vsub.f64 d6, d6, d12 │ │ │ │ │ - vstr d9, [r3] │ │ │ │ │ + vstr d9, [r6] │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ vadd.f64 d5, d8, d3 │ │ │ │ │ - ldr r2, [sp, #96] @ 0x60 │ │ │ │ │ vsub.f64 d3, d3, d8 │ │ │ │ │ - ldr r3, [sp, #80] @ 0x50 │ │ │ │ │ + ldr r2, [sp, #120] @ 0x78 │ │ │ │ │ + ldr r6, [sp, #384] @ 0x180 │ │ │ │ │ vsub.f64 d9, d5, d4 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ vsub.f64 d4, d3, d1 │ │ │ │ │ vadd.f64 d3, d3, d1 │ │ │ │ │ - vldr d1, [sp] │ │ │ │ │ vstr d9, [r2] │ │ │ │ │ - ldr r2, [sp, #376] @ 0x178 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ + vstr d5, [r6] │ │ │ │ │ vadd.f64 d5, d2, d6 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ vsub.f64 d6, d6, d2 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ ldr r3, [sp, #328] @ 0x148 │ │ │ │ │ - vldr d2, [sp, #8] │ │ │ │ │ - ldr r2, [sp, #896] @ 0x380 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ - vsub.f64 d12, d2, d11 │ │ │ │ │ - vldr d3, [sp, #24] │ │ │ │ │ - vstr d5, [r6] │ │ │ │ │ + vstr d3, [r5] │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ + vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d1, [sp, #32] │ │ │ │ │ + vldr d3, [sp, #56] @ 0x38 │ │ │ │ │ vadd.f64 d5, d2, d11 │ │ │ │ │ - vstr d6, [r7] │ │ │ │ │ + ldr r1, [sp, #128] @ 0x80 │ │ │ │ │ + vsub.f64 d12, d2, d11 │ │ │ │ │ + ldr r4, [sp, #320] @ 0x140 │ │ │ │ │ vadd.f64 d6, d3, d10 │ │ │ │ │ - ldr r6, [sp, #336] @ 0x150 │ │ │ │ │ - ldr r7, [sp, #104] @ 0x68 │ │ │ │ │ + ldr r3, [sp, #352] @ 0x160 │ │ │ │ │ vsub.f64 d10, d3, d10 │ │ │ │ │ + ldr r2, [sp, #912] @ 0x390 │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vadd.f64 d5, d13, d14 │ │ │ │ │ vsub.f64 d14, d14, d13 │ │ │ │ │ - vstr d4, [r6] │ │ │ │ │ - vstr d6, [r7] │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ vadd.f64 d6, d1, d7 │ │ │ │ │ vsub.f64 d7, d7, d1 │ │ │ │ │ - ldr r6, [sp, #304] @ 0x130 │ │ │ │ │ + ldr r1, [sp, #304] @ 0x130 │ │ │ │ │ + ldr r3, [sp, #368] @ 0x170 │ │ │ │ │ vsub.f64 d4, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vsub.f64 d5, d7, d10 │ │ │ │ │ vadd.f64 d7, d7, d10 │ │ │ │ │ vstr d4, [r2] │ │ │ │ │ - ldr r2, [sp, #352] @ 0x160 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + ldr r2, [sp, #16] │ │ │ │ │ + ldr.w r3, [sp, #1040] @ 0x410 │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ vadd.f64 d7, d12, d14 │ │ │ │ │ - ldr r3, [sp, #288] @ 0x120 │ │ │ │ │ vsub.f64 d14, d14, d12 │ │ │ │ │ - ldr r2, [sp, #1020] @ 0x3fc │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - ldr.w r3, [sp, #1024] @ 0x400 │ │ │ │ │ - vstr d14, [r5] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str.w r3, [sp, #1024] @ 0x400 │ │ │ │ │ - ldr r3, [sp, #900] @ 0x384 │ │ │ │ │ - add r0, r3 │ │ │ │ │ - add r1, r3 │ │ │ │ │ - ldr r3, [sp, #904] @ 0x388 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ + str.w r3, [sp, #1040] @ 0x410 │ │ │ │ │ + ldr r3, [sp, #916] @ 0x394 │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ + ldr r1, [sp, #24] │ │ │ │ │ add r4, r3 │ │ │ │ │ - add r5, r3 │ │ │ │ │ - ldr r3, [sp, #908] @ 0x38c │ │ │ │ │ - eors r2, r3 │ │ │ │ │ - ldr.w r3, [sp, #1028] @ 0x404 │ │ │ │ │ - str r2, [sp, #1020] @ 0x3fc │ │ │ │ │ - ldr.w r2, [sp, #1024] @ 0x400 │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ + ldr r4, [sp, #8] │ │ │ │ │ + vstr d14, [r1] │ │ │ │ │ + add r4, r3 │ │ │ │ │ + ldr r3, [sp, #920] @ 0x398 │ │ │ │ │ + str r4, [sp, #8] │ │ │ │ │ + add r2, r3 │ │ │ │ │ + add r1, r3 │ │ │ │ │ + ldr r3, [sp, #924] @ 0x39c │ │ │ │ │ + str r2, [sp, #16] │ │ │ │ │ + ldr.w r2, [sp, #1040] @ 0x410 │ │ │ │ │ + str r1, [sp, #24] │ │ │ │ │ + eor.w ip, ip, r3 │ │ │ │ │ + ldr.w r3, [sp, #1044] @ 0x414 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 44 │ │ │ │ │ - add.w sp, sp, #916 @ 0x394 │ │ │ │ │ + bne.w 70 │ │ │ │ │ + add.w sp, sp, #932 @ 0x3a4 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000017dc : │ │ │ │ │ +0000189c : │ │ │ │ │ fftw_codelet_hc2cfdft2_32(): │ │ │ │ │ - ldr r2, [pc, #12] @ (17ec ) │ │ │ │ │ - movs r3, #1 │ │ │ │ │ - ldr r1, [pc, #12] @ (17f0 ) │ │ │ │ │ + ldr r2, [pc, #12] @ (18ac ) │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + ldr r1, [pc, #12] @ (18b0 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2c_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + .word 0x00000006 │ │ │ │ │ R_ARM_REL32 hc2cfdft2_32 │ │ │ ├── hc2cfdft2_4.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1396 (bytes into file) │ │ │ │ │ + Start of section headers: 1432 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x574: │ │ │ │ │ +There are 14 section headers, starting at offset 0x598: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0002d4 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0004cc 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000308 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000308 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000308 00000c 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000314 00000c 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 000320 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 0004e4 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000350 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000350 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000384 0000f0 10 12 12 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000474 000057 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 0004fc 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0002f8 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0004f0 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 00032c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 00032c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 00032c 00000c 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000338 00000c 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000344 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000508 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000374 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000374 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 0003a8 0000f0 10 12 12 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000498 000057 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000520 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,18 +1,18 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 15 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 698 FUNC LOCAL DEFAULT 1 hc2cfdft2_4 │ │ │ │ │ + 1: 00000001 734 FUNC LOCAL DEFAULT 1 hc2cfdft2_4 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000002cc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000002f0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 4: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 8: 00000000 12 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 9: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 10: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 11: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 12: 000002bd 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cfdft2_4 │ │ │ │ │ + 12: 000002e1 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cfdft2_4 │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2c_register │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hc2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x4cc contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x4f0 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000002cc 00000903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000002d0 00000103 R_ARM_REL32 00000001 hc2cfdft2_4 │ │ │ │ │ -000002c6 00000d1e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ +000002f0 00000903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000002f4 00000103 R_ARM_REL32 00000001 hc2cfdft2_4 │ │ │ │ │ +000002ec 00000d1e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x4e4 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x508 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000402 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000602 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00000e02 R_ARM_ABS32 00000000 fftw_rdft_hc2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,76 +1,80 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hc2cfdft2_4(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d14} │ │ │ │ │ - ldrd r5, r7, [sp, #100] @ 0x64 │ │ │ │ │ ldr r4, [sp, #92] @ 0x5c │ │ │ │ │ - subs r6, r5, #1 │ │ │ │ │ + ldrd r5, r7, [sp, #100] @ 0x64 │ │ │ │ │ + add.w r6, r5, #4294967295 @ 0xffffffff │ │ │ │ │ cmp r5, r7 │ │ │ │ │ add.w ip, r4, r6, lsl #5 │ │ │ │ │ - bge.w 168 │ │ │ │ │ + bge.w 17c │ │ │ │ │ ldr r4, [sp, #96] @ 0x60 │ │ │ │ │ mov.w lr, r4, lsl #3 │ │ │ │ │ ldr r4, [sp, #108] @ 0x6c │ │ │ │ │ cmp r4, #1 │ │ │ │ │ - bne.w 170 │ │ │ │ │ - add.w ip, ip, #32 │ │ │ │ │ + bne.w 196 │ │ │ │ │ vmov.f64 d6, #96 @ 0x3f000000 0.5 │ │ │ │ │ + add.w ip, ip, #32 │ │ │ │ │ vldr d10, [r1] │ │ │ │ │ add.w r4, r1, lr │ │ │ │ │ - vldr d12, [r3] │ │ │ │ │ add.w r9, r3, lr │ │ │ │ │ - vldr d14, [ip, #-24] @ 0xffffffe8 │ │ │ │ │ add.w r8, r2, lr │ │ │ │ │ - vldr d13, [r2] │ │ │ │ │ add.w r6, r0, lr │ │ │ │ │ - vadd.f64 d9, d12, d10 │ │ │ │ │ + vldr d12, [r3] │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ + add.w ip, ip, #32 │ │ │ │ │ + cmp r7, r5 │ │ │ │ │ + vldr d13, [r2] │ │ │ │ │ vldr d11, [r0] │ │ │ │ │ - vldr d8, [ip, #-16] │ │ │ │ │ + vldr d5, [ip, #-64] @ 0xffffffc0 │ │ │ │ │ + vadd.f64 d9, d12, d10 │ │ │ │ │ vsub.f64 d12, d10, d12 │ │ │ │ │ - vldr d5, [ip, #-32] @ 0xffffffe0 │ │ │ │ │ - adds r5, #1 │ │ │ │ │ + vldr d14, [ip, #-56] @ 0xffffffc8 │ │ │ │ │ + vldr d8, [ip, #-48] @ 0xffffffd0 │ │ │ │ │ vsub.f64 d7, d13, d11 │ │ │ │ │ vadd.f64 d4, d11, d13 │ │ │ │ │ + vldr d0, [ip, #-40] @ 0xffffffd8 │ │ │ │ │ vmul.f64 d11, d9, d14 │ │ │ │ │ - vldr d0, [ip, #-8] │ │ │ │ │ - vmul.f64 d2, d8, d14 │ │ │ │ │ - vmul.f64 d1, d8, d5 │ │ │ │ │ vldr d3, [r9] │ │ │ │ │ - add.w ip, ip, #32 │ │ │ │ │ + vmul.f64 d1, d8, d5 │ │ │ │ │ + vmul.f64 d2, d8, d14 │ │ │ │ │ + vldr d10, [r8] │ │ │ │ │ + vnmls.f64 d11, d7, d5 │ │ │ │ │ vmla.f64 d1, d0, d14 │ │ │ │ │ vmul.f64 d14, d7, d14 │ │ │ │ │ - vnmls.f64 d11, d7, d5 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ vnmls.f64 d2, d0, d5 │ │ │ │ │ - vldr d10, [r8] │ │ │ │ │ vmla.f64 d14, d9, d5 │ │ │ │ │ - cmp r7, r5 │ │ │ │ │ vsub.f64 d9, d7, d3 │ │ │ │ │ vadd.f64 d3, d3, d7 │ │ │ │ │ vldr d7, [r6] │ │ │ │ │ vadd.f64 d5, d10, d7 │ │ │ │ │ vsub.f64 d7, d7, d10 │ │ │ │ │ vmul.f64 d13, d5, d2 │ │ │ │ │ vmul.f64 d10, d7, d0 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - vmla.f64 d7, d3, d0 │ │ │ │ │ - vmla.f64 d5, d9, d2 │ │ │ │ │ vnmls.f64 d13, d9, d1 │ │ │ │ │ vnmls.f64 d10, d3, d8 │ │ │ │ │ - vsub.f64 d3, d11, d7 │ │ │ │ │ - vadd.f64 d7, d7, d11 │ │ │ │ │ + vmla.f64 d7, d3, d0 │ │ │ │ │ + vmla.f64 d5, d9, d2 │ │ │ │ │ vadd.f64 d1, d13, d12 │ │ │ │ │ vsub.f64 d12, d12, d13 │ │ │ │ │ + vsub.f64 d3, d11, d7 │ │ │ │ │ + vadd.f64 d7, d7, d11 │ │ │ │ │ vadd.f64 d2, d3, d1 │ │ │ │ │ vsub.f64 d3, d3, d1 │ │ │ │ │ vadd.f64 d1, d5, d4 │ │ │ │ │ vsub.f64 d4, d4, d5 │ │ │ │ │ vmul.f64 d2, d2, d6 │ │ │ │ │ vmul.f64 d3, d3, d6 │ │ │ │ │ vsub.f64 d5, d4, d7 │ │ │ │ │ @@ -83,124 +87,127 @@ │ │ │ │ │ vmul.f64 d5, d5, d6 │ │ │ │ │ vsub.f64 d2, d1, d3 │ │ │ │ │ vadd.f64 d3, d3, d1 │ │ │ │ │ vmul.f64 d2, d2, d6 │ │ │ │ │ vmul.f64 d3, d3, d6 │ │ │ │ │ vstr d2, [r8] │ │ │ │ │ mov r8, r2 │ │ │ │ │ - vstmia r0!, {d3} │ │ │ │ │ sub.w r2, r2, #8 │ │ │ │ │ + vstmia r0!, {d3} │ │ │ │ │ vstr d5, [r8] │ │ │ │ │ vstr d7, [r6] │ │ │ │ │ vadd.f64 d7, d10, d12 │ │ │ │ │ vsub.f64 d10, d10, d12 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ vmul.f64 d10, d10, d6 │ │ │ │ │ vstr d7, [r4] │ │ │ │ │ mov r4, r3 │ │ │ │ │ sub.w r3, r3, #8 │ │ │ │ │ vstr d10, [r4] │ │ │ │ │ - bne.w 30 │ │ │ │ │ + bne.w 42 │ │ │ │ │ vpop {d8-d14} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + vmov.f64 d4, #96 @ 0x3f000000 0.5 │ │ │ │ │ add.w ip, ip, #32 │ │ │ │ │ rsb sl, r4, #0 │ │ │ │ │ - vmov.f64 d4, #96 @ 0x3f000000 0.5 │ │ │ │ │ vldr d10, [r1] │ │ │ │ │ add.w r6, r1, lr │ │ │ │ │ - vldr d12, [r3] │ │ │ │ │ add.w fp, r3, lr │ │ │ │ │ - vldr d2, [ip, #-24] @ 0xffffffe8 │ │ │ │ │ add.w r8, r0, lr │ │ │ │ │ - vldr d0, [ip, #-16] │ │ │ │ │ add.w r9, r2, lr │ │ │ │ │ - vadd.f64 d14, d10, d12 │ │ │ │ │ - vldr d11, [r2] │ │ │ │ │ + vldr d12, [r3] │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ + add.w ip, ip, #32 │ │ │ │ │ + cmp r7, r5 │ │ │ │ │ vldr d13, [r0] │ │ │ │ │ + vldr d11, [r2] │ │ │ │ │ + vldr d3, [ip, #-64] @ 0xffffffc0 │ │ │ │ │ + vadd.f64 d14, d10, d12 │ │ │ │ │ vsub.f64 d12, d10, d12 │ │ │ │ │ - vldr d3, [ip, #-32] @ 0xffffffe0 │ │ │ │ │ - vmul.f64 d5, d2, d0 │ │ │ │ │ - vldr d6, [ip, #-8] │ │ │ │ │ - adds r5, #1 │ │ │ │ │ + vldr d2, [ip, #-56] @ 0xffffffc8 │ │ │ │ │ + vldr d0, [ip, #-48] @ 0xffffffd0 │ │ │ │ │ vsub.f64 d8, d11, d13 │ │ │ │ │ vadd.f64 d7, d11, d13 │ │ │ │ │ + vldr d6, [ip, #-40] @ 0xffffffd8 │ │ │ │ │ vmul.f64 d11, d2, d14 │ │ │ │ │ vmul.f64 d14, d3, d14 │ │ │ │ │ - vmul.f64 d1, d2, d6 │ │ │ │ │ - vnmls.f64 d5, d3, d6 │ │ │ │ │ - vmla.f64 d1, d3, d0 │ │ │ │ │ vldr d10, [r9] │ │ │ │ │ + vmul.f64 d5, d2, d0 │ │ │ │ │ + vmul.f64 d1, d2, d6 │ │ │ │ │ + vnmls.f64 d11, d3, d8 │ │ │ │ │ vmla.f64 d14, d2, d8 │ │ │ │ │ vldr d2, [r6] │ │ │ │ │ - vnmls.f64 d11, d3, d8 │ │ │ │ │ + vnmls.f64 d5, d3, d6 │ │ │ │ │ + vmla.f64 d1, d3, d0 │ │ │ │ │ vldr d3, [fp] │ │ │ │ │ - add.w ip, ip, #32 │ │ │ │ │ - cmp r7, r5 │ │ │ │ │ vsub.f64 d9, d2, d3 │ │ │ │ │ vadd.f64 d2, d2, d3 │ │ │ │ │ vldr d3, [r8] │ │ │ │ │ vadd.f64 d8, d3, d10 │ │ │ │ │ vsub.f64 d3, d3, d10 │ │ │ │ │ vmul.f64 d13, d5, d8 │ │ │ │ │ vmul.f64 d10, d6, d3 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ vmul.f64 d5, d5, d9 │ │ │ │ │ - vmla.f64 d6, d0, d3 │ │ │ │ │ - vmla.f64 d5, d1, d8 │ │ │ │ │ vnmls.f64 d13, d1, d9 │ │ │ │ │ vnmls.f64 d10, d0, d2 │ │ │ │ │ - vsub.f64 d3, d11, d6 │ │ │ │ │ - vadd.f64 d11, d11, d6 │ │ │ │ │ + vmla.f64 d6, d0, d3 │ │ │ │ │ + vmla.f64 d5, d1, d8 │ │ │ │ │ vadd.f64 d1, d12, d13 │ │ │ │ │ vsub.f64 d12, d12, d13 │ │ │ │ │ + vsub.f64 d3, d11, d6 │ │ │ │ │ + vadd.f64 d11, d11, d6 │ │ │ │ │ vadd.f64 d2, d1, d3 │ │ │ │ │ vsub.f64 d3, d3, d1 │ │ │ │ │ vadd.f64 d1, d14, d10 │ │ │ │ │ vsub.f64 d10, d10, d14 │ │ │ │ │ vmul.f64 d2, d2, d4 │ │ │ │ │ vmul.f64 d3, d3, d4 │ │ │ │ │ vstr d2, [r1] │ │ │ │ │ add r1, r4 │ │ │ │ │ vstr d3, [fp] │ │ │ │ │ vadd.f64 d3, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vsub.f64 d2, d3, d1 │ │ │ │ │ - vadd.f64 d3, d3, d1 │ │ │ │ │ vsub.f64 d6, d7, d11 │ │ │ │ │ + vadd.f64 d3, d3, d1 │ │ │ │ │ vadd.f64 d7, d7, d11 │ │ │ │ │ vmul.f64 d2, d2, d4 │ │ │ │ │ - vmul.f64 d3, d3, d4 │ │ │ │ │ - vmul.f64 d7, d7, d4 │ │ │ │ │ vmul.f64 d6, d6, d4 │ │ │ │ │ + vmul.f64 d7, d7, d4 │ │ │ │ │ + vmul.f64 d3, d3, d4 │ │ │ │ │ vstr d2, [r9] │ │ │ │ │ vstr d3, [r0] │ │ │ │ │ add r0, r4 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ add r2, sl │ │ │ │ │ vstr d7, [r8] │ │ │ │ │ vadd.f64 d7, d12, d10 │ │ │ │ │ vsub.f64 d10, d10, d12 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vmul.f64 d10, d10, d4 │ │ │ │ │ vstr d7, [r6] │ │ │ │ │ vstr d10, [r3] │ │ │ │ │ add r3, sl │ │ │ │ │ - bne.w 17e │ │ │ │ │ - vpop {d8-d14} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + bne.w 1a6 │ │ │ │ │ + b.n 17c │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000002bc : │ │ │ │ │ +000002e0 : │ │ │ │ │ fftw_codelet_hc2cfdft2_4(): │ │ │ │ │ - ldr r2, [pc, #12] @ (2cc ) │ │ │ │ │ - movs r3, #1 │ │ │ │ │ - ldr r1, [pc, #12] @ (2d0 ) │ │ │ │ │ + ldr r2, [pc, #12] @ (2f0 ) │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + ldr r1, [pc, #12] @ (2f4 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2c_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + .word 0x00000006 │ │ │ │ │ R_ARM_REL32 hc2cfdft2_4 │ │ │ ├── hc2cfdft2_8.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1924 (bytes into file) │ │ │ │ │ + Start of section headers: 1988 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x784: │ │ │ │ │ +There are 14 section headers, starting at offset 0x7c4: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000458 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0006cc 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 00048c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 00048c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 00048c 00000c 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000498 000010 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0004a8 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 0006f4 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 0004d8 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0004d8 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 00050c 000130 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 00063c 00008f 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 00070c 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000498 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 00070c 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0004cc 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0004cc 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0004cc 00000c 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 0004d8 000010 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0004e8 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000734 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000518 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000518 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 00054c 000130 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 00067c 00008f 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 00074c 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 19 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1088 FUNC LOCAL DEFAULT 1 hc2cfdft2_8 │ │ │ │ │ + 1: 00000001 1152 FUNC LOCAL DEFAULT 1 hc2cfdft2_8 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000430 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000440 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000450 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000470 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000480 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000490 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 16 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 16: 00000441 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cfdft2_8 │ │ │ │ │ + 16: 00000481 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cfdft2_8 │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2c_register │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hc2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x6cc contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x70c contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000438 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000043c 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000450 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000454 00000103 R_ARM_REL32 00000001 hc2cfdft2_8 │ │ │ │ │ -0000044a 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ +00000478 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000047c 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000490 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000494 00000103 R_ARM_REL32 00000001 hc2cfdft2_8 │ │ │ │ │ +0000048c 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x6f4 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x734 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001202 R_ARM_ABS32 00000000 fftw_rdft_hc2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,83 +1,87 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hc2cfdft2_8(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r0 │ │ │ │ │ mov r6, r1 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r7, r2 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #148 @ 0x94 │ │ │ │ │ - mov r7, r2 │ │ │ │ │ - ldr.w r2, [pc, #1060] @ 438 │ │ │ │ │ ldrd r1, r0, [sp, #256] @ 0x100 │ │ │ │ │ - add r2, pc │ │ │ │ │ + ldr.w r2, [pc, #1104] @ 478 │ │ │ │ │ cmp r1, r0 │ │ │ │ │ - bge.w 422 │ │ │ │ │ + add r2, pc │ │ │ │ │ + bge.w 450 │ │ │ │ │ ldr r1, [sp, #264] @ 0x108 │ │ │ │ │ - movs r0, #48 @ 0x30 │ │ │ │ │ - mov ip, r3 │ │ │ │ │ vmov.f64 d11, #96 @ 0x3f000000 0.5 │ │ │ │ │ - lsls r1, r1, #3 │ │ │ │ │ + mov ip, r3 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ str r1, [sp, #132] @ 0x84 │ │ │ │ │ - negs r1, r1 │ │ │ │ │ + rsb r1, r1, #0 │ │ │ │ │ str r1, [sp, #136] @ 0x88 │ │ │ │ │ - ldr.w r1, [pc, #1032] @ 43c │ │ │ │ │ + ldr.w r1, [pc, #1076] @ 47c │ │ │ │ │ ldr r2, [r2, r1] │ │ │ │ │ - ldr r1, [sp, #256] @ 0x100 │ │ │ │ │ + ldr r1, [sp, #248] @ 0xf8 │ │ │ │ │ ldr r2, [r2, #0] │ │ │ │ │ str r2, [sp, #140] @ 0x8c │ │ │ │ │ - ldr r2, [sp, #248] @ 0xf8 │ │ │ │ │ - mla r0, r0, r1, r2 │ │ │ │ │ + ldr r2, [sp, #256] @ 0x100 │ │ │ │ │ + add.w r2, r2, r2, lsl #1 │ │ │ │ │ + add.w r0, r1, r2, lsl #4 │ │ │ │ │ vldr d6, [r0, #-48] @ 0xffffffd0 │ │ │ │ │ - adds r0, #48 @ 0x30 │ │ │ │ │ + add.w r0, r0, #48 @ 0x30 │ │ │ │ │ vldr d7, [r0, #-88] @ 0xffffffa8 │ │ │ │ │ vldr d5, [r0, #-80] @ 0xffffffb0 │ │ │ │ │ - vldr d15, [r0, #-56] @ 0xffffffc8 │ │ │ │ │ vldr d13, [r0, #-64] @ 0xffffffc0 │ │ │ │ │ + vldr d15, [r0, #-56] @ 0xffffffc8 │ │ │ │ │ vmul.f64 d1, d6, d5 │ │ │ │ │ vmul.f64 d10, d7, d5 │ │ │ │ │ vldr d5, [r0, #-72] @ 0xffffffb8 │ │ │ │ │ vldr d2, [ip] │ │ │ │ │ vldr d8, [r5] │ │ │ │ │ vmul.f64 d4, d6, d5 │ │ │ │ │ vmul.f64 d14, d7, d5 │ │ │ │ │ - vmul.f64 d5, d7, d15 │ │ │ │ │ ldr r3, [sp, #252] @ 0xfc │ │ │ │ │ + vmul.f64 d5, d7, d15 │ │ │ │ │ + mov.w r2, r3, lsl #4 │ │ │ │ │ vmla.f64 d5, d6, d13 │ │ │ │ │ vadd.f64 d3, d10, d4 │ │ │ │ │ vsub.f64 d10, d4, d10 │ │ │ │ │ vldr d4, [r6] │ │ │ │ │ - lsls r2, r3, #4 │ │ │ │ │ - adds r1, r6, r2 │ │ │ │ │ + add.w r1, r6, r2 │ │ │ │ │ add.w fp, ip, r2 │ │ │ │ │ vsub.f64 d0, d1, d14 │ │ │ │ │ - adds r4, r5, r2 │ │ │ │ │ - vadd.f64 d2, d4, d2 │ │ │ │ │ - vldr d4, [r7] │ │ │ │ │ vadd.f64 d14, d1, d14 │ │ │ │ │ + add.w r4, r5, r2 │ │ │ │ │ add.w sl, r7, r2 │ │ │ │ │ + str r1, [sp, #12] │ │ │ │ │ + vldr d9, [r4] │ │ │ │ │ + vadd.f64 d2, d4, d2 │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + vmul.f64 d12, d10, d13 │ │ │ │ │ vstr d5, [sp, #16] │ │ │ │ │ vmul.f64 d5, d7, d13 │ │ │ │ │ + vnmls.f64 d12, d14, d15 │ │ │ │ │ vsub.f64 d4, d4, d8 │ │ │ │ │ - vldr d9, [r4] │ │ │ │ │ vstr d2, [sp, #48] @ 0x30 │ │ │ │ │ - vmul.f64 d12, d10, d13 │ │ │ │ │ - str r1, [sp, #12] │ │ │ │ │ - vnmls.f64 d5, d6, d15 │ │ │ │ │ str r4, [sp, #128] @ 0x80 │ │ │ │ │ - vstr d4, [sp, #56] @ 0x38 │ │ │ │ │ mov r4, ip │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - vnmls.f64 d12, d14, d15 │ │ │ │ │ + vnmls.f64 d5, d6, d15 │ │ │ │ │ vstr d5, [sp, #24] │ │ │ │ │ vmul.f64 d5, d10, d15 │ │ │ │ │ + vstr d4, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ vmov.f64 d1, d5 │ │ │ │ │ vldr d5, [fp] │ │ │ │ │ vmla.f64 d1, d14, d13 │ │ │ │ │ vsub.f64 d8, d4, d5 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ vldr d5, [sl] │ │ │ │ │ vadd.f64 d2, d9, d5 │ │ │ │ │ @@ -91,115 +95,117 @@ │ │ │ │ │ vldr d2, [r7] │ │ │ │ │ vstr d9, [sp, #32] │ │ │ │ │ vadd.f64 d9, d2, d1 │ │ │ │ │ vldr d2, [sp, #64] @ 0x40 │ │ │ │ │ vstr d9, [sp, #40] @ 0x28 │ │ │ │ │ vmul.f64 d9, d3, d2 │ │ │ │ │ vmul.f64 d3, d3, d8 │ │ │ │ │ - vmla.f64 d3, d0, d2 │ │ │ │ │ vnmls.f64 d9, d0, d8 │ │ │ │ │ + vmla.f64 d3, d0, d2 │ │ │ │ │ + vstr d9, [sp, #96] @ 0x60 │ │ │ │ │ vstr d3, [sp, #104] @ 0x68 │ │ │ │ │ vmul.f64 d3, d12, d5 │ │ │ │ │ vmul.f64 d12, d12, d4 │ │ │ │ │ - vstr d9, [sp, #96] @ 0x60 │ │ │ │ │ vldr d1, [sp] │ │ │ │ │ vldr d2, [sp, #48] @ 0x30 │ │ │ │ │ - vmov.f64 d0, d3 │ │ │ │ │ vldr d9, [sp, #56] @ 0x38 │ │ │ │ │ + vmov.f64 d0, d3 │ │ │ │ │ ldr r3, [sp, #252] @ 0xfc │ │ │ │ │ vmul.f64 d3, d6, d2 │ │ │ │ │ + vnmls.f64 d0, d1, d4 │ │ │ │ │ + mov.w r1, r3, lsl #3 │ │ │ │ │ vmla.f64 d3, d7, d9 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ - vnmls.f64 d0, d1, d4 │ │ │ │ │ - lsls r1, r3, #3 │ │ │ │ │ add.w lr, r6, r1 │ │ │ │ │ - adds r3, r4, r1 │ │ │ │ │ + add.w r3, r4, r1 │ │ │ │ │ add.w ip, r5, r1 │ │ │ │ │ add r1, r7 │ │ │ │ │ - vnmls.f64 d7, d6, d9 │ │ │ │ │ - vmov.f64 d6, d12 │ │ │ │ │ - vmla.f64 d6, d1, d5 │ │ │ │ │ add.w r8, lr, r2 │ │ │ │ │ vldr d4, [ip] │ │ │ │ │ add.w r9, ip, r2 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - vstr d3, [sp, #56] @ 0x38 │ │ │ │ │ - vsub.f64 d3, d3, d0 │ │ │ │ │ - vldr d5, [r8] │ │ │ │ │ - vstr d0, [sp, #48] @ 0x30 │ │ │ │ │ + vnmls.f64 d7, d6, d9 │ │ │ │ │ + vmov.f64 d6, d12 │ │ │ │ │ vldr d12, [sp, #16] │ │ │ │ │ + vstr d0, [sp, #48] @ 0x30 │ │ │ │ │ + vmla.f64 d6, d1, d5 │ │ │ │ │ + vldr d5, [r8] │ │ │ │ │ + vmov.f64 d8, d3 │ │ │ │ │ + vsub.f64 d3, d3, d0 │ │ │ │ │ + vstr d8, [sp, #56] @ 0x38 │ │ │ │ │ vstr d7, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d3, [sp, #112] @ 0x70 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d3, [lr] │ │ │ │ │ vstr d6, [sp, #72] @ 0x48 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ add r3, r2 │ │ │ │ │ add r2, r1 │ │ │ │ │ + vstr d3, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d3, [lr] │ │ │ │ │ + vldr d9, [r2] │ │ │ │ │ vsub.f64 d1, d3, d6 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ - vldr d9, [r2] │ │ │ │ │ vadd.f64 d2, d4, d6 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ vsub.f64 d8, d5, d6 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ vldr d6, [r9] │ │ │ │ │ vadd.f64 d0, d6, d9 │ │ │ │ │ vsub.f64 d6, d6, d9 │ │ │ │ │ vmul.f64 d9, d10, d2 │ │ │ │ │ vnmls.f64 d9, d14, d1 │ │ │ │ │ vmul.f64 d1, d10, d1 │ │ │ │ │ + vldr d10, [r0, #-72] @ 0xffffffb8 │ │ │ │ │ vmla.f64 d1, d14, d2 │ │ │ │ │ vldr d2, [r0, #-72] @ 0xffffffb8 │ │ │ │ │ - vldr d10, [r0, #-72] @ 0xffffffb8 │ │ │ │ │ - vmul.f64 d14, d2, d4 │ │ │ │ │ - vldr d2, [r0, #-80] @ 0xffffffb0 │ │ │ │ │ vmul.f64 d10, d10, d3 │ │ │ │ │ vstr d9, [sp, #120] @ 0x78 │ │ │ │ │ - vnmls.f64 d14, d2, d3 │ │ │ │ │ vldr d9, [sp, #24] │ │ │ │ │ - vmul.f64 d2, d15, d6 │ │ │ │ │ + vmul.f64 d14, d2, d4 │ │ │ │ │ + vldr d2, [r0, #-80] @ 0xffffffb0 │ │ │ │ │ vmul.f64 d9, d9, d0 │ │ │ │ │ - vnmls.f64 d2, d13, d5 │ │ │ │ │ - vmul.f64 d5, d15, d5 │ │ │ │ │ - vmla.f64 d5, d13, d6 │ │ │ │ │ + vnmls.f64 d14, d2, d3 │ │ │ │ │ + vmul.f64 d2, d15, d6 │ │ │ │ │ vnmls.f64 d9, d12, d8 │ │ │ │ │ vldr d12, [sp, #24] │ │ │ │ │ vstr d1, [sp, #24] │ │ │ │ │ + vnmls.f64 d2, d13, d5 │ │ │ │ │ + vmul.f64 d5, d15, d5 │ │ │ │ │ vmul.f64 d8, d12, d8 │ │ │ │ │ vldr d12, [sp, #16] │ │ │ │ │ - vstr d2, [sp, #80] @ 0x50 │ │ │ │ │ - vsub.f64 d2, d2, d14 │ │ │ │ │ + vmla.f64 d5, d13, d6 │ │ │ │ │ vmla.f64 d8, d12, d0 │ │ │ │ │ vldr d12, [r0, #-80] @ 0xffffffb0 │ │ │ │ │ + vstr d2, [sp, #80] @ 0x50 │ │ │ │ │ + vsub.f64 d2, d2, d14 │ │ │ │ │ vstr d5, [sp, #88] @ 0x58 │ │ │ │ │ vmla.f64 d10, d12, d4 │ │ │ │ │ vldr d4, [sp, #32] │ │ │ │ │ vldr d12, [sp, #96] @ 0x60 │ │ │ │ │ + vmov.f64 d0, d8 │ │ │ │ │ + vldr d8, [pc, #468] @ 470 │ │ │ │ │ vsub.f64 d6, d4, d12 │ │ │ │ │ - vsub.f64 d4, d1, d8 │ │ │ │ │ - vstr d8, [sp, #16] │ │ │ │ │ - vldr d13, [sp, #112] @ 0x70 │ │ │ │ │ + vsub.f64 d4, d1, d0 │ │ │ │ │ + vstr d0, [sp, #16] │ │ │ │ │ vldr d15, [sp, #40] @ 0x28 │ │ │ │ │ vsub.f64 d5, d10, d5 │ │ │ │ │ - vldr d8, [pc, #424] @ 430 │ │ │ │ │ - vadd.f64 d0, d13, d7 │ │ │ │ │ + vldr d13, [sp, #112] @ 0x70 │ │ │ │ │ vsub.f64 d1, d6, d4 │ │ │ │ │ - vsub.f64 d7, d7, d13 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vldr d13, [sp, #104] @ 0x68 │ │ │ │ │ vsub.f64 d4, d2, d5 │ │ │ │ │ vadd.f64 d2, d2, d5 │ │ │ │ │ + vadd.f64 d0, d13, d7 │ │ │ │ │ + vsub.f64 d7, d7, d13 │ │ │ │ │ + vldr d13, [sp, #104] @ 0x68 │ │ │ │ │ vmul.f64 d1, d1, d11 │ │ │ │ │ - vsub.f64 d5, d15, d13 │ │ │ │ │ - vldr d15, [sp, #120] @ 0x78 │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ vsub.f64 d3, d4, d0 │ │ │ │ │ + vsub.f64 d5, d15, d13 │ │ │ │ │ + vldr d15, [sp, #120] @ 0x78 │ │ │ │ │ vadd.f64 d4, d4, d0 │ │ │ │ │ vadd.f64 d0, d2, d7 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ vmul.f64 d3, d3, d8 │ │ │ │ │ vmul.f64 d4, d4, d8 │ │ │ │ │ vmul.f64 d0, d0, d8 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ @@ -218,21 +224,21 @@ │ │ │ │ │ vstr d8, [ip] │ │ │ │ │ mov ip, r4 │ │ │ │ │ vstr d0, [fp] │ │ │ │ │ vstr d5, [sl] │ │ │ │ │ vsub.f64 d5, d2, d7 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ vldr d0, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d2, [sp, #80] @ 0x50 │ │ │ │ │ vldr d8, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d2, [sp, #80] @ 0x50 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ vsub.f64 d5, d3, d6 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ - vadd.f64 d14, d14, d2 │ │ │ │ │ vldr d3, [sp, #88] @ 0x58 │ │ │ │ │ + vadd.f64 d14, d14, d2 │ │ │ │ │ vstr d5, [r4] │ │ │ │ │ vstr d7, [r9] │ │ │ │ │ vadd.f64 d10, d10, d3 │ │ │ │ │ vstr d6, [r8] │ │ │ │ │ vadd.f64 d6, d15, d9 │ │ │ │ │ vldr d9, [sp, #32] │ │ │ │ │ ldr r4, [sp, #128] @ 0x80 │ │ │ │ │ @@ -275,49 +281,54 @@ │ │ │ │ │ ldr r1, [sp, #12] │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ vmul.f64 d15, d15, d11 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vstr d10, [r4] │ │ │ │ │ mov r4, ip │ │ │ │ │ vstr d15, [r1] │ │ │ │ │ - ldr r3, [sp, #256] @ 0x100 │ │ │ │ │ ldr r2, [sp, #140] @ 0x8c │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + ldr r3, [sp, #256] @ 0x100 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str r3, [sp, #256] @ 0x100 │ │ │ │ │ ldr r3, [sp, #132] @ 0x84 │ │ │ │ │ add r5, r3 │ │ │ │ │ add r6, r3 │ │ │ │ │ ldr r3, [sp, #136] @ 0x88 │ │ │ │ │ add r4, r3 │ │ │ │ │ add r7, r3 │ │ │ │ │ ldr r3, [sp, #252] @ 0xfc │ │ │ │ │ mov ip, r4 │ │ │ │ │ - eors r3, r2 │ │ │ │ │ + eor.w r3, r3, r2 │ │ │ │ │ + ldr r2, [sp, #256] @ 0x100 │ │ │ │ │ str r3, [sp, #252] @ 0xfc │ │ │ │ │ - ldrd r2, r3, [sp, #256] @ 0x100 │ │ │ │ │ + ldr r3, [sp, #260] @ 0x104 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 44 │ │ │ │ │ + bne.w 5a │ │ │ │ │ add sp, #148 @ 0x94 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop.w │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fd6a09e │ │ │ │ │ - .word 0x0000041c │ │ │ │ │ + .word 0x0000044a │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ │ │ │ │ │ -00000440 : │ │ │ │ │ +00000480 : │ │ │ │ │ fftw_codelet_hc2cfdft2_8(): │ │ │ │ │ - ldr r2, [pc, #12] @ (450 ) │ │ │ │ │ - movs r3, #1 │ │ │ │ │ - ldr r1, [pc, #12] @ (454 ) │ │ │ │ │ + ldr r2, [pc, #12] @ (490 ) │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + ldr r1, [pc, #12] @ (494 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2c_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + .word 0x00000006 │ │ │ │ │ R_ARM_REL32 hc2cfdft2_8 │ │ │ ├── hc2cfdft_10.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2288 (bytes into file) │ │ │ │ │ + Start of section headers: 2352 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x8f0: │ │ │ │ │ +There are 14 section headers, starting at offset 0x930: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0005cc 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000838 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000600 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000600 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000600 00000c 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 00060c 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 000614 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000860 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000644 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000644 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000678 000130 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 0007a8 00008f 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000878 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00060c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000878 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000640 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000640 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000640 00000c 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 00064c 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000654 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 0008a0 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000684 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000684 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 0006b8 000130 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0007e8 00008f 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 0008b8 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 19 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1458 FUNC LOCAL DEFAULT 1 hc2cfdft_10 │ │ │ │ │ + 1: 00000001 1524 FUNC LOCAL DEFAULT 1 hc2cfdft_10 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000003f8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000418 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000005c4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000418 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000438 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000604 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 16: 000005b5 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cfdft_10 │ │ │ │ │ + 16: 000005f5 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cfdft_10 │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2c_register │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hc2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x838 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x878 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000410 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000414 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000005c4 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000005c8 00000103 R_ARM_REL32 00000001 hc2cfdft_10 │ │ │ │ │ -000005be 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ +00000430 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000434 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000604 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000608 00000103 R_ARM_REL32 00000001 hc2cfdft_10 │ │ │ │ │ +00000600 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x860 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x8a0 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001202 R_ARM_ABS32 00000000 fftw_rdft_hc2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,198 +1,199 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hc2cfdft_10(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r6, r1 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r7, r2 │ │ │ │ │ + mov r8, r3 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #228 @ 0xe4 │ │ │ │ │ - mov r8, r3 │ │ │ │ │ - ldr r3, [pc, #1020] @ (410 ) │ │ │ │ │ - ldrd r2, r1, [sp, #336] @ 0x150 │ │ │ │ │ - add r3, pc │ │ │ │ │ - ldr.w r9, [sp, #332] @ 0x14c │ │ │ │ │ + ldrd r9, r2, [sp, #332] @ 0x14c │ │ │ │ │ + ldr r1, [sp, #340] @ 0x154 │ │ │ │ │ + ldr.w r3, [pc, #1032] @ 430 │ │ │ │ │ cmp r2, r1 │ │ │ │ │ - bge.w 5a8 │ │ │ │ │ + add r3, pc │ │ │ │ │ + bge.w 5d8 │ │ │ │ │ ldr r2, [sp, #344] @ 0x158 │ │ │ │ │ - movs r1, #144 @ 0x90 │ │ │ │ │ + vmov.f64 d13, #96 @ 0x3f000000 0.5 │ │ │ │ │ mov r5, r0 │ │ │ │ │ - vldr d12, [pc, #972] @ 3f8 │ │ │ │ │ - vldr d11, [pc, #976] @ 400 │ │ │ │ │ mov r0, r9 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ + vldr d12, [pc, #984] @ 418 │ │ │ │ │ + vldr d11, [pc, #988] @ 420 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ str r2, [sp, #212] @ 0xd4 │ │ │ │ │ - negs r2, r2 │ │ │ │ │ + rsb r2, r2, #0 │ │ │ │ │ str r2, [sp, #216] @ 0xd8 │ │ │ │ │ - ldr r2, [pc, #984] @ (414 ) │ │ │ │ │ - vmov.f64 d13, #96 @ 0x3f000000 0.5 │ │ │ │ │ + ldr r2, [pc, #992] @ (434 ) │ │ │ │ │ ldr r3, [r3, r2] │ │ │ │ │ - ldr r2, [sp, #336] @ 0x150 │ │ │ │ │ + ldr r2, [sp, #328] @ 0x148 │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ str r3, [sp, #220] @ 0xdc │ │ │ │ │ - ldr r3, [sp, #328] @ 0x148 │ │ │ │ │ - mla r4, r1, r2, r3 │ │ │ │ │ + ldr r3, [sp, #336] @ 0x150 │ │ │ │ │ + add.w r3, r3, r3, lsl #3 │ │ │ │ │ + add.w r4, r2, r3, lsl #4 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + mov.w r3, r0, lsl #4 │ │ │ │ │ vldr d2, [r6] │ │ │ │ │ - lsls r3, r0, #4 │ │ │ │ │ - vldr d3, [r8] │ │ │ │ │ - adds r2, r6, r3 │ │ │ │ │ - vldr d4, [r7] │ │ │ │ │ + add.w r2, r6, r3 │ │ │ │ │ add.w r1, r8, r3 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - vadd.f64 d7, d2, d3 │ │ │ │ │ - vsub.f64 d0, d2, d3 │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + strd r2, r1, [sp] │ │ │ │ │ + vldr d3, [r8] │ │ │ │ │ vsub.f64 d5, d4, d6 │ │ │ │ │ vadd.f64 d10, d4, d6 │ │ │ │ │ - vldr d6, [r4, #-136] @ 0xffffff78 │ │ │ │ │ vldr d4, [r4, #-144] @ 0xffffff70 │ │ │ │ │ + vldr d6, [r4, #-136] @ 0xffffff78 │ │ │ │ │ + vadd.f64 d7, d2, d3 │ │ │ │ │ + vsub.f64 d0, d2, d3 │ │ │ │ │ vldr d2, [r2] │ │ │ │ │ - adds r2, r5, r3 │ │ │ │ │ + add.w r2, r5, r3 │ │ │ │ │ vmul.f64 d3, d7, d6 │ │ │ │ │ - str r1, [sp, #4] │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vstr d10, [sp, #160] @ 0xa0 │ │ │ │ │ - vmla.f64 d7, d5, d6 │ │ │ │ │ - str r2, [sp, #8] │ │ │ │ │ vstr d0, [sp, #152] @ 0x98 │ │ │ │ │ vnmls.f64 d3, d5, d4 │ │ │ │ │ + vmla.f64 d7, d5, d6 │ │ │ │ │ vldr d4, [r2] │ │ │ │ │ - lsls r2, r0, #3 │ │ │ │ │ - add.w lr, r6, r2 │ │ │ │ │ - add.w ip, r5, r2 │ │ │ │ │ - add.w r9, r7, r2 │ │ │ │ │ - vmov.f64 d10, d7 │ │ │ │ │ vmov.f64 d14, d3 │ │ │ │ │ vldr d3, [r1] │ │ │ │ │ - adds r1, r7, r3 │ │ │ │ │ - str r1, [sp, #12] │ │ │ │ │ - vsub.f64 d5, d2, d3 │ │ │ │ │ - vadd.f64 d9, d2, d3 │ │ │ │ │ + add.w r1, r7, r3 │ │ │ │ │ + vmov.f64 d10, d7 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ + strd r2, r1, [sp, #8] │ │ │ │ │ + mov.w r2, r0, lsl #3 │ │ │ │ │ add.w r1, r8, r2 │ │ │ │ │ + add.w lr, r6, r2 │ │ │ │ │ + vsub.f64 d5, d2, d3 │ │ │ │ │ + vadd.f64 d9, d2, d3 │ │ │ │ │ + add.w ip, r5, r2 │ │ │ │ │ + add.w r9, r7, r2 │ │ │ │ │ vldr d2, [r4, #-120] @ 0xffffff88 │ │ │ │ │ add.w r2, lr, r3 │ │ │ │ │ - add.w sl, r1, r3 │ │ │ │ │ - str r2, [sp, #16] │ │ │ │ │ vadd.f64 d7, d4, d6 │ │ │ │ │ vsub.f64 d6, d4, d6 │ │ │ │ │ + add.w sl, r1, r3 │ │ │ │ │ vldr d4, [r4, #-96] @ 0xffffffa0 │ │ │ │ │ + str r2, [sp, #16] │ │ │ │ │ vstr d9, [sp, #168] @ 0xa8 │ │ │ │ │ vstr d6, [sp, #176] @ 0xb0 │ │ │ │ │ vldr d6, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ vmul.f64 d3, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vmla.f64 d7, d5, d6 │ │ │ │ │ vldr d6, [lr] │ │ │ │ │ vnmls.f64 d3, d5, d4 │ │ │ │ │ vldr d4, [r9] │ │ │ │ │ vstr d7, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ vmov.f64 d15, d3 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [ip] │ │ │ │ │ vadd.f64 d3, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ vldr d4, [r4, #-128] @ 0xffffff80 │ │ │ │ │ vmul.f64 d1, d3, d2 │ │ │ │ │ vnmls.f64 d1, d5, d4 │ │ │ │ │ vmul.f64 d5, d5, d2 │ │ │ │ │ - vmla.f64 d5, d3, d4 │ │ │ │ │ vldr d2, [r4, #-104] @ 0xffffff98 │ │ │ │ │ + vmla.f64 d5, d3, d4 │ │ │ │ │ vmul.f64 d3, d6, d2 │ │ │ │ │ vmul.f64 d2, d7, d2 │ │ │ │ │ vmov.f64 d8, d1 │ │ │ │ │ vstr d5, [sp, #56] @ 0x38 │ │ │ │ │ vldr d5, [r4, #-112] @ 0xffffff90 │ │ │ │ │ - adds r4, #144 @ 0x90 │ │ │ │ │ + add.w r4, r4, #144 @ 0x90 │ │ │ │ │ vmla.f64 d3, d7, d5 │ │ │ │ │ vnmls.f64 d2, d6, d5 │ │ │ │ │ vstr d3, [sp, #64] @ 0x40 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ add.w r2, ip, r3 │ │ │ │ │ - vldr d7, [sl] │ │ │ │ │ add r3, r9 │ │ │ │ │ + vldr d7, [sl] │ │ │ │ │ + strd r2, r3, [sp, #20] │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ + vstr d8, [sp, #48] @ 0x30 │ │ │ │ │ vldr d1, [r4, #-184] @ 0xffffff48 │ │ │ │ │ - str r2, [sp, #20] │ │ │ │ │ + vstr d10, [sp, #32] │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - lsls r2, r0, #5 │ │ │ │ │ - str r3, [sp, #24] │ │ │ │ │ - add.w fp, r6, r2 │ │ │ │ │ + mov.w r2, r0, lsl #5 │ │ │ │ │ add.w r3, r8, r2 │ │ │ │ │ + add.w fp, r6, r2 │ │ │ │ │ + str r3, [sp, #28] │ │ │ │ │ vsub.f64 d5, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ vldr d4, [r4, #-192] @ 0xffffff40 │ │ │ │ │ - str r3, [sp, #28] │ │ │ │ │ - vstr d8, [sp, #48] @ 0x30 │ │ │ │ │ vmul.f64 d0, d5, d4 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - vmla.f64 d0, d3, d1 │ │ │ │ │ - vstr d10, [sp, #32] │ │ │ │ │ vnmls.f64 d5, d3, d4 │ │ │ │ │ vldr d4, [r4, #-208] @ 0xffffff30 │ │ │ │ │ + vmla.f64 d0, d3, d1 │ │ │ │ │ vstr d0, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d1, [sp, #72] @ 0x48 │ │ │ │ │ vstr d5, [sp, #80] @ 0x50 │ │ │ │ │ vldr d5, [r4, #-200] @ 0xffffff38 │ │ │ │ │ + vldr d1, [sp, #72] @ 0x48 │ │ │ │ │ vmul.f64 d3, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vmla.f64 d7, d6, d5 │ │ │ │ │ vmov.f64 d9, d3 │ │ │ │ │ vnmls.f64 d9, d6, d4 │ │ │ │ │ vldr d4, [fp] │ │ │ │ │ vstr d7, [sp, #88] @ 0x58 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - adds r3, r5, r2 │ │ │ │ │ + add.w r3, r5, r2 │ │ │ │ │ add r2, r7 │ │ │ │ │ - str r3, [sp, #208] @ 0xd0 │ │ │ │ │ - vsub.f64 d6, d4, d7 │ │ │ │ │ - vadd.f64 d4, d4, d7 │ │ │ │ │ vldr d5, [r2] │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ vstr d9, [sp, #128] @ 0x80 │ │ │ │ │ vldr d9, [r4, #-168] @ 0xffffff58 │ │ │ │ │ + vsub.f64 d6, d4, d7 │ │ │ │ │ + vadd.f64 d4, d4, d7 │ │ │ │ │ + str r3, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ vadd.f64 d3, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vldr d5, [r4, #-176] @ 0xffffff50 │ │ │ │ │ vmul.f64 d0, d3, d9 │ │ │ │ │ vmul.f64 d9, d6, d9 │ │ │ │ │ + vnmls.f64 d0, d6, d5 │ │ │ │ │ vmla.f64 d9, d3, d5 │ │ │ │ │ vldr d3, [r4, #-160] @ 0xffffff60 │ │ │ │ │ - vnmls.f64 d0, d6, d5 │ │ │ │ │ vldr d5, [r4, #-152] @ 0xffffff68 │ │ │ │ │ vmul.f64 d6, d4, d5 │ │ │ │ │ vmul.f64 d5, d7, d5 │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ - vldr d7, [sp, #40] @ 0x28 │ │ │ │ │ vnmls.f64 d5, d4, d3 │ │ │ │ │ - vldr d3, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d7, [sp, #40] @ 0x28 │ │ │ │ │ vsub.f64 d4, d8, d1 │ │ │ │ │ - vsub.f64 d3, d0, d3 │ │ │ │ │ + vldr d3, [sp, #64] @ 0x40 │ │ │ │ │ vstr d4, [sp, #104] @ 0x68 │ │ │ │ │ + vsub.f64 d3, d0, d3 │ │ │ │ │ + vadd.f64 d1, d7, d5 │ │ │ │ │ vadd.f64 d8, d4, d3 │ │ │ │ │ vldr d4, [sp, #88] @ 0x58 │ │ │ │ │ - vadd.f64 d1, d7, d5 │ │ │ │ │ vstr d3, [sp, #112] @ 0x70 │ │ │ │ │ vadd.f64 d3, d2, d9 │ │ │ │ │ + vstr d1, [sp, #120] @ 0x78 │ │ │ │ │ + vstr d9, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d9, [sp, #128] @ 0x80 │ │ │ │ │ vadd.f64 d7, d10, d4 │ │ │ │ │ + vldr d4, [sp, #56] @ 0x38 │ │ │ │ │ vmov.f64 d10, d15 │ │ │ │ │ vsub.f64 d15, d15, d6 │ │ │ │ │ - vstr d1, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d4, [sp, #56] @ 0x38 │ │ │ │ │ vadd.f64 d1, d1, d7 │ │ │ │ │ - vstr d9, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d9, [sp, #128] @ 0x80 │ │ │ │ │ vstr d1, [sp, #184] @ 0xb8 │ │ │ │ │ vldr d1, [sp, #80] @ 0x50 │ │ │ │ │ vadd.f64 d1, d4, d1 │ │ │ │ │ vadd.f64 d4, d1, d3 │ │ │ │ │ vsub.f64 d3, d1, d3 │ │ │ │ │ vstr d4, [sp, #192] @ 0xc0 │ │ │ │ │ vadd.f64 d4, d14, d9 │ │ │ │ │ @@ -209,175 +210,177 @@ │ │ │ │ │ vstr d9, [sp, #200] @ 0xc8 │ │ │ │ │ vldr d9, [sp, #96] @ 0x60 │ │ │ │ │ vsub.f64 d14, d14, d6 │ │ │ │ │ vldr d6, [sp, #32] │ │ │ │ │ vsub.f64 d2, d9, d2 │ │ │ │ │ vldr d9, [sp, #168] @ 0xa8 │ │ │ │ │ vstr d14, [sp, #56] @ 0x38 │ │ │ │ │ - vstr d2, [sp, #80] @ 0x50 │ │ │ │ │ + vmov.f64 d10, d2 │ │ │ │ │ vadd.f64 d2, d14, d2 │ │ │ │ │ vldr d14, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d10, [sp, #80] @ 0x50 │ │ │ │ │ vstr d2, [sp, #96] @ 0x60 │ │ │ │ │ vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ vsub.f64 d5, d2, d5 │ │ │ │ │ vldr d2, [sp, #88] @ 0x58 │ │ │ │ │ vsub.f64 d2, d2, d6 │ │ │ │ │ - vldr d6, [sp, #48] @ 0x30 │ │ │ │ │ vstr d5, [sp, #32] │ │ │ │ │ + vldr d6, [sp, #48] @ 0x30 │ │ │ │ │ vadd.f64 d5, d5, d2 │ │ │ │ │ vstr d2, [sp, #40] @ 0x28 │ │ │ │ │ vstr d5, [sp, #88] @ 0x58 │ │ │ │ │ vldr d5, [sp, #72] @ 0x48 │ │ │ │ │ vadd.f64 d5, d6, d5 │ │ │ │ │ vldr d6, [sp, #64] @ 0x40 │ │ │ │ │ vadd.f64 d0, d6, d0 │ │ │ │ │ - vldr d6, [r4, #-216] @ 0xffffff28 │ │ │ │ │ vstr d5, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d0, [sp, #64] @ 0x40 │ │ │ │ │ + vmov.f64 d6, d0 │ │ │ │ │ vadd.f64 d0, d5, d0 │ │ │ │ │ vldr d5, [r4, #-224] @ 0xffffff20 │ │ │ │ │ + vstr d6, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d6, [r4, #-216] @ 0xffffff28 │ │ │ │ │ vmul.f64 d2, d14, d5 │ │ │ │ │ vstr d0, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d0, [sp, #152] @ 0x98 │ │ │ │ │ + ldr r3, [sp, #0] │ │ │ │ │ vmla.f64 d2, d9, d6 │ │ │ │ │ vmul.f64 d6, d14, d6 │ │ │ │ │ - vldr d0, [sp, #152] @ 0x98 │ │ │ │ │ vldr d10, [sp, #160] @ 0xa0 │ │ │ │ │ - ldr r3, [sp, #0] │ │ │ │ │ vnmls.f64 d6, d9, d5 │ │ │ │ │ vsub.f64 d5, d0, d2 │ │ │ │ │ vadd.f64 d0, d0, d2 │ │ │ │ │ vadd.f64 d9, d10, d6 │ │ │ │ │ vmov.f64 d14, d0 │ │ │ │ │ vsub.f64 d0, d10, d6 │ │ │ │ │ + vldr d10, [sp, #120] @ 0x78 │ │ │ │ │ vsub.f64 d6, d8, d4 │ │ │ │ │ vadd.f64 d4, d8, d4 │ │ │ │ │ vmov.f64 d8, #64 @ 0x3e000000 0.125 │ │ │ │ │ - vldr d10, [sp, #120] @ 0x78 │ │ │ │ │ + vsub.f64 d7, d10, d7 │ │ │ │ │ vstr d0, [sp, #152] @ 0x98 │ │ │ │ │ vmul.f64 d2, d4, d8 │ │ │ │ │ - vsub.f64 d7, d10, d7 │ │ │ │ │ - vldr d0, [pc, #112] @ 408 │ │ │ │ │ + vldr d0, [pc, #96] @ 428 │ │ │ │ │ vnmls.f64 d2, d5, d13 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ vnmls.f64 d1, d7, d12 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ + vmul.f64 d5, d5, d13 │ │ │ │ │ vmla.f64 d7, d3, d12 │ │ │ │ │ vldr d3, [sp, #192] @ 0xc0 │ │ │ │ │ - vmul.f64 d5, d5, d13 │ │ │ │ │ vstr d5, [r6] │ │ │ │ │ vadd.f64 d5, d6, d2 │ │ │ │ │ vsub.f64 d2, d2, d6 │ │ │ │ │ vldr d6, [sp, #184] @ 0xb8 │ │ │ │ │ vadd.f64 d4, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vldr d5, [sp, #128] @ 0x80 │ │ │ │ │ vadd.f64 d10, d6, d3 │ │ │ │ │ vstr d4, [fp] │ │ │ │ │ vsub.f64 d4, d15, d5 │ │ │ │ │ vstr d7, [sl] │ │ │ │ │ - vadd.f64 d7, d1, d2 │ │ │ │ │ - vldr d5, [sp, #104] @ 0x68 │ │ │ │ │ - vsub.f64 d1, d1, d2 │ │ │ │ │ - b.n 418 │ │ │ │ │ - nop.w │ │ │ │ │ + b.n 438 │ │ │ │ │ + nop │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fde6f0e │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fd2cf23 │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fd1e377 │ │ │ │ │ - .word 0x000003f6 │ │ │ │ │ + .word 0x00000400 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ + vadd.f64 d7, d1, d2 │ │ │ │ │ + vsub.f64 d1, d1, d2 │ │ │ │ │ + vldr d5, [sp, #104] @ 0x68 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d3, d6 │ │ │ │ │ - vldr d3, [sp, #112] @ 0x70 │ │ │ │ │ vmul.f64 d6, d10, d8 │ │ │ │ │ - ldr r3, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d3, [sp, #112] @ 0x70 │ │ │ │ │ vstr d1, [r1] │ │ │ │ │ vmov.f64 d1, d0 │ │ │ │ │ - vsub.f64 d2, d5, d3 │ │ │ │ │ - vmul.f64 d7, d7, d0 │ │ │ │ │ + ldr r3, [sp, #208] @ 0xd0 │ │ │ │ │ vnmls.f64 d6, d9, d13 │ │ │ │ │ vadd.f64 d9, d9, d10 │ │ │ │ │ - vmov.f64 d0, d8 │ │ │ │ │ vldr d10, [sp, #80] @ 0x50 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ + vmov.f64 d0, d8 │ │ │ │ │ + vsub.f64 d2, d5, d3 │ │ │ │ │ vldr d8, [sp, #72] @ 0x48 │ │ │ │ │ - vmul.f64 d3, d2, d11 │ │ │ │ │ vmul.f64 d9, d9, d13 │ │ │ │ │ + vmul.f64 d3, d2, d11 │ │ │ │ │ + vadd.f64 d5, d7, d6 │ │ │ │ │ + vsub.f64 d6, d6, d7 │ │ │ │ │ + vstr d9, [r5] │ │ │ │ │ vnmls.f64 d3, d4, d12 │ │ │ │ │ vmul.f64 d4, d4, d11 │ │ │ │ │ vmla.f64 d4, d2, d12 │ │ │ │ │ - vadd.f64 d5, d7, d6 │ │ │ │ │ - vstr d9, [r5] │ │ │ │ │ - vsub.f64 d6, d6, d7 │ │ │ │ │ vsub.f64 d7, d6, d3 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ + vldr d6, [sp, #200] @ 0xc8 │ │ │ │ │ vsub.f64 d2, d5, d4 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ - vldr d6, [sp, #200] @ 0xc8 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ ldr r3, [sp, #24] │ │ │ │ │ vldr d2, [sp, #56] @ 0x38 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ - vsub.f64 d2, d2, d10 │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ vldr d4, [sp, #32] │ │ │ │ │ + vsub.f64 d2, d2, d10 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vadd.f64 d7, d6, d8 │ │ │ │ │ vsub.f64 d6, d6, d8 │ │ │ │ │ vstr d3, [r9] │ │ │ │ │ - vldr d3, [sp, #40] @ 0x28 │ │ │ │ │ ldr r3, [sp, #28] │ │ │ │ │ - vmul.f64 d7, d7, d1 │ │ │ │ │ + vldr d3, [sp, #40] @ 0x28 │ │ │ │ │ vmul.f64 d5, d6, d0 │ │ │ │ │ + vsub.f64 d6, d6, d14 │ │ │ │ │ + vmul.f64 d7, d7, d1 │ │ │ │ │ vsub.f64 d4, d3, d4 │ │ │ │ │ vmul.f64 d3, d2, d12 │ │ │ │ │ vmla.f64 d5, d14, d13 │ │ │ │ │ - vsub.f64 d6, d6, d14 │ │ │ │ │ + vmul.f64 d6, d6, d13 │ │ │ │ │ vnmls.f64 d3, d4, d11 │ │ │ │ │ vmul.f64 d4, d4, d12 │ │ │ │ │ - vmla.f64 d4, d2, d11 │ │ │ │ │ - vmul.f64 d6, d6, d13 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ - vsub.f64 d6, d5, d7 │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ + vmla.f64 d4, d2, d11 │ │ │ │ │ + vsub.f64 d6, d5, d7 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vadd.f64 d2, d4, d6 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vadd.f64 d6, d3, d7 │ │ │ │ │ vsub.f64 d3, d3, d7 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ ldr r1, [sp, #4] │ │ │ │ │ vldr d5, [sp, #88] @ 0x58 │ │ │ │ │ vldr d9, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d14, [sp, #144] @ 0x90 │ │ │ │ │ vstr d4, [r1] │ │ │ │ │ vstr d6, [lr] │ │ │ │ │ - vldr d6, [sp, #96] @ 0x60 │ │ │ │ │ - vadd.f64 d2, d9, d14 │ │ │ │ │ vstr d3, [r8] │ │ │ │ │ - ldr r3, [sp, #336] @ 0x150 │ │ │ │ │ + vldr d6, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d14, [sp, #144] @ 0x90 │ │ │ │ │ + ldr r1, [sp, #12] │ │ │ │ │ vsub.f64 d7, d6, d5 │ │ │ │ │ vadd.f64 d5, d6, d5 │ │ │ │ │ vldr d6, [sp, #64] @ 0x40 │ │ │ │ │ - vmul.f64 d3, d2, d11 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - ldr r1, [sp, #12] │ │ │ │ │ - str r3, [sp, #336] @ 0x150 │ │ │ │ │ + vadd.f64 d2, d9, d14 │ │ │ │ │ + ldr r3, [sp, #336] @ 0x150 │ │ │ │ │ vmul.f64 d4, d5, d0 │ │ │ │ │ vldr d0, [sp, #48] @ 0x30 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ vldr d1, [sp, #152] @ 0x98 │ │ │ │ │ + vmul.f64 d3, d2, d11 │ │ │ │ │ + str r3, [sp, #336] @ 0x150 │ │ │ │ │ ldr r3, [sp, #212] @ 0xd4 │ │ │ │ │ vsub.f64 d6, d0, d6 │ │ │ │ │ - vnmls.f64 d4, d1, d13 │ │ │ │ │ vadd.f64 d5, d1, d5 │ │ │ │ │ + vnmls.f64 d4, d1, d13 │ │ │ │ │ add r5, r3 │ │ │ │ │ add r6, r3 │ │ │ │ │ ldr r3, [sp, #216] @ 0xd8 │ │ │ │ │ vmla.f64 d3, d6, d12 │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ vmul.f64 d5, d5, d13 │ │ │ │ │ add r8, r3 │ │ │ │ │ @@ -392,30 +395,34 @@ │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ vstr d2, [r2] │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ vstr d6, [ip] │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ add r7, r3 │ │ │ │ │ ldr r3, [sp, #220] @ 0xdc │ │ │ │ │ - eors r0, r3 │ │ │ │ │ - ldrd r2, r3, [sp, #336] @ 0x150 │ │ │ │ │ + ldr r2, [sp, #336] @ 0x150 │ │ │ │ │ + eor.w r0, r0, r3 │ │ │ │ │ + ldr r3, [sp, #340] @ 0x154 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 4e │ │ │ │ │ + bne.w 64 │ │ │ │ │ add sp, #228 @ 0xe4 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -000005b4 : │ │ │ │ │ +000005f4 : │ │ │ │ │ fftw_codelet_hc2cfdft_10(): │ │ │ │ │ - ldr r2, [pc, #12] @ (5c4 ) │ │ │ │ │ - movs r3, #1 │ │ │ │ │ - ldr r1, [pc, #12] @ (5c8 ) │ │ │ │ │ + ldr r2, [pc, #12] @ (604 ) │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + ldr r1, [pc, #12] @ (608 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2c_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + .word 0x00000006 │ │ │ │ │ R_ARM_REL32 hc2cfdft_10 │ │ │ ├── hc2cfdft_12.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2400 (bytes into file) │ │ │ │ │ + Start of section headers: 2468 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x960: │ │ │ │ │ +There are 14 section headers, starting at offset 0x9a4: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00063c 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0008a8 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000670 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000670 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000670 00000c 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 00067c 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 000684 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 0008d0 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 0006b4 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0006b4 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 0006e8 000130 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000818 00008f 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 0008e8 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000680 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0008ec 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0006b4 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0006b4 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0006b4 00000c 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 0006c0 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0006c8 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000914 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 0006f8 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0006f8 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 00072c 000130 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 00085c 00008f 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 00092c 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 19 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1570 FUNC LOCAL DEFAULT 1 hc2cfdft_12 │ │ │ │ │ + 1: 00000001 1638 FUNC LOCAL DEFAULT 1 hc2cfdft_12 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000530 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000540 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000634 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000560 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000570 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000678 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 16: 00000625 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cfdft_12 │ │ │ │ │ + 16: 00000669 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cfdft_12 │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2c_register │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hc2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x8a8 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x8ec contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000538 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000053c 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000634 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000638 00000103 R_ARM_REL32 00000001 hc2cfdft_12 │ │ │ │ │ -0000062e 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ +00000568 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000056c 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000678 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +0000067c 00000103 R_ARM_REL32 00000001 hc2cfdft_12 │ │ │ │ │ +00000674 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x8d0 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x914 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001202 R_ARM_ABS32 00000000 fftw_rdft_hc2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,271 +1,275 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hc2cfdft_12(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ mov sl, r1 │ │ │ │ │ - mov fp, r2 │ │ │ │ │ - vpush {d8-d15} │ │ │ │ │ - sub sp, #212 @ 0xd4 │ │ │ │ │ mov r9, r0 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + mov fp, r2 │ │ │ │ │ mov r0, r3 │ │ │ │ │ - ldr.w r3, [pc, #1316] @ 538 │ │ │ │ │ - ldrd r2, r1, [sp, #320] @ 0x140 │ │ │ │ │ - add r3, pc │ │ │ │ │ + vpush {d8-d15} │ │ │ │ │ + sub sp, #220 @ 0xdc │ │ │ │ │ + ldrd r4, r2, [sp, #324] @ 0x144 │ │ │ │ │ + ldr r1, [sp, #332] @ 0x14c │ │ │ │ │ + ldr.w r3, [pc, #1340] @ 568 │ │ │ │ │ cmp r2, r1 │ │ │ │ │ - bge.w 618 │ │ │ │ │ - ldr r2, [sp, #328] @ 0x148 │ │ │ │ │ - movs r1, #176 @ 0xb0 │ │ │ │ │ + add r3, pc │ │ │ │ │ + bge.w 64a │ │ │ │ │ + ldr r2, [sp, #336] @ 0x150 │ │ │ │ │ + mov.w r1, #176 @ 0xb0 │ │ │ │ │ + vmov.f64 d14, #96 @ 0x3f000000 0.5 │ │ │ │ │ mov ip, sl │ │ │ │ │ mov lr, fp │ │ │ │ │ - vmov.f64 d14, #96 @ 0x3f000000 0.5 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ - str r2, [sp, #196] @ 0xc4 │ │ │ │ │ - negs r2, r2 │ │ │ │ │ - str r2, [sp, #200] @ 0xc8 │ │ │ │ │ - ldr.w r2, [pc, #1284] @ 53c │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + str r2, [sp, #204] @ 0xcc │ │ │ │ │ + rsb r2, r2, #0 │ │ │ │ │ + str r2, [sp, #208] @ 0xd0 │ │ │ │ │ + ldr.w r2, [pc, #1308] @ 56c │ │ │ │ │ ldr r3, [r3, r2] │ │ │ │ │ - ldr r2, [sp, #320] @ 0x140 │ │ │ │ │ - str.w r9, [sp, #8] │ │ │ │ │ + str.w r9, [sp, #16] │ │ │ │ │ + mov r9, r4 │ │ │ │ │ + ldr r2, [sp, #328] @ 0x148 │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - str r3, [sp, #204] @ 0xcc │ │ │ │ │ - ldr r3, [sp, #312] @ 0x138 │ │ │ │ │ + str r3, [sp, #212] @ 0xd4 │ │ │ │ │ + ldr r3, [sp, #320] @ 0x140 │ │ │ │ │ mla r8, r1, r2, r3 │ │ │ │ │ mov r1, r0 │ │ │ │ │ - ldr r3, [sp, #8] │ │ │ │ │ + ldr r3, [sp, #16] │ │ │ │ │ + mov r0, r1 │ │ │ │ │ mov r7, r1 │ │ │ │ │ vldr d0, [r1] │ │ │ │ │ - mov r2, r1 │ │ │ │ │ - ldr r1, [sp, #8] │ │ │ │ │ - vldr d8, [ip] │ │ │ │ │ + ldr r1, [sp, #16] │ │ │ │ │ vldr d1, [r3] │ │ │ │ │ - ldr r3, [sp, #316] @ 0x13c │ │ │ │ │ - vldr d2, [lr] │ │ │ │ │ - vadd.f64 d13, d8, d0 │ │ │ │ │ - vsub.f64 d0, d8, d0 │ │ │ │ │ - lsls r3, r3, #4 │ │ │ │ │ + mov.w r3, r9, lsl #4 │ │ │ │ │ add.w sl, ip, r3 │ │ │ │ │ - add r2, r3 │ │ │ │ │ - add.w r9, lr, r3 │ │ │ │ │ + add.w r2, r0, r3 │ │ │ │ │ + vldr d8, [ip] │ │ │ │ │ add.w fp, r1, r3 │ │ │ │ │ - add.w r1, fp, r3 │ │ │ │ │ - add.w r4, r9, r3 │ │ │ │ │ - vldr d5, [sl] │ │ │ │ │ - adds r6, r2, r3 │ │ │ │ │ + add.w r1, lr, r3 │ │ │ │ │ vldr d11, [r2] │ │ │ │ │ + add.w r6, r1, r3 │ │ │ │ │ + add.w r4, fp, r3 │ │ │ │ │ add.w r5, sl, r3 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - vsub.f64 d15, d1, d2 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - vadd.f64 d8, d1, d2 │ │ │ │ │ + str r2, [sp, #0] │ │ │ │ │ + add r2, r3 │ │ │ │ │ + vldr d5, [sl] │ │ │ │ │ + str r1, [sp, #8] │ │ │ │ │ + vldr d12, [r1] │ │ │ │ │ + vadd.f64 d13, d8, d0 │ │ │ │ │ + vsub.f64 d0, d8, d0 │ │ │ │ │ + strd r4, r6, [sp, #20] │ │ │ │ │ + vldr d2, [lr] │ │ │ │ │ + str r5, [sp, #28] │ │ │ │ │ vsub.f64 d6, d5, d11 │ │ │ │ │ - vldr d12, [r9] │ │ │ │ │ vadd.f64 d11, d5, d11 │ │ │ │ │ vldr d5, [fp] │ │ │ │ │ - vadd.f64 d10, d4, d7 │ │ │ │ │ - vsub.f64 d4, d4, d7 │ │ │ │ │ - vldr d9, [r6] │ │ │ │ │ + str r2, [sp, #32] │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + vstr d0, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + vsub.f64 d15, d1, d2 │ │ │ │ │ + vadd.f64 d8, d1, d2 │ │ │ │ │ + vldr d9, [r2] │ │ │ │ │ vadd.f64 d3, d5, d12 │ │ │ │ │ - vldr d1, [r8, #-40] @ 0xffffffd8 │ │ │ │ │ vsub.f64 d12, d5, d12 │ │ │ │ │ + add.w r2, r9, r9, lsl #1 │ │ │ │ │ vldr d5, [r5] │ │ │ │ │ - vstr d0, [sp, #48] @ 0x30 │ │ │ │ │ - vmul.f64 d0, d4, d1 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + vadd.f64 d10, d4, d7 │ │ │ │ │ + vsub.f64 d4, d4, d7 │ │ │ │ │ vldr d2, [r8, #-48] @ 0xffffffd0 │ │ │ │ │ + vstr d8, [sp, #64] @ 0x40 │ │ │ │ │ + add.w r6, ip, r2 │ │ │ │ │ + add.w r4, r0, r2 │ │ │ │ │ + vldr d1, [r8, #-40] @ 0xffffffd8 │ │ │ │ │ vsub.f64 d7, d5, d9 │ │ │ │ │ vadd.f64 d5, d5, d9 │ │ │ │ │ - str r1, [sp, #12] │ │ │ │ │ - str r4, [sp, #16] │ │ │ │ │ - str r5, [sp, #20] │ │ │ │ │ + vmul.f64 d0, d4, d1 │ │ │ │ │ vnmls.f64 d0, d5, d2 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vmla.f64 d5, d4, d2 │ │ │ │ │ - vldr d2, [r8, #-120] @ 0xffffff88 │ │ │ │ │ vldr d4, [r8, #-128] @ 0xffffff80 │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ - movs r2, #24 │ │ │ │ │ - str r6, [sp, #24] │ │ │ │ │ - vstr d8, [sp, #56] @ 0x38 │ │ │ │ │ - vstr d0, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d5, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d2, [r8, #-120] @ 0xffffff88 │ │ │ │ │ + vstr d0, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d5, [sp, #80] @ 0x50 │ │ │ │ │ vmul.f64 d5, d3, d2 │ │ │ │ │ vnmls.f64 d5, d6, d4 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ vldr d2, [r8, #-56] @ 0xffffffc8 │ │ │ │ │ vmla.f64 d6, d3, d4 │ │ │ │ │ vldr d3, [r8, #-64] @ 0xffffffc0 │ │ │ │ │ vmul.f64 d4, d10, d2 │ │ │ │ │ vnmls.f64 d4, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ vmla.f64 d7, d10, d3 │ │ │ │ │ vadd.f64 d2, d5, d4 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vsub.f64 d3, d7, d6 │ │ │ │ │ vadd.f64 d9, d6, d7 │ │ │ │ │ - vstr d2, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d2, [pc, #992] @ 530 │ │ │ │ │ + vstr d2, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d2, [pc, #996] @ 560 │ │ │ │ │ vmul.f64 d1, d3, d2 │ │ │ │ │ vmul.f64 d4, d5, d2 │ │ │ │ │ - vstr d1, [sp, #152] @ 0x98 │ │ │ │ │ - vstr d9, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d5, [r8, #-104] @ 0xffffff98 │ │ │ │ │ + vstr d1, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d9, [sp, #96] @ 0x60 │ │ │ │ │ vldr d6, [r8, #-112] @ 0xffffff90 │ │ │ │ │ - vstr d4, [sp, #160] @ 0xa0 │ │ │ │ │ - vmul.f64 d7, d12, d5 │ │ │ │ │ + vstr d4, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d5, [r8, #-104] @ 0xffffff98 │ │ │ │ │ vldr d4, [r8, #-168] @ 0xffffff58 │ │ │ │ │ - ldr r0, [sp, #316] @ 0x13c │ │ │ │ │ - ldr r1, [sp, #8] │ │ │ │ │ + ldr r1, [sp, #16] │ │ │ │ │ + vmul.f64 d7, d12, d5 │ │ │ │ │ + ldr r0, [sp, #16] │ │ │ │ │ + add.w r5, r1, r2 │ │ │ │ │ + add r2, lr │ │ │ │ │ + add.w r1, r6, r3 │ │ │ │ │ vnmls.f64 d7, d11, d6 │ │ │ │ │ vmul.f64 d11, d11, d5 │ │ │ │ │ + vldr d5, [r8, #-176] @ 0xffffff50 │ │ │ │ │ + str r1, [sp, #36] @ 0x24 │ │ │ │ │ vmla.f64 d11, d12, d6 │ │ │ │ │ vmul.f64 d6, d15, d4 │ │ │ │ │ - vldr d5, [r8, #-176] @ 0xffffff50 │ │ │ │ │ - mul.w r2, r2, r0 │ │ │ │ │ - add.w r6, ip, r2 │ │ │ │ │ - adds r4, r7, r2 │ │ │ │ │ vnmls.f64 d6, d13, d5 │ │ │ │ │ vmul.f64 d13, d13, d4 │ │ │ │ │ vmla.f64 d13, d15, d5 │ │ │ │ │ - adds r5, r1, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ - adds r1, r6, r3 │ │ │ │ │ - str r1, [sp, #28] │ │ │ │ │ vadd.f64 d10, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [r6] │ │ │ │ │ vmul.f64 d12, d7, d2 │ │ │ │ │ vsub.f64 d7, d11, d13 │ │ │ │ │ + vstr d10, [sp, #104] @ 0x68 │ │ │ │ │ vadd.f64 d11, d11, d13 │ │ │ │ │ - vstr d10, [sp, #96] @ 0x60 │ │ │ │ │ vmul.f64 d15, d7, d2 │ │ │ │ │ - vstr d12, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d11, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d12, [sp, #176] @ 0xb0 │ │ │ │ │ vldr d12, [r2] │ │ │ │ │ - vstr d11, [sp, #104] @ 0x68 │ │ │ │ │ vldr d11, [r8, #-88] @ 0xffffffa8 │ │ │ │ │ - vstr d15, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d15, [sp, #184] @ 0xb8 │ │ │ │ │ vldr d15, [r4] │ │ │ │ │ vsub.f64 d4, d6, d15 │ │ │ │ │ vadd.f64 d15, d6, d15 │ │ │ │ │ vldr d6, [r5] │ │ │ │ │ vadd.f64 d0, d6, d12 │ │ │ │ │ vsub.f64 d12, d6, d12 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ - adds r1, r4, r3 │ │ │ │ │ - str r1, [sp, #32] │ │ │ │ │ + add.w r1, r4, r3 │ │ │ │ │ vldr d13, [r1] │ │ │ │ │ - adds r1, r5, r3 │ │ │ │ │ str r1, [sp, #40] @ 0x28 │ │ │ │ │ + add.w r1, r5, r3 │ │ │ │ │ add r3, r2 │ │ │ │ │ + str r1, [sp, #48] @ 0x30 │ │ │ │ │ vmul.f64 d9, d0, d11 │ │ │ │ │ + vldr d8, [r3] │ │ │ │ │ vsub.f64 d10, d6, d13 │ │ │ │ │ vadd.f64 d13, d6, d13 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ - lsls r1, r0, #3 │ │ │ │ │ - ldr r0, [sp, #8] │ │ │ │ │ - vldr d8, [r3] │ │ │ │ │ + mov.w r1, r9, lsl #3 │ │ │ │ │ add r0, r1 │ │ │ │ │ - str r0, [sp, #44] @ 0x2c │ │ │ │ │ - vadd.f64 d2, d6, d8 │ │ │ │ │ - vsub.f64 d8, d6, d8 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ + str r0, [sp, #52] @ 0x34 │ │ │ │ │ add.w r0, lr, r1 │ │ │ │ │ - str r0, [sp, #192] @ 0xc0 │ │ │ │ │ + vadd.f64 d2, d6, d8 │ │ │ │ │ + vsub.f64 d8, d6, d8 │ │ │ │ │ vldr d5, [r0] │ │ │ │ │ + str r0, [sp, #200] @ 0xc8 │ │ │ │ │ add.w r0, ip, r1 │ │ │ │ │ add r1, r7 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ - vadd.f64 d3, d7, d5 │ │ │ │ │ vldr d1, [r1] │ │ │ │ │ + vadd.f64 d3, d7, d5 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ vsub.f64 d7, d6, d1 │ │ │ │ │ vadd.f64 d6, d6, d1 │ │ │ │ │ vldr d1, [r8, #-96] @ 0xffffffa0 │ │ │ │ │ vnmls.f64 d9, d4, d1 │ │ │ │ │ vmul.f64 d4, d4, d11 │ │ │ │ │ vmla.f64 d4, d0, d1 │ │ │ │ │ - vstr d4, [sp, #112] @ 0x70 │ │ │ │ │ vldr d1, [r8, #-136] @ 0xffffff78 │ │ │ │ │ + vstr d4, [sp, #120] @ 0x78 │ │ │ │ │ vldr d4, [r8, #-144] @ 0xffffff70 │ │ │ │ │ vmul.f64 d0, d6, d4 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ - vmla.f64 d0, d5, d1 │ │ │ │ │ vnmls.f64 d6, d5, d4 │ │ │ │ │ vldr d4, [r8, #-24] @ 0xffffffe8 │ │ │ │ │ + vmla.f64 d0, d5, d1 │ │ │ │ │ vldr d5, [r8, #-32] @ 0xffffffe0 │ │ │ │ │ vmov.f64 d1, d6 │ │ │ │ │ vmul.f64 d6, d2, d4 │ │ │ │ │ + vstr d1, [sp, #128] @ 0x80 │ │ │ │ │ vnmls.f64 d6, d10, d5 │ │ │ │ │ vmul.f64 d10, d10, d4 │ │ │ │ │ + vldr d4, [r8, #-160] @ 0xffffff60 │ │ │ │ │ vmla.f64 d10, d2, d5 │ │ │ │ │ vldr d2, [r8, #-152] @ 0xffffff68 │ │ │ │ │ - vldr d4, [r8, #-160] @ 0xffffff60 │ │ │ │ │ - vstr d1, [sp, #120] @ 0x78 │ │ │ │ │ vmul.f64 d5, d3, d2 │ │ │ │ │ vnmls.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ + vldr d2, [sp, #88] @ 0x58 │ │ │ │ │ vmla.f64 d7, d3, d4 │ │ │ │ │ - vldr d3, [pc, #624] @ 530 │ │ │ │ │ - vldr d2, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d3, [pc, #624] @ 560 │ │ │ │ │ vadd.f64 d11, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vsub.f64 d4, d7, d10 │ │ │ │ │ - vadd.f64 d7, d10, d7 │ │ │ │ │ vldr d5, [r8, #-80] @ 0xffffffb0 │ │ │ │ │ add.w r8, r8, #176 @ 0xb0 │ │ │ │ │ - vstr d11, [sp, #128] @ 0x80 │ │ │ │ │ + vsub.f64 d4, d7, d10 │ │ │ │ │ + vadd.f64 d7, d10, d7 │ │ │ │ │ + vstr d11, [sp, #136] @ 0x88 │ │ │ │ │ vmul.f64 d11, d6, d3 │ │ │ │ │ + vstr d7, [sp, #144] @ 0x90 │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ - vstr d7, [sp, #136] @ 0x88 │ │ │ │ │ vldr d7, [r8, #-248] @ 0xffffff08 │ │ │ │ │ + vstr d4, [sp, #192] @ 0xc0 │ │ │ │ │ vmul.f64 d6, d12, d7 │ │ │ │ │ - vstr d4, [sp, #184] @ 0xb8 │ │ │ │ │ vldr d4, [r8, #-184] @ 0xffffff48 │ │ │ │ │ vnmls.f64 d6, d15, d5 │ │ │ │ │ vmul.f64 d15, d15, d7 │ │ │ │ │ vmul.f64 d7, d8, d4 │ │ │ │ │ vmla.f64 d15, d12, d5 │ │ │ │ │ vldr d5, [r8, #-192] @ 0xffffff40 │ │ │ │ │ vnmls.f64 d7, d13, d5 │ │ │ │ │ vmul.f64 d13, d13, d4 │ │ │ │ │ vmla.f64 d13, d8, d5 │ │ │ │ │ vadd.f64 d10, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d6, [sp, #56] @ 0x38 │ │ │ │ │ vmov.f64 d8, d10 │ │ │ │ │ vsub.f64 d10, d13, d15 │ │ │ │ │ vmul.f64 d12, d7, d3 │ │ │ │ │ + vldr d7, [sp, #80] @ 0x50 │ │ │ │ │ vadd.f64 d13, d15, d13 │ │ │ │ │ vadd.f64 d6, d6, d2 │ │ │ │ │ - vldr d7, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d2, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d2, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d8, [sp, #152] @ 0x98 │ │ │ │ │ vmul.f64 d10, d10, d3 │ │ │ │ │ - vldr d3, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d3, [sp, #136] @ 0x88 │ │ │ │ │ vsub.f64 d4, d1, d13 │ │ │ │ │ - vstr d8, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d1, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d1, [sp, #96] @ 0x60 │ │ │ │ │ vadd.f64 d5, d9, d3 │ │ │ │ │ - vldr d3, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d3, [sp, #112] @ 0x70 │ │ │ │ │ vsub.f64 d15, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vadd.f64 d5, d7, d3 │ │ │ │ │ - vldr d3, [sp, #64] @ 0x40 │ │ │ │ │ - vadd.f64 d2, d3, d2 │ │ │ │ │ + vldr d3, [sp, #72] @ 0x48 │ │ │ │ │ vsub.f64 d7, d4, d5 │ │ │ │ │ + vadd.f64 d2, d3, d2 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ vadd.f64 d5, d0, d8 │ │ │ │ │ - vldr d8, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d8, [sp, #64] @ 0x40 │ │ │ │ │ vsub.f64 d3, d5, d2 │ │ │ │ │ vadd.f64 d5, d5, d2 │ │ │ │ │ vadd.f64 d2, d8, d1 │ │ │ │ │ - vldr d8, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d1, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d1, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d8, [sp, #144] @ 0x90 │ │ │ │ │ vadd.f64 d1, d1, d8 │ │ │ │ │ vadd.f64 d8, d2, d1 │ │ │ │ │ vsub.f64 d2, d2, d1 │ │ │ │ │ vadd.f64 d1, d15, d3 │ │ │ │ │ vsub.f64 d3, d3, d15 │ │ │ │ │ vmul.f64 d1, d1, d14 │ │ │ │ │ vmul.f64 d3, d3, d14 │ │ │ │ │ @@ -273,188 +277,191 @@ │ │ │ │ │ vsub.f64 d1, d2, d4 │ │ │ │ │ vadd.f64 d4, d4, d2 │ │ │ │ │ vmul.f64 d1, d1, d14 │ │ │ │ │ vmul.f64 d4, d4, d14 │ │ │ │ │ vstr d1, [r5] │ │ │ │ │ ldr r5, [sp, #0] │ │ │ │ │ vstr d3, [r5] │ │ │ │ │ - vstr d4, [r9] │ │ │ │ │ + ldr r5, [sp, #8] │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ vsub.f64 d4, d8, d5 │ │ │ │ │ vadd.f64 d5, d5, d8 │ │ │ │ │ vmul.f64 d4, d4, d14 │ │ │ │ │ vmul.f64 d5, d5, d14 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ - ldr r3, [sp, #32] │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d15, [sp, #88] @ 0x58 │ │ │ │ │ + ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ vmov.f64 d7, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vldr d8, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d8, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d15, [sp, #96] @ 0x60 │ │ │ │ │ vmul.f64 d4, d4, d14 │ │ │ │ │ - vldr d2, [sp, #120] @ 0x78 │ │ │ │ │ vmul.f64 d6, d6, d14 │ │ │ │ │ - vldr d1, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d1, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d2, [sp, #128] @ 0x80 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ - ldr r3, [sp, #8] │ │ │ │ │ - vldr d4, [sp, #64] @ 0x40 │ │ │ │ │ + ldr r3, [sp, #16] │ │ │ │ │ + vldr d4, [sp, #72] @ 0x48 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ vstr d6, [ip] │ │ │ │ │ vmul.f64 d6, d15, d7 │ │ │ │ │ - vldr d5, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d5, [sp, #80] @ 0x50 │ │ │ │ │ vnmls.f64 d6, d8, d14 │ │ │ │ │ - vldr d8, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d8, [sp, #168] @ 0xa8 │ │ │ │ │ vsub.f64 d15, d6, d8 │ │ │ │ │ vadd.f64 d6, d8, d6 │ │ │ │ │ - vldr d8, [sp, #168] @ 0xa8 │ │ │ │ │ - vstr d6, [sp, #56] @ 0x38 │ │ │ │ │ - vmul.f64 d6, d5, d14 │ │ │ │ │ - vldr d5, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d8, [sp, #176] @ 0xb0 │ │ │ │ │ vstr d15, [sp] │ │ │ │ │ + vstr d6, [sp, #40] @ 0x28 │ │ │ │ │ + vmul.f64 d6, d5, d14 │ │ │ │ │ + vldr d5, [sp, #112] @ 0x70 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ vsub.f64 d5, d8, d6 │ │ │ │ │ vadd.f64 d6, d8, d6 │ │ │ │ │ - vldr d8, [sp, #128] @ 0x80 │ │ │ │ │ - vstr d6, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d8, [sp, #136] @ 0x88 │ │ │ │ │ + vstr d5, [sp, #8] │ │ │ │ │ + vstr d6, [sp, #64] @ 0x40 │ │ │ │ │ vmul.f64 d6, d2, d14 │ │ │ │ │ + vldr d2, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d5, [sp, #160] @ 0xa0 │ │ │ │ │ vmla.f64 d6, d13, d7 │ │ │ │ │ - vstr d5, [sp, #32] │ │ │ │ │ - vldr d5, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d2, [sp, #96] @ 0x60 │ │ │ │ │ vsub.f64 d15, d6, d12 │ │ │ │ │ vadd.f64 d13, d12, d6 │ │ │ │ │ - vldr d12, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d12, [sp, #144] @ 0x90 │ │ │ │ │ vmov.f64 d6, d7 │ │ │ │ │ vmul.f64 d7, d12, d7 │ │ │ │ │ vnmls.f64 d7, d1, d14 │ │ │ │ │ vsub.f64 d12, d7, d11 │ │ │ │ │ vadd.f64 d11, d11, d7 │ │ │ │ │ - vldr d7, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d7, [sp, #152] @ 0x98 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ vnmls.f64 d7, d0, d14 │ │ │ │ │ - vldr d0, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d0, [sp, #56] @ 0x38 │ │ │ │ │ vsub.f64 d1, d7, d10 │ │ │ │ │ vadd.f64 d10, d10, d7 │ │ │ │ │ - vldr d7, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d7, [sp, #88] @ 0x58 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ vnmls.f64 d7, d0, d14 │ │ │ │ │ vsub.f64 d0, d7, d5 │ │ │ │ │ vadd.f64 d7, d5, d7 │ │ │ │ │ vmov.f64 d5, d6 │ │ │ │ │ vmul.f64 d6, d8, d6 │ │ │ │ │ - vldr d8, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d8, [sp, #192] @ 0xc0 │ │ │ │ │ vmul.f64 d5, d2, d5 │ │ │ │ │ + vldr d2, [sp, #184] @ 0xb8 │ │ │ │ │ vnmls.f64 d6, d9, d14 │ │ │ │ │ - vldr d2, [sp, #176] @ 0xb0 │ │ │ │ │ vnmls.f64 d5, d4, d14 │ │ │ │ │ vsub.f64 d3, d6, d8 │ │ │ │ │ vadd.f64 d6, d8, d6 │ │ │ │ │ vsub.f64 d4, d5, d2 │ │ │ │ │ vadd.f64 d5, d2, d5 │ │ │ │ │ vldr d2, [sp] │ │ │ │ │ vadd.f64 d8, d1, d4 │ │ │ │ │ vadd.f64 d2, d2, d12 │ │ │ │ │ vsub.f64 d4, d4, d1 │ │ │ │ │ vsub.f64 d9, d2, d8 │ │ │ │ │ vadd.f64 d2, d2, d8 │ │ │ │ │ vadd.f64 d8, d0, d3 │ │ │ │ │ vsub.f64 d3, d0, d3 │ │ │ │ │ vstr d9, [fp] │ │ │ │ │ - vldr d9, [sp, #32] │ │ │ │ │ + vldr d9, [sp, #8] │ │ │ │ │ vstr d2, [r2] │ │ │ │ │ vsub.f64 d2, d9, d15 │ │ │ │ │ vadd.f64 d9, d8, d2 │ │ │ │ │ vsub.f64 d2, d2, d8 │ │ │ │ │ vstr d9, [sl] │ │ │ │ │ - b.n 540 │ │ │ │ │ + b.n 570 │ │ │ │ │ nop │ │ │ │ │ + nop.w │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3fdbb67a │ │ │ │ │ - .word 0x0000051a │ │ │ │ │ + .word 0x00000536 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ vstr d2, [r4] │ │ │ │ │ vadd.f64 d2, d3, d4 │ │ │ │ │ - ldr r2, [sp, #28] │ │ │ │ │ vsub.f64 d4, d4, d3 │ │ │ │ │ - vldr d9, [sp, #32] │ │ │ │ │ + vldr d9, [sp, #8] │ │ │ │ │ vsub.f64 d3, d7, d6 │ │ │ │ │ - ldr r6, [sp, #24] │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d1, [sp, #56] @ 0x38 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ + ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ + ldrd r4, r6, [sp, #20] │ │ │ │ │ vadd.f64 d15, d9, d15 │ │ │ │ │ + vldr d1, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ vldr d2, [sp] │ │ │ │ │ vstr d4, [r7] │ │ │ │ │ - ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d0, [sp, #64] @ 0x40 │ │ │ │ │ + ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ vsub.f64 d4, d2, d12 │ │ │ │ │ - vldr d0, [sp, #72] @ 0x48 │ │ │ │ │ - ldr r4, [sp, #16] │ │ │ │ │ - ldr r3, [sp, #12] │ │ │ │ │ + ldrd r5, r2, [sp, #28] │ │ │ │ │ vadd.f64 d6, d0, d13 │ │ │ │ │ - ldr r5, [sp, #20] │ │ │ │ │ vsub.f64 d2, d4, d15 │ │ │ │ │ vadd.f64 d4, d4, d15 │ │ │ │ │ vstr d2, [lr] │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ vsub.f64 d4, d5, d10 │ │ │ │ │ + mov r3, r0 │ │ │ │ │ + ldr r0, [sp, #52] @ 0x34 │ │ │ │ │ vadd.f64 d10, d10, d5 │ │ │ │ │ - ldr r2, [sp, #8] │ │ │ │ │ vadd.f64 d2, d3, d4 │ │ │ │ │ vsub.f64 d4, d4, d3 │ │ │ │ │ vsub.f64 d3, d13, d0 │ │ │ │ │ - vstr d2, [r0] │ │ │ │ │ - vstr d4, [r6] │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ vsub.f64 d4, d1, d11 │ │ │ │ │ - ldr r0, [sp, #44] @ 0x2c │ │ │ │ │ + ldr r2, [sp, #16] │ │ │ │ │ + ldr r3, [sp, #328] @ 0x148 │ │ │ │ │ vsub.f64 d2, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + str r3, [sp, #328] @ 0x148 │ │ │ │ │ + vstr d2, [r6] │ │ │ │ │ vstr d4, [r0] │ │ │ │ │ vadd.f64 d4, d1, d11 │ │ │ │ │ - ldr r0, [sp, #192] @ 0xc0 │ │ │ │ │ + ldrd r0, r3, [sp, #200] @ 0xc8 │ │ │ │ │ vsub.f64 d5, d4, d10 │ │ │ │ │ + add r2, r3 │ │ │ │ │ + add ip, r3 │ │ │ │ │ + ldr r3, [sp, #208] @ 0xd0 │ │ │ │ │ vadd.f64 d4, d4, d10 │ │ │ │ │ + str r2, [sp, #16] │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ + mov r0, r7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - ldr r3, [sp, #320] @ 0x140 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #320] @ 0x140 │ │ │ │ │ - ldr r3, [sp, #196] @ 0xc4 │ │ │ │ │ + add r0, r3 │ │ │ │ │ + add lr, r3 │ │ │ │ │ + ldr r3, [sp, #212] @ 0xd4 │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ vstr d5, [r5] │ │ │ │ │ - add r2, r3 │ │ │ │ │ - add ip, r3 │ │ │ │ │ - ldr r3, [sp, #200] @ 0xc8 │ │ │ │ │ - str r2, [sp, #8] │ │ │ │ │ - mov r2, r7 │ │ │ │ │ - add r2, r3 │ │ │ │ │ + eor.w r9, r9, r3 │ │ │ │ │ + ldr r3, [sp, #332] @ 0x14c │ │ │ │ │ vstr d6, [r1] │ │ │ │ │ - add lr, r3 │ │ │ │ │ - mov r1, r2 │ │ │ │ │ - ldr r3, [sp, #316] @ 0x13c │ │ │ │ │ - ldr r2, [sp, #204] @ 0xcc │ │ │ │ │ - eors r3, r2 │ │ │ │ │ - str r3, [sp, #316] @ 0x13c │ │ │ │ │ - ldrd r2, r3, [sp, #320] @ 0x140 │ │ │ │ │ + mov r1, r0 │ │ │ │ │ + ldr r2, [sp, #328] @ 0x148 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 4e │ │ │ │ │ - add sp, #212 @ 0xd4 │ │ │ │ │ + bne.w 68 │ │ │ │ │ + add sp, #220 @ 0xdc │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000624 : │ │ │ │ │ +00000668 : │ │ │ │ │ fftw_codelet_hc2cfdft_12(): │ │ │ │ │ - ldr r2, [pc, #12] @ (634 ) │ │ │ │ │ - movs r3, #1 │ │ │ │ │ - ldr r1, [pc, #12] @ (638 ) │ │ │ │ │ + ldr r2, [pc, #12] @ (678 ) │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + ldr r1, [pc, #12] @ (67c ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2c_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + .word 0x00000006 │ │ │ │ │ R_ARM_REL32 hc2cfdft_12 │ │ │ ├── hc2cfdft_16.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 3044 (bytes into file) │ │ │ │ │ + Start of section headers: 3124 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0xbe4: │ │ │ │ │ +There are 14 section headers, starting at offset 0xc34: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0008a0 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000b2c 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0008d4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0008d4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0008d4 00000c 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 0008e0 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0008e8 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000b54 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000918 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000918 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 00094c 000150 10 12 16 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000a9c 00008f 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000b6c 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0008f0 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000b7c 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000924 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000924 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000924 00000c 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000930 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000938 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000ba4 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000968 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000968 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 00099c 000150 10 12 16 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000aec 00008f 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000bbc 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 21 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 2184 FUNC LOCAL DEFAULT 1 hc2cfdft_16 │ │ │ │ │ + 1: 00000001 2264 FUNC LOCAL DEFAULT 1 hc2cfdft_16 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000050 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000060 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000878 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000888 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00000898 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000070 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000080 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000008c8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 000008d8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 000008e8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 13: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 14: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 15: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 18: 00000889 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cfdft_16 │ │ │ │ │ + 18: 000008d9 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cfdft_16 │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2c_register │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hc2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xb2c contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xb7c contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000058 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000005c 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000898 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000089c 00000103 R_ARM_REL32 00000001 hc2cfdft_16 │ │ │ │ │ -00000892 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ +00000078 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000007c 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +000008e8 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000008ec 00000103 R_ARM_REL32 00000001 hc2cfdft_16 │ │ │ │ │ +000008e4 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xb54 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xba4 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000a02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001402 R_ARM_ABS32 00000000 fftw_rdft_hc2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,241 +1,243 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hc2cfdft_16(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ mov sl, r1 │ │ │ │ │ + mov r9, r0 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ mov fp, r2 │ │ │ │ │ + mov r0, r3 │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #348 @ 0x15c │ │ │ │ │ - mov r4, r3 │ │ │ │ │ - ldr r3, [pc, #68] @ (58 ) │ │ │ │ │ - ldrd r2, r1, [sp, #456] @ 0x1c8 │ │ │ │ │ - add r3, pc │ │ │ │ │ - ldr r5, [sp, #452] @ 0x1c4 │ │ │ │ │ + ldrd r4, r2, [sp, #452] @ 0x1c4 │ │ │ │ │ + ldr r1, [sp, #460] @ 0x1cc │ │ │ │ │ + ldr r3, [pc, #76] @ (78 ) │ │ │ │ │ cmp r2, r1 │ │ │ │ │ - bge.w 86e │ │ │ │ │ + add r3, pc │ │ │ │ │ + bge.w 8aa │ │ │ │ │ ldr r2, [sp, #464] @ 0x1d0 │ │ │ │ │ - movs r1, #240 @ 0xf0 │ │ │ │ │ + vmov.f64 d12, #96 @ 0x3f000000 0.5 │ │ │ │ │ mov ip, sl │ │ │ │ │ - vldr d14, [pc, #40] @ 50 │ │ │ │ │ mov lr, fp │ │ │ │ │ - mov r9, r4 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ + mov sl, r4 │ │ │ │ │ + vldr d14, [pc, #48] @ 70 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ str r2, [sp, #332] @ 0x14c │ │ │ │ │ - negs r2, r2 │ │ │ │ │ + rsb r2, r2, #0 │ │ │ │ │ str r2, [sp, #336] @ 0x150 │ │ │ │ │ - ldr r2, [pc, #36] @ (5c ) │ │ │ │ │ - mov sl, r5 │ │ │ │ │ - vmov.f64 d12, #96 @ 0x3f000000 0.5 │ │ │ │ │ + ldr r2, [pc, #44] @ (7c ) │ │ │ │ │ ldr r3, [r3, r2] │ │ │ │ │ - ldr r2, [sp, #456] @ 0x1c8 │ │ │ │ │ - str r0, [sp, #4] │ │ │ │ │ + str.w r9, [sp, #4] │ │ │ │ │ + mov r9, r0 │ │ │ │ │ + ldr r2, [sp, #448] @ 0x1c0 │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ str r3, [sp, #340] @ 0x154 │ │ │ │ │ - ldr r3, [sp, #448] @ 0x1c0 │ │ │ │ │ - mla r8, r1, r2, r3 │ │ │ │ │ - b.n 60 │ │ │ │ │ + ldr r3, [sp, #456] @ 0x1c8 │ │ │ │ │ + rsb r3, r3, r3, lsl #4 │ │ │ │ │ + add.w r8, r2, r3, lsl #4 │ │ │ │ │ + b.n 80 │ │ │ │ │ + nop │ │ │ │ │ + nop.w │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fc87de2 │ │ │ │ │ - .word 0x0000003e │ │ │ │ │ + .word 0x00000048 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ mov.w r3, sl, lsl #5 │ │ │ │ │ ldr r7, [sp, #4] │ │ │ │ │ add.w r2, ip, r3 │ │ │ │ │ - add.w r0, r9, r3 │ │ │ │ │ - adds r4, r7, r3 │ │ │ │ │ - add.w r5, lr, r3 │ │ │ │ │ + add.w r1, r9, r3 │ │ │ │ │ vldr d3, [r9] │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ + add.w r4, lr, r3 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + add.w r0, r7, r3 │ │ │ │ │ + str r2, [sp, #8] │ │ │ │ │ vldr d4, [r2] │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ + mov.w r2, sl, lsl #4 │ │ │ │ │ + str r0, [sp, #16] │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + add.w fp, r9, r2 │ │ │ │ │ + strd r1, r4, [sp, #24] │ │ │ │ │ + add.w r1, ip, r2 │ │ │ │ │ + add.w r6, fp, r3 │ │ │ │ │ vldr d2, [r7] │ │ │ │ │ + add.w r5, r1, r3 │ │ │ │ │ + str r1, [sp, #32] │ │ │ │ │ vsub.f64 d5, d4, d7 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + add.w r0, r7, r2 │ │ │ │ │ + add r2, lr │ │ │ │ │ vldr d9, [r8, #-120] @ 0xffffff88 │ │ │ │ │ + add.w r4, r2, r3 │ │ │ │ │ vldr d10, [r8, #-128] @ 0xffffff80 │ │ │ │ │ vadd.f64 d8, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [ip] │ │ │ │ │ - str r2, [sp, #8] │ │ │ │ │ - mov.w r2, sl, lsl #4 │ │ │ │ │ - add.w r1, ip, r2 │ │ │ │ │ - add.w fp, r9, r2 │ │ │ │ │ vsub.f64 d0, d6, d3 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ vldr d3, [lr] │ │ │ │ │ - adds r6, r1, r3 │ │ │ │ │ - str r0, [sp, #24] │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ - str r4, [sp, #16] │ │ │ │ │ vsub.f64 d1, d3, d2 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ vmul.f64 d2, d8, d9 │ │ │ │ │ - add.w r4, fp, r3 │ │ │ │ │ - str r5, [sp, #28] │ │ │ │ │ - adds r5, r2, r3 │ │ │ │ │ - str r1, [sp, #32] │ │ │ │ │ vnmls.f64 d2, d5, d10 │ │ │ │ │ vmul.f64 d5, d5, d9 │ │ │ │ │ vmla.f64 d5, d8, d10 │ │ │ │ │ vadd.f64 d9, d0, d2 │ │ │ │ │ vsub.f64 d8, d3, d5 │ │ │ │ │ vadd.f64 d5, d3, d5 │ │ │ │ │ vsub.f64 d3, d0, d2 │ │ │ │ │ vldr d2, [r8, #-240] @ 0xffffff10 │ │ │ │ │ - vstr d9, [sp, #288] @ 0x120 │ │ │ │ │ vstr d5, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d9, [sp, #288] @ 0x120 │ │ │ │ │ vstr d3, [sp, #304] @ 0x130 │ │ │ │ │ vldr d3, [r8, #-232] @ 0xffffff18 │ │ │ │ │ - vldr d9, [fp] │ │ │ │ │ vstr d8, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d9, [fp] │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ - vmla.f64 d6, d1, d3 │ │ │ │ │ vnmls.f64 d5, d1, d2 │ │ │ │ │ - vldr d1, [r8, #-104] @ 0xffffff98 │ │ │ │ │ + vmla.f64 d6, d1, d3 │ │ │ │ │ vldr d2, [r8, #-112] @ 0xffffff90 │ │ │ │ │ + vldr d1, [r8, #-104] @ 0xffffff98 │ │ │ │ │ vmul.f64 d3, d4, d1 │ │ │ │ │ vmla.f64 d3, d7, d2 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vnmls.f64 d7, d4, d2 │ │ │ │ │ - vsub.f64 d4, d5, d3 │ │ │ │ │ vadd.f64 d0, d5, d3 │ │ │ │ │ + vsub.f64 d4, d5, d3 │ │ │ │ │ vsub.f64 d2, d6, d7 │ │ │ │ │ vadd.f64 d1, d6, d7 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ vstr d4, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ vsub.f64 d4, d6, d9 │ │ │ │ │ vadd.f64 d9, d6, d9 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ vstr d2, [sp, #120] @ 0x78 │ │ │ │ │ vstr d1, [sp, #128] @ 0x80 │ │ │ │ │ vstr d0, [sp, #136] @ 0x88 │ │ │ │ │ + str r5, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d3, [r5] │ │ │ │ │ + add.w r5, r0, r3 │ │ │ │ │ vadd.f64 d1, d6, d7 │ │ │ │ │ - str r6, [sp, #48] @ 0x30 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d3, [r6] │ │ │ │ │ - adds r6, r0, r3 │ │ │ │ │ - vldr d10, [r4] │ │ │ │ │ + str r0, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d10, [r6] │ │ │ │ │ + strd r2, r6, [sp, #56] @ 0x38 │ │ │ │ │ + mov.w r2, sl, lsl #3 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + str r5, [sp, #64] @ 0x40 │ │ │ │ │ + add.w r5, r9, r2 │ │ │ │ │ + add.w r6, lr, r2 │ │ │ │ │ vldr d8, [r8, #-184] @ 0xffffff48 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ + add.w r0, r7, r2 │ │ │ │ │ + str r4, [sp, #68] @ 0x44 │ │ │ │ │ vsub.f64 d5, d3, d10 │ │ │ │ │ vadd.f64 d10, d3, d10 │ │ │ │ │ - vldr d3, [r5] │ │ │ │ │ + vldr d3, [r4] │ │ │ │ │ + add.w r4, ip, r2 │ │ │ │ │ + sub.w r2, r2, sl │ │ │ │ │ + add.w r1, r4, r3 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ vmul.f64 d2, d1, d8 │ │ │ │ │ - str r2, [sp, #56] @ 0x38 │ │ │ │ │ - mov.w r2, sl, lsl #3 │ │ │ │ │ - str r6, [sp, #64] @ 0x40 │ │ │ │ │ - add.w r6, r9, r2 │ │ │ │ │ + str r1, [sp, #72] @ 0x48 │ │ │ │ │ vadd.f64 d0, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ vldr d3, [r8, #-192] @ 0xffffff40 │ │ │ │ │ - str r5, [sp, #68] @ 0x44 │ │ │ │ │ - add.w r5, ip, r2 │ │ │ │ │ - str r4, [sp, #60] @ 0x3c │ │ │ │ │ - adds r4, r7, r2 │ │ │ │ │ vnmls.f64 d2, d4, d3 │ │ │ │ │ vmul.f64 d4, d4, d8 │ │ │ │ │ vldr d8, [r8, #-56] @ 0xffffffc8 │ │ │ │ │ vmla.f64 d4, d1, d3 │ │ │ │ │ vldr d1, [r8, #-64] @ 0xffffffc0 │ │ │ │ │ - add r2, lr │ │ │ │ │ - str r0, [sp, #40] @ 0x28 │ │ │ │ │ - adds r0, r6, r3 │ │ │ │ │ vmul.f64 d3, d0, d8 │ │ │ │ │ - adds r1, r5, r3 │ │ │ │ │ - str r0, [sp, #76] @ 0x4c │ │ │ │ │ - movs r7, #56 @ 0x38 │ │ │ │ │ - str r1, [sp, #72] @ 0x48 │ │ │ │ │ vnmls.f64 d3, d5, d1 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ vmla.f64 d5, d0, d1 │ │ │ │ │ vadd.f64 d11, d2, d3 │ │ │ │ │ vsub.f64 d13, d2, d3 │ │ │ │ │ vldr d3, [r8, #-168] @ 0xffffff58 │ │ │ │ │ - vadd.f64 d15, d4, d5 │ │ │ │ │ vldr d2, [r8, #-40] @ 0xffffffd8 │ │ │ │ │ + vadd.f64 d15, d4, d5 │ │ │ │ │ vstr d11, [sp, #144] @ 0x90 │ │ │ │ │ vsub.f64 d11, d4, d5 │ │ │ │ │ - vldr d4, [r8, #-176] @ 0xffffff50 │ │ │ │ │ vmul.f64 d5, d9, d3 │ │ │ │ │ - vstr d13, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d4, [r8, #-176] @ 0xffffff50 │ │ │ │ │ vstr d15, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d13, [sp, #312] @ 0x138 │ │ │ │ │ vmla.f64 d5, d6, d4 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ vldr d3, [r8, #-48] @ 0xffffffd0 │ │ │ │ │ vnmls.f64 d6, d9, d4 │ │ │ │ │ vmul.f64 d4, d10, d2 │ │ │ │ │ vmla.f64 d4, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ - vldr d9, [r0] │ │ │ │ │ - adds r0, r4, r3 │ │ │ │ │ - add r3, r2 │ │ │ │ │ vnmls.f64 d7, d10, d3 │ │ │ │ │ vldr d3, [r1] │ │ │ │ │ + add.w r1, r5, r3 │ │ │ │ │ + vldr d9, [r1] │ │ │ │ │ + str r1, [sp, #76] @ 0x4c │ │ │ │ │ + add.w r1, r0, r3 │ │ │ │ │ + add r3, r6 │ │ │ │ │ vadd.f64 d10, d5, d4 │ │ │ │ │ vsub.f64 d8, d4, d5 │ │ │ │ │ vsub.f64 d5, d3, d9 │ │ │ │ │ vadd.f64 d9, d3, d9 │ │ │ │ │ vadd.f64 d13, d6, d7 │ │ │ │ │ vsub.f64 d15, d6, d7 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ vstr d10, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - vldr d10, [r6] │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ + vldr d10, [r5] │ │ │ │ │ vstr d8, [sp, #168] @ 0xa8 │ │ │ │ │ - vsub.f64 d4, d6, d10 │ │ │ │ │ - vadd.f64 d10, d6, d10 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ vstr d13, [sp, #176] @ 0xb0 │ │ │ │ │ vstr d15, [sp, #184] @ 0xb8 │ │ │ │ │ - vadd.f64 d1, d6, d7 │ │ │ │ │ - str r0, [sp, #80] @ 0x50 │ │ │ │ │ + vsub.f64 d4, d6, d10 │ │ │ │ │ + vadd.f64 d10, d6, d10 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + str r1, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ vldr d0, [r8, #-216] @ 0xffffff28 │ │ │ │ │ + vadd.f64 d1, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - mul.w r0, r7, sl │ │ │ │ │ - vmul.f64 d8, d1, d0 │ │ │ │ │ - ldr r7, [sp, #4] │ │ │ │ │ - add.w r1, ip, r0 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + add.w r1, ip, r2 │ │ │ │ │ str r1, [sp, #84] @ 0x54 │ │ │ │ │ vadd.f64 d3, d7, d2 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ vldr d2, [r8, #-224] @ 0xffffff20 │ │ │ │ │ - add r7, r0 │ │ │ │ │ - str r7, [sp, #92] @ 0x5c │ │ │ │ │ + vmul.f64 d8, d1, d0 │ │ │ │ │ vnmls.f64 d8, d4, d2 │ │ │ │ │ vmul.f64 d4, d4, d0 │ │ │ │ │ vldr d0, [r8, #-88] @ 0xffffffa8 │ │ │ │ │ vmla.f64 d4, d1, d2 │ │ │ │ │ vldr d1, [r8, #-96] @ 0xffffffa0 │ │ │ │ │ vmul.f64 d2, d3, d0 │ │ │ │ │ vnmls.f64 d2, d5, d1 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ vmla.f64 d5, d3, d1 │ │ │ │ │ vadd.f64 d0, d8, d2 │ │ │ │ │ vsub.f64 d15, d8, d2 │ │ │ │ │ + vldr d2, [r8, #-72] @ 0xffffffb8 │ │ │ │ │ vsub.f64 d3, d4, d5 │ │ │ │ │ vadd.f64 d13, d4, d5 │ │ │ │ │ vldr d4, [r8, #-208] @ 0xffffff30 │ │ │ │ │ - vldr d2, [r8, #-72] @ 0xffffffb8 │ │ │ │ │ vstr d0, [sp, #192] @ 0xc0 │ │ │ │ │ + vstr d13, [sp, #200] @ 0xc8 │ │ │ │ │ vstr d3, [sp, #320] @ 0x140 │ │ │ │ │ vldr d3, [r8, #-200] @ 0xffffff38 │ │ │ │ │ - vstr d13, [sp, #200] @ 0xc8 │ │ │ │ │ vstr d15, [sp, #208] @ 0xd0 │ │ │ │ │ vmul.f64 d5, d10, d3 │ │ │ │ │ vmla.f64 d5, d6, d4 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ vldr d3, [r8, #-80] @ 0xffffffb0 │ │ │ │ │ vnmls.f64 d6, d10, d4 │ │ │ │ │ vmul.f64 d4, d9, d2 │ │ │ │ │ @@ -243,96 +245,100 @@ │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ vnmls.f64 d7, d9, d3 │ │ │ │ │ vadd.f64 d10, d5, d4 │ │ │ │ │ vsub.f64 d1, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vstr d10, [sp, #216] @ 0xd8 │ │ │ │ │ vsub.f64 d7, d4, d5 │ │ │ │ │ + vstr d1, [sp, #224] @ 0xe0 │ │ │ │ │ vstr d6, [sp, #232] @ 0xe8 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ - add.w r1, r9, r0 │ │ │ │ │ - str r1, [sp, #88] @ 0x58 │ │ │ │ │ - add r0, lr │ │ │ │ │ - vstr d7, [sp, #240] @ 0xf0 │ │ │ │ │ + add.w r1, r9, r2 │ │ │ │ │ + mov r7, r1 │ │ │ │ │ vldr d10, [r1] │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - vstr d1, [sp, #224] @ 0xe0 │ │ │ │ │ - vsub.f64 d4, d6, d10 │ │ │ │ │ + add.w r1, sl, sl, lsl #1 │ │ │ │ │ + str r7, [sp, #88] @ 0x58 │ │ │ │ │ + ldr r7, [sp, #4] │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + vstr d7, [sp, #240] @ 0xf0 │ │ │ │ │ + vsub.f64 d5, d6, d10 │ │ │ │ │ vadd.f64 d10, d6, d10 │ │ │ │ │ + add r7, r2 │ │ │ │ │ + add r2, lr │ │ │ │ │ vldr d6, [r7] │ │ │ │ │ - movs r7, #24 │ │ │ │ │ - mul.w r1, r7, sl │ │ │ │ │ - vadd.f64 d1, d6, d7 │ │ │ │ │ - vsub.f64 d6, d6, d7 │ │ │ │ │ + str r7, [sp, #92] @ 0x5c │ │ │ │ │ add.w r7, ip, r1 │ │ │ │ │ + vldr d9, [r2] │ │ │ │ │ str r7, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d3, [r7] │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ add.w r7, r9, r1 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ str r7, [sp, #100] @ 0x64 │ │ │ │ │ - vldr d9, [r7] │ │ │ │ │ ldr r7, [sp, #4] │ │ │ │ │ + vadd.f64 d1, d6, d9 │ │ │ │ │ + vsub.f64 d9, d6, d9 │ │ │ │ │ + vsub.f64 d6, d4, d7 │ │ │ │ │ + vadd.f64 d4, d4, d7 │ │ │ │ │ add r7, r1 │ │ │ │ │ add r1, lr │ │ │ │ │ str r7, [sp, #328] @ 0x148 │ │ │ │ │ - vsub.f64 d5, d3, d9 │ │ │ │ │ - vadd.f64 d9, d3, d9 │ │ │ │ │ vldr d7, [r7] │ │ │ │ │ - vldr d8, [r8, #-24] @ 0xffffffe8 │ │ │ │ │ vldr d3, [r1] │ │ │ │ │ + vldr d8, [r8, #-24] @ 0xffffffe8 │ │ │ │ │ ldr r7, [sp, #4] │ │ │ │ │ - vmul.f64 d2, d1, d8 │ │ │ │ │ vadd.f64 d0, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ vldr d3, [r8, #-32] @ 0xffffffe0 │ │ │ │ │ - vnmls.f64 d2, d4, d3 │ │ │ │ │ - vmul.f64 d4, d4, d8 │ │ │ │ │ + vmul.f64 d2, d1, d8 │ │ │ │ │ + vnmls.f64 d2, d5, d3 │ │ │ │ │ + vmul.f64 d5, d5, d8 │ │ │ │ │ vldr d8, [r8, #-152] @ 0xffffff68 │ │ │ │ │ - vmla.f64 d4, d1, d3 │ │ │ │ │ + vmla.f64 d5, d1, d3 │ │ │ │ │ vldr d1, [r8, #-160] @ 0xffffff60 │ │ │ │ │ vmul.f64 d3, d0, d8 │ │ │ │ │ - vnmls.f64 d3, d5, d1 │ │ │ │ │ - vmul.f64 d5, d5, d8 │ │ │ │ │ - vmla.f64 d5, d0, d1 │ │ │ │ │ + vnmls.f64 d3, d6, d1 │ │ │ │ │ + vmul.f64 d6, d6, d8 │ │ │ │ │ + vmla.f64 d6, d0, d1 │ │ │ │ │ vldr d1, [sp, #128] @ 0x80 │ │ │ │ │ vldr d0, [sp, #160] @ 0xa0 │ │ │ │ │ vadd.f64 d8, d2, d3 │ │ │ │ │ vsub.f64 d3, d2, d3 │ │ │ │ │ - vadd.f64 d13, d4, d5 │ │ │ │ │ - vsub.f64 d4, d4, d5 │ │ │ │ │ vldr d2, [r8, #-136] @ 0xffffff78 │ │ │ │ │ + vadd.f64 d13, d5, d6 │ │ │ │ │ + vsub.f64 d15, d5, d6 │ │ │ │ │ + vldr d5, [r8, #-16] │ │ │ │ │ + vstr d8, [sp, #248] @ 0xf8 │ │ │ │ │ vstr d3, [sp, #256] @ 0x100 │ │ │ │ │ vldr d3, [r8, #-8] │ │ │ │ │ - vstr d4, [sp, #264] @ 0x108 │ │ │ │ │ - vldr d4, [r8, #-16] │ │ │ │ │ - vmul.f64 d5, d10, d3 │ │ │ │ │ - vstr d8, [sp, #248] @ 0xf8 │ │ │ │ │ - vmla.f64 d5, d6, d4 │ │ │ │ │ - vmul.f64 d6, d6, d3 │ │ │ │ │ + vstr d15, [sp, #264] @ 0x108 │ │ │ │ │ + vmul.f64 d6, d10, d3 │ │ │ │ │ + vmla.f64 d6, d9, d5 │ │ │ │ │ + vmul.f64 d9, d9, d3 │ │ │ │ │ vldr d3, [r8, #-144] @ 0xffffff70 │ │ │ │ │ add.w r8, r8, #240 @ 0xf0 │ │ │ │ │ - vnmls.f64 d6, d10, d4 │ │ │ │ │ - vmul.f64 d4, d9, d2 │ │ │ │ │ - vmla.f64 d4, d7, d3 │ │ │ │ │ + vnmls.f64 d9, d10, d5 │ │ │ │ │ + vmul.f64 d5, d4, d2 │ │ │ │ │ + vmla.f64 d5, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ vldr d2, [sp, #216] @ 0xd8 │ │ │ │ │ - vnmls.f64 d7, d9, d3 │ │ │ │ │ - vldr d3, [sp, #144] @ 0x90 │ │ │ │ │ - vadd.f64 d9, d5, d4 │ │ │ │ │ - vsub.f64 d15, d4, d5 │ │ │ │ │ + vnmls.f64 d7, d4, d3 │ │ │ │ │ vldr d4, [sp, #112] @ 0x70 │ │ │ │ │ - vadd.f64 d10, d6, d7 │ │ │ │ │ - vsub.f64 d7, d6, d7 │ │ │ │ │ - vstr d9, [sp, #272] @ 0x110 │ │ │ │ │ - vldr d9, [sp, #288] @ 0x120 │ │ │ │ │ - vldr d5, [sp, #272] @ 0x110 │ │ │ │ │ - vstr d7, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d3, [sp, #144] @ 0x90 │ │ │ │ │ + vadd.f64 d10, d6, d5 │ │ │ │ │ + vsub.f64 d15, d5, d6 │ │ │ │ │ + vstr d10, [sp, #272] @ 0x110 │ │ │ │ │ + vadd.f64 d10, d9, d7 │ │ │ │ │ + vsub.f64 d9, d9, d7 │ │ │ │ │ vldr d7, [sp, #192] @ 0xc0 │ │ │ │ │ + vldr d5, [sp, #272] @ 0x110 │ │ │ │ │ + vstr d9, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d9, [sp, #288] @ 0x120 │ │ │ │ │ + vadd.f64 d6, d7, d8 │ │ │ │ │ vadd.f64 d5, d2, d5 │ │ │ │ │ vldr d2, [sp, #152] @ 0x98 │ │ │ │ │ - vadd.f64 d6, d7, d8 │ │ │ │ │ vadd.f64 d7, d9, d3 │ │ │ │ │ vadd.f64 d8, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [sp, #232] @ 0xe8 │ │ │ │ │ vadd.f64 d3, d6, d10 │ │ │ │ │ vldr d6, [sp, #176] @ 0xb0 │ │ │ │ │ vadd.f64 d6, d1, d6 │ │ │ │ │ @@ -355,134 +361,134 @@ │ │ │ │ │ vadd.f64 d2, d3, d5 │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ vmul.f64 d2, d2, d12 │ │ │ │ │ vmul.f64 d5, d5, d12 │ │ │ │ │ vstr d2, [r7] │ │ │ │ │ ldr r7, [sp, #88] @ 0x58 │ │ │ │ │ vstr d4, [r7] │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ vsub.f64 d5, d0, d6 │ │ │ │ │ vadd.f64 d6, d6, d0 │ │ │ │ │ + ldr r2, [sp, #16] │ │ │ │ │ ldr r7, [sp, #100] @ 0x64 │ │ │ │ │ - vldr d3, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d2, [sp, #152] @ 0x98 │ │ │ │ │ - vmul.f64 d5, d5, d12 │ │ │ │ │ vldr d4, [sp, #112] @ 0x70 │ │ │ │ │ + vmul.f64 d5, d5, d12 │ │ │ │ │ vmul.f64 d6, d6, d12 │ │ │ │ │ - ldr r0, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d3, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d2, [sp, #152] @ 0x98 │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ vsub.f64 d5, d1, d7 │ │ │ │ │ - ldr r1, [sp, #16] │ │ │ │ │ vadd.f64 d7, d7, d1 │ │ │ │ │ + ldr r1, [sp, #32] │ │ │ │ │ vmul.f64 d5, d5, d12 │ │ │ │ │ vmul.f64 d7, d7, d12 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ - ldr r1, [sp, #8] │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + ldr r2, [sp, #8] │ │ │ │ │ vldr d6, [sp, #200] @ 0xc8 │ │ │ │ │ vldr d5, [sp, #104] @ 0x68 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ - vsub.f64 d13, d13, d6 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d9, d3 │ │ │ │ │ + ldr r2, [sp, #76] @ 0x4c │ │ │ │ │ + vsub.f64 d13, d13, d6 │ │ │ │ │ vsub.f64 d6, d5, d2 │ │ │ │ │ - vldr d5, [sp, #232] @ 0xe8 │ │ │ │ │ vldr d2, [sp, #216] @ 0xd8 │ │ │ │ │ - ldr r1, [sp, #32] │ │ │ │ │ + vldr d5, [sp, #232] @ 0xe8 │ │ │ │ │ vadd.f64 d1, d13, d7 │ │ │ │ │ vsub.f64 d7, d7, d13 │ │ │ │ │ vldr d13, [sp, #248] @ 0xf8 │ │ │ │ │ vmul.f64 d9, d7, d12 │ │ │ │ │ vldr d7, [sp, #192] @ 0xc0 │ │ │ │ │ vmul.f64 d1, d1, d12 │ │ │ │ │ vsub.f64 d7, d7, d13 │ │ │ │ │ vsub.f64 d3, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vsub.f64 d7, d10, d5 │ │ │ │ │ - vldr d5, [sp, #272] @ 0x110 │ │ │ │ │ vldr d10, [sp, #160] @ 0xa0 │ │ │ │ │ - vsub.f64 d5, d2, d5 │ │ │ │ │ + vldr d5, [sp, #272] @ 0x110 │ │ │ │ │ vmul.f64 d6, d6, d12 │ │ │ │ │ vmul.f64 d3, d3, d12 │ │ │ │ │ + vsub.f64 d5, d2, d5 │ │ │ │ │ vadd.f64 d0, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vadd.f64 d5, d4, d10 │ │ │ │ │ vldr d4, [sp, #128] @ 0x80 │ │ │ │ │ vldr d10, [sp, #176] @ 0xb0 │ │ │ │ │ vsub.f64 d2, d4, d10 │ │ │ │ │ - vldr d10, [pc, #708] @ 878 │ │ │ │ │ + vldr d10, [pc, #732] @ 8c8 │ │ │ │ │ vsub.f64 d4, d5, d2 │ │ │ │ │ vadd.f64 d5, d5, d2 │ │ │ │ │ vadd.f64 d2, d0, d4 │ │ │ │ │ vsub.f64 d4, d4, d0 │ │ │ │ │ vmul.f64 d2, d2, d10 │ │ │ │ │ vmul.f64 d4, d4, d10 │ │ │ │ │ vadd.f64 d8, d1, d2 │ │ │ │ │ vsub.f64 d2, d2, d1 │ │ │ │ │ vstr d8, [r1] │ │ │ │ │ - ldr r1, [sp, #76] @ 0x4c │ │ │ │ │ - vstr d2, [r1] │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ vadd.f64 d2, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - ldr r1, [sp, #64] @ 0x40 │ │ │ │ │ vmul.f64 d2, d2, d10 │ │ │ │ │ vmul.f64 d7, d7, d10 │ │ │ │ │ vsub.f64 d1, d6, d2 │ │ │ │ │ vadd.f64 d6, d6, d2 │ │ │ │ │ vstr d1, [r3] │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ + ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ vsub.f64 d6, d3, d4 │ │ │ │ │ - ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ vadd.f64 d3, d3, d4 │ │ │ │ │ + ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ vmov.f64 d4, d10 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ vadd.f64 d6, d9, d7 │ │ │ │ │ vsub.f64 d7, d7, d9 │ │ │ │ │ - vstr d3, [r1] │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ + ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ - vldr d5, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d0, [sp, #320] @ 0x140 │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ vldr d9, [sp, #208] @ 0xd0 │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ + vldr d5, [sp, #312] @ 0x138 │ │ │ │ │ vldr d7, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d0, [sp, #320] @ 0x140 │ │ │ │ │ + ldr r6, [sp, #60] @ 0x3c │ │ │ │ │ vldr d3, [sp, #256] @ 0x100 │ │ │ │ │ - vldr d6, [sp, #304] @ 0x130 │ │ │ │ │ vsub.f64 d10, d7, d5 │ │ │ │ │ vadd.f64 d2, d7, d5 │ │ │ │ │ vsub.f64 d5, d9, d0 │ │ │ │ │ + vldr d6, [sp, #304] @ 0x130 │ │ │ │ │ vldr d9, [sp, #264] @ 0x108 │ │ │ │ │ vldr d8, [sp, #168] @ 0xa8 │ │ │ │ │ - vsub.f64 d13, d6, d11 │ │ │ │ │ + vmul.f64 d2, d2, d12 │ │ │ │ │ + vmul.f64 d10, d10, d12 │ │ │ │ │ vldr d1, [sp, #184] @ 0xb8 │ │ │ │ │ + vsub.f64 d13, d6, d11 │ │ │ │ │ vadd.f64 d11, d6, d11 │ │ │ │ │ vadd.f64 d7, d3, d9 │ │ │ │ │ vldr d6, [sp, #136] @ 0x88 │ │ │ │ │ vmov.f64 d3, d4 │ │ │ │ │ - ldr r3, [sp, #60] @ 0x3c │ │ │ │ │ vmul.f64 d13, d13, d12 │ │ │ │ │ - vmul.f64 d2, d2, d12 │ │ │ │ │ - vadd.f64 d6, d6, d1 │ │ │ │ │ - vldr d1, [pc, #516] @ 880 │ │ │ │ │ + vmul.f64 d11, d11, d12 │ │ │ │ │ vadd.f64 d9, d5, d7 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ vldr d7, [sp, #120] @ 0x78 │ │ │ │ │ - vmul.f64 d11, d11, d12 │ │ │ │ │ - vmul.f64 d10, d10, d12 │ │ │ │ │ + vadd.f64 d6, d6, d1 │ │ │ │ │ + vldr d1, [pc, #520] @ 8d0 │ │ │ │ │ vsub.f64 d7, d7, d8 │ │ │ │ │ vmul.f64 d5, d5, d4 │ │ │ │ │ vmul.f64 d9, d9, d4 │ │ │ │ │ vmul.f64 d4, d7, d1 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ - vmla.f64 d7, d6, d1 │ │ │ │ │ vnmls.f64 d4, d6, d14 │ │ │ │ │ + vmla.f64 d7, d6, d1 │ │ │ │ │ vldr d6, [sp, #208] @ 0xd0 │ │ │ │ │ - vstr d7, [sp, #40] @ 0x28 │ │ │ │ │ vstr d4, [sp, #32] │ │ │ │ │ vadd.f64 d4, d0, d6 │ │ │ │ │ - vldr d0, [sp, #264] @ 0x108 │ │ │ │ │ vldr d6, [sp, #256] @ 0x100 │ │ │ │ │ + vstr d7, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d0, [sp, #264] @ 0x108 │ │ │ │ │ vsub.f64 d6, d0, d6 │ │ │ │ │ vldr d0, [sp, #240] @ 0xf0 │ │ │ │ │ vadd.f64 d7, d4, d6 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vldr d4, [sp, #280] @ 0x118 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ @@ -494,128 +500,133 @@ │ │ │ │ │ vmul.f64 d4, d4, d14 │ │ │ │ │ vnmls.f64 d4, d3, d0 │ │ │ │ │ vmov.f64 d8, d1 │ │ │ │ │ vldr d1, [sp, #224] @ 0xe0 │ │ │ │ │ vmla.f64 d8, d3, d14 │ │ │ │ │ vldr d3, [sp, #240] @ 0xf0 │ │ │ │ │ vadd.f64 d15, d1, d15 │ │ │ │ │ - vstr d4, [sp, #16] │ │ │ │ │ vmul.f64 d1, d15, d14 │ │ │ │ │ - vldr d4, [sp, #280] @ 0x118 │ │ │ │ │ vmul.f64 d15, d15, d0 │ │ │ │ │ + vstr d4, [sp, #16] │ │ │ │ │ + vldr d4, [sp, #280] @ 0x118 │ │ │ │ │ vstr d8, [sp, #8] │ │ │ │ │ vsub.f64 d3, d4, d3 │ │ │ │ │ vldr d4, [sp, #168] @ 0xa8 │ │ │ │ │ vmla.f64 d1, d3, d0 │ │ │ │ │ vnmls.f64 d15, d3, d14 │ │ │ │ │ vldr d3, [sp, #136] @ 0x88 │ │ │ │ │ vstr d1, [sp, #48] @ 0x30 │ │ │ │ │ vldr d1, [sp, #184] @ 0xb8 │ │ │ │ │ vsub.f64 d1, d3, d1 │ │ │ │ │ vldr d3, [sp, #120] @ 0x78 │ │ │ │ │ vadd.f64 d4, d3, d4 │ │ │ │ │ vmul.f64 d3, d4, d14 │ │ │ │ │ vmul.f64 d4, d4, d0 │ │ │ │ │ - vmla.f64 d4, d1, d14 │ │ │ │ │ vnmls.f64 d3, d1, d0 │ │ │ │ │ + vmla.f64 d4, d1, d14 │ │ │ │ │ vadd.f64 d0, d13, d9 │ │ │ │ │ vsub.f64 d9, d13, d9 │ │ │ │ │ vadd.f64 d1, d8, d3 │ │ │ │ │ vadd.f64 d8, d0, d1 │ │ │ │ │ vsub.f64 d1, d1, d0 │ │ │ │ │ - vstr d8, [r5] │ │ │ │ │ - vstr d1, [r3] │ │ │ │ │ + vstr d8, [r4] │ │ │ │ │ + vstr d1, [r6] │ │ │ │ │ vadd.f64 d1, d2, d7 │ │ │ │ │ - vldr d0, [sp, #16] │ │ │ │ │ vsub.f64 d7, d2, d7 │ │ │ │ │ + vldr d0, [sp, #16] │ │ │ │ │ + ldrd r1, r4, [sp, #24] │ │ │ │ │ ldr r3, [sp, #68] @ 0x44 │ │ │ │ │ - ldr r2, [sp, #56] @ 0x38 │ │ │ │ │ vadd.f64 d0, d0, d4 │ │ │ │ │ - ldr r1, [sp, #72] @ 0x48 │ │ │ │ │ - ldr r0, [sp, #24] │ │ │ │ │ - ldr r5, [sp, #28] │ │ │ │ │ + ldr r2, [sp, #56] @ 0x38 │ │ │ │ │ ldr r7, [sp, #92] @ 0x5c │ │ │ │ │ vsub.f64 d8, d1, d0 │ │ │ │ │ vadd.f64 d1, d1, d0 │ │ │ │ │ vldr d0, [sp, #16] │ │ │ │ │ vstr d8, [r3] │ │ │ │ │ vsub.f64 d4, d0, d4 │ │ │ │ │ vldr d8, [sp, #8] │ │ │ │ │ - ldr r3, [sp, #80] @ 0x50 │ │ │ │ │ - vstr d1, [r4] │ │ │ │ │ - vsub.f64 d3, d3, d8 │ │ │ │ │ - vldr d0, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d1, [r0] │ │ │ │ │ vldr d1, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d0, [sp, #48] @ 0x30 │ │ │ │ │ + vsub.f64 d3, d3, d8 │ │ │ │ │ + ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ vsub.f64 d2, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ vadd.f64 d3, d9, d4 │ │ │ │ │ vsub.f64 d4, d4, d9 │ │ │ │ │ vstr d2, [r2] │ │ │ │ │ vldr d2, [sp, #32] │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - vstr d3, [r1] │ │ │ │ │ + ldr r2, [sp, #80] @ 0x50 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vadd.f64 d7, d2, d0 │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ vstr d4, [fp] │ │ │ │ │ vadd.f64 d4, d11, d6 │ │ │ │ │ - ldr r3, [sp, #96] @ 0x60 │ │ │ │ │ vsub.f64 d11, d11, d6 │ │ │ │ │ - ldr r1, [sp, #84] @ 0x54 │ │ │ │ │ + ldr r3, [sp, #96] @ 0x60 │ │ │ │ │ vadd.f64 d3, d4, d7 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ vadd.f64 d4, d1, d15 │ │ │ │ │ vsub.f64 d15, d15, d1 │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ vadd.f64 d7, d10, d5 │ │ │ │ │ - ldr r3, [sp, #328] @ 0x148 │ │ │ │ │ vsub.f64 d10, d10, d5 │ │ │ │ │ + ldr r1, [sp, #84] @ 0x54 │ │ │ │ │ + ldr r3, [sp, #328] @ 0x148 │ │ │ │ │ vsub.f64 d3, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vstr d3, [r5] │ │ │ │ │ + vstr d3, [r4] │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d2, d0 │ │ │ │ │ ldr r3, [sp, #456] @ 0x1c8 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #456] @ 0x1c8 │ │ │ │ │ vsub.f64 d5, d10, d7 │ │ │ │ │ vadd.f64 d10, d10, d7 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ vadd.f64 d7, d11, d15 │ │ │ │ │ vsub.f64 d15, d15, d11 │ │ │ │ │ + str r3, [sp, #456] @ 0x1c8 │ │ │ │ │ vstr d5, [lr] │ │ │ │ │ vstr d10, [r7] │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ vstr d15, [r9] │ │ │ │ │ ldr r3, [sp, #332] @ 0x14c │ │ │ │ │ ldr r7, [sp, #4] │ │ │ │ │ + ldr r2, [sp, #456] @ 0x1c8 │ │ │ │ │ add ip, r3 │ │ │ │ │ add r7, r3 │ │ │ │ │ ldr r3, [sp, #336] @ 0x150 │ │ │ │ │ str r7, [sp, #4] │ │ │ │ │ add lr, r3 │ │ │ │ │ add r9, r3 │ │ │ │ │ ldr r3, [sp, #340] @ 0x154 │ │ │ │ │ eor.w sl, sl, r3 │ │ │ │ │ - ldrd r2, r3, [sp, #456] @ 0x1c8 │ │ │ │ │ + ldr r3, [sp, #460] @ 0x1cc │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 60 │ │ │ │ │ + bne.w 80 │ │ │ │ │ add sp, #348 @ 0x15c │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fd6a09e │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fdd906b │ │ │ │ │ │ │ │ │ │ -00000888 : │ │ │ │ │ +000008d8 : │ │ │ │ │ fftw_codelet_hc2cfdft_16(): │ │ │ │ │ - ldr r2, [pc, #12] @ (898 ) │ │ │ │ │ - movs r3, #1 │ │ │ │ │ - ldr r1, [pc, #12] @ (89c ) │ │ │ │ │ + ldr r2, [pc, #12] @ (8e8 ) │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + ldr r1, [pc, #12] @ (8ec ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2c_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + .word 0x00000006 │ │ │ │ │ R_ARM_REL32 hc2cfdft_16 │ │ │ ├── hc2cfdft_2.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 992 (bytes into file) │ │ │ │ │ + Start of section headers: 1032 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x3e0: │ │ │ │ │ +There are 14 section headers, starting at offset 0x408: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000144 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000338 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000178 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000178 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000178 00000b 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000183 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 00018b 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000350 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 0001bb 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0001bb 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 0001f0 0000f0 10 12 12 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 0002e0 000056 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000368 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00016c 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000360 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0001a0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0001a0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0001a0 00000b 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 0001ab 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0001b3 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000378 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 0001e3 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0001e3 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000218 0000f0 10 12 12 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000308 000056 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000390 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,18 +1,18 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 15 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 298 FUNC LOCAL DEFAULT 1 hc2cfdft_2 │ │ │ │ │ + 1: 00000001 340 FUNC LOCAL DEFAULT 1 hc2cfdft_2 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 0000013c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000164 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 4: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 8: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 9: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 10: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 11: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 12: 0000012d 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cfdft_2 │ │ │ │ │ + 12: 00000155 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cfdft_2 │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2c_register │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hc2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x338 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x360 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000013c 00000903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000140 00000103 R_ARM_REL32 00000001 hc2cfdft_2 │ │ │ │ │ -00000136 00000d1e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ +00000164 00000903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000168 00000103 R_ARM_REL32 00000001 hc2cfdft_2 │ │ │ │ │ +00000160 00000d1e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x350 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x378 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000402 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000602 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00000e02 R_ARM_ABS32 00000000 fftw_rdft_hc2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,39 +1,41 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hc2cfdft_2(): │ │ │ │ │ - push {r4, r5, r6, r7, lr} │ │ │ │ │ - ldr r7, [sp, #20] │ │ │ │ │ + str.w r4, [sp, #-20]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ ldrd r4, r6, [sp, #28] │ │ │ │ │ + strd r7, lr, [sp, #12] │ │ │ │ │ + ldr r7, [sp, #20] │ │ │ │ │ ldr r5, [sp, #36] @ 0x24 │ │ │ │ │ add.w ip, r4, #4294967295 @ 0xffffffff │ │ │ │ │ cmp r4, r6 │ │ │ │ │ add.w ip, r7, ip, lsl #4 │ │ │ │ │ - bge.n 9e │ │ │ │ │ + bge.n ac │ │ │ │ │ cmp r5, #1 │ │ │ │ │ - bne.n a0 │ │ │ │ │ - add.w ip, ip, #16 │ │ │ │ │ + bne.n ba │ │ │ │ │ vmov.f64 d3, #96 @ 0x3f000000 0.5 │ │ │ │ │ + add.w ip, ip, #16 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ mov r5, r3 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - subs r3, #8 │ │ │ │ │ - vldr d5, [ip, #-8] │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ cmp r6, r4 │ │ │ │ │ + sub.w r3, r3, #8 │ │ │ │ │ + vldr d4, [r3, #8] │ │ │ │ │ + add.w ip, ip, #16 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + vldr d1, [ip, #-32] @ 0xffffffe0 │ │ │ │ │ vsub.f64 d2, d7, d4 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - add.w ip, ip, #16 │ │ │ │ │ - vldr d1, [ip, #-32] @ 0xffffffe0 │ │ │ │ │ + vldr d5, [ip, #-24] @ 0xffffffe8 │ │ │ │ │ vsub.f64 d0, d6, d7 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vmul.f64 d6, d5, d4 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ vnmls.f64 d6, d1, d0 │ │ │ │ │ vmla.f64 d5, d1, d4 │ │ │ │ │ vadd.f64 d4, d6, d2 │ │ │ │ │ @@ -46,37 +48,40 @@ │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vstmia r0!, {d4} │ │ │ │ │ vstr d6, [r5] │ │ │ │ │ mov r5, r2 │ │ │ │ │ sub.w r2, r2, #8 │ │ │ │ │ vstr d7, [r5] │ │ │ │ │ - bne.n 22 │ │ │ │ │ - pop {r4, r5, r6, r7, pc} │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ + bne.n 2c │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ + vmov.f64 d4, #96 @ 0x3f000000 0.5 │ │ │ │ │ add.w ip, ip, #16 │ │ │ │ │ rsb lr, r5, #0 │ │ │ │ │ - vmov.f64 d4, #96 @ 0x3f000000 0.5 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ add.w ip, ip, #16 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ cmp r6, r4 │ │ │ │ │ - vldr d3, [ip, #-24] @ 0xffffffe8 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + vldr d0, [ip, #-32] @ 0xffffffe0 │ │ │ │ │ vsub.f64 d2, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ - vldr d0, [ip, #-32] @ 0xffffffe0 │ │ │ │ │ + vldr d3, [ip, #-24] @ 0xffffffe8 │ │ │ │ │ vsub.f64 d1, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vmul.f64 d5, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ - vmla.f64 d7, d1, d3 │ │ │ │ │ vnmls.f64 d5, d1, d0 │ │ │ │ │ + vmla.f64 d7, d1, d3 │ │ │ │ │ vadd.f64 d3, d2, d5 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ vmul.f64 d3, d3, d4 │ │ │ │ │ vmul.f64 d5, d5, d4 │ │ │ │ │ vstr d3, [r1] │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ @@ -85,25 +90,26 @@ │ │ │ │ │ vmul.f64 d6, d6, d4 │ │ │ │ │ vstr d3, [r0] │ │ │ │ │ add r0, r5 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ add r3, lr │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ add r2, lr │ │ │ │ │ - bne.n ae │ │ │ │ │ - pop {r4, r5, r6, r7, pc} │ │ │ │ │ - nop │ │ │ │ │ + bne.n ca │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -0000012c : │ │ │ │ │ +00000154 : │ │ │ │ │ fftw_codelet_hc2cfdft_2(): │ │ │ │ │ - ldr r2, [pc, #12] @ (13c ) │ │ │ │ │ - movs r3, #1 │ │ │ │ │ - ldr r1, [pc, #12] @ (140 ) │ │ │ │ │ + ldr r2, [pc, #12] @ (164 ) │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + ldr r1, [pc, #12] @ (168 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2c_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + .word 0x00000006 │ │ │ │ │ R_ARM_REL32 hc2cfdft_2 │ │ │ ├── hc2cfdft_20.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 3964 (bytes into file) │ │ │ │ │ + Start of section headers: 4020 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0xf7c: │ │ │ │ │ +There are 14 section headers, starting at offset 0xfb4: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000c38 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000ec4 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000c6c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000c6c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000c6c 00000c 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000c78 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 000c80 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000eec 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000cb0 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000cb0 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000ce4 000150 10 12 16 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000e34 00008f 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000f04 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000c70 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000efc 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000ca4 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000ca4 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000ca4 00000c 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000cb0 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000cb8 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000f24 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000ce8 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000ce8 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000d1c 000150 10 12 16 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000e6c 00008f 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000f3c 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 21 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 3104 FUNC LOCAL DEFAULT 1 hc2cfdft_20 │ │ │ │ │ + 1: 00000001 3158 FUNC LOCAL DEFAULT 1 hc2cfdft_20 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000060 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000078 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000b50 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000b58 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00000c30 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000070 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000080 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000a60 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000a78 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00000c68 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 13: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 14: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 15: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 18: 00000c21 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cfdft_20 │ │ │ │ │ + 18: 00000c59 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cfdft_20 │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2c_register │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hc2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xec4 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xefc contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000070 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000074 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000c30 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000c34 00000103 R_ARM_REL32 00000001 hc2cfdft_20 │ │ │ │ │ -00000c2a 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ +00000078 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000007c 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000c68 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000c6c 00000103 R_ARM_REL32 00000001 hc2cfdft_20 │ │ │ │ │ +00000c64 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xeec contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xf24 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000a02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001402 R_ARM_ABS32 00000000 fftw_rdft_hc2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,862 +1,860 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hc2cfdft_20(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov fp, r3 │ │ │ │ │ - mov r9, r1 │ │ │ │ │ - vpush {d8-d15} │ │ │ │ │ - sub sp, #452 @ 0x1c4 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r8, r0 │ │ │ │ │ mov.w r0, #304 @ 0x130 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov r9, r1 │ │ │ │ │ mov sl, r2 │ │ │ │ │ - ldr r2, [pc, #88] @ (70 ) │ │ │ │ │ - ldr r3, [sp, #560] @ 0x230 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + mov fp, r3 │ │ │ │ │ + vpush {d8-d15} │ │ │ │ │ + sub sp, #476 @ 0x1dc │ │ │ │ │ + ldrd r4, r3, [sp, #580] @ 0x244 │ │ │ │ │ + ldr r2, [pc, #76] @ (78 ) │ │ │ │ │ + add.w r1, r3, #4294967295 @ 0xffffffff │ │ │ │ │ + ldr r3, [sp, #576] @ 0x240 │ │ │ │ │ add r2, pc │ │ │ │ │ - ldr r4, [sp, #556] @ 0x22c │ │ │ │ │ - subs r1, r3, #1 │ │ │ │ │ - ldr r3, [sp, #552] @ 0x228 │ │ │ │ │ mla r7, r0, r1, r3 │ │ │ │ │ - ldrd r3, r1, [sp, #560] @ 0x230 │ │ │ │ │ + ldrd r3, r1, [sp, #584] @ 0x248 │ │ │ │ │ cmp r3, r1 │ │ │ │ │ - bge.w c16 │ │ │ │ │ - ldr r3, [sp, #568] @ 0x238 │ │ │ │ │ + bge.w c3a │ │ │ │ │ + ldr r3, [sp, #592] @ 0x250 │ │ │ │ │ + vmov.f64 d13, #96 @ 0x3f000000 0.5 │ │ │ │ │ mov lr, r8 │ │ │ │ │ - vldr d12, [pc, #40] @ 60 │ │ │ │ │ mov r8, r9 │ │ │ │ │ - vldr d11, [pc, #44] @ 68 │ │ │ │ │ mov r9, sl │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ - str r3, [sp, #436] @ 0x1b4 │ │ │ │ │ - negs r3, r3 │ │ │ │ │ - str r3, [sp, #440] @ 0x1b8 │ │ │ │ │ - ldr r3, [pc, #40] @ (74 ) │ │ │ │ │ + vldr d12, [pc, #32] @ 70 │ │ │ │ │ mov sl, fp │ │ │ │ │ mov fp, r4 │ │ │ │ │ - vmov.f64 d13, #96 @ 0x3f000000 0.5 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + str r3, [sp, #460] @ 0x1cc │ │ │ │ │ + rsb r3, r3, #0 │ │ │ │ │ + str r3, [sp, #464] @ 0x1d0 │ │ │ │ │ + ldr r3, [pc, #24] @ (7c ) │ │ │ │ │ ldr r3, [r2, r3] │ │ │ │ │ - str r7, [sp, #0] │ │ │ │ │ + str r7, [sp, #4] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - str r3, [sp, #444] @ 0x1bc │ │ │ │ │ - b.n 78 │ │ │ │ │ - nop.w │ │ │ │ │ + str r3, [sp, #468] @ 0x1d4 │ │ │ │ │ + b.n 80 │ │ │ │ │ + nop │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fde6f0e │ │ │ │ │ - .word 0x04755a5e │ │ │ │ │ - .word 0x3fd2cf23 │ │ │ │ │ - .word 0x00000052 │ │ │ │ │ + .word 0x00000042 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - ldr r5, [sp, #0] │ │ │ │ │ - mov.w r3, fp, lsl #4 │ │ │ │ │ vldr d4, [lr] │ │ │ │ │ - add.w r0, lr, r3 │ │ │ │ │ + mov.w r3, fp, lsl #4 │ │ │ │ │ vldr d6, [r9] │ │ │ │ │ + add.w r0, lr, r3 │ │ │ │ │ add.w r4, r9, r3 │ │ │ │ │ - vldr d2, [r8] │ │ │ │ │ add.w r2, r8, r3 │ │ │ │ │ - vldr d3, [sl] │ │ │ │ │ add.w r1, sl, r3 │ │ │ │ │ + ldr r7, [sp, #4] │ │ │ │ │ + strd r2, r1, [sp, #8] │ │ │ │ │ + vldr d2, [r8] │ │ │ │ │ + strd r0, r4, [sp, #16] │ │ │ │ │ + vldr d3, [sl] │ │ │ │ │ vsub.f64 d5, d4, d6 │ │ │ │ │ vadd.f64 d6, d4, d6 │ │ │ │ │ - vldr d4, [r5, #8] │ │ │ │ │ - movs r7, #40 @ 0x28 │ │ │ │ │ + vldr d4, [r7, #8] │ │ │ │ │ vadd.f64 d7, d2, d3 │ │ │ │ │ + vstr d6, [sp, #232] @ 0xe8 │ │ │ │ │ vsub.f64 d3, d2, d3 │ │ │ │ │ - vldr d2, [r2] │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ vmul.f64 d14, d5, d4 │ │ │ │ │ - vstr d6, [sp, #256] @ 0x100 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - vstr d3, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ + mov.w r2, fp, lsl #3 │ │ │ │ │ + vstr d3, [sp, #224] @ 0xe0 │ │ │ │ │ vnmls.f64 d14, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ - vmla.f64 d7, d5, d6 │ │ │ │ │ vldr d4, [r0] │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ + sub.w r1, r2, fp │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + vmla.f64 d7, d5, d6 │ │ │ │ │ vldr d5, [r4] │ │ │ │ │ + add.w r5, r8, r1 │ │ │ │ │ + add.w r6, sl, r1 │ │ │ │ │ + add.w r4, lr, r1 │ │ │ │ │ + add r1, r9 │ │ │ │ │ vsub.f64 d6, d2, d3 │ │ │ │ │ + strd r5, r6, [sp, #24] │ │ │ │ │ vadd.f64 d2, d2, d3 │ │ │ │ │ - vldr d15, [r5, #48] @ 0x30 │ │ │ │ │ - str r1, [sp, #12] │ │ │ │ │ - mov r1, r5 │ │ │ │ │ + strd r4, r1, [sp, #32] │ │ │ │ │ vsub.f64 d1, d4, d5 │ │ │ │ │ - str r2, [sp, #8] │ │ │ │ │ - str r4, [sp, #20] │ │ │ │ │ - vstr d2, [sp, #272] @ 0x110 │ │ │ │ │ - str r0, [sp, #16] │ │ │ │ │ vstr d7, [sp, #240] @ 0xf0 │ │ │ │ │ vadd.f64 d7, d4, d5 │ │ │ │ │ - vldr d5, [r5, #56] @ 0x38 │ │ │ │ │ - movs r5, #56 @ 0x38 │ │ │ │ │ - vstr d14, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d1, [sp, #280] @ 0x118 │ │ │ │ │ - vmul.f64 d3, d7, d5 │ │ │ │ │ - mul.w r2, r5, fp │ │ │ │ │ - add.w r5, r8, r2 │ │ │ │ │ - add.w r6, sl, r2 │ │ │ │ │ - add.w r4, lr, r2 │ │ │ │ │ - add r2, r9 │ │ │ │ │ - vnmls.f64 d3, d6, d15 │ │ │ │ │ - vmul.f64 d15, d7, d15 │ │ │ │ │ + vldr d4, [r7, #48] @ 0x30 │ │ │ │ │ + vstr d2, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d5, [r7, #56] @ 0x38 │ │ │ │ │ + vstr d1, [sp, #256] @ 0x100 │ │ │ │ │ vldr d2, [r5] │ │ │ │ │ - vmla.f64 d15, d6, d5 │ │ │ │ │ + vmul.f64 d3, d7, d5 │ │ │ │ │ + vmul.f64 d7, d7, d4 │ │ │ │ │ + vnmls.f64 d3, d6, d4 │ │ │ │ │ vldr d4, [r4] │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - str r5, [sp, #24] │ │ │ │ │ - str r6, [sp, #28] │ │ │ │ │ - vadd.f64 d7, d4, d5 │ │ │ │ │ - vsub.f64 d8, d4, d5 │ │ │ │ │ - str r4, [sp, #32] │ │ │ │ │ - mov r4, r1 │ │ │ │ │ + vmov.f64 d0, d7 │ │ │ │ │ + vmla.f64 d0, d6, d5 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + add.w r1, fp, fp, lsl #2 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + add.w r4, r9, r1 │ │ │ │ │ + add.w r5, sl, r1 │ │ │ │ │ vstr d3, [sp, #120] @ 0x78 │ │ │ │ │ + add.w r0, r8, r1 │ │ │ │ │ vldr d3, [r6] │ │ │ │ │ - str r2, [sp, #36] @ 0x24 │ │ │ │ │ - mul.w r2, r7, fp │ │ │ │ │ - mov r7, r4 │ │ │ │ │ - vadd.f64 d0, d2, d3 │ │ │ │ │ + vadd.f64 d7, d4, d5 │ │ │ │ │ + vsub.f64 d15, d4, d5 │ │ │ │ │ + add.w r6, lr, r1 │ │ │ │ │ + mov.w r1, fp, lsl #5 │ │ │ │ │ + vstr d0, [sp, #216] @ 0xd8 │ │ │ │ │ + vadd.f64 d8, d2, d3 │ │ │ │ │ vsub.f64 d6, d2, d3 │ │ │ │ │ - add.w r5, lr, r2 │ │ │ │ │ - add.w r6, r9, r2 │ │ │ │ │ - add.w r0, r8, r2 │ │ │ │ │ - vstr d0, [sp, #288] @ 0x120 │ │ │ │ │ - vldr d5, [r1, #216] @ 0xd8 │ │ │ │ │ - vldr d4, [r1, #208] @ 0xd0 │ │ │ │ │ - mov r1, r0 │ │ │ │ │ + vstr d8, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d5, [r7, #216] @ 0xd8 │ │ │ │ │ + str r0, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d15, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d15, [r7, #208] @ 0xd0 │ │ │ │ │ str r5, [sp, #44] @ 0x2c │ │ │ │ │ + vldr d2, [r0] │ │ │ │ │ + add.w r0, r8, r1 │ │ │ │ │ vmul.f64 d3, d7, d5 │ │ │ │ │ - vstr d8, [sp, #296] @ 0x128 │ │ │ │ │ - vmul.f64 d7, d7, d4 │ │ │ │ │ - str r6, [sp, #48] @ 0x30 │ │ │ │ │ - vmov.f64 d2, d3 │ │ │ │ │ - vmov.f64 d0, d7 │ │ │ │ │ - vmla.f64 d0, d6, d5 │ │ │ │ │ - vldr d5, [r6] │ │ │ │ │ - vnmls.f64 d2, d6, d4 │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ + strd r6, r4, [sp, #48] @ 0x30 │ │ │ │ │ + vmov.f64 d4, d3 │ │ │ │ │ + vldr d3, [r5] │ │ │ │ │ + add.w r5, lr, r1 │ │ │ │ │ + str r5, [sp, #64] @ 0x40 │ │ │ │ │ + vnmls.f64 d4, d6, d15 │ │ │ │ │ + vmul.f64 d15, d7, d15 │ │ │ │ │ + vsub.f64 d10, d2, d3 │ │ │ │ │ + vadd.f64 d7, d2, d3 │ │ │ │ │ + vldr d2, [r7, #128] @ 0x80 │ │ │ │ │ + vmla.f64 d15, d6, d5 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + add.w r4, sl, r2 │ │ │ │ │ + vstr d4, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ + add.w r6, sl, r1 │ │ │ │ │ + add r1, r9 │ │ │ │ │ + vstr d10, [sp, #280] @ 0x118 │ │ │ │ │ + strd r0, r6, [sp, #56] @ 0x38 │ │ │ │ │ + str r1, [sp, #68] @ 0x44 │ │ │ │ │ vsub.f64 d6, d4, d5 │ │ │ │ │ vadd.f64 d9, d4, d5 │ │ │ │ │ - vldr d4, [r4, #168] @ 0xa8 │ │ │ │ │ - vldr d5, [r4, #160] @ 0xa0 │ │ │ │ │ - vstr d0, [sp, #224] @ 0xe0 │ │ │ │ │ - vstr d9, [sp, #304] @ 0x130 │ │ │ │ │ - vstr d2, [sp, #128] @ 0x80 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ - add.w r0, sl, r2 │ │ │ │ │ - mov.w r2, fp, lsl #5 │ │ │ │ │ - str r0, [sp, #40] @ 0x28 │ │ │ │ │ - add.w r4, r8, r2 │ │ │ │ │ - add.w r5, lr, r2 │ │ │ │ │ - vldr d3, [r0] │ │ │ │ │ - add.w r0, sl, r2 │ │ │ │ │ - add r2, r9 │ │ │ │ │ - str r2, [sp, #64] @ 0x40 │ │ │ │ │ - str r4, [sp, #52] @ 0x34 │ │ │ │ │ - vadd.f64 d7, d2, d3 │ │ │ │ │ - vsub.f64 d10, d2, d3 │ │ │ │ │ + vldr d5, [r7, #160] @ 0xa0 │ │ │ │ │ + vldr d4, [r7, #168] @ 0xa8 │ │ │ │ │ + vstr d9, [sp, #288] @ 0x120 │ │ │ │ │ vmul.f64 d3, d6, d4 │ │ │ │ │ - vldr d2, [r7, #128] @ 0x80 │ │ │ │ │ - str r0, [sp, #56] @ 0x38 │ │ │ │ │ - str r5, [sp, #60] @ 0x3c │ │ │ │ │ - vstr d10, [sp, #264] @ 0x108 │ │ │ │ │ - vmov.f64 d9, d3 │ │ │ │ │ - vnmls.f64 d9, d7, d5 │ │ │ │ │ + vmov.f64 d10, d3 │ │ │ │ │ + vnmls.f64 d10, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ - vmov.f64 d4, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - vmla.f64 d4, d6, d5 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ + add.w r1, r9, r2 │ │ │ │ │ + vmov.f64 d1, d7 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + add.w r6, r8, r2 │ │ │ │ │ + vmla.f64 d1, d6, d5 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + add.w r0, r6, r3 │ │ │ │ │ + vstr d10, [sp, #296] @ 0x128 │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [r5] │ │ │ │ │ - vstr d9, [sp, #232] @ 0xe8 │ │ │ │ │ - vstr d4, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - mov.w r2, fp, lsl #3 │ │ │ │ │ - add.w r6, r8, r2 │ │ │ │ │ - add.w r4, sl, r2 │ │ │ │ │ add.w r5, lr, r2 │ │ │ │ │ - add r2, r9 │ │ │ │ │ + add r2, fp │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + vstr d1, [sp, #304] @ 0x130 │ │ │ │ │ vsub.f64 d5, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ vldr d4, [r7, #136] @ 0x88 │ │ │ │ │ - adds r0, r6, r3 │ │ │ │ │ vmul.f64 d1, d5, d4 │ │ │ │ │ vmul.f64 d5, d5, d2 │ │ │ │ │ vmla.f64 d5, d3, d4 │ │ │ │ │ vldr d4, [r7, #112] @ 0x70 │ │ │ │ │ - vnmls.f64 d1, d3, d2 │ │ │ │ │ - vstr d5, [sp, #320] @ 0x140 │ │ │ │ │ + vmov.f64 d8, d1 │ │ │ │ │ + vnmls.f64 d8, d3, d2 │ │ │ │ │ + vstr d5, [sp, #312] @ 0x138 │ │ │ │ │ vldr d5, [r7, #120] @ 0x78 │ │ │ │ │ - vmov.f64 d14, d1 │ │ │ │ │ + vmov.f64 d11, d8 │ │ │ │ │ vmul.f64 d3, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vmla.f64 d7, d6, d5 │ │ │ │ │ - vmov.f64 d8, d3 │ │ │ │ │ - vnmls.f64 d8, d6, d4 │ │ │ │ │ - vstr d8, [sp, #136] @ 0x88 │ │ │ │ │ - vstr d7, [sp, #328] @ 0x148 │ │ │ │ │ + vmov.f64 d9, d3 │ │ │ │ │ + vnmls.f64 d9, d6, d4 │ │ │ │ │ + vstr d9, [sp, #136] @ 0x88 │ │ │ │ │ + vstr d7, [sp, #320] @ 0x140 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ + strd r1, r0, [sp, #72] @ 0x48 │ │ │ │ │ vldr d6, [r6] │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ + add r1, r3 │ │ │ │ │ vldr d2, [r7, #32] │ │ │ │ │ + str r1, [sp, #88] @ 0x58 │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [r5] │ │ │ │ │ - str r0, [sp, #72] @ 0x48 │ │ │ │ │ - str r2, [sp, #68] @ 0x44 │ │ │ │ │ - add r2, r3 │ │ │ │ │ vsub.f64 d5, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ vldr d4, [r7, #40] @ 0x28 │ │ │ │ │ - str r2, [sp, #84] @ 0x54 │ │ │ │ │ vmul.f64 d1, d5, d4 │ │ │ │ │ vmul.f64 d5, d5, d2 │ │ │ │ │ vmla.f64 d5, d3, d4 │ │ │ │ │ vldr d4, [r7, #16] │ │ │ │ │ - vmov.f64 d10, d1 │ │ │ │ │ - vnmls.f64 d10, d3, d2 │ │ │ │ │ + vnmls.f64 d1, d3, d2 │ │ │ │ │ vldr d2, [r7, #88] @ 0x58 │ │ │ │ │ - vstr d5, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d1, [sp, #144] @ 0x90 │ │ │ │ │ + vstr d5, [sp, #328] @ 0x148 │ │ │ │ │ vldr d5, [r7, #24] │ │ │ │ │ vmul.f64 d3, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vmla.f64 d7, d6, d5 │ │ │ │ │ - vstr d10, [sp, #144] @ 0x90 │ │ │ │ │ vmov.f64 d8, d3 │ │ │ │ │ vnmls.f64 d8, d6, d4 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ + add.w r1, r8, r2 │ │ │ │ │ + str r1, [sp, #92] @ 0x5c │ │ │ │ │ vstr d7, [sp, #160] @ 0xa0 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - adds r0, r4, r3 │ │ │ │ │ - str r0, [sp, #76] @ 0x4c │ │ │ │ │ + add.w r0, r4, r3 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ - adds r0, r5, r3 │ │ │ │ │ str r0, [sp, #80] @ 0x50 │ │ │ │ │ + add.w r0, r5, r3 │ │ │ │ │ + vstr d8, [sp, #152] @ 0x98 │ │ │ │ │ + str r0, [sp, #84] @ 0x54 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ - vstr d8, [sp, #152] @ 0x98 │ │ │ │ │ + add.w r0, lr, r2 │ │ │ │ │ vadd.f64 d3, d6, d4 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vldr d4, [r7, #80] @ 0x50 │ │ │ │ │ vmul.f64 d1, d3, d2 │ │ │ │ │ - vnmls.f64 d1, d5, d4 │ │ │ │ │ + vmov.f64 d9, d1 │ │ │ │ │ + vnmls.f64 d9, d5, d4 │ │ │ │ │ vmul.f64 d5, d5, d2 │ │ │ │ │ - vmov.f64 d10, d5 │ │ │ │ │ - vldr d5, [r7, #96] @ 0x60 │ │ │ │ │ - vmla.f64 d10, d3, d4 │ │ │ │ │ + vmla.f64 d5, d3, d4 │ │ │ │ │ vldr d4, [r7, #104] @ 0x68 │ │ │ │ │ - movs r7, #72 @ 0x48 │ │ │ │ │ + vstr d9, [sp, #168] @ 0xa8 │ │ │ │ │ vmul.f64 d3, d6, d4 │ │ │ │ │ - vstr d1, [sp, #168] @ 0xa8 │ │ │ │ │ - mul.w r2, r7, fp │ │ │ │ │ - add.w r0, r8, r2 │ │ │ │ │ - str r0, [sp, #88] @ 0x58 │ │ │ │ │ - vmov.f64 d8, d3 │ │ │ │ │ - vstr d10, [sp, #344] @ 0x158 │ │ │ │ │ - vnmls.f64 d8, d7, d5 │ │ │ │ │ + vstr d5, [sp, #176] @ 0xb0 │ │ │ │ │ + vldr d5, [r7, #96] @ 0x60 │ │ │ │ │ + vmov.f64 d2, d3 │ │ │ │ │ + vnmls.f64 d2, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vmla.f64 d7, d6, d5 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - add.w r0, sl, r2 │ │ │ │ │ - str r0, [sp, #92] @ 0x5c │ │ │ │ │ - vstr d8, [sp, #176] @ 0xb0 │ │ │ │ │ - vstr d7, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - add.w r0, lr, r2 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + add.w r1, sl, r2 │ │ │ │ │ add r2, r9 │ │ │ │ │ - ldr r7, [sp, #0] │ │ │ │ │ - str r2, [sp, #100] @ 0x64 │ │ │ │ │ + str r1, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d2, [sp, #184] @ 0xb8 │ │ │ │ │ + vstr d7, [sp, #192] @ 0xc0 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + strd r0, r2, [sp, #100] @ 0x64 │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + add.w r2, fp, fp, lsl #1 │ │ │ │ │ + mov.w r2, r2, lsl #4 │ │ │ │ │ + vldr d1, [r7, #176] @ 0xb0 │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ + add.w ip, sl, r2 │ │ │ │ │ + add.w r0, r8, r2 │ │ │ │ │ vldr d2, [r7, #288] @ 0x120 │ │ │ │ │ - str r0, [sp, #96] @ 0x60 │ │ │ │ │ + add.w r1, lr, r2 │ │ │ │ │ + add r2, r9 │ │ │ │ │ vsub.f64 d5, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ vldr d4, [r7, #296] @ 0x128 │ │ │ │ │ - vmul.f64 d9, d5, d4 │ │ │ │ │ + vmul.f64 d10, d5, d4 │ │ │ │ │ vmul.f64 d5, d5, d2 │ │ │ │ │ - vmla.f64 d5, d3, d4 │ │ │ │ │ - vldr d4, [r7, #272] @ 0x110 │ │ │ │ │ - vnmls.f64 d9, d3, d2 │ │ │ │ │ - vstr d5, [sp, #192] @ 0xc0 │ │ │ │ │ + vnmls.f64 d10, d3, d2 │ │ │ │ │ + vldr d2, [r7, #192] @ 0xc0 │ │ │ │ │ + vmov.f64 d8, d5 │ │ │ │ │ vldr d5, [r7, #280] @ 0x118 │ │ │ │ │ - movs r7, #48 @ 0x30 │ │ │ │ │ + vmla.f64 d8, d3, d4 │ │ │ │ │ + vldr d4, [r7, #272] @ 0x110 │ │ │ │ │ vmul.f64 d3, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ - mul.w r2, r7, fp │ │ │ │ │ - add.w r0, r8, r2 │ │ │ │ │ - add.w ip, sl, r2 │ │ │ │ │ - vnmls.f64 d3, d6, d4 │ │ │ │ │ - vmov.f64 d4, d7 │ │ │ │ │ - vmla.f64 d4, d6, d5 │ │ │ │ │ - add.w r7, lr, r2 │ │ │ │ │ + vmov.f64 d9, d3 │ │ │ │ │ + vstr d8, [sp, #336] @ 0x150 │ │ │ │ │ + vmla.f64 d7, d6, d5 │ │ │ │ │ + vnmls.f64 d9, d6, d4 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ - add r2, r9 │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + vstr d7, [sp, #344] @ 0x158 │ │ │ │ │ vldr d7, [ip] │ │ │ │ │ - str r7, [sp, #4] │ │ │ │ │ - vstr d3, [sp, #200] @ 0xc8 │ │ │ │ │ + vstr d9, [sp, #200] @ 0xc8 │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ - vstr d4, [sp, #352] @ 0x160 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - ldr r7, [sp, #0] │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ vsub.f64 d5, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vldr d2, [r7, #192] @ 0xc0 │ │ │ │ │ vldr d4, [r7, #200] @ 0xc8 │ │ │ │ │ - vldr d1, [r7, #176] @ 0xb0 │ │ │ │ │ - vmul.f64 d10, d5, d4 │ │ │ │ │ + vmul.f64 d9, d5, d4 │ │ │ │ │ vmul.f64 d5, d5, d2 │ │ │ │ │ vmla.f64 d5, d3, d4 │ │ │ │ │ - vnmls.f64 d10, d3, d2 │ │ │ │ │ - vstr d5, [sp, #208] @ 0xd0 │ │ │ │ │ + vnmls.f64 d9, d3, d2 │ │ │ │ │ + vstr d5, [sp, #352] @ 0x160 │ │ │ │ │ vldr d5, [r7, #184] @ 0xb8 │ │ │ │ │ - adds r7, r0, r3 │ │ │ │ │ - str r7, [sp, #104] @ 0x68 │ │ │ │ │ + add.w r7, r0, r3 │ │ │ │ │ + str r7, [sp, #108] @ 0x6c │ │ │ │ │ vmul.f64 d4, d7, d5 │ │ │ │ │ vnmls.f64 d4, d6, d1 │ │ │ │ │ vmul.f64 d1, d7, d1 │ │ │ │ │ vldr d7, [r7] │ │ │ │ │ add.w r7, ip, r3 │ │ │ │ │ + str r7, [sp, #112] @ 0x70 │ │ │ │ │ vmla.f64 d1, d6, d5 │ │ │ │ │ - str r7, [sp, #108] @ 0x6c │ │ │ │ │ vldr d6, [r7] │ │ │ │ │ - ldr r7, [sp, #4] │ │ │ │ │ - add r7, r3 │ │ │ │ │ + add.w r7, r1, r3 │ │ │ │ │ add r3, r2 │ │ │ │ │ + str r7, [sp, #116] @ 0x74 │ │ │ │ │ + vldr d3, [r3] │ │ │ │ │ + str r3, [sp, #456] @ 0x1c8 │ │ │ │ │ + ldr r3, [sp, #4] │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ - str r7, [sp, #432] @ 0x1b0 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ vldr d6, [r7] │ │ │ │ │ - ldr r7, [sp, #0] │ │ │ │ │ + vldr d2, [r3, #240] @ 0xf0 │ │ │ │ │ + vldr d8, [r3, #248] @ 0xf8 │ │ │ │ │ vadd.f64 d0, d6, d3 │ │ │ │ │ vsub.f64 d3, d3, d6 │ │ │ │ │ - vldr d8, [r7, #248] @ 0xf8 │ │ │ │ │ - vldr d2, [r7, #240] @ 0xf0 │ │ │ │ │ vmul.f64 d6, d0, d8 │ │ │ │ │ vmul.f64 d8, d5, d8 │ │ │ │ │ - vmla.f64 d8, d0, d2 │ │ │ │ │ - vldr d0, [r7, #264] @ 0x108 │ │ │ │ │ vnmls.f64 d6, d5, d2 │ │ │ │ │ - vldr d2, [r7, #256] @ 0x100 │ │ │ │ │ + vmla.f64 d8, d0, d2 │ │ │ │ │ + vldr d0, [r3, #264] @ 0x108 │ │ │ │ │ + vldr d2, [r3, #256] @ 0x100 │ │ │ │ │ vmul.f64 d5, d7, d2 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ vmla.f64 d5, d3, d0 │ │ │ │ │ vnmls.f64 d7, d3, d2 │ │ │ │ │ vldr d3, [sp, #120] @ 0x78 │ │ │ │ │ vldr d2, [sp, #128] @ 0x80 │ │ │ │ │ vsub.f64 d2, d3, d2 │ │ │ │ │ - vsub.f64 d3, d14, d9 │ │ │ │ │ - vadd.f64 d9, d14, d9 │ │ │ │ │ + vsub.f64 d3, d11, d10 │ │ │ │ │ + vadd.f64 d10, d11, d10 │ │ │ │ │ vsub.f64 d0, d2, d3 │ │ │ │ │ - vstr d0, [sp, #216] @ 0xd8 │ │ │ │ │ + vstr d0, [sp, #208] @ 0xd0 │ │ │ │ │ vadd.f64 d0, d2, d3 │ │ │ │ │ vstr d0, [sp, #360] @ 0x168 │ │ │ │ │ - vldr d0, [sp, #224] @ 0xe0 │ │ │ │ │ - vadd.f64 d3, d15, d0 │ │ │ │ │ - vsub.f64 d15, d15, d0 │ │ │ │ │ - vadd.f64 d2, d3, d9 │ │ │ │ │ - vstr d2, [sp, #368] @ 0x170 │ │ │ │ │ - vsub.f64 d2, d3, d9 │ │ │ │ │ - vldr d9, [sp, #152] @ 0x98 │ │ │ │ │ - vstr d2, [sp, #376] @ 0x178 │ │ │ │ │ - vadd.f64 d3, d9, d4 │ │ │ │ │ + vldr d0, [sp, #216] @ 0xd8 │ │ │ │ │ + vadd.f64 d2, d0, d15 │ │ │ │ │ + vsub.f64 d15, d0, d15 │ │ │ │ │ + vadd.f64 d3, d2, d10 │ │ │ │ │ + vsub.f64 d10, d2, d10 │ │ │ │ │ + vstr d3, [sp, #368] @ 0x170 │ │ │ │ │ + vstr d10, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d10, [sp, #192] @ 0xc0 │ │ │ │ │ + vsub.f64 d2, d7, d10 │ │ │ │ │ + vldr d10, [sp, #152] @ 0x98 │ │ │ │ │ + vadd.f64 d3, d10, d4 │ │ │ │ │ + vsub.f64 d10, d2, d3 │ │ │ │ │ + vadd.f64 d3, d2, d3 │ │ │ │ │ vldr d2, [sp, #184] @ 0xb8 │ │ │ │ │ - vsub.f64 d2, d7, d2 │ │ │ │ │ - vsub.f64 d9, d2, d3 │ │ │ │ │ - vstr d9, [sp, #384] @ 0x180 │ │ │ │ │ - vadd.f64 d9, d2, d3 │ │ │ │ │ - vldr d3, [sp, #176] @ 0xb0 │ │ │ │ │ - vstr d9, [sp, #392] @ 0x188 │ │ │ │ │ - vadd.f64 d3, d3, d5 │ │ │ │ │ - vldr d9, [sp, #160] @ 0xa0 │ │ │ │ │ - vadd.f64 d2, d9, d1 │ │ │ │ │ - vadd.f64 d9, d3, d2 │ │ │ │ │ + vstr d10, [sp, #384] @ 0x180 │ │ │ │ │ + vstr d3, [sp, #392] @ 0x188 │ │ │ │ │ + vadd.f64 d3, d2, d5 │ │ │ │ │ + vldr d2, [sp, #160] @ 0xa0 │ │ │ │ │ + vadd.f64 d2, d2, d1 │ │ │ │ │ + vadd.f64 d10, d3, d2 │ │ │ │ │ vsub.f64 d3, d2, d3 │ │ │ │ │ - vldr d2, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d9, [sp, #400] @ 0x190 │ │ │ │ │ + vstr d10, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d10, [sp, #296] @ 0x128 │ │ │ │ │ vstr d3, [sp, #408] @ 0x198 │ │ │ │ │ - vldr d9, [sp, #232] @ 0xe8 │ │ │ │ │ vldr d3, [sp, #168] @ 0xa8 │ │ │ │ │ - vsub.f64 d2, d9, d2 │ │ │ │ │ + vsub.f64 d2, d10, d14 │ │ │ │ │ + vadd.f64 d14, d14, d10 │ │ │ │ │ vsub.f64 d3, d6, d3 │ │ │ │ │ - vadd.f64 d14, d3, d2 │ │ │ │ │ - vstr d14, [sp, #224] @ 0xe0 │ │ │ │ │ - vsub.f64 d14, d2, d3 │ │ │ │ │ - vldr d3, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d2, [sp, #200] @ 0xc8 │ │ │ │ │ - vstr d14, [sp, #416] @ 0x1a0 │ │ │ │ │ - vsub.f64 d2, d3, d2 │ │ │ │ │ + vadd.f64 d11, d3, d2 │ │ │ │ │ + vstr d11, [sp, #296] @ 0x128 │ │ │ │ │ + vsub.f64 d11, d2, d3 │ │ │ │ │ + vldr d2, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d3, [sp, #200] @ 0xc8 │ │ │ │ │ + vstr d11, [sp, #416] @ 0x1a0 │ │ │ │ │ + vsub.f64 d2, d2, d3 │ │ │ │ │ vldr d3, [sp, #144] @ 0x90 │ │ │ │ │ - vsub.f64 d3, d10, d3 │ │ │ │ │ - vsub.f64 d14, d2, d3 │ │ │ │ │ - vstr d14, [sp, #232] @ 0xe8 │ │ │ │ │ - vadd.f64 d14, d2, d3 │ │ │ │ │ + vsub.f64 d3, d9, d3 │ │ │ │ │ + vsub.f64 d11, d2, d3 │ │ │ │ │ + vstr d11, [sp, #216] @ 0xd8 │ │ │ │ │ + vadd.f64 d11, d2, d3 │ │ │ │ │ vldr d2, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d3, [sp, #320] @ 0x140 │ │ │ │ │ + vstr d11, [sp, #424] @ 0x1a8 │ │ │ │ │ vsub.f64 d4, d4, d2 │ │ │ │ │ - vldr d2, [sp, #176] @ 0xb0 │ │ │ │ │ - vstr d14, [sp, #424] @ 0x1a8 │ │ │ │ │ + vldr d2, [sp, #184] @ 0xb8 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ - vsub.f64 d14, d4, d5 │ │ │ │ │ + vldr d2, [sp, #344] @ 0x158 │ │ │ │ │ + vsub.f64 d11, d4, d5 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ - vstr d14, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d2, [sp, #328] @ 0x148 │ │ │ │ │ - vldr d3, [sp, #352] @ 0x160 │ │ │ │ │ + vstr d11, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d4, [sp, #432] @ 0x1b0 │ │ │ │ │ + vadd.f64 d4, d3, d2 │ │ │ │ │ vldr d5, [sp, #144] @ 0x90 │ │ │ │ │ - vstr d4, [sp, #176] @ 0xb0 │ │ │ │ │ - vadd.f64 d4, d2, d3 │ │ │ │ │ - vadd.f64 d10, d5, d10 │ │ │ │ │ - vadd.f64 d5, d4, d10 │ │ │ │ │ - vsub.f64 d4, d4, d10 │ │ │ │ │ - vldr d10, [sp, #344] @ 0x158 │ │ │ │ │ - vstr d5, [sp, #328] @ 0x148 │ │ │ │ │ - vldr d5, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d4, [sp, #352] @ 0x160 │ │ │ │ │ - vadd.f64 d4, d10, d8 │ │ │ │ │ - vsub.f64 d8, d8, d10 │ │ │ │ │ - vadd.f64 d14, d5, d9 │ │ │ │ │ + vldr d10, [sp, #312] @ 0x138 │ │ │ │ │ + vadd.f64 d9, d5, d9 │ │ │ │ │ + vadd.f64 d5, d4, d9 │ │ │ │ │ + vsub.f64 d9, d4, d9 │ │ │ │ │ + vldr d4, [sp, #176] @ 0xb0 │ │ │ │ │ + vadd.f64 d4, d4, d8 │ │ │ │ │ + vstr d5, [sp, #320] @ 0x140 │ │ │ │ │ + vstr d9, [sp, #344] @ 0x158 │ │ │ │ │ vldr d9, [sp, #160] @ 0xa0 │ │ │ │ │ + vadd.f64 d5, d4, d14 │ │ │ │ │ + vsub.f64 d14, d4, d14 │ │ │ │ │ + vldr d4, [sp, #336] @ 0x150 │ │ │ │ │ vsub.f64 d1, d1, d9 │ │ │ │ │ vldr d9, [sp, #168] @ 0xa8 │ │ │ │ │ - vadd.f64 d5, d4, d14 │ │ │ │ │ - vsub.f64 d4, d4, d14 │ │ │ │ │ - vldr d14, [sp, #184] @ 0xb8 │ │ │ │ │ - vadd.f64 d7, d14, d7 │ │ │ │ │ - vstr d5, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d4, [sp, #144] @ 0x90 │ │ │ │ │ + vstr d5, [sp, #440] @ 0x1b8 │ │ │ │ │ + vstr d14, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d14, [sp, #192] @ 0xc0 │ │ │ │ │ vldr d5, [sp, #240] @ 0xf0 │ │ │ │ │ - vldr d4, [sp, #312] @ 0x138 │ │ │ │ │ + vadd.f64 d7, d14, d7 │ │ │ │ │ vadd.f64 d14, d7, d1 │ │ │ │ │ vsub.f64 d7, d1, d7 │ │ │ │ │ - vstr d7, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d1, [sp, #304] @ 0x130 │ │ │ │ │ + vstr d7, [sp, #144] @ 0x90 │ │ │ │ │ vadd.f64 d7, d9, d6 │ │ │ │ │ - vadd.f64 d6, d5, d4 │ │ │ │ │ - vadd.f64 d1, d7, d6 │ │ │ │ │ + vadd.f64 d6, d5, d1 │ │ │ │ │ + vadd.f64 d9, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #192] @ 0xc0 │ │ │ │ │ - vstr d1, [sp, #168] @ 0xa8 │ │ │ │ │ - vldr d1, [sp, #320] @ 0x140 │ │ │ │ │ - vstr d7, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d7, [sp, #136] @ 0x88 │ │ │ │ │ - vsub.f64 d6, d6, d1 │ │ │ │ │ + vsub.f64 d6, d4, d10 │ │ │ │ │ + vstr d9, [sp, #160] @ 0xa0 │ │ │ │ │ vsub.f64 d0, d15, d6 │ │ │ │ │ vadd.f64 d9, d15, d6 │ │ │ │ │ - vldr d15, [sp, #200] @ 0xc8 │ │ │ │ │ - vstr d0, [sp, #240] @ 0xf0 │ │ │ │ │ - vadd.f64 d7, d7, d15 │ │ │ │ │ - vldr d0, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d15, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d6, [sp, #200] @ 0xc8 │ │ │ │ │ + vstr d7, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d7, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d15, [sp, #352] @ 0x160 │ │ │ │ │ + vstr d0, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d0, [sp, #328] @ 0x148 │ │ │ │ │ + vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d0, d15 │ │ │ │ │ - vadd.f64 d15, d7, d6 │ │ │ │ │ + vadd.f64 d11, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vsub.f64 d6, d2, d3 │ │ │ │ │ - vldr d3, [sp, #120] @ 0x78 │ │ │ │ │ + vmov.f64 d6, d2 │ │ │ │ │ vldr d2, [sp, #128] @ 0x80 │ │ │ │ │ - vstr d15, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d15, [sp, #208] @ 0xd0 │ │ │ │ │ - vstr d7, [sp, #200] @ 0xc8 │ │ │ │ │ + vsub.f64 d6, d3, d6 │ │ │ │ │ + vldr d3, [sp, #120] @ 0x78 │ │ │ │ │ + vstr d11, [sp, #136] @ 0x88 │ │ │ │ │ + vstr d7, [sp, #192] @ 0xc0 │ │ │ │ │ vsub.f64 d7, d0, d15 │ │ │ │ │ + vldr d11, [pc, #980] @ a60 │ │ │ │ │ vadd.f64 d0, d6, d7 │ │ │ │ │ - vsub.f64 d15, d6, d7 │ │ │ │ │ - vldr d7, [sp, #192] @ 0xc0 │ │ │ │ │ + vsub.f64 d7, d6, d7 │ │ │ │ │ vadd.f64 d6, d3, d2 │ │ │ │ │ - vadd.f64 d7, d1, d7 │ │ │ │ │ - vstr d15, [sp, #208] @ 0xd0 │ │ │ │ │ + vstr d7, [sp, #200] @ 0xc8 │ │ │ │ │ + vadd.f64 d7, d10, d4 │ │ │ │ │ + vldr d4, [sp, #176] @ 0xb0 │ │ │ │ │ vadd.f64 d2, d6, d7 │ │ │ │ │ - vsub.f64 d7, d6, d7 │ │ │ │ │ - vsub.f64 d6, d4, d5 │ │ │ │ │ + vsub.f64 d8, d8, d4 │ │ │ │ │ + vldr d4, [r3, #144] @ 0x90 │ │ │ │ │ vstr d2, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d15, [sp, #304] @ 0x130 │ │ │ │ │ - vstr d7, [sp, #128] @ 0x80 │ │ │ │ │ + vsub.f64 d2, d6, d7 │ │ │ │ │ + vsub.f64 d6, d1, d5 │ │ │ │ │ vadd.f64 d7, d8, d6 │ │ │ │ │ vsub.f64 d8, d8, d6 │ │ │ │ │ - vldr d6, [r7, #152] @ 0x98 │ │ │ │ │ - vldr d4, [r7, #144] @ 0x90 │ │ │ │ │ - vldr d10, [sp, #264] @ 0x108 │ │ │ │ │ - vmul.f64 d5, d15, d6 │ │ │ │ │ - vldr d3, [sp, #256] @ 0x100 │ │ │ │ │ - vldr d1, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d6, [r3, #152] @ 0x98 │ │ │ │ │ + vstr d2, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d8, [sp, #176] @ 0xb0 │ │ │ │ │ + vldr d2, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d3, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d10, [sp, #280] @ 0x118 │ │ │ │ │ + vmul.f64 d5, d2, d6 │ │ │ │ │ + vldr d1, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d15, [sp, #272] @ 0x110 │ │ │ │ │ vmul.f64 d6, d10, d6 │ │ │ │ │ - vstr d8, [sp, #192] @ 0xc0 │ │ │ │ │ - vmla.f64 d6, d15, d4 │ │ │ │ │ - vldr d2, [r7, #232] @ 0xe8 │ │ │ │ │ vnmls.f64 d5, d10, d4 │ │ │ │ │ - vldr d4, [sp, #248] @ 0xf8 │ │ │ │ │ - vadd.f64 d8, d3, d6 │ │ │ │ │ - vsub.f64 d6, d3, d6 │ │ │ │ │ + vmla.f64 d6, d2, d4 │ │ │ │ │ + vldr d4, [sp, #224] @ 0xe0 │ │ │ │ │ vsub.f64 d10, d4, d5 │ │ │ │ │ - vadd.f64 d5, d4, d5 │ │ │ │ │ - vldr d4, [sp, #272] @ 0x110 │ │ │ │ │ - vstr d6, [sp, #264] @ 0x108 │ │ │ │ │ - vstr d5, [sp, #256] @ 0x100 │ │ │ │ │ - vldr d5, [r7, #72] @ 0x48 │ │ │ │ │ - vldr d6, [r7, #64] @ 0x40 │ │ │ │ │ - vstr d8, [sp, #248] @ 0xf8 │ │ │ │ │ + vadd.f64 d4, d4, d5 │ │ │ │ │ + vldr d5, [r3, #72] @ 0x48 │ │ │ │ │ + vadd.f64 d8, d3, d6 │ │ │ │ │ + vsub.f64 d2, d3, d6 │ │ │ │ │ + vldr d6, [r3, #64] @ 0x40 │ │ │ │ │ vmul.f64 d3, d1, d5 │ │ │ │ │ - vldr d8, [sp, #296] @ 0x128 │ │ │ │ │ + vstr d4, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d4, [sp, #248] @ 0xf8 │ │ │ │ │ + vstr d8, [sp, #224] @ 0xe0 │ │ │ │ │ + vstr d2, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d2, [r3, #232] @ 0xe8 │ │ │ │ │ vnmls.f64 d3, d4, d6 │ │ │ │ │ vmul.f64 d6, d1, d6 │ │ │ │ │ + vldr d1, [sp, #264] @ 0x108 │ │ │ │ │ vmla.f64 d6, d4, d5 │ │ │ │ │ - vmul.f64 d4, d8, d2 │ │ │ │ │ - vldr d5, [r7, #224] @ 0xe0 │ │ │ │ │ - vldr d1, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d5, [r3, #224] @ 0xe0 │ │ │ │ │ + vmul.f64 d4, d15, d2 │ │ │ │ │ + ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ vnmls.f64 d4, d1, d5 │ │ │ │ │ - vmul.f64 d5, d8, d5 │ │ │ │ │ + vmul.f64 d5, d15, d5 │ │ │ │ │ vmla.f64 d5, d1, d2 │ │ │ │ │ - vldr d1, [sp, #224] @ 0xe0 │ │ │ │ │ - vadd.f64 d8, d3, d4 │ │ │ │ │ + vldr d1, [sp, #216] @ 0xd8 │ │ │ │ │ + vadd.f64 d15, d3, d4 │ │ │ │ │ vsub.f64 d2, d3, d4 │ │ │ │ │ + vadd.f64 d8, d6, d5 │ │ │ │ │ + vstr d15, [sp, #248] @ 0xf8 │ │ │ │ │ vsub.f64 d15, d5, d6 │ │ │ │ │ - vadd.f64 d4, d6, d5 │ │ │ │ │ vsub.f64 d6, d0, d14 │ │ │ │ │ vsub.f64 d5, d9, d7 │ │ │ │ │ + vsub.f64 d3, d10, d2 │ │ │ │ │ vadd.f64 d14, d14, d0 │ │ │ │ │ vadd.f64 d7, d9, d7 │ │ │ │ │ - vstr d8, [sp, #272] @ 0x110 │ │ │ │ │ - vsub.f64 d3, d10, d2 │ │ │ │ │ - vstr d4, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d0, [pc, #748] @ a68 │ │ │ │ │ vadd.f64 d2, d10, d2 │ │ │ │ │ + vstr d8, [sp, #256] @ 0x100 │ │ │ │ │ vmul.f64 d4, d6, d11 │ │ │ │ │ - vldr d8, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d8, [sp, #152] @ 0x98 │ │ │ │ │ vmla.f64 d4, d5, d12 │ │ │ │ │ vmul.f64 d5, d5, d11 │ │ │ │ │ - vldr d0, [pc, #968] @ b50 │ │ │ │ │ + vldr d11, [sp, #296] @ 0x128 │ │ │ │ │ + vadd.f64 d1, d1, d8 │ │ │ │ │ vnmls.f64 d5, d6, d12 │ │ │ │ │ - vldr d6, [sp, #216] @ 0xd8 │ │ │ │ │ - vadd.f64 d6, d6, d1 │ │ │ │ │ - vldr d1, [sp, #152] @ 0x98 │ │ │ │ │ - vadd.f64 d1, d8, d1 │ │ │ │ │ + vldr d6, [sp, #208] @ 0xd0 │ │ │ │ │ + vadd.f64 d6, d6, d11 │ │ │ │ │ vadd.f64 d8, d6, d1 │ │ │ │ │ vsub.f64 d6, d6, d1 │ │ │ │ │ - vldr d1, [pc, #936] @ b50 │ │ │ │ │ + vldr d1, [pc, #692] @ a68 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ vmov.f64 d1, #64 @ 0x3e000000 0.125 │ │ │ │ │ vmul.f64 d1, d8, d1 │ │ │ │ │ vnmls.f64 d1, d3, d13 │ │ │ │ │ vadd.f64 d3, d3, d8 │ │ │ │ │ vmul.f64 d3, d3, d13 │ │ │ │ │ - vstr d3, [r1] │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ vsub.f64 d3, d6, d1 │ │ │ │ │ - ldr r1, [sp, #12] │ │ │ │ │ vadd.f64 d6, d6, d1 │ │ │ │ │ + ldr r3, [sp, #12] │ │ │ │ │ vsub.f64 d8, d3, d5 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ vadd.f64 d3, d7, d14 │ │ │ │ │ vsub.f64 d7, d7, d14 │ │ │ │ │ - vstr d8, [r1] │ │ │ │ │ + vstr d8, [r3] │ │ │ │ │ + vmov.f64 d8, #64 @ 0x3e000000 0.125 │ │ │ │ │ vstr d5, [ip] │ │ │ │ │ vsub.f64 d5, d6, d4 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ + ldr r3, [sp, #92] @ 0x5c │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ + vldr d6, [sp, #208] @ 0xd0 │ │ │ │ │ + vmul.f64 d1, d3, d8 │ │ │ │ │ vstr d5, [r6] │ │ │ │ │ - ldr r6, [sp, #88] @ 0x58 │ │ │ │ │ - vstr d4, [r6] │ │ │ │ │ - vldr d6, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d5, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d5, [sp, #216] @ 0xd8 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ vldr d4, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d8, [sp, #264] @ 0x108 │ │ │ │ │ - vsub.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [sp, #232] @ 0xe8 │ │ │ │ │ - ldr r1, [sp, #44] @ 0x2c │ │ │ │ │ - vldr d10, [sp, #416] @ 0x1a0 │ │ │ │ │ + vsub.f64 d6, d6, d11 │ │ │ │ │ + vldr d11, [pc, #572] @ a60 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ - vldr d9, [sp, #360] @ 0x168 │ │ │ │ │ - vldr d14, [sp, #424] @ 0x1a8 │ │ │ │ │ - ldr r7, [sp, #108] @ 0x6c │ │ │ │ │ vmul.f64 d4, d5, d11 │ │ │ │ │ vmla.f64 d4, d6, d12 │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ vnmls.f64 d6, d5, d12 │ │ │ │ │ - vadd.f64 d5, d8, d15 │ │ │ │ │ - vmov.f64 d8, #64 @ 0x3e000000 0.125 │ │ │ │ │ - vmul.f64 d1, d3, d8 │ │ │ │ │ + vldr d5, [sp, #240] @ 0xf0 │ │ │ │ │ + ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r7, [sp, #112] @ 0x70 │ │ │ │ │ + vadd.f64 d5, d5, d15 │ │ │ │ │ + vldr d9, [sp, #360] @ 0x168 │ │ │ │ │ + vldr d14, [sp, #424] @ 0x1a8 │ │ │ │ │ + vldr d10, [sp, #432] @ 0x1b0 │ │ │ │ │ vnmls.f64 d1, d5, d13 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d13 │ │ │ │ │ - vstr d5, [r1] │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ vsub.f64 d5, d1, d7 │ │ │ │ │ vadd.f64 d7, d7, d1 │ │ │ │ │ - ldr r1, [sp, #20] │ │ │ │ │ - vldr d1, [sp, #176] @ 0xb0 │ │ │ │ │ + ldr r3, [sp, #20] │ │ │ │ │ + vldr d1, [sp, #184] @ 0xb8 │ │ │ │ │ vadd.f64 d3, d6, d5 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ vadd.f64 d6, d4, d7 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vadd.f64 d1, d14, d1 │ │ │ │ │ vstr d3, [r2] │ │ │ │ │ - vstr d5, [r1] │ │ │ │ │ - ldr r1, [sp, #96] @ 0x60 │ │ │ │ │ + ldr r2, [sp, #100] @ 0x64 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ vstr d6, [r5] │ │ │ │ │ - vldr d3, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d6, [sp, #240] @ 0xf0 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ - vldr d5, [sp, #208] @ 0xd0 │ │ │ │ │ - vldr d7, [sp, #160] @ 0xa0 │ │ │ │ │ - vsub.f64 d6, d6, d3 │ │ │ │ │ - ldr r1, [sp, #56] @ 0x38 │ │ │ │ │ ldr r5, [sp, #24] │ │ │ │ │ + vldr d6, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + vldr d5, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d7, [sp, #144] @ 0x90 │ │ │ │ │ + vsub.f64 d6, d1, d6 │ │ │ │ │ + vadd.f64 d1, d14, d10 │ │ │ │ │ + ldr r3, [sp, #60] @ 0x3c │ │ │ │ │ vsub.f64 d7, d5, d7 │ │ │ │ │ - vsub.f64 d5, d10, d9 │ │ │ │ │ vmul.f64 d4, d6, d11 │ │ │ │ │ - vsub.f64 d3, d5, d1 │ │ │ │ │ - vadd.f64 d5, d5, d1 │ │ │ │ │ vnmls.f64 d4, d7, d12 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ + vldr d11, [sp, #416] @ 0x1a0 │ │ │ │ │ vmla.f64 d7, d6, d12 │ │ │ │ │ - vldr d1, [sp, #176] @ 0xb0 │ │ │ │ │ + vsub.f64 d5, d11, d9 │ │ │ │ │ + vsub.f64 d3, d5, d1 │ │ │ │ │ + vadd.f64 d5, d5, d1 │ │ │ │ │ + vldr d1, [sp, #184] @ 0xb8 │ │ │ │ │ vmul.f64 d6, d3, d8 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ - vmla.f64 d6, d2, d13 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ + vmla.f64 d6, d2, d13 │ │ │ │ │ vmul.f64 d3, d3, d13 │ │ │ │ │ - vstr d3, [r1] │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ + ldr r3, [sp, #76] @ 0x4c │ │ │ │ │ vsub.f64 d3, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - ldr r1, [sp, #72] @ 0x48 │ │ │ │ │ - vadd.f64 d5, d9, d10 │ │ │ │ │ - vldr d10, [sp, #264] @ 0x108 │ │ │ │ │ + vadd.f64 d5, d9, d11 │ │ │ │ │ vsub.f64 d2, d3, d7 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ vstr d2, [sl] │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ vsub.f64 d7, d6, d4 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ - vmul.f64 d6, d5, d11 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ - vsub.f64 d7, d14, d1 │ │ │ │ │ + vldr d2, [sp, #240] @ 0xf0 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + vsub.f64 d7, d14, d10 │ │ │ │ │ + vldr d14, [pc, #320] @ a60 │ │ │ │ │ vstr d4, [r5] │ │ │ │ │ - vldr d4, [sp, #240] @ 0xf0 │ │ │ │ │ - vldr d3, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d1, [sp, #160] @ 0xa0 │ │ │ │ │ + ldr r3, [sp, #68] @ 0x44 │ │ │ │ │ + vldr d4, [sp, #176] @ 0xb0 │ │ │ │ │ + vmul.f64 d6, d5, d14 │ │ │ │ │ + vadd.f64 d3, d1, d4 │ │ │ │ │ + vldr d4, [sp, #144] @ 0x90 │ │ │ │ │ vnmls.f64 d6, d7, d12 │ │ │ │ │ - vmul.f64 d7, d7, d11 │ │ │ │ │ - ldr r1, [sp, #64] @ 0x40 │ │ │ │ │ - vadd.f64 d3, d4, d3 │ │ │ │ │ - vldr d4, [sp, #208] @ 0xd0 │ │ │ │ │ + vmul.f64 d7, d7, d14 │ │ │ │ │ vmla.f64 d7, d5, d12 │ │ │ │ │ - vsub.f64 d5, d10, d15 │ │ │ │ │ - vldr d14, [sp, #280] @ 0x118 │ │ │ │ │ - vadd.f64 d1, d1, d4 │ │ │ │ │ - vldr d9, [sp, #352] @ 0x160 │ │ │ │ │ - vldr d15, [sp, #408] @ 0x198 │ │ │ │ │ - vldr d10, [sp, #376] @ 0x178 │ │ │ │ │ + vsub.f64 d5, d2, d15 │ │ │ │ │ + vldr d2, [sp, #200] @ 0xc8 │ │ │ │ │ + vadd.f64 d1, d4, d2 │ │ │ │ │ vadd.f64 d2, d3, d1 │ │ │ │ │ vsub.f64 d3, d3, d1 │ │ │ │ │ - vldr d1, [sp, #256] @ 0x100 │ │ │ │ │ vmul.f64 d4, d2, d8 │ │ │ │ │ vmul.f64 d3, d3, d0 │ │ │ │ │ vnmls.f64 d4, d5, d13 │ │ │ │ │ vadd.f64 d5, d5, d2 │ │ │ │ │ vmul.f64 d5, d5, d13 │ │ │ │ │ - vstr d5, [r1] │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ vadd.f64 d5, d4, d3 │ │ │ │ │ vsub.f64 d4, d4, d3 │ │ │ │ │ - vldr d3, [sp, #136] @ 0x88 │ │ │ │ │ - ldr r1, [sp, #80] @ 0x50 │ │ │ │ │ + ldr r5, [sp, #44] @ 0x2c │ │ │ │ │ + vldr d9, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d15, [sp, #408] @ 0x198 │ │ │ │ │ vadd.f64 d2, d7, d5 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ vadd.f64 d7, d6, d4 │ │ │ │ │ + ldr r3, [sp, #84] @ 0x54 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ - vldr d6, [sp, #144] @ 0x90 │ │ │ │ │ - vstr d2, [r3] │ │ │ │ │ - vadd.f64 d2, d1, d14 │ │ │ │ │ - vldr d14, [sp, #384] @ 0x180 │ │ │ │ │ - vsub.f64 d6, d6, d10 │ │ │ │ │ + ldr r2, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d10, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d11, [sp, #448] @ 0x1c0 │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ vstr d5, [r9] │ │ │ │ │ - vldr d1, [sp, #120] @ 0x78 │ │ │ │ │ - vsub.f64 d5, d14, d3 │ │ │ │ │ - vldr d3, [sp, #168] @ 0xa8 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d9, d15 │ │ │ │ │ - ldr r1, [sp, #32] │ │ │ │ │ - vadd.f64 d1, d3, d1 │ │ │ │ │ - ldr r3, [sp, #8] │ │ │ │ │ - vstr d4, [r1] │ │ │ │ │ - vmul.f64 d4, d7, d11 │ │ │ │ │ - vsub.f64 d3, d5, d1 │ │ │ │ │ + vldr d3, [sp, #232] @ 0xe8 │ │ │ │ │ + ldr r3, [sp, #32] │ │ │ │ │ + vsub.f64 d6, d11, d10 │ │ │ │ │ + vldr d1, [sp, #256] @ 0x100 │ │ │ │ │ + ldr r2, [sp, #8] │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + vmul.f64 d4, d7, d14 │ │ │ │ │ vmul.f64 d7, d7, d12 │ │ │ │ │ - vmla.f64 d7, d6, d11 │ │ │ │ │ - vadd.f64 d5, d5, d1 │ │ │ │ │ - ldr r1, [sp, #92] @ 0x5c │ │ │ │ │ - vadd.f64 d1, d15, d9 │ │ │ │ │ + ldr r3, [sp, #96] @ 0x60 │ │ │ │ │ + vadd.f64 d2, d3, d1 │ │ │ │ │ + vldr d3, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d1, [sp, #136] @ 0x88 │ │ │ │ │ + vmla.f64 d7, d6, d14 │ │ │ │ │ vnmls.f64 d4, d6, d12 │ │ │ │ │ + vldr d6, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d14, [sp, #384] @ 0x180 │ │ │ │ │ + vsub.f64 d5, d14, d1 │ │ │ │ │ + vadd.f64 d1, d6, d3 │ │ │ │ │ + vsub.f64 d3, d5, d1 │ │ │ │ │ + vadd.f64 d5, d5, d1 │ │ │ │ │ + vldr d1, [sp, #136] @ 0x88 │ │ │ │ │ vmul.f64 d6, d3, d8 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ - vmla.f64 d6, d2, d13 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ + vmla.f64 d6, d2, d13 │ │ │ │ │ vmul.f64 d3, d3, d13 │ │ │ │ │ - vstr d3, [r1] │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ vsub.f64 d3, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ + vadd.f64 d5, d14, d1 │ │ │ │ │ + vldr d1, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d14, [pc, #60] @ a60 │ │ │ │ │ vadd.f64 d2, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vstr d2, [r3] │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ vstr d7, [r4] │ │ │ │ │ vadd.f64 d7, d4, d6 │ │ │ │ │ - ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ + ldr r2, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d6, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d2, [sp, #248] @ 0xf8 │ │ │ │ │ vstr d7, [r0] │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - vldr d4, [sp, #136] @ 0x88 │ │ │ │ │ - vadd.f64 d5, d14, d4 │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ vldr d4, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d3, [sp, #168] @ 0xa8 │ │ │ │ │ - vldr d6, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d2, [sp, #272] @ 0x110 │ │ │ │ │ - vsub.f64 d7, d4, d3 │ │ │ │ │ - vldr d3, [sp, #248] @ 0xf8 │ │ │ │ │ - vadd.f64 d6, d10, d6 │ │ │ │ │ - ldr r1, [sp, #100] @ 0x64 │ │ │ │ │ - ldr r3, [sp, #4] │ │ │ │ │ - vsub.f64 d3, d3, d2 │ │ │ │ │ - ldr r0, [sp, #16] │ │ │ │ │ - vmul.f64 d4, d7, d11 │ │ │ │ │ - vldr d9, [sp, #368] @ 0x170 │ │ │ │ │ + vsub.f64 d3, d1, d2 │ │ │ │ │ + b.n a78 │ │ │ │ │ + nop │ │ │ │ │ + nop.w │ │ │ │ │ + .word 0x04755a5e │ │ │ │ │ + .word 0x3fd2cf23 │ │ │ │ │ + .word 0x9b97f4a8 │ │ │ │ │ + .word 0x3fd1e377 │ │ │ │ │ + .word 0x04755a5e │ │ │ │ │ + .word 0x3fd2cf23 │ │ │ │ │ + vadd.f64 d1, d15, d9 │ │ │ │ │ + vsub.f64 d7, d4, d6 │ │ │ │ │ + vadd.f64 d6, d10, d11 │ │ │ │ │ + vmul.f64 d4, d7, d14 │ │ │ │ │ vadd.f64 d2, d6, d1 │ │ │ │ │ vsub.f64 d6, d6, d1 │ │ │ │ │ - vldr d15, [sp, #328] @ 0x148 │ │ │ │ │ - vldr d14, [sp, #400] @ 0x190 │ │ │ │ │ vnmls.f64 d4, d5, d12 │ │ │ │ │ - vmul.f64 d5, d5, d11 │ │ │ │ │ + vmul.f64 d5, d5, d14 │ │ │ │ │ + vmul.f64 d6, d6, d0 │ │ │ │ │ vmla.f64 d5, d7, d12 │ │ │ │ │ vmul.f64 d7, d2, d8 │ │ │ │ │ - vmul.f64 d6, d6, d0 │ │ │ │ │ - ldr r2, [sp, #68] @ 0x44 │ │ │ │ │ - vldr d1, [sp, #256] @ 0x100 │ │ │ │ │ - vldr d10, [sp, #280] @ 0x118 │ │ │ │ │ vnmls.f64 d7, d3, d13 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ - ldr r4, [sp, #52] @ 0x34 │ │ │ │ │ - ldr r7, [sp, #104] @ 0x68 │ │ │ │ │ - ldr r6, [sp, #28] │ │ │ │ │ vmul.f64 d3, d3, d13 │ │ │ │ │ - vstr d3, [r1] │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ vadd.f64 d3, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d2, d5, d3 │ │ │ │ │ - vsub.f64 d3, d3, d5 │ │ │ │ │ vsub.f64 d6, d7, d4 │ │ │ │ │ + vsub.f64 d3, d3, d5 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ - vldr d7, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d2, [r3] │ │ │ │ │ - ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d2, [sp, #128] @ 0x80 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ - vsub.f64 d3, d1, d10 │ │ │ │ │ + vldr d5, [pc, #-96] @ a70 │ │ │ │ │ + vstr d2, [r1] │ │ │ │ │ + ldr r0, [sp, #16] │ │ │ │ │ + vldr d11, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d14, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d9, [sp, #368] @ 0x170 │ │ │ │ │ + vldr d15, [sp, #440] @ 0x1b8 │ │ │ │ │ + vsub.f64 d7, d11, d14 │ │ │ │ │ + ldr r6, [sp, #28] │ │ │ │ │ + ldr r4, [sp, #52] @ 0x34 │ │ │ │ │ + ldr r1, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d2, [sp, #192] @ 0xc0 │ │ │ │ │ + vstr d3, [r4] │ │ │ │ │ vstr d6, [r0] │ │ │ │ │ - vsub.f64 d6, d9, d7 │ │ │ │ │ - vsub.f64 d7, d15, d14 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - vldr d10, [sp, #392] @ 0x188 │ │ │ │ │ - ldr r0, [sp, #76] @ 0x4c │ │ │ │ │ + vsub.f64 d6, d9, d15 │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ vmul.f64 d4, d7, d12 │ │ │ │ │ - vmul.f64 d7, d7, d11 │ │ │ │ │ + vmul.f64 d7, d7, d5 │ │ │ │ │ + vldr d10, [sp, #392] @ 0x188 │ │ │ │ │ + vldr d3, [sp, #232] @ 0xe8 │ │ │ │ │ + vnmls.f64 d4, d6, d5 │ │ │ │ │ vmla.f64 d7, d6, d12 │ │ │ │ │ - vnmls.f64 d4, d6, d11 │ │ │ │ │ - vldr d6, [sp, #184] @ 0xb8 │ │ │ │ │ - vadd.f64 d5, d6, d2 │ │ │ │ │ - vldr d2, [sp, #200] @ 0xc8 │ │ │ │ │ + ldr r0, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d5, [sp, #256] @ 0x100 │ │ │ │ │ vadd.f64 d1, d10, d2 │ │ │ │ │ + vldr d6, [sp, #168] @ 0xa8 │ │ │ │ │ + ldr r7, [sp, #108] @ 0x6c │ │ │ │ │ + vsub.f64 d3, d3, d5 │ │ │ │ │ + vldr d5, [sp, #128] @ 0x80 │ │ │ │ │ + vadd.f64 d5, d6, d5 │ │ │ │ │ vadd.f64 d2, d5, d1 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ + vldr d1, [sp, #224] @ 0xe0 │ │ │ │ │ vmul.f64 d6, d2, d8 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ vnmls.f64 d6, d3, d13 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ vmul.f64 d3, d3, d13 │ │ │ │ │ vstr d3, [r8] │ │ │ │ │ vadd.f64 d3, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ + vldr d5, [sp, #128] @ 0x80 │ │ │ │ │ vadd.f64 d2, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ + vadd.f64 d3, d14, d11 │ │ │ │ │ + vstr d2, [r0] │ │ │ │ │ + ldr r0, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d2, [sp, #248] @ 0xf8 │ │ │ │ │ vstr d7, [r0] │ │ │ │ │ vadd.f64 d7, d4, d6 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ - b.n b58 │ │ │ │ │ - nop.w │ │ │ │ │ - .word 0x9b97f4a8 │ │ │ │ │ - .word 0x3fd1e377 │ │ │ │ │ + vldr d6, [sp, #168] @ 0xa8 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ + vsub.f64 d7, d5, d6 │ │ │ │ │ vstr d4, [r6] │ │ │ │ │ - vldr d4, [sp, #128] @ 0x80 │ │ │ │ │ - vldr d6, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d3, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d2, [sp, #272] @ 0x110 │ │ │ │ │ - vsub.f64 d7, d4, d6 │ │ │ │ │ - vldr d6, [sp, #200] @ 0xc8 │ │ │ │ │ - ldr r7, [sp, #432] @ 0x1b0 │ │ │ │ │ - vadd.f64 d4, d3, d2 │ │ │ │ │ - vadd.f64 d3, d14, d15 │ │ │ │ │ + vldr d6, [sp, #192] @ 0xc0 │ │ │ │ │ + vldr d4, [pc, #-304] @ a70 │ │ │ │ │ + ldr r7, [sp, #116] @ 0x74 │ │ │ │ │ vsub.f64 d5, d6, d10 │ │ │ │ │ - ldr r2, [sp, #36] @ 0x24 │ │ │ │ │ - ldr r3, [sp, #560] @ 0x230 │ │ │ │ │ - ldr r5, [sp, #60] @ 0x3c │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #560] @ 0x230 │ │ │ │ │ - vmul.f64 d6, d5, d11 │ │ │ │ │ - ldr r3, [sp, #436] @ 0x1b4 │ │ │ │ │ + vmul.f64 d6, d5, d4 │ │ │ │ │ vmla.f64 d6, d7, d12 │ │ │ │ │ - vmul.f64 d7, d7, d11 │ │ │ │ │ - add r8, r3 │ │ │ │ │ + vmul.f64 d7, d7, d4 │ │ │ │ │ + vadd.f64 d4, d1, d2 │ │ │ │ │ vnmls.f64 d7, d5, d12 │ │ │ │ │ - vldr d5, [sp, #112] @ 0x70 │ │ │ │ │ - vadd.f64 d5, d9, d5 │ │ │ │ │ + vadd.f64 d5, d9, d15 │ │ │ │ │ vadd.f64 d2, d5, d3 │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ vmul.f64 d3, d2, d8 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ vnmls.f64 d3, d4, d13 │ │ │ │ │ vadd.f64 d4, d4, d2 │ │ │ │ │ vmul.f64 d4, d4, d13 │ │ │ │ │ vstr d4, [lr] │ │ │ │ │ vsub.f64 d4, d3, d5 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ - add lr, r3 │ │ │ │ │ - ldr r3, [sp, #440] @ 0x1b8 │ │ │ │ │ vadd.f64 d2, d7, d4 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ vsub.f64 d7, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - add r9, r3 │ │ │ │ │ - add sl, r3 │ │ │ │ │ vstr d2, [r7] │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - ldr r7, [sp, #0] │ │ │ │ │ - ldr r2, [sp, #84] @ 0x54 │ │ │ │ │ - add.w r3, r7, #304 @ 0x130 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ - ldr r3, [sp, #444] @ 0x1bc │ │ │ │ │ + ldr r1, [sp, #36] @ 0x24 │ │ │ │ │ + ldr r3, [sp, #584] @ 0x248 │ │ │ │ │ + ldr r5, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ + ldr r1, [sp, #88] @ 0x58 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + str r3, [sp, #584] @ 0x248 │ │ │ │ │ + ldr r3, [sp, #460] @ 0x1cc │ │ │ │ │ vstr d7, [r5] │ │ │ │ │ + ldr r2, [sp, #584] @ 0x248 │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ + add lr, r3 │ │ │ │ │ + add r8, r3 │ │ │ │ │ + ldr r3, [sp, #464] @ 0x1d0 │ │ │ │ │ + add r9, r3 │ │ │ │ │ + add sl, r3 │ │ │ │ │ + ldr r3, [sp, #4] │ │ │ │ │ + add.w r3, r3, #304 @ 0x130 │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ + ldr r3, [sp, #468] @ 0x1d4 │ │ │ │ │ eor.w fp, fp, r3 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - ldrd r2, r3, [sp, #560] @ 0x230 │ │ │ │ │ + ldr r3, [sp, #588] @ 0x24c │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 78 │ │ │ │ │ - add sp, #452 @ 0x1c4 │ │ │ │ │ + bne.w 80 │ │ │ │ │ + add sp, #476 @ 0x1dc │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000c20 : │ │ │ │ │ +00000c58 : │ │ │ │ │ fftw_codelet_hc2cfdft_20(): │ │ │ │ │ - ldr r2, [pc, #12] @ (c30 ) │ │ │ │ │ - movs r3, #1 │ │ │ │ │ - ldr r1, [pc, #12] @ (c34 ) │ │ │ │ │ + ldr r2, [pc, #12] @ (c68 ) │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + ldr r1, [pc, #12] @ (c6c ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2c_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + .word 0x00000006 │ │ │ │ │ R_ARM_REL32 hc2cfdft_20 │ │ │ ├── hc2cfdft_32.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 5984 (bytes into file) │ │ │ │ │ + Start of section headers: 6116 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x1760: │ │ │ │ │ +There are 14 section headers, starting at offset 0x17e4: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00141c 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0016a8 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 001450 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 001450 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 001450 00000c 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 00145c 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 001464 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 0016d0 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 001494 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 001494 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 0014c8 000150 10 12 16 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 001618 00008f 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 0016e8 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0014a0 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 00172c 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0014d4 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0014d4 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0014d4 00000c 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 0014e0 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0014e8 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 001754 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 001518 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 001518 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 00154c 000150 10 12 16 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 00169c 00008f 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 00176c 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 21 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 5122 FUNC LOCAL DEFAULT 1 hc2cfdft_32 │ │ │ │ │ + 1: 00000001 5254 FUNC LOCAL DEFAULT 1 hc2cfdft_32 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000ef0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000f10 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000012e0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00001320 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00001414 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000f50 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000f70 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00001348 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00001388 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00001498 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 13: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 14: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 15: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 18: 00001405 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cfdft_32 │ │ │ │ │ + 18: 00001489 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cfdft_32 │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2c_register │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hc2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x16a8 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x172c contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000f08 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000f0c 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00001414 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00001418 00000103 R_ARM_REL32 00000001 hc2cfdft_32 │ │ │ │ │ -0000140e 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ +00000f68 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000f6c 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00001498 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +0000149c 00000103 R_ARM_REL32 00000001 hc2cfdft_32 │ │ │ │ │ +00001494 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x16d0 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x1754 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000a02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001402 R_ARM_ABS32 00000000 fftw_rdft_hc2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,681 +1,674 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hc2cfdft_32(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r7, r3 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + mov r4, r0 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r6, r2 │ │ │ │ │ mov r5, r1 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r7, r3 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub.w sp, sp, #788 @ 0x314 │ │ │ │ │ - mov r4, r0 │ │ │ │ │ - mov.w r0, #496 @ 0x1f0 │ │ │ │ │ - mov r6, r2 │ │ │ │ │ - ldr.w r2, [pc, #3820] @ f08 │ │ │ │ │ + ldrd r2, ip, [sp, #888] @ 0x378 │ │ │ │ │ ldr r3, [sp, #896] @ 0x380 │ │ │ │ │ - add r2, pc │ │ │ │ │ - ldr.w ip, [sp, #892] @ 0x37c │ │ │ │ │ - subs r1, r3, #1 │ │ │ │ │ - ldr r3, [sp, #888] @ 0x378 │ │ │ │ │ - mla fp, r0, r1, r3 │ │ │ │ │ - ldrd r3, r1, [sp, #896] @ 0x380 │ │ │ │ │ - cmp r3, r1 │ │ │ │ │ - bge.w 13f6 │ │ │ │ │ + ldr.w r1, [pc, #3900] @ f68 │ │ │ │ │ + add.w r3, r3, #4294967295 @ 0xffffffff │ │ │ │ │ + rsb r3, r3, r3, lsl #5 │ │ │ │ │ + add r1, pc │ │ │ │ │ + add.w r0, r2, r3, lsl #4 │ │ │ │ │ + ldrd r3, r2, [sp, #896] @ 0x380 │ │ │ │ │ + cmp r3, r2 │ │ │ │ │ + bge.w 1468 │ │ │ │ │ ldr r3, [sp, #904] @ 0x388 │ │ │ │ │ - mov lr, r7 │ │ │ │ │ - mov r8, ip │ │ │ │ │ - mov r7, r5 │ │ │ │ │ - mov ip, r6 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ + mov sl, ip │ │ │ │ │ + mov lr, r5 │ │ │ │ │ + mov r8, r6 │ │ │ │ │ + mov r9, r7 │ │ │ │ │ + mov ip, r4 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ str r3, [sp, #772] @ 0x304 │ │ │ │ │ - negs r3, r3 │ │ │ │ │ + rsb r3, r3, #0 │ │ │ │ │ str r3, [sp, #776] @ 0x308 │ │ │ │ │ - ldr.w r3, [pc, #3776] @ f0c │ │ │ │ │ - ldr r3, [r2, r3] │ │ │ │ │ - str r4, [sp, #0] │ │ │ │ │ + ldr.w r3, [pc, #3852] @ f6c │ │ │ │ │ + ldr r3, [r1, r3] │ │ │ │ │ + str r0, [sp, #0] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ str r3, [sp, #780] @ 0x30c │ │ │ │ │ - mov.w r3, r8, lsl #5 │ │ │ │ │ - vldr d7, [fp, #128] @ 0x80 │ │ │ │ │ - add.w r1, lr, r3 │ │ │ │ │ - str r1, [sp, #20] │ │ │ │ │ - adds r2, r7, r3 │ │ │ │ │ - add.w r5, ip, r3 │ │ │ │ │ - vldr d1, [r7] │ │ │ │ │ - movs r6, #96 @ 0x60 │ │ │ │ │ - vldr d15, [r1] │ │ │ │ │ - ldr r1, [sp, #0] │ │ │ │ │ + mov.w r3, sl, lsl #5 │ │ │ │ │ + vldr d1, [lr] │ │ │ │ │ + add.w r0, sl, sl, lsl #1 │ │ │ │ │ + add.w r2, lr, r3 │ │ │ │ │ + add.w r1, r9, r3 │ │ │ │ │ + vldr d14, [r9] │ │ │ │ │ + add.w r4, ip, r3 │ │ │ │ │ + add.w r5, r8, r3 │ │ │ │ │ vldr d2, [r2] │ │ │ │ │ - adds r0, r1, r3 │ │ │ │ │ + str r2, [sp, #8] │ │ │ │ │ + mov.w r2, r0, lsl #5 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + strd r1, r4, [sp, #20] │ │ │ │ │ + add.w r6, lr, r2 │ │ │ │ │ + add.w r7, r9, r2 │ │ │ │ │ + vldr d15, [r1] │ │ │ │ │ + add.w r4, ip, r2 │ │ │ │ │ + str r6, [sp, #32] │ │ │ │ │ vldr d10, [r5] │ │ │ │ │ - vldr d14, [lr] │ │ │ │ │ + str r5, [sp, #40] @ 0x28 │ │ │ │ │ + ldr r1, [sp, #0] │ │ │ │ │ + strd r7, r4, [sp, #44] @ 0x2c │ │ │ │ │ vadd.f64 d5, d2, d15 │ │ │ │ │ - str r2, [sp, #8] │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ - mul.w r2, r6, r8 │ │ │ │ │ - vldr d13, [r1] │ │ │ │ │ - mov r6, r1 │ │ │ │ │ - adds r4, r7, r2 │ │ │ │ │ - str r0, [sp, #24] │ │ │ │ │ + vldr d13, [ip] │ │ │ │ │ + vsub.f64 d15, d2, d15 │ │ │ │ │ + str r0, [sp, #260] @ 0x104 │ │ │ │ │ + mov.w r0, #104 @ 0x68 │ │ │ │ │ vsub.f64 d6, d4, d10 │ │ │ │ │ vadd.f64 d10, d4, d10 │ │ │ │ │ - vldr d4, [fp, #136] @ 0x88 │ │ │ │ │ - add.w r0, lr, r2 │ │ │ │ │ - add r1, r2 │ │ │ │ │ - add r2, ip │ │ │ │ │ - vldr d9, [r4] │ │ │ │ │ - vsub.f64 d15, d2, d15 │ │ │ │ │ + vldr d9, [r6] │ │ │ │ │ + add.w r6, r8, r2 │ │ │ │ │ + mov.w r2, sl, lsl #6 │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ + add.w r5, lr, r2 │ │ │ │ │ + vldr d4, [r1, #136] @ 0x88 │ │ │ │ │ + str r5, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d7, [r1, #128] @ 0x80 │ │ │ │ │ + str r6, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d11, [r7] │ │ │ │ │ + add.w r7, r9, r2 │ │ │ │ │ vmul.f64 d0, d5, d4 │ │ │ │ │ - vldr d2, [fp] │ │ │ │ │ + vldr d12, [r6] │ │ │ │ │ vmla.f64 d0, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d4 │ │ │ │ │ - vldr d4, [ip] │ │ │ │ │ - vldr d11, [r0] │ │ │ │ │ - vldr d12, [r2] │ │ │ │ │ + vldr d4, [r8] │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ + vldr d7, [r1, #8] │ │ │ │ │ vadd.f64 d5, d1, d14 │ │ │ │ │ - vldr d7, [fp, #8] │ │ │ │ │ vsub.f64 d3, d4, d13 │ │ │ │ │ - vadd.f64 d13, d4, d13 │ │ │ │ │ vsub.f64 d14, d1, d14 │ │ │ │ │ - vldr d1, [r1] │ │ │ │ │ + vldr d1, [r4] │ │ │ │ │ + vadd.f64 d13, d4, d13 │ │ │ │ │ + add.w r4, ip, r2 │ │ │ │ │ vmul.f64 d4, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d2 │ │ │ │ │ + vstr d6, [sp] │ │ │ │ │ + vnmls.f64 d4, d3, d2 │ │ │ │ │ vmla.f64 d5, d3, d7 │ │ │ │ │ - str r2, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d3, [r1, #384] @ 0x180 │ │ │ │ │ + vadd.f64 d2, d9, d11 │ │ │ │ │ vsub.f64 d7, d1, d12 │ │ │ │ │ vadd.f64 d12, d1, d12 │ │ │ │ │ - vldr d1, [fp, #392] @ 0x188 │ │ │ │ │ - mov.w r2, r8, lsl #6 │ │ │ │ │ - vnmls.f64 d4, d3, d2 │ │ │ │ │ - vadd.f64 d2, d9, d11 │ │ │ │ │ - vldr d3, [fp, #384] @ 0x180 │ │ │ │ │ + vldr d1, [r1, #392] @ 0x188 │ │ │ │ │ vsub.f64 d11, d9, d11 │ │ │ │ │ - str r5, [sp, #40] @ 0x28 │ │ │ │ │ - adds r5, r7, r2 │ │ │ │ │ - str r1, [sp, #48] @ 0x30 │ │ │ │ │ - add.w r1, lr, r2 │ │ │ │ │ vmul.f64 d8, d2, d1 │ │ │ │ │ - str r0, [sp, #44] @ 0x2c │ │ │ │ │ + vstr d5, [sp, #80] @ 0x50 │ │ │ │ │ vmla.f64 d8, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - adds r0, r6, r2 │ │ │ │ │ - add r2, ip │ │ │ │ │ - str r4, [sp, #32] │ │ │ │ │ - str r5, [sp, #56] @ 0x38 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ - vstr d6, [sp] │ │ │ │ │ - vstr d5, [sp, #80] @ 0x50 │ │ │ │ │ vmov.f64 d5, d8 │ │ │ │ │ vstr d7, [sp, #96] @ 0x60 │ │ │ │ │ vldr d7, [r5] │ │ │ │ │ - str r1, [sp, #68] @ 0x44 │ │ │ │ │ - vldr d8, [r1] │ │ │ │ │ - vldr d1, [r2] │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ + add.w r5, r8, r2 │ │ │ │ │ + mov.w r2, sl, lsl #4 │ │ │ │ │ + strd r7, r4, [sp, #68] @ 0x44 │ │ │ │ │ + vldr d8, [r7] │ │ │ │ │ + add.w fp, r9, r2 │ │ │ │ │ + add.w r6, r8, r2 │ │ │ │ │ + vstr d5, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d1, [r5] │ │ │ │ │ + str r5, [sp, #76] @ 0x4c │ │ │ │ │ + add.w r5, ip, r2 │ │ │ │ │ + vldr d2, [r4] │ │ │ │ │ + add.w r4, lr, r2 │ │ │ │ │ + sub.w r2, r2, sl │ │ │ │ │ + add.w r7, r4, r3 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + vldr d6, [r1, #264] @ 0x108 │ │ │ │ │ vadd.f64 d9, d7, d8 │ │ │ │ │ - vldr d6, [fp, #264] @ 0x108 │ │ │ │ │ vsub.f64 d7, d7, d8 │ │ │ │ │ - vldr d8, [fp, #256] @ 0x100 │ │ │ │ │ + vldr d8, [r1, #256] @ 0x100 │ │ │ │ │ vsub.f64 d3, d2, d1 │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ - vstr d5, [sp, #88] @ 0x58 │ │ │ │ │ vmul.f64 d1, d9, d6 │ │ │ │ │ - str r0, [sp, #72] @ 0x48 │ │ │ │ │ - str r2, [sp, #76] @ 0x4c │ │ │ │ │ - mov.w r2, r8, lsl #4 │ │ │ │ │ vmla.f64 d1, d3, d8 │ │ │ │ │ vmul.f64 d3, d3, d6 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - add.w r9, lr, r2 │ │ │ │ │ - adds r0, r6, r2 │ │ │ │ │ - add.w sl, ip, r2 │ │ │ │ │ - add.w r4, r9, r3 │ │ │ │ │ - adds r2, r1, r3 │ │ │ │ │ vnmls.f64 d3, d9, d8 │ │ │ │ │ vadd.f64 d8, d0, d5 │ │ │ │ │ - adds r5, r0, r3 │ │ │ │ │ vsub.f64 d9, d4, d1 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ vsub.f64 d6, d9, d8 │ │ │ │ │ vadd.f64 d5, d9, d8 │ │ │ │ │ - vldr d9, [sp, #96] @ 0x60 │ │ │ │ │ vldr d8, [sp] │ │ │ │ │ + vldr d9, [sp, #96] @ 0x60 │ │ │ │ │ vstr d6, [sp, #632] @ 0x278 │ │ │ │ │ vldr d6, [sp, #80] @ 0x50 │ │ │ │ │ vadd.f64 d8, d8, d9 │ │ │ │ │ vstr d5, [sp, #640] @ 0x280 │ │ │ │ │ vadd.f64 d9, d6, d3 │ │ │ │ │ vadd.f64 d6, d8, d9 │ │ │ │ │ vsub.f64 d5, d9, d8 │ │ │ │ │ - vldr d9, [sp, #96] @ 0x60 │ │ │ │ │ vldr d8, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d9, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d5, [sp, #272] @ 0x110 │ │ │ │ │ + vsub.f64 d0, d8, d0 │ │ │ │ │ vstr d6, [sp, #648] @ 0x288 │ │ │ │ │ vldr d6, [sp, #80] @ 0x50 │ │ │ │ │ - vsub.f64 d0, d8, d0 │ │ │ │ │ - vstr d5, [sp, #272] @ 0x110 │ │ │ │ │ vsub.f64 d5, d6, d3 │ │ │ │ │ vldr d6, [sp] │ │ │ │ │ vsub.f64 d6, d6, d9 │ │ │ │ │ vadd.f64 d3, d0, d5 │ │ │ │ │ vsub.f64 d1, d4, d6 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ vstr d3, [sp, #656] @ 0x290 │ │ │ │ │ vsub.f64 d3, d5, d0 │ │ │ │ │ - vldr d5, [fp, #240] @ 0xf0 │ │ │ │ │ + vldr d5, [r1, #240] @ 0xf0 │ │ │ │ │ vstr d4, [sp, #680] @ 0x2a8 │ │ │ │ │ - vldr d4, [fp, #248] @ 0xf8 │ │ │ │ │ + vldr d4, [r1, #248] @ 0xf8 │ │ │ │ │ vstr d3, [sp, #664] @ 0x298 │ │ │ │ │ vstr d1, [sp, #672] @ 0x2a0 │ │ │ │ │ vmul.f64 d6, d2, d4 │ │ │ │ │ vnmls.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vmla.f64 d7, d2, d5 │ │ │ │ │ - vldr d5, [fp, #120] @ 0x78 │ │ │ │ │ vadd.f64 d2, d14, d6 │ │ │ │ │ vsub.f64 d0, d13, d7 │ │ │ │ │ vadd.f64 d7, d13, d7 │ │ │ │ │ vsub.f64 d13, d14, d6 │ │ │ │ │ - vldr d6, [fp, #112] @ 0x70 │ │ │ │ │ + vldr d6, [r1, #112] @ 0x70 │ │ │ │ │ vstr d2, [sp, #280] @ 0x118 │ │ │ │ │ - vstr d7, [sp, #296] @ 0x128 │ │ │ │ │ - vmul.f64 d7, d10, d5 │ │ │ │ │ vstr d0, [sp, #288] @ 0x120 │ │ │ │ │ + vstr d7, [sp, #296] @ 0x128 │ │ │ │ │ vstr d13, [sp, #304] @ 0x130 │ │ │ │ │ + vldr d5, [r1, #120] @ 0x78 │ │ │ │ │ + str r4, [sp, #80] @ 0x50 │ │ │ │ │ + str r5, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d4, [r1, #376] @ 0x178 │ │ │ │ │ + str r6, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d13, [r1, #200] @ 0xc8 │ │ │ │ │ + vmul.f64 d7, d10, d5 │ │ │ │ │ + str r7, [sp, #104] @ 0x68 │ │ │ │ │ vnmls.f64 d7, d15, d6 │ │ │ │ │ vmul.f64 d15, d15, d5 │ │ │ │ │ - vldr d5, [fp, #368] @ 0x170 │ │ │ │ │ + vldr d5, [r1, #368] @ 0x170 │ │ │ │ │ vmla.f64 d15, d10, d6 │ │ │ │ │ - vldr d4, [fp, #376] @ 0x178 │ │ │ │ │ - str r1, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d13, [fp, #200] @ 0xc8 │ │ │ │ │ vmul.f64 d6, d12, d4 │ │ │ │ │ - str r0, [sp, #88] @ 0x58 │ │ │ │ │ - str r2, [sp, #96] @ 0x60 │ │ │ │ │ - str r4, [sp, #104] @ 0x68 │ │ │ │ │ - str r5, [sp, #108] @ 0x6c │ │ │ │ │ vnmls.f64 d6, d11, d5 │ │ │ │ │ vmul.f64 d11, d11, d4 │ │ │ │ │ vmla.f64 d11, d12, d5 │ │ │ │ │ - vldr d12, [fp, #184] @ 0xb8 │ │ │ │ │ + vldr d12, [r1, #184] @ 0xb8 │ │ │ │ │ vadd.f64 d10, d7, d6 │ │ │ │ │ vsub.f64 d14, d7, d6 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + add.w r4, fp, r3 │ │ │ │ │ + vldr d7, [fp] │ │ │ │ │ + str r4, [sp, #108] @ 0x6c │ │ │ │ │ vadd.f64 d4, d15, d11 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - vldr d7, [r9] │ │ │ │ │ vsub.f64 d11, d15, d11 │ │ │ │ │ - vldr d15, [fp, #72] @ 0x48 │ │ │ │ │ - add.w r1, sl, r3 │ │ │ │ │ + vldr d15, [r1, #72] @ 0x48 │ │ │ │ │ vstr d10, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d10, [r1, #56] @ 0x38 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ - vstr d4, [sp, #328] @ 0x148 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d4, [sl] │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - adds r0, r4, r3 │ │ │ │ │ - vldr d10, [fp, #56] @ 0x38 │ │ │ │ │ vstr d14, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add r5, r3 │ │ │ │ │ + vstr d4, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ + add r6, r3 │ │ │ │ │ + vstr d11, [sp, #336] @ 0x150 │ │ │ │ │ vadd.f64 d3, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [fp, #48] @ 0x30 │ │ │ │ │ - vstr d11, [sp, #336] @ 0x150 │ │ │ │ │ + vldr d4, [r1, #48] @ 0x30 │ │ │ │ │ vmul.f64 d1, d3, d10 │ │ │ │ │ vmul.f64 d10, d5, d10 │ │ │ │ │ + vnmls.f64 d1, d5, d4 │ │ │ │ │ + vldr d5, [r1, #64] @ 0x40 │ │ │ │ │ vmla.f64 d10, d3, d4 │ │ │ │ │ vmul.f64 d3, d6, d15 │ │ │ │ │ vmul.f64 d15, d7, d15 │ │ │ │ │ - vnmls.f64 d1, d5, d4 │ │ │ │ │ - vldr d5, [fp, #64] @ 0x40 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ vmla.f64 d3, d7, d5 │ │ │ │ │ - vnmls.f64 d15, d6, d5 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ - adds r4, r5, r3 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - add r2, r3 │ │ │ │ │ + vnmls.f64 d15, d6, d5 │ │ │ │ │ + add r4, r3 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + add r7, r3 │ │ │ │ │ + vstr d1, [sp] │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [r5] │ │ │ │ │ - adds r5, r1, r3 │ │ │ │ │ - vstr d1, [sp] │ │ │ │ │ - vstr d3, [sp, #144] @ 0x90 │ │ │ │ │ + vstr d3, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d15, [sp, #160] @ 0xa0 │ │ │ │ │ vadd.f64 d3, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [fp, #176] @ 0xb0 │ │ │ │ │ + vldr d4, [r1, #176] @ 0xb0 │ │ │ │ │ vmul.f64 d11, d6, d13 │ │ │ │ │ - vstr d15, [sp, #152] @ 0x98 │ │ │ │ │ vmul.f64 d14, d3, d12 │ │ │ │ │ - vmul.f64 d13, d7, d13 │ │ │ │ │ vmul.f64 d12, d5, d12 │ │ │ │ │ - vmla.f64 d12, d3, d4 │ │ │ │ │ + vmul.f64 d13, d7, d13 │ │ │ │ │ vnmls.f64 d14, d5, d4 │ │ │ │ │ - vldr d5, [fp, #192] @ 0xc0 │ │ │ │ │ + vldr d5, [r1, #192] @ 0xc0 │ │ │ │ │ + vmla.f64 d12, d3, d4 │ │ │ │ │ vmla.f64 d11, d7, d5 │ │ │ │ │ vnmls.f64 d13, d6, d5 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + strd r5, r6, [sp, #112] @ 0x70 │ │ │ │ │ + add r5, r3 │ │ │ │ │ + add r6, r3 │ │ │ │ │ + vldr d2, [r1, #312] @ 0x138 │ │ │ │ │ + strd r7, r4, [sp, #120] @ 0x78 │ │ │ │ │ + add r7, r3 │ │ │ │ │ + vldr d5, [r6] │ │ │ │ │ + strd r5, r6, [sp, #128] @ 0x80 │ │ │ │ │ vsub.f64 d4, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - str r1, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ - vldr d2, [fp, #312] @ 0x138 │ │ │ │ │ - str r2, [sp, #116] @ 0x74 │ │ │ │ │ - add r2, r3 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + str r7, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d1, [r7] │ │ │ │ │ + add.w r7, r4, r3 │ │ │ │ │ + add.w r4, r5, r3 │ │ │ │ │ + add r3, r6 │ │ │ │ │ + vldr d8, [r1, #432] @ 0x1b0 │ │ │ │ │ + strd r7, r4, [sp, #140] @ 0x8c │ │ │ │ │ vadd.f64 d3, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [fp, #304] @ 0x130 │ │ │ │ │ - str r0, [sp, #120] @ 0x78 │ │ │ │ │ - add r0, r3 │ │ │ │ │ - vldr d1, [r2] │ │ │ │ │ + vldr d5, [r1, #304] @ 0x130 │ │ │ │ │ + str r3, [sp, #148] @ 0x94 │ │ │ │ │ + vldr d15, [r1, #440] @ 0x1b8 │ │ │ │ │ vmul.f64 d0, d3, d2 │ │ │ │ │ - str r4, [sp, #124] @ 0x7c │ │ │ │ │ - add r4, r3 │ │ │ │ │ - adds r3, r5, r3 │ │ │ │ │ - vldr d15, [fp, #440] @ 0x1b8 │ │ │ │ │ - vldr d8, [fp, #432] @ 0x1b0 │ │ │ │ │ vnmls.f64 d0, d4, d5 │ │ │ │ │ vmul.f64 d4, d4, d2 │ │ │ │ │ - vldr d2, [fp, #328] @ 0x148 │ │ │ │ │ + vldr d2, [r1, #328] @ 0x148 │ │ │ │ │ vmla.f64 d4, d3, d5 │ │ │ │ │ - vldr d5, [fp, #320] @ 0x140 │ │ │ │ │ - str r2, [sp, #132] @ 0x84 │ │ │ │ │ - movs r2, #104 @ 0x68 │ │ │ │ │ + vldr d5, [r1, #320] @ 0x140 │ │ │ │ │ vmul.f64 d3, d6, d2 │ │ │ │ │ - str r0, [sp, #136] @ 0x88 │ │ │ │ │ vmla.f64 d3, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - str r4, [sp, #140] @ 0x8c │ │ │ │ │ - str r5, [sp, #128] @ 0x80 │ │ │ │ │ + mov.w r3, sl, lsl #3 │ │ │ │ │ + add.w r6, lr, r3 │ │ │ │ │ + add.w r5, ip, r3 │ │ │ │ │ vnmls.f64 d7, d6, d5 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - str r3, [sp, #160] @ 0xa0 │ │ │ │ │ - mov.w r3, r8, lsl #3 │ │ │ │ │ - adds r5, r7, r3 │ │ │ │ │ - add.w r1, lr, r3 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + add.w r7, r8, r3 │ │ │ │ │ vsub.f64 d5, d1, d6 │ │ │ │ │ vadd.f64 d1, d1, d6 │ │ │ │ │ vldr d6, [r4] │ │ │ │ │ - adds r0, r6, r2 │ │ │ │ │ vadd.f64 d9, d6, d2 │ │ │ │ │ vsub.f64 d6, d6, d2 │ │ │ │ │ vmul.f64 d2, d9, d15 │ │ │ │ │ vnmls.f64 d2, d5, d8 │ │ │ │ │ vmul.f64 d5, d5, d15 │ │ │ │ │ - vldr d15, [fp, #456] @ 0x1c8 │ │ │ │ │ + vldr d15, [r1, #456] @ 0x1c8 │ │ │ │ │ vmla.f64 d5, d9, d8 │ │ │ │ │ - vldr d9, [fp, #448] @ 0x1c0 │ │ │ │ │ + vldr d9, [r1, #448] @ 0x1c0 │ │ │ │ │ vmul.f64 d8, d1, d15 │ │ │ │ │ vmla.f64 d8, d6, d9 │ │ │ │ │ vmul.f64 d6, d6, d15 │ │ │ │ │ vnmls.f64 d6, d1, d9 │ │ │ │ │ vldr d1, [sp] │ │ │ │ │ vadd.f64 d9, d1, d0 │ │ │ │ │ vadd.f64 d1, d10, d4 │ │ │ │ │ vsub.f64 d4, d10, d4 │ │ │ │ │ vstr d9, [sp, #344] @ 0x158 │ │ │ │ │ vadd.f64 d9, d12, d5 │ │ │ │ │ + vsub.f64 d5, d5, d12 │ │ │ │ │ vstr d1, [sp, #352] @ 0x160 │ │ │ │ │ vadd.f64 d1, d14, d2 │ │ │ │ │ - vsub.f64 d5, d5, d12 │ │ │ │ │ vsub.f64 d2, d2, d14 │ │ │ │ │ vstr d9, [sp, #360] @ 0x168 │ │ │ │ │ - vldr d9, [sp, #144] @ 0x90 │ │ │ │ │ - vstr d1, [sp, #368] @ 0x170 │ │ │ │ │ + vldr d9, [sp, #152] @ 0x98 │ │ │ │ │ vadd.f64 d12, d5, d2 │ │ │ │ │ vsub.f64 d14, d5, d2 │ │ │ │ │ + vstr d1, [sp, #368] @ 0x170 │ │ │ │ │ vadd.f64 d1, d9, d3 │ │ │ │ │ vadd.f64 d9, d11, d8 │ │ │ │ │ vsub.f64 d11, d11, d8 │ │ │ │ │ - vstr d12, [sp, #400] @ 0x190 │ │ │ │ │ vadd.f64 d15, d1, d9 │ │ │ │ │ vstr d15, [sp, #688] @ 0x2b0 │ │ │ │ │ vsub.f64 d15, d9, d1 │ │ │ │ │ vsub.f64 d1, d6, d13 │ │ │ │ │ vadd.f64 d13, d13, d6 │ │ │ │ │ - vstr d15, [sp, #376] @ 0x178 │ │ │ │ │ vadd.f64 d8, d1, d11 │ │ │ │ │ vsub.f64 d11, d1, d11 │ │ │ │ │ + vstr d15, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d9, [sp, #152] @ 0x98 │ │ │ │ │ + str r6, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d1, [sp, #160] @ 0xa0 │ │ │ │ │ + strd r5, r7, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + add.w r6, r9, r3 │ │ │ │ │ + vsub.f64 d3, d3, d9 │ │ │ │ │ + str r6, [sp, #160] @ 0xa0 │ │ │ │ │ vstr d8, [sp, #384] @ 0x180 │ │ │ │ │ - vstr d11, [sp, #392] @ 0x188 │ │ │ │ │ - vstr d14, [sp, #408] @ 0x198 │ │ │ │ │ - vldr d1, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d9, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ vsub.f64 d15, d1, d7 │ │ │ │ │ vadd.f64 d5, d1, d7 │ │ │ │ │ - vsub.f64 d3, d3, d9 │ │ │ │ │ vldr d1, [sp] │ │ │ │ │ - str r5, [sp, #144] @ 0x90 │ │ │ │ │ - adds r5, r6, r3 │ │ │ │ │ - add r3, ip │ │ │ │ │ - str r3, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d11, [sp, #392] @ 0x188 │ │ │ │ │ + vstr d12, [sp, #400] @ 0x190 │ │ │ │ │ + vstr d14, [sp, #408] @ 0x198 │ │ │ │ │ + vsub.f64 d7, d3, d15 │ │ │ │ │ vsub.f64 d0, d1, d0 │ │ │ │ │ vadd.f64 d2, d5, d13 │ │ │ │ │ - vsub.f64 d7, d3, d15 │ │ │ │ │ vsub.f64 d13, d13, d5 │ │ │ │ │ - str r1, [sp, #152] @ 0x98 │ │ │ │ │ - str r5, [sp, #164] @ 0xa4 │ │ │ │ │ vsub.f64 d10, d0, d4 │ │ │ │ │ vadd.f64 d4, d0, d4 │ │ │ │ │ vstr d7, [sp, #432] @ 0x1b0 │ │ │ │ │ vadd.f64 d7, d3, d15 │ │ │ │ │ vstr d2, [sp, #416] @ 0x1a0 │ │ │ │ │ - vldr d2, [fp, #24] │ │ │ │ │ - vstr d4, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d2, [r1, #24] │ │ │ │ │ + vstr d13, [sp, #424] @ 0x1a8 │ │ │ │ │ vstr d7, [sp, #440] @ 0x1b8 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - adds r3, r7, r2 │ │ │ │ │ - str r3, [sp, #172] @ 0xac │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + vstr d4, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + mul.w r7, r0, sl │ │ │ │ │ + vstr d10, [sp, #448] @ 0x1c0 │ │ │ │ │ + add.w r4, lr, r7 │ │ │ │ │ + add.w r6, r9, r7 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [r5] │ │ │ │ │ - str r0, [sp, #180] @ 0xb4 │ │ │ │ │ - vstr d13, [sp, #424] @ 0x1a8 │ │ │ │ │ + str r4, [sp, #176] @ 0xb0 │ │ │ │ │ + add.w r5, ip, r7 │ │ │ │ │ + add r7, r8 │ │ │ │ │ + str r6, [sp, #180] @ 0xb4 │ │ │ │ │ vadd.f64 d3, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [fp, #16] │ │ │ │ │ - vstr d10, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d4, [r1, #16] │ │ │ │ │ vmul.f64 d1, d3, d2 │ │ │ │ │ vnmls.f64 d1, d5, d4 │ │ │ │ │ vmul.f64 d5, d5, d2 │ │ │ │ │ vmla.f64 d5, d3, d4 │ │ │ │ │ - vldr d4, [fp, #40] @ 0x28 │ │ │ │ │ - vmul.f64 d3, d6, d4 │ │ │ │ │ + vldr d4, [r1, #40] @ 0x28 │ │ │ │ │ vmov.f64 d15, d1 │ │ │ │ │ - vstr d5, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d5, [fp, #32] │ │ │ │ │ + vmul.f64 d3, d6, d4 │ │ │ │ │ + vstr d5, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d5, [r1, #32] │ │ │ │ │ vmla.f64 d3, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vnmls.f64 d7, d6, d5 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - add.w r3, lr, r2 │ │ │ │ │ - add r2, ip │ │ │ │ │ - str r3, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - vstr d3, [sp, #224] @ 0xe0 │ │ │ │ │ - vstr d7, [sp, #232] @ 0xe8 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - movs r3, #72 @ 0x48 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + add.w r4, r3, sl │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + sub.w r3, r3, sl │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + vstr d3, [sp, #216] @ 0xd8 │ │ │ │ │ + vstr d7, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + add.w r6, lr, r4 │ │ │ │ │ + strd r5, r6, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + vstr d1, [sp] │ │ │ │ │ + vldr d1, [r1, #144] @ 0x90 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - adds r1, r7, r3 │ │ │ │ │ - add.w r5, lr, r3 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, r9, r4 │ │ │ │ │ + vldr d10, [r1, #408] @ 0x198 │ │ │ │ │ + vldr d12, [r1, #424] @ 0x1a8 │ │ │ │ │ vadd.f64 d3, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [fp, #400] @ 0x190 │ │ │ │ │ - adds r0, r6, r3 │ │ │ │ │ - vldr d10, [fp, #408] @ 0x198 │ │ │ │ │ - add r3, ip │ │ │ │ │ - vldr d12, [fp, #424] @ 0x1a8 │ │ │ │ │ - vldr d2, [fp, #280] @ 0x118 │ │ │ │ │ + vldr d2, [r1, #280] @ 0x118 │ │ │ │ │ + vldr d4, [r1, #400] @ 0x190 │ │ │ │ │ + vmul.f64 d11, d6, d12 │ │ │ │ │ + vldr d14, [r1, #152] @ 0x98 │ │ │ │ │ vmul.f64 d13, d3, d10 │ │ │ │ │ vmul.f64 d10, d5, d10 │ │ │ │ │ - vmul.f64 d11, d6, d12 │ │ │ │ │ vmul.f64 d12, d7, d12 │ │ │ │ │ - vmla.f64 d10, d3, d4 │ │ │ │ │ - str r3, [sp, #196] @ 0xc4 │ │ │ │ │ - str r1, [sp, #184] @ 0xb8 │ │ │ │ │ vnmls.f64 d13, d5, d4 │ │ │ │ │ - vldr d5, [fp, #416] @ 0x1a0 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - movs r3, #40 @ 0x28 │ │ │ │ │ - str r5, [sp, #188] @ 0xbc │ │ │ │ │ + vldr d5, [r1, #416] @ 0x1a0 │ │ │ │ │ + vmla.f64 d10, d3, d4 │ │ │ │ │ vmla.f64 d11, d7, d5 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ vnmls.f64 d12, d6, d5 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ + add.w r6, ip, r4 │ │ │ │ │ + add r4, r8 │ │ │ │ │ vldr d6, [r5] │ │ │ │ │ - adds r1, r7, r3 │ │ │ │ │ - add.w r5, lr, r3 │ │ │ │ │ - str r0, [sp, #192] @ 0xc0 │ │ │ │ │ + strd r5, r6, [sp, #192] @ 0xc0 │ │ │ │ │ + add.w r5, sl, sl, lsl #2 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - adds r0, r6, r3 │ │ │ │ │ - vldr d0, [r1] │ │ │ │ │ - add r3, ip │ │ │ │ │ - vldr d14, [fp, #152] @ 0x98 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + add.w r6, lr, r5 │ │ │ │ │ + vldr d0, [r6] │ │ │ │ │ + str r6, [sp, #200] @ 0xc8 │ │ │ │ │ + add.w r6, r9, r5 │ │ │ │ │ vadd.f64 d3, d6, d4 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ - vldr d4, [fp, #272] @ 0x110 │ │ │ │ │ - vldr d1, [fp, #144] @ 0x90 │ │ │ │ │ - str r1, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d4, [r1, #272] @ 0x110 │ │ │ │ │ + str r6, [sp, #204] @ 0xcc │ │ │ │ │ vmul.f64 d9, d3, d2 │ │ │ │ │ - str r5, [sp, #204] @ 0xcc │ │ │ │ │ - str r6, [sp, #0] │ │ │ │ │ - str r0, [sp, #240] @ 0xf0 │ │ │ │ │ - vstr d15, [sp, #208] @ 0xd0 │ │ │ │ │ vnmls.f64 d9, d5, d4 │ │ │ │ │ vmul.f64 d5, d5, d2 │ │ │ │ │ - vldr d2, [fp, #296] @ 0x128 │ │ │ │ │ + vldr d2, [r1, #296] @ 0x128 │ │ │ │ │ vmla.f64 d5, d3, d4 │ │ │ │ │ - vldr d4, [fp, #288] @ 0x120 │ │ │ │ │ + vldr d4, [r1, #288] @ 0x120 │ │ │ │ │ vmul.f64 d3, d7, d2 │ │ │ │ │ vmla.f64 d3, d6, d4 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ vnmls.f64 d6, d7, d4 │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ - movs r5, #120 @ 0x78 │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ + add.w r6, ip, r5 │ │ │ │ │ + add r5, r8 │ │ │ │ │ + str r6, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d2, [r5] │ │ │ │ │ vsub.f64 d7, d0, d4 │ │ │ │ │ vadd.f64 d0, d0, d4 │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ - mul.w r5, r5, r8 │ │ │ │ │ - movs r0, #88 @ 0x58 │ │ │ │ │ - adds r1, r7, r5 │ │ │ │ │ - add.w r4, lr, r5 │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ + add.w r6, lr, r2 │ │ │ │ │ vadd.f64 d8, d4, d2 │ │ │ │ │ vsub.f64 d4, d4, d2 │ │ │ │ │ - mul.w r0, r0, r8 │ │ │ │ │ vmul.f64 d2, d8, d14 │ │ │ │ │ vnmls.f64 d2, d7, d1 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ - vldr d14, [fp, #168] @ 0xa8 │ │ │ │ │ + vldr d14, [r1, #168] @ 0xa8 │ │ │ │ │ vmla.f64 d7, d8, d1 │ │ │ │ │ - vldr d8, [fp, #160] @ 0xa0 │ │ │ │ │ + vldr d8, [r1, #160] @ 0xa0 │ │ │ │ │ vmul.f64 d1, d0, d14 │ │ │ │ │ vmla.f64 d1, d4, d8 │ │ │ │ │ vmul.f64 d4, d4, d14 │ │ │ │ │ vnmls.f64 d4, d0, d8 │ │ │ │ │ vadd.f64 d8, d15, d9 │ │ │ │ │ vadd.f64 d0, d13, d2 │ │ │ │ │ vsub.f64 d2, d2, d13 │ │ │ │ │ vstr d8, [sp, #464] @ 0x1d0 │ │ │ │ │ vsub.f64 d14, d8, d0 │ │ │ │ │ vstr d0, [sp, #472] @ 0x1d8 │ │ │ │ │ - vldr d0, [sp, #216] @ 0xd8 │ │ │ │ │ vstr d14, [sp, #480] @ 0x1e0 │ │ │ │ │ + vldr d0, [sp, #208] @ 0xd0 │ │ │ │ │ vadd.f64 d14, d0, d5 │ │ │ │ │ vadd.f64 d0, d10, d7 │ │ │ │ │ vsub.f64 d7, d7, d10 │ │ │ │ │ - vstr d14, [sp, #488] @ 0x1e8 │ │ │ │ │ vsub.f64 d8, d14, d0 │ │ │ │ │ - vldr d14, [sp, #224] @ 0xe0 │ │ │ │ │ + vstr d14, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d14, [sp, #216] @ 0xd8 │ │ │ │ │ vstr d0, [sp, #496] @ 0x1f0 │ │ │ │ │ - vadd.f64 d0, d14, d3 │ │ │ │ │ - vsub.f64 d3, d3, d14 │ │ │ │ │ vstr d8, [sp, #504] @ 0x1f8 │ │ │ │ │ vadd.f64 d8, d11, d1 │ │ │ │ │ vsub.f64 d1, d1, d11 │ │ │ │ │ + vadd.f64 d0, d14, d3 │ │ │ │ │ + vsub.f64 d3, d3, d14 │ │ │ │ │ vadd.f64 d15, d0, d8 │ │ │ │ │ vstr d15, [sp, #512] @ 0x200 │ │ │ │ │ vsub.f64 d15, d8, d0 │ │ │ │ │ vsub.f64 d0, d12, d4 │ │ │ │ │ vadd.f64 d4, d12, d4 │ │ │ │ │ - vstr d15, [sp, #696] @ 0x2b8 │ │ │ │ │ vadd.f64 d11, d0, d1 │ │ │ │ │ vsub.f64 d1, d0, d1 │ │ │ │ │ - vldr d0, [sp, #216] @ 0xd8 │ │ │ │ │ - str r4, [sp, #216] @ 0xd8 │ │ │ │ │ + vldr d0, [sp, #208] @ 0xd0 │ │ │ │ │ + str r6, [sp, #208] @ 0xd0 │ │ │ │ │ vstr d11, [sp, #520] @ 0x208 │ │ │ │ │ vsub.f64 d5, d0, d5 │ │ │ │ │ - vldr d11, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d11, [sp, #224] @ 0xe0 │ │ │ │ │ vstr d1, [sp, #528] @ 0x210 │ │ │ │ │ + vstr d15, [sp, #696] @ 0x2b8 │ │ │ │ │ + vadd.f64 d13, d5, d2 │ │ │ │ │ vadd.f64 d1, d11, d6 │ │ │ │ │ vsub.f64 d6, d11, d6 │ │ │ │ │ - vadd.f64 d13, d5, d2 │ │ │ │ │ + vstr d13, [sp, #712] @ 0x2c8 │ │ │ │ │ vsub.f64 d11, d3, d6 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ - vldr d6, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d6, [sp] │ │ │ │ │ vadd.f64 d12, d1, d4 │ │ │ │ │ vsub.f64 d4, d4, d1 │ │ │ │ │ - str r1, [sp, #208] @ 0xd0 │ │ │ │ │ - vstr d13, [sp, #712] @ 0x2c8 │ │ │ │ │ vsub.f64 d9, d6, d9 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - ldr r1, [sp, #0] │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + add.w r6, r9, r2 │ │ │ │ │ vstr d4, [sp, #704] @ 0x2c0 │ │ │ │ │ vsub.f64 d4, d5, d2 │ │ │ │ │ - adds r6, r1, r5 │ │ │ │ │ - add r5, ip │ │ │ │ │ + str r6, [sp, #216] @ 0xd8 │ │ │ │ │ + vldr d2, [r1, #472] @ 0x1d8 │ │ │ │ │ + vstr d3, [sp, #552] @ 0x228 │ │ │ │ │ vsub.f64 d10, d9, d7 │ │ │ │ │ vadd.f64 d7, d9, d7 │ │ │ │ │ - vstr d3, [sp, #552] @ 0x228 │ │ │ │ │ + vstr d12, [sp, #536] @ 0x218 │ │ │ │ │ + vstr d11, [sp, #544] @ 0x220 │ │ │ │ │ vstr d4, [sp, #720] @ 0x2d0 │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ + vstr d10, [sp, #728] @ 0x2d8 │ │ │ │ │ vstr d7, [sp, #736] @ 0x2e0 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - movs r4, #56 @ 0x38 │ │ │ │ │ - vldr d2, [fp, #472] @ 0x1d8 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + add.w r6, ip, r2 │ │ │ │ │ + add r2, r8 │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ str r6, [sp, #224] @ 0xe0 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [r6] │ │ │ │ │ - adds r6, r7, r0 │ │ │ │ │ - vstr d12, [sp, #536] @ 0x218 │ │ │ │ │ - mul.w r4, r4, r8 │ │ │ │ │ - str r6, [sp, #232] @ 0xe8 │ │ │ │ │ + mov.w r6, #88 @ 0x58 │ │ │ │ │ + mul.w r6, r6, sl │ │ │ │ │ vadd.f64 d3, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [fp, #464] @ 0x1d0 │ │ │ │ │ - vstr d11, [sp, #544] @ 0x220 │ │ │ │ │ - vstr d10, [sp, #728] @ 0x2d8 │ │ │ │ │ + vldr d4, [r1, #464] @ 0x1d0 │ │ │ │ │ + add.w r0, lr, r6 │ │ │ │ │ vmul.f64 d1, d3, d2 │ │ │ │ │ vnmls.f64 d1, d5, d4 │ │ │ │ │ vmul.f64 d5, d5, d2 │ │ │ │ │ vmla.f64 d5, d3, d4 │ │ │ │ │ - vldr d4, [fp, #488] @ 0x1e8 │ │ │ │ │ - vmul.f64 d3, d6, d4 │ │ │ │ │ + vldr d4, [r1, #488] @ 0x1e8 │ │ │ │ │ vmov.f64 d0, d1 │ │ │ │ │ + vmul.f64 d3, d6, d4 │ │ │ │ │ vmov.f64 d9, d5 │ │ │ │ │ - vldr d5, [fp, #480] @ 0x1e0 │ │ │ │ │ + vldr d5, [r1, #480] @ 0x1e0 │ │ │ │ │ vmla.f64 d3, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vnmls.f64 d7, d6, d5 │ │ │ │ │ vmov.f64 d10, d3 │ │ │ │ │ vstr d7, [sp, #744] @ 0x2e8 │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ - add.w r6, lr, r0 │ │ │ │ │ - str r6, [sp, #244] @ 0xf4 │ │ │ │ │ - vldr d2, [fp, #344] @ 0x158 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - adds r6, r1, r0 │ │ │ │ │ - add r0, ip │ │ │ │ │ - str r6, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d12, [fp, #216] @ 0xd8 │ │ │ │ │ + str r0, [sp, #236] @ 0xec │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + add.w r0, r9, r6 │ │ │ │ │ + str r1, [sp, #0] │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + str r0, [sp, #240] @ 0xf0 │ │ │ │ │ + add.w r0, ip, r6 │ │ │ │ │ + add r6, r8 │ │ │ │ │ + vldr d2, [r1, #344] @ 0x158 │ │ │ │ │ + str r0, [sp, #244] @ 0xf4 │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - adds r6, r7, r4 │ │ │ │ │ - str r6, [sp, #252] @ 0xfc │ │ │ │ │ - vldr d11, [fp, #232] @ 0xe8 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + add.w r0, lr, r3 │ │ │ │ │ + str r0, [sp, #248] @ 0xf8 │ │ │ │ │ vadd.f64 d3, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [fp, #336] @ 0x150 │ │ │ │ │ + vldr d4, [r1, #336] @ 0x150 │ │ │ │ │ vmul.f64 d1, d3, d2 │ │ │ │ │ vnmls.f64 d1, d5, d4 │ │ │ │ │ vmul.f64 d5, d5, d2 │ │ │ │ │ vmla.f64 d5, d3, d4 │ │ │ │ │ - vldr d4, [fp, #360] @ 0x168 │ │ │ │ │ - vmul.f64 d3, d6, d4 │ │ │ │ │ + vldr d4, [r1, #360] @ 0x168 │ │ │ │ │ vmov.f64 d8, d1 │ │ │ │ │ + vmul.f64 d3, d6, d4 │ │ │ │ │ vstr d5, [sp, #592] @ 0x250 │ │ │ │ │ - vldr d5, [fp, #352] @ 0x160 │ │ │ │ │ + vldr d5, [r1, #352] @ 0x160 │ │ │ │ │ + add.w r1, ip, r3 │ │ │ │ │ + str r1, [sp, #256] @ 0x100 │ │ │ │ │ vmla.f64 d3, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vmov.f64 d15, d7 │ │ │ │ │ vnmls.f64 d15, d6, d5 │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ - add.w r6, lr, r4 │ │ │ │ │ - str r6, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + add.w r0, r9, r3 │ │ │ │ │ + add r3, r8 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + str r0, [sp, #252] @ 0xfc │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ vstr d3, [sp, #624] @ 0x270 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - adds r6, r1, r4 │ │ │ │ │ - add r4, ip │ │ │ │ │ - movs r1, #24 │ │ │ │ │ - str r6, [sp, #260] @ 0x104 │ │ │ │ │ + ldr r0, [sp, #260] @ 0x104 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d4, [r4] │ │ │ │ │ - mul.w r1, r1, r8 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - adds r6, r7, r1 │ │ │ │ │ - str r6, [sp, #264] @ 0x108 │ │ │ │ │ - vmul.f64 d13, d6, d11 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + ldr r1, [sp, #0] │ │ │ │ │ vadd.f64 d3, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [fp, #208] @ 0xd0 │ │ │ │ │ - vmul.f64 d1, d3, d12 │ │ │ │ │ - vmul.f64 d12, d5, d12 │ │ │ │ │ + vldr d4, [r1, #208] @ 0xd0 │ │ │ │ │ + vldr d13, [r1, #216] @ 0xd8 │ │ │ │ │ + vldr d11, [r1, #232] @ 0xe8 │ │ │ │ │ + vmul.f64 d1, d3, d13 │ │ │ │ │ + vmul.f64 d13, d5, d13 │ │ │ │ │ + vmul.f64 d12, d6, d11 │ │ │ │ │ vmul.f64 d11, d7, d11 │ │ │ │ │ - vmla.f64 d12, d3, d4 │ │ │ │ │ vnmls.f64 d1, d5, d4 │ │ │ │ │ - vldr d5, [fp, #224] @ 0xe0 │ │ │ │ │ - vmla.f64 d13, d7, d5 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - add.w r6, lr, r1 │ │ │ │ │ + vldr d5, [r1, #224] @ 0xe0 │ │ │ │ │ + mov.w r1, r0, lsl #3 │ │ │ │ │ + vmla.f64 d13, d3, d4 │ │ │ │ │ + add.w r0, lr, r1 │ │ │ │ │ + str r0, [sp, #260] @ 0x104 │ │ │ │ │ + vmla.f64 d12, d7, d5 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + add.w r0, r9, r1 │ │ │ │ │ vnmls.f64 d11, d6, d5 │ │ │ │ │ - str r6, [sp, #268] @ 0x10c │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ - ldr r6, [sp, #0] │ │ │ │ │ - vmov.f64 d14, d1 │ │ │ │ │ - add r6, r1 │ │ │ │ │ - add r1, ip │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + str r0, [sp, #264] @ 0x108 │ │ │ │ │ + add.w r0, ip, r1 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + str r0, [sp, #268] @ 0x10c │ │ │ │ │ + add.w r0, r1, r8 │ │ │ │ │ vsub.f64 d2, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - str r6, [sp, #768] @ 0x300 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - vldr d5, [r6] │ │ │ │ │ - vadd.f64 d4, d5, d6 │ │ │ │ │ - vsub.f64 d5, d5, d6 │ │ │ │ │ - vldr d6, [fp, #80] @ 0x50 │ │ │ │ │ - vldr d3, [fp, #88] @ 0x58 │ │ │ │ │ + str r0, [sp, #768] @ 0x300 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ vstr d0, [sp, #560] @ 0x230 │ │ │ │ │ - vadd.f64 d0, d0, d14 │ │ │ │ │ + vadd.f64 d0, d0, d1 │ │ │ │ │ + ldr r1, [sp, #0] │ │ │ │ │ + vstr d9, [sp, #568] @ 0x238 │ │ │ │ │ + vstr d1, [sp, #600] @ 0x258 │ │ │ │ │ vstr d8, [sp, #584] @ 0x248 │ │ │ │ │ - vmul.f64 d1, d4, d3 │ │ │ │ │ - vstr d14, [sp, #600] @ 0x258 │ │ │ │ │ + vadd.f64 d4, d5, d6 │ │ │ │ │ + vsub.f64 d5, d5, d6 │ │ │ │ │ vldr d14, [sp, #624] @ 0x270 │ │ │ │ │ - vstr d9, [sp, #568] @ 0x238 │ │ │ │ │ vstr d10, [sp, #576] @ 0x240 │ │ │ │ │ + vldr d6, [r1, #80] @ 0x50 │ │ │ │ │ + vldr d3, [r1, #88] @ 0x58 │ │ │ │ │ + vmul.f64 d1, d4, d3 │ │ │ │ │ vnmls.f64 d1, d2, d6 │ │ │ │ │ vmul.f64 d2, d2, d3 │ │ │ │ │ - vldr d3, [fp, #104] @ 0x68 │ │ │ │ │ + vldr d3, [r1, #104] @ 0x68 │ │ │ │ │ vmla.f64 d2, d4, d6 │ │ │ │ │ - vldr d6, [fp, #96] @ 0x60 │ │ │ │ │ - add.w fp, fp, #496 @ 0x1f0 │ │ │ │ │ + vldr d6, [r1, #96] @ 0x60 │ │ │ │ │ vmul.f64 d4, d7, d3 │ │ │ │ │ + vadd.f64 d8, d8, d1 │ │ │ │ │ vmla.f64 d4, d5, d6 │ │ │ │ │ vmul.f64 d5, d5, d3 │ │ │ │ │ - vadd.f64 d8, d8, d1 │ │ │ │ │ + vsub.f64 d3, d0, d8 │ │ │ │ │ vnmls.f64 d5, d7, d6 │ │ │ │ │ vldr d6, [sp, #592] @ 0x250 │ │ │ │ │ - vadd.f64 d7, d9, d12 │ │ │ │ │ - vadd.f64 d9, d10, d13 │ │ │ │ │ - vsub.f64 d3, d0, d8 │ │ │ │ │ + vadd.f64 d7, d9, d13 │ │ │ │ │ + vadd.f64 d9, d10, d12 │ │ │ │ │ vadd.f64 d0, d0, d8 │ │ │ │ │ vadd.f64 d10, d14, d4 │ │ │ │ │ vsub.f64 d4, d14, d4 │ │ │ │ │ vstr d3, [sp, #608] @ 0x260 │ │ │ │ │ vadd.f64 d3, d6, d2 │ │ │ │ │ vsub.f64 d6, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ @@ -687,85 +680,85 @@ │ │ │ │ │ vsub.f64 d9, d10, d11 │ │ │ │ │ vadd.f64 d11, d10, d11 │ │ │ │ │ vadd.f64 d10, d15, d5 │ │ │ │ │ vsub.f64 d5, d5, d15 │ │ │ │ │ vadd.f64 d14, d9, d4 │ │ │ │ │ vsub.f64 d4, d9, d4 │ │ │ │ │ vldr d9, [sp, #568] @ 0x238 │ │ │ │ │ - vsub.f64 d12, d9, d12 │ │ │ │ │ + vsub.f64 d13, d9, d13 │ │ │ │ │ vldr d9, [sp, #584] @ 0x248 │ │ │ │ │ + vstr d14, [sp, #744] @ 0x2e8 │ │ │ │ │ vstr d4, [sp, #752] @ 0x2f0 │ │ │ │ │ vadd.f64 d4, d11, d10 │ │ │ │ │ vsub.f64 d10, d11, d10 │ │ │ │ │ - vstr d14, [sp, #744] @ 0x2e8 │ │ │ │ │ - vsub.f64 d1, d1, d9 │ │ │ │ │ vldr d14, [sp, #600] @ 0x258 │ │ │ │ │ - vadd.f64 d11, d12, d1 │ │ │ │ │ - vsub.f64 d12, d12, d1 │ │ │ │ │ - vldr d1, [sp, #576] @ 0x240 │ │ │ │ │ - vsub.f64 d13, d13, d1 │ │ │ │ │ + vsub.f64 d1, d1, d9 │ │ │ │ │ + vadd.f64 d11, d13, d1 │ │ │ │ │ vstr d11, [sp, #568] @ 0x238 │ │ │ │ │ + vsub.f64 d11, d13, d1 │ │ │ │ │ + vldr d1, [sp, #576] @ 0x240 │ │ │ │ │ + vstr d11, [sp, #584] @ 0x248 │ │ │ │ │ + vsub.f64 d12, d12, d1 │ │ │ │ │ vldr d1, [sp, #592] @ 0x250 │ │ │ │ │ - vstr d12, [sp, #584] @ 0x248 │ │ │ │ │ - vsub.f64 d11, d13, d5 │ │ │ │ │ - vadd.f64 d5, d13, d5 │ │ │ │ │ - vsub.f64 d2, d2, d1 │ │ │ │ │ - vldr d13, [sp, #536] @ 0x218 │ │ │ │ │ - vstr d5, [sp, #760] @ 0x2f8 │ │ │ │ │ + vsub.f64 d13, d12, d5 │ │ │ │ │ + vadd.f64 d12, d12, d5 │ │ │ │ │ vldr d5, [sp, #560] @ 0x230 │ │ │ │ │ - vstr d11, [sp, #576] @ 0x240 │ │ │ │ │ + vsub.f64 d2, d2, d1 │ │ │ │ │ vsub.f64 d5, d5, d14 │ │ │ │ │ + vstr d13, [sp, #576] @ 0x240 │ │ │ │ │ + vstr d12, [sp, #760] @ 0x2f8 │ │ │ │ │ vsub.f64 d12, d5, d2 │ │ │ │ │ vadd.f64 d2, d5, d2 │ │ │ │ │ - vldr d5, [sp, #472] @ 0x1d8 │ │ │ │ │ vstr d12, [sp, #560] @ 0x230 │ │ │ │ │ vstr d2, [sp, #592] @ 0x250 │ │ │ │ │ - vldr d12, [sp, #512] @ 0x200 │ │ │ │ │ vldr d2, [sp, #464] @ 0x1d0 │ │ │ │ │ + vldr d5, [sp, #472] @ 0x1d8 │ │ │ │ │ + ldr r1, [sp, #216] @ 0xd8 │ │ │ │ │ + vldr d12, [sp, #512] @ 0x200 │ │ │ │ │ + vldr d13, [sp, #536] @ 0x218 │ │ │ │ │ vadd.f64 d15, d2, d5 │ │ │ │ │ + vldr d9, [sp, #688] @ 0x2b0 │ │ │ │ │ vsub.f64 d5, d12, d6 │ │ │ │ │ + vldr d14, [sp, #368] @ 0x170 │ │ │ │ │ vsub.f64 d2, d4, d13 │ │ │ │ │ vadd.f64 d11, d15, d0 │ │ │ │ │ + vldr d12, [sp, #344] @ 0x158 │ │ │ │ │ vsub.f64 d15, d15, d0 │ │ │ │ │ + vldr d13, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d1, [sp, #312] @ 0x138 │ │ │ │ │ vadd.f64 d8, d2, d5 │ │ │ │ │ + vldr d0, [sp, #632] @ 0x278 │ │ │ │ │ vsub.f64 d2, d2, d5 │ │ │ │ │ + vadd.f64 d14, d12, d14 │ │ │ │ │ + vldr d12, [sp, #512] @ 0x200 │ │ │ │ │ vstr d8, [sp, #464] @ 0x1d0 │ │ │ │ │ - vldr d0, [sp, #632] @ 0x278 │ │ │ │ │ - vldr d9, [sp, #688] @ 0x2b0 │ │ │ │ │ vldr d8, [sp, #648] @ 0x288 │ │ │ │ │ - vldr d13, [sp, #416] @ 0x1a0 │ │ │ │ │ vstr d2, [sp, #472] @ 0x1d8 │ │ │ │ │ vadd.f64 d2, d0, d9 │ │ │ │ │ - vldr d12, [sp, #344] @ 0x158 │ │ │ │ │ + vadd.f64 d6, d12, d6 │ │ │ │ │ vsub.f64 d5, d8, d13 │ │ │ │ │ - vldr d14, [sp, #368] @ 0x170 │ │ │ │ │ - vldr d1, [sp, #312] @ 0x138 │ │ │ │ │ - ldr r6, [sp, #216] @ 0xd8 │ │ │ │ │ - vadd.f64 d14, d12, d14 │ │ │ │ │ - vldr d12, [sp, #512] @ 0x200 │ │ │ │ │ vsub.f64 d13, d2, d5 │ │ │ │ │ - vadd.f64 d2, d2, d5 │ │ │ │ │ - vsub.f64 d5, d0, d9 │ │ │ │ │ - vldr d0, [sp, #496] @ 0x1f0 │ │ │ │ │ - vadd.f64 d6, d12, d6 │ │ │ │ │ - vstr d2, [sp, #600] @ 0x258 │ │ │ │ │ + vadd.f64 d5, d2, d5 │ │ │ │ │ vldr d2, [sp, #280] @ 0x118 │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ + vstr d5, [sp, #600] @ 0x258 │ │ │ │ │ + vsub.f64 d5, d0, d9 │ │ │ │ │ + vldr d0, [sp, #496] @ 0x1f0 │ │ │ │ │ vadd.f64 d1, d14, d2 │ │ │ │ │ vsub.f64 d14, d2, d14 │ │ │ │ │ vsub.f64 d2, d5, d6 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ vldr d6, [sp, #488] @ 0x1e8 │ │ │ │ │ vadd.f64 d12, d6, d0 │ │ │ │ │ vldr d6, [sp, #536] @ 0x218 │ │ │ │ │ - vadd.f64 d4, d6, d4 │ │ │ │ │ - vldr d6, [sp, #328] @ 0x148 │ │ │ │ │ vadd.f64 d9, d12, d7 │ │ │ │ │ vsub.f64 d12, d7, d12 │ │ │ │ │ vldr d7, [sp, #416] @ 0x1a0 │ │ │ │ │ + vadd.f64 d4, d6, d4 │ │ │ │ │ + vldr d6, [sp, #328] @ 0x148 │ │ │ │ │ vadd.f64 d7, d8, d7 │ │ │ │ │ vldr d8, [sp, #352] @ 0x160 │ │ │ │ │ vsub.f64 d3, d4, d7 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ vldr d7, [sp, #296] @ 0x128 │ │ │ │ │ vadd.f64 d6, d7, d6 │ │ │ │ │ vldr d7, [sp, #360] @ 0x168 │ │ │ │ │ @@ -774,541 +767,543 @@ │ │ │ │ │ vsub.f64 d1, d1, d11 │ │ │ │ │ vstr d8, [sp, #416] @ 0x1a0 │ │ │ │ │ vadd.f64 d8, d2, d8 │ │ │ │ │ vadd.f64 d0, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vmov.f64 d7, #96 @ 0x3f000000 0.5 │ │ │ │ │ vmul.f64 d8, d8, d7 │ │ │ │ │ - vstr d8, [r7] │ │ │ │ │ + vstr d8, [lr] │ │ │ │ │ vldr d8, [sp, #416] @ 0x1a0 │ │ │ │ │ vsub.f64 d2, d2, d8 │ │ │ │ │ vadd.f64 d8, d9, d0 │ │ │ │ │ vsub.f64 d0, d0, d9 │ │ │ │ │ vmul.f64 d2, d2, d7 │ │ │ │ │ - vstr d2, [r6] │ │ │ │ │ + vstr d2, [r1] │ │ │ │ │ vsub.f64 d2, d8, d4 │ │ │ │ │ vadd.f64 d4, d4, d8 │ │ │ │ │ - vldr d8, [pc, #956] @ ef0 │ │ │ │ │ + vldr d8, [pc, #964] @ f50 │ │ │ │ │ vmul.f64 d2, d2, d7 │ │ │ │ │ vmul.f64 d4, d4, d7 │ │ │ │ │ - vstr d2, [r5] │ │ │ │ │ - ldr r5, [sp, #0] │ │ │ │ │ - vstr d4, [r5] │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ + vstr d4, [ip] │ │ │ │ │ vsub.f64 d4, d0, d5 │ │ │ │ │ vadd.f64 d5, d5, d0 │ │ │ │ │ - ldr r5, [sp, #56] @ 0x38 │ │ │ │ │ vmul.f64 d4, d4, d7 │ │ │ │ │ vmul.f64 d5, d5, d7 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ vadd.f64 d4, d14, d12 │ │ │ │ │ - ldr r4, [sp, #72] @ 0x48 │ │ │ │ │ vsub.f64 d14, d14, d12 │ │ │ │ │ - vmul.f64 d4, d4, d7 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ + ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ vadd.f64 d5, d3, d1 │ │ │ │ │ vsub.f64 d3, d3, d1 │ │ │ │ │ + vmul.f64 d4, d4, d7 │ │ │ │ │ + ldr r2, [sp, #8] │ │ │ │ │ vmul.f64 d14, d14, d7 │ │ │ │ │ + vldr d1, [sp, #464] @ 0x1d0 │ │ │ │ │ + ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ vmul.f64 d5, d5, d7 │ │ │ │ │ vmul.f64 d3, d3, d7 │ │ │ │ │ - vstr d5, [r5] │ │ │ │ │ - ldr r6, [sp, #256] @ 0x100 │ │ │ │ │ - vldr d1, [sp, #464] @ 0x1d0 │ │ │ │ │ - ldr r4, [sp, #8] │ │ │ │ │ + ldr r1, [sp, #252] @ 0xfc │ │ │ │ │ vldr d2, [sp, #472] @ 0x1d8 │ │ │ │ │ + vldr d0, [sp, #600] @ 0x258 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ vadd.f64 d5, d1, d13 │ │ │ │ │ - vstr d3, [r6] │ │ │ │ │ - ldr r6, [sp, #244] @ 0xf4 │ │ │ │ │ vsub.f64 d13, d13, d1 │ │ │ │ │ - vldr d0, [sp, #600] @ 0x258 │ │ │ │ │ + vstr d3, [r1] │ │ │ │ │ + ldr r0, [sp, #240] @ 0xf0 │ │ │ │ │ vldr d1, [sp, #480] @ 0x1e0 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ - vldr d9, [sp, #608] @ 0x260 │ │ │ │ │ vmul.f64 d13, d13, d8 │ │ │ │ │ + ldr r3, [sp, #768] @ 0x300 │ │ │ │ │ + vldr d9, [sp, #608] @ 0x260 │ │ │ │ │ vldr d12, [sp, #616] @ 0x268 │ │ │ │ │ vadd.f64 d3, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vadd.f64 d4, d2, d0 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ - vstr d5, [r6] │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ vadd.f64 d5, d15, d6 │ │ │ │ │ vmul.f64 d4, d4, d8 │ │ │ │ │ vsub.f64 d6, d6, d15 │ │ │ │ │ - ldr r4, [sp, #24] │ │ │ │ │ - ldr r6, [sp, #268] @ 0x10c │ │ │ │ │ + ldr r2, [sp, #24] │ │ │ │ │ vmul.f64 d5, d5, d7 │ │ │ │ │ vmul.f64 d6, d6, d7 │ │ │ │ │ vsub.f64 d3, d5, d4 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ - vstr d3, [r0] │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ + vstr d3, [r6] │ │ │ │ │ + vmov.f64 d3, d0 │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ vsub.f64 d5, d6, d13 │ │ │ │ │ - ldr r4, [sp, #48] @ 0x30 │ │ │ │ │ vadd.f64 d6, d6, d13 │ │ │ │ │ - vldr d3, [pc, #760] @ ef8 │ │ │ │ │ - vstr d5, [r1] │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ - vsub.f64 d6, d2, d0 │ │ │ │ │ - ldr r4, [sp, #32] │ │ │ │ │ + ldr r2, [sp, #48] @ 0x30 │ │ │ │ │ vldr d0, [sp, #504] @ 0x1f8 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + vsub.f64 d6, d2, d3 │ │ │ │ │ + ldr r2, [sp, #32] │ │ │ │ │ + ldr r3, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d3, [pc, #744] @ f58 │ │ │ │ │ vmul.f64 d6, d6, d8 │ │ │ │ │ vadd.f64 d5, d14, d6 │ │ │ │ │ vsub.f64 d6, d6, d14 │ │ │ │ │ vldr d14, [sp, #704] @ 0x2c0 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ vadd.f64 d5, d9, d12 │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ vsub.f64 d6, d1, d0 │ │ │ │ │ - vldr d1, [pc, #712] @ f00 │ │ │ │ │ + vldr d1, [pc, #716] @ f60 │ │ │ │ │ vldr d0, [sp, #696] @ 0x2b8 │ │ │ │ │ vldr d9, [sp, #640] @ 0x280 │ │ │ │ │ vadd.f64 d11, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vsub.f64 d5, d10, d0 │ │ │ │ │ - vldr d12, [sp, #376] @ 0x178 │ │ │ │ │ vmul.f64 d13, d6, d8 │ │ │ │ │ vldr d6, [sp, #624] @ 0x270 │ │ │ │ │ vmul.f64 d11, d11, d8 │ │ │ │ │ vsub.f64 d6, d6, d14 │ │ │ │ │ vmul.f64 d4, d6, d1 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ vmla.f64 d4, d5, d3 │ │ │ │ │ vnmls.f64 d6, d5, d1 │ │ │ │ │ - vldr d5, [sp, #424] @ 0x1a8 │ │ │ │ │ vstr d4, [sp, #8] │ │ │ │ │ vstr d6, [sp, #24] │ │ │ │ │ + vldr d5, [sp, #424] @ 0x1a8 │ │ │ │ │ + ldr r3, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d12, [sp, #376] @ 0x178 │ │ │ │ │ vsub.f64 d6, d9, d5 │ │ │ │ │ + vldr d15, [sp, #352] @ 0x160 │ │ │ │ │ vldr d5, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d2, [sp, #280] @ 0x118 │ │ │ │ │ + ldr r2, [sp, #120] @ 0x78 │ │ │ │ │ vsub.f64 d5, d5, d12 │ │ │ │ │ + ldr r1, [sp, #180] @ 0xb4 │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - vmla.f64 d5, d6, d3 │ │ │ │ │ vnmls.f64 d4, d6, d1 │ │ │ │ │ + vmla.f64 d5, d6, d3 │ │ │ │ │ vstr d4, [sp, #32] │ │ │ │ │ vmov.f64 d4, d3 │ │ │ │ │ - vldr d15, [sp, #352] @ 0x160 │ │ │ │ │ vldr d3, [sp, #360] @ 0x168 │ │ │ │ │ - vldr d2, [sp, #280] @ 0x118 │ │ │ │ │ vstr d5, [sp, #48] @ 0x30 │ │ │ │ │ vsub.f64 d5, d3, d15 │ │ │ │ │ vldr d15, [sp, #312] @ 0x138 │ │ │ │ │ - ldr r1, [sp, #80] @ 0x50 │ │ │ │ │ - ldr r4, [sp, #176] @ 0xb0 │ │ │ │ │ vsub.f64 d6, d2, d15 │ │ │ │ │ vldr d2, [sp, #296] @ 0x128 │ │ │ │ │ - ldr r0, [sp, #88] @ 0x58 │ │ │ │ │ vadd.f64 d3, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vmul.f64 d12, d6, d7 │ │ │ │ │ vadd.f64 d6, d0, d10 │ │ │ │ │ - vldr d10, [sp, #624] @ 0x270 │ │ │ │ │ - vmul.f64 d3, d3, d7 │ │ │ │ │ vldr d0, [sp, #368] @ 0x170 │ │ │ │ │ + vmul.f64 d3, d3, d7 │ │ │ │ │ + vldr d10, [sp, #624] @ 0x270 │ │ │ │ │ vadd.f64 d15, d14, d10 │ │ │ │ │ vmov.f64 d10, d4 │ │ │ │ │ vmul.f64 d14, d15, d4 │ │ │ │ │ vmul.f64 d15, d15, d1 │ │ │ │ │ vmla.f64 d14, d6, d1 │ │ │ │ │ vnmls.f64 d15, d6, d4 │ │ │ │ │ vldr d6, [sp, #328] @ 0x148 │ │ │ │ │ vldr d4, [sp, #504] @ 0x1f8 │ │ │ │ │ vsub.f64 d6, d2, d6 │ │ │ │ │ vldr d2, [sp, #344] @ 0x158 │ │ │ │ │ vsub.f64 d5, d2, d0 │ │ │ │ │ vldr d2, [sp, #480] @ 0x1e0 │ │ │ │ │ + vadd.f64 d0, d6, d5 │ │ │ │ │ vadd.f64 d2, d2, d4 │ │ │ │ │ vldr d4, [sp, #616] @ 0x268 │ │ │ │ │ - vadd.f64 d0, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vldr d5, [sp, #608] @ 0x260 │ │ │ │ │ - vsub.f64 d5, d4, d5 │ │ │ │ │ vmul.f64 d0, d0, d7 │ │ │ │ │ vmul.f64 d6, d6, d7 │ │ │ │ │ + vsub.f64 d5, d4, d5 │ │ │ │ │ vadd.f64 d4, d2, d5 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ vldr d2, [sp, #424] @ 0x1a8 │ │ │ │ │ vmul.f64 d4, d4, d8 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ vadd.f64 d8, d9, d2 │ │ │ │ │ vldr d9, [sp, #272] @ 0x110 │ │ │ │ │ vldr d2, [sp, #376] @ 0x178 │ │ │ │ │ vadd.f64 d2, d9, d2 │ │ │ │ │ vmov.f64 d9, d1 │ │ │ │ │ vmul.f64 d1, d2, d1 │ │ │ │ │ vmul.f64 d2, d2, d10 │ │ │ │ │ + vnmls.f64 d1, d8, d10 │ │ │ │ │ vmla.f64 d2, d8, d9 │ │ │ │ │ vadd.f64 d9, d11, d3 │ │ │ │ │ vsub.f64 d3, d3, d11 │ │ │ │ │ - vnmls.f64 d1, d8, d10 │ │ │ │ │ vadd.f64 d8, d14, d1 │ │ │ │ │ vsub.f64 d1, d1, d14 │ │ │ │ │ vadd.f64 d10, d9, d8 │ │ │ │ │ vsub.f64 d8, d8, d9 │ │ │ │ │ vadd.f64 d9, d15, d2 │ │ │ │ │ vsub.f64 d15, d15, d2 │ │ │ │ │ - vstr d10, [r1] │ │ │ │ │ - vstr d8, [r4] │ │ │ │ │ + vstr d10, [r3] │ │ │ │ │ + vstr d8, [r1] │ │ │ │ │ vadd.f64 d8, d0, d4 │ │ │ │ │ vsub.f64 d4, d0, d4 │ │ │ │ │ - ldr r4, [sp, #204] @ 0xcc │ │ │ │ │ + ldr r3, [sp, #88] @ 0x58 │ │ │ │ │ + ldr r1, [sp, #128] @ 0x80 │ │ │ │ │ vsub.f64 d10, d8, d9 │ │ │ │ │ - vadd.f64 d8, d8, d9 │ │ │ │ │ vsub.f64 d0, d4, d1 │ │ │ │ │ + vadd.f64 d8, d8, d9 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ - vldr d1, [sp, #8] │ │ │ │ │ - vstr d10, [r2] │ │ │ │ │ - vstr d8, [r0] │ │ │ │ │ - vstr d0, [r3] │ │ │ │ │ - ldr r3, [sp, #124] @ 0x7c │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ + vstr d10, [r7] │ │ │ │ │ + vstr d8, [r3] │ │ │ │ │ + vstr d0, [r5] │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ vadd.f64 d4, d3, d15 │ │ │ │ │ - ldr r3, [sp, #116] @ 0x74 │ │ │ │ │ vsub.f64 d15, d15, d3 │ │ │ │ │ vadd.f64 d3, d12, d5 │ │ │ │ │ vsub.f64 d5, d12, d5 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - vstr d15, [r4] │ │ │ │ │ - vldr d11, [sp, #32] │ │ │ │ │ - ldr r2, [sp, #96] @ 0x60 │ │ │ │ │ - ldr r4, [sp, #188] @ 0xbc │ │ │ │ │ - vadd.f64 d4, d1, d11 │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ + vldr d1, [sp, #8] │ │ │ │ │ vldr d0, [sp, #24] │ │ │ │ │ + vldr d11, [sp, #32] │ │ │ │ │ + ldr r1, [sp, #204] @ 0xcc │ │ │ │ │ vldr d14, [sp, #48] @ 0x30 │ │ │ │ │ - ldr r5, [sp, #108] @ 0x6c │ │ │ │ │ - ldr r3, [sp, #168] @ 0xa8 │ │ │ │ │ + vadd.f64 d4, d1, d11 │ │ │ │ │ + ldr r7, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d15, [r1] │ │ │ │ │ + ldr r5, [sp, #112] @ 0x70 │ │ │ │ │ + ldr r1, [sp, #192] @ 0xc0 │ │ │ │ │ vadd.f64 d2, d3, d4 │ │ │ │ │ vsub.f64 d4, d4, d3 │ │ │ │ │ + ldr r2, [sp, #136] @ 0x88 │ │ │ │ │ vadd.f64 d3, d0, d14 │ │ │ │ │ - vldr d15, [sp, #712] @ 0x2c8 │ │ │ │ │ - vldr d9, [sp, #568] @ 0x238 │ │ │ │ │ - vldr d12, [sp, #560] @ 0x230 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ + ldr r3, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d8, [sp, #304] @ 0x130 │ │ │ │ │ + vstr d2, [r7] │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ vadd.f64 d4, d13, d6 │ │ │ │ │ - ldr r2, [sp, #196] @ 0xc4 │ │ │ │ │ vsub.f64 d6, d6, d13 │ │ │ │ │ - ldr r4, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d10, [sp, #400] @ 0x190 │ │ │ │ │ + ldr r1, [sp, #172] @ 0xac │ │ │ │ │ + vldr d9, [sp, #568] @ 0x238 │ │ │ │ │ + vldr d15, [sp, #712] @ 0x2c8 │ │ │ │ │ vsub.f64 d2, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ - vldr d8, [sp, #304] @ 0x130 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ + vldr d12, [sp, #560] @ 0x230 │ │ │ │ │ + vldr d10, [sp, #400] @ 0x190 │ │ │ │ │ + vstr d2, [r4] │ │ │ │ │ vstr d4, [r5] │ │ │ │ │ vsub.f64 d4, d11, d1 │ │ │ │ │ vldr d11, [sp, #336] @ 0x150 │ │ │ │ │ vsub.f64 d3, d6, d4 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ - ldr r3, [sp, #140] @ 0x8c │ │ │ │ │ - vldr d3, [pc, #168] @ ef8 │ │ │ │ │ + vstr d3, [r1] │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ vsub.f64 d6, d0, d14 │ │ │ │ │ - ldr r3, [sp, #132] @ 0x84 │ │ │ │ │ vldr d0, [sp, #728] @ 0x2d8 │ │ │ │ │ + vldr d3, [pc, #160] @ f58 │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - vldr d4, [pc, #144] @ f00 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ + vldr d4, [pc, #152] @ f60 │ │ │ │ │ + ldr r2, [sp, #160] @ 0xa0 │ │ │ │ │ vmul.f64 d5, d15, d4 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ vmul.f64 d6, d9, d4 │ │ │ │ │ - vmla.f64 d6, d12, d3 │ │ │ │ │ vnmls.f64 d5, d0, d3 │ │ │ │ │ + vmla.f64 d6, d12, d3 │ │ │ │ │ vadd.f64 d2, d5, d6 │ │ │ │ │ vsub.f64 d6, d5, d6 │ │ │ │ │ vsub.f64 d5, d8, d11 │ │ │ │ │ + vstr d2, [sp, #8] │ │ │ │ │ vstr d6, [sp, #24] │ │ │ │ │ - vldr d6, [sp, #448] @ 0x1c0 │ │ │ │ │ vmul.f64 d5, d5, d7 │ │ │ │ │ - vstr d2, [sp, #8] │ │ │ │ │ - vldr d2, [pc, #76] @ ef0 │ │ │ │ │ + vldr d6, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d2, [pc, #80] @ f50 │ │ │ │ │ vadd.f64 d6, d10, d6 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ vadd.f64 d1, d6, d5 │ │ │ │ │ vsub.f64 d6, d5, d6 │ │ │ │ │ vmul.f64 d5, d12, d4 │ │ │ │ │ vstr d6, [sp, #32] │ │ │ │ │ vmul.f64 d6, d15, d3 │ │ │ │ │ vnmls.f64 d5, d9, d3 │ │ │ │ │ vmla.f64 d6, d0, d4 │ │ │ │ │ - vldr d0, [sp, #288] @ 0x120 │ │ │ │ │ vadd.f64 d8, d6, d5 │ │ │ │ │ vsub.f64 d6, d5, d6 │ │ │ │ │ vstr d6, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r3, [sp, #116] @ 0x74 │ │ │ │ │ + vldr d0, [sp, #288] @ 0x120 │ │ │ │ │ vldr d14, [sp, #320] @ 0x140 │ │ │ │ │ vldr d9, [sp, #408] @ 0x198 │ │ │ │ │ vldr d13, [sp, #456] @ 0x1c8 │ │ │ │ │ - vadd.f64 d6, d0, d14 │ │ │ │ │ vldr d10, [sp, #384] @ 0x180 │ │ │ │ │ - b.n f10 │ │ │ │ │ - nop │ │ │ │ │ + vadd.f64 d6, d0, d14 │ │ │ │ │ + b.n f70 │ │ │ │ │ + nop.w │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fd6a09e │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fdd906b │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fc87de2 │ │ │ │ │ - .word 0x00000ee6 │ │ │ │ │ + .word 0x00000f2e │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - vldr d14, [pc, #972] @ 12e0 │ │ │ │ │ + vldr d14, [pc, #980] @ 1348 │ │ │ │ │ vadd.f64 d5, d9, d13 │ │ │ │ │ + ldr r2, [sp, #152] @ 0x98 │ │ │ │ │ vldr d13, [sp, #432] @ 0x1b0 │ │ │ │ │ - vldr d9, [sp, #656] @ 0x290 │ │ │ │ │ vmul.f64 d6, d6, d7 │ │ │ │ │ - ldr r4, [sp, #144] @ 0x90 │ │ │ │ │ - vadd.f64 d4, d10, d13 │ │ │ │ │ - vldr d10, [pc, #956] @ 12e8 │ │ │ │ │ + vldr d9, [sp, #656] @ 0x290 │ │ │ │ │ vmul.f64 d5, d5, d2 │ │ │ │ │ - vldr d13, [sp, #392] @ 0x188 │ │ │ │ │ vldr d2, [sp, #440] @ 0x1b8 │ │ │ │ │ - ldr r3, [sp, #136] @ 0x88 │ │ │ │ │ - vmul.f64 d4, d4, d10 │ │ │ │ │ - ldr r1, [sp, #112] @ 0x70 │ │ │ │ │ + vadd.f64 d4, d10, d13 │ │ │ │ │ + vldr d10, [pc, #956] @ 1350 │ │ │ │ │ + vldr d13, [sp, #392] @ 0x188 │ │ │ │ │ vadd.f64 d3, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vldr d5, [sp, #672] @ 0x2a0 │ │ │ │ │ + vmul.f64 d4, d4, d10 │ │ │ │ │ vadd.f64 d0, d5, d4 │ │ │ │ │ vsub.f64 d4, d5, d4 │ │ │ │ │ vadd.f64 d5, d13, d2 │ │ │ │ │ - vldr d13, [pc, #916] @ 12f0 │ │ │ │ │ + vldr d13, [pc, #928] @ 1358 │ │ │ │ │ vmul.f64 d5, d5, d10 │ │ │ │ │ vadd.f64 d2, d9, d5 │ │ │ │ │ vsub.f64 d5, d9, d5 │ │ │ │ │ - vldr d9, [pc, #908] @ 12f8 │ │ │ │ │ + vldr d9, [pc, #920] @ 1360 │ │ │ │ │ vmul.f64 d15, d2, d9 │ │ │ │ │ vmul.f64 d9, d5, d14 │ │ │ │ │ vmul.f64 d2, d2, d13 │ │ │ │ │ + vnmls.f64 d15, d0, d13 │ │ │ │ │ vmov.f64 d11, d9 │ │ │ │ │ - vldr d9, [pc, #896] @ 1300 │ │ │ │ │ + vldr d9, [pc, #904] @ 1368 │ │ │ │ │ vmov.f64 d12, d2 │ │ │ │ │ - vnmls.f64 d15, d0, d13 │ │ │ │ │ vldr d2, [sp, #520] @ 0x208 │ │ │ │ │ vmla.f64 d11, d4, d9 │ │ │ │ │ - vldr d9, [pc, #868] @ 12f8 │ │ │ │ │ + vldr d9, [pc, #880] @ 1360 │ │ │ │ │ vmla.f64 d12, d0, d9 │ │ │ │ │ - vldr d9, [pc, #868] @ 1300 │ │ │ │ │ + vldr d9, [pc, #880] @ 1368 │ │ │ │ │ vldr d0, [sp, #544] @ 0x220 │ │ │ │ │ + vstr d11, [sp, #56] @ 0x38 │ │ │ │ │ vmul.f64 d5, d5, d9 │ │ │ │ │ vldr d9, [sp, #576] @ 0x240 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ vldr d0, [sp, #528] @ 0x210 │ │ │ │ │ - vstr d11, [sp, #56] @ 0x38 │ │ │ │ │ vnmls.f64 d5, d4, d14 │ │ │ │ │ vmul.f64 d2, d2, d10 │ │ │ │ │ vmov.f64 d11, d5 │ │ │ │ │ vadd.f64 d5, d9, d2 │ │ │ │ │ vsub.f64 d2, d9, d2 │ │ │ │ │ vldr d9, [sp, #552] @ 0x228 │ │ │ │ │ vadd.f64 d4, d0, d9 │ │ │ │ │ vldr d0, [sp, #744] @ 0x2e8 │ │ │ │ │ vmul.f64 d4, d4, d10 │ │ │ │ │ - vldr d10, [pc, #804] @ 1300 │ │ │ │ │ - vmul.f64 d10, d2, d10 │ │ │ │ │ + vldr d10, [pc, #816] @ 1368 │ │ │ │ │ vadd.f64 d9, d0, d4 │ │ │ │ │ vsub.f64 d4, d0, d4 │ │ │ │ │ - vldr d0, [pc, #780] @ 12f8 │ │ │ │ │ + vldr d0, [pc, #796] @ 1360 │ │ │ │ │ + vmul.f64 d10, d2, d10 │ │ │ │ │ vnmls.f64 d10, d4, d14 │ │ │ │ │ - vldr d14, [pc, #772] @ 12f8 │ │ │ │ │ + vldr d14, [pc, #784] @ 1360 │ │ │ │ │ vmul.f64 d0, d9, d0 │ │ │ │ │ vmla.f64 d0, d5, d13 │ │ │ │ │ vmul.f64 d5, d5, d14 │ │ │ │ │ - vldr d14, [pc, #732] @ 12e0 │ │ │ │ │ + vldr d14, [pc, #744] @ 1348 │ │ │ │ │ vnmls.f64 d5, d9, d13 │ │ │ │ │ - vldr d9, [pc, #756] @ 1300 │ │ │ │ │ + vldr d9, [pc, #768] @ 1368 │ │ │ │ │ vmul.f64 d4, d4, d9 │ │ │ │ │ vmov.f64 d13, d4 │ │ │ │ │ vldr d4, [sp, #8] │ │ │ │ │ vmla.f64 d13, d2, d14 │ │ │ │ │ vadd.f64 d2, d4, d1 │ │ │ │ │ vadd.f64 d4, d15, d0 │ │ │ │ │ vsub.f64 d0, d15, d0 │ │ │ │ │ vadd.f64 d9, d2, d4 │ │ │ │ │ vsub.f64 d4, d4, d2 │ │ │ │ │ vadd.f64 d2, d12, d5 │ │ │ │ │ vsub.f64 d5, d5, d12 │ │ │ │ │ - vstr d9, [r4] │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ + vmov.f64 d12, d13 │ │ │ │ │ + vstr d9, [r2] │ │ │ │ │ + ldr r2, [sp, #140] @ 0x8c │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ vadd.f64 d4, d8, d3 │ │ │ │ │ - ldr r3, [sp, #160] @ 0xa0 │ │ │ │ │ vsub.f64 d3, d3, d8 │ │ │ │ │ - ldr r4, [sp, #192] @ 0xc0 │ │ │ │ │ + ldr r2, [sp, #148] @ 0x94 │ │ │ │ │ vsub.f64 d9, d4, d2 │ │ │ │ │ vadd.f64 d4, d4, d2 │ │ │ │ │ vsub.f64 d2, d3, d0 │ │ │ │ │ vadd.f64 d3, d3, d0 │ │ │ │ │ - vstr d9, [r3] │ │ │ │ │ - ldr r3, [sp, #164] @ 0xa4 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ + vstr d9, [r2] │ │ │ │ │ + ldr r2, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ vldr d4, [sp, #8] │ │ │ │ │ - ldr r3, [sp, #184] @ 0xb8 │ │ │ │ │ - vstr d2, [r1] │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + ldr r2, [sp, #196] @ 0xc4 │ │ │ │ │ vsub.f64 d1, d1, d4 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ + ldr r2, [sp, #188] @ 0xbc │ │ │ │ │ vadd.f64 d4, d1, d5 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - ldr r4, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ + vldr d0, [sp, #24] │ │ │ │ │ vldr d1, [sp, #32] │ │ │ │ │ vldr d2, [sp, #48] @ 0x30 │ │ │ │ │ - ldr r0, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ - vadd.f64 d5, d11, d13 │ │ │ │ │ - vadd.f64 d4, d1, d2 │ │ │ │ │ - ldr r4, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d0, [sp, #24] │ │ │ │ │ - vsub.f64 d12, d1, d2 │ │ │ │ │ + ldr r4, [sp, #108] @ 0x6c │ │ │ │ │ vldr d8, [sp, #56] @ 0x38 │ │ │ │ │ - ldr r5, [sp, #128] @ 0x80 │ │ │ │ │ + vadd.f64 d4, d1, d2 │ │ │ │ │ + ldr r6, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ + vadd.f64 d5, d11, d12 │ │ │ │ │ + ldr r4, [sp, #124] @ 0x7c │ │ │ │ │ + ldr r2, [sp, #200] @ 0xc8 │ │ │ │ │ + ldr r3, [sp, #132] @ 0x84 │ │ │ │ │ vadd.f64 d3, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vadd.f64 d4, d8, d10 │ │ │ │ │ - ldr r3, [sp, #172] @ 0xac │ │ │ │ │ - vldr d15, [sp, #720] @ 0x2d0 │ │ │ │ │ vldr d9, [sp, #592] @ 0x250 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ + vldr d15, [sp, #720] @ 0x2d0 │ │ │ │ │ + vldr d13, [sp, #736] @ 0x2e0 │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ vadd.f64 d5, d0, d6 │ │ │ │ │ - ldr r4, [sp, #240] @ 0xf0 │ │ │ │ │ vsub.f64 d6, d6, d0 │ │ │ │ │ + ldr r4, [sp, #176] @ 0xb0 │ │ │ │ │ + ldr r2, [sp, #232] @ 0xe8 │ │ │ │ │ vsub.f64 d3, d5, d4 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ - vstr d3, [r5] │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ - vsub.f64 d5, d11, d13 │ │ │ │ │ - ldr r4, [sp, #180] @ 0xb4 │ │ │ │ │ - vldr d3, [pc, #536] @ 1308 │ │ │ │ │ - vldr d13, [sp, #736] @ 0x2e0 │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ + vsub.f64 d5, d11, d12 │ │ │ │ │ + vsub.f64 d12, d1, d2 │ │ │ │ │ + ldr r3, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d3, [pc, #536] @ 1370 │ │ │ │ │ + vldr d11, [sp, #336] @ 0x150 │ │ │ │ │ vsub.f64 d4, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vsub.f64 d5, d10, d8 │ │ │ │ │ - vldr d10, [sp, #584] @ 0x248 │ │ │ │ │ vldr d8, [sp, #456] @ 0x1c8 │ │ │ │ │ - vldr d11, [sp, #336] @ 0x150 │ │ │ │ │ - vstr d4, [sl] │ │ │ │ │ + vldr d10, [sp, #584] @ 0x248 │ │ │ │ │ + vstr d4, [r6] │ │ │ │ │ vadd.f64 d4, d12, d5 │ │ │ │ │ vsub.f64 d5, d5, d12 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ - vmul.f64 d6, d10, d3 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ vldr d12, [sp, #408] @ 0x198 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - vstr d5, [r9] │ │ │ │ │ + vmul.f64 d6, d10, d3 │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ + vldr d4, [pc, #488] @ 1378 │ │ │ │ │ + vstr d5, [fp] │ │ │ │ │ vmul.f64 d5, d15, d3 │ │ │ │ │ - vldr d4, [pc, #476] @ 1310 │ │ │ │ │ - vnmls.f64 d5, d13, d4 │ │ │ │ │ vmla.f64 d6, d9, d4 │ │ │ │ │ + vnmls.f64 d5, d13, d4 │ │ │ │ │ vadd.f64 d0, d5, d6 │ │ │ │ │ vsub.f64 d1, d5, d6 │ │ │ │ │ vsub.f64 d6, d12, d8 │ │ │ │ │ vldr d8, [sp, #304] @ 0x130 │ │ │ │ │ - vadd.f64 d5, d8, d11 │ │ │ │ │ vstr d1, [sp, #8] │ │ │ │ │ - vldr d1, [pc, #448] @ 1318 │ │ │ │ │ + vadd.f64 d5, d8, d11 │ │ │ │ │ + vldr d1, [pc, #452] @ 1380 │ │ │ │ │ vmul.f64 d5, d5, d7 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ vadd.f64 d2, d6, d5 │ │ │ │ │ vsub.f64 d6, d5, d6 │ │ │ │ │ vmul.f64 d5, d9, d3 │ │ │ │ │ - vldr d9, [pc, #400] @ 1300 │ │ │ │ │ + vldr d9, [pc, #404] @ 1368 │ │ │ │ │ vstr d6, [sp, #24] │ │ │ │ │ vmul.f64 d6, d15, d4 │ │ │ │ │ - vmla.f64 d6, d13, d3 │ │ │ │ │ vnmls.f64 d5, d10, d4 │ │ │ │ │ - vldr d15, [sp, #320] @ 0x140 │ │ │ │ │ - vldr d10, [pc, #352] @ 12e8 │ │ │ │ │ + vldr d10, [pc, #364] @ 1350 │ │ │ │ │ + vmla.f64 d6, d13, d3 │ │ │ │ │ vadd.f64 d8, d6, d5 │ │ │ │ │ vsub.f64 d11, d5, d6 │ │ │ │ │ vldr d5, [sp, #288] @ 0x120 │ │ │ │ │ - vsub.f64 d6, d5, d15 │ │ │ │ │ - vldr d5, [sp, #448] @ 0x1c0 │ │ │ │ │ - vldr d15, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d15, [sp, #320] @ 0x140 │ │ │ │ │ + ldrd r5, r7, [sp, #40] @ 0x28 │ │ │ │ │ vldr d4, [sp, #432] @ 0x1b0 │ │ │ │ │ + vsub.f64 d6, d5, d15 │ │ │ │ │ vldr d12, [sp, #664] @ 0x298 │ │ │ │ │ + vldr d15, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d5, [sp, #448] @ 0x1c0 │ │ │ │ │ vmul.f64 d7, d6, d7 │ │ │ │ │ + ldr r6, [sp, #64] @ 0x40 │ │ │ │ │ + ldr r4, [sp, #260] @ 0x104 │ │ │ │ │ vsub.f64 d6, d5, d15 │ │ │ │ │ + vmov.f64 d15, d14 │ │ │ │ │ + vldr d14, [pc, #316] @ 1360 │ │ │ │ │ vldr d5, [sp, #392] @ 0x188 │ │ │ │ │ - ldr r4, [sp, #264] @ 0x108 │ │ │ │ │ - ldr r0, [sp, #44] @ 0x2c │ │ │ │ │ + ldr r0, [sp, #236] @ 0xec │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ + ldr r2, [sp, #244] @ 0xf4 │ │ │ │ │ vldr d1, [sp, #440] @ 0x1b8 │ │ │ │ │ - ldr r2, [sp, #64] @ 0x40 │ │ │ │ │ - ldr r3, [sp, #232] @ 0xe8 │ │ │ │ │ - vsub.f64 d5, d5, d1 │ │ │ │ │ - ldr r5, [sp, #40] @ 0x28 │ │ │ │ │ vadd.f64 d3, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [sp, #680] @ 0x2a8 │ │ │ │ │ - ldr r1, [sp, #20] │ │ │ │ │ + vsub.f64 d5, d5, d1 │ │ │ │ │ vmul.f64 d5, d5, d10 │ │ │ │ │ vadd.f64 d1, d6, d5 │ │ │ │ │ vsub.f64 d5, d6, d5 │ │ │ │ │ vldr d6, [sp, #384] @ 0x180 │ │ │ │ │ vsub.f64 d6, d4, d6 │ │ │ │ │ vmul.f64 d6, d6, d10 │ │ │ │ │ vadd.f64 d4, d12, d6 │ │ │ │ │ vsub.f64 d6, d12, d6 │ │ │ │ │ vmov.f64 d12, d9 │ │ │ │ │ - vmul.f64 d15, d4, d14 │ │ │ │ │ - vldr d14, [pc, #244] @ 12f8 │ │ │ │ │ + vmul.f64 d15, d4, d15 │ │ │ │ │ vmul.f64 d4, d4, d12 │ │ │ │ │ vnmls.f64 d15, d1, d9 │ │ │ │ │ vmul.f64 d9, d6, d14 │ │ │ │ │ vmov.f64 d12, d4 │ │ │ │ │ - vldr d4, [pc, #200] @ 12e0 │ │ │ │ │ + vldr d4, [pc, #200] @ 1348 │ │ │ │ │ vmov.f64 d13, d9 │ │ │ │ │ - vldr d9, [pc, #208] @ 12f0 │ │ │ │ │ + vldr d9, [pc, #208] @ 1358 │ │ │ │ │ vmla.f64 d12, d1, d4 │ │ │ │ │ vldr d1, [sp, #544] @ 0x220 │ │ │ │ │ vmul.f64 d6, d6, d9 │ │ │ │ │ vmla.f64 d13, d5, d9 │ │ │ │ │ vnmls.f64 d6, d5, d14 │ │ │ │ │ vldr d5, [sp, #552] @ 0x228 │ │ │ │ │ vstr d12, [sp, #32] │ │ │ │ │ - vldr d12, [pc, #192] @ 1300 │ │ │ │ │ + vldr d12, [pc, #192] @ 1368 │ │ │ │ │ vstr d6, [sp, #48] @ 0x30 │ │ │ │ │ vldr d6, [sp, #528] @ 0x210 │ │ │ │ │ vsub.f64 d4, d6, d5 │ │ │ │ │ vldr d5, [sp, #760] @ 0x2f8 │ │ │ │ │ vmul.f64 d4, d4, d10 │ │ │ │ │ vadd.f64 d6, d5, d4 │ │ │ │ │ vsub.f64 d4, d5, d4 │ │ │ │ │ vldr d5, [sp, #520] @ 0x208 │ │ │ │ │ vsub.f64 d5, d1, d5 │ │ │ │ │ vldr d1, [sp, #752] @ 0x2f0 │ │ │ │ │ vmul.f64 d5, d5, d10 │ │ │ │ │ - vldr d10, [pc, #128] @ 12f0 │ │ │ │ │ - vmul.f64 d14, d4, d10 │ │ │ │ │ - vldr d10, [pc, #128] @ 12f8 │ │ │ │ │ + vldr d10, [pc, #128] @ 1358 │ │ │ │ │ vadd.f64 d9, d1, d5 │ │ │ │ │ + vmul.f64 d14, d4, d10 │ │ │ │ │ + vldr d10, [pc, #124] @ 1360 │ │ │ │ │ vsub.f64 d5, d1, d5 │ │ │ │ │ - vldr d1, [pc, #92] @ 12e0 │ │ │ │ │ + vldr d1, [pc, #92] @ 1348 │ │ │ │ │ vnmls.f64 d14, d5, d10 │ │ │ │ │ - vldr d10, [pc, #84] @ 12e0 │ │ │ │ │ + vldr d10, [pc, #84] @ 1348 │ │ │ │ │ vmul.f64 d1, d9, d1 │ │ │ │ │ vmla.f64 d1, d6, d12 │ │ │ │ │ vmul.f64 d6, d6, d10 │ │ │ │ │ vnmls.f64 d6, d9, d12 │ │ │ │ │ - vldr d9, [pc, #80] @ 12f0 │ │ │ │ │ + vldr d9, [pc, #80] @ 1358 │ │ │ │ │ vldr d12, [sp, #32] │ │ │ │ │ vmul.f64 d10, d5, d9 │ │ │ │ │ - vldr d5, [pc, #76] @ 12f8 │ │ │ │ │ + vldr d5, [pc, #76] @ 1360 │ │ │ │ │ vmla.f64 d10, d4, d5 │ │ │ │ │ vadd.f64 d4, d0, d2 │ │ │ │ │ vadd.f64 d5, d15, d1 │ │ │ │ │ vsub.f64 d2, d2, d0 │ │ │ │ │ vsub.f64 d1, d15, d1 │ │ │ │ │ vadd.f64 d9, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vadd.f64 d4, d12, d6 │ │ │ │ │ vsub.f64 d6, d6, d12 │ │ │ │ │ vstr d9, [r4] │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ - vadd.f64 d5, d8, d3 │ │ │ │ │ - b.n 1320 │ │ │ │ │ + vstr d5, [r7] │ │ │ │ │ + b.n 1388 │ │ │ │ │ nop │ │ │ │ │ + nop.w │ │ │ │ │ .word 0x39ae68c8 │ │ │ │ │ .word 0x3fd1c73b │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0xcff75cb0 │ │ │ │ │ .word 0x3fdf6297 │ │ │ │ │ .word 0x3c69a60b │ │ │ │ │ @@ -1317,90 +1312,97 @@ │ │ │ │ │ .word 0x3fda9b66 │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fdd906b │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fc87de2 │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fd6a09e │ │ │ │ │ - ldr r4, [sp, #768] @ 0x300 │ │ │ │ │ + vadd.f64 d5, d8, d3 │ │ │ │ │ vsub.f64 d3, d3, d8 │ │ │ │ │ - ldr r0, [sp, #248] @ 0xf8 │ │ │ │ │ + ldr r4, [sp, #268] @ 0x10c │ │ │ │ │ vsub.f64 d9, d5, d4 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ vsub.f64 d4, d3, d1 │ │ │ │ │ vadd.f64 d3, d3, d1 │ │ │ │ │ - vstr d9, [r2] │ │ │ │ │ + vstr d9, [r6] │ │ │ │ │ vstr d5, [r4] │ │ │ │ │ vadd.f64 d5, d2, d6 │ │ │ │ │ vsub.f64 d6, d6, d2 │ │ │ │ │ vstr d4, [r5] │ │ │ │ │ - vstr d3, [r0] │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ + ldr r1, [sp, #20] │ │ │ │ │ + vldr d1, [sp, #8] │ │ │ │ │ vldr d2, [sp, #24] │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ vldr d3, [sp, #48] @ 0x30 │ │ │ │ │ - ldr r3, [sp, #252] @ 0xfc │ │ │ │ │ + ldr r7, [sp, #68] @ 0x44 │ │ │ │ │ vadd.f64 d5, d2, d11 │ │ │ │ │ - ldr r1, [sp, #68] @ 0x44 │ │ │ │ │ + ldr r5, [sp, #76] @ 0x4c │ │ │ │ │ + vsub.f64 d12, d2, d11 │ │ │ │ │ vadd.f64 d6, d3, d10 │ │ │ │ │ - vldr d1, [sp, #8] │ │ │ │ │ + ldr r0, [sp, #248] @ 0xf8 │ │ │ │ │ vsub.f64 d10, d3, d10 │ │ │ │ │ - ldr r2, [sp, #76] @ 0x4c │ │ │ │ │ - vsub.f64 d12, d2, d11 │ │ │ │ │ - ldr r6, [sp, #224] @ 0xe0 │ │ │ │ │ + ldr r6, [sp, #208] @ 0xd0 │ │ │ │ │ + ldr r3, [sp, #224] @ 0xe0 │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ + ldr r1, [sp, #256] @ 0x100 │ │ │ │ │ vadd.f64 d5, d13, d14 │ │ │ │ │ vsub.f64 d14, d14, d13 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ vadd.f64 d6, d1, d7 │ │ │ │ │ vsub.f64 d7, d7, d1 │ │ │ │ │ - ldr r3, [sp, #260] @ 0x104 │ │ │ │ │ - ldr r1, [sp, #208] @ 0xd0 │ │ │ │ │ vsub.f64 d4, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vsub.f64 d5, d7, d10 │ │ │ │ │ vadd.f64 d7, d7, d10 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - vstr d5, [ip] │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ + vstr d5, [r8] │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vadd.f64 d7, d12, d14 │ │ │ │ │ - ldr r3, [sp, #896] @ 0x380 │ │ │ │ │ vsub.f64 d14, d14, d12 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + ldr r1, [sp, #0] │ │ │ │ │ + ldr r3, [sp, #896] @ 0x380 │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ + vstr d14, [r9] │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str r3, [sp, #896] @ 0x380 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ ldr r3, [sp, #772] @ 0x304 │ │ │ │ │ - ldr r1, [sp, #0] │ │ │ │ │ - add r7, r3 │ │ │ │ │ - vstr d14, [lr] │ │ │ │ │ - add r1, r3 │ │ │ │ │ - ldr r3, [sp, #776] @ 0x308 │ │ │ │ │ - str r1, [sp, #0] │ │ │ │ │ + ldr r2, [sp, #896] @ 0x380 │ │ │ │ │ add ip, r3 │ │ │ │ │ add lr, r3 │ │ │ │ │ + ldr r3, [sp, #776] @ 0x308 │ │ │ │ │ + add r8, r3 │ │ │ │ │ + add r9, r3 │ │ │ │ │ + add.w r3, r1, #496 @ 0x1f0 │ │ │ │ │ + str r3, [sp, #0] │ │ │ │ │ ldr r3, [sp, #780] @ 0x30c │ │ │ │ │ - eor.w r8, r8, r3 │ │ │ │ │ - ldrd r2, r3, [sp, #896] @ 0x380 │ │ │ │ │ + eor.w sl, sl, r3 │ │ │ │ │ + ldr r3, [sp, #900] @ 0x384 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 54 │ │ │ │ │ + bne.w 6a │ │ │ │ │ add.w sp, sp, #788 @ 0x314 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00001404 : │ │ │ │ │ +00001488 : │ │ │ │ │ fftw_codelet_hc2cfdft_32(): │ │ │ │ │ - ldr r2, [pc, #12] @ (1414 ) │ │ │ │ │ - movs r3, #1 │ │ │ │ │ - ldr r1, [pc, #12] @ (1418 ) │ │ │ │ │ + ldr r2, [pc, #12] @ (1498 ) │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + ldr r1, [pc, #12] @ (149c ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2c_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + .word 0x00000006 │ │ │ │ │ R_ARM_REL32 hc2cfdft_32 │ │ │ ├── hc2cfdft_4.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1380 (bytes into file) │ │ │ │ │ + Start of section headers: 1416 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x564: │ │ │ │ │ +There are 14 section headers, starting at offset 0x588: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0002c8 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0004bc 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0002fc 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0002fc 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0002fc 00000b 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000307 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 00030f 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 0004d4 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 00033f 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00033f 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000374 0000f0 10 12 12 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000464 000056 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 0004ec 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0002ec 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0004e0 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000320 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000320 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000320 00000b 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 00032b 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000333 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 0004f8 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000363 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000363 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000398 0000f0 10 12 12 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000488 000056 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000510 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,18 +1,18 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 15 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 686 FUNC LOCAL DEFAULT 1 hc2cfdft_4 │ │ │ │ │ + 1: 00000001 722 FUNC LOCAL DEFAULT 1 hc2cfdft_4 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000002c0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000002e4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 4: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 8: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 9: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 10: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 11: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 12: 000002b1 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cfdft_4 │ │ │ │ │ + 12: 000002d5 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cfdft_4 │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2c_register │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hc2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x4bc contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x4e0 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000002c0 00000903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000002c4 00000103 R_ARM_REL32 00000001 hc2cfdft_4 │ │ │ │ │ -000002ba 00000d1e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ +000002e4 00000903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000002e8 00000103 R_ARM_REL32 00000001 hc2cfdft_4 │ │ │ │ │ +000002e0 00000d1e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x4d4 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x4f8 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000402 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000602 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00000e02 R_ARM_ABS32 00000000 fftw_rdft_hc2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,51 +1,55 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hc2cfdft_4(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov.w ip, #48 @ 0x30 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d11} │ │ │ │ │ - ldrd r5, r7, [sp, #76] @ 0x4c │ │ │ │ │ ldr r4, [sp, #68] @ 0x44 │ │ │ │ │ - subs r6, r5, #1 │ │ │ │ │ + ldrd r5, r7, [sp, #76] @ 0x4c │ │ │ │ │ + add.w r6, r5, #4294967295 @ 0xffffffff │ │ │ │ │ cmp r5, r7 │ │ │ │ │ - mla ip, ip, r6, r4 │ │ │ │ │ - bge.w 164 │ │ │ │ │ + add.w r6, r6, r6, lsl #1 │ │ │ │ │ + add.w ip, r4, r6, lsl #4 │ │ │ │ │ + bge.w 178 │ │ │ │ │ ldr r4, [sp, #72] @ 0x48 │ │ │ │ │ mov.w lr, r4, lsl #3 │ │ │ │ │ ldr r4, [sp, #84] @ 0x54 │ │ │ │ │ cmp r4, #1 │ │ │ │ │ - bne.w 16c │ │ │ │ │ - add.w ip, ip, #48 @ 0x30 │ │ │ │ │ + bne.w 192 │ │ │ │ │ vmov.f64 d3, #96 @ 0x3f000000 0.5 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ + add.w ip, ip, #48 @ 0x30 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ add.w r4, r1, lr │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ add.w r8, r2, lr │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ add.w r9, r3, lr │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ add.w r6, r0, lr │ │ │ │ │ - vadd.f64 d6, d2, d5 │ │ │ │ │ - vsub.f64 d5, d5, d2 │ │ │ │ │ - vldr d2, [ip, #-48] @ 0xffffffd0 │ │ │ │ │ - adds r5, #1 │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ + add.w ip, ip, #48 @ 0x30 │ │ │ │ │ + cmp r7, r5 │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + vldr d9, [r6] │ │ │ │ │ vsub.f64 d11, d7, d4 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ - vldr d7, [ip, #-40] @ 0xffffffd8 │ │ │ │ │ - cmp r7, r5 │ │ │ │ │ + vldr d7, [ip, #-88] @ 0xffffffa8 │ │ │ │ │ + vadd.f64 d6, d2, d5 │ │ │ │ │ + vsub.f64 d5, d5, d2 │ │ │ │ │ + vldr d2, [ip, #-96] @ 0xffffffa0 │ │ │ │ │ vldr d1, [r9] │ │ │ │ │ - add.w ip, ip, #48 @ 0x30 │ │ │ │ │ - vldr d9, [r6] │ │ │ │ │ - vmul.f64 d8, d7, d6 │ │ │ │ │ vldr d10, [ip, #-72] @ 0xffffffb8 │ │ │ │ │ + vmul.f64 d8, d7, d6 │ │ │ │ │ vnmls.f64 d8, d2, d11 │ │ │ │ │ vmul.f64 d11, d7, d11 │ │ │ │ │ vmla.f64 d11, d2, d6 │ │ │ │ │ vldr d6, [r4] │ │ │ │ │ vldr d2, [r8] │ │ │ │ │ vsub.f64 d7, d6, d1 │ │ │ │ │ vadd.f64 d1, d1, d6 │ │ │ │ │ @@ -82,58 +86,63 @@ │ │ │ │ │ vmul.f64 d2, d2, d3 │ │ │ │ │ vsub.f64 d9, d10, d1 │ │ │ │ │ vadd.f64 d1, d1, d10 │ │ │ │ │ vmul.f64 d9, d9, d3 │ │ │ │ │ vmul.f64 d1, d1, d3 │ │ │ │ │ vstr d9, [r8] │ │ │ │ │ mov r8, r2 │ │ │ │ │ - vstmia r0!, {d1} │ │ │ │ │ sub.w r2, r2, #8 │ │ │ │ │ + vstmia r0!, {d1} │ │ │ │ │ vstr d2, [r8] │ │ │ │ │ vstr d6, [r6] │ │ │ │ │ vadd.f64 d6, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vstr d6, [r4] │ │ │ │ │ mov r4, r3 │ │ │ │ │ sub.w r3, r3, #8 │ │ │ │ │ vstr d7, [r4] │ │ │ │ │ - bne.w 34 │ │ │ │ │ + bne.w 46 │ │ │ │ │ vpop {d8-d11} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + vmov.f64 d4, #96 @ 0x3f000000 0.5 │ │ │ │ │ add.w ip, ip, #48 @ 0x30 │ │ │ │ │ rsb sl, r4, #0 │ │ │ │ │ - vmov.f64 d4, #96 @ 0x3f000000 0.5 │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ add.w r6, r1, lr │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ add.w fp, r3, lr │ │ │ │ │ - vldr d3, [r0] │ │ │ │ │ add.w r8, r0, lr │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ add.w r9, r2, lr │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ + add.w ip, ip, #48 @ 0x30 │ │ │ │ │ + cmp r7, r5 │ │ │ │ │ + vldr d3, [r0] │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ vadd.f64 d7, d5, d2 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ - vldr d2, [ip, #-40] @ 0xffffffd8 │ │ │ │ │ - adds r5, #1 │ │ │ │ │ + vldr d11, [ip, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d2, [ip, #-88] @ 0xffffffa8 │ │ │ │ │ vsub.f64 d1, d6, d3 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ - vldr d11, [ip, #-48] @ 0xffffffd0 │ │ │ │ │ - cmp r7, r5 │ │ │ │ │ - vmul.f64 d3, d7, d2 │ │ │ │ │ vldr d0, [r9] │ │ │ │ │ - vldr d9, [ip, #-24] @ 0xffffffe8 │ │ │ │ │ - add.w ip, ip, #48 @ 0x30 │ │ │ │ │ vldr d10, [ip, #-80] @ 0xffffffb0 │ │ │ │ │ + vmul.f64 d3, d7, d2 │ │ │ │ │ + vldr d9, [ip, #-72] @ 0xffffffb8 │ │ │ │ │ vnmls.f64 d3, d1, d11 │ │ │ │ │ vmul.f64 d11, d7, d11 │ │ │ │ │ - vmla.f64 d11, d1, d2 │ │ │ │ │ vldr d7, [fp] │ │ │ │ │ + vmla.f64 d11, d1, d2 │ │ │ │ │ vldr d1, [r6] │ │ │ │ │ vsub.f64 d2, d1, d7 │ │ │ │ │ vadd.f64 d1, d1, d7 │ │ │ │ │ vldr d7, [r8] │ │ │ │ │ vadd.f64 d8, d7, d0 │ │ │ │ │ vsub.f64 d7, d7, d0 │ │ │ │ │ vmul.f64 d0, d8, d9 │ │ │ │ │ @@ -158,46 +167,44 @@ │ │ │ │ │ vmul.f64 d1, d1, d4 │ │ │ │ │ vstr d9, [r1] │ │ │ │ │ add r1, r4 │ │ │ │ │ vstr d1, [fp] │ │ │ │ │ vadd.f64 d1, d6, d2 │ │ │ │ │ vsub.f64 d6, d6, d2 │ │ │ │ │ vsub.f64 d9, d1, d10 │ │ │ │ │ - vadd.f64 d1, d1, d10 │ │ │ │ │ vsub.f64 d2, d6, d3 │ │ │ │ │ + vadd.f64 d1, d1, d10 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ vmul.f64 d9, d9, d4 │ │ │ │ │ - vmul.f64 d1, d1, d4 │ │ │ │ │ - vmul.f64 d6, d6, d4 │ │ │ │ │ vmul.f64 d2, d2, d4 │ │ │ │ │ + vmul.f64 d6, d6, d4 │ │ │ │ │ + vmul.f64 d1, d1, d4 │ │ │ │ │ vstr d9, [r9] │ │ │ │ │ vstr d1, [r0] │ │ │ │ │ add r0, r4 │ │ │ │ │ vstr d2, [r2] │ │ │ │ │ add r2, sl │ │ │ │ │ vstr d6, [r8] │ │ │ │ │ vadd.f64 d6, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vmul.f64 d6, d6, d4 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vstr d6, [r6] │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ add r3, sl │ │ │ │ │ - bne.w 17a │ │ │ │ │ - vpop {d8-d11} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + bne.w 1a2 │ │ │ │ │ + b.n 178 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000002b0 : │ │ │ │ │ +000002d4 : │ │ │ │ │ fftw_codelet_hc2cfdft_4(): │ │ │ │ │ - ldr r2, [pc, #12] @ (2c0 ) │ │ │ │ │ - movs r3, #1 │ │ │ │ │ - ldr r1, [pc, #12] @ (2c4 ) │ │ │ │ │ + ldr r2, [pc, #12] @ (2e4 ) │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + ldr r1, [pc, #12] @ (2e8 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2c_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + .word 0x00000006 │ │ │ │ │ R_ARM_REL32 hc2cfdft_4 │ │ │ ├── hc2cfdft_6.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2124 (bytes into file) │ │ │ │ │ + Start of section headers: 2180 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x84c: │ │ │ │ │ +There are 14 section headers, starting at offset 0x884: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000508 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000794 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 00053c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 00053c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 00053c 00000b 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000547 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 00054f 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 0007bc 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 00057f 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00057f 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 0005b4 000150 10 12 16 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000704 00008e 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 0007d4 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000540 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0007cc 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000574 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000574 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000574 00000b 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 00057f 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000587 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 0007f4 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 0005b7 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0005b7 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 0005ec 000150 10 12 16 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 00073c 00008e 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 00080c 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 21 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1264 FUNC LOCAL DEFAULT 1 hc2cfdft_6 │ │ │ │ │ + 1: 00000001 1320 FUNC LOCAL DEFAULT 1 hc2cfdft_6 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000288 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000298 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000004e8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 000004f0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00000500 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000002b8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 000002c8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000520 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000528 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00000538 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 13: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 14: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 15: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 18: 000004f1 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cfdft_6 │ │ │ │ │ + 18: 00000529 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cfdft_6 │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2c_register │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hc2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x794 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x7cc contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000290 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000294 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000500 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000504 00000103 R_ARM_REL32 00000001 hc2cfdft_6 │ │ │ │ │ -000004fa 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ +000002c0 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +000002c4 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000538 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +0000053c 00000103 R_ARM_REL32 00000001 hc2cfdft_6 │ │ │ │ │ +00000534 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x7bc contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x7f4 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000a02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001402 R_ARM_ABS32 00000000 fftw_rdft_hc2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,131 +1,135 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hc2cfdft_6(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov.w lr, #80 @ 0x50 │ │ │ │ │ - ldr r7, [pc, #644] @ (290 ) │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #52 @ 0x34 │ │ │ │ │ - add r7, pc │ │ │ │ │ - ldr r4, [sp, #160] @ 0xa0 │ │ │ │ │ ldr r6, [sp, #152] @ 0x98 │ │ │ │ │ - add.w ip, r4, #4294967295 @ 0xffffffff │ │ │ │ │ + ldr r4, [sp, #160] @ 0xa0 │ │ │ │ │ + ldr r7, [pc, #672] @ (2c0 ) │ │ │ │ │ ldr r5, [sp, #168] @ 0xa8 │ │ │ │ │ - mla ip, lr, ip, r6 │ │ │ │ │ + add.w ip, r4, #4294967295 @ 0xffffffff │ │ │ │ │ + add.w ip, ip, ip, lsl #2 │ │ │ │ │ + add r7, pc │ │ │ │ │ + add.w ip, r6, ip, lsl #4 │ │ │ │ │ ldr r6, [sp, #164] @ 0xa4 │ │ │ │ │ cmp r4, r6 │ │ │ │ │ - bge.w 27a │ │ │ │ │ - ldr r6, [pc, #616] @ (294 ) │ │ │ │ │ + bge.w 298 │ │ │ │ │ + ldr r6, [pc, #648] @ (2c4 ) │ │ │ │ │ cmp r5, #1 │ │ │ │ │ ldr r6, [r7, r6] │ │ │ │ │ ldr r6, [r6, #0] │ │ │ │ │ str r6, [sp, #36] @ 0x24 │ │ │ │ │ - bne.w 298 │ │ │ │ │ - add.w ip, ip, #80 @ 0x50 │ │ │ │ │ - vldr d11, [pc, #588] @ 288 │ │ │ │ │ + bne.w 2c8 │ │ │ │ │ + vldr d11, [pc, #624] @ 2b8 │ │ │ │ │ vmov.f64 d15, #96 @ 0x3f000000 0.5 │ │ │ │ │ vmov.f64 d14, #80 @ 0x3e800000 0.250 │ │ │ │ │ + add.w ip, ip, #80 @ 0x50 │ │ │ │ │ ldr r5, [sp, #156] @ 0x9c │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ add.w ip, ip, #80 @ 0x50 │ │ │ │ │ vldr d3, [r0] │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ - adds r6, r0, r5 │ │ │ │ │ + add.w r6, r0, r5 │ │ │ │ │ + add.w r7, r1, r5 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - adds r7, r1, r5 │ │ │ │ │ add.w lr, r2, r5 │ │ │ │ │ add.w r8, r3, r5 │ │ │ │ │ - vsub.f64 d13, d4, d3 │ │ │ │ │ - vldr d9, [r6] │ │ │ │ │ - vadd.f64 d1, d2, d7 │ │ │ │ │ - vldr d8, [lr] │ │ │ │ │ add.w sl, r6, r5 │ │ │ │ │ - vldr d5, [r8] │ │ │ │ │ add.w r9, lr, r5 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ + vldr d9, [r6] │ │ │ │ │ + vsub.f64 d13, d4, d3 │ │ │ │ │ add.w fp, r7, r5 │ │ │ │ │ - vstr d13, [sp, #24] │ │ │ │ │ add r5, r8 │ │ │ │ │ + vldr d5, [r8] │ │ │ │ │ + vldr d8, [lr] │ │ │ │ │ + vadd.f64 d1, d2, d7 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + vstr d13, [sp, #24] │ │ │ │ │ vldr d13, [sl] │ │ │ │ │ + vldr d0, [r5] │ │ │ │ │ vadd.f64 d6, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vsub.f64 d5, d9, d8 │ │ │ │ │ vadd.f64 d9, d8, d9 │ │ │ │ │ vldr d8, [r9] │ │ │ │ │ - vldr d0, [r5] │ │ │ │ │ vsub.f64 d10, d13, d8 │ │ │ │ │ vadd.f64 d13, d8, d13 │ │ │ │ │ vldr d8, [fp] │ │ │ │ │ vadd.f64 d12, d0, d8 │ │ │ │ │ vsub.f64 d0, d8, d0 │ │ │ │ │ vldr d8, [r1] │ │ │ │ │ vsub.f64 d2, d8, d2 │ │ │ │ │ vadd.f64 d8, d3, d4 │ │ │ │ │ - vldr d4, [ip, #-120] @ 0xffffff88 │ │ │ │ │ vldr d3, [ip, #-128] @ 0xffffff80 │ │ │ │ │ + vldr d4, [ip, #-120] @ 0xffffff88 │ │ │ │ │ vstr d2, [sp] │ │ │ │ │ + vstr d8, [sp, #16] │ │ │ │ │ vmul.f64 d2, d4, d6 │ │ │ │ │ vmul.f64 d4, d4, d5 │ │ │ │ │ + vnmls.f64 d4, d3, d6 │ │ │ │ │ vmla.f64 d2, d3, d5 │ │ │ │ │ vldr d5, [ip, #-144] @ 0xffffff70 │ │ │ │ │ - vstr d8, [sp, #16] │ │ │ │ │ - vnmls.f64 d4, d3, d6 │ │ │ │ │ vldr d3, [ip, #-96] @ 0xffffffa0 │ │ │ │ │ - vmov.f64 d8, d2 │ │ │ │ │ vstr d4, [sp, #8] │ │ │ │ │ + vmov.f64 d8, d2 │ │ │ │ │ vldr d4, [ip, #-136] @ 0xffffff78 │ │ │ │ │ vmul.f64 d6, d4, d9 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ vmul.f64 d7, d4, d7 │ │ │ │ │ vmla.f64 d7, d5, d9 │ │ │ │ │ vldr d5, [ip, #-88] @ 0xffffffa8 │ │ │ │ │ vmul.f64 d4, d5, d12 │ │ │ │ │ vmul.f64 d5, d5, d10 │ │ │ │ │ - vmla.f64 d4, d3, d10 │ │ │ │ │ vnmls.f64 d5, d3, d12 │ │ │ │ │ + vmla.f64 d4, d3, d10 │ │ │ │ │ vldr d3, [ip, #-152] @ 0xffffff68 │ │ │ │ │ - vsub.f64 d10, d6, d4 │ │ │ │ │ - vadd.f64 d4, d4, d6 │ │ │ │ │ - vldr d6, [ip, #-112] @ 0xffffff90 │ │ │ │ │ vadd.f64 d12, d5, d7 │ │ │ │ │ vsub.f64 d9, d7, d5 │ │ │ │ │ - vldr d7, [ip, #-104] @ 0xffffff98 │ │ │ │ │ vldr d5, [ip, #-160] @ 0xffffff60 │ │ │ │ │ + vsub.f64 d10, d6, d4 │ │ │ │ │ + vadd.f64 d4, d4, d6 │ │ │ │ │ + vldr d7, [ip, #-104] @ 0xffffff98 │ │ │ │ │ + vldr d6, [ip, #-112] @ 0xffffff90 │ │ │ │ │ vmul.f64 d2, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ vmla.f64 d7, d6, d13 │ │ │ │ │ vldr d13, [sp, #24] │ │ │ │ │ vnmls.f64 d2, d6, d0 │ │ │ │ │ vmul.f64 d6, d3, d1 │ │ │ │ │ vmul.f64 d3, d3, d13 │ │ │ │ │ - vmla.f64 d3, d5, d1 │ │ │ │ │ vnmls.f64 d6, d5, d13 │ │ │ │ │ vmov.f64 d13, d8 │ │ │ │ │ + vmla.f64 d3, d5, d1 │ │ │ │ │ + vadd.f64 d0, d6, d2 │ │ │ │ │ + vsub.f64 d6, d6, d2 │ │ │ │ │ vadd.f64 d5, d3, d7 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ vldr d3, [sp] │ │ │ │ │ - vadd.f64 d0, d6, d2 │ │ │ │ │ - vsub.f64 d6, d6, d2 │ │ │ │ │ - vsub.f64 d8, d3, d8 │ │ │ │ │ - vsub.f64 d1, d12, d5 │ │ │ │ │ - vadd.f64 d5, d5, d12 │ │ │ │ │ vadd.f64 d2, d0, d10 │ │ │ │ │ vsub.f64 d10, d10, d0 │ │ │ │ │ - vmul.f64 d1, d1, d11 │ │ │ │ │ + vsub.f64 d8, d3, d8 │ │ │ │ │ + vsub.f64 d1, d12, d5 │ │ │ │ │ vmul.f64 d3, d2, d14 │ │ │ │ │ - vadd.f64 d2, d2, d8 │ │ │ │ │ + vadd.f64 d5, d5, d12 │ │ │ │ │ vmul.f64 d10, d10, d11 │ │ │ │ │ + vadd.f64 d2, d2, d8 │ │ │ │ │ vnmls.f64 d3, d8, d15 │ │ │ │ │ + vmul.f64 d1, d1, d11 │ │ │ │ │ vmul.f64 d2, d2, d15 │ │ │ │ │ vstmia r1!, {d2} │ │ │ │ │ vsub.f64 d2, d1, d3 │ │ │ │ │ vadd.f64 d3, d3, d1 │ │ │ │ │ vstr d2, [r8] │ │ │ │ │ vmul.f64 d2, d5, d14 │ │ │ │ │ vstr d3, [fp] │ │ │ │ │ @@ -139,158 +143,163 @@ │ │ │ │ │ vmul.f64 d5, d5, d15 │ │ │ │ │ vmul.f64 d3, d3, d11 │ │ │ │ │ vsub.f64 d1, d2, d10 │ │ │ │ │ vadd.f64 d2, d2, d10 │ │ │ │ │ vstr d1, [sl] │ │ │ │ │ vstmia r0!, {d5} │ │ │ │ │ vsub.f64 d5, d6, d4 │ │ │ │ │ - vstr d2, [lr] │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vldr d2, [sp] │ │ │ │ │ + vstr d2, [lr] │ │ │ │ │ vsub.f64 d4, d8, d0 │ │ │ │ │ - vadd.f64 d1, d13, d2 │ │ │ │ │ + vldr d2, [sp] │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ + vadd.f64 d1, d13, d2 │ │ │ │ │ vmul.f64 d2, d1, d15 │ │ │ │ │ vmla.f64 d2, d5, d14 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ vmul.f64 d5, d5, d15 │ │ │ │ │ vstr d5, [r5] │ │ │ │ │ vsub.f64 d5, d3, d2 │ │ │ │ │ mov r5, r3 │ │ │ │ │ vadd.f64 d2, d2, d3 │ │ │ │ │ - subs r3, #8 │ │ │ │ │ + sub.w r3, r3, #8 │ │ │ │ │ vstr d5, [r5] │ │ │ │ │ vmul.f64 d5, d7, d14 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ mov r5, r2 │ │ │ │ │ vstr d2, [r7] │ │ │ │ │ - subs r2, #8 │ │ │ │ │ + sub.w r2, r2, #8 │ │ │ │ │ vnmls.f64 d5, d4, d15 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ vadd.f64 d3, d5, d6 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ vstr d3, [r6] │ │ │ │ │ ldr r6, [sp, #36] @ 0x24 │ │ │ │ │ vstr d7, [r9] │ │ │ │ │ vstr d5, [r5] │ │ │ │ │ ldr r5, [sp, #156] @ 0x9c │ │ │ │ │ - eors r5, r6 │ │ │ │ │ + eor.w r5, r5, r6 │ │ │ │ │ str r5, [sp, #156] @ 0x9c │ │ │ │ │ ldr r5, [sp, #164] @ 0xa4 │ │ │ │ │ cmp r5, r4 │ │ │ │ │ - bne.w 46 │ │ │ │ │ + bne.w 56 │ │ │ │ │ add sp, #52 @ 0x34 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop.w │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3fdbb67a │ │ │ │ │ - .word 0x0000027c │ │ │ │ │ + .word 0x00000292 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ - add ip, lr │ │ │ │ │ - str r5, [sp, #40] @ 0x28 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ vmov.f64 d11, #96 @ 0x3f000000 0.5 │ │ │ │ │ - negs r5, r5 │ │ │ │ │ vmov.f64 d15, #80 @ 0x3e800000 0.250 │ │ │ │ │ + add.w ip, ip, #80 @ 0x50 │ │ │ │ │ + str r5, [sp, #40] @ 0x28 │ │ │ │ │ + rsb r5, r5, #0 │ │ │ │ │ str r5, [sp, #44] @ 0x2c │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - vldr d1, [r1] │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ add.w ip, ip, #80 @ 0x50 │ │ │ │ │ + vldr d1, [r1] │ │ │ │ │ ldr r5, [sp, #156] @ 0x9c │ │ │ │ │ vldr d3, [r2] │ │ │ │ │ - vadd.f64 d0, d1, d2 │ │ │ │ │ vldr d4, [r0] │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ + vadd.f64 d0, d1, d2 │ │ │ │ │ vsub.f64 d1, d1, d2 │ │ │ │ │ - adds r6, r0, r5 │ │ │ │ │ - adds r7, r1, r5 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ + add.w r6, r0, r5 │ │ │ │ │ + add.w r7, r1, r5 │ │ │ │ │ add.w lr, r2, r5 │ │ │ │ │ add.w r8, r3, r5 │ │ │ │ │ - vsub.f64 d8, d3, d4 │ │ │ │ │ - vstr d0, [sp, #8] │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - vadd.f64 d4, d3, d4 │ │ │ │ │ vldr d7, [r6] │ │ │ │ │ add.w sl, r6, r5 │ │ │ │ │ - vldr d0, [lr] │ │ │ │ │ add.w r9, lr, r5 │ │ │ │ │ - vldr d9, [r8] │ │ │ │ │ + vsub.f64 d8, d3, d4 │ │ │ │ │ + vadd.f64 d4, d3, d4 │ │ │ │ │ + vstr d0, [sp, #8] │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ add.w fp, r7, r5 │ │ │ │ │ - vldr d3, [ip, #-120] @ 0xffffff88 │ │ │ │ │ add r5, r8 │ │ │ │ │ + vldr d0, [lr] │ │ │ │ │ + vldr d9, [r8] │ │ │ │ │ vstr d4, [sp, #16] │ │ │ │ │ + vldr d4, [ip, #-128] @ 0xffffff80 │ │ │ │ │ + vldr d3, [ip, #-120] @ 0xffffff88 │ │ │ │ │ vadd.f64 d5, d6, d9 │ │ │ │ │ vsub.f64 d9, d6, d9 │ │ │ │ │ + vldr d14, [r9] │ │ │ │ │ vsub.f64 d6, d7, d0 │ │ │ │ │ - vldr d4, [ip, #-128] @ 0xffffff80 │ │ │ │ │ vadd.f64 d7, d7, d0 │ │ │ │ │ - vldr d14, [r9] │ │ │ │ │ vldr d0, [sl] │ │ │ │ │ vldr d13, [fp] │ │ │ │ │ vmul.f64 d2, d6, d4 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ - vmla.f64 d2, d5, d3 │ │ │ │ │ vsub.f64 d12, d0, d14 │ │ │ │ │ vadd.f64 d14, d0, d14 │ │ │ │ │ vldr d0, [r5] │ │ │ │ │ - vldr d3, [ip, #-88] @ 0xffffffa8 │ │ │ │ │ vnmls.f64 d6, d5, d4 │ │ │ │ │ - vldr d5, [ip, #-136] @ 0xffffff78 │ │ │ │ │ + vmla.f64 d2, d5, d3 │ │ │ │ │ vldr d4, [ip, #-144] @ 0xffffff70 │ │ │ │ │ + vldr d5, [ip, #-136] @ 0xffffff78 │ │ │ │ │ vadd.f64 d10, d13, d0 │ │ │ │ │ vsub.f64 d0, d13, d0 │ │ │ │ │ + vldr d3, [ip, #-88] @ 0xffffffa8 │ │ │ │ │ vstr d2, [sp] │ │ │ │ │ - vldr d2, [ip, #-152] @ 0xffffff68 │ │ │ │ │ vstr d6, [sp, #24] │ │ │ │ │ vmul.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ - vmla.f64 d7, d9, d5 │ │ │ │ │ + vldr d2, [ip, #-152] @ 0xffffff68 │ │ │ │ │ vnmls.f64 d6, d9, d4 │ │ │ │ │ vldr d4, [ip, #-96] @ 0xffffffa0 │ │ │ │ │ + vmla.f64 d7, d9, d5 │ │ │ │ │ vmul.f64 d5, d12, d4 │ │ │ │ │ vmul.f64 d12, d12, d3 │ │ │ │ │ vmla.f64 d5, d10, d3 │ │ │ │ │ vnmls.f64 d12, d10, d4 │ │ │ │ │ vldr d4, [ip, #-160] @ 0xffffff60 │ │ │ │ │ vsub.f64 d10, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vldr d5, [ip, #-104] @ 0xffffff98 │ │ │ │ │ vadd.f64 d13, d7, d12 │ │ │ │ │ vsub.f64 d9, d7, d12 │ │ │ │ │ - vmul.f64 d3, d14, d5 │ │ │ │ │ vldr d7, [ip, #-112] @ 0xffffff90 │ │ │ │ │ + vmul.f64 d3, d14, d5 │ │ │ │ │ vnmls.f64 d3, d0, d7 │ │ │ │ │ vmul.f64 d7, d14, d7 │ │ │ │ │ + vldr d14, [pc, #300] @ 520 │ │ │ │ │ vmla.f64 d7, d0, d5 │ │ │ │ │ vldr d0, [sp, #8] │ │ │ │ │ - vldr d14, [pc, #300] @ 4e8 │ │ │ │ │ vmul.f64 d5, d0, d2 │ │ │ │ │ vnmls.f64 d5, d8, d4 │ │ │ │ │ vmul.f64 d4, d0, d4 │ │ │ │ │ vmla.f64 d4, d8, d2 │ │ │ │ │ vldr d2, [sp] │ │ │ │ │ vadd.f64 d0, d3, d5 │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ - vadd.f64 d12, d7, d4 │ │ │ │ │ vsub.f64 d3, d1, d2 │ │ │ │ │ + vadd.f64 d12, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ vadd.f64 d8, d10, d0 │ │ │ │ │ vsub.f64 d10, d10, d0 │ │ │ │ │ + vmov.f64 d0, d14 │ │ │ │ │ vsub.f64 d4, d13, d12 │ │ │ │ │ vadd.f64 d13, d13, d12 │ │ │ │ │ - vmov.f64 d0, d14 │ │ │ │ │ vmul.f64 d2, d8, d15 │ │ │ │ │ vmul.f64 d10, d10, d14 │ │ │ │ │ - vmul.f64 d4, d4, d14 │ │ │ │ │ vnmls.f64 d2, d3, d11 │ │ │ │ │ vadd.f64 d3, d3, d8 │ │ │ │ │ + vmul.f64 d4, d4, d14 │ │ │ │ │ vmul.f64 d3, d3, d11 │ │ │ │ │ vstr d3, [r1] │ │ │ │ │ vsub.f64 d3, d4, d2 │ │ │ │ │ vadd.f64 d4, d4, d2 │ │ │ │ │ vstr d3, [r8] │ │ │ │ │ vmul.f64 d3, d13, d15 │ │ │ │ │ vstr d4, [fp] │ │ │ │ │ @@ -310,58 +319,55 @@ │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ vstr d4, [r0] │ │ │ │ │ vsub.f64 d4, d7, d9 │ │ │ │ │ vadd.f64 d9, d9, d7 │ │ │ │ │ vstr d10, [lr] │ │ │ │ │ vadd.f64 d1, d1, d2 │ │ │ │ │ vmul.f64 d2, d3, d15 │ │ │ │ │ - vmul.f64 d4, d4, d0 │ │ │ │ │ vmul.f64 d7, d9, d15 │ │ │ │ │ - vmla.f64 d2, d1, d11 │ │ │ │ │ + vmul.f64 d4, d4, d0 │ │ │ │ │ vsub.f64 d3, d3, d1 │ │ │ │ │ + vmla.f64 d2, d1, d11 │ │ │ │ │ vnmls.f64 d7, d5, d11 │ │ │ │ │ vadd.f64 d5, d5, d9 │ │ │ │ │ vmul.f64 d3, d3, d11 │ │ │ │ │ vmul.f64 d5, d5, d11 │ │ │ │ │ vstr d3, [r5] │ │ │ │ │ vsub.f64 d3, d4, d2 │ │ │ │ │ vadd.f64 d4, d4, d2 │ │ │ │ │ ldr r5, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ add r0, r5 │ │ │ │ │ add r1, r5 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ vstr d4, [r7] │ │ │ │ │ vadd.f64 d4, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ ldr r5, [sp, #44] @ 0x2c │ │ │ │ │ add r3, r5 │ │ │ │ │ vstr d4, [r6] │ │ │ │ │ ldr r6, [sp, #36] @ 0x24 │ │ │ │ │ vstr d5, [r9] │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ add r2, r5 │ │ │ │ │ ldr r5, [sp, #156] @ 0x9c │ │ │ │ │ - eors r5, r6 │ │ │ │ │ + eor.w r5, r5, r6 │ │ │ │ │ str r5, [sp, #156] @ 0x9c │ │ │ │ │ ldr r5, [sp, #164] @ 0xa4 │ │ │ │ │ cmp r5, r4 │ │ │ │ │ - bne.w 2aa │ │ │ │ │ - add sp, #52 @ 0x34 │ │ │ │ │ - vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + bne.w 2e0 │ │ │ │ │ + b.n 298 │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3fdbb67a │ │ │ │ │ │ │ │ │ │ -000004f0 : │ │ │ │ │ +00000528 : │ │ │ │ │ fftw_codelet_hc2cfdft_6(): │ │ │ │ │ - ldr r2, [pc, #12] @ (500 ) │ │ │ │ │ - movs r3, #1 │ │ │ │ │ - ldr r1, [pc, #12] @ (504 ) │ │ │ │ │ + ldr r2, [pc, #12] @ (538 ) │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + ldr r1, [pc, #12] @ (53c ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2c_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + .word 0x00000006 │ │ │ │ │ R_ARM_REL32 hc2cfdft_6 │ │ │ ├── hc2cfdft_8.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1788 (bytes into file) │ │ │ │ │ + Start of section headers: 1844 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x6fc: │ │ │ │ │ +There are 14 section headers, starting at offset 0x734: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0003d8 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000644 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 00040c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 00040c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 00040c 00000b 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000417 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 00041f 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 00066c 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 00044f 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00044f 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000484 000130 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 0005b4 00008e 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000684 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000410 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 00067c 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000444 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000444 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000444 00000b 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 00044f 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000457 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 0006a4 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000487 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000487 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 0004bc 000130 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0005ec 00008e 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 0006bc 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 19 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 960 FUNC LOCAL DEFAULT 1 hc2cfdft_8 │ │ │ │ │ + 1: 00000001 1016 FUNC LOCAL DEFAULT 1 hc2cfdft_8 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000003b0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 000003c0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000003d0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000003e8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 000003f8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000408 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 16: 000003c1 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cfdft_8 │ │ │ │ │ + 16: 000003f9 24 FUNC GLOBAL DEFAULT 1 fftw_codelet_hc2cfdft_8 │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2c_register │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hc2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x644 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x67c contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000003b8 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -000003bc 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000003d0 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000003d4 00000103 R_ARM_REL32 00000001 hc2cfdft_8 │ │ │ │ │ -000003ca 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ +000003f0 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +000003f4 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000408 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +0000040c 00000103 R_ARM_REL32 00000001 hc2cfdft_8 │ │ │ │ │ +00000404 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x66c contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x6a4 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001202 R_ARM_ABS32 00000000 fftw_rdft_hc2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,162 +1,166 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hc2cfdft_8(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r5, r0 │ │ │ │ │ mov r6, r1 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r7, r2 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #132 @ 0x84 │ │ │ │ │ - mov r7, r2 │ │ │ │ │ - ldr r2, [pc, #932] @ (3b8 ) │ │ │ │ │ ldrd r1, r0, [sp, #240] @ 0xf0 │ │ │ │ │ - add r2, pc │ │ │ │ │ + ldr r2, [pc, #968] @ (3f0 ) │ │ │ │ │ cmp r1, r0 │ │ │ │ │ - bge.w 3a4 │ │ │ │ │ + add r2, pc │ │ │ │ │ + bge.w 3ca │ │ │ │ │ ldr r1, [sp, #248] @ 0xf8 │ │ │ │ │ - movs r0, #112 @ 0x70 │ │ │ │ │ - vldr d12, [pc, #908] @ 3b0 │ │ │ │ │ vmov.f64 d14, #96 @ 0x3f000000 0.5 │ │ │ │ │ - lsls r1, r1, #3 │ │ │ │ │ + vldr d12, [pc, #944] @ 3e8 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ str r1, [sp, #116] @ 0x74 │ │ │ │ │ - negs r1, r1 │ │ │ │ │ + rsb r1, r1, #0 │ │ │ │ │ str r1, [sp, #120] @ 0x78 │ │ │ │ │ - ldr r1, [pc, #904] @ (3bc ) │ │ │ │ │ + ldr r1, [pc, #940] @ (3f4 ) │ │ │ │ │ ldr r2, [r2, r1] │ │ │ │ │ - ldr r1, [sp, #240] @ 0xf0 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ + ldr r1, [sp, #232] @ 0xe8 │ │ │ │ │ ldr r2, [r2, #0] │ │ │ │ │ str r2, [sp, #124] @ 0x7c │ │ │ │ │ - ldr r2, [sp, #232] @ 0xe8 │ │ │ │ │ - mla r2, r0, r1, r2 │ │ │ │ │ - ldr r3, [sp, #236] @ 0xec │ │ │ │ │ - adds r2, #112 @ 0x70 │ │ │ │ │ + ldr r2, [sp, #240] @ 0xf0 │ │ │ │ │ + rsb r2, r2, r2, lsl #3 │ │ │ │ │ + add.w r2, r1, r2, lsl #4 │ │ │ │ │ ldr r4, [sp, #0] │ │ │ │ │ + add.w r2, r2, #112 @ 0x70 │ │ │ │ │ + ldr r3, [sp, #236] @ 0xec │ │ │ │ │ vldr d0, [r6] │ │ │ │ │ - lsls r1, r3, #4 │ │ │ │ │ + vldr d15, [r4] │ │ │ │ │ + mov.w r1, r3, lsl #4 │ │ │ │ │ vldr d1, [r2, #-176] @ 0xffffff50 │ │ │ │ │ - adds r0, r6, r1 │ │ │ │ │ + add.w r0, r6, r1 │ │ │ │ │ add.w fp, r4, r1 │ │ │ │ │ - vldr d15, [r4] │ │ │ │ │ add.w sl, r7, r1 │ │ │ │ │ - adds r4, r5, r1 │ │ │ │ │ + add.w r4, r5, r1 │ │ │ │ │ vldr d9, [r7] │ │ │ │ │ + str r0, [sp, #4] │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ - vldr d7, [fp] │ │ │ │ │ vadd.f64 d5, d0, d15 │ │ │ │ │ - vldr d8, [sl] │ │ │ │ │ vsub.f64 d15, d0, d15 │ │ │ │ │ + str r4, [sp, #112] @ 0x70 │ │ │ │ │ + mov.w r0, r3, lsl #3 │ │ │ │ │ + vldr d7, [fp] │ │ │ │ │ + add.w ip, r6, r0 │ │ │ │ │ + vldr d8, [sl] │ │ │ │ │ + add.w r8, ip, r1 │ │ │ │ │ vldr d0, [r2, #-168] @ 0xffffff58 │ │ │ │ │ vsub.f64 d4, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ vldr d10, [r5] │ │ │ │ │ - str r4, [sp, #112] @ 0x70 │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ vadd.f64 d2, d7, d8 │ │ │ │ │ vsub.f64 d7, d7, d8 │ │ │ │ │ vsub.f64 d3, d9, d10 │ │ │ │ │ - ldr r4, [sp, #0] │ │ │ │ │ - str r0, [sp, #4] │ │ │ │ │ - lsls r0, r3, #3 │ │ │ │ │ - add.w ip, r6, r0 │ │ │ │ │ - add.w lr, r4, r0 │ │ │ │ │ - vmul.f64 d8, d2, d0 │ │ │ │ │ - adds r4, r5, r0 │ │ │ │ │ vadd.f64 d10, d9, d10 │ │ │ │ │ + add.w lr, r4, r0 │ │ │ │ │ + add.w r4, r5, r0 │ │ │ │ │ add r0, r7 │ │ │ │ │ - vldr d9, [lr] │ │ │ │ │ add.w r3, lr, r1 │ │ │ │ │ + vldr d9, [lr] │ │ │ │ │ add.w r9, r4, r1 │ │ │ │ │ - add.w r8, ip, r1 │ │ │ │ │ + add r1, r0 │ │ │ │ │ + vmul.f64 d8, d2, d0 │ │ │ │ │ vnmls.f64 d8, d4, d1 │ │ │ │ │ vmul.f64 d4, d4, d0 │ │ │ │ │ + vldr d0, [r3] │ │ │ │ │ vmla.f64 d4, d2, d1 │ │ │ │ │ vldr d2, [r2, #-224] @ 0xffffff20 │ │ │ │ │ - add r1, r0 │ │ │ │ │ - vldr d0, [r3] │ │ │ │ │ vstr d8, [sp, #8] │ │ │ │ │ vstr d4, [sp, #96] @ 0x60 │ │ │ │ │ vldr d4, [r2, #-216] @ 0xffffff28 │ │ │ │ │ vmul.f64 d1, d5, d4 │ │ │ │ │ vmul.f64 d5, d5, d2 │ │ │ │ │ vmla.f64 d5, d3, d4 │ │ │ │ │ vldr d4, [r2, #-152] @ 0xffffff68 │ │ │ │ │ vnmls.f64 d1, d3, d2 │ │ │ │ │ vmul.f64 d3, d6, d4 │ │ │ │ │ vmov.f64 d2, d5 │ │ │ │ │ vldr d5, [r2, #-160] @ 0xffffff60 │ │ │ │ │ - vmla.f64 d3, d7, d5 │ │ │ │ │ - vmul.f64 d7, d7, d4 │ │ │ │ │ vstr d1, [sp, #16] │ │ │ │ │ vstr d2, [sp, #24] │ │ │ │ │ + vmla.f64 d3, d7, d5 │ │ │ │ │ + vmul.f64 d7, d7, d4 │ │ │ │ │ vnmls.f64 d7, d6, d5 │ │ │ │ │ vldr d6, [ip] │ │ │ │ │ + vadd.f64 d11, d1, d3 │ │ │ │ │ + vstr d3, [sp, #32] │ │ │ │ │ vsub.f64 d4, d6, d9 │ │ │ │ │ vadd.f64 d9, d6, d9 │ │ │ │ │ vldr d6, [r4] │ │ │ │ │ - vadd.f64 d11, d1, d3 │ │ │ │ │ - vstr d3, [sp, #32] │ │ │ │ │ vldr d3, [r8] │ │ │ │ │ vsub.f64 d13, d2, d7 │ │ │ │ │ vstr d7, [sp, #40] @ 0x28 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ vsub.f64 d5, d3, d0 │ │ │ │ │ vadd.f64 d0, d3, d0 │ │ │ │ │ vadd.f64 d1, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [r9] │ │ │ │ │ vldr d2, [r1] │ │ │ │ │ vldr d8, [r2, #-200] @ 0xffffff38 │ │ │ │ │ vadd.f64 d3, d7, d2 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ - vmul.f64 d8, d1, d8 │ │ │ │ │ vldr d2, [r2, #-208] @ 0xffffff30 │ │ │ │ │ + vmul.f64 d8, d1, d8 │ │ │ │ │ vnmls.f64 d8, d4, d2 │ │ │ │ │ vstr d8, [sp, #104] @ 0x68 │ │ │ │ │ vldr d8, [r2, #-200] @ 0xffffff38 │ │ │ │ │ vmul.f64 d4, d4, d8 │ │ │ │ │ vldr d8, [sp, #8] │ │ │ │ │ vmla.f64 d4, d1, d2 │ │ │ │ │ vldr d2, [r2, #-136] @ 0xffffff78 │ │ │ │ │ vmul.f64 d1, d3, d2 │ │ │ │ │ vstr d4, [sp, #48] @ 0x30 │ │ │ │ │ vldr d4, [r2, #-144] @ 0xffffff70 │ │ │ │ │ vnmls.f64 d1, d5, d4 │ │ │ │ │ vmul.f64 d5, d5, d2 │ │ │ │ │ vmla.f64 d5, d3, d4 │ │ │ │ │ vldr d4, [r2, #-184] @ 0xffffff48 │ │ │ │ │ - vmul.f64 d3, d9, d4 │ │ │ │ │ vstr d1, [sp, #56] @ 0x38 │ │ │ │ │ vadd.f64 d1, d11, d13 │ │ │ │ │ - vmov.f64 d2, d5 │ │ │ │ │ - vldr d5, [r2, #-192] @ 0xffffff40 │ │ │ │ │ vsub.f64 d11, d11, d13 │ │ │ │ │ + vmul.f64 d3, d9, d4 │ │ │ │ │ vldr d13, [sp, #104] @ 0x68 │ │ │ │ │ + vmov.f64 d2, d5 │ │ │ │ │ + vldr d5, [r2, #-192] @ 0xffffff40 │ │ │ │ │ + vstr d2, [sp, #64] @ 0x40 │ │ │ │ │ vmla.f64 d3, d6, d5 │ │ │ │ │ vmul.f64 d6, d6, d4 │ │ │ │ │ - vstr d2, [sp, #64] @ 0x40 │ │ │ │ │ vnmls.f64 d6, d9, d5 │ │ │ │ │ vldr d9, [r2, #-120] @ 0xffffff88 │ │ │ │ │ + vstr d3, [sp, #72] @ 0x48 │ │ │ │ │ vmul.f64 d4, d0, d9 │ │ │ │ │ vmul.f64 d9, d7, d9 │ │ │ │ │ - vstr d3, [sp, #72] @ 0x48 │ │ │ │ │ vmov.f64 d5, d6 │ │ │ │ │ vldr d6, [r2, #-128] @ 0xffffff80 │ │ │ │ │ + vstr d5, [sp, #80] @ 0x50 │ │ │ │ │ vmla.f64 d4, d7, d6 │ │ │ │ │ vnmls.f64 d9, d0, d6 │ │ │ │ │ vldr d0, [sp, #48] @ 0x30 │ │ │ │ │ vsub.f64 d7, d15, d8 │ │ │ │ │ - vstr d5, [sp, #80] @ 0x50 │ │ │ │ │ vsub.f64 d6, d9, d5 │ │ │ │ │ - vstr d4, [sp, #88] @ 0x58 │ │ │ │ │ vsub.f64 d5, d3, d4 │ │ │ │ │ + vstr d4, [sp, #88] @ 0x58 │ │ │ │ │ vsub.f64 d4, d0, d2 │ │ │ │ │ vldr d0, [sp, #56] @ 0x38 │ │ │ │ │ vsub.f64 d2, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ vsub.f64 d4, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vsub.f64 d8, d13, d0 │ │ │ │ │ @@ -181,37 +185,37 @@ │ │ │ │ │ vstr d8, [ip] │ │ │ │ │ vadd.f64 d8, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vstr d8, [r4] │ │ │ │ │ vstr d1, [fp] │ │ │ │ │ vstr d5, [sl] │ │ │ │ │ vsub.f64 d5, d0, d6 │ │ │ │ │ - ldr r4, [sp, #0] │ │ │ │ │ vadd.f64 d6, d6, d0 │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ vsub.f64 d5, d3, d7 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ vstr d5, [r4] │ │ │ │ │ vstr d6, [r9] │ │ │ │ │ vldr d6, [sp, #56] @ 0x38 │ │ │ │ │ vstr d7, [r8] │ │ │ │ │ vldr d8, [sp, #8] │ │ │ │ │ - vadd.f64 d7, d13, d6 │ │ │ │ │ + vldr d1, [sp, #16] │ │ │ │ │ vldr d2, [sp, #24] │ │ │ │ │ + vadd.f64 d7, d13, d6 │ │ │ │ │ vldr d5, [sp, #40] @ 0x28 │ │ │ │ │ vadd.f64 d15, d15, d8 │ │ │ │ │ + vldr d3, [sp, #32] │ │ │ │ │ vldr d8, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d1, [sp, #16] │ │ │ │ │ + vadd.f64 d6, d7, d15 │ │ │ │ │ vadd.f64 d5, d2, d5 │ │ │ │ │ - vldr d3, [sp, #32] │ │ │ │ │ vldr d0, [sp, #48] @ 0x30 │ │ │ │ │ - vadd.f64 d6, d7, d15 │ │ │ │ │ vsub.f64 d15, d15, d7 │ │ │ │ │ - vadd.f64 d7, d8, d9 │ │ │ │ │ ldr r4, [sp, #112] @ 0x70 │ │ │ │ │ + vadd.f64 d7, d8, d9 │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vsub.f64 d5, d1, d3 │ │ │ │ │ vldr d3, [sp, #72] @ 0x48 │ │ │ │ │ vldr d1, [sp, #88] @ 0x58 │ │ │ │ │ vadd.f64 d2, d3, d1 │ │ │ │ │ vadd.f64 d1, d10, d11 │ │ │ │ │ @@ -227,65 +231,70 @@ │ │ │ │ │ vmul.f64 d3, d3, d14 │ │ │ │ │ vstr d1, [r6] │ │ │ │ │ vadd.f64 d1, d7, d2 │ │ │ │ │ vsub.f64 d2, d2, d7 │ │ │ │ │ vsub.f64 d7, d0, d5 │ │ │ │ │ vadd.f64 d5, d5, d0 │ │ │ │ │ vmul.f64 d1, d1, d14 │ │ │ │ │ - vmul.f64 d7, d7, d14 │ │ │ │ │ vmul.f64 d2, d2, d14 │ │ │ │ │ + vmul.f64 d7, d7, d14 │ │ │ │ │ vmul.f64 d5, d5, d14 │ │ │ │ │ vstr d1, [r5] │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ + ldr r3, [sp, #240] @ 0xf0 │ │ │ │ │ vstr d2, [r1] │ │ │ │ │ vstr d7, [r0] │ │ │ │ │ vsub.f64 d7, d4, d15 │ │ │ │ │ - ldr r3, [sp, #240] @ 0xf0 │ │ │ │ │ vadd.f64 d15, d15, d4 │ │ │ │ │ + ldr r0, [sp, #4] │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ ldr r1, [sp, #124] @ 0x7c │ │ │ │ │ - adds r3, #1 │ │ │ │ │ str r3, [sp, #240] @ 0xf0 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ ldr r3, [sp, #116] @ 0x74 │ │ │ │ │ vmul.f64 d15, d15, d14 │ │ │ │ │ - ldr r0, [sp, #4] │ │ │ │ │ add r5, r3 │ │ │ │ │ add r6, r3 │ │ │ │ │ ldr r3, [sp, #120] @ 0x78 │ │ │ │ │ vstr d7, [lr] │ │ │ │ │ vstr d5, [r4] │ │ │ │ │ - add r7, r3 │ │ │ │ │ ldr r4, [sp, #0] │ │ │ │ │ vstr d15, [r0] │ │ │ │ │ + add r7, r3 │ │ │ │ │ add r4, r3 │ │ │ │ │ ldr r3, [sp, #236] @ 0xec │ │ │ │ │ str r4, [sp, #0] │ │ │ │ │ - eors r3, r1 │ │ │ │ │ + eor.w r3, r3, r1 │ │ │ │ │ + ldr r1, [sp, #240] @ 0xf0 │ │ │ │ │ str r3, [sp, #236] @ 0xec │ │ │ │ │ - ldrd r1, r3, [sp, #240] @ 0xf0 │ │ │ │ │ + ldr r3, [sp, #244] @ 0xf4 │ │ │ │ │ cmp r3, r1 │ │ │ │ │ - bne.w 44 │ │ │ │ │ + bne.w 5a │ │ │ │ │ add sp, #132 @ 0x84 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fd6a09e │ │ │ │ │ - .word 0x0000039e │ │ │ │ │ + .word 0x000003c4 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ │ │ │ │ │ -000003c0 : │ │ │ │ │ +000003f8 : │ │ │ │ │ fftw_codelet_hc2cfdft_8(): │ │ │ │ │ - ldr r2, [pc, #12] @ (3d0 ) │ │ │ │ │ - movs r3, #1 │ │ │ │ │ - ldr r1, [pc, #12] @ (3d4 ) │ │ │ │ │ + ldr r2, [pc, #12] @ (408 ) │ │ │ │ │ + mov.w r3, #1 │ │ │ │ │ + ldr r1, [pc, #12] @ (40c ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2c_register │ │ │ │ │ - nop │ │ │ │ │ - .word 0x00000006 │ │ │ │ │ + .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ - .word 0x00000008 │ │ │ │ │ + .word 0x00000006 │ │ │ │ │ R_ARM_REL32 hc2cfdft_8 │ │ │ ├── hf2_16.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 3072 (bytes into file) │ │ │ │ │ + Start of section headers: 3128 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0xc00: │ │ │ │ │ +There are 14 section headers, starting at offset 0xc38: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0008dc 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000b48 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000910 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000910 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000910 000007 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000917 000014 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 00092b 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000b70 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 00095b 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00095b 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000990 000130 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000ac0 000088 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000b88 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000914 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000b80 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000948 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000948 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000948 000007 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 00094f 000014 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000963 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000ba8 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000993 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000993 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 0009c8 000130 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000af8 000088 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000bc0 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 19 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 2248 FUNC LOCAL DEFAULT 1 hf2_16 │ │ │ │ │ + 1: 00000001 2304 FUNC LOCAL DEFAULT 1 hf2_16 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000008a8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 000008c8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000008d4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000008e0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000900 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 0000090c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 20 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 16: 000008c9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf2_16 │ │ │ │ │ + 16: 00000901 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf2_16 │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2hc_register │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xb48 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xb80 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000008c0 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -000008c4 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000008d4 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000008d8 00000103 R_ARM_REL32 00000001 hf2_16 │ │ │ │ │ -000008d0 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ +000008f8 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +000008fc 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +0000090c 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000910 00000103 R_ARM_REL32 00000001 hf2_16 │ │ │ │ │ +00000908 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xb70 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xba8 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001202 R_ARM_ABS32 00000000 fftw_rdft_hf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,637 +1,637 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hf2_16(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r6, r0 │ │ │ │ │ - mov r7, r1 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r7, r0 │ │ │ │ │ + mov r8, r1 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov r9, r3 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub sp, #404 @ 0x194 │ │ │ │ │ - mov r8, r3 │ │ │ │ │ - ldr.w r3, [pc, #2220] @ 8c0 │ │ │ │ │ - ldrd r1, r0, [sp, #504] @ 0x1f8 │ │ │ │ │ - add r3, pc │ │ │ │ │ + sub sp, #396 @ 0x18c │ │ │ │ │ + ldrd r1, r0, [sp, #496] @ 0x1f0 │ │ │ │ │ + ldr.w r3, [pc, #2256] @ 8f8 │ │ │ │ │ cmp r1, r0 │ │ │ │ │ - bge.w 89a │ │ │ │ │ - ldr r1, [sp, #512] @ 0x200 │ │ │ │ │ - mov ip, r8 │ │ │ │ │ - lsls r1, r1, #3 │ │ │ │ │ - str r1, [sp, #388] @ 0x184 │ │ │ │ │ - negs r1, r1 │ │ │ │ │ - str r1, [sp, #392] @ 0x188 │ │ │ │ │ - ldr.w r1, [pc, #2196] @ 8c4 │ │ │ │ │ + add r3, pc │ │ │ │ │ + bge.w 8be │ │ │ │ │ + ldr r1, [sp, #504] @ 0x1f8 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + str r1, [sp, #380] @ 0x17c │ │ │ │ │ + rsb r1, r1, #0 │ │ │ │ │ + str r1, [sp, #384] @ 0x180 │ │ │ │ │ + ldr.w r1, [pc, #2236] @ 8fc │ │ │ │ │ ldr r3, [r3, r1] │ │ │ │ │ - str r7, [sp, #4] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - str r3, [sp, #396] @ 0x18c │ │ │ │ │ - ldr r3, [sp, #504] @ 0x1f8 │ │ │ │ │ + str r3, [sp, #388] @ 0x184 │ │ │ │ │ + ldr r3, [sp, #496] @ 0x1f0 │ │ │ │ │ add.w r5, r2, r3, lsl #6 │ │ │ │ │ - str r5, [sp, #32] │ │ │ │ │ - ldr r3, [sp, #32] │ │ │ │ │ - movs r5, #112 @ 0x70 │ │ │ │ │ - vldr d1, [r3, #-64] @ 0xffffffc0 │ │ │ │ │ - vldr d9, [r3, #-56] @ 0xffffffc8 │ │ │ │ │ - vldr d14, [r3, #-48] @ 0xffffffd0 │ │ │ │ │ - vldr d10, [r3, #-40] @ 0xffffffd8 │ │ │ │ │ - vldr d13, [r3, #-32] @ 0xffffffe0 │ │ │ │ │ - vmul.f64 d12, d9, d14 │ │ │ │ │ - vmul.f64 d4, d1, d14 │ │ │ │ │ - vmul.f64 d2, d1, d10 │ │ │ │ │ - vmul.f64 d7, d9, d10 │ │ │ │ │ - vldr d15, [r3, #-24] @ 0xffffffe8 │ │ │ │ │ - vmul.f64 d3, d1, d13 │ │ │ │ │ + vldr d14, [r5, #-64] @ 0xffffffc0 │ │ │ │ │ + mov.w r3, r9, lsl #6 │ │ │ │ │ + mov.w fp, #88 @ 0x58 │ │ │ │ │ + add.w r5, r5, #64 @ 0x40 │ │ │ │ │ + vldr d10, [r5, #-120] @ 0xffffff88 │ │ │ │ │ + add.w r2, r7, r3 │ │ │ │ │ + add.w r1, r8, r3 │ │ │ │ │ + vldr d7, [r5, #-112] @ 0xffffff90 │ │ │ │ │ + vldr d13, [r5, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d9, [r5, #-88] @ 0xffffffa8 │ │ │ │ │ + vmul.f64 d4, d14, d7 │ │ │ │ │ + vmul.f64 d12, d10, d7 │ │ │ │ │ + vldr d7, [r5, #-104] @ 0xffffff98 │ │ │ │ │ + vmul.f64 d3, d14, d13 │ │ │ │ │ + vmul.f64 d0, d14, d9 │ │ │ │ │ + vmul.f64 d2, d14, d7 │ │ │ │ │ + vmul.f64 d15, d10, d7 │ │ │ │ │ + vsub.f64 d7, d2, d12 │ │ │ │ │ vadd.f64 d6, d12, d2 │ │ │ │ │ - vsub.f64 d5, d4, d7 │ │ │ │ │ - vadd.f64 d4, d4, d7 │ │ │ │ │ - vmul.f64 d8, d14, d15 │ │ │ │ │ - vmul.f64 d0, d1, d15 │ │ │ │ │ - vmul.f64 d7, d9, d13 │ │ │ │ │ - vstr d6, [sp, #8] │ │ │ │ │ - vsub.f64 d6, d2, d12 │ │ │ │ │ - vmov.f64 d11, d4 │ │ │ │ │ - vmul.f64 d4, d9, d15 │ │ │ │ │ - vmul.f64 d2, d10, d13 │ │ │ │ │ - vstr d5, [sp, #24] │ │ │ │ │ - vmul.f64 d5, d14, d13 │ │ │ │ │ - vstr d6, [sp, #16] │ │ │ │ │ - vmul.f64 d6, d10, d15 │ │ │ │ │ + vsub.f64 d5, d4, d15 │ │ │ │ │ + vadd.f64 d15, d4, d15 │ │ │ │ │ + vmul.f64 d4, d10, d9 │ │ │ │ │ + vstr d6, [sp] │ │ │ │ │ + vstr d7, [sp, #8] │ │ │ │ │ + vldr d7, [r5, #-112] @ 0xffffff90 │ │ │ │ │ + vadd.f64 d12, d4, d3 │ │ │ │ │ + vsub.f64 d4, d3, d4 │ │ │ │ │ + vldr d6, [r5, #-104] @ 0xffffff98 │ │ │ │ │ + vmul.f64 d1, d7, d9 │ │ │ │ │ + vldr d7, [r5, #-104] @ 0xffffff98 │ │ │ │ │ + vstr d4, [sp, #48] @ 0x30 │ │ │ │ │ + vmul.f64 d2, d6, d13 │ │ │ │ │ + vldr d6, [r5, #-112] @ 0xffffff90 │ │ │ │ │ + vmul.f64 d7, d7, d9 │ │ │ │ │ + vsub.f64 d11, d1, d2 │ │ │ │ │ + vmul.f64 d8, d6, d13 │ │ │ │ │ + vstr d7, [sp, #16] │ │ │ │ │ + vmul.f64 d7, d10, d13 │ │ │ │ │ + vldr d6, [sp, #16] │ │ │ │ │ + vstr d11, [sp, #64] @ 0x40 │ │ │ │ │ + vadd.f64 d11, d0, d7 │ │ │ │ │ vstr d11, [sp, #40] @ 0x28 │ │ │ │ │ - vmov.f64 d12, d6 │ │ │ │ │ - vadd.f64 d6, d4, d3 │ │ │ │ │ - vstr d6, [sp, #48] @ 0x30 │ │ │ │ │ - vsub.f64 d6, d8, d2 │ │ │ │ │ - vadd.f64 d8, d8, d2 │ │ │ │ │ - vsub.f64 d2, d3, d4 │ │ │ │ │ - vstr d6, [sp, #80] @ 0x50 │ │ │ │ │ - vadd.f64 d6, d0, d7 │ │ │ │ │ - vsub.f64 d7, d0, d7 │ │ │ │ │ - vldr d0, [r3, #-8] │ │ │ │ │ - vstr d2, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d2, [r3, #-16] │ │ │ │ │ - mov.w r3, ip, lsl #6 │ │ │ │ │ - vmul.f64 d4, d9, d0 │ │ │ │ │ - vstr d6, [sp, #56] @ 0x38 │ │ │ │ │ - vsub.f64 d6, d5, d12 │ │ │ │ │ - vadd.f64 d5, d12, d5 │ │ │ │ │ - adds r2, r6, r3 │ │ │ │ │ - vmov.f64 d3, d4 │ │ │ │ │ - vmul.f64 d4, d9, d2 │ │ │ │ │ - vmla.f64 d3, d1, d2 │ │ │ │ │ - vstr d6, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d5, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d6, [sp, #8] │ │ │ │ │ - vldr d5, [sp, #24] │ │ │ │ │ - vstr d3, [sp, #96] @ 0x60 │ │ │ │ │ + vsub.f64 d11, d8, d6 │ │ │ │ │ + vadd.f64 d8, d6, d8 │ │ │ │ │ + vldr d6, [sp] │ │ │ │ │ + vstr d11, [sp, #32] │ │ │ │ │ + vsub.f64 d11, d0, d7 │ │ │ │ │ + vstr d8, [sp, #80] @ 0x50 │ │ │ │ │ + vadd.f64 d8, d1, d2 │ │ │ │ │ + vldr d2, [r5, #-80] @ 0xffffffb0 │ │ │ │ │ + vldr d1, [r5, #-72] @ 0xffffffb8 │ │ │ │ │ + vldr d7, [sp, #8] │ │ │ │ │ + vmul.f64 d4, d10, d1 │ │ │ │ │ + vmla.f64 d4, d14, d2 │ │ │ │ │ + vstr d4, [sp, #56] @ 0x38 │ │ │ │ │ + vmul.f64 d4, d10, d2 │ │ │ │ │ vmov.f64 d3, d4 │ │ │ │ │ vmul.f64 d4, d6, d13 │ │ │ │ │ - vnmls.f64 d3, d1, d0 │ │ │ │ │ - vstr d3, [sp, #104] @ 0x68 │ │ │ │ │ - vmul.f64 d3, d5, d15 │ │ │ │ │ - vadd.f64 d5, d3, d4 │ │ │ │ │ - vsub.f64 d12, d3, d4 │ │ │ │ │ - vmul.f64 d4, d6, d15 │ │ │ │ │ - vldr d6, [sp, #16] │ │ │ │ │ - vstr d5, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d5, [sp, #24] │ │ │ │ │ - vstr d12, [sp, #288] @ 0x120 │ │ │ │ │ + vnmls.f64 d3, d14, d1 │ │ │ │ │ + vstr d3, [sp, #72] @ 0x48 │ │ │ │ │ + vmul.f64 d3, d5, d9 │ │ │ │ │ + vsub.f64 d0, d3, d4 │ │ │ │ │ + vstr d0, [sp, #288] @ 0x120 │ │ │ │ │ + vadd.f64 d0, d3, d4 │ │ │ │ │ + vmul.f64 d4, d6, d9 │ │ │ │ │ vmul.f64 d3, d5, d13 │ │ │ │ │ - vadd.f64 d12, d3, d4 │ │ │ │ │ - vsub.f64 d5, d3, d4 │ │ │ │ │ - vmul.f64 d3, d11, d15 │ │ │ │ │ - vmul.f64 d4, d6, d13 │ │ │ │ │ - vstr d12, [sp, #296] @ 0x128 │ │ │ │ │ - vsub.f64 d12, d3, d4 │ │ │ │ │ - vadd.f64 d4, d3, d4 │ │ │ │ │ - vmul.f64 d3, d11, d13 │ │ │ │ │ - vstr d5, [sp, #144] @ 0x90 │ │ │ │ │ - vstr d4, [sp, #120] @ 0x78 │ │ │ │ │ - vmul.f64 d4, d6, d15 │ │ │ │ │ - vstr d12, [sp, #112] @ 0x70 │ │ │ │ │ - vadd.f64 d12, d3, d4 │ │ │ │ │ + vstr d0, [sp, #128] @ 0x80 │ │ │ │ │ + vadd.f64 d0, d3, d4 │ │ │ │ │ vsub.f64 d3, d3, d4 │ │ │ │ │ - vstr d12, [sp, #128] @ 0x80 │ │ │ │ │ - vstr d3, [sp, #256] @ 0x100 │ │ │ │ │ - ldr r7, [sp, #4] │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - adds r1, r7, r3 │ │ │ │ │ - vldr d6, [sp, #48] @ 0x30 │ │ │ │ │ - str r2, [sp, #36] @ 0x24 │ │ │ │ │ - mov.w r2, ip, lsl #5 │ │ │ │ │ - vldr d3, [r7] │ │ │ │ │ - add.w r9, r6, r2 │ │ │ │ │ - vldr d11, [r1] │ │ │ │ │ - add r2, r7 │ │ │ │ │ - adds r4, r2, r3 │ │ │ │ │ - add.w r0, r9, r3 │ │ │ │ │ - str r1, [sp, #384] @ 0x180 │ │ │ │ │ - mov.w r1, ip, lsl #4 │ │ │ │ │ - vmul.f64 d4, d7, d11 │ │ │ │ │ - vmul.f64 d7, d7, d5 │ │ │ │ │ - vmla.f64 d4, d6, d5 │ │ │ │ │ - vldr d5, [r6] │ │ │ │ │ - add.w lr, r6, r1 │ │ │ │ │ - add.w r8, r7, r1 │ │ │ │ │ - add.w r1, lr, r3 │ │ │ │ │ - add r3, r8 │ │ │ │ │ - vnmls.f64 d7, d6, d11 │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ - vsub.f64 d5, d5, d4 │ │ │ │ │ + vmul.f64 d4, d7, d13 │ │ │ │ │ + vstr d3, [sp, #136] @ 0x88 │ │ │ │ │ + vmul.f64 d3, d15, d9 │ │ │ │ │ + vstr d0, [sp, #296] @ 0x128 │ │ │ │ │ + vsub.f64 d0, d3, d4 │ │ │ │ │ + vadd.f64 d3, d3, d4 │ │ │ │ │ + vmul.f64 d4, d7, d9 │ │ │ │ │ + vstr d0, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d3, [sp, #104] @ 0x68 │ │ │ │ │ + vmul.f64 d3, d15, d13 │ │ │ │ │ + vadd.f64 d0, d3, d4 │ │ │ │ │ + vsub.f64 d4, d3, d4 │ │ │ │ │ + vstr d4, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d3, [r8] │ │ │ │ │ + str r2, [sp, #16] │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + str r1, [sp, #24] │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + mov.w r2, r9, lsl #5 │ │ │ │ │ + add.w lr, r7, r2 │ │ │ │ │ + add.w sl, r8, r2 │ │ │ │ │ + add.w r4, sl, r3 │ │ │ │ │ + add.w r0, lr, r3 │ │ │ │ │ + str r4, [sp, #28] │ │ │ │ │ + vmov.f64 d7, d4 │ │ │ │ │ + vmul.f64 d4, d11, d6 │ │ │ │ │ + vmla.f64 d4, d12, d7 │ │ │ │ │ + vmul.f64 d7, d11, d7 │ │ │ │ │ + vnmls.f64 d7, d12, d6 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + vldr d12, [r7] │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vsub.f64 d11, d3, d7 │ │ │ │ │ - vadd.f64 d7, d3, d7 │ │ │ │ │ - vstr d5, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d3, [r9] │ │ │ │ │ - vldr d5, [sp, #8] │ │ │ │ │ + vsub.f64 d12, d12, d4 │ │ │ │ │ vstr d6, [sp, #304] @ 0x130 │ │ │ │ │ + vsub.f64 d6, d3, d7 │ │ │ │ │ + vadd.f64 d7, d3, d7 │ │ │ │ │ + vldr d3, [lr] │ │ │ │ │ + vstr d12, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d12, [sp, #32] │ │ │ │ │ + vstr d6, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d6, [sp] │ │ │ │ │ + str r0, [sp, #0] │ │ │ │ │ vstr d7, [sp, #320] @ 0x140 │ │ │ │ │ - vmul.f64 d6, d5, d3 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - vstr d11, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d11, [sp, #24] │ │ │ │ │ - vmul.f64 d4, d5, d7 │ │ │ │ │ + vldr d7, [sl] │ │ │ │ │ + vmul.f64 d4, d6, d7 │ │ │ │ │ + vmul.f64 d6, d6, d3 │ │ │ │ │ + vmla.f64 d4, d5, d3 │ │ │ │ │ + vnmls.f64 d6, d5, d7 │ │ │ │ │ vldr d5, [r4] │ │ │ │ │ - str r0, [sp, #8] │ │ │ │ │ - vmla.f64 d4, d11, d3 │ │ │ │ │ - vnmls.f64 d6, d11, d7 │ │ │ │ │ vldr d3, [r0] │ │ │ │ │ + mov.w r0, r9, lsl #4 │ │ │ │ │ + add.w r2, r7, r0 │ │ │ │ │ + add.w ip, r8, r0 │ │ │ │ │ + add.w r1, r2, r3 │ │ │ │ │ + add.w r4, ip, r3 │ │ │ │ │ vmul.f64 d7, d8, d5 │ │ │ │ │ - vldr d11, [sp, #64] @ 0x40 │ │ │ │ │ - str r4, [sp, #24] │ │ │ │ │ + sub.w r0, r0, r9 │ │ │ │ │ + str r1, [sp, #32] │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ vmul.f64 d8, d8, d3 │ │ │ │ │ - vmla.f64 d7, d11, d3 │ │ │ │ │ - vnmls.f64 d8, d11, d5 │ │ │ │ │ - vldr d5, [lr] │ │ │ │ │ - vadd.f64 d3, d4, d7 │ │ │ │ │ + str r4, [sp, #88] @ 0x58 │ │ │ │ │ + vmla.f64 d7, d12, d3 │ │ │ │ │ + vnmls.f64 d8, d12, d5 │ │ │ │ │ + vadd.f64 d5, d4, d7 │ │ │ │ │ vsub.f64 d7, d4, d7 │ │ │ │ │ - vldr d4, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d3, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d3, [sp, #16] │ │ │ │ │ - vstr d7, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d4, [sp, #8] │ │ │ │ │ + str r2, [sp, #8] │ │ │ │ │ + vstr d5, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + vstr d7, [sp, #160] @ 0xa0 │ │ │ │ │ vsub.f64 d7, d6, d8 │ │ │ │ │ vadd.f64 d8, d6, d8 │ │ │ │ │ - vldr d6, [r8] │ │ │ │ │ - vmul.f64 d12, d3, d5 │ │ │ │ │ - str r1, [sp, #16] │ │ │ │ │ - vstr d7, [sp, #176] @ 0xb0 │ │ │ │ │ - vmul.f64 d7, d3, d6 │ │ │ │ │ - vmla.f64 d7, d4, d5 │ │ │ │ │ - vstr d8, [sp, #184] @ 0xb8 │ │ │ │ │ - vnmls.f64 d12, d4, d6 │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + vmul.f64 d12, d4, d5 │ │ │ │ │ + vstr d7, [sp, #168] @ 0xa8 │ │ │ │ │ + vmul.f64 d7, d4, d6 │ │ │ │ │ vldr d4, [r1] │ │ │ │ │ - str r3, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - mul.w r3, r5, ip │ │ │ │ │ - vldr d3, [sp, #56] @ 0x38 │ │ │ │ │ - movs r5, #48 @ 0x30 │ │ │ │ │ - vldr d11, [sp, #72] @ 0x48 │ │ │ │ │ - adds r4, r7, r3 │ │ │ │ │ - adds r0, r6, r3 │ │ │ │ │ - str r0, [sp, #48] @ 0x30 │ │ │ │ │ - vmul.f64 d6, d3, d5 │ │ │ │ │ - mul.w r3, r5, ip │ │ │ │ │ - vmla.f64 d6, d11, d4 │ │ │ │ │ - vmul.f64 d4, d3, d4 │ │ │ │ │ - adds r1, r6, r3 │ │ │ │ │ - add r3, r7 │ │ │ │ │ - movs r5, #120 @ 0x78 │ │ │ │ │ - str r3, [sp, #72] @ 0x48 │ │ │ │ │ - str r4, [sp, #56] @ 0x38 │ │ │ │ │ - vnmls.f64 d4, d11, d5 │ │ │ │ │ + mov.w r1, r9, lsl #3 │ │ │ │ │ + vstr d8, [sp, #176] @ 0xb0 │ │ │ │ │ + sub.w r2, r1, r9 │ │ │ │ │ + vnmls.f64 d12, d15, d6 │ │ │ │ │ + mov.w r3, r2, lsl #4 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + vmla.f64 d7, d15, d5 │ │ │ │ │ vldr d5, [r4] │ │ │ │ │ - vldr d11, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ - str r1, [sp, #64] @ 0x40 │ │ │ │ │ + add.w r4, r7, r3 │ │ │ │ │ + add r3, r8 │ │ │ │ │ + vldr d15, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d8, [sp, #48] @ 0x30 │ │ │ │ │ + str r4, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d3, [sp, #72] @ 0x48 │ │ │ │ │ + str r3, [sp, #48] @ 0x30 │ │ │ │ │ + vmul.f64 d6, d15, d5 │ │ │ │ │ + vmul.f64 d15, d15, d4 │ │ │ │ │ + vldr d11, [sp, #80] @ 0x50 │ │ │ │ │ + vnmls.f64 d15, d8, d5 │ │ │ │ │ + vmla.f64 d6, d8, d4 │ │ │ │ │ + vldr d4, [sp, #56] @ 0x38 │ │ │ │ │ + vadd.f64 d5, d12, d15 │ │ │ │ │ vadd.f64 d8, d7, d6 │ │ │ │ │ + vsub.f64 d12, d12, d15 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vstr d8, [sp, #192] @ 0xc0 │ │ │ │ │ - vadd.f64 d8, d12, d4 │ │ │ │ │ - vsub.f64 d12, d12, d4 │ │ │ │ │ - vstr d8, [sp, #200] @ 0xc8 │ │ │ │ │ - vsub.f64 d4, d7, d12 │ │ │ │ │ - vadd.f64 d7, d7, d12 │ │ │ │ │ - vldr d8, [sp, #104] @ 0x68 │ │ │ │ │ - vstr d4, [sp, #208] @ 0xd0 │ │ │ │ │ - vmul.f64 d6, d8, d5 │ │ │ │ │ - vldr d4, [sp, #96] @ 0x60 │ │ │ │ │ - vstr d7, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ + vstr d8, [sp, #184] @ 0xb8 │ │ │ │ │ + vstr d5, [sp, #192] @ 0xc0 │ │ │ │ │ + vsub.f64 d15, d7, d12 │ │ │ │ │ + vadd.f64 d12, d7, d12 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ + add.w r3, r9, r9, lsl #1 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + mov.w r4, r3, lsl #4 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + add.w r6, r7, r4 │ │ │ │ │ + add r4, r8 │ │ │ │ │ + vldr d8, [sp, #64] @ 0x40 │ │ │ │ │ + vmul.f64 d6, d3, d5 │ │ │ │ │ + str r6, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d12, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d12, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d15, [sp, #200] @ 0xc8 │ │ │ │ │ vmla.f64 d6, d4, d7 │ │ │ │ │ - vmul.f64 d7, d8, d7 │ │ │ │ │ - vldr d8, [sp, #80] @ 0x50 │ │ │ │ │ + vmul.f64 d7, d3, d7 │ │ │ │ │ + vldr d3, [r6] │ │ │ │ │ + add.w r6, r7, r0 │ │ │ │ │ + add r0, r8 │ │ │ │ │ + str r6, [sp, #64] @ 0x40 │ │ │ │ │ + str r0, [sp, #72] @ 0x48 │ │ │ │ │ vnmls.f64 d7, d4, d5 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - mul.w r3, r5, ip │ │ │ │ │ - movs r5, #88 @ 0x58 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ vmul.f64 d5, d8, d4 │ │ │ │ │ - adds r0, r6, r3 │ │ │ │ │ vmla.f64 d5, d11, d3 │ │ │ │ │ vmul.f64 d3, d8, d3 │ │ │ │ │ - add r3, r7 │ │ │ │ │ - str r0, [sp, #80] @ 0x50 │ │ │ │ │ - str r3, [sp, #88] @ 0x58 │ │ │ │ │ vnmls.f64 d3, d11, d4 │ │ │ │ │ - vldr d4, [sp, #120] @ 0x78 │ │ │ │ │ vadd.f64 d8, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vadd.f64 d11, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vstr d8, [sp, #224] @ 0xe0 │ │ │ │ │ - vadd.f64 d3, d6, d7 │ │ │ │ │ - vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - vstr d11, [sp, #232] @ 0xe8 │ │ │ │ │ - vstr d6, [sp, #248] @ 0xf8 │ │ │ │ │ - vmul.f64 d8, d0, d7 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - mul.w r0, r5, ip │ │ │ │ │ - movs r5, #56 @ 0x38 │ │ │ │ │ - vstr d3, [sp, #240] @ 0xf0 │ │ │ │ │ - add.w sl, r6, r0 │ │ │ │ │ - add r0, r7 │ │ │ │ │ - vmul.f64 d0, d0, d6 │ │ │ │ │ - vmla.f64 d8, d2, d6 │ │ │ │ │ - vldr d3, [sp, #256] @ 0x100 │ │ │ │ │ - mul.w r4, r5, ip │ │ │ │ │ - vldr d6, [sl] │ │ │ │ │ - movs r5, #24 │ │ │ │ │ - add.w fp, r6, r4 │ │ │ │ │ - add r4, r7 │ │ │ │ │ - vnmls.f64 d0, d2, d7 │ │ │ │ │ + vstr d8, [sp, #216] @ 0xd8 │ │ │ │ │ + vadd.f64 d8, d6, d7 │ │ │ │ │ + vsub.f64 d7, d6, d7 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + vstr d11, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d11, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d8, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d7, [sp, #240] @ 0xf0 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - mul.w r1, r5, ip │ │ │ │ │ - vmul.f64 d2, d4, d7 │ │ │ │ │ - adds r3, r6, r1 │ │ │ │ │ - vmla.f64 d2, d3, d6 │ │ │ │ │ - vmul.f64 d6, d4, d6 │ │ │ │ │ - vldr d4, [fp] │ │ │ │ │ - vnmls.f64 d6, d3, d7 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - vldr d11, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d12, [sp, #128] @ 0x80 │ │ │ │ │ - str r3, [sp, #96] @ 0x60 │ │ │ │ │ - vmul.f64 d3, d11, d7 │ │ │ │ │ - vmla.f64 d3, d12, d4 │ │ │ │ │ - vmul.f64 d4, d11, d4 │ │ │ │ │ - vnmls.f64 d4, d12, d7 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - adds r3, r1, r7 │ │ │ │ │ + mul.w r0, fp, r9 │ │ │ │ │ + add.w fp, r7, r2 │ │ │ │ │ + add r2, r8 │ │ │ │ │ + add.w r6, r7, r0 │ │ │ │ │ + add r0, r8 │ │ │ │ │ + vldr d5, [r6] │ │ │ │ │ + vmul.f64 d8, d1, d7 │ │ │ │ │ + vmul.f64 d1, d1, d6 │ │ │ │ │ + str r6, [sp, #80] @ 0x50 │ │ │ │ │ + str r0, [sp, #92] @ 0x5c │ │ │ │ │ + add.w r6, r7, r3 │ │ │ │ │ + add r3, r8 │ │ │ │ │ + vnmls.f64 d1, d2, d7 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + vmla.f64 d8, d2, d6 │ │ │ │ │ + add.w r0, r8, r1 │ │ │ │ │ + vldr d6, [fp] │ │ │ │ │ + vmul.f64 d2, d11, d7 │ │ │ │ │ + vmla.f64 d2, d12, d5 │ │ │ │ │ + vmul.f64 d5, d11, d5 │ │ │ │ │ + vnmls.f64 d5, d12, d7 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + vldr d4, [sp, #96] @ 0x60 │ │ │ │ │ + str r6, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d11, [r5, #-112] @ 0xffffff90 │ │ │ │ │ str r3, [sp, #104] @ 0x68 │ │ │ │ │ - mov r1, r7 │ │ │ │ │ - vldr d12, [r3] │ │ │ │ │ - mov.w r3, ip, lsl #3 │ │ │ │ │ - adds r5, r6, r3 │ │ │ │ │ - str r5, [sp, #112] @ 0x70 │ │ │ │ │ - vmul.f64 d5, d10, d12 │ │ │ │ │ - vmla.f64 d5, d14, d7 │ │ │ │ │ - vmul.f64 d7, d10, d7 │ │ │ │ │ - vadd.f64 d10, d8, d3 │ │ │ │ │ - vadd.f64 d11, d0, d4 │ │ │ │ │ - vsub.f64 d0, d0, d4 │ │ │ │ │ + str r0, [sp, #120] @ 0x78 │ │ │ │ │ + vmul.f64 d3, d4, d7 │ │ │ │ │ + vmla.f64 d3, d0, d6 │ │ │ │ │ + vmul.f64 d6, d4, d6 │ │ │ │ │ + vldr d4, [r5, #-104] @ 0xffffff98 │ │ │ │ │ + vnmls.f64 d6, d0, d7 │ │ │ │ │ + vldr d0, [r3] │ │ │ │ │ + add.w r3, r7, r1 │ │ │ │ │ + add r1, r9 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + str r3, [sp, #112] @ 0x70 │ │ │ │ │ + add.w r6, r7, r1 │ │ │ │ │ + add r1, r8 │ │ │ │ │ + vmul.f64 d4, d4, d0 │ │ │ │ │ + vmla.f64 d4, d11, d7 │ │ │ │ │ + vldr d11, [r5, #-104] @ 0xffffff98 │ │ │ │ │ + vmul.f64 d7, d11, d7 │ │ │ │ │ + vldr d11, [r5, #-112] @ 0xffffff90 │ │ │ │ │ + vadd.f64 d12, d2, d4 │ │ │ │ │ + vsub.f64 d4, d4, d2 │ │ │ │ │ + vnmls.f64 d7, d11, d0 │ │ │ │ │ + vadd.f64 d11, d8, d3 │ │ │ │ │ vsub.f64 d3, d8, d3 │ │ │ │ │ - vldr d8, [r5] │ │ │ │ │ - adds r5, r7, r3 │ │ │ │ │ - vnmls.f64 d7, d14, d12 │ │ │ │ │ - movs r3, #104 @ 0x68 │ │ │ │ │ - vmov.f64 d14, d10 │ │ │ │ │ - str r5, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d11, [sp, #264] @ 0x108 │ │ │ │ │ - mul.w r3, r3, ip │ │ │ │ │ - vadd.f64 d10, d2, d5 │ │ │ │ │ + vadd.f64 d0, d1, d6 │ │ │ │ │ + vldr d8, [r3] │ │ │ │ │ + vsub.f64 d6, d1, d6 │ │ │ │ │ + mov.w r3, #104 @ 0x68 │ │ │ │ │ + vsub.f64 d15, d11, d12 │ │ │ │ │ + vstr d11, [sp, #248] @ 0xf8 │ │ │ │ │ + vstr d12, [sp, #256] @ 0x100 │ │ │ │ │ + vstr d0, [sp, #264] @ 0x108 │ │ │ │ │ + vadd.f64 d11, d5, d7 │ │ │ │ │ + vsub.f64 d7, d7, d5 │ │ │ │ │ + vldr d5, [sp, #136] @ 0x88 │ │ │ │ │ + str r1, [sp, #136] @ 0x88 │ │ │ │ │ + vsub.f64 d2, d3, d7 │ │ │ │ │ + vadd.f64 d1, d3, d7 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + vsub.f64 d12, d0, d11 │ │ │ │ │ + mul.w r0, r3, r9 │ │ │ │ │ + vstr d15, [sp, #328] @ 0x148 │ │ │ │ │ + vadd.f64 d15, d6, d4 │ │ │ │ │ + vsub.f64 d4, d6, d4 │ │ │ │ │ + vldr d6, [sp, #128] @ 0x80 │ │ │ │ │ + str r6, [sp, #128] @ 0x80 │ │ │ │ │ + add.w r3, r7, r0 │ │ │ │ │ + add r0, r8 │ │ │ │ │ + vmul.f64 d0, d10, d7 │ │ │ │ │ + vldr d3, [r3] │ │ │ │ │ + str r3, [sp, #124] @ 0x7c │ │ │ │ │ + vstr d2, [sp, #280] @ 0x118 │ │ │ │ │ + vstr d11, [sp, #272] @ 0x110 │ │ │ │ │ + vstr d4, [sp, #344] @ 0x158 │ │ │ │ │ + vmla.f64 d0, d14, d8 │ │ │ │ │ + vmul.f64 d8, d10, d8 │ │ │ │ │ + vstr d12, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d1, [sp, #352] @ 0x160 │ │ │ │ │ + vnmls.f64 d8, d14, d7 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + vmul.f64 d2, d6, d7 │ │ │ │ │ + vmla.f64 d2, d5, d3 │ │ │ │ │ + vmul.f64 d3, d6, d3 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + add.w r1, r9, r9, lsl #2 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + vnmls.f64 d3, d5, d7 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + add.w r3, r7, r1 │ │ │ │ │ + vmul.f64 d4, d9, d6 │ │ │ │ │ + add r1, r8 │ │ │ │ │ + str r3, [sp, #376] @ 0x178 │ │ │ │ │ + vmla.f64 d4, d13, d7 │ │ │ │ │ + vmul.f64 d7, d9, d7 │ │ │ │ │ + vnmls.f64 d7, d13, d6 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + vldr d1, [r1] │ │ │ │ │ + ldr r3, [sp, #28] │ │ │ │ │ + vldr d9, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d10, [sp, #296] @ 0x128 │ │ │ │ │ + vadd.f64 d12, d8, d7 │ │ │ │ │ + vsub.f64 d8, d8, d7 │ │ │ │ │ + vldr d11, [sp, #312] @ 0x138 │ │ │ │ │ + vmul.f64 d5, d9, d1 │ │ │ │ │ + ldr r6, [sp, #80] @ 0x50 │ │ │ │ │ + vmla.f64 d5, d10, d6 │ │ │ │ │ + vmul.f64 d6, d9, d6 │ │ │ │ │ + vnmls.f64 d6, d10, d1 │ │ │ │ │ + vadd.f64 d10, d0, d4 │ │ │ │ │ + vsub.f64 d4, d0, d4 │ │ │ │ │ + vldr d0, [sp, #200] @ 0xc8 │ │ │ │ │ + vadd.f64 d1, d2, d5 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ - vstr d14, [sp, #256] @ 0x100 │ │ │ │ │ - vsub.f64 d12, d14, d10 │ │ │ │ │ - vadd.f64 d2, d0, d5 │ │ │ │ │ - vsub.f64 d0, d0, d5 │ │ │ │ │ - vldr d5, [sp, #144] @ 0x90 │ │ │ │ │ - vstr d12, [sp, #328] @ 0x148 │ │ │ │ │ - vadd.f64 d12, d6, d7 │ │ │ │ │ - vsub.f64 d7, d7, d6 │ │ │ │ │ - vstr d0, [sp, #344] @ 0x158 │ │ │ │ │ - vsub.f64 d14, d11, d12 │ │ │ │ │ - vstr d12, [sp, #272] @ 0x110 │ │ │ │ │ - vadd.f64 d0, d3, d7 │ │ │ │ │ - vsub.f64 d6, d3, d7 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - adds r5, r6, r3 │ │ │ │ │ - add r3, r7 │ │ │ │ │ - str r3, [sp, #128] @ 0x80 │ │ │ │ │ - vstr d14, [sp, #336] @ 0x150 │ │ │ │ │ - vmov.f64 d14, d2 │ │ │ │ │ - vstr d0, [sp, #352] @ 0x160 │ │ │ │ │ - vmul.f64 d0, d9, d7 │ │ │ │ │ - vmla.f64 d0, d1, d8 │ │ │ │ │ - vmul.f64 d8, d9, d8 │ │ │ │ │ - vstr d6, [sp, #280] @ 0x118 │ │ │ │ │ - vldr d6, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ - vnmls.f64 d8, d1, d7 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - movs r3, #72 @ 0x48 │ │ │ │ │ - vldr d1, [sp, #288] @ 0x120 │ │ │ │ │ - vldr d9, [sp, #296] @ 0x128 │ │ │ │ │ - vmul.f64 d3, d6, d7 │ │ │ │ │ - mul.w r3, r3, ip │ │ │ │ │ - vmla.f64 d3, d5, d4 │ │ │ │ │ - vmul.f64 d4, d6, d4 │ │ │ │ │ - adds r7, r6, r3 │ │ │ │ │ - str r7, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - mov r7, r1 │ │ │ │ │ - add r7, r3 │ │ │ │ │ - movs r3, #40 @ 0x28 │ │ │ │ │ - vnmls.f64 d4, d5, d7 │ │ │ │ │ - str r7, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - mul.w r3, r3, ip │ │ │ │ │ - adds r1, r3, r1 │ │ │ │ │ - adds r7, r6, r3 │ │ │ │ │ - vmul.f64 d5, d15, d7 │ │ │ │ │ - vmul.f64 d15, d15, d6 │ │ │ │ │ - vmla.f64 d5, d13, d6 │ │ │ │ │ - vldr d2, [r1] │ │ │ │ │ - vnmls.f64 d15, d13, d7 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - vmul.f64 d6, d1, d2 │ │ │ │ │ - vmla.f64 d6, d9, d7 │ │ │ │ │ - vmul.f64 d7, d1, d7 │ │ │ │ │ - vnmls.f64 d7, d9, d2 │ │ │ │ │ - vadd.f64 d9, d0, d5 │ │ │ │ │ - vadd.f64 d12, d8, d15 │ │ │ │ │ - vsub.f64 d5, d0, d5 │ │ │ │ │ - vsub.f64 d15, d8, d15 │ │ │ │ │ - vldr d8, [pc, #932] @ 8a8 │ │ │ │ │ - vadd.f64 d1, d3, d6 │ │ │ │ │ - vstr d9, [sp, #288] @ 0x120 │ │ │ │ │ + vsub.f64 d13, d10, d1 │ │ │ │ │ + vadd.f64 d7, d8, d5 │ │ │ │ │ + vadd.f64 d1, d10, d1 │ │ │ │ │ + vstr d13, [sp, #288] @ 0x120 │ │ │ │ │ + vadd.f64 d13, d3, d6 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ - vldr d0, [sp, #208] @ 0xd0 │ │ │ │ │ - vldr d3, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d11, [sp, #312] @ 0x138 │ │ │ │ │ - vadd.f64 d2, d4, d7 │ │ │ │ │ - vsub.f64 d7, d7, d4 │ │ │ │ │ - vsub.f64 d13, d9, d1 │ │ │ │ │ - vldr d4, [sp, #176] @ 0xb0 │ │ │ │ │ - ldr r3, [sp, #24] │ │ │ │ │ - vsub.f64 d9, d5, d7 │ │ │ │ │ - vstr d2, [sp, #360] @ 0x168 │ │ │ │ │ - vadd.f64 d5, d5, d7 │ │ │ │ │ - vsub.f64 d2, d12, d2 │ │ │ │ │ - vadd.f64 d7, d15, d6 │ │ │ │ │ - vsub.f64 d15, d15, d6 │ │ │ │ │ - vstr d13, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d13, [pc, #864] @ 8b0 │ │ │ │ │ - vstr d2, [sp, #368] @ 0x170 │ │ │ │ │ - vstr d5, [sp, #376] @ 0x178 │ │ │ │ │ - vldr d2, [sp, #240] @ 0xf0 │ │ │ │ │ - vldr d5, [sp, #152] @ 0x98 │ │ │ │ │ + vsub.f64 d3, d8, d5 │ │ │ │ │ + vldr d5, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d8, [pc, #896] @ 8e0 │ │ │ │ │ + vsub.f64 d14, d12, d13 │ │ │ │ │ + vsub.f64 d9, d4, d6 │ │ │ │ │ + vadd.f64 d12, d12, d13 │ │ │ │ │ + vldr d13, [pc, #880] @ 8e0 │ │ │ │ │ + vstr d14, [sp, #296] @ 0x128 │ │ │ │ │ + vadd.f64 d14, d4, d6 │ │ │ │ │ + vldr d4, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d14, [sp, #360] @ 0x168 │ │ │ │ │ + vldr d14, [sp, #232] @ 0xe8 │ │ │ │ │ vsub.f64 d6, d5, d4 │ │ │ │ │ - vadd.f64 d5, d0, d2 │ │ │ │ │ - vldr d0, [sp, #216] @ 0xd8 │ │ │ │ │ - vmul.f64 d5, d5, d8 │ │ │ │ │ - vsub.f64 d4, d0, d3 │ │ │ │ │ - vldr d0, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d3, [sp, #368] @ 0x170 │ │ │ │ │ + vldr d3, [sp, #208] @ 0xd0 │ │ │ │ │ + vadd.f64 d5, d0, d14 │ │ │ │ │ + vldr d0, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d14, [pc, #844] @ 8e8 │ │ │ │ │ + vsub.f64 d4, d3, d0 │ │ │ │ │ + vldr d3, [sp, #160] @ 0xa0 │ │ │ │ │ + vmul.f64 d0, d7, d8 │ │ │ │ │ + vmul.f64 d5, d5, d14 │ │ │ │ │ + vldr d8, [sp, #280] @ 0x118 │ │ │ │ │ + vmul.f64 d4, d4, d14 │ │ │ │ │ vadd.f64 d2, d6, d5 │ │ │ │ │ - vmul.f64 d4, d4, d8 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vadd.f64 d5, d11, d0 │ │ │ │ │ - vmul.f64 d0, d7, d13 │ │ │ │ │ - vldr d8, [sp, #280] @ 0x118 │ │ │ │ │ + vadd.f64 d5, d11, d3 │ │ │ │ │ vadd.f64 d3, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ - vldr d4, [pc, #796] @ 8b8 │ │ │ │ │ + vldr d4, [pc, #804] @ 8f0 │ │ │ │ │ vnmls.f64 d0, d9, d4 │ │ │ │ │ vmul.f64 d4, d8, d4 │ │ │ │ │ - vmla.f64 d4, d14, d13 │ │ │ │ │ - vmul.f64 d9, d9, d13 │ │ │ │ │ + vldr d8, [pc, #776] @ 8e0 │ │ │ │ │ + vmla.f64 d4, d15, d8 │ │ │ │ │ vadd.f64 d8, d0, d4 │ │ │ │ │ vsub.f64 d4, d4, d0 │ │ │ │ │ - vldr d0, [pc, #768] @ 8b8 │ │ │ │ │ + vldr d0, [pc, #760] @ 8e0 │ │ │ │ │ + vmul.f64 d9, d9, d0 │ │ │ │ │ + vldr d0, [pc, #768] @ 8f0 │ │ │ │ │ vmla.f64 d9, d7, d0 │ │ │ │ │ - vmul.f64 d7, d14, d0 │ │ │ │ │ - vldr d14, [sp, #280] @ 0x118 │ │ │ │ │ - vnmls.f64 d7, d14, d13 │ │ │ │ │ - vldr d14, [sp, #224] @ 0xe0 │ │ │ │ │ + vmul.f64 d7, d15, d0 │ │ │ │ │ + vldr d15, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d0, [pc, #736] @ 8e0 │ │ │ │ │ + vnmls.f64 d7, d15, d0 │ │ │ │ │ vadd.f64 d0, d9, d7 │ │ │ │ │ vsub.f64 d7, d7, d9 │ │ │ │ │ vsub.f64 d9, d2, d8 │ │ │ │ │ vadd.f64 d2, d2, d8 │ │ │ │ │ vstr d9, [fp] │ │ │ │ │ vsub.f64 d9, d4, d5 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ - vstr d9, [sl] │ │ │ │ │ + vstr d9, [r6] │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ vsub.f64 d5, d6, d0 │ │ │ │ │ - ldr r3, [sp, #4] │ │ │ │ │ vadd.f64 d6, d6, d0 │ │ │ │ │ - vldr d9, [sp, #304] @ 0x130 │ │ │ │ │ - vldr d0, [pc, #696] @ 8b8 │ │ │ │ │ - vstr d2, [r3] │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ + vstr d2, [r8] │ │ │ │ │ + ldr r3, [sp, #24] │ │ │ │ │ + ldr r6, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d5, [sl] │ │ │ │ │ vsub.f64 d5, d7, d3 │ │ │ │ │ - ldr r2, [sp, #80] @ 0x50 │ │ │ │ │ vadd.f64 d3, d3, d7 │ │ │ │ │ - vldr d2, [sp, #192] @ 0xc0 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - ldr r2, [sp, #384] @ 0x180 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - ldr r2, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d3, [sp, #160] @ 0xa0 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - vadd.f64 d7, d9, d3 │ │ │ │ │ - vadd.f64 d6, d2, d14 │ │ │ │ │ + vldr d9, [sp, #304] @ 0x130 │ │ │ │ │ + vstr d5, [r6] │ │ │ │ │ + ldr r6, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ + vldr d6, [sp, #152] @ 0x98 │ │ │ │ │ + ldr r3, [sp, #0] │ │ │ │ │ + vldr d2, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d15, [sp, #216] @ 0xd8 │ │ │ │ │ + vadd.f64 d7, d9, d6 │ │ │ │ │ + vldr d10, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d8, [sp, #256] @ 0x100 │ │ │ │ │ + vadd.f64 d6, d2, d15 │ │ │ │ │ + vldr d15, [sp, #192] @ 0xc0 │ │ │ │ │ + vldr d2, [sp, #224] @ 0xe0 │ │ │ │ │ + vadd.f64 d10, d10, d8 │ │ │ │ │ + vldr d8, [sp, #272] @ 0x110 │ │ │ │ │ vadd.f64 d4, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d2, [sp, #232] @ 0xe8 │ │ │ │ │ - vldr d14, [sp, #320] @ 0x140 │ │ │ │ │ - vldr d8, [sp, #288] @ 0x120 │ │ │ │ │ - vadd.f64 d3, d6, d2 │ │ │ │ │ - vldr d6, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d2, [sp, #272] @ 0x110 │ │ │ │ │ - vadd.f64 d1, d8, d1 │ │ │ │ │ - ldr r2, [sp, #36] @ 0x24 │ │ │ │ │ - vadd.f64 d6, d14, d6 │ │ │ │ │ - ldr r3, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d8, [pc, #576] @ 8a8 │ │ │ │ │ + vadd.f64 d3, d15, d2 │ │ │ │ │ + vldr d2, [sp, #176] @ 0xb0 │ │ │ │ │ + vldr d15, [sp, #320] @ 0x140 │ │ │ │ │ + vadd.f64 d6, d15, d2 │ │ │ │ │ vadd.f64 d5, d3, d6 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ - vldr d3, [sp, #256] @ 0x100 │ │ │ │ │ - vadd.f64 d10, d3, d10 │ │ │ │ │ vadd.f64 d3, d1, d10 │ │ │ │ │ vsub.f64 d10, d10, d1 │ │ │ │ │ vldr d1, [sp, #264] @ 0x108 │ │ │ │ │ - vadd.f64 d2, d1, d2 │ │ │ │ │ - vldr d1, [sp, #360] @ 0x168 │ │ │ │ │ - vadd.f64 d12, d12, d1 │ │ │ │ │ + vadd.f64 d2, d1, d8 │ │ │ │ │ + vldr d8, [pc, #568] @ 8f0 │ │ │ │ │ vsub.f64 d1, d2, d12 │ │ │ │ │ vadd.f64 d12, d2, d12 │ │ │ │ │ vsub.f64 d2, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ + vldr d3, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ vsub.f64 d2, d10, d6 │ │ │ │ │ - ldr r4, [sp, #8] │ │ │ │ │ vadd.f64 d6, d6, d10 │ │ │ │ │ - vldr d10, [sp, #248] @ 0xf8 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ + ldr r2, [sp, #16] │ │ │ │ │ + vldr d10, [sp, #240] @ 0xf0 │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + ldr r3, [sp, #92] @ 0x5c │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ vsub.f64 d6, d7, d1 │ │ │ │ │ - vstr d4, [r6] │ │ │ │ │ vadd.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d4, [sp, #176] @ 0xb0 │ │ │ │ │ - vstr d6, [r9] │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ + ldr r3, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d1, [sp, #208] @ 0xd0 │ │ │ │ │ + vstr d6, [lr] │ │ │ │ │ vsub.f64 d6, d12, d5 │ │ │ │ │ vadd.f64 d5, d5, d12 │ │ │ │ │ - vmov.f64 d12, d13 │ │ │ │ │ + vldr d4, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d12, [sp, #360] @ 0x168 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ - ldr r2, [sp, #88] @ 0x58 │ │ │ │ │ + vsub.f64 d6, d11, d3 │ │ │ │ │ + ldr r2, [sp, #72] @ 0x48 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ + vldr d5, [sp, #144] @ 0x90 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vadd.f64 d7, d1, d10 │ │ │ │ │ - vldr d5, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d1, [sp, #240] @ 0xf0 │ │ │ │ │ - vldr d10, [sp, #352] @ 0x160 │ │ │ │ │ - vadd.f64 d6, d5, d4 │ │ │ │ │ - vmul.f64 d7, d7, d8 │ │ │ │ │ - vldr d4, [sp, #208] @ 0xd0 │ │ │ │ │ - ldr r2, [sp, #72] @ 0x48 │ │ │ │ │ - vadd.f64 d3, d6, d7 │ │ │ │ │ + vldr d1, [sp, #232] @ 0xe8 │ │ │ │ │ + vadd.f64 d5, d5, d4 │ │ │ │ │ + vldr d4, [sp, #200] @ 0xc8 │ │ │ │ │ + vmul.f64 d7, d7, d14 │ │ │ │ │ + vldr d0, [sp, #368] @ 0x170 │ │ │ │ │ + ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d10, [sp, #344] @ 0x158 │ │ │ │ │ + vadd.f64 d2, d5, d7 │ │ │ │ │ + vsub.f64 d5, d5, d7 │ │ │ │ │ + vsub.f64 d7, d1, d4 │ │ │ │ │ + vldr d11, [sp, #352] @ 0x160 │ │ │ │ │ + ldr r2, [sp, #124] @ 0x7c │ │ │ │ │ + vmul.f64 d4, d10, d13 │ │ │ │ │ + vmul.f64 d7, d7, d14 │ │ │ │ │ + vnmls.f64 d4, d11, d8 │ │ │ │ │ + vadd.f64 d3, d7, d6 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [sp, #168] @ 0xa8 │ │ │ │ │ - vsub.f64 d5, d1, d4 │ │ │ │ │ - vsub.f64 d7, d11, d7 │ │ │ │ │ - vldr d11, [sp, #376] @ 0x178 │ │ │ │ │ - vmul.f64 d5, d5, d8 │ │ │ │ │ - vmul.f64 d1, d11, d0 │ │ │ │ │ - vmla.f64 d1, d15, d13 │ │ │ │ │ - vldr d13, [sp, #344] @ 0x158 │ │ │ │ │ - vadd.f64 d4, d5, d7 │ │ │ │ │ - vsub.f64 d7, d7, d5 │ │ │ │ │ - vmul.f64 d5, d13, d12 │ │ │ │ │ - vnmls.f64 d5, d10, d0 │ │ │ │ │ - vadd.f64 d2, d1, d5 │ │ │ │ │ - vsub.f64 d5, d5, d1 │ │ │ │ │ - vmul.f64 d1, d15, d0 │ │ │ │ │ - vmul.f64 d15, d10, d12 │ │ │ │ │ - vmla.f64 d15, d13, d0 │ │ │ │ │ - vnmls.f64 d1, d11, d12 │ │ │ │ │ - vadd.f64 d0, d1, d15 │ │ │ │ │ - vsub.f64 d15, d15, d1 │ │ │ │ │ - vsub.f64 d1, d3, d2 │ │ │ │ │ - vadd.f64 d3, d3, d2 │ │ │ │ │ - vstr d1, [r2] │ │ │ │ │ - vsub.f64 d1, d5, d7 │ │ │ │ │ - vadd.f64 d7, d7, d5 │ │ │ │ │ - vstr d1, [r5] │ │ │ │ │ - ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ - ldr r5, [sp, #112] @ 0x70 │ │ │ │ │ - ldr r4, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d5, [sp, #200] @ 0xc8 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - vsub.f64 d7, d6, d0 │ │ │ │ │ - vstr d3, [r5] │ │ │ │ │ - vadd.f64 d6, d6, d0 │ │ │ │ │ - vldr d3, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d2, [sp, #192] @ 0xc0 │ │ │ │ │ - vstr d7, [r7] │ │ │ │ │ - vsub.f64 d7, d15, d4 │ │ │ │ │ - ldr r7, [sp, #136] @ 0x88 │ │ │ │ │ - vadd.f64 d4, d4, d15 │ │ │ │ │ - vldr d0, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d13, [sp, #368] @ 0x170 │ │ │ │ │ - vldr d10, [sp, #328] @ 0x148 │ │ │ │ │ - vstr d7, [r7] │ │ │ │ │ - vsub.f64 d7, d9, d3 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - vadd.f64 d1, d0, d13 │ │ │ │ │ - vldr d4, [sp, #232] @ 0xe8 │ │ │ │ │ - vsub.f64 d0, d0, d13 │ │ │ │ │ - vstr d6, [r8] │ │ │ │ │ - vmov.f64 d9, d8 │ │ │ │ │ - vldr d11, [sp, #336] @ 0x150 │ │ │ │ │ + vmul.f64 d7, d12, d8 │ │ │ │ │ + vmla.f64 d7, d0, d13 │ │ │ │ │ + vmul.f64 d0, d0, d8 │ │ │ │ │ + vnmls.f64 d0, d12, d13 │ │ │ │ │ + vadd.f64 d1, d7, d4 │ │ │ │ │ + vsub.f64 d4, d4, d7 │ │ │ │ │ + vmul.f64 d7, d11, d13 │ │ │ │ │ + vmla.f64 d7, d10, d8 │ │ │ │ │ + vldr d10, [sp, #296] @ 0x128 │ │ │ │ │ + vadd.f64 d8, d0, d7 │ │ │ │ │ + vsub.f64 d7, d7, d0 │ │ │ │ │ + vsub.f64 d0, d2, d1 │ │ │ │ │ + vadd.f64 d2, d2, d1 │ │ │ │ │ + vstr d0, [r4] │ │ │ │ │ + vsub.f64 d0, d4, d6 │ │ │ │ │ + vadd.f64 d6, d6, d4 │ │ │ │ │ + ldr r4, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d4, [sp, #224] @ 0xe0 │ │ │ │ │ + vstr d0, [r2] │ │ │ │ │ + ldr r2, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ + vsub.f64 d6, d5, d8 │ │ │ │ │ + vadd.f64 d5, d5, d8 │ │ │ │ │ + vldr d0, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d8, [sp, #328] @ 0x148 │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ + vldr d2, [sp, #176] @ 0xb0 │ │ │ │ │ + ldr r2, [sp, #376] @ 0x178 │ │ │ │ │ + vadd.f64 d1, d0, d10 │ │ │ │ │ + vsub.f64 d0, d0, d10 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + vsub.f64 d6, d7, d3 │ │ │ │ │ + vadd.f64 d3, d3, d7 │ │ │ │ │ + ldr r2, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ + vldr d6, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ + ldr r2, [sp, #8] │ │ │ │ │ + vldr d5, [sp, #192] @ 0xc0 │ │ │ │ │ + vsub.f64 d7, d9, d6 │ │ │ │ │ + vldr d9, [sp, #336] @ 0x150 │ │ │ │ │ vsub.f64 d6, d4, d5 │ │ │ │ │ - vldr d5, [sp, #224] @ 0xe0 │ │ │ │ │ - ldr r3, [sp, #128] @ 0x80 │ │ │ │ │ - ldr r7, [sp, #144] @ 0x90 │ │ │ │ │ - vsub.f64 d5, d2, d5 │ │ │ │ │ - ldr r0, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d5, [sp, #216] @ 0xd8 │ │ │ │ │ vsub.f64 d3, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [sp, #184] @ 0xb8 │ │ │ │ │ - vsub.f64 d6, d14, d6 │ │ │ │ │ + vsub.f64 d5, d6, d5 │ │ │ │ │ + vsub.f64 d6, d15, d2 │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vsub.f64 d5, d10, d11 │ │ │ │ │ + vsub.f64 d5, d8, d9 │ │ │ │ │ vadd.f64 d2, d1, d5 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ - vadd.f64 d1, d10, d11 │ │ │ │ │ - vmul.f64 d2, d2, d8 │ │ │ │ │ - vmul.f64 d5, d5, d8 │ │ │ │ │ + vadd.f64 d1, d8, d9 │ │ │ │ │ + vmul.f64 d2, d2, d14 │ │ │ │ │ + vmul.f64 d5, d5, d14 │ │ │ │ │ vadd.f64 d8, d0, d1 │ │ │ │ │ vsub.f64 d1, d1, d0 │ │ │ │ │ vsub.f64 d0, d3, d2 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ - vmul.f64 d1, d1, d9 │ │ │ │ │ - vmul.f64 d8, d8, d9 │ │ │ │ │ + vmul.f64 d1, d1, d14 │ │ │ │ │ + vmul.f64 d8, d8, d14 │ │ │ │ │ vstr d0, [r1] │ │ │ │ │ - ldr r1, [sp, #16] │ │ │ │ │ vsub.f64 d0, d1, d6 │ │ │ │ │ vadd.f64 d6, d6, d1 │ │ │ │ │ + ldr r1, [sp, #32] │ │ │ │ │ vstr d0, [r1] │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ vsub.f64 d6, d7, d8 │ │ │ │ │ - ldr r1, [sp, #64] @ 0x40 │ │ │ │ │ vadd.f64 d7, d7, d8 │ │ │ │ │ - vstr d3, [lr] │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ + ldr r4, [sp, #40] @ 0x28 │ │ │ │ │ + ldr r3, [sp, #496] @ 0x1f0 │ │ │ │ │ + ldr r6, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r0, [sp, #120] @ 0x78 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + ldr r1, [sp, #136] @ 0x88 │ │ │ │ │ + str r3, [sp, #496] @ 0x1f0 │ │ │ │ │ + ldr r3, [sp, #380] @ 0x17c │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ vsub.f64 d6, d5, d4 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ - vstr d4, [r7] │ │ │ │ │ - ldr r5, [sp, #120] @ 0x78 │ │ │ │ │ - ldr r3, [sp, #504] @ 0x1f8 │ │ │ │ │ - ldr r7, [sp, #4] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #504] @ 0x1f8 │ │ │ │ │ - ldr r3, [sp, #388] @ 0x184 │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ - add r6, r3 │ │ │ │ │ - ldr r3, [sp, #392] @ 0x188 │ │ │ │ │ + ldr r2, [sp, #496] @ 0x1f0 │ │ │ │ │ add r7, r3 │ │ │ │ │ - ldr r3, [sp, #396] @ 0x18c │ │ │ │ │ - str r7, [sp, #4] │ │ │ │ │ - eor.w ip, ip, r3 │ │ │ │ │ - ldr r3, [sp, #32] │ │ │ │ │ - adds r3, #64 @ 0x40 │ │ │ │ │ - str r3, [sp, #32] │ │ │ │ │ - ldrd r2, r3, [sp, #504] @ 0x1f8 │ │ │ │ │ + ldr r3, [sp, #384] @ 0x180 │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ + add r8, r3 │ │ │ │ │ + ldr r3, [sp, #388] @ 0x184 │ │ │ │ │ + eor.w r9, r9, r3 │ │ │ │ │ + ldr r3, [sp, #500] @ 0x1f4 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 40 │ │ │ │ │ - add sp, #404 @ 0x194 │ │ │ │ │ + bne.w 4e │ │ │ │ │ + add sp, #396 @ 0x18c │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ nop.w │ │ │ │ │ - .word 0x667f3bcd │ │ │ │ │ - .word 0x3fe6a09e │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ + .word 0x667f3bcd │ │ │ │ │ + .word 0x3fe6a09e │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ - .word 0x000008a4 │ │ │ │ │ + .word 0x000008ca │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ │ │ │ │ │ -000008c8 : │ │ │ │ │ +00000900 : │ │ │ │ │ fftw_codelet_hf2_16(): │ │ │ │ │ - ldr r2, [pc, #8] @ (8d4 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (8d8 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (90c ) │ │ │ │ │ + ldr r1, [pc, #12] @ (910 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2hc_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── hf2_20.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 4084 (bytes into file) │ │ │ │ │ + Start of section headers: 4140 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0xff4: │ │ │ │ │ +There are 14 section headers, starting at offset 0x102c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000cb0 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000f3c 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000ce4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000ce4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000ce4 000007 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000ceb 000014 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 000cff 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000f64 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000d2f 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000d2f 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000d64 000150 10 12 16 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000eb4 000088 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000f7c 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000ce8 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000f74 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000d1c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000d1c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000d1c 000007 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000d23 000014 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000d37 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000f9c 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000d67 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000d67 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000d9c 000150 10 12 16 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000eec 000088 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000fb4 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 21 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 3226 FUNC LOCAL DEFAULT 1 hf2_20 │ │ │ │ │ + 1: 00000001 3284 FUNC LOCAL DEFAULT 1 hf2_20 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000050 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000068 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000c20 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000c28 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00000ca8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000058 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000070 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000c68 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000c70 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00000ce0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 20 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 13: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 14: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 15: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 18: 00000c9d 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf2_20 │ │ │ │ │ + 18: 00000cd5 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf2_20 │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2hc_register │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xf3c contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xf74 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000060 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000064 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000ca8 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000cac 00000103 R_ARM_REL32 00000001 hf2_20 │ │ │ │ │ -00000ca4 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ +00000068 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000006c 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000ce0 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000ce4 00000103 R_ARM_REL32 00000001 hf2_20 │ │ │ │ │ +00000cdc 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xf64 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xf9c contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000a02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001402 R_ARM_ABS32 00000000 fftw_rdft_hf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,885 +1,895 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hf2_20(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov fp, r0 │ │ │ │ │ - mov r5, r1 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r6, r0 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r7, r1 │ │ │ │ │ + mov r8, r3 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub.w sp, sp, #596 @ 0x254 │ │ │ │ │ - mov r6, r3 │ │ │ │ │ - ldr r3, [pc, #76] @ (60 ) │ │ │ │ │ - ldrd r1, r0, [sp, #696] @ 0x2b8 │ │ │ │ │ - add r3, pc │ │ │ │ │ + sub.w sp, sp, #564 @ 0x234 │ │ │ │ │ + ldrd r1, r0, [sp, #664] @ 0x298 │ │ │ │ │ + ldr r3, [pc, #64] @ (68 ) │ │ │ │ │ cmp r1, r0 │ │ │ │ │ - bge.w c8e │ │ │ │ │ - ldr r1, [sp, #704] @ 0x2c0 │ │ │ │ │ - mov r9, fp │ │ │ │ │ - vldr d13, [pc, #40] @ 50 │ │ │ │ │ - mov fp, r6 │ │ │ │ │ - vldr d11, [pc, #44] @ 58 │ │ │ │ │ - lsls r1, r1, #3 │ │ │ │ │ - str r1, [sp, #580] @ 0x244 │ │ │ │ │ - negs r1, r1 │ │ │ │ │ - str r1, [sp, #584] @ 0x248 │ │ │ │ │ - ldr r1, [pc, #44] @ (64 ) │ │ │ │ │ + add r3, pc │ │ │ │ │ + bge.w cb6 │ │ │ │ │ + ldr r1, [sp, #672] @ 0x2a0 │ │ │ │ │ + vldr d13, [pc, #36] @ 58 │ │ │ │ │ + vldr d11, [pc, #40] @ 60 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + str r1, [sp, #548] @ 0x224 │ │ │ │ │ + rsb r1, r1, #0 │ │ │ │ │ + str r1, [sp, #552] @ 0x228 │ │ │ │ │ + ldr r1, [pc, #36] @ (6c ) │ │ │ │ │ ldr r3, [r3, r1] │ │ │ │ │ + str r6, [sp, #0] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - str r3, [sp, #588] @ 0x24c │ │ │ │ │ - ldr r3, [sp, #696] @ 0x2b8 │ │ │ │ │ - add.w sl, r2, r3, lsl #6 │ │ │ │ │ - mov r8, sl │ │ │ │ │ - mov sl, r5 │ │ │ │ │ - b.n 68 │ │ │ │ │ - nop │ │ │ │ │ - nop.w │ │ │ │ │ + str r3, [sp, #556] @ 0x22c │ │ │ │ │ + ldr r3, [sp, #664] @ 0x298 │ │ │ │ │ + add.w fp, r2, r3, lsl #6 │ │ │ │ │ + b.n 70 │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ - .word 0x00000044 │ │ │ │ │ + .word 0x0000003a │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - vldr d12, [r8, #-64] @ 0xffffffc0 │ │ │ │ │ - movs r3, #80 @ 0x50 │ │ │ │ │ - vldr d8, [r8, #-48] @ 0xffffffd0 │ │ │ │ │ - movs r0, #40 @ 0x28 │ │ │ │ │ - vldr d1, [r8, #-56] @ 0xffffffc8 │ │ │ │ │ - movs r7, #136 @ 0x88 │ │ │ │ │ - vldr d0, [r8, #-40] @ 0xffffffd8 │ │ │ │ │ - mul.w r2, r3, fp │ │ │ │ │ - vmul.f64 d6, d12, d8 │ │ │ │ │ - vldr d10, [r8, #-24] @ 0xffffffe8 │ │ │ │ │ - vmul.f64 d5, d1, d8 │ │ │ │ │ - vmov.f64 d15, d1 │ │ │ │ │ - vmul.f64 d4, d12, d0 │ │ │ │ │ - vmul.f64 d7, d1, d0 │ │ │ │ │ - add.w r3, r9, r2 │ │ │ │ │ - add.w r1, sl, r2 │ │ │ │ │ - mul.w r4, r0, fp │ │ │ │ │ - add.w r8, r8, #64 @ 0x40 │ │ │ │ │ - vstr d15, [sp] │ │ │ │ │ - vadd.f64 d2, d5, d4 │ │ │ │ │ - vadd.f64 d14, d6, d7 │ │ │ │ │ - vsub.f64 d3, d6, d7 │ │ │ │ │ - vsub.f64 d4, d4, d5 │ │ │ │ │ - vmov.f64 d7, d0 │ │ │ │ │ - vmul.f64 d5, d1, d10 │ │ │ │ │ - vmul.f64 d0, d0, d10 │ │ │ │ │ - vmul.f64 d1, d12, d10 │ │ │ │ │ - vstr d2, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d2, [r8, #-96] @ 0xffffffa0 │ │ │ │ │ - vmov.f64 d9, d4 │ │ │ │ │ - vstr d7, [sp, #8] │ │ │ │ │ - vstr d3, [sp, #32] │ │ │ │ │ - vmul.f64 d3, d8, d10 │ │ │ │ │ + vldr d2, [fp, #-64] @ 0xffffffc0 │ │ │ │ │ + add.w r3, r8, r8, lsl #2 │ │ │ │ │ + add.w fp, fp, #64 @ 0x40 │ │ │ │ │ + vldr d8, [fp, #-120] @ 0xffffff88 │ │ │ │ │ + mov.w r2, r3, lsl #4 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + vldr d7, [fp, #-112] @ 0xffffff90 │ │ │ │ │ + add.w r0, r7, r2 │ │ │ │ │ + vldr d4, [fp, #-104] @ 0xffffff98 │ │ │ │ │ + vstr d8, [sp, #16] │ │ │ │ │ + vmul.f64 d6, d2, d7 │ │ │ │ │ + vmul.f64 d5, d8, d7 │ │ │ │ │ + vldr d7, [fp, #-104] @ 0xffffff98 │ │ │ │ │ + vmul.f64 d4, d2, d4 │ │ │ │ │ + vmul.f64 d7, d8, d7 │ │ │ │ │ + vadd.f64 d10, d5, d4 │ │ │ │ │ + vsub.f64 d1, d4, d5 │ │ │ │ │ + vsub.f64 d9, d6, d7 │ │ │ │ │ + vadd.f64 d4, d6, d7 │ │ │ │ │ + vldr d7, [fp, #-88] @ 0xffffffa8 │ │ │ │ │ + vldr d6, [fp, #-88] @ 0xffffffa8 │ │ │ │ │ + vstr d1, [sp, #40] @ 0x28 │ │ │ │ │ + vmul.f64 d5, d8, d7 │ │ │ │ │ + vldr d7, [fp, #-112] @ 0xffffff90 │ │ │ │ │ + vmov.f64 d14, d4 │ │ │ │ │ + vmov.f64 d4, d2 │ │ │ │ │ + vldr d2, [fp, #-96] @ 0xffffffa0 │ │ │ │ │ + vmul.f64 d1, d4, d6 │ │ │ │ │ + vstr d4, [sp, #8] │ │ │ │ │ + vmul.f64 d3, d7, d6 │ │ │ │ │ + vldr d7, [fp, #-104] @ 0xffffff98 │ │ │ │ │ + vmul.f64 d0, d7, d6 │ │ │ │ │ + vmul.f64 d6, d4, d2 │ │ │ │ │ vmul.f64 d4, d7, d2 │ │ │ │ │ - vmul.f64 d6, d12, d2 │ │ │ │ │ - vmov.f64 d7, d2 │ │ │ │ │ - vmul.f64 d2, d15, d2 │ │ │ │ │ - vstr d9, [sp, #16] │ │ │ │ │ - vmul.f64 d15, d8, d7 │ │ │ │ │ - vstr d7, [sp, #24] │ │ │ │ │ + vmov.f64 d7, d8 │ │ │ │ │ + vmov.f64 d8, d2 │ │ │ │ │ + vmul.f64 d2, d7, d2 │ │ │ │ │ + vldr d7, [fp, #-112] @ 0xffffff90 │ │ │ │ │ + vstr d8, [sp, #32] │ │ │ │ │ + vmul.f64 d8, d7, d8 │ │ │ │ │ vsub.f64 d7, d6, d5 │ │ │ │ │ + vsub.f64 d15, d1, d2 │ │ │ │ │ vadd.f64 d6, d5, d6 │ │ │ │ │ - vmul.f64 d5, d14, d10 │ │ │ │ │ + vldr d5, [fp, #-88] @ 0xffffffa8 │ │ │ │ │ + vadd.f64 d12, d0, d8 │ │ │ │ │ vstr d7, [sp, #56] @ 0x38 │ │ │ │ │ - vadd.f64 d7, d0, d15 │ │ │ │ │ - vstr d6, [sp, #88] @ 0x58 │ │ │ │ │ - vsub.f64 d0, d15, d0 │ │ │ │ │ - vstr d7, [sp, #344] @ 0x158 │ │ │ │ │ - vadd.f64 d7, d3, d4 │ │ │ │ │ - vstr d0, [sp, #208] @ 0xd0 │ │ │ │ │ - vsub.f64 d0, d3, d4 │ │ │ │ │ - vstr d7, [sp, #168] @ 0xa8 │ │ │ │ │ vadd.f64 d7, d1, d2 │ │ │ │ │ - vsub.f64 d1, d1, d2 │ │ │ │ │ - vldr d2, [sp, #24] │ │ │ │ │ - vstr d0, [sp, #352] @ 0x160 │ │ │ │ │ - vldr d0, [r8, #-72] @ 0xffffffb8 │ │ │ │ │ - vmul.f64 d6, d9, d2 │ │ │ │ │ - vmov.f64 d4, d2 │ │ │ │ │ - vstr d1, [sp, #80] @ 0x50 │ │ │ │ │ - vsub.f64 d15, d5, d6 │ │ │ │ │ - vadd.f64 d1, d5, d6 │ │ │ │ │ - vmul.f64 d6, d9, d10 │ │ │ │ │ - vmul.f64 d5, d14, d2 │ │ │ │ │ - vldr d9, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d1, [sp, #360] @ 0x168 │ │ │ │ │ - vsub.f64 d1, d5, d6 │ │ │ │ │ - vstr d15, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d15, [sp, #32] │ │ │ │ │ + vsub.f64 d2, d3, d4 │ │ │ │ │ + vmul.f64 d5, d14, d5 │ │ │ │ │ + vstr d6, [sp, #80] @ 0x50 │ │ │ │ │ + vsub.f64 d0, d8, d0 │ │ │ │ │ + vldr d8, [fp, #-88] @ 0xffffffa8 │ │ │ │ │ + vstr d12, [sp, #360] @ 0x168 │ │ │ │ │ + vadd.f64 d12, d3, d4 │ │ │ │ │ + vmov.f64 d4, d14 │ │ │ │ │ + vldr d14, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d2, [sp, #368] @ 0x170 │ │ │ │ │ + vldr d2, [sp, #32] │ │ │ │ │ + vstr d4, [sp, #24] │ │ │ │ │ + vstr d0, [sp, #216] @ 0xd8 │ │ │ │ │ + vmov.f64 d0, d10 │ │ │ │ │ + vldr d10, [fp, #-88] @ 0xffffffa8 │ │ │ │ │ + vstr d12, [sp, #160] @ 0xa0 │ │ │ │ │ + vmul.f64 d6, d14, d2 │ │ │ │ │ + vmul.f64 d1, d9, d2 │ │ │ │ │ + vadd.f64 d3, d5, d6 │ │ │ │ │ + vsub.f64 d5, d5, d6 │ │ │ │ │ + vmul.f64 d6, d14, d8 │ │ │ │ │ + vstr d5, [sp, #120] @ 0x78 │ │ │ │ │ + vmul.f64 d5, d4, d2 │ │ │ │ │ + vmul.f64 d4, d9, d10 │ │ │ │ │ + vstr d3, [sp, #336] @ 0x150 │ │ │ │ │ + vsub.f64 d8, d5, d6 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ - vmul.f64 d4, d9, d4 │ │ │ │ │ - vstr d1, [sp, #368] @ 0x170 │ │ │ │ │ - vmul.f64 d1, d15, d2 │ │ │ │ │ - vmul.f64 d2, d9, d10 │ │ │ │ │ - vmul.f64 d3, d15, d10 │ │ │ │ │ - vstr d5, [sp, #144] @ 0x90 │ │ │ │ │ - vadd.f64 d5, d1, d2 │ │ │ │ │ - vsub.f64 d2, d1, d2 │ │ │ │ │ - vldr d1, [r8, #-80] @ 0xffffffb0 │ │ │ │ │ - vsub.f64 d6, d3, d4 │ │ │ │ │ - vstr d2, [sp, #152] @ 0x98 │ │ │ │ │ - vadd.f64 d2, d3, d4 │ │ │ │ │ - vmul.f64 d4, d9, d0 │ │ │ │ │ - vmov.f64 d3, d15 │ │ │ │ │ - vmla.f64 d4, d15, d1 │ │ │ │ │ - vstr d2, [sp, #160] @ 0xa0 │ │ │ │ │ - vmov.f64 d2, d9 │ │ │ │ │ - vstr d4, [sp, #96] @ 0x60 │ │ │ │ │ - vmul.f64 d4, d6, d0 │ │ │ │ │ - vmov.f64 d15, d4 │ │ │ │ │ - vmla.f64 d15, d5, d1 │ │ │ │ │ - vstr d15, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d9, [sp, #16] │ │ │ │ │ - vstr d14, [sp, #176] @ 0xb0 │ │ │ │ │ - str r3, [sp, #48] @ 0x30 │ │ │ │ │ - vmul.f64 d4, d9, d1 │ │ │ │ │ + vmov.f64 d6, d2 │ │ │ │ │ + vmul.f64 d2, d0, d10 │ │ │ │ │ + vmul.f64 d6, d0, d6 │ │ │ │ │ + vstr d5, [sp, #128] @ 0x80 │ │ │ │ │ + vsub.f64 d10, d1, d2 │ │ │ │ │ + vadd.f64 d3, d1, d2 │ │ │ │ │ + vmov.f64 d1, d14 │ │ │ │ │ + vmov.f64 d2, d0 │ │ │ │ │ + vsub.f64 d5, d4, d6 │ │ │ │ │ + vstr d10, [sp, #136] @ 0x88 │ │ │ │ │ + vadd.f64 d10, d4, d6 │ │ │ │ │ + vmov.f64 d4, d9 │ │ │ │ │ + vstr d8, [sp, #344] @ 0x158 │ │ │ │ │ + vstr d10, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d10, [fp, #-72] @ 0xffffffb8 │ │ │ │ │ + str r0, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d9, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d9, [fp, #-80] @ 0xffffffb0 │ │ │ │ │ + vstr d0, [sp, #176] @ 0xb0 │ │ │ │ │ + ldr r6, [sp, #0] │ │ │ │ │ + vmul.f64 d6, d5, d10 │ │ │ │ │ + vmul.f64 d0, d0, d10 │ │ │ │ │ + vldr d14, [sp, #24] │ │ │ │ │ + vldr d8, [sp, #16] │ │ │ │ │ + add.w r1, r6, r2 │ │ │ │ │ + vmla.f64 d6, d3, d9 │ │ │ │ │ + vmla.f64 d0, d4, d9 │ │ │ │ │ str r1, [sp, #52] @ 0x34 │ │ │ │ │ - vmov.f64 d15, d4 │ │ │ │ │ - vmul.f64 d4, d2, d1 │ │ │ │ │ - vldr d2, [sp] │ │ │ │ │ - vnmls.f64 d4, d3, d0 │ │ │ │ │ - vnmls.f64 d15, d14, d0 │ │ │ │ │ - vstr d4, [sp, #72] @ 0x48 │ │ │ │ │ - vmul.f64 d4, d9, d0 │ │ │ │ │ - vmla.f64 d4, d14, d1 │ │ │ │ │ - vldr d9, [sp, #8] │ │ │ │ │ - vstr d4, [sp, #120] @ 0x78 │ │ │ │ │ - vmul.f64 d4, d2, d1 │ │ │ │ │ - vmov.f64 d14, d4 │ │ │ │ │ - vmul.f64 d4, d9, d1 │ │ │ │ │ - vmov.f64 d3, d4 │ │ │ │ │ - vmul.f64 d4, d6, d1 │ │ │ │ │ - vnmls.f64 d14, d12, d0 │ │ │ │ │ - vnmls.f64 d4, d5, d0 │ │ │ │ │ - vnmls.f64 d3, d8, d0 │ │ │ │ │ - vstr d14, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d14, [sp, #56] @ 0x38 │ │ │ │ │ - vstr d4, [sp, #384] @ 0x180 │ │ │ │ │ - vmul.f64 d4, d2, d0 │ │ │ │ │ - vstr d3, [sp, #376] @ 0x178 │ │ │ │ │ + vstr d6, [sp, #352] @ 0x160 │ │ │ │ │ + vmul.f64 d6, d1, d9 │ │ │ │ │ + vmov.f64 d12, d6 │ │ │ │ │ + vmul.f64 d6, d2, d9 │ │ │ │ │ + vldr d2, [sp, #8] │ │ │ │ │ + vnmls.f64 d12, d14, d10 │ │ │ │ │ + vnmls.f64 d6, d4, d10 │ │ │ │ │ + vmul.f64 d4, d1, d10 │ │ │ │ │ + vmla.f64 d4, d14, d9 │ │ │ │ │ + vldr d14, [fp, #-104] @ 0xffffff98 │ │ │ │ │ + vstr d4, [sp, #112] @ 0x70 │ │ │ │ │ + vmul.f64 d4, d8, d9 │ │ │ │ │ + vnmls.f64 d4, d2, d10 │ │ │ │ │ + vstr d4, [sp, #96] @ 0x60 │ │ │ │ │ + vmul.f64 d4, d14, d9 │ │ │ │ │ + vldr d14, [fp, #-112] @ 0xffffff90 │ │ │ │ │ + vnmls.f64 d4, d14, d10 │ │ │ │ │ + vldr d14, [fp, #-104] @ 0xffffff98 │ │ │ │ │ + vstr d4, [sp, #376] @ 0x178 │ │ │ │ │ + vmul.f64 d4, d5, d9 │ │ │ │ │ + vmov.f64 d1, d4 │ │ │ │ │ + vmul.f64 d4, d8, d10 │ │ │ │ │ + vldr d8, [sp, #56] @ 0x38 │ │ │ │ │ + vnmls.f64 d1, d3, d10 │ │ │ │ │ + vmla.f64 d4, d2, d9 │ │ │ │ │ + vstr d4, [sp, #104] @ 0x68 │ │ │ │ │ + vmul.f64 d4, d14, d10 │ │ │ │ │ + vldr d14, [fp, #-112] @ 0xffffff90 │ │ │ │ │ + vstr d1, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d1, [r1] │ │ │ │ │ + add.w r1, r6, r3 │ │ │ │ │ + add.w r4, r1, r2 │ │ │ │ │ + str r1, [sp, #56] @ 0x38 │ │ │ │ │ vmov.f64 d2, d4 │ │ │ │ │ - vmul.f64 d4, d9, d0 │ │ │ │ │ - vmla.f64 d2, d12, d1 │ │ │ │ │ - vldr d9, [sp, #96] @ 0x60 │ │ │ │ │ - vmov.f64 d3, d4 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - vmla.f64 d3, d8, d1 │ │ │ │ │ - vstr d2, [sp, #112] @ 0x70 │ │ │ │ │ - vmul.f64 d2, d7, d4 │ │ │ │ │ - vstr d3, [sp, #392] @ 0x188 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - add.w r3, r9, r4 │ │ │ │ │ - add r4, sl │ │ │ │ │ - adds r0, r3, r2 │ │ │ │ │ - adds r5, r4, r2 │ │ │ │ │ - str r3, [sp, #56] @ 0x38 │ │ │ │ │ - vmul.f64 d7, d7, d3 │ │ │ │ │ - vmla.f64 d2, d14, d3 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - mov.w r3, fp, lsl #6 │ │ │ │ │ - str r0, [sp, #64] @ 0x40 │ │ │ │ │ - add.w r1, sl, r3 │ │ │ │ │ - str r5, [sp, #68] @ 0x44 │ │ │ │ │ - vnmls.f64 d7, d14, d4 │ │ │ │ │ - vldr d14, [sp, #72] @ 0x48 │ │ │ │ │ - vstr d7, [sp, #128] @ 0x80 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - vmul.f64 d4, d6, d7 │ │ │ │ │ - vmul.f64 d6, d6, d3 │ │ │ │ │ - vmla.f64 d4, d5, d3 │ │ │ │ │ - vldr d3, [r5] │ │ │ │ │ - vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d5, [sp, #72] @ 0x48 │ │ │ │ │ + str r4, [sp, #72] @ 0x48 │ │ │ │ │ + vmla.f64 d2, d14, d9 │ │ │ │ │ + vstr d2, [sp, #392] @ 0x188 │ │ │ │ │ + vldr d2, [r0] │ │ │ │ │ + add.w r0, r7, r3 │ │ │ │ │ + mov.w r3, r8, lsl #6 │ │ │ │ │ + add.w r5, r0, r2 │ │ │ │ │ + str r0, [sp, #68] @ 0x44 │ │ │ │ │ + add.w sl, r7, r3 │ │ │ │ │ + str r5, [sp, #76] @ 0x4c │ │ │ │ │ + vmul.f64 d4, d7, d2 │ │ │ │ │ + vmul.f64 d7, d7, d1 │ │ │ │ │ + vmla.f64 d4, d8, d1 │ │ │ │ │ + vldr d1, [r0] │ │ │ │ │ + vnmls.f64 d7, d8, d2 │ │ │ │ │ + vldr d8, [r1] │ │ │ │ │ + mov r1, r6 │ │ │ │ │ + mov.w r6, #104 @ 0x68 │ │ │ │ │ + vmul.f64 d2, d5, d1 │ │ │ │ │ + vmul.f64 d5, d5, d8 │ │ │ │ │ + vmla.f64 d2, d3, d8 │ │ │ │ │ + vldr d8, [r4] │ │ │ │ │ + add.w r4, r1, r3 │ │ │ │ │ + add.w r3, r4, r2 │ │ │ │ │ + vnmls.f64 d5, d3, d1 │ │ │ │ │ + vldr d1, [r5] │ │ │ │ │ + add.w r5, sl, r2 │ │ │ │ │ + vmul.f64 d3, d6, d1 │ │ │ │ │ + vmul.f64 d6, d6, d8 │ │ │ │ │ + vmla.f64 d3, d0, d8 │ │ │ │ │ + vldr d8, [r1] │ │ │ │ │ + vnmls.f64 d6, d0, d1 │ │ │ │ │ + strd r3, r5, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d14, [r7] │ │ │ │ │ + vadd.f64 d0, d8, d4 │ │ │ │ │ + vadd.f64 d1, d2, d3 │ │ │ │ │ + vsub.f64 d2, d2, d3 │ │ │ │ │ + vsub.f64 d3, d5, d6 │ │ │ │ │ + vadd.f64 d5, d5, d6 │ │ │ │ │ + vsub.f64 d8, d0, d1 │ │ │ │ │ + vstr d8, [sp, #184] @ 0xb8 │ │ │ │ │ + vadd.f64 d8, d0, d1 │ │ │ │ │ + vsub.f64 d1, d14, d7 │ │ │ │ │ + vldr d14, [r1] │ │ │ │ │ + vstr d8, [sp, #192] @ 0xc0 │ │ │ │ │ + vsub.f64 d8, d1, d2 │ │ │ │ │ + vadd.f64 d0, d1, d2 │ │ │ │ │ + vsub.f64 d4, d14, d4 │ │ │ │ │ + vldr d14, [r7] │ │ │ │ │ + vstr d8, [sp, #400] @ 0x190 │ │ │ │ │ + vadd.f64 d7, d14, d7 │ │ │ │ │ + vsub.f64 d8, d4, d3 │ │ │ │ │ + vstr d0, [sp, #408] @ 0x198 │ │ │ │ │ + vadd.f64 d3, d4, d3 │ │ │ │ │ + vldr d0, [sp, #80] @ 0x50 │ │ │ │ │ + str r4, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ + mov r5, r1 │ │ │ │ │ + vsub.f64 d6, d7, d5 │ │ │ │ │ + vadd.f64 d7, d7, d5 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + vstr d3, [sp, #200] @ 0xc8 │ │ │ │ │ + mov.w r4, r8, lsl #4 │ │ │ │ │ + vldr d3, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d8, [sp, #416] @ 0x1a0 │ │ │ │ │ + vstr d6, [sp, #424] @ 0x1a8 │ │ │ │ │ + vmul.f64 d8, d15, d5 │ │ │ │ │ + vldr d6, [sl] │ │ │ │ │ + vstr d7, [sp, #432] @ 0x1b0 │ │ │ │ │ + vmul.f64 d7, d15, d6 │ │ │ │ │ + vnmls.f64 d8, d0, d6 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + add.w r3, r4, r8 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + add.w r0, r7, r3 │ │ │ │ │ + add r1, r3 │ │ │ │ │ + mov.w r3, r8, lsl #3 │ │ │ │ │ + vmla.f64 d7, d0, d5 │ │ │ │ │ + vldr d0, [sp, #104] @ 0x68 │ │ │ │ │ + vmul.f64 d5, d3, d4 │ │ │ │ │ + str r1, [sp, #96] @ 0x60 │ │ │ │ │ + add.w r9, r7, r3 │ │ │ │ │ + str r0, [sp, #104] @ 0x68 │ │ │ │ │ + vmla.f64 d5, d0, d6 │ │ │ │ │ + vmul.f64 d6, d3, d6 │ │ │ │ │ + vldr d3, [sp, #112] @ 0x70 │ │ │ │ │ + vnmls.f64 d6, d0, d4 │ │ │ │ │ + vadd.f64 d4, d7, d5 │ │ │ │ │ + vsub.f64 d7, d7, d5 │ │ │ │ │ + vstr d4, [sp, #224] @ 0xe0 │ │ │ │ │ + vadd.f64 d4, d8, d6 │ │ │ │ │ + vsub.f64 d8, d8, d6 │ │ │ │ │ + vstr d7, [sp, #272] @ 0x110 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - add.w r0, r9, r3 │ │ │ │ │ - adds r6, r0, r2 │ │ │ │ │ - mul.w r3, r7, fp │ │ │ │ │ - vmul.f64 d5, d5, d3 │ │ │ │ │ - movs r7, #56 @ 0x38 │ │ │ │ │ - vmla.f64 d5, d9, d7 │ │ │ │ │ - vmul.f64 d7, d14, d7 │ │ │ │ │ - add.w r5, r9, r3 │ │ │ │ │ - vnmls.f64 d7, d9, d3 │ │ │ │ │ - vldr d9, [r9] │ │ │ │ │ - vadd.f64 d3, d9, d2 │ │ │ │ │ - vmov.f64 d9, d3 │ │ │ │ │ - vadd.f64 d3, d4, d5 │ │ │ │ │ - vsub.f64 d4, d4, d5 │ │ │ │ │ - vsub.f64 d14, d9, d3 │ │ │ │ │ - vstr d14, [sp, #200] @ 0xc8 │ │ │ │ │ - vadd.f64 d14, d9, d3 │ │ │ │ │ - vldr d9, [sl] │ │ │ │ │ - vstr d14, [sp, #408] @ 0x198 │ │ │ │ │ - vldr d14, [sp, #128] @ 0x80 │ │ │ │ │ - vsub.f64 d3, d9, d14 │ │ │ │ │ - vsub.f64 d5, d3, d4 │ │ │ │ │ - vstr d5, [sp, #416] @ 0x1a0 │ │ │ │ │ - vadd.f64 d5, d3, d4 │ │ │ │ │ - vldr d9, [r9] │ │ │ │ │ - vsub.f64 d4, d6, d7 │ │ │ │ │ - vadd.f64 d6, d6, d7 │ │ │ │ │ - str r0, [sp, #72] @ 0x48 │ │ │ │ │ - vstr d5, [sp, #424] @ 0x1a8 │ │ │ │ │ - vsub.f64 d5, d9, d2 │ │ │ │ │ - vldr d9, [sl] │ │ │ │ │ - vldr d2, [sp, #112] @ 0x70 │ │ │ │ │ - vsub.f64 d3, d5, d4 │ │ │ │ │ - vadd.f64 d5, d5, d4 │ │ │ │ │ - vstr d5, [sp, #440] @ 0x1b8 │ │ │ │ │ - vadd.f64 d5, d9, d14 │ │ │ │ │ - vldr d14, [sp, #88] @ 0x58 │ │ │ │ │ - vstr d3, [sp, #432] @ 0x1b0 │ │ │ │ │ - str r6, [sp, #88] @ 0x58 │ │ │ │ │ - vsub.f64 d7, d5, d6 │ │ │ │ │ - vadd.f64 d6, d5, d6 │ │ │ │ │ - vldr d5, [sp, #80] @ 0x50 │ │ │ │ │ - str r1, [sp, #80] @ 0x50 │ │ │ │ │ - vstr d7, [sp, #448] @ 0x1c0 │ │ │ │ │ + vstr d4, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ + sub.w r1, r3, r8 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + add.w r0, r7, r1 │ │ │ │ │ + add r5, r1 │ │ │ │ │ + mul.w r1, r6, r8 │ │ │ │ │ + vmul.f64 d5, d12, d7 │ │ │ │ │ + str r5, [sp, #112] @ 0x70 │ │ │ │ │ + vmla.f64 d5, d3, d4 │ │ │ │ │ + vmul.f64 d4, d12, d4 │ │ │ │ │ + vnmls.f64 d4, d3, d7 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + str r0, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d3, [r0] │ │ │ │ │ + ldr r6, [sp, #0] │ │ │ │ │ + vldr d0, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d12, [sp, #128] @ 0x80 │ │ │ │ │ + add.w r5, r6, r1 │ │ │ │ │ + add r1, r7 │ │ │ │ │ + vldr d14, [fp, #-104] @ 0xffffff98 │ │ │ │ │ + str r5, [sp, #120] @ 0x78 │ │ │ │ │ + vmul.f64 d6, d0, d3 │ │ │ │ │ + str r1, [sp, #128] @ 0x80 │ │ │ │ │ + vmla.f64 d6, d12, d7 │ │ │ │ │ + vmul.f64 d7, d0, d7 │ │ │ │ │ + vnmls.f64 d7, d12, d3 │ │ │ │ │ + vldr d12, [sp, #160] @ 0xa0 │ │ │ │ │ + vadd.f64 d3, d5, d6 │ │ │ │ │ + vsub.f64 d5, d5, d6 │ │ │ │ │ + vldr d6, [sp, #136] @ 0x88 │ │ │ │ │ + vadd.f64 d0, d4, d7 │ │ │ │ │ + vsub.f64 d15, d4, d7 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - vstr d6, [sp, #456] @ 0x1c8 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - adds r0, r1, r2 │ │ │ │ │ - vmul.f64 d4, d5, d7 │ │ │ │ │ - str r0, [sp, #96] @ 0x60 │ │ │ │ │ - vmla.f64 d4, d14, d6 │ │ │ │ │ - vmul.f64 d6, d5, d6 │ │ │ │ │ + add.w r1, r8, r8, lsl #1 │ │ │ │ │ + mov.w r0, r1, lsl #3 │ │ │ │ │ + vstr d0, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d0, [sp, #144] @ 0x90 │ │ │ │ │ + vstr d3, [sp, #240] @ 0xf0 │ │ │ │ │ + vstr d5, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + add.w r5, r6, r0 │ │ │ │ │ + add r0, r7 │ │ │ │ │ vldr d3, [r0] │ │ │ │ │ - vnmls.f64 d6, d14, d7 │ │ │ │ │ - vldr d14, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - add.w r6, sl, r3 │ │ │ │ │ - mul.w r3, r7, fp │ │ │ │ │ - str r5, [sp, #104] @ 0x68 │ │ │ │ │ - vmul.f64 d5, d14, d3 │ │ │ │ │ - str r6, [sp, #112] @ 0x70 │ │ │ │ │ - vmla.f64 d5, d2, d7 │ │ │ │ │ - vmul.f64 d7, d14, d7 │ │ │ │ │ - add.w r0, r9, r3 │ │ │ │ │ - movs r7, #104 @ 0x68 │ │ │ │ │ - vnmls.f64 d7, d2, d3 │ │ │ │ │ - vadd.f64 d14, d4, d5 │ │ │ │ │ - vsub.f64 d4, d4, d5 │ │ │ │ │ - vadd.f64 d3, d6, d7 │ │ │ │ │ - vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - vstr d14, [sp, #216] @ 0xd8 │ │ │ │ │ - vstr d4, [sp, #272] @ 0x110 │ │ │ │ │ - vldr d14, [sp, #120] @ 0x78 │ │ │ │ │ - vmul.f64 d5, d15, d7 │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ - add.w r5, sl, r3 │ │ │ │ │ - str r0, [sp, #120] @ 0x78 │ │ │ │ │ - mul.w r3, r7, fp │ │ │ │ │ - str r5, [sp, #128] @ 0x80 │ │ │ │ │ - movs r7, #24 │ │ │ │ │ - vmla.f64 d5, d14, d4 │ │ │ │ │ - vmul.f64 d4, d15, d4 │ │ │ │ │ - vstr d3, [sp, #224] @ 0xe0 │ │ │ │ │ - add.w r6, sl, r3 │ │ │ │ │ - vldr d3, [r5] │ │ │ │ │ - add.w r1, r9, r3 │ │ │ │ │ - vstr d6, [sp, #288] @ 0x120 │ │ │ │ │ - mul.w r3, r7, fp │ │ │ │ │ - vnmls.f64 d4, d14, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - vldr d15, [sp, #136] @ 0x88 │ │ │ │ │ - add.w r0, r9, r3 │ │ │ │ │ - vldr d14, [sp, #144] @ 0x90 │ │ │ │ │ - add r3, sl │ │ │ │ │ - vldr d9, [sp, #8] │ │ │ │ │ - vmul.f64 d6, d15, d3 │ │ │ │ │ - str r1, [sp, #136] @ 0x88 │ │ │ │ │ + vmul.f64 d4, d0, d7 │ │ │ │ │ + str r5, [sp, #136] @ 0x88 │ │ │ │ │ + str r0, [sp, #144] @ 0x90 │ │ │ │ │ + mov.w r0, r1, lsl #5 │ │ │ │ │ + vstr d15, [sp, #280] @ 0x118 │ │ │ │ │ + mov.w r1, r1, lsl #4 │ │ │ │ │ + vmla.f64 d4, d6, d5 │ │ │ │ │ + vmul.f64 d5, d0, d5 │ │ │ │ │ + vnmls.f64 d5, d6, d7 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + vmul.f64 d6, d14, d3 │ │ │ │ │ + add.w r5, r6, r0 │ │ │ │ │ + add r0, r7 │ │ │ │ │ + vldr d14, [fp, #-112] @ 0xffffff90 │ │ │ │ │ + str r5, [sp, #156] @ 0x9c │ │ │ │ │ + str r0, [sp, #544] @ 0x220 │ │ │ │ │ vmla.f64 d6, d14, d7 │ │ │ │ │ - vmul.f64 d7, d15, d7 │ │ │ │ │ - str r6, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d14, [fp, #-104] @ 0xffffff98 │ │ │ │ │ + vmul.f64 d7, d14, d7 │ │ │ │ │ + vldr d14, [fp, #-112] @ 0xffffff90 │ │ │ │ │ + vadd.f64 d1, d4, d6 │ │ │ │ │ + vsub.f64 d6, d4, d6 │ │ │ │ │ vnmls.f64 d7, d14, d3 │ │ │ │ │ - vldr d14, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d3, [r0] │ │ │ │ │ - str r3, [sp, #160] @ 0xa0 │ │ │ │ │ - vadd.f64 d15, d5, d6 │ │ │ │ │ - vsub.f64 d6, d5, d6 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - vstr d15, [sp, #232] @ 0xe8 │ │ │ │ │ - vadd.f64 d15, d4, d7 │ │ │ │ │ - vsub.f64 d7, d4, d7 │ │ │ │ │ - vldr d4, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d3, [sp, #216] @ 0xd8 │ │ │ │ │ vstr d6, [sp, #296] @ 0x128 │ │ │ │ │ - str r0, [sp, #152] @ 0x98 │ │ │ │ │ - vstr d15, [sp, #240] @ 0xf0 │ │ │ │ │ - vmul.f64 d15, d9, d3 │ │ │ │ │ - vstr d7, [sp, #280] @ 0x118 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - vmul.f64 d6, d14, d7 │ │ │ │ │ - vmla.f64 d6, d4, d5 │ │ │ │ │ - vmul.f64 d5, d14, d5 │ │ │ │ │ - vldr d14, [sp, #208] @ 0xd0 │ │ │ │ │ - vnmls.f64 d5, d4, d7 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - movs r3, #96 @ 0x60 │ │ │ │ │ - vmul.f64 d7, d9, d4 │ │ │ │ │ - vnmls.f64 d15, d8, d4 │ │ │ │ │ - vmla.f64 d7, d8, d3 │ │ │ │ │ - mul.w r3, r3, fp │ │ │ │ │ - vldr d9, [sp, #16] │ │ │ │ │ - add.w r1, sl, r3 │ │ │ │ │ - add.w r5, r9, r3 │ │ │ │ │ - str r5, [sp, #8] │ │ │ │ │ - str r1, [sp, #576] @ 0x240 │ │ │ │ │ - vadd.f64 d8, d5, d15 │ │ │ │ │ - vsub.f64 d5, d5, d15 │ │ │ │ │ - vadd.f64 d4, d6, d7 │ │ │ │ │ - vsub.f64 d7, d6, d7 │ │ │ │ │ - vldr d15, [sp, #168] @ 0xa8 │ │ │ │ │ vldr d6, [r5] │ │ │ │ │ - mov.w r5, fp, lsl #4 │ │ │ │ │ - add.w r6, r9, r5 │ │ │ │ │ - add r5, sl │ │ │ │ │ - vstr d7, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - mov.w r1, fp, lsl #5 │ │ │ │ │ - vstr d4, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d2, [r5] │ │ │ │ │ - vmul.f64 d4, d15, d7 │ │ │ │ │ - str r6, [sp, #168] @ 0xa8 │ │ │ │ │ - vmla.f64 d4, d14, d6 │ │ │ │ │ - vmul.f64 d6, d15, d6 │ │ │ │ │ - vldr d15, [sp, #176] @ 0xb0 │ │ │ │ │ - vmul.f64 d3, d9, d2 │ │ │ │ │ - vnmls.f64 d6, d14, d7 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - add.w r6, r9, r1 │ │ │ │ │ - add r1, sl │ │ │ │ │ - adds r0, r1, r2 │ │ │ │ │ - adds r3, r6, r2 │ │ │ │ │ - vmla.f64 d3, d15, d7 │ │ │ │ │ - vmul.f64 d7, d9, d7 │ │ │ │ │ - vnmls.f64 d7, d15, d2 │ │ │ │ │ - vsub.f64 d9, d4, d3 │ │ │ │ │ + mov r5, r6 │ │ │ │ │ + vadd.f64 d15, d5, d7 │ │ │ │ │ + vsub.f64 d5, d5, d7 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + add.w r0, r6, r4 │ │ │ │ │ + add r4, r7 │ │ │ │ │ + vldr d2, [r4] │ │ │ │ │ + str r0, [sp, #160] @ 0xa0 │ │ │ │ │ + vmul.f64 d4, d12, d7 │ │ │ │ │ + vmla.f64 d4, d3, d6 │ │ │ │ │ + vmul.f64 d6, d12, d6 │ │ │ │ │ + vnmls.f64 d6, d3, d7 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + mov.w r0, r8, lsl #5 │ │ │ │ │ + vldr d0, [sp, #40] @ 0x28 │ │ │ │ │ + add r5, r0 │ │ │ │ │ + add r0, r7 │ │ │ │ │ + vstr d15, [sp] │ │ │ │ │ + vldr d14, [sp, #24] │ │ │ │ │ + vmul.f64 d3, d0, d2 │ │ │ │ │ + vmla.f64 d3, d14, d7 │ │ │ │ │ + vmul.f64 d7, d0, d7 │ │ │ │ │ + vnmls.f64 d7, d14, d2 │ │ │ │ │ vadd.f64 d2, d4, d3 │ │ │ │ │ - vadd.f64 d14, d6, d7 │ │ │ │ │ - vstr d9, [sp, #176] @ 0xb0 │ │ │ │ │ - vsub.f64 d6, d6, d7 │ │ │ │ │ - vstr d14, [sp, #16] │ │ │ │ │ - vldr d14, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d7, [sp, #184] @ 0xb8 │ │ │ │ │ + vsub.f64 d4, d4, d3 │ │ │ │ │ vldr d3, [sp, #240] @ 0xf0 │ │ │ │ │ - vsub.f64 d9, d14, d7 │ │ │ │ │ - vldr d7, [sp, #232] @ 0xe8 │ │ │ │ │ - vsub.f64 d15, d2, d7 │ │ │ │ │ - vstr d9, [sp, #208] @ 0xd0 │ │ │ │ │ - vadd.f64 d9, d9, d15 │ │ │ │ │ - vstr d15, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d15, [sp, #224] @ 0xe0 │ │ │ │ │ - vstr d9, [sp, #464] @ 0x1d0 │ │ │ │ │ - vsub.f64 d9, d15, d8 │ │ │ │ │ - vadd.f64 d8, d15, d8 │ │ │ │ │ - vldr d15, [sp, #184] @ 0xb8 │ │ │ │ │ - vstr d9, [sp, #224] @ 0xe0 │ │ │ │ │ - vadd.f64 d14, d14, d15 │ │ │ │ │ - vldr d9, [sp, #16] │ │ │ │ │ - vstr d8, [sp, #240] @ 0xf0 │ │ │ │ │ - vsub.f64 d4, d3, d9 │ │ │ │ │ - vldr d9, [sp, #224] @ 0xe0 │ │ │ │ │ - vstr d14, [sp, #256] @ 0x100 │ │ │ │ │ - vstr d4, [sp, #232] @ 0xe8 │ │ │ │ │ - vsub.f64 d4, d4, d9 │ │ │ │ │ - vldr d9, [sp, #16] │ │ │ │ │ - vadd.f64 d9, d3, d9 │ │ │ │ │ - vstr d4, [sp, #472] @ 0x1d8 │ │ │ │ │ - vstr d9, [sp, #248] @ 0xf8 │ │ │ │ │ - vadd.f64 d9, d8, d9 │ │ │ │ │ - vldr d8, [sp, #176] @ 0xb0 │ │ │ │ │ - vstr d9, [sp, #480] @ 0x1e0 │ │ │ │ │ - vadd.f64 d9, d7, d2 │ │ │ │ │ - vldr d7, [sp, #280] @ 0x118 │ │ │ │ │ - vldr d2, [sp, #296] @ 0x128 │ │ │ │ │ - vadd.f64 d14, d14, d9 │ │ │ │ │ - vsub.f64 d8, d8, d7 │ │ │ │ │ - vstr d9, [sp, #264] @ 0x108 │ │ │ │ │ - vsub.f64 d3, d6, d2 │ │ │ │ │ - vldr d9, [sp, #192] @ 0xc0 │ │ │ │ │ - vadd.f64 d6, d2, d6 │ │ │ │ │ - vstr d14, [sp, #488] @ 0x1e8 │ │ │ │ │ - vldr d14, [sp, #272] @ 0x110 │ │ │ │ │ - vstr d8, [sp, #280] @ 0x118 │ │ │ │ │ + vadd.f64 d0, d6, d7 │ │ │ │ │ + vsub.f64 d6, d6, d7 │ │ │ │ │ + vldr d7, [sp, #224] @ 0xe0 │ │ │ │ │ + vsub.f64 d14, d2, d3 │ │ │ │ │ + vsub.f64 d12, d7, d1 │ │ │ │ │ + vadd.f64 d1, d7, d1 │ │ │ │ │ + vstr d12, [sp, #216] @ 0xd8 │ │ │ │ │ + vstr d14, [sp, #224] @ 0xe0 │ │ │ │ │ + vadd.f64 d14, d12, d14 │ │ │ │ │ + vldr d12, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d1, [sp, #256] @ 0x100 │ │ │ │ │ + vstr d14, [sp, #440] @ 0x1b8 │ │ │ │ │ + vsub.f64 d14, d12, d15 │ │ │ │ │ + vldr d15, [sp, #208] @ 0xd0 │ │ │ │ │ + vsub.f64 d15, d15, d0 │ │ │ │ │ + vstr d14, [sp, #232] @ 0xe8 │ │ │ │ │ + vsub.f64 d14, d15, d14 │ │ │ │ │ + vstr d15, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d15, [sp] │ │ │ │ │ + vstr d14, [sp, #448] @ 0x1c0 │ │ │ │ │ + vadd.f64 d12, d12, d15 │ │ │ │ │ + vldr d15, [sp, #208] @ 0xd0 │ │ │ │ │ + vadd.f64 d0, d15, d0 │ │ │ │ │ + vldr d15, [sp, #280] @ 0x118 │ │ │ │ │ + vstr d12, [sp, #208] @ 0xd0 │ │ │ │ │ + vmov.f64 d14, d0 │ │ │ │ │ + vadd.f64 d0, d12, d0 │ │ │ │ │ + vldr d12, [sp, #296] @ 0x128 │ │ │ │ │ + vstr d14, [sp, #248] @ 0xf8 │ │ │ │ │ + vstr d0, [sp, #456] @ 0x1c8 │ │ │ │ │ + vadd.f64 d0, d3, d2 │ │ │ │ │ + vadd.f64 d7, d1, d0 │ │ │ │ │ + vsub.f64 d1, d4, d15 │ │ │ │ │ + vstr d0, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d1, [sp, #280] @ 0x118 │ │ │ │ │ + vstr d7, [sp, #464] @ 0x1d0 │ │ │ │ │ + vldr d7, [sp, #272] @ 0x110 │ │ │ │ │ + vsub.f64 d3, d7, d5 │ │ │ │ │ + vadd.f64 d7, d7, d5 │ │ │ │ │ + vadd.f64 d5, d15, d4 │ │ │ │ │ + vadd.f64 d0, d3, d1 │ │ │ │ │ + vsub.f64 d1, d8, d12 │ │ │ │ │ + vstr d3, [sp, #272] @ 0x110 │ │ │ │ │ + vadd.f64 d8, d8, d12 │ │ │ │ │ + vadd.f64 d4, d7, d5 │ │ │ │ │ + vstr d7, [sp, #304] @ 0x130 │ │ │ │ │ + vstr d0, [sp, #472] @ 0x1d8 │ │ │ │ │ + vldr d0, [sp, #288] @ 0x120 │ │ │ │ │ + vstr d1, [sp, #288] @ 0x120 │ │ │ │ │ + vsub.f64 d3, d6, d0 │ │ │ │ │ + vadd.f64 d6, d0, d6 │ │ │ │ │ + vadd.f64 d14, d1, d3 │ │ │ │ │ + vmov.f64 d7, d6 │ │ │ │ │ vstr d3, [sp, #296] @ 0x128 │ │ │ │ │ - vsub.f64 d4, d14, d5 │ │ │ │ │ - vadd.f64 d5, d14, d5 │ │ │ │ │ - vadd.f64 d15, d4, d8 │ │ │ │ │ - vstr d4, [sp, #272] @ 0x110 │ │ │ │ │ - vstr d15, [sp, #496] @ 0x1f0 │ │ │ │ │ - vldr d15, [sp, #288] @ 0x120 │ │ │ │ │ - vsub.f64 d4, d15, d9 │ │ │ │ │ - vadd.f64 d9, d4, d3 │ │ │ │ │ - vstr d4, [sp, #288] @ 0x120 │ │ │ │ │ - vstr d9, [sp, #504] @ 0x1f8 │ │ │ │ │ - vldr d8, [sp, #176] @ 0xb0 │ │ │ │ │ - vstr d6, [sp, #328] @ 0x148 │ │ │ │ │ - vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ - vadd.f64 d7, d7, d8 │ │ │ │ │ - vldr d3, [sp, #32] │ │ │ │ │ - vstr d5, [sp, #304] @ 0x130 │ │ │ │ │ - vldr d8, [sp, #384] @ 0x180 │ │ │ │ │ - str r0, [sp, #32] │ │ │ │ │ - vadd.f64 d14, d5, d7 │ │ │ │ │ - vstr d7, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d7, [sp, #192] @ 0xc0 │ │ │ │ │ - str r3, [sp, #16] │ │ │ │ │ - vstr d14, [sp, #512] @ 0x200 │ │ │ │ │ - vadd.f64 d14, d15, d7 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - vadd.f64 d6, d14, d6 │ │ │ │ │ - vstr d14, [sp, #320] @ 0x140 │ │ │ │ │ - vstr d6, [sp, #520] @ 0x208 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - vmul.f64 d5, d2, d6 │ │ │ │ │ - vmla.f64 d5, d3, d7 │ │ │ │ │ + vadd.f64 d6, d8, d6 │ │ │ │ │ + vstr d14, [sp, #480] @ 0x1e0 │ │ │ │ │ + vstr d5, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d5, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d6, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + str r6, [sp, #0] │ │ │ │ │ + add.w r6, r5, r2 │ │ │ │ │ + vldr d2, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d7, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + vstr d4, [sp, #488] @ 0x1e8 │ │ │ │ │ + str r6, [sp, #24] │ │ │ │ │ + vstr d8, [sp, #320] @ 0x140 │ │ │ │ │ + vmul.f64 d4, d2, d6 │ │ │ │ │ + vldr d1, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d15, [sp, #336] @ 0x150 │ │ │ │ │ + vmla.f64 d4, d5, d7 │ │ │ │ │ vmul.f64 d7, d2, d7 │ │ │ │ │ - vldr d2, [sp, #336] @ 0x150 │ │ │ │ │ - vnmls.f64 d7, d3, d6 │ │ │ │ │ - vldr d3, [r0] │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - mov.w r0, fp, lsl #3 │ │ │ │ │ - add.w lr, r9, r0 │ │ │ │ │ - add r0, sl │ │ │ │ │ - vmul.f64 d4, d8, d3 │ │ │ │ │ - add.w r3, lr, r2 │ │ │ │ │ - vmla.f64 d4, d2, d6 │ │ │ │ │ - vmul.f64 d6, d8, d6 │ │ │ │ │ + vldr d2, [sp, #352] @ 0x160 │ │ │ │ │ + vnmls.f64 d7, d5, d6 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + add.w r6, r0, r2 │ │ │ │ │ + vldr d3, [r6] │ │ │ │ │ + str r6, [sp, #40] @ 0x28 │ │ │ │ │ + ldr r6, [sp, #0] │ │ │ │ │ + vmul.f64 d5, d1, d3 │ │ │ │ │ + add.w lr, r6, r3 │ │ │ │ │ + add r3, r8 │ │ │ │ │ + add.w r6, lr, r2 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + vmla.f64 d5, d2, d6 │ │ │ │ │ + vmul.f64 d6, d1, d6 │ │ │ │ │ + vldr d1, [sp, #344] @ 0x158 │ │ │ │ │ vnmls.f64 d6, d2, d3 │ │ │ │ │ - vldr d3, [sp] │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ - vadd.f64 d2, d5, d4 │ │ │ │ │ - vsub.f64 d15, d5, d4 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - adds r3, r0, r2 │ │ │ │ │ - str r3, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d2, [sp, #384] @ 0x180 │ │ │ │ │ - vadd.f64 d2, d7, d6 │ │ │ │ │ + vadd.f64 d2, d4, d5 │ │ │ │ │ + vsub.f64 d4, d4, d5 │ │ │ │ │ + vldr d5, [r9] │ │ │ │ │ + vadd.f64 d8, d7, d6 │ │ │ │ │ vsub.f64 d6, d7, d6 │ │ │ │ │ vldr d7, [lr] │ │ │ │ │ - vstr d15, [sp, #400] @ 0x190 │ │ │ │ │ - vldr d15, [sp, #368] @ 0x170 │ │ │ │ │ - vstr d2, [sp, #336] @ 0x150 │ │ │ │ │ - vstr d6, [sp, #528] @ 0x210 │ │ │ │ │ - vmul.f64 d6, d3, d5 │ │ │ │ │ - vmla.f64 d6, d12, d7 │ │ │ │ │ - vmul.f64 d7, d3, d7 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - movs r3, #72 @ 0x48 │ │ │ │ │ - vnmls.f64 d7, d12, d5 │ │ │ │ │ - vldr d12, [sp, #360] @ 0x168 │ │ │ │ │ - mul.w r3, r3, fp │ │ │ │ │ - vmul.f64 d5, d12, d3 │ │ │ │ │ - add.w ip, r9, r3 │ │ │ │ │ - vmla.f64 d5, d15, d4 │ │ │ │ │ - vmul.f64 d4, d12, d4 │ │ │ │ │ - add r3, sl │ │ │ │ │ - add.w r7, ip, r2 │ │ │ │ │ - adds r2, r3, r2 │ │ │ │ │ - vnmls.f64 d4, d15, d3 │ │ │ │ │ - vadd.f64 d14, d6, d5 │ │ │ │ │ + vstr d2, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d2, [sp, #8] │ │ │ │ │ + str r6, [sp, #8] │ │ │ │ │ + vstr d8, [sp, #504] @ 0x1f8 │ │ │ │ │ + vldr d8, [sp, #16] │ │ │ │ │ + vstr d4, [sp, #512] @ 0x200 │ │ │ │ │ + vstr d6, [sp, #520] @ 0x208 │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ + add.w r6, r9, r2 │ │ │ │ │ + vldr d3, [r6] │ │ │ │ │ + vmul.f64 d6, d8, d5 │ │ │ │ │ + str r6, [sp, #16] │ │ │ │ │ + vmla.f64 d6, d2, d7 │ │ │ │ │ + vmul.f64 d7, d8, d7 │ │ │ │ │ + vnmls.f64 d7, d2, d5 │ │ │ │ │ + vmul.f64 d5, d15, d3 │ │ │ │ │ + vmla.f64 d5, d1, d4 │ │ │ │ │ + vmul.f64 d4, d15, d4 │ │ │ │ │ + vnmls.f64 d4, d1, d3 │ │ │ │ │ + vadd.f64 d0, d6, d5 │ │ │ │ │ vsub.f64 d6, d5, d6 │ │ │ │ │ - vadd.f64 d12, d7, d4 │ │ │ │ │ vsub.f64 d15, d7, d4 │ │ │ │ │ - vstr d6, [sp, #536] @ 0x218 │ │ │ │ │ - vldr d4, [ip] │ │ │ │ │ + vadd.f64 d12, d7, d4 │ │ │ │ │ + vstr d0, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d6, [sp, #528] @ 0x210 │ │ │ │ │ + ldr r6, [sp, #0] │ │ │ │ │ + vldr d5, [fp, #-88] @ 0xffffffa8 │ │ │ │ │ + vldr d6, [fp, #-88] @ 0xffffffa8 │ │ │ │ │ + add.w ip, r6, r3 │ │ │ │ │ + add r3, r7 │ │ │ │ │ + vldr d3, [sp, #32] │ │ │ │ │ + add.w r6, ip, r2 │ │ │ │ │ + add r2, r3 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - vldr d2, [sp, #24] │ │ │ │ │ + str r6, [sp, #32] │ │ │ │ │ + vldr d4, [ip] │ │ │ │ │ + str r2, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d14, [sp, #360] @ 0x168 │ │ │ │ │ + vmul.f64 d5, d5, d7 │ │ │ │ │ + vmla.f64 d5, d3, d4 │ │ │ │ │ + vmul.f64 d4, d6, d4 │ │ │ │ │ + vnmls.f64 d4, d3, d7 │ │ │ │ │ vldr d3, [r2] │ │ │ │ │ - vmul.f64 d5, d10, d7 │ │ │ │ │ - str r2, [sp, #176] @ 0xb0 │ │ │ │ │ - vmla.f64 d5, d2, d4 │ │ │ │ │ - vmul.f64 d4, d10, d4 │ │ │ │ │ - vmul.f64 d6, d0, d3 │ │ │ │ │ - mov.w r2, fp, lsl #7 │ │ │ │ │ - str r7, [sp, #24] │ │ │ │ │ - vnmls.f64 d4, d2, d7 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - add.w r7, r9, r2 │ │ │ │ │ - add r2, sl │ │ │ │ │ - str r2, [sp, #192] @ 0xc0 │ │ │ │ │ - vmla.f64 d6, d1, d7 │ │ │ │ │ - vmul.f64 d7, d0, d7 │ │ │ │ │ - str r7, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d0, [sp, #352] @ 0x160 │ │ │ │ │ - vldr d2, [sp, #344] @ 0x158 │ │ │ │ │ - vnmls.f64 d7, d1, d3 │ │ │ │ │ + mov.w r2, r8, lsl #7 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + ldr r6, [sp, #0] │ │ │ │ │ + vmul.f64 d6, d10, d3 │ │ │ │ │ + add r6, r2 │ │ │ │ │ + add r2, r7 │ │ │ │ │ + vmla.f64 d6, d9, d7 │ │ │ │ │ + vmul.f64 d7, d10, d7 │ │ │ │ │ + str r6, [sp, #176] @ 0xb0 │ │ │ │ │ + vnmls.f64 d7, d9, d3 │ │ │ │ │ vldr d3, [sp, #392] @ 0x188 │ │ │ │ │ vadd.f64 d1, d5, d6 │ │ │ │ │ vsub.f64 d10, d5, d6 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ vldr d5, [sp, #376] @ 0x178 │ │ │ │ │ - movs r2, #48 @ 0x30 │ │ │ │ │ vadd.f64 d8, d4, d7 │ │ │ │ │ - vsub.f64 d9, d4, d7 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ + vsub.f64 d2, d4, d7 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + ldr r6, [sp, #0] │ │ │ │ │ vmul.f64 d4, d5, d6 │ │ │ │ │ - mul.w r2, r2, fp │ │ │ │ │ - vstr d1, [sp, #344] @ 0x158 │ │ │ │ │ + vstr d2, [sp, #344] @ 0x158 │ │ │ │ │ + add r6, r1 │ │ │ │ │ + add r1, r7 │ │ │ │ │ + vldr d2, [sp, #368] @ 0x170 │ │ │ │ │ vmla.f64 d4, d3, d7 │ │ │ │ │ vmul.f64 d7, d5, d7 │ │ │ │ │ - add.w r7, r9, r2 │ │ │ │ │ - add r2, sl │ │ │ │ │ + vstr d10, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d5, [r6] │ │ │ │ │ + vldr d10, [sp, #504] @ 0x1f8 │ │ │ │ │ vnmls.f64 d7, d3, d6 │ │ │ │ │ - vldr d3, [r2] │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ - vmul.f64 d6, d0, d3 │ │ │ │ │ - vmla.f64 d6, d2, d5 │ │ │ │ │ - vmul.f64 d5, d0, d5 │ │ │ │ │ - vnmls.f64 d5, d2, d3 │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ + vmul.f64 d6, d2, d3 │ │ │ │ │ + vmla.f64 d6, d14, d5 │ │ │ │ │ + vmul.f64 d5, d2, d5 │ │ │ │ │ + vnmls.f64 d5, d14, d3 │ │ │ │ │ + vldr d14, [sp, #384] @ 0x180 │ │ │ │ │ + vsub.f64 d3, d10, d8 │ │ │ │ │ + vadd.f64 d8, d10, d8 │ │ │ │ │ vadd.f64 d2, d4, d6 │ │ │ │ │ vsub.f64 d6, d4, d6 │ │ │ │ │ - vldr d4, [sp, #384] @ 0x180 │ │ │ │ │ - vsub.f64 d3, d2, d14 │ │ │ │ │ - vsub.f64 d1, d4, d1 │ │ │ │ │ + vsub.f64 d9, d14, d1 │ │ │ │ │ + vadd.f64 d1, d14, d1 │ │ │ │ │ + vstr d8, [sp, #376] @ 0x178 │ │ │ │ │ vadd.f64 d0, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vadd.f64 d14, d14, d2 │ │ │ │ │ - vsub.f64 d2, d6, d15 │ │ │ │ │ - vadd.f64 d15, d15, d6 │ │ │ │ │ - vadd.f64 d5, d1, d3 │ │ │ │ │ - vstr d3, [sp, #360] @ 0x168 │ │ │ │ │ - vldr d3, [sp, #336] @ 0x150 │ │ │ │ │ - vstr d1, [sp, #352] @ 0x160 │ │ │ │ │ - vsub.f64 d1, d0, d12 │ │ │ │ │ + vmov.f64 d5, d9 │ │ │ │ │ + vldr d9, [sp, #336] @ 0x150 │ │ │ │ │ + vsub.f64 d4, d0, d12 │ │ │ │ │ vadd.f64 d12, d12, d0 │ │ │ │ │ - vsub.f64 d3, d3, d8 │ │ │ │ │ - vstr d1, [sp, #368] @ 0x170 │ │ │ │ │ - vadd.f64 d1, d3, d1 │ │ │ │ │ - vstr d1, [sp, #544] @ 0x220 │ │ │ │ │ - vldr d1, [sp, #336] @ 0x150 │ │ │ │ │ - vadd.f64 d1, d1, d8 │ │ │ │ │ - vldr d8, [sp, #344] @ 0x158 │ │ │ │ │ - vadd.f64 d0, d1, d12 │ │ │ │ │ - vstr d1, [sp, #336] @ 0x150 │ │ │ │ │ - vstr d0, [sp, #552] @ 0x228 │ │ │ │ │ - vadd.f64 d0, d4, d8 │ │ │ │ │ - vadd.f64 d1, d0, d14 │ │ │ │ │ - vstr d0, [sp, #344] @ 0x158 │ │ │ │ │ - vstr d1, [sp, #560] @ 0x230 │ │ │ │ │ - vldr d1, [sp, #400] @ 0x190 │ │ │ │ │ - vsub.f64 d0, d1, d9 │ │ │ │ │ - vadd.f64 d9, d1, d9 │ │ │ │ │ - vstr d0, [sp, #376] @ 0x178 │ │ │ │ │ - vadd.f64 d0, d0, d2 │ │ │ │ │ - vstr d2, [sp, #384] @ 0x180 │ │ │ │ │ - vadd.f64 d6, d9, d15 │ │ │ │ │ - vldr d8, [sp, #536] @ 0x218 │ │ │ │ │ - vsub.f64 d15, d9, d15 │ │ │ │ │ - vstr d0, [sp, #568] @ 0x238 │ │ │ │ │ - vldr d0, [sp, #528] @ 0x210 │ │ │ │ │ - vsub.f64 d1, d8, d7 │ │ │ │ │ - vsub.f64 d2, d0, d10 │ │ │ │ │ - vadd.f64 d10, d0, d10 │ │ │ │ │ - vstr d1, [sp, #400] @ 0x190 │ │ │ │ │ - vldr d0, [pc, #956] @ c20 │ │ │ │ │ - vmov.f64 d4, d2 │ │ │ │ │ - vadd.f64 d2, d8, d7 │ │ │ │ │ - vsub.f64 d7, d1, d10 │ │ │ │ │ - vldr d1, [sp, #464] @ 0x1d0 │ │ │ │ │ - vsub.f64 d8, d5, d1 │ │ │ │ │ - vadd.f64 d5, d1, d5 │ │ │ │ │ - vmov.f64 d1, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vstr d7, [sp, #536] @ 0x218 │ │ │ │ │ - vldr d7, [sp, #200] @ 0xc8 │ │ │ │ │ - vstr d4, [sp, #392] @ 0x188 │ │ │ │ │ - vadd.f64 d4, d4, d2 │ │ │ │ │ - vmls.f64 d7, d5, d1 │ │ │ │ │ - vmul.f64 d8, d8, d0 │ │ │ │ │ - vstr d4, [sp, #528] @ 0x210 │ │ │ │ │ - vldr d4, [sp, #232] @ 0xe8 │ │ │ │ │ - vmov.f64 d0, d7 │ │ │ │ │ - vldr d7, [sp, #224] @ 0xe0 │ │ │ │ │ - vadd.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [sp, #368] @ 0x170 │ │ │ │ │ + vstr d5, [sp, #360] @ 0x168 │ │ │ │ │ + vsub.f64 d0, d6, d15 │ │ │ │ │ + vadd.f64 d6, d15, d6 │ │ │ │ │ + vsub.f64 d9, d2, d9 │ │ │ │ │ + vadd.f64 d5, d5, d9 │ │ │ │ │ + vstr d9, [sp, #368] @ 0x170 │ │ │ │ │ + vadd.f64 d9, d3, d4 │ │ │ │ │ vsub.f64 d4, d3, d4 │ │ │ │ │ + vstr d9, [sp, #504] @ 0x1f8 │ │ │ │ │ + vadd.f64 d9, d8, d12 │ │ │ │ │ vmul.f64 d3, d4, d11 │ │ │ │ │ + vstr d9, [sp, #536] @ 0x218 │ │ │ │ │ + vldr d9, [sp, #336] @ 0x150 │ │ │ │ │ + vadd.f64 d14, d9, d2 │ │ │ │ │ + vldr d9, [sp, #512] @ 0x200 │ │ │ │ │ + vstr d0, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d15, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d2, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d10, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d8, [sp, #520] @ 0x208 │ │ │ │ │ + vsub.f64 d2, d9, d2 │ │ │ │ │ + vstr d2, [sp, #336] @ 0x150 │ │ │ │ │ + vadd.f64 d2, d2, d0 │ │ │ │ │ + vldr d0, [sp, #528] @ 0x210 │ │ │ │ │ + vstr d2, [sp, #512] @ 0x200 │ │ │ │ │ + vsub.f64 d2, d8, d10 │ │ │ │ │ + vmov.f64 d10, d2 │ │ │ │ │ + vadd.f64 d2, d0, d7 │ │ │ │ │ + vstr d10, [sp, #392] @ 0x188 │ │ │ │ │ + vadd.f64 d10, d10, d2 │ │ │ │ │ + vstr d10, [sp, #520] @ 0x208 │ │ │ │ │ + vldr d10, [sp, #344] @ 0x158 │ │ │ │ │ + vstr d6, [sp, #344] @ 0x158 │ │ │ │ │ + vadd.f64 d9, d9, d10 │ │ │ │ │ + vldr d10, [sp, #352] @ 0x160 │ │ │ │ │ + vadd.f64 d10, d8, d10 │ │ │ │ │ + vsub.f64 d8, d0, d7 │ │ │ │ │ + vldr d0, [pc, #960] @ c68 │ │ │ │ │ + vadd.f64 d6, d9, d6 │ │ │ │ │ + vsub.f64 d7, d8, d10 │ │ │ │ │ + vstr d8, [sp, #352] @ 0x160 │ │ │ │ │ + vstr d7, [sp, #528] @ 0x210 │ │ │ │ │ + vldr d7, [sp, #440] @ 0x1b8 │ │ │ │ │ + vsub.f64 d8, d5, d7 │ │ │ │ │ + vadd.f64 d5, d7, d5 │ │ │ │ │ + vmov.f64 d7, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vmul.f64 d8, d8, d0 │ │ │ │ │ + vldr d0, [sp, #184] @ 0xb8 │ │ │ │ │ + vmls.f64 d0, d5, d7 │ │ │ │ │ + vldr d7, [sp, #232] @ 0xe8 │ │ │ │ │ + vadd.f64 d7, d7, d15 │ │ │ │ │ + vldr d15, [sp, #392] @ 0x188 │ │ │ │ │ vnmls.f64 d3, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ + vsub.f64 d2, d15, d2 │ │ │ │ │ + vldr d15, [sp, #296] @ 0x128 │ │ │ │ │ vmla.f64 d7, d4, d13 │ │ │ │ │ - vldr d4, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d4, [sp, #184] @ 0xb8 │ │ │ │ │ vadd.f64 d5, d4, d5 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ vadd.f64 d5, d8, d0 │ │ │ │ │ vsub.f64 d0, d0, d8 │ │ │ │ │ - vldr d8, [sp, #440] @ 0x1b8 │ │ │ │ │ - ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r3, [sp, #68] @ 0x44 │ │ │ │ │ + vmov.f64 d8, #80 @ 0x3e800000 0.250 │ │ │ │ │ vsub.f64 d4, d5, d7 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [sp, #512] @ 0x200 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - vmov.f64 d4, d8 │ │ │ │ │ - vstr d7, [r7] │ │ │ │ │ + vldr d5, [sp, #200] @ 0xc8 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ vsub.f64 d7, d0, d3 │ │ │ │ │ - ldr r4, [sp, #168] @ 0xa8 │ │ │ │ │ vadd.f64 d3, d3, d0 │ │ │ │ │ - vldr d0, [pc, #796] @ c20 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ - vsub.f64 d7, d6, d5 │ │ │ │ │ - vadd.f64 d6, d5, d6 │ │ │ │ │ - vstr d3, [r0] │ │ │ │ │ - vldr d3, [sp, #296] @ 0x128 │ │ │ │ │ - vmul.f64 d7, d7, d0 │ │ │ │ │ - vmls.f64 d4, d6, d1 │ │ │ │ │ - vadd.f64 d6, d8, d6 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - vmov.f64 d5, d4 │ │ │ │ │ - vldr d4, [sp, #392] @ 0x188 │ │ │ │ │ - vsub.f64 d2, d4, d2 │ │ │ │ │ + vldr d4, [sp, #488] @ 0x1e8 │ │ │ │ │ + ldr r3, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d0, [pc, #820] @ c68 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + vsub.f64 d7, d6, d4 │ │ │ │ │ + vadd.f64 d6, d4, d6 │ │ │ │ │ vldr d4, [sp, #288] @ 0x120 │ │ │ │ │ - vsub.f64 d6, d5, d7 │ │ │ │ │ - vadd.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [sp, #488] @ 0x1e8 │ │ │ │ │ - vsub.f64 d3, d4, d3 │ │ │ │ │ + vstr d3, [r9] │ │ │ │ │ + vmls.f64 d5, d6, d8 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ + vsub.f64 d3, d4, d15 │ │ │ │ │ vmul.f64 d4, d3, d11 │ │ │ │ │ vmla.f64 d4, d2, d13 │ │ │ │ │ vmul.f64 d2, d2, d11 │ │ │ │ │ vnmls.f64 d2, d3, d13 │ │ │ │ │ + vldr d3, [sp, #200] @ 0xc8 │ │ │ │ │ + ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d15, [sp, #464] @ 0x1d0 │ │ │ │ │ + vadd.f64 d6, d3, d6 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + vsub.f64 d6, d5, d7 │ │ │ │ │ + vadd.f64 d7, d7, d5 │ │ │ │ │ + ldr r3, [sp, #0] │ │ │ │ │ + vldr d5, [sp, #192] @ 0xc0 │ │ │ │ │ vsub.f64 d3, d6, d2 │ │ │ │ │ vadd.f64 d2, d2, d6 │ │ │ │ │ vadd.f64 d6, d4, d7 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [sp, #560] @ 0x230 │ │ │ │ │ - vstr d3, [r5] │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ + vadd.f64 d4, d1, d14 │ │ │ │ │ + vstr d3, [r4] │ │ │ │ │ + vstr d2, [r1] │ │ │ │ │ vstr d6, [lr] │ │ │ │ │ - vsub.f64 d6, d4, d5 │ │ │ │ │ + vsub.f64 d6, d4, d15 │ │ │ │ │ + vadd.f64 d4, d15, d4 │ │ │ │ │ vstr d7, [ip] │ │ │ │ │ - vadd.f64 d4, d5, d4 │ │ │ │ │ - vldr d8, [sp, #408] @ 0x198 │ │ │ │ │ - vldr d7, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d2, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d15, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d3, [sp, #248] @ 0xf8 │ │ │ │ │ + vmls.f64 d5, d4, d8 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ - vmov.f64 d5, d8 │ │ │ │ │ - ldr r4, [sp, #128] @ 0x80 │ │ │ │ │ - vsub.f64 d7, d7, d12 │ │ │ │ │ - vldr d12, [sp, #240] @ 0xf0 │ │ │ │ │ - vmls.f64 d5, d4, d1 │ │ │ │ │ - vadd.f64 d4, d8, d4 │ │ │ │ │ - ldr r0, [sp, #72] @ 0x48 │ │ │ │ │ - vsub.f64 d2, d12, d2 │ │ │ │ │ - vldr d12, [sp, #496] @ 0x1f0 │ │ │ │ │ - vldr d8, [sp, #432] @ 0x1b0 │ │ │ │ │ - vstr d4, [r9] │ │ │ │ │ - ldr r7, [sp, #160] @ 0xa0 │ │ │ │ │ + ldr r4, [sp, #80] @ 0x50 │ │ │ │ │ + vsub.f64 d7, d15, d12 │ │ │ │ │ + vldr d15, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d12, [sp, #416] @ 0x1a0 │ │ │ │ │ + vsub.f64 d2, d15, d3 │ │ │ │ │ + vldr d15, [sp, #472] @ 0x1d8 │ │ │ │ │ vmul.f64 d3, d2, d11 │ │ │ │ │ - ldr r2, [sp, #120] @ 0x78 │ │ │ │ │ vmla.f64 d3, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ + vnmls.f64 d7, d2, d13 │ │ │ │ │ + vldr d2, [sp, #192] @ 0xc0 │ │ │ │ │ + vadd.f64 d4, d2, d4 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ vsub.f64 d4, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vnmls.f64 d7, d2, d13 │ │ │ │ │ + ldr r3, [sp, #152] @ 0x98 │ │ │ │ │ + vmov.f64 d5, d12 │ │ │ │ │ vsub.f64 d2, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ + vldr d4, [sp, #512] @ 0x200 │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ vsub.f64 d7, d6, d3 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ - vldr d6, [sp, #568] @ 0x238 │ │ │ │ │ - vldr d2, [sp, #320] @ 0x140 │ │ │ │ │ - ldr r4, [sp, #152] @ 0x98 │ │ │ │ │ - vadd.f64 d4, d12, d6 │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ - vsub.f64 d7, d6, d12 │ │ │ │ │ - vmov.f64 d6, d8 │ │ │ │ │ - vldr d12, [sp, #400] @ 0x190 │ │ │ │ │ - vstr d3, [r7] │ │ │ │ │ - vmls.f64 d6, d4, d1 │ │ │ │ │ - vadd.f64 d4, d8, d4 │ │ │ │ │ + ldr r4, [sp, #144] @ 0x90 │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ + vsub.f64 d7, d4, d15 │ │ │ │ │ + vadd.f64 d4, d15, d4 │ │ │ │ │ + vldr d15, [sp, #352] @ 0x160 │ │ │ │ │ + vstr d3, [r4] │ │ │ │ │ + ldr r4, [sp, #136] @ 0x88 │ │ │ │ │ + vmls.f64 d5, d4, d8 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ - vldr d8, [sp, #448] @ 0x1c0 │ │ │ │ │ - vstr d4, [r1] │ │ │ │ │ - ldr r1, [sp, #80] @ 0x50 │ │ │ │ │ - vmov.f64 d5, d6 │ │ │ │ │ - vadd.f64 d6, d10, d12 │ │ │ │ │ - vldr d12, [sp, #328] @ 0x148 │ │ │ │ │ - vsub.f64 d2, d2, d12 │ │ │ │ │ + vadd.f64 d6, d10, d15 │ │ │ │ │ + vldr d15, [sp, #320] @ 0x140 │ │ │ │ │ + vadd.f64 d4, d12, d4 │ │ │ │ │ + vldr d10, [sp, #328] @ 0x148 │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ + vsub.f64 d2, d15, d10 │ │ │ │ │ vsub.f64 d4, d5, d7 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vldr d12, [sp, #360] @ 0x168 │ │ │ │ │ vmul.f64 d3, d2, d11 │ │ │ │ │ vmla.f64 d3, d6, d13 │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ vnmls.f64 d6, d2, d13 │ │ │ │ │ vadd.f64 d2, d6, d4 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vsub.f64 d6, d7, d3 │ │ │ │ │ vadd.f64 d3, d3, d7 │ │ │ │ │ - vldr d7, [sp, #208] @ 0xd0 │ │ │ │ │ vstr d2, [r4] │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - vldr d2, [sp, #544] @ 0x220 │ │ │ │ │ - vldr d4, [sp, #472] @ 0x1d8 │ │ │ │ │ - vstr d6, [sl] │ │ │ │ │ - vstr d3, [r1] │ │ │ │ │ - vsub.f64 d5, d4, d2 │ │ │ │ │ - vadd.f64 d6, d4, d2 │ │ │ │ │ - vldr d2, [sp, #352] @ 0x160 │ │ │ │ │ - vmov.f64 d4, d8 │ │ │ │ │ - vldr d3, [sp, #216] @ 0xd8 │ │ │ │ │ - ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ - vmla.f64 d4, d5, d1 │ │ │ │ │ - vsub.f64 d2, d12, d2 │ │ │ │ │ - vsub.f64 d7, d7, d3 │ │ │ │ │ + ldr r4, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ + vldr d5, [sp, #448] @ 0x1c0 │ │ │ │ │ + vstr d3, [sl] │ │ │ │ │ + vldr d15, [sp, #504] @ 0x1f8 │ │ │ │ │ + vldr d12, [sp, #216] @ 0xd8 │ │ │ │ │ + vldr d7, [sp, #368] @ 0x170 │ │ │ │ │ + vldr d3, [sp, #224] @ 0xe0 │ │ │ │ │ + vadd.f64 d6, d5, d15 │ │ │ │ │ + vsub.f64 d5, d5, d15 │ │ │ │ │ + ldr r6, [sp, #24] │ │ │ │ │ + vldr d15, [sp, #360] @ 0x168 │ │ │ │ │ + vldr d10, [sp, #424] @ 0x1a8 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ - vsub.f64 d5, d5, d8 │ │ │ │ │ - ldr r6, [sp, #88] @ 0x58 │ │ │ │ │ - ldr r2, [sp, #16] │ │ │ │ │ - vldr d10, [sp, #504] @ 0x1f8 │ │ │ │ │ + ldr r1, [sp, #52] @ 0x34 │ │ │ │ │ + vsub.f64 d2, d7, d15 │ │ │ │ │ + vsub.f64 d7, d12, d3 │ │ │ │ │ + ldr r3, [sp, #88] @ 0x58 │ │ │ │ │ + vmov.f64 d4, d10 │ │ │ │ │ + ldr r0, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d15, [sp, #520] @ 0x208 │ │ │ │ │ + vmla.f64 d4, d5, d8 │ │ │ │ │ vmul.f64 d3, d7, d11 │ │ │ │ │ + vldr d12, [sp, #312] @ 0x138 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ + vsub.f64 d5, d5, d10 │ │ │ │ │ + vldr d10, [sp, #304] @ 0x130 │ │ │ │ │ + vnmls.f64 d3, d2, d13 │ │ │ │ │ vmla.f64 d7, d2, d11 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - vldr d12, [sp, #312] @ 0x138 │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ vsub.f64 d5, d4, d6 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vnmls.f64 d3, d2, d13 │ │ │ │ │ - ldr r1, [sp, #52] @ 0x34 │ │ │ │ │ - ldr r3, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d8, [sp, #456] @ 0x1c8 │ │ │ │ │ - vldr d9, [sp, #264] @ 0x108 │ │ │ │ │ vsub.f64 d2, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vstr d2, [r6] │ │ │ │ │ - ldr r6, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d2, [sp, #416] @ 0x1a0 │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ + vldr d5, [sp, #480] @ 0x1e0 │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + vadd.f64 d4, d5, d15 │ │ │ │ │ + ldr r3, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d2, [sp, #400] @ 0x190 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d3, d6 │ │ │ │ │ - ldr r6, [sp, #144] @ 0x90 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ - vmov.f64 d5, d2 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - vstr d3, [r6] │ │ │ │ │ - vldr d3, [sp, #528] @ 0x210 │ │ │ │ │ - ldr r2, [sp, #32] │ │ │ │ │ - vadd.f64 d4, d10, d3 │ │ │ │ │ - vsub.f64 d7, d3, d10 │ │ │ │ │ - vldr d10, [sp, #304] @ 0x130 │ │ │ │ │ - vmul.f64 d3, d15, d11 │ │ │ │ │ + ldr r3, [sp, #128] @ 0x80 │ │ │ │ │ vsub.f64 d6, d10, d12 │ │ │ │ │ - vmls.f64 d5, d4, d1 │ │ │ │ │ - vmul.f64 d7, d7, d0 │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ + vsub.f64 d7, d15, d5 │ │ │ │ │ + vmov.f64 d5, d2 │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ + ldr r6, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d3, [sp, #344] @ 0x158 │ │ │ │ │ + vmls.f64 d5, d4, d8 │ │ │ │ │ vadd.f64 d4, d2, d4 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ + ldr r3, [sp, #92] @ 0x5c │ │ │ │ │ + vsub.f64 d15, d9, d3 │ │ │ │ │ + vstr d4, [r6] │ │ │ │ │ + vadd.f64 d4, d7, d5 │ │ │ │ │ + vsub.f64 d7, d7, d5 │ │ │ │ │ + vmul.f64 d3, d15, d11 │ │ │ │ │ vnmls.f64 d3, d6, d13 │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ vmla.f64 d6, d15, d13 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - vadd.f64 d4, d7, d5 │ │ │ │ │ - vsub.f64 d7, d7, d5 │ │ │ │ │ vadd.f64 d2, d6, d4 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vadd.f64 d6, d3, d7 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vstr d2, [r1] │ │ │ │ │ + vsub.f64 d3, d1, d14 │ │ │ │ │ + vstr d2, [r0] │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ - ldr r1, [sp, #136] @ 0x88 │ │ │ │ │ - ldr r3, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d2, [sp, #552] @ 0x228 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ - vmov.f64 d6, d8 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - vldr d7, [sp, #480] @ 0x1e0 │ │ │ │ │ - vadd.f64 d4, d7, d2 │ │ │ │ │ - vsub.f64 d5, d2, d7 │ │ │ │ │ - vldr d7, [sp, #344] @ 0x158 │ │ │ │ │ - vsub.f64 d2, d7, d14 │ │ │ │ │ - vldr d14, [sp, #256] @ 0x100 │ │ │ │ │ - vmls.f64 d6, d4, d1 │ │ │ │ │ - ldr r4, [sp, #176] @ 0xb0 │ │ │ │ │ - vmul.f64 d5, d5, d0 │ │ │ │ │ - vadd.f64 d4, d8, d4 │ │ │ │ │ - vsub.f64 d7, d14, d9 │ │ │ │ │ - ldr r5, [sp, #68] @ 0x44 │ │ │ │ │ - vldr d9, [sp, #536] @ 0x218 │ │ │ │ │ - ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - vmul.f64 d3, d7, d13 │ │ │ │ │ - vmul.f64 d7, d7, d11 │ │ │ │ │ - vmla.f64 d7, d2, d13 │ │ │ │ │ - ldr r4, [sp, #184] @ 0xb8 │ │ │ │ │ - vadd.f64 d4, d5, d6 │ │ │ │ │ - vsub.f64 d6, d6, d5 │ │ │ │ │ - vldr d8, [sp, #280] @ 0x118 │ │ │ │ │ - vnmls.f64 d3, d2, d11 │ │ │ │ │ - ldr r0, [sp, #64] @ 0x40 │ │ │ │ │ - ldr r1, [sp, #576] @ 0x240 │ │ │ │ │ - ldr r3, [sp, #0] │ │ │ │ │ - ldr r7, [sp, #24] │ │ │ │ │ - vsub.f64 d2, d7, d4 │ │ │ │ │ - vadd.f64 d7, d7, d4 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ - vsub.f64 d7, d3, d6 │ │ │ │ │ - ldr r5, [sp, #8] │ │ │ │ │ - vadd.f64 d3, d3, d6 │ │ │ │ │ - vldr d6, [sp, #520] @ 0x208 │ │ │ │ │ - vldr d2, [sp, #376] @ 0x178 │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ - vadd.f64 d7, d6, d9 │ │ │ │ │ - vsub.f64 d6, d9, d6 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ + ldr r3, [sp, #120] @ 0x78 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + ldr r6, [sp, #8] │ │ │ │ │ + vldr d6, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d5, [sp, #536] @ 0x218 │ │ │ │ │ + ldr r1, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d4, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d2, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ + vsub.f64 d7, d5, d6 │ │ │ │ │ + vadd.f64 d5, d6, d5 │ │ │ │ │ + vldr d9, [sp, #432] @ 0x1b0 │ │ │ │ │ + ldrd r4, r5, [sp, #72] @ 0x48 │ │ │ │ │ + vsub.f64 d4, d4, d2 │ │ │ │ │ + ldr r1, [sp, #168] @ 0xa8 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ + vmov.f64 d6, d9 │ │ │ │ │ + ldr r3, [sp, #16] │ │ │ │ │ + vldr d1, [sp, #408] @ 0x198 │ │ │ │ │ + vmls.f64 d6, d5, d8 │ │ │ │ │ + vmul.f64 d2, d4, d13 │ │ │ │ │ + ldr r0, [sp, #544] @ 0x220 │ │ │ │ │ + vmul.f64 d4, d4, d11 │ │ │ │ │ + vadd.f64 d5, d9, d5 │ │ │ │ │ + vnmls.f64 d2, d3, d11 │ │ │ │ │ + vmla.f64 d4, d3, d13 │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ + ldr r1, [sp, #176] @ 0xb0 │ │ │ │ │ + vadd.f64 d5, d7, d6 │ │ │ │ │ + vsub.f64 d6, d6, d7 │ │ │ │ │ + vsub.f64 d3, d4, d5 │ │ │ │ │ + vadd.f64 d4, d4, d5 │ │ │ │ │ + vldr d5, [sp, #528] @ 0x210 │ │ │ │ │ + vsub.f64 d7, d2, d6 │ │ │ │ │ + vadd.f64 d2, d2, d6 │ │ │ │ │ + vldr d6, [sp, #496] @ 0x1f0 │ │ │ │ │ + vstr d3, [r1] │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ + vmov.f64 d4, d1 │ │ │ │ │ + ldr r5, [sp, #156] @ 0x9c │ │ │ │ │ vldr d3, [sp, #272] @ 0x110 │ │ │ │ │ - ldr r2, [sp, #192] @ 0xc0 │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ + vadd.f64 d7, d6, d5 │ │ │ │ │ + vsub.f64 d5, d5, d6 │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + vldr d2, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d6, [sp, #336] @ 0x150 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ - vldr d0, [sp, #424] @ 0x1a8 │ │ │ │ │ - vmov.f64 d5, d0 │ │ │ │ │ - vmla.f64 d5, d6, d1 │ │ │ │ │ - vldr d1, [sp, #384] @ 0x180 │ │ │ │ │ - b.n c28 │ │ │ │ │ - .word 0x9b97f4a8 │ │ │ │ │ - .word 0x3fe1e377 │ │ │ │ │ + vldr d0, [sp, #384] @ 0x180 │ │ │ │ │ + vmla.f64 d4, d5, d8 │ │ │ │ │ + vsub.f64 d5, d5, d1 │ │ │ │ │ + vsub.f64 d2, d3, d2 │ │ │ │ │ vsub.f64 d6, d6, d0 │ │ │ │ │ - vsub.f64 d4, d2, d1 │ │ │ │ │ - vsub.f64 d2, d3, d8 │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ vmul.f64 d3, d2, d11 │ │ │ │ │ - vmla.f64 d3, d4, d13 │ │ │ │ │ - vmul.f64 d4, d4, d11 │ │ │ │ │ - vadd.f64 d6, d7, d5 │ │ │ │ │ - vsub.f64 d7, d7, d5 │ │ │ │ │ - vnmls.f64 d4, d2, d13 │ │ │ │ │ - vadd.f64 d2, d4, d6 │ │ │ │ │ - vsub.f64 d6, d6, d4 │ │ │ │ │ - vstr d2, [r1] │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ + vadd.f64 d5, d7, d4 │ │ │ │ │ + vsub.f64 d7, d7, d4 │ │ │ │ │ + vmla.f64 d3, d6, d13 │ │ │ │ │ + vmul.f64 d6, d6, d11 │ │ │ │ │ + vnmls.f64 d6, d2, d13 │ │ │ │ │ + b.n c70 │ │ │ │ │ + .word 0x9b97f4a8 │ │ │ │ │ + .word 0x3fe1e377 │ │ │ │ │ + vadd.f64 d2, d6, d5 │ │ │ │ │ + vsub.f64 d5, d5, d6 │ │ │ │ │ vadd.f64 d6, d3, d7 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - ldr r3, [sp, #696] @ 0x2b8 │ │ │ │ │ - vstr d7, [r7] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #696] @ 0x2b8 │ │ │ │ │ - ldr r3, [sp, #580] @ 0x244 │ │ │ │ │ - add r9, r3 │ │ │ │ │ - ldr r3, [sp, #584] @ 0x248 │ │ │ │ │ - add sl, r3 │ │ │ │ │ - ldr r3, [sp, #588] @ 0x24c │ │ │ │ │ - eor.w fp, fp, r3 │ │ │ │ │ - ldrd r2, r3, [sp, #696] @ 0x2b8 │ │ │ │ │ + vstr d2, [r0] │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ + ldr r6, [sp, #32] │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ + ldr r2, [sp, #0] │ │ │ │ │ + ldr r3, [sp, #664] @ 0x298 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + str r3, [sp, #664] @ 0x298 │ │ │ │ │ + ldr r3, [sp, #548] @ 0x224 │ │ │ │ │ + add r2, r3 │ │ │ │ │ + ldr r3, [sp, #552] @ 0x228 │ │ │ │ │ + str r2, [sp, #0] │ │ │ │ │ + ldr r2, [sp, #664] @ 0x298 │ │ │ │ │ + add r7, r3 │ │ │ │ │ + ldr r3, [sp, #556] @ 0x22c │ │ │ │ │ + eor.w r8, r8, r3 │ │ │ │ │ + ldr r3, [sp, #668] @ 0x29c │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 68 │ │ │ │ │ - add.w sp, sp, #596 @ 0x254 │ │ │ │ │ + bne.w 70 │ │ │ │ │ + add.w sp, sp, #564 @ 0x234 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -00000c9c : │ │ │ │ │ +00000cd4 : │ │ │ │ │ fftw_codelet_hf2_20(): │ │ │ │ │ - ldr r2, [pc, #8] @ (ca8 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (cac ) │ │ │ │ │ + ldr r2, [pc, #8] @ (ce0 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (ce4 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2hc_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── hf2_25.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 6300 (bytes into file) │ │ │ │ │ + Start of section headers: 6324 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x189c: │ │ │ │ │ +There are 14 section headers, starting at offset 0x18b4: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 001538 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0017e4 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 00156c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 00156c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 00156c 000007 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 001573 000014 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 001587 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 00180c 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 0015b7 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0015b7 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 0015ec 000170 10 12 18 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 00175c 000088 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 001824 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 001550 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0017fc 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 001584 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 001584 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 001584 000007 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 00158b 000014 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 00159f 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 001824 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 0015cf 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0015cf 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 001604 000170 10 12 18 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 001774 000088 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 00183c 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,26 +1,26 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 23 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 5412 FUNC LOCAL DEFAULT 1 hf2_25 │ │ │ │ │ + 1: 00000001 5436 FUNC LOCAL DEFAULT 1 hf2_25 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000003f8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000418 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000009b8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000a38 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 000011e8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 8: 00001290 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 9: 00001530 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000058 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000070 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000800 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000810 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00001008 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 000010a8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 9: 00001548 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 12: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 13: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 14: 00000000 20 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 15: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 16: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 17: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 20: 00001525 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf2_25 │ │ │ │ │ + 20: 0000153d 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf2_25 │ │ │ │ │ 21: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2hc_register │ │ │ │ │ 22: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x17e4 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x17fc contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000410 00001219 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000414 0000131a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00001530 00000f03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00001534 00000103 R_ARM_REL32 00000001 hf2_25 │ │ │ │ │ -0000152c 0000151e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ +00000068 00001219 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000006c 0000131a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00001548 00000f03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +0000154c 00000103 R_ARM_REL32 00000001 hf2_25 │ │ │ │ │ +00001544 0000151e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x180c contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x1824 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000a02 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000c02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001602 R_ARM_ABS32 00000000 fftw_rdft_hf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,1454 +1,1441 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hf2_25(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r6, r0 │ │ │ │ │ - mov r7, r1 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r7, r0 │ │ │ │ │ + mov r8, r1 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov r9, r3 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub.w sp, sp, #748 @ 0x2ec │ │ │ │ │ - mov r8, r3 │ │ │ │ │ - ldr r3, [pc, #1020] @ (410 ) │ │ │ │ │ - ldrd r1, r0, [sp, #848] @ 0x350 │ │ │ │ │ - add r3, pc │ │ │ │ │ + sub.w sp, sp, #740 @ 0x2e4 │ │ │ │ │ + ldrd r1, r0, [sp, #840] @ 0x348 │ │ │ │ │ + ldr r3, [pc, #64] @ (68 ) │ │ │ │ │ cmp r1, r0 │ │ │ │ │ - bge.w 1518 │ │ │ │ │ - ldr r1, [sp, #856] @ 0x358 │ │ │ │ │ - vldr d12, [pc, #980] @ 3f8 │ │ │ │ │ - vldr d13, [pc, #984] @ 400 │ │ │ │ │ - lsls r1, r1, #3 │ │ │ │ │ - str r1, [sp, #732] @ 0x2dc │ │ │ │ │ - negs r1, r1 │ │ │ │ │ - str r1, [sp, #736] @ 0x2e0 │ │ │ │ │ - ldr r1, [pc, #992] @ (414 ) │ │ │ │ │ + add r3, pc │ │ │ │ │ + bge.w 151e │ │ │ │ │ + ldr r1, [sp, #848] @ 0x350 │ │ │ │ │ + vldr d12, [pc, #36] @ 58 │ │ │ │ │ + vldr d13, [pc, #40] @ 60 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + str r1, [sp, #724] @ 0x2d4 │ │ │ │ │ + rsb r1, r1, #0 │ │ │ │ │ + str r1, [sp, #728] @ 0x2d8 │ │ │ │ │ + ldr r1, [pc, #36] @ (6c ) │ │ │ │ │ ldr r3, [r3, r1] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - str r3, [sp, #740] @ 0x2e4 │ │ │ │ │ - ldr r3, [sp, #848] @ 0x350 │ │ │ │ │ - add.w r5, r2, r3, lsl #6 │ │ │ │ │ - vldr d15, [r5, #-48] @ 0xffffffd0 │ │ │ │ │ - movs r3, #40 @ 0x28 │ │ │ │ │ - vldr d7, [r5, #-64] @ 0xffffffc0 │ │ │ │ │ - adds r5, #64 @ 0x40 │ │ │ │ │ - vldr d1, [r5, #-104] @ 0xffffff98 │ │ │ │ │ - vldr d4, [r5, #-128] @ 0xffffff80 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ + str r3, [sp, #732] @ 0x2dc │ │ │ │ │ + ldr r3, [sp, #840] @ 0x348 │ │ │ │ │ + add.w r6, r2, r3, lsl #6 │ │ │ │ │ + b.n 70 │ │ │ │ │ + nop │ │ │ │ │ + .word 0x134454ff │ │ │ │ │ + .word 0x3fee6f0e │ │ │ │ │ + .word 0x04755a5e │ │ │ │ │ + .word 0x3fe2cf23 │ │ │ │ │ + .word 0x0000003a │ │ │ │ │ + R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ + .word 0x00000000 │ │ │ │ │ + R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ + vldr d7, [r6, #-64] @ 0xffffffc0 │ │ │ │ │ + add.w r2, r9, r9, lsl #2 │ │ │ │ │ + add.w r6, r6, #64 @ 0x40 │ │ │ │ │ + vldr d4, [r6, #-128] @ 0xffffff80 │ │ │ │ │ + mov.w r3, r2, lsl #3 │ │ │ │ │ + vldr d15, [r6, #-112] @ 0xffffff90 │ │ │ │ │ + add.w r1, r7, r3 │ │ │ │ │ + add.w r0, r8, r3 │ │ │ │ │ + vldr d1, [r6, #-104] @ 0xffffff98 │ │ │ │ │ vmul.f64 d6, d7, d15 │ │ │ │ │ - vldr d7, [r5, #-120] @ 0xffffff88 │ │ │ │ │ - vldr d9, [r5, #-96] @ 0xffffffa0 │ │ │ │ │ - adds r2, r6, r3 │ │ │ │ │ + vldr d7, [r6, #-120] @ 0xffffff88 │ │ │ │ │ vmul.f64 d4, d4, d1 │ │ │ │ │ - vstr d1, [sp, #24] │ │ │ │ │ + vstr d1, [sp, #32] │ │ │ │ │ vmul.f64 d5, d7, d15 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - adds r1, r7, r3 │ │ │ │ │ vsub.f64 d3, d6, d7 │ │ │ │ │ vadd.f64 d8, d6, d7 │ │ │ │ │ - vldr d7, [r5, #-120] @ 0xffffff88 │ │ │ │ │ - vadd.f64 d10, d5, d4 │ │ │ │ │ - vldr d6, [r5, #-88] @ 0xffffffa8 │ │ │ │ │ - vsub.f64 d11, d4, d5 │ │ │ │ │ - vldr d5, [r5, #-88] @ 0xffffffa8 │ │ │ │ │ + vldr d7, [r6, #-120] @ 0xffffff88 │ │ │ │ │ + vsub.f64 d14, d4, d5 │ │ │ │ │ + vadd.f64 d9, d5, d4 │ │ │ │ │ + vldr d6, [r6, #-88] @ 0xffffffa8 │ │ │ │ │ + vldr d5, [r6, #-88] @ 0xffffffa8 │ │ │ │ │ + vmov.f64 d11, d3 │ │ │ │ │ + vldr d3, [r6, #-120] @ 0xffffff88 │ │ │ │ │ + vstr d14, [sp, #16] │ │ │ │ │ vmul.f64 d4, d7, d6 │ │ │ │ │ - vldr d7, [r5, #-128] @ 0xffffff80 │ │ │ │ │ - vmul.f64 d0, d1, d5 │ │ │ │ │ + vldr d7, [r6, #-128] @ 0xffffff80 │ │ │ │ │ vmul.f64 d6, d15, d6 │ │ │ │ │ + vmul.f64 d0, d1, d5 │ │ │ │ │ vmul.f64 d2, d7, d5 │ │ │ │ │ - vldr d7, [r5, #-128] @ 0xffffff80 │ │ │ │ │ - vldr d5, [r5, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d7, [r6, #-128] @ 0xffffff80 │ │ │ │ │ + vldr d5, [r6, #-96] @ 0xffffffa0 │ │ │ │ │ vmul.f64 d5, d7, d5 │ │ │ │ │ - vldr d7, [r5, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d7, [r6, #-96] @ 0xffffffa0 │ │ │ │ │ vmul.f64 d7, d1, d7 │ │ │ │ │ - vldr d1, [r5, #-120] @ 0xffffff88 │ │ │ │ │ - vmul.f64 d9, d1, d9 │ │ │ │ │ - vldr d1, [r5, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d1, [r6, #-96] @ 0xffffffa0 │ │ │ │ │ + vmul.f64 d10, d3, d1 │ │ │ │ │ vmul.f64 d1, d15, d1 │ │ │ │ │ - vsub.f64 d14, d1, d0 │ │ │ │ │ - vadd.f64 d1, d0, d1 │ │ │ │ │ - vsub.f64 d0, d2, d9 │ │ │ │ │ - vadd.f64 d9, d2, d9 │ │ │ │ │ - vmov.f64 d2, d8 │ │ │ │ │ - vstr d14, [sp, #600] @ 0x258 │ │ │ │ │ - vadd.f64 d14, d6, d7 │ │ │ │ │ - vsub.f64 d7, d6, d7 │ │ │ │ │ - vldr d6, [r5, #-96] @ 0xffffffa0 │ │ │ │ │ + vsub.f64 d3, d1, d0 │ │ │ │ │ + vadd.f64 d0, d0, d1 │ │ │ │ │ vstr d0, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d2, [sp, #16] │ │ │ │ │ - vmul.f64 d8, d8, d6 │ │ │ │ │ - vstr d14, [sp, #608] @ 0x260 │ │ │ │ │ - vldr d6, [r5, #-88] @ 0xffffffa8 │ │ │ │ │ - vsub.f64 d14, d5, d4 │ │ │ │ │ + vstr d3, [sp, #592] @ 0x250 │ │ │ │ │ + vadd.f64 d3, d6, d7 │ │ │ │ │ + vsub.f64 d7, d6, d7 │ │ │ │ │ + vldr d6, [r6, #-96] @ 0xffffffa0 │ │ │ │ │ + vstr d7, [sp, #64] @ 0x40 │ │ │ │ │ + vmov.f64 d7, d11 │ │ │ │ │ + vstr d3, [sp, #600] @ 0x258 │ │ │ │ │ + vsub.f64 d3, d5, d4 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ - vstr d7, [sp, #56] @ 0x38 │ │ │ │ │ - vmov.f64 d7, d10 │ │ │ │ │ - vstr d1, [sp, #32] │ │ │ │ │ - vmul.f64 d0, d11, d6 │ │ │ │ │ - vstr d4, [sp, #48] @ 0x30 │ │ │ │ │ - vmov.f64 d4, d11 │ │ │ │ │ - vmov.f64 d11, d3 │ │ │ │ │ - vldr d3, [r5, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d11, [r6, #-88] @ 0xffffffa8 │ │ │ │ │ + vstr d7, [sp] │ │ │ │ │ + vstr d4, [sp, #56] @ 0x38 │ │ │ │ │ + vmov.f64 d4, d8 │ │ │ │ │ + vmul.f64 d8, d8, d6 │ │ │ │ │ + vldr d6, [r6, #-88] @ 0xffffffa8 │ │ │ │ │ + vstr d4, [sp, #24] │ │ │ │ │ + vstr d3, [sp, #88] @ 0x58 │ │ │ │ │ + vsub.f64 d3, d2, d10 │ │ │ │ │ + vadd.f64 d10, d2, d10 │ │ │ │ │ + vldr d2, [r6, #-96] @ 0xffffffa0 │ │ │ │ │ + vmul.f64 d0, d14, d6 │ │ │ │ │ + vstr d3, [sp, #48] @ 0x30 │ │ │ │ │ + vmul.f64 d3, d4, d11 │ │ │ │ │ + vmul.f64 d5, d7, d2 │ │ │ │ │ + vmov.f64 d2, d9 │ │ │ │ │ vadd.f64 d6, d8, d0 │ │ │ │ │ vsub.f64 d0, d8, d0 │ │ │ │ │ - vstr d4, [sp, #8] │ │ │ │ │ - vmul.f64 d5, d11, d3 │ │ │ │ │ - vldr d3, [r5, #-88] @ 0xffffffa8 │ │ │ │ │ - vstr d6, [sp, #64] @ 0x40 │ │ │ │ │ - vmul.f64 d6, d10, d3 │ │ │ │ │ - vldr d10, [r5, #-96] @ 0xffffffa0 │ │ │ │ │ - vmul.f64 d3, d2, d3 │ │ │ │ │ - vldr d2, [r5, #-88] @ 0xffffffa8 │ │ │ │ │ - vmul.f64 d4, d4, d10 │ │ │ │ │ - vadd.f64 d1, d5, d6 │ │ │ │ │ - vsub.f64 d10, d3, d4 │ │ │ │ │ - vadd.f64 d3, d3, d4 │ │ │ │ │ - vstr d10, [sp, #72] @ 0x48 │ │ │ │ │ - vmul.f64 d10, d11, d2 │ │ │ │ │ - vstr d7, [sp] │ │ │ │ │ - vldr d2, [r5, #-96] @ 0xffffffa0 │ │ │ │ │ - vstr d0, [sp, #256] @ 0x100 │ │ │ │ │ - vstr d3, [sp, #264] @ 0x108 │ │ │ │ │ - vsub.f64 d3, d5, d6 │ │ │ │ │ - vmul.f64 d2, d7, d2 │ │ │ │ │ - vldr d6, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d4, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d6, [sp, #72] @ 0x48 │ │ │ │ │ + vmul.f64 d6, d9, d11 │ │ │ │ │ + vldr d11, [r6, #-96] @ 0xffffffa0 │ │ │ │ │ + vadd.f64 d9, d5, d6 │ │ │ │ │ + vsub.f64 d5, d5, d6 │ │ │ │ │ + vmul.f64 d4, d14, d11 │ │ │ │ │ + vsub.f64 d1, d3, d4 │ │ │ │ │ + vstr d1, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d11, [r6, #-88] @ 0xffffffa8 │ │ │ │ │ + vstr d2, [sp, #8] │ │ │ │ │ + vldr d14, [r6, #-72] @ 0xffffffb8 │ │ │ │ │ + vstr d0, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d6, [sp, #8] │ │ │ │ │ + vstr d5, [sp, #208] @ 0xd0 │ │ │ │ │ + vmul.f64 d1, d7, d11 │ │ │ │ │ + vldr d11, [r6, #-96] @ 0xffffffa0 │ │ │ │ │ vldr d5, [sp] │ │ │ │ │ - vstr d3, [sp, #200] @ 0xc8 │ │ │ │ │ - vadd.f64 d0, d10, d2 │ │ │ │ │ - vsub.f64 d7, d10, d2 │ │ │ │ │ - vldr d10, [r5, #-72] @ 0xffffffb8 │ │ │ │ │ - vstr d11, [sp, #240] @ 0xf0 │ │ │ │ │ - vstr d0, [sp, #192] @ 0xc0 │ │ │ │ │ - vmul.f64 d2, d5, d10 │ │ │ │ │ - vldr d0, [r5, #-80] @ 0xffffffb0 │ │ │ │ │ - vmul.f64 d6, d6, d0 │ │ │ │ │ - vmul.f64 d3, d5, d0 │ │ │ │ │ - vldr d5, [sp, #56] @ 0x38 │ │ │ │ │ - vmla.f64 d2, d11, d0 │ │ │ │ │ - vmov.f64 d8, d6 │ │ │ │ │ - vmul.f64 d6, d5, d0 │ │ │ │ │ - vnmls.f64 d3, d11, d10 │ │ │ │ │ - vldr d11, [r5, #-120] @ 0xffffff88 │ │ │ │ │ - vnmls.f64 d8, d4, d10 │ │ │ │ │ - vstr d8, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d8, [sp, #32] │ │ │ │ │ - vnmls.f64 d6, d8, d10 │ │ │ │ │ - vstr d6, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d6, [sp, #24] │ │ │ │ │ - vmul.f64 d6, d6, d10 │ │ │ │ │ + vldr d8, [sp, #64] @ 0x40 │ │ │ │ │ + vmul.f64 d2, d2, d11 │ │ │ │ │ + vldr d11, [r6, #-120] @ 0xffffff88 │ │ │ │ │ + vadd.f64 d0, d1, d2 │ │ │ │ │ + vsub.f64 d7, d1, d2 │ │ │ │ │ + vldr d1, [sp, #80] @ 0x50 │ │ │ │ │ + vadd.f64 d2, d3, d4 │ │ │ │ │ + vldr d4, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d0, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d0, [r6, #-80] @ 0xffffffb0 │ │ │ │ │ + vstr d2, [sp, #248] @ 0xf8 │ │ │ │ │ + vmul.f64 d2, d6, d14 │ │ │ │ │ + vmul.f64 d3, d6, d0 │ │ │ │ │ + vmul.f64 d6, d1, d0 │ │ │ │ │ + vldr d1, [sp, #40] @ 0x28 │ │ │ │ │ + vmla.f64 d2, d5, d0 │ │ │ │ │ + vnmls.f64 d6, d4, d14 │ │ │ │ │ + vnmls.f64 d3, d5, d14 │ │ │ │ │ + vstr d6, [sp, #608] @ 0x260 │ │ │ │ │ + vmul.f64 d6, d8, d0 │ │ │ │ │ + vnmls.f64 d6, d1, d14 │ │ │ │ │ + vstr d6, [sp, #176] @ 0xb0 │ │ │ │ │ + vldr d6, [sp, #32] │ │ │ │ │ + vmul.f64 d6, d6, d14 │ │ │ │ │ vmla.f64 d6, d15, d0 │ │ │ │ │ vstr d6, [sp, #224] @ 0xe0 │ │ │ │ │ - vmul.f64 d6, d11, d10 │ │ │ │ │ - vldr d11, [r5, #-128] @ 0xffffff80 │ │ │ │ │ - vmla.f64 d6, d11, d0 │ │ │ │ │ - vldr d11, [r5, #-120] @ 0xffffff88 │ │ │ │ │ - vstr d6, [sp, #168] @ 0xa8 │ │ │ │ │ + vmul.f64 d6, d11, d14 │ │ │ │ │ + vldr d11, [r6, #-128] @ 0xffffff80 │ │ │ │ │ + vmov.f64 d5, d6 │ │ │ │ │ + vmla.f64 d5, d11, d0 │ │ │ │ │ + vldr d11, [r6, #-120] @ 0xffffff88 │ │ │ │ │ vmul.f64 d6, d11, d0 │ │ │ │ │ - vmov.f64 d11, d6 │ │ │ │ │ - vldr d6, [r5, #-128] @ 0xffffff80 │ │ │ │ │ - vnmls.f64 d11, d6, d10 │ │ │ │ │ - vmul.f64 d6, d5, d10 │ │ │ │ │ - vmla.f64 d6, d8, d0 │ │ │ │ │ - vldr d8, [r5, #-88] @ 0xffffffa8 │ │ │ │ │ - vldr d5, [r5, #-96] @ 0xffffffa0 │ │ │ │ │ - vstr d11, [sp, #176] @ 0xb0 │ │ │ │ │ - vstr d6, [sp, #208] @ 0xd0 │ │ │ │ │ - vmul.f64 d6, d8, d0 │ │ │ │ │ - vldr d11, [r5, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d11, [r6, #-128] @ 0xffffff80 │ │ │ │ │ + vstr d5, [sp, #184] @ 0xb8 │ │ │ │ │ + vnmls.f64 d6, d11, d14 │ │ │ │ │ + vldr d11, [r6, #-88] @ 0xffffffa8 │ │ │ │ │ + vstr d6, [sp, #216] @ 0xd8 │ │ │ │ │ + vmul.f64 d6, d8, d14 │ │ │ │ │ vmov.f64 d8, d6 │ │ │ │ │ - vnmls.f64 d8, d11, d10 │ │ │ │ │ - vldr d11, [r5, #-88] @ 0xffffffa8 │ │ │ │ │ - vmul.f64 d6, d11, d10 │ │ │ │ │ - vmov.f64 d11, d6 │ │ │ │ │ - vldr d6, [sp, #24] │ │ │ │ │ - vmla.f64 d11, d5, d0 │ │ │ │ │ - vstr d8, [sp, #184] @ 0xb8 │ │ │ │ │ - vmul.f64 d6, d6, d0 │ │ │ │ │ - vnmls.f64 d6, d15, d10 │ │ │ │ │ - vstr d11, [sp, #216] @ 0xd8 │ │ │ │ │ - vstr d6, [sp, #232] @ 0xe8 │ │ │ │ │ - vldr d5, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d11, [sp, #48] @ 0x30 │ │ │ │ │ - str r2, [sp, #80] @ 0x50 │ │ │ │ │ - vmul.f64 d6, d5, d10 │ │ │ │ │ - str r1, [sp, #88] @ 0x58 │ │ │ │ │ + vmul.f64 d6, d11, d0 │ │ │ │ │ + vldr d11, [r6, #-96] @ 0xffffffa0 │ │ │ │ │ + vmla.f64 d8, d1, d0 │ │ │ │ │ + vmov.f64 d5, d6 │ │ │ │ │ + vnmls.f64 d5, d11, d14 │ │ │ │ │ + vldr d11, [r6, #-88] @ 0xffffffa8 │ │ │ │ │ + vmul.f64 d6, d11, d14 │ │ │ │ │ + vldr d11, [r6, #-96] @ 0xffffffa0 │ │ │ │ │ + vstr d8, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d5, [sp, #160] @ 0xa0 │ │ │ │ │ vmov.f64 d8, d6 │ │ │ │ │ - vmul.f64 d6, d7, d10 │ │ │ │ │ - vmla.f64 d6, d1, d0 │ │ │ │ │ vmla.f64 d8, d11, d0 │ │ │ │ │ - vstr d6, [sp, #280] @ 0x118 │ │ │ │ │ - vldr d6, [sp, #72] @ 0x48 │ │ │ │ │ - vstr d8, [sp, #272] @ 0x110 │ │ │ │ │ - vmul.f64 d6, d6, d10 │ │ │ │ │ + vstr d8, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d1, [sp, #32] │ │ │ │ │ + str r0, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d5, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d11, [sp, #56] @ 0x38 │ │ │ │ │ + vmul.f64 d6, d1, d0 │ │ │ │ │ + vnmls.f64 d6, d15, d14 │ │ │ │ │ + vstr d6, [sp, #256] @ 0x100 │ │ │ │ │ + vmul.f64 d6, d5, d14 │ │ │ │ │ + vmla.f64 d6, d11, d0 │ │ │ │ │ + vstr d6, [sp, #264] @ 0x108 │ │ │ │ │ + vmul.f64 d6, d7, d14 │ │ │ │ │ vmov.f64 d8, d6 │ │ │ │ │ - vmul.f64 d6, d9, d0 │ │ │ │ │ - vmla.f64 d8, d4, d0 │ │ │ │ │ + vldr d6, [sp, #80] @ 0x50 │ │ │ │ │ + vmla.f64 d8, d9, d0 │ │ │ │ │ + vmul.f64 d6, d6, d14 │ │ │ │ │ + vmov.f64 d1, d6 │ │ │ │ │ + vmul.f64 d6, d10, d0 │ │ │ │ │ + vstr d8, [sp, #272] @ 0x110 │ │ │ │ │ + vmla.f64 d1, d4, d0 │ │ │ │ │ vmov.f64 d4, d6 │ │ │ │ │ vmul.f64 d6, d7, d0 │ │ │ │ │ - vnmls.f64 d4, d14, d10 │ │ │ │ │ - vstr d8, [sp, #616] @ 0x268 │ │ │ │ │ - vldr d8, [sp, #16] │ │ │ │ │ + vmov.f64 d8, d6 │ │ │ │ │ + vstr d1, [sp, #616] @ 0x268 │ │ │ │ │ + vldr d1, [sp, #88] @ 0x58 │ │ │ │ │ + vnmls.f64 d8, d9, d14 │ │ │ │ │ + str r1, [sp, #88] @ 0x58 │ │ │ │ │ + vnmls.f64 d4, d1, d14 │ │ │ │ │ + vstr d8, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d8, [sp, #24] │ │ │ │ │ vstr d4, [sp, #288] @ 0x120 │ │ │ │ │ - vmov.f64 d4, d6 │ │ │ │ │ - vnmls.f64 d4, d1, d10 │ │ │ │ │ - vstr d4, [sp, #520] @ 0x208 │ │ │ │ │ - vldr d4, [sp, #8] │ │ │ │ │ - vmul.f64 d6, d4, d10 │ │ │ │ │ + vldr d4, [sp, #16] │ │ │ │ │ + vmul.f64 d6, d4, d14 │ │ │ │ │ vmla.f64 d6, d8, d0 │ │ │ │ │ vstr d6, [sp, #624] @ 0x270 │ │ │ │ │ vmul.f64 d6, d4, d0 │ │ │ │ │ vmov.f64 d4, d6 │ │ │ │ │ - vmul.f64 d6, d9, d10 │ │ │ │ │ - vnmls.f64 d4, d8, d10 │ │ │ │ │ - vmov.f64 d8, d6 │ │ │ │ │ + vmul.f64 d6, d10, d14 │ │ │ │ │ + vnmls.f64 d4, d8, d14 │ │ │ │ │ + vstr d4, [sp, #632] @ 0x278 │ │ │ │ │ + vmov.f64 d4, d6 │ │ │ │ │ vmul.f64 d6, d5, d0 │ │ │ │ │ - vmla.f64 d8, d14, d0 │ │ │ │ │ + vmla.f64 d4, d1, d0 │ │ │ │ │ vmov.f64 d5, d6 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - vstr d6, [sp, #304] @ 0x130 │ │ │ │ │ - vnmls.f64 d5, d11, d10 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - vstr d4, [sp, #632] @ 0x278 │ │ │ │ │ - vstr d8, [sp, #528] @ 0x210 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + vnmls.f64 d5, d11, d14 │ │ │ │ │ + vstr d5, [sp, #432] @ 0x1b0 │ │ │ │ │ + vldr d5, [r8] │ │ │ │ │ + vstr d4, [sp, #512] @ 0x200 │ │ │ │ │ vmul.f64 d4, d7, d6 │ │ │ │ │ - vmov.f64 d11, d4 │ │ │ │ │ - vstr d5, [sp, #440] @ 0x1b8 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - movs r2, #160 @ 0xa0 │ │ │ │ │ - vmul.f64 d7, d7, d5 │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - vmla.f64 d11, d1, d5 │ │ │ │ │ - adds r0, r6, r2 │ │ │ │ │ - adds r4, r7, r2 │ │ │ │ │ - movs r2, #80 @ 0x50 │ │ │ │ │ - str r0, [sp, #96] @ 0x60 │ │ │ │ │ - vnmls.f64 d7, d1, d6 │ │ │ │ │ + vstr d5, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + mov.w r1, r2, lsl #5 │ │ │ │ │ + mov.w r2, r2, lsl #4 │ │ │ │ │ + add.w r5, r8, r1 │ │ │ │ │ + add.w r4, r7, r1 │ │ │ │ │ + add.w r0, r8, r2 │ │ │ │ │ + add.w r1, r7, r2 │ │ │ │ │ + add.w r2, r9, r9, lsl #1 │ │ │ │ │ str r4, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - adds r1, r6, r2 │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ - str r1, [sp, #112] @ 0x70 │ │ │ │ │ - movs r2, #24 │ │ │ │ │ - vstr d11, [sp, #136] @ 0x88 │ │ │ │ │ + str r5, [sp, #112] @ 0x70 │ │ │ │ │ + vmul.f64 d7, d7, d5 │ │ │ │ │ + vmla.f64 d4, d9, d5 │ │ │ │ │ + str r1, [sp, #120] @ 0x78 │ │ │ │ │ + vnmls.f64 d7, d9, d6 │ │ │ │ │ + vldr d9, [r4] │ │ │ │ │ + add.w r4, r1, r3 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + vstr d4, [sp, #144] @ 0x90 │ │ │ │ │ vmov.f64 d5, d7 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - adds r4, r1, r3 │ │ │ │ │ - str r4, [sp, #132] @ 0x84 │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, r0, r3 │ │ │ │ │ + vstr d5, [sp, #152] @ 0x98 │ │ │ │ │ vmul.f64 d8, d3, d7 │ │ │ │ │ - vmul.f64 d3, d3, d6 │ │ │ │ │ - vmla.f64 d8, d2, d6 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - vstr d5, [sp, #144] @ 0x90 │ │ │ │ │ - adds r1, r0, r3 │ │ │ │ │ - vnmls.f64 d3, d2, d7 │ │ │ │ │ - vadd.f64 d1, d11, d8 │ │ │ │ │ - vldr d11, [pc, #136] @ 408 │ │ │ │ │ - vadd.f64 d7, d5, d3 │ │ │ │ │ - vstr d7, [sp, #152] @ 0x98 │ │ │ │ │ + vmla.f64 d8, d2, d9 │ │ │ │ │ + vmul.f64 d9, d3, d9 │ │ │ │ │ + vnmls.f64 d9, d2, d7 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - vmul.f64 d5, d9, d7 │ │ │ │ │ - vmul.f64 d9, d9, d6 │ │ │ │ │ - vmla.f64 d5, d14, d6 │ │ │ │ │ + strd r4, r5, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d2, [sp, #160] @ 0xa0 │ │ │ │ │ + str r0, [sp, #128] @ 0x80 │ │ │ │ │ + str r2, [sp, #720] @ 0x2d0 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + vadd.f64 d11, d4, d8 │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ + add.w r5, r8, r2 │ │ │ │ │ + vadd.f64 d3, d5, d9 │ │ │ │ │ + vmul.f64 d5, d10, d7 │ │ │ │ │ + vmul.f64 d10, d10, d6 │ │ │ │ │ + vstr d11, [sp, #160] @ 0xa0 │ │ │ │ │ + vmla.f64 d5, d1, d6 │ │ │ │ │ vldr d6, [r4] │ │ │ │ │ - str r0, [sp, #120] @ 0x78 │ │ │ │ │ - adds r4, r6, r2 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - adds r2, r7, r2 │ │ │ │ │ - vnmls.f64 d9, d14, d7 │ │ │ │ │ - vldr d14, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d2, [sp, #216] @ 0xd8 │ │ │ │ │ - str r1, [sp, #728] @ 0x2d8 │ │ │ │ │ - adds r1, r4, r3 │ │ │ │ │ - vmul.f64 d7, d14, d4 │ │ │ │ │ - vmla.f64 d7, d2, d6 │ │ │ │ │ - vmul.f64 d6, d14, d6 │ │ │ │ │ - vnmls.f64 d6, d2, d4 │ │ │ │ │ + add.w r4, r7, r2 │ │ │ │ │ + vnmls.f64 d10, d1, d7 │ │ │ │ │ + vmul.f64 d7, d2, d4 │ │ │ │ │ + add.w r1, r4, r3 │ │ │ │ │ + vldr d1, [sp, #168] @ 0xa8 │ │ │ │ │ + mov.w r2, r9, lsl #3 │ │ │ │ │ + add.w fp, r8, r2 │ │ │ │ │ + vmla.f64 d7, d1, d6 │ │ │ │ │ + vmul.f64 d6, d2, d6 │ │ │ │ │ + vnmls.f64 d6, d1, d4 │ │ │ │ │ vadd.f64 d2, d5, d7 │ │ │ │ │ vsub.f64 d7, d5, d7 │ │ │ │ │ - vsub.f64 d14, d1, d2 │ │ │ │ │ - vadd.f64 d4, d9, d6 │ │ │ │ │ - vadd.f64 d1, d1, d2 │ │ │ │ │ - vmov.f64 d2, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vsub.f64 d9, d9, d6 │ │ │ │ │ - vmul.f64 d14, d14, d11 │ │ │ │ │ - vstr d1, [sp, #328] @ 0x148 │ │ │ │ │ - vmul.f64 d6, d9, d13 │ │ │ │ │ - vstr d14, [sp, #312] @ 0x138 │ │ │ │ │ - b.n 418 │ │ │ │ │ - nop │ │ │ │ │ - .word 0x134454ff │ │ │ │ │ - .word 0x3fee6f0e │ │ │ │ │ - .word 0x04755a5e │ │ │ │ │ - .word 0x3fe2cf23 │ │ │ │ │ - .word 0x9b97f4a8 │ │ │ │ │ - .word 0x3fe1e377 │ │ │ │ │ - .word 0x000003f4 │ │ │ │ │ - R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ - .word 0x00000000 │ │ │ │ │ - R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - vldr d14, [sp, #152] @ 0x98 │ │ │ │ │ - vsub.f64 d14, d14, d4 │ │ │ │ │ - vmul.f64 d14, d14, d11 │ │ │ │ │ - vstr d14, [sp, #320] @ 0x140 │ │ │ │ │ - vldr d14, [r6] │ │ │ │ │ - vmls.f64 d14, d1, d2 │ │ │ │ │ - vldr d1, [sp, #152] @ 0x98 │ │ │ │ │ - vadd.f64 d1, d1, d4 │ │ │ │ │ - vstr d1, [sp, #344] @ 0x158 │ │ │ │ │ - vstr d14, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d14, [sp, #304] @ 0x130 │ │ │ │ │ - vmls.f64 d14, d1, d2 │ │ │ │ │ - vstr d14, [sp, #352] @ 0x160 │ │ │ │ │ - vldr d14, [sp, #136] @ 0x88 │ │ │ │ │ - str r2, [sp, #136] @ 0x88 │ │ │ │ │ - vsub.f64 d8, d14, d8 │ │ │ │ │ - vmov.f64 d14, d6 │ │ │ │ │ + vadd.f64 d4, d10, d6 │ │ │ │ │ + vsub.f64 d10, d10, d6 │ │ │ │ │ + vsub.f64 d11, d11, d2 │ │ │ │ │ + vstr d2, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d2, [pc, #972] @ 800 │ │ │ │ │ + vmul.f64 d6, d10, d13 │ │ │ │ │ + vmul.f64 d1, d11, d2 │ │ │ │ │ + vsub.f64 d11, d3, d4 │ │ │ │ │ + vmul.f64 d2, d11, d2 │ │ │ │ │ + vldr d11, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d1, [sp, #304] @ 0x130 │ │ │ │ │ + vmov.f64 d1, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vstr d2, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d2, [sp, #168] @ 0xa8 │ │ │ │ │ + vadd.f64 d2, d11, d2 │ │ │ │ │ + vmov.f64 d11, d2 │ │ │ │ │ + vldr d2, [r7] │ │ │ │ │ + vstr d11, [sp, #320] @ 0x140 │ │ │ │ │ + vmls.f64 d2, d11, d1 │ │ │ │ │ + vadd.f64 d11, d3, d4 │ │ │ │ │ + vldr d3, [sp, #296] @ 0x128 │ │ │ │ │ + vmls.f64 d3, d11, d1 │ │ │ │ │ + vldr d1, [sp, #32] │ │ │ │ │ + str r4, [sp, #32] │ │ │ │ │ + vstr d2, [sp, #328] @ 0x148 │ │ │ │ │ + vstr d11, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d3, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d3, [sp, #144] @ 0x90 │ │ │ │ │ + vsub.f64 d8, d3, d8 │ │ │ │ │ vmul.f64 d4, d8, d13 │ │ │ │ │ - vmov.f64 d1, d4 │ │ │ │ │ - vnmls.f64 d1, d7, d12 │ │ │ │ │ + vmov.f64 d3, d4 │ │ │ │ │ + vnmls.f64 d3, d7, d12 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ vmla.f64 d7, d8, d12 │ │ │ │ │ - vstr d1, [sp, #672] @ 0x2a0 │ │ │ │ │ - vstr d7, [sp, #664] @ 0x298 │ │ │ │ │ - vldr d7, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d1, [sp, #24] │ │ │ │ │ - str r4, [sp, #24] │ │ │ │ │ - vsub.f64 d7, d7, d3 │ │ │ │ │ - str r1, [sp, #144] @ 0x90 │ │ │ │ │ - vmla.f64 d14, d7, d12 │ │ │ │ │ + vstr d7, [sp, #656] @ 0x290 │ │ │ │ │ + vldr d7, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d3, [sp, #664] @ 0x298 │ │ │ │ │ + vmov.f64 d3, d6 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + add.w r4, r5, r3 │ │ │ │ │ + str r1, [sp, #152] @ 0x98 │ │ │ │ │ + vsub.f64 d7, d7, d9 │ │ │ │ │ + vmul.f64 d11, d1, d6 │ │ │ │ │ + vmla.f64 d3, d7, d12 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ - vnmls.f64 d7, d9, d12 │ │ │ │ │ - vldr d9, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d14, [sp, #680] @ 0x2a8 │ │ │ │ │ - vldr d14, [r4] │ │ │ │ │ - adds r4, r2, r3 │ │ │ │ │ - str r4, [sp, #152] @ 0x98 │ │ │ │ │ - vstr d7, [sp, #688] @ 0x2b0 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - movs r2, #144 @ 0x90 │ │ │ │ │ + vnmls.f64 d7, d10, d12 │ │ │ │ │ + vstr d3, [sp, #672] @ 0x2a0 │ │ │ │ │ + vstr d7, [sp, #680] @ 0x2a8 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ vmul.f64 d5, d1, d7 │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - add.w sl, r6, r2 │ │ │ │ │ - add.w r0, sl, r3 │ │ │ │ │ - vmov.f64 d3, d5 │ │ │ │ │ - vmla.f64 d3, d15, d14 │ │ │ │ │ - vmul.f64 d14, d1, d14 │ │ │ │ │ vldr d1, [r1] │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - movs r2, #104 @ 0x68 │ │ │ │ │ - vnmls.f64 d14, d15, d7 │ │ │ │ │ + vnmls.f64 d11, d15, d7 │ │ │ │ │ + add.w r1, r2, r9 │ │ │ │ │ + mov.w r1, r1, lsl #4 │ │ │ │ │ + add.w lr, r7, r1 │ │ │ │ │ + add r1, r8 │ │ │ │ │ + add.w r0, lr, r3 │ │ │ │ │ + vmov.f64 d10, d5 │ │ │ │ │ + vmla.f64 d10, d15, d6 │ │ │ │ │ + vstr d10, [sp, #192] @ 0xc0 │ │ │ │ │ + str r5, [sp, #144] @ 0x90 │ │ │ │ │ + add.w r5, r1, r3 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ - adds r4, r1, r3 │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - vstr d3, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d3, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d6, [sl] │ │ │ │ │ - vldr d4, [r4] │ │ │ │ │ - vmul.f64 d11, d3, d7 │ │ │ │ │ - vldr d15, [sp, #176] @ 0xb0 │ │ │ │ │ - vmla.f64 d11, d9, d1 │ │ │ │ │ + str r4, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d3, [sp, #48] @ 0x30 │ │ │ │ │ + str r1, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d9, [sp, #56] @ 0x38 │ │ │ │ │ + str r0, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d6, [lr] │ │ │ │ │ + str r5, [sp, #168] @ 0xa8 │ │ │ │ │ + vmul.f64 d5, d3, d7 │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ + vmov.f64 d15, d5 │ │ │ │ │ + vmla.f64 d15, d9, d1 │ │ │ │ │ vmul.f64 d1, d3, d1 │ │ │ │ │ - vldr d3, [sp, #208] @ 0xd0 │ │ │ │ │ - str r0, [sp, #48] @ 0x30 │ │ │ │ │ - str r1, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d3, [sp, #232] @ 0xe8 │ │ │ │ │ vnmls.f64 d1, d9, d7 │ │ │ │ │ - vldr d9, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d9, [sp, #176] @ 0xb0 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - str r4, [sp, #160] @ 0xa0 │ │ │ │ │ - adds r4, r7, r2 │ │ │ │ │ + mov.w r1, #104 @ 0x68 │ │ │ │ │ + mul.w r1, r1, r9 │ │ │ │ │ + vmov.f64 d10, d15 │ │ │ │ │ + vldr d15, [sp, #216] @ 0xd8 │ │ │ │ │ vmul.f64 d5, d9, d6 │ │ │ │ │ - str r4, [sp, #176] @ 0xb0 │ │ │ │ │ + add.w r4, r7, r1 │ │ │ │ │ + add r1, r8 │ │ │ │ │ vmul.f64 d8, d9, d7 │ │ │ │ │ - vldr d9, [sp, #168] @ 0xa8 │ │ │ │ │ - vmla.f64 d8, d3, d6 │ │ │ │ │ - vmul.f64 d6, d15, d4 │ │ │ │ │ + vldr d9, [sp, #184] @ 0xb8 │ │ │ │ │ + str r4, [sp, #176] @ 0xb0 │ │ │ │ │ + vldr d2, [r4] │ │ │ │ │ + add.w r4, r7, r2 │ │ │ │ │ + sub.w r2, r2, r9 │ │ │ │ │ vnmls.f64 d5, d3, d7 │ │ │ │ │ + str r1, [sp, #184] @ 0xb8 │ │ │ │ │ + add.w r5, r4, r3 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - adds r0, r6, r2 │ │ │ │ │ - vldr d3, [r4] │ │ │ │ │ - mov.w r2, r8, lsl #3 │ │ │ │ │ - str r0, [sp, #168] @ 0xa8 │ │ │ │ │ + add.w r0, fp, r3 │ │ │ │ │ + mov.w r2, r2, lsl #4 │ │ │ │ │ + vmla.f64 d8, d3, d6 │ │ │ │ │ + vmul.f64 d6, d15, d4 │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ + mov.w r1, r9, lsl #7 │ │ │ │ │ + add.w sl, r8, r1 │ │ │ │ │ vmla.f64 d6, d9, d7 │ │ │ │ │ vmul.f64 d7, d15, d7 │ │ │ │ │ - vldr d15, [sp, #192] @ 0xc0 │ │ │ │ │ - adds r4, r6, r2 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - adds r0, r4, r3 │ │ │ │ │ - mov.w r2, r8, lsl #7 │ │ │ │ │ + vldr d15, [sp, #200] @ 0xc8 │ │ │ │ │ + vstr d10, [sp, #200] @ 0xc8 │ │ │ │ │ vnmls.f64 d7, d9, d4 │ │ │ │ │ - vldr d9, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d9, [sp, #208] @ 0xd0 │ │ │ │ │ vmul.f64 d4, d15, d3 │ │ │ │ │ - add.w fp, r7, r2 │ │ │ │ │ vmla.f64 d4, d9, d2 │ │ │ │ │ vmul.f64 d2, d15, d2 │ │ │ │ │ vnmls.f64 d2, d9, d3 │ │ │ │ │ - vsub.f64 d3, d11, d6 │ │ │ │ │ - vadd.f64 d6, d11, d6 │ │ │ │ │ + vsub.f64 d3, d10, d6 │ │ │ │ │ vsub.f64 d9, d1, d7 │ │ │ │ │ vadd.f64 d7, d1, d7 │ │ │ │ │ vsub.f64 d15, d4, d8 │ │ │ │ │ vadd.f64 d4, d8, d4 │ │ │ │ │ - vldr d8, [sp, #184] @ 0xb8 │ │ │ │ │ - vstr d15, [sp, #192] @ 0xc0 │ │ │ │ │ - vsub.f64 d15, d2, d5 │ │ │ │ │ + vldr d8, [sp, #192] @ 0xc0 │ │ │ │ │ + vsub.f64 d10, d2, d5 │ │ │ │ │ vadd.f64 d5, d5, d2 │ │ │ │ │ - vadd.f64 d2, d6, d4 │ │ │ │ │ - vsub.f64 d6, d6, d4 │ │ │ │ │ - vmov.f64 d4, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vldr d2, [sp, #200] @ 0xc8 │ │ │ │ │ + vadd.f64 d6, d2, d6 │ │ │ │ │ vadd.f64 d1, d7, d5 │ │ │ │ │ - vadd.f64 d11, d8, d2 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vmov.f64 d5, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vstr d11, [sp, #360] @ 0x168 │ │ │ │ │ - vadd.f64 d11, d14, d1 │ │ │ │ │ - vmls.f64 d14, d1, d5 │ │ │ │ │ - vstr d11, [sp, #368] @ 0x170 │ │ │ │ │ - vldr d11, [sp, #192] @ 0xc0 │ │ │ │ │ - vmul.f64 d8, d11, d13 │ │ │ │ │ + vmov.f64 d5, d11 │ │ │ │ │ + vadd.f64 d2, d6, d4 │ │ │ │ │ + vsub.f64 d6, d6, d4 │ │ │ │ │ + vadd.f64 d8, d8, d2 │ │ │ │ │ + vstr d8, [sp, #352] @ 0x160 │ │ │ │ │ + vadd.f64 d8, d11, d1 │ │ │ │ │ + vmov.f64 d11, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vmls.f64 d5, d1, d11 │ │ │ │ │ + vstr d8, [sp, #360] @ 0x168 │ │ │ │ │ + vmul.f64 d8, d15, d13 │ │ │ │ │ vmla.f64 d8, d3, d12 │ │ │ │ │ vmul.f64 d3, d3, d13 │ │ │ │ │ - vnmls.f64 d3, d11, d12 │ │ │ │ │ - vldr d11, [pc, #984] @ 9b8 │ │ │ │ │ - vmul.f64 d7, d7, d11 │ │ │ │ │ - vmul.f64 d6, d6, d11 │ │ │ │ │ - vadd.f64 d1, d7, d14 │ │ │ │ │ - vsub.f64 d5, d14, d7 │ │ │ │ │ + vnmls.f64 d3, d15, d12 │ │ │ │ │ + vldr d15, [pc, #456] @ 800 │ │ │ │ │ + vmul.f64 d7, d7, d15 │ │ │ │ │ + vadd.f64 d1, d7, d5 │ │ │ │ │ + vsub.f64 d5, d5, d7 │ │ │ │ │ vadd.f64 d7, d8, d1 │ │ │ │ │ - vstr d7, [sp, #376] @ 0x178 │ │ │ │ │ + vstr d7, [sp, #368] @ 0x170 │ │ │ │ │ vadd.f64 d7, d3, d5 │ │ │ │ │ - vstr d7, [sp, #384] @ 0x180 │ │ │ │ │ + vstr d7, [sp, #376] @ 0x178 │ │ │ │ │ vsub.f64 d7, d1, d8 │ │ │ │ │ - vstr d7, [sp, #392] @ 0x188 │ │ │ │ │ + vstr d7, [sp, #384] @ 0x180 │ │ │ │ │ vsub.f64 d7, d5, d3 │ │ │ │ │ - vstr d7, [sp, #400] @ 0x190 │ │ │ │ │ - vmul.f64 d7, d15, d13 │ │ │ │ │ + vmul.f64 d5, d6, d15 │ │ │ │ │ + vstr d7, [sp, #392] @ 0x188 │ │ │ │ │ + vmul.f64 d7, d10, d13 │ │ │ │ │ vmla.f64 d7, d9, d12 │ │ │ │ │ vmul.f64 d9, d9, d13 │ │ │ │ │ - vnmls.f64 d9, d15, d12 │ │ │ │ │ - vldr d15, [sp, #184] @ 0xb8 │ │ │ │ │ - vmls.f64 d15, d2, d4 │ │ │ │ │ - vadd.f64 d4, d6, d15 │ │ │ │ │ - vsub.f64 d5, d15, d6 │ │ │ │ │ + vnmls.f64 d9, d10, d12 │ │ │ │ │ + vldr d10, [sp, #192] @ 0xc0 │ │ │ │ │ + vmls.f64 d10, d2, d11 │ │ │ │ │ + vadd.f64 d4, d5, d10 │ │ │ │ │ + vsub.f64 d6, d10, d5 │ │ │ │ │ vsub.f64 d15, d4, d7 │ │ │ │ │ + vstr d15, [sp, #400] @ 0x190 │ │ │ │ │ + vsub.f64 d15, d6, d9 │ │ │ │ │ + vadd.f64 d9, d9, d6 │ │ │ │ │ vstr d15, [sp, #408] @ 0x198 │ │ │ │ │ - vsub.f64 d15, d5, d9 │ │ │ │ │ - vadd.f64 d9, d9, d5 │ │ │ │ │ - vstr d15, [sp, #416] @ 0x1a0 │ │ │ │ │ vadd.f64 d15, d7, d4 │ │ │ │ │ - vstr d9, [sp, #432] @ 0x1b0 │ │ │ │ │ - vstr d15, [sp, #424] @ 0x1a8 │ │ │ │ │ + vldr d5, [r6, #-120] @ 0xffffff88 │ │ │ │ │ + str r4, [sp, #192] @ 0xc0 │ │ │ │ │ + vldr d7, [fp] │ │ │ │ │ + vstr d9, [sp, #424] @ 0x1a8 │ │ │ │ │ + vldr d1, [sp, #40] @ 0x28 │ │ │ │ │ + str r5, [sp, #200] @ 0xc8 │ │ │ │ │ + vstr d15, [sp, #416] @ 0x1a0 │ │ │ │ │ vldr d15, [r4] │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - vldr d9, [r5, #-120] @ 0xffffff88 │ │ │ │ │ - str r1, [sp, #192] @ 0xc0 │ │ │ │ │ - add r1, r3 │ │ │ │ │ - vldr d2, [sp, #56] @ 0x38 │ │ │ │ │ - vmul.f64 d14, d9, d7 │ │ │ │ │ - vldr d9, [r5, #-128] @ 0xffffff80 │ │ │ │ │ - vldr d1, [sp, #32] │ │ │ │ │ - str r0, [sp, #200] @ 0xc8 │ │ │ │ │ - vmla.f64 d14, d9, d15 │ │ │ │ │ - vldr d9, [r5, #-120] @ 0xffffff88 │ │ │ │ │ - str r1, [sp, #208] @ 0xd0 │ │ │ │ │ - vldr d3, [sp, #272] @ 0x110 │ │ │ │ │ - vmul.f64 d15, d9, d15 │ │ │ │ │ - vldr d9, [r5, #-128] @ 0xffffff80 │ │ │ │ │ - str r4, [sp, #184] @ 0xb8 │ │ │ │ │ - vnmls.f64 d15, d9, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - vldr d9, [r0] │ │ │ │ │ - adds r0, r6, r2 │ │ │ │ │ - add.w r1, fp, r3 │ │ │ │ │ - adds r4, r0, r3 │ │ │ │ │ - vmul.f64 d11, d2, d7 │ │ │ │ │ - movs r2, #88 @ 0x58 │ │ │ │ │ + vmul.f64 d5, d5, d7 │ │ │ │ │ + str r0, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d10, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d2, [sp, #248] @ 0xf8 │ │ │ │ │ + vmov.f64 d9, d5 │ │ │ │ │ + vldr d5, [r6, #-128] @ 0xffffff80 │ │ │ │ │ + vmla.f64 d9, d5, d15 │ │ │ │ │ + vldr d5, [r6, #-120] @ 0xffffff88 │ │ │ │ │ + vmul.f64 d15, d5, d15 │ │ │ │ │ + vldr d5, [r6, #-128] @ 0xffffff80 │ │ │ │ │ + vstr d9, [sp, #440] @ 0x1b8 │ │ │ │ │ + vldr d9, [r5] │ │ │ │ │ + add.w r5, r7, r1 │ │ │ │ │ + vnmls.f64 d15, d5, d7 │ │ │ │ │ + add.w r1, r5, r3 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + add.w r0, sl, r3 │ │ │ │ │ + str r5, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + str r1, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ + str r0, [sp, #216] @ 0xd8 │ │ │ │ │ + mov.w r0, r9, lsl #5 │ │ │ │ │ + vmul.f64 d11, d10, d7 │ │ │ │ │ + add.w ip, r7, r0 │ │ │ │ │ + add r0, r8 │ │ │ │ │ + add.w r5, r0, r3 │ │ │ │ │ vmla.f64 d11, d1, d9 │ │ │ │ │ - vmul.f64 d9, d2, d9 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - vldr d2, [sp, #232] @ 0xe8 │ │ │ │ │ + vmul.f64 d9, d10, d9 │ │ │ │ │ + vldr d10, [sp, #264] @ 0x108 │ │ │ │ │ vnmls.f64 d9, d1, d7 │ │ │ │ │ - vldr d1, [sp, #440] @ 0x1b8 │ │ │ │ │ - vldr d7, [fp] │ │ │ │ │ - str r0, [sp, #32] │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ - vmul.f64 d5, d1, d6 │ │ │ │ │ - str r4, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d7, [sl] │ │ │ │ │ + vldr d1, [sp, #432] @ 0x1b0 │ │ │ │ │ vmul.f64 d8, d1, d7 │ │ │ │ │ - vldr d1, [sp, #224] @ 0xe0 │ │ │ │ │ - vmla.f64 d8, d3, d6 │ │ │ │ │ - vmul.f64 d6, d2, d4 │ │ │ │ │ - vstr d15, [sp, #248] @ 0xf8 │ │ │ │ │ - vnmls.f64 d5, d3, d7 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - adds r4, r6, r2 │ │ │ │ │ - vldr d15, [sp, #264] @ 0x108 │ │ │ │ │ - str r1, [sp, #216] @ 0xd8 │ │ │ │ │ - vmla.f64 d6, d1, d7 │ │ │ │ │ - vmul.f64 d7, d2, d7 │ │ │ │ │ - vldr d2, [sp, #256] @ 0x100 │ │ │ │ │ - str r4, [sp, #224] @ 0xe0 │ │ │ │ │ - str r0, [sp, #232] @ 0xe8 │ │ │ │ │ - vnmls.f64 d7, d1, d4 │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ + vmul.f64 d5, d1, d6 │ │ │ │ │ + vldr d1, [sp, #256] @ 0x100 │ │ │ │ │ + vmla.f64 d8, d10, d6 │ │ │ │ │ + vnmls.f64 d5, d10, d7 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + vmul.f64 d6, d1, d4 │ │ │ │ │ + mov.w r1, #88 @ 0x58 │ │ │ │ │ + vldr d10, [sp, #224] @ 0xe0 │ │ │ │ │ + mul.w r1, r1, r9 │ │ │ │ │ + add.w r4, r7, r1 │ │ │ │ │ + add r1, r8 │ │ │ │ │ + vmla.f64 d6, d10, d7 │ │ │ │ │ + vmul.f64 d7, d1, d7 │ │ │ │ │ vldr d1, [r4] │ │ │ │ │ - mov.w r0, r8, lsl #5 │ │ │ │ │ - add.w r9, r6, r0 │ │ │ │ │ - add r0, r7 │ │ │ │ │ - vmul.f64 d3, d15, d4 │ │ │ │ │ - adds r4, r0, r3 │ │ │ │ │ - vmla.f64 d3, d2, d1 │ │ │ │ │ - vmul.f64 d1, d15, d1 │ │ │ │ │ - add.w r1, r9, r3 │ │ │ │ │ - vnmls.f64 d1, d2, d4 │ │ │ │ │ + str r4, [sp, #224] @ 0xe0 │ │ │ │ │ + add.w r4, ip, r3 │ │ │ │ │ + str r1, [sp, #232] @ 0xe8 │ │ │ │ │ + vnmls.f64 d7, d10, d4 │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ + mov.w r1, #152 @ 0x98 │ │ │ │ │ + vldr d10, [sp, #240] @ 0xf0 │ │ │ │ │ + mul.w r1, r1, r9 │ │ │ │ │ + vmul.f64 d3, d2, d4 │ │ │ │ │ + vmla.f64 d3, d10, d1 │ │ │ │ │ + vmul.f64 d1, d2, d1 │ │ │ │ │ vsub.f64 d2, d9, d7 │ │ │ │ │ vadd.f64 d7, d9, d7 │ │ │ │ │ + vldr d9, [sp, #440] @ 0x1b8 │ │ │ │ │ + vnmls.f64 d1, d10, d4 │ │ │ │ │ vsub.f64 d4, d3, d8 │ │ │ │ │ vadd.f64 d3, d8, d3 │ │ │ │ │ - vstr d4, [sp, #256] @ 0x100 │ │ │ │ │ + vsub.f64 d10, d1, d5 │ │ │ │ │ + vadd.f64 d5, d5, d1 │ │ │ │ │ + vstr d4, [sp, #240] @ 0xf0 │ │ │ │ │ vsub.f64 d4, d11, d6 │ │ │ │ │ vadd.f64 d6, d11, d6 │ │ │ │ │ - vsub.f64 d15, d1, d5 │ │ │ │ │ - vadd.f64 d5, d5, d1 │ │ │ │ │ + vadd.f64 d1, d7, d5 │ │ │ │ │ + vadd.f64 d8, d7, d5 │ │ │ │ │ + vsub.f64 d7, d7, d5 │ │ │ │ │ + vstr d1, [sp, #248] @ 0xf8 │ │ │ │ │ vadd.f64 d1, d6, d3 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ - vadd.f64 d9, d7, d5 │ │ │ │ │ vmov.f64 d3, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vsub.f64 d7, d7, d5 │ │ │ │ │ - vadd.f64 d8, d14, d1 │ │ │ │ │ - vmls.f64 d14, d1, d3 │ │ │ │ │ - vstr d8, [sp, #440] @ 0x1b8 │ │ │ │ │ - vldr d8, [sp, #248] @ 0xf8 │ │ │ │ │ - vadd.f64 d11, d8, d9 │ │ │ │ │ - vmul.f64 d8, d15, d13 │ │ │ │ │ + vldr d5, [sp, #248] @ 0xf8 │ │ │ │ │ + str r5, [sp, #248] @ 0xf8 │ │ │ │ │ + vadd.f64 d11, d9, d1 │ │ │ │ │ + vmls.f64 d9, d1, d3 │ │ │ │ │ + vstr d11, [sp, #432] @ 0x1b0 │ │ │ │ │ + vadd.f64 d11, d15, d8 │ │ │ │ │ + vmul.f64 d8, d10, d13 │ │ │ │ │ + b.n 810 │ │ │ │ │ + nop.w │ │ │ │ │ + .word 0x9b97f4a8 │ │ │ │ │ + .word 0x3fe1e377 │ │ │ │ │ + .word 0x9b97f4a8 │ │ │ │ │ + .word 0x3fe1e377 │ │ │ │ │ vmla.f64 d8, d2, d12 │ │ │ │ │ vmul.f64 d2, d2, d13 │ │ │ │ │ - vstr d11, [sp, #448] @ 0x1c0 │ │ │ │ │ - vldr d11, [pc, #548] @ 9b8 │ │ │ │ │ - vnmls.f64 d2, d15, d12 │ │ │ │ │ + vstr d11, [sp, #440] @ 0x1b8 │ │ │ │ │ + vldr d11, [pc, #-24] @ 808 │ │ │ │ │ + vnmls.f64 d2, d10, d12 │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ - vadd.f64 d1, d6, d14 │ │ │ │ │ - vsub.f64 d3, d14, d6 │ │ │ │ │ - vldr d14, [r9] │ │ │ │ │ - vsub.f64 d15, d1, d8 │ │ │ │ │ - vstr d15, [sp, #456] @ 0x1c8 │ │ │ │ │ - vsub.f64 d15, d3, d2 │ │ │ │ │ - vadd.f64 d2, d2, d3 │ │ │ │ │ - vmov.f64 d3, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vstr d15, [sp, #464] @ 0x1d0 │ │ │ │ │ - vadd.f64 d15, d8, d1 │ │ │ │ │ - vstr d2, [sp, #480] @ 0x1e0 │ │ │ │ │ - vldr d1, [r1] │ │ │ │ │ - vstr d15, [sp, #472] @ 0x1d8 │ │ │ │ │ - vldr d15, [sp, #256] @ 0x100 │ │ │ │ │ - vmul.f64 d6, d15, d13 │ │ │ │ │ + vadd.f64 d1, d6, d9 │ │ │ │ │ + vsub.f64 d3, d9, d6 │ │ │ │ │ + vsub.f64 d10, d1, d8 │ │ │ │ │ + vadd.f64 d1, d8, d1 │ │ │ │ │ + vsub.f64 d9, d3, d2 │ │ │ │ │ + vstr d10, [sp, #448] @ 0x1c0 │ │ │ │ │ + vstr d1, [sp, #464] @ 0x1d0 │ │ │ │ │ + vadd.f64 d1, d2, d3 │ │ │ │ │ + vldr d3, [sp, #240] @ 0xf0 │ │ │ │ │ + str r4, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d10, [sp, #280] @ 0x118 │ │ │ │ │ + vstr d9, [sp, #456] @ 0x1c8 │ │ │ │ │ + vstr d1, [sp, #472] @ 0x1d8 │ │ │ │ │ + vmul.f64 d6, d3, d13 │ │ │ │ │ vmla.f64 d6, d4, d12 │ │ │ │ │ vmul.f64 d4, d4, d13 │ │ │ │ │ - vnmls.f64 d4, d15, d12 │ │ │ │ │ - vldr d15, [sp, #248] @ 0xf8 │ │ │ │ │ - vmls.f64 d15, d9, d3 │ │ │ │ │ - str r4, [sp, #248] @ 0xf8 │ │ │ │ │ + vnmls.f64 d4, d3, d12 │ │ │ │ │ + vmov.f64 d3, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vmls.f64 d15, d5, d3 │ │ │ │ │ vadd.f64 d5, d7, d15 │ │ │ │ │ vsub.f64 d15, d15, d7 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - vadd.f64 d9, d6, d5 │ │ │ │ │ - vsub.f64 d2, d5, d6 │ │ │ │ │ + vadd.f64 d2, d4, d15 │ │ │ │ │ + vadd.f64 d1, d6, d5 │ │ │ │ │ + vsub.f64 d5, d5, d6 │ │ │ │ │ + vsub.f64 d15, d15, d4 │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + vstr d1, [sp, #480] @ 0x1e0 │ │ │ │ │ + vstr d2, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d2, [sp, #8] │ │ │ │ │ + vstr d5, [sp, #496] @ 0x1f0 │ │ │ │ │ vldr d5, [sp] │ │ │ │ │ - vadd.f64 d3, d4, d15 │ │ │ │ │ - vldr d6, [sp, #240] @ 0xf0 │ │ │ │ │ - str r1, [sp, #240] @ 0xf0 │ │ │ │ │ - movs r1, #152 @ 0x98 │ │ │ │ │ - vstr d9, [sp, #488] @ 0x1e8 │ │ │ │ │ - vsub.f64 d9, d15, d4 │ │ │ │ │ - vmul.f64 d15, d5, d7 │ │ │ │ │ - vstr d2, [sp, #504] @ 0x1f8 │ │ │ │ │ - vmla.f64 d15, d6, d14 │ │ │ │ │ - vmul.f64 d14, d5, d14 │ │ │ │ │ - vldr d5, [r5, #-88] @ 0xffffffa8 │ │ │ │ │ - mul.w r1, r1, r8 │ │ │ │ │ - vldr d2, [sp, #520] @ 0x208 │ │ │ │ │ - add.w lr, r6, r1 │ │ │ │ │ - add r1, r7 │ │ │ │ │ - vnmls.f64 d14, d6, d7 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - add.w r2, lr, r3 │ │ │ │ │ - vstr d9, [sp, #512] @ 0x200 │ │ │ │ │ - vldr d6, [lr] │ │ │ │ │ - adds r4, r1, r3 │ │ │ │ │ + vstr d15, [sp, #504] @ 0x1f8 │ │ │ │ │ + vldr d1, [r4] │ │ │ │ │ + vmul.f64 d15, d2, d7 │ │ │ │ │ + vmla.f64 d15, d5, d6 │ │ │ │ │ + vmul.f64 d6, d2, d6 │ │ │ │ │ + vmov.f64 d2, d6 │ │ │ │ │ + vnmls.f64 d2, d5, d7 │ │ │ │ │ + vldr d5, [r6, #-88] @ 0xffffffa8 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, r7, r1 │ │ │ │ │ + add r1, r8 │ │ │ │ │ + add.w r4, r5, r3 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ vmul.f64 d11, d5, d7 │ │ │ │ │ - vldr d5, [r5, #-96] @ 0xffffffa0 │ │ │ │ │ - vldr d9, [sp, #280] @ 0x118 │ │ │ │ │ - str r2, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d5, [r6, #-96] @ 0xffffffa0 │ │ │ │ │ + vstr d2, [sp] │ │ │ │ │ vmla.f64 d11, d5, d1 │ │ │ │ │ - vldr d5, [r5, #-88] @ 0xffffffa8 │ │ │ │ │ - vldr d4, [r4] │ │ │ │ │ - str r4, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d5, [r6, #-88] @ 0xffffffa8 │ │ │ │ │ vmul.f64 d1, d5, d1 │ │ │ │ │ - vldr d5, [r5, #-96] @ 0xffffffa0 │ │ │ │ │ - vstr d3, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d5, [r6, #-96] @ 0xffffffa0 │ │ │ │ │ vnmls.f64 d1, d5, d7 │ │ │ │ │ - vmul.f64 d5, d2, d6 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ + vmul.f64 d5, d10, d6 │ │ │ │ │ + vldr d9, [sp, #272] @ 0x110 │ │ │ │ │ + str r4, [sp, #256] @ 0x100 │ │ │ │ │ + vmul.f64 d8, d10, d7 │ │ │ │ │ + vldr d10, [sp, #512] @ 0x200 │ │ │ │ │ vnmls.f64 d5, d9, d7 │ │ │ │ │ - vmul.f64 d8, d2, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - movs r2, #112 @ 0x70 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + add.w r4, r1, r3 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ vmla.f64 d8, d9, d6 │ │ │ │ │ - vmul.f64 d6, d10, d4 │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - vmla.f64 d6, d0, d7 │ │ │ │ │ - vmul.f64 d7, d10, d7 │ │ │ │ │ - adds r4, r6, r2 │ │ │ │ │ - adds r2, r7, r2 │ │ │ │ │ - str r4, [sp, #272] @ 0x110 │ │ │ │ │ + str r4, [sp, #264] @ 0x108 │ │ │ │ │ + add.w r4, r7, r2 │ │ │ │ │ + add r2, r8 │ │ │ │ │ vldr d9, [sp, #288] @ 0x120 │ │ │ │ │ + str r4, [sp, #272] @ 0x110 │ │ │ │ │ vldr d3, [r2] │ │ │ │ │ - vnmls.f64 d7, d0, d4 │ │ │ │ │ - vldr d10, [sp, #528] @ 0x210 │ │ │ │ │ + str r2, [sp, #280] @ 0x118 │ │ │ │ │ + mov.w r2, r9, lsl #4 │ │ │ │ │ + vmul.f64 d6, d14, d4 │ │ │ │ │ vldr d2, [r4] │ │ │ │ │ + add.w r4, r7, r2 │ │ │ │ │ + vmla.f64 d6, d0, d7 │ │ │ │ │ + vmul.f64 d7, d14, d7 │ │ │ │ │ + vnmls.f64 d7, d0, d4 │ │ │ │ │ vmul.f64 d4, d9, d3 │ │ │ │ │ - vsub.f64 d0, d6, d11 │ │ │ │ │ - vadd.f64 d6, d11, d6 │ │ │ │ │ - str r2, [sp, #280] @ 0x118 │ │ │ │ │ vmla.f64 d4, d10, d2 │ │ │ │ │ vmul.f64 d2, d9, d2 │ │ │ │ │ - mov.w r2, r8, lsl #4 │ │ │ │ │ - adds r4, r7, r2 │ │ │ │ │ - add.w ip, r6, r2 │ │ │ │ │ + vsub.f64 d0, d6, d11 │ │ │ │ │ + vadd.f64 d6, d11, d6 │ │ │ │ │ + vmov.f64 d11, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vnmls.f64 d2, d10, d3 │ │ │ │ │ vsub.f64 d9, d1, d7 │ │ │ │ │ vadd.f64 d7, d1, d7 │ │ │ │ │ - vnmls.f64 d2, d10, d3 │ │ │ │ │ - add.w r2, ip, r3 │ │ │ │ │ vsub.f64 d3, d4, d8 │ │ │ │ │ vadd.f64 d4, d8, d4 │ │ │ │ │ vsub.f64 d10, d2, d5 │ │ │ │ │ vadd.f64 d5, d5, d2 │ │ │ │ │ vadd.f64 d2, d6, d4 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ - vldr d4, [sp, #8] │ │ │ │ │ - str r4, [sp, #8] │ │ │ │ │ vadd.f64 d1, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vadd.f64 d11, d15, d2 │ │ │ │ │ + vadd.f64 d14, d15, d2 │ │ │ │ │ + vmls.f64 d15, d2, d11 │ │ │ │ │ + vstr d14, [sp, #512] @ 0x200 │ │ │ │ │ + vldr d14, [sp] │ │ │ │ │ + str r4, [sp, #0] │ │ │ │ │ vadd.f64 d8, d14, d1 │ │ │ │ │ - vstr d11, [sp, #520] @ 0x208 │ │ │ │ │ - vldr d11, [pc, #140] @ 9b8 │ │ │ │ │ - vstr d8, [sp, #528] @ 0x210 │ │ │ │ │ + vmls.f64 d14, d1, d11 │ │ │ │ │ + vstr d8, [sp, #520] @ 0x208 │ │ │ │ │ vmul.f64 d8, d3, d13 │ │ │ │ │ vmul.f64 d3, d3, d12 │ │ │ │ │ - vmul.f64 d7, d7, d11 │ │ │ │ │ - vmla.f64 d3, d0, d13 │ │ │ │ │ - vmul.f64 d6, d6, d11 │ │ │ │ │ vnmls.f64 d8, d0, d12 │ │ │ │ │ - vmov.f64 d0, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vmls.f64 d14, d1, d0 │ │ │ │ │ - vmls.f64 d15, d2, d0 │ │ │ │ │ + vmla.f64 d3, d0, d13 │ │ │ │ │ + vldr d0, [pc, #-452] @ 808 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ + vmul.f64 d6, d6, d0 │ │ │ │ │ vadd.f64 d1, d7, d14 │ │ │ │ │ vsub.f64 d5, d14, d7 │ │ │ │ │ - vldr d14, [ip] │ │ │ │ │ - vsub.f64 d7, d8, d1 │ │ │ │ │ - vadd.f64 d1, d8, d1 │ │ │ │ │ - vldr d8, [sp, #16] │ │ │ │ │ - str r2, [sp, #16] │ │ │ │ │ - vstr d7, [sp, #536] @ 0x218 │ │ │ │ │ - vadd.f64 d7, d3, d5 │ │ │ │ │ - vsub.f64 d5, d5, d3 │ │ │ │ │ - vstr d1, [sp, #552] @ 0x228 │ │ │ │ │ - vldr d1, [r2] │ │ │ │ │ - movs r2, #136 @ 0x88 │ │ │ │ │ - vstr d7, [sp, #544] @ 0x220 │ │ │ │ │ vmul.f64 d7, d10, d13 │ │ │ │ │ + vsub.f64 d14, d8, d1 │ │ │ │ │ vmla.f64 d7, d9, d12 │ │ │ │ │ vmul.f64 d9, d9, d13 │ │ │ │ │ - vstr d5, [sp, #560] @ 0x230 │ │ │ │ │ + vstr d14, [sp, #528] @ 0x210 │ │ │ │ │ + vadd.f64 d14, d3, d5 │ │ │ │ │ + vsub.f64 d5, d5, d3 │ │ │ │ │ + vnmls.f64 d9, d10, d12 │ │ │ │ │ + vstr d14, [sp, #536] @ 0x218 │ │ │ │ │ + vadd.f64 d14, d8, d1 │ │ │ │ │ + vldr d8, [sp, #24] │ │ │ │ │ + vstr d5, [sp, #552] @ 0x228 │ │ │ │ │ vadd.f64 d5, d6, d15 │ │ │ │ │ vsub.f64 d15, d15, d6 │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - vnmls.f64 d9, d10, d12 │ │ │ │ │ - vadd.f64 d0, d7, d5 │ │ │ │ │ - vsub.f64 d10, d5, d7 │ │ │ │ │ - b.n a38 │ │ │ │ │ - nop │ │ │ │ │ - nop.w │ │ │ │ │ - .word 0x9b97f4a8 │ │ │ │ │ - .word 0x3fe1e377 │ │ │ │ │ - .word 0x5480d903 │ │ │ │ │ - .word 0x3fefbf67 │ │ │ │ │ - .word 0xfeb501bc │ │ │ │ │ - .word 0x3fe465c6 │ │ │ │ │ - .word 0xc925819c │ │ │ │ │ - .word 0x3fdb3ff7 │ │ │ │ │ - .word 0x635b6bea │ │ │ │ │ - .word 0x3fe8a80b │ │ │ │ │ - .word 0xdcdc158c │ │ │ │ │ - .word 0x3fecf457 │ │ │ │ │ - .word 0x5da15be0 │ │ │ │ │ - .word 0x3fc00aeb │ │ │ │ │ - .word 0x5cbfa951 │ │ │ │ │ - .word 0x3fded50d │ │ │ │ │ - .word 0xfa1c0796 │ │ │ │ │ - .word 0x3fcfd511 │ │ │ │ │ - .word 0x1d101ee0 │ │ │ │ │ - .word 0x3feefea2 │ │ │ │ │ - .word 0x4e81c059 │ │ │ │ │ - .word 0x3fec0ab4 │ │ │ │ │ - .word 0x9b97f4a8 │ │ │ │ │ - .word 0x3fe1e377 │ │ │ │ │ - .word 0x3c182b51 │ │ │ │ │ - .word 0x3fe1257e │ │ │ │ │ - .word 0xff642e86 │ │ │ │ │ - .word 0x3feb04bb │ │ │ │ │ - .word 0x55112014 │ │ │ │ │ - .word 0x3fe5e7cf │ │ │ │ │ - .word 0x03d2b816 │ │ │ │ │ - .word 0x3fe753b6 │ │ │ │ │ + vstr d14, [sp, #544] @ 0x220 │ │ │ │ │ + vldr d14, [r4] │ │ │ │ │ + add.w r4, r8, r2 │ │ │ │ │ + add r2, r9 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + vldr d6, [sp, #16] │ │ │ │ │ + str r4, [sp, #8] │ │ │ │ │ + vsub.f64 d0, d5, d7 │ │ │ │ │ + vadd.f64 d2, d7, d5 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ - add r4, r3 │ │ │ │ │ - str r4, [sp, #288] @ 0x120 │ │ │ │ │ - vmul.f64 d5, d4, d7 │ │ │ │ │ - vadd.f64 d3, d9, d15 │ │ │ │ │ - vstr d10, [sp, #568] @ 0x238 │ │ │ │ │ vsub.f64 d10, d15, d9 │ │ │ │ │ - vstr d0, [sp, #584] @ 0x248 │ │ │ │ │ + vadd.f64 d15, d9, d15 │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ + vmul.f64 d5, d6, d7 │ │ │ │ │ + vstr d0, [sp, #560] @ 0x230 │ │ │ │ │ + add r4, r3 │ │ │ │ │ + vstr d15, [sp, #584] @ 0x248 │ │ │ │ │ + vldr d1, [r4] │ │ │ │ │ + str r4, [sp, #24] │ │ │ │ │ + ldr r4, [sp, #8] │ │ │ │ │ vmov.f64 d15, d5 │ │ │ │ │ - vldr d5, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d10, [sp, #568] @ 0x238 │ │ │ │ │ + vstr d2, [sp, #576] @ 0x240 │ │ │ │ │ vmla.f64 d15, d8, d14 │ │ │ │ │ - vmul.f64 d14, d4, d14 │ │ │ │ │ - vldr d4, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d3, [sp, #592] @ 0x250 │ │ │ │ │ - vldr d3, [sp, #616] @ 0x268 │ │ │ │ │ + vmul.f64 d14, d6, d14 │ │ │ │ │ + add r4, r3 │ │ │ │ │ + str r4, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d4, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d6, [sp, #80] @ 0x50 │ │ │ │ │ vnmls.f64 d14, d8, d7 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ - adds r4, r6, r2 │ │ │ │ │ - add r2, r7 │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ - vmul.f64 d11, d5, d7 │ │ │ │ │ - vstr d10, [sp, #576] @ 0x240 │ │ │ │ │ + add.w r4, r7, r2 │ │ │ │ │ + add r2, r8 │ │ │ │ │ + str r2, [sp, #16] │ │ │ │ │ + vldr d2, [sp, #616] @ 0x268 │ │ │ │ │ + vldr d10, [sp, #600] @ 0x258 │ │ │ │ │ + vmul.f64 d11, d6, d7 │ │ │ │ │ + vldr d9, [sp, #632] @ 0x278 │ │ │ │ │ vmla.f64 d11, d4, d1 │ │ │ │ │ - vmul.f64 d1, d5, d1 │ │ │ │ │ + vmul.f64 d1, d6, d1 │ │ │ │ │ vldr d6, [r4] │ │ │ │ │ vnmls.f64 d1, d4, d7 │ │ │ │ │ - vldr d4, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d4, [sp, #608] @ 0x260 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - adds r2, r4, r3 │ │ │ │ │ - str r2, [sp, #64] @ 0x40 │ │ │ │ │ + add.w r2, r4, r3 │ │ │ │ │ + str r2, [sp, #72] @ 0x48 │ │ │ │ │ vmul.f64 d5, d4, d6 │ │ │ │ │ vmul.f64 d8, d4, d7 │ │ │ │ │ - vmla.f64 d8, d3, d6 │ │ │ │ │ - vnmls.f64 d5, d3, d7 │ │ │ │ │ + vnmls.f64 d5, d2, d7 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - ldr r2, [sp, #0] │ │ │ │ │ - vldr d2, [sp, #632] @ 0x278 │ │ │ │ │ + ldr r2, [sp, #16] │ │ │ │ │ + vmla.f64 d8, d2, d6 │ │ │ │ │ + vldr d2, [sp, #624] @ 0x270 │ │ │ │ │ add r3, r2 │ │ │ │ │ - str r3, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d3, [sp, #624] @ 0x270 │ │ │ │ │ - vldr d10, [sp, #608] @ 0x260 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ - movs r3, #96 @ 0x60 │ │ │ │ │ - vldr d9, [sp, #600] @ 0x258 │ │ │ │ │ - vstr d15, [sp, #600] @ 0x258 │ │ │ │ │ - vmul.f64 d6, d2, d4 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - vmla.f64 d6, d3, d7 │ │ │ │ │ - vmul.f64 d7, d2, d7 │ │ │ │ │ - adds r2, r6, r3 │ │ │ │ │ - add r3, r7 │ │ │ │ │ - str r2, [sp, #296] @ 0x128 │ │ │ │ │ - vnmls.f64 d7, d3, d4 │ │ │ │ │ + str r3, [sp, #80] @ 0x50 │ │ │ │ │ + ldr r3, [sp, #720] @ 0x2d0 │ │ │ │ │ + vmul.f64 d6, d9, d4 │ │ │ │ │ + mov.w r3, r3, lsl #5 │ │ │ │ │ + add.w r2, r7, r3 │ │ │ │ │ + add r3, r8 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ + vmla.f64 d6, d2, d7 │ │ │ │ │ + vmul.f64 d7, d9, d7 │ │ │ │ │ + str r2, [sp, #720] @ 0x2d0 │ │ │ │ │ + vldr d9, [sp, #592] @ 0x250 │ │ │ │ │ + vstr d15, [sp, #592] @ 0x250 │ │ │ │ │ + vnmls.f64 d7, d2, d4 │ │ │ │ │ vldr d2, [r2] │ │ │ │ │ vmul.f64 d4, d10, d3 │ │ │ │ │ vmla.f64 d4, d9, d2 │ │ │ │ │ vmul.f64 d2, d10, d2 │ │ │ │ │ vnmls.f64 d2, d9, d3 │ │ │ │ │ vsub.f64 d3, d11, d6 │ │ │ │ │ vadd.f64 d6, d11, d6 │ │ │ │ │ vsub.f64 d9, d1, d7 │ │ │ │ │ vadd.f64 d7, d1, d7 │ │ │ │ │ - vldr d11, [pc, #-268] @ a10 │ │ │ │ │ + vmov.f64 d11, #80 @ 0x3e800000 0.250 │ │ │ │ │ vsub.f64 d0, d4, d8 │ │ │ │ │ vadd.f64 d4, d8, d4 │ │ │ │ │ vsub.f64 d10, d2, d5 │ │ │ │ │ vadd.f64 d5, d5, d2 │ │ │ │ │ vadd.f64 d2, d6, d4 │ │ │ │ │ vsub.f64 d4, d6, d4 │ │ │ │ │ - vldr d6, [sp, #600] @ 0x258 │ │ │ │ │ + vldr d6, [sp, #592] @ 0x250 │ │ │ │ │ vadd.f64 d1, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vadd.f64 d8, d15, d2 │ │ │ │ │ - vmul.f64 d4, d4, d11 │ │ │ │ │ - vmul.f64 d7, d7, d11 │ │ │ │ │ - vstr d8, [sp, #608] @ 0x260 │ │ │ │ │ + vmls.f64 d6, d2, d11 │ │ │ │ │ + vstr d8, [sp, #600] @ 0x258 │ │ │ │ │ vadd.f64 d8, d14, d1 │ │ │ │ │ - vstr d8, [sp, #616] @ 0x268 │ │ │ │ │ + vmls.f64 d14, d1, d11 │ │ │ │ │ + vstr d8, [sp, #608] @ 0x260 │ │ │ │ │ vmul.f64 d8, d0, d13 │ │ │ │ │ vmla.f64 d8, d3, d12 │ │ │ │ │ vmul.f64 d3, d3, d13 │ │ │ │ │ vnmls.f64 d3, d0, d12 │ │ │ │ │ - vmov.f64 d0, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vmls.f64 d14, d1, d0 │ │ │ │ │ - vmls.f64 d6, d2, d0 │ │ │ │ │ - vldr d2, [r6] │ │ │ │ │ + vldr d0, [pc, #-880] @ 808 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ + vmul.f64 d4, d4, d0 │ │ │ │ │ vadd.f64 d15, d7, d14 │ │ │ │ │ vsub.f64 d5, d14, d7 │ │ │ │ │ vmul.f64 d7, d10, d13 │ │ │ │ │ + vadd.f64 d14, d8, d15 │ │ │ │ │ vmla.f64 d7, d9, d12 │ │ │ │ │ vmul.f64 d9, d9, d13 │ │ │ │ │ - vadd.f64 d14, d8, d15 │ │ │ │ │ vadd.f64 d1, d3, d5 │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ vsub.f64 d15, d15, d8 │ │ │ │ │ - vnmls.f64 d9, d10, d12 │ │ │ │ │ - vldr d8, [sp, #528] @ 0x210 │ │ │ │ │ - vldr d10, [sp, #360] @ 0x168 │ │ │ │ │ - vstr d14, [sp, #624] @ 0x270 │ │ │ │ │ + vstr d14, [sp, #616] @ 0x268 │ │ │ │ │ vadd.f64 d14, d4, d6 │ │ │ │ │ + vnmls.f64 d9, d10, d12 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ - vstr d1, [sp, #632] @ 0x278 │ │ │ │ │ - vmov.f64 d1, d11 │ │ │ │ │ - vstr d5, [sp, #640] @ 0x280 │ │ │ │ │ - vldr d5, [sp, #448] @ 0x1c0 │ │ │ │ │ - vsub.f64 d3, d14, d7 │ │ │ │ │ + vstr d1, [sp, #624] @ 0x270 │ │ │ │ │ + vmov.f64 d1, d0 │ │ │ │ │ + vstr d5, [sp, #632] @ 0x278 │ │ │ │ │ + vmov.f64 d0, d11 │ │ │ │ │ + vsub.f64 d4, d14, d7 │ │ │ │ │ vadd.f64 d14, d7, d14 │ │ │ │ │ - vldr d4, [sp, #328] @ 0x148 │ │ │ │ │ - vsub.f64 d11, d6, d9 │ │ │ │ │ - vadd.f64 d6, d9, d6 │ │ │ │ │ - vldr d9, [sp, #616] @ 0x268 │ │ │ │ │ - vstr d3, [sp, #600] @ 0x258 │ │ │ │ │ - vadd.f64 d4, d2, d4 │ │ │ │ │ - vldr d3, [sp, #368] @ 0x170 │ │ │ │ │ - vstr d6, [sp, #656] @ 0x290 │ │ │ │ │ - vsub.f64 d6, d5, d8 │ │ │ │ │ - vstr d11, [sp, #648] @ 0x288 │ │ │ │ │ - vsub.f64 d7, d9, d3 │ │ │ │ │ - vldr d8, [sp, #440] @ 0x1b8 │ │ │ │ │ - vldr d11, [sp, #520] @ 0x208 │ │ │ │ │ + vadd.f64 d2, d9, d6 │ │ │ │ │ + vstr d4, [sp, #592] @ 0x250 │ │ │ │ │ + vsub.f64 d4, d6, d9 │ │ │ │ │ + vstr d4, [sp, #640] @ 0x280 │ │ │ │ │ + vldr d4, [sp, #440] @ 0x1b8 │ │ │ │ │ + vstr d2, [sp, #648] @ 0x288 │ │ │ │ │ + vldr d6, [sp, #520] @ 0x208 │ │ │ │ │ + vldr d8, [r7] │ │ │ │ │ + vldr d9, [sp, #608] @ 0x260 │ │ │ │ │ + vsub.f64 d6, d4, d6 │ │ │ │ │ + ldr r2, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d4, [sp, #360] @ 0x168 │ │ │ │ │ + vldr d10, [sp, #432] @ 0x1b0 │ │ │ │ │ + vldr d11, [sp, #512] @ 0x200 │ │ │ │ │ + vsub.f64 d7, d9, d4 │ │ │ │ │ + vldr d4, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d9, [sp, #672] @ 0x2a0 │ │ │ │ │ vmul.f64 d5, d7, d13 │ │ │ │ │ + vadd.f64 d4, d8, d4 │ │ │ │ │ + vldr d8, [sp, #352] @ 0x160 │ │ │ │ │ vmla.f64 d5, d6, d12 │ │ │ │ │ vmul.f64 d6, d6, d13 │ │ │ │ │ vnmls.f64 d6, d7, d12 │ │ │ │ │ - vadd.f64 d7, d8, d11 │ │ │ │ │ - vldr d11, [sp, #608] @ 0x260 │ │ │ │ │ - vadd.f64 d2, d10, d11 │ │ │ │ │ - vldr d10, [pc, #-520] @ a18 │ │ │ │ │ + vadd.f64 d7, d10, d11 │ │ │ │ │ + vldr d11, [sp, #600] @ 0x258 │ │ │ │ │ + vldr d10, [pc, #980] @ 1008 │ │ │ │ │ + vadd.f64 d2, d8, d11 │ │ │ │ │ + vmov.f64 d8, d4 │ │ │ │ │ + vldr d11, [sp, #304] @ 0x130 │ │ │ │ │ vadd.f64 d3, d7, d2 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ - vmov.f64 d2, d4 │ │ │ │ │ - vmls.f64 d2, d3, d0 │ │ │ │ │ + vmls.f64 d8, d3, d0 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ + vldr d0, [sp, #560] @ 0x230 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ - vstr d4, [r6] │ │ │ │ │ - ldr r2, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d8, [sp, #312] @ 0x138 │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ + vmov.f64 d2, d8 │ │ │ │ │ + vldr d8, [sp, #656] @ 0x290 │ │ │ │ │ vsub.f64 d4, d2, d7 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ - vldr d2, [sp, #680] @ 0x2a8 │ │ │ │ │ - vldr d9, [sp, #320] @ 0x140 │ │ │ │ │ - vldr d11, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d2, [sp, #312] @ 0x138 │ │ │ │ │ vsub.f64 d3, d4, d6 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vldr d0, [sp, #536] @ 0x218 │ │ │ │ │ - vldr d4, [pc, #-676] @ 9c0 │ │ │ │ │ + vldr d4, [sp, #592] @ 0x250 │ │ │ │ │ vstr d3, [r2] │ │ │ │ │ ldr r2, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d3, [sp, #664] @ 0x298 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ vsub.f64 d6, d7, d5 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ - ldr r2, [sp, #80] @ 0x50 │ │ │ │ │ + ldr r2, [sp, #88] @ 0x58 │ │ │ │ │ vstr d6, [r0] │ │ │ │ │ - vldr d6, [sp, #336] @ 0x150 │ │ │ │ │ + vldr d6, [sp, #328] @ 0x148 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ - vadd.f64 d7, d8, d6 │ │ │ │ │ - vldr d6, [pc, #-712] @ 9c8 │ │ │ │ │ - vsub.f64 d8, d7, d2 │ │ │ │ │ - vadd.f64 d2, d2, d7 │ │ │ │ │ - vldr d7, [sp, #352] @ 0x160 │ │ │ │ │ - vadd.f64 d7, d9, d7 │ │ │ │ │ - vstr d8, [sp, #680] @ 0x2a8 │ │ │ │ │ - vldr d8, [pc, #-728] @ 9d0 │ │ │ │ │ - vstr d2, [sp, #80] @ 0x50 │ │ │ │ │ - vsub.f64 d9, d7, d3 │ │ │ │ │ - vadd.f64 d3, d3, d7 │ │ │ │ │ - vstr d9, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d9, [pc, #-668] @ a20 │ │ │ │ │ - vstr d3, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d3, [sp, #568] @ 0x238 │ │ │ │ │ - vmul.f64 d7, d11, d9 │ │ │ │ │ - vldr d11, [sp, #456] @ 0x1c8 │ │ │ │ │ - vmul.f64 d6, d3, d6 │ │ │ │ │ - vldr d3, [pc, #-764] @ 9d8 │ │ │ │ │ - vmla.f64 d7, d11, d10 │ │ │ │ │ - vldr d11, [sp, #600] @ 0x258 │ │ │ │ │ - vnmls.f64 d6, d0, d3 │ │ │ │ │ - vmul.f64 d3, d11, d8 │ │ │ │ │ - vldr d8, [sp, #624] @ 0x270 │ │ │ │ │ - vldr d11, [pc, #-780] @ 9e0 │ │ │ │ │ - vnmls.f64 d3, d8, d11 │ │ │ │ │ - vldr d11, [sp, #408] @ 0x198 │ │ │ │ │ - vldr d8, [pc, #-784] @ 9e8 │ │ │ │ │ - vmul.f64 d4, d11, d4 │ │ │ │ │ - vldr d11, [sp, #376] @ 0x178 │ │ │ │ │ + vadd.f64 d7, d11, d6 │ │ │ │ │ + vldr d6, [pc, #876] @ 1010 │ │ │ │ │ + vsub.f64 d11, d7, d9 │ │ │ │ │ + vadd.f64 d9, d9, d7 │ │ │ │ │ + vldr d7, [sp, #344] @ 0x158 │ │ │ │ │ + vmul.f64 d6, d0, d6 │ │ │ │ │ + vldr d0, [sp, #528] @ 0x210 │ │ │ │ │ + vadd.f64 d7, d2, d7 │ │ │ │ │ + vstr d9, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d9, [pc, #900] @ 1048 │ │ │ │ │ + vstr d11, [sp, #672] @ 0x2a0 │ │ │ │ │ + vldr d11, [pc, #900] @ 1050 │ │ │ │ │ + vsub.f64 d2, d7, d8 │ │ │ │ │ + vadd.f64 d8, d8, d7 │ │ │ │ │ + vmul.f64 d3, d4, d11 │ │ │ │ │ + vldr d11, [pc, #932] @ 1080 │ │ │ │ │ + vstr d2, [sp, #120] @ 0x78 │ │ │ │ │ + vstr d8, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d8, [sp, #480] @ 0x1e0 │ │ │ │ │ + vldr d2, [pc, #924] @ 1088 │ │ │ │ │ + vmul.f64 d7, d8, d9 │ │ │ │ │ + vldr d8, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d4, [sp, #616] @ 0x268 │ │ │ │ │ + vmla.f64 d7, d8, d10 │ │ │ │ │ + vldr d8, [pc, #920] @ 1098 │ │ │ │ │ + vnmls.f64 d6, d0, d8 │ │ │ │ │ + vldr d8, [pc, #864] @ 1068 │ │ │ │ │ + vldr d0, [sp, #368] @ 0x170 │ │ │ │ │ + vnmls.f64 d3, d4, d8 │ │ │ │ │ + vldr d4, [sp, #400] @ 0x190 │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ - vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [sp, #504] @ 0x1f8 │ │ │ │ │ - vnmls.f64 d4, d11, d8 │ │ │ │ │ - vldr d11, [pc, #-804] @ 9f0 │ │ │ │ │ - vstr d6, [sp, #704] @ 0x2c0 │ │ │ │ │ - vldr d6, [pc, #-804] @ 9f8 │ │ │ │ │ + vsub.f64 d7, d6, d7 │ │ │ │ │ + vldr d6, [pc, #760] @ 1018 │ │ │ │ │ + vmul.f64 d4, d4, d11 │ │ │ │ │ + vldr d11, [pc, #760] @ 1020 │ │ │ │ │ + vstr d7, [sp, #696] @ 0x2b8 │ │ │ │ │ + vnmls.f64 d4, d0, d2 │ │ │ │ │ + vldr d7, [sp, #576] @ 0x240 │ │ │ │ │ vadd.f64 d2, d3, d4 │ │ │ │ │ vsub.f64 d3, d3, d4 │ │ │ │ │ + vmul.f64 d4, d7, d9 │ │ │ │ │ + vldr d7, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d9, [sp, #544] @ 0x220 │ │ │ │ │ vadd.f64 d8, d5, d2 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ - vldr d2, [sp, #584] @ 0x248 │ │ │ │ │ - vstr d3, [sp, #696] @ 0x2b8 │ │ │ │ │ - vldr d3, [pc, #-824] @ a00 │ │ │ │ │ - vstr d8, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d2, [sp, #384] @ 0x180 │ │ │ │ │ + vnmls.f64 d4, d9, d10 │ │ │ │ │ + vldr d10, [pc, #788] @ 1070 │ │ │ │ │ + vldr d9, [pc, #712] @ 1028 │ │ │ │ │ + vstr d8, [sp, #320] @ 0x140 │ │ │ │ │ vmul.f64 d8, d5, d1 │ │ │ │ │ - vldr d5, [sp, #472] @ 0x1d8 │ │ │ │ │ - vmul.f64 d4, d2, d9 │ │ │ │ │ - vldr d9, [pc, #-836] @ a08 │ │ │ │ │ + vldr d5, [sp, #464] @ 0x1d0 │ │ │ │ │ + vstr d3, [sp, #688] @ 0x2b0 │ │ │ │ │ + vldr d3, [pc, #700] @ 1030 │ │ │ │ │ + vmul.f64 d7, d7, d10 │ │ │ │ │ + vldr d10, [pc, #764] @ 1078 │ │ │ │ │ vmul.f64 d0, d5, d6 │ │ │ │ │ - vldr d5, [sp, #552] @ 0x228 │ │ │ │ │ - vldr d2, [sp, #424] @ 0x1a8 │ │ │ │ │ - ldr r2, [sp, #160] @ 0xa0 │ │ │ │ │ - vnmls.f64 d4, d5, d10 │ │ │ │ │ - vldr d10, [pc, #-828] @ a28 │ │ │ │ │ - vnmls.f64 d0, d7, d3 │ │ │ │ │ + vldr d5, [sp, #496] @ 0x1f0 │ │ │ │ │ + vnmls.f64 d7, d2, d10 │ │ │ │ │ + vnmls.f64 d0, d5, d3 │ │ │ │ │ vmul.f64 d5, d14, d11 │ │ │ │ │ - vmul.f64 d7, d2, d10 │ │ │ │ │ - vldr d2, [sp, #392] @ 0x188 │ │ │ │ │ - vldr d10, [pc, #-840] @ a30 │ │ │ │ │ vnmls.f64 d5, d15, d9 │ │ │ │ │ - vnmls.f64 d7, d2, d10 │ │ │ │ │ vadd.f64 d1, d0, d4 │ │ │ │ │ vsub.f64 d10, d0, d4 │ │ │ │ │ - vldr d0, [pc, #-892] @ a10 │ │ │ │ │ - vstr d10, [sp, #712] @ 0x2c8 │ │ │ │ │ + vldr d4, [sp, #576] @ 0x240 │ │ │ │ │ + vldr d0, [pc, #764] @ 10a0 │ │ │ │ │ vadd.f64 d2, d5, d7 │ │ │ │ │ vsub.f64 d7, d5, d7 │ │ │ │ │ - vldr d5, [sp, #472] @ 0x1d8 │ │ │ │ │ + vldr d5, [sp, #496] @ 0x1f0 │ │ │ │ │ + vstr d10, [sp, #704] @ 0x2c0 │ │ │ │ │ + vmul.f64 d6, d5, d6 │ │ │ │ │ + vldr d5, [sp, #464] @ 0x1d0 │ │ │ │ │ vsub.f64 d10, d1, d2 │ │ │ │ │ - vstr d7, [sp, #720] @ 0x2d0 │ │ │ │ │ - vadd.f64 d1, d1, d2 │ │ │ │ │ - vldr d7, [sp, #504] @ 0x1f8 │ │ │ │ │ - vmul.f64 d6, d7, d6 │ │ │ │ │ - vldr d7, [pc, #-924] @ a18 │ │ │ │ │ + vadd.f64 d2, d1, d2 │ │ │ │ │ + vldr d1, [pc, #640] @ 1048 │ │ │ │ │ vmla.f64 d6, d5, d3 │ │ │ │ │ - vstr d1, [sp, #664] @ 0x298 │ │ │ │ │ - vldr d5, [sp, #552] @ 0x228 │ │ │ │ │ + vldr d5, [sp, #544] @ 0x220 │ │ │ │ │ vmul.f64 d10, d10, d0 │ │ │ │ │ - vldr d1, [pc, #-936] @ a20 │ │ │ │ │ - vldr d3, [sp, #584] @ 0x248 │ │ │ │ │ + vstr d7, [sp, #712] @ 0x2c8 │ │ │ │ │ + vldr d7, [pc, #556] @ 1008 │ │ │ │ │ + vstr d2, [sp, #656] @ 0x290 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - vmla.f64 d5, d3, d7 │ │ │ │ │ + vmla.f64 d5, d4, d7 │ │ │ │ │ vmul.f64 d7, d15, d11 │ │ │ │ │ + vldr d15, [sp, #384] @ 0x180 │ │ │ │ │ vmla.f64 d7, d14, d9 │ │ │ │ │ - vldr d15, [pc, #-952] @ a28 │ │ │ │ │ - vldr d14, [sp, #392] @ 0x188 │ │ │ │ │ - vmul.f64 d4, d14, d15 │ │ │ │ │ - vldr d14, [sp, #424] @ 0x1a8 │ │ │ │ │ - vldr d15, [pc, #-960] @ a30 │ │ │ │ │ + vldr d14, [pc, #632] @ 1070 │ │ │ │ │ vadd.f64 d3, d6, d5 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ + vldr d6, [sp, #448] @ 0x1c0 │ │ │ │ │ + vmul.f64 d4, d15, d14 │ │ │ │ │ + vldr d14, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d15, [pc, #616] @ 1078 │ │ │ │ │ + vmul.f64 d6, d6, d1 │ │ │ │ │ + vldr d1, [sp, #480] @ 0x1e0 │ │ │ │ │ vmla.f64 d4, d14, d15 │ │ │ │ │ vadd.f64 d2, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d4, [pc, #624] @ 1098 │ │ │ │ │ vadd.f64 d15, d3, d2 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ - vmul.f64 d6, d4, d1 │ │ │ │ │ - vldr d4, [sp, #488] @ 0x1e8 │ │ │ │ │ - vldr d2, [pc, #972] @ 11e8 │ │ │ │ │ + vldr d2, [pc, #476] @ 1010 │ │ │ │ │ vmul.f64 d14, d3, d0 │ │ │ │ │ - vldr d3, [pc, #972] @ 11f0 │ │ │ │ │ - vldr d0, [sp, #408] @ 0x198 │ │ │ │ │ - vnmls.f64 d6, d4, d3 │ │ │ │ │ - vldr d4, [sp, #536] @ 0x218 │ │ │ │ │ - vldr d3, [pc, #964] @ 11f8 │ │ │ │ │ - vmul.f64 d1, d4, d2 │ │ │ │ │ - vldr d4, [sp, #568] @ 0x238 │ │ │ │ │ - vldr d2, [sp, #376] @ 0x178 │ │ │ │ │ - vmla.f64 d1, d4, d3 │ │ │ │ │ - vldr d4, [pc, #952] @ 1200 │ │ │ │ │ - vstr d6, [sp, #392] @ 0x188 │ │ │ │ │ - vmul.f64 d4, d2, d4 │ │ │ │ │ - vldr d2, [pc, #948] @ 1208 │ │ │ │ │ - vmla.f64 d4, d0, d2 │ │ │ │ │ - vldr d0, [sp, #624] @ 0x270 │ │ │ │ │ - vldr d2, [pc, #944] @ 1210 │ │ │ │ │ + vldr d3, [pc, #460] @ 1008 │ │ │ │ │ + vldr d0, [sp, #368] @ 0x170 │ │ │ │ │ + vnmls.f64 d6, d1, d3 │ │ │ │ │ + vldr d1, [sp, #528] @ 0x210 │ │ │ │ │ + vldr d3, [sp, #560] @ 0x230 │ │ │ │ │ + vmul.f64 d1, d1, d2 │ │ │ │ │ + vldr d2, [pc, #564] @ 1088 │ │ │ │ │ + vstr d6, [sp, #384] @ 0x180 │ │ │ │ │ + vmla.f64 d1, d3, d4 │ │ │ │ │ + vldr d4, [pc, #544] @ 1080 │ │ │ │ │ + vmul.f64 d4, d0, d4 │ │ │ │ │ + vldr d0, [sp, #400] @ 0x190 │ │ │ │ │ vadd.f64 d3, d6, d1 │ │ │ │ │ - vldr d6, [sp, #600] @ 0x258 │ │ │ │ │ + vldr d6, [sp, #592] @ 0x250 │ │ │ │ │ + vmla.f64 d4, d0, d2 │ │ │ │ │ + vldr d0, [sp, #616] @ 0x268 │ │ │ │ │ + vldr d2, [pc, #468] @ 1050 │ │ │ │ │ vmul.f64 d2, d0, d2 │ │ │ │ │ - vldr d0, [pc, #936] @ 1218 │ │ │ │ │ + vldr d0, [pc, #484] @ 1068 │ │ │ │ │ vmla.f64 d2, d6, d0 │ │ │ │ │ - vldr d6, [sp, #392] @ 0x188 │ │ │ │ │ + vldr d6, [sp, #384] @ 0x180 │ │ │ │ │ vsub.f64 d6, d6, d1 │ │ │ │ │ vadd.f64 d0, d4, d2 │ │ │ │ │ vsub.f64 d4, d4, d2 │ │ │ │ │ + vstr d6, [sp, #368] @ 0x170 │ │ │ │ │ vsub.f64 d1, d3, d0 │ │ │ │ │ vadd.f64 d3, d3, d0 │ │ │ │ │ - vldr d0, [pc, #912] @ 1220 │ │ │ │ │ - vstr d4, [sp, #376] @ 0x178 │ │ │ │ │ - vldr d4, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d0, [pc, #504] @ 10a0 │ │ │ │ │ vmul.f64 d3, d3, d0 │ │ │ │ │ - vldr d0, [sp, #680] @ 0x2a8 │ │ │ │ │ - vadd.f64 d2, d0, d4 │ │ │ │ │ - vldr d4, [sp, #664] @ 0x298 │ │ │ │ │ - vstr d2, [r9] │ │ │ │ │ - vldr d2, [sp, #112] @ 0x70 │ │ │ │ │ - vadd.f64 d2, d2, d4 │ │ │ │ │ + vldr d0, [sp, #672] @ 0x2a0 │ │ │ │ │ + ldr r0, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d6, [sp, #320] @ 0x140 │ │ │ │ │ + ldr r2, [sp, #168] @ 0xa8 │ │ │ │ │ + vadd.f64 d2, d0, d6 │ │ │ │ │ + vldr d6, [sp, #656] @ 0x290 │ │ │ │ │ + vstr d2, [ip] │ │ │ │ │ + vldr d2, [sp, #120] @ 0x78 │ │ │ │ │ + vadd.f64 d2, d2, d6 │ │ │ │ │ + vldr d6, [sp, #368] @ 0x170 │ │ │ │ │ vstr d2, [r2] │ │ │ │ │ + ldr r2, [sp, #112] @ 0x70 │ │ │ │ │ vldr d2, [sp, #248] @ 0xf8 │ │ │ │ │ - ldr r2, [sp, #104] @ 0x68 │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ vstr d2, [r2] │ │ │ │ │ - vldr d2, [sp, #80] @ 0x50 │ │ │ │ │ - ldr r2, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d4, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d2, [sp, #88] @ 0x58 │ │ │ │ │ + ldr r2, [sp, #192] @ 0xc0 │ │ │ │ │ vadd.f64 d2, d2, d15 │ │ │ │ │ - ldr r0, [sp, #120] @ 0x78 │ │ │ │ │ vstr d2, [r2] │ │ │ │ │ vmul.f64 d2, d4, d13 │ │ │ │ │ + ldr r2, [sp, #96] @ 0x60 │ │ │ │ │ vmla.f64 d2, d6, d12 │ │ │ │ │ vmul.f64 d6, d6, d13 │ │ │ │ │ - ldr r2, [sp, #88] @ 0x58 │ │ │ │ │ vnmls.f64 d6, d4, d12 │ │ │ │ │ vmov.f64 d4, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vstr d6, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d6, [sp, #328] @ 0x148 │ │ │ │ │ + vstr d6, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d6, [sp, #320] @ 0x140 │ │ │ │ │ vmls.f64 d0, d6, d4 │ │ │ │ │ - vldr d6, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d6, [sp, #112] @ 0x70 │ │ │ │ │ vmov.f64 d4, d0 │ │ │ │ │ vadd.f64 d0, d8, d0 │ │ │ │ │ vsub.f64 d4, d4, d8 │ │ │ │ │ vsub.f64 d8, d0, d2 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ - vldr d0, [sp, #696] @ 0x2b8 │ │ │ │ │ - vstr d8, [r7] │ │ │ │ │ + vldr d0, [sp, #656] @ 0x290 │ │ │ │ │ + vstr d8, [r8] │ │ │ │ │ vadd.f64 d8, d6, d4 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vmul.f64 d6, d7, d12 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ vmla.f64 d6, d5, d13 │ │ │ │ │ + vnmls.f64 d7, d5, d12 │ │ │ │ │ + vldr d5, [sp, #120] @ 0x78 │ │ │ │ │ vstr d8, [r2] │ │ │ │ │ vmov.f64 d8, #80 @ 0x3e800000 0.250 │ │ │ │ │ ldr r2, [sp, #240] @ 0xf0 │ │ │ │ │ - vnmls.f64 d7, d5, d12 │ │ │ │ │ - vldr d5, [sp, #112] @ 0x70 │ │ │ │ │ + vmls.f64 d5, d0, d8 │ │ │ │ │ vstr d2, [r2] │ │ │ │ │ - vldr d2, [sp, #664] @ 0x298 │ │ │ │ │ vstr d4, [r0] │ │ │ │ │ - ldr r0, [sp, #32] │ │ │ │ │ - vmls.f64 d5, d2, d8 │ │ │ │ │ - ldr r2, [sp, #176] @ 0xb0 │ │ │ │ │ + ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ + ldr r0, [sp, #48] @ 0x30 │ │ │ │ │ vsub.f64 d4, d5, d10 │ │ │ │ │ vadd.f64 d5, d10, d5 │ │ │ │ │ vsub.f64 d2, d6, d4 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vldr d4, [sp, #704] @ 0x2c0 │ │ │ │ │ - vstr d2, [r0] │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ vadd.f64 d2, d7, d5 │ │ │ │ │ - ldr r0, [sp, #40] @ 0x28 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ + ldr r2, [sp, #184] @ 0xb8 │ │ │ │ │ vstr d2, [r0] │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ - vmul.f64 d6, d0, d13 │ │ │ │ │ - ldr r2, [sp, #56] @ 0x38 │ │ │ │ │ - vnmls.f64 d6, d4, d12 │ │ │ │ │ + ldr r2, [sp, #64] @ 0x40 │ │ │ │ │ + ldr r0, [sp, #140] @ 0x8c │ │ │ │ │ + vldr d10, [sp, #248] @ 0xf8 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ + vldr d0, [sp, #688] @ 0x2b0 │ │ │ │ │ + vldr d5, [sp, #696] @ 0x2b8 │ │ │ │ │ + vmls.f64 d10, d1, d8 │ │ │ │ │ + vldr d1, [sp, #88] @ 0x58 │ │ │ │ │ vmul.f64 d7, d0, d12 │ │ │ │ │ - vmla.f64 d7, d4, d13 │ │ │ │ │ - vldr d4, [sp, #248] @ 0xf8 │ │ │ │ │ - vmls.f64 d4, d1, d8 │ │ │ │ │ + vmul.f64 d6, d0, d13 │ │ │ │ │ ldr r2, [sp, #272] @ 0x110 │ │ │ │ │ - vmov.f64 d5, d4 │ │ │ │ │ - vsub.f64 d4, d3, d4 │ │ │ │ │ - vadd.f64 d5, d3, d5 │ │ │ │ │ + vldr d0, [sp, #704] @ 0x2c0 │ │ │ │ │ + vmls.f64 d1, d15, d8 │ │ │ │ │ + vldr d15, [pc, #184] @ 1078 │ │ │ │ │ + vmla.f64 d7, d5, d13 │ │ │ │ │ + vnmls.f64 d6, d5, d12 │ │ │ │ │ + vsub.f64 d4, d3, d10 │ │ │ │ │ + vadd.f64 d5, d3, d10 │ │ │ │ │ + vldr d10, [sp, #352] @ 0x160 │ │ │ │ │ vsub.f64 d3, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ + vadd.f64 d4, d14, d1 │ │ │ │ │ vstr d3, [r2] │ │ │ │ │ vadd.f64 d3, d6, d5 │ │ │ │ │ - ldr r2, [sp, #728] @ 0x2d8 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - vstr d7, [lr] │ │ │ │ │ ldr r2, [sp, #256] @ 0x100 │ │ │ │ │ - vldr d5, [sp, #80] @ 0x50 │ │ │ │ │ - vmls.f64 d5, d15, d8 │ │ │ │ │ - vldr d0, [sp, #720] @ 0x2d0 │ │ │ │ │ - vldr d4, [sp, #712] @ 0x2c8 │ │ │ │ │ + vldr d5, [sp, #712] @ 0x2c8 │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ - vmul.f64 d7, d0, d13 │ │ │ │ │ - ldr r2, [sp, #136] @ 0x88 │ │ │ │ │ - vmla.f64 d7, d4, d12 │ │ │ │ │ - vmul.f64 d6, d4, d13 │ │ │ │ │ - vldr d10, [sp, #360] @ 0x168 │ │ │ │ │ - vldr d1, [sp, #344] @ 0x158 │ │ │ │ │ - ldr r0, [sp, #96] @ 0x60 │ │ │ │ │ - vadd.f64 d4, d14, d5 │ │ │ │ │ - vnmls.f64 d6, d0, d12 │ │ │ │ │ - vsub.f64 d5, d5, d14 │ │ │ │ │ - vldr d0, [sp, #520] @ 0x208 │ │ │ │ │ - vldr d14, [sp, #528] @ 0x210 │ │ │ │ │ - vldr d15, [pc, #584] @ 1258 │ │ │ │ │ + vmul.f64 d6, d0, d13 │ │ │ │ │ + vmul.f64 d7, d5, d13 │ │ │ │ │ + b.n 10a8 │ │ │ │ │ + .word 0x3c182b51 │ │ │ │ │ + .word 0x3fe1257e │ │ │ │ │ + .word 0xfeb501bc │ │ │ │ │ + .word 0x3fe465c6 │ │ │ │ │ + .word 0xfa1c0796 │ │ │ │ │ + .word 0x3fcfd511 │ │ │ │ │ + .word 0x5cbfa951 │ │ │ │ │ + .word 0x3fded50d │ │ │ │ │ + .word 0x4e81c059 │ │ │ │ │ + .word 0x3fec0ab4 │ │ │ │ │ + .word 0x1d101ee0 │ │ │ │ │ + .word 0x3feefea2 │ │ │ │ │ + .word 0x1be09379 │ │ │ │ │ + .word 0x3fb0130a │ │ │ │ │ + .word 0xbfe443fe │ │ │ │ │ + .word 0x3fefefd5 │ │ │ │ │ + .word 0xff642e86 │ │ │ │ │ + .word 0x3feb04bb │ │ │ │ │ + .word 0xc925819c │ │ │ │ │ + .word 0x3fdb3ff7 │ │ │ │ │ + .word 0x3c182b51 │ │ │ │ │ + .word 0x3fe1257e │ │ │ │ │ + .word 0xff642e86 │ │ │ │ │ + .word 0x3feb04bb │ │ │ │ │ + .word 0xdcdc158c │ │ │ │ │ + .word 0x3fecf457 │ │ │ │ │ + .word 0x55112014 │ │ │ │ │ + .word 0x3fe5e7cf │ │ │ │ │ + .word 0x03d2b816 │ │ │ │ │ + .word 0x3fe753b6 │ │ │ │ │ + .word 0x5480d903 │ │ │ │ │ + .word 0x3fefbf67 │ │ │ │ │ + .word 0x5da15be0 │ │ │ │ │ + .word 0x3fc00aeb │ │ │ │ │ + .word 0xfeb501bc │ │ │ │ │ + .word 0x3fe465c6 │ │ │ │ │ + .word 0x635b6bea │ │ │ │ │ + .word 0x3fe8a80b │ │ │ │ │ + .word 0x9b97f4a8 │ │ │ │ │ + .word 0x3fe1e377 │ │ │ │ │ + ldr r5, [sp, #144] @ 0x90 │ │ │ │ │ + vnmls.f64 d6, d5, d12 │ │ │ │ │ + vsub.f64 d5, d1, d14 │ │ │ │ │ + vldr d1, [sp, #432] @ 0x1b0 │ │ │ │ │ + vmla.f64 d7, d0, d12 │ │ │ │ │ + vldr d14, [sp, #512] @ 0x200 │ │ │ │ │ + vldr d0, [sp, #600] @ 0x258 │ │ │ │ │ vsub.f64 d3, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [sp, #440] @ 0x1b8 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ + vstr d3, [r5] │ │ │ │ │ vadd.f64 d3, d6, d5 │ │ │ │ │ - ldr r2, [sp, #152] @ 0x98 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - ldr r2, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d3, [sp, #368] @ 0x170 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - vsub.f64 d7, d0, d4 │ │ │ │ │ - vldr d0, [sp, #608] @ 0x260 │ │ │ │ │ - ldr r2, [sp, #224] @ 0xe0 │ │ │ │ │ + ldr r5, [sp, #160] @ 0xa0 │ │ │ │ │ vsub.f64 d6, d0, d10 │ │ │ │ │ - vldr d10, [sp, #448] @ 0x1c0 │ │ │ │ │ - vldr d0, [pc, #468] @ 1220 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - vldr d5, [sp, #304] @ 0x130 │ │ │ │ │ + vldr d10, [sp, #440] @ 0x1b8 │ │ │ │ │ + vstr d3, [r5] │ │ │ │ │ + ldr r5, [sp, #200] @ 0xc8 │ │ │ │ │ vmul.f64 d4, d6, d12 │ │ │ │ │ vmul.f64 d6, d6, d13 │ │ │ │ │ + vldr d3, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ + vsub.f64 d7, d14, d1 │ │ │ │ │ + ldr r5, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d14, [pc, #-144] @ 1070 │ │ │ │ │ + vstr d5, [r5] │ │ │ │ │ vmla.f64 d4, d7, d13 │ │ │ │ │ - ldr r2, [sp, #264] @ 0x108 │ │ │ │ │ - vadd.f64 d5, d5, d1 │ │ │ │ │ vnmls.f64 d6, d7, d12 │ │ │ │ │ - vadd.f64 d7, d10, d14 │ │ │ │ │ - vldr d14, [sp, #616] @ 0x268 │ │ │ │ │ - vldr d10, [pc, #496] @ 1268 │ │ │ │ │ - vadd.f64 d2, d3, d14 │ │ │ │ │ + vldr d5, [sp, #296] @ 0x128 │ │ │ │ │ + vadd.f64 d5, d5, d3 │ │ │ │ │ + vldr d3, [sp, #520] @ 0x208 │ │ │ │ │ + vadd.f64 d7, d10, d3 │ │ │ │ │ + vldr d3, [sp, #360] @ 0x168 │ │ │ │ │ + vldr d0, [sp, #608] @ 0x260 │ │ │ │ │ + ldr r0, [sp, #104] @ 0x68 │ │ │ │ │ + ldr r5, [sp, #264] @ 0x108 │ │ │ │ │ + vadd.f64 d2, d3, d0 │ │ │ │ │ vmov.f64 d3, d5 │ │ │ │ │ + vldr d0, [pc, #-148] @ 10a0 │ │ │ │ │ + vldr d10, [sp, #680] @ 0x2a8 │ │ │ │ │ vadd.f64 d1, d7, d2 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ vmls.f64 d3, d1, d8 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ + vldr d8, [pc, #-276] @ 1038 │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ - vldr d8, [pc, #400] @ 1228 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - ldr r2, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d1, [sp, #304] @ 0x130 │ │ │ │ │ + vstr d5, [r5] │ │ │ │ │ + ldr r5, [sp, #280] @ 0x118 │ │ │ │ │ vadd.f64 d5, d3, d7 │ │ │ │ │ vsub.f64 d3, d3, d7 │ │ │ │ │ vsub.f64 d2, d6, d5 │ │ │ │ │ - vsub.f64 d7, d4, d3 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ + vldr d5, [sp, #344] @ 0x158 │ │ │ │ │ + vsub.f64 d7, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ vstr d2, [r0] │ │ │ │ │ - ldr r0, [sp, #132] @ 0x84 │ │ │ │ │ vstr d6, [r1] │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - vldr d6, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d5, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d14, [sp, #352] @ 0x160 │ │ │ │ │ - vldr d1, [sp, #512] @ 0x200 │ │ │ │ │ - vsub.f64 d7, d6, d5 │ │ │ │ │ - vldr d6, [sp, #688] @ 0x2b0 │ │ │ │ │ - vldr d4, [sp, #560] @ 0x230 │ │ │ │ │ - vadd.f64 d5, d6, d7 │ │ │ │ │ + ldr r1, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d6, [sp, #328] @ 0x148 │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ + vsub.f64 d7, d6, d1 │ │ │ │ │ + vldr d6, [sp, #664] @ 0x298 │ │ │ │ │ + vadd.f64 d1, d10, d7 │ │ │ │ │ + vsub.f64 d10, d7, d10 │ │ │ │ │ + vldr d7, [sp, #312] @ 0x138 │ │ │ │ │ + vsub.f64 d7, d5, d7 │ │ │ │ │ + vldr d5, [pc, #-296] @ 1080 │ │ │ │ │ + vstr d1, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d1, [sp, #584] @ 0x248 │ │ │ │ │ + vstr d10, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d10, [sp, #552] @ 0x228 │ │ │ │ │ + vadd.f64 d3, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #672] @ 0x2a0 │ │ │ │ │ - vstr d7, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d7, [sp, #320] @ 0x140 │ │ │ │ │ - vstr d5, [sp, #32] │ │ │ │ │ - vldr d5, [pc, #256] @ 1200 │ │ │ │ │ - vsub.f64 d7, d14, d7 │ │ │ │ │ - vadd.f64 d14, d6, d7 │ │ │ │ │ - vsub.f64 d6, d7, d6 │ │ │ │ │ - vmul.f64 d7, d1, d15 │ │ │ │ │ - vldr d1, [sp, #432] @ 0x1b0 │ │ │ │ │ - vldr d15, [pc, #256] @ 1218 │ │ │ │ │ - vstr d6, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d6, [sp, #592] @ 0x250 │ │ │ │ │ - vstr d14, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d14, [sp, #480] @ 0x1e0 │ │ │ │ │ - vmul.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [pc, #216] @ 1208 │ │ │ │ │ - vmla.f64 d7, d14, d10 │ │ │ │ │ - vldr d14, [sp, #640] @ 0x280 │ │ │ │ │ - vldr d10, [pc, #172] @ 11e8 │ │ │ │ │ - vnmls.f64 d6, d4, d5 │ │ │ │ │ - vldr d5, [pc, #236] @ 1230 │ │ │ │ │ - vmul.f64 d3, d1, d10 │ │ │ │ │ - vldr d1, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d6, [sp, #472] @ 0x1d8 │ │ │ │ │ + vstr d7, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d3, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d3, [sp, #504] @ 0x1f8 │ │ │ │ │ + vmul.f64 d7, d3, d14 │ │ │ │ │ + vldr d14, [sp, #632] @ 0x278 │ │ │ │ │ + vmla.f64 d7, d6, d15 │ │ │ │ │ + vmul.f64 d6, d1, d5 │ │ │ │ │ + vldr d5, [pc, #-348] @ 1088 │ │ │ │ │ + vldr d15, [sp, #648] @ 0x288 │ │ │ │ │ + vnmls.f64 d6, d10, d5 │ │ │ │ │ + vldr d5, [pc, #-432] @ 1040 │ │ │ │ │ + vldr d10, [pc, #-356] @ 1090 │ │ │ │ │ vmul.f64 d2, d14, d5 │ │ │ │ │ - vldr d14, [sp, #656] @ 0x290 │ │ │ │ │ - vmla.f64 d2, d14, d8 │ │ │ │ │ - vldr d14, [pc, #156] @ 11f8 │ │ │ │ │ + vldr d14, [sp, #424] @ 0x1a8 │ │ │ │ │ vadd.f64 d4, d7, d6 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vnmls.f64 d3, d1, d14 │ │ │ │ │ - vldr d7, [sp, #576] @ 0x240 │ │ │ │ │ + vmla.f64 d2, d15, d8 │ │ │ │ │ + vldr d15, [pc, #-444] @ 1050 │ │ │ │ │ + vmul.f64 d3, d14, d10 │ │ │ │ │ + vldr d10, [sp, #392] @ 0x188 │ │ │ │ │ + vldr d14, [pc, #-384] @ 1098 │ │ │ │ │ + vstr d6, [sp, #120] @ 0x78 │ │ │ │ │ + vnmls.f64 d3, d10, d14 │ │ │ │ │ vmov.f64 d14, d0 │ │ │ │ │ - vstr d6, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d6, [pc, #120] @ 11f0 │ │ │ │ │ vadd.f64 d1, d2, d3 │ │ │ │ │ vsub.f64 d2, d2, d3 │ │ │ │ │ vadd.f64 d10, d4, d1 │ │ │ │ │ vsub.f64 d4, d4, d1 │ │ │ │ │ - vstr d2, [sp, #96] @ 0x60 │ │ │ │ │ vmul.f64 d4, d4, d0 │ │ │ │ │ - vstr d10, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d10, [sp, #544] @ 0x220 │ │ │ │ │ - vstr d4, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d4, [sp, #464] @ 0x1d0 │ │ │ │ │ + vstr d10, [sp, #88] @ 0x58 │ │ │ │ │ + vstr d2, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d4, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d4, [sp, #456] @ 0x1c8 │ │ │ │ │ + ldr r2, [sp, #32] │ │ │ │ │ + vldr d1, [sp, #536] @ 0x218 │ │ │ │ │ vmul.f64 d2, d4, d11 │ │ │ │ │ - vldr d4, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d7, [sp, #568] @ 0x238 │ │ │ │ │ + vldr d4, [sp, #488] @ 0x1e8 │ │ │ │ │ + vmul.f64 d3, d1, d15 │ │ │ │ │ + vldr d6, [sp, #640] @ 0x280 │ │ │ │ │ + ldr r5, [sp, #80] @ 0x50 │ │ │ │ │ vnmls.f64 d2, d4, d9 │ │ │ │ │ - vldr d4, [pc, #96] @ 1210 │ │ │ │ │ - vmul.f64 d3, d10, d4 │ │ │ │ │ - vldr d10, [sp, #632] @ 0x278 │ │ │ │ │ - vmla.f64 d3, d7, d15 │ │ │ │ │ - vldr d15, [sp, #648] @ 0x288 │ │ │ │ │ - vldr d7, [pc, #124] @ 1240 │ │ │ │ │ - vmul.f64 d4, d15, d7 │ │ │ │ │ - vldr d15, [sp, #416] @ 0x1a0 │ │ │ │ │ - vmul.f64 d7, d15, d5 │ │ │ │ │ - vnmls.f64 d4, d10, d6 │ │ │ │ │ - vldr d10, [sp, #384] @ 0x180 │ │ │ │ │ - vadd.f64 d15, d2, d3 │ │ │ │ │ + vldr d4, [pc, #-516] @ 1068 │ │ │ │ │ + vldr d15, [sp, #624] @ 0x270 │ │ │ │ │ + vmla.f64 d3, d7, d4 │ │ │ │ │ + vldr d7, [pc, #-560] @ 1048 │ │ │ │ │ + vmul.f64 d4, d6, d7 │ │ │ │ │ + vldr d6, [pc, #-552] @ 1058 │ │ │ │ │ vsub.f64 d1, d2, d3 │ │ │ │ │ - b.n 1290 │ │ │ │ │ - nop │ │ │ │ │ - nop.w │ │ │ │ │ - .word 0xfeb501bc │ │ │ │ │ - .word 0x3fe465c6 │ │ │ │ │ - .word 0x3c182b51 │ │ │ │ │ - .word 0x3fe1257e │ │ │ │ │ - .word 0x635b6bea │ │ │ │ │ - .word 0x3fe8a80b │ │ │ │ │ - .word 0x5480d903 │ │ │ │ │ - .word 0x3fefbf67 │ │ │ │ │ - .word 0x5da15be0 │ │ │ │ │ - .word 0x3fc00aeb │ │ │ │ │ - .word 0xc925819c │ │ │ │ │ - .word 0x3fdb3ff7 │ │ │ │ │ - .word 0xdcdc158c │ │ │ │ │ - .word 0x3fecf457 │ │ │ │ │ - .word 0x9b97f4a8 │ │ │ │ │ - .word 0x3fe1e377 │ │ │ │ │ - .word 0x1be09379 │ │ │ │ │ - .word 0x3fb0130a │ │ │ │ │ - .word 0xbfe443fe │ │ │ │ │ - .word 0x3fefefd5 │ │ │ │ │ - .word 0x3c182b51 │ │ │ │ │ - .word 0x3fe1257e │ │ │ │ │ - .word 0xff642e86 │ │ │ │ │ - .word 0x3feb04bb │ │ │ │ │ - .word 0xc925819c │ │ │ │ │ - .word 0x3fdb3ff7 │ │ │ │ │ - .word 0xdcdc158c │ │ │ │ │ - .word 0x3fecf457 │ │ │ │ │ - .word 0x55112014 │ │ │ │ │ - .word 0x3fe5e7cf │ │ │ │ │ - .word 0x635b6bea │ │ │ │ │ - .word 0x3fe8a80b │ │ │ │ │ - .word 0x03d2b816 │ │ │ │ │ - .word 0x3fe753b6 │ │ │ │ │ - .word 0x5480d903 │ │ │ │ │ - .word 0x3fefbf67 │ │ │ │ │ - .word 0x5da15be0 │ │ │ │ │ - .word 0x3fc00aeb │ │ │ │ │ - .word 0xfeb501bc │ │ │ │ │ - .word 0x3fe465c6 │ │ │ │ │ - .word 0x9b97f4a8 │ │ │ │ │ - .word 0x3fe1e377 │ │ │ │ │ - vldr d3, [pc, #-92] @ 1238 │ │ │ │ │ - vnmls.f64 d7, d10, d8 │ │ │ │ │ - vstr d15, [sp, #120] @ 0x78 │ │ │ │ │ + vadd.f64 d10, d2, d3 │ │ │ │ │ + vldr d2, [pc, #-572] @ 1050 │ │ │ │ │ + vnmls.f64 d4, d15, d6 │ │ │ │ │ + vldr d6, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d15, [sp, #408] @ 0x198 │ │ │ │ │ + vstr d10, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d3, [pc, #-584] @ 1058 │ │ │ │ │ + vmul.f64 d7, d15, d5 │ │ │ │ │ + vnmls.f64 d7, d6, d8 │ │ │ │ │ vadd.f64 d6, d4, d7 │ │ │ │ │ vsub.f64 d15, d4, d7 │ │ │ │ │ - vldr d4, [sp, #496] @ 0x1f0 │ │ │ │ │ - vldr d7, [pc, #-108] @ 1240 │ │ │ │ │ + vldr d4, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d7, [pc, #-600] @ 1060 │ │ │ │ │ vsub.f64 d10, d1, d6 │ │ │ │ │ vadd.f64 d1, d1, d6 │ │ │ │ │ vmul.f64 d6, d4, d11 │ │ │ │ │ - vldr d11, [sp, #464] @ 0x1d0 │ │ │ │ │ - vldr d4, [pc, #-120] @ 1248 │ │ │ │ │ - ldr r2, [sp, #24] │ │ │ │ │ - vmla.f64 d6, d11, d9 │ │ │ │ │ - vldr d11, [sp, #576] @ 0x240 │ │ │ │ │ + vldr d11, [sp, #456] @ 0x1c8 │ │ │ │ │ vmul.f64 d10, d10, d0 │ │ │ │ │ - vldr d0, [pc, #-128] @ 1250 │ │ │ │ │ - vldr d9, [sp, #384] @ 0x180 │ │ │ │ │ - vmul.f64 d4, d11, d4 │ │ │ │ │ - vldr d11, [sp, #544] @ 0x220 │ │ │ │ │ + vldr d0, [pc, #-616] @ 1068 │ │ │ │ │ + vmla.f64 d6, d11, d9 │ │ │ │ │ + vldr d9, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d11, [sp, #568] @ 0x238 │ │ │ │ │ + vmul.f64 d4, d11, d2 │ │ │ │ │ + vldr d11, [sp, #536] @ 0x218 │ │ │ │ │ vnmls.f64 d4, d11, d0 │ │ │ │ │ - vldr d11, [sp, #632] @ 0x278 │ │ │ │ │ + vldr d11, [sp, #624] @ 0x270 │ │ │ │ │ vmul.f64 d7, d11, d7 │ │ │ │ │ - vldr d11, [sp, #648] @ 0x288 │ │ │ │ │ - vmla.f64 d7, d11, d3 │ │ │ │ │ - vmul.f64 d3, d9, d5 │ │ │ │ │ - vldr d9, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d11, [sp, #640] @ 0x280 │ │ │ │ │ vadd.f64 d2, d6, d4 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ - vldr d6, [pc, #-172] @ 1258 │ │ │ │ │ + vldr d6, [pc, #-656] @ 1070 │ │ │ │ │ + vmla.f64 d7, d11, d3 │ │ │ │ │ + vmul.f64 d3, d9, d5 │ │ │ │ │ + vldr d9, [sp, #408] @ 0x198 │ │ │ │ │ vmla.f64 d3, d9, d8 │ │ │ │ │ vadd.f64 d0, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vldr d3, [sp, #592] @ 0x250 │ │ │ │ │ + vldr d3, [sp, #584] @ 0x248 │ │ │ │ │ vadd.f64 d11, d2, d0 │ │ │ │ │ vsub.f64 d2, d2, d0 │ │ │ │ │ - vldr d0, [sp, #512] @ 0x200 │ │ │ │ │ + vldr d0, [sp, #504] @ 0x1f8 │ │ │ │ │ vmul.f64 d9, d2, d14 │ │ │ │ │ - vldr d2, [sp, #480] @ 0x1e0 │ │ │ │ │ - vldr d14, [pc, #-204] @ 1260 │ │ │ │ │ + vldr d14, [sp, #392] @ 0x188 │ │ │ │ │ + vldr d2, [sp, #472] @ 0x1d8 │ │ │ │ │ vmul.f64 d6, d2, d6 │ │ │ │ │ - vldr d2, [pc, #-204] @ 1268 │ │ │ │ │ + vldr d2, [pc, #-708] @ 1078 │ │ │ │ │ vnmls.f64 d6, d0, d2 │ │ │ │ │ - vldr d2, [sp, #560] @ 0x230 │ │ │ │ │ - vldr d0, [pc, #-208] @ 1270 │ │ │ │ │ + vldr d2, [sp, #552] @ 0x228 │ │ │ │ │ + vldr d0, [pc, #-712] @ 1080 │ │ │ │ │ vmul.f64 d2, d2, d0 │ │ │ │ │ - vldr d0, [pc, #-208] @ 1278 │ │ │ │ │ + vldr d0, [pc, #-712] @ 1088 │ │ │ │ │ vmla.f64 d2, d3, d0 │ │ │ │ │ - vldr d3, [sp, #656] @ 0x290 │ │ │ │ │ + vldr d3, [sp, #648] @ 0x288 │ │ │ │ │ vmul.f64 d5, d3, d5 │ │ │ │ │ - vldr d3, [sp, #640] @ 0x280 │ │ │ │ │ - vnmls.f64 d5, d3, d8 │ │ │ │ │ - vldr d8, [sp, #400] @ 0x190 │ │ │ │ │ - vldr d3, [pc, #-228] @ 1280 │ │ │ │ │ + vldr d3, [sp, #632] @ 0x278 │ │ │ │ │ vsub.f64 d0, d6, d2 │ │ │ │ │ vadd.f64 d6, d6, d2 │ │ │ │ │ - vldr d2, [sp, #80] @ 0x50 │ │ │ │ │ - vmul.f64 d3, d8, d3 │ │ │ │ │ - vldr d8, [sp, #432] @ 0x1b0 │ │ │ │ │ + vldr d2, [sp, #88] @ 0x58 │ │ │ │ │ + vnmls.f64 d5, d3, d8 │ │ │ │ │ + vldr d3, [pc, #-740] @ 1090 │ │ │ │ │ + vldr d8, [sp, #424] @ 0x1a8 │ │ │ │ │ + vmul.f64 d3, d14, d3 │ │ │ │ │ + vldr d14, [pc, #-744] @ 1098 │ │ │ │ │ vmla.f64 d3, d8, d14 │ │ │ │ │ vsub.f64 d8, d5, d3 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ - vldr d3, [pc, #-256] @ 1288 │ │ │ │ │ + vldr d3, [pc, #-752] @ 10a0 │ │ │ │ │ vadd.f64 d14, d0, d8 │ │ │ │ │ vsub.f64 d0, d0, d8 │ │ │ │ │ - vldr d8, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d8, [sp, #96] @ 0x60 │ │ │ │ │ vmul.f64 d0, d0, d3 │ │ │ │ │ - vldr d3, [sp, #32] │ │ │ │ │ + vldr d3, [sp, #40] @ 0x28 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ - vldr d2, [sp, #56] @ 0x38 │ │ │ │ │ vstr d3, [r2] │ │ │ │ │ vadd.f64 d3, d8, d1 │ │ │ │ │ - ldr r2, [sp, #72] @ 0x48 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ + vstr d3, [r5] │ │ │ │ │ + vldr d2, [sp, #64] @ 0x40 │ │ │ │ │ + ldr r2, [sp, #0] │ │ │ │ │ + ldr r5, [sp, #216] @ 0xd8 │ │ │ │ │ vadd.f64 d3, d2, d14 │ │ │ │ │ - ldr r2, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ + vldr d2, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r1, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d3, [r5] │ │ │ │ │ vadd.f64 d3, d2, d11 │ │ │ │ │ - ldr r2, [sp, #0] │ │ │ │ │ - vstr d3, [ip] │ │ │ │ │ + ldr r5, [sp, #288] @ 0x120 │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ vmul.f64 d3, d7, d12 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ + ldr r2, [sp, #16] │ │ │ │ │ vmla.f64 d3, d4, d13 │ │ │ │ │ vnmls.f64 d7, d4, d12 │ │ │ │ │ vmov.f64 d4, d8 │ │ │ │ │ vmov.f64 d8, #80 @ 0x3e800000 0.250 │ │ │ │ │ vmls.f64 d4, d1, d8 │ │ │ │ │ vsub.f64 d2, d4, d10 │ │ │ │ │ vadd.f64 d4, d10, d4 │ │ │ │ │ vsub.f64 d1, d3, d2 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ vstr d1, [r4] │ │ │ │ │ vadd.f64 d1, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ + ldr r4, [sp, #8] │ │ │ │ │ vstr d1, [r2] │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ - ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - vmul.f64 d7, d15, d13 │ │ │ │ │ - vldr d3, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d3, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r2, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d1, [sp, #128] @ 0x80 │ │ │ │ │ vmls.f64 d3, d11, d8 │ │ │ │ │ - vldr d1, [sp, #120] @ 0x78 │ │ │ │ │ - ldr r4, [sp, #8] │ │ │ │ │ - ldr r1, [sp, #192] @ 0xc0 │ │ │ │ │ - vmla.f64 d7, d1, d12 │ │ │ │ │ + ldr r3, [sp, #208] @ 0xd0 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + vmul.f64 d7, d15, d13 │ │ │ │ │ + ldr r2, [sp, #24] │ │ │ │ │ vmul.f64 d4, d1, d13 │ │ │ │ │ - ldr r2, [sp, #208] @ 0xd0 │ │ │ │ │ - ldr r3, [sp, #168] @ 0xa8 │ │ │ │ │ - ldr r0, [sp, #48] @ 0x30 │ │ │ │ │ + vmla.f64 d7, d1, d12 │ │ │ │ │ vnmls.f64 d4, d15, d12 │ │ │ │ │ vadd.f64 d2, d9, d3 │ │ │ │ │ vsub.f64 d3, d3, d9 │ │ │ │ │ vsub.f64 d1, d2, d7 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ vstr d1, [r4] │ │ │ │ │ vadd.f64 d1, d4, d3 │ │ │ │ │ - ldr r4, [sp, #288] @ 0x120 │ │ │ │ │ vsub.f64 d3, d3, d4 │ │ │ │ │ - vldr d4, [sp, #80] @ 0x50 │ │ │ │ │ - vstr d1, [r4] │ │ │ │ │ - ldr r4, [sp, #16] │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + vldr d4, [sp, #88] @ 0x58 │ │ │ │ │ + vstr d1, [r5] │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vmul.f64 d7, d5, d13 │ │ │ │ │ + ldr r2, [sp, #720] @ 0x2d0 │ │ │ │ │ vmla.f64 d7, d6, d12 │ │ │ │ │ vmul.f64 d6, d6, d13 │ │ │ │ │ - ldr r4, [sp, #296] @ 0x128 │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ + vldr d3, [sp, #112] @ 0x70 │ │ │ │ │ vnmls.f64 d6, d5, d12 │ │ │ │ │ - vldr d5, [sp, #32] │ │ │ │ │ + vldr d5, [sp, #40] @ 0x28 │ │ │ │ │ vmls.f64 d5, d4, d8 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ - vldr d3, [sp, #104] @ 0x68 │ │ │ │ │ vadd.f64 d4, d3, d5 │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ vsub.f64 d3, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d3, [r1] │ │ │ │ │ + vstr d3, [fp] │ │ │ │ │ vadd.f64 d3, d6, d5 │ │ │ │ │ - ldr r1, [sp, #144] @ 0x90 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - ldr r2, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ - vldr d7, [sp, #96] @ 0x60 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - vldr d5, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r1, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ + vldr d7, [sp, #104] @ 0x68 │ │ │ │ │ + ldr r0, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d5, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d4, [sp, #120] @ 0x78 │ │ │ │ │ vmul.f64 d6, d7, d12 │ │ │ │ │ + vmul.f64 d7, d7, d13 │ │ │ │ │ + ldr r3, [sp, #840] @ 0x348 │ │ │ │ │ vmls.f64 d5, d14, d8 │ │ │ │ │ + ldr r4, [sp, #176] @ 0xb0 │ │ │ │ │ vmla.f64 d6, d4, d13 │ │ │ │ │ - vmul.f64 d7, d7, d13 │ │ │ │ │ vnmls.f64 d7, d4, d12 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + str r3, [sp, #840] @ 0x348 │ │ │ │ │ + ldr r3, [sp, #724] @ 0x2d4 │ │ │ │ │ + ldr r2, [sp, #840] @ 0x348 │ │ │ │ │ vsub.f64 d4, d0, d5 │ │ │ │ │ vadd.f64 d0, d0, d5 │ │ │ │ │ + add r7, r3 │ │ │ │ │ + ldr r3, [sp, #728] @ 0x2d8 │ │ │ │ │ vsub.f64 d5, d4, d6 │ │ │ │ │ + add r8, r3 │ │ │ │ │ + ldr r3, [sp, #732] @ 0x2dc │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ + eor.w r9, r9, r3 │ │ │ │ │ + ldr r3, [sp, #844] @ 0x34c │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ vadd.f64 d5, d7, d0 │ │ │ │ │ vsub.f64 d7, d7, d0 │ │ │ │ │ - ldr r3, [sp, #848] @ 0x350 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #848] @ 0x350 │ │ │ │ │ - vstr d5, [fp] │ │ │ │ │ - vstr d6, [sl] │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ - ldr r3, [sp, #732] @ 0x2dc │ │ │ │ │ - add r6, r3 │ │ │ │ │ - ldr r3, [sp, #736] @ 0x2e0 │ │ │ │ │ - add r7, r3 │ │ │ │ │ - ldr r3, [sp, #740] @ 0x2e4 │ │ │ │ │ - eor.w r8, r8, r3 │ │ │ │ │ - ldrd r2, r3, [sp, #848] @ 0x350 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 40 │ │ │ │ │ - add.w sp, sp, #748 @ 0x2ec │ │ │ │ │ + vstr d5, [sl] │ │ │ │ │ + vstr d6, [lr] │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ + bne.w 70 │ │ │ │ │ + add.w sp, sp, #740 @ 0x2e4 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -00001524 : │ │ │ │ │ +0000153c : │ │ │ │ │ fftw_codelet_hf2_25(): │ │ │ │ │ - ldr r2, [pc, #8] @ (1530 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (1534 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (1548 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (154c ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2hc_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── hf2_32.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 6308 (bytes into file) │ │ │ │ │ + Start of section headers: 6416 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x18a4: │ │ │ │ │ +There are 14 section headers, starting at offset 0x1910: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 001560 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0017ec 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 001594 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 001594 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 001594 000007 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 00159b 000014 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0015af 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 001814 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 0015df 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0015df 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 001614 000150 10 12 16 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 001764 000088 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 00182c 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0015cc 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 001858 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 001600 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 001600 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 001600 000007 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 001607 000014 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 00161b 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 001880 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 00164b 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00164b 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 001680 000150 10 12 16 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0017d0 000088 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 001898 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 21 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 5450 FUNC LOCAL DEFAULT 1 hf2_32 │ │ │ │ │ + 1: 00000001 5560 FUNC LOCAL DEFAULT 1 hf2_32 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000ed8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000f18 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00001358 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00001390 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00001558 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000f28 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000f68 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000013b0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 000013e8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 000015c4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 20 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 13: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 14: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 15: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 18: 0000154d 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf2_32 │ │ │ │ │ + 18: 000015b9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf2_32 │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2hc_register │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x17ec contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x1858 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000f10 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000f14 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00001558 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000155c 00000103 R_ARM_REL32 00000001 hf2_32 │ │ │ │ │ -00001554 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ +00000f60 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000f64 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +000015c4 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000015c8 00000103 R_ARM_REL32 00000001 hf2_32 │ │ │ │ │ +000015c0 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x1814 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x1880 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000a02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001402 R_ARM_ABS32 00000000 fftw_rdft_hf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,1476 +1,1492 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hf2_32(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov fp, r0 │ │ │ │ │ - mov r7, r1 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + mov r4, r3 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r8, r1 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov sl, r0 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub.w sp, sp, #900 @ 0x384 │ │ │ │ │ - mov r8, r3 │ │ │ │ │ - ldr.w r3, [pc, #3836] @ f10 │ │ │ │ │ - ldrd r1, r0, [sp, #1000] @ 0x3e8 │ │ │ │ │ - add r3, pc │ │ │ │ │ + sub.w sp, sp, #908 @ 0x38c │ │ │ │ │ + ldrd r1, r0, [sp, #1008] @ 0x3f0 │ │ │ │ │ + ldr.w r3, [pc, #3896] @ f60 │ │ │ │ │ cmp r1, r0 │ │ │ │ │ - bge.w 153e │ │ │ │ │ - ldr r1, [sp, #1008] @ 0x3f0 │ │ │ │ │ - lsls r1, r1, #3 │ │ │ │ │ - str r1, [sp, #884] @ 0x374 │ │ │ │ │ - negs r1, r1 │ │ │ │ │ - str r1, [sp, #888] @ 0x378 │ │ │ │ │ - ldr.w r1, [pc, #3812] @ f14 │ │ │ │ │ + add r3, pc │ │ │ │ │ + bge.w 159a │ │ │ │ │ + ldr r1, [sp, #1016] @ 0x3f8 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + str r1, [sp, #892] @ 0x37c │ │ │ │ │ + rsb r1, r1, #0 │ │ │ │ │ + str r1, [sp, #896] @ 0x380 │ │ │ │ │ + ldr.w r1, [pc, #3872] @ f64 │ │ │ │ │ ldr r3, [r3, r1] │ │ │ │ │ + str r4, [sp, #80] @ 0x50 │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - str r3, [sp, #892] @ 0x37c │ │ │ │ │ - ldr r3, [sp, #1000] @ 0x3e8 │ │ │ │ │ - add.w sl, r2, r3, lsl #6 │ │ │ │ │ - vldr d8, [sl, #-64] @ 0xffffffc0 │ │ │ │ │ - mov.w r3, r8, lsl #7 │ │ │ │ │ - vldr d7, [sl, #-48] @ 0xffffffd0 │ │ │ │ │ - add.w r2, fp, r3 │ │ │ │ │ - vldr d6, [sl, #-48] @ 0xffffffd0 │ │ │ │ │ - adds r1, r7, r3 │ │ │ │ │ - vldr d5, [sl, #-40] @ 0xffffffd8 │ │ │ │ │ - mov.w ip, #200 @ 0xc8 │ │ │ │ │ - vmul.f64 d4, d8, d7 │ │ │ │ │ - vldr d7, [sl, #-56] @ 0xffffffc8 │ │ │ │ │ - vldr d3, [sl, #-32] @ 0xffffffe0 │ │ │ │ │ - add.w sl, sl, #64 @ 0x40 │ │ │ │ │ - vldr d0, [sl, #-88] @ 0xffffffa8 │ │ │ │ │ + str r3, [sp, #900] @ 0x384 │ │ │ │ │ + ldr r3, [sp, #1008] @ 0x3f0 │ │ │ │ │ + add.w r9, r2, r3, lsl #6 │ │ │ │ │ + vldr d3, [r9, #-64] @ 0xffffffc0 │ │ │ │ │ + mov.w r4, #200 @ 0xc8 │ │ │ │ │ + add.w r9, r9, #64 @ 0x40 │ │ │ │ │ + vldr d7, [r9, #-112] @ 0xffffff90 │ │ │ │ │ + vldr d6, [r9, #-112] @ 0xffffff90 │ │ │ │ │ + vldr d5, [r9, #-104] @ 0xffffff98 │ │ │ │ │ + vstr d3, [sp, #104] @ 0x68 │ │ │ │ │ + vmul.f64 d4, d3, d7 │ │ │ │ │ + vldr d7, [r9, #-120] @ 0xffffff88 │ │ │ │ │ + vldr d9, [r9, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d0, [r9, #-88] @ 0xffffffa8 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sl, #-120] @ 0xffffff88 │ │ │ │ │ - vldr d13, [sl, #-80] @ 0xffffffb0 │ │ │ │ │ - vmul.f64 d11, d8, d3 │ │ │ │ │ - vstr d3, [sp] │ │ │ │ │ + vldr d6, [r9, #-120] @ 0xffffff88 │ │ │ │ │ + vldr d13, [r9, #-80] @ 0xffffffb0 │ │ │ │ │ + vmul.f64 d11, d3, d9 │ │ │ │ │ + vldr d15, [r9, #-72] @ 0xffffffb8 │ │ │ │ │ vmul.f64 d5, d6, d5 │ │ │ │ │ - vldr d6, [sl, #-104] @ 0xffffff98 │ │ │ │ │ - vldr d15, [sl, #-72] @ 0xffffffb8 │ │ │ │ │ - vmul.f64 d6, d8, d6 │ │ │ │ │ + vldr d6, [r9, #-104] @ 0xffffff98 │ │ │ │ │ + vmul.f64 d6, d3, d6 │ │ │ │ │ vadd.f64 d2, d4, d5 │ │ │ │ │ vsub.f64 d1, d4, d5 │ │ │ │ │ - vldr d4, [sl, #-112] @ 0xffffff90 │ │ │ │ │ - vldr d5, [sl, #-120] @ 0xffffff88 │ │ │ │ │ - vadd.f64 d9, d7, d6 │ │ │ │ │ + vldr d5, [r9, #-120] @ 0xffffff88 │ │ │ │ │ + vadd.f64 d10, d7, d6 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ - vldr d6, [sl, #-104] @ 0xffffff98 │ │ │ │ │ - vmul.f64 d10, d4, d0 │ │ │ │ │ - vldr d4, [sl, #-104] @ 0xffffff98 │ │ │ │ │ - vstr d2, [sp, #32] │ │ │ │ │ - vmul.f64 d6, d6, d3 │ │ │ │ │ - vldr d2, [sl, #-120] @ 0xffffff88 │ │ │ │ │ - vmul.f64 d12, d4, d0 │ │ │ │ │ - vldr d4, [sl, #-112] @ 0xffffff90 │ │ │ │ │ - vstr d10, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d1, [sp, #8] │ │ │ │ │ - vmul.f64 d2, d2, d15 │ │ │ │ │ - vstr d6, [sp, #56] @ 0x38 │ │ │ │ │ - vmul.f64 d6, d5, d3 │ │ │ │ │ - vldr d5, [sl, #-112] @ 0xffffff90 │ │ │ │ │ - vmul.f64 d1, d8, d13 │ │ │ │ │ - vstr d9, [sp, #16] │ │ │ │ │ - vstr d7, [sp, #24] │ │ │ │ │ - vmul.f64 d7, d8, d0 │ │ │ │ │ - vmul.f64 d14, d5, d3 │ │ │ │ │ - vmul.f64 d3, d4, d13 │ │ │ │ │ - vldr d4, [sl, #-120] @ 0xffffff88 │ │ │ │ │ - vldr d5, [sl, #-120] @ 0xffffff88 │ │ │ │ │ - vldr d9, [sl, #-112] @ 0xffffff90 │ │ │ │ │ - vmul.f64 d4, d4, d13 │ │ │ │ │ + vldr d6, [r9, #-104] @ 0xffffff98 │ │ │ │ │ + vstr d1, [sp] │ │ │ │ │ + vmul.f64 d1, d3, d13 │ │ │ │ │ + vmul.f64 d6, d6, d9 │ │ │ │ │ + vstr d2, [sp, #24] │ │ │ │ │ + vmul.f64 d2, d3, d15 │ │ │ │ │ + vstr d7, [sp, #16] │ │ │ │ │ + vmul.f64 d7, d3, d0 │ │ │ │ │ + vstr d10, [sp, #8] │ │ │ │ │ + vstr d6, [sp, #40] @ 0x28 │ │ │ │ │ + vmul.f64 d6, d5, d9 │ │ │ │ │ + vldr d5, [r9, #-112] @ 0xffffff90 │ │ │ │ │ + vstr d2, [sp, #64] @ 0x40 │ │ │ │ │ + vmul.f64 d14, d5, d9 │ │ │ │ │ + vldr d5, [r9, #-120] @ 0xffffff88 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ - vmul.f64 d9, d9, d15 │ │ │ │ │ - vmov.f64 d10, d4 │ │ │ │ │ - vldr d4, [sl, #-104] @ 0xffffff98 │ │ │ │ │ - vmul.f64 d4, d4, d13 │ │ │ │ │ - vstr d4, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d4, [sl, #-104] @ 0xffffff98 │ │ │ │ │ - vmul.f64 d4, d4, d15 │ │ │ │ │ - vstr d4, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d4, [sp, #48] @ 0x30 │ │ │ │ │ - vadd.f64 d4, d3, d4 │ │ │ │ │ - vstr d4, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d4, [sp, #40] @ 0x28 │ │ │ │ │ - vsub.f64 d4, d9, d4 │ │ │ │ │ - vstr d4, [sp, #96] @ 0x60 │ │ │ │ │ - vadd.f64 d4, d1, d2 │ │ │ │ │ - vsub.f64 d2, d1, d2 │ │ │ │ │ - vldr d1, [sp, #24] │ │ │ │ │ - vstr d4, [sp, #256] @ 0x100 │ │ │ │ │ - vldr d4, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d2, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d2, [sp, #32] │ │ │ │ │ - vadd.f64 d9, d4, d9 │ │ │ │ │ - vmul.f64 d4, d8, d15 │ │ │ │ │ - vstr d9, [sp, #296] @ 0x128 │ │ │ │ │ - vadd.f64 d9, d10, d4 │ │ │ │ │ - vsub.f64 d10, d4, d10 │ │ │ │ │ - vldr d4, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d5, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d5, [r9, #-112] @ 0xffffff90 │ │ │ │ │ + vmul.f64 d8, d5, d0 │ │ │ │ │ + vldr d5, [r9, #-104] @ 0xffffff98 │ │ │ │ │ + vmul.f64 d12, d5, d0 │ │ │ │ │ + vldr d5, [r9, #-112] @ 0xffffff90 │ │ │ │ │ + vstr d8, [sp, #56] @ 0x38 │ │ │ │ │ + vmul.f64 d3, d5, d13 │ │ │ │ │ + vldr d5, [r9, #-120] @ 0xffffff88 │ │ │ │ │ + vmul.f64 d4, d5, d13 │ │ │ │ │ + vldr d5, [r9, #-104] @ 0xffffff98 │ │ │ │ │ + vmov.f64 d8, d4 │ │ │ │ │ + vmul.f64 d10, d5, d13 │ │ │ │ │ + vmul.f64 d4, d5, d15 │ │ │ │ │ + vldr d5, [r9, #-112] @ 0xffffff90 │ │ │ │ │ + vmul.f64 d2, d5, d15 │ │ │ │ │ + vldr d5, [r9, #-120] @ 0xffffff88 │ │ │ │ │ + vstr d2, [sp, #32] │ │ │ │ │ + vmul.f64 d2, d5, d15 │ │ │ │ │ + vadd.f64 d5, d3, d4 │ │ │ │ │ vsub.f64 d3, d3, d4 │ │ │ │ │ vmul.f64 d4, d0, d15 │ │ │ │ │ - vstr d10, [sp, #264] @ 0x108 │ │ │ │ │ - vstr d9, [sp, #240] @ 0xf0 │ │ │ │ │ - vldr d9, [sp, #16] │ │ │ │ │ - vstr d3, [sp, #304] @ 0x130 │ │ │ │ │ - vldr d3, [sp] │ │ │ │ │ - vmla.f64 d4, d3, d13 │ │ │ │ │ - vstr d4, [sp, #272] @ 0x110 │ │ │ │ │ + vstr d5, [sp, #88] @ 0x58 │ │ │ │ │ + vmla.f64 d4, d9, d13 │ │ │ │ │ + vldr d5, [sp, #32] │ │ │ │ │ + vsub.f64 d5, d5, d10 │ │ │ │ │ + vstr d5, [sp, #96] @ 0x60 │ │ │ │ │ + vadd.f64 d5, d1, d2 │ │ │ │ │ + vsub.f64 d2, d1, d2 │ │ │ │ │ + vstr d4, [sp, #280] @ 0x118 │ │ │ │ │ vmul.f64 d4, d0, d13 │ │ │ │ │ - vnmls.f64 d4, d3, d15 │ │ │ │ │ + vldr d1, [sp, #16] │ │ │ │ │ + vnmls.f64 d4, d9, d15 │ │ │ │ │ + vstr d2, [sp, #256] @ 0x100 │ │ │ │ │ + vstr d5, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d2, [sp, #24] │ │ │ │ │ + vstr d3, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d5, [sp, #32] │ │ │ │ │ vmul.f64 d3, d2, d13 │ │ │ │ │ - vstr d4, [sp, #280] @ 0x118 │ │ │ │ │ + vadd.f64 d5, d10, d5 │ │ │ │ │ + vldr d10, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d5, [sp, #304] @ 0x130 │ │ │ │ │ + vadd.f64 d5, d8, d10 │ │ │ │ │ + vsub.f64 d8, d10, d8 │ │ │ │ │ + vldr d10, [sp, #8] │ │ │ │ │ + vstr d4, [sp, #320] @ 0x140 │ │ │ │ │ vmul.f64 d4, d1, d15 │ │ │ │ │ - vadd.f64 d10, d3, d4 │ │ │ │ │ + vstr d5, [sp, #248] @ 0xf8 │ │ │ │ │ + vstr d8, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d5, [sp, #48] @ 0x30 │ │ │ │ │ + vadd.f64 d8, d3, d4 │ │ │ │ │ vsub.f64 d3, d3, d4 │ │ │ │ │ vmul.f64 d4, d1, d13 │ │ │ │ │ + vstr d8, [sp, #112] @ 0x70 │ │ │ │ │ vstr d3, [sp, #368] @ 0x170 │ │ │ │ │ vmul.f64 d3, d2, d15 │ │ │ │ │ - vstr d10, [sp, #112] @ 0x70 │ │ │ │ │ vsub.f64 d1, d3, d4 │ │ │ │ │ vadd.f64 d3, d3, d4 │ │ │ │ │ - vmul.f64 d4, d9, d15 │ │ │ │ │ + vmul.f64 d4, d10, d15 │ │ │ │ │ vstr d1, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d1, [sp, #8] │ │ │ │ │ - vstr d3, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d1, [sp] │ │ │ │ │ + vstr d3, [sp, #384] @ 0x180 │ │ │ │ │ vmul.f64 d3, d1, d13 │ │ │ │ │ - vsub.f64 d10, d3, d4 │ │ │ │ │ - vadd.f64 d3, d3, d4 │ │ │ │ │ - vmul.f64 d4, d9, d13 │ │ │ │ │ - vstr d3, [sp, #168] @ 0xa8 │ │ │ │ │ + vsub.f64 d8, d3, d4 │ │ │ │ │ + vadd.f64 d4, d3, d4 │ │ │ │ │ vmul.f64 d3, d1, d15 │ │ │ │ │ - vstr d10, [sp, #152] @ 0x98 │ │ │ │ │ - vadd.f64 d1, d3, d4 │ │ │ │ │ + vadd.f64 d1, d11, d5 │ │ │ │ │ + vsub.f64 d5, d11, d5 │ │ │ │ │ + vstr d8, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d4, [sp, #176] @ 0xb0 │ │ │ │ │ + vmul.f64 d4, d10, d13 │ │ │ │ │ + vstr d5, [sp, #288] @ 0x120 │ │ │ │ │ + vadd.f64 d10, d3, d4 │ │ │ │ │ vsub.f64 d3, d3, d4 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vstr d1, [sp, #160] @ 0xa0 │ │ │ │ │ - vadd.f64 d1, d11, d5 │ │ │ │ │ - vsub.f64 d11, d11, d5 │ │ │ │ │ - vmul.f64 d7, d15, d6 │ │ │ │ │ - vstr d3, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d10, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d3, [sp, #184] @ 0xb8 │ │ │ │ │ vmul.f64 d3, d15, d4 │ │ │ │ │ - vstr d6, [sp, #288] @ 0x120 │ │ │ │ │ + vmul.f64 d7, d15, d6 │ │ │ │ │ + vstr d6, [sp, #296] @ 0x128 │ │ │ │ │ vmla.f64 d3, d13, d1 │ │ │ │ │ - vmla.f64 d7, d13, d11 │ │ │ │ │ - vstr d3, [sp, #384] @ 0x180 │ │ │ │ │ - vmul.f64 d3, d13, d4 │ │ │ │ │ - vstr d7, [sp, #128] @ 0x80 │ │ │ │ │ + vmov.f64 d8, d7 │ │ │ │ │ vmul.f64 d7, d13, d6 │ │ │ │ │ + vldr d6, [sp, #40] @ 0x28 │ │ │ │ │ + vmla.f64 d8, d13, d5 │ │ │ │ │ + vnmls.f64 d7, d15, d5 │ │ │ │ │ + vstr d3, [sp, #392] @ 0x188 │ │ │ │ │ + vmul.f64 d3, d13, d4 │ │ │ │ │ + vstr d8, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d7, [sp, #136] @ 0x88 │ │ │ │ │ vnmls.f64 d3, d15, d1 │ │ │ │ │ - vmov.f64 d10, d7 │ │ │ │ │ - vnmls.f64 d10, d15, d11 │ │ │ │ │ - vstr d3, [sp, #720] @ 0x2d0 │ │ │ │ │ + vstr d3, [sp, #728] @ 0x2d8 │ │ │ │ │ vsub.f64 d3, d14, d12 │ │ │ │ │ - vstr d10, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d6, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d10, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d3, [sp, #208] @ 0xd0 │ │ │ │ │ - str r2, [sp, #64] @ 0x40 │ │ │ │ │ - vadd.f64 d5, d6, d10 │ │ │ │ │ + vadd.f64 d14, d14, d12 │ │ │ │ │ + vldr d8, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r0, [sp, #80] @ 0x50 │ │ │ │ │ + vstr d3, [sp, #216] @ 0xd8 │ │ │ │ │ + vadd.f64 d5, d6, d8 │ │ │ │ │ + vsub.f64 d12, d8, d6 │ │ │ │ │ + mov.w r3, r0, lsl #7 │ │ │ │ │ + add.w r2, sl, r3 │ │ │ │ │ + add.w r1, r8, r3 │ │ │ │ │ + str r2, [sp, #56] @ 0x38 │ │ │ │ │ vmul.f64 d7, d15, d5 │ │ │ │ │ - vstr d5, [sp, #216] @ 0xd8 │ │ │ │ │ - vmla.f64 d7, d13, d3 │ │ │ │ │ - vstr d7, [sp, #184] @ 0xb8 │ │ │ │ │ + str r1, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d12, [sp, #352] @ 0x160 │ │ │ │ │ + vstr d5, [sp, #224] @ 0xe0 │ │ │ │ │ + vmov.f64 d11, d7 │ │ │ │ │ vmul.f64 d7, d13, d5 │ │ │ │ │ - vadd.f64 d5, d14, d12 │ │ │ │ │ - vsub.f64 d12, d10, d6 │ │ │ │ │ - vldr d14, [sp] │ │ │ │ │ + vmla.f64 d11, d13, d3 │ │ │ │ │ vnmls.f64 d7, d15, d3 │ │ │ │ │ - vstr d12, [sp, #352] @ 0x160 │ │ │ │ │ - vstr d5, [sp, #344] @ 0x158 │ │ │ │ │ - vstr d7, [sp, #192] @ 0xc0 │ │ │ │ │ + vstr d11, [sp, #192] @ 0xc0 │ │ │ │ │ + vstr d7, [sp, #208] @ 0xd0 │ │ │ │ │ vmul.f64 d7, d15, d12 │ │ │ │ │ vmov.f64 d6, d7 │ │ │ │ │ vmul.f64 d7, d13, d12 │ │ │ │ │ - vmla.f64 d6, d13, d5 │ │ │ │ │ - vmov.f64 d10, d7 │ │ │ │ │ - vldr d7, [sp, #24] │ │ │ │ │ + vmla.f64 d6, d13, d14 │ │ │ │ │ + vnmls.f64 d7, d15, d14 │ │ │ │ │ + vstr d6, [sp, #360] @ 0x168 │ │ │ │ │ + vmul.f64 d6, d2, d9 │ │ │ │ │ + vstr d7, [sp, #672] @ 0x2a0 │ │ │ │ │ + vldr d7, [sp, #16] │ │ │ │ │ vmul.f64 d12, d7, d0 │ │ │ │ │ - vmul.f64 d9, d7, d14 │ │ │ │ │ - vnmls.f64 d10, d15, d5 │ │ │ │ │ - vstr d6, [sp, #664] @ 0x298 │ │ │ │ │ - vmul.f64 d6, d2, d14 │ │ │ │ │ + vmul.f64 d10, d7, d9 │ │ │ │ │ vsub.f64 d3, d6, d12 │ │ │ │ │ vadd.f64 d12, d6, d12 │ │ │ │ │ vmul.f64 d6, d2, d0 │ │ │ │ │ - vldr d2, [sp, #8] │ │ │ │ │ - vstr d10, [sp, #672] @ 0x2a0 │ │ │ │ │ - vstr d3, [sp, #392] @ 0x188 │ │ │ │ │ - vadd.f64 d5, d6, d9 │ │ │ │ │ - vsub.f64 d9, d6, d9 │ │ │ │ │ - vmul.f64 d7, d13, d9 │ │ │ │ │ + vldr d2, [sp] │ │ │ │ │ + vstr d3, [sp, #400] @ 0x190 │ │ │ │ │ + vsub.f64 d8, d6, d10 │ │ │ │ │ + vadd.f64 d5, d6, d10 │ │ │ │ │ + vmul.f64 d7, d13, d8 │ │ │ │ │ vmul.f64 d6, d15, d5 │ │ │ │ │ - vstr d5, [sp, #400] @ 0x190 │ │ │ │ │ + vstr d8, [sp, #200] @ 0xc8 │ │ │ │ │ + vstr d5, [sp, #408] @ 0x198 │ │ │ │ │ vmla.f64 d6, d13, d3 │ │ │ │ │ - vmov.f64 d10, d7 │ │ │ │ │ + vmov.f64 d11, d7 │ │ │ │ │ vmul.f64 d7, d13, d5 │ │ │ │ │ - vmul.f64 d5, d15, d9 │ │ │ │ │ - vmla.f64 d5, d13, d12 │ │ │ │ │ - vnmls.f64 d10, d15, d12 │ │ │ │ │ + vmul.f64 d5, d15, d8 │ │ │ │ │ + vnmls.f64 d11, d15, d12 │ │ │ │ │ vnmls.f64 d7, d15, d3 │ │ │ │ │ - vmul.f64 d3, d2, d14 │ │ │ │ │ - vldr d14, [sp, #16] │ │ │ │ │ - vstr d5, [sp, #232] @ 0xe8 │ │ │ │ │ - vmul.f64 d5, d14, d0 │ │ │ │ │ - vstr d10, [sp, #224] @ 0xe0 │ │ │ │ │ - vsub.f64 d10, d3, d5 │ │ │ │ │ - vstr d10, [sp, #40] @ 0x28 │ │ │ │ │ - vadd.f64 d10, d3, d5 │ │ │ │ │ + vmul.f64 d3, d2, d9 │ │ │ │ │ + vmov.f64 d10, d5 │ │ │ │ │ + vmla.f64 d10, d13, d12 │ │ │ │ │ + vstr d11, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d10, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d10, [sp, #8] │ │ │ │ │ + vmul.f64 d5, d10, d0 │ │ │ │ │ + vsub.f64 d8, d3, d5 │ │ │ │ │ + vstr d8, [sp, #32] │ │ │ │ │ + vadd.f64 d8, d3, d5 │ │ │ │ │ + vmul.f64 d5, d10, d9 │ │ │ │ │ vmul.f64 d3, d2, d0 │ │ │ │ │ - vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d10, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d10, [sp] │ │ │ │ │ - vmul.f64 d5, d14, d10 │ │ │ │ │ - vadd.f64 d10, d3, d5 │ │ │ │ │ + vldr d2, [sp, #32] │ │ │ │ │ + vstr d8, [sp, #40] @ 0x28 │ │ │ │ │ + vadd.f64 d8, d3, d5 │ │ │ │ │ vsub.f64 d3, d3, d5 │ │ │ │ │ - vmul.f64 d5, d15, d10 │ │ │ │ │ - vmov.f64 d14, d3 │ │ │ │ │ - vmla.f64 d5, d13, d2 │ │ │ │ │ - vstr d10, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d10, [sp, #56] @ 0x38 │ │ │ │ │ - vstr d14, [sp, #360] @ 0x168 │ │ │ │ │ - vstr d5, [sp, #328] @ 0x148 │ │ │ │ │ + vmul.f64 d5, d15, d8 │ │ │ │ │ + vstr d3, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d8, [sp, #376] @ 0x178 │ │ │ │ │ + vmov.f64 d10, d5 │ │ │ │ │ vmul.f64 d5, d13, d3 │ │ │ │ │ - vldr d3, [sp, #48] @ 0x30 │ │ │ │ │ - vnmls.f64 d5, d15, d3 │ │ │ │ │ - vstr d5, [sp, #312] @ 0x138 │ │ │ │ │ - vmul.f64 d5, d13, d10 │ │ │ │ │ - vnmls.f64 d5, d15, d2 │ │ │ │ │ - vstr d5, [sp, #336] @ 0x150 │ │ │ │ │ - vmul.f64 d5, d15, d14 │ │ │ │ │ - vmov.f64 d2, d5 │ │ │ │ │ - vmla.f64 d2, d13, d3 │ │ │ │ │ - vstr d2, [sp, #320] @ 0x140 │ │ │ │ │ - vldr d2, [r2] │ │ │ │ │ - mov.w r2, r8, lsl #6 │ │ │ │ │ - str r1, [sp, #80] @ 0x50 │ │ │ │ │ - add.w r9, fp, r2 │ │ │ │ │ + vldr d3, [sp, #40] @ 0x28 │ │ │ │ │ + vmla.f64 d10, d13, d2 │ │ │ │ │ + vstr d10, [sp, #336] @ 0x150 │ │ │ │ │ + vmov.f64 d10, d5 │ │ │ │ │ + vmul.f64 d5, d13, d8 │ │ │ │ │ + vldr d8, [sp, #48] @ 0x30 │ │ │ │ │ + vnmls.f64 d10, d15, d3 │ │ │ │ │ + vmov.f64 d11, d5 │ │ │ │ │ + vmul.f64 d5, d15, d8 │ │ │ │ │ + vmov.f64 d8, d3 │ │ │ │ │ vldr d3, [r1] │ │ │ │ │ - add.w lr, r7, r2 │ │ │ │ │ - add.w r4, lr, r3 │ │ │ │ │ - add.w r0, r9, r3 │ │ │ │ │ - vldr d14, [sp, #96] @ 0x60 │ │ │ │ │ - mov.w r2, r8, lsl #3 │ │ │ │ │ + mov r1, r0 │ │ │ │ │ + mov.w ip, r1, lsl #3 │ │ │ │ │ + vnmls.f64 d11, d15, d2 │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ + mov.w r2, r0, lsl #6 │ │ │ │ │ + add.w r7, r8, ip │ │ │ │ │ + add.w r6, sl, ip │ │ │ │ │ + add.w fp, sl, r2 │ │ │ │ │ + add.w lr, r8, r2 │ │ │ │ │ + mul.w r2, r4, r1 │ │ │ │ │ + add.w r5, lr, r3 │ │ │ │ │ + add.w r0, fp, r3 │ │ │ │ │ + vstr d10, [sp, #328] @ 0x148 │ │ │ │ │ + mov.w r4, #184 @ 0xb8 │ │ │ │ │ + vstr d11, [sp, #344] @ 0x158 │ │ │ │ │ + vmov.f64 d11, d5 │ │ │ │ │ vmul.f64 d5, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ + vmla.f64 d11, d13, d8 │ │ │ │ │ vmla.f64 d5, d6, d2 │ │ │ │ │ - vldr d2, [r9] │ │ │ │ │ - vldr d10, [sp, #88] @ 0x58 │ │ │ │ │ - adds r6, r7, r2 │ │ │ │ │ - add.w r5, fp, r2 │ │ │ │ │ - mul.w r2, ip, r8 │ │ │ │ │ vnmls.f64 d7, d6, d3 │ │ │ │ │ - vldr d3, [lr] │ │ │ │ │ - add.w r1, fp, r2 │ │ │ │ │ - adds r2, r7, r2 │ │ │ │ │ - mov.w ip, #136 @ 0x88 │ │ │ │ │ + vstr d11, [sp, #624] @ 0x270 │ │ │ │ │ + vldr d2, [fp] │ │ │ │ │ str r0, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d3, [lr] │ │ │ │ │ + vldr d8, [sp, #88] @ 0x58 │ │ │ │ │ + strd r5, r6, [sp, #84] @ 0x54 │ │ │ │ │ + vldr d10, [sp, #96] @ 0x60 │ │ │ │ │ + str r7, [sp, #96] @ 0x60 │ │ │ │ │ vmul.f64 d6, d4, d3 │ │ │ │ │ vmul.f64 d4, d4, d2 │ │ │ │ │ vmla.f64 d6, d1, d2 │ │ │ │ │ - vldr d2, [r4] │ │ │ │ │ - str r4, [sp, #84] @ 0x54 │ │ │ │ │ - str r5, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d2, [r5] │ │ │ │ │ vnmls.f64 d4, d1, d3 │ │ │ │ │ vldr d1, [r0] │ │ │ │ │ - vmul.f64 d3, d14, d2 │ │ │ │ │ - str r6, [sp, #96] @ 0x60 │ │ │ │ │ - str r1, [sp, #104] @ 0x68 │ │ │ │ │ - vmla.f64 d3, d10, d1 │ │ │ │ │ - vmul.f64 d1, d14, d1 │ │ │ │ │ - vldr d14, [fp] │ │ │ │ │ - str r2, [sp, #108] @ 0x6c │ │ │ │ │ - vnmls.f64 d1, d10, d2 │ │ │ │ │ - vadd.f64 d14, d14, d5 │ │ │ │ │ + vmul.f64 d3, d10, d2 │ │ │ │ │ + vmla.f64 d3, d8, d1 │ │ │ │ │ + vmul.f64 d1, d10, d1 │ │ │ │ │ + vnmls.f64 d1, d8, d2 │ │ │ │ │ + vldr d2, [sl] │ │ │ │ │ + vldr d8, [sp, #120] @ 0x78 │ │ │ │ │ + vadd.f64 d2, d2, d5 │ │ │ │ │ + vmov.f64 d11, d2 │ │ │ │ │ vadd.f64 d2, d6, d3 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ - vadd.f64 d10, d14, d2 │ │ │ │ │ - vsub.f64 d14, d14, d2 │ │ │ │ │ - vstr d14, [sp, #752] @ 0x2f0 │ │ │ │ │ - vldr d14, [r7] │ │ │ │ │ - vstr d10, [sp, #408] @ 0x198 │ │ │ │ │ - vsub.f64 d3, d14, d7 │ │ │ │ │ - vadd.f64 d14, d6, d3 │ │ │ │ │ + vadd.f64 d10, d11, d2 │ │ │ │ │ + vsub.f64 d2, d11, d2 │ │ │ │ │ + vldr d11, [r8] │ │ │ │ │ + vsub.f64 d3, d11, d7 │ │ │ │ │ + vstr d10, [sp, #416] @ 0x1a0 │ │ │ │ │ + vstr d2, [sp, #760] @ 0x2f8 │ │ │ │ │ + vadd.f64 d11, d6, d3 │ │ │ │ │ vsub.f64 d6, d3, d6 │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ - vstr d6, [sp, #768] @ 0x300 │ │ │ │ │ - vldr d6, [fp] │ │ │ │ │ - vstr d14, [sp, #760] @ 0x2f8 │ │ │ │ │ + vstr d11, [sp, #768] @ 0x300 │ │ │ │ │ + vstr d6, [sp, #776] @ 0x308 │ │ │ │ │ + vldr d6, [sl] │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vsub.f64 d5, d4, d1 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ - vldr d1, [r7] │ │ │ │ │ - vadd.f64 d7, d1, d7 │ │ │ │ │ - vadd.f64 d14, d6, d5 │ │ │ │ │ + vldr d1, [r9, #-120] @ 0xffffff88 │ │ │ │ │ + vadd.f64 d2, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vadd.f64 d1, d4, d7 │ │ │ │ │ + vstr d2, [sp, #784] @ 0x310 │ │ │ │ │ + vstr d6, [sp, #792] @ 0x318 │ │ │ │ │ + vldr d6, [r8] │ │ │ │ │ + vldr d2, [sp, #104] @ 0x68 │ │ │ │ │ + vadd.f64 d7, d6, d7 │ │ │ │ │ + vadd.f64 d6, d4, d7 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vstr d6, [sp, #784] @ 0x310 │ │ │ │ │ - vldr d4, [sl, #-120] @ 0xffffff88 │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ - vstr d1, [sp, #416] @ 0x1a0 │ │ │ │ │ - vstr d7, [sp, #792] @ 0x318 │ │ │ │ │ - vldr d1, [sl, #-120] @ 0xffffff88 │ │ │ │ │ + vldr d4, [r9, #-120] @ 0xffffff88 │ │ │ │ │ + vstr d6, [sp, #424] @ 0x1a8 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + vstr d7, [sp, #800] @ 0x320 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + mov r6, r1 │ │ │ │ │ + add.w r1, sl, r2 │ │ │ │ │ + add r2, r8 │ │ │ │ │ + mov.w r0, r6, lsl #4 │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ + str r1, [sp, #104] @ 0x68 │ │ │ │ │ + mov r1, r6 │ │ │ │ │ vmul.f64 d4, d4, d6 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - vstr d14, [sp, #776] @ 0x308 │ │ │ │ │ - vmla.f64 d4, d8, d7 │ │ │ │ │ + str r2, [sp, #144] @ 0x90 │ │ │ │ │ + add.w r7, ip, r1 │ │ │ │ │ + vmla.f64 d4, d2, d7 │ │ │ │ │ vmul.f64 d7, d1, d7 │ │ │ │ │ - vldr d1, [sp, #120] @ 0x78 │ │ │ │ │ - vnmls.f64 d7, d8, d6 │ │ │ │ │ + vnmls.f64 d7, d2, d6 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ - vldr d14, [sp, #112] @ 0x70 │ │ │ │ │ - mul.w r2, ip, r8 │ │ │ │ │ - vldr d10, [sp, #136] @ 0x88 │ │ │ │ │ - vmul.f64 d2, d1, d6 │ │ │ │ │ - adds r4, r7, r2 │ │ │ │ │ - vmla.f64 d2, d14, d3 │ │ │ │ │ - vmul.f64 d3, d1, d3 │ │ │ │ │ - add.w r0, fp, r2 │ │ │ │ │ - movs r2, #72 @ 0x48 │ │ │ │ │ + add.w r2, r0, r6 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + vldr d1, [sp, #112] @ 0x70 │ │ │ │ │ + add.w r6, r8, r2 │ │ │ │ │ + add.w r5, sl, r2 │ │ │ │ │ + mov.w r2, r7, lsl #3 │ │ │ │ │ + vldr d11, [sp, #136] @ 0x88 │ │ │ │ │ + str r5, [sp, #112] @ 0x70 │ │ │ │ │ + vmul.f64 d2, d8, d6 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + str r6, [sp, #120] @ 0x78 │ │ │ │ │ + str r7, [sp, #888] @ 0x378 │ │ │ │ │ + vmla.f64 d2, d1, d3 │ │ │ │ │ + vmul.f64 d3, d8, d3 │ │ │ │ │ vldr d8, [sp, #128] @ 0x80 │ │ │ │ │ - str r4, [sp, #120] @ 0x78 │ │ │ │ │ - vnmls.f64 d3, d14, d6 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - str r0, [sp, #112] @ 0x70 │ │ │ │ │ - vmul.f64 d1, d10, d6 │ │ │ │ │ - adds r6, r7, r2 │ │ │ │ │ + vnmls.f64 d3, d1, d6 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + mov r6, r1 │ │ │ │ │ + add.w r1, sl, r2 │ │ │ │ │ + add r2, r8 │ │ │ │ │ + str r1, [sp, #128] @ 0x80 │ │ │ │ │ + str r2, [sp, #136] @ 0x88 │ │ │ │ │ + vmul.f64 d1, d11, d6 │ │ │ │ │ vmla.f64 d1, d8, d5 │ │ │ │ │ - vmul.f64 d5, d10, d5 │ │ │ │ │ - add.w r5, fp, r2 │ │ │ │ │ - vldr d10, [sp] │ │ │ │ │ - vldr d14, [r6] │ │ │ │ │ - movs r2, #248 @ 0xf8 │ │ │ │ │ - str r6, [sp, #136] @ 0x88 │ │ │ │ │ + vmul.f64 d5, d11, d5 │ │ │ │ │ + vldr d11, [r2] │ │ │ │ │ + mov.w r2, r6, lsl #5 │ │ │ │ │ vnmls.f64 d5, d8, d6 │ │ │ │ │ - vldr d8, [r5] │ │ │ │ │ - vmul.f64 d6, d0, d14 │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - str r5, [sp, #128] @ 0x80 │ │ │ │ │ - vmla.f64 d6, d10, d8 │ │ │ │ │ + vldr d8, [r1] │ │ │ │ │ + sub.w r1, r2, r6 │ │ │ │ │ + vmul.f64 d6, d0, d11 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + add.w r5, sl, r1 │ │ │ │ │ + str r5, [sp, #148] @ 0x94 │ │ │ │ │ + vmla.f64 d6, d9, d8 │ │ │ │ │ vmul.f64 d8, d0, d8 │ │ │ │ │ - add.w r1, fp, r2 │ │ │ │ │ - adds r2, r7, r2 │ │ │ │ │ - str r2, [sp, #144] @ 0x90 │ │ │ │ │ - str r1, [sp, #0] │ │ │ │ │ - vnmls.f64 d8, d10, d14 │ │ │ │ │ - vadd.f64 d10, d4, d1 │ │ │ │ │ + vnmls.f64 d8, d9, d11 │ │ │ │ │ + vadd.f64 d9, d4, d1 │ │ │ │ │ vsub.f64 d4, d4, d1 │ │ │ │ │ vadd.f64 d0, d2, d6 │ │ │ │ │ vsub.f64 d6, d6, d2 │ │ │ │ │ - vadd.f64 d14, d10, d0 │ │ │ │ │ - vsub.f64 d0, d10, d0 │ │ │ │ │ - vadd.f64 d10, d7, d5 │ │ │ │ │ - vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - movs r2, #184 @ 0xb8 │ │ │ │ │ - vstr d0, [sp, #800] @ 0x320 │ │ │ │ │ + vadd.f64 d11, d9, d0 │ │ │ │ │ + vsub.f64 d9, d9, d0 │ │ │ │ │ vadd.f64 d0, d3, d8 │ │ │ │ │ vsub.f64 d8, d8, d3 │ │ │ │ │ - vstr d14, [sp, #424] @ 0x1a8 │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - vsub.f64 d14, d10, d0 │ │ │ │ │ - adds r4, r7, r2 │ │ │ │ │ + vstr d11, [sp, #432] @ 0x1b0 │ │ │ │ │ vadd.f64 d1, d4, d8 │ │ │ │ │ - vsub.f64 d8, d4, d8 │ │ │ │ │ - vsub.f64 d4, d7, d6 │ │ │ │ │ + vstr d9, [sp, #808] @ 0x328 │ │ │ │ │ + vadd.f64 d9, d7, d5 │ │ │ │ │ + vsub.f64 d7, d7, d5 │ │ │ │ │ + vsub.f64 d4, d4, d8 │ │ │ │ │ + vldr d8, [sp, #184] @ 0xb8 │ │ │ │ │ + vstr d1, [sp, #824] @ 0x338 │ │ │ │ │ + vsub.f64 d11, d9, d0 │ │ │ │ │ + vadd.f64 d9, d9, d0 │ │ │ │ │ + vsub.f64 d1, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - add.w r0, fp, r2 │ │ │ │ │ - movs r2, #120 @ 0x78 │ │ │ │ │ - vstr d14, [sp, #808] @ 0x328 │ │ │ │ │ - vadd.f64 d0, d10, d0 │ │ │ │ │ - vstr d1, [sp, #816] @ 0x330 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + add.w r5, r8, r1 │ │ │ │ │ + mul.w r1, r4, r6 │ │ │ │ │ + vldr d0, [sp, #168] @ 0xa8 │ │ │ │ │ + str r5, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d9, [sp, #440] @ 0x1b8 │ │ │ │ │ + vstr d1, [sp, #448] @ 0x1c0 │ │ │ │ │ + vstr d7, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, sl, r1 │ │ │ │ │ + add r1, r8 │ │ │ │ │ + vstr d4, [sp, #832] @ 0x340 │ │ │ │ │ vldr d1, [sp, #160] @ 0xa0 │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - vldr d14, [sp, #152] @ 0x98 │ │ │ │ │ - vstr d7, [sp, #448] @ 0x1c0 │ │ │ │ │ - adds r6, r7, r2 │ │ │ │ │ + str r5, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ + sub.w r5, r0, r6 │ │ │ │ │ + str r1, [sp, #168] @ 0xa8 │ │ │ │ │ + vmul.f64 d5, d0, d7 │ │ │ │ │ + vstr d11, [sp, #816] @ 0x330 │ │ │ │ │ + vmla.f64 d5, d1, d6 │ │ │ │ │ + vmul.f64 d6, d0, d6 │ │ │ │ │ + vnmls.f64 d6, d1, d7 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - vmul.f64 d6, d1, d5 │ │ │ │ │ - vstr d8, [sp, #824] @ 0x338 │ │ │ │ │ - add.w r5, fp, r2 │ │ │ │ │ - vldr d8, [sp, #176] @ 0xb0 │ │ │ │ │ - movs r2, #56 @ 0x38 │ │ │ │ │ - vmla.f64 d6, d14, d7 │ │ │ │ │ - vmul.f64 d7, d1, d7 │ │ │ │ │ - vstr d4, [sp, #440] @ 0x1b8 │ │ │ │ │ - vldr d4, [r4] │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - str r0, [sp, #152] @ 0x98 │ │ │ │ │ - vnmls.f64 d7, d14, d5 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ - vldr d14, [sp, #168] @ 0xa8 │ │ │ │ │ - vmul.f64 d1, d8, d4 │ │ │ │ │ - str r4, [sp, #160] @ 0xa0 │ │ │ │ │ - add.w r1, fp, r2 │ │ │ │ │ - vstr d0, [sp, #432] @ 0x1b0 │ │ │ │ │ - adds r2, r7, r2 │ │ │ │ │ - vmla.f64 d1, d14, d5 │ │ │ │ │ - vmul.f64 d5, d8, d5 │ │ │ │ │ - str r5, [sp, #168] @ 0xa8 │ │ │ │ │ - vldr d8, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d0, [sp, #184] @ 0xb8 │ │ │ │ │ - vnmls.f64 d5, d14, d4 │ │ │ │ │ - vldr d4, [r6] │ │ │ │ │ - vldr d3, [r5] │ │ │ │ │ - str r2, [sp, #192] @ 0xc0 │ │ │ │ │ - vmul.f64 d2, d8, d4 │ │ │ │ │ - str r6, [sp, #176] @ 0xb0 │ │ │ │ │ - vmla.f64 d2, d0, d3 │ │ │ │ │ - vmul.f64 d3, d8, d3 │ │ │ │ │ - vldr d8, [r1] │ │ │ │ │ - str r1, [sp, #184] @ 0xb8 │ │ │ │ │ - vnmls.f64 d3, d0, d4 │ │ │ │ │ - vldr d0, [r2] │ │ │ │ │ - mov.w r2, r8, lsl #5 │ │ │ │ │ - adds r4, r7, r2 │ │ │ │ │ - add.w r0, fp, r2 │ │ │ │ │ - vmul.f64 d4, d9, d0 │ │ │ │ │ - vmul.f64 d9, d9, d8 │ │ │ │ │ - vmla.f64 d4, d12, d8 │ │ │ │ │ - vadd.f64 d8, d6, d2 │ │ │ │ │ - vsub.f64 d6, d6, d2 │ │ │ │ │ - movs r2, #96 @ 0x60 │ │ │ │ │ - str r0, [sp, #200] @ 0xc8 │ │ │ │ │ - vnmls.f64 d9, d12, d0 │ │ │ │ │ - str r4, [sp, #204] @ 0xcc │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - adds r6, r7, r2 │ │ │ │ │ - add.w r5, fp, r2 │ │ │ │ │ - movs r2, #160 @ 0xa0 │ │ │ │ │ - vadd.f64 d0, d1, d4 │ │ │ │ │ - vsub.f64 d4, d4, d1 │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - vadd.f64 d12, d8, d0 │ │ │ │ │ - vsub.f64 d8, d8, d0 │ │ │ │ │ - vadd.f64 d0, d5, d9 │ │ │ │ │ - vsub.f64 d9, d9, d5 │ │ │ │ │ - vldr d5, [sp, #8] │ │ │ │ │ - add.w r1, fp, r2 │ │ │ │ │ - adds r2, r7, r2 │ │ │ │ │ - str r5, [sp, #8] │ │ │ │ │ - vstr d8, [sp, #464] @ 0x1d0 │ │ │ │ │ - vadd.f64 d8, d7, d3 │ │ │ │ │ - vsub.f64 d7, d7, d3 │ │ │ │ │ - vstr d12, [sp, #456] @ 0x1c8 │ │ │ │ │ - vldr d2, [r1] │ │ │ │ │ - vsub.f64 d12, d8, d0 │ │ │ │ │ - vadd.f64 d8, d8, d0 │ │ │ │ │ - vsub.f64 d1, d7, d4 │ │ │ │ │ - vadd.f64 d7, d7, d4 │ │ │ │ │ - vldr d0, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d4, [sp, #208] @ 0xd0 │ │ │ │ │ - str r2, [sp, #216] @ 0xd8 │ │ │ │ │ - vstr d7, [sp, #496] @ 0x1f0 │ │ │ │ │ - vadd.f64 d7, d6, d9 │ │ │ │ │ - vstr d1, [sp, #488] @ 0x1e8 │ │ │ │ │ - vsub.f64 d1, d6, d9 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - vldr d9, [sp, #16] │ │ │ │ │ - vstr d7, [sp, #504] @ 0x1f8 │ │ │ │ │ + mov.w r1, r5, lsl #3 │ │ │ │ │ + mov.w r5, r5, lsl #4 │ │ │ │ │ + vldr d1, [sp, #176] @ 0xb0 │ │ │ │ │ + str r0, [sp, #80] @ 0x50 │ │ │ │ │ + add.w r0, sl, r1 │ │ │ │ │ + vldr d10, [sp, #8] │ │ │ │ │ + str r0, [sp, #176] @ 0xb0 │ │ │ │ │ + vmul.f64 d0, d8, d7 │ │ │ │ │ + vldr d2, [r0] │ │ │ │ │ + add.w r0, r8, r1 │ │ │ │ │ + vldr d9, [sp, #208] @ 0xd0 │ │ │ │ │ + str r0, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d11, [sp, #192] @ 0xc0 │ │ │ │ │ + vmla.f64 d0, d1, d4 │ │ │ │ │ + vmul.f64 d4, d8, d4 │ │ │ │ │ + vnmls.f64 d4, d1, d7 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - vmul.f64 d3, d9, d6 │ │ │ │ │ + sub.w r0, ip, r6 │ │ │ │ │ + mov.w r1, r0, lsl #3 │ │ │ │ │ + add.w r4, sl, r1 │ │ │ │ │ + str r4, [sp, #192] @ 0xc0 │ │ │ │ │ + vmul.f64 d1, d9, d7 │ │ │ │ │ + vmla.f64 d1, d11, d2 │ │ │ │ │ + vmul.f64 d2, d9, d2 │ │ │ │ │ + vldr d9, [sp, #200] @ 0xc8 │ │ │ │ │ + vnmls.f64 d2, d11, d7 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + add.w r4, r8, r1 │ │ │ │ │ + add.w r1, sl, r2 │ │ │ │ │ + add r2, r8 │ │ │ │ │ + vldr d8, [r4] │ │ │ │ │ + str r1, [sp, #200] @ 0xc8 │ │ │ │ │ + str r2, [sp, #208] @ 0xd0 │ │ │ │ │ + vmul.f64 d3, d9, d8 │ │ │ │ │ + vmla.f64 d3, d12, d7 │ │ │ │ │ + vmul.f64 d7, d9, d7 │ │ │ │ │ + vadd.f64 d9, d5, d1 │ │ │ │ │ + vsub.f64 d5, d5, d1 │ │ │ │ │ + vnmls.f64 d7, d12, d8 │ │ │ │ │ + vadd.f64 d8, d0, d3 │ │ │ │ │ + vsub.f64 d3, d3, d0 │ │ │ │ │ + vadd.f64 d12, d9, d8 │ │ │ │ │ + vsub.f64 d8, d9, d8 │ │ │ │ │ + vadd.f64 d9, d6, d2 │ │ │ │ │ + vsub.f64 d6, d6, d2 │ │ │ │ │ + vstr d12, [sp, #464] @ 0x1d0 │ │ │ │ │ + vstr d8, [sp, #472] @ 0x1d8 │ │ │ │ │ + vadd.f64 d8, d4, d7 │ │ │ │ │ + vsub.f64 d7, d7, d4 │ │ │ │ │ + vsub.f64 d0, d6, d3 │ │ │ │ │ + vldr d4, [sp, #216] @ 0xd8 │ │ │ │ │ + vadd.f64 d1, d5, d7 │ │ │ │ │ + vsub.f64 d7, d5, d7 │ │ │ │ │ + vldr d5, [sp] │ │ │ │ │ + vsub.f64 d12, d9, d8 │ │ │ │ │ + vadd.f64 d9, d9, d8 │ │ │ │ │ + vadd.f64 d8, d6, d3 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + vstr d7, [sp, #520] @ 0x208 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + vmul.f64 d3, d10, d6 │ │ │ │ │ + add.w r1, r6, r6, lsl #1 │ │ │ │ │ vstr d1, [sp, #512] @ 0x200 │ │ │ │ │ - str r6, [sp, #16] │ │ │ │ │ + mov.w r2, r1, lsl #5 │ │ │ │ │ + vstr d0, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d0, [sp, #224] @ 0xe0 │ │ │ │ │ + add.w r7, sl, r2 │ │ │ │ │ vmla.f64 d3, d5, d7 │ │ │ │ │ - vmul.f64 d7, d9, d7 │ │ │ │ │ - str r1, [sp, #208] @ 0xd0 │ │ │ │ │ - vstr d12, [sp, #472] @ 0x1d8 │ │ │ │ │ - vstr d8, [sp, #480] @ 0x1e0 │ │ │ │ │ + vmul.f64 d7, d10, d7 │ │ │ │ │ + str r7, [sp, #0] │ │ │ │ │ + vstr d12, [sp, #480] @ 0x1e0 │ │ │ │ │ + vstr d9, [sp, #488] @ 0x1e8 │ │ │ │ │ + vstr d8, [sp, #504] @ 0x1f8 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + add.w r7, r8, r2 │ │ │ │ │ + add.w r2, r6, r6, lsl #2 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + mov.w ip, r2, lsl #5 │ │ │ │ │ + str r7, [sp, #8] │ │ │ │ │ + add.w r7, sl, ip │ │ │ │ │ + vldr d2, [r7] │ │ │ │ │ vmul.f64 d1, d0, d6 │ │ │ │ │ + str r7, [sp, #216] @ 0xd8 │ │ │ │ │ + add.w r7, r8, ip │ │ │ │ │ + mov.w ip, r0, lsl #5 │ │ │ │ │ + str r7, [sp, #224] @ 0xe0 │ │ │ │ │ + mov.w r0, r0, lsl #4 │ │ │ │ │ + vldr d11, [sp, #232] @ 0xe8 │ │ │ │ │ vmla.f64 d1, d4, d5 │ │ │ │ │ vmul.f64 d5, d0, d5 │ │ │ │ │ + vldr d10, [sp, #240] @ 0xf0 │ │ │ │ │ vnmls.f64 d5, d4, d6 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - movs r2, #224 @ 0xe0 │ │ │ │ │ - vldr d8, [sp, #224] @ 0xe0 │ │ │ │ │ - vldr d9, [sp, #232] @ 0xe8 │ │ │ │ │ - vldr d14, [sp, #240] @ 0xf0 │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - vmul.f64 d0, d8, d6 │ │ │ │ │ - vmla.f64 d0, d9, d2 │ │ │ │ │ - vmul.f64 d2, d8, d2 │ │ │ │ │ - adds r4, r7, r2 │ │ │ │ │ - add.w r0, fp, r2 │ │ │ │ │ - mov.w r2, r8, lsl #4 │ │ │ │ │ - str r0, [sp, #224] @ 0xe0 │ │ │ │ │ - add.w r5, fp, r2 │ │ │ │ │ - adds r2, r7, r2 │ │ │ │ │ - vldr d8, [r4] │ │ │ │ │ - vnmls.f64 d2, d9, d6 │ │ │ │ │ - vldr d9, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - vmul.f64 d4, d14, d8 │ │ │ │ │ - str r2, [sp, #248] @ 0xf8 │ │ │ │ │ - str r4, [sp, #232] @ 0xe8 │ │ │ │ │ - vmla.f64 d4, d9, d6 │ │ │ │ │ - vmul.f64 d6, d14, d6 │ │ │ │ │ - vldr d14, [sp, #264] @ 0x108 │ │ │ │ │ - str r5, [sp, #240] @ 0xf0 │ │ │ │ │ - vnmls.f64 d6, d9, d8 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + add.w r7, sl, ip │ │ │ │ │ + str r7, [sp, #232] @ 0xe8 │ │ │ │ │ + vmul.f64 d0, d11, d6 │ │ │ │ │ + vmla.f64 d0, d10, d2 │ │ │ │ │ + vmul.f64 d2, d11, d2 │ │ │ │ │ + vldr d11, [sp, #256] @ 0x100 │ │ │ │ │ + vnmls.f64 d2, d10, d6 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + add.w r7, r8, ip │ │ │ │ │ + vldr d8, [r7] │ │ │ │ │ + str r7, [sp, #240] @ 0xf0 │ │ │ │ │ + ldr r7, [sp, #80] @ 0x50 │ │ │ │ │ vadd.f64 d9, d3, d0 │ │ │ │ │ vsub.f64 d3, d3, d0 │ │ │ │ │ - vldr d0, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d10, [sp, #248] @ 0xf8 │ │ │ │ │ + add r7, sl │ │ │ │ │ + str r7, [sp, #248] @ 0xf8 │ │ │ │ │ + vmul.f64 d4, d10, d8 │ │ │ │ │ + vmla.f64 d4, d11, d6 │ │ │ │ │ + vmul.f64 d6, d10, d6 │ │ │ │ │ + vnmls.f64 d6, d11, d8 │ │ │ │ │ vadd.f64 d8, d1, d4 │ │ │ │ │ vsub.f64 d4, d4, d1 │ │ │ │ │ - vldr d1, [sp, #24] │ │ │ │ │ - vadd.f64 d12, d9, d8 │ │ │ │ │ - vsub.f64 d9, d9, d8 │ │ │ │ │ - vadd.f64 d8, d7, d2 │ │ │ │ │ - vsub.f64 d7, d7, d2 │ │ │ │ │ - vldr d2, [sp, #32] │ │ │ │ │ - vstr d9, [sp, #832] @ 0x340 │ │ │ │ │ + vldr d1, [sp, #16] │ │ │ │ │ + vadd.f64 d10, d9, d8 │ │ │ │ │ + vstr d10, [sp, #528] @ 0x210 │ │ │ │ │ + vsub.f64 d10, d9, d8 │ │ │ │ │ vadd.f64 d9, d5, d6 │ │ │ │ │ + vadd.f64 d8, d7, d2 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vstr d12, [sp, #520] @ 0x208 │ │ │ │ │ - vsub.f64 d10, d9, d8 │ │ │ │ │ - vadd.f64 d8, d9, d8 │ │ │ │ │ - vadd.f64 d9, d3, d7 │ │ │ │ │ - vstr d8, [sp, #528] @ 0x210 │ │ │ │ │ - vsub.f64 d8, d3, d7 │ │ │ │ │ - vadd.f64 d7, d4, d6 │ │ │ │ │ - vstr d9, [sp, #536] @ 0x218 │ │ │ │ │ - vsub.f64 d9, d4, d6 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - movs r2, #208 @ 0xd0 │ │ │ │ │ + vsub.f64 d7, d7, d2 │ │ │ │ │ + vldr d2, [sp, #24] │ │ │ │ │ vstr d10, [sp, #840] @ 0x348 │ │ │ │ │ - vstr d8, [sp, #544] @ 0x220 │ │ │ │ │ - vstr d7, [sp, #560] @ 0x230 │ │ │ │ │ + vsub.f64 d11, d9, d8 │ │ │ │ │ + vadd.f64 d0, d3, d7 │ │ │ │ │ + vsub.f64 d10, d3, d7 │ │ │ │ │ + vadd.f64 d7, d4, d6 │ │ │ │ │ + vstr d11, [sp, #848] @ 0x350 │ │ │ │ │ + vadd.f64 d11, d9, d8 │ │ │ │ │ + vstr d7, [sp, #568] @ 0x238 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + ldr r7, [sp, #80] @ 0x50 │ │ │ │ │ + str r6, [sp, #80] @ 0x50 │ │ │ │ │ + vstr d11, [sp, #536] @ 0x218 │ │ │ │ │ + vsub.f64 d11, d4, d6 │ │ │ │ │ + vstr d10, [sp, #552] @ 0x228 │ │ │ │ │ + vldr d10, [sp, #272] @ 0x110 │ │ │ │ │ + add r7, r8 │ │ │ │ │ + vstr d0, [sp, #544] @ 0x220 │ │ │ │ │ + vldr d0, [sp, #264] @ 0x108 │ │ │ │ │ + str r7, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + mov.w r7, #208 @ 0xd0 │ │ │ │ │ + vstr d11, [sp, #560] @ 0x230 │ │ │ │ │ + mul.w r7, r6, r7 │ │ │ │ │ + add.w r6, sl, r7 │ │ │ │ │ vmul.f64 d3, d1, d6 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - vstr d9, [sp, #552] @ 0x228 │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ - add.w r1, fp, r2 │ │ │ │ │ + str r6, [sp, #16] │ │ │ │ │ vmla.f64 d3, d2, d7 │ │ │ │ │ vmul.f64 d7, d1, d7 │ │ │ │ │ - movs r2, #144 @ 0x90 │ │ │ │ │ - str r1, [sp, #24] │ │ │ │ │ - str r0, [sp, #32] │ │ │ │ │ vnmls.f64 d7, d2, d6 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - vldr d2, [r1] │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - vmul.f64 d1, d14, d6 │ │ │ │ │ - add.w r4, fp, r2 │ │ │ │ │ + vldr d2, [r6] │ │ │ │ │ + add.w r6, r8, r7 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + str r6, [sp, #24] │ │ │ │ │ + ldr r7, [sp, #888] @ 0x378 │ │ │ │ │ + vldr d5, [sp, #280] @ 0x118 │ │ │ │ │ + vmul.f64 d1, d10, d6 │ │ │ │ │ + vldr d9, [sp, #320] @ 0x140 │ │ │ │ │ + mov.w r6, r7, lsl #4 │ │ │ │ │ + add.w r7, sl, r6 │ │ │ │ │ + add r6, r8 │ │ │ │ │ vmla.f64 d1, d0, d2 │ │ │ │ │ - vmul.f64 d2, d14, d2 │ │ │ │ │ - adds r6, r7, r2 │ │ │ │ │ - movs r2, #80 @ 0x50 │ │ │ │ │ - vldr d4, [r4] │ │ │ │ │ - str r4, [sp, #256] @ 0x100 │ │ │ │ │ - vnmls.f64 d2, d0, d6 │ │ │ │ │ + vmul.f64 d2, d10, d2 │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ str r6, [sp, #264] @ 0x108 │ │ │ │ │ + str r7, [sp, #888] @ 0x378 │ │ │ │ │ + vldr d10, [sp, #288] @ 0x120 │ │ │ │ │ + vnmls.f64 d2, d0, d6 │ │ │ │ │ vldr d6, [r6] │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - vldr d8, [sp, #280] @ 0x118 │ │ │ │ │ - vldr d5, [sp, #272] @ 0x110 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - add.w r5, fp, r2 │ │ │ │ │ - vldr d9, [sp, #288] @ 0x120 │ │ │ │ │ - vmul.f64 d0, d8, d6 │ │ │ │ │ - movs r2, #240 @ 0xf0 │ │ │ │ │ + mov.w r6, r2, lsl #4 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + add.w r7, sl, r6 │ │ │ │ │ + add r6, r8 │ │ │ │ │ + add.w ip, sl, r2 │ │ │ │ │ + add r2, r8 │ │ │ │ │ + vldr d8, [r6] │ │ │ │ │ + str r7, [sp, #272] @ 0x110 │ │ │ │ │ + vmul.f64 d0, d9, d6 │ │ │ │ │ + str r6, [sp, #280] @ 0x118 │ │ │ │ │ + add.w r6, sl, r5 │ │ │ │ │ + add r5, r8 │ │ │ │ │ + str r6, [sp, #288] @ 0x120 │ │ │ │ │ vmla.f64 d0, d5, d4 │ │ │ │ │ - vmul.f64 d4, d8, d4 │ │ │ │ │ - vldr d8, [r1] │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - str r5, [sp, #272] @ 0x110 │ │ │ │ │ - str r1, [sp, #280] @ 0x118 │ │ │ │ │ + vmul.f64 d4, d9, d4 │ │ │ │ │ + vldr d9, [sp, #296] @ 0x128 │ │ │ │ │ + str r5, [sp, #296] @ 0x128 │ │ │ │ │ vnmls.f64 d4, d5, d6 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ vmul.f64 d5, d9, d8 │ │ │ │ │ - adds r4, r7, r2 │ │ │ │ │ - add.w r0, fp, r2 │ │ │ │ │ - movs r2, #176 @ 0xb0 │ │ │ │ │ - vmla.f64 d5, d11, d6 │ │ │ │ │ + ldr r7, [sp, #80] @ 0x50 │ │ │ │ │ + vmla.f64 d5, d10, d6 │ │ │ │ │ vmul.f64 d6, d9, d6 │ │ │ │ │ vadd.f64 d9, d3, d0 │ │ │ │ │ - str r0, [sp, #288] @ 0x120 │ │ │ │ │ vsub.f64 d3, d3, d0 │ │ │ │ │ - vldr d0, [sp, #304] @ 0x130 │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - str r4, [sp, #880] @ 0x370 │ │ │ │ │ - vnmls.f64 d6, d11, d8 │ │ │ │ │ - add.w r5, fp, r2 │ │ │ │ │ - adds r2, r7, r2 │ │ │ │ │ - str r2, [sp, #304] @ 0x130 │ │ │ │ │ + vldr d0, [sp, #312] @ 0x138 │ │ │ │ │ + vnmls.f64 d6, d10, d8 │ │ │ │ │ vadd.f64 d8, d1, d5 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ - vadd.f64 d11, d9, d8 │ │ │ │ │ - vstr d11, [sp, #568] @ 0x238 │ │ │ │ │ - vsub.f64 d11, d9, d8 │ │ │ │ │ - vadd.f64 d9, d7, d4 │ │ │ │ │ + vadd.f64 d10, d9, d8 │ │ │ │ │ + vsub.f64 d9, d9, d8 │ │ │ │ │ vadd.f64 d8, d2, d6 │ │ │ │ │ - vsub.f64 d7, d7, d4 │ │ │ │ │ vsub.f64 d6, d6, d2 │ │ │ │ │ - vstr d11, [sp, #848] @ 0x350 │ │ │ │ │ - vsub.f64 d11, d9, d8 │ │ │ │ │ + vstr d10, [sp, #576] @ 0x240 │ │ │ │ │ + vstr d9, [sp, #856] @ 0x358 │ │ │ │ │ + vadd.f64 d9, d7, d4 │ │ │ │ │ + vsub.f64 d7, d7, d4 │ │ │ │ │ vadd.f64 d2, d3, d6 │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ - vstr d11, [sp, #856] @ 0x358 │ │ │ │ │ - vadd.f64 d11, d9, d8 │ │ │ │ │ - vstr d2, [sp, #584] @ 0x248 │ │ │ │ │ - vadd.f64 d2, d7, d5 │ │ │ │ │ - vstr d4, [sp, #600] @ 0x258 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - vldr d4, [sp, #296] @ 0x128 │ │ │ │ │ - vstr d11, [sp, #576] @ 0x240 │ │ │ │ │ - vsub.f64 d11, d3, d6 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ + vadd.f64 d7, d7, d5 │ │ │ │ │ + vstr d2, [sp, #592] @ 0x250 │ │ │ │ │ + vsub.f64 d2, d3, d6 │ │ │ │ │ + vsub.f64 d12, d9, d8 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + vadd.f64 d8, d9, d8 │ │ │ │ │ + vstr d4, [sp, #608] @ 0x260 │ │ │ │ │ + vldr d4, [sp, #304] @ 0x130 │ │ │ │ │ + vstr d7, [sp, #616] @ 0x268 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + mov.w r5, #176 @ 0xb0 │ │ │ │ │ + vstr d8, [sp, #584] @ 0x248 │ │ │ │ │ + mul.w r5, r7, r5 │ │ │ │ │ + vstr d2, [sp, #600] @ 0x258 │ │ │ │ │ + vstr d12, [sp, #864] @ 0x360 │ │ │ │ │ + add.w r6, sl, r5 │ │ │ │ │ + add r5, r8 │ │ │ │ │ vmul.f64 d5, d4, d7 │ │ │ │ │ - vstr d2, [sp, #608] @ 0x260 │ │ │ │ │ - vldr d2, [sp, #312] @ 0x138 │ │ │ │ │ + str r6, [sp, #304] @ 0x130 │ │ │ │ │ + str r5, [sp, #312] @ 0x138 │ │ │ │ │ vmla.f64 d5, d0, d6 │ │ │ │ │ vmul.f64 d6, d4, d6 │ │ │ │ │ - vldr d9, [sp, #320] @ 0x140 │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ - str r5, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ vnmls.f64 d6, d0, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - movs r2, #112 @ 0x70 │ │ │ │ │ - vstr d11, [sp, #592] @ 0x250 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, sl, r0 │ │ │ │ │ + add r0, r8 │ │ │ │ │ + vldr d2, [sp, #328] @ 0x148 │ │ │ │ │ + str r5, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d11, [sp, #336] @ 0x150 │ │ │ │ │ + str r0, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d1, [sp, #624] @ 0x270 │ │ │ │ │ vmul.f64 d0, d2, d7 │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - vmla.f64 d0, d9, d4 │ │ │ │ │ - vmul.f64 d4, d2, d4 │ │ │ │ │ - add.w r6, fp, r2 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - movs r2, #48 @ 0x30 │ │ │ │ │ - str r6, [sp, #312] @ 0x138 │ │ │ │ │ - str r1, [sp, #320] @ 0x140 │ │ │ │ │ - vnmls.f64 d4, d9, d7 │ │ │ │ │ - vldr d2, [r6] │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - vldr d8, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d11, [sp, #328] @ 0x148 │ │ │ │ │ - adds r4, r7, r2 │ │ │ │ │ - add.w r0, fp, r2 │ │ │ │ │ - vldr d12, [sp, #352] @ 0x160 │ │ │ │ │ - vmul.f64 d1, d8, d7 │ │ │ │ │ vldr d9, [sp, #344] @ 0x158 │ │ │ │ │ - vmla.f64 d1, d11, d2 │ │ │ │ │ - vmul.f64 d2, d8, d2 │ │ │ │ │ - vldr d8, [r4] │ │ │ │ │ - movs r2, #40 @ 0x28 │ │ │ │ │ - str r0, [sp, #328] @ 0x148 │ │ │ │ │ - str r4, [sp, #336] @ 0x150 │ │ │ │ │ - vnmls.f64 d2, d11, d7 │ │ │ │ │ + vldr d12, [sp, #352] @ 0x160 │ │ │ │ │ + vmla.f64 d0, d1, d4 │ │ │ │ │ + vmul.f64 d4, d2, d4 │ │ │ │ │ + vldr d2, [r5] │ │ │ │ │ + vnmls.f64 d4, d1, d7 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ + mov.w r0, r1, lsl #4 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + add.w r6, sl, r0 │ │ │ │ │ + add r0, r8 │ │ │ │ │ + vldr d8, [r0] │ │ │ │ │ + str r6, [sp, #336] @ 0x150 │ │ │ │ │ + vmul.f64 d1, d9, d7 │ │ │ │ │ + str r0, [sp, #344] @ 0x158 │ │ │ │ │ + add.w r0, ip, r3 │ │ │ │ │ vmul.f64 d3, d12, d8 │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - vmla.f64 d3, d9, d7 │ │ │ │ │ - vmul.f64 d7, d12, d7 │ │ │ │ │ - add.w ip, fp, r2 │ │ │ │ │ - add r2, r7 │ │ │ │ │ - adds r1, r2, r3 │ │ │ │ │ - add.w r5, ip, r3 │ │ │ │ │ - str r1, [sp, #344] @ 0x158 │ │ │ │ │ - vnmls.f64 d7, d9, d8 │ │ │ │ │ + vmla.f64 d1, d11, d2 │ │ │ │ │ + vmul.f64 d2, d9, d2 │ │ │ │ │ + vnmls.f64 d2, d11, d7 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ vadd.f64 d9, d5, d1 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ - vldr d1, [sp, #360] @ 0x168 │ │ │ │ │ + vmla.f64 d3, d14, d7 │ │ │ │ │ + vmul.f64 d7, d12, d7 │ │ │ │ │ + vnmls.f64 d7, d14, d8 │ │ │ │ │ vadd.f64 d8, d0, d3 │ │ │ │ │ vsub.f64 d3, d3, d0 │ │ │ │ │ - vadd.f64 d12, d9, d8 │ │ │ │ │ - vsub.f64 d9, d9, d8 │ │ │ │ │ + vadd.f64 d14, d9, d8 │ │ │ │ │ + vstr d14, [sp, #624] @ 0x270 │ │ │ │ │ + vsub.f64 d14, d9, d8 │ │ │ │ │ vadd.f64 d8, d4, d7 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vstr d9, [sp, #864] @ 0x360 │ │ │ │ │ vadd.f64 d9, d6, d2 │ │ │ │ │ + vldr d4, [sp, #40] @ 0x28 │ │ │ │ │ vsub.f64 d6, d6, d2 │ │ │ │ │ - vadd.f64 d4, d5, d7 │ │ │ │ │ - vstr d12, [sp, #616] @ 0x268 │ │ │ │ │ - vsub.f64 d11, d9, d8 │ │ │ │ │ - vadd.f64 d8, d9, d8 │ │ │ │ │ - vsub.f64 d2, d6, d3 │ │ │ │ │ - vadd.f64 d0, d6, d3 │ │ │ │ │ - vstr d4, [sp, #648] @ 0x288 │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ - vldr d4, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d2, [sp, #632] @ 0x278 │ │ │ │ │ - vsub.f64 d2, d5, d7 │ │ │ │ │ + str r0, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d14, [sp, #872] @ 0x368 │ │ │ │ │ + vsub.f64 d1, d5, d7 │ │ │ │ │ + vadd.f64 d2, d5, d7 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - vldr d9, [sp, #672] @ 0x2a0 │ │ │ │ │ - vstr d8, [sp, #624] @ 0x270 │ │ │ │ │ + vadd.f64 d11, d9, d8 │ │ │ │ │ + vsub.f64 d12, d6, d3 │ │ │ │ │ + vsub.f64 d14, d9, d8 │ │ │ │ │ + vadd.f64 d9, d6, d3 │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + vstr d1, [sp, #664] @ 0x298 │ │ │ │ │ + vldr d1, [sp, #48] @ 0x30 │ │ │ │ │ vstr d2, [sp, #656] @ 0x290 │ │ │ │ │ + vstr d11, [sp, #632] @ 0x278 │ │ │ │ │ + vstr d12, [sp, #640] @ 0x280 │ │ │ │ │ + vstr d9, [sp, #648] @ 0x288 │ │ │ │ │ + vldr d9, [sp, #672] @ 0x2a0 │ │ │ │ │ vmul.f64 d2, d1, d7 │ │ │ │ │ + vstr d14, [sp, #880] @ 0x370 │ │ │ │ │ vmla.f64 d2, d4, d6 │ │ │ │ │ vmul.f64 d6, d1, d6 │ │ │ │ │ - vstr d0, [sp, #640] @ 0x280 │ │ │ │ │ - vldr d0, [sp, #376] @ 0x178 │ │ │ │ │ - vldr d5, [sp, #368] @ 0x170 │ │ │ │ │ - vmov.f64 d1, d6 │ │ │ │ │ - vldr d6, [sp, #664] @ 0x298 │ │ │ │ │ - str r5, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d11, [sp, #872] @ 0x368 │ │ │ │ │ - vnmls.f64 d1, d4, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - movs r1, #232 @ 0xe8 │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ + vmov.f64 d11, d6 │ │ │ │ │ + vldr d6, [sp, #360] @ 0x168 │ │ │ │ │ + vnmls.f64 d11, d4, d7 │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ + add.w r0, r2, r3 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + str r0, [sp, #48] @ 0x30 │ │ │ │ │ + mov.w r0, #232 @ 0xe8 │ │ │ │ │ + mul.w r0, r7, r0 │ │ │ │ │ vmul.f64 d8, d9, d7 │ │ │ │ │ - mul.w r1, r1, r8 │ │ │ │ │ + add.w r5, sl, r0 │ │ │ │ │ + add.w r6, r8, r0 │ │ │ │ │ + mov.w r0, #104 @ 0x68 │ │ │ │ │ + str r5, [sp, #352] @ 0x160 │ │ │ │ │ + mul.w r0, r7, r0 │ │ │ │ │ + add.w r7, sl, r1 │ │ │ │ │ + add r1, r8 │ │ │ │ │ vmla.f64 d8, d6, d4 │ │ │ │ │ vmul.f64 d4, d9, d4 │ │ │ │ │ - add.w r0, fp, r1 │ │ │ │ │ - adds r6, r7, r1 │ │ │ │ │ - str r0, [sp, #352] @ 0x160 │ │ │ │ │ - movs r1, #24 │ │ │ │ │ - str r6, [sp, #360] @ 0x168 │ │ │ │ │ - vmov.f64 d11, d1 │ │ │ │ │ vnmls.f64 d4, d6, d7 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, sl, r0 │ │ │ │ │ + add r0, r8 │ │ │ │ │ + str r6, [sp, #360] @ 0x168 │ │ │ │ │ vldr d6, [r6] │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - movs r0, #104 @ 0x68 │ │ │ │ │ - mul.w r1, r1, r8 │ │ │ │ │ - vmul.f64 d3, d0, d6 │ │ │ │ │ + add.w r6, r7, r3 │ │ │ │ │ + vldr d10, [sp, #32] │ │ │ │ │ vsub.f64 d1, d2, d8 │ │ │ │ │ - mul.w r0, r0, r8 │ │ │ │ │ - vmla.f64 d3, d5, d7 │ │ │ │ │ - vmul.f64 d7, d0, d7 │ │ │ │ │ vadd.f64 d2, d2, d8 │ │ │ │ │ - add.w r5, fp, r0 │ │ │ │ │ - add r0, r7 │ │ │ │ │ + str r6, [sp, #32] │ │ │ │ │ + vldr d0, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d5, [sp, #368] @ 0x170 │ │ │ │ │ str r5, [sp, #368] @ 0x170 │ │ │ │ │ - add.w r6, fp, r1 │ │ │ │ │ - vldr d14, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d14, [sp, #376] @ 0x178 │ │ │ │ │ vsub.f64 d9, d11, d4 │ │ │ │ │ + vadd.f64 d11, d11, d4 │ │ │ │ │ + vmul.f64 d3, d0, d6 │ │ │ │ │ + vmla.f64 d3, d5, d7 │ │ │ │ │ + vmul.f64 d7, d0, d7 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ vldr d5, [r0] │ │ │ │ │ - vldr d10, [sp, #40] @ 0x28 │ │ │ │ │ - vadd.f64 d11, d11, d4 │ │ │ │ │ vldr d6, [r5] │ │ │ │ │ - add r1, r7 │ │ │ │ │ + add.w r5, r3, r1 │ │ │ │ │ + ldr r3, [sp, #80] @ 0x50 │ │ │ │ │ + str r5, [sp, #376] @ 0x178 │ │ │ │ │ vmul.f64 d0, d14, d5 │ │ │ │ │ - adds r4, r6, r3 │ │ │ │ │ - str r4, [sp, #40] @ 0x28 │ │ │ │ │ - add r3, r1 │ │ │ │ │ vmla.f64 d0, d10, d6 │ │ │ │ │ vmul.f64 d6, d14, d6 │ │ │ │ │ - str r3, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d12, [sp, #400] @ 0x190 │ │ │ │ │ - vldr d8, [sp, #392] @ 0x188 │ │ │ │ │ vnmls.f64 d6, d10, d5 │ │ │ │ │ vsub.f64 d5, d3, d0 │ │ │ │ │ vadd.f64 d3, d3, d0 │ │ │ │ │ vsub.f64 d10, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d0, d2, d3 │ │ │ │ │ - vsub.f64 d2, d2, d3 │ │ │ │ │ - vldr d3, [pc, #988] @ ed8 │ │ │ │ │ - vsub.f64 d6, d7, d11 │ │ │ │ │ - vadd.f64 d4, d7, d11 │ │ │ │ │ + vsub.f64 d14, d2, d3 │ │ │ │ │ + vldr d3, [pc, #988] @ f28 │ │ │ │ │ + vadd.f64 d6, d7, d11 │ │ │ │ │ + vsub.f64 d4, d7, d11 │ │ │ │ │ + vldr d11, [r7] │ │ │ │ │ vadd.f64 d7, d1, d9 │ │ │ │ │ vsub.f64 d1, d1, d9 │ │ │ │ │ - vldr d11, [r6] │ │ │ │ │ - vstr d2, [sp, #672] @ 0x2a0 │ │ │ │ │ - vstr d6, [sp, #680] @ 0x2a8 │ │ │ │ │ - vsub.f64 d6, d10, d5 │ │ │ │ │ + vstr d0, [sp, #672] @ 0x2a0 │ │ │ │ │ + vstr d14, [sp, #680] @ 0x2a8 │ │ │ │ │ vstr d4, [sp, #688] @ 0x2b0 │ │ │ │ │ + vstr d6, [sp, #696] @ 0x2b8 │ │ │ │ │ + vsub.f64 d6, d10, d5 │ │ │ │ │ vadd.f64 d5, d10, d5 │ │ │ │ │ - vstr d0, [sp, #664] @ 0x298 │ │ │ │ │ - vldr d0, [sp, #720] @ 0x2d0 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vmul.f64 d7, d7, d3 │ │ │ │ │ - vmul.f64 d4, d4, d3 │ │ │ │ │ - vstr d7, [sp, #704] @ 0x2c0 │ │ │ │ │ + vmul.f64 d8, d7, d3 │ │ │ │ │ vsub.f64 d7, d5, d1 │ │ │ │ │ - vstr d4, [sp, #696] @ 0x2b8 │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ - vldr d4, [r4] │ │ │ │ │ - movs r4, #216 @ 0xd8 │ │ │ │ │ - vldr d1, [sp, #384] @ 0x180 │ │ │ │ │ - vmul.f64 d10, d7, d3 │ │ │ │ │ + vmul.f64 d0, d4, d3 │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ + mov.w r6, #88 @ 0x58 │ │ │ │ │ + vldr d1, [sp, #392] @ 0x188 │ │ │ │ │ + vmul.f64 d14, d7, d3 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - mul.w r4, r4, r8 │ │ │ │ │ + vstr d0, [sp, #704] @ 0x2c0 │ │ │ │ │ + vldr d0, [sp, #728] @ 0x2d8 │ │ │ │ │ + vstr d8, [sp, #712] @ 0x2c8 │ │ │ │ │ + vstr d14, [sp, #720] @ 0x2d0 │ │ │ │ │ vmul.f64 d14, d5, d3 │ │ │ │ │ - add.w r5, fp, r4 │ │ │ │ │ - add r4, r7 │ │ │ │ │ - vstr d10, [sp, #712] @ 0x2c8 │ │ │ │ │ - vldr d10, [sl, #-104] @ 0xffffff98 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - str r5, [sp, #376] @ 0x178 │ │ │ │ │ - movs r5, #88 @ 0x58 │ │ │ │ │ - vmul.f64 d2, d10, d7 │ │ │ │ │ - vldr d10, [sl, #-112] @ 0xffffff90 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - mul.w r5, r5, r8 │ │ │ │ │ - vmla.f64 d2, d10, d11 │ │ │ │ │ - vldr d10, [sl, #-104] @ 0xffffff98 │ │ │ │ │ + vldr d5, [r9, #-104] @ 0xffffff98 │ │ │ │ │ + vmul.f64 d2, d5, d7 │ │ │ │ │ + vldr d5, [r9, #-112] @ 0xffffff90 │ │ │ │ │ + vmla.f64 d2, d5, d11 │ │ │ │ │ + vldr d5, [r9, #-104] @ 0xffffff98 │ │ │ │ │ + vmul.f64 d11, d5, d11 │ │ │ │ │ + vldr d5, [r9, #-112] @ 0xffffff90 │ │ │ │ │ + vnmls.f64 d11, d5, d7 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + mov.w r5, #216 @ 0xd8 │ │ │ │ │ + mul.w r5, r3, r5 │ │ │ │ │ + add.w r3, sl, r5 │ │ │ │ │ + add r5, r8 │ │ │ │ │ + vmul.f64 d10, d0, d7 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + str r3, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + ldr r3, [sp, #80] @ 0x50 │ │ │ │ │ + vmla.f64 d10, d1, d4 │ │ │ │ │ + vmul.f64 d4, d0, d4 │ │ │ │ │ + vldr d8, [sp, #400] @ 0x190 │ │ │ │ │ vmul.f64 d3, d15, d5 │ │ │ │ │ + vldr d12, [sp, #408] @ 0x198 │ │ │ │ │ + mul.w r6, r3, r6 │ │ │ │ │ + vnmls.f64 d4, d1, d7 │ │ │ │ │ + add.w r3, sl, r6 │ │ │ │ │ + add r6, r8 │ │ │ │ │ vmla.f64 d3, d13, d6 │ │ │ │ │ vmul.f64 d6, d15, d6 │ │ │ │ │ - vmul.f64 d11, d10, d11 │ │ │ │ │ - vldr d10, [sl, #-112] @ 0xffffff90 │ │ │ │ │ + vldr d1, [r6] │ │ │ │ │ + vsub.f64 d9, d2, d10 │ │ │ │ │ + vadd.f64 d2, d2, d10 │ │ │ │ │ + str r3, [sp, #392] @ 0x188 │ │ │ │ │ vnmls.f64 d6, d13, d5 │ │ │ │ │ - vnmls.f64 d11, d10, d7 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - add.w r3, fp, r5 │ │ │ │ │ - add r5, r7 │ │ │ │ │ - str r3, [sp, #384] @ 0x180 │ │ │ │ │ - vmul.f64 d10, d0, d7 │ │ │ │ │ - vmla.f64 d10, d1, d4 │ │ │ │ │ - vmul.f64 d4, d0, d4 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - vnmls.f64 d4, d1, d7 │ │ │ │ │ - vldr d1, [r5] │ │ │ │ │ + vsub.f64 d7, d11, d4 │ │ │ │ │ + vadd.f64 d11, d11, d4 │ │ │ │ │ vmul.f64 d0, d12, d1 │ │ │ │ │ + ldr r3, [sp, #184] @ 0xb8 │ │ │ │ │ vmla.f64 d0, d8, d5 │ │ │ │ │ vmul.f64 d5, d12, d5 │ │ │ │ │ - vsub.f64 d9, d2, d10 │ │ │ │ │ - vadd.f64 d2, d2, d10 │ │ │ │ │ vnmls.f64 d5, d8, d1 │ │ │ │ │ - vsub.f64 d7, d11, d4 │ │ │ │ │ - vadd.f64 d11, d11, d4 │ │ │ │ │ vsub.f64 d8, d3, d0 │ │ │ │ │ vadd.f64 d3, d3, d0 │ │ │ │ │ + vldr d0, [sp, #624] @ 0x270 │ │ │ │ │ vsub.f64 d1, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vadd.f64 d10, d2, d3 │ │ │ │ │ + vadd.f64 d13, d2, d3 │ │ │ │ │ vsub.f64 d5, d9, d7 │ │ │ │ │ vadd.f64 d7, d9, d7 │ │ │ │ │ - vmov.f64 d15, d10 │ │ │ │ │ - vsub.f64 d10, d2, d3 │ │ │ │ │ + vldr d9, [sp, #696] @ 0x2b8 │ │ │ │ │ + vmov.f64 d12, d13 │ │ │ │ │ + vsub.f64 d13, d2, d3 │ │ │ │ │ vsub.f64 d3, d6, d11 │ │ │ │ │ - vstr d10, [sp, #400] @ 0x190 │ │ │ │ │ - vadd.f64 d10, d6, d11 │ │ │ │ │ + vstr d12, [sp, #400] @ 0x190 │ │ │ │ │ + vstr d13, [sp, #408] @ 0x198 │ │ │ │ │ + vadd.f64 d13, d6, d11 │ │ │ │ │ vadd.f64 d6, d8, d1 │ │ │ │ │ + vldr d11, [pc, #656] @ f28 │ │ │ │ │ vsub.f64 d1, d1, d8 │ │ │ │ │ - vldr d11, [pc, #680] @ ed8 │ │ │ │ │ - vstr d3, [sp, #720] @ 0x2d0 │ │ │ │ │ - vstr d10, [sp, #728] @ 0x2d8 │ │ │ │ │ + vstr d3, [sp, #728] @ 0x2d8 │ │ │ │ │ + vldr d3, [sp, #424] @ 0x1a8 │ │ │ │ │ + vldr d8, [sp, #632] @ 0x278 │ │ │ │ │ vsub.f64 d4, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vldr d2, [sp, #520] @ 0x208 │ │ │ │ │ - vldr d12, [sp, #616] @ 0x268 │ │ │ │ │ - vldr d0, [sp, #424] @ 0x1a8 │ │ │ │ │ - vmul.f64 d13, d4, d11 │ │ │ │ │ + vstr d13, [sp, #736] @ 0x2e0 │ │ │ │ │ + vldr d13, [sp, #528] @ 0x210 │ │ │ │ │ vmul.f64 d10, d6, d11 │ │ │ │ │ vsub.f64 d6, d7, d1 │ │ │ │ │ + vmul.f64 d15, d4, d11 │ │ │ │ │ vadd.f64 d7, d7, d1 │ │ │ │ │ - vldr d9, [sp, #480] @ 0x1e0 │ │ │ │ │ - ldr r3, [sp, #176] @ 0xb0 │ │ │ │ │ - vstr d13, [sp, #736] @ 0x2e0 │ │ │ │ │ - vmul.f64 d3, d6, d11 │ │ │ │ │ - vldr d13, [sp, #568] @ 0x238 │ │ │ │ │ - vldr d6, [sp, #408] @ 0x198 │ │ │ │ │ + vmul.f64 d5, d6, d11 │ │ │ │ │ + vldr d6, [sp, #416] @ 0x1a0 │ │ │ │ │ + vstr d15, [sp, #744] @ 0x2e8 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ - vstr d15, [sp, #392] @ 0x188 │ │ │ │ │ - vadd.f64 d5, d13, d12 │ │ │ │ │ - vldr d13, [sp, #528] @ 0x210 │ │ │ │ │ - vadd.f64 d6, d6, d2 │ │ │ │ │ - vstr d3, [sp, #744] @ 0x2e8 │ │ │ │ │ - vldr d3, [sp, #624] @ 0x270 │ │ │ │ │ - vldr d12, [sp, #728] @ 0x2d8 │ │ │ │ │ + vldr d15, [sp, #536] @ 0x218 │ │ │ │ │ + vadd.f64 d6, d6, d13 │ │ │ │ │ + vldr d13, [sp, #576] @ 0x240 │ │ │ │ │ + vstr d5, [sp, #752] @ 0x2f0 │ │ │ │ │ + vadd.f64 d5, d13, d0 │ │ │ │ │ + vldr d0, [sp, #432] @ 0x1b0 │ │ │ │ │ + vldr d13, [sp, #488] @ 0x1e8 │ │ │ │ │ vadd.f64 d1, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [sp, #576] @ 0x240 │ │ │ │ │ - vadd.f64 d4, d5, d3 │ │ │ │ │ - vldr d3, [sp, #416] @ 0x1a0 │ │ │ │ │ - vadd.f64 d5, d3, d13 │ │ │ │ │ - vldr d13, [sp, #664] @ 0x298 │ │ │ │ │ + vldr d5, [sp, #584] @ 0x248 │ │ │ │ │ + vadd.f64 d4, d5, d8 │ │ │ │ │ + vldr d8, [sp, #672] @ 0x2a0 │ │ │ │ │ + vadd.f64 d5, d3, d15 │ │ │ │ │ vadd.f64 d2, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ - vadd.f64 d4, d0, d13 │ │ │ │ │ - vldr d13, [sp, #456] @ 0x1c8 │ │ │ │ │ - vldr d0, [sp, #688] @ 0x2b0 │ │ │ │ │ - vadd.f64 d3, d13, d15 │ │ │ │ │ + vadd.f64 d4, d0, d8 │ │ │ │ │ + vldr d8, [sp, #464] @ 0x1d0 │ │ │ │ │ + vldr d0, [sp, #736] @ 0x2e0 │ │ │ │ │ + vadd.f64 d3, d8, d12 │ │ │ │ │ + vldr d12, [sp, #440] @ 0x1b8 │ │ │ │ │ vadd.f64 d8, d4, d3 │ │ │ │ │ + vadd.f64 d9, d12, d9 │ │ │ │ │ vsub.f64 d3, d3, d4 │ │ │ │ │ - vadd.f64 d4, d9, d12 │ │ │ │ │ - vldr d9, [sp, #432] @ 0x1b0 │ │ │ │ │ - vadd.f64 d9, d9, d0 │ │ │ │ │ + vadd.f64 d4, d13, d0 │ │ │ │ │ vsub.f64 d0, d4, d9 │ │ │ │ │ vadd.f64 d4, d4, d9 │ │ │ │ │ vsub.f64 d9, d1, d8 │ │ │ │ │ vadd.f64 d1, d1, d8 │ │ │ │ │ vstr d9, [r3] │ │ │ │ │ vsub.f64 d9, d3, d5 │ │ │ │ │ - ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ + ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ vstr d9, [r3] │ │ │ │ │ - ldr r3, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d9, [pc, #480] @ ee0 │ │ │ │ │ + ldr r3, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d9, [sp, #552] @ 0x228 │ │ │ │ │ + vldr d13, [sp, #568] @ 0x238 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ vsub.f64 d5, d6, d0 │ │ │ │ │ - vstr d1, [fp] │ │ │ │ │ vadd.f64 d6, d6, d0 │ │ │ │ │ - ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d0, [pc, #464] @ ee8 │ │ │ │ │ - vstr d5, [r9] │ │ │ │ │ + vstr d1, [sl] │ │ │ │ │ + ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d0, [pc, #436] @ f30 │ │ │ │ │ + vstr d5, [fp] │ │ │ │ │ vsub.f64 d5, d4, d2 │ │ │ │ │ vadd.f64 d2, d2, d4 │ │ │ │ │ + vldr d3, [sp, #616] @ 0x268 │ │ │ │ │ + vldr d4, [sp, #792] @ 0x318 │ │ │ │ │ + vldr d15, [sp, #664] @ 0x298 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - ldr r3, [sp, #144] @ 0x90 │ │ │ │ │ + ldr r3, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d5, [sp, #768] @ 0x300 │ │ │ │ │ + vldr d12, [sp, #832] @ 0x340 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ - ldr r3, [sp, #192] @ 0xc0 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - vldr d2, [sp, #544] @ 0x220 │ │ │ │ │ - vldr d12, [sp, #560] @ 0x230 │ │ │ │ │ - vldr d4, [sp, #784] @ 0x310 │ │ │ │ │ - vldr d5, [sp, #760] @ 0x2f8 │ │ │ │ │ - vadd.f64 d6, d2, d12 │ │ │ │ │ - vldr d2, [sp, #536] @ 0x218 │ │ │ │ │ - vldr d13, [sp, #640] @ 0x280 │ │ │ │ │ - vldr d12, [sp, #608] @ 0x260 │ │ │ │ │ - vldr d15, [sp, #512] @ 0x200 │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ + vadd.f64 d6, d9, d13 │ │ │ │ │ + vldr d13, [sp, #504] @ 0x1f8 │ │ │ │ │ + vldr d9, [sp, #544] @ 0x220 │ │ │ │ │ + vldr d2, [sp, #560] @ 0x230 │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ - ldr r3, [sp, #16] │ │ │ │ │ vsub.f64 d8, d4, d6 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ - vstr d4, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d4, [sp, #552] @ 0x228 │ │ │ │ │ - vsub.f64 d6, d2, d4 │ │ │ │ │ - vldr d4, [sp, #592] @ 0x250 │ │ │ │ │ - vmul.f64 d2, d4, d0 │ │ │ │ │ - vadd.f64 d4, d15, d10 │ │ │ │ │ + vsub.f64 d6, d9, d2 │ │ │ │ │ + vldr d9, [pc, #364] @ f38 │ │ │ │ │ + vstr d4, [sp, #56] @ 0x38 │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ - vmla.f64 d2, d12, d9 │ │ │ │ │ - vldr d12, [sp, #656] @ 0x290 │ │ │ │ │ - vldr d15, [pc, #356] @ ef0 │ │ │ │ │ + vldr d4, [sp, #648] @ 0x288 │ │ │ │ │ vadd.f64 d11, d5, d6 │ │ │ │ │ vsub.f64 d6, d5, d6 │ │ │ │ │ - vmul.f64 d5, d13, d9 │ │ │ │ │ - vldr d13, [sp, #496] @ 0x1f0 │ │ │ │ │ - vnmls.f64 d5, d12, d0 │ │ │ │ │ - vldr d12, [sp, #824] @ 0x338 │ │ │ │ │ + vldr d5, [sp, #600] @ 0x258 │ │ │ │ │ + vmul.f64 d2, d5, d0 │ │ │ │ │ + vmul.f64 d5, d4, d9 │ │ │ │ │ + vmla.f64 d2, d3, d9 │ │ │ │ │ + vnmls.f64 d5, d15, d0 │ │ │ │ │ + vldr d15, [sp, #520] @ 0x208 │ │ │ │ │ + vadd.f64 d4, d15, d10 │ │ │ │ │ + vldr d15, [pc, #320] @ f40 │ │ │ │ │ vadd.f64 d1, d2, d5 │ │ │ │ │ vsub.f64 d2, d2, d5 │ │ │ │ │ vadd.f64 d5, d13, d7 │ │ │ │ │ - vldr d13, [pc, #324] @ ef8 │ │ │ │ │ + vldr d13, [pc, #312] @ f48 │ │ │ │ │ vmul.f64 d3, d5, d13 │ │ │ │ │ vmul.f64 d5, d5, d15 │ │ │ │ │ - vmla.f64 d5, d4, d13 │ │ │ │ │ vnmls.f64 d3, d4, d15 │ │ │ │ │ - vldr d4, [sp, #448] @ 0x1c0 │ │ │ │ │ - vstr d5, [sp, #144] @ 0x90 │ │ │ │ │ - vsub.f64 d5, d12, d14 │ │ │ │ │ + vmla.f64 d5, d4, d13 │ │ │ │ │ + vldr d4, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d13, [sp, #712] @ 0x2c8 │ │ │ │ │ + vsub.f64 d15, d4, d13 │ │ │ │ │ + vldr d4, [pc, #288] @ f50 │ │ │ │ │ vstr d3, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d3, [sp, #704] @ 0x2c0 │ │ │ │ │ - vsub.f64 d15, d4, d3 │ │ │ │ │ - vldr d4, [pc, #288] @ f00 │ │ │ │ │ - vldr d3, [pc, #292] @ f08 │ │ │ │ │ + vldr d3, [pc, #288] @ f58 │ │ │ │ │ + vstr d5, [sp, #152] @ 0x98 │ │ │ │ │ + vsub.f64 d5, d12, d14 │ │ │ │ │ vmul.f64 d13, d15, d4 │ │ │ │ │ vmul.f64 d15, d15, d3 │ │ │ │ │ vmla.f64 d13, d5, d3 │ │ │ │ │ + vldr d3, [sp, #616] @ 0x268 │ │ │ │ │ vnmls.f64 d15, d5, d4 │ │ │ │ │ - vldr d5, [sp, #608] @ 0x260 │ │ │ │ │ - vmul.f64 d4, d5, d0 │ │ │ │ │ - vldr d5, [sp, #592] @ 0x250 │ │ │ │ │ + vldr d5, [sp, #600] @ 0x258 │ │ │ │ │ + vmul.f64 d4, d3, d0 │ │ │ │ │ + vldr d3, [sp, #664] @ 0x298 │ │ │ │ │ vnmls.f64 d4, d5, d9 │ │ │ │ │ - vldr d5, [sp, #656] @ 0x290 │ │ │ │ │ - vmul.f64 d5, d5, d9 │ │ │ │ │ - vldr d9, [sp, #640] @ 0x280 │ │ │ │ │ + vmul.f64 d5, d3, d9 │ │ │ │ │ + vldr d9, [sp, #648] @ 0x288 │ │ │ │ │ vmla.f64 d5, d9, d0 │ │ │ │ │ vadd.f64 d0, d12, d14 │ │ │ │ │ - vldr d12, [sp, #704] @ 0x2c0 │ │ │ │ │ - vldr d14, [pc, #216] @ ef8 │ │ │ │ │ + vldr d14, [pc, #208] @ f48 │ │ │ │ │ vmov.f64 d9, d14 │ │ │ │ │ vadd.f64 d3, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ - vldr d4, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d4, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d12, [sp, #712] @ 0x2c8 │ │ │ │ │ + ldr r4, [sp, #8] │ │ │ │ │ + ldr r3, [sp, #32] │ │ │ │ │ vadd.f64 d4, d4, d12 │ │ │ │ │ - vldr d12, [pc, #184] @ ef0 │ │ │ │ │ + vldr d12, [pc, #168] @ f40 │ │ │ │ │ vmul.f64 d14, d4, d14 │ │ │ │ │ vmul.f64 d4, d4, d12 │ │ │ │ │ vmla.f64 d14, d0, d12 │ │ │ │ │ vmov.f64 d12, d4 │ │ │ │ │ - vldr d4, [sp, #512] @ 0x200 │ │ │ │ │ - vsub.f64 d10, d4, d10 │ │ │ │ │ - vldr d4, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d4, [sp, #520] @ 0x208 │ │ │ │ │ vnmls.f64 d12, d0, d9 │ │ │ │ │ - vldr d0, [pc, #172] @ f08 │ │ │ │ │ + vldr d0, [pc, #164] @ f58 │ │ │ │ │ + vsub.f64 d10, d4, d10 │ │ │ │ │ + vldr d4, [sp, #504] @ 0x1f8 │ │ │ │ │ vsub.f64 d7, d4, d7 │ │ │ │ │ - vstr d12, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d12, [pc, #152] @ f00 │ │ │ │ │ + vstr d12, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d12, [pc, #136] @ f50 │ │ │ │ │ vmul.f64 d4, d7, d12 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ - vmla.f64 d7, d10, d12 │ │ │ │ │ vnmls.f64 d4, d10, d0 │ │ │ │ │ vadd.f64 d0, d8, d1 │ │ │ │ │ + vmla.f64 d7, d10, d12 │ │ │ │ │ vsub.f64 d1, d8, d1 │ │ │ │ │ vadd.f64 d9, d13, d4 │ │ │ │ │ vsub.f64 d4, d4, d13 │ │ │ │ │ vsub.f64 d10, d0, d9 │ │ │ │ │ vadd.f64 d0, d0, d9 │ │ │ │ │ vadd.f64 d9, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vstr d10, [r3] │ │ │ │ │ - vstr d0, [r6] │ │ │ │ │ + vstr d10, [r4] │ │ │ │ │ + vstr d0, [r7] │ │ │ │ │ vsub.f64 d0, d7, d15 │ │ │ │ │ - ldr r6, [sp, #40] @ 0x28 │ │ │ │ │ - vsub.f64 d5, d4, d6 │ │ │ │ │ vadd.f64 d15, d15, d7 │ │ │ │ │ + vsub.f64 d5, d4, d6 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ + ldr r7, [sp, #208] @ 0xd0 │ │ │ │ │ + ldr r4, [sp, #224] @ 0xe0 │ │ │ │ │ vsub.f64 d10, d0, d9 │ │ │ │ │ vadd.f64 d0, d0, d9 │ │ │ │ │ vsub.f64 d7, d1, d15 │ │ │ │ │ vadd.f64 d1, d1, d15 │ │ │ │ │ - vstr d10, [r6] │ │ │ │ │ - ldr r6, [sp, #232] @ 0xe8 │ │ │ │ │ - ldr r3, [sp, #204] @ 0xcc │ │ │ │ │ - vldr d8, [sp, #624] @ 0x270 │ │ │ │ │ - vldr d15, [sp, #520] @ 0x208 │ │ │ │ │ - b.n f18 │ │ │ │ │ - nop │ │ │ │ │ + b.n f68 │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ - .word 0xcf328d46 │ │ │ │ │ - .word 0x3fed906b │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ + .word 0xcf328d46 │ │ │ │ │ + .word 0x3fed906b │ │ │ │ │ .word 0x3c69a60b │ │ │ │ │ .word 0x3fc8f8b8 │ │ │ │ │ .word 0xcff75cb0 │ │ │ │ │ .word 0x3fef6297 │ │ │ │ │ .word 0x39ae68c8 │ │ │ │ │ .word 0x3fe1c73b │ │ │ │ │ .word 0x290ea1a3 │ │ │ │ │ .word 0x3fea9b66 │ │ │ │ │ - .word 0x00000ef2 │ │ │ │ │ + .word 0x00000f30 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - vstr d0, [r6] │ │ │ │ │ - ldr r6, [sp, #376] @ 0x178 │ │ │ │ │ - vstr d5, [r6] │ │ │ │ │ - ldr r6, [sp, #216] @ 0xd8 │ │ │ │ │ - vstr d4, [r6] │ │ │ │ │ - ldr r6, [sp, #384] @ 0x180 │ │ │ │ │ - vldr d4, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ + vstr d10, [r3] │ │ │ │ │ + ldr r3, [sp, #240] @ 0xf0 │ │ │ │ │ + vstr d0, [r3] │ │ │ │ │ + ldr r3, [sp, #384] @ 0x180 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + ldr r3, [sp, #392] @ 0x188 │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ + vldr d4, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r4, [sp, #192] @ 0xc0 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + vstr d1, [r7] │ │ │ │ │ + vldr d1, [sp, #72] @ 0x48 │ │ │ │ │ vsub.f64 d7, d4, d3 │ │ │ │ │ - vstr d1, [r3] │ │ │ │ │ vadd.f64 d3, d4, d3 │ │ │ │ │ - vldr d1, [sp, #72] @ 0x48 │ │ │ │ │ - ldr r3, [sp, #184] @ 0xb8 │ │ │ │ │ + ldr r3, [sp, #148] @ 0x94 │ │ │ │ │ vadd.f64 d6, d1, d14 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d11, d2 │ │ │ │ │ vsub.f64 d11, d11, d2 │ │ │ │ │ vstr d5, [lr] │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ vsub.f64 d7, d1, d14 │ │ │ │ │ - ldr r3, [sp, #0] │ │ │ │ │ - vldr d1, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d1, [sp, #168] @ 0xa8 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - ldr r3, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d5, [sp, #144] @ 0x90 │ │ │ │ │ + ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d5, [sp, #152] @ 0x98 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ + ldr r3, [sp, #160] @ 0xa0 │ │ │ │ │ vsub.f64 d7, d5, d1 │ │ │ │ │ - ldr r3, [sp, #152] @ 0x98 │ │ │ │ │ vsub.f64 d6, d7, d11 │ │ │ │ │ vadd.f64 d7, d7, d11 │ │ │ │ │ - vldr d11, [pc, #968] @ 1358 │ │ │ │ │ + vldr d11, [pc, #972] @ 13b0 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ ldr r3, [sp, #84] @ 0x54 │ │ │ │ │ + ldr r4, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d4, [sp, #528] @ 0x210 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vadd.f64 d7, d5, d1 │ │ │ │ │ - ldr r3, [sp, #168] @ 0xa8 │ │ │ │ │ - vldr d5, [sp, #576] @ 0x240 │ │ │ │ │ + ldr r3, [sp, #176] @ 0xb0 │ │ │ │ │ + vldr d15, [sp, #536] @ 0x218 │ │ │ │ │ + vldr d5, [sp, #584] @ 0x248 │ │ │ │ │ vsub.f64 d6, d3, d7 │ │ │ │ │ vadd.f64 d3, d3, d7 │ │ │ │ │ - vsub.f64 d7, d8, d5 │ │ │ │ │ + vldr d14, [sp, #576] @ 0x240 │ │ │ │ │ + vldr d1, [sp, #432] @ 0x1b0 │ │ │ │ │ + vldr d8, [sp, #672] @ 0x2a0 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ - vldr d6, [sp, #408] @ 0x198 │ │ │ │ │ - vstr d3, [r7] │ │ │ │ │ - vsub.f64 d4, d6, d15 │ │ │ │ │ - vldr d15, [sp, #568] @ 0x238 │ │ │ │ │ - vldr d6, [sp, #616] @ 0x268 │ │ │ │ │ - vldr d3, [sp, #416] @ 0x1a0 │ │ │ │ │ - vldr d10, [sp, #528] @ 0x210 │ │ │ │ │ + vstr d3, [r8] │ │ │ │ │ + vldr d6, [sp, #416] @ 0x1a0 │ │ │ │ │ + ldr r3, [sp, #216] @ 0xd8 │ │ │ │ │ + vldr d3, [sp, #424] @ 0x1a8 │ │ │ │ │ + vsub.f64 d4, d6, d4 │ │ │ │ │ + vldr d6, [sp, #632] @ 0x278 │ │ │ │ │ + vsub.f64 d7, d6, d5 │ │ │ │ │ + vldr d5, [sp, #624] @ 0x270 │ │ │ │ │ + vsub.f64 d6, d3, d15 │ │ │ │ │ vsub.f64 d2, d4, d7 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ - vsub.f64 d7, d15, d6 │ │ │ │ │ - vldr d1, [sp, #424] @ 0x1a8 │ │ │ │ │ - vsub.f64 d6, d3, d10 │ │ │ │ │ - vldr d10, [sp, #664] @ 0x298 │ │ │ │ │ - vldr d8, [sp, #688] @ 0x2b0 │ │ │ │ │ - ldr r3, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d15, [sp, #832] @ 0x340 │ │ │ │ │ + vsub.f64 d7, d14, d5 │ │ │ │ │ + vldr d5, [sp, #696] @ 0x2b8 │ │ │ │ │ vadd.f64 d3, d7, d6 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vsub.f64 d7, d1, d10 │ │ │ │ │ - vldr d1, [sp, #432] @ 0x1b0 │ │ │ │ │ - vldr d13, [sp, #856] @ 0x358 │ │ │ │ │ - vldr d10, [sp, #864] @ 0x360 │ │ │ │ │ - vsub.f64 d5, d1, d8 │ │ │ │ │ - vldr d8, [sp, #456] @ 0x1c8 │ │ │ │ │ - vldr d1, [sp, #392] @ 0x188 │ │ │ │ │ + vsub.f64 d7, d1, d8 │ │ │ │ │ + vldr d1, [sp, #440] @ 0x1b8 │ │ │ │ │ + vldr d8, [sp, #464] @ 0x1d0 │ │ │ │ │ + vsub.f64 d5, d1, d5 │ │ │ │ │ vadd.f64 d0, d7, d5 │ │ │ │ │ - vsub.f64 d1, d8, d1 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d8, [sp, #728] @ 0x2d8 │ │ │ │ │ - vldr d5, [sp, #480] @ 0x1e0 │ │ │ │ │ + vldr d5, [sp, #400] @ 0x190 │ │ │ │ │ + vsub.f64 d1, d8, d5 │ │ │ │ │ + vldr d5, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d8, [sp, #736] @ 0x2e0 │ │ │ │ │ vsub.f64 d8, d5, d8 │ │ │ │ │ vsub.f64 d5, d1, d8 │ │ │ │ │ vadd.f64 d1, d1, d8 │ │ │ │ │ vadd.f64 d8, d0, d5 │ │ │ │ │ vsub.f64 d5, d5, d0 │ │ │ │ │ vmov.f64 d0, d11 │ │ │ │ │ vmul.f64 d8, d8, d11 │ │ │ │ │ vmul.f64 d5, d5, d11 │ │ │ │ │ vsub.f64 d9, d2, d8 │ │ │ │ │ vadd.f64 d2, d2, d8 │ │ │ │ │ - vstr d9, [r5] │ │ │ │ │ - vmov.f64 d9, d11 │ │ │ │ │ - vstr d2, [r3] │ │ │ │ │ + vstr d9, [r6] │ │ │ │ │ + vstr d2, [r4] │ │ │ │ │ vsub.f64 d2, d1, d7 │ │ │ │ │ vadd.f64 d7, d7, d1 │ │ │ │ │ - ldr r3, [sp, #208] @ 0xd0 │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ + vldr d9, [pc, #764] @ 13b8 │ │ │ │ │ vmul.f64 d2, d2, d11 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ vsub.f64 d8, d2, d6 │ │ │ │ │ vadd.f64 d6, d6, d2 │ │ │ │ │ - vldr d2, [pc, #740] @ 1360 │ │ │ │ │ + vldr d2, [pc, #752] @ 13c0 │ │ │ │ │ vstr d8, [r3] │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ + vstr d6, [r5] │ │ │ │ │ vsub.f64 d6, d4, d7 │ │ │ │ │ - ldr r3, [sp, #8] │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ vsub.f64 d7, d5, d3 │ │ │ │ │ vadd.f64 d3, d3, d5 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - ldr r3, [sp, #224] @ 0xe0 │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ + ldr r4, [sp, #232] @ 0xe8 │ │ │ │ │ vstr d4, [r1] │ │ │ │ │ - vldr d6, [sp, #840] @ 0x348 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d7, [sp, #752] @ 0x2f0 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + ldr r1, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d7, [sp, #760] @ 0x2f8 │ │ │ │ │ + vldr d4, [sp, #840] @ 0x348 │ │ │ │ │ + vstr d3, [r1] │ │ │ │ │ + vldr d3, [sp, #800] @ 0x320 │ │ │ │ │ + vldr d6, [sp, #848] @ 0x350 │ │ │ │ │ + vldr d14, [sp, #856] @ 0x358 │ │ │ │ │ + vldr d15, [sp, #864] @ 0x360 │ │ │ │ │ + vadd.f64 d11, d3, d4 │ │ │ │ │ + vsub.f64 d1, d3, d4 │ │ │ │ │ vsub.f64 d8, d7, d6 │ │ │ │ │ - vldr d3, [sp, #792] @ 0x318 │ │ │ │ │ vadd.f64 d12, d7, d6 │ │ │ │ │ - vadd.f64 d11, d3, d15 │ │ │ │ │ - vsub.f64 d1, d3, d15 │ │ │ │ │ - vldr d15, [sp, #848] @ 0x350 │ │ │ │ │ - vldr d14, [sp, #872] @ 0x368 │ │ │ │ │ - vldr d3, [sp, #472] @ 0x1d8 │ │ │ │ │ - vadd.f64 d4, d15, d13 │ │ │ │ │ - ldr r3, [sp, #240] @ 0xf0 │ │ │ │ │ - vsub.f64 d7, d10, d14 │ │ │ │ │ - ldr r1, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d3, [sp, #480] @ 0x1e0 │ │ │ │ │ + vldr d10, [sp, #872] @ 0x368 │ │ │ │ │ + vldr d13, [sp, #880] @ 0x370 │ │ │ │ │ + vadd.f64 d4, d14, d15 │ │ │ │ │ + ldr r4, [sp, #888] @ 0x378 │ │ │ │ │ + vsub.f64 d7, d10, d13 │ │ │ │ │ vadd.f64 d6, d4, d7 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ - vldr d7, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d7, [sp, #408] @ 0x198 │ │ │ │ │ vadd.f64 d5, d3, d7 │ │ │ │ │ - vldr d3, [sp, #720] @ 0x2d0 │ │ │ │ │ - vldr d7, [sp, #464] @ 0x1d0 │ │ │ │ │ - vmul.f64 d4, d4, d9 │ │ │ │ │ - vmul.f64 d6, d6, d9 │ │ │ │ │ - vldr d9, [pc, #612] @ 1368 │ │ │ │ │ + vldr d7, [sp, #472] @ 0x1d8 │ │ │ │ │ + vmul.f64 d4, d4, d0 │ │ │ │ │ + vmul.f64 d6, d6, d0 │ │ │ │ │ + vldr d3, [sp, #728] @ 0x2d8 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ vmul.f64 d3, d7, d9 │ │ │ │ │ vmla.f64 d3, d5, d2 │ │ │ │ │ vmul.f64 d5, d5, d9 │ │ │ │ │ vnmls.f64 d5, d7, d2 │ │ │ │ │ vstr d3, [sp] │ │ │ │ │ vmov.f64 d3, d2 │ │ │ │ │ - vadd.f64 d2, d10, d14 │ │ │ │ │ - vldr d10, [sp, #680] @ 0x2a8 │ │ │ │ │ + vadd.f64 d2, d10, d13 │ │ │ │ │ + vldr d10, [sp, #688] @ 0x2b0 │ │ │ │ │ vstr d5, [sp, #8] │ │ │ │ │ - vsub.f64 d5, d15, d13 │ │ │ │ │ - vldr d15, [sp, #800] @ 0x320 │ │ │ │ │ - vldr d13, [sp, #672] @ 0x2a0 │ │ │ │ │ + vsub.f64 d5, d14, d15 │ │ │ │ │ + vldr d15, [sp, #680] @ 0x2a8 │ │ │ │ │ vadd.f64 d7, d5, d2 │ │ │ │ │ vsub.f64 d2, d2, d5 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ + vmul.f64 d2, d2, d0 │ │ │ │ │ + vldr d0, [sp, #816] @ 0x330 │ │ │ │ │ + vsub.f64 d14, d0, d15 │ │ │ │ │ + vldr d15, [sp, #808] @ 0x328 │ │ │ │ │ vsub.f64 d5, d15, d10 │ │ │ │ │ vmov.f64 d10, d9 │ │ │ │ │ - vmul.f64 d2, d2, d0 │ │ │ │ │ - vmul.f64 d7, d7, d0 │ │ │ │ │ - vldr d0, [sp, #808] @ 0x328 │ │ │ │ │ - vsub.f64 d14, d0, d13 │ │ │ │ │ vmul.f64 d13, d5, d9 │ │ │ │ │ vmov.f64 d9, d3 │ │ │ │ │ vmla.f64 d13, d14, d3 │ │ │ │ │ vmul.f64 d14, d14, d10 │ │ │ │ │ vnmls.f64 d14, d5, d3 │ │ │ │ │ - vldr d5, [sp, #680] @ 0x2a8 │ │ │ │ │ + vldr d3, [sp, #680] @ 0x2a8 │ │ │ │ │ + vldr d5, [sp, #688] @ 0x2b0 │ │ │ │ │ + vadd.f64 d3, d0, d3 │ │ │ │ │ + vldr d0, [sp, #408] @ 0x198 │ │ │ │ │ vadd.f64 d5, d15, d5 │ │ │ │ │ - vmov.f64 d15, d0 │ │ │ │ │ - vldr d0, [sp, #672] @ 0x2a0 │ │ │ │ │ - vadd.f64 d3, d15, d0 │ │ │ │ │ - vldr d0, [sp, #400] @ 0x190 │ │ │ │ │ vmul.f64 d15, d3, d9 │ │ │ │ │ vnmls.f64 d15, d5, d10 │ │ │ │ │ vmul.f64 d5, d5, d9 │ │ │ │ │ vmla.f64 d5, d3, d10 │ │ │ │ │ - vldr d3, [sp, #464] @ 0x1d0 │ │ │ │ │ - vstr d5, [sp, #16] │ │ │ │ │ - vldr d5, [sp, #720] @ 0x2d0 │ │ │ │ │ + vldr d3, [sp, #472] @ 0x1d8 │ │ │ │ │ + vstr d5, [sp, #32] │ │ │ │ │ + vldr d5, [sp, #728] @ 0x2d8 │ │ │ │ │ vsub.f64 d3, d3, d5 │ │ │ │ │ - vldr d5, [sp, #472] @ 0x1d8 │ │ │ │ │ + vldr d5, [sp, #480] @ 0x1e0 │ │ │ │ │ vsub.f64 d0, d5, d0 │ │ │ │ │ vmul.f64 d5, d0, d9 │ │ │ │ │ vnmls.f64 d5, d3, d10 │ │ │ │ │ vmul.f64 d3, d3, d9 │ │ │ │ │ vmla.f64 d3, d0, d10 │ │ │ │ │ vadd.f64 d0, d8, d6 │ │ │ │ │ vsub.f64 d6, d8, d6 │ │ │ │ │ vadd.f64 d9, d13, d5 │ │ │ │ │ vsub.f64 d5, d5, d13 │ │ │ │ │ - vldr d13, [pc, #440] @ 1388 │ │ │ │ │ + vldr d13, [pc, #448] @ 13e0 │ │ │ │ │ vsub.f64 d10, d0, d9 │ │ │ │ │ vadd.f64 d0, d0, d9 │ │ │ │ │ vadd.f64 d9, d1, d2 │ │ │ │ │ vsub.f64 d1, d1, d2 │ │ │ │ │ vstr d10, [r0] │ │ │ │ │ - vstr d0, [r3] │ │ │ │ │ - vsub.f64 d0, d3, d14 │ │ │ │ │ - ldr r3, [sp, #256] @ 0x100 │ │ │ │ │ + ldr r0, [sp, #248] @ 0xf8 │ │ │ │ │ vsub.f64 d2, d5, d1 │ │ │ │ │ - vadd.f64 d14, d14, d3 │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ - vldr d1, [pc, #356] @ 1360 │ │ │ │ │ + vldr d1, [pc, #380] @ 13c0 │ │ │ │ │ + vstr d0, [r0] │ │ │ │ │ + vsub.f64 d0, d3, d14 │ │ │ │ │ + vadd.f64 d14, d14, d3 │ │ │ │ │ vsub.f64 d10, d0, d9 │ │ │ │ │ vadd.f64 d0, d0, d9 │ │ │ │ │ - vldr d9, [pc, #360] @ 1370 │ │ │ │ │ - vstr d10, [r3] │ │ │ │ │ + vldr d9, [pc, #364] @ 13c8 │ │ │ │ │ + vstr d10, [r4] │ │ │ │ │ ldr r3, [sp, #360] @ 0x168 │ │ │ │ │ - vldr d10, [pc, #356] @ 1378 │ │ │ │ │ + vldr d8, [sp, #8] │ │ │ │ │ + ldr r0, [sp, #16] │ │ │ │ │ vstr d0, [r3] │ │ │ │ │ - ldr r3, [sp, #24] │ │ │ │ │ - vldr d0, [pc, #316] @ 1358 │ │ │ │ │ - vstr d2, [r3] │ │ │ │ │ - vstr d5, [r1] │ │ │ │ │ + ldr r4, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r7, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d2, [r0] │ │ │ │ │ + vldr d2, [sp] │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ vsub.f64 d5, d6, d14 │ │ │ │ │ - ldr r3, [sp, #272] @ 0x110 │ │ │ │ │ vadd.f64 d6, d6, d14 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ + vldr d14, [sp, #32] │ │ │ │ │ + ldr r0, [sp, #272] @ 0x110 │ │ │ │ │ + ldr r3, [sp, #120] @ 0x78 │ │ │ │ │ + ldr r4, [sp, #320] @ 0x140 │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ + vadd.f64 d5, d2, d15 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ vadd.f64 d6, d12, d7 │ │ │ │ │ - vldr d2, [sp] │ │ │ │ │ vsub.f64 d7, d12, d7 │ │ │ │ │ - ldr r3, [sp, #312] @ 0x138 │ │ │ │ │ - ldr r6, [sp, #96] @ 0x60 │ │ │ │ │ - vadd.f64 d5, d2, d15 │ │ │ │ │ - vldr d8, [sp, #8] │ │ │ │ │ - vldr d14, [sp, #16] │ │ │ │ │ - ldr r4, [sp, #120] @ 0x78 │ │ │ │ │ - ldr r2, [sp, #108] @ 0x6c │ │ │ │ │ + ldr r2, [sp, #144] @ 0x90 │ │ │ │ │ + ldr r0, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d0, [pc, #264] @ 13b0 │ │ │ │ │ vsub.f64 d3, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vadd.f64 d5, d11, d4 │ │ │ │ │ vsub.f64 d11, d11, d4 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ + vldr d10, [pc, #276] @ 13d0 │ │ │ │ │ + vstr d3, [r4] │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ vsub.f64 d6, d8, d14 │ │ │ │ │ - ldr r3, [sp, #288] @ 0x120 │ │ │ │ │ - ldr r6, [sp, #136] @ 0x88 │ │ │ │ │ + ldr r4, [sp, #336] @ 0x150 │ │ │ │ │ vsub.f64 d3, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ vsub.f64 d6, d2, d15 │ │ │ │ │ - ldr r3, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d3, [sp, #536] @ 0x218 │ │ │ │ │ - vldr d15, [sp, #600] @ 0x258 │ │ │ │ │ + ldr r0, [sp, #304] @ 0x130 │ │ │ │ │ + vldr d3, [sp, #568] @ 0x238 │ │ │ │ │ vsub.f64 d5, d6, d11 │ │ │ │ │ vadd.f64 d6, d6, d11 │ │ │ │ │ vldr d11, [sp, #560] @ 0x230 │ │ │ │ │ - vldr d2, [sp, #744] @ 0x2e8 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ vadd.f64 d6, d8, d14 │ │ │ │ │ - ldr r3, [sp, #328] @ 0x148 │ │ │ │ │ - vldr d8, [sp, #552] @ 0x228 │ │ │ │ │ + ldr r2, [sp, #136] @ 0x88 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #768] @ 0x300 │ │ │ │ │ - vstr d5, [r6] │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - vadd.f64 d7, d3, d8 │ │ │ │ │ - vldr d5, [sp, #776] @ 0x308 │ │ │ │ │ - vldr d3, [sp, #544] @ 0x220 │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + vldr d7, [sp, #544] @ 0x220 │ │ │ │ │ + vldr d5, [sp, #784] @ 0x310 │ │ │ │ │ + vadd.f64 d7, d7, d11 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ vsub.f64 d8, d5, d7 │ │ │ │ │ vadd.f64 d12, d5, d7 │ │ │ │ │ - vsub.f64 d7, d11, d3 │ │ │ │ │ - vldr d5, [sp, #648] @ 0x288 │ │ │ │ │ - vldr d3, [sp, #584] @ 0x248 │ │ │ │ │ - vmul.f64 d4, d5, d1 │ │ │ │ │ - vldr d5, [sp, #632] @ 0x278 │ │ │ │ │ + vldr d7, [sp, #552] @ 0x228 │ │ │ │ │ + ldr r7, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d15, [sp, #608] @ 0x260 │ │ │ │ │ + vsub.f64 d7, d3, d7 │ │ │ │ │ + vldr d2, [sp, #656] @ 0x290 │ │ │ │ │ + vldr d6, [sp, #776] @ 0x308 │ │ │ │ │ + vldr d5, [sp, #640] @ 0x280 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ - vldr d0, [pc, #104] @ 1368 │ │ │ │ │ - vmla.f64 d4, d5, d0 │ │ │ │ │ - vldr d5, [sp, #504] @ 0x1f8 │ │ │ │ │ + vldr d0, [pc, #112] @ 13b8 │ │ │ │ │ + vmul.f64 d4, d2, d1 │ │ │ │ │ + vldr d3, [sp, #592] @ 0x250 │ │ │ │ │ + vldr d14, [sp, #824] @ 0x338 │ │ │ │ │ vadd.f64 d11, d6, d7 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ + vldr d2, [sp, #496] @ 0x1f0 │ │ │ │ │ vmul.f64 d6, d15, d0 │ │ │ │ │ - vadd.f64 d5, d5, d2 │ │ │ │ │ - vldr d2, [sp, #488] @ 0x1e8 │ │ │ │ │ - vldr d14, [sp, #736] @ 0x2e0 │ │ │ │ │ - vldr d15, [sp, #696] @ 0x2b8 │ │ │ │ │ + vmla.f64 d4, d5, d0 │ │ │ │ │ + ldr r4, [sp, #368] @ 0x170 │ │ │ │ │ + vldr d5, [sp, #512] @ 0x200 │ │ │ │ │ vnmls.f64 d6, d3, d1 │ │ │ │ │ - ldr r3, [sp, #368] @ 0x170 │ │ │ │ │ - ldr r2, [sp, #248] @ 0xf8 │ │ │ │ │ - ldr r6, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d15, [sp, #744] @ 0x2e8 │ │ │ │ │ vadd.f64 d3, d6, d4 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ - vadd.f64 d6, d2, d14 │ │ │ │ │ - vldr d14, [sp, #816] @ 0x330 │ │ │ │ │ + vldr d6, [sp, #752] @ 0x2f0 │ │ │ │ │ + vadd.f64 d5, d5, d6 │ │ │ │ │ + vadd.f64 d6, d2, d15 │ │ │ │ │ + vldr d15, [sp, #704] @ 0x2c0 │ │ │ │ │ vmul.f64 d2, d6, d10 │ │ │ │ │ vnmls.f64 d2, d5, d9 │ │ │ │ │ vmul.f64 d5, d5, d10 │ │ │ │ │ vmla.f64 d5, d6, d9 │ │ │ │ │ - vldr d6, [sp, #440] @ 0x1b8 │ │ │ │ │ - b.n 1390 │ │ │ │ │ + vldr d6, [sp, #448] @ 0x1c0 │ │ │ │ │ + vstr d2, [sp, #8] │ │ │ │ │ + b.n 13e8 │ │ │ │ │ + nop │ │ │ │ │ nop.w │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ - .word 0xa6aea963 │ │ │ │ │ - .word 0x3fd87de2 │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ + .word 0xa6aea963 │ │ │ │ │ + .word 0x3fd87de2 │ │ │ │ │ .word 0xcff75cb0 │ │ │ │ │ .word 0x3fef6297 │ │ │ │ │ .word 0x3c69a60b │ │ │ │ │ .word 0x3fc8f8b8 │ │ │ │ │ .word 0x39ae68c8 │ │ │ │ │ .word 0x3fe1c73b │ │ │ │ │ .word 0x290ea1a3 │ │ │ │ │ .word 0x3fea9b66 │ │ │ │ │ - vstr d2, [sp, #8] │ │ │ │ │ vmov.f64 d2, d9 │ │ │ │ │ - vldr d9, [sp, #712] @ 0x2c8 │ │ │ │ │ + vldr d9, [sp, #720] @ 0x2d0 │ │ │ │ │ vstr d5, [sp, #16] │ │ │ │ │ vsub.f64 d5, d14, d15 │ │ │ │ │ vsub.f64 d6, d6, d9 │ │ │ │ │ - vldr d9, [pc, #-44] @ 1380 │ │ │ │ │ + vldr d9, [pc, #-40] @ 13d8 │ │ │ │ │ vmul.f64 d15, d6, d9 │ │ │ │ │ vnmls.f64 d15, d5, d13 │ │ │ │ │ vmul.f64 d5, d5, d9 │ │ │ │ │ vmla.f64 d5, d6, d13 │ │ │ │ │ - vldr d6, [sp, #584] @ 0x248 │ │ │ │ │ - vldr d13, [sp, #600] @ 0x258 │ │ │ │ │ + vldr d6, [sp, #592] @ 0x250 │ │ │ │ │ + vldr d13, [sp, #608] @ 0x260 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ - vmla.f64 d6, d13, d1 │ │ │ │ │ - vldr d13, [sp, #632] @ 0x278 │ │ │ │ │ vstr d5, [sp] │ │ │ │ │ + vmla.f64 d6, d13, d1 │ │ │ │ │ + vldr d13, [sp, #640] @ 0x280 │ │ │ │ │ vmul.f64 d5, d13, d1 │ │ │ │ │ - vldr d13, [sp, #648] @ 0x288 │ │ │ │ │ - vldr d1, [sp, #440] @ 0x1b8 │ │ │ │ │ + vldr d1, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d13, [sp, #656] @ 0x290 │ │ │ │ │ vnmls.f64 d5, d13, d0 │ │ │ │ │ - vldr d13, [sp, #712] @ 0x2c8 │ │ │ │ │ + vldr d13, [sp, #720] @ 0x2d0 │ │ │ │ │ vadd.f64 d13, d1, d13 │ │ │ │ │ - vldr d1, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d1, [sp, #496] @ 0x1f0 │ │ │ │ │ vadd.f64 d0, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [sp, #696] @ 0x2b8 │ │ │ │ │ + vldr d5, [sp, #704] @ 0x2c0 │ │ │ │ │ vadd.f64 d5, d14, d5 │ │ │ │ │ vmul.f64 d14, d5, d2 │ │ │ │ │ vmla.f64 d14, d13, d10 │ │ │ │ │ vmul.f64 d13, d13, d2 │ │ │ │ │ vnmls.f64 d13, d5, d10 │ │ │ │ │ - vldr d10, [sp, #736] @ 0x2e0 │ │ │ │ │ - vsub.f64 d2, d1, d10 │ │ │ │ │ vldr d10, [sp, #744] @ 0x2e8 │ │ │ │ │ - vldr d1, [sp, #504] @ 0x1f8 │ │ │ │ │ + vsub.f64 d2, d1, d10 │ │ │ │ │ + vldr d1, [sp, #512] @ 0x200 │ │ │ │ │ + vldr d10, [sp, #752] @ 0x2f0 │ │ │ │ │ vsub.f64 d1, d1, d10 │ │ │ │ │ - vldr d10, [pc, #-160] @ 1388 │ │ │ │ │ + vldr d10, [pc, #-156] @ 13e0 │ │ │ │ │ vmul.f64 d5, d1, d10 │ │ │ │ │ vmla.f64 d5, d2, d9 │ │ │ │ │ vmul.f64 d2, d2, d10 │ │ │ │ │ vnmls.f64 d2, d1, d9 │ │ │ │ │ vadd.f64 d1, d8, d3 │ │ │ │ │ vsub.f64 d3, d8, d3 │ │ │ │ │ vadd.f64 d9, d15, d5 │ │ │ │ │ vsub.f64 d5, d5, d15 │ │ │ │ │ vsub.f64 d10, d1, d9 │ │ │ │ │ vadd.f64 d1, d1, d9 │ │ │ │ │ vadd.f64 d9, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vstr d10, [r3] │ │ │ │ │ - vstr d1, [r2] │ │ │ │ │ + vstr d10, [r4] │ │ │ │ │ + vstr d1, [r7] │ │ │ │ │ vsub.f64 d6, d5, d7 │ │ │ │ │ - vldr d1, [sp] │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ - ldr r3, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d1, [sp] │ │ │ │ │ vadd.f64 d7, d12, d0 │ │ │ │ │ vsub.f64 d12, d12, d0 │ │ │ │ │ + ldr r3, [sp, #24] │ │ │ │ │ + ldr r2, [sp, #264] @ 0x108 │ │ │ │ │ vsub.f64 d1, d2, d1 │ │ │ │ │ + ldr r4, [sp, #352] @ 0x160 │ │ │ │ │ + ldr r6, [sp, #88] @ 0x58 │ │ │ │ │ + ldr r1, [sp, #104] @ 0x68 │ │ │ │ │ vsub.f64 d10, d1, d9 │ │ │ │ │ vadd.f64 d1, d1, d9 │ │ │ │ │ - vstr d10, [r3] │ │ │ │ │ - vstr d1, [r6] │ │ │ │ │ - ldr r3, [sp, #32] │ │ │ │ │ - ldr r6, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ + ldr r0, [sp, #328] @ 0x148 │ │ │ │ │ + ldr r5, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d10, [r4] │ │ │ │ │ + vstr d1, [r2] │ │ │ │ │ vldr d1, [sp] │ │ │ │ │ - ldr r3, [sp, #280] @ 0x118 │ │ │ │ │ - ldr r5, [sp, #88] @ 0x58 │ │ │ │ │ + ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ vadd.f64 d2, d1, d2 │ │ │ │ │ - ldr r4, [sp, #880] @ 0x370 │ │ │ │ │ - ldr r0, [sp, #112] @ 0x70 │ │ │ │ │ - ldr r1, [sp, #104] @ 0x68 │ │ │ │ │ - ldr r2, [sp, #304] @ 0x130 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + ldr r3, [sp, #280] @ 0x118 │ │ │ │ │ vsub.f64 d6, d3, d2 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ vldr d2, [sp, #16] │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ vstr d3, [ip] │ │ │ │ │ vldr d3, [sp, #8] │ │ │ │ │ - ldr r3, [sp, #320] @ 0x140 │ │ │ │ │ + ldr r3, [sp, #1008] @ 0x3f0 │ │ │ │ │ vadd.f64 d6, d3, d14 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d11, d4 │ │ │ │ │ vsub.f64 d11, d11, d4 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ vsub.f64 d7, d2, d13 │ │ │ │ │ - ldr r3, [sp, #1000] @ 0x3e8 │ │ │ │ │ vadd.f64 d13, d2, d13 │ │ │ │ │ - ldr r5, [sp, #128] @ 0x80 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #1000] @ 0x3e8 │ │ │ │ │ + ldr r0, [sp, #344] @ 0x158 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - ldr r3, [sp, #884] @ 0x374 │ │ │ │ │ - add fp, r3 │ │ │ │ │ - ldr r3, [sp, #888] @ 0x378 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + vstr d5, [r5] │ │ │ │ │ + ldr r5, [sp, #296] @ 0x128 │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ vsub.f64 d7, d3, d14 │ │ │ │ │ - add r7, r3 │ │ │ │ │ - ldr r3, [sp, #892] @ 0x37c │ │ │ │ │ - ldr r4, [sp, #336] @ 0x150 │ │ │ │ │ - eor.w r8, r8, r3 │ │ │ │ │ + ldr r5, [sp, #312] @ 0x138 │ │ │ │ │ vsub.f64 d6, d7, d11 │ │ │ │ │ vadd.f64 d7, d7, d11 │ │ │ │ │ vstr d6, [r1] │ │ │ │ │ vsub.f64 d6, d12, d13 │ │ │ │ │ vadd.f64 d12, d12, d13 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - ldrd r2, r3, [sp, #1000] @ 0x3e8 │ │ │ │ │ - vstr d6, [r5] │ │ │ │ │ + ldr r1, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ + vstr d12, [r0] │ │ │ │ │ + str r3, [sp, #1008] @ 0x3f0 │ │ │ │ │ + ldr r7, [sp, #80] @ 0x50 │ │ │ │ │ + ldr r3, [sp, #892] @ 0x37c │ │ │ │ │ + ldr r2, [sp, #1008] @ 0x3f0 │ │ │ │ │ + add sl, r3 │ │ │ │ │ + ldr r3, [sp, #896] @ 0x380 │ │ │ │ │ + add r8, r3 │ │ │ │ │ + ldr r3, [sp, #900] @ 0x384 │ │ │ │ │ + eor.w r7, r7, r3 │ │ │ │ │ + ldr r3, [sp, #1012] @ 0x3f4 │ │ │ │ │ + str r7, [sp, #80] @ 0x50 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - vstr d12, [r4] │ │ │ │ │ - bne.w 3c │ │ │ │ │ - add.w sp, sp, #900 @ 0x384 │ │ │ │ │ + bne.w 52 │ │ │ │ │ + add.w sp, sp, #908 @ 0x38c │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -0000154c : │ │ │ │ │ +000015b8 : │ │ │ │ │ fftw_codelet_hf2_32(): │ │ │ │ │ - ldr r2, [pc, #8] @ (1558 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (155c ) │ │ │ │ │ + ldr r2, [pc, #8] @ (15c4 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (15c8 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2hc_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── hf2_4.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1268 (bytes into file) │ │ │ │ │ + Start of section headers: 1304 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x4f4: │ │ │ │ │ +There are 14 section headers, starting at offset 0x518: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000260 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00044c 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000294 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000294 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000294 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 00029a 00000c 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0002a6 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000464 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 0002d6 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0002d6 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 00030c 0000f0 10 12 12 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 0003fc 00004f 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 00047c 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000284 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000470 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0002b8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0002b8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0002b8 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 0002be 00000c 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0002ca 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000488 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 0002fa 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0002fa 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000330 0000f0 10 12 12 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000420 00004f 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 0004a0 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,18 +1,18 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 15 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 586 FUNC LOCAL DEFAULT 1 hf2_4 │ │ │ │ │ + 1: 00000001 622 FUNC LOCAL DEFAULT 1 hf2_4 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000258 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 0000027c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 4: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 8: 00000000 12 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 9: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 10: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 11: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 12: 0000024d 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf2_4 │ │ │ │ │ + 12: 00000271 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf2_4 │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2hc_register │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x44c contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x470 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000258 00000903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000025c 00000103 R_ARM_REL32 00000001 hf2_4 │ │ │ │ │ -00000254 00000d1e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ +0000027c 00000903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000280 00000103 R_ARM_REL32 00000001 hf2_4 │ │ │ │ │ +00000278 00000d1e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x464 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x488 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000402 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000602 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00000e02 R_ARM_ABS32 00000000 fftw_rdft_hf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,146 +1,155 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hf2_4(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d10} │ │ │ │ │ sub sp, #12 │ │ │ │ │ ldrd r4, r6, [sp, #72] @ 0x48 │ │ │ │ │ ldr r5, [sp, #80] @ 0x50 │ │ │ │ │ - subs r7, r4, #1 │ │ │ │ │ + add.w r7, r4, #4294967295 @ 0xffffffff │ │ │ │ │ cmp r4, r6 │ │ │ │ │ add.w r2, r2, r7, lsl #5 │ │ │ │ │ - bge.w 12c │ │ │ │ │ + bge.w 142 │ │ │ │ │ mov.w lr, r3, lsl #3 │ │ │ │ │ cmp r5, #1 │ │ │ │ │ mov.w ip, r3, lsl #4 │ │ │ │ │ itt eq │ │ │ │ │ addeq.w r3, r2, #32 │ │ │ │ │ rsbeq r2, lr, #0 │ │ │ │ │ - bne.w 136 │ │ │ │ │ - vldr d9, [r3, #-24] @ 0xffffffe8 │ │ │ │ │ + bne.w 15e │ │ │ │ │ + vldr d6, [r3, #-32] @ 0xffffffe0 │ │ │ │ │ add.w r5, r0, ip │ │ │ │ │ - vldr d8, [r3, #-16] │ │ │ │ │ add.w r7, r1, ip │ │ │ │ │ - vldr d6, [r3, #-32] @ 0xffffffe0 │ │ │ │ │ add.w r8, r5, r2 │ │ │ │ │ - vldr d10, [r3, #-8] │ │ │ │ │ add.w r9, r7, r2 │ │ │ │ │ - vmul.f64 d1, d8, d9 │ │ │ │ │ + vldr d9, [r3, #-24] @ 0xffffffe8 │ │ │ │ │ + add.w sl, r8, ip │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + cmp r6, r4 │ │ │ │ │ + add.w r3, r3, #32 │ │ │ │ │ + vldr d8, [r3, #-48] @ 0xffffffd0 │ │ │ │ │ + vldr d10, [r3, #-40] @ 0xffffffd8 │ │ │ │ │ vldr d4, [r5] │ │ │ │ │ vmul.f64 d5, d8, d6 │ │ │ │ │ + vmul.f64 d1, d8, d9 │ │ │ │ │ vldr d3, [r7] │ │ │ │ │ - vmla.f64 d5, d10, d9 │ │ │ │ │ - add.w sl, r8, ip │ │ │ │ │ vldr d2, [r0] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - vnmls.f64 d1, d10, d6 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - adds r3, #32 │ │ │ │ │ - cmp r6, r4 │ │ │ │ │ + vmla.f64 d5, d10, d9 │ │ │ │ │ + vnmls.f64 d1, d10, d6 │ │ │ │ │ vmul.f64 d0, d4, d5 │ │ │ │ │ vmul.f64 d4, d4, d1 │ │ │ │ │ vmla.f64 d0, d3, d1 │ │ │ │ │ vnmls.f64 d4, d3, d5 │ │ │ │ │ vldr d3, [r8] │ │ │ │ │ vldr d5, [r9] │ │ │ │ │ vmul.f64 d1, d3, d6 │ │ │ │ │ vmul.f64 d3, d3, d9 │ │ │ │ │ vmla.f64 d1, d5, d9 │ │ │ │ │ vnmls.f64 d3, d5, d6 │ │ │ │ │ vldr d5, [sl] │ │ │ │ │ add.w sl, r9, ip │ │ │ │ │ + vldr d9, [sl] │ │ │ │ │ vmul.f64 d6, d5, d8 │ │ │ │ │ vmul.f64 d5, d5, d10 │ │ │ │ │ - vldr d9, [sl] │ │ │ │ │ vmla.f64 d6, d9, d10 │ │ │ │ │ vnmls.f64 d5, d9, d8 │ │ │ │ │ vadd.f64 d9, d0, d2 │ │ │ │ │ vsub.f64 d2, d2, d0 │ │ │ │ │ vadd.f64 d8, d6, d1 │ │ │ │ │ vsub.f64 d0, d3, d5 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ vadd.f64 d3, d4, d7 │ │ │ │ │ vsub.f64 d6, d6, d1 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ vsub.f64 d10, d9, d8 │ │ │ │ │ vadd.f64 d8, d8, d9 │ │ │ │ │ vstr d10, [r9] │ │ │ │ │ mov r9, r1 │ │ │ │ │ + sub.w r1, r1, #8 │ │ │ │ │ vstmia r0!, {d8} │ │ │ │ │ vsub.f64 d8, d2, d0 │ │ │ │ │ vadd.f64 d0, d0, d2 │ │ │ │ │ vsub.f64 d2, d5, d3 │ │ │ │ │ vadd.f64 d3, d3, d5 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - sub.w r1, r1, #8 │ │ │ │ │ vstr d8, [r9] │ │ │ │ │ vstr d0, [r8] │ │ │ │ │ vstr d2, [r5] │ │ │ │ │ add r5, lr │ │ │ │ │ vstr d3, [sl] │ │ │ │ │ vstr d5, [r5] │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ - bne.n 34 │ │ │ │ │ + bne.n 46 │ │ │ │ │ add sp, #12 │ │ │ │ │ vpop {d8-d10} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ mov.w fp, r5, lsl #3 │ │ │ │ │ rsb r3, fp, #0 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ add.w r3, r2, #32 │ │ │ │ │ rsb r2, lr, #0 │ │ │ │ │ - vldr d8, [r3, #-16] │ │ │ │ │ + vldr d7, [r3, #-32] @ 0xffffffe0 │ │ │ │ │ add.w r5, r0, ip │ │ │ │ │ - vldr d6, [r3, #-24] @ 0xffffffe8 │ │ │ │ │ add.w r7, r1, ip │ │ │ │ │ - vldr d7, [r3, #-32] @ 0xffffffe0 │ │ │ │ │ - add.w r8, r5, r2 │ │ │ │ │ - vldr d3, [r3, #-8] │ │ │ │ │ add.w r9, r7, r2 │ │ │ │ │ - vmul.f64 d5, d6, d8 │ │ │ │ │ + add.w r8, r5, r2 │ │ │ │ │ + vldr d6, [r3, #-24] @ 0xffffffe8 │ │ │ │ │ + add.w sl, r8, ip │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + cmp r6, r4 │ │ │ │ │ + add.w r3, r3, #32 │ │ │ │ │ + vldr d8, [r3, #-48] @ 0xffffffd0 │ │ │ │ │ + vldr d3, [r3, #-40] @ 0xffffffd8 │ │ │ │ │ vldr d10, [r5] │ │ │ │ │ + vmul.f64 d5, d6, d8 │ │ │ │ │ vldr d9, [r7] │ │ │ │ │ - add.w sl, r8, ip │ │ │ │ │ vmul.f64 d1, d6, d3 │ │ │ │ │ vldr d4, [r0] │ │ │ │ │ - vmla.f64 d1, d7, d8 │ │ │ │ │ vldr d2, [r1] │ │ │ │ │ vnmls.f64 d5, d7, d3 │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - adds r3, #32 │ │ │ │ │ - cmp r6, r4 │ │ │ │ │ + vmla.f64 d1, d7, d8 │ │ │ │ │ vmul.f64 d0, d5, d9 │ │ │ │ │ vmul.f64 d5, d5, d10 │ │ │ │ │ - vmla.f64 d0, d1, d10 │ │ │ │ │ - vldr d10, [r8] │ │ │ │ │ vnmls.f64 d5, d1, d9 │ │ │ │ │ vldr d9, [r9] │ │ │ │ │ + vmla.f64 d0, d1, d10 │ │ │ │ │ + vldr d10, [r8] │ │ │ │ │ vmul.f64 d1, d6, d9 │ │ │ │ │ vmul.f64 d6, d6, d10 │ │ │ │ │ vmla.f64 d1, d7, d10 │ │ │ │ │ vldr d10, [sl] │ │ │ │ │ add.w sl, r9, ip │ │ │ │ │ vnmls.f64 d6, d7, d9 │ │ │ │ │ vldr d9, [sl] │ │ │ │ │ vmul.f64 d7, d3, d9 │ │ │ │ │ vmul.f64 d3, d3, d10 │ │ │ │ │ vmla.f64 d7, d8, d10 │ │ │ │ │ vnmls.f64 d3, d8, d9 │ │ │ │ │ vadd.f64 d8, d4, d0 │ │ │ │ │ vsub.f64 d4, d4, d0 │ │ │ │ │ vadd.f64 d9, d1, d7 │ │ │ │ │ - vsub.f64 d7, d7, d1 │ │ │ │ │ vsub.f64 d0, d6, d3 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ + vsub.f64 d7, d7, d1 │ │ │ │ │ vsub.f64 d10, d8, d9 │ │ │ │ │ vadd.f64 d8, d8, d9 │ │ │ │ │ vstr d10, [r9] │ │ │ │ │ vstr d8, [r0] │ │ │ │ │ vsub.f64 d8, d4, d0 │ │ │ │ │ vadd.f64 d4, d4, d0 │ │ │ │ │ add r0, fp │ │ │ │ │ @@ -155,24 +164,22 @@ │ │ │ │ │ vstr d6, [sl] │ │ │ │ │ vsub.f64 d6, d7, d2 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ vstr d6, [r5] │ │ │ │ │ ldr r5, [sp, #4] │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ add r1, r5 │ │ │ │ │ - bne.n 148 │ │ │ │ │ - add sp, #12 │ │ │ │ │ - vpop {d8-d10} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + bne.n 170 │ │ │ │ │ + b.n 142 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -0000024c : │ │ │ │ │ +00000270 : │ │ │ │ │ fftw_codelet_hf2_4(): │ │ │ │ │ - ldr r2, [pc, #8] @ (258 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (25c ) │ │ │ │ │ + ldr r2, [pc, #8] @ (27c ) │ │ │ │ │ + ldr r1, [pc, #12] @ (280 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2hc_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── hf2_5.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1664 (bytes into file) │ │ │ │ │ + Start of section headers: 1728 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x680: │ │ │ │ │ +There are 14 section headers, starting at offset 0x6c0: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0003cc 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0005d8 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000400 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000400 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000400 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000406 00000c 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 000412 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 0005f0 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000442 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000442 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000478 000110 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000588 00004f 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000608 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00040c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000618 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000440 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000440 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000440 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000446 00000c 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000452 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000630 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000482 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000482 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 0004b8 000110 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0005c8 00004f 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000648 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,20 +1,20 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 17 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 952 FUNC LOCAL DEFAULT 1 hf2_5 │ │ │ │ │ + 1: 00000001 1016 FUNC LOCAL DEFAULT 1 hf2_5 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000003a0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 000003b8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000003c4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000003e0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 000003f8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000404 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 12 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 14: 000003b9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf2_5 │ │ │ │ │ + 14: 000003f9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf2_5 │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2hc_register │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x5d8 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x618 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000003c4 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000003c8 00000103 R_ARM_REL32 00000001 hf2_5 │ │ │ │ │ -000003c0 00000f1e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ +00000404 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000408 00000103 R_ARM_REL32 00000001 hf2_5 │ │ │ │ │ +00000400 00000f1e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x5f0 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x630 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001002 R_ARM_ABS32 00000000 fftw_rdft_hf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,88 +1,93 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hf2_5(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub sp, #12 │ │ │ │ │ - ldr r5, [sp, #112] @ 0x70 │ │ │ │ │ + sub sp, #20 │ │ │ │ │ ldr r4, [sp, #120] @ 0x78 │ │ │ │ │ - subs r6, r5, #1 │ │ │ │ │ + ldr r5, [sp, #128] @ 0x80 │ │ │ │ │ + add.w r6, r4, #4294967295 @ 0xffffffff │ │ │ │ │ add.w r2, r2, r6, lsl #5 │ │ │ │ │ - ldr r6, [sp, #116] @ 0x74 │ │ │ │ │ - cmp r5, r6 │ │ │ │ │ - bge.w 1d8 │ │ │ │ │ - mov.w lr, r3, lsl #3 │ │ │ │ │ - mov.w sl, r3, lsl #4 │ │ │ │ │ - cmp r4, #1 │ │ │ │ │ - bne.w 1e2 │ │ │ │ │ - adds r2, #32 │ │ │ │ │ - rsb fp, sl, #0 │ │ │ │ │ - rsb r9, lr, #0 │ │ │ │ │ - vldr d15, [pc, #872] @ 3a0 │ │ │ │ │ - vldr d12, [pc, #876] @ 3a8 │ │ │ │ │ - str r5, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d2, [r2, #-32] @ 0xffffffe0 │ │ │ │ │ - add.w r4, r0, lr │ │ │ │ │ - vldr d7, [r2, #-16] │ │ │ │ │ - add.w r3, r1, lr │ │ │ │ │ - vldr d6, [r2, #-8] │ │ │ │ │ - mov r5, r1 │ │ │ │ │ - vldr d1, [r2, #-24] @ 0xffffffe8 │ │ │ │ │ - subs r1, #8 │ │ │ │ │ + ldr r6, [sp, #124] @ 0x7c │ │ │ │ │ + cmp r4, r6 │ │ │ │ │ + bge.w 1f8 │ │ │ │ │ + cmp r5, #1 │ │ │ │ │ + mov.w r7, r3, lsl #3 │ │ │ │ │ + mov.w fp, r3, lsl #5 │ │ │ │ │ + mov.w r6, r3, lsl #4 │ │ │ │ │ + bne.w 214 │ │ │ │ │ + vldr d15, [pc, #924] @ 3e0 │ │ │ │ │ + add.w r3, r2, #32 │ │ │ │ │ + rsb r5, r6, #0 │ │ │ │ │ + add.w ip, r0, r7 │ │ │ │ │ + add.w r2, r1, r7 │ │ │ │ │ + vldr d12, [pc, #912] @ 3e8 │ │ │ │ │ + str r5, [sp, #0] │ │ │ │ │ + str r4, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d2, [r3, #-32] @ 0xffffffe0 │ │ │ │ │ + add.w r9, ip, r6 │ │ │ │ │ + add.w r8, r2, r6 │ │ │ │ │ + add.w r5, r0, fp │ │ │ │ │ + add.w r7, r1, fp │ │ │ │ │ + vldr d1, [r3, #-24] @ 0xffffffe8 │ │ │ │ │ + add.w r3, r3, #32 │ │ │ │ │ + vldr d7, [r3, #-48] @ 0xffffffd0 │ │ │ │ │ + vldr d6, [r3, #-40] @ 0xffffffd8 │ │ │ │ │ + vldr d4, [ip] │ │ │ │ │ vmul.f64 d10, d7, d2 │ │ │ │ │ - vldr d4, [r4] │ │ │ │ │ - add r4, sl │ │ │ │ │ - vmul.f64 d5, d6, d2 │ │ │ │ │ - vmul.f64 d0, d6, d1 │ │ │ │ │ vmul.f64 d8, d7, d1 │ │ │ │ │ - vmul.f64 d11, d4, d2 │ │ │ │ │ - add.w r7, r4, lr │ │ │ │ │ - add.w r8, r7, fp │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ + vmul.f64 d0, d6, d1 │ │ │ │ │ + vmul.f64 d5, d6, d2 │ │ │ │ │ vldr d13, [r0] │ │ │ │ │ - vldr d14, [r1, #8] │ │ │ │ │ - adds r2, #32 │ │ │ │ │ + vmul.f64 d11, d4, d2 │ │ │ │ │ + vldr d14, [r1] │ │ │ │ │ + add.w sl, r5, r4 │ │ │ │ │ + add.w lr, r7, r4 │ │ │ │ │ + mov r4, r1 │ │ │ │ │ + sub.w r1, r1, #8 │ │ │ │ │ vsub.f64 d3, d10, d0 │ │ │ │ │ vadd.f64 d10, d0, d10 │ │ │ │ │ - vldr d0, [r3] │ │ │ │ │ - add r3, sl │ │ │ │ │ + vldr d0, [r2] │ │ │ │ │ vsub.f64 d9, d5, d8 │ │ │ │ │ vadd.f64 d5, d5, d8 │ │ │ │ │ - add.w ip, r3, lr │ │ │ │ │ vmla.f64 d11, d0, d1 │ │ │ │ │ vmul.f64 d1, d4, d1 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - add.w r6, ip, fp │ │ │ │ │ + vldr d4, [r8] │ │ │ │ │ vnmls.f64 d1, d0, d2 │ │ │ │ │ - vldr d2, [r4] │ │ │ │ │ + vldr d2, [r9] │ │ │ │ │ vmul.f64 d8, d2, d7 │ │ │ │ │ vmul.f64 d2, d2, d6 │ │ │ │ │ - vmla.f64 d8, d4, d6 │ │ │ │ │ vnmls.f64 d2, d4, d7 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - vldr d4, [ip] │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + vmla.f64 d8, d4, d6 │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ vmul.f64 d6, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d5 │ │ │ │ │ vmla.f64 d6, d4, d5 │ │ │ │ │ - vldr d5, [r8] │ │ │ │ │ + vldr d5, [sl] │ │ │ │ │ vnmls.f64 d7, d4, d3 │ │ │ │ │ - vldr d4, [r6] │ │ │ │ │ + vldr d4, [lr] │ │ │ │ │ vmul.f64 d3, d5, d10 │ │ │ │ │ vmul.f64 d5, d5, d9 │ │ │ │ │ - add r6, r9 │ │ │ │ │ - vmla.f64 d3, d4, d9 │ │ │ │ │ - vnmls.f64 d5, d4, d10 │ │ │ │ │ vsub.f64 d0, d6, d11 │ │ │ │ │ vadd.f64 d6, d6, d11 │ │ │ │ │ - vmov.f64 d11, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vmla.f64 d3, d4, d9 │ │ │ │ │ + vnmls.f64 d5, d4, d10 │ │ │ │ │ vsub.f64 d4, d1, d7 │ │ │ │ │ + vmov.f64 d11, #80 @ 0x3e800000 0.250 │ │ │ │ │ vadd.f64 d7, d7, d1 │ │ │ │ │ vsub.f64 d10, d3, d8 │ │ │ │ │ vadd.f64 d3, d3, d8 │ │ │ │ │ vsub.f64 d9, d5, d2 │ │ │ │ │ vadd.f64 d5, d5, d2 │ │ │ │ │ vadd.f64 d8, d3, d6 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ @@ -91,114 +96,121 @@ │ │ │ │ │ vadd.f64 d2, d8, d13 │ │ │ │ │ vmls.f64 d13, d8, d11 │ │ │ │ │ vstmia r0!, {d2} │ │ │ │ │ vmul.f64 d2, d4, d12 │ │ │ │ │ vmul.f64 d4, d4, d15 │ │ │ │ │ vmla.f64 d2, d9, d15 │ │ │ │ │ vnmls.f64 d4, d9, d12 │ │ │ │ │ - vldr d9, [pc, #612] @ 3b0 │ │ │ │ │ + vldr d9, [pc, #644] @ 3f0 │ │ │ │ │ vmul.f64 d6, d6, d9 │ │ │ │ │ vmul.f64 d7, d7, d9 │ │ │ │ │ vadd.f64 d8, d13, d6 │ │ │ │ │ vsub.f64 d3, d13, d6 │ │ │ │ │ vsub.f64 d6, d8, d2 │ │ │ │ │ vadd.f64 d8, d8, d2 │ │ │ │ │ - vstr d6, [r5] │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ vadd.f64 d6, d3, d4 │ │ │ │ │ + mov r4, r2 │ │ │ │ │ vsub.f64 d3, d3, d4 │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ + sub.w r2, r2, #8 │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ vadd.f64 d6, d1, d14 │ │ │ │ │ - add.w r6, r8, r9 │ │ │ │ │ vmls.f64 d14, d1, d11 │ │ │ │ │ - vstr d8, [r6] │ │ │ │ │ - vstr d3, [r8] │ │ │ │ │ - vstr d6, [ip] │ │ │ │ │ + vstmia ip!, {d8} │ │ │ │ │ + vstr d3, [sl] │ │ │ │ │ + ldr r4, [sp, #120] @ 0x78 │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ vmul.f64 d6, d0, d15 │ │ │ │ │ - vmla.f64 d6, d10, d12 │ │ │ │ │ - vmul.f64 d10, d10, d15 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ vsub.f64 d5, d14, d7 │ │ │ │ │ vadd.f64 d14, d7, d14 │ │ │ │ │ + str r4, [sp, #120] @ 0x78 │ │ │ │ │ + vmla.f64 d6, d10, d12 │ │ │ │ │ + vmul.f64 d10, d10, d15 │ │ │ │ │ + ldr r4, [sp, #124] @ 0x7c │ │ │ │ │ vnmls.f64 d10, d0, d12 │ │ │ │ │ vsub.f64 d7, d6, d5 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + vstr d7, [r9] │ │ │ │ │ vadd.f64 d7, d14, d10 │ │ │ │ │ vsub.f64 d10, d10, d14 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - add r3, r9 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - ldr r3, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d10, [r7] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #112] @ 0x70 │ │ │ │ │ - ldrd r4, r3, [sp, #112] @ 0x70 │ │ │ │ │ - cmp r3, r4 │ │ │ │ │ - bne.w 3e │ │ │ │ │ - add sp, #12 │ │ │ │ │ + vstr d7, [r8] │ │ │ │ │ + vstr d5, [lr] │ │ │ │ │ + vstr d10, [r5] │ │ │ │ │ + ldr r5, [sp, #120] @ 0x78 │ │ │ │ │ + cmp r4, r5 │ │ │ │ │ + bne.w 5c │ │ │ │ │ + add sp, #20 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - lsls r3, r4, #3 │ │ │ │ │ - adds r2, #32 │ │ │ │ │ - rsb fp, sl, #0 │ │ │ │ │ - rsb r9, lr, #0 │ │ │ │ │ - vldr d15, [pc, #440] @ 3a8 │ │ │ │ │ - vldr d12, [pc, #428] @ 3a0 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ - negs r3, r3 │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ - vldr d2, [r2, #-32] @ 0xffffffe0 │ │ │ │ │ - add.w r3, r1, lr │ │ │ │ │ - vldr d5, [r2, #-24] @ 0xffffffe8 │ │ │ │ │ - add.w r4, r0, lr │ │ │ │ │ - vldr d4, [r2, #-16] │ │ │ │ │ - adds r5, #1 │ │ │ │ │ - vldr d6, [r2, #-8] │ │ │ │ │ - adds r2, #32 │ │ │ │ │ - vldr d1, [r4] │ │ │ │ │ - add r4, sl │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + mov.w r3, r5, lsl #3 │ │ │ │ │ + vldr d15, [pc, #460] @ 3e8 │ │ │ │ │ + add.w sl, r1, r7 │ │ │ │ │ + vldr d12, [pc, #444] @ 3e0 │ │ │ │ │ + rsb r5, r3, #0 │ │ │ │ │ + str r3, [sp, #12] │ │ │ │ │ + add.w r3, r2, #32 │ │ │ │ │ + rsb r2, r6, #0 │ │ │ │ │ + ldr.w ip, [sp, #12] │ │ │ │ │ + str r2, [sp, #0] │ │ │ │ │ + strd r5, fp, [sp, #4] │ │ │ │ │ + add.w r5, r0, r7 │ │ │ │ │ + vldr d2, [r3, #-32] @ 0xffffffe0 │ │ │ │ │ + add.w r9, r5, r6 │ │ │ │ │ + add.w r8, sl, r6 │ │ │ │ │ + add.w r3, r3, #32 │ │ │ │ │ + vldr d5, [r3, #-56] @ 0xffffffc8 │ │ │ │ │ + vldr d4, [r3, #-48] @ 0xffffffd0 │ │ │ │ │ + vldr d6, [r3, #-40] @ 0xffffffd8 │ │ │ │ │ + vldr d1, [r5] │ │ │ │ │ vmul.f64 d0, d2, d4 │ │ │ │ │ vmul.f64 d7, d5, d4 │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ vmul.f64 d10, d5, d6 │ │ │ │ │ vmul.f64 d8, d2, d6 │ │ │ │ │ - add.w r7, r4, lr │ │ │ │ │ + ldr r7, [sp, #8] │ │ │ │ │ vldr d13, [r0] │ │ │ │ │ - add.w r8, r7, fp │ │ │ │ │ vldr d14, [r1] │ │ │ │ │ + add.w r2, r0, r7 │ │ │ │ │ + add r7, r1 │ │ │ │ │ vsub.f64 d3, d0, d10 │ │ │ │ │ vadd.f64 d10, d0, d10 │ │ │ │ │ - vldr d0, [r3] │ │ │ │ │ - add r3, sl │ │ │ │ │ + vldr d0, [sl] │ │ │ │ │ vsub.f64 d9, d8, d7 │ │ │ │ │ vadd.f64 d7, d7, d8 │ │ │ │ │ - add.w ip, r3, lr │ │ │ │ │ + add.w lr, r7, r4 │ │ │ │ │ + add.w fp, r2, r4 │ │ │ │ │ vmul.f64 d11, d5, d0 │ │ │ │ │ - add.w r6, ip, fp │ │ │ │ │ vmla.f64 d11, d2, d1 │ │ │ │ │ vmul.f64 d1, d5, d1 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ + vldr d5, [r8] │ │ │ │ │ vnmls.f64 d1, d2, d0 │ │ │ │ │ - vldr d2, [r4] │ │ │ │ │ + vldr d2, [r9] │ │ │ │ │ vmul.f64 d8, d6, d5 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ vmla.f64 d8, d4, d2 │ │ │ │ │ - vldr d2, [r7] │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ vnmls.f64 d6, d4, d5 │ │ │ │ │ - vldr d4, [ip] │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ vmul.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ - vmla.f64 d5, d3, d2 │ │ │ │ │ - vldr d2, [r8] │ │ │ │ │ vnmls.f64 d7, d3, d4 │ │ │ │ │ - vldr d4, [r6] │ │ │ │ │ - add r6, r9 │ │ │ │ │ + vldr d4, [lr] │ │ │ │ │ + vmla.f64 d5, d3, d2 │ │ │ │ │ + vldr d2, [fp] │ │ │ │ │ vmul.f64 d3, d9, d4 │ │ │ │ │ - vmla.f64 d3, d10, d2 │ │ │ │ │ - vmul.f64 d2, d9, d2 │ │ │ │ │ vsub.f64 d0, d5, d11 │ │ │ │ │ vadd.f64 d5, d11, d5 │ │ │ │ │ + vmla.f64 d3, d10, d2 │ │ │ │ │ + vmul.f64 d2, d9, d2 │ │ │ │ │ vmov.f64 d11, #80 @ 0x3e800000 0.250 │ │ │ │ │ vnmls.f64 d2, d10, d4 │ │ │ │ │ vsub.f64 d4, d1, d7 │ │ │ │ │ vadd.f64 d7, d1, d7 │ │ │ │ │ vsub.f64 d10, d3, d8 │ │ │ │ │ vadd.f64 d3, d8, d3 │ │ │ │ │ vsub.f64 d9, d2, d6 │ │ │ │ │ @@ -207,71 +219,72 @@ │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ vadd.f64 d1, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d2, d13, d8 │ │ │ │ │ vmls.f64 d13, d8, d11 │ │ │ │ │ vstr d2, [r0] │ │ │ │ │ vmul.f64 d2, d9, d12 │ │ │ │ │ + add r0, ip │ │ │ │ │ vmla.f64 d2, d4, d15 │ │ │ │ │ vmul.f64 d4, d4, d12 │ │ │ │ │ vnmls.f64 d4, d9, d15 │ │ │ │ │ - vldr d9, [pc, #168] @ 3b0 │ │ │ │ │ + vldr d9, [pc, #164] @ 3f0 │ │ │ │ │ vmul.f64 d5, d5, d9 │ │ │ │ │ vmul.f64 d7, d7, d9 │ │ │ │ │ vadd.f64 d8, d5, d13 │ │ │ │ │ vsub.f64 d3, d13, d5 │ │ │ │ │ vsub.f64 d5, d8, d2 │ │ │ │ │ vadd.f64 d2, d2, d8 │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ vadd.f64 d5, d4, d3 │ │ │ │ │ vsub.f64 d3, d3, d4 │ │ │ │ │ - vstr d5, [r6] │ │ │ │ │ + vstr d5, [sl] │ │ │ │ │ vadd.f64 d5, d14, d1 │ │ │ │ │ - add.w r6, r8, r9 │ │ │ │ │ vmls.f64 d14, d1, d11 │ │ │ │ │ - vstr d2, [r6] │ │ │ │ │ - vstr d3, [r8] │ │ │ │ │ - vstr d5, [ip] │ │ │ │ │ + vstr d2, [r5] │ │ │ │ │ + sub.w sl, sl, ip │ │ │ │ │ + add r5, ip │ │ │ │ │ + vstr d3, [fp] │ │ │ │ │ + vstr d5, [r7] │ │ │ │ │ vmul.f64 d5, d10, d15 │ │ │ │ │ - vmla.f64 d5, d0, d12 │ │ │ │ │ vmul.f64 d10, d10, d12 │ │ │ │ │ vsub.f64 d6, d14, d7 │ │ │ │ │ vadd.f64 d14, d14, d7 │ │ │ │ │ + vmla.f64 d5, d0, d12 │ │ │ │ │ vnmls.f64 d10, d0, d15 │ │ │ │ │ vsub.f64 d7, d5, d6 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + vstr d7, [r9] │ │ │ │ │ vadd.f64 d7, d10, d14 │ │ │ │ │ vsub.f64 d10, d10, d14 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - add r3, r9 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - ldr r3, [sp, #0] │ │ │ │ │ - vstr d10, [r7] │ │ │ │ │ - add r0, r3 │ │ │ │ │ - ldr r3, [sp, #4] │ │ │ │ │ - add r1, r3 │ │ │ │ │ - ldr r3, [sp, #116] @ 0x74 │ │ │ │ │ - cmp r3, r5 │ │ │ │ │ - bne.w 1fc │ │ │ │ │ - add sp, #12 │ │ │ │ │ - vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + vstr d7, [r8] │ │ │ │ │ + vstr d5, [lr] │ │ │ │ │ + vstr d10, [r2] │ │ │ │ │ + ldr r2, [sp, #120] @ 0x78 │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ + str r2, [sp, #120] @ 0x78 │ │ │ │ │ + ldr r2, [sp, #4] │ │ │ │ │ + ldr r4, [sp, #120] @ 0x78 │ │ │ │ │ + add r1, r2 │ │ │ │ │ + ldr r2, [sp, #124] @ 0x7c │ │ │ │ │ + cmp r2, r4 │ │ │ │ │ + bne.w 240 │ │ │ │ │ + b.n 1f8 │ │ │ │ │ nop │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ │ │ │ │ │ -000003b8 : │ │ │ │ │ +000003f8 : │ │ │ │ │ fftw_codelet_hf2_5(): │ │ │ │ │ - ldr r2, [pc, #8] @ (3c4 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (3c8 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (404 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (408 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2hc_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── hf2_8.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1556 (bytes into file) │ │ │ │ │ + Start of section headers: 1620 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x614: │ │ │ │ │ +There are 14 section headers, starting at offset 0x654: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00035c 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00056c 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000390 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000390 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000390 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000396 000010 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0003a6 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000584 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 0003d6 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0003d6 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 00040c 000110 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 00051c 00004f 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 00059c 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00039c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0005ac 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0003d0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0003d0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0003d0 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 0003d6 000010 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0003e6 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 0005c4 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000416 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000416 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 00044c 000110 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 00055c 00004f 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 0005dc 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,20 +1,20 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 17 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 840 FUNC LOCAL DEFAULT 1 hf2_8 │ │ │ │ │ + 1: 00000001 904 FUNC LOCAL DEFAULT 1 hf2_8 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000340 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000348 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000354 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000380 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000388 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000394 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 16 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 14: 00000349 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf2_8 │ │ │ │ │ + 14: 00000389 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf2_8 │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2hc_register │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x56c contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x5ac contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000354 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000358 00000103 R_ARM_REL32 00000001 hf2_8 │ │ │ │ │ -00000350 00000f1e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ +00000394 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000398 00000103 R_ARM_REL32 00000001 hf2_8 │ │ │ │ │ +00000390 00000f1e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x584 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x5c4 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001002 R_ARM_ABS32 00000000 fftw_rdft_hf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,78 +1,81 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hf2_8(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #100 @ 0x64 │ │ │ │ │ ldrd r9, r4, [sp, #200] @ 0xc8 │ │ │ │ │ cmp r9, r4 │ │ │ │ │ - bge.w 332 │ │ │ │ │ - movs r4, #24 │ │ │ │ │ - mov.w ip, #48 @ 0x30 │ │ │ │ │ - lsls r7, r3, #5 │ │ │ │ │ - lsls r6, r3, #3 │ │ │ │ │ - lsls r5, r3, #4 │ │ │ │ │ + bge.w 35e │ │ │ │ │ + add.w r4, r3, r3, lsl #1 │ │ │ │ │ + str r1, [sp, #56] @ 0x38 │ │ │ │ │ + mov.w r6, r3, lsl #3 │ │ │ │ │ + mov.w r5, r4, lsl #3 │ │ │ │ │ + mov.w r4, r4, lsl #4 │ │ │ │ │ rsb sl, r6, #0 │ │ │ │ │ - mul.w r4, r4, r3 │ │ │ │ │ - str r5, [sp, #64] @ 0x40 │ │ │ │ │ - str r4, [sp, #60] @ 0x3c │ │ │ │ │ - mul.w r4, ip, r3 │ │ │ │ │ - str r4, [sp, #68] @ 0x44 │ │ │ │ │ + mov.w r7, r3, lsl #5 │ │ │ │ │ + str r6, [sp, #64] @ 0x40 │ │ │ │ │ + strd r5, r4, [sp, #76] @ 0x4c │ │ │ │ │ + mov.w r5, r3, lsl #4 │ │ │ │ │ ldr r4, [sp, #208] @ 0xd0 │ │ │ │ │ - str r6, [sp, #72] @ 0x48 │ │ │ │ │ - str r1, [sp, #56] @ 0x38 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ - str r4, [sp, #76] @ 0x4c │ │ │ │ │ - negs r4, r4 │ │ │ │ │ - str r4, [sp, #80] @ 0x50 │ │ │ │ │ - mla r4, ip, r9, r2 │ │ │ │ │ - negs r2, r7 │ │ │ │ │ - str r2, [sp, #88] @ 0x58 │ │ │ │ │ - mvn.w r2, #39 @ 0x27 │ │ │ │ │ - mul.w r3, r3, r2 │ │ │ │ │ + add.w r3, r3, r3, lsl #2 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + str r5, [sp, #60] @ 0x3c │ │ │ │ │ + rsb r3, r3, #0 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + str r4, [sp, #68] @ 0x44 │ │ │ │ │ + rsb r4, r4, #0 │ │ │ │ │ str r3, [sp, #84] @ 0x54 │ │ │ │ │ - negs r3, r5 │ │ │ │ │ + rsb r3, r5, #0 │ │ │ │ │ + str r4, [sp, #72] @ 0x48 │ │ │ │ │ + add.w r4, r9, r9, lsl #1 │ │ │ │ │ str r3, [sp, #92] @ 0x5c │ │ │ │ │ + add.w r4, r2, r4, lsl #4 │ │ │ │ │ + rsb r2, r7, #0 │ │ │ │ │ + str r2, [sp, #88] @ 0x58 │ │ │ │ │ vldr d14, [r4, #-48] @ 0xffffffd0 │ │ │ │ │ - adds r3, r0, r7 │ │ │ │ │ - vldr d12, [r4, #-40] @ 0xffffffd8 │ │ │ │ │ + add.w r3, r0, r7 │ │ │ │ │ add.w r9, r9, #1 │ │ │ │ │ - vldr d1, [r4, #-32] @ 0xffffffe0 │ │ │ │ │ - adds r4, #48 @ 0x30 │ │ │ │ │ + add.w r4, r4, #48 @ 0x30 │ │ │ │ │ + vldr d12, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ + vldr d1, [r4, #-80] @ 0xffffffb0 │ │ │ │ │ vldr d5, [r4, #-72] @ 0xffffffb8 │ │ │ │ │ ldr r2, [sp, #56] @ 0x38 │ │ │ │ │ vmul.f64 d6, d12, d1 │ │ │ │ │ vmul.f64 d4, d14, d1 │ │ │ │ │ - vmul.f64 d7, d14, d5 │ │ │ │ │ + vldr d11, [r3] │ │ │ │ │ vmul.f64 d2, d12, d5 │ │ │ │ │ + vmul.f64 d7, d14, d5 │ │ │ │ │ + ldrd r1, r6, [sp, #84] @ 0x54 │ │ │ │ │ add.w r8, r2, r7 │ │ │ │ │ - vldr d11, [r3] │ │ │ │ │ vldr d13, [r2] │ │ │ │ │ - ldr r2, [sp, #60] @ 0x3c │ │ │ │ │ - vadd.f64 d3, d6, d7 │ │ │ │ │ - vsub.f64 d7, d7, d6 │ │ │ │ │ + ldr r2, [sp, #76] @ 0x4c │ │ │ │ │ vsub.f64 d9, d4, d2 │ │ │ │ │ + vadd.f64 d3, d6, d7 │ │ │ │ │ vadd.f64 d4, d4, d2 │ │ │ │ │ vldr d2, [r4, #-64] @ 0xffffffc0 │ │ │ │ │ - adds r5, r3, r2 │ │ │ │ │ + vsub.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [r4, #-56] @ 0xffffffc8 │ │ │ │ │ + add.w r5, r3, r2 │ │ │ │ │ add r2, r8 │ │ │ │ │ - ldr r6, [sp, #88] @ 0x58 │ │ │ │ │ vmul.f64 d0, d7, d2 │ │ │ │ │ vmul.f64 d15, d12, d2 │ │ │ │ │ vmul.f64 d10, d12, d6 │ │ │ │ │ - ldr r1, [sp, #84] @ 0x54 │ │ │ │ │ - vmla.f64 d10, d14, d2 │ │ │ │ │ vnmls.f64 d0, d4, d6 │ │ │ │ │ vnmls.f64 d15, d14, d6 │ │ │ │ │ + vmla.f64 d10, d14, d2 │ │ │ │ │ vstr d0, [sp, #24] │ │ │ │ │ vmul.f64 d0, d7, d6 │ │ │ │ │ vmov.f64 d8, d0 │ │ │ │ │ vmla.f64 d8, d4, d2 │ │ │ │ │ vstr d8, [sp, #32] │ │ │ │ │ vldr d8, [r0] │ │ │ │ │ vstr d8, [sp] │ │ │ │ │ @@ -82,142 +85,142 @@ │ │ │ │ │ vmla.f64 d0, d9, d11 │ │ │ │ │ vnmls.f64 d3, d9, d8 │ │ │ │ │ vldr d8, [sp] │ │ │ │ │ vadd.f64 d9, d8, d0 │ │ │ │ │ vsub.f64 d11, d8, d0 │ │ │ │ │ vldr d8, [r5] │ │ │ │ │ add r5, r6 │ │ │ │ │ - adds r6, r2, r6 │ │ │ │ │ + add r6, r2 │ │ │ │ │ add.w lr, r5, sl │ │ │ │ │ + vstr d11, [sp, #8] │ │ │ │ │ vstr d9, [sp, #40] @ 0x28 │ │ │ │ │ vsub.f64 d9, d13, d3 │ │ │ │ │ vadd.f64 d13, d13, d3 │ │ │ │ │ vldr d3, [r2] │ │ │ │ │ - vstr d11, [sp, #8] │ │ │ │ │ + vstr d9, [sp] │ │ │ │ │ vmul.f64 d0, d6, d3 │ │ │ │ │ vmul.f64 d6, d6, d8 │ │ │ │ │ vmla.f64 d0, d2, d8 │ │ │ │ │ vldr d8, [r5] │ │ │ │ │ - vstr d9, [sp] │ │ │ │ │ vnmls.f64 d6, d2, d3 │ │ │ │ │ vldr d2, [r6] │ │ │ │ │ add r6, sl │ │ │ │ │ vmul.f64 d3, d5, d2 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ vmla.f64 d3, d1, d8 │ │ │ │ │ vnmls.f64 d5, d1, d2 │ │ │ │ │ - vadd.f64 d9, d0, d3 │ │ │ │ │ vsub.f64 d11, d0, d3 │ │ │ │ │ - vldr d3, [lr] │ │ │ │ │ - add lr, r7 │ │ │ │ │ - add.w fp, lr, r1 │ │ │ │ │ vadd.f64 d1, d6, d5 │ │ │ │ │ + vadd.f64 d9, d0, d3 │ │ │ │ │ + vldr d3, [lr] │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ + add lr, r7 │ │ │ │ │ vldr d5, [r6] │ │ │ │ │ add r6, r7 │ │ │ │ │ + add.w fp, lr, r1 │ │ │ │ │ add.w ip, r6, r1 │ │ │ │ │ vldr d2, [fp] │ │ │ │ │ add fp, r7 │ │ │ │ │ vstr d6, [sp, #16] │ │ │ │ │ + vstr d1, [sp, #48] @ 0x30 │ │ │ │ │ vmul.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vmla.f64 d6, d4, d3 │ │ │ │ │ - vldr d3, [lr] │ │ │ │ │ - vstr d1, [sp, #48] @ 0x30 │ │ │ │ │ vnmls.f64 d7, d4, d5 │ │ │ │ │ vldr d4, [r6] │ │ │ │ │ + vldr d3, [lr] │ │ │ │ │ vmul.f64 d5, d15, d4 │ │ │ │ │ vmul.f64 d15, d15, d3 │ │ │ │ │ vmla.f64 d5, d10, d3 │ │ │ │ │ vnmls.f64 d15, d10, d4 │ │ │ │ │ vldr d4, [ip] │ │ │ │ │ add ip, r7 │ │ │ │ │ vldr d0, [sp, #24] │ │ │ │ │ vldr d8, [sp, #32] │ │ │ │ │ ldr r1, [sp, #92] @ 0x5c │ │ │ │ │ vadd.f64 d10, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vmul.f64 d5, d12, d4 │ │ │ │ │ vmul.f64 d12, d12, d2 │ │ │ │ │ - vmla.f64 d5, d14, d2 │ │ │ │ │ - vldr d2, [ip] │ │ │ │ │ vsub.f64 d3, d7, d15 │ │ │ │ │ vadd.f64 d7, d7, d15 │ │ │ │ │ vldr d15, [sp, #40] @ 0x28 │ │ │ │ │ + vmla.f64 d5, d14, d2 │ │ │ │ │ + vldr d2, [ip] │ │ │ │ │ vnmls.f64 d12, d14, d4 │ │ │ │ │ vldr d4, [fp] │ │ │ │ │ - vmul.f64 d1, d0, d2 │ │ │ │ │ add.w fp, ip, r1 │ │ │ │ │ vldr d14, [sp, #16] │ │ │ │ │ + vmul.f64 d1, d0, d2 │ │ │ │ │ vmla.f64 d1, d8, d4 │ │ │ │ │ vmul.f64 d4, d0, d4 │ │ │ │ │ vnmls.f64 d4, d8, d2 │ │ │ │ │ vadd.f64 d2, d5, d1 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ vadd.f64 d0, d12, d4 │ │ │ │ │ - vadd.f64 d1, d9, d2 │ │ │ │ │ vsub.f64 d12, d12, d4 │ │ │ │ │ + vadd.f64 d1, d9, d2 │ │ │ │ │ vadd.f64 d4, d15, d10 │ │ │ │ │ vsub.f64 d9, d9, d2 │ │ │ │ │ vsub.f64 d8, d4, d1 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ vstr d8, [fp] │ │ │ │ │ vstr d4, [r0] │ │ │ │ │ vsub.f64 d4, d13, d7 │ │ │ │ │ vadd.f64 d7, d13, d7 │ │ │ │ │ vsub.f64 d2, d9, d4 │ │ │ │ │ vadd.f64 d9, d9, d4 │ │ │ │ │ vldr d4, [sp, #8] │ │ │ │ │ vstr d2, [lr] │ │ │ │ │ vsub.f64 d2, d4, d3 │ │ │ │ │ - vstr d9, [ip] │ │ │ │ │ vadd.f64 d4, d11, d14 │ │ │ │ │ + vstr d9, [ip] │ │ │ │ │ vldr d9, [sp] │ │ │ │ │ - vldr d14, [pc, #236] @ 340 │ │ │ │ │ + vldr d14, [pc, #256] @ 380 │ │ │ │ │ vsub.f64 d8, d9, d6 │ │ │ │ │ vsub.f64 d9, d5, d12 │ │ │ │ │ vadd.f64 d5, d5, d12 │ │ │ │ │ vadd.f64 d1, d9, d4 │ │ │ │ │ vsub.f64 d4, d4, d9 │ │ │ │ │ vmul.f64 d1, d1, d14 │ │ │ │ │ vmul.f64 d4, d4, d14 │ │ │ │ │ vsub.f64 d9, d2, d1 │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ vldr d1, [sp, #48] @ 0x30 │ │ │ │ │ vstr d9, [r5] │ │ │ │ │ vadd.f64 d9, d8, d4 │ │ │ │ │ vsub.f64 d4, d4, d8 │ │ │ │ │ vstr d9, [r6] │ │ │ │ │ - ldr r6, [sp, #56] @ 0x38 │ │ │ │ │ vldr d9, [sp] │ │ │ │ │ - vstr d2, [r6] │ │ │ │ │ + ldr r6, [sp, #56] @ 0x38 │ │ │ │ │ vadd.f64 d6, d9, d6 │ │ │ │ │ - ldr r6, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d2, [r6] │ │ │ │ │ + ldr r6, [sp, #60] @ 0x3c │ │ │ │ │ add r5, r6 │ │ │ │ │ vstr d4, [r5] │ │ │ │ │ vadd.f64 d4, d1, d0 │ │ │ │ │ vsub.f64 d0, d1, d0 │ │ │ │ │ - ldr r5, [sp, #72] @ 0x48 │ │ │ │ │ + ldr r5, [sp, #64] @ 0x40 │ │ │ │ │ vsub.f64 d2, d4, d7 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ vsub.f64 d7, d15, d10 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ add r3, r1 │ │ │ │ │ - ldr r1, [sp, #68] @ 0x44 │ │ │ │ │ + ldr r1, [sp, #80] @ 0x50 │ │ │ │ │ vsub.f64 d2, d7, d0 │ │ │ │ │ vadd.f64 d7, d7, d0 │ │ │ │ │ vstr d4, [r2] │ │ │ │ │ - subs r2, r2, r1 │ │ │ │ │ vldr d4, [sp, #8] │ │ │ │ │ + sub.w r2, r2, r1 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ add r3, sl │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ - vadd.f64 d3, d4, d3 │ │ │ │ │ - vldr d7, [sp, #16] │ │ │ │ │ add r2, r5 │ │ │ │ │ + vldr d7, [sp, #16] │ │ │ │ │ + vadd.f64 d3, d4, d3 │ │ │ │ │ vsub.f64 d11, d11, d7 │ │ │ │ │ vadd.f64 d7, d5, d11 │ │ │ │ │ vsub.f64 d11, d11, d5 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ vmul.f64 d11, d11, d14 │ │ │ │ │ vsub.f64 d5, d3, d7 │ │ │ │ │ vadd.f64 d3, d3, d7 │ │ │ │ │ @@ -225,33 +228,39 @@ │ │ │ │ │ vadd.f64 d5, d6, d11 │ │ │ │ │ vsub.f64 d11, d11, d6 │ │ │ │ │ vstr d5, [r8] │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ add r3, r1 │ │ │ │ │ ldr r2, [sp, #56] @ 0x38 │ │ │ │ │ vstr d11, [r3] │ │ │ │ │ - ldr r3, [sp, #76] @ 0x4c │ │ │ │ │ + ldr r3, [sp, #68] @ 0x44 │ │ │ │ │ add r0, r3 │ │ │ │ │ - ldr r3, [sp, #80] @ 0x50 │ │ │ │ │ + ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ add r2, r3 │ │ │ │ │ ldr r3, [sp, #204] @ 0xcc │ │ │ │ │ str r2, [sp, #56] @ 0x38 │ │ │ │ │ cmp r3, r9 │ │ │ │ │ - bne.w 56 │ │ │ │ │ + bne.w 7a │ │ │ │ │ add sp, #100 @ 0x64 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ nop.w │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ │ │ │ │ │ -00000348 : │ │ │ │ │ +00000388 : │ │ │ │ │ fftw_codelet_hf2_8(): │ │ │ │ │ - ldr r2, [pc, #8] @ (354 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (358 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (394 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (398 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2hc_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── hf_10.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2040 (bytes into file) │ │ │ │ │ + Start of section headers: 2092 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x7f8: │ │ │ │ │ +There are 14 section headers, starting at offset 0x82c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0004e0 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000740 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000514 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000514 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000514 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 00051a 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 000522 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000768 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000552 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000552 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000588 000130 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 0006b8 000087 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000780 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000514 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000774 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000548 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000548 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000548 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 00054e 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000556 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 00079c 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000586 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000586 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 0005bc 000130 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0006ec 000087 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 0007b4 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 19 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1226 FUNC LOCAL DEFAULT 1 hf_10 │ │ │ │ │ + 1: 00000001 1280 FUNC LOCAL DEFAULT 1 hf_10 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000003f0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000410 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000004d8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000400 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000420 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 0000050c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 16: 000004cd 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_10 │ │ │ │ │ + 16: 00000501 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_10 │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2hc_register │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x740 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x774 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000408 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000040c 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000004d8 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000004dc 00000103 R_ARM_REL32 00000001 hf_10 │ │ │ │ │ -000004d4 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ +00000418 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000041c 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +0000050c 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000510 00000103 R_ARM_REL32 00000001 hf_10 │ │ │ │ │ +00000508 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x768 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x79c contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001202 R_ARM_ABS32 00000000 fftw_rdft_hf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,359 +1,364 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hf_10(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r6, r0 │ │ │ │ │ - mov r7, r1 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r5, r0 │ │ │ │ │ + mov r6, r1 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r7, r3 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #196 @ 0xc4 │ │ │ │ │ - mov r8, r3 │ │ │ │ │ - ldr r3, [pc, #1012] @ (408 ) │ │ │ │ │ ldrd r1, r0, [sp, #296] @ 0x128 │ │ │ │ │ - add r3, pc │ │ │ │ │ + ldr r3, [pc, #1008] @ (418 ) │ │ │ │ │ cmp r1, r0 │ │ │ │ │ - bge.w 4c0 │ │ │ │ │ + add r3, pc │ │ │ │ │ + bge.w 4e4 │ │ │ │ │ ldr r1, [sp, #304] @ 0x130 │ │ │ │ │ - vldr d14, [pc, #972] @ 3f0 │ │ │ │ │ - vldr d11, [pc, #976] @ 3f8 │ │ │ │ │ - lsls r1, r1, #3 │ │ │ │ │ + vldr d14, [pc, #972] @ 400 │ │ │ │ │ + vldr d11, [pc, #976] @ 408 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ str r1, [sp, #180] @ 0xb4 │ │ │ │ │ - negs r1, r1 │ │ │ │ │ + rsb r1, r1, #0 │ │ │ │ │ str r1, [sp, #184] @ 0xb8 │ │ │ │ │ - ldr r1, [pc, #984] @ (40c ) │ │ │ │ │ + ldr r1, [pc, #980] @ (41c ) │ │ │ │ │ ldr r3, [r3, r1] │ │ │ │ │ - ldr r1, [sp, #296] @ 0x128 │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ str r3, [sp, #188] @ 0xbc │ │ │ │ │ - movs r3, #144 @ 0x90 │ │ │ │ │ - mla r5, r3, r1, r2 │ │ │ │ │ - movs r3, #40 @ 0x28 │ │ │ │ │ - vldr d1, [r5, #-72] @ 0xffffffb8 │ │ │ │ │ - vldr d3, [r5, #-80] @ 0xffffffb0 │ │ │ │ │ - mov.w r4, r8, lsl #5 │ │ │ │ │ - vldr d4, [r6] │ │ │ │ │ - adds r0, r6, r4 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - add r4, r7 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ - mov.w ip, #72 @ 0x48 │ │ │ │ │ - adds r2, r6, r3 │ │ │ │ │ - adds r3, r7, r3 │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ - vldr d10, [r5, #-136] @ 0xffffff78 │ │ │ │ │ + ldr r3, [sp, #296] @ 0x128 │ │ │ │ │ + add.w r3, r3, r3, lsl #3 │ │ │ │ │ + add.w r4, r2, r3, lsl #4 │ │ │ │ │ + add.w r3, r7, r7, lsl #2 │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ + mov.w ip, r7, lsl #5 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + vldr d1, [r4, #-72] @ 0xffffffb8 │ │ │ │ │ + add.w r1, r5, ip │ │ │ │ │ + add ip, r6 │ │ │ │ │ + add.w r2, r5, r3 │ │ │ │ │ + add r3, r6 │ │ │ │ │ + vldr d3, [r4, #-80] @ 0xffffffb0 │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ - mov.w r3, r8, lsl #3 │ │ │ │ │ + strd r2, r3, [sp, #4] │ │ │ │ │ + mov.w r3, r7, lsl #3 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - adds r1, r7, r3 │ │ │ │ │ - add.w sl, r6, r3 │ │ │ │ │ - mul.w r3, ip, r8 │ │ │ │ │ + add.w r0, r6, r3 │ │ │ │ │ + add.w sl, r5, r3 │ │ │ │ │ + str r1, [sp, #12] │ │ │ │ │ + vldr d5, [r6] │ │ │ │ │ + add.w r2, r3, r7 │ │ │ │ │ + sub.w r3, r3, r7 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ - str r2, [sp, #4] │ │ │ │ │ + vldr d10, [r4, #-136] @ 0xffffff78 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + add.w r8, r5, r3 │ │ │ │ │ + add r3, r6 │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - adds r2, r6, r3 │ │ │ │ │ - adds r3, r7, r3 │ │ │ │ │ - mov.w ip, #48 @ 0x30 │ │ │ │ │ - str r3, [sp, #24] │ │ │ │ │ - str r0, [sp, #12] │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ - str r1, [sp, #16] │ │ │ │ │ - str r2, [sp, #20] │ │ │ │ │ vsub.f64 d1, d4, d6 │ │ │ │ │ vadd.f64 d6, d4, d6 │ │ │ │ │ - vldr d4, [r5, #-88] @ 0xffffffa8 │ │ │ │ │ + vldr d4, [r4, #-88] @ 0xffffffa8 │ │ │ │ │ vadd.f64 d2, d5, d7 │ │ │ │ │ vsub.f64 d0, d5, d7 │ │ │ │ │ - vstr d6, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - vldr d7, [r5, #-96] @ 0xffffffa0 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ + vldr d7, [r4, #-96] @ 0xffffffa0 │ │ │ │ │ vstr d1, [sp, #96] @ 0x60 │ │ │ │ │ - vmul.f64 d1, d6, d4 │ │ │ │ │ + vstr d6, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + add.w r1, r5, r2 │ │ │ │ │ + add r2, r6 │ │ │ │ │ vstr d0, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d0, [r4, #-8] │ │ │ │ │ + vmul.f64 d1, d6, d4 │ │ │ │ │ + vstr d2, [sp, #104] @ 0x68 │ │ │ │ │ + strd r0, r1, [sp, #16] │ │ │ │ │ + str r2, [sp, #24] │ │ │ │ │ vmla.f64 d1, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d4 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - vldr d0, [r5, #-8] │ │ │ │ │ - vstr d2, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ vldr d7, [sl] │ │ │ │ │ vmul.f64 d3, d4, d10 │ │ │ │ │ - vldr d6, [r5, #-144] @ 0xffffff70 │ │ │ │ │ + vldr d6, [r4, #-144] @ 0xffffff70 │ │ │ │ │ vmul.f64 d10, d7, d10 │ │ │ │ │ vmla.f64 d3, d7, d6 │ │ │ │ │ - vldr d7, [r5, #-16] │ │ │ │ │ + vldr d7, [r4, #-16] │ │ │ │ │ vnmls.f64 d10, d4, d6 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - mul.w r3, ip, r8 │ │ │ │ │ - mov.w ip, #24 │ │ │ │ │ - mov.w r2, r8, lsl #6 │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + add.w r2, r7, r7, lsl #1 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + mov.w r1, r2, lsl #4 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + add.w r0, r5, r1 │ │ │ │ │ + add r1, r6 │ │ │ │ │ + add.w fp, r5, r2 │ │ │ │ │ + add r2, r6 │ │ │ │ │ vmul.f64 d2, d4, d0 │ │ │ │ │ - adds r1, r6, r3 │ │ │ │ │ + str r0, [sp, #28] │ │ │ │ │ + str r1, [sp, #176] @ 0xb0 │ │ │ │ │ vmla.f64 d2, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ - adds r0, r7, r3 │ │ │ │ │ - str r1, [sp, #28] │ │ │ │ │ - str r0, [sp, #176] @ 0xb0 │ │ │ │ │ + vldr d0, [r1] │ │ │ │ │ + mov.w r1, r7, lsl #6 │ │ │ │ │ + add.w lr, r5, r1 │ │ │ │ │ + add r1, r6 │ │ │ │ │ vnmls.f64 d6, d4, d7 │ │ │ │ │ - vldr d0, [r0] │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - mov.w r0, r8, lsl #4 │ │ │ │ │ - vldr d9, [r5, #-64] @ 0xffffffc0 │ │ │ │ │ - add.w r9, r6, r0 │ │ │ │ │ - vldr d8, [r5, #-56] @ 0xffffffc8 │ │ │ │ │ - add r0, r7 │ │ │ │ │ - mul.w r1, ip, r8 │ │ │ │ │ - mov.w ip, #56 @ 0x38 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + mov.w r0, r7, lsl #4 │ │ │ │ │ + vldr d9, [r4, #-64] @ 0xffffffc0 │ │ │ │ │ + add.w r9, r5, r0 │ │ │ │ │ + add r0, r6 │ │ │ │ │ + vldr d8, [r4, #-56] @ 0xffffffc8 │ │ │ │ │ vmul.f64 d4, d0, d8 │ │ │ │ │ - add.w fp, r6, r1 │ │ │ │ │ + vadd.f64 d12, d5, d6 │ │ │ │ │ + vsub.f64 d5, d5, d6 │ │ │ │ │ + vldr d6, [r4, #-128] @ 0xffffff80 │ │ │ │ │ vmla.f64 d4, d7, d9 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ vsub.f64 d8, d1, d2 │ │ │ │ │ - vadd.f64 d12, d5, d6 │ │ │ │ │ - vsub.f64 d5, d5, d6 │ │ │ │ │ - vldr d6, [r5, #-128] @ 0xffffff80 │ │ │ │ │ - add r1, r7 │ │ │ │ │ - mul.w r3, ip, r8 │ │ │ │ │ vnmls.f64 d7, d0, d9 │ │ │ │ │ - add.w ip, r6, r2 │ │ │ │ │ vstr d8, [sp, #32] │ │ │ │ │ - add.w lr, r6, r3 │ │ │ │ │ vstr d5, [sp, #80] @ 0x50 │ │ │ │ │ - add r3, r7 │ │ │ │ │ - add r2, r7 │ │ │ │ │ vstr d12, [sp, #48] @ 0x30 │ │ │ │ │ vsub.f64 d9, d4, d3 │ │ │ │ │ vadd.f64 d4, d3, d4 │ │ │ │ │ - vldr d3, [r5, #-40] @ 0xffffffd8 │ │ │ │ │ + vldr d3, [r4, #-40] @ 0xffffffd8 │ │ │ │ │ + vadd.f64 d13, d10, d7 │ │ │ │ │ vadd.f64 d0, d8, d9 │ │ │ │ │ vstr d9, [sp, #40] @ 0x28 │ │ │ │ │ vadd.f64 d9, d1, d2 │ │ │ │ │ vsub.f64 d8, d10, d7 │ │ │ │ │ - vstr d4, [sp, #72] @ 0x48 │ │ │ │ │ - vadd.f64 d13, d10, d7 │ │ │ │ │ vldr d7, [r9] │ │ │ │ │ - vstr d0, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d1, [r4, #-24] @ 0xffffffe8 │ │ │ │ │ + vstr d13, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d4, [sp, #72] @ 0x48 │ │ │ │ │ vadd.f64 d4, d9, d4 │ │ │ │ │ vsub.f64 d10, d8, d5 │ │ │ │ │ vldr d5, [r0] │ │ │ │ │ - vadd.f64 d0, d12, d13 │ │ │ │ │ - vstr d13, [sp, #56] @ 0x38 │ │ │ │ │ vstr d9, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d0, [sp, #128] @ 0x80 │ │ │ │ │ + vadd.f64 d0, d12, d13 │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ vstr d4, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d4, [r5, #-120] @ 0xffffff88 │ │ │ │ │ + vldr d4, [r4, #-120] @ 0xffffff88 │ │ │ │ │ vstr d0, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d2, [r2] │ │ │ │ │ + vstr d10, [sp, #152] @ 0x98 │ │ │ │ │ vmul.f64 d13, d5, d4 │ │ │ │ │ - vldr d1, [r5, #-24] @ 0xffffffe8 │ │ │ │ │ vmla.f64 d13, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [r5, #-104] @ 0xffffff98 │ │ │ │ │ - vstr d10, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d4, [r4, #-104] @ 0xffffff98 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - vldr d6, [r5, #-112] @ 0xffffff90 │ │ │ │ │ - adds r5, #144 @ 0x90 │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + vldr d6, [r4, #-112] @ 0xffffff90 │ │ │ │ │ + add.w r4, r4, #144 @ 0x90 │ │ │ │ │ vmul.f64 d9, d5, d4 │ │ │ │ │ vmov.f64 d0, d7 │ │ │ │ │ vldr d7, [fp] │ │ │ │ │ vmla.f64 d9, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - vldr d6, [r5, #-192] @ 0xffffff40 │ │ │ │ │ + vldr d6, [r4, #-192] @ 0xffffff40 │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ vmov.f64 d15, d7 │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ + vldr d7, [r8] │ │ │ │ │ vmla.f64 d4, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ - vldr d3, [r5, #-176] @ 0xffffff50 │ │ │ │ │ + vldr d3, [r4, #-176] @ 0xffffff50 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d5, [ip] │ │ │ │ │ + vldr d5, [lr] │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ + vsub.f64 d12, d13, d4 │ │ │ │ │ + vadd.f64 d13, d13, d4 │ │ │ │ │ vmla.f64 d6, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - vsub.f64 d12, d13, d4 │ │ │ │ │ vmov.f64 d1, d15 │ │ │ │ │ - vadd.f64 d13, d13, d4 │ │ │ │ │ - vnmls.f64 d5, d2, d3 │ │ │ │ │ vadd.f64 d10, d0, d7 │ │ │ │ │ vsub.f64 d7, d0, d7 │ │ │ │ │ - vldr d0, [pc, #392] @ 400 │ │ │ │ │ + vldr d0, [pc, #380] @ 410 │ │ │ │ │ + vnmls.f64 d5, d2, d3 │ │ │ │ │ vsub.f64 d3, d6, d9 │ │ │ │ │ vadd.f64 d6, d9, d6 │ │ │ │ │ vmov.f64 d9, #80 @ 0x3e800000 0.250 │ │ │ │ │ vadd.f64 d2, d12, d3 │ │ │ │ │ + vstr d6, [sp, #88] @ 0x58 │ │ │ │ │ + vadd.f64 d4, d13, d6 │ │ │ │ │ vstr d3, [sp, #160] @ 0xa0 │ │ │ │ │ vadd.f64 d3, d15, d5 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ - vstr d6, [sp, #88] @ 0x58 │ │ │ │ │ - vadd.f64 d4, d13, d6 │ │ │ │ │ vadd.f64 d15, d10, d3 │ │ │ │ │ vsub.f64 d3, d10, d3 │ │ │ │ │ vstr d15, [sp, #168] @ 0xa8 │ │ │ │ │ vadd.f64 d15, d7, d5 │ │ │ │ │ - vldr d1, [sp, #128] @ 0x80 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ + vldr d1, [sp, #128] @ 0x80 │ │ │ │ │ vldr d5, [sp, #80] @ 0x50 │ │ │ │ │ vsub.f64 d6, d2, d1 │ │ │ │ │ vadd.f64 d2, d1, d2 │ │ │ │ │ - vadd.f64 d8, d5, d8 │ │ │ │ │ vldr d1, [sp, #96] @ 0x60 │ │ │ │ │ + vadd.f64 d8, d5, d8 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ vmov.f64 d0, d1 │ │ │ │ │ vmul.f64 d5, d8, d11 │ │ │ │ │ vmls.f64 d0, d2, d9 │ │ │ │ │ - vmla.f64 d5, d7, d14 │ │ │ │ │ - vmul.f64 d7, d7, d11 │ │ │ │ │ vadd.f64 d2, d1, d2 │ │ │ │ │ vldr d1, [sp, #112] @ 0x70 │ │ │ │ │ + vmla.f64 d5, d7, d14 │ │ │ │ │ + vmul.f64 d7, d7, d11 │ │ │ │ │ + vstr d2, [ip] │ │ │ │ │ vnmls.f64 d7, d8, d14 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ vsub.f64 d2, d0, d6 │ │ │ │ │ vadd.f64 d6, d6, d0 │ │ │ │ │ - vldr d0, [pc, #260] @ 400 │ │ │ │ │ + vldr d0, [pc, #244] @ 410 │ │ │ │ │ vsub.f64 d8, d2, d7 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ vldr d2, [sp, #56] @ 0x38 │ │ │ │ │ vstr d8, [r0] │ │ │ │ │ vstr d7, [fp] │ │ │ │ │ vsub.f64 d7, d6, d5 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ - vldr d6, [sp, #144] @ 0x90 │ │ │ │ │ ldr r0, [sp, #12] │ │ │ │ │ + vldr d6, [sp, #144] @ 0x90 │ │ │ │ │ vldr d8, [sp, #32] │ │ │ │ │ - vstr d7, [r7] │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ + vldr d7, [sp, #48] @ 0x30 │ │ │ │ │ vstr d5, [sl] │ │ │ │ │ vsub.f64 d5, d4, d6 │ │ │ │ │ - vldr d7, [sp, #48] @ 0x30 │ │ │ │ │ vadd.f64 d4, d6, d4 │ │ │ │ │ vmov.f64 d6, d1 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ vmul.f64 d2, d3, d11 │ │ │ │ │ vmls.f64 d6, d4, d9 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ vadd.f64 d4, d1, d4 │ │ │ │ │ vmov.f64 d1, d0 │ │ │ │ │ + vldr d0, [sp, #120] @ 0x78 │ │ │ │ │ vnmls.f64 d2, d7, d14 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ vmla.f64 d7, d3, d14 │ │ │ │ │ - vstr d4, [r6] │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ + vmov.f64 d5, d0 │ │ │ │ │ vsub.f64 d3, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ vldr d4, [sp, #160] @ 0xa0 │ │ │ │ │ vstr d3, [r0] │ │ │ │ │ vsub.f64 d4, d12, d4 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d6, d2 │ │ │ │ │ vadd.f64 d2, d2, d6 │ │ │ │ │ - vldr d6, [sp, #152] @ 0x98 │ │ │ │ │ - ldr r0, [sp, #16] │ │ │ │ │ vldr d3, [sp, #40] @ 0x28 │ │ │ │ │ + ldr r2, [sp, #4] │ │ │ │ │ + ldr r0, [sp, #16] │ │ │ │ │ vstr d7, [r9] │ │ │ │ │ - vadd.f64 d7, d6, d15 │ │ │ │ │ - vsub.f64 d6, d6, d15 │ │ │ │ │ - ldr r1, [sp, #4] │ │ │ │ │ + vldr d6, [sp, #152] @ 0x98 │ │ │ │ │ vstr d2, [r0] │ │ │ │ │ vsub.f64 d2, d3, d8 │ │ │ │ │ - ldr r0, [sp, #176] @ 0xb0 │ │ │ │ │ - vmul.f64 d7, d7, d0 │ │ │ │ │ - vldr d0, [sp, #120] @ 0x78 │ │ │ │ │ + vadd.f64 d7, d6, d15 │ │ │ │ │ + vsub.f64 d6, d6, d15 │ │ │ │ │ + vmov.f64 d15, d9 │ │ │ │ │ vmul.f64 d3, d2, d14 │ │ │ │ │ - vmov.f64 d5, d0 │ │ │ │ │ - vmla.f64 d3, d4, d11 │ │ │ │ │ vmla.f64 d5, d6, d9 │ │ │ │ │ - vmul.f64 d4, d4, d14 │ │ │ │ │ + vmul.f64 d7, d7, d1 │ │ │ │ │ vsub.f64 d6, d6, d0 │ │ │ │ │ + vmla.f64 d3, d4, d11 │ │ │ │ │ + vmul.f64 d4, d4, d14 │ │ │ │ │ vnmls.f64 d4, d2, d11 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ - ldr r1, [sp, #20] │ │ │ │ │ - vadd.f64 d6, d7, d5 │ │ │ │ │ - vsub.f64 d5, d5, d7 │ │ │ │ │ - vsub.f64 d2, d4, d6 │ │ │ │ │ - vadd.f64 d4, d4, d6 │ │ │ │ │ - b.n 410 │ │ │ │ │ - nop │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + ldr r2, [sp, #20] │ │ │ │ │ + b.n 420 │ │ │ │ │ nop.w │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ - .word 0x000003ee │ │ │ │ │ + .word 0x000003ec │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ + vadd.f64 d6, d7, d5 │ │ │ │ │ + vsub.f64 d5, d5, d7 │ │ │ │ │ + vsub.f64 d2, d4, d6 │ │ │ │ │ + vadd.f64 d4, d4, d6 │ │ │ │ │ vsub.f64 d7, d3, d5 │ │ │ │ │ vadd.f64 d3, d3, d5 │ │ │ │ │ - vstr d2, [r1] │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - vstr d7, [lr] │ │ │ │ │ - vstr d3, [r0] │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ + ldr r1, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d7, [r8] │ │ │ │ │ + vstr d3, [r1] │ │ │ │ │ vldr d5, [sp, #168] @ 0xa8 │ │ │ │ │ + ldrd r2, r0, [sp, #24] │ │ │ │ │ vldr d7, [sp, #136] @ 0x88 │ │ │ │ │ vldr d2, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d3, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d9, [sp, #64] @ 0x40 │ │ │ │ │ vsub.f64 d6, d5, d7 │ │ │ │ │ vadd.f64 d5, d7, d5 │ │ │ │ │ + vldr d3, [sp, #72] @ 0x48 │ │ │ │ │ vldr d7, [sp, #88] @ 0x58 │ │ │ │ │ vmov.f64 d4, d2 │ │ │ │ │ - ldr r2, [sp, #24] │ │ │ │ │ - ldr r1, [sp, #28] │ │ │ │ │ - vsub.f64 d13, d13, d7 │ │ │ │ │ - vmls.f64 d4, d5, d9 │ │ │ │ │ - vldr d9, [sp, #64] @ 0x40 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ - vadd.f64 d5, d2, d5 │ │ │ │ │ + vmls.f64 d4, d5, d15 │ │ │ │ │ vsub.f64 d1, d9, d3 │ │ │ │ │ - vmul.f64 d7, d13, d11 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - vnmls.f64 d7, d1, d14 │ │ │ │ │ + vadd.f64 d5, d2, d5 │ │ │ │ │ + vsub.f64 d13, d13, d7 │ │ │ │ │ vmul.f64 d3, d1, d11 │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ + vmul.f64 d7, d13, d11 │ │ │ │ │ vsub.f64 d5, d4, d6 │ │ │ │ │ vmla.f64 d3, d13, d14 │ │ │ │ │ + vnmls.f64 d7, d1, d14 │ │ │ │ │ vsub.f64 d2, d7, d5 │ │ │ │ │ vadd.f64 d5, d7, d5 │ │ │ │ │ vadd.f64 d7, d6, d4 │ │ │ │ │ - vstr d2, [ip] │ │ │ │ │ + vstr d2, [lr] │ │ │ │ │ vsub.f64 d6, d3, d7 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ vadd.f64 d7, d3, d7 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ ldr r3, [sp, #296] @ 0x128 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str r3, [sp, #296] @ 0x128 │ │ │ │ │ ldr r3, [sp, #180] @ 0xb4 │ │ │ │ │ - add r6, r3 │ │ │ │ │ + ldr r2, [sp, #296] @ 0x128 │ │ │ │ │ + add r5, r3 │ │ │ │ │ ldr r3, [sp, #184] @ 0xb8 │ │ │ │ │ - add r7, r3 │ │ │ │ │ + add r6, r3 │ │ │ │ │ ldr r3, [sp, #188] @ 0xbc │ │ │ │ │ - eor.w r8, r8, r3 │ │ │ │ │ - ldrd r2, r3, [sp, #296] @ 0x128 │ │ │ │ │ + eor.w r7, r7, r3 │ │ │ │ │ + ldr r3, [sp, #300] @ 0x12c │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 40 │ │ │ │ │ + bne.w 56 │ │ │ │ │ add sp, #196 @ 0xc4 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -000004cc : │ │ │ │ │ +00000500 : │ │ │ │ │ fftw_codelet_hf_10(): │ │ │ │ │ - ldr r2, [pc, #8] @ (4d8 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (4dc ) │ │ │ │ │ + ldr r2, [pc, #8] @ (50c ) │ │ │ │ │ + ldr r1, [pc, #12] @ (510 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2hc_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── hf_12.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2232 (bytes into file) │ │ │ │ │ + Start of section headers: 2288 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x8b8: │ │ │ │ │ +There are 14 section headers, starting at offset 0x8f0: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0005a0 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000800 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0005d4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0005d4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0005d4 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 0005da 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0005e2 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000828 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000612 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000612 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000648 000130 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000778 000087 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000840 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0005d8 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000838 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 00060c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 00060c 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 00060c 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000612 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 00061a 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000860 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 00064a 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00064a 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000680 000130 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0007b0 000087 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000878 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 19 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1418 FUNC LOCAL DEFAULT 1 hf_12 │ │ │ │ │ + 1: 00000001 1476 FUNC LOCAL DEFAULT 1 hf_12 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000048 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000058 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000598 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000060 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000070 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000005d0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 16: 0000058d 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_12 │ │ │ │ │ + 16: 000005c5 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_12 │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2hc_register │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x800 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x838 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000050 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000054 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000598 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000059c 00000103 R_ARM_REL32 00000001 hf_12 │ │ │ │ │ -00000594 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ +00000068 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000006c 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +000005d0 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000005d4 00000103 R_ARM_REL32 00000001 hf_12 │ │ │ │ │ +000005cc 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x828 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x860 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001202 R_ARM_ABS32 00000000 fftw_rdft_hf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,317 +1,315 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hf_12(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r8, r0 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ mov r9, r1 │ │ │ │ │ + mov sl, r3 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #220 @ 0xdc │ │ │ │ │ - mov sl, r3 │ │ │ │ │ - ldr r3, [pc, #60] @ (50 ) │ │ │ │ │ ldrd r1, r0, [sp, #320] @ 0x140 │ │ │ │ │ - add r3, pc │ │ │ │ │ + ldr r3, [pc, #64] @ (68 ) │ │ │ │ │ cmp r1, r0 │ │ │ │ │ - bge.w 580 │ │ │ │ │ + add r3, pc │ │ │ │ │ + bge.w 5a8 │ │ │ │ │ ldr r1, [sp, #328] @ 0x148 │ │ │ │ │ + vmov.f64 d11, #96 @ 0x3f000000 0.5 │ │ │ │ │ mov r6, r8 │ │ │ │ │ - vldr d13, [pc, #36] @ 48 │ │ │ │ │ mov ip, sl │ │ │ │ │ - vmov.f64 d11, #96 @ 0x3f000000 0.5 │ │ │ │ │ - lsls r1, r1, #3 │ │ │ │ │ + vldr d13, [pc, #36] @ 60 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ str r1, [sp, #204] @ 0xcc │ │ │ │ │ - negs r1, r1 │ │ │ │ │ + rsb r1, r1, #0 │ │ │ │ │ str r1, [sp, #208] @ 0xd0 │ │ │ │ │ - ldr r1, [pc, #28] @ (54 ) │ │ │ │ │ + ldr r1, [pc, #32] @ (6c ) │ │ │ │ │ ldr r3, [r3, r1] │ │ │ │ │ ldr r1, [sp, #320] @ 0x140 │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ str r3, [sp, #212] @ 0xd4 │ │ │ │ │ - movs r3, #176 @ 0xb0 │ │ │ │ │ + mov.w r3, #176 @ 0xb0 │ │ │ │ │ mla r7, r3, r1, r2 │ │ │ │ │ - b.n 58 │ │ │ │ │ - nop │ │ │ │ │ + b.n 70 │ │ │ │ │ + nop.w │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3febb67a │ │ │ │ │ - .word 0x00000036 │ │ │ │ │ + .word 0x0000003c │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ mov.w r3, ip, lsl #5 │ │ │ │ │ - vldr d3, [r7, #-120] @ 0xffffff88 │ │ │ │ │ + vldr d7, [r7, #-128] @ 0xffffff80 │ │ │ │ │ add.w lr, r9, r3 │ │ │ │ │ + vldr d3, [r7, #-120] @ 0xffffff88 │ │ │ │ │ add.w r8, r6, r3 │ │ │ │ │ - vldr d7, [r7, #-128] @ 0xffffff80 │ │ │ │ │ add.w r2, r8, r3 │ │ │ │ │ add r3, lr │ │ │ │ │ - vldr d1, [r7, #-56] @ 0xffffffc8 │ │ │ │ │ vldr d5, [lr] │ │ │ │ │ - movs r0, #72 @ 0x48 │ │ │ │ │ + strd r2, r3, [sp] │ │ │ │ │ vldr d6, [r8] │ │ │ │ │ - mov.w sl, #40 @ 0x28 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ - mov.w fp, #80 @ 0x50 │ │ │ │ │ + vldr d1, [r7, #-56] @ 0xffffffc8 │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ + mov.w r3, ip, lsl #3 │ │ │ │ │ + vldr d8, [r7, #-40] @ 0xffffffd8 │ │ │ │ │ vmla.f64 d4, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ vldr d3, [r7, #-64] @ 0xffffffc0 │ │ │ │ │ - mul.w r3, r0, ip │ │ │ │ │ - vldr d8, [r7, #-40] @ 0xffffffd8 │ │ │ │ │ - adds r0, r6, r3 │ │ │ │ │ - add.w r5, r9, r3 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ - mul.w r3, sl, ip │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ - mov.w sl, #48 @ 0x30 │ │ │ │ │ + add.w r2, r3, ip │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + add.w r0, r6, r2 │ │ │ │ │ + add.w r5, r9, r2 │ │ │ │ │ + add.w r2, ip, ip, lsl #2 │ │ │ │ │ vmla.f64 d5, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - add.w r1, r9, r3 │ │ │ │ │ - adds r4, r6, r3 │ │ │ │ │ - mov.w r3, ip, lsl #3 │ │ │ │ │ - str r0, [sp, #8] │ │ │ │ │ - adds r2, r6, r3 │ │ │ │ │ - add r3, r9 │ │ │ │ │ + mov.w r1, r2, lsl #3 │ │ │ │ │ + strd r0, r5, [sp, #8] │ │ │ │ │ + mov.w r2, r2, lsl #4 │ │ │ │ │ + add.w r4, r6, r1 │ │ │ │ │ + add r1, r9 │ │ │ │ │ + strd r4, r1, [sp, #16] │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ - str r5, [sp, #12] │ │ │ │ │ - str r4, [sp, #16] │ │ │ │ │ - str r1, [sp, #20] │ │ │ │ │ - str r2, [sp, #24] │ │ │ │ │ vadd.f64 d15, d4, d5 │ │ │ │ │ - str r3, [sp, #28] │ │ │ │ │ vsub.f64 d3, d6, d7 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ - vmov.f64 d6, d7 │ │ │ │ │ vmul.f64 d2, d3, d13 │ │ │ │ │ vsub.f64 d3, d5, d4 │ │ │ │ │ - vldr d7, [r9] │ │ │ │ │ vldr d5, [r5] │ │ │ │ │ - vmls.f64 d7, d6, d11 │ │ │ │ │ - vstr d6, [sp, #72] @ 0x48 │ │ │ │ │ + vmov.f64 d6, d7 │ │ │ │ │ + add.w r5, r9, r3 │ │ │ │ │ + vldr d7, [r9] │ │ │ │ │ vmul.f64 d3, d3, d13 │ │ │ │ │ + vstr d6, [sp, #72] @ 0x48 │ │ │ │ │ vmul.f64 d0, d5, d8 │ │ │ │ │ - vldr d6, [r7, #-48] @ 0xffffffd0 │ │ │ │ │ vstr d2, [sp, #48] @ 0x30 │ │ │ │ │ + vmls.f64 d7, d6, d11 │ │ │ │ │ + vldr d6, [r7, #-48] @ 0xffffffd0 │ │ │ │ │ vstr d3, [sp, #56] @ 0x38 │ │ │ │ │ vldr d3, [r6] │ │ │ │ │ - vmls.f64 d3, d15, d11 │ │ │ │ │ vstr d7, [sp, #80] @ 0x50 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ + vmls.f64 d3, d15, d11 │ │ │ │ │ + add.w r0, r6, r3 │ │ │ │ │ + sub.w r3, r3, ip │ │ │ │ │ + strd r0, r5, [sp, #24] │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ vmul.f64 d8, d7, d8 │ │ │ │ │ vmla.f64 d0, d7, d6 │ │ │ │ │ vldr d7, [r7, #-112] @ 0xffffff90 │ │ │ │ │ vstr d3, [sp, #64] @ 0x40 │ │ │ │ │ - vnmls.f64 d8, d5, d6 │ │ │ │ │ vldr d3, [r7, #-104] @ 0xffffff98 │ │ │ │ │ + vnmls.f64 d8, d5, d6 │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ - mul.w r1, sl, ip │ │ │ │ │ + add.w r1, ip, ip, lsl #1 │ │ │ │ │ vldr d6, [r4] │ │ │ │ │ mov.w r4, ip, lsl #4 │ │ │ │ │ - add.w sl, r6, r1 │ │ │ │ │ - add r1, r9 │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ - adds r0, r6, r4 │ │ │ │ │ vmla.f64 d4, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ - add r4, r9 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ - mul.w r3, fp, ip │ │ │ │ │ - vldr d1, [r7, #-168] @ 0xffffff58 │ │ │ │ │ - mov.w fp, #24 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + mov.w r0, r1, lsl #4 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + vldr d2, [r5] │ │ │ │ │ + add.w sl, r6, r0 │ │ │ │ │ + add r0, r9 │ │ │ │ │ + add.w r5, r6, r4 │ │ │ │ │ + add r4, r9 │ │ │ │ │ vldr d3, [r7, #-176] @ 0xffffff50 │ │ │ │ │ - adds r5, r6, r3 │ │ │ │ │ - add r3, r9 │ │ │ │ │ - str r0, [sp, #36] @ 0x24 │ │ │ │ │ + add.w fp, r6, r1 │ │ │ │ │ + add r1, r9 │ │ │ │ │ + str r5, [sp, #32] │ │ │ │ │ + vldr d1, [r7, #-168] @ 0xffffff58 │ │ │ │ │ + str r1, [sp, #40] @ 0x28 │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ - movs r2, #88 @ 0x58 │ │ │ │ │ vmla.f64 d5, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - str r5, [sp, #40] @ 0x28 │ │ │ │ │ - str r1, [sp, #32] │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ vadd.f64 d12, d4, d5 │ │ │ │ │ vsub.f64 d3, d7, d6 │ │ │ │ │ vadd.f64 d14, d6, d7 │ │ │ │ │ vldr d6, [r7, #-96] @ 0xffffffa0 │ │ │ │ │ vldr d7, [sl] │ │ │ │ │ vmul.f64 d1, d3, d13 │ │ │ │ │ vsub.f64 d3, d4, d5 │ │ │ │ │ - vmov.f64 d5, d8 │ │ │ │ │ vldr d4, [r7, #-88] @ 0xffffffa8 │ │ │ │ │ + vmov.f64 d5, d8 │ │ │ │ │ vmls.f64 d5, d14, d11 │ │ │ │ │ vadd.f64 d14, d8, d14 │ │ │ │ │ vmul.f64 d9, d3, d13 │ │ │ │ │ vstr d1, [sp, #88] @ 0x58 │ │ │ │ │ vmov.f64 d1, d0 │ │ │ │ │ vmls.f64 d1, d12, d11 │ │ │ │ │ vadd.f64 d12, d0, d12 │ │ │ │ │ vstr d9, [sp, #96] @ 0x60 │ │ │ │ │ vstr d5, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - vmul.f64 d3, d5, d4 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ vstr d1, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d1, [r7, #-24] @ 0xffffffe8 │ │ │ │ │ + vmul.f64 d3, d5, d4 │ │ │ │ │ vmla.f64 d3, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vldr d4, [r7, #-152] @ 0xffffff68 │ │ │ │ │ - vldr d1, [r7, #-24] @ 0xffffffe8 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ vldr d6, [r4] │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ - mul.w r0, fp, ip │ │ │ │ │ - add.w fp, r6, r0 │ │ │ │ │ - add r0, r9 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + add.w r5, r6, r2 │ │ │ │ │ + add r2, r9 │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ vmov.f64 d9, d3 │ │ │ │ │ + str r5, [sp, #36] @ 0x24 │ │ │ │ │ vmul.f64 d3, d6, d4 │ │ │ │ │ + vstr d9, [sp, #120] @ 0x78 │ │ │ │ │ vmov.f64 d10, d7 │ │ │ │ │ vldr d7, [r7, #-160] @ 0xffffff60 │ │ │ │ │ - vstr d9, [sp, #120] @ 0x78 │ │ │ │ │ + vstr d10, [sp, #128] @ 0x80 │ │ │ │ │ vmla.f64 d3, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d4 │ │ │ │ │ vldr d4, [r7, #-32] @ 0xffffffe0 │ │ │ │ │ - vstr d10, [sp, #128] @ 0x80 │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ vldr d7, [r5] │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ - mul.w r5, r2, ip │ │ │ │ │ vmla.f64 d6, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - adds r2, r6, r5 │ │ │ │ │ - add r5, r9 │ │ │ │ │ vnmls.f64 d7, d2, d4 │ │ │ │ │ vldr d2, [r7, #-136] @ 0xffffff78 │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ vmov.f64 d7, d10 │ │ │ │ │ vmul.f64 d4, d4, d13 │ │ │ │ │ vmls.f64 d7, d5, d11 │ │ │ │ │ vstr d4, [sp, #136] @ 0x88 │ │ │ │ │ vsub.f64 d4, d3, d6 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ vmov.f64 d6, d9 │ │ │ │ │ - vmul.f64 d4, d4, d13 │ │ │ │ │ vstr d7, [sp, #184] @ 0xb8 │ │ │ │ │ - vmls.f64 d6, d3, d11 │ │ │ │ │ vldr d7, [fp] │ │ │ │ │ + vmul.f64 d4, d4, d13 │ │ │ │ │ + vmls.f64 d6, d3, d11 │ │ │ │ │ vstr d4, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ - vmul.f64 d1, d4, d2 │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ + mov.w r1, #88 @ 0x58 │ │ │ │ │ + mul.w r5, r1, ip │ │ │ │ │ vstr d6, [sp, #176] @ 0xb0 │ │ │ │ │ vldr d6, [r7, #-144] @ 0xffffff70 │ │ │ │ │ + add.w r1, r6, r5 │ │ │ │ │ + add r5, r9 │ │ │ │ │ + vmul.f64 d1, d4, d2 │ │ │ │ │ vmla.f64 d1, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ vmov.f64 d2, d7 │ │ │ │ │ vnmls.f64 d2, d4, d6 │ │ │ │ │ vstr d1, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - str r2, [sp, #44] @ 0x2c │ │ │ │ │ - movs r2, #56 @ 0x38 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + str r1, [sp, #44] @ 0x2c │ │ │ │ │ + add.w r1, r6, r3 │ │ │ │ │ + add r3, r9 │ │ │ │ │ vldr d1, [r7, #-8] │ │ │ │ │ vldr d4, [r7, #-16] │ │ │ │ │ - mul.w r2, r2, ip │ │ │ │ │ vldr d10, [r7, #-72] @ 0xffffffb8 │ │ │ │ │ - adds r1, r6, r2 │ │ │ │ │ - add r2, r9 │ │ │ │ │ + vldr d9, [r3] │ │ │ │ │ vstr d2, [sp, #160] @ 0xa0 │ │ │ │ │ vldr d2, [r5] │ │ │ │ │ - vldr d9, [r2] │ │ │ │ │ str r1, [sp, #200] @ 0xc8 │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ vmla.f64 d6, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vldr d1, [r7, #-80] @ 0xffffffb0 │ │ │ │ │ - adds r7, #176 @ 0xb0 │ │ │ │ │ + add.w r7, r7, #176 @ 0xb0 │ │ │ │ │ vnmls.f64 d7, d2, d4 │ │ │ │ │ vldr d4, [r1] │ │ │ │ │ vmul.f64 d2, d9, d10 │ │ │ │ │ ldr r1, [sp, #20] │ │ │ │ │ vmla.f64 d2, d4, d1 │ │ │ │ │ vmul.f64 d4, d4, d10 │ │ │ │ │ vnmls.f64 d4, d9, d1 │ │ │ │ │ vsub.f64 d9, d6, d2 │ │ │ │ │ vadd.f64 d6, d6, d2 │ │ │ │ │ vldr d2, [sp, #152] @ 0x98 │ │ │ │ │ vsub.f64 d10, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vmls.f64 d2, d6, d11 │ │ │ │ │ vldr d4, [sp, #160] @ 0xa0 │ │ │ │ │ + vmls.f64 d2, d6, d11 │ │ │ │ │ vmul.f64 d9, d9, d13 │ │ │ │ │ vmls.f64 d4, d7, d11 │ │ │ │ │ vmul.f64 d10, d10, d13 │ │ │ │ │ vstr d2, [sp, #192] @ 0xc0 │ │ │ │ │ vldr d2, [r6] │ │ │ │ │ vstr d4, [sp, #168] @ 0xa8 │ │ │ │ │ vadd.f64 d4, d2, d15 │ │ │ │ │ - vldr d2, [sp, #120] @ 0x78 │ │ │ │ │ vldr d15, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d2, [sp, #120] @ 0x78 │ │ │ │ │ vadd.f64 d3, d2, d3 │ │ │ │ │ vadd.f64 d2, d4, d3 │ │ │ │ │ vsub.f64 d4, d4, d3 │ │ │ │ │ vldr d3, [sp, #128] @ 0x80 │ │ │ │ │ vadd.f64 d1, d3, d5 │ │ │ │ │ vldr d5, [r9] │ │ │ │ │ vadd.f64 d5, d5, d15 │ │ │ │ │ vadd.f64 d3, d1, d5 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ vldr d1, [sp, #152] @ 0x98 │ │ │ │ │ vadd.f64 d6, d1, d6 │ │ │ │ │ vldr d1, [sp, #160] @ 0xa0 │ │ │ │ │ - vadd.f64 d7, d1, d7 │ │ │ │ │ vadd.f64 d0, d6, d12 │ │ │ │ │ + vadd.f64 d7, d1, d7 │ │ │ │ │ vsub.f64 d6, d6, d12 │ │ │ │ │ - vsub.f64 d1, d7, d14 │ │ │ │ │ - vadd.f64 d7, d7, d14 │ │ │ │ │ vsub.f64 d8, d2, d0 │ │ │ │ │ + vsub.f64 d1, d7, d14 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ + vadd.f64 d7, d7, d14 │ │ │ │ │ vstr d8, [r1] │ │ │ │ │ vsub.f64 d8, d6, d5 │ │ │ │ │ - ldr r1, [sp, #8] │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ + ldr r1, [sp, #8] │ │ │ │ │ vsub.f64 d6, d4, d1 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ vstr d8, [r1] │ │ │ │ │ ldr r1, [sp, #4] │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ vstr d2, [r6] │ │ │ │ │ vstr d6, [fp] │ │ │ │ │ vsub.f64 d6, d7, d3 │ │ │ │ │ vadd.f64 d3, d3, d7 │ │ │ │ │ vstr d6, [sl] │ │ │ │ │ vstr d3, [r5] │ │ │ │ │ vstr d4, [r4] │ │ │ │ │ - vldr d3, [sp, #64] @ 0x40 │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ vldr d0, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d12, [sp, #176] @ 0xb0 │ │ │ │ │ + vldr d3, [sp, #64] @ 0x40 │ │ │ │ │ vldr d8, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d12, [sp, #176] @ 0xb0 │ │ │ │ │ vsub.f64 d7, d3, d0 │ │ │ │ │ vldr d14, [sp, #184] @ 0xb8 │ │ │ │ │ vldr d0, [sp, #144] @ 0x90 │ │ │ │ │ vsub.f64 d6, d12, d8 │ │ │ │ │ + vldr d1, [sp, #104] @ 0x68 │ │ │ │ │ vldr d8, [sp, #56] @ 0x38 │ │ │ │ │ vldr d15, [sp, #192] @ 0xc0 │ │ │ │ │ vsub.f64 d5, d14, d0 │ │ │ │ │ - vldr d1, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d0, [sp, #88] @ 0x58 │ │ │ │ │ vadd.f64 d2, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ + ldr r1, [sp, #32] │ │ │ │ │ vldr d6, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d0, [sp, #88] @ 0x58 │ │ │ │ │ vsub.f64 d4, d15, d10 │ │ │ │ │ - ldr r1, [sp, #36] @ 0x24 │ │ │ │ │ vadd.f64 d10, d10, d15 │ │ │ │ │ - ldr r4, [sp, #0] │ │ │ │ │ - vsub.f64 d6, d6, d8 │ │ │ │ │ ldr r5, [sp, #12] │ │ │ │ │ + vsub.f64 d6, d6, d8 │ │ │ │ │ vsub.f64 d3, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vsub.f64 d5, d1, d0 │ │ │ │ │ vldr d1, [sp, #96] @ 0x60 │ │ │ │ │ vadd.f64 d0, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vldr d4, [sp, #168] @ 0xa8 │ │ │ │ │ @@ -321,95 +319,99 @@ │ │ │ │ │ vadd.f64 d1, d8, d4 │ │ │ │ │ vsub.f64 d4, d4, d8 │ │ │ │ │ vsub.f64 d8, d2, d0 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ vstr d8, [r1] │ │ │ │ │ vsub.f64 d8, d4, d6 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - ldr r1, [sp, #44] @ 0x2c │ │ │ │ │ + ldr r1, [sp, #40] @ 0x28 │ │ │ │ │ vstr d8, [r4] │ │ │ │ │ vstr d6, [r5] │ │ │ │ │ vsub.f64 d6, d7, d1 │ │ │ │ │ - vstr d2, [r0] │ │ │ │ │ vadd.f64 d7, d7, d1 │ │ │ │ │ + vstr d2, [r1] │ │ │ │ │ ldr r4, [sp, #16] │ │ │ │ │ - vldr d2, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r1, [sp, #44] @ 0x2c │ │ │ │ │ vstr d6, [r9] │ │ │ │ │ vsub.f64 d6, d5, d3 │ │ │ │ │ vadd.f64 d3, d3, d5 │ │ │ │ │ + vldr d2, [sp, #48] @ 0x30 │ │ │ │ │ vstr d6, [r1] │ │ │ │ │ - ldr r1, [sp, #32] │ │ │ │ │ - vstr d3, [r1] │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ vldr d3, [sp, #64] @ 0x40 │ │ │ │ │ vstr d7, [r4] │ │ │ │ │ vadd.f64 d7, d2, d3 │ │ │ │ │ - vldr d2, [sp, #136] @ 0x88 │ │ │ │ │ vldr d3, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d2, [sp, #136] @ 0x88 │ │ │ │ │ vadd.f64 d6, d2, d12 │ │ │ │ │ vadd.f64 d4, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d1, [sp, #104] @ 0x68 │ │ │ │ │ + ldrd r0, r5, [sp, #24] │ │ │ │ │ vldr d2, [sp, #88] @ 0x58 │ │ │ │ │ vadd.f64 d6, d3, d6 │ │ │ │ │ + vldr d1, [sp, #104] @ 0x68 │ │ │ │ │ vldr d3, [sp, #144] @ 0x90 │ │ │ │ │ vldr d0, [sp, #96] @ 0x60 │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ - ldr r0, [sp, #28] │ │ │ │ │ + ldr r1, [sp, #200] @ 0xc8 │ │ │ │ │ vadd.f64 d5, d3, d14 │ │ │ │ │ - ldr r1, [sp, #24] │ │ │ │ │ - ldr r5, [sp, #40] @ 0x28 │ │ │ │ │ vadd.f64 d1, d10, d2 │ │ │ │ │ vsub.f64 d2, d2, d10 │ │ │ │ │ vsub.f64 d3, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vldr d5, [sp, #168] @ 0xa8 │ │ │ │ │ vadd.f64 d9, d9, d5 │ │ │ │ │ vldr d5, [sp, #112] @ 0x70 │ │ │ │ │ vadd.f64 d5, d0, d5 │ │ │ │ │ vsub.f64 d0, d4, d1 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ vsub.f64 d8, d9, d5 │ │ │ │ │ - vstr d0, [r0] │ │ │ │ │ + vstr d0, [r5] │ │ │ │ │ vadd.f64 d5, d9, d5 │ │ │ │ │ + ldr r5, [sp, #36] @ 0x24 │ │ │ │ │ vadd.f64 d0, d7, d8 │ │ │ │ │ vsub.f64 d7, d7, d8 │ │ │ │ │ - vstr d0, [r1] │ │ │ │ │ + vstr d0, [r0] │ │ │ │ │ vstr d4, [r8] │ │ │ │ │ - ldr r1, [sp, #200] @ 0xc8 │ │ │ │ │ vstr d7, [lr] │ │ │ │ │ vsub.f64 d7, d2, d3 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ vadd.f64 d7, d6, d5 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ ldr r3, [sp, #320] @ 0x140 │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ vstr d5, [r5] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str r3, [sp, #320] @ 0x140 │ │ │ │ │ ldr r3, [sp, #204] @ 0xcc │ │ │ │ │ + ldr r2, [sp, #320] @ 0x140 │ │ │ │ │ add r6, r3 │ │ │ │ │ ldr r3, [sp, #208] @ 0xd0 │ │ │ │ │ add r9, r3 │ │ │ │ │ ldr r3, [sp, #212] @ 0xd4 │ │ │ │ │ eor.w ip, ip, r3 │ │ │ │ │ - ldrd r2, r3, [sp, #320] @ 0x140 │ │ │ │ │ + ldr r3, [sp, #324] @ 0x144 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 58 │ │ │ │ │ + bne.w 70 │ │ │ │ │ add sp, #220 @ 0xdc │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -0000058c : │ │ │ │ │ +000005c4 : │ │ │ │ │ fftw_codelet_hf_12(): │ │ │ │ │ - ldr r2, [pc, #8] @ (598 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (59c ) │ │ │ │ │ + ldr r2, [pc, #8] @ (5d0 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (5d4 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2hc_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── hf_15.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 3060 (bytes into file) │ │ │ │ │ + Start of section headers: 3108 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0xbf4: │ │ │ │ │ +There are 14 section headers, starting at offset 0xc24: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0008bc 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000b3c 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0008f0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0008f0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0008f0 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 0008f6 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0008fe 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000b64 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 00092e 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00092e 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000964 000150 10 12 16 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000ab4 000087 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000b7c 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0008ec 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000b6c 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000920 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000920 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000920 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000926 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 00092e 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000b94 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 00095e 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00095e 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000994 000150 10 12 16 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000ae4 000087 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000bac 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 21 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 2214 FUNC LOCAL DEFAULT 1 hf_15 │ │ │ │ │ + 1: 00000001 2264 FUNC LOCAL DEFAULT 1 hf_15 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000003e0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000400 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000888 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000898 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 000008b4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000060 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000078 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000008c8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 000008d8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 000008e4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 13: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 14: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 15: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 18: 000008a9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_15 │ │ │ │ │ + 18: 000008d9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_15 │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2hc_register │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xb3c contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xb6c contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000003f8 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -000003fc 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000008b4 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000008b8 00000103 R_ARM_REL32 00000001 hf_15 │ │ │ │ │ -000008b0 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ +00000070 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000074 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +000008e4 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000008e8 00000103 R_ARM_REL32 00000001 hf_15 │ │ │ │ │ +000008e0 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xb64 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xb94 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000a02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001402 R_ARM_ABS32 00000000 fftw_rdft_hf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,620 +1,619 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hf_15(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ mov r9, r0 │ │ │ │ │ mov sl, r1 │ │ │ │ │ - vpush {d8-d15} │ │ │ │ │ - sub sp, #364 @ 0x16c │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ mov fp, r3 │ │ │ │ │ - ldr r3, [pc, #996] @ (3f8 ) │ │ │ │ │ - ldrd r1, r0, [sp, #464] @ 0x1d0 │ │ │ │ │ - add r3, pc │ │ │ │ │ + vpush {d8-d15} │ │ │ │ │ + sub sp, #348 @ 0x15c │ │ │ │ │ + ldrd r1, r0, [sp, #448] @ 0x1c0 │ │ │ │ │ + ldr r3, [pc, #72] @ (70 ) │ │ │ │ │ cmp r1, r0 │ │ │ │ │ - bge.w 89c │ │ │ │ │ - ldr r1, [sp, #472] @ 0x1d8 │ │ │ │ │ + add r3, pc │ │ │ │ │ + bge.w 8aa │ │ │ │ │ + ldr r1, [sp, #456] @ 0x1c8 │ │ │ │ │ mov ip, r9 │ │ │ │ │ - vldr d10, [pc, #956] @ 3e0 │ │ │ │ │ mov lr, sl │ │ │ │ │ - vldr d15, [pc, #956] @ 3e8 │ │ │ │ │ mov r9, fp │ │ │ │ │ - lsls r1, r1, #3 │ │ │ │ │ - str r1, [sp, #348] @ 0x15c │ │ │ │ │ - negs r1, r1 │ │ │ │ │ - str r1, [sp, #352] @ 0x160 │ │ │ │ │ - ldr r1, [pc, #964] @ (3fc ) │ │ │ │ │ + vldr d13, [pc, #40] @ 60 │ │ │ │ │ + vldr d15, [pc, #44] @ 68 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + str r1, [sp, #332] @ 0x14c │ │ │ │ │ + rsb r1, r1, #0 │ │ │ │ │ + str r1, [sp, #336] @ 0x150 │ │ │ │ │ + ldr r1, [pc, #40] @ (74 ) │ │ │ │ │ ldr r3, [r3, r1] │ │ │ │ │ - ldr r1, [sp, #464] @ 0x1d0 │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - str r3, [sp, #356] @ 0x164 │ │ │ │ │ - movs r3, #224 @ 0xe0 │ │ │ │ │ - mla r8, r3, r1, r2 │ │ │ │ │ - movs r3, #40 @ 0x28 │ │ │ │ │ - vldr d2, [r8, #-152] @ 0xffffff68 │ │ │ │ │ + str r3, [sp, #340] @ 0x154 │ │ │ │ │ + ldr r3, [sp, #448] @ 0x1c0 │ │ │ │ │ + rsb r3, r3, r3, lsl #3 │ │ │ │ │ + add.w r8, r2, r3, lsl #5 │ │ │ │ │ + b.n 78 │ │ │ │ │ + nop │ │ │ │ │ + .word 0xe8584caa │ │ │ │ │ + .word 0x3febb67a │ │ │ │ │ + .word 0x04755a5e │ │ │ │ │ + .word 0x3fe2cf23 │ │ │ │ │ + .word 0x00000044 │ │ │ │ │ + R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ + .word 0x00000000 │ │ │ │ │ + R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ + add.w r3, r9, r9, lsl #2 │ │ │ │ │ vldr d6, [r8, #-160] @ 0xffffff60 │ │ │ │ │ - movs r0, #48 @ 0x30 │ │ │ │ │ - vldr d0, [r8, #-72] @ 0xffffffb8 │ │ │ │ │ - movs r6, #72 @ 0x48 │ │ │ │ │ - mul.w r3, r3, r9 │ │ │ │ │ - vldr d11, [pc, #912] @ 3f0 │ │ │ │ │ - vldr d8, [lr] │ │ │ │ │ - movs r4, #88 @ 0x58 │ │ │ │ │ - add.w fp, lr, r3 │ │ │ │ │ - add.w sl, ip, r3 │ │ │ │ │ - add.w r1, fp, r3 │ │ │ │ │ - add.w r2, sl, r3 │ │ │ │ │ - str r2, [sp, #4] │ │ │ │ │ + mov.w r5, #88 @ 0x58 │ │ │ │ │ + mov.w r2, r3, lsl #3 │ │ │ │ │ + vldr d2, [r8, #-152] @ 0xffffff68 │ │ │ │ │ + add.w fp, lr, r2 │ │ │ │ │ + add.w sl, ip, r2 │ │ │ │ │ + vldr d3, [ip] │ │ │ │ │ + add.w r1, fp, r2 │ │ │ │ │ + add.w r3, sl, r2 │ │ │ │ │ vldr d4, [fp] │ │ │ │ │ + strd r3, r1, [sp] │ │ │ │ │ vldr d7, [sl] │ │ │ │ │ - vldr d1, [r1] │ │ │ │ │ + vldr d0, [r8, #-72] @ 0xffffffb8 │ │ │ │ │ vmul.f64 d5, d4, d2 │ │ │ │ │ - vldr d3, [ip] │ │ │ │ │ + vldr d1, [r1] │ │ │ │ │ + add.w r1, r9, r9, lsl #1 │ │ │ │ │ + vldr d8, [lr] │ │ │ │ │ + vldr d9, [r8, #-136] @ 0xffffff78 │ │ │ │ │ vmla.f64 d5, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ vldr d2, [r8, #-80] @ 0xffffffb0 │ │ │ │ │ - vldr d9, [r8, #-88] @ 0xffffffa8 │ │ │ │ │ - str r1, [sp, #8] │ │ │ │ │ vnmls.f64 d7, d4, d6 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ vmul.f64 d4, d1, d0 │ │ │ │ │ - mul.w r2, r0, r9 │ │ │ │ │ + mov.w r3, r1, lsl #4 │ │ │ │ │ + add.w r0, ip, r3 │ │ │ │ │ + add.w r4, lr, r3 │ │ │ │ │ + mov.w r3, r9, lsl #3 │ │ │ │ │ + strd r0, r4, [sp, #8] │ │ │ │ │ vmla.f64 d4, d6, d2 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ - add.w r0, ip, r2 │ │ │ │ │ - add.w r5, lr, r2 │ │ │ │ │ - mul.w r2, r6, r9 │ │ │ │ │ - str r0, [sp, #12] │ │ │ │ │ - str r5, [sp, #16] │ │ │ │ │ vnmls.f64 d6, d1, d2 │ │ │ │ │ - add.w r7, lr, r2 │ │ │ │ │ - add.w r6, ip, r2 │ │ │ │ │ - mul.w r2, r4, r9 │ │ │ │ │ - str r6, [sp, #20] │ │ │ │ │ - add.w r4, ip, r2 │ │ │ │ │ - str r7, [sp, #24] │ │ │ │ │ - str r4, [sp, #28] │ │ │ │ │ + vmov.f64 d1, d8 │ │ │ │ │ vsub.f64 d2, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vmov.f64 d6, d8 │ │ │ │ │ - vmul.f64 d13, d2, d11 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + add.w r0, r3, r9 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ + add.w r6, ip, r0 │ │ │ │ │ + add.w r7, lr, r0 │ │ │ │ │ + mul.w r0, r5, r9 │ │ │ │ │ + vmul.f64 d11, d2, d13 │ │ │ │ │ vsub.f64 d2, d4, d5 │ │ │ │ │ + strd r6, r7, [sp, #16] │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ - vstr d13, [sp, #240] @ 0xf0 │ │ │ │ │ - vmov.f64 d13, #96 @ 0x3f000000 0.5 │ │ │ │ │ - vmul.f64 d14, d2, d11 │ │ │ │ │ - vadd.f64 d4, d3, d5 │ │ │ │ │ - vmls.f64 d6, d7, d13 │ │ │ │ │ - vmls.f64 d3, d5, d13 │ │ │ │ │ - vadd.f64 d2, d8, d7 │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - movs r0, #112 @ 0x70 │ │ │ │ │ - vstr d14, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d14, [r8, #-136] @ 0xffffff78 │ │ │ │ │ - vstr d4, [sp, #256] @ 0x100 │ │ │ │ │ - mul.w r0, r0, r9 │ │ │ │ │ - vstr d2, [sp, #264] @ 0x108 │ │ │ │ │ - vmul.f64 d8, d5, d14 │ │ │ │ │ - vmul.f64 d14, d7, d14 │ │ │ │ │ - vstr d6, [sp, #104] @ 0x68 │ │ │ │ │ add.w r5, ip, r0 │ │ │ │ │ - vldr d6, [r8, #-144] @ 0xffffff70 │ │ │ │ │ add r0, lr │ │ │ │ │ + vstr d11, [sp, #88] @ 0x58 │ │ │ │ │ + vmov.f64 d11, #96 @ 0x3f000000 0.5 │ │ │ │ │ + vmul.f64 d12, d2, d13 │ │ │ │ │ + vadd.f64 d4, d3, d5 │ │ │ │ │ + vadd.f64 d2, d8, d7 │ │ │ │ │ + vldr d8, [r8, #-88] @ 0xffffffa8 │ │ │ │ │ + vmls.f64 d3, d5, d11 │ │ │ │ │ + vldr d5, [r8, #-144] @ 0xffffff70 │ │ │ │ │ + vmls.f64 d1, d7, d11 │ │ │ │ │ + vstr d4, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + add.w r4, lr, r3 │ │ │ │ │ + vstr d12, [sp, #216] @ 0xd8 │ │ │ │ │ vstr d3, [sp, #96] @ 0x60 │ │ │ │ │ - vnmls.f64 d14, d5, d6 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ - vmla.f64 d8, d7, d6 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - vldr d6, [r8, #-96] @ 0xffffffa0 │ │ │ │ │ - add.w r6, lr, r2 │ │ │ │ │ - vmul.f64 d3, d5, d9 │ │ │ │ │ - mov.w r2, r9, lsl #3 │ │ │ │ │ - vmul.f64 d9, d7, d9 │ │ │ │ │ - add.w r1, ip, r2 │ │ │ │ │ - vmla.f64 d3, d7, d6 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ + vstr d1, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d2, [sp, #240] @ 0xf0 │ │ │ │ │ + vmul.f64 d7, d4, d9 │ │ │ │ │ + vmul.f64 d9, d6, d9 │ │ │ │ │ + vmla.f64 d7, d6, d5 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + vnmls.f64 d9, d4, d5 │ │ │ │ │ + add.w r6, ip, r3 │ │ │ │ │ + sub.w r3, r3, r9 │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + mov.w r3, r3, lsl #4 │ │ │ │ │ + vldr d5, [r8, #-96] @ 0xffffffa0 │ │ │ │ │ + add.w r7, ip, r3 │ │ │ │ │ + add r3, lr │ │ │ │ │ + vmul.f64 d12, d4, d8 │ │ │ │ │ + vmul.f64 d8, d6, d8 │ │ │ │ │ + vmla.f64 d12, d6, d5 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + vnmls.f64 d8, d4, d5 │ │ │ │ │ + strd r5, r0, [sp, #24] │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ + mov.w r0, r9, lsl #5 │ │ │ │ │ str r6, [sp, #32] │ │ │ │ │ - add r2, lr │ │ │ │ │ - vldr d4, [r8, #-56] @ 0xffffffc8 │ │ │ │ │ - vnmls.f64 d9, d5, d6 │ │ │ │ │ - vldr d5, [r6] │ │ │ │ │ - vldr d6, [r8, #-64] @ 0xffffffc0 │ │ │ │ │ - vmov.f64 d11, d8 │ │ │ │ │ - str r2, [sp, #40] @ 0x28 │ │ │ │ │ - vmul.f64 d12, d5, d4 │ │ │ │ │ - str r1, [sp, #36] @ 0x24 │ │ │ │ │ - vmla.f64 d12, d7, d6 │ │ │ │ │ - vmul.f64 d7, d7, d4 │ │ │ │ │ - vmov.f64 d13, d3 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - vldr d3, [r8, #-216] @ 0xffffff28 │ │ │ │ │ - mov.w r2, r9, lsl #5 │ │ │ │ │ - add.w r4, lr, r2 │ │ │ │ │ - add.w r7, ip, r2 │ │ │ │ │ - vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d5, [r8, #-224] @ 0xffffff20 │ │ │ │ │ + vldr d3, [r8, #-56] @ 0xffffffc8 │ │ │ │ │ + add.w r5, ip, r0 │ │ │ │ │ + add r0, lr │ │ │ │ │ + str r4, [sp, #36] @ 0x24 │ │ │ │ │ + vldr d5, [r8, #-64] @ 0xffffffc0 │ │ │ │ │ + strd r7, r5, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d1, [r8, #-8] │ │ │ │ │ + str r0, [sp, #80] @ 0x50 │ │ │ │ │ vmul.f64 d2, d4, d3 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - vstr d13, [sp, #56] @ 0x38 │ │ │ │ │ - movs r1, #24 │ │ │ │ │ - str r5, [sp, #44] @ 0x2c │ │ │ │ │ - movs r2, #96 @ 0x60 │ │ │ │ │ - str r7, [sp, #48] @ 0x30 │ │ │ │ │ - vmov.f64 d1, d2 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ - vmla.f64 d1, d6, d5 │ │ │ │ │ + vmov.f64 d0, d2 │ │ │ │ │ + vmla.f64 d0, d6, d5 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ - str r4, [sp, #52] @ 0x34 │ │ │ │ │ - mul.w r1, r1, r9 │ │ │ │ │ - vstr d7, [sp, #64] @ 0x40 │ │ │ │ │ - mul.w r2, r2, r9 │ │ │ │ │ - add.w r6, ip, r1 │ │ │ │ │ - add r1, lr │ │ │ │ │ + vldr d3, [r8, #-216] @ 0xffffff28 │ │ │ │ │ vnmls.f64 d6, d4, d5 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + vldr d5, [r8, #-224] @ 0xffffff20 │ │ │ │ │ + vstr d0, [sp, #48] @ 0x30 │ │ │ │ │ + vmul.f64 d2, d4, d3 │ │ │ │ │ + vmov.f64 d14, d6 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + vstr d14, [sp, #56] @ 0x38 │ │ │ │ │ + vmla.f64 d2, d6, d5 │ │ │ │ │ + vmul.f64 d3, d6, d3 │ │ │ │ │ + vnmls.f64 d3, d4, d5 │ │ │ │ │ vldr d5, [r8, #-16] │ │ │ │ │ - vadd.f64 d3, d12, d1 │ │ │ │ │ - vstr d1, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d1, [r8, #-8] │ │ │ │ │ - vadd.f64 d4, d7, d6 │ │ │ │ │ - vstr d6, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - vmul.f64 d0, d2, d1 │ │ │ │ │ - add.w r5, ip, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ - vmla.f64 d0, d6, d5 │ │ │ │ │ + vadd.f64 d6, d0, d2 │ │ │ │ │ + vstr d2, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ + vldr d0, [r8, #-168] @ 0xffffff58 │ │ │ │ │ + vadd.f64 d4, d14, d3 │ │ │ │ │ + vmov.f64 d11, d6 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + vmul.f64 d14, d2, d1 │ │ │ │ │ vmul.f64 d1, d6, d1 │ │ │ │ │ + vmla.f64 d14, d6, d5 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ vnmls.f64 d1, d2, d5 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ vldr d2, [r8, #-176] @ 0xffffff50 │ │ │ │ │ - vmov.f64 d8, d0 │ │ │ │ │ - vldr d0, [r4] │ │ │ │ │ - mov.w r4, r9, lsl #6 │ │ │ │ │ - vmov.f64 d7, d0 │ │ │ │ │ - vldr d0, [r8, #-168] @ 0xffffff58 │ │ │ │ │ - vstr d8, [sp, #88] @ 0x58 │ │ │ │ │ - vmul.f64 d6, d7, d0 │ │ │ │ │ - vmul.f64 d0, d5, d0 │ │ │ │ │ + vstr d6, [sp, #72] @ 0x48 │ │ │ │ │ + vmul.f64 d6, d6, d0 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + mov.w r5, r1, lsl #3 │ │ │ │ │ + mov.w r1, r1, lsl #5 │ │ │ │ │ + add.w r0, r5, lr │ │ │ │ │ + add.w r6, ip, r5 │ │ │ │ │ + add.w r7, ip, r1 │ │ │ │ │ + add r1, lr │ │ │ │ │ vmla.f64 d6, d5, d2 │ │ │ │ │ - vnmls.f64 d0, d7, d2 │ │ │ │ │ - vadd.f64 d5, d8, d6 │ │ │ │ │ - vadd.f64 d8, d11, d3 │ │ │ │ │ + vmul.f64 d0, d5, d0 │ │ │ │ │ + vadd.f64 d5, d14, d6 │ │ │ │ │ + vsub.f64 d14, d14, d6 │ │ │ │ │ + vldr d6, [sp, #72] @ 0x48 │ │ │ │ │ + vnmls.f64 d0, d6, d2 │ │ │ │ │ + vmov.f64 d6, d11 │ │ │ │ │ + vstr d5, [sp, #72] @ 0x48 │ │ │ │ │ + vadd.f64 d11, d7, d11 │ │ │ │ │ + vadd.f64 d5, d12, d5 │ │ │ │ │ + vmul.f64 d14, d14, d13 │ │ │ │ │ + vstr d11, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d5, [sp, #112] @ 0x70 │ │ │ │ │ + vadd.f64 d5, d11, d5 │ │ │ │ │ + vadd.f64 d11, d9, d4 │ │ │ │ │ vadd.f64 d2, d1, d0 │ │ │ │ │ - vadd.f64 d13, d13, d5 │ │ │ │ │ - vstr d8, [sp, #112] @ 0x70 │ │ │ │ │ - vadd.f64 d7, d8, d13 │ │ │ │ │ - vadd.f64 d8, d9, d2 │ │ │ │ │ - vstr d13, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d7, [sp, #272] @ 0x110 │ │ │ │ │ - vadd.f64 d7, d14, d4 │ │ │ │ │ - vstr d8, [sp, #136] @ 0x88 │ │ │ │ │ - vadd.f64 d13, d7, d8 │ │ │ │ │ - vmov.f64 d8, d11 │ │ │ │ │ - vstr d7, [sp, #128] @ 0x80 │ │ │ │ │ - vldr d11, [pc, #340] @ 3f0 │ │ │ │ │ - vstr d13, [sp, #280] @ 0x118 │ │ │ │ │ - vmov.f64 d13, #96 @ 0x3f000000 0.5 │ │ │ │ │ - vmls.f64 d8, d3, d13 │ │ │ │ │ - vldr d3, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d7, [sp, #64] @ 0x40 │ │ │ │ │ - vmls.f64 d9, d2, d13 │ │ │ │ │ - vmls.f64 d14, d4, d13 │ │ │ │ │ + vstr d11, [sp, #120] @ 0x78 │ │ │ │ │ + vstr d5, [sp, #248] @ 0xf8 │ │ │ │ │ + vadd.f64 d5, d8, d2 │ │ │ │ │ + vadd.f64 d11, d11, d5 │ │ │ │ │ + vstr d5, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d11, [sp, #256] @ 0x100 │ │ │ │ │ + vmov.f64 d11, #96 @ 0x3f000000 0.5 │ │ │ │ │ + vldr d5, [sp, #56] @ 0x38 │ │ │ │ │ + str r0, [sp, #56] @ 0x38 │ │ │ │ │ + vmls.f64 d7, d6, d11 │ │ │ │ │ + vmls.f64 d8, d2, d11 │ │ │ │ │ + vmls.f64 d9, d4, d11 │ │ │ │ │ vldr d4, [r8, #-184] @ 0xffffff48 │ │ │ │ │ - str r5, [sp, #64] @ 0x40 │ │ │ │ │ - vsub.f64 d7, d7, d3 │ │ │ │ │ - vmul.f64 d7, d7, d11 │ │ │ │ │ - vsub.f64 d3, d8, d7 │ │ │ │ │ - vadd.f64 d8, d8, d7 │ │ │ │ │ - vstr d3, [sp, #288] @ 0x120 │ │ │ │ │ - vldr d3, [sp, #88] @ 0x58 │ │ │ │ │ - vsub.f64 d7, d3, d6 │ │ │ │ │ - vmul.f64 d7, d7, d11 │ │ │ │ │ - vsub.f64 d6, d7, d9 │ │ │ │ │ - vadd.f64 d9, d7, d9 │ │ │ │ │ + vsub.f64 d3, d5, d3 │ │ │ │ │ + vldr d5, [sp, #64] @ 0x40 │ │ │ │ │ + str r7, [sp, #64] @ 0x40 │ │ │ │ │ + vmul.f64 d3, d3, d13 │ │ │ │ │ + vadd.f64 d2, d14, d8 │ │ │ │ │ + vsub.f64 d6, d7, d3 │ │ │ │ │ + vadd.f64 d3, d7, d3 │ │ │ │ │ + vstr d2, [sp, #136] @ 0x88 │ │ │ │ │ + vstr d6, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d6, [sp, #48] @ 0x30 │ │ │ │ │ + str r6, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d3, [sp, #272] @ 0x110 │ │ │ │ │ + vsub.f64 d3, d14, d8 │ │ │ │ │ + vsub.f64 d7, d5, d6 │ │ │ │ │ + vldr d5, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d6, [r8, #-192] @ 0xffffff40 │ │ │ │ │ + vstr d3, [sp, #280] @ 0x118 │ │ │ │ │ + vmul.f64 d7, d7, d13 │ │ │ │ │ + vmls.f64 d12, d5, d11 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + mov.w r0, r9, lsl #6 │ │ │ │ │ + vadd.f64 d14, d7, d9 │ │ │ │ │ + vsub.f64 d9, d9, d7 │ │ │ │ │ + vsub.f64 d7, d1, d0 │ │ │ │ │ vstr d9, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d9, [sp, #72] @ 0x48 │ │ │ │ │ - vstr d6, [sp, #296] @ 0x128 │ │ │ │ │ - vsub.f64 d6, d1, d0 │ │ │ │ │ - vsub.f64 d7, d9, d12 │ │ │ │ │ - vmul.f64 d6, d6, d11 │ │ │ │ │ - vmul.f64 d7, d7, d11 │ │ │ │ │ - vadd.f64 d9, d7, d14 │ │ │ │ │ - vsub.f64 d7, d14, d7 │ │ │ │ │ - vstr d7, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d7, [sp, #56] @ 0x38 │ │ │ │ │ - vmls.f64 d7, d5, d13 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - vstr d9, [sp, #304] @ 0x130 │ │ │ │ │ + vmul.f64 d7, d7, d13 │ │ │ │ │ vldr d9, [r8, #-40] @ 0xffffffd8 │ │ │ │ │ - vmul.f64 d0, d5, d4 │ │ │ │ │ - str r6, [sp, #56] @ 0x38 │ │ │ │ │ - vsub.f64 d1, d7, d6 │ │ │ │ │ - vstr d1, [sp, #160] @ 0xa0 │ │ │ │ │ - vadd.f64 d1, d7, d6 │ │ │ │ │ - vldr d6, [r8, #-192] @ 0xffffff40 │ │ │ │ │ + vstr d14, [sp, #288] @ 0x120 │ │ │ │ │ + vsub.f64 d0, d12, d7 │ │ │ │ │ + vadd.f64 d3, d12, d7 │ │ │ │ │ vldr d7, [r6] │ │ │ │ │ - add.w r6, ip, r4 │ │ │ │ │ - add r4, lr │ │ │ │ │ - adds r7, r6, r3 │ │ │ │ │ - vstr d1, [sp, #168] @ 0xa8 │ │ │ │ │ + add.w r6, ip, r0 │ │ │ │ │ + add r0, lr │ │ │ │ │ + add.w r4, r6, r2 │ │ │ │ │ + add.w r5, r0, r2 │ │ │ │ │ + str r4, [sp, #72] @ 0x48 │ │ │ │ │ + str r5, [sp, #84] @ 0x54 │ │ │ │ │ + vstr d3, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d0, [sp, #296] @ 0x128 │ │ │ │ │ + vmul.f64 d0, d5, d4 │ │ │ │ │ vmla.f64 d0, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vldr d4, [r8, #-104] @ 0xffffff98 │ │ │ │ │ - str r4, [sp, #72] @ 0x48 │ │ │ │ │ - str r7, [sp, #80] @ 0x50 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ vldr d6, [r8, #-48] @ 0xffffffd0 │ │ │ │ │ vmul.f64 d3, d5, d9 │ │ │ │ │ - vstr d7, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - mov.w r5, r9, lsl #4 │ │ │ │ │ - vmla.f64 d3, d7, d6 │ │ │ │ │ + vstr d7, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ vmul.f64 d9, d7, d9 │ │ │ │ │ + vmla.f64 d3, d7, d6 │ │ │ │ │ vldr d7, [r6] │ │ │ │ │ vnmls.f64 d9, d5, d6 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ vldr d6, [r8, #-112] @ 0xffffff90 │ │ │ │ │ - add r4, r3 │ │ │ │ │ - str r4, [sp, #88] @ 0x58 │ │ │ │ │ - vmov.f64 d12, d3 │ │ │ │ │ + vstr d3, [sp, #168] @ 0xa8 │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ - vmov.f64 d1, d3 │ │ │ │ │ - vmla.f64 d1, d7, d6 │ │ │ │ │ + vmov.f64 d14, d3 │ │ │ │ │ + vmla.f64 d14, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - vldr d6, [r8, #-32] @ 0xffffffe0 │ │ │ │ │ vmov.f64 d2, d7 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + mov.w r4, r9, lsl #4 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + add.w r7, ip, r4 │ │ │ │ │ + add r4, lr │ │ │ │ │ + add.w r5, r7, r2 │ │ │ │ │ + add r2, r4 │ │ │ │ │ + vstr d14, [sp, #176] @ 0xb0 │ │ │ │ │ + vldr d6, [r8, #-32] @ 0xffffffe0 │ │ │ │ │ + vstr d2, [sp, #184] @ 0xb8 │ │ │ │ │ vldr d4, [r8, #-24] @ 0xffffffe8 │ │ │ │ │ - add.w r7, ip, r5 │ │ │ │ │ - add r5, lr │ │ │ │ │ - vstr d1, [sp, #192] @ 0xc0 │ │ │ │ │ - adds r4, r7, r3 │ │ │ │ │ - add r3, r5 │ │ │ │ │ + str r5, [sp, #328] @ 0x148 │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ - vstr d2, [sp, #200] @ 0xc8 │ │ │ │ │ - str r4, [sp, #344] @ 0x158 │ │ │ │ │ - vmov.f64 d14, d3 │ │ │ │ │ + vmov.f64 d12, d3 │ │ │ │ │ vldr d3, [r8, #-200] @ 0xffffff38 │ │ │ │ │ - b.n 400 │ │ │ │ │ - .word 0x134454ff │ │ │ │ │ - .word 0x3fee6f0e │ │ │ │ │ - .word 0x04755a5e │ │ │ │ │ - .word 0x3fe2cf23 │ │ │ │ │ - .word 0xe8584caa │ │ │ │ │ - .word 0x3febb67a │ │ │ │ │ - .word 0x000003de │ │ │ │ │ - R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ - .word 0x00000000 │ │ │ │ │ - R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - vmla.f64 d14, d7, d6 │ │ │ │ │ + vmla.f64 d12, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ vldr d5, [r8, #-208] @ 0xffffff30 │ │ │ │ │ - vadd.f64 d6, d1, d14 │ │ │ │ │ vmul.f64 d1, d4, d3 │ │ │ │ │ - vstr d6, [sp, #184] @ 0xb8 │ │ │ │ │ - vmov.f64 d13, d1 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ + vadd.f64 d6, d14, d12 │ │ │ │ │ + vmov.f64 d11, d1 │ │ │ │ │ vadd.f64 d2, d2, d7 │ │ │ │ │ - vmla.f64 d13, d6, d5 │ │ │ │ │ + vmov.f64 d10, d6 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + vmla.f64 d11, d6, d5 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ vldr d3, [r8, #-120] @ 0xffffff88 │ │ │ │ │ vnmls.f64 d6, d4, d5 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ vldr d5, [r8, #-128] @ 0xffffff80 │ │ │ │ │ add.w r8, r8, #224 @ 0xe0 │ │ │ │ │ + vstr d11, [sp, #192] @ 0xc0 │ │ │ │ │ vmul.f64 d1, d4, d3 │ │ │ │ │ - vstr d13, [sp, #208] @ 0xd0 │ │ │ │ │ - vmov.f64 d11, d6 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ + vmov.f64 d14, d6 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + vstr d14, [sp, #200] @ 0xc8 │ │ │ │ │ vmla.f64 d1, d6, d5 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ - vstr d11, [sp, #216] @ 0xd8 │ │ │ │ │ vnmls.f64 d6, d4, d5 │ │ │ │ │ - vadd.f64 d3, d13, d1 │ │ │ │ │ - vldr d13, [sp, #184] @ 0xb8 │ │ │ │ │ - vstr d12, [sp, #184] @ 0xb8 │ │ │ │ │ - vadd.f64 d4, d11, d6 │ │ │ │ │ - vadd.f64 d12, d12, d3 │ │ │ │ │ - vmov.f64 d11, d4 │ │ │ │ │ - vadd.f64 d4, d0, d13 │ │ │ │ │ - vadd.f64 d5, d4, d12 │ │ │ │ │ - vstr d4, [sp, #232] @ 0xe8 │ │ │ │ │ - vstr d11, [sp, #224] @ 0xe0 │ │ │ │ │ - vstr d5, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d5, [sp, #176] @ 0xb0 │ │ │ │ │ + vadd.f64 d3, d11, d1 │ │ │ │ │ + vmov.f64 d11, d10 │ │ │ │ │ + vadd.f64 d4, d14, d6 │ │ │ │ │ + vadd.f64 d14, d0, d10 │ │ │ │ │ + vmov.f64 d8, d4 │ │ │ │ │ + vmov.f64 d10, d4 │ │ │ │ │ + vldr d4, [sp, #168] @ 0xa8 │ │ │ │ │ + vadd.f64 d4, d4, d3 │ │ │ │ │ + vadd.f64 d5, d14, d4 │ │ │ │ │ + vstr d4, [sp, #208] @ 0xd0 │ │ │ │ │ + vstr d5, [sp, #304] @ 0x130 │ │ │ │ │ + vldr d5, [sp, #160] @ 0xa0 │ │ │ │ │ vadd.f64 d4, d5, d2 │ │ │ │ │ - vadd.f64 d5, d9, d11 │ │ │ │ │ - vadd.f64 d11, d4, d5 │ │ │ │ │ + vadd.f64 d5, d9, d8 │ │ │ │ │ + vadd.f64 d8, d4, d5 │ │ │ │ │ vsub.f64 d5, d4, d5 │ │ │ │ │ - vstr d11, [sp, #320] @ 0x140 │ │ │ │ │ - vmov.f64 d11, #96 @ 0x3f000000 0.5 │ │ │ │ │ + vstr d8, [sp, #312] @ 0x138 │ │ │ │ │ + vmov.f64 d8, #96 @ 0x3f000000 0.5 │ │ │ │ │ vmul.f64 d4, d5, d15 │ │ │ │ │ - vmls.f64 d0, d13, d11 │ │ │ │ │ - vldr d13, [sp, #200] @ 0xc8 │ │ │ │ │ - vsub.f64 d7, d13, d7 │ │ │ │ │ - vldr d13, [pc, #964] @ 888 │ │ │ │ │ + vmls.f64 d0, d11, d8 │ │ │ │ │ + vldr d11, [sp, #184] @ 0xb8 │ │ │ │ │ + vsub.f64 d7, d11, d7 │ │ │ │ │ + vldr d11, [sp, #192] @ 0xc0 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ - vldr d13, [sp, #208] @ 0xd0 │ │ │ │ │ - vsub.f64 d11, d0, d7 │ │ │ │ │ - vstr d11, [sp, #328] @ 0x148 │ │ │ │ │ - vadd.f64 d11, d0, d7 │ │ │ │ │ - vldr d0, [sp, #224] @ 0xe0 │ │ │ │ │ - vsub.f64 d7, d1, d13 │ │ │ │ │ - vldr d13, [pc, #932] @ 888 │ │ │ │ │ - vldr d1, [sp, #192] @ 0xc0 │ │ │ │ │ - vstr d11, [sp, #336] @ 0x150 │ │ │ │ │ - vmov.f64 d11, #96 @ 0x3f000000 0.5 │ │ │ │ │ + vsub.f64 d8, d0, d7 │ │ │ │ │ + vadd.f64 d0, d0, d7 │ │ │ │ │ + vsub.f64 d7, d1, d11 │ │ │ │ │ + vldr d11, [sp, #200] @ 0xc8 │ │ │ │ │ + vstr d0, [sp, #184] @ 0xb8 │ │ │ │ │ + vstr d8, [sp, #320] @ 0x140 │ │ │ │ │ + vmov.f64 d8, #96 @ 0x3f000000 0.5 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ - vmls.f64 d9, d0, d11 │ │ │ │ │ - vadd.f64 d0, d7, d9 │ │ │ │ │ + vldr d0, [sp, #176] @ 0xb0 │ │ │ │ │ + vmls.f64 d9, d10, d8 │ │ │ │ │ + vadd.f64 d1, d7, d9 │ │ │ │ │ vsub.f64 d9, d9, d7 │ │ │ │ │ - vsub.f64 d7, d14, d1 │ │ │ │ │ - vldr d1, [sp, #176] @ 0xb0 │ │ │ │ │ - vmls.f64 d1, d2, d11 │ │ │ │ │ - vstr d0, [sp, #200] @ 0xc8 │ │ │ │ │ + vsub.f64 d7, d12, d0 │ │ │ │ │ + vldr d0, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d1, [sp, #192] @ 0xc0 │ │ │ │ │ + vmls.f64 d0, d2, d8 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ - vadd.f64 d0, d7, d1 │ │ │ │ │ - vsub.f64 d1, d1, d7 │ │ │ │ │ - vldr d7, [sp, #184] @ 0xb8 │ │ │ │ │ - vmls.f64 d7, d3, d11 │ │ │ │ │ - vstr d0, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d0, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d11, [sp, #256] @ 0x100 │ │ │ │ │ - vldr d14, [sp, #128] @ 0x80 │ │ │ │ │ - vsub.f64 d3, d0, d6 │ │ │ │ │ - ldr r4, [sp, #12] │ │ │ │ │ + vadd.f64 d1, d7, d0 │ │ │ │ │ + vsub.f64 d0, d0, d7 │ │ │ │ │ + vldr d7, [sp, #168] @ 0xa8 │ │ │ │ │ + vmls.f64 d7, d3, d8 │ │ │ │ │ + vsub.f64 d3, d11, d6 │ │ │ │ │ + vstr d1, [sp, #176] @ 0xb0 │ │ │ │ │ vmul.f64 d3, d3, d13 │ │ │ │ │ - vsub.f64 d6, d7, d3 │ │ │ │ │ - vadd.f64 d0, d7, d3 │ │ │ │ │ - vldr d7, [pc, #840] @ 890 │ │ │ │ │ - vmov.f64 d3, d11 │ │ │ │ │ - vstr d6, [sp, #184] @ 0xb8 │ │ │ │ │ - vmov.f64 d13, d7 │ │ │ │ │ - vldr d6, [sp, #312] @ 0x138 │ │ │ │ │ - vstr d0, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d0, [sp, #272] @ 0x110 │ │ │ │ │ - vsub.f64 d2, d6, d0 │ │ │ │ │ - vadd.f64 d6, d0, d6 │ │ │ │ │ - vmov.f64 d0, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vadd.f64 d6, d7, d3 │ │ │ │ │ + vsub.f64 d1, d7, d3 │ │ │ │ │ + vldr d7, [pc, #900] @ 8c8 │ │ │ │ │ + vstr d6, [sp, #160] @ 0xa0 │ │ │ │ │ + vmov.f64 d8, d7 │ │ │ │ │ + vldr d3, [sp, #304] @ 0x130 │ │ │ │ │ + ldr r5, [sp, #8] │ │ │ │ │ + vldr d6, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d10, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d12, [sp, #120] @ 0x78 │ │ │ │ │ + vsub.f64 d2, d3, d6 │ │ │ │ │ + vadd.f64 d6, d6, d3 │ │ │ │ │ + vmov.f64 d3, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vmov.f64 d11, d3 │ │ │ │ │ vmul.f64 d2, d2, d7 │ │ │ │ │ - vldr d7, [sp, #136] @ 0x88 │ │ │ │ │ - vmls.f64 d3, d6, d0 │ │ │ │ │ - vadd.f64 d6, d11, d6 │ │ │ │ │ - vsub.f64 d7, d14, d7 │ │ │ │ │ + vmov.f64 d7, d10 │ │ │ │ │ + vmls.f64 d7, d6, d3 │ │ │ │ │ + vadd.f64 d6, d10, d6 │ │ │ │ │ + vmov.f64 d10, d8 │ │ │ │ │ vstr d6, [ip] │ │ │ │ │ - vnmls.f64 d4, d7, d10 │ │ │ │ │ - vmul.f64 d7, d7, d15 │ │ │ │ │ - vmla.f64 d7, d5, d10 │ │ │ │ │ + vmov.f64 d3, d7 │ │ │ │ │ + vldr d7, [sp, #128] @ 0x80 │ │ │ │ │ vadd.f64 d6, d2, d3 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ - vldr d2, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d2, [sp, #312] @ 0x138 │ │ │ │ │ + vsub.f64 d7, d12, d7 │ │ │ │ │ + vldr d12, [pc, #816] @ 8d0 │ │ │ │ │ + vnmls.f64 d4, d7, d12 │ │ │ │ │ + vmul.f64 d7, d7, d15 │ │ │ │ │ + vmla.f64 d7, d5, d12 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vstr d5, [fp] │ │ │ │ │ - vldr d5, [sp, #280] @ 0x118 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ vsub.f64 d7, d3, d4 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ - vldr d3, [sp, #112] @ 0x70 │ │ │ │ │ - vsub.f64 d6, d2, d5 │ │ │ │ │ - ldr r4, [sp, #56] @ 0x38 │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ - vmul.f64 d6, d6, d13 │ │ │ │ │ - vldr d13, [sp, #120] @ 0x78 │ │ │ │ │ + vmov.f64 d3, d11 │ │ │ │ │ + ldr r5, [sp, #16] │ │ │ │ │ + vldr d11, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + ldr r4, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d7, [sp, #112] @ 0x70 │ │ │ │ │ vstr d4, [r4] │ │ │ │ │ - vadd.f64 d4, d5, d2 │ │ │ │ │ - vldr d2, [sp, #264] @ 0x108 │ │ │ │ │ - vsub.f64 d7, d13, d3 │ │ │ │ │ - vldr d13, [sp, #232] @ 0xe8 │ │ │ │ │ - ldr r4, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d4, [sp, #256] @ 0x100 │ │ │ │ │ + vsub.f64 d7, d7, d11 │ │ │ │ │ + vldr d11, [sp, #208] @ 0xd0 │ │ │ │ │ + vsub.f64 d6, d2, d4 │ │ │ │ │ + vadd.f64 d4, d4, d2 │ │ │ │ │ + vldr d2, [sp, #240] @ 0xf0 │ │ │ │ │ + vsub.f64 d14, d14, d11 │ │ │ │ │ + vldr d11, [sp, #88] @ 0x58 │ │ │ │ │ vmov.f64 d5, d2 │ │ │ │ │ - vsub.f64 d12, d13, d12 │ │ │ │ │ - vmls.f64 d5, d4, d0 │ │ │ │ │ + vmul.f64 d6, d6, d8 │ │ │ │ │ + vldr d8, [sp, #320] @ 0x140 │ │ │ │ │ + vmls.f64 d5, d4, d3 │ │ │ │ │ + vmul.f64 d3, d14, d12 │ │ │ │ │ vadd.f64 d4, d2, d4 │ │ │ │ │ - vmul.f64 d3, d12, d10 │ │ │ │ │ - vstr d4, [r0] │ │ │ │ │ - ldr r0, [sp, #64] @ 0x40 │ │ │ │ │ vnmls.f64 d3, d7, d15 │ │ │ │ │ - vmul.f64 d7, d7, d10 │ │ │ │ │ - vmla.f64 d7, d12, d15 │ │ │ │ │ + vmul.f64 d7, d7, d12 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ + vmla.f64 d7, d14, d15 │ │ │ │ │ vsub.f64 d4, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vldr d5, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d12, [pc, #628] @ 890 │ │ │ │ │ + vmov.f64 d14, d10 │ │ │ │ │ vsub.f64 d2, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vstr d2, [r0] │ │ │ │ │ - ldr r0, [sp, #32] │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ + vldr d4, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + vsub.f64 d4, d4, d11 │ │ │ │ │ + ldr r3, [sp, #28] │ │ │ │ │ + vldr d2, [sp, #136] @ 0x88 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d3, d6 │ │ │ │ │ - ldr r0, [sp, #20] │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ - vsub.f64 d6, d1, d9 │ │ │ │ │ - vadd.f64 d9, d9, d1 │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ - vldr d7, [sp, #152] @ 0x98 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ - vldr d4, [sp, #96] @ 0x60 │ │ │ │ │ - vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d11, [sp, #328] @ 0x148 │ │ │ │ │ - vldr d14, [sp, #288] @ 0x120 │ │ │ │ │ - vldr d2, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d3, [sp, #160] @ 0xa0 │ │ │ │ │ + vsub.f64 d6, d0, d9 │ │ │ │ │ + vadd.f64 d9, d9, d0 │ │ │ │ │ + vmov.f64 d0, d14 │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ + vsub.f64 d7, d5, d2 │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ vmul.f64 d5, d7, d15 │ │ │ │ │ - vldr d13, [sp, #240] @ 0xf0 │ │ │ │ │ - vmla.f64 d5, d6, d10 │ │ │ │ │ + vmla.f64 d5, d6, d12 │ │ │ │ │ vmul.f64 d6, d6, d15 │ │ │ │ │ - ldr r5, [sp, #16] │ │ │ │ │ - vsub.f64 d4, d4, d13 │ │ │ │ │ - ldr r4, [sp, #28] │ │ │ │ │ - vldr d1, [sp, #168] @ 0xa8 │ │ │ │ │ - vnmls.f64 d6, d7, d10 │ │ │ │ │ - vadd.f64 d7, d11, d2 │ │ │ │ │ - vadd.f64 d2, d14, d3 │ │ │ │ │ + vnmls.f64 d6, d7, d12 │ │ │ │ │ + vldr d12, [sp, #264] @ 0x108 │ │ │ │ │ + vadd.f64 d7, d8, d1 │ │ │ │ │ + vldr d11, [sp, #296] @ 0x128 │ │ │ │ │ + ldr r4, [sp, #12] │ │ │ │ │ + ldr r5, [sp, #24] │ │ │ │ │ + vadd.f64 d2, d12, d11 │ │ │ │ │ + ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d14, [sp, #288] @ 0x120 │ │ │ │ │ vadd.f64 d3, d7, d2 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ - vmov.f64 d2, d4 │ │ │ │ │ - vmls.f64 d2, d3, d0 │ │ │ │ │ - vmul.f64 d7, d7, d12 │ │ │ │ │ + vmov.f64 d2, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vmul.f64 d7, d7, d10 │ │ │ │ │ + vmov.f64 d10, d4 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ + vmls.f64 d10, d3, d2 │ │ │ │ │ + vldr d2, [sp, #136] @ 0x88 │ │ │ │ │ vstr d4, [sl] │ │ │ │ │ - vsub.f64 d4, d2, d7 │ │ │ │ │ - vadd.f64 d7, d7, d2 │ │ │ │ │ - vldr d2, [sp, #144] @ 0x90 │ │ │ │ │ + vsub.f64 d4, d10, d7 │ │ │ │ │ + vadd.f64 d7, d7, d10 │ │ │ │ │ vsub.f64 d3, d4, d6 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ vstr d3, [r7] │ │ │ │ │ - vstr d6, [r5] │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ vsub.f64 d6, d7, d5 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ - vldr d3, [sp, #160] @ 0xa0 │ │ │ │ │ - ldr r7, [sp, #24] │ │ │ │ │ - ldr r5, [sp, #44] @ 0x2c │ │ │ │ │ + vmov.f64 d7, d12 │ │ │ │ │ + ldr r7, [sp, #20] │ │ │ │ │ + vldr d12, [sp, #216] @ 0xd8 │ │ │ │ │ + vsub.f64 d7, d7, d11 │ │ │ │ │ + vldr d11, [pc, #476] @ 8d0 │ │ │ │ │ vstr d6, [lr] │ │ │ │ │ - vsub.f64 d7, d14, d3 │ │ │ │ │ - vstr d5, [r1] │ │ │ │ │ - vldr d5, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d14, [sp, #248] @ 0xf8 │ │ │ │ │ - vsub.f64 d6, d11, d5 │ │ │ │ │ + vsub.f64 d6, d8, d1 │ │ │ │ │ + vmov.f64 d8, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + ldr r3, [sp, #0] │ │ │ │ │ + vldr d1, [sp, #232] @ 0xe8 │ │ │ │ │ vmul.f64 d5, d7, d15 │ │ │ │ │ - vldr d11, [sp, #336] @ 0x150 │ │ │ │ │ - vmla.f64 d5, d6, d10 │ │ │ │ │ + vmla.f64 d5, d6, d11 │ │ │ │ │ vmul.f64 d6, d6, d15 │ │ │ │ │ - vnmls.f64 d6, d7, d10 │ │ │ │ │ - vldr d7, [sp, #104] @ 0x68 │ │ │ │ │ - vsub.f64 d4, d7, d14 │ │ │ │ │ - vldr d7, [sp, #152] @ 0x98 │ │ │ │ │ + vsub.f64 d4, d1, d12 │ │ │ │ │ + vnmls.f64 d6, d7, d11 │ │ │ │ │ + vldr d7, [sp, #144] @ 0x90 │ │ │ │ │ + vmov.f64 d10, d4 │ │ │ │ │ vadd.f64 d7, d2, d7 │ │ │ │ │ - vmov.f64 d2, d4 │ │ │ │ │ + vldr d2, [sp, #192] @ 0xc0 │ │ │ │ │ vadd.f64 d3, d7, d9 │ │ │ │ │ vsub.f64 d7, d7, d9 │ │ │ │ │ - vmov.f64 d9, d12 │ │ │ │ │ - vmls.f64 d2, d3, d0 │ │ │ │ │ - vmul.f64 d7, d7, d12 │ │ │ │ │ + vldr d9, [sp, #272] @ 0x110 │ │ │ │ │ + vmls.f64 d10, d3, d8 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ - vldr d12, [sp, #296] @ 0x128 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ vstr d4, [r7] │ │ │ │ │ - vadd.f64 d4, d7, d2 │ │ │ │ │ - vsub.f64 d7, d7, d2 │ │ │ │ │ + ldr r7, [sp, #40] @ 0x28 │ │ │ │ │ + vadd.f64 d4, d7, d10 │ │ │ │ │ + vsub.f64 d7, d7, d10 │ │ │ │ │ vsub.f64 d3, d6, d4 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ vstr d3, [r6] │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ vadd.f64 d6, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [sp, #192] @ 0xc0 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ - vsub.f64 d6, d8, d1 │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ - vsub.f64 d7, d11, d5 │ │ │ │ │ + ldr r1, [sp, #4] │ │ │ │ │ + vldr d5, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d3, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d6, [r5] │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ + vldr d7, [sp, #184] @ 0xb8 │ │ │ │ │ + vsub.f64 d6, d9, d3 │ │ │ │ │ + vadd.f64 d3, d12, d1 │ │ │ │ │ + vldr d12, [sp, #280] @ 0x118 │ │ │ │ │ + vsub.f64 d7, d7, d5 │ │ │ │ │ + vmov.f64 d10, d3 │ │ │ │ │ vmul.f64 d5, d7, d15 │ │ │ │ │ - vnmls.f64 d5, d6, d10 │ │ │ │ │ + vnmls.f64 d5, d6, d11 │ │ │ │ │ vmul.f64 d6, d6, d15 │ │ │ │ │ - vmla.f64 d6, d7, d10 │ │ │ │ │ - vldr d7, [sp, #104] @ 0x68 │ │ │ │ │ - vadd.f64 d3, d14, d7 │ │ │ │ │ - vldr d14, [sp, #304] @ 0x130 │ │ │ │ │ - vldr d2, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d4, [sp, #176] @ 0xb0 │ │ │ │ │ + vmla.f64 d6, d7, d11 │ │ │ │ │ + vldr d11, [sp, #176] @ 0xb0 │ │ │ │ │ vsub.f64 d7, d12, d14 │ │ │ │ │ - ldr r2, [sp, #4] │ │ │ │ │ - ldr r1, [sp, #8] │ │ │ │ │ - vadd.f64 d1, d2, d4 │ │ │ │ │ - vmov.f64 d4, d3 │ │ │ │ │ - ldr r5, [sp, #88] @ 0x58 │ │ │ │ │ - ldr r0, [sp, #80] @ 0x50 │ │ │ │ │ - ldr r4, [sp, #52] @ 0x34 │ │ │ │ │ + vadd.f64 d1, d2, d11 │ │ │ │ │ vsub.f64 d2, d7, d1 │ │ │ │ │ vadd.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [sp, #168] @ 0xa8 │ │ │ │ │ - ldr r7, [sp, #48] @ 0x30 │ │ │ │ │ - vmla.f64 d4, d2, d0 │ │ │ │ │ - vmul.f64 d7, d7, d9 │ │ │ │ │ + vmla.f64 d10, d2, d8 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ vsub.f64 d2, d2, d3 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ - vadd.f64 d3, d4, d7 │ │ │ │ │ - vsub.f64 d4, d4, d7 │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + vadd.f64 d3, d10, d7 │ │ │ │ │ + vsub.f64 d4, d10, d7 │ │ │ │ │ vadd.f64 d2, d6, d3 │ │ │ │ │ vsub.f64 d7, d5, d4 │ │ │ │ │ vsub.f64 d3, d3, d6 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ - vldr d4, [sp, #96] @ 0x60 │ │ │ │ │ + vmov.f64 d6, d11 │ │ │ │ │ + vldr d11, [pc, #228] @ 8d0 │ │ │ │ │ vstr d2, [r1] │ │ │ │ │ - vstr d3, [r5] │ │ │ │ │ - vadd.f64 d3, d8, d1 │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ - vldr d2, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d7, [sp, #176] @ 0xb0 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ + ldrd r0, r1, [sp, #80] @ 0x50 │ │ │ │ │ + ldrd r6, r4, [sp, #32] │ │ │ │ │ + ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d3, [r1] │ │ │ │ │ + vldr d2, [sp, #192] @ 0xc0 │ │ │ │ │ + vldr d4, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ vadd.f64 d5, d12, d14 │ │ │ │ │ - ldr r3, [sp, #464] @ 0x1d0 │ │ │ │ │ - vsub.f64 d7, d7, d2 │ │ │ │ │ - ldr r1, [sp, #36] @ 0x24 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #464] @ 0x1d0 │ │ │ │ │ + vldr d3, [sp, #160] @ 0xa0 │ │ │ │ │ + vsub.f64 d7, d6, d2 │ │ │ │ │ + ldr r5, [sp, #44] @ 0x2c │ │ │ │ │ + ldr r3, [sp, #448] @ 0x1c0 │ │ │ │ │ vmul.f64 d6, d5, d15 │ │ │ │ │ - ldr r3, [sp, #348] @ 0x15c │ │ │ │ │ - vmla.f64 d6, d7, d10 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + vmla.f64 d6, d7, d11 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ + str r3, [sp, #448] @ 0x1c0 │ │ │ │ │ + ldr r3, [sp, #332] @ 0x14c │ │ │ │ │ + ldr r2, [sp, #448] @ 0x1c0 │ │ │ │ │ + vnmls.f64 d7, d5, d11 │ │ │ │ │ + vldr d11, [sp, #88] @ 0x58 │ │ │ │ │ add ip, r3 │ │ │ │ │ - ldr r3, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d5, [sp, #184] @ 0xb8 │ │ │ │ │ + ldr r3, [sp, #336] @ 0x150 │ │ │ │ │ + vadd.f64 d4, d11, d4 │ │ │ │ │ + vadd.f64 d5, d5, d3 │ │ │ │ │ + vldr d3, [sp, #152] @ 0x98 │ │ │ │ │ add lr, r3 │ │ │ │ │ - ldr r3, [sp, #356] @ 0x164 │ │ │ │ │ - vnmls.f64 d7, d5, d10 │ │ │ │ │ - vadd.f64 d5, d13, d4 │ │ │ │ │ - vldr d4, [sp, #192] @ 0xc0 │ │ │ │ │ + ldr r3, [sp, #340] @ 0x154 │ │ │ │ │ + vadd.f64 d3, d9, d3 │ │ │ │ │ eor.w r9, r9, r3 │ │ │ │ │ - vadd.f64 d4, d11, d4 │ │ │ │ │ - vadd.f64 d2, d4, d3 │ │ │ │ │ - vsub.f64 d4, d4, d3 │ │ │ │ │ - vmov.f64 d3, d5 │ │ │ │ │ - vmls.f64 d3, d2, d0 │ │ │ │ │ - vadd.f64 d5, d5, d2 │ │ │ │ │ - vmul.f64 d4, d4, d9 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ - ldr r4, [sp, #344] @ 0x158 │ │ │ │ │ - vadd.f64 d5, d4, d3 │ │ │ │ │ - vsub.f64 d4, d3, d4 │ │ │ │ │ - vsub.f64 d2, d5, d6 │ │ │ │ │ - vadd.f64 d6, d6, d5 │ │ │ │ │ - vsub.f64 d5, d4, d7 │ │ │ │ │ - vadd.f64 d7, d7, d4 │ │ │ │ │ - vstr d2, [r7] │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - ldrd r2, r3, [sp, #464] @ 0x1d0 │ │ │ │ │ + ldr r3, [sp, #452] @ 0x1c4 │ │ │ │ │ + vadd.f64 d2, d5, d3 │ │ │ │ │ + vsub.f64 d5, d5, d3 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - b.n 898 │ │ │ │ │ + vmov.f64 d3, d4 │ │ │ │ │ + vmls.f64 d3, d2, d8 │ │ │ │ │ + vmul.f64 d5, d5, d0 │ │ │ │ │ + vadd.f64 d4, d4, d2 │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ + vadd.f64 d4, d5, d3 │ │ │ │ │ + vsub.f64 d3, d3, d5 │ │ │ │ │ + vsub.f64 d2, d4, d6 │ │ │ │ │ + vsub.f64 d5, d3, d7 │ │ │ │ │ + vadd.f64 d6, d6, d4 │ │ │ │ │ + vadd.f64 d7, d7, d3 │ │ │ │ │ + vstr d2, [r5] │ │ │ │ │ + ldr r5, [sp, #328] @ 0x148 │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ + vstr d5, [r5] │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + bne.w 78 │ │ │ │ │ + add sp, #348 @ 0x15c │ │ │ │ │ + vpop {d8-d15} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop │ │ │ │ │ - nop.w │ │ │ │ │ - .word 0xe8584caa │ │ │ │ │ - .word 0x3febb67a │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ - bne.w 46 │ │ │ │ │ - add sp, #364 @ 0x16c │ │ │ │ │ - vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + .word 0x134454ff │ │ │ │ │ + .word 0x3fee6f0e │ │ │ │ │ │ │ │ │ │ -000008a8 : │ │ │ │ │ +000008d8 : │ │ │ │ │ fftw_codelet_hf_15(): │ │ │ │ │ - ldr r2, [pc, #8] @ (8b4 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (8b8 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (8e4 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (8e8 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2hc_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── hf_16.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2820 (bytes into file) │ │ │ │ │ + Start of section headers: 2884 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0xb04: │ │ │ │ │ +There are 14 section headers, starting at offset 0xb44: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0007cc 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000a4c 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000800 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000800 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000800 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000806 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 00080e 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000a74 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 00083e 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00083e 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000874 000150 10 12 16 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 0009c4 000087 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000a8c 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00080c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000a8c 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000840 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000840 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000840 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000846 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 00084e 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000ab4 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 00087e 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00087e 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 0008b4 000150 10 12 16 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000a04 000087 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000acc 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 21 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1976 FUNC LOCAL DEFAULT 1 hf_16 │ │ │ │ │ + 1: 00000001 2040 FUNC LOCAL DEFAULT 1 hf_16 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000050 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000068 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000007b0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 000007b8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 000007c4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000060 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000078 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000007f0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 000007f8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00000804 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 13: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 14: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 15: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 18: 000007b9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_16 │ │ │ │ │ + 18: 000007f9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_16 │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2hc_register │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xa4c contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xa8c contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000060 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000064 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000007c4 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000007c8 00000103 R_ARM_REL32 00000001 hf_16 │ │ │ │ │ -000007c0 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ +00000070 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000074 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000804 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000808 00000103 R_ARM_REL32 00000001 hf_16 │ │ │ │ │ +00000800 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xa74 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xab4 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000a02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001402 R_ARM_ABS32 00000000 fftw_rdft_hf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,350 +1,344 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hf_16(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r6, r0 │ │ │ │ │ - mov r7, r1 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r7, r0 │ │ │ │ │ + mov r8, r1 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov r9, r3 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #340 @ 0x154 │ │ │ │ │ - mov r8, r3 │ │ │ │ │ - ldr r3, [pc, #76] @ (60 ) │ │ │ │ │ ldrd r1, r0, [sp, #440] @ 0x1b8 │ │ │ │ │ - add r3, pc │ │ │ │ │ + ldr r3, [pc, #72] @ (70 ) │ │ │ │ │ cmp r1, r0 │ │ │ │ │ - bge.w 7a2 │ │ │ │ │ + add r3, pc │ │ │ │ │ + bge.w 7d2 │ │ │ │ │ ldr r1, [sp, #448] @ 0x1c0 │ │ │ │ │ - mov ip, r7 │ │ │ │ │ - vldr d15, [pc, #44] @ 50 │ │ │ │ │ - mov r7, r6 │ │ │ │ │ - vldr d14, [pc, #44] @ 58 │ │ │ │ │ - mov lr, r8 │ │ │ │ │ - lsls r1, r1, #3 │ │ │ │ │ + mov ip, r8 │ │ │ │ │ + mov lr, r9 │ │ │ │ │ + vldr d15, [pc, #40] @ 60 │ │ │ │ │ + vldr d14, [pc, #44] @ 68 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ str r1, [sp, #324] @ 0x144 │ │ │ │ │ - negs r1, r1 │ │ │ │ │ + rsb r1, r1, #0 │ │ │ │ │ str r1, [sp, #328] @ 0x148 │ │ │ │ │ - ldr r1, [pc, #44] @ (64 ) │ │ │ │ │ + ldr r1, [pc, #40] @ (74 ) │ │ │ │ │ ldr r3, [r3, r1] │ │ │ │ │ - ldr r1, [sp, #440] @ 0x1b8 │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ str r3, [sp, #332] @ 0x14c │ │ │ │ │ - movs r3, #240 @ 0xf0 │ │ │ │ │ - mla r5, r3, r1, r2 │ │ │ │ │ + ldr r3, [sp, #440] @ 0x1b8 │ │ │ │ │ + rsb r3, r3, r3, lsl #4 │ │ │ │ │ + add.w r5, r2, r3, lsl #4 │ │ │ │ │ mov r6, r5 │ │ │ │ │ - b.n 68 │ │ │ │ │ + b.n 78 │ │ │ │ │ nop │ │ │ │ │ - nop.w │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ - .word 0x00000046 │ │ │ │ │ + .word 0x00000044 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ mov.w r3, lr, lsl #6 │ │ │ │ │ - vldr d1, [r6, #-120] @ 0xffffff88 │ │ │ │ │ - add.w r1, ip, r3 │ │ │ │ │ - adds r2, r7, r3 │ │ │ │ │ vldr d3, [r6, #-128] @ 0xffffff80 │ │ │ │ │ - vldr d4, [r7] │ │ │ │ │ - vldr d2, [r1] │ │ │ │ │ + add.w r0, ip, r3 │ │ │ │ │ + vldr d1, [r6, #-120] @ 0xffffff88 │ │ │ │ │ + add.w r2, r7, r3 │ │ │ │ │ + vldr d2, [r0] │ │ │ │ │ + strd r2, r0, [sp] │ │ │ │ │ + mov.w r0, lr, lsl #4 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ mov.w r2, lr, lsl #5 │ │ │ │ │ - vmul.f64 d6, d2, d1 │ │ │ │ │ + add.w r9, ip, r0 │ │ │ │ │ + add.w r8, r7, r0 │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ add.w fp, ip, r2 │ │ │ │ │ - vmla.f64 d6, d7, d3 │ │ │ │ │ - vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d5, [ip] │ │ │ │ │ add.w sl, r7, r2 │ │ │ │ │ add.w r5, fp, r3 │ │ │ │ │ - add.w r0, sl, r3 │ │ │ │ │ - mov.w r2, lr, lsl #4 │ │ │ │ │ - str r1, [sp, #4] │ │ │ │ │ - vnmls.f64 d7, d2, d3 │ │ │ │ │ - add.w r9, ip, r2 │ │ │ │ │ - add.w r8, r7, r2 │ │ │ │ │ + add.w r4, sl, r3 │ │ │ │ │ + vmul.f64 d6, d2, d1 │ │ │ │ │ + vldr d5, [ip] │ │ │ │ │ + add.w r1, r8, r3 │ │ │ │ │ add.w r2, r9, r3 │ │ │ │ │ - add.w r4, r8, r3 │ │ │ │ │ - str r0, [sp, #8] │ │ │ │ │ - str r5, [sp, #12] │ │ │ │ │ - movs r1, #112 @ 0x70 │ │ │ │ │ + strd r4, r5, [sp, #8] │ │ │ │ │ + mov.w r3, lr, lsl #3 │ │ │ │ │ + str r1, [sp, #16] │ │ │ │ │ + sub.w r0, r0, lr │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ + vmla.f64 d6, d7, d3 │ │ │ │ │ + vmul.f64 d7, d7, d1 │ │ │ │ │ + vnmls.f64 d7, d2, d3 │ │ │ │ │ vadd.f64 d3, d4, d6 │ │ │ │ │ - str r4, [sp, #16] │ │ │ │ │ vsub.f64 d6, d4, d6 │ │ │ │ │ vldr d4, [sl] │ │ │ │ │ - mul.w r3, r1, lr │ │ │ │ │ - vstr d3, [sp, #80] @ 0x50 │ │ │ │ │ vsub.f64 d2, d5, d7 │ │ │ │ │ - vldr d3, [r6, #-184] @ 0xffffff48 │ │ │ │ │ vadd.f64 d1, d5, d7 │ │ │ │ │ - vstr d6, [sp, #96] @ 0x60 │ │ │ │ │ - adds r1, r7, r3 │ │ │ │ │ - vldr d6, [fp] │ │ │ │ │ vldr d7, [r6, #-192] @ 0xffffff40 │ │ │ │ │ + vstr d3, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d3, [r6, #-184] @ 0xffffff48 │ │ │ │ │ vstr d2, [sp, #88] @ 0x58 │ │ │ │ │ - vmul.f64 d5, d6, d3 │ │ │ │ │ + vstr d6, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d6, [fp] │ │ │ │ │ + vstr d1, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d1, [r6, #-56] @ 0xffffffc8 │ │ │ │ │ vldr d2, [r5] │ │ │ │ │ + vmul.f64 d5, d6, d3 │ │ │ │ │ vmla.f64 d5, d4, d7 │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ - vstr d1, [sp, #104] @ 0x68 │ │ │ │ │ - movs r5, #48 @ 0x30 │ │ │ │ │ - vldr d1, [r6, #-56] @ 0xffffffc8 │ │ │ │ │ vldr d3, [r6, #-64] @ 0xffffffc0 │ │ │ │ │ vnmls.f64 d4, d6, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ - add.w r0, ip, r3 │ │ │ │ │ - mul.w r3, r5, lr │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - adds r5, r7, r3 │ │ │ │ │ - add r3, ip │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ vldr d3, [r6, #-216] @ 0xffffff28 │ │ │ │ │ vadd.f64 d0, d5, d6 │ │ │ │ │ vsub.f64 d8, d5, d6 │ │ │ │ │ vldr d5, [r6, #-224] @ 0xffffff20 │ │ │ │ │ vsub.f64 d10, d4, d7 │ │ │ │ │ vadd.f64 d11, d4, d7 │ │ │ │ │ vldr d4, [r9] │ │ │ │ │ - vldr d7, [r8] │ │ │ │ │ vstr d0, [sp, #112] @ 0x70 │ │ │ │ │ - vmul.f64 d6, d4, d3 │ │ │ │ │ + vldr d7, [r8] │ │ │ │ │ vstr d8, [sp, #120] @ 0x78 │ │ │ │ │ - vmla.f64 d6, d7, d5 │ │ │ │ │ - vmul.f64 d7, d7, d3 │ │ │ │ │ + vmul.f64 d6, d4, d3 │ │ │ │ │ vstr d10, [sp, #128] @ 0x80 │ │ │ │ │ vstr d11, [sp, #136] @ 0x88 │ │ │ │ │ + vmla.f64 d6, d7, d5 │ │ │ │ │ + vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d4, d5 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + sub.w r1, r3, lr │ │ │ │ │ str r2, [sp, #20] │ │ │ │ │ - movs r4, #120 @ 0x78 │ │ │ │ │ vldr d2, [r2] │ │ │ │ │ + mov.w r2, r1, lsl #4 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ vldr d1, [r6, #-88] @ 0xffffffa8 │ │ │ │ │ + add.w r5, ip, r2 │ │ │ │ │ + add.w r4, r7, r2 │ │ │ │ │ + add.w r2, lr, lr, lsl #1 │ │ │ │ │ vldr d3, [r6, #-96] @ 0xffffffa0 │ │ │ │ │ - str r3, [sp, #36] @ 0x24 │ │ │ │ │ + strd r4, r5, [sp, #24] │ │ │ │ │ + vldr d10, [r6, #-8] │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ - str r1, [sp, #24] │ │ │ │ │ vmla.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vldr d1, [r6, #-152] @ 0xffffff68 │ │ │ │ │ - vldr d10, [r6, #-8] │ │ │ │ │ - str r0, [sp, #28] │ │ │ │ │ vnmls.f64 d5, d2, d3 │ │ │ │ │ vldr d3, [r6, #-24] @ 0xffffffe8 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ - mul.w r3, r4, lr │ │ │ │ │ - str r5, [sp, #32] │ │ │ │ │ - adds r4, r7, r3 │ │ │ │ │ - add.w r2, ip, r3 │ │ │ │ │ vadd.f64 d12, d6, d4 │ │ │ │ │ - str r4, [sp, #40] @ 0x28 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ - str r2, [sp, #44] @ 0x2c │ │ │ │ │ - mov.w r3, lr, lsl #3 │ │ │ │ │ vadd.f64 d13, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vstr d12, [sp, #144] @ 0x90 │ │ │ │ │ vldr d5, [r6, #-32] @ 0xffffffe0 │ │ │ │ │ + vstr d12, [sp, #144] @ 0x90 │ │ │ │ │ vsub.f64 d4, d6, d7 │ │ │ │ │ vadd.f64 d12, d6, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - movs r1, #88 @ 0x58 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + mov.w r4, r2, lsl #4 │ │ │ │ │ vstr d13, [sp, #152] @ 0x98 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ vstr d4, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ - movs r0, #56 @ 0x38 │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ + add.w r5, r7, r4 │ │ │ │ │ + add r4, ip │ │ │ │ │ + vldr d2, [r4] │ │ │ │ │ + strd r5, r4, [sp, #32] │ │ │ │ │ + add.w r4, r7, r0 │ │ │ │ │ + add r0, ip │ │ │ │ │ vstr d12, [sp, #168] @ 0xa8 │ │ │ │ │ + strd r4, r0, [sp, #40] @ 0x28 │ │ │ │ │ vmul.f64 d6, d4, d3 │ │ │ │ │ vmla.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vldr d3, [r6, #-160] @ 0xffffff60 │ │ │ │ │ vnmls.f64 d7, d4, d5 │ │ │ │ │ vldr d5, [r5] │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ - mul.w r5, r0, lr │ │ │ │ │ vmla.f64 d4, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - adds r0, r7, r5 │ │ │ │ │ - add r5, ip │ │ │ │ │ vnmls.f64 d5, d2, d3 │ │ │ │ │ vadd.f64 d0, d6, d4 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vadd.f64 d11, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - movs r2, #24 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + mov.w r0, #88 @ 0x58 │ │ │ │ │ vstr d0, [sp, #176] @ 0xb0 │ │ │ │ │ + mul.w r5, r0, lr │ │ │ │ │ vadd.f64 d13, d6, d7 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ + vldr d6, [r6, #-16] │ │ │ │ │ vstr d11, [sp, #184] @ 0xb8 │ │ │ │ │ vmul.f64 d11, d5, d10 │ │ │ │ │ - vldr d6, [r6, #-16] │ │ │ │ │ + add.w r0, r7, r5 │ │ │ │ │ + add r5, ip │ │ │ │ │ + str r0, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d13, [sp, #192] @ 0xc0 │ │ │ │ │ vstr d7, [sp, #200] @ 0xc8 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ - mul.w r4, r1, lr │ │ │ │ │ - vstr d13, [sp, #192] @ 0xc0 │ │ │ │ │ - adds r1, r7, r4 │ │ │ │ │ - add r4, ip │ │ │ │ │ + add.w r4, r7, r3 │ │ │ │ │ vmul.f64 d10, d7, d10 │ │ │ │ │ vmla.f64 d11, d7, d6 │ │ │ │ │ - str r1, [sp, #48] @ 0x30 │ │ │ │ │ vnmls.f64 d10, d5, d6 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - adds r1, r7, r3 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + add.w r0, r7, r1 │ │ │ │ │ + add r1, ip │ │ │ │ │ vldr d7, [r6, #-80] @ 0xffffffb0 │ │ │ │ │ + str r0, [sp, #52] @ 0x34 │ │ │ │ │ + vldr d8, [r6, #-200] @ 0xffffff38 │ │ │ │ │ + str r4, [sp, #60] @ 0x3c │ │ │ │ │ vldr d4, [r6, #-72] @ 0xffffffb8 │ │ │ │ │ vldr d1, [r6, #-136] @ 0xffffff78 │ │ │ │ │ - str r0, [sp, #52] @ 0x34 │ │ │ │ │ vmul.f64 d2, d6, d4 │ │ │ │ │ - vldr d8, [r6, #-200] @ 0xffffff38 │ │ │ │ │ vmla.f64 d2, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d4 │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ - str r1, [sp, #60] @ 0x3c │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ vldr d7, [r6, #-144] @ 0xffffff70 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - mul.w r0, r2, lr │ │ │ │ │ vmul.f64 d3, d4, d1 │ │ │ │ │ - adds r2, r7, r0 │ │ │ │ │ - add r0, ip │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + add.w r0, r7, r2 │ │ │ │ │ + add r2, ip │ │ │ │ │ + vldr d0, [r2] │ │ │ │ │ + str r0, [sp, #56] @ 0x38 │ │ │ │ │ vmla.f64 d3, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ vldr d1, [r6, #-208] @ 0xffffff30 │ │ │ │ │ - vldr d0, [r0] │ │ │ │ │ - str r2, [sp, #56] @ 0x38 │ │ │ │ │ vnmls.f64 d6, d4, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ vmul.f64 d4, d0, d8 │ │ │ │ │ - add.w r2, ip, r3 │ │ │ │ │ - str r2, [sp, #64] @ 0x40 │ │ │ │ │ - movs r3, #72 @ 0x48 │ │ │ │ │ + add.w r0, ip, r3 │ │ │ │ │ + add r3, lr │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + str r0, [sp, #64] @ 0x40 │ │ │ │ │ vmla.f64 d4, d7, d1 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ - mul.w r3, r3, lr │ │ │ │ │ + vadd.f64 d13, d10, d6 │ │ │ │ │ + vsub.f64 d6, d10, d6 │ │ │ │ │ vnmls.f64 d7, d0, d1 │ │ │ │ │ vadd.f64 d0, d11, d3 │ │ │ │ │ - vadd.f64 d13, d10, d6 │ │ │ │ │ vsub.f64 d11, d11, d3 │ │ │ │ │ - vsub.f64 d6, d10, d6 │ │ │ │ │ vadd.f64 d1, d2, d4 │ │ │ │ │ - vstr d0, [sp, #208] @ 0xd0 │ │ │ │ │ vsub.f64 d4, d4, d2 │ │ │ │ │ - vstr d13, [sp, #224] @ 0xe0 │ │ │ │ │ + vstr d0, [sp, #208] @ 0xd0 │ │ │ │ │ vadd.f64 d12, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ vadd.f64 d2, d6, d4 │ │ │ │ │ vsub.f64 d9, d6, d4 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - vsub.f64 d8, d0, d1 │ │ │ │ │ - movs r2, #104 @ 0x68 │ │ │ │ │ vstr d1, [sp, #216] @ 0xd8 │ │ │ │ │ + vsub.f64 d8, d0, d1 │ │ │ │ │ + vldr d1, [r6, #-232] @ 0xffffff18 │ │ │ │ │ + vstr d13, [sp, #224] @ 0xe0 │ │ │ │ │ vsub.f64 d6, d11, d7 │ │ │ │ │ vadd.f64 d7, d11, d7 │ │ │ │ │ - vldr d1, [r6, #-232] @ 0xffffff18 │ │ │ │ │ + vstr d12, [sp, #232] @ 0xe8 │ │ │ │ │ vsub.f64 d0, d13, d12 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ - vstr d8, [sp, #256] @ 0x100 │ │ │ │ │ + vstr d2, [sp, #240] @ 0xf0 │ │ │ │ │ vstr d9, [sp, #272] @ 0x110 │ │ │ │ │ - vstr d7, [sp, #280] @ 0x118 │ │ │ │ │ + vstr d8, [sp, #256] @ 0x100 │ │ │ │ │ vmul.f64 d8, d5, d1 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ vmov.f64 d9, d6 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ vldr d6, [r6, #-240] @ 0xffffff10 │ │ │ │ │ - add r2, ip │ │ │ │ │ + vstr d7, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + mov.w r4, #104 @ 0x68 │ │ │ │ │ vstr d0, [sp, #264] @ 0x108 │ │ │ │ │ - vmul.f64 d1, d7, d1 │ │ │ │ │ + mul.w r4, r4, lr │ │ │ │ │ vldr d0, [r6, #-40] @ 0xffffffd8 │ │ │ │ │ + add.w r0, r7, r4 │ │ │ │ │ + add r4, ip │ │ │ │ │ + vmul.f64 d1, d7, d1 │ │ │ │ │ vmla.f64 d8, d7, d6 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - str r1, [sp, #68] @ 0x44 │ │ │ │ │ - adds r1, r7, r3 │ │ │ │ │ - vstr d2, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + str r0, [sp, #68] @ 0x44 │ │ │ │ │ + add.w r0, r7, r3 │ │ │ │ │ add r3, ip │ │ │ │ │ vnmls.f64 d1, d5, d6 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ vldr d6, [r6, #-48] @ 0xffffffd0 │ │ │ │ │ - vstr d12, [sp, #232] @ 0xe8 │ │ │ │ │ + strd r0, r3, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d11, [r6, #-168] @ 0xffffff58 │ │ │ │ │ + vstr d9, [sp, #248] @ 0xf8 │ │ │ │ │ vmul.f64 d2, d5, d0 │ │ │ │ │ vmul.f64 d0, d7, d0 │ │ │ │ │ - str r1, [sp, #72] @ 0x48 │ │ │ │ │ - vmla.f64 d2, d7, d6 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - movs r1, #40 @ 0x28 │ │ │ │ │ vldr d3, [r6, #-104] @ 0xffffff98 │ │ │ │ │ vnmls.f64 d0, d5, d6 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ + vmla.f64 d2, d7, d6 │ │ │ │ │ vldr d6, [r6, #-112] @ 0xffffff90 │ │ │ │ │ - mul.w r1, r1, lr │ │ │ │ │ - str r3, [sp, #76] @ 0x4c │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + add.w r0, lr, lr, lsl #2 │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ - adds r3, r7, r1 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ + add.w r3, r7, r0 │ │ │ │ │ + add r0, ip │ │ │ │ │ + vldr d10, [r0] │ │ │ │ │ vmla.f64 d4, d7, d6 │ │ │ │ │ - add r1, ip │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ - vldr d11, [r6, #-168] @ 0xffffff58 │ │ │ │ │ + str r3, [sp, #320] @ 0x140 │ │ │ │ │ vldr d3, [r6, #-176] @ 0xffffff50 │ │ │ │ │ - adds r6, #240 @ 0xf0 │ │ │ │ │ - vldr d10, [r1] │ │ │ │ │ - vstr d9, [sp, #248] @ 0xf8 │ │ │ │ │ + add.w r6, r6, #240 @ 0xf0 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ vmul.f64 d5, d10, d11 │ │ │ │ │ - str r3, [sp, #320] @ 0x140 │ │ │ │ │ ldr r3, [sp, #52] @ 0x34 │ │ │ │ │ vmla.f64 d5, d6, d3 │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ vadd.f64 d11, d8, d4 │ │ │ │ │ vsub.f64 d4, d8, d4 │ │ │ │ │ - vnmls.f64 d6, d10, d3 │ │ │ │ │ vadd.f64 d12, d1, d7 │ │ │ │ │ + vnmls.f64 d6, d10, d3 │ │ │ │ │ vadd.f64 d10, d2, d5 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ vadd.f64 d13, d0, d6 │ │ │ │ │ - vsub.f64 d3, d11, d10 │ │ │ │ │ vsub.f64 d6, d6, d0 │ │ │ │ │ + vsub.f64 d3, d11, d10 │ │ │ │ │ vsub.f64 d0, d1, d7 │ │ │ │ │ vldr d1, [sp, #200] @ 0xc8 │ │ │ │ │ vadd.f64 d10, d11, d10 │ │ │ │ │ - vstr d3, [sp, #288] @ 0x120 │ │ │ │ │ - vsub.f64 d3, d12, d13 │ │ │ │ │ vsub.f64 d8, d4, d6 │ │ │ │ │ vadd.f64 d6, d4, d6 │ │ │ │ │ - vadd.f64 d7, d0, d5 │ │ │ │ │ vldr d4, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d3, [sp, #288] @ 0x120 │ │ │ │ │ + vsub.f64 d3, d12, d13 │ │ │ │ │ + vadd.f64 d7, d0, d5 │ │ │ │ │ vsub.f64 d0, d0, d5 │ │ │ │ │ vldr d5, [sp, #128] @ 0x80 │ │ │ │ │ - vstr d3, [sp, #296] @ 0x128 │ │ │ │ │ vadd.f64 d12, d12, d13 │ │ │ │ │ + vstr d3, [sp, #296] @ 0x128 │ │ │ │ │ vldr d3, [sp, #192] @ 0xc0 │ │ │ │ │ vstr d6, [sp, #304] @ 0x130 │ │ │ │ │ vldr d6, [sp, #96] @ 0x60 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vadd.f64 d5, d4, d3 │ │ │ │ │ - vldr d3, [pc, #824] @ 7b0 │ │ │ │ │ + vldr d3, [pc, #844] @ 7f0 │ │ │ │ │ vmul.f64 d5, d5, d3 │ │ │ │ │ vadd.f64 d2, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vldr d5, [sp, #168] @ 0xa8 │ │ │ │ │ vsub.f64 d4, d5, d1 │ │ │ │ │ vldr d5, [sp, #88] @ 0x58 │ │ │ │ │ vmul.f64 d1, d7, d14 │ │ │ │ │ - vmul.f64 d4, d4, d3 │ │ │ │ │ - vldr d3, [sp, #120] @ 0x78 │ │ │ │ │ vnmls.f64 d1, d8, d15 │ │ │ │ │ vmul.f64 d8, d8, d14 │ │ │ │ │ + vmul.f64 d4, d4, d3 │ │ │ │ │ + vldr d3, [sp, #120] @ 0x78 │ │ │ │ │ vmla.f64 d8, d7, d15 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ vadd.f64 d3, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vmul.f64 d4, d9, d15 │ │ │ │ │ vldr d9, [sp, #240] @ 0xf0 │ │ │ │ │ vmla.f64 d4, d9, d14 │ │ │ │ │ @@ -358,44 +352,44 @@ │ │ │ │ │ vldr d9, [sp, #312] @ 0x138 │ │ │ │ │ vadd.f64 d1, d8, d7 │ │ │ │ │ vsub.f64 d7, d7, d8 │ │ │ │ │ vsub.f64 d8, d2, d9 │ │ │ │ │ vadd.f64 d2, d2, d9 │ │ │ │ │ vstr d8, [r3] │ │ │ │ │ vsub.f64 d8, d4, d5 │ │ │ │ │ - ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ + ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ vstr d8, [r3] │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ vsub.f64 d5, d6, d1 │ │ │ │ │ - vstr d2, [ip] │ │ │ │ │ vadd.f64 d6, d6, d1 │ │ │ │ │ + vstr d2, [ip] │ │ │ │ │ ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ vldr d4, [sp, #112] @ 0x70 │ │ │ │ │ vstr d5, [fp] │ │ │ │ │ vsub.f64 d5, d7, d3 │ │ │ │ │ vadd.f64 d3, d3, d7 │ │ │ │ │ - vldr d8, [sp, #176] @ 0xb0 │ │ │ │ │ vldr d7, [sp, #80] @ 0x50 │ │ │ │ │ vldr d2, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d8, [sp, #176] @ 0xb0 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ vldr d1, [sp, #184] @ 0xb8 │ │ │ │ │ vldr d11, [sp, #208] @ 0xd0 │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ vldr d3, [sp, #144] @ 0x90 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ + ldr r3, [sp, #8] │ │ │ │ │ vadd.f64 d6, d3, d8 │ │ │ │ │ vadd.f64 d3, d2, d1 │ │ │ │ │ vldr d1, [sp, #104] @ 0x68 │ │ │ │ │ vldr d2, [sp, #136] @ 0x88 │ │ │ │ │ - ldr r3, [sp, #8] │ │ │ │ │ vadd.f64 d4, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d1, d2 │ │ │ │ │ vldr d2, [sp, #232] @ 0xe8 │ │ │ │ │ vadd.f64 d5, d3, d6 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ vldr d3, [sp, #216] @ 0xd8 │ │ │ │ │ @@ -404,164 +398,170 @@ │ │ │ │ │ vsub.f64 d11, d11, d10 │ │ │ │ │ vldr d10, [sp, #224] @ 0xe0 │ │ │ │ │ vadd.f64 d2, d10, d2 │ │ │ │ │ vsub.f64 d1, d2, d12 │ │ │ │ │ vadd.f64 d12, d2, d12 │ │ │ │ │ vsub.f64 d2, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ - vstr d2, [r5] │ │ │ │ │ + vstr d2, [r1] │ │ │ │ │ vsub.f64 d2, d11, d6 │ │ │ │ │ vadd.f64 d6, d6, d11 │ │ │ │ │ + ldr r1, [sp, #0] │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ + vstr d6, [r5] │ │ │ │ │ vsub.f64 d6, d7, d1 │ │ │ │ │ - vstr d4, [r7] │ │ │ │ │ vadd.f64 d7, d7, d1 │ │ │ │ │ - ldr r4, [sp, #0] │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ + ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ vstr d6, [sl] │ │ │ │ │ vsub.f64 d6, d12, d5 │ │ │ │ │ vadd.f64 d5, d5, d12 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ - ldr r4, [sp, #44] @ 0x2c │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ vldr d6, [sp, #96] @ 0x60 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vldr d10, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d5, [pc, #472] @ 7f0 │ │ │ │ │ vldr d12, [sp, #168] @ 0xa8 │ │ │ │ │ vldr d11, [sp, #200] @ 0xc8 │ │ │ │ │ vadd.f64 d7, d6, d10 │ │ │ │ │ - vldr d5, [pc, #440] @ 7b0 │ │ │ │ │ + ldr r2, [sp, #20] │ │ │ │ │ vldr d10, [sp, #160] @ 0xa0 │ │ │ │ │ vadd.f64 d6, d12, d11 │ │ │ │ │ - vldr d12, [sp, #192] @ 0xc0 │ │ │ │ │ vldr d8, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d12, [sp, #192] @ 0xc0 │ │ │ │ │ vldr d9, [sp, #272] @ 0x110 │ │ │ │ │ - ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ vmul.f64 d6, d6, d5 │ │ │ │ │ - ldr r0, [sp, #28] │ │ │ │ │ + ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ + ldr r5, [sp, #28] │ │ │ │ │ vmul.f64 d4, d9, d14 │ │ │ │ │ vldr d13, [sp, #152] @ 0x98 │ │ │ │ │ vadd.f64 d2, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vsub.f64 d6, d12, d10 │ │ │ │ │ - vldr d10, [sp, #304] @ 0x130 │ │ │ │ │ vldr d12, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d10, [sp, #304] @ 0x130 │ │ │ │ │ vmul.f64 d6, d6, d5 │ │ │ │ │ vldr d5, [sp, #88] @ 0x58 │ │ │ │ │ vnmls.f64 d4, d12, d15 │ │ │ │ │ vsub.f64 d5, d5, d8 │ │ │ │ │ vadd.f64 d3, d6, d5 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ vmul.f64 d6, d10, d15 │ │ │ │ │ vmla.f64 d6, d0, d14 │ │ │ │ │ vmul.f64 d0, d0, d15 │ │ │ │ │ vnmls.f64 d0, d10, d14 │ │ │ │ │ vadd.f64 d1, d6, d4 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vmul.f64 d6, d12, d14 │ │ │ │ │ + vldr d12, [pc, #344] @ 7f0 │ │ │ │ │ vmla.f64 d6, d9, d15 │ │ │ │ │ - vldr d12, [pc, #324] @ 7b0 │ │ │ │ │ vadd.f64 d8, d0, d6 │ │ │ │ │ vsub.f64 d6, d6, d0 │ │ │ │ │ vsub.f64 d0, d2, d1 │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ vldr d1, [sp, #104] @ 0x68 │ │ │ │ │ vstr d0, [r3] │ │ │ │ │ vsub.f64 d0, d4, d5 │ │ │ │ │ - ldr r3, [sp, #68] @ 0x44 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ + ldr r3, [sp, #68] @ 0x44 │ │ │ │ │ vldr d4, [sp, #112] @ 0x70 │ │ │ │ │ vstr d0, [r3] │ │ │ │ │ - ldr r3, [sp, #20] │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ vsub.f64 d5, d7, d8 │ │ │ │ │ - ldr r3, [sp, #60] @ 0x3c │ │ │ │ │ vadd.f64 d7, d7, d8 │ │ │ │ │ + ldr r3, [sp, #60] @ 0x3c │ │ │ │ │ vldr d8, [sp, #176] @ 0xb0 │ │ │ │ │ + ldr r2, [sp, #320] @ 0x140 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ - ldr r3, [sp, #320] @ 0x140 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - vsub.f64 d5, d6, d3 │ │ │ │ │ ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ + vsub.f64 d5, d6, d3 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ vldr d5, [sp, #184] @ 0xb8 │ │ │ │ │ - vstr d3, [r0] │ │ │ │ │ + vstr d3, [r5] │ │ │ │ │ vstr d7, [r9] │ │ │ │ │ vldr d7, [sp, #80] @ 0x50 │ │ │ │ │ vsub.f64 d6, d5, d13 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ vsub.f64 d3, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [sp, #144] @ 0x90 │ │ │ │ │ vldr d2, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d9, [sp, #288] @ 0x120 │ │ │ │ │ + ldr r1, [sp, #16] │ │ │ │ │ + vldr d10, [sp, #264] @ 0x108 │ │ │ │ │ vsub.f64 d5, d6, d8 │ │ │ │ │ - vldr d11, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d9, [sp, #288] @ 0x120 │ │ │ │ │ vsub.f64 d6, d1, d2 │ │ │ │ │ vldr d8, [sp, #256] @ 0x100 │ │ │ │ │ - vldr d10, [sp, #264] @ 0x108 │ │ │ │ │ - vadd.f64 d1, d9, d11 │ │ │ │ │ - vsub.f64 d0, d9, d11 │ │ │ │ │ - ldr r4, [sp, #16] │ │ │ │ │ + vldr d11, [sp, #296] @ 0x128 │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vsub.f64 d5, d8, d10 │ │ │ │ │ ldr r5, [sp, #32] │ │ │ │ │ + vsub.f64 d5, d8, d10 │ │ │ │ │ ldr r3, [sp, #76] @ 0x4c │ │ │ │ │ + vadd.f64 d1, d9, d11 │ │ │ │ │ + vsub.f64 d0, d9, d11 │ │ │ │ │ vadd.f64 d2, d1, d5 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ vadd.f64 d1, d8, d10 │ │ │ │ │ vmul.f64 d2, d2, d12 │ │ │ │ │ vmul.f64 d5, d5, d12 │ │ │ │ │ vadd.f64 d8, d0, d1 │ │ │ │ │ vsub.f64 d1, d1, d0 │ │ │ │ │ vsub.f64 d0, d3, d2 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ vmul.f64 d1, d1, d12 │ │ │ │ │ vmul.f64 d8, d8, d12 │ │ │ │ │ - vstr d0, [r1] │ │ │ │ │ + vstr d0, [r0] │ │ │ │ │ vsub.f64 d0, d1, d6 │ │ │ │ │ vadd.f64 d6, d6, d1 │ │ │ │ │ - ldr r1, [sp, #24] │ │ │ │ │ - vstr d0, [r4] │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ + ldr r0, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d0, [r1] │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ vsub.f64 d6, d7, d8 │ │ │ │ │ - vstr d3, [r8] │ │ │ │ │ vadd.f64 d7, d7, d8 │ │ │ │ │ - ldr r2, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d3, [r8] │ │ │ │ │ + ldr r4, [sp, #24] │ │ │ │ │ vstr d6, [r5] │ │ │ │ │ vsub.f64 d6, d5, d4 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ ldr r3, [sp, #440] @ 0x1b8 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ str r3, [sp, #440] @ 0x1b8 │ │ │ │ │ ldr r3, [sp, #324] @ 0x144 │ │ │ │ │ + ldr r2, [sp, #440] @ 0x1b8 │ │ │ │ │ add r7, r3 │ │ │ │ │ ldr r3, [sp, #328] @ 0x148 │ │ │ │ │ add ip, r3 │ │ │ │ │ ldr r3, [sp, #332] @ 0x14c │ │ │ │ │ eor.w lr, lr, r3 │ │ │ │ │ - ldrd r2, r3, [sp, #440] @ 0x1b8 │ │ │ │ │ + ldr r3, [sp, #444] @ 0x1bc │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 68 │ │ │ │ │ + bne.w 78 │ │ │ │ │ add sp, #340 @ 0x154 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop.w │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ │ │ │ │ │ -000007b8 : │ │ │ │ │ +000007f8 : │ │ │ │ │ fftw_codelet_hf_16(): │ │ │ │ │ - ldr r2, [pc, #8] @ (7c4 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (7c8 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (804 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (808 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2hc_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── hf_2.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 912 (bytes into file) │ │ │ │ │ + Start of section headers: 940 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x390: │ │ │ │ │ +There are 14 section headers, starting at offset 0x3ac: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000104 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0002e8 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000138 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000138 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000138 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 00013d 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 000145 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000300 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000175 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000175 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 0001a8 0000f0 10 12 12 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000298 00004e 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000318 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000120 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000304 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000154 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000154 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000154 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000159 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000161 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 00031c 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000191 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000191 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 0001c4 0000f0 10 12 12 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0002b4 00004e 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000334 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,18 +1,18 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 15 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 240 FUNC LOCAL DEFAULT 1 hf_2 │ │ │ │ │ + 1: 00000001 268 FUNC LOCAL DEFAULT 1 hf_2 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000000fc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000118 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 4: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 8: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 9: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 10: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 11: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 12: 000000f1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_2 │ │ │ │ │ + 12: 0000010d 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_2 │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2hc_register │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x2e8 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x304 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000000fc 00000903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000100 00000103 R_ARM_REL32 00000001 hf_2 │ │ │ │ │ -000000f8 00000d1e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ +00000118 00000903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +0000011c 00000103 R_ARM_REL32 00000001 hf_2 │ │ │ │ │ +00000114 00000d1e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x300 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x31c contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000402 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000602 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00000e02 R_ARM_ABS32 00000000 fftw_rdft_hf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,69 +1,72 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hf_2(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ - ldr r5, [sp, #24] │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ ldrd r4, r6, [sp, #16] │ │ │ │ │ + ldr r5, [sp, #24] │ │ │ │ │ add.w ip, r4, #4294967295 @ 0xffffffff │ │ │ │ │ cmp r4, r6 │ │ │ │ │ add.w r2, r2, ip, lsl #4 │ │ │ │ │ - bge.n 82 │ │ │ │ │ - cmp r5, #1 │ │ │ │ │ + bge.n 8c │ │ │ │ │ mov.w r3, r3, lsl #3 │ │ │ │ │ + cmp r5, #1 │ │ │ │ │ ittt eq │ │ │ │ │ - addeq.w ip, r0, r3 │ │ │ │ │ addeq r2, #16 │ │ │ │ │ + addeq.w ip, r0, r3 │ │ │ │ │ addeq r3, r3, r1 │ │ │ │ │ - bne.n 84 │ │ │ │ │ + bne.n 94 │ │ │ │ │ vldr d2, [r2, #-16] │ │ │ │ │ mov r5, r1 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + cmp r4, r6 │ │ │ │ │ + sub.w r1, r1, #8 │ │ │ │ │ vldr d1, [ip] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + add.w r2, r2, #16 │ │ │ │ │ + vldr d7, [r2, #-24] @ 0xffffffe8 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ - subs r1, #8 │ │ │ │ │ - vldr d7, [r2, #-8] │ │ │ │ │ - cmp r4, r6 │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ vldr d4, [r0] │ │ │ │ │ vldr d5, [r1, #8] │ │ │ │ │ - add.w r2, r2, #16 │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ vsub.f64 d3, d4, d6 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ vstr d3, [r5] │ │ │ │ │ mov r5, r3 │ │ │ │ │ + sub.w r3, r3, #8 │ │ │ │ │ vstmia r0!, {d6} │ │ │ │ │ vsub.f64 d6, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - sub.w r3, r3, #8 │ │ │ │ │ vstmia ip!, {d6} │ │ │ │ │ vstr d7, [r5] │ │ │ │ │ - bne.n 26 │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ + bne.n 2c │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ add.w ip, r0, r3 │ │ │ │ │ - rsb lr, r5, #0 │ │ │ │ │ - adds r2, #16 │ │ │ │ │ + add.w r2, r2, #16 │ │ │ │ │ add r3, r1 │ │ │ │ │ + rsb lr, r5, #0 │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - vldr d1, [r2, #-8] │ │ │ │ │ - cmp r6, r4 │ │ │ │ │ - vldr d3, [r2, #-16] │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ add.w r2, r2, #16 │ │ │ │ │ + cmp r6, r4 │ │ │ │ │ + vldr d3, [r2, #-32] @ 0xffffffe0 │ │ │ │ │ + vldr d1, [r2, #-24] @ 0xffffffe8 │ │ │ │ │ vldr d7, [ip] │ │ │ │ │ - vmul.f64 d4, d2, d1 │ │ │ │ │ vldr d5, [r0] │ │ │ │ │ + vmul.f64 d4, d2, d1 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ vmla.f64 d4, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ vsub.f64 d3, d5, d4 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ vstr d3, [r1] │ │ │ │ │ @@ -72,21 +75,23 @@ │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ add r0, r5 │ │ │ │ │ vstr d5, [ip] │ │ │ │ │ add ip, r5 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ sub.w r3, r3, r5 │ │ │ │ │ - bne.n 92 │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ + bne.n a6 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ │ │ │ │ │ -000000f0 : │ │ │ │ │ +0000010c : │ │ │ │ │ fftw_codelet_hf_2(): │ │ │ │ │ - ldr r2, [pc, #8] @ (fc ) │ │ │ │ │ - ldr r1, [pc, #12] @ (100 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (118 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (11c ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2hc_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── hf_20.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 3548 (bytes into file) │ │ │ │ │ + Start of section headers: 3588 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0xddc: │ │ │ │ │ +There are 14 section headers, starting at offset 0xe04: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000ac4 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000d24 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000af8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000af8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000af8 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000afe 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 000b06 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000d4c 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000b36 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000b36 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000b6c 000130 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000c9c 000087 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000d64 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000aec 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000d4c 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000b20 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000b20 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000b20 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000b26 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000b2e 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000d74 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000b5e 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000b5e 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000b94 000130 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000cc4 000087 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000d8c 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 19 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 2734 FUNC LOCAL DEFAULT 1 hf_20 │ │ │ │ │ + 1: 00000001 2774 FUNC LOCAL DEFAULT 1 hf_20 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000009e8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000a08 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000abc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000009e0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000a00 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000ae4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 16: 00000ab1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_20 │ │ │ │ │ + 16: 00000ad9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_20 │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2hc_register │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xd24 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xd4c contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000a00 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000a04 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000abc 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000ac0 00000103 R_ARM_REL32 00000001 hf_20 │ │ │ │ │ -00000ab8 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ +000009f8 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +000009fc 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000ae4 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000ae8 00000103 R_ARM_REL32 00000001 hf_20 │ │ │ │ │ +00000ae0 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xd4c contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xd74 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001202 R_ARM_ABS32 00000000 fftw_rdft_hf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,759 +1,747 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hf_20(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r5, r1 │ │ │ │ │ - mov fp, r0 │ │ │ │ │ - vpush {d8-d15} │ │ │ │ │ - sub.w sp, sp, #524 @ 0x20c │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r6, r0 │ │ │ │ │ mov.w r0, #304 @ 0x130 │ │ │ │ │ - mov r6, r3 │ │ │ │ │ - ldr.w r3, [pc, #2536] @ a00 │ │ │ │ │ - ldr r1, [sp, #624] @ 0x270 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r7, r1 │ │ │ │ │ + mov r8, r3 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + vpush {d8-d15} │ │ │ │ │ + sub.w sp, sp, #516 @ 0x204 │ │ │ │ │ + ldr r1, [sp, #616] @ 0x268 │ │ │ │ │ + ldr.w r3, [pc, #2508] @ 9f8 │ │ │ │ │ + add.w r1, r1, #4294967295 @ 0xffffffff │ │ │ │ │ + mla fp, r0, r1, r2 │ │ │ │ │ + ldrd r2, r1, [sp, #616] @ 0x268 │ │ │ │ │ add r3, pc │ │ │ │ │ - subs r1, #1 │ │ │ │ │ - mla sl, r0, r1, r2 │ │ │ │ │ - ldrd r2, r1, [sp, #624] @ 0x270 │ │ │ │ │ cmp r2, r1 │ │ │ │ │ - bge.w aa2 │ │ │ │ │ - ldr r2, [sp, #632] @ 0x278 │ │ │ │ │ - mov ip, fp │ │ │ │ │ - mov lr, r5 │ │ │ │ │ - mov r8, r6 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ - str r2, [sp, #508] @ 0x1fc │ │ │ │ │ - negs r2, r2 │ │ │ │ │ - str r2, [sp, #512] @ 0x200 │ │ │ │ │ - ldr.w r2, [pc, #2500] @ a04 │ │ │ │ │ + bge.w ab8 │ │ │ │ │ + ldr r2, [sp, #624] @ 0x270 │ │ │ │ │ + mov r9, r8 │ │ │ │ │ + mov lr, r6 │ │ │ │ │ + mov r8, r7 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + str r2, [sp, #500] @ 0x1f4 │ │ │ │ │ + rsb r2, r2, #0 │ │ │ │ │ + str r2, [sp, #504] @ 0x1f8 │ │ │ │ │ + ldr.w r2, [pc, #2468] @ 9fc │ │ │ │ │ ldr r3, [r3, r2] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - str r3, [sp, #516] @ 0x204 │ │ │ │ │ - movs r3, #80 @ 0x50 │ │ │ │ │ - movs r0, #40 @ 0x28 │ │ │ │ │ - vldr d4, [sl, #152] @ 0x98 │ │ │ │ │ - vldr d7, [sl, #144] @ 0x90 │ │ │ │ │ - mul.w r2, r3, r8 │ │ │ │ │ - vldr d1, [sl, #72] @ 0x48 │ │ │ │ │ - vldr d8, [sl, #232] @ 0xe8 │ │ │ │ │ - add.w r1, lr, r2 │ │ │ │ │ - add.w r3, ip, r2 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ - str r1, [sp, #4] │ │ │ │ │ + str r3, [sp, #508] @ 0x1fc │ │ │ │ │ + add.w r3, r9, r9, lsl #2 │ │ │ │ │ + vldr d1, [fp, #72] @ 0x48 │ │ │ │ │ + mov.w sl, #104 @ 0x68 │ │ │ │ │ + mov.w ip, r3, lsl #4 │ │ │ │ │ + vldr d4, [fp, #152] @ 0x98 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + add.w r1, r8, ip │ │ │ │ │ + add.w r2, lr, ip │ │ │ │ │ + vldr d7, [fp, #144] @ 0x90 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - mul.w r3, r0, r8 │ │ │ │ │ - vldr d9, [ip] │ │ │ │ │ + strd r2, r1, [sp, #4] │ │ │ │ │ + add.w r1, r8, r3 │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + add.w r2, lr, r3 │ │ │ │ │ + add.w r4, r1, ip │ │ │ │ │ + add.w r0, r2, ip │ │ │ │ │ + mov.w r3, r9, lsl #6 │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ + strd r2, r1, [sp, #12] │ │ │ │ │ vmul.f64 d3, d6, d4 │ │ │ │ │ - add.w r0, lr, r3 │ │ │ │ │ + vldr d0, [r4] │ │ │ │ │ + strd r0, r4, [sp, #20] │ │ │ │ │ + add.w r4, r8, r3 │ │ │ │ │ + vldr d8, [fp, #232] @ 0xe8 │ │ │ │ │ + add.w r6, r4, ip │ │ │ │ │ + vldr d9, [lr] │ │ │ │ │ vmla.f64 d3, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d4 │ │ │ │ │ - add.w r1, ip, r3 │ │ │ │ │ - adds r5, r0, r2 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ - adds r4, r1, r2 │ │ │ │ │ - vldr d10, [lr] │ │ │ │ │ - mov.w r3, r8, lsl #6 │ │ │ │ │ - vnmls.f64 d5, d6, d7 │ │ │ │ │ - vldr d6, [sl, #64] @ 0x40 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ - vldr d0, [r5] │ │ │ │ │ - add.w r9, lr, r3 │ │ │ │ │ - add.w fp, ip, r3 │ │ │ │ │ - add.w r7, r9, r2 │ │ │ │ │ + vldr d10, [r8] │ │ │ │ │ + vnmls.f64 d5, d6, d7 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + vldr d6, [fp, #64] @ 0x40 │ │ │ │ │ vmla.f64 d4, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [sl, #224] @ 0xe0 │ │ │ │ │ - add.w r6, fp, r2 │ │ │ │ │ - str r1, [sp, #8] │ │ │ │ │ - str r4, [sp, #16] │ │ │ │ │ + vldr d1, [fp, #224] @ 0xe0 │ │ │ │ │ vnmls.f64 d7, d2, d6 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ vmul.f64 d2, d0, d8 │ │ │ │ │ - str r0, [sp, #12] │ │ │ │ │ - str r5, [sp, #20] │ │ │ │ │ - movs r0, #136 @ 0x88 │ │ │ │ │ + add.w r0, lr, r3 │ │ │ │ │ + add.w r5, r0, ip │ │ │ │ │ vmla.f64 d2, d6, d1 │ │ │ │ │ vmul.f64 d6, d6, d8 │ │ │ │ │ - movs r5, #56 @ 0x38 │ │ │ │ │ - mul.w r3, r0, r8 │ │ │ │ │ vnmls.f64 d6, d0, d1 │ │ │ │ │ vadd.f64 d0, d9, d3 │ │ │ │ │ vsub.f64 d9, d9, d3 │ │ │ │ │ - vldr d3, [sl, #120] @ 0x78 │ │ │ │ │ - add.w r4, lr, r3 │ │ │ │ │ - add.w r0, ip, r3 │ │ │ │ │ - mul.w r3, r5, r8 │ │ │ │ │ vadd.f64 d1, d4, d2 │ │ │ │ │ vsub.f64 d4, d4, d2 │ │ │ │ │ - add.w r5, ip, r3 │ │ │ │ │ vsub.f64 d8, d0, d1 │ │ │ │ │ - vadd.f64 d1, d0, d1 │ │ │ │ │ - vstr d1, [sp, #344] @ 0x158 │ │ │ │ │ + vadd.f64 d11, d0, d1 │ │ │ │ │ vsub.f64 d1, d10, d5 │ │ │ │ │ vadd.f64 d10, d10, d5 │ │ │ │ │ - vstr d8, [sp, #336] @ 0x150 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + vstr d8, [sp, #328] @ 0x148 │ │ │ │ │ vsub.f64 d2, d1, d4 │ │ │ │ │ - vadd.f64 d0, d1, d4 │ │ │ │ │ + vadd.f64 d1, d1, d4 │ │ │ │ │ + vstr d11, [sp, #336] @ 0x150 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d2, [sp, #352] @ 0x160 │ │ │ │ │ - vadd.f64 d5, d10, d7 │ │ │ │ │ + vstr d2, [sp, #344] @ 0x158 │ │ │ │ │ + vsub.f64 d3, d9, d4 │ │ │ │ │ vsub.f64 d6, d10, d7 │ │ │ │ │ - vsub.f64 d11, d9, d4 │ │ │ │ │ + vstr d1, [sp, #352] @ 0x160 │ │ │ │ │ vadd.f64 d4, d9, d4 │ │ │ │ │ - vldr d7, [sl, #112] @ 0x70 │ │ │ │ │ - vstr d0, [sp, #360] @ 0x168 │ │ │ │ │ - vstr d5, [sp, #392] @ 0x188 │ │ │ │ │ - vldr d5, [r9] │ │ │ │ │ - vstr d6, [sp, #384] @ 0x180 │ │ │ │ │ - vldr d6, [fp] │ │ │ │ │ - vstr d4, [sp, #376] @ 0x178 │ │ │ │ │ + vadd.f64 d9, d10, d7 │ │ │ │ │ + vldr d7, [fp, #112] @ 0x70 │ │ │ │ │ + vstr d3, [sp, #360] @ 0x168 │ │ │ │ │ + vldr d3, [fp, #120] @ 0x78 │ │ │ │ │ + vstr d4, [sp, #368] @ 0x170 │ │ │ │ │ + vstr d6, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + vstr d9, [sp, #384] @ 0x180 │ │ │ │ │ + strd r0, r4, [sp, #28] │ │ │ │ │ + mov.w r0, r9, lsl #4 │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ - vstr d11, [sp, #368] @ 0x170 │ │ │ │ │ + vldr d2, [r6] │ │ │ │ │ + add.w r3, r0, r9 │ │ │ │ │ + strd r5, r6, [sp, #36] @ 0x24 │ │ │ │ │ + vldr d1, [fp, #280] @ 0x118 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + add.w r7, lr, r3 │ │ │ │ │ + add r3, r8 │ │ │ │ │ vmla.f64 d4, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ - str r6, [sp, #24] │ │ │ │ │ - vldr d2, [r7] │ │ │ │ │ - vldr d1, [sl, #280] @ 0x118 │ │ │ │ │ + vldr d3, [fp, #272] @ 0x110 │ │ │ │ │ + strd r7, r3, [sp, #44] @ 0x2c │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d3, [sl, #272] @ 0x110 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - add.w r6, lr, r3 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ - str r7, [sp, #28] │ │ │ │ │ - movs r7, #104 @ 0x68 │ │ │ │ │ - str r0, [sp, #32] │ │ │ │ │ vmla.f64 d5, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [sl, #104] @ 0x68 │ │ │ │ │ - mul.w r3, r7, r8 │ │ │ │ │ - str r4, [sp, #36] @ 0x24 │ │ │ │ │ - str r5, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d1, [fp, #104] @ 0x68 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ - vldr d2, [r6] │ │ │ │ │ - add.w r1, lr, r3 │ │ │ │ │ - add.w r7, ip, r3 │ │ │ │ │ - str r6, [sp, #44] @ 0x2c │ │ │ │ │ - str r7, [sp, #48] @ 0x30 │ │ │ │ │ - vadd.f64 d3, d4, d5 │ │ │ │ │ - str r1, [sp, #52] @ 0x34 │ │ │ │ │ - vsub.f64 d14, d4, d5 │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ - movs r0, #24 │ │ │ │ │ - vadd.f64 d9, d6, d7 │ │ │ │ │ - vsub.f64 d15, d6, d7 │ │ │ │ │ - vstr d3, [sp, #72] @ 0x48 │ │ │ │ │ - mul.w r3, r0, r8 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - vldr d3, [sl, #264] @ 0x108 │ │ │ │ │ - add.w r0, ip, r3 │ │ │ │ │ - vldr d7, [sl, #256] @ 0x100 │ │ │ │ │ - add.w r4, lr, r3 │ │ │ │ │ + vldr d3, [fp, #264] @ 0x108 │ │ │ │ │ + vadd.f64 d14, d4, d5 │ │ │ │ │ + vsub.f64 d0, d4, d5 │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + vadd.f64 d15, d6, d7 │ │ │ │ │ + vsub.f64 d7, d6, d7 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + mov.w r3, r9, lsl #3 │ │ │ │ │ vstr d14, [sp, #88] @ 0x58 │ │ │ │ │ - movs r3, #96 @ 0x60 │ │ │ │ │ + vstr d0, [sp, #96] @ 0x60 │ │ │ │ │ + sub.w r2, r3, r9 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + vstr d7, [sp, #104] @ 0x68 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ - vstr d15, [sp, #96] @ 0x60 │ │ │ │ │ + add.w r6, r8, r2 │ │ │ │ │ + vldr d7, [fp, #256] @ 0x100 │ │ │ │ │ + add.w r5, lr, r2 │ │ │ │ │ + mul.w r2, sl, r9 │ │ │ │ │ + vmov.f64 d14, d15 │ │ │ │ │ + mov.w sl, r9, lsl #7 │ │ │ │ │ + vldr d2, [r6] │ │ │ │ │ + add.w r7, lr, r2 │ │ │ │ │ + add r2, r8 │ │ │ │ │ + strd r5, r6, [sp, #52] @ 0x34 │ │ │ │ │ + add.w r6, lr, r0 │ │ │ │ │ + strd r7, r2, [sp, #60] @ 0x3c │ │ │ │ │ vmla.f64 d5, d4, d7 │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ - vldr d3, [sl, #96] @ 0x60 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - str r0, [sp, #56] @ 0x38 │ │ │ │ │ - str r4, [sp, #60] @ 0x3c │ │ │ │ │ - add.w r6, lr, r3 │ │ │ │ │ + vldr d3, [fp, #96] @ 0x60 │ │ │ │ │ vnmls.f64 d4, d6, d7 │ │ │ │ │ vldr d7, [r5] │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ - vstr d9, [sp, #80] @ 0x50 │ │ │ │ │ - add.w r5, ip, r3 │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ - vldr d3, [sl, #200] @ 0xc8 │ │ │ │ │ - vldr d2, [r4] │ │ │ │ │ - mov.w r4, r8, lsl #4 │ │ │ │ │ - vadd.f64 d14, d5, d6 │ │ │ │ │ + vadd.f64 d13, d5, d6 │ │ │ │ │ vsub.f64 d8, d5, d6 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + add.w r2, r9, r9, lsl #1 │ │ │ │ │ vldr d6, [r7] │ │ │ │ │ - add.w r7, ip, r4 │ │ │ │ │ - add r4, lr │ │ │ │ │ - mov.w r1, r8, lsl #5 │ │ │ │ │ + mov.w r1, r2, lsl #3 │ │ │ │ │ + vsub.f64 d3, d4, d7 │ │ │ │ │ vadd.f64 d11, d4, d7 │ │ │ │ │ - vsub.f64 d15, d4, d7 │ │ │ │ │ - vldr d7, [sl, #192] @ 0xc0 │ │ │ │ │ + vldr d7, [fp, #192] @ 0xc0 │ │ │ │ │ + add.w r7, lr, r1 │ │ │ │ │ + add r1, r8 │ │ │ │ │ + strd r7, r1, [sp, #68] @ 0x44 │ │ │ │ │ + vstr d3, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d3, [fp, #200] @ 0xc8 │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ - add.w r3, r1, lr │ │ │ │ │ vmla.f64 d4, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ - vldr d3, [sl, #32] │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - vldr d1, [sl, #40] @ 0x28 │ │ │ │ │ - vldr d0, [r4] │ │ │ │ │ - vldr d12, [sl, #24] │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ + mov.w r1, r2, lsl #5 │ │ │ │ │ + str r6, [sp, #84] @ 0x54 │ │ │ │ │ + add.w r5, r8, r1 │ │ │ │ │ + add.w r4, lr, r1 │ │ │ │ │ + vldr d12, [fp, #24] │ │ │ │ │ + add.w r1, r0, r8 │ │ │ │ │ + vldr d1, [fp, #40] @ 0x28 │ │ │ │ │ + strd r4, r5, [sp, #76] @ 0x4c │ │ │ │ │ + vldr d3, [fp, #32] │ │ │ │ │ + str r1, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d0, [r1] │ │ │ │ │ + mov.w r1, r9, lsl #5 │ │ │ │ │ + str r2, [sp, #256] @ 0x100 │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ - str r5, [sp, #64] @ 0x40 │ │ │ │ │ vmla.f64 d5, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [sl, #184] @ 0xb8 │ │ │ │ │ - str r6, [sp, #68] @ 0x44 │ │ │ │ │ - str r7, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d1, [fp, #184] @ 0xb8 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ + vsub.f64 d9, d4, d5 │ │ │ │ │ vadd.f64 d3, d4, d5 │ │ │ │ │ - vsub.f64 d5, d4, d5 │ │ │ │ │ - vldr d4, [r6] │ │ │ │ │ - vsub.f64 d13, d6, d7 │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ + vldr d5, [fp, #176] @ 0xb0 │ │ │ │ │ vadd.f64 d2, d6, d7 │ │ │ │ │ - vstr d5, [sp, #104] @ 0x68 │ │ │ │ │ + vsub.f64 d6, d6, d7 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ vmul.f64 d10, d4, d1 │ │ │ │ │ - vldr d5, [sl, #176] @ 0xb0 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - add.w r5, ip, r1 │ │ │ │ │ - adds r0, r5, r2 │ │ │ │ │ + add.w r4, lr, r1 │ │ │ │ │ + add r1, r8 │ │ │ │ │ + add.w r7, r4, ip │ │ │ │ │ vmla.f64 d10, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [sl, #16] │ │ │ │ │ + vldr d1, [fp, #16] │ │ │ │ │ vnmls.f64 d7, d4, d5 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ + vldr d5, [r6] │ │ │ │ │ vmul.f64 d4, d0, d12 │ │ │ │ │ + add.w r6, r1, ip │ │ │ │ │ vmla.f64 d4, d5, d1 │ │ │ │ │ vmul.f64 d5, d5, d12 │ │ │ │ │ vnmls.f64 d5, d0, d1 │ │ │ │ │ vadd.f64 d1, d10, d4 │ │ │ │ │ vsub.f64 d10, d10, d4 │ │ │ │ │ vadd.f64 d0, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [sp, #72] @ 0x48 │ │ │ │ │ - vsub.f64 d9, d1, d14 │ │ │ │ │ + vldr d5, [sp, #88] @ 0x58 │ │ │ │ │ + vsub.f64 d15, d1, d13 │ │ │ │ │ + vadd.f64 d1, d13, d1 │ │ │ │ │ vsub.f64 d4, d5, d3 │ │ │ │ │ - vadd.f64 d5, d5, d3 │ │ │ │ │ - vadd.f64 d3, d14, d1 │ │ │ │ │ - vstr d9, [sp, #136] @ 0x88 │ │ │ │ │ - vsub.f64 d6, d11, d0 │ │ │ │ │ - vadd.f64 d0, d11, d0 │ │ │ │ │ - vldr d14, [sp, #96] @ 0x60 │ │ │ │ │ - vadd.f64 d9, d4, d9 │ │ │ │ │ + vadd.f64 d3, d5, d3 │ │ │ │ │ + vstr d15, [sp, #136] @ 0x88 │ │ │ │ │ + vadd.f64 d15, d4, d15 │ │ │ │ │ + vadd.f64 d5, d3, d1 │ │ │ │ │ vstr d4, [sp, #128] @ 0x80 │ │ │ │ │ - vadd.f64 d1, d5, d3 │ │ │ │ │ - vldr d4, [sp, #80] @ 0x50 │ │ │ │ │ - vstr d3, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d3, [sp, #88] @ 0x58 │ │ │ │ │ - vstr d9, [sp, #400] @ 0x190 │ │ │ │ │ - vsub.f64 d9, d4, d2 │ │ │ │ │ - vstr d5, [sp, #176] @ 0xb0 │ │ │ │ │ + vmov.f64 d4, d14 │ │ │ │ │ + vsub.f64 d14, d11, d0 │ │ │ │ │ + vadd.f64 d0, d11, d0 │ │ │ │ │ + vsub.f64 d11, d7, d8 │ │ │ │ │ + vadd.f64 d8, d8, d7 │ │ │ │ │ + vstr d15, [sp, #392] @ 0x188 │ │ │ │ │ + vsub.f64 d15, d4, d2 │ │ │ │ │ vadd.f64 d2, d4, d2 │ │ │ │ │ - vsub.f64 d5, d3, d13 │ │ │ │ │ - vstr d1, [sp, #424] @ 0x1a8 │ │ │ │ │ - vsub.f64 d1, d10, d15 │ │ │ │ │ - vstr d6, [sp, #152] @ 0x98 │ │ │ │ │ - vsub.f64 d6, d6, d9 │ │ │ │ │ - vstr d9, [sp, #144] @ 0x90 │ │ │ │ │ + vstr d5, [sp, #416] @ 0x1a0 │ │ │ │ │ + vstr d3, [sp, #176] @ 0xb0 │ │ │ │ │ + vldr d3, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d14, [sp, #152] @ 0x98 │ │ │ │ │ + vsub.f64 d14, d14, d15 │ │ │ │ │ vadd.f64 d4, d2, d0 │ │ │ │ │ - vstr d2, [sp, #160] @ 0xa0 │ │ │ │ │ vstr d0, [sp, #168] @ 0xa8 │ │ │ │ │ - vadd.f64 d10, d15, d10 │ │ │ │ │ - vadd.f64 d11, d5, d1 │ │ │ │ │ - vstr d1, [sp, #200] @ 0xc8 │ │ │ │ │ - vstr d6, [sp, #408] @ 0x198 │ │ │ │ │ - vadd.f64 d0, d3, d13 │ │ │ │ │ - vstr d4, [sp, #416] @ 0x1a0 │ │ │ │ │ - vsub.f64 d2, d7, d8 │ │ │ │ │ - vstr d5, [sp, #192] @ 0xc0 │ │ │ │ │ - vstr d11, [sp, #432] @ 0x1b0 │ │ │ │ │ + vstr d15, [sp, #144] @ 0x90 │ │ │ │ │ + vsub.f64 d5, d10, d3 │ │ │ │ │ + vstr d2, [sp, #160] @ 0xa0 │ │ │ │ │ + vadd.f64 d10, d3, d10 │ │ │ │ │ + vstr d1, [sp, #184] @ 0xb8 │ │ │ │ │ + vstr d14, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d14, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d4, [sp, #408] @ 0x198 │ │ │ │ │ + vsub.f64 d0, d14, d6 │ │ │ │ │ + vadd.f64 d6, d14, d6 │ │ │ │ │ + vadd.f64 d4, d0, d5 │ │ │ │ │ + vstr d0, [sp, #192] @ 0xc0 │ │ │ │ │ + vstr d5, [sp, #200] @ 0xc8 │ │ │ │ │ vldr d5, [sp, #104] @ 0x68 │ │ │ │ │ - vadd.f64 d15, d0, d10 │ │ │ │ │ - vldr d3, [sl, #56] @ 0x38 │ │ │ │ │ + str r7, [sp, #88] @ 0x58 │ │ │ │ │ + vstr d6, [sp, #224] @ 0xe0 │ │ │ │ │ vstr d10, [sp, #232] @ 0xe8 │ │ │ │ │ - vadd.f64 d10, d8, d7 │ │ │ │ │ - vsub.f64 d4, d14, d5 │ │ │ │ │ - vldr d7, [sl, #48] @ 0x30 │ │ │ │ │ - vstr d15, [sp, #448] @ 0x1c0 │ │ │ │ │ - vadd.f64 d15, d14, d5 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - str r3, [sp, #72] @ 0x48 │ │ │ │ │ - add r3, r2 │ │ │ │ │ - vadd.f64 d6, d4, d2 │ │ │ │ │ - vstr d4, [sp, #208] @ 0xd0 │ │ │ │ │ + vadd.f64 d10, d6, d10 │ │ │ │ │ + vldr d7, [fp, #48] @ 0x30 │ │ │ │ │ + str r6, [sp, #96] @ 0x60 │ │ │ │ │ + vsub.f64 d1, d5, d9 │ │ │ │ │ + vadd.f64 d9, d5, d9 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + vldr d3, [fp, #56] @ 0x38 │ │ │ │ │ + vldr d2, [r6] │ │ │ │ │ + add.w r6, lr, r3 │ │ │ │ │ + add.w r5, r6, ip │ │ │ │ │ + vadd.f64 d6, d9, d8 │ │ │ │ │ + vadd.f64 d15, d1, d11 │ │ │ │ │ + vstr d4, [sp, #424] @ 0x1a8 │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ - vldr d1, [sl, #216] @ 0xd8 │ │ │ │ │ - vstr d2, [sp, #216] @ 0xd8 │ │ │ │ │ - vadd.f64 d11, d15, d10 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ - vstr d6, [sp, #440] @ 0x1b8 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - str r0, [sp, #80] @ 0x50 │ │ │ │ │ - vstr d0, [sp, #224] @ 0xe0 │ │ │ │ │ + vstr d8, [sp, #248] @ 0xf8 │ │ │ │ │ + vstr d1, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d1, [fp, #216] @ 0xd8 │ │ │ │ │ + str r5, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d9, [sp, #240] @ 0xf0 │ │ │ │ │ + vstr d6, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + vstr d11, [sp, #216] @ 0xd8 │ │ │ │ │ + vstr d15, [sp, #432] @ 0x1b0 │ │ │ │ │ + vstr d10, [sp, #440] @ 0x1b8 │ │ │ │ │ vmla.f64 d4, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ - vldr d3, [sl, #208] @ 0xd0 │ │ │ │ │ - str r3, [sp, #88] @ 0x58 │ │ │ │ │ - vstr d15, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d3, [fp, #208] @ 0xd0 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ - mov.w r0, r8, lsl #3 │ │ │ │ │ - add.w r7, ip, r0 │ │ │ │ │ - add r0, lr │ │ │ │ │ + add.w r7, r8, r3 │ │ │ │ │ + add r3, r9 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ vmla.f64 d5, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - adds r6, r7, r2 │ │ │ │ │ - adds r3, r0, r2 │ │ │ │ │ - str r6, [sp, #96] @ 0x60 │ │ │ │ │ - str r3, [sp, #104] @ 0x68 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ - vldr d3, [sl, #8] │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ - movs r3, #72 @ 0x48 │ │ │ │ │ - vstr d10, [sp, #248] @ 0xf8 │ │ │ │ │ - vstr d11, [sp, #456] @ 0x1c8 │ │ │ │ │ - vadd.f64 d9, d4, d5 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - vsub.f64 d0, d4, d5 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ - vldr d4, [r7] │ │ │ │ │ - vadd.f64 d14, d6, d7 │ │ │ │ │ - vsub.f64 d7, d6, d7 │ │ │ │ │ + vldr d3, [fp, #8] │ │ │ │ │ + vsub.f64 d12, d4, d5 │ │ │ │ │ + vadd.f64 d8, d4, d5 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ + vadd.f64 d9, d6, d7 │ │ │ │ │ + vstr d8, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d12, [sp, #296] @ 0x128 │ │ │ │ │ + vsub.f64 d12, d6, d7 │ │ │ │ │ vmul.f64 d6, d5, d3 │ │ │ │ │ - vstr d0, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d7, [fp] │ │ │ │ │ + add.w fp, fp, #304 @ 0x130 │ │ │ │ │ vmov.f64 d13, d9 │ │ │ │ │ - vstr d7, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d7, [sl] │ │ │ │ │ - add.w sl, sl, #304 @ 0x130 │ │ │ │ │ + vstr d12, [sp, #312] @ 0x138 │ │ │ │ │ vmla.f64 d6, d4, d7 │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ - vldr d3, [sl, #-144] @ 0xffffff70 │ │ │ │ │ vnmls.f64 d4, d5, d7 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - vldr d1, [sl, #-136] @ 0xffffff78 │ │ │ │ │ - add.w r6, ip, r3 │ │ │ │ │ - add r3, lr │ │ │ │ │ - adds r1, r6, r2 │ │ │ │ │ - adds r2, r3, r2 │ │ │ │ │ - str r2, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, r7, ip │ │ │ │ │ + vldr d2, [r5] │ │ │ │ │ + str r5, [sp, #112] @ 0x70 │ │ │ │ │ + add.w r5, lr, r3 │ │ │ │ │ + add r3, r8 │ │ │ │ │ + vldr d3, [fp, #-144] @ 0xffffff70 │ │ │ │ │ + add.w r2, r5, ip │ │ │ │ │ + add ip, r3 │ │ │ │ │ + vldr d1, [fp, #-136] @ 0xffffff78 │ │ │ │ │ + str r2, [sp, #124] @ 0x7c │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ - str r1, [sp, #116] @ 0x74 │ │ │ │ │ vmla.f64 d5, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [sl, #-8] │ │ │ │ │ - vldr d11, [sl, #-56] @ 0xffffffc8 │ │ │ │ │ + vldr d1, [fp, #-8] │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ - vldr d2, [r2] │ │ │ │ │ - mov.w r2, r8, lsl #7 │ │ │ │ │ - vadd.f64 d3, d6, d5 │ │ │ │ │ - vsub.f64 d5, d5, d6 │ │ │ │ │ + vldr d3, [fp, #-168] @ 0xffffff58 │ │ │ │ │ + vldr d2, [ip] │ │ │ │ │ + vadd.f64 d15, d6, d5 │ │ │ │ │ + vadd.f64 d14, d4, d7 │ │ │ │ │ + vsub.f64 d12, d4, d7 │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ + vsub.f64 d7, d5, d6 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - vadd.f64 d15, d4, d7 │ │ │ │ │ - vsub.f64 d7, d4, d7 │ │ │ │ │ - vmov.f64 d12, d3 │ │ │ │ │ - vldr d3, [sl, #-168] @ 0xffffff58 │ │ │ │ │ - vldr d4, [r6] │ │ │ │ │ - vstr d5, [sp, #320] @ 0x140 │ │ │ │ │ - vstr d7, [sp, #304] @ 0x130 │ │ │ │ │ + vstr d12, [sp, #304] @ 0x130 │ │ │ │ │ + vstr d7, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d7, [fp, #-176] @ 0xffffff50 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ - vldr d7, [sl, #-176] @ 0xffffff50 │ │ │ │ │ vmla.f64 d5, d4, d7 │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ - vldr d3, [sl, #-16] │ │ │ │ │ + vldr d3, [fp, #-16] │ │ │ │ │ vnmls.f64 d4, d6, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ - add.w r1, ip, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ - str r2, [sp, #504] @ 0x1f8 │ │ │ │ │ + add.w r2, lr, sl │ │ │ │ │ + add sl, r8 │ │ │ │ │ + str r2, [sp, #496] @ 0x1f0 │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - str r1, [sp, #124] @ 0x7c │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ - vldr d2, [sl, #-216] @ 0xffffff28 │ │ │ │ │ + vldr d2, [fp, #-216] @ 0xffffff28 │ │ │ │ │ vadd.f64 d1, d5, d6 │ │ │ │ │ vsub.f64 d10, d5, d6 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - movs r2, #48 @ 0x30 │ │ │ │ │ - vldr d6, [sl, #-64] @ 0xffffffc0 │ │ │ │ │ + vldr d5, [sl] │ │ │ │ │ + vldr d6, [fp, #-64] @ 0xffffffc0 │ │ │ │ │ vadd.f64 d8, d4, d7 │ │ │ │ │ vsub.f64 d9, d4, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - vmul.f64 d3, d5, d11 │ │ │ │ │ - add.w r1, ip, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ - vmul.f64 d11, d7, d11 │ │ │ │ │ - vmla.f64 d3, d7, d6 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - vnmls.f64 d11, d5, d6 │ │ │ │ │ - vldr d5, [sl, #-224] @ 0xffffff20 │ │ │ │ │ - vmul.f64 d6, d4, d2 │ │ │ │ │ - vmla.f64 d6, d7, d5 │ │ │ │ │ - vmul.f64 d7, d7, d2 │ │ │ │ │ - vnmls.f64 d7, d4, d5 │ │ │ │ │ - vsub.f64 d5, d13, d1 │ │ │ │ │ - vadd.f64 d2, d3, d6 │ │ │ │ │ - vstr d5, [sp, #256] @ 0x100 │ │ │ │ │ - vsub.f64 d6, d3, d6 │ │ │ │ │ - vadd.f64 d0, d11, d7 │ │ │ │ │ - vsub.f64 d3, d2, d12 │ │ │ │ │ - vsub.f64 d7, d11, d7 │ │ │ │ │ - vmov.f64 d11, d13 │ │ │ │ │ - vmov.f64 d13, d12 │ │ │ │ │ - vsub.f64 d4, d0, d15 │ │ │ │ │ - vadd.f64 d5, d5, d3 │ │ │ │ │ - vstr d3, [sp, #264] @ 0x108 │ │ │ │ │ - vsub.f64 d3, d14, d8 │ │ │ │ │ - vadd.f64 d15, d15, d0 │ │ │ │ │ - vadd.f64 d8, d14, d8 │ │ │ │ │ - vldr d0, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d4, [fp, #-56] @ 0xffffffc8 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + ldr r2, [sp, #256] @ 0x100 │ │ │ │ │ + vmul.f64 d11, d5, d4 │ │ │ │ │ + mov.w r2, r2, lsl #4 │ │ │ │ │ + add.w r0, lr, r2 │ │ │ │ │ + add r2, r8 │ │ │ │ │ + vmla.f64 d11, d7, d6 │ │ │ │ │ + vmul.f64 d7, d7, d4 │ │ │ │ │ + vldr d4, [fp, #-224] @ 0xffffff20 │ │ │ │ │ + vldr d3, [r2] │ │ │ │ │ + vnmls.f64 d7, d5, d6 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + vmul.f64 d6, d3, d2 │ │ │ │ │ + vmla.f64 d6, d5, d4 │ │ │ │ │ + vmul.f64 d5, d5, d2 │ │ │ │ │ + vnmls.f64 d5, d3, d4 │ │ │ │ │ + vsub.f64 d3, d13, d8 │ │ │ │ │ + vadd.f64 d8, d13, d8 │ │ │ │ │ + vadd.f64 d2, d11, d6 │ │ │ │ │ + vsub.f64 d6, d11, d6 │ │ │ │ │ + vldr d11, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d8, [sp, #272] @ 0x110 │ │ │ │ │ + vadd.f64 d0, d7, d5 │ │ │ │ │ + vsub.f64 d7, d7, d5 │ │ │ │ │ + vsub.f64 d12, d11, d1 │ │ │ │ │ + vsub.f64 d5, d2, d15 │ │ │ │ │ + vadd.f64 d1, d11, d1 │ │ │ │ │ + vadd.f64 d15, d15, d2 │ │ │ │ │ + vsub.f64 d4, d0, d14 │ │ │ │ │ + vadd.f64 d0, d14, d0 │ │ │ │ │ + vstr d12, [sp, #256] @ 0x100 │ │ │ │ │ + vstr d5, [sp, #264] @ 0x108 │ │ │ │ │ + vadd.f64 d5, d12, d5 │ │ │ │ │ + vadd.f64 d11, d1, d15 │ │ │ │ │ vadd.f64 d12, d3, d4 │ │ │ │ │ + vstr d0, [sp, #280] @ 0x118 │ │ │ │ │ + vadd.f64 d0, d8, d0 │ │ │ │ │ + vstr d1, [sp, #288] @ 0x120 │ │ │ │ │ vsub.f64 d4, d3, d4 │ │ │ │ │ - vstr d8, [sp, #272] @ 0x110 │ │ │ │ │ - vstr d12, [sp, #464] @ 0x1d0 │ │ │ │ │ - vadd.f64 d12, d8, d15 │ │ │ │ │ - vldr d8, [sp, #304] @ 0x130 │ │ │ │ │ - vstr d12, [sp, #472] @ 0x1d8 │ │ │ │ │ - vadd.f64 d12, d11, d1 │ │ │ │ │ - vadd.f64 d11, d13, d2 │ │ │ │ │ - vsub.f64 d1, d6, d8 │ │ │ │ │ - vstr d12, [sp, #280] @ 0x118 │ │ │ │ │ - vstr d11, [sp, #288] @ 0x120 │ │ │ │ │ - vadd.f64 d11, d12, d11 │ │ │ │ │ - vsub.f64 d12, d0, d9 │ │ │ │ │ - vadd.f64 d9, d0, d9 │ │ │ │ │ - vstr d12, [sp, #296] @ 0x128 │ │ │ │ │ - vadd.f64 d12, d12, d1 │ │ │ │ │ - vstr d1, [sp, #304] @ 0x130 │ │ │ │ │ - vldr d1, [sp, #312] @ 0x138 │ │ │ │ │ - vstr d12, [sp, #496] @ 0x1f0 │ │ │ │ │ - vsub.f64 d14, d1, d10 │ │ │ │ │ - vadd.f64 d10, d1, d10 │ │ │ │ │ - vldr d1, [sp, #400] @ 0x190 │ │ │ │ │ - vldr d12, [pc, #964] @ 9e8 │ │ │ │ │ - vmov.f64 d13, d14 │ │ │ │ │ + vldr d1, [pc, #980] @ 9e0 │ │ │ │ │ + vstr d12, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d12, [sp, #296] @ 0x128 │ │ │ │ │ + vstr d0, [sp, #464] @ 0x1d0 │ │ │ │ │ + vmul.f64 d3, d4, d1 │ │ │ │ │ + vldr d0, [sp, #304] @ 0x130 │ │ │ │ │ vldr d14, [sp, #320] @ 0x140 │ │ │ │ │ - vmul.f64 d3, d4, d12 │ │ │ │ │ + vsub.f64 d2, d12, d9 │ │ │ │ │ + vadd.f64 d9, d12, d9 │ │ │ │ │ + vsub.f64 d8, d6, d0 │ │ │ │ │ + vmov.f64 d12, d0 │ │ │ │ │ + vldr d0, [pc, #944] @ 9e8 │ │ │ │ │ + vstr d2, [sp, #296] @ 0x128 │ │ │ │ │ + vadd.f64 d2, d2, d8 │ │ │ │ │ + vstr d8, [sp, #304] @ 0x130 │ │ │ │ │ + vldr d8, [sp, #312] @ 0x138 │ │ │ │ │ + vstr d2, [sp, #472] @ 0x1d8 │ │ │ │ │ + vsub.f64 d2, d8, d10 │ │ │ │ │ + vadd.f64 d10, d8, d10 │ │ │ │ │ + vmov.f64 d13, d2 │ │ │ │ │ vadd.f64 d2, d14, d7 │ │ │ │ │ - vsub.f64 d7, d14, d7 │ │ │ │ │ vstr d13, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d14, [sp, #152] @ 0x98 │ │ │ │ │ vadd.f64 d13, d13, d2 │ │ │ │ │ - vsub.f64 d0, d7, d10 │ │ │ │ │ - vstr d7, [sp, #328] @ 0x148 │ │ │ │ │ vstr d13, [sp, #480] @ 0x1e0 │ │ │ │ │ - vadd.f64 d13, d8, d6 │ │ │ │ │ - vsub.f64 d8, d5, d1 │ │ │ │ │ - vadd.f64 d5, d1, d5 │ │ │ │ │ - vmov.f64 d1, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vstr d0, [sp, #488] @ 0x1e8 │ │ │ │ │ - vldr d0, [pc, #904] @ 9f0 │ │ │ │ │ + vadd.f64 d13, d12, d6 │ │ │ │ │ + vsub.f64 d12, d14, d7 │ │ │ │ │ + vldr d14, [sp, #152] @ 0x98 │ │ │ │ │ + vsub.f64 d7, d12, d10 │ │ │ │ │ vadd.f64 d6, d9, d13 │ │ │ │ │ vstr d13, [sp, #320] @ 0x140 │ │ │ │ │ - vldr d13, [sp, #336] @ 0x150 │ │ │ │ │ + vldr d13, [sp, #328] @ 0x148 │ │ │ │ │ + vstr d7, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d7, [sp, #392] @ 0x188 │ │ │ │ │ + vsub.f64 d8, d5, d7 │ │ │ │ │ + vadd.f64 d5, d7, d5 │ │ │ │ │ + vmov.f64 d7, #80 @ 0x3e800000 0.250 │ │ │ │ │ vmul.f64 d8, d8, d0 │ │ │ │ │ - vmov.f64 d7, d13 │ │ │ │ │ - vmls.f64 d7, d5, d1 │ │ │ │ │ + vmov.f64 d0, d13 │ │ │ │ │ + vmls.f64 d0, d5, d7 │ │ │ │ │ + vldr d7, [sp, #144] @ 0x90 │ │ │ │ │ vadd.f64 d5, d13, d5 │ │ │ │ │ vldr d13, [sp, #312] @ 0x138 │ │ │ │ │ + vadd.f64 d7, d7, d14 │ │ │ │ │ + vldr d14, [pc, #824] @ 9f0 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ + ldr r3, [sp, #16] │ │ │ │ │ vsub.f64 d2, d13, d2 │ │ │ │ │ - ldr r3, [sp, #12] │ │ │ │ │ - vmov.f64 d0, d7 │ │ │ │ │ - vldr d7, [sp, #144] @ 0x90 │ │ │ │ │ - vadd.f64 d7, d7, d14 │ │ │ │ │ - vldr d14, [pc, #856] @ 9f8 │ │ │ │ │ vadd.f64 d5, d8, d0 │ │ │ │ │ vsub.f64 d0, d0, d8 │ │ │ │ │ - vldr d8, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d8, [sp, #440] @ 0x1b8 │ │ │ │ │ vnmls.f64 d3, d7, d14 │ │ │ │ │ - vmul.f64 d7, d7, d12 │ │ │ │ │ + vmul.f64 d7, d7, d1 │ │ │ │ │ + vldr d1, [sp, #368] @ 0x170 │ │ │ │ │ + vldr d13, [pc, #788] @ 9f0 │ │ │ │ │ vmla.f64 d7, d4, d14 │ │ │ │ │ - vmov.f64 d12, d14 │ │ │ │ │ - vldr d14, [sp, #216] @ 0xd8 │ │ │ │ │ - vmov.f64 d13, d12 │ │ │ │ │ + vldr d14, [sp, #208] @ 0xd0 │ │ │ │ │ vsub.f64 d4, d5, d7 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ + vmov.f64 d5, d1 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ vsub.f64 d7, d0, d3 │ │ │ │ │ - ldr r3, [sp, #112] @ 0x70 │ │ │ │ │ vadd.f64 d3, d3, d0 │ │ │ │ │ - vldr d4, [sp, #208] @ 0xd0 │ │ │ │ │ - vldr d0, [pc, #776] @ 9f0 │ │ │ │ │ + vldr d4, [sp, #216] @ 0xd8 │ │ │ │ │ + ldr r3, [sp, #84] @ 0x54 │ │ │ │ │ + vldr d0, [pc, #732] @ 9e8 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d6, d8 │ │ │ │ │ - vstr d3, [r0] │ │ │ │ │ - vsub.f64 d3, d4, d14 │ │ │ │ │ - vldr d4, [pc, #748] @ 9e8 │ │ │ │ │ vadd.f64 d6, d8, d6 │ │ │ │ │ - vldr d8, [sp, #376] @ 0x178 │ │ │ │ │ + vstr d3, [r7] │ │ │ │ │ + vsub.f64 d3, d14, d4 │ │ │ │ │ + vmov.f64 d8, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vldr d4, [pc, #696] @ 9e0 │ │ │ │ │ + ldr r3, [sp, #12] │ │ │ │ │ + vmls.f64 d5, d6, d8 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ - ldr r3, [sp, #8] │ │ │ │ │ + vadd.f64 d6, d1, d6 │ │ │ │ │ vmov.f64 d14, d4 │ │ │ │ │ vmul.f64 d4, d3, d4 │ │ │ │ │ - vmov.f64 d5, d8 │ │ │ │ │ - vmla.f64 d4, d2, d12 │ │ │ │ │ - vmls.f64 d5, d6, d1 │ │ │ │ │ - vadd.f64 d6, d8, d6 │ │ │ │ │ + vmla.f64 d4, d2, d13 │ │ │ │ │ vmul.f64 d2, d2, d14 │ │ │ │ │ - vmov.f64 d12, d14 │ │ │ │ │ - vldr d14, [sp, #424] @ 0x1a8 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ - vnmls.f64 d2, d3, d13 │ │ │ │ │ + ldr r3, [sp, #120] @ 0x78 │ │ │ │ │ vsub.f64 d6, d5, d7 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ + vnmls.f64 d2, d3, d13 │ │ │ │ │ vsub.f64 d3, d6, d2 │ │ │ │ │ vadd.f64 d2, d2, d6 │ │ │ │ │ vadd.f64 d6, d4, d7 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vadd.f64 d4, d14, d11 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ vstr d2, [r2] │ │ │ │ │ - vstr d6, [r7] │ │ │ │ │ - vsub.f64 d6, d11, d14 │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ - vldr d8, [sp, #344] @ 0x158 │ │ │ │ │ - vldr d14, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ + ldr r0, [sp, #28] │ │ │ │ │ + vldr d7, [sp, #416] @ 0x1a0 │ │ │ │ │ vldr d2, [sp, #160] @ 0xa0 │ │ │ │ │ - vmul.f64 d6, d6, d0 │ │ │ │ │ + vldr d14, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d3, [sp, #280] @ 0x118 │ │ │ │ │ + vadd.f64 d4, d7, d11 │ │ │ │ │ + vsub.f64 d6, d11, d7 │ │ │ │ │ + ldrd r5, r6, [sp, #52] @ 0x34 │ │ │ │ │ vldr d7, [sp, #272] @ 0x110 │ │ │ │ │ - vmov.f64 d5, d8 │ │ │ │ │ - vmls.f64 d5, d4, d1 │ │ │ │ │ - vadd.f64 d4, d8, d4 │ │ │ │ │ vsub.f64 d2, d2, d14 │ │ │ │ │ - ldr r2, [sp, #44] @ 0x2c │ │ │ │ │ - vsub.f64 d7, d7, d15 │ │ │ │ │ - vldr d14, [sp, #432] @ 0x1b0 │ │ │ │ │ - vmov.f64 d15, d12 │ │ │ │ │ - vldr d8, [sp, #328] @ 0x148 │ │ │ │ │ - vstr d4, [ip] │ │ │ │ │ - vmul.f64 d3, d2, d12 │ │ │ │ │ - vldr d11, [sp, #368] @ 0x170 │ │ │ │ │ + vldr d11, [sp, #336] @ 0x150 │ │ │ │ │ + vmul.f64 d6, d6, d0 │ │ │ │ │ + vldr d14, [pc, #568] @ 9e0 │ │ │ │ │ + vsub.f64 d7, d7, d3 │ │ │ │ │ + vmov.f64 d5, d11 │ │ │ │ │ + vmul.f64 d3, d2, d14 │ │ │ │ │ + vmov.f64 d1, d14 │ │ │ │ │ + vmls.f64 d5, d4, d8 │ │ │ │ │ + vadd.f64 d4, d11, d4 │ │ │ │ │ + vldr d11, [sp, #472] @ 0x1d8 │ │ │ │ │ vmla.f64 d3, d7, d13 │ │ │ │ │ - vmul.f64 d7, d7, d12 │ │ │ │ │ - vldr d12, [sp, #496] @ 0x1f0 │ │ │ │ │ + vmul.f64 d7, d7, d14 │ │ │ │ │ + vldr d14, [sp, #424] @ 0x1a8 │ │ │ │ │ + vstr d4, [lr] │ │ │ │ │ + vnmls.f64 d7, d2, d13 │ │ │ │ │ vsub.f64 d4, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vmov.f64 d5, d11 │ │ │ │ │ - ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ - vnmls.f64 d7, d2, d13 │ │ │ │ │ vsub.f64 d2, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vadd.f64 d4, d14, d12 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - vstr d7, [fp] │ │ │ │ │ + vadd.f64 d4, d14, d11 │ │ │ │ │ + vstr d2, [r6] │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ vsub.f64 d7, d6, d3 │ │ │ │ │ - vldr d2, [sp, #248] @ 0xf8 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ - ldr r2, [sp, #60] @ 0x3c │ │ │ │ │ - vadd.f64 d6, d10, d8 │ │ │ │ │ - vmls.f64 d5, d4, d1 │ │ │ │ │ - vadd.f64 d4, d11, d4 │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ - vsub.f64 d7, d12, d14 │ │ │ │ │ + vadd.f64 d6, d10, d12 │ │ │ │ │ + ldr r0, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d10, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d12, [sp, #256] @ 0x100 │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + vsub.f64 d7, d11, d14 │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ vldr d14, [sp, #240] @ 0xf0 │ │ │ │ │ - vmov.f64 d12, d15 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - vsub.f64 d2, d14, d2 │ │ │ │ │ + vldr d11, [sp, #360] @ 0x168 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ - ldr r2, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d11, [sp, #408] @ 0x198 │ │ │ │ │ - vldr d14, [sp, #464] @ 0x1d0 │ │ │ │ │ - vmul.f64 d3, d2, d15 │ │ │ │ │ - vsub.f64 d4, d5, d7 │ │ │ │ │ + ldr r4, [sp, #32] │ │ │ │ │ + vsub.f64 d2, d14, d10 │ │ │ │ │ + vldr d14, [sp, #264] @ 0x108 │ │ │ │ │ + vmov.f64 d5, d11 │ │ │ │ │ + vmul.f64 d3, d2, d1 │ │ │ │ │ + vmls.f64 d5, d4, d8 │ │ │ │ │ + vadd.f64 d4, d11, d4 │ │ │ │ │ + vldr d11, [sp, #376] @ 0x178 │ │ │ │ │ vmla.f64 d3, d6, d13 │ │ │ │ │ - vmul.f64 d6, d6, d15 │ │ │ │ │ - vadd.f64 d7, d7, d5 │ │ │ │ │ - vldr d10, [sp, #384] @ 0x180 │ │ │ │ │ - vsub.f64 d5, d11, d14 │ │ │ │ │ + vmul.f64 d6, d6, d1 │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ + ldr r1, [sp, #68] @ 0x44 │ │ │ │ │ vnmls.f64 d6, d2, d13 │ │ │ │ │ + vsub.f64 d4, d5, d7 │ │ │ │ │ + vadd.f64 d7, d7, d5 │ │ │ │ │ + vldr d5, [sp, #400] @ 0x190 │ │ │ │ │ vadd.f64 d2, d6, d4 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vsub.f64 d6, d7, d3 │ │ │ │ │ vadd.f64 d3, d3, d7 │ │ │ │ │ + vldr d7, [sp, #456] @ 0x1c8 │ │ │ │ │ + vstr d2, [r1] │ │ │ │ │ + vsub.f64 d2, d14, d12 │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ + vmov.f64 d4, d11 │ │ │ │ │ + vstr d6, [r8] │ │ │ │ │ + vadd.f64 d6, d5, d7 │ │ │ │ │ + vsub.f64 d5, d5, d7 │ │ │ │ │ + vstr d3, [r4] │ │ │ │ │ vldr d7, [sp, #128] @ 0x80 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d2, [sp, #264] @ 0x108 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - vmov.f64 d4, d10 │ │ │ │ │ - vstr d6, [lr] │ │ │ │ │ - vadd.f64 d6, d11, d14 │ │ │ │ │ - vstr d3, [r9] │ │ │ │ │ - vmla.f64 d4, d5, d1 │ │ │ │ │ + ldrd r2, r1, [sp, #4] │ │ │ │ │ vldr d3, [sp, #136] @ 0x88 │ │ │ │ │ - vsub.f64 d5, d5, d10 │ │ │ │ │ - vldr d14, [sp, #256] @ 0x100 │ │ │ │ │ - vmov.f64 d11, d13 │ │ │ │ │ - ldr r3, [sp, #0] │ │ │ │ │ + vmla.f64 d4, d5, d8 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ + vsub.f64 d5, d5, d11 │ │ │ │ │ + ldrd r5, r6, [sp, #36] @ 0x24 │ │ │ │ │ + ldrd r7, r3, [sp, #44] @ 0x2c │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - ldr r6, [sp, #24] │ │ │ │ │ - vsub.f64 d2, d2, d14 │ │ │ │ │ - ldr r2, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d8, [sp, #352] @ 0x160 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - vmul.f64 d3, d7, d15 │ │ │ │ │ - vmul.f64 d7, d7, d13 │ │ │ │ │ - vmla.f64 d7, d2, d15 │ │ │ │ │ + vldr d14, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ + vldr d11, [sp, #432] @ 0x1b0 │ │ │ │ │ vsub.f64 d5, d4, d6 │ │ │ │ │ - ldr r3, [sp, #36] @ 0x24 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vldr d10, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d12, [sp, #480] @ 0x1e0 │ │ │ │ │ + vmul.f64 d3, d7, d1 │ │ │ │ │ + vmul.f64 d7, d7, d13 │ │ │ │ │ + ldr r2, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d10, [sp, #344] @ 0x158 │ │ │ │ │ + vadd.f64 d4, d11, d12 │ │ │ │ │ + vmla.f64 d7, d2, d1 │ │ │ │ │ vnmls.f64 d3, d2, d13 │ │ │ │ │ - vldr d13, [sp, #480] @ 0x1e0 │ │ │ │ │ - vldr d15, [sp, #224] @ 0xe0 │ │ │ │ │ - ldr r1, [sp, #4] │ │ │ │ │ - ldr r7, [sp, #28] │ │ │ │ │ - ldr r0, [sp, #32] │ │ │ │ │ + vldr d13, [sp, #320] @ 0x140 │ │ │ │ │ vsub.f64 d2, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vmov.f64 d5, d8 │ │ │ │ │ - vstr d2, [r6] │ │ │ │ │ + vmov.f64 d5, d10 │ │ │ │ │ + vmls.f64 d5, d4, d8 │ │ │ │ │ + vadd.f64 d4, d10, d4 │ │ │ │ │ + vldr d10, [sp, #464] @ 0x1d0 │ │ │ │ │ + vstr d2, [r5] │ │ │ │ │ + vsub.f64 d2, d9, d13 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d3, d6 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ - vldr d6, [sp, #440] @ 0x1b8 │ │ │ │ │ - ldr r3, [sp, #52] @ 0x34 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - vadd.f64 d4, d6, d13 │ │ │ │ │ - vsub.f64 d7, d13, d6 │ │ │ │ │ - vldr d13, [sp, #320] @ 0x140 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ - vsub.f64 d6, d15, d10 │ │ │ │ │ ldr r3, [sp, #88] @ 0x58 │ │ │ │ │ - vmov.f64 d10, d12 │ │ │ │ │ - vsub.f64 d2, d9, d13 │ │ │ │ │ - vmls.f64 d5, d4, d1 │ │ │ │ │ + vldr d9, [sp, #384] @ 0x180 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + vsub.f64 d7, d12, d11 │ │ │ │ │ + vmov.f64 d12, d1 │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ + vmul.f64 d3, d2, d1 │ │ │ │ │ + vldr d11, [sp, #224] @ 0xe0 │ │ │ │ │ + ldr r3, [sp, #60] @ 0x3c │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ - vadd.f64 d4, d8, d4 │ │ │ │ │ - vldr d8, [sp, #392] @ 0x188 │ │ │ │ │ - vmul.f64 d3, d2, d12 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - vnmls.f64 d3, d6, d11 │ │ │ │ │ - vmul.f64 d6, d6, d12 │ │ │ │ │ - vmla.f64 d6, d2, d11 │ │ │ │ │ + ldr r2, [sp, #96] @ 0x60 │ │ │ │ │ + vsub.f64 d6, d11, d14 │ │ │ │ │ + vldr d11, [pc, #168] @ 9f0 │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ vadd.f64 d4, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d12, [sp, #280] @ 0x118 │ │ │ │ │ + vnmls.f64 d3, d6, d11 │ │ │ │ │ + vmul.f64 d6, d6, d1 │ │ │ │ │ + vmla.f64 d6, d2, d11 │ │ │ │ │ vadd.f64 d2, d6, d4 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vadd.f64 d6, d3, d7 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ vstr d2, [r1] │ │ │ │ │ - vstr d4, [r7] │ │ │ │ │ - ldr r7, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d2, [sp, #472] @ 0x1d8 │ │ │ │ │ - vstr d6, [r7] │ │ │ │ │ - vmov.f64 d6, d8 │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ - vldr d7, [sp, #416] @ 0x1a0 │ │ │ │ │ - vadd.f64 d4, d7, d2 │ │ │ │ │ - vsub.f64 d5, d2, d7 │ │ │ │ │ - vldr d2, [sp, #288] @ 0x120 │ │ │ │ │ - vldr d7, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d3, [sp, #184] @ 0xb8 │ │ │ │ │ - vmls.f64 d6, d4, d1 │ │ │ │ │ - vsub.f64 d2, d12, d2 │ │ │ │ │ - vmul.f64 d5, d5, d0 │ │ │ │ │ - ldr r2, [sp, #120] @ 0x78 │ │ │ │ │ - vsub.f64 d7, d7, d3 │ │ │ │ │ - vadd.f64 d4, d8, d4 │ │ │ │ │ - ldr r5, [sp, #20] │ │ │ │ │ - ldr r3, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d12, [sp, #296] @ 0x128 │ │ │ │ │ - vmul.f64 d3, d7, d11 │ │ │ │ │ - vmul.f64 d7, d7, d10 │ │ │ │ │ - vmla.f64 d7, d2, d11 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - vadd.f64 d4, d5, d6 │ │ │ │ │ + vstr d4, [r6] │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + vldr d4, [sp, #288] @ 0x120 │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ + vldr d6, [sp, #408] @ 0x198 │ │ │ │ │ + vldr d3, [sp, #176] @ 0xb0 │ │ │ │ │ + vsub.f64 d4, d4, d15 │ │ │ │ │ + ldrd r0, r4, [sp, #20] │ │ │ │ │ + vldr d2, [sp, #184] @ 0xb8 │ │ │ │ │ + vadd.f64 d5, d6, d10 │ │ │ │ │ + vsub.f64 d7, d10, d6 │ │ │ │ │ + vmov.f64 d6, d9 │ │ │ │ │ + ldr r1, [sp, #496] @ 0x1f0 │ │ │ │ │ + ldr r5, [sp, #80] @ 0x50 │ │ │ │ │ + vsub.f64 d3, d3, d2 │ │ │ │ │ + vmls.f64 d6, d5, d8 │ │ │ │ │ + vldr d1, [sp, #352] @ 0x160 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ + vadd.f64 d5, d9, d5 │ │ │ │ │ + ldr r3, [sp, #112] @ 0x70 │ │ │ │ │ ldr r2, [sp, #124] @ 0x7c │ │ │ │ │ - vsub.f64 d6, d6, d5 │ │ │ │ │ - ldr r4, [sp, #16] │ │ │ │ │ - vnmls.f64 d3, d2, d10 │ │ │ │ │ - ldr r6, [sp, #68] @ 0x44 │ │ │ │ │ - ldr r1, [sp, #116] @ 0x74 │ │ │ │ │ - vsub.f64 d2, d7, d4 │ │ │ │ │ - vadd.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [sp, #304] @ 0x130 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - vsub.f64 d4, d12, d4 │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ - vsub.f64 d7, d3, d6 │ │ │ │ │ - ldr r5, [sp, #64] @ 0x40 │ │ │ │ │ - b.n a08 │ │ │ │ │ + vmul.f64 d2, d3, d11 │ │ │ │ │ + vmul.f64 d3, d3, d12 │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ + vadd.f64 d5, d7, d6 │ │ │ │ │ + vsub.f64 d6, d6, d7 │ │ │ │ │ + vmla.f64 d3, d4, d11 │ │ │ │ │ + vnmls.f64 d2, d4, d12 │ │ │ │ │ + b.n a00 │ │ │ │ │ nop │ │ │ │ │ - nop.w │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ - .word 0x000009e0 │ │ │ │ │ + .word 0x000009bc │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - vadd.f64 d3, d3, d6 │ │ │ │ │ - vldr d2, [sp, #488] @ 0x1e8 │ │ │ │ │ - vldr d6, [sp, #456] @ 0x1c8 │ │ │ │ │ - ldr r2, [sp, #504] @ 0x1f8 │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ - vadd.f64 d7, d6, d2 │ │ │ │ │ - vsub.f64 d6, d2, d6 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ - vldr d3, [sp, #192] @ 0xc0 │ │ │ │ │ - ldr r3, [sp, #624] @ 0x270 │ │ │ │ │ + vsub.f64 d4, d3, d5 │ │ │ │ │ + vadd.f64 d3, d3, d5 │ │ │ │ │ + vsub.f64 d7, d2, d6 │ │ │ │ │ + vadd.f64 d2, d2, d6 │ │ │ │ │ + vldr d6, [sp, #448] @ 0x1c0 │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ + vldr d4, [sp, #488] @ 0x1e8 │ │ │ │ │ + vstr d3, [r4] │ │ │ │ │ + ldr r4, [sp, #76] @ 0x4c │ │ │ │ │ + vldr d3, [sp, #200] @ 0xc8 │ │ │ │ │ + vsub.f64 d5, d4, d6 │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + vadd.f64 d7, d6, d4 │ │ │ │ │ + vmov.f64 d4, d1 │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + vldr d2, [sp, #296] @ 0x128 │ │ │ │ │ + ldr r3, [sp, #616] @ 0x268 │ │ │ │ │ + vmla.f64 d4, d5, d8 │ │ │ │ │ + vsub.f64 d5, d5, d1 │ │ │ │ │ + vldr d8, [sp, #304] @ 0x130 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ - vldr d0, [sp, #360] @ 0x168 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #624] @ 0x270 │ │ │ │ │ - ldr r3, [sp, #508] @ 0x1fc │ │ │ │ │ - vmov.f64 d5, d0 │ │ │ │ │ - vmla.f64 d5, d6, d1 │ │ │ │ │ - vldr d1, [sp, #200] @ 0xc8 │ │ │ │ │ - vsub.f64 d6, d6, d0 │ │ │ │ │ - add ip, r3 │ │ │ │ │ - ldr r3, [sp, #512] @ 0x200 │ │ │ │ │ - vsub.f64 d2, d3, d1 │ │ │ │ │ + vldr d0, [sp, #192] @ 0xc0 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ + vsub.f64 d6, d2, d8 │ │ │ │ │ + str r3, [sp, #616] @ 0x268 │ │ │ │ │ + ldr r3, [sp, #500] @ 0x1f4 │ │ │ │ │ + vsub.f64 d2, d0, d3 │ │ │ │ │ + vadd.f64 d5, d7, d4 │ │ │ │ │ + vsub.f64 d7, d7, d4 │ │ │ │ │ add lr, r3 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ - vmul.f64 d3, d2, d10 │ │ │ │ │ - vmla.f64 d3, d4, d11 │ │ │ │ │ - vmul.f64 d4, d4, d10 │ │ │ │ │ - vadd.f64 d6, d7, d5 │ │ │ │ │ - vsub.f64 d7, d7, d5 │ │ │ │ │ - vnmls.f64 d4, d2, d11 │ │ │ │ │ - vadd.f64 d2, d4, d6 │ │ │ │ │ - vsub.f64 d6, d6, d4 │ │ │ │ │ - vstr d2, [r6] │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ + ldr r3, [sp, #504] @ 0x1f8 │ │ │ │ │ + vmul.f64 d3, d2, d12 │ │ │ │ │ + add r8, r3 │ │ │ │ │ + ldr r3, [sp, #508] @ 0x1fc │ │ │ │ │ + vmla.f64 d3, d6, d11 │ │ │ │ │ + vmul.f64 d6, d6, d12 │ │ │ │ │ + eor.w r9, r9, r3 │ │ │ │ │ + vnmls.f64 d6, d2, d11 │ │ │ │ │ + vadd.f64 d2, d6, d5 │ │ │ │ │ + vsub.f64 d5, d5, d6 │ │ │ │ │ vadd.f64 d6, d3, d7 │ │ │ │ │ - ldr r6, [sp, #96] @ 0x60 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ - ldr r3, [sp, #516] @ 0x204 │ │ │ │ │ - eor.w r8, r8, r3 │ │ │ │ │ - ldrd r2, r3, [sp, #624] @ 0x270 │ │ │ │ │ + vstr d2, [r5] │ │ │ │ │ + ldr r5, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d5, [sl] │ │ │ │ │ + vstr d6, [r5] │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + ldrd r2, r3, [sp, #616] @ 0x268 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 48 │ │ │ │ │ - add.w sp, sp, #524 @ 0x20c │ │ │ │ │ + bne.w 5e │ │ │ │ │ + add.w sp, sp, #516 @ 0x204 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000ab0 : │ │ │ │ │ +00000ad8 : │ │ │ │ │ fftw_codelet_hf_20(): │ │ │ │ │ - ldr r2, [pc, #8] @ (abc ) │ │ │ │ │ - ldr r1, [pc, #12] @ (ac0 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (ae4 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (ae8 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2hc_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── hf_25.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 5496 (bytes into file) │ │ │ │ │ + Start of section headers: 5632 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x1578: │ │ │ │ │ +There are 14 section headers, starting at offset 0x1600: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 001220 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0014c0 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 001254 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 001254 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 001254 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 00125a 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 001262 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 0014e8 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 001292 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 001292 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 0012c8 000170 10 12 18 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 001438 000087 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 001500 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0012a8 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 001548 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0012dc 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0012dc 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0012dc 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 0012e2 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0012ea 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 001570 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 00131a 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00131a 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 001350 000170 10 12 18 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0014c0 000087 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 001588 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,26 +1,26 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 23 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 4618 FUNC LOCAL DEFAULT 1 hf_25 │ │ │ │ │ + 1: 00000001 4756 FUNC LOCAL DEFAULT 1 hf_25 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000003e8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000408 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000008a8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000928 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00001100 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 8: 00001170 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 9: 00001218 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000408 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000428 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000910 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000990 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00001178 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 000011e0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 9: 000012a0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 12: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 13: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 14: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 15: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 16: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 17: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 20: 0000120d 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_25 │ │ │ │ │ + 20: 00001295 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_25 │ │ │ │ │ 21: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2hc_register │ │ │ │ │ 22: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x14c0 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x1548 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000400 00001219 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000404 0000131a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00001218 00000f03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000121c 00000103 R_ARM_REL32 00000001 hf_25 │ │ │ │ │ -00001214 0000151e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ +00000420 00001219 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000424 0000131a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +000012a0 00000f03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000012a4 00000103 R_ARM_REL32 00000001 hf_25 │ │ │ │ │ +0000129c 0000151e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x14e8 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x1570 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000a02 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000c02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001602 R_ARM_ABS32 00000000 fftw_rdft_hf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,337 +1,343 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hf_25(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r7, r1 │ │ │ │ │ - mov r6, r0 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r8, r1 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov r9, r3 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub.w sp, sp, #636 @ 0x27c │ │ │ │ │ - mov.w r0, #384 @ 0x180 │ │ │ │ │ - mov r8, r3 │ │ │ │ │ - ldr r3, [pc, #1000] @ (400 ) │ │ │ │ │ - ldr r1, [sp, #736] @ 0x2e0 │ │ │ │ │ - add r3, pc │ │ │ │ │ - subs r1, #1 │ │ │ │ │ - mla r5, r0, r1, r2 │ │ │ │ │ - ldrd r2, r1, [sp, #736] @ 0x2e0 │ │ │ │ │ - cmp r2, r1 │ │ │ │ │ - bge.w 11fe │ │ │ │ │ - ldr r2, [sp, #744] @ 0x2e8 │ │ │ │ │ - vldr d8, [pc, #952] @ 3e8 │ │ │ │ │ - vldr d15, [pc, #956] @ 3f0 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ - str r2, [sp, #620] @ 0x26c │ │ │ │ │ - negs r2, r2 │ │ │ │ │ - str r2, [sp, #624] @ 0x270 │ │ │ │ │ - ldr r2, [pc, #964] @ (404 ) │ │ │ │ │ - ldr r3, [r3, r2] │ │ │ │ │ - ldr r3, [r3, #0] │ │ │ │ │ + sub.w sp, sp, #644 @ 0x284 │ │ │ │ │ + ldr r3, [sp, #744] @ 0x2e8 │ │ │ │ │ + ldr r1, [pc, #1020] @ (420 ) │ │ │ │ │ + add.w r3, r3, #4294967295 @ 0xffffffff │ │ │ │ │ + add.w r3, r3, r3, lsl #1 │ │ │ │ │ + add r1, pc │ │ │ │ │ + add.w r6, r2, r3, lsl #7 │ │ │ │ │ + ldrd r3, r2, [sp, #744] @ 0x2e8 │ │ │ │ │ + cmp r3, r2 │ │ │ │ │ + bge.w 1276 │ │ │ │ │ + ldr r3, [sp, #752] @ 0x2f0 │ │ │ │ │ + vldr d8, [pc, #968] @ 408 │ │ │ │ │ + vldr d15, [pc, #972] @ 410 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ str r3, [sp, #628] @ 0x274 │ │ │ │ │ - movs r3, #40 @ 0x28 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ - vldr d13, [r5, #72] @ 0x48 │ │ │ │ │ - vldr d6, [r5, #64] @ 0x40 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - vstr d5, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d12, [r5, #312] @ 0x138 │ │ │ │ │ - adds r2, r6, r3 │ │ │ │ │ - adds r1, r7, r3 │ │ │ │ │ - str r2, [sp, #8] │ │ │ │ │ + rsb r3, r3, #0 │ │ │ │ │ + str r3, [sp, #632] @ 0x278 │ │ │ │ │ + ldr r3, [pc, #976] @ (424 ) │ │ │ │ │ + ldr r3, [r1, r3] │ │ │ │ │ + str r0, [sp, #0] │ │ │ │ │ + ldr r3, [r3, #0] │ │ │ │ │ + str r3, [sp, #636] @ 0x27c │ │ │ │ │ + add.w r2, r9, r9, lsl #2 │ │ │ │ │ + ldr r7, [sp, #0] │ │ │ │ │ + mov.w r3, r2, lsl #3 │ │ │ │ │ + vldr d5, [r8] │ │ │ │ │ + add.w r0, r8, r3 │ │ │ │ │ + vldr d6, [r6, #64] @ 0x40 │ │ │ │ │ + add.w r1, r7, r3 │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ str r1, [sp, #16] │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - movs r2, #160 @ 0xa0 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - vldr d3, [r5, #152] @ 0x98 │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - vldr d9, [r5, #232] @ 0xe8 │ │ │ │ │ - vmul.f64 d10, d5, d13 │ │ │ │ │ - vmul.f64 d13, d7, d13 │ │ │ │ │ - adds r0, r6, r2 │ │ │ │ │ - adds r4, r7, r2 │ │ │ │ │ - movs r2, #80 @ 0x50 │ │ │ │ │ - vmla.f64 d10, d7, d6 │ │ │ │ │ + vldr d12, [r6, #72] @ 0x48 │ │ │ │ │ str r0, [sp, #24] │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - vnmls.f64 d13, d5, d6 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - vldr d6, [r5, #304] @ 0x130 │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ - adds r1, r6, r2 │ │ │ │ │ - vmul.f64 d11, d5, d12 │ │ │ │ │ - vmul.f64 d12, d7, d12 │ │ │ │ │ - vmla.f64 d11, d7, d6 │ │ │ │ │ - vldr d7, [r5, #144] @ 0x90 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + mov.w r1, r2, lsl #5 │ │ │ │ │ + vstr d5, [sp, #200] @ 0xc8 │ │ │ │ │ + mov.w r2, r2, lsl #4 │ │ │ │ │ + add.w r4, r7, r1 │ │ │ │ │ + add.w r5, r8, r1 │ │ │ │ │ + vldr d13, [r6, #152] @ 0x98 │ │ │ │ │ + add.w r1, r7, r2 │ │ │ │ │ + add.w r0, r8, r2 │ │ │ │ │ + add.w r2, r9, r9, lsl #1 │ │ │ │ │ + vmul.f64 d5, d4, d12 │ │ │ │ │ + vldr d3, [r5] │ │ │ │ │ str r4, [sp, #32] │ │ │ │ │ - adds r4, r1, r3 │ │ │ │ │ - str r1, [sp, #40] @ 0x28 │ │ │ │ │ - movs r2, #24 │ │ │ │ │ - vnmls.f64 d12, d5, d6 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - adds r1, r0, r3 │ │ │ │ │ - vldr d14, [pc, #804] @ 3f8 │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - vmul.f64 d4, d6, d3 │ │ │ │ │ - str r4, [sp, #56] @ 0x38 │ │ │ │ │ - vmla.f64 d4, d5, d7 │ │ │ │ │ - vmul.f64 d5, d5, d3 │ │ │ │ │ - vldr d1, [r1] │ │ │ │ │ - vadd.f64 d0, d10, d11 │ │ │ │ │ - vldr d3, [r5, #224] @ 0xe0 │ │ │ │ │ - vsub.f64 d10, d10, d11 │ │ │ │ │ - str r0, [sp, #48] @ 0x30 │ │ │ │ │ - vnmls.f64 d5, d6, d7 │ │ │ │ │ + vldr d11, [r6, #312] @ 0x138 │ │ │ │ │ + vmul.f64 d12, d7, d12 │ │ │ │ │ + str r5, [sp, #40] @ 0x28 │ │ │ │ │ + add.w r5, r0, r3 │ │ │ │ │ + vldr d9, [r6, #232] @ 0xe8 │ │ │ │ │ + vmla.f64 d5, d7, d6 │ │ │ │ │ + str r1, [sp, #48] @ 0x30 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ + add.w r4, r1, r3 │ │ │ │ │ + vnmls.f64 d12, d4, d6 │ │ │ │ │ + str r0, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d6, [r6, #304] @ 0x130 │ │ │ │ │ + vmul.f64 d4, d3, d11 │ │ │ │ │ + str r4, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d1, [r5] │ │ │ │ │ + str r5, [sp, #72] @ 0x48 │ │ │ │ │ + vmul.f64 d11, d7, d11 │ │ │ │ │ + vldr d14, [pc, #808] @ 418 │ │ │ │ │ + vmla.f64 d4, d7, d6 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + vnmls.f64 d11, d3, d6 │ │ │ │ │ + vldr d3, [r0] │ │ │ │ │ + vldr d6, [r6, #144] @ 0x90 │ │ │ │ │ + vmul.f64 d10, d3, d13 │ │ │ │ │ + vmul.f64 d13, d7, d13 │ │ │ │ │ + vadd.f64 d0, d5, d4 │ │ │ │ │ + vsub.f64 d5, d5, d4 │ │ │ │ │ + vadd.f64 d2, d12, d11 │ │ │ │ │ + vsub.f64 d12, d12, d11 │ │ │ │ │ + vmla.f64 d10, d7, d6 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + vnmls.f64 d13, d3, d6 │ │ │ │ │ vmul.f64 d6, d1, d9 │ │ │ │ │ - vadd.f64 d2, d13, d12 │ │ │ │ │ - str r1, [sp, #64] @ 0x40 │ │ │ │ │ - vsub.f64 d13, d13, d12 │ │ │ │ │ + vldr d3, [r6, #224] @ 0xe0 │ │ │ │ │ + vmul.f64 d4, d5, d15 │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d9 │ │ │ │ │ - adds r4, r6, r2 │ │ │ │ │ - adds r2, r7, r2 │ │ │ │ │ - adds r1, r4, r3 │ │ │ │ │ vnmls.f64 d7, d1, d3 │ │ │ │ │ - vadd.f64 d1, d4, d6 │ │ │ │ │ - vsub.f64 d6, d4, d6 │ │ │ │ │ - vmul.f64 d4, d10, d15 │ │ │ │ │ + vadd.f64 d1, d10, d6 │ │ │ │ │ + vsub.f64 d6, d10, d6 │ │ │ │ │ + vadd.f64 d3, d13, d7 │ │ │ │ │ + vsub.f64 d7, d13, d7 │ │ │ │ │ vsub.f64 d9, d0, d1 │ │ │ │ │ - vadd.f64 d3, d5, d7 │ │ │ │ │ vadd.f64 d1, d0, d1 │ │ │ │ │ - vsub.f64 d7, d5, d7 │ │ │ │ │ vnmls.f64 d4, d6, d8 │ │ │ │ │ vmul.f64 d6, d6, d15 │ │ │ │ │ vmul.f64 d9, d9, d14 │ │ │ │ │ - vstr d1, [sp, #224] @ 0xe0 │ │ │ │ │ vstr d9, [sp, #208] @ 0xd0 │ │ │ │ │ vsub.f64 d9, d2, d3 │ │ │ │ │ vadd.f64 d2, d2, d3 │ │ │ │ │ - vldr d3, [sp, #200] @ 0xc8 │ │ │ │ │ + vstr d1, [sp, #224] @ 0xe0 │ │ │ │ │ vmul.f64 d9, d9, d14 │ │ │ │ │ vmov.f64 d14, d1 │ │ │ │ │ vmov.f64 d1, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vmls.f64 d3, d2, d1 │ │ │ │ │ vstr d9, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d9, [r6] │ │ │ │ │ + vldr d9, [r7] │ │ │ │ │ vmls.f64 d9, d14, d1 │ │ │ │ │ vstr d9, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d3, [sp, #200] @ 0xc8 │ │ │ │ │ vstr d2, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d14, [r6, #40] @ 0x28 │ │ │ │ │ + str r2, [sp, #624] @ 0x270 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + vstr d4, [sp, #560] @ 0x230 │ │ │ │ │ + add.w r5, r8, r2 │ │ │ │ │ + add.w r4, r7, r2 │ │ │ │ │ + mov.w r2, r9, lsl #3 │ │ │ │ │ + vmls.f64 d3, d2, d1 │ │ │ │ │ vmov.f64 d2, d6 │ │ │ │ │ + add.w r1, r4, r3 │ │ │ │ │ vmul.f64 d6, d7, d15 │ │ │ │ │ - vmla.f64 d2, d10, d8 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - vldr d14, [r5, #40] @ 0x28 │ │ │ │ │ - vstr d3, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d4, [r6, #280] @ 0x118 │ │ │ │ │ + str r5, [sp, #80] @ 0x50 │ │ │ │ │ + strd r4, r1, [sp, #88] @ 0x58 │ │ │ │ │ + vmla.f64 d2, d5, d8 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ vmov.f64 d10, d6 │ │ │ │ │ - vldr d6, [r5, #32] │ │ │ │ │ - vmla.f64 d10, d13, d8 │ │ │ │ │ - vmul.f64 d13, d13, d15 │ │ │ │ │ + vldr d6, [r6, #32] │ │ │ │ │ + vstr d3, [sp, #248] @ 0xf8 │ │ │ │ │ vmul.f64 d3, d5, d14 │ │ │ │ │ - str r4, [sp, #76] @ 0x4c │ │ │ │ │ - str r2, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d12, [r5, #120] @ 0x78 │ │ │ │ │ - vnmls.f64 d13, d7, d8 │ │ │ │ │ + vmla.f64 d10, d12, d8 │ │ │ │ │ + vmul.f64 d12, d12, d15 │ │ │ │ │ + vstr d2, [sp, #568] @ 0x238 │ │ │ │ │ + vldr d2, [r6, #360] @ 0x168 │ │ │ │ │ + vmov.f64 d13, d3 │ │ │ │ │ + vmov.f64 d11, d12 │ │ │ │ │ + vldr d12, [r6, #120] @ 0x78 │ │ │ │ │ + vnmls.f64 d11, d7, d8 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ - adds r4, r2, r3 │ │ │ │ │ - movs r2, #144 @ 0x90 │ │ │ │ │ - str r1, [sp, #88] @ 0x58 │ │ │ │ │ + add.w r4, r5, r3 │ │ │ │ │ + vstr d10, [sp, #576] @ 0x240 │ │ │ │ │ vmul.f64 d14, d7, d14 │ │ │ │ │ - vstr d4, [sp, #552] @ 0x228 │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - vldr d4, [r5, #280] @ 0x118 │ │ │ │ │ - str r4, [sp, #92] @ 0x5c │ │ │ │ │ - add.w sl, r6, r2 │ │ │ │ │ - vstr d2, [sp, #544] @ 0x220 │ │ │ │ │ - vnmls.f64 d14, d5, d6 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - vstr d13, [sp, #568] @ 0x238 │ │ │ │ │ - vmov.f64 d13, d3 │ │ │ │ │ vmla.f64 d13, d7, d6 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - vldr d6, [r5, #112] @ 0x70 │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - adds r4, r1, r3 │ │ │ │ │ - add.w r0, sl, r3 │ │ │ │ │ - movs r2, #104 @ 0x68 │ │ │ │ │ - vldr d2, [r5, #360] @ 0x168 │ │ │ │ │ - str r0, [sp, #100] @ 0x64 │ │ │ │ │ - vldr d3, [r4] │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - str r4, [sp, #104] @ 0x68 │ │ │ │ │ - str r1, [sp, #96] @ 0x60 │ │ │ │ │ + add.w r1, r2, r9 │ │ │ │ │ + mov.w r1, r1, lsl #4 │ │ │ │ │ + add.w sl, r7, r1 │ │ │ │ │ + add r1, r8 │ │ │ │ │ + vnmls.f64 d14, d5, d6 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + add.w r0, r1, r3 │ │ │ │ │ + add.w r5, sl, r3 │ │ │ │ │ + vldr d6, [r6, #112] @ 0x70 │ │ │ │ │ + vldr d3, [r0] │ │ │ │ │ vstr d13, [sp] │ │ │ │ │ vmul.f64 d13, d5, d12 │ │ │ │ │ vmul.f64 d12, d7, d12 │ │ │ │ │ + strd r4, r1, [sp, #96] @ 0x60 │ │ │ │ │ + strd r5, r0, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d11, [sp, #584] @ 0x248 │ │ │ │ │ vmla.f64 d13, d7, d6 │ │ │ │ │ - vldr d7, [r5, #272] @ 0x110 │ │ │ │ │ - adds r4, r7, r2 │ │ │ │ │ - vstr d10, [sp, #560] @ 0x230 │ │ │ │ │ - str r4, [sp, #112] @ 0x70 │ │ │ │ │ vnmls.f64 d12, d5, d6 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ + mov.w r1, #104 @ 0x68 │ │ │ │ │ vldr d5, [sl] │ │ │ │ │ + mul.w r1, r1, r9 │ │ │ │ │ + vldr d7, [r6, #272] @ 0x110 │ │ │ │ │ vmul.f64 d9, d6, d4 │ │ │ │ │ + add.w r4, r7, r1 │ │ │ │ │ + add.w r0, r8, r1 │ │ │ │ │ vmla.f64 d9, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d4 │ │ │ │ │ - vldr d4, [r5, #352] @ 0x160 │ │ │ │ │ + vldr d4, [r6, #352] @ 0x160 │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ vmul.f64 d6, d3, d2 │ │ │ │ │ - adds r0, r6, r2 │ │ │ │ │ - str r0, [sp, #108] @ 0x6c │ │ │ │ │ - mov.w r2, r8, lsl #3 │ │ │ │ │ + strd r4, r0, [sp, #112] @ 0x70 │ │ │ │ │ + add.w r5, r8, r2 │ │ │ │ │ + vldr d1, [r0] │ │ │ │ │ + str r5, [sp, #124] @ 0x7c │ │ │ │ │ + vldr d0, [r6, #200] @ 0xc8 │ │ │ │ │ vmla.f64 d6, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - vldr d1, [r4] │ │ │ │ │ - adds r4, r6, r2 │ │ │ │ │ - vldr d0, [r5, #200] @ 0xc8 │ │ │ │ │ - adds r0, r4, r3 │ │ │ │ │ + vldr d2, [r4] │ │ │ │ │ + add.w r4, r7, r2 │ │ │ │ │ + sub.w r2, r2, r9 │ │ │ │ │ + add.w r1, r4, r3 │ │ │ │ │ + mov.w r2, r2, lsl #4 │ │ │ │ │ + str r4, [sp, #120] @ 0x78 │ │ │ │ │ + str r1, [sp, #128] @ 0x80 │ │ │ │ │ vnmls.f64 d7, d3, d4 │ │ │ │ │ - vldr d3, [r5, #192] @ 0xc0 │ │ │ │ │ - str r1, [sp, #120] @ 0x78 │ │ │ │ │ - mov.w r2, r8, lsl #7 │ │ │ │ │ + vldr d3, [r6, #192] @ 0xc0 │ │ │ │ │ vmul.f64 d4, d1, d0 │ │ │ │ │ - add.w fp, r7, r2 │ │ │ │ │ vmla.f64 d4, d2, d3 │ │ │ │ │ vmul.f64 d2, d2, d0 │ │ │ │ │ - str r0, [sp, #124] @ 0x7c │ │ │ │ │ - str r4, [sp, #116] @ 0x74 │ │ │ │ │ + vsub.f64 d10, d12, d7 │ │ │ │ │ + vadd.f64 d7, d12, d7 │ │ │ │ │ vnmls.f64 d2, d1, d3 │ │ │ │ │ vsub.f64 d3, d13, d6 │ │ │ │ │ vadd.f64 d6, d13, d6 │ │ │ │ │ - vsub.f64 d10, d12, d7 │ │ │ │ │ - vadd.f64 d7, d12, d7 │ │ │ │ │ vldr d13, [sp] │ │ │ │ │ vsub.f64 d0, d4, d9 │ │ │ │ │ vadd.f64 d4, d9, d4 │ │ │ │ │ vsub.f64 d11, d2, d5 │ │ │ │ │ vadd.f64 d5, d5, d2 │ │ │ │ │ vadd.f64 d2, d6, d4 │ │ │ │ │ - vmul.f64 d9, d0, d15 │ │ │ │ │ - vmla.f64 d9, d3, d8 │ │ │ │ │ - vmul.f64 d3, d3, d15 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vadd.f64 d1, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vadd.f64 d12, d13, d2 │ │ │ │ │ - vnmls.f64 d3, d0, d8 │ │ │ │ │ - vldr d0, [pc, #268] @ 3f8 │ │ │ │ │ + vadd.f64 d9, d14, d1 │ │ │ │ │ vstr d12, [sp, #256] @ 0x100 │ │ │ │ │ - vadd.f64 d12, d14, d1 │ │ │ │ │ - vmul.f64 d7, d7, d0 │ │ │ │ │ - vstr d12, [sp, #264] @ 0x108 │ │ │ │ │ vmov.f64 d12, #80 @ 0x3e800000 0.250 │ │ │ │ │ vmls.f64 d14, d1, d12 │ │ │ │ │ + vstr d9, [sp, #264] @ 0x108 │ │ │ │ │ + vmul.f64 d9, d0, d15 │ │ │ │ │ + vmla.f64 d9, d3, d8 │ │ │ │ │ + vmul.f64 d3, d3, d15 │ │ │ │ │ + vnmls.f64 d3, d0, d8 │ │ │ │ │ + vldr d0, [pc, #212] @ 418 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ vadd.f64 d1, d7, d14 │ │ │ │ │ vsub.f64 d5, d14, d7 │ │ │ │ │ vadd.f64 d7, d9, d1 │ │ │ │ │ vadd.f64 d14, d3, d5 │ │ │ │ │ + vsub.f64 d1, d1, d9 │ │ │ │ │ vstr d7, [sp, #272] @ 0x110 │ │ │ │ │ - vsub.f64 d7, d1, d9 │ │ │ │ │ - vsub.f64 d1, d5, d3 │ │ │ │ │ + vsub.f64 d7, d5, d3 │ │ │ │ │ vmul.f64 d5, d6, d0 │ │ │ │ │ vmov.f64 d6, d13 │ │ │ │ │ vstr d14, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d14, [r6, #8] │ │ │ │ │ + vstr d1, [sp, #288] @ 0x120 │ │ │ │ │ vmls.f64 d6, d2, d12 │ │ │ │ │ - vldr d14, [r5, #8] │ │ │ │ │ - vstr d7, [sp, #576] @ 0x240 │ │ │ │ │ + vstr d7, [sp, #296] @ 0x128 │ │ │ │ │ vmul.f64 d7, d11, d15 │ │ │ │ │ vmla.f64 d7, d10, d8 │ │ │ │ │ vmul.f64 d10, d10, d15 │ │ │ │ │ - vstr d1, [sp, #288] @ 0x120 │ │ │ │ │ - vnmls.f64 d10, d11, d8 │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ + vnmls.f64 d10, d11, d8 │ │ │ │ │ vsub.f64 d13, d4, d7 │ │ │ │ │ vadd.f64 d4, d7, d4 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ - vsub.f64 d5, d6, d10 │ │ │ │ │ - vstr d13, [sp, #296] @ 0x128 │ │ │ │ │ - vstr d4, [sp, #312] @ 0x138 │ │ │ │ │ - vadd.f64 d4, d10, d6 │ │ │ │ │ - vstr d5, [sp, #304] @ 0x130 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - add r1, r3 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - vldr d10, [r5, #88] @ 0x58 │ │ │ │ │ + vadd.f64 d5, d10, d6 │ │ │ │ │ + vstr d13, [sp, #304] @ 0x130 │ │ │ │ │ + vsub.f64 d13, d6, d10 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + vldr d10, [r6, #88] @ 0x58 │ │ │ │ │ + vstr d5, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + vstr d13, [sp, #312] @ 0x138 │ │ │ │ │ + vstr d4, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d4, [r6, #248] @ 0xf8 │ │ │ │ │ vmul.f64 d13, d5, d14 │ │ │ │ │ vmul.f64 d14, d7, d14 │ │ │ │ │ vmla.f64 d13, d7, d6 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - adds r0, r6, r2 │ │ │ │ │ - vstr d4, [sp, #320] @ 0x140 │ │ │ │ │ - vldr d4, [r5, #248] @ 0xf8 │ │ │ │ │ - adds r4, r0, r3 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + add.w r1, r5, r3 │ │ │ │ │ vnmls.f64 d14, d5, d6 │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ - vldr d6, [r5, #80] @ 0x50 │ │ │ │ │ - movs r2, #88 @ 0x58 │ │ │ │ │ - str r1, [sp, #128] @ 0x80 │ │ │ │ │ - add.w r1, fp, r3 │ │ │ │ │ - vmul.f64 d12, d5, d10 │ │ │ │ │ - vmul.f64 d10, d7, d10 │ │ │ │ │ - vmla.f64 d12, d7, d6 │ │ │ │ │ - vldr d7, [r5, #240] @ 0xf0 │ │ │ │ │ - str r0, [sp, #132] @ 0x84 │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - str r4, [sp, #136] @ 0x88 │ │ │ │ │ - vnmls.f64 d10, d5, d6 │ │ │ │ │ - vldr d6, [fp] │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ - vmul.f64 d9, d6, d4 │ │ │ │ │ - vmla.f64 d9, d5, d7 │ │ │ │ │ - vmul.f64 d5, d5, d4 │ │ │ │ │ - b.n 408 │ │ │ │ │ + str r1, [sp, #132] @ 0x84 │ │ │ │ │ + mov.w r1, r9, lsl #7 │ │ │ │ │ + vldr d6, [r6, #80] @ 0x50 │ │ │ │ │ + add.w fp, r8, r1 │ │ │ │ │ + add.w r0, r7, r1 │ │ │ │ │ + add.w r5, r0, r3 │ │ │ │ │ + b.n 428 │ │ │ │ │ nop │ │ │ │ │ + nop.w │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ - .word 0x000003e2 │ │ │ │ │ + .word 0x000003f0 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ + add.w r4, fp, r3 │ │ │ │ │ + mov.w r1, #88 @ 0x58 │ │ │ │ │ + vmul.f64 d12, d5, d10 │ │ │ │ │ + vmul.f64 d10, d7, d10 │ │ │ │ │ + mul.w r1, r1, r9 │ │ │ │ │ + vmla.f64 d12, d7, d6 │ │ │ │ │ + vnmls.f64 d10, d5, d6 │ │ │ │ │ + vldr d6, [fp] │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + vldr d7, [r6, #240] @ 0xf0 │ │ │ │ │ + strd r0, r5, [sp, #136] @ 0x88 │ │ │ │ │ + mov.w r0, r9, lsl #5 │ │ │ │ │ + vmul.f64 d9, d6, d4 │ │ │ │ │ + vldr d3, [r4] │ │ │ │ │ + add.w lr, r7, r0 │ │ │ │ │ + add r0, r8 │ │ │ │ │ + str r4, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d0, [r6, #168] @ 0xa8 │ │ │ │ │ + add.w r4, lr, r3 │ │ │ │ │ + vldr d2, [r6, #328] @ 0x148 │ │ │ │ │ + vmla.f64 d9, d5, d7 │ │ │ │ │ + vmul.f64 d5, d5, d4 │ │ │ │ │ + str r4, [sp, #156] @ 0x9c │ │ │ │ │ + vldr d4, [r6, #320] @ 0x140 │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ - adds r4, r6, r2 │ │ │ │ │ - vldr d2, [r5, #328] @ 0x148 │ │ │ │ │ - vldr d4, [r5, #320] @ 0x140 │ │ │ │ │ - vldr d0, [r5, #168] @ 0xa8 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ vmul.f64 d6, d3, d2 │ │ │ │ │ - vldr d1, [r4] │ │ │ │ │ + add.w r5, r7, r1 │ │ │ │ │ + add r1, r8 │ │ │ │ │ + vldr d1, [r5] │ │ │ │ │ + strd r5, r1, [sp, #148] @ 0x94 │ │ │ │ │ + add.w r5, r0, r3 │ │ │ │ │ vmla.f64 d6, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ - str r0, [sp, #148] @ 0x94 │ │ │ │ │ - mov.w r0, r8, lsl #5 │ │ │ │ │ - add.w r9, r6, r0 │ │ │ │ │ - add r0, r7 │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ + str r5, [sp, #160] @ 0xa0 │ │ │ │ │ + mov.w r1, #152 @ 0x98 │ │ │ │ │ + mul.w r1, r1, r9 │ │ │ │ │ vnmls.f64 d7, d3, d4 │ │ │ │ │ - vldr d4, [r5, #160] @ 0xa0 │ │ │ │ │ + vldr d4, [r6, #160] @ 0xa0 │ │ │ │ │ vmul.f64 d3, d2, d0 │ │ │ │ │ - str r1, [sp, #140] @ 0x8c │ │ │ │ │ - add.w r1, r9, r3 │ │ │ │ │ - str r4, [sp, #144] @ 0x90 │ │ │ │ │ + add.w ip, r7, r1 │ │ │ │ │ + add r1, r8 │ │ │ │ │ vmla.f64 d3, d1, d4 │ │ │ │ │ vmul.f64 d1, d1, d0 │ │ │ │ │ - adds r4, r0, r3 │ │ │ │ │ - str r1, [sp, #160] @ 0xa0 │ │ │ │ │ - str r4, [sp, #152] @ 0x98 │ │ │ │ │ vnmls.f64 d1, d2, d4 │ │ │ │ │ vsub.f64 d4, d12, d6 │ │ │ │ │ vadd.f64 d6, d12, d6 │ │ │ │ │ vsub.f64 d2, d10, d7 │ │ │ │ │ vadd.f64 d7, d10, d7 │ │ │ │ │ vmov.f64 d12, #80 @ 0x3e800000 0.250 │ │ │ │ │ vsub.f64 d11, d3, d9 │ │ │ │ │ @@ -340,917 +346,921 @@ │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ vadd.f64 d1, d6, d3 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ vadd.f64 d10, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vadd.f64 d9, d13, d1 │ │ │ │ │ vmls.f64 d13, d1, d12 │ │ │ │ │ - vstr d9, [sp, #328] @ 0x148 │ │ │ │ │ + vstr d9, [sp, #336] @ 0x150 │ │ │ │ │ vadd.f64 d9, d14, d10 │ │ │ │ │ vmls.f64 d14, d10, d12 │ │ │ │ │ - vldr d12, [r5, #136] @ 0x88 │ │ │ │ │ - vstr d9, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d9, [sp, #344] @ 0x158 │ │ │ │ │ vmul.f64 d9, d0, d15 │ │ │ │ │ vmla.f64 d9, d2, d8 │ │ │ │ │ vmul.f64 d2, d2, d15 │ │ │ │ │ vnmls.f64 d2, d0, d8 │ │ │ │ │ - vldr d0, [pc, #988] @ 8a8 │ │ │ │ │ + vldr d0, [pc, #988] @ 910 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ - vadd.f64 d1, d6, d13 │ │ │ │ │ vsub.f64 d3, d13, d6 │ │ │ │ │ + vadd.f64 d1, d6, d13 │ │ │ │ │ vadd.f64 d5, d7, d14 │ │ │ │ │ vsub.f64 d14, d14, d7 │ │ │ │ │ - vldr d7, [r9] │ │ │ │ │ - vsub.f64 d6, d1, d9 │ │ │ │ │ - vsub.f64 d13, d3, d2 │ │ │ │ │ + vldr d7, [lr] │ │ │ │ │ + vsub.f64 d6, d3, d2 │ │ │ │ │ vadd.f64 d3, d2, d3 │ │ │ │ │ + vsub.f64 d13, d1, d9 │ │ │ │ │ vadd.f64 d1, d9, d1 │ │ │ │ │ - vstr d6, [sp, #344] @ 0x158 │ │ │ │ │ + vstr d6, [sp, #360] @ 0x168 │ │ │ │ │ vmul.f64 d6, d11, d15 │ │ │ │ │ + vstr d3, [sp, #376] @ 0x178 │ │ │ │ │ + vstr d13, [sp, #352] @ 0x160 │ │ │ │ │ + vstr d1, [sp, #368] @ 0x170 │ │ │ │ │ vmla.f64 d6, d4, d8 │ │ │ │ │ vmul.f64 d4, d4, d15 │ │ │ │ │ - vstr d3, [sp, #368] @ 0x170 │ │ │ │ │ - vstr d13, [sp, #352] @ 0x160 │ │ │ │ │ - vstr d1, [sp, #360] @ 0x168 │ │ │ │ │ vnmls.f64 d4, d11, d8 │ │ │ │ │ - vadd.f64 d10, d6, d5 │ │ │ │ │ - vsub.f64 d5, d5, d6 │ │ │ │ │ - vldr d6, [r5, #48] @ 0x30 │ │ │ │ │ - vadd.f64 d11, d4, d14 │ │ │ │ │ + vadd.f64 d11, d6, d5 │ │ │ │ │ + vadd.f64 d10, d4, d14 │ │ │ │ │ vsub.f64 d14, d14, d4 │ │ │ │ │ - vstr d5, [sp, #392] @ 0x188 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ - vstr d10, [sp, #376] @ 0x178 │ │ │ │ │ - vstr d14, [sp, #400] @ 0x190 │ │ │ │ │ - vldr d14, [r5, #56] @ 0x38 │ │ │ │ │ vstr d11, [sp, #384] @ 0x180 │ │ │ │ │ + vsub.f64 d11, d5, d6 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + vldr d6, [r6, #48] @ 0x30 │ │ │ │ │ + vstr d10, [sp, #392] @ 0x188 │ │ │ │ │ + vstr d14, [sp, #408] @ 0x198 │ │ │ │ │ + vldr d14, [r6, #56] @ 0x38 │ │ │ │ │ + vstr d11, [sp, #400] @ 0x190 │ │ │ │ │ vmul.f64 d3, d5, d14 │ │ │ │ │ vmul.f64 d14, d7, d14 │ │ │ │ │ - vmov.f64 d13, d3 │ │ │ │ │ vnmls.f64 d14, d5, d6 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + add.w r5, r1, r3 │ │ │ │ │ + vmov.f64 d13, d3 │ │ │ │ │ vmla.f64 d13, d7, d6 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - movs r1, #152 @ 0x98 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - vldr d6, [r5, #128] @ 0x80 │ │ │ │ │ - mul.w r1, r1, r8 │ │ │ │ │ - add.w lr, r6, r1 │ │ │ │ │ - add r1, r7 │ │ │ │ │ - add.w r2, lr, r3 │ │ │ │ │ - adds r4, r1, r3 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + add.w r4, ip, r3 │ │ │ │ │ + vldr d6, [r6, #128] @ 0x80 │ │ │ │ │ vstr d13, [sp] │ │ │ │ │ + vldr d12, [r6, #136] @ 0x88 │ │ │ │ │ + strd r4, r5, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d3, [r5] │ │ │ │ │ + mov r5, r7 │ │ │ │ │ + vldr d4, [r6, #296] @ 0x128 │ │ │ │ │ vmul.f64 d13, d5, d12 │ │ │ │ │ vmul.f64 d12, d7, d12 │ │ │ │ │ + vldr d0, [r6, #216] @ 0xd8 │ │ │ │ │ + vldr d2, [r6, #376] @ 0x178 │ │ │ │ │ vmla.f64 d13, d7, d6 │ │ │ │ │ vnmls.f64 d12, d5, d6 │ │ │ │ │ - vldr d5, [lr] │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ - vldr d4, [r5, #296] @ 0x128 │ │ │ │ │ - vldr d7, [r5, #288] @ 0x120 │ │ │ │ │ - str r2, [sp, #164] @ 0xa4 │ │ │ │ │ + vldr d5, [ip] │ │ │ │ │ + vldr d7, [r6, #288] @ 0x120 │ │ │ │ │ vmul.f64 d9, d6, d4 │ │ │ │ │ - vldr d3, [r4] │ │ │ │ │ vmla.f64 d9, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d4 │ │ │ │ │ - vldr d2, [r5, #376] @ 0x178 │ │ │ │ │ - vldr d4, [r5, #368] @ 0x170 │ │ │ │ │ - str r4, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d4, [r6, #368] @ 0x170 │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - movs r2, #112 @ 0x70 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ vmul.f64 d6, d3, d2 │ │ │ │ │ - vldr d0, [r5, #216] @ 0xd8 │ │ │ │ │ + add.w r4, r7, r2 │ │ │ │ │ + add r2, r8 │ │ │ │ │ + vldr d1, [r2] │ │ │ │ │ + strd r4, r2, [sp, #176] @ 0xb0 │ │ │ │ │ + mov.w r2, r9, lsl #4 │ │ │ │ │ vmla.f64 d6, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - adds r4, r6, r2 │ │ │ │ │ - adds r2, r7, r2 │ │ │ │ │ - vnmls.f64 d7, d3, d4 │ │ │ │ │ - vldr d3, [r5, #208] @ 0xd0 │ │ │ │ │ - str r2, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d1, [r2] │ │ │ │ │ - mov.w r2, r8, lsl #4 │ │ │ │ │ vldr d2, [r4] │ │ │ │ │ - add.w ip, r6, r2 │ │ │ │ │ - str r4, [sp, #172] @ 0xac │ │ │ │ │ - adds r4, r7, r2 │ │ │ │ │ + add r5, r2 │ │ │ │ │ + add.w r4, r8, r2 │ │ │ │ │ + add r2, r9 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + vnmls.f64 d7, d3, d4 │ │ │ │ │ + vldr d3, [r6, #208] @ 0xd0 │ │ │ │ │ vmul.f64 d4, d1, d0 │ │ │ │ │ - add.w r2, ip, r3 │ │ │ │ │ vmla.f64 d4, d2, d3 │ │ │ │ │ vmul.f64 d2, d2, d0 │ │ │ │ │ vsub.f64 d0, d6, d13 │ │ │ │ │ vadd.f64 d6, d13, d6 │ │ │ │ │ + vldr d13, [sp] │ │ │ │ │ + str r7, [sp, #0] │ │ │ │ │ + add.w r7, r5, r3 │ │ │ │ │ vsub.f64 d10, d12, d7 │ │ │ │ │ vadd.f64 d7, d12, d7 │ │ │ │ │ - vldr d13, [sp] │ │ │ │ │ - vmov.f64 d12, #80 @ 0x3e800000 0.250 │ │ │ │ │ vnmls.f64 d2, d1, d3 │ │ │ │ │ vsub.f64 d3, d4, d9 │ │ │ │ │ vadd.f64 d4, d9, d4 │ │ │ │ │ vsub.f64 d11, d2, d5 │ │ │ │ │ vadd.f64 d5, d5, d2 │ │ │ │ │ vadd.f64 d2, d6, d4 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vadd.f64 d1, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vadd.f64 d9, d13, d2 │ │ │ │ │ - vstr d9, [sp, #408] @ 0x198 │ │ │ │ │ - vadd.f64 d9, d14, d1 │ │ │ │ │ - vmls.f64 d14, d1, d12 │ │ │ │ │ + vadd.f64 d12, d14, d1 │ │ │ │ │ vstr d9, [sp, #416] @ 0x1a0 │ │ │ │ │ vmul.f64 d9, d3, d15 │ │ │ │ │ vmul.f64 d3, d3, d8 │ │ │ │ │ - vmla.f64 d3, d0, d15 │ │ │ │ │ + vstr d12, [sp, #424] @ 0x1a8 │ │ │ │ │ + vmov.f64 d12, #80 @ 0x3e800000 0.250 │ │ │ │ │ vnmls.f64 d9, d0, d8 │ │ │ │ │ - vldr d0, [pc, #576] @ 8a8 │ │ │ │ │ + vmla.f64 d3, d0, d15 │ │ │ │ │ + vldr d0, [pc, #580] @ 910 │ │ │ │ │ + vmls.f64 d14, d1, d12 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ - vsub.f64 d5, d14, d7 │ │ │ │ │ vadd.f64 d1, d7, d14 │ │ │ │ │ - vadd.f64 d7, d3, d5 │ │ │ │ │ + vsub.f64 d5, d14, d7 │ │ │ │ │ + vsub.f64 d7, d9, d1 │ │ │ │ │ + vadd.f64 d14, d3, d5 │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ - vsub.f64 d14, d9, d1 │ │ │ │ │ vstr d7, [sp, #432] @ 0x1b0 │ │ │ │ │ vmul.f64 d7, d11, d15 │ │ │ │ │ - vstr d5, [sp, #448] @ 0x1c0 │ │ │ │ │ + vstr d14, [sp, #440] @ 0x1b8 │ │ │ │ │ + vadd.f64 d14, d9, d1 │ │ │ │ │ + vstr d5, [sp, #456] @ 0x1c8 │ │ │ │ │ vmul.f64 d5, d6, d0 │ │ │ │ │ vmov.f64 d6, d13 │ │ │ │ │ vmla.f64 d7, d10, d8 │ │ │ │ │ - vmls.f64 d6, d2, d12 │ │ │ │ │ vmul.f64 d10, d10, d15 │ │ │ │ │ - vstr d14, [sp, #424] @ 0x1a8 │ │ │ │ │ - vadd.f64 d14, d9, d1 │ │ │ │ │ + vmls.f64 d6, d2, d12 │ │ │ │ │ + vstr d14, [sp, #448] @ 0x1c0 │ │ │ │ │ vnmls.f64 d10, d11, d8 │ │ │ │ │ - vstr d14, [sp, #440] @ 0x1b8 │ │ │ │ │ - vldr d14, [r5, #24] │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vldr d5, [r4] │ │ │ │ │ - vmul.f64 d3, d5, d14 │ │ │ │ │ - vsub.f64 d11, d4, d7 │ │ │ │ │ - vsub.f64 d13, d6, d10 │ │ │ │ │ + vsub.f64 d13, d4, d7 │ │ │ │ │ + vsub.f64 d2, d6, d10 │ │ │ │ │ vadd.f64 d4, d7, d4 │ │ │ │ │ vadd.f64 d10, d10, d6 │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ - vldr d6, [r5, #16] │ │ │ │ │ - vstr d11, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + vldr d6, [r6, #16] │ │ │ │ │ vstr d13, [sp, #464] @ 0x1d0 │ │ │ │ │ - vmov.f64 d13, d3 │ │ │ │ │ - vmla.f64 d13, d7, d6 │ │ │ │ │ + vstr d2, [sp, #472] @ 0x1d8 │ │ │ │ │ + vstr d4, [sp, #480] @ 0x1e0 │ │ │ │ │ + vstr d10, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d14, [r6, #24] │ │ │ │ │ + strd r4, r7, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d12, [r6, #104] @ 0x68 │ │ │ │ │ + vldr d0, [r6, #184] @ 0xb8 │ │ │ │ │ + vmul.f64 d3, d5, d14 │ │ │ │ │ vmul.f64 d14, d7, d14 │ │ │ │ │ - vstr d4, [sp, #472] @ 0x1d8 │ │ │ │ │ - vstr d10, [sp, #480] @ 0x1e0 │ │ │ │ │ + vldr d4, [r6, #264] @ 0x108 │ │ │ │ │ + vldr d2, [r6, #344] @ 0x158 │ │ │ │ │ vnmls.f64 d14, d5, d6 │ │ │ │ │ - vstr d13, [sp, #488] @ 0x1e8 │ │ │ │ │ - str r2, [sp, #184] @ 0xb8 │ │ │ │ │ - str r4, [sp, #180] @ 0xb4 │ │ │ │ │ - add r4, r3 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - movs r2, #136 @ 0x88 │ │ │ │ │ - vldr d12, [r5, #104] @ 0x68 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ - vldr d6, [r5, #96] @ 0x60 │ │ │ │ │ - str r4, [sp, #188] @ 0xbc │ │ │ │ │ - add.w r5, r5, #384 @ 0x180 │ │ │ │ │ + vmov.f64 d13, d3 │ │ │ │ │ + vmla.f64 d13, d7, d6 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + add.w r7, r4, r3 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ + vldr d6, [r6, #96] @ 0x60 │ │ │ │ │ + add.w r6, r6, #384 @ 0x180 │ │ │ │ │ + add r4, r2 │ │ │ │ │ + add r2, r8 │ │ │ │ │ + vstr d13, [sp, #496] @ 0x1f0 │ │ │ │ │ vmul.f64 d13, d5, d12 │ │ │ │ │ vmul.f64 d12, d7, d12 │ │ │ │ │ - adds r4, r6, r2 │ │ │ │ │ - add r2, r7 │ │ │ │ │ + str r2, [sp, #12] │ │ │ │ │ vmla.f64 d13, d7, d6 │ │ │ │ │ - vldr d4, [r5, #-120] @ 0xffffff88 │ │ │ │ │ - vldr d7, [r5, #-128] @ 0xffffff80 │ │ │ │ │ vnmls.f64 d12, d5, d6 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ + add.w r2, r4, r3 │ │ │ │ │ + vldr d7, [r6, #-128] @ 0xffffff80 │ │ │ │ │ + str r2, [sp, #192] @ 0xc0 │ │ │ │ │ vldr d5, [r4] │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ - adds r2, r4, r3 │ │ │ │ │ vmul.f64 d9, d6, d4 │ │ │ │ │ - str r2, [sp, #192] @ 0xc0 │ │ │ │ │ vmla.f64 d9, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d4 │ │ │ │ │ - vldr d2, [r5, #-40] @ 0xffffffd8 │ │ │ │ │ - vldr d4, [r5, #-48] @ 0xffffffd0 │ │ │ │ │ - vldr d0, [r5, #-200] @ 0xffffff38 │ │ │ │ │ + vldr d4, [r6, #-48] @ 0xffffffd0 │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - ldr r2, [sp, #0] │ │ │ │ │ + ldr r2, [sp, #12] │ │ │ │ │ add r3, r2 │ │ │ │ │ - str r3, [sp, #196] @ 0xc4 │ │ │ │ │ + ldr r2, [sp, #0] │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ - movs r3, #96 @ 0x60 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ + str r3, [sp, #196] @ 0xc4 │ │ │ │ │ + ldr r3, [sp, #624] @ 0x270 │ │ │ │ │ vmul.f64 d6, d3, d2 │ │ │ │ │ + mov.w r3, r3, lsl #5 │ │ │ │ │ + add r2, r3 │ │ │ │ │ + add r3, r8 │ │ │ │ │ + vldr d1, [r3] │ │ │ │ │ vmla.f64 d6, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ - adds r2, r6, r3 │ │ │ │ │ - add r3, r7 │ │ │ │ │ - str r2, [sp, #616] @ 0x268 │ │ │ │ │ - vldr d1, [r3] │ │ │ │ │ - vnmls.f64 d7, d3, d4 │ │ │ │ │ + str r2, [sp, #624] @ 0x270 │ │ │ │ │ vldr d2, [r2] │ │ │ │ │ - vldr d3, [r5, #-208] @ 0xffffff30 │ │ │ │ │ + vnmls.f64 d7, d3, d4 │ │ │ │ │ + vldr d3, [r6, #-208] @ 0xffffff30 │ │ │ │ │ vmul.f64 d4, d1, d0 │ │ │ │ │ vmla.f64 d4, d2, d3 │ │ │ │ │ vmul.f64 d2, d2, d0 │ │ │ │ │ vsub.f64 d10, d12, d7 │ │ │ │ │ vadd.f64 d7, d12, d7 │ │ │ │ │ vnmls.f64 d2, d1, d3 │ │ │ │ │ vsub.f64 d3, d13, d6 │ │ │ │ │ vadd.f64 d6, d13, d6 │ │ │ │ │ - vldr d13, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d13, [sp, #496] @ 0x1f0 │ │ │ │ │ vsub.f64 d0, d4, d9 │ │ │ │ │ vadd.f64 d4, d9, d4 │ │ │ │ │ vsub.f64 d11, d2, d5 │ │ │ │ │ vadd.f64 d5, d5, d2 │ │ │ │ │ vadd.f64 d2, d6, d4 │ │ │ │ │ vsub.f64 d4, d6, d4 │ │ │ │ │ vmov.f64 d6, d13 │ │ │ │ │ vadd.f64 d1, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vadd.f64 d12, d13, d2 │ │ │ │ │ + vadd.f64 d9, d13, d2 │ │ │ │ │ vmov.f64 d5, d14 │ │ │ │ │ - vadd.f64 d9, d14, d1 │ │ │ │ │ - vstr d12, [sp, #488] @ 0x1e8 │ │ │ │ │ - vmov.f64 d12, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vmls.f64 d5, d1, d12 │ │ │ │ │ - vmls.f64 d6, d2, d12 │ │ │ │ │ + vadd.f64 d12, d14, d1 │ │ │ │ │ vstr d9, [sp, #496] @ 0x1f0 │ │ │ │ │ vmul.f64 d9, d0, d15 │ │ │ │ │ vmla.f64 d9, d3, d8 │ │ │ │ │ vmul.f64 d3, d3, d15 │ │ │ │ │ + vstr d12, [sp, #504] @ 0x1f8 │ │ │ │ │ + vmov.f64 d12, #80 @ 0x3e800000 0.250 │ │ │ │ │ vnmls.f64 d3, d0, d8 │ │ │ │ │ - vldr d0, [pc, #140] @ 8a8 │ │ │ │ │ + vldr d0, [pc, #148] @ 910 │ │ │ │ │ + vmls.f64 d5, d1, d12 │ │ │ │ │ + vmls.f64 d6, d2, d12 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ vmul.f64 d4, d4, d0 │ │ │ │ │ vadd.f64 d14, d7, d5 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ vadd.f64 d13, d4, d6 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vadd.f64 d7, d9, d14 │ │ │ │ │ vadd.f64 d1, d3, d5 │ │ │ │ │ vsub.f64 d3, d5, d3 │ │ │ │ │ vsub.f64 d14, d14, d9 │ │ │ │ │ - vstr d7, [sp, #504] @ 0x1f8 │ │ │ │ │ + vstr d7, [sp, #512] @ 0x200 │ │ │ │ │ vmul.f64 d7, d11, d15 │ │ │ │ │ - vmla.f64 d7, d10, d8 │ │ │ │ │ - vmul.f64 d10, d10, d15 │ │ │ │ │ - vstr d1, [sp, #512] @ 0x200 │ │ │ │ │ + vstr d1, [sp, #520] @ 0x208 │ │ │ │ │ vmov.f64 d1, d0 │ │ │ │ │ - vstr d3, [sp, #520] @ 0x208 │ │ │ │ │ vmov.f64 d0, d12 │ │ │ │ │ + ldr r2, [sp, #0] │ │ │ │ │ + vstr d3, [sp, #528] @ 0x210 │ │ │ │ │ + vldr d12, [sp, #424] @ 0x1a8 │ │ │ │ │ + vmla.f64 d7, d10, d8 │ │ │ │ │ + vmul.f64 d10, d10, d15 │ │ │ │ │ + vldr d9, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ vnmls.f64 d10, d11, d8 │ │ │ │ │ + vldr d11, [sp, #504] @ 0x1f8 │ │ │ │ │ vsub.f64 d5, d13, d7 │ │ │ │ │ vadd.f64 d13, d7, d13 │ │ │ │ │ - vsub.f64 d4, d6, d10 │ │ │ │ │ - vadd.f64 d6, d10, d6 │ │ │ │ │ - vstr d5, [sp, #528] @ 0x210 │ │ │ │ │ - vstr d4, [sp, #584] @ 0x248 │ │ │ │ │ - vstr d6, [sp, #536] @ 0x218 │ │ │ │ │ - vldr d7, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d4, [sp, #416] @ 0x1a0 │ │ │ │ │ - vldr d2, [sp, #496] @ 0x1f0 │ │ │ │ │ - vldr d12, [r6] │ │ │ │ │ - vsub.f64 d6, d7, d4 │ │ │ │ │ vldr d7, [sp, #264] @ 0x108 │ │ │ │ │ - vldr d11, [sp, #224] @ 0xe0 │ │ │ │ │ - ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ - b.n 928 │ │ │ │ │ - nop.w │ │ │ │ │ + vsub.f64 d4, d6, d10 │ │ │ │ │ + vadd.f64 d10, d10, d6 │ │ │ │ │ + vsub.f64 d7, d11, d7 │ │ │ │ │ + vstr d5, [sp, #536] @ 0x218 │ │ │ │ │ + vldr d11, [pc, #80] @ 950 │ │ │ │ │ + vstr d4, [sp, #544] @ 0x220 │ │ │ │ │ + vldr d4, [sp, #344] @ 0x158 │ │ │ │ │ + vmul.f64 d5, d7, d15 │ │ │ │ │ + b.n 990 │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ - .word 0x1d101ee0 │ │ │ │ │ - .word 0x3feefea2 │ │ │ │ │ .word 0xfa1c0796 │ │ │ │ │ .word 0x3fcfd511 │ │ │ │ │ + .word 0x1d101ee0 │ │ │ │ │ + .word 0x3feefea2 │ │ │ │ │ .word 0x5cbfa951 │ │ │ │ │ .word 0x3fded50d │ │ │ │ │ - .word 0xff642e86 │ │ │ │ │ - .word 0x3feb04bb │ │ │ │ │ .word 0x4e81c059 │ │ │ │ │ .word 0x3fec0ab4 │ │ │ │ │ - .word 0x03d2b816 │ │ │ │ │ - .word 0x3fe753b6 │ │ │ │ │ + .word 0xff642e86 │ │ │ │ │ + .word 0x3feb04bb │ │ │ │ │ .word 0x55112014 │ │ │ │ │ .word 0x3fe5e7cf │ │ │ │ │ - .word 0x635b6bea │ │ │ │ │ - .word 0x3fe8a80b │ │ │ │ │ .word 0xfeb501bc │ │ │ │ │ .word 0x3fe465c6 │ │ │ │ │ .word 0x3c182b51 │ │ │ │ │ .word 0x3fe1257e │ │ │ │ │ + .word 0x635b6bea │ │ │ │ │ + .word 0x3fe8a80b │ │ │ │ │ .word 0x5da15be0 │ │ │ │ │ .word 0x3fc00aeb │ │ │ │ │ .word 0x5480d903 │ │ │ │ │ .word 0x3fefbf67 │ │ │ │ │ .word 0xc925819c │ │ │ │ │ .word 0x3fdb3ff7 │ │ │ │ │ .word 0xdcdc158c │ │ │ │ │ .word 0x3fecf457 │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ - vsub.f64 d7, d2, d7 │ │ │ │ │ - vldr d10, [sp, #560] @ 0x230 │ │ │ │ │ - vadd.f64 d4, d12, d11 │ │ │ │ │ - vldr d12, [sp, #328] @ 0x148 │ │ │ │ │ - vldr d11, [sp, #408] @ 0x198 │ │ │ │ │ - vmul.f64 d5, d7, d15 │ │ │ │ │ + .word 0x03d2b816 │ │ │ │ │ + .word 0x3fe753b6 │ │ │ │ │ + vstr d10, [sp, #552] @ 0x228 │ │ │ │ │ + vldr d10, [sp, #576] @ 0x240 │ │ │ │ │ + vsub.f64 d6, d4, d12 │ │ │ │ │ + vldr d12, [sp, #224] @ 0xe0 │ │ │ │ │ + vadd.f64 d4, d2, d12 │ │ │ │ │ + vldr d12, [sp, #336] @ 0x150 │ │ │ │ │ vmla.f64 d5, d6, d8 │ │ │ │ │ vmul.f64 d6, d6, d15 │ │ │ │ │ - vmov.f64 d9, d4 │ │ │ │ │ vnmls.f64 d6, d7, d8 │ │ │ │ │ - vadd.f64 d7, d12, d11 │ │ │ │ │ - vldr d11, [sp, #256] @ 0x100 │ │ │ │ │ - vldr d12, [sp, #488] @ 0x1e8 │ │ │ │ │ - vadd.f64 d2, d11, d12 │ │ │ │ │ - vldr d12, [sp, #424] @ 0x1a8 │ │ │ │ │ + vadd.f64 d7, d12, d9 │ │ │ │ │ + vldr d12, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d9, [sp, #496] @ 0x1f0 │ │ │ │ │ + vadd.f64 d2, d12, d9 │ │ │ │ │ vadd.f64 d3, d7, d2 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ - vldr d2, [sp, #544] @ 0x220 │ │ │ │ │ - vmls.f64 d9, d3, d0 │ │ │ │ │ + vmov.f64 d2, d4 │ │ │ │ │ + vmls.f64 d2, d3, d0 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ - vstr d4, [r6] │ │ │ │ │ - vsub.f64 d4, d9, d7 │ │ │ │ │ - vadd.f64 d7, d7, d9 │ │ │ │ │ - vldr d9, [sp, #376] @ 0x178 │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ + ldr r2, [sp, #48] @ 0x30 │ │ │ │ │ + vsub.f64 d4, d2, d7 │ │ │ │ │ + vadd.f64 d7, d7, d2 │ │ │ │ │ + vldr d2, [sp, #568] @ 0x238 │ │ │ │ │ vsub.f64 d3, d4, d6 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ vstr d3, [r2] │ │ │ │ │ - ldr r2, [sp, #152] @ 0x98 │ │ │ │ │ + ldr r2, [sp, #160] @ 0xa0 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ vsub.f64 d6, d7, d5 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ + ldr r2, [sp, #16] │ │ │ │ │ vldr d7, [sp, #208] @ 0xd0 │ │ │ │ │ - ldr r2, [sp, #8] │ │ │ │ │ vstr d6, [r0] │ │ │ │ │ vldr d6, [sp, #232] @ 0xe8 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [pc, #-208] @ 8f0 │ │ │ │ │ - vsub.f64 d11, d7, d10 │ │ │ │ │ + vldr d6, [pc, #-216] @ 948 │ │ │ │ │ + vsub.f64 d12, d7, d10 │ │ │ │ │ vadd.f64 d7, d10, d7 │ │ │ │ │ vldr d10, [sp, #216] @ 0xd8 │ │ │ │ │ - vstr d7, [sp, #8] │ │ │ │ │ + vstr d7, [sp, #16] │ │ │ │ │ vldr d7, [sp, #248] @ 0xf8 │ │ │ │ │ - vstr d11, [sp, #560] @ 0x230 │ │ │ │ │ - vldr d11, [pc, #-228] @ 8f8 │ │ │ │ │ + vstr d12, [sp, #576] @ 0x240 │ │ │ │ │ + vldr d12, [pc, #-204] @ 970 │ │ │ │ │ vadd.f64 d7, d10, d7 │ │ │ │ │ vsub.f64 d10, d7, d2 │ │ │ │ │ vadd.f64 d2, d2, d7 │ │ │ │ │ - vstr d10, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d10, [pc, #-296] @ 8c8 │ │ │ │ │ - vstr d2, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d2, [pc, #-248] @ 900 │ │ │ │ │ + vstr d10, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d10, [pc, #-280] @ 938 │ │ │ │ │ + vstr d2, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d9, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d5, [sp, #432] @ 0x1b0 │ │ │ │ │ + vldr d0, [sp, #512] @ 0x200 │ │ │ │ │ vmul.f64 d7, d9, d10 │ │ │ │ │ - vldr d9, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d9, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d2, [sp, #536] @ 0x218 │ │ │ │ │ vmla.f64 d7, d9, d11 │ │ │ │ │ - vldr d9, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d9, [sp, #464] @ 0x1d0 │ │ │ │ │ + vmul.f64 d3, d2, d12 │ │ │ │ │ + vldr d12, [pc, #-276] @ 968 │ │ │ │ │ + vldr d2, [pc, #-288] @ 960 │ │ │ │ │ vmul.f64 d6, d9, d6 │ │ │ │ │ - vldr d9, [pc, #-296] @ 8e8 │ │ │ │ │ - vnmls.f64 d6, d12, d9 │ │ │ │ │ - vldr d9, [sp, #528] @ 0x210 │ │ │ │ │ - vldr d12, [pc, #-268] @ 910 │ │ │ │ │ - vldr d0, [sp, #504] @ 0x1f8 │ │ │ │ │ - vmul.f64 d3, d9, d12 │ │ │ │ │ - vldr d9, [pc, #-272] @ 918 │ │ │ │ │ - vldr d12, [pc, #-292] @ 908 │ │ │ │ │ + vldr d9, [pc, #-304] @ 958 │ │ │ │ │ + vnmls.f64 d6, d5, d9 │ │ │ │ │ + vldr d9, [pc, #-280] @ 978 │ │ │ │ │ vnmls.f64 d3, d0, d9 │ │ │ │ │ - vldr d9, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d0, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d9, [sp, #304] @ 0x130 │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ vmul.f64 d4, d9, d12 │ │ │ │ │ - vldr d9, [sp, #272] @ 0x110 │ │ │ │ │ - vnmls.f64 d4, d9, d2 │ │ │ │ │ + vnmls.f64 d4, d0, d2 │ │ │ │ │ vadd.f64 d2, d3, d4 │ │ │ │ │ vsub.f64 d3, d3, d4 │ │ │ │ │ vadd.f64 d12, d5, d2 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ - vstr d3, [sp, #592] @ 0x250 │ │ │ │ │ - vldr d3, [pc, #-428] @ 8b0 │ │ │ │ │ + vldr d2, [sp, #320] @ 0x140 │ │ │ │ │ vmul.f64 d9, d5, d1 │ │ │ │ │ - vstr d12, [sp, #224] @ 0xe0 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ - vldr d12, [sp, #360] @ 0x168 │ │ │ │ │ - vldr d6, [pc, #-440] @ 8b8 │ │ │ │ │ - vldr d7, [pc, #-420] @ 8d0 │ │ │ │ │ - vmul.f64 d0, d12, d6 │ │ │ │ │ - vldr d12, [sp, #392] @ 0x188 │ │ │ │ │ - vstr d5, [sp, #600] @ 0x258 │ │ │ │ │ + vldr d6, [pc, #-432] @ 918 │ │ │ │ │ + vstr d12, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d12, [sp, #400] @ 0x190 │ │ │ │ │ + vstr d3, [sp, #568] @ 0x238 │ │ │ │ │ + vldr d3, [pc, #-440] @ 920 │ │ │ │ │ + vstr d5, [sp, #592] @ 0x250 │ │ │ │ │ + vldr d5, [sp, #368] @ 0x170 │ │ │ │ │ + vmul.f64 d0, d5, d6 │ │ │ │ │ + vldr d5, [sp, #480] @ 0x1e0 │ │ │ │ │ vnmls.f64 d0, d12, d3 │ │ │ │ │ - vldr d12, [sp, #472] @ 0x1d8 │ │ │ │ │ - vmul.f64 d4, d12, d10 │ │ │ │ │ - vldr d12, [pc, #-464] @ 8c0 │ │ │ │ │ - vldr d10, [sp, #440] @ 0x1b8 │ │ │ │ │ + vldr d12, [pc, #-456] @ 928 │ │ │ │ │ + vmul.f64 d4, d5, d10 │ │ │ │ │ + vldr d10, [sp, #448] @ 0x1c0 │ │ │ │ │ vmul.f64 d5, d13, d12 │ │ │ │ │ vnmls.f64 d4, d10, d11 │ │ │ │ │ - vldr d11, [pc, #-448] @ 8e0 │ │ │ │ │ - vldr d10, [sp, #576] @ 0x240 │ │ │ │ │ - vnmls.f64 d5, d14, d7 │ │ │ │ │ - vldr d7, [sp, #312] @ 0x138 │ │ │ │ │ - vmul.f64 d7, d7, d11 │ │ │ │ │ - vldr d11, [pc, #-476] @ 8d8 │ │ │ │ │ + vldr d11, [pc, #-452] @ 940 │ │ │ │ │ + vldr d10, [pc, #-472] @ 930 │ │ │ │ │ + vmul.f64 d7, d2, d11 │ │ │ │ │ + vldr d2, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d11, [pc, #-396] @ 988 │ │ │ │ │ + vnmls.f64 d5, d14, d10 │ │ │ │ │ vadd.f64 d1, d0, d4 │ │ │ │ │ - vsub.f64 d4, d0, d4 │ │ │ │ │ - vldr d0, [pc, #-416] @ 920 │ │ │ │ │ - vnmls.f64 d7, d10, d11 │ │ │ │ │ - vstr d4, [sp, #576] @ 0x240 │ │ │ │ │ - vldr d4, [sp, #472] @ 0x1d8 │ │ │ │ │ + vnmls.f64 d7, d2, d11 │ │ │ │ │ + vsub.f64 d11, d0, d4 │ │ │ │ │ + vldr d4, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d0, [pc, #-428] @ 980 │ │ │ │ │ + vstr d11, [sp, #600] @ 0x258 │ │ │ │ │ + vmul.f64 d6, d4, d6 │ │ │ │ │ + vldr d4, [sp, #480] @ 0x1e0 │ │ │ │ │ vadd.f64 d2, d5, d7 │ │ │ │ │ - vsub.f64 d5, d5, d7 │ │ │ │ │ - vldr d7, [pc, #-480] @ 8f8 │ │ │ │ │ - vstr d5, [sp, #608] @ 0x260 │ │ │ │ │ + vsub.f64 d7, d5, d7 │ │ │ │ │ + vldr d5, [sp, #368] @ 0x170 │ │ │ │ │ vsub.f64 d11, d1, d2 │ │ │ │ │ - vldr d5, [sp, #392] @ 0x188 │ │ │ │ │ vadd.f64 d1, d1, d2 │ │ │ │ │ - vmul.f64 d6, d5, d6 │ │ │ │ │ - vldr d5, [sp, #360] @ 0x168 │ │ │ │ │ - vstr d1, [sp, #544] @ 0x220 │ │ │ │ │ - vmul.f64 d11, d11, d0 │ │ │ │ │ - vldr d1, [pc, #-564] @ 8c8 │ │ │ │ │ + vstr d7, [sp, #608] @ 0x260 │ │ │ │ │ vmla.f64 d6, d5, d3 │ │ │ │ │ - vldr d5, [sp, #440] @ 0x1b8 │ │ │ │ │ + vldr d5, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d7, [pc, #-524] @ 950 │ │ │ │ │ + vstr d1, [sp, #616] @ 0x268 │ │ │ │ │ + vmul.f64 d11, d11, d0 │ │ │ │ │ + vldr d1, [pc, #-560] @ 938 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vmla.f64 d5, d4, d7 │ │ │ │ │ - vldr d4, [pc, #-576] @ 8d0 │ │ │ │ │ vmul.f64 d7, d14, d12 │ │ │ │ │ - vldr d14, [pc, #-576] @ 8d8 │ │ │ │ │ - vmla.f64 d7, d13, d4 │ │ │ │ │ - vldr d13, [pc, #-576] @ 8e0 │ │ │ │ │ - vmul.f64 d4, d10, d13 │ │ │ │ │ - vldr d13, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d10, [sp, #528] @ 0x210 │ │ │ │ │ + vldr d14, [sp, #288] @ 0x120 │ │ │ │ │ + vmla.f64 d7, d13, d10 │ │ │ │ │ + vldr d13, [pc, #-576] @ 940 │ │ │ │ │ vadd.f64 d3, d6, d5 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ - vmla.f64 d4, d13, d14 │ │ │ │ │ - vldr d6, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d6, [sp, #352] @ 0x160 │ │ │ │ │ + vmul.f64 d4, d14, d13 │ │ │ │ │ + vldr d13, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d14, [pc, #-528] @ 988 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ - vldr d1, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d1, [sp, #384] @ 0x180 │ │ │ │ │ + vmla.f64 d4, d13, d14 │ │ │ │ │ vadd.f64 d2, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [pc, #-616] @ 8e8 │ │ │ │ │ + vldr d4, [sp, #432] @ 0x1b0 │ │ │ │ │ vadd.f64 d14, d3, d2 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ - vldr d2, [pc, #-620] @ 8f0 │ │ │ │ │ - vmul.f64 d13, d3, d0 │ │ │ │ │ - vldr d3, [pc, #-620] @ 8f8 │ │ │ │ │ + vldr d2, [pc, #-628] @ 948 │ │ │ │ │ + vmul.f64 d3, d3, d0 │ │ │ │ │ vldr d0, [sp, #272] @ 0x110 │ │ │ │ │ + vstr d3, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d3, [pc, #-636] @ 950 │ │ │ │ │ vnmls.f64 d6, d1, d3 │ │ │ │ │ - vldr d1, [sp, #424] @ 0x1a8 │ │ │ │ │ - vldr d3, [sp, #456] @ 0x1c8 │ │ │ │ │ - vmul.f64 d1, d1, d2 │ │ │ │ │ - vldr d2, [pc, #-636] @ 900 │ │ │ │ │ + vldr d3, [sp, #464] @ 0x1d0 │ │ │ │ │ + vmul.f64 d1, d4, d2 │ │ │ │ │ + vldr d4, [pc, #-644] @ 958 │ │ │ │ │ + vldr d2, [pc, #-640] @ 960 │ │ │ │ │ vmla.f64 d1, d3, d4 │ │ │ │ │ - vldr d4, [pc, #-636] @ 908 │ │ │ │ │ + vldr d4, [pc, #-640] @ 968 │ │ │ │ │ + vmov.f64 d13, d6 │ │ │ │ │ vmul.f64 d4, d0, d4 │ │ │ │ │ - vldr d0, [sp, #296] @ 0x128 │ │ │ │ │ - vmla.f64 d4, d0, d2 │ │ │ │ │ - vldr d0, [sp, #504] @ 0x1f8 │ │ │ │ │ - vldr d2, [pc, #-648] @ 910 │ │ │ │ │ + vldr d0, [sp, #304] @ 0x130 │ │ │ │ │ + ldr r0, [sp, #56] @ 0x38 │ │ │ │ │ vadd.f64 d3, d6, d1 │ │ │ │ │ - vsub.f64 d6, d6, d1 │ │ │ │ │ + ldr r2, [sp, #108] @ 0x6c │ │ │ │ │ + vmla.f64 d4, d0, d2 │ │ │ │ │ + vldr d0, [sp, #512] @ 0x200 │ │ │ │ │ + vldr d2, [pc, #-664] @ 970 │ │ │ │ │ + vldr d6, [sp, #536] @ 0x218 │ │ │ │ │ vmul.f64 d2, d0, d2 │ │ │ │ │ - vldr d0, [pc, #-656] @ 918 │ │ │ │ │ - vmla.f64 d2, d10, d0 │ │ │ │ │ - vldr d10, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d0, [pc, #-668] @ 978 │ │ │ │ │ + vmla.f64 d2, d6, d0 │ │ │ │ │ + vsub.f64 d6, d13, d1 │ │ │ │ │ + vldr d13, [sp, #224] @ 0xe0 │ │ │ │ │ vadd.f64 d0, d4, d2 │ │ │ │ │ vsub.f64 d4, d4, d2 │ │ │ │ │ vsub.f64 d1, d3, d0 │ │ │ │ │ vadd.f64 d3, d3, d0 │ │ │ │ │ - vldr d0, [pc, #-676] @ 920 │ │ │ │ │ + vldr d0, [pc, #-692] @ 980 │ │ │ │ │ vmul.f64 d3, d3, d0 │ │ │ │ │ - vldr d0, [sp, #560] @ 0x230 │ │ │ │ │ - vadd.f64 d2, d0, d10 │ │ │ │ │ - vstr d2, [r9] │ │ │ │ │ - vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d10, [sp, #544] @ 0x220 │ │ │ │ │ - ldr r2, [sp, #104] @ 0x68 │ │ │ │ │ - ldr r0, [sp, #48] @ 0x30 │ │ │ │ │ - vadd.f64 d2, d2, d10 │ │ │ │ │ - vldr d10, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d0, [sp, #576] @ 0x240 │ │ │ │ │ + vadd.f64 d2, d0, d13 │ │ │ │ │ + vldr d13, [sp, #616] @ 0x268 │ │ │ │ │ + vstr d2, [lr] │ │ │ │ │ + vldr d2, [sp, #48] @ 0x30 │ │ │ │ │ + vadd.f64 d2, d2, d13 │ │ │ │ │ vstr d2, [r2] │ │ │ │ │ - vldr d2, [sp, #152] @ 0x98 │ │ │ │ │ - ldr r2, [sp, #32] │ │ │ │ │ + ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d2, [sp, #160] @ 0xa0 │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ vstr d2, [r2] │ │ │ │ │ - vldr d2, [sp, #8] │ │ │ │ │ - ldr r2, [sp, #116] @ 0x74 │ │ │ │ │ + vldr d2, [sp, #16] │ │ │ │ │ + ldr r2, [sp, #120] @ 0x78 │ │ │ │ │ vadd.f64 d2, d2, d14 │ │ │ │ │ vstr d2, [r2] │ │ │ │ │ vmul.f64 d2, d4, d15 │ │ │ │ │ + ldr r2, [sp, #24] │ │ │ │ │ vmla.f64 d2, d6, d8 │ │ │ │ │ vmul.f64 d6, d6, d15 │ │ │ │ │ - ldr r2, [sp, #16] │ │ │ │ │ vnmls.f64 d6, d4, d8 │ │ │ │ │ vmov.f64 d4, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vmls.f64 d0, d10, d4 │ │ │ │ │ - vldr d10, [sp, #544] @ 0x220 │ │ │ │ │ + vstr d6, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d6, [sp, #224] @ 0xe0 │ │ │ │ │ + vmls.f64 d0, d6, d4 │ │ │ │ │ + vldr d6, [sp, #40] @ 0x28 │ │ │ │ │ vmov.f64 d4, d0 │ │ │ │ │ vadd.f64 d0, d9, d0 │ │ │ │ │ vsub.f64 d4, d4, d9 │ │ │ │ │ vsub.f64 d9, d0, d2 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ - vldr d0, [sp, #600] @ 0x258 │ │ │ │ │ - vstr d9, [r7] │ │ │ │ │ + vstr d9, [r8] │ │ │ │ │ vadd.f64 d9, d6, d4 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vmul.f64 d6, d7, d8 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ vmla.f64 d6, d5, d15 │ │ │ │ │ + vnmls.f64 d7, d5, d8 │ │ │ │ │ + vldr d5, [sp, #48] @ 0x30 │ │ │ │ │ vstr d9, [r2] │ │ │ │ │ vmov.f64 d9, #80 @ 0x3e800000 0.250 │ │ │ │ │ - ldr r2, [sp, #160] @ 0xa0 │ │ │ │ │ - vnmls.f64 d7, d5, d8 │ │ │ │ │ - vldr d5, [sp, #40] @ 0x28 │ │ │ │ │ - vmls.f64 d5, d10, d9 │ │ │ │ │ - vldr d10, [sp, #592] @ 0x250 │ │ │ │ │ + ldr r2, [sp, #156] @ 0x9c │ │ │ │ │ + vmls.f64 d5, d13, d9 │ │ │ │ │ vstr d2, [r2] │ │ │ │ │ vstr d4, [r0] │ │ │ │ │ - ldr r0, [sp, #132] @ 0x84 │ │ │ │ │ - ldr r2, [sp, #112] @ 0x70 │ │ │ │ │ + ldr r2, [sp, #100] @ 0x64 │ │ │ │ │ + ldr r0, [sp, #136] @ 0x88 │ │ │ │ │ vsub.f64 d4, d5, d11 │ │ │ │ │ vadd.f64 d5, d11, d5 │ │ │ │ │ - vldr d11, [sp, #152] @ 0x98 │ │ │ │ │ - vmls.f64 d11, d1, d9 │ │ │ │ │ vsub.f64 d2, d6, d4 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ vstr d2, [r0] │ │ │ │ │ vadd.f64 d2, d7, d5 │ │ │ │ │ - ldr r0, [sp, #96] @ 0x60 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ + ldr r0, [sp, #116] @ 0x74 │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ + ldr r0, [sp, #140] @ 0x8c │ │ │ │ │ + vldr d11, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d13, [sp, #568] @ 0x238 │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ + ldr r0, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d0, [sp, #592] @ 0x250 │ │ │ │ │ + vmls.f64 d11, d1, d9 │ │ │ │ │ + vmul.f64 d7, d13, d8 │ │ │ │ │ + vmul.f64 d6, d13, d15 │ │ │ │ │ + vldr d1, [sp, #16] │ │ │ │ │ + ldr r2, [sp, #176] @ 0xb0 │ │ │ │ │ + vldr d13, [sp, #600] @ 0x258 │ │ │ │ │ + vmla.f64 d7, d0, d15 │ │ │ │ │ + vnmls.f64 d6, d0, d8 │ │ │ │ │ + vldr d0, [sp, #608] @ 0x260 │ │ │ │ │ + vmls.f64 d1, d14, d9 │ │ │ │ │ + vldr d14, [pc, #-960] @ 988 │ │ │ │ │ vsub.f64 d4, d3, d11 │ │ │ │ │ vadd.f64 d5, d3, d11 │ │ │ │ │ - vstr d2, [r0] │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - vmul.f64 d6, d10, d15 │ │ │ │ │ - ldr r2, [sp, #136] @ 0x88 │ │ │ │ │ - vnmls.f64 d6, d0, d8 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - vmul.f64 d7, d10, d8 │ │ │ │ │ - vmla.f64 d7, d0, d15 │ │ │ │ │ - ldr r2, [sp, #172] @ 0xac │ │ │ │ │ + vldr d11, [sp, #256] @ 0x100 │ │ │ │ │ vsub.f64 d3, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ vstr d3, [r2] │ │ │ │ │ vadd.f64 d3, d6, d5 │ │ │ │ │ - ldr r2, [sp, #64] @ 0x40 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vldr d11, [sp, #8] │ │ │ │ │ - vmls.f64 d11, d14, d9 │ │ │ │ │ - vldr d0, [sp, #608] @ 0x260 │ │ │ │ │ - vldr d10, [sp, #576] @ 0x240 │ │ │ │ │ + ldr r2, [sp, #72] @ 0x48 │ │ │ │ │ + vmov.f64 d5, d1 │ │ │ │ │ + vldr d1, [sp, #240] @ 0xf0 │ │ │ │ │ vstr d3, [r2] │ │ │ │ │ - ldr r2, [sp, #164] @ 0xa4 │ │ │ │ │ - vstr d7, [lr] │ │ │ │ │ + vstr d7, [ip] │ │ │ │ │ vmul.f64 d7, d0, d15 │ │ │ │ │ - vmla.f64 d7, d10, d8 │ │ │ │ │ - vldr d1, [sp, #240] @ 0xf0 │ │ │ │ │ - vldr d2, [sp, #496] @ 0x1f0 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - vmul.f64 d6, d10, d15 │ │ │ │ │ - vadd.f64 d4, d13, d11 │ │ │ │ │ - vsub.f64 d5, d11, d13 │ │ │ │ │ - ldr r2, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d11, [sp, #256] @ 0x100 │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ + vmul.f64 d6, d13, d15 │ │ │ │ │ + vldr d3, [sp, #288] @ 0x120 │ │ │ │ │ + ldr r0, [sp, #80] @ 0x50 │ │ │ │ │ + vmla.f64 d7, d13, d8 │ │ │ │ │ vnmls.f64 d6, d0, d8 │ │ │ │ │ - vldr d0, [sp, #408] @ 0x198 │ │ │ │ │ - ldr r0, [sp, #24] │ │ │ │ │ + ldr r2, [sp, #96] @ 0x60 │ │ │ │ │ + vadd.f64 d4, d3, d5 │ │ │ │ │ + vldr d0, [sp, #416] @ 0x1a0 │ │ │ │ │ + vsub.f64 d5, d5, d3 │ │ │ │ │ + vldr d13, [pc, #976] @ 1178 │ │ │ │ │ vsub.f64 d3, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vldr d13, [pc, #972] @ 1100 │ │ │ │ │ - vldr d14, [pc, #976] @ 1108 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - ldr r2, [sp, #92] @ 0x5c │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ vadd.f64 d3, d6, d5 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ + ldr r0, [sp, #148] @ 0x94 │ │ │ │ │ vstr d3, [r2] │ │ │ │ │ - ldr r2, [sp, #124] @ 0x7c │ │ │ │ │ - vldr d3, [sp, #328] @ 0x148 │ │ │ │ │ + ldr r2, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d3, [sp, #336] @ 0x150 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ + vldr d5, [sp, #200] @ 0xc8 │ │ │ │ │ vsub.f64 d7, d0, d3 │ │ │ │ │ - vldr d0, [sp, #488] @ 0x1e8 │ │ │ │ │ - ldr r2, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d3, [sp, #336] @ 0x150 │ │ │ │ │ + vldr d3, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d0, [sp, #496] @ 0x1f0 │ │ │ │ │ + vadd.f64 d5, d5, d1 │ │ │ │ │ + vldr d1, [sp, #424] @ 0x1a8 │ │ │ │ │ vsub.f64 d6, d0, d11 │ │ │ │ │ - vldr d0, [pc, #932] @ 1110 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - vldr d5, [sp, #200] @ 0xc8 │ │ │ │ │ + vmov.f64 d0, d5 │ │ │ │ │ vmul.f64 d4, d6, d8 │ │ │ │ │ vmul.f64 d6, d6, d15 │ │ │ │ │ vmla.f64 d4, d7, d15 │ │ │ │ │ - ldr r2, [sp, #168] @ 0xa8 │ │ │ │ │ - vadd.f64 d5, d5, d1 │ │ │ │ │ - vldr d1, [sp, #416] @ 0x1a0 │ │ │ │ │ vnmls.f64 d6, d7, d8 │ │ │ │ │ vadd.f64 d7, d3, d1 │ │ │ │ │ vldr d1, [sp, #264] @ 0x108 │ │ │ │ │ - vmov.f64 d10, d5 │ │ │ │ │ - vadd.f64 d2, d1, d2 │ │ │ │ │ + ldr r0, [sp, #172] @ 0xac │ │ │ │ │ + vldr d11, [sp, #504] @ 0x1f8 │ │ │ │ │ + vadd.f64 d2, d1, d11 │ │ │ │ │ vadd.f64 d1, d7, d2 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ - vmls.f64 d10, d1, d9 │ │ │ │ │ - vmul.f64 d7, d7, d0 │ │ │ │ │ + vmls.f64 d0, d1, d9 │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ - vldr d9, [pc, #868] @ 1118 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - vadd.f64 d5, d10, d7 │ │ │ │ │ - vsub.f64 d3, d10, d7 │ │ │ │ │ + vldr d9, [pc, #860] @ 1180 │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ + ldr r0, [sp, #32] │ │ │ │ │ + vmov.f64 d3, d0 │ │ │ │ │ + vldr d0, [pc, #852] @ 1188 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ + vadd.f64 d5, d3, d7 │ │ │ │ │ + vsub.f64 d3, d3, d7 │ │ │ │ │ vsub.f64 d2, d6, d5 │ │ │ │ │ - vsub.f64 d7, d4, d3 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ + vldr d5, [sp, #248] @ 0xf8 │ │ │ │ │ + vsub.f64 d7, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ + vldr d3, [sp, #584] @ 0x248 │ │ │ │ │ vstr d2, [r0] │ │ │ │ │ - ldr r0, [sp, #56] @ 0x38 │ │ │ │ │ vstr d6, [r1] │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ + ldr r1, [sp, #64] @ 0x40 │ │ │ │ │ + ldr r0, [sp, #180] @ 0xb4 │ │ │ │ │ vldr d6, [sp, #232] @ 0xe8 │ │ │ │ │ - vldr d11, [sp, #208] @ 0xd0 │ │ │ │ │ - vldr d3, [sp, #568] @ 0x238 │ │ │ │ │ - vldr d5, [sp, #248] @ 0xf8 │ │ │ │ │ - vsub.f64 d7, d6, d11 │ │ │ │ │ - vldr d6, [sp, #552] @ 0x228 │ │ │ │ │ - vldr d10, [sp, #536] @ 0x218 │ │ │ │ │ - ldr r2, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ + vldr d7, [sp, #208] @ 0xd0 │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ + vldr d4, [sp, #456] @ 0x1c8 │ │ │ │ │ + vsub.f64 d7, d6, d7 │ │ │ │ │ + vldr d6, [sp, #560] @ 0x230 │ │ │ │ │ vadd.f64 d11, d3, d7 │ │ │ │ │ vsub.f64 d3, d7, d3 │ │ │ │ │ vldr d7, [sp, #216] @ 0xd8 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ vsub.f64 d7, d5, d7 │ │ │ │ │ - vldr d5, [pc, #780] @ 1120 │ │ │ │ │ - vstr d3, [sp, #16] │ │ │ │ │ - vldr d3, [sp, #368] @ 0x170 │ │ │ │ │ - vstr d11, [sp, #8] │ │ │ │ │ + vldr d5, [pc, #764] @ 1190 │ │ │ │ │ + vstr d11, [sp, #16] │ │ │ │ │ + vldr d11, [sp, #408] @ 0x198 │ │ │ │ │ + vstr d3, [sp, #24] │ │ │ │ │ + vldr d3, [sp, #376] @ 0x178 │ │ │ │ │ vadd.f64 d1, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #480] @ 0x1e0 │ │ │ │ │ - vldr d11, [sp, #520] @ 0x208 │ │ │ │ │ - vstr d7, [sp, #24] │ │ │ │ │ - vmul.f64 d6, d6, d5 │ │ │ │ │ - vldr d7, [sp, #400] @ 0x190 │ │ │ │ │ - vldr d5, [pc, #744] @ 1128 │ │ │ │ │ - vstr d1, [sp, #40] @ 0x28 │ │ │ │ │ - vmul.f64 d7, d7, d13 │ │ │ │ │ - vldr d13, [sp, #320] @ 0x140 │ │ │ │ │ + vstr d7, [sp, #32] │ │ │ │ │ + vmul.f64 d7, d11, d13 │ │ │ │ │ + vstr d1, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d1, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d13, [sp, #528] @ 0x210 │ │ │ │ │ vmla.f64 d7, d3, d14 │ │ │ │ │ - vldr d14, [sp, #448] @ 0x1c0 │ │ │ │ │ - vnmls.f64 d6, d14, d5 │ │ │ │ │ - vldr d5, [pc, #724] @ 1130 │ │ │ │ │ - vldr d14, [pc, #728] @ 1138 │ │ │ │ │ - vmul.f64 d2, d11, d5 │ │ │ │ │ - vldr d11, [pc, #728] @ 1140 │ │ │ │ │ - vmla.f64 d2, d10, d9 │ │ │ │ │ - vmul.f64 d3, d13, d11 │ │ │ │ │ - vldr d11, [sp, #288] @ 0x120 │ │ │ │ │ - vldr d13, [pc, #720] @ 1148 │ │ │ │ │ + vldr d11, [sp, #552] @ 0x228 │ │ │ │ │ + vmul.f64 d6, d1, d5 │ │ │ │ │ + vldr d5, [pc, #712] @ 1198 │ │ │ │ │ + vldr d1, [sp, #328] @ 0x148 │ │ │ │ │ + vnmls.f64 d6, d4, d5 │ │ │ │ │ + vldr d5, [pc, #708] @ 11a0 │ │ │ │ │ + vmul.f64 d2, d13, d5 │ │ │ │ │ + vldr d13, [pc, #708] @ 11a8 │ │ │ │ │ vadd.f64 d4, d7, d6 │ │ │ │ │ + vsub.f64 d7, d6, d7 │ │ │ │ │ + vmla.f64 d2, d11, d9 │ │ │ │ │ + vldr d11, [pc, #700] @ 11b0 │ │ │ │ │ + vmul.f64 d3, d1, d11 │ │ │ │ │ + vldr d11, [sp, #296] @ 0x128 │ │ │ │ │ vnmls.f64 d3, d11, d13 │ │ │ │ │ - vldr d11, [sp, #512] @ 0x200 │ │ │ │ │ vmov.f64 d13, d0 │ │ │ │ │ vadd.f64 d1, d2, d3 │ │ │ │ │ - vadd.f64 d10, d4, d1 │ │ │ │ │ + vsub.f64 d14, d2, d3 │ │ │ │ │ + vadd.f64 d11, d4, d1 │ │ │ │ │ vsub.f64 d4, d4, d1 │ │ │ │ │ - vldr d1, [sp, #432] @ 0x1b0 │ │ │ │ │ vmul.f64 d4, d4, d0 │ │ │ │ │ - vstr d10, [sp, #32] │ │ │ │ │ - vsub.f64 d10, d2, d3 │ │ │ │ │ - vmul.f64 d3, d1, d14 │ │ │ │ │ - vstr d4, [sp, #56] @ 0x38 │ │ │ │ │ - vsub.f64 d4, d6, d7 │ │ │ │ │ - vldr d7, [sp, #384] @ 0x180 │ │ │ │ │ - vldr d6, [pc, #664] @ 1150 │ │ │ │ │ - vstr d10, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d11, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d14, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d14, [pc, #660] @ 11b8 │ │ │ │ │ vstr d4, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d4, [sp, #352] @ 0x160 │ │ │ │ │ - vldr d10, [sp, #584] @ 0x248 │ │ │ │ │ + vstr d7, [sp, #72] @ 0x48 │ │ │ │ │ + ldr r2, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d4, [sp, #360] @ 0x168 │ │ │ │ │ + vldr d7, [sp, #392] @ 0x188 │ │ │ │ │ + vldr d6, [sp, #472] @ 0x1d8 │ │ │ │ │ vmul.f64 d2, d4, d12 │ │ │ │ │ - vldr d4, [pc, #648] @ 1158 │ │ │ │ │ - vnmls.f64 d2, d7, d6 │ │ │ │ │ - vldr d6, [sp, #464] @ 0x1d0 │ │ │ │ │ - vldr d7, [pc, #644] @ 1160 │ │ │ │ │ + vldr d4, [pc, #640] @ 11c0 │ │ │ │ │ + ldr r0, [sp, #196] @ 0xc4 │ │ │ │ │ + vnmls.f64 d2, d7, d10 │ │ │ │ │ + vldr d7, [sp, #440] @ 0x1b8 │ │ │ │ │ + vmul.f64 d3, d7, d14 │ │ │ │ │ + vldr d14, [sp, #544] @ 0x220 │ │ │ │ │ + vldr d7, [pc, #624] @ 11c8 │ │ │ │ │ vmla.f64 d3, d6, d4 │ │ │ │ │ - vldr d6, [pc, #644] @ 1168 │ │ │ │ │ - vmul.f64 d4, d10, d7 │ │ │ │ │ - vnmls.f64 d4, d11, d6 │ │ │ │ │ - vldr d6, [sp, #304] @ 0x130 │ │ │ │ │ + vldr d6, [pc, #624] @ 11d0 │ │ │ │ │ + vmul.f64 d4, d14, d7 │ │ │ │ │ + vldr d14, [sp, #520] @ 0x208 │ │ │ │ │ + vnmls.f64 d4, d14, d6 │ │ │ │ │ + vldr d6, [sp, #312] @ 0x138 │ │ │ │ │ + vsub.f64 d1, d2, d3 │ │ │ │ │ + vadd.f64 d2, d2, d3 │ │ │ │ │ + vldr d3, [pc, #596] @ 11d0 │ │ │ │ │ vmul.f64 d7, d6, d5 │ │ │ │ │ vldr d6, [sp, #280] @ 0x118 │ │ │ │ │ - vadd.f64 d14, d2, d3 │ │ │ │ │ - vsub.f64 d1, d2, d3 │ │ │ │ │ - vldr d2, [pc, #564] @ 1138 │ │ │ │ │ - vldr d3, [pc, #608] @ 1168 │ │ │ │ │ + vstr d2, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d2, [pc, #556] @ 11b8 │ │ │ │ │ vnmls.f64 d7, d6, d9 │ │ │ │ │ - vstr d14, [sp, #80] @ 0x50 │ │ │ │ │ - ldr r2, [sp, #76] @ 0x4c │ │ │ │ │ vadd.f64 d6, d4, d7 │ │ │ │ │ vsub.f64 d14, d4, d7 │ │ │ │ │ - vldr d4, [sp, #384] @ 0x180 │ │ │ │ │ - vldr d7, [pc, #556] @ 1150 │ │ │ │ │ + vldr d4, [sp, #392] @ 0x188 │ │ │ │ │ + vldr d7, [pc, #552] @ 11c8 │ │ │ │ │ vsub.f64 d11, d1, d6 │ │ │ │ │ vadd.f64 d1, d1, d6 │ │ │ │ │ vmul.f64 d6, d4, d12 │ │ │ │ │ - vldr d12, [sp, #352] @ 0x160 │ │ │ │ │ - vmla.f64 d6, d12, d7 │ │ │ │ │ - vldr d12, [sp, #464] @ 0x1d0 │ │ │ │ │ + vldr d12, [sp, #360] @ 0x168 │ │ │ │ │ vmul.f64 d11, d11, d0 │ │ │ │ │ - vldr d0, [pc, #532] @ 1158 │ │ │ │ │ - vldr d7, [pc, #536] @ 1160 │ │ │ │ │ + vldr d0, [pc, #520] @ 11c0 │ │ │ │ │ + vmla.f64 d6, d12, d10 │ │ │ │ │ + vldr d10, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d12, [sp, #472] @ 0x1d8 │ │ │ │ │ vmul.f64 d4, d12, d2 │ │ │ │ │ - vldr d12, [sp, #432] @ 0x1b0 │ │ │ │ │ + vldr d12, [sp, #440] @ 0x1b8 │ │ │ │ │ vnmls.f64 d4, d12, d0 │ │ │ │ │ - vldr d12, [sp, #512] @ 0x200 │ │ │ │ │ + vldr d12, [sp, #520] @ 0x208 │ │ │ │ │ vmul.f64 d7, d12, d7 │ │ │ │ │ - vmla.f64 d7, d10, d3 │ │ │ │ │ - vldr d10, [sp, #280] @ 0x118 │ │ │ │ │ - vmul.f64 d3, d10, d5 │ │ │ │ │ - vldr d10, [sp, #304] @ 0x130 │ │ │ │ │ + vldr d12, [sp, #544] @ 0x220 │ │ │ │ │ vadd.f64 d2, d6, d4 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ - vldr d6, [pc, #392] @ 1100 │ │ │ │ │ + vldr d6, [pc, #400] @ 1178 │ │ │ │ │ + vmla.f64 d7, d12, d3 │ │ │ │ │ + vmul.f64 d3, d10, d5 │ │ │ │ │ + vldr d10, [sp, #312] @ 0x138 │ │ │ │ │ vmla.f64 d3, d10, d9 │ │ │ │ │ vadd.f64 d0, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vldr d3, [sp, #480] @ 0x1e0 │ │ │ │ │ + vldr d3, [sp, #488] @ 0x1e8 │ │ │ │ │ vadd.f64 d12, d2, d0 │ │ │ │ │ vsub.f64 d2, d2, d0 │ │ │ │ │ - vldr d0, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d0, [sp, #408] @ 0x198 │ │ │ │ │ vmul.f64 d10, d2, d13 │ │ │ │ │ - vldr d2, [sp, #368] @ 0x170 │ │ │ │ │ - vldr d13, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d13, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d2, [sp, #376] @ 0x178 │ │ │ │ │ vmul.f64 d6, d2, d6 │ │ │ │ │ - vldr d2, [pc, #352] @ 1108 │ │ │ │ │ + vldr d2, [pc, #436] @ 11d8 │ │ │ │ │ vnmls.f64 d6, d0, d2 │ │ │ │ │ - vldr d2, [sp, #448] @ 0x1c0 │ │ │ │ │ - vldr d0, [pc, #364] @ 1120 │ │ │ │ │ + vldr d2, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d0, [pc, #352] @ 1190 │ │ │ │ │ vmul.f64 d2, d2, d0 │ │ │ │ │ - vldr d0, [pc, #364] @ 1128 │ │ │ │ │ + vldr d0, [pc, #352] @ 1198 │ │ │ │ │ vmla.f64 d2, d3, d0 │ │ │ │ │ - vldr d3, [sp, #536] @ 0x218 │ │ │ │ │ + vldr d3, [sp, #552] @ 0x228 │ │ │ │ │ vmul.f64 d5, d3, d5 │ │ │ │ │ - vldr d3, [sp, #520] @ 0x208 │ │ │ │ │ - vnmls.f64 d5, d3, d9 │ │ │ │ │ - vldr d3, [pc, #364] @ 1140 │ │ │ │ │ - vldr d9, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d3, [sp, #528] @ 0x210 │ │ │ │ │ vsub.f64 d0, d6, d2 │ │ │ │ │ vadd.f64 d6, d6, d2 │ │ │ │ │ - vldr d2, [sp, #32] │ │ │ │ │ + vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ + vnmls.f64 d5, d3, d9 │ │ │ │ │ + vldr d3, [pc, #340] @ 11b0 │ │ │ │ │ + vldr d9, [sp, #328] @ 0x148 │ │ │ │ │ vmul.f64 d3, d13, d3 │ │ │ │ │ - vldr d13, [pc, #348] @ 1148 │ │ │ │ │ + vldr d13, [pc, #320] @ 11a8 │ │ │ │ │ vmla.f64 d3, d9, d13 │ │ │ │ │ vsub.f64 d9, d5, d3 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ - vldr d3, [pc, #276] @ 1110 │ │ │ │ │ + vldr d3, [pc, #272] @ 1188 │ │ │ │ │ vadd.f64 d13, d0, d9 │ │ │ │ │ vsub.f64 d0, d0, d9 │ │ │ │ │ - vldr d9, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d9, [sp, #48] @ 0x30 │ │ │ │ │ vmul.f64 d0, d0, d3 │ │ │ │ │ - vldr d3, [sp, #8] │ │ │ │ │ + vldr d3, [sp, #16] │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ - vldr d2, [sp, #24] │ │ │ │ │ vstr d3, [r2] │ │ │ │ │ vadd.f64 d3, d9, d1 │ │ │ │ │ - ldr r2, [sp, #196] @ 0xc4 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ + vldr d2, [sp, #32] │ │ │ │ │ + ldr r1, [sp, #12] │ │ │ │ │ + ldr r2, [sp, #144] @ 0x90 │ │ │ │ │ vadd.f64 d3, d2, d13 │ │ │ │ │ - ldr r2, [sp, #140] @ 0x8c │ │ │ │ │ - vldr d2, [sp, #16] │ │ │ │ │ + vldr d2, [sp, #24] │ │ │ │ │ vstr d3, [r2] │ │ │ │ │ vadd.f64 d3, d2, d12 │ │ │ │ │ - ldr r2, [sp, #0] │ │ │ │ │ - vstr d3, [ip] │ │ │ │ │ + ldr r2, [sp, #192] @ 0xc0 │ │ │ │ │ + vstr d3, [r5] │ │ │ │ │ vmul.f64 d3, d7, d8 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ + ldr r5, [sp, #124] @ 0x7c │ │ │ │ │ vmla.f64 d3, d4, d15 │ │ │ │ │ vnmls.f64 d7, d4, d8 │ │ │ │ │ vmov.f64 d4, d9 │ │ │ │ │ vmov.f64 d9, #80 @ 0x3e800000 0.250 │ │ │ │ │ vmls.f64 d4, d1, d9 │ │ │ │ │ vsub.f64 d2, d4, d11 │ │ │ │ │ vadd.f64 d4, d11, d4 │ │ │ │ │ vsub.f64 d1, d3, d2 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ vstr d1, [r4] │ │ │ │ │ vadd.f64 d1, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vstr d1, [r2] │ │ │ │ │ + ldr r4, [sp, #184] @ 0xb8 │ │ │ │ │ + vstr d1, [r1] │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ - ldr r3, [sp, #192] @ 0xc0 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ + vldr d3, [sp, #24] │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vmul.f64 d7, d14, d15 │ │ │ │ │ - vldr d3, [sp, #16] │ │ │ │ │ - vmls.f64 d3, d12, d9 │ │ │ │ │ + mov r2, r7 │ │ │ │ │ vldr d1, [sp, #80] @ 0x50 │ │ │ │ │ - ldr r4, [sp, #180] @ 0xb4 │ │ │ │ │ - ldr r1, [sp, #120] @ 0x78 │ │ │ │ │ + ldr r1, [sp, #92] @ 0x5c │ │ │ │ │ + vmls.f64 d3, d12, d9 │ │ │ │ │ + ldr r7, [sp, #188] @ 0xbc │ │ │ │ │ vmla.f64 d7, d1, d8 │ │ │ │ │ vmul.f64 d4, d1, d15 │ │ │ │ │ - ldr r2, [sp, #128] @ 0x80 │ │ │ │ │ - ldr r3, [sp, #108] @ 0x6c │ │ │ │ │ - ldr r0, [sp, #100] @ 0x64 │ │ │ │ │ + ldr r3, [sp, #132] @ 0x84 │ │ │ │ │ vnmls.f64 d4, d14, d8 │ │ │ │ │ vadd.f64 d2, d10, d3 │ │ │ │ │ vsub.f64 d3, d3, d10 │ │ │ │ │ vsub.f64 d1, d2, d7 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ vstr d1, [r4] │ │ │ │ │ vadd.f64 d1, d4, d3 │ │ │ │ │ - ldr r4, [sp, #188] @ 0xbc │ │ │ │ │ vsub.f64 d3, d3, d4 │ │ │ │ │ - vldr d4, [sp, #32] │ │ │ │ │ - vstr d1, [r4] │ │ │ │ │ - ldr r4, [sp, #184] @ 0xb8 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + vldr d4, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d1, [r2] │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ vmul.f64 d7, d5, d15 │ │ │ │ │ + ldr r2, [sp, #624] @ 0x270 │ │ │ │ │ vmla.f64 d7, d6, d8 │ │ │ │ │ vmul.f64 d6, d6, d15 │ │ │ │ │ - ldr r4, [sp, #616] @ 0x268 │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ + vldr d3, [sp, #64] @ 0x40 │ │ │ │ │ vnmls.f64 d6, d5, d8 │ │ │ │ │ - vldr d5, [sp, #8] │ │ │ │ │ + vldr d5, [sp, #16] │ │ │ │ │ vmls.f64 d5, d4, d9 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ - vldr d3, [sp, #56] @ 0x38 │ │ │ │ │ vadd.f64 d4, d3, d5 │ │ │ │ │ - b.n 1170 │ │ │ │ │ + b.n 11e0 │ │ │ │ │ nop │ │ │ │ │ .word 0x55112014 │ │ │ │ │ .word 0x3fe5e7cf │ │ │ │ │ - .word 0x03d2b816 │ │ │ │ │ - .word 0x3fe753b6 │ │ │ │ │ - .word 0x9b97f4a8 │ │ │ │ │ - .word 0x3fe1e377 │ │ │ │ │ .word 0x1be09379 │ │ │ │ │ .word 0x3fb0130a │ │ │ │ │ + .word 0x9b97f4a8 │ │ │ │ │ + .word 0x3fe1e377 │ │ │ │ │ .word 0x5480d903 │ │ │ │ │ .word 0x3fefbf67 │ │ │ │ │ .word 0x5da15be0 │ │ │ │ │ .word 0x3fc00aeb │ │ │ │ │ .word 0xbfe443fe │ │ │ │ │ .word 0x3fefefd5 │ │ │ │ │ - .word 0xc925819c │ │ │ │ │ - .word 0x3fdb3ff7 │ │ │ │ │ - .word 0xfeb501bc │ │ │ │ │ - .word 0x3fe465c6 │ │ │ │ │ .word 0x635b6bea │ │ │ │ │ .word 0x3fe8a80b │ │ │ │ │ - .word 0x4e81c059 │ │ │ │ │ - .word 0x3fec0ab4 │ │ │ │ │ + .word 0xfeb501bc │ │ │ │ │ + .word 0x3fe465c6 │ │ │ │ │ + .word 0xc925819c │ │ │ │ │ + .word 0x3fdb3ff7 │ │ │ │ │ .word 0xdcdc158c │ │ │ │ │ .word 0x3fecf457 │ │ │ │ │ .word 0xff642e86 │ │ │ │ │ .word 0x3feb04bb │ │ │ │ │ .word 0x3c182b51 │ │ │ │ │ .word 0x3fe1257e │ │ │ │ │ + .word 0x03d2b816 │ │ │ │ │ + .word 0x3fe753b6 │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ vsub.f64 d3, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d3, [r1] │ │ │ │ │ + vstr d3, [r5] │ │ │ │ │ vadd.f64 d3, d6, d5 │ │ │ │ │ - ldr r1, [sp, #88] @ 0x58 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - ldr r2, [sp, #148] @ 0x94 │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ - vldr d7, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - vldr d5, [sp, #24] │ │ │ │ │ + vldr d7, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r1, [sp, #152] @ 0x98 │ │ │ │ │ vmul.f64 d6, d7, d8 │ │ │ │ │ - vmls.f64 d5, d13, d9 │ │ │ │ │ - vmla.f64 d6, d4, d15 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ + vldr d4, [sp, #72] @ 0x48 │ │ │ │ │ + ldr r2, [sp, #0] │ │ │ │ │ + vldr d5, [sp, #32] │ │ │ │ │ + ldr r3, [sp, #744] @ 0x2e8 │ │ │ │ │ + vmla.f64 d6, d4, d15 │ │ │ │ │ vnmls.f64 d7, d4, d8 │ │ │ │ │ + ldr r5, [sp, #104] @ 0x68 │ │ │ │ │ + vmls.f64 d5, d13, d9 │ │ │ │ │ + ldr r4, [sp, #112] @ 0x70 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + str r3, [sp, #744] @ 0x2e8 │ │ │ │ │ + ldr r3, [sp, #628] @ 0x274 │ │ │ │ │ + add r2, r3 │ │ │ │ │ + ldr r3, [sp, #632] @ 0x278 │ │ │ │ │ vsub.f64 d4, d0, d5 │ │ │ │ │ vadd.f64 d0, d0, d5 │ │ │ │ │ + str r2, [sp, #0] │ │ │ │ │ + ldr r2, [sp, #744] @ 0x2e8 │ │ │ │ │ + add r8, r3 │ │ │ │ │ + ldr r3, [sp, #636] @ 0x27c │ │ │ │ │ vsub.f64 d5, d4, d6 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ + eor.w r9, r9, r3 │ │ │ │ │ + ldr r3, [sp, #748] @ 0x2ec │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ vadd.f64 d5, d7, d0 │ │ │ │ │ vsub.f64 d7, d7, d0 │ │ │ │ │ - ldr r3, [sp, #736] @ 0x2e0 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #736] @ 0x2e0 │ │ │ │ │ + cmp r3, r2 │ │ │ │ │ vstr d5, [fp] │ │ │ │ │ vstr d6, [sl] │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ - ldr r3, [sp, #620] @ 0x26c │ │ │ │ │ - add r6, r3 │ │ │ │ │ - ldr r3, [sp, #624] @ 0x270 │ │ │ │ │ - add r7, r3 │ │ │ │ │ - ldr r3, [sp, #628] @ 0x274 │ │ │ │ │ - eor.w r8, r8, r3 │ │ │ │ │ - ldrd r2, r3, [sp, #736] @ 0x2e0 │ │ │ │ │ - cmp r3, r2 │ │ │ │ │ - bne.w 46 │ │ │ │ │ - add.w sp, sp, #636 @ 0x27c │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ + bne.w 5c │ │ │ │ │ + add.w sp, sp, #644 @ 0x284 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -0000120c : │ │ │ │ │ +00001294 : │ │ │ │ │ fftw_codelet_hf_25(): │ │ │ │ │ - ldr r2, [pc, #8] @ (1218 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (121c ) │ │ │ │ │ + ldr r2, [pc, #8] @ (12a0 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (12a4 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2hc_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── hf_3.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1160 (bytes into file) │ │ │ │ │ + Start of section headers: 1200 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x488: │ │ │ │ │ +There are 14 section headers, starting at offset 0x4b0: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0001dc 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0003e0 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000210 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000210 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000210 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000215 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 00021d 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 0003f8 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 00024d 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00024d 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000280 000110 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000390 00004e 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000410 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000204 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000408 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000238 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000238 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000238 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 00023d 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000245 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000420 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000275 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000275 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 0002a8 000110 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0003b8 00004e 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000438 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,20 +1,20 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 17 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 456 FUNC LOCAL DEFAULT 1 hf_3 │ │ │ │ │ + 1: 00000001 496 FUNC LOCAL DEFAULT 1 hf_3 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000001c0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 000001c8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000001d4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000001e8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 000001f0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000001fc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 14: 000001c9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_3 │ │ │ │ │ + 14: 000001f1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_3 │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2hc_register │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x3e0 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x408 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000001d4 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000001d8 00000103 R_ARM_REL32 00000001 hf_3 │ │ │ │ │ -000001d0 00000f1e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ +000001fc 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000200 00000103 R_ARM_REL32 00000001 hf_3 │ │ │ │ │ +000001f8 00000f1e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x3f8 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x420 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001002 R_ARM_ABS32 00000000 fftw_rdft_hf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,145 +1,151 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hf_3(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} │ │ │ │ │ + str.w r4, [sp, #-28]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, lr, [sp, #20] │ │ │ │ │ vpush {d8-d10} │ │ │ │ │ ldrd r5, r6, [sp, #52] @ 0x34 │ │ │ │ │ ldr r4, [sp, #60] @ 0x3c │ │ │ │ │ - subs r7, r5, #1 │ │ │ │ │ + add.w r7, r5, #4294967295 @ 0xffffffff │ │ │ │ │ cmp r5, r6 │ │ │ │ │ add.w r2, r2, r7, lsl #5 │ │ │ │ │ - bge.n e6 │ │ │ │ │ - mov.w lr, r3, lsl #3 │ │ │ │ │ - lsls r7, r3, #4 │ │ │ │ │ + bge.n fe │ │ │ │ │ cmp r4, #1 │ │ │ │ │ - bne.n ee │ │ │ │ │ - adds r2, #32 │ │ │ │ │ + mov.w lr, r3, lsl #3 │ │ │ │ │ + mov.w r7, r3, lsl #4 │ │ │ │ │ + bne.n 114 │ │ │ │ │ + vldr d5, [pc, #436] @ 1e8 │ │ │ │ │ + vmov.f64 d4, #96 @ 0x3f000000 0.5 │ │ │ │ │ + add.w r2, r2, #32 │ │ │ │ │ add.w ip, r0, lr │ │ │ │ │ add.w r3, r1, lr │ │ │ │ │ - vldr d5, [pc, #400] @ 1c0 │ │ │ │ │ - vmov.f64 d4, #96 @ 0x3f000000 0.5 │ │ │ │ │ vldr d3, [r2, #-32] @ 0xffffffe0 │ │ │ │ │ add.w lr, r0, r7 │ │ │ │ │ + add.w r4, r1, r7 │ │ │ │ │ + mov r8, r1 │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ vldr d1, [ip] │ │ │ │ │ - adds r4, r1, r7 │ │ │ │ │ + cmp r6, r5 │ │ │ │ │ + sub.w r1, r1, #8 │ │ │ │ │ + add.w r2, r2, #32 │ │ │ │ │ + vldr d7, [r2, #-56] @ 0xffffffc8 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - mov r8, r1 │ │ │ │ │ - vldr d7, [r2, #-24] @ 0xffffffe8 │ │ │ │ │ - adds r5, #1 │ │ │ │ │ vmul.f64 d0, d3, d1 │ │ │ │ │ - vldr d9, [r2, #-16] │ │ │ │ │ + vldr d9, [r2, #-48] @ 0xffffffd0 │ │ │ │ │ vldr d10, [lr] │ │ │ │ │ - subs r1, #8 │ │ │ │ │ + vldr d8, [r0] │ │ │ │ │ vmla.f64 d0, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [r2, #-8] │ │ │ │ │ - cmp r6, r5 │ │ │ │ │ - vldr d8, [r0] │ │ │ │ │ - add.w r2, r2, #32 │ │ │ │ │ + vldr d1, [r2, #-40] @ 0xffffffd8 │ │ │ │ │ vldr d2, [r1, #8] │ │ │ │ │ vnmls.f64 d7, d3, d6 │ │ │ │ │ vldr d3, [r4] │ │ │ │ │ vmul.f64 d6, d9, d10 │ │ │ │ │ vmla.f64 d6, d1, d3 │ │ │ │ │ vmul.f64 d1, d1, d10 │ │ │ │ │ vnmls.f64 d1, d9, d3 │ │ │ │ │ vadd.f64 d9, d6, d0 │ │ │ │ │ vsub.f64 d6, d6, d0 │ │ │ │ │ vadd.f64 d3, d1, d7 │ │ │ │ │ - vadd.f64 d10, d9, d8 │ │ │ │ │ vsub.f64 d7, d7, d1 │ │ │ │ │ + vadd.f64 d10, d9, d8 │ │ │ │ │ vmls.f64 d8, d9, d4 │ │ │ │ │ vmul.f64 d6, d6, d5 │ │ │ │ │ - vstmia r0!, {d10} │ │ │ │ │ vmul.f64 d7, d7, d5 │ │ │ │ │ + vstmia r0!, {d10} │ │ │ │ │ vsub.f64 d1, d8, d7 │ │ │ │ │ vadd.f64 d7, d7, d8 │ │ │ │ │ vstr d1, [r8] │ │ │ │ │ vstmia ip!, {d7} │ │ │ │ │ vadd.f64 d7, d3, d2 │ │ │ │ │ vmls.f64 d2, d3, d4 │ │ │ │ │ vstr d7, [r4] │ │ │ │ │ mov r4, r3 │ │ │ │ │ sub.w r3, r3, #8 │ │ │ │ │ vsub.f64 d3, d6, d2 │ │ │ │ │ vadd.f64 d7, d2, d6 │ │ │ │ │ vstr d3, [lr] │ │ │ │ │ vstr d7, [r4] │ │ │ │ │ - bne.n 34 │ │ │ │ │ + bne.n 46 │ │ │ │ │ vpop {d8-d10} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ - adds r2, #32 │ │ │ │ │ - rsb r9, r4, #0 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + vldr d3, [pc, #208] @ 1e8 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + vmov.f64 d2, #96 @ 0x3f000000 0.5 │ │ │ │ │ + add.w r2, r2, #32 │ │ │ │ │ add.w ip, r0, lr │ │ │ │ │ + rsb r9, r4, #0 │ │ │ │ │ add.w r3, r1, lr │ │ │ │ │ - vldr d3, [pc, #192] @ 1c0 │ │ │ │ │ - vmov.f64 d2, #96 @ 0x3f000000 0.5 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ add.w r8, r1, r7 │ │ │ │ │ - vldr d8, [r2, #-24] @ 0xffffffe8 │ │ │ │ │ add.w lr, r0, r7 │ │ │ │ │ - vldr d6, [r2, #-32] @ 0xffffffe0 │ │ │ │ │ - adds r5, #1 │ │ │ │ │ + add.w r5, r5, #1 │ │ │ │ │ + add.w r2, r2, #32 │ │ │ │ │ + vldr d6, [r2, #-64] @ 0xffffffc0 │ │ │ │ │ + cmp r6, r5 │ │ │ │ │ + vldr d8, [r2, #-56] @ 0xffffffc8 │ │ │ │ │ vldr d7, [ip] │ │ │ │ │ - adds r2, #32 │ │ │ │ │ - vmul.f64 d0, d4, d8 │ │ │ │ │ vldr d10, [r2, #-40] @ 0xffffffd8 │ │ │ │ │ + vmul.f64 d0, d4, d8 │ │ │ │ │ vldr d5, [r0] │ │ │ │ │ - cmp r6, r5 │ │ │ │ │ + vldr d1, [r1] │ │ │ │ │ vmla.f64 d0, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ vldr d8, [r8] │ │ │ │ │ - vldr d1, [r1] │ │ │ │ │ vnmls.f64 d7, d4, d6 │ │ │ │ │ vldr d6, [r2, #-48] @ 0xffffffd0 │ │ │ │ │ - vldr d4, [lr] │ │ │ │ │ vmul.f64 d9, d8, d10 │ │ │ │ │ + vldr d4, [lr] │ │ │ │ │ vmla.f64 d9, d4, d6 │ │ │ │ │ vmul.f64 d4, d4, d10 │ │ │ │ │ vnmls.f64 d4, d8, d6 │ │ │ │ │ vadd.f64 d6, d0, d9 │ │ │ │ │ + vadd.f64 d8, d7, d4 │ │ │ │ │ vadd.f64 d10, d5, d6 │ │ │ │ │ vmls.f64 d5, d6, d2 │ │ │ │ │ vsub.f64 d6, d7, d4 │ │ │ │ │ - vadd.f64 d8, d7, d4 │ │ │ │ │ vstr d10, [r0] │ │ │ │ │ add r0, r4 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ vsub.f64 d7, d5, d6 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ vadd.f64 d7, d1, d8 │ │ │ │ │ - vstr d5, [ip] │ │ │ │ │ vmls.f64 d1, d8, d2 │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ add r1, r9 │ │ │ │ │ add ip, r4 │ │ │ │ │ vstr d7, [r8] │ │ │ │ │ vsub.f64 d7, d9, d0 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vsub.f64 d5, d7, d1 │ │ │ │ │ vadd.f64 d7, d7, d1 │ │ │ │ │ vstr d5, [lr] │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ sub.w r3, r3, r4 │ │ │ │ │ - bne.n 106 │ │ │ │ │ - vpop {d8-d10} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} │ │ │ │ │ + bne.n 130 │ │ │ │ │ + b.n fe │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3febb67a │ │ │ │ │ │ │ │ │ │ -000001c8 : │ │ │ │ │ +000001f0 : │ │ │ │ │ fftw_codelet_hf_3(): │ │ │ │ │ - ldr r2, [pc, #8] @ (1d4 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (1d8 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (1fc ) │ │ │ │ │ + ldr r1, [pc, #12] @ (200 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2hc_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── hf_32.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 5516 (bytes into file) │ │ │ │ │ + Start of section headers: 5564 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x158c: │ │ │ │ │ +There are 14 section headers, starting at offset 0x15bc: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 001254 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0014d4 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 001288 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 001288 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 001288 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 00128e 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 001296 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 0014fc 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 0012c6 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0012c6 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 0012fc 000150 10 12 16 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 00144c 000087 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 001514 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 001284 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 001504 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0012b8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0012b8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0012b8 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 0012be 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0012c6 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 00152c 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 0012f6 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0012f6 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 00132c 000150 10 12 16 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 00147c 000087 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 001544 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 21 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 4672 FUNC LOCAL DEFAULT 1 hf_32 │ │ │ │ │ + 1: 00000001 4720 FUNC LOCAL DEFAULT 1 hf_32 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000050 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000068 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000de8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000e18 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 0000124c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000068 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000080 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000e28 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000e58 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 0000127c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 13: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 14: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 15: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 18: 00001241 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_32 │ │ │ │ │ + 18: 00001271 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_32 │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2hc_register │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x14d4 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x1504 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000060 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000064 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -0000124c 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00001250 00000103 R_ARM_REL32 00000001 hf_32 │ │ │ │ │ -00001248 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ +00000078 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000007c 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +0000127c 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00001280 00000103 R_ARM_REL32 00000001 hf_32 │ │ │ │ │ +00001278 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x14fc contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x152c contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000a02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001402 R_ARM_ABS32 00000000 fftw_rdft_hf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,1276 +1,1264 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hf_32(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r7, r1 │ │ │ │ │ - mov fp, r0 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + mov r4, r3 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r8, r1 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub.w sp, sp, #772 @ 0x304 │ │ │ │ │ - mov.w r0, #496 @ 0x1f0 │ │ │ │ │ - mov r8, r3 │ │ │ │ │ - ldr r3, [pc, #72] @ (60 ) │ │ │ │ │ - ldr r1, [sp, #872] @ 0x368 │ │ │ │ │ - add r3, pc │ │ │ │ │ - subs r1, #1 │ │ │ │ │ - mla sl, r0, r1, r2 │ │ │ │ │ - ldrd r2, r1, [sp, #872] @ 0x368 │ │ │ │ │ - cmp r2, r1 │ │ │ │ │ - bge.w 1234 │ │ │ │ │ - ldr r2, [sp, #880] @ 0x370 │ │ │ │ │ - mov ip, fp │ │ │ │ │ - vldr d12, [pc, #28] @ 50 │ │ │ │ │ - mov lr, r7 │ │ │ │ │ - vldr d15, [pc, #32] @ 58 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ - str r2, [sp, #756] @ 0x2f4 │ │ │ │ │ - negs r2, r2 │ │ │ │ │ - str r2, [sp, #760] @ 0x2f8 │ │ │ │ │ - ldr r2, [pc, #32] @ (64 ) │ │ │ │ │ - ldr r3, [r3, r2] │ │ │ │ │ + sub.w sp, sp, #764 @ 0x2fc │ │ │ │ │ + ldr r3, [sp, #864] @ 0x360 │ │ │ │ │ + ldr r1, [pc, #84] @ (78 ) │ │ │ │ │ + add.w r3, r3, #4294967295 @ 0xffffffff │ │ │ │ │ + rsb r3, r3, r3, lsl #5 │ │ │ │ │ + add r1, pc │ │ │ │ │ + add.w r9, r2, r3, lsl #4 │ │ │ │ │ + ldrd r3, r2, [sp, #864] @ 0x360 │ │ │ │ │ + cmp r3, r2 │ │ │ │ │ + bge.w 1252 │ │ │ │ │ + ldr r3, [sp, #872] @ 0x368 │ │ │ │ │ + mov lr, r9 │ │ │ │ │ + mov sl, r8 │ │ │ │ │ + mov r9, r0 │ │ │ │ │ + mov fp, r4 │ │ │ │ │ + vldr d12, [pc, #32] @ 68 │ │ │ │ │ + vldr d15, [pc, #36] @ 70 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + str r3, [sp, #748] @ 0x2ec │ │ │ │ │ + rsb r3, r3, #0 │ │ │ │ │ + str r3, [sp, #752] @ 0x2f0 │ │ │ │ │ + ldr r3, [pc, #32] @ (7c ) │ │ │ │ │ + ldr r3, [r1, r3] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - str r3, [sp, #764] @ 0x2fc │ │ │ │ │ - b.n 68 │ │ │ │ │ + str r3, [sp, #756] @ 0x2f4 │ │ │ │ │ + b.n 80 │ │ │ │ │ nop.w │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ - .word 0x00000042 │ │ │ │ │ + .word 0x00000048 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - mov.w r4, r8, lsl #7 │ │ │ │ │ - vldr d4, [sl, #248] @ 0xf8 │ │ │ │ │ - add.w r2, lr, r4 │ │ │ │ │ - add.w r3, ip, r4 │ │ │ │ │ - vldr d7, [sl, #240] @ 0xf0 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ + mov.w r8, fp, lsl #7 │ │ │ │ │ + vldr d1, [lr, #120] @ 0x78 │ │ │ │ │ + mov.w r7, #200 @ 0xc8 │ │ │ │ │ + mov.w ip, #184 @ 0xb8 │ │ │ │ │ + add.w r2, sl, r8 │ │ │ │ │ + vldr d4, [lr, #248] @ 0xf8 │ │ │ │ │ + add.w r3, r9, r8 │ │ │ │ │ vldr d5, [r2] │ │ │ │ │ + str r3, [sp, #0] │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - mov.w r3, r8, lsl #6 │ │ │ │ │ - add.w r9, lr, r3 │ │ │ │ │ - add.w fp, ip, r3 │ │ │ │ │ + mov.w r3, fp, lsl #6 │ │ │ │ │ + str r2, [sp, #8] │ │ │ │ │ + vldr d7, [lr, #240] @ 0xf0 │ │ │ │ │ + add.w r2, r9, r3 │ │ │ │ │ + add r3, sl │ │ │ │ │ + add.w r0, r3, r8 │ │ │ │ │ + add.w r1, r2, r8 │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ - vldr d1, [sl, #120] @ 0x78 │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ + str r2, [sp, #16] │ │ │ │ │ + vldr d0, [r0] │ │ │ │ │ + str r1, [sp, #32] │ │ │ │ │ + vldr d8, [lr, #376] @ 0x178 │ │ │ │ │ vmla.f64 d3, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d4 │ │ │ │ │ - vldr d2, [r9] │ │ │ │ │ - add.w r5, r9, r4 │ │ │ │ │ - add.w r0, fp, r4 │ │ │ │ │ - vldr d8, [sl, #376] @ 0x178 │ │ │ │ │ - vldr d9, [ip] │ │ │ │ │ - mov.w r3, r8, lsl #3 │ │ │ │ │ - vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d5, [sl, #112] @ 0x70 │ │ │ │ │ - vldr d7, [fp] │ │ │ │ │ + str r3, [sp, #24] │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ - vldr d0, [r5] │ │ │ │ │ - add.w r7, lr, r3 │ │ │ │ │ - vldr d10, [lr] │ │ │ │ │ - add.w r6, ip, r3 │ │ │ │ │ + vldr d9, [r9] │ │ │ │ │ + mul.w r3, r7, fp │ │ │ │ │ + str r0, [sp, #44] @ 0x2c │ │ │ │ │ + vldr d10, [sl] │ │ │ │ │ + add.w r7, r9, r3 │ │ │ │ │ + add.w r0, sl, r3 │ │ │ │ │ + vnmls.f64 d6, d5, d7 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + vldr d5, [lr, #112] @ 0x70 │ │ │ │ │ vmla.f64 d4, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [sl, #368] @ 0x170 │ │ │ │ │ - movs r3, #200 @ 0xc8 │ │ │ │ │ - str r2, [sp, #8] │ │ │ │ │ - str r0, [sp, #16] │ │ │ │ │ + vldr d1, [lr, #368] @ 0x170 │ │ │ │ │ vnmls.f64 d7, d2, d5 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ vmul.f64 d2, d0, d8 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - movs r0, #136 @ 0x88 │ │ │ │ │ - str r5, [sp, #24] │ │ │ │ │ + mov.w r1, fp, lsl #3 │ │ │ │ │ + add.w r4, r9, r1 │ │ │ │ │ + add.w r5, sl, r1 │ │ │ │ │ + strd r4, r5, [sp, #48] @ 0x30 │ │ │ │ │ vmla.f64 d2, d5, d1 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ - add.w r2, ip, r3 │ │ │ │ │ - add r3, lr │ │ │ │ │ - str r6, [sp, #40] @ 0x28 │ │ │ │ │ - str r7, [sp, #32] │ │ │ │ │ vnmls.f64 d5, d0, d1 │ │ │ │ │ vadd.f64 d0, d9, d3 │ │ │ │ │ vsub.f64 d9, d9, d3 │ │ │ │ │ - str r2, [sp, #44] @ 0x2c │ │ │ │ │ vadd.f64 d1, d4, d2 │ │ │ │ │ vsub.f64 d4, d4, d2 │ │ │ │ │ vsub.f64 d2, d10, d6 │ │ │ │ │ vadd.f64 d10, d10, d6 │ │ │ │ │ - vldr d6, [sl] │ │ │ │ │ + vldr d6, [lr] │ │ │ │ │ vadd.f64 d14, d0, d1 │ │ │ │ │ vsub.f64 d1, d0, d1 │ │ │ │ │ vadd.f64 d0, d4, d2 │ │ │ │ │ vsub.f64 d4, d2, d4 │ │ │ │ │ - vstr d1, [sp, #640] @ 0x280 │ │ │ │ │ - vstr d4, [sp, #656] @ 0x290 │ │ │ │ │ + vstr d1, [sp, #632] @ 0x278 │ │ │ │ │ + vstr d0, [sp, #640] @ 0x280 │ │ │ │ │ + vstr d4, [sp, #648] @ 0x288 │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ - vstr d0, [sp, #648] @ 0x288 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + mov.w r5, fp, lsl #4 │ │ │ │ │ + add.w r3, r5, fp │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ vadd.f64 d3, d9, d4 │ │ │ │ │ vsub.f64 d2, d9, d4 │ │ │ │ │ - vldr d4, [sl, #8] │ │ │ │ │ vadd.f64 d8, d7, d10 │ │ │ │ │ vsub.f64 d9, d10, d7 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - vstr d3, [sp, #664] @ 0x298 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + add.w r4, r9, r3 │ │ │ │ │ + vstr d8, [sp, #248] @ 0xf8 │ │ │ │ │ + vstr d3, [sp, #656] @ 0x290 │ │ │ │ │ + vstr d2, [sp, #664] @ 0x298 │ │ │ │ │ + vstr d9, [sp, #672] @ 0x2a0 │ │ │ │ │ + vldr d4, [lr, #8] │ │ │ │ │ + strd r7, r0, [sp, #56] @ 0x38 │ │ │ │ │ + str r4, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d9, [lr, #392] @ 0x188 │ │ │ │ │ + vldr d1, [lr, #264] @ 0x108 │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ + vldr d8, [lr, #136] @ 0x88 │ │ │ │ │ vmla.f64 d3, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ - vstr d2, [sp, #672] @ 0x2a0 │ │ │ │ │ - vstr d8, [sp, #256] @ 0x100 │ │ │ │ │ - vstr d9, [sp, #680] @ 0x2a8 │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - vldr d9, [sl, #392] @ 0x188 │ │ │ │ │ - str r3, [sp, #48] @ 0x30 │ │ │ │ │ - mul.w r3, r0, r8 │ │ │ │ │ - vldr d5, [sl, #384] @ 0x180 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + add.w r7, sl, r3 │ │ │ │ │ vmul.f64 d10, d4, d9 │ │ │ │ │ + vldr d5, [lr, #384] @ 0x180 │ │ │ │ │ vmul.f64 d9, d6, d9 │ │ │ │ │ - add.w r5, lr, r3 │ │ │ │ │ - add.w r0, ip, r3 │ │ │ │ │ - movs r3, #72 @ 0x48 │ │ │ │ │ vmla.f64 d10, d6, d5 │ │ │ │ │ - vldr d1, [sl, #264] @ 0x108 │ │ │ │ │ + vldr d6, [lr, #256] @ 0x100 │ │ │ │ │ vnmls.f64 d9, d4, d5 │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ - vldr d6, [sl, #256] @ 0x100 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + add.w r4, r1, fp │ │ │ │ │ + mov.w r3, r4, lsl #3 │ │ │ │ │ + mov.w r4, r4, lsl #4 │ │ │ │ │ + add.w r2, r9, r3 │ │ │ │ │ + add r3, sl │ │ │ │ │ vmul.f64 d2, d5, d1 │ │ │ │ │ - add.w r7, lr, r3 │ │ │ │ │ - add.w r6, ip, r3 │ │ │ │ │ - vldr d8, [sl, #136] @ 0x88 │ │ │ │ │ + vldr d0, [r3] │ │ │ │ │ + strd r7, r2, [sp, #68] @ 0x44 │ │ │ │ │ + str r3, [sp, #76] @ 0x4c │ │ │ │ │ + mov.w r3, fp, lsl #5 │ │ │ │ │ vmla.f64 d2, d4, d6 │ │ │ │ │ vmul.f64 d4, d4, d1 │ │ │ │ │ - vldr d0, [r7] │ │ │ │ │ - movs r3, #248 @ 0xf8 │ │ │ │ │ - vldr d1, [sl, #128] @ 0x80 │ │ │ │ │ - str r0, [sp, #52] @ 0x34 │ │ │ │ │ + vldr d1, [lr, #128] @ 0x80 │ │ │ │ │ vnmls.f64 d4, d5, d6 │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ vmul.f64 d5, d0, d8 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - str r5, [sp, #56] @ 0x38 │ │ │ │ │ + sub.w r2, r3, fp │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + add.w r0, r9, r2 │ │ │ │ │ + add.w r7, sl, r2 │ │ │ │ │ + mul.w r2, ip, fp │ │ │ │ │ + sub.w ip, r1, fp │ │ │ │ │ vmla.f64 d5, d6, d1 │ │ │ │ │ vmul.f64 d6, d6, d8 │ │ │ │ │ - add.w r1, ip, r3 │ │ │ │ │ - add r3, lr │ │ │ │ │ - str r3, [sp, #72] @ 0x48 │ │ │ │ │ - str r6, [sp, #60] @ 0x3c │ │ │ │ │ + str r7, [sp, #80] @ 0x50 │ │ │ │ │ + str r0, [sp, #88] @ 0x58 │ │ │ │ │ + add.w r6, r9, r2 │ │ │ │ │ + add r2, sl │ │ │ │ │ vnmls.f64 d6, d0, d1 │ │ │ │ │ vadd.f64 d0, d3, d2 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ - str r7, [sp, #80] @ 0x50 │ │ │ │ │ - str r1, [sp, #64] @ 0x40 │ │ │ │ │ vadd.f64 d1, d10, d5 │ │ │ │ │ vsub.f64 d5, d5, d10 │ │ │ │ │ vadd.f64 d11, d0, d1 │ │ │ │ │ vsub.f64 d13, d0, d1 │ │ │ │ │ vadd.f64 d0, d7, d4 │ │ │ │ │ - vsub.f64 d7, d7, d4 │ │ │ │ │ vadd.f64 d1, d9, d6 │ │ │ │ │ + vsub.f64 d7, d7, d4 │ │ │ │ │ vsub.f64 d6, d6, d9 │ │ │ │ │ - vldr d9, [sl, #488] @ 0x1e8 │ │ │ │ │ - vstr d11, [sp, #264] @ 0x108 │ │ │ │ │ - vsub.f64 d4, d7, d5 │ │ │ │ │ - vadd.f64 d5, d7, d5 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ + vstr d11, [sp, #256] @ 0x100 │ │ │ │ │ vsub.f64 d8, d0, d1 │ │ │ │ │ - vadd.f64 d11, d3, d6 │ │ │ │ │ vadd.f64 d1, d0, d1 │ │ │ │ │ + vsub.f64 d4, d7, d5 │ │ │ │ │ + vadd.f64 d11, d3, d6 │ │ │ │ │ + vadd.f64 d5, d7, d5 │ │ │ │ │ vsub.f64 d3, d3, d6 │ │ │ │ │ - vldr d6, [sl, #480] @ 0x1e0 │ │ │ │ │ - vstr d5, [sp, #296] @ 0x128 │ │ │ │ │ - movs r1, #232 @ 0xe8 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - movs r3, #184 @ 0xb8 │ │ │ │ │ - vstr d13, [sp, #688] @ 0x2b0 │ │ │ │ │ - vstr d8, [sp, #696] @ 0x2b8 │ │ │ │ │ - mul.w r1, r1, r8 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + sub.w r0, r5, fp │ │ │ │ │ + vldr d6, [lr, #480] @ 0x1e0 │ │ │ │ │ + vstr d1, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d11, [sp, #272] @ 0x110 │ │ │ │ │ + vstr d4, [sp, #280] @ 0x118 │ │ │ │ │ + vstr d5, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + vstr d13, [sp, #680] @ 0x2a8 │ │ │ │ │ + vstr d8, [sp, #688] @ 0x2b0 │ │ │ │ │ + vstr d3, [sp, #696] @ 0x2b8 │ │ │ │ │ + vldr d9, [lr, #488] @ 0x1e8 │ │ │ │ │ + strd r6, r2, [sp, #92] @ 0x5c │ │ │ │ │ + vldr d8, [lr, #104] @ 0x68 │ │ │ │ │ + vldr d4, [lr, #360] @ 0x168 │ │ │ │ │ vmul.f64 d10, d5, d9 │ │ │ │ │ vmul.f64 d9, d7, d9 │ │ │ │ │ - vmla.f64 d10, d7, d6 │ │ │ │ │ - add.w r2, ip, r3 │ │ │ │ │ - add.w r0, lr, r3 │ │ │ │ │ - str r2, [sp, #84] @ 0x54 │ │ │ │ │ - movs r3, #120 @ 0x78 │ │ │ │ │ - vstr d1, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d1, [lr, #232] @ 0xe8 │ │ │ │ │ vnmls.f64 d9, d5, d6 │ │ │ │ │ - vstr d11, [sp, #280] @ 0x118 │ │ │ │ │ - vstr d3, [sp, #704] @ 0x2c0 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - vstr d4, [sp, #288] @ 0x120 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - add.w r6, lr, r3 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ - add.w r5, ip, r3 │ │ │ │ │ - vldr d4, [sl, #360] @ 0x168 │ │ │ │ │ - movs r3, #56 @ 0x38 │ │ │ │ │ - vldr d7, [sl, #352] @ 0x160 │ │ │ │ │ - vldr d1, [sl, #232] @ 0xe8 │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + vmla.f64 d10, d7, d6 │ │ │ │ │ + mov.w r2, ip, lsl #3 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + mov.w r6, r0, lsl #3 │ │ │ │ │ + mov.w r0, r0, lsl #4 │ │ │ │ │ + vldr d7, [lr, #352] @ 0x160 │ │ │ │ │ + add.w r7, r9, r6 │ │ │ │ │ + add r6, sl │ │ │ │ │ vmul.f64 d2, d5, d4 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ + str r7, [sp, #104] @ 0x68 │ │ │ │ │ vmla.f64 d2, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d4 │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ - add.w r7, ip, r3 │ │ │ │ │ - add r3, lr │ │ │ │ │ - vldr d8, [sl, #104] @ 0x68 │ │ │ │ │ - str r3, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + add.w r7, r9, r2 │ │ │ │ │ + add r2, sl │ │ │ │ │ + vldr d0, [r2] │ │ │ │ │ + strd r7, r2, [sp, #108] @ 0x6c │ │ │ │ │ + add.w r2, r9, r3 │ │ │ │ │ + add r3, sl │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ vldr d5, [r6] │ │ │ │ │ - vldr d7, [sl, #224] @ 0xe0 │ │ │ │ │ - vldr d0, [r3] │ │ │ │ │ - mov.w r3, r8, lsl #5 │ │ │ │ │ + strd r2, r3, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d7, [lr, #224] @ 0xe0 │ │ │ │ │ vmul.f64 d3, d5, d1 │ │ │ │ │ - add.w r2, ip, r3 │ │ │ │ │ vmla.f64 d3, d4, d7 │ │ │ │ │ vmul.f64 d4, d4, d1 │ │ │ │ │ - vldr d1, [sl, #96] @ 0x60 │ │ │ │ │ - str r0, [sp, #88] @ 0x58 │ │ │ │ │ - add.w r0, lr, r3 │ │ │ │ │ - movs r3, #96 @ 0x60 │ │ │ │ │ - str r5, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d1, [lr, #96] @ 0x60 │ │ │ │ │ vnmls.f64 d4, d5, d7 │ │ │ │ │ vldr d7, [r7] │ │ │ │ │ vmul.f64 d5, d0, d8 │ │ │ │ │ - str r6, [sp, #96] @ 0x60 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - str r7, [sp, #108] @ 0x6c │ │ │ │ │ vmla.f64 d5, d7, d1 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ - add.w r5, ip, r3 │ │ │ │ │ - add.w r6, lr, r3 │ │ │ │ │ - str r2, [sp, #120] @ 0x78 │ │ │ │ │ - movs r3, #160 @ 0xa0 │ │ │ │ │ - str r0, [sp, #124] @ 0x7c │ │ │ │ │ vnmls.f64 d7, d0, d1 │ │ │ │ │ vadd.f64 d0, d10, d3 │ │ │ │ │ vsub.f64 d10, d10, d3 │ │ │ │ │ - str r5, [sp, #128] @ 0x80 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ vadd.f64 d1, d2, d5 │ │ │ │ │ - add.w r7, ip, r3 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ - add r3, lr │ │ │ │ │ vadd.f64 d13, d0, d1 │ │ │ │ │ vsub.f64 d11, d0, d1 │ │ │ │ │ vadd.f64 d1, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ + vldr d6, [lr, #48] @ 0x30 │ │ │ │ │ vadd.f64 d0, d9, d4 │ │ │ │ │ vsub.f64 d9, d9, d4 │ │ │ │ │ - vldr d6, [sl, #48] @ 0x30 │ │ │ │ │ - vstr d13, [sp, #304] @ 0x130 │ │ │ │ │ + vstr d13, [sp, #296] @ 0x128 │ │ │ │ │ vadd.f64 d3, d10, d7 │ │ │ │ │ vsub.f64 d7, d10, d7 │ │ │ │ │ + vldr d10, [lr, #56] @ 0x38 │ │ │ │ │ vsub.f64 d4, d9, d5 │ │ │ │ │ vadd.f64 d2, d9, d5 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ + vstr d11, [sp, #304] @ 0x130 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ vsub.f64 d13, d0, d1 │ │ │ │ │ - vldr d9, [sl, #56] @ 0x38 │ │ │ │ │ vadd.f64 d1, d0, d1 │ │ │ │ │ - vstr d7, [sp, #360] @ 0x168 │ │ │ │ │ + vstr d7, [sp, #352] @ 0x160 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - vmul.f64 d10, d5, d9 │ │ │ │ │ - vstr d11, [sp, #312] @ 0x138 │ │ │ │ │ - vstr d13, [sp, #320] @ 0x140 │ │ │ │ │ - vmul.f64 d9, d7, d9 │ │ │ │ │ - vmla.f64 d10, d7, d6 │ │ │ │ │ - vstr d1, [sp, #328] @ 0x148 │ │ │ │ │ - vstr d4, [sp, #336] @ 0x150 │ │ │ │ │ - vstr d2, [sp, #344] @ 0x158 │ │ │ │ │ - vnmls.f64 d9, d5, d6 │ │ │ │ │ - vstr d3, [sp, #352] @ 0x160 │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ - vldr d4, [sl, #184] @ 0xb8 │ │ │ │ │ - vldr d7, [sl, #176] @ 0xb0 │ │ │ │ │ - str r3, [sp, #140] @ 0x8c │ │ │ │ │ + add.w r2, fp, fp, lsl #1 │ │ │ │ │ + vmul.f64 d9, d5, d10 │ │ │ │ │ + vstr d13, [sp, #312] @ 0x138 │ │ │ │ │ + mov.w r3, r2, lsl #5 │ │ │ │ │ + vstr d1, [sp, #320] @ 0x140 │ │ │ │ │ + vstr d4, [sp, #328] @ 0x148 │ │ │ │ │ + add.w r7, r9, r3 │ │ │ │ │ + add r3, sl │ │ │ │ │ + vstr d2, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d3, [sp, #344] @ 0x158 │ │ │ │ │ + vmul.f64 d10, d7, d10 │ │ │ │ │ + vmla.f64 d9, d7, d6 │ │ │ │ │ + strd r7, r3, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d7, [lr, #176] @ 0xb0 │ │ │ │ │ + vldr d4, [lr, #184] @ 0xb8 │ │ │ │ │ + vnmls.f64 d10, d5, d6 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + add.w r3, fp, fp, lsl #2 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + mov.w r7, r3, lsl #5 │ │ │ │ │ + add.w r1, r9, r7 │ │ │ │ │ + vldr d1, [lr, #312] @ 0x138 │ │ │ │ │ vmul.f64 d3, d6, d4 │ │ │ │ │ - vldr d1, [sl, #312] @ 0x138 │ │ │ │ │ + str r1, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d8, [lr, #440] @ 0x1b8 │ │ │ │ │ vmla.f64 d3, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d4 │ │ │ │ │ - vldr d4, [r7] │ │ │ │ │ - vldr d8, [sl, #440] @ 0x1b8 │ │ │ │ │ - str r6, [sp, #132] @ 0x84 │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ + add.w r1, sl, r7 │ │ │ │ │ + mov.w r7, ip, lsl #5 │ │ │ │ │ + str r1, [sp, #140] @ 0x8c │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - movs r3, #224 @ 0xe0 │ │ │ │ │ - vldr d7, [sl, #304] @ 0x130 │ │ │ │ │ - str r7, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + add.w r1, r9, r7 │ │ │ │ │ + vldr d7, [lr, #304] @ 0x130 │ │ │ │ │ + str r1, [sp, #144] @ 0x90 │ │ │ │ │ vmul.f64 d2, d6, d1 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ vmla.f64 d2, d4, d7 │ │ │ │ │ vmul.f64 d4, d4, d1 │ │ │ │ │ - vldr d1, [sl, #432] @ 0x1b0 │ │ │ │ │ - add.w r0, lr, r3 │ │ │ │ │ - add.w r2, ip, r3 │ │ │ │ │ - mov.w r3, r8, lsl #4 │ │ │ │ │ - str r2, [sp, #144] @ 0x90 │ │ │ │ │ - add.w r5, ip, r3 │ │ │ │ │ - add.w r6, lr, r3 │ │ │ │ │ - vldr d0, [r0] │ │ │ │ │ + vldr d1, [lr, #432] @ 0x1b0 │ │ │ │ │ vnmls.f64 d4, d6, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - movs r3, #208 @ 0xd0 │ │ │ │ │ - str r0, [sp, #148] @ 0x94 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + add.w r1, sl, r7 │ │ │ │ │ + vldr d0, [r1] │ │ │ │ │ + str r1, [sp, #148] @ 0x94 │ │ │ │ │ + add.w r1, r9, r5 │ │ │ │ │ + add r5, sl │ │ │ │ │ + strd r1, r5, [sp, #152] @ 0x98 │ │ │ │ │ vmul.f64 d6, d0, d8 │ │ │ │ │ - str r5, [sp, #152] @ 0x98 │ │ │ │ │ vmla.f64 d6, d7, d1 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - str r6, [sp, #156] @ 0x9c │ │ │ │ │ - add.w r2, ip, r3 │ │ │ │ │ - add.w r0, lr, r3 │ │ │ │ │ vnmls.f64 d7, d0, d1 │ │ │ │ │ - vadd.f64 d0, d10, d2 │ │ │ │ │ - vsub.f64 d10, d10, d2 │ │ │ │ │ - str r2, [sp, #160] @ 0xa0 │ │ │ │ │ - movs r3, #144 @ 0x90 │ │ │ │ │ + vadd.f64 d0, d9, d2 │ │ │ │ │ + vsub.f64 d9, d9, d2 │ │ │ │ │ vadd.f64 d1, d3, d6 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - add.w r7, lr, r3 │ │ │ │ │ vadd.f64 d11, d0, d1 │ │ │ │ │ vsub.f64 d0, d0, d1 │ │ │ │ │ - vadd.f64 d1, d9, d4 │ │ │ │ │ - vsub.f64 d9, d9, d4 │ │ │ │ │ - vstr d0, [sp, #712] @ 0x2c8 │ │ │ │ │ + vadd.f64 d1, d10, d4 │ │ │ │ │ + vsub.f64 d10, d10, d4 │ │ │ │ │ + vstr d11, [sp, #360] @ 0x168 │ │ │ │ │ + vstr d0, [sp, #704] @ 0x2c0 │ │ │ │ │ vadd.f64 d0, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vadd.f64 d2, d10, d9 │ │ │ │ │ - vldr d5, [r6] │ │ │ │ │ - vsub.f64 d4, d10, d9 │ │ │ │ │ - vldr d10, [sl, #24] │ │ │ │ │ - vsub.f64 d8, d0, d1 │ │ │ │ │ - vadd.f64 d1, d0, d1 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + vadd.f64 d2, d9, d10 │ │ │ │ │ + vsub.f64 d4, d9, d10 │ │ │ │ │ + mov.w r5, #208 @ 0xd0 │ │ │ │ │ + vldr d10, [lr, #24] │ │ │ │ │ + mul.w r5, r5, fp │ │ │ │ │ vsub.f64 d3, d6, d7 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ + vldr d6, [lr, #16] │ │ │ │ │ + vsub.f64 d8, d0, d1 │ │ │ │ │ + vadd.f64 d1, d0, d1 │ │ │ │ │ vmul.f64 d9, d5, d10 │ │ │ │ │ - vldr d6, [sl, #16] │ │ │ │ │ - vstr d11, [sp, #368] @ 0x170 │ │ │ │ │ - vstr d8, [sp, #720] @ 0x2d0 │ │ │ │ │ - vstr d7, [sp, #408] @ 0x198 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - add.w r5, ip, r3 │ │ │ │ │ - vstr d1, [sp, #376] @ 0x178 │ │ │ │ │ - movs r3, #80 @ 0x50 │ │ │ │ │ - vstr d2, [sp, #384] @ 0x180 │ │ │ │ │ + vstr d7, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + add.w r1, r9, r5 │ │ │ │ │ + add r5, sl │ │ │ │ │ + vstr d2, [sp, #376] @ 0x178 │ │ │ │ │ + str r1, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d1, [sp, #368] @ 0x170 │ │ │ │ │ + vstr d4, [sp, #384] @ 0x180 │ │ │ │ │ + vstr d3, [sp, #392] @ 0x188 │ │ │ │ │ vmul.f64 d10, d7, d10 │ │ │ │ │ vmla.f64 d9, d7, d6 │ │ │ │ │ - vstr d3, [sp, #400] @ 0x190 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - vstr d4, [sp, #392] @ 0x188 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - add.w r6, ip, r3 │ │ │ │ │ + vstr d8, [sp, #712] @ 0x2c8 │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ + mov.w r1, ip, lsl #4 │ │ │ │ │ + str r5, [sp, #164] @ 0xa4 │ │ │ │ │ + vldr d8, [lr, #152] @ 0x98 │ │ │ │ │ vnmls.f64 d10, d5, d6 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - vldr d5, [sl, #408] @ 0x198 │ │ │ │ │ - add r3, lr │ │ │ │ │ - vldr d7, [sl, #400] @ 0x190 │ │ │ │ │ - vldr d1, [sl, #280] @ 0x118 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + add.w r5, r9, r4 │ │ │ │ │ + add r4, sl │ │ │ │ │ + vldr d7, [lr, #400] @ 0x190 │ │ │ │ │ + strd r5, r4, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d5, [lr, #408] @ 0x198 │ │ │ │ │ + vldr d1, [lr, #280] @ 0x118 │ │ │ │ │ vmul.f64 d3, d6, d5 │ │ │ │ │ - vldr d0, [r3] │ │ │ │ │ vmla.f64 d3, d4, d7 │ │ │ │ │ vmul.f64 d4, d4, d5 │ │ │ │ │ vldr d5, [r5] │ │ │ │ │ - vldr d8, [sl, #152] @ 0x98 │ │ │ │ │ - str r3, [sp, #180] @ 0xb4 │ │ │ │ │ - movs r3, #240 @ 0xf0 │ │ │ │ │ vnmls.f64 d4, d6, d7 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - vldr d7, [sl, #272] @ 0x110 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - str r0, [sp, #164] @ 0xa4 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + mov.w r4, r3, lsl #4 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + vldr d7, [lr, #272] @ 0x110 │ │ │ │ │ + add.w r5, r9, r4 │ │ │ │ │ + add r4, sl │ │ │ │ │ + vldr d0, [r4] │ │ │ │ │ + strd r5, r4, [sp, #176] @ 0xb0 │ │ │ │ │ + add.w r4, r9, r0 │ │ │ │ │ + add r0, sl │ │ │ │ │ vmul.f64 d2, d6, d1 │ │ │ │ │ - str r5, [sp, #168] @ 0xa8 │ │ │ │ │ + strd r4, r0, [sp, #184] @ 0xb8 │ │ │ │ │ vmla.f64 d2, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - vldr d1, [sl, #144] @ 0x90 │ │ │ │ │ - add.w r2, ip, r3 │ │ │ │ │ - add.w r0, lr, r3 │ │ │ │ │ - movs r3, #176 @ 0xb0 │ │ │ │ │ - str r6, [sp, #176] @ 0xb0 │ │ │ │ │ + vldr d1, [lr, #144] @ 0x90 │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ vmul.f64 d6, d0, d8 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - str r7, [sp, #172] @ 0xac │ │ │ │ │ + add.w r5, sl, r1 │ │ │ │ │ vmla.f64 d6, d7, d1 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ - add.w r5, ip, r3 │ │ │ │ │ - add.w r6, lr, r3 │ │ │ │ │ - str r2, [sp, #184] @ 0xb8 │ │ │ │ │ - movs r3, #112 @ 0x70 │ │ │ │ │ - str r0, [sp, #188] @ 0xbc │ │ │ │ │ vnmls.f64 d7, d0, d1 │ │ │ │ │ vadd.f64 d0, d9, d2 │ │ │ │ │ vsub.f64 d9, d9, d2 │ │ │ │ │ - str r5, [sp, #192] @ 0xc0 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ vadd.f64 d1, d3, d6 │ │ │ │ │ - add.w r7, ip, r3 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ vadd.f64 d13, d0, d1 │ │ │ │ │ vsub.f64 d0, d0, d1 │ │ │ │ │ vadd.f64 d1, d4, d7 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vstr d0, [sp, #728] @ 0x2d8 │ │ │ │ │ - vadd.f64 d0, d10, d5 │ │ │ │ │ + vstr d13, [sp, #408] @ 0x198 │ │ │ │ │ vadd.f64 d4, d9, d7 │ │ │ │ │ - vsub.f64 d10, d10, d5 │ │ │ │ │ vsub.f64 d7, d9, d7 │ │ │ │ │ + vldr d9, [lr, #472] @ 0x1d8 │ │ │ │ │ + vstr d0, [sp, #720] @ 0x2d0 │ │ │ │ │ + vadd.f64 d0, d10, d5 │ │ │ │ │ + vsub.f64 d10, d10, d5 │ │ │ │ │ vldr d5, [r0] │ │ │ │ │ - vldr d9, [sl, #472] @ 0x1d8 │ │ │ │ │ + mov.w r0, #176 @ 0xb0 │ │ │ │ │ + vstr d7, [sp, #432] @ 0x1b0 │ │ │ │ │ + mul.w r0, r0, fp │ │ │ │ │ + vstr d4, [sp, #424] @ 0x1a8 │ │ │ │ │ + vsub.f64 d7, d10, d6 │ │ │ │ │ + vadd.f64 d10, d10, d6 │ │ │ │ │ + vldr d6, [lr, #464] @ 0x1d0 │ │ │ │ │ vsub.f64 d11, d0, d1 │ │ │ │ │ vadd.f64 d8, d0, d1 │ │ │ │ │ - vstr d13, [sp, #416] @ 0x1a0 │ │ │ │ │ vstr d7, [sp, #440] @ 0x1b8 │ │ │ │ │ - vsub.f64 d7, d10, d6 │ │ │ │ │ - vadd.f64 d10, d10, d6 │ │ │ │ │ - vldr d6, [sl, #464] @ 0x1d0 │ │ │ │ │ - vstr d11, [sp, #736] @ 0x2e0 │ │ │ │ │ - vstr d8, [sp, #424] @ 0x1a8 │ │ │ │ │ - vstr d7, [sp, #448] @ 0x1c0 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - add.w r2, lr, r3 │ │ │ │ │ - vstr d10, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + add.w r4, r9, r0 │ │ │ │ │ + add r0, sl │ │ │ │ │ + vstr d10, [sp, #448] @ 0x1c0 │ │ │ │ │ vmul.f64 d10, d5, d9 │ │ │ │ │ - vstr d4, [sp, #432] @ 0x1b0 │ │ │ │ │ - movs r3, #48 @ 0x30 │ │ │ │ │ + str r4, [sp, #192] @ 0xc0 │ │ │ │ │ + vstr d8, [sp, #416] @ 0x1a0 │ │ │ │ │ + vstr d11, [sp, #728] @ 0x2d8 │ │ │ │ │ vmul.f64 d9, d7, d9 │ │ │ │ │ vmla.f64 d10, d7, d6 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ vnmls.f64 d9, d5, d6 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - vldr d5, [r6] │ │ │ │ │ - add.w r5, lr, r3 │ │ │ │ │ - vldr d4, [sl, #344] @ 0x158 │ │ │ │ │ - add.w r0, ip, r3 │ │ │ │ │ - vldr d7, [sl, #336] @ 0x150 │ │ │ │ │ - movs r3, #40 @ 0x28 │ │ │ │ │ - vldr d1, [sl, #216] @ 0xd8 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + str r0, [sp, #196] @ 0xc4 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + add.w r0, r9, r1 │ │ │ │ │ + mov.w r1, r2, lsl #4 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + add.w r4, sl, r1 │ │ │ │ │ + vldr d8, [lr, #88] @ 0x58 │ │ │ │ │ + add.w r7, r9, r1 │ │ │ │ │ + add.w r1, r9, r3 │ │ │ │ │ + add r3, sl │ │ │ │ │ + str r0, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d4, [lr, #344] @ 0x158 │ │ │ │ │ + add.w ip, r9, r2 │ │ │ │ │ + add r2, sl │ │ │ │ │ + str r5, [sp, #204] @ 0xcc │ │ │ │ │ + vldr d7, [lr, #336] @ 0x150 │ │ │ │ │ + strd r7, r4, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d1, [lr, #216] @ 0xd8 │ │ │ │ │ + str r1, [sp, #216] @ 0xd8 │ │ │ │ │ vmul.f64 d2, d5, d4 │ │ │ │ │ - vldr d0, [r5] │ │ │ │ │ + vldr d0, [r4] │ │ │ │ │ vmla.f64 d2, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d4 │ │ │ │ │ - vldr d4, [r7] │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - vldr d8, [sl, #88] @ 0x58 │ │ │ │ │ - str r6, [sp, #196] @ 0xc4 │ │ │ │ │ - add.w r6, ip, r3 │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ + add.w r0, r1, r8 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - vldr d7, [sl, #208] @ 0xd0 │ │ │ │ │ - add r3, lr │ │ │ │ │ - str r7, [sp, #200] @ 0xc8 │ │ │ │ │ - adds r7, r6, r4 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + add.w r5, r3, r8 │ │ │ │ │ + vldr d7, [lr, #208] @ 0xd0 │ │ │ │ │ vmul.f64 d3, d5, d1 │ │ │ │ │ - str r2, [sp, #204] @ 0xcc │ │ │ │ │ vmla.f64 d3, d4, d7 │ │ │ │ │ vmul.f64 d4, d4, d1 │ │ │ │ │ - vldr d1, [sl, #80] @ 0x50 │ │ │ │ │ - adds r2, r3, r4 │ │ │ │ │ - str r0, [sp, #208] @ 0xd0 │ │ │ │ │ - str r5, [sp, #212] @ 0xd4 │ │ │ │ │ + vldr d1, [lr, #80] @ 0x50 │ │ │ │ │ vnmls.f64 d4, d5, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ vmul.f64 d5, d0, d8 │ │ │ │ │ - str r7, [sp, #216] @ 0xd8 │ │ │ │ │ - str r2, [sp, #220] @ 0xdc │ │ │ │ │ - add.w r0, ip, r1 │ │ │ │ │ vmla.f64 d5, d7, d1 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ vnmls.f64 d7, d0, d1 │ │ │ │ │ vadd.f64 d0, d10, d3 │ │ │ │ │ vsub.f64 d10, d10, d3 │ │ │ │ │ vadd.f64 d1, d2, d5 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ vadd.f64 d13, d0, d1 │ │ │ │ │ vsub.f64 d8, d0, d1 │ │ │ │ │ - vadd.f64 d0, d9, d4 │ │ │ │ │ vadd.f64 d1, d6, d7 │ │ │ │ │ - vsub.f64 d9, d9, d4 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vstr d13, [sp, #464] @ 0x1d0 │ │ │ │ │ + vadd.f64 d0, d9, d4 │ │ │ │ │ + vsub.f64 d9, d9, d4 │ │ │ │ │ + vstr d13, [sp, #456] @ 0x1c8 │ │ │ │ │ + vadd.f64 d6, d10, d7 │ │ │ │ │ + vldr d13, [lr, #72] @ 0x48 │ │ │ │ │ + vsub.f64 d10, d10, d7 │ │ │ │ │ vsub.f64 d11, d0, d1 │ │ │ │ │ - vldr d13, [sl, #72] @ 0x48 │ │ │ │ │ vsub.f64 d2, d9, d5 │ │ │ │ │ - vadd.f64 d6, d10, d7 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ vadd.f64 d9, d9, d5 │ │ │ │ │ - vsub.f64 d10, d10, d7 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ vadd.f64 d1, d0, d1 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - vstr d11, [sp, #472] @ 0x1d8 │ │ │ │ │ + mov.w r1, #232 @ 0xe8 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ + mul.w r1, r1, fp │ │ │ │ │ + vstr d6, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d6, [lr, #64] @ 0x40 │ │ │ │ │ + vstr d11, [sp, #464] @ 0x1d0 │ │ │ │ │ vmul.f64 d11, d5, d13 │ │ │ │ │ - vstr d6, [sp, #504] @ 0x1f8 │ │ │ │ │ vmul.f64 d13, d7, d13 │ │ │ │ │ - vldr d6, [sl, #64] @ 0x40 │ │ │ │ │ - vstr d8, [sp, #744] @ 0x2e8 │ │ │ │ │ - vstr d1, [sp, #480] @ 0x1e0 │ │ │ │ │ + vstr d1, [sp, #472] @ 0x1d8 │ │ │ │ │ + vstr d2, [sp, #480] @ 0x1e0 │ │ │ │ │ + vstr d9, [sp, #488] @ 0x1e8 │ │ │ │ │ + vstr d10, [sp, #504] @ 0x1f8 │ │ │ │ │ + vstr d8, [sp, #736] @ 0x2e0 │ │ │ │ │ vmla.f64 d11, d7, d6 │ │ │ │ │ - vstr d2, [sp, #488] @ 0x1e8 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ vnmls.f64 d13, d5, d6 │ │ │ │ │ - vstr d9, [sp, #496] @ 0x1f0 │ │ │ │ │ - vstr d10, [sp, #512] @ 0x200 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - add.w r2, r1, lr │ │ │ │ │ - vldr d10, [sl, #328] @ 0x148 │ │ │ │ │ - vldr d6, [sl, #320] @ 0x140 │ │ │ │ │ - str r0, [sp, #224] @ 0xe0 │ │ │ │ │ + strd r0, r5, [sp, #220] @ 0xdc │ │ │ │ │ + add.w r0, r9, r1 │ │ │ │ │ + add r1, sl │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + add.w r5, ip, r8 │ │ │ │ │ + add r8, r2 │ │ │ │ │ + str r0, [sp, #228] @ 0xe4 │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ + str r5, [sp, #236] @ 0xec │ │ │ │ │ + vldr d10, [lr, #328] @ 0x148 │ │ │ │ │ + vldr d6, [lr, #320] @ 0x140 │ │ │ │ │ + vldr d8, [lr, #200] @ 0xc8 │ │ │ │ │ vmul.f64 d9, d5, d10 │ │ │ │ │ + vldr d1, [lr, #456] @ 0x1c8 │ │ │ │ │ vmul.f64 d10, d7, d10 │ │ │ │ │ vmla.f64 d9, d7, d6 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - movs r0, #104 @ 0x68 │ │ │ │ │ - vldr d3, [r2] │ │ │ │ │ - vldr d1, [sl, #456] @ 0x1c8 │ │ │ │ │ + mov.w r0, #104 @ 0x68 │ │ │ │ │ vnmls.f64 d10, d5, d6 │ │ │ │ │ - vldr d6, [sl, #448] @ 0x1c0 │ │ │ │ │ - mul.w r0, r0, r8 │ │ │ │ │ - vldr d8, [sl, #200] @ 0xc8 │ │ │ │ │ vmul.f64 d5, d3, d1 │ │ │ │ │ - str r2, [sp, #228] @ 0xe4 │ │ │ │ │ - add.w r5, ip, r0 │ │ │ │ │ + vldr d6, [lr, #448] @ 0x1c0 │ │ │ │ │ + mul.w r0, r0, fp │ │ │ │ │ + add.w r4, r9, r0 │ │ │ │ │ + add r0, sl │ │ │ │ │ + vldr d0, [r0] │ │ │ │ │ vmla.f64 d5, d7, d6 │ │ │ │ │ - add r0, lr │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [sl, #192] @ 0xc0 │ │ │ │ │ + str r4, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d1, [lr, #192] @ 0xc0 │ │ │ │ │ vsub.f64 d4, d11, d9 │ │ │ │ │ vadd.f64 d9, d11, d9 │ │ │ │ │ - movs r2, #24 │ │ │ │ │ - vldr d0, [r0] │ │ │ │ │ - vnmls.f64 d7, d3, d6 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ vsub.f64 d2, d13, d10 │ │ │ │ │ vadd.f64 d13, d13, d10 │ │ │ │ │ + vnmls.f64 d7, d3, d6 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ vmul.f64 d3, d0, d8 │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ + mov.w r4, #216 @ 0xd8 │ │ │ │ │ + mul.w r4, r4, fp │ │ │ │ │ vmla.f64 d3, d6, d1 │ │ │ │ │ vmul.f64 d6, d6, d8 │ │ │ │ │ - add.w r7, ip, r2 │ │ │ │ │ - add r2, lr │ │ │ │ │ - str r5, [sp, #232] @ 0xe8 │ │ │ │ │ - adds r5, r7, r4 │ │ │ │ │ - adds r4, r2, r4 │ │ │ │ │ - str r4, [sp, #240] @ 0xf0 │ │ │ │ │ vnmls.f64 d6, d0, d1 │ │ │ │ │ - str r5, [sp, #236] @ 0xec │ │ │ │ │ vsub.f64 d1, d5, d3 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ vsub.f64 d0, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d3, d9, d5 │ │ │ │ │ vsub.f64 d6, d7, d13 │ │ │ │ │ vadd.f64 d7, d7, d13 │ │ │ │ │ - vstr d3, [sp, #520] @ 0x208 │ │ │ │ │ + vldr d13, [lr, #40] @ 0x28 │ │ │ │ │ + vstr d3, [sp, #512] @ 0x200 │ │ │ │ │ vsub.f64 d3, d9, d5 │ │ │ │ │ - vldr d13, [sl, #40] @ 0x28 │ │ │ │ │ - vstr d6, [sp, #536] @ 0x218 │ │ │ │ │ + vstr d6, [sp, #528] @ 0x210 │ │ │ │ │ vsub.f64 d6, d0, d1 │ │ │ │ │ - vstr d7, [sp, #544] @ 0x220 │ │ │ │ │ - vadd.f64 d7, d4, d2 │ │ │ │ │ vadd.f64 d1, d0, d1 │ │ │ │ │ + vstr d7, [sp, #536] @ 0x218 │ │ │ │ │ + vadd.f64 d7, d4, d2 │ │ │ │ │ vsub.f64 d4, d4, d2 │ │ │ │ │ - vstr d3, [sp, #528] @ 0x210 │ │ │ │ │ + vstr d3, [sp, #520] @ 0x208 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sl, #32] │ │ │ │ │ + vldr d6, [lr, #32] │ │ │ │ │ vmul.f64 d11, d7, d12 │ │ │ │ │ vsub.f64 d7, d1, d4 │ │ │ │ │ vmul.f64 d10, d5, d12 │ │ │ │ │ vldr d5, [r2] │ │ │ │ │ vadd.f64 d1, d1, d4 │ │ │ │ │ vmul.f64 d2, d7, d12 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - vstr d11, [sp, #560] @ 0x230 │ │ │ │ │ - vmul.f64 d11, d5, d13 │ │ │ │ │ - vstr d10, [sp, #552] @ 0x228 │ │ │ │ │ + vldr d7, [ip] │ │ │ │ │ + vstr d10, [sp, #544] @ 0x220 │ │ │ │ │ vmul.f64 d4, d1, d12 │ │ │ │ │ + vstr d11, [sp, #552] @ 0x228 │ │ │ │ │ + vmul.f64 d11, d5, d13 │ │ │ │ │ + vldr d10, [lr, #296] @ 0x128 │ │ │ │ │ vmul.f64 d13, d7, d13 │ │ │ │ │ + vstr d2, [sp, #560] @ 0x230 │ │ │ │ │ vmla.f64 d11, d7, d6 │ │ │ │ │ - vldr d10, [sl, #296] @ 0x128 │ │ │ │ │ vldr d7, [r5] │ │ │ │ │ - movs r5, #88 @ 0x58 │ │ │ │ │ - vstr d2, [sp, #568] @ 0x238 │ │ │ │ │ + add.w r5, r9, r4 │ │ │ │ │ + add r4, sl │ │ │ │ │ + vstr d4, [sp, #568] @ 0x238 │ │ │ │ │ + str r5, [sp, #744] @ 0x2e8 │ │ │ │ │ vnmls.f64 d13, d5, d6 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - movs r4, #216 @ 0xd8 │ │ │ │ │ - vldr d6, [sl, #288] @ 0x120 │ │ │ │ │ - vstr d4, [sp, #576] @ 0x240 │ │ │ │ │ - mul.w r5, r5, r8 │ │ │ │ │ + vldr d5, [r8] │ │ │ │ │ + vldr d6, [lr, #288] @ 0x120 │ │ │ │ │ vmul.f64 d9, d5, d10 │ │ │ │ │ vmul.f64 d10, d7, d10 │ │ │ │ │ - mul.w r4, r4, r8 │ │ │ │ │ vmla.f64 d9, d7, d6 │ │ │ │ │ - add.w r1, ip, r4 │ │ │ │ │ - add r4, lr │ │ │ │ │ - str r1, [sp, #244] @ 0xf4 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + mov.w r5, #88 @ 0x58 │ │ │ │ │ vnmls.f64 d10, d5, d6 │ │ │ │ │ - vldr d2, [sl, #424] @ 0x1a8 │ │ │ │ │ vldr d4, [r4] │ │ │ │ │ - vldr d5, [sl, #416] @ 0x1a0 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - add.w r1, ip, r5 │ │ │ │ │ - vmul.f64 d3, d4, d2 │ │ │ │ │ - add r5, lr │ │ │ │ │ - vldr d8, [sl, #168] @ 0xa8 │ │ │ │ │ - vsub.f64 d1, d11, d9 │ │ │ │ │ - vmla.f64 d3, d7, d5 │ │ │ │ │ - vmul.f64 d7, d7, d2 │ │ │ │ │ + mul.w r5, r5, fp │ │ │ │ │ + vstr d14, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d8, [lr, #168] @ 0xa8 │ │ │ │ │ + add.w r7, r9, r5 │ │ │ │ │ + add r5, sl │ │ │ │ │ + vldr d2, [lr, #424] @ 0x1a8 │ │ │ │ │ + vldr d5, [lr, #416] @ 0x1a0 │ │ │ │ │ vldr d0, [r5] │ │ │ │ │ - vsub.f64 d6, d13, d10 │ │ │ │ │ + vsub.f64 d1, d11, d9 │ │ │ │ │ vadd.f64 d9, d11, d9 │ │ │ │ │ + vsub.f64 d6, d13, d10 │ │ │ │ │ vadd.f64 d13, d13, d10 │ │ │ │ │ - str r1, [sp, #752] @ 0x2f0 │ │ │ │ │ - vnmls.f64 d7, d4, d5 │ │ │ │ │ - vldr d4, [sl, #160] @ 0xa0 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ + vmul.f64 d3, d4, d2 │ │ │ │ │ + vmla.f64 d3, d7, d5 │ │ │ │ │ + vmul.f64 d7, d7, d2 │ │ │ │ │ vmul.f64 d2, d0, d8 │ │ │ │ │ - ldr r1, [sp, #96] @ 0x60 │ │ │ │ │ - add.w sl, sl, #496 @ 0x1f0 │ │ │ │ │ - vstr d14, [sp, #248] @ 0xf8 │ │ │ │ │ + vnmls.f64 d7, d4, d5 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + vldr d4, [lr, #160] @ 0xa0 │ │ │ │ │ + add.w lr, lr, #496 @ 0x1f0 │ │ │ │ │ vmla.f64 d2, d5, d4 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ - vldr d8, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d8, [sp, #248] @ 0xf8 │ │ │ │ │ vnmls.f64 d5, d0, d4 │ │ │ │ │ vsub.f64 d0, d3, d2 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vadd.f64 d11, d9, d3 │ │ │ │ │ vsub.f64 d9, d9, d3 │ │ │ │ │ vsub.f64 d5, d1, d6 │ │ │ │ │ vadd.f64 d6, d1, d6 │ │ │ │ │ vsub.f64 d10, d7, d13 │ │ │ │ │ vadd.f64 d7, d7, d13 │ │ │ │ │ - vstr d9, [sp, #592] @ 0x250 │ │ │ │ │ - vldr d13, [sp, #464] @ 0x1d0 │ │ │ │ │ - vstr d11, [sp, #584] @ 0x248 │ │ │ │ │ + vldr d13, [sp, #456] @ 0x1c8 │ │ │ │ │ + vstr d11, [sp, #576] @ 0x240 │ │ │ │ │ + vstr d9, [sp, #584] @ 0x248 │ │ │ │ │ + vldr d1, [sp, #576] @ 0x240 │ │ │ │ │ vmov.f64 d9, d7 │ │ │ │ │ vadd.f64 d7, d0, d4 │ │ │ │ │ + vstr d10, [sp, #592] @ 0x250 │ │ │ │ │ vsub.f64 d4, d4, d0 │ │ │ │ │ - vstr d10, [sp, #600] @ 0x258 │ │ │ │ │ - vldr d10, [sp, #368] @ 0x170 │ │ │ │ │ - vldr d1, [sp, #584] @ 0x248 │ │ │ │ │ + vldr d10, [sp, #360] @ 0x168 │ │ │ │ │ + vstr d9, [sp, #600] @ 0x258 │ │ │ │ │ vsub.f64 d3, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vstr d9, [sp, #608] @ 0x260 │ │ │ │ │ vmul.f64 d5, d7, d12 │ │ │ │ │ vsub.f64 d7, d6, d4 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ vmul.f64 d3, d3, d12 │ │ │ │ │ - vldr d4, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d4, [sp, #368] @ 0x170 │ │ │ │ │ vmul.f64 d7, d7, d12 │ │ │ │ │ - vstr d5, [sp, #624] @ 0x270 │ │ │ │ │ vmul.f64 d11, d6, d12 │ │ │ │ │ - vldr d6, [sp, #416] @ 0x1a0 │ │ │ │ │ - vldr d5, [sp, #424] @ 0x1a8 │ │ │ │ │ - vstr d3, [sp, #616] @ 0x268 │ │ │ │ │ - vadd.f64 d6, d6, d13 │ │ │ │ │ - vstr d7, [sp, #632] @ 0x278 │ │ │ │ │ + vldr d6, [sp, #408] @ 0x198 │ │ │ │ │ + vstr d3, [sp, #608] @ 0x260 │ │ │ │ │ + vldr d3, [sp, #472] @ 0x1d8 │ │ │ │ │ + vstr d5, [sp, #616] @ 0x268 │ │ │ │ │ + vldr d5, [sp, #416] @ 0x1a0 │ │ │ │ │ + vstr d7, [sp, #624] @ 0x270 │ │ │ │ │ vadd.f64 d7, d14, d10 │ │ │ │ │ - vldr d3, [sp, #480] @ 0x1e0 │ │ │ │ │ - vldr d10, [sp, #264] @ 0x108 │ │ │ │ │ - vldr d13, [sp, #520] @ 0x208 │ │ │ │ │ + vadd.f64 d6, d6, d13 │ │ │ │ │ + vldr d10, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d13, [sp, #512] @ 0x200 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ vadd.f64 d2, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d8, d4 │ │ │ │ │ vadd.f64 d3, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vadd.f64 d5, d10, d13 │ │ │ │ │ - vldr d13, [sp, #304] @ 0x130 │ │ │ │ │ + vldr d13, [sp, #296] @ 0x128 │ │ │ │ │ vadd.f64 d4, d13, d1 │ │ │ │ │ - vldr d1, [sp, #272] @ 0x110 │ │ │ │ │ + vmov.f64 d1, d9 │ │ │ │ │ + vldr d9, [sp, #536] @ 0x218 │ │ │ │ │ vadd.f64 d0, d5, d4 │ │ │ │ │ vsub.f64 d4, d4, d5 │ │ │ │ │ - vldr d5, [sp, #328] @ 0x148 │ │ │ │ │ - vadd.f64 d5, d5, d9 │ │ │ │ │ - vldr d9, [sp, #544] @ 0x220 │ │ │ │ │ + vldr d5, [sp, #320] @ 0x140 │ │ │ │ │ + vadd.f64 d5, d5, d1 │ │ │ │ │ + vldr d1, [sp, #264] @ 0x108 │ │ │ │ │ vadd.f64 d8, d1, d9 │ │ │ │ │ vsub.f64 d1, d5, d8 │ │ │ │ │ vadd.f64 d5, d5, d8 │ │ │ │ │ vsub.f64 d8, d2, d0 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ - vstr d8, [r1] │ │ │ │ │ + vstr d8, [r6] │ │ │ │ │ vsub.f64 d8, d4, d6 │ │ │ │ │ - ldr r1, [sp, #16] │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vldr d13, [sp, #408] @ 0x198 │ │ │ │ │ - vldr d0, [sp, #496] @ 0x1f0 │ │ │ │ │ - vldr d14, [sp, #704] @ 0x2c0 │ │ │ │ │ - vstr d8, [r1] │ │ │ │ │ - ldr r1, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d8, [pc, #972] @ de8 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ + ldr r6, [sp, #32] │ │ │ │ │ + vstr d8, [r6] │ │ │ │ │ + ldr r6, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d13, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d0, [sp, #488] @ 0x1e8 │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ vsub.f64 d6, d7, d1 │ │ │ │ │ - vstr d2, [ip] │ │ │ │ │ vadd.f64 d7, d7, d1 │ │ │ │ │ - ldr r1, [sp, #0] │ │ │ │ │ - vldr d1, [sp, #392] @ 0x188 │ │ │ │ │ - vstr d6, [fp] │ │ │ │ │ + ldr r6, [sp, #16] │ │ │ │ │ + vstr d2, [r9] │ │ │ │ │ + vldr d1, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d2, [sp, #664] @ 0x298 │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ vsub.f64 d6, d5, d3 │ │ │ │ │ vadd.f64 d3, d3, d5 │ │ │ │ │ - vldr d2, [sp, #672] @ 0x2a0 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ - ldr r1, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d6, [sp, #648] @ 0x288 │ │ │ │ │ - vstr d3, [r1] │ │ │ │ │ - ldr r1, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d3, [sp, #400] @ 0x190 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ + ldr r6, [sp, #0] │ │ │ │ │ + vldr d8, [pc, #972] @ e28 │ │ │ │ │ + vldr d14, [sp, #696] @ 0x2b8 │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ + ldr r6, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d6, [sp, #640] @ 0x280 │ │ │ │ │ + vstr d3, [r6] │ │ │ │ │ + ldr r6, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d3, [sp, #392] @ 0x188 │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ vadd.f64 d7, d1, d13 │ │ │ │ │ - vldr d1, [sp, #440] @ 0x1b8 │ │ │ │ │ + vldr d1, [sp, #432] @ 0x1b0 │ │ │ │ │ + vldr d13, [sp, #552] @ 0x228 │ │ │ │ │ vmul.f64 d7, d7, d12 │ │ │ │ │ vsub.f64 d9, d2, d7 │ │ │ │ │ vadd.f64 d2, d2, d7 │ │ │ │ │ vstr d2, [sp] │ │ │ │ │ - vldr d2, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d2, [sp, #376] @ 0x178 │ │ │ │ │ vsub.f64 d7, d2, d3 │ │ │ │ │ - vldr d2, [pc, #896] @ e00 │ │ │ │ │ - vmul.f64 d5, d1, d2 │ │ │ │ │ - vldr d1, [sp, #512] @ 0x200 │ │ │ │ │ + vldr d2, [pc, #928] @ e40 │ │ │ │ │ vmul.f64 d7, d7, d12 │ │ │ │ │ + vmul.f64 d5, d1, d2 │ │ │ │ │ + vldr d1, [sp, #504] @ 0x1f8 │ │ │ │ │ vadd.f64 d4, d6, d7 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ vmul.f64 d6, d0, d15 │ │ │ │ │ - vldr d0, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d0, [sp, #336] @ 0x150 │ │ │ │ │ vstr d4, [sp, #16] │ │ │ │ │ - vldr d4, [sp, #456] @ 0x1c8 │ │ │ │ │ vnmls.f64 d6, d1, d2 │ │ │ │ │ - vldr d1, [pc, #836] @ df0 │ │ │ │ │ + vldr d4, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d1, [pc, #868] @ e30 │ │ │ │ │ vmla.f64 d5, d4, d15 │ │ │ │ │ vsub.f64 d10, d5, d6 │ │ │ │ │ vadd.f64 d3, d5, d6 │ │ │ │ │ - vldr d6, [sp, #360] @ 0x168 │ │ │ │ │ - vldr d5, [sp, #624] @ 0x270 │ │ │ │ │ + vldr d6, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d5, [sp, #616] @ 0x268 │ │ │ │ │ vadd.f64 d5, d6, d5 │ │ │ │ │ vadd.f64 d6, d0, d11 │ │ │ │ │ - vldr d0, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d0, [sp, #288] @ 0x120 │ │ │ │ │ vmul.f64 d4, d6, d1 │ │ │ │ │ vmul.f64 d6, d6, d8 │ │ │ │ │ - vmla.f64 d6, d5, d1 │ │ │ │ │ vnmls.f64 d4, d5, d8 │ │ │ │ │ - vstr d6, [sp, #88] @ 0x58 │ │ │ │ │ - vstr d4, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d4, [sp, #576] @ 0x240 │ │ │ │ │ - vldr d13, [sp, #560] @ 0x230 │ │ │ │ │ - ldr r1, [sp, #132] @ 0x84 │ │ │ │ │ - vsub.f64 d5, d14, d4 │ │ │ │ │ + vmla.f64 d6, d5, d1 │ │ │ │ │ + vstr d4, [sp, #32] │ │ │ │ │ + vldr d4, [sp, #568] @ 0x238 │ │ │ │ │ + vstr d6, [sp, #80] @ 0x50 │ │ │ │ │ vsub.f64 d6, d0, d13 │ │ │ │ │ - vldr d0, [pc, #784] @ e08 │ │ │ │ │ - vldr d13, [pc, #788] @ e10 │ │ │ │ │ + vldr d0, [pc, #824] @ e48 │ │ │ │ │ + vldr d13, [pc, #828] @ e50 │ │ │ │ │ + vsub.f64 d5, d14, d4 │ │ │ │ │ vmul.f64 d4, d6, d0 │ │ │ │ │ vmul.f64 d6, d6, d13 │ │ │ │ │ vmla.f64 d4, d5, d13 │ │ │ │ │ vnmls.f64 d6, d5, d0 │ │ │ │ │ - vldr d5, [sp, #456] @ 0x1c8 │ │ │ │ │ - vldr d0, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d5, [sp, #448] @ 0x1c0 │ │ │ │ │ + ldr r6, [sp, #132] @ 0x84 │ │ │ │ │ + vldr d0, [sp, #488] @ 0x1e8 │ │ │ │ │ vmul.f64 d5, d5, d2 │ │ │ │ │ vmov.f64 d13, d6 │ │ │ │ │ - vldr d6, [sp, #440] @ 0x1b8 │ │ │ │ │ + vldr d6, [sp, #432] @ 0x1b0 │ │ │ │ │ vnmls.f64 d5, d6, d15 │ │ │ │ │ - vldr d6, [sp, #512] @ 0x200 │ │ │ │ │ + vldr d6, [sp, #504] @ 0x1f8 │ │ │ │ │ vmul.f64 d6, d6, d15 │ │ │ │ │ vmla.f64 d6, d0, d2 │ │ │ │ │ vadd.f64 d0, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d5, [sp, #288] @ 0x120 │ │ │ │ │ vstr d0, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d0, [sp, #576] @ 0x240 │ │ │ │ │ + vldr d0, [sp, #568] @ 0x238 │ │ │ │ │ vadd.f64 d2, d14, d0 │ │ │ │ │ - vldr d0, [sp, #560] @ 0x230 │ │ │ │ │ + vldr d0, [sp, #552] @ 0x228 │ │ │ │ │ vadd.f64 d5, d5, d0 │ │ │ │ │ vmov.f64 d0, d1 │ │ │ │ │ vmul.f64 d1, d5, d1 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ - vmov.f64 d14, d1 │ │ │ │ │ vnmls.f64 d5, d2, d0 │ │ │ │ │ + vmov.f64 d14, d1 │ │ │ │ │ + vldr d1, [pc, #716] @ e50 │ │ │ │ │ vmla.f64 d14, d2, d8 │ │ │ │ │ - vldr d2, [sp, #344] @ 0x158 │ │ │ │ │ - vldr d1, [pc, #672] @ e10 │ │ │ │ │ + vldr d2, [sp, #336] @ 0x150 │ │ │ │ │ vsub.f64 d2, d2, d11 │ │ │ │ │ - vldr d11, [pc, #656] @ e08 │ │ │ │ │ - vstr d5, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d11, [pc, #692] @ e48 │ │ │ │ │ vstr d14, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d5, [sp, #624] @ 0x270 │ │ │ │ │ - vldr d14, [sp, #360] @ 0x168 │ │ │ │ │ + vldr d14, [sp, #352] @ 0x160 │ │ │ │ │ + vstr d5, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d5, [sp, #616] @ 0x268 │ │ │ │ │ vsub.f64 d14, d14, d5 │ │ │ │ │ vmul.f64 d5, d2, d11 │ │ │ │ │ vmul.f64 d2, d2, d1 │ │ │ │ │ vnmls.f64 d5, d14, d1 │ │ │ │ │ - vmla.f64 d2, d14, d11 │ │ │ │ │ vadd.f64 d1, d9, d3 │ │ │ │ │ + vmla.f64 d2, d14, d11 │ │ │ │ │ vsub.f64 d3, d9, d3 │ │ │ │ │ vldr d11, [sp] │ │ │ │ │ vadd.f64 d0, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ - vldr d4, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d4, [sp, #32] │ │ │ │ │ vsub.f64 d8, d1, d0 │ │ │ │ │ vadd.f64 d1, d1, d0 │ │ │ │ │ vadd.f64 d0, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vstr d8, [r1] │ │ │ │ │ - vstr d1, [r7] │ │ │ │ │ + vstr d8, [r6] │ │ │ │ │ + vstr d1, [ip] │ │ │ │ │ vsub.f64 d1, d2, d13 │ │ │ │ │ - ldr r1, [sp, #236] @ 0xec │ │ │ │ │ vsub.f64 d6, d5, d7 │ │ │ │ │ - ldr r7, [sp, #148] @ 0x94 │ │ │ │ │ + ldr r6, [sp, #236] @ 0xec │ │ │ │ │ vadd.f64 d2, d13, d2 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ vsub.f64 d8, d1, d0 │ │ │ │ │ vadd.f64 d1, d1, d0 │ │ │ │ │ vldr d0, [sp, #96] @ 0x60 │ │ │ │ │ - vstr d8, [r1] │ │ │ │ │ + vstr d8, [r6] │ │ │ │ │ vsub.f64 d7, d11, d0 │ │ │ │ │ - ldr r1, [sp, #244] @ 0xf4 │ │ │ │ │ - vstr d1, [r7] │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ + ldr r6, [sp, #148] @ 0x94 │ │ │ │ │ + vstr d1, [r6] │ │ │ │ │ + ldr r6, [sp, #744] @ 0x2e8 │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ vsub.f64 d6, d3, d2 │ │ │ │ │ - ldr r1, [sp, #140] @ 0x8c │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ - vstr d5, [r1] │ │ │ │ │ - ldr r1, [sp, #752] @ 0x2f0 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ - ldr r1, [sp, #124] @ 0x7c │ │ │ │ │ - vstr d3, [r1] │ │ │ │ │ + ldr r6, [sp, #140] @ 0x8c │ │ │ │ │ + vstr d5, [r6] │ │ │ │ │ + ldr r6, [sp, #124] @ 0x7c │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ + vstr d3, [r6] │ │ │ │ │ + ldr r6, [sp, #24] │ │ │ │ │ vldr d3, [sp, #112] @ 0x70 │ │ │ │ │ - ldr r7, [sp, #108] @ 0x6c │ │ │ │ │ - ldr r1, [sp, #64] @ 0x40 │ │ │ │ │ vadd.f64 d6, d4, d3 │ │ │ │ │ - vldr d14, [sp, #368] @ 0x170 │ │ │ │ │ - vldr d9, [sp, #256] @ 0x100 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d5, [r9] │ │ │ │ │ - vstr d7, [r7] │ │ │ │ │ + vstr d5, [r6] │ │ │ │ │ + ldr r6, [sp, #108] @ 0x6c │ │ │ │ │ + vldr d9, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d14, [sp, #360] @ 0x168 │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ vsub.f64 d7, d4, d3 │ │ │ │ │ vldr d4, [sp, #16] │ │ │ │ │ - vldr d3, [sp, #296] @ 0x128 │ │ │ │ │ + ldr r6, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d3, [sp, #288] @ 0x120 │ │ │ │ │ vadd.f64 d6, d4, d10 │ │ │ │ │ vsub.f64 d13, d4, d10 │ │ │ │ │ + vldr d10, [sp, #256] @ 0x100 │ │ │ │ │ vadd.f64 d4, d11, d0 │ │ │ │ │ - vldr d10, [sp, #264] @ 0x108 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d5, [r1] │ │ │ │ │ - ldr r1, [sp, #8] │ │ │ │ │ - vldr d5, [sp, #88] @ 0x58 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ + vstr d5, [r6] │ │ │ │ │ + ldr r6, [sp, #8] │ │ │ │ │ + vldr d5, [sp, #80] @ 0x50 │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ + ldr r6, [sp, #92] @ 0x5c │ │ │ │ │ vsub.f64 d7, d5, d3 │ │ │ │ │ - ldr r1, [sp, #84] @ 0x54 │ │ │ │ │ vsub.f64 d6, d7, d13 │ │ │ │ │ vadd.f64 d7, d7, d13 │ │ │ │ │ - vldr d13, [sp, #584] @ 0x248 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ - ldr r1, [sp, #24] │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ + vldr d13, [sp, #576] @ 0x240 │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ + ldr r6, [sp, #44] @ 0x2c │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ vadd.f64 d7, d5, d3 │ │ │ │ │ - ldr r1, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d5, [sp, #424] @ 0x1a8 │ │ │ │ │ + ldr r6, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d5, [sp, #416] @ 0x1a0 │ │ │ │ │ vsub.f64 d6, d4, d7 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ - vldr d7, [sp, #248] @ 0xf8 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ - vstr d4, [lr] │ │ │ │ │ + vldr d7, [sp, #240] @ 0xf0 │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ + vstr d4, [sl] │ │ │ │ │ vsub.f64 d4, d7, d14 │ │ │ │ │ - vldr d14, [sp, #480] @ 0x1e0 │ │ │ │ │ - vldr d6, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d6, [sp, #408] @ 0x198 │ │ │ │ │ + vldr d14, [sp, #472] @ 0x1d8 │ │ │ │ │ vsub.f64 d7, d14, d5 │ │ │ │ │ - vldr d5, [sp, #464] @ 0x1d0 │ │ │ │ │ - vldr d14, [sp, #520] @ 0x208 │ │ │ │ │ + vldr d5, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d14, [sp, #512] @ 0x200 │ │ │ │ │ vsub.f64 d2, d4, d7 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ vsub.f64 d7, d6, d5 │ │ │ │ │ - vldr d6, [sp, #376] @ 0x178 │ │ │ │ │ - vldr d5, [sp, #544] @ 0x220 │ │ │ │ │ + vldr d6, [sp, #368] @ 0x170 │ │ │ │ │ + vldr d5, [sp, #536] @ 0x218 │ │ │ │ │ vsub.f64 d6, d9, d6 │ │ │ │ │ vadd.f64 d9, d7, d6 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vsub.f64 d7, d10, d14 │ │ │ │ │ - vldr d10, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d10, [sp, #264] @ 0x108 │ │ │ │ │ vsub.f64 d5, d10, d5 │ │ │ │ │ - vldr d10, [sp, #304] @ 0x130 │ │ │ │ │ + vldr d10, [sp, #296] @ 0x128 │ │ │ │ │ vsub.f64 d3, d10, d13 │ │ │ │ │ - vldr d10, [sp, #328] @ 0x148 │ │ │ │ │ - vldr d13, [sp, #608] @ 0x260 │ │ │ │ │ + vldr d10, [sp, #320] @ 0x140 │ │ │ │ │ vadd.f64 d0, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - ldr r1, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d14, [sp, #720] @ 0x2d0 │ │ │ │ │ + vldr d13, [sp, #600] @ 0x258 │ │ │ │ │ vsub.f64 d1, d10, d13 │ │ │ │ │ - vldr d10, [sp, #712] @ 0x2c8 │ │ │ │ │ vsub.f64 d5, d3, d1 │ │ │ │ │ vadd.f64 d3, d3, d1 │ │ │ │ │ vadd.f64 d1, d0, d5 │ │ │ │ │ vsub.f64 d5, d5, d0 │ │ │ │ │ - vldr d0, [sp, #736] @ 0x2e0 │ │ │ │ │ vmul.f64 d1, d1, d12 │ │ │ │ │ vmul.f64 d5, d5, d12 │ │ │ │ │ vsub.f64 d8, d2, d1 │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ vstr d8, [r5] │ │ │ │ │ - vstr d2, [r1] │ │ │ │ │ + ldr r6, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d10, [sp, #704] @ 0x2c0 │ │ │ │ │ + vldr d14, [sp, #712] @ 0x2c8 │ │ │ │ │ + vstr d2, [r6] │ │ │ │ │ vsub.f64 d2, d3, d7 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ - ldr r1, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d8, [sp, #744] @ 0x2e8 │ │ │ │ │ + ldr r6, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d0, [sp, #728] @ 0x2d8 │ │ │ │ │ + vldr d8, [sp, #736] @ 0x2e0 │ │ │ │ │ vmul.f64 d2, d2, d12 │ │ │ │ │ vmul.f64 d7, d7, d12 │ │ │ │ │ vsub.f64 d1, d2, d6 │ │ │ │ │ vadd.f64 d6, d6, d2 │ │ │ │ │ - vldr d2, [pc, #160] @ e00 │ │ │ │ │ - vstr d1, [r1] │ │ │ │ │ + vldr d2, [pc, #196] @ e40 │ │ │ │ │ + vstr d1, [r6] │ │ │ │ │ vstr d6, [r4] │ │ │ │ │ vsub.f64 d6, d4, d7 │ │ │ │ │ - ldr r1, [sp, #128] @ 0x80 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ + ldr r6, [sp, #128] @ 0x80 │ │ │ │ │ vsub.f64 d7, d5, d9 │ │ │ │ │ vadd.f64 d9, d9, d5 │ │ │ │ │ - vldr d5, [sp, #472] @ 0x1d8 │ │ │ │ │ - ldr r4, [sp, #240] @ 0xf0 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ - ldr r1, [sp, #144] @ 0x90 │ │ │ │ │ - vsub.f64 d5, d8, d5 │ │ │ │ │ + vldr d5, [sp, #464] @ 0x1d0 │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ + ldr r6, [sp, #144] @ 0x90 │ │ │ │ │ vstr d4, [r2] │ │ │ │ │ - vldr d4, [sp, #600] @ 0x258 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ - vldr d7, [sp, #640] @ 0x280 │ │ │ │ │ - vstr d9, [r4] │ │ │ │ │ - vldr d9, [sp, #680] @ 0x2a8 │ │ │ │ │ + vsub.f64 d5, d8, d5 │ │ │ │ │ + vldr d4, [sp, #592] @ 0x250 │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ + vldr d7, [sp, #632] @ 0x278 │ │ │ │ │ + vstr d9, [r8] │ │ │ │ │ + vldr d9, [sp, #672] @ 0x2a0 │ │ │ │ │ vsub.f64 d1, d7, d14 │ │ │ │ │ vadd.f64 d13, d7, d14 │ │ │ │ │ - vldr d14, [sp, #728] @ 0x2d8 │ │ │ │ │ + vldr d14, [sp, #720] @ 0x2d0 │ │ │ │ │ vadd.f64 d11, d9, d10 │ │ │ │ │ vsub.f64 d3, d9, d10 │ │ │ │ │ - vldr d9, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d9, [sp, #312] @ 0x138 │ │ │ │ │ vadd.f64 d6, d14, d0 │ │ │ │ │ vadd.f64 d7, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vmul.f64 d10, d6, d12 │ │ │ │ │ - vldr d6, [sp, #592] @ 0x250 │ │ │ │ │ + vldr d6, [sp, #584] @ 0x248 │ │ │ │ │ vmul.f64 d7, d7, d12 │ │ │ │ │ vadd.f64 d6, d9, d6 │ │ │ │ │ - vldr d9, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d9, [sp, #304] @ 0x130 │ │ │ │ │ vadd.f64 d5, d9, d4 │ │ │ │ │ vmul.f64 d4, d5, d15 │ │ │ │ │ - b.n e18 │ │ │ │ │ - nop │ │ │ │ │ + vmla.f64 d4, d6, d2 │ │ │ │ │ + vmul.f64 d6, d6, d15 │ │ │ │ │ + vnmls.f64 d6, d5, d2 │ │ │ │ │ + vldr d5, [sp, #464] @ 0x1d0 │ │ │ │ │ + vstr d4, [sp, #8] │ │ │ │ │ + vadd.f64 d4, d8, d5 │ │ │ │ │ + vldr d8, [sp, #688] @ 0x2b0 │ │ │ │ │ + vstr d6, [sp, #16] │ │ │ │ │ + vsub.f64 d6, d14, d0 │ │ │ │ │ + vldr d14, [sp, #520] @ 0x208 │ │ │ │ │ + b.n e58 │ │ │ │ │ .word 0x3c69a60b │ │ │ │ │ .word 0x3fc8f8b8 │ │ │ │ │ .word 0xcff75cb0 │ │ │ │ │ .word 0x3fef6297 │ │ │ │ │ .word 0x3c69a60b │ │ │ │ │ .word 0x3fc8f8b8 │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ .word 0x39ae68c8 │ │ │ │ │ .word 0x3fe1c73b │ │ │ │ │ .word 0x290ea1a3 │ │ │ │ │ .word 0x3fea9b66 │ │ │ │ │ - vmla.f64 d4, d6, d2 │ │ │ │ │ - vmul.f64 d6, d6, d15 │ │ │ │ │ - vnmls.f64 d6, d5, d2 │ │ │ │ │ - vldr d5, [sp, #472] @ 0x1d8 │ │ │ │ │ - vstr d4, [sp, #8] │ │ │ │ │ - vadd.f64 d4, d8, d5 │ │ │ │ │ - vldr d8, [sp, #696] @ 0x2b8 │ │ │ │ │ - vstr d6, [sp, #16] │ │ │ │ │ - vsub.f64 d6, d14, d0 │ │ │ │ │ - vldr d14, [sp, #528] @ 0x210 │ │ │ │ │ - vldr d0, [sp, #688] @ 0x2b0 │ │ │ │ │ - ldr r1, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d0, [sp, #680] @ 0x2a8 │ │ │ │ │ vadd.f64 d9, d6, d4 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vsub.f64 d6, d8, d14 │ │ │ │ │ - vldr d14, [sp, #536] @ 0x218 │ │ │ │ │ - ldr r4, [sp, #168] @ 0xa8 │ │ │ │ │ - ldr r2, [sp, #228] @ 0xe4 │ │ │ │ │ - vsub.f64 d5, d0, d14 │ │ │ │ │ + vldr d14, [sp, #528] @ 0x210 │ │ │ │ │ vmul.f64 d4, d4, d12 │ │ │ │ │ vmul.f64 d9, d9, d12 │ │ │ │ │ - ldr r7, [sp, #32] │ │ │ │ │ + vsub.f64 d5, d0, d14 │ │ │ │ │ vmul.f64 d14, d5, d15 │ │ │ │ │ vmla.f64 d14, d6, d2 │ │ │ │ │ vmul.f64 d6, d6, d15 │ │ │ │ │ vnmls.f64 d6, d5, d2 │ │ │ │ │ vmov.f64 d5, d0 │ │ │ │ │ - vldr d0, [sp, #536] @ 0x218 │ │ │ │ │ + vldr d0, [sp, #528] @ 0x210 │ │ │ │ │ vstr d6, [sp] │ │ │ │ │ vadd.f64 d6, d5, d0 │ │ │ │ │ - vldr d0, [sp, #528] @ 0x210 │ │ │ │ │ - vadd.f64 d5, d8, d0 │ │ │ │ │ + vmov.f64 d5, d8 │ │ │ │ │ + vldr d0, [sp, #520] @ 0x208 │ │ │ │ │ + ldr r5, [sp, #52] @ 0x34 │ │ │ │ │ + vldr d8, [sp, #592] @ 0x250 │ │ │ │ │ + vadd.f64 d5, d5, d0 │ │ │ │ │ vmov.f64 d0, d2 │ │ │ │ │ - vldr d8, [sp, #600] @ 0x258 │ │ │ │ │ + ldr r6, [sp, #152] @ 0x98 │ │ │ │ │ vmul.f64 d2, d5, d2 │ │ │ │ │ vnmls.f64 d2, d6, d15 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ vstr d2, [sp, #24] │ │ │ │ │ vmov.f64 d2, d6 │ │ │ │ │ + vldr d6, [sp, #584] @ 0x248 │ │ │ │ │ vmla.f64 d2, d5, d15 │ │ │ │ │ - vldr d5, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d6, [sp, #592] @ 0x250 │ │ │ │ │ + vldr d5, [sp, #304] @ 0x130 │ │ │ │ │ vsub.f64 d5, d5, d8 │ │ │ │ │ - vldr d8, [sp, #320] @ 0x140 │ │ │ │ │ - vstr d2, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d8, [sp, #312] @ 0x138 │ │ │ │ │ + vstr d2, [sp, #32] │ │ │ │ │ vsub.f64 d2, d8, d6 │ │ │ │ │ vmul.f64 d6, d2, d0 │ │ │ │ │ vnmls.f64 d6, d5, d15 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ vmla.f64 d5, d2, d15 │ │ │ │ │ vadd.f64 d2, d1, d7 │ │ │ │ │ vsub.f64 d7, d1, d7 │ │ │ │ │ - vldr d1, [pc, #-220] @ e08 │ │ │ │ │ + vldr d1, [pc, #-180] @ e48 │ │ │ │ │ vadd.f64 d0, d14, d6 │ │ │ │ │ vsub.f64 d6, d6, d14 │ │ │ │ │ vldr d14, [sp, #24] │ │ │ │ │ vsub.f64 d8, d2, d0 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ vadd.f64 d0, d3, d4 │ │ │ │ │ vsub.f64 d3, d3, d4 │ │ │ │ │ vstr d8, [r0] │ │ │ │ │ - vstr d2, [r1] │ │ │ │ │ + vstr d2, [r6] │ │ │ │ │ vsub.f64 d4, d6, d3 │ │ │ │ │ - vldr d2, [sp] │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ - ldr r1, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d2, [sp] │ │ │ │ │ + vldr d3, [sp, #16] │ │ │ │ │ + ldr r6, [sp, #168] @ 0xa8 │ │ │ │ │ vsub.f64 d2, d5, d2 │ │ │ │ │ vsub.f64 d8, d2, d0 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ - vldr d0, [pc, #-308] @ df0 │ │ │ │ │ - vstr d8, [r4] │ │ │ │ │ - ldr r4, [sp, #220] @ 0xdc │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ + vldr d0, [pc, #-272] @ e30 │ │ │ │ │ + vstr d8, [r6] │ │ │ │ │ + ldr r6, [sp, #224] @ 0xe0 │ │ │ │ │ + vstr d2, [r1] │ │ │ │ │ + vldr d2, [sp, #32] │ │ │ │ │ + ldr r1, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d8, [pc, #-284] @ e38 │ │ │ │ │ vstr d4, [r1] │ │ │ │ │ - ldr r1, [sp, #176] @ 0xb0 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ vldr d6, [sp] │ │ │ │ │ vldr d4, [sp, #8] │ │ │ │ │ - ldr r4, [sp, #200] @ 0xc8 │ │ │ │ │ + ldr r1, [sp, #176] @ 0xb0 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vldr d8, [pc, #-340] @ df8 │ │ │ │ │ + ldr r6, [sp, #200] @ 0xc8 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d4, d14 │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vadd.f64 d7, d13, d9 │ │ │ │ │ + ldr r1, [sp, #184] @ 0xb8 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d11, d10 │ │ │ │ │ vsub.f64 d11, d11, d10 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ - vstr d7, [r7] │ │ │ │ │ - vldr d3, [sp, #16] │ │ │ │ │ - vldr d2, [sp, #64] @ 0x40 │ │ │ │ │ - ldr r1, [sp, #184] @ 0xb8 │ │ │ │ │ - ldr r5, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d5, [r6] │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ vsub.f64 d7, d3, d2 │ │ │ │ │ - ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ - ldr r7, [sp, #80] @ 0x50 │ │ │ │ │ - ldr r4, [sp, #208] @ 0xd0 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ + ldr r3, [sp, #68] @ 0x44 │ │ │ │ │ + ldr r0, [sp, #60] @ 0x3c │ │ │ │ │ + ldr r1, [sp, #192] @ 0xc0 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d4, d14 │ │ │ │ │ - ldr r5, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d14, [sp, #552] @ 0x228 │ │ │ │ │ + ldr r3, [sp, #76] @ 0x4c │ │ │ │ │ + vldr d14, [sp, #544] @ 0x220 │ │ │ │ │ vsub.f64 d6, d7, d11 │ │ │ │ │ vadd.f64 d7, d7, d11 │ │ │ │ │ - vstr d6, [r5] │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ vadd.f64 d6, d3, d2 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ vsub.f64 d7, d13, d9 │ │ │ │ │ - vldr d9, [sp, #400] @ 0x190 │ │ │ │ │ - vldr d2, [pc, #-460] @ e00 │ │ │ │ │ - vldr d3, [sp, #488] @ 0x1e8 │ │ │ │ │ + ldr r1, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d9, [sp, #392] @ 0x188 │ │ │ │ │ + vldr d2, [pc, #-420] @ e40 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #656] @ 0x290 │ │ │ │ │ - vstr d5, [r7] │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ - vldr d7, [sp, #384] @ 0x180 │ │ │ │ │ - vldr d5, [sp, #664] @ 0x298 │ │ │ │ │ + vldr d3, [sp, #480] @ 0x1e0 │ │ │ │ │ + vldr d6, [sp, #648] @ 0x288 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ + vldr d7, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d5, [sp, #656] @ 0x290 │ │ │ │ │ vadd.f64 d7, d7, d9 │ │ │ │ │ - vldr d9, [sp, #408] @ 0x198 │ │ │ │ │ + vldr d9, [sp, #400] @ 0x190 │ │ │ │ │ vmul.f64 d7, d7, d12 │ │ │ │ │ vsub.f64 d10, d5, d7 │ │ │ │ │ vadd.f64 d13, d5, d7 │ │ │ │ │ - vldr d7, [sp, #392] @ 0x188 │ │ │ │ │ - vldr d5, [sp, #504] @ 0x1f8 │ │ │ │ │ + vldr d7, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d5, [sp, #496] @ 0x1f0 │ │ │ │ │ vsub.f64 d7, d9, d7 │ │ │ │ │ - vldr d9, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d9, [sp, #440] @ 0x1b8 │ │ │ │ │ vmul.f64 d5, d5, d2 │ │ │ │ │ - vmla.f64 d5, d3, d15 │ │ │ │ │ - vldr d3, [sp, #336] @ 0x150 │ │ │ │ │ vmul.f64 d7, d7, d12 │ │ │ │ │ + vmla.f64 d5, d3, d15 │ │ │ │ │ + vldr d3, [sp, #328] @ 0x148 │ │ │ │ │ vadd.f64 d11, d6, d7 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ vmul.f64 d6, d9, d15 │ │ │ │ │ - vldr d9, [sp, #432] @ 0x1b0 │ │ │ │ │ + vldr d9, [sp, #424] @ 0x1a8 │ │ │ │ │ vnmls.f64 d6, d9, d2 │ │ │ │ │ vadd.f64 d4, d6, d5 │ │ │ │ │ vsub.f64 d9, d5, d6 │ │ │ │ │ - vldr d6, [sp, #632] @ 0x278 │ │ │ │ │ - vldr d5, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d5, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d6, [sp, #624] @ 0x270 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ - vldr d6, [sp, #616] @ 0x268 │ │ │ │ │ + vldr d6, [sp, #608] @ 0x260 │ │ │ │ │ vadd.f64 d6, d3, d6 │ │ │ │ │ vmul.f64 d3, d6, d8 │ │ │ │ │ vnmls.f64 d3, d5, d0 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ vmla.f64 d5, d6, d0 │ │ │ │ │ - vldr d6, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d6, [sp, #272] @ 0x110 │ │ │ │ │ vstr d3, [sp, #16] │ │ │ │ │ vstr d5, [sp, #24] │ │ │ │ │ vsub.f64 d5, d6, d14 │ │ │ │ │ - vldr d6, [sp, #288] @ 0x120 │ │ │ │ │ - vldr d14, [sp, #568] @ 0x238 │ │ │ │ │ - ldr r1, [sp, #232] @ 0xe8 │ │ │ │ │ - ldr r3, [sp, #156] @ 0x9c │ │ │ │ │ + vldr d6, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d14, [sp, #560] @ 0x230 │ │ │ │ │ vsub.f64 d6, d6, d14 │ │ │ │ │ - vldr d14, [pc, #-628] @ e10 │ │ │ │ │ - ldr r7, [sp, #172] @ 0xac │ │ │ │ │ - ldr r4, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d14, [pc, #-584] @ e50 │ │ │ │ │ vmul.f64 d3, d6, d1 │ │ │ │ │ vnmls.f64 d3, d5, d14 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - vldr d1, [sp, #432] @ 0x1b0 │ │ │ │ │ vmla.f64 d5, d6, d14 │ │ │ │ │ - vldr d14, [sp, #288] @ 0x120 │ │ │ │ │ - vmul.f64 d6, d1, d15 │ │ │ │ │ - vldr d1, [sp, #448] @ 0x1c0 │ │ │ │ │ - vmla.f64 d6, d1, d2 │ │ │ │ │ - vldr d1, [sp, #488] @ 0x1e8 │ │ │ │ │ vstr d3, [sp] │ │ │ │ │ vstr d5, [sp, #8] │ │ │ │ │ + vldr d1, [sp, #424] @ 0x1a8 │ │ │ │ │ + ldr r5, [sp, #156] @ 0x9c │ │ │ │ │ + vldr d14, [sp, #280] @ 0x118 │ │ │ │ │ + vmul.f64 d6, d1, d15 │ │ │ │ │ + ldr r3, [sp, #172] @ 0xac │ │ │ │ │ + vldr d1, [sp, #440] @ 0x1b8 │ │ │ │ │ + ldrd r6, r1, [sp, #228] @ 0xe4 │ │ │ │ │ + vmla.f64 d6, d1, d2 │ │ │ │ │ + vldr d1, [sp, #480] @ 0x1e0 │ │ │ │ │ vmul.f64 d5, d1, d2 │ │ │ │ │ - vldr d1, [sp, #504] @ 0x1f8 │ │ │ │ │ - vldr d2, [sp, #568] @ 0x238 │ │ │ │ │ + vldr d1, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d2, [sp, #560] @ 0x230 │ │ │ │ │ vnmls.f64 d5, d1, d15 │ │ │ │ │ vadd.f64 d14, d14, d2 │ │ │ │ │ - vldr d2, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d2, [sp, #272] @ 0x110 │ │ │ │ │ vadd.f64 d1, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [sp, #552] @ 0x228 │ │ │ │ │ + vldr d5, [sp, #544] @ 0x220 │ │ │ │ │ vadd.f64 d3, d2, d5 │ │ │ │ │ - vldr d5, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d5, [sp, #344] @ 0x158 │ │ │ │ │ vmul.f64 d2, d3, d0 │ │ │ │ │ vmla.f64 d2, d14, d8 │ │ │ │ │ vmul.f64 d14, d14, d0 │ │ │ │ │ - vldr d0, [sp, #616] @ 0x268 │ │ │ │ │ + vldr d0, [sp, #608] @ 0x260 │ │ │ │ │ vnmls.f64 d14, d3, d8 │ │ │ │ │ - vldr d8, [sp, #336] @ 0x150 │ │ │ │ │ - vsub.f64 d3, d8, d0 │ │ │ │ │ - vldr d8, [sp, #632] @ 0x278 │ │ │ │ │ + vldr d8, [sp, #328] @ 0x148 │ │ │ │ │ vstr d2, [sp, #32] │ │ │ │ │ - vldr d0, [pc, #-772] @ e08 │ │ │ │ │ + vsub.f64 d3, d8, d0 │ │ │ │ │ + vldr d8, [sp, #624] @ 0x270 │ │ │ │ │ + vldr d0, [pc, #-732] @ e48 │ │ │ │ │ vsub.f64 d2, d5, d8 │ │ │ │ │ - vldr d8, [pc, #-772] @ e10 │ │ │ │ │ + vldr d8, [pc, #-732] @ e50 │ │ │ │ │ vmul.f64 d5, d2, d8 │ │ │ │ │ vmla.f64 d5, d3, d0 │ │ │ │ │ vmul.f64 d3, d3, d8 │ │ │ │ │ vnmls.f64 d3, d2, d0 │ │ │ │ │ vldr d0, [sp] │ │ │ │ │ vadd.f64 d2, d10, d4 │ │ │ │ │ vsub.f64 d4, d10, d4 │ │ │ │ │ vadd.f64 d0, d0, d5 │ │ │ │ │ vsub.f64 d8, d2, d0 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ vadd.f64 d0, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vstr d8, [r1] │ │ │ │ │ - vstr d2, [r3] │ │ │ │ │ + vstr d2, [r5] │ │ │ │ │ vldr d2, [sp, #8] │ │ │ │ │ - ldr r3, [sp, #164] @ 0xa4 │ │ │ │ │ + ldr r5, [sp, #164] @ 0xa4 │ │ │ │ │ + ldr r1, [sp, #220] @ 0xdc │ │ │ │ │ vsub.f64 d2, d3, d2 │ │ │ │ │ vsub.f64 d8, d2, d0 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ vldr d0, [sp] │ │ │ │ │ vsub.f64 d5, d5, d0 │ │ │ │ │ - vstr d8, [r4] │ │ │ │ │ - vstr d2, [r7] │ │ │ │ │ - ldr r7, [sp, #216] @ 0xd8 │ │ │ │ │ + vstr d8, [r6] │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + vldr d2, [sp, #8] │ │ │ │ │ + ldr r3, [sp, #180] @ 0xb4 │ │ │ │ │ vsub.f64 d6, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ vadd.f64 d7, d13, d1 │ │ │ │ │ vsub.f64 d13, d13, d1 │ │ │ │ │ - vstr d6, [r7] │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - vldr d2, [sp, #8] │ │ │ │ │ - ldr r3, [sp, #180] @ 0xb4 │ │ │ │ │ - ldr r1, [sp, #204] @ 0xcc │ │ │ │ │ vadd.f64 d3, d2, d3 │ │ │ │ │ - vldr d2, [sp, #32] │ │ │ │ │ - ldr r0, [sp, #52] @ 0x34 │ │ │ │ │ - ldr r2, [sp, #44] @ 0x2c │ │ │ │ │ - ldr r5, [sp, #212] @ 0xd4 │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ + ldr r1, [sp, #216] @ 0xd8 │ │ │ │ │ vsub.f64 d6, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ - vldr d3, [sp, #24] │ │ │ │ │ + vstr d5, [r5] │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ - vstr d4, [r6] │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ vldr d4, [sp, #16] │ │ │ │ │ - ldr r6, [sp, #40] @ 0x28 │ │ │ │ │ - ldr r3, [sp, #196] @ 0xc4 │ │ │ │ │ + vldr d3, [sp, #24] │ │ │ │ │ + vldr d2, [sp, #32] │ │ │ │ │ + ldr r4, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r7, [sp, #56] @ 0x38 │ │ │ │ │ vadd.f64 d6, d4, d2 │ │ │ │ │ + ldr r5, [sp, #204] @ 0xcc │ │ │ │ │ + ldr r0, [sp, #188] @ 0xbc │ │ │ │ │ + ldr r3, [sp, #864] @ 0x360 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ + ldr r2, [sp, #72] @ 0x48 │ │ │ │ │ vadd.f64 d6, d11, d9 │ │ │ │ │ vsub.f64 d11, d11, d9 │ │ │ │ │ - vstr d5, [r1] │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + str r3, [sp, #864] @ 0x360 │ │ │ │ │ + vstr d5, [r5] │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ vsub.f64 d7, d3, d14 │ │ │ │ │ vadd.f64 d14, d3, d14 │ │ │ │ │ - ldr r6, [sp, #60] @ 0x3c │ │ │ │ │ + ldr r4, [sp, #64] @ 0x40 │ │ │ │ │ + ldr r3, [sp, #748] @ 0x2ec │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ - ldr r0, [sp, #188] @ 0xbc │ │ │ │ │ + add r9, r3 │ │ │ │ │ + ldr r3, [sp, #752] @ 0x2f0 │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ vstr d7, [r0] │ │ │ │ │ vsub.f64 d7, d4, d2 │ │ │ │ │ + add sl, r3 │ │ │ │ │ + ldr r0, [sp, #196] @ 0xc4 │ │ │ │ │ + ldr r4, [sp, #212] @ 0xd4 │ │ │ │ │ + ldr r3, [sp, #756] @ 0x2f4 │ │ │ │ │ vsub.f64 d6, d7, d11 │ │ │ │ │ vadd.f64 d7, d7, d11 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ + eor.w fp, fp, r3 │ │ │ │ │ + ldr r3, [sp, #868] @ 0x364 │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ vsub.f64 d6, d13, d14 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ vadd.f64 d13, d13, d14 │ │ │ │ │ - ldr r3, [sp, #872] @ 0x368 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #872] @ 0x368 │ │ │ │ │ - ldr r3, [sp, #756] @ 0x2f4 │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ - add ip, r3 │ │ │ │ │ - ldr r3, [sp, #760] @ 0x2f8 │ │ │ │ │ - vstr d13, [r5] │ │ │ │ │ - add lr, r3 │ │ │ │ │ - ldr r3, [sp, #764] @ 0x2fc │ │ │ │ │ - eor.w r8, r8, r3 │ │ │ │ │ - ldrd r2, r3, [sp, #872] @ 0x368 │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + ldr r2, [sp, #864] @ 0x360 │ │ │ │ │ + vstr d13, [r4] │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 68 │ │ │ │ │ - add.w sp, sp, #772 @ 0x304 │ │ │ │ │ + bne.w 80 │ │ │ │ │ + add.w sp, sp, #764 @ 0x2fc │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -00001240 : │ │ │ │ │ +00001270 : │ │ │ │ │ fftw_codelet_hf_32(): │ │ │ │ │ - ldr r2, [pc, #8] @ (124c ) │ │ │ │ │ - ldr r1, [pc, #12] @ (1250 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (127c ) │ │ │ │ │ + ldr r1, [pc, #12] @ (1280 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2hc_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── hf_4.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1248 (bytes into file) │ │ │ │ │ + Start of section headers: 1284 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x4e0: │ │ │ │ │ +There are 14 section headers, starting at offset 0x504: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000254 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000438 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000288 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000288 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000288 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 00028d 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 000295 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000450 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 0002c5 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0002c5 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 0002f8 0000f0 10 12 12 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 0003e8 00004e 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000468 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000278 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 00045c 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0002ac 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0002ac 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0002ac 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 0002b1 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0002b9 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000474 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 0002e9 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0002e9 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 00031c 0000f0 10 12 12 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 00040c 00004e 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 00048c 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,18 +1,18 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 15 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 574 FUNC LOCAL DEFAULT 1 hf_4 │ │ │ │ │ + 1: 00000001 610 FUNC LOCAL DEFAULT 1 hf_4 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 0000024c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000270 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 4: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 8: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 9: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 10: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 11: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 12: 00000241 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_4 │ │ │ │ │ + 12: 00000265 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_4 │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2hc_register │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x438 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x45c contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -0000024c 00000903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000250 00000103 R_ARM_REL32 00000001 hf_4 │ │ │ │ │ -00000248 00000d1e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ +00000270 00000903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000274 00000103 R_ARM_REL32 00000001 hf_4 │ │ │ │ │ +0000026c 00000d1e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x450 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x474 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000402 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000602 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00000e02 R_ARM_ABS32 00000000 fftw_rdft_hf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,51 +1,55 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hf_4(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov.w ip, #48 @ 0x30 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d10} │ │ │ │ │ sub sp, #12 │ │ │ │ │ ldrd r4, r6, [sp, #72] @ 0x48 │ │ │ │ │ ldr r5, [sp, #80] @ 0x50 │ │ │ │ │ - subs r7, r4, #1 │ │ │ │ │ + add.w r7, r4, #4294967295 @ 0xffffffff │ │ │ │ │ cmp r4, r6 │ │ │ │ │ - mla r2, ip, r7, r2 │ │ │ │ │ - bge.w 126 │ │ │ │ │ + add.w r7, r7, r7, lsl #1 │ │ │ │ │ + add.w r2, r2, r7, lsl #4 │ │ │ │ │ + bge.w 13e │ │ │ │ │ mov.w lr, r3, lsl #3 │ │ │ │ │ cmp r5, #1 │ │ │ │ │ mov.w ip, r3, lsl #4 │ │ │ │ │ itt eq │ │ │ │ │ addeq.w r3, r2, #48 @ 0x30 │ │ │ │ │ rsbeq r2, lr, #0 │ │ │ │ │ - bne.n 130 │ │ │ │ │ + bne.w 15a │ │ │ │ │ add.w r5, r0, ip │ │ │ │ │ - add.w r7, r1, ip │ │ │ │ │ vldr d5, [r3, #-32] @ 0xffffffe0 │ │ │ │ │ + add.w r7, r1, ip │ │ │ │ │ add.w r8, r5, r2 │ │ │ │ │ - vldr d4, [r3, #-24] @ 0xffffffe8 │ │ │ │ │ add.w r9, r7, r2 │ │ │ │ │ vldr d3, [r5] │ │ │ │ │ add.w sl, r8, ip │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + cmp r6, r4 │ │ │ │ │ + add.w r3, r3, #48 @ 0x30 │ │ │ │ │ + vldr d4, [r3, #-72] @ 0xffffffb8 │ │ │ │ │ vldr d6, [r7] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - vldr d8, [r8] │ │ │ │ │ - adds r3, #48 @ 0x30 │ │ │ │ │ vmul.f64 d0, d5, d3 │ │ │ │ │ + vldr d8, [r8] │ │ │ │ │ + vldr d9, [r3, #-64] @ 0xffffffc0 │ │ │ │ │ vldr d10, [sl] │ │ │ │ │ + add.w sl, r9, ip │ │ │ │ │ vmla.f64 d0, d4, d6 │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ vldr d3, [r3, #-88] @ 0xffffffa8 │ │ │ │ │ - add.w sl, r9, ip │ │ │ │ │ - vldr d9, [r3, #-64] @ 0xffffffc0 │ │ │ │ │ - cmp r6, r4 │ │ │ │ │ vldr d2, [r0] │ │ │ │ │ vnmls.f64 d4, d5, d6 │ │ │ │ │ vldr d5, [r3, #-96] @ 0xffffffa0 │ │ │ │ │ vldr d6, [r9] │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ vmul.f64 d1, d5, d8 │ │ │ │ │ vmla.f64 d1, d3, d6 │ │ │ │ │ @@ -58,65 +62,70 @@ │ │ │ │ │ vmul.f64 d5, d5, d10 │ │ │ │ │ vnmls.f64 d5, d9, d8 │ │ │ │ │ vadd.f64 d9, d0, d2 │ │ │ │ │ vsub.f64 d2, d2, d0 │ │ │ │ │ vadd.f64 d8, d6, d1 │ │ │ │ │ vsub.f64 d6, d6, d1 │ │ │ │ │ vsub.f64 d0, d3, d5 │ │ │ │ │ - vsub.f64 d10, d9, d8 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ - vadd.f64 d8, d8, d9 │ │ │ │ │ + vsub.f64 d10, d9, d8 │ │ │ │ │ vadd.f64 d3, d4, d7 │ │ │ │ │ + vadd.f64 d8, d8, d9 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ vstr d10, [r9] │ │ │ │ │ mov r9, r1 │ │ │ │ │ + sub.w r1, r1, #8 │ │ │ │ │ vstmia r0!, {d8} │ │ │ │ │ vsub.f64 d8, d2, d0 │ │ │ │ │ vadd.f64 d0, d0, d2 │ │ │ │ │ vsub.f64 d2, d5, d3 │ │ │ │ │ vadd.f64 d3, d3, d5 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - sub.w r1, r1, #8 │ │ │ │ │ vstr d8, [r9] │ │ │ │ │ vstr d0, [r8] │ │ │ │ │ vstr d2, [r5] │ │ │ │ │ add r5, lr │ │ │ │ │ vstr d3, [sl] │ │ │ │ │ vstr d5, [r5] │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ - bne.n 36 │ │ │ │ │ + bne.n 4a │ │ │ │ │ add sp, #12 │ │ │ │ │ vpop {d8-d10} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ mov.w fp, r5, lsl #3 │ │ │ │ │ rsb r3, fp, #0 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ add.w r3, r2, #48 @ 0x30 │ │ │ │ │ rsb r2, lr, #0 │ │ │ │ │ add.w r7, r1, ip │ │ │ │ │ add.w r5, r0, ip │ │ │ │ │ - vldr d4, [r3, #-24] @ 0xffffffe8 │ │ │ │ │ + vldr d8, [r3, #-40] @ 0xffffffd8 │ │ │ │ │ add.w r9, r7, r2 │ │ │ │ │ - vldr d7, [r3, #-32] @ 0xffffffe0 │ │ │ │ │ add.w r8, r5, r2 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ + vldr d4, [r3, #-24] @ 0xffffffe8 │ │ │ │ │ add.w sl, r8, ip │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ - vldr d8, [r3, #-40] @ 0xffffffd8 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ cmp r6, r4 │ │ │ │ │ + add.w r3, r3, #48 @ 0x30 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + vldr d7, [r3, #-80] @ 0xffffffb0 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ vmul.f64 d0, d6, d4 │ │ │ │ │ - vldr d10, [r3, #-8] │ │ │ │ │ + vldr d10, [r3, #-56] @ 0xffffffc8 │ │ │ │ │ + vldr d3, [r0] │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ vmla.f64 d0, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d4 │ │ │ │ │ vldr d4, [r9] │ │ │ │ │ - add.w r3, r3, #48 @ 0x30 │ │ │ │ │ - vldr d3, [r0] │ │ │ │ │ - vldr d2, [r1] │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ vldr d7, [r3, #-96] @ 0xffffffa0 │ │ │ │ │ vldr d6, [r8] │ │ │ │ │ vmul.f64 d1, d4, d8 │ │ │ │ │ vmla.f64 d1, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d8 │ │ │ │ │ vldr d8, [r3, #-64] @ 0xffffffc0 │ │ │ │ │ @@ -129,17 +138,17 @@ │ │ │ │ │ vmul.f64 d4, d4, d10 │ │ │ │ │ vnmls.f64 d4, d9, d8 │ │ │ │ │ vadd.f64 d8, d3, d0 │ │ │ │ │ vsub.f64 d3, d3, d0 │ │ │ │ │ vadd.f64 d9, d1, d7 │ │ │ │ │ vsub.f64 d7, d7, d1 │ │ │ │ │ vsub.f64 d0, d6, d4 │ │ │ │ │ + vadd.f64 d6, d6, d4 │ │ │ │ │ vsub.f64 d10, d8, d9 │ │ │ │ │ vadd.f64 d8, d8, d9 │ │ │ │ │ - vadd.f64 d6, d6, d4 │ │ │ │ │ vadd.f64 d4, d2, d5 │ │ │ │ │ vsub.f64 d2, d2, d5 │ │ │ │ │ vstr d10, [r9] │ │ │ │ │ vstr d8, [r0] │ │ │ │ │ vsub.f64 d8, d3, d0 │ │ │ │ │ vadd.f64 d3, d3, d0 │ │ │ │ │ vsub.f64 d5, d7, d2 │ │ │ │ │ @@ -152,24 +161,22 @@ │ │ │ │ │ vstr d3, [r5] │ │ │ │ │ add r5, lr │ │ │ │ │ vstr d6, [sl] │ │ │ │ │ vstr d5, [r5] │ │ │ │ │ ldr r5, [sp, #4] │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ add r1, r5 │ │ │ │ │ - bne.n 142 │ │ │ │ │ - add sp, #12 │ │ │ │ │ - vpop {d8-d10} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + bne.n 16c │ │ │ │ │ + b.n 13e │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000240 : │ │ │ │ │ +00000264 : │ │ │ │ │ fftw_codelet_hf_4(): │ │ │ │ │ - ldr r2, [pc, #8] @ (24c ) │ │ │ │ │ - ldr r1, [pc, #12] @ (250 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (270 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (274 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2hc_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── hf_5.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1632 (bytes into file) │ │ │ │ │ + Start of section headers: 1688 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x660: │ │ │ │ │ +There are 14 section headers, starting at offset 0x698: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0003b4 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0005b8 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0003e8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0003e8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0003e8 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 0003ed 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0003f5 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 0005d0 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000425 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000425 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000458 000110 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000568 00004e 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 0005e8 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0003ec 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0005f0 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000420 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000420 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000420 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000425 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 00042d 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000608 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 00045d 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00045d 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000490 000110 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0005a0 00004e 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000620 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,20 +1,20 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 17 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 928 FUNC LOCAL DEFAULT 1 hf_5 │ │ │ │ │ + 1: 00000001 984 FUNC LOCAL DEFAULT 1 hf_5 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000388 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 000003a0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000003ac 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000003c0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 000003d8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000003e4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 14: 000003a1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_5 │ │ │ │ │ + 14: 000003d9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_5 │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2hc_register │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x5b8 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x5f0 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000003ac 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000003b0 00000103 R_ARM_REL32 00000001 hf_5 │ │ │ │ │ -000003a8 00000f1e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ +000003e4 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000003e8 00000103 R_ARM_REL32 00000001 hf_5 │ │ │ │ │ +000003e0 00000f1e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x5d0 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x608 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001002 R_ARM_ABS32 00000000 fftw_rdft_hf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,85 +1,90 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hf_5(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub sp, #12 │ │ │ │ │ - ldr r5, [sp, #112] @ 0x70 │ │ │ │ │ + sub sp, #20 │ │ │ │ │ ldr r4, [sp, #120] @ 0x78 │ │ │ │ │ - subs r6, r5, #1 │ │ │ │ │ + ldr r5, [sp, #128] @ 0x80 │ │ │ │ │ + add.w r6, r4, #4294967295 @ 0xffffffff │ │ │ │ │ add.w r2, r2, r6, lsl #6 │ │ │ │ │ - ldr r6, [sp, #116] @ 0x74 │ │ │ │ │ - cmp r5, r6 │ │ │ │ │ - bge.w 1ca │ │ │ │ │ - mov.w lr, r3, lsl #3 │ │ │ │ │ - mov.w sl, r3, lsl #4 │ │ │ │ │ - cmp r4, #1 │ │ │ │ │ - bne.w 1d4 │ │ │ │ │ + ldr r6, [sp, #124] @ 0x7c │ │ │ │ │ + cmp r4, r6 │ │ │ │ │ + bge.w 1e8 │ │ │ │ │ + cmp r5, #1 │ │ │ │ │ + mov.w r7, r3, lsl #3 │ │ │ │ │ + mov.w fp, r3, lsl #5 │ │ │ │ │ + mov.w r6, r3, lsl #4 │ │ │ │ │ + bne.w 204 │ │ │ │ │ + vldr d15, [pc, #892] @ 3c0 │ │ │ │ │ add.w r3, r2, #64 @ 0x40 │ │ │ │ │ - rsb fp, sl, #0 │ │ │ │ │ - rsb r9, lr, #0 │ │ │ │ │ - vldr d15, [pc, #848] @ 388 │ │ │ │ │ - vldr d12, [pc, #852] @ 390 │ │ │ │ │ - str r5, [sp, #112] @ 0x70 │ │ │ │ │ - add.w r4, r0, lr │ │ │ │ │ - add.w r2, r1, lr │ │ │ │ │ + rsb r5, r6, #0 │ │ │ │ │ + add.w ip, r0, r7 │ │ │ │ │ + add.w r2, r1, r7 │ │ │ │ │ + vldr d12, [pc, #880] @ 3c8 │ │ │ │ │ + str r5, [sp, #0] │ │ │ │ │ + str r4, [sp, #120] @ 0x78 │ │ │ │ │ vldr d6, [r3, #-64] @ 0xffffffc0 │ │ │ │ │ - mov r5, r1 │ │ │ │ │ - vldr d2, [r3, #-56] @ 0xffffffc8 │ │ │ │ │ - subs r1, #8 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - add r4, sl │ │ │ │ │ + add.w r9, ip, r6 │ │ │ │ │ + add.w r8, r2, r6 │ │ │ │ │ + add.w r5, r0, fp │ │ │ │ │ + add.w r7, r1, fp │ │ │ │ │ + vldr d5, [ip] │ │ │ │ │ + add.w r3, r3, #64 @ 0x40 │ │ │ │ │ + vldr d2, [r3, #-120] @ 0xffffff88 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - add r2, sl │ │ │ │ │ - vldr d3, [r3, #-24] @ 0xffffffe8 │ │ │ │ │ - add.w r7, r4, lr │ │ │ │ │ vmul.f64 d0, d6, d5 │ │ │ │ │ - add.w ip, r2, lr │ │ │ │ │ + vldr d8, [r5] │ │ │ │ │ + vldr d3, [r3, #-88] @ 0xffffffa8 │ │ │ │ │ + vldr d4, [r3, #-80] @ 0xffffffb0 │ │ │ │ │ vmla.f64 d0, d2, d7 │ │ │ │ │ vmul.f64 d2, d2, d5 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - add.w r8, r7, fp │ │ │ │ │ - vldr d4, [r3, #-16] │ │ │ │ │ - add.w r6, ip, fp │ │ │ │ │ - vldr d8, [r7] │ │ │ │ │ - adds r3, #64 @ 0x40 │ │ │ │ │ + vldr d5, [r9] │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ vnmls.f64 d2, d6, d7 │ │ │ │ │ + vldr d7, [r8] │ │ │ │ │ vldr d6, [r3, #-96] @ 0xffffffa0 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ + add.w sl, r5, r4 │ │ │ │ │ + add.w lr, r7, r4 │ │ │ │ │ vldr d9, [r3, #-112] @ 0xffffff90 │ │ │ │ │ + mov r4, r1 │ │ │ │ │ + sub.w r1, r1, #8 │ │ │ │ │ + vldr d10, [lr] │ │ │ │ │ vmul.f64 d1, d6, d5 │ │ │ │ │ - vldr d10, [r6] │ │ │ │ │ - vmla.f64 d1, d3, d7 │ │ │ │ │ - vmul.f64 d3, d3, d5 │ │ │ │ │ - vldr d5, [ip] │ │ │ │ │ - add r6, r9 │ │ │ │ │ vldr d13, [r0] │ │ │ │ │ vldr d14, [r1, #8] │ │ │ │ │ + vmla.f64 d1, d3, d7 │ │ │ │ │ + vmul.f64 d3, d3, d5 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ vnmls.f64 d3, d6, d7 │ │ │ │ │ vldr d7, [r3, #-72] @ 0xffffffb8 │ │ │ │ │ vmul.f64 d6, d4, d8 │ │ │ │ │ vmla.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ - vldr d8, [r8] │ │ │ │ │ + vldr d8, [sl] │ │ │ │ │ vnmls.f64 d7, d4, d5 │ │ │ │ │ vldr d5, [r3, #-104] @ 0xffffff98 │ │ │ │ │ vmul.f64 d4, d9, d8 │ │ │ │ │ vmla.f64 d4, d5, d10 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ + vsub.f64 d8, d2, d7 │ │ │ │ │ + vadd.f64 d7, d7, d2 │ │ │ │ │ vnmls.f64 d5, d9, d10 │ │ │ │ │ vsub.f64 d9, d6, d0 │ │ │ │ │ vadd.f64 d6, d6, d0 │ │ │ │ │ - vsub.f64 d8, d2, d7 │ │ │ │ │ - vadd.f64 d7, d7, d2 │ │ │ │ │ - vldr d0, [pc, #664] @ 398 │ │ │ │ │ + vldr d0, [pc, #692] @ 3d0 │ │ │ │ │ vsub.f64 d11, d4, d1 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ vsub.f64 d10, d5, d3 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ vadd.f64 d1, d4, d6 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vadd.f64 d3, d5, d7 │ │ │ │ │ @@ -94,177 +99,184 @@ │ │ │ │ │ vnmls.f64 d8, d10, d12 │ │ │ │ │ vmov.f64 d10, #80 @ 0x3e800000 0.250 │ │ │ │ │ vmls.f64 d13, d1, d10 │ │ │ │ │ vadd.f64 d1, d13, d6 │ │ │ │ │ vsub.f64 d4, d13, d6 │ │ │ │ │ vsub.f64 d6, d1, d2 │ │ │ │ │ vadd.f64 d1, d1, d2 │ │ │ │ │ - vstr d6, [r5] │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ vadd.f64 d6, d4, d8 │ │ │ │ │ + mov r4, r2 │ │ │ │ │ vsub.f64 d4, d4, d8 │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ + sub.w r2, r2, #8 │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ vadd.f64 d6, d3, d14 │ │ │ │ │ - add.w r6, r8, r9 │ │ │ │ │ vmls.f64 d14, d3, d10 │ │ │ │ │ - vstr d1, [r6] │ │ │ │ │ - vstr d4, [r8] │ │ │ │ │ - vstr d6, [ip] │ │ │ │ │ + vstmia ip!, {d1} │ │ │ │ │ + vstr d4, [sl] │ │ │ │ │ + ldr r4, [sp, #120] @ 0x78 │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ vmul.f64 d6, d9, d15 │ │ │ │ │ - vmla.f64 d6, d11, d12 │ │ │ │ │ - vmul.f64 d11, d11, d15 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ vsub.f64 d5, d14, d7 │ │ │ │ │ vadd.f64 d7, d7, d14 │ │ │ │ │ + str r4, [sp, #120] @ 0x78 │ │ │ │ │ + vmla.f64 d6, d11, d12 │ │ │ │ │ + vmul.f64 d11, d11, d15 │ │ │ │ │ + ldr r4, [sp, #124] @ 0x7c │ │ │ │ │ vnmls.f64 d11, d9, d12 │ │ │ │ │ vsub.f64 d4, d6, d5 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ + vstr d4, [r9] │ │ │ │ │ vadd.f64 d4, d7, d11 │ │ │ │ │ vsub.f64 d11, d11, d7 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - add r2, r9 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - ldr r2, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d11, [r7] │ │ │ │ │ - adds r2, #1 │ │ │ │ │ - str r2, [sp, #112] @ 0x70 │ │ │ │ │ - ldrd r4, r2, [sp, #112] @ 0x70 │ │ │ │ │ - cmp r2, r4 │ │ │ │ │ - bne.w 40 │ │ │ │ │ - add sp, #12 │ │ │ │ │ + vstr d4, [r8] │ │ │ │ │ + vstr d5, [lr] │ │ │ │ │ + vstr d11, [r5] │ │ │ │ │ + ldr r5, [sp, #120] @ 0x78 │ │ │ │ │ + cmp r4, r5 │ │ │ │ │ + bne.w 5c │ │ │ │ │ + add sp, #20 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - lsls r3, r4, #3 │ │ │ │ │ - rsb fp, sl, #0 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ - rsb r9, lr, #0 │ │ │ │ │ - negs r3, r3 │ │ │ │ │ - vldr d15, [pc, #428] @ 390 │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + mov.w r3, r5, lsl #3 │ │ │ │ │ + vldr d15, [pc, #444] @ 3c8 │ │ │ │ │ + add.w sl, r1, r7 │ │ │ │ │ + vldr d12, [pc, #428] @ 3c0 │ │ │ │ │ + rsb r5, r3, #0 │ │ │ │ │ + str r3, [sp, #12] │ │ │ │ │ add.w r3, r2, #64 @ 0x40 │ │ │ │ │ - vldr d12, [pc, #408] @ 388 │ │ │ │ │ - add.w r2, r1, lr │ │ │ │ │ - add.w r4, r0, lr │ │ │ │ │ - vldr d5, [r3, #-56] @ 0xffffffc8 │ │ │ │ │ - adds r5, #1 │ │ │ │ │ - vldr d7, [r3, #-64] @ 0xffffffc0 │ │ │ │ │ - adds r3, #64 @ 0x40 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - add r2, sl │ │ │ │ │ - vldr d2, [r4] │ │ │ │ │ - add r4, sl │ │ │ │ │ - add.w ip, r2, lr │ │ │ │ │ - add.w r7, r4, lr │ │ │ │ │ + rsb r2, r6, #0 │ │ │ │ │ + ldr.w ip, [sp, #12] │ │ │ │ │ + str r2, [sp, #0] │ │ │ │ │ + strd r5, fp, [sp, #4] │ │ │ │ │ + add.w r5, r0, r7 │ │ │ │ │ + vldr d6, [sl] │ │ │ │ │ + add.w r8, sl, r6 │ │ │ │ │ + add.w r9, r5, r6 │ │ │ │ │ + add.w r3, r3, #64 @ 0x40 │ │ │ │ │ + vldr d7, [r3, #-128] @ 0xffffff80 │ │ │ │ │ + vldr d5, [r3, #-120] @ 0xffffff88 │ │ │ │ │ + vldr d2, [r5] │ │ │ │ │ + vldr d3, [r9] │ │ │ │ │ vmul.f64 d0, d6, d5 │ │ │ │ │ + ldr r7, [sp, #8] │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ vldr d8, [r3, #-72] @ 0xffffffb8 │ │ │ │ │ vmla.f64 d0, d2, d7 │ │ │ │ │ vmul.f64 d2, d2, d5 │ │ │ │ │ + add.w r2, r0, r7 │ │ │ │ │ + add r7, r1 │ │ │ │ │ + vldr d10, [r3, #-112] @ 0xffffff90 │ │ │ │ │ + add.w lr, r7, r4 │ │ │ │ │ + add.w fp, r2, r4 │ │ │ │ │ vldr d5, [r3, #-88] @ 0xffffffa8 │ │ │ │ │ - add.w r6, ip, fp │ │ │ │ │ - vldr d3, [r4] │ │ │ │ │ - add.w r8, r7, fp │ │ │ │ │ - vldr d4, [ip] │ │ │ │ │ vnmls.f64 d2, d6, d7 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ + vldr d6, [r8] │ │ │ │ │ vldr d7, [r3, #-96] @ 0xffffffa0 │ │ │ │ │ - vldr d9, [r6] │ │ │ │ │ - add r6, r9 │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ vmul.f64 d1, d6, d5 │ │ │ │ │ - vldr d10, [r3, #-112] @ 0xffffff90 │ │ │ │ │ + vldr d9, [lr] │ │ │ │ │ + vldr d13, [r0] │ │ │ │ │ + vldr d14, [r1] │ │ │ │ │ vmla.f64 d1, d3, d7 │ │ │ │ │ vmul.f64 d3, d3, d5 │ │ │ │ │ vldr d5, [r3, #-80] @ 0xffffffb0 │ │ │ │ │ - vldr d13, [r0] │ │ │ │ │ - vldr d14, [r1] │ │ │ │ │ vnmls.f64 d3, d6, d7 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ vmul.f64 d6, d4, d8 │ │ │ │ │ vmla.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ vldr d8, [r3, #-104] @ 0xffffff98 │ │ │ │ │ vnmls.f64 d7, d4, d5 │ │ │ │ │ - vldr d5, [r8] │ │ │ │ │ + vldr d5, [fp] │ │ │ │ │ vmul.f64 d4, d9, d8 │ │ │ │ │ vmla.f64 d4, d5, d10 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ + vsub.f64 d8, d2, d7 │ │ │ │ │ + vadd.f64 d7, d2, d7 │ │ │ │ │ vnmls.f64 d5, d9, d10 │ │ │ │ │ vsub.f64 d9, d6, d0 │ │ │ │ │ vadd.f64 d6, d0, d6 │ │ │ │ │ - vsub.f64 d8, d2, d7 │ │ │ │ │ - vadd.f64 d7, d2, d7 │ │ │ │ │ - vldr d0, [pc, #236] @ 398 │ │ │ │ │ + vldr d0, [pc, #232] @ 3d0 │ │ │ │ │ vsub.f64 d11, d4, d1 │ │ │ │ │ vadd.f64 d4, d1, d4 │ │ │ │ │ vsub.f64 d10, d5, d3 │ │ │ │ │ vadd.f64 d5, d3, d5 │ │ │ │ │ vadd.f64 d1, d6, d4 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vadd.f64 d3, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vadd.f64 d2, d13, d1 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ vstr d2, [r0] │ │ │ │ │ vmul.f64 d2, d10, d12 │ │ │ │ │ + add r0, ip │ │ │ │ │ vmla.f64 d2, d8, d15 │ │ │ │ │ vmul.f64 d8, d8, d12 │ │ │ │ │ vnmls.f64 d8, d10, d15 │ │ │ │ │ vmov.f64 d10, #80 @ 0x3e800000 0.250 │ │ │ │ │ vmls.f64 d13, d1, d10 │ │ │ │ │ vadd.f64 d1, d6, d13 │ │ │ │ │ vsub.f64 d4, d13, d6 │ │ │ │ │ vsub.f64 d6, d1, d2 │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ vstr d6, [r1] │ │ │ │ │ vadd.f64 d6, d8, d4 │ │ │ │ │ vsub.f64 d4, d4, d8 │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ + vstr d6, [sl] │ │ │ │ │ vadd.f64 d6, d14, d3 │ │ │ │ │ - add.w r6, r8, r9 │ │ │ │ │ vmls.f64 d14, d3, d10 │ │ │ │ │ - vstr d2, [r6] │ │ │ │ │ - vstr d4, [r8] │ │ │ │ │ - vstr d6, [ip] │ │ │ │ │ + vstr d2, [r5] │ │ │ │ │ + sub.w sl, sl, ip │ │ │ │ │ + add r5, ip │ │ │ │ │ + vstr d4, [fp] │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ vmul.f64 d6, d11, d15 │ │ │ │ │ - vmla.f64 d6, d9, d12 │ │ │ │ │ vmul.f64 d11, d11, d12 │ │ │ │ │ vsub.f64 d5, d14, d7 │ │ │ │ │ vadd.f64 d14, d14, d7 │ │ │ │ │ + vmla.f64 d6, d9, d12 │ │ │ │ │ vnmls.f64 d11, d9, d15 │ │ │ │ │ vsub.f64 d7, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + vstr d7, [r9] │ │ │ │ │ vadd.f64 d7, d11, d14 │ │ │ │ │ vsub.f64 d11, d11, d14 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - add r2, r9 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - ldr r2, [sp, #0] │ │ │ │ │ - vstr d11, [r7] │ │ │ │ │ - add r0, r2 │ │ │ │ │ + vstr d7, [r8] │ │ │ │ │ + vstr d6, [lr] │ │ │ │ │ + vstr d11, [r2] │ │ │ │ │ + ldr r2, [sp, #120] @ 0x78 │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ + str r2, [sp, #120] @ 0x78 │ │ │ │ │ ldr r2, [sp, #4] │ │ │ │ │ + ldr r4, [sp, #120] @ 0x78 │ │ │ │ │ add r1, r2 │ │ │ │ │ - ldr r2, [sp, #116] @ 0x74 │ │ │ │ │ - cmp r2, r5 │ │ │ │ │ - bne.w 1f0 │ │ │ │ │ - add sp, #12 │ │ │ │ │ - vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldr r2, [sp, #124] @ 0x7c │ │ │ │ │ + cmp r2, r4 │ │ │ │ │ + bne.w 230 │ │ │ │ │ + b.n 1e8 │ │ │ │ │ nop │ │ │ │ │ - nop.w │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ │ │ │ │ │ -000003a0 : │ │ │ │ │ +000003d8 : │ │ │ │ │ fftw_codelet_hf_5(): │ │ │ │ │ - ldr r2, [pc, #8] @ (3ac ) │ │ │ │ │ - ldr r1, [pc, #12] @ (3b0 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (3e4 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (3e8 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2hc_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── hf_6.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1784 (bytes into file) │ │ │ │ │ + Start of section headers: 1828 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x6f8: │ │ │ │ │ +There are 14 section headers, starting at offset 0x724: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00044c 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000650 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000480 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000480 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000480 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000485 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 00048d 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000668 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 0004bd 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0004bd 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 0004f0 000110 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000600 00004e 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000680 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000478 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 00067c 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0004ac 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0004ac 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0004ac 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 0004b1 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0004b9 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000694 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 0004e9 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0004e9 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 00051c 000110 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 00062c 00004e 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 0006ac 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,20 +1,20 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 17 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1078 FUNC LOCAL DEFAULT 1 hf_6 │ │ │ │ │ + 1: 00000001 1122 FUNC LOCAL DEFAULT 1 hf_6 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000230 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000238 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000444 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000258 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000260 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000470 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 14: 00000439 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_6 │ │ │ │ │ + 14: 00000465 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_6 │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2hc_register │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x650 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x67c contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000444 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000448 00000103 R_ARM_REL32 00000001 hf_6 │ │ │ │ │ -00000440 00000f1e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ +00000470 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000474 00000103 R_ARM_REL32 00000001 hf_6 │ │ │ │ │ +0000046c 00000f1e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x668 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x694 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001002 R_ARM_ABS32 00000000 fftw_rdft_hf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,314 +1,316 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hf_6(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - movs r6, #80 @ 0x50 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #28 │ │ │ │ │ - ldr r7, [sp, #128] @ 0x80 │ │ │ │ │ + ldrd r5, r6, [sp, #128] @ 0x80 │ │ │ │ │ ldr r4, [sp, #136] @ 0x88 │ │ │ │ │ - subs r5, r7, #1 │ │ │ │ │ - mla r2, r6, r5, r2 │ │ │ │ │ - ldr r5, [sp, #132] @ 0x84 │ │ │ │ │ - cmp r7, r5 │ │ │ │ │ - bge.w 222 │ │ │ │ │ - movs r5, #24 │ │ │ │ │ - lsls r6, r3, #5 │ │ │ │ │ - mov.w lr, r3, lsl #3 │ │ │ │ │ + add.w r5, r5, #4294967295 @ 0xffffffff │ │ │ │ │ + add.w r5, r5, r5, lsl #2 │ │ │ │ │ + add.w r2, r2, r5, lsl #4 │ │ │ │ │ + ldr r5, [sp, #128] @ 0x80 │ │ │ │ │ + cmp r5, r6 │ │ │ │ │ + bge.w 23a │ │ │ │ │ + mov.w ip, r3, lsl #5 │ │ │ │ │ cmp r4, #1 │ │ │ │ │ - str r6, [sp, #8] │ │ │ │ │ - mul.w r5, r3, r5 │ │ │ │ │ + mov.w r5, r3, lsl #3 │ │ │ │ │ mov.w r3, r3, lsl #4 │ │ │ │ │ - str r3, [sp, #12] │ │ │ │ │ - bne.w 238 │ │ │ │ │ - add.w r3, r2, #80 @ 0x50 │ │ │ │ │ - rsb fp, r5, #0 │ │ │ │ │ - vldr d15, [pc, #492] @ 230 │ │ │ │ │ + str r3, [sp, #8] │ │ │ │ │ + bne.w 260 │ │ │ │ │ + vldr d15, [pc, #524] @ 258 │ │ │ │ │ vmov.f64 d10, #96 @ 0x3f000000 0.5 │ │ │ │ │ - str r7, [sp, #128] @ 0x80 │ │ │ │ │ - adds r2, r0, r5 │ │ │ │ │ - add.w r8, r1, r5 │ │ │ │ │ - vldr d2, [r3, #-48] @ 0xffffffd0 │ │ │ │ │ - add.w r4, r2, lr │ │ │ │ │ - vldr d7, [r3, #-40] @ 0xffffffd8 │ │ │ │ │ - add.w r6, r8, lr │ │ │ │ │ - vldr d1, [r2] │ │ │ │ │ - add.w r9, r6, fp │ │ │ │ │ - vldr d3, [r8] │ │ │ │ │ - add.w sl, r9, lr │ │ │ │ │ + mov r4, r3 │ │ │ │ │ + rsb r4, r4, #0 │ │ │ │ │ + add.w r3, r2, #80 @ 0x50 │ │ │ │ │ + add.w lr, r0, r5 │ │ │ │ │ + add.w r2, r1, r5 │ │ │ │ │ + str r4, [sp, #12] │ │ │ │ │ + ldrd r4, r7, [sp, #8] │ │ │ │ │ + add.w r5, r1, ip │ │ │ │ │ + add.w r8, lr, ip │ │ │ │ │ + add.w r3, r3, #80 @ 0x50 │ │ │ │ │ + vldr d2, [r3, #-128] @ 0xffffff80 │ │ │ │ │ + vldr d7, [r3, #-120] @ 0xffffff88 │ │ │ │ │ + add.w r9, lr, r4 │ │ │ │ │ + add.w r6, r2, r4 │ │ │ │ │ vldr d12, [r1] │ │ │ │ │ - add.w r7, sl, r5 │ │ │ │ │ - vmul.f64 d4, d2, d1 │ │ │ │ │ + add.w r4, r0, ip │ │ │ │ │ + add.w fp, r5, r7 │ │ │ │ │ + add.w sl, r4, r7 │ │ │ │ │ + add.w r7, r2, ip │ │ │ │ │ + vldr d1, [r9] │ │ │ │ │ + vldr d3, [r6] │ │ │ │ │ vldr d5, [r0] │ │ │ │ │ + vmul.f64 d4, d2, d1 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + vldr d0, [lr] │ │ │ │ │ vmla.f64 d4, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ - adds r3, #80 @ 0x50 │ │ │ │ │ vldr d1, [r3, #-160] @ 0xffffff60 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ vldr d2, [r4] │ │ │ │ │ - add r4, fp │ │ │ │ │ vsub.f64 d8, d5, d4 │ │ │ │ │ - vldr d0, [r4] │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ - add r4, lr │ │ │ │ │ - add.w ip, r4, r5 │ │ │ │ │ vadd.f64 d3, d7, d12 │ │ │ │ │ vsub.f64 d12, d12, d7 │ │ │ │ │ vldr d7, [r3, #-104] @ 0xffffff98 │ │ │ │ │ vstr d3, [sp] │ │ │ │ │ vldr d3, [r3, #-112] @ 0xffffff90 │ │ │ │ │ vmul.f64 d5, d3, d2 │ │ │ │ │ vmla.f64 d5, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ - vldr d2, [r9] │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ vnmls.f64 d7, d3, d6 │ │ │ │ │ vldr d6, [r3, #-152] @ 0xffffff68 │ │ │ │ │ vmul.f64 d3, d1, d0 │ │ │ │ │ vmla.f64 d3, d6, d2 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ - vldr d0, [r3, #-96] @ 0xffffffa0 │ │ │ │ │ + vldr d0, [r7] │ │ │ │ │ vnmls.f64 d6, d1, d2 │ │ │ │ │ - vldr d1, [ip] │ │ │ │ │ + vldr d1, [r3, #-96] @ 0xffffffa0 │ │ │ │ │ vsub.f64 d9, d5, d3 │ │ │ │ │ vadd.f64 d13, d3, d5 │ │ │ │ │ vldr d5, [r3, #-144] @ 0xffffff70 │ │ │ │ │ - vldr d3, [r4] │ │ │ │ │ + vldr d3, [sl] │ │ │ │ │ vadd.f64 d14, d6, d7 │ │ │ │ │ vsub.f64 d11, d6, d7 │ │ │ │ │ - vldr d7, [sl] │ │ │ │ │ - vmul.f64 d2, d5, d3 │ │ │ │ │ vldr d6, [r3, #-136] @ 0xffffff78 │ │ │ │ │ + vldr d7, [fp] │ │ │ │ │ + vmul.f64 d2, d5, d3 │ │ │ │ │ vmla.f64 d2, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ vldr d3, [r3, #-88] @ 0xffffffa8 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ - vmul.f64 d7, d0, d1 │ │ │ │ │ - ldr r7, [sp, #8] │ │ │ │ │ - vmla.f64 d7, d3, d5 │ │ │ │ │ - vmul.f64 d3, d3, d1 │ │ │ │ │ - sub.w ip, ip, r7 │ │ │ │ │ - mov r7, r1 │ │ │ │ │ - subs r1, #8 │ │ │ │ │ - vnmls.f64 d3, d0, d5 │ │ │ │ │ + vldr d5, [r8] │ │ │ │ │ + vmul.f64 d7, d1, d5 │ │ │ │ │ + vmla.f64 d7, d3, d0 │ │ │ │ │ + vmul.f64 d3, d3, d5 │ │ │ │ │ + vnmls.f64 d3, d1, d0 │ │ │ │ │ vsub.f64 d0, d2, d7 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ vadd.f64 d5, d3, d6 │ │ │ │ │ - vadd.f64 d1, d0, d9 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ + vadd.f64 d1, d0, d9 │ │ │ │ │ vmov.f64 d3, d8 │ │ │ │ │ vsub.f64 d9, d9, d0 │ │ │ │ │ + vadd.f64 d2, d6, d11 │ │ │ │ │ + vsub.f64 d11, d11, d6 │ │ │ │ │ vmls.f64 d3, d1, d10 │ │ │ │ │ vadd.f64 d1, d1, d8 │ │ │ │ │ - vadd.f64 d2, d6, d11 │ │ │ │ │ vmov.f64 d8, d4 │ │ │ │ │ - vsub.f64 d11, d11, d6 │ │ │ │ │ vmov.f64 d6, d12 │ │ │ │ │ vmul.f64 d9, d9, d15 │ │ │ │ │ - vstr d1, [sl] │ │ │ │ │ vmul.f64 d2, d2, d15 │ │ │ │ │ vmla.f64 d6, d11, d10 │ │ │ │ │ + vstr d1, [fp] │ │ │ │ │ + mov fp, r1 │ │ │ │ │ vsub.f64 d11, d11, d12 │ │ │ │ │ + sub.w r1, r1, #8 │ │ │ │ │ vadd.f64 d1, d3, d2 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ vsub.f64 d2, d5, d14 │ │ │ │ │ vadd.f64 d5, d5, d14 │ │ │ │ │ - vstr d1, [ip] │ │ │ │ │ + vstmia lr!, {d1} │ │ │ │ │ vadd.f64 d1, d7, d13 │ │ │ │ │ - vmul.f64 d2, d2, d15 │ │ │ │ │ - vstr d3, [r7] │ │ │ │ │ vsub.f64 d7, d7, d13 │ │ │ │ │ + vmul.f64 d2, d2, d15 │ │ │ │ │ + vstr d3, [fp] │ │ │ │ │ + mov fp, r2 │ │ │ │ │ + sub.w r2, r2, #8 │ │ │ │ │ vmls.f64 d8, d1, d10 │ │ │ │ │ vadd.f64 d1, d1, d4 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ vstmia r0!, {d1} │ │ │ │ │ vadd.f64 d4, d8, d2 │ │ │ │ │ vsub.f64 d3, d8, d2 │ │ │ │ │ - vstr d4, [r9] │ │ │ │ │ + vstr d4, [fp] │ │ │ │ │ vadd.f64 d4, d6, d9 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ vsub.f64 d9, d9, d6 │ │ │ │ │ - vstr d11, [r2] │ │ │ │ │ - vstr d4, [r6] │ │ │ │ │ - add r6, lr │ │ │ │ │ - ldr r4, [sp, #12] │ │ │ │ │ + vstr d3, [sl] │ │ │ │ │ + vstr d11, [r9] │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ vldr d3, [sp] │ │ │ │ │ - add r2, r4 │ │ │ │ │ + vstr d9, [r8] │ │ │ │ │ vmov.f64 d6, d3 │ │ │ │ │ vmls.f64 d6, d5, d10 │ │ │ │ │ - vstr d9, [r2] │ │ │ │ │ - sub.w r2, r2, lr │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - ldr r2, [sp, #128] @ 0x80 │ │ │ │ │ - vstr d5, [r6] │ │ │ │ │ - adds r2, #1 │ │ │ │ │ - str r2, [sp, #128] @ 0x80 │ │ │ │ │ - vstr d6, [r8] │ │ │ │ │ - ldrd r4, r2, [sp, #128] @ 0x80 │ │ │ │ │ - cmp r2, r4 │ │ │ │ │ - bne.w 4a │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ + ldr r4, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d5, [r7] │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + str r4, [sp, #128] @ 0x80 │ │ │ │ │ + ldrd r5, r4, [sp, #128] @ 0x80 │ │ │ │ │ + cmp r4, r5 │ │ │ │ │ + bne.w 64 │ │ │ │ │ add sp, #28 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop.w │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3febb67a │ │ │ │ │ - lsls r3, r4, #3 │ │ │ │ │ - rsb fp, r5, #0 │ │ │ │ │ - str r3, [sp, #16] │ │ │ │ │ - negs r3, r3 │ │ │ │ │ - vldr d15, [pc, #-20] @ 230 │ │ │ │ │ + mov.w r3, r4, lsl #3 │ │ │ │ │ + vldr d15, [pc, #-16] @ 258 │ │ │ │ │ vmov.f64 d11, #96 @ 0x3f000000 0.5 │ │ │ │ │ + add.w r4, r0, r5 │ │ │ │ │ + add.w fp, r1, r5 │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ + rsb r3, r3, #0 │ │ │ │ │ str r3, [sp, #20] │ │ │ │ │ add.w r3, r2, #80 @ 0x50 │ │ │ │ │ - add.w r8, r1, r5 │ │ │ │ │ - adds r2, r0, r5 │ │ │ │ │ - vldr d1, [r3, #-40] @ 0xffffffd8 │ │ │ │ │ - add.w r6, r8, lr │ │ │ │ │ - vldr d3, [r3, #-48] @ 0xffffffd0 │ │ │ │ │ - add.w r4, r2, lr │ │ │ │ │ - vldr d2, [r8] │ │ │ │ │ - add.w r9, r6, fp │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - add.w sl, r9, lr │ │ │ │ │ + ldr r2, [sp, #8] │ │ │ │ │ + rsb r2, r2, #0 │ │ │ │ │ + str r2, [sp, #12] │ │ │ │ │ + ldrd r2, r7, [sp, #8] │ │ │ │ │ + add.w r5, r1, ip │ │ │ │ │ + add.w lr, r4, ip │ │ │ │ │ + add.w r3, r3, #80 @ 0x50 │ │ │ │ │ vldr d12, [r1] │ │ │ │ │ - add.w r7, sl, r5 │ │ │ │ │ - vmul.f64 d6, d2, d1 │ │ │ │ │ + vldr d1, [r3, #-120] @ 0xffffff88 │ │ │ │ │ + add.w r6, fp, r2 │ │ │ │ │ + add.w r8, r4, r2 │ │ │ │ │ + vldr d3, [r3, #-128] @ 0xffffff80 │ │ │ │ │ + add.w r2, r0, ip │ │ │ │ │ + add.w sl, r5, r7 │ │ │ │ │ + add.w r9, r2, r7 │ │ │ │ │ + add.w r7, fp, ip │ │ │ │ │ + vldr d2, [r6] │ │ │ │ │ + vldr d7, [r8] │ │ │ │ │ vldr d5, [r0] │ │ │ │ │ + vmul.f64 d6, d2, d1 │ │ │ │ │ + vldr d8, [r3, #-152] @ 0xffffff68 │ │ │ │ │ + vldr d0, [fp] │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [r3, #-24] @ 0xffffffe8 │ │ │ │ │ - adds r3, #80 @ 0x50 │ │ │ │ │ - vldr d8, [r3, #-152] @ 0xffffff68 │ │ │ │ │ - vldr d0, [r9] │ │ │ │ │ + vldr d1, [r3, #-104] @ 0xffffff98 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ vsub.f64 d2, d5, d6 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ vldr d6, [r3, #-112] @ 0xffffff90 │ │ │ │ │ vadd.f64 d4, d12, d7 │ │ │ │ │ vsub.f64 d12, d12, d7 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - add r4, fp │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ vstr d4, [sp] │ │ │ │ │ - vldr d4, [r6] │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ vmul.f64 d3, d4, d1 │ │ │ │ │ vmla.f64 d3, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vldr d1, [r3, #-160] @ 0xffffff60 │ │ │ │ │ vnmls.f64 d7, d4, d6 │ │ │ │ │ vldr d6, [r4] │ │ │ │ │ vmul.f64 d4, d0, d8 │ │ │ │ │ - add r4, lr │ │ │ │ │ - add.w ip, r4, r5 │ │ │ │ │ vmla.f64 d4, d6, d1 │ │ │ │ │ vmul.f64 d6, d6, d8 │ │ │ │ │ vldr d8, [r3, #-96] @ 0xffffffa0 │ │ │ │ │ vnmls.f64 d6, d0, d1 │ │ │ │ │ vldr d1, [r3, #-136] @ 0xffffff78 │ │ │ │ │ - vldr d0, [r3, #-88] @ 0xffffffa8 │ │ │ │ │ + vldr d0, [r7] │ │ │ │ │ vsub.f64 d9, d3, d4 │ │ │ │ │ vadd.f64 d13, d3, d4 │ │ │ │ │ vldr d3, [sl] │ │ │ │ │ vldr d4, [r3, #-144] @ 0xffffff70 │ │ │ │ │ vadd.f64 d14, d7, d6 │ │ │ │ │ vsub.f64 d10, d6, d7 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ + vldr d6, [r9] │ │ │ │ │ vmul.f64 d7, d3, d1 │ │ │ │ │ vmla.f64 d7, d6, d4 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ - vldr d1, [r7] │ │ │ │ │ - ldr r7, [sp, #8] │ │ │ │ │ + vldr d1, [r3, #-88] @ 0xffffffa8 │ │ │ │ │ vnmls.f64 d6, d3, d4 │ │ │ │ │ - vldr d4, [ip] │ │ │ │ │ - vmul.f64 d3, d1, d0 │ │ │ │ │ - sub.w ip, ip, r7 │ │ │ │ │ + vldr d4, [lr] │ │ │ │ │ + vmul.f64 d3, d0, d1 │ │ │ │ │ vmla.f64 d3, d4, d8 │ │ │ │ │ - vmul.f64 d4, d4, d0 │ │ │ │ │ - vnmls.f64 d4, d1, d8 │ │ │ │ │ + vmul.f64 d4, d4, d1 │ │ │ │ │ + vnmls.f64 d4, d0, d8 │ │ │ │ │ vsub.f64 d0, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ vadd.f64 d1, d6, d4 │ │ │ │ │ - vadd.f64 d8, d9, d0 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ + vadd.f64 d8, d9, d0 │ │ │ │ │ vmov.f64 d4, d2 │ │ │ │ │ vsub.f64 d9, d9, d0 │ │ │ │ │ + vadd.f64 d3, d10, d6 │ │ │ │ │ + vsub.f64 d10, d10, d6 │ │ │ │ │ vmls.f64 d4, d8, d11 │ │ │ │ │ vadd.f64 d2, d2, d8 │ │ │ │ │ - vadd.f64 d3, d10, d6 │ │ │ │ │ vmov.f64 d8, d5 │ │ │ │ │ - vsub.f64 d10, d10, d6 │ │ │ │ │ vmov.f64 d6, d12 │ │ │ │ │ vmul.f64 d9, d9, d15 │ │ │ │ │ - vstr d2, [sl] │ │ │ │ │ vmul.f64 d3, d3, d15 │ │ │ │ │ vmla.f64 d6, d10, d11 │ │ │ │ │ + vstr d2, [sl] │ │ │ │ │ vsub.f64 d10, d10, d12 │ │ │ │ │ vadd.f64 d2, d3, d4 │ │ │ │ │ vsub.f64 d4, d4, d3 │ │ │ │ │ vsub.f64 d3, d1, d14 │ │ │ │ │ vadd.f64 d14, d14, d1 │ │ │ │ │ - vstr d2, [ip] │ │ │ │ │ + vstr d2, [r4] │ │ │ │ │ vadd.f64 d2, d13, d7 │ │ │ │ │ + vsub.f64 d7, d7, d13 │ │ │ │ │ vmul.f64 d3, d3, d15 │ │ │ │ │ vstr d4, [r1] │ │ │ │ │ - vsub.f64 d7, d7, d13 │ │ │ │ │ vmls.f64 d8, d2, d11 │ │ │ │ │ vadd.f64 d5, d5, d2 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ vadd.f64 d5, d3, d8 │ │ │ │ │ vsub.f64 d4, d8, d3 │ │ │ │ │ - vstr d5, [r9] │ │ │ │ │ + vstr d5, [fp] │ │ │ │ │ vadd.f64 d5, d9, d6 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ vsub.f64 d9, d9, d6 │ │ │ │ │ - vstr d10, [r2] │ │ │ │ │ - vstr d5, [r6] │ │ │ │ │ - add r6, lr │ │ │ │ │ - ldr r4, [sp, #12] │ │ │ │ │ + vstr d4, [r9] │ │ │ │ │ + vstr d10, [r8] │ │ │ │ │ + vstr d5, [r5] │ │ │ │ │ vldr d4, [sp] │ │ │ │ │ - add r2, r4 │ │ │ │ │ + vstr d9, [lr] │ │ │ │ │ + ldr r5, [sp, #20] │ │ │ │ │ vmov.f64 d5, d4 │ │ │ │ │ + add r1, r5 │ │ │ │ │ vmls.f64 d5, d14, d11 │ │ │ │ │ - vstr d9, [r2] │ │ │ │ │ - sub.w r2, r2, lr │ │ │ │ │ vadd.f64 d14, d4, d14 │ │ │ │ │ vsub.f64 d6, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ ldr r2, [sp, #128] @ 0x80 │ │ │ │ │ - vstr d14, [r6] │ │ │ │ │ - adds r2, #1 │ │ │ │ │ + vstr d14, [r7] │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ + add.w r2, r2, #1 │ │ │ │ │ str r2, [sp, #128] @ 0x80 │ │ │ │ │ ldr r2, [sp, #16] │ │ │ │ │ - vstr d7, [r8] │ │ │ │ │ + ldr r5, [sp, #128] @ 0x80 │ │ │ │ │ add r0, r2 │ │ │ │ │ - ldr r2, [sp, #20] │ │ │ │ │ - add r1, r2 │ │ │ │ │ - ldrd r4, r2, [sp, #128] @ 0x80 │ │ │ │ │ - cmp r2, r4 │ │ │ │ │ - bne.w 250 │ │ │ │ │ - add sp, #28 │ │ │ │ │ - vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + add r4, r2 │ │ │ │ │ + sub.w fp, fp, r2 │ │ │ │ │ + ldr r2, [sp, #132] @ 0x84 │ │ │ │ │ + cmp r2, r5 │ │ │ │ │ + bne.w 288 │ │ │ │ │ + b.n 23a │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000438 : │ │ │ │ │ +00000464 : │ │ │ │ │ fftw_codelet_hf_6(): │ │ │ │ │ - ldr r2, [pc, #8] @ (444 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (448 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (470 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (474 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2hc_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── hf_64.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 12920 (bytes into file) │ │ │ │ │ + Start of section headers: 13068 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x3278: │ │ │ │ │ +There are 14 section headers, starting at offset 0x330c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 002ec0 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0031c0 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 002ef4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 002ef4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 002ef4 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 002efa 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 002f02 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 0031e8 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 002f32 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 002f32 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 002f68 0001d0 10 12 24 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 003138 000087 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 003200 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 002f54 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 003254 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 002f88 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 002f88 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 002f88 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 002f8e 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 002f96 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 00327c 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 002fc6 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 002fc6 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 002ffc 0001d0 10 12 24 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0031cc 000087 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 003294 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,32 +1,32 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 29 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 11946 FUNC LOCAL DEFAULT 1 hf_64 │ │ │ │ │ + 1: 00000001 12096 FUNC LOCAL DEFAULT 1 hf_64 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000620 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000640 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000b10 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000b20 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00001470 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 8: 00001488 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 9: 00001ca8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 10: 00001d08 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 11: 000024c0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 12: 00002518 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 13: 00002cc8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 14: 00002d08 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 15: 00002eb8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000658 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000678 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000b60 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000b70 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00001468 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 00001480 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 9: 00001d28 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 10: 00001d88 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 11: 00002540 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 12: 00002598 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 13: 00002d48 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 14: 00002d88 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 15: 00002f4c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 16: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 17: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 18: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 19: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 20: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 21: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 22: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 23: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 24: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 25: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 26: 00002ead 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_64 │ │ │ │ │ + 26: 00002f41 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_64 │ │ │ │ │ 27: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2hc_register │ │ │ │ │ 28: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x31c0 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x3254 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000638 00001819 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000063c 0000191a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00002eb8 00001503 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00002ebc 00000103 R_ARM_REL32 00000001 hf_64 │ │ │ │ │ -00002eb4 00001b1e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ +00000670 00001819 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000674 0000191a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00002f4c 00001503 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00002f50 00000103 R_ARM_REL32 00000001 hf_64 │ │ │ │ │ +00002f48 00001b1e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x31e8 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x327c contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00001002 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00001202 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001c02 R_ARM_ABS32 00000000 fftw_rdft_hf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,1117 +1,1103 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hf_64(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r8, r1 │ │ │ │ │ - mov r7, r0 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov sl, r1 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + mov fp, r3 │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - subw sp, sp, #1684 @ 0x694 │ │ │ │ │ - mov.w r0, #1008 @ 0x3f0 │ │ │ │ │ - mov r9, r3 │ │ │ │ │ - ldr.w r3, [pc, #1568] @ 638 │ │ │ │ │ - ldr.w r1, [sp, #1784] @ 0x6f8 │ │ │ │ │ - add r3, pc │ │ │ │ │ - subs r1, #1 │ │ │ │ │ - mla r6, r0, r1, r2 │ │ │ │ │ - ldr.w r2, [sp, #1784] @ 0x6f8 │ │ │ │ │ - ldr.w r1, [sp, #1788] @ 0x6fc │ │ │ │ │ - cmp r2, r1 │ │ │ │ │ - bge.w 2e9e │ │ │ │ │ - ldr.w r2, [sp, #1792] @ 0x700 │ │ │ │ │ - mov fp, r9 │ │ │ │ │ - mov sl, r8 │ │ │ │ │ - mov r9, r7 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ - str.w r2, [sp, #1668] @ 0x684 │ │ │ │ │ - negs r2, r2 │ │ │ │ │ - str.w r2, [sp, #1672] @ 0x688 │ │ │ │ │ - ldr.w r2, [pc, #1520] @ 63c │ │ │ │ │ - ldr r3, [r3, r2] │ │ │ │ │ - ldr r3, [r3, #0] │ │ │ │ │ + subw sp, sp, #1692 @ 0x69c │ │ │ │ │ + ldr.w r3, [sp, #1792] @ 0x700 │ │ │ │ │ + ldr.w r1, [pc, #1608] @ 670 │ │ │ │ │ + add.w r3, r3, #4294967295 @ 0xffffffff │ │ │ │ │ + rsb r3, r3, r3, lsl #6 │ │ │ │ │ + add r1, pc │ │ │ │ │ + add.w r6, r2, r3, lsl #4 │ │ │ │ │ + ldr.w r3, [sp, #1792] @ 0x700 │ │ │ │ │ + ldr.w r2, [sp, #1796] @ 0x704 │ │ │ │ │ + cmp r3, r2 │ │ │ │ │ + bge.w 2f22 │ │ │ │ │ + ldr.w r3, [sp, #1800] @ 0x708 │ │ │ │ │ + mov r9, fp │ │ │ │ │ + mov fp, sl │ │ │ │ │ + mov sl, r0 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ str.w r3, [sp, #1676] @ 0x68c │ │ │ │ │ - mov.w r7, fp, lsl #8 │ │ │ │ │ + rsb r3, r3, #0 │ │ │ │ │ + str.w r3, [sp, #1680] @ 0x690 │ │ │ │ │ + ldr.w r3, [pc, #1556] @ 674 │ │ │ │ │ + ldr r3, [r1, r3] │ │ │ │ │ + ldr r3, [r3, #0] │ │ │ │ │ + str.w r3, [sp, #1684] @ 0x694 │ │ │ │ │ + mov.w r7, r9, lsl #8 │ │ │ │ │ + vldr d0, [r6, #240] @ 0xf0 │ │ │ │ │ + mov.w lr, r9, lsl #6 │ │ │ │ │ + add.w r2, fp, r7 │ │ │ │ │ vldr d2, [r6, #504] @ 0x1f8 │ │ │ │ │ - add.w r2, sl, r7 │ │ │ │ │ - add.w r3, r9, r7 │ │ │ │ │ - vldr d7, [r6, #496] @ 0x1f0 │ │ │ │ │ - mov.w lr, #184 @ 0xb8 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ - mov.w ip, #216 @ 0xd8 │ │ │ │ │ + add.w r3, sl, r7 │ │ │ │ │ + add.w ip, r9, r9, lsl #1 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ + mov.w r1, r9, lsl #5 │ │ │ │ │ + str r3, [sp, #24] │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - mov.w r3, fp, lsl #7 │ │ │ │ │ - str r2, [sp, #8] │ │ │ │ │ - add.w r2, r9, r3 │ │ │ │ │ + mov.w r3, r9, lsl #7 │ │ │ │ │ + str r2, [sp, #32] │ │ │ │ │ + vldr d7, [r6, #496] @ 0x1f0 │ │ │ │ │ + add.w r2, sl, r3 │ │ │ │ │ + add r3, fp │ │ │ │ │ + add.w r4, r3, r7 │ │ │ │ │ + add.w r0, r2, r7 │ │ │ │ │ vmul.f64 d1, d6, d2 │ │ │ │ │ - add r3, sl │ │ │ │ │ - vmla.f64 d1, d5, d7 │ │ │ │ │ - vmul.f64 d5, d5, d2 │ │ │ │ │ - adds r5, r3, r7 │ │ │ │ │ - vldr d0, [r6, #240] @ 0xf0 │ │ │ │ │ vldr d8, [r3] │ │ │ │ │ - adds r0, r2, r7 │ │ │ │ │ + str r2, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d9, [r4] │ │ │ │ │ + str r0, [sp, #56] @ 0x38 │ │ │ │ │ vldr d10, [r6, #760] @ 0x2f8 │ │ │ │ │ - mul.w lr, lr, fp │ │ │ │ │ + vmla.f64 d1, d5, d7 │ │ │ │ │ + vmul.f64 d5, d5, d2 │ │ │ │ │ + str r4, [sp, #68] @ 0x44 │ │ │ │ │ + vldr d4, [fp] │ │ │ │ │ + add.w r4, fp, lr │ │ │ │ │ + str r3, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d3, [sl] │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ vldr d6, [r6, #248] @ 0xf8 │ │ │ │ │ - mul.w ip, ip, fp │ │ │ │ │ - vldr d9, [r5] │ │ │ │ │ - vldr d4, [sl] │ │ │ │ │ vmul.f64 d2, d8, d6 │ │ │ │ │ vmul.f64 d6, d7, d6 │ │ │ │ │ vmla.f64 d2, d7, d0 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - vldr d3, [r9] │ │ │ │ │ - str r3, [sp, #24] │ │ │ │ │ - mov.w r3, fp, lsl #6 │ │ │ │ │ vnmls.f64 d6, d8, d0 │ │ │ │ │ - vldr d8, [r6, #752] @ 0x2f0 │ │ │ │ │ vmul.f64 d0, d9, d10 │ │ │ │ │ - add.w r4, sl, r3 │ │ │ │ │ - str r0, [sp, #32] │ │ │ │ │ - add.w r0, r9, r3 │ │ │ │ │ + add.w r0, sl, lr │ │ │ │ │ + sub.w lr, lr, r9 │ │ │ │ │ + vldr d8, [r6, #752] @ 0x2f0 │ │ │ │ │ + add.w r5, r0, r7 │ │ │ │ │ + mov.w lr, lr, lsl #3 │ │ │ │ │ vmla.f64 d0, d7, d8 │ │ │ │ │ vmul.f64 d7, d7, d10 │ │ │ │ │ - adds r1, r4, r7 │ │ │ │ │ - str r5, [sp, #40] @ 0x28 │ │ │ │ │ - mov.w r3, #448 @ 0x1c0 │ │ │ │ │ - adds r5, r0, r7 │ │ │ │ │ - str r2, [sp, #16] │ │ │ │ │ vnmls.f64 d7, d9, d8 │ │ │ │ │ vadd.f64 d9, d3, d1 │ │ │ │ │ vsub.f64 d3, d3, d1 │ │ │ │ │ - mul.w r3, r3, fp │ │ │ │ │ - add.w r2, r9, r3 │ │ │ │ │ - add r3, sl │ │ │ │ │ vadd.f64 d8, d2, d0 │ │ │ │ │ vsub.f64 d2, d2, d0 │ │ │ │ │ vsub.f64 d0, d4, d5 │ │ │ │ │ vadd.f64 d5, d4, d5 │ │ │ │ │ vadd.f64 d10, d9, d8 │ │ │ │ │ vsub.f64 d8, d9, d8 │ │ │ │ │ vadd.f64 d12, d2, d0 │ │ │ │ │ vsub.f64 d11, d0, d2 │ │ │ │ │ vsub.f64 d2, d6, d7 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ - vstr d10, [sp, #616] @ 0x268 │ │ │ │ │ - vstr d12, [sp, #632] @ 0x278 │ │ │ │ │ + vstr d10, [sp, #624] @ 0x270 │ │ │ │ │ + vstr d8, [sp, #632] @ 0x278 │ │ │ │ │ vadd.f64 d6, d7, d5 │ │ │ │ │ vsub.f64 d7, d5, d7 │ │ │ │ │ - vldr d12, [r6, #120] @ 0x78 │ │ │ │ │ - vsub.f64 d13, d3, d2 │ │ │ │ │ vldr d5, [r4] │ │ │ │ │ + vstr d12, [sp, #640] @ 0x280 │ │ │ │ │ + vsub.f64 d13, d3, d2 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ - vstr d11, [sp, #640] @ 0x280 │ │ │ │ │ - vstr d7, [sp, #672] @ 0x2a0 │ │ │ │ │ + vldr d12, [r6, #120] @ 0x78 │ │ │ │ │ + vstr d11, [sp, #648] @ 0x288 │ │ │ │ │ + vstr d7, [sp, #680] @ 0x2a8 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ vmul.f64 d11, d5, d12 │ │ │ │ │ - vstr d6, [sp, #664] @ 0x298 │ │ │ │ │ + vstr d6, [sp, #672] @ 0x2a0 │ │ │ │ │ vldr d6, [r6, #112] @ 0x70 │ │ │ │ │ + vstr d13, [sp, #656] @ 0x290 │ │ │ │ │ + vstr d3, [sp, #664] @ 0x298 │ │ │ │ │ + strd r0, r4, [sp, #72] @ 0x48 │ │ │ │ │ vmul.f64 d12, d7, d12 │ │ │ │ │ - vstr d8, [sp, #624] @ 0x270 │ │ │ │ │ - vstr d13, [sp, #648] @ 0x288 │ │ │ │ │ + str r5, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d10, [r6, #376] @ 0x178 │ │ │ │ │ vmla.f64 d11, d7, d6 │ │ │ │ │ - vstr d3, [sp, #656] @ 0x290 │ │ │ │ │ - str r0, [sp, #48] @ 0x30 │ │ │ │ │ - vnmls.f64 d12, d5, d6 │ │ │ │ │ + str r1, [sp, #104] @ 0x68 │ │ │ │ │ vldr d4, [r6, #632] @ 0x278 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - vldr d7, [r6, #624] @ 0x270 │ │ │ │ │ + vnmls.f64 d12, d5, d6 │ │ │ │ │ vldr d5, [r5] │ │ │ │ │ + add.w r5, r4, r7 │ │ │ │ │ + mov.w r4, r9, lsl #3 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + sub.w r2, r4, r9 │ │ │ │ │ + vldr d7, [r6, #624] @ 0x270 │ │ │ │ │ + mov.w r3, r2, lsl #6 │ │ │ │ │ + str r4, [sp, #8] │ │ │ │ │ + add.w r0, sl, r3 │ │ │ │ │ + add r3, fp │ │ │ │ │ + vldr d8, [r6, #888] @ 0x378 │ │ │ │ │ vmul.f64 d1, d6, d4 │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ - str r3, [sp, #72] @ 0x48 │ │ │ │ │ - movs r3, #192 @ 0xc0 │ │ │ │ │ + strd r5, r0, [sp, #84] @ 0x54 │ │ │ │ │ + str r3, [sp, #92] @ 0x5c │ │ │ │ │ + mov.w r3, ip, lsl #6 │ │ │ │ │ + add.w r5, fp, r3 │ │ │ │ │ + add.w r4, sl, r3 │ │ │ │ │ vmla.f64 d1, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d4 │ │ │ │ │ - vldr d8, [r6, #888] @ 0x378 │ │ │ │ │ vldr d4, [r6, #880] @ 0x370 │ │ │ │ │ - mul.w r3, r3, fp │ │ │ │ │ - str r4, [sp, #56] @ 0x38 │ │ │ │ │ - vnmls.f64 d5, d6, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ vmul.f64 d3, d2, d8 │ │ │ │ │ - add.w r4, sl, r3 │ │ │ │ │ - add.w r0, r9, r3 │ │ │ │ │ - vldr d10, [r6, #376] @ 0x178 │ │ │ │ │ + add.w r3, sl, r1 │ │ │ │ │ + strd r4, r5, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d9, [r5] │ │ │ │ │ + vnmls.f64 d5, d6, d7 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + add.w r0, fp, r1 │ │ │ │ │ + add.w r5, r0, r7 │ │ │ │ │ + add.w r1, r9, r9, lsl #2 │ │ │ │ │ + vsub.f64 d6, d11, d1 │ │ │ │ │ + vadd.f64 d11, d11, d1 │ │ │ │ │ vmla.f64 d3, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ - vldr d9, [r4] │ │ │ │ │ - vsub.f64 d0, d11, d1 │ │ │ │ │ vldr d8, [r6, #368] @ 0x170 │ │ │ │ │ - vadd.f64 d11, d11, d1 │ │ │ │ │ - mov.w r3, fp, lsl #5 │ │ │ │ │ - str r5, [sp, #60] @ 0x3c │ │ │ │ │ + vsub.f64 d0, d12, d5 │ │ │ │ │ + vadd.f64 d12, d12, d5 │ │ │ │ │ vnmls.f64 d7, d2, d4 │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ vmul.f64 d2, d9, d10 │ │ │ │ │ - vsub.f64 d6, d12, d5 │ │ │ │ │ - vadd.f64 d12, d12, d5 │ │ │ │ │ - add.w r5, r9, r3 │ │ │ │ │ + add.w r4, r3, r7 │ │ │ │ │ vmla.f64 d2, d4, d8 │ │ │ │ │ vmul.f64 d4, d4, d10 │ │ │ │ │ - add r3, sl │ │ │ │ │ - str r2, [sp, #68] @ 0x44 │ │ │ │ │ - adds r2, r3, r7 │ │ │ │ │ - str r1, [sp, #64] @ 0x40 │ │ │ │ │ - adds r1, r5, r7 │ │ │ │ │ - str r0, [sp, #76] @ 0x4c │ │ │ │ │ vnmls.f64 d4, d9, d8 │ │ │ │ │ - str r4, [sp, #80] @ 0x50 │ │ │ │ │ - str r5, [sp, #84] @ 0x54 │ │ │ │ │ - vsub.f64 d8, d3, d2 │ │ │ │ │ + vsub.f64 d9, d3, d2 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ - vsub.f64 d9, d7, d4 │ │ │ │ │ + vsub.f64 d8, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ vadd.f64 d1, d11, d3 │ │ │ │ │ vsub.f64 d3, d11, d3 │ │ │ │ │ vsub.f64 d5, d7, d12 │ │ │ │ │ vadd.f64 d4, d7, d12 │ │ │ │ │ - vadd.f64 d7, d8, d9 │ │ │ │ │ - vstr d3, [sp, #688] @ 0x2b0 │ │ │ │ │ - vldr d3, [pc, #964] @ 620 │ │ │ │ │ - vsub.f64 d8, d8, d9 │ │ │ │ │ - vstr d1, [sp, #680] @ 0x2a8 │ │ │ │ │ - vstr d5, [sp, #696] @ 0x2b8 │ │ │ │ │ - vsub.f64 d5, d0, d6 │ │ │ │ │ - vstr d4, [sp, #704] @ 0x2c0 │ │ │ │ │ - vadd.f64 d6, d0, d6 │ │ │ │ │ - vldr d12, [pc, #944] @ 628 │ │ │ │ │ + vldr d12, [pc, #992] @ 658 │ │ │ │ │ + vadd.f64 d7, d9, d8 │ │ │ │ │ + vsub.f64 d8, d9, d8 │ │ │ │ │ + vstr d1, [sp, #688] @ 0x2b0 │ │ │ │ │ + vstr d3, [sp, #696] @ 0x2b8 │ │ │ │ │ + vldr d3, [pc, #980] @ 660 │ │ │ │ │ + vstr d5, [sp, #704] @ 0x2c0 │ │ │ │ │ + vsub.f64 d5, d6, d0 │ │ │ │ │ + vadd.f64 d6, d6, d0 │ │ │ │ │ + vstr d4, [sp, #712] @ 0x2c8 │ │ │ │ │ vadd.f64 d4, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vmul.f64 d2, d4, d3 │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ - vstr d7, [sp, #720] @ 0x2d0 │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ + vstr d2, [sp, #720] @ 0x2d0 │ │ │ │ │ + vstr d7, [sp, #728] @ 0x2d8 │ │ │ │ │ vadd.f64 d7, d6, d8 │ │ │ │ │ vsub.f64 d6, d6, d8 │ │ │ │ │ - vstr d2, [sp, #712] @ 0x2c8 │ │ │ │ │ vmul.f64 d9, d7, d3 │ │ │ │ │ - vldr d7, [r6, #48] @ 0x30 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ + vldr d7, [r6, #48] @ 0x30 │ │ │ │ │ + vstr d9, [sp, #736] @ 0x2e0 │ │ │ │ │ + vstr d6, [sp, #744] @ 0x2e8 │ │ │ │ │ vldr d3, [r6, #56] @ 0x38 │ │ │ │ │ - vstr d9, [sp, #728] @ 0x2d8 │ │ │ │ │ - vstr d6, [sp, #736] @ 0x2e0 │ │ │ │ │ + str r1, [sp, #16] │ │ │ │ │ + vldr d2, [r5] │ │ │ │ │ + strd r3, r0, [sp, #108] @ 0x6c │ │ │ │ │ + mov.w r3, r1, lsl #5 │ │ │ │ │ + strd r4, r5, [sp, #116] @ 0x74 │ │ │ │ │ + vldr d1, [r6, #568] @ 0x238 │ │ │ │ │ + add.w r5, sl, r3 │ │ │ │ │ + add r3, fp │ │ │ │ │ vmul.f64 d6, d5, d3 │ │ │ │ │ + add.w r1, r5, r7 │ │ │ │ │ + vldr d0, [r3] │ │ │ │ │ + strd r5, r3, [sp, #124] @ 0x7c │ │ │ │ │ + vldr d8, [r6, #312] @ 0x138 │ │ │ │ │ vmla.f64 d6, d4, d7 │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ - str r1, [sp, #92] @ 0x5c │ │ │ │ │ - vldr d2, [r2] │ │ │ │ │ - vldr d1, [r6, #568] @ 0x238 │ │ │ │ │ vldr d3, [r6, #560] @ 0x230 │ │ │ │ │ + vldr d10, [r6, #824] @ 0x338 │ │ │ │ │ vnmls.f64 d4, d5, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ - str r3, [sp, #88] @ 0x58 │ │ │ │ │ - movs r3, #160 @ 0xa0 │ │ │ │ │ - str r2, [sp, #96] @ 0x60 │ │ │ │ │ + add.w r4, r3, r7 │ │ │ │ │ + mov.w r3, r9, lsl #4 │ │ │ │ │ + strd r1, r4, [sp, #132] @ 0x84 │ │ │ │ │ vmla.f64 d5, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d8, [r6, #312] @ 0x138 │ │ │ │ │ - mul.w r3, r3, fp │ │ │ │ │ - vldr d10, [r6, #824] @ 0x338 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ - add.w r0, sl, r3 │ │ │ │ │ - add.w r2, r9, r3 │ │ │ │ │ vldr d3, [r6, #304] @ 0x130 │ │ │ │ │ - adds r1, r0, r7 │ │ │ │ │ - adds r3, r2, r7 │ │ │ │ │ - vldr d0, [r0] │ │ │ │ │ vadd.f64 d1, d6, d5 │ │ │ │ │ - str r3, [sp, #108] @ 0x6c │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - str r0, [sp, #104] @ 0x68 │ │ │ │ │ - str r2, [sp, #100] @ 0x64 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ vadd.f64 d2, d4, d7 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ vmul.f64 d7, d0, d8 │ │ │ │ │ - str r1, [sp, #112] @ 0x70 │ │ │ │ │ vmla.f64 d7, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ - vldr d8, [r1] │ │ │ │ │ + vldr d8, [r4] │ │ │ │ │ vnmls.f64 d5, d0, d3 │ │ │ │ │ - vldr d0, [r6, #816] @ 0x330 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ + sub.w r1, r3, r9 │ │ │ │ │ vmul.f64 d9, d8, d10 │ │ │ │ │ - mov.w r3, #480 @ 0x1e0 │ │ │ │ │ + mov.w r0, r1, lsl #5 │ │ │ │ │ + vldr d0, [r6, #816] @ 0x330 │ │ │ │ │ + str r1, [sp, #0] │ │ │ │ │ + add.w r1, sl, r0 │ │ │ │ │ + add r0, fp │ │ │ │ │ + str r1, [sp, #140] @ 0x8c │ │ │ │ │ vmla.f64 d9, d3, d0 │ │ │ │ │ vmul.f64 d3, d3, d10 │ │ │ │ │ - mul.w r3, r3, fp │ │ │ │ │ - add.w r0, r9, r3 │ │ │ │ │ - add r3, sl │ │ │ │ │ vnmls.f64 d3, d8, d0 │ │ │ │ │ - str r3, [sp, #120] @ 0x78 │ │ │ │ │ - str r0, [sp, #116] @ 0x74 │ │ │ │ │ vadd.f64 d8, d7, d9 │ │ │ │ │ vsub.f64 d7, d7, d9 │ │ │ │ │ vadd.f64 d0, d5, d3 │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ vadd.f64 d11, d1, d8 │ │ │ │ │ vadd.f64 d9, d4, d7 │ │ │ │ │ vsub.f64 d7, d4, d7 │ │ │ │ │ vsub.f64 d1, d1, d8 │ │ │ │ │ vsub.f64 d3, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vstr d11, [sp, #744] @ 0x2e8 │ │ │ │ │ + vstr d11, [sp, #752] @ 0x2f0 │ │ │ │ │ vadd.f64 d13, d2, d0 │ │ │ │ │ - vldr d11, [pc, #660] @ 630 │ │ │ │ │ vsub.f64 d2, d2, d0 │ │ │ │ │ + vldr d11, [pc, #664] @ 668 │ │ │ │ │ vmul.f64 d5, d6, d12 │ │ │ │ │ - vmul.f64 d10, d9, d11 │ │ │ │ │ - vstr d13, [sp, #752] @ 0x2f0 │ │ │ │ │ vadd.f64 d15, d1, d2 │ │ │ │ │ vsub.f64 d1, d1, d2 │ │ │ │ │ + vstr d13, [sp, #760] @ 0x2f8 │ │ │ │ │ + vmul.f64 d10, d9, d11 │ │ │ │ │ vmov.f64 d4, d5 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - vmla.f64 d4, d7, d11 │ │ │ │ │ - vmul.f64 d7, d7, d12 │ │ │ │ │ vnmls.f64 d10, d3, d12 │ │ │ │ │ vmul.f64 d3, d3, d11 │ │ │ │ │ + vmla.f64 d4, d7, d11 │ │ │ │ │ + vmul.f64 d7, d7, d12 │ │ │ │ │ vmla.f64 d3, d9, d12 │ │ │ │ │ - movs r3, #224 @ 0xe0 │ │ │ │ │ - vstr d15, [sp, #792] @ 0x318 │ │ │ │ │ vnmls.f64 d7, d6, d11 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - mul.w r3, r3, fp │ │ │ │ │ - vstr d1, [sp, #800] @ 0x320 │ │ │ │ │ - add.w r0, sl, r3 │ │ │ │ │ - add.w r2, r9, r3 │ │ │ │ │ - vstr d4, [sp, #776] @ 0x308 │ │ │ │ │ - movs r3, #96 @ 0x60 │ │ │ │ │ - vstr d10, [sp, #760] @ 0x2f8 │ │ │ │ │ - vstr d3, [sp, #768] @ 0x300 │ │ │ │ │ + vstr d10, [sp, #768] @ 0x300 │ │ │ │ │ + vstr d15, [sp, #800] @ 0x320 │ │ │ │ │ + vstr d1, [sp, #808] @ 0x328 │ │ │ │ │ + vstr d3, [sp, #776] @ 0x308 │ │ │ │ │ + vstr d4, [sp, #784] @ 0x310 │ │ │ │ │ + vstr d7, [sp, #792] @ 0x318 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + str r0, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + mov.w r0, r2, lsl #5 │ │ │ │ │ + add.w r4, sl, r0 │ │ │ │ │ + add r0, fp │ │ │ │ │ + vldr d8, [r6, #184] @ 0xb8 │ │ │ │ │ vldr d3, [r6, #952] @ 0x3b8 │ │ │ │ │ - mul.w r3, r3, fp │ │ │ │ │ - vstr d7, [sp, #784] @ 0x310 │ │ │ │ │ + strd r4, r0, [sp, #148] @ 0x94 │ │ │ │ │ vldr d7, [r6, #944] @ 0x3b0 │ │ │ │ │ - add.w r4, sl, r3 │ │ │ │ │ - vmul.f64 d4, d5, d3 │ │ │ │ │ - str r2, [sp, #124] @ 0x7c │ │ │ │ │ vldr d2, [r0] │ │ │ │ │ - add.w r1, r9, r3 │ │ │ │ │ + mov.w r0, ip, lsl #5 │ │ │ │ │ + vmul.f64 d4, d5, d3 │ │ │ │ │ + vldr d1, [r6, #440] @ 0x1b8 │ │ │ │ │ + add.w r5, sl, r0 │ │ │ │ │ + add r0, fp │ │ │ │ │ + add.w r1, r5, r7 │ │ │ │ │ + vldr d10, [r6, #696] @ 0x2b8 │ │ │ │ │ + strd r5, r0, [sp, #156] @ 0x9c │ │ │ │ │ + vldr d0, [r0] │ │ │ │ │ vmla.f64 d4, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ - vldr d1, [r6, #440] @ 0x1b8 │ │ │ │ │ - adds r5, r1, r7 │ │ │ │ │ vldr d3, [r6, #432] @ 0x1b0 │ │ │ │ │ - mov.w r3, fp, lsl #4 │ │ │ │ │ - vldr d0, [r4] │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ - vldr d8, [r6, #184] @ 0xb8 │ │ │ │ │ - str r0, [sp, #128] @ 0x80 │ │ │ │ │ - adds r0, r4, r7 │ │ │ │ │ + add.w r4, r0, r7 │ │ │ │ │ + add.w r0, fp, r3 │ │ │ │ │ + strd r1, r4, [sp, #164] @ 0xa4 │ │ │ │ │ vmla.f64 d5, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vldr d1, [r6, #176] @ 0xb0 │ │ │ │ │ - add.w r2, r9, r3 │ │ │ │ │ - vldr d10, [r6, #696] @ 0x2b8 │ │ │ │ │ - str r5, [sp, #140] @ 0x8c │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ - str r4, [sp, #136] @ 0x88 │ │ │ │ │ - adds r4, r2, r7 │ │ │ │ │ - str r1, [sp, #132] @ 0x84 │ │ │ │ │ - str r0, [sp, #144] @ 0x90 │ │ │ │ │ - str r2, [sp, #148] @ 0x94 │ │ │ │ │ vadd.f64 d2, d4, d5 │ │ │ │ │ - str r4, [sp, #156] @ 0x9c │ │ │ │ │ vsub.f64 d4, d4, d5 │ │ │ │ │ vmul.f64 d5, d0, d8 │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, sl, r3 │ │ │ │ │ + add r3, r9 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ vmla.f64 d5, d7, d1 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ - vldr d8, [r0] │ │ │ │ │ + vldr d8, [r4] │ │ │ │ │ + add.w r4, r0, r7 │ │ │ │ │ vnmls.f64 d7, d0, d1 │ │ │ │ │ - vldr d0, [r6, #688] @ 0x2b0 │ │ │ │ │ - vldr d1, [r5] │ │ │ │ │ + vldr d1, [r1] │ │ │ │ │ + add.w r1, r5, r7 │ │ │ │ │ vmul.f64 d9, d8, d10 │ │ │ │ │ - add.w r5, sl, r3 │ │ │ │ │ - adds r3, r5, r7 │ │ │ │ │ + vldr d0, [r6, #688] @ 0x2b0 │ │ │ │ │ vmla.f64 d9, d1, d0 │ │ │ │ │ vmul.f64 d1, d1, d10 │ │ │ │ │ vnmls.f64 d1, d8, d0 │ │ │ │ │ vadd.f64 d8, d5, d9 │ │ │ │ │ vsub.f64 d5, d5, d9 │ │ │ │ │ vadd.f64 d0, d7, d1 │ │ │ │ │ vsub.f64 d7, d7, d1 │ │ │ │ │ vadd.f64 d1, d2, d8 │ │ │ │ │ vsub.f64 d2, d2, d8 │ │ │ │ │ vsub.f64 d9, d4, d7 │ │ │ │ │ - vadd.f64 d14, d3, d0 │ │ │ │ │ - vstr d1, [sp, #808] @ 0x328 │ │ │ │ │ + vadd.f64 d7, d4, d7 │ │ │ │ │ + vstr d1, [sp, #816] @ 0x330 │ │ │ │ │ vadd.f64 d1, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ + vadd.f64 d14, d3, d0 │ │ │ │ │ vsub.f64 d3, d3, d0 │ │ │ │ │ - vadd.f64 d7, d4, d7 │ │ │ │ │ - vstr d14, [sp, #816] @ 0x330 │ │ │ │ │ vmul.f64 d10, d9, d12 │ │ │ │ │ - vmla.f64 d10, d1, d11 │ │ │ │ │ - vmul.f64 d1, d1, d12 │ │ │ │ │ vmul.f64 d5, d6, d11 │ │ │ │ │ + vstr d14, [sp, #824] @ 0x338 │ │ │ │ │ vadd.f64 d4, d2, d3 │ │ │ │ │ - vnmls.f64 d1, d9, d11 │ │ │ │ │ + vmla.f64 d10, d1, d11 │ │ │ │ │ + vmul.f64 d1, d1, d12 │ │ │ │ │ vmov.f64 d13, d5 │ │ │ │ │ - vstr d4, [sp, #864] @ 0x360 │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ - vldr d4, [r6, #24] │ │ │ │ │ - vstr d10, [sp, #824] @ 0x338 │ │ │ │ │ + vnmls.f64 d1, d9, d11 │ │ │ │ │ vnmls.f64 d13, d7, d12 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ - vstr d1, [sp, #832] @ 0x340 │ │ │ │ │ + vstr d10, [sp, #832] @ 0x340 │ │ │ │ │ + vstr d4, [sp, #872] @ 0x368 │ │ │ │ │ vmov.f64 d14, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + vstr d1, [sp, #840] @ 0x348 │ │ │ │ │ vmla.f64 d14, d6, d12 │ │ │ │ │ vsub.f64 d6, d2, d3 │ │ │ │ │ - vmul.f64 d3, d5, d4 │ │ │ │ │ - vstr d13, [sp, #840] @ 0x348 │ │ │ │ │ - vstr d6, [sp, #856] @ 0x358 │ │ │ │ │ + vstr d13, [sp, #848] @ 0x350 │ │ │ │ │ + vstr d14, [sp, #856] @ 0x358 │ │ │ │ │ + vstr d6, [sp, #864] @ 0x360 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + strd r5, r0, [sp, #172] @ 0xac │ │ │ │ │ vldr d6, [r6, #16] │ │ │ │ │ + strd r1, r4, [sp, #180] @ 0xb4 │ │ │ │ │ + vldr d4, [r6, #24] │ │ │ │ │ + vmul.f64 d3, d5, d4 │ │ │ │ │ vmov.f64 d2, d3 │ │ │ │ │ vmla.f64 d2, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ - vstr d14, [sp, #848] @ 0x350 │ │ │ │ │ - vmov.f64 d15, d7 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - str r5, [sp, #152] @ 0x98 │ │ │ │ │ vldr d4, [r6, #536] @ 0x218 │ │ │ │ │ - str r3, [sp, #160] @ 0xa0 │ │ │ │ │ + vmov.f64 d15, d7 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ vnmls.f64 d15, d5, d6 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + vstr d2, [sp, #232] @ 0xe8 │ │ │ │ │ vldr d6, [r6, #528] @ 0x210 │ │ │ │ │ - movs r3, #144 @ 0x90 │ │ │ │ │ - vstr d2, [sp, #208] @ 0xd0 │ │ │ │ │ + ldr r4, [sp, #8] │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ - mul.w r3, r3, fp │ │ │ │ │ - add.w r0, r9, r3 │ │ │ │ │ - add r3, sl │ │ │ │ │ + add.w r0, r4, r9 │ │ │ │ │ + mov.w r8, r0, lsl #4 │ │ │ │ │ + vstr d15, [sp, #240] @ 0xf0 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ vmov.f64 d14, d3 │ │ │ │ │ - adds r4, r3, r7 │ │ │ │ │ + add.w r4, fp, r8 │ │ │ │ │ + add.w r5, sl, r8 │ │ │ │ │ + add.w r1, r5, r7 │ │ │ │ │ + strd r5, r4, [sp, #188] @ 0xbc │ │ │ │ │ + str r1, [sp, #196] @ 0xc4 │ │ │ │ │ vmla.f64 d14, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ - adds r1, r0, r7 │ │ │ │ │ - vstr d15, [sp, #216] @ 0xd8 │ │ │ │ │ - str r3, [sp, #168] @ 0xa8 │ │ │ │ │ - str r4, [sp, #176] @ 0xb0 │ │ │ │ │ vmov.f64 d4, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - str r1, [sp, #172] @ 0xac │ │ │ │ │ - str r0, [sp, #164] @ 0xa4 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + ldr r5, [sp, #16] │ │ │ │ │ vnmls.f64 d4, d5, d6 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - vldr d6, [r6, #272] @ 0x110 │ │ │ │ │ - movs r3, #80 @ 0x50 │ │ │ │ │ - vstr d14, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + vstr d14, [sp, #248] @ 0xf8 │ │ │ │ │ vadd.f64 d14, d2, d14 │ │ │ │ │ - mul.w r3, r3, fp │ │ │ │ │ + vldr d6, [r6, #272] @ 0x110 │ │ │ │ │ + mov.w r8, r5, lsl #4 │ │ │ │ │ + add.w r5, fp, r8 │ │ │ │ │ vadd.f64 d13, d15, d4 │ │ │ │ │ - vstr d4, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d4, [sp, #256] @ 0x100 │ │ │ │ │ vldr d4, [r6, #280] @ 0x118 │ │ │ │ │ vldr d15, [r6, #792] @ 0x318 │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ vmla.f64 d3, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vmov.f64 d8, d7 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - add.w r1, r9, r3 │ │ │ │ │ - str r1, [sp, #180] @ 0xb4 │ │ │ │ │ + add.w r1, r4, r7 │ │ │ │ │ + add.w r4, sl, r8 │ │ │ │ │ + mov.w r8, #464 @ 0x1d0 │ │ │ │ │ + str r1, [sp, #200] @ 0xc8 │ │ │ │ │ + mul.w r8, r8, r9 │ │ │ │ │ vnmls.f64 d8, d5, d6 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + add.w r1, r4, r7 │ │ │ │ │ + vstr d3, [sp, #264] @ 0x108 │ │ │ │ │ vldr d6, [r6, #784] @ 0x310 │ │ │ │ │ - add.w r4, sl, r3 │ │ │ │ │ - vstr d3, [sp, #240] @ 0xf0 │ │ │ │ │ - adds r3, r1, r7 │ │ │ │ │ - vmul.f64 d10, d5, d15 │ │ │ │ │ - vmul.f64 d15, d7, d15 │ │ │ │ │ - vmla.f64 d10, d7, d6 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - b.n 640 │ │ │ │ │ + b.n 678 │ │ │ │ │ nop │ │ │ │ │ nop.w │ │ │ │ │ - .word 0x667f3bcd │ │ │ │ │ - .word 0x3fe6a09e │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ + .word 0x667f3bcd │ │ │ │ │ + .word 0x3fe6a09e │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ - .word 0x00000616 │ │ │ │ │ + .word 0x0000063c │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - adds r0, r4, r7 │ │ │ │ │ - str r3, [sp, #188] @ 0xbc │ │ │ │ │ - str r4, [sp, #184] @ 0xb8 │ │ │ │ │ + vmul.f64 d10, d5, d15 │ │ │ │ │ + vmul.f64 d15, d7, d15 │ │ │ │ │ + vstr d8, [sp, #272] @ 0x110 │ │ │ │ │ + vmla.f64 d10, d7, d6 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ vnmls.f64 d15, d5, d6 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + strd r4, r5, [sp, #204] @ 0xcc │ │ │ │ │ + add r5, r7 │ │ │ │ │ + add.w r4, fp, r8 │ │ │ │ │ vldr d6, [r6, #144] @ 0x90 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ - str r0, [sp, #192] @ 0xc0 │ │ │ │ │ - vstr d8, [sp, #248] @ 0xf8 │ │ │ │ │ + str r1, [sp, #212] @ 0xd4 │ │ │ │ │ + vldr d2, [r5] │ │ │ │ │ + str r4, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d1, [r6, #664] @ 0x298 │ │ │ │ │ vadd.f64 d12, d3, d10 │ │ │ │ │ vldr d3, [r6, #152] @ 0x98 │ │ │ │ │ - vmul.f64 d4, d5, d3 │ │ │ │ │ vadd.f64 d11, d8, d15 │ │ │ │ │ + vldr d8, [r6, #920] @ 0x398 │ │ │ │ │ + vmul.f64 d4, d5, d3 │ │ │ │ │ vmla.f64 d4, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ - vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ vldr d3, [r6, #656] @ 0x290 │ │ │ │ │ - mov.w r3, #464 @ 0x1d0 │ │ │ │ │ - vldr d1, [r6, #664] @ 0x298 │ │ │ │ │ - vldr d8, [r6, #920] @ 0x398 │ │ │ │ │ - mul.w r3, r3, fp │ │ │ │ │ + vnmls.f64 d7, d5, d6 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ + add.w r1, sl, r8 │ │ │ │ │ + mov.w r8, #208 @ 0xd0 │ │ │ │ │ + mul.w r8, r8, r9 │ │ │ │ │ + strd r5, r1, [sp, #216] @ 0xd8 │ │ │ │ │ vmla.f64 d5, d6, d3 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ - add.w r4, sl, r3 │ │ │ │ │ - add.w r2, r9, r3 │ │ │ │ │ - movs r3, #208 @ 0xd0 │ │ │ │ │ - str r2, [sp, #196] @ 0xc4 │ │ │ │ │ - str r4, [sp, #200] @ 0xc8 │ │ │ │ │ + add.w r5, sl, r8 │ │ │ │ │ + str r5, [sp, #228] @ 0xe4 │ │ │ │ │ vnmls.f64 d6, d2, d3 │ │ │ │ │ vldr d3, [r4] │ │ │ │ │ - mul.w r3, r3, fp │ │ │ │ │ - vmul.f64 d1, d3, d8 │ │ │ │ │ - add.w r1, r9, r3 │ │ │ │ │ vadd.f64 d2, d4, d5 │ │ │ │ │ - add r3, sl │ │ │ │ │ vsub.f64 d4, d4, d5 │ │ │ │ │ vldr d5, [r6, #912] @ 0x390 │ │ │ │ │ - str r3, [sp, #264] @ 0x108 │ │ │ │ │ - vldr d9, [r3] │ │ │ │ │ - add.w r3, sp, #1488 @ 0x5d0 │ │ │ │ │ + vmul.f64 d1, d3, d8 │ │ │ │ │ vadd.f64 d0, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - str r1, [sp, #204] @ 0xcc │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + add.w r1, fp, r8 │ │ │ │ │ + vldr d9, [r1] │ │ │ │ │ + str r1, [sp, #288] @ 0x120 │ │ │ │ │ + add.w r1, sp, #1496 @ 0x5d8 │ │ │ │ │ vmla.f64 d1, d6, d5 │ │ │ │ │ vmul.f64 d6, d6, d8 │ │ │ │ │ vldr d8, [r6, #400] @ 0x190 │ │ │ │ │ vnmls.f64 d6, d3, d5 │ │ │ │ │ vldr d5, [r6, #408] @ 0x198 │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ + vldr d3, [r5] │ │ │ │ │ vmul.f64 d5, d9, d5 │ │ │ │ │ vmla.f64 d5, d3, d8 │ │ │ │ │ - vstr d5, [sp, #256] @ 0x100 │ │ │ │ │ + vstr d5, [sp, #280] @ 0x118 │ │ │ │ │ vldr d5, [r6, #408] @ 0x198 │ │ │ │ │ vmul.f64 d3, d3, d5 │ │ │ │ │ - vldr d5, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d5, [sp, #280] @ 0x118 │ │ │ │ │ vnmls.f64 d3, d9, d8 │ │ │ │ │ vadd.f64 d9, d1, d5 │ │ │ │ │ vsub.f64 d5, d1, d5 │ │ │ │ │ vadd.f64 d1, d14, d12 │ │ │ │ │ vsub.f64 d14, d14, d12 │ │ │ │ │ - vstr d1, [sp, #872] @ 0x368 │ │ │ │ │ + vstr d1, [sp, #880] @ 0x370 │ │ │ │ │ vadd.f64 d8, d6, d3 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ vadd.f64 d3, d2, d9 │ │ │ │ │ vsub.f64 d2, d2, d9 │ │ │ │ │ - vldr d9, [pc, #976] @ b10 │ │ │ │ │ - vstr d3, [sp, #880] @ 0x370 │ │ │ │ │ + vldr d9, [pc, #988] @ b60 │ │ │ │ │ + vstr d3, [sp, #888] @ 0x378 │ │ │ │ │ vsub.f64 d3, d1, d3 │ │ │ │ │ vadd.f64 d1, d13, d11 │ │ │ │ │ vsub.f64 d13, d13, d11 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ + vstr d3, [r1] │ │ │ │ │ vadd.f64 d3, d0, d8 │ │ │ │ │ - vstr d1, [sp, #888] @ 0x378 │ │ │ │ │ - add.w r3, sp, #1496 @ 0x5d8 │ │ │ │ │ + add.w r1, sp, #1504 @ 0x5e0 │ │ │ │ │ + vstr d1, [sp, #896] @ 0x380 │ │ │ │ │ vsub.f64 d11, d13, d2 │ │ │ │ │ vadd.f64 d2, d13, d2 │ │ │ │ │ vsub.f64 d8, d8, d0 │ │ │ │ │ vsub.f64 d1, d1, d3 │ │ │ │ │ - vstr d3, [sp, #896] @ 0x380 │ │ │ │ │ - vldr d3, [sp, #208] @ 0xd0 │ │ │ │ │ - vstr d1, [r3] │ │ │ │ │ - add.w r3, sp, #1504 @ 0x5e0 │ │ │ │ │ - vldr d1, [sp, #224] @ 0xe0 │ │ │ │ │ - vstr d11, [r3] │ │ │ │ │ - add.w r3, sp, #1512 @ 0x5e8 │ │ │ │ │ - vsub.f64 d1, d3, d1 │ │ │ │ │ - vldr d3, [sp, #248] @ 0xf8 │ │ │ │ │ - vstr d2, [r3] │ │ │ │ │ + vstr d3, [sp, #904] @ 0x388 │ │ │ │ │ + vstr d1, [r1] │ │ │ │ │ + add.w r1, sp, #1512 @ 0x5e8 │ │ │ │ │ + vldr d3, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d11, [r1] │ │ │ │ │ + add.w r1, sp, #1520 @ 0x5f0 │ │ │ │ │ + ldr r5, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d2, [r1] │ │ │ │ │ vsub.f64 d2, d4, d7 │ │ │ │ │ - vsub.f64 d15, d3, d15 │ │ │ │ │ vadd.f64 d7, d4, d7 │ │ │ │ │ - add.w r3, sp, #1520 @ 0x5f0 │ │ │ │ │ + vldr d1, [sp, #248] @ 0xf8 │ │ │ │ │ + add.w r1, sp, #1528 @ 0x5f8 │ │ │ │ │ + vldr d4, [sp, #256] @ 0x100 │ │ │ │ │ + sub.w r5, r5, r9 │ │ │ │ │ + mov.w r8, r5, lsl #4 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ + vsub.f64 d1, d3, d1 │ │ │ │ │ + vldr d3, [sp, #272] @ 0x110 │ │ │ │ │ + add.w r4, sl, r8 │ │ │ │ │ + str r4, [sp, #104] @ 0x68 │ │ │ │ │ + vsub.f64 d15, d3, d15 │ │ │ │ │ vsub.f64 d3, d1, d15 │ │ │ │ │ vadd.f64 d15, d1, d15 │ │ │ │ │ - vstr d3, [sp, #904] @ 0x388 │ │ │ │ │ + vstr d3, [sp, #912] @ 0x390 │ │ │ │ │ vadd.f64 d3, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vstr d15, [sp, #912] @ 0x390 │ │ │ │ │ + vstr d15, [sp, #920] @ 0x398 │ │ │ │ │ vadd.f64 d1, d2, d3 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ - vadd.f64 d5, d7, d6 │ │ │ │ │ vmov.f64 d2, d9 │ │ │ │ │ + vadd.f64 d5, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vmul.f64 d13, d1, d9 │ │ │ │ │ vmul.f64 d9, d3, d9 │ │ │ │ │ vmul.f64 d5, d5, d2 │ │ │ │ │ vmul.f64 d6, d7, d2 │ │ │ │ │ - vstr d13, [sp, #920] @ 0x398 │ │ │ │ │ - vstr d9, [sp, #928] @ 0x3a0 │ │ │ │ │ - vstr d5, [sp, #936] @ 0x3a8 │ │ │ │ │ + vstr d13, [sp, #928] @ 0x3a0 │ │ │ │ │ + vstr d9, [sp, #936] @ 0x3a8 │ │ │ │ │ + vldr d9, [sp, #240] @ 0xf0 │ │ │ │ │ + vstr d5, [sp, #944] @ 0x3b0 │ │ │ │ │ vsub.f64 d5, d14, d8 │ │ │ │ │ - vldr d9, [sp, #216] @ 0xd8 │ │ │ │ │ vadd.f64 d14, d14, d8 │ │ │ │ │ - vldr d4, [sp, #232] @ 0xe8 │ │ │ │ │ - vstr d6, [sp, #944] @ 0x3b0 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - add.w r3, sp, #1528 @ 0x5f8 │ │ │ │ │ + vstr d6, [sp, #952] @ 0x3b8 │ │ │ │ │ vsub.f64 d7, d9, d4 │ │ │ │ │ - vldr d9, [sp, #240] @ 0xf0 │ │ │ │ │ - vstr d14, [r3] │ │ │ │ │ - mov.w r3, #496 @ 0x1f0 │ │ │ │ │ + vldr d9, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ + add.w r1, sp, #1536 @ 0x600 │ │ │ │ │ + vstr d14, [r1] │ │ │ │ │ + add.w r1, fp, r8 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ vsub.f64 d6, d9, d10 │ │ │ │ │ - mul.w r3, r3, fp │ │ │ │ │ + str r1, [sp, #232] @ 0xe8 │ │ │ │ │ + ldr r1, [sp, #0] │ │ │ │ │ vadd.f64 d4, d7, d6 │ │ │ │ │ - add.w r2, sl, r3 │ │ │ │ │ - add.w r0, r9, r3 │ │ │ │ │ vsub.f64 d9, d7, d6 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + mov.w r8, r1, lsl #4 │ │ │ │ │ vldr d6, [r6, #976] @ 0x3d0 │ │ │ │ │ - movs r3, #240 @ 0xf0 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - vstr d4, [sp, #952] @ 0x3b8 │ │ │ │ │ + add.w r1, fp, r8 │ │ │ │ │ + add.w r4, sl, r8 │ │ │ │ │ + mov.w r8, r2, lsl #4 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + str r4, [sp, #240] @ 0xf0 │ │ │ │ │ + str r1, [sp, #248] @ 0xf8 │ │ │ │ │ + vstr d4, [sp, #960] @ 0x3c0 │ │ │ │ │ vldr d4, [r6, #984] @ 0x3d8 │ │ │ │ │ - mul.w r3, r3, fp │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - vstr d9, [sp, #960] @ 0x3c0 │ │ │ │ │ - add.w r4, r9, r3 │ │ │ │ │ + vstr d9, [sp, #968] @ 0x3c8 │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ - add r3, sl │ │ │ │ │ - str r3, [sp, #232] @ 0xe8 │ │ │ │ │ - str r0, [sp, #208] @ 0xd0 │ │ │ │ │ - str r2, [sp, #216] @ 0xd8 │ │ │ │ │ vmov.f64 d9, d3 │ │ │ │ │ - str r4, [sp, #224] @ 0xe0 │ │ │ │ │ vmla.f64 d9, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vldr d4, [r6, #472] @ 0x1d8 │ │ │ │ │ vmov.f64 d14, d7 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ + add.w r4, sl, r8 │ │ │ │ │ vnmls.f64 d14, d5, d6 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + add.w r1, fp, r8 │ │ │ │ │ + mov.w r8, ip, lsl #4 │ │ │ │ │ vldr d6, [r6, #464] @ 0x1d0 │ │ │ │ │ - movs r3, #112 @ 0x70 │ │ │ │ │ - vstr d9, [sp, #304] @ 0x130 │ │ │ │ │ + vstr d9, [sp, #320] @ 0x140 │ │ │ │ │ + str r4, [sp, #256] @ 0x100 │ │ │ │ │ + str r1, [sp, #264] @ 0x108 │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ - mul.w r3, r3, fp │ │ │ │ │ - add.w r0, r9, r3 │ │ │ │ │ - add r3, sl │ │ │ │ │ + vstr d14, [sp, #328] @ 0x148 │ │ │ │ │ vmov.f64 d15, d3 │ │ │ │ │ - adds r1, r0, r7 │ │ │ │ │ vmla.f64 d15, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vldr d4, [r6, #216] @ 0xd8 │ │ │ │ │ - adds r2, r3, r7 │ │ │ │ │ - vstr d14, [sp, #312] @ 0x138 │ │ │ │ │ - str r3, [sp, #248] @ 0xf8 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ vldr d6, [r6, #208] @ 0xd0 │ │ │ │ │ - movs r3, #48 @ 0x30 │ │ │ │ │ - str r0, [sp, #240] @ 0xf0 │ │ │ │ │ - vmul.f64 d3, d5, d4 │ │ │ │ │ - str r1, [sp, #256] @ 0x100 │ │ │ │ │ vadd.f64 d13, d9, d15 │ │ │ │ │ - vstr d15, [sp, #320] @ 0x140 │ │ │ │ │ - mul.w r3, r3, fp │ │ │ │ │ - vmov.f64 d1, d3 │ │ │ │ │ - add.w r4, sl, r3 │ │ │ │ │ + vstr d15, [sp, #336] @ 0x150 │ │ │ │ │ + vmul.f64 d3, d5, d4 │ │ │ │ │ + vldr d15, [r6, #728] @ 0x2d8 │ │ │ │ │ vadd.f64 d14, d14, d7 │ │ │ │ │ - vstr d7, [sp, #328] @ 0x148 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - add.w r5, r9, r3 │ │ │ │ │ - adds r0, r5, r7 │ │ │ │ │ - mov.w r3, #432 @ 0x1b0 │ │ │ │ │ + vstr d7, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + add r4, r7 │ │ │ │ │ + vmov.f64 d1, d3 │ │ │ │ │ + str r4, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d3, [r6, #88] @ 0x58 │ │ │ │ │ vmla.f64 d1, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ - mul.w r3, r3, fp │ │ │ │ │ vmov.f64 d12, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - str r2, [sp, #268] @ 0x10c │ │ │ │ │ - adds r1, r4, r7 │ │ │ │ │ - vldr d15, [r6, #728] @ 0x2d8 │ │ │ │ │ - vldr d3, [r6, #88] @ 0x58 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + add.w r4, r1, r7 │ │ │ │ │ + add.w r1, sl, r8 │ │ │ │ │ + str r4, [sp, #280] @ 0x118 │ │ │ │ │ + str r1, [sp, #292] @ 0x124 │ │ │ │ │ vnmls.f64 d12, d5, d6 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + add.w r4, fp, r8 │ │ │ │ │ + vmov.f64 d4, d1 │ │ │ │ │ + vstr d1, [sp, #352] @ 0x160 │ │ │ │ │ + mov.w r8, #432 @ 0x1b0 │ │ │ │ │ + vldr d1, [r6, #600] @ 0x258 │ │ │ │ │ + mul.w r8, r8, r9 │ │ │ │ │ vldr d6, [r6, #720] @ 0x2d0 │ │ │ │ │ - add.w r2, r9, r3 │ │ │ │ │ - vldr d2, [r1] │ │ │ │ │ vmul.f64 d10, d5, d15 │ │ │ │ │ vmul.f64 d15, d7, d15 │ │ │ │ │ + vstr d12, [sp, #360] @ 0x168 │ │ │ │ │ vmla.f64 d10, d7, d6 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - vstr d1, [sp, #336] @ 0x150 │ │ │ │ │ - str r4, [sp, #276] @ 0x114 │ │ │ │ │ vnmls.f64 d15, d5, d6 │ │ │ │ │ vldr d5, [r4] │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + add r1, r7 │ │ │ │ │ vldr d6, [r6, #80] @ 0x50 │ │ │ │ │ - add.w r4, sl, r3 │ │ │ │ │ - vldr d8, [r6, #856] @ 0x358 │ │ │ │ │ - movs r3, #176 @ 0xb0 │ │ │ │ │ + strd r4, r1, [sp, #296] @ 0x128 │ │ │ │ │ + vadd.f64 d11, d4, d10 │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ - str r0, [sp, #280] @ 0x118 │ │ │ │ │ + vadd.f64 d12, d12, d15 │ │ │ │ │ vmla.f64 d4, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ - vadd.f64 d11, d1, d10 │ │ │ │ │ - vldr d1, [r6, #600] @ 0x258 │ │ │ │ │ vldr d3, [r6, #592] @ 0x250 │ │ │ │ │ - mul.w r3, r3, fp │ │ │ │ │ - str r5, [sp, #272] @ 0x110 │ │ │ │ │ - movs r5, #120 @ 0x78 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + add.w r1, r4, r7 │ │ │ │ │ + add.w r4, sl, r8 │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ + strd r1, r4, [sp, #304] @ 0x130 │ │ │ │ │ + add.w r1, fp, r8 │ │ │ │ │ + mov.w r8, #176 @ 0xb0 │ │ │ │ │ + mul.w r8, r8, r9 │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ - add.w r0, r9, r3 │ │ │ │ │ - add r3, sl │ │ │ │ │ - str r1, [sp, #284] @ 0x11c │ │ │ │ │ vmla.f64 d5, d6, d3 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ - str r2, [sp, #288] @ 0x120 │ │ │ │ │ - mul.w r5, r5, fp │ │ │ │ │ - vldr d9, [r3] │ │ │ │ │ - str r4, [sp, #292] @ 0x124 │ │ │ │ │ vnmls.f64 d6, d2, d3 │ │ │ │ │ - vldr d3, [r4] │ │ │ │ │ - str r0, [sp, #296] @ 0x128 │ │ │ │ │ - movs r4, #56 @ 0x38 │ │ │ │ │ - str r3, [sp, #300] @ 0x12c │ │ │ │ │ - add.w r3, sp, #1024 @ 0x400 │ │ │ │ │ - vmul.f64 d1, d3, d8 │ │ │ │ │ - vstr d12, [sp, #344] @ 0x158 │ │ │ │ │ vadd.f64 d2, d4, d5 │ │ │ │ │ - mul.w r4, r4, fp │ │ │ │ │ vsub.f64 d4, d4, d5 │ │ │ │ │ - vldr d5, [r6, #848] @ 0x350 │ │ │ │ │ - vadd.f64 d12, d12, d15 │ │ │ │ │ - add.w r8, r9, r4 │ │ │ │ │ - add r4, sl │ │ │ │ │ vadd.f64 d0, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + add.w r4, sl, r8 │ │ │ │ │ + vstr d0, [sp, #368] @ 0x170 │ │ │ │ │ + strd r1, r4, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ + add.w r1, fp, r8 │ │ │ │ │ + add.w r8, sl, r2 │ │ │ │ │ + add r2, fp │ │ │ │ │ + vldr d9, [r1] │ │ │ │ │ + str r1, [sp, #376] @ 0x178 │ │ │ │ │ + add.w r1, sp, #1024 @ 0x400 │ │ │ │ │ + vldr d8, [r6, #856] @ 0x358 │ │ │ │ │ + vldr d5, [r6, #848] @ 0x350 │ │ │ │ │ + vldr d0, [r6, #344] @ 0x158 │ │ │ │ │ + vmul.f64 d1, d3, d8 │ │ │ │ │ vmla.f64 d1, d6, d5 │ │ │ │ │ vmul.f64 d6, d6, d8 │ │ │ │ │ - vstr d0, [sp, #352] @ 0x160 │ │ │ │ │ vldr d8, [r6, #336] @ 0x150 │ │ │ │ │ - vldr d0, [r6, #344] @ 0x158 │ │ │ │ │ vnmls.f64 d6, d3, d5 │ │ │ │ │ vldr d5, [r6, #344] @ 0x158 │ │ │ │ │ - vldr d3, [r0] │ │ │ │ │ + vldr d3, [r4] │ │ │ │ │ + add.w r4, sl, lr │ │ │ │ │ vmul.f64 d5, d9, d5 │ │ │ │ │ vmla.f64 d5, d3, d8 │ │ │ │ │ vmul.f64 d3, d3, d0 │ │ │ │ │ + vldr d0, [sp, #368] @ 0x170 │ │ │ │ │ vnmls.f64 d3, d9, d8 │ │ │ │ │ vadd.f64 d9, d1, d5 │ │ │ │ │ vsub.f64 d5, d1, d5 │ │ │ │ │ vadd.f64 d8, d6, d3 │ │ │ │ │ - vadd.f64 d1, d2, d9 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ + vadd.f64 d1, d2, d9 │ │ │ │ │ vadd.f64 d3, d13, d11 │ │ │ │ │ vsub.f64 d13, d13, d11 │ │ │ │ │ vsub.f64 d2, d2, d9 │ │ │ │ │ - vstr d3, [sp, #968] @ 0x3c8 │ │ │ │ │ - vstr d1, [sp, #976] @ 0x3d0 │ │ │ │ │ + vstr d3, [sp, #976] @ 0x3d0 │ │ │ │ │ + vstr d1, [sp, #984] @ 0x3d8 │ │ │ │ │ vsub.f64 d1, d3, d1 │ │ │ │ │ - vldr d0, [sp, #352] @ 0x160 │ │ │ │ │ vadd.f64 d3, d14, d12 │ │ │ │ │ vsub.f64 d14, d14, d12 │ │ │ │ │ - vstr d1, [sp, #984] @ 0x3d8 │ │ │ │ │ + vstr d1, [sp, #992] @ 0x3e0 │ │ │ │ │ vadd.f64 d1, d0, d8 │ │ │ │ │ - vstr d3, [sp, #992] @ 0x3e0 │ │ │ │ │ vsub.f64 d8, d8, d0 │ │ │ │ │ + vstr d3, [sp, #1000] @ 0x3e8 │ │ │ │ │ vsub.f64 d9, d14, d2 │ │ │ │ │ vadd.f64 d2, d14, d2 │ │ │ │ │ vsub.f64 d3, d3, d1 │ │ │ │ │ - vstr d1, [sp, #1000] @ 0x3e8 │ │ │ │ │ - vldr d1, [sp, #320] @ 0x140 │ │ │ │ │ + vstr d1, [sp, #1008] @ 0x3f0 │ │ │ │ │ vsub.f64 d0, d13, d8 │ │ │ │ │ + vldr d1, [sp, #336] @ 0x150 │ │ │ │ │ vadd.f64 d8, d13, d8 │ │ │ │ │ - vstr d3, [sp, #1008] @ 0x3f0 │ │ │ │ │ - vldr d3, [sp, #304] @ 0x130 │ │ │ │ │ + vstr d3, [sp, #1016] @ 0x3f8 │ │ │ │ │ + vldr d3, [sp, #320] @ 0x140 │ │ │ │ │ vsub.f64 d1, d3, d1 │ │ │ │ │ - vldr d3, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d3, [sp, #360] @ 0x168 │ │ │ │ │ vsub.f64 d15, d3, d15 │ │ │ │ │ vsub.f64 d3, d1, d15 │ │ │ │ │ vadd.f64 d15, d1, d15 │ │ │ │ │ vsub.f64 d1, d4, d7 │ │ │ │ │ vadd.f64 d7, d4, d7 │ │ │ │ │ - vstr d15, [r3] │ │ │ │ │ - add.w r3, sp, #1536 @ 0x600 │ │ │ │ │ - vstr d3, [sp, #1016] @ 0x3f8 │ │ │ │ │ + vstr d3, [r1] │ │ │ │ │ vadd.f64 d3, d5, d6 │ │ │ │ │ + add.w r1, sp, #1032 @ 0x408 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vstr d0, [r3] │ │ │ │ │ - add.w r3, sp, #1544 @ 0x608 │ │ │ │ │ + vstr d15, [r1] │ │ │ │ │ + add.w r1, sp, #1544 @ 0x608 │ │ │ │ │ + vstr d0, [r1] │ │ │ │ │ + add.w r1, sp, #1552 @ 0x610 │ │ │ │ │ vadd.f64 d0, d1, d3 │ │ │ │ │ + vstr d8, [r1] │ │ │ │ │ vsub.f64 d3, d3, d1 │ │ │ │ │ - vstr d8, [r3] │ │ │ │ │ - add.w r3, sp, #1032 @ 0x408 │ │ │ │ │ - vldr d8, [pc, #72] @ b10 │ │ │ │ │ + vldr d8, [pc, #68] @ b60 │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #312] @ 0x138 │ │ │ │ │ - vmul.f64 d0, d0, d8 │ │ │ │ │ + add.w r1, sp, #1040 @ 0x410 │ │ │ │ │ + vldr d6, [sp, #328] @ 0x148 │ │ │ │ │ vmov.f64 d1, d8 │ │ │ │ │ + vmul.f64 d0, d0, d8 │ │ │ │ │ vmul.f64 d8, d3, d8 │ │ │ │ │ - vstr d0, [r3] │ │ │ │ │ - add.w r3, sp, #1040 @ 0x410 │ │ │ │ │ vmul.f64 d4, d5, d1 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d5, [sp, #328] @ 0x148 │ │ │ │ │ - vstr d8, [r3] │ │ │ │ │ - add.w r3, sp, #1048 @ 0x418 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - add.w r3, sp, #1056 @ 0x420 │ │ │ │ │ - vldr d4, [r6, #1000] @ 0x3e8 │ │ │ │ │ - b.n b20 │ │ │ │ │ + vldr d5, [sp, #344] @ 0x158 │ │ │ │ │ + vstr d0, [r1] │ │ │ │ │ + add.w r1, sp, #1048 @ 0x418 │ │ │ │ │ + vstr d8, [r1] │ │ │ │ │ + add.w r1, sp, #1056 @ 0x420 │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ + add.w r1, sp, #1064 @ 0x428 │ │ │ │ │ + b.n b70 │ │ │ │ │ nop │ │ │ │ │ - nop.w │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - add.w r3, sp, #1552 @ 0x610 │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ + add.w r1, sp, #1560 @ 0x618 │ │ │ │ │ vsub.f64 d7, d6, d5 │ │ │ │ │ - vstr d9, [r3] │ │ │ │ │ - add.w r3, sp, #1560 @ 0x618 │ │ │ │ │ - vldr d9, [sp, #336] @ 0x150 │ │ │ │ │ - vstr d2, [r3] │ │ │ │ │ - add.w r3, sp, #1064 @ 0x428 │ │ │ │ │ + vstr d9, [r1] │ │ │ │ │ + add.w r1, sp, #1568 @ 0x620 │ │ │ │ │ + vstr d2, [r1] │ │ │ │ │ + add.w r1, sp, #1072 @ 0x430 │ │ │ │ │ + vldr d9, [sp, #352] @ 0x160 │ │ │ │ │ + str r4, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d4, [r6, #1000] @ 0x3e8 │ │ │ │ │ vsub.f64 d6, d9, d10 │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ vsub.f64 d14, d7, d6 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + add.w r4, sl, r5 │ │ │ │ │ + add r5, fp │ │ │ │ │ vldr d6, [r6, #992] @ 0x3e0 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - add.w r3, sp, #1072 @ 0x430 │ │ │ │ │ - vstr d14, [r3] │ │ │ │ │ - mov.w r3, #504 @ 0x1f8 │ │ │ │ │ - mul.w r3, r3, fp │ │ │ │ │ - add.w r2, sl, r3 │ │ │ │ │ - add.w r1, r9, r3 │ │ │ │ │ - movs r3, #248 @ 0xf8 │ │ │ │ │ - str r1, [sp, #304] @ 0x130 │ │ │ │ │ - str r2, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - mul.w r3, r3, fp │ │ │ │ │ + str r4, [sp, #336] @ 0x150 │ │ │ │ │ + str r5, [sp, #344] @ 0x158 │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ + add.w r1, sp, #1080 @ 0x438 │ │ │ │ │ + vstr d14, [r1] │ │ │ │ │ + add.w r1, fp, lr │ │ │ │ │ + mov.w lr, #184 @ 0xb8 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + mul.w lr, lr, r9 │ │ │ │ │ + str r1, [sp, #328] @ 0x148 │ │ │ │ │ + ldr r1, [sp, #0] │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ - add.w r0, r9, r3 │ │ │ │ │ - add r3, sl │ │ │ │ │ - str r0, [sp, #320] @ 0x140 │ │ │ │ │ - str r3, [sp, #328] @ 0x148 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ vmov.f64 d9, d3 │ │ │ │ │ vmla.f64 d9, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ + vldr d4, [r6, #488] @ 0x1e8 │ │ │ │ │ vmov.f64 d2, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + add.w r4, sl, r1 │ │ │ │ │ + add r1, fp │ │ │ │ │ + str r1, [sp, #0] │ │ │ │ │ vnmls.f64 d2, d5, d6 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - vldr d4, [r6, #488] @ 0x1e8 │ │ │ │ │ - add.w r3, r9, r5 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + add.w r5, r4, r7 │ │ │ │ │ + str r4, [sp, #352] @ 0x160 │ │ │ │ │ vldr d6, [r6, #480] @ 0x1e0 │ │ │ │ │ - add r5, sl │ │ │ │ │ - adds r0, r5, r7 │ │ │ │ │ - adds r2, r3, r7 │ │ │ │ │ + str r5, [sp, #360] @ 0x168 │ │ │ │ │ + vstr d9, [sp, #400] @ 0x190 │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ - vldr d15, [r6, #744] @ 0x2e8 │ │ │ │ │ - str r2, [sp, #344] @ 0x158 │ │ │ │ │ - str r3, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d1, [r6, #616] @ 0x268 │ │ │ │ │ + vstr d2, [sp, #408] @ 0x198 │ │ │ │ │ vmov.f64 d14, d3 │ │ │ │ │ - vstr d2, [sp, #392] @ 0x188 │ │ │ │ │ vmla.f64 d14, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vldr d4, [r6, #232] @ 0xe8 │ │ │ │ │ - str r0, [sp, #352] @ 0x160 │ │ │ │ │ - vstr d9, [sp, #384] @ 0x180 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ vldr d6, [r6, #224] @ 0xe0 │ │ │ │ │ - vmul.f64 d3, d5, d4 │ │ │ │ │ + ldr r1, [sp, #0] │ │ │ │ │ vadd.f64 d13, d9, d14 │ │ │ │ │ - vstr d14, [sp, #400] @ 0x190 │ │ │ │ │ - vstr d7, [sp, #408] @ 0x198 │ │ │ │ │ + vstr d14, [sp, #416] @ 0x1a0 │ │ │ │ │ + vmul.f64 d3, d5, d4 │ │ │ │ │ vadd.f64 d14, d2, d7 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - add.w r3, r8, r7 │ │ │ │ │ - str r3, [sp, #360] @ 0x168 │ │ │ │ │ + vstr d7, [sp, #424] @ 0x1a8 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ vmla.f64 d3, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vmov.f64 d8, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - adds r2, r4, r7 │ │ │ │ │ - str r2, [sp, #364] @ 0x16c │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, r1, r7 │ │ │ │ │ + add.w r1, sp, #1576 @ 0x628 │ │ │ │ │ + str r5, [sp, #368] @ 0x170 │ │ │ │ │ vnmls.f64 d8, d5, d6 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + add.w r5, r8, r7 │ │ │ │ │ vldr d6, [r6, #736] @ 0x2e0 │ │ │ │ │ - vstr d3, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d15, [r6, #744] @ 0x2e8 │ │ │ │ │ + str r5, [sp, #380] @ 0x17c │ │ │ │ │ + vstr d3, [sp, #432] @ 0x1b0 │ │ │ │ │ + vldr d12, [r6, #360] @ 0x168 │ │ │ │ │ + vldr d1, [r6, #616] @ 0x268 │ │ │ │ │ vmul.f64 d10, d5, d15 │ │ │ │ │ vmul.f64 d15, d7, d15 │ │ │ │ │ + vstr d8, [sp, #440] @ 0x1b8 │ │ │ │ │ vmla.f64 d10, d7, d6 │ │ │ │ │ - vldr d7, [r8] │ │ │ │ │ - vldr d2, [r2] │ │ │ │ │ - add.w r2, sl, lr │ │ │ │ │ vnmls.f64 d15, d5, d6 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + vldr d7, [r8] │ │ │ │ │ vldr d6, [r6, #96] @ 0x60 │ │ │ │ │ - vstr d8, [sp, #424] @ 0x1a8 │ │ │ │ │ vadd.f64 d0, d3, d10 │ │ │ │ │ vldr d3, [r6, #104] @ 0x68 │ │ │ │ │ - vmul.f64 d4, d5, d3 │ │ │ │ │ vadd.f64 d8, d8, d15 │ │ │ │ │ + vmul.f64 d4, d5, d3 │ │ │ │ │ + vstr d8, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d8, [r6, #872] @ 0x368 │ │ │ │ │ vmla.f64 d4, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vldr d3, [r6, #608] @ 0x260 │ │ │ │ │ - vstr d8, [sp, #432] @ 0x1b0 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + add.w r5, r2, r7 │ │ │ │ │ + vldr d2, [r5] │ │ │ │ │ + str r5, [sp, #384] @ 0x180 │ │ │ │ │ + mov.w r5, #440 @ 0x1b8 │ │ │ │ │ + mul.w r5, r5, r9 │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ - mov.w r3, #440 @ 0x1b8 │ │ │ │ │ + add.w r4, sl, r5 │ │ │ │ │ + add r5, fp │ │ │ │ │ + strd r4, r5, [sp, #388] @ 0x184 │ │ │ │ │ vmla.f64 d5, d6, d3 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ - mul.w r3, r3, fp │ │ │ │ │ - add.w r1, r9, r3 │ │ │ │ │ - add.w r0, sl, r3 │ │ │ │ │ vnmls.f64 d6, d2, d3 │ │ │ │ │ - str r1, [sp, #368] @ 0x170 │ │ │ │ │ - add.w r3, r9, lr │ │ │ │ │ + vldr d3, [r5] │ │ │ │ │ + add.w r5, sl, lr │ │ │ │ │ + str r5, [sp, #396] @ 0x18c │ │ │ │ │ vadd.f64 d11, d4, d5 │ │ │ │ │ vsub.f64 d4, d4, d5 │ │ │ │ │ - vadd.f64 d2, d7, d6 │ │ │ │ │ - vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - vldr d3, [r0] │ │ │ │ │ - vldr d8, [r6, #872] @ 0x368 │ │ │ │ │ vldr d5, [r6, #864] @ 0x360 │ │ │ │ │ - vldr d9, [r2] │ │ │ │ │ vmul.f64 d1, d3, d8 │ │ │ │ │ - vldr d12, [r6, #360] @ 0x168 │ │ │ │ │ + vadd.f64 d2, d7, d6 │ │ │ │ │ + vsub.f64 d7, d7, d6 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ vmla.f64 d1, d6, d5 │ │ │ │ │ vmul.f64 d6, d6, d8 │ │ │ │ │ vldr d8, [r6, #352] @ 0x160 │ │ │ │ │ - str r3, [sp, #376] @ 0x178 │ │ │ │ │ - str r0, [sp, #372] @ 0x174 │ │ │ │ │ vnmls.f64 d6, d3, d5 │ │ │ │ │ + vldr d3, [r5] │ │ │ │ │ + add.w r5, fp, lr │ │ │ │ │ + vldr d9, [r5] │ │ │ │ │ + str r5, [sp, #456] @ 0x1c8 │ │ │ │ │ vldr d5, [r6, #360] @ 0x168 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - add.w r3, sp, #1568 @ 0x620 │ │ │ │ │ - str r2, [sp, #380] @ 0x17c │ │ │ │ │ vmul.f64 d5, d9, d5 │ │ │ │ │ vmla.f64 d5, d3, d8 │ │ │ │ │ vmul.f64 d3, d3, d12 │ │ │ │ │ vnmls.f64 d3, d9, d8 │ │ │ │ │ vadd.f64 d12, d1, d5 │ │ │ │ │ vsub.f64 d5, d1, d5 │ │ │ │ │ vadd.f64 d1, d13, d0 │ │ │ │ │ vsub.f64 d13, d13, d0 │ │ │ │ │ - vldr d0, [pc, #-512] @ b18 │ │ │ │ │ + vldr d0, [pc, #-520] @ b68 │ │ │ │ │ vadd.f64 d9, d6, d3 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ vadd.f64 d3, d11, d12 │ │ │ │ │ vsub.f64 d11, d11, d12 │ │ │ │ │ vadd.f64 d8, d1, d3 │ │ │ │ │ - vstr d8, [r3] │ │ │ │ │ + vstr d8, [r1] │ │ │ │ │ vsub.f64 d8, d1, d3 │ │ │ │ │ vsub.f64 d3, d9, d2 │ │ │ │ │ - add.w r3, sp, #1080 @ 0x438 │ │ │ │ │ + add.w r1, sp, #1088 @ 0x440 │ │ │ │ │ vadd.f64 d2, d2, d9 │ │ │ │ │ - vldr d9, [sp, #384] @ 0x180 │ │ │ │ │ - vstr d8, [r3] │ │ │ │ │ - add.w r3, sp, #1576 @ 0x628 │ │ │ │ │ + vstr d8, [r1] │ │ │ │ │ vsub.f64 d8, d13, d3 │ │ │ │ │ + add.w r1, sp, #1584 @ 0x630 │ │ │ │ │ vadd.f64 d13, d13, d3 │ │ │ │ │ - vstr d8, [r3] │ │ │ │ │ - add.w r3, sp, #1584 @ 0x630 │ │ │ │ │ - vldr d8, [sp, #432] @ 0x1b0 │ │ │ │ │ - vstr d13, [r3] │ │ │ │ │ - add.w r3, sp, #1088 @ 0x440 │ │ │ │ │ + vstr d8, [r1] │ │ │ │ │ + add.w r1, sp, #1592 @ 0x638 │ │ │ │ │ + vldr d8, [sp, #448] @ 0x1c0 │ │ │ │ │ + vstr d13, [r1] │ │ │ │ │ + add.w r1, sp, #1096 @ 0x448 │ │ │ │ │ vadd.f64 d3, d14, d8 │ │ │ │ │ vsub.f64 d14, d14, d8 │ │ │ │ │ vsub.f64 d13, d3, d2 │ │ │ │ │ vadd.f64 d2, d3, d2 │ │ │ │ │ - vldr d3, [sp, #400] @ 0x190 │ │ │ │ │ vsub.f64 d12, d14, d11 │ │ │ │ │ vadd.f64 d14, d14, d11 │ │ │ │ │ + vstr d13, [r1] │ │ │ │ │ + add.w r1, sp, #1104 @ 0x450 │ │ │ │ │ + ldr r4, [sp, #8] │ │ │ │ │ + vstr d2, [r1] │ │ │ │ │ + add.w r1, sp, #1112 @ 0x458 │ │ │ │ │ + vldr d9, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d3, [sp, #416] @ 0x1a0 │ │ │ │ │ vsub.f64 d3, d9, d3 │ │ │ │ │ - vldr d9, [sp, #424] @ 0x1a8 │ │ │ │ │ - vstr d13, [r3] │ │ │ │ │ - add.w r3, sp, #1096 @ 0x448 │ │ │ │ │ + vldr d9, [sp, #440] @ 0x1b8 │ │ │ │ │ vsub.f64 d15, d9, d15 │ │ │ │ │ - vstr d2, [r3] │ │ │ │ │ - add.w r3, sp, #1104 @ 0x450 │ │ │ │ │ vsub.f64 d9, d3, d15 │ │ │ │ │ vadd.f64 d2, d3, d15 │ │ │ │ │ vadd.f64 d3, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vstr d9, [r3] │ │ │ │ │ - add.w r3, sp, #1112 @ 0x458 │ │ │ │ │ - vstr d2, [r3] │ │ │ │ │ + vstr d9, [r1] │ │ │ │ │ + add.w r1, sp, #1120 @ 0x460 │ │ │ │ │ + vstr d2, [r1] │ │ │ │ │ vsub.f64 d2, d4, d7 │ │ │ │ │ vadd.f64 d7, d4, d7 │ │ │ │ │ - add.w r3, sp, #1120 @ 0x460 │ │ │ │ │ + add.w r1, sp, #1128 @ 0x468 │ │ │ │ │ vadd.f64 d1, d2, d3 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #392] @ 0x188 │ │ │ │ │ + vldr d6, [sp, #408] @ 0x198 │ │ │ │ │ vmul.f64 d9, d1, d0 │ │ │ │ │ vmul.f64 d15, d3, d0 │ │ │ │ │ vmul.f64 d4, d5, d0 │ │ │ │ │ + vldr d5, [sp, #424] @ 0x1a8 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ - vldr d5, [sp, #408] @ 0x198 │ │ │ │ │ - vstr d9, [r3] │ │ │ │ │ - add.w r3, sp, #1128 @ 0x468 │ │ │ │ │ - vstr d15, [r3] │ │ │ │ │ - add.w r3, sp, #1136 @ 0x470 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - add.w r3, sp, #1144 @ 0x478 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - add.w r3, sp, #1592 @ 0x638 │ │ │ │ │ - vsub.f64 d7, d6, d5 │ │ │ │ │ - vstr d12, [r3] │ │ │ │ │ - add.w r3, sp, #1600 @ 0x640 │ │ │ │ │ - vstr d14, [r3] │ │ │ │ │ - add.w r3, sp, #1152 @ 0x480 │ │ │ │ │ - vldr d6, [sp, #416] @ 0x1a0 │ │ │ │ │ + vstr d9, [r1] │ │ │ │ │ + add.w r1, sp, #1136 @ 0x470 │ │ │ │ │ + vstr d15, [r1] │ │ │ │ │ + add.w r1, sp, #1144 @ 0x478 │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ + add.w r1, sp, #1152 @ 0x480 │ │ │ │ │ vldr d4, [r6, #8] │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ + vsub.f64 d7, d6, d5 │ │ │ │ │ + add.w r1, sp, #1600 @ 0x640 │ │ │ │ │ + vldr d6, [sp, #432] @ 0x1b0 │ │ │ │ │ + vstr d12, [r1] │ │ │ │ │ + add.w r1, sp, #1608 @ 0x648 │ │ │ │ │ + vstr d14, [r1] │ │ │ │ │ + add.w r1, sp, #1160 @ 0x488 │ │ │ │ │ vsub.f64 d6, d6, d10 │ │ │ │ │ - vldr d10, [r6, #776] @ 0x308 │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ vsub.f64 d6, d7, d6 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - add.w r3, sp, #1160 @ 0x488 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - mov.w r3, fp, lsl #3 │ │ │ │ │ - add.w r2, sl, r3 │ │ │ │ │ - add.w r0, r9, r3 │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ + add.w r1, sp, #1168 @ 0x490 │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ + add.w r1, sl, r4 │ │ │ │ │ + add r4, fp │ │ │ │ │ vldr d6, [r6] │ │ │ │ │ - adds r3, r2, r7 │ │ │ │ │ - adds r1, r0, r7 │ │ │ │ │ - str r3, [sp, #408] @ 0x198 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - str r0, [sp, #384] @ 0x180 │ │ │ │ │ + add.w r5, r1, r7 │ │ │ │ │ + str r1, [sp, #8] │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + str r4, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + add.w r1, sl, r3 │ │ │ │ │ + add r3, fp │ │ │ │ │ + str r5, [sp, #408] @ 0x198 │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ - str r2, [sp, #392] @ 0x188 │ │ │ │ │ - str r1, [sp, #400] @ 0x190 │ │ │ │ │ vmov.f64 d14, d3 │ │ │ │ │ vmla.f64 d14, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vldr d4, [r6, #520] @ 0x208 │ │ │ │ │ vmov.f64 d15, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, r4, r7 │ │ │ │ │ + mov r4, r3 │ │ │ │ │ + str r5, [sp, #416] @ 0x1a0 │ │ │ │ │ vnmls.f64 d15, d5, d6 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + vstr d14, [sp, #488] @ 0x1e8 │ │ │ │ │ vldr d6, [r6, #512] @ 0x200 │ │ │ │ │ - movs r3, #136 @ 0x88 │ │ │ │ │ - vstr d14, [sp, #472] @ 0x1d8 │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ vmla.f64 d3, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ - mul.w r3, r3, fp │ │ │ │ │ - add.w r0, r9, r3 │ │ │ │ │ - add r3, sl │ │ │ │ │ vmov.f64 d4, d7 │ │ │ │ │ - adds r2, r0, r7 │ │ │ │ │ - str r0, [sp, #416] @ 0x1a0 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - adds r0, r3, r7 │ │ │ │ │ - vstr d15, [sp, #480] @ 0x1e0 │ │ │ │ │ vnmls.f64 d4, d5, d6 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ + vstr d3, [sp, #504] @ 0x1f8 │ │ │ │ │ vadd.f64 d14, d14, d3 │ │ │ │ │ - vstr d3, [sp, #488] @ 0x1e8 │ │ │ │ │ + vstr d15, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ + str r1, [sp, #424] @ 0x1a8 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + str r3, [sp, #432] @ 0x1b0 │ │ │ │ │ + mov r3, r1 │ │ │ │ │ vldr d6, [r6, #256] @ 0x100 │ │ │ │ │ - str r3, [sp, #424] @ 0x1a8 │ │ │ │ │ - movs r3, #72 @ 0x48 │ │ │ │ │ - str r2, [sp, #432] @ 0x1b0 │ │ │ │ │ - str r0, [sp, #440] @ 0x1b8 │ │ │ │ │ - mul.w r3, r3, fp │ │ │ │ │ + add r3, r7 │ │ │ │ │ + str r3, [sp, #440] @ 0x1b8 │ │ │ │ │ + vldr d1, [r6, #648] @ 0x288 │ │ │ │ │ vadd.f64 d13, d15, d4 │ │ │ │ │ - vstr d4, [sp, #496] @ 0x1f0 │ │ │ │ │ + vstr d4, [sp, #512] @ 0x200 │ │ │ │ │ vldr d4, [r6, #264] @ 0x108 │ │ │ │ │ + vldr d10, [r6, #776] @ 0x308 │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ vmov.f64 d9, d3 │ │ │ │ │ + vldr d3, [r6, #136] @ 0x88 │ │ │ │ │ vmla.f64 d9, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vmov.f64 d8, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - add.w r2, r9, r3 │ │ │ │ │ - add r3, sl │ │ │ │ │ - adds r1, r2, r7 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + mov r3, r4 │ │ │ │ │ + add r3, r7 │ │ │ │ │ + str r3, [sp, #448] @ 0x1c0 │ │ │ │ │ vnmls.f64 d8, d5, d6 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ + add.w r3, sl, r0 │ │ │ │ │ + add r0, fp │ │ │ │ │ vldr d6, [r6, #768] @ 0x300 │ │ │ │ │ - adds r0, r3, r7 │ │ │ │ │ - vstr d9, [sp, #504] @ 0x1f8 │ │ │ │ │ + strd r3, r0, [sp, #460] @ 0x1cc │ │ │ │ │ + vstr d9, [sp, #520] @ 0x208 │ │ │ │ │ vmul.f64 d15, d5, d10 │ │ │ │ │ vmul.f64 d10, d7, d10 │ │ │ │ │ + vstr d8, [sp, #528] @ 0x210 │ │ │ │ │ vmla.f64 d15, d7, d6 │ │ │ │ │ vmov.f64 d7, d10 │ │ │ │ │ - vstr d8, [sp, #512] @ 0x200 │ │ │ │ │ - vldr d3, [r6, #136] @ 0x88 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + add r0, r7 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + add r3, r7 │ │ │ │ │ + vldr d2, [r0] │ │ │ │ │ + strd r3, r0, [sp, #468] @ 0x1d4 │ │ │ │ │ vadd.f64 d12, d9, d15 │ │ │ │ │ - vldr d1, [r6, #648] @ 0x288 │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ - str r3, [sp, #448] @ 0x1c0 │ │ │ │ │ - mov.w r3, #456 @ 0x1c8 │ │ │ │ │ - str r1, [sp, #452] @ 0x1c4 │ │ │ │ │ - str r2, [sp, #444] @ 0x1bc │ │ │ │ │ - str r0, [sp, #456] @ 0x1c8 │ │ │ │ │ - mul.w r3, r3, fp │ │ │ │ │ - vldr d10, [r6, #392] @ 0x188 │ │ │ │ │ vadd.f64 d11, d8, d7 │ │ │ │ │ - vstr d7, [sp, #520] @ 0x208 │ │ │ │ │ + vstr d7, [sp, #536] @ 0x218 │ │ │ │ │ vldr d7, [r6, #128] @ 0x80 │ │ │ │ │ - vldr d8, [r6, #904] @ 0x388 │ │ │ │ │ vmla.f64 d4, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ vldr d3, [r6, #640] @ 0x280 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ - add.w r1, r9, r3 │ │ │ │ │ - add r3, sl │ │ │ │ │ - str r3, [sp, #464] @ 0x1d0 │ │ │ │ │ + mov.w r3, #456 @ 0x1c8 │ │ │ │ │ + mul.w r3, r3, r9 │ │ │ │ │ vmla.f64 d5, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - str r1, [sp, #460] @ 0x1cc │ │ │ │ │ - vldr d1, [r3] │ │ │ │ │ - movs r3, #200 @ 0xc8 │ │ │ │ │ + add.w r0, sl, r3 │ │ │ │ │ + str r0, [sp, #476] @ 0x1dc │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ - mul.w r3, r3, fp │ │ │ │ │ - add.w r2, sl, r3 │ │ │ │ │ - add.w r0, r9, r3 │ │ │ │ │ + vldr d3, [r0] │ │ │ │ │ + add.w r0, fp, r3 │ │ │ │ │ + mov.w r3, #200 @ 0xc8 │ │ │ │ │ + vldr d1, [r0] │ │ │ │ │ + str r0, [sp, #480] @ 0x1e0 │ │ │ │ │ + mul.w r3, r3, r9 │ │ │ │ │ vadd.f64 d2, d4, d5 │ │ │ │ │ - add.w r3, sp, #1608 @ 0x648 │ │ │ │ │ vsub.f64 d4, d4, d5 │ │ │ │ │ - vmul.f64 d5, d1, d8 │ │ │ │ │ - vldr d9, [r2] │ │ │ │ │ - str r0, [sp, #468] @ 0x1d4 │ │ │ │ │ + add.w r0, sl, r3 │ │ │ │ │ + add r3, fp │ │ │ │ │ vadd.f64 d0, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [r6, #896] @ 0x380 │ │ │ │ │ - str r2, [sp, #528] @ 0x210 │ │ │ │ │ + str r0, [sp, #484] @ 0x1e4 │ │ │ │ │ + vldr d9, [r3] │ │ │ │ │ + str r3, [sp, #544] @ 0x220 │ │ │ │ │ + add.w r3, sp, #1616 @ 0x650 │ │ │ │ │ + vldr d8, [r6, #904] @ 0x388 │ │ │ │ │ + vldr d10, [r6, #392] @ 0x188 │ │ │ │ │ + vmul.f64 d5, d1, d8 │ │ │ │ │ vmla.f64 d5, d3, d7 │ │ │ │ │ vmul.f64 d3, d3, d8 │ │ │ │ │ vldr d8, [r6, #384] @ 0x180 │ │ │ │ │ vnmls.f64 d3, d1, d7 │ │ │ │ │ vldr d1, [r6, #392] @ 0x188 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ vmul.f64 d1, d9, d1 │ │ │ │ │ @@ -1122,854 +1108,855 @@ │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ vadd.f64 d1, d14, d12 │ │ │ │ │ vsub.f64 d14, d14, d12 │ │ │ │ │ vsub.f64 d10, d3, d7 │ │ │ │ │ vadd.f64 d8, d3, d7 │ │ │ │ │ vadd.f64 d3, d2, d9 │ │ │ │ │ vsub.f64 d2, d2, d9 │ │ │ │ │ + vldr d9, [sp, #520] @ 0x208 │ │ │ │ │ vadd.f64 d7, d1, d3 │ │ │ │ │ + vsub.f64 d15, d9, d15 │ │ │ │ │ + vldr d9, [pc, #988] @ 1468 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d1, d3 │ │ │ │ │ vsub.f64 d3, d13, d11 │ │ │ │ │ - add.w r3, sp, #1168 @ 0x490 │ │ │ │ │ + add.w r3, sp, #1176 @ 0x498 │ │ │ │ │ vadd.f64 d13, d13, d11 │ │ │ │ │ + vldr d1, [sp, #512] @ 0x200 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - add.w r3, sp, #1616 @ 0x650 │ │ │ │ │ vsub.f64 d7, d3, d2 │ │ │ │ │ vadd.f64 d2, d3, d2 │ │ │ │ │ vadd.f64 d3, d0, d8 │ │ │ │ │ + add.w r3, sp, #1624 @ 0x658 │ │ │ │ │ vsub.f64 d8, d8, d0 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - add.w r3, sp, #1624 @ 0x658 │ │ │ │ │ - vsub.f64 d11, d13, d3 │ │ │ │ │ + add.w r3, sp, #1632 @ 0x660 │ │ │ │ │ vadd.f64 d7, d10, d5 │ │ │ │ │ + vsub.f64 d11, d13, d3 │ │ │ │ │ vsub.f64 d12, d14, d8 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ - add.w r3, sp, #1176 @ 0x498 │ │ │ │ │ - vstr d11, [r3] │ │ │ │ │ - vadd.f64 d11, d13, d3 │ │ │ │ │ add.w r3, sp, #1184 @ 0x4a0 │ │ │ │ │ vstr d11, [r3] │ │ │ │ │ + vadd.f64 d11, d13, d3 │ │ │ │ │ add.w r3, sp, #1192 @ 0x4a8 │ │ │ │ │ - vldr d3, [sp, #480] @ 0x1e0 │ │ │ │ │ - vldr d1, [sp, #496] @ 0x1f0 │ │ │ │ │ - vldr d9, [sp, #504] @ 0x1f8 │ │ │ │ │ + vldr d3, [sp, #496] @ 0x1f0 │ │ │ │ │ + vstr d11, [r3] │ │ │ │ │ + add.w r3, sp, #1200 @ 0x4b0 │ │ │ │ │ vsub.f64 d3, d3, d1 │ │ │ │ │ - vsub.f64 d15, d9, d15 │ │ │ │ │ - vldr d9, [pc, #976] @ 1470 │ │ │ │ │ vadd.f64 d2, d3, d15 │ │ │ │ │ vsub.f64 d15, d3, d15 │ │ │ │ │ vadd.f64 d3, d4, d6 │ │ │ │ │ vsub.f64 d6, d4, d6 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ vsub.f64 d2, d10, d5 │ │ │ │ │ - add.w r3, sp, #1200 @ 0x4b0 │ │ │ │ │ + add.w r3, sp, #1208 @ 0x4b8 │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #472] @ 0x1d8 │ │ │ │ │ + vldr d6, [sp, #488] @ 0x1e8 │ │ │ │ │ + vstr d15, [r3] │ │ │ │ │ + add.w r3, sp, #1216 @ 0x4c0 │ │ │ │ │ vadd.f64 d1, d3, d2 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ - vstr d15, [r3] │ │ │ │ │ - add.w r3, sp, #1208 @ 0x4b8 │ │ │ │ │ + vmul.f64 d4, d5, d9 │ │ │ │ │ vmov.f64 d2, d9 │ │ │ │ │ + vldr d5, [sp, #504] @ 0x1f8 │ │ │ │ │ vmul.f64 d15, d1, d9 │ │ │ │ │ vmul.f64 d9, d3, d9 │ │ │ │ │ - vldr d3, [r6, #72] @ 0x48 │ │ │ │ │ - vmul.f64 d4, d5, d2 │ │ │ │ │ - vldr d5, [sp, #488] @ 0x1e8 │ │ │ │ │ - vldr d1, [r6, #584] @ 0x248 │ │ │ │ │ vstr d15, [r3] │ │ │ │ │ - add.w r3, sp, #1216 @ 0x4c0 │ │ │ │ │ - vstr d9, [r3] │ │ │ │ │ add.w r3, sp, #1224 @ 0x4c8 │ │ │ │ │ - vldr d9, [sp, #512] @ 0x200 │ │ │ │ │ + vstr d9, [r3] │ │ │ │ │ + add.w r3, sp, #1232 @ 0x4d0 │ │ │ │ │ + vldr d9, [sp, #528] @ 0x210 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ vmul.f64 d4, d7, d2 │ │ │ │ │ - add.w r3, sp, #1232 @ 0x4d0 │ │ │ │ │ vsub.f64 d7, d6, d5 │ │ │ │ │ - vldr d6, [sp, #520] @ 0x208 │ │ │ │ │ + vldr d6, [sp, #536] @ 0x218 │ │ │ │ │ + add.w r3, sp, #1240 @ 0x4d8 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ - add.w r3, sp, #1632 @ 0x660 │ │ │ │ │ - vsub.f64 d6, d9, d6 │ │ │ │ │ vadd.f64 d4, d14, d8 │ │ │ │ │ - vstr d12, [r3] │ │ │ │ │ add.w r3, sp, #1640 @ 0x668 │ │ │ │ │ + vsub.f64 d6, d9, d6 │ │ │ │ │ + vstr d12, [r3] │ │ │ │ │ + add.w r3, sp, #1648 @ 0x670 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + add.w r3, sp, #1248 @ 0x4e0 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d6, d7, d6 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - add.w r3, sp, #1240 @ 0x4d8 │ │ │ │ │ - vldr d7, [r6, #64] @ 0x40 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - add.w r3, sp, #1248 @ 0x4e0 │ │ │ │ │ + add.w r3, sp, #1256 @ 0x4e8 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ - movs r3, #40 @ 0x28 │ │ │ │ │ - mul.w r3, r3, fp │ │ │ │ │ + ldr r5, [sp, #16] │ │ │ │ │ + vldr d7, [r6, #64] @ 0x40 │ │ │ │ │ + vldr d3, [r6, #72] @ 0x48 │ │ │ │ │ + mov.w r3, r5, lsl #3 │ │ │ │ │ + vldr d1, [r6, #584] @ 0x248 │ │ │ │ │ add.w r0, sl, r3 │ │ │ │ │ - add.w r1, r9, r3 │ │ │ │ │ - adds r2, r0, r7 │ │ │ │ │ - adds r3, r1, r7 │ │ │ │ │ - str r3, [sp, #488] @ 0x1e8 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - vldr d2, [r2] │ │ │ │ │ + add r3, fp │ │ │ │ │ + mov r5, r3 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + mov r3, r0 │ │ │ │ │ + str r0, [sp, #16] │ │ │ │ │ + add r3, r7 │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ + add.w r0, r5, r7 │ │ │ │ │ + str r5, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d2, [r0] │ │ │ │ │ + str r3, [sp, #496] @ 0x1f0 │ │ │ │ │ vmul.f64 d5, d6, d3 │ │ │ │ │ - str r2, [sp, #496] @ 0x1f0 │ │ │ │ │ + str r0, [sp, #504] @ 0x1f8 │ │ │ │ │ vmla.f64 d5, d4, d7 │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ vldr d3, [r6, #576] @ 0x240 │ │ │ │ │ - str r1, [sp, #472] @ 0x1d8 │ │ │ │ │ - str r0, [sp, #480] @ 0x1e0 │ │ │ │ │ vnmls.f64 d4, d6, d7 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ - movs r3, #104 @ 0x68 │ │ │ │ │ + mov.w r3, #104 @ 0x68 │ │ │ │ │ + mul.w r3, r3, r9 │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - mul.w r3, r3, fp │ │ │ │ │ - add.w r2, r9, r3 │ │ │ │ │ - add r3, sl │ │ │ │ │ + add.w r0, sl, r3 │ │ │ │ │ + add r3, fp │ │ │ │ │ + vldr d1, [r6, #712] @ 0x2c8 │ │ │ │ │ + str r0, [sp, #512] @ 0x200 │ │ │ │ │ + str r3, [sp, #520] @ 0x208 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ - adds r0, r3, r7 │ │ │ │ │ - adds r1, r2, r7 │ │ │ │ │ vadd.f64 d15, d5, d6 │ │ │ │ │ vadd.f64 d10, d4, d7 │ │ │ │ │ vsub.f64 d14, d4, d7 │ │ │ │ │ - vstr d10, [sp, #560] @ 0x230 │ │ │ │ │ + vldr d7, [r6, #192] @ 0xc0 │ │ │ │ │ + vldr d4, [r6, #200] @ 0xc8 │ │ │ │ │ + vstr d10, [sp, #576] @ 0x240 │ │ │ │ │ vsub.f64 d10, d5, d6 │ │ │ │ │ - vstr d14, [sp, #568] @ 0x238 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - vldr d4, [r6, #200] @ 0xc8 │ │ │ │ │ - vldr d7, [r6, #192] @ 0xc0 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ + add r3, r7 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + add r0, r7 │ │ │ │ │ + vstr d14, [sp, #584] @ 0x248 │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ + str r0, [sp, #528] @ 0x210 │ │ │ │ │ vmul.f64 d3, d5, d4 │ │ │ │ │ - vldr d1, [r6, #712] @ 0x2c8 │ │ │ │ │ + str r3, [sp, #536] @ 0x218 │ │ │ │ │ vmla.f64 d3, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d4 │ │ │ │ │ vldr d4, [r6, #704] @ 0x2c0 │ │ │ │ │ - str r3, [sp, #512] @ 0x200 │ │ │ │ │ - movs r3, #168 @ 0xa8 │ │ │ │ │ - str r1, [sp, #520] @ 0x208 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ - mul.w r3, r3, fp │ │ │ │ │ - str r2, [sp, #504] @ 0x1f8 │ │ │ │ │ + mov.w r0, #168 @ 0xa8 │ │ │ │ │ + mul.w r0, r0, r9 │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - add.w r1, r9, r3 │ │ │ │ │ - add r3, sl │ │ │ │ │ - adds r2, r3, r7 │ │ │ │ │ - str r0, [sp, #532] @ 0x214 │ │ │ │ │ - adds r0, r1, r7 │ │ │ │ │ - vldr d8, [r6, #840] @ 0x348 │ │ │ │ │ + add.w r1, sl, r0 │ │ │ │ │ + add r0, fp │ │ │ │ │ + add.w r3, r1, r7 │ │ │ │ │ vnmls.f64 d7, d2, d4 │ │ │ │ │ vldr d2, [r6, #328] @ 0x148 │ │ │ │ │ - vldr d1, [r2] │ │ │ │ │ - str r2, [sp, #544] @ 0x220 │ │ │ │ │ - mov.w r2, #488 @ 0x1e8 │ │ │ │ │ - str r0, [sp, #540] @ 0x21c │ │ │ │ │ vadd.f64 d0, d3, d5 │ │ │ │ │ - str r1, [sp, #536] @ 0x218 │ │ │ │ │ vsub.f64 d14, d3, d5 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - mul.w r2, r2, fp │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ vsub.f64 d13, d6, d7 │ │ │ │ │ vadd.f64 d4, d6, d7 │ │ │ │ │ - vldr d7, [r6, #320] @ 0x140 │ │ │ │ │ - vmul.f64 d3, d5, d2 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ - add.w r1, r9, r2 │ │ │ │ │ - str r1, [sp, #548] @ 0x224 │ │ │ │ │ + vmul.f64 d3, d5, d2 │ │ │ │ │ + vldr d7, [r6, #320] @ 0x140 │ │ │ │ │ + strd r1, r3, [sp, #548] @ 0x224 │ │ │ │ │ + add.w r1, sp, #1384 @ 0x568 │ │ │ │ │ + vldr d8, [r6, #840] @ 0x348 │ │ │ │ │ vmla.f64 d3, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ vldr d2, [r6, #832] @ 0x340 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + add.w r3, r0, r7 │ │ │ │ │ + vldr d1, [r3] │ │ │ │ │ + str r3, [sp, #556] @ 0x22c │ │ │ │ │ + mov.w r3, #488 @ 0x1e8 │ │ │ │ │ + mul.w r3, r3, r9 │ │ │ │ │ vmul.f64 d5, d1, d8 │ │ │ │ │ - add.w r0, sl, r2 │ │ │ │ │ - movs r2, #232 @ 0xe8 │ │ │ │ │ - str r0, [sp, #552] @ 0x228 │ │ │ │ │ + add.w r5, sl, r3 │ │ │ │ │ + add r3, fp │ │ │ │ │ + strd r5, r3, [sp, #560] @ 0x230 │ │ │ │ │ vmla.f64 d5, d7, d2 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ vldr d8, [r6, #968] @ 0x3c8 │ │ │ │ │ - mul.w r2, r2, fp │ │ │ │ │ vnmls.f64 d7, d1, d2 │ │ │ │ │ vsub.f64 d11, d3, d5 │ │ │ │ │ vadd.f64 d1, d3, d5 │ │ │ │ │ - vldr d3, [r0] │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - add.w r1, r9, r2 │ │ │ │ │ - add r2, sl │ │ │ │ │ - str r1, [sp, #556] @ 0x22c │ │ │ │ │ + vldr d3, [r3] │ │ │ │ │ + mov.w r3, #232 @ 0xe8 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + mul.w r3, r3, r9 │ │ │ │ │ vsub.f64 d12, d6, d7 │ │ │ │ │ vadd.f64 d2, d6, d7 │ │ │ │ │ vldr d7, [r6, #960] @ 0x3c0 │ │ │ │ │ vmul.f64 d6, d3, d8 │ │ │ │ │ - vldr d9, [r2] │ │ │ │ │ - str r2, [sp, #584] @ 0x248 │ │ │ │ │ - add.w r2, sp, #1648 @ 0x670 │ │ │ │ │ + add.w r5, sl, r3 │ │ │ │ │ + add r3, fp │ │ │ │ │ + vldr d9, [r3] │ │ │ │ │ + strd r5, r3, [sp, #568] @ 0x238 │ │ │ │ │ + add.w r3, sp, #1656 @ 0x678 │ │ │ │ │ vmla.f64 d6, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ - vnmls.f64 d5, d3, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ vldr d8, [r6, #448] @ 0x1c0 │ │ │ │ │ - movs r1, #24 │ │ │ │ │ + vnmls.f64 d5, d3, d7 │ │ │ │ │ vldr d3, [r6, #456] @ 0x1c8 │ │ │ │ │ - vstr d8, [sp, #576] @ 0x240 │ │ │ │ │ - mul.w r1, r1, fp │ │ │ │ │ + vstr d8, [sp, #592] @ 0x250 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ vmul.f64 d3, d9, d3 │ │ │ │ │ vmla.f64 d3, d7, d8 │ │ │ │ │ vldr d8, [r6, #456] @ 0x1c8 │ │ │ │ │ - add.w r0, r9, r1 │ │ │ │ │ - add r1, sl │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ - vldr d8, [sp, #576] @ 0x240 │ │ │ │ │ + vldr d8, [sp, #592] @ 0x250 │ │ │ │ │ vnmls.f64 d7, d9, d8 │ │ │ │ │ vadd.f64 d8, d6, d3 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ vadd.f64 d3, d15, d1 │ │ │ │ │ vsub.f64 d15, d15, d1 │ │ │ │ │ - vstr d6, [sp, #576] @ 0x240 │ │ │ │ │ + vstr d6, [sp, #592] @ 0x250 │ │ │ │ │ vadd.f64 d9, d5, d7 │ │ │ │ │ vsub.f64 d7, d5, d7 │ │ │ │ │ vadd.f64 d5, d0, d8 │ │ │ │ │ vsub.f64 d8, d8, d0 │ │ │ │ │ - vldr d0, [pc, #328] @ 1478 │ │ │ │ │ + vldr d0, [pc, #232] @ 1470 │ │ │ │ │ vadd.f64 d6, d3, d5 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ vsub.f64 d6, d3, d5 │ │ │ │ │ vsub.f64 d5, d9, d4 │ │ │ │ │ - add.w r2, sp, #1256 @ 0x4e8 │ │ │ │ │ + add.w r3, sp, #1264 @ 0x4f0 │ │ │ │ │ vadd.f64 d4, d4, d9 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - add.w r2, sp, #1264 @ 0x4f0 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ vsub.f64 d6, d5, d8 │ │ │ │ │ vadd.f64 d8, d5, d8 │ │ │ │ │ - vldr d5, [sp, #560] @ 0x230 │ │ │ │ │ + vldr d5, [sp, #576] @ 0x240 │ │ │ │ │ + add.w r3, sp, #1272 @ 0x4f8 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + add.w r3, sp, #1280 @ 0x500 │ │ │ │ │ vadd.f64 d5, d5, d2 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - add.w r2, sp, #1272 @ 0x4f8 │ │ │ │ │ - vldr d6, [sp, #576] @ 0x240 │ │ │ │ │ + vldr d6, [sp, #592] @ 0x250 │ │ │ │ │ + vstr d8, [r3] │ │ │ │ │ + add.w r3, sp, #1288 @ 0x508 │ │ │ │ │ + vldr d8, [pc, #168] @ 1478 │ │ │ │ │ vsub.f64 d9, d4, d5 │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ - add.w r2, sp, #1280 @ 0x500 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ - vldr d5, [sp, #568] @ 0x238 │ │ │ │ │ - vldr d8, [pc, #252] @ 1480 │ │ │ │ │ - vstr d9, [r2] │ │ │ │ │ - add.w r2, sp, #1288 @ 0x508 │ │ │ │ │ + vldr d5, [sp, #584] @ 0x248 │ │ │ │ │ + vstr d9, [r3] │ │ │ │ │ + add.w r3, sp, #1296 @ 0x510 │ │ │ │ │ vadd.f64 d5, d5, d11 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ vsub.f64 d4, d10, d12 │ │ │ │ │ - add.w r2, sp, #1296 @ 0x510 │ │ │ │ │ + add.w r3, sp, #1304 @ 0x518 │ │ │ │ │ vmul.f64 d3, d4, d0 │ │ │ │ │ vmov.f64 d9, d3 │ │ │ │ │ vmla.f64 d9, d5, d8 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ vnmls.f64 d5, d4, d8 │ │ │ │ │ vadd.f64 d4, d14, d7 │ │ │ │ │ vsub.f64 d7, d7, d14 │ │ │ │ │ - vstr d9, [r2] │ │ │ │ │ - add.w r2, sp, #1304 @ 0x518 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ + vstr d9, [r3] │ │ │ │ │ + add.w r3, sp, #1312 @ 0x520 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ vsub.f64 d5, d6, d13 │ │ │ │ │ - add.w r2, sp, #1312 @ 0x520 │ │ │ │ │ + add.w r3, sp, #1320 @ 0x528 │ │ │ │ │ vadd.f64 d6, d13, d6 │ │ │ │ │ vmul.f64 d3, d5, d0 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ vnmls.f64 d3, d4, d8 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ vmov.f64 d3, d8 │ │ │ │ │ vmov.f64 d8, d5 │ │ │ │ │ vmul.f64 d5, d7, d0 │ │ │ │ │ + add.w r3, sp, #1328 @ 0x530 │ │ │ │ │ + vldr d1, [r6, #552] @ 0x228 │ │ │ │ │ vmla.f64 d8, d4, d0 │ │ │ │ │ - add.w r2, sp, #1320 @ 0x528 │ │ │ │ │ vmov.f64 d4, d0 │ │ │ │ │ vnmls.f64 d5, d6, d3 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ - vldr d7, [r6, #32] │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ - add.w r2, sp, #1328 @ 0x530 │ │ │ │ │ - vldr d8, [sp, #560] @ 0x230 │ │ │ │ │ - str r0, [sp, #560] @ 0x230 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - add.w r2, sp, #1336 @ 0x538 │ │ │ │ │ - vsub.f64 d2, d8, d2 │ │ │ │ │ - vldr d8, [sp, #568] @ 0x238 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - vadd.f64 d6, d10, d12 │ │ │ │ │ - vsub.f64 d11, d8, d11 │ │ │ │ │ - add.w r2, sp, #1344 @ 0x540 │ │ │ │ │ - vadd.f64 d14, d15, d2 │ │ │ │ │ - vmul.f64 d5, d6, d3 │ │ │ │ │ - vmul.f64 d6, d6, d4 │ │ │ │ │ - vstr d14, [r2] │ │ │ │ │ - vsub.f64 d14, d15, d2 │ │ │ │ │ - add.w r2, sp, #1352 @ 0x548 │ │ │ │ │ - vmov.f64 d0, d5 │ │ │ │ │ - vnmls.f64 d6, d11, d3 │ │ │ │ │ - vmla.f64 d0, d11, d4 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - vstr d14, [r2] │ │ │ │ │ - add.w r2, sp, #1360 @ 0x550 │ │ │ │ │ - vldr d3, [r6, #40] @ 0x28 │ │ │ │ │ - b.n 1488 │ │ │ │ │ - nop │ │ │ │ │ + b.n 1480 │ │ │ │ │ + nop.w │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ + vmov.f64 d7, d3 │ │ │ │ │ + vstr d8, [r3] │ │ │ │ │ + add.w r3, sp, #1336 @ 0x538 │ │ │ │ │ + vldr d8, [sp, #576] @ 0x240 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + add.w r3, sp, #1344 @ 0x540 │ │ │ │ │ + vmov.f64 d5, d3 │ │ │ │ │ + vldr d3, [r6, #40] @ 0x28 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + vadd.f64 d6, d10, d12 │ │ │ │ │ + vsub.f64 d2, d8, d2 │ │ │ │ │ + vldr d8, [sp, #584] @ 0x248 │ │ │ │ │ + add.w r3, sp, #1352 @ 0x548 │ │ │ │ │ + vmul.f64 d5, d6, d5 │ │ │ │ │ + vadd.f64 d14, d15, d2 │ │ │ │ │ + vsub.f64 d11, d8, d11 │ │ │ │ │ + vmul.f64 d6, d6, d4 │ │ │ │ │ + vmov.f64 d0, d5 │ │ │ │ │ + vstr d14, [r3] │ │ │ │ │ + vsub.f64 d14, d15, d2 │ │ │ │ │ + vnmls.f64 d6, d11, d7 │ │ │ │ │ + add.w r3, sp, #1360 @ 0x550 │ │ │ │ │ + vldr d7, [r6, #32] │ │ │ │ │ + vmla.f64 d0, d11, d4 │ │ │ │ │ + vstr d14, [r3] │ │ │ │ │ + add.w r3, sp, #1368 @ 0x558 │ │ │ │ │ + vstr d0, [r3] │ │ │ │ │ + add.w r3, sp, #1376 @ 0x560 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + mov.w r3, ip, lsl #3 │ │ │ │ │ + mov.w ip, #216 @ 0xd8 │ │ │ │ │ + add.w r5, sl, r3 │ │ │ │ │ + add r3, fp │ │ │ │ │ + mul.w ip, ip, r9 │ │ │ │ │ + add.w r4, r5, r7 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ + str r5, [sp, #576] @ 0x240 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + add.w r5, r3, r7 │ │ │ │ │ + str r4, [sp, #584] @ 0x248 │ │ │ │ │ + vldr d2, [r5] │ │ │ │ │ + str r5, [sp, #592] @ 0x250 │ │ │ │ │ + mov.w r5, #88 @ 0x58 │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ - vstr d0, [r2] │ │ │ │ │ - add.w r2, sp, #1368 @ 0x558 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - adds r2, r0, r7 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - movs r0, #88 @ 0x58 │ │ │ │ │ - str r2, [sp, #576] @ 0x240 │ │ │ │ │ - str r1, [sp, #568] @ 0x238 │ │ │ │ │ - add r1, r7 │ │ │ │ │ + mul.w r5, r5, r9 │ │ │ │ │ vmla.f64 d4, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ - vldr d1, [r6, #552] @ 0x228 │ │ │ │ │ - mul.w r0, r0, fp │ │ │ │ │ - vldr d2, [r1] │ │ │ │ │ vldr d3, [r6, #544] @ 0x220 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ - add.w r2, sp, #1376 @ 0x560 │ │ │ │ │ - str r1, [sp, #588] @ 0x24c │ │ │ │ │ vmla.f64 d5, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [r6, #680] @ 0x2a8 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ vldr d3, [r6, #168] @ 0xa8 │ │ │ │ │ vadd.f64 d13, d4, d5 │ │ │ │ │ vadd.f64 d12, d6, d7 │ │ │ │ │ vsub.f64 d8, d6, d7 │ │ │ │ │ vldr d7, [r6, #160] @ 0xa0 │ │ │ │ │ vmov.f64 d11, d12 │ │ │ │ │ vsub.f64 d12, d4, d5 │ │ │ │ │ - vstr d12, [r2] │ │ │ │ │ - add.w r2, sp, #1384 @ 0x568 │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ - add.w r2, r9, r0 │ │ │ │ │ - add r0, sl │ │ │ │ │ - adds r1, r2, r7 │ │ │ │ │ - str r1, [sp, #596] @ 0x254 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ - str r2, [sp, #592] @ 0x250 │ │ │ │ │ - add.w r2, sp, #1392 @ 0x570 │ │ │ │ │ + vstr d12, [r1] │ │ │ │ │ + add.w r1, sp, #1392 @ 0x570 │ │ │ │ │ + vstr d8, [r1] │ │ │ │ │ + add.w r1, sl, r5 │ │ │ │ │ + add r5, fp │ │ │ │ │ + add.w r4, r1, r7 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + strd r1, r4, [sp, #600] @ 0x258 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + add.w r1, sp, #1400 @ 0x578 │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ vmla.f64 d4, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ vldr d3, [r6, #672] @ 0x2a0 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - adds r1, r0, r7 │ │ │ │ │ - str r1, [sp, #600] @ 0x258 │ │ │ │ │ - vldr d2, [r1] │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + add.w r4, r5, r7 │ │ │ │ │ + vldr d2, [r4] │ │ │ │ │ + str r4, [sp, #608] @ 0x260 │ │ │ │ │ + mov.w r4, #152 @ 0x98 │ │ │ │ │ + vldr d1, [r6, #680] @ 0x2a8 │ │ │ │ │ + mul.w r4, r4, r9 │ │ │ │ │ + vldr d10, [r6, #424] @ 0x1a8 │ │ │ │ │ + add.w lr, sl, r4 │ │ │ │ │ + add r4, fp │ │ │ │ │ + vldr d0, [r6, #936] @ 0x3a8 │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ vmla.f64 d5, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vldr d1, [r6, #808] @ 0x328 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ + vldr d3, [lr] │ │ │ │ │ vadd.f64 d14, d4, d5 │ │ │ │ │ vsub.f64 d12, d4, d5 │ │ │ │ │ vldr d5, [r6, #296] @ 0x128 │ │ │ │ │ - vsub.f64 d2, d6, d7 │ │ │ │ │ vadd.f64 d15, d6, d7 │ │ │ │ │ + vsub.f64 d2, d6, d7 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ vldr d7, [r6, #288] @ 0x120 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - movs r2, #152 @ 0x98 │ │ │ │ │ - mul.w r2, r2, fp │ │ │ │ │ - add.w lr, r9, r2 │ │ │ │ │ - add r2, sl │ │ │ │ │ + vmul.f64 d4, d6, d5 │ │ │ │ │ + vstr d2, [r1] │ │ │ │ │ add.w r1, lr, r7 │ │ │ │ │ - adds r7, r2, r7 │ │ │ │ │ - str r7, [sp, #608] @ 0x260 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - vldr d3, [lr] │ │ │ │ │ + add r7, r4 │ │ │ │ │ vldr d2, [r7] │ │ │ │ │ + strd r1, r7, [sp, #612] @ 0x264 │ │ │ │ │ mov.w r7, #472 @ 0x1d8 │ │ │ │ │ - vmul.f64 d4, d6, d5 │ │ │ │ │ - str r1, [sp, #604] @ 0x25c │ │ │ │ │ vmla.f64 d4, d3, d7 │ │ │ │ │ vmul.f64 d3, d3, d5 │ │ │ │ │ vldr d5, [r6, #800] @ 0x320 │ │ │ │ │ - mul.w r7, r7, fp │ │ │ │ │ + mul.w r7, r7, r9 │ │ │ │ │ vnmls.f64 d3, d6, d7 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ - add.w r1, r9, r7 │ │ │ │ │ - add r7, sl │ │ │ │ │ - str r1, [sp, #612] @ 0x264 │ │ │ │ │ + add.w r1, sl, r7 │ │ │ │ │ + add r7, fp │ │ │ │ │ + str r1, [sp, #620] @ 0x26c │ │ │ │ │ vmla.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ + vldr d1, [r7] │ │ │ │ │ vnmls.f64 d7, d2, d5 │ │ │ │ │ + vldr d5, [r6, #928] @ 0x3a0 │ │ │ │ │ vadd.f64 d8, d4, d6 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ + vmul.f64 d6, d1, d0 │ │ │ │ │ vadd.f64 d2, d3, d7 │ │ │ │ │ vsub.f64 d3, d3, d7 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - add.w r1, r9, ip │ │ │ │ │ - vldr d1, [r7] │ │ │ │ │ - add ip, sl │ │ │ │ │ - vldr d0, [r6, #936] @ 0x3a8 │ │ │ │ │ - vldr d5, [r6, #928] @ 0x3a0 │ │ │ │ │ - vldr d10, [r6, #424] @ 0x1a8 │ │ │ │ │ - vmul.f64 d6, d1, d0 │ │ │ │ │ - str.w r1, [sp, #1664] @ 0x680 │ │ │ │ │ + add.w r1, sl, ip │ │ │ │ │ + add ip, fp │ │ │ │ │ + str.w r1, [sp, #1672] @ 0x688 │ │ │ │ │ vmla.f64 d6, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ vldr d0, [ip] │ │ │ │ │ vnmls.f64 d7, d1, d5 │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ - vldr d1, [r6, #416] @ 0x1a0 │ │ │ │ │ + add.w r1, sp, #1408 @ 0x580 │ │ │ │ │ vmul.f64 d9, d0, d10 │ │ │ │ │ - add.w r1, sp, #1400 @ 0x578 │ │ │ │ │ + vldr d1, [r6, #416] @ 0x1a0 │ │ │ │ │ add.w r6, r6, #1008 @ 0x3f0 │ │ │ │ │ vmla.f64 d9, d5, d1 │ │ │ │ │ vmul.f64 d5, d5, d10 │ │ │ │ │ vadd.f64 d10, d13, d8 │ │ │ │ │ vsub.f64 d8, d13, d8 │ │ │ │ │ - vldr d13, [pc, #-444] @ 1478 │ │ │ │ │ + vldr d13, [pc, #-572] @ 1470 │ │ │ │ │ vnmls.f64 d5, d0, d1 │ │ │ │ │ vadd.f64 d1, d6, d9 │ │ │ │ │ vsub.f64 d6, d6, d9 │ │ │ │ │ - vadd.f64 d9, d14, d1 │ │ │ │ │ vadd.f64 d0, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ + vadd.f64 d9, d14, d1 │ │ │ │ │ vsub.f64 d1, d1, d14 │ │ │ │ │ vadd.f64 d5, d10, d9 │ │ │ │ │ vsub.f64 d10, d10, d9 │ │ │ │ │ vsub.f64 d9, d11, d2 │ │ │ │ │ vstr d10, [r1] │ │ │ │ │ vmov.f64 d10, d11 │ │ │ │ │ + add.w r1, sp, #1416 @ 0x588 │ │ │ │ │ vsub.f64 d11, d8, d9 │ │ │ │ │ - add.w r1, sp, #1408 @ 0x580 │ │ │ │ │ vadd.f64 d8, d8, d9 │ │ │ │ │ vadd.f64 d9, d15, d0 │ │ │ │ │ vsub.f64 d0, d0, d15 │ │ │ │ │ - vldr d15, [sp, #680] @ 0x2a8 │ │ │ │ │ vadd.f64 d2, d10, d2 │ │ │ │ │ vstr d11, [r1] │ │ │ │ │ - add.w r1, sp, #1416 @ 0x588 │ │ │ │ │ + add.w r1, sp, #1424 @ 0x590 │ │ │ │ │ vadd.f64 d14, d1, d0 │ │ │ │ │ vstr d8, [r1] │ │ │ │ │ + add.w r1, sp, #1432 @ 0x598 │ │ │ │ │ vsub.f64 d8, d9, d2 │ │ │ │ │ - add.w r1, sp, #1424 @ 0x590 │ │ │ │ │ vadd.f64 d9, d9, d2 │ │ │ │ │ vstr d8, [r1] │ │ │ │ │ - add.w r1, sp, #1376 @ 0x560 │ │ │ │ │ - vldr d8, [r1] │ │ │ │ │ add.w r1, sp, #1384 @ 0x568 │ │ │ │ │ + vldr d8, [r1] │ │ │ │ │ + add.w r1, sp, #1392 @ 0x570 │ │ │ │ │ vldr d10, [r1] │ │ │ │ │ + add.w r1, sp, #1440 @ 0x5a0 │ │ │ │ │ vsub.f64 d2, d8, d3 │ │ │ │ │ - add.w r1, sp, #1432 @ 0x598 │ │ │ │ │ vadd.f64 d8, d10, d4 │ │ │ │ │ vmul.f64 d10, d8, d13 │ │ │ │ │ vmov.f64 d11, d10 │ │ │ │ │ - vldr d10, [pc, #-584] @ 1480 │ │ │ │ │ + vldr d10, [pc, #-708] @ 1478 │ │ │ │ │ vnmls.f64 d11, d2, d10 │ │ │ │ │ vmul.f64 d2, d2, d13 │ │ │ │ │ vstr d11, [r1] │ │ │ │ │ vmov.f64 d11, d2 │ │ │ │ │ + add.w r1, sp, #1448 @ 0x5a8 │ │ │ │ │ vmla.f64 d11, d8, d10 │ │ │ │ │ - add.w r1, sp, #1440 @ 0x5a0 │ │ │ │ │ vadd.f64 d8, d12, d7 │ │ │ │ │ vsub.f64 d7, d7, d12 │ │ │ │ │ vstr d11, [r1] │ │ │ │ │ - add.w r1, sp, #1392 @ 0x570 │ │ │ │ │ + add.w r1, sp, #1400 @ 0x578 │ │ │ │ │ vldr d2, [r1] │ │ │ │ │ - add.w r1, sp, #1448 @ 0x5a8 │ │ │ │ │ + add.w r1, sp, #1456 @ 0x5b0 │ │ │ │ │ vsub.f64 d2, d6, d2 │ │ │ │ │ vmul.f64 d10, d2, d10 │ │ │ │ │ vmul.f64 d2, d2, d13 │ │ │ │ │ vmov.f64 d11, d10 │ │ │ │ │ - vldr d10, [pc, #-652] @ 1480 │ │ │ │ │ + vldr d10, [pc, #-776] @ 1478 │ │ │ │ │ vmla.f64 d11, d8, d13 │ │ │ │ │ vnmls.f64 d2, d8, d10 │ │ │ │ │ vstr d11, [r1] │ │ │ │ │ - add.w r1, sp, #1456 @ 0x5b0 │ │ │ │ │ + add.w r1, sp, #1464 @ 0x5b8 │ │ │ │ │ vstr d2, [r1] │ │ │ │ │ - add.w r1, sp, #1392 @ 0x570 │ │ │ │ │ + add.w r1, sp, #1400 @ 0x578 │ │ │ │ │ + vldr d15, [sp, #688] @ 0x2b0 │ │ │ │ │ vldr d2, [r1] │ │ │ │ │ vadd.f64 d6, d2, d6 │ │ │ │ │ vmul.f64 d2, d7, d13 │ │ │ │ │ vmov.f64 d8, d2 │ │ │ │ │ vnmls.f64 d8, d6, d10 │ │ │ │ │ vmul.f64 d6, d6, d13 │ │ │ │ │ vmov.f64 d12, d6 │ │ │ │ │ vmla.f64 d12, d7, d10 │ │ │ │ │ vstr d8, [r1] │ │ │ │ │ - add.w r1, sp, #1464 @ 0x5b8 │ │ │ │ │ - vstr d12, [r1] │ │ │ │ │ add.w r1, sp, #1472 @ 0x5c0 │ │ │ │ │ + vmov.f64 d8, d13 │ │ │ │ │ + vldr d13, [sp, #760] @ 0x2f8 │ │ │ │ │ + vstr d12, [r1] │ │ │ │ │ vsub.f64 d12, d0, d1 │ │ │ │ │ - vldr d0, [sp, #616] @ 0x268 │ │ │ │ │ - vstr d14, [r1] │ │ │ │ │ add.w r1, sp, #1480 @ 0x5c8 │ │ │ │ │ - vldr d14, [sp, #808] @ 0x328 │ │ │ │ │ + vldr d0, [sp, #624] @ 0x270 │ │ │ │ │ + vstr d14, [r1] │ │ │ │ │ + add.w r1, sp, #1488 @ 0x5d0 │ │ │ │ │ + vldr d14, [sp, #816] @ 0x330 │ │ │ │ │ vstr d12, [r1] │ │ │ │ │ - add.w r1, sp, #1384 @ 0x568 │ │ │ │ │ + add.w r1, sp, #1392 @ 0x570 │ │ │ │ │ vldr d12, [r1] │ │ │ │ │ - add.w r1, sp, #1376 @ 0x560 │ │ │ │ │ + add.w r1, sp, #1384 @ 0x568 │ │ │ │ │ vsub.f64 d4, d12, d4 │ │ │ │ │ vldr d12, [r1] │ │ │ │ │ vadd.f64 d7, d12, d3 │ │ │ │ │ - vldr d12, [sp, #744] @ 0x2e8 │ │ │ │ │ + vldr d12, [sp, #752] @ 0x2f0 │ │ │ │ │ vmul.f64 d6, d7, d10 │ │ │ │ │ - vmul.f64 d7, d7, d13 │ │ │ │ │ - vmov.f64 d1, d6 │ │ │ │ │ + vmul.f64 d7, d7, d8 │ │ │ │ │ vnmls.f64 d7, d4, d10 │ │ │ │ │ - vmla.f64 d1, d4, d13 │ │ │ │ │ vadd.f64 d10, d12, d14 │ │ │ │ │ + vmov.f64 d1, d6 │ │ │ │ │ vadd.f64 d6, d0, d15 │ │ │ │ │ + vldr d0, [sp, #976] @ 0x3d0 │ │ │ │ │ + vmla.f64 d1, d4, d8 │ │ │ │ │ vadd.f64 d12, d6, d10 │ │ │ │ │ vsub.f64 d10, d6, d10 │ │ │ │ │ vstr d1, [r1] │ │ │ │ │ - add.w r1, sp, #1384 @ 0x568 │ │ │ │ │ + add.w r1, sp, #1392 @ 0x570 │ │ │ │ │ + vldr d1, [sp, #880] @ 0x370 │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ - add.w r1, sp, #1096 @ 0x448 │ │ │ │ │ + add.w r1, sp, #1104 @ 0x450 │ │ │ │ │ vldr d4, [r1] │ │ │ │ │ - add.w r1, sp, #1184 @ 0x4a0 │ │ │ │ │ - vldr d13, [sp, #752] @ 0x2f0 │ │ │ │ │ - vldr d1, [sp, #872] @ 0x368 │ │ │ │ │ + add.w r1, sp, #1192 @ 0x4a8 │ │ │ │ │ vldr d14, [r1] │ │ │ │ │ - add.w r1, sp, #1288 @ 0x508 │ │ │ │ │ + add.w r1, sp, #1296 @ 0x510 │ │ │ │ │ vadd.f64 d3, d4, d9 │ │ │ │ │ - vldr d0, [sp, #968] @ 0x3c8 │ │ │ │ │ vldr d4, [r1] │ │ │ │ │ - add.w r1, sp, #1656 @ 0x678 │ │ │ │ │ + add.w r1, sp, #1664 @ 0x680 │ │ │ │ │ vadd.f64 d7, d14, d4 │ │ │ │ │ - vldr d4, [sp, #816] @ 0x330 │ │ │ │ │ - vldr d14, [sp, #664] @ 0x298 │ │ │ │ │ + vldr d14, [sp, #672] @ 0x2a0 │ │ │ │ │ + vldr d4, [sp, #824] @ 0x338 │ │ │ │ │ vsub.f64 d11, d3, d7 │ │ │ │ │ vadd.f64 d3, d3, d7 │ │ │ │ │ vadd.f64 d7, d13, d4 │ │ │ │ │ - vldr d4, [sp, #704] @ 0x2c0 │ │ │ │ │ + vldr d4, [sp, #712] @ 0x2c8 │ │ │ │ │ vadd.f64 d6, d14, d4 │ │ │ │ │ vadd.f64 d2, d7, d6 │ │ │ │ │ vsub.f64 d14, d6, d7 │ │ │ │ │ - vldr d7, [sp, #880] @ 0x370 │ │ │ │ │ + vldr d7, [sp, #888] @ 0x378 │ │ │ │ │ vadd.f64 d6, d1, d7 │ │ │ │ │ - vldr d7, [sp, #976] @ 0x3d0 │ │ │ │ │ + vldr d7, [sp, #984] @ 0x3d8 │ │ │ │ │ vstr d14, [r1] │ │ │ │ │ - add.w r1, sp, #1608 @ 0x648 │ │ │ │ │ + add.w r1, sp, #1616 @ 0x650 │ │ │ │ │ vadd.f64 d15, d0, d7 │ │ │ │ │ vadd.f64 d8, d6, d15 │ │ │ │ │ vsub.f64 d15, d6, d15 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ - add.w r1, sp, #1648 @ 0x670 │ │ │ │ │ + add.w r1, sp, #1656 @ 0x678 │ │ │ │ │ vldr d0, [r1] │ │ │ │ │ - add.w r1, sp, #1568 @ 0x620 │ │ │ │ │ + add.w r1, sp, #1576 @ 0x628 │ │ │ │ │ vldr d13, [r1] │ │ │ │ │ - add.w r1, sp, #1184 @ 0x4a0 │ │ │ │ │ + add.w r1, sp, #1192 @ 0x4a8 │ │ │ │ │ + vldr d14, [r1] │ │ │ │ │ + add.w r1, sp, #1296 @ 0x510 │ │ │ │ │ vadd.f64 d7, d6, d0 │ │ │ │ │ vsub.f64 d6, d6, d0 │ │ │ │ │ vadd.f64 d4, d13, d5 │ │ │ │ │ - vldr d14, [r1] │ │ │ │ │ - add.w r1, sp, #1288 @ 0x508 │ │ │ │ │ vsub.f64 d5, d13, d5 │ │ │ │ │ vadd.f64 d1, d7, d4 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - add.w r1, sp, #1096 @ 0x448 │ │ │ │ │ + add.w r1, sp, #1104 @ 0x450 │ │ │ │ │ vsub.f64 d14, d14, d7 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - ldr r1, [sp, #328] @ 0x148 │ │ │ │ │ vsub.f64 d9, d7, d9 │ │ │ │ │ vadd.f64 d0, d6, d14 │ │ │ │ │ vsub.f64 d14, d6, d14 │ │ │ │ │ - vldr d6, [sp, #1000] @ 0x3e8 │ │ │ │ │ vadd.f64 d13, d5, d9 │ │ │ │ │ vsub.f64 d7, d5, d9 │ │ │ │ │ - vldr d9, [sp, #992] @ 0x3e0 │ │ │ │ │ - vldr d5, [sp, #888] @ 0x378 │ │ │ │ │ + vldr d9, [sp, #1000] @ 0x3e8 │ │ │ │ │ + vldr d6, [sp, #1008] @ 0x3f0 │ │ │ │ │ + ldr r1, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d5, [sp, #896] @ 0x380 │ │ │ │ │ vadd.f64 d6, d9, d6 │ │ │ │ │ - vldr d9, [sp, #896] @ 0x380 │ │ │ │ │ + vldr d9, [sp, #904] @ 0x388 │ │ │ │ │ vadd.f64 d9, d5, d9 │ │ │ │ │ vsub.f64 d5, d6, d9 │ │ │ │ │ vadd.f64 d6, d6, d9 │ │ │ │ │ vadd.f64 d9, d12, d8 │ │ │ │ │ vsub.f64 d12, d12, d8 │ │ │ │ │ - vstr d5, [sp, #872] @ 0x368 │ │ │ │ │ + vstr d5, [sp, #880] @ 0x370 │ │ │ │ │ vsub.f64 d5, d9, d1 │ │ │ │ │ vadd.f64 d1, d1, d9 │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ - vstr d1, [r9] │ │ │ │ │ + vstr d1, [sl] │ │ │ │ │ vadd.f64 d1, d2, d6 │ │ │ │ │ - ldr r1, [sp, #0] │ │ │ │ │ vsub.f64 d2, d2, d6 │ │ │ │ │ + ldr r1, [sp, #24] │ │ │ │ │ + vldr d5, [sp, #880] @ 0x370 │ │ │ │ │ vsub.f64 d9, d3, d1 │ │ │ │ │ vadd.f64 d3, d3, d1 │ │ │ │ │ vsub.f64 d6, d4, d2 │ │ │ │ │ vadd.f64 d4, d4, d2 │ │ │ │ │ - vldr d2, [pc, #964] @ 1ca8 │ │ │ │ │ + vldr d2, [pc, #964] @ 1d28 │ │ │ │ │ vstr d9, [r1] │ │ │ │ │ - ldr r1, [sp, #312] @ 0x138 │ │ │ │ │ + ldr r1, [sp, #328] @ 0x148 │ │ │ │ │ vstr d3, [r1] │ │ │ │ │ - ldr r1, [sp, #32] │ │ │ │ │ + ldr r1, [sp, #56] @ 0x38 │ │ │ │ │ vstr d6, [r1] │ │ │ │ │ vsub.f64 d6, d12, d11 │ │ │ │ │ - ldr r1, [sp, #352] @ 0x160 │ │ │ │ │ vadd.f64 d11, d11, d12 │ │ │ │ │ - vldr d5, [sp, #872] @ 0x368 │ │ │ │ │ - vldr d9, [sp, #712] @ 0x2c8 │ │ │ │ │ - vldr d12, [sp, #632] @ 0x278 │ │ │ │ │ + ldr r1, [sp, #368] @ 0x170 │ │ │ │ │ vstr d4, [r1] │ │ │ │ │ vadd.f64 d4, d0, d7 │ │ │ │ │ - ldr r1, [sp, #16] │ │ │ │ │ vsub.f64 d7, d7, d0 │ │ │ │ │ + ldr r1, [sp, #40] @ 0x28 │ │ │ │ │ vmul.f64 d4, d4, d2 │ │ │ │ │ vstr d6, [r1] │ │ │ │ │ vsub.f64 d6, d10, d5 │ │ │ │ │ - ldr r1, [sp, #380] @ 0x17c │ │ │ │ │ + ldr r1, [sp, #0] │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ - vstr d11, [r5] │ │ │ │ │ vadd.f64 d5, d10, d5 │ │ │ │ │ - ldr r5, [sp, #48] @ 0x30 │ │ │ │ │ vsub.f64 d3, d6, d4 │ │ │ │ │ + vstr d11, [r1] │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vldr d11, [sp, #832] @ 0x340 │ │ │ │ │ - vldr d10, [sp, #736] @ 0x2e0 │ │ │ │ │ + ldr r1, [sp, #456] @ 0x1c8 │ │ │ │ │ vstr d3, [r1] │ │ │ │ │ - add.w r1, sp, #1656 @ 0x678 │ │ │ │ │ - vstr d6, [r5] │ │ │ │ │ - ldr r5, [sp, #68] @ 0x44 │ │ │ │ │ + ldr r1, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ + add.w r1, sp, #1664 @ 0x680 │ │ │ │ │ vldr d1, [r1] │ │ │ │ │ - add.w r1, sp, #1032 @ 0x408 │ │ │ │ │ - vldr d3, [sp, #768] @ 0x300 │ │ │ │ │ + ldr r1, [sp, #88] @ 0x58 │ │ │ │ │ vadd.f64 d6, d1, d15 │ │ │ │ │ vsub.f64 d15, d1, d15 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d4, [r5] │ │ │ │ │ - ldr r5, [sp, #364] @ 0x16c │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ + ldr r1, [sp, #384] @ 0x180 │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ vsub.f64 d7, d13, d14 │ │ │ │ │ - ldr r5, [sp, #60] @ 0x3c │ │ │ │ │ vadd.f64 d14, d14, d13 │ │ │ │ │ + ldr r1, [sp, #80] @ 0x50 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ vmul.f64 d14, d14, d2 │ │ │ │ │ vsub.f64 d4, d7, d15 │ │ │ │ │ vadd.f64 d7, d7, d15 │ │ │ │ │ - vstr d4, [r5] │ │ │ │ │ - ldr r5, [sp, #372] @ 0x174 │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ + ldr r1, [sp, #392] @ 0x188 │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ vsub.f64 d7, d5, d14 │ │ │ │ │ - ldr r5, [sp, #76] @ 0x4c │ │ │ │ │ vadd.f64 d5, d5, d14 │ │ │ │ │ - vldr d14, [sp, #648] @ 0x288 │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ + ldr r1, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d14, [sp, #656] @ 0x290 │ │ │ │ │ + vldr d9, [sp, #720] @ 0x2d0 │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ + vldr d12, [sp, #640] @ 0x280 │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ + add.w r2, sp, #1024 @ 0x400 │ │ │ │ │ + vldr d7, [sp, #768] @ 0x300 │ │ │ │ │ vadd.f64 d6, d14, d9 │ │ │ │ │ - vldr d7, [sp, #760] @ 0x2f8 │ │ │ │ │ - vldr d9, [sp, #824] @ 0x338 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ - vldr d5, [sp, #904] @ 0x388 │ │ │ │ │ + vldr d10, [sp, #744] @ 0x2e8 │ │ │ │ │ + vldr d9, [sp, #832] @ 0x340 │ │ │ │ │ + vldr d3, [sp, #776] @ 0x308 │ │ │ │ │ + vldr d11, [sp, #840] @ 0x348 │ │ │ │ │ vadd.f64 d13, d7, d9 │ │ │ │ │ + vldr d5, [sp, #912] @ 0x390 │ │ │ │ │ + vldr d8, [r2] │ │ │ │ │ + add.w r2, sp, #1040 @ 0x410 │ │ │ │ │ vsub.f64 d7, d3, d11 │ │ │ │ │ - vldr d11, [pc, #812] @ 1cf8 │ │ │ │ │ - vldr d3, [pc, #816] @ 1d00 │ │ │ │ │ + vldr d11, [pc, #804] @ 1d78 │ │ │ │ │ vsub.f64 d0, d6, d13 │ │ │ │ │ vadd.f64 d13, d6, d13 │ │ │ │ │ + vldr d3, [pc, #800] @ 1d80 │ │ │ │ │ vadd.f64 d6, d12, d10 │ │ │ │ │ + vldr d10, [sp, #960] @ 0x3c0 │ │ │ │ │ vadd.f64 d12, d7, d6 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vstr d6, [sp] │ │ │ │ │ - vldr d6, [sp, #920] @ 0x398 │ │ │ │ │ - vldr d10, [sp, #952] @ 0x3b8 │ │ │ │ │ - vldr d8, [sp, #1016] @ 0x3f8 │ │ │ │ │ + vldr d6, [sp, #928] @ 0x3a0 │ │ │ │ │ vadd.f64 d7, d5, d6 │ │ │ │ │ - vldr d5, [sp, #936] @ 0x3a8 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - add.w r1, sp, #1048 @ 0x418 │ │ │ │ │ - ldr r4, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d5, [sp, #944] @ 0x3b0 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add.w r2, sp, #1056 @ 0x420 │ │ │ │ │ + vldr d9, [r2] │ │ │ │ │ + add.w r2, sp, #1072 @ 0x430 │ │ │ │ │ vadd.f64 d2, d5, d10 │ │ │ │ │ - ldr r5, [sp, #360] @ 0x168 │ │ │ │ │ - vldr d9, [r1] │ │ │ │ │ - add.w r1, sp, #1064 @ 0x428 │ │ │ │ │ + vldr d14, [r2] │ │ │ │ │ + add.w r2, sp, #1200 @ 0x4b0 │ │ │ │ │ vadd.f64 d4, d8, d6 │ │ │ │ │ vmul.f64 d5, d2, d3 │ │ │ │ │ vmul.f64 d2, d2, d11 │ │ │ │ │ - vldr d14, [r1] │ │ │ │ │ vmla.f64 d5, d7, d11 │ │ │ │ │ - add.w r1, sp, #1192 @ 0x4a8 │ │ │ │ │ vnmls.f64 d2, d7, d3 │ │ │ │ │ vadd.f64 d7, d9, d14 │ │ │ │ │ vmov.f64 d9, d3 │ │ │ │ │ vmul.f64 d3, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ - vmla.f64 d7, d4, d9 │ │ │ │ │ vnmls.f64 d3, d4, d11 │ │ │ │ │ - vsub.f64 d8, d7, d2 │ │ │ │ │ - vadd.f64 d11, d2, d7 │ │ │ │ │ + vmla.f64 d7, d4, d9 │ │ │ │ │ vadd.f64 d4, d5, d3 │ │ │ │ │ vsub.f64 d3, d5, d3 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - add.w r1, sp, #1208 @ 0x4b8 │ │ │ │ │ - vstr d3, [sp, #16] │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ - add.w r1, sp, #1296 @ 0x510 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - add.w r1, sp, #1312 @ 0x520 │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + add.w r2, sp, #1216 @ 0x4c0 │ │ │ │ │ + vsub.f64 d8, d7, d2 │ │ │ │ │ + vadd.f64 d11, d2, d7 │ │ │ │ │ + vstr d3, [sp, #24] │ │ │ │ │ + vldr d3, [r2] │ │ │ │ │ + add.w r2, sp, #1304 @ 0x518 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add.w r2, sp, #1320 @ 0x528 │ │ │ │ │ + vldr d15, [r2] │ │ │ │ │ + add.w r2, sp, #1232 @ 0x4d0 │ │ │ │ │ vadd.f64 d7, d5, d3 │ │ │ │ │ - vldr d5, [pc, #564] @ 1cb0 │ │ │ │ │ - vldr d15, [r1] │ │ │ │ │ - add.w r1, sp, #1224 @ 0x4c8 │ │ │ │ │ + vldr d5, [pc, #556] @ 1d30 │ │ │ │ │ vadd.f64 d3, d6, d15 │ │ │ │ │ vsub.f64 d15, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ - add.w r1, sp, #1240 @ 0x4d8 │ │ │ │ │ - vldr d1, [r1] │ │ │ │ │ - add.w r1, sp, #1304 @ 0x518 │ │ │ │ │ - vldr d14, [r1] │ │ │ │ │ - add.w r1, sp, #1320 @ 0x528 │ │ │ │ │ + vldr d3, [r2] │ │ │ │ │ + add.w r2, sp, #1248 @ 0x4e0 │ │ │ │ │ + vldr d1, [r2] │ │ │ │ │ + add.w r2, sp, #1312 @ 0x520 │ │ │ │ │ + vldr d14, [r2] │ │ │ │ │ + add.w r2, sp, #1328 @ 0x530 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add.w r2, sp, #1112 @ 0x458 │ │ │ │ │ vadd.f64 d3, d3, d1 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - add.w r1, sp, #1104 @ 0x450 │ │ │ │ │ vadd.f64 d9, d14, d6 │ │ │ │ │ - vldr d14, [pc, #508] @ 1cb8 │ │ │ │ │ - vldr d6, [pc, #512] @ 1cc0 │ │ │ │ │ - vmov.f64 d10, d14 │ │ │ │ │ + vldr d14, [pc, #508] @ 1d38 │ │ │ │ │ + vldr d6, [pc, #512] @ 1d40 │ │ │ │ │ vsub.f64 d1, d3, d9 │ │ │ │ │ vadd.f64 d3, d3, d9 │ │ │ │ │ + vmov.f64 d10, d14 │ │ │ │ │ vmul.f64 d9, d3, d5 │ │ │ │ │ vmul.f64 d14, d1, d14 │ │ │ │ │ vmla.f64 d14, d15, d6 │ │ │ │ │ vmul.f64 d15, d15, d10 │ │ │ │ │ vmov.f64 d2, d9 │ │ │ │ │ - vldr d9, [pc, #484] @ 1cc8 │ │ │ │ │ + vldr d9, [pc, #484] @ 1d48 │ │ │ │ │ vnmls.f64 d15, d1, d6 │ │ │ │ │ vmla.f64 d2, d7, d9 │ │ │ │ │ vmul.f64 d7, d7, d5 │ │ │ │ │ vnmls.f64 d7, d3, d9 │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ - add.w r1, sp, #1120 @ 0x460 │ │ │ │ │ - vldr d1, [r1] │ │ │ │ │ - add.w r1, sp, #1432 @ 0x598 │ │ │ │ │ - vstr d2, [sp, #32] │ │ │ │ │ + vldr d3, [r2] │ │ │ │ │ + add.w r2, sp, #1128 @ 0x468 │ │ │ │ │ + vstr d2, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d7, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d1, [r2] │ │ │ │ │ + add.w r2, sp, #1440 @ 0x5a0 │ │ │ │ │ + ldr r1, [sp, #76] @ 0x4c │ │ │ │ │ vadd.f64 d2, d3, d1 │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ - add.w r1, sp, #1448 @ 0x5a8 │ │ │ │ │ - vstr d7, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d1, [r1] │ │ │ │ │ - add.w r1, sp, #1136 @ 0x470 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - add.w r1, sp, #1152 @ 0x480 │ │ │ │ │ + vldr d3, [r2] │ │ │ │ │ + add.w r2, sp, #1456 @ 0x5b0 │ │ │ │ │ + vldr d1, [r2] │ │ │ │ │ + add.w r2, sp, #1144 @ 0x478 │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + add.w r2, sp, #1160 @ 0x488 │ │ │ │ │ vadd.f64 d7, d3, d1 │ │ │ │ │ - vldr d1, [r1] │ │ │ │ │ - add.w r1, sp, #1440 @ 0x5a0 │ │ │ │ │ + vldr d1, [r2] │ │ │ │ │ + add.w r2, sp, #1448 @ 0x5a8 │ │ │ │ │ vsub.f64 d3, d2, d7 │ │ │ │ │ vadd.f64 d2, d2, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - add.w r1, sp, #1456 @ 0x5b0 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + add.w r2, sp, #1464 @ 0x5b8 │ │ │ │ │ vadd.f64 d1, d5, d1 │ │ │ │ │ vmov.f64 d5, d6 │ │ │ │ │ - vldr d9, [r1] │ │ │ │ │ + vldr d9, [r2] │ │ │ │ │ + ldr r2, [sp, #100] @ 0x64 │ │ │ │ │ vadd.f64 d7, d7, d9 │ │ │ │ │ vsub.f64 d9, d1, d7 │ │ │ │ │ vadd.f64 d1, d1, d7 │ │ │ │ │ vmul.f64 d7, d9, d6 │ │ │ │ │ - vldr d6, [pc, #356] @ 1cc8 │ │ │ │ │ + vldr d6, [pc, #352] @ 1d48 │ │ │ │ │ vnmls.f64 d7, d3, d10 │ │ │ │ │ - vmul.f64 d10, d1, d6 │ │ │ │ │ - vldr d6, [pc, #320] @ 1cb0 │ │ │ │ │ vmul.f64 d3, d3, d5 │ │ │ │ │ + vmul.f64 d10, d1, d6 │ │ │ │ │ + vldr d6, [pc, #312] @ 1d30 │ │ │ │ │ vnmls.f64 d10, d2, d6 │ │ │ │ │ - vldr d6, [pc, #316] @ 1cb8 │ │ │ │ │ + vldr d6, [pc, #312] @ 1d38 │ │ │ │ │ vmla.f64 d3, d9, d6 │ │ │ │ │ - vldr d9, [pc, #324] @ 1cc8 │ │ │ │ │ - vldr d6, [pc, #296] @ 1cb0 │ │ │ │ │ + vldr d9, [pc, #320] @ 1d48 │ │ │ │ │ + vldr d6, [pc, #292] @ 1d30 │ │ │ │ │ vmul.f64 d2, d2, d9 │ │ │ │ │ vmla.f64 d2, d1, d6 │ │ │ │ │ vadd.f64 d1, d14, d7 │ │ │ │ │ vldr d6, [sp] │ │ │ │ │ vsub.f64 d7, d7, d14 │ │ │ │ │ vmov.f64 d5, d2 │ │ │ │ │ vadd.f64 d2, d0, d4 │ │ │ │ │ vsub.f64 d4, d0, d4 │ │ │ │ │ + vldr d0, [sp, #40] @ 0x28 │ │ │ │ │ vsub.f64 d9, d2, d1 │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ vadd.f64 d1, d6, d8 │ │ │ │ │ vsub.f64 d6, d6, d8 │ │ │ │ │ - vstr d9, [r4] │ │ │ │ │ + vldr d8, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d9, [r2] │ │ │ │ │ vstr d2, [r8] │ │ │ │ │ vsub.f64 d2, d3, d15 │ │ │ │ │ vadd.f64 d15, d15, d3 │ │ │ │ │ + vldr d3, [sp, #24] │ │ │ │ │ + ldr r2, [sp, #380] @ 0x17c │ │ │ │ │ vsub.f64 d9, d2, d1 │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ - vldr d1, [pc, #260] @ 1cd8 │ │ │ │ │ - vstr d9, [r5] │ │ │ │ │ + vldr d1, [pc, #240] @ 1d58 │ │ │ │ │ + vstr d9, [r2] │ │ │ │ │ vmov.f64 d9, d1 │ │ │ │ │ - ldr r4, [sp, #72] @ 0x48 │ │ │ │ │ - ldr r5, [sp, #368] @ 0x170 │ │ │ │ │ - vldr d8, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d0, [sp, #32] │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ + ldr r2, [sp, #92] @ 0x5c │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ vsub.f64 d2, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - ldr r4, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r2, [sp, #388] @ 0x184 │ │ │ │ │ vadd.f64 d6, d8, d5 │ │ │ │ │ - vldr d3, [sp, #16] │ │ │ │ │ - ldr r1, [sp, #24] │ │ │ │ │ - vstr d2, [r5] │ │ │ │ │ - ldr r5, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d2, [pc, #156] @ 1ca8 │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ + ldr r2, [sp, #84] @ 0x54 │ │ │ │ │ + vldr d2, [pc, #156] @ 1d28 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d4, d15 │ │ │ │ │ - ldr r5, [sp, #376] @ 0x178 │ │ │ │ │ vadd.f64 d4, d4, d15 │ │ │ │ │ - vldr d15, [sp, #680] @ 0x2a8 │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ + ldr r2, [sp, #396] @ 0x18c │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vadd.f64 d7, d13, d11 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - ldr r4, [sp, #320] @ 0x140 │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ + ldr r2, [sp, #336] @ 0x150 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d12, d3 │ │ │ │ │ vsub.f64 d12, d12, d3 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - vstr d7, [sl] │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ + vstr d7, [fp] │ │ │ │ │ vsub.f64 d7, d10, d0 │ │ │ │ │ - ldr r4, [sp, #304] @ 0x130 │ │ │ │ │ + ldr r2, [sp, #320] @ 0x140 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - ldr r4, [sp, #8] │ │ │ │ │ - vldr d4, [pc, #132] @ 1ce0 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ + ldr r2, [sp, #32] │ │ │ │ │ + vldr d4, [pc, #136] @ 1d60 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d5, d8 │ │ │ │ │ - ldr r4, [sp, #344] @ 0x158 │ │ │ │ │ + ldr r2, [sp, #360] @ 0x168 │ │ │ │ │ + vldr d14, [sp, #672] @ 0x2a0 │ │ │ │ │ + vldr d15, [sp, #688] @ 0x2b0 │ │ │ │ │ vsub.f64 d6, d7, d12 │ │ │ │ │ vadd.f64 d7, d7, d12 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ vadd.f64 d6, d0, d10 │ │ │ │ │ - ldr r4, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d0, [sp, #616] @ 0x268 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + ldr r2, [sp, #68] @ 0x44 │ │ │ │ │ + vldr d0, [sp, #624] @ 0x270 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d13, d11 │ │ │ │ │ - ldr r4, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d13, [sp, #752] @ 0x2f0 │ │ │ │ │ + ldr r2, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d11, [sp, #752] @ 0x2f0 │ │ │ │ │ + vldr d13, [sp, #760] @ 0x2f8 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vsub.f64 d6, d0, d15 │ │ │ │ │ - vldr d0, [sp, #816] @ 0x330 │ │ │ │ │ - vstr d5, [r1] │ │ │ │ │ - add.w r1, sp, #1088 @ 0x440 │ │ │ │ │ - b.n 1d08 │ │ │ │ │ - nop.w │ │ │ │ │ + vldr d15, [sp, #712] @ 0x2c8 │ │ │ │ │ + b.n 1d88 │ │ │ │ │ + nop │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0xbc29b42c │ │ │ │ │ .word 0x3fb917a6 │ │ │ │ │ .word 0x6b151741 │ │ │ │ │ .word 0x3fe8bc80 │ │ │ │ │ .word 0x25091dd6 │ │ │ │ │ @@ -1986,1196 +1973,1201 @@ │ │ │ │ │ .word 0x3fe1c73b │ │ │ │ │ .word 0x290ea1a3 │ │ │ │ │ .word 0x3fea9b66 │ │ │ │ │ .word 0x3c69a60b │ │ │ │ │ .word 0x3fc8f8b8 │ │ │ │ │ .word 0xcff75cb0 │ │ │ │ │ .word 0x3fef6297 │ │ │ │ │ + vldr d0, [sp, #824] @ 0x338 │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ + ldr r2, [sp, #352] @ 0x160 │ │ │ │ │ vsub.f64 d12, d0, d13 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ - vldr d0, [r1] │ │ │ │ │ - add.w r1, sp, #1400 @ 0x578 │ │ │ │ │ - vldr d14, [sp, #664] @ 0x298 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + add.w r2, sp, #1096 @ 0x448 │ │ │ │ │ + vldr d0, [r2] │ │ │ │ │ + add.w r2, sp, #1408 @ 0x580 │ │ │ │ │ vsub.f64 d8, d6, d12 │ │ │ │ │ vadd.f64 d12, d6, d12 │ │ │ │ │ - vldr d13, [r1] │ │ │ │ │ - add.w r1, sp, #1080 @ 0x438 │ │ │ │ │ - vldr d15, [sp, #704] @ 0x2c0 │ │ │ │ │ - vldr d11, [sp, #744] @ 0x2e8 │ │ │ │ │ + vldr d13, [r2] │ │ │ │ │ + add.w r2, sp, #1088 @ 0x440 │ │ │ │ │ vadd.f64 d6, d0, d13 │ │ │ │ │ - vldr d0, [r1] │ │ │ │ │ - add.w r1, sp, #1424 @ 0x590 │ │ │ │ │ - ldr r5, [sp, #84] @ 0x54 │ │ │ │ │ - vldr d13, [r1] │ │ │ │ │ - add.w r1, sp, #1488 @ 0x5d0 │ │ │ │ │ + vldr d0, [r2] │ │ │ │ │ + add.w r2, sp, #1432 @ 0x598 │ │ │ │ │ + vldr d13, [r2] │ │ │ │ │ + add.w r2, sp, #1496 @ 0x5d8 │ │ │ │ │ + vldr d10, [r2] │ │ │ │ │ + add.w r2, sp, #1504 @ 0x5e0 │ │ │ │ │ vadd.f64 d7, d0, d13 │ │ │ │ │ - vldr d10, [r1] │ │ │ │ │ - add.w r1, sp, #1496 @ 0x5d8 │ │ │ │ │ vmul.f64 d5, d7, d1 │ │ │ │ │ vmov.f64 d0, d5 │ │ │ │ │ vmla.f64 d0, d6, d4 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ vmov.f64 d13, d6 │ │ │ │ │ vnmls.f64 d13, d7, d4 │ │ │ │ │ vsub.f64 d7, d14, d15 │ │ │ │ │ - vldr d15, [r1] │ │ │ │ │ - add.w r1, sp, #1176 @ 0x498 │ │ │ │ │ vstr d0, [sp] │ │ │ │ │ - vldr d0, [sp, #984] @ 0x3d8 │ │ │ │ │ - vldr d14, [r1] │ │ │ │ │ - add.w r1, sp, #1256 @ 0x4e8 │ │ │ │ │ + vldr d0, [sp, #992] @ 0x3e0 │ │ │ │ │ + vldr d15, [r2] │ │ │ │ │ + add.w r2, sp, #1184 @ 0x4a0 │ │ │ │ │ + vldr d14, [r2] │ │ │ │ │ + add.w r2, sp, #1264 @ 0x4f0 │ │ │ │ │ vadd.f64 d3, d10, d15 │ │ │ │ │ - vstr d13, [sp, #8] │ │ │ │ │ - vldr d13, [sp, #808] @ 0x328 │ │ │ │ │ + vstr d13, [sp, #24] │ │ │ │ │ + vldr d13, [sp, #816] @ 0x330 │ │ │ │ │ vsub.f64 d6, d11, d13 │ │ │ │ │ - vldr d13, [sp, #1008] @ 0x3f0 │ │ │ │ │ + vldr d13, [sp, #1016] @ 0x3f8 │ │ │ │ │ vadd.f64 d11, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vsub.f64 d6, d0, d13 │ │ │ │ │ - vldr d13, [r1] │ │ │ │ │ - add.w r1, sp, #1168 @ 0x490 │ │ │ │ │ + vldr d13, [r2] │ │ │ │ │ + add.w r2, sp, #1176 @ 0x498 │ │ │ │ │ vsub.f64 d14, d14, d13 │ │ │ │ │ - vldr d13, [r1] │ │ │ │ │ - add.w r1, sp, #1280 @ 0x500 │ │ │ │ │ + vldr d13, [r2] │ │ │ │ │ + add.w r2, sp, #1288 @ 0x508 │ │ │ │ │ vadd.f64 d5, d3, d6 │ │ │ │ │ vsub.f64 d3, d3, d6 │ │ │ │ │ - vldr d0, [r1] │ │ │ │ │ - add.w r1, sp, #1168 @ 0x490 │ │ │ │ │ + vldr d0, [r2] │ │ │ │ │ + add.w r2, sp, #1176 @ 0x498 │ │ │ │ │ vmul.f64 d3, d3, d2 │ │ │ │ │ vmul.f64 d5, d5, d2 │ │ │ │ │ vsub.f64 d6, d13, d0 │ │ │ │ │ vmov.f64 d0, d4 │ │ │ │ │ vmul.f64 d13, d6, d1 │ │ │ │ │ vmla.f64 d13, d14, d4 │ │ │ │ │ vmul.f64 d14, d14, d1 │ │ │ │ │ - vldr d1, [sp, #984] @ 0x3d8 │ │ │ │ │ + vldr d1, [sp, #992] @ 0x3e0 │ │ │ │ │ vnmls.f64 d14, d6, d4 │ │ │ │ │ vsub.f64 d4, d10, d15 │ │ │ │ │ - vldr d10, [sp, #1008] @ 0x3f0 │ │ │ │ │ + vldr d10, [sp, #1016] @ 0x3f8 │ │ │ │ │ vadd.f64 d1, d1, d10 │ │ │ │ │ vadd.f64 d6, d4, d1 │ │ │ │ │ vsub.f64 d1, d1, d4 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - add.w r1, sp, #1280 @ 0x500 │ │ │ │ │ - vldr d10, [r1] │ │ │ │ │ - add.w r1, sp, #1176 @ 0x498 │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + add.w r2, sp, #1288 @ 0x508 │ │ │ │ │ + vldr d10, [r2] │ │ │ │ │ + add.w r2, sp, #1184 @ 0x4a0 │ │ │ │ │ vmul.f64 d1, d1, d2 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ vadd.f64 d4, d4, d10 │ │ │ │ │ - vldr d10, [r1] │ │ │ │ │ - add.w r1, sp, #1256 @ 0x4e8 │ │ │ │ │ - vldr d15, [r1] │ │ │ │ │ - add.w r1, sp, #1080 @ 0x438 │ │ │ │ │ + vldr d10, [r2] │ │ │ │ │ + add.w r2, sp, #1264 @ 0x4f0 │ │ │ │ │ + vldr d15, [r2] │ │ │ │ │ + add.w r2, sp, #1088 @ 0x440 │ │ │ │ │ vadd.f64 d2, d10, d15 │ │ │ │ │ vmov.f64 d10, d9 │ │ │ │ │ vmul.f64 d15, d2, d0 │ │ │ │ │ vnmls.f64 d15, d4, d9 │ │ │ │ │ vmul.f64 d4, d4, d0 │ │ │ │ │ - vmla.f64 d4, d2, d10 │ │ │ │ │ vmov.f64 d9, d0 │ │ │ │ │ - vldr d0, [r1] │ │ │ │ │ - add.w r1, sp, #1424 @ 0x590 │ │ │ │ │ - vstr d4, [sp, #16] │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - add.w r1, sp, #1088 @ 0x440 │ │ │ │ │ + vldr d0, [r2] │ │ │ │ │ + add.w r2, sp, #1432 @ 0x598 │ │ │ │ │ + vmla.f64 d4, d2, d10 │ │ │ │ │ + vstr d4, [sp, #32] │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + add.w r2, sp, #1096 @ 0x448 │ │ │ │ │ vsub.f64 d2, d0, d4 │ │ │ │ │ - vldr d0, [r1] │ │ │ │ │ - add.w r1, sp, #1400 @ 0x578 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ + vldr d0, [r2] │ │ │ │ │ + add.w r2, sp, #1408 @ 0x580 │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + ldr r2, [sp, #108] @ 0x6c │ │ │ │ │ vsub.f64 d0, d0, d4 │ │ │ │ │ vmul.f64 d4, d0, d9 │ │ │ │ │ vnmls.f64 d4, d2, d10 │ │ │ │ │ vmul.f64 d2, d2, d9 │ │ │ │ │ vmla.f64 d2, d0, d10 │ │ │ │ │ vadd.f64 d0, d8, d5 │ │ │ │ │ vsub.f64 d5, d8, d5 │ │ │ │ │ + vldr d8, [sp] │ │ │ │ │ vadd.f64 d9, d13, d4 │ │ │ │ │ vsub.f64 d4, d4, d13 │ │ │ │ │ + vldr d13, [sp, #32] │ │ │ │ │ vsub.f64 d10, d0, d9 │ │ │ │ │ vadd.f64 d0, d0, d9 │ │ │ │ │ vadd.f64 d9, d7, d1 │ │ │ │ │ vsub.f64 d7, d7, d1 │ │ │ │ │ vstr d10, [ip] │ │ │ │ │ - vstr d0, [r5] │ │ │ │ │ + vstr d0, [r2] │ │ │ │ │ vsub.f64 d0, d2, d14 │ │ │ │ │ - ldr r4, [sp, #92] @ 0x5c │ │ │ │ │ - vsub.f64 d1, d4, d7 │ │ │ │ │ vadd.f64 d14, d14, d2 │ │ │ │ │ + ldr r2, [sp, #116] @ 0x74 │ │ │ │ │ + vsub.f64 d1, d4, d7 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ - ldr r1, [sp, #100] @ 0x64 │ │ │ │ │ vsub.f64 d10, d0, d9 │ │ │ │ │ vadd.f64 d0, d0, d9 │ │ │ │ │ - vldr d8, [sp] │ │ │ │ │ vsub.f64 d7, d5, d14 │ │ │ │ │ vadd.f64 d5, d5, d14 │ │ │ │ │ - ldr r5, [sp, #124] @ 0x7c │ │ │ │ │ - vstr d10, [r4] │ │ │ │ │ - ldr r4, [sp, #108] @ 0x6c │ │ │ │ │ + vstr d10, [r2] │ │ │ │ │ + ldr r2, [sp, #132] @ 0x84 │ │ │ │ │ vstr d0, [r7] │ │ │ │ │ - vldr d13, [sp, #16] │ │ │ │ │ - vldr d0, [sp, #8] │ │ │ │ │ - vstr d1, [r4] │ │ │ │ │ - ldr r4, [sp, #600] @ 0x258 │ │ │ │ │ - vldr d14, [sp, #864] @ 0x360 │ │ │ │ │ - vldr d1, [pc, #-552] @ 1cd0 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ + vldr d0, [sp, #24] │ │ │ │ │ + ldr r7, [sp, #608] @ 0x260 │ │ │ │ │ + vstr d1, [r2] │ │ │ │ │ + ldr r2, [sp, #124] @ 0x7c │ │ │ │ │ + vldr d1, [pc, #-548] @ 1d50 │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ + ldr r7, [sp, #592] @ 0x250 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vadd.f64 d7, d12, d6 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ - vadd.f64 d5, d8, d15 │ │ │ │ │ - ldr r1, [sp, #568] @ 0x238 │ │ │ │ │ vsub.f64 d6, d12, d6 │ │ │ │ │ - ldr r4, [sp, #116] @ 0x74 │ │ │ │ │ + vstr d5, [r5] │ │ │ │ │ + vadd.f64 d5, d8, d15 │ │ │ │ │ + ldr r2, [sp, #148] @ 0x94 │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vadd.f64 d5, d11, d3 │ │ │ │ │ vsub.f64 d11, d11, d3 │ │ │ │ │ - vldr d3, [pc, #-592] @ 1cd8 │ │ │ │ │ - vstr d4, [r5] │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ + vldr d3, [pc, #-588] @ 1d58 │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d0, d13 │ │ │ │ │ - ldr r5, [sp, #140] @ 0x8c │ │ │ │ │ - ldr r1, [sp, #132] @ 0x84 │ │ │ │ │ + add.w r3, sp, #1536 @ 0x600 │ │ │ │ │ + ldr r2, [sp, #140] @ 0x8c │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - ldr r4, [sp, #588] @ 0x24c │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ vsub.f64 d7, d8, d15 │ │ │ │ │ - ldr r4, [sp, #608] @ 0x260 │ │ │ │ │ - vldr d8, [sp, #624] @ 0x270 │ │ │ │ │ + vmov.f64 d8, d0 │ │ │ │ │ + ldr r2, [sp, #164] @ 0xa4 │ │ │ │ │ + ldr r5, [sp, #156] @ 0x9c │ │ │ │ │ + ldr r7, [sp, #616] @ 0x268 │ │ │ │ │ vsub.f64 d5, d7, d11 │ │ │ │ │ vadd.f64 d7, d7, d11 │ │ │ │ │ - vstr d5, [r5] │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ - vadd.f64 d7, d0, d13 │ │ │ │ │ - vldr d0, [sp, #696] @ 0x2b8 │ │ │ │ │ - vadd.f64 d13, d8, d0 │ │ │ │ │ - vldr d8, [sp, #800] @ 0x320 │ │ │ │ │ + vldr d0, [sp, #704] @ 0x2c0 │ │ │ │ │ + vldr d14, [sp, #872] @ 0x368 │ │ │ │ │ + vldr d11, [r3] │ │ │ │ │ + add.w r3, sp, #1520 @ 0x5f0 │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ + vadd.f64 d7, d8, d13 │ │ │ │ │ + vldr d8, [sp, #632] @ 0x278 │ │ │ │ │ + vldr d12, [r3] │ │ │ │ │ + add.w r3, sp, #1568 @ 0x620 │ │ │ │ │ + vldr d15, [sp, #864] @ 0x360 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ + vadd.f64 d13, d8, d0 │ │ │ │ │ + vldr d8, [sp, #808] @ 0x328 │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ vadd.f64 d7, d8, d14 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - add.w r2, sp, #1528 @ 0x5f8 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ + vldr d5, [pc, #-708] @ 1d60 │ │ │ │ │ + vstr d6, [r5] │ │ │ │ │ + vldr d14, [sp, #696] @ 0x2b8 │ │ │ │ │ + vldr d8, [sp, #800] @ 0x320 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d5, [pc, #-692] @ 1ce0 │ │ │ │ │ + vmul.f64 d6, d11, d5 │ │ │ │ │ + vmla.f64 d6, d12, d3 │ │ │ │ │ vsub.f64 d0, d13, d7 │ │ │ │ │ vadd.f64 d13, d13, d7 │ │ │ │ │ vstr d0, [sp] │ │ │ │ │ - vldr d11, [r2] │ │ │ │ │ - add.w r2, sp, #1512 @ 0x5e8 │ │ │ │ │ - vldr d8, [sp, #792] @ 0x318 │ │ │ │ │ - vldr d15, [sp, #856] @ 0x358 │ │ │ │ │ - vldr d12, [r2] │ │ │ │ │ - add.w r2, sp, #1560 @ 0x618 │ │ │ │ │ - vmul.f64 d6, d11, d5 │ │ │ │ │ - vldr d14, [sp, #688] @ 0x2b0 │ │ │ │ │ - ldr r4, [sp, #528] @ 0x210 │ │ │ │ │ - vldr d0, [r2] │ │ │ │ │ - add.w r2, sp, #1544 @ 0x608 │ │ │ │ │ - vmla.f64 d6, d12, d3 │ │ │ │ │ - ldr r7, [sp, #272] @ 0x110 │ │ │ │ │ - ldr r5, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d0, [r3] │ │ │ │ │ + add.w r3, sp, #1552 @ 0x610 │ │ │ │ │ + vldr d10, [r3] │ │ │ │ │ + add.w r3, sp, #1416 @ 0x588 │ │ │ │ │ vmul.f64 d7, d0, d3 │ │ │ │ │ - vldr d10, [r2] │ │ │ │ │ - add.w r2, sp, #1408 @ 0x580 │ │ │ │ │ vnmls.f64 d7, d10, d5 │ │ │ │ │ vadd.f64 d2, d6, d7 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ - vstr d7, [sp, #8] │ │ │ │ │ + vstr d7, [sp, #24] │ │ │ │ │ vsub.f64 d7, d8, d15 │ │ │ │ │ - vldr d8, [sp, #672] @ 0x2a0 │ │ │ │ │ + vldr d8, [sp, #680] @ 0x2a8 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vadd.f64 d4, d8, d14 │ │ │ │ │ - vldr d14, [pc, #-792] @ 1ce8 │ │ │ │ │ - vldr d8, [pc, #-788] @ 1cf0 │ │ │ │ │ + vldr d14, [pc, #-792] @ 1d68 │ │ │ │ │ + vldr d8, [pc, #-788] @ 1d70 │ │ │ │ │ vadd.f64 d6, d7, d4 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ vmul.f64 d7, d10, d3 │ │ │ │ │ vmla.f64 d7, d0, d5 │ │ │ │ │ - vldr d0, [r2] │ │ │ │ │ - add.w r2, sp, #1472 @ 0x5c0 │ │ │ │ │ - vstr d6, [sp, #16] │ │ │ │ │ + vldr d0, [r3] │ │ │ │ │ + add.w r3, sp, #1480 @ 0x5c8 │ │ │ │ │ + vstr d6, [sp, #32] │ │ │ │ │ vmul.f64 d6, d12, d5 │ │ │ │ │ - vldr d10, [r2] │ │ │ │ │ - add.w r2, sp, #1584 @ 0x630 │ │ │ │ │ + vldr d10, [r3] │ │ │ │ │ + add.w r3, sp, #1592 @ 0x638 │ │ │ │ │ vnmls.f64 d6, d11, d3 │ │ │ │ │ - vldr d11, [r2] │ │ │ │ │ - add.w r2, sp, #1416 @ 0x588 │ │ │ │ │ + vldr d11, [r3] │ │ │ │ │ + add.w r3, sp, #1424 @ 0x590 │ │ │ │ │ vadd.f64 d5, d0, d10 │ │ │ │ │ - vldr d10, [r2] │ │ │ │ │ - add.w r2, sp, #1480 @ 0x5c8 │ │ │ │ │ + vldr d10, [r3] │ │ │ │ │ + add.w r3, sp, #1488 @ 0x5d0 │ │ │ │ │ + vldr d12, [r3] │ │ │ │ │ + add.w r3, sp, #1608 @ 0x648 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - vldr d12, [r2] │ │ │ │ │ - add.w r2, sp, #1600 @ 0x640 │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d10, d12 │ │ │ │ │ + vldr d12, [pc, #-872] @ 1d78 │ │ │ │ │ + vldr d10, [pc, #-868] @ 1d80 │ │ │ │ │ vsub.f64 d0, d11, d5 │ │ │ │ │ vadd.f64 d5, d11, d5 │ │ │ │ │ - vldr d11, [r2] │ │ │ │ │ - vldr d12, [pc, #-884] @ 1cf8 │ │ │ │ │ - add.w r2, sp, #1272 @ 0x4f8 │ │ │ │ │ - vldr d10, [pc, #-884] @ 1d00 │ │ │ │ │ + vldr d11, [r3] │ │ │ │ │ + add.w r3, sp, #1280 @ 0x500 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ vsub.f64 d15, d11, d6 │ │ │ │ │ vadd.f64 d6, d11, d6 │ │ │ │ │ vmul.f64 d9, d15, d14 │ │ │ │ │ vmul.f64 d15, d15, d8 │ │ │ │ │ vmla.f64 d15, d0, d14 │ │ │ │ │ vmov.f64 d11, d9 │ │ │ │ │ vmul.f64 d9, d6, d12 │ │ │ │ │ vmul.f64 d6, d6, d10 │ │ │ │ │ vnmls.f64 d11, d0, d8 │ │ │ │ │ vmov.f64 d0, d6 │ │ │ │ │ vnmls.f64 d0, d5, d12 │ │ │ │ │ - vstr d11, [sp, #24] │ │ │ │ │ + vstr d11, [sp, #40] @ 0x28 │ │ │ │ │ vmov.f64 d11, d9 │ │ │ │ │ vmla.f64 d11, d5, d10 │ │ │ │ │ - vldr d10, [r2] │ │ │ │ │ - add.w r2, sp, #1352 @ 0x548 │ │ │ │ │ - vstr d0, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d11, [sp, #32] │ │ │ │ │ - vldr d11, [r2] │ │ │ │ │ - add.w r2, sp, #1640 @ 0x668 │ │ │ │ │ + vldr d10, [r3] │ │ │ │ │ + add.w r3, sp, #1360 @ 0x550 │ │ │ │ │ + vstr d11, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d0, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d11, [r3] │ │ │ │ │ + add.w r3, sp, #1648 @ 0x670 │ │ │ │ │ + ldr r2, [sp, #292] @ 0x124 │ │ │ │ │ + ldr r7, [sp, #544] @ 0x220 │ │ │ │ │ vadd.f64 d0, d10, d11 │ │ │ │ │ - vldr d11, [r2] │ │ │ │ │ - add.w r2, sp, #1264 @ 0x4f0 │ │ │ │ │ + vldr d11, [r3] │ │ │ │ │ + add.w r3, sp, #1272 @ 0x4f8 │ │ │ │ │ vmul.f64 d0, d0, d1 │ │ │ │ │ vsub.f64 d9, d11, d0 │ │ │ │ │ vadd.f64 d0, d11, d0 │ │ │ │ │ - vldr d11, [r2] │ │ │ │ │ - add.w r2, sp, #1344 @ 0x540 │ │ │ │ │ - vldr d10, [r2] │ │ │ │ │ - add.w r2, sp, #1624 @ 0x658 │ │ │ │ │ + vldr d11, [r3] │ │ │ │ │ + add.w r3, sp, #1352 @ 0x548 │ │ │ │ │ + vldr d10, [r3] │ │ │ │ │ + add.w r3, sp, #1632 @ 0x660 │ │ │ │ │ vadd.f64 d5, d11, d10 │ │ │ │ │ - vldr d10, [r2] │ │ │ │ │ - vldr d11, [pc, #964] @ 24c0 │ │ │ │ │ - add.w r2, sp, #1504 @ 0x5e0 │ │ │ │ │ + vldr d10, [r3] │ │ │ │ │ + vldr d11, [pc, #960] @ 2540 │ │ │ │ │ + ldr r3, [sp, #316] @ 0x13c │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vsub.f64 d1, d10, d5 │ │ │ │ │ vadd.f64 d5, d10, d5 │ │ │ │ │ vmul.f64 d10, d5, d12 │ │ │ │ │ vmul.f64 d6, d1, d14 │ │ │ │ │ vmul.f64 d5, d5, d11 │ │ │ │ │ vmul.f64 d1, d1, d8 │ │ │ │ │ - vmla.f64 d6, d9, d8 │ │ │ │ │ vnmls.f64 d10, d0, d11 │ │ │ │ │ vldr d11, [sp] │ │ │ │ │ + vmla.f64 d6, d9, d8 │ │ │ │ │ vnmls.f64 d1, d9, d14 │ │ │ │ │ vmov.f64 d9, d5 │ │ │ │ │ - vmla.f64 d9, d0, d12 │ │ │ │ │ vadd.f64 d5, d11, d2 │ │ │ │ │ - vldr d11, [sp, #24] │ │ │ │ │ + vldr d11, [sp, #40] @ 0x28 │ │ │ │ │ + vmla.f64 d9, d0, d12 │ │ │ │ │ vadd.f64 d0, d11, d6 │ │ │ │ │ vsub.f64 d6, d11, d6 │ │ │ │ │ + vldr d11, [sp] │ │ │ │ │ vmov.f64 d12, d9 │ │ │ │ │ vsub.f64 d9, d5, d0 │ │ │ │ │ vadd.f64 d5, d5, d0 │ │ │ │ │ vadd.f64 d0, d4, d7 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ - vstr d9, [r4] │ │ │ │ │ - vstr d5, [r7] │ │ │ │ │ + vsub.f64 d2, d11, d2 │ │ │ │ │ + vstr d9, [r7] │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ vsub.f64 d5, d15, d1 │ │ │ │ │ vsub.f64 d7, d6, d4 │ │ │ │ │ + ldr r2, [sp, #300] @ 0x12c │ │ │ │ │ vadd.f64 d15, d15, d1 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ + vldr d4, [sp, #32] │ │ │ │ │ + ldr r7, [sp, #464] @ 0x1d0 │ │ │ │ │ vsub.f64 d9, d5, d0 │ │ │ │ │ vadd.f64 d5, d5, d0 │ │ │ │ │ - vstr d9, [r5] │ │ │ │ │ - vldr d11, [sp] │ │ │ │ │ - ldr r7, [sp, #464] @ 0x1d0 │ │ │ │ │ - ldr r5, [sp, #288] @ 0x120 │ │ │ │ │ - vsub.f64 d2, d11, d2 │ │ │ │ │ - vldr d4, [sp, #16] │ │ │ │ │ - vldr d0, [sp, #32] │ │ │ │ │ - vstr d5, [r7] │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ - ldr r7, [sp, #456] @ 0x1c8 │ │ │ │ │ + vstr d9, [r2] │ │ │ │ │ + ldr r2, [sp, #480] @ 0x1e0 │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ + ldr r2, [sp, #308] @ 0x134 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d2, d15 │ │ │ │ │ - ldr r5, [sp, #296] @ 0x128 │ │ │ │ │ vadd.f64 d2, d2, d15 │ │ │ │ │ - vstr d6, [r7] │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ + ldr r2, [sp, #472] @ 0x1d8 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d13, d3 │ │ │ │ │ - ldr r5, [sp, #448] @ 0x1c0 │ │ │ │ │ vadd.f64 d3, d13, d3 │ │ │ │ │ - ldr r7, [sp, #424] @ 0x1a8 │ │ │ │ │ - vstr d2, [r5] │ │ │ │ │ - vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ - ldr r5, [sp, #408] @ 0x198 │ │ │ │ │ + vstr d2, [r7] │ │ │ │ │ + vldr d2, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r2, [sp, #104] @ 0x68 │ │ │ │ │ + ldr r7, [sp, #432] @ 0x1b0 │ │ │ │ │ vadd.f64 d6, d2, d12 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ - ldr r7, [sp, #240] @ 0xf0 │ │ │ │ │ + ldr r7, [sp, #256] @ 0x100 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ vsub.f64 d7, d2, d12 │ │ │ │ │ - vldr d2, [sp, #8] │ │ │ │ │ - ldr r7, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d2, [sp, #24] │ │ │ │ │ vadd.f64 d6, d2, d4 │ │ │ │ │ vsub.f64 d11, d4, d2 │ │ │ │ │ - vldr d2, [pc, #728] @ 24c8 │ │ │ │ │ - vldr d4, [pc, #732] @ 24d0 │ │ │ │ │ + vldr d4, [pc, #736] @ 2548 │ │ │ │ │ + vldr d2, [pc, #740] @ 2550 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d5, [r7] │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ vmov.f64 d5, d2 │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ + vldr d0, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r2, [sp, #272] @ 0x110 │ │ │ │ │ + ldr r3, [sp, #416] @ 0x1a0 │ │ │ │ │ + ldr r7, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d13, [sp, #704] @ 0x2c0 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d0, d10 │ │ │ │ │ - ldr r5, [sp, #256] @ 0x100 │ │ │ │ │ - ldr r7, [sp, #224] @ 0xe0 │ │ │ │ │ + add.w r3, sp, #1512 @ 0x5e8 │ │ │ │ │ + vldr d15, [sp, #864] @ 0x360 │ │ │ │ │ vsub.f64 d6, d7, d11 │ │ │ │ │ vadd.f64 d7, d7, d11 │ │ │ │ │ - vstr d6, [r5] │ │ │ │ │ - ldr r5, [sp, #440] @ 0x1b8 │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ vadd.f64 d7, d0, d10 │ │ │ │ │ - vldr d0, [sp, #624] @ 0x270 │ │ │ │ │ + ldr r2, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d0, [sp, #632] @ 0x278 │ │ │ │ │ + ldr r7, [sp, #400] @ 0x190 │ │ │ │ │ vsub.f64 d6, d3, d7 │ │ │ │ │ vadd.f64 d3, d3, d7 │ │ │ │ │ - vstr d6, [r7] │ │ │ │ │ - ldr r7, [sp, #392] @ 0x188 │ │ │ │ │ - vstr d3, [r7] │ │ │ │ │ - vldr d13, [sp, #696] @ 0x2b8 │ │ │ │ │ - vldr d15, [sp, #856] @ 0x358 │ │ │ │ │ - vldr d3, [pc, #656] @ 24d8 │ │ │ │ │ vsub.f64 d13, d0, d13 │ │ │ │ │ - vldr d0, [sp, #792] @ 0x318 │ │ │ │ │ - ldr r5, [sp, #204] @ 0xcc │ │ │ │ │ - ldr r7, [sp, #480] @ 0x1e0 │ │ │ │ │ - vadd.f64 d7, d0, d15 │ │ │ │ │ - vldr d15, [r2] │ │ │ │ │ - add.w r2, sp, #1520 @ 0x5f0 │ │ │ │ │ vldr d0, [sp, #800] @ 0x320 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + vstr d3, [r7] │ │ │ │ │ + vldr d3, [pc, #644] @ 2558 │ │ │ │ │ + vadd.f64 d7, d0, d15 │ │ │ │ │ + vldr d15, [r3] │ │ │ │ │ + add.w r3, sp, #1528 @ 0x5f8 │ │ │ │ │ + vldr d12, [r3] │ │ │ │ │ + add.w r3, sp, #1544 @ 0x608 │ │ │ │ │ + vldr d10, [r3] │ │ │ │ │ + add.w r3, sp, #1560 @ 0x618 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ - vldr d12, [r2] │ │ │ │ │ - add.w r2, sp, #1536 @ 0x600 │ │ │ │ │ + vldr d9, [r3] │ │ │ │ │ + add.w r3, sp, #1480 @ 0x5c8 │ │ │ │ │ + vldr d0, [sp, #808] @ 0x328 │ │ │ │ │ + vmul.f64 d6, d10, d4 │ │ │ │ │ vsub.f64 d11, d13, d7 │ │ │ │ │ vadd.f64 d7, d13, d7 │ │ │ │ │ - vldr d10, [r2] │ │ │ │ │ - add.w r2, sp, #1552 @ 0x610 │ │ │ │ │ - vldr d13, [sp, #864] @ 0x360 │ │ │ │ │ - vstr d7, [sp, #8] │ │ │ │ │ - vmul.f64 d7, d15, d2 │ │ │ │ │ - vldr d9, [r2] │ │ │ │ │ - vmul.f64 d6, d10, d4 │ │ │ │ │ - vstr d11, [sp] │ │ │ │ │ - add.w r2, sp, #1472 @ 0x5c0 │ │ │ │ │ + vldr d13, [sp, #872] @ 0x368 │ │ │ │ │ vmla.f64 d6, d9, d2 │ │ │ │ │ + vstr d11, [sp] │ │ │ │ │ + vstr d7, [sp, #24] │ │ │ │ │ + vmul.f64 d7, d15, d2 │ │ │ │ │ + vldr d2, [sp, #696] @ 0x2b8 │ │ │ │ │ vnmls.f64 d7, d12, d4 │ │ │ │ │ - vldr d2, [sp, #688] @ 0x2b0 │ │ │ │ │ vadd.f64 d1, d7, d6 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ - vstr d7, [sp, #16] │ │ │ │ │ + vstr d7, [sp, #32] │ │ │ │ │ vsub.f64 d7, d13, d0 │ │ │ │ │ - vldr d0, [sp, #672] @ 0x2a0 │ │ │ │ │ - vldr d13, [r2] │ │ │ │ │ - add.w r2, sp, #1408 @ 0x580 │ │ │ │ │ + vldr d0, [sp, #680] @ 0x2a8 │ │ │ │ │ + vldr d13, [r3] │ │ │ │ │ + add.w r3, sp, #1416 @ 0x588 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vsub.f64 d6, d0, d2 │ │ │ │ │ vmov.f64 d2, d5 │ │ │ │ │ + vldr d0, [r3] │ │ │ │ │ vmul.f64 d5, d12, d5 │ │ │ │ │ - vmla.f64 d5, d15, d4 │ │ │ │ │ - vldr d0, [r2] │ │ │ │ │ - add.w r2, sp, #1592 @ 0x638 │ │ │ │ │ + add.w r3, sp, #1600 @ 0x640 │ │ │ │ │ vadd.f64 d11, d7, d6 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vmul.f64 d7, d9, d4 │ │ │ │ │ + vmla.f64 d5, d15, d4 │ │ │ │ │ vnmls.f64 d7, d10, d2 │ │ │ │ │ - vldr d10, [pc, #460] @ 24c0 │ │ │ │ │ + vldr d10, [pc, #460] @ 2540 │ │ │ │ │ vadd.f64 d2, d5, d7 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ vsub.f64 d7, d13, d0 │ │ │ │ │ - vldr d0, [r2] │ │ │ │ │ - add.w r2, sp, #1416 @ 0x588 │ │ │ │ │ + vldr d0, [r3] │ │ │ │ │ + add.w r3, sp, #1424 @ 0x590 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vsub.f64 d15, d0, d7 │ │ │ │ │ vadd.f64 d7, d0, d7 │ │ │ │ │ - vldr d0, [r2] │ │ │ │ │ - add.w r2, sp, #1480 @ 0x5c8 │ │ │ │ │ - vldr d13, [r2] │ │ │ │ │ - add.w r2, sp, #1576 @ 0x628 │ │ │ │ │ + vldr d0, [r3] │ │ │ │ │ + add.w r3, sp, #1488 @ 0x5d0 │ │ │ │ │ + vldr d13, [r3] │ │ │ │ │ + add.w r3, sp, #1584 @ 0x630 │ │ │ │ │ vsub.f64 d4, d0, d13 │ │ │ │ │ - vldr d13, [r2] │ │ │ │ │ - add.w r2, sp, #1344 @ 0x540 │ │ │ │ │ + vldr d13, [r3] │ │ │ │ │ + add.w r3, sp, #1352 @ 0x548 │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ vsub.f64 d0, d13, d4 │ │ │ │ │ vadd.f64 d4, d13, d4 │ │ │ │ │ vmul.f64 d9, d0, d8 │ │ │ │ │ vmov.f64 d13, d9 │ │ │ │ │ - vldr d9, [pc, #456] @ 2510 │ │ │ │ │ + vldr d9, [pc, #448] @ 2588 │ │ │ │ │ vmla.f64 d13, d15, d14 │ │ │ │ │ vmul.f64 d15, d15, d8 │ │ │ │ │ vmul.f64 d9, d4, d9 │ │ │ │ │ vnmls.f64 d15, d0, d14 │ │ │ │ │ vmov.f64 d12, d9 │ │ │ │ │ - vldr d9, [pc, #432] @ 2510 │ │ │ │ │ + vldr d9, [pc, #424] @ 2588 │ │ │ │ │ vmla.f64 d12, d7, d10 │ │ │ │ │ vmul.f64 d7, d7, d9 │ │ │ │ │ vmov.f64 d0, d7 │ │ │ │ │ - vstr d12, [sp, #24] │ │ │ │ │ + vstr d12, [sp, #40] @ 0x28 │ │ │ │ │ + ldr r5, [sp, #172] @ 0xac │ │ │ │ │ vnmls.f64 d0, d4, d10 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - add.w r2, sp, #1264 @ 0x4f0 │ │ │ │ │ - vstr d0, [sp, #32] │ │ │ │ │ - vldr d0, [r2] │ │ │ │ │ - add.w r2, sp, #1632 @ 0x660 │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ + add.w r3, sp, #1272 @ 0x4f8 │ │ │ │ │ + ldr r7, [sp, #228] @ 0xe4 │ │ │ │ │ + ldr r2, [sp, #504] @ 0x1f8 │ │ │ │ │ + ldr r1, [sp, #204] @ 0xcc │ │ │ │ │ + vstr d0, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d0, [r3] │ │ │ │ │ + add.w r3, sp, #1640 @ 0x668 │ │ │ │ │ + vldr d12, [r3] │ │ │ │ │ + add.w r3, sp, #1280 @ 0x500 │ │ │ │ │ vsub.f64 d7, d4, d0 │ │ │ │ │ - vldr d12, [r2] │ │ │ │ │ - add.w r2, sp, #1272 @ 0x4f8 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vsub.f64 d0, d12, d7 │ │ │ │ │ vadd.f64 d7, d12, d7 │ │ │ │ │ - vldr d12, [r2] │ │ │ │ │ - add.w r2, sp, #1352 @ 0x548 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - add.w r2, sp, #1616 @ 0x650 │ │ │ │ │ + vldr d12, [r3] │ │ │ │ │ + add.w r3, sp, #1360 @ 0x550 │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ + add.w r3, sp, #1624 @ 0x658 │ │ │ │ │ vsub.f64 d4, d12, d4 │ │ │ │ │ - vldr d12, [pc, #344] @ 2510 │ │ │ │ │ + vldr d12, [pc, #328] @ 2588 │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ - vldr d3, [r2] │ │ │ │ │ + vldr d3, [r3] │ │ │ │ │ + add.w r3, sp, #1032 @ 0x408 │ │ │ │ │ vsub.f64 d9, d3, d4 │ │ │ │ │ vadd.f64 d4, d3, d4 │ │ │ │ │ vmul.f64 d3, d9, d14 │ │ │ │ │ vmul.f64 d10, d4, d10 │ │ │ │ │ vnmls.f64 d3, d0, d8 │ │ │ │ │ vmul.f64 d0, d0, d14 │ │ │ │ │ - vmla.f64 d0, d9, d8 │ │ │ │ │ - vldr d9, [pc, #224] @ 24c0 │ │ │ │ │ vnmls.f64 d10, d7, d12 │ │ │ │ │ + vmla.f64 d0, d9, d8 │ │ │ │ │ + vldr d9, [pc, #208] @ 2540 │ │ │ │ │ vmul.f64 d7, d7, d9 │ │ │ │ │ vmla.f64 d7, d4, d12 │ │ │ │ │ vldr d4, [sp] │ │ │ │ │ vmov.f64 d12, d7 │ │ │ │ │ vadd.f64 d7, d4, d1 │ │ │ │ │ vadd.f64 d4, d13, d3 │ │ │ │ │ vsub.f64 d3, d13, d3 │ │ │ │ │ + vldr d13, [sp] │ │ │ │ │ vsub.f64 d9, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ vadd.f64 d4, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vstr d9, [r5] │ │ │ │ │ + vsub.f64 d1, d13, d1 │ │ │ │ │ + vldr d13, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d9, [r7] │ │ │ │ │ + ldr r7, [sp, #488] @ 0x1e8 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ vsub.f64 d7, d15, d0 │ │ │ │ │ - ldr r5, [sp, #196] @ 0xc4 │ │ │ │ │ vadd.f64 d15, d15, d0 │ │ │ │ │ - ldr r7, [sp, #496] @ 0x1f0 │ │ │ │ │ - vldr d13, [sp] │ │ │ │ │ + vldr d0, [sp, #40] @ 0x28 │ │ │ │ │ + ldr r7, [sp, #220] @ 0xdc │ │ │ │ │ vsub.f64 d9, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - ldr r1, [sp, #180] @ 0xb4 │ │ │ │ │ - vsub.f64 d1, d13, d1 │ │ │ │ │ - vldr d13, [sp, #32] │ │ │ │ │ - ldr r2, [sp, #148] @ 0x94 │ │ │ │ │ - vstr d9, [r5] │ │ │ │ │ - vstr d7, [r7] │ │ │ │ │ + vldr d4, [sp, #32] │ │ │ │ │ + vstr d9, [r7] │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d3, d6 │ │ │ │ │ - ldr r5, [sp, #188] @ 0xbc │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ - ldr r7, [sp, #544] @ 0x220 │ │ │ │ │ + ldr r2, [sp, #212] @ 0xd4 │ │ │ │ │ vadd.f64 d6, d13, d12 │ │ │ │ │ - vldr d0, [sp, #24] │ │ │ │ │ - vldr d4, [sp, #16] │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ + ldr r7, [sp, #556] @ 0x22c │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d1, d15 │ │ │ │ │ - vstr d3, [r7] │ │ │ │ │ vadd.f64 d1, d1, d15 │ │ │ │ │ - vldr d3, [sp, #8] │ │ │ │ │ - ldr r5, [sp, #584] @ 0x248 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - add.w r3, sp, #1024 @ 0x400 │ │ │ │ │ - vadd.f64 d7, d3, d2 │ │ │ │ │ + vstr d3, [r7] │ │ │ │ │ + vldr d3, [sp, #24] │ │ │ │ │ + ldr r7, [sp, #572] @ 0x23c │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ vstr d1, [r1] │ │ │ │ │ - ldr r7, [sp, #156] @ 0x9c │ │ │ │ │ + vadd.f64 d7, d3, d2 │ │ │ │ │ vsub.f64 d2, d3, d2 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d4, d11 │ │ │ │ │ vsub.f64 d11, d11, d4 │ │ │ │ │ - vstr d5, [r5] │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ + vstr d5, [r7] │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ vsub.f64 d7, d0, d10 │ │ │ │ │ - ldr r5, [sp, #172] @ 0xac │ │ │ │ │ - ldr r2, [sp, #164] @ 0xa4 │ │ │ │ │ + ldr r2, [sp, #180] @ 0xb4 │ │ │ │ │ + ldr r5, [sp, #188] @ 0xbc │ │ │ │ │ + ldr r7, [sp, #564] @ 0x234 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d5, [r7] │ │ │ │ │ - ldr r7, [sp, #552] @ 0x228 │ │ │ │ │ - vstr d7, [r7] │ │ │ │ │ - b.n 2518 │ │ │ │ │ - nop.w │ │ │ │ │ + vldr d15, [sp, #848] @ 0x350 │ │ │ │ │ + vldr d4, [sp, #968] @ 0x3c8 │ │ │ │ │ + b.n 2598 │ │ │ │ │ + nop │ │ │ │ │ .word 0xcff75cb0 │ │ │ │ │ .word 0x3fef6297 │ │ │ │ │ - .word 0xcf328d46 │ │ │ │ │ - .word 0x3fed906b │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ + .word 0xcf328d46 │ │ │ │ │ + .word 0x3fed906b │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0x3806f63b │ │ │ │ │ .word 0x3fde2b5d │ │ │ │ │ .word 0x2ed59f06 │ │ │ │ │ .word 0x3fd29406 │ │ │ │ │ .word 0xf180bdb1 │ │ │ │ │ .word 0x3fec38b2 │ │ │ │ │ .word 0x56c62dda │ │ │ │ │ .word 0x3fee9f41 │ │ │ │ │ .word 0xcff75cb0 │ │ │ │ │ .word 0x3fef6297 │ │ │ │ │ - .word 0x6b151741 │ │ │ │ │ - .word 0x3fe8bc80 │ │ │ │ │ .word 0x3c69a60b │ │ │ │ │ .word 0x3fc8f8b8 │ │ │ │ │ + .word 0x6b151741 │ │ │ │ │ + .word 0x3fe8bc80 │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ vsub.f64 d7, d13, d12 │ │ │ │ │ - ldr r7, [sp, #512] @ 0x200 │ │ │ │ │ + ldr r2, [sp, #196] @ 0xc4 │ │ │ │ │ + ldr r7, [sp, #520] @ 0x208 │ │ │ │ │ + vldr d13, [sp, #856] @ 0x358 │ │ │ │ │ vsub.f64 d6, d7, d11 │ │ │ │ │ vadd.f64 d7, d7, d11 │ │ │ │ │ - vstr d6, [r5] │ │ │ │ │ - ldr r5, [sp, #532] @ 0x214 │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ + vldr d11, [sp, #648] @ 0x288 │ │ │ │ │ + vldr d12, [sp, #952] @ 0x3b8 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + ldr r2, [sp, #536] @ 0x218 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vadd.f64 d7, d0, d10 │ │ │ │ │ + vldr d10, [sp, #664] @ 0x298 │ │ │ │ │ + vldr d0, [sp, #792] @ 0x318 │ │ │ │ │ vsub.f64 d6, d2, d7 │ │ │ │ │ vadd.f64 d2, d2, d7 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ + vadd.f64 d13, d0, d13 │ │ │ │ │ + vstr d6, [r5] │ │ │ │ │ vstr d2, [r7] │ │ │ │ │ - vldr d10, [sp, #656] @ 0x290 │ │ │ │ │ - vldr d2, [sp, #728] @ 0x2d8 │ │ │ │ │ - vldr d0, [sp, #784] @ 0x310 │ │ │ │ │ - vldr d13, [sp, #848] @ 0x350 │ │ │ │ │ + vldr d2, [sp, #736] @ 0x2e0 │ │ │ │ │ vsub.f64 d6, d10, d2 │ │ │ │ │ - vldr d11, [sp, #640] @ 0x280 │ │ │ │ │ - vldr d10, [sp, #720] @ 0x2d0 │ │ │ │ │ - vadd.f64 d13, d0, d13 │ │ │ │ │ - vldr d2, [sp, #776] @ 0x308 │ │ │ │ │ - vldr d15, [sp, #840] @ 0x348 │ │ │ │ │ - vldr d4, [sp, #960] @ 0x3c0 │ │ │ │ │ - vldr d12, [sp, #944] @ 0x3b0 │ │ │ │ │ + vldr d10, [sp, #728] @ 0x2d8 │ │ │ │ │ + vldr d2, [sp, #784] @ 0x310 │ │ │ │ │ vsub.f64 d0, d6, d13 │ │ │ │ │ vadd.f64 d13, d6, d13 │ │ │ │ │ vsub.f64 d6, d11, d10 │ │ │ │ │ - vldr d11, [sp, #928] @ 0x3a0 │ │ │ │ │ + vldr d11, [sp, #936] @ 0x3a8 │ │ │ │ │ vsub.f64 d7, d2, d15 │ │ │ │ │ vsub.f64 d2, d4, d11 │ │ │ │ │ - vldr d11, [sp, #912] @ 0x390 │ │ │ │ │ + vldr d11, [sp, #920] @ 0x398 │ │ │ │ │ vadd.f64 d1, d7, d6 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vsub.f64 d7, d11, d12 │ │ │ │ │ vldr d11, [r3] │ │ │ │ │ - add.w r3, sp, #1056 @ 0x420 │ │ │ │ │ - vstr d1, [sp, #8] │ │ │ │ │ + add.w r3, sp, #1064 @ 0x428 │ │ │ │ │ + vstr d1, [sp, #24] │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ - add.w r3, sp, #1072 @ 0x430 │ │ │ │ │ + add.w r3, sp, #1080 @ 0x438 │ │ │ │ │ + vldr d12, [r3] │ │ │ │ │ + add.w r3, sp, #1048 @ 0x418 │ │ │ │ │ vmul.f64 d5, d7, d14 │ │ │ │ │ vmla.f64 d5, d2, d8 │ │ │ │ │ vmul.f64 d2, d2, d14 │ │ │ │ │ - vldr d12, [r3] │ │ │ │ │ - add.w r3, sp, #1040 @ 0x410 │ │ │ │ │ vnmls.f64 d2, d7, d8 │ │ │ │ │ vsub.f64 d7, d11, d3 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ - add.w r3, sp, #1200 @ 0x4b0 │ │ │ │ │ + add.w r3, sp, #1208 @ 0x4b8 │ │ │ │ │ vsub.f64 d4, d12, d3 │ │ │ │ │ vmul.f64 d3, d4, d8 │ │ │ │ │ vnmls.f64 d3, d7, d14 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ vmla.f64 d7, d4, d14 │ │ │ │ │ vadd.f64 d4, d5, d3 │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ vsub.f64 d11, d7, d2 │ │ │ │ │ vadd.f64 d7, d2, d7 │ │ │ │ │ - vldr d2, [pc, #-268] @ 24f0 │ │ │ │ │ + vldr d2, [pc, #-268] @ 2570 │ │ │ │ │ vstr d11, [sp] │ │ │ │ │ vldr d11, [r3] │ │ │ │ │ - add.w r3, sp, #1232 @ 0x4d0 │ │ │ │ │ - vstr d7, [sp, #16] │ │ │ │ │ + add.w r3, sp, #1240 @ 0x4d8 │ │ │ │ │ + vstr d7, [sp, #32] │ │ │ │ │ vldr d10, [r3] │ │ │ │ │ - add.w r3, sp, #1360 @ 0x550 │ │ │ │ │ + add.w r3, sp, #1368 @ 0x558 │ │ │ │ │ vldr d12, [r3] │ │ │ │ │ - add.w r3, sp, #1328 @ 0x530 │ │ │ │ │ + add.w r3, sp, #1336 @ 0x538 │ │ │ │ │ + ldr r7, [sp, #288] @ 0x120 │ │ │ │ │ vsub.f64 d7, d11, d10 │ │ │ │ │ vldr d11, [r3] │ │ │ │ │ - add.w r3, sp, #1248 @ 0x4e0 │ │ │ │ │ + add.w r3, sp, #1256 @ 0x4e8 │ │ │ │ │ + ldr r2, [sp, #496] @ 0x1f0 │ │ │ │ │ vsub.f64 d3, d12, d11 │ │ │ │ │ vldr d12, [r3] │ │ │ │ │ - add.w r3, sp, #1216 @ 0x4c0 │ │ │ │ │ + add.w r3, sp, #1224 @ 0x4c8 │ │ │ │ │ vldr d10, [r3] │ │ │ │ │ - add.w r3, sp, #1336 @ 0x538 │ │ │ │ │ + add.w r3, sp, #1344 @ 0x540 │ │ │ │ │ vsub.f64 d15, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ vsub.f64 d3, d12, d10 │ │ │ │ │ vldr d12, [r3] │ │ │ │ │ - add.w r3, sp, #1368 @ 0x558 │ │ │ │ │ + add.w r3, sp, #1376 @ 0x560 │ │ │ │ │ vldr d11, [r3] │ │ │ │ │ - add.w r3, sp, #1112 @ 0x458 │ │ │ │ │ + add.w r3, sp, #1120 @ 0x460 │ │ │ │ │ vsub.f64 d9, d12, d11 │ │ │ │ │ - vldr d11, [pc, #-384] @ 24e0 │ │ │ │ │ - vldr d12, [pc, #-380] @ 24e8 │ │ │ │ │ + vldr d11, [pc, #-388] @ 2560 │ │ │ │ │ + vldr d12, [pc, #-384] @ 2568 │ │ │ │ │ vsub.f64 d1, d3, d9 │ │ │ │ │ vadd.f64 d3, d3, d9 │ │ │ │ │ vmul.f64 d9, d1, d2 │ │ │ │ │ vmov.f64 d10, d9 │ │ │ │ │ vmul.f64 d9, d3, d12 │ │ │ │ │ vmla.f64 d10, d15, d11 │ │ │ │ │ vmov.f64 d2, d9 │ │ │ │ │ - vstr d10, [sp, #24] │ │ │ │ │ - vldr d10, [pc, #-400] @ 24f8 │ │ │ │ │ + vstr d10, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d10, [pc, #-404] @ 2578 │ │ │ │ │ vmla.f64 d2, d7, d10 │ │ │ │ │ - vmov.f64 d9, d10 │ │ │ │ │ vmul.f64 d7, d7, d12 │ │ │ │ │ + vmov.f64 d9, d10 │ │ │ │ │ vnmls.f64 d7, d3, d9 │ │ │ │ │ - vstr d2, [sp, #32] │ │ │ │ │ - vldr d2, [pc, #-432] @ 24f0 │ │ │ │ │ + vstr d2, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d2, [pc, #-436] @ 2570 │ │ │ │ │ + vstr d7, [sp, #56] @ 0x38 │ │ │ │ │ vmul.f64 d15, d15, d2 │ │ │ │ │ vmov.f64 d10, d2 │ │ │ │ │ - vstr d7, [sp, #40] @ 0x28 │ │ │ │ │ vnmls.f64 d15, d1, d11 │ │ │ │ │ vldr d1, [r3] │ │ │ │ │ - add.w r3, sp, #1144 @ 0x478 │ │ │ │ │ + add.w r3, sp, #1152 @ 0x480 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ - add.w r3, sp, #1464 @ 0x5b8 │ │ │ │ │ + add.w r3, sp, #1472 @ 0x5c0 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - add.w r3, sp, #1384 @ 0x568 │ │ │ │ │ - vsub.f64 d2, d1, d9 │ │ │ │ │ - ldr r5, [sp, #264] @ 0x108 │ │ │ │ │ - ldr r7, [sp, #472] @ 0x1d8 │ │ │ │ │ + add.w r3, sp, #1392 @ 0x570 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ - add.w r3, sp, #1160 @ 0x488 │ │ │ │ │ - ldr r1, [sp, #184] @ 0xb8 │ │ │ │ │ + add.w r3, sp, #1168 @ 0x490 │ │ │ │ │ + vsub.f64 d2, d1, d9 │ │ │ │ │ vldr d1, [r3] │ │ │ │ │ - add.w r3, sp, #1128 @ 0x468 │ │ │ │ │ + add.w r3, sp, #1136 @ 0x470 │ │ │ │ │ + vldr d9, [r3] │ │ │ │ │ + add.w r3, sp, #1384 @ 0x568 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ + vsub.f64 d1, d1, d9 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ - add.w r3, sp, #1376 @ 0x560 │ │ │ │ │ + add.w r3, sp, #1400 @ 0x578 │ │ │ │ │ vsub.f64 d3, d2, d7 │ │ │ │ │ vadd.f64 d2, d2, d7 │ │ │ │ │ - vsub.f64 d1, d1, d9 │ │ │ │ │ - vldr d9, [r3] │ │ │ │ │ - add.w r3, sp, #1392 @ 0x570 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - add.w r3, sp, #1040 @ 0x410 │ │ │ │ │ + add.w r3, sp, #1048 @ 0x418 │ │ │ │ │ vsub.f64 d7, d9, d7 │ │ │ │ │ vsub.f64 d9, d1, d7 │ │ │ │ │ vadd.f64 d1, d1, d7 │ │ │ │ │ vmul.f64 d7, d9, d11 │ │ │ │ │ vnmls.f64 d7, d3, d10 │ │ │ │ │ - vldr d10, [pc, #-552] @ 24f8 │ │ │ │ │ vmul.f64 d3, d3, d11 │ │ │ │ │ - vldr d11, [pc, #-568] @ 24f0 │ │ │ │ │ - vmul.f64 d10, d1, d10 │ │ │ │ │ + vldr d11, [pc, #-564] @ 2570 │ │ │ │ │ + vldr d10, [pc, #-560] @ 2578 │ │ │ │ │ vmla.f64 d3, d9, d11 │ │ │ │ │ - vldr d9, [pc, #-572] @ 24f8 │ │ │ │ │ + vldr d9, [pc, #-568] @ 2578 │ │ │ │ │ + vmul.f64 d10, d1, d10 │ │ │ │ │ vnmls.f64 d10, d2, d12 │ │ │ │ │ vmul.f64 d2, d2, d9 │ │ │ │ │ vmla.f64 d2, d1, d12 │ │ │ │ │ - vldr d12, [sp, #24] │ │ │ │ │ + vldr d12, [sp, #40] @ 0x28 │ │ │ │ │ vadd.f64 d1, d12, d7 │ │ │ │ │ vsub.f64 d7, d7, d12 │ │ │ │ │ vldr d12, [sp] │ │ │ │ │ vmov.f64 d11, d2 │ │ │ │ │ vadd.f64 d2, d0, d4 │ │ │ │ │ vsub.f64 d4, d0, d4 │ │ │ │ │ - vldr d0, [sp, #40] @ 0x28 │ │ │ │ │ vsub.f64 d9, d2, d1 │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ - vstr d9, [r5] │ │ │ │ │ + vstr d9, [r7] │ │ │ │ │ vldr d9, [sp] │ │ │ │ │ + ldr r7, [sp, #16] │ │ │ │ │ + vadd.f64 d1, d6, d9 │ │ │ │ │ + vsub.f64 d6, d6, d12 │ │ │ │ │ vstr d2, [r7] │ │ │ │ │ vsub.f64 d2, d3, d15 │ │ │ │ │ - ldr r7, [sp, #488] @ 0x1e8 │ │ │ │ │ vadd.f64 d15, d15, d3 │ │ │ │ │ - vadd.f64 d1, d6, d9 │ │ │ │ │ - ldr r5, [sp, #200] @ 0xc8 │ │ │ │ │ - vsub.f64 d6, d6, d12 │ │ │ │ │ - vldr d3, [sp, #16] │ │ │ │ │ vsub.f64 d9, d2, d1 │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ - vstr d9, [r7] │ │ │ │ │ - vstr d2, [r5] │ │ │ │ │ + vstr d9, [r2] │ │ │ │ │ + ldr r2, [sp, #224] @ 0xe0 │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ vsub.f64 d2, d7, d6 │ │ │ │ │ - ldr r5, [sp, #540] @ 0x21c │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - ldr r7, [sp, #192] @ 0xc0 │ │ │ │ │ - vadd.f64 d6, d0, d11 │ │ │ │ │ - vstr d2, [r5] │ │ │ │ │ - vstr d7, [r7] │ │ │ │ │ + ldr r2, [sp, #552] @ 0x228 │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ + ldr r2, [sp, #216] @ 0xd8 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d4, d15 │ │ │ │ │ - ldr r7, [sp, #536] @ 0x218 │ │ │ │ │ vadd.f64 d4, d4, d15 │ │ │ │ │ - ldr r5, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d2, [sp, #32] │ │ │ │ │ + vldr d1, [sp, #24] │ │ │ │ │ + vldr d3, [sp, #32] │ │ │ │ │ + vldr d0, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r7, [sp, #548] @ 0x224 │ │ │ │ │ + vsub.f64 d12, d1, d5 │ │ │ │ │ + ldr r5, [sp, #208] @ 0xd0 │ │ │ │ │ + vadd.f64 d6, d0, d11 │ │ │ │ │ + ldr r2, [sp, #568] @ 0x238 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ vadd.f64 d7, d13, d3 │ │ │ │ │ - vstr d4, [r1] │ │ │ │ │ - ldr r7, [sp, #556] @ 0x22c │ │ │ │ │ + vldr d2, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d4, [r5] │ │ │ │ │ + ldr r7, [sp, #184] @ 0xb8 │ │ │ │ │ + ldr r4, [sp, #192] @ 0xc0 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d4, [r7] │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ - vsub.f64 d7, d10, d2 │ │ │ │ │ - vldr d1, [sp, #8] │ │ │ │ │ - ldr r5, [sp, #548] @ 0x224 │ │ │ │ │ - ldr r7, [sp, #160] @ 0xa0 │ │ │ │ │ vadd.f64 d6, d1, d5 │ │ │ │ │ - vsub.f64 d12, d1, d5 │ │ │ │ │ - ldr r2, [sp, #168] @ 0xa8 │ │ │ │ │ - vldr d15, [sp, #840] @ 0x348 │ │ │ │ │ - vldr d1, [pc, #-768] @ 2500 │ │ │ │ │ + vldr d15, [sp, #848] @ 0x350 │ │ │ │ │ + vldr d1, [pc, #-756] @ 2580 │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ + ldr r2, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + vsub.f64 d7, d10, d2 │ │ │ │ │ + ldr r2, [sp, #560] @ 0x230 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d4, [r5] │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ vsub.f64 d7, d11, d0 │ │ │ │ │ - ldr r7, [sp, #520] @ 0x208 │ │ │ │ │ - ldr r5, [sp, #504] @ 0x1f8 │ │ │ │ │ - vldr d0, [sp, #656] @ 0x290 │ │ │ │ │ + ldr r7, [sp, #200] @ 0xc8 │ │ │ │ │ + ldr r2, [sp, #528] @ 0x210 │ │ │ │ │ + vldr d0, [sp, #664] @ 0x298 │ │ │ │ │ vsub.f64 d6, d7, d12 │ │ │ │ │ vadd.f64 d7, d7, d12 │ │ │ │ │ - vstr d6, [r7] │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ vadd.f64 d6, d2, d10 │ │ │ │ │ - ldr r7, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d2, [sp, #776] @ 0x308 │ │ │ │ │ - vldr d10, [pc, #-816] @ 2508 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ vsub.f64 d7, d13, d3 │ │ │ │ │ - vldr d13, [sp, #848] @ 0x350 │ │ │ │ │ - vldr d3, [pc, #-824] @ 2510 │ │ │ │ │ + ldr r7, [sp, #512] @ 0x200 │ │ │ │ │ + vldr d2, [sp, #784] @ 0x310 │ │ │ │ │ + vldr d13, [sp, #856] @ 0x358 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ + vldr d3, [pc, #-836] @ 2588 │ │ │ │ │ + vldr d10, [pc, #-832] @ 2590 │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ vmov.f64 d9, d3 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ - vldr d7, [sp, #728] @ 0x2d8 │ │ │ │ │ + vldr d7, [sp, #736] @ 0x2e0 │ │ │ │ │ vadd.f64 d6, d0, d7 │ │ │ │ │ vadd.f64 d7, d2, d15 │ │ │ │ │ - vldr d2, [sp, #784] @ 0x310 │ │ │ │ │ - vldr d15, [sp, #720] @ 0x2d0 │ │ │ │ │ - vsub.f64 d0, d6, d7 │ │ │ │ │ + vldr d2, [sp, #792] @ 0x318 │ │ │ │ │ vadd.f64 d12, d6, d7 │ │ │ │ │ + vsub.f64 d0, d6, d7 │ │ │ │ │ vsub.f64 d6, d13, d2 │ │ │ │ │ - vldr d2, [sp, #640] @ 0x280 │ │ │ │ │ + vldr d2, [sp, #648] @ 0x288 │ │ │ │ │ + vstr d12, [sp, #32] │ │ │ │ │ + vldr d15, [sp, #728] @ 0x2d8 │ │ │ │ │ vldr d13, [r3] │ │ │ │ │ - add.w r3, sp, #1072 @ 0x430 │ │ │ │ │ + add.w r3, sp, #1080 @ 0x438 │ │ │ │ │ + ldr r7, [sp, #376] @ 0x178 │ │ │ │ │ vadd.f64 d7, d2, d15 │ │ │ │ │ - vldr d2, [sp, #912] @ 0x390 │ │ │ │ │ - vldr d15, [sp, #944] @ 0x3b0 │ │ │ │ │ - vstr d12, [sp, #24] │ │ │ │ │ - vadd.f64 d4, d2, d15 │ │ │ │ │ - vldr d2, [sp, #928] @ 0x3a0 │ │ │ │ │ - vldr d15, [sp, #960] @ 0x3c0 │ │ │ │ │ + vldr d2, [sp, #920] @ 0x398 │ │ │ │ │ + vldr d15, [sp, #952] @ 0x3b8 │ │ │ │ │ vadd.f64 d12, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ + vadd.f64 d4, d2, d15 │ │ │ │ │ + vldr d2, [sp, #936] @ 0x3a8 │ │ │ │ │ + vldr d15, [sp, #968] @ 0x3c8 │ │ │ │ │ vadd.f64 d6, d2, d15 │ │ │ │ │ vldr d15, [r3] │ │ │ │ │ - add.w r3, sp, #1024 @ 0x400 │ │ │ │ │ + add.w r3, sp, #1032 @ 0x408 │ │ │ │ │ vmul.f64 d5, d6, d1 │ │ │ │ │ vnmls.f64 d5, d4, d3 │ │ │ │ │ vmul.f64 d4, d4, d1 │ │ │ │ │ vmla.f64 d4, d6, d3 │ │ │ │ │ vadd.f64 d6, d13, d15 │ │ │ │ │ vldr d15, [r3] │ │ │ │ │ - add.w r3, sp, #1056 @ 0x420 │ │ │ │ │ + add.w r3, sp, #1064 @ 0x428 │ │ │ │ │ vldr d13, [r3] │ │ │ │ │ - add.w r3, sp, #1216 @ 0x4c0 │ │ │ │ │ + add.w r3, sp, #1224 @ 0x4c8 │ │ │ │ │ vadd.f64 d2, d15, d13 │ │ │ │ │ vmul.f64 d3, d2, d3 │ │ │ │ │ vmla.f64 d3, d6, d1 │ │ │ │ │ vmul.f64 d6, d6, d9 │ │ │ │ │ vnmls.f64 d6, d2, d1 │ │ │ │ │ - vldr d1, [pc, #980] @ 2cc8 │ │ │ │ │ + vldr d1, [pc, #976] @ 2d48 │ │ │ │ │ vadd.f64 d2, d5, d3 │ │ │ │ │ vsub.f64 d3, d3, d5 │ │ │ │ │ vsub.f64 d13, d4, d6 │ │ │ │ │ vadd.f64 d11, d4, d6 │ │ │ │ │ vstr d13, [sp] │ │ │ │ │ vldr d13, [r3] │ │ │ │ │ - add.w r3, sp, #1248 @ 0x4e0 │ │ │ │ │ + add.w r3, sp, #1256 @ 0x4e8 │ │ │ │ │ vldr d15, [r3] │ │ │ │ │ - add.w r3, sp, #1328 @ 0x530 │ │ │ │ │ - ldr r5, [sp, #300] @ 0x12c │ │ │ │ │ - ldr r2, [sp, #444] @ 0x1bc │ │ │ │ │ + add.w r3, sp, #1336 @ 0x538 │ │ │ │ │ vadd.f64 d5, d13, d15 │ │ │ │ │ vldr d13, [r3] │ │ │ │ │ - add.w r3, sp, #1360 @ 0x550 │ │ │ │ │ - ldr r7, [sp, #284] @ 0x11c │ │ │ │ │ + add.w r3, sp, #1368 @ 0x558 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ - add.w r3, sp, #1200 @ 0x4b0 │ │ │ │ │ + add.w r3, sp, #1208 @ 0x4b8 │ │ │ │ │ vadd.f64 d6, d13, d4 │ │ │ │ │ vldr d13, [r3] │ │ │ │ │ - add.w r3, sp, #1232 @ 0x4d0 │ │ │ │ │ + add.w r3, sp, #1240 @ 0x4d8 │ │ │ │ │ vldr d15, [r3] │ │ │ │ │ - add.w r3, sp, #1336 @ 0x538 │ │ │ │ │ + add.w r3, sp, #1344 @ 0x540 │ │ │ │ │ vsub.f64 d9, d5, d6 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ vadd.f64 d6, d13, d15 │ │ │ │ │ vldr d13, [r3] │ │ │ │ │ - add.w r3, sp, #1368 @ 0x558 │ │ │ │ │ + add.w r3, sp, #1376 @ 0x560 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ - add.w r3, sp, #1112 @ 0x458 │ │ │ │ │ + add.w r3, sp, #1120 @ 0x460 │ │ │ │ │ vadd.f64 d4, d13, d4 │ │ │ │ │ vsub.f64 d15, d6, d4 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vldr d4, [pc, #864] @ 2cd0 │ │ │ │ │ + vldr d4, [pc, #864] @ 2d50 │ │ │ │ │ vmul.f64 d13, d15, d10 │ │ │ │ │ vmul.f64 d4, d6, d4 │ │ │ │ │ - vmla.f64 d13, d9, d1 │ │ │ │ │ vmul.f64 d15, d15, d1 │ │ │ │ │ + vmla.f64 d13, d9, d1 │ │ │ │ │ vnmls.f64 d15, d9, d10 │ │ │ │ │ - vldr d9, [pc, #840] @ 2cd0 │ │ │ │ │ - vstr d13, [sp, #8] │ │ │ │ │ + vldr d9, [pc, #840] @ 2d50 │ │ │ │ │ + vstr d13, [sp, #16] │ │ │ │ │ vmov.f64 d13, d4 │ │ │ │ │ - vldr d4, [pc, #836] @ 2cd8 │ │ │ │ │ + vldr d4, [pc, #836] @ 2d58 │ │ │ │ │ vnmls.f64 d13, d5, d4 │ │ │ │ │ vmul.f64 d6, d6, d4 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ - add.w r3, sp, #1144 @ 0x478 │ │ │ │ │ + add.w r3, sp, #1152 @ 0x480 │ │ │ │ │ vldr d1, [r3] │ │ │ │ │ - add.w r3, sp, #1392 @ 0x570 │ │ │ │ │ + add.w r3, sp, #1400 @ 0x578 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ - vstr d13, [sp, #32] │ │ │ │ │ + vstr d13, [sp, #40] @ 0x28 │ │ │ │ │ vmov.f64 d13, d6 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - add.w r3, sp, #1376 @ 0x560 │ │ │ │ │ + add.w r3, sp, #1384 @ 0x568 │ │ │ │ │ vmla.f64 d13, d5, d9 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - add.w r3, sp, #1128 @ 0x468 │ │ │ │ │ + add.w r3, sp, #1136 @ 0x470 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vsub.f64 d9, d4, d6 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - add.w r3, sp, #1160 @ 0x488 │ │ │ │ │ + add.w r3, sp, #1168 @ 0x490 │ │ │ │ │ vldr d1, [r3] │ │ │ │ │ - add.w r3, sp, #1464 @ 0x5b8 │ │ │ │ │ + add.w r3, sp, #1472 @ 0x5c0 │ │ │ │ │ vadd.f64 d6, d6, d1 │ │ │ │ │ vldr d1, [r3] │ │ │ │ │ - add.w r3, sp, #1384 @ 0x568 │ │ │ │ │ + add.w r3, sp, #1392 @ 0x570 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - add.w r3, sp, #1032 @ 0x408 │ │ │ │ │ + add.w r3, sp, #1024 @ 0x400 │ │ │ │ │ vadd.f64 d5, d1, d5 │ │ │ │ │ vsub.f64 d1, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vmul.f64 d5, d1, d10 │ │ │ │ │ - vldr d10, [pc, #696] @ 2cc8 │ │ │ │ │ + vldr d10, [pc, #696] @ 2d48 │ │ │ │ │ vnmls.f64 d5, d9, d10 │ │ │ │ │ - vldr d10, [pc, #696] @ 2cd0 │ │ │ │ │ + vldr d10, [pc, #696] @ 2d50 │ │ │ │ │ vmul.f64 d10, d6, d10 │ │ │ │ │ - vstr d5, [sp, #16] │ │ │ │ │ - vldr d5, [pc, #692] @ 2cd8 │ │ │ │ │ + vstr d5, [sp, #24] │ │ │ │ │ + vldr d5, [pc, #692] @ 2d58 │ │ │ │ │ vmla.f64 d10, d4, d5 │ │ │ │ │ - vldr d5, [pc, #668] @ 2cc8 │ │ │ │ │ + vldr d5, [pc, #668] @ 2d48 │ │ │ │ │ vmul.f64 d1, d1, d5 │ │ │ │ │ - vldr d5, [pc, #684] @ 2ce0 │ │ │ │ │ + vldr d5, [pc, #684] @ 2d60 │ │ │ │ │ vmla.f64 d1, d9, d5 │ │ │ │ │ - vldr d5, [pc, #668] @ 2cd8 │ │ │ │ │ + vldr d5, [pc, #668] @ 2d58 │ │ │ │ │ vmul.f64 d9, d6, d5 │ │ │ │ │ - vldr d6, [pc, #652] @ 2cd0 │ │ │ │ │ - vldr d5, [sp, #16] │ │ │ │ │ + vldr d6, [pc, #652] @ 2d50 │ │ │ │ │ + vldr d5, [sp, #24] │ │ │ │ │ vnmls.f64 d9, d4, d6 │ │ │ │ │ - vldr d4, [sp, #8] │ │ │ │ │ + vldr d4, [sp, #16] │ │ │ │ │ vsub.f64 d6, d0, d2 │ │ │ │ │ vadd.f64 d2, d0, d2 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ vsub.f64 d5, d6, d4 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vldr d4, [sp, #8] │ │ │ │ │ - vstr d5, [r5] │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - vldr d6, [sp, #16] │ │ │ │ │ + vstr d5, [r7] │ │ │ │ │ + vldr d4, [sp, #16] │ │ │ │ │ ldr r5, [sp, #460] @ 0x1cc │ │ │ │ │ + vldr d0, [sp, #32] │ │ │ │ │ + ldr r7, [sp, #476] @ 0x1dc │ │ │ │ │ + vstr d6, [r5] │ │ │ │ │ + vldr d6, [sp, #24] │ │ │ │ │ + ldr r2, [sp, #304] @ 0x130 │ │ │ │ │ + ldr r4, [sp, #296] @ 0x128 │ │ │ │ │ vsub.f64 d5, d6, d4 │ │ │ │ │ vldr d4, [sp] │ │ │ │ │ vadd.f64 d6, d7, d4 │ │ │ │ │ vsub.f64 d4, d5, d6 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ vsub.f64 d6, d1, d15 │ │ │ │ │ vadd.f64 d15, d15, d1 │ │ │ │ │ - vstr d4, [r5] │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ vldr d4, [sp] │ │ │ │ │ - vstr d5, [r7] │ │ │ │ │ - ldr r5, [sp, #452] @ 0x1c4 │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ + ldr r2, [sp, #312] @ 0x138 │ │ │ │ │ + ldr r7, [sp, #468] @ 0x1d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - ldr r7, [sp, #292] @ 0x124 │ │ │ │ │ - vldr d0, [sp, #24] │ │ │ │ │ - ldr r1, [sp, #276] @ 0x114 │ │ │ │ │ - vldr d4, [sp, #712] @ 0x2c8 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vsub.f64 d7, d2, d15 │ │ │ │ │ vadd.f64 d2, d2, d15 │ │ │ │ │ - vldr d1, [sp, #832] @ 0x340 │ │ │ │ │ - ldr r2, [sp, #248] @ 0xf8 │ │ │ │ │ - vstr d5, [r5] │ │ │ │ │ - ldr r5, [sp, #468] @ 0x1d4 │ │ │ │ │ - vstr d6, [r7] │ │ │ │ │ + vstr d5, [r7] │ │ │ │ │ + ldr r7, [sp, #484] @ 0x1e4 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ vadd.f64 d6, d13, d9 │ │ │ │ │ - ldr r7, [sp, #232] @ 0xe8 │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ + ldr r2, [sp, #8] │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ vadd.f64 d7, d0, d11 │ │ │ │ │ - vstr d2, [r1] │ │ │ │ │ + vstr d2, [r4] │ │ │ │ │ vmov.f64 d2, d13 │ │ │ │ │ - ldr r1, [sp, #384] @ 0x180 │ │ │ │ │ - vldr d13, [sp, #32] │ │ │ │ │ + vldr d13, [sp, #40] @ 0x28 │ │ │ │ │ + ldr r7, [sp, #248] @ 0xf8 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d12, d3 │ │ │ │ │ - ldr r5, [sp, #216] @ 0xd8 │ │ │ │ │ vsub.f64 d12, d12, d3 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d10, d13 │ │ │ │ │ - ldr r7, [sp, #400] @ 0x190 │ │ │ │ │ - ldr r1, [sp, #416] @ 0x1a0 │ │ │ │ │ + ldr r7, [sp, #232] @ 0xe8 │ │ │ │ │ + ldr r2, [sp, #408] @ 0x198 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d5, [r7] │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ vsub.f64 d7, d9, d2 │ │ │ │ │ - ldr r7, [sp, #432] @ 0x1b0 │ │ │ │ │ - ldr r5, [sp, #268] @ 0x10c │ │ │ │ │ + ldr r7, [sp, #280] @ 0x118 │ │ │ │ │ + ldr r2, [sp, #440] @ 0x1b8 │ │ │ │ │ vsub.f64 d6, d7, d12 │ │ │ │ │ vadd.f64 d7, d7, d12 │ │ │ │ │ - vstr d6, [r7] │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ vadd.f64 d6, d13, d10 │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ vsub.f64 d7, d0, d11 │ │ │ │ │ - vldr d13, [sp, #648] @ 0x288 │ │ │ │ │ - vldr d10, [pc, #432] @ 2cf8 │ │ │ │ │ - vldr d0, [pc, #436] @ 2d00 │ │ │ │ │ + ldr r2, [sp, #424] @ 0x1a8 │ │ │ │ │ + ldr r1, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d13, [sp, #656] @ 0x290 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ + vldr d4, [sp, #720] @ 0x2d0 │ │ │ │ │ + vldr d1, [sp, #840] @ 0x348 │ │ │ │ │ + vldr d2, [sp, #640] @ 0x280 │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ + vldr d5, [sp, #776] @ 0x308 │ │ │ │ │ vsub.f64 d6, d13, d4 │ │ │ │ │ - vstr d5, [r1] │ │ │ │ │ - vldr d5, [sp, #768] @ 0x300 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - vldr d7, [sp, #760] @ 0x2f8 │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ + vldr d7, [sp, #768] @ 0x300 │ │ │ │ │ + vldr d10, [pc, #384] @ 2d68 │ │ │ │ │ vadd.f64 d13, d5, d1 │ │ │ │ │ + vldr d0, [pc, #400] @ 2d80 │ │ │ │ │ vsub.f64 d11, d6, d13 │ │ │ │ │ vadd.f64 d13, d6, d13 │ │ │ │ │ - vldr d6, [sp, #824] @ 0x338 │ │ │ │ │ - vldr d2, [sp, #632] @ 0x278 │ │ │ │ │ - ldr r0, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d6, [sp, #832] @ 0x340 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [sp, #736] @ 0x2e0 │ │ │ │ │ + vldr d7, [sp, #744] @ 0x2e8 │ │ │ │ │ vsub.f64 d7, d2, d7 │ │ │ │ │ - vldr d2, [sp, #904] @ 0x388 │ │ │ │ │ + vldr d2, [sp, #912] @ 0x390 │ │ │ │ │ vadd.f64 d12, d6, d7 │ │ │ │ │ vsub.f64 d9, d7, d6 │ │ │ │ │ - vldr d7, [sp, #920] @ 0x398 │ │ │ │ │ + vldr d7, [sp, #928] @ 0x3a0 │ │ │ │ │ vsub.f64 d5, d2, d7 │ │ │ │ │ - vldr d7, [sp, #952] @ 0x3b8 │ │ │ │ │ - vldr d2, [sp, #936] @ 0x3a8 │ │ │ │ │ + vldr d2, [sp, #944] @ 0x3b0 │ │ │ │ │ vstr d9, [sp] │ │ │ │ │ + vldr d7, [sp, #960] @ 0x3c0 │ │ │ │ │ vsub.f64 d6, d7, d2 │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ + add.w r3, sp, #1040 @ 0x410 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - vldr d2, [sp, #1016] @ 0x3f8 │ │ │ │ │ - add.w r3, sp, #1064 @ 0x428 │ │ │ │ │ - vsub.f64 d3, d2, d7 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - add.w r3, sp, #1048 @ 0x418 │ │ │ │ │ + add.w r3, sp, #1072 @ 0x430 │ │ │ │ │ vmul.f64 d4, d6, d8 │ │ │ │ │ vmul.f64 d6, d6, d14 │ │ │ │ │ - vmla.f64 d6, d5, d8 │ │ │ │ │ + vsub.f64 d3, d2, d7 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + add.w r3, sp, #1056 @ 0x420 │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ - add.w r3, sp, #1240 @ 0x4d8 │ │ │ │ │ + add.w r3, sp, #1248 @ 0x4e0 │ │ │ │ │ vnmls.f64 d4, d5, d14 │ │ │ │ │ + vmla.f64 d6, d5, d8 │ │ │ │ │ vsub.f64 d5, d7, d2 │ │ │ │ │ vmul.f64 d2, d5, d8 │ │ │ │ │ vmul.f64 d5, d5, d14 │ │ │ │ │ vmla.f64 d2, d3, d14 │ │ │ │ │ vnmls.f64 d5, d3, d8 │ │ │ │ │ vadd.f64 d1, d4, d2 │ │ │ │ │ vsub.f64 d2, d2, d4 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ - add.w r3, sp, #1224 @ 0x4c8 │ │ │ │ │ + add.w r3, sp, #1232 @ 0x4d0 │ │ │ │ │ vsub.f64 d7, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vldr d8, [r3] │ │ │ │ │ - add.w r3, sp, #1296 @ 0x510 │ │ │ │ │ + add.w r3, sp, #1304 @ 0x518 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - add.w r3, sp, #1312 @ 0x520 │ │ │ │ │ - vsub.f64 d4, d4, d8 │ │ │ │ │ - vstr d7, [sp, #8] │ │ │ │ │ + add.w r3, sp, #1320 @ 0x528 │ │ │ │ │ vldr d15, [r3] │ │ │ │ │ - add.w r3, sp, #1192 @ 0x4a8 │ │ │ │ │ + add.w r3, sp, #1200 @ 0x4b0 │ │ │ │ │ + vstr d7, [sp, #8] │ │ │ │ │ + vsub.f64 d4, d4, d8 │ │ │ │ │ vldr d8, [r3] │ │ │ │ │ - add.w r3, sp, #1208 @ 0x4b8 │ │ │ │ │ + add.w r3, sp, #1216 @ 0x4c0 │ │ │ │ │ vsub.f64 d5, d5, d15 │ │ │ │ │ vldr d15, [r3] │ │ │ │ │ - add.w r3, sp, #1320 @ 0x528 │ │ │ │ │ + add.w r3, sp, #1328 @ 0x530 │ │ │ │ │ vsub.f64 d9, d4, d5 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ vsub.f64 d5, d8, d15 │ │ │ │ │ vldr d15, [r3] │ │ │ │ │ - add.w r3, sp, #1304 @ 0x518 │ │ │ │ │ + add.w r3, sp, #1312 @ 0x520 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ - add.w r3, sp, #1104 @ 0x450 │ │ │ │ │ + add.w r3, sp, #1112 @ 0x458 │ │ │ │ │ vsub.f64 d3, d15, d14 │ │ │ │ │ vsub.f64 d15, d5, d3 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ - vldr d3, [pc, #136] @ 2cf0 │ │ │ │ │ + vldr d3, [pc, #132] @ 2d70 │ │ │ │ │ vmov.f64 d7, d3 │ │ │ │ │ vmul.f64 d3, d5, d3 │ │ │ │ │ vmul.f64 d14, d15, d10 │ │ │ │ │ vmul.f64 d15, d15, d0 │ │ │ │ │ - vmla.f64 d14, d9, d0 │ │ │ │ │ vmov.f64 d8, d3 │ │ │ │ │ - vldr d3, [pc, #100] @ 2ce8 │ │ │ │ │ + vldr d3, [pc, #116] @ 2d78 │ │ │ │ │ + vmla.f64 d14, d9, d0 │ │ │ │ │ vnmls.f64 d15, d9, d10 │ │ │ │ │ vmul.f64 d5, d5, d3 │ │ │ │ │ vnmls.f64 d8, d4, d3 │ │ │ │ │ vmla.f64 d5, d4, d7 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - add.w r3, sp, #1120 @ 0x460 │ │ │ │ │ + add.w r3, sp, #1128 @ 0x468 │ │ │ │ │ vstr d8, [sp, #16] │ │ │ │ │ vmov.f64 d8, d5 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - add.w r3, sp, #1440 @ 0x5a0 │ │ │ │ │ + add.w r3, sp, #1448 @ 0x5a8 │ │ │ │ │ + ldr r0, [sp, #112] @ 0x70 │ │ │ │ │ + ldr r1, [sp, #600] @ 0x258 │ │ │ │ │ vsub.f64 d3, d7, d5 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - add.w r3, sp, #1456 @ 0x5b0 │ │ │ │ │ + add.w r3, sp, #1464 @ 0x5b8 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ - add.w r3, sp, #1152 @ 0x480 │ │ │ │ │ - b.n 2d08 │ │ │ │ │ - nop.w │ │ │ │ │ + b.n 2d88 │ │ │ │ │ .word 0x25091dd6 │ │ │ │ │ .word 0x3fe44cf3 │ │ │ │ │ .word 0xa3d12526 │ │ │ │ │ .word 0x3fefd88d │ │ │ │ │ .word 0xbc29b42c │ │ │ │ │ .word 0x3fb917a6 │ │ │ │ │ .word 0x6b151741 │ │ │ │ │ .word 0x3fe8bc80 │ │ │ │ │ - .word 0x2ed59f06 │ │ │ │ │ - .word 0x3fd29406 │ │ │ │ │ - .word 0x56c62dda │ │ │ │ │ - .word 0x3fee9f41 │ │ │ │ │ .word 0xf180bdb1 │ │ │ │ │ .word 0x3fec38b2 │ │ │ │ │ + .word 0x56c62dda │ │ │ │ │ + .word 0x3fee9f41 │ │ │ │ │ + .word 0x2ed59f06 │ │ │ │ │ + .word 0x3fd29406 │ │ │ │ │ .word 0x3806f63b │ │ │ │ │ .word 0x3fde2b5d │ │ │ │ │ - vsub.f64 d5, d5, d9 │ │ │ │ │ + add.w r3, sp, #1160 @ 0x488 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - add.w r3, sp, #1136 @ 0x470 │ │ │ │ │ + add.w r3, sp, #1144 @ 0x478 │ │ │ │ │ + ldr r7, [sp, #620] @ 0x26c │ │ │ │ │ + vsub.f64 d5, d5, d9 │ │ │ │ │ + ldr r4, [sp, #136] @ 0x88 │ │ │ │ │ + ldr r2, [sp, #152] @ 0x98 │ │ │ │ │ + ldr r5, [sp, #576] @ 0x240 │ │ │ │ │ vsub.f64 d9, d3, d5 │ │ │ │ │ vadd.f64 d3, d3, d5 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - add.w r3, sp, #1448 @ 0x5a8 │ │ │ │ │ + add.w r3, sp, #1456 @ 0x5b0 │ │ │ │ │ vldr d0, [r3] │ │ │ │ │ - add.w r3, sp, #1432 @ 0x598 │ │ │ │ │ - vsub.f64 d5, d7, d5 │ │ │ │ │ + add.w r3, sp, #1440 @ 0x5a0 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ + vsub.f64 d5, d7, d5 │ │ │ │ │ + ldr r3, [sp, #128] @ 0x80 │ │ │ │ │ vsub.f64 d4, d0, d4 │ │ │ │ │ vsub.f64 d0, d5, d4 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ vmul.f64 d4, d0, d10 │ │ │ │ │ - vldr d10, [pc, #-72] @ 2d00 │ │ │ │ │ + vldr d10, [pc, #-84] @ 2d80 │ │ │ │ │ vnmls.f64 d4, d9, d10 │ │ │ │ │ - vldr d10, [pc, #-96] @ 2cf0 │ │ │ │ │ + vldr d10, [pc, #-108] @ 2d70 │ │ │ │ │ vmul.f64 d10, d5, d10 │ │ │ │ │ vmov.f64 d7, d10 │ │ │ │ │ - vldr d10, [pc, #-116] @ 2ce8 │ │ │ │ │ + vldr d10, [pc, #-112] @ 2d78 │ │ │ │ │ vmla.f64 d7, d3, d10 │ │ │ │ │ - vldr d10, [pc, #-100] @ 2d00 │ │ │ │ │ + vldr d10, [pc, #-112] @ 2d80 │ │ │ │ │ vmul.f64 d0, d0, d10 │ │ │ │ │ - vldr d10, [pc, #-116] @ 2cf8 │ │ │ │ │ - vmla.f64 d0, d9, d10 │ │ │ │ │ - vldr d10, [pc, #-140] @ 2ce8 │ │ │ │ │ - vldr d9, [pc, #-136] @ 2cf0 │ │ │ │ │ + vldr d10, [pc, #-144] @ 2d68 │ │ │ │ │ vstr d7, [sp, #24] │ │ │ │ │ + vldr d7, [sp, #8] │ │ │ │ │ + vmla.f64 d0, d9, d10 │ │ │ │ │ + vldr d10, [pc, #-144] @ 2d78 │ │ │ │ │ + vldr d9, [pc, #-156] @ 2d70 │ │ │ │ │ vmul.f64 d10, d5, d10 │ │ │ │ │ vsub.f64 d5, d11, d1 │ │ │ │ │ vadd.f64 d1, d11, d1 │ │ │ │ │ vnmls.f64 d10, d3, d9 │ │ │ │ │ vadd.f64 d3, d14, d4 │ │ │ │ │ vsub.f64 d4, d4, d14 │ │ │ │ │ vsub.f64 d9, d5, d3 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ - vstr d9, [r0] │ │ │ │ │ - ldr r2, [sp, #592] @ 0x250 │ │ │ │ │ + vstr d9, [r3] │ │ │ │ │ vldr d9, [sp] │ │ │ │ │ - vldr d7, [sp, #8] │ │ │ │ │ - ldr r7, [sp, #612] @ 0x264 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ + ldr r3, [sp, #120] @ 0x78 │ │ │ │ │ + ldr r1, [sp, #604] @ 0x25c │ │ │ │ │ vadd.f64 d5, d9, d7 │ │ │ │ │ - ldr r2, [sp, #96] @ 0x60 │ │ │ │ │ vsub.f64 d7, d9, d7 │ │ │ │ │ - ldr r5, [sp, #596] @ 0x254 │ │ │ │ │ - ldr r1, [sp, #112] @ 0x70 │ │ │ │ │ - ldr r3, [sp, #88] @ 0x58 │ │ │ │ │ vsub.f64 d3, d4, d5 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ vsub.f64 d5, d0, d15 │ │ │ │ │ vadd.f64 d15, d15, d0 │ │ │ │ │ - ldr r0, [sp, #560] @ 0x230 │ │ │ │ │ vldr d0, [sp, #24] │ │ │ │ │ vstr d3, [r7] │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ vsub.f64 d4, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ vsub.f64 d7, d1, d15 │ │ │ │ │ - ldr r2, [sp, #128] @ 0x80 │ │ │ │ │ - vadd.f64 d1, d1, d15 │ │ │ │ │ vldr d3, [sp, #16] │ │ │ │ │ - vstr d4, [r5] │ │ │ │ │ - ldr.w r5, [sp, #1664] @ 0x680 │ │ │ │ │ - vstr d5, [r1] │ │ │ │ │ + vadd.f64 d1, d1, d15 │ │ │ │ │ + ldr.w r7, [sp, #1672] @ 0x688 │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ vadd.f64 d5, d8, d10 │ │ │ │ │ vsub.f64 d10, d10, d8 │ │ │ │ │ - ldr r1, [sp, #604] @ 0x25c │ │ │ │ │ - ldr r4, [sp, #136] @ 0x88 │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ vadd.f64 d7, d13, d6 │ │ │ │ │ - vstr d1, [r3] │ │ │ │ │ vsub.f64 d13, d13, d6 │ │ │ │ │ - ldr r3, [sp, #120] @ 0x78 │ │ │ │ │ + vstr d1, [r0] │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vadd.f64 d5, d12, d2 │ │ │ │ │ vsub.f64 d12, d12, d2 │ │ │ │ │ vstr d4, [r2] │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ vsub.f64 d7, d0, d3 │ │ │ │ │ - ldr r2, [sp, #576] @ 0x240 │ │ │ │ │ - ldr r0, [sp, #144] @ 0x90 │ │ │ │ │ + ldr r2, [sp, #584] @ 0x248 │ │ │ │ │ + ldr r3, [sp, #144] @ 0x90 │ │ │ │ │ + ldr r0, [sp, #160] @ 0xa0 │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ + ldr r1, [sp, #612] @ 0x264 │ │ │ │ │ + ldr r4, [sp, #168] @ 0xa8 │ │ │ │ │ vstr d4, [r2] │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d10, d12 │ │ │ │ │ vadd.f64 d10, d10, d12 │ │ │ │ │ + ldr.w r3, [sp, #1792] @ 0x700 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ vadd.f64 d7, d3, d0 │ │ │ │ │ - vstr d10, [r0] │ │ │ │ │ + vstr d10, [r4] │ │ │ │ │ + str.w r3, [sp, #1792] @ 0x700 │ │ │ │ │ + ldr.w r3, [sp, #1676] @ 0x68c │ │ │ │ │ + ldr.w r2, [sp, #1792] @ 0x700 │ │ │ │ │ vsub.f64 d6, d13, d7 │ │ │ │ │ vadd.f64 d13, d13, d7 │ │ │ │ │ - vstr d6, [lr] │ │ │ │ │ - vstr d13, [r4] │ │ │ │ │ - ldr.w r3, [sp, #1784] @ 0x6f8 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str.w r3, [sp, #1784] @ 0x6f8 │ │ │ │ │ - ldr.w r3, [sp, #1668] @ 0x684 │ │ │ │ │ - ldr.w r2, [sp, #1784] @ 0x6f8 │ │ │ │ │ - add r9, r3 │ │ │ │ │ - ldr.w r3, [sp, #1672] @ 0x688 │ │ │ │ │ add sl, r3 │ │ │ │ │ - ldr.w r3, [sp, #1676] @ 0x68c │ │ │ │ │ - eor.w fp, fp, r3 │ │ │ │ │ - ldr.w r3, [sp, #1788] @ 0x6fc │ │ │ │ │ + ldr.w r3, [sp, #1680] @ 0x690 │ │ │ │ │ + vstr d6, [lr] │ │ │ │ │ + add fp, r3 │ │ │ │ │ + ldr.w r3, [sp, #1684] @ 0x694 │ │ │ │ │ + vstr d13, [r0] │ │ │ │ │ + eor.w r9, r9, r3 │ │ │ │ │ + ldr.w r3, [sp, #1796] @ 0x704 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 56 │ │ │ │ │ - addw sp, sp, #1684 @ 0x694 │ │ │ │ │ + bne.w 6a │ │ │ │ │ + addw sp, sp, #1692 @ 0x69c │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -00002eac : │ │ │ │ │ +00002f40 : │ │ │ │ │ fftw_codelet_hf_64(): │ │ │ │ │ - ldr r2, [pc, #8] @ (2eb8 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (2ebc ) │ │ │ │ │ + ldr r2, [pc, #8] @ (2f4c ) │ │ │ │ │ + ldr r1, [pc, #12] @ (2f50 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2hc_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── hf_7.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1632 (bytes into file) │ │ │ │ │ + Start of section headers: 1696 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x660: │ │ │ │ │ +There are 14 section headers, starting at offset 0x6a0: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0003b4 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0005b8 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0003e8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0003e8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0003e8 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 0003ed 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0003f5 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 0005d0 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000425 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000425 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000458 000110 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000568 00004e 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 0005e8 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0003f4 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0005f8 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000428 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000428 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000428 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 00042d 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000435 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000610 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000465 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000465 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000498 000110 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0005a8 00004e 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000628 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,20 +1,20 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 17 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 928 FUNC LOCAL DEFAULT 1 hf_7 │ │ │ │ │ + 1: 00000001 992 FUNC LOCAL DEFAULT 1 hf_7 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000370 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 000003a0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000003ac 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000003b0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 000003e0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000003ec 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 14: 000003a1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_7 │ │ │ │ │ + 14: 000003e1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_7 │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2hc_register │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x5b8 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x5f8 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000003ac 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000003b0 00000103 R_ARM_REL32 00000001 hf_7 │ │ │ │ │ -000003a8 00000f1e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ +000003ec 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000003f0 00000103 R_ARM_REL32 00000001 hf_7 │ │ │ │ │ +000003e8 00000f1e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x5d0 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x610 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001002 R_ARM_ABS32 00000000 fftw_rdft_hf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,271 +1,286 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hf_7(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + mov r4, r1 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r5, r0 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #84 @ 0x54 │ │ │ │ │ - ldrd r7, r4, [sp, #184] @ 0xb8 │ │ │ │ │ - cmp r7, r4 │ │ │ │ │ - bge.w 364 │ │ │ │ │ - ldr r4, [sp, #192] @ 0xc0 │ │ │ │ │ - mov.w fp, #40 @ 0x28 │ │ │ │ │ - mov.w r8, #24 │ │ │ │ │ - lsls r6, r3, #3 │ │ │ │ │ - mov.w sl, r3, lsl #4 │ │ │ │ │ - negs r5, r6 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ - str r4, [sp, #72] @ 0x48 │ │ │ │ │ - negs r4, r4 │ │ │ │ │ - str r4, [sp, #76] @ 0x4c │ │ │ │ │ - movs r4, #96 @ 0x60 │ │ │ │ │ - mul.w fp, fp, r3 │ │ │ │ │ - mul.w r8, r8, r3 │ │ │ │ │ - lsls r3, r3, #5 │ │ │ │ │ - rsb r9, r3, #0 │ │ │ │ │ - rsb sl, sl, #0 │ │ │ │ │ - mla r2, r4, r7, r2 │ │ │ │ │ - vldr d0, [pc, #808] @ 370 │ │ │ │ │ - vldr d8, [pc, #812] @ 378 │ │ │ │ │ - vldr d15, [pc, #816] @ 380 │ │ │ │ │ - vldr d14, [pc, #820] @ 388 │ │ │ │ │ - vldr d11, [pc, #824] @ 390 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - adds r3, r1, r6 │ │ │ │ │ - adds r4, r0, r6 │ │ │ │ │ - vldr d3, [r2, #-88] @ 0xffffffa8 │ │ │ │ │ - vldr d1, [r2, #-8] │ │ │ │ │ - adds r7, #1 │ │ │ │ │ - vstr d7, [sp] │ │ │ │ │ - adds r2, #96 @ 0x60 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - add r3, fp │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - add r4, fp │ │ │ │ │ - vstr d7, [sp, #8] │ │ │ │ │ - add.w lr, r3, r9 │ │ │ │ │ - vldr d7, [r2, #-192] @ 0xffffff40 │ │ │ │ │ + ldrd r1, r0, [sp, #184] @ 0xb8 │ │ │ │ │ + cmp r1, r0 │ │ │ │ │ + bge.w 390 │ │ │ │ │ + mov.w r1, r3, lsl #4 │ │ │ │ │ + vldr d9, [pc, #896] @ 3b0 │ │ │ │ │ + mov r8, r5 │ │ │ │ │ + mov.w ip, r3, lsl #3 │ │ │ │ │ + str r4, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d15, [pc, #892] @ 3b8 │ │ │ │ │ + str r1, [sp, #72] @ 0x48 │ │ │ │ │ + mov.w r1, r3, lsl #5 │ │ │ │ │ + add.w r0, r5, ip │ │ │ │ │ + ldr r3, [sp, #192] @ 0xc0 │ │ │ │ │ + add.w lr, r0, ip │ │ │ │ │ + vldr d14, [pc, #880] @ 3c0 │ │ │ │ │ + vldr d11, [pc, #884] @ 3c8 │ │ │ │ │ + mov.w r6, r3, lsl #3 │ │ │ │ │ + rsb r3, r6, #0 │ │ │ │ │ + str r3, [sp, #76] @ 0x4c │ │ │ │ │ + ldr r3, [sp, #184] @ 0xb8 │ │ │ │ │ + add.w r3, r3, r3, lsl #1 │ │ │ │ │ + add.w r3, r2, r3, lsl #5 │ │ │ │ │ + add.w r2, r4, ip │ │ │ │ │ + mov r4, r6 │ │ │ │ │ + add ip, r2 │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + add.w fp, ip, r1 │ │ │ │ │ + add.w sl, lr, r1 │ │ │ │ │ + add.w r9, r2, r1 │ │ │ │ │ + mov r6, r8 │ │ │ │ │ + vldr d3, [r3, #-88] @ 0xffffffa8 │ │ │ │ │ + add.w r8, r0, r1 │ │ │ │ │ + add.w r3, r3, #96 @ 0x60 │ │ │ │ │ + vldr d7, [r3, #-192] @ 0xffffff40 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ vmul.f64 d5, d4, d3 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ - add.w ip, r4, r9 │ │ │ │ │ + vldr d1, [r3, #-104] @ 0xffffff98 │ │ │ │ │ + vldr d2, [fp] │ │ │ │ │ + ldr r5, [sp, #48] @ 0x30 │ │ │ │ │ vmla.f64 d5, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ - vldr d3, [r2, #-112] @ 0xffffff90 │ │ │ │ │ + vldr d3, [r3, #-112] @ 0xffffff90 │ │ │ │ │ + vldr d13, [r6] │ │ │ │ │ vnmls.f64 d6, d4, d7 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ + vldr d7, [sl] │ │ │ │ │ vmul.f64 d4, d2, d1 │ │ │ │ │ + vldr d10, [r5] │ │ │ │ │ + ldr r5, [sp, #72] @ 0x48 │ │ │ │ │ vmla.f64 d4, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [r2, #-120] @ 0xffffff88 │ │ │ │ │ + add.w r7, r0, r5 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ - vadd.f64 d3, d5, d4 │ │ │ │ │ - vsub.f64 d9, d4, d5 │ │ │ │ │ - vldr d5, [lr] │ │ │ │ │ - add lr, r8 │ │ │ │ │ - vstr d3, [sp, #16] │ │ │ │ │ - vadd.f64 d2, d6, d7 │ │ │ │ │ - vldr d3, [r2, #-168] @ 0xffffff58 │ │ │ │ │ - vsub.f64 d10, d6, d7 │ │ │ │ │ - vldr d7, [r2, #-176] @ 0xffffff50 │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ - add ip, r8 │ │ │ │ │ - vmul.f64 d4, d5, d3 │ │ │ │ │ - vstr d2, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d2, [lr] │ │ │ │ │ - add lr, sl │ │ │ │ │ - vmla.f64 d4, d6, d7 │ │ │ │ │ - vmul.f64 d6, d6, d3 │ │ │ │ │ - vldr d3, [r2, #-128] @ 0xffffff80 │ │ │ │ │ - vstr d10, [sp, #32] │ │ │ │ │ + str r7, [sp, #56] @ 0x38 │ │ │ │ │ + vadd.f64 d12, d5, d4 │ │ │ │ │ + vsub.f64 d1, d4, d5 │ │ │ │ │ + vldr d4, [r3, #-168] @ 0xffffff58 │ │ │ │ │ + vldr d5, [ip] │ │ │ │ │ + vadd.f64 d3, d6, d7 │ │ │ │ │ + vsub.f64 d2, d6, d7 │ │ │ │ │ + vldr d7, [r3, #-176] @ 0xffffff50 │ │ │ │ │ + vldr d6, [lr] │ │ │ │ │ + vstr d3, [sp] │ │ │ │ │ + vmul.f64 d3, d5, d4 │ │ │ │ │ + vstr d2, [sp, #24] │ │ │ │ │ + vldr d2, [r9] │ │ │ │ │ + vstr d1, [sp, #32] │ │ │ │ │ + vldr d1, [r3, #-120] @ 0xffffff88 │ │ │ │ │ + vmla.f64 d3, d6, d7 │ │ │ │ │ + vmul.f64 d6, d6, d4 │ │ │ │ │ + vldr d4, [r3, #-128] @ 0xffffff80 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ + vldr d7, [r8] │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ - add ip, sl │ │ │ │ │ - vmla.f64 d5, d7, d3 │ │ │ │ │ + vmla.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vnmls.f64 d7, d2, d3 │ │ │ │ │ - vldr d3, [r2, #-152] @ 0xffffff68 │ │ │ │ │ - vadd.f64 d13, d4, d5 │ │ │ │ │ - vadd.f64 d12, d6, d7 │ │ │ │ │ - vsub.f64 d7, d6, d7 │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ - add ip, r6 │ │ │ │ │ - vmov.f64 d10, d7 │ │ │ │ │ - vsub.f64 d7, d4, d5 │ │ │ │ │ - vldr d4, [lr] │ │ │ │ │ - add lr, r6 │ │ │ │ │ - vstr d12, [sp, #24] │ │ │ │ │ - vstr d7, [sp, #64] @ 0x40 │ │ │ │ │ - vmul.f64 d5, d4, d3 │ │ │ │ │ - vldr d7, [r2, #-160] @ 0xffffff60 │ │ │ │ │ - vldr d2, [lr] │ │ │ │ │ - vmla.f64 d5, d6, d7 │ │ │ │ │ - vmul.f64 d6, d6, d3 │ │ │ │ │ - vldr d3, [r2, #-144] @ 0xffffff70 │ │ │ │ │ - vnmls.f64 d6, d4, d7 │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ - vldr d1, [r2, #-136] @ 0xffffff78 │ │ │ │ │ - sub.w ip, ip, r8 │ │ │ │ │ - vstr d10, [sp, #40] @ 0x28 │ │ │ │ │ - vmul.f64 d4, d2, d1 │ │ │ │ │ - vmla.f64 d4, d7, d3 │ │ │ │ │ - vmul.f64 d7, d7, d1 │ │ │ │ │ - vnmls.f64 d7, d2, d3 │ │ │ │ │ - vadd.f64 d2, d5, d4 │ │ │ │ │ - vsub.f64 d4, d4, d5 │ │ │ │ │ - vldr d5, [sp, #16] │ │ │ │ │ - vadd.f64 d3, d6, d7 │ │ │ │ │ - vsub.f64 d1, d6, d7 │ │ │ │ │ - vldr d7, [sp] │ │ │ │ │ - vldr d6, [pc, #500] @ 398 │ │ │ │ │ - vadd.f64 d7, d7, d5 │ │ │ │ │ - vmov.f64 d12, d1 │ │ │ │ │ - vmov.f64 d1, d6 │ │ │ │ │ - vadd.f64 d7, d7, d13 │ │ │ │ │ - vstr d12, [sp, #48] @ 0x30 │ │ │ │ │ - vadd.f64 d7, d7, d2 │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ - vmul.f64 d7, d10, d0 │ │ │ │ │ - vldr d10, [sp, #32] │ │ │ │ │ - vmla.f64 d7, d10, d6 │ │ │ │ │ - vldr d6, [sp] │ │ │ │ │ - vmla.f64 d6, d5, d15 │ │ │ │ │ - vldr d10, [sp, #64] @ 0x40 │ │ │ │ │ - vmla.f64 d7, d12, d8 │ │ │ │ │ - vldr d12, [sp, #56] @ 0x38 │ │ │ │ │ - vmov.f64 d5, d6 │ │ │ │ │ - vmul.f64 d6, d13, d11 │ │ │ │ │ - vmla.f64 d6, d2, d14 │ │ │ │ │ + vnmls.f64 d7, d2, d4 │ │ │ │ │ + vldr d2, [r3, #-152] @ 0xffffff68 │ │ │ │ │ + vadd.f64 d8, d3, d5 │ │ │ │ │ + vsub.f64 d0, d6, d7 │ │ │ │ │ + vadd.f64 d4, d6, d7 │ │ │ │ │ + vsub.f64 d7, d3, d5 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + add.w r7, r2, r5 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + vstr d7, [sp, #8] │ │ │ │ │ + vldr d7, [r3, #-160] @ 0xffffff60 │ │ │ │ │ + vmul.f64 d3, d6, d2 │ │ │ │ │ + str r7, [sp, #52] @ 0x34 │ │ │ │ │ + add.w r7, r6, r1 │ │ │ │ │ + vstr d4, [sp, #64] @ 0x40 │ │ │ │ │ + str r7, [sp, #60] @ 0x3c │ │ │ │ │ + vmla.f64 d3, d5, d7 │ │ │ │ │ + vmul.f64 d5, d5, d2 │ │ │ │ │ + vnmls.f64 d5, d6, d7 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + ldr r5, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d4, [r3, #-144] @ 0xffffff70 │ │ │ │ │ + vldr d1, [r3, #-136] @ 0xffffff78 │ │ │ │ │ + add.w r7, r5, r1 │ │ │ │ │ + vldr d2, [r7] │ │ │ │ │ + vmul.f64 d7, d2, d1 │ │ │ │ │ + vmla.f64 d7, d6, d4 │ │ │ │ │ + vmul.f64 d6, d6, d1 │ │ │ │ │ + vnmls.f64 d6, d2, d4 │ │ │ │ │ + vadd.f64 d4, d3, d7 │ │ │ │ │ + vsub.f64 d7, d7, d3 │ │ │ │ │ + vldr d3, [sp, #24] │ │ │ │ │ + vadd.f64 d2, d5, d6 │ │ │ │ │ vsub.f64 d6, d5, d6 │ │ │ │ │ - vsub.f64 d5, d6, d7 │ │ │ │ │ - vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #24] │ │ │ │ │ - vstr d5, [r1] │ │ │ │ │ - vstr d7, [ip] │ │ │ │ │ - vadd.f64 d7, d12, d6 │ │ │ │ │ - vldr d6, [sp, #8] │ │ │ │ │ - vadd.f64 d7, d7, d3 │ │ │ │ │ - vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #24] │ │ │ │ │ - vmul.f64 d6, d6, d11 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - vmul.f64 d7, d4, d8 │ │ │ │ │ - vmla.f64 d7, d9, d1 │ │ │ │ │ - vldr d1, [sp, #8] │ │ │ │ │ - vmla.f64 d1, d12, d15 │ │ │ │ │ - vmla.f64 d6, d3, d14 │ │ │ │ │ - add r3, r5 │ │ │ │ │ - vmls.f64 d7, d10, d0 │ │ │ │ │ - vsub.f64 d6, d1, d6 │ │ │ │ │ + vldr d5, [pc, #540] @ 3d0 │ │ │ │ │ + vstr d7, [sp, #16] │ │ │ │ │ + vldr d7, [pc, #540] @ 3d8 │ │ │ │ │ + vmov.f64 d1, d6 │ │ │ │ │ + vadd.f64 d6, d13, d12 │ │ │ │ │ + vstr d1, [sp, #40] @ 0x28 │ │ │ │ │ + vadd.f64 d6, d6, d8 │ │ │ │ │ + vadd.f64 d6, d6, d4 │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ + vmul.f64 d6, d0, d9 │ │ │ │ │ + vmla.f64 d6, d3, d5 │ │ │ │ │ + vmov.f64 d5, d13 │ │ │ │ │ + vmla.f64 d5, d12, d15 │ │ │ │ │ + vmla.f64 d6, d1, d7 │ │ │ │ │ + vldr d1, [sp, #32] │ │ │ │ │ + vldr d7, [sp, #64] @ 0x40 │ │ │ │ │ + vmov.f64 d3, d5 │ │ │ │ │ + vmul.f64 d5, d8, d11 │ │ │ │ │ + vmla.f64 d5, d4, d14 │ │ │ │ │ + vsub.f64 d5, d3, d5 │ │ │ │ │ + vsub.f64 d3, d5, d6 │ │ │ │ │ + vadd.f64 d6, d6, d5 │ │ │ │ │ + vldr d5, [pc, #460] @ 3d8 │ │ │ │ │ + vstr d3, [r5] │ │ │ │ │ + mov r5, r6 │ │ │ │ │ + vldr d3, [sp] │ │ │ │ │ + add r5, r4 │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ + add r0, r4 │ │ │ │ │ + vadd.f64 d6, d3, d7 │ │ │ │ │ + vadd.f64 d6, d6, d2 │ │ │ │ │ + vadd.f64 d6, d6, d10 │ │ │ │ │ + vstr d6, [fp] │ │ │ │ │ + vldr d6, [sp, #16] │ │ │ │ │ + vmul.f64 d6, d6, d5 │ │ │ │ │ + vldr d5, [pc, #404] @ 3d0 │ │ │ │ │ + vmla.f64 d6, d1, d5 │ │ │ │ │ + vmov.f64 d5, d10 │ │ │ │ │ vldr d1, [sp, #8] │ │ │ │ │ - vmla.f64 d1, d3, d15 │ │ │ │ │ - vsub.f64 d5, d7, d6 │ │ │ │ │ - vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [pc, #324] @ 398 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ - add r4, r5 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - vmul.f64 d7, d10, d8 │ │ │ │ │ - vmla.f64 d7, d9, d0 │ │ │ │ │ - vmov.f64 d5, d1 │ │ │ │ │ - vmov.f64 d1, d12 │ │ │ │ │ - add r3, r5 │ │ │ │ │ - vmls.f64 d7, d4, d6 │ │ │ │ │ - vmul.f64 d6, d12, d11 │ │ │ │ │ - vldr d12, [sp, #24] │ │ │ │ │ - vmla.f64 d6, d12, d14 │ │ │ │ │ - vsub.f64 d6, d5, d6 │ │ │ │ │ - vsub.f64 d5, d7, d6 │ │ │ │ │ - vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [pc, #264] @ 398 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ - vmul.f64 d5, d1, d14 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - vmul.f64 d7, d10, d6 │ │ │ │ │ - vmov.f64 d6, d12 │ │ │ │ │ - vldr d12, [sp, #8] │ │ │ │ │ - vmla.f64 d5, d3, d11 │ │ │ │ │ - vmla.f64 d7, d9, d8 │ │ │ │ │ - vldr d1, [sp, #48] @ 0x30 │ │ │ │ │ - add r4, r5 │ │ │ │ │ + vmla.f64 d5, d3, d15 │ │ │ │ │ + vmls.f64 d6, d1, d9 │ │ │ │ │ + vmov.f64 d3, d5 │ │ │ │ │ + vmul.f64 d5, d7, d11 │ │ │ │ │ + vmla.f64 d5, d2, d14 │ │ │ │ │ + vsub.f64 d5, d3, d5 │ │ │ │ │ + vsub.f64 d3, d6, d5 │ │ │ │ │ + vadd.f64 d6, d6, d5 │ │ │ │ │ + vldr d5, [pc, #364] @ 3d8 │ │ │ │ │ + vstr d3, [sl] │ │ │ │ │ + vstr d6, [r9] │ │ │ │ │ + vmul.f64 d6, d1, d5 │ │ │ │ │ vldr d3, [sp, #16] │ │ │ │ │ - add r3, r5 │ │ │ │ │ - vmla.f64 d12, d6, d15 │ │ │ │ │ - vldr d10, [sp, #32] │ │ │ │ │ - vmla.f64 d7, d4, d0 │ │ │ │ │ - vldr d9, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d4, [pc, #200] @ 398 │ │ │ │ │ - vsub.f64 d6, d12, d5 │ │ │ │ │ - vmov.f64 d12, d13 │ │ │ │ │ - vsub.f64 d5, d7, d6 │ │ │ │ │ - vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp] │ │ │ │ │ - vmla.f64 d6, d13, d15 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ - add r4, r5 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - vmul.f64 d7, d1, d0 │ │ │ │ │ - vmla.f64 d7, d10, d8 │ │ │ │ │ - add r3, r5 │ │ │ │ │ - vmul.f64 d1, d1, d4 │ │ │ │ │ - vmov.f64 d5, d6 │ │ │ │ │ - vmul.f64 d6, d3, d14 │ │ │ │ │ - vmla.f64 d6, d2, d11 │ │ │ │ │ - vmls.f64 d7, d9, d4 │ │ │ │ │ - vnmls.f64 d1, d10, d0 │ │ │ │ │ - vmls.f64 d1, d9, d8 │ │ │ │ │ + vldr d1, [sp, #32] │ │ │ │ │ + vldr d5, [pc, #332] @ 3d0 │ │ │ │ │ + vmla.f64 d6, d1, d9 │ │ │ │ │ + vmls.f64 d6, d3, d5 │ │ │ │ │ + vmov.f64 d5, d10 │ │ │ │ │ + vmla.f64 d10, d7, d15 │ │ │ │ │ + vmla.f64 d5, d2, d15 │ │ │ │ │ + vmov.f64 d3, d5 │ │ │ │ │ + vldr d5, [sp] │ │ │ │ │ + vmul.f64 d5, d5, d11 │ │ │ │ │ + vmla.f64 d5, d7, d14 │ │ │ │ │ + vsub.f64 d5, d3, d5 │ │ │ │ │ + vsub.f64 d3, d6, d5 │ │ │ │ │ + vadd.f64 d6, d6, d5 │ │ │ │ │ + vldr d5, [pc, #288] @ 3d8 │ │ │ │ │ + vstr d3, [r8] │ │ │ │ │ + mov r8, r5 │ │ │ │ │ + vldr d3, [pc, #272] @ 3d0 │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ + vldr d6, [sp, #8] │ │ │ │ │ + ldr r7, [sp, #60] @ 0x3c │ │ │ │ │ + vmul.f64 d6, d6, d3 │ │ │ │ │ + vmla.f64 d6, d1, d5 │ │ │ │ │ + vldr d5, [sp, #16] │ │ │ │ │ + vldr d1, [sp, #40] @ 0x28 │ │ │ │ │ + vmla.f64 d6, d5, d9 │ │ │ │ │ + vldr d5, [sp] │ │ │ │ │ + vmul.f64 d5, d5, d14 │ │ │ │ │ + vmla.f64 d5, d2, d11 │ │ │ │ │ + vsub.f64 d7, d10, d5 │ │ │ │ │ + vsub.f64 d5, d6, d7 │ │ │ │ │ + vadd.f64 d6, d6, d7 │ │ │ │ │ + vmul.f64 d7, d1, d9 │ │ │ │ │ + vstr d5, [r7] │ │ │ │ │ + vmov.f64 d5, d13 │ │ │ │ │ + vmla.f64 d13, d4, d15 │ │ │ │ │ + ldr r7, [sp, #52] @ 0x34 │ │ │ │ │ + vmla.f64 d5, d8, d15 │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ + vldr d2, [sp, #24] │ │ │ │ │ + vldr d6, [pc, #192] @ 3d8 │ │ │ │ │ + ldr r5, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r7, [sp, #56] @ 0x38 │ │ │ │ │ + vmla.f64 d7, d2, d6 │ │ │ │ │ + vmul.f64 d6, d12, d14 │ │ │ │ │ + vmla.f64 d6, d4, d11 │ │ │ │ │ + vmls.f64 d7, d0, d3 │ │ │ │ │ vsub.f64 d6, d5, d6 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - add r3, r5 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ - vmul.f64 d7, d3, d11 │ │ │ │ │ - vldr d13, [sp] │ │ │ │ │ - vmla.f64 d7, d12, d14 │ │ │ │ │ - vmla.f64 d13, d2, d15 │ │ │ │ │ - add r4, r5 │ │ │ │ │ - vsub.f64 d13, d13, d7 │ │ │ │ │ - vsub.f64 d7, d13, d1 │ │ │ │ │ - vadd.f64 d1, d1, d13 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ - vstr d1, [r4] │ │ │ │ │ - add r0, r3 │ │ │ │ │ - ldr r3, [sp, #76] @ 0x4c │ │ │ │ │ - add r1, r3 │ │ │ │ │ - ldr r3, [sp, #188] @ 0xbc │ │ │ │ │ - cmp r3, r7 │ │ │ │ │ - bne.w 5a │ │ │ │ │ + vldr d6, [pc, #156] @ 3d8 │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ + sub.w ip, ip, r4 │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ + vmul.f64 d7, d1, d3 │ │ │ │ │ + ldr r7, [sp, #184] @ 0xb8 │ │ │ │ │ + vnmls.f64 d7, d2, d9 │ │ │ │ │ + add.w r7, r7, #1 │ │ │ │ │ + str r7, [sp, #184] @ 0xb8 │ │ │ │ │ + ldr r7, [sp, #76] @ 0x4c │ │ │ │ │ + vmls.f64 d7, d0, d6 │ │ │ │ │ + vmul.f64 d6, d12, d11 │ │ │ │ │ + add r5, r7 │ │ │ │ │ + ldr r7, [sp, #188] @ 0xbc │ │ │ │ │ + vmla.f64 d6, d8, d14 │ │ │ │ │ + str r5, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r5, [sp, #184] @ 0xb8 │ │ │ │ │ + cmp r7, r5 │ │ │ │ │ + vsub.f64 d13, d13, d6 │ │ │ │ │ + vsub.f64 d6, d13, d7 │ │ │ │ │ + vadd.f64 d7, d7, d13 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + sub.w r2, r2, r4 │ │ │ │ │ + vstr d7, [lr] │ │ │ │ │ + add lr, r4 │ │ │ │ │ + bne.w 70 │ │ │ │ │ add sp, #84 @ 0x54 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop.w │ │ │ │ │ .word 0x0558e969 │ │ │ │ │ .word 0x3fef329c │ │ │ │ │ - .word 0x4d71abc1 │ │ │ │ │ - .word 0x3fdbc4c0 │ │ │ │ │ .word 0xe28bedd1 │ │ │ │ │ .word 0x3fe3f3a0 │ │ │ │ │ .word 0xa9cb5c71 │ │ │ │ │ .word 0x3fecd4bc │ │ │ │ │ .word 0xe3024582 │ │ │ │ │ .word 0x3fcc7b90 │ │ │ │ │ .word 0x7505de4b │ │ │ │ │ .word 0x3fe904c3 │ │ │ │ │ + .word 0x4d71abc1 │ │ │ │ │ + .word 0x3fdbc4c0 │ │ │ │ │ │ │ │ │ │ -000003a0 : │ │ │ │ │ +000003e0 : │ │ │ │ │ fftw_codelet_hf_7(): │ │ │ │ │ - ldr r2, [pc, #8] @ (3ac ) │ │ │ │ │ - ldr r1, [pc, #12] @ (3b0 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (3ec ) │ │ │ │ │ + ldr r1, [pc, #12] @ (3f0 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2hc_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── hf_8.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1480 (bytes into file) │ │ │ │ │ + Start of section headers: 1544 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x5c8: │ │ │ │ │ +There are 14 section headers, starting at offset 0x608: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00031c 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000520 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000350 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000350 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000350 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000355 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 00035d 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000538 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 00038d 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00038d 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 0003c0 000110 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 0004d0 00004e 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000550 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00035c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000560 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000390 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000390 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000390 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000395 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 00039d 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000578 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 0003cd 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0003cd 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000400 000110 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000510 00004e 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000590 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,20 +1,20 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 17 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 776 FUNC LOCAL DEFAULT 1 hf_8 │ │ │ │ │ + 1: 00000001 840 FUNC LOCAL DEFAULT 1 hf_8 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000300 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000308 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000314 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000340 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000348 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000354 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 14: 00000309 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_8 │ │ │ │ │ + 14: 00000349 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_8 │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2hc_register │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x520 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x560 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000314 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000318 00000103 R_ARM_REL32 00000001 hf_8 │ │ │ │ │ -00000310 00000f1e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ +00000354 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000358 00000103 R_ARM_REL32 00000001 hf_8 │ │ │ │ │ +00000350 00000f1e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x538 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x578 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001002 R_ARM_ABS32 00000000 fftw_rdft_hf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,82 +1,85 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hf_8(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #76 @ 0x4c │ │ │ │ │ ldrd r9, r4, [sp, #176] @ 0xb0 │ │ │ │ │ cmp r9, r4 │ │ │ │ │ - bge.w 2f2 │ │ │ │ │ - movs r4, #24 │ │ │ │ │ - lsls r7, r3, #5 │ │ │ │ │ - lsls r6, r3, #3 │ │ │ │ │ - lsls r5, r3, #4 │ │ │ │ │ - rsb sl, r6, #0 │ │ │ │ │ - vldr d9, [pc, #732] @ 300 │ │ │ │ │ - mul.w r4, r4, r3 │ │ │ │ │ - str r5, [sp, #40] @ 0x28 │ │ │ │ │ - str r4, [sp, #36] @ 0x24 │ │ │ │ │ - movs r4, #48 @ 0x30 │ │ │ │ │ - str r6, [sp, #48] @ 0x30 │ │ │ │ │ + bge.w 31e │ │ │ │ │ + add.w r4, r3, r3, lsl #1 │ │ │ │ │ + vldr d9, [pc, #788] @ 340 │ │ │ │ │ + mov.w r6, r3, lsl #3 │ │ │ │ │ str r1, [sp, #32] │ │ │ │ │ - mul.w r4, r4, r3 │ │ │ │ │ - str r4, [sp, #44] @ 0x2c │ │ │ │ │ + mov.w r5, r4, lsl #3 │ │ │ │ │ + mov.w r4, r4, lsl #4 │ │ │ │ │ + rsb sl, r6, #0 │ │ │ │ │ + mov.w r7, r3, lsl #5 │ │ │ │ │ + str r6, [sp, #40] @ 0x28 │ │ │ │ │ + strd r5, r4, [sp, #52] @ 0x34 │ │ │ │ │ + mov.w r5, r3, lsl #4 │ │ │ │ │ ldr r4, [sp, #184] @ 0xb8 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ - str r4, [sp, #52] @ 0x34 │ │ │ │ │ - negs r4, r4 │ │ │ │ │ - str r4, [sp, #56] @ 0x38 │ │ │ │ │ - movs r4, #112 @ 0x70 │ │ │ │ │ - mla r2, r4, r9, r2 │ │ │ │ │ - negs r4, r7 │ │ │ │ │ - str r4, [sp, #64] @ 0x40 │ │ │ │ │ - mvn.w r4, #39 @ 0x27 │ │ │ │ │ - mul.w r3, r3, r4 │ │ │ │ │ + add.w r3, r3, r3, lsl #2 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + str r5, [sp, #36] @ 0x24 │ │ │ │ │ + rsb r3, r3, #0 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + str r4, [sp, #44] @ 0x2c │ │ │ │ │ + rsb r4, r4, #0 │ │ │ │ │ + str r3, [sp, #64] @ 0x40 │ │ │ │ │ + rsb r3, r5, #0 │ │ │ │ │ + str r4, [sp, #48] @ 0x30 │ │ │ │ │ + rsb r4, r9, r9, lsl #3 │ │ │ │ │ str r3, [sp, #60] @ 0x3c │ │ │ │ │ - negs r3, r5 │ │ │ │ │ - str r3, [sp, #68] @ 0x44 │ │ │ │ │ + add.w r2, r2, r4, lsl #4 │ │ │ │ │ + rsb r4, r7, #0 │ │ │ │ │ + str r4, [sp, #68] @ 0x44 │ │ │ │ │ ldr r1, [sp, #32] │ │ │ │ │ - adds r3, r0, r7 │ │ │ │ │ - vldr d1, [r2, #-56] @ 0xffffffc8 │ │ │ │ │ + add.w r3, r0, r7 │ │ │ │ │ add.w r9, r9, #1 │ │ │ │ │ - add.w r8, r1, r7 │ │ │ │ │ - vldr d4, [r2, #-64] @ 0xffffffc0 │ │ │ │ │ + add.w r2, r2, #112 @ 0x70 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - adds r2, #112 @ 0x70 │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ + vldr d1, [r2, #-168] @ 0xffffff58 │ │ │ │ │ + add.w r8, r1, r7 │ │ │ │ │ + vldr d4, [r2, #-176] @ 0xffffff50 │ │ │ │ │ vldr d2, [r8] │ │ │ │ │ - ldr r4, [sp, #36] @ 0x24 │ │ │ │ │ - vldr d14, [r0] │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ + ldr r4, [sp, #52] @ 0x34 │ │ │ │ │ vmul.f64 d6, d2, d1 │ │ │ │ │ - adds r5, r3, r4 │ │ │ │ │ + vldr d14, [r0] │ │ │ │ │ + vldr d0, [r2, #-184] @ 0xffffff48 │ │ │ │ │ + add.w r5, r3, r4 │ │ │ │ │ + add r4, r8 │ │ │ │ │ + ldr r6, [sp, #68] @ 0x44 │ │ │ │ │ vmla.f64 d6, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - add r4, r8 │ │ │ │ │ - ldr r6, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d0, [r2, #-184] @ 0xffffff48 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ vldr d8, [r2, #-136] @ 0xffffff78 │ │ │ │ │ vnmls.f64 d7, d2, d4 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - ldr r1, [sp, #60] @ 0x3c │ │ │ │ │ + ldr r1, [sp, #64] @ 0x40 │ │ │ │ │ vadd.f64 d11, d14, d6 │ │ │ │ │ vsub.f64 d14, d14, d6 │ │ │ │ │ vldr d6, [r5] │ │ │ │ │ add r5, r6 │ │ │ │ │ - adds r6, r4, r6 │ │ │ │ │ + add r6, r4 │ │ │ │ │ add.w lr, r5, sl │ │ │ │ │ + vldr d1, [r6] │ │ │ │ │ + add r6, sl │ │ │ │ │ vsub.f64 d4, d3, d7 │ │ │ │ │ vadd.f64 d3, d3, d7 │ │ │ │ │ vldr d7, [r2, #-128] @ 0xffffff80 │ │ │ │ │ - vldr d1, [r6] │ │ │ │ │ - add r6, sl │ │ │ │ │ vstr d4, [sp] │ │ │ │ │ vldr d4, [r2, #-120] @ 0xffffff88 │ │ │ │ │ vmul.f64 d2, d5, d4 │ │ │ │ │ vmla.f64 d2, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d4 │ │ │ │ │ vldr d4, [r2, #-192] @ 0xffffff40 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ @@ -93,18 +96,18 @@ │ │ │ │ │ add.w fp, lr, r1 │ │ │ │ │ vadd.f64 d13, d6, d7 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ vldr d6, [r6] │ │ │ │ │ add r6, r7 │ │ │ │ │ vstr d0, [sp, #8] │ │ │ │ │ add.w ip, r6, r1 │ │ │ │ │ + vldr d0, [r6] │ │ │ │ │ vstr d7, [sp, #16] │ │ │ │ │ vmul.f64 d2, d6, d1 │ │ │ │ │ vldr d7, [r2, #-208] @ 0xffffff30 │ │ │ │ │ - vldr d0, [r6] │ │ │ │ │ vmla.f64 d2, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ vldr d1, [r2, #-144] @ 0xffffff70 │ │ │ │ │ vnmls.f64 d5, d6, d7 │ │ │ │ │ vldr d7, [lr] │ │ │ │ │ vmul.f64 d6, d0, d8 │ │ │ │ │ vmla.f64 d6, d7, d1 │ │ │ │ │ @@ -118,43 +121,43 @@ │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ vstr d6, [sp, #24] │ │ │ │ │ vldr d6, [fp] │ │ │ │ │ add fp, r7 │ │ │ │ │ vldr d2, [r2, #-224] @ 0xffffff20 │ │ │ │ │ vldr d0, [r2, #-216] @ 0xffffff28 │ │ │ │ │ vldr d10, [r2, #-152] @ 0xffffff68 │ │ │ │ │ - ldr r1, [sp, #68] @ 0x44 │ │ │ │ │ + ldr r1, [sp, #60] @ 0x3c │ │ │ │ │ vmul.f64 d7, d1, d0 │ │ │ │ │ vmla.f64 d7, d6, d2 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ vldr d0, [ip] │ │ │ │ │ vnmls.f64 d6, d1, d2 │ │ │ │ │ vldr d1, [r2, #-160] @ 0xffffff60 │ │ │ │ │ - vldr d2, [fp] │ │ │ │ │ vmul.f64 d8, d0, d10 │ │ │ │ │ + vldr d2, [fp] │ │ │ │ │ add.w fp, ip, r1 │ │ │ │ │ vmla.f64 d8, d2, d1 │ │ │ │ │ vmul.f64 d2, d2, d10 │ │ │ │ │ vnmls.f64 d2, d0, d1 │ │ │ │ │ vadd.f64 d0, d7, d8 │ │ │ │ │ vsub.f64 d7, d7, d8 │ │ │ │ │ vadd.f64 d1, d6, d2 │ │ │ │ │ - vadd.f64 d8, d4, d0 │ │ │ │ │ vsub.f64 d6, d6, d2 │ │ │ │ │ + vadd.f64 d8, d4, d0 │ │ │ │ │ vadd.f64 d2, d11, d12 │ │ │ │ │ vsub.f64 d4, d4, d0 │ │ │ │ │ vsub.f64 d10, d2, d8 │ │ │ │ │ vadd.f64 d2, d2, d8 │ │ │ │ │ vldr d8, [sp, #24] │ │ │ │ │ vstr d10, [fp] │ │ │ │ │ vsub.f64 d10, d7, d6 │ │ │ │ │ + vadd.f64 d7, d7, d6 │ │ │ │ │ vstr d2, [r0] │ │ │ │ │ vsub.f64 d2, d3, d5 │ │ │ │ │ vadd.f64 d3, d3, d5 │ │ │ │ │ - vadd.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [sp, #16] │ │ │ │ │ vsub.f64 d0, d4, d2 │ │ │ │ │ vadd.f64 d4, d4, d2 │ │ │ │ │ vsub.f64 d2, d14, d15 │ │ │ │ │ vstr d0, [lr] │ │ │ │ │ vstr d4, [ip] │ │ │ │ │ vldr d4, [sp] │ │ │ │ │ @@ -173,70 +176,76 @@ │ │ │ │ │ vadd.f64 d10, d8, d4 │ │ │ │ │ vsub.f64 d4, d4, d8 │ │ │ │ │ vsub.f64 d6, d0, d6 │ │ │ │ │ vldr d8, [sp, #24] │ │ │ │ │ vstr d10, [r6] │ │ │ │ │ ldr r6, [sp, #32] │ │ │ │ │ vstr d2, [r6] │ │ │ │ │ - ldr r6, [sp, #40] @ 0x28 │ │ │ │ │ + ldr r6, [sp, #36] @ 0x24 │ │ │ │ │ add r5, r6 │ │ │ │ │ vstr d4, [r5] │ │ │ │ │ vadd.f64 d4, d13, d1 │ │ │ │ │ vsub.f64 d13, d13, d1 │ │ │ │ │ - ldr r5, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r5, [sp, #40] @ 0x28 │ │ │ │ │ vsub.f64 d5, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ vadd.f64 d3, d7, d6 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ vsub.f64 d5, d11, d12 │ │ │ │ │ add r3, r1 │ │ │ │ │ - ldr r1, [sp, #44] @ 0x2c │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ + ldr r1, [sp, #56] @ 0x38 │ │ │ │ │ vmul.f64 d3, d3, d9 │ │ │ │ │ - subs r4, r4, r1 │ │ │ │ │ vmul.f64 d7, d7, d9 │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ vsub.f64 d4, d5, d13 │ │ │ │ │ vadd.f64 d5, d5, d13 │ │ │ │ │ + sub.w r4, r4, r1 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ add r3, sl │ │ │ │ │ + vldr d4, [sp] │ │ │ │ │ vstr d5, [r4] │ │ │ │ │ vadd.f64 d5, d14, d15 │ │ │ │ │ - vldr d4, [sp] │ │ │ │ │ add r4, r5 │ │ │ │ │ - vsub.f64 d6, d5, d3 │ │ │ │ │ vadd.f64 d4, d4, d8 │ │ │ │ │ + vsub.f64 d6, d5, d3 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ vstr d6, [r4] │ │ │ │ │ vadd.f64 d6, d4, d7 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ vstr d6, [r8] │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ add r3, r1 │ │ │ │ │ ldr r1, [sp, #32] │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - ldr r3, [sp, #52] @ 0x34 │ │ │ │ │ + ldr r3, [sp, #44] @ 0x2c │ │ │ │ │ add r0, r3 │ │ │ │ │ - ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ add r1, r3 │ │ │ │ │ ldr r3, [sp, #180] @ 0xb4 │ │ │ │ │ str r1, [sp, #32] │ │ │ │ │ cmp r3, r9 │ │ │ │ │ - bne.w 5a │ │ │ │ │ + bne.w 7e │ │ │ │ │ add sp, #76 @ 0x4c │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ nop.w │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ │ │ │ │ │ -00000308 : │ │ │ │ │ +00000348 : │ │ │ │ │ fftw_codelet_hf_8(): │ │ │ │ │ - ldr r2, [pc, #8] @ (314 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (318 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (354 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (358 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2hc_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── hf_9.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2000 (bytes into file) │ │ │ │ │ + Start of section headers: 2052 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x7d0: │ │ │ │ │ +There are 14 section headers, starting at offset 0x804: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0004bc 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000718 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0004f0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0004f0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0004f0 000005 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 0004f5 000008 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0004fd 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000740 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 00052d 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00052d 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000560 000130 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000690 000086 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000758 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0004f0 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 00074c 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000524 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000524 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000524 000005 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000529 000008 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000531 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000774 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000561 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000561 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000594 000130 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0006c4 000086 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 00078c 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 19 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1192 FUNC LOCAL DEFAULT 1 hf_9 │ │ │ │ │ + 1: 00000001 1244 FUNC LOCAL DEFAULT 1 hf_9 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000003f0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000430 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000004b4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000408 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000448 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000004e8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 8 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 16: 000004a9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_9 │ │ │ │ │ + 16: 000004dd 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hf_9 │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2hc_register │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x718 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x74c contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000428 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000042c 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000004b4 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000004b8 00000103 R_ARM_REL32 00000001 hf_9 │ │ │ │ │ -000004b0 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ +00000440 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000444 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +000004e8 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000004ec 00000103 R_ARM_REL32 00000001 hf_9 │ │ │ │ │ +000004e4 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x740 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x774 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001202 R_ARM_ABS32 00000000 fftw_rdft_hf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,182 +1,183 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hf_9(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov fp, r1 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ mov sl, r0 │ │ │ │ │ + mov r0, r3 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + mov fp, r1 │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #140 @ 0x8c │ │ │ │ │ - mov r0, r3 │ │ │ │ │ - ldr.w r3, [pc, #1044] @ 428 │ │ │ │ │ ldrd r1, r4, [sp, #240] @ 0xf0 │ │ │ │ │ - add r3, pc │ │ │ │ │ + ldr.w r3, [pc, #1048] @ 440 │ │ │ │ │ cmp r1, r4 │ │ │ │ │ - bge.w 49e │ │ │ │ │ + add r3, pc │ │ │ │ │ + bge.w 4c0 │ │ │ │ │ ldr r1, [sp, #248] @ 0xf8 │ │ │ │ │ + vmov.f64 d12, #96 @ 0x3f000000 0.5 │ │ │ │ │ mov lr, fp │ │ │ │ │ - vldr d13, [pc, #968] @ 3f0 │ │ │ │ │ mov r8, r0 │ │ │ │ │ - vldr d14, [pc, #972] @ 3f8 │ │ │ │ │ - vmov.f64 d12, #96 @ 0x3f000000 0.5 │ │ │ │ │ - lsls r1, r1, #3 │ │ │ │ │ + vldr d13, [pc, #972] @ 408 │ │ │ │ │ + vldr d14, [pc, #976] @ 410 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ str r1, [sp, #124] @ 0x7c │ │ │ │ │ - negs r1, r1 │ │ │ │ │ + rsb r1, r1, #0 │ │ │ │ │ str r1, [sp, #128] @ 0x80 │ │ │ │ │ - ldr r1, [pc, #1008] @ (42c ) │ │ │ │ │ + ldr r1, [pc, #1012] @ (444 ) │ │ │ │ │ ldr r3, [r3, r1] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ str r3, [sp, #132] @ 0x84 │ │ │ │ │ ldr r3, [sp, #240] @ 0xf0 │ │ │ │ │ add.w r9, r2, r3, lsl #7 │ │ │ │ │ - movs r3, #24 │ │ │ │ │ - vldr d3, [r9, #-88] @ 0xffffffa8 │ │ │ │ │ + add.w r3, r8, r8, lsl #1 │ │ │ │ │ vldr d7, [r9, #-96] @ 0xffffffa0 │ │ │ │ │ mov.w r1, r8, lsl #4 │ │ │ │ │ - vldr d1, [r9, #-40] @ 0xffffffd8 │ │ │ │ │ - add.w ip, sl, r1 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - vldr d0, [lr] │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + vldr d3, [r9, #-88] @ 0xffffffa8 │ │ │ │ │ add.w fp, lr, r3 │ │ │ │ │ - add.w r2, sl, r3 │ │ │ │ │ - add.w r4, fp, r3 │ │ │ │ │ - adds r0, r2, r3 │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ - add.w r7, ip, r3 │ │ │ │ │ + add.w ip, sl, r3 │ │ │ │ │ + vldr d1, [r9, #-40] @ 0xffffffd8 │ │ │ │ │ + add.w r0, fp, r3 │ │ │ │ │ + add.w r2, ip, r3 │ │ │ │ │ vldr d5, [fp] │ │ │ │ │ - adds r5, r7, r3 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - add.w r2, r1, lr │ │ │ │ │ - vldr d2, [r4] │ │ │ │ │ - adds r6, r2, r3 │ │ │ │ │ + strd r2, r0, [sp, #4] │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + vldr d2, [r0] │ │ │ │ │ vmul.f64 d4, d5, d3 │ │ │ │ │ - str r2, [sp, #12] │ │ │ │ │ + vldr d0, [lr] │ │ │ │ │ vmla.f64 d4, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ vldr d3, [r9, #-48] @ 0xffffffd0 │ │ │ │ │ - str r0, [sp, #4] │ │ │ │ │ - str r4, [sp, #8] │ │ │ │ │ + vstr d0, [sp, #24] │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ - str r5, [sp, #16] │ │ │ │ │ - vstr d0, [sp, #24] │ │ │ │ │ + add.w r2, sl, r1 │ │ │ │ │ + add r1, lr │ │ │ │ │ + add.w r7, r2, r3 │ │ │ │ │ + str r2, [sp, #12] │ │ │ │ │ + add.w r4, r7, r3 │ │ │ │ │ + str r4, [sp, #20] │ │ │ │ │ vmla.f64 d5, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vnmls.f64 d7, d2, d3 │ │ │ │ │ vsub.f64 d3, d6, d7 │ │ │ │ │ vadd.f64 d1, d6, d7 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ vmov.f64 d7, d0 │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ + add.w r2, r1, r3 │ │ │ │ │ + add.w r5, r2, r3 │ │ │ │ │ + str r2, [sp, #16] │ │ │ │ │ vmul.f64 d3, d3, d13 │ │ │ │ │ vmls.f64 d7, d1, d12 │ │ │ │ │ - vstr d1, [sp, #64] @ 0x40 │ │ │ │ │ vstr d3, [sp, #32] │ │ │ │ │ vsub.f64 d3, d5, d4 │ │ │ │ │ vadd.f64 d5, d4, d5 │ │ │ │ │ + vstr d1, [sp, #64] @ 0x40 │ │ │ │ │ + str r5, [sp, #120] @ 0x78 │ │ │ │ │ vstr d7, [sp, #72] @ 0x48 │ │ │ │ │ - vmul.f64 d2, d3, d13 │ │ │ │ │ + vldr d7, [r9, #-112] @ 0xffffff90 │ │ │ │ │ vmov.f64 d4, d5 │ │ │ │ │ + vmul.f64 d2, d3, d13 │ │ │ │ │ vldr d5, [sl] │ │ │ │ │ - vldr d7, [r9, #-112] @ 0xffffff90 │ │ │ │ │ - vstr d2, [sp, #40] @ 0x28 │ │ │ │ │ - vmls.f64 d5, d4, d12 │ │ │ │ │ vstr d4, [sp, #48] @ 0x30 │ │ │ │ │ + vmls.f64 d5, d4, d12 │ │ │ │ │ vldr d4, [r9, #-104] @ 0xffffff98 │ │ │ │ │ + vstr d2, [sp, #40] @ 0x28 │ │ │ │ │ vldr d2, [r9, #-56] @ 0xffffffc8 │ │ │ │ │ vstr d5, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - adds r2, r6, r3 │ │ │ │ │ - str r2, [sp, #20] │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ vmul.f64 d8, d5, d4 │ │ │ │ │ vmla.f64 d8, d6, d7 │ │ │ │ │ vmul.f64 d6, d6, d4 │ │ │ │ │ - vldr d4, [r6] │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + mov.w r2, r8, lsl #3 │ │ │ │ │ vnmls.f64 d6, d5, d7 │ │ │ │ │ vldr d5, [r9, #-64] @ 0xffffffc0 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ vmul.f64 d3, d4, d2 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ vmla.f64 d3, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ vnmls.f64 d7, d4, d5 │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ - vldr d1, [r2] │ │ │ │ │ - mov.w r2, r8, lsl #3 │ │ │ │ │ - vldr d0, [r9, #-8] │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + vldr d1, [r5] │ │ │ │ │ add.w r5, sl, r2 │ │ │ │ │ - vldr d2, [r9, #-16] │ │ │ │ │ add r2, lr │ │ │ │ │ - adds r0, r2, r3 │ │ │ │ │ - adds r4, r5, r3 │ │ │ │ │ + add.w r0, r2, r3 │ │ │ │ │ + add.w r4, r5, r3 │ │ │ │ │ + vldr d2, [r9, #-16] │ │ │ │ │ + add.w r6, r4, r3 │ │ │ │ │ + add r3, r0 │ │ │ │ │ + vldr d0, [r9, #-8] │ │ │ │ │ vmul.f64 d5, d1, d0 │ │ │ │ │ - adds r1, r4, r3 │ │ │ │ │ vmla.f64 d5, d4, d2 │ │ │ │ │ vmul.f64 d4, d4, d0 │ │ │ │ │ - add r3, r0 │ │ │ │ │ - str r1, [sp, #120] @ 0x78 │ │ │ │ │ vnmls.f64 d4, d1, d2 │ │ │ │ │ vadd.f64 d2, d3, d5 │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ vadd.f64 d1, d7, d4 │ │ │ │ │ - vadd.f64 d9, d8, d2 │ │ │ │ │ - vmul.f64 d5, d5, d13 │ │ │ │ │ - vmls.f64 d8, d2, d12 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ vldr d4, [r9, #-120] @ 0xffffff88 │ │ │ │ │ + vmul.f64 d5, d5, d13 │ │ │ │ │ + vadd.f64 d9, d8, d2 │ │ │ │ │ + vmls.f64 d8, d2, d12 │ │ │ │ │ vldr d2, [r9, #-24] @ 0xffffffe8 │ │ │ │ │ vadd.f64 d10, d6, d1 │ │ │ │ │ vmls.f64 d6, d1, d12 │ │ │ │ │ - vstr d9, [sp, #80] @ 0x50 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ + vstr d9, [sp, #80] @ 0x50 │ │ │ │ │ vstr d10, [sp, #88] @ 0x58 │ │ │ │ │ vadd.f64 d10, d8, d7 │ │ │ │ │ vadd.f64 d11, d6, d5 │ │ │ │ │ vsub.f64 d15, d6, d5 │ │ │ │ │ vldr d5, [r2] │ │ │ │ │ vldr d6, [r9, #-128] @ 0xffffff80 │ │ │ │ │ add.w r9, r9, #128 @ 0x80 │ │ │ │ │ vstr d11, [sp, #104] @ 0x68 │ │ │ │ │ vsub.f64 d11, d8, d7 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ vmul.f64 d8, d5, d4 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ vmla.f64 d8, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vldr d4, [r9, #-200] @ 0xffffff38 │ │ │ │ │ vmov.f64 d9, d7 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ vnmls.f64 d9, d5, d6 │ │ │ │ │ vldr d5, [r0] │ │ │ │ │ vldr d6, [r9, #-208] @ 0xffffff30 │ │ │ │ │ vmul.f64 d0, d5, d4 │ │ │ │ │ + vstr d9, [sp, #96] @ 0x60 │ │ │ │ │ vmla.f64 d0, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ vldr d4, [r9, #-160] @ 0xffffff60 │ │ │ │ │ vnmls.f64 d7, d5, d6 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ + vldr d5, [r6] │ │ │ │ │ vmul.f64 d6, d3, d2 │ │ │ │ │ - vstr d9, [sp, #96] @ 0x60 │ │ │ │ │ - ldr r1, [sp, #0] │ │ │ │ │ vmla.f64 d6, d5, d4 │ │ │ │ │ vmul.f64 d5, d5, d2 │ │ │ │ │ vnmls.f64 d5, d3, d4 │ │ │ │ │ vadd.f64 d2, d0, d6 │ │ │ │ │ vsub.f64 d6, d6, d0 │ │ │ │ │ - vldr d0, [pc, #452] @ 400 │ │ │ │ │ - vadd.f64 d1, d8, d2 │ │ │ │ │ - vmls.f64 d8, d2, d12 │ │ │ │ │ + vldr d0, [pc, #448] @ 418 │ │ │ │ │ vadd.f64 d4, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vldr d5, [sp, #96] @ 0x60 │ │ │ │ │ - vmls.f64 d5, d4, d12 │ │ │ │ │ + vadd.f64 d1, d8, d2 │ │ │ │ │ + vmls.f64 d8, d2, d12 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ + vmls.f64 d5, d4, d12 │ │ │ │ │ vadd.f64 d9, d9, d4 │ │ │ │ │ vldr d4, [sp, #48] @ 0x30 │ │ │ │ │ vmov.f64 d3, d8 │ │ │ │ │ vsub.f64 d8, d8, d7 │ │ │ │ │ vadd.f64 d2, d3, d7 │ │ │ │ │ vmul.f64 d7, d6, d13 │ │ │ │ │ vsub.f64 d6, d5, d7 │ │ │ │ │ @@ -188,159 +189,165 @@ │ │ │ │ │ vldr d4, [sp, #80] @ 0x50 │ │ │ │ │ vsub.f64 d3, d9, d2 │ │ │ │ │ vadd.f64 d2, d4, d1 │ │ │ │ │ vmov.f64 d4, d7 │ │ │ │ │ vmul.f64 d3, d3, d13 │ │ │ │ │ vmls.f64 d4, d2, d12 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ + vldr d2, [sp, #32] │ │ │ │ │ vstr d7, [sl] │ │ │ │ │ vadd.f64 d7, d3, d4 │ │ │ │ │ vsub.f64 d4, d4, d3 │ │ │ │ │ vldr d3, [sp, #56] @ 0x38 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ - ldr r1, [sp, #12] │ │ │ │ │ + vstr d7, [ip] │ │ │ │ │ + vsub.f64 d2, d3, d2 │ │ │ │ │ + vldr d7, [sp, #40] @ 0x28 │ │ │ │ │ vstr d4, [r1] │ │ │ │ │ - vldr d2, [sp, #32] │ │ │ │ │ vldr d4, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d7, [sp, #40] @ 0x28 │ │ │ │ │ - vsub.f64 d2, d3, d2 │ │ │ │ │ - ldr r1, [sp, #8] │ │ │ │ │ + ldr r1, [sp, #12] │ │ │ │ │ vsub.f64 d3, d4, d7 │ │ │ │ │ - vldr d7, [pc, #304] @ 408 │ │ │ │ │ + vldr d7, [pc, #300] @ 420 │ │ │ │ │ vmul.f64 d4, d6, d7 │ │ │ │ │ - vldr d7, [pc, #304] @ 410 │ │ │ │ │ + vldr d7, [pc, #300] @ 428 │ │ │ │ │ vmla.f64 d4, d8, d14 │ │ │ │ │ vmul.f64 d7, d11, d7 │ │ │ │ │ vnmls.f64 d7, d15, d0 │ │ │ │ │ vadd.f64 d0, d4, d7 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [pc, #272] @ 408 │ │ │ │ │ + vldr d4, [pc, #268] @ 420 │ │ │ │ │ vmul.f64 d8, d8, d4 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ vnmls.f64 d8, d6, d14 │ │ │ │ │ - vldr d6, [pc, #264] @ 410 │ │ │ │ │ + vldr d6, [pc, #260] @ 428 │ │ │ │ │ vmul.f64 d6, d15, d6 │ │ │ │ │ - vldr d15, [pc, #240] @ 400 │ │ │ │ │ + vldr d15, [pc, #236] @ 418 │ │ │ │ │ vmla.f64 d6, d11, d15 │ │ │ │ │ vldr d11, [sp, #80] @ 0x50 │ │ │ │ │ vadd.f64 d4, d8, d6 │ │ │ │ │ vsub.f64 d6, d8, d6 │ │ │ │ │ vadd.f64 d8, d2, d0 │ │ │ │ │ vmls.f64 d2, d0, d12 │ │ │ │ │ vmul.f64 d4, d4, d13 │ │ │ │ │ - vstr d8, [ip] │ │ │ │ │ + vstr d8, [r1] │ │ │ │ │ vadd.f64 d8, d3, d6 │ │ │ │ │ vnmls.f64 d3, d6, d12 │ │ │ │ │ + ldr r1, [sp, #8] │ │ │ │ │ vsub.f64 d0, d2, d4 │ │ │ │ │ vadd.f64 d4, d4, d2 │ │ │ │ │ vstr d8, [r1] │ │ │ │ │ - vldr d8, [sp, #64] @ 0x40 │ │ │ │ │ ldr r1, [sp, #4] │ │ │ │ │ + vldr d8, [sp, #64] @ 0x40 │ │ │ │ │ + vsub.f64 d6, d3, d7 │ │ │ │ │ + vadd.f64 d7, d7, d3 │ │ │ │ │ vstr d0, [lr] │ │ │ │ │ vldr d0, [sp, #24] │ │ │ │ │ - vsub.f64 d6, d3, d7 │ │ │ │ │ vstr d4, [fp] │ │ │ │ │ - vadd.f64 d7, d7, d3 │ │ │ │ │ - vldr d3, [sp, #56] @ 0x38 │ │ │ │ │ - vadd.f64 d4, d0, d8 │ │ │ │ │ - vldr d0, [sp, #88] @ 0x58 │ │ │ │ │ vstr d6, [r7] │ │ │ │ │ - ldr r7, [sp, #16] │ │ │ │ │ - vadd.f64 d9, d0, d9 │ │ │ │ │ - vldr d0, [sp, #104] @ 0x68 │ │ │ │ │ - vmov.f64 d15, d4 │ │ │ │ │ - vldr d8, [sp, #112] @ 0x70 │ │ │ │ │ + ldr r7, [sp, #20] │ │ │ │ │ + vadd.f64 d4, d0, d8 │ │ │ │ │ vldr d6, [sp, #32] │ │ │ │ │ + vldr d0, [sp, #88] @ 0x58 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ vsub.f64 d7, d11, d1 │ │ │ │ │ + vldr d1, [pc, #136] @ 420 │ │ │ │ │ + vmov.f64 d15, d4 │ │ │ │ │ + vldr d8, [sp, #112] @ 0x70 │ │ │ │ │ + vadd.f64 d9, d0, d9 │ │ │ │ │ + vldr d0, [sp, #104] @ 0x68 │ │ │ │ │ + vmul.f64 d7, d7, d13 │ │ │ │ │ vmls.f64 d15, d9, d12 │ │ │ │ │ vadd.f64 d4, d4, d9 │ │ │ │ │ - vldr d1, [pc, #112] @ 408 │ │ │ │ │ - vadd.f64 d6, d6, d3 │ │ │ │ │ - vldr d9, [pc, #120] @ 418 │ │ │ │ │ - vmul.f64 d7, d7, d13 │ │ │ │ │ - vldr d3, [sp, #40] @ 0x28 │ │ │ │ │ - vsub.f64 d2, d7, d15 │ │ │ │ │ - vadd.f64 d7, d7, d15 │ │ │ │ │ - vldr d15, [pc, #108] @ 420 │ │ │ │ │ + vldr d9, [pc, #120] @ 430 │ │ │ │ │ + vmov.f64 d3, d15 │ │ │ │ │ + vldr d15, [pc, #120] @ 438 │ │ │ │ │ + vsub.f64 d2, d7, d3 │ │ │ │ │ + vadd.f64 d7, d7, d3 │ │ │ │ │ + vldr d3, [sp, #56] @ 0x38 │ │ │ │ │ vstr d2, [r1] │ │ │ │ │ vmul.f64 d2, d5, d9 │ │ │ │ │ - ldr r1, [sp, #20] │ │ │ │ │ + vadd.f64 d6, d6, d3 │ │ │ │ │ + vldr d3, [sp, #40] @ 0x28 │ │ │ │ │ + ldr r1, [sp, #120] @ 0x78 │ │ │ │ │ vmla.f64 d2, d8, d15 │ │ │ │ │ vstr d4, [r1] │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ + ldr r1, [sp, #16] │ │ │ │ │ + vldr d4, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ vmul.f64 d7, d0, d1 │ │ │ │ │ + vadd.f64 d4, d3, d4 │ │ │ │ │ vmla.f64 d7, d10, d14 │ │ │ │ │ - vldr d4, [sp, #72] @ 0x48 │ │ │ │ │ vmul.f64 d10, d10, d1 │ │ │ │ │ - ldr r1, [sp, #120] @ 0x78 │ │ │ │ │ - vadd.f64 d4, d3, d4 │ │ │ │ │ vnmls.f64 d10, d0, d14 │ │ │ │ │ - vadd.f64 d3, d2, d7 │ │ │ │ │ - vsub.f64 d7, d7, d2 │ │ │ │ │ - b.n 430 │ │ │ │ │ - nop │ │ │ │ │ + b.n 448 │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3febb67a │ │ │ │ │ .word 0x7e0b738a │ │ │ │ │ .word 0x3fc63a1a │ │ │ │ │ .word 0x748a0bf5 │ │ │ │ │ .word 0x3fd5e3a8 │ │ │ │ │ .word 0x8c811c17 │ │ │ │ │ .word 0x3fef838b │ │ │ │ │ .word 0x42522d1c │ │ │ │ │ .word 0x3fee11f6 │ │ │ │ │ .word 0x523c161d │ │ │ │ │ .word 0x3fe491b7 │ │ │ │ │ .word 0xa2cf5039 │ │ │ │ │ .word 0x3fe8836f │ │ │ │ │ - .word 0x0000040c │ │ │ │ │ + .word 0x00000412 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ + vadd.f64 d3, d2, d7 │ │ │ │ │ + vsub.f64 d7, d7, d2 │ │ │ │ │ vmul.f64 d2, d8, d9 │ │ │ │ │ - vmul.f64 d7, d7, d13 │ │ │ │ │ vnmls.f64 d2, d5, d15 │ │ │ │ │ vadd.f64 d5, d6, d3 │ │ │ │ │ vmls.f64 d6, d3, d12 │ │ │ │ │ + vmul.f64 d7, d7, d13 │ │ │ │ │ vstr d5, [r5] │ │ │ │ │ vsub.f64 d1, d2, d10 │ │ │ │ │ vadd.f64 d2, d2, d10 │ │ │ │ │ vmul.f64 d1, d1, d13 │ │ │ │ │ vsub.f64 d5, d6, d1 │ │ │ │ │ vadd.f64 d1, d1, d6 │ │ │ │ │ vadd.f64 d6, d4, d2 │ │ │ │ │ vmls.f64 d4, d2, d12 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ vstr d1, [r4] │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ + ldr r3, [sp, #240] @ 0xf0 │ │ │ │ │ vsub.f64 d6, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ vstr d7, [r0] │ │ │ │ │ - ldr r3, [sp, #240] @ 0xf0 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ str r3, [sp, #240] @ 0xf0 │ │ │ │ │ ldr r3, [sp, #124] @ 0x7c │ │ │ │ │ + ldr r2, [sp, #240] @ 0xf0 │ │ │ │ │ add sl, r3 │ │ │ │ │ ldr r3, [sp, #128] @ 0x80 │ │ │ │ │ add lr, r3 │ │ │ │ │ ldr r3, [sp, #132] @ 0x84 │ │ │ │ │ eor.w r8, r8, r3 │ │ │ │ │ - ldrd r2, r3, [sp, #240] @ 0xf0 │ │ │ │ │ + ldr r3, [sp, #244] @ 0xf4 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 48 │ │ │ │ │ + bne.w 5c │ │ │ │ │ add sp, #140 @ 0x8c │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -000004a8 : │ │ │ │ │ +000004dc : │ │ │ │ │ fftw_codelet_hf_9(): │ │ │ │ │ - ldr r2, [pc, #8] @ (4b4 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (4b8 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (4e8 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (4ec ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2hc_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cfII_10.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1576 (bytes into file) │ │ │ │ │ + Start of section headers: 1608 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x628: │ │ │ │ │ +There are 13 section headers, starting at offset 0x648: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000354 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000580 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000388 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000388 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000388 00000a 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 000392 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 0005a8 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 0003c2 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0003c2 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 0003f8 000100 10 11 11 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 0004f8 000085 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 0005b8 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000374 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0005a0 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0003a8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0003a8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0003a8 00000a 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0003b2 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 0005c8 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 0003e2 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0003e2 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 000418 000100 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 000518 000085 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 0005d8 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 16 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 832 FUNC LOCAL DEFAULT 1 r2cfII_10 │ │ │ │ │ + 1: 00000001 864 FUNC LOCAL DEFAULT 1 r2cfII_10 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000320 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000340 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 0000034c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000340 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000360 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 0000036c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 13: 00000341 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_10 │ │ │ │ │ + 13: 00000361 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_10 │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cfII_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x580 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x5a0 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000338 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000033c 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -0000034c 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000350 00000103 R_ARM_REL32 00000001 r2cfII_10 │ │ │ │ │ -00000348 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +00000358 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000035c 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +0000036c 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000370 00000103 R_ARM_REL32 00000001 r2cfII_10 │ │ │ │ │ +00000368 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x5a8 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x5c8 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000f02 R_ARM_ABS32 00000000 fftw_rdft_r2cfII_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,247 +1,252 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cfII_10(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - ldr.w ip, [pc, #816] @ 338 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #12 │ │ │ │ │ - add ip, pc │ │ │ │ │ - ldrd r5, sl, [sp, #120] @ 0x78 │ │ │ │ │ + ldr.w r8, [pc, #828] @ 358 │ │ │ │ │ + ldrd r5, lr, [sp, #120] @ 0x78 │ │ │ │ │ ldrd r4, r6, [sp, #112] @ 0x70 │ │ │ │ │ - cmp.w sl, #0 │ │ │ │ │ + add r8, pc │ │ │ │ │ ldr r7, [sp, #128] @ 0x80 │ │ │ │ │ - ble.w 19c │ │ │ │ │ - ldr.w lr, [pc, #792] @ 33c │ │ │ │ │ - mov r8, r3 │ │ │ │ │ - ldr.w r3, [ip, lr] │ │ │ │ │ - ldr.w r9, [r3] │ │ │ │ │ + cmp.w lr, #0 │ │ │ │ │ + ble.w 1b0 │ │ │ │ │ + ldr.w r9, [pc, #808] @ 35c │ │ │ │ │ + mov ip, r3 │ │ │ │ │ + ldr.w r3, [r8, r9] │ │ │ │ │ + ldr.w r8, [r3] │ │ │ │ │ ldr r3, [sp, #132] @ 0x84 │ │ │ │ │ cmp r7, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r3, #1 │ │ │ │ │ - bne.w 1a6 │ │ │ │ │ - mov.w fp, #24 │ │ │ │ │ - vldr d14, [pc, #732] @ 320 │ │ │ │ │ - vldr d1, [pc, #736] @ 328 │ │ │ │ │ + bne.w 1cc │ │ │ │ │ + vldr d14, [pc, #752] @ 340 │ │ │ │ │ vmov.f64 d15, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vldr d2, [pc, #736] @ 330 │ │ │ │ │ - lsls r7, r4, #4 │ │ │ │ │ + vldr d1, [pc, #752] @ 348 │ │ │ │ │ + vldr d2, [pc, #756] @ 350 │ │ │ │ │ + mov.w r7, r4, lsl #4 │ │ │ │ │ + subs.w lr, lr, #1 │ │ │ │ │ vldr d10, [r1] │ │ │ │ │ - adds r3, r0, r7 │ │ │ │ │ - add.w ip, r1, r7 │ │ │ │ │ + add.w r3, r0, r7 │ │ │ │ │ + add.w r9, r1, r7 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - subs.w sl, sl, #1 │ │ │ │ │ vldr d11, [r3] │ │ │ │ │ - mla r3, fp, r4, r0 │ │ │ │ │ - vldr d13, [ip] │ │ │ │ │ - add ip, r7 │ │ │ │ │ + add.w r3, r4, r4, lsl #1 │ │ │ │ │ + add.w r3, r0, r3, lsl #3 │ │ │ │ │ + vldr d13, [r9] │ │ │ │ │ + add r9, r7 │ │ │ │ │ + vldr d6, [r9] │ │ │ │ │ + mov.w r9, r6, lsl #4 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ add.w r3, r0, r4, lsl #5 │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ - mov.w ip, r6, lsl #4 │ │ │ │ │ vldr d12, [r3] │ │ │ │ │ mov.w r3, r4, lsl #3 │ │ │ │ │ - add.w lr, r0, r3 │ │ │ │ │ + eor.w r4, r4, r8 │ │ │ │ │ + vadd.f64 d8, d6, d10 │ │ │ │ │ + vsub.f64 d6, d10, d6 │ │ │ │ │ + add.w sl, r0, r3 │ │ │ │ │ add r3, r1 │ │ │ │ │ vsub.f64 d5, d11, d4 │ │ │ │ │ - vadd.f64 d8, d6, d10 │ │ │ │ │ vadd.f64 d11, d4, d11 │ │ │ │ │ - vsub.f64 d6, d10, d6 │ │ │ │ │ - vldr d9, [lr] │ │ │ │ │ add.w r0, r0, #8 │ │ │ │ │ + vldr d9, [sl] │ │ │ │ │ add.w r1, r1, #8 │ │ │ │ │ - eor.w r4, r4, r9 │ │ │ │ │ vsub.f64 d3, d12, d9 │ │ │ │ │ vadd.f64 d12, d9, d12 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ add r3, r7 │ │ │ │ │ - add.w r7, r2, ip │ │ │ │ │ + add.w r7, r2, r9 │ │ │ │ │ vadd.f64 d0, d3, d5 │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ - add.w r3, r8, r5, lsl #4 │ │ │ │ │ + add.w r3, ip, r5, lsl #4 │ │ │ │ │ vadd.f64 d4, d3, d9 │ │ │ │ │ vsub.f64 d3, d9, d3 │ │ │ │ │ vmul.f64 d5, d5, d14 │ │ │ │ │ vadd.f64 d10, d4, d8 │ │ │ │ │ vsub.f64 d4, d4, d8 │ │ │ │ │ vadd.f64 d8, d0, d7 │ │ │ │ │ vmls.f64 d7, d0, d15 │ │ │ │ │ vmul.f64 d10, d10, d14 │ │ │ │ │ vstr d8, [r7] │ │ │ │ │ vsub.f64 d8, d4, d13 │ │ │ │ │ - add r7, ip │ │ │ │ │ + add r7, r9 │ │ │ │ │ vmla.f64 d13, d4, d15 │ │ │ │ │ vstr d8, [r3] │ │ │ │ │ vmul.f64 d8, d6, d2 │ │ │ │ │ - vmla.f64 d8, d3, d1 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ + vmla.f64 d8, d3, d1 │ │ │ │ │ vnmls.f64 d6, d3, d2 │ │ │ │ │ vadd.f64 d3, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vsub.f64 d5, d3, d8 │ │ │ │ │ vadd.f64 d3, d3, d8 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ - sub.w r7, r7, r6, lsl #3 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - eor.w r6, r6, r9 │ │ │ │ │ + sub.w r7, r7, r6, lsl #3 │ │ │ │ │ + eor.w r6, r6, r8 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ - sub.w r7, r7, ip │ │ │ │ │ - vstmia r2!, {d3} │ │ │ │ │ + sub.w r7, r7, r9 │ │ │ │ │ vadd.f64 d5, d13, d10 │ │ │ │ │ + vstmia r2!, {d3} │ │ │ │ │ vsub.f64 d13, d13, d10 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ vmul.f64 d7, d11, d2 │ │ │ │ │ - vmla.f64 d7, d12, d1 │ │ │ │ │ vmul.f64 d11, d11, d1 │ │ │ │ │ mov.w r7, r5, lsl #3 │ │ │ │ │ add r3, r7 │ │ │ │ │ + vmla.f64 d7, d12, d1 │ │ │ │ │ vnmls.f64 d11, d12, d2 │ │ │ │ │ vadd.f64 d6, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vneg.f64 d6, d6 │ │ │ │ │ - vstmia r8!, {d6} │ │ │ │ │ + vstmia ip!, {d6} │ │ │ │ │ vadd.f64 d6, d13, d11 │ │ │ │ │ vsub.f64 d13, d13, d11 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ add r3, r7 │ │ │ │ │ - mvn.w r7, #23 │ │ │ │ │ + sub.w r7, r5, r5, lsl #2 │ │ │ │ │ + eor.w r5, r5, r8 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - mla r3, r7, r5, r3 │ │ │ │ │ - eor.w r5, r5, r9 │ │ │ │ │ + add.w r3, r3, r7, lsl #3 │ │ │ │ │ vstr d13, [r3] │ │ │ │ │ - bne.w 50 │ │ │ │ │ + bne.w 5c │ │ │ │ │ add sp, #12 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ - mov.w fp, r3, lsl #3 │ │ │ │ │ - vldr d14, [pc, #368] @ 320 │ │ │ │ │ - mov lr, r7 │ │ │ │ │ - vldr d1, [pc, #380] @ 330 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + vldr d14, [pc, #368] @ 340 │ │ │ │ │ vmov.f64 d15, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vldr d2, [pc, #364] @ 328 │ │ │ │ │ + mov.w sl, r7, lsl #3 │ │ │ │ │ + mov.w fp, r3, lsl #3 │ │ │ │ │ str r2, [sp, #4] │ │ │ │ │ - lsls r7, r4, #4 │ │ │ │ │ + vldr d1, [pc, #368] @ 350 │ │ │ │ │ + vldr d2, [pc, #356] @ 348 │ │ │ │ │ + mov.w r7, r4, lsl #4 │ │ │ │ │ + subs.w lr, lr, #1 │ │ │ │ │ vldr d10, [r1] │ │ │ │ │ - adds r3, r0, r7 │ │ │ │ │ - add.w ip, r1, r7 │ │ │ │ │ + add.w r3, r0, r7 │ │ │ │ │ + add.w r9, r1, r7 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - subs.w sl, sl, #1 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ - mov.w r3, #24 │ │ │ │ │ - vldr d13, [ip] │ │ │ │ │ - add ip, r7 │ │ │ │ │ - mla r3, r3, r4, r0 │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ - mov.w ip, r6, lsl #4 │ │ │ │ │ + add.w r3, r4, r4, lsl #1 │ │ │ │ │ + add.w r3, r0, r3, lsl #3 │ │ │ │ │ + vldr d13, [r9] │ │ │ │ │ + add r9, r7 │ │ │ │ │ + vldr d6, [r9] │ │ │ │ │ + mov.w r9, r6, lsl #4 │ │ │ │ │ vldr d11, [r3] │ │ │ │ │ add.w r3, r0, r4, lsl #5 │ │ │ │ │ - vadd.f64 d8, d10, d6 │ │ │ │ │ - vsub.f64 d6, d10, d6 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ mov.w r3, r4, lsl #3 │ │ │ │ │ + eor.w r4, r4, r8 │ │ │ │ │ + vadd.f64 d8, d10, d6 │ │ │ │ │ + vsub.f64 d6, d10, d6 │ │ │ │ │ add.w r2, r0, r3 │ │ │ │ │ add r3, r1 │ │ │ │ │ vsub.f64 d5, d4, d11 │ │ │ │ │ vadd.f64 d11, d4, d11 │ │ │ │ │ - add r0, lr │ │ │ │ │ - add r1, lr │ │ │ │ │ + add r0, sl │ │ │ │ │ vldr d12, [r2] │ │ │ │ │ - eor.w r4, r4, r9 │ │ │ │ │ + add r1, sl │ │ │ │ │ ldr r2, [sp, #4] │ │ │ │ │ vsub.f64 d3, d9, d12 │ │ │ │ │ vadd.f64 d12, d9, d12 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ add r3, r7 │ │ │ │ │ - add.w r7, r2, ip │ │ │ │ │ + add.w r7, r2, r9 │ │ │ │ │ vadd.f64 d0, d5, d3 │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ - add.w r3, r8, r5, lsl #4 │ │ │ │ │ + add.w r3, ip, r5, lsl #4 │ │ │ │ │ vadd.f64 d4, d9, d3 │ │ │ │ │ vsub.f64 d3, d9, d3 │ │ │ │ │ vmul.f64 d5, d5, d14 │ │ │ │ │ vadd.f64 d10, d8, d4 │ │ │ │ │ vsub.f64 d4, d4, d8 │ │ │ │ │ vadd.f64 d8, d7, d0 │ │ │ │ │ vmls.f64 d7, d0, d15 │ │ │ │ │ vmul.f64 d10, d10, d14 │ │ │ │ │ vstr d8, [r7] │ │ │ │ │ vsub.f64 d8, d4, d13 │ │ │ │ │ - add r7, ip │ │ │ │ │ + add r7, r9 │ │ │ │ │ vmla.f64 d13, d4, d15 │ │ │ │ │ vstr d8, [r3] │ │ │ │ │ vmul.f64 d8, d3, d2 │ │ │ │ │ vmla.f64 d8, d6, d1 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ vnmls.f64 d6, d3, d1 │ │ │ │ │ vadd.f64 d3, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vsub.f64 d5, d3, d8 │ │ │ │ │ vadd.f64 d8, d8, d3 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ - sub.w r7, r7, r6, lsl #3 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - eor.w r6, r6, r9 │ │ │ │ │ + sub.w r7, r7, r6, lsl #3 │ │ │ │ │ + eor.w r6, r6, r8 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ - sub.w r7, r7, ip │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ + sub.w r7, r7, r9 │ │ │ │ │ vadd.f64 d5, d10, d13 │ │ │ │ │ + vstr d8, [r2] │ │ │ │ │ vsub.f64 d13, d13, d10 │ │ │ │ │ - mvn.w r2, #23 │ │ │ │ │ + add r2, fp │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ vmul.f64 d7, d12, d2 │ │ │ │ │ - vmla.f64 d7, d11, d1 │ │ │ │ │ - vmul.f64 d11, d11, d2 │ │ │ │ │ mov.w r7, r5, lsl #3 │ │ │ │ │ + str r2, [sp, #4] │ │ │ │ │ add r3, r7 │ │ │ │ │ + vmla.f64 d7, d11, d1 │ │ │ │ │ + vmul.f64 d11, d11, d2 │ │ │ │ │ vnmls.f64 d11, d12, d1 │ │ │ │ │ vadd.f64 d6, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vneg.f64 d6, d6 │ │ │ │ │ - vstr d6, [r8] │ │ │ │ │ + vstr d6, [ip] │ │ │ │ │ vadd.f64 d6, d11, d13 │ │ │ │ │ vsub.f64 d13, d13, d11 │ │ │ │ │ - add r8, fp │ │ │ │ │ + add ip, fp │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ add r3, r7 │ │ │ │ │ + sub.w r7, r5, r5, lsl #2 │ │ │ │ │ + eor.w r5, r5, r8 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - mla r3, r2, r5, r3 │ │ │ │ │ - ldr r2, [sp, #4] │ │ │ │ │ - eor.w r5, r5, r9 │ │ │ │ │ - add r2, fp │ │ │ │ │ - str r2, [sp, #4] │ │ │ │ │ + add.w r3, r3, r7, lsl #3 │ │ │ │ │ vstr d13, [r3] │ │ │ │ │ - bne.w 1c0 │ │ │ │ │ - add sp, #12 │ │ │ │ │ - vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + bne.w 1e6 │ │ │ │ │ + b.n 1b0 │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ - .word 0x00000326 │ │ │ │ │ + .word 0x0000032e │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ │ │ │ │ │ -00000340 : │ │ │ │ │ +00000360 : │ │ │ │ │ fftw_codelet_r2cfII_10(): │ │ │ │ │ - ldr r2, [pc, #8] @ (34c ) │ │ │ │ │ - ldr r1, [pc, #12] @ (350 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (36c ) │ │ │ │ │ + ldr r1, [pc, #12] @ (370 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cfII_12.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1816 (bytes into file) │ │ │ │ │ + Start of section headers: 1856 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x718: │ │ │ │ │ +There are 13 section headers, starting at offset 0x740: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000444 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000670 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000478 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000478 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000478 00000a 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 000482 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000698 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 0004b2 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0004b2 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 0004e8 000100 10 11 11 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 0005e8 000085 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 0006a8 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00046c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000698 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0004a0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0004a0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0004a0 00000a 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0004aa 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 0006c0 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 0004da 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0004da 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 000510 000100 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 000610 000085 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 0006d0 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 16 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1072 FUNC LOCAL DEFAULT 1 r2cfII_12 │ │ │ │ │ + 1: 00000001 1112 FUNC LOCAL DEFAULT 1 r2cfII_12 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000408 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000430 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 0000043c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000430 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000458 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000464 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 13: 00000431 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_12 │ │ │ │ │ + 13: 00000459 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_12 │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cfII_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x670 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x698 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000428 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000042c 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -0000043c 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000440 00000103 R_ARM_REL32 00000001 r2cfII_12 │ │ │ │ │ -00000438 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +00000450 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000454 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000464 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000468 00000103 R_ARM_REL32 00000001 r2cfII_12 │ │ │ │ │ +00000460 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x698 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x6c0 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000f02 R_ARM_ABS32 00000000 fftw_rdft_r2cfII_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,312 +1,317 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cfII_12(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - ldr.w ip, [pc, #1056] @ 428 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #20 │ │ │ │ │ - add ip, pc │ │ │ │ │ - ldrd r5, fp, [sp, #128] @ 0x80 │ │ │ │ │ + ldr.w r8, [pc, #1076] @ 450 │ │ │ │ │ + ldrd r5, lr, [sp, #128] @ 0x80 │ │ │ │ │ ldrd r4, r6, [sp, #120] @ 0x78 │ │ │ │ │ - cmp.w fp, #0 │ │ │ │ │ - ldr r7, [sp, #136] @ 0x88 │ │ │ │ │ - ble.w 20c │ │ │ │ │ - ldr.w lr, [pc, #1032] @ 42c │ │ │ │ │ - mov r8, r3 │ │ │ │ │ - ldr.w r3, [ip, lr] │ │ │ │ │ - ldr.w r9, [r3] │ │ │ │ │ - ldr r3, [sp, #140] @ 0x8c │ │ │ │ │ - cmp r7, #1 │ │ │ │ │ + add r8, pc │ │ │ │ │ + ldr r7, [sp, #140] @ 0x8c │ │ │ │ │ + cmp.w lr, #0 │ │ │ │ │ + ble.w 224 │ │ │ │ │ + ldr.w r9, [pc, #1056] @ 454 │ │ │ │ │ + mov ip, r3 │ │ │ │ │ + ldr.w r3, [r8, r9] │ │ │ │ │ + ldr.w r8, [r3] │ │ │ │ │ + ldr r3, [sp, #136] @ 0x88 │ │ │ │ │ + cmp r3, #1 │ │ │ │ │ it eq │ │ │ │ │ - cmpeq r3, #1 │ │ │ │ │ - bne.w 216 │ │ │ │ │ - mov.w sl, #24 │ │ │ │ │ - vldr d1, [pc, #964] @ 408 │ │ │ │ │ - lsls r7, r4, #4 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - adds r3, r0, r7 │ │ │ │ │ + cmpeq r7, #1 │ │ │ │ │ + bne.w 240 │ │ │ │ │ + vldr d1, [pc, #992] @ 430 │ │ │ │ │ + mov.w r7, r4, lsl #4 │ │ │ │ │ vmov.f64 d2, #96 @ 0x3f000000 0.5 │ │ │ │ │ - vldr d3, [pc, #956] @ 410 │ │ │ │ │ - mvn.w fp, #23 │ │ │ │ │ - vmov.f64 d13, d6 │ │ │ │ │ + subs.w lr, lr, #1 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + sub.w fp, r5, r5, lsl #2 │ │ │ │ │ + add.w r3, r0, r7 │ │ │ │ │ + vldr d3, [pc, #972] @ 438 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ add r3, r7 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - mul.w r3, sl, r4 │ │ │ │ │ - add.w ip, r0, r3 │ │ │ │ │ + add.w r3, r4, r4, lsl #1 │ │ │ │ │ + vmov.f64 d13, d6 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + add.w r9, r0, r3 │ │ │ │ │ add r3, r1 │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ vadd.f64 d15, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ vmla.f64 d13, d4, d2 │ │ │ │ │ - vldr d4, [ip] │ │ │ │ │ - add ip, r7 │ │ │ │ │ + vldr d4, [r9] │ │ │ │ │ + add r9, r7 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ vmul.f64 d15, d15, d3 │ │ │ │ │ add r7, r1 │ │ │ │ │ - vmov.f64 d14, d4 │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ - mov.w ip, r4, lsl #3 │ │ │ │ │ - add.w lr, r0, ip │ │ │ │ │ + vldr d7, [r9] │ │ │ │ │ + mov.w r9, r4, lsl #3 │ │ │ │ │ + add.w sl, r0, r9 │ │ │ │ │ vldr d9, [r7] │ │ │ │ │ - add.w r7, r8, r5, lsl #5 │ │ │ │ │ - adds r0, #8 │ │ │ │ │ - vldr d6, [lr] │ │ │ │ │ - add.w lr, r1, ip │ │ │ │ │ + add.w r7, r6, r6, lsl #1 │ │ │ │ │ + add.w r0, r0, #8 │ │ │ │ │ + vldr d6, [sl] │ │ │ │ │ + add.w sl, r1, r9 │ │ │ │ │ + vmov.f64 d14, d4 │ │ │ │ │ vadd.f64 d0, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - add r3, ip │ │ │ │ │ - mov.w ip, r6, lsl #3 │ │ │ │ │ + add r3, r9 │ │ │ │ │ + mov.w r9, r6, lsl #3 │ │ │ │ │ + vldr d10, [r3] │ │ │ │ │ + add.w r3, r2, r9 │ │ │ │ │ vmul.f64 d12, d7, d3 │ │ │ │ │ - vldr d3, [lr] │ │ │ │ │ - mov.w lr, #40 @ 0x28 │ │ │ │ │ + vldr d3, [sl] │ │ │ │ │ + add.w sl, r4, r4, lsl #2 │ │ │ │ │ vmla.f64 d14, d0, d2 │ │ │ │ │ - vldr d10, [r3] │ │ │ │ │ vsub.f64 d4, d4, d0 │ │ │ │ │ - add.w r3, r2, ip │ │ │ │ │ - mla lr, lr, r4, r1 │ │ │ │ │ - eor.w r4, r4, r9 │ │ │ │ │ - vldr d2, [lr] │ │ │ │ │ - mov.w lr, r5, lsl #3 │ │ │ │ │ + eor.w r4, r4, r8 │ │ │ │ │ + add.w sl, r1, sl, lsl #3 │ │ │ │ │ + vldr d2, [sl] │ │ │ │ │ + mov.w sl, r5, lsl #3 │ │ │ │ │ vsub.f64 d7, d2, d6 │ │ │ │ │ vadd.f64 d6, d6, d2 │ │ │ │ │ - vldr d2, [pc, #796] @ 418 │ │ │ │ │ + vldr d2, [pc, #812] @ 440 │ │ │ │ │ vmul.f64 d11, d6, d2 │ │ │ │ │ - vldr d6, [pc, #796] @ 420 │ │ │ │ │ + vldr d6, [pc, #812] @ 448 │ │ │ │ │ vadd.f64 d8, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ vnmls.f64 d7, d3, d1 │ │ │ │ │ vldmia r1!, {d3} │ │ │ │ │ vsub.f64 d2, d9, d3 │ │ │ │ │ vstr d3, [sp] │ │ │ │ │ vsub.f64 d3, d2, d10 │ │ │ │ │ vmul.f64 d2, d2, d6 │ │ │ │ │ - vmla.f64 d2, d10, d1 │ │ │ │ │ vldr d6, [sp] │ │ │ │ │ + vmla.f64 d2, d10, d1 │ │ │ │ │ vadd.f64 d6, d6, d9 │ │ │ │ │ vmov.f64 d10, d2 │ │ │ │ │ - vldr d2, [pc, #736] @ 418 │ │ │ │ │ + vldr d2, [pc, #752] @ 440 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ vadd.f64 d2, d3, d8 │ │ │ │ │ vsub.f64 d3, d3, d8 │ │ │ │ │ vmul.f64 d2, d2, d1 │ │ │ │ │ vsub.f64 d0, d6, d10 │ │ │ │ │ vmul.f64 d3, d3, d1 │ │ │ │ │ vadd.f64 d6, d6, d10 │ │ │ │ │ vsub.f64 d9, d5, d2 │ │ │ │ │ vadd.f64 d2, d2, d5 │ │ │ │ │ vsub.f64 d5, d3, d4 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ vsub.f64 d3, d15, d14 │ │ │ │ │ vadd.f64 d14, d14, d15 │ │ │ │ │ vstr d9, [r3] │ │ │ │ │ - mla r3, sl, r6, r3 │ │ │ │ │ + add.w r3, r3, r7, lsl #3 │ │ │ │ │ + add.w r7, ip, r5, lsl #5 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ vsub.f64 d2, d13, d12 │ │ │ │ │ + add r3, r9 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ - mla r7, fp, r5, r7 │ │ │ │ │ vsub.f64 d5, d7, d11 │ │ │ │ │ - add r3, ip │ │ │ │ │ + add.w r7, r7, fp, lsl #3 │ │ │ │ │ vadd.f64 d7, d7, d11 │ │ │ │ │ vadd.f64 d12, d12, d13 │ │ │ │ │ vstr d4, [r7] │ │ │ │ │ - add r7, lr │ │ │ │ │ + add r7, sl │ │ │ │ │ vadd.f64 d4, d0, d5 │ │ │ │ │ vsub.f64 d5, d5, d0 │ │ │ │ │ vsub.f64 d0, d2, d4 │ │ │ │ │ vadd.f64 d4, d4, d2 │ │ │ │ │ vstr d0, [r3] │ │ │ │ │ vadd.f64 d0, d5, d3 │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ sub.w r3, r3, r6, lsl #4 │ │ │ │ │ - eor.w r6, r6, r9 │ │ │ │ │ + eor.w r6, r6, r8 │ │ │ │ │ vstr d0, [r7] │ │ │ │ │ - add r7, lr │ │ │ │ │ + add r7, sl │ │ │ │ │ vstmia r2!, {d4} │ │ │ │ │ vsub.f64 d4, d6, d7 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ add.w r7, r7, r5, lsl #4 │ │ │ │ │ - eor.w r5, r5, r9 │ │ │ │ │ + eor.w r5, r5, r8 │ │ │ │ │ vsub.f64 d6, d12, d4 │ │ │ │ │ vadd.f64 d4, d4, d12 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ vsub.f64 d6, d14, d7 │ │ │ │ │ vadd.f64 d7, d7, d14 │ │ │ │ │ - sub.w r3, r3, ip │ │ │ │ │ - vstr d6, [r7] │ │ │ │ │ + sub.w r3, r3, r9 │ │ │ │ │ vneg.f64 d7, d7 │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ - ldr r3, [sp, #132] @ 0x84 │ │ │ │ │ - subs r3, #1 │ │ │ │ │ - str r3, [sp, #132] @ 0x84 │ │ │ │ │ - vstmia r8!, {d7} │ │ │ │ │ - bne.w 44 │ │ │ │ │ + vstmia ip!, {d7} │ │ │ │ │ + bne.w 50 │ │ │ │ │ add sp, #20 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ - vldr d15, [pc, #492] @ 408 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ - str.w fp, [sp, #132] @ 0x84 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + vldr d15, [pc, #488] @ 430 │ │ │ │ │ + str r3, [sp, #8] │ │ │ │ │ + mov.w r3, r7, lsl #3 │ │ │ │ │ str r3, [sp, #12] │ │ │ │ │ - mov.w ip, r4, lsl #4 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - add.w r3, r0, ip │ │ │ │ │ + mov.w r7, r4, lsl #4 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ vmov.f64 d0, #96 @ 0x3f000000 0.5 │ │ │ │ │ - vldr d2, [pc, #472] @ 410 │ │ │ │ │ - vmov.f64 d5, d6 │ │ │ │ │ + add.w fp, ip, r5, lsl #5 │ │ │ │ │ + subs.w lr, lr, #1 │ │ │ │ │ + add.w r3, r0, r7 │ │ │ │ │ + vldr d2, [pc, #460] @ 438 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - add r3, ip │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - movs r3, #24 │ │ │ │ │ - mov fp, r3 │ │ │ │ │ - mul.w r3, r3, r4 │ │ │ │ │ - vsub.f64 d3, d7, d4 │ │ │ │ │ - vadd.f64 d6, d6, d4 │ │ │ │ │ - vadd.f64 d11, d7, d4 │ │ │ │ │ - add.w lr, r0, r3 │ │ │ │ │ + add r3, r7 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + add.w r3, r4, r4, lsl #1 │ │ │ │ │ + vmov.f64 d11, d5 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + vldr d8, [pc, #452] @ 448 │ │ │ │ │ + add.w r9, r0, r3 │ │ │ │ │ add r3, r1 │ │ │ │ │ - vmla.f64 d5, d3, d0 │ │ │ │ │ - vldr d3, [lr] │ │ │ │ │ - add lr, ip │ │ │ │ │ - vsub.f64 d6, d6, d7 │ │ │ │ │ - vmul.f64 d11, d11, d2 │ │ │ │ │ - vldr d8, [r3] │ │ │ │ │ - add ip, r1 │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ - mov.w lr, r4, lsl #3 │ │ │ │ │ - add.w sl, r0, lr │ │ │ │ │ - vmov.f64 d12, d3 │ │ │ │ │ - add r3, lr │ │ │ │ │ - add r0, r7 │ │ │ │ │ - vldr d4, [sl] │ │ │ │ │ - add.w sl, r1, lr │ │ │ │ │ - mov.w lr, r6, lsl #3 │ │ │ │ │ - vadd.f64 d1, d7, d4 │ │ │ │ │ - vsub.f64 d7, d7, d4 │ │ │ │ │ - vmul.f64 d10, d7, d2 │ │ │ │ │ - vldr d2, [sl] │ │ │ │ │ - mov.w sl, #40 @ 0x28 │ │ │ │ │ - vldr d7, [pc, #360] @ 418 │ │ │ │ │ - vmla.f64 d12, d1, d0 │ │ │ │ │ + vadd.f64 d5, d5, d6 │ │ │ │ │ + vldr d3, [r9] │ │ │ │ │ + add r9, r7 │ │ │ │ │ + vsub.f64 d4, d7, d6 │ │ │ │ │ + vadd.f64 d13, d7, d6 │ │ │ │ │ + add r7, r1 │ │ │ │ │ + vsub.f64 d5, d5, d7 │ │ │ │ │ + vldr d7, [r9] │ │ │ │ │ + mov.w r9, r4, lsl #3 │ │ │ │ │ + vmul.f64 d13, d13, d2 │ │ │ │ │ + vmov.f64 d14, d3 │ │ │ │ │ + add.w sl, r0, r9 │ │ │ │ │ + vmla.f64 d11, d4, d0 │ │ │ │ │ + vldr d4, [pc, #384] @ 440 │ │ │ │ │ + vldr d6, [sl] │ │ │ │ │ + add.w sl, r1, r9 │ │ │ │ │ + vadd.f64 d1, d7, d6 │ │ │ │ │ + vsub.f64 d7, d7, d6 │ │ │ │ │ + vldr d6, [sl] │ │ │ │ │ + add.w sl, r4, r4, lsl #2 │ │ │ │ │ + eor.w r4, r4, r8 │ │ │ │ │ + add.w sl, r1, sl, lsl #3 │ │ │ │ │ + vmul.f64 d12, d7, d2 │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ + vmla.f64 d14, d1, d0 │ │ │ │ │ + add r3, r9 │ │ │ │ │ + mov.w r9, r6, lsl #3 │ │ │ │ │ vsub.f64 d3, d3, d1 │ │ │ │ │ - mla sl, sl, r4, r1 │ │ │ │ │ - eor.w r4, r4, r9 │ │ │ │ │ - vldr d4, [sl] │ │ │ │ │ + vldr d7, [sl] │ │ │ │ │ mov.w sl, r5, lsl #3 │ │ │ │ │ - vsub.f64 d14, d4, d8 │ │ │ │ │ - vadd.f64 d4, d4, d8 │ │ │ │ │ - vldr d8, [r1] │ │ │ │ │ - add r1, r7 │ │ │ │ │ - vmul.f64 d13, d4, d7 │ │ │ │ │ - vldr d4, [pc, #324] @ 420 │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ - vadd.f64 d0, d2, d14 │ │ │ │ │ - add.w ip, r8, r5, lsl #5 │ │ │ │ │ - vmul.f64 d14, d14, d4 │ │ │ │ │ - vsub.f64 d9, d7, d8 │ │ │ │ │ - vstr d7, [sp] │ │ │ │ │ - vnmls.f64 d14, d2, d15 │ │ │ │ │ + vsub.f64 d10, d7, d2 │ │ │ │ │ + vadd.f64 d7, d7, d2 │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ - add.w r3, r2, lr │ │ │ │ │ - vsub.f64 d7, d9, d2 │ │ │ │ │ + add.w r3, r2, r9 │ │ │ │ │ + vadd.f64 d0, d6, d10 │ │ │ │ │ + vmul.f64 d10, d10, d8 │ │ │ │ │ + vmul.f64 d7, d7, d4 │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + add.w r7, r6, r6, lsl #1 │ │ │ │ │ + vnmls.f64 d10, d6, d15 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + vsub.f64 d9, d4, d6 │ │ │ │ │ + vstr d6, [sp] │ │ │ │ │ + vsub.f64 d6, d9, d2 │ │ │ │ │ vmul.f64 d2, d2, d15 │ │ │ │ │ - vmla.f64 d2, d9, d4 │ │ │ │ │ - vldr d4, [sp] │ │ │ │ │ - vadd.f64 d4, d4, d8 │ │ │ │ │ + vmla.f64 d2, d9, d8 │ │ │ │ │ vmov.f64 d9, d2 │ │ │ │ │ - vldr d2, [pc, #252] @ 418 │ │ │ │ │ + vldr d2, [sp] │ │ │ │ │ + vadd.f64 d4, d4, d2 │ │ │ │ │ + vldr d2, [pc, #244] @ 440 │ │ │ │ │ vmul.f64 d4, d4, d2 │ │ │ │ │ - vadd.f64 d2, d0, d7 │ │ │ │ │ - vsub.f64 d7, d7, d0 │ │ │ │ │ + vadd.f64 d2, d0, d6 │ │ │ │ │ + vsub.f64 d6, d6, d0 │ │ │ │ │ vmul.f64 d2, d2, d15 │ │ │ │ │ vsub.f64 d1, d4, d9 │ │ │ │ │ - vmul.f64 d7, d7, d15 │ │ │ │ │ - vsub.f64 d8, d6, d2 │ │ │ │ │ - vadd.f64 d6, d6, d2 │ │ │ │ │ + vmul.f64 d6, d6, d15 │ │ │ │ │ + vsub.f64 d8, d5, d2 │ │ │ │ │ + vadd.f64 d5, d5, d2 │ │ │ │ │ vstr d8, [r3] │ │ │ │ │ - mla r3, fp, r6, r3 │ │ │ │ │ - mvn.w fp, #23 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - vsub.f64 d6, d7, d3 │ │ │ │ │ - vadd.f64 d7, d7, d3 │ │ │ │ │ - vsub.f64 d3, d11, d12 │ │ │ │ │ - add r3, lr │ │ │ │ │ - vstr d6, [ip] │ │ │ │ │ - mla ip, fp, r5, ip │ │ │ │ │ - vsub.f64 d6, d5, d10 │ │ │ │ │ - vadd.f64 d5, d5, d10 │ │ │ │ │ - vstr d7, [ip] │ │ │ │ │ - vsub.f64 d7, d14, d13 │ │ │ │ │ - add ip, sl │ │ │ │ │ - vadd.f64 d13, d13, d14 │ │ │ │ │ - vadd.f64 d2, d7, d1 │ │ │ │ │ - vsub.f64 d7, d7, d1 │ │ │ │ │ - vsub.f64 d1, d6, d2 │ │ │ │ │ - vadd.f64 d6, d6, d2 │ │ │ │ │ + add.w r3, r3, r7, lsl #3 │ │ │ │ │ + sub.w r7, r5, r5, lsl #2 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + vsub.f64 d5, d6, d3 │ │ │ │ │ + vadd.f64 d6, d6, d3 │ │ │ │ │ + add.w r7, fp, r7, lsl #3 │ │ │ │ │ + vsub.f64 d3, d13, d14 │ │ │ │ │ + add r3, r9 │ │ │ │ │ + vstr d5, [fp] │ │ │ │ │ + vsub.f64 d5, d11, d12 │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ + vsub.f64 d6, d10, d7 │ │ │ │ │ + add r7, sl │ │ │ │ │ + vadd.f64 d7, d7, d10 │ │ │ │ │ + vadd.f64 d2, d6, d1 │ │ │ │ │ + vsub.f64 d6, d6, d1 │ │ │ │ │ + vsub.f64 d1, d5, d2 │ │ │ │ │ + vadd.f64 d5, d5, d2 │ │ │ │ │ vstr d1, [r3] │ │ │ │ │ - vadd.f64 d1, d3, d7 │ │ │ │ │ - vsub.f64 d7, d7, d3 │ │ │ │ │ + vadd.f64 d1, d3, d6 │ │ │ │ │ + vsub.f64 d6, d6, d3 │ │ │ │ │ + vadd.f64 d3, d11, d12 │ │ │ │ │ sub.w r3, r3, r6, lsl #4 │ │ │ │ │ - eor.w r6, r6, r9 │ │ │ │ │ - vstr d1, [ip] │ │ │ │ │ - add ip, sl │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - vadd.f64 d6, d11, d12 │ │ │ │ │ - vstr d7, [ip] │ │ │ │ │ - vadd.f64 d7, d9, d4 │ │ │ │ │ - add.w ip, ip, r5, lsl #4 │ │ │ │ │ - eor.w r5, r5, r9 │ │ │ │ │ - vsub.f64 d4, d7, d13 │ │ │ │ │ - vadd.f64 d7, d7, d13 │ │ │ │ │ - vsub.f64 d3, d5, d4 │ │ │ │ │ - vadd.f64 d5, d5, d4 │ │ │ │ │ + eor.w r6, r6, r8 │ │ │ │ │ + vstr d1, [r7] │ │ │ │ │ + add r7, sl │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ + vadd.f64 d5, d13, d14 │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ + vadd.f64 d6, d9, d4 │ │ │ │ │ + add.w r7, r7, r5, lsl #4 │ │ │ │ │ + eor.w r5, r5, r8 │ │ │ │ │ + vsub.f64 d4, d6, d7 │ │ │ │ │ + vadd.f64 d7, d6, d7 │ │ │ │ │ + vsub.f64 d6, d3, d4 │ │ │ │ │ + vadd.f64 d3, d3, d4 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + vsub.f64 d6, d5, d7 │ │ │ │ │ + sub.w r3, r3, r9 │ │ │ │ │ + vadd.f64 d5, d5, d7 │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ - vsub.f64 d3, d6, d7 │ │ │ │ │ - vadd.f64 d6, d6, d7 │ │ │ │ │ - sub.w r3, r3, lr │ │ │ │ │ - vstr d3, [ip] │ │ │ │ │ - vneg.f64 d6, d6 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ + vneg.f64 d5, d5 │ │ │ │ │ + ldr r3, [sp, #8] │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ + add r0, r3 │ │ │ │ │ + add r1, r3 │ │ │ │ │ ldr r3, [sp, #12] │ │ │ │ │ add r2, r3 │ │ │ │ │ - vstr d6, [r8] │ │ │ │ │ - add r8, r3 │ │ │ │ │ - ldr r3, [sp, #132] @ 0x84 │ │ │ │ │ - subs r3, #1 │ │ │ │ │ - str r3, [sp, #132] @ 0x84 │ │ │ │ │ - bne.w 224 │ │ │ │ │ - add sp, #20 │ │ │ │ │ - vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + add ip, r3 │ │ │ │ │ + bne.w 250 │ │ │ │ │ + b.n 224 │ │ │ │ │ nop │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3febb67a │ │ │ │ │ .word 0x1409212e │ │ │ │ │ .word 0x3fe3988e │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fd6a09e │ │ │ │ │ - .word 0x00000416 │ │ │ │ │ + .word 0x00000426 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ │ │ │ │ │ -00000430 : │ │ │ │ │ +00000458 : │ │ │ │ │ fftw_codelet_r2cfII_12(): │ │ │ │ │ - ldr r2, [pc, #8] @ (43c ) │ │ │ │ │ - ldr r1, [pc, #12] @ (440 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (464 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (468 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cfII_15.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1656 (bytes into file) │ │ │ │ │ + Start of section headers: 1728 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x678: │ │ │ │ │ +There are 13 section headers, starting at offset 0x6c0: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0003a4 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0005d0 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0003d8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0003d8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0003d8 00000a 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 0003e2 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 0005f8 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 000412 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000412 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 000448 000100 10 11 11 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 000548 000085 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000608 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0003ec 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000618 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000420 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000420 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000420 00000a 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 00042a 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000640 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 00045a 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 00045a 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 000490 000100 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 000590 000085 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000650 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 16 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 912 FUNC LOCAL DEFAULT 1 r2cfII_15 │ │ │ │ │ + 1: 00000001 984 FUNC LOCAL DEFAULT 1 r2cfII_15 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000358 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000390 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 0000039c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000003a0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 000003d8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000003e4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 13: 00000391 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_15 │ │ │ │ │ + 13: 000003d9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_15 │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cfII_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x5d0 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x618 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000388 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000038c 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -0000039c 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000003a0 00000103 R_ARM_REL32 00000001 r2cfII_15 │ │ │ │ │ -00000398 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +000003d0 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +000003d4 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +000003e4 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000003e8 00000103 R_ARM_REL32 00000001 r2cfII_15 │ │ │ │ │ +000003e0 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x5f8 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x640 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000f02 R_ARM_ABS32 00000000 fftw_rdft_r2cfII_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,264 +1,281 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cfII_15(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - ldr r4, [pc, #896] @ (388 ) │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #92 @ 0x5c │ │ │ │ │ - add r4, pc │ │ │ │ │ - ldr r5, [sp, #204] @ 0xcc │ │ │ │ │ - ldrd lr, r6, [sp, #192] @ 0xc0 │ │ │ │ │ - cmp r5, #0 │ │ │ │ │ - ldr r7, [sp, #200] @ 0xc8 │ │ │ │ │ - ble.w 34a │ │ │ │ │ - ldr r5, [sp, #208] @ 0xd0 │ │ │ │ │ - mov.w sl, #40 @ 0x28 │ │ │ │ │ - ldr.w ip, [pc, #872] @ 38c │ │ │ │ │ - vldr d12, [pc, #816] @ 358 │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ - str r5, [sp, #80] @ 0x50 │ │ │ │ │ - ldr r5, [sp, #212] @ 0xd4 │ │ │ │ │ - vldr d15, [pc, #812] @ 360 │ │ │ │ │ - vldr d14, [pc, #816] @ 368 │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ - str r5, [sp, #84] @ 0x54 │ │ │ │ │ - vldr d11, [pc, #816] @ 370 │ │ │ │ │ - mov r5, lr │ │ │ │ │ - ldr.w r4, [r4, ip] │ │ │ │ │ - ldr.w fp, [r4] │ │ │ │ │ - mvn.w ip, #23 │ │ │ │ │ - mla r4, sl, r5, r0 │ │ │ │ │ + ldr r7, [pc, #948] @ (3d0 ) │ │ │ │ │ + ldrd r6, r4, [sp, #200] @ 0xc8 │ │ │ │ │ + ldrd r5, lr, [sp, #192] @ 0xc0 │ │ │ │ │ + add r7, pc │ │ │ │ │ + cmp r4, #0 │ │ │ │ │ + ble.w 382 │ │ │ │ │ + ldr r4, [sp, #208] @ 0xd0 │ │ │ │ │ + vmov.f64 d11, #96 @ 0x3f000000 0.5 │ │ │ │ │ + ldr.w ip, [pc, #928] @ 3d4 │ │ │ │ │ + vldr d15, [pc, #872] @ 3a0 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + vldr d14, [pc, #872] @ 3a8 │ │ │ │ │ + str r4, [sp, #80] @ 0x50 │ │ │ │ │ + ldr r4, [sp, #212] @ 0xd4 │ │ │ │ │ + vldr d12, [pc, #872] @ 3b0 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + str r4, [sp, #84] @ 0x54 │ │ │ │ │ + mov r4, lr │ │ │ │ │ + ldr.w r7, [r7, ip] │ │ │ │ │ + ldr.w fp, [r7] │ │ │ │ │ + mov.w lr, r5, lsl #2 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ + mov.w sl, r4, lsl #4 │ │ │ │ │ + add.w r7, lr, r5 │ │ │ │ │ + sub.w lr, r5, lr │ │ │ │ │ + add.w r7, r0, r7, lsl #3 │ │ │ │ │ + vldr d0, [pc, #836] @ 3b8 │ │ │ │ │ + mov.w ip, lr, lsl #3 │ │ │ │ │ + vldr d9, [r7] │ │ │ │ │ + add r7, ip │ │ │ │ │ + sub.w r8, r1, ip │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + vadd.f64 d10, d7, d6 │ │ │ │ │ + vstr d7, [sp] │ │ │ │ │ + vldr d7, [r8] │ │ │ │ │ + sub.w r8, r8, ip │ │ │ │ │ + vldr d3, [r8] │ │ │ │ │ mov.w r8, r5, lsl #5 │ │ │ │ │ - vmov.f64 d9, #80 @ 0x3e800000 0.250 │ │ │ │ │ - mov.w r9, r6, lsl #4 │ │ │ │ │ - mul.w ip, ip, r5 │ │ │ │ │ - vldr d8, [r4] │ │ │ │ │ - sub.w lr, r1, ip │ │ │ │ │ - add r4, ip │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ - sub.w lr, lr, ip │ │ │ │ │ - vldr d10, [r4] │ │ │ │ │ - add r4, r8 │ │ │ │ │ - vldr d3, [lr] │ │ │ │ │ - add.w lr, r1, r8 │ │ │ │ │ - vadd.f64 d13, d10, d6 │ │ │ │ │ + add.w r9, r1, r8 │ │ │ │ │ + add r7, r8 │ │ │ │ │ vadd.f64 d5, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vmul.f64 d3, d7, d15 │ │ │ │ │ - vmla.f64 d3, d13, d12 │ │ │ │ │ - vmul.f64 d13, d13, d15 │ │ │ │ │ - vnmls.f64 d13, d7, d12 │ │ │ │ │ + vmul.f64 d3, d7, d14 │ │ │ │ │ + vmla.f64 d3, d10, d15 │ │ │ │ │ + vmul.f64 d10, d10, d14 │ │ │ │ │ + vnmls.f64 d10, d7, d15 │ │ │ │ │ vsub.f64 d7, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vmul.f64 d7, d7, d14 │ │ │ │ │ - vstr d3, [sp, #32] │ │ │ │ │ - vldr d3, [r4] │ │ │ │ │ - add r4, ip │ │ │ │ │ - vmul.f64 d2, d6, d9 │ │ │ │ │ - vstr d6, [sp] │ │ │ │ │ - vstr d7, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ - add.w lr, r1, r5, lsl #3 │ │ │ │ │ - vldr d4, [r4] │ │ │ │ │ - add r4, r8 │ │ │ │ │ - vstr d2, [sp, #8] │ │ │ │ │ - mov.w r8, r7, lsl #3 │ │ │ │ │ - vldr d6, [lr] │ │ │ │ │ - add.w lr, r1, r5, lsl #4 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ + vstr d3, [sp, #24] │ │ │ │ │ + vldr d3, [r7] │ │ │ │ │ + add r7, ip │ │ │ │ │ + vstr d6, [sp, #8] │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + add r7, r8 │ │ │ │ │ + add.w r8, r2, sl │ │ │ │ │ + vstr d7, [sp, #32] │ │ │ │ │ + vmov.f64 d7, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vmov.f64 d5, d7 │ │ │ │ │ + vmul.f64 d7, d6, d7 │ │ │ │ │ vadd.f64 d1, d3, d4 │ │ │ │ │ + vstr d7, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d7, [r9] │ │ │ │ │ + add.w r9, r1, r5, lsl #3 │ │ │ │ │ + vldr d6, [r9] │ │ │ │ │ + add.w r9, r1, r5, lsl #4 │ │ │ │ │ + eor.w r5, r5, fp │ │ │ │ │ vadd.f64 d2, d7, d4 │ │ │ │ │ - vadd.f64 d5, d3, d6 │ │ │ │ │ + vadd.f64 d13, d3, d6 │ │ │ │ │ vadd.f64 d0, d7, d6 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ - vldr d3, [lr] │ │ │ │ │ - sub.w lr, lr, ip │ │ │ │ │ - vsub.f64 d0, d0, d1 │ │ │ │ │ - vmul.f64 d1, d5, d15 │ │ │ │ │ - vmul.f64 d5, d5, d12 │ │ │ │ │ + vsub.f64 d8, d0, d1 │ │ │ │ │ + vmul.f64 d1, d13, d14 │ │ │ │ │ + vldr d0, [pc, #652] @ 3b8 │ │ │ │ │ + vmul.f64 d13, d13, d15 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vmla.f64 d1, d2, d12 │ │ │ │ │ - vldr d4, [lr] │ │ │ │ │ - mvn.w lr, #47 @ 0x2f │ │ │ │ │ - vnmls.f64 d5, d2, d15 │ │ │ │ │ - vmul.f64 d7, d7, d14 │ │ │ │ │ - vstr d7, [sp, #24] │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - mla r4, lr, r5, r4 │ │ │ │ │ + vmla.f64 d1, d2, d15 │ │ │ │ │ + vnmls.f64 d13, d2, d14 │ │ │ │ │ + vldr d2, [r0] │ │ │ │ │ + vmul.f64 d4, d7, d0 │ │ │ │ │ + vmla.f64 d2, d8, d5 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + add.w r7, r7, lr, lsl #4 │ │ │ │ │ + add.w lr, r3, r6, lsl #4 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + sub.w r7, r7, ip │ │ │ │ │ + vstr d2, [sp, #16] │ │ │ │ │ + vldr d2, [r9] │ │ │ │ │ + sub.w r9, r9, ip │ │ │ │ │ + vstr d4, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d3, [r9] │ │ │ │ │ + mov.w r9, r6, lsl #3 │ │ │ │ │ vstr d1, [sp, #48] @ 0x30 │ │ │ │ │ - eor.w r5, r5, fp │ │ │ │ │ - vstr d5, [sp, #56] @ 0x38 │ │ │ │ │ - vadd.f64 d6, d7, d4 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ - vmla.f64 d5, d0, d9 │ │ │ │ │ - vldr d1, [r4] │ │ │ │ │ - sub.w r4, r4, ip │ │ │ │ │ - add.w ip, r2, r9 │ │ │ │ │ - vstr d5, [sp, #16] │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - add.w r4, r3, r7, lsl #4 │ │ │ │ │ - vadd.f64 d2, d1, d5 │ │ │ │ │ - vsub.f64 d5, d1, d5 │ │ │ │ │ - vmul.f64 d1, d6, d12 │ │ │ │ │ - vnmls.f64 d1, d5, d15 │ │ │ │ │ - vstr d1, [sp, #64] @ 0x40 │ │ │ │ │ - vmul.f64 d1, d6, d15 │ │ │ │ │ - vadd.f64 d6, d7, d2 │ │ │ │ │ - vsub.f64 d7, d7, d2 │ │ │ │ │ - vldr d2, [pc, #500] @ 378 │ │ │ │ │ - vmla.f64 d1, d5, d12 │ │ │ │ │ - vmul.f64 d7, d7, d14 │ │ │ │ │ - vmul.f64 d5, d6, d9 │ │ │ │ │ - vsub.f64 d6, d6, d4 │ │ │ │ │ - vmov.f64 d9, d7 │ │ │ │ │ - vadd.f64 d7, d5, d7 │ │ │ │ │ - vmls.f64 d9, d4, d2 │ │ │ │ │ - vsub.f64 d6, d6, d3 │ │ │ │ │ - vmov.f64 d2, d9 │ │ │ │ │ - vadd.f64 d9, d5, d3 │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + mov.w r7, r4, lsl #2 │ │ │ │ │ + add.w ip, r7, r4 │ │ │ │ │ + sub.w r7, r4, r7 │ │ │ │ │ + add.w ip, r8, ip, lsl #3 │ │ │ │ │ + vadd.f64 d6, d5, d3 │ │ │ │ │ + vadd.f64 d1, d7, d4 │ │ │ │ │ + vsub.f64 d7, d7, d4 │ │ │ │ │ + vmul.f64 d4, d6, d15 │ │ │ │ │ + vmul.f64 d6, d6, d14 │ │ │ │ │ + vnmls.f64 d4, d7, d14 │ │ │ │ │ + vmla.f64 d6, d7, d15 │ │ │ │ │ + vstr d4, [sp, #64] @ 0x40 │ │ │ │ │ + vadd.f64 d4, d5, d1 │ │ │ │ │ + vsub.f64 d5, d5, d1 │ │ │ │ │ + vldr d1, [pc, #520] @ 3c0 │ │ │ │ │ + vmul.f64 d5, d5, d0 │ │ │ │ │ + vmov.f64 d0, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vmul.f64 d7, d4, d0 │ │ │ │ │ + vsub.f64 d4, d4, d3 │ │ │ │ │ + vmov.f64 d0, d5 │ │ │ │ │ + vmls.f64 d0, d3, d1 │ │ │ │ │ + vadd.f64 d1, d7, d2 │ │ │ │ │ + vadd.f64 d7, d7, d5 │ │ │ │ │ vldr d5, [r0] │ │ │ │ │ - vsub.f64 d2, d2, d9 │ │ │ │ │ - vldr d9, [pc, #456] @ 380 │ │ │ │ │ - vstr d2, [sp, #72] @ 0x48 │ │ │ │ │ - vmov.f64 d2, d3 │ │ │ │ │ - vnmls.f64 d2, d4, d9 │ │ │ │ │ - vsub.f64 d7, d2, d7 │ │ │ │ │ - vsub.f64 d2, d5, d0 │ │ │ │ │ - vadd.f64 d5, d8, d10 │ │ │ │ │ - vldr d0, [sp] │ │ │ │ │ - vsub.f64 d5, d5, d0 │ │ │ │ │ - vadd.f64 d4, d5, d6 │ │ │ │ │ - vsub.f64 d5, d5, d6 │ │ │ │ │ - vmov.f64 d6, d2 │ │ │ │ │ - vmul.f64 d5, d5, d11 │ │ │ │ │ - vadd.f64 d2, d2, d4 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ - vmov.f64 d5, #96 @ 0x3f000000 0.5 │ │ │ │ │ - sub.w r4, r4, r8 │ │ │ │ │ - vmls.f64 d6, d4, d5 │ │ │ │ │ - vldr d4, [sp, #24] │ │ │ │ │ - vstr d6, [ip] │ │ │ │ │ - mla ip, sl, r6, ip │ │ │ │ │ - vldr d6, [sp, #16] │ │ │ │ │ - vstr d2, [ip] │ │ │ │ │ - vadd.f64 d4, d6, d4 │ │ │ │ │ - vadd.f64 d6, d13, d1 │ │ │ │ │ - vsub.f64 d1, d13, d1 │ │ │ │ │ - vldr d13, [sp, #56] @ 0x38 │ │ │ │ │ - mla ip, lr, r6, ip │ │ │ │ │ - vldr d2, [sp, #8] │ │ │ │ │ - mvn.w lr, #23 │ │ │ │ │ - vmls.f64 d2, d10, d9 │ │ │ │ │ - vldr d9, [sp, #40] @ 0x28 │ │ │ │ │ + vsub.f64 d4, d4, d2 │ │ │ │ │ + vsub.f64 d0, d0, d1 │ │ │ │ │ + vmov.f64 d1, d2 │ │ │ │ │ + vldr d2, [sp, #16] │ │ │ │ │ + vstr d0, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d0, [pc, #468] @ 3c8 │ │ │ │ │ + vnmls.f64 d1, d3, d0 │ │ │ │ │ + vsub.f64 d7, d1, d7 │ │ │ │ │ + vsub.f64 d1, d5, d8 │ │ │ │ │ + vldr d5, [sp] │ │ │ │ │ + vldr d8, [sp, #8] │ │ │ │ │ + vadd.f64 d5, d9, d5 │ │ │ │ │ + vsub.f64 d5, d5, d8 │ │ │ │ │ + vadd.f64 d3, d5, d4 │ │ │ │ │ + vsub.f64 d5, d5, d4 │ │ │ │ │ + vmul.f64 d5, d5, d12 │ │ │ │ │ + vstr d5, [lr] │ │ │ │ │ + vmov.f64 d5, d1 │ │ │ │ │ + vadd.f64 d1, d1, d3 │ │ │ │ │ + sub.w lr, lr, r9 │ │ │ │ │ + vmls.f64 d5, d3, d11 │ │ │ │ │ vmov.f64 d3, d13 │ │ │ │ │ - vmul.f64 d6, d6, d11 │ │ │ │ │ - vadd.f64 d0, d8, d9 │ │ │ │ │ - vnmls.f64 d3, d1, d5 │ │ │ │ │ - vadd.f64 d1, d13, d1 │ │ │ │ │ - vldr d13, [sp, #24] │ │ │ │ │ - vadd.f64 d0, d2, d0 │ │ │ │ │ - vadd.f64 d2, d7, d0 │ │ │ │ │ - vsub.f64 d7, d7, d0 │ │ │ │ │ - vadd.f64 d0, d4, d2 │ │ │ │ │ - vmul.f64 d7, d7, d11 │ │ │ │ │ - vmls.f64 d4, d2, d5 │ │ │ │ │ - vstr d0, [ip] │ │ │ │ │ - add ip, r9 │ │ │ │ │ - vstr d1, [r4] │ │ │ │ │ - vsub.f64 d1, d7, d3 │ │ │ │ │ - mla r4, sl, r7, r4 │ │ │ │ │ + vstr d5, [r8] │ │ │ │ │ + vadd.f64 d5, d10, d6 │ │ │ │ │ + vsub.f64 d6, d10, d6 │ │ │ │ │ + vstr d1, [ip] │ │ │ │ │ + mov.w r8, r6, lsl #2 │ │ │ │ │ + vldr d8, [sp, #56] @ 0x38 │ │ │ │ │ + add.w ip, ip, r7, lsl #4 │ │ │ │ │ + add.w r7, r8, r6 │ │ │ │ │ + sub.w r8, r6, r8 │ │ │ │ │ + vldr d1, [sp] │ │ │ │ │ + add.w r7, lr, r7, lsl #3 │ │ │ │ │ + eor.w r6, r6, fp │ │ │ │ │ + vldr d10, [sp, #40] @ 0x28 │ │ │ │ │ + vnmls.f64 d3, d6, d11 │ │ │ │ │ + vadd.f64 d13, d13, d6 │ │ │ │ │ + vmul.f64 d5, d5, d12 │ │ │ │ │ + vadd.f64 d4, d2, d8 │ │ │ │ │ + vmov.f64 d2, d10 │ │ │ │ │ + vmls.f64 d2, d1, d0 │ │ │ │ │ + vldr d0, [sp, #32] │ │ │ │ │ + vadd.f64 d1, d9, d0 │ │ │ │ │ + vadd.f64 d1, d2, d1 │ │ │ │ │ + vadd.f64 d2, d7, d1 │ │ │ │ │ + vsub.f64 d7, d7, d1 │ │ │ │ │ + vmul.f64 d7, d7, d12 │ │ │ │ │ + vadd.f64 d1, d4, d2 │ │ │ │ │ + vmls.f64 d4, d2, d11 │ │ │ │ │ + vldr d2, [sp, #16] │ │ │ │ │ + vsub.f64 d6, d7, d3 │ │ │ │ │ vadd.f64 d3, d3, d7 │ │ │ │ │ - vldr d0, [sp, #48] @ 0x30 │ │ │ │ │ - vsub.f64 d7, d4, d6 │ │ │ │ │ - vadd.f64 d6, d6, d4 │ │ │ │ │ - vstr d1, [r4] │ │ │ │ │ - mla r4, lr, r7, r4 │ │ │ │ │ - vldr d1, [sp, #8] │ │ │ │ │ - mov.w lr, #24 │ │ │ │ │ - vldr d4, [sp, #32] │ │ │ │ │ - eor.w r7, r7, fp │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ - mla lr, lr, r6, ip │ │ │ │ │ + vstr d1, [ip] │ │ │ │ │ + vstr d13, [lr] │ │ │ │ │ + add.w lr, r4, r4, lsl #1 │ │ │ │ │ + add ip, sl │ │ │ │ │ + vldr d13, [pc, #256] @ 3c0 │ │ │ │ │ + add.w lr, ip, lr, lsl #3 │ │ │ │ │ + vldr d1, [sp, #48] @ 0x30 │ │ │ │ │ + vsub.f64 d7, d4, d5 │ │ │ │ │ + vadd.f64 d5, d5, d4 │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ + add.w r7, r7, r8, lsl #3 │ │ │ │ │ + vsub.f64 d6, d2, d8 │ │ │ │ │ + vldr d2, [sp] │ │ │ │ │ + vstr d3, [r7] │ │ │ │ │ + vmov.f64 d3, d9 │ │ │ │ │ + add r7, r9 │ │ │ │ │ + vldr d4, [sp, #64] @ 0x40 │ │ │ │ │ vstr d7, [ip] │ │ │ │ │ - add r4, r8 │ │ │ │ │ - vldr d7, [sp, #16] │ │ │ │ │ - vldr d3, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d6, [lr] │ │ │ │ │ - sub.w lr, lr, r9 │ │ │ │ │ - vsub.f64 d7, d7, d13 │ │ │ │ │ - vldr d13, [pc, #180] @ 378 │ │ │ │ │ - vadd.f64 d6, d4, d3 │ │ │ │ │ - vsub.f64 d3, d3, d4 │ │ │ │ │ - vmov.f64 d4, d0 │ │ │ │ │ - vmla.f64 d8, d10, d13 │ │ │ │ │ - vmul.f64 d6, d6, d11 │ │ │ │ │ - vnmls.f64 d4, d3, d5 │ │ │ │ │ - vadd.f64 d3, d0, d3 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ - add r4, r8 │ │ │ │ │ - vadd.f64 d2, d8, d1 │ │ │ │ │ - vldr d8, [sp, #72] @ 0x48 │ │ │ │ │ - vsub.f64 d2, d2, d9 │ │ │ │ │ - vadd.f64 d1, d8, d2 │ │ │ │ │ - vsub.f64 d9, d8, d2 │ │ │ │ │ - vadd.f64 d3, d7, d1 │ │ │ │ │ - vmul.f64 d9, d9, d11 │ │ │ │ │ - vmls.f64 d7, d1, d5 │ │ │ │ │ - vstr d3, [lr] │ │ │ │ │ - vsub.f64 d3, d4, d9 │ │ │ │ │ - vadd.f64 d4, d4, d9 │ │ │ │ │ - add.w lr, lr, r6, lsl #3 │ │ │ │ │ - eor.w r6, r6, fp │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ - vadd.f64 d5, d6, d7 │ │ │ │ │ - ldr r4, [sp, #80] @ 0x50 │ │ │ │ │ - vsub.f64 d7, d7, d6 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - add r0, r4 │ │ │ │ │ - add r1, r4 │ │ │ │ │ - ldr r4, [sp, #84] @ 0x54 │ │ │ │ │ + vstr d5, [lr] │ │ │ │ │ + sub.w lr, lr, sl │ │ │ │ │ + vmla.f64 d3, d2, d13 │ │ │ │ │ + vldr d5, [sp, #24] │ │ │ │ │ + vadd.f64 d7, d5, d4 │ │ │ │ │ + vsub.f64 d4, d4, d5 │ │ │ │ │ + vmov.f64 d5, d1 │ │ │ │ │ + vadd.f64 d3, d3, d10 │ │ │ │ │ + vnmls.f64 d5, d4, d11 │ │ │ │ │ + vadd.f64 d4, d1, d4 │ │ │ │ │ + vmul.f64 d7, d7, d12 │ │ │ │ │ + vsub.f64 d3, d3, d0 │ │ │ │ │ + vldr d0, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ + add r7, r9 │ │ │ │ │ + vadd.f64 d2, d0, d3 │ │ │ │ │ + vsub.f64 d0, d0, d3 │ │ │ │ │ + vadd.f64 d4, d6, d2 │ │ │ │ │ + vmul.f64 d0, d0, d12 │ │ │ │ │ + vmls.f64 d6, d2, d11 │ │ │ │ │ + vstr d4, [lr] │ │ │ │ │ + vsub.f64 d4, d5, d0 │ │ │ │ │ + vadd.f64 d5, d5, d0 │ │ │ │ │ + add.w lr, lr, r4, lsl #3 │ │ │ │ │ + eor.w r4, r4, fp │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ + ldr r7, [sp, #80] @ 0x50 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + vadd.f64 d5, d7, d6 │ │ │ │ │ + vsub.f64 d6, d6, d7 │ │ │ │ │ + add r0, r7 │ │ │ │ │ + add r1, r7 │ │ │ │ │ + ldr r7, [sp, #84] @ 0x54 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ - add r3, r4 │ │ │ │ │ - add r2, r4 │ │ │ │ │ - ldr r4, [sp, #204] @ 0xcc │ │ │ │ │ - vstr d7, [lr] │ │ │ │ │ - subs r4, #1 │ │ │ │ │ - str r4, [sp, #204] @ 0xcc │ │ │ │ │ - bne.w 4a │ │ │ │ │ + vstr d6, [lr] │ │ │ │ │ + add r3, r7 │ │ │ │ │ + add r2, r7 │ │ │ │ │ + ldr r7, [sp, #204] @ 0xcc │ │ │ │ │ + subs r7, #1 │ │ │ │ │ + str r7, [sp, #204] @ 0xcc │ │ │ │ │ + bne.w 5a │ │ │ │ │ add sp, #92 @ 0x5c │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop.w │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ - .word 0x9b97f4a8 │ │ │ │ │ - .word 0x3fe1e377 │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3febb67a │ │ │ │ │ + .word 0x9b97f4a8 │ │ │ │ │ + .word 0x3fe1e377 │ │ │ │ │ .word 0x372fe950 │ │ │ │ │ .word 0x3fd3c6ef │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe9e377 │ │ │ │ │ - .word 0x00000378 │ │ │ │ │ + .word 0x000003a8 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ │ │ │ │ │ -00000390 : │ │ │ │ │ +000003d8 : │ │ │ │ │ fftw_codelet_r2cfII_15(): │ │ │ │ │ - ldr r2, [pc, #8] @ (39c ) │ │ │ │ │ - ldr r1, [pc, #12] @ (3a0 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (3e4 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (3e8 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cfII_16.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1680 (bytes into file) │ │ │ │ │ + Start of section headers: 1720 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x690: │ │ │ │ │ +There are 13 section headers, starting at offset 0x6b8: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0003bc 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0005e8 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0003f0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0003f0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0003f0 00000a 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 0003fa 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000610 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 00042a 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 00042a 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 000460 000100 10 11 11 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 000560 000085 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000620 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0003e4 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000610 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000418 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000418 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000418 00000a 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 000422 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000638 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 000452 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000452 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 000488 000100 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 000588 000085 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000648 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 16 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 936 FUNC LOCAL DEFAULT 1 r2cfII_16 │ │ │ │ │ + 1: 00000001 976 FUNC LOCAL DEFAULT 1 r2cfII_16 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000368 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 000003a8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000003b4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000390 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 000003d0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000003dc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 13: 000003a9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_16 │ │ │ │ │ + 13: 000003d1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_16 │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cfII_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x5e8 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x610 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000003a0 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -000003a4 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000003b4 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000003b8 00000103 R_ARM_REL32 00000001 r2cfII_16 │ │ │ │ │ -000003b0 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +000003c8 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +000003cc 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +000003dc 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000003e0 00000103 R_ARM_REL32 00000001 r2cfII_16 │ │ │ │ │ +000003d8 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x610 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x638 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000f02 R_ARM_ABS32 00000000 fftw_rdft_r2cfII_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,272 +1,280 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cfII_16(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - ldr r7, [pc, #920] @ (3a0 ) │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #100 @ 0x64 │ │ │ │ │ - add r7, pc │ │ │ │ │ - ldr r4, [sp, #212] @ 0xd4 │ │ │ │ │ + ldr r7, [pc, #940] @ (3c8 ) │ │ │ │ │ + ldrd r5, r4, [sp, #208] @ 0xd0 │ │ │ │ │ ldrd lr, r6, [sp, #200] @ 0xc8 │ │ │ │ │ + add r7, pc │ │ │ │ │ cmp r4, #0 │ │ │ │ │ - ldr r5, [sp, #208] @ 0xd0 │ │ │ │ │ - ble.w 358 │ │ │ │ │ + ble.w 372 │ │ │ │ │ ldr r4, [sp, #216] @ 0xd8 │ │ │ │ │ - ldr.w ip, [pc, #900] @ 3a4 │ │ │ │ │ - vldr d0, [pc, #836] @ 368 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ + ldr.w ip, [pc, #924] @ 3cc │ │ │ │ │ + vldr d0, [pc, #860] @ 390 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + vldr d15, [pc, #860] @ 398 │ │ │ │ │ str r4, [sp, #88] @ 0x58 │ │ │ │ │ ldr r4, [sp, #220] @ 0xdc │ │ │ │ │ - vldr d15, [pc, #832] @ 370 │ │ │ │ │ - vldr d14, [pc, #836] @ 378 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ + vldr d14, [pc, #860] @ 3a0 │ │ │ │ │ + vldr d12, [pc, #864] @ 3a8 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + vldr d10, [pc, #864] @ 3b0 │ │ │ │ │ str r4, [sp, #92] @ 0x5c │ │ │ │ │ - ldr.w r7, [r7, ip] │ │ │ │ │ mov r4, lr │ │ │ │ │ - vldr d12, [pc, #832] @ 380 │ │ │ │ │ - vldr d10, [pc, #836] @ 388 │ │ │ │ │ + ldr.w r7, [r7, ip] │ │ │ │ │ + vldr d9, [pc, #860] @ 3b8 │ │ │ │ │ ldr.w r8, [r7] │ │ │ │ │ - vldr d9, [pc, #836] @ 390 │ │ │ │ │ mov.w lr, r4, lsl #5 │ │ │ │ │ mov.w sl, r4, lsl #4 │ │ │ │ │ - add.w r7, r0, lr │ │ │ │ │ - mov.w ip, #24 │ │ │ │ │ vldr d4, [r0] │ │ │ │ │ + add.w r7, r0, lr │ │ │ │ │ + add.w r9, r4, r4, lsl #1 │ │ │ │ │ vldr d5, [r7] │ │ │ │ │ add.w r7, r0, sl │ │ │ │ │ add sl, r1 │ │ │ │ │ vldr d7, [r7] │ │ │ │ │ add r7, lr │ │ │ │ │ vldr d3, [r7] │ │ │ │ │ - movs r7, #56 @ 0x38 │ │ │ │ │ + mov.w r7, r4, lsl #3 │ │ │ │ │ + sub.w ip, r7, r4 │ │ │ │ │ + add.w ip, r1, ip, lsl #3 │ │ │ │ │ vsub.f64 d6, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ - mla r7, r7, r4, r1 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ vsub.f64 d1, d5, d7 │ │ │ │ │ vadd.f64 d7, d5, d7 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ - mul.w r7, ip, r4 │ │ │ │ │ + vldr d5, [ip] │ │ │ │ │ + mov.w ip, r9, lsl #3 │ │ │ │ │ vadd.f64 d2, d4, d6 │ │ │ │ │ - vsub.f64 d11, d4, d6 │ │ │ │ │ - add.w ip, r1, r7 │ │ │ │ │ + vsub.f64 d13, d4, d6 │ │ │ │ │ + add.w r9, r1, r9, lsl #4 │ │ │ │ │ + add.w fp, r1, ip │ │ │ │ │ + add ip, r0 │ │ │ │ │ + vldr d4, [fp] │ │ │ │ │ + add.w fp, r1, r7 │ │ │ │ │ add r7, r0 │ │ │ │ │ vstr d1, [sp, #72] @ 0x48 │ │ │ │ │ vmov.f64 d1, d7 │ │ │ │ │ - vldr d4, [ip] │ │ │ │ │ - mov.w ip, r4, lsl #3 │ │ │ │ │ - add.w r9, r1, ip │ │ │ │ │ - add ip, r0 │ │ │ │ │ - vstr d11, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d7, [fp] │ │ │ │ │ + add.w fp, r4, r4, lsl #2 │ │ │ │ │ + eor.w r4, r4, r8 │ │ │ │ │ vstr d2, [sp] │ │ │ │ │ - vldr d7, [r9] │ │ │ │ │ - mov.w r9, #40 @ 0x28 │ │ │ │ │ + add.w fp, r1, fp, lsl #3 │ │ │ │ │ + vstr d13, [sp, #80] @ 0x50 │ │ │ │ │ vstr d1, [sp, #8] │ │ │ │ │ - mla fp, r9, r4, r1 │ │ │ │ │ vldr d3, [fp] │ │ │ │ │ add.w fp, r1, lr │ │ │ │ │ + vldr d13, [fp] │ │ │ │ │ + mov.w fp, r5, lsl #3 │ │ │ │ │ vsub.f64 d6, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ - vldr d11, [fp] │ │ │ │ │ - mov.w fp, r6, lsl #3 │ │ │ │ │ - vmul.f64 d7, d7, d0 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ + vsub.f64 d3, d6, d5 │ │ │ │ │ vsub.f64 d8, d4, d7 │ │ │ │ │ vadd.f64 d7, d4, d7 │ │ │ │ │ - vsub.f64 d3, d6, d5 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ + vstr d3, [sp, #16] │ │ │ │ │ + vldr d3, [r9] │ │ │ │ │ + mov.w r9, r5, lsl #5 │ │ │ │ │ + vstr d8, [sp, #24] │ │ │ │ │ vstr d7, [sp, #32] │ │ │ │ │ vldr d7, [sl] │ │ │ │ │ - mov.w sl, #48 @ 0x30 │ │ │ │ │ - vstr d3, [sp, #16] │ │ │ │ │ + mov.w sl, r6, lsl #3 │ │ │ │ │ vstr d5, [sp, #40] @ 0x28 │ │ │ │ │ - mla sl, sl, r4, r1 │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ - vstr d8, [sp, #24] │ │ │ │ │ - eor.w r4, r4, r8 │ │ │ │ │ - vldr d3, [sl] │ │ │ │ │ - mov.w sl, r5, lsl #5 │ │ │ │ │ vsub.f64 d6, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ - vldr d3, [r7] │ │ │ │ │ - add r7, lr │ │ │ │ │ + vldr d3, [ip] │ │ │ │ │ + add ip, lr │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ - vadd.f64 d13, d5, d6 │ │ │ │ │ + vadd.f64 d11, d5, d6 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ - add ip, lr │ │ │ │ │ - vsub.f64 d4, d11, d7 │ │ │ │ │ - vadd.f64 d11, d11, d7 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + add r7, lr │ │ │ │ │ + vsub.f64 d4, d13, d7 │ │ │ │ │ + vadd.f64 d13, d13, d7 │ │ │ │ │ mov.w lr, r6, lsl #5 │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ - add.w ip, r2, lr │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + sub.w r7, fp, r5 │ │ │ │ │ + add.w r7, r3, r7, lsl #3 │ │ │ │ │ + vstr d11, [sp, #48] @ 0x30 │ │ │ │ │ vstr d5, [sp, #64] @ 0x40 │ │ │ │ │ vstr d4, [sp, #56] @ 0x38 │ │ │ │ │ vmul.f64 d5, d7, d14 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ - vmla.f64 d7, d6, d14 │ │ │ │ │ - vstr d13, [sp, #48] @ 0x30 │ │ │ │ │ vnmls.f64 d5, d6, d15 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - movs r7, #56 @ 0x38 │ │ │ │ │ + vmla.f64 d7, d6, d14 │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + add.w ip, r2, lr │ │ │ │ │ vmul.f64 d4, d6, d15 │ │ │ │ │ vmul.f64 d6, d6, d14 │ │ │ │ │ vmla.f64 d6, d3, d15 │ │ │ │ │ - mla r7, r7, r5, r3 │ │ │ │ │ vnmls.f64 d4, d3, d14 │ │ │ │ │ vsub.f64 d8, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [sp, #48] @ 0x30 │ │ │ │ │ vadd.f64 d3, d5, d4 │ │ │ │ │ - vsub.f64 d13, d4, d5 │ │ │ │ │ - vmul.f64 d4, d11, d10 │ │ │ │ │ - vmul.f64 d11, d11, d12 │ │ │ │ │ + vsub.f64 d11, d4, d5 │ │ │ │ │ + vmul.f64 d4, d13, d10 │ │ │ │ │ + vmul.f64 d13, d13, d12 │ │ │ │ │ vmla.f64 d4, d6, d12 │ │ │ │ │ vldr d6, [sp, #32] │ │ │ │ │ vsub.f64 d5, d2, d3 │ │ │ │ │ vadd.f64 d2, d1, d7 │ │ │ │ │ - vmul.f64 d6, d6, d10 │ │ │ │ │ vldr d1, [sp, #16] │ │ │ │ │ + vmul.f64 d6, d6, d10 │ │ │ │ │ vnmls.f64 d6, d1, d12 │ │ │ │ │ vadd.f64 d1, d4, d6 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vsub.f64 d4, d5, d1 │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ vstr d4, [ip] │ │ │ │ │ vadd.f64 d4, d2, d6 │ │ │ │ │ - sub.w ip, ip, fp │ │ │ │ │ + sub.w ip, ip, sl │ │ │ │ │ vsub.f64 d6, d6, d2 │ │ │ │ │ vstr d4, [r7] │ │ │ │ │ - sub.w r7, r7, sl │ │ │ │ │ + sub.w r7, r7, r9 │ │ │ │ │ vstr d5, [ip] │ │ │ │ │ add ip, lr │ │ │ │ │ - vldr d5, [sp, #8] │ │ │ │ │ vldr d2, [sp] │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ + vldr d5, [sp, #8] │ │ │ │ │ + vldr d1, [sp, #72] @ 0x48 │ │ │ │ │ + vadd.f64 d6, d2, d3 │ │ │ │ │ + vldr d3, [sp, #16] │ │ │ │ │ vsub.f64 d7, d5, d7 │ │ │ │ │ vldr d5, [sp, #32] │ │ │ │ │ - vadd.f64 d6, d2, d3 │ │ │ │ │ vldr d2, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d3, [sp, #16] │ │ │ │ │ vmul.f64 d5, d5, d12 │ │ │ │ │ - vldr d1, [sp, #72] @ 0x48 │ │ │ │ │ - vnmls.f64 d11, d2, d10 │ │ │ │ │ - vldr d2, [pc, #352] @ 398 │ │ │ │ │ + vnmls.f64 d13, d2, d10 │ │ │ │ │ + vldr d2, [pc, #368] @ 3c0 │ │ │ │ │ vmla.f64 d5, d3, d10 │ │ │ │ │ - vadd.f64 d4, d11, d5 │ │ │ │ │ - vsub.f64 d5, d5, d11 │ │ │ │ │ - vldr d11, [sp, #80] @ 0x50 │ │ │ │ │ + vadd.f64 d4, d13, d5 │ │ │ │ │ + vsub.f64 d5, d5, d13 │ │ │ │ │ + vldr d13, [sp, #80] @ 0x50 │ │ │ │ │ vsub.f64 d3, d6, d4 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ vldr d4, [sp, #24] │ │ │ │ │ vstr d3, [ip] │ │ │ │ │ vadd.f64 d3, d7, d5 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ vldr d7, [sp, #56] @ 0x38 │ │ │ │ │ vmul.f64 d4, d4, d2 │ │ │ │ │ - sub.w ip, ip, fp │ │ │ │ │ - mvn.w fp, #39 @ 0x27 │ │ │ │ │ + sub.w ip, ip, sl │ │ │ │ │ + mvn.w sl, #39 @ 0x27 │ │ │ │ │ vstr d3, [r7] │ │ │ │ │ - vmul.f64 d7, d7, d2 │ │ │ │ │ + add r7, fp │ │ │ │ │ vldr d3, [sp, #64] @ 0x40 │ │ │ │ │ - add.w r7, r7, r5, lsl #3 │ │ │ │ │ + vmul.f64 d7, d7, d2 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ - vsub.f64 d6, d13, d1 │ │ │ │ │ - mla fp, fp, r6, ip │ │ │ │ │ - vadd.f64 d13, d1, d13 │ │ │ │ │ - vmla.f64 d7, d3, d9 │ │ │ │ │ - vldr d3, [sp, #40] @ 0x28 │ │ │ │ │ + vsub.f64 d6, d11, d1 │ │ │ │ │ + vadd.f64 d11, d1, d11 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ - vadd.f64 d5, d11, d8 │ │ │ │ │ + vadd.f64 d5, d13, d8 │ │ │ │ │ sub.w r7, r7, r5, lsl #4 │ │ │ │ │ + vmla.f64 d7, d3, d9 │ │ │ │ │ + vldr d3, [sp, #40] @ 0x28 │ │ │ │ │ vmla.f64 d4, d3, d9 │ │ │ │ │ vsub.f64 d3, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ vsub.f64 d4, d5, d3 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ vstr d4, [ip] │ │ │ │ │ vsub.f64 d4, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - mov.w ip, #24 │ │ │ │ │ - vsub.f64 d7, d11, d8 │ │ │ │ │ - vstr d4, [r7] │ │ │ │ │ - mla r7, ip, r5, r7 │ │ │ │ │ + mla ip, sl, r6, ip │ │ │ │ │ + vsub.f64 d7, d13, d8 │ │ │ │ │ + add.w sl, r5, r5, lsl #1 │ │ │ │ │ vneg.f64 d6, d6 │ │ │ │ │ - vstr d5, [fp] │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ + add.w r7, r7, sl, lsl #3 │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ + add ip, lr │ │ │ │ │ + sub.w lr, r6, r6, lsl #2 │ │ │ │ │ vldr d4, [sp, #24] │ │ │ │ │ - add fp, lr │ │ │ │ │ - vldr d5, [sp, #56] @ 0x38 │ │ │ │ │ - mvn.w ip, #23 │ │ │ │ │ + eor.w r6, r6, r8 │ │ │ │ │ vstr d6, [r7] │ │ │ │ │ - sub.w r7, r7, sl │ │ │ │ │ + sub.w r7, r7, r9 │ │ │ │ │ vldr d6, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d5, [sp, #56] @ 0x38 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ vnmls.f64 d6, d4, d9 │ │ │ │ │ vldr d4, [sp, #64] @ 0x40 │ │ │ │ │ vmul.f64 d4, d4, d2 │ │ │ │ │ vnmls.f64 d4, d5, d9 │ │ │ │ │ vsub.f64 d3, d6, d4 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ vsub.f64 d4, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ - vstr d4, [fp] │ │ │ │ │ - vadd.f64 d4, d13, d6 │ │ │ │ │ - mla fp, ip, r6, fp │ │ │ │ │ - vsub.f64 d6, d6, d13 │ │ │ │ │ - eor.w r6, r6, r8 │ │ │ │ │ + vstr d4, [ip] │ │ │ │ │ + vadd.f64 d4, d11, d6 │ │ │ │ │ + add.w ip, ip, lr, lsl #3 │ │ │ │ │ + vsub.f64 d6, d6, d11 │ │ │ │ │ vstr d4, [r7] │ │ │ │ │ - mla r7, r9, r5, r7 │ │ │ │ │ - vstr d7, [fp] │ │ │ │ │ + vstr d7, [ip] │ │ │ │ │ + add.w ip, r5, r5, lsl #2 │ │ │ │ │ eor.w r5, r5, r8 │ │ │ │ │ + add.w r7, r7, ip, lsl #3 │ │ │ │ │ vstr d6, [r7] │ │ │ │ │ ldr r7, [sp, #88] @ 0x58 │ │ │ │ │ add r0, r7 │ │ │ │ │ add r1, r7 │ │ │ │ │ ldr r7, [sp, #92] @ 0x5c │ │ │ │ │ add r2, r7 │ │ │ │ │ add r3, r7 │ │ │ │ │ ldr r7, [sp, #212] @ 0xd4 │ │ │ │ │ subs r7, #1 │ │ │ │ │ str r7, [sp, #212] @ 0xd4 │ │ │ │ │ - bne.w 4e │ │ │ │ │ + bne.w 62 │ │ │ │ │ add sp, #100 @ 0x64 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop │ │ │ │ │ - nop.w │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ .word 0x3c69a60b │ │ │ │ │ .word 0x3fc8f8b8 │ │ │ │ │ .word 0xcff75cb0 │ │ │ │ │ .word 0x3fef6297 │ │ │ │ │ .word 0x290ea1a3 │ │ │ │ │ .word 0x3fea9b66 │ │ │ │ │ .word 0x39ae68c8 │ │ │ │ │ .word 0x3fe1c73b │ │ │ │ │ - .word 0x00000390 │ │ │ │ │ + .word 0x000003a0 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ │ │ │ │ │ -000003a8 : │ │ │ │ │ +000003d0 : │ │ │ │ │ fftw_codelet_r2cfII_16(): │ │ │ │ │ - ldr r2, [pc, #8] @ (3b4 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (3b8 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (3dc ) │ │ │ │ │ + ldr r1, [pc, #12] @ (3e0 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cfII_2.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 688 (bytes into file) │ │ │ │ │ + Start of section headers: 708 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x2b0: │ │ │ │ │ +There are 13 section headers, starting at offset 0x2c4: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00006c 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000218 000018 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0000a0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0000a0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0000a0 000009 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 0000a9 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000230 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 0000d9 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0000d9 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 00010c 0000c0 10 11 9 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 0001cc 00004c 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000240 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000080 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 00022c 000018 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0000b4 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0000b4 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0000b4 000009 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0000bd 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000244 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 0000ed 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0000ed 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 000120 0000c0 10 11 9 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 0001e0 00004c 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000254 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,15 +1,15 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 12 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 88 FUNC LOCAL DEFAULT 1 r2cfII_2 │ │ │ │ │ + 1: 00000001 106 FUNC LOCAL DEFAULT 1 r2cfII_2 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000064 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000078 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 4: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 8: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ - 9: 00000059 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_2 │ │ │ │ │ + 9: 0000006d 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_2 │ │ │ │ │ 10: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cfII_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,11 +1,11 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x218 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x22c contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000064 00000603 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000068 00000103 R_ARM_REL32 00000001 r2cfII_2 │ │ │ │ │ -00000060 00000a1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +00000078 00000603 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +0000007c 00000103 R_ARM_REL32 00000001 r2cfII_2 │ │ │ │ │ +00000074 00000a1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x230 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x244 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000402 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000b02 R_ARM_ABS32 00000000 fftw_rdft_r2cfII_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,50 +1,56 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cfII_2(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ - ldr r5, [sp, #36] @ 0x24 │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ ldrd r4, r6, [sp, #28] │ │ │ │ │ + ldr r5, [sp, #36] @ 0x24 │ │ │ │ │ cmp r4, #0 │ │ │ │ │ - ble.n 2c │ │ │ │ │ + ble.n 32 │ │ │ │ │ cmp r6, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r5, #1 │ │ │ │ │ - bne.n 2e │ │ │ │ │ + bne.n 3a │ │ │ │ │ vldmia r1!, {d7} │ │ │ │ │ subs r4, #1 │ │ │ │ │ vldmia r0!, {d6} │ │ │ │ │ vneg.f64 d7, d7 │ │ │ │ │ vstmia r2!, {d6} │ │ │ │ │ vstmia r3!, {d7} │ │ │ │ │ - bne.n 14 │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ + bne.n 1a │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ mov.w lr, r6, lsl #3 │ │ │ │ │ mov.w ip, r5, lsl #3 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ subs r4, #1 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ add r1, lr │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ add r0, lr │ │ │ │ │ vneg.f64 d7, d7 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ add r2, ip │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ add r3, ip │ │ │ │ │ - bne.n 36 │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ + bne.n 42 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -00000058 : │ │ │ │ │ +0000006c : │ │ │ │ │ fftw_codelet_r2cfII_2(): │ │ │ │ │ - ldr r2, [pc, #8] @ (64 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (68 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (78 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (7c ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cfII_20.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2020 (bytes into file) │ │ │ │ │ + Start of section headers: 2120 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x7e4: │ │ │ │ │ +There are 13 section headers, starting at offset 0x848: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000510 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00073c 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000544 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000544 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000544 00000a 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 00054e 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000764 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 00057e 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 00057e 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 0005b4 000100 10 11 11 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 0006b4 000085 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000774 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000574 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0007a0 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0005a8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0005a8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0005a8 00000a 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0005b2 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 0007c8 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 0005e2 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0005e2 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 000618 000100 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 000718 000085 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 0007d8 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 16 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1274 FUNC LOCAL DEFAULT 1 r2cfII_20 │ │ │ │ │ + 1: 00000001 1376 FUNC LOCAL DEFAULT 1 r2cfII_20 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000410 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000478 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000508 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000430 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000498 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 0000056c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 13: 000004fd 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_20 │ │ │ │ │ + 13: 00000561 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_20 │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cfII_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x73c contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x7a0 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000470 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000474 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000508 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000050c 00000103 R_ARM_REL32 00000001 r2cfII_20 │ │ │ │ │ -00000504 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +00000490 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000494 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +0000056c 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000570 00000103 R_ARM_REL32 00000001 r2cfII_20 │ │ │ │ │ +00000568 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x764 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x7c8 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000f02 R_ARM_ABS32 00000000 fftw_rdft_r2cfII_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,364 +1,396 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cfII_20(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - ldr.w r7, [pc, #1128] @ 470 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #148 @ 0x94 │ │ │ │ │ - add r7, pc │ │ │ │ │ - ldr r4, [sp, #260] @ 0x104 │ │ │ │ │ - ldrd lr, r5, [sp, #248] @ 0xf8 │ │ │ │ │ - cmp r4, #0 │ │ │ │ │ - ldr r6, [sp, #256] @ 0x100 │ │ │ │ │ - ble.w 4f0 │ │ │ │ │ - ldr r4, [sp, #264] @ 0x108 │ │ │ │ │ - ldr.w ip, [pc, #1104] @ 474 │ │ │ │ │ - vldr d15, [pc, #1000] @ 410 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ - str r4, [sp, #136] @ 0x88 │ │ │ │ │ - ldr r4, [sp, #268] @ 0x10c │ │ │ │ │ - vldr d14, [pc, #1000] @ 418 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ - str r4, [sp, #140] @ 0x8c │ │ │ │ │ - ldr.w r7, [r7, ip] │ │ │ │ │ - mov r4, lr │ │ │ │ │ - str r3, [sp, #76] @ 0x4c │ │ │ │ │ - ldr.w fp, [r7] │ │ │ │ │ - lsls r7, r4, #4 │ │ │ │ │ - mov.w r8, #48 @ 0x30 │ │ │ │ │ - add.w ip, r1, r7 │ │ │ │ │ - mov.w sl, r4, lsl #5 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - mov.w r9, r4, lsl #3 │ │ │ │ │ - mul.w r8, r8, r4 │ │ │ │ │ - vldr d1, [pc, #960] @ 420 │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ - mov.w ip, #56 @ 0x38 │ │ │ │ │ - vldr d8, [pc, #956] @ 428 │ │ │ │ │ - vldr d0, [pc, #960] @ 430 │ │ │ │ │ - mul.w ip, ip, r4 │ │ │ │ │ + ldr r4, [sp, #248] @ 0xf8 │ │ │ │ │ + str r2, [sp, #52] @ 0x34 │ │ │ │ │ + ldr r7, [sp, #260] @ 0x104 │ │ │ │ │ + ldr.w r2, [pc, #1132] @ 490 │ │ │ │ │ + cmp r7, #0 │ │ │ │ │ + add r2, pc │ │ │ │ │ + ble.w 544 │ │ │ │ │ + ldr r7, [sp, #264] @ 0x108 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + str r7, [sp, #132] @ 0x84 │ │ │ │ │ + ldr r7, [sp, #268] @ 0x10c │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + str r7, [sp, #136] @ 0x88 │ │ │ │ │ + ldr.w r7, [pc, #1108] @ 494 │ │ │ │ │ + ldr r2, [r2, r7] │ │ │ │ │ + str r3, [sp, #128] @ 0x80 │ │ │ │ │ + ldr r2, [r2, #0] │ │ │ │ │ + str r2, [sp, #140] @ 0x8c │ │ │ │ │ + mov.w r2, r4, lsl #4 │ │ │ │ │ + vldr d0, [pc, #992] @ 430 │ │ │ │ │ + mov.w ip, r4, lsl #3 │ │ │ │ │ + add.w r7, r1, r2 │ │ │ │ │ + add.w r8, r4, r4, lsl #1 │ │ │ │ │ + vldr d1, [pc, #984] @ 438 │ │ │ │ │ + mov.w r9, r4, lsl #5 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + sub.w r7, ip, r4 │ │ │ │ │ + mov.w sl, r8, lsl #4 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + vldr d14, [pc, #968] @ 440 │ │ │ │ │ + add.w r8, r0, r8, lsl #3 │ │ │ │ │ + add.w lr, r1, r7 │ │ │ │ │ + add r7, r0 │ │ │ │ │ + vldr d10, [pc, #964] @ 448 │ │ │ │ │ vmov.f64 d6, d7 │ │ │ │ │ vstr d7, [sp] │ │ │ │ │ - vmov.f64 d2, d8 │ │ │ │ │ - add.w lr, r1, ip │ │ │ │ │ - vldr d7, [pc, #944] @ 438 │ │ │ │ │ - vldr d13, [pc, #948] @ 440 │ │ │ │ │ - add ip, r0 │ │ │ │ │ - vldr d5, [lr] │ │ │ │ │ - add.w lr, r1, r8 │ │ │ │ │ - vmul.f64 d6, d6, d7 │ │ │ │ │ - add r8, r0 │ │ │ │ │ + vldr d7, [pc, #960] @ 450 │ │ │ │ │ + vldr d15, [pc, #964] @ 458 │ │ │ │ │ + vmov.f64 d2, d10 │ │ │ │ │ + vmul.f64 d11, d6, d7 │ │ │ │ │ + vstr d11, [sp, #56] @ 0x38 │ │ │ │ │ vldr d11, [lr] │ │ │ │ │ - add lr, r7 │ │ │ │ │ - vstr d5, [sp, #16] │ │ │ │ │ - vmul.f64 d5, d5, d7 │ │ │ │ │ - vstr d6, [sp, #8] │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ add.w lr, r1, sl │ │ │ │ │ add sl, r0 │ │ │ │ │ - vstr d5, [sp, #24] │ │ │ │ │ - vldr d3, [lr] │ │ │ │ │ - vadd.f64 d5, d11, d7 │ │ │ │ │ + vldr d12, [lr] │ │ │ │ │ + add lr, r2 │ │ │ │ │ + vldr d6, [lr] │ │ │ │ │ add.w lr, r1, r9 │ │ │ │ │ add r9, r0 │ │ │ │ │ - vadd.f64 d9, d4, d3 │ │ │ │ │ - vsub.f64 d4, d4, d3 │ │ │ │ │ - vldr d6, [lr] │ │ │ │ │ - add lr, r7 │ │ │ │ │ - vmul.f64 d3, d4, d15 │ │ │ │ │ + vldr d3, [lr] │ │ │ │ │ + vmul.f64 d5, d11, d7 │ │ │ │ │ + add.w lr, r1, ip │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + vadd.f64 d4, d12, d6 │ │ │ │ │ + vstr d5, [sp, #8] │ │ │ │ │ + vadd.f64 d9, d7, d3 │ │ │ │ │ + vsub.f64 d7, d7, d3 │ │ │ │ │ + vmul.f64 d3, d7, d0 │ │ │ │ │ + vmul.f64 d7, d7, d1 │ │ │ │ │ + vmla.f64 d3, d4, d1 │ │ │ │ │ + vmov.f64 d8, d7 │ │ │ │ │ + vsub.f64 d7, d6, d9 │ │ │ │ │ + vadd.f64 d9, d6, d9 │ │ │ │ │ + vnmls.f64 d8, d4, d0 │ │ │ │ │ + vmul.f64 d13, d7, d14 │ │ │ │ │ + vldr d7, [lr] │ │ │ │ │ + add lr, r2 │ │ │ │ │ + vmul.f64 d6, d9, d10 │ │ │ │ │ vldr d10, [lr] │ │ │ │ │ - vmla.f64 d3, d5, d1 │ │ │ │ │ - add lr, r7 │ │ │ │ │ - vmul.f64 d4, d4, d1 │ │ │ │ │ - add r7, r0 │ │ │ │ │ - vnmls.f64 d4, d5, d15 │ │ │ │ │ - vsub.f64 d5, d7, d9 │ │ │ │ │ - vadd.f64 d9, d7, d9 │ │ │ │ │ - vstr d3, [sp, #80] @ 0x50 │ │ │ │ │ + add lr, r2 │ │ │ │ │ + add r2, r0 │ │ │ │ │ + vsub.f64 d9, d12, d9 │ │ │ │ │ + vstr d3, [sp, #64] @ 0x40 │ │ │ │ │ vldr d3, [lr] │ │ │ │ │ - mov.w lr, #72 @ 0x48 │ │ │ │ │ - vmul.f64 d8, d5, d8 │ │ │ │ │ - vadd.f64 d5, d6, d10 │ │ │ │ │ - mul.w lr, lr, r4 │ │ │ │ │ - vstr d4, [sp, #88] @ 0x58 │ │ │ │ │ - add.w r3, r1, lr │ │ │ │ │ - vstr d8, [sp, #32] │ │ │ │ │ - vmul.f64 d8, d9, d0 │ │ │ │ │ + add.w lr, ip, r4 │ │ │ │ │ + vadd.f64 d5, d7, d10 │ │ │ │ │ + mov.w lr, lr, lsl #3 │ │ │ │ │ + vstr d6, [sp, #16] │ │ │ │ │ + add ip, r0 │ │ │ │ │ + vstr d8, [sp, #72] @ 0x48 │ │ │ │ │ + add.w fp, r1, lr │ │ │ │ │ + vstr d13, [sp, #80] @ 0x50 │ │ │ │ │ add lr, r0 │ │ │ │ │ - vsub.f64 d9, d11, d9 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - vstr d8, [sp, #40] @ 0x28 │ │ │ │ │ - vadd.f64 d4, d3, d7 │ │ │ │ │ - vsub.f64 d7, d3, d7 │ │ │ │ │ + vldr d13, [r0] │ │ │ │ │ + vldr d6, [fp] │ │ │ │ │ + vadd.f64 d4, d3, d6 │ │ │ │ │ + vsub.f64 d6, d3, d6 │ │ │ │ │ vmul.f64 d3, d5, d1 │ │ │ │ │ - vmul.f64 d5, d5, d15 │ │ │ │ │ - vmov.f64 d12, d5 │ │ │ │ │ - vnmls.f64 d3, d7, d15 │ │ │ │ │ - vmla.f64 d12, d7, d1 │ │ │ │ │ - vsub.f64 d7, d6, d4 │ │ │ │ │ - vadd.f64 d6, d6, d4 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ - vmul.f64 d8, d7, d2 │ │ │ │ │ - vldr d7, [r8] │ │ │ │ │ - vmul.f64 d2, d6, d0 │ │ │ │ │ - add.w r8, r0, r4, lsl #6 │ │ │ │ │ - vsub.f64 d6, d6, d10 │ │ │ │ │ - vstr d3, [sp, #96] @ 0x60 │ │ │ │ │ - vadd.f64 d1, d7, d5 │ │ │ │ │ - vldr d3, [sl] │ │ │ │ │ - mov.w sl, r5, lsl #4 │ │ │ │ │ - vstr d2, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d2, [r8] │ │ │ │ │ - mov.w r8, #40 @ 0x28 │ │ │ │ │ - vstr d8, [sp, #48] @ 0x30 │ │ │ │ │ - vadd.f64 d0, d7, d3 │ │ │ │ │ - vstr d12, [sp, #104] @ 0x68 │ │ │ │ │ - vadd.f64 d8, d2, d3 │ │ │ │ │ - vadd.f64 d12, d2, d5 │ │ │ │ │ - vadd.f64 d7, d7, d2 │ │ │ │ │ - vadd.f64 d5, d5, d3 │ │ │ │ │ - mla r7, r8, r4, r0 │ │ │ │ │ - vldr d2, [lr] │ │ │ │ │ - mul.w lr, r8, r5 │ │ │ │ │ - vsub.f64 d1, d1, d8 │ │ │ │ │ + vmul.f64 d5, d5, d0 │ │ │ │ │ + vnmls.f64 d3, d6, d0 │ │ │ │ │ + vmla.f64 d5, d6, d1 │ │ │ │ │ + vsub.f64 d6, d7, d4 │ │ │ │ │ + vadd.f64 d7, d7, d4 │ │ │ │ │ + vmul.f64 d6, d6, d14 │ │ │ │ │ + vmul.f64 d14, d7, d2 │ │ │ │ │ + vldr d2, [r9] │ │ │ │ │ + vsub.f64 d7, d7, d10 │ │ │ │ │ + vstr d5, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + add.w r2, r4, r4, lsl #2 │ │ │ │ │ + vstr d6, [sp, #24] │ │ │ │ │ + vldr d6, [sl] │ │ │ │ │ + add.w sl, r0, r4, lsl #6 │ │ │ │ │ + vsub.f64 d7, d7, d11 │ │ │ │ │ + vstr d3, [sp, #88] @ 0x58 │ │ │ │ │ + add.w r2, r0, r2, lsl #3 │ │ │ │ │ + vstr d14, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d1, [sl] │ │ │ │ │ + vadd.f64 d4, d6, d5 │ │ │ │ │ + vadd.f64 d0, d6, d2 │ │ │ │ │ + vadd.f64 d8, d1, d2 │ │ │ │ │ + vadd.f64 d3, d1, d5 │ │ │ │ │ + vadd.f64 d6, d6, d1 │ │ │ │ │ + vadd.f64 d5, d5, d2 │ │ │ │ │ + vsub.f64 d4, d4, d8 │ │ │ │ │ vmov.f64 d8, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vsub.f64 d7, d7, d5 │ │ │ │ │ - mul.w r8, r8, r6 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ - movs r7, #24 │ │ │ │ │ - vmla.f64 d4, d1, d8 │ │ │ │ │ - vmul.f64 d7, d7, d13 │ │ │ │ │ - mla r7, r7, r4, r0 │ │ │ │ │ - vmov.f64 d13, d5 │ │ │ │ │ - eor.w r4, r4, fp │ │ │ │ │ - vstr d7, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d4, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d4, [pc, #608] @ 448 │ │ │ │ │ - vmul.f64 d8, d12, d4 │ │ │ │ │ - vmul.f64 d12, d12, d14 │ │ │ │ │ - vmla.f64 d12, d0, d4 │ │ │ │ │ - vnmls.f64 d8, d0, d14 │ │ │ │ │ - vstr d8, [sp, #120] @ 0x78 │ │ │ │ │ - vmov.f64 d8, d4 │ │ │ │ │ - vldr d4, [r9] │ │ │ │ │ - mov.w r9, r6, lsl #4 │ │ │ │ │ - vldr d0, [ip] │ │ │ │ │ - add.w ip, r2, sl │ │ │ │ │ - vldr d3, [r7] │ │ │ │ │ - vsub.f64 d7, d2, d4 │ │ │ │ │ - vadd.f64 d2, d2, d4 │ │ │ │ │ - ldr r3, [sp, #76] @ 0x4c │ │ │ │ │ - vsub.f64 d4, d3, d0 │ │ │ │ │ + vsub.f64 d6, d6, d5 │ │ │ │ │ + vldr d5, [pc, #668] @ 460 │ │ │ │ │ + vmla.f64 d13, d4, d8 │ │ │ │ │ + vmul.f64 d8, d3, d15 │ │ │ │ │ + vmov.f64 d14, d8 │ │ │ │ │ + vldr d8, [pc, #652] @ 460 │ │ │ │ │ + vstr d13, [sp, #32] │ │ │ │ │ + vmul.f64 d3, d3, d8 │ │ │ │ │ + vnmls.f64 d14, d0, d8 │ │ │ │ │ + vmov.f64 d13, d3 │ │ │ │ │ + vldr d3, [ip] │ │ │ │ │ + vmla.f64 d13, d0, d15 │ │ │ │ │ + vldr d15, [pc, #632] @ 468 │ │ │ │ │ + vmul.f64 d2, d6, d15 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + vldr d15, [pc, #604] @ 458 │ │ │ │ │ + vstr d2, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d2, [lr] │ │ │ │ │ + vsub.f64 d8, d2, d3 │ │ │ │ │ + vadd.f64 d2, d2, d3 │ │ │ │ │ + vldr d3, [r8] │ │ │ │ │ + vldr d0, [r7] │ │ │ │ │ + vldr d11, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r6, [sp, #252] @ 0xfc │ │ │ │ │ + vsub.f64 d1, d3, d0 │ │ │ │ │ vadd.f64 d3, d3, d0 │ │ │ │ │ - add.w r7, r3, r9 │ │ │ │ │ - vmul.f64 d0, d7, d14 │ │ │ │ │ - vmul.f64 d7, d7, d8 │ │ │ │ │ - vmla.f64 d0, d4, d8 │ │ │ │ │ - vldr d8, [pc, #536] @ 450 │ │ │ │ │ - vnmls.f64 d7, d4, d14 │ │ │ │ │ - vmls.f64 d13, d2, d8 │ │ │ │ │ - vstr d0, [sp, #128] @ 0x80 │ │ │ │ │ - vldr d0, [pc, #528] @ 458 │ │ │ │ │ - vmul.f64 d4, d2, d0 │ │ │ │ │ - vmla.f64 d4, d3, d8 │ │ │ │ │ - vmov.f64 d8, d13 │ │ │ │ │ - vmls.f64 d8, d3, d0 │ │ │ │ │ - vldr d13, [r0] │ │ │ │ │ - vsub.f64 d1, d13, d1 │ │ │ │ │ - vldr d13, [sp, #112] @ 0x70 │ │ │ │ │ - vadd.f64 d4, d4, d5 │ │ │ │ │ - vadd.f64 d5, d5, d2 │ │ │ │ │ - vldr d2, [pc, #456] @ 438 │ │ │ │ │ - vsub.f64 d5, d5, d3 │ │ │ │ │ - vldr d3, [sp] │ │ │ │ │ - vadd.f64 d9, d9, d3 │ │ │ │ │ - vldr d3, [sp, #16] │ │ │ │ │ + ldr r3, [sp, #252] @ 0xfc │ │ │ │ │ + vmul.f64 d0, d8, d5 │ │ │ │ │ + vmul.f64 d8, d8, d15 │ │ │ │ │ + ldr r5, [sp, #128] @ 0x80 │ │ │ │ │ + mov.w lr, r6, lsl #2 │ │ │ │ │ + add.w r9, lr, r6 │ │ │ │ │ + ldr r6, [sp, #256] @ 0x100 │ │ │ │ │ + mov.w fp, r3, lsl #4 │ │ │ │ │ + vmla.f64 d0, d1, d15 │ │ │ │ │ + vmov.f64 d15, d6 │ │ │ │ │ + mov.w r9, r9, lsl #3 │ │ │ │ │ + vnmls.f64 d8, d1, d5 │ │ │ │ │ + vldr d1, [pc, #544] @ 470 │ │ │ │ │ + ldr r3, [sp, #52] @ 0x34 │ │ │ │ │ + mov.w ip, r6, lsl #2 │ │ │ │ │ + add.w r8, ip, r6 │ │ │ │ │ + ldrd r6, r2, [sp, #252] @ 0xfc │ │ │ │ │ + vmul.f64 d5, d2, d1 │ │ │ │ │ + mov.w r8, r8, lsl #3 │ │ │ │ │ + add.w r7, r3, fp │ │ │ │ │ + vstr d0, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d0, [pc, #516] @ 478 │ │ │ │ │ + mov.w sl, r2, lsl #4 │ │ │ │ │ + add.w r2, r5, sl │ │ │ │ │ + vmls.f64 d15, d2, d0 │ │ │ │ │ + vmla.f64 d5, d3, d0 │ │ │ │ │ + vmov.f64 d0, d15 │ │ │ │ │ + vadd.f64 d5, d5, d6 │ │ │ │ │ + vldr d15, [r0] │ │ │ │ │ + vadd.f64 d6, d6, d2 │ │ │ │ │ + vldr d2, [pc, #440] @ 450 │ │ │ │ │ + vmls.f64 d0, d3, d1 │ │ │ │ │ + vldr d1, [sp] │ │ │ │ │ + vsub.f64 d4, d15, d4 │ │ │ │ │ + vldr d15, [sp, #104] @ 0x68 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ - vadd.f64 d3, d9, d6 │ │ │ │ │ - vsub.f64 d9, d9, d6 │ │ │ │ │ + vadd.f64 d9, d9, d1 │ │ │ │ │ + vldr d1, [sp, #16] │ │ │ │ │ + vstr d0, [sp, #120] @ 0x78 │ │ │ │ │ + vadd.f64 d3, d9, d7 │ │ │ │ │ + vsub.f64 d9, d9, d7 │ │ │ │ │ vmul.f64 d3, d3, d2 │ │ │ │ │ vmul.f64 d9, d9, d2 │ │ │ │ │ - vldr d2, [sp, #56] @ 0x38 │ │ │ │ │ - vsub.f64 d6, d1, d3 │ │ │ │ │ - vadd.f64 d1, d1, d3 │ │ │ │ │ - vsub.f64 d3, d12, d4 │ │ │ │ │ - vstr d6, [ip] │ │ │ │ │ - vsub.f64 d6, d9, d5 │ │ │ │ │ - vadd.f64 d5, d5, d9 │ │ │ │ │ - add ip, lr │ │ │ │ │ - vadd.f64 d9, d12, d4 │ │ │ │ │ - vldr d4, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d12, [sp, #104] @ 0x68 │ │ │ │ │ - vstr d6, [r7] │ │ │ │ │ - add r7, r8 │ │ │ │ │ - vldr d6, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d1, [ip] │ │ │ │ │ - sub.w ip, ip, sl │ │ │ │ │ - vstr d5, [r7] │ │ │ │ │ - sub.w r7, r7, r9 │ │ │ │ │ - vsub.f64 d6, d2, d6 │ │ │ │ │ - vldr d5, [pc, #384] @ 460 │ │ │ │ │ - vldr d1, [sp, #40] @ 0x28 │ │ │ │ │ - mvn.w r9, #23 │ │ │ │ │ - vsub.f64 d2, d6, d7 │ │ │ │ │ - vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #8] │ │ │ │ │ - mul.w sl, r9, r5 │ │ │ │ │ - vmla.f64 d6, d11, d5 │ │ │ │ │ - mul.w r9, r9, r6 │ │ │ │ │ - vadd.f64 d6, d6, d1 │ │ │ │ │ - vldr d1, [sp, #32] │ │ │ │ │ - vsub.f64 d6, d6, d1 │ │ │ │ │ - vadd.f64 d1, d4, d6 │ │ │ │ │ - vsub.f64 d6, d6, d4 │ │ │ │ │ - vldr d4, [sp, #48] @ 0x30 │ │ │ │ │ + vmov.f64 d2, d13 │ │ │ │ │ + vsub.f64 d7, d4, d3 │ │ │ │ │ + vadd.f64 d4, d4, d3 │ │ │ │ │ + vsub.f64 d3, d13, d5 │ │ │ │ │ + vldr d13, [sp, #80] @ 0x50 │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ + vsub.f64 d7, d9, d6 │ │ │ │ │ + add r7, r9 │ │ │ │ │ + vadd.f64 d6, d6, d9 │ │ │ │ │ + vadd.f64 d9, d2, d5 │ │ │ │ │ + vldr d5, [pc, #400] @ 480 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + add r2, r8 │ │ │ │ │ + vldr d7, [sp, #32] │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ + sub.w r7, r7, fp │ │ │ │ │ + mov.w fp, r6, lsl #3 │ │ │ │ │ + vldr d4, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + sub.w r2, r2, sl │ │ │ │ │ + ldr r6, [sp, #256] @ 0x100 │ │ │ │ │ + vsub.f64 d6, d7, d4 │ │ │ │ │ + vmov.f64 d7, d11 │ │ │ │ │ + vldr d4, [sp, #72] @ 0x48 │ │ │ │ │ + mov.w sl, r6, lsl #3 │ │ │ │ │ + vmla.f64 d7, d12, d5 │ │ │ │ │ + vsub.f64 d2, d6, d8 │ │ │ │ │ + vadd.f64 d6, d8, d6 │ │ │ │ │ + vldr d8, [sp, #96] @ 0x60 │ │ │ │ │ + vadd.f64 d7, d7, d1 │ │ │ │ │ + vsub.f64 d7, d7, d13 │ │ │ │ │ + vadd.f64 d1, d4, d7 │ │ │ │ │ + vsub.f64 d7, d7, d4 │ │ │ │ │ + vldr d4, [sp, #24] │ │ │ │ │ vmls.f64 d4, d10, d5 │ │ │ │ │ - vldr d5, [sp, #24] │ │ │ │ │ - vadd.f64 d5, d5, d13 │ │ │ │ │ + vldr d5, [sp, #8] │ │ │ │ │ + vadd.f64 d5, d5, d15 │ │ │ │ │ vsub.f64 d5, d4, d5 │ │ │ │ │ - vsub.f64 d4, d5, d12 │ │ │ │ │ - vadd.f64 d5, d12, d5 │ │ │ │ │ + vsub.f64 d4, d5, d8 │ │ │ │ │ + vadd.f64 d5, d8, d5 │ │ │ │ │ vadd.f64 d0, d1, d4 │ │ │ │ │ vsub.f64 d4, d4, d1 │ │ │ │ │ - vsub.f64 d12, d2, d0 │ │ │ │ │ + vsub.f64 d8, d2, d0 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ - vstr d12, [ip] │ │ │ │ │ - sub.w ip, ip, r5, lsl #3 │ │ │ │ │ - vldr d12, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d2, [ip] │ │ │ │ │ - vsub.f64 d2, d5, d6 │ │ │ │ │ - vadd.f64 d6, d6, d5 │ │ │ │ │ - add ip, lr │ │ │ │ │ + vstr d8, [r7] │ │ │ │ │ + sub.w r7, r7, fp │ │ │ │ │ + vstr d2, [r7] │ │ │ │ │ + vsub.f64 d2, d5, d7 │ │ │ │ │ + vadd.f64 d7, d7, d5 │ │ │ │ │ + add r7, r9 │ │ │ │ │ vsub.f64 d0, d2, d3 │ │ │ │ │ + vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ - vsub.f64 d5, d7, d6 │ │ │ │ │ - vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d2, [sp, #56] @ 0x38 │ │ │ │ │ - vstr d0, [r7] │ │ │ │ │ - sub.w r7, r7, r6, lsl #3 │ │ │ │ │ - vstr d3, [r7] │ │ │ │ │ - add r7, r8 │ │ │ │ │ - vstr d5, [ip] │ │ │ │ │ - add ip, sl │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ + vadd.f64 d6, d6, d7 │ │ │ │ │ vsub.f64 d7, d4, d9 │ │ │ │ │ vadd.f64 d9, d9, d4 │ │ │ │ │ - vldr d3, [pc, #212] @ 468 │ │ │ │ │ - vsub.f64 d4, d8, d12 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - vstr d9, [r7] │ │ │ │ │ - vadd.f64 d9, d12, d8 │ │ │ │ │ - vldr d7, [sp, #64] @ 0x40 │ │ │ │ │ - add r7, r9 │ │ │ │ │ - vldr d1, [sp, #40] @ 0x28 │ │ │ │ │ - vmls.f64 d1, d11, d3 │ │ │ │ │ - vldr d8, [sp, #48] @ 0x30 │ │ │ │ │ - vadd.f64 d6, d2, d7 │ │ │ │ │ - vldr d7, [sp, #8] │ │ │ │ │ - vldr d0, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d12, [sp, #128] @ 0x80 │ │ │ │ │ - vadd.f64 d2, d12, d6 │ │ │ │ │ - vsub.f64 d6, d6, d12 │ │ │ │ │ - vmov.f64 d5, d1 │ │ │ │ │ - vldr d1, [sp, #32] │ │ │ │ │ - vadd.f64 d7, d7, d1 │ │ │ │ │ - vadd.f64 d7, d5, d7 │ │ │ │ │ - vldr d5, [sp, #24] │ │ │ │ │ + vstr d0, [r2] │ │ │ │ │ + sub.w r2, r2, sl │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ + add r2, r8 │ │ │ │ │ + vstr d5, [r7] │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ + vldr d2, [sp, #120] @ 0x78 │ │ │ │ │ + vstr d9, [r2] │ │ │ │ │ + vldr d3, [pc, #196] @ 488 │ │ │ │ │ + vldr d7, [sp, #32] │ │ │ │ │ + vsub.f64 d4, d2, d14 │ │ │ │ │ + vadd.f64 d9, d14, d2 │ │ │ │ │ + vldr d1, [sp, #16] │ │ │ │ │ + vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d5, [sp, #8] │ │ │ │ │ + vmls.f64 d1, d12, d3 │ │ │ │ │ + vldr d8, [sp, #24] │ │ │ │ │ + vadd.f64 d6, d7, d2 │ │ │ │ │ + vldr d0, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d7, [sp, #112] @ 0x70 │ │ │ │ │ vmls.f64 d5, d10, d3 │ │ │ │ │ - vadd.f64 d3, d8, d13 │ │ │ │ │ - vadd.f64 d1, d0, d7 │ │ │ │ │ - vsub.f64 d7, d0, d7 │ │ │ │ │ - vldr d0, [sp, #96] @ 0x60 │ │ │ │ │ + vadd.f64 d3, d8, d15 │ │ │ │ │ + ldr r6, [sp, #252] @ 0xfc │ │ │ │ │ + vadd.f64 d2, d7, d6 │ │ │ │ │ + vsub.f64 d6, d6, d7 │ │ │ │ │ + vadd.f64 d7, d11, d13 │ │ │ │ │ + sub.w lr, r6, lr │ │ │ │ │ + ldr r6, [sp, #256] @ 0x100 │ │ │ │ │ + mov.w lr, lr, lsl #3 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ - vsub.f64 d3, d0, d5 │ │ │ │ │ - vadd.f64 d5, d0, d5 │ │ │ │ │ - vadd.f64 d0, d1, d3 │ │ │ │ │ - vsub.f64 d3, d3, d1 │ │ │ │ │ - vsub.f64 d8, d2, d0 │ │ │ │ │ - b.n 478 │ │ │ │ │ + add r7, lr │ │ │ │ │ + sub.w ip, r6, ip │ │ │ │ │ + ldr r6, [sp, #252] @ 0xfc │ │ │ │ │ + vadd.f64 d7, d1, d7 │ │ │ │ │ + mov.w ip, ip, lsl #3 │ │ │ │ │ + add r2, ip │ │ │ │ │ + sub.w fp, r6, fp │ │ │ │ │ + b.n 498 │ │ │ │ │ + nop │ │ │ │ │ .word 0x996fcdb7 │ │ │ │ │ .word 0x3fe5851b │ │ │ │ │ - .word 0x04755a5e │ │ │ │ │ - .word 0x3fe2cf23 │ │ │ │ │ .word 0xba45cf7e │ │ │ │ │ .word 0x3fda99a1 │ │ │ │ │ .word 0x3ada5b53 │ │ │ │ │ .word 0x3fd94c58 │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fc6a09e │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ - .word 0x9b97f4a8 │ │ │ │ │ - .word 0x3fe1e377 │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ + .word 0x04755a5e │ │ │ │ │ + .word 0x3fe2cf23 │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ - .word 0x3fe9e377 │ │ │ │ │ + .word 0x3fe1e377 │ │ │ │ │ .word 0x372fe950 │ │ │ │ │ .word 0x3fd3c6ef │ │ │ │ │ + .word 0x9b97f4a8 │ │ │ │ │ + .word 0x3fe9e377 │ │ │ │ │ .word 0x0f357ad9 │ │ │ │ │ .word 0x3fcbf812 │ │ │ │ │ .word 0xb70cfc9c │ │ │ │ │ .word 0x3fe24e53 │ │ │ │ │ - .word 0x0000045e │ │ │ │ │ + .word 0x00000466 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ + ldr r6, [sp, #256] @ 0x100 │ │ │ │ │ + vadd.f64 d1, d0, d7 │ │ │ │ │ + vsub.f64 d7, d0, d7 │ │ │ │ │ + vldr d0, [sp, #88] @ 0x58 │ │ │ │ │ + sub.w sl, r6, sl │ │ │ │ │ + vsub.f64 d3, d0, d5 │ │ │ │ │ + vadd.f64 d5, d0, d5 │ │ │ │ │ + vadd.f64 d0, d1, d3 │ │ │ │ │ + vsub.f64 d3, d3, d1 │ │ │ │ │ + vsub.f64 d8, d2, d0 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ - vstr d8, [ip] │ │ │ │ │ - add ip, sl │ │ │ │ │ - vstr d2, [ip] │ │ │ │ │ + vstr d8, [r7] │ │ │ │ │ + add r7, lr │ │ │ │ │ + vstr d2, [r7] │ │ │ │ │ vsub.f64 d2, d5, d7 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - add ip, lr │ │ │ │ │ - mvn.w lr, #55 @ 0x37 │ │ │ │ │ + add r7, r9 │ │ │ │ │ vsub.f64 d0, d2, d4 │ │ │ │ │ - vadd.f64 d4, d4, d2 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ + vadd.f64 d4, d4, d2 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vsub.f64 d7, d3, d9 │ │ │ │ │ vadd.f64 d9, d9, d3 │ │ │ │ │ - vstr d0, [r7] │ │ │ │ │ - add r7, r9 │ │ │ │ │ - vstr d4, [r7] │ │ │ │ │ - add r7, r8 │ │ │ │ │ - vstr d5, [ip] │ │ │ │ │ - mla ip, lr, r5, ip │ │ │ │ │ - eor.w r5, r5, fp │ │ │ │ │ - vstr d6, [ip] │ │ │ │ │ - vstr d7, [r7] │ │ │ │ │ - mla r7, lr, r6, r7 │ │ │ │ │ - eor.w r6, r6, fp │ │ │ │ │ - vstr d9, [r7] │ │ │ │ │ - ldr r7, [sp, #136] @ 0x88 │ │ │ │ │ + vstr d0, [r2] │ │ │ │ │ + add r2, ip │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ + add r2, r8 │ │ │ │ │ + vstr d5, [r7] │ │ │ │ │ + add.w r7, r7, fp, lsl #3 │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + add.w r2, r2, sl, lsl #3 │ │ │ │ │ + ldr r7, [sp, #132] @ 0x84 │ │ │ │ │ + vstr d9, [r2] │ │ │ │ │ + ldr r2, [sp, #136] @ 0x88 │ │ │ │ │ add r0, r7 │ │ │ │ │ add r1, r7 │ │ │ │ │ - ldr r7, [sp, #140] @ 0x8c │ │ │ │ │ - add r3, r7 │ │ │ │ │ - str r3, [sp, #76] @ 0x4c │ │ │ │ │ + add r3, r2 │ │ │ │ │ + str r3, [sp, #52] @ 0x34 │ │ │ │ │ + mov r3, r5 │ │ │ │ │ + add r3, r2 │ │ │ │ │ + ldr r2, [sp, #252] @ 0xfc │ │ │ │ │ + str r3, [sp, #128] @ 0x80 │ │ │ │ │ + ldr r3, [sp, #140] @ 0x8c │ │ │ │ │ + eor.w r2, r2, r3 │ │ │ │ │ + eor.w r4, r4, r3 │ │ │ │ │ + str r2, [sp, #252] @ 0xfc │ │ │ │ │ + mov r2, r6 │ │ │ │ │ + eor.w r2, r2, r3 │ │ │ │ │ ldr r3, [sp, #260] @ 0x104 │ │ │ │ │ - add r2, r7 │ │ │ │ │ subs r3, #1 │ │ │ │ │ - str r3, [sp, #260] @ 0x104 │ │ │ │ │ - bne.w 42 │ │ │ │ │ + strd r2, r3, [sp, #256] @ 0x100 │ │ │ │ │ + bne.w 48 │ │ │ │ │ add sp, #148 @ 0x94 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -000004fc : │ │ │ │ │ +00000560 : │ │ │ │ │ fftw_codelet_r2cfII_20(): │ │ │ │ │ - ldr r2, [pc, #8] @ (508 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (50c ) │ │ │ │ │ + ldr r2, [pc, #8] @ (56c ) │ │ │ │ │ + ldr r1, [pc, #12] @ (570 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cfII_25.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 3736 (bytes into file) │ │ │ │ │ + Start of section headers: 3784 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0xe98: │ │ │ │ │ +There are 13 section headers, starting at offset 0xec8: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000ba4 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000df0 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000bd8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000bd8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000bd8 00000a 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 000be2 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000e18 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 000c12 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000c12 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 000c48 000120 10 11 13 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 000d68 000085 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000e28 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000bd4 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000e20 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000c08 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000c08 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000c08 00000a 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 000c12 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000e48 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 000c42 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000c42 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 000c78 000120 10 11 13 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 000d98 000085 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000e58 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,21 +1,21 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 18 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 2960 FUNC LOCAL DEFAULT 1 r2cfII_25 │ │ │ │ │ + 1: 00000001 3008 FUNC LOCAL DEFAULT 1 r2cfII_25 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000408 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000488 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000880 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 000009b0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00000b9c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000418 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 000004a0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000898 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 000009b8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00000bcc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 15: 00000b91 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_25 │ │ │ │ │ + 15: 00000bc1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_25 │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cfII_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xdf0 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xe20 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000480 00000d19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000484 00000e1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000b9c 00000a03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000ba0 00000103 R_ARM_REL32 00000001 r2cfII_25 │ │ │ │ │ -00000b98 0000101e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +00000498 00000d19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000049c 00000e1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000bcc 00000a03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000bd0 00000103 R_ARM_REL32 00000001 r2cfII_25 │ │ │ │ │ +00000bc8 0000101e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xe18 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xe48 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00001102 R_ARM_ABS32 00000000 fftw_rdft_r2cfII_genus │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,8 +1,7 @@ │ │ │ │ │ -;D@E@F@O │ │ │ │ │ r2cfII_25 │ │ │ │ │ _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ fftw_codelet_r2cfII_25 │ │ │ │ │ fftw_kr2c_register │ │ │ │ │ fftw_rdft_r2cfII_genus │ │ │ │ │ .shstrtab │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,786 +1,795 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cfII_25(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov sl, r0 │ │ │ │ │ - ldr.w r0, [pc, #1144] @ 480 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov sl, r3 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #204 @ 0xcc │ │ │ │ │ - add r0, pc │ │ │ │ │ - ldr r7, [sp, #316] @ 0x13c │ │ │ │ │ + ldr.w r6, [pc, #1144] @ 498 │ │ │ │ │ + ldrd r3, r7, [sp, #312] @ 0x138 │ │ │ │ │ ldrd r4, r5, [sp, #304] @ 0x130 │ │ │ │ │ + add r6, pc │ │ │ │ │ cmp r7, #0 │ │ │ │ │ - ldr r6, [sp, #312] @ 0x138 │ │ │ │ │ - ble.w b86 │ │ │ │ │ + ble.w ba4 │ │ │ │ │ ldr r7, [sp, #320] @ 0x140 │ │ │ │ │ - vldr d13, [pc, #996] @ 408 │ │ │ │ │ - vldr d14, [pc, #1000] @ 410 │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ + vldr d13, [pc, #996] @ 418 │ │ │ │ │ + vldr d14, [pc, #1000] @ 420 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ str r7, [sp, #188] @ 0xbc │ │ │ │ │ ldr r7, [sp, #324] @ 0x144 │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ str r7, [sp, #192] @ 0xc0 │ │ │ │ │ - ldr.w r7, [pc, #1100] @ 484 │ │ │ │ │ - ldr r0, [r0, r7] │ │ │ │ │ - ldr r0, [r0, #0] │ │ │ │ │ - str r0, [sp, #196] @ 0xc4 │ │ │ │ │ - mov.w lr, #80 @ 0x50 │ │ │ │ │ + ldr.w r7, [pc, #1104] @ 49c │ │ │ │ │ + ldr r6, [r6, r7] │ │ │ │ │ + ldr r6, [r6, #0] │ │ │ │ │ + str r6, [sp, #196] @ 0xc4 │ │ │ │ │ + add.w r7, r4, r4, lsl #2 │ │ │ │ │ + vldr d9, [pc, #976] @ 428 │ │ │ │ │ + vmov.f64 d11, #80 @ 0x3e800000 0.250 │ │ │ │ │ mov.w r9, r4, lsl #4 │ │ │ │ │ - add.w r7, r1, r9 │ │ │ │ │ - mov.w ip, #40 @ 0x28 │ │ │ │ │ - mov.w r8, #56 @ 0x38 │ │ │ │ │ - vldr d7, [sl] │ │ │ │ │ - mul.w lr, lr, r4 │ │ │ │ │ - vldr d12, [pc, #956] @ 418 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - mul.w r7, ip, r4 │ │ │ │ │ - add.w r0, sl, lr │ │ │ │ │ - mul.w r8, r8, r4 │ │ │ │ │ - vstr d7, [sp, #80] @ 0x50 │ │ │ │ │ - add lr, r1 │ │ │ │ │ - add.w fp, r1, r8 │ │ │ │ │ - vmov.f64 d8, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - subs r0, r0, r7 │ │ │ │ │ - vldr d11, [sp, #80] @ 0x50 │ │ │ │ │ + mov.w r8, r7, lsl #4 │ │ │ │ │ + vldr d2, [r0] │ │ │ │ │ + add.w ip, r1, r9 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + add.w r6, r0, r8 │ │ │ │ │ + add r8, r1 │ │ │ │ │ + vldr d0, [r1] │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + mov.w ip, r4, lsl #3 │ │ │ │ │ + vmov.f64 d12, d9 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + sub.w lr, ip, r4 │ │ │ │ │ + sub.w r6, r6, r7 │ │ │ │ │ + mov.w lr, lr, lsl #3 │ │ │ │ │ + vstr d2, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d1, [r8] │ │ │ │ │ + add.w r8, r1, r7 │ │ │ │ │ + add.w fp, r1, lr │ │ │ │ │ + vldr d8, [pc, #900] @ 430 │ │ │ │ │ vldr d3, [fp] │ │ │ │ │ - mvn.w fp, #71 @ 0x47 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - sub.w r0, r0, r9 │ │ │ │ │ - vldr d1, [lr] │ │ │ │ │ - add.w lr, r1, r7 │ │ │ │ │ - vldr d0, [r1] │ │ │ │ │ - mov.w r9, #96 @ 0x60 │ │ │ │ │ + mvn.w fp, #71 @ 0x47 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + sub.w r6, r6, r9 │ │ │ │ │ + vldr d15, [pc, #880] @ 438 │ │ │ │ │ vsub.f64 d5, d6, d3 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ - vldr d10, [pc, #872] @ 420 │ │ │ │ │ - mla r9, r9, r5, r2 │ │ │ │ │ vsub.f64 d3, d5, d4 │ │ │ │ │ - vadd.f64 d5, d4, d5 │ │ │ │ │ - vmul.f64 d3, d3, d12 │ │ │ │ │ - vmls.f64 d11, d5, d8 │ │ │ │ │ - vstr d5, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ - add r0, r7 │ │ │ │ │ - vstr d3, [sp, #88] @ 0x58 │ │ │ │ │ + vadd.f64 d4, d4, d5 │ │ │ │ │ + vmov.f64 d5, d2 │ │ │ │ │ + vmul.f64 d3, d3, d9 │ │ │ │ │ + vmls.f64 d5, d4, d11 │ │ │ │ │ + vstr d3, [sp, #80] @ 0x50 │ │ │ │ │ vmul.f64 d3, d6, d14 │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ - sub.w r0, r0, r8 │ │ │ │ │ + vstr d4, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d5, [sp, #112] @ 0x70 │ │ │ │ │ vnmls.f64 d3, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ + vldr d5, [r6] │ │ │ │ │ + add r6, r7 │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ + sub.w r6, r6, lr │ │ │ │ │ vmla.f64 d7, d6, d13 │ │ │ │ │ - vldr d6, [lr] │ │ │ │ │ - add.w lr, r1, r4, lsl #6 │ │ │ │ │ - vmov.f64 d9, d11 │ │ │ │ │ - vmov.f64 d11, d8 │ │ │ │ │ - vstr d3, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d6, [r8] │ │ │ │ │ + add.w r8, r1, r4, lsl #6 │ │ │ │ │ + vstr d3, [sp, #88] @ 0x58 │ │ │ │ │ vadd.f64 d3, d0, d6 │ │ │ │ │ - vstr d7, [sp, #104] @ 0x68 │ │ │ │ │ + vsub.f64 d6, d6, d0 │ │ │ │ │ + vstr d7, [sp, #96] @ 0x60 │ │ │ │ │ vsub.f64 d7, d4, d1 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ - vsub.f64 d6, d6, d0 │ │ │ │ │ - vldr d0, [pc, #776] @ 428 │ │ │ │ │ vsub.f64 d2, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ vadd.f64 d1, d5, d2 │ │ │ │ │ - vmls.f64 d5, d2, d8 │ │ │ │ │ - vmul.f64 d7, d7, d12 │ │ │ │ │ - vstr d1, [sp, #128] @ 0x80 │ │ │ │ │ - vmul.f64 d1, d4, d10 │ │ │ │ │ - vnmls.f64 d1, d6, d0 │ │ │ │ │ - vadd.f64 d2, d5, d7 │ │ │ │ │ - vsub.f64 d5, d5, d7 │ │ │ │ │ - vmul.f64 d6, d6, d10 │ │ │ │ │ - vstr d2, [sp, #32] │ │ │ │ │ - vstr d5, [sp, #8] │ │ │ │ │ - vmov.f64 d15, d6 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ - add r0, r7 │ │ │ │ │ - vmla.f64 d15, d4, d0 │ │ │ │ │ - vstr d1, [sp] │ │ │ │ │ - vldr d1, [lr] │ │ │ │ │ - mov.w lr, #24 │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ - add r0, r7 │ │ │ │ │ - mla lr, lr, r4, r1 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ + vmls.f64 d5, d2, d11 │ │ │ │ │ + vmul.f64 d7, d7, d9 │ │ │ │ │ + vstr d1, [sp, #120] @ 0x78 │ │ │ │ │ + vmul.f64 d1, d4, d8 │ │ │ │ │ + vsub.f64 d10, d5, d7 │ │ │ │ │ + vnmls.f64 d1, d6, d15 │ │ │ │ │ + vmul.f64 d6, d6, d8 │ │ │ │ │ + vmla.f64 d6, d4, d15 │ │ │ │ │ + vadd.f64 d4, d5, d7 │ │ │ │ │ + vldr d5, [r6] │ │ │ │ │ + add r6, r7 │ │ │ │ │ + vstr d10, [sp] │ │ │ │ │ + vstr d1, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d1, [r8] │ │ │ │ │ + add.w r8, r4, r4, lsl #1 │ │ │ │ │ + add.w r9, r1, r8, lsl #3 │ │ │ │ │ + vstr d4, [sp, #128] @ 0x80 │ │ │ │ │ + add.w r8, r1, r8, lsl #4 │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ + add r6, r7 │ │ │ │ │ + vstr d6, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d0, [r9] │ │ │ │ │ + mov.w r9, #88 @ 0x58 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + sub.w r6, r6, lr │ │ │ │ │ + mla r9, r9, r4, r1 │ │ │ │ │ vsub.f64 d7, d4, d1 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ - sub.w r0, r0, r8 │ │ │ │ │ - vldr d0, [lr] │ │ │ │ │ - mov.w lr, #88 @ 0x58 │ │ │ │ │ - vmul.f64 d1, d4, d10 │ │ │ │ │ vsub.f64 d2, d6, d0 │ │ │ │ │ vadd.f64 d6, d6, d0 │ │ │ │ │ - vldr d0, [pc, #648] @ 428 │ │ │ │ │ - mla lr, lr, r4, r1 │ │ │ │ │ + vmul.f64 d1, d4, d8 │ │ │ │ │ vadd.f64 d3, d7, d2 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ - vnmls.f64 d1, d6, d0 │ │ │ │ │ - vmul.f64 d6, d6, d10 │ │ │ │ │ - vmla.f64 d6, d4, d0 │ │ │ │ │ - vadd.f64 d8, d5, d3 │ │ │ │ │ + vnmls.f64 d1, d6, d15 │ │ │ │ │ + vmul.f64 d6, d6, d8 │ │ │ │ │ + vadd.f64 d9, d5, d3 │ │ │ │ │ vmls.f64 d5, d3, d11 │ │ │ │ │ + vmov.f64 d10, d6 │ │ │ │ │ vmul.f64 d7, d7, d12 │ │ │ │ │ vmov.f64 d12, d11 │ │ │ │ │ - vstr d8, [sp, #136] @ 0x88 │ │ │ │ │ - vstr d1, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d6, [sp, #144] @ 0x90 │ │ │ │ │ - vadd.f64 d11, d7, d5 │ │ │ │ │ - vsub.f64 d8, d5, d7 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ - add r0, r7 │ │ │ │ │ - vstr d11, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ - sub.w r0, r0, r8 │ │ │ │ │ - vstr d8, [sp, #56] @ 0x38 │ │ │ │ │ - mov.w r8, r6, lsl #4 │ │ │ │ │ - vldr d1, [lr] │ │ │ │ │ - add.w lr, r1, r4, lsl #3 │ │ │ │ │ - vldr d0, [lr] │ │ │ │ │ - mov.w lr, #48 @ 0x30 │ │ │ │ │ + vmla.f64 d10, d4, d15 │ │ │ │ │ + vsub.f64 d15, d5, d7 │ │ │ │ │ + vstr d10, [sp, #8] │ │ │ │ │ + vadd.f64 d10, d7, d5 │ │ │ │ │ + vldr d5, [r6] │ │ │ │ │ + add r6, r7 │ │ │ │ │ + vstr d1, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ + sub.w r6, r6, lr │ │ │ │ │ + mvn.w lr, #79 @ 0x4f │ │ │ │ │ + vstr d15, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d1, [r9] │ │ │ │ │ + add.w r9, r1, ip │ │ │ │ │ + add ip, r4 │ │ │ │ │ + add.w ip, r1, ip, lsl #3 │ │ │ │ │ + vldr d0, [r9] │ │ │ │ │ + mov.w r9, r3, lsl #4 │ │ │ │ │ + vldr d6, [r8] │ │ │ │ │ + mov.w r8, r5, lsl #2 │ │ │ │ │ vsub.f64 d7, d4, d1 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ - mla lr, lr, r4, r1 │ │ │ │ │ - vmul.f64 d1, d4, d10 │ │ │ │ │ - vldr d6, [lr] │ │ │ │ │ - mov.w lr, #72 @ 0x48 │ │ │ │ │ - vmov.f64 d11, d1 │ │ │ │ │ + vldr d15, [pc, #528] @ 438 │ │ │ │ │ vadd.f64 d3, d0, d6 │ │ │ │ │ vsub.f64 d0, d6, d0 │ │ │ │ │ - mla lr, lr, r4, r1 │ │ │ │ │ + vmov.f64 d6, d8 │ │ │ │ │ + vmul.f64 d1, d4, d8 │ │ │ │ │ vsub.f64 d2, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ - vldr d3, [pc, #480] @ 418 │ │ │ │ │ - vadd.f64 d6, d5, d2 │ │ │ │ │ + vmov.f64 d8, d1 │ │ │ │ │ + vnmls.f64 d8, d0, d15 │ │ │ │ │ + vmul.f64 d0, d0, d6 │ │ │ │ │ + vldr d6, [pc, #472] @ 428 │ │ │ │ │ + vadd.f64 d11, d5, d2 │ │ │ │ │ vmls.f64 d5, d2, d12 │ │ │ │ │ - vmul.f64 d7, d7, d3 │ │ │ │ │ - vstr d6, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d6, [pc, #476] @ 428 │ │ │ │ │ - vnmls.f64 d11, d0, d6 │ │ │ │ │ - vmul.f64 d0, d0, d10 │ │ │ │ │ - vmla.f64 d0, d4, d6 │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ - add r0, r7 │ │ │ │ │ + vmla.f64 d0, d4, d15 │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ + add r6, r7 │ │ │ │ │ + vmul.f64 d7, d7, d6 │ │ │ │ │ + vldr d3, [r6] │ │ │ │ │ + add r6, r7 │ │ │ │ │ + add.w r7, sl, r9 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + add.w r6, r1, r4, lsl #5 │ │ │ │ │ + vstr d8, [sp, #16] │ │ │ │ │ vsub.f64 d2, d5, d7 │ │ │ │ │ - vmov.f64 d8, d6 │ │ │ │ │ - vadd.f64 d12, d5, d7 │ │ │ │ │ - vldr d5, [lr] │ │ │ │ │ - mul.w lr, ip, r6 │ │ │ │ │ - vldr d3, [r0] │ │ │ │ │ - add r0, r7 │ │ │ │ │ - vstr d2, [sp, #16] │ │ │ │ │ - add.w r7, r3, r8 │ │ │ │ │ - mul.w ip, ip, r5 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - add.w r0, r1, r4, lsl #5 │ │ │ │ │ - vsub.f64 d7, d3, d5 │ │ │ │ │ - vstr d11, [sp, #64] @ 0x40 │ │ │ │ │ + vadd.f64 d8, d5, d7 │ │ │ │ │ + vldr d5, [ip] │ │ │ │ │ + add.w ip, r3, r3, lsl #2 │ │ │ │ │ + vldr d15, [r6] │ │ │ │ │ + add.w r6, r5, r5, lsl #1 │ │ │ │ │ + mov.w ip, ip, lsl #3 │ │ │ │ │ + vldr d7, [pc, #404] @ 430 │ │ │ │ │ + add.w r6, r2, r6, lsl #5 │ │ │ │ │ + vsub.f64 d12, d3, d5 │ │ │ │ │ vadd.f64 d3, d3, d5 │ │ │ │ │ - vmov.f64 d11, d10 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ - mvn.w r0, #79 @ 0x4f │ │ │ │ │ - vmov.f64 d10, d2 │ │ │ │ │ - vsub.f64 d1, d6, d2 │ │ │ │ │ - mla r0, r0, r5, r9 │ │ │ │ │ - vadd.f64 d6, d6, d10 │ │ │ │ │ - vmov.f64 d10, d11 │ │ │ │ │ - vmul.f64 d11, d3, d11 │ │ │ │ │ - vadd.f64 d2, d7, d1 │ │ │ │ │ - vsub.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [sp, #128] @ 0x80 │ │ │ │ │ - vnmls.f64 d11, d6, d8 │ │ │ │ │ - vmul.f64 d6, d6, d10 │ │ │ │ │ + vstr d8, [sp, #24] │ │ │ │ │ + vldr d8, [pc, #392] @ 438 │ │ │ │ │ + vsub.f64 d1, d6, d15 │ │ │ │ │ + vadd.f64 d6, d6, d15 │ │ │ │ │ + vstr d2, [sp, #32] │ │ │ │ │ + vmul.f64 d15, d3, d7 │ │ │ │ │ + vadd.f64 d2, d12, d1 │ │ │ │ │ + vnmls.f64 d15, d6, d8 │ │ │ │ │ + vmul.f64 d6, d6, d7 │ │ │ │ │ + vsub.f64 d7, d12, d1 │ │ │ │ │ + vmov.f64 d12, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vldr d1, [sp, #120] @ 0x78 │ │ │ │ │ vadd.f64 d5, d4, d2 │ │ │ │ │ - vmov.f64 d10, d6 │ │ │ │ │ - vmov.f64 d6, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vmla.f64 d10, d3, d8 │ │ │ │ │ - vldr d3, [pc, #308] @ 418 │ │ │ │ │ - vmls.f64 d4, d2, d6 │ │ │ │ │ - vstr d11, [sp, #72] @ 0x48 │ │ │ │ │ - vmul.f64 d7, d7, d3 │ │ │ │ │ - vldr d3, [sp, #136] @ 0x88 │ │ │ │ │ + vmla.f64 d6, d3, d8 │ │ │ │ │ + vmls.f64 d4, d2, d12 │ │ │ │ │ + vadd.f64 d8, d9, d11 │ │ │ │ │ + vmov.f64 d3, d6 │ │ │ │ │ + vldr d6, [pc, #312] @ 428 │ │ │ │ │ + vmul.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d2, d7, d4 │ │ │ │ │ vsub.f64 d7, d4, d7 │ │ │ │ │ - vldr d4, [sp, #120] @ 0x78 │ │ │ │ │ - vsub.f64 d4, d3, d4 │ │ │ │ │ - vstr d7, [sp, #24] │ │ │ │ │ + vsub.f64 d4, d9, d11 │ │ │ │ │ + vldr d9, [pc, #316] @ 440 │ │ │ │ │ + vldr d11, [pc, #320] @ 448 │ │ │ │ │ + vstr d7, [sp, #40] @ 0x28 │ │ │ │ │ vsub.f64 d7, d1, d5 │ │ │ │ │ vadd.f64 d5, d1, d5 │ │ │ │ │ vmul.f64 d6, d4, d13 │ │ │ │ │ + vldr d1, [sp, #24] │ │ │ │ │ vnmls.f64 d6, d7, d14 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ vmla.f64 d7, d4, d14 │ │ │ │ │ - vldr d4, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d9, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d4, [sp, #104] @ 0x68 │ │ │ │ │ vstr d6, [r7] │ │ │ │ │ - add r7, lr │ │ │ │ │ + add r7, ip │ │ │ │ │ + vldr d6, [pc, #240] @ 428 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ - add r7, r8 │ │ │ │ │ - vldr d7, [sp, #80] @ 0x50 │ │ │ │ │ - vadd.f64 d11, d7, d4 │ │ │ │ │ - vldr d7, [sp, #120] @ 0x78 │ │ │ │ │ - vmov.f64 d4, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vadd.f64 d8, d3, d7 │ │ │ │ │ - vldr d7, [pc, #204] @ 418 │ │ │ │ │ - vldr d3, [pc, #224] @ 430 │ │ │ │ │ - vsub.f64 d6, d8, d5 │ │ │ │ │ + add r7, r9 │ │ │ │ │ + vldr d7, [sp, #72] @ 0x48 │ │ │ │ │ + vadd.f64 d7, d7, d4 │ │ │ │ │ + vsub.f64 d4, d8, d5 │ │ │ │ │ vadd.f64 d5, d8, d5 │ │ │ │ │ - vmul.f64 d6, d6, d7 │ │ │ │ │ - vadd.f64 d7, d11, d5 │ │ │ │ │ - vmls.f64 d11, d5, d4 │ │ │ │ │ - vldr d5, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d4, [pc, #204] @ 438 │ │ │ │ │ - vstr d7, [r9] │ │ │ │ │ - mvn.w r9, #23 │ │ │ │ │ - mul.w r9, r9, r5 │ │ │ │ │ - vadd.f64 d7, d6, d11 │ │ │ │ │ - vsub.f64 d11, d11, d6 │ │ │ │ │ - vldr d6, [sp, #88] @ 0x58 │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ - add r0, ip │ │ │ │ │ - vadd.f64 d8, d6, d9 │ │ │ │ │ - vldr d7, [pc, #172] @ 440 │ │ │ │ │ - vldr d6, [pc, #176] @ 448 │ │ │ │ │ - vstr d11, [r0] │ │ │ │ │ - add r0, r9 │ │ │ │ │ - vldr d11, [sp, #48] @ 0x30 │ │ │ │ │ - vmul.f64 d7, d0, d7 │ │ │ │ │ - vldr d9, [sp, #32] │ │ │ │ │ - vmul.f64 d6, d11, d6 │ │ │ │ │ - vnmls.f64 d7, d12, d4 │ │ │ │ │ - vnmls.f64 d6, d5, d3 │ │ │ │ │ - vmul.f64 d3, d0, d3 │ │ │ │ │ - vsub.f64 d1, d6, d7 │ │ │ │ │ + vmov.f64 d8, d3 │ │ │ │ │ + vmul.f64 d4, d4, d6 │ │ │ │ │ + vadd.f64 d6, d7, d5 │ │ │ │ │ + vmls.f64 d7, d5, d12 │ │ │ │ │ + vldr d5, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d12, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ + mla r6, lr, r5, r6 │ │ │ │ │ + add.w lr, r8, r5 │ │ │ │ │ + mov.w lr, lr, lsl #3 │ │ │ │ │ + sub.w r8, r5, r8 │ │ │ │ │ + mov.w r8, r8, lsl #3 │ │ │ │ │ + vadd.f64 d6, d4, d7 │ │ │ │ │ + vsub.f64 d7, d7, d4 │ │ │ │ │ + vldr d4, [sp, #8] │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ + add r6, lr │ │ │ │ │ + vldr d6, [sp, #80] @ 0x50 │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ + add r6, r8 │ │ │ │ │ + vadd.f64 d7, d6, d5 │ │ │ │ │ + vldr d6, [pc, #176] @ 450 │ │ │ │ │ + vstr d7, [sp, #72] @ 0x48 │ │ │ │ │ + vmul.f64 d6, d10, d6 │ │ │ │ │ + vldr d7, [pc, #172] @ 458 │ │ │ │ │ + vnmls.f64 d6, d4, d7 │ │ │ │ │ + vmul.f64 d7, d0, d9 │ │ │ │ │ + vldr d9, [pc, #168] @ 460 │ │ │ │ │ + vnmls.f64 d7, d1, d9 │ │ │ │ │ + vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ - vldr d6, [pc, #140] @ 450 │ │ │ │ │ - vstr d1, [sp, #128] @ 0x80 │ │ │ │ │ - vmul.f64 d6, d15, d6 │ │ │ │ │ - vldr d1, [pc, #136] @ 458 │ │ │ │ │ - vstr d7, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d7, [pc, #136] @ 460 │ │ │ │ │ - vmla.f64 d6, d9, d1 │ │ │ │ │ - vldr d1, [pc, #136] @ 468 │ │ │ │ │ - vmul.f64 d7, d10, d7 │ │ │ │ │ - vmla.f64 d7, d2, d1 │ │ │ │ │ - vsub.f64 d1, d6, d7 │ │ │ │ │ + vldr d6, [pc, #160] @ 468 │ │ │ │ │ + vstr d5, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d5, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d7, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d7, [pc, #152] @ 470 │ │ │ │ │ + vmul.f64 d6, d5, d6 │ │ │ │ │ + vmov.f64 d9, d5 │ │ │ │ │ + vmla.f64 d6, d12, d7 │ │ │ │ │ + vldr d7, [pc, #144] @ 478 │ │ │ │ │ + vmul.f64 d7, d3, d7 │ │ │ │ │ + vldr d3, [pc, #144] @ 480 │ │ │ │ │ + vmla.f64 d7, d2, d11 │ │ │ │ │ + vsub.f64 d11, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [pc, #124] @ 470 │ │ │ │ │ - vstr d1, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d1, [pc, #124] @ 478 │ │ │ │ │ - vstr d6, [sp, #144] @ 0x90 │ │ │ │ │ - vmul.f64 d6, d5, d7 │ │ │ │ │ - b.n 488 │ │ │ │ │ + vstr d6, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d6, [pc, #132] @ 488 │ │ │ │ │ + vmul.f64 d6, d4, d6 │ │ │ │ │ + vldr d4, [pc, #132] @ 490 │ │ │ │ │ + vmla.f64 d6, d10, d4 │ │ │ │ │ + b.n 4a0 │ │ │ │ │ + nop.w │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fd2cf23 │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fde6f0e │ │ │ │ │ - .word 0x3c182b51 │ │ │ │ │ - .word 0x3ff1257e │ │ │ │ │ - .word 0x635b6bea │ │ │ │ │ - .word 0x3fe8a80b │ │ │ │ │ .word 0xfeb501bc │ │ │ │ │ .word 0x3ff465c6 │ │ │ │ │ + .word 0xdcdc158c │ │ │ │ │ + .word 0x3fecf457 │ │ │ │ │ .word 0xff642e86 │ │ │ │ │ .word 0x3feb04bb │ │ │ │ │ + .word 0x3c182b51 │ │ │ │ │ + .word 0x3ff1257e │ │ │ │ │ + .word 0x635b6bea │ │ │ │ │ + .word 0x3fe8a80b │ │ │ │ │ .word 0x5480d903 │ │ │ │ │ .word 0x3fffbf67 │ │ │ │ │ .word 0x5da15be0 │ │ │ │ │ .word 0x3fc00aeb │ │ │ │ │ .word 0xc925819c │ │ │ │ │ .word 0x3feb3ff7 │ │ │ │ │ .word 0xdcdc158c │ │ │ │ │ - .word 0x3fecf457 │ │ │ │ │ + .word 0x3ffcf457 │ │ │ │ │ .word 0xff642e86 │ │ │ │ │ .word 0x3ffb04bb │ │ │ │ │ .word 0x3c182b51 │ │ │ │ │ .word 0x3fe1257e │ │ │ │ │ .word 0x0000046c │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - vldr d7, [pc, #1012] @ 880 │ │ │ │ │ - vmla.f64 d6, d11, d1 │ │ │ │ │ - vldr d1, [pc, #1012] @ 888 │ │ │ │ │ - vstr d10, [sp, #80] @ 0x50 │ │ │ │ │ - vmul.f64 d7, d0, d7 │ │ │ │ │ - vmla.f64 d7, d12, d1 │ │ │ │ │ + vldr d4, [pc, #1012] @ 898 │ │ │ │ │ + vmul.f64 d7, d0, d4 │ │ │ │ │ + vmov.f64 d4, d1 │ │ │ │ │ + vldr d1, [pc, #1008] @ 8a0 │ │ │ │ │ + vmla.f64 d7, d4, d1 │ │ │ │ │ vsub.f64 d1, d6, d7 │ │ │ │ │ - vadd.f64 d6, d6, d7 │ │ │ │ │ - vstr d6, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d6, [pc, #992] @ 890 │ │ │ │ │ - vmul.f64 d6, d10, d6 │ │ │ │ │ - vldr d10, [pc, #992] @ 898 │ │ │ │ │ - vnmls.f64 d6, d2, d10 │ │ │ │ │ - vldr d10, [pc, #992] @ 8a0 │ │ │ │ │ - vmul.f64 d7, d9, d10 │ │ │ │ │ - vldr d10, [pc, #992] @ 8a8 │ │ │ │ │ - vnmls.f64 d7, d15, d10 │ │ │ │ │ - vsub.f64 d10, d6, d7 │ │ │ │ │ vadd.f64 d4, d6, d7 │ │ │ │ │ - vldr d6, [pc, #984] @ 8b0 │ │ │ │ │ - vldr d7, [pc, #988] @ 8b8 │ │ │ │ │ - vmla.f64 d3, d12, d6 │ │ │ │ │ - vldr d6, [pc, #988] @ 8c0 │ │ │ │ │ - vmul.f64 d7, d5, d7 │ │ │ │ │ - vstr d10, [sp, #160] @ 0xa0 │ │ │ │ │ - vmov.f64 d10, d5 │ │ │ │ │ - vldr d5, [sp, #80] @ 0x50 │ │ │ │ │ - vmla.f64 d7, d11, d6 │ │ │ │ │ - vldr d6, [pc, #972] @ 8c8 │ │ │ │ │ + vmul.f64 d6, d8, d3 │ │ │ │ │ + vldr d3, [pc, #996] @ 8a8 │ │ │ │ │ vstr d4, [sp, #168] @ 0xa8 │ │ │ │ │ - vldr d4, [pc, #972] @ 8d0 │ │ │ │ │ - vmul.f64 d5, d5, d6 │ │ │ │ │ + vnmls.f64 d6, d2, d3 │ │ │ │ │ + vldr d3, [pc, #992] @ 8b0 │ │ │ │ │ + vldr d4, [pc, #996] @ 8b8 │ │ │ │ │ + vmul.f64 d7, d12, d3 │ │ │ │ │ + vnmls.f64 d7, d5, d4 │ │ │ │ │ + vsub.f64 d4, d6, d7 │ │ │ │ │ + vadd.f64 d3, d6, d7 │ │ │ │ │ + vldr d7, [pc, #984] @ 8c0 │ │ │ │ │ + vldr d6, [pc, #988] @ 8c8 │ │ │ │ │ + vstr d3, [sp, #128] @ 0x80 │ │ │ │ │ + vmul.f64 d3, d0, d7 │ │ │ │ │ + vldr d7, [sp, #24] │ │ │ │ │ + vldr d5, [sp, #8] │ │ │ │ │ + vstr d8, [sp, #104] @ 0x68 │ │ │ │ │ + vmla.f64 d3, d7, d6 │ │ │ │ │ + vldr d7, [pc, #968] @ 8d0 │ │ │ │ │ vldr d6, [pc, #972] @ 8d8 │ │ │ │ │ - vmla.f64 d5, d2, d6 │ │ │ │ │ - vmul.f64 d6, d15, d4 │ │ │ │ │ - vmov.f64 d4, d9 │ │ │ │ │ - vldr d9, [pc, #964] @ 8e0 │ │ │ │ │ - vadd.f64 d11, d3, d7 │ │ │ │ │ + vmul.f64 d7, d5, d7 │ │ │ │ │ + vldr d5, [pc, #972] @ 8e0 │ │ │ │ │ + vmla.f64 d7, d10, d6 │ │ │ │ │ + vmul.f64 d5, d8, d5 │ │ │ │ │ + vmov.f64 d8, d12 │ │ │ │ │ + vldr d12, [pc, #964] @ 8e8 │ │ │ │ │ + vadd.f64 d6, d3, d7 │ │ │ │ │ vsub.f64 d3, d3, d7 │ │ │ │ │ - vldr d7, [pc, #960] @ 8e8 │ │ │ │ │ - vmla.f64 d6, d4, d9 │ │ │ │ │ + vstr d6, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d6, [pc, #956] @ 8f0 │ │ │ │ │ + vldr d7, [sp, #136] @ 0x88 │ │ │ │ │ + vmla.f64 d5, d2, d6 │ │ │ │ │ + vmov.f64 d6, d9 │ │ │ │ │ + vldr d9, [pc, #948] @ 8f8 │ │ │ │ │ + vmul.f64 d6, d6, d9 │ │ │ │ │ + vmla.f64 d6, d8, d12 │ │ │ │ │ vadd.f64 d9, d5, d6 │ │ │ │ │ - vsub.f64 d5, d5, d6 │ │ │ │ │ - vldr d6, [pc, #952] @ 8f0 │ │ │ │ │ - vmul.f64 d6, d10, d6 │ │ │ │ │ - vldr d10, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d5, [sp, #176] @ 0xb0 │ │ │ │ │ - vadd.f64 d4, d11, d9 │ │ │ │ │ - vldr d5, [sp, #80] @ 0x50 │ │ │ │ │ + vsub.f64 d6, d5, d6 │ │ │ │ │ + vldr d5, [sp, #8] │ │ │ │ │ + vstr d6, [sp, #176] @ 0xb0 │ │ │ │ │ + vadd.f64 d12, d7, d9 │ │ │ │ │ + vldr d6, [pc, #924] @ 900 │ │ │ │ │ + vldr d7, [pc, #928] @ 908 │ │ │ │ │ + vmul.f64 d6, d5, d6 │ │ │ │ │ + vldr d5, [sp, #104] @ 0x68 │ │ │ │ │ vnmls.f64 d6, d10, d7 │ │ │ │ │ - vldr d7, [pc, #932] @ 8f8 │ │ │ │ │ - vldr d10, [pc, #936] @ 900 │ │ │ │ │ - vmul.f64 d0, d0, d7 │ │ │ │ │ - vldr d7, [pc, #936] @ 908 │ │ │ │ │ + vldr d10, [pc, #920] @ 910 │ │ │ │ │ + vldr d7, [sp, #24] │ │ │ │ │ + vmul.f64 d0, d0, d10 │ │ │ │ │ + vldr d10, [pc, #916] @ 918 │ │ │ │ │ + vnmls.f64 d0, d7, d10 │ │ │ │ │ + vldr d7, [pc, #916] @ 920 │ │ │ │ │ vmul.f64 d5, d5, d7 │ │ │ │ │ - vldr d7, [pc, #936] @ 910 │ │ │ │ │ - vnmls.f64 d0, d12, d10 │ │ │ │ │ - vmov.f64 d12, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vnmls.f64 d5, d2, d7 │ │ │ │ │ - vldr d2, [pc, #928] @ 918 │ │ │ │ │ - vmul.f64 d7, d15, d2 │ │ │ │ │ - vldr d2, [sp, #32] │ │ │ │ │ - vldr d15, [pc, #924] @ 920 │ │ │ │ │ + vldr d7, [pc, #916] @ 928 │ │ │ │ │ vadd.f64 d10, d6, d0 │ │ │ │ │ vsub.f64 d6, d6, d0 │ │ │ │ │ - vldr d0, [sp, #104] @ 0x68 │ │ │ │ │ - vnmls.f64 d7, d2, d15 │ │ │ │ │ - vldr d15, [sp, #160] @ 0xa0 │ │ │ │ │ - vstr d4, [sp, #32] │ │ │ │ │ - vadd.f64 d2, d5, d7 │ │ │ │ │ + vldr d0, [sp, #72] @ 0x48 │ │ │ │ │ + vnmls.f64 d5, d2, d7 │ │ │ │ │ + vldr d2, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d7, [pc, #988] @ 988 │ │ │ │ │ + vmul.f64 d7, d2, d7 │ │ │ │ │ + vmov.f64 d2, d8 │ │ │ │ │ + vldr d8, [pc, #984] @ 990 │ │ │ │ │ + vnmls.f64 d7, d2, d8 │ │ │ │ │ + vadd.f64 d8, d5, d7 │ │ │ │ │ vsub.f64 d7, d5, d7 │ │ │ │ │ - vstr d2, [sp, #48] @ 0x30 │ │ │ │ │ - vadd.f64 d2, d10, d2 │ │ │ │ │ - vadd.f64 d5, d8, d2 │ │ │ │ │ + vadd.f64 d2, d10, d8 │ │ │ │ │ + vsub.f64 d10, d10, d8 │ │ │ │ │ + vadd.f64 d5, d0, d2 │ │ │ │ │ + vldr d0, [sp, #96] @ 0x60 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ - vadd.f64 d5, d0, d4 │ │ │ │ │ - vadd.f64 d0, d1, d15 │ │ │ │ │ - vsub.f64 d4, d15, d1 │ │ │ │ │ - vldr d15, [sp, #128] @ 0x80 │ │ │ │ │ - vldr d1, [sp, #120] @ 0x78 │ │ │ │ │ + vadd.f64 d5, d0, d12 │ │ │ │ │ + vadd.f64 d0, d1, d4 │ │ │ │ │ + vsub.f64 d4, d4, d1 │ │ │ │ │ + vldr d1, [sp, #72] @ 0x48 │ │ │ │ │ vneg.f64 d5, d5 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - vldr d5, [pc, #980] @ 9a8 │ │ │ │ │ + vstr d5, [sl] │ │ │ │ │ + vldr d5, [pc, #956] @ 9b0 │ │ │ │ │ vmul.f64 d0, d0, d5 │ │ │ │ │ - vmov.f64 d5, d8 │ │ │ │ │ - vmla.f64 d5, d4, d12 │ │ │ │ │ - vmov.f64 d12, d0 │ │ │ │ │ - vmla.f64 d0, d15, d14 │ │ │ │ │ - vmla.f64 d12, d1, d14 │ │ │ │ │ - vmov.f64 d4, d5 │ │ │ │ │ - vmla.f64 d4, d15, d13 │ │ │ │ │ - vldr d15, [sp, #136] @ 0x88 │ │ │ │ │ - vadd.f64 d4, d4, d12 │ │ │ │ │ - vmov.f64 d12, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vstr d4, [r0] │ │ │ │ │ - add r0, ip │ │ │ │ │ - vldr d4, [sp, #120] @ 0x78 │ │ │ │ │ - vmla.f64 d5, d4, d13 │ │ │ │ │ + vmov.f64 d5, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vmla.f64 d1, d4, d5 │ │ │ │ │ + vmov.f64 d5, d1 │ │ │ │ │ + vmov.f64 d4, d1 │ │ │ │ │ + vldr d1, [sp, #120] @ 0x78 │ │ │ │ │ + vmla.f64 d5, d11, d13 │ │ │ │ │ + vmla.f64 d4, d1, d13 │ │ │ │ │ + vmov.f64 d1, d0 │ │ │ │ │ + vmla.f64 d1, d11, d14 │ │ │ │ │ + vldr d11, [sp, #160] @ 0xa0 │ │ │ │ │ + vadd.f64 d4, d4, d1 │ │ │ │ │ + vldr d1, [sp, #120] @ 0x78 │ │ │ │ │ + vmla.f64 d0, d1, d14 │ │ │ │ │ + vstr d4, [r6] │ │ │ │ │ + add r6, lr │ │ │ │ │ + vldr d4, [sp, #152] @ 0x98 │ │ │ │ │ + vadd.f64 d1, d4, d11 │ │ │ │ │ vsub.f64 d5, d5, d0 │ │ │ │ │ - vldr d0, [pc, #916] @ 9a8 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ - sub.w r0, r0, r5, lsl #5 │ │ │ │ │ - vldr d5, [sp, #144] @ 0x90 │ │ │ │ │ - vadd.f64 d1, d15, d5 │ │ │ │ │ - vsub.f64 d5, d5, d15 │ │ │ │ │ - vldr d15, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d0, [pc, #880] @ 9b0 │ │ │ │ │ vmul.f64 d1, d1, d0 │ │ │ │ │ - vldr d0, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d0, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d5, [r6] │ │ │ │ │ + vsub.f64 d5, d11, d4 │ │ │ │ │ + vmov.f64 d11, #80 @ 0x3e800000 0.250 │ │ │ │ │ + sub.w r6, r6, r5, lsl #5 │ │ │ │ │ vmov.f64 d4, d0 │ │ │ │ │ - vmla.f64 d4, d5, d12 │ │ │ │ │ - vldr d12, [sp, #168] @ 0xa8 │ │ │ │ │ - vmul.f64 d5, d12, d13 │ │ │ │ │ - vmla.f64 d5, d15, d14 │ │ │ │ │ + vmla.f64 d4, d5, d11 │ │ │ │ │ + vldr d5, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d11, [sp, #168] @ 0xa8 │ │ │ │ │ + vmul.f64 d5, d5, d13 │ │ │ │ │ + vmla.f64 d5, d11, d14 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ - vmla.f64 d4, d12, d14 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ - vmls.f64 d1, d15, d13 │ │ │ │ │ - vldr d15, [sp, #32] │ │ │ │ │ + vmls.f64 d1, d11, d13 │ │ │ │ │ + vmov.f64 d11, #80 @ 0x3e800000 0.250 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ - sub.w r7, r7, lr │ │ │ │ │ + sub.w r7, r7, ip │ │ │ │ │ + vldr d5, [sp, #128] @ 0x80 │ │ │ │ │ + vmla.f64 d4, d5, d14 │ │ │ │ │ vmov.f64 d5, d0 │ │ │ │ │ + vldr d0, [sp, #136] @ 0x88 │ │ │ │ │ + vnmls.f64 d5, d12, d11 │ │ │ │ │ + vldr d12, [pc, #784] @ 9b0 │ │ │ │ │ + vsub.f64 d9, d9, d0 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ + vmul.f64 d10, d10, d12 │ │ │ │ │ + vmul.f64 d9, d9, d12 │ │ │ │ │ + vmov.f64 d0, d5 │ │ │ │ │ vstr d4, [r7] │ │ │ │ │ - vmov.f64 d4, #80 @ 0x3e800000 0.250 │ │ │ │ │ - add.w r7, r7, r6, lsl #3 │ │ │ │ │ - vnmls.f64 d5, d15, d4 │ │ │ │ │ - vsub.f64 d4, d9, d11 │ │ │ │ │ - vldr d11, [pc, #804] @ 9a8 │ │ │ │ │ - vmov.f64 d9, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vmul.f64 d0, d4, d11 │ │ │ │ │ - vmov.f64 d12, d5 │ │ │ │ │ - vmla.f64 d12, d7, d13 │ │ │ │ │ + add.w r7, r7, r3, lsl #3 │ │ │ │ │ + vmov.f64 d8, d10 │ │ │ │ │ + vmla.f64 d0, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ vmla.f64 d7, d6, d13 │ │ │ │ │ - vmov.f64 d4, d12 │ │ │ │ │ - vmov.f64 d12, d0 │ │ │ │ │ - vmla.f64 d12, d6, d14 │ │ │ │ │ + vmov.f64 d4, d0 │ │ │ │ │ + vmov.f64 d0, d9 │ │ │ │ │ + vmla.f64 d0, d6, d14 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [sp, #48] @ 0x30 │ │ │ │ │ - vadd.f64 d7, d7, d0 │ │ │ │ │ - vsub.f64 d10, d10, d5 │ │ │ │ │ - vsub.f64 d4, d4, d12 │ │ │ │ │ - vmov.f64 d12, d8 │ │ │ │ │ - vmls.f64 d12, d2, d9 │ │ │ │ │ - vmul.f64 d10, d10, d11 │ │ │ │ │ - vldr d9, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d8, [pc, #600] @ 928 │ │ │ │ │ + vadd.f64 d7, d7, d9 │ │ │ │ │ + vsub.f64 d4, d4, d0 │ │ │ │ │ + vldr d0, [sp, #72] @ 0x48 │ │ │ │ │ + vmls.f64 d0, d2, d11 │ │ │ │ │ vstr d4, [r7] │ │ │ │ │ - add r7, lr │ │ │ │ │ - vldr d2, [pc, #508] @ 8d8 │ │ │ │ │ - vldr d11, [pc, #592] @ 930 │ │ │ │ │ + add r7, ip │ │ │ │ │ + vldr d4, [pc, #456] @ 8c0 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ - mla r7, fp, r6, r7 │ │ │ │ │ - vmov.f64 d7, d12 │ │ │ │ │ - vmla.f64 d12, d3, d14 │ │ │ │ │ - vmla.f64 d7, d9, d14 │ │ │ │ │ - vmov.f64 d6, d12 │ │ │ │ │ - vmov.f64 d12, d10 │ │ │ │ │ + mla r7, fp, r3, r7 │ │ │ │ │ + vldr d2, [pc, #492] @ 8f0 │ │ │ │ │ + vldr d11, [pc, #552] @ 930 │ │ │ │ │ + vmov.f64 d7, d0 │ │ │ │ │ + vmla.f64 d0, d3, d14 │ │ │ │ │ + vmov.f64 d6, d0 │ │ │ │ │ + vldr d0, [sp, #176] @ 0xb0 │ │ │ │ │ + vmla.f64 d7, d0, d14 │ │ │ │ │ + vnmls.f64 d8, d0, d13 │ │ │ │ │ vadd.f64 d7, d7, d10 │ │ │ │ │ + vadd.f64 d6, d6, d8 │ │ │ │ │ + vldr d8, [pc, #524] @ 938 │ │ │ │ │ vmls.f64 d7, d3, d13 │ │ │ │ │ - vnmls.f64 d12, d9, d13 │ │ │ │ │ - vadd.f64 d6, d6, d12 │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ - add r0, ip │ │ │ │ │ - vldr d0, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d4, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d9, [sp, #24] │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ - mla r0, fp, r5, r0 │ │ │ │ │ - vsub.f64 d4, d0, d4 │ │ │ │ │ - vldr d7, [pc, #524] @ 938 │ │ │ │ │ - vldr d0, [pc, #384] @ 8b0 │ │ │ │ │ - mov.w fp, #56 @ 0x38 │ │ │ │ │ - vldr d15, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d3, [sp, #8] │ │ │ │ │ - vstr d4, [sp, #32] │ │ │ │ │ - vmul.f64 d6, d9, d0 │ │ │ │ │ - vldr d4, [sp] │ │ │ │ │ - vldr d0, [pc, #500] @ 940 │ │ │ │ │ - vldr d1, [sp, #40] @ 0x28 │ │ │ │ │ - vmul.f64 d5, d4, d7 │ │ │ │ │ - vldr d10, [sp, #64] @ 0x40 │ │ │ │ │ - vnmls.f64 d6, d15, d0 │ │ │ │ │ - vldr d0, [pc, #408] @ 8f8 │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ + add r6, lr │ │ │ │ │ + vldr d6, [pc, #400] @ 8c8 │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ + mla r6, fp, r5, r6 │ │ │ │ │ + vldr d7, [pc, #508] @ 940 │ │ │ │ │ + rsb fp, r5, r5, lsl #3 │ │ │ │ │ + vstr d15, [sp, #8] │ │ │ │ │ + vldr d12, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d0, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d5, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d9, [sp, #144] @ 0x90 │ │ │ │ │ + vmul.f64 d6, d12, d6 │ │ │ │ │ + vldr d3, [sp] │ │ │ │ │ + vsub.f64 d0, d5, d0 │ │ │ │ │ + vnmls.f64 d6, d15, d4 │ │ │ │ │ + vldr d4, [sp, #16] │ │ │ │ │ + vmul.f64 d5, d9, d7 │ │ │ │ │ vnmls.f64 d5, d3, d8 │ │ │ │ │ - vadd.f64 d12, d6, d5 │ │ │ │ │ - vsub.f64 d5, d5, d6 │ │ │ │ │ - vmul.f64 d6, d10, d11 │ │ │ │ │ - vldr d11, [pc, #468] @ 948 │ │ │ │ │ - vstr d5, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d5, [sp, #56] @ 0x38 │ │ │ │ │ + vadd.f64 d1, d6, d5 │ │ │ │ │ + vsub.f64 d10, d5, d6 │ │ │ │ │ + vldr d5, [sp, #64] @ 0x40 │ │ │ │ │ vmul.f64 d5, d5, d2 │ │ │ │ │ - vldr d2, [pc, #324] @ 8c8 │ │ │ │ │ - vnmls.f64 d5, d1, d2 │ │ │ │ │ - vldr d2, [sp, #16] │ │ │ │ │ + vldr d2, [pc, #444] @ 948 │ │ │ │ │ + vstr d1, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d1, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d10, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d10, [pc, #324] @ 8e0 │ │ │ │ │ + vmul.f64 d6, d4, d2 │ │ │ │ │ + vldr d2, [sp, #32] │ │ │ │ │ + vldr d4, [pc, #368] @ 918 │ │ │ │ │ + vnmls.f64 d5, d1, d10 │ │ │ │ │ vmla.f64 d6, d2, d11 │ │ │ │ │ - vldr d2, [pc, #444] @ 950 │ │ │ │ │ - vadd.f64 d11, d5, d6 │ │ │ │ │ - vstr d11, [sp, #88] @ 0x58 │ │ │ │ │ - vsub.f64 d11, d5, d6 │ │ │ │ │ - vldr d6, [pc, #436] @ 958 │ │ │ │ │ - vmul.f64 d5, d15, d0 │ │ │ │ │ - vldr d0, [pc, #340] @ 900 │ │ │ │ │ - vldr d15, [pc, #232] @ 898 │ │ │ │ │ - vmul.f64 d4, d4, d6 │ │ │ │ │ - vmla.f64 d5, d9, d0 │ │ │ │ │ + vldr d11, [pc, #244] @ 8a8 │ │ │ │ │ + vadd.f64 d2, d5, d6 │ │ │ │ │ + vsub.f64 d10, d5, d6 │ │ │ │ │ + vldr d6, [pc, #336] @ 910 │ │ │ │ │ + vmul.f64 d5, d15, d6 │ │ │ │ │ + vldr d6, [pc, #392] @ 950 │ │ │ │ │ + vstr d2, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d2, [pc, #392] @ 958 │ │ │ │ │ + vldr d15, [sp, #16] │ │ │ │ │ + vmla.f64 d5, d12, d4 │ │ │ │ │ + vmul.f64 d4, d9, d6 │ │ │ │ │ + vldr d12, [pc, #320] @ 920 │ │ │ │ │ vmla.f64 d4, d3, d2 │ │ │ │ │ - vldr d9, [pc, #328] @ 908 │ │ │ │ │ - vldr d0, [pc, #204] @ 890 │ │ │ │ │ vadd.f64 d3, d5, d4 │ │ │ │ │ - vsub.f64 d5, d4, d5 │ │ │ │ │ - vmul.f64 d4, d1, d9 │ │ │ │ │ - vldr d9, [pc, #316] @ 910 │ │ │ │ │ - vstr d5, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d5, [sp, #56] @ 0x38 │ │ │ │ │ - vmla.f64 d4, d5, d9 │ │ │ │ │ - vldr d9, [sp, #16] │ │ │ │ │ - vmul.f64 d5, d9, d15 │ │ │ │ │ - vmov.f64 d15, d10 │ │ │ │ │ - vnmls.f64 d5, d10, d0 │ │ │ │ │ - vldr d0, [pc, #364] @ 960 │ │ │ │ │ - vadd.f64 d10, d4, d5 │ │ │ │ │ - vstr d10, [sp, #112] @ 0x70 │ │ │ │ │ - vsub.f64 d10, d4, d5 │ │ │ │ │ - vldr d4, [pc, #356] @ 968 │ │ │ │ │ - vmul.f64 d4, d9, d4 │ │ │ │ │ - vldr d9, [pc, #212] @ 8e0 │ │ │ │ │ - vnmls.f64 d4, d15, d0 │ │ │ │ │ - vldr d0, [pc, #188] @ 8d0 │ │ │ │ │ - vldr d15, [sp] │ │ │ │ │ - vmul.f64 d5, d1, d0 │ │ │ │ │ - vldr d1, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d0, [pc, #332] @ 970 │ │ │ │ │ - vmla.f64 d5, d1, d9 │ │ │ │ │ - vldr d1, [sp, #8] │ │ │ │ │ - vmul.f64 d1, d1, d0 │ │ │ │ │ - vldr d0, [pc, #324] @ 978 │ │ │ │ │ - vnmls.f64 d1, d15, d0 │ │ │ │ │ - vldr d15, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d0, [sp, #24] │ │ │ │ │ - vsub.f64 d9, d4, d5 │ │ │ │ │ - vadd.f64 d4, d4, d5 │ │ │ │ │ + vsub.f64 d4, d4, d5 │ │ │ │ │ vldr d5, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d4, [sp, #104] @ 0x68 │ │ │ │ │ + vmul.f64 d4, d1, d12 │ │ │ │ │ + vldr d12, [pc, #300] @ 928 │ │ │ │ │ + vmla.f64 d4, d5, d12 │ │ │ │ │ + vldr d12, [sp, #32] │ │ │ │ │ + vmul.f64 d5, d12, d11 │ │ │ │ │ + vldr d11, [pc, #340] @ 960 │ │ │ │ │ + vnmls.f64 d5, d15, d11 │ │ │ │ │ + vadd.f64 d11, d4, d5 │ │ │ │ │ + vstr d11, [sp, #112] @ 0x70 │ │ │ │ │ + vsub.f64 d11, d4, d5 │ │ │ │ │ + vldr d5, [pc, #328] @ 968 │ │ │ │ │ + vstr d11, [sp, #120] @ 0x78 │ │ │ │ │ + vmul.f64 d4, d12, d5 │ │ │ │ │ + vldr d11, [pc, #204] @ 8f8 │ │ │ │ │ + vldr d5, [pc, #320] @ 970 │ │ │ │ │ + vldr d12, [pc, #180] @ 8e8 │ │ │ │ │ + vnmls.f64 d4, d15, d5 │ │ │ │ │ + vmul.f64 d5, d1, d11 │ │ │ │ │ + vldr d1, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d15, [pc, #308] @ 978 │ │ │ │ │ + vldr d11, [pc, #112] @ 8b8 │ │ │ │ │ + vmla.f64 d5, d1, d12 │ │ │ │ │ + vldr d1, [sp] │ │ │ │ │ + vmul.f64 d1, d1, d15 │ │ │ │ │ + vldr d15, [pc, #296] @ 980 │ │ │ │ │ + vsub.f64 d12, d4, d5 │ │ │ │ │ + vadd.f64 d5, d4, d5 │ │ │ │ │ + vnmls.f64 d1, d9, d15 │ │ │ │ │ + vldr d15, [sp, #8] │ │ │ │ │ + vstr d12, [sp, #24] │ │ │ │ │ + vstr d5, [sp, #136] @ 0x88 │ │ │ │ │ vmul.f64 d7, d15, d7 │ │ │ │ │ - vmul.f64 d6, d15, d6 │ │ │ │ │ - vmla.f64 d7, d0, d8 │ │ │ │ │ - vldr d0, [sp, #24] │ │ │ │ │ - vstr d9, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d4, [sp, #128] @ 0x80 │ │ │ │ │ - vnmls.f64 d6, d0, d2 │ │ │ │ │ - vldr d0, [pc, #28] @ 888 │ │ │ │ │ + vldr d15, [sp, #40] @ 0x28 │ │ │ │ │ + vmla.f64 d7, d15, d8 │ │ │ │ │ + vldr d15, [sp, #16] │ │ │ │ │ + vmul.f64 d5, d15, d11 │ │ │ │ │ + vldr d15, [sp, #8] │ │ │ │ │ vsub.f64 d8, d1, d7 │ │ │ │ │ vadd.f64 d1, d1, d7 │ │ │ │ │ - vldr d7, [sp, #40] @ 0x28 │ │ │ │ │ - b.n 9b0 │ │ │ │ │ + b.n 9b8 │ │ │ │ │ nop.w │ │ │ │ │ .word 0x635b6bea │ │ │ │ │ .word 0x3ff8a80b │ │ │ │ │ .word 0xfeb501bc │ │ │ │ │ .word 0x3fe465c6 │ │ │ │ │ - .word 0xdcdc158c │ │ │ │ │ - .word 0x3ffcf457 │ │ │ │ │ .word 0xc925819c │ │ │ │ │ .word 0x3fdb3ff7 │ │ │ │ │ .word 0x5480d903 │ │ │ │ │ .word 0x3fefbf67 │ │ │ │ │ .word 0x5da15be0 │ │ │ │ │ .word 0x3fd00aeb │ │ │ │ │ + .word 0x3c182b51 │ │ │ │ │ + .word 0x3ff1257e │ │ │ │ │ .word 0xff642e86 │ │ │ │ │ .word 0x3feb04bb │ │ │ │ │ .word 0x1d101ee0 │ │ │ │ │ .word 0x3ffefea2 │ │ │ │ │ .word 0xfa1c0796 │ │ │ │ │ .word 0x3fcfd511 │ │ │ │ │ .word 0x4e81c059 │ │ │ │ │ .word 0x3ffc0ab4 │ │ │ │ │ - .word 0x03d2b816 │ │ │ │ │ - .word 0x3ff753b6 │ │ │ │ │ - .word 0x5cbfa951 │ │ │ │ │ - .word 0x3fded50d │ │ │ │ │ .word 0x55112014 │ │ │ │ │ .word 0x3fe5e7cf │ │ │ │ │ - .word 0x1d101ee0 │ │ │ │ │ - .word 0x3feefea2 │ │ │ │ │ + .word 0x5cbfa951 │ │ │ │ │ + .word 0x3fded50d │ │ │ │ │ + .word 0x03d2b816 │ │ │ │ │ + .word 0x3ff753b6 │ │ │ │ │ .word 0xfa1c0796 │ │ │ │ │ .word 0x3fdfd511 │ │ │ │ │ + .word 0x1d101ee0 │ │ │ │ │ + .word 0x3feefea2 │ │ │ │ │ .word 0xff642e86 │ │ │ │ │ .word 0x3ffb04bb │ │ │ │ │ .word 0x3c182b51 │ │ │ │ │ .word 0x3fe1257e │ │ │ │ │ .word 0x5cbfa951 │ │ │ │ │ .word 0x3feed50d │ │ │ │ │ .word 0x4e81c059 │ │ │ │ │ .word 0x3fec0ab4 │ │ │ │ │ - .word 0x55112014 │ │ │ │ │ - .word 0x3ff5e7cf │ │ │ │ │ - .word 0x03d2b816 │ │ │ │ │ - .word 0x3fe753b6 │ │ │ │ │ + .word 0xdcdc158c │ │ │ │ │ + .word 0x3fecf457 │ │ │ │ │ .word 0xbfe443fe │ │ │ │ │ .word 0x3fefefd5 │ │ │ │ │ - .word 0xc925819c │ │ │ │ │ - .word 0x3feb3ff7 │ │ │ │ │ .word 0x1be09379 │ │ │ │ │ .word 0x3fc0130a │ │ │ │ │ - .word 0x3c182b51 │ │ │ │ │ - .word 0x3ff1257e │ │ │ │ │ - .word 0xdcdc158c │ │ │ │ │ - .word 0x3fecf457 │ │ │ │ │ - .word 0x1be09379 │ │ │ │ │ - .word 0x3fb0130a │ │ │ │ │ + .word 0xc925819c │ │ │ │ │ + .word 0x3feb3ff7 │ │ │ │ │ .word 0xbfe443fe │ │ │ │ │ .word 0x3fffefd5 │ │ │ │ │ - .word 0x5480d903 │ │ │ │ │ - .word 0x3fffbf67 │ │ │ │ │ + .word 0x1be09379 │ │ │ │ │ + .word 0x3fb0130a │ │ │ │ │ + .word 0xdcdc158c │ │ │ │ │ + .word 0x3ffcf457 │ │ │ │ │ .word 0x5da15be0 │ │ │ │ │ .word 0x3fc00aeb │ │ │ │ │ + .word 0x5480d903 │ │ │ │ │ + .word 0x3fffbf67 │ │ │ │ │ .word 0x635b6bea │ │ │ │ │ .word 0x3fe8a80b │ │ │ │ │ .word 0xfeb501bc │ │ │ │ │ .word 0x3ff465c6 │ │ │ │ │ .word 0x55112014 │ │ │ │ │ .word 0x3ff5e7cf │ │ │ │ │ .word 0x03d2b816 │ │ │ │ │ .word 0x3fe753b6 │ │ │ │ │ - .word 0x5da15be0 │ │ │ │ │ - .word 0x3fd00aeb │ │ │ │ │ .word 0x5480d903 │ │ │ │ │ .word 0x3fefbf67 │ │ │ │ │ .word 0x635b6bea │ │ │ │ │ .word 0x3ff8a80b │ │ │ │ │ + .word 0xfeb501bc │ │ │ │ │ + .word 0x3fe465c6 │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ - vstr d8, [sp, #72] @ 0x48 │ │ │ │ │ - vadd.f64 d8, d9, d8 │ │ │ │ │ - vldr d9, [pc, #-60] @ 980 │ │ │ │ │ - vmul.f64 d4, d7, d9 │ │ │ │ │ - vstr d8, [sp, #120] @ 0x78 │ │ │ │ │ vldr d7, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d9, [pc, #-68] @ 988 │ │ │ │ │ - vldr d8, [pc, #-64] @ 990 │ │ │ │ │ - vnmls.f64 d4, d7, d9 │ │ │ │ │ - vldr d7, [sp, #16] │ │ │ │ │ - vmul.f64 d5, d5, d8 │ │ │ │ │ + vmul.f64 d6, d15, d6 │ │ │ │ │ + vstr d8, [sp, #48] @ 0x30 │ │ │ │ │ + vadd.f64 d8, d12, d8 │ │ │ │ │ + vldr d12, [pc, #-68] @ 988 │ │ │ │ │ + vstr d8, [sp, #128] @ 0x80 │ │ │ │ │ + vmul.f64 d4, d7, d12 │ │ │ │ │ + vldr d7, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d12, [pc, #-76] @ 990 │ │ │ │ │ vldr d8, [pc, #-72] @ 998 │ │ │ │ │ - vldr d15, [sp] │ │ │ │ │ - vldr d2, [sp, #8] │ │ │ │ │ + vnmls.f64 d4, d7, d12 │ │ │ │ │ + vldr d7, [sp, #32] │ │ │ │ │ + vmov.f64 d12, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vldr d15, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d11, [sp, #72] @ 0x48 │ │ │ │ │ vmla.f64 d5, d7, d8 │ │ │ │ │ - vldr d7, [pc, #-80] @ 9a0 │ │ │ │ │ - vldr d9, [sp, #112] @ 0x70 │ │ │ │ │ - vmul.f64 d7, d15, d7 │ │ │ │ │ - vmla.f64 d7, d2, d0 │ │ │ │ │ - vldr d0, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d7, [pc, #-92] @ 9a0 │ │ │ │ │ + vnmls.f64 d6, d15, d2 │ │ │ │ │ + vldr d2, [sp] │ │ │ │ │ + vmul.f64 d7, d9, d7 │ │ │ │ │ + vldr d9, [pc, #-100] @ 9a8 │ │ │ │ │ vsub.f64 d8, d4, d5 │ │ │ │ │ - vadd.f64 d5, d4, d5 │ │ │ │ │ - vldr d4, [sp, #32] │ │ │ │ │ + vmla.f64 d7, d2, d9 │ │ │ │ │ vsub.f64 d2, d6, d7 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ - vstr d5, [sp, #8] │ │ │ │ │ - vldr d5, [pc, #-116] @ 9a8 │ │ │ │ │ - vadd.f64 d15, d8, d2 │ │ │ │ │ + vadd.f64 d9, d8, d2 │ │ │ │ │ vsub.f64 d8, d8, d2 │ │ │ │ │ - vldr d2, [sp, #128] @ 0x80 │ │ │ │ │ - vadd.f64 d6, d4, d15 │ │ │ │ │ + vldr d2, [sp, #136] @ 0x88 │ │ │ │ │ + vmov.f64 d15, d9 │ │ │ │ │ + vadd.f64 d9, d4, d5 │ │ │ │ │ + vldr d5, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d4, [pc, #-136] @ 9b0 │ │ │ │ │ + vadd.f64 d6, d0, d15 │ │ │ │ │ vstr d15, [sp] │ │ │ │ │ - vldr d15, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ - mla r0, fp, r5, r0 │ │ │ │ │ - vldr d6, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d15, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ + add.w r6, r6, fp, lsl #3 │ │ │ │ │ + vldr d6, [sp, #88] @ 0x58 │ │ │ │ │ vsub.f64 d6, d15, d6 │ │ │ │ │ vstr d6, [r7] │ │ │ │ │ - vsub.f64 d6, d9, d3 │ │ │ │ │ - vadd.f64 d3, d3, d9 │ │ │ │ │ - vmov.f64 d9, #80 @ 0x3e800000 0.250 │ │ │ │ │ - add r7, r8 │ │ │ │ │ - vmul.f64 d6, d6, d5 │ │ │ │ │ - vmls.f64 d4, d3, d9 │ │ │ │ │ - vmov.f64 d3, d4 │ │ │ │ │ - vmla.f64 d3, d12, d13 │ │ │ │ │ - vmov.f64 d5, d3 │ │ │ │ │ + vsub.f64 d6, d5, d3 │ │ │ │ │ + vadd.f64 d3, d3, d5 │ │ │ │ │ + vmov.f64 d5, d0 │ │ │ │ │ + add r7, r9 │ │ │ │ │ + vmls.f64 d5, d3, d12 │ │ │ │ │ + vmul.f64 d6, d6, d4 │ │ │ │ │ + vldr d12, [sp, #96] @ 0x60 │ │ │ │ │ vmov.f64 d3, d6 │ │ │ │ │ - vmla.f64 d3, d0, d14 │ │ │ │ │ + vmov.f64 d4, d5 │ │ │ │ │ + vmla.f64 d3, d12, d14 │ │ │ │ │ + vmla.f64 d5, d11, d13 │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ - vldr d3, [sp, #96] @ 0x60 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ - vmul.f64 d5, d12, d14 │ │ │ │ │ - vmla.f64 d5, d0, d13 │ │ │ │ │ - sub.w r0, r0, ip │ │ │ │ │ - vldr d12, [pc, #-228] @ 9a8 │ │ │ │ │ - vldr d0, [sp, #104] @ 0x68 │ │ │ │ │ - vmul.f64 d8, d8, d12 │ │ │ │ │ + vldr d3, [sp, #88] @ 0x58 │ │ │ │ │ + vstr d5, [r6] │ │ │ │ │ + vmul.f64 d5, d11, d14 │ │ │ │ │ + sub.w r6, r6, lr │ │ │ │ │ + vldr d11, [sp, #120] @ 0x78 │ │ │ │ │ + vmla.f64 d5, d12, d13 │ │ │ │ │ + vmov.f64 d12, #80 @ 0x3e800000 0.250 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ vldr d4, [sp, #80] @ 0x50 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ + vldr d6, [pc, #-256] @ 9b0 │ │ │ │ │ + vstr d5, [r6] │ │ │ │ │ + vadd.f64 d5, d4, d10 │ │ │ │ │ + vsub.f64 d10, d4, d10 │ │ │ │ │ + sub.w r6, r6, r8 │ │ │ │ │ + vmul.f64 d5, d5, d6 │ │ │ │ │ vmov.f64 d6, d3 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ - vadd.f64 d5, d4, d11 │ │ │ │ │ - vsub.f64 d11, d4, d11 │ │ │ │ │ - sub.w r0, r0, r9 │ │ │ │ │ - vmul.f64 d5, d5, d12 │ │ │ │ │ - vmla.f64 d6, d11, d9 │ │ │ │ │ + vmla.f64 d6, d10, d12 │ │ │ │ │ + vldr d10, [sp, #104] @ 0x68 │ │ │ │ │ vmov.f64 d4, d5 │ │ │ │ │ - vnmls.f64 d5, d0, d13 │ │ │ │ │ - vmla.f64 d4, d0, d14 │ │ │ │ │ - vldr d0, [sp, #72] @ 0x48 │ │ │ │ │ + vmla.f64 d4, d10, d14 │ │ │ │ │ + vnmls.f64 d5, d10, d13 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ - vmla.f64 d6, d10, d14 │ │ │ │ │ - vmls.f64 d4, d10, d13 │ │ │ │ │ + vmla.f64 d6, d11, d14 │ │ │ │ │ + vmls.f64 d4, d11, d13 │ │ │ │ │ + vldr d11, [sp, #48] @ 0x30 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [sp] │ │ │ │ │ vstr d4, [r7] │ │ │ │ │ - add r7, lr │ │ │ │ │ - vmov.f64 d4, d8 │ │ │ │ │ - vmla.f64 d8, d2, d13 │ │ │ │ │ - vmla.f64 d4, d2, d14 │ │ │ │ │ - vldr d2, [sp, #8] │ │ │ │ │ + add r7, ip │ │ │ │ │ + vldr d4, [sp] │ │ │ │ │ vstr d6, [r7] │ │ │ │ │ - sub.w r7, r7, r8 │ │ │ │ │ - vldr d6, [sp, #32] │ │ │ │ │ - vmls.f64 d6, d5, d9 │ │ │ │ │ + sub.w r7, r7, r9 │ │ │ │ │ + vmls.f64 d0, d4, d12 │ │ │ │ │ + vmov.f64 d6, d0 │ │ │ │ │ + vldr d0, [pc, #-352] @ 9b0 │ │ │ │ │ vmov.f64 d5, d6 │ │ │ │ │ vmla.f64 d6, d1, d14 │ │ │ │ │ + vmul.f64 d8, d8, d0 │ │ │ │ │ vmla.f64 d5, d1, d13 │ │ │ │ │ + vmov.f64 d4, d8 │ │ │ │ │ + vmla.f64 d8, d2, d13 │ │ │ │ │ + vmla.f64 d4, d2, d14 │ │ │ │ │ vadd.f64 d8, d8, d6 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ + vstr d5, [r6] │ │ │ │ │ vmov.f64 d5, d3 │ │ │ │ │ - add r0, ip │ │ │ │ │ - vmla.f64 d5, d15, d9 │ │ │ │ │ - vstr d8, [r0] │ │ │ │ │ - vldr d8, [sp, #48] @ 0x30 │ │ │ │ │ - ldr r0, [sp, #188] @ 0xbc │ │ │ │ │ - vsub.f64 d6, d8, d0 │ │ │ │ │ - add sl, r0 │ │ │ │ │ + add r6, lr │ │ │ │ │ + vstr d8, [r6] │ │ │ │ │ + vldr d8, [sp, #24] │ │ │ │ │ + vmla.f64 d5, d15, d12 │ │ │ │ │ + ldr r6, [sp, #188] @ 0xbc │ │ │ │ │ + vsub.f64 d6, d8, d11 │ │ │ │ │ + add r0, r6 │ │ │ │ │ + add r1, r6 │ │ │ │ │ + ldr r6, [sp, #192] @ 0xc0 │ │ │ │ │ vmov.f64 d4, d5 │ │ │ │ │ - add r1, r0 │ │ │ │ │ - ldr r0, [sp, #192] @ 0xc0 │ │ │ │ │ - vmul.f64 d6, d6, d12 │ │ │ │ │ - add r2, r0 │ │ │ │ │ + vmul.f64 d6, d6, d0 │ │ │ │ │ + add r2, r6 │ │ │ │ │ + add sl, r6 │ │ │ │ │ + ldr r6, [sp, #196] @ 0xc4 │ │ │ │ │ vnmls.f64 d4, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ - vmla.f64 d7, d2, d13 │ │ │ │ │ - add r3, r0 │ │ │ │ │ - ldr r0, [sp, #196] @ 0xc4 │ │ │ │ │ vmov.f64 d3, d6 │ │ │ │ │ - vmla.f64 d3, d2, d14 │ │ │ │ │ - eors r4, r0 │ │ │ │ │ - eors r5, r0 │ │ │ │ │ - eors r6, r0 │ │ │ │ │ - ldr r0, [sp, #316] @ 0x13c │ │ │ │ │ - subs r0, #1 │ │ │ │ │ + eor.w r4, r4, r6 │ │ │ │ │ + eor.w r5, r5, r6 │ │ │ │ │ + eor.w r3, r3, r6 │ │ │ │ │ + ldr r6, [sp, #316] @ 0x13c │ │ │ │ │ + vmla.f64 d7, d9, d13 │ │ │ │ │ + vmla.f64 d3, d9, d14 │ │ │ │ │ + subs r6, #1 │ │ │ │ │ + str r6, [sp, #316] @ 0x13c │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vsub.f64 d4, d4, d3 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vstr d4, [r7] │ │ │ │ │ - add r7, lr │ │ │ │ │ + add r7, ip │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ - str r0, [sp, #316] @ 0x13c │ │ │ │ │ - bne.w 3e │ │ │ │ │ + bne.w 52 │ │ │ │ │ add sp, #204 @ 0xcc │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -00000b90 : │ │ │ │ │ +00000bc0 : │ │ │ │ │ fftw_codelet_r2cfII_25(): │ │ │ │ │ - ldr r2, [pc, #8] @ (b9c ) │ │ │ │ │ - ldr r1, [pc, #12] @ (ba0 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (bcc ) │ │ │ │ │ + ldr r1, [pc, #12] @ (bd0 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cfII_3.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 824 (bytes into file) │ │ │ │ │ + Start of section headers: 864 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x338: │ │ │ │ │ +There are 13 section headers, starting at offset 0x360: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0000d4 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0002a0 000018 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000108 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000108 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000108 000009 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 000111 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 0002b8 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 000141 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000141 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 000174 0000e0 10 11 11 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 000254 00004c 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 0002c8 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0000fc 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0002c8 000018 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000130 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000130 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000130 000009 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 000139 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 0002e0 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 000169 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000169 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 00019c 0000e0 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 00027c 00004c 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 0002f0 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,17 +1,17 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 14 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 192 FUNC LOCAL DEFAULT 1 r2cfII_3 │ │ │ │ │ + 1: 00000001 232 FUNC LOCAL DEFAULT 1 r2cfII_3 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000000b8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 000000c0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000000cc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000000e0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 000000e8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000000f4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ - 11: 000000c1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_3 │ │ │ │ │ + 11: 000000e9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_3 │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cfII_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,11 +1,11 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x2a0 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x2c8 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000000cc 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000000d0 00000103 R_ARM_REL32 00000001 r2cfII_3 │ │ │ │ │ -000000c8 00000c1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +000000f4 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000000f8 00000103 R_ARM_REL32 00000001 r2cfII_3 │ │ │ │ │ +000000f0 00000c1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x2b8 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x2e0 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000d02 R_ARM_ABS32 00000000 fftw_rdft_r2cfII_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,78 +1,87 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cfII_3(): │ │ │ │ │ - push {r4, r5, r6, r7, lr} │ │ │ │ │ - ldr r5, [sp, #40] @ 0x28 │ │ │ │ │ + str.w r4, [sp, #-20]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ ldrd r4, r6, [sp, #32] │ │ │ │ │ + strd r7, lr, [sp, #12] │ │ │ │ │ + ldr r5, [sp, #40] @ 0x28 │ │ │ │ │ cmp r4, #0 │ │ │ │ │ - ble.n 64 │ │ │ │ │ + ble.n 6e │ │ │ │ │ ldr r7, [sp, #20] │ │ │ │ │ cmp r6, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r5, #1 │ │ │ │ │ mov.w lr, r7, lsl #3 │ │ │ │ │ ldr r7, [sp, #24] │ │ │ │ │ mov.w r7, r7, lsl #3 │ │ │ │ │ - bne.n 66 │ │ │ │ │ - vldr d1, [pc, #148] @ b8 │ │ │ │ │ + bne.n 7c │ │ │ │ │ + vldr d1, [pc, #180] @ e0 │ │ │ │ │ vmov.f64 d2, #96 @ 0x3f000000 0.5 │ │ │ │ │ add.w ip, r0, lr │ │ │ │ │ - vldmia r1!, {d4} │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ subs r4, #1 │ │ │ │ │ + vldmia r1!, {d4} │ │ │ │ │ add.w r0, r0, #8 │ │ │ │ │ vldr d7, [ip] │ │ │ │ │ add.w ip, r2, r7 │ │ │ │ │ + vldr d6, [r0, #-8] │ │ │ │ │ vsub.f64 d5, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ vsub.f64 d3, d6, d5 │ │ │ │ │ vmla.f64 d6, d5, d2 │ │ │ │ │ vnmul.f64 d7, d1, d7 │ │ │ │ │ vstr d3, [ip] │ │ │ │ │ vstmia r3!, {d7} │ │ │ │ │ vstmia r2!, {d6} │ │ │ │ │ - bne.n 28 │ │ │ │ │ - pop {r4, r5, r6, r7, pc} │ │ │ │ │ - lsls r6, r6, #3 │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ - vldr d1, [pc, #76] @ b8 │ │ │ │ │ + bne.n 32 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + vldr d1, [pc, #96] @ e0 │ │ │ │ │ vmov.f64 d2, #96 @ 0x3f000000 0.5 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ add.w ip, r0, lr │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - add r1, r6 │ │ │ │ │ - add r0, r6 │ │ │ │ │ subs r4, #1 │ │ │ │ │ + add r1, r6 │ │ │ │ │ vldr d4, [ip] │ │ │ │ │ add.w ip, r2, r7 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + add r0, r6 │ │ │ │ │ vsub.f64 d5, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ vsub.f64 d3, d6, d5 │ │ │ │ │ vmla.f64 d6, d5, d2 │ │ │ │ │ vnmul.f64 d7, d1, d7 │ │ │ │ │ vstr d3, [ip] │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ add r3, r5 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ add r2, r5 │ │ │ │ │ - bne.n 72 │ │ │ │ │ - pop {r4, r5, r6, r7, pc} │ │ │ │ │ + bne.n 8c │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ nop.w │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3febb67a │ │ │ │ │ │ │ │ │ │ -000000c0 : │ │ │ │ │ +000000e8 : │ │ │ │ │ fftw_codelet_r2cfII_3(): │ │ │ │ │ - ldr r2, [pc, #8] @ (cc ) │ │ │ │ │ - ldr r1, [pc, #12] @ (d0 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (f4 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (f8 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cfII_32.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2848 (bytes into file) │ │ │ │ │ + Start of section headers: 2912 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0xb20: │ │ │ │ │ +There are 13 section headers, starting at offset 0xb60: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00082c 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000a78 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000860 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000860 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000860 00000a 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 00086a 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000aa0 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 00089a 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 00089a 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 0008d0 000120 10 11 13 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 0009f0 000085 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000ab0 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00086c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000ab8 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0008a0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0008a0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0008a0 00000a 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0008aa 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000ae0 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 0008da 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0008da 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 000910 000120 10 11 13 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 000a30 000085 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000af0 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,21 +1,21 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 18 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 2072 FUNC LOCAL DEFAULT 1 r2cfII_32 │ │ │ │ │ + 1: 00000001 2136 FUNC LOCAL DEFAULT 1 r2cfII_32 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000003f0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000430 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000007d8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000818 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00000824 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000400 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000440 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000818 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000858 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00000864 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 15: 00000819 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_32 │ │ │ │ │ + 15: 00000859 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_32 │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cfII_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xa78 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xab8 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000428 00000d19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000042c 00000e1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000824 00000a03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000828 00000103 R_ARM_REL32 00000001 r2cfII_32 │ │ │ │ │ -00000820 0000101e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +00000438 00000d19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000043c 00000e1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000864 00000a03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000868 00000103 R_ARM_REL32 00000001 r2cfII_32 │ │ │ │ │ +00000860 0000101e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xaa0 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xae0 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00001102 R_ARM_ABS32 00000000 fftw_rdft_r2cfII_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,562 +1,568 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cfII_32(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r7, r3 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub sp, #252 @ 0xfc │ │ │ │ │ - ldr r4, [sp, #364] @ 0x16c │ │ │ │ │ - str r2, [sp, #172] @ 0xac │ │ │ │ │ - ldr.w r2, [pc, #1044] @ 428 │ │ │ │ │ - cmp r4, #0 │ │ │ │ │ - ldrd r3, fp, [sp, #352] @ 0x160 │ │ │ │ │ - add r2, pc │ │ │ │ │ - ldr.w r8, [sp, #360] @ 0x168 │ │ │ │ │ - ble.w 7cc │ │ │ │ │ - ldr r4, [sp, #368] @ 0x170 │ │ │ │ │ - vldr d14, [pc, #968] @ 3f0 │ │ │ │ │ - vldr d13, [pc, #972] @ 3f8 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ - str r4, [sp, #236] @ 0xec │ │ │ │ │ - ldr r4, [sp, #372] @ 0x174 │ │ │ │ │ - vldr d11, [pc, #968] @ 400 │ │ │ │ │ - vldr d15, [pc, #972] @ 408 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ - str r4, [sp, #240] @ 0xf0 │ │ │ │ │ - ldr r4, [pc, #1000] @ (42c ) │ │ │ │ │ - ldr r2, [r2, r4] │ │ │ │ │ - str r0, [sp, #168] @ 0xa8 │ │ │ │ │ - str r7, [sp, #232] @ 0xe8 │ │ │ │ │ - ldr r2, [r2, #0] │ │ │ │ │ - str r2, [sp, #244] @ 0xf4 │ │ │ │ │ - ldr r2, [sp, #168] @ 0xa8 │ │ │ │ │ - lsls r7, r3, #5 │ │ │ │ │ - ldr r0, [sp, #168] @ 0xa8 │ │ │ │ │ - mov.w lr, #48 @ 0x30 │ │ │ │ │ - mov.w r9, r3, lsl #3 │ │ │ │ │ - vldr d9, [pc, #948] @ 410 │ │ │ │ │ - mov.w ip, #120 @ 0x78 │ │ │ │ │ - movs r6, #56 @ 0x38 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - lsls r2, r3, #6 │ │ │ │ │ - adds r4, r0, r2 │ │ │ │ │ - mul.w r5, lr, r3 │ │ │ │ │ - str r5, [sp, #160] @ 0xa0 │ │ │ │ │ - mul.w ip, ip, r3 │ │ │ │ │ - mul.w r6, r3, r6 │ │ │ │ │ - vldr d0, [pc, #924] @ 418 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - adds r4, r0, r7 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - add r4, r2 │ │ │ │ │ - vldr d3, [r4] │ │ │ │ │ - lsls r4, r3, #4 │ │ │ │ │ - str r4, [sp, #0] │ │ │ │ │ - add r4, r0 │ │ │ │ │ + sub sp, #244 @ 0xf4 │ │ │ │ │ + ldrd sl, fp, [sp, #344] @ 0x158 │ │ │ │ │ + str r2, [sp, #4] │ │ │ │ │ + str r3, [sp, #224] @ 0xe0 │ │ │ │ │ + ldr r2, [sp, #356] @ 0x164 │ │ │ │ │ + ldr.w r3, [pc, #1040] @ 438 │ │ │ │ │ + ldr.w ip, [sp, #352] @ 0x160 │ │ │ │ │ + cmp r2, #0 │ │ │ │ │ + add r3, pc │ │ │ │ │ + ble.w 7fc │ │ │ │ │ + ldr r2, [sp, #360] @ 0x168 │ │ │ │ │ + mov r8, r0 │ │ │ │ │ + vldr d14, [pc, #964] @ 400 │ │ │ │ │ + vldr d13, [pc, #968] @ 408 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + vldr d11, [pc, #968] @ 410 │ │ │ │ │ + str r2, [sp, #228] @ 0xe4 │ │ │ │ │ + ldr r2, [sp, #364] @ 0x16c │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + str r2, [sp, #232] @ 0xe8 │ │ │ │ │ + ldr r2, [pc, #1000] @ (43c ) │ │ │ │ │ + ldr r3, [r3, r2] │ │ │ │ │ + ldr r3, [r3, #0] │ │ │ │ │ + str r3, [sp, #236] @ 0xec │ │ │ │ │ + mov.w r3, sl, lsl #6 │ │ │ │ │ + vldr d4, [r8] │ │ │ │ │ + mov.w r5, sl, lsl #4 │ │ │ │ │ + add.w r2, r8, r3 │ │ │ │ │ + add.w r4, sl, sl, lsl #2 │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + mov.w r2, sl, lsl #5 │ │ │ │ │ + mov.w r6, r4, lsl #3 │ │ │ │ │ + str r2, [sp, #16] │ │ │ │ │ + add r2, r8 │ │ │ │ │ + str r4, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + add r2, r3 │ │ │ │ │ + vldr d3, [r2] │ │ │ │ │ + add.w r2, r8, r5 │ │ │ │ │ vsub.f64 d6, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ - vmul.f64 d6, d6, d14 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ - vadd.f64 d2, d4, d6 │ │ │ │ │ - vsub.f64 d6, d4, d6 │ │ │ │ │ + vmul.f64 d6, d6, d14 │ │ │ │ │ vsub.f64 d1, d5, d7 │ │ │ │ │ - vadd.f64 d8, d5, d7 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - add r4, r2 │ │ │ │ │ - vstr d6, [sp, #24] │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - adds r4, r0, r5 │ │ │ │ │ - vstr d2, [sp, #8] │ │ │ │ │ - vstr d8, [sp, #32] │ │ │ │ │ + vadd.f64 d3, d5, d7 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + add r2, r3 │ │ │ │ │ + vadd.f64 d9, d4, d6 │ │ │ │ │ + vsub.f64 d0, d4, d6 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add.w r2, sl, sl, lsl #1 │ │ │ │ │ + mov.w r0, r2, lsl #4 │ │ │ │ │ + str r2, [sp, #8] │ │ │ │ │ + add.w r2, r8, r0 │ │ │ │ │ + vstr d9, [sp, #24] │ │ │ │ │ + vstr d3, [sp, #48] @ 0x30 │ │ │ │ │ vmul.f64 d5, d6, d11 │ │ │ │ │ - vldr d3, [r4] │ │ │ │ │ - add r4, r2 │ │ │ │ │ vmul.f64 d6, d6, d13 │ │ │ │ │ - vmla.f64 d6, d7, d11 │ │ │ │ │ - vldr d8, [pc, #832] @ 420 │ │ │ │ │ - vstr d1, [sp, #16] │ │ │ │ │ + vldr d3, [r2] │ │ │ │ │ + add r2, r3 │ │ │ │ │ + vstr d1, [sp, #32] │ │ │ │ │ + str r0, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d9, [pc, #820] @ 418 │ │ │ │ │ + vstr d0, [sp, #40] @ 0x28 │ │ │ │ │ vnmls.f64 d5, d7, d13 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - add.w r4, r0, r9 │ │ │ │ │ - add r9, r1 │ │ │ │ │ + vmla.f64 d6, d7, d11 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + mov.w r2, sl, lsl #3 │ │ │ │ │ + vldr d0, [pc, #804] @ 420 │ │ │ │ │ + add.w r0, r8, r2 │ │ │ │ │ vmul.f64 d4, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ - vmla.f64 d7, d3, d13 │ │ │ │ │ vnmls.f64 d4, d3, d11 │ │ │ │ │ + vmla.f64 d7, d3, d13 │ │ │ │ │ + vadd.f64 d8, d5, d4 │ │ │ │ │ + vsub.f64 d10, d6, d7 │ │ │ │ │ vadd.f64 d12, d6, d7 │ │ │ │ │ - vadd.f64 d3, d5, d4 │ │ │ │ │ - vsub.f64 d5, d4, d5 │ │ │ │ │ - vsub.f64 d4, d6, d7 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - add r4, r2 │ │ │ │ │ - vstr d12, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d3, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d3, [r4] │ │ │ │ │ - movs r4, #40 @ 0x28 │ │ │ │ │ - vstr d4, [sp, #56] @ 0x38 │ │ │ │ │ - vstr d5, [sp, #48] @ 0x30 │ │ │ │ │ - mul.w r4, r3, r4 │ │ │ │ │ - adds r5, r0, r4 │ │ │ │ │ - add r4, r1 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - add r5, r2 │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ - add.w r5, r0, ip │ │ │ │ │ - add ip, r1 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + vsub.f64 d4, d4, d5 │ │ │ │ │ + add r0, r3 │ │ │ │ │ + vldr d3, [r0] │ │ │ │ │ + add.w r0, r8, r6 │ │ │ │ │ + add r6, r1 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + add r0, r3 │ │ │ │ │ + vstr d8, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d4, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ + sub.w r0, r5, sl │ │ │ │ │ + vstr d10, [sp, #72] @ 0x48 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ + vldr d10, [pc, #724] @ 428 │ │ │ │ │ + add.w r4, r8, r0 │ │ │ │ │ + vstr d12, [sp, #80] @ 0x50 │ │ │ │ │ + add r0, r1 │ │ │ │ │ + vldr d8, [pc, #720] @ 430 │ │ │ │ │ vsub.f64 d5, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ vmul.f64 d5, d5, d14 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ vadd.f64 d2, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vadd.f64 d4, d3, d7 │ │ │ │ │ vsub.f64 d7, d3, d7 │ │ │ │ │ vmul.f64 d5, d6, d9 │ │ │ │ │ vmul.f64 d1, d4, d0 │ │ │ │ │ vmul.f64 d4, d4, d8 │ │ │ │ │ - vmla.f64 d4, d2, d0 │ │ │ │ │ - vnmls.f64 d5, d7, d15 │ │ │ │ │ + vnmls.f64 d5, d7, d10 │ │ │ │ │ vmul.f64 d7, d7, d9 │ │ │ │ │ vnmls.f64 d1, d2, d8 │ │ │ │ │ - vmov.f64 d3, d7 │ │ │ │ │ - vmla.f64 d3, d6, d15 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - adds r5, r0, r6 │ │ │ │ │ - vstr d4, [sp, #80] @ 0x50 │ │ │ │ │ - add r6, r1 │ │ │ │ │ - vstr d5, [sp, #88] @ 0x58 │ │ │ │ │ - vstr d1, [sp, #72] @ 0x48 │ │ │ │ │ - vstr d3, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d3, [r5] │ │ │ │ │ - movs r5, #24 │ │ │ │ │ - mul.w r5, r3, r5 │ │ │ │ │ - add.w sl, r0, r5 │ │ │ │ │ - add r5, r1 │ │ │ │ │ - vldr d7, [sl] │ │ │ │ │ - add sl, r2 │ │ │ │ │ - add r2, r1 │ │ │ │ │ - vldr d4, [sl] │ │ │ │ │ - mov.w sl, fp, lsl #3 │ │ │ │ │ + vmla.f64 d4, d2, d0 │ │ │ │ │ + vmla.f64 d7, d6, d10 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + sub.w r4, r2, sl │ │ │ │ │ + mov.w lr, r4, lsl #3 │ │ │ │ │ + add.w r4, r1, r4, lsl #4 │ │ │ │ │ + add.w r7, r8, lr │ │ │ │ │ + add lr, r1 │ │ │ │ │ + vldr d3, [r7] │ │ │ │ │ + vstr d1, [sp, #88] @ 0x58 │ │ │ │ │ + ldr r7, [sp, #8] │ │ │ │ │ + vstr d4, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d7, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d5, [sp, #168] @ 0xa8 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + add.w r9, r8, r7 │ │ │ │ │ + add r7, r1 │ │ │ │ │ + vldr d7, [r9] │ │ │ │ │ + add r9, r3 │ │ │ │ │ + add r3, r1 │ │ │ │ │ + vldr d4, [r9] │ │ │ │ │ vsub.f64 d5, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vmul.f64 d7, d7, d14 │ │ │ │ │ vmul.f64 d5, d5, d14 │ │ │ │ │ - vadd.f64 d4, d3, d7 │ │ │ │ │ + vmul.f64 d7, d7, d14 │ │ │ │ │ vsub.f64 d2, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ + vadd.f64 d4, d3, d7 │ │ │ │ │ vsub.f64 d7, d3, d7 │ │ │ │ │ + vmul.f64 d5, d6, d9 │ │ │ │ │ vmul.f64 d1, d4, d0 │ │ │ │ │ vmul.f64 d4, d4, d8 │ │ │ │ │ + vmov.f64 d3, d5 │ │ │ │ │ vmla.f64 d1, d2, d8 │ │ │ │ │ - vmul.f64 d5, d6, d9 │ │ │ │ │ vmov.f64 d8, d4 │ │ │ │ │ - vnmls.f64 d5, d7, d15 │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ + mov.w r0, #88 @ 0x58 │ │ │ │ │ + mla r0, r0, sl, r1 │ │ │ │ │ + vnmls.f64 d3, d7, d10 │ │ │ │ │ vmul.f64 d7, d7, d9 │ │ │ │ │ - vmla.f64 d7, d6, d15 │ │ │ │ │ vnmls.f64 d8, d2, d0 │ │ │ │ │ - vstr d1, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - movs r5, #88 @ 0x58 │ │ │ │ │ - vldr d4, [ip] │ │ │ │ │ - mov.w ip, #72 @ 0x48 │ │ │ │ │ - vldr d1, [r4] │ │ │ │ │ - movs r4, #104 @ 0x68 │ │ │ │ │ - mla r5, r5, r3, r1 │ │ │ │ │ - vstr d5, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d7, [sp, #128] @ 0x80 │ │ │ │ │ - mla r4, r4, r3, r1 │ │ │ │ │ - vldr d3, [r6] │ │ │ │ │ - vstr d8, [sp, #112] @ 0x70 │ │ │ │ │ + vmov.f64 d2, d7 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + add.w r0, r1, r2 │ │ │ │ │ + add r2, sl │ │ │ │ │ + vstr d1, [sp, #112] @ 0x70 │ │ │ │ │ + add.w r2, r1, r2, lsl #3 │ │ │ │ │ + vldr d1, [r6] │ │ │ │ │ mov.w r6, fp, lsl #6 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - mla r5, ip, r3, r1 │ │ │ │ │ - vsub.f64 d2, d6, d7 │ │ │ │ │ - vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d9, [r5] │ │ │ │ │ - vldr d7, [r9] │ │ │ │ │ - mov.w r9, r8, lsl #3 │ │ │ │ │ - ldr r5, [sp, #160] @ 0xa0 │ │ │ │ │ + vmla.f64 d2, d6, d10 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + vstr d8, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d9, [r2] │ │ │ │ │ + mov.w r2, #104 @ 0x68 │ │ │ │ │ + vstr d3, [sp, #128] @ 0x80 │ │ │ │ │ + mla r2, r2, sl, r1 │ │ │ │ │ + vldr d3, [lr] │ │ │ │ │ + ldr r7, [sp, #8] │ │ │ │ │ vmul.f64 d8, d9, d11 │ │ │ │ │ vmul.f64 d9, d9, d13 │ │ │ │ │ - vmla.f64 d9, d7, d11 │ │ │ │ │ + vstr d2, [sp, #136] @ 0x88 │ │ │ │ │ + vsub.f64 d2, d6, d7 │ │ │ │ │ + vadd.f64 d6, d6, d7 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + ldr r0, [sp, #152] @ 0x98 │ │ │ │ │ vmul.f64 d2, d2, d14 │ │ │ │ │ vmul.f64 d6, d6, d14 │ │ │ │ │ vnmls.f64 d8, d7, d13 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ + vmla.f64 d9, d7, d11 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ vsub.f64 d0, d2, d4 │ │ │ │ │ - ldr r4, [sp, #0] │ │ │ │ │ vadd.f64 d4, d4, d2 │ │ │ │ │ vmul.f64 d5, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ - vmla.f64 d7, d1, d13 │ │ │ │ │ vnmls.f64 d5, d1, d11 │ │ │ │ │ + vmla.f64 d7, d1, d13 │ │ │ │ │ vadd.f64 d1, d8, d5 │ │ │ │ │ vsub.f64 d5, d5, d8 │ │ │ │ │ - vldr d8, [r2] │ │ │ │ │ - adds r2, r1, r7 │ │ │ │ │ - vadd.f64 d10, d0, d1 │ │ │ │ │ + vadd.f64 d15, d0, d1 │ │ │ │ │ vsub.f64 d0, d0, d1 │ │ │ │ │ vsub.f64 d1, d3, d6 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ - vstr d10, [sp, #136] @ 0x88 │ │ │ │ │ - vadd.f64 d12, d5, d1 │ │ │ │ │ - vsub.f64 d10, d5, d1 │ │ │ │ │ + vstr d15, [sp, #176] @ 0xb0 │ │ │ │ │ + vsub.f64 d12, d5, d1 │ │ │ │ │ + vadd.f64 d15, d5, d1 │ │ │ │ │ + vstr d0, [sp, #184] @ 0xb8 │ │ │ │ │ vadd.f64 d5, d9, d7 │ │ │ │ │ vsub.f64 d9, d9, d7 │ │ │ │ │ - vstr d0, [sp, #176] @ 0xb0 │ │ │ │ │ - vstr d10, [sp, #184] @ 0xb8 │ │ │ │ │ - vadd.f64 d2, d4, d9 │ │ │ │ │ - vsub.f64 d9, d9, d4 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - movs r2, #96 @ 0x60 │ │ │ │ │ - vadd.f64 d6, d5, d3 │ │ │ │ │ - vsub.f64 d0, d3, d5 │ │ │ │ │ vstr d12, [sp, #192] @ 0xc0 │ │ │ │ │ - mla r2, r2, r3, r1 │ │ │ │ │ - vstr d9, [sp, #152] @ 0x98 │ │ │ │ │ - vstr d2, [sp, #208] @ 0xd0 │ │ │ │ │ - vstr d6, [sp, #144] @ 0x90 │ │ │ │ │ - vstr d0, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - adds r2, r1, r4 │ │ │ │ │ - vsub.f64 d9, d4, d7 │ │ │ │ │ - vadd.f64 d4, d4, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - movs r2, #80 @ 0x50 │ │ │ │ │ - mla r2, r2, r3, r1 │ │ │ │ │ - vmul.f64 d9, d9, d14 │ │ │ │ │ - vmul.f64 d4, d4, d14 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - adds r2, r1, r5 │ │ │ │ │ - mov.w r5, r8, lsl #6 │ │ │ │ │ - vmul.f64 d2, d6, d11 │ │ │ │ │ - vmul.f64 d6, d6, d13 │ │ │ │ │ - vmla.f64 d6, d7, d11 │ │ │ │ │ + vadd.f64 d10, d5, d3 │ │ │ │ │ + vsub.f64 d6, d3, d5 │ │ │ │ │ + vldr d3, [r3] │ │ │ │ │ + vsub.f64 d5, d9, d4 │ │ │ │ │ + vadd.f64 d7, d4, d9 │ │ │ │ │ + ldr r3, [sp, #16] │ │ │ │ │ + vldr d12, [r1] │ │ │ │ │ + add r3, r1 │ │ │ │ │ + vstr d5, [sp, #144] @ 0x90 │ │ │ │ │ + vstr d6, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ + add.w r3, r1, r7, lsl #5 │ │ │ │ │ + vstr d7, [sp, #216] @ 0xd8 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + mov.w r4, fp, lsl #3 │ │ │ │ │ + vstr d15, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + add.w r3, r1, r5 │ │ │ │ │ + vmul.f64 d4, d6, d13 │ │ │ │ │ + vmul.f64 d6, d6, d11 │ │ │ │ │ + vsub.f64 d8, d5, d7 │ │ │ │ │ + vadd.f64 d5, d5, d7 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + ldr r3, [sp, #160] @ 0xa0 │ │ │ │ │ + vmul.f64 d8, d8, d14 │ │ │ │ │ + vmul.f64 d5, d5, d14 │ │ │ │ │ + add.w r5, r1, r3, lsl #4 │ │ │ │ │ + add.w r3, r1, r0 │ │ │ │ │ + mov.w r0, ip, lsl #3 │ │ │ │ │ + vldr d9, [r5] │ │ │ │ │ + mov.w r5, ip, lsl #6 │ │ │ │ │ + vadd.f64 d0, d12, d8 │ │ │ │ │ + vmul.f64 d2, d9, d11 │ │ │ │ │ + vmul.f64 d9, d9, d13 │ │ │ │ │ vnmls.f64 d2, d7, d13 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - movs r2, #112 @ 0x70 │ │ │ │ │ - mla r2, r2, r3, r1 │ │ │ │ │ - vldr d5, [r2] │ │ │ │ │ - vmul.f64 d3, d5, d13 │ │ │ │ │ - vmul.f64 d5, d5, d11 │ │ │ │ │ - vmla.f64 d5, d7, d13 │ │ │ │ │ - vnmls.f64 d3, d7, d11 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - vadd.f64 d0, d7, d9 │ │ │ │ │ - vadd.f64 d12, d6, d5 │ │ │ │ │ - vsub.f64 d6, d6, d5 │ │ │ │ │ - vadd.f64 d1, d2, d3 │ │ │ │ │ - vsub.f64 d3, d3, d2 │ │ │ │ │ - vsub.f64 d10, d0, d1 │ │ │ │ │ + vmla.f64 d9, d7, d11 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + vnmls.f64 d4, d7, d11 │ │ │ │ │ + vmla.f64 d6, d7, d13 │ │ │ │ │ + vadd.f64 d1, d2, d4 │ │ │ │ │ + vsub.f64 d4, d4, d2 │ │ │ │ │ + vsub.f64 d12, d0, d1 │ │ │ │ │ vadd.f64 d7, d0, d1 │ │ │ │ │ - vstr d10, [sp, #216] @ 0xd8 │ │ │ │ │ - vsub.f64 d10, d8, d4 │ │ │ │ │ - vadd.f64 d8, d8, d4 │ │ │ │ │ - vsub.f64 d2, d3, d10 │ │ │ │ │ - vadd.f64 d10, d3, d10 │ │ │ │ │ - vsub.f64 d4, d8, d12 │ │ │ │ │ - vadd.f64 d0, d12, d8 │ │ │ │ │ - vstr d2, [sp, #224] @ 0xe0 │ │ │ │ │ - vstr d4, [sp] │ │ │ │ │ + vstr d12, [sp, #16] │ │ │ │ │ + vsub.f64 d12, d3, d5 │ │ │ │ │ + vadd.f64 d3, d3, d5 │ │ │ │ │ + ldr r7, [sp, #4] │ │ │ │ │ + vldr d1, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d15, [sp, #176] @ 0xb0 │ │ │ │ │ + vsub.f64 d2, d4, d12 │ │ │ │ │ + vadd.f64 d12, d4, d12 │ │ │ │ │ + add.w r3, r7, r6 │ │ │ │ │ + vadd.f64 d4, d9, d6 │ │ │ │ │ + vsub.f64 d9, d9, d6 │ │ │ │ │ + ldr r2, [sp, #224] @ 0xe0 │ │ │ │ │ + vstr d2, [sp, #152] @ 0x98 │ │ │ │ │ + add r2, r5 │ │ │ │ │ + vadd.f64 d0, d4, d3 │ │ │ │ │ + vsub.f64 d5, d3, d4 │ │ │ │ │ vldr d3, [r1] │ │ │ │ │ - vldr d2, [sp, #8] │ │ │ │ │ - vldr d8, [sp, #112] @ 0x70 │ │ │ │ │ - vsub.f64 d9, d3, d9 │ │ │ │ │ - vldr d3, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d1, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d4, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d12, [sp, #144] @ 0x90 │ │ │ │ │ - vsub.f64 d5, d9, d6 │ │ │ │ │ - vadd.f64 d9, d9, d6 │ │ │ │ │ - vldr d6, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d2, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d4, [sp, #96] @ 0x60 │ │ │ │ │ + vsub.f64 d8, d3, d8 │ │ │ │ │ + vstr d5, [sp, #8] │ │ │ │ │ + vldr d5, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d3, [sp, #112] @ 0x70 │ │ │ │ │ + vsub.f64 d6, d8, d9 │ │ │ │ │ + vadd.f64 d9, d8, d9 │ │ │ │ │ + vldr d8, [sp, #120] @ 0x78 │ │ │ │ │ + vstr d6, [sp, #160] @ 0xa0 │ │ │ │ │ vsub.f64 d4, d8, d4 │ │ │ │ │ - ldr r7, [sp, #172] @ 0xac │ │ │ │ │ - ldr r0, [sp, #232] @ 0xe8 │ │ │ │ │ - vstr d5, [sp, #160] @ 0xa0 │ │ │ │ │ - vadd.f64 d5, d2, d3 │ │ │ │ │ - vldr d2, [sp, #104] @ 0x68 │ │ │ │ │ - mov r2, r7 │ │ │ │ │ - add r2, r6 │ │ │ │ │ - adds r4, r0, r5 │ │ │ │ │ - vadd.f64 d6, d6, d2 │ │ │ │ │ - vldr d2, [sp, #32] │ │ │ │ │ - vsub.f64 d3, d5, d6 │ │ │ │ │ - vadd.f64 d5, d5, d6 │ │ │ │ │ - vadd.f64 d6, d2, d1 │ │ │ │ │ - b.n 430 │ │ │ │ │ + b.n 440 │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ - .word 0x290ea1a3 │ │ │ │ │ - .word 0x3fea9b66 │ │ │ │ │ .word 0x39ae68c8 │ │ │ │ │ .word 0x3fe1c73b │ │ │ │ │ .word 0x3c69a60b │ │ │ │ │ .word 0x3fc8f8b8 │ │ │ │ │ + .word 0x290ea1a3 │ │ │ │ │ + .word 0x3fea9b66 │ │ │ │ │ .word 0xcff75cb0 │ │ │ │ │ .word 0x3fef6297 │ │ │ │ │ - .word 0x0000040a │ │ │ │ │ + .word 0x00000406 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - vldr d1, [pc, #932] @ 7d8 │ │ │ │ │ + vldr d6, [sp, #24] │ │ │ │ │ + vadd.f64 d5, d6, d5 │ │ │ │ │ + vldr d6, [sp, #88] @ 0x58 │ │ │ │ │ + vadd.f64 d6, d6, d3 │ │ │ │ │ + vsub.f64 d3, d5, d6 │ │ │ │ │ + vadd.f64 d5, d5, d6 │ │ │ │ │ + vadd.f64 d6, d2, d1 │ │ │ │ │ + vldr d1, [pc, #952] @ 818 │ │ │ │ │ vsub.f64 d8, d4, d6 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ - vldr d6, [pc, #928] @ 7e0 │ │ │ │ │ + vldr d6, [pc, #948] @ 820 │ │ │ │ │ vmul.f64 d2, d0, d6 │ │ │ │ │ - vmul.f64 d6, d12, d6 │ │ │ │ │ - vldr d12, [sp, #136] @ 0x88 │ │ │ │ │ + vmul.f64 d6, d10, d6 │ │ │ │ │ vmla.f64 d2, d7, d1 │ │ │ │ │ - vnmls.f64 d6, d12, d1 │ │ │ │ │ - vldr d12, [sp, #144] @ 0x90 │ │ │ │ │ + vnmls.f64 d6, d15, d1 │ │ │ │ │ vadd.f64 d1, d2, d6 │ │ │ │ │ vsub.f64 d6, d6, d2 │ │ │ │ │ - vldr d2, [pc, #884] @ 7d8 │ │ │ │ │ + vldr d2, [pc, #912] @ 818 │ │ │ │ │ vmul.f64 d0, d0, d2 │ │ │ │ │ - vldr d2, [pc, #884] @ 7e0 │ │ │ │ │ + vldr d2, [pc, #912] @ 820 │ │ │ │ │ vnmls.f64 d0, d7, d2 │ │ │ │ │ - vldr d7, [pc, #868] @ 7d8 │ │ │ │ │ - vmul.f64 d7, d12, d7 │ │ │ │ │ - vldr d12, [sp, #136] @ 0x88 │ │ │ │ │ - vmla.f64 d7, d12, d2 │ │ │ │ │ + vldr d7, [pc, #896] @ 818 │ │ │ │ │ + vmul.f64 d7, d10, d7 │ │ │ │ │ + vldr d10, [sp, #72] @ 0x48 │ │ │ │ │ + vmla.f64 d7, d15, d2 │ │ │ │ │ vadd.f64 d2, d0, d7 │ │ │ │ │ vsub.f64 d7, d7, d0 │ │ │ │ │ vsub.f64 d0, d3, d1 │ │ │ │ │ vadd.f64 d3, d3, d1 │ │ │ │ │ - vldr d1, [sp, #16] │ │ │ │ │ - vstr d0, [r2] │ │ │ │ │ + vldr d1, [sp, #32] │ │ │ │ │ + vstr d0, [r3] │ │ │ │ │ vsub.f64 d0, d7, d4 │ │ │ │ │ - sub.w r2, r2, sl │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ vsub.f64 d7, d5, d2 │ │ │ │ │ + sub.w r3, r3, r4 │ │ │ │ │ vadd.f64 d5, d5, d2 │ │ │ │ │ - vstr d0, [r4] │ │ │ │ │ - sub.w r4, r4, r9 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - add r2, r6 │ │ │ │ │ - vldr d0, [sp, #24] │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - add r4, r5 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ + vldr d2, [sp, #136] @ 0x88 │ │ │ │ │ + vstr d0, [r2] │ │ │ │ │ + sub.w r2, r2, r0 │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ + add r3, r6 │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ + add r2, r5 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d6, d8 │ │ │ │ │ - vldr d3, [sp, #96] @ 0x60 │ │ │ │ │ vadd.f64 d8, d8, d6 │ │ │ │ │ - sub.w r2, r2, sl │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ - sub.w r4, r4, r9 │ │ │ │ │ - vldr d7, [sp, #56] @ 0x38 │ │ │ │ │ - mvn.w r9, #103 @ 0x67 │ │ │ │ │ + vldr d0, [sp, #40] @ 0x28 │ │ │ │ │ + sub.w r3, r3, r4 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + sub.w r2, r2, r0 │ │ │ │ │ + vldr d7, [sp, #104] @ 0x68 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ - vstr d8, [r0] │ │ │ │ │ - vadd.f64 d5, d0, d7 │ │ │ │ │ + vadd.f64 d5, d0, d10 │ │ │ │ │ vldr d0, [sp, #128] @ 0x80 │ │ │ │ │ - vsub.f64 d7, d3, d0 │ │ │ │ │ - vldr d0, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d10, [sp, #168] @ 0xa8 │ │ │ │ │ + vsub.f64 d7, d7, d2 │ │ │ │ │ + ldr r7, [sp, #224] @ 0xe0 │ │ │ │ │ + vadd.f64 d4, d10, d0 │ │ │ │ │ + vstr d8, [r7] │ │ │ │ │ + mvn.w r7, #103 @ 0x67 │ │ │ │ │ vadd.f64 d2, d5, d7 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ - vldr d7, [sp, #88] @ 0x58 │ │ │ │ │ - vadd.f64 d4, d7, d0 │ │ │ │ │ - vldr d7, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d12, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d0, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d7, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d15, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d0, [sp, #144] @ 0x90 │ │ │ │ │ vadd.f64 d7, d1, d7 │ │ │ │ │ - vldr d1, [pc, #708] @ 7e8 │ │ │ │ │ + vldr d1, [pc, #740] @ 828 │ │ │ │ │ vsub.f64 d8, d4, d7 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ - vldr d7, [pc, #704] @ 7f0 │ │ │ │ │ - vmul.f64 d6, d12, d7 │ │ │ │ │ - vmul.f64 d3, d10, d7 │ │ │ │ │ + vldr d7, [pc, #736] @ 830 │ │ │ │ │ + vmul.f64 d3, d12, d7 │ │ │ │ │ + vmul.f64 d6, d15, d7 │ │ │ │ │ vmla.f64 d3, d9, d1 │ │ │ │ │ vnmls.f64 d6, d0, d1 │ │ │ │ │ vadd.f64 d0, d3, d6 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ - vmul.f64 d3, d12, d1 │ │ │ │ │ - vldr d12, [sp, #152] @ 0x98 │ │ │ │ │ - vmla.f64 d3, d12, d7 │ │ │ │ │ + vmul.f64 d3, d15, d1 │ │ │ │ │ + vldr d15, [sp, #144] @ 0x90 │ │ │ │ │ + vmla.f64 d3, d15, d7 │ │ │ │ │ vmul.f64 d7, d9, d7 │ │ │ │ │ - vldr d9, [sp, #8] │ │ │ │ │ - vldr d12, [sp, #200] @ 0xc8 │ │ │ │ │ - vnmls.f64 d7, d10, d1 │ │ │ │ │ - vldr d10, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d9, [sp, #24] │ │ │ │ │ + vldr d15, [sp, #208] @ 0xd0 │ │ │ │ │ + vnmls.f64 d7, d12, d1 │ │ │ │ │ + vldr d12, [sp, #56] @ 0x38 │ │ │ │ │ vsub.f64 d1, d3, d7 │ │ │ │ │ vadd.f64 d7, d3, d7 │ │ │ │ │ vsub.f64 d3, d2, d0 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ vsub.f64 d3, d7, d4 │ │ │ │ │ - mla r2, r9, fp, r2 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ vsub.f64 d7, d5, d1 │ │ │ │ │ + mla r3, r7, fp, r3 │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ - vldr d1, [pc, #612] @ 7f8 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ - mla r4, r9, r8, r4 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - mvn.w r9, #23 │ │ │ │ │ - add r2, r6 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - add r4, r5 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ + vldr d1, [pc, #644] @ 838 │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ + mla r2, r7, ip, r2 │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + add r3, r6 │ │ │ │ │ + sub.w r7, fp, fp, lsl #2 │ │ │ │ │ + vldr d3, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ + add r2, r5 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d6, d8 │ │ │ │ │ - mla r2, r9, fp, r2 │ │ │ │ │ vadd.f64 d8, d8, d6 │ │ │ │ │ - mla r9, r9, r8, r4 │ │ │ │ │ - vldr d4, [sp, #80] @ 0x50 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ - vsub.f64 d7, d9, d10 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - mla r2, lr, fp, r2 │ │ │ │ │ - vstr d8, [r9] │ │ │ │ │ - mla r9, lr, r8, r9 │ │ │ │ │ - vldr d8, [sp, #112] @ 0x70 │ │ │ │ │ - mvn.w r4, #71 @ 0x47 │ │ │ │ │ - vldr d9, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d10, [sp, #216] @ 0xd8 │ │ │ │ │ + add.w r3, r3, r7, lsl #3 │ │ │ │ │ + vldr d4, [sp, #96] @ 0x60 │ │ │ │ │ + sub.w r7, ip, ip, lsl #2 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + add.w r2, r2, r7, lsl #3 │ │ │ │ │ + vsub.f64 d7, d9, d12 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + add.w r7, fp, fp, lsl #1 │ │ │ │ │ + vldr d12, [sp, #80] @ 0x50 │ │ │ │ │ + vstr d8, [r2] │ │ │ │ │ + add.w r3, r3, r7, lsl #4 │ │ │ │ │ + vldr d8, [sp, #120] @ 0x78 │ │ │ │ │ + add.w r7, ip, ip, lsl #1 │ │ │ │ │ + vldr d9, [sp, #184] @ 0xb8 │ │ │ │ │ + add.w r2, r2, r7, lsl #4 │ │ │ │ │ + mvn.w r7, #71 @ 0x47 │ │ │ │ │ + vsub.f64 d5, d3, d12 │ │ │ │ │ + vldr d3, [sp, #8] │ │ │ │ │ vadd.f64 d6, d4, d8 │ │ │ │ │ - vldr d4, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d8, [sp, #32] │ │ │ │ │ + vldr d12, [sp, #16] │ │ │ │ │ + vldr d4, [sp, #112] @ 0x70 │ │ │ │ │ vadd.f64 d2, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #72] @ 0x48 │ │ │ │ │ - vsub.f64 d5, d8, d9 │ │ │ │ │ - vldr d9, [sp] │ │ │ │ │ + vldr d6, [sp, #88] @ 0x58 │ │ │ │ │ vsub.f64 d6, d4, d6 │ │ │ │ │ vsub.f64 d8, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [pc, #484] @ 800 │ │ │ │ │ - vmul.f64 d4, d12, d5 │ │ │ │ │ - vmul.f64 d3, d9, d5 │ │ │ │ │ - vldr d9, [sp, #176] @ 0xb0 │ │ │ │ │ - vmla.f64 d3, d10, d1 │ │ │ │ │ + vldr d5, [pc, #500] @ 840 │ │ │ │ │ + vmul.f64 d4, d15, d5 │ │ │ │ │ + vmul.f64 d3, d3, d5 │ │ │ │ │ vnmls.f64 d4, d9, d1 │ │ │ │ │ + vmla.f64 d3, d12, d1 │ │ │ │ │ vadd.f64 d0, d3, d4 │ │ │ │ │ vsub.f64 d4, d4, d3 │ │ │ │ │ - vmul.f64 d3, d12, d1 │ │ │ │ │ + vmul.f64 d3, d15, d1 │ │ │ │ │ vmla.f64 d3, d9, d5 │ │ │ │ │ - vmul.f64 d5, d10, d5 │ │ │ │ │ - vldr d9, [sp] │ │ │ │ │ + vldr d9, [sp, #8] │ │ │ │ │ + vmul.f64 d5, d12, d5 │ │ │ │ │ vnmls.f64 d5, d9, d1 │ │ │ │ │ vsub.f64 d1, d3, d5 │ │ │ │ │ vadd.f64 d5, d3, d5 │ │ │ │ │ vsub.f64 d3, d2, d0 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ vsub.f64 d3, d5, d6 │ │ │ │ │ - mla r2, r4, fp, r2 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vstr d3, [r9] │ │ │ │ │ - mla r9, r4, r8, r9 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - mvn.w r4, #55 @ 0x37 │ │ │ │ │ - add r2, r6 │ │ │ │ │ - vstr d6, [r9] │ │ │ │ │ + mla r3, r7, fp, r3 │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ + mla r2, r7, ip, r2 │ │ │ │ │ + sub.w r7, fp, r4 │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + add r3, r6 │ │ │ │ │ + add r4, fp │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ vsub.f64 d6, d7, d1 │ │ │ │ │ - add r9, r5 │ │ │ │ │ vadd.f64 d7, d7, d1 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ + add r2, r5 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ vsub.f64 d6, d4, d8 │ │ │ │ │ - mla r2, r4, fp, r2 │ │ │ │ │ vadd.f64 d8, d8, d4 │ │ │ │ │ - mla r4, r4, r8, r9 │ │ │ │ │ - vstr d6, [r9] │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - mla r2, ip, fp, r2 │ │ │ │ │ - vstr d8, [r4] │ │ │ │ │ - mla r4, ip, r8, r4 │ │ │ │ │ - vldr d6, [sp, #24] │ │ │ │ │ - mvn.w ip, #87 @ 0x57 │ │ │ │ │ - vldr d2, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d4, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d7, [sp, #88] @ 0x58 │ │ │ │ │ - vsub.f64 d6, d6, d2 │ │ │ │ │ - vldr d5, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d1, [sp, #16] │ │ │ │ │ - vsub.f64 d7, d4, d7 │ │ │ │ │ - vldr d3, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d0, [sp, #128] @ 0x80 │ │ │ │ │ - vldr d12, [sp, #224] @ 0xe0 │ │ │ │ │ - vldr d9, [sp, #184] @ 0xb8 │ │ │ │ │ + add.w r3, r3, r7, lsl #3 │ │ │ │ │ + sub.w r7, ip, r0 │ │ │ │ │ + add r0, ip │ │ │ │ │ + add.w r7, r2, r7, lsl #3 │ │ │ │ │ + add.w r4, r3, r4, lsl #3 │ │ │ │ │ + add.w r0, r7, r0, lsl #3 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + mvn.w r3, #87 @ 0x57 │ │ │ │ │ + vstr d8, [r7] │ │ │ │ │ + vldr d6, [sp, #40] @ 0x28 │ │ │ │ │ + ldr r7, [sp, #4] │ │ │ │ │ + vldr d3, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d4, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d1, [sp, #32] │ │ │ │ │ + vldr d5, [sp, #104] @ 0x68 │ │ │ │ │ + vsub.f64 d6, d6, d3 │ │ │ │ │ + vldr d2, [sp, #136] @ 0x88 │ │ │ │ │ + vsub.f64 d7, d4, d10 │ │ │ │ │ + vldr d4, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d15, [sp, #152] @ 0x98 │ │ │ │ │ vadd.f64 d8, d6, d7 │ │ │ │ │ + vadd.f64 d5, d5, d2 │ │ │ │ │ + vldr d9, [sp, #192] @ 0xc0 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vsub.f64 d7, d5, d1 │ │ │ │ │ - vadd.f64 d5, d3, d0 │ │ │ │ │ - vldr d1, [pc, #268] @ 808 │ │ │ │ │ - vldr d3, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d10, [sp, #208] @ 0xd0 │ │ │ │ │ + vsub.f64 d7, d4, d1 │ │ │ │ │ + vldr d12, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d10, [sp, #216] @ 0xd8 │ │ │ │ │ + vldr d1, [pc, #272] @ 848 │ │ │ │ │ vsub.f64 d2, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [pc, #256] @ 810 │ │ │ │ │ - vmul.f64 d4, d12, d5 │ │ │ │ │ - vmla.f64 d4, d3, d1 │ │ │ │ │ + vldr d5, [pc, #268] @ 850 │ │ │ │ │ + ldr r2, [sp, #228] @ 0xe4 │ │ │ │ │ + vmul.f64 d4, d15, d5 │ │ │ │ │ vmul.f64 d3, d9, d5 │ │ │ │ │ + add r8, r2 │ │ │ │ │ + add r1, r2 │ │ │ │ │ + ldr r2, [sp, #232] @ 0xe8 │ │ │ │ │ vmla.f64 d3, d10, d1 │ │ │ │ │ + vmla.f64 d4, d12, d1 │ │ │ │ │ vsub.f64 d0, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ vmul.f64 d3, d10, d5 │ │ │ │ │ + vmul.f64 d5, d12, d5 │ │ │ │ │ vnmls.f64 d3, d9, d1 │ │ │ │ │ - vldr d9, [sp, #160] @ 0xa0 │ │ │ │ │ - vmul.f64 d5, d9, d5 │ │ │ │ │ - vnmls.f64 d5, d12, d1 │ │ │ │ │ + vnmls.f64 d5, d15, d1 │ │ │ │ │ vsub.f64 d1, d3, d5 │ │ │ │ │ vadd.f64 d5, d3, d5 │ │ │ │ │ vsub.f64 d3, d8, d0 │ │ │ │ │ vadd.f64 d8, d8, d0 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ + vstr d3, [r4] │ │ │ │ │ vsub.f64 d3, d5, d2 │ │ │ │ │ - mla r2, ip, fp, r2 │ │ │ │ │ vadd.f64 d2, d2, d5 │ │ │ │ │ vsub.f64 d5, d6, d1 │ │ │ │ │ + mla r4, r3, fp, r4 │ │ │ │ │ vadd.f64 d6, d6, d1 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ - mla r4, ip, r8, r4 │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ - add r2, r6 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ - add r4, r5 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ + mla r0, r3, ip, r0 │ │ │ │ │ + mvn.w r3, #39 @ 0x27 │ │ │ │ │ + vstr d8, [r4] │ │ │ │ │ + add r4, r6 │ │ │ │ │ + vstr d2, [r0] │ │ │ │ │ + add r0, r5 │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ vsub.f64 d5, d7, d4 │ │ │ │ │ + mla r4, r3, fp, r4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - mvn.w r5, #39 @ 0x27 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ - mla r2, r5, fp, r2 │ │ │ │ │ - mla r4, r5, r8, r4 │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ + mla r0, r3, ip, r0 │ │ │ │ │ + ldr r3, [sp, #224] @ 0xe0 │ │ │ │ │ vneg.f64 d7, d7 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - ldr r2, [sp, #168] @ 0xa8 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ - ldr r4, [sp, #236] @ 0xec │ │ │ │ │ - add r2, r4 │ │ │ │ │ - str r2, [sp, #168] @ 0xa8 │ │ │ │ │ - ldr r2, [sp, #240] @ 0xf0 │ │ │ │ │ - add r1, r4 │ │ │ │ │ - adds r4, r7, r2 │ │ │ │ │ - str r4, [sp, #172] @ 0xac │ │ │ │ │ - mov r4, r0 │ │ │ │ │ - add r4, r2 │ │ │ │ │ - ldr r2, [sp, #244] @ 0xf4 │ │ │ │ │ - str r4, [sp, #232] @ 0xe8 │ │ │ │ │ - eors r3, r2 │ │ │ │ │ - eor.w fp, fp, r2 │ │ │ │ │ - eor.w r8, r8, r2 │ │ │ │ │ - ldr r2, [sp, #364] @ 0x16c │ │ │ │ │ - subs r2, #1 │ │ │ │ │ - str r2, [sp, #364] @ 0x16c │ │ │ │ │ - bne.w 4c │ │ │ │ │ - add sp, #252 @ 0xfc │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ + add.w r0, r7, r2 │ │ │ │ │ + add r3, r2 │ │ │ │ │ + str r0, [sp, #4] │ │ │ │ │ + str r3, [sp, #224] @ 0xe0 │ │ │ │ │ + ldr r3, [sp, #236] @ 0xec │ │ │ │ │ + eor.w sl, sl, r3 │ │ │ │ │ + eor.w fp, fp, r3 │ │ │ │ │ + eor.w ip, ip, r3 │ │ │ │ │ + ldr r3, [sp, #356] @ 0x164 │ │ │ │ │ + subs r3, #1 │ │ │ │ │ + str r3, [sp, #356] @ 0x164 │ │ │ │ │ + bne.w 5a │ │ │ │ │ + add sp, #244 @ 0xf4 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ .word 0xbc29b42c │ │ │ │ │ .word 0x3fb917a6 │ │ │ │ │ .word 0xa3d12526 │ │ │ │ │ .word 0x3fefd88d │ │ │ │ │ .word 0x56c62dda │ │ │ │ │ .word 0x3fee9f41 │ │ │ │ │ .word 0x2ed59f06 │ │ │ │ │ @@ -566,18 +572,18 @@ │ │ │ │ │ .word 0x25091dd6 │ │ │ │ │ .word 0x3fe44cf3 │ │ │ │ │ .word 0xf180bdb1 │ │ │ │ │ .word 0x3fec38b2 │ │ │ │ │ .word 0x3806f63b │ │ │ │ │ .word 0x3fde2b5d │ │ │ │ │ │ │ │ │ │ -00000818 : │ │ │ │ │ +00000858 : │ │ │ │ │ fftw_codelet_r2cfII_32(): │ │ │ │ │ - ldr r2, [pc, #8] @ (824 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (828 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (864 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (868 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cfII_4.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 896 (bytes into file) │ │ │ │ │ + Start of section headers: 928 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x380: │ │ │ │ │ +There are 13 section headers, starting at offset 0x3a0: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00011c 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0002e8 000018 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000150 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000150 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000150 000009 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 000159 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000300 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 000189 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000189 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 0001bc 0000e0 10 11 11 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 00029c 00004c 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000310 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00013c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000308 000018 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000170 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000170 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000170 000009 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 000179 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000320 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 0001a9 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0001a9 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 0001dc 0000e0 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 0002bc 00004c 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000330 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,17 +1,17 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 14 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 264 FUNC LOCAL DEFAULT 1 r2cfII_4 │ │ │ │ │ + 1: 00000001 296 FUNC LOCAL DEFAULT 1 r2cfII_4 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000100 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000108 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000114 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000120 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000128 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000134 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ - 11: 00000109 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_4 │ │ │ │ │ + 11: 00000129 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_4 │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cfII_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,11 +1,11 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x2e8 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x308 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000114 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000118 00000103 R_ARM_REL32 00000001 r2cfII_4 │ │ │ │ │ -00000110 00000c1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +00000134 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000138 00000103 R_ARM_REL32 00000001 r2cfII_4 │ │ │ │ │ +00000130 00000c1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x300 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x320 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000d02 R_ARM_ABS32 00000000 fftw_rdft_r2cfII_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,96 +1,103 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cfII_4(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, lr} │ │ │ │ │ + strd r4, r5, [sp, #-24]! │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ ldrd r4, r6, [sp, #36] @ 0x24 │ │ │ │ │ + strd r8, lr, [sp, #16] │ │ │ │ │ cmp r4, #0 │ │ │ │ │ - ble.n 8a │ │ │ │ │ + ble.n 94 │ │ │ │ │ ldr r7, [sp, #24] │ │ │ │ │ ldr r5, [sp, #32] │ │ │ │ │ mov.w ip, r7, lsl #3 │ │ │ │ │ ldr r7, [sp, #28] │ │ │ │ │ mov.w r8, r5, lsl #3 │ │ │ │ │ ldr r5, [sp, #44] @ 0x2c │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ cmp r6, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r5, #1 │ │ │ │ │ - bne.n 8e │ │ │ │ │ - vldr d3, [pc, #216] @ 100 │ │ │ │ │ + bne.n a2 │ │ │ │ │ + vldr d3, [pc, #236] @ 120 │ │ │ │ │ add.w lr, r0, ip │ │ │ │ │ - vldr d2, [r1] │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ subs r4, #1 │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ add.w r0, r0, #8 │ │ │ │ │ vldr d5, [lr] │ │ │ │ │ add.w lr, r1, ip │ │ │ │ │ add.w r1, r1, #8 │ │ │ │ │ vldr d7, [lr] │ │ │ │ │ add.w lr, r2, r7 │ │ │ │ │ + vldr d4, [r0, #-8] │ │ │ │ │ vsub.f64 d6, d2, d7 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vsub.f64 d2, d4, d6 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ vstr d2, [lr] │ │ │ │ │ vsub.f64 d2, d5, d7 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ add.w lr, r3, r8 │ │ │ │ │ - vstr d2, [lr] │ │ │ │ │ vneg.f64 d7, d7 │ │ │ │ │ + vstr d2, [lr] │ │ │ │ │ vstmia r2!, {d6} │ │ │ │ │ vstmia r3!, {d7} │ │ │ │ │ - bne.n 2a │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, pc} │ │ │ │ │ - lsls r6, r6, #3 │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ - vldr d3, [pc, #108] @ 100 │ │ │ │ │ + bne.n 34 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldmia.w sp!, {r8, pc} │ │ │ │ │ + vldr d3, [pc, #124] @ 120 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ add.w lr, r0, ip │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ subs r4, #1 │ │ │ │ │ - add r0, r6 │ │ │ │ │ vldr d6, [lr] │ │ │ │ │ add.w lr, r1, ip │ │ │ │ │ add r1, r6 │ │ │ │ │ vldr d2, [lr] │ │ │ │ │ add.w lr, r2, r7 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + add r0, r6 │ │ │ │ │ vsub.f64 d4, d7, d2 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vsub.f64 d2, d5, d4 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ vstr d2, [lr] │ │ │ │ │ vsub.f64 d2, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ add.w lr, r3, r8 │ │ │ │ │ - vstr d2, [lr] │ │ │ │ │ vneg.f64 d6, d6 │ │ │ │ │ + vstr d2, [lr] │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ add r2, r5 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ add r3, r5 │ │ │ │ │ - bne.n 96 │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, pc} │ │ │ │ │ - nop │ │ │ │ │ + bne.n ae │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldmia.w sp!, {r8, pc} │ │ │ │ │ nop.w │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ │ │ │ │ │ -00000108 : │ │ │ │ │ +00000128 : │ │ │ │ │ fftw_codelet_r2cfII_4(): │ │ │ │ │ - ldr r2, [pc, #8] @ (114 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (118 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (134 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (138 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cfII_5.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1176 (bytes into file) │ │ │ │ │ + Start of section headers: 1216 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x498: │ │ │ │ │ +There are 13 section headers, starting at offset 0x4c0: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0001cc 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0003f0 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000200 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000200 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000200 000009 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 000209 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000418 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 000239 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000239 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 00026c 000100 10 11 11 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 00036c 000084 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000428 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0001f4 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000418 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000228 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000228 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000228 000009 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 000231 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000440 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 000261 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000261 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 000294 000100 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 000394 000084 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000450 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 16 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 440 FUNC LOCAL DEFAULT 1 r2cfII_5 │ │ │ │ │ + 1: 00000001 480 FUNC LOCAL DEFAULT 1 r2cfII_5 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000198 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 000001b8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000001c4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000001c0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 000001e0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000001ec 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 13: 000001b9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_5 │ │ │ │ │ + 13: 000001e1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_5 │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cfII_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x3f0 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x418 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000001b0 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -000001b4 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000001c4 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000001c8 00000103 R_ARM_REL32 00000001 r2cfII_5 │ │ │ │ │ -000001c0 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +000001d8 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +000001dc 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +000001ec 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000001f0 00000103 R_ARM_REL32 00000001 r2cfII_5 │ │ │ │ │ +000001e8 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x418 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x440 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000f02 R_ARM_ABS32 00000000 fftw_rdft_r2cfII_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,43 +1,47 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cfII_5(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - ldr.w ip, [pc, #424] @ 1b0 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d11} │ │ │ │ │ + ldr.w ip, [pc, #444] @ 1d8 │ │ │ │ │ ldrd r9, r5, [sp, #76] @ 0x4c │ │ │ │ │ - add ip, pc │ │ │ │ │ ldrd r8, r4, [sp, #68] @ 0x44 │ │ │ │ │ - cmp r5, #0 │ │ │ │ │ + add ip, pc │ │ │ │ │ ldr r7, [sp, #84] @ 0x54 │ │ │ │ │ - ble.n da │ │ │ │ │ - ldr.w lr, [pc, #404] @ 1b4 │ │ │ │ │ + cmp r5, #0 │ │ │ │ │ + ble.n ec │ │ │ │ │ + ldr.w lr, [pc, #428] @ 1dc │ │ │ │ │ ldr.w r6, [ip, lr] │ │ │ │ │ ldr.w sl, [r6] │ │ │ │ │ ldr r6, [sp, #88] @ 0x58 │ │ │ │ │ cmp r7, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r6, #1 │ │ │ │ │ - bne.n e2 │ │ │ │ │ - vldr d9, [pc, #356] @ 198 │ │ │ │ │ + bne.n 106 │ │ │ │ │ + vldr d9, [pc, #380] @ 1c0 │ │ │ │ │ vmov.f64 d11, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vldr d8, [pc, #356] @ 1a0 │ │ │ │ │ - vldr d10, [pc, #360] @ 1a8 │ │ │ │ │ + vldr d8, [pc, #380] @ 1c8 │ │ │ │ │ + vldr d10, [pc, #384] @ 1d0 │ │ │ │ │ mov.w lr, r8, lsl #3 │ │ │ │ │ + subs r5, #1 │ │ │ │ │ + eor.w r8, r8, sl │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ add.w ip, r0, lr │ │ │ │ │ add.w r6, r1, lr │ │ │ │ │ vldmia r1!, {d0} │ │ │ │ │ - adds r0, #8 │ │ │ │ │ - eor.w r8, r8, sl │ │ │ │ │ - subs r5, #1 │ │ │ │ │ + add.w r0, r0, #8 │ │ │ │ │ vldr d1, [ip] │ │ │ │ │ add ip, lr │ │ │ │ │ vldr d7, [r6] │ │ │ │ │ add.w r6, r2, r4, lsl #4 │ │ │ │ │ vldr d4, [ip] │ │ │ │ │ vsub.f64 d5, d1, d7 │ │ │ │ │ vadd.f64 d7, d7, d1 │ │ │ │ │ @@ -53,43 +57,48 @@ │ │ │ │ │ add.w r6, r3, r9, lsl #3 │ │ │ │ │ eor.w r9, r9, sl │ │ │ │ │ vnmls.f64 d1, d7, d9 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ vmla.f64 d7, d4, d9 │ │ │ │ │ vstr d1, [r6] │ │ │ │ │ add.w r6, r2, r4, lsl #3 │ │ │ │ │ - vneg.f64 d7, d7 │ │ │ │ │ - add.w r2, r2, #8 │ │ │ │ │ eor.w r4, r4, sl │ │ │ │ │ + add.w r2, r2, #8 │ │ │ │ │ + vneg.f64 d7, d7 │ │ │ │ │ vstmia r3!, {d7} │ │ │ │ │ vadd.f64 d7, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vstr d7, [r2, #-8] │ │ │ │ │ vstr d6, [r6] │ │ │ │ │ - bne.n 42 │ │ │ │ │ + bne.n 52 │ │ │ │ │ vpop {d8-d11} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ - lsls r6, r6, #3 │ │ │ │ │ - vldr d9, [pc, #176] @ 198 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + vldr d9, [pc, #184] @ 1c0 │ │ │ │ │ vmov.f64 d11, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vldr d8, [pc, #176] @ 1a0 │ │ │ │ │ - vldr d10, [pc, #180] @ 1a8 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + vldr d8, [pc, #176] @ 1c8 │ │ │ │ │ + vldr d10, [pc, #180] @ 1d0 │ │ │ │ │ mov.w lr, r8, lsl #3 │ │ │ │ │ + subs r5, #1 │ │ │ │ │ + eor.w r8, r8, sl │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ add.w ip, r0, lr │ │ │ │ │ add.w fp, r1, lr │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ add r1, r7 │ │ │ │ │ add r0, r7 │ │ │ │ │ - eor.w r8, r8, sl │ │ │ │ │ vldr d1, [ip] │ │ │ │ │ add ip, lr │ │ │ │ │ vldr d4, [fp] │ │ │ │ │ - subs r5, #1 │ │ │ │ │ vldr d0, [ip] │ │ │ │ │ add.w ip, r2, r4, lsl #4 │ │ │ │ │ vsub.f64 d5, d1, d4 │ │ │ │ │ vadd.f64 d4, d1, d4 │ │ │ │ │ vsub.f64 d2, d0, d7 │ │ │ │ │ vadd.f64 d7, d0, d7 │ │ │ │ │ vadd.f64 d3, d5, d2 │ │ │ │ │ @@ -97,46 +106,47 @@ │ │ │ │ │ vadd.f64 d1, d6, d3 │ │ │ │ │ vmls.f64 d6, d3, d11 │ │ │ │ │ vmul.f64 d5, d5, d10 │ │ │ │ │ vstr d1, [ip] │ │ │ │ │ vmul.f64 d1, d7, d8 │ │ │ │ │ vmul.f64 d7, d7, d9 │ │ │ │ │ add.w ip, r3, r9, lsl #3 │ │ │ │ │ - vmla.f64 d7, d4, d8 │ │ │ │ │ eor.w r9, r9, sl │ │ │ │ │ + vmla.f64 d7, d4, d8 │ │ │ │ │ vnmls.f64 d1, d4, d9 │ │ │ │ │ vneg.f64 d7, d7 │ │ │ │ │ vstr d1, [ip] │ │ │ │ │ add.w ip, r2, r4, lsl #3 │ │ │ │ │ eor.w r4, r4, sl │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vadd.f64 d7, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ add r3, r6 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ add r2, r6 │ │ │ │ │ vstr d6, [ip] │ │ │ │ │ - bne.n f6 │ │ │ │ │ - vpop {d8-d11} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + bne.n 11e │ │ │ │ │ + b.n ec │ │ │ │ │ + nop │ │ │ │ │ + nop.w │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ - .word 0x0000019c │ │ │ │ │ + .word 0x000001b0 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ │ │ │ │ │ -000001b8 : │ │ │ │ │ +000001e0 : │ │ │ │ │ fftw_codelet_r2cfII_5(): │ │ │ │ │ - ldr r2, [pc, #8] @ (1c4 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (1c8 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (1ec ) │ │ │ │ │ + ldr r1, [pc, #12] @ (1f0 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cfII_6.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1200 (bytes into file) │ │ │ │ │ + Start of section headers: 1224 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x4b0: │ │ │ │ │ +There are 13 section headers, starting at offset 0x4c8: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0001e4 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000408 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000218 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000218 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000218 000009 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 000221 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000430 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 000251 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000251 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 000284 000100 10 11 11 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 000384 000084 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000440 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0001fc 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000420 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000230 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000230 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000230 000009 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 000239 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000448 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 000269 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000269 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 00029c 000100 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 00039c 000084 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000458 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 16 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 464 FUNC LOCAL DEFAULT 1 r2cfII_6 │ │ │ │ │ + 1: 00000001 488 FUNC LOCAL DEFAULT 1 r2cfII_6 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000001c0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 000001d0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000001dc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000001d8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 000001e8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000001f4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 13: 000001d1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_6 │ │ │ │ │ + 13: 000001e9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_6 │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cfII_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x408 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x420 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000001c8 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -000001cc 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000001dc 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000001e0 00000103 R_ARM_REL32 00000001 r2cfII_6 │ │ │ │ │ -000001d8 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +000001e0 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +000001e4 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +000001f4 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000001f8 00000103 R_ARM_REL32 00000001 r2cfII_6 │ │ │ │ │ +000001f0 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x430 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x448 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000f02 R_ARM_ABS32 00000000 fftw_rdft_r2cfII_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,56 +1,59 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cfII_6(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ - ldr.w ip, [pc, #448] @ 1c8 │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ vpush {d8-d11} │ │ │ │ │ + ldr.w ip, [pc, #456] @ 1e0 │ │ │ │ │ ldrd r5, r8, [sp, #72] @ 0x48 │ │ │ │ │ - add ip, pc │ │ │ │ │ ldrd r9, r4, [sp, #64] @ 0x40 │ │ │ │ │ - cmp.w r8, #0 │ │ │ │ │ + add ip, pc │ │ │ │ │ ldr r7, [sp, #80] @ 0x50 │ │ │ │ │ - ble.n f0 │ │ │ │ │ - ldr.w lr, [pc, #428] @ 1cc │ │ │ │ │ + cmp.w r8, #0 │ │ │ │ │ + ble.n fe │ │ │ │ │ + ldr.w lr, [pc, #440] @ 1e4 │ │ │ │ │ ldr.w r6, [ip, lr] │ │ │ │ │ ldr.w sl, [r6] │ │ │ │ │ ldr r6, [sp, #84] @ 0x54 │ │ │ │ │ cmp r7, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r6, #1 │ │ │ │ │ - bne.n f8 │ │ │ │ │ - vldr d10, [pc, #392] @ 1c0 │ │ │ │ │ + bne.n 114 │ │ │ │ │ + vldr d10, [pc, #404] @ 1d8 │ │ │ │ │ vmov.f64 d11, #96 @ 0x3f000000 0.5 │ │ │ │ │ mov.w lr, r9, lsl #3 │ │ │ │ │ + subs.w r8, r8, #1 │ │ │ │ │ + eor.w r9, r9, sl │ │ │ │ │ vldr d8, [r0] │ │ │ │ │ add.w r6, r1, lr │ │ │ │ │ add.w ip, r0, lr │ │ │ │ │ vldmia r1!, {d5} │ │ │ │ │ - adds r0, #8 │ │ │ │ │ - vmov.f64 d3, d8 │ │ │ │ │ - eor.w r9, r9, sl │ │ │ │ │ + add.w r0, r0, #8 │ │ │ │ │ vldr d4, [r6] │ │ │ │ │ add r6, lr │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + vmov.f64 d3, d8 │ │ │ │ │ + add.w r6, r3, r5, lsl #4 │ │ │ │ │ vldr d1, [ip] │ │ │ │ │ add ip, lr │ │ │ │ │ - subs.w r8, r8, #1 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ vmov.f64 d9, d4 │ │ │ │ │ - add.w r6, r3, r5, lsl #4 │ │ │ │ │ vsub.f64 d2, d7, d5 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ vldr d7, [ip] │ │ │ │ │ vsub.f64 d0, d1, d7 │ │ │ │ │ - vmla.f64 d9, d5, d11 │ │ │ │ │ vmul.f64 d2, d2, d10 │ │ │ │ │ vadd.f64 d6, d7, d1 │ │ │ │ │ + vmla.f64 d9, d5, d11 │ │ │ │ │ vadd.f64 d7, d7, d8 │ │ │ │ │ vsub.f64 d4, d4, d5 │ │ │ │ │ vmla.f64 d3, d0, d11 │ │ │ │ │ vmul.f64 d6, d6, d10 │ │ │ │ │ vsub.f64 d7, d7, d1 │ │ │ │ │ vsub.f64 d0, d3, d2 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ @@ -66,45 +69,49 @@ │ │ │ │ │ add.w r3, r3, #8 │ │ │ │ │ eor.w r5, r5, sl │ │ │ │ │ vstr d4, [r6] │ │ │ │ │ add.w r6, r2, r4, lsl #3 │ │ │ │ │ add.w r2, r2, #8 │ │ │ │ │ eor.w r4, r4, sl │ │ │ │ │ vstr d7, [r6] │ │ │ │ │ - bne.n 3c │ │ │ │ │ + bne.n 48 │ │ │ │ │ vpop {d8-d11} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ - lsls r6, r6, #3 │ │ │ │ │ - vldr d10, [pc, #192] @ 1c0 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {sl, pc} │ │ │ │ │ + vldr d10, [pc, #192] @ 1d8 │ │ │ │ │ vmov.f64 d11, #96 @ 0x3f000000 0.5 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ mov.w lr, r9, lsl #3 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - add.w ip, r1, lr │ │ │ │ │ + subs.w r8, r8, #1 │ │ │ │ │ eor.w r9, r9, sl │ │ │ │ │ + add.w ip, r1, lr │ │ │ │ │ add r1, r7 │ │ │ │ │ - subs.w r8, r8, #1 │ │ │ │ │ vldr d3, [ip] │ │ │ │ │ add ip, lr │ │ │ │ │ vldr d4, [ip] │ │ │ │ │ add.w ip, r0, lr │ │ │ │ │ - vmov.f64 d9, d3 │ │ │ │ │ vldr d2, [ip] │ │ │ │ │ add ip, lr │ │ │ │ │ + vldr d1, [ip] │ │ │ │ │ + vmov.f64 d9, d3 │ │ │ │ │ + add.w ip, r3, r5, lsl #4 │ │ │ │ │ vsub.f64 d6, d4, d7 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ add r0, r7 │ │ │ │ │ - vldr d1, [ip] │ │ │ │ │ - add.w ip, r3, r5, lsl #4 │ │ │ │ │ - vmov.f64 d8, d7 │ │ │ │ │ - vmla.f64 d9, d4, d11 │ │ │ │ │ vsub.f64 d0, d2, d1 │ │ │ │ │ - vmul.f64 d6, d6, d10 │ │ │ │ │ vadd.f64 d5, d2, d1 │ │ │ │ │ + vmov.f64 d8, d7 │ │ │ │ │ + vmul.f64 d6, d6, d10 │ │ │ │ │ + vmla.f64 d9, d4, d11 │ │ │ │ │ vadd.f64 d7, d7, d1 │ │ │ │ │ vsub.f64 d3, d3, d4 │ │ │ │ │ vmla.f64 d8, d0, d11 │ │ │ │ │ vmul.f64 d5, d5, d10 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ vsub.f64 d0, d8, d6 │ │ │ │ │ vadd.f64 d6, d6, d8 │ │ │ │ │ @@ -120,29 +127,27 @@ │ │ │ │ │ add r3, r6 │ │ │ │ │ eor.w r5, r5, sl │ │ │ │ │ vstr d3, [ip] │ │ │ │ │ add.w ip, r2, r4, lsl #3 │ │ │ │ │ add r2, r6 │ │ │ │ │ eor.w r4, r4, sl │ │ │ │ │ vstr d7, [ip] │ │ │ │ │ - bne.n 104 │ │ │ │ │ - vpop {d8-d11} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ - nop │ │ │ │ │ + bne.n 124 │ │ │ │ │ + b.n fe │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3febb67a │ │ │ │ │ - .word 0x000001b4 │ │ │ │ │ + .word 0x000001bc │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ │ │ │ │ │ -000001d0 : │ │ │ │ │ +000001e8 : │ │ │ │ │ fftw_codelet_r2cfII_6(): │ │ │ │ │ - ldr r2, [pc, #8] @ (1dc ) │ │ │ │ │ - ldr r1, [pc, #12] @ (1e0 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (1f4 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (1f8 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cfII_64.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 5864 (bytes into file) │ │ │ │ │ + Start of section headers: 6044 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x16e8: │ │ │ │ │ +There are 13 section headers, starting at offset 0x179c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0013d4 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 001640 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 001408 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 001408 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 001408 00000a 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 001412 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 001668 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 001442 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 001442 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 001478 000140 10 11 15 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 0015b8 000085 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 001678 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 001488 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0016f4 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0014bc 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0014bc 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0014bc 00000a 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0014c6 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 00171c 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 0014f6 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0014f6 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 00152c 000140 10 11 15 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 00166c 000085 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 00172c 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 20 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 5056 FUNC LOCAL DEFAULT 1 r2cfII_64 │ │ │ │ │ + 1: 00000001 5234 FUNC LOCAL DEFAULT 1 r2cfII_64 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ 3: 000003e8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 4: 00000428 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000ad0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000b80 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00001390 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 8: 000013c0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 9: 000013cc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 5: 00000a40 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000ac8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00001298 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 000012f0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 9: 00001480 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 12: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 13: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 14: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 17: 000013c1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_64 │ │ │ │ │ + 17: 00001475 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_64 │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cfII_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x1640 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x16f4 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000420 00000f19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 00000424 0000101a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000013cc 00000c03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000013d0 00000103 R_ARM_REL32 00000001 r2cfII_64 │ │ │ │ │ -000013c8 0000121e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +00001480 00000c03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00001484 00000103 R_ARM_REL32 00000001 r2cfII_64 │ │ │ │ │ +0000147c 0000121e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x1668 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x171c contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000a02 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00001302 R_ARM_ABS32 00000000 fftw_rdft_r2cfII_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,298 +1,291 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cfII_64(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub.w sp, sp, #572 @ 0x23c │ │ │ │ │ + ldrd r7, r5, [sp, #672] @ 0x2a0 │ │ │ │ │ str r2, [sp, #0] │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr r2, [sp, #684] @ 0x2ac │ │ │ │ │ - ldr.w r3, [pc, #1036] @ 420 │ │ │ │ │ - ldrd lr, ip, [sp, #672] @ 0x2a0 │ │ │ │ │ - add r3, pc │ │ │ │ │ + ldr r3, [pc, #1016] @ (420 ) │ │ │ │ │ + ldr r6, [sp, #680] @ 0x2a8 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.w 1384 │ │ │ │ │ + add r3, pc │ │ │ │ │ + ble.w 1454 │ │ │ │ │ ldr r2, [sp, #688] @ 0x2b0 │ │ │ │ │ - mov fp, lr │ │ │ │ │ - ldr.w lr, [sp, #680] @ 0x2a8 │ │ │ │ │ - mov r9, r0 │ │ │ │ │ - vldr d14, [pc, #952] @ 3e8 │ │ │ │ │ - mov sl, r1 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ + mov r9, r7 │ │ │ │ │ + mov sl, r0 │ │ │ │ │ + mov fp, r1 │ │ │ │ │ + mov r8, r5 │ │ │ │ │ + vldr d14, [pc, #936] @ 3e8 │ │ │ │ │ + mov r7, r6 │ │ │ │ │ + vldr d13, [pc, #940] @ 3f0 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + vldr d11, [pc, #940] @ 3f8 │ │ │ │ │ str r2, [sp, #556] @ 0x22c │ │ │ │ │ ldr r2, [sp, #692] @ 0x2b4 │ │ │ │ │ - mov r8, ip │ │ │ │ │ - vldr d13, [pc, #948] @ 3f0 │ │ │ │ │ - vldr d11, [pc, #952] @ 3f8 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ str r2, [sp, #560] @ 0x230 │ │ │ │ │ - ldr r2, [pc, #988] @ (424 ) │ │ │ │ │ + ldr r2, [pc, #968] @ (424 ) │ │ │ │ │ ldr r3, [r3, r2] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ str r3, [sp, #564] @ 0x234 │ │ │ │ │ - mov.w r3, fp, lsl #4 │ │ │ │ │ - str r3, [sp, #16] │ │ │ │ │ - add r3, r9 │ │ │ │ │ - movs r7, #80 @ 0x50 │ │ │ │ │ - vldr d8, [pc, #932] @ 400 │ │ │ │ │ - mov.w ip, #96 @ 0x60 │ │ │ │ │ - vldr d9, [pc, #932] @ 408 │ │ │ │ │ + mov.w r4, r9, lsl #4 │ │ │ │ │ + vldr d8, [pc, #920] @ 400 │ │ │ │ │ + mov.w ip, #184 @ 0xb8 │ │ │ │ │ + mov.w r2, r9, lsl #3 │ │ │ │ │ + add.w r3, sl, r4 │ │ │ │ │ + add.w lr, r9, r9, lsl #2 │ │ │ │ │ + vldr d9, [pc, #908] @ 408 │ │ │ │ │ + mul.w ip, ip, r9 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - movs r3, #144 @ 0x90 │ │ │ │ │ - mul.w r0, r7, fp │ │ │ │ │ - vldr d10, [pc, #928] @ 410 │ │ │ │ │ - vldr d0, [pc, #932] @ 418 │ │ │ │ │ - mul.w r1, r3, fp │ │ │ │ │ - str r0, [sp, #32] │ │ │ │ │ - str r1, [sp, #24] │ │ │ │ │ - add.w r3, r9, r1 │ │ │ │ │ - mov.w r1, fp, lsl #6 │ │ │ │ │ - str r1, [sp, #88] @ 0x58 │ │ │ │ │ + add.w r3, r2, r9 │ │ │ │ │ + mov.w r5, lr, lsl #4 │ │ │ │ │ + mov.w r0, r3, lsl #4 │ │ │ │ │ + str r2, [sp, #24] │ │ │ │ │ + str r3, [sp, #80] @ 0x50 │ │ │ │ │ + add.w r3, sl, r0 │ │ │ │ │ + vldr d10, [pc, #884] @ 410 │ │ │ │ │ + str r0, [sp, #424] @ 0x1a8 │ │ │ │ │ + sub.w r0, r4, r9 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - add.w r3, r9, r0 │ │ │ │ │ + add.w r3, sl, r5 │ │ │ │ │ + mov.w r1, r0, lsl #4 │ │ │ │ │ + str r5, [sp, #432] @ 0x1b0 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - movs r3, #208 @ 0xd0 │ │ │ │ │ - mul.w r4, r3, fp │ │ │ │ │ - str r4, [sp, #40] @ 0x28 │ │ │ │ │ - add.w r3, r9, r4 │ │ │ │ │ - mov.w r4, fp, lsl #5 │ │ │ │ │ - str r4, [sp, #104] @ 0x68 │ │ │ │ │ + mov.w r3, #208 @ 0xd0 │ │ │ │ │ + str r1, [sp, #440] @ 0x1b8 │ │ │ │ │ + mul.w r6, r3, r9 │ │ │ │ │ + vldr d0, [pc, #852] @ 418 │ │ │ │ │ + add.w r3, sl, r6 │ │ │ │ │ + str r6, [sp, #32] │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ - movs r3, #240 @ 0xf0 │ │ │ │ │ + add.w r3, sl, r1 │ │ │ │ │ + add.w r1, r9, r9, lsl #1 │ │ │ │ │ + mov.w r6, r1, lsl #4 │ │ │ │ │ + str r6, [sp, #456] @ 0x1c8 │ │ │ │ │ vsub.f64 d4, d6, d3 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ - mul.w r5, r3, fp │ │ │ │ │ - str r5, [sp, #48] @ 0x30 │ │ │ │ │ - add.w r3, r9, r5 │ │ │ │ │ vmul.f64 d4, d4, d14 │ │ │ │ │ vmul.f64 d6, d6, d14 │ │ │ │ │ vadd.f64 d2, d5, d4 │ │ │ │ │ vsub.f64 d4, d5, d4 │ │ │ │ │ vadd.f64 d3, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vmul.f64 d5, d4, d8 │ │ │ │ │ vmul.f64 d1, d3, d10 │ │ │ │ │ vmul.f64 d3, d3, d0 │ │ │ │ │ - vmla.f64 d3, d2, d10 │ │ │ │ │ vnmls.f64 d5, d7, d9 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ - vmla.f64 d7, d4, d9 │ │ │ │ │ + vmla.f64 d3, d2, d10 │ │ │ │ │ vnmls.f64 d1, d2, d0 │ │ │ │ │ - vstr d3, [sp, #208] @ 0xd0 │ │ │ │ │ - vstr d5, [sp, #216] @ 0xd8 │ │ │ │ │ + vmla.f64 d7, d4, d9 │ │ │ │ │ + vstr d5, [sp, #104] @ 0x68 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - movs r3, #112 @ 0x70 │ │ │ │ │ - vstr d7, [sp, #224] @ 0xe0 │ │ │ │ │ - vstr d1, [sp, #200] @ 0xc8 │ │ │ │ │ - mul.w r6, r3, fp │ │ │ │ │ + sub.w r3, r2, r9 │ │ │ │ │ + mov.w r2, r3, lsl #4 │ │ │ │ │ + vstr d1, [sp, #88] @ 0x58 │ │ │ │ │ + vstr d3, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d7, [sp, #112] @ 0x70 │ │ │ │ │ + str r2, [sp, #448] @ 0x1c0 │ │ │ │ │ + add r2, sl │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + add.w r2, sl, r6 │ │ │ │ │ + mov.w r6, r9, lsl #6 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + mov.w r2, #176 @ 0xb0 │ │ │ │ │ str r6, [sp, #56] @ 0x38 │ │ │ │ │ - add.w r3, r9, r6 │ │ │ │ │ - mul.w r6, ip, fp │ │ │ │ │ - mov.w ip, #248 @ 0xf8 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - movs r3, #48 @ 0x30 │ │ │ │ │ - mul.w r7, r3, fp │ │ │ │ │ - str r7, [sp, #64] @ 0x40 │ │ │ │ │ - add.w r3, r9, r7 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - movs r3, #176 @ 0xb0 │ │ │ │ │ - mul.w r2, r3, fp │ │ │ │ │ - str r2, [sp, #72] @ 0x48 │ │ │ │ │ - add.w r3, r9, r2 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - mov.w r3, fp, lsl #7 │ │ │ │ │ - str r3, [sp, #80] @ 0x50 │ │ │ │ │ - add r3, r9 │ │ │ │ │ + mul.w r5, r2, r9 │ │ │ │ │ + add.w r2, sl, r5 │ │ │ │ │ + str r5, [sp, #40] @ 0x28 │ │ │ │ │ + mov.w r5, r1, lsl #6 │ │ │ │ │ + vldr d3, [r2] │ │ │ │ │ + mov.w r2, r9, lsl #7 │ │ │ │ │ + str r2, [sp, #48] @ 0x30 │ │ │ │ │ + add r2, sl │ │ │ │ │ + str r5, [sp, #336] @ 0x150 │ │ │ │ │ vsub.f64 d4, d6, d3 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ vmul.f64 d4, d4, d14 │ │ │ │ │ vmul.f64 d6, d6, d14 │ │ │ │ │ vsub.f64 d3, d4, d5 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ vadd.f64 d2, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vmul.f64 d6, d5, d8 │ │ │ │ │ vmul.f64 d1, d2, d10 │ │ │ │ │ vmul.f64 d2, d2, d0 │ │ │ │ │ - vmla.f64 d1, d3, d0 │ │ │ │ │ vnmls.f64 d6, d7, d9 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ + vmla.f64 d1, d3, d0 │ │ │ │ │ vnmls.f64 d2, d3, d10 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - add.w r3, r9, r1 │ │ │ │ │ - vmov.f64 d15, d7 │ │ │ │ │ - vmla.f64 d15, d5, d9 │ │ │ │ │ - vldr d9, [r9] │ │ │ │ │ - vstr d1, [sp, #232] @ 0xe8 │ │ │ │ │ - vstr d6, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - movs r3, #192 @ 0xc0 │ │ │ │ │ - vstr d2, [sp, #240] @ 0xf0 │ │ │ │ │ - mul.w r0, r3, fp │ │ │ │ │ - str r0, [sp, #96] @ 0x60 │ │ │ │ │ - add.w r3, r9, r0 │ │ │ │ │ - vstr d15, [sp, #256] @ 0x100 │ │ │ │ │ - mov.w r0, fp, lsl #3 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - add.w r3, r9, r4 │ │ │ │ │ - movs r4, #216 @ 0xd8 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - movs r3, #160 @ 0xa0 │ │ │ │ │ + vldr d3, [r2] │ │ │ │ │ + add.w r2, sl, r6 │ │ │ │ │ + mov.w r6, r9, lsl #5 │ │ │ │ │ + vmov.f64 d12, d7 │ │ │ │ │ + vmla.f64 d12, d5, d9 │ │ │ │ │ + vldr d9, [sl] │ │ │ │ │ + vstr d1, [sp, #120] @ 0x78 │ │ │ │ │ + vstr d6, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add.w r2, sl, r5 │ │ │ │ │ + mov.w r5, r1, lsl #5 │ │ │ │ │ + vstr d2, [sp, #128] @ 0x80 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + add.w r2, sl, r6 │ │ │ │ │ + vstr d12, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + mov.w r2, lr, lsl #5 │ │ │ │ │ vsub.f64 d2, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - str r6, [sp, #120] @ 0x78 │ │ │ │ │ - mul.w r4, r4, fp │ │ │ │ │ - mul.w r5, r3, fp │ │ │ │ │ - str r5, [sp, #112] @ 0x70 │ │ │ │ │ - add.w r3, r9, r5 │ │ │ │ │ + str r6, [sp, #64] @ 0x40 │ │ │ │ │ + str r0, [sp, #280] @ 0x118 │ │ │ │ │ + str r1, [sp, #296] @ 0x128 │ │ │ │ │ + str r2, [sp, #344] @ 0x158 │ │ │ │ │ + add r2, sl │ │ │ │ │ + str r5, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + add.w r2, sl, r5 │ │ │ │ │ vmul.f64 d2, d2, d14 │ │ │ │ │ vmul.f64 d6, d6, d14 │ │ │ │ │ - movs r5, #88 @ 0x58 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - add.w r3, r9, r6 │ │ │ │ │ - vadd.f64 d8, d9, d2 │ │ │ │ │ - vsub.f64 d9, d9, d2 │ │ │ │ │ - movs r6, #152 @ 0x98 │ │ │ │ │ - mul.w r5, r5, fp │ │ │ │ │ - vldr d0, [r3] │ │ │ │ │ - movs r3, #224 @ 0xe0 │ │ │ │ │ + mov.w r5, #216 @ 0xd8 │ │ │ │ │ + vldr d0, [r2] │ │ │ │ │ + mov.w r2, r3, lsl #5 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + mul.w r5, r5, r9 │ │ │ │ │ vmul.f64 d1, d7, d11 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ - vmla.f64 d7, d5, d11 │ │ │ │ │ - mul.w r6, r6, fp │ │ │ │ │ - mul.w r7, r3, fp │ │ │ │ │ - str r7, [sp, #128] @ 0x80 │ │ │ │ │ - add.w r3, r9, r7 │ │ │ │ │ + str r2, [sp, #360] @ 0x168 │ │ │ │ │ + add r2, sl │ │ │ │ │ + vadd.f64 d8, d9, d2 │ │ │ │ │ + vsub.f64 d9, d9, d2 │ │ │ │ │ + str r3, [sp, #288] @ 0x120 │ │ │ │ │ vnmls.f64 d1, d5, d13 │ │ │ │ │ - movs r7, #24 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - mla r3, ip, fp, sl │ │ │ │ │ - mov.w ip, #184 @ 0xb8 │ │ │ │ │ - mul.w r7, r7, fp │ │ │ │ │ + vmla.f64 d7, d5, d11 │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + sub.w r2, r6, r9 │ │ │ │ │ + mov.w r6, #88 @ 0x58 │ │ │ │ │ + add.w r2, fp, r2, lsl #3 │ │ │ │ │ + mul.w r6, r6, r9 │ │ │ │ │ vmul.f64 d4, d5, d13 │ │ │ │ │ vmul.f64 d5, d5, d11 │ │ │ │ │ - vmla.f64 d5, d0, d13 │ │ │ │ │ - mul.w ip, ip, fp │ │ │ │ │ vnmls.f64 d4, d0, d11 │ │ │ │ │ + vmla.f64 d5, d0, d13 │ │ │ │ │ vadd.f64 d0, d1, d4 │ │ │ │ │ vsub.f64 d4, d4, d1 │ │ │ │ │ vsub.f64 d1, d3, d6 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ + vsub.f64 d15, d8, d0 │ │ │ │ │ vadd.f64 d12, d8, d0 │ │ │ │ │ - vsub.f64 d0, d8, d0 │ │ │ │ │ - vstr d12, [sp, #464] @ 0x1d0 │ │ │ │ │ - vsub.f64 d12, d4, d1 │ │ │ │ │ + vstr d15, [sp, #464] @ 0x1d0 │ │ │ │ │ + vsub.f64 d15, d4, d1 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ - vstr d0, [sp, #472] @ 0x1d8 │ │ │ │ │ - vstr d12, [sp, #480] @ 0x1e0 │ │ │ │ │ - vstr d4, [sp, #488] @ 0x1e8 │ │ │ │ │ + vstr d15, [sp, #472] @ 0x1d8 │ │ │ │ │ + vstr d4, [sp, #480] @ 0x1e0 │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vsub.f64 d15, d9, d4 │ │ │ │ │ - vadd.f64 d9, d9, d4 │ │ │ │ │ - vadd.f64 d4, d7, d3 │ │ │ │ │ + vsub.f64 d2, d9, d4 │ │ │ │ │ + vadd.f64 d8, d9, d4 │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + vadd.f64 d15, d7, d3 │ │ │ │ │ + add.w r2, fp, r0 │ │ │ │ │ vsub.f64 d7, d3, d7 │ │ │ │ │ - vstr d9, [sp, #504] @ 0x1f8 │ │ │ │ │ - vstr d4, [sp, #512] @ 0x200 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - movs r3, #120 @ 0x78 │ │ │ │ │ - vstr d7, [sp, #520] @ 0x208 │ │ │ │ │ - vstr d15, [sp, #496] @ 0x1f0 │ │ │ │ │ - mul.w r2, r3, fp │ │ │ │ │ - str r2, [sp, #136] @ 0x88 │ │ │ │ │ - add.w r3, sl, r2 │ │ │ │ │ - movs r2, #40 @ 0x28 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - movs r3, #56 @ 0x38 │ │ │ │ │ - mul.w r2, r2, fp │ │ │ │ │ - mul.w r1, r3, fp │ │ │ │ │ - str r1, [sp, #144] @ 0x90 │ │ │ │ │ - add.w r3, sl, r1 │ │ │ │ │ - movs r1, #72 @ 0x48 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - add.w r3, sl, ip │ │ │ │ │ - mul.w r1, r1, fp │ │ │ │ │ - add ip, r9 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - add.w r3, sl, r7 │ │ │ │ │ - add r7, r9 │ │ │ │ │ + vldr d3, [r2] │ │ │ │ │ + add.w r2, fp, r3 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add.w r2, fp, ip │ │ │ │ │ + add ip, sl │ │ │ │ │ + vstr d2, [sp, #488] @ 0x1e8 │ │ │ │ │ + vstr d8, [sp, #496] @ 0x1f0 │ │ │ │ │ + vstr d7, [sp, #504] @ 0x1f8 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + add.w r2, fp, r1 │ │ │ │ │ vsub.f64 d2, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - add.w r3, sl, r6 │ │ │ │ │ - add r6, r9 │ │ │ │ │ - vldr d9, [r3] │ │ │ │ │ - add.w r3, sl, r5 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + mov.w r2, #152 @ 0x98 │ │ │ │ │ + mul.w r0, r2, r9 │ │ │ │ │ + add.w r2, fp, r0 │ │ │ │ │ vmul.f64 d2, d2, d14 │ │ │ │ │ vmul.f64 d6, d6, d14 │ │ │ │ │ - add r5, r9 │ │ │ │ │ - vmul.f64 d1, d9, d11 │ │ │ │ │ - vldr d0, [r3] │ │ │ │ │ - add.w r3, sl, r4 │ │ │ │ │ - vmul.f64 d9, d9, d13 │ │ │ │ │ - vmla.f64 d9, d7, d11 │ │ │ │ │ + str r0, [sp, #72] @ 0x48 │ │ │ │ │ + mov.w r0, #200 @ 0xc8 │ │ │ │ │ + vldr d9, [r2] │ │ │ │ │ + add.w r2, fp, r6 │ │ │ │ │ + add r6, sl │ │ │ │ │ + mul.w r0, r0, r9 │ │ │ │ │ + vldr d0, [r2] │ │ │ │ │ + add.w r2, fp, r5 │ │ │ │ │ + add r5, sl │ │ │ │ │ vsub.f64 d8, d2, d4 │ │ │ │ │ vadd.f64 d4, d4, d2 │ │ │ │ │ - add r4, r9 │ │ │ │ │ + vmul.f64 d1, d9, d11 │ │ │ │ │ + vmul.f64 d9, d9, d13 │ │ │ │ │ vnmls.f64 d1, d7, d13 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - add.w r3, r9, r0 │ │ │ │ │ + vmla.f64 d9, d7, d11 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ vmul.f64 d5, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ - vmla.f64 d7, d0, d13 │ │ │ │ │ vnmls.f64 d5, d0, d11 │ │ │ │ │ + vmla.f64 d7, d0, d13 │ │ │ │ │ vadd.f64 d0, d1, d5 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ vsub.f64 d1, d3, d6 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ - vadd.f64 d12, d8, d0 │ │ │ │ │ - vsub.f64 d0, d8, d0 │ │ │ │ │ - vsub.f64 d8, d5, d1 │ │ │ │ │ + vadd.f64 d10, d8, d0 │ │ │ │ │ + vstr d10, [sp, #152] @ 0x98 │ │ │ │ │ + vsub.f64 d10, d8, d0 │ │ │ │ │ + vstr d10, [sp, #160] @ 0xa0 │ │ │ │ │ + vsub.f64 d10, d5, d1 │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ - vstr d12, [sp, #264] @ 0x108 │ │ │ │ │ - vstr d5, [sp, #288] @ 0x120 │ │ │ │ │ + vstr d10, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d5, [sp, #176] @ 0xb0 │ │ │ │ │ vadd.f64 d5, d9, d7 │ │ │ │ │ vsub.f64 d9, d9, d7 │ │ │ │ │ - vstr d0, [sp, #272] @ 0x110 │ │ │ │ │ - vstr d8, [sp, #280] @ 0x118 │ │ │ │ │ - vadd.f64 d15, d5, d3 │ │ │ │ │ + vadd.f64 d6, d5, d3 │ │ │ │ │ + vadd.f64 d2, d4, d9 │ │ │ │ │ vsub.f64 d3, d3, d5 │ │ │ │ │ - vadd.f64 d7, d4, d9 │ │ │ │ │ - vsub.f64 d6, d9, d4 │ │ │ │ │ - vstr d15, [sp, #296] @ 0x128 │ │ │ │ │ - vstr d3, [sp, #304] @ 0x130 │ │ │ │ │ - vstr d7, [sp, #312] @ 0x138 │ │ │ │ │ - vstr d6, [sp, #320] @ 0x140 │ │ │ │ │ - str r0, [sp, #152] @ 0x98 │ │ │ │ │ - movs r0, #136 @ 0x88 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - str r1, [sp, #160] @ 0xa0 │ │ │ │ │ - mul.w r0, r0, fp │ │ │ │ │ - str r2, [sp, #168] @ 0xa8 │ │ │ │ │ - add.w r3, r9, r0 │ │ │ │ │ - add r0, sl │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - add.w r3, r9, r1 │ │ │ │ │ - movs r1, #200 @ 0xc8 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - mul.w r1, r1, fp │ │ │ │ │ - add.w r3, r9, r1 │ │ │ │ │ - add r1, sl │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - add.w r3, r9, r2 │ │ │ │ │ - vsub.f64 d2, d6, d7 │ │ │ │ │ - vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - movs r3, #168 @ 0xa8 │ │ │ │ │ - mul.w r2, r3, fp │ │ │ │ │ + vsub.f64 d4, d9, d4 │ │ │ │ │ + vstr d6, [sp, #184] @ 0xb8 │ │ │ │ │ + vstr d3, [sp, #192] @ 0xc0 │ │ │ │ │ + vstr d2, [sp, #200] @ 0xc8 │ │ │ │ │ + ldr r2, [sp, #24] │ │ │ │ │ + str r4, [sp, #16] │ │ │ │ │ + add r4, r9 │ │ │ │ │ + ldr r1, [sp, #80] @ 0x50 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + vstr d4, [sp, #208] @ 0xd0 │ │ │ │ │ + add r2, sl │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + add.w r2, sl, r4 │ │ │ │ │ + add r4, fp │ │ │ │ │ + vldr d3, [r2] │ │ │ │ │ + add.w r2, sl, r1 │ │ │ │ │ + str r1, [sp, #376] @ 0x178 │ │ │ │ │ + mov.w r1, lr, lsl #3 │ │ │ │ │ + mov.w lr, #168 @ 0xa8 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add.w r2, sl, r0 │ │ │ │ │ + add r0, fp │ │ │ │ │ + mul.w r3, lr, r9 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + add.w r2, sl, r1 │ │ │ │ │ b.n 428 │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ @@ -300,1079 +293,1127 @@ │ │ │ │ │ .word 0x3fe1c73b │ │ │ │ │ .word 0x290ea1a3 │ │ │ │ │ .word 0x3fea9b66 │ │ │ │ │ .word 0x3c69a60b │ │ │ │ │ .word 0x3fc8f8b8 │ │ │ │ │ .word 0xcff75cb0 │ │ │ │ │ .word 0x3fef6297 │ │ │ │ │ - .word 0x00000402 │ │ │ │ │ + .word 0x000003f0 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ + str r3, [sp, #80] @ 0x50 │ │ │ │ │ + str r1, [sp, #384] @ 0x180 │ │ │ │ │ + vsub.f64 d2, d6, d7 │ │ │ │ │ + vadd.f64 d6, d6, d7 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + add.w r2, sl, r3 │ │ │ │ │ + ldr r3, [sp, #16] │ │ │ │ │ + vldr d9, [r2] │ │ │ │ │ + mov.w r2, #104 @ 0x68 │ │ │ │ │ + mul.w r2, r2, r9 │ │ │ │ │ vmul.f64 d2, d2, d14 │ │ │ │ │ - str r2, [sp, #176] @ 0xb0 │ │ │ │ │ vmul.f64 d6, d6, d14 │ │ │ │ │ - add.w r3, r9, r2 │ │ │ │ │ - vadd.f64 d8, d4, d2 │ │ │ │ │ - vsub.f64 d4, d4, d2 │ │ │ │ │ - vldr d9, [r3] │ │ │ │ │ - movs r3, #104 @ 0x68 │ │ │ │ │ - mul.w r2, r3, fp │ │ │ │ │ + add.w r1, sl, r2 │ │ │ │ │ + add r2, fp │ │ │ │ │ vmul.f64 d1, d9, d11 │ │ │ │ │ - str r2, [sp, #184] @ 0xb8 │ │ │ │ │ vmul.f64 d9, d9, d13 │ │ │ │ │ - add r2, r9 │ │ │ │ │ - vmla.f64 d9, d7, d11 │ │ │ │ │ + vldr d0, [r1] │ │ │ │ │ + mov.w r1, #232 @ 0xe8 │ │ │ │ │ + vadd.f64 d8, d4, d2 │ │ │ │ │ + vsub.f64 d4, d4, d2 │ │ │ │ │ + mul.w r1, r1, r9 │ │ │ │ │ vnmls.f64 d1, d7, d13 │ │ │ │ │ - vldr d0, [r2] │ │ │ │ │ - movs r2, #232 @ 0xe8 │ │ │ │ │ - mul.w r2, r2, fp │ │ │ │ │ - str r2, [sp, #192] @ 0xc0 │ │ │ │ │ - add.w r3, r9, r2 │ │ │ │ │ - ldr r2, [sp, #16] │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - add r3, r2 │ │ │ │ │ - ldr r2, [sp, #136] @ 0x88 │ │ │ │ │ + vmla.f64 d9, d7, d11 │ │ │ │ │ + add.w lr, sl, r1 │ │ │ │ │ + add r1, fp │ │ │ │ │ + vldr d7, [lr] │ │ │ │ │ + add lr, r3 │ │ │ │ │ + ldr r3, [sp, #280] @ 0x118 │ │ │ │ │ vmul.f64 d5, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ - vmla.f64 d7, d0, d13 │ │ │ │ │ vnmls.f64 d5, d0, d11 │ │ │ │ │ + vmla.f64 d7, d0, d13 │ │ │ │ │ vadd.f64 d0, d1, d5 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ vsub.f64 d1, d3, d6 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ - vadd.f64 d12, d8, d0 │ │ │ │ │ - vsub.f64 d15, d8, d0 │ │ │ │ │ - vsub.f64 d0, d5, d1 │ │ │ │ │ - vadd.f64 d8, d5, d1 │ │ │ │ │ + vadd.f64 d10, d8, d0 │ │ │ │ │ + vsub.f64 d0, d8, d0 │ │ │ │ │ + vsub.f64 d8, d5, d1 │ │ │ │ │ + vadd.f64 d5, d5, d1 │ │ │ │ │ + vstr d10, [sp, #216] @ 0xd8 │ │ │ │ │ + vstr d0, [sp, #224] @ 0xe0 │ │ │ │ │ + vstr d5, [sp, #240] @ 0xf0 │ │ │ │ │ vadd.f64 d5, d9, d7 │ │ │ │ │ vsub.f64 d9, d9, d7 │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ - vstr d12, [sp, #328] @ 0x148 │ │ │ │ │ - vstr d15, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d8, [sp, #232] @ 0xe8 │ │ │ │ │ + vsub.f64 d2, d4, d9 │ │ │ │ │ + vadd.f64 d7, d4, d9 │ │ │ │ │ + vldr d4, [lr] │ │ │ │ │ + add.w lr, sl, r3 │ │ │ │ │ vadd.f64 d6, d5, d3 │ │ │ │ │ vsub.f64 d3, d3, d5 │ │ │ │ │ - vsub.f64 d2, d4, d9 │ │ │ │ │ - vadd.f64 d9, d4, d9 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - add.w r3, r9, r2 │ │ │ │ │ - ldr r2, [sp, #144] @ 0x90 │ │ │ │ │ - vstr d3, [sp, #368] @ 0x170 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - add.w r3, r9, r2 │ │ │ │ │ - vstr d9, [sp, #384] @ 0x180 │ │ │ │ │ - vldr d9, [r6] │ │ │ │ │ - vstr d6, [sp, #360] @ 0x168 │ │ │ │ │ + ldr r3, [sp, #288] @ 0x120 │ │ │ │ │ + add r3, sl │ │ │ │ │ + vstr d6, [sp, #248] @ 0xf8 │ │ │ │ │ + vstr d7, [sp, #272] @ 0x110 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - vmul.f64 d1, d9, d11 │ │ │ │ │ - vstr d2, [sp, #376] @ 0x178 │ │ │ │ │ - vmul.f64 d9, d9, d13 │ │ │ │ │ - vstr d0, [sp, #344] @ 0x158 │ │ │ │ │ + vstr d3, [sp, #256] @ 0x100 │ │ │ │ │ + ldr r3, [sp, #296] @ 0x128 │ │ │ │ │ + vstr d2, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d7, [ip] │ │ │ │ │ + mvn.w ip, #135 @ 0x87 │ │ │ │ │ + vldr d3, [lr] │ │ │ │ │ + add r3, sl │ │ │ │ │ vsub.f64 d2, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - vldr d0, [r5] │ │ │ │ │ - vstr d8, [sp, #352] @ 0x160 │ │ │ │ │ - vnmls.f64 d1, d7, d13 │ │ │ │ │ - vmla.f64 d9, d7, d11 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d0, [r6] │ │ │ │ │ vmul.f64 d2, d2, d14 │ │ │ │ │ vmul.f64 d6, d6, d14 │ │ │ │ │ - ldr r3, [sp, #80] @ 0x50 │ │ │ │ │ - vmul.f64 d5, d7, d13 │ │ │ │ │ - vmul.f64 d7, d7, d11 │ │ │ │ │ + ldr r6, [sp, #64] @ 0x40 │ │ │ │ │ + add r3, sl │ │ │ │ │ + vldr d9, [r3] │ │ │ │ │ + ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ vsub.f64 d8, d2, d4 │ │ │ │ │ - vmla.f64 d7, d0, d13 │ │ │ │ │ - add.w r4, sl, r3 │ │ │ │ │ vadd.f64 d4, d4, d2 │ │ │ │ │ - ldr r3, [sp, #88] @ 0x58 │ │ │ │ │ + vmul.f64 d1, d9, d11 │ │ │ │ │ + vmul.f64 d9, d9, d13 │ │ │ │ │ + add r3, fp │ │ │ │ │ + vnmls.f64 d1, d7, d13 │ │ │ │ │ + vmla.f64 d9, d7, d11 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + vmul.f64 d5, d7, d13 │ │ │ │ │ + vmul.f64 d7, d7, d11 │ │ │ │ │ vnmls.f64 d5, d0, d11 │ │ │ │ │ + vmla.f64 d7, d0, d13 │ │ │ │ │ vadd.f64 d0, d1, d5 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ vsub.f64 d1, d3, d6 │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ - vadd.f64 d12, d8, d0 │ │ │ │ │ - vsub.f64 d15, d8, d0 │ │ │ │ │ - vstr d12, [sp, #136] @ 0x88 │ │ │ │ │ - vsub.f64 d12, d5, d1 │ │ │ │ │ - vadd.f64 d5, d5, d1 │ │ │ │ │ - vstr d15, [sp, #144] @ 0x90 │ │ │ │ │ - vstr d12, [sp, #392] @ 0x188 │ │ │ │ │ - vstr d5, [sp, #400] @ 0x190 │ │ │ │ │ + vadd.f64 d10, d8, d0 │ │ │ │ │ + vsub.f64 d0, d8, d0 │ │ │ │ │ + vsub.f64 d8, d5, d1 │ │ │ │ │ + vadd.f64 d1, d5, d1 │ │ │ │ │ vadd.f64 d5, d9, d7 │ │ │ │ │ vsub.f64 d9, d9, d7 │ │ │ │ │ - vadd.f64 d8, d5, d3 │ │ │ │ │ + vstr d10, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d0, [sp, #280] @ 0x118 │ │ │ │ │ + vadd.f64 d6, d5, d3 │ │ │ │ │ vsub.f64 d3, d3, d5 │ │ │ │ │ - vadd.f64 d7, d4, d9 │ │ │ │ │ + vstr d8, [sp, #288] @ 0x120 │ │ │ │ │ + vadd.f64 d2, d4, d9 │ │ │ │ │ + vstr d1, [sp, #296] @ 0x128 │ │ │ │ │ + vstr d6, [sp, #304] @ 0x130 │ │ │ │ │ + vstr d3, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d3, [r3] │ │ │ │ │ + vstr d2, [sp, #320] @ 0x140 │ │ │ │ │ vsub.f64 d2, d9, d4 │ │ │ │ │ - vldr d9, [sl] │ │ │ │ │ - vstr d3, [sp, #416] @ 0x1a0 │ │ │ │ │ - vldr d3, [r4] │ │ │ │ │ - add.w r4, sl, r3 │ │ │ │ │ - ldr r3, [sp, #96] @ 0x60 │ │ │ │ │ - vstr d7, [sp, #424] @ 0x1a8 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - add.w r4, sl, r3 │ │ │ │ │ - ldr r3, [sp, #104] @ 0x68 │ │ │ │ │ - vstr d2, [sp, #432] @ 0x1b0 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - add.w r4, sl, r3 │ │ │ │ │ - ldr r3, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d8, [sp, #408] @ 0x198 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - add.w r4, sl, r3 │ │ │ │ │ - ldr r3, [sp, #120] @ 0x78 │ │ │ │ │ + ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d9, [fp] │ │ │ │ │ + add r3, fp │ │ │ │ │ + vstr d2, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ + ldr r3, [sp, #336] @ 0x150 │ │ │ │ │ + add r3, fp │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + add.w r3, fp, r6 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + ldr r3, [sp, #344] @ 0x158 │ │ │ │ │ vsub.f64 d2, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - add.w r4, sl, r3 │ │ │ │ │ - ldr r3, [sp, #128] @ 0x80 │ │ │ │ │ + add r3, fp │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ vmul.f64 d2, d2, d14 │ │ │ │ │ + vmul.f64 d5, d5, d14 │ │ │ │ │ + ldr r3, [sp, #352] @ 0x160 │ │ │ │ │ vmul.f64 d1, d7, d11 │ │ │ │ │ - vldr d0, [r4] │ │ │ │ │ - add.w r4, sl, r3 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ - vmla.f64 d7, d6, d11 │ │ │ │ │ - vmul.f64 d5, d5, d14 │ │ │ │ │ + add r3, fp │ │ │ │ │ vadd.f64 d8, d9, d2 │ │ │ │ │ vsub.f64 d9, d9, d2 │ │ │ │ │ + vldr d0, [r3] │ │ │ │ │ + ldr r3, [sp, #360] @ 0x168 │ │ │ │ │ vnmls.f64 d1, d6, d13 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ + vmla.f64 d7, d6, d11 │ │ │ │ │ + add r3, fp │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ vmul.f64 d4, d6, d13 │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ - vmla.f64 d6, d0, d13 │ │ │ │ │ vnmls.f64 d4, d0, d11 │ │ │ │ │ + vmla.f64 d6, d0, d13 │ │ │ │ │ vadd.f64 d0, d1, d4 │ │ │ │ │ vsub.f64 d4, d4, d1 │ │ │ │ │ vsub.f64 d1, d3, d5 │ │ │ │ │ vadd.f64 d3, d3, d5 │ │ │ │ │ - vadd.f64 d15, d8, d0 │ │ │ │ │ + vadd.f64 d10, d8, d0 │ │ │ │ │ vsub.f64 d8, d8, d0 │ │ │ │ │ - vsub.f64 d12, d4, d1 │ │ │ │ │ + vstr d10, [sp, #48] @ 0x30 │ │ │ │ │ + vsub.f64 d10, d4, d1 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ - vstr d15, [sp, #80] @ 0x50 │ │ │ │ │ - vstr d4, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d8, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d10, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d4, [sp, #336] @ 0x150 │ │ │ │ │ vadd.f64 d4, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vstr d8, [sp, #88] @ 0x58 │ │ │ │ │ - vstr d12, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d10, [pc, #984] @ a40 │ │ │ │ │ vadd.f64 d5, d4, d3 │ │ │ │ │ vsub.f64 d3, d3, d4 │ │ │ │ │ - vsub.f64 d6, d9, d7 │ │ │ │ │ + vsub.f64 d2, d9, d7 │ │ │ │ │ vadd.f64 d7, d9, d7 │ │ │ │ │ - vstr d5, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d3, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d6, [sp, #128] @ 0x80 │ │ │ │ │ - vstr d7, [sp, #440] @ 0x1b8 │ │ │ │ │ - ldr r3, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ - add.w r4, sl, r3 │ │ │ │ │ - ldr r3, [sp, #160] @ 0xa0 │ │ │ │ │ - ldr r2, [sp, #192] @ 0xc0 │ │ │ │ │ - add r3, sl │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ - vldr d9, [r4] │ │ │ │ │ - add r2, sl │ │ │ │ │ - ldr r1, [sp, #24] │ │ │ │ │ + vstr d5, [sp, #344] @ 0x158 │ │ │ │ │ + vstr d3, [sp, #352] @ 0x160 │ │ │ │ │ + ldr r5, [sp, #24] │ │ │ │ │ + vstr d2, [sp, #360] @ 0x168 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + vstr d7, [sp, #368] @ 0x170 │ │ │ │ │ + vldr d3, [r0] │ │ │ │ │ + add.w r3, fp, r5 │ │ │ │ │ + ldr r4, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d9, [r3] │ │ │ │ │ + ldr r6, [sp, #32] │ │ │ │ │ + add.w r3, fp, r4 │ │ │ │ │ + ldr r4, [sp, #384] @ 0x180 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - ldr r3, [sp, #184] @ 0xb8 │ │ │ │ │ - ldr r0, [sp, #32] │ │ │ │ │ - add r3, sl │ │ │ │ │ + ldr r0, [sp, #424] @ 0x1a8 │ │ │ │ │ + add.w r3, fp, r4 │ │ │ │ │ + ldr r4, [sp, #80] @ 0x50 │ │ │ │ │ vsub.f64 d6, d7, d3 │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ - ldr r4, [sp, #40] @ 0x28 │ │ │ │ │ - ldr r5, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - ldr r3, [sp, #168] @ 0xa8 │ │ │ │ │ + ldr r3, [sp, #16] │ │ │ │ │ + add.w lr, fp, r4 │ │ │ │ │ + ldr r5, [sp, #432] @ 0x1b0 │ │ │ │ │ + vldr d1, [lr] │ │ │ │ │ vmul.f64 d6, d6, d14 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ - add r3, sl │ │ │ │ │ + add r3, fp │ │ │ │ │ + mov.w lr, r7, lsl #7 │ │ │ │ │ + vsub.f64 d3, d9, d6 │ │ │ │ │ + vsub.f64 d5, d2, d1 │ │ │ │ │ + vadd.f64 d2, d2, d1 │ │ │ │ │ vadd.f64 d0, d9, d6 │ │ │ │ │ - vsub.f64 d9, d9, d6 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ + vldr d1, [pc, #864] @ a48 │ │ │ │ │ vadd.f64 d6, d4, d7 │ │ │ │ │ - ldr r3, [sp, #176] @ 0xb0 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - add r3, sl │ │ │ │ │ - ldr r2, [sp, #16] │ │ │ │ │ - vldr d1, [r3] │ │ │ │ │ - add.w r3, sl, r2 │ │ │ │ │ - vsub.f64 d5, d2, d1 │ │ │ │ │ - vadd.f64 d2, d2, d1 │ │ │ │ │ - vldr d1, [pc, #1004] @ ad0 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ vmul.f64 d5, d5, d14 │ │ │ │ │ + vstr d3, [sp, #24] │ │ │ │ │ + vldr d3, [r2] │ │ │ │ │ vmul.f64 d2, d2, d14 │ │ │ │ │ - vmov.f64 d12, d1 │ │ │ │ │ + vmov.f64 d9, d1 │ │ │ │ │ vsub.f64 d8, d5, d7 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vadd.f64 d5, d3, d2 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ vmul.f64 d2, d6, d10 │ │ │ │ │ vnmls.f64 d2, d0, d1 │ │ │ │ │ vmul.f64 d1, d5, d10 │ │ │ │ │ - vmla.f64 d1, d8, d12 │ │ │ │ │ - vldr d12, [pc, #964] @ ad8 │ │ │ │ │ - vadd.f64 d15, d2, d1 │ │ │ │ │ - vsub.f64 d1, d1, d2 │ │ │ │ │ - vldr d2, [pc, #960] @ ae0 │ │ │ │ │ - vstr d15, [sp, #152] @ 0x98 │ │ │ │ │ - vmov.f64 d15, d2 │ │ │ │ │ - vstr d1, [sp, #160] @ 0xa0 │ │ │ │ │ - vmul.f64 d1, d4, d12 │ │ │ │ │ - vmla.f64 d1, d9, d2 │ │ │ │ │ - vmul.f64 d2, d3, d12 │ │ │ │ │ - vmul.f64 d9, d9, d12 │ │ │ │ │ - vmla.f64 d2, d7, d15 │ │ │ │ │ - vmul.f64 d7, d7, d12 │ │ │ │ │ - vadd.f64 d15, d1, d2 │ │ │ │ │ + vldr d10, [pc, #808] @ a50 │ │ │ │ │ + vmla.f64 d1, d8, d9 │ │ │ │ │ + vadd.f64 d9, d2, d1 │ │ │ │ │ vsub.f64 d1, d1, d2 │ │ │ │ │ - vldr d2, [pc, #896] @ ad0 │ │ │ │ │ + vldr d2, [sp, #24] │ │ │ │ │ + vstr d9, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d9, [pc, #792] @ a58 │ │ │ │ │ + vstr d1, [sp, #376] @ 0x178 │ │ │ │ │ + vmul.f64 d1, d4, d10 │ │ │ │ │ + vmla.f64 d1, d2, d9 │ │ │ │ │ + vmul.f64 d2, d3, d10 │ │ │ │ │ + vmov.f64 d9, d10 │ │ │ │ │ + vldr d10, [pc, #768] @ a58 │ │ │ │ │ + vmla.f64 d2, d7, d10 │ │ │ │ │ + vmul.f64 d7, d7, d9 │ │ │ │ │ + vadd.f64 d10, d1, d2 │ │ │ │ │ + vsub.f64 d2, d1, d2 │ │ │ │ │ + vstr d10, [sp, #384] @ 0x180 │ │ │ │ │ + vstr d2, [sp, #392] @ 0x188 │ │ │ │ │ + vldr d2, [pc, #724] @ a48 │ │ │ │ │ + vldr d10, [pc, #712] @ a40 │ │ │ │ │ vmul.f64 d5, d5, d2 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ - vmla.f64 d6, d0, d10 │ │ │ │ │ - vstr d15, [sp, #168] @ 0xa8 │ │ │ │ │ - vstr d1, [sp, #176] @ 0xb0 │ │ │ │ │ vnmls.f64 d5, d8, d10 │ │ │ │ │ + vmla.f64 d6, d0, d10 │ │ │ │ │ + vldr d10, [r3] │ │ │ │ │ + add.w r3, fp, r0 │ │ │ │ │ vsub.f64 d0, d5, d6 │ │ │ │ │ - vadd.f64 d2, d5, d6 │ │ │ │ │ - vldr d6, [pc, #876] @ ae0 │ │ │ │ │ - vnmls.f64 d7, d3, d6 │ │ │ │ │ - vnmls.f64 d9, d4, d6 │ │ │ │ │ - vmov.f64 d15, d6 │ │ │ │ │ - vstr d0, [sp, #184] @ 0xb8 │ │ │ │ │ - vstr d2, [sp, #192] @ 0xc0 │ │ │ │ │ + vadd.f64 d8, d5, d6 │ │ │ │ │ + vldr d5, [pc, #700] @ a58 │ │ │ │ │ + vnmls.f64 d7, d3, d5 │ │ │ │ │ + vldr d3, [sp, #24] │ │ │ │ │ + vstr d0, [sp, #400] @ 0x190 │ │ │ │ │ + vstr d8, [sp, #408] @ 0x198 │ │ │ │ │ + vmul.f64 d9, d3, d9 │ │ │ │ │ + vnmls.f64 d9, d4, d5 │ │ │ │ │ vsub.f64 d4, d7, d9 │ │ │ │ │ vadd.f64 d9, d7, d9 │ │ │ │ │ - vstr d9, [sp, #456] @ 0x1c8 │ │ │ │ │ - vldr d9, [r3] │ │ │ │ │ - add.w r3, sl, r1 │ │ │ │ │ - vstr d4, [sp, #448] @ 0x1c0 │ │ │ │ │ + vstr d9, [sp, #24] │ │ │ │ │ + vstr d4, [sp, #416] @ 0x1a0 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ - add.w r3, sl, r0 │ │ │ │ │ - movs r0, #248 @ 0xf8 │ │ │ │ │ + add.w r3, fp, r5 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - add.w r3, sl, r4 │ │ │ │ │ - mov.w r4, r8, lsl #7 │ │ │ │ │ + add.w r3, fp, r6 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ - add.w r3, sl, r5 │ │ │ │ │ + ldr r5, [sp, #40] @ 0x28 │ │ │ │ │ + ldr r1, [sp, #440] @ 0x1b8 │ │ │ │ │ vsub.f64 d6, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ + ldr r2, [sp, #448] @ 0x1c0 │ │ │ │ │ + ldr r6, [sp, #456] @ 0x1c8 │ │ │ │ │ + add.w r3, fp, r1 │ │ │ │ │ + mov.w r1, r8, lsl #4 │ │ │ │ │ + vldr d9, [pc, #596] @ a48 │ │ │ │ │ vmul.f64 d6, d6, d14 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ - vadd.f64 d0, d9, d6 │ │ │ │ │ - vsub.f64 d9, d9, d6 │ │ │ │ │ + vadd.f64 d8, d10, d6 │ │ │ │ │ + vsub.f64 d10, d10, d6 │ │ │ │ │ vadd.f64 d6, d4, d7 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - ldr r6, [sp, #56] @ 0x38 │ │ │ │ │ - ldr r7, [sp, #64] @ 0x40 │ │ │ │ │ - add.w r3, sl, r6 │ │ │ │ │ - ldr r2, [sp, #72] @ 0x48 │ │ │ │ │ - movs r6, #72 @ 0x48 │ │ │ │ │ + add.w r3, fp, r2 │ │ │ │ │ + rsb r2, r8, r8, lsl #5 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ - add.w r3, sl, r7 │ │ │ │ │ - mul.w r5, r6, r8 │ │ │ │ │ - mov.w r7, lr, lsl #7 │ │ │ │ │ - mul.w r6, r6, lr │ │ │ │ │ + add.w r3, fp, r6 │ │ │ │ │ + mov.w r6, r8, lsl #7 │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ - add.w r3, sl, r2 │ │ │ │ │ + add.w r3, fp, r5 │ │ │ │ │ + mov.w r5, r8, lsl #3 │ │ │ │ │ vldr d1, [r3] │ │ │ │ │ + rsb r3, r7, r7, lsl #5 │ │ │ │ │ vsub.f64 d5, d2, d1 │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ - vldr d1, [pc, #692] @ ad0 │ │ │ │ │ + vldr d1, [pc, #508] @ a40 │ │ │ │ │ vmul.f64 d5, d5, d14 │ │ │ │ │ vmul.f64 d2, d2, d14 │ │ │ │ │ - vmov.f64 d12, d1 │ │ │ │ │ - vsub.f64 d8, d5, d7 │ │ │ │ │ + vsub.f64 d0, d5, d7 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vadd.f64 d5, d3, d2 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ - vmul.f64 d2, d6, d10 │ │ │ │ │ - vnmls.f64 d2, d0, d1 │ │ │ │ │ - vmul.f64 d1, d5, d10 │ │ │ │ │ - vmla.f64 d1, d8, d12 │ │ │ │ │ - vldr d12, [pc, #652] @ ad8 │ │ │ │ │ - vadd.f64 d10, d2, d1 │ │ │ │ │ + vmul.f64 d2, d6, d1 │ │ │ │ │ + vstr d0, [sp, #16] │ │ │ │ │ + vmul.f64 d1, d5, d1 │ │ │ │ │ + vnmls.f64 d2, d8, d9 │ │ │ │ │ + vmla.f64 d1, d0, d9 │ │ │ │ │ + vsub.f64 d0, d1, d2 │ │ │ │ │ + vadd.f64 d9, d2, d1 │ │ │ │ │ + vldr d2, [pc, #468] @ a50 │ │ │ │ │ + vstr d0, [sp, #40] @ 0x28 │ │ │ │ │ + vmul.f64 d1, d4, d2 │ │ │ │ │ + vmul.f64 d2, d3, d2 │ │ │ │ │ + vldr d0, [pc, #460] @ a58 │ │ │ │ │ + vmla.f64 d1, d10, d0 │ │ │ │ │ + vmla.f64 d2, d7, d0 │ │ │ │ │ + vadd.f64 d0, d1, d2 │ │ │ │ │ vsub.f64 d2, d1, d2 │ │ │ │ │ - vmul.f64 d1, d4, d12 │ │ │ │ │ - vmla.f64 d1, d9, d15 │ │ │ │ │ - vmul.f64 d9, d9, d12 │ │ │ │ │ + vldr d1, [pc, #424] @ a48 │ │ │ │ │ vstr d2, [sp, #32] │ │ │ │ │ - vmul.f64 d2, d3, d12 │ │ │ │ │ - vmla.f64 d2, d7, d15 │ │ │ │ │ - vmul.f64 d7, d7, d12 │ │ │ │ │ - vadd.f64 d15, d1, d2 │ │ │ │ │ - vsub.f64 d2, d1, d2 │ │ │ │ │ - vldr d1, [pc, #596] @ ad0 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - vstr d2, [sp, #16] │ │ │ │ │ - vldr d2, [pc, #608] @ ae8 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ - vstr d15, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d1, [sp, #512] @ 0x200 │ │ │ │ │ - vnmls.f64 d5, d8, d2 │ │ │ │ │ - vmla.f64 d6, d0, d2 │ │ │ │ │ - vldr d8, [sp, #240] @ 0xf0 │ │ │ │ │ - vsub.f64 d2, d5, d6 │ │ │ │ │ - vadd.f64 d0, d5, d6 │ │ │ │ │ - vldr d6, [pc, #564] @ ae0 │ │ │ │ │ - vnmls.f64 d7, d3, d6 │ │ │ │ │ - vnmls.f64 d9, d4, d6 │ │ │ │ │ - vstr d0, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d0, [sp, #232] @ 0xe8 │ │ │ │ │ - vldr d6, [sp, #464] @ 0x1d0 │ │ │ │ │ - vldr d3, [sp, #208] @ 0xd0 │ │ │ │ │ - vldr d4, [sp, #136] @ 0x88 │ │ │ │ │ - vsub.f64 d12, d7, d9 │ │ │ │ │ - vadd.f64 d9, d7, d9 │ │ │ │ │ - vldr d7, [sp, #200] @ 0xc8 │ │ │ │ │ - vadd.f64 d7, d7, d0 │ │ │ │ │ - vstr d9, [sp, #24] │ │ │ │ │ - vstr d12, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d0, [sp, #296] @ 0x128 │ │ │ │ │ - vadd.f64 d9, d6, d7 │ │ │ │ │ - vsub.f64 d15, d6, d7 │ │ │ │ │ - vsub.f64 d7, d8, d3 │ │ │ │ │ - vldr d8, [sp, #328] @ 0x148 │ │ │ │ │ - vldr d3, [pc, #504] @ af0 │ │ │ │ │ - vsub.f64 d12, d7, d1 │ │ │ │ │ - vadd.f64 d1, d1, d7 │ │ │ │ │ - vstr d12, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d1, [sp, #464] @ 0x1d0 │ │ │ │ │ - vldr d12, [pc, #492] @ af8 │ │ │ │ │ - vldr d1, [sp, #360] @ 0x168 │ │ │ │ │ - vmul.f64 d6, d1, d12 │ │ │ │ │ - vldr d1, [pc, #488] @ b00 │ │ │ │ │ - vnmls.f64 d6, d8, d1 │ │ │ │ │ - vldr d8, [sp, #408] @ 0x198 │ │ │ │ │ - vmul.f64 d5, d8, d12 │ │ │ │ │ - vmla.f64 d5, d4, d1 │ │ │ │ │ - vldr d4, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d2, [pc, #400] @ a40 │ │ │ │ │ + vstr d0, [sp, #424] @ 0x1a8 │ │ │ │ │ + vldr d0, [sp, #16] │ │ │ │ │ + vmla.f64 d6, d8, d2 │ │ │ │ │ + vnmls.f64 d5, d0, d2 │ │ │ │ │ + vldr d2, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d0, [sp, #128] @ 0x80 │ │ │ │ │ + vsub.f64 d1, d5, d6 │ │ │ │ │ + vadd.f64 d8, d5, d6 │ │ │ │ │ + vldr d6, [pc, #380] @ a50 │ │ │ │ │ + vldr d5, [pc, #384] @ a58 │ │ │ │ │ + vmul.f64 d7, d7, d6 │ │ │ │ │ + vmul.f64 d10, d10, d6 │ │ │ │ │ + vstr d8, [sp, #432] @ 0x1b0 │ │ │ │ │ + vldr d8, [pc, #376] @ a60 │ │ │ │ │ + vnmls.f64 d10, d4, d5 │ │ │ │ │ + vnmls.f64 d7, d3, d5 │ │ │ │ │ + vsub.f64 d3, d7, d10 │ │ │ │ │ + vadd.f64 d5, d7, d10 │ │ │ │ │ + vldr d7, [sp, #88] @ 0x58 │ │ │ │ │ + vadd.f64 d7, d7, d2 │ │ │ │ │ + vldr d2, [pc, #356] @ a68 │ │ │ │ │ + vstr d3, [sp, #440] @ 0x1b8 │ │ │ │ │ + vldr d3, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d5, [sp, #16] │ │ │ │ │ + vadd.f64 d10, d12, d7 │ │ │ │ │ + vsub.f64 d4, d12, d7 │ │ │ │ │ + vsub.f64 d7, d0, d3 │ │ │ │ │ + vldr d0, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d3, [pc, #332] @ a70 │ │ │ │ │ + vstr d4, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d4, [sp, #72] @ 0x48 │ │ │ │ │ + vsub.f64 d12, d7, d15 │ │ │ │ │ + vadd.f64 d15, d15, d7 │ │ │ │ │ + vldr d7, [sp, #304] @ 0x130 │ │ │ │ │ + vstr d12, [sp, #512] @ 0x200 │ │ │ │ │ + vldr d12, [sp, #248] @ 0xf8 │ │ │ │ │ + vmul.f64 d5, d7, d8 │ │ │ │ │ + vmla.f64 d5, d4, d2 │ │ │ │ │ + vldr d4, [sp, #184] @ 0xb8 │ │ │ │ │ + vmul.f64 d6, d12, d8 │ │ │ │ │ + vldr d12, [sp, #216] @ 0xd8 │ │ │ │ │ + vnmls.f64 d6, d12, d2 │ │ │ │ │ vadd.f64 d7, d6, d5 │ │ │ │ │ vsub.f64 d6, d5, d6 │ │ │ │ │ - vstr d6, [sp, #512] @ 0x200 │ │ │ │ │ - vldr d6, [sp, #152] @ 0x98 │ │ │ │ │ - vsub.f64 d5, d4, d6 │ │ │ │ │ - vldr d6, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d4, [pc, #448] @ b08 │ │ │ │ │ - vadd.f64 d6, d0, d6 │ │ │ │ │ - vmul.f64 d1, d6, d3 │ │ │ │ │ + vldr d5, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d6, [sp, #520] @ 0x208 │ │ │ │ │ + vldr d6, [sp, #80] @ 0x50 │ │ │ │ │ + vsub.f64 d5, d5, d6 │ │ │ │ │ + vadd.f64 d6, d4, d0 │ │ │ │ │ + vldr d4, [pc, #256] @ a78 │ │ │ │ │ + vmul.f64 d2, d6, d3 │ │ │ │ │ vmul.f64 d6, d6, d4 │ │ │ │ │ vmla.f64 d6, d5, d3 │ │ │ │ │ - vmov.f64 d0, d1 │ │ │ │ │ + vmov.f64 d0, d2 │ │ │ │ │ vnmls.f64 d0, d5, d4 │ │ │ │ │ - vstr d6, [sp, #536] @ 0x218 │ │ │ │ │ - vldr d6, [sp, #80] @ 0x50 │ │ │ │ │ - vadd.f64 d1, d6, d10 │ │ │ │ │ - vldr d6, [pc, #416] @ b10 │ │ │ │ │ vstr d0, [sp, #528] @ 0x210 │ │ │ │ │ - vldr d5, [sp, #112] @ 0x70 │ │ │ │ │ - ldr r2, [sp, #0] │ │ │ │ │ - ldr r1, [sp, #8] │ │ │ │ │ - vsub.f64 d0, d2, d5 │ │ │ │ │ - vldr d5, [pc, #404] @ b18 │ │ │ │ │ - mla r3, r0, r8, r2 │ │ │ │ │ + vstr d6, [sp, #536] @ 0x218 │ │ │ │ │ + vldr d5, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d6, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ + vsub.f64 d0, d1, d5 │ │ │ │ │ + vldr d5, [pc, #216] @ a80 │ │ │ │ │ + vadd.f64 d2, d6, d9 │ │ │ │ │ + vldr d6, [pc, #216] @ a88 │ │ │ │ │ + add.w r2, r4, r2, lsl #3 │ │ │ │ │ + vldr d12, [sp, #248] @ 0xf8 │ │ │ │ │ + ldr r0, [sp, #8] │ │ │ │ │ vmul.f64 d8, d0, d6 │ │ │ │ │ - vmla.f64 d8, d1, d5 │ │ │ │ │ - vmul.f64 d1, d1, d6 │ │ │ │ │ - vnmls.f64 d1, d0, d5 │ │ │ │ │ + add.w r3, r0, r3, lsl #3 │ │ │ │ │ + vmla.f64 d8, d2, d5 │ │ │ │ │ + vmul.f64 d2, d2, d6 │ │ │ │ │ + vnmls.f64 d2, d0, d5 │ │ │ │ │ + vstr d2, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d2, [pc, #148] @ a68 │ │ │ │ │ vstr d8, [sp, #544] @ 0x220 │ │ │ │ │ - vldr d8, [sp, #360] @ 0x168 │ │ │ │ │ - vstr d1, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d1, [pc, #344] @ b00 │ │ │ │ │ - vmul.f64 d0, d8, d1 │ │ │ │ │ - vldr d8, [sp, #328] @ 0x148 │ │ │ │ │ - vmla.f64 d0, d8, d12 │ │ │ │ │ - vldr d8, [sp, #408] @ 0x198 │ │ │ │ │ - vmul.f64 d1, d8, d1 │ │ │ │ │ - vldr d8, [sp, #136] @ 0x88 │ │ │ │ │ - vnmls.f64 d1, d8, d12 │ │ │ │ │ - vldr d8, [sp, #80] @ 0x50 │ │ │ │ │ - vadd.f64 d12, d0, d1 │ │ │ │ │ - vsub.f64 d1, d1, d0 │ │ │ │ │ - vsub.f64 d0, d8, d10 │ │ │ │ │ - vldr d10, [sp, #112] @ 0x70 │ │ │ │ │ - vadd.f64 d2, d10, d2 │ │ │ │ │ - vldr d10, [sp, #152] @ 0x98 │ │ │ │ │ - vmul.f64 d8, d2, d3 │ │ │ │ │ + vldr d8, [pc, #132] @ a60 │ │ │ │ │ + vmul.f64 d0, d12, d2 │ │ │ │ │ + vldr d12, [sp, #216] @ 0xd8 │ │ │ │ │ + vmla.f64 d0, d12, d8 │ │ │ │ │ + vldr d12, [sp, #304] @ 0x130 │ │ │ │ │ + vmul.f64 d2, d12, d2 │ │ │ │ │ + vldr d12, [sp, #72] @ 0x48 │ │ │ │ │ + str r1, [sp, #72] @ 0x48 │ │ │ │ │ + vnmls.f64 d2, d12, d8 │ │ │ │ │ + vadd.f64 d12, d0, d2 │ │ │ │ │ + vsub.f64 d2, d2, d0 │ │ │ │ │ + vstr d12, [sp, #216] @ 0xd8 │ │ │ │ │ + vldr d12, [sp, #48] @ 0x30 │ │ │ │ │ + vsub.f64 d0, d12, d9 │ │ │ │ │ + vldr d12, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d9, [sp, #544] @ 0x220 │ │ │ │ │ + vadd.f64 d1, d12, d1 │ │ │ │ │ + vldr d12, [sp, #80] @ 0x50 │ │ │ │ │ + vmul.f64 d8, d1, d3 │ │ │ │ │ vmla.f64 d8, d0, d4 │ │ │ │ │ vmul.f64 d0, d0, d3 │ │ │ │ │ - vnmls.f64 d0, d2, d4 │ │ │ │ │ - vldr d4, [sp, #264] @ 0x108 │ │ │ │ │ - vadd.f64 d3, d4, d10 │ │ │ │ │ - vldr d10, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d4, [sp, #296] @ 0x128 │ │ │ │ │ - vsub.f64 d4, d10, d4 │ │ │ │ │ - vldr d10, [sp, #544] @ 0x220 │ │ │ │ │ - vmul.f64 d2, d4, d6 │ │ │ │ │ - vmul.f64 d4, d4, d5 │ │ │ │ │ - vmla.f64 d4, d3, d6 │ │ │ │ │ - vadd.f64 d6, d9, d7 │ │ │ │ │ - vsub.f64 d7, d9, d7 │ │ │ │ │ - vldr d9, [sp, #528] @ 0x210 │ │ │ │ │ - vnmls.f64 d2, d3, d5 │ │ │ │ │ - vadd.f64 d5, d10, d2 │ │ │ │ │ - vsub.f64 d3, d6, d5 │ │ │ │ │ - vadd.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [sp, #72] @ 0x48 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ - vldr d3, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - vadd.f64 d6, d5, d4 │ │ │ │ │ - mla r2, r0, lr, r1 │ │ │ │ │ - vadd.f64 d5, d3, d1 │ │ │ │ │ - vsub.f64 d3, d6, d5 │ │ │ │ │ - vadd.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [sp, #72] @ 0x48 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - vsub.f64 d4, d4, d5 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ - mvn.w r1, #119 @ 0x77 │ │ │ │ │ - vldr d3, [pc, #180] @ b20 │ │ │ │ │ - mul.w r0, r1, r8 │ │ │ │ │ - vsub.f64 d6, d7, d4 │ │ │ │ │ - vadd.f64 d7, d7, d4 │ │ │ │ │ - mul.w r1, r1, lr │ │ │ │ │ - add r3, r0 │ │ │ │ │ - add r2, r1 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - sub.w r3, r3, r8, lsl #3 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - vsub.f64 d7, d2, d10 │ │ │ │ │ - vldr d10, [sp, #64] @ 0x40 │ │ │ │ │ - add r3, r5 │ │ │ │ │ - str r5, [sp, #64] @ 0x40 │ │ │ │ │ - mvn.w r5, #135 @ 0x87 │ │ │ │ │ - vldr d2, [pc, #136] @ b28 │ │ │ │ │ - vsub.f64 d1, d1, d10 │ │ │ │ │ - mul.w ip, r5, r8 │ │ │ │ │ - mul.w r5, r5, lr │ │ │ │ │ - vsub.f64 d6, d7, d1 │ │ │ │ │ - vadd.f64 d7, d7, d1 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - sub.w r2, r2, lr, lsl #3 │ │ │ │ │ - vadd.f64 d6, d9, d8 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - vadd.f64 d7, d15, d12 │ │ │ │ │ - add r2, r6 │ │ │ │ │ - b.n b80 │ │ │ │ │ + vnmls.f64 d0, d1, d4 │ │ │ │ │ + vldr d4, [sp, #152] @ 0x98 │ │ │ │ │ + vadd.f64 d3, d4, d12 │ │ │ │ │ + b.n ac8 │ │ │ │ │ + nop │ │ │ │ │ nop.w │ │ │ │ │ + .word 0x3c69a60b │ │ │ │ │ + .word 0x3fc8f8b8 │ │ │ │ │ .word 0xcff75cb0 │ │ │ │ │ .word 0x3fef6297 │ │ │ │ │ .word 0x39ae68c8 │ │ │ │ │ .word 0x3fe1c73b │ │ │ │ │ .word 0x290ea1a3 │ │ │ │ │ .word 0x3fea9b66 │ │ │ │ │ - .word 0x3c69a60b │ │ │ │ │ - .word 0x3fc8f8b8 │ │ │ │ │ - .word 0x348ceca0 │ │ │ │ │ - .word 0x3fe57d69 │ │ │ │ │ .word 0xbc29b42c │ │ │ │ │ .word 0x3fb917a6 │ │ │ │ │ .word 0xa3d12526 │ │ │ │ │ .word 0x3fefd88d │ │ │ │ │ + .word 0x348ceca0 │ │ │ │ │ + .word 0x3fe57d69 │ │ │ │ │ .word 0x226aafaf │ │ │ │ │ .word 0x3fe7b5df │ │ │ │ │ - .word 0xf10dd814 │ │ │ │ │ - .word 0x3fa91f65 │ │ │ │ │ .word 0xe3796d7e │ │ │ │ │ .word 0x3feff621 │ │ │ │ │ + .word 0xf10dd814 │ │ │ │ │ + .word 0x3fa91f65 │ │ │ │ │ .word 0x56c62dda │ │ │ │ │ .word 0x3fee9f41 │ │ │ │ │ .word 0x2ed59f06 │ │ │ │ │ .word 0x3fd29406 │ │ │ │ │ .word 0x6e8e613a │ │ │ │ │ .word 0x3fc2c810 │ │ │ │ │ .word 0x7f08a517 │ │ │ │ │ .word 0x3fefa755 │ │ │ │ │ .word 0xfce17035 │ │ │ │ │ .word 0x3fe30ff7 │ │ │ │ │ .word 0x47f38741 │ │ │ │ │ .word 0x3fe9b3e0 │ │ │ │ │ - .word 0x6b151741 │ │ │ │ │ - .word 0x3fe8bc80 │ │ │ │ │ - .word 0x04f686e5 │ │ │ │ │ - .word 0x3fee2121 │ │ │ │ │ .word 0x25091dd6 │ │ │ │ │ .word 0x3fe44cf3 │ │ │ │ │ - .word 0x75ab1fdd │ │ │ │ │ - .word 0x3fd58f9a │ │ │ │ │ - .word 0x09e15cc0 │ │ │ │ │ - .word 0x3fdb5d10 │ │ │ │ │ - .word 0xf43cc773 │ │ │ │ │ - .word 0x3feced7a │ │ │ │ │ - vsub.f64 d5, d7, d6 │ │ │ │ │ - vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - add r3, ip │ │ │ │ │ + vldr d4, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d12, [sp, #400] @ 0x190 │ │ │ │ │ + vsub.f64 d1, d12, d4 │ │ │ │ │ + vldr d12, [sp, #512] @ 0x200 │ │ │ │ │ + vmul.f64 d4, d1, d6 │ │ │ │ │ + vnmls.f64 d4, d3, d5 │ │ │ │ │ + vmul.f64 d5, d1, d5 │ │ │ │ │ + vmla.f64 d5, d3, d6 │ │ │ │ │ + vadd.f64 d6, d10, d7 │ │ │ │ │ + vsub.f64 d7, d10, d7 │ │ │ │ │ + vadd.f64 d3, d9, d4 │ │ │ │ │ + vsub.f64 d4, d4, d9 │ │ │ │ │ + vsub.f64 d1, d6, d3 │ │ │ │ │ + vadd.f64 d6, d6, d3 │ │ │ │ │ + vadd.f64 d3, d12, d2 │ │ │ │ │ + vsub.f64 d2, d2, d12 │ │ │ │ │ + vstr d1, [r2] │ │ │ │ │ + vldr d1, [sp, #448] @ 0x1c0 │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ + mov.w r4, r7, lsl #3 │ │ │ │ │ + vadd.f64 d6, d1, d5 │ │ │ │ │ + vsub.f64 d1, d6, d3 │ │ │ │ │ + vadd.f64 d6, d6, d3 │ │ │ │ │ + vldr d3, [pc, #-152] @ a90 │ │ │ │ │ + vstr d1, [r3] │ │ │ │ │ + vldr d1, [sp, #448] @ 0x1c0 │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ + sub.w r0, r8, r1 │ │ │ │ │ + mov.w r1, r7, lsl #4 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ + add r2, r0 │ │ │ │ │ + str r1, [sp, #80] @ 0x50 │ │ │ │ │ + sub.w r1, r7, r1 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + vsub.f64 d5, d5, d1 │ │ │ │ │ + add r3, r1 │ │ │ │ │ + vsub.f64 d6, d7, d5 │ │ │ │ │ + vadd.f64 d7, d7, d5 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + sub.w r2, r2, r5 │ │ │ │ │ + add r5, r8 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + vsub.f64 d7, d4, d2 │ │ │ │ │ + vadd.f64 d4, d4, d2 │ │ │ │ │ + add r2, r5 │ │ │ │ │ + vldr d2, [pc, #-224] @ a98 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ + sub.w r3, r3, r4 │ │ │ │ │ + add r4, r7 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + vldr d1, [sp, #216] @ 0xd8 │ │ │ │ │ add r3, r4 │ │ │ │ │ + str r5, [sp, #152] @ 0x98 │ │ │ │ │ + mul.w r5, ip, r8 │ │ │ │ │ + vldr d4, [sp, #456] @ 0x1c8 │ │ │ │ │ + mul.w ip, ip, r7 │ │ │ │ │ + str r4, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d12, [sp, #520] @ 0x208 │ │ │ │ │ + vldr d9, [sp, #528] @ 0x210 │ │ │ │ │ + vadd.f64 d7, d4, d1 │ │ │ │ │ vldr d10, [sp, #536] @ 0x218 │ │ │ │ │ - vldr d1, [sp, #464] @ 0x1d0 │ │ │ │ │ - vldr d4, [sp, #512] @ 0x200 │ │ │ │ │ + vadd.f64 d6, d9, d8 │ │ │ │ │ + vsub.f64 d5, d7, d6 │ │ │ │ │ + vadd.f64 d7, d7, d6 │ │ │ │ │ + vadd.f64 d6, d15, d12 │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ + add r2, r5 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vadd.f64 d7, d10, d0 │ │ │ │ │ vsub.f64 d0, d10, d0 │ │ │ │ │ - str r6, [sp, #80] @ 0x50 │ │ │ │ │ - vadd.f64 d6, d1, d4 │ │ │ │ │ + add r2, r6 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vsub.f64 d6, d15, d12 │ │ │ │ │ - vldr d15, [sp, #256] @ 0x100 │ │ │ │ │ + vsub.f64 d6, d12, d15 │ │ │ │ │ + vldr d12, [sp, #144] @ 0x90 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + add r3, ip │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + vsub.f64 d7, d4, d1 │ │ │ │ │ + add r3, lr │ │ │ │ │ + vldr d4, [sp, #112] @ 0x70 │ │ │ │ │ + vsub.f64 d5, d7, d0 │ │ │ │ │ + vadd.f64 d7, d7, d0 │ │ │ │ │ + vsub.f64 d15, d4, d12 │ │ │ │ │ + vldr d4, [pc, #-360] @ aa0 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ - add r2, r5 │ │ │ │ │ - vsub.f64 d5, d6, d0 │ │ │ │ │ - vadd.f64 d6, d6, d0 │ │ │ │ │ + add r2, r0 │ │ │ │ │ + mov.w r0, #168 @ 0xa8 │ │ │ │ │ + mov r4, r0 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d9, d8 │ │ │ │ │ - vldr d9, [sp, #504] @ 0x1f8 │ │ │ │ │ - add r2, r7 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - add r3, r0 │ │ │ │ │ - add r1, r2 │ │ │ │ │ - vldr d8, [sp, #456] @ 0x1c8 │ │ │ │ │ - mvn.w r0, #151 @ 0x97 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - vsub.f64 d6, d4, d1 │ │ │ │ │ - vldr d4, [sp, #224] @ 0xe0 │ │ │ │ │ - vldr d1, [sp, #320] @ 0x140 │ │ │ │ │ - vsub.f64 d15, d4, d15 │ │ │ │ │ + sub.w r2, r2, r5 │ │ │ │ │ + vldr d9, [sp, #480] @ 0x1e0 │ │ │ │ │ + mul.w r0, r0, r8 │ │ │ │ │ + vldr d8, [sp, #496] @ 0x1f0 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d4, [sp, #400] @ 0x190 │ │ │ │ │ - vsub.f64 d10, d9, d15 │ │ │ │ │ - vadd.f64 d15, d9, d15 │ │ │ │ │ - vldr d9, [sp, #248] @ 0xf8 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - sub.w r2, r3, ip │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ - subs r3, r1, r5 │ │ │ │ │ - vadd.f64 d7, d6, d9 │ │ │ │ │ - vldr d5, [sp, #488] @ 0x1e8 │ │ │ │ │ - vmul.f64 d6, d4, d3 │ │ │ │ │ - vldr d4, [pc, #-264] @ b30 │ │ │ │ │ - movs r1, #168 @ 0xa8 │ │ │ │ │ - vadd.f64 d9, d5, d7 │ │ │ │ │ - vsub.f64 d12, d7, d5 │ │ │ │ │ - vldr d5, [sp, #432] @ 0x1b0 │ │ │ │ │ - vstr d9, [sp, #112] @ 0x70 │ │ │ │ │ - vmla.f64 d6, d5, d2 │ │ │ │ │ - vldr d9, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d6, [sp, #104] @ 0x68 │ │ │ │ │ + vsub.f64 d10, d8, d15 │ │ │ │ │ + vadd.f64 d15, d8, d15 │ │ │ │ │ + vldr d8, [sp, #136] @ 0x88 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + add r3, r1 │ │ │ │ │ + mvn.w r1, #151 @ 0x97 │ │ │ │ │ + vldr d5, [sp, #392] @ 0x188 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + sub.w r3, r3, ip │ │ │ │ │ + vadd.f64 d7, d6, d8 │ │ │ │ │ + vldr d8, [sp, #208] @ 0xd0 │ │ │ │ │ + vsub.f64 d12, d7, d9 │ │ │ │ │ + vadd.f64 d9, d9, d7 │ │ │ │ │ + vstr d9, [sp, #216] @ 0xd8 │ │ │ │ │ + vldr d9, [sp, #296] @ 0x128 │ │ │ │ │ + vmul.f64 d6, d9, d3 │ │ │ │ │ + vldr d9, [sp, #328] @ 0x148 │ │ │ │ │ + vmla.f64 d6, d9, d2 │ │ │ │ │ + vldr d9, [sp, #272] @ 0x110 │ │ │ │ │ vmul.f64 d7, d9, d2 │ │ │ │ │ - vldr d9, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d9, [sp, #240] @ 0xf0 │ │ │ │ │ vnmls.f64 d7, d9, d3 │ │ │ │ │ - vadd.f64 d5, d6, d7 │ │ │ │ │ vsub.f64 d9, d6, d7 │ │ │ │ │ - vstr d5, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d5, [sp, #176] @ 0xb0 │ │ │ │ │ - vadd.f64 d6, d1, d5 │ │ │ │ │ - vldr d1, [sp, #288] @ 0x120 │ │ │ │ │ - vldr d5, [pc, #-320] @ b38 │ │ │ │ │ - vadd.f64 d7, d1, d8 │ │ │ │ │ - vldr d8, [sp, #24] │ │ │ │ │ + vadd.f64 d6, d6, d7 │ │ │ │ │ + vstr d6, [sp, #248] @ 0xf8 │ │ │ │ │ + vadd.f64 d6, d8, d5 │ │ │ │ │ + vldr d5, [sp, #24] │ │ │ │ │ + vldr d8, [sp, #176] @ 0xb0 │ │ │ │ │ + vadd.f64 d7, d8, d5 │ │ │ │ │ + vldr d5, [pc, #-520] @ aa8 │ │ │ │ │ vmul.f64 d1, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d5 │ │ │ │ │ vnmls.f64 d1, d6, d5 │ │ │ │ │ - vmov.f64 d0, d7 │ │ │ │ │ - vmla.f64 d0, d6, d4 │ │ │ │ │ - vldr d7, [sp, #16] │ │ │ │ │ - vldr d6, [sp, #440] @ 0x1b8 │ │ │ │ │ - vstr d1, [sp, #72] @ 0x48 │ │ │ │ │ + vmov.f64 d8, d7 │ │ │ │ │ + vmla.f64 d8, d6, d4 │ │ │ │ │ + vstr d1, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d8, [sp, #304] @ 0x130 │ │ │ │ │ + vldr d7, [sp, #32] │ │ │ │ │ + vldr d6, [sp, #368] @ 0x170 │ │ │ │ │ vsub.f64 d1, d6, d7 │ │ │ │ │ - vldr d6, [sp, #104] @ 0x68 │ │ │ │ │ - vstr d0, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d7, [pc, #-368] @ b40 │ │ │ │ │ - vsub.f64 d0, d8, d6 │ │ │ │ │ - vldr d6, [pc, #-368] @ b48 │ │ │ │ │ + vldr d7, [sp, #16] │ │ │ │ │ + vldr d6, [sp, #336] @ 0x150 │ │ │ │ │ + vsub.f64 d0, d7, d6 │ │ │ │ │ + vldr d7, [pc, #-568] @ ab0 │ │ │ │ │ + vldr d6, [pc, #-564] @ ab8 │ │ │ │ │ vmul.f64 d8, d0, d7 │ │ │ │ │ vmla.f64 d8, d1, d6 │ │ │ │ │ vmul.f64 d1, d1, d7 │ │ │ │ │ vnmls.f64 d1, d0, d6 │ │ │ │ │ - vstr d1, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d1, [sp, #352] @ 0x160 │ │ │ │ │ - vldr d0, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d0, [sp, #272] @ 0x110 │ │ │ │ │ + vstr d1, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d1, [sp, #240] @ 0xf0 │ │ │ │ │ vmul.f64 d1, d1, d2 │ │ │ │ │ vmla.f64 d1, d0, d3 │ │ │ │ │ - vldr d0, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d0, [sp, #296] @ 0x128 │ │ │ │ │ vmul.f64 d2, d0, d2 │ │ │ │ │ - vldr d0, [sp, #432] @ 0x1b0 │ │ │ │ │ + vldr d0, [sp, #328] @ 0x148 │ │ │ │ │ vnmls.f64 d2, d0, d3 │ │ │ │ │ vldr d0, [sp, #16] │ │ │ │ │ + str r5, [sp, #16] │ │ │ │ │ + mvn.w r5, #103 @ 0x67 │ │ │ │ │ vadd.f64 d3, d1, d2 │ │ │ │ │ - vstr d3, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d3, [sp, #240] @ 0xf0 │ │ │ │ │ vsub.f64 d3, d2, d1 │ │ │ │ │ - vldr d2, [sp, #440] @ 0x1b8 │ │ │ │ │ - vldr d1, [sp, #24] │ │ │ │ │ - str r5, [sp, #24] │ │ │ │ │ - mov r5, r1 │ │ │ │ │ - vadd.f64 d2, d2, d0 │ │ │ │ │ - vldr d0, [sp, #104] @ 0x68 │ │ │ │ │ - mul.w r1, r1, r8 │ │ │ │ │ - mul.w r5, r5, lr │ │ │ │ │ - vadd.f64 d1, d0, d1 │ │ │ │ │ + vldr d1, [sp, #32] │ │ │ │ │ + vldr d2, [sp, #368] @ 0x170 │ │ │ │ │ + vadd.f64 d2, d2, d1 │ │ │ │ │ + vldr d1, [sp, #336] @ 0x150 │ │ │ │ │ + vadd.f64 d1, d1, d0 │ │ │ │ │ vmul.f64 d0, d1, d4 │ │ │ │ │ vmla.f64 d0, d2, d5 │ │ │ │ │ vmul.f64 d2, d2, d4 │ │ │ │ │ - vldr d4, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d4, [sp, #208] @ 0xd0 │ │ │ │ │ vnmls.f64 d2, d1, d5 │ │ │ │ │ - vldr d5, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d1, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d1, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d5, [sp, #392] @ 0x188 │ │ │ │ │ vsub.f64 d4, d4, d5 │ │ │ │ │ - vldr d5, [sp, #288] @ 0x120 │ │ │ │ │ - vsub.f64 d5, d1, d5 │ │ │ │ │ - vldr d1, [sp, #184] @ 0xb8 │ │ │ │ │ - vstr d2, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d5, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d2, [sp, #32] │ │ │ │ │ + vldr d2, [sp, #24] │ │ │ │ │ + vsub.f64 d5, d2, d5 │ │ │ │ │ vmul.f64 d2, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d6 │ │ │ │ │ + vnmls.f64 d2, d4, d6 │ │ │ │ │ vmla.f64 d5, d4, d7 │ │ │ │ │ vadd.f64 d7, d10, d9 │ │ │ │ │ - vnmls.f64 d2, d4, d6 │ │ │ │ │ vadd.f64 d6, d8, d2 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d12, d3 │ │ │ │ │ vsub.f64 d3, d3, d12 │ │ │ │ │ - vldr d12, [sp, #152] @ 0x98 │ │ │ │ │ vstr d4, [r2] │ │ │ │ │ - mla r2, r0, r8, r2 │ │ │ │ │ + mla r2, r1, r8, r2 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ vadd.f64 d7, d1, d5 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ - add r2, r4 │ │ │ │ │ + add r2, r6 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ - mla r3, r0, lr, r3 │ │ │ │ │ - mvn.w r0, #103 @ 0x67 │ │ │ │ │ - vldr d4, [sp, #264] @ 0x108 │ │ │ │ │ + mla r3, r1, r7, r3 │ │ │ │ │ + mul.w r1, r5, r8 │ │ │ │ │ + mul.w r5, r7, r5 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d10, d9 │ │ │ │ │ - mul.w r6, r0, r8 │ │ │ │ │ - add r3, r7 │ │ │ │ │ - mul.w r0, r0, lr │ │ │ │ │ - vldr d10, [sp, #72] @ 0x48 │ │ │ │ │ - str r1, [sp, #72] @ 0x48 │ │ │ │ │ + add r3, lr │ │ │ │ │ + vldr d9, [sp, #48] @ 0x30 │ │ │ │ │ + str r1, [sp, #24] │ │ │ │ │ vsub.f64 d6, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - str r6, [sp, #16] │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ - add r2, r6 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - vsub.f64 d7, d2, d8 │ │ │ │ │ add r2, r1 │ │ │ │ │ mvn.w r1, #231 @ 0xe7 │ │ │ │ │ - vldr d2, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + vsub.f64 d7, d2, d8 │ │ │ │ │ + add r2, r0 │ │ │ │ │ + vldr d2, [sp, #240] @ 0xf0 │ │ │ │ │ vsub.f64 d6, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ - add r3, r0 │ │ │ │ │ - vadd.f64 d6, d10, d0 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - vadd.f64 d7, d15, d4 │ │ │ │ │ add r3, r5 │ │ │ │ │ + vadd.f64 d6, d9, d0 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + vadd.f64 d7, d15, d2 │ │ │ │ │ + str r0, [sp, #48] @ 0x30 │ │ │ │ │ + mul.w r0, r4, r7 │ │ │ │ │ + vldr d1, [sp, #32] │ │ │ │ │ + mov.w r4, r8, lsl #2 │ │ │ │ │ + add r3, r0 │ │ │ │ │ + vldr d3, [sp, #96] @ 0x60 │ │ │ │ │ + str r0, [sp, #32] │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ + vldr d12, [sp, #216] @ 0xd8 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ + str r4, [sp, #176] @ 0xb0 │ │ │ │ │ + sub.w r4, r8, r4 │ │ │ │ │ + vldr d4, [sp, #248] @ 0xf8 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + vldr d10, [sp, #304] @ 0x130 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ mla r2, r1, r8, r2 │ │ │ │ │ + vadd.f64 d6, d12, d4 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ - vadd.f64 d7, d12, d2 │ │ │ │ │ - vldr d9, [sp, #112] @ 0x70 │ │ │ │ │ - add r2, r4 │ │ │ │ │ - vldr d1, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d3, [sp, #208] @ 0xd0 │ │ │ │ │ - vldr d8, [sp, #240] @ 0xf0 │ │ │ │ │ - vadd.f64 d6, d9, d1 │ │ │ │ │ - str r5, [sp, #104] @ 0x68 │ │ │ │ │ + add r2, r6 │ │ │ │ │ + vadd.f64 d7, d10, d1 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vsub.f64 d6, d12, d2 │ │ │ │ │ - vldr d2, [sp, #472] @ 0x1d8 │ │ │ │ │ + vsub.f64 d6, d10, d1 │ │ │ │ │ + vldr d1, [sp, #504] @ 0x1f8 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - mla r3, r1, lr, r3 │ │ │ │ │ - mvn.w r1, #23 │ │ │ │ │ + vmov.f64 d5, d2 │ │ │ │ │ + mla r3, r1, r7, r3 │ │ │ │ │ + mov.w r1, r7, lsl #2 │ │ │ │ │ + vldr d2, [pc, #-968] @ ac0 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - vsub.f64 d7, d15, d4 │ │ │ │ │ - mul.w r6, r1, r8 │ │ │ │ │ - add r3, r7 │ │ │ │ │ - mul.w r1, r1, lr │ │ │ │ │ - vldr d4, [sp, #160] @ 0xa0 │ │ │ │ │ + sub.w r0, r7, r1 │ │ │ │ │ + add r3, lr │ │ │ │ │ + vsub.f64 d7, d15, d5 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ + str r1, [sp, #208] @ 0xd0 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vsub.f64 d6, d1, d9 │ │ │ │ │ - vldr d1, [sp, #144] @ 0x90 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ - add r2, r6 │ │ │ │ │ + vmov.f64 d5, d4 │ │ │ │ │ + add r2, r4 │ │ │ │ │ + vldr d4, [pc, #1000] @ 1298 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ - vsub.f64 d7, d10, d0 │ │ │ │ │ - vldr d0, [sp, #304] @ 0x130 │ │ │ │ │ + vsub.f64 d7, d9, d0 │ │ │ │ │ + vldr d0, [sp, #128] @ 0x80 │ │ │ │ │ + vsub.f64 d6, d5, d12 │ │ │ │ │ + vadd.f64 d15, d3, d0 │ │ │ │ │ + vldr d3, [sp, #120] @ 0x78 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ + vldr d0, [sp, #464] @ 0x1d0 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - add r3, r1 │ │ │ │ │ + add r3, r0 │ │ │ │ │ + vsub.f64 d10, d0, d15 │ │ │ │ │ + vadd.f64 d15, d0, d15 │ │ │ │ │ + vldr d0, [sp, #192] @ 0xc0 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - vadd.f64 d7, d3, d8 │ │ │ │ │ - vldr d3, [sp, #232] @ 0xe8 │ │ │ │ │ - subs r3, r3, r0 │ │ │ │ │ - vldr d8, [sp, #368] @ 0x170 │ │ │ │ │ - vsub.f64 d10, d2, d7 │ │ │ │ │ - vadd.f64 d5, d2, d7 │ │ │ │ │ - vldr d7, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d2, [sp, #520] @ 0x208 │ │ │ │ │ + sub.w r3, r3, r5 │ │ │ │ │ + vldr d7, [sp, #88] @ 0x58 │ │ │ │ │ vsub.f64 d7, d3, d7 │ │ │ │ │ - vldr d3, [pc, #-872] @ b50 │ │ │ │ │ - vstr d5, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d5, [pc, #-872] @ b58 │ │ │ │ │ - vadd.f64 d9, d2, d7 │ │ │ │ │ - vsub.f64 d12, d7, d2 │ │ │ │ │ - vldr d2, [pc, #-876] @ b60 │ │ │ │ │ - vstr d9, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d9, [sp, #416] @ 0x1a0 │ │ │ │ │ - vmul.f64 d6, d9, d3 │ │ │ │ │ - vmla.f64 d6, d1, d2 │ │ │ │ │ - vldr d1, [sp, #336] @ 0x150 │ │ │ │ │ - vmul.f64 d7, d1, d2 │ │ │ │ │ - vldr d1, [sp, #272] @ 0x110 │ │ │ │ │ - vnmls.f64 d7, d8, d3 │ │ │ │ │ - vldr d8, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d3, [pc, #932] @ 12a0 │ │ │ │ │ + vadd.f64 d9, d1, d7 │ │ │ │ │ + vsub.f64 d12, d7, d1 │ │ │ │ │ + vldr d1, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d7, [sp, #312] @ 0x138 │ │ │ │ │ + vstr d9, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d9, [sp, #280] @ 0x118 │ │ │ │ │ + vmul.f64 d6, d7, d3 │ │ │ │ │ + vmla.f64 d6, d9, d2 │ │ │ │ │ + vldr d9, [sp, #224] @ 0xe0 │ │ │ │ │ + vmul.f64 d7, d9, d2 │ │ │ │ │ + vnmls.f64 d7, d1, d3 │ │ │ │ │ + vldr d1, [sp, #160] @ 0xa0 │ │ │ │ │ vsub.f64 d9, d6, d7 │ │ │ │ │ - vadd.f64 d15, d6, d7 │ │ │ │ │ - vldr d7, [sp, #192] @ 0xc0 │ │ │ │ │ + vadd.f64 d5, d6, d7 │ │ │ │ │ + vldr d7, [sp, #408] @ 0x198 │ │ │ │ │ vadd.f64 d6, d1, d7 │ │ │ │ │ - vadd.f64 d7, d0, d4 │ │ │ │ │ - vldr d4, [pc, #-928] @ b68 │ │ │ │ │ + vldr d1, [sp, #376] @ 0x178 │ │ │ │ │ + vstr d5, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d5, [pc, #864] @ 12a8 │ │ │ │ │ + vadd.f64 d7, d0, d1 │ │ │ │ │ vmul.f64 d1, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d5 │ │ │ │ │ - vmla.f64 d7, d6, d4 │ │ │ │ │ vnmls.f64 d1, d6, d5 │ │ │ │ │ - vldr d6, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d7, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d7, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d1, [sp, #152] @ 0x98 │ │ │ │ │ - vsub.f64 d1, d8, d7 │ │ │ │ │ - vldr d8, [sp, #32] │ │ │ │ │ - vldr d7, [pc, #-964] @ b70 │ │ │ │ │ - vsub.f64 d0, d8, d6 │ │ │ │ │ - vldr d6, [pc, #-964] @ b78 │ │ │ │ │ + vmla.f64 d7, d6, d4 │ │ │ │ │ + vstr d1, [sp, #120] @ 0x78 │ │ │ │ │ + vstr d7, [sp, #128] @ 0x80 │ │ │ │ │ + ldr r1, [sp, #24] │ │ │ │ │ + vldr d7, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d8, [sp, #432] @ 0x1b0 │ │ │ │ │ + sub.w r2, r2, r1 │ │ │ │ │ + mvn.w r1, #183 @ 0xb7 │ │ │ │ │ + vldr d6, [sp, #40] @ 0x28 │ │ │ │ │ + vsub.f64 d1, d7, d8 │ │ │ │ │ + vldr d8, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d7, [pc, #812] @ 12b0 │ │ │ │ │ + vsub.f64 d0, d6, d8 │ │ │ │ │ + vldr d6, [pc, #812] @ 12b8 │ │ │ │ │ vmul.f64 d8, d0, d7 │ │ │ │ │ vmla.f64 d8, d1, d6 │ │ │ │ │ vmul.f64 d1, d1, d7 │ │ │ │ │ vnmls.f64 d1, d0, d6 │ │ │ │ │ - vstr d1, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d0, [sp, #368] @ 0x170 │ │ │ │ │ - ldr r5, [sp, #16] │ │ │ │ │ + vldr d0, [sp, #256] @ 0x100 │ │ │ │ │ + vstr d1, [sp, #216] @ 0xd8 │ │ │ │ │ vmul.f64 d1, d0, d2 │ │ │ │ │ - vldr d0, [sp, #336] @ 0x150 │ │ │ │ │ - subs r2, r2, r5 │ │ │ │ │ - mvn.w r5, #183 @ 0xb7 │ │ │ │ │ + vldr d0, [sp, #224] @ 0xe0 │ │ │ │ │ vmla.f64 d1, d0, d3 │ │ │ │ │ - vldr d0, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d0, [sp, #312] @ 0x138 │ │ │ │ │ vmul.f64 d2, d0, d2 │ │ │ │ │ - vldr d0, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d0, [sp, #280] @ 0x118 │ │ │ │ │ vnmls.f64 d2, d0, d3 │ │ │ │ │ - vldr d0, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d0, [sp, #56] @ 0x38 │ │ │ │ │ vadd.f64 d3, d1, d2 │ │ │ │ │ - vstr d3, [sp, #144] @ 0x90 │ │ │ │ │ + vstr d3, [sp, #224] @ 0xe0 │ │ │ │ │ vsub.f64 d3, d2, d1 │ │ │ │ │ - vldr d2, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d1, [sp, #32] │ │ │ │ │ - vadd.f64 d2, d2, d0 │ │ │ │ │ - vldr d0, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d1, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d2, [sp, #432] @ 0x1b0 │ │ │ │ │ + vadd.f64 d2, d0, d2 │ │ │ │ │ + vldr d0, [sp, #352] @ 0x160 │ │ │ │ │ vadd.f64 d1, d0, d1 │ │ │ │ │ vmul.f64 d0, d1, d4 │ │ │ │ │ vmla.f64 d0, d2, d5 │ │ │ │ │ vmul.f64 d2, d2, d4 │ │ │ │ │ + vldr d4, [sp, #408] @ 0x198 │ │ │ │ │ vnmls.f64 d2, d1, d5 │ │ │ │ │ - vldr d5, [sp, #272] @ 0x110 │ │ │ │ │ - vldr d1, [sp, #184] @ 0xb8 │ │ │ │ │ - vstr d2, [sp, #32] │ │ │ │ │ - vldr d2, [sp, #192] @ 0xc0 │ │ │ │ │ - vsub.f64 d4, d5, d2 │ │ │ │ │ - vldr d2, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d5, [sp, #304] @ 0x130 │ │ │ │ │ - vsub.f64 d5, d2, d5 │ │ │ │ │ + vldr d5, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d1, [sp, #376] @ 0x178 │ │ │ │ │ + vsub.f64 d4, d5, d4 │ │ │ │ │ + vldr d5, [sp, #192] @ 0xc0 │ │ │ │ │ + vstr d2, [sp, #40] @ 0x28 │ │ │ │ │ + vsub.f64 d5, d1, d5 │ │ │ │ │ + vldr d1, [sp, #216] @ 0xd8 │ │ │ │ │ vmul.f64 d2, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d6 │ │ │ │ │ + vnmls.f64 d2, d4, d6 │ │ │ │ │ vmla.f64 d5, d4, d7 │ │ │ │ │ vadd.f64 d7, d10, d9 │ │ │ │ │ - vnmls.f64 d2, d4, d6 │ │ │ │ │ vadd.f64 d6, d8, d2 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d12, d3 │ │ │ │ │ vsub.f64 d3, d3, d12 │ │ │ │ │ vstr d4, [r2] │ │ │ │ │ - mla r2, r5, r8, r2 │ │ │ │ │ + mla r2, r1, r8, r2 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ vadd.f64 d7, d1, d5 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ - add r2, r4 │ │ │ │ │ + add r2, r6 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ - mla r3, r5, lr, r3 │ │ │ │ │ - ldr r5, [sp, #64] @ 0x40 │ │ │ │ │ + mla r3, r1, r7, r3 │ │ │ │ │ + ldr r1, [sp, #152] @ 0x98 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d10, d9 │ │ │ │ │ - add r3, r7 │ │ │ │ │ - vldr d10, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d9, [sp, #144] @ 0x90 │ │ │ │ │ + add r3, lr │ │ │ │ │ + vldr d10, [sp, #224] @ 0xe0 │ │ │ │ │ vsub.f64 d6, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ - subs r2, r2, r5 │ │ │ │ │ - ldr r5, [sp, #80] @ 0x50 │ │ │ │ │ + sub.w r2, r2, r1 │ │ │ │ │ + ldr r1, [sp, #184] @ 0xb8 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d2, d8 │ │ │ │ │ - vldr d2, [sp, #152] @ 0x98 │ │ │ │ │ - sub.w r2, r2, ip │ │ │ │ │ vsub.f64 d6, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ - subs r3, r3, r5 │ │ │ │ │ - vadd.f64 d6, d2, d0 │ │ │ │ │ + sub.w r3, r3, r1 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - vadd.f64 d7, d10, d9 │ │ │ │ │ + vadd.f64 d7, d15, d10 │ │ │ │ │ + sub.w r3, r3, ip │ │ │ │ │ + vldr d2, [sp, #120] @ 0x78 │ │ │ │ │ + ldr r1, [sp, #16] │ │ │ │ │ + vldr d9, [sp, #40] @ 0x28 │ │ │ │ │ + vadd.f64 d6, d2, d0 │ │ │ │ │ + vldr d3, [sp, #88] @ 0x58 │ │ │ │ │ + sub.w r2, r2, r1 │ │ │ │ │ + ldr r1, [sp, #8] │ │ │ │ │ + vldr d12, [sp, #96] @ 0x60 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ + vldr d1, [sp, #128] @ 0x80 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ + sub.w r0, r1, r0 │ │ │ │ │ + vldr d4, [sp, #112] @ 0x70 │ │ │ │ │ + vadd.f64 d6, d3, d12 │ │ │ │ │ + vldr d8, [sp, #232] @ 0xe8 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ ldr r2, [sp, #0] │ │ │ │ │ - subs r6, r2, r6 │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ - add r6, r4 │ │ │ │ │ - vldr d1, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d8, [sp, #32] │ │ │ │ │ - vldr d3, [sp, #136] @ 0x88 │ │ │ │ │ - ldr r5, [sp, #24] │ │ │ │ │ - vadd.f64 d7, d1, d8 │ │ │ │ │ - vldr d4, [sp, #224] @ 0xe0 │ │ │ │ │ - vadd.f64 d6, d3, d15 │ │ │ │ │ - subs r3, r3, r5 │ │ │ │ │ - ldr r5, [sp, #8] │ │ │ │ │ - vsub.f64 d15, d15, d3 │ │ │ │ │ - vldr d3, [sp, #248] @ 0xf8 │ │ │ │ │ - subs r1, r5, r1 │ │ │ │ │ + sub.w r4, r2, r4 │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + vadd.f64 d7, d1, d9 │ │ │ │ │ + add r4, r6 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vsub.f64 d6, d1, d8 │ │ │ │ │ - vldr d8, [sp, #128] @ 0x80 │ │ │ │ │ + vsub.f64 d6, d1, d9 │ │ │ │ │ + vmov.f64 d1, d12 │ │ │ │ │ + vldr d12, [sp, #144] @ 0x90 │ │ │ │ │ + vmov.f64 d9, d3 │ │ │ │ │ + vldr d3, [sp, #136] @ 0x88 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ - vsub.f64 d7, d10, d9 │ │ │ │ │ - add r1, r7 │ │ │ │ │ - vldr d9, [sp, #424] @ 0x1a8 │ │ │ │ │ + add.w r3, r8, r8, lsl #1 │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ + vsub.f64 d7, d15, d10 │ │ │ │ │ + add r0, lr │ │ │ │ │ + add.w r3, r2, r3, lsl #5 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d5, [r6] │ │ │ │ │ - mov r6, r2 │ │ │ │ │ - movs r2, #96 @ 0x60 │ │ │ │ │ - vldr d5, [sp, #496] @ 0x1f0 │ │ │ │ │ - mla r3, r2, r8, r6 │ │ │ │ │ - mla r2, r2, lr, r5 │ │ │ │ │ + vsub.f64 d6, d1, d9 │ │ │ │ │ + vldr d1, [sp, #320] @ 0x140 │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ + mov r4, r2 │ │ │ │ │ + add.w r2, r7, r7, lsl #1 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d2, d0 │ │ │ │ │ - vldr d2, [pc, #672] @ 1390 │ │ │ │ │ - sub.w r3, r3, ip │ │ │ │ │ - vldr d0, [sp, #344] @ 0x158 │ │ │ │ │ - vsub.f64 d6, d7, d15 │ │ │ │ │ - vadd.f64 d7, d7, d15 │ │ │ │ │ - vldr d15, [sp, #256] @ 0x100 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ - mov r1, r5 │ │ │ │ │ - vldr d6, [sp, #216] @ 0xd8 │ │ │ │ │ - subs r0, r1, r0 │ │ │ │ │ + add.w r2, r1, r2, lsl #5 │ │ │ │ │ + vldr d2, [pc, #368] @ 12c0 │ │ │ │ │ + vsub.f64 d5, d7, d6 │ │ │ │ │ + vadd.f64 d7, d7, d6 │ │ │ │ │ + vldr d6, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ + mov r0, r1 │ │ │ │ │ + vldr d5, [sp, #488] @ 0x1e8 │ │ │ │ │ + sub.w r5, r0, r5 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d3, d6 │ │ │ │ │ - vldr d6, [sp, #480] @ 0x1e0 │ │ │ │ │ + sub.w r2, r2, ip │ │ │ │ │ + vldr d6, [sp, #472] @ 0x1d8 │ │ │ │ │ + vldr d3, [pc, #328] @ 12c8 │ │ │ │ │ vadd.f64 d10, d5, d7 │ │ │ │ │ - vsub.f64 d3, d5, d7 │ │ │ │ │ - vadd.f64 d7, d4, d15 │ │ │ │ │ - vldr d4, [sp, #376] @ 0x178 │ │ │ │ │ - vldr d5, [pc, #616] @ 1398 │ │ │ │ │ - vstr d3, [sp] │ │ │ │ │ - vadd.f64 d1, d6, d7 │ │ │ │ │ - vldr d3, [pc, #612] @ 13a0 │ │ │ │ │ + vsub.f64 d9, d5, d7 │ │ │ │ │ + vldr d5, [sp, #264] @ 0x108 │ │ │ │ │ + vadd.f64 d7, d4, d12 │ │ │ │ │ + vldr d4, [sp, #288] @ 0x120 │ │ │ │ │ + vstr d9, [sp] │ │ │ │ │ vsub.f64 d12, d6, d7 │ │ │ │ │ - vmul.f64 d6, d0, d2 │ │ │ │ │ - vmla.f64 d6, d4, d3 │ │ │ │ │ - vldr d4, [sp, #448] @ 0x1c0 │ │ │ │ │ - vstr d1, [sp, #8] │ │ │ │ │ - vldr d1, [sp, #392] @ 0x188 │ │ │ │ │ - vmul.f64 d7, d1, d2 │ │ │ │ │ - vmla.f64 d7, d9, d3 │ │ │ │ │ + vadd.f64 d15, d6, d7 │ │ │ │ │ + vmul.f64 d6, d8, d2 │ │ │ │ │ + vmul.f64 d7, d4, d2 │ │ │ │ │ + vldr d4, [sp, #416] @ 0x1a0 │ │ │ │ │ + vmla.f64 d6, d5, d3 │ │ │ │ │ + vmla.f64 d7, d1, d3 │ │ │ │ │ + vstr d15, [sp, #8] │ │ │ │ │ + vldr d5, [pc, #276] @ 12d0 │ │ │ │ │ vsub.f64 d9, d6, d7 │ │ │ │ │ vadd.f64 d15, d6, d7 │ │ │ │ │ - vldr d7, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d6, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d6, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d7, [sp, #200] @ 0xc8 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d4, [sp, #384] @ 0x180 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vldr d4, [pc, #556] @ 13a8 │ │ │ │ │ + vldr d4, [pc, #252] @ 12d8 │ │ │ │ │ vmul.f64 d1, d6, d5 │ │ │ │ │ vmla.f64 d1, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d5 │ │ │ │ │ vnmls.f64 d7, d6, d4 │ │ │ │ │ - vldr d6, [sp, #56] @ 0x38 │ │ │ │ │ - vstr d1, [sp, #32] │ │ │ │ │ - vadd.f64 d1, d8, d6 │ │ │ │ │ - vldr d8, [sp, #96] @ 0x60 │ │ │ │ │ - vstr d7, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d6, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d7, [pc, #520] @ 13b0 │ │ │ │ │ - ldr r5, [sp, #24] │ │ │ │ │ - vsub.f64 d0, d8, d6 │ │ │ │ │ - vldr d6, [pc, #516] @ 13b8 │ │ │ │ │ - subs r2, r2, r5 │ │ │ │ │ - ldr r5, [sp, #16] │ │ │ │ │ - sub.w ip, r6, r5 │ │ │ │ │ + vstr d1, [sp, #40] @ 0x28 │ │ │ │ │ + ldr r1, [sp, #16] │ │ │ │ │ + vldr d6, [sp, #360] @ 0x168 │ │ │ │ │ + vstr d7, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d8, [sp, #424] @ 0x1a8 │ │ │ │ │ + sub.w r3, r3, r1 │ │ │ │ │ + vldr d7, [sp, #440] @ 0x1b8 │ │ │ │ │ + ldr r1, [sp, #24] │ │ │ │ │ + vadd.f64 d1, d6, d7 │ │ │ │ │ + vldr d6, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d7, [pc, #204] @ 12e0 │ │ │ │ │ + vsub.f64 d0, d6, d8 │ │ │ │ │ + vldr d6, [pc, #204] @ 12e8 │ │ │ │ │ vmul.f64 d8, d0, d7 │ │ │ │ │ vmla.f64 d8, d1, d6 │ │ │ │ │ vmul.f64 d1, d1, d7 │ │ │ │ │ vnmls.f64 d1, d0, d6 │ │ │ │ │ - vldr d0, [sp, #392] @ 0x188 │ │ │ │ │ - vstr d1, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d1, [sp, #424] @ 0x1a8 │ │ │ │ │ + vldr d0, [sp, #288] @ 0x120 │ │ │ │ │ + vstr d1, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d1, [sp, #320] @ 0x140 │ │ │ │ │ vmul.f64 d1, d1, d2 │ │ │ │ │ vnmls.f64 d1, d0, d3 │ │ │ │ │ - vldr d0, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d0, [sp, #264] @ 0x108 │ │ │ │ │ vmul.f64 d2, d0, d2 │ │ │ │ │ - vldr d0, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d0, [sp, #232] @ 0xe8 │ │ │ │ │ vnmls.f64 d2, d0, d3 │ │ │ │ │ - vldr d0, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d0, [sp, #360] @ 0x168 │ │ │ │ │ vsub.f64 d3, d1, d2 │ │ │ │ │ - vstr d3, [sp, #80] @ 0x50 │ │ │ │ │ + vstr d3, [sp, #96] @ 0x60 │ │ │ │ │ vadd.f64 d3, d1, d2 │ │ │ │ │ - vldr d2, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d2, [sp, #440] @ 0x1b8 │ │ │ │ │ vsub.f64 d1, d0, d2 │ │ │ │ │ - vldr d0, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d2, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d2, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d0, [sp, #424] @ 0x1a8 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ vmul.f64 d0, d2, d5 │ │ │ │ │ vmul.f64 d2, d2, d4 │ │ │ │ │ - vmla.f64 d0, d1, d4 │ │ │ │ │ - vldr d4, [sp, #448] @ 0x1c0 │ │ │ │ │ vnmls.f64 d2, d1, d5 │ │ │ │ │ - vldr d5, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d1, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d5, [sp, #200] @ 0xc8 │ │ │ │ │ + vmla.f64 d0, d1, d4 │ │ │ │ │ + vldr d1, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d4, [sp, #416] @ 0x1a0 │ │ │ │ │ + b.n 12f0 │ │ │ │ │ + nop │ │ │ │ │ + nop.w │ │ │ │ │ + .word 0x75ab1fdd │ │ │ │ │ + .word 0x3fd58f9a │ │ │ │ │ + .word 0x6b151741 │ │ │ │ │ + .word 0x3fe8bc80 │ │ │ │ │ + .word 0x04f686e5 │ │ │ │ │ + .word 0x3fee2121 │ │ │ │ │ + .word 0x09e15cc0 │ │ │ │ │ + .word 0x3fdb5d10 │ │ │ │ │ + .word 0xf43cc773 │ │ │ │ │ + .word 0x3feced7a │ │ │ │ │ + .word 0x3806f63b │ │ │ │ │ + .word 0x3fde2b5d │ │ │ │ │ + .word 0xf180bdb1 │ │ │ │ │ + .word 0x3fec38b2 │ │ │ │ │ + .word 0x45196e3e │ │ │ │ │ + .word 0x3feb7283 │ │ │ │ │ + .word 0x9922ffee │ │ │ │ │ + .word 0x3fe07387 │ │ │ │ │ + .word 0x7b215f1b │ │ │ │ │ + .word 0x3fcf19f9 │ │ │ │ │ + .word 0xfb9230d7 │ │ │ │ │ + .word 0x3fef0a7e │ │ │ │ │ vsub.f64 d4, d4, d5 │ │ │ │ │ - vldr d5, [sp, #280] @ 0x118 │ │ │ │ │ - vstr d2, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d2, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d5, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d2, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d2, [sp, #384] @ 0x180 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ vmul.f64 d2, d5, d7 │ │ │ │ │ vmul.f64 d5, d5, d6 │ │ │ │ │ + vnmls.f64 d2, d4, d6 │ │ │ │ │ vmla.f64 d5, d4, d7 │ │ │ │ │ vadd.f64 d7, d10, d9 │ │ │ │ │ - vnmls.f64 d2, d4, d6 │ │ │ │ │ vadd.f64 d6, d8, d2 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d12, d3 │ │ │ │ │ vsub.f64 d3, d3, d12 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ - add.w r3, r6, r8, lsl #4 │ │ │ │ │ + ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ + add r3, r4 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vadd.f64 d7, d1, d5 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ - add r3, r4 │ │ │ │ │ + add r3, r6 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vstr d4, [r2] │ │ │ │ │ - add.w r2, r1, lr, lsl #4 │ │ │ │ │ - vldr d4, [sp, #32] │ │ │ │ │ + ldr r2, [sp, #80] @ 0x50 │ │ │ │ │ + add r2, r0 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d10, d9 │ │ │ │ │ - add r2, r7 │ │ │ │ │ - vldr d9, [sp, #80] @ 0x50 │ │ │ │ │ - movs r7, #80 @ 0x50 │ │ │ │ │ + add r2, lr │ │ │ │ │ vsub.f64 d6, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ - vstr d7, [ip] │ │ │ │ │ + sub.w r3, r4, r1 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d2, d8 │ │ │ │ │ - vldr d8, [sp] │ │ │ │ │ - ldr r3, [sp, #72] @ 0x48 │ │ │ │ │ vsub.f64 d6, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ - adds r3, r6, r3 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ + mov r5, r0 │ │ │ │ │ + vldr d8, [sp] │ │ │ │ │ + vldr d1, [sp, #8] │ │ │ │ │ + vldr d4, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d9, [sp, #96] @ 0x60 │ │ │ │ │ + ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ vsub.f64 d6, d0, d4 │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ + ldr r2, [sp, #32] │ │ │ │ │ vsub.f64 d7, d8, d9 │ │ │ │ │ + vldr d3, [sp, #56] @ 0x38 │ │ │ │ │ + add r3, r4 │ │ │ │ │ + vldr d2, [sp, #64] @ 0x40 │ │ │ │ │ + add r2, r0 │ │ │ │ │ + ldr r1, [sp, #208] @ 0xd0 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ + vsub.f64 d6, d1, d15 │ │ │ │ │ + add r1, r7 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - mla r3, r7, r8, r6 │ │ │ │ │ + ldr r3, [sp, #176] @ 0xb0 │ │ │ │ │ + add.w r0, r3, r8 │ │ │ │ │ + add.w r3, r4, r0, lsl #4 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - add r3, r4 │ │ │ │ │ - vldr d1, [sp, #8] │ │ │ │ │ - vldr d3, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ - vsub.f64 d6, d1, d15 │ │ │ │ │ - ldr r0, [sp, #104] @ 0x68 │ │ │ │ │ vsub.f64 d7, d3, d2 │ │ │ │ │ - adds r2, r1, r0 │ │ │ │ │ + add r3, r6 │ │ │ │ │ + add.w r6, r4, r0, lsl #3 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d3, d2 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ - mla r2, r7, lr, r1 │ │ │ │ │ + add.w r2, r5, r1, lsl #4 │ │ │ │ │ + add.w r1, r5, r1, lsl #3 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ vadd.f64 d7, d8, d9 │ │ │ │ │ - movs r2, #40 @ 0x28 │ │ │ │ │ + ldr r2, [sp, #32] │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d4, d0 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - mla r3, r2, r8, r6 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ vadd.f64 d7, d1, d15 │ │ │ │ │ - mla r3, r2, lr, r1 │ │ │ │ │ - vadd.f64 d5, d6, d7 │ │ │ │ │ - vsub.f64 d7, d7, d6 │ │ │ │ │ - vneg.f64 d5, d5 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - add r3, r0 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ ldr r3, [sp, #556] @ 0x22c │ │ │ │ │ - add r9, r3 │ │ │ │ │ + vadd.f64 d5, d6, d7 │ │ │ │ │ add sl, r3 │ │ │ │ │ + add fp, r3 │ │ │ │ │ ldr r3, [sp, #560] @ 0x230 │ │ │ │ │ - adds r2, r6, r3 │ │ │ │ │ - adds r3, r1, r3 │ │ │ │ │ + vsub.f64 d7, d7, d6 │ │ │ │ │ + vneg.f64 d5, d5 │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ + add r1, r2 │ │ │ │ │ + add.w r2, r4, r3 │ │ │ │ │ + add r3, r5 │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ + str r2, [sp, #0] │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ ldr r3, [sp, #564] @ 0x234 │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ - eor.w fp, fp, r3 │ │ │ │ │ + eor.w r9, r9, r3 │ │ │ │ │ eor.w r8, r8, r3 │ │ │ │ │ - eor.w lr, lr, r3 │ │ │ │ │ + eor.w r7, r7, r3 │ │ │ │ │ ldr r3, [sp, #684] @ 0x2ac │ │ │ │ │ subs r3, #1 │ │ │ │ │ str r3, [sp, #684] @ 0x2ac │ │ │ │ │ - bne.w 4e │ │ │ │ │ + bne.w 60 │ │ │ │ │ add.w sp, sp, #572 @ 0x23c │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - .word 0x3806f63b │ │ │ │ │ - .word 0x3fde2b5d │ │ │ │ │ - .word 0x45196e3e │ │ │ │ │ - .word 0x3feb7283 │ │ │ │ │ - .word 0xf180bdb1 │ │ │ │ │ - .word 0x3fec38b2 │ │ │ │ │ - .word 0x9922ffee │ │ │ │ │ - .word 0x3fe07387 │ │ │ │ │ - .word 0x7b215f1b │ │ │ │ │ - .word 0x3fcf19f9 │ │ │ │ │ - .word 0xfb9230d7 │ │ │ │ │ - .word 0x3fef0a7e │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ │ │ │ │ │ -000013c0 : │ │ │ │ │ +00001474 : │ │ │ │ │ fftw_codelet_r2cfII_64(): │ │ │ │ │ - ldr r2, [pc, #8] @ (13cc ) │ │ │ │ │ - ldr r1, [pc, #12] @ (13d0 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (1480 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (1484 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cfII_7.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1472 (bytes into file) │ │ │ │ │ + Start of section headers: 1504 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x5c0: │ │ │ │ │ +There are 13 section headers, starting at offset 0x5e0: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0002f4 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000518 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000328 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000328 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000328 000009 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 000331 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000540 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 000361 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000361 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 000394 000100 10 11 11 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 000494 000084 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000550 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000314 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000538 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000348 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000348 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000348 000009 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 000351 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000560 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 000381 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000381 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 0003b4 000100 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 0004b4 000084 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000570 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 16 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 736 FUNC LOCAL DEFAULT 1 r2cfII_7 │ │ │ │ │ + 1: 00000001 768 FUNC LOCAL DEFAULT 1 r2cfII_7 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000002a8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 000002e0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000002ec 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000002c8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000300 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 0000030c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 13: 000002e1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_7 │ │ │ │ │ + 13: 00000301 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_7 │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cfII_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x518 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x538 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000002d8 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -000002dc 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000002ec 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000002f0 00000103 R_ARM_REL32 00000001 r2cfII_7 │ │ │ │ │ -000002e8 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +000002f8 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +000002fc 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +0000030c 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000310 00000103 R_ARM_REL32 00000001 r2cfII_7 │ │ │ │ │ +00000308 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x540 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x560 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000f02 R_ARM_ABS32 00000000 fftw_rdft_r2cfII_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,67 +1,71 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cfII_7(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - ldr.w r8, [pc, #720] @ 2d8 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d14} │ │ │ │ │ - ldrd lr, ip, [sp, #100] @ 0x64 │ │ │ │ │ - add r8, pc │ │ │ │ │ + ldr.w ip, [pc, #732] @ 2f8 │ │ │ │ │ + ldrd r8, lr, [sp, #100] @ 0x64 │ │ │ │ │ ldrd r4, r5, [sp, #92] @ 0x5c │ │ │ │ │ - cmp.w ip, #0 │ │ │ │ │ + add ip, pc │ │ │ │ │ ldr r7, [sp, #108] @ 0x6c │ │ │ │ │ - ble.w 166 │ │ │ │ │ - ldr.w r9, [pc, #696] @ 2dc │ │ │ │ │ - ldr.w r6, [r8, r9] │ │ │ │ │ - ldr.w r8, [r6] │ │ │ │ │ + cmp.w lr, #0 │ │ │ │ │ + ble.w 178 │ │ │ │ │ + ldr.w r9, [pc, #712] @ 2fc │ │ │ │ │ + ldr.w r6, [ip, r9] │ │ │ │ │ + ldr.w r9, [r6] │ │ │ │ │ ldr r6, [sp, #112] @ 0x70 │ │ │ │ │ cmp r7, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r6, #1 │ │ │ │ │ - bne.w 16e │ │ │ │ │ - movs r7, #24 │ │ │ │ │ - vldr d9, [pc, #620] @ 2a8 │ │ │ │ │ - vldr d8, [pc, #624] @ 2b0 │ │ │ │ │ - vldr d11, [pc, #628] @ 2b8 │ │ │ │ │ - vldr d12, [pc, #632] @ 2c0 │ │ │ │ │ - vldr d13, [pc, #636] @ 2c8 │ │ │ │ │ - vldr d14, [pc, #640] @ 2d0 │ │ │ │ │ - mla r6, r7, r4, r0 │ │ │ │ │ - mov.w r9, r4, lsl #3 │ │ │ │ │ + bne.w 192 │ │ │ │ │ + vldr d9, [pc, #636] @ 2c8 │ │ │ │ │ + vldr d8, [pc, #640] @ 2d0 │ │ │ │ │ + vldr d11, [pc, #644] @ 2d8 │ │ │ │ │ + vldr d12, [pc, #648] @ 2e0 │ │ │ │ │ + vldr d13, [pc, #652] @ 2e8 │ │ │ │ │ + vldr d14, [pc, #656] @ 2f0 │ │ │ │ │ + add.w r6, r4, r4, lsl #1 │ │ │ │ │ + subs.w lr, lr, #1 │ │ │ │ │ + mov.w r7, r4, lsl #3 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ - subs.w ip, ip, #1 │ │ │ │ │ + add.w r6, r0, r6, lsl #3 │ │ │ │ │ vldr d0, [r0] │ │ │ │ │ vldr d7, [r6] │ │ │ │ │ - add.w r6, r0, r9 │ │ │ │ │ - add r9, r1 │ │ │ │ │ - vmov.f64 d10, d0 │ │ │ │ │ + add.w r6, r0, r7 │ │ │ │ │ + add r7, r1 │ │ │ │ │ vldr d5, [r6] │ │ │ │ │ mov.w r6, r4, lsl #4 │ │ │ │ │ - add.w sl, r1, r6 │ │ │ │ │ + eor.w r4, r4, r9 │ │ │ │ │ + add.w ip, r1, r6 │ │ │ │ │ add r6, r0 │ │ │ │ │ - vldr d2, [r9] │ │ │ │ │ + vldr d2, [r7] │ │ │ │ │ + mov.w r7, r8, lsl #3 │ │ │ │ │ + vmov.f64 d10, d0 │ │ │ │ │ + add.w r0, r0, #8 │ │ │ │ │ + vldr d3, [ip] │ │ │ │ │ vsub.f64 d1, d6, d7 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - mov.w r9, lr, lsl #3 │ │ │ │ │ - vldr d3, [sl] │ │ │ │ │ - add.w r0, r0, #8 │ │ │ │ │ - vldr d4, [r6] │ │ │ │ │ - add.w r6, r3, r9 │ │ │ │ │ add.w r1, r1, #8 │ │ │ │ │ + eor.w r8, r8, r9 │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ + add.w r6, r3, r7 │ │ │ │ │ add.w r3, r3, #8 │ │ │ │ │ vsub.f64 d6, d5, d3 │ │ │ │ │ vadd.f64 d3, d3, d5 │ │ │ │ │ vsub.f64 d5, d2, d4 │ │ │ │ │ vadd.f64 d4, d4, d2 │ │ │ │ │ - eor.w r4, r4, r8 │ │ │ │ │ - eor.w lr, lr, r8 │ │ │ │ │ vmul.f64 d2, d3, d8 │ │ │ │ │ vmla.f64 d10, d6, d14 │ │ │ │ │ vmla.f64 d2, d4, d9 │ │ │ │ │ vmla.f64 d2, d7, d11 │ │ │ │ │ vneg.f64 d2, d2 │ │ │ │ │ vstr d2, [r3, #-8] │ │ │ │ │ vmul.f64 d2, d7, d9 │ │ │ │ │ @@ -70,147 +74,150 @@ │ │ │ │ │ vnmls.f64 d7, d3, d9 │ │ │ │ │ vmls.f64 d2, d3, d11 │ │ │ │ │ vmls.f64 d7, d4, d11 │ │ │ │ │ vmov.f64 d4, d0 │ │ │ │ │ vmla.f64 d4, d5, d12 │ │ │ │ │ vstr d2, [r6] │ │ │ │ │ vmul.f64 d2, d5, d13 │ │ │ │ │ + add r6, r7 │ │ │ │ │ vmla.f64 d2, d1, d12 │ │ │ │ │ - add r6, r9 │ │ │ │ │ - mov.w r9, r5, lsl #4 │ │ │ │ │ vadd.f64 d2, d2, d10 │ │ │ │ │ vstr d2, [r2] │ │ │ │ │ vstr d7, [r6] │ │ │ │ │ vmul.f64 d7, d1, d14 │ │ │ │ │ - vmla.f64 d7, d6, d13 │ │ │ │ │ - add.w r6, r2, r9 │ │ │ │ │ + mov.w r6, r5, lsl #4 │ │ │ │ │ + add.w ip, r2, r6 │ │ │ │ │ add.w r2, r2, #8 │ │ │ │ │ + vmla.f64 d7, d6, d13 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ vmul.f64 d7, d5, d14 │ │ │ │ │ - vmla.f64 d7, d6, d12 │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ + vmla.f64 d7, d6, d12 │ │ │ │ │ vadd.f64 d6, d6, d0 │ │ │ │ │ - vstr d4, [r6] │ │ │ │ │ + vstr d4, [ip] │ │ │ │ │ vmov.f64 d4, d0 │ │ │ │ │ + sub.w ip, ip, r5, lsl #3 │ │ │ │ │ + eor.w r5, r5, r9 │ │ │ │ │ vmla.f64 d4, d1, d13 │ │ │ │ │ - sub.w r6, r6, r5, lsl #3 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - eor.w r5, r5, r8 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ - vstr d4, [r6] │ │ │ │ │ - add r6, r9 │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ - bne.w 52 │ │ │ │ │ + vstr d4, [ip] │ │ │ │ │ + add ip, r6 │ │ │ │ │ + vstr d6, [ip] │ │ │ │ │ + bne.w 60 │ │ │ │ │ vpop {d8-d14} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - mov.w sl, r7, lsl #3 │ │ │ │ │ - mov.w r9, r6, lsl #3 │ │ │ │ │ - vldr d9, [pc, #312] @ 2b0 │ │ │ │ │ - vldr d8, [pc, #300] @ 2a8 │ │ │ │ │ - vldr d11, [pc, #312] @ 2b8 │ │ │ │ │ - vldr d12, [pc, #324] @ 2c8 │ │ │ │ │ - vldr d13, [pc, #312] @ 2c0 │ │ │ │ │ - vldr d14, [pc, #324] @ 2d0 │ │ │ │ │ - movs r6, #24 │ │ │ │ │ - lsls r7, r4, #3 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + vldr d9, [pc, #316] @ 2d0 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + vldr d8, [pc, #296] @ 2c8 │ │ │ │ │ + vldr d11, [pc, #308] @ 2d8 │ │ │ │ │ + vldr d12, [pc, #320] @ 2e8 │ │ │ │ │ + vldr d13, [pc, #308] @ 2e0 │ │ │ │ │ + vldr d14, [pc, #320] @ 2f0 │ │ │ │ │ + add.w ip, r4, r4, lsl #1 │ │ │ │ │ + subs.w lr, lr, #1 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - subs.w ip, ip, #1 │ │ │ │ │ + mov.w sl, r4, lsl #3 │ │ │ │ │ + add.w ip, r0, ip, lsl #3 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ - mla r6, r6, r4, r0 │ │ │ │ │ + vldr d4, [ip] │ │ │ │ │ + add.w ip, r0, sl │ │ │ │ │ + add sl, r1 │ │ │ │ │ + vldr d2, [sl] │ │ │ │ │ + mov.w sl, r8, lsl #3 │ │ │ │ │ + eor.w r8, r8, r9 │ │ │ │ │ vmov.f64 d10, d6 │ │ │ │ │ - vldr d4, [r6] │ │ │ │ │ - add.w r6, r0, r7 │ │ │ │ │ - add r7, r1 │ │ │ │ │ vsub.f64 d5, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [r6] │ │ │ │ │ - mov.w r6, r4, lsl #4 │ │ │ │ │ - add.w fp, r1, r6 │ │ │ │ │ - add r6, r0 │ │ │ │ │ - vldr d2, [r7] │ │ │ │ │ - mov.w r7, lr, lsl #3 │ │ │ │ │ - add r0, sl │ │ │ │ │ - add r1, sl │ │ │ │ │ + vldr d4, [ip] │ │ │ │ │ + mov.w ip, r4, lsl #4 │ │ │ │ │ + eor.w r4, r4, r9 │ │ │ │ │ + add.w fp, r1, ip │ │ │ │ │ + add ip, r0 │ │ │ │ │ + add r1, r7 │ │ │ │ │ + add r0, r7 │ │ │ │ │ vldr d3, [fp] │ │ │ │ │ - eor.w r4, r4, r8 │ │ │ │ │ - eor.w lr, lr, r8 │ │ │ │ │ vsub.f64 d0, d4, d3 │ │ │ │ │ vadd.f64 d3, d4, d3 │ │ │ │ │ - vldr d4, [r6] │ │ │ │ │ - add.w r6, r3, r7 │ │ │ │ │ + vldr d4, [ip] │ │ │ │ │ + add.w ip, r3, sl │ │ │ │ │ vsub.f64 d1, d2, d4 │ │ │ │ │ vadd.f64 d4, d2, d4 │ │ │ │ │ vmla.f64 d10, d0, d14 │ │ │ │ │ vmul.f64 d2, d4, d8 │ │ │ │ │ vmla.f64 d2, d3, d9 │ │ │ │ │ vmla.f64 d2, d7, d11 │ │ │ │ │ vneg.f64 d2, d2 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ vmul.f64 d2, d7, d8 │ │ │ │ │ vmul.f64 d7, d7, d9 │ │ │ │ │ - add r3, r9 │ │ │ │ │ + add r3, r6 │ │ │ │ │ vnmls.f64 d2, d4, d9 │ │ │ │ │ vnmls.f64 d7, d3, d8 │ │ │ │ │ vmls.f64 d2, d3, d11 │ │ │ │ │ vmls.f64 d7, d4, d11 │ │ │ │ │ vmov.f64 d4, d6 │ │ │ │ │ vmla.f64 d4, d1, d13 │ │ │ │ │ - vstr d2, [r6] │ │ │ │ │ + vstr d2, [ip] │ │ │ │ │ vmul.f64 d2, d5, d13 │ │ │ │ │ + add ip, sl │ │ │ │ │ + mov.w sl, r5, lsl #4 │ │ │ │ │ vmla.f64 d2, d1, d12 │ │ │ │ │ - add r6, r7 │ │ │ │ │ - mov.w r7, r5, lsl #4 │ │ │ │ │ vadd.f64 d2, d2, d10 │ │ │ │ │ vstr d2, [r2] │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ + vstr d7, [ip] │ │ │ │ │ vmul.f64 d7, d0, d12 │ │ │ │ │ + add.w ip, r2, sl │ │ │ │ │ + add r2, r6 │ │ │ │ │ vmla.f64 d7, d5, d14 │ │ │ │ │ - add.w r6, r2, r7 │ │ │ │ │ - add r2, r9 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ vmul.f64 d7, d0, d13 │ │ │ │ │ vmla.f64 d7, d1, d14 │ │ │ │ │ - vstr d4, [r6] │ │ │ │ │ + vstr d4, [ip] │ │ │ │ │ vmov.f64 d4, d6 │ │ │ │ │ - vmla.f64 d4, d5, d12 │ │ │ │ │ vadd.f64 d6, d6, d0 │ │ │ │ │ + sub.w ip, ip, r5, lsl #3 │ │ │ │ │ + eor.w r5, r5, r9 │ │ │ │ │ + vmla.f64 d4, d5, d12 │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ - sub.w r6, r6, r5, lsl #3 │ │ │ │ │ - eor.w r5, r5, r8 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ - vstr d4, [r6] │ │ │ │ │ - add r6, r7 │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ - bne.w 18e │ │ │ │ │ - vpop {d8-d14} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + vstr d4, [ip] │ │ │ │ │ + add ip, sl │ │ │ │ │ + vstr d6, [ip] │ │ │ │ │ + bne.w 1b2 │ │ │ │ │ + b.n 178 │ │ │ │ │ nop.w │ │ │ │ │ .word 0x0558e969 │ │ │ │ │ .word 0x3fef329c │ │ │ │ │ .word 0x7505de4b │ │ │ │ │ .word 0x3fe904c3 │ │ │ │ │ .word 0x4d71abc1 │ │ │ │ │ .word 0x3fdbc4c0 │ │ │ │ │ .word 0xa9cb5c71 │ │ │ │ │ .word 0x3fecd4bc │ │ │ │ │ .word 0xe3024582 │ │ │ │ │ .word 0x3fcc7b90 │ │ │ │ │ .word 0xe28bedd1 │ │ │ │ │ .word 0x3fe3f3a0 │ │ │ │ │ - .word 0x000002c4 │ │ │ │ │ + .word 0x000002d0 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ │ │ │ │ │ -000002e0 : │ │ │ │ │ +00000300 : │ │ │ │ │ fftw_codelet_r2cfII_7(): │ │ │ │ │ - ldr r2, [pc, #8] @ (2ec ) │ │ │ │ │ - ldr r1, [pc, #12] @ (2f0 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (30c ) │ │ │ │ │ + ldr r1, [pc, #12] @ (310 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cfII_8.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1416 (bytes into file) │ │ │ │ │ + Start of section headers: 1456 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x588: │ │ │ │ │ +There are 13 section headers, starting at offset 0x5b0: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0002bc 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0004e0 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0002f0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0002f0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0002f0 000009 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 0002f9 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000508 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 000329 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000329 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 00035c 000100 10 11 11 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 00045c 000084 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000518 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0002e4 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000508 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000318 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000318 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000318 000009 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 000321 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000530 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 000351 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000351 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 000384 000100 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 000484 000084 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000540 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 16 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 680 FUNC LOCAL DEFAULT 1 r2cfII_8 │ │ │ │ │ + 1: 00000001 720 FUNC LOCAL DEFAULT 1 r2cfII_8 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000288 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 000002a8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000002b4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000002b0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 000002d0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000002dc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 13: 000002a9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_8 │ │ │ │ │ + 13: 000002d1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_8 │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cfII_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x4e0 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x508 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000002a0 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -000002a4 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000002b4 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000002b8 00000103 R_ARM_REL32 00000001 r2cfII_8 │ │ │ │ │ -000002b0 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +000002c8 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +000002cc 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +000002dc 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000002e0 00000103 R_ARM_REL32 00000001 r2cfII_8 │ │ │ │ │ +000002d8 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x508 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x530 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000f02 R_ARM_ABS32 00000000 fftw_rdft_r2cfII_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,202 +1,211 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cfII_8(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - ldr.w r8, [pc, #664] @ 2a0 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d13} │ │ │ │ │ - ldrd r6, lr, [sp, #92] @ 0x5c │ │ │ │ │ - add r8, pc │ │ │ │ │ - ldrd r4, r5, [sp, #84] @ 0x54 │ │ │ │ │ - cmp.w lr, #0 │ │ │ │ │ + ldr.w ip, [pc, #684] @ 2c8 │ │ │ │ │ + ldrd r5, r8, [sp, #92] @ 0x5c │ │ │ │ │ + ldrd r6, r4, [sp, #84] @ 0x54 │ │ │ │ │ + add ip, pc │ │ │ │ │ ldr r7, [sp, #104] @ 0x68 │ │ │ │ │ - ble.w 154 │ │ │ │ │ - ldr.w r9, [pc, #640] @ 2a4 │ │ │ │ │ - mov ip, r2 │ │ │ │ │ - ldr.w r2, [r8, r9] │ │ │ │ │ - ldr.w r8, [r2] │ │ │ │ │ + cmp.w r8, #0 │ │ │ │ │ + ble.w 16c │ │ │ │ │ + ldr.w r9, [pc, #664] @ 2cc │ │ │ │ │ + mov lr, r2 │ │ │ │ │ + ldr.w r2, [ip, r9] │ │ │ │ │ + ldr.w r9, [r2] │ │ │ │ │ ldr r2, [sp, #100] @ 0x64 │ │ │ │ │ cmp r2, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r7, #1 │ │ │ │ │ - bne.w 15c │ │ │ │ │ - vldr d13, [pc, #588] @ 288 │ │ │ │ │ - mov.w r9, #24 │ │ │ │ │ - vldr d0, [pc, #588] @ 290 │ │ │ │ │ - vldr d1, [pc, #592] @ 298 │ │ │ │ │ - lsls r7, r4, #4 │ │ │ │ │ + bne.w 186 │ │ │ │ │ + vldr d13, [pc, #612] @ 2b0 │ │ │ │ │ + vldr d0, [pc, #616] @ 2b8 │ │ │ │ │ + vldr d1, [pc, #620] @ 2c0 │ │ │ │ │ + mov.w r7, r6, lsl #4 │ │ │ │ │ + subs.w r8, r8, #1 │ │ │ │ │ vldr d9, [r0] │ │ │ │ │ - adds r2, r0, r7 │ │ │ │ │ - subs.w lr, lr, #1 │ │ │ │ │ + add.w r2, r0, r7 │ │ │ │ │ vldr d11, [r2] │ │ │ │ │ - mov.w r2, r4, lsl #3 │ │ │ │ │ - add.w sl, r0, r2 │ │ │ │ │ + mov.w r2, r6, lsl #3 │ │ │ │ │ + eor.w r6, r6, r9 │ │ │ │ │ + add.w ip, r0, r2 │ │ │ │ │ add r2, r1 │ │ │ │ │ add.w r0, r0, #8 │ │ │ │ │ - eor.w r4, r4, r8 │ │ │ │ │ - vldr d6, [sl] │ │ │ │ │ - add sl, r7 │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + add ip, r7 │ │ │ │ │ + vldr d7, [ip] │ │ │ │ │ + add.w ip, r1, r7 │ │ │ │ │ + add.w r1, r1, #8 │ │ │ │ │ vldr d4, [r2] │ │ │ │ │ add r2, r7 │ │ │ │ │ - vldr d7, [sl] │ │ │ │ │ - add.w sl, r1, r7 │ │ │ │ │ + mov.w r7, r4, lsl #3 │ │ │ │ │ vldr d2, [r2] │ │ │ │ │ - mla r7, r9, r5, ip │ │ │ │ │ - mla r2, r9, r6, r3 │ │ │ │ │ - add.w r1, r1, #8 │ │ │ │ │ + add.w r2, r5, r5, lsl #1 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sl] │ │ │ │ │ - mov.w sl, r5, lsl #3 │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + add.w ip, r4, r4, lsl #1 │ │ │ │ │ + eor.w r4, r4, r9 │ │ │ │ │ + add.w r2, r3, r2, lsl #3 │ │ │ │ │ add.w r3, r3, #8 │ │ │ │ │ - eor.w r5, r5, r8 │ │ │ │ │ - vmul.f64 d3, d6, d1 │ │ │ │ │ + add.w ip, lr, ip, lsl #3 │ │ │ │ │ vmul.f64 d12, d7, d13 │ │ │ │ │ vldr d7, [r1, #-8] │ │ │ │ │ + vmul.f64 d3, d6, d1 │ │ │ │ │ vmul.f64 d5, d5, d13 │ │ │ │ │ vnmls.f64 d3, d7, d0 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vmla.f64 d7, d6, d0 │ │ │ │ │ - vmul.f64 d6, d2, d0 │ │ │ │ │ vadd.f64 d8, d5, d9 │ │ │ │ │ vsub.f64 d5, d9, d5 │ │ │ │ │ + vmla.f64 d7, d6, d0 │ │ │ │ │ + vmul.f64 d6, d2, d0 │ │ │ │ │ vnmls.f64 d6, d4, d1 │ │ │ │ │ vmul.f64 d4, d4, d0 │ │ │ │ │ vmla.f64 d4, d2, d1 │ │ │ │ │ vadd.f64 d2, d6, d3 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ vsub.f64 d10, d8, d2 │ │ │ │ │ vadd.f64 d2, d2, d8 │ │ │ │ │ - vstr d10, [r7] │ │ │ │ │ + vstr d10, [ip] │ │ │ │ │ vadd.f64 d10, d4, d7 │ │ │ │ │ - vstmia ip!, {d2} │ │ │ │ │ - vadd.f64 d2, d12, d11 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - sub.w r7, r7, sl │ │ │ │ │ + vstmia lr!, {d2} │ │ │ │ │ + vadd.f64 d2, d12, d11 │ │ │ │ │ vsub.f64 d11, d11, d12 │ │ │ │ │ - vadd.f64 d8, d2, d10 │ │ │ │ │ - vsub.f64 d2, d2, d10 │ │ │ │ │ + sub.w ip, ip, r7 │ │ │ │ │ vsub.f64 d4, d5, d7 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ + vadd.f64 d8, d2, d10 │ │ │ │ │ + vsub.f64 d2, d2, d10 │ │ │ │ │ vneg.f64 d8, d8 │ │ │ │ │ vstr d8, [r3, #-8] │ │ │ │ │ vstr d2, [r2] │ │ │ │ │ - vstr d4, [r7] │ │ │ │ │ - sub.w r7, r7, sl │ │ │ │ │ - vstr d7, [r7] │ │ │ │ │ - mov.w r7, r6, lsl #3 │ │ │ │ │ + vstr d4, [ip] │ │ │ │ │ + sub.w ip, ip, r7 │ │ │ │ │ + mov.w r7, r5, lsl #3 │ │ │ │ │ + eor.w r5, r5, r9 │ │ │ │ │ + vstr d7, [ip] │ │ │ │ │ vsub.f64 d7, d6, d11 │ │ │ │ │ - sub.w r2, r2, r7 │ │ │ │ │ vadd.f64 d11, d11, d6 │ │ │ │ │ - eor.w r6, r6, r8 │ │ │ │ │ + sub.w r2, r2, r7 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ sub.w r2, r2, r7 │ │ │ │ │ vstr d11, [r2] │ │ │ │ │ - bne.w 4a │ │ │ │ │ + bne.w 56 │ │ │ │ │ vpop {d8-d13} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - mov.w sl, r2, lsl #3 │ │ │ │ │ - mov.w fp, r7, lsl #3 │ │ │ │ │ - vldr d13, [pc, #288] @ 288 │ │ │ │ │ - vldr d0, [pc, #292] @ 290 │ │ │ │ │ - vldr d1, [pc, #296] @ 298 │ │ │ │ │ - lsls r7, r4, #4 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + vldr d13, [pc, #296] @ 2b0 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + vldr d0, [pc, #292] @ 2b8 │ │ │ │ │ + vldr d1, [pc, #296] @ 2c0 │ │ │ │ │ + mov.w sl, r6, lsl #4 │ │ │ │ │ + subs.w r8, r8, #1 │ │ │ │ │ vldr d9, [r0] │ │ │ │ │ - adds r2, r0, r7 │ │ │ │ │ - subs.w lr, lr, #1 │ │ │ │ │ - vldr d11, [r2] │ │ │ │ │ - mov.w r2, r4, lsl #3 │ │ │ │ │ - add.w r9, r0, r2 │ │ │ │ │ - add r2, r1 │ │ │ │ │ - add r0, sl │ │ │ │ │ - eor.w r4, r4, r8 │ │ │ │ │ - vldr d7, [r9] │ │ │ │ │ - add r9, r7 │ │ │ │ │ - vldr d2, [r2] │ │ │ │ │ - add r2, r7 │ │ │ │ │ - vldr d6, [r9] │ │ │ │ │ - add.w r9, r1, r7 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - mov.w r2, #24 │ │ │ │ │ + add.w ip, r0, sl │ │ │ │ │ + vldr d11, [ip] │ │ │ │ │ + mov.w ip, r6, lsl #3 │ │ │ │ │ + eor.w r6, r6, r9 │ │ │ │ │ + add.w fp, r0, ip │ │ │ │ │ + add ip, r1 │ │ │ │ │ + add r0, r2 │ │ │ │ │ + vldr d7, [fp] │ │ │ │ │ + add fp, sl │ │ │ │ │ + vldr d6, [fp] │ │ │ │ │ + add.w fp, r1, sl │ │ │ │ │ + vldr d2, [ip] │ │ │ │ │ + add ip, sl │ │ │ │ │ + add.w sl, r4, r4, lsl #1 │ │ │ │ │ + vldr d4, [ip] │ │ │ │ │ + add.w sl, lr, sl, lsl #3 │ │ │ │ │ + add.w ip, r5, r5, lsl #1 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ - mla r7, r2, r5, ip │ │ │ │ │ - mla r2, r2, r6, r3 │ │ │ │ │ - add r1, sl │ │ │ │ │ + add.w ip, r3, ip, lsl #3 │ │ │ │ │ + add r1, r2 │ │ │ │ │ vmul.f64 d12, d7, d13 │ │ │ │ │ - vldr d7, [r9] │ │ │ │ │ + vldr d7, [fp] │ │ │ │ │ vmul.f64 d5, d5, d13 │ │ │ │ │ - mov.w r9, r5, lsl #3 │ │ │ │ │ - eor.w r5, r5, r8 │ │ │ │ │ + mov.w fp, r4, lsl #3 │ │ │ │ │ + eor.w r4, r4, r9 │ │ │ │ │ vmul.f64 d3, d7, d1 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ - vmla.f64 d7, d6, d1 │ │ │ │ │ vnmls.f64 d3, d6, d0 │ │ │ │ │ + vmla.f64 d7, d6, d1 │ │ │ │ │ vmul.f64 d6, d4, d0 │ │ │ │ │ vmul.f64 d4, d4, d1 │ │ │ │ │ - vmla.f64 d4, d2, d0 │ │ │ │ │ vnmls.f64 d6, d2, d1 │ │ │ │ │ + vmla.f64 d4, d2, d0 │ │ │ │ │ vadd.f64 d2, d9, d5 │ │ │ │ │ vsub.f64 d5, d9, d5 │ │ │ │ │ vadd.f64 d8, d3, d6 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ vsub.f64 d10, d2, d8 │ │ │ │ │ vadd.f64 d2, d2, d8 │ │ │ │ │ - vstr d10, [r7] │ │ │ │ │ + vstr d10, [sl] │ │ │ │ │ vadd.f64 d10, d7, d4 │ │ │ │ │ - vstr d2, [ip] │ │ │ │ │ - vadd.f64 d2, d11, d12 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - sub.w r7, r7, r9 │ │ │ │ │ + vstr d2, [lr] │ │ │ │ │ + vadd.f64 d2, d11, d12 │ │ │ │ │ vsub.f64 d11, d11, d12 │ │ │ │ │ - add ip, fp │ │ │ │ │ - vadd.f64 d8, d10, d2 │ │ │ │ │ - vsub.f64 d2, d2, d10 │ │ │ │ │ + sub.w sl, sl, fp │ │ │ │ │ + add lr, r7 │ │ │ │ │ vsub.f64 d4, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ + vadd.f64 d8, d10, d2 │ │ │ │ │ + vsub.f64 d2, d2, d10 │ │ │ │ │ vsub.f64 d7, d6, d11 │ │ │ │ │ vadd.f64 d6, d6, d11 │ │ │ │ │ vneg.f64 d8, d8 │ │ │ │ │ vstr d8, [r3] │ │ │ │ │ - add r3, fp │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - vstr d4, [r7] │ │ │ │ │ - sub.w r7, r7, r9 │ │ │ │ │ - vstr d5, [r7] │ │ │ │ │ - mov.w r7, r6, lsl #3 │ │ │ │ │ - sub.w r2, r2, r7 │ │ │ │ │ - eor.w r6, r6, r8 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - sub.w r2, r2, r7 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - bne.w 170 │ │ │ │ │ - vpop {d8-d13} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + add r3, r7 │ │ │ │ │ + vstr d2, [ip] │ │ │ │ │ + vstr d4, [sl] │ │ │ │ │ + sub.w sl, sl, fp │ │ │ │ │ + vstr d5, [sl] │ │ │ │ │ + mov.w sl, r5, lsl #3 │ │ │ │ │ + eor.w r5, r5, r9 │ │ │ │ │ + sub.w ip, ip, sl │ │ │ │ │ + vstr d7, [ip] │ │ │ │ │ + sub.w ip, ip, sl │ │ │ │ │ + vstr d6, [ip] │ │ │ │ │ + bne.w 19a │ │ │ │ │ + b.n 16c │ │ │ │ │ nop │ │ │ │ │ - nop.w │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ - .word 0x0000028c │ │ │ │ │ + .word 0x000002a0 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ │ │ │ │ │ -000002a8 : │ │ │ │ │ +000002d0 : │ │ │ │ │ fftw_codelet_r2cfII_8(): │ │ │ │ │ - ldr r2, [pc, #8] @ (2b4 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (2b8 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (2dc ) │ │ │ │ │ + ldr r1, [pc, #12] @ (2e0 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cfII_9.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1864 (bytes into file) │ │ │ │ │ + Start of section headers: 1912 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x748: │ │ │ │ │ +There are 13 section headers, starting at offset 0x778: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00047c 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0006a0 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0004b0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0004b0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0004b0 000009 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 0004b9 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 0006c8 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 0004e9 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0004e9 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 00051c 000100 10 11 11 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 00061c 000084 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 0006d8 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0004ac 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0006d0 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0004e0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0004e0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0004e0 000009 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0004e9 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 0006f8 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 000519 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000519 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 00054c 000100 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 00064c 000084 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000708 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 16 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1128 FUNC LOCAL DEFAULT 1 r2cfII_9 │ │ │ │ │ + 1: 00000001 1176 FUNC LOCAL DEFAULT 1 r2cfII_9 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000003f8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000468 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000474 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000428 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000498 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000004a4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 13: 00000469 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_9 │ │ │ │ │ + 13: 00000499 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cfII_9 │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cfII_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x6a0 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x6d0 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000460 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000464 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000474 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000478 00000103 R_ARM_REL32 00000001 r2cfII_9 │ │ │ │ │ -00000470 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +00000490 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000494 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +000004a4 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000004a8 00000103 R_ARM_REL32 00000001 r2cfII_9 │ │ │ │ │ +000004a0 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x6c8 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x6f8 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000f02 R_ARM_ABS32 00000000 fftw_rdft_r2cfII_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,128 +1,133 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cfII_9(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - ldr.w r8, [pc, #1112] @ 460 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #28 │ │ │ │ │ - add r8, pc │ │ │ │ │ + ldr.w r8, [pc, #1140] @ 490 │ │ │ │ │ ldrd r6, lr, [sp, #136] @ 0x88 │ │ │ │ │ ldrd r4, r5, [sp, #128] @ 0x80 │ │ │ │ │ - cmp.w lr, #0 │ │ │ │ │ + add r8, pc │ │ │ │ │ ldr r7, [sp, #148] @ 0x94 │ │ │ │ │ - ble.w 20a │ │ │ │ │ - ldr.w r9, [pc, #1088] @ 464 │ │ │ │ │ + cmp.w lr, #0 │ │ │ │ │ + ble.w 222 │ │ │ │ │ + ldr.w r9, [pc, #1120] @ 494 │ │ │ │ │ mov ip, r3 │ │ │ │ │ ldr.w r3, [r8, r9] │ │ │ │ │ ldr.w r8, [r3] │ │ │ │ │ ldr r3, [sp, #144] @ 0x90 │ │ │ │ │ cmp r3, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r7, #1 │ │ │ │ │ - bne.w 214 │ │ │ │ │ - vldr d14, [pc, #952] @ 3f8 │ │ │ │ │ - vldr d15, [pc, #956] @ 400 │ │ │ │ │ - mov.w fp, #24 │ │ │ │ │ - lsls r7, r4, #3 │ │ │ │ │ - adds r3, r1, r7 │ │ │ │ │ + bne.w 23e │ │ │ │ │ + vldr d14, [pc, #984] @ 428 │ │ │ │ │ + vldr d15, [pc, #988] @ 430 │ │ │ │ │ + add.w sl, r4, r4, lsl #1 │ │ │ │ │ vmov.f64 d6, #96 @ 0x3f000000 0.5 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ subs.w lr, lr, #1 │ │ │ │ │ - mul.w sl, fp, r4 │ │ │ │ │ - vldr d12, [pc, #936] @ 408 │ │ │ │ │ - vldr d13, [r3] │ │ │ │ │ - add r3, r7 │ │ │ │ │ + mov.w r7, r4, lsl #3 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + mov.w sl, sl, lsl #3 │ │ │ │ │ + add.w r3, r1, r7 │ │ │ │ │ + add.w fp, r5, r5, lsl #1 │ │ │ │ │ + vldr d12, [pc, #960] @ 438 │ │ │ │ │ add.w r9, r0, sl │ │ │ │ │ - vldr d11, [pc, #932] @ 410 │ │ │ │ │ - vldr d10, [r3] │ │ │ │ │ + vldr d13, [r3] │ │ │ │ │ add r3, r7 │ │ │ │ │ vldr d5, [r9] │ │ │ │ │ add.w r9, r0, r7 │ │ │ │ │ - mov.w r7, r5, lsl #3 │ │ │ │ │ vldr d9, [r9] │ │ │ │ │ add r9, sl │ │ │ │ │ + vldr d10, [r3] │ │ │ │ │ + add r3, r7 │ │ │ │ │ + mov.w r7, r5, lsl #3 │ │ │ │ │ + eor.w r5, r5, r8 │ │ │ │ │ + vldr d1, [r9] │ │ │ │ │ vsub.f64 d3, d13, d5 │ │ │ │ │ vadd.f64 d13, d5, d13 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - add.w r3, r2, r7 │ │ │ │ │ - vldr d1, [r9] │ │ │ │ │ add.w r9, r0, r4, lsl #4 │ │ │ │ │ add.w r0, r0, #8 │ │ │ │ │ eor.w r4, r4, r8 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ + add.w r3, r2, r7 │ │ │ │ │ + vldr d0, [r9] │ │ │ │ │ + mov.w r9, r6, lsl #3 │ │ │ │ │ vsub.f64 d4, d10, d1 │ │ │ │ │ vadd.f64 d10, d1, d10 │ │ │ │ │ vldmia r1!, {d1} │ │ │ │ │ - vldr d0, [r9] │ │ │ │ │ - mov.w r9, r6, lsl #3 │ │ │ │ │ add.w sl, ip, r9 │ │ │ │ │ + vldr d11, [pc, #872] @ 440 │ │ │ │ │ vadd.f64 d8, d5, d1 │ │ │ │ │ vsub.f64 d2, d9, d4 │ │ │ │ │ vmla.f64 d9, d4, d6 │ │ │ │ │ vsub.f64 d5, d1, d5 │ │ │ │ │ vsub.f64 d4, d0, d8 │ │ │ │ │ vmla.f64 d0, d8, d6 │ │ │ │ │ - vldr d8, [pc, #832] @ 418 │ │ │ │ │ + vldr d8, [pc, #852] @ 448 │ │ │ │ │ vsub.f64 d1, d4, d2 │ │ │ │ │ vadd.f64 d4, d4, d2 │ │ │ │ │ vmul.f64 d1, d1, d14 │ │ │ │ │ vstr d1, [sl] │ │ │ │ │ vsub.f64 d1, d7, d3 │ │ │ │ │ vmla.f64 d7, d3, d6 │ │ │ │ │ - vldr d3, [pc, #812] @ 420 │ │ │ │ │ + vldr d3, [pc, #832] @ 450 │ │ │ │ │ add.w sl, sl, r6, lsl #4 │ │ │ │ │ eor.w r6, r6, r8 │ │ │ │ │ vmov.f64 d2, d1 │ │ │ │ │ vmls.f64 d2, d4, d6 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ - mla r3, fp, r5, r3 │ │ │ │ │ - vldr d2, [pc, #788] @ 428 │ │ │ │ │ - eor.w r5, r5, r8 │ │ │ │ │ + add.w r3, r3, fp, lsl #3 │ │ │ │ │ + vldr d2, [pc, #808] @ 458 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ sub.w r3, r3, r7 │ │ │ │ │ - vldr d4, [pc, #780] @ 430 │ │ │ │ │ + vldr d4, [pc, #804] @ 460 │ │ │ │ │ vmul.f64 d1, d5, d4 │ │ │ │ │ - vldr d4, [pc, #780] @ 438 │ │ │ │ │ + vldr d4, [pc, #804] @ 468 │ │ │ │ │ vmla.f64 d1, d0, d4 │ │ │ │ │ - vldr d4, [pc, #780] @ 440 │ │ │ │ │ + vldr d4, [pc, #804] @ 470 │ │ │ │ │ vmul.f64 d4, d5, d4 │ │ │ │ │ vnmls.f64 d4, d0, d3 │ │ │ │ │ vmul.f64 d3, d9, d15 │ │ │ │ │ vnmls.f64 d3, d10, d8 │ │ │ │ │ vstr d3, [sp, #8] │ │ │ │ │ vmul.f64 d3, d9, d12 │ │ │ │ │ vmla.f64 d3, d10, d11 │ │ │ │ │ - vldr d11, [pc, #756] @ 448 │ │ │ │ │ + vldr d11, [pc, #780] @ 478 │ │ │ │ │ vmul.f64 d11, d10, d11 │ │ │ │ │ - vnmls.f64 d11, d9, d2 │ │ │ │ │ - vldr d2, [pc, #688] @ 410 │ │ │ │ │ vstr d3, [sp] │ │ │ │ │ + vnmls.f64 d11, d9, d2 │ │ │ │ │ + vldr d2, [pc, #708] @ 440 │ │ │ │ │ vmul.f64 d2, d5, d2 │ │ │ │ │ vmla.f64 d2, d0, d12 │ │ │ │ │ vmul.f64 d12, d0, d15 │ │ │ │ │ - vldr d0, [pc, #732] @ 450 │ │ │ │ │ + vldr d0, [pc, #756] @ 480 │ │ │ │ │ vnmls.f64 d12, d5, d8 │ │ │ │ │ - vldr d5, [pc, #732] @ 458 │ │ │ │ │ - vmul.f64 d5, d9, d5 │ │ │ │ │ - vmla.f64 d5, d10, d0 │ │ │ │ │ + vldr d5, [pc, #756] @ 488 │ │ │ │ │ vadd.f64 d3, d2, d11 │ │ │ │ │ vsub.f64 d11, d11, d2 │ │ │ │ │ + vmul.f64 d5, d9, d5 │ │ │ │ │ vmov.f64 d2, d7 │ │ │ │ │ + vmla.f64 d5, d10, d0 │ │ │ │ │ vsub.f64 d11, d11, d13 │ │ │ │ │ vsub.f64 d0, d12, d5 │ │ │ │ │ vadd.f64 d5, d5, d12 │ │ │ │ │ vmov.f64 d8, d0 │ │ │ │ │ vmul.f64 d0, d0, d6 │ │ │ │ │ - vmls.f64 d8, d13, d14 │ │ │ │ │ vmla.f64 d2, d5, d14 │ │ │ │ │ + vmls.f64 d8, d13, d14 │ │ │ │ │ vnmls.f64 d0, d11, d14 │ │ │ │ │ vmls.f64 d2, d3, d6 │ │ │ │ │ vstmia ip!, {d8} │ │ │ │ │ vadd.f64 d8, d3, d7 │ │ │ │ │ vstmia r2!, {d8} │ │ │ │ │ vstr d0, [sl] │ │ │ │ │ sub.w sl, sl, r9 │ │ │ │ │ @@ -130,153 +135,158 @@ │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ sub.w r3, r3, r7 │ │ │ │ │ vldr d2, [sp, #8] │ │ │ │ │ vadd.f64 d3, d0, d1 │ │ │ │ │ vsub.f64 d1, d1, d0 │ │ │ │ │ vsub.f64 d5, d4, d2 │ │ │ │ │ vadd.f64 d4, d2, d4 │ │ │ │ │ - vmla.f64 d7, d1, d6 │ │ │ │ │ vsub.f64 d3, d13, d3 │ │ │ │ │ + vmla.f64 d7, d1, d6 │ │ │ │ │ vmul.f64 d5, d5, d6 │ │ │ │ │ - vmla.f64 d5, d3, d14 │ │ │ │ │ vmla.f64 d7, d4, d14 │ │ │ │ │ + vmla.f64 d5, d3, d14 │ │ │ │ │ vstr d5, [sl] │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - bne.w 44 │ │ │ │ │ + bne.w 54 │ │ │ │ │ add sp, #28 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - vldr d14, [pc, #480] @ 3f8 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ - vldr d15, [pc, #484] @ 400 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + vldr d14, [pc, #484] @ 428 │ │ │ │ │ + vldr d15, [pc, #512] @ 448 │ │ │ │ │ str r3, [sp, #8] │ │ │ │ │ - lsls r3, r7, #3 │ │ │ │ │ + mov.w r3, r7, lsl #3 │ │ │ │ │ str r3, [sp, #20] │ │ │ │ │ - mov.w r9, #24 │ │ │ │ │ - lsls r7, r4, #3 │ │ │ │ │ - adds r3, r1, r7 │ │ │ │ │ + add.w sl, r4, r4, lsl #1 │ │ │ │ │ vmov.f64 d9, #96 @ 0x3f000000 0.5 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ + mov.w r7, r4, lsl #3 │ │ │ │ │ subs.w lr, lr, #1 │ │ │ │ │ - mul.w fp, r9, r4 │ │ │ │ │ - vldr d11, [pc, #464] @ 410 │ │ │ │ │ + mov.w sl, sl, lsl #3 │ │ │ │ │ + vldr d11, [pc, #452] @ 430 │ │ │ │ │ + add.w r3, r1, r7 │ │ │ │ │ + add.w r9, r0, sl │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ add r3, r7 │ │ │ │ │ - add.w sl, r0, fp │ │ │ │ │ + vldr d12, [r9] │ │ │ │ │ + add.w r9, r0, r7 │ │ │ │ │ + vldr d10, [r9] │ │ │ │ │ + add r9, sl │ │ │ │ │ + mov.w sl, r6, lsl #3 │ │ │ │ │ + vldr d1, [r9] │ │ │ │ │ + add.w r9, r0, r4, lsl #4 │ │ │ │ │ + eor.w r4, r4, r8 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ add r3, r7 │ │ │ │ │ - vldr d12, [sl] │ │ │ │ │ - add.w sl, r0, r7 │ │ │ │ │ - vldr d10, [sl] │ │ │ │ │ - add sl, fp │ │ │ │ │ vsub.f64 d3, d5, d12 │ │ │ │ │ vadd.f64 d12, d5, d12 │ │ │ │ │ + add.w r7, ip, sl │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - mov.w fp, r6, lsl #3 │ │ │ │ │ - vldr d1, [sl] │ │ │ │ │ - add.w sl, r0, r4, lsl #4 │ │ │ │ │ - add.w r7, ip, fp │ │ │ │ │ - eor.w r4, r4, r8 │ │ │ │ │ + add.w r3, r5, r5, lsl #1 │ │ │ │ │ + vldr d0, [r9] │ │ │ │ │ + mov.w r9, r5, lsl #3 │ │ │ │ │ + eor.w r5, r5, r8 │ │ │ │ │ vsub.f64 d2, d6, d1 │ │ │ │ │ vadd.f64 d6, d6, d1 │ │ │ │ │ vldr d1, [r1] │ │ │ │ │ - vldr d0, [sl] │ │ │ │ │ - mov.w sl, r5, lsl #3 │ │ │ │ │ - add.w r3, r2, sl │ │ │ │ │ + add.w fp, r2, r9 │ │ │ │ │ + add.w r3, fp, r3, lsl #3 │ │ │ │ │ vadd.f64 d8, d1, d5 │ │ │ │ │ vsub.f64 d4, d10, d2 │ │ │ │ │ vmla.f64 d10, d2, d9 │ │ │ │ │ vsub.f64 d5, d1, d5 │ │ │ │ │ - vmul.f64 d13, d6, d11 │ │ │ │ │ vsub.f64 d2, d0, d8 │ │ │ │ │ vmla.f64 d0, d8, d9 │ │ │ │ │ vsub.f64 d1, d2, d4 │ │ │ │ │ vadd.f64 d4, d4, d2 │ │ │ │ │ vmul.f64 d1, d1, d14 │ │ │ │ │ vstr d1, [r7] │ │ │ │ │ vsub.f64 d1, d7, d3 │ │ │ │ │ vmla.f64 d7, d3, d9 │ │ │ │ │ - vldr d3, [pc, #340] @ 420 │ │ │ │ │ + vldr d3, [pc, #328] @ 450 │ │ │ │ │ add.w r7, r7, r6, lsl #4 │ │ │ │ │ eor.w r6, r6, r8 │ │ │ │ │ vmov.f64 d2, d1 │ │ │ │ │ vadd.f64 d1, d1, d4 │ │ │ │ │ vmls.f64 d2, d4, d9 │ │ │ │ │ - vldr d4, [pc, #340] @ 438 │ │ │ │ │ + vldr d4, [pc, #328] @ 468 │ │ │ │ │ vmul.f64 d8, d0, d4 │ │ │ │ │ - vldr d4, [pc, #324] @ 430 │ │ │ │ │ + vldr d4, [pc, #312] @ 460 │ │ │ │ │ + vstr d2, [fp] │ │ │ │ │ + vldr d2, [pc, #272] @ 440 │ │ │ │ │ vmla.f64 d8, d5, d4 │ │ │ │ │ - vldr d4, [pc, #332] @ 440 │ │ │ │ │ - vstr d2, [r3] │ │ │ │ │ - mla r3, r9, r5, r3 │ │ │ │ │ - vmul.f64 d4, d5, d4 │ │ │ │ │ - vldr d2, [pc, #276] @ 418 │ │ │ │ │ - eor.w r5, r5, r8 │ │ │ │ │ vstr d1, [r3] │ │ │ │ │ - sub.w r3, r3, sl │ │ │ │ │ + sub.w r3, r3, r9 │ │ │ │ │ + vldr d4, [pc, #304] @ 470 │ │ │ │ │ + vldr d1, [pc, #244] @ 438 │ │ │ │ │ + vmul.f64 d13, d6, d2 │ │ │ │ │ + vmul.f64 d4, d5, d4 │ │ │ │ │ + vmla.f64 d13, d10, d1 │ │ │ │ │ + vldr d1, [pc, #292] @ 478 │ │ │ │ │ vnmls.f64 d4, d0, d3 │ │ │ │ │ - vmul.f64 d3, d10, d15 │ │ │ │ │ - vldr d1, [pc, #300] @ 448 │ │ │ │ │ - vnmls.f64 d3, d6, d2 │ │ │ │ │ + vmul.f64 d3, d10, d11 │ │ │ │ │ + vmul.f64 d11, d0, d11 │ │ │ │ │ vmul.f64 d1, d6, d1 │ │ │ │ │ - vldr d2, [pc, #224] @ 408 │ │ │ │ │ - vmla.f64 d13, d10, d2 │ │ │ │ │ + vnmls.f64 d3, d6, d15 │ │ │ │ │ + vnmls.f64 d11, d5, d15 │ │ │ │ │ vstr d3, [sp] │ │ │ │ │ - vldr d3, [pc, #244] @ 428 │ │ │ │ │ + vldr d3, [pc, #228] @ 458 │ │ │ │ │ vnmls.f64 d1, d10, d3 │ │ │ │ │ - vmul.f64 d3, d0, d2 │ │ │ │ │ - vmla.f64 d3, d5, d11 │ │ │ │ │ - vmul.f64 d11, d0, d15 │ │ │ │ │ - vldr d0, [pc, #208] @ 418 │ │ │ │ │ - vnmls.f64 d11, d5, d0 │ │ │ │ │ - vldr d5, [pc, #256] @ 450 │ │ │ │ │ + vldr d3, [pc, #188] @ 438 │ │ │ │ │ + vmul.f64 d3, d0, d3 │ │ │ │ │ + vmla.f64 d3, d5, d2 │ │ │ │ │ + vldr d5, [pc, #248] @ 480 │ │ │ │ │ vmul.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [pc, #256] @ 458 │ │ │ │ │ + vldr d5, [pc, #248] @ 488 │ │ │ │ │ vadd.f64 d2, d1, d3 │ │ │ │ │ vsub.f64 d1, d1, d3 │ │ │ │ │ vldr d3, [sp] │ │ │ │ │ vmla.f64 d6, d10, d5 │ │ │ │ │ vsub.f64 d1, d1, d12 │ │ │ │ │ vsub.f64 d5, d11, d6 │ │ │ │ │ vadd.f64 d11, d11, d6 │ │ │ │ │ vmov.f64 d6, d7 │ │ │ │ │ vmov.f64 d0, d5 │ │ │ │ │ vmul.f64 d5, d5, d9 │ │ │ │ │ - vmls.f64 d0, d12, d14 │ │ │ │ │ vmla.f64 d6, d11, d14 │ │ │ │ │ + vmls.f64 d0, d12, d14 │ │ │ │ │ vnmls.f64 d5, d1, d14 │ │ │ │ │ vmls.f64 d6, d2, d9 │ │ │ │ │ vstr d0, [ip] │ │ │ │ │ vadd.f64 d0, d7, d2 │ │ │ │ │ vstr d0, [r2] │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ vadd.f64 d5, d8, d13 │ │ │ │ │ vsub.f64 d8, d8, d13 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ vsub.f64 d6, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ - sub.w r3, r3, sl │ │ │ │ │ - sub.w r7, r7, fp │ │ │ │ │ + sub.w r3, r3, r9 │ │ │ │ │ + sub.w r7, r7, sl │ │ │ │ │ vsub.f64 d5, d12, d5 │ │ │ │ │ vmla.f64 d7, d8, d9 │ │ │ │ │ vmul.f64 d6, d6, d9 │ │ │ │ │ - vmla.f64 d6, d5, d14 │ │ │ │ │ vmla.f64 d7, d4, d14 │ │ │ │ │ + vmla.f64 d6, d5, d14 │ │ │ │ │ vstr d6, [r7] │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ ldr r3, [sp, #8] │ │ │ │ │ add r0, r3 │ │ │ │ │ add r1, r3 │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ add r2, r3 │ │ │ │ │ add ip, r3 │ │ │ │ │ - bne.w 224 │ │ │ │ │ - add sp, #28 │ │ │ │ │ - vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + bne.w 252 │ │ │ │ │ + b.n 222 │ │ │ │ │ + nop │ │ │ │ │ nop.w │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3febb67a │ │ │ │ │ .word 0x8c811c17 │ │ │ │ │ .word 0x3fef838b │ │ │ │ │ .word 0x7e0b738a │ │ │ │ │ .word 0x3fc63a1a │ │ │ │ │ @@ -296,23 +306,23 @@ │ │ │ │ │ .word 0x3fea0aa1 │ │ │ │ │ .word 0x70ea84ff │ │ │ │ │ .word 0x3fe1d03e │ │ │ │ │ .word 0xe3631109 │ │ │ │ │ .word 0x3fe53aaf │ │ │ │ │ .word 0x523c161d │ │ │ │ │ .word 0x3fe491b7 │ │ │ │ │ - .word 0x0000044e │ │ │ │ │ + .word 0x00000466 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ │ │ │ │ │ -00000468 : │ │ │ │ │ +00000498 : │ │ │ │ │ fftw_codelet_r2cfII_9(): │ │ │ │ │ - ldr r2, [pc, #8] @ (474 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (478 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (4a4 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (4a8 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cf_10.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1608 (bytes into file) │ │ │ │ │ + Start of section headers: 1664 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x648: │ │ │ │ │ +There are 13 section headers, starting at offset 0x680: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00037c 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0005a0 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0003b0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0003b0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0003b0 000008 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 0003b8 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 0005c8 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 0003e8 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0003e8 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 00041c 000100 10 11 11 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 00051c 000081 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 0005d8 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0003b4 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0005d8 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0003e8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0003e8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0003e8 000008 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0003f0 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000600 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 000420 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000420 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 000454 000100 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 000554 000081 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000610 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 16 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 872 FUNC LOCAL DEFAULT 1 r2cf_10 │ │ │ │ │ + 1: 00000001 928 FUNC LOCAL DEFAULT 1 r2cf_10 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000348 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000368 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000374 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000380 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 000003a0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000003ac 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 13: 00000369 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_10 │ │ │ │ │ + 13: 000003a1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_10 │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x5a0 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x5d8 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000360 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000364 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000374 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000378 00000103 R_ARM_REL32 00000001 r2cf_10 │ │ │ │ │ -00000370 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +00000398 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000039c 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +000003ac 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000003b0 00000103 R_ARM_REL32 00000001 r2cf_10 │ │ │ │ │ +000003a8 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x5c8 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x600 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000f02 R_ARM_ABS32 00000000 fftw_rdft_r2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,229 +1,237 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cf_10(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r8, r3 │ │ │ │ │ - ldr.w ip, [pc, #856] @ 360 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #12 │ │ │ │ │ - add ip, pc │ │ │ │ │ - ldr r3, [sp, #124] @ 0x7c │ │ │ │ │ + ldr.w ip, [pc, #888] @ 398 │ │ │ │ │ + ldrd r6, r3, [sp, #120] @ 0x78 │ │ │ │ │ ldrd r4, r5, [sp, #112] @ 0x70 │ │ │ │ │ - cmp r3, #0 │ │ │ │ │ - ldr r6, [sp, #120] @ 0x78 │ │ │ │ │ + add ip, pc │ │ │ │ │ ldr r7, [sp, #132] @ 0x84 │ │ │ │ │ - ble.w 1ae │ │ │ │ │ - ldr.w lr, [pc, #832] @ 364 │ │ │ │ │ + cmp r3, #0 │ │ │ │ │ + ble.w 1cc │ │ │ │ │ + ldr.w lr, [pc, #872] @ 39c │ │ │ │ │ ldr.w r3, [ip, lr] │ │ │ │ │ - ldr.w fp, [r3] │ │ │ │ │ + ldr.w r9, [r3] │ │ │ │ │ ldr r3, [sp, #128] @ 0x80 │ │ │ │ │ cmp r3, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r7, #1 │ │ │ │ │ - bne.w 1b8 │ │ │ │ │ - vldr d14, [pc, #780] @ 348 │ │ │ │ │ - vldr d15, [pc, #784] @ 350 │ │ │ │ │ - lsls r7, r4, #4 │ │ │ │ │ + bne.w 1e8 │ │ │ │ │ + vldr d14, [pc, #820] @ 380 │ │ │ │ │ + vldr d15, [pc, #824] @ 388 │ │ │ │ │ + mov.w r7, r4, lsl #4 │ │ │ │ │ vldr d13, [r0] │ │ │ │ │ - adds r3, r1, r7 │ │ │ │ │ + mov.w fp, r6, lsl #3 │ │ │ │ │ + add.w r3, r1, r7 │ │ │ │ │ add.w ip, r0, r7 │ │ │ │ │ - mov.w sl, r6, lsl #3 │ │ │ │ │ - mov.w r9, r6, lsl #4 │ │ │ │ │ + mov.w sl, r6, lsl #4 │ │ │ │ │ mov.w lr, r5, lsl #3 │ │ │ │ │ - eor.w r6, r6, fp │ │ │ │ │ + eor.w r6, r6, r9 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ add r3, r7 │ │ │ │ │ vldr d9, [ip] │ │ │ │ │ vsub.f64 d2, d13, d6 │ │ │ │ │ vadd.f64 d13, d6, d13 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - movs r3, #24 │ │ │ │ │ - mul.w r7, r3, r4 │ │ │ │ │ + add.w r3, r4, r4, lsl #1 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + add.w r7, r0, r3 │ │ │ │ │ + add r3, r1 │ │ │ │ │ vsub.f64 d8, d9, d6 │ │ │ │ │ vadd.f64 d9, d6, d9 │ │ │ │ │ vldr d6, [r1] │ │ │ │ │ - adds r3, r0, r7 │ │ │ │ │ + vldr d10, [r7] │ │ │ │ │ + mov.w r7, r4, lsl #3 │ │ │ │ │ + add.w ip, r0, r7 │ │ │ │ │ add r7, r1 │ │ │ │ │ - vldr d10, [r3] │ │ │ │ │ - lsls r3, r4, #3 │ │ │ │ │ - add.w ip, r0, r3 │ │ │ │ │ - add r3, r1 │ │ │ │ │ - adds r1, #8 │ │ │ │ │ - vsub.f64 d3, d10, d6 │ │ │ │ │ - vadd.f64 d10, d6, d10 │ │ │ │ │ + add.w r1, r1, #8 │ │ │ │ │ vldr d11, [ip] │ │ │ │ │ mov.w ip, r5, lsl #4 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - add.w r7, r0, r4, lsl #5 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - add.w r3, r2, lr │ │ │ │ │ - vadd.f64 d1, d3, d8 │ │ │ │ │ - vsub.f64 d3, d3, d8 │ │ │ │ │ + vsub.f64 d3, d10, d6 │ │ │ │ │ + vadd.f64 d10, d6, d10 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + add.w r3, r0, r4, lsl #5 │ │ │ │ │ + add.w r0, r0, #8 │ │ │ │ │ + eor.w r4, r4, r9 │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + add.w r7, r8, fp │ │ │ │ │ + add.w r8, r8, #8 │ │ │ │ │ vsub.f64 d0, d11, d6 │ │ │ │ │ vadd.f64 d11, d6, d11 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - add.w r7, r8, sl │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + vadd.f64 d1, d3, d8 │ │ │ │ │ + vsub.f64 d3, d3, d8 │ │ │ │ │ + add.w r3, r2, lr │ │ │ │ │ vmov.f64 d8, #80 @ 0x3e800000 0.250 │ │ │ │ │ vadd.f64 d12, d10, d9 │ │ │ │ │ vsub.f64 d9, d9, d10 │ │ │ │ │ - adds r0, #8 │ │ │ │ │ vsub.f64 d7, d6, d4 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ - add.w r8, r8, #8 │ │ │ │ │ - eor.w r4, r4, fp │ │ │ │ │ vadd.f64 d5, d7, d0 │ │ │ │ │ vsub.f64 d7, d0, d7 │ │ │ │ │ vadd.f64 d6, d4, d11 │ │ │ │ │ vsub.f64 d11, d11, d4 │ │ │ │ │ vmul.f64 d0, d7, d15 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ - vmla.f64 d7, d3, d15 │ │ │ │ │ vnmls.f64 d0, d3, d14 │ │ │ │ │ + vmla.f64 d7, d3, d15 │ │ │ │ │ vmov.f64 d3, d2 │ │ │ │ │ vstr d0, [r7] │ │ │ │ │ - add r7, r9 │ │ │ │ │ - vldr d0, [pc, #572] @ 358 │ │ │ │ │ + add r7, sl │ │ │ │ │ + vldr d0, [pc, #600] @ 390 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ vsub.f64 d7, d5, d1 │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ - sub.w r7, r7, sl │ │ │ │ │ - vmul.f64 d7, d7, d0 │ │ │ │ │ + sub.w r7, r7, fp │ │ │ │ │ vmls.f64 d3, d5, d8 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ vadd.f64 d5, d5, d2 │ │ │ │ │ vadd.f64 d1, d3, d7 │ │ │ │ │ vsub.f64 d3, d3, d7 │ │ │ │ │ vmov.f64 d7, d13 │ │ │ │ │ vstr d1, [r3] │ │ │ │ │ add.w r3, r3, r5, lsl #5 │ │ │ │ │ - eor.w r5, r5, fp │ │ │ │ │ + eor.w r5, r5, r9 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ vmul.f64 d5, d11, d14 │ │ │ │ │ sub.w r3, r3, ip │ │ │ │ │ vmul.f64 d11, d11, d15 │ │ │ │ │ - vmla.f64 d11, d9, d14 │ │ │ │ │ - vnmls.f64 d5, d9, d15 │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ sub.w r3, r3, lr │ │ │ │ │ + vnmls.f64 d5, d9, d15 │ │ │ │ │ + vmla.f64 d11, d9, d14 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ vsub.f64 d5, d6, d12 │ │ │ │ │ vadd.f64 d6, d6, d12 │ │ │ │ │ - add r7, r9 │ │ │ │ │ - vmul.f64 d5, d5, d0 │ │ │ │ │ + add r7, sl │ │ │ │ │ vstr d11, [r7] │ │ │ │ │ vmls.f64 d7, d6, d8 │ │ │ │ │ + vmul.f64 d5, d5, d0 │ │ │ │ │ vadd.f64 d6, d6, d13 │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ add r3, ip │ │ │ │ │ vstmia r2!, {d6} │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ ldr r3, [sp, #124] @ 0x7c │ │ │ │ │ subs r3, #1 │ │ │ │ │ str r3, [sp, #124] @ 0x7c │ │ │ │ │ - bne.w 42 │ │ │ │ │ + bne.w 52 │ │ │ │ │ add sp, #12 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - vldr d14, [pc, #396] @ 348 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ - vldr d15, [pc, #400] @ 350 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + vldr d14, [pc, #400] @ 380 │ │ │ │ │ + vldr d15, [pc, #404] @ 388 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - lsls r3, r7, #3 │ │ │ │ │ + mov.w r3, r7, lsl #3 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ - lsls r7, r4, #4 │ │ │ │ │ + mov.w r7, r4, lsl #4 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ - adds r3, r1, r7 │ │ │ │ │ + mov.w fp, r6, lsl #3 │ │ │ │ │ + add.w r3, r1, r7 │ │ │ │ │ add.w ip, r0, r7 │ │ │ │ │ vldr d10, [r1] │ │ │ │ │ - mov.w sl, r6, lsl #3 │ │ │ │ │ - mov.w r9, r6, lsl #4 │ │ │ │ │ - mov.w lr, r5, lsl #3 │ │ │ │ │ + mov.w sl, r6, lsl #4 │ │ │ │ │ + eor.w r6, r6, r9 │ │ │ │ │ vldr d13, [r3] │ │ │ │ │ add r3, r7 │ │ │ │ │ - eor.w r6, r6, fp │ │ │ │ │ + mov.w lr, r5, lsl #3 │ │ │ │ │ vldr d9, [r3] │ │ │ │ │ - movs r3, #24 │ │ │ │ │ + add.w r3, r4, r4, lsl #1 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ vsub.f64 d3, d6, d13 │ │ │ │ │ vadd.f64 d13, d6, d13 │ │ │ │ │ vldr d6, [ip] │ │ │ │ │ - mul.w r7, r3, r4 │ │ │ │ │ - adds r3, r0, r7 │ │ │ │ │ - add r7, r1 │ │ │ │ │ + add.w r7, r0, r3 │ │ │ │ │ + add r3, r1 │ │ │ │ │ + vldr d11, [r3] │ │ │ │ │ + add.w r3, r0, r4, lsl #5 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + mov.w r7, r4, lsl #3 │ │ │ │ │ + eor.w r4, r4, r9 │ │ │ │ │ vsub.f64 d8, d6, d9 │ │ │ │ │ vadd.f64 d9, d6, d9 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - lsls r3, r4, #3 │ │ │ │ │ - vldr d11, [r7] │ │ │ │ │ - add.w ip, r0, r3 │ │ │ │ │ - add.w r7, r0, r4, lsl #5 │ │ │ │ │ - add r3, r1 │ │ │ │ │ - vsub.f64 d7, d5, d10 │ │ │ │ │ - vadd.f64 d10, d5, d10 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + add.w ip, r0, r7 │ │ │ │ │ + add.w r3, r1, r7 │ │ │ │ │ + add.w r7, r8, fp │ │ │ │ │ vldr d4, [ip] │ │ │ │ │ mov.w ip, r5, lsl #4 │ │ │ │ │ vldr d2, [r3] │ │ │ │ │ + vsub.f64 d7, d5, d10 │ │ │ │ │ + vadd.f64 d10, d5, d10 │ │ │ │ │ add.w r3, r2, lr │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - add.w r7, r8, sl │ │ │ │ │ vsub.f64 d0, d4, d11 │ │ │ │ │ vadd.f64 d11, d4, d11 │ │ │ │ │ + vsub.f64 d4, d6, d2 │ │ │ │ │ vadd.f64 d5, d8, d7 │ │ │ │ │ vsub.f64 d7, d7, d8 │ │ │ │ │ - vsub.f64 d4, d6, d2 │ │ │ │ │ vmov.f64 d8, #80 @ 0x3e800000 0.250 │ │ │ │ │ vadd.f64 d6, d6, d2 │ │ │ │ │ vadd.f64 d12, d9, d10 │ │ │ │ │ vsub.f64 d9, d9, d10 │ │ │ │ │ - eor.w r4, r4, fp │ │ │ │ │ vadd.f64 d1, d0, d4 │ │ │ │ │ vsub.f64 d4, d0, d4 │ │ │ │ │ vadd.f64 d2, d11, d6 │ │ │ │ │ vsub.f64 d11, d11, d6 │ │ │ │ │ vmov.f64 d6, d13 │ │ │ │ │ vmul.f64 d0, d4, d15 │ │ │ │ │ vnmls.f64 d0, d7, d14 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ vmla.f64 d7, d4, d14 │ │ │ │ │ vmov.f64 d4, d3 │ │ │ │ │ vstr d0, [r7] │ │ │ │ │ - add r7, r9 │ │ │ │ │ - vldr d0, [pc, #188] @ 358 │ │ │ │ │ + add r7, sl │ │ │ │ │ + vldr d0, [pc, #180] @ 390 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ vsub.f64 d7, d1, d5 │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ - sub.w r7, r7, sl │ │ │ │ │ - vmul.f64 d7, d7, d0 │ │ │ │ │ + sub.w r7, r7, fp │ │ │ │ │ vmls.f64 d4, d5, d8 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ vadd.f64 d3, d3, d5 │ │ │ │ │ vadd.f64 d1, d7, d4 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ vmul.f64 d7, d11, d14 │ │ │ │ │ + vnmls.f64 d7, d9, d15 │ │ │ │ │ vstr d1, [r3] │ │ │ │ │ add.w r3, r3, r5, lsl #5 │ │ │ │ │ - vnmls.f64 d7, d9, d15 │ │ │ │ │ vmul.f64 d9, d9, d14 │ │ │ │ │ - vmla.f64 d9, d11, d15 │ │ │ │ │ - eor.w r5, r5, fp │ │ │ │ │ + eor.w r5, r5, r9 │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ sub.w r3, r3, ip │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ sub.w r3, r3, lr │ │ │ │ │ + vmla.f64 d9, d11, d15 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ vsub.f64 d7, d2, d12 │ │ │ │ │ vadd.f64 d12, d12, d2 │ │ │ │ │ - add r7, r9 │ │ │ │ │ + add r7, sl │ │ │ │ │ + vmls.f64 d6, d12, d8 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ vstr d9, [r7] │ │ │ │ │ - vmls.f64 d6, d12, d8 │ │ │ │ │ vadd.f64 d13, d13, d12 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ add r3, ip │ │ │ │ │ vstr d13, [r2] │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ @@ -232,35 +240,33 @@ │ │ │ │ │ add r1, r3 │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ add r2, r3 │ │ │ │ │ add r8, r3 │ │ │ │ │ ldr r3, [sp, #124] @ 0x7c │ │ │ │ │ subs r3, #1 │ │ │ │ │ str r3, [sp, #124] @ 0x7c │ │ │ │ │ - bne.w 1c8 │ │ │ │ │ - add sp, #12 │ │ │ │ │ - vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + bne.w 1fc │ │ │ │ │ + b.n 1cc │ │ │ │ │ nop │ │ │ │ │ nop.w │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ - .word 0x0000034c │ │ │ │ │ + .word 0x0000036c │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ │ │ │ │ │ -00000368 : │ │ │ │ │ +000003a0 : │ │ │ │ │ fftw_codelet_r2cf_10(): │ │ │ │ │ - ldr r2, [pc, #8] @ (374 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (378 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (3ac ) │ │ │ │ │ + ldr r1, [pc, #12] @ (3b0 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cf_11.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2360 (bytes into file) │ │ │ │ │ + Start of section headers: 2392 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x938: │ │ │ │ │ +There are 13 section headers, starting at offset 0x958: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00064c 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000890 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000680 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000680 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000680 000008 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 000688 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 0008b8 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 0006b8 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0006b8 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 0006ec 000120 10 11 13 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 00080c 000081 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 0008c8 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00066c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0008b0 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0006a0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0006a0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0006a0 000008 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0006a8 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 0008d8 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 0006d8 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0006d8 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 00070c 000120 10 11 13 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 00082c 000081 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 0008e8 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,21 +1,21 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 18 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1592 FUNC LOCAL DEFAULT 1 r2cf_11 │ │ │ │ │ + 1: 00000001 1624 FUNC LOCAL DEFAULT 1 r2cf_11 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000002d0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000328 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000005e8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000638 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00000644 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000308 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000360 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000608 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000658 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00000664 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 15: 00000639 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_11 │ │ │ │ │ + 15: 00000659 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_11 │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x890 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x8b0 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000320 00000d19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000324 00000e1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000644 00000a03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000648 00000103 R_ARM_REL32 00000001 r2cf_11 │ │ │ │ │ -00000640 0000101e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +00000358 00000d19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000035c 00000e1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000664 00000a03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000668 00000103 R_ARM_REL32 00000001 r2cf_11 │ │ │ │ │ +00000660 0000101e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x8b8 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x8d8 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00001102 R_ARM_ABS32 00000000 fftw_rdft_r2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,156 +1,161 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cf_11(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - ldr.w r8, [pc, #792] @ 320 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub sp, #20 │ │ │ │ │ + sub sp, #28 │ │ │ │ │ + ldr.w r8, [pc, #828] @ 358 │ │ │ │ │ + ldrd r6, lr, [sp, #136] @ 0x88 │ │ │ │ │ + ldrd r4, r5, [sp, #128] @ 0x80 │ │ │ │ │ add r8, pc │ │ │ │ │ - ldrd r6, lr, [sp, #128] @ 0x80 │ │ │ │ │ - ldrd r4, r5, [sp, #120] @ 0x78 │ │ │ │ │ + ldr r7, [sp, #148] @ 0x94 │ │ │ │ │ cmp.w lr, #0 │ │ │ │ │ - ldr r7, [sp, #140] @ 0x8c │ │ │ │ │ - ble.w 2c6 │ │ │ │ │ - ldr.w r9, [pc, #768] @ 324 │ │ │ │ │ + ble.w 2e6 │ │ │ │ │ + ldr.w r9, [pc, #808] @ 35c │ │ │ │ │ mov ip, r3 │ │ │ │ │ ldr.w r3, [r8, r9] │ │ │ │ │ ldr.w r8, [r3] │ │ │ │ │ - ldr r3, [sp, #136] @ 0x88 │ │ │ │ │ + ldr r3, [sp, #144] @ 0x90 │ │ │ │ │ cmp r3, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r7, #1 │ │ │ │ │ - bne.w 328 │ │ │ │ │ - lsls r7, r4, #3 │ │ │ │ │ + bne.w 360 │ │ │ │ │ + mov.w r7, r4, lsl #3 │ │ │ │ │ + vldr d8, [pc, #692] @ 308 │ │ │ │ │ + subs.w lr, lr, #1 │ │ │ │ │ mov.w r9, r4, lsl #5 │ │ │ │ │ - adds r3, r0, r7 │ │ │ │ │ + add.w r3, r0, r7 │ │ │ │ │ + vldr d15, [pc, #684] @ 310 │ │ │ │ │ + add.w fp, r6, r6, lsl #1 │ │ │ │ │ add.w sl, r1, r9 │ │ │ │ │ - vldr d8, [pc, #644] @ 2d0 │ │ │ │ │ - mov.w fp, r6, lsl #5 │ │ │ │ │ - vldr d15, [pc, #644] @ 2d8 │ │ │ │ │ - adds r0, #8 │ │ │ │ │ + add.w r0, r0, #8 │ │ │ │ │ vldr d13, [r3] │ │ │ │ │ add r3, r9 │ │ │ │ │ - vldr d5, [sl] │ │ │ │ │ add.w r9, r1, r7 │ │ │ │ │ - vldr d14, [pc, #632] @ 2e0 │ │ │ │ │ - mov.w sl, r6, lsl #4 │ │ │ │ │ + vldr d5, [sl] │ │ │ │ │ + mov.w sl, r6, lsl #5 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - subs r3, r3, r7 │ │ │ │ │ + sub.w r3, r3, r7 │ │ │ │ │ + vldr d11, [r9] │ │ │ │ │ + add.w r9, r1, r4, lsl #4 │ │ │ │ │ vadd.f64 d2, d5, d13 │ │ │ │ │ vsub.f64 d13, d5, d13 │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ - subs.w lr, lr, #1 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ sub.w r3, r3, r7 │ │ │ │ │ - vldr d11, [r9] │ │ │ │ │ - add.w r9, r1, r4, lsl #4 │ │ │ │ │ + vldr d14, [pc, #624] @ 318 │ │ │ │ │ vadd.f64 d3, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ sub.w r3, r3, r7 │ │ │ │ │ - mov.w r7, #24 │ │ │ │ │ + add.w r7, ip, sl │ │ │ │ │ vadd.f64 d10, d4, d11 │ │ │ │ │ vsub.f64 d11, d4, d11 │ │ │ │ │ vldr d4, [r9] │ │ │ │ │ + mov.w r9, r6, lsl #4 │ │ │ │ │ + add.w ip, ip, #8 │ │ │ │ │ + eor.w r6, r6, r8 │ │ │ │ │ vldr d12, [r3] │ │ │ │ │ - add.w r9, ip, fp │ │ │ │ │ - mla r3, r7, r4, r1 │ │ │ │ │ + add.w r3, r4, r4, lsl #1 │ │ │ │ │ + eor.w r4, r4, r8 │ │ │ │ │ + add.w r3, r1, r3, lsl #3 │ │ │ │ │ vstr d7, [sp] │ │ │ │ │ + add.w r1, r1, #8 │ │ │ │ │ + vldr d7, [pc, #560] @ 320 │ │ │ │ │ vadd.f64 d9, d5, d4 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ - vldr d7, [pc, #540] @ 2e8 │ │ │ │ │ - add.w r1, r1, #8 │ │ │ │ │ - vldr d6, [r0, #-8] │ │ │ │ │ - add.w ip, ip, #8 │ │ │ │ │ vldr d0, [r3] │ │ │ │ │ add.w r3, r2, r5, lsl #5 │ │ │ │ │ + vldr d6, [r0, #-8] │ │ │ │ │ vmul.f64 d4, d5, d7 │ │ │ │ │ - eor.w r4, r4, r8 │ │ │ │ │ vadd.f64 d1, d0, d12 │ │ │ │ │ vsub.f64 d12, d0, d12 │ │ │ │ │ - vldr d0, [pc, #508] @ 2f0 │ │ │ │ │ + vldr d0, [pc, #532] @ 328 │ │ │ │ │ vnmls.f64 d4, d12, d8 │ │ │ │ │ vldr d8, [sp] │ │ │ │ │ vmul.f64 d0, d8, d0 │ │ │ │ │ vmla.f64 d0, d11, d15 │ │ │ │ │ vadd.f64 d4, d4, d0 │ │ │ │ │ - vldr d0, [pc, #492] @ 2f8 │ │ │ │ │ + vldr d0, [pc, #516] @ 330 │ │ │ │ │ vmls.f64 d4, d13, d14 │ │ │ │ │ vmov.f64 d14, d6 │ │ │ │ │ - vstr d4, [r9] │ │ │ │ │ - sub.w r9, r9, sl │ │ │ │ │ - vldr d4, [pc, #480] @ 300 │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ + sub.w r7, r7, r9 │ │ │ │ │ + vldr d4, [pc, #504] @ 338 │ │ │ │ │ vmul.f64 d4, d1, d4 │ │ │ │ │ vnmls.f64 d4, d9, d0 │ │ │ │ │ - vldr d0, [pc, #476] @ 308 │ │ │ │ │ + vldr d0, [pc, #500] @ 340 │ │ │ │ │ vmla.f64 d14, d10, d0 │ │ │ │ │ - vldr d0, [pc, #476] @ 310 │ │ │ │ │ + vldr d0, [pc, #500] @ 348 │ │ │ │ │ vmul.f64 d8, d2, d0 │ │ │ │ │ vadd.f64 d4, d4, d14 │ │ │ │ │ - vldr d14, [pc, #472] @ 318 │ │ │ │ │ + vldr d14, [pc, #496] @ 350 │ │ │ │ │ vmla.f64 d8, d3, d14 │ │ │ │ │ - vldr d14, [pc, #408] @ 2e0 │ │ │ │ │ + vldr d14, [pc, #432] @ 318 │ │ │ │ │ vsub.f64 d4, d4, d8 │ │ │ │ │ - vldr d8, [pc, #416] @ 2f0 │ │ │ │ │ + vldr d8, [pc, #440] @ 328 │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ vldr d4, [sp] │ │ │ │ │ vmul.f64 d4, d4, d7 │ │ │ │ │ vmla.f64 d4, d13, d8 │ │ │ │ │ vmul.f64 d8, d5, d15 │ │ │ │ │ vmla.f64 d8, d12, d14 │ │ │ │ │ vsub.f64 d4, d4, d8 │ │ │ │ │ - vldr d8, [pc, #352] @ 2d0 │ │ │ │ │ + vldr d8, [pc, #376] @ 308 │ │ │ │ │ vmls.f64 d4, d11, d8 │ │ │ │ │ - vstr d4, [r9] │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ vmul.f64 d4, d12, d7 │ │ │ │ │ - mla r9, r7, r6, r9 │ │ │ │ │ - eor.w r6, r6, r8 │ │ │ │ │ + add.w r7, r7, fp, lsl #3 │ │ │ │ │ vnmls.f64 d4, d5, d14 │ │ │ │ │ vldr d14, [sp] │ │ │ │ │ vmul.f64 d8, d14, d8 │ │ │ │ │ - vldr d14, [pc, #348] @ 2f0 │ │ │ │ │ + vldr d14, [pc, #376] @ 328 │ │ │ │ │ vmla.f64 d8, d11, d14 │ │ │ │ │ vadd.f64 d4, d4, d8 │ │ │ │ │ vldr d8, [sp] │ │ │ │ │ vmls.f64 d4, d13, d15 │ │ │ │ │ vmul.f64 d8, d8, d15 │ │ │ │ │ vmla.f64 d8, d13, d7 │ │ │ │ │ - vstr d4, [r9] │ │ │ │ │ - sub.w r9, r9, fp │ │ │ │ │ - vldr d4, [pc, #296] @ 2e0 │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ + sub.w r7, r7, sl │ │ │ │ │ + vldr d4, [pc, #324] @ 318 │ │ │ │ │ vmul.f64 d4, d11, d4 │ │ │ │ │ vmla.f64 d4, d12, d14 │ │ │ │ │ vadd.f64 d4, d4, d8 │ │ │ │ │ - vldr d8, [pc, #264] @ 2d0 │ │ │ │ │ + vldr d8, [pc, #292] @ 308 │ │ │ │ │ vmla.f64 d4, d5, d8 │ │ │ │ │ - vstr d4, [r9] │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ vmul.f64 d4, d11, d7 │ │ │ │ │ + add r7, r9 │ │ │ │ │ vldr d7, [sp] │ │ │ │ │ - add r9, sl │ │ │ │ │ - vldr d11, [pc, #312] @ 318 │ │ │ │ │ + vldr d11, [pc, #340] @ 350 │ │ │ │ │ vnmls.f64 d4, d5, d14 │ │ │ │ │ - vldr d14, [pc, #248] @ 2e0 │ │ │ │ │ + vldr d14, [pc, #276] @ 318 │ │ │ │ │ vmov.f64 d5, d6 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ vmla.f64 d7, d12, d15 │ │ │ │ │ - vldr d12, [pc, #264] @ 300 │ │ │ │ │ + vldr d12, [pc, #292] @ 338 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ vmul.f64 d7, d9, d11 │ │ │ │ │ vmls.f64 d4, d13, d8 │ │ │ │ │ - vldr d8, [pc, #256] @ 308 │ │ │ │ │ + vldr d8, [pc, #284] @ 340 │ │ │ │ │ vnmls.f64 d7, d1, d8 │ │ │ │ │ - vstr d4, [r9] │ │ │ │ │ - mov.w r9, r5, lsl #3 │ │ │ │ │ - vldr d4, [pc, #224] @ 2f8 │ │ │ │ │ - sub.w r3, r3, r9 │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ + mov.w r7, r5, lsl #3 │ │ │ │ │ + vldr d4, [pc, #252] @ 330 │ │ │ │ │ + sub.w r3, r3, r7 │ │ │ │ │ vmla.f64 d5, d10, d4 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vmul.f64 d5, d2, d12 │ │ │ │ │ vmla.f64 d5, d3, d0 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vmov.f64 d5, d6 │ │ │ │ │ vmla.f64 d5, d3, d8 │ │ │ │ │ @@ -163,40 +168,48 @@ │ │ │ │ │ vmla.f64 d5, d10, d0 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vmov.f64 d5, d6 │ │ │ │ │ vmla.f64 d5, d3, d4 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vadd.f64 d7, d3, d6 │ │ │ │ │ vmla.f64 d6, d2, d8 │ │ │ │ │ - add r3, r9 │ │ │ │ │ + add r3, r7 │ │ │ │ │ + add.w r7, r5, r5, lsl #1 │ │ │ │ │ + eor.w r5, r5, r8 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ vadd.f64 d7, d7, d10 │ │ │ │ │ vadd.f64 d7, d7, d1 │ │ │ │ │ vadd.f64 d7, d7, d9 │ │ │ │ │ vstmia r2!, {d7} │ │ │ │ │ vmul.f64 d7, d1, d0 │ │ │ │ │ vnmls.f64 d7, d9, d8 │ │ │ │ │ vmul.f64 d9, d9, d0 │ │ │ │ │ vnmls.f64 d9, d1, d4 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vmul.f64 d5, d10, d12 │ │ │ │ │ - vmla.f64 d5, d2, d11 │ │ │ │ │ vmul.f64 d10, d10, d11 │ │ │ │ │ - vmla.f64 d10, d3, d12 │ │ │ │ │ + vmla.f64 d5, d2, d11 │ │ │ │ │ vadd.f64 d9, d9, d6 │ │ │ │ │ + vmla.f64 d10, d3, d12 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vsub.f64 d10, d9, d10 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - mla r3, r7, r5, r3 │ │ │ │ │ - eor.w r5, r5, r8 │ │ │ │ │ + add.w r3, r3, r7, lsl #3 │ │ │ │ │ vstr d10, [r3] │ │ │ │ │ - bne.w 3c │ │ │ │ │ - add sp, #20 │ │ │ │ │ + bne.w 4c │ │ │ │ │ + add sp, #28 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ + nop.w │ │ │ │ │ .word 0xfd768dbf │ │ │ │ │ .word 0x3fd207e7 │ │ │ │ │ .word 0xf8bb580b │ │ │ │ │ .word 0x3fe14ced │ │ │ │ │ .word 0x043842ef │ │ │ │ │ .word 0x3fefac9e │ │ │ │ │ .word 0x8eee2c13 │ │ │ │ │ @@ -209,227 +222,219 @@ │ │ │ │ │ .word 0x3feeb42a │ │ │ │ │ .word 0x8764f0ba │ │ │ │ │ .word 0x3feaeb8c │ │ │ │ │ .word 0x640f44db │ │ │ │ │ .word 0x3fc2375f │ │ │ │ │ .word 0x7f775887 │ │ │ │ │ .word 0x3fe4f49e │ │ │ │ │ - .word 0x0000030e │ │ │ │ │ + .word 0x0000032e │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ - lsls r3, r7, #3 │ │ │ │ │ - str r3, [sp, #12] │ │ │ │ │ - lsls r7, r4, #3 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + mov.w fp, r7, lsl #3 │ │ │ │ │ + str r3, [sp, #20] │ │ │ │ │ + mov.w r7, r4, lsl #3 │ │ │ │ │ + vldr d12, [r1] │ │ │ │ │ + subs.w lr, lr, #1 │ │ │ │ │ mov.w r9, r4, lsl #5 │ │ │ │ │ - adds r3, r0, r7 │ │ │ │ │ + add.w r3, r0, r7 │ │ │ │ │ + vldr d8, [pc, #648] @ 608 │ │ │ │ │ add.w sl, r1, r9 │ │ │ │ │ - vldr d13, [r1] │ │ │ │ │ - mov.w fp, r6, lsl #5 │ │ │ │ │ - vldr d8, [pc, #672] @ 5e8 │ │ │ │ │ - subs.w lr, lr, #1 │ │ │ │ │ - vldr d6, [sl] │ │ │ │ │ - mov.w sl, r6, lsl #4 │ │ │ │ │ - vldr d12, [r3] │ │ │ │ │ + vldr d13, [r3] │ │ │ │ │ add r3, r9 │ │ │ │ │ add.w r9, r1, r7 │ │ │ │ │ - vldr d3, [r0] │ │ │ │ │ - vldr d14, [pc, #652] @ 5f0 │ │ │ │ │ - vadd.f64 d9, d12, d6 │ │ │ │ │ - vsub.f64 d12, d6, d12 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - sub.w r3, r3, r7 │ │ │ │ │ - vldr d7, [r9] │ │ │ │ │ + vldr d6, [sl] │ │ │ │ │ + mov.w sl, r6, lsl #5 │ │ │ │ │ + vldr d10, [r9] │ │ │ │ │ add.w r9, r1, r4, lsl #4 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ + vldr d15, [pc, #620] @ 610 │ │ │ │ │ + vadd.f64 d2, d13, d6 │ │ │ │ │ + vsub.f64 d13, d6, d13 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ sub.w r3, r3, r7 │ │ │ │ │ vldr d11, [r9] │ │ │ │ │ - mov.w r9, #24 │ │ │ │ │ - vadd.f64 d4, d13, d6 │ │ │ │ │ - vsub.f64 d13, d6, d13 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ + mov.w r9, r6, lsl #4 │ │ │ │ │ + vldr d14, [pc, #600] @ 618 │ │ │ │ │ + vadd.f64 d5, d12, d6 │ │ │ │ │ + vsub.f64 d12, d6, d12 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + sub.w r3, r3, r7 │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ + vldr d3, [r3] │ │ │ │ │ sub.w r3, r3, r7 │ │ │ │ │ - vsub.f64 d6, d5, d7 │ │ │ │ │ - vadd.f64 d10, d7, d5 │ │ │ │ │ - vldr d5, [pc, #592] @ 5f8 │ │ │ │ │ - add.w r7, ip, fp │ │ │ │ │ - vadd.f64 d15, d11, d2 │ │ │ │ │ - vsub.f64 d11, d2, d11 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ - mla r3, r9, r4, r1 │ │ │ │ │ - vstr d6, [sp] │ │ │ │ │ + add.w r7, ip, sl │ │ │ │ │ + add ip, fp │ │ │ │ │ + vadd.f64 d9, d10, d6 │ │ │ │ │ + vsub.f64 d10, d6, d10 │ │ │ │ │ + vadd.f64 d6, d11, d3 │ │ │ │ │ + vsub.f64 d11, d3, d11 │ │ │ │ │ + vldr d3, [r3] │ │ │ │ │ + add.w r3, r4, r4, lsl #1 │ │ │ │ │ eor.w r4, r4, r8 │ │ │ │ │ + add.w r3, r1, r3, lsl #3 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ + vmul.f64 d0, d11, d15 │ │ │ │ │ add.w r3, r2, r5, lsl #5 │ │ │ │ │ - vadd.f64 d1, d2, d7 │ │ │ │ │ - vsub.f64 d7, d7, d2 │ │ │ │ │ - vmul.f64 d2, d6, d8 │ │ │ │ │ - vldr d8, [pc, #548] @ 600 │ │ │ │ │ - vldr d6, [pc, #552] @ 608 │ │ │ │ │ - vmla.f64 d2, d13, d5 │ │ │ │ │ - vmul.f64 d0, d11, d8 │ │ │ │ │ - vldr d8, [pc, #548] @ 610 │ │ │ │ │ - vnmls.f64 d0, d7, d6 │ │ │ │ │ - vadd.f64 d2, d2, d0 │ │ │ │ │ - vldr d0, [pc, #544] @ 618 │ │ │ │ │ - vmls.f64 d2, d12, d0 │ │ │ │ │ - vmov.f64 d6, d0 │ │ │ │ │ - vldr d0, [pc, #540] @ 620 │ │ │ │ │ - vstr d2, [r7] │ │ │ │ │ - sub.w r7, r7, sl │ │ │ │ │ - vldr d2, [pc, #536] @ 628 │ │ │ │ │ - vmul.f64 d2, d1, d2 │ │ │ │ │ - vnmls.f64 d2, d15, d0 │ │ │ │ │ - vmov.f64 d0, d3 │ │ │ │ │ - vmla.f64 d0, d10, d8 │ │ │ │ │ - vadd.f64 d2, d2, d0 │ │ │ │ │ - vldr d0, [pc, #520] @ 630 │ │ │ │ │ - vmul.f64 d8, d4, d0 │ │ │ │ │ - vmla.f64 d8, d9, d14 │ │ │ │ │ - vmov.f64 d14, d6 │ │ │ │ │ - vsub.f64 d2, d2, d8 │ │ │ │ │ - vldr d8, [pc, #452] @ 600 │ │ │ │ │ - vstr d2, [r3] │ │ │ │ │ - vmul.f64 d2, d12, d5 │ │ │ │ │ - vmla.f64 d2, d13, d8 │ │ │ │ │ - vmul.f64 d8, d7, d6 │ │ │ │ │ - vldr d6, [pc, #408] @ 5e8 │ │ │ │ │ - vmla.f64 d8, d11, d6 │ │ │ │ │ - vldr d6, [pc, #432] @ 608 │ │ │ │ │ - vsub.f64 d2, d2, d8 │ │ │ │ │ - vldr d8, [sp] │ │ │ │ │ - vmls.f64 d2, d8, d6 │ │ │ │ │ - vstr d2, [r7] │ │ │ │ │ - vmul.f64 d2, d8, d5 │ │ │ │ │ - vmla.f64 d2, d13, d6 │ │ │ │ │ - vldr d6, [pc, #396] @ 600 │ │ │ │ │ - mla r7, r9, r6, r7 │ │ │ │ │ + str r3, [sp, #0] │ │ │ │ │ + vadd.f64 d1, d3, d7 │ │ │ │ │ + vsub.f64 d7, d7, d3 │ │ │ │ │ + vmul.f64 d3, d10, d8 │ │ │ │ │ + vldr d8, [pc, #512] @ 620 │ │ │ │ │ + vnmls.f64 d0, d7, d14 │ │ │ │ │ + vstr d1, [sp, #8] │ │ │ │ │ + vmla.f64 d3, d12, d8 │ │ │ │ │ + vmov.f64 d8, d4 │ │ │ │ │ + vadd.f64 d3, d3, d0 │ │ │ │ │ + vldr d0, [pc, #496] @ 628 │ │ │ │ │ + vmls.f64 d3, d13, d0 │ │ │ │ │ + vmov.f64 d14, d0 │ │ │ │ │ + vldr d0, [pc, #492] @ 630 │ │ │ │ │ + vmla.f64 d8, d9, d0 │ │ │ │ │ + vldr d0, [pc, #492] @ 638 │ │ │ │ │ + vstr d3, [r7] │ │ │ │ │ + sub.w r7, r7, r9 │ │ │ │ │ + vldr d3, [pc, #488] @ 640 │ │ │ │ │ + vmul.f64 d3, d1, d3 │ │ │ │ │ + vldr d1, [pc, #488] @ 648 │ │ │ │ │ + vnmls.f64 d3, d6, d1 │ │ │ │ │ + vldr d1, [pc, #488] @ 650 │ │ │ │ │ + vadd.f64 d3, d3, d8 │ │ │ │ │ + vmul.f64 d8, d5, d0 │ │ │ │ │ + vmla.f64 d8, d2, d1 │ │ │ │ │ + vmov.f64 d1, d14 │ │ │ │ │ + vsub.f64 d3, d3, d8 │ │ │ │ │ + vldr d8, [pc, #416] @ 620 │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ + vmul.f64 d3, d13, d8 │ │ │ │ │ + vmul.f64 d8, d7, d14 │ │ │ │ │ + vldr d14, [pc, #376] @ 608 │ │ │ │ │ + add.w r3, r6, r6, lsl #1 │ │ │ │ │ eor.w r6, r6, r8 │ │ │ │ │ - vmul.f64 d8, d7, d6 │ │ │ │ │ - vldr d6, [pc, #380] @ 600 │ │ │ │ │ - vnmls.f64 d8, d11, d14 │ │ │ │ │ - vadd.f64 d2, d2, d8 │ │ │ │ │ - vldr d8, [pc, #344] @ 5e8 │ │ │ │ │ - vmls.f64 d2, d12, d8 │ │ │ │ │ - vstr d2, [r7] │ │ │ │ │ - vmul.f64 d2, d12, d6 │ │ │ │ │ - vmla.f64 d2, d13, d8 │ │ │ │ │ - vmov.f64 d6, d5 │ │ │ │ │ - vmul.f64 d8, d7, d5 │ │ │ │ │ - vmov.f64 d5, d14 │ │ │ │ │ - vldr d14, [sp] │ │ │ │ │ - sub.w r7, r7, fp │ │ │ │ │ - vmla.f64 d8, d14, d5 │ │ │ │ │ - vldr d5, [pc, #332] @ 608 │ │ │ │ │ - vmov.f64 d14, d5 │ │ │ │ │ - vadd.f64 d2, d2, d8 │ │ │ │ │ - vldr d8, [pc, #288] @ 5e8 │ │ │ │ │ - vmla.f64 d2, d11, d5 │ │ │ │ │ - vldr d5, [pc, #304] @ 600 │ │ │ │ │ - vmul.f64 d7, d7, d8 │ │ │ │ │ - vldr d8, [sp] │ │ │ │ │ - vmul.f64 d5, d8, d5 │ │ │ │ │ - vstr d2, [r7] │ │ │ │ │ - add r7, sl │ │ │ │ │ - vldr d2, [pc, #304] @ 618 │ │ │ │ │ - vnmls.f64 d5, d11, d6 │ │ │ │ │ - vldr d6, [pc, #304] @ 620 │ │ │ │ │ - vldr d11, [pc, #252] @ 5f0 │ │ │ │ │ - vmla.f64 d7, d13, d2 │ │ │ │ │ - vldr d2, [pc, #276] @ 610 │ │ │ │ │ - vmov.f64 d8, d2 │ │ │ │ │ - vadd.f64 d7, d7, d5 │ │ │ │ │ - vmov.f64 d5, d3 │ │ │ │ │ - vmls.f64 d7, d12, d14 │ │ │ │ │ - vmla.f64 d5, d10, d6 │ │ │ │ │ - vldr d12, [pc, #276] @ 628 │ │ │ │ │ + vmla.f64 d3, d12, d15 │ │ │ │ │ + vmla.f64 d8, d11, d14 │ │ │ │ │ + vmov.f64 d0, d14 │ │ │ │ │ + vldr d14, [pc, #368] @ 618 │ │ │ │ │ + vsub.f64 d3, d3, d8 │ │ │ │ │ + vldr d8, [pc, #368] @ 620 │ │ │ │ │ + vmls.f64 d3, d10, d14 │ │ │ │ │ + vstr d3, [r7] │ │ │ │ │ + vmul.f64 d3, d10, d8 │ │ │ │ │ + vmul.f64 d8, d7, d15 │ │ │ │ │ + add.w r7, r7, r3, lsl #3 │ │ │ │ │ + ldr r3, [sp, #0] │ │ │ │ │ + vnmls.f64 d8, d11, d1 │ │ │ │ │ + vmla.f64 d3, d12, d14 │ │ │ │ │ + vadd.f64 d3, d3, d8 │ │ │ │ │ + vldr d8, [pc, #332] @ 620 │ │ │ │ │ + vmls.f64 d3, d13, d0 │ │ │ │ │ + vmul.f64 d8, d7, d8 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ + vmla.f64 d8, d10, d1 │ │ │ │ │ + vmul.f64 d10, d10, d15 │ │ │ │ │ + vmla.f64 d7, d12, d1 │ │ │ │ │ + vldr d1, [pc, #344] @ 648 │ │ │ │ │ + vstr d3, [r7] │ │ │ │ │ + vmul.f64 d3, d13, d15 │ │ │ │ │ + sub.w r7, r7, sl │ │ │ │ │ + vmla.f64 d3, d12, d0 │ │ │ │ │ + vldr d0, [pc, #300] @ 630 │ │ │ │ │ + vldr d12, [pc, #312] @ 640 │ │ │ │ │ + vadd.f64 d3, d3, d8 │ │ │ │ │ + vldr d8, [pc, #272] @ 620 │ │ │ │ │ + vnmls.f64 d10, d11, d8 │ │ │ │ │ + vmla.f64 d3, d11, d14 │ │ │ │ │ + vldr d11, [pc, #284] @ 638 │ │ │ │ │ + vldr d8, [pc, #304] @ 650 │ │ │ │ │ + vadd.f64 d7, d7, d10 │ │ │ │ │ + vstr d3, [r7] │ │ │ │ │ + add r7, r9 │ │ │ │ │ + vldr d10, [sp, #8] │ │ │ │ │ + vmov.f64 d3, d4 │ │ │ │ │ + vmla.f64 d3, d9, d1 │ │ │ │ │ + vmls.f64 d7, d13, d14 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ - vmul.f64 d7, d15, d0 │ │ │ │ │ + vmul.f64 d7, d6, d11 │ │ │ │ │ mov.w r7, r5, lsl #3 │ │ │ │ │ sub.w r3, r3, r7 │ │ │ │ │ - vnmls.f64 d7, d1, d2 │ │ │ │ │ - vadd.f64 d7, d7, d5 │ │ │ │ │ - vmul.f64 d5, d4, d11 │ │ │ │ │ - vmla.f64 d5, d9, d12 │ │ │ │ │ - vsub.f64 d7, d7, d5 │ │ │ │ │ - vmov.f64 d5, d3 │ │ │ │ │ - vmla.f64 d5, d4, d2 │ │ │ │ │ + vnmls.f64 d7, d10, d0 │ │ │ │ │ + vadd.f64 d7, d7, d3 │ │ │ │ │ + vmul.f64 d3, d5, d8 │ │ │ │ │ + vmla.f64 d3, d2, d12 │ │ │ │ │ + vsub.f64 d7, d7, d3 │ │ │ │ │ + vmov.f64 d3, d4 │ │ │ │ │ + vmla.f64 d3, d5, d0 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - vmul.f64 d7, d15, d12 │ │ │ │ │ + vmul.f64 d7, d6, d12 │ │ │ │ │ sub.w r3, r3, r5, lsl #4 │ │ │ │ │ - vnmls.f64 d7, d9, d6 │ │ │ │ │ - vadd.f64 d7, d7, d5 │ │ │ │ │ - vmul.f64 d5, d10, d11 │ │ │ │ │ - vmla.f64 d5, d1, d0 │ │ │ │ │ - vsub.f64 d7, d7, d5 │ │ │ │ │ - vmov.f64 d5, d3 │ │ │ │ │ - vmla.f64 d5, d4, d6 │ │ │ │ │ + vnmls.f64 d7, d2, d1 │ │ │ │ │ + vadd.f64 d7, d7, d3 │ │ │ │ │ + vmul.f64 d3, d9, d8 │ │ │ │ │ + vmla.f64 d3, d10, d11 │ │ │ │ │ + vsub.f64 d7, d7, d3 │ │ │ │ │ + vmov.f64 d3, d4 │ │ │ │ │ + vmla.f64 d3, d5, d1 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - vadd.f64 d7, d3, d4 │ │ │ │ │ - vmla.f64 d3, d9, d8 │ │ │ │ │ - vmul.f64 d4, d4, d12 │ │ │ │ │ - vmla.f64 d4, d10, d0 │ │ │ │ │ + vadd.f64 d7, d4, d5 │ │ │ │ │ + vmla.f64 d4, d2, d0 │ │ │ │ │ + vmul.f64 d5, d5, d12 │ │ │ │ │ add r3, r7 │ │ │ │ │ + add.w r7, r5, r5, lsl #1 │ │ │ │ │ + eor.w r5, r5, r8 │ │ │ │ │ + vadd.f64 d7, d7, d2 │ │ │ │ │ + vmla.f64 d5, d9, d11 │ │ │ │ │ vadd.f64 d7, d7, d9 │ │ │ │ │ vadd.f64 d7, d7, d10 │ │ │ │ │ - vadd.f64 d7, d7, d1 │ │ │ │ │ - vadd.f64 d7, d7, d15 │ │ │ │ │ + vadd.f64 d7, d7, d6 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ - vmul.f64 d7, d1, d11 │ │ │ │ │ - vnmls.f64 d7, d15, d2 │ │ │ │ │ - vmov.f64 d2, d6 │ │ │ │ │ - vmul.f64 d6, d15, d11 │ │ │ │ │ - vnmls.f64 d6, d1, d2 │ │ │ │ │ - vadd.f64 d7, d7, d5 │ │ │ │ │ - vmul.f64 d5, d9, d0 │ │ │ │ │ - vmla.f64 d5, d10, d12 │ │ │ │ │ - vadd.f64 d3, d6, d3 │ │ │ │ │ - vsub.f64 d7, d7, d5 │ │ │ │ │ - vsub.f64 d4, d3, d4 │ │ │ │ │ + vmul.f64 d7, d10, d8 │ │ │ │ │ + add r2, fp │ │ │ │ │ + vnmls.f64 d7, d6, d0 │ │ │ │ │ + vmul.f64 d6, d6, d8 │ │ │ │ │ + vnmls.f64 d6, d10, d1 │ │ │ │ │ + vadd.f64 d7, d7, d3 │ │ │ │ │ + vmul.f64 d3, d2, d11 │ │ │ │ │ + vmla.f64 d3, d9, d12 │ │ │ │ │ + vadd.f64 d4, d6, d4 │ │ │ │ │ + vsub.f64 d5, d4, d5 │ │ │ │ │ + vsub.f64 d7, d7, d3 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - mla r3, r9, r5, r3 │ │ │ │ │ - eor.w r5, r5, r8 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - ldr r3, [sp, #8] │ │ │ │ │ + add.w r3, r3, r7, lsl #3 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + ldr r3, [sp, #20] │ │ │ │ │ add r0, r3 │ │ │ │ │ add r1, r3 │ │ │ │ │ - ldr r3, [sp, #12] │ │ │ │ │ - add r2, r3 │ │ │ │ │ - add ip, r3 │ │ │ │ │ - bne.w 330 │ │ │ │ │ - add sp, #20 │ │ │ │ │ - vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + bne.w 36a │ │ │ │ │ + b.n 2e6 │ │ │ │ │ + nop.w │ │ │ │ │ .word 0xf8bb580b │ │ │ │ │ .word 0x3fe14ced │ │ │ │ │ - .word 0x640f44db │ │ │ │ │ - .word 0x3fc2375f │ │ │ │ │ - .word 0xbb3a28a1 │ │ │ │ │ - .word 0x3fe82f19 │ │ │ │ │ .word 0x8eee2c13 │ │ │ │ │ .word 0x3fed1bb4 │ │ │ │ │ .word 0xfd768dbf │ │ │ │ │ .word 0x3fd207e7 │ │ │ │ │ - .word 0x8764f0ba │ │ │ │ │ - .word 0x3feaeb8c │ │ │ │ │ + .word 0xbb3a28a1 │ │ │ │ │ + .word 0x3fe82f19 │ │ │ │ │ .word 0x043842ef │ │ │ │ │ .word 0x3fefac9e │ │ │ │ │ - .word 0xd9c712b6 │ │ │ │ │ - .word 0x3fda9628 │ │ │ │ │ - .word 0x9bcd5057 │ │ │ │ │ - .word 0x3feeb42a │ │ │ │ │ + .word 0x8764f0ba │ │ │ │ │ + .word 0x3feaeb8c │ │ │ │ │ .word 0x7f775887 │ │ │ │ │ .word 0x3fe4f49e │ │ │ │ │ + .word 0x9bcd5057 │ │ │ │ │ + .word 0x3feeb42a │ │ │ │ │ + .word 0xd9c712b6 │ │ │ │ │ + .word 0x3fda9628 │ │ │ │ │ + .word 0x640f44db │ │ │ │ │ + .word 0x3fc2375f │ │ │ │ │ │ │ │ │ │ -00000638 : │ │ │ │ │ +00000658 : │ │ │ │ │ fftw_codelet_r2cf_11(): │ │ │ │ │ - ldr r2, [pc, #8] @ (644 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (648 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (664 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (668 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cf_12.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1696 (bytes into file) │ │ │ │ │ + Start of section headers: 1768 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x6a0: │ │ │ │ │ +There are 13 section headers, starting at offset 0x6e8: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0003d4 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0005f8 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000408 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000408 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000408 000008 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 000410 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000620 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 000440 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000440 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 000474 000100 10 11 11 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 000574 000081 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000630 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00041c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000640 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000450 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000450 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000450 000008 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 000458 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000668 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 000488 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000488 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 0004bc 000100 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 0005bc 000081 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000678 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 16 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 960 FUNC LOCAL DEFAULT 1 r2cf_12 │ │ │ │ │ + 1: 00000001 1032 FUNC LOCAL DEFAULT 1 r2cf_12 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000003b0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 000003c0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000003cc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000003f8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000408 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000414 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 13: 000003c1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_12 │ │ │ │ │ + 13: 00000409 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_12 │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x5f8 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x640 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000003b8 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -000003bc 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000003cc 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000003d0 00000103 R_ARM_REL32 00000001 r2cf_12 │ │ │ │ │ -000003c8 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +00000400 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000404 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000414 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000418 00000103 R_ARM_REL32 00000001 r2cf_12 │ │ │ │ │ +00000410 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x620 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x668 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000f02 R_ARM_ABS32 00000000 fftw_rdft_r2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,297 +1,304 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cf_12(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov fp, r3 │ │ │ │ │ - ldr.w ip, [pc, #944] @ 3b8 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r8, r3 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #28 │ │ │ │ │ - add ip, pc │ │ │ │ │ - ldr r3, [sp, #140] @ 0x8c │ │ │ │ │ + ldr.w ip, [pc, #992] @ 400 │ │ │ │ │ + ldrd r6, r3, [sp, #136] @ 0x88 │ │ │ │ │ ldrd r4, r5, [sp, #128] @ 0x80 │ │ │ │ │ + add ip, pc │ │ │ │ │ + ldr r7, [sp, #148] @ 0x94 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ldr r6, [sp, #136] @ 0x88 │ │ │ │ │ - ldr r7, [sp, #144] @ 0x90 │ │ │ │ │ - ble.w 1e6 │ │ │ │ │ - ldr.w lr, [pc, #920] @ 3bc │ │ │ │ │ + ble.w 20c │ │ │ │ │ + ldr.w lr, [pc, #976] @ 404 │ │ │ │ │ ldr.w r3, [ip, lr] │ │ │ │ │ - ldr r3, [r3, #0] │ │ │ │ │ - str r3, [sp, #12] │ │ │ │ │ - ldr r3, [sp, #148] @ 0x94 │ │ │ │ │ - cmp r7, #1 │ │ │ │ │ + ldr.w fp, [r3] │ │ │ │ │ + ldr r3, [sp, #144] @ 0x90 │ │ │ │ │ + cmp r3, #1 │ │ │ │ │ it eq │ │ │ │ │ - cmpeq r3, #1 │ │ │ │ │ - bne.w 1f0 │ │ │ │ │ - mov.w lr, #24 │ │ │ │ │ - vldr d8, [pc, #880] @ 3b0 │ │ │ │ │ + cmpeq r7, #1 │ │ │ │ │ + bne.w 228 │ │ │ │ │ + vldr d8, [pc, #940] @ 3f8 │ │ │ │ │ vmov.f64 d15, #96 @ 0x3f000000 0.5 │ │ │ │ │ - str r2, [sp, #8] │ │ │ │ │ - lsls r7, r4, #4 │ │ │ │ │ - mov.w ip, r4, lsl #3 │ │ │ │ │ - adds r3, r0, r7 │ │ │ │ │ + str r2, [sp, #4] │ │ │ │ │ + mov.w r7, r4, lsl #4 │ │ │ │ │ vldr d4, [r0] │ │ │ │ │ + mov.w ip, r4, lsl #3 │ │ │ │ │ + add.w r3, r0, r7 │ │ │ │ │ vldr d12, [r1] │ │ │ │ │ - mov.w r9, r5, lsl #4 │ │ │ │ │ - mov.w sl, r5, lsl #5 │ │ │ │ │ + mov.w sl, r6, lsl #4 │ │ │ │ │ + mov.w r9, r5, lsl #5 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ add r3, r7 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ add.w r3, r1, ip │ │ │ │ │ add ip, r0 │ │ │ │ │ + ldr r2, [sp, #4] │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ - vstr d7, [sp] │ │ │ │ │ + vstr d7, [sp, #8] │ │ │ │ │ vadd.f64 d0, d5, d4 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - mul.w r3, lr, r4 │ │ │ │ │ vmls.f64 d4, d5, d15 │ │ │ │ │ - add.w r8, r1, r3 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + add.w r3, r4, r4, lsl #1 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + add.w lr, r1, r3 │ │ │ │ │ add r3, r0 │ │ │ │ │ + add.w r0, r0, #8 │ │ │ │ │ + vldr d13, [lr] │ │ │ │ │ + add.w lr, r4, r4, lsl #2 │ │ │ │ │ vmov.f64 d11, d7 │ │ │ │ │ - adds r0, #8 │ │ │ │ │ - vldr d13, [r8] │ │ │ │ │ - mov.w r8, #40 @ 0x28 │ │ │ │ │ - mov r2, r8 │ │ │ │ │ + add.w lr, r1, lr, lsl #3 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ add r3, r7 │ │ │ │ │ add r7, r1 │ │ │ │ │ - mla r8, r8, r4, r1 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ add.w r3, r1, r4, lsl #5 │ │ │ │ │ + add.w r1, r1, #8 │ │ │ │ │ + eor.w r4, r4, fp │ │ │ │ │ + vldr d5, [lr] │ │ │ │ │ + mov.w lr, r5, lsl #4 │ │ │ │ │ vldr d9, [r7] │ │ │ │ │ - adds r1, #8 │ │ │ │ │ - vldr d5, [r8] │ │ │ │ │ - mul.w r8, lr, r6 │ │ │ │ │ - add.w r7, fp, r8 │ │ │ │ │ - add.w fp, fp, #8 │ │ │ │ │ vadd.f64 d2, d5, d13 │ │ │ │ │ vsub.f64 d13, d5, d13 │ │ │ │ │ vldr d5, [ip] │ │ │ │ │ - mov.w ip, r6, lsl #4 │ │ │ │ │ + add.w ip, r6, r6, lsl #1 │ │ │ │ │ + mov.w ip, ip, lsl #3 │ │ │ │ │ + add.w r7, r8, ip │ │ │ │ │ + add.w r8, r8, #8 │ │ │ │ │ vadd.f64 d1, d5, d14 │ │ │ │ │ - vmls.f64 d11, d2, d15 │ │ │ │ │ vsub.f64 d14, d5, d14 │ │ │ │ │ - vadd.f64 d2, d2, d7 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ + vmls.f64 d11, d2, d15 │ │ │ │ │ + vadd.f64 d2, d2, d7 │ │ │ │ │ + add.w r3, r5, r5, lsl #1 │ │ │ │ │ vadd.f64 d7, d9, d12 │ │ │ │ │ - ldr r3, [sp, #8] │ │ │ │ │ vsub.f64 d12, d9, d12 │ │ │ │ │ + add.w r3, r2, r3, lsl #3 │ │ │ │ │ + add.w r2, r5, r5, lsl #2 │ │ │ │ │ + eor.w r5, r5, fp │ │ │ │ │ vadd.f64 d3, d1, d6 │ │ │ │ │ - vmls.f64 d6, d1, d15 │ │ │ │ │ vmov.f64 d10, d5 │ │ │ │ │ + vmls.f64 d6, d1, d15 │ │ │ │ │ vmls.f64 d10, d7, d15 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - mla r3, lr, r5, r3 │ │ │ │ │ vsub.f64 d5, d0, d3 │ │ │ │ │ vadd.f64 d3, d3, d0 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ vsub.f64 d5, d2, d7 │ │ │ │ │ - add r3, r9 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ + add r3, lr │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ - sub.w r7, r7, ip │ │ │ │ │ - vldr d5, [sp] │ │ │ │ │ + sub.w r7, r7, sl │ │ │ │ │ + vldr d5, [sp, #8] │ │ │ │ │ vsub.f64 d1, d5, d14 │ │ │ │ │ vsub.f64 d5, d10, d11 │ │ │ │ │ vadd.f64 d10, d10, d11 │ │ │ │ │ vmul.f64 d1, d1, d8 │ │ │ │ │ vadd.f64 d9, d5, d1 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ vsub.f64 d1, d4, d6 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ vstr d9, [r7] │ │ │ │ │ add.w r7, r7, r6, lsl #5 │ │ │ │ │ + eor.w r6, r6, fp │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ vsub.f64 d5, d13, d12 │ │ │ │ │ vadd.f64 d12, d12, d13 │ │ │ │ │ - sub.w r7, r7, r8 │ │ │ │ │ + sub.w r7, r7, ip │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ vsub.f64 d9, d1, d5 │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ vstr d9, [r3] │ │ │ │ │ - sub.w r3, r3, sl │ │ │ │ │ + sub.w r3, r3, r9 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - mla r3, r2, r5, r3 │ │ │ │ │ vsub.f64 d5, d3, d7 │ │ │ │ │ - ldr r2, [sp, #8] │ │ │ │ │ + add.w r3, r3, r2, lsl #3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ + ldr r2, [sp, #4] │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - sub.w r3, r3, sl │ │ │ │ │ - vldr d5, [sp] │ │ │ │ │ + sub.w r3, r3, r9 │ │ │ │ │ + vldr d5, [sp, #8] │ │ │ │ │ vstmia r2!, {d7} │ │ │ │ │ vsub.f64 d7, d6, d10 │ │ │ │ │ vadd.f64 d10, d10, d6 │ │ │ │ │ - str r2, [sp, #8] │ │ │ │ │ + str r2, [sp, #4] │ │ │ │ │ vadd.f64 d14, d14, d5 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - add r3, r9 │ │ │ │ │ + add r3, lr │ │ │ │ │ + vstr d10, [r3] │ │ │ │ │ + ldr r3, [sp, #140] @ 0x8c │ │ │ │ │ vsub.f64 d7, d12, d14 │ │ │ │ │ vadd.f64 d14, d14, d12 │ │ │ │ │ - vstr d10, [r3] │ │ │ │ │ - ldr r3, [sp, #12] │ │ │ │ │ + subs r3, #1 │ │ │ │ │ + str r3, [sp, #140] @ 0x8c │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ vmul.f64 d14, d14, d8 │ │ │ │ │ - eors r4, r3 │ │ │ │ │ - eors r5, r3 │ │ │ │ │ - eors r6, r3 │ │ │ │ │ - ldr r3, [sp, #140] @ 0x8c │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ - add r7, ip │ │ │ │ │ - subs r3, #1 │ │ │ │ │ + add r7, sl │ │ │ │ │ vstr d14, [r7] │ │ │ │ │ - str r3, [sp, #140] @ 0x8c │ │ │ │ │ - bne.w 48 │ │ │ │ │ + bne.w 54 │ │ │ │ │ add sp, #28 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - lsls r3, r7, #3 │ │ │ │ │ - str r3, [sp, #16] │ │ │ │ │ - ldr r3, [sp, #148] @ 0x94 │ │ │ │ │ - mov.w sl, #24 │ │ │ │ │ - vldr d8, [pc, #436] @ 3b0 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + vldr d8, [pc, #456] @ 3f8 │ │ │ │ │ vmov.f64 d15, #96 @ 0x3f000000 0.5 │ │ │ │ │ - str.w fp, [sp, #8] │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ + mov.w r3, r7, lsl #3 │ │ │ │ │ str r3, [sp, #20] │ │ │ │ │ - lsls r7, r4, #4 │ │ │ │ │ - mov.w ip, r4, lsl #3 │ │ │ │ │ - adds r3, r0, r7 │ │ │ │ │ + mov.w r7, r4, lsl #4 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ + mov.w ip, r4, lsl #3 │ │ │ │ │ + add.w r3, r0, r7 │ │ │ │ │ vldr d13, [r1] │ │ │ │ │ - mov.w r8, r5, lsl #4 │ │ │ │ │ + mov.w sl, r6, lsl #4 │ │ │ │ │ mov.w r9, r5, lsl #5 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ add r3, r7 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ add.w r3, r1, ip │ │ │ │ │ add ip, r0 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - mul.w r3, sl, r4 │ │ │ │ │ - vadd.f64 d4, d14, d5 │ │ │ │ │ + add.w r3, r4, r4, lsl #1 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ vldr d2, [ip] │ │ │ │ │ + add.w ip, r6, r6, lsl #1 │ │ │ │ │ add.w lr, r1, r3 │ │ │ │ │ + vadd.f64 d4, d14, d5 │ │ │ │ │ add r3, r0 │ │ │ │ │ vsub.f64 d14, d5, d14 │ │ │ │ │ - vmov.f64 d10, d6 │ │ │ │ │ - mov.w ip, r6, lsl #4 │ │ │ │ │ + mov.w ip, ip, lsl #3 │ │ │ │ │ vldr d12, [lr] │ │ │ │ │ - mov.w lr, #40 @ 0x28 │ │ │ │ │ - mov fp, lr │ │ │ │ │ + add.w lr, r4, r4, lsl #2 │ │ │ │ │ + vmov.f64 d10, d6 │ │ │ │ │ + add.w lr, r1, lr, lsl #3 │ │ │ │ │ vadd.f64 d0, d7, d4 │ │ │ │ │ vmls.f64 d7, d4, d15 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ - mla lr, lr, r4, r1 │ │ │ │ │ add r3, r7 │ │ │ │ │ add r7, r1 │ │ │ │ │ vldr d3, [lr] │ │ │ │ │ - mul.w lr, sl, r6 │ │ │ │ │ + mov.w lr, r5, lsl #4 │ │ │ │ │ vldr d9, [r7] │ │ │ │ │ - ldr r7, [sp, #8] │ │ │ │ │ + add.w r7, r8, ip │ │ │ │ │ vadd.f64 d5, d12, d3 │ │ │ │ │ vsub.f64 d12, d3, d12 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ add.w r3, r1, r4, lsl #5 │ │ │ │ │ - add r7, lr │ │ │ │ │ + eor.w r4, r4, fp │ │ │ │ │ vadd.f64 d1, d3, d2 │ │ │ │ │ vmls.f64 d10, d5, d15 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vadd.f64 d5, d4, d1 │ │ │ │ │ vmls.f64 d4, d1, d15 │ │ │ │ │ vsub.f64 d1, d2, d3 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ vadd.f64 d2, d13, d9 │ │ │ │ │ - mla r3, sl, r5, r2 │ │ │ │ │ + add.w r3, r5, r5, lsl #1 │ │ │ │ │ vsub.f64 d13, d9, d13 │ │ │ │ │ + add.w r3, r2, r3, lsl #3 │ │ │ │ │ vmov.f64 d11, d3 │ │ │ │ │ - vstr d1, [sp] │ │ │ │ │ - vsub.f64 d1, d14, d1 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ + vstr d1, [sp, #8] │ │ │ │ │ + vsub.f64 d1, d14, d1 │ │ │ │ │ vmls.f64 d11, d2, d15 │ │ │ │ │ vsub.f64 d2, d0, d5 │ │ │ │ │ vadd.f64 d5, d0, d5 │ │ │ │ │ vmul.f64 d1, d1, d8 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ vsub.f64 d2, d6, d3 │ │ │ │ │ - add r3, r8 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ + add r3, lr │ │ │ │ │ vstr d2, [r7] │ │ │ │ │ vsub.f64 d2, d11, d10 │ │ │ │ │ - sub.w r7, r7, ip │ │ │ │ │ + sub.w r7, r7, sl │ │ │ │ │ vadd.f64 d10, d10, d11 │ │ │ │ │ vsub.f64 d3, d5, d6 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ vadd.f64 d9, d1, d2 │ │ │ │ │ vsub.f64 d2, d2, d1 │ │ │ │ │ vsub.f64 d1, d12, d13 │ │ │ │ │ vadd.f64 d12, d12, d13 │ │ │ │ │ vstr d9, [r7] │ │ │ │ │ add.w r7, r7, r6, lsl #5 │ │ │ │ │ + eor.w r6, r6, fp │ │ │ │ │ vmul.f64 d1, d1, d8 │ │ │ │ │ vstr d2, [r7] │ │ │ │ │ vsub.f64 d2, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - sub.w r7, r7, lr │ │ │ │ │ + str r7, [sp, #4] │ │ │ │ │ vsub.f64 d9, d2, d1 │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ + vldr d1, [sp, #8] │ │ │ │ │ vsub.f64 d6, d7, d10 │ │ │ │ │ - vldr d1, [sp] │ │ │ │ │ vadd.f64 d7, d7, d10 │ │ │ │ │ vstr d9, [r3] │ │ │ │ │ sub.w r3, r3, r9 │ │ │ │ │ vadd.f64 d14, d14, d1 │ │ │ │ │ + mov r7, r3 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ - mla r3, fp, r5, r3 │ │ │ │ │ + add.w r3, r5, r5, lsl #2 │ │ │ │ │ + eor.w r5, r5, fp │ │ │ │ │ + add.w r3, r7, r3, lsl #3 │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ sub.w r3, r3, r9 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ - add r3, r8 │ │ │ │ │ + add r3, lr │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d12, d14 │ │ │ │ │ vadd.f64 d12, d12, d14 │ │ │ │ │ + ldr r3, [sp, #4] │ │ │ │ │ + sub.w r7, r3, ip │ │ │ │ │ ldr r3, [sp, #16] │ │ │ │ │ + vmul.f64 d7, d7, d8 │ │ │ │ │ + vmul.f64 d12, d12, d8 │ │ │ │ │ add r0, r3 │ │ │ │ │ add r1, r3 │ │ │ │ │ - vmul.f64 d7, d7, d8 │ │ │ │ │ ldr r3, [sp, #20] │ │ │ │ │ - vmul.f64 d12, d12, d8 │ │ │ │ │ - add r2, r3 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ - add r7, ip │ │ │ │ │ + add r7, sl │ │ │ │ │ vstr d12, [r7] │ │ │ │ │ - ldr r7, [sp, #8] │ │ │ │ │ - add r7, r3 │ │ │ │ │ - ldr r3, [sp, #12] │ │ │ │ │ - str r7, [sp, #8] │ │ │ │ │ - eors r4, r3 │ │ │ │ │ - eors r5, r3 │ │ │ │ │ - eors r6, r3 │ │ │ │ │ + add r2, r3 │ │ │ │ │ + add r8, r3 │ │ │ │ │ ldr r3, [sp, #140] @ 0x8c │ │ │ │ │ subs r3, #1 │ │ │ │ │ str r3, [sp, #140] @ 0x8c │ │ │ │ │ - bne.w 20a │ │ │ │ │ - add sp, #28 │ │ │ │ │ - vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + bne.w 23c │ │ │ │ │ + b.n 20c │ │ │ │ │ + nop │ │ │ │ │ + nop.w │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3febb67a │ │ │ │ │ - .word 0x000003a4 │ │ │ │ │ + .word 0x000003d4 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ │ │ │ │ │ -000003c0 : │ │ │ │ │ +00000408 : │ │ │ │ │ fftw_codelet_r2cf_12(): │ │ │ │ │ - ldr r2, [pc, #8] @ (3cc ) │ │ │ │ │ - ldr r1, [pc, #12] @ (3d0 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (414 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (418 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cf_128.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 11304 (bytes into file) │ │ │ │ │ + Start of section headers: 11520 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x2c28: │ │ │ │ │ +There are 13 section headers, starting at offset 0x2d00: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0028bc 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 002b80 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0028f0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0028f0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0028f0 000009 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 0028f9 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 002ba8 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 002929 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 002929 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 00295c 0001a0 10 11 21 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 002afc 000082 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 002bb8 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 002994 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 002c58 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0029c8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0029c8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0029c8 000009 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0029d1 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 002c80 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 002a01 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 002a01 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 002a34 0001a0 10 11 21 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 002bd4 000082 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 002c90 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,29 +1,29 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 26 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 10408 FUNC LOCAL DEFAULT 1 r2cf_128 │ │ │ │ │ + 1: 00000001 10624 FUNC LOCAL DEFAULT 1 r2cf_128 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000438 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000478 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000880 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 000008a8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00001098 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 8: 000010d8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 9: 000018c8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 10: 00001930 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 11: 00002230 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 12: 000022d8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 13: 000028a0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 14: 000028a8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 15: 000028b4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000428 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000468 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000860 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000888 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00001088 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 000010c8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 9: 000018e0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 10: 00001948 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 11: 000022c8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 12: 00002360 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 13: 00002968 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 14: 00002980 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 15: 0000298c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 16: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 17: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 18: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 19: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 20: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 21: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 22: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 23: 000028a9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_128 │ │ │ │ │ + 23: 00002981 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_128 │ │ │ │ │ 24: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 25: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x2b80 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x2c58 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000470 00001519 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000474 0000161a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000028b4 00001203 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000028b8 00000103 R_ARM_REL32 00000001 r2cf_128 │ │ │ │ │ -000028b0 0000181e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +00000460 00001519 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000464 0000161a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +0000298c 00001203 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00002990 00000103 R_ARM_REL32 00000001 r2cf_128 │ │ │ │ │ +00002988 0000181e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x2ba8 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x2c80 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00001002 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00001902 R_ARM_ABS32 00000000 fftw_rdft_r2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,1153 +1,1143 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cf_128(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r8, r2 │ │ │ │ │ - mov r9, r3 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov r9, r2 │ │ │ │ │ + mov sl, r0 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + mov fp, r3 │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - subw sp, sp, #1060 @ 0x424 │ │ │ │ │ - add.w sl, sp, #1160 @ 0x488 │ │ │ │ │ - ldr.w r3, [pc, #1112] @ 470 │ │ │ │ │ - ldr.w r2, [sp, #1172] @ 0x494 │ │ │ │ │ + subw sp, sp, #1052 @ 0x41c │ │ │ │ │ + ldr.w r3, [pc, #1084] @ 460 │ │ │ │ │ + ldr.w r2, [sp, #1164] @ 0x48c │ │ │ │ │ + ldr.w r8, [sp, #1152] @ 0x480 │ │ │ │ │ add r3, pc │ │ │ │ │ - ldmia.w sl, {sl, ip, lr} │ │ │ │ │ + ldr.w ip, [sp, #1156] @ 0x484 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.w 2894 │ │ │ │ │ - ldr.w r2, [sp, #1176] @ 0x498 │ │ │ │ │ - mov fp, r9 │ │ │ │ │ - mov r7, r1 │ │ │ │ │ - mov r9, lr │ │ │ │ │ - mov r5, sl │ │ │ │ │ - mov lr, r0 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ + ldr.w r0, [sp, #1160] @ 0x488 │ │ │ │ │ + ble.w 294a │ │ │ │ │ + mov r4, ip │ │ │ │ │ + mov lr, r1 │ │ │ │ │ + ldr.w r2, [sp, #1168] @ 0x490 │ │ │ │ │ + mov ip, r9 │ │ │ │ │ + mov r7, fp │ │ │ │ │ + mov r9, r8 │ │ │ │ │ + mov r8, r0 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + str.w r2, [sp, #1036] @ 0x40c │ │ │ │ │ + ldr.w r2, [sp, #1172] @ 0x494 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ str.w r2, [sp, #1040] @ 0x410 │ │ │ │ │ - ldr.w r2, [sp, #1180] @ 0x49c │ │ │ │ │ - mov r6, ip │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ - str.w r2, [sp, #1044] @ 0x414 │ │ │ │ │ - ldr.w r2, [pc, #1064] @ 474 │ │ │ │ │ + ldr.w r2, [pc, #1024] @ 464 │ │ │ │ │ ldr r3, [r3, r2] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - str.w r3, [sp, #1048] @ 0x418 │ │ │ │ │ - movw r3, #65216 @ 0xfec0 │ │ │ │ │ - movt r3, #65535 @ 0xffff │ │ │ │ │ - str r3, [sp, #636] @ 0x27c │ │ │ │ │ - movw r3, #65248 @ 0xfee0 │ │ │ │ │ - movt r3, #65535 @ 0xffff │ │ │ │ │ - str.w r3, [sp, #1052] @ 0x41c │ │ │ │ │ - mov.w ip, r5, lsl #8 │ │ │ │ │ - movs r1, #192 @ 0xc0 │ │ │ │ │ - add.w r3, lr, ip │ │ │ │ │ - vldr d2, [lr] │ │ │ │ │ - lsls r0, r5, #7 │ │ │ │ │ - vldr d10, [pc, #956] @ 438 │ │ │ │ │ - mul.w r1, r1, r5 │ │ │ │ │ - mov r2, r0 │ │ │ │ │ + str.w r3, [sp, #1044] @ 0x414 │ │ │ │ │ + mov.w fp, r9, lsl #8 │ │ │ │ │ + vldr d2, [sl] │ │ │ │ │ + mov.w r6, r9, lsl #3 │ │ │ │ │ + add.w r3, sl, fp │ │ │ │ │ + add.w r0, r9, r9, lsl #1 │ │ │ │ │ + vldr d10, [pc, #932] @ 428 │ │ │ │ │ + sub.w r1, r6, r9 │ │ │ │ │ + mov.w r5, r9, lsl #7 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - mov.w r3, #448 @ 0x1c0 │ │ │ │ │ - lsls r4, r5, #5 │ │ │ │ │ - mov.w sl, #160 @ 0xa0 │ │ │ │ │ - str r1, [sp, #8] │ │ │ │ │ - mul.w r3, r3, r5 │ │ │ │ │ + mov.w r3, r1, lsl #6 │ │ │ │ │ + mov.w r2, r0, lsl #6 │ │ │ │ │ + str r5, [sp, #40] @ 0x28 │ │ │ │ │ + str r3, [sp, #480] @ 0x1e0 │ │ │ │ │ + add r3, sl │ │ │ │ │ + str r2, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d14, [pc, #908] @ 430 │ │ │ │ │ vadd.f64 d5, d2, d7 │ │ │ │ │ - str r3, [sp, #0] │ │ │ │ │ vsub.f64 d2, d2, d7 │ │ │ │ │ - add r3, lr │ │ │ │ │ - str r4, [sp, #24] │ │ │ │ │ - vldr d14, [pc, #920] @ 440 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - add.w r3, lr, r1 │ │ │ │ │ - mul.w r1, sl, r5 │ │ │ │ │ - mov.w sl, #144 @ 0x90 │ │ │ │ │ - str r1, [sp, #40] @ 0x28 │ │ │ │ │ + add.w r3, sl, r2 │ │ │ │ │ + mov.w r2, r0, lsl #5 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ - add.w r3, lr, r0 │ │ │ │ │ - lsls r0, r5, #6 │ │ │ │ │ - str r0, [sp, #16] │ │ │ │ │ + add.w r3, sl, r5 │ │ │ │ │ + mov.w r5, r9, lsl #5 │ │ │ │ │ + str r2, [sp, #496] @ 0x1f0 │ │ │ │ │ vadd.f64 d6, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ - add r3, ip │ │ │ │ │ + add r3, fp │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ - add.w r3, lr, r0 │ │ │ │ │ + mov.w r3, r9, lsl #6 │ │ │ │ │ + str r3, [sp, #16] │ │ │ │ │ + add r3, sl │ │ │ │ │ vadd.f64 d8, d4, d3 │ │ │ │ │ vsub.f64 d4, d4, d3 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ - add r3, ip │ │ │ │ │ + add r3, fp │ │ │ │ │ vldr d1, [r3] │ │ │ │ │ - vsub.f64 d12, d5, d8 │ │ │ │ │ - vadd.f64 d5, d5, d8 │ │ │ │ │ - add.w r3, lr, r4 │ │ │ │ │ + add.w r3, sl, r5 │ │ │ │ │ vadd.f64 d0, d3, d1 │ │ │ │ │ vsub.f64 d3, d3, d1 │ │ │ │ │ - vstr d12, [sp, #288] @ 0x120 │ │ │ │ │ - vldr d12, [pc, #828] @ 448 │ │ │ │ │ - vsub.f64 d1, d6, d0 │ │ │ │ │ + vsub.f64 d1, d5, d8 │ │ │ │ │ + vadd.f64 d5, d5, d8 │ │ │ │ │ + vsub.f64 d9, d6, d0 │ │ │ │ │ vadd.f64 d6, d6, d0 │ │ │ │ │ - vstr d1, [sp, #296] @ 0x128 │ │ │ │ │ + vstr d1, [sp, #160] @ 0xa0 │ │ │ │ │ vadd.f64 d1, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vmul.f64 d1, d1, d10 │ │ │ │ │ + vadd.f64 d15, d5, d6 │ │ │ │ │ + vsub.f64 d12, d5, d6 │ │ │ │ │ + vstr d9, [sp, #168] @ 0xa8 │ │ │ │ │ vmul.f64 d7, d7, d10 │ │ │ │ │ - vadd.f64 d11, d2, d1 │ │ │ │ │ - vsub.f64 d13, d2, d1 │ │ │ │ │ + vmul.f64 d1, d1, d10 │ │ │ │ │ + vstr d15, [sp, #656] @ 0x290 │ │ │ │ │ vsub.f64 d3, d7, d4 │ │ │ │ │ vadd.f64 d7, d4, d7 │ │ │ │ │ - vadd.f64 d4, d5, d6 │ │ │ │ │ - vsub.f64 d5, d5, d6 │ │ │ │ │ - vstr d11, [sp, #304] @ 0x130 │ │ │ │ │ - vstr d7, [sp, #328] @ 0x148 │ │ │ │ │ - vstr d4, [sp, #640] @ 0x280 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ - add r3, ip │ │ │ │ │ - vstr d5, [sp, #648] @ 0x288 │ │ │ │ │ - vstr d3, [sp, #320] @ 0x140 │ │ │ │ │ + add r3, fp │ │ │ │ │ + vadd.f64 d11, d2, d1 │ │ │ │ │ + vsub.f64 d13, d2, d1 │ │ │ │ │ + vstr d7, [sp, #200] @ 0xc8 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - movs r3, #96 @ 0x60 │ │ │ │ │ - vldr d11, [pc, #748] @ 450 │ │ │ │ │ - vstr d13, [sp, #312] @ 0x138 │ │ │ │ │ - mul.w r3, r3, r5 │ │ │ │ │ + add.w r3, sl, r2 │ │ │ │ │ + vstr d3, [sp, #192] @ 0xc0 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + add r3, fp │ │ │ │ │ + vstr d11, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d13, [sp, #184] @ 0xb8 │ │ │ │ │ + vstr d12, [sp, #664] @ 0x298 │ │ │ │ │ vadd.f64 d0, d4, d7 │ │ │ │ │ - str r3, [sp, #32] │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ - add r3, lr │ │ │ │ │ - vldr d13, [pc, #732] @ 458 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - add r3, ip │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - add.w r3, lr, r1 │ │ │ │ │ - mul.w r1, sl, r5 │ │ │ │ │ - mov.w sl, #464 @ 0x1d0 │ │ │ │ │ + add.w r3, r9, r9, lsl #2 │ │ │ │ │ + vldr d11, [pc, #696] @ 438 │ │ │ │ │ + mov.w r2, r3, lsl #5 │ │ │ │ │ + str r3, [sp, #0] │ │ │ │ │ + add.w r3, sl, r2 │ │ │ │ │ + vldr d12, [pc, #692] @ 440 │ │ │ │ │ vadd.f64 d1, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ + str r2, [sp, #504] @ 0x1f8 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - add r3, ip │ │ │ │ │ + mov.w r2, r9, lsl #4 │ │ │ │ │ + add r3, fp │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - mov.w r3, #480 @ 0x1e0 │ │ │ │ │ - mul.w r0, r3, r5 │ │ │ │ │ + sub.w r3, r2, r9 │ │ │ │ │ + str r2, [sp, #8] │ │ │ │ │ + mov.w r2, r3, lsl #5 │ │ │ │ │ + str r2, [sp, #512] @ 0x200 │ │ │ │ │ + add r2, sl │ │ │ │ │ + vldr d3, [r2] │ │ │ │ │ + mov.w r2, r1, lsl #5 │ │ │ │ │ vadd.f64 d2, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - str r0, [sp, #48] @ 0x30 │ │ │ │ │ - add.w r3, lr, r0 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - movs r3, #224 @ 0xe0 │ │ │ │ │ - mul.w r4, r3, r5 │ │ │ │ │ - str r4, [sp, #56] @ 0x38 │ │ │ │ │ - add.w r3, lr, r4 │ │ │ │ │ - mul.w r4, sl, r5 │ │ │ │ │ - mov.w sl, #208 @ 0xd0 │ │ │ │ │ - vldr d8, [r3] │ │ │ │ │ - lsls r3, r5, #4 │ │ │ │ │ + str r2, [sp, #520] @ 0x208 │ │ │ │ │ + add r2, sl │ │ │ │ │ + vldr d8, [r2] │ │ │ │ │ + ldr r2, [sp, #8] │ │ │ │ │ vadd.f64 d5, d3, d8 │ │ │ │ │ vsub.f64 d3, d3, d8 │ │ │ │ │ vadd.f64 d8, d0, d2 │ │ │ │ │ vsub.f64 d2, d0, d2 │ │ │ │ │ + add r2, sl │ │ │ │ │ vadd.f64 d9, d1, d5 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ vadd.f64 d1, d2, d5 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ - vadd.f64 d15, d8, d9 │ │ │ │ │ + vadd.f64 d13, d8, d9 │ │ │ │ │ vsub.f64 d9, d9, d8 │ │ │ │ │ vmul.f64 d2, d5, d10 │ │ │ │ │ vmul.f64 d5, d7, d11 │ │ │ │ │ - vstr d15, [sp, #656] @ 0x290 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ - vmla.f64 d7, d4, d11 │ │ │ │ │ - str r3, [sp, #64] @ 0x40 │ │ │ │ │ - add r3, lr │ │ │ │ │ vmul.f64 d0, d1, d10 │ │ │ │ │ - vstr d2, [sp, #344] @ 0x158 │ │ │ │ │ + vnmls.f64 d5, d4, d14 │ │ │ │ │ + vmla.f64 d7, d4, d11 │ │ │ │ │ + vstr d2, [sp, #216] @ 0xd8 │ │ │ │ │ vmul.f64 d2, d6, d11 │ │ │ │ │ vmul.f64 d6, d6, d14 │ │ │ │ │ - vnmls.f64 d5, d4, d14 │ │ │ │ │ - vmla.f64 d2, d3, d14 │ │ │ │ │ - vstr d9, [sp, #664] @ 0x298 │ │ │ │ │ - vstr d0, [sp, #336] @ 0x150 │ │ │ │ │ - str r1, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d0, [sp, #208] @ 0xd0 │ │ │ │ │ + vstr d13, [sp, #672] @ 0x2a0 │ │ │ │ │ + vstr d9, [sp, #680] @ 0x2a8 │ │ │ │ │ + vldr d13, [pc, #540] @ 448 │ │ │ │ │ vnmls.f64 d6, d3, d11 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - add r3, ip │ │ │ │ │ - str r4, [sp, #88] @ 0x58 │ │ │ │ │ - vadd.f64 d0, d5, d2 │ │ │ │ │ - vsub.f64 d8, d2, d5 │ │ │ │ │ + vmla.f64 d2, d3, d14 │ │ │ │ │ + vldr d3, [r2] │ │ │ │ │ + add r2, fp │ │ │ │ │ vsub.f64 d4, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - add.w r3, lr, r1 │ │ │ │ │ - vstr d0, [sp, #352] @ 0x160 │ │ │ │ │ - vstr d8, [sp, #360] @ 0x168 │ │ │ │ │ - vstr d6, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + add.w r2, r6, r9 │ │ │ │ │ + vadd.f64 d1, d5, d2 │ │ │ │ │ + vsub.f64 d5, d2, d5 │ │ │ │ │ + str r2, [sp, #32] │ │ │ │ │ + mov.w r2, r2, lsl #4 │ │ │ │ │ vadd.f64 d0, d3, d7 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - add r3, ip │ │ │ │ │ vsub.f64 d3, d3, d7 │ │ │ │ │ - vstr d4, [sp, #368] @ 0x170 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - movs r3, #80 @ 0x50 │ │ │ │ │ - mul.w r0, r3, r5 │ │ │ │ │ + str r2, [sp, #528] @ 0x210 │ │ │ │ │ + add r2, sl │ │ │ │ │ + vstr d6, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add r2, fp │ │ │ │ │ + vstr d1, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + vstr d5, [sp, #232] @ 0xe8 │ │ │ │ │ + ldr r2, [sp, #0] │ │ │ │ │ + vstr d4, [sp, #240] @ 0xf0 │ │ │ │ │ vadd.f64 d4, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - str r0, [sp, #80] @ 0x50 │ │ │ │ │ - add.w r3, lr, r0 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ - add r3, ip │ │ │ │ │ - vldr d1, [r3] │ │ │ │ │ - add.w r3, lr, r4 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - mul.w r3, sl, r5 │ │ │ │ │ - str r3, [sp, #96] @ 0x60 │ │ │ │ │ + mov.w r2, r2, lsl #4 │ │ │ │ │ + str r2, [sp, #536] @ 0x218 │ │ │ │ │ + add r2, sl │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ + add r2, fp │ │ │ │ │ + vldr d1, [r2] │ │ │ │ │ + mov.w r2, #464 @ 0x1d0 │ │ │ │ │ + mul.w r2, r2, r9 │ │ │ │ │ + str r2, [sp, #48] @ 0x30 │ │ │ │ │ + add r2, sl │ │ │ │ │ vsub.f64 d7, d2, d1 │ │ │ │ │ - add r3, lr │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ - mov.w sl, #496 @ 0x1f0 │ │ │ │ │ - vldr d9, [r3] │ │ │ │ │ - mul.w r1, sl, r5 │ │ │ │ │ - mov.w sl, #240 @ 0xf0 │ │ │ │ │ - str r1, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + mov.w r2, #208 @ 0xd0 │ │ │ │ │ + mul.w r2, r2, r9 │ │ │ │ │ + str r2, [sp, #56] @ 0x38 │ │ │ │ │ + add r2, sl │ │ │ │ │ + vldr d9, [r2] │ │ │ │ │ vsub.f64 d8, d5, d9 │ │ │ │ │ vadd.f64 d5, d5, d9 │ │ │ │ │ vadd.f64 d9, d0, d4 │ │ │ │ │ vsub.f64 d4, d0, d4 │ │ │ │ │ - add.w r3, lr, r1 │ │ │ │ │ - mul.w r0, sl, r5 │ │ │ │ │ - mov.w sl, #112 @ 0x70 │ │ │ │ │ - str r0, [sp, #112] @ 0x70 │ │ │ │ │ vsub.f64 d1, d8, d7 │ │ │ │ │ vadd.f64 d7, d7, d8 │ │ │ │ │ vadd.f64 d8, d2, d5 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ - mul.w r4, sl, r5 │ │ │ │ │ - mov.w sl, #48 @ 0x30 │ │ │ │ │ vmul.f64 d1, d1, d10 │ │ │ │ │ vmul.f64 d7, d7, d10 │ │ │ │ │ vmul.f64 d2, d5, d11 │ │ │ │ │ vadd.f64 d15, d9, d8 │ │ │ │ │ + vsub.f64 d9, d9, d8 │ │ │ │ │ vmla.f64 d2, d4, d14 │ │ │ │ │ vmul.f64 d4, d4, d11 │ │ │ │ │ - vsub.f64 d9, d9, d8 │ │ │ │ │ - vstr d15, [sp, #384] @ 0x180 │ │ │ │ │ + vstr d15, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d15, [pc, #332] @ 450 │ │ │ │ │ vnmls.f64 d4, d5, d14 │ │ │ │ │ vadd.f64 d5, d3, d7 │ │ │ │ │ - vldr d15, [pc, #312] @ 460 │ │ │ │ │ vsub.f64 d7, d3, d7 │ │ │ │ │ - vstr d9, [sp, #672] @ 0x2a0 │ │ │ │ │ - vstr d2, [sp, #392] @ 0x188 │ │ │ │ │ - vstr d4, [sp, #400] @ 0x190 │ │ │ │ │ + vstr d2, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d4, [sp, #272] @ 0x110 │ │ │ │ │ vsub.f64 d4, d1, d6 │ │ │ │ │ vadd.f64 d6, d6, d1 │ │ │ │ │ + vstr d9, [sp, #688] @ 0x2b0 │ │ │ │ │ vmul.f64 d2, d4, d12 │ │ │ │ │ vmla.f64 d2, d5, d13 │ │ │ │ │ vmul.f64 d5, d5, d12 │ │ │ │ │ vnmls.f64 d5, d4, d13 │ │ │ │ │ - vldr d4, [pc, #276] @ 468 │ │ │ │ │ - vstr d2, [sp, #408] @ 0x198 │ │ │ │ │ - vstr d5, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d4, [pc, #288] @ 458 │ │ │ │ │ + vstr d2, [sp, #280] @ 0x118 │ │ │ │ │ + vstr d5, [sp, #288] @ 0x120 │ │ │ │ │ vmul.f64 d5, d6, d15 │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ vmov.f64 d3, d7 │ │ │ │ │ vnmls.f64 d3, d6, d4 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - add.w r3, lr, r0 │ │ │ │ │ - vstr d5, [sp, #424] @ 0x1a8 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - add.w r3, lr, r4 │ │ │ │ │ + vstr d5, [sp, #296] @ 0x128 │ │ │ │ │ + vstr d3, [sp, #304] @ 0x130 │ │ │ │ │ + str r5, [sp, #24] │ │ │ │ │ + sub.w r5, r5, r9 │ │ │ │ │ + mov.w r2, r5, lsl #4 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ + str r2, [sp, #544] @ 0x220 │ │ │ │ │ + add r2, sl │ │ │ │ │ + str r6, [sp, #584] @ 0x248 │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + mov.w r2, r3, lsl #4 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + str r2, [sp, #552] @ 0x228 │ │ │ │ │ + add r2, sl │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + mov.w r2, r1, lsl #4 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + str r2, [sp, #560] @ 0x230 │ │ │ │ │ + add r2, sl │ │ │ │ │ vadd.f64 d0, d4, d7 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ - vstr d3, [sp, #432] @ 0x1b0 │ │ │ │ │ - str r4, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - add r3, ip │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - mul.w r3, sl, r5 │ │ │ │ │ - str r3, [sp, #128] @ 0x80 │ │ │ │ │ - mov.w sl, #136 @ 0x88 │ │ │ │ │ - add r3, lr │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + add r2, fp │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + mov.w r2, r0, lsl #4 │ │ │ │ │ + str r2, [sp, #568] @ 0x238 │ │ │ │ │ + add r2, sl │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ + add r2, fp │ │ │ │ │ vadd.f64 d3, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - mul.w r1, sl, r5 │ │ │ │ │ - mov.w sl, #72 @ 0x48 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ - add r3, ip │ │ │ │ │ - str r1, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d1, [r3] │ │ │ │ │ - mov.w r3, #432 @ 0x1b0 │ │ │ │ │ - mul.w r0, r3, r5 │ │ │ │ │ + vldr d1, [r2] │ │ │ │ │ + mov.w r2, #432 @ 0x1b0 │ │ │ │ │ + mul.w r2, r2, r9 │ │ │ │ │ + str r2, [sp, #64] @ 0x40 │ │ │ │ │ + add r2, sl │ │ │ │ │ vsub.f64 d6, d2, d1 │ │ │ │ │ vadd.f64 d2, d2, d1 │ │ │ │ │ - str r0, [sp, #136] @ 0x88 │ │ │ │ │ - add.w r3, lr, r0 │ │ │ │ │ - mul.w r0, sl, r5 │ │ │ │ │ - mov.w sl, #456 @ 0x1c8 │ │ │ │ │ - str r0, [sp, #168] @ 0xa8 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - movs r3, #176 @ 0xb0 │ │ │ │ │ - mul.w r4, r3, r5 │ │ │ │ │ - str r4, [sp, #144] @ 0x90 │ │ │ │ │ - add.w r3, lr, r4 │ │ │ │ │ - mul.w r4, sl, r5 │ │ │ │ │ - mov.w sl, #200 @ 0xc8 │ │ │ │ │ - str r4, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d9, [r3] │ │ │ │ │ - lsls r3, r5, #3 │ │ │ │ │ - str r3, [sp, #152] @ 0x98 │ │ │ │ │ - add r3, lr │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + mov.w r2, #176 @ 0xb0 │ │ │ │ │ + mul.w r2, r2, r9 │ │ │ │ │ + str r2, [sp, #72] @ 0x48 │ │ │ │ │ + add r2, sl │ │ │ │ │ + vldr d9, [r2] │ │ │ │ │ + add.w r2, sl, r6 │ │ │ │ │ vsub.f64 d8, d5, d9 │ │ │ │ │ vadd.f64 d5, d5, d9 │ │ │ │ │ vadd.f64 d9, d0, d3 │ │ │ │ │ vsub.f64 d3, d0, d3 │ │ │ │ │ vsub.f64 d1, d8, d6 │ │ │ │ │ vadd.f64 d6, d6, d8 │ │ │ │ │ vadd.f64 d8, d2, d5 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ vmul.f64 d1, d1, d10 │ │ │ │ │ vmul.f64 d6, d6, d10 │ │ │ │ │ - b.n 478 │ │ │ │ │ - nop.w │ │ │ │ │ + vmul.f64 d2, d5, d11 │ │ │ │ │ + vmul.f64 d5, d5, d14 │ │ │ │ │ + vadd.f64 d10, d9, d8 │ │ │ │ │ + vmov.f64 d0, d5 │ │ │ │ │ + vsub.f64 d5, d1, d7 │ │ │ │ │ + b.n 468 │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ - .word 0x3c69a60b │ │ │ │ │ - .word 0x3fc8f8b8 │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ + .word 0x3c69a60b │ │ │ │ │ + .word 0x3fc8f8b8 │ │ │ │ │ .word 0xcff75cb0 │ │ │ │ │ .word 0x3fef6297 │ │ │ │ │ .word 0x39ae68c8 │ │ │ │ │ .word 0x3fe1c73b │ │ │ │ │ .word 0x290ea1a3 │ │ │ │ │ .word 0x3fea9b66 │ │ │ │ │ - .word 0x00000450 │ │ │ │ │ + .word 0x0000042e │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - vmul.f64 d2, d5, d11 │ │ │ │ │ - vadd.f64 d10, d9, d8 │ │ │ │ │ - vsub.f64 d9, d9, d8 │ │ │ │ │ - vmul.f64 d5, d5, d14 │ │ │ │ │ - vmov.f64 d8, d11 │ │ │ │ │ - vstr d10, [sp, #440] @ 0x1b8 │ │ │ │ │ - vstr d9, [sp, #680] @ 0x2a8 │ │ │ │ │ + vstr d10, [sp, #312] @ 0x138 │ │ │ │ │ + vsub.f64 d10, d9, d8 │ │ │ │ │ vmov.f64 d9, d2 │ │ │ │ │ - vmov.f64 d0, d5 │ │ │ │ │ - vsub.f64 d5, d1, d7 │ │ │ │ │ - vmla.f64 d0, d3, d11 │ │ │ │ │ vadd.f64 d7, d7, d1 │ │ │ │ │ - vldr d10, [pc, #980] @ 880 │ │ │ │ │ + vmov.f64 d8, d11 │ │ │ │ │ + vmla.f64 d0, d3, d11 │ │ │ │ │ vnmls.f64 d9, d3, d14 │ │ │ │ │ vadd.f64 d3, d4, d6 │ │ │ │ │ vmul.f64 d2, d5, d12 │ │ │ │ │ vmul.f64 d5, d5, d13 │ │ │ │ │ vsub.f64 d6, d4, d6 │ │ │ │ │ - vldr d4, [pc, #964] @ 888 │ │ │ │ │ + vldr d4, [pc, #968] @ 860 │ │ │ │ │ vmla.f64 d5, d3, d12 │ │ │ │ │ vnmls.f64 d2, d3, d13 │ │ │ │ │ - vstr d0, [sp, #456] @ 0x1c8 │ │ │ │ │ - vstr d9, [sp, #448] @ 0x1c0 │ │ │ │ │ - vstr d5, [sp, #472] @ 0x1d8 │ │ │ │ │ + vstr d0, [sp, #328] @ 0x148 │ │ │ │ │ + vstr d9, [sp, #320] @ 0x140 │ │ │ │ │ + vstr d10, [sp, #696] @ 0x2b8 │ │ │ │ │ + vldr d10, [pc, #952] @ 868 │ │ │ │ │ + vstr d2, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d5, [sp, #344] @ 0x158 │ │ │ │ │ vmul.f64 d5, d7, d15 │ │ │ │ │ vmul.f64 d7, d7, d4 │ │ │ │ │ - vstr d2, [sp, #464] @ 0x1d0 │ │ │ │ │ vmov.f64 d1, d5 │ │ │ │ │ vnmls.f64 d1, d6, d4 │ │ │ │ │ - vstr d1, [sp, #480] @ 0x1e0 │ │ │ │ │ + vstr d1, [sp, #352] @ 0x160 │ │ │ │ │ vmov.f64 d1, d7 │ │ │ │ │ vmla.f64 d1, d6, d15 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - add r3, ip │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - add.w r3, lr, r1 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add r2, fp │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + ldr r2, [sp, #8] │ │ │ │ │ + vsub.f64 d0, d6, d7 │ │ │ │ │ vadd.f64 d13, d6, d7 │ │ │ │ │ - vsub.f64 d6, d6, d7 │ │ │ │ │ - vstr d1, [sp, #488] @ 0x1e8 │ │ │ │ │ - vstr d6, [sp, #240] @ 0xf0 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - add r3, ip │ │ │ │ │ - vldr d15, [r3] │ │ │ │ │ - add.w r3, lr, r0 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ - add r3, ip │ │ │ │ │ + add.w r6, r2, r9 │ │ │ │ │ + str r6, [sp, #576] @ 0x240 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + vstr d0, [sp, #136] @ 0x88 │ │ │ │ │ + add.w r2, sl, r6 │ │ │ │ │ + vstr d1, [sp, #360] @ 0x168 │ │ │ │ │ + str r6, [sp, #592] @ 0x250 │ │ │ │ │ + ldr r6, [sp, #32] │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add r2, fp │ │ │ │ │ + vldr d15, [r2] │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + add.w r2, sl, r6 │ │ │ │ │ + str r6, [sp, #600] @ 0x258 │ │ │ │ │ + mov.w r6, #456 @ 0x1c8 │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ + add r2, fp │ │ │ │ │ + mul.w r6, r6, r9 │ │ │ │ │ vadd.f64 d1, d6, d15 │ │ │ │ │ vsub.f64 d15, d6, d15 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - add.w r3, lr, r4 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - mul.w r3, sl, r5 │ │ │ │ │ - str r3, [sp, #184] @ 0xb8 │ │ │ │ │ - mov.w sl, #40 @ 0x28 │ │ │ │ │ - add r3, lr │ │ │ │ │ + vldr d3, [r2] │ │ │ │ │ + add.w r2, sl, r6 │ │ │ │ │ + str r6, [sp, #80] @ 0x50 │ │ │ │ │ + mov.w r6, #200 @ 0xc8 │ │ │ │ │ + mul.w r6, r6, r9 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ vsub.f64 d5, d2, d3 │ │ │ │ │ vadd.f64 d2, d2, d3 │ │ │ │ │ - mul.w r1, sl, r5 │ │ │ │ │ - mov.w sl, #168 @ 0xa8 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - add.w r3, lr, r1 │ │ │ │ │ - str r1, [sp, #192] @ 0xc0 │ │ │ │ │ - mul.w r0, sl, r5 │ │ │ │ │ - mov.w sl, #488 @ 0x1e8 │ │ │ │ │ + add.w r2, sl, r6 │ │ │ │ │ + str r6, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + ldr r2, [sp, #0] │ │ │ │ │ vsub.f64 d6, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - mul.w r4, sl, r5 │ │ │ │ │ - mov.w sl, #232 @ 0xe8 │ │ │ │ │ + mov.w r6, r2, lsl #3 │ │ │ │ │ + add.w r2, sl, r6 │ │ │ │ │ + str r6, [sp, #608] @ 0x260 │ │ │ │ │ + mov.w r6, #168 @ 0xa8 │ │ │ │ │ vadd.f64 d12, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - add r3, ip │ │ │ │ │ - str r0, [sp, #200] @ 0xc8 │ │ │ │ │ - str r4, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + add r2, fp │ │ │ │ │ + mul.w r6, r6, r9 │ │ │ │ │ + str r6, [sp, #96] @ 0x60 │ │ │ │ │ vmul.f64 d11, d6, d10 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - add.w r3, lr, r0 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add.w r2, sl, r6 │ │ │ │ │ + mov.w r6, #488 @ 0x1e8 │ │ │ │ │ vmul.f64 d12, d12, d10 │ │ │ │ │ + mul.w r6, r6, r9 │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - add r3, ip │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - add.w r3, lr, r4 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add r2, fp │ │ │ │ │ + str r6, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d3, [r2] │ │ │ │ │ + add.w r2, sl, r6 │ │ │ │ │ + mov.w r6, #232 @ 0xe8 │ │ │ │ │ + mul.w r6, r6, r9 │ │ │ │ │ + vldr d0, [r2] │ │ │ │ │ + add.w r2, sl, r6 │ │ │ │ │ + str r6, [sp, #112] @ 0x70 │ │ │ │ │ + mov.w r6, #104 @ 0x68 │ │ │ │ │ vadd.f64 d9, d6, d3 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ - vldr d0, [r3] │ │ │ │ │ - mul.w r3, sl, r5 │ │ │ │ │ - str r3, [sp, #216] @ 0xd8 │ │ │ │ │ - mov.w sl, #104 @ 0x68 │ │ │ │ │ - add r3, lr │ │ │ │ │ + mul.w r6, r6, r9 │ │ │ │ │ + str r6, [sp, #120] @ 0x78 │ │ │ │ │ vmul.f64 d3, d6, d14 │ │ │ │ │ vmul.f64 d6, d6, d8 │ │ │ │ │ - mul.w r1, sl, r5 │ │ │ │ │ - vmla.f64 d3, d5, d8 │ │ │ │ │ vsub.f64 d10, d4, d9 │ │ │ │ │ vadd.f64 d4, d4, d9 │ │ │ │ │ - str r1, [sp, #224] @ 0xe0 │ │ │ │ │ - mov.w sl, #504 @ 0x1f8 │ │ │ │ │ vnmls.f64 d6, d5, d14 │ │ │ │ │ - mul.w r4, sl, r5 │ │ │ │ │ - mov.w sl, #248 @ 0xf8 │ │ │ │ │ - vstr d3, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d9, [sp, #248] @ 0xf8 │ │ │ │ │ - vstr d6, [sp, #256] @ 0x100 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - add.w r3, lr, r1 │ │ │ │ │ + vmla.f64 d3, d5, d8 │ │ │ │ │ + vstr d3, [sp, #144] @ 0x90 │ │ │ │ │ + vstr d6, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add.w r2, sl, r6 │ │ │ │ │ vadd.f64 d5, d0, d6 │ │ │ │ │ vsub.f64 d0, d0, d6 │ │ │ │ │ - vstr d5, [sp, #232] @ 0xe8 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - add r3, ip │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - adds r3, r7, r4 │ │ │ │ │ + vstr d5, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + add r2, fp │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ vadd.f64 d3, d5, d6 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ vmul.f64 d14, d5, d14 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ vnmls.f64 d14, d0, d8 │ │ │ │ │ - vldr d8, [pc, #600] @ 890 │ │ │ │ │ + vldr d8, [pc, #584] @ 870 │ │ │ │ │ vmla.f64 d5, d0, d8 │ │ │ │ │ vadd.f64 d0, d13, d1 │ │ │ │ │ vsub.f64 d1, d13, d1 │ │ │ │ │ - vstr d14, [sp, #264] @ 0x108 │ │ │ │ │ - vldr d14, [sp, #232] @ 0xe8 │ │ │ │ │ - vstr d5, [sp, #272] @ 0x110 │ │ │ │ │ + vstr d14, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d14, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d5, [sp, #408] @ 0x198 │ │ │ │ │ vadd.f64 d5, d2, d7 │ │ │ │ │ - vsub.f64 d6, d14, d3 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ + vsub.f64 d6, d14, d3 │ │ │ │ │ vadd.f64 d14, d0, d5 │ │ │ │ │ - vstr d14, [sp, #496] @ 0x1f0 │ │ │ │ │ + vstr d14, [sp, #368] @ 0x170 │ │ │ │ │ vsub.f64 d14, d0, d5 │ │ │ │ │ vadd.f64 d5, d10, d6 │ │ │ │ │ - vldr d0, [pc, #528] @ 880 │ │ │ │ │ + vldr d0, [pc, #520] @ 868 │ │ │ │ │ vsub.f64 d6, d6, d10 │ │ │ │ │ - vldr d10, [pc, #552] @ 8a0 │ │ │ │ │ - vstr d14, [sp, #504] @ 0x1f8 │ │ │ │ │ + vldr d10, [pc, #536] @ 880 │ │ │ │ │ + vstr d14, [sp, #376] @ 0x178 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ - vadd.f64 d13, d1, d5 │ │ │ │ │ + vadd.f64 d14, d1, d5 │ │ │ │ │ vsub.f64 d1, d1, d5 │ │ │ │ │ - vldr d5, [sp, #264] @ 0x108 │ │ │ │ │ - vstr d1, [sp, #696] @ 0x2b8 │ │ │ │ │ + vstr d14, [sp, #704] @ 0x2c0 │ │ │ │ │ + vstr d1, [sp, #712] @ 0x2c8 │ │ │ │ │ vmov.f64 d1, d0 │ │ │ │ │ vadd.f64 d0, d7, d6 │ │ │ │ │ - vsub.f64 d7, d6, d7 │ │ │ │ │ - vldr d6, [sp, #232] @ 0xe8 │ │ │ │ │ - vadd.f64 d14, d9, d5 │ │ │ │ │ - vstr d13, [sp, #688] @ 0x2b0 │ │ │ │ │ + vsub.f64 d6, d6, d7 │ │ │ │ │ + vstr d0, [sp, #720] @ 0x2d0 │ │ │ │ │ + vstr d6, [sp, #728] @ 0x2d8 │ │ │ │ │ + vldr d6, [sp, #128] @ 0x80 │ │ │ │ │ + str r1, [sp, #624] @ 0x270 │ │ │ │ │ + ldr r6, [sp, #16] │ │ │ │ │ + vldr d9, [sp, #144] @ 0x90 │ │ │ │ │ vadd.f64 d3, d6, d3 │ │ │ │ │ - vstr d7, [sp, #712] @ 0x2c8 │ │ │ │ │ - vsub.f64 d6, d5, d9 │ │ │ │ │ - vstr d0, [sp, #704] @ 0x2c0 │ │ │ │ │ + vldr d5, [sp, #400] @ 0x190 │ │ │ │ │ + sub.w r2, r6, r9 │ │ │ │ │ + vldr d0, [sp, #136] @ 0x88 │ │ │ │ │ + mov.w r6, r2, lsl #3 │ │ │ │ │ + add.w r2, lr, r6 │ │ │ │ │ + str r6, [sp, #616] @ 0x268 │ │ │ │ │ + mov.w r6, #376 @ 0x178 │ │ │ │ │ vadd.f64 d7, d4, d3 │ │ │ │ │ - vsub.f64 d2, d3, d4 │ │ │ │ │ - vstr d7, [sp, #512] @ 0x200 │ │ │ │ │ + vsub.f64 d6, d5, d9 │ │ │ │ │ + vadd.f64 d14, d9, d5 │ │ │ │ │ + vsub.f64 d4, d3, d4 │ │ │ │ │ + vstr d7, [sp, #384] @ 0x180 │ │ │ │ │ vsub.f64 d7, d11, d15 │ │ │ │ │ - vstr d2, [sp, #520] @ 0x208 │ │ │ │ │ vadd.f64 d15, d15, d11 │ │ │ │ │ - vadd.f64 d3, d7, d6 │ │ │ │ │ - vstr d3, [sp, #720] @ 0x2d0 │ │ │ │ │ - vsub.f64 d3, d6, d7 │ │ │ │ │ - vldr d6, [sp, #240] @ 0xf0 │ │ │ │ │ - vsub.f64 d7, d6, d12 │ │ │ │ │ - vstr d3, [sp, #728] @ 0x2d8 │ │ │ │ │ - vadd.f64 d12, d6, d12 │ │ │ │ │ + vstr d4, [sp, #392] @ 0x188 │ │ │ │ │ + vadd.f64 d2, d7, d6 │ │ │ │ │ + vsub.f64 d6, d6, d7 │ │ │ │ │ + vsub.f64 d7, d0, d12 │ │ │ │ │ + vadd.f64 d12, d0, d12 │ │ │ │ │ + vstr d2, [sp, #736] @ 0x2e0 │ │ │ │ │ vadd.f64 d9, d7, d14 │ │ │ │ │ vsub.f64 d4, d7, d14 │ │ │ │ │ - vstr d9, [sp, #736] @ 0x2e0 │ │ │ │ │ - vldr d9, [sp, #272] @ 0x110 │ │ │ │ │ - vldr d14, [sp, #256] @ 0x100 │ │ │ │ │ - str r4, [sp, #232] @ 0xe8 │ │ │ │ │ - vstr d4, [sp, #744] @ 0x2e8 │ │ │ │ │ - vadd.f64 d6, d14, d9 │ │ │ │ │ + vldr d14, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d6, [sp, #744] @ 0x2e8 │ │ │ │ │ + vstr d9, [sp, #752] @ 0x2f0 │ │ │ │ │ + vldr d9, [sp, #408] @ 0x198 │ │ │ │ │ + vstr d4, [sp, #760] @ 0x2f8 │ │ │ │ │ vsub.f64 d7, d9, d14 │ │ │ │ │ - vadd.f64 d14, d12, d6 │ │ │ │ │ - vsub.f64 d6, d12, d6 │ │ │ │ │ - vadd.f64 d0, d15, d7 │ │ │ │ │ - vsub.f64 d15, d7, d15 │ │ │ │ │ + vsub.f64 d6, d7, d15 │ │ │ │ │ + vadd.f64 d11, d15, d7 │ │ │ │ │ + vstr d11, [sp, #768] @ 0x300 │ │ │ │ │ vstr d6, [sp, #776] @ 0x308 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - mul.w r3, sl, r5 │ │ │ │ │ - mov.w sl, #120 @ 0x78 │ │ │ │ │ - str r3, [sp, #240] @ 0xf0 │ │ │ │ │ - adds r3, r7, r3 │ │ │ │ │ - vstr d15, [sp, #760] @ 0x2f8 │ │ │ │ │ - vstr d14, [sp, #768] @ 0x300 │ │ │ │ │ - mul.w r4, sl, r5 │ │ │ │ │ - mov.w sl, #376 @ 0x178 │ │ │ │ │ - vldr d15, [r3] │ │ │ │ │ - adds r3, r7, r4 │ │ │ │ │ - vstr d0, [sp, #752] @ 0x2f0 │ │ │ │ │ - add r4, lr │ │ │ │ │ + vadd.f64 d6, d14, d9 │ │ │ │ │ + vadd.f64 d0, d12, d6 │ │ │ │ │ + vsub.f64 d9, d12, d6 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add.w r2, lr, r5 │ │ │ │ │ + add r5, sl │ │ │ │ │ + vldr d15, [r2] │ │ │ │ │ + add.w r2, lr, r3 │ │ │ │ │ + add r3, sl │ │ │ │ │ + vstr d0, [sp, #784] @ 0x310 │ │ │ │ │ + vstr d9, [sp, #792] @ 0x318 │ │ │ │ │ vsub.f64 d14, d6, d15 │ │ │ │ │ vadd.f64 d15, d6, d15 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - mla r3, sl, r5, r7 │ │ │ │ │ - mov.w sl, #56 @ 0x38 │ │ │ │ │ - mul.w r0, sl, r5 │ │ │ │ │ - vldr d13, [r3] │ │ │ │ │ - mov.w sl, #312 @ 0x138 │ │ │ │ │ - adds r3, r7, r0 │ │ │ │ │ - add r0, lr │ │ │ │ │ - vsub.f64 d9, d6, d13 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + mla r2, r6, r9, lr │ │ │ │ │ + mov.w r6, #408 @ 0x198 │ │ │ │ │ + vldr d13, [r2] │ │ │ │ │ + add.w r2, lr, r1 │ │ │ │ │ + mov.w r1, #312 @ 0x138 │ │ │ │ │ + vsub.f64 d0, d6, d13 │ │ │ │ │ vadd.f64 d13, d6, d13 │ │ │ │ │ - vldr d0, [r3] │ │ │ │ │ - mla r3, sl, r5, r7 │ │ │ │ │ - mov.w sl, #440 @ 0x1b8 │ │ │ │ │ - vstr d9, [sp, #592] @ 0x250 │ │ │ │ │ - mul.w r1, sl, r5 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - mov.w sl, #184 @ 0xb8 │ │ │ │ │ - str r1, [sp, #248] @ 0xf8 │ │ │ │ │ - adds r3, r7, r1 │ │ │ │ │ + vstr d0, [sp, #464] @ 0x1d0 │ │ │ │ │ + vldr d0, [r2] │ │ │ │ │ + mla r2, r1, r9, lr │ │ │ │ │ + mov.w r1, #440 @ 0x1b8 │ │ │ │ │ + mul.w r1, r1, r9 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add.w r2, lr, r1 │ │ │ │ │ + str r1, [sp, #128] @ 0x80 │ │ │ │ │ + mov.w r1, #184 @ 0xb8 │ │ │ │ │ + mul.w r1, r1, r9 │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ vsub.f64 d4, d0, d6 │ │ │ │ │ vadd.f64 d0, d0, d6 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ - mul.w r3, sl, r5 │ │ │ │ │ - str r3, [sp, #256] @ 0x100 │ │ │ │ │ - mov.w sl, #24 │ │ │ │ │ - adds r3, r7, r3 │ │ │ │ │ - mul.w r1, sl, r5 │ │ │ │ │ - mov.w sl, #280 @ 0x118 │ │ │ │ │ - vldr d11, [r3] │ │ │ │ │ - adds r3, r7, r1 │ │ │ │ │ - add r1, lr │ │ │ │ │ + add.w r2, lr, r1 │ │ │ │ │ + str r1, [sp, #136] @ 0x88 │ │ │ │ │ + mov.w r1, r0, lsl #3 │ │ │ │ │ + vldr d11, [r2] │ │ │ │ │ + add.w r2, lr, r1 │ │ │ │ │ + str r1, [sp, #632] @ 0x278 │ │ │ │ │ + mov.w r1, #280 @ 0x118 │ │ │ │ │ vsub.f64 d7, d2, d11 │ │ │ │ │ vadd.f64 d11, d2, d11 │ │ │ │ │ vadd.f64 d5, d4, d7 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ vmul.f64 d12, d7, d1 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - mla r3, sl, r5, r7 │ │ │ │ │ - mov.w sl, #152 @ 0x98 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + mla r2, r1, r9, lr │ │ │ │ │ + mov.w r1, #152 @ 0x98 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - mul.w r3, sl, r5 │ │ │ │ │ - str r3, [sp, #264] @ 0x108 │ │ │ │ │ - mov.w sl, #408 @ 0x198 │ │ │ │ │ - adds r3, r7, r3 │ │ │ │ │ + mul.w r1, r1, r9 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add.w r2, lr, r1 │ │ │ │ │ + add r1, sl │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ + mla r2, r6, r9, lr │ │ │ │ │ + mov.w r6, #472 @ 0x1d8 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ - mla r3, sl, r5, r7 │ │ │ │ │ - mov.w sl, #472 @ 0x1d8 │ │ │ │ │ - vstr d7, [sp, #528] @ 0x210 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - mul.w r3, sl, r5 │ │ │ │ │ - str r3, [sp, #272] @ 0x110 │ │ │ │ │ - mov.w sl, #216 @ 0xd8 │ │ │ │ │ - adds r3, r7, r3 │ │ │ │ │ + mul.w r6, r6, r9 │ │ │ │ │ + vldr d3, [r2] │ │ │ │ │ + add.w r2, lr, r6 │ │ │ │ │ + str r6, [sp, #144] @ 0x90 │ │ │ │ │ + mov.w r6, #216 @ 0xd8 │ │ │ │ │ + mul.w r6, r6, r9 │ │ │ │ │ vsub.f64 d6, d2, d3 │ │ │ │ │ vadd.f64 d2, d2, d3 │ │ │ │ │ + str r6, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d7, [sp, #400] @ 0x190 │ │ │ │ │ vmul.f64 d3, d6, d10 │ │ │ │ │ vmul.f64 d6, d6, d8 │ │ │ │ │ - vmla.f64 d6, d4, d10 │ │ │ │ │ vsub.f64 d9, d7, d2 │ │ │ │ │ vmov.f64 d7, d8 │ │ │ │ │ + vmla.f64 d6, d4, d10 │ │ │ │ │ vnmls.f64 d3, d4, d8 │ │ │ │ │ - vstr d6, [sp, #600] @ 0x258 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - mul.w r3, sl, r5 │ │ │ │ │ - str r3, [sp, #280] @ 0x118 │ │ │ │ │ - mov.w sl, #88 @ 0x58 │ │ │ │ │ - adds r3, r7, r3 │ │ │ │ │ - vstr d3, [sp, #536] @ 0x218 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - mul.w r3, sl, r5 │ │ │ │ │ - add.w sl, r7, r3 │ │ │ │ │ - add r3, lr │ │ │ │ │ - vadd.f64 d3, d6, d4 │ │ │ │ │ - vsub.f64 d8, d6, d4 │ │ │ │ │ - vmov.f64 d6, d7 │ │ │ │ │ - vstr d3, [sp, #544] @ 0x220 │ │ │ │ │ - vldr d1, [sl] │ │ │ │ │ - b.n 8a8 │ │ │ │ │ - .word 0x667f3bcd │ │ │ │ │ - .word 0x3fe6a09e │ │ │ │ │ + vstr d3, [sp, #408] @ 0x198 │ │ │ │ │ + vstr d6, [sp, #472] @ 0x1d8 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add.w r2, lr, r6 │ │ │ │ │ + mov.w r6, #88 @ 0x58 │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + b.n 888 │ │ │ │ │ + nop │ │ │ │ │ .word 0x290ea1a3 │ │ │ │ │ .word 0x3fea9b66 │ │ │ │ │ + .word 0x667f3bcd │ │ │ │ │ + .word 0x3fe6a09e │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ - mov.w sl, #344 @ 0x158 │ │ │ │ │ - mla sl, sl, r5, r7 │ │ │ │ │ - vldr d3, [sl] │ │ │ │ │ - add.w sl, r7, ip │ │ │ │ │ + mul.w r2, r6, r9 │ │ │ │ │ + add.w r6, lr, r2 │ │ │ │ │ + add r2, sl │ │ │ │ │ + vldr d1, [r6] │ │ │ │ │ + mov.w r6, #344 @ 0x158 │ │ │ │ │ + vadd.f64 d3, d6, d4 │ │ │ │ │ + vsub.f64 d8, d6, d4 │ │ │ │ │ + mla r6, r6, r9, lr │ │ │ │ │ + vmov.f64 d6, d7 │ │ │ │ │ + vstr d3, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d3, [r6] │ │ │ │ │ + add.w r6, lr, fp │ │ │ │ │ vsub.f64 d4, d1, d3 │ │ │ │ │ vadd.f64 d1, d1, d3 │ │ │ │ │ vmul.f64 d3, d4, d10 │ │ │ │ │ vmul.f64 d4, d4, d6 │ │ │ │ │ vmla.f64 d3, d8, d7 │ │ │ │ │ vnmls.f64 d4, d8, d10 │ │ │ │ │ - vldr d8, [sp, #536] @ 0x218 │ │ │ │ │ + vldr d8, [sp, #408] @ 0x198 │ │ │ │ │ vadd.f64 d10, d14, d5 │ │ │ │ │ vsub.f64 d5, d14, d5 │ │ │ │ │ vmov.f64 d7, d3 │ │ │ │ │ - vldr d3, [sp, #544] @ 0x220 │ │ │ │ │ - vsub.f64 d3, d3, d1 │ │ │ │ │ + vldr d3, [sp, #416] @ 0x1a0 │ │ │ │ │ vadd.f64 d8, d8, d7 │ │ │ │ │ - vstr d7, [sp, #552] @ 0x228 │ │ │ │ │ - vldr d7, [pc, #-92] @ 898 │ │ │ │ │ + vstr d7, [sp, #424] @ 0x1a8 │ │ │ │ │ + vldr d7, [pc, #-116] @ 878 │ │ │ │ │ + vsub.f64 d3, d3, d1 │ │ │ │ │ vadd.f64 d6, d10, d8 │ │ │ │ │ vsub.f64 d8, d10, d8 │ │ │ │ │ vsub.f64 d10, d15, d13 │ │ │ │ │ vadd.f64 d15, d15, d13 │ │ │ │ │ - vstr d8, [sp, #792] @ 0x318 │ │ │ │ │ + vstr d6, [sp, #800] @ 0x320 │ │ │ │ │ + vmov.f64 d6, d7 │ │ │ │ │ + vstr d8, [sp, #808] @ 0x328 │ │ │ │ │ vadd.f64 d8, d9, d3 │ │ │ │ │ - vstr d6, [sp, #784] @ 0x310 │ │ │ │ │ vsub.f64 d3, d3, d9 │ │ │ │ │ - vmov.f64 d9, d7 │ │ │ │ │ + vmov.f64 d9, d6 │ │ │ │ │ vmul.f64 d8, d8, d7 │ │ │ │ │ - vmul.f64 d3, d3, d7 │ │ │ │ │ - vadd.f64 d6, d10, d8 │ │ │ │ │ + vmul.f64 d3, d3, d6 │ │ │ │ │ + vadd.f64 d7, d10, d8 │ │ │ │ │ vsub.f64 d8, d10, d8 │ │ │ │ │ - vldr d10, [sp, #592] @ 0x250 │ │ │ │ │ - vstr d8, [sp, #568] @ 0x238 │ │ │ │ │ + vldr d10, [sp, #464] @ 0x1d0 │ │ │ │ │ + vstr d7, [sp, #432] @ 0x1b0 │ │ │ │ │ + vstr d8, [sp, #440] @ 0x1b8 │ │ │ │ │ vsub.f64 d8, d11, d0 │ │ │ │ │ - vstr d6, [sp, #560] @ 0x230 │ │ │ │ │ vadd.f64 d11, d11, d0 │ │ │ │ │ vadd.f64 d7, d8, d3 │ │ │ │ │ vsub.f64 d3, d3, d8 │ │ │ │ │ vsub.f64 d13, d15, d11 │ │ │ │ │ - vadd.f64 d11, d15, d11 │ │ │ │ │ - vstr d7, [sp, #576] @ 0x240 │ │ │ │ │ - vldr d7, [sp, #600] @ 0x258 │ │ │ │ │ - vstr d3, [sp, #584] @ 0x248 │ │ │ │ │ + vadd.f64 d0, d15, d11 │ │ │ │ │ + vstr d7, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d7, [sp, #472] @ 0x1d8 │ │ │ │ │ + vstr d3, [sp, #456] @ 0x1c8 │ │ │ │ │ vsub.f64 d3, d12, d10 │ │ │ │ │ vadd.f64 d12, d10, d12 │ │ │ │ │ - vstr d13, [sp, #592] @ 0x250 │ │ │ │ │ + vstr d13, [sp, #464] @ 0x1d0 │ │ │ │ │ + vstr d0, [sp, #472] @ 0x1d8 │ │ │ │ │ + vldr d10, [pc, #-236] @ 880 │ │ │ │ │ vsub.f64 d8, d4, d7 │ │ │ │ │ vadd.f64 d4, d7, d4 │ │ │ │ │ - vldr d7, [sp, #544] @ 0x220 │ │ │ │ │ - vstr d11, [sp, #600] @ 0x258 │ │ │ │ │ - vldr d10, [pc, #-216] @ 8a0 │ │ │ │ │ + vldr d7, [sp, #416] @ 0x1a0 │ │ │ │ │ vadd.f64 d6, d3, d8 │ │ │ │ │ vadd.f64 d14, d5, d4 │ │ │ │ │ - vsub.f64 d3, d8, d3 │ │ │ │ │ + vsub.f64 d8, d8, d3 │ │ │ │ │ vsub.f64 d4, d5, d4 │ │ │ │ │ - vstr d6, [sp, #800] @ 0x320 │ │ │ │ │ + vstr d6, [sp, #816] @ 0x330 │ │ │ │ │ vadd.f64 d6, d7, d1 │ │ │ │ │ - vldr d7, [sp, #528] @ 0x210 │ │ │ │ │ - vstr d3, [sp, #808] @ 0x328 │ │ │ │ │ - vstr d14, [sp, #816] @ 0x330 │ │ │ │ │ + vldr d7, [sp, #400] @ 0x190 │ │ │ │ │ + vstr d8, [sp, #824] @ 0x338 │ │ │ │ │ + vstr d14, [sp, #832] @ 0x340 │ │ │ │ │ + vstr d4, [sp, #840] @ 0x348 │ │ │ │ │ + vldr d1, [pc, #-308] @ 870 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ - vldr d14, [sp, #536] @ 0x218 │ │ │ │ │ - vldr d3, [sp, #552] @ 0x228 │ │ │ │ │ - vstr d4, [sp, #824] @ 0x338 │ │ │ │ │ - vldr d1, [pc, #-288] @ 890 │ │ │ │ │ vsub.f64 d2, d6, d7 │ │ │ │ │ - vadd.f64 d15, d6, d7 │ │ │ │ │ + vadd.f64 d11, d6, d7 │ │ │ │ │ + vstr d2, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d14, [sp, #408] @ 0x198 │ │ │ │ │ + vstr d11, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d3, [sp, #424] @ 0x1a8 │ │ │ │ │ + vldr d15, [r6] │ │ │ │ │ + ldr r6, [sp, #40] @ 0x28 │ │ │ │ │ vsub.f64 d6, d3, d14 │ │ │ │ │ - vstr d2, [sp, #528] @ 0x210 │ │ │ │ │ - vsub.f64 d14, d6, d12 │ │ │ │ │ - vadd.f64 d2, d12, d6 │ │ │ │ │ - vstr d15, [sp, #544] @ 0x220 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - vldr d15, [sl] │ │ │ │ │ - add.w sl, r7, r2 │ │ │ │ │ - vstr d14, [sp, #840] @ 0x348 │ │ │ │ │ - vstr d2, [sp, #832] @ 0x340 │ │ │ │ │ + add r6, lr │ │ │ │ │ + vadd.f64 d14, d12, d6 │ │ │ │ │ + vsub.f64 d13, d6, d12 │ │ │ │ │ + vldr d6, [lr] │ │ │ │ │ + vstr d14, [sp, #848] @ 0x350 │ │ │ │ │ vsub.f64 d14, d6, d15 │ │ │ │ │ vadd.f64 d15, d6, d15 │ │ │ │ │ - vldr d6, [sl] │ │ │ │ │ - mov.w sl, #384 @ 0x180 │ │ │ │ │ - mla sl, sl, r5, r7 │ │ │ │ │ - vldr d13, [sl] │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + add.w r6, lr, r0, lsl #7 │ │ │ │ │ + vstr d13, [sp, #856] @ 0x358 │ │ │ │ │ + ldr r0, [sp, #16] │ │ │ │ │ + vldr d13, [r6] │ │ │ │ │ + add.w r6, lr, r0 │ │ │ │ │ + ldr r0, [sp, #0] │ │ │ │ │ + vldr d0, [r6] │ │ │ │ │ vsub.f64 d2, d6, d13 │ │ │ │ │ vadd.f64 d13, d6, d13 │ │ │ │ │ - vstr d2, [sp, #536] @ 0x218 │ │ │ │ │ - ldr r2, [sp, #16] │ │ │ │ │ - add.w sl, r7, r2 │ │ │ │ │ - ldr r2, [sp, #0] │ │ │ │ │ - vldr d0, [sl] │ │ │ │ │ - mov.w sl, #320 @ 0x140 │ │ │ │ │ - mla sl, sl, r5, r7 │ │ │ │ │ - vldr d6, [sl] │ │ │ │ │ - add.w sl, r7, r2 │ │ │ │ │ - ldr r2, [sp, #8] │ │ │ │ │ - vldr d2, [sl] │ │ │ │ │ - add.w sl, r7, r2 │ │ │ │ │ + add.w r0, lr, r0, lsl #6 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + vstr d2, [sp, #408] @ 0x198 │ │ │ │ │ + ldr r0, [sp, #480] @ 0x1e0 │ │ │ │ │ vsub.f64 d4, d0, d6 │ │ │ │ │ - ldr r2, [sp, #24] │ │ │ │ │ vadd.f64 d0, d0, d6 │ │ │ │ │ - vldr d11, [sl] │ │ │ │ │ - add.w sl, r7, r2 │ │ │ │ │ - mov.w r2, #288 @ 0x120 │ │ │ │ │ + add.w r6, lr, r0 │ │ │ │ │ + ldr r0, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d2, [r6] │ │ │ │ │ + add.w r6, lr, r0 │ │ │ │ │ + ldr r0, [sp, #24] │ │ │ │ │ + vldr d11, [r6] │ │ │ │ │ + add.w r6, lr, r0 │ │ │ │ │ + ldr r0, [sp, #32] │ │ │ │ │ vsub.f64 d7, d2, d11 │ │ │ │ │ vadd.f64 d11, d2, d11 │ │ │ │ │ + add.w r0, lr, r0, lsl #5 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ vadd.f64 d5, d4, d7 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ + ldr r0, [sp, #504] @ 0x1f8 │ │ │ │ │ vmul.f64 d12, d7, d9 │ │ │ │ │ - vldr d7, [sl] │ │ │ │ │ - mla sl, r2, r5, r7 │ │ │ │ │ - ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + add.w r6, lr, r0 │ │ │ │ │ vmul.f64 d5, d5, d9 │ │ │ │ │ - vldr d6, [sl] │ │ │ │ │ - add.w sl, r7, r2 │ │ │ │ │ - ldr r2, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d2, [sl] │ │ │ │ │ - mov.w sl, #416 @ 0x1a0 │ │ │ │ │ + vldr d2, [r6] │ │ │ │ │ + mov.w r6, #416 @ 0x1a0 │ │ │ │ │ + mla r6, r6, r9, lr │ │ │ │ │ + ldr r0, [sp, #512] @ 0x200 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - mla sl, sl, r5, r7 │ │ │ │ │ + vldr d3, [r6] │ │ │ │ │ + add.w r6, lr, r0 │ │ │ │ │ + ldr r0, [sp, #520] @ 0x208 │ │ │ │ │ vstr d7, [sp] │ │ │ │ │ - vldr d3, [sl] │ │ │ │ │ - add.w sl, r7, r2 │ │ │ │ │ - ldr r2, [sp, #56] @ 0x38 │ │ │ │ │ vsub.f64 d6, d2, d3 │ │ │ │ │ vadd.f64 d2, d2, d3 │ │ │ │ │ vmul.f64 d3, d6, d10 │ │ │ │ │ vmul.f64 d6, d6, d1 │ │ │ │ │ - vmla.f64 d6, d4, d10 │ │ │ │ │ vsub.f64 d9, d7, d2 │ │ │ │ │ vmov.f64 d7, d1 │ │ │ │ │ + vmla.f64 d6, d4, d10 │ │ │ │ │ vnmls.f64 d3, d4, d1 │ │ │ │ │ - vstr d6, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d6, [sl] │ │ │ │ │ - add.w sl, r7, r2 │ │ │ │ │ - ldr r2, [sp, #32] │ │ │ │ │ - vstr d3, [sp, #8] │ │ │ │ │ - vldr d4, [sl] │ │ │ │ │ - add.w sl, r7, r2 │ │ │ │ │ - mov.w r2, #352 @ 0x160 │ │ │ │ │ + vstr d3, [sp, #16] │ │ │ │ │ + vstr d6, [sp, #424] @ 0x1a8 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + add.w r6, lr, r0 │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ + ldr r0, [sp, #496] @ 0x1f0 │ │ │ │ │ vadd.f64 d3, d6, d4 │ │ │ │ │ - vldr d1, [sl] │ │ │ │ │ - mla sl, r2, r5, r7 │ │ │ │ │ vsub.f64 d8, d6, d4 │ │ │ │ │ - vmov.f64 d6, d7 │ │ │ │ │ - vstr d3, [sp, #16] │ │ │ │ │ - vldr d3, [sl] │ │ │ │ │ + add.w r6, lr, r0 │ │ │ │ │ + mov.w r0, #352 @ 0x160 │ │ │ │ │ + vmov.f64 d6, d1 │ │ │ │ │ + vldr d1, [r6] │ │ │ │ │ + mla r6, r0, r9, lr │ │ │ │ │ + ldr r0, [sp, #616] @ 0x268 │ │ │ │ │ + vstr d3, [sp, #32] │ │ │ │ │ + vldr d3, [r6] │ │ │ │ │ + add r0, sl │ │ │ │ │ vsub.f64 d4, d1, d3 │ │ │ │ │ vadd.f64 d1, d1, d3 │ │ │ │ │ vmul.f64 d3, d4, d10 │ │ │ │ │ vmul.f64 d4, d4, d6 │ │ │ │ │ + vldr d6, [sp, #16] │ │ │ │ │ vmla.f64 d3, d8, d7 │ │ │ │ │ - vldr d6, [sp, #8] │ │ │ │ │ vnmls.f64 d4, d8, d10 │ │ │ │ │ vadd.f64 d10, d14, d5 │ │ │ │ │ vsub.f64 d5, d14, d5 │ │ │ │ │ vmov.f64 d7, d3 │ │ │ │ │ - vldr d3, [sp, #16] │ │ │ │ │ - vsub.f64 d3, d3, d1 │ │ │ │ │ + vldr d3, [sp, #32] │ │ │ │ │ vadd.f64 d8, d6, d7 │ │ │ │ │ - vstr d7, [sp, #24] │ │ │ │ │ - vldr d7, [pc, #-652] @ 898 │ │ │ │ │ - vadd.f64 d6, d10, d8 │ │ │ │ │ + vstr d7, [sp, #40] @ 0x28 │ │ │ │ │ + vsub.f64 d3, d3, d1 │ │ │ │ │ + vadd.f64 d7, d10, d8 │ │ │ │ │ vsub.f64 d8, d10, d8 │ │ │ │ │ vsub.f64 d10, d15, d13 │ │ │ │ │ vadd.f64 d15, d15, d13 │ │ │ │ │ - vstr d8, [sp, #856] @ 0x358 │ │ │ │ │ + vstr d7, [sp, #864] @ 0x360 │ │ │ │ │ + vldr d7, [pc, #-700] @ 878 │ │ │ │ │ + vstr d8, [sp, #872] @ 0x368 │ │ │ │ │ vadd.f64 d8, d9, d3 │ │ │ │ │ - vstr d6, [sp, #848] @ 0x350 │ │ │ │ │ vsub.f64 d3, d3, d9 │ │ │ │ │ vmov.f64 d6, d7 │ │ │ │ │ vmul.f64 d8, d8, d7 │ │ │ │ │ vmul.f64 d3, d3, d6 │ │ │ │ │ vmov.f64 d9, d6 │ │ │ │ │ vadd.f64 d7, d10, d8 │ │ │ │ │ vsub.f64 d8, d10, d8 │ │ │ │ │ - vstr d8, [sp, #872] @ 0x368 │ │ │ │ │ + vstr d7, [sp, #880] @ 0x370 │ │ │ │ │ + vstr d8, [sp, #888] @ 0x378 │ │ │ │ │ vsub.f64 d8, d11, d0 │ │ │ │ │ - vstr d7, [sp, #864] @ 0x360 │ │ │ │ │ vadd.f64 d11, d11, d0 │ │ │ │ │ - vadd.f64 d7, d8, d3 │ │ │ │ │ + vldr d0, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d7, [sp, #424] @ 0x1a8 │ │ │ │ │ + vadd.f64 d10, d8, d3 │ │ │ │ │ vsub.f64 d3, d3, d8 │ │ │ │ │ - vsub.f64 d13, d15, d11 │ │ │ │ │ - vadd.f64 d15, d15, d11 │ │ │ │ │ - vstr d7, [sp, #880] @ 0x370 │ │ │ │ │ - vstr d3, [sp, #888] @ 0x378 │ │ │ │ │ - vldr d7, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d10, [sp, #536] @ 0x218 │ │ │ │ │ - vldr d0, [sp, #24] │ │ │ │ │ vsub.f64 d8, d4, d7 │ │ │ │ │ vadd.f64 d4, d7, d4 │ │ │ │ │ + vldr d7, [sp, #32] │ │ │ │ │ + vstr d10, [sp, #896] @ 0x380 │ │ │ │ │ + vldr d10, [sp, #408] @ 0x198 │ │ │ │ │ + vstr d3, [sp, #904] @ 0x388 │ │ │ │ │ + vadd.f64 d14, d5, d4 │ │ │ │ │ + vsub.f64 d4, d5, d4 │ │ │ │ │ vsub.f64 d3, d12, d10 │ │ │ │ │ - vldr d7, [sp, #16] │ │ │ │ │ - ldr r2, [sp, #232] @ 0xe8 │ │ │ │ │ vadd.f64 d12, d10, d12 │ │ │ │ │ - vstr d15, [sp, #32] │ │ │ │ │ - vadd.f64 d14, d5, d4 │ │ │ │ │ - add.w sl, lr, r2 │ │ │ │ │ + vstr d14, [sp, #928] @ 0x3a0 │ │ │ │ │ + vldr d14, [sp, #16] │ │ │ │ │ + vstr d4, [sp, #936] @ 0x3a8 │ │ │ │ │ + vsub.f64 d4, d15, d11 │ │ │ │ │ + vadd.f64 d11, d15, d11 │ │ │ │ │ vadd.f64 d6, d3, d8 │ │ │ │ │ - ldr r2, [sp, #240] @ 0xf0 │ │ │ │ │ vsub.f64 d3, d8, d3 │ │ │ │ │ - vsub.f64 d4, d5, d4 │ │ │ │ │ - vstr d13, [sp, #928] @ 0x3a0 │ │ │ │ │ - vstr d14, [sp, #912] @ 0x390 │ │ │ │ │ - vstr d6, [sp, #896] @ 0x380 │ │ │ │ │ + vldr d8, [pc, #-832] @ 880 │ │ │ │ │ + vstr d4, [sp, #408] @ 0x198 │ │ │ │ │ + vstr d11, [sp, #424] @ 0x1a8 │ │ │ │ │ + vstr d6, [sp, #912] @ 0x390 │ │ │ │ │ vadd.f64 d6, d7, d1 │ │ │ │ │ vldr d7, [sp] │ │ │ │ │ - vldr d14, [sp, #8] │ │ │ │ │ - vstr d3, [sp, #904] @ 0x388 │ │ │ │ │ + vstr d3, [sp, #920] @ 0x398 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ - vstr d4, [sp, #920] @ 0x398 │ │ │ │ │ - vldr d8, [pc, #-840] @ 8a0 │ │ │ │ │ vsub.f64 d2, d6, d7 │ │ │ │ │ - vadd.f64 d11, d6, d7 │ │ │ │ │ + vadd.f64 d15, d6, d7 │ │ │ │ │ vsub.f64 d6, d0, d14 │ │ │ │ │ - vstr d2, [sp, #16] │ │ │ │ │ + vstr d2, [sp, #32] │ │ │ │ │ vadd.f64 d0, d12, d6 │ │ │ │ │ - vsub.f64 d15, d6, d12 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ - add r0, ip │ │ │ │ │ - vldr d6, [sl] │ │ │ │ │ - add.w sl, lr, r2 │ │ │ │ │ - ldr r2, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d3, [r0] │ │ │ │ │ - vldr d14, [sl] │ │ │ │ │ - add.w r0, lr, r2 │ │ │ │ │ - ldr r2, [sp, #256] @ 0x100 │ │ │ │ │ - mov.w sl, r6, lsl #8 │ │ │ │ │ - vstr d15, [sp, #944] @ 0x3b0 │ │ │ │ │ + vstr d15, [sp, #480] @ 0x1e0 │ │ │ │ │ + vstr d0, [sp, #944] @ 0x3b0 │ │ │ │ │ + vsub.f64 d0, d6, d12 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + vstr d0, [sp, #952] @ 0x3b8 │ │ │ │ │ + vldr d14, [r5] │ │ │ │ │ + ldr r5, [sp, #624] @ 0x270 │ │ │ │ │ vadd.f64 d12, d6, d14 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ vsub.f64 d14, d6, d14 │ │ │ │ │ - add.w r0, lr, r2 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - add r4, ip │ │ │ │ │ - ldr r2, [sp, #264] @ 0x108 │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ - vldr d15, [r4] │ │ │ │ │ - add r2, lr │ │ │ │ │ - vstr d11, [sp, #40] @ 0x28 │ │ │ │ │ - vsub.f64 d5, d7, d4 │ │ │ │ │ - vadd.f64 d7, d7, d4 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + add r3, fp │ │ │ │ │ + vldr d15, [r3] │ │ │ │ │ + add.w r3, sl, r5 │ │ │ │ │ + ldr r5, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ + add r3, fp │ │ │ │ │ + vldr d3, [r3] │ │ │ │ │ vadd.f64 d1, d6, d15 │ │ │ │ │ vsub.f64 d15, d6, d15 │ │ │ │ │ + add.w r3, sl, r5 │ │ │ │ │ + ldr r5, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ vsub.f64 d6, d2, d3 │ │ │ │ │ - vstr d0, [sp, #936] @ 0x3a8 │ │ │ │ │ vadd.f64 d2, d2, d3 │ │ │ │ │ - vstr d7, [sp, #24] │ │ │ │ │ + add.w r3, sl, r5 │ │ │ │ │ + ldr r5, [sp, #632] @ 0x278 │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ + add.w r0, sl, r5 │ │ │ │ │ + mov.w r5, #304 @ 0x130 │ │ │ │ │ + vsub.f64 d5, d7, d4 │ │ │ │ │ + vadd.f64 d7, d7, d4 │ │ │ │ │ vsub.f64 d13, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - add r1, ip │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + add r0, fp │ │ │ │ │ + vstr d7, [sp, #40] @ 0x28 │ │ │ │ │ vmul.f64 d11, d6, d9 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ vmul.f64 d13, d13, d9 │ │ │ │ │ + mov.w r0, #368 @ 0x170 │ │ │ │ │ vadd.f64 d4, d5, d6 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - add r2, ip │ │ │ │ │ - vldr d3, [r2] │ │ │ │ │ - ldr r2, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + add r1, fp │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ + ldr r1, [sp, #144] @ 0x90 │ │ │ │ │ vadd.f64 d7, d6, d3 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ - add r2, lr │ │ │ │ │ + add.w r3, sl, r1 │ │ │ │ │ + ldr r1, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d0, [r3] │ │ │ │ │ vmul.f64 d3, d6, d8 │ │ │ │ │ - vldr d0, [r2] │ │ │ │ │ - ldr r2, [sp, #280] @ 0x118 │ │ │ │ │ + add.w r3, sl, r1 │ │ │ │ │ vstr d7, [sp] │ │ │ │ │ - add r2, lr │ │ │ │ │ vmov.f64 d10, d3 │ │ │ │ │ - vldr d3, [pc, #988] @ 1098 │ │ │ │ │ + vldr d3, [pc, #972] @ 1088 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ - vmla.f64 d6, d5, d8 │ │ │ │ │ vnmls.f64 d10, d5, d3 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - add r3, ip │ │ │ │ │ - mov.w ip, #272 @ 0x110 │ │ │ │ │ - vstr d6, [sp, #536] @ 0x218 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - vstr d10, [sp, #256] @ 0x100 │ │ │ │ │ + vmla.f64 d6, d5, d8 │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + add r2, fp │ │ │ │ │ + mov.w fp, r4, lsl #6 │ │ │ │ │ + vstr d10, [sp, #504] @ 0x1f8 │ │ │ │ │ vsub.f64 d10, d4, d7 │ │ │ │ │ vmov.f64 d7, d8 │ │ │ │ │ + vstr d6, [sp, #520] @ 0x208 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ vadd.f64 d3, d0, d6 │ │ │ │ │ vsub.f64 d0, d0, d6 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ vadd.f64 d8, d5, d6 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ vmul.f64 d6, d5, d7 │ │ │ │ │ - vstr d8, [sp, #8] │ │ │ │ │ + vstr d8, [sp, #16] │ │ │ │ │ vmov.f64 d7, d6 │ │ │ │ │ - vldr d6, [pc, #912] @ 1098 │ │ │ │ │ + vldr d6, [pc, #892] @ 1088 │ │ │ │ │ vmla.f64 d7, d0, d6 │ │ │ │ │ vmov.f64 d9, d6 │ │ │ │ │ vmul.f64 d5, d5, d9 │ │ │ │ │ - vldr d9, [sp, #24] │ │ │ │ │ + vldr d9, [sp, #40] @ 0x28 │ │ │ │ │ vmov.f64 d8, d7 │ │ │ │ │ - vldr d7, [sp, #8] │ │ │ │ │ + vldr d7, [sp, #16] │ │ │ │ │ vsub.f64 d6, d3, d7 │ │ │ │ │ vmov.f64 d7, d5 │ │ │ │ │ - vldr d5, [pc, #932] @ 10d0 │ │ │ │ │ + vldr d5, [pc, #912] @ 10c0 │ │ │ │ │ vnmls.f64 d7, d0, d5 │ │ │ │ │ - vadd.f64 d5, d2, d9 │ │ │ │ │ vadd.f64 d0, d12, d1 │ │ │ │ │ + vadd.f64 d5, d2, d9 │ │ │ │ │ vsub.f64 d1, d12, d1 │ │ │ │ │ - vstr d7, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d7, [sp, #512] @ 0x200 │ │ │ │ │ vadd.f64 d7, d0, d5 │ │ │ │ │ - vsub.f64 d0, d0, d5 │ │ │ │ │ + vsub.f64 d5, d0, d5 │ │ │ │ │ + vldr d0, [pc, #864] @ 10b0 │ │ │ │ │ + vstr d7, [sp, #40] @ 0x28 │ │ │ │ │ + vsub.f64 d7, d9, d2 │ │ │ │ │ + vstr d5, [sp, #128] @ 0x80 │ │ │ │ │ vadd.f64 d5, d10, d6 │ │ │ │ │ vsub.f64 d6, d6, d10 │ │ │ │ │ vmov.f64 d10, d8 │ │ │ │ │ - vstr d7, [sp, #24] │ │ │ │ │ - vsub.f64 d7, d9, d2 │ │ │ │ │ - vstr d0, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d0, [pc, #860] @ 10c0 │ │ │ │ │ - vldr d9, [sp, #264] @ 0x108 │ │ │ │ │ - vmul.f64 d6, d6, d0 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ - vadd.f64 d2, d7, d6 │ │ │ │ │ - vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [sp] │ │ │ │ │ + vmul.f64 d6, d6, d0 │ │ │ │ │ vadd.f64 d12, d1, d5 │ │ │ │ │ vsub.f64 d1, d1, d5 │ │ │ │ │ - vadd.f64 d4, d4, d7 │ │ │ │ │ - vldr d7, [sp, #8] │ │ │ │ │ - vstr d6, [sp, #240] @ 0xf0 │ │ │ │ │ - vstr d1, [sp, #952] @ 0x3b8 │ │ │ │ │ + vadd.f64 d2, d7, d6 │ │ │ │ │ + vstr d12, [sp, #136] @ 0x88 │ │ │ │ │ + vstr d1, [sp, #144] @ 0x90 │ │ │ │ │ vmov.f64 d1, d0 │ │ │ │ │ - vadd.f64 d3, d3, d7 │ │ │ │ │ - vstr d2, [sp, #232] @ 0xe8 │ │ │ │ │ - vstr d12, [sp, #56] @ 0x38 │ │ │ │ │ - vsub.f64 d6, d3, d4 │ │ │ │ │ - vadd.f64 d0, d4, d3 │ │ │ │ │ - vldr d3, [sp, #256] @ 0x100 │ │ │ │ │ - vstr d6, [sp, #248] @ 0xf8 │ │ │ │ │ - vadd.f64 d7, d3, d8 │ │ │ │ │ + vsub.f64 d0, d6, d7 │ │ │ │ │ + vldr d7, [sp] │ │ │ │ │ vadd.f64 d6, d14, d11 │ │ │ │ │ - vldr d8, [sp, #536] @ 0x218 │ │ │ │ │ vsub.f64 d14, d14, d11 │ │ │ │ │ - vstr d0, [sp, #8] │ │ │ │ │ - vadd.f64 d2, d6, d7 │ │ │ │ │ - vsub.f64 d0, d6, d7 │ │ │ │ │ - vadd.f64 d7, d8, d9 │ │ │ │ │ - vsub.f64 d6, d10, d3 │ │ │ │ │ + vstr d2, [sp, #152] @ 0x98 │ │ │ │ │ + ldr r2, [sp, #8] │ │ │ │ │ + vldr d8, [sp, #520] @ 0x208 │ │ │ │ │ + vstr d0, [sp, #488] @ 0x1e8 │ │ │ │ │ + vadd.f64 d4, d4, d7 │ │ │ │ │ + vldr d7, [sp, #16] │ │ │ │ │ + add.w r3, lr, r2 │ │ │ │ │ + ldr r2, [sp, #528] @ 0x210 │ │ │ │ │ + ldr r1, [sp, #576] @ 0x240 │ │ │ │ │ + vadd.f64 d3, d3, d7 │ │ │ │ │ + vadd.f64 d2, d4, d3 │ │ │ │ │ + vsub.f64 d4, d3, d4 │ │ │ │ │ + vldr d3, [sp, #504] @ 0x1f8 │ │ │ │ │ + vadd.f64 d7, d3, d10 │ │ │ │ │ + vstr d2, [sp, #16] │ │ │ │ │ + vstr d4, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ + add.w r3, lr, r1, lsl #4 │ │ │ │ │ + mov.w r1, #400 @ 0x190 │ │ │ │ │ + vadd.f64 d9, d6, d7 │ │ │ │ │ + vsub.f64 d6, d6, d7 │ │ │ │ │ + vstr d9, [sp, #960] @ 0x3c0 │ │ │ │ │ + vldr d9, [sp, #512] @ 0x200 │ │ │ │ │ + vstr d6, [sp, #968] @ 0x3c8 │ │ │ │ │ + vmov.f64 d6, d10 │ │ │ │ │ vmov.f64 d10, d1 │ │ │ │ │ - vstr d2, [sp, #960] @ 0x3c0 │ │ │ │ │ + vsub.f64 d6, d6, d3 │ │ │ │ │ + vadd.f64 d7, d8, d9 │ │ │ │ │ vadd.f64 d11, d14, d7 │ │ │ │ │ vsub.f64 d14, d14, d7 │ │ │ │ │ vadd.f64 d7, d15, d13 │ │ │ │ │ - vstr d0, [sp, #968] @ 0x3c8 │ │ │ │ │ vsub.f64 d13, d13, d15 │ │ │ │ │ - vstr d14, [sp, #984] @ 0x3d8 │ │ │ │ │ - vadd.f64 d14, d7, d6 │ │ │ │ │ + vldr d15, [r3] │ │ │ │ │ + add.w r3, lr, r2 │ │ │ │ │ vstr d11, [sp, #976] @ 0x3d0 │ │ │ │ │ - vsub.f64 d3, d6, d7 │ │ │ │ │ + vsub.f64 d4, d6, d7 │ │ │ │ │ + vadd.f64 d11, d7, d6 │ │ │ │ │ + vstr d14, [sp, #984] @ 0x3d8 │ │ │ │ │ vsub.f64 d7, d9, d8 │ │ │ │ │ - vstr d14, [sp, #992] @ 0x3e0 │ │ │ │ │ - ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ - vadd.f64 d15, d13, d7 │ │ │ │ │ - ldr r1, [sp, #72] @ 0x48 │ │ │ │ │ - vsub.f64 d13, d7, d13 │ │ │ │ │ - adds r3, r7, r3 │ │ │ │ │ - ldr r0, [sp, #80] @ 0x50 │ │ │ │ │ - ldr r4, [sp, #88] @ 0x58 │ │ │ │ │ - vstr d15, [sp, #1008] @ 0x3f0 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ - mla r3, ip, r5, r7 │ │ │ │ │ - vstr d13, [sp, #1016] @ 0x3f8 │ │ │ │ │ - mov.w ip, #368 @ 0x170 │ │ │ │ │ - ldr r2, [sp, #96] @ 0x60 │ │ │ │ │ - vstr d3, [sp, #1000] @ 0x3e8 │ │ │ │ │ - vldr d15, [r3] │ │ │ │ │ - adds r3, r7, r1 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - mov.w r3, #400 @ 0x190 │ │ │ │ │ vadd.f64 d6, d2, d15 │ │ │ │ │ vsub.f64 d15, d2, d15 │ │ │ │ │ - mla r1, r3, r5, r7 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - ldr r1, [sp, #104] @ 0x68 │ │ │ │ │ - adds r1, r7, r1 │ │ │ │ │ + vstr d11, [sp, #992] @ 0x3e0 │ │ │ │ │ + vstr d4, [sp, #1000] @ 0x3e8 │ │ │ │ │ + vadd.f64 d0, d13, d7 │ │ │ │ │ + vsub.f64 d13, d7, d13 │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ + mla r3, r1, r9, lr │ │ │ │ │ + mov.w r1, r4, lsl #8 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ + ldr r3, [sp, #544] @ 0x220 │ │ │ │ │ + vstr d0, [sp, #1008] @ 0x3f0 │ │ │ │ │ + vstr d13, [sp, #1016] @ 0x3f8 │ │ │ │ │ vadd.f64 d7, d4, d5 │ │ │ │ │ vsub.f64 d13, d4, d5 │ │ │ │ │ - vldr d2, [r1] │ │ │ │ │ - ldr r1, [sp, #112] @ 0x70 │ │ │ │ │ + add r3, lr │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ + ldr r3, [sp, #552] @ 0x228 │ │ │ │ │ vsub.f64 d9, d6, d7 │ │ │ │ │ vmov.f64 d14, d13 │ │ │ │ │ vadd.f64 d13, d6, d7 │ │ │ │ │ - adds r1, r7, r1 │ │ │ │ │ + add r3, lr │ │ │ │ │ + vldr d11, [r3] │ │ │ │ │ vstr d9, [sp] │ │ │ │ │ - vldr d11, [r1] │ │ │ │ │ - ldr r1, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d13, [sp, #72] @ 0x48 │ │ │ │ │ - adds r1, r7, r1 │ │ │ │ │ + ldr r3, [sp, #560] @ 0x230 │ │ │ │ │ + vstr d13, [sp, #504] @ 0x1f8 │ │ │ │ │ vadd.f64 d5, d2, d11 │ │ │ │ │ vsub.f64 d11, d2, d11 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - mla r1, ip, r5, r7 │ │ │ │ │ - mov.w ip, #264 @ 0x108 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - adds r1, r7, r0 │ │ │ │ │ + add r3, lr │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + mla r3, r0, r9, lr │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ + vstr d14, [sp, #8] │ │ │ │ │ + ldr r2, [sp, #536] @ 0x218 │ │ │ │ │ vadd.f64 d13, d6, d4 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - mov.w r1, #336 @ 0x150 │ │ │ │ │ - mla r1, r1, r5, r7 │ │ │ │ │ + add.w r3, lr, r2 │ │ │ │ │ + ldr r2, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ + mov.w r3, #336 @ 0x150 │ │ │ │ │ + mla r3, r3, r9, lr │ │ │ │ │ vsub.f64 d3, d5, d13 │ │ │ │ │ vadd.f64 d13, d5, d13 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - adds r1, r7, r4 │ │ │ │ │ - vstr d3, [sp, #104] @ 0x68 │ │ │ │ │ - ldr r4, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + add.w r3, lr, r2 │ │ │ │ │ + ldr r2, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d3, [sp, #512] @ 0x200 │ │ │ │ │ vsub.f64 d2, d4, d7 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - ldr r2, [sp, #128] @ 0x80 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - adds r1, r7, r2 │ │ │ │ │ - add.w r2, sp, #1024 @ 0x400 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + add.w r3, lr, r2 │ │ │ │ │ + ldr r2, [sp, #568] @ 0x238 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ + add.w r3, lr, r2 │ │ │ │ │ + ldr r2, [sp, #64] @ 0x40 │ │ │ │ │ vsub.f64 d3, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vsub.f64 d12, d7, d4 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - mov.w r1, #304 @ 0x130 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + mla r3, r5, r9, lr │ │ │ │ │ vadd.f64 d5, d2, d3 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ - mla r0, r1, r5, r7 │ │ │ │ │ - mla r1, r1, r9, fp │ │ │ │ │ + add.w r5, r4, r4, lsl #1 │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ + add.w r3, lr, r2 │ │ │ │ │ + ldr r2, [sp, #72] @ 0x48 │ │ │ │ │ vmul.f64 d3, d3, d1 │ │ │ │ │ vmul.f64 d5, d5, d1 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ - ldr r0, [sp, #136] @ 0x88 │ │ │ │ │ - adds r0, r7, r0 │ │ │ │ │ + vldr d8, [r3] │ │ │ │ │ vsub.f64 d9, d7, d2 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ - vldr d8, [r0] │ │ │ │ │ - adds r0, r7, r4 │ │ │ │ │ - mov.w r4, #360 @ 0x168 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ - vstr d14, [sp, #64] @ 0x40 │ │ │ │ │ + add.w r3, lr, r2 │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ + add.w r3, sp, #1024 @ 0x400 │ │ │ │ │ vsub.f64 d0, d8, d2 │ │ │ │ │ vadd.f64 d8, d8, d2 │ │ │ │ │ vsub.f64 d2, d8, d7 │ │ │ │ │ vadd.f64 d7, d7, d8 │ │ │ │ │ + vldr d8, [sp, #504] @ 0x1f8 │ │ │ │ │ vadd.f64 d1, d9, d0 │ │ │ │ │ vsub.f64 d0, d0, d9 │ │ │ │ │ - vldr d8, [sp, #72] @ 0x48 │ │ │ │ │ vadd.f64 d9, d13, d7 │ │ │ │ │ - vsub.f64 d7, d13, d7 │ │ │ │ │ + vadd.f64 d8, d8, d4 │ │ │ │ │ vmul.f64 d0, d0, d10 │ │ │ │ │ vmul.f64 d1, d1, d10 │ │ │ │ │ - vldr d10, [pc, #332] @ 10b0 │ │ │ │ │ - vadd.f64 d8, d8, d4 │ │ │ │ │ - vstr d9, [sp, #88] @ 0x58 │ │ │ │ │ - vsub.f64 d9, d3, d14 │ │ │ │ │ - vstr d8, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d10, [pc, #304] @ 10a0 │ │ │ │ │ + vsub.f64 d7, d13, d7 │ │ │ │ │ + vstr d8, [sp, #48] @ 0x30 │ │ │ │ │ vadd.f64 d8, d15, d5 │ │ │ │ │ vsub.f64 d5, d15, d5 │ │ │ │ │ - vldr d15, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d9, [sp, #56] @ 0x38 │ │ │ │ │ + vsub.f64 d9, d3, d14 │ │ │ │ │ vmul.f64 d10, d9, d10 │ │ │ │ │ vmov.f64 d14, d10 │ │ │ │ │ - vldr d10, [pc, #284] @ 10a8 │ │ │ │ │ + vldr d10, [pc, #260] @ 1098 │ │ │ │ │ vmla.f64 d14, d8, d10 │ │ │ │ │ - vldr d10, [pc, #284] @ 10b0 │ │ │ │ │ + vldr d10, [pc, #260] @ 10a0 │ │ │ │ │ vmul.f64 d8, d8, d10 │ │ │ │ │ - vstr d14, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d14, [sp, #64] @ 0x40 │ │ │ │ │ vmov.f64 d14, d8 │ │ │ │ │ - vldr d8, [pc, #260] @ 10a8 │ │ │ │ │ + vldr d8, [pc, #236] @ 1098 │ │ │ │ │ vnmls.f64 d14, d9, d8 │ │ │ │ │ vldr d9, [sp] │ │ │ │ │ - vldr d8, [pc, #288] @ 10d0 │ │ │ │ │ + vldr d8, [pc, #264] @ 10c0 │ │ │ │ │ vmov.f64 d10, d8 │ │ │ │ │ vmul.f64 d8, d9, d8 │ │ │ │ │ - vldr d9, [pc, #220] @ 1098 │ │ │ │ │ - vstr d14, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d9, [pc, #196] @ 1088 │ │ │ │ │ + vstr d14, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d14, [sp, #512] @ 0x200 │ │ │ │ │ vnmls.f64 d8, d12, d9 │ │ │ │ │ - vldr d14, [sp, #104] @ 0x68 │ │ │ │ │ vmul.f64 d9, d2, d9 │ │ │ │ │ vmla.f64 d9, d14, d10 │ │ │ │ │ - vldr d10, [pc, #220] @ 10b0 │ │ │ │ │ + vldr d10, [pc, #196] @ 10a0 │ │ │ │ │ vadd.f64 d14, d8, d9 │ │ │ │ │ - vsub.f64 d8, d9, d8 │ │ │ │ │ - vadd.f64 d9, d11, d1 │ │ │ │ │ - vsub.f64 d1, d11, d1 │ │ │ │ │ - vldr d11, [pc, #184] @ 10a0 │ │ │ │ │ - vstr d14, [r2] │ │ │ │ │ - add.w r2, sp, #1032 @ 0x408 │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ + vsub.f64 d9, d9, d8 │ │ │ │ │ vsub.f64 d8, d0, d6 │ │ │ │ │ vadd.f64 d6, d6, d0 │ │ │ │ │ - ldr r2, [sp, #152] @ 0x98 │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ - ldr r2, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d9, [r3] │ │ │ │ │ + vadd.f64 d9, d11, d1 │ │ │ │ │ + vsub.f64 d1, d11, d1 │ │ │ │ │ vmul.f64 d10, d8, d10 │ │ │ │ │ - vmul.f64 d0, d6, d11 │ │ │ │ │ + vstr d14, [sp, #520] @ 0x208 │ │ │ │ │ + vldr d11, [pc, #140] @ 1090 │ │ │ │ │ vmov.f64 d14, d10 │ │ │ │ │ - vldr d10, [pc, #148] @ 10a8 │ │ │ │ │ - vmul.f64 d8, d8, d10 │ │ │ │ │ + vldr d10, [pc, #140] @ 1098 │ │ │ │ │ + vmul.f64 d0, d6, d11 │ │ │ │ │ vnmls.f64 d14, d9, d10 │ │ │ │ │ - vstr d14, [sp, #120] @ 0x78 │ │ │ │ │ + vmul.f64 d8, d8, d10 │ │ │ │ │ + vstr d14, [sp, #528] @ 0x210 │ │ │ │ │ vmov.f64 d14, d8 │ │ │ │ │ - vldr d8, [pc, #136] @ 10b0 │ │ │ │ │ + vldr d8, [pc, #124] @ 10a0 │ │ │ │ │ vmla.f64 d14, d9, d8 │ │ │ │ │ - vldr d8, [pc, #136] @ 10b8 │ │ │ │ │ + vldr d8, [pc, #124] @ 10a8 │ │ │ │ │ vmul.f64 d6, d6, d8 │ │ │ │ │ vnmls.f64 d0, d1, d8 │ │ │ │ │ + vstr d14, [sp, #536] @ 0x218 │ │ │ │ │ vmla.f64 d6, d1, d11 │ │ │ │ │ vldr d1, [sp] │ │ │ │ │ - vstr d14, [sp, #128] @ 0x80 │ │ │ │ │ - vstr d0, [sp, #136] @ 0x88 │ │ │ │ │ - vstr d6, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d6, [pc, #128] @ 10d0 │ │ │ │ │ - vldr d0, [pc, #68] @ 1098 │ │ │ │ │ + vstr d0, [sp, #544] @ 0x220 │ │ │ │ │ + vldr d0, [pc, #64] @ 1088 │ │ │ │ │ + vstr d6, [sp, #552] @ 0x228 │ │ │ │ │ + vldr d6, [pc, #112] @ 10c0 │ │ │ │ │ vmul.f64 d12, d12, d6 │ │ │ │ │ vmul.f64 d2, d2, d6 │ │ │ │ │ vmla.f64 d12, d1, d0 │ │ │ │ │ - vldr d1, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d1, [sp, #512] @ 0x200 │ │ │ │ │ vnmls.f64 d2, d1, d0 │ │ │ │ │ - vldr d1, [pc, #84] @ 10c0 │ │ │ │ │ - vmov.f64 d10, d1 │ │ │ │ │ - vadd.f64 d6, d12, d2 │ │ │ │ │ + vadd.f64 d1, d12, d2 │ │ │ │ │ vsub.f64 d2, d2, d12 │ │ │ │ │ - vstr d6, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d1, [sp, #512] @ 0x200 │ │ │ │ │ + vldr d15, [sp, #8] │ │ │ │ │ + vstr d2, [sp, #560] @ 0x230 │ │ │ │ │ + ldr r0, [sp, #24] │ │ │ │ │ + ldr r6, [sp, #584] @ 0x248 │ │ │ │ │ vadd.f64 d6, d15, d3 │ │ │ │ │ - vstr d2, [sp, #256] @ 0x100 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ - mla r0, ip, r5, r7 │ │ │ │ │ - mov.w ip, #392 @ 0x188 │ │ │ │ │ - b.n 10d8 │ │ │ │ │ - nop │ │ │ │ │ + b.n 10c8 │ │ │ │ │ nop.w │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ .word 0x39ae68c8 │ │ │ │ │ .word 0x3fe1c73b │ │ │ │ │ .word 0xcff75cb0 │ │ │ │ │ .word 0x3fef6297 │ │ │ │ │ @@ -1157,1612 +1147,1656 @@ │ │ │ │ │ .word 0x3fea9b66 │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ + vldr d1, [pc, #-28] @ 10b0 │ │ │ │ │ + add.w r3, lr, r6 │ │ │ │ │ + ldr r6, [sp, #592] @ 0x250 │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ + add.w r3, r0, r9 │ │ │ │ │ + mov.w r0, #392 @ 0x188 │ │ │ │ │ vmul.f64 d3, d6, d11 │ │ │ │ │ + add.w r3, lr, r3, lsl #3 │ │ │ │ │ + vmov.f64 d10, d1 │ │ │ │ │ vmov.f64 d15, d3 │ │ │ │ │ vmla.f64 d15, d5, d8 │ │ │ │ │ vmul.f64 d5, d5, d11 │ │ │ │ │ - vstr d15, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d15, [sp, #568] @ 0x238 │ │ │ │ │ vmov.f64 d15, d5 │ │ │ │ │ - vldr d5, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d5, [sp, #504] @ 0x1f8 │ │ │ │ │ vnmls.f64 d15, d6, d8 │ │ │ │ │ vsub.f64 d4, d5, d4 │ │ │ │ │ vadd.f64 d5, d4, d7 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vstr d15, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d15, [sp, #576] @ 0x240 │ │ │ │ │ + vldr d15, [r3] │ │ │ │ │ + add.w r3, lr, r6 │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ + mla r3, r0, r9, lr │ │ │ │ │ + mov.w r0, r8, lsl #8 │ │ │ │ │ vmul.f64 d13, d5, d1 │ │ │ │ │ - vldr d15, [r0] │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ - mla r0, ip, r5, r7 │ │ │ │ │ + ldr r6, [sp, #600] @ 0x258 │ │ │ │ │ + add.w r2, r7, r0 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ vadd.f64 d6, d2, d15 │ │ │ │ │ - vstr d13, [sp, #72] @ 0x48 │ │ │ │ │ - vmul.f64 d13, d7, d1 │ │ │ │ │ vsub.f64 d15, d2, d15 │ │ │ │ │ - mov.w ip, #328 @ 0x148 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ - vstr d13, [sp, #272] @ 0x110 │ │ │ │ │ + ldr r3, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d13, [sp, #8] │ │ │ │ │ + vmul.f64 d13, d7, d1 │ │ │ │ │ vadd.f64 d7, d4, d5 │ │ │ │ │ vsub.f64 d5, d4, d5 │ │ │ │ │ - vstr d5, [sp] │ │ │ │ │ - vadd.f64 d5, d6, d7 │ │ │ │ │ + add r3, lr │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ + ldr r3, [sp, #112] @ 0x70 │ │ │ │ │ vsub.f64 d14, d6, d7 │ │ │ │ │ - vstr d5, [sp, #152] @ 0x98 │ │ │ │ │ - ldr r2, [sp, #208] @ 0xd0 │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ - ldr r2, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ - ldr r2, [sp, #224] @ 0xe0 │ │ │ │ │ - vldr d11, [r0] │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ - ldr r2, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - mla r0, r4, r5, r7 │ │ │ │ │ - ldr r4, [sp, #176] @ 0xb0 │ │ │ │ │ + vadd.f64 d3, d6, d7 │ │ │ │ │ + vstr d13, [sp, #504] @ 0x1f8 │ │ │ │ │ + vstr d5, [sp] │ │ │ │ │ + add r3, lr │ │ │ │ │ + vldr d11, [r3] │ │ │ │ │ + vstr d3, [sp, #24] │ │ │ │ │ + ldr r3, [sp, #120] @ 0x78 │ │ │ │ │ vadd.f64 d5, d2, d11 │ │ │ │ │ vsub.f64 d11, d2, d11 │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ - ldr r0, [sp, #168] @ 0xa8 │ │ │ │ │ - adds r0, r7, r0 │ │ │ │ │ + add r3, lr │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + mov.w r3, #360 @ 0x168 │ │ │ │ │ + mla r3, r3, r9, lr │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ + add.w r3, lr, r6 │ │ │ │ │ + ldr r6, [sp, #80] @ 0x50 │ │ │ │ │ vadd.f64 d13, d6, d4 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ - mla r0, ip, r5, r7 │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ + mov.w r3, #328 @ 0x148 │ │ │ │ │ + mla r3, r3, r9, lr │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + add.w r3, lr, r6 │ │ │ │ │ vsub.f64 d3, d5, d13 │ │ │ │ │ vadd.f64 d8, d5, d13 │ │ │ │ │ - vldr d13, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - adds r0, r7, r4 │ │ │ │ │ - vstr d3, [sp, #160] @ 0xa0 │ │ │ │ │ - mov.w r4, #296 @ 0x128 │ │ │ │ │ - vstr d8, [sp, #208] @ 0xd0 │ │ │ │ │ + ldr r6, [sp, #88] @ 0x58 │ │ │ │ │ vsub.f64 d2, d4, d7 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ - ldr r2, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ - adds r0, r7, r2 │ │ │ │ │ - mov.w r2, #384 @ 0x180 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + add.w r3, lr, r6 │ │ │ │ │ + vstr d3, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d8, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ + ldr r6, [sp, #608] @ 0x260 │ │ │ │ │ + vldr d13, [sp, #24] │ │ │ │ │ vsub.f64 d3, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - mul.w ip, r2, r6 │ │ │ │ │ - lsls r2, r6, #7 │ │ │ │ │ + add.w r3, lr, r6 │ │ │ │ │ + ldr r6, [sp, #96] @ 0x60 │ │ │ │ │ vsub.f64 d12, d7, d4 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - mla r0, r4, r5, r7 │ │ │ │ │ - mov.w r4, #424 @ 0x1a8 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + mov.w r3, #296 @ 0x128 │ │ │ │ │ vadd.f64 d5, d2, d3 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ + mla r3, r3, r9, lr │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ + mov.w r3, #424 @ 0x1a8 │ │ │ │ │ vadd.f64 d13, d13, d4 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ - mla r0, r4, r5, r7 │ │ │ │ │ - vmul.f64 d5, d5, d1 │ │ │ │ │ - mov.w r4, r9, lsl #8 │ │ │ │ │ vmul.f64 d3, d3, d1 │ │ │ │ │ + vmul.f64 d5, d5, d1 │ │ │ │ │ + mla r3, r3, r9, lr │ │ │ │ │ + vldr d8, [r3] │ │ │ │ │ + add.w r3, lr, r6 │ │ │ │ │ + mov.w r6, r5, lsl #7 │ │ │ │ │ vsub.f64 d9, d7, d2 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ - vldr d8, [r0] │ │ │ │ │ - ldr r0, [sp, #200] @ 0xc8 │ │ │ │ │ - vstr d13, [sp, #168] @ 0xa8 │ │ │ │ │ - adds r0, r7, r0 │ │ │ │ │ - vldr d2, [r0] │ │ │ │ │ - add.w r0, r8, sl │ │ │ │ │ + vstr d13, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ + add.w r3, ip, r1 │ │ │ │ │ vsub.f64 d0, d8, d2 │ │ │ │ │ vadd.f64 d8, d8, d2 │ │ │ │ │ vsub.f64 d2, d8, d7 │ │ │ │ │ vadd.f64 d7, d7, d8 │ │ │ │ │ - vldr d8, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d8, [sp, #112] @ 0x70 │ │ │ │ │ vadd.f64 d1, d9, d0 │ │ │ │ │ vsub.f64 d0, d0, d9 │ │ │ │ │ vadd.f64 d13, d8, d7 │ │ │ │ │ vadd.f64 d8, d15, d5 │ │ │ │ │ + vmul.f64 d0, d0, d10 │ │ │ │ │ vmul.f64 d1, d1, d10 │ │ │ │ │ + vldr d10, [pc, #-464] @ 10a0 │ │ │ │ │ vsub.f64 d5, d15, d5 │ │ │ │ │ - vmul.f64 d0, d0, d10 │ │ │ │ │ - vldr d10, [pc, #-424] @ 10b0 │ │ │ │ │ - vstr d13, [sp, #176] @ 0xb0 │ │ │ │ │ + vldr d15, [sp, #656] @ 0x290 │ │ │ │ │ + vstr d13, [sp, #88] @ 0x58 │ │ │ │ │ vldr d13, [sp] │ │ │ │ │ vsub.f64 d9, d3, d13 │ │ │ │ │ vmul.f64 d10, d9, d10 │ │ │ │ │ vmov.f64 d13, d10 │ │ │ │ │ - vldr d10, [pc, #-456] @ 10a8 │ │ │ │ │ + vldr d10, [pc, #-504] @ 1098 │ │ │ │ │ vmla.f64 d13, d8, d10 │ │ │ │ │ - vldr d10, [pc, #-456] @ 10b0 │ │ │ │ │ + vldr d10, [pc, #-504] @ 10a0 │ │ │ │ │ vmul.f64 d8, d8, d10 │ │ │ │ │ - vstr d13, [sp, #184] @ 0xb8 │ │ │ │ │ + vstr d13, [sp, #96] @ 0x60 │ │ │ │ │ vmov.f64 d13, d8 │ │ │ │ │ - vldr d8, [pc, #-480] @ 10a8 │ │ │ │ │ + vldr d8, [pc, #-528] @ 1098 │ │ │ │ │ vnmls.f64 d13, d9, d8 │ │ │ │ │ - vldr d8, [pc, #-448] @ 10d0 │ │ │ │ │ - vldr d9, [pc, #-460] @ 10c8 │ │ │ │ │ + vldr d8, [pc, #-496] @ 10c0 │ │ │ │ │ + vldr d9, [pc, #-508] @ 10b8 │ │ │ │ │ vmov.f64 d10, d8 │ │ │ │ │ vmul.f64 d8, d14, d8 │ │ │ │ │ + vstr d13, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d13, [sp, #104] @ 0x68 │ │ │ │ │ vnmls.f64 d8, d12, d9 │ │ │ │ │ vmul.f64 d9, d2, d9 │ │ │ │ │ - vstr d13, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d13, [sp, #160] @ 0xa0 │ │ │ │ │ vmla.f64 d9, d13, d10 │ │ │ │ │ - vldr d10, [pc, #-516] @ 10b0 │ │ │ │ │ + vldr d10, [pc, #-564] @ 10a0 │ │ │ │ │ vadd.f64 d13, d8, d9 │ │ │ │ │ vsub.f64 d8, d9, d8 │ │ │ │ │ vadd.f64 d9, d11, d1 │ │ │ │ │ vsub.f64 d1, d11, d1 │ │ │ │ │ - vldr d11, [pc, #-552] @ 10a0 │ │ │ │ │ - vstr d8, [sp, #216] @ 0xd8 │ │ │ │ │ + vldr d11, [pc, #-600] @ 1090 │ │ │ │ │ + vstr d13, [sp, #584] @ 0x248 │ │ │ │ │ + vstr d8, [sp, #592] @ 0x250 │ │ │ │ │ vsub.f64 d8, d0, d6 │ │ │ │ │ - vstr d13, [sp, #200] @ 0xc8 │ │ │ │ │ vadd.f64 d6, d6, d0 │ │ │ │ │ vmul.f64 d10, d8, d10 │ │ │ │ │ vmul.f64 d0, d6, d11 │ │ │ │ │ vmov.f64 d13, d10 │ │ │ │ │ - vldr d10, [pc, #-576] @ 10a8 │ │ │ │ │ - vmul.f64 d8, d8, d10 │ │ │ │ │ + vldr d10, [pc, #-624] @ 1098 │ │ │ │ │ vnmls.f64 d13, d9, d10 │ │ │ │ │ - vstr d13, [sp, #224] @ 0xe0 │ │ │ │ │ + vmul.f64 d8, d8, d10 │ │ │ │ │ + vstr d13, [sp, #600] @ 0x258 │ │ │ │ │ vmov.f64 d13, d8 │ │ │ │ │ - vldr d8, [pc, #-588] @ 10b0 │ │ │ │ │ + vldr d8, [pc, #-636] @ 10a0 │ │ │ │ │ vmla.f64 d13, d9, d8 │ │ │ │ │ - vldr d8, [pc, #-588] @ 10b8 │ │ │ │ │ - vldr d9, [pc, #-584] @ 10c0 │ │ │ │ │ + vldr d8, [pc, #-636] @ 10a8 │ │ │ │ │ + vldr d9, [pc, #-632] @ 10b0 │ │ │ │ │ vmul.f64 d6, d6, d8 │ │ │ │ │ vnmls.f64 d0, d1, d8 │ │ │ │ │ + vstr d13, [sp, #608] @ 0x260 │ │ │ │ │ vmla.f64 d6, d1, d11 │ │ │ │ │ - vldr d1, [pc, #-592] @ 10c8 │ │ │ │ │ - vstr d13, [sp, #280] @ 0x118 │ │ │ │ │ - vldr d13, [sp, #656] @ 0x290 │ │ │ │ │ - vstr d0, [sp, #536] @ 0x218 │ │ │ │ │ + vldr d1, [pc, #-644] @ 10b8 │ │ │ │ │ + vldr d13, [sp, #672] @ 0x2a0 │ │ │ │ │ + vstr d0, [sp, #616] @ 0x268 │ │ │ │ │ vmov.f64 d0, d11 │ │ │ │ │ - vstr d6, [sp, #552] @ 0x228 │ │ │ │ │ - vldr d6, [pc, #-608] @ 10d0 │ │ │ │ │ - vldr d11, [sp, #160] @ 0xa0 │ │ │ │ │ - vmul.f64 d2, d2, d6 │ │ │ │ │ + vldr d11, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d6, [sp, #624] @ 0x270 │ │ │ │ │ + vldr d6, [pc, #-660] @ 10c0 │ │ │ │ │ vmul.f64 d12, d12, d6 │ │ │ │ │ - vmla.f64 d12, d14, d1 │ │ │ │ │ + vmul.f64 d2, d2, d6 │ │ │ │ │ vmov.f64 d10, d6 │ │ │ │ │ + vmla.f64 d12, d14, d1 │ │ │ │ │ vnmls.f64 d2, d11, d1 │ │ │ │ │ - vldr d1, [sp, #88] @ 0x58 │ │ │ │ │ vadd.f64 d11, d12, d2 │ │ │ │ │ - vsub.f64 d12, d2, d12 │ │ │ │ │ + vsub.f64 d6, d2, d12 │ │ │ │ │ vmov.f64 d2, d8 │ │ │ │ │ - vstr d11, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d11, [sp, #104] @ 0x68 │ │ │ │ │ vldr d11, [sp] │ │ │ │ │ - vstr d12, [sp, #608] @ 0x260 │ │ │ │ │ - vldr d12, [sp, #640] @ 0x280 │ │ │ │ │ + vstr d6, [sp, #632] @ 0x278 │ │ │ │ │ vadd.f64 d6, d11, d3 │ │ │ │ │ - vldr d11, [sp, #152] @ 0x98 │ │ │ │ │ - str r4, [sp, #0] │ │ │ │ │ - add r4, fp │ │ │ │ │ - str r2, [sp, #152] @ 0x98 │ │ │ │ │ - vsub.f64 d4, d11, d4 │ │ │ │ │ - vldr d11, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d11, [sp, #24] │ │ │ │ │ vmul.f64 d3, d6, d0 │ │ │ │ │ + vsub.f64 d4, d11, d4 │ │ │ │ │ vmla.f64 d3, d5, d8 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ vmov.f64 d8, d5 │ │ │ │ │ - vldr d5, [sp, #168] @ 0xa8 │ │ │ │ │ vnmls.f64 d8, d6, d2 │ │ │ │ │ - vldr d6, [sp, #208] @ 0xd0 │ │ │ │ │ - vstr d3, [sp, #616] @ 0x268 │ │ │ │ │ - vldr d3, [sp, #512] @ 0x200 │ │ │ │ │ + vldr d6, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d3, [sp, #640] @ 0x280 │ │ │ │ │ + vldr d3, [sp, #312] @ 0x138 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ - vadd.f64 d14, d4, d7 │ │ │ │ │ + vstr d8, [sp, #648] @ 0x288 │ │ │ │ │ + vadd.f64 d11, d4, d7 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vadd.f64 d4, d12, d13 │ │ │ │ │ - vstr d8, [sp, #624] @ 0x270 │ │ │ │ │ - vldr d8, [sp, #496] @ 0x1f0 │ │ │ │ │ - vmul.f64 d15, d7, d9 │ │ │ │ │ - vldr d7, [sp, #440] @ 0x1b8 │ │ │ │ │ - vadd.f64 d3, d8, d3 │ │ │ │ │ - vldr d8, [sp, #40] @ 0x28 │ │ │ │ │ - vmul.f64 d14, d14, d9 │ │ │ │ │ - vadd.f64 d7, d11, d7 │ │ │ │ │ - vldr d11, [sp, #600] @ 0x258 │ │ │ │ │ + vadd.f64 d4, d15, d13 │ │ │ │ │ + vmul.f64 d14, d7, d9 │ │ │ │ │ + vldr d7, [sp, #256] @ 0x100 │ │ │ │ │ + vmul.f64 d11, d11, d9 │ │ │ │ │ + vldr d12, [sp, #472] @ 0x1d8 │ │ │ │ │ + str r5, [sp, #0] │ │ │ │ │ + mov.w r5, r4, lsl #7 │ │ │ │ │ + vldr d8, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d5, [sp, #416] @ 0x1a0 │ │ │ │ │ + vadd.f64 d7, d7, d3 │ │ │ │ │ + str r5, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d3, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d1, [sp, #424] @ 0x1a8 │ │ │ │ │ + vadd.f64 d6, d12, d5 │ │ │ │ │ + vldr d5, [sp, #80] @ 0x50 │ │ │ │ │ vadd.f64 d0, d4, d7 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ - vldr d7, [sp, #544] @ 0x220 │ │ │ │ │ - vadd.f64 d6, d11, d7 │ │ │ │ │ - vldr d11, [sp, #176] @ 0xb0 │ │ │ │ │ - vadd.f64 d5, d5, d11 │ │ │ │ │ - vldr d11, [sp, #8] │ │ │ │ │ + vmov.f64 d12, d9 │ │ │ │ │ + vadd.f64 d5, d5, d3 │ │ │ │ │ vsub.f64 d7, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [sp, #24] │ │ │ │ │ - vadd.f64 d2, d5, d11 │ │ │ │ │ - vldr d11, [sp, #32] │ │ │ │ │ + vldr d5, [sp, #368] @ 0x170 │ │ │ │ │ + vadd.f64 d3, d5, d8 │ │ │ │ │ + vldr d8, [sp, #16] │ │ │ │ │ + vldr d5, [sp, #40] @ 0x28 │ │ │ │ │ + vadd.f64 d2, d5, d8 │ │ │ │ │ + vldr d8, [sp, #480] @ 0x1e0 │ │ │ │ │ vadd.f64 d5, d3, d2 │ │ │ │ │ vsub.f64 d2, d2, d3 │ │ │ │ │ - vadd.f64 d3, d11, d8 │ │ │ │ │ - vldr d8, [sp, #80] @ 0x50 │ │ │ │ │ - vmov.f64 d11, d9 │ │ │ │ │ + vadd.f64 d3, d1, d8 │ │ │ │ │ + vldr d8, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d1, [sp, #56] @ 0x38 │ │ │ │ │ vadd.f64 d1, d8, d1 │ │ │ │ │ vsub.f64 d8, d3, d1 │ │ │ │ │ vadd.f64 d3, d3, d1 │ │ │ │ │ vsub.f64 d1, d0, d5 │ │ │ │ │ vadd.f64 d5, d0, d5 │ │ │ │ │ - vsub.f64 d0, d12, d13 │ │ │ │ │ - vmov.f64 d13, d10 │ │ │ │ │ - vstr d1, [r0] │ │ │ │ │ + vstr d1, [r3] │ │ │ │ │ vsub.f64 d1, d6, d3 │ │ │ │ │ - add r0, r2 │ │ │ │ │ + add r3, r5 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ - sub.w r2, r0, sl │ │ │ │ │ - vstr d1, [r4] │ │ │ │ │ + mov.w r5, r8, lsl #7 │ │ │ │ │ + vldr d3, [sp, #312] @ 0x138 │ │ │ │ │ + vstr d1, [r2] │ │ │ │ │ vadd.f64 d1, d7, d8 │ │ │ │ │ vsub.f64 d7, d7, d8 │ │ │ │ │ + sub.w r2, r2, r5 │ │ │ │ │ vmul.f64 d1, d1, d9 │ │ │ │ │ - vmul.f64 d7, d7, d11 │ │ │ │ │ + vmul.f64 d7, d7, d12 │ │ │ │ │ vsub.f64 d9, d4, d1 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ - vstr d9, [r0] │ │ │ │ │ - mov.w r0, r9, lsl #7 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ + vstr d9, [r3] │ │ │ │ │ + sub.w r3, r3, r1 │ │ │ │ │ + vmov.f64 d9, d12 │ │ │ │ │ + vmov.f64 d12, d15 │ │ │ │ │ + vldr d15, [sp, #424] @ 0x1a8 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ vadd.f64 d4, d2, d7 │ │ │ │ │ - subs r4, r4, r0 │ │ │ │ │ - str r0, [sp, #208] @ 0xd0 │ │ │ │ │ - ldr r0, [sp, #0] │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ - vmov.f64 d9, d11 │ │ │ │ │ - vldr d12, [sp, #440] @ 0x1b8 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - add r4, r0 │ │ │ │ │ - vldr d11, [sp, #384] @ 0x180 │ │ │ │ │ - add.w r0, r2, ip │ │ │ │ │ - lsls r2, r6, #6 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + add r3, r6 │ │ │ │ │ + vsub.f64 d0, d12, d13 │ │ │ │ │ + vldr d13, [sp, #16] │ │ │ │ │ + vldr d12, [sp, #384] @ 0x180 │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ + add r2, r0 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d5, d6 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ - vsub.f64 d8, d12, d11 │ │ │ │ │ - vldr d11, [sp, #496] @ 0x1f0 │ │ │ │ │ - vldr d12, [sp, #512] @ 0x200 │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ - subs r0, r0, r2 │ │ │ │ │ - vstr d5, [r8] │ │ │ │ │ - vsub.f64 d7, d11, d12 │ │ │ │ │ - vldr d5, [sp, #8] │ │ │ │ │ - vldr d11, [sp, #24] │ │ │ │ │ - vldr d12, [sp, #32] │ │ │ │ │ - str r2, [sp, #32] │ │ │ │ │ - vsub.f64 d5, d11, d5 │ │ │ │ │ - vmov.f64 d11, d9 │ │ │ │ │ - ldr r2, [sp, #636] @ 0x27c │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + sub.w r3, r3, fp │ │ │ │ │ + vldr d7, [sp, #256] @ 0x100 │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ + vldr d5, [sp, #40] @ 0x28 │ │ │ │ │ + vsub.f64 d8, d3, d7 │ │ │ │ │ + vldr d7, [sp, #368] @ 0x170 │ │ │ │ │ + vsub.f64 d5, d5, d13 │ │ │ │ │ + vmov.f64 d13, d10 │ │ │ │ │ + vsub.f64 d7, d7, d12 │ │ │ │ │ + vmov.f64 d12, d9 │ │ │ │ │ vadd.f64 d4, d7, d5 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ - vldr d7, [sp, #40] @ 0x28 │ │ │ │ │ - vsub.f64 d6, d12, d7 │ │ │ │ │ - vldr d12, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d7, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d7, [sp, #480] @ 0x1e0 │ │ │ │ │ + vsub.f64 d6, d15, d7 │ │ │ │ │ + vldr d15, [sp, #48] @ 0x30 │ │ │ │ │ vmul.f64 d4, d4, d9 │ │ │ │ │ vmul.f64 d5, d5, d9 │ │ │ │ │ - vldr d9, [pc, #976] @ 18c8 │ │ │ │ │ - vsub.f64 d7, d7, d12 │ │ │ │ │ - vldr d12, [sp, #600] @ 0x258 │ │ │ │ │ + vldr d7, [sp, #56] @ 0x38 │ │ │ │ │ + vsub.f64 d7, d7, d15 │ │ │ │ │ + vldr d15, [pc, #972] @ 18e0 │ │ │ │ │ vmul.f64 d1, d7, d10 │ │ │ │ │ - vmla.f64 d1, d6, d9 │ │ │ │ │ + vmla.f64 d1, d6, d15 │ │ │ │ │ vmul.f64 d6, d6, d10 │ │ │ │ │ - vnmls.f64 d6, d7, d9 │ │ │ │ │ - vldr d7, [sp, #544] @ 0x220 │ │ │ │ │ - vsub.f64 d2, d12, d7 │ │ │ │ │ - vldr d12, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d7, [sp, #168] @ 0xa8 │ │ │ │ │ - vsub.f64 d7, d12, d7 │ │ │ │ │ + vnmls.f64 d6, d7, d15 │ │ │ │ │ + vldr d7, [sp, #472] @ 0x1d8 │ │ │ │ │ + vldr d3, [sp, #416] @ 0x1a0 │ │ │ │ │ + vsub.f64 d2, d7, d3 │ │ │ │ │ + vldr d7, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d3, [sp, #88] @ 0x58 │ │ │ │ │ + vsub.f64 d7, d3, d7 │ │ │ │ │ vmul.f64 d3, d7, d10 │ │ │ │ │ - vmul.f64 d7, d7, d9 │ │ │ │ │ + vmul.f64 d7, d7, d15 │ │ │ │ │ + vnmls.f64 d3, d2, d15 │ │ │ │ │ vmla.f64 d7, d2, d10 │ │ │ │ │ - vnmls.f64 d3, d2, d9 │ │ │ │ │ vadd.f64 d2, d0, d4 │ │ │ │ │ vsub.f64 d4, d0, d4 │ │ │ │ │ vadd.f64 d9, d1, d3 │ │ │ │ │ vsub.f64 d3, d3, d1 │ │ │ │ │ - vldr d1, [pc, #896] @ 18c8 │ │ │ │ │ + vmov.f64 d1, d13 │ │ │ │ │ + vldr d13, [pc, #924] @ 1900 │ │ │ │ │ vsub.f64 d10, d2, d9 │ │ │ │ │ vadd.f64 d2, d2, d9 │ │ │ │ │ vadd.f64 d9, d8, d5 │ │ │ │ │ vsub.f64 d5, d5, d8 │ │ │ │ │ - vstr d10, [r0] │ │ │ │ │ - sub.w r0, r0, ip │ │ │ │ │ - mul.w ip, r2, r9 │ │ │ │ │ - mov.w r2, #384 @ 0x180 │ │ │ │ │ - str r0, [sp, #8] │ │ │ │ │ - vstr d2, [r0] │ │ │ │ │ + vstr d10, [r3] │ │ │ │ │ + sub.w r3, r3, r6 │ │ │ │ │ + mov.w r6, r8, lsl #2 │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ vadd.f64 d2, d6, d7 │ │ │ │ │ - add r4, ip │ │ │ │ │ - ldr r0, [sp, #0] │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ + str r6, [sp, #48] @ 0x30 │ │ │ │ │ + add r6, r8 │ │ │ │ │ + add r3, r1 │ │ │ │ │ + str r6, [sp, #16] │ │ │ │ │ + mov.w r6, r6, lsl #6 │ │ │ │ │ + sub.w r2, r2, r6 │ │ │ │ │ vadd.f64 d10, d9, d2 │ │ │ │ │ vsub.f64 d2, d2, d9 │ │ │ │ │ + str r6, [sp, #56] @ 0x38 │ │ │ │ │ + add.w r6, r8, r8, lsl #1 │ │ │ │ │ vsub.f64 d6, d4, d7 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ - vstr d10, [r4] │ │ │ │ │ - mla r4, r2, r9, r4 │ │ │ │ │ - movs r2, #192 @ 0xc0 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ + vmov.f64 d9, d15 │ │ │ │ │ + vldr d15, [sp, #496] @ 0x1f0 │ │ │ │ │ + str r6, [sp, #24] │ │ │ │ │ + vstr d10, [r2] │ │ │ │ │ + add.w r2, r2, r6, lsl #7 │ │ │ │ │ + vldr d10, [sp, #688] @ 0x2b0 │ │ │ │ │ + mov.w r6, r4, lsl #3 │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ vadd.f64 d2, d5, d3 │ │ │ │ │ - subs r4, r4, r0 │ │ │ │ │ - ldr r0, [sp, #208] @ 0xd0 │ │ │ │ │ vsub.f64 d3, d3, d5 │ │ │ │ │ - mul.w r2, r2, r6 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ - add r4, r0 │ │ │ │ │ - ldr r0, [sp, #8] │ │ │ │ │ - vmov.f64 d2, d13 │ │ │ │ │ - add r0, sl │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ - vldr d10, [sp, #672] @ 0x2a0 │ │ │ │ │ - vldr d3, [sp, #680] @ 0x2a8 │ │ │ │ │ - vldr d5, [sp, #648] @ 0x288 │ │ │ │ │ - str r2, [sp, #24] │ │ │ │ │ + sub.w r2, r2, r0 │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ + add r2, r5 │ │ │ │ │ + ldr r5, [sp, #0] │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ + vldr d3, [sp, #696] @ 0x2b8 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + vmov.f64 d6, d12 │ │ │ │ │ + vldr d12, [sp, #664] @ 0x298 │ │ │ │ │ + str r2, [sp, #40] @ 0x28 │ │ │ │ │ + mov.w r2, r5, lsl #6 │ │ │ │ │ vadd.f64 d7, d10, d3 │ │ │ │ │ - ldr r2, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d9, [sp, #592] @ 0x250 │ │ │ │ │ - subs r0, r0, r2 │ │ │ │ │ - mov.w r2, #288 @ 0x120 │ │ │ │ │ - vmul.f64 d7, d7, d11 │ │ │ │ │ - vstr d4, [r0] │ │ │ │ │ - mul.w r2, r2, r6 │ │ │ │ │ - str r2, [sp, #8] │ │ │ │ │ - add r0, r2 │ │ │ │ │ - lsls r2, r6, #3 │ │ │ │ │ - vadd.f64 d0, d5, d7 │ │ │ │ │ - vsub.f64 d12, d5, d7 │ │ │ │ │ - vsub.f64 d7, d3, d10 │ │ │ │ │ - vldr d5, [sp, #664] @ 0x298 │ │ │ │ │ - vldr d10, [sp, #520] @ 0x208 │ │ │ │ │ - vmul.f64 d7, d7, d11 │ │ │ │ │ - vadd.f64 d8, d5, d7 │ │ │ │ │ - vsub.f64 d11, d7, d5 │ │ │ │ │ - vldr d5, [sp, #504] @ 0x1f8 │ │ │ │ │ - vmul.f64 d7, d10, d13 │ │ │ │ │ - vmla.f64 d7, d5, d1 │ │ │ │ │ - vldr d5, [sp, #248] @ 0xf8 │ │ │ │ │ - vmul.f64 d6, d5, d13 │ │ │ │ │ - vldr d5, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d13, [pc, #704] @ 18e8 │ │ │ │ │ - vnmls.f64 d6, d5, d1 │ │ │ │ │ - vsub.f64 d5, d9, d14 │ │ │ │ │ - vldr d9, [sp, #16] │ │ │ │ │ + vsub.f64 d5, d3, d10 │ │ │ │ │ + vldr d3, [sp, #680] @ 0x2a8 │ │ │ │ │ + str r2, [sp, #80] @ 0x50 │ │ │ │ │ + ldr r2, [sp, #112] @ 0x70 │ │ │ │ │ + vmul.f64 d7, d7, d6 │ │ │ │ │ + vmul.f64 d5, d5, d6 │ │ │ │ │ + vmul.f64 d6, d15, d1 │ │ │ │ │ + vldr d15, [sp, #128] @ 0x80 │ │ │ │ │ + sub.w r3, r3, r2 │ │ │ │ │ + add.w r2, r6, r4 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + vadd.f64 d0, d12, d7 │ │ │ │ │ + vsub.f64 d12, d12, d7 │ │ │ │ │ + vldr d7, [sp, #392] @ 0x188 │ │ │ │ │ + vadd.f64 d8, d3, d5 │ │ │ │ │ + vsub.f64 d5, d5, d3 │ │ │ │ │ + vldr d3, [sp, #376] @ 0x178 │ │ │ │ │ + vnmls.f64 d6, d15, d9 │ │ │ │ │ + vldr d15, [sp, #464] @ 0x1d0 │ │ │ │ │ + vmul.f64 d7, d7, d1 │ │ │ │ │ + vsub.f64 d4, d15, d11 │ │ │ │ │ + vldr d15, [sp, #400] @ 0x190 │ │ │ │ │ + vmla.f64 d7, d3, d9 │ │ │ │ │ vadd.f64 d3, d7, d6 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [sp, #528] @ 0x210 │ │ │ │ │ - vsub.f64 d7, d15, d7 │ │ │ │ │ - vmul.f64 d4, d7, d13 │ │ │ │ │ - vmov.f64 d10, d4 │ │ │ │ │ - vldr d4, [pc, #640] @ 18d0 │ │ │ │ │ - vmul.f64 d7, d7, d4 │ │ │ │ │ - vmla.f64 d7, d5, d13 │ │ │ │ │ - vnmls.f64 d10, d5, d4 │ │ │ │ │ - vldr d13, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d4, [sp, #928] @ 0x3a0 │ │ │ │ │ - vadd.f64 d5, d4, d13 │ │ │ │ │ - vldr d13, [sp, #272] @ 0x110 │ │ │ │ │ - vstr d7, [sp, #88] @ 0x58 │ │ │ │ │ - vadd.f64 d7, d9, d13 │ │ │ │ │ - vldr d9, [pc, #672] @ 1918 │ │ │ │ │ - vstr d10, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d10, [pc, #648] @ 1908 │ │ │ │ │ - vmul.f64 d13, d7, d9 │ │ │ │ │ - vmla.f64 d13, d5, d10 │ │ │ │ │ - vmul.f64 d5, d5, d9 │ │ │ │ │ - vnmls.f64 d5, d7, d10 │ │ │ │ │ - vldr d10, [sp, #504] @ 0x1f8 │ │ │ │ │ - vldr d7, [sp, #248] @ 0xf8 │ │ │ │ │ - vmul.f64 d7, d7, d1 │ │ │ │ │ - vstr d5, [sp, #152] @ 0x98 │ │ │ │ │ - vmul.f64 d5, d10, d2 │ │ │ │ │ - vldr d10, [sp, #520] @ 0x208 │ │ │ │ │ - vnmls.f64 d5, d10, d1 │ │ │ │ │ - vldr d10, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d1, [pc, #564] @ 18e8 │ │ │ │ │ - vmla.f64 d7, d10, d2 │ │ │ │ │ - vldr d10, [sp, #72] @ 0x48 │ │ │ │ │ - vadd.f64 d2, d5, d7 │ │ │ │ │ - vsub.f64 d7, d7, d5 │ │ │ │ │ - vsub.f64 d5, d4, d10 │ │ │ │ │ - vldr d10, [sp, #16] │ │ │ │ │ - vldr d4, [sp, #272] @ 0x110 │ │ │ │ │ + vsub.f64 d7, d14, d15 │ │ │ │ │ + vldr d15, [pc, #636] @ 18e8 │ │ │ │ │ + vmul.f64 d2, d7, d13 │ │ │ │ │ + vmul.f64 d7, d7, d15 │ │ │ │ │ + vmla.f64 d7, d4, d13 │ │ │ │ │ + vmov.f64 d10, d2 │ │ │ │ │ + vnmls.f64 d10, d4, d15 │ │ │ │ │ + vldr d4, [pc, #660] @ 1918 │ │ │ │ │ + vstr d10, [sp, #312] @ 0x138 │ │ │ │ │ + vstr d7, [sp, #368] @ 0x170 │ │ │ │ │ + vldr d15, [sp, #408] @ 0x198 │ │ │ │ │ + str r2, [sp, #88] @ 0x58 │ │ │ │ │ + mov.w r2, r2, lsl #5 │ │ │ │ │ + vldr d13, [sp, #8] │ │ │ │ │ + add r3, r2 │ │ │ │ │ + vldr d2, [sp, #32] │ │ │ │ │ + vldr d10, [pc, #660] @ 1938 │ │ │ │ │ + vadd.f64 d15, d15, d13 │ │ │ │ │ + vldr d13, [sp, #504] @ 0x1f8 │ │ │ │ │ + vadd.f64 d7, d2, d13 │ │ │ │ │ + vldr d2, [sp, #128] @ 0x80 │ │ │ │ │ + vmul.f64 d13, d7, d10 │ │ │ │ │ + vmla.f64 d13, d15, d4 │ │ │ │ │ + vmul.f64 d15, d15, d10 │ │ │ │ │ + vldr d10, [sp, #376] @ 0x178 │ │ │ │ │ + vnmls.f64 d15, d7, d4 │ │ │ │ │ + vldr d7, [sp, #496] @ 0x1f0 │ │ │ │ │ + vmul.f64 d4, d10, d1 │ │ │ │ │ + vldr d10, [sp, #392] @ 0x188 │ │ │ │ │ + vmul.f64 d7, d7, d9 │ │ │ │ │ + vnmls.f64 d4, d10, d9 │ │ │ │ │ + vldr d10, [sp, #8] │ │ │ │ │ + str r2, [sp, #8] │ │ │ │ │ + vldr d9, [pc, #540] @ 1900 │ │ │ │ │ + vmla.f64 d7, d2, d1 │ │ │ │ │ + vldr d1, [sp, #32] │ │ │ │ │ + str r6, [sp, #32] │ │ │ │ │ + sub.w r6, r4, r6 │ │ │ │ │ + ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ + vadd.f64 d2, d4, d7 │ │ │ │ │ + vsub.f64 d7, d7, d4 │ │ │ │ │ + vldr d4, [sp, #408] @ 0x198 │ │ │ │ │ vsub.f64 d4, d4, d10 │ │ │ │ │ - vmul.f64 d1, d4, d1 │ │ │ │ │ - vmov.f64 d10, d1 │ │ │ │ │ - vldr d1, [pc, #496] @ 18d0 │ │ │ │ │ - vmla.f64 d10, d5, d1 │ │ │ │ │ - vldr d1, [pc, #512] @ 18e8 │ │ │ │ │ - vmul.f64 d5, d5, d1 │ │ │ │ │ - vldr d1, [pc, #480] @ 18d0 │ │ │ │ │ - vstr d10, [sp, #48] @ 0x30 │ │ │ │ │ - vmov.f64 d10, d5 │ │ │ │ │ - vnmls.f64 d10, d4, d1 │ │ │ │ │ - vldr d4, [sp, #592] @ 0x250 │ │ │ │ │ + vldr d10, [sp, #504] @ 0x1f8 │ │ │ │ │ + vsub.f64 d1, d10, d1 │ │ │ │ │ + vmul.f64 d9, d1, d9 │ │ │ │ │ + vmov.f64 d10, d9 │ │ │ │ │ + vldr d9, [pc, #464] @ 18e8 │ │ │ │ │ + vmla.f64 d10, d4, d9 │ │ │ │ │ + vldr d9, [pc, #480] @ 1900 │ │ │ │ │ + vmul.f64 d4, d4, d9 │ │ │ │ │ + vldr d9, [pc, #448] @ 18e8 │ │ │ │ │ + vstr d10, [sp, #376] @ 0x178 │ │ │ │ │ + vmov.f64 d10, d4 │ │ │ │ │ + vnmls.f64 d10, d1, d9 │ │ │ │ │ + vldr d9, [pc, #480] @ 1918 │ │ │ │ │ + vstr d10, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d10, [sp, #464] @ 0x1d0 │ │ │ │ │ + vadd.f64 d1, d10, d11 │ │ │ │ │ + vldr d11, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d10, [pc, #492] @ 1938 │ │ │ │ │ + vadd.f64 d11, d11, d14 │ │ │ │ │ + vmul.f64 d4, d11, d10 │ │ │ │ │ + vmul.f64 d11, d11, d9 │ │ │ │ │ + vnmls.f64 d4, d1, d9 │ │ │ │ │ + vmla.f64 d11, d1, d10 │ │ │ │ │ vadd.f64 d1, d0, d3 │ │ │ │ │ vsub.f64 d3, d0, d3 │ │ │ │ │ - vadd.f64 d14, d4, d14 │ │ │ │ │ - vldr d4, [sp, #528] @ 0x210 │ │ │ │ │ - vadd.f64 d5, d4, d15 │ │ │ │ │ - vstr d10, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d10, [pc, #492] @ 1908 │ │ │ │ │ - vmul.f64 d4, d5, d9 │ │ │ │ │ - vmul.f64 d5, d5, d10 │ │ │ │ │ - vmla.f64 d5, d14, d9 │ │ │ │ │ - vnmls.f64 d4, d14, d10 │ │ │ │ │ vadd.f64 d9, d13, d4 │ │ │ │ │ vsub.f64 d4, d4, d13 │ │ │ │ │ vsub.f64 d10, d1, d9 │ │ │ │ │ vadd.f64 d1, d1, d9 │ │ │ │ │ vadd.f64 d9, d8, d2 │ │ │ │ │ vsub.f64 d2, d2, d8 │ │ │ │ │ - vstr d10, [r0] │ │ │ │ │ - str r2, [sp, #40] @ 0x28 │ │ │ │ │ - subs r2, r6, r2 │ │ │ │ │ - vldr d15, [sp, #152] @ 0x98 │ │ │ │ │ - add.w r2, r0, r2, lsl #6 │ │ │ │ │ - ldr.w r0, [sp, #1052] @ 0x41c │ │ │ │ │ - vldr d8, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d0, [sp, #72] @ 0x48 │ │ │ │ │ - vstr d1, [r2] │ │ │ │ │ - vadd.f64 d1, d15, d5 │ │ │ │ │ - mul.w r0, r0, r9 │ │ │ │ │ - vsub.f64 d5, d5, d15 │ │ │ │ │ - str r0, [sp, #16] │ │ │ │ │ - add r4, r0 │ │ │ │ │ - mov.w r0, #448 @ 0x1c0 │ │ │ │ │ + vldr d8, [sp, #312] @ 0x138 │ │ │ │ │ + vstr d10, [r3] │ │ │ │ │ + add.w r3, r3, r6, lsl #6 │ │ │ │ │ + mov.w r6, r8, lsl #3 │ │ │ │ │ + vstr d1, [r3] │ │ │ │ │ + vadd.f64 d1, d15, d11 │ │ │ │ │ + add.w r5, r6, r8 │ │ │ │ │ + sub.w r6, r6, r8 │ │ │ │ │ + vsub.f64 d11, d11, d15 │ │ │ │ │ + add r3, r1 │ │ │ │ │ + str r5, [sp, #112] @ 0x70 │ │ │ │ │ + mov.w r5, r5, lsl #5 │ │ │ │ │ + str r6, [sp, #128] @ 0x80 │ │ │ │ │ + sub.w r2, r2, r5 │ │ │ │ │ vadd.f64 d10, d9, d1 │ │ │ │ │ vsub.f64 d1, d1, d9 │ │ │ │ │ - vldr d15, [sp, #88] @ 0x58 │ │ │ │ │ - vstr d10, [r4] │ │ │ │ │ - mla r4, r0, r9, r4 │ │ │ │ │ - ldr r0, [sp, #0] │ │ │ │ │ - vldr d10, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d1, [r4] │ │ │ │ │ + vstr d10, [r2] │ │ │ │ │ + add.w r2, r2, r6, lsl #6 │ │ │ │ │ + mov.w r6, r8, lsl #6 │ │ │ │ │ + vstr d1, [r2] │ │ │ │ │ vadd.f64 d1, d2, d4 │ │ │ │ │ - subs r4, r4, r0 │ │ │ │ │ vsub.f64 d4, d4, d2 │ │ │ │ │ - add.w r0, r2, sl │ │ │ │ │ - ldr r2, [sp, #32] │ │ │ │ │ - vstr d1, [r4] │ │ │ │ │ - add.w r4, r4, r9, lsl #6 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - vsub.f64 d4, d3, d5 │ │ │ │ │ - vadd.f64 d3, d3, d5 │ │ │ │ │ - vadd.f64 d5, d12, d7 │ │ │ │ │ + sub.w r2, r2, r0 │ │ │ │ │ + str r6, [sp, #256] @ 0x100 │ │ │ │ │ + vstr d1, [r2] │ │ │ │ │ + add r2, r6 │ │ │ │ │ + vldr d1, [pc, #260] @ 18e8 │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ + vsub.f64 d4, d3, d11 │ │ │ │ │ + vadd.f64 d3, d3, d11 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + sub.w r3, r3, fp │ │ │ │ │ + vadd.f64 d4, d12, d7 │ │ │ │ │ vsub.f64 d7, d12, d7 │ │ │ │ │ - vstr d4, [r0] │ │ │ │ │ - vadd.f64 d4, d8, d10 │ │ │ │ │ - subs r0, r0, r2 │ │ │ │ │ - ldr r2, [sp, #24] │ │ │ │ │ - vstr d3, [r0] │ │ │ │ │ - vsub.f64 d3, d5, d4 │ │ │ │ │ - add r0, r2 │ │ │ │ │ - ldr r2, [sp, #636] @ 0x27c │ │ │ │ │ - vadd.f64 d5, d5, d4 │ │ │ │ │ - vadd.f64 d4, d11, d6 │ │ │ │ │ - vsub.f64 d6, d6, d11 │ │ │ │ │ - vstr d3, [r0] │ │ │ │ │ - mla r0, r2, r6, r0 │ │ │ │ │ - mvn.w r2, #191 @ 0xbf │ │ │ │ │ - mla r4, r2, r9, r4 │ │ │ │ │ - ldr r2, [sp, #0] │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ - vadd.f64 d5, d15, d0 │ │ │ │ │ - add r0, sl │ │ │ │ │ - vadd.f64 d3, d4, d5 │ │ │ │ │ - vsub.f64 d5, d5, d4 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ - sub.w r4, r4, ip │ │ │ │ │ - mov.w ip, #192 @ 0xc0 │ │ │ │ │ - vldr d3, [pc, #180] @ 18d0 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ - vsub.f64 d5, d8, d10 │ │ │ │ │ - subs r4, r4, r2 │ │ │ │ │ - ldr r2, [sp, #24] │ │ │ │ │ - vldr d8, [sp, #288] @ 0x120 │ │ │ │ │ - vmov.f64 d1, d3 │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ + vldr d15, [sp, #376] @ 0x178 │ │ │ │ │ + ldr r6, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d12, [sp, #208] @ 0xd0 │ │ │ │ │ + vadd.f64 d3, d8, d15 │ │ │ │ │ + vldr d11, [sp, #368] @ 0x170 │ │ │ │ │ + add r3, r6 │ │ │ │ │ + add.w r6, r4, r4, lsl #2 │ │ │ │ │ + vldr d10, [sp, #384] @ 0x180 │ │ │ │ │ + str r6, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d13, [sp, #888] @ 0x378 │ │ │ │ │ + vsub.f64 d2, d4, d3 │ │ │ │ │ + vadd.f64 d4, d4, d3 │ │ │ │ │ + vadd.f64 d3, d5, d6 │ │ │ │ │ + vsub.f64 d6, d6, d5 │ │ │ │ │ + vldr d14, [sp, #904] @ 0x388 │ │ │ │ │ + vsub.f64 d5, d8, d15 │ │ │ │ │ + vmov.f64 d8, d10 │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + sub.w r3, r3, r6, lsl #6 │ │ │ │ │ + ldr r6, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + vadd.f64 d4, d11, d10 │ │ │ │ │ + add r3, r1 │ │ │ │ │ + vldr d10, [sp, #456] @ 0x1c8 │ │ │ │ │ + sub.w r6, r8, r6 │ │ │ │ │ + add.w r2, r2, r6, lsl #6 │ │ │ │ │ + ldr r6, [sp, #56] @ 0x38 │ │ │ │ │ + vadd.f64 d2, d3, d4 │ │ │ │ │ + vsub.f64 d4, d4, d3 │ │ │ │ │ + vldr d3, [sp, #560] @ 0x230 │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ + add r2, r6 │ │ │ │ │ + ldr r6, [sp, #24] │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ vadd.f64 d4, d6, d5 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ - vsub.f64 d6, d15, d0 │ │ │ │ │ - vldr d15, [sp, #336] @ 0x150 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - mla r4, ip, r9, r4 │ │ │ │ │ - mov.w ip, #272 @ 0x110 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ + vsub.f64 d6, d11, d8 │ │ │ │ │ + sub.w r2, r2, r0 │ │ │ │ │ + vldr d8, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d11, [sp, #592] @ 0x250 │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ + add.w r2, r2, r6, lsl #6 │ │ │ │ │ + ldr r6, [sp, #80] @ 0x50 │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vsub.f64 d6, d8, d15 │ │ │ │ │ - vldr d8, [sp, #456] @ 0x1c8 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ - subs r0, r0, r2 │ │ │ │ │ - add.w r2, sp, #1032 @ 0x408 │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ - vldr d4, [sp, #400] @ 0x190 │ │ │ │ │ - vldr d9, [sp, #872] @ 0x368 │ │ │ │ │ - vldr d14, [r2] │ │ │ │ │ - mul.w r2, r6, ip │ │ │ │ │ + vldr d4, [sp, #272] @ 0x110 │ │ │ │ │ + vsub.f64 d6, d8, d12 │ │ │ │ │ + vldr d8, [sp, #328] @ 0x148 │ │ │ │ │ + sub.w fp, r3, r6 │ │ │ │ │ + mov.w r6, r4, lsl #4 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + add.w r3, sp, #1024 @ 0x400 │ │ │ │ │ + vstr d7, [fp] │ │ │ │ │ + vadd.f64 d7, d14, d3 │ │ │ │ │ + vldr d9, [r3] │ │ │ │ │ + add.w r3, r6, r4 │ │ │ │ │ vsub.f64 d12, d8, d4 │ │ │ │ │ - vldr d13, [sp, #888] @ 0x378 │ │ │ │ │ - vldr d4, [pc, #80] @ 18d8 │ │ │ │ │ - add r0, r2 │ │ │ │ │ - vldr d5, [sp, #256] @ 0x100 │ │ │ │ │ - movw ip, #65184 @ 0xfea0 │ │ │ │ │ - movt ip, #65535 @ 0xffff │ │ │ │ │ - vldr d8, [pc, #68] @ 18e0 │ │ │ │ │ - vsub.f64 d0, d6, d12 │ │ │ │ │ - vadd.f64 d12, d6, d12 │ │ │ │ │ - vadd.f64 d6, d9, d14 │ │ │ │ │ - vadd.f64 d7, d13, d5 │ │ │ │ │ - vldr d10, [sp, #568] @ 0x238 │ │ │ │ │ - vsub.f64 d14, d9, d14 │ │ │ │ │ - vldr d15, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d2, [sp, #952] @ 0x3b8 │ │ │ │ │ - vmul.f64 d5, d6, d4 │ │ │ │ │ - vmul.f64 d6, d6, d8 │ │ │ │ │ - str r2, [sp, #32] │ │ │ │ │ - b.n 1930 │ │ │ │ │ + b.n 1948 │ │ │ │ │ + nop.w │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ .word 0x290ea1a3 │ │ │ │ │ .word 0x3fea9b66 │ │ │ │ │ - .word 0x56c62dda │ │ │ │ │ - .word 0x3fee9f41 │ │ │ │ │ .word 0x2ed59f06 │ │ │ │ │ .word 0x3fd29406 │ │ │ │ │ + .word 0x56c62dda │ │ │ │ │ + .word 0x3fee9f41 │ │ │ │ │ .word 0x39ae68c8 │ │ │ │ │ .word 0x3fe1c73b │ │ │ │ │ - .word 0x3806f63b │ │ │ │ │ - .word 0x3fde2b5d │ │ │ │ │ .word 0xf180bdb1 │ │ │ │ │ .word 0x3fec38b2 │ │ │ │ │ - .word 0x6b151741 │ │ │ │ │ - .word 0x3fe8bc80 │ │ │ │ │ + .word 0x3806f63b │ │ │ │ │ + .word 0x3fde2b5d │ │ │ │ │ .word 0xcff75cb0 │ │ │ │ │ .word 0x3fef6297 │ │ │ │ │ + .word 0x6b151741 │ │ │ │ │ + .word 0x3fe8bc80 │ │ │ │ │ .word 0x25091dd6 │ │ │ │ │ .word 0x3fe44cf3 │ │ │ │ │ + .word 0xbc29b42c │ │ │ │ │ + .word 0x3fb917a6 │ │ │ │ │ .word 0x3c69a60b │ │ │ │ │ .word 0x3fc8f8b8 │ │ │ │ │ .word 0xa3d12526 │ │ │ │ │ .word 0x3fefd88d │ │ │ │ │ - .word 0xbc29b42c │ │ │ │ │ - .word 0x3fb917a6 │ │ │ │ │ - mov.w r2, #352 @ 0x160 │ │ │ │ │ - vmov.f64 d11, d5 │ │ │ │ │ - vldr d5, [sp, #608] @ 0x260 │ │ │ │ │ - vmla.f64 d11, d7, d8 │ │ │ │ │ - vstr d11, [sp, #24] │ │ │ │ │ - vmov.f64 d11, d6 │ │ │ │ │ - vadd.f64 d6, d10, d15 │ │ │ │ │ - vldr d15, [sp, #584] @ 0x248 │ │ │ │ │ - vnmls.f64 d11, d7, d4 │ │ │ │ │ - vadd.f64 d7, d15, d5 │ │ │ │ │ - vldr d5, [pc, #-116] @ 18e8 │ │ │ │ │ - vmul.f64 d15, d7, d8 │ │ │ │ │ + vldr d3, [pc, #-92] @ 18f0 │ │ │ │ │ + vldr d4, [pc, #-88] @ 18f8 │ │ │ │ │ + vsub.f64 d0, d6, d12 │ │ │ │ │ + vadd.f64 d12, d6, d12 │ │ │ │ │ + vadd.f64 d6, d13, d9 │ │ │ │ │ + vmul.f64 d5, d6, d4 │ │ │ │ │ + vmul.f64 d6, d6, d3 │ │ │ │ │ + vmov.f64 d15, d6 │ │ │ │ │ + vmov.f64 d8, d5 │ │ │ │ │ + vldr d5, [pc, #-112] @ 1900 │ │ │ │ │ + vnmls.f64 d15, d7, d4 │ │ │ │ │ + vmla.f64 d8, d7, d3 │ │ │ │ │ + vstr d8, [sp, #376] @ 0x178 │ │ │ │ │ + vstr d15, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d15, [sp, #440] @ 0x1b8 │ │ │ │ │ + vldr d8, [pc, #-128] @ 1908 │ │ │ │ │ + vadd.f64 d6, d15, d11 │ │ │ │ │ + vldr d15, [sp, #632] @ 0x278 │ │ │ │ │ + vadd.f64 d7, d10, d15 │ │ │ │ │ + vmul.f64 d15, d7, d3 │ │ │ │ │ vnmls.f64 d15, d6, d4 │ │ │ │ │ - vmul.f64 d6, d6, d8 │ │ │ │ │ - vldr d8, [sp, #696] @ 0x2b8 │ │ │ │ │ - vstr d11, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d11, [sp, #256] @ 0x100 │ │ │ │ │ - vmov.f64 d10, d6 │ │ │ │ │ - vldr d6, [sp, #712] @ 0x2c8 │ │ │ │ │ - vmla.f64 d10, d7, d4 │ │ │ │ │ - vldr d7, [sp, #240] @ 0xf0 │ │ │ │ │ - vmul.f64 d4, d7, d3 │ │ │ │ │ - vmul.f64 d7, d8, d5 │ │ │ │ │ - vmla.f64 d4, d2, d5 │ │ │ │ │ - vnmls.f64 d7, d6, d3 │ │ │ │ │ + vmul.f64 d6, d6, d3 │ │ │ │ │ + vmov.f64 d11, d6 │ │ │ │ │ + vmla.f64 d11, d7, d4 │ │ │ │ │ + vstr d11, [sp, #392] @ 0x188 │ │ │ │ │ + vldr d7, [sp, #488] @ 0x1e8 │ │ │ │ │ + str r3, [sp, #80] @ 0x50 │ │ │ │ │ + mov.w r3, r3, lsl #4 │ │ │ │ │ + vldr d11, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d2, [sp, #712] @ 0x2c8 │ │ │ │ │ + vmul.f64 d4, d7, d1 │ │ │ │ │ + vldr d10, [sp, #560] @ 0x230 │ │ │ │ │ + vldr d6, [sp, #728] @ 0x2d8 │ │ │ │ │ + vmul.f64 d7, d2, d5 │ │ │ │ │ + vmla.f64 d4, d11, d5 │ │ │ │ │ + vldr d11, [pc, #-196] @ 1910 │ │ │ │ │ + vnmls.f64 d7, d6, d1 │ │ │ │ │ vmul.f64 d6, d6, d5 │ │ │ │ │ - vstr d10, [sp, #72] @ 0x48 │ │ │ │ │ - vmla.f64 d6, d8, d1 │ │ │ │ │ - vldr d10, [pc, #-180] @ 18f0 │ │ │ │ │ + vmla.f64 d6, d2, d1 │ │ │ │ │ + vldr d2, [sp, #216] @ 0xd8 │ │ │ │ │ vsub.f64 d3, d4, d7 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ - vsub.f64 d7, d11, d13 │ │ │ │ │ - vldr d11, [pc, #-188] @ 18f8 │ │ │ │ │ - vmul.f64 d13, d14, d11 │ │ │ │ │ - vmul.f64 d14, d14, d10 │ │ │ │ │ - vmla.f64 d13, d7, d10 │ │ │ │ │ - vmov.f64 d9, d11 │ │ │ │ │ - vnmls.f64 d14, d7, d11 │ │ │ │ │ - vldr d7, [sp, #240] @ 0xf0 │ │ │ │ │ - vldr d11, [sp, #448] @ 0x1c0 │ │ │ │ │ + vsub.f64 d7, d10, d14 │ │ │ │ │ + vsub.f64 d14, d13, d9 │ │ │ │ │ + vmov.f64 d10, d11 │ │ │ │ │ + vmov.f64 d9, d8 │ │ │ │ │ + vmul.f64 d13, d14, d8 │ │ │ │ │ + vmul.f64 d14, d14, d11 │ │ │ │ │ + vmla.f64 d13, d7, d11 │ │ │ │ │ + vnmls.f64 d14, d7, d8 │ │ │ │ │ + vldr d11, [sp, #144] @ 0x90 │ │ │ │ │ + str r3, [sp, #144] @ 0x90 │ │ │ │ │ + add r3, fp │ │ │ │ │ + movw fp, #65184 @ 0xfea0 │ │ │ │ │ + movt fp, #65535 @ 0xffff │ │ │ │ │ + vldr d7, [sp, #488] @ 0x1e8 │ │ │ │ │ vmul.f64 d7, d7, d5 │ │ │ │ │ - vnmls.f64 d7, d2, d1 │ │ │ │ │ - vldr d1, [sp, #392] @ 0x188 │ │ │ │ │ - vldr d2, [sp, #344] @ 0x158 │ │ │ │ │ + vnmls.f64 d7, d11, d1 │ │ │ │ │ + vldr d1, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d11, [sp, #320] @ 0x140 │ │ │ │ │ vsub.f64 d5, d11, d1 │ │ │ │ │ - vldr d1, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d11, [sp, #568] @ 0x238 │ │ │ │ │ + vldr d1, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d11, [sp, #592] @ 0x250 │ │ │ │ │ vsub.f64 d8, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vsub.f64 d6, d2, d1 │ │ │ │ │ - vldr d1, [sp, #216] @ 0xd8 │ │ │ │ │ - vsub.f64 d11, d11, d1 │ │ │ │ │ - vldr d1, [sp, #608] @ 0x260 │ │ │ │ │ + vldr d1, [sp, #440] @ 0x1b8 │ │ │ │ │ vsub.f64 d2, d5, d6 │ │ │ │ │ + vsub.f64 d11, d1, d11 │ │ │ │ │ + vldr d1, [sp, #456] @ 0x1c8 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ - vldr d6, [sp, #584] @ 0x248 │ │ │ │ │ - vsub.f64 d1, d1, d6 │ │ │ │ │ + vldr d6, [sp, #632] @ 0x278 │ │ │ │ │ + vsub.f64 d1, d6, d1 │ │ │ │ │ vmul.f64 d6, d1, d10 │ │ │ │ │ vnmls.f64 d6, d11, d9 │ │ │ │ │ vmul.f64 d11, d11, d10 │ │ │ │ │ vmla.f64 d11, d1, d9 │ │ │ │ │ vadd.f64 d1, d0, d3 │ │ │ │ │ vsub.f64 d3, d0, d3 │ │ │ │ │ vadd.f64 d9, d13, d6 │ │ │ │ │ vsub.f64 d6, d6, d13 │ │ │ │ │ vsub.f64 d10, d1, d9 │ │ │ │ │ vadd.f64 d1, d1, d9 │ │ │ │ │ vadd.f64 d9, d8, d2 │ │ │ │ │ vsub.f64 d2, d8, d2 │ │ │ │ │ - vstr d10, [r0] │ │ │ │ │ - mla r0, ip, r6, r0 │ │ │ │ │ - movw ip, #65264 @ 0xfef0 │ │ │ │ │ - movt ip, #65535 @ 0xffff │ │ │ │ │ - vstr d1, [r0] │ │ │ │ │ + vldr d8, [sp, #376] @ 0x178 │ │ │ │ │ + vstr d10, [r3] │ │ │ │ │ + mla r3, fp, r4, r3 │ │ │ │ │ + vstr d1, [r3] │ │ │ │ │ vadd.f64 d1, d14, d11 │ │ │ │ │ - mul.w ip, ip, r9 │ │ │ │ │ vsub.f64 d11, d11, d14 │ │ │ │ │ - add r0, sl │ │ │ │ │ - add r4, ip │ │ │ │ │ + str r3, [sp, #40] @ 0x28 │ │ │ │ │ + mov.w r3, r8, lsl #4 │ │ │ │ │ + add.w fp, r3, r8 │ │ │ │ │ + str r3, [sp, #368] @ 0x170 │ │ │ │ │ + mov.w r3, fp, lsl #4 │ │ │ │ │ + mov.w fp, #352 @ 0x160 │ │ │ │ │ vadd.f64 d10, d9, d1 │ │ │ │ │ vsub.f64 d1, d1, d9 │ │ │ │ │ - vstr d10, [r4] │ │ │ │ │ - mla r4, r2, r9, r4 │ │ │ │ │ - ldr r2, [sp, #0] │ │ │ │ │ - vstr d1, [r4] │ │ │ │ │ + sub.w r2, r2, r3 │ │ │ │ │ + str r3, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r3, [sp, #16] │ │ │ │ │ + vstr d10, [r2] │ │ │ │ │ + mla r2, fp, r8, r2 │ │ │ │ │ + mvn.w fp, #159 @ 0x9f │ │ │ │ │ + vstr d1, [r2] │ │ │ │ │ vadd.f64 d1, d2, d6 │ │ │ │ │ - subs r4, r4, r2 │ │ │ │ │ - movs r2, #160 @ 0xa0 │ │ │ │ │ vsub.f64 d6, d6, d2 │ │ │ │ │ - vstr d1, [r4] │ │ │ │ │ - mla r4, r2, r9, r4 │ │ │ │ │ - mvn.w r2, #159 @ 0x9f │ │ │ │ │ - vldr d0, [sp, #24] │ │ │ │ │ - vldr d1, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d10, [sp, #864] @ 0x360 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ + sub.w r2, r2, r0 │ │ │ │ │ + vstr d1, [r2] │ │ │ │ │ + add.w r2, r2, r3, lsl #5 │ │ │ │ │ + ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ vsub.f64 d6, d3, d11 │ │ │ │ │ vadd.f64 d3, d3, d11 │ │ │ │ │ - vldr d11, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d14, [sp, #880] @ 0x370 │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ - mla r0, r2, r6, r0 │ │ │ │ │ + str r2, [sp, #56] @ 0x38 │ │ │ │ │ + add r3, r1 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + mla r3, fp, r4, r3 │ │ │ │ │ vadd.f64 d6, d12, d7 │ │ │ │ │ - ldr r2, [sp, #8] │ │ │ │ │ vsub.f64 d7, d12, d7 │ │ │ │ │ - vldr d12, [sp, #288] @ 0x120 │ │ │ │ │ - vstr d3, [r0] │ │ │ │ │ - vadd.f64 d3, d0, d15 │ │ │ │ │ - add r0, r2 │ │ │ │ │ - ldr r2, [sp, #16] │ │ │ │ │ - vsub.f64 d15, d15, d0 │ │ │ │ │ - vldr d0, [pc, #-480] @ 1900 │ │ │ │ │ - add r4, r2 │ │ │ │ │ - ldr r2, [sp, #0] │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ + vadd.f64 d3, d8, d15 │ │ │ │ │ + vsub.f64 d15, d15, d8 │ │ │ │ │ + ldr r2, [sp, #8] │ │ │ │ │ + str r5, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d12, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d0, [sp, #384] @ 0x180 │ │ │ │ │ vsub.f64 d2, d6, d3 │ │ │ │ │ + add r3, r2 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ + vldr d11, [sp, #392] @ 0x188 │ │ │ │ │ vadd.f64 d3, d4, d5 │ │ │ │ │ vsub.f64 d5, d4, d5 │ │ │ │ │ - vstr d2, [r0] │ │ │ │ │ - movs r0, #48 @ 0x30 │ │ │ │ │ - mla r0, r0, r6, r8 │ │ │ │ │ - vstr d6, [r0] │ │ │ │ │ - vadd.f64 d6, d11, d1 │ │ │ │ │ - add r0, sl │ │ │ │ │ + vldr d1, [sp, #720] @ 0x2d0 │ │ │ │ │ + vldr d9, [sp, #880] @ 0x370 │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + ldr r3, [sp, #0] │ │ │ │ │ + vmov.f64 d8, d11 │ │ │ │ │ + vldr d14, [sp, #896] @ 0x380 │ │ │ │ │ + add.w fp, ip, r3, lsl #4 │ │ │ │ │ + ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d6, [fp] │ │ │ │ │ + vadd.f64 d6, d0, d11 │ │ │ │ │ + add fp, r1 │ │ │ │ │ + vldr d11, [sp, #320] @ 0x140 │ │ │ │ │ + sub.w r2, r3, r5 │ │ │ │ │ + mov.w r5, #304 @ 0x130 │ │ │ │ │ vadd.f64 d2, d3, d6 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ - mov.w r4, #464 @ 0x1d0 │ │ │ │ │ - vldr d2, [pc, #-532] @ 1908 │ │ │ │ │ - mla r4, r4, r9, fp │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ + mov.w r2, #464 @ 0x1d0 │ │ │ │ │ + vldr d2, [pc, #-628] @ 1918 │ │ │ │ │ + mla r3, r2, r8, r7 │ │ │ │ │ + mov.w r2, #208 @ 0xd0 │ │ │ │ │ + mla r2, r2, r4, ip │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ vadd.f64 d6, d5, d15 │ │ │ │ │ - subs r4, r4, r2 │ │ │ │ │ + sub.w r3, r3, r0 │ │ │ │ │ vsub.f64 d15, d15, d5 │ │ │ │ │ - add.w r2, sp, #1024 @ 0x400 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ - vsub.f64 d6, d1, d11 │ │ │ │ │ - vstr d15, [r1] │ │ │ │ │ - vldr d11, [sp, #448] @ 0x1c0 │ │ │ │ │ - vldr d15, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + vsub.f64 d6, d8, d0 │ │ │ │ │ + mla r3, r5, r8, r7 │ │ │ │ │ + vldr d8, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d15, [r3] │ │ │ │ │ + vldr d0, [pc, #-672] @ 1920 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d1, [r2] │ │ │ │ │ - vadd.f64 d6, d12, d15 │ │ │ │ │ - vldr d12, [pc, #-584] @ 1910 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ - movs r0, #208 @ 0xd0 │ │ │ │ │ - mla r0, r0, r6, r8 │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ - vldr d7, [sp, #392] @ 0x188 │ │ │ │ │ + vadd.f64 d6, d8, d12 │ │ │ │ │ + vldr d8, [sp, #520] @ 0x208 │ │ │ │ │ + vldr d12, [pc, #-684] @ 1928 │ │ │ │ │ + vstr d5, [fp] │ │ │ │ │ + add.w fp, ip, r6 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + vldr d7, [sp, #264] @ 0x108 │ │ │ │ │ vadd.f64 d13, d7, d11 │ │ │ │ │ - vldr d7, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d7, [sp, #512] @ 0x200 │ │ │ │ │ vadd.f64 d15, d6, d13 │ │ │ │ │ vsub.f64 d13, d6, d13 │ │ │ │ │ - vsub.f64 d6, d10, d7 │ │ │ │ │ - vsub.f64 d7, d1, d14 │ │ │ │ │ - vstr d15, [sp, #24] │ │ │ │ │ + vsub.f64 d6, d9, d7 │ │ │ │ │ + vsub.f64 d7, d8, d14 │ │ │ │ │ + vstr d15, [sp, #56] @ 0x38 │ │ │ │ │ vmul.f64 d5, d7, d12 │ │ │ │ │ + vldr d15, [sp, #104] @ 0x68 │ │ │ │ │ vmov.f64 d11, d5 │ │ │ │ │ vmla.f64 d11, d6, d0 │ │ │ │ │ vmul.f64 d6, d6, d12 │ │ │ │ │ - vmov.f64 d15, d6 │ │ │ │ │ - vnmls.f64 d15, d7, d0 │ │ │ │ │ - vstr d11, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d7, [sp, #560] @ 0x230 │ │ │ │ │ - vldr d11, [sp, #160] @ 0xa0 │ │ │ │ │ - vsub.f64 d7, d7, d11 │ │ │ │ │ - vldr d11, [sp, #200] @ 0xc8 │ │ │ │ │ - vstr d15, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d15, [sp, #576] @ 0x240 │ │ │ │ │ - vsub.f64 d6, d11, d15 │ │ │ │ │ + vmov.f64 d8, d6 │ │ │ │ │ + vnmls.f64 d8, d7, d0 │ │ │ │ │ + vldr d7, [sp, #432] @ 0x1b0 │ │ │ │ │ + vstr d11, [sp, #160] @ 0xa0 │ │ │ │ │ + vsub.f64 d7, d7, d15 │ │ │ │ │ + vldr d15, [sp, #448] @ 0x1c0 │ │ │ │ │ + vstr d8, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d8, [sp, #584] @ 0x248 │ │ │ │ │ + vsub.f64 d6, d8, d15 │ │ │ │ │ + vldr d8, [pc, #-780] @ 1930 │ │ │ │ │ vmul.f64 d5, d6, d12 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ - vmov.f64 d11, d5 │ │ │ │ │ - vnmls.f64 d11, d7, d0 │ │ │ │ │ - vstr d11, [sp, #80] @ 0x50 │ │ │ │ │ + vmov.f64 d15, d5 │ │ │ │ │ vmov.f64 d11, d6 │ │ │ │ │ + vldr d6, [pc, #-792] @ 1938 │ │ │ │ │ + vnmls.f64 d15, d7, d0 │ │ │ │ │ vmla.f64 d11, d7, d12 │ │ │ │ │ - vldr d6, [pc, #-712] @ 1918 │ │ │ │ │ - vldr d9, [sp, #232] @ 0xe8 │ │ │ │ │ - vldr d8, [sp, #704] @ 0x2c0 │ │ │ │ │ - vldr d5, [sp, #688] @ 0x2b0 │ │ │ │ │ - vmul.f64 d4, d9, d6 │ │ │ │ │ - vldr d15, [sp, #104] @ 0x68 │ │ │ │ │ - vmul.f64 d7, d8, d6 │ │ │ │ │ - ldr r2, [sp, #8] │ │ │ │ │ + vmul.f64 d7, d1, d6 │ │ │ │ │ + vstr d15, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d11, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d5, [sp, #704] @ 0x2c0 │ │ │ │ │ + vldr d11, [pc, #-812] @ 1940 │ │ │ │ │ + vldr d15, [sp, #152] @ 0x98 │ │ │ │ │ vmla.f64 d7, d5, d2 │ │ │ │ │ - ldr r4, [sp, #16] │ │ │ │ │ - vadd.f64 d15, d10, d15 │ │ │ │ │ - add r0, r2 │ │ │ │ │ - vstr d11, [sp, #88] @ 0x58 │ │ │ │ │ - add r1, r4 │ │ │ │ │ - vldr d11, [sp, #56] @ 0x38 │ │ │ │ │ - ldr r4, [sp, #0] │ │ │ │ │ - vnmls.f64 d4, d11, d2 │ │ │ │ │ - vldr d11, [pc, #-760] @ 1920 │ │ │ │ │ + ldr r5, [sp, #8] │ │ │ │ │ vmov.f64 d10, d11 │ │ │ │ │ + vmul.f64 d4, d15, d6 │ │ │ │ │ + vldr d15, [sp, #136] @ 0x88 │ │ │ │ │ + add r2, r5 │ │ │ │ │ + vnmls.f64 d4, d15, d2 │ │ │ │ │ vadd.f64 d3, d7, d4 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ - vadd.f64 d7, d14, d1 │ │ │ │ │ - vldr d1, [pc, #-772] @ 1928 │ │ │ │ │ - vmov.f64 d9, d1 │ │ │ │ │ - vmul.f64 d14, d7, d1 │ │ │ │ │ + vldr d7, [sp, #512] @ 0x200 │ │ │ │ │ + vadd.f64 d15, d9, d7 │ │ │ │ │ + vldr d7, [sp, #520] @ 0x208 │ │ │ │ │ + vmov.f64 d9, d8 │ │ │ │ │ + vadd.f64 d7, d14, d7 │ │ │ │ │ + vmul.f64 d14, d7, d8 │ │ │ │ │ vmla.f64 d14, d15, d11 │ │ │ │ │ - vmul.f64 d15, d15, d1 │ │ │ │ │ - vldr d1, [sp, #344] @ 0x158 │ │ │ │ │ + vmul.f64 d15, d15, d8 │ │ │ │ │ vnmls.f64 d15, d7, d11 │ │ │ │ │ vmov.f64 d7, d5 │ │ │ │ │ + vldr d11, [sp, #328] @ 0x148 │ │ │ │ │ vmov.f64 d5, d6 │ │ │ │ │ - vldr d11, [sp, #56] @ 0x38 │ │ │ │ │ vmul.f64 d6, d7, d6 │ │ │ │ │ - vldr d7, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d7, [sp, #152] @ 0x98 │ │ │ │ │ + vnmls.f64 d6, d1, d2 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ - vnmls.f64 d6, d8, d2 │ │ │ │ │ - vmla.f64 d7, d11, d5 │ │ │ │ │ - vldr d11, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d2, [sp, #136] @ 0x88 │ │ │ │ │ + vmla.f64 d7, d2, d5 │ │ │ │ │ + vldr d5, [sp, #216] @ 0xd8 │ │ │ │ │ vadd.f64 d8, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #296] @ 0x128 │ │ │ │ │ - vadd.f64 d5, d6, d1 │ │ │ │ │ - vldr d1, [sp, #456] @ 0x1c8 │ │ │ │ │ - vldr d6, [sp, #400] @ 0x190 │ │ │ │ │ - vadd.f64 d6, d6, d1 │ │ │ │ │ - vldr d1, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d6, [sp, #168] @ 0xa8 │ │ │ │ │ + vadd.f64 d5, d6, d5 │ │ │ │ │ + vldr d6, [sp, #272] @ 0x110 │ │ │ │ │ + vadd.f64 d6, d6, d11 │ │ │ │ │ + vldr d11, [sp, #432] @ 0x1b0 │ │ │ │ │ vadd.f64 d2, d5, d6 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [sp, #560] @ 0x230 │ │ │ │ │ - vadd.f64 d1, d5, d1 │ │ │ │ │ - vldr d5, [sp, #576] @ 0x240 │ │ │ │ │ - vadd.f64 d11, d5, d11 │ │ │ │ │ + vldr d5, [sp, #104] @ 0x68 │ │ │ │ │ + vadd.f64 d1, d11, d5 │ │ │ │ │ + vldr d11, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d5, [sp, #584] @ 0x248 │ │ │ │ │ + vadd.f64 d11, d11, d5 │ │ │ │ │ vmul.f64 d5, d11, d9 │ │ │ │ │ vmul.f64 d11, d11, d10 │ │ │ │ │ - vmla.f64 d11, d1, d9 │ │ │ │ │ vnmls.f64 d5, d1, d10 │ │ │ │ │ - vldr d1, [sp, #24] │ │ │ │ │ - vadd.f64 d1, d1, d3 │ │ │ │ │ + vldr d10, [sp, #56] @ 0x38 │ │ │ │ │ + vmla.f64 d11, d1, d9 │ │ │ │ │ + vadd.f64 d1, d10, d3 │ │ │ │ │ vadd.f64 d9, d14, d5 │ │ │ │ │ vsub.f64 d5, d5, d14 │ │ │ │ │ vsub.f64 d10, d1, d9 │ │ │ │ │ vadd.f64 d1, d1, d9 │ │ │ │ │ vadd.f64 d9, d8, d2 │ │ │ │ │ vsub.f64 d2, d8, d2 │ │ │ │ │ - vstr d10, [r0] │ │ │ │ │ - add.w r0, r8, r6, lsl #4 │ │ │ │ │ - vstr d1, [r0] │ │ │ │ │ + vldr d8, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d10, [r2] │ │ │ │ │ + vstr d1, [fp] │ │ │ │ │ vadd.f64 d1, d15, d11 │ │ │ │ │ + vsub.f64 d3, d8, d3 │ │ │ │ │ + ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ vsub.f64 d11, d11, d15 │ │ │ │ │ - add r0, sl │ │ │ │ │ - vldr d15, [sp, #80] @ 0x50 │ │ │ │ │ + add fp, r1 │ │ │ │ │ + vldr d15, [sp, #264] @ 0x108 │ │ │ │ │ vadd.f64 d10, d9, d1 │ │ │ │ │ + sub.w r3, r3, r2 │ │ │ │ │ vsub.f64 d1, d1, d9 │ │ │ │ │ - vstr d10, [r1] │ │ │ │ │ - mov.w r1, #496 @ 0x1f0 │ │ │ │ │ - mla r1, r1, r9, fp │ │ │ │ │ - vstr d1, [r1] │ │ │ │ │ + mov.w r2, r8, lsl #5 │ │ │ │ │ + str r2, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d10, [r3] │ │ │ │ │ + sub.w r3, r2, r8 │ │ │ │ │ + sub.w r2, r6, r4 │ │ │ │ │ + add.w r3, r7, r3, lsl #4 │ │ │ │ │ + str r2, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d1, [r3] │ │ │ │ │ vadd.f64 d1, d2, d5 │ │ │ │ │ - subs r1, r1, r4 │ │ │ │ │ + sub.w r3, r3, r0 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ - vstr d1, [r1] │ │ │ │ │ - sub.w r1, fp, ip │ │ │ │ │ - vstr d5, [r1] │ │ │ │ │ - movs r1, #240 @ 0xf0 │ │ │ │ │ - vldr d5, [sp, #24] │ │ │ │ │ - mla r1, r1, r6, r8 │ │ │ │ │ - vsub.f64 d3, d5, d3 │ │ │ │ │ + vstr d1, [r3] │ │ │ │ │ + ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ + add r3, r7 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ vsub.f64 d5, d3, d11 │ │ │ │ │ vadd.f64 d3, d3, d11 │ │ │ │ │ - vldr d11, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ + vldr d11, [sp, #160] @ 0xa0 │ │ │ │ │ + add.w r3, ip, r2, lsl #4 │ │ │ │ │ + vstr d5, [fp] │ │ │ │ │ vadd.f64 d5, d13, d7 │ │ │ │ │ - vstr d3, [r1] │ │ │ │ │ + mov.w fp, #400 @ 0x190 │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ vadd.f64 d3, d11, d15 │ │ │ │ │ - mla r1, r3, r6, r8 │ │ │ │ │ + mov r2, fp │ │ │ │ │ + mla r3, fp, r4, ip │ │ │ │ │ vsub.f64 d7, d13, d7 │ │ │ │ │ - mla r3, r3, r9, fp │ │ │ │ │ vsub.f64 d2, d5, d3 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ vadd.f64 d3, d4, d6 │ │ │ │ │ vsub.f64 d6, d4, d6 │ │ │ │ │ - vstr d2, [r1] │ │ │ │ │ - movs r1, #112 @ 0x70 │ │ │ │ │ - mla r0, r1, r6, r8 │ │ │ │ │ - mla r1, r1, r9, fp │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ - add r0, sl │ │ │ │ │ - vldr d1, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d14, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d9, [sp, #968] @ 0x3c8 │ │ │ │ │ - vldr d10, [sp, #728] @ 0x2d8 │ │ │ │ │ - vadd.f64 d5, d1, d14 │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + ldr r6, [sp, #32] │ │ │ │ │ + ldr r5, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d8, [sp, #208] @ 0xd0 │ │ │ │ │ + sub.w r3, r6, r4 │ │ │ │ │ + vldr d14, [sp, #320] @ 0x140 │ │ │ │ │ + add.w fp, ip, r3, lsl #4 │ │ │ │ │ + add.w r3, ip, r3, lsl #3 │ │ │ │ │ + ldr r6, [sp, #128] @ 0x80 │ │ │ │ │ + vstr d5, [fp] │ │ │ │ │ + add fp, r1 │ │ │ │ │ + vldr d10, [sp, #792] @ 0x318 │ │ │ │ │ + vadd.f64 d5, d8, d14 │ │ │ │ │ + vldr d1, [sp, #1016] @ 0x3f8 │ │ │ │ │ + add.w r6, r7, r6, lsl #4 │ │ │ │ │ vadd.f64 d2, d3, d5 │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ - vstr d2, [r1] │ │ │ │ │ - mov.w r1, #368 @ 0x170 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ + vstr d2, [r6] │ │ │ │ │ + mla r6, r2, r8, r7 │ │ │ │ │ + mov.w r2, #368 @ 0x170 │ │ │ │ │ + vldr d2, [sp, #968] @ 0x3c8 │ │ │ │ │ + vstr d5, [r6] │ │ │ │ │ vsub.f64 d5, d15, d11 │ │ │ │ │ - subs r3, r3, r4 │ │ │ │ │ - vldr d11, [sp, #304] @ 0x130 │ │ │ │ │ - vldr d2, [sp, #1016] @ 0x3f8 │ │ │ │ │ - vldr d15, [sp, #320] @ 0x140 │ │ │ │ │ + sub.w r6, r6, r0 │ │ │ │ │ + vldr d11, [sp, #176] @ 0xb0 │ │ │ │ │ vadd.f64 d4, d6, d5 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ - vsub.f64 d6, d14, d1 │ │ │ │ │ - vldr d1, [sp, #352] @ 0x160 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - mla r3, r1, r9, fp │ │ │ │ │ - movs r1, #144 @ 0x90 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - mla r3, r1, r6, r8 │ │ │ │ │ + vsub.f64 d6, d14, d8 │ │ │ │ │ + vldr d8, [sp, #224] @ 0xe0 │ │ │ │ │ + vstr d4, [r6] │ │ │ │ │ + mla r6, r2, r8, r7 │ │ │ │ │ + mov.w r2, #184 @ 0xb8 │ │ │ │ │ + vldr d4, [sp, #240] @ 0xf0 │ │ │ │ │ + vstr d5, [r6] │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vsub.f64 d6, d11, d1 │ │ │ │ │ - vldr d11, [sp, #472] @ 0x1d8 │ │ │ │ │ - vldr d1, [sp, #416] @ 0x1a0 │ │ │ │ │ - mov.w r1, #440 @ 0x1b8 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ - mov r0, r1 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - vsub.f64 d7, d11, d1 │ │ │ │ │ - vldr d1, [sp, #776] @ 0x308 │ │ │ │ │ - mla r3, r1, r6, r8 │ │ │ │ │ + vsub.f64 d6, d11, d8 │ │ │ │ │ + vldr d8, [sp, #288] @ 0x120 │ │ │ │ │ + add.w r6, ip, r5, lsl #4 │ │ │ │ │ + add.w r5, ip, r5, lsl #3 │ │ │ │ │ + vldr d11, [sp, #344] @ 0x158 │ │ │ │ │ + vstr d5, [fp] │ │ │ │ │ + mov.w fp, #440 @ 0x1b8 │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ + vldr d5, [sp, #744] @ 0x2e8 │ │ │ │ │ + mla r6, fp, r4, ip │ │ │ │ │ + vsub.f64 d7, d11, d8 │ │ │ │ │ vsub.f64 d13, d6, d7 │ │ │ │ │ - vadd.f64 d7, d6, d7 │ │ │ │ │ - vmul.f64 d6, d9, d12 │ │ │ │ │ - vmla.f64 d6, d2, d0 │ │ │ │ │ - vstr d7, [sp] │ │ │ │ │ - vmul.f64 d7, d1, d12 │ │ │ │ │ - vnmls.f64 d7, d10, d0 │ │ │ │ │ - vadd.f64 d5, d6, d7 │ │ │ │ │ + vadd.f64 d15, d6, d7 │ │ │ │ │ + vmul.f64 d6, d2, d12 │ │ │ │ │ + vmul.f64 d7, d10, d12 │ │ │ │ │ + vmla.f64 d6, d1, d0 │ │ │ │ │ + vnmls.f64 d7, d5, d0 │ │ │ │ │ + vstr d15, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d15, [sp, #192] @ 0xc0 │ │ │ │ │ + vsub.f64 d14, d4, d15 │ │ │ │ │ vsub.f64 d11, d6, d7 │ │ │ │ │ - vldr d7, [sp, #408] @ 0x198 │ │ │ │ │ - vldr d6, [sp, #464] @ 0x1d0 │ │ │ │ │ - vstr d5, [sp, #24] │ │ │ │ │ - vldr d5, [sp, #368] @ 0x170 │ │ │ │ │ + vadd.f64 d7, d6, d7 │ │ │ │ │ + vldr d6, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d7, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d7, [sp, #280] @ 0x118 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vmul.f64 d7, d2, d12 │ │ │ │ │ - vldr d2, [pc, #1012] @ 2230 │ │ │ │ │ - vsub.f64 d14, d5, d15 │ │ │ │ │ - vnmls.f64 d7, d9, d0 │ │ │ │ │ + vmul.f64 d7, d1, d12 │ │ │ │ │ + vldr d1, [pc, #1008] @ 22c8 │ │ │ │ │ + vnmls.f64 d7, d2, d0 │ │ │ │ │ + vldr d2, [pc, #1008] @ 22d0 │ │ │ │ │ vsub.f64 d8, d6, d14 │ │ │ │ │ vadd.f64 d14, d6, d14 │ │ │ │ │ - vmul.f64 d6, d1, d0 │ │ │ │ │ - vldr d0, [sp, #192] @ 0xc0 │ │ │ │ │ - vmla.f64 d6, d10, d12 │ │ │ │ │ - vldr d12, [sp, #792] @ 0x318 │ │ │ │ │ - vldr d1, [pc, #984] @ 2238 │ │ │ │ │ + vmul.f64 d6, d10, d0 │ │ │ │ │ + vldr d0, [sp, #120] @ 0x78 │ │ │ │ │ + vmla.f64 d6, d5, d12 │ │ │ │ │ + vldr d12, [sp, #808] @ 0x328 │ │ │ │ │ vadd.f64 d15, d7, d6 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ - vldr d6, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d6, [sp, #608] @ 0x260 │ │ │ │ │ vsub.f64 d4, d6, d0 │ │ │ │ │ - vldr d0, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d0, [sp, #96] @ 0x60 │ │ │ │ │ vsub.f64 d7, d12, d4 │ │ │ │ │ vadd.f64 d4, d12, d4 │ │ │ │ │ - vldr d12, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d12, [sp, #600] @ 0x258 │ │ │ │ │ vsub.f64 d6, d12, d0 │ │ │ │ │ - vldr d12, [sp, #808] @ 0x328 │ │ │ │ │ - vldr d0, [pc, #948] @ 2240 │ │ │ │ │ + vldr d12, [sp, #824] @ 0x338 │ │ │ │ │ + vldr d0, [pc, #948] @ 22d8 │ │ │ │ │ vsub.f64 d9, d6, d12 │ │ │ │ │ vadd.f64 d6, d12, d6 │ │ │ │ │ vmul.f64 d3, d9, d0 │ │ │ │ │ vmov.f64 d12, d3 │ │ │ │ │ - vldr d3, [pc, #936] @ 2248 │ │ │ │ │ - vmul.f64 d10, d4, d3 │ │ │ │ │ - vmla.f64 d10, d6, d2 │ │ │ │ │ - vmul.f64 d6, d6, d3 │ │ │ │ │ + vldr d3, [pc, #936] @ 22e0 │ │ │ │ │ vnmls.f64 d12, d7, d1 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ + vmul.f64 d10, d4, d3 │ │ │ │ │ vmla.f64 d7, d9, d1 │ │ │ │ │ + vmla.f64 d10, d6, d2 │ │ │ │ │ + vmul.f64 d6, d6, d3 │ │ │ │ │ + vstr d12, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d12, [sp, #528] @ 0x210 │ │ │ │ │ vnmls.f64 d6, d4, d2 │ │ │ │ │ - vstr d10, [sp, #56] @ 0x38 │ │ │ │ │ - vstr d12, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d7, [sp, #72] @ 0x48 │ │ │ │ │ - vstr d6, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d12, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d6, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d4, [sp, #128] @ 0x80 │ │ │ │ │ - ldr r2, [sp, #32] │ │ │ │ │ + vldr d4, [sp, #536] @ 0x218 │ │ │ │ │ + vstr d7, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d10, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d6, [sp, #168] @ 0xa8 │ │ │ │ │ + vldr d6, [sp, #64] @ 0x40 │ │ │ │ │ vsub.f64 d6, d12, d6 │ │ │ │ │ - vldr d12, [sp, #904] @ 0x388 │ │ │ │ │ + vldr d12, [sp, #920] @ 0x398 │ │ │ │ │ vsub.f64 d9, d6, d12 │ │ │ │ │ vadd.f64 d6, d12, d6 │ │ │ │ │ - vldr d12, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d12, [sp, #72] @ 0x48 │ │ │ │ │ vsub.f64 d7, d4, d12 │ │ │ │ │ - vldr d12, [sp, #856] @ 0x358 │ │ │ │ │ + vldr d12, [sp, #872] @ 0x368 │ │ │ │ │ vsub.f64 d4, d12, d7 │ │ │ │ │ vadd.f64 d7, d12, d7 │ │ │ │ │ vmul.f64 d12, d4, d1 │ │ │ │ │ vmul.f64 d10, d7, d3 │ │ │ │ │ - vmla.f64 d12, d9, d0 │ │ │ │ │ vmul.f64 d4, d4, d0 │ │ │ │ │ - vldr d0, [sp, #48] @ 0x30 │ │ │ │ │ + vmla.f64 d12, d9, d0 │ │ │ │ │ + vldr d0, [sp, #136] @ 0x88 │ │ │ │ │ vnmls.f64 d10, d6, d2 │ │ │ │ │ vmul.f64 d2, d7, d2 │ │ │ │ │ - vmla.f64 d2, d6, d3 │ │ │ │ │ vadd.f64 d7, d13, d11 │ │ │ │ │ vnmls.f64 d4, d9, d1 │ │ │ │ │ - vldr d1, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d9, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d1, [pc, #808] @ 22e8 │ │ │ │ │ + vmla.f64 d2, d6, d3 │ │ │ │ │ vadd.f64 d6, d0, d12 │ │ │ │ │ vsub.f64 d3, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d8, d5 │ │ │ │ │ vsub.f64 d5, d5, d8 │ │ │ │ │ - vldr d8, [sp] │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ - movs r3, #72 @ 0x48 │ │ │ │ │ - mla r1, r3, r6, r8 │ │ │ │ │ - mla r3, r3, r9, fp │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ - vadd.f64 d7, d1, d4 │ │ │ │ │ - vsub.f64 d4, d1, d4 │ │ │ │ │ - add r1, sl │ │ │ │ │ - vldr d1, [pc, #748] @ 2250 │ │ │ │ │ + vldr d8, [sp, #88] @ 0x58 │ │ │ │ │ + vstr d3, [r6] │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ + vadd.f64 d7, d9, d4 │ │ │ │ │ + vsub.f64 d4, d9, d4 │ │ │ │ │ + ldr r6, [sp, #112] @ 0x70 │ │ │ │ │ + add r5, r1 │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ + add.w r6, r7, r6, lsl #3 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ - mla r3, r0, r9, fp │ │ │ │ │ - mov.w r0, #328 @ 0x148 │ │ │ │ │ - vldr d3, [pc, #732] @ 2258 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ + vstr d3, [r6] │ │ │ │ │ + mla r6, fp, r8, r7 │ │ │ │ │ + mov.w fp, #328 @ 0x148 │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ vsub.f64 d7, d0, d12 │ │ │ │ │ - subs r3, r3, r4 │ │ │ │ │ - vldr d12, [sp, #24] │ │ │ │ │ + sub.w r6, r6, r0 │ │ │ │ │ + vldr d12, [sp, #128] @ 0x80 │ │ │ │ │ vadd.f64 d6, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - mla r3, r0, r9, fp │ │ │ │ │ - mov.w r0, #312 @ 0x138 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ + mla r6, fp, r8, r7 │ │ │ │ │ + mov.w fp, #456 @ 0x1c8 │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ vsub.f64 d7, d13, d11 │ │ │ │ │ - vldr d11, [sp, #80] @ 0x50 │ │ │ │ │ - add r3, ip │ │ │ │ │ - vldr d13, [sp, #56] @ 0x38 │ │ │ │ │ - mov.w ip, #88 @ 0x58 │ │ │ │ │ + vldr d13, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d11, [sp, #168] @ 0xa8 │ │ │ │ │ vsub.f64 d5, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ vadd.f64 d6, d11, d2 │ │ │ │ │ - vstr d5, [r1] │ │ │ │ │ - movs r1, #184 @ 0xb8 │ │ │ │ │ - mla r1, r1, r6, r8 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ + vstr d5, [r5] │ │ │ │ │ + mla r5, r2, r4, ip │ │ │ │ │ + ldr r2, [sp, #144] @ 0x90 │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ vadd.f64 d7, d8, d15 │ │ │ │ │ - add r1, r2 │ │ │ │ │ + add r5, r2 │ │ │ │ │ + mov.w r2, #424 @ 0x1a8 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d12, d14 │ │ │ │ │ vsub.f64 d14, d12, d14 │ │ │ │ │ - vstr d5, [r1] │ │ │ │ │ - movs r1, #56 @ 0x38 │ │ │ │ │ - mla r2, r1, r6, r8 │ │ │ │ │ - mov.w r1, #456 @ 0x1c8 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ + vstr d5, [r5] │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vadd.f64 d7, d13, d10 │ │ │ │ │ vsub.f64 d10, d13, d10 │ │ │ │ │ - add r2, sl │ │ │ │ │ - vldr d13, [sp, #312] @ 0x138 │ │ │ │ │ + ldr r5, [sp, #48] @ 0x30 │ │ │ │ │ + add r3, r1 │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ + sub.w r6, r6, r5 │ │ │ │ │ vsub.f64 d6, d11, d2 │ │ │ │ │ - vldr d2, [pc, #588] @ 2260 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - mla r3, r1, r9, fp │ │ │ │ │ + mla r5, fp, r8, r7 │ │ │ │ │ + mov.w fp, #200 @ 0xc8 │ │ │ │ │ + vldr d2, [pc, #592] @ 22f0 │ │ │ │ │ + vstr d5, [r6] │ │ │ │ │ vadd.f64 d5, d14, d6 │ │ │ │ │ - vsub.f64 d6, d6, d14 │ │ │ │ │ - vldr d14, [sp, #376] @ 0x178 │ │ │ │ │ - mov r1, r4 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - subs r3, r3, r4 │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ vsub.f64 d7, d8, d15 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - mla r3, r0, r9, fp │ │ │ │ │ + sub.w r5, r5, r0 │ │ │ │ │ + vsub.f64 d6, d6, d14 │ │ │ │ │ + vstr d5, [r5] │ │ │ │ │ vsub.f64 d5, d7, d10 │ │ │ │ │ + mov.w r5, #312 @ 0x138 │ │ │ │ │ vadd.f64 d7, d7, d10 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - movs r3, #200 @ 0xc8 │ │ │ │ │ - vsub.f64 d6, d13, d14 │ │ │ │ │ - vldr d13, [sp, #488] @ 0x1e8 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - mla r2, ip, r9, fp │ │ │ │ │ - mla r3, r3, r6, r8 │ │ │ │ │ + mla r5, r5, r8, r7 │ │ │ │ │ + vstr d6, [r5] │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + mla r3, fp, r4, ip │ │ │ │ │ + mov.w fp, #88 @ 0x58 │ │ │ │ │ + vldr d13, [sp, #184] @ 0xb8 │ │ │ │ │ + mla r5, fp, r4, ip │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - mov.w r3, #424 @ 0x1a8 │ │ │ │ │ - vldr d0, [sp, #432] @ 0x1b0 │ │ │ │ │ - mov r0, r3 │ │ │ │ │ - vldr d4, [sp, #744] @ 0x2e8 │ │ │ │ │ - vldr d15, [sp, #984] @ 0x3d8 │ │ │ │ │ - mla r3, r3, r6, r8 │ │ │ │ │ + mla r3, r2, r4, ip │ │ │ │ │ + vldr d14, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d0, [sp, #304] @ 0x130 │ │ │ │ │ + vldr d15, [sp, #760] @ 0x2f8 │ │ │ │ │ + vsub.f64 d6, d13, d14 │ │ │ │ │ + vldr d4, [sp, #1000] @ 0x3e8 │ │ │ │ │ + vldr d13, [sp, #360] @ 0x168 │ │ │ │ │ + vldr d14, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d3, [sp, #776] @ 0x308 │ │ │ │ │ vsub.f64 d7, d13, d0 │ │ │ │ │ - vldr d0, [sp, #1000] @ 0x3e8 │ │ │ │ │ - vldr d10, [sp, #760] @ 0x2f8 │ │ │ │ │ - vldr d12, [sp, #480] @ 0x1e0 │ │ │ │ │ - vldr d14, [sp, #360] @ 0x168 │ │ │ │ │ + vldr d9, [sp, #984] @ 0x3d8 │ │ │ │ │ + vldr d5, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d12, [sp, #352] @ 0x160 │ │ │ │ │ vsub.f64 d13, d6, d7 │ │ │ │ │ - vadd.f64 d5, d6, d7 │ │ │ │ │ - vmul.f64 d7, d4, d2 │ │ │ │ │ - vmul.f64 d6, d0, d3 │ │ │ │ │ - vmla.f64 d6, d15, d2 │ │ │ │ │ - vstr d5, [sp] │ │ │ │ │ - vnmls.f64 d7, d10, d3 │ │ │ │ │ - vldr d5, [sp, #328] @ 0x148 │ │ │ │ │ - vsub.f64 d14, d14, d5 │ │ │ │ │ + vadd.f64 d8, d6, d7 │ │ │ │ │ + vldr d10, [sp, #856] @ 0x358 │ │ │ │ │ + vmul.f64 d7, d15, d1 │ │ │ │ │ + vmul.f64 d6, d4, d2 │ │ │ │ │ + vsub.f64 d14, d5, d14 │ │ │ │ │ + vmov.f64 d5, d4 │ │ │ │ │ + vldr d4, [sp, #624] @ 0x270 │ │ │ │ │ + vldr d0, [pc, #440] @ 22f8 │ │ │ │ │ + vmla.f64 d6, d9, d1 │ │ │ │ │ + vnmls.f64 d7, d3, d2 │ │ │ │ │ + vstr d8, [sp, #48] @ 0x30 │ │ │ │ │ vsub.f64 d11, d6, d7 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ - vldr d6, [sp, #424] @ 0x1a8 │ │ │ │ │ + vldr d6, [sp, #296] @ 0x128 │ │ │ │ │ vsub.f64 d6, d12, d6 │ │ │ │ │ - vstr d7, [sp, #24] │ │ │ │ │ - vmul.f64 d7, d0, d2 │ │ │ │ │ - vldr d0, [pc, #412] @ 2268 │ │ │ │ │ - vldr d12, [sp, #920] @ 0x398 │ │ │ │ │ + vstr d7, [sp, #88] @ 0x58 │ │ │ │ │ + vmul.f64 d7, d5, d1 │ │ │ │ │ + vldr d12, [sp, #952] @ 0x3b8 │ │ │ │ │ + vnmls.f64 d7, d9, d2 │ │ │ │ │ vsub.f64 d8, d6, d14 │ │ │ │ │ vadd.f64 d14, d6, d14 │ │ │ │ │ - vmul.f64 d6, d10, d2 │ │ │ │ │ - vnmls.f64 d7, d15, d3 │ │ │ │ │ - vmla.f64 d6, d4, d3 │ │ │ │ │ - vldr d4, [sp, #552] @ 0x228 │ │ │ │ │ - vldr d3, [sp, #536] @ 0x218 │ │ │ │ │ - vldr d2, [sp, #616] @ 0x268 │ │ │ │ │ - vldr d10, [sp, #824] @ 0x338 │ │ │ │ │ + vmul.f64 d6, d3, d1 │ │ │ │ │ + vldr d1, [sp, #840] @ 0x348 │ │ │ │ │ + vmla.f64 d6, d15, d2 │ │ │ │ │ + vldr d2, [sp, #640] @ 0x280 │ │ │ │ │ vadd.f64 d15, d7, d6 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ - vldr d7, [sp, #624] @ 0x270 │ │ │ │ │ - vsub.f64 d6, d3, d2 │ │ │ │ │ - vldr d2, [pc, #360] @ 2270 │ │ │ │ │ + vldr d7, [sp, #648] @ 0x288 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ - vsub.f64 d7, d10, d4 │ │ │ │ │ - vadd.f64 d4, d10, d4 │ │ │ │ │ - vldr d10, [sp, #840] @ 0x348 │ │ │ │ │ + vsub.f64 d7, d1, d4 │ │ │ │ │ + vadd.f64 d4, d1, d4 │ │ │ │ │ + vldr d1, [sp, #616] @ 0x268 │ │ │ │ │ + vsub.f64 d6, d1, d2 │ │ │ │ │ + vldr d1, [pc, #344] @ 2300 │ │ │ │ │ + vldr d2, [pc, #348] @ 2308 │ │ │ │ │ vsub.f64 d9, d6, d10 │ │ │ │ │ vadd.f64 d6, d10, d6 │ │ │ │ │ vmul.f64 d3, d9, d0 │ │ │ │ │ vmov.f64 d10, d3 │ │ │ │ │ - vldr d3, [pc, #332] @ 2278 │ │ │ │ │ + vldr d3, [pc, #336] @ 2310 │ │ │ │ │ vnmls.f64 d10, d7, d1 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ vmla.f64 d7, d9, d1 │ │ │ │ │ - vldr d9, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d10, [sp, #32] │ │ │ │ │ + vldr d9, [sp, #568] @ 0x238 │ │ │ │ │ + vstr d10, [sp, #112] @ 0x70 │ │ │ │ │ vmul.f64 d10, d4, d3 │ │ │ │ │ vmla.f64 d10, d6, d2 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ - vstr d7, [sp, #56] @ 0x38 │ │ │ │ │ vnmls.f64 d6, d4, d2 │ │ │ │ │ - vldr d4, [sp, #136] @ 0x88 │ │ │ │ │ - vstr d10, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d10, [sp, #144] @ 0x90 │ │ │ │ │ - vstr d6, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d4, [sp, #544] @ 0x220 │ │ │ │ │ + vstr d10, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d10, [sp, #552] @ 0x228 │ │ │ │ │ + vstr d7, [sp, #136] @ 0x88 │ │ │ │ │ + vstr d6, [sp, #144] @ 0x90 │ │ │ │ │ vsub.f64 d6, d4, d9 │ │ │ │ │ - vldr d4, [sp, #944] @ 0x3b0 │ │ │ │ │ - vsub.f64 d9, d6, d4 │ │ │ │ │ - vadd.f64 d6, d4, d6 │ │ │ │ │ - vldr d4, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d4, [sp, #576] @ 0x240 │ │ │ │ │ + vsub.f64 d9, d6, d12 │ │ │ │ │ + vadd.f64 d6, d12, d6 │ │ │ │ │ + vldr d12, [sp, #936] @ 0x3a8 │ │ │ │ │ vsub.f64 d7, d10, d4 │ │ │ │ │ vsub.f64 d4, d12, d7 │ │ │ │ │ vadd.f64 d7, d12, d7 │ │ │ │ │ vmul.f64 d12, d4, d1 │ │ │ │ │ vmul.f64 d10, d7, d3 │ │ │ │ │ - vmla.f64 d12, d9, d0 │ │ │ │ │ vmul.f64 d4, d4, d0 │ │ │ │ │ - vldr d0, [sp, #32] │ │ │ │ │ + vmla.f64 d12, d9, d0 │ │ │ │ │ + vldr d0, [sp, #112] @ 0x70 │ │ │ │ │ vnmls.f64 d10, d6, d2 │ │ │ │ │ vmul.f64 d2, d7, d2 │ │ │ │ │ - vmla.f64 d2, d6, d3 │ │ │ │ │ vadd.f64 d7, d13, d11 │ │ │ │ │ vnmls.f64 d4, d9, d1 │ │ │ │ │ - vldr d1, [sp, #56] @ 0x38 │ │ │ │ │ + vmla.f64 d2, d6, d3 │ │ │ │ │ vadd.f64 d6, d0, d12 │ │ │ │ │ vsub.f64 d3, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d8, d5 │ │ │ │ │ vsub.f64 d5, d5, d8 │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ - mla r3, ip, r6, r8 │ │ │ │ │ - mov.w ip, #472 @ 0x1d8 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ + mla r3, fp, r8, r7 │ │ │ │ │ + mov fp, r2 │ │ │ │ │ + vldr d1, [sp, #136] @ 0x88 │ │ │ │ │ + mov.w r2, #344 @ 0x158 │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ + add r5, r1 │ │ │ │ │ + vldr d8, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d9, [sp, #960] @ 0x3c0 │ │ │ │ │ vadd.f64 d7, d1, d4 │ │ │ │ │ vsub.f64 d4, d1, d4 │ │ │ │ │ - add r3, sl │ │ │ │ │ + vldr d1, [sp, #48] @ 0x30 │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - mla r2, r0, r9, fp │ │ │ │ │ - mov.w r0, #344 @ 0x158 │ │ │ │ │ - vldr d3, [pc, #140] @ 2280 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ + mla r3, fp, r8, r7 │ │ │ │ │ + mov.w fp, #168 @ 0xa8 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d0, d12 │ │ │ │ │ - subs r2, r2, r4 │ │ │ │ │ - vldr d8, [sp] │ │ │ │ │ - vldr d12, [sp, #1008] @ 0x3f0 │ │ │ │ │ - vldr d0, [sp, #720] @ 0x2d0 │ │ │ │ │ + sub.w r3, r3, r0 │ │ │ │ │ + vldr d12, [sp, #88] @ 0x58 │ │ │ │ │ vadd.f64 d6, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d1, [sp, #472] @ 0x1d8 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - mla r2, r0, r9, fp │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + mla r3, r2, r8, r7 │ │ │ │ │ + vadd.f64 d6, d8, d2 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d13, d11 │ │ │ │ │ - vldr d13, [sp, #72] @ 0x48 │ │ │ │ │ - b.n 22d8 │ │ │ │ │ - nop │ │ │ │ │ - .word 0x04f686e5 │ │ │ │ │ - .word 0x3fee2121 │ │ │ │ │ + b.n 2360 │ │ │ │ │ + nop.w │ │ │ │ │ .word 0xf43cc773 │ │ │ │ │ .word 0x3feced7a │ │ │ │ │ + .word 0x04f686e5 │ │ │ │ │ + .word 0x3fee2121 │ │ │ │ │ .word 0x09e15cc0 │ │ │ │ │ .word 0x3fdb5d10 │ │ │ │ │ .word 0x75ab1fdd │ │ │ │ │ .word 0x3fd58f9a │ │ │ │ │ - .word 0x45196e3e │ │ │ │ │ - .word 0x3feb7283 │ │ │ │ │ - .word 0xf180bdb1 │ │ │ │ │ - .word 0x3fec38b2 │ │ │ │ │ .word 0x3806f63b │ │ │ │ │ .word 0x3fde2b5d │ │ │ │ │ + .word 0xf180bdb1 │ │ │ │ │ + .word 0x3fec38b2 │ │ │ │ │ .word 0x9922ffee │ │ │ │ │ .word 0x3fe07387 │ │ │ │ │ + .word 0x45196e3e │ │ │ │ │ + .word 0x3feb7283 │ │ │ │ │ .word 0xfb9230d7 │ │ │ │ │ .word 0x3fef0a7e │ │ │ │ │ .word 0x7b215f1b │ │ │ │ │ .word 0x3fcf19f9 │ │ │ │ │ .word 0xbc29b42c │ │ │ │ │ .word 0x3fb917a6 │ │ │ │ │ .word 0xa3d12526 │ │ │ │ │ .word 0x3fefd88d │ │ │ │ │ - .word 0xf10dd814 │ │ │ │ │ - .word 0x3fa91f65 │ │ │ │ │ .word 0xe3796d7e │ │ │ │ │ .word 0x3feff621 │ │ │ │ │ + .word 0xf10dd814 │ │ │ │ │ + .word 0x3fa91f65 │ │ │ │ │ .word 0x226aafaf │ │ │ │ │ .word 0x3fe7b5df │ │ │ │ │ .word 0x348ceca0 │ │ │ │ │ .word 0x3fe57d69 │ │ │ │ │ .word 0x2ed59f06 │ │ │ │ │ .word 0x3fd29406 │ │ │ │ │ .word 0x56c62dda │ │ │ │ │ .word 0x3fee9f41 │ │ │ │ │ .word 0x6e8e613a │ │ │ │ │ .word 0x3fc2c810 │ │ │ │ │ - .word 0x7f08a517 │ │ │ │ │ - .word 0x3fefa755 │ │ │ │ │ - .word 0xfce17035 │ │ │ │ │ - .word 0x3fe30ff7 │ │ │ │ │ - vldr d11, [sp, #48] @ 0x30 │ │ │ │ │ + mla r3, fp, r4, ip │ │ │ │ │ + mov.w fp, #472 @ 0x1d8 │ │ │ │ │ + vldr d13, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d11, [sp, #336] @ 0x150 │ │ │ │ │ vsub.f64 d5, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vadd.f64 d6, d13, d2 │ │ │ │ │ - vldr d4, [sp, #24] │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - movs r3, #168 @ 0xa8 │ │ │ │ │ - mla r3, r3, r6, r8 │ │ │ │ │ + vstr d5, [r5] │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - vadd.f64 d7, d8, d15 │ │ │ │ │ - mla r3, ip, r6, r8 │ │ │ │ │ + vadd.f64 d7, d1, d15 │ │ │ │ │ + mla r3, fp, r4, ip │ │ │ │ │ + ldr r5, [sp, #16] │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vadd.f64 d6, d4, d14 │ │ │ │ │ - vsub.f64 d14, d4, d14 │ │ │ │ │ - vldr d4, [sp, #960] @ 0x3c0 │ │ │ │ │ + add.w r5, r7, r5, lsl #3 │ │ │ │ │ + vadd.f64 d6, d12, d14 │ │ │ │ │ + vsub.f64 d14, d12, d14 │ │ │ │ │ + vldr d12, [sp, #1008] @ 0x3f0 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - movs r3, #40 @ 0x28 │ │ │ │ │ - mla r2, r3, r6, r8 │ │ │ │ │ - mla r3, r3, r9, fp │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - vadd.f64 d7, d11, d10 │ │ │ │ │ - vsub.f64 d10, d11, d10 │ │ │ │ │ - add r2, sl │ │ │ │ │ - vldr d11, [sp, #464] @ 0x1d0 │ │ │ │ │ + ldr r3, [sp, #312] @ 0x138 │ │ │ │ │ + add.w r3, ip, r3, lsl #3 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + vadd.f64 d7, d13, d10 │ │ │ │ │ + vsub.f64 d10, d13, d10 │ │ │ │ │ + add r3, r1 │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vsub.f64 d6, d13, d2 │ │ │ │ │ - vldr d2, [pc, #-188] @ 2288 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - mla r3, ip, r9, fp │ │ │ │ │ + vsub.f64 d6, d8, d2 │ │ │ │ │ + vmov.f64 d8, d1 │ │ │ │ │ + vldr d2, [pc, #-180] @ 2318 │ │ │ │ │ + vldr d1, [pc, #-176] @ 2320 │ │ │ │ │ + vstr d5, [r5] │ │ │ │ │ + mla r5, fp, r8, r7 │ │ │ │ │ + mov.w fp, #296 @ 0x128 │ │ │ │ │ vadd.f64 d5, d14, d6 │ │ │ │ │ vsub.f64 d6, d6, d14 │ │ │ │ │ - mov.w ip, #216 @ 0xd8 │ │ │ │ │ - vldr d14, [sp, #304] @ 0x130 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - subs r3, r3, r4 │ │ │ │ │ + vldr d14, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d7, [r5] │ │ │ │ │ vsub.f64 d7, d8, d15 │ │ │ │ │ - vldr d15, [sp, #352] @ 0x160 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - mov.w r3, #296 @ 0x128 │ │ │ │ │ + sub.w r5, r5, r0 │ │ │ │ │ + vldr d15, [sp, #224] @ 0xe0 │ │ │ │ │ + vstr d5, [r5] │ │ │ │ │ + mla r5, fp, r8, r7 │ │ │ │ │ + mov.w fp, #216 @ 0xd8 │ │ │ │ │ vsub.f64 d5, d7, d10 │ │ │ │ │ vadd.f64 d7, d7, d10 │ │ │ │ │ - mla r3, r3, r9, fp │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ + vldr d10, [sp, #736] @ 0x2e0 │ │ │ │ │ + vstr d6, [r5] │ │ │ │ │ vadd.f64 d6, d14, d15 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - mla r2, ip, r6, r8 │ │ │ │ │ - vldr d5, [sp, #768] @ 0x300 │ │ │ │ │ - mov.w ip, #392 @ 0x188 │ │ │ │ │ - vldr d14, [sp, #320] @ 0x140 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - vldr d7, [sp, #408] @ 0x198 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + mla r3, fp, r4, ip │ │ │ │ │ + mov.w fp, #392 @ 0x188 │ │ │ │ │ + vldr d5, [sp, #784] @ 0x310 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + vldr d7, [sp, #280] @ 0x118 │ │ │ │ │ vadd.f64 d7, d7, d11 │ │ │ │ │ vadd.f64 d13, d6, d7 │ │ │ │ │ - vsub.f64 d11, d6, d7 │ │ │ │ │ - vmul.f64 d6, d12, d3 │ │ │ │ │ - vmul.f64 d7, d5, d2 │ │ │ │ │ - vmla.f64 d7, d0, d3 │ │ │ │ │ - vstr d11, [sp] │ │ │ │ │ - vnmls.f64 d6, d4, d2 │ │ │ │ │ + vsub.f64 d15, d6, d7 │ │ │ │ │ + vmul.f64 d7, d5, d1 │ │ │ │ │ + vmul.f64 d6, d12, d2 │ │ │ │ │ + vmla.f64 d7, d10, d2 │ │ │ │ │ + vnmls.f64 d6, d9, d1 │ │ │ │ │ + vstr d15, [sp, #16] │ │ │ │ │ vsub.f64 d15, d6, d7 │ │ │ │ │ vadd.f64 d11, d7, d6 │ │ │ │ │ - vldr d7, [sp, #416] @ 0x1a0 │ │ │ │ │ - vstr d15, [sp, #24] │ │ │ │ │ - vadd.f64 d6, d7, d1 │ │ │ │ │ - vldr d15, [sp, #368] @ 0x170 │ │ │ │ │ - vmul.f64 d7, d5, d3 │ │ │ │ │ - vldr d1, [sp, #224] @ 0xe0 │ │ │ │ │ + vstr d15, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d14, [sp, #192] @ 0xc0 │ │ │ │ │ + ldr r6, [sp, #8] │ │ │ │ │ + vldr d15, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d7, [sp, #288] @ 0x120 │ │ │ │ │ + add r3, r6 │ │ │ │ │ + vldr d8, [sp, #344] @ 0x158 │ │ │ │ │ vadd.f64 d14, d14, d15 │ │ │ │ │ - vnmls.f64 d7, d0, d2 │ │ │ │ │ - vldr d0, [pc, #-352] @ 2290 │ │ │ │ │ + vldr d0, [sp, #608] @ 0x260 │ │ │ │ │ + ldr r6, [sp, #32] │ │ │ │ │ + vadd.f64 d6, d7, d8 │ │ │ │ │ + vmul.f64 d7, d5, d2 │ │ │ │ │ + ldr r2, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d5, [sp, #600] @ 0x258 │ │ │ │ │ + add r6, ip │ │ │ │ │ + vnmls.f64 d7, d10, d1 │ │ │ │ │ + add r2, r8 │ │ │ │ │ vadd.f64 d8, d14, d6 │ │ │ │ │ vsub.f64 d14, d6, d14 │ │ │ │ │ - vmul.f64 d6, d4, d3 │ │ │ │ │ - vmla.f64 d6, d12, d2 │ │ │ │ │ - vldr d2, [sp, #184] @ 0xb8 │ │ │ │ │ - vadd.f64 d5, d2, d1 │ │ │ │ │ - vldr d1, [sp, #784] @ 0x310 │ │ │ │ │ - vldr d2, [sp, #192] @ 0xc0 │ │ │ │ │ - ldr r0, [sp, #8] │ │ │ │ │ - ldr r4, [sp, #16] │ │ │ │ │ - vadd.f64 d9, d1, d5 │ │ │ │ │ - vsub.f64 d5, d1, d5 │ │ │ │ │ - vldr d1, [sp, #280] @ 0x118 │ │ │ │ │ + add.w r2, r7, r2, lsl #3 │ │ │ │ │ + vmul.f64 d6, d9, d2 │ │ │ │ │ + vldr d2, [sp, #96] @ 0x60 │ │ │ │ │ + vmla.f64 d6, d12, d1 │ │ │ │ │ + vldr d1, [pc, #-388] @ 2328 │ │ │ │ │ + vadd.f64 d5, d2, d5 │ │ │ │ │ + vldr d2, [sp, #120] @ 0x78 │ │ │ │ │ vsub.f64 d15, d6, d7 │ │ │ │ │ vadd.f64 d4, d7, d6 │ │ │ │ │ - add r2, r0 │ │ │ │ │ - add r3, r4 │ │ │ │ │ - movs r4, #120 @ 0x78 │ │ │ │ │ - vadd.f64 d6, d2, d1 │ │ │ │ │ - vldr d1, [sp, #800] @ 0x320 │ │ │ │ │ - mov.w r0, #488 @ 0x1e8 │ │ │ │ │ - vadd.f64 d7, d1, d6 │ │ │ │ │ - vsub.f64 d6, d6, d1 │ │ │ │ │ - vldr d1, [pc, #-428] @ 2298 │ │ │ │ │ + vldr d6, [sp, #800] @ 0x320 │ │ │ │ │ + vadd.f64 d9, d6, d5 │ │ │ │ │ + vsub.f64 d5, d6, d5 │ │ │ │ │ + vadd.f64 d6, d2, d0 │ │ │ │ │ + vldr d0, [sp, #816] @ 0x330 │ │ │ │ │ + vadd.f64 d7, d0, d6 │ │ │ │ │ + vsub.f64 d6, d6, d0 │ │ │ │ │ + vldr d0, [pc, #-428] @ 2330 │ │ │ │ │ vmul.f64 d3, d7, d0 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vmla.f64 d7, d9, d0 │ │ │ │ │ vmov.f64 d2, d3 │ │ │ │ │ - vldr d3, [pc, #-440] @ 22a0 │ │ │ │ │ - vmul.f64 d10, d6, d3 │ │ │ │ │ + vldr d3, [pc, #-440] @ 2338 │ │ │ │ │ vnmls.f64 d2, d9, d1 │ │ │ │ │ - vldr d9, [sp, #96] @ 0x60 │ │ │ │ │ - vstr d7, [sp, #56] @ 0x38 │ │ │ │ │ - vstr d2, [sp, #32] │ │ │ │ │ - vldr d2, [pc, #-456] @ 22a8 │ │ │ │ │ - vmul.f64 d6, d6, d2 │ │ │ │ │ + vldr d9, [sp, #64] @ 0x40 │ │ │ │ │ + vmul.f64 d10, d6, d3 │ │ │ │ │ + vstr d2, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d2, [pc, #-452] @ 2340 │ │ │ │ │ + vstr d7, [sp, #112] @ 0x70 │ │ │ │ │ vmla.f64 d10, d5, d2 │ │ │ │ │ + vmul.f64 d6, d6, d2 │ │ │ │ │ vnmls.f64 d6, d5, d3 │ │ │ │ │ - vstr d10, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d10, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d6, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d10, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d10, [sp, #528] @ 0x210 │ │ │ │ │ + vstr d6, [sp, #120] @ 0x78 │ │ │ │ │ vadd.f64 d6, d9, d10 │ │ │ │ │ - vldr d9, [sp, #848] @ 0x350 │ │ │ │ │ - vldr d10, [sp, #128] @ 0x80 │ │ │ │ │ - vadd.f64 d5, d9, d6 │ │ │ │ │ - vsub.f64 d6, d9, d6 │ │ │ │ │ - vldr d9, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d9, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d10, [sp, #864] @ 0x360 │ │ │ │ │ + vadd.f64 d5, d10, d6 │ │ │ │ │ + vsub.f64 d6, d10, d6 │ │ │ │ │ + vldr d10, [sp, #536] @ 0x218 │ │ │ │ │ vadd.f64 d7, d9, d10 │ │ │ │ │ - vldr d10, [sp, #896] @ 0x380 │ │ │ │ │ + vldr d10, [sp, #912] @ 0x390 │ │ │ │ │ vadd.f64 d9, d10, d7 │ │ │ │ │ vsub.f64 d7, d7, d10 │ │ │ │ │ vmul.f64 d10, d6, d2 │ │ │ │ │ vmul.f64 d12, d9, d0 │ │ │ │ │ vmul.f64 d2, d7, d2 │ │ │ │ │ + vnmls.f64 d10, d7, d3 │ │ │ │ │ + vadd.f64 d7, d13, d11 │ │ │ │ │ vmla.f64 d12, d5, d1 │ │ │ │ │ vmul.f64 d5, d5, d0 │ │ │ │ │ + vldr d0, [sp, #88] @ 0x58 │ │ │ │ │ vmla.f64 d2, d6, d3 │ │ │ │ │ - vnmls.f64 d10, d7, d3 │ │ │ │ │ - vadd.f64 d7, d13, d11 │ │ │ │ │ - vldr d0, [sp, #56] @ 0x38 │ │ │ │ │ vnmls.f64 d5, d9, d1 │ │ │ │ │ - vldr d1, [sp, #32] │ │ │ │ │ - vadd.f64 d6, d1, d12 │ │ │ │ │ + vldr d9, [sp, #112] @ 0x70 │ │ │ │ │ + vadd.f64 d6, d0, d12 │ │ │ │ │ vsub.f64 d3, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d8, d4 │ │ │ │ │ vsub.f64 d4, d4, d8 │ │ │ │ │ - vldr d8, [pc, #-580] @ 22b0 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ - add r2, r8 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - vadd.f64 d7, d0, d5 │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ + vadd.f64 d7, d9, d5 │ │ │ │ │ + ldr r3, [sp, #40] @ 0x28 │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ + sub.w r5, r5, r3 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ - mov.w r3, #504 @ 0x1f8 │ │ │ │ │ - mla r3, r3, r9, fp │ │ │ │ │ + vstr d3, [r5] │ │ │ │ │ + ldr r5, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d3, [pc, #-612] @ 2348 │ │ │ │ │ + sub.w r3, r5, r8 │ │ │ │ │ + add.w r3, r7, r3, lsl #3 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - vsub.f64 d7, d1, d12 │ │ │ │ │ - subs r3, r3, r1 │ │ │ │ │ - vldr d12, [sp] │ │ │ │ │ - vldr d1, [sp, #72] @ 0x48 │ │ │ │ │ + vsub.f64 d7, d0, d12 │ │ │ │ │ + sub.w r3, r3, r0 │ │ │ │ │ vadd.f64 d6, d4, d7 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vmov.f64 d4, d8 │ │ │ │ │ + vmov.f64 d4, d3 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ - mov.w r3, #264 @ 0x108 │ │ │ │ │ - vsub.f64 d6, d0, d5 │ │ │ │ │ - mla r3, r3, r9, fp │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ + vsub.f64 d6, d9, d5 │ │ │ │ │ + add.w r3, r6, r1 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d13, d11 │ │ │ │ │ - add.w r3, r2, sl │ │ │ │ │ - movs r2, #248 @ 0xf8 │ │ │ │ │ - vldr d13, [sp, #24] │ │ │ │ │ + vldr d13, [sp, #16] │ │ │ │ │ + vldr d12, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d11, [sp, #120] @ 0x78 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vadd.f64 d6, d1, d2 │ │ │ │ │ + ldr r2, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d8, [sp, #96] @ 0x60 │ │ │ │ │ + vadd.f64 d6, d11, d2 │ │ │ │ │ + vldr d1, [sp, #360] @ 0x168 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - mla r3, r2, r6, r8 │ │ │ │ │ - mla r2, r4, r9, fp │ │ │ │ │ + rsb r3, r4, r4, lsl #5 │ │ │ │ │ + add.w r2, ip, r2, lsl #3 │ │ │ │ │ + ldr r5, [sp, #368] @ 0x170 │ │ │ │ │ + add.w r3, ip, r3, lsl #3 │ │ │ │ │ + vldr d0, [sp, #768] @ 0x300 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - vadd.f64 d7, d12, d15 │ │ │ │ │ - mla r3, ip, r6, r8 │ │ │ │ │ + vadd.f64 d7, d13, d15 │ │ │ │ │ + mla r3, fp, r4, ip │ │ │ │ │ + vldr d9, [sp, #992] @ 0x3e0 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vadd.f64 d6, d13, d14 │ │ │ │ │ - vsub.f64 d14, d13, d14 │ │ │ │ │ + vadd.f64 d6, d12, d14 │ │ │ │ │ + vsub.f64 d14, d12, d14 │ │ │ │ │ + vldr d12, [sp, #352] @ 0x160 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - mla r3, r4, r6, r8 │ │ │ │ │ - movs r4, #24 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - add r3, sl │ │ │ │ │ - vldr d11, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d0, [sp, #752] @ 0x2f0 │ │ │ │ │ - vldr d9, [sp, #976] @ 0x3d0 │ │ │ │ │ - vadd.f64 d7, d11, d10 │ │ │ │ │ - vsub.f64 d10, d11, d10 │ │ │ │ │ - vldr d11, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d3, [sp, #432] @ 0x1b0 │ │ │ │ │ - vldr d13, [sp, #488] @ 0x1e8 │ │ │ │ │ + sub.w r3, r5, r8 │ │ │ │ │ + mov.w r5, #408 @ 0x198 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + vadd.f64 d7, d8, d10 │ │ │ │ │ + add.w r3, r7, r3, lsl #3 │ │ │ │ │ + vsub.f64 d10, d8, d10 │ │ │ │ │ + vldr d8, [sp, #184] @ 0xb8 │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vsub.f64 d6, d1, d2 │ │ │ │ │ - vldr d1, [sp, #736] @ 0x2e0 │ │ │ │ │ - vldr d2, [sp, #616] @ 0x268 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - mla r2, ip, r9, fp │ │ │ │ │ + vsub.f64 d6, d11, d2 │ │ │ │ │ + vldr d11, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d2, [sp, #976] @ 0x3d0 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + mla r3, fp, r8, r7 │ │ │ │ │ + mov.w fp, #376 @ 0x178 │ │ │ │ │ vadd.f64 d5, d14, d6 │ │ │ │ │ - mov.w ip, #376 @ 0x178 │ │ │ │ │ vsub.f64 d6, d6, d14 │ │ │ │ │ - vldr d14, [sp, #376] @ 0x178 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - vsub.f64 d7, d12, d15 │ │ │ │ │ - subs r2, r2, r1 │ │ │ │ │ - vldr d12, [sp, #480] @ 0x1e0 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - mla r2, ip, r9, fp │ │ │ │ │ + vldr d14, [sp, #752] @ 0x2f0 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + vsub.f64 d7, d13, d15 │ │ │ │ │ + sub.w r3, r3, r0 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + mla r3, fp, r8, r7 │ │ │ │ │ + mov.w fp, #488 @ 0x1e8 │ │ │ │ │ vsub.f64 d5, d7, d10 │ │ │ │ │ vadd.f64 d7, d7, d10 │ │ │ │ │ - vldr d10, [sp, #992] @ 0x3e0 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - vadd.f64 d6, d11, d14 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + add.w r3, r2, r1 │ │ │ │ │ + vadd.f64 d6, d8, d11 │ │ │ │ │ + ldr r2, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d8, [sp, #200] @ 0xc8 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - movs r3, #136 @ 0x88 │ │ │ │ │ - vldr d5, [pc, #-868] @ 22b8 │ │ │ │ │ - mla r2, r4, r9, fp │ │ │ │ │ - mla r3, r3, r6, r8 │ │ │ │ │ + add.w r3, ip, r2, lsl #3 │ │ │ │ │ + vldr d5, [pc, #-888] @ 2350 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - mla r3, r0, r6, r8 │ │ │ │ │ - vldr d7, [sp, #424] @ 0x1a8 │ │ │ │ │ + mla r3, fp, r4, ip │ │ │ │ │ + vldr d7, [sp, #296] @ 0x128 │ │ │ │ │ vadd.f64 d7, d7, d12 │ │ │ │ │ - vldr d12, [sp, #360] @ 0x168 │ │ │ │ │ - vadd.f64 d14, d6, d7 │ │ │ │ │ + vldr d12, [sp, #232] @ 0xe8 │ │ │ │ │ + vadd.f64 d13, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vmul.f64 d7, d0, d8 │ │ │ │ │ - vmla.f64 d7, d1, d5 │ │ │ │ │ - vstr d6, [sp] │ │ │ │ │ - vmul.f64 d6, d10, d8 │ │ │ │ │ - vldr d8, [sp, #328] @ 0x148 │ │ │ │ │ - vnmls.f64 d6, d9, d5 │ │ │ │ │ + vmul.f64 d7, d0, d3 │ │ │ │ │ + vldr d3, [sp, #304] @ 0x130 │ │ │ │ │ + vstr d6, [sp, #8] │ │ │ │ │ + vmul.f64 d6, d9, d4 │ │ │ │ │ + vmla.f64 d7, d14, d5 │ │ │ │ │ + vnmls.f64 d6, d2, d5 │ │ │ │ │ vsub.f64 d15, d6, d7 │ │ │ │ │ vadd.f64 d11, d7, d6 │ │ │ │ │ - vadd.f64 d6, d3, d13 │ │ │ │ │ - vmul.f64 d7, d1, d4 │ │ │ │ │ - vldr d3, [sp, #536] @ 0x218 │ │ │ │ │ - vldr d1, [sp, #816] @ 0x330 │ │ │ │ │ - vstr d15, [sp, #8] │ │ │ │ │ + vadd.f64 d6, d3, d1 │ │ │ │ │ + vmul.f64 d7, d14, d4 │ │ │ │ │ + vldr d1, [sp, #616] @ 0x268 │ │ │ │ │ + vstr d15, [sp, #16] │ │ │ │ │ vadd.f64 d15, d8, d12 │ │ │ │ │ vnmls.f64 d7, d0, d5 │ │ │ │ │ - vldr d0, [pc, #-960] @ 22c0 │ │ │ │ │ + vldr d0, [pc, #-968] @ 2358 │ │ │ │ │ vadd.f64 d8, d15, d6 │ │ │ │ │ vsub.f64 d15, d6, d15 │ │ │ │ │ - vmul.f64 d6, d10, d5 │ │ │ │ │ - vadd.f64 d5, d3, d2 │ │ │ │ │ - vmla.f64 d6, d9, d4 │ │ │ │ │ - vldr d3, [sp, #552] @ 0x228 │ │ │ │ │ - vldr d2, [sp, #624] @ 0x270 │ │ │ │ │ - vadd.f64 d9, d1, d5 │ │ │ │ │ - vsub.f64 d5, d1, d5 │ │ │ │ │ - vldr d1, [pc, #-992] @ 22c8 │ │ │ │ │ + vmul.f64 d6, d9, d5 │ │ │ │ │ + vmla.f64 d6, d2, d4 │ │ │ │ │ + vldr d2, [sp, #640] @ 0x280 │ │ │ │ │ + ldr r6, [sp, #24] │ │ │ │ │ + vldr d3, [sp, #624] @ 0x270 │ │ │ │ │ + vadd.f64 d5, d1, d2 │ │ │ │ │ + vldr d2, [sp, #648] @ 0x288 │ │ │ │ │ + add.w r2, r7, r6, lsl #3 │ │ │ │ │ + vldr d1, [sp, #832] @ 0x340 │ │ │ │ │ vadd.f64 d4, d7, d6 │ │ │ │ │ - vsub.f64 d12, d6, d7 │ │ │ │ │ + vsub.f64 d14, d6, d7 │ │ │ │ │ vadd.f64 d6, d3, d2 │ │ │ │ │ - vldr d3, [sp, #832] @ 0x340 │ │ │ │ │ - vldr d2, [pc, #-1004] @ 22d0 │ │ │ │ │ + vldr d3, [sp, #848] @ 0x350 │ │ │ │ │ + vadd.f64 d9, d1, d5 │ │ │ │ │ + vsub.f64 d5, d1, d5 │ │ │ │ │ + vldr d1, [pc, #516] @ 2968 │ │ │ │ │ + vldr d2, [pc, #520] @ 2970 │ │ │ │ │ vadd.f64 d7, d3, d6 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ vmul.f64 d3, d7, d0 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vmla.f64 d7, d9, d0 │ │ │ │ │ vnmls.f64 d3, d9, d1 │ │ │ │ │ - vstr d7, [sp, #32] │ │ │ │ │ - vldr d7, [sp, #136] @ 0x88 │ │ │ │ │ - vstr d3, [sp, #16] │ │ │ │ │ - vldr d3, [pc, #444] @ 28a0 │ │ │ │ │ + vmla.f64 d7, d9, d0 │ │ │ │ │ + vldr d9, [sp, #568] @ 0x238 │ │ │ │ │ + vstr d3, [sp, #32] │ │ │ │ │ + vldr d3, [pc, #492] @ 2978 │ │ │ │ │ + vstr d7, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d7, [sp, #544] @ 0x220 │ │ │ │ │ vmul.f64 d10, d6, d3 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ - vmov.f64 d13, d10 │ │ │ │ │ vnmls.f64 d6, d5, d3 │ │ │ │ │ - vmla.f64 d13, d5, d2 │ │ │ │ │ - vstr d6, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d13, [sp, #24] │ │ │ │ │ - vldr d9, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d10, [sp, #144] @ 0x90 │ │ │ │ │ + vmov.f64 d12, d10 │ │ │ │ │ + vldr d10, [sp, #552] @ 0x228 │ │ │ │ │ + vmla.f64 d12, d5, d2 │ │ │ │ │ + vstr d6, [sp, #56] @ 0x38 │ │ │ │ │ vadd.f64 d6, d7, d9 │ │ │ │ │ - vldr d7, [sp, #264] @ 0x108 │ │ │ │ │ - vldr d9, [sp, #912] @ 0x390 │ │ │ │ │ + vldr d7, [sp, #576] @ 0x240 │ │ │ │ │ + vstr d12, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d9, [sp, #928] @ 0x3a0 │ │ │ │ │ vadd.f64 d7, d10, d7 │ │ │ │ │ - vldr d10, [sp, #936] @ 0x3a8 │ │ │ │ │ + vldr d10, [sp, #944] @ 0x3b0 │ │ │ │ │ vadd.f64 d5, d9, d6 │ │ │ │ │ vsub.f64 d6, d9, d6 │ │ │ │ │ vadd.f64 d9, d10, d7 │ │ │ │ │ vsub.f64 d7, d7, d10 │ │ │ │ │ vmul.f64 d10, d6, d2 │ │ │ │ │ - vmul.f64 d13, d9, d0 │ │ │ │ │ + vmul.f64 d12, d9, d0 │ │ │ │ │ vmul.f64 d2, d7, d2 │ │ │ │ │ - vmla.f64 d13, d5, d1 │ │ │ │ │ - vmul.f64 d5, d5, d0 │ │ │ │ │ vnmls.f64 d10, d7, d3 │ │ │ │ │ + vadd.f64 d7, d13, d11 │ │ │ │ │ + vmla.f64 d12, d5, d1 │ │ │ │ │ + vmul.f64 d5, d5, d0 │ │ │ │ │ + vldr d0, [sp, #48] @ 0x30 │ │ │ │ │ vmla.f64 d2, d6, d3 │ │ │ │ │ - vadd.f64 d7, d14, d11 │ │ │ │ │ - vldr d0, [sp, #32] │ │ │ │ │ vnmls.f64 d5, d9, d1 │ │ │ │ │ - vldr d1, [sp, #16] │ │ │ │ │ - vadd.f64 d6, d1, d13 │ │ │ │ │ + vldr d1, [sp, #32] │ │ │ │ │ + vadd.f64 d6, d1, d12 │ │ │ │ │ vsub.f64 d3, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d8, d4 │ │ │ │ │ vsub.f64 d4, d4, d8 │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ - mla r3, r4, r6, r8 │ │ │ │ │ - mov.w r4, #280 @ 0x118 │ │ │ │ │ + ldr r3, [sp, #0] │ │ │ │ │ + add.w r3, ip, r3, lsl #3 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ vadd.f64 d7, d0, d5 │ │ │ │ │ - add r3, sl │ │ │ │ │ + add r3, r1 │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vstr d3, [r2] │ │ │ │ │ - mla r2, r0, r9, fp │ │ │ │ │ - vldr d3, [sp, #40] @ 0x28 │ │ │ │ │ - mov.w r0, #408 @ 0x198 │ │ │ │ │ + mla r2, fp, r8, r7 │ │ │ │ │ + mov.w fp, #280 @ 0x118 │ │ │ │ │ + vldr d3, [sp, #56] @ 0x38 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ - vsub.f64 d7, d1, d13 │ │ │ │ │ - subs r2, r2, r1 │ │ │ │ │ - vldr d1, [sp] │ │ │ │ │ + vsub.f64 d7, d1, d12 │ │ │ │ │ + sub.w r2, r2, r0 │ │ │ │ │ + vldr d1, [sp, #8] │ │ │ │ │ vadd.f64 d6, d4, d7 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [sp, #24] │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ - mla r2, r4, r9, fp │ │ │ │ │ + mla r2, fp, r8, r7 │ │ │ │ │ vsub.f64 d6, d0, d5 │ │ │ │ │ - vldr d0, [sp, #8] │ │ │ │ │ - mov.w r4, #360 @ 0x168 │ │ │ │ │ + vldr d0, [sp, #16] │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ - vsub.f64 d7, d14, d11 │ │ │ │ │ - movs r2, #104 @ 0x68 │ │ │ │ │ + vsub.f64 d7, d13, d11 │ │ │ │ │ + mov.w r2, #104 @ 0x68 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d3, d2 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - movs r3, #232 @ 0xe8 │ │ │ │ │ - mla r3, r3, r6, r8 │ │ │ │ │ + mov.w r3, #232 @ 0xe8 │ │ │ │ │ + mla r3, r3, r4, ip │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - vadd.f64 d7, d1, d12 │ │ │ │ │ - mla r3, r0, r6, r8 │ │ │ │ │ + vadd.f64 d7, d1, d14 │ │ │ │ │ + mla r3, r5, r4, ip │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d0, d15 │ │ │ │ │ vsub.f64 d15, d0, d15 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - mla r3, r2, r6, r8 │ │ │ │ │ - mla r2, r2, r9, fp │ │ │ │ │ + mla r3, r2, r4, ip │ │ │ │ │ + mla r2, r2, r8, r7 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ + add r3, r1 │ │ │ │ │ + mov.w r1, #152 @ 0x98 │ │ │ │ │ + vldr d4, [sp, #40] @ 0x28 │ │ │ │ │ vadd.f64 d7, d4, d10 │ │ │ │ │ vsub.f64 d10, d4, d10 │ │ │ │ │ - add r3, sl │ │ │ │ │ - mov.w sl, #152 @ 0x98 │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ - mla r2, r0, r9, fp │ │ │ │ │ + mla r2, r5, r8, r7 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d3, d2 │ │ │ │ │ - subs r2, r2, r1 │ │ │ │ │ + sub.w r2, r2, r0 │ │ │ │ │ vadd.f64 d5, d15, d7 │ │ │ │ │ vsub.f64 d7, d7, d15 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ - mla r2, r4, r9, fp │ │ │ │ │ + mov.w r2, #360 @ 0x168 │ │ │ │ │ + mla r2, r2, r8, r7 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ - vsub.f64 d7, d1, d12 │ │ │ │ │ + vsub.f64 d7, d1, d14 │ │ │ │ │ vsub.f64 d5, d7, d10 │ │ │ │ │ vadd.f64 d7, d7, d10 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - mla r3, sl, r6, r8 │ │ │ │ │ + mla r3, r1, r4, ip │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - ldr.w r3, [sp, #1040] @ 0x410 │ │ │ │ │ + ldr.w r3, [sp, #1036] @ 0x40c │ │ │ │ │ + add sl, r3 │ │ │ │ │ add lr, r3 │ │ │ │ │ + ldr.w r3, [sp, #1040] @ 0x410 │ │ │ │ │ + add ip, r3 │ │ │ │ │ add r7, r3 │ │ │ │ │ ldr.w r3, [sp, #1044] @ 0x414 │ │ │ │ │ - add r8, r3 │ │ │ │ │ - add fp, r3 │ │ │ │ │ - ldr.w r3, [sp, #1048] @ 0x418 │ │ │ │ │ - eors r5, r3 │ │ │ │ │ - eors r6, r3 │ │ │ │ │ eor.w r9, r9, r3 │ │ │ │ │ - ldr.w r3, [sp, #1172] @ 0x494 │ │ │ │ │ + eor.w r4, r4, r3 │ │ │ │ │ + eor.w r8, r8, r3 │ │ │ │ │ + ldr.w r3, [sp, #1164] @ 0x48c │ │ │ │ │ subs r3, #1 │ │ │ │ │ - str.w r3, [sp, #1172] @ 0x494 │ │ │ │ │ - bne.w 6a │ │ │ │ │ - addw sp, sp, #1060 @ 0x424 │ │ │ │ │ + str.w r3, [sp, #1164] @ 0x48c │ │ │ │ │ + bne.w 6e │ │ │ │ │ + addw sp, sp, #1052 @ 0x41c │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + .word 0x7f08a517 │ │ │ │ │ + .word 0x3fefa755 │ │ │ │ │ + .word 0xfce17035 │ │ │ │ │ + .word 0x3fe30ff7 │ │ │ │ │ .word 0x47f38741 │ │ │ │ │ .word 0x3fe9b3e0 │ │ │ │ │ │ │ │ │ │ -000028a8 : │ │ │ │ │ +00002980 : │ │ │ │ │ fftw_codelet_r2cf_128(): │ │ │ │ │ - ldr r2, [pc, #8] @ (28b4 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (28b8 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (298c ) │ │ │ │ │ + ldr r1, [pc, #12] @ (2990 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cf_13.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1752 (bytes into file) │ │ │ │ │ + Start of section headers: 1792 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x6d8: │ │ │ │ │ +There are 13 section headers, starting at offset 0x700: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00040c 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000630 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000440 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000440 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000440 000008 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 000448 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000658 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 000478 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000478 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 0004ac 000100 10 11 11 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 0005ac 000081 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000668 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000434 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000658 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000468 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000468 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000468 000008 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 000470 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000680 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 0004a0 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0004a0 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 0004d4 000100 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 0005d4 000081 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000690 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 16 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1016 FUNC LOCAL DEFAULT 1 r2cf_13 │ │ │ │ │ + 1: 00000001 1056 FUNC LOCAL DEFAULT 1 r2cf_13 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000360 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 000003f8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000404 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000388 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000420 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 0000042c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 13: 000003f9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_13 │ │ │ │ │ + 13: 00000421 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_13 │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x630 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x658 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000003f0 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -000003f4 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000404 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000408 00000103 R_ARM_REL32 00000001 r2cf_13 │ │ │ │ │ -00000400 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +00000418 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000041c 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +0000042c 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000430 00000103 R_ARM_REL32 00000001 r2cf_13 │ │ │ │ │ +00000428 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x658 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x680 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000f02 R_ARM_ABS32 00000000 fftw_rdft_r2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,294 +1,300 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cf_13(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - ldr r6, [pc, #1000] @ (3f0 ) │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub sp, #60 @ 0x3c │ │ │ │ │ + sub sp, #44 @ 0x2c │ │ │ │ │ + ldr r6, [pc, #1020] @ (418 ) │ │ │ │ │ + ldrd r5, r4, [sp, #152] @ 0x98 │ │ │ │ │ + ldrd lr, r7, [sp, #144] @ 0x90 │ │ │ │ │ add r6, pc │ │ │ │ │ - ldr r4, [sp, #172] @ 0xac │ │ │ │ │ - ldrd lr, r7, [sp, #160] @ 0xa0 │ │ │ │ │ cmp r4, #0 │ │ │ │ │ - ldr r5, [sp, #168] @ 0xa8 │ │ │ │ │ - ble.w 350 │ │ │ │ │ - ldr r4, [sp, #176] @ 0xb0 │ │ │ │ │ - ldr.w ip, [pc, #980] @ 3f4 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ - str r4, [sp, #48] @ 0x30 │ │ │ │ │ - ldr r4, [sp, #180] @ 0xb4 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ - str r4, [sp, #52] @ 0x34 │ │ │ │ │ + ble.w 366 │ │ │ │ │ + ldr r4, [sp, #160] @ 0xa0 │ │ │ │ │ + ldr.w ip, [pc, #1004] @ 41c │ │ │ │ │ + mov.w fp, r4, lsl #3 │ │ │ │ │ + ldr r4, [sp, #164] @ 0xa4 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + str r4, [sp, #36] @ 0x24 │ │ │ │ │ mov r4, lr │ │ │ │ │ ldr.w r6, [r6, ip] │ │ │ │ │ - str r3, [sp, #20] │ │ │ │ │ - ldr.w fp, [r6] │ │ │ │ │ - mov.w r9, r4, lsl #4 │ │ │ │ │ + ldr.w sl, [r6] │ │ │ │ │ + mov.w r8, r4, lsl #4 │ │ │ │ │ + vmov.f64 d14, #96 @ 0x3f000000 0.5 │ │ │ │ │ + mov.w r9, r4, lsl #3 │ │ │ │ │ + vldr d9, [r0] │ │ │ │ │ + add.w lr, r1, r8 │ │ │ │ │ mov.w ip, r4, lsl #5 │ │ │ │ │ - add.w lr, r1, r9 │ │ │ │ │ + vldr d7, [lr] │ │ │ │ │ add.w r6, r0, ip │ │ │ │ │ - mov.w sl, r4, lsl #3 │ │ │ │ │ + add.w lr, r1, r9 │ │ │ │ │ add ip, r1 │ │ │ │ │ - vldr d13, [r0] │ │ │ │ │ - vldr d15, [lr] │ │ │ │ │ - add.w lr, r1, sl │ │ │ │ │ + add r0, fp │ │ │ │ │ vldr d6, [r6] │ │ │ │ │ - add r6, r9 │ │ │ │ │ - vldr d11, [ip] │ │ │ │ │ - mov.w ip, #40 @ 0x28 │ │ │ │ │ + add r6, r8 │ │ │ │ │ vldr d4, [lr] │ │ │ │ │ - mvn.w lr, #23 │ │ │ │ │ - vldr d8, [r6] │ │ │ │ │ - sub.w r6, r6, sl │ │ │ │ │ - vldr d14, [r1] │ │ │ │ │ - mla r3, ip, r4, r1 │ │ │ │ │ - mul.w r8, lr, r4 │ │ │ │ │ + mov.w lr, r4, lsl #2 │ │ │ │ │ + vldr d11, [ip] │ │ │ │ │ + sub.w ip, r4, lr │ │ │ │ │ + add lr, r4 │ │ │ │ │ + mov.w ip, ip, lsl #3 │ │ │ │ │ + eor.w r4, r4, sl │ │ │ │ │ + vadd.f64 d15, d6, d7 │ │ │ │ │ + vsub.f64 d13, d6, d7 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + add.w lr, r1, lr, lsl #3 │ │ │ │ │ vadd.f64 d7, d4, d11 │ │ │ │ │ vsub.f64 d11, d4, d11 │ │ │ │ │ - vldr d4, [r6] │ │ │ │ │ - add r6, r8 │ │ │ │ │ - vstr d13, [sp, #24] │ │ │ │ │ - vmov.f64 d13, #96 @ 0x3f000000 0.5 │ │ │ │ │ - vsub.f64 d12, d6, d15 │ │ │ │ │ - vadd.f64 d10, d14, d7 │ │ │ │ │ - vadd.f64 d15, d6, d15 │ │ │ │ │ - vldr d5, [r6] │ │ │ │ │ - vmls.f64 d14, d7, d13 │ │ │ │ │ - add r6, sl │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - sub.w r8, r1, r8 │ │ │ │ │ - ldr r3, [sp, #20] │ │ │ │ │ - vadd.f64 d7, d4, d5 │ │ │ │ │ - vsub.f64 d4, d4, d5 │ │ │ │ │ - mul.w lr, lr, r7 │ │ │ │ │ - eor.w r4, r4, fp │ │ │ │ │ - vldr d5, [r8] │ │ │ │ │ - mov.w r8, r5, lsl #5 │ │ │ │ │ - mla ip, ip, r5, r3 │ │ │ │ │ - vadd.f64 d9, d8, d7 │ │ │ │ │ - vmls.f64 d8, d7, d13 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ + vstr d15, [sp] │ │ │ │ │ + vadd.f64 d10, d6, d7 │ │ │ │ │ + vmls.f64 d6, d7, d14 │ │ │ │ │ + vstr d6, [sp, #16] │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ sub.w r6, r6, r9 │ │ │ │ │ - vsub.f64 d3, d6, d7 │ │ │ │ │ - vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - movs r6, #24 │ │ │ │ │ - vsub.f64 d2, d5, d7 │ │ │ │ │ - vadd.f64 d5, d5, d7 │ │ │ │ │ - vadd.f64 d1, d6, d5 │ │ │ │ │ - vadd.f64 d0, d3, d2 │ │ │ │ │ - vstr d2, [sp] │ │ │ │ │ - vsub.f64 d2, d9, d10 │ │ │ │ │ - vadd.f64 d10, d10, d9 │ │ │ │ │ - vsub.f64 d6, d6, d5 │ │ │ │ │ - vadd.f64 d9, d15, d1 │ │ │ │ │ - vadd.f64 d7, d12, d0 │ │ │ │ │ - vstr d2, [sp, #32] │ │ │ │ │ - vmls.f64 d15, d1, d13 │ │ │ │ │ - vadd.f64 d2, d10, d9 │ │ │ │ │ - vstr d9, [sp, #8] │ │ │ │ │ - vadd.f64 d9, d11, d4 │ │ │ │ │ - vsub.f64 d11, d11, d4 │ │ │ │ │ - vldr d4, [pc, #552] @ 360 │ │ │ │ │ - vstr d2, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d2, [sp] │ │ │ │ │ - vmul.f64 d11, d11, d4 │ │ │ │ │ + vldr d5, [r6] │ │ │ │ │ + add r6, ip │ │ │ │ │ + sub.w ip, r1, ip │ │ │ │ │ + add r1, fp │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ + add r6, r9 │ │ │ │ │ + vadd.f64 d7, d5, d4 │ │ │ │ │ + vsub.f64 d5, d5, d4 │ │ │ │ │ + vadd.f64 d12, d6, d7 │ │ │ │ │ + vmls.f64 d6, d7, d14 │ │ │ │ │ + vldr d7, [lr] │ │ │ │ │ + add.w lr, r5, r5, lsl #1 │ │ │ │ │ + vsub.f64 d2, d12, d10 │ │ │ │ │ + vadd.f64 d12, d10, d12 │ │ │ │ │ + vstr d6, [sp, #8] │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + sub.w r6, r6, r8 │ │ │ │ │ + mov.w r8, r7, lsl #5 │ │ │ │ │ + vldr d3, [r6] │ │ │ │ │ + add.w r6, r5, r5, lsl #2 │ │ │ │ │ + add.w r6, r3, r6, lsl #3 │ │ │ │ │ + vsub.f64 d4, d7, d6 │ │ │ │ │ + vadd.f64 d7, d7, d6 │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + mov.w ip, r5, lsl #5 │ │ │ │ │ + vsub.f64 d8, d6, d3 │ │ │ │ │ + vadd.f64 d6, d6, d3 │ │ │ │ │ + vadd.f64 d1, d7, d6 │ │ │ │ │ + vadd.f64 d0, d4, d8 │ │ │ │ │ + vsub.f64 d4, d4, d8 │ │ │ │ │ + vsub.f64 d7, d7, d6 │ │ │ │ │ + vldr d6, [pc, #592] @ 388 │ │ │ │ │ + vadd.f64 d10, d15, d1 │ │ │ │ │ + vadd.f64 d3, d13, d0 │ │ │ │ │ + vmls.f64 d13, d0, d14 │ │ │ │ │ + vmul.f64 d7, d7, d6 │ │ │ │ │ + vldr d6, [sp] │ │ │ │ │ + vadd.f64 d15, d12, d10 │ │ │ │ │ + vmls.f64 d6, d1, d14 │ │ │ │ │ + vmov.f64 d14, d9 │ │ │ │ │ + vldr d9, [pc, #564] @ 390 │ │ │ │ │ + vstr d15, [sp, #24] │ │ │ │ │ + vadd.f64 d15, d11, d5 │ │ │ │ │ + vsub.f64 d11, d11, d5 │ │ │ │ │ + vldr d5, [pc, #540] @ 388 │ │ │ │ │ + vsub.f64 d8, d15, d4 │ │ │ │ │ + vadd.f64 d15, d15, d4 │ │ │ │ │ + vldr d4, [sp, #8] │ │ │ │ │ + vmul.f64 d11, d11, d5 │ │ │ │ │ + vadd.f64 d5, d11, d13 │ │ │ │ │ + vsub.f64 d13, d13, d11 │ │ │ │ │ + vldr d11, [sp, #16] │ │ │ │ │ + vsub.f64 d0, d11, d4 │ │ │ │ │ + vsub.f64 d4, d0, d7 │ │ │ │ │ + vadd.f64 d7, d0, d7 │ │ │ │ │ + vldr d0, [sp, #8] │ │ │ │ │ + vadd.f64 d0, d11, d0 │ │ │ │ │ + vmul.f64 d11, d3, d9 │ │ │ │ │ + vsub.f64 d1, d0, d6 │ │ │ │ │ + vadd.f64 d6, d0, d6 │ │ │ │ │ + vadd.f64 d0, d12, d10 │ │ │ │ │ + vsub.f64 d12, d12, d10 │ │ │ │ │ + vadd.f64 d0, d14, d0 │ │ │ │ │ + vstr d0, [r2] │ │ │ │ │ + vmov.f64 d0, d9 │ │ │ │ │ + vldr d9, [pc, #472] @ 398 │ │ │ │ │ + vnmls.f64 d11, d2, d9 │ │ │ │ │ + vmul.f64 d9, d3, d9 │ │ │ │ │ + vldr d3, [pc, #468] @ 3a0 │ │ │ │ │ + vmla.f64 d9, d2, d0 │ │ │ │ │ + vldr d0, [pc, #468] @ 3a8 │ │ │ │ │ + vmul.f64 d2, d5, d3 │ │ │ │ │ + vldr d3, [pc, #468] @ 3b0 │ │ │ │ │ + vnmls.f64 d2, d4, d3 │ │ │ │ │ + vldr d3, [pc, #468] @ 3b8 │ │ │ │ │ + vmul.f64 d3, d7, d3 │ │ │ │ │ + vnmls.f64 d3, d13, d0 │ │ │ │ │ + vadd.f64 d0, d2, d3 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ - vsub.f64 d2, d9, d3 │ │ │ │ │ - vadd.f64 d3, d9, d3 │ │ │ │ │ - vldr d9, [pc, #532] @ 368 │ │ │ │ │ - vstr d2, [sp] │ │ │ │ │ - vmov.f64 d2, d4 │ │ │ │ │ - vmov.f64 d4, d12 │ │ │ │ │ - vmls.f64 d4, d0, d13 │ │ │ │ │ - vsub.f64 d0, d14, d8 │ │ │ │ │ - vldr d13, [sp, #24] │ │ │ │ │ - vadd.f64 d8, d14, d8 │ │ │ │ │ - vmul.f64 d6, d6, d2 │ │ │ │ │ - vldr d14, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d2, [sp, #32] │ │ │ │ │ - vsub.f64 d1, d8, d15 │ │ │ │ │ - vadd.f64 d8, d8, d15 │ │ │ │ │ - vsub.f64 d5, d0, d6 │ │ │ │ │ - vadd.f64 d0, d0, d6 │ │ │ │ │ - vadd.f64 d6, d13, d14 │ │ │ │ │ - vldr d15, [pc, #476] @ 370 │ │ │ │ │ - vadd.f64 d12, d11, d4 │ │ │ │ │ - vsub.f64 d4, d4, d11 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - vldr d6, [pc, #468] @ 378 │ │ │ │ │ - vmul.f64 d11, d7, d6 │ │ │ │ │ - vmul.f64 d7, d7, d15 │ │ │ │ │ - vmla.f64 d7, d2, d6 │ │ │ │ │ - vldr d6, [pc, #460] @ 380 │ │ │ │ │ - vnmls.f64 d11, d2, d15 │ │ │ │ │ - vldr d15, [pc, #460] @ 388 │ │ │ │ │ - vmul.f64 d2, d12, d15 │ │ │ │ │ - vnmls.f64 d2, d5, d6 │ │ │ │ │ - vldr d6, [pc, #456] @ 390 │ │ │ │ │ - vmul.f64 d5, d5, d15 │ │ │ │ │ - vmul.f64 d6, d0, d6 │ │ │ │ │ - vnmls.f64 d6, d4, d9 │ │ │ │ │ - vadd.f64 d9, d2, d6 │ │ │ │ │ - vsub.f64 d6, d6, d2 │ │ │ │ │ - vldr d2, [pc, #440] @ 398 │ │ │ │ │ - vmul.f64 d6, d6, d2 │ │ │ │ │ - vldr d2, [pc, #384] @ 368 │ │ │ │ │ - vmul.f64 d0, d0, d2 │ │ │ │ │ - vldr d2, [pc, #416] @ 390 │ │ │ │ │ - vmla.f64 d0, d4, d2 │ │ │ │ │ - vldr d4, [pc, #392] @ 380 │ │ │ │ │ - vmla.f64 d5, d12, d4 │ │ │ │ │ - vldr d12, [pc, #408] @ 398 │ │ │ │ │ - vsub.f64 d4, d0, d5 │ │ │ │ │ - vadd.f64 d0, d0, d5 │ │ │ │ │ - vadd.f64 d5, d9, d9 │ │ │ │ │ - vmul.f64 d0, d0, d12 │ │ │ │ │ - vadd.f64 d5, d5, d11 │ │ │ │ │ - vsub.f64 d11, d11, d9 │ │ │ │ │ - vstr d5, [ip] │ │ │ │ │ - vadd.f64 d5, d4, d4 │ │ │ │ │ - sub.w ip, ip, r8 │ │ │ │ │ - vadd.f64 d5, d5, d7 │ │ │ │ │ - vsub.f64 d7, d7, d4 │ │ │ │ │ - mla r6, r6, r5, ip │ │ │ │ │ - vldr d4, [pc, #364] @ 3a0 │ │ │ │ │ - vstr d5, [ip] │ │ │ │ │ - vsub.f64 d5, d6, d7 │ │ │ │ │ - mov.w ip, r5, lsl #3 │ │ │ │ │ - vadd.f64 d6, d6, d7 │ │ │ │ │ - vsub.f64 d7, d11, d0 │ │ │ │ │ - vadd.f64 d0, d0, d11 │ │ │ │ │ - eor.w r5, r5, fp │ │ │ │ │ - vstr d5, [r6] │ │ │ │ │ - sub.w r6, r6, ip │ │ │ │ │ - vldr d5, [sp] │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ + vldr d2, [pc, #456] @ 3c0 │ │ │ │ │ + vmul.f64 d3, d3, d2 │ │ │ │ │ + vldr d2, [pc, #424] @ 3a8 │ │ │ │ │ + vmul.f64 d7, d7, d2 │ │ │ │ │ + vldr d2, [pc, #432] @ 3b8 │ │ │ │ │ + vmla.f64 d7, d13, d2 │ │ │ │ │ + vldr d2, [pc, #400] @ 3a0 │ │ │ │ │ + vmul.f64 d4, d4, d2 │ │ │ │ │ + vldr d2, [pc, #408] @ 3b0 │ │ │ │ │ + vmla.f64 d4, d5, d2 │ │ │ │ │ + vldr d2, [pc, #416] @ 3c0 │ │ │ │ │ + vsub.f64 d5, d7, d4 │ │ │ │ │ + vadd.f64 d7, d7, d4 │ │ │ │ │ + vadd.f64 d4, d0, d0 │ │ │ │ │ + vmul.f64 d7, d7, d2 │ │ │ │ │ + vadd.f64 d4, d4, d11 │ │ │ │ │ + vsub.f64 d11, d11, d0 │ │ │ │ │ + vldr d0, [sp, #24] │ │ │ │ │ + vstr d4, [r6] │ │ │ │ │ + vadd.f64 d4, d5, d5 │ │ │ │ │ sub.w r6, r6, ip │ │ │ │ │ - vldr d6, [pc, #320] @ 3a8 │ │ │ │ │ - mov.w ip, r7, lsl #3 │ │ │ │ │ + vadd.f64 d4, d4, d9 │ │ │ │ │ + vsub.f64 d9, d9, d5 │ │ │ │ │ + vsub.f64 d5, d3, d9 │ │ │ │ │ + vstr d4, [r6] │ │ │ │ │ + add.w r6, r6, lr, lsl #3 │ │ │ │ │ + vadd.f64 d3, d3, d9 │ │ │ │ │ + mov.w lr, r5, lsl #3 │ │ │ │ │ + vldr d4, [pc, #352] @ 3c8 │ │ │ │ │ + eor.w r5, r5, sl │ │ │ │ │ + vstr d5, [r6] │ │ │ │ │ + vsub.f64 d5, d11, d7 │ │ │ │ │ + sub.w r6, r6, lr │ │ │ │ │ + vadd.f64 d7, d7, d11 │ │ │ │ │ + vstr d3, [r6] │ │ │ │ │ + sub.w r6, r6, lr │ │ │ │ │ + mov.w lr, r7, lsl #3 │ │ │ │ │ + vldr d3, [pc, #324] @ 3d0 │ │ │ │ │ + vstr d5, [r6] │ │ │ │ │ + add r6, ip │ │ │ │ │ + sub.w ip, r7, r7, lsl #2 │ │ │ │ │ + vldr d5, [pc, #316] @ 3d8 │ │ │ │ │ + eor.w r7, r7, sl │ │ │ │ │ vstr d7, [r6] │ │ │ │ │ - add r6, r8 │ │ │ │ │ - vldr d7, [pc, #316] @ 3b0 │ │ │ │ │ - mov.w r8, r7, lsl #5 │ │ │ │ │ - eor.w r7, r7, fp │ │ │ │ │ - vstr d0, [r6] │ │ │ │ │ - add.w r6, r2, ip │ │ │ │ │ - vmul.f64 d7, d5, d7 │ │ │ │ │ - vldr d9, [sp, #8] │ │ │ │ │ - vsub.f64 d10, d10, d9 │ │ │ │ │ - vnmls.f64 d7, d1, d6 │ │ │ │ │ - vldr d6, [pc, #288] @ 3b8 │ │ │ │ │ - vmul.f64 d10, d10, d6 │ │ │ │ │ - vadd.f64 d6, d7, d7 │ │ │ │ │ - vadd.f64 d6, d6, d10 │ │ │ │ │ - vsub.f64 d10, d10, d7 │ │ │ │ │ - vldr d7, [pc, #276] @ 3c0 │ │ │ │ │ - vmul.f64 d1, d1, d7 │ │ │ │ │ - vldr d7, [pc, #276] @ 3c8 │ │ │ │ │ - vmla.f64 d1, d5, d7 │ │ │ │ │ - vldr d7, [pc, #276] @ 3d0 │ │ │ │ │ - vldr d5, [pc, #280] @ 3d8 │ │ │ │ │ + add.w r6, r2, lr │ │ │ │ │ + mov.w ip, ip, lsl #3 │ │ │ │ │ + vldr d7, [pc, #304] @ 3e0 │ │ │ │ │ vmul.f64 d7, d8, d7 │ │ │ │ │ - vnmls.f64 d7, d3, d5 │ │ │ │ │ - vsub.f64 d5, d1, d7 │ │ │ │ │ + vnmls.f64 d7, d1, d5 │ │ │ │ │ + vldr d5, [pc, #300] @ 3e8 │ │ │ │ │ + vmul.f64 d12, d12, d5 │ │ │ │ │ + vadd.f64 d5, d7, d7 │ │ │ │ │ + vadd.f64 d5, d5, d12 │ │ │ │ │ + vsub.f64 d12, d12, d7 │ │ │ │ │ + vldr d7, [pc, #288] @ 3f0 │ │ │ │ │ + vmul.f64 d1, d1, d7 │ │ │ │ │ + vldr d7, [pc, #288] @ 3f8 │ │ │ │ │ + vmla.f64 d1, d8, d7 │ │ │ │ │ + vldr d7, [pc, #288] @ 400 │ │ │ │ │ + vmul.f64 d7, d6, d7 │ │ │ │ │ + vnmls.f64 d7, d15, d4 │ │ │ │ │ + vsub.f64 d4, d1, d7 │ │ │ │ │ vadd.f64 d1, d1, d7 │ │ │ │ │ - vldr d7, [pc, #268] @ 3e0 │ │ │ │ │ - vmul.f64 d8, d8, d7 │ │ │ │ │ - vldr d7, [pc, #268] @ 3e8 │ │ │ │ │ - vmla.f64 d8, d3, d7 │ │ │ │ │ - vmov.f64 d7, d13 │ │ │ │ │ - vmls.f64 d7, d14, d4 │ │ │ │ │ - vadd.f64 d4, d8, d8 │ │ │ │ │ - vsub.f64 d8, d7, d8 │ │ │ │ │ - vadd.f64 d4, d4, d7 │ │ │ │ │ - vadd.f64 d7, d6, d4 │ │ │ │ │ - vsub.f64 d4, d4, d6 │ │ │ │ │ + vldr d7, [pc, #276] @ 408 │ │ │ │ │ + vmul.f64 d6, d6, d7 │ │ │ │ │ + vldr d7, [pc, #276] @ 410 │ │ │ │ │ + vmla.f64 d6, d15, d7 │ │ │ │ │ + vmov.f64 d7, d14 │ │ │ │ │ + vmls.f64 d7, d0, d3 │ │ │ │ │ + vadd.f64 d3, d6, d6 │ │ │ │ │ + vsub.f64 d6, d7, d6 │ │ │ │ │ + vadd.f64 d3, d3, d7 │ │ │ │ │ + vadd.f64 d7, d5, d3 │ │ │ │ │ + vsub.f64 d3, d3, d5 │ │ │ │ │ vstr d7, [r6] │ │ │ │ │ - vsub.f64 d7, d8, d10 │ │ │ │ │ + vsub.f64 d7, d6, d12 │ │ │ │ │ add r6, r8 │ │ │ │ │ - vadd.f64 d10, d10, d8 │ │ │ │ │ - vadd.f64 d6, d5, d7 │ │ │ │ │ - vstr d4, [r6] │ │ │ │ │ - add r6, lr │ │ │ │ │ - vsub.f64 d7, d7, d5 │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ + vadd.f64 d12, d12, d6 │ │ │ │ │ + vstr d3, [r6] │ │ │ │ │ + add r6, ip │ │ │ │ │ + vadd.f64 d5, d4, d7 │ │ │ │ │ + vsub.f64 d7, d7, d4 │ │ │ │ │ + vstr d5, [r6] │ │ │ │ │ add r6, r8 │ │ │ │ │ vstr d7, [r6] │ │ │ │ │ - vsub.f64 d7, d10, d1 │ │ │ │ │ - add r6, lr │ │ │ │ │ - vadd.f64 d1, d1, d10 │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ + vsub.f64 d7, d12, d1 │ │ │ │ │ + vadd.f64 d1, d1, d12 │ │ │ │ │ add r6, ip │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ + add r6, lr │ │ │ │ │ vstr d1, [r6] │ │ │ │ │ - ldr r6, [sp, #48] @ 0x30 │ │ │ │ │ - add r0, r6 │ │ │ │ │ - add r1, r6 │ │ │ │ │ - ldr r6, [sp, #52] @ 0x34 │ │ │ │ │ - add r3, r6 │ │ │ │ │ - str r3, [sp, #20] │ │ │ │ │ - ldr r3, [sp, #172] @ 0xac │ │ │ │ │ + ldr r6, [sp, #36] @ 0x24 │ │ │ │ │ add r2, r6 │ │ │ │ │ - subs r3, #1 │ │ │ │ │ - str r3, [sp, #172] @ 0xac │ │ │ │ │ - bne.w 38 │ │ │ │ │ - add sp, #60 @ 0x3c │ │ │ │ │ + add r3, r6 │ │ │ │ │ + ldr r6, [sp, #156] @ 0x9c │ │ │ │ │ + subs r6, #1 │ │ │ │ │ + str r6, [sp, #156] @ 0x9c │ │ │ │ │ + bne.w 48 │ │ │ │ │ + add sp, #44 @ 0x2c │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop │ │ │ │ │ nop.w │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3febb67a │ │ │ │ │ - .word 0x99eac08d │ │ │ │ │ - .word 0x3f87c145 │ │ │ │ │ - .word 0x87f60797 │ │ │ │ │ - .word 0x3fe2678d │ │ │ │ │ .word 0x7675b5d5 │ │ │ │ │ .word 0x3fc64a2c │ │ │ │ │ - .word 0xa247fdba │ │ │ │ │ - .word 0x3fd0665c │ │ │ │ │ + .word 0x87f60797 │ │ │ │ │ + .word 0x3fe2678d │ │ │ │ │ .word 0x60cb959a │ │ │ │ │ .word 0x3fc41504 │ │ │ │ │ + .word 0x99eac08d │ │ │ │ │ + .word 0x3f87c145 │ │ │ │ │ + .word 0xa247fdba │ │ │ │ │ + .word 0x3fd0665c │ │ │ │ │ .word 0x1c9e25a7 │ │ │ │ │ .word 0x3fd3371c │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3ffbb67a │ │ │ │ │ + .word 0x300c3896 │ │ │ │ │ + .word 0x3fbd2591 │ │ │ │ │ .word 0x55555555 │ │ │ │ │ .word 0x3fb55555 │ │ │ │ │ .word 0x968f6ed4 │ │ │ │ │ .word 0x3fd08756 │ │ │ │ │ .word 0x4d8debb7 │ │ │ │ │ .word 0x3fc10597 │ │ │ │ │ .word 0x82eb914d │ │ │ │ │ .word 0x3fd33ac7 │ │ │ │ │ .word 0x4d8debb7 │ │ │ │ │ .word 0x3fd10597 │ │ │ │ │ .word 0xe1d7263e │ │ │ │ │ .word 0x3fd8cb01 │ │ │ │ │ .word 0xb20f3131 │ │ │ │ │ .word 0x3fe01cf9 │ │ │ │ │ - .word 0x300c3896 │ │ │ │ │ - .word 0x3fbd2591 │ │ │ │ │ .word 0xcab2d064 │ │ │ │ │ .word 0x3fb36e60 │ │ │ │ │ .word 0xb20f3131 │ │ │ │ │ .word 0x3fd01cf9 │ │ │ │ │ - .word 0x000003e0 │ │ │ │ │ + .word 0x000003f0 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ │ │ │ │ │ -000003f8 : │ │ │ │ │ +00000420 : │ │ │ │ │ fftw_codelet_r2cf_13(): │ │ │ │ │ - ldr r2, [pc, #8] @ (404 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (408 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (42c ) │ │ │ │ │ + ldr r1, [pc, #12] @ (430 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cf_14.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1560 (bytes into file) │ │ │ │ │ + Start of section headers: 1592 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x618: │ │ │ │ │ +There are 13 section headers, starting at offset 0x638: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00034c 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000570 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000380 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000380 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000380 000008 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 000388 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000598 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 0003b8 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0003b8 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 0003ec 000100 10 11 11 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 0004ec 000081 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 0005a8 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00036c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000590 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0003a0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0003a0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0003a0 000008 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0003a8 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 0005b8 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 0003d8 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0003d8 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 00040c 000100 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 00050c 000081 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 0005c8 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 16 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 824 FUNC LOCAL DEFAULT 1 r2cf_14 │ │ │ │ │ + 1: 00000001 856 FUNC LOCAL DEFAULT 1 r2cf_14 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000300 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000338 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000344 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000320 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000358 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000364 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 13: 00000339 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_14 │ │ │ │ │ + 13: 00000359 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_14 │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x570 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x590 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000330 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000334 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000344 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000348 00000103 R_ARM_REL32 00000001 r2cf_14 │ │ │ │ │ -00000340 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +00000350 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000354 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000364 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000368 00000103 R_ARM_REL32 00000001 r2cf_14 │ │ │ │ │ +00000360 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x598 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x5b8 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000f02 R_ARM_ABS32 00000000 fftw_rdft_r2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,246 +1,252 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cf_14(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - ldr r7, [pc, #808] @ (330 ) │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #84 @ 0x54 │ │ │ │ │ - add r7, pc │ │ │ │ │ - ldr r4, [sp, #196] @ 0xc4 │ │ │ │ │ + ldr r7, [pc, #820] @ (350 ) │ │ │ │ │ + ldrd r6, r4, [sp, #192] @ 0xc0 │ │ │ │ │ ldrd lr, r5, [sp, #184] @ 0xb8 │ │ │ │ │ + add r7, pc │ │ │ │ │ cmp r4, #0 │ │ │ │ │ - ldr r6, [sp, #192] @ 0xc0 │ │ │ │ │ - ble.w 2f2 │ │ │ │ │ + ble.w 302 │ │ │ │ │ ldr r4, [sp, #200] @ 0xc8 │ │ │ │ │ - ldr.w ip, [pc, #788] @ 334 │ │ │ │ │ - vldr d14, [pc, #732] @ 300 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ + ldr.w ip, [pc, #804] @ 354 │ │ │ │ │ + vldr d14, [pc, #748] @ 320 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + vldr d13, [pc, #748] @ 328 │ │ │ │ │ str r4, [sp, #72] @ 0x48 │ │ │ │ │ ldr r4, [sp, #204] @ 0xcc │ │ │ │ │ - vldr d13, [pc, #728] @ 308 │ │ │ │ │ - vldr d12, [pc, #732] @ 310 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ + vldr d12, [pc, #748] @ 330 │ │ │ │ │ + vldr d11, [pc, #752] @ 338 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + vldr d10, [pc, #752] @ 340 │ │ │ │ │ str r4, [sp, #76] @ 0x4c │ │ │ │ │ - ldr.w r7, [r7, ip] │ │ │ │ │ mov r4, lr │ │ │ │ │ - vldr d11, [pc, #728] @ 318 │ │ │ │ │ - vldr d10, [pc, #732] @ 320 │ │ │ │ │ - ldr.w fp, [r7] │ │ │ │ │ - vldr d9, [pc, #732] @ 328 │ │ │ │ │ + ldr.w r7, [r7, ip] │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ - movs r7, #24 │ │ │ │ │ - mov.w r8, r4, lsl #4 │ │ │ │ │ - mov r3, r7 │ │ │ │ │ - mov.w ip, #40 @ 0x28 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - mov.w lr, r4, lsl #3 │ │ │ │ │ - mla r7, r7, r4, r1 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - add.w r7, r0, r8 │ │ │ │ │ - vldr d4, [r7] │ │ │ │ │ - mla r7, ip, r4, r1 │ │ │ │ │ - mov.w ip, #48 @ 0x30 │ │ │ │ │ - vsub.f64 d5, d7, d6 │ │ │ │ │ - vadd.f64 d7, d7, d6 │ │ │ │ │ - mul.w r9, ip, r4 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - mov.w ip, r4, lsl #5 │ │ │ │ │ - eor.w r4, r4, fp │ │ │ │ │ + vldr d9, [pc, #744] @ 348 │ │ │ │ │ + ldr.w fp, [r7] │ │ │ │ │ + add.w ip, r4, r4, lsl #1 │ │ │ │ │ + vldr d5, [r0] │ │ │ │ │ + mov.w r9, r4, lsl #4 │ │ │ │ │ + add.w r7, r1, ip, lsl #3 │ │ │ │ │ + mov.w ip, ip, lsl #4 │ │ │ │ │ + ldr r3, [sp, #4] │ │ │ │ │ + mov.w r8, r4, lsl #3 │ │ │ │ │ + vldr d0, [r7] │ │ │ │ │ add.w r7, r0, r9 │ │ │ │ │ - add.w sl, r1, ip │ │ │ │ │ - vsub.f64 d15, d4, d6 │ │ │ │ │ - vadd.f64 d2, d4, d6 │ │ │ │ │ - add r9, r1 │ │ │ │ │ - add ip, r0 │ │ │ │ │ - vldr d4, [r7] │ │ │ │ │ - add.w r7, r1, r8 │ │ │ │ │ - vstr d2, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - add.w r7, r0, lr │ │ │ │ │ - add lr, r1 │ │ │ │ │ - vsub.f64 d1, d4, d6 │ │ │ │ │ - vadd.f64 d6, d4, d6 │ │ │ │ │ - vldr d4, [r7] │ │ │ │ │ - add r7, r8 │ │ │ │ │ - vstr d6, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d6, [sl] │ │ │ │ │ - mov.w sl, r6, lsl #3 │ │ │ │ │ - vstr d1, [sp, #8] │ │ │ │ │ - vsub.f64 d3, d4, d6 │ │ │ │ │ - vadd.f64 d0, d4, d6 │ │ │ │ │ - vldr d6, [r9] │ │ │ │ │ - mov.w r9, r6, lsl #5 │ │ │ │ │ - vldr d4, [r7] │ │ │ │ │ - add r7, r8 │ │ │ │ │ - mov.w r8, r6, lsl #4 │ │ │ │ │ - eor.w r6, r6, fp │ │ │ │ │ - vmov.f64 d2, d3 │ │ │ │ │ - vstr d0, [sp, #56] @ 0x38 │ │ │ │ │ - vsub.f64 d3, d4, d6 │ │ │ │ │ - vadd.f64 d4, d4, d6 │ │ │ │ │ - vldr d6, [lr] │ │ │ │ │ + mov.w lr, r4, lsl #5 │ │ │ │ │ + add.w sl, r1, lr │ │ │ │ │ + add lr, r0 │ │ │ │ │ + vsub.f64 d6, d5, d0 │ │ │ │ │ + vadd.f64 d0, d5, d0 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + add.w r7, r4, r4, lsl #2 │ │ │ │ │ + eor.w r4, r4, fp │ │ │ │ │ + add.w r7, r1, r7, lsl #3 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + add.w r7, r0, ip │ │ │ │ │ + add ip, r1 │ │ │ │ │ + vsub.f64 d2, d5, d7 │ │ │ │ │ + vadd.f64 d3, d5, d7 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + add.w r7, r1, r9 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + add.w r7, r0, r8 │ │ │ │ │ + add r8, r1 │ │ │ │ │ + vstr d2, [sp, #8] │ │ │ │ │ + vstr d3, [sp, #32] │ │ │ │ │ + vldr d3, [lr] │ │ │ │ │ mov.w lr, r5, lsl #5 │ │ │ │ │ - vsub.f64 d1, d1, d2 │ │ │ │ │ - vstr d2, [sp, #16] │ │ │ │ │ - vstr d4, [sp, #64] @ 0x40 │ │ │ │ │ + vsub.f64 d8, d5, d7 │ │ │ │ │ + vadd.f64 d7, d5, d7 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + add r7, r9 │ │ │ │ │ + vstr d7, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d7, [sl] │ │ │ │ │ + mov.w sl, r6, lsl #4 │ │ │ │ │ + vsub.f64 d15, d5, d7 │ │ │ │ │ + vadd.f64 d1, d5, d7 │ │ │ │ │ + vldr d7, [ip] │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + add r7, r9 │ │ │ │ │ + mov.w r9, r6, lsl #3 │ │ │ │ │ + add.w ip, r3, r9 │ │ │ │ │ + sub.w r3, r5, r5, lsl #2 │ │ │ │ │ + vstr d1, [sp, #48] @ 0x30 │ │ │ │ │ + vsub.f64 d1, d8, d15 │ │ │ │ │ + vsub.f64 d4, d5, d7 │ │ │ │ │ + vadd.f64 d5, d5, d7 │ │ │ │ │ + vldr d7, [r8] │ │ │ │ │ + mov.w r8, r6, lsl #5 │ │ │ │ │ + eor.w r6, r6, fp │ │ │ │ │ + vstr d4, [sp, #16] │ │ │ │ │ vldr d4, [r7] │ │ │ │ │ - vstr d3, [sp, #24] │ │ │ │ │ - vldr d3, [ip] │ │ │ │ │ - vadd.f64 d8, d4, d6 │ │ │ │ │ - vsub.f64 d0, d4, d6 │ │ │ │ │ - vldr d6, [sp, #24] │ │ │ │ │ - ldr r7, [sp, #4] │ │ │ │ │ - vstr d8, [sp, #32] │ │ │ │ │ - vsub.f64 d2, d0, d15 │ │ │ │ │ - vldr d8, [r1] │ │ │ │ │ - add.w ip, r7, sl │ │ │ │ │ - vadd.f64 d0, d15, d0 │ │ │ │ │ - mla r7, r3, r5, r2 │ │ │ │ │ - mvn.w r3, #47 @ 0x2f │ │ │ │ │ - vsub.f64 d4, d3, d8 │ │ │ │ │ - vadd.f64 d8, d3, d8 │ │ │ │ │ + add.w r7, r5, r5, lsl #1 │ │ │ │ │ + vstr d5, [sp, #56] @ 0x38 │ │ │ │ │ + add.w r7, r2, r7, lsl #3 │ │ │ │ │ + vsub.f64 d5, d4, d7 │ │ │ │ │ + vadd.f64 d4, d4, d7 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + vstr d4, [sp, #64] @ 0x40 │ │ │ │ │ + vsub.f64 d4, d3, d7 │ │ │ │ │ + vadd.f64 d7, d3, d7 │ │ │ │ │ + vsub.f64 d2, d5, d2 │ │ │ │ │ + vstr d7, [sp, #24] │ │ │ │ │ + vldr d7, [sp, #16] │ │ │ │ │ vmul.f64 d3, d2, d13 │ │ │ │ │ vmla.f64 d3, d1, d14 │ │ │ │ │ - vsub.f64 d6, d4, d6 │ │ │ │ │ - vmla.f64 d3, d6, d12 │ │ │ │ │ + vsub.f64 d7, d4, d7 │ │ │ │ │ + vmla.f64 d3, d7, d12 │ │ │ │ │ vstr d3, [ip] │ │ │ │ │ - vmul.f64 d3, d6, d14 │ │ │ │ │ + vmul.f64 d3, d7, d14 │ │ │ │ │ + vmul.f64 d7, d7, d13 │ │ │ │ │ + add ip, r8 │ │ │ │ │ vmla.f64 d3, d2, d12 │ │ │ │ │ - vmul.f64 d6, d6, d13 │ │ │ │ │ - vmla.f64 d6, d1, d12 │ │ │ │ │ - add ip, r9 │ │ │ │ │ + vmla.f64 d7, d1, d12 │ │ │ │ │ vmls.f64 d3, d1, d13 │ │ │ │ │ - vldr d1, [sp, #8] │ │ │ │ │ - vmls.f64 d6, d2, d14 │ │ │ │ │ + vmls.f64 d7, d2, d14 │ │ │ │ │ + vldr d2, [sp, #8] │ │ │ │ │ + vadd.f64 d5, d2, d5 │ │ │ │ │ vstr d3, [ip] │ │ │ │ │ - sub.w ip, ip, r8 │ │ │ │ │ - vldr d3, [sp, #16] │ │ │ │ │ - vstr d6, [ip] │ │ │ │ │ sub.w ip, ip, sl │ │ │ │ │ - vadd.f64 d6, d1, d3 │ │ │ │ │ - vldr d3, [sp, #24] │ │ │ │ │ - vadd.f64 d4, d3, d4 │ │ │ │ │ - vmov.f64 d3, d5 │ │ │ │ │ - vmul.f64 d1, d6, d9 │ │ │ │ │ - vmla.f64 d3, d0, d11 │ │ │ │ │ - vmla.f64 d1, d4, d10 │ │ │ │ │ - vsub.f64 d2, d3, d1 │ │ │ │ │ - vmov.f64 d3, d5 │ │ │ │ │ - vmul.f64 d1, d0, d10 │ │ │ │ │ - vmla.f64 d3, d6, d11 │ │ │ │ │ - vmla.f64 d1, d4, d9 │ │ │ │ │ - vstr d2, [r7] │ │ │ │ │ - vadd.f64 d2, d5, d6 │ │ │ │ │ - vmul.f64 d6, d6, d10 │ │ │ │ │ - vmla.f64 d5, d4, d11 │ │ │ │ │ - vmla.f64 d6, d0, d9 │ │ │ │ │ - add r7, lr │ │ │ │ │ - vadd.f64 d2, d2, d0 │ │ │ │ │ - vadd.f64 d2, d2, d4 │ │ │ │ │ - vsub.f64 d5, d5, d6 │ │ │ │ │ - vstr d2, [r7] │ │ │ │ │ - mla r7, r3, r5, r7 │ │ │ │ │ - vsub.f64 d2, d3, d1 │ │ │ │ │ - vstr d2, [r7] │ │ │ │ │ - add r7, lr │ │ │ │ │ - vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d6, [sp, #32] │ │ │ │ │ - vldr d1, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d0, [sp, #56] @ 0x38 │ │ │ │ │ - vsub.f64 d6, d2, d6 │ │ │ │ │ - vldr d15, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d5, [r7] │ │ │ │ │ - add.w r7, r7, r5, lsl #3 │ │ │ │ │ - vsub.f64 d4, d1, d0 │ │ │ │ │ - ldr r3, [sp, #4] │ │ │ │ │ - vsub.f64 d3, d15, d8 │ │ │ │ │ - vadd.f64 d8, d15, d8 │ │ │ │ │ - vmul.f64 d5, d6, d12 │ │ │ │ │ - vmla.f64 d5, d4, d13 │ │ │ │ │ - vmla.f64 d5, d3, d14 │ │ │ │ │ - vstr d5, [ip] │ │ │ │ │ - vmul.f64 d5, d3, d12 │ │ │ │ │ - vmla.f64 d5, d6, d13 │ │ │ │ │ - vmul.f64 d6, d6, d14 │ │ │ │ │ - add ip, r9 │ │ │ │ │ - vnmls.f64 d6, d3, d13 │ │ │ │ │ - vmls.f64 d5, d4, d14 │ │ │ │ │ - vmov.f64 d3, d7 │ │ │ │ │ - vmls.f64 d6, d4, d12 │ │ │ │ │ - vstr d5, [ip] │ │ │ │ │ - sub.w ip, ip, r8 │ │ │ │ │ - vadd.f64 d5, d1, d0 │ │ │ │ │ - vstr d6, [ip] │ │ │ │ │ - vldr d6, [sp, #32] │ │ │ │ │ + vmov.f64 d3, d6 │ │ │ │ │ + vstr d7, [ip] │ │ │ │ │ + vadd.f64 d7, d8, d15 │ │ │ │ │ + sub.w ip, ip, r9 │ │ │ │ │ + vldr d8, [sp, #16] │ │ │ │ │ vmla.f64 d3, d5, d11 │ │ │ │ │ - vadd.f64 d4, d2, d6 │ │ │ │ │ - vmul.f64 d2, d4, d10 │ │ │ │ │ - vmla.f64 d2, d8, d9 │ │ │ │ │ + vmul.f64 d2, d7, d9 │ │ │ │ │ + vadd.f64 d4, d8, d4 │ │ │ │ │ + vmla.f64 d2, d4, d10 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ vmul.f64 d2, d5, d10 │ │ │ │ │ vmla.f64 d2, d4, d9 │ │ │ │ │ vstr d3, [r7] │ │ │ │ │ - vmov.f64 d3, d7 │ │ │ │ │ - vmla.f64 d3, d8, d11 │ │ │ │ │ - sub.w r7, r7, lr │ │ │ │ │ + vadd.f64 d3, d6, d7 │ │ │ │ │ + add r7, lr │ │ │ │ │ + vadd.f64 d3, d3, d5 │ │ │ │ │ + vadd.f64 d3, d3, d4 │ │ │ │ │ + vstr d3, [r7] │ │ │ │ │ + vmov.f64 d3, d6 │ │ │ │ │ + vmla.f64 d6, d4, d11 │ │ │ │ │ + add.w r7, r7, r3, lsl #4 │ │ │ │ │ + vmla.f64 d3, d7, d11 │ │ │ │ │ + vmul.f64 d7, d7, d10 │ │ │ │ │ + vmla.f64 d7, d5, d9 │ │ │ │ │ vsub.f64 d3, d3, d2 │ │ │ │ │ - vmul.f64 d2, d5, d9 │ │ │ │ │ - vmla.f64 d2, d8, d10 │ │ │ │ │ + vsub.f64 d6, d6, d7 │ │ │ │ │ vstr d3, [r7] │ │ │ │ │ - vmov.f64 d3, d7 │ │ │ │ │ - vmla.f64 d3, d4, d11 │ │ │ │ │ - vadd.f64 d7, d7, d5 │ │ │ │ │ + add r7, lr │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ + add.w r7, r7, r5, lsl #3 │ │ │ │ │ + ldr r3, [sp, #4] │ │ │ │ │ + vldr d7, [sp, #24] │ │ │ │ │ + vldr d3, [sp, #32] │ │ │ │ │ + vldr d8, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d15, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d1, [sp, #48] @ 0x30 │ │ │ │ │ + vsub.f64 d4, d8, d7 │ │ │ │ │ + vsub.f64 d7, d3, d15 │ │ │ │ │ + vsub.f64 d5, d2, d1 │ │ │ │ │ + vmul.f64 d6, d7, d12 │ │ │ │ │ + vmla.f64 d6, d5, d13 │ │ │ │ │ + vmla.f64 d6, d4, d14 │ │ │ │ │ + vstr d6, [ip] │ │ │ │ │ + vmul.f64 d6, d4, d12 │ │ │ │ │ + add ip, r8 │ │ │ │ │ + vmla.f64 d6, d7, d13 │ │ │ │ │ + vmul.f64 d7, d7, d14 │ │ │ │ │ + vmls.f64 d6, d5, d14 │ │ │ │ │ + vnmls.f64 d7, d4, d13 │ │ │ │ │ + vmov.f64 d4, d0 │ │ │ │ │ + vmls.f64 d7, d5, d12 │ │ │ │ │ + vadd.f64 d5, d3, d15 │ │ │ │ │ + vstr d6, [ip] │ │ │ │ │ + sub.w ip, ip, sl │ │ │ │ │ + vldr d6, [sp, #24] │ │ │ │ │ + vmul.f64 d3, d5, d10 │ │ │ │ │ + vstr d7, [ip] │ │ │ │ │ + vadd.f64 d7, d2, d1 │ │ │ │ │ + vadd.f64 d6, d8, d6 │ │ │ │ │ + vmla.f64 d4, d7, d11 │ │ │ │ │ + vmla.f64 d3, d6, d9 │ │ │ │ │ + vsub.f64 d4, d4, d3 │ │ │ │ │ + vmul.f64 d3, d7, d10 │ │ │ │ │ + vmla.f64 d3, d5, d9 │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ + vmov.f64 d4, d0 │ │ │ │ │ + sub.w r7, r7, lr │ │ │ │ │ + vmla.f64 d4, d6, d11 │ │ │ │ │ + vsub.f64 d4, d4, d3 │ │ │ │ │ + vmul.f64 d3, d7, d9 │ │ │ │ │ + vadd.f64 d7, d0, d7 │ │ │ │ │ + vmla.f64 d3, d6, d10 │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ + vmov.f64 d4, d0 │ │ │ │ │ add.w r7, r7, r5, lsl #4 │ │ │ │ │ + vadd.f64 d7, d7, d5 │ │ │ │ │ eor.w r5, r5, fp │ │ │ │ │ - vadd.f64 d7, d7, d4 │ │ │ │ │ - vsub.f64 d3, d3, d2 │ │ │ │ │ - vadd.f64 d7, d7, d8 │ │ │ │ │ - vstr d3, [r7] │ │ │ │ │ + vmla.f64 d4, d5, d11 │ │ │ │ │ + vadd.f64 d7, d7, d6 │ │ │ │ │ + vsub.f64 d4, d4, d3 │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ ldr r7, [sp, #72] @ 0x48 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ add r0, r7 │ │ │ │ │ add r1, r7 │ │ │ │ │ ldr r7, [sp, #76] @ 0x4c │ │ │ │ │ add r3, r7 │ │ │ │ │ add r2, r7 │ │ │ │ │ - ldr r7, [sp, #196] @ 0xc4 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ - subs r7, #1 │ │ │ │ │ - str r7, [sp, #196] @ 0xc4 │ │ │ │ │ - bne.w 50 │ │ │ │ │ + ldr r3, [sp, #196] @ 0xc4 │ │ │ │ │ + subs r3, #1 │ │ │ │ │ + str r3, [sp, #196] @ 0xc4 │ │ │ │ │ + bne.w 64 │ │ │ │ │ add sp, #84 @ 0x54 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop.w │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ .word 0x7505de4b │ │ │ │ │ .word 0x3fe904c3 │ │ │ │ │ .word 0x0558e969 │ │ │ │ │ .word 0x3fef329c │ │ │ │ │ .word 0x4d71abc1 │ │ │ │ │ .word 0x3fdbc4c0 │ │ │ │ │ .word 0xe28bedd1 │ │ │ │ │ .word 0x3fe3f3a0 │ │ │ │ │ .word 0xe3024582 │ │ │ │ │ .word 0x3fcc7b90 │ │ │ │ │ .word 0xa9cb5c71 │ │ │ │ │ .word 0x3fecd4bc │ │ │ │ │ - .word 0x00000320 │ │ │ │ │ + .word 0x00000328 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ │ │ │ │ │ -00000338 : │ │ │ │ │ +00000358 : │ │ │ │ │ fftw_codelet_r2cf_14(): │ │ │ │ │ - ldr r2, [pc, #8] @ (344 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (348 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (364 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (368 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cf_15.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1632 (bytes into file) │ │ │ │ │ + Start of section headers: 1656 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x660: │ │ │ │ │ +There are 13 section headers, starting at offset 0x678: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000394 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0005b8 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0003c8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0003c8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0003c8 000008 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 0003d0 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 0005e0 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 000400 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000400 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 000434 000100 10 11 11 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 000534 000081 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 0005f0 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0003ac 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0005d0 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0003e0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0003e0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0003e0 000008 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0003e8 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 0005f8 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 000418 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000418 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 00044c 000100 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 00054c 000081 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000608 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 16 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 896 FUNC LOCAL DEFAULT 1 r2cf_15 │ │ │ │ │ + 1: 00000001 920 FUNC LOCAL DEFAULT 1 r2cf_15 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000338 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000380 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 0000038c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000350 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000398 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000003a4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 13: 00000381 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_15 │ │ │ │ │ + 13: 00000399 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_15 │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x5b8 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x5d0 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000378 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000037c 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -0000038c 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000390 00000103 R_ARM_REL32 00000001 r2cf_15 │ │ │ │ │ -00000388 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +00000390 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000394 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +000003a4 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000003a8 00000103 R_ARM_REL32 00000001 r2cf_15 │ │ │ │ │ +000003a0 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x5e0 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x5f8 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000f02 R_ARM_ABS32 00000000 fftw_rdft_r2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,268 +1,267 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cf_15(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - ldr r7, [pc, #880] @ (378 ) │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub sp, #92 @ 0x5c │ │ │ │ │ + sub sp, #76 @ 0x4c │ │ │ │ │ + ldr r7, [pc, #884] @ (390 ) │ │ │ │ │ + ldrd r5, r4, [sp, #184] @ 0xb8 │ │ │ │ │ + ldrd lr, r6, [sp, #176] @ 0xb0 │ │ │ │ │ add r7, pc │ │ │ │ │ - ldr r4, [sp, #204] @ 0xcc │ │ │ │ │ - ldrd lr, r5, [sp, #192] @ 0xc0 │ │ │ │ │ cmp r4, #0 │ │ │ │ │ - ldr r6, [sp, #200] @ 0xc8 │ │ │ │ │ - ble.w 32a │ │ │ │ │ - ldr r4, [sp, #208] @ 0xd0 │ │ │ │ │ - mov.w fp, #40 @ 0x28 │ │ │ │ │ - ldr.w ip, [pc, #856] @ 37c │ │ │ │ │ - mov sl, r3 │ │ │ │ │ - vldr d14, [pc, #780] @ 338 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ - str r4, [sp, #76] @ 0x4c │ │ │ │ │ - ldr r4, [sp, #212] @ 0xd4 │ │ │ │ │ - vldr d12, [pc, #780] @ 340 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ - str r4, [sp, #80] @ 0x50 │ │ │ │ │ + ble.w 332 │ │ │ │ │ + ldr r4, [sp, #192] @ 0xc0 │ │ │ │ │ + vmov.f64 d13, #96 @ 0x3f000000 0.5 │ │ │ │ │ + ldr.w ip, [pc, #864] @ 394 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + str r4, [sp, #60] @ 0x3c │ │ │ │ │ + ldr r4, [sp, #196] @ 0xc4 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + str r4, [sp, #64] @ 0x40 │ │ │ │ │ ldr.w r7, [r7, ip] │ │ │ │ │ - str r2, [sp, #72] @ 0x48 │ │ │ │ │ ldr r4, [r7, #0] │ │ │ │ │ - str r4, [sp, #84] @ 0x54 │ │ │ │ │ + str r4, [sp, #68] @ 0x44 │ │ │ │ │ mov r4, lr │ │ │ │ │ - mul.w r9, fp, r4 │ │ │ │ │ + add.w r9, r4, r4, lsl #2 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ mov.w ip, r4, lsl #4 │ │ │ │ │ - add.w r7, r1, ip │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ - add.w r3, r0, r9 │ │ │ │ │ - add.w lr, r1, r4, lsl #5 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - lsls r7, r4, #3 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - mov r2, r7 │ │ │ │ │ - adds r7, r1, r7 │ │ │ │ │ - sub.w r3, r3, ip │ │ │ │ │ - vldr d10, [lr] │ │ │ │ │ - add lr, ip │ │ │ │ │ - vadd.f64 d7, d4, d6 │ │ │ │ │ - vsub.f64 d6, d4, d6 │ │ │ │ │ - vldr d15, [r7] │ │ │ │ │ - movs r7, #24 │ │ │ │ │ - vldr d9, [r3] │ │ │ │ │ - vstr d6, [sp] │ │ │ │ │ - vmov.f64 d6, #96 @ 0x3f000000 0.5 │ │ │ │ │ - mul.w r8, r7, r4 │ │ │ │ │ - vadd.f64 d3, d5, d7 │ │ │ │ │ - vmls.f64 d5, d7, d6 │ │ │ │ │ - mul.w r7, r6, r7 │ │ │ │ │ - add r3, r8 │ │ │ │ │ - vstr d3, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - add r3, r2 │ │ │ │ │ - ldr r2, [sp, #72] @ 0x48 │ │ │ │ │ - vstr d4, [sp, #16] │ │ │ │ │ - vstr d5, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - sub.w r3, r3, r9 │ │ │ │ │ - vldr d4, [lr] │ │ │ │ │ - add.w lr, r1, r8 │ │ │ │ │ - mul.w r9, fp, r6 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - add r3, ip │ │ │ │ │ - vldr d11, [r3] │ │ │ │ │ - sub.w r3, r3, r8 │ │ │ │ │ - vsub.f64 d0, d5, d7 │ │ │ │ │ - vadd.f64 d5, d5, d7 │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ - add lr, ip │ │ │ │ │ - vsub.f64 d2, d4, d11 │ │ │ │ │ - vadd.f64 d11, d4, d11 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - add.w r3, sl, r9 │ │ │ │ │ - vldr d8, [lr] │ │ │ │ │ - mul.w r8, fp, r5 │ │ │ │ │ - mvn.w lr, #23 │ │ │ │ │ - vsub.f64 d3, d7, d4 │ │ │ │ │ - vadd.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - add.w ip, r2, r8 │ │ │ │ │ - mul.w lr, lr, r5 │ │ │ │ │ - vsub.f64 d1, d4, d8 │ │ │ │ │ - vadd.f64 d4, d4, d8 │ │ │ │ │ - vsub.f64 d8, d2, d3 │ │ │ │ │ - vadd.f64 d2, d2, d3 │ │ │ │ │ - vadd.f64 d13, d0, d1 │ │ │ │ │ - vsub.f64 d1, d0, d1 │ │ │ │ │ - vstr d2, [sp, #8] │ │ │ │ │ - vsub.f64 d0, d1, d2 │ │ │ │ │ - vadd.f64 d2, d10, d5 │ │ │ │ │ - vmls.f64 d10, d5, d6 │ │ │ │ │ - vmov.f64 d3, d0 │ │ │ │ │ - vadd.f64 d0, d9, d4 │ │ │ │ │ - vmls.f64 d9, d4, d6 │ │ │ │ │ - vldr d4, [sp, #16] │ │ │ │ │ - vstr d2, [sp, #32] │ │ │ │ │ - vstr d0, [sp, #24] │ │ │ │ │ - vadd.f64 d0, d0, d2 │ │ │ │ │ - vstr d3, [sp, #16] │ │ │ │ │ - vmov.f64 d2, d15 │ │ │ │ │ - vmls.f64 d2, d11, d6 │ │ │ │ │ - vadd.f64 d15, d15, d11 │ │ │ │ │ - vstr d0, [sp, #64] @ 0x40 │ │ │ │ │ - vmov.f64 d0, d10 │ │ │ │ │ - vadd.f64 d5, d9, d10 │ │ │ │ │ - vmov.f64 d10, d4 │ │ │ │ │ - vmls.f64 d10, d7, d6 │ │ │ │ │ - vadd.f64 d7, d4, d7 │ │ │ │ │ - vldr d4, [sp] │ │ │ │ │ - vsub.f64 d3, d3, d4 │ │ │ │ │ - vldr d4, [pc, #444] @ 348 │ │ │ │ │ - vstr d2, [sp, #40] @ 0x28 │ │ │ │ │ - vadd.f64 d11, d15, d7 │ │ │ │ │ - vsub.f64 d7, d15, d7 │ │ │ │ │ - vmul.f64 d3, d3, d4 │ │ │ │ │ - vldr d4, [pc, #432] @ 350 │ │ │ │ │ - vadd.f64 d6, d2, d10 │ │ │ │ │ - vmul.f64 d2, d13, d4 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ - vldr d3, [pc, #424] @ 358 │ │ │ │ │ - vmla.f64 d2, d8, d3 │ │ │ │ │ - vmul.f64 d8, d8, d4 │ │ │ │ │ - vnmls.f64 d8, d13, d3 │ │ │ │ │ - vsub.f64 d3, d6, d5 │ │ │ │ │ - vldr d13, [pc, #412] @ 360 │ │ │ │ │ - vadd.f64 d5, d5, d6 │ │ │ │ │ - vmov.f64 d6, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vmul.f64 d3, d3, d13 │ │ │ │ │ - vldr d13, [sp, #56] @ 0x38 │ │ │ │ │ - vmov.f64 d4, d13 │ │ │ │ │ - vmls.f64 d4, d5, d6 │ │ │ │ │ - vadd.f64 d5, d13, d5 │ │ │ │ │ - vstr d5, [ip] │ │ │ │ │ - add ip, lr │ │ │ │ │ - vsub.f64 d5, d4, d3 │ │ │ │ │ - vadd.f64 d3, d3, d4 │ │ │ │ │ - vadd.f64 d13, d8, d5 │ │ │ │ │ - vsub.f64 d5, d5, d8 │ │ │ │ │ - vstr d13, [ip] │ │ │ │ │ + mov.w r9, r9, lsl #3 │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ + add.w lr, r1, ip │ │ │ │ │ + mov.w sl, r4, lsl #3 │ │ │ │ │ + add.w r7, r0, r9 │ │ │ │ │ + add.w r8, r1, r4, lsl #5 │ │ │ │ │ + vldr d5, [lr] │ │ │ │ │ + add.w lr, r1, sl │ │ │ │ │ + add.w fp, r5, r5, lsl #1 │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + sub.w r7, r7, ip │ │ │ │ │ + vldr d12, [lr] │ │ │ │ │ + add.w lr, r4, r4, lsl #1 │ │ │ │ │ + mov.w lr, lr, lsl #3 │ │ │ │ │ + vldr d10, [r7] │ │ │ │ │ + vadd.f64 d7, d4, d5 │ │ │ │ │ + add r7, lr │ │ │ │ │ + vsub.f64 d5, d4, d5 │ │ │ │ │ + vldr d11, [r8] │ │ │ │ │ + add r8, ip │ │ │ │ │ + vldr d14, [r7] │ │ │ │ │ + add r7, sl │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + sub.w r7, r7, r9 │ │ │ │ │ + mov.w r9, r6, lsl #2 │ │ │ │ │ + vadd.f64 d1, d6, d7 │ │ │ │ │ + vmls.f64 d6, d7, d13 │ │ │ │ │ + vstr d5, [sp] │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + add r7, ip │ │ │ │ │ + add.w sl, r9, r6 │ │ │ │ │ + mov.w sl, sl, lsl #3 │ │ │ │ │ + sub.w r9, r6, r9 │ │ │ │ │ + vstr d1, [sp, #40] @ 0x28 │ │ │ │ │ + vsub.f64 d9, d4, d7 │ │ │ │ │ + vadd.f64 d4, d4, d7 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + sub.w r7, r7, lr │ │ │ │ │ + vstr d6, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d6, [r8] │ │ │ │ │ + add.w r8, r1, lr │ │ │ │ │ + add.w lr, r5, r5, lsl #2 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + vadd.f64 d15, d11, d4 │ │ │ │ │ + vmls.f64 d11, d4, d13 │ │ │ │ │ + mov.w lr, lr, lsl #3 │ │ │ │ │ + add.w r7, r3, lr │ │ │ │ │ + vsub.f64 d0, d6, d7 │ │ │ │ │ + vadd.f64 d6, d6, d7 │ │ │ │ │ + vldr d7, [r8] │ │ │ │ │ + add r8, ip │ │ │ │ │ + add.w ip, r2, sl │ │ │ │ │ + vstr d15, [sp, #8] │ │ │ │ │ + vsub.f64 d1, d7, d5 │ │ │ │ │ + vadd.f64 d7, d7, d5 │ │ │ │ │ + vldr d5, [r8] │ │ │ │ │ + vstr d11, [sp, #16] │ │ │ │ │ + mov.w r8, r9, lsl #3 │ │ │ │ │ + vsub.f64 d8, d3, d5 │ │ │ │ │ + vadd.f64 d3, d3, d5 │ │ │ │ │ + vsub.f64 d5, d0, d1 │ │ │ │ │ + vadd.f64 d0, d0, d1 │ │ │ │ │ + vadd.f64 d2, d9, d8 │ │ │ │ │ + vadd.f64 d1, d10, d3 │ │ │ │ │ + vsub.f64 d9, d9, d8 │ │ │ │ │ + vmls.f64 d10, d3, d13 │ │ │ │ │ + vmov.f64 d8, d14 │ │ │ │ │ + vmov.f64 d3, d12 │ │ │ │ │ + vmls.f64 d8, d7, d13 │ │ │ │ │ + vmls.f64 d3, d6, d13 │ │ │ │ │ + vadd.f64 d7, d14, d7 │ │ │ │ │ + vldr d14, [sp] │ │ │ │ │ + vadd.f64 d6, d12, d6 │ │ │ │ │ + vadd.f64 d15, d1, d15 │ │ │ │ │ + vadd.f64 d4, d10, d11 │ │ │ │ │ + vldr d11, [pc, #464] @ 350 │ │ │ │ │ + vadd.f64 d12, d6, d7 │ │ │ │ │ + vsub.f64 d7, d6, d7 │ │ │ │ │ + vstr d3, [sp, #24] │ │ │ │ │ + vadd.f64 d3, d3, d8 │ │ │ │ │ + vstr d8, [sp, #32] │ │ │ │ │ + vsub.f64 d8, d9, d0 │ │ │ │ │ + vsub.f64 d8, d8, d14 │ │ │ │ │ + vldr d14, [pc, #440] @ 358 │ │ │ │ │ + vmul.f64 d8, d8, d14 │ │ │ │ │ + vldr d14, [pc, #440] @ 360 │ │ │ │ │ + vstr d8, [r7] │ │ │ │ │ + vmul.f64 d8, d2, d11 │ │ │ │ │ + vmla.f64 d8, d5, d14 │ │ │ │ │ + vmul.f64 d5, d5, d11 │ │ │ │ │ + vldr d11, [pc, #428] @ 368 │ │ │ │ │ + vnmls.f64 d5, d2, d14 │ │ │ │ │ + vldr d14, [sp, #48] @ 0x30 │ │ │ │ │ + vsub.f64 d2, d3, d4 │ │ │ │ │ + vadd.f64 d4, d4, d3 │ │ │ │ │ + vmul.f64 d2, d2, d11 │ │ │ │ │ + vmov.f64 d3, d14 │ │ │ │ │ + vmov.f64 d11, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vmls.f64 d3, d4, d11 │ │ │ │ │ + vadd.f64 d4, d14, d4 │ │ │ │ │ + vstr d4, [ip] │ │ │ │ │ add ip, r8 │ │ │ │ │ - mvn.w r8, #47 @ 0x2f │ │ │ │ │ - vldr d13, [pc, #348] @ 360 │ │ │ │ │ + vsub.f64 d4, d3, d2 │ │ │ │ │ + vadd.f64 d2, d2, d3 │ │ │ │ │ + vldr d3, [pc, #384] @ 370 │ │ │ │ │ + vadd.f64 d14, d5, d4 │ │ │ │ │ + vsub.f64 d4, d4, d5 │ │ │ │ │ + vadd.f64 d5, d8, d2 │ │ │ │ │ + vsub.f64 d2, d2, d8 │ │ │ │ │ + vstr d14, [ip] │ │ │ │ │ + add ip, sl │ │ │ │ │ + mov.w sl, fp, lsl #3 │ │ │ │ │ + vldr d14, [pc, #328] @ 358 │ │ │ │ │ + vstr d4, [ip] │ │ │ │ │ + add.w ip, ip, r9, lsl #4 │ │ │ │ │ + vldr d4, [sp, #8] │ │ │ │ │ + mov.w r9, r5, lsl #4 │ │ │ │ │ vstr d5, [ip] │ │ │ │ │ - vadd.f64 d5, d2, d3 │ │ │ │ │ - mla ip, r8, r5, ip │ │ │ │ │ + sub.w ip, ip, r8 │ │ │ │ │ + sub.w r7, r7, r9 │ │ │ │ │ + vadd.f64 d5, d15, d12 │ │ │ │ │ + vstr d2, [ip] │ │ │ │ │ + sub.w ip, ip, r6, lsl #3 │ │ │ │ │ + vldr d2, [pc, #316] @ 378 │ │ │ │ │ + vsub.f64 d1, d4, d1 │ │ │ │ │ + vldr d4, [pc, #292] @ 368 │ │ │ │ │ + vmul.f64 d6, d1, d2 │ │ │ │ │ + vmla.f64 d6, d7, d3 │ │ │ │ │ + vmul.f64 d7, d7, d2 │ │ │ │ │ + vnmls.f64 d7, d1, d3 │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ + add r7, sl │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ + vsub.f64 d7, d12, d15 │ │ │ │ │ + sub.w r7, r7, lr │ │ │ │ │ vldr d8, [sp, #32] │ │ │ │ │ - vsub.f64 d3, d3, d2 │ │ │ │ │ - mov.w r8, r6, lsl #4 │ │ │ │ │ - sub.w r3, r3, r8 │ │ │ │ │ - vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d5, [ip] │ │ │ │ │ - sub.w ip, ip, lr │ │ │ │ │ - vldr d5, [sp, #24] │ │ │ │ │ - vstr d3, [ip] │ │ │ │ │ - sub.w ip, ip, r5, lsl #3 │ │ │ │ │ - vsub.f64 d4, d8, d5 │ │ │ │ │ - vldr d3, [sp, #48] @ 0x30 │ │ │ │ │ - vmul.f64 d5, d4, d12 │ │ │ │ │ - vmla.f64 d5, d7, d14 │ │ │ │ │ - vmul.f64 d7, d7, d12 │ │ │ │ │ - vnmls.f64 d7, d4, d14 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - add r3, r7 │ │ │ │ │ - vldr d5, [sp, #64] @ 0x40 │ │ │ │ │ - vadd.f64 d4, d5, d11 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - vsub.f64 d7, d11, d5 │ │ │ │ │ - vmov.f64 d5, d3 │ │ │ │ │ - sub.w r3, r3, r9 │ │ │ │ │ - vmls.f64 d5, d4, d6 │ │ │ │ │ - vadd.f64 d4, d3, d4 │ │ │ │ │ - vmul.f64 d7, d7, d13 │ │ │ │ │ - vldr d3, [sp, #16] │ │ │ │ │ - vsub.f64 d6, d5, d7 │ │ │ │ │ - vadd.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [pc, #220] @ 368 │ │ │ │ │ - vstr d6, [ip] │ │ │ │ │ - sub.w ip, ip, lr │ │ │ │ │ - vldr d6, [pc, #216] @ 370 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ + vldr d1, [sp, #40] @ 0x28 │ │ │ │ │ + vmul.f64 d7, d7, d4 │ │ │ │ │ + vmov.f64 d6, d1 │ │ │ │ │ + vmls.f64 d6, d5, d11 │ │ │ │ │ + vadd.f64 d5, d1, d5 │ │ │ │ │ + vldr d11, [sp, #16] │ │ │ │ │ + vmov.f64 d1, d3 │ │ │ │ │ + vsub.f64 d4, d6, d7 │ │ │ │ │ + vadd.f64 d7, d7, d6 │ │ │ │ │ + vstr d4, [ip] │ │ │ │ │ + sub.w ip, ip, r8 │ │ │ │ │ + vldr d4, [pc, #232] @ 380 │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ + vsub.f64 d5, d9, d0 │ │ │ │ │ vstr d7, [ip] │ │ │ │ │ - mov.w ip, #48 @ 0x30 │ │ │ │ │ vldr d7, [sp] │ │ │ │ │ - vmul.f64 d6, d3, d6 │ │ │ │ │ - vldr d4, [pc, #152] @ 348 │ │ │ │ │ - vmla.f64 d6, d7, d4 │ │ │ │ │ - vldr d7, [sp, #8] │ │ │ │ │ - vsub.f64 d4, d9, d0 │ │ │ │ │ - vadd.f64 d7, d1, d7 │ │ │ │ │ - vmul.f64 d3, d4, d14 │ │ │ │ │ + vmul.f64 d6, d5, d4 │ │ │ │ │ + vldr d5, [pc, #216] @ 388 │ │ │ │ │ + vsub.f64 d4, d10, d11 │ │ │ │ │ + vmla.f64 d6, d7, d14 │ │ │ │ │ + vadd.f64 d7, d9, d0 │ │ │ │ │ + vmul.f64 d3, d4, d3 │ │ │ │ │ vmul.f64 d7, d7, d5 │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vsub.f64 d6, d2, d10 │ │ │ │ │ - vmla.f64 d3, d6, d12 │ │ │ │ │ - vmul.f64 d6, d6, d14 │ │ │ │ │ - vnmls.f64 d6, d4, d12 │ │ │ │ │ + vldr d6, [sp, #24] │ │ │ │ │ + vsub.f64 d6, d6, d8 │ │ │ │ │ + vmla.f64 d3, d6, d2 │ │ │ │ │ + vmul.f64 d6, d6, d1 │ │ │ │ │ + vnmls.f64 d6, d4, d2 │ │ │ │ │ vsub.f64 d4, d5, d3 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - mla r3, ip, r6, r3 │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ vsub.f64 d4, d6, d7 │ │ │ │ │ + add.w r7, r7, fp, lsl #4 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - subs r3, r3, r7 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - sub.w r3, r3, r8 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - ldr r3, [sp, #76] @ 0x4c │ │ │ │ │ - add r0, r3 │ │ │ │ │ - add r1, r3 │ │ │ │ │ - ldr r3, [sp, #80] @ 0x50 │ │ │ │ │ - add r2, r3 │ │ │ │ │ - add sl, r3 │ │ │ │ │ - ldr r3, [sp, #84] @ 0x54 │ │ │ │ │ - str r2, [sp, #72] @ 0x48 │ │ │ │ │ - eors r4, r3 │ │ │ │ │ - eors r5, r3 │ │ │ │ │ - eors r6, r3 │ │ │ │ │ - ldr r3, [sp, #204] @ 0xcc │ │ │ │ │ - subs r3, #1 │ │ │ │ │ - str r3, [sp, #204] @ 0xcc │ │ │ │ │ - bne.w 46 │ │ │ │ │ - add sp, #92 @ 0x5c │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ + sub.w r7, r7, sl │ │ │ │ │ + vstr d5, [r7] │ │ │ │ │ + sub.w r7, r7, r9 │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ + ldr r7, [sp, #60] @ 0x3c │ │ │ │ │ + add r0, r7 │ │ │ │ │ + add r1, r7 │ │ │ │ │ + ldr r7, [sp, #64] @ 0x40 │ │ │ │ │ + add r2, r7 │ │ │ │ │ + add r3, r7 │ │ │ │ │ + ldr r7, [sp, #68] @ 0x44 │ │ │ │ │ + eor.w r4, r4, r7 │ │ │ │ │ + eor.w r6, r6, r7 │ │ │ │ │ + eor.w r5, r5, r7 │ │ │ │ │ + ldr r7, [sp, #188] @ 0xbc │ │ │ │ │ + subs r7, #1 │ │ │ │ │ + str r7, [sp, #188] @ 0xbc │ │ │ │ │ + bne.w 4e │ │ │ │ │ + add sp, #76 @ 0x4c │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop.w │ │ │ │ │ - .word 0x04755a5e │ │ │ │ │ - .word 0x3fe2cf23 │ │ │ │ │ - .word 0x134454ff │ │ │ │ │ - .word 0x3fee6f0e │ │ │ │ │ - .word 0xe8584caa │ │ │ │ │ - .word 0x3febb67a │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ .word 0xe1338541 │ │ │ │ │ .word 0x3fe04a07 │ │ │ │ │ + .word 0xe8584caa │ │ │ │ │ + .word 0x3febb67a │ │ │ │ │ .word 0x64ae062c │ │ │ │ │ .word 0x3fea5b40 │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ - .word 0xb14f4eda │ │ │ │ │ - .word 0x3fdefbde │ │ │ │ │ + .word 0x04755a5e │ │ │ │ │ + .word 0x3fe2cf23 │ │ │ │ │ + .word 0x134454ff │ │ │ │ │ + .word 0x3fee6f0e │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3fcbb67a │ │ │ │ │ + .word 0xb14f4eda │ │ │ │ │ + .word 0x3fdefbde │ │ │ │ │ .word 0x00000368 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ │ │ │ │ │ -00000380 : │ │ │ │ │ +00000398 : │ │ │ │ │ fftw_codelet_r2cf_15(): │ │ │ │ │ - ldr r2, [pc, #8] @ (38c ) │ │ │ │ │ - ldr r1, [pc, #12] @ (390 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (3a4 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (3a8 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cf_16.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2240 (bytes into file) │ │ │ │ │ + Start of section headers: 2312 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x8c0: │ │ │ │ │ +There are 13 section headers, starting at offset 0x908: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0005d4 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000818 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000608 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000608 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000608 000008 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 000610 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000840 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 000640 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000640 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 000674 000120 10 11 13 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 000794 000081 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000850 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00061c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000860 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000650 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000650 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000650 000008 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 000658 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000888 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 000688 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000688 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 0006bc 000120 10 11 13 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 0007dc 000081 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000898 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,21 +1,21 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 18 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1472 FUNC LOCAL DEFAULT 1 r2cf_16 │ │ │ │ │ + 1: 00000001 1544 FUNC LOCAL DEFAULT 1 r2cf_16 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000002d8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 000002f8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000005a8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 000005c0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 000005cc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000310 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000330 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000005f0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000608 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00000614 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 15: 000005c1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_16 │ │ │ │ │ + 15: 00000609 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_16 │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x818 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x860 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000002f0 00000d19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -000002f4 00000e1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000005cc 00000a03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000005d0 00000103 R_ARM_REL32 00000001 r2cf_16 │ │ │ │ │ -000005c8 0000101e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +00000328 00000d19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000032c 00000e1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000614 00000a03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000618 00000103 R_ARM_REL32 00000001 r2cf_16 │ │ │ │ │ +00000610 0000101e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x840 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x888 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00001102 R_ARM_ABS32 00000000 fftw_rdft_r2cf_genus │ │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ │ @@ -1,8 +1,7 @@ │ │ │ │ │ -[\@]@^@3 │ │ │ │ │ _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ fftw_codelet_r2cf_16 │ │ │ │ │ fftw_kr2c_register │ │ │ │ │ fftw_rdft_r2cf_genus │ │ │ │ │ .shstrtab │ │ │ │ │ .rel.text │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,427 +1,437 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cf_16(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov fp, r3 │ │ │ │ │ - ldr.w ip, [pc, #744] @ 2f0 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov sl, r3 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #92 @ 0x5c │ │ │ │ │ - add ip, pc │ │ │ │ │ - ldr r3, [sp, #204] @ 0xcc │ │ │ │ │ + ldr.w ip, [pc, #776] @ 328 │ │ │ │ │ + ldrd r6, r3, [sp, #200] @ 0xc8 │ │ │ │ │ ldrd r4, r5, [sp, #192] @ 0xc0 │ │ │ │ │ + add ip, pc │ │ │ │ │ + ldr r7, [sp, #212] @ 0xd4 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ldr r6, [sp, #200] @ 0xc8 │ │ │ │ │ - ldr r7, [sp, #208] @ 0xd0 │ │ │ │ │ - ble.w 2ce │ │ │ │ │ - ldr.w lr, [pc, #720] @ 2f4 │ │ │ │ │ + ble.w 2f2 │ │ │ │ │ + ldr.w lr, [pc, #760] @ 32c │ │ │ │ │ ldr.w r3, [ip, lr] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ str r3, [sp, #76] @ 0x4c │ │ │ │ │ - ldr r3, [sp, #212] @ 0xd4 │ │ │ │ │ - cmp r7, #1 │ │ │ │ │ + ldr r3, [sp, #208] @ 0xd0 │ │ │ │ │ + cmp r3, #1 │ │ │ │ │ it eq │ │ │ │ │ - cmpeq r3, #1 │ │ │ │ │ - bne.w 2f8 │ │ │ │ │ - vldr d14, [pc, #668] @ 2d8 │ │ │ │ │ - vldr d13, [pc, #672] @ 2e0 │ │ │ │ │ - vldr d12, [pc, #676] @ 2e8 │ │ │ │ │ - lsls r3, r4, #5 │ │ │ │ │ + cmpeq r7, #1 │ │ │ │ │ + bne.w 330 │ │ │ │ │ + vldr d14, [pc, #708] @ 310 │ │ │ │ │ + vldr d13, [pc, #712] @ 318 │ │ │ │ │ + vldr d12, [pc, #716] @ 320 │ │ │ │ │ + mov.w r3, r4, lsl #5 │ │ │ │ │ + mov.w r8, r4, lsl #4 │ │ │ │ │ vldr d3, [r0] │ │ │ │ │ - adds r7, r0, r3 │ │ │ │ │ - mov.w sl, #24 │ │ │ │ │ + add.w r7, r0, r3 │ │ │ │ │ + mov.w ip, r4, lsl #3 │ │ │ │ │ vldr d5, [r7] │ │ │ │ │ - lsls r7, r4, #4 │ │ │ │ │ - add.w ip, r0, r7 │ │ │ │ │ - add r7, r1 │ │ │ │ │ + add.w r7, r0, r8 │ │ │ │ │ + add r8, r1 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + add r7, r3 │ │ │ │ │ + vldr d15, [r7] │ │ │ │ │ + add.w r7, r0, ip │ │ │ │ │ vadd.f64 d7, d5, d3 │ │ │ │ │ vsub.f64 d3, d3, d5 │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ - add ip, r3 │ │ │ │ │ - vldr d15, [ip] │ │ │ │ │ - mov.w ip, r4, lsl #3 │ │ │ │ │ - add.w lr, r0, ip │ │ │ │ │ - vstr d7, [sp, #56] @ 0x38 │ │ │ │ │ - add ip, r1 │ │ │ │ │ vadd.f64 d4, d15, d6 │ │ │ │ │ vsub.f64 d15, d6, d15 │ │ │ │ │ - vldr d6, [lr] │ │ │ │ │ - add lr, r3 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + add r7, r3 │ │ │ │ │ add r3, r1 │ │ │ │ │ vadd.f64 d8, d4, d7 │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ - mov.w lr, #56 @ 0x38 │ │ │ │ │ - vstr d4, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d7, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + sub.w r7, ip, r4 │ │ │ │ │ + add ip, r1 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + add.w lr, r0, r7 │ │ │ │ │ + add r7, r1 │ │ │ │ │ + vstr d8, [sp, #40] @ 0x28 │ │ │ │ │ vadd.f64 d2, d7, d6 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - mul.w r8, lr, r4 │ │ │ │ │ - vstr d8, [sp, #40] @ 0x28 │ │ │ │ │ - add.w lr, r0, r8 │ │ │ │ │ - add r8, r1 │ │ │ │ │ - vstr d2, [sp, #32] │ │ │ │ │ vldr d7, [lr] │ │ │ │ │ - mul.w lr, sl, r4 │ │ │ │ │ - mul.w sl, sl, r5 │ │ │ │ │ - add.w r9, r0, lr │ │ │ │ │ - add lr, r1 │ │ │ │ │ - adds r0, #8 │ │ │ │ │ - vldr d5, [r9] │ │ │ │ │ - mvn.w r9, #23 │ │ │ │ │ + add.w lr, r4, r4, lsl #1 │ │ │ │ │ + mov.w r9, lr, lsl #3 │ │ │ │ │ + add.w lr, r1, lr, lsl #4 │ │ │ │ │ + add.w fp, r0, r9 │ │ │ │ │ + add r9, r1 │ │ │ │ │ + vstr d4, [sp, #48] @ 0x30 │ │ │ │ │ + add.w r0, r0, #8 │ │ │ │ │ + vldr d5, [fp] │ │ │ │ │ + mov.w fp, r5, lsl #5 │ │ │ │ │ + vstr d2, [sp, #32] │ │ │ │ │ vadd.f64 d1, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - mul.w r9, r9, r6 │ │ │ │ │ - vadd.f64 d0, d1, d2 │ │ │ │ │ vadd.f64 d4, d7, d6 │ │ │ │ │ - vstr d1, [sp, #24] │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + add.w r7, r4, r4, lsl #2 │ │ │ │ │ + vadd.f64 d0, d1, d2 │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ + add.w r3, r2, fp │ │ │ │ │ + add.w r7, r1, r7, lsl #3 │ │ │ │ │ + add.w r1, r1, #8 │ │ │ │ │ + vmul.f64 d11, d7, d14 │ │ │ │ │ + vldr d7, [r9] │ │ │ │ │ + mov.w r9, r6, lsl #5 │ │ │ │ │ + vstr d1, [sp, #24] │ │ │ │ │ + vmul.f64 d4, d4, d14 │ │ │ │ │ vldr d1, [ip] │ │ │ │ │ - mov.w ip, #40 @ 0x28 │ │ │ │ │ - vldr d6, [r8] │ │ │ │ │ - mov.w r8, #48 @ 0x30 │ │ │ │ │ + add.w ip, r6, r6, lsl #1 │ │ │ │ │ vstr d0, [sp, #16] │ │ │ │ │ - vmul.f64 d4, d4, d14 │ │ │ │ │ - mla ip, ip, r4, r1 │ │ │ │ │ - vmul.f64 d11, d7, d14 │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ - mov.w lr, r5, lsl #5 │ │ │ │ │ - vsub.f64 d10, d6, d7 │ │ │ │ │ + vsub.f64 d9, d6, d7 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ - mov.w ip, r6, lsl #5 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + add.w r7, sl, r9 │ │ │ │ │ + add.w sl, sl, #8 │ │ │ │ │ vsub.f64 d5, d1, d6 │ │ │ │ │ vadd.f64 d6, d6, d1 │ │ │ │ │ - vadd.f64 d2, d6, d7 │ │ │ │ │ vmul.f64 d1, d5, d12 │ │ │ │ │ + vadd.f64 d10, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - vstr d2, [sp, #8] │ │ │ │ │ - vnmls.f64 d1, d10, d13 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ - mla r3, r8, r4, r1 │ │ │ │ │ - vmul.f64 d10, d10, d12 │ │ │ │ │ - adds r1, #8 │ │ │ │ │ - vmla.f64 d10, d5, d13 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ + vldr d6, [r1, #-8] │ │ │ │ │ + vnmls.f64 d1, d9, d13 │ │ │ │ │ + vmul.f64 d9, d9, d12 │ │ │ │ │ vsub.f64 d8, d6, d2 │ │ │ │ │ - add.w r7, fp, ip │ │ │ │ │ vadd.f64 d2, d2, d6 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - add.w r3, r2, lr │ │ │ │ │ - add.w fp, fp, #8 │ │ │ │ │ + vldr d6, [lr] │ │ │ │ │ + sub.w lr, r6, r6, lsl #2 │ │ │ │ │ + vmla.f64 d9, d5, d13 │ │ │ │ │ + vldr d5, [r8] │ │ │ │ │ + mov.w lr, lr, lsl #3 │ │ │ │ │ + add.w r8, r5, r5, lsl #1 │ │ │ │ │ + mov.w r8, r8, lsl #3 │ │ │ │ │ vsub.f64 d0, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vmul.f64 d5, d8, d13 │ │ │ │ │ + vstr d9, [sp, #8] │ │ │ │ │ vmla.f64 d5, d0, d12 │ │ │ │ │ vmul.f64 d0, d0, d13 │ │ │ │ │ vadd.f64 d9, d6, d2 │ │ │ │ │ vsub.f64 d6, d2, d6 │ │ │ │ │ vnmls.f64 d0, d8, d12 │ │ │ │ │ vldr d8, [sp, #40] @ 0x28 │ │ │ │ │ vstr d9, [sp] │ │ │ │ │ vstr d0, [sp, #64] @ 0x40 │ │ │ │ │ vldr d0, [sp, #16] │ │ │ │ │ vsub.f64 d2, d8, d0 │ │ │ │ │ vsub.f64 d0, d11, d15 │ │ │ │ │ vadd.f64 d11, d11, d15 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ - add r3, sl │ │ │ │ │ - vldr d2, [sp, #8] │ │ │ │ │ - vsub.f64 d2, d2, d9 │ │ │ │ │ + vsub.f64 d2, d10, d9 │ │ │ │ │ + add r3, r8 │ │ │ │ │ + vldr d9, [sp, #64] @ 0x40 │ │ │ │ │ vstr d2, [r7] │ │ │ │ │ vsub.f64 d2, d1, d5 │ │ │ │ │ - add r7, r9 │ │ │ │ │ + add r7, lr │ │ │ │ │ vadd.f64 d8, d2, d0 │ │ │ │ │ vsub.f64 d2, d2, d0 │ │ │ │ │ vadd.f64 d0, d4, d3 │ │ │ │ │ vsub.f64 d4, d3, d4 │ │ │ │ │ vadd.f64 d3, d5, d1 │ │ │ │ │ vstr d8, [r7] │ │ │ │ │ - mla r7, r8, r6, r7 │ │ │ │ │ - mvn.w r8, #47 @ 0x2f │ │ │ │ │ + add.w r7, r7, ip, lsl #4 │ │ │ │ │ + sub.w ip, r5, r5, lsl #2 │ │ │ │ │ vstr d2, [r7] │ │ │ │ │ - mul.w r8, r8, r5 │ │ │ │ │ - vldr d9, [sp, #64] @ 0x40 │ │ │ │ │ - sub.w r7, r7, ip │ │ │ │ │ - vldr d5, [sp, #56] @ 0x38 │ │ │ │ │ + mov.w ip, ip, lsl #4 │ │ │ │ │ + sub.w r7, r7, r9 │ │ │ │ │ + vldr d8, [sp, #8] │ │ │ │ │ + vldr d5, [sp, #8] │ │ │ │ │ vldr d1, [sp, #24] │ │ │ │ │ - vadd.f64 d2, d9, d10 │ │ │ │ │ - vsub.f64 d10, d10, d9 │ │ │ │ │ - vldr d9, [sp] │ │ │ │ │ + vadd.f64 d2, d9, d8 │ │ │ │ │ + vsub.f64 d9, d5, d9 │ │ │ │ │ + vldr d5, [sp, #56] @ 0x38 │ │ │ │ │ vsub.f64 d8, d0, d2 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ vstr d8, [r3] │ │ │ │ │ - add r3, r8 │ │ │ │ │ + add r3, ip │ │ │ │ │ vldr d8, [sp, #40] @ 0x28 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ vsub.f64 d2, d4, d3 │ │ │ │ │ - add r3, lr │ │ │ │ │ vadd.f64 d3, d3, d4 │ │ │ │ │ + add r3, fp │ │ │ │ │ vldr d4, [sp, #48] @ 0x30 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ sub.w r3, r3, r5, lsl #4 │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ - vadd.f64 d3, d10, d11 │ │ │ │ │ - vsub.f64 d10, d10, d11 │ │ │ │ │ - add r3, sl │ │ │ │ │ + vadd.f64 d3, d9, d11 │ │ │ │ │ + vsub.f64 d9, d9, d11 │ │ │ │ │ + add r3, r8 │ │ │ │ │ vstr d3, [r7] │ │ │ │ │ vsub.f64 d3, d5, d4 │ │ │ │ │ vadd.f64 d4, d6, d7 │ │ │ │ │ add.w r7, r7, r6, lsl #4 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vstr d10, [r7] │ │ │ │ │ - add r7, r9 │ │ │ │ │ + vstr d9, [r7] │ │ │ │ │ + add r7, lr │ │ │ │ │ + vldr d9, [sp] │ │ │ │ │ vmul.f64 d4, d4, d14 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ + vadd.f64 d5, d9, d10 │ │ │ │ │ vsub.f64 d2, d3, d4 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ - sub.w r3, r3, lr │ │ │ │ │ + sub.w r3, r3, fp │ │ │ │ │ vldr d2, [sp, #32] │ │ │ │ │ vstr d4, [r3] │ │ │ │ │ - sub.w r3, r3, r8 │ │ │ │ │ + sub.w r3, r3, ip │ │ │ │ │ vsub.f64 d4, d1, d2 │ │ │ │ │ vadd.f64 d6, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ vstr d6, [r7] │ │ │ │ │ - add r7, ip │ │ │ │ │ - vldr d6, [sp, #8] │ │ │ │ │ + add r7, r9 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ vldr d7, [sp, #16] │ │ │ │ │ - vadd.f64 d5, d9, d6 │ │ │ │ │ vadd.f64 d7, d7, d8 │ │ │ │ │ vsub.f64 d6, d7, d5 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ ldr r3, [sp, #76] @ 0x4c │ │ │ │ │ vstmia r2!, {d5} │ │ │ │ │ - eors r4, r3 │ │ │ │ │ - eors r5, r3 │ │ │ │ │ - eors r6, r3 │ │ │ │ │ + eor.w r4, r4, r3 │ │ │ │ │ + eor.w r5, r5, r3 │ │ │ │ │ + eor.w r6, r6, r3 │ │ │ │ │ ldr r3, [sp, #204] @ 0xcc │ │ │ │ │ subs r3, #1 │ │ │ │ │ str r3, [sp, #204] @ 0xcc │ │ │ │ │ - bne.w 46 │ │ │ │ │ + bne.w 56 │ │ │ │ │ add sp, #92 @ 0x5c │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ - .word 0x000002dc │ │ │ │ │ + .word 0x000002fc │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - lsls r3, r7, #3 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + vldr d14, [pc, #696] @ 5f0 │ │ │ │ │ + vldr d13, [pc, #700] @ 5f8 │ │ │ │ │ str r3, [sp, #80] @ 0x50 │ │ │ │ │ - ldr r3, [sp, #212] @ 0xd4 │ │ │ │ │ - vldr d14, [pc, #680] @ 5a8 │ │ │ │ │ - vldr d13, [pc, #684] @ 5b0 │ │ │ │ │ - vldr d12, [pc, #688] @ 5b8 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ + mov.w r3, r7, lsl #3 │ │ │ │ │ + vldr d12, [pc, #700] @ 600 │ │ │ │ │ str r3, [sp, #84] @ 0x54 │ │ │ │ │ - lsls r3, r4, #5 │ │ │ │ │ + mov.w r3, r4, lsl #5 │ │ │ │ │ vldr d3, [r0] │ │ │ │ │ - adds r7, r0, r3 │ │ │ │ │ - mov.w sl, #24 │ │ │ │ │ + mov.w r8, r4, lsl #4 │ │ │ │ │ + add.w r7, r0, r3 │ │ │ │ │ + mov.w ip, r4, lsl #3 │ │ │ │ │ vldr d5, [r7] │ │ │ │ │ - lsls r7, r4, #4 │ │ │ │ │ - add.w ip, r0, r7 │ │ │ │ │ - add r7, r1 │ │ │ │ │ - vadd.f64 d7, d3, d5 │ │ │ │ │ + add.w r7, r0, r8 │ │ │ │ │ + add r8, r1 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + add r7, r3 │ │ │ │ │ + vldr d9, [r7] │ │ │ │ │ + add.w r7, r0, ip │ │ │ │ │ + vadd.f64 d15, d3, d5 │ │ │ │ │ vsub.f64 d3, d3, d5 │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ - add ip, r3 │ │ │ │ │ - vldr d11, [ip] │ │ │ │ │ - mov.w ip, r4, lsl #3 │ │ │ │ │ - add.w lr, r0, ip │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + add r7, r3 │ │ │ │ │ + add r3, r1 │ │ │ │ │ + vadd.f64 d7, d6, d9 │ │ │ │ │ + vsub.f64 d9, d6, d9 │ │ │ │ │ + vadd.f64 d2, d15, d7 │ │ │ │ │ vstr d7, [sp] │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + sub.w r7, ip, r4 │ │ │ │ │ add ip, r1 │ │ │ │ │ - vadd.f64 d4, d6, d11 │ │ │ │ │ - vsub.f64 d11, d6, d11 │ │ │ │ │ - vldr d5, [lr] │ │ │ │ │ - add lr, r3 │ │ │ │ │ - add r3, r1 │ │ │ │ │ - vadd.f64 d2, d7, d4 │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ - mov.w lr, #56 @ 0x38 │ │ │ │ │ - vstr d4, [sp, #8] │ │ │ │ │ - vadd.f64 d1, d5, d7 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + add.w lr, r0, r7 │ │ │ │ │ + add r7, r1 │ │ │ │ │ + vstr d2, [sp, #8] │ │ │ │ │ + vadd.f64 d4, d5, d7 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ - mul.w r8, lr, r4 │ │ │ │ │ - vstr d2, [sp, #16] │ │ │ │ │ - add.w lr, r0, r8 │ │ │ │ │ - add r8, r1 │ │ │ │ │ - vstr d1, [sp, #24] │ │ │ │ │ vldr d7, [lr] │ │ │ │ │ - mul.w lr, sl, r4 │ │ │ │ │ - mul.w sl, sl, r5 │ │ │ │ │ - add.w r9, r0, lr │ │ │ │ │ - add lr, r1 │ │ │ │ │ - vldr d6, [r9] │ │ │ │ │ - mvn.w r9, #23 │ │ │ │ │ - vadd.f64 d0, d7, d6 │ │ │ │ │ + add.w lr, r4, r4, lsl #1 │ │ │ │ │ + mov.w r9, lr, lsl #3 │ │ │ │ │ + add.w lr, r1, lr, lsl #4 │ │ │ │ │ + add.w fp, r0, r9 │ │ │ │ │ + add r9, r1 │ │ │ │ │ + vstr d4, [sp, #16] │ │ │ │ │ + vldr d6, [fp] │ │ │ │ │ + mov.w fp, r5, lsl #5 │ │ │ │ │ + vadd.f64 d1, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - mul.w r9, r9, r6 │ │ │ │ │ vadd.f64 d6, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [lr] │ │ │ │ │ - vadd.f64 d8, d1, d0 │ │ │ │ │ + vldr d5, [r9] │ │ │ │ │ + vadd.f64 d0, d4, d1 │ │ │ │ │ + vstr d1, [sp, #24] │ │ │ │ │ + mov.w r9, r6, lsl #5 │ │ │ │ │ + vldr d1, [lr] │ │ │ │ │ + sub.w lr, r6, r6, lsl #2 │ │ │ │ │ + mov.w lr, lr, lsl #3 │ │ │ │ │ + vmul.f64 d10, d7, d14 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + add.w r7, r4, r4, lsl #2 │ │ │ │ │ vstr d0, [sp, #32] │ │ │ │ │ - mov.w lr, r5, lsl #5 │ │ │ │ │ - vmul.f64 d15, d7, d14 │ │ │ │ │ - vldr d7, [r8] │ │ │ │ │ - mov.w r8, #48 @ 0x30 │ │ │ │ │ - vstr d8, [sp, #40] @ 0x28 │ │ │ │ │ vmul.f64 d6, d6, d14 │ │ │ │ │ + add.w r7, r1, r7, lsl #3 │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + add.w r7, sl, r9 │ │ │ │ │ vsub.f64 d2, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vldr d5, [ip] │ │ │ │ │ - mov.w ip, #40 @ 0x28 │ │ │ │ │ - mla ip, ip, r4, r1 │ │ │ │ │ - vldr d4, [ip] │ │ │ │ │ - mov.w ip, r6, lsl #5 │ │ │ │ │ - vsub.f64 d9, d5, d4 │ │ │ │ │ + add.w ip, r6, r6, lsl #1 │ │ │ │ │ + vsub.f64 d11, d5, d4 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ - vmul.f64 d4, d9, d12 │ │ │ │ │ - vadd.f64 d10, d7, d5 │ │ │ │ │ - vmul.f64 d9, d9, d13 │ │ │ │ │ + vmul.f64 d4, d11, d12 │ │ │ │ │ + vmul.f64 d11, d11, d13 │ │ │ │ │ + vadd.f64 d8, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - mla r3, r8, r4, r1 │ │ │ │ │ - vmla.f64 d9, d2, d12 │ │ │ │ │ + add.w r3, r2, fp │ │ │ │ │ vnmls.f64 d4, d2, d13 │ │ │ │ │ + vmla.f64 d11, d2, d12 │ │ │ │ │ vldr d2, [r1] │ │ │ │ │ - vldr d1, [r3] │ │ │ │ │ - add.w r3, r2, lr │ │ │ │ │ + vstr d8, [sp, #40] @ 0x28 │ │ │ │ │ vsub.f64 d8, d2, d5 │ │ │ │ │ vadd.f64 d2, d2, d5 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ - add.w r7, fp, ip │ │ │ │ │ + vldr d5, [r8] │ │ │ │ │ + add.w r8, r5, r5, lsl #1 │ │ │ │ │ + mov.w r8, r8, lsl #3 │ │ │ │ │ + vstr d11, [sp, #48] @ 0x30 │ │ │ │ │ vsub.f64 d0, d5, d1 │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ - vstr d9, [sp, #48] @ 0x30 │ │ │ │ │ vmul.f64 d1, d0, d12 │ │ │ │ │ vmul.f64 d0, d0, d13 │ │ │ │ │ - vadd.f64 d9, d2, d5 │ │ │ │ │ - vmla.f64 d1, d8, d13 │ │ │ │ │ + vadd.f64 d11, d2, d5 │ │ │ │ │ vsub.f64 d5, d2, d5 │ │ │ │ │ - vldr d2, [sp, #16] │ │ │ │ │ + vldr d2, [sp, #8] │ │ │ │ │ + vmla.f64 d1, d8, d13 │ │ │ │ │ vnmls.f64 d0, d8, d12 │ │ │ │ │ - vldr d8, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d9, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d8, [sp, #32] │ │ │ │ │ + vstr d11, [sp, #56] @ 0x38 │ │ │ │ │ vsub.f64 d2, d2, d8 │ │ │ │ │ - vstr d2, [r3] │ │ │ │ │ - vsub.f64 d2, d10, d9 │ │ │ │ │ + vldr d8, [sp, #40] @ 0x28 │ │ │ │ │ vstr d0, [sp, #64] @ 0x40 │ │ │ │ │ - vsub.f64 d0, d15, d11 │ │ │ │ │ - vldr d9, [sp, #64] @ 0x40 │ │ │ │ │ - add r3, sl │ │ │ │ │ - vadd.f64 d11, d11, d15 │ │ │ │ │ + vsub.f64 d0, d10, d9 │ │ │ │ │ + vadd.f64 d9, d9, d10 │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + vsub.f64 d2, d8, d11 │ │ │ │ │ + add r3, r8 │ │ │ │ │ vstr d2, [r7] │ │ │ │ │ vsub.f64 d2, d4, d1 │ │ │ │ │ - add r7, r9 │ │ │ │ │ + add r7, lr │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ vadd.f64 d8, d0, d2 │ │ │ │ │ vsub.f64 d2, d2, d0 │ │ │ │ │ vstr d8, [r7] │ │ │ │ │ - mla r7, r8, r6, r7 │ │ │ │ │ - mvn.w r8, #47 @ 0x2f │ │ │ │ │ + add.w r7, r7, ip, lsl #4 │ │ │ │ │ + sub.w ip, r5, r5, lsl #2 │ │ │ │ │ vstr d2, [r7] │ │ │ │ │ vadd.f64 d2, d3, d6 │ │ │ │ │ - vldr d8, [sp, #48] @ 0x30 │ │ │ │ │ - mul.w r8, r8, r5 │ │ │ │ │ vsub.f64 d6, d3, d6 │ │ │ │ │ - sub.w r7, r7, ip │ │ │ │ │ + vldr d11, [sp, #64] @ 0x40 │ │ │ │ │ + mov.w ip, ip, lsl #4 │ │ │ │ │ + sub.w r7, r7, r9 │ │ │ │ │ vldr d1, [sp, #24] │ │ │ │ │ - vadd.f64 d0, d8, d9 │ │ │ │ │ + vldr d8, [sp, #48] @ 0x30 │ │ │ │ │ vsub.f64 d3, d6, d4 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ + vadd.f64 d0, d8, d11 │ │ │ │ │ vsub.f64 d8, d2, d0 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ - vldr d0, [sp, #32] │ │ │ │ │ vstr d8, [r3] │ │ │ │ │ - add r3, r8 │ │ │ │ │ - vldr d8, [sp, #40] @ 0x28 │ │ │ │ │ + add r3, ip │ │ │ │ │ + vldr d8, [sp, #32] │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ - add r3, lr │ │ │ │ │ - vldr d2, [sp, #16] │ │ │ │ │ + add r3, fp │ │ │ │ │ + vldr d2, [sp, #8] │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ sub.w r3, r3, r5, lsl #4 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ - add r3, sl │ │ │ │ │ + add r3, r8 │ │ │ │ │ vldr d6, [sp, #48] @ 0x30 │ │ │ │ │ - vsub.f64 d9, d6, d9 │ │ │ │ │ + vsub.f64 d11, d6, d11 │ │ │ │ │ vldr d6, [sp] │ │ │ │ │ - vadd.f64 d4, d11, d9 │ │ │ │ │ - vsub.f64 d9, d9, d11 │ │ │ │ │ + vsub.f64 d15, d15, d6 │ │ │ │ │ + vadd.f64 d6, d7, d5 │ │ │ │ │ + vadd.f64 d4, d9, d11 │ │ │ │ │ + vsub.f64 d11, d11, d9 │ │ │ │ │ + vsub.f64 d7, d7, d5 │ │ │ │ │ + vmul.f64 d6, d6, d14 │ │ │ │ │ vstr d4, [r7] │ │ │ │ │ add.w r7, r7, r6, lsl #4 │ │ │ │ │ - vldr d4, [sp, #8] │ │ │ │ │ - vstr d9, [r7] │ │ │ │ │ - add r7, r9 │ │ │ │ │ - vsub.f64 d6, d6, d4 │ │ │ │ │ - vadd.f64 d4, d7, d5 │ │ │ │ │ - vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d9, [sp, #56] @ 0x38 │ │ │ │ │ - vmul.f64 d4, d4, d14 │ │ │ │ │ - vadd.f64 d10, d10, d9 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ - vsub.f64 d3, d6, d4 │ │ │ │ │ - vadd.f64 d6, d6, d4 │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ - sub.w r3, r3, lr │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - vsub.f64 d6, d0, d1 │ │ │ │ │ - sub.w r3, r3, r8 │ │ │ │ │ + vstr d11, [r7] │ │ │ │ │ + add r7, lr │ │ │ │ │ + vldr d11, [sp, #56] @ 0x38 │ │ │ │ │ + vsub.f64 d4, d15, d6 │ │ │ │ │ + vadd.f64 d15, d15, d6 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + sub.w r3, r3, fp │ │ │ │ │ + vldr d4, [sp, #16] │ │ │ │ │ + vstr d15, [r3] │ │ │ │ │ + sub.w r3, r3, ip │ │ │ │ │ + vsub.f64 d6, d1, d4 │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ - add r7, ip │ │ │ │ │ + add r7, r9 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ vadd.f64 d7, d2, d8 │ │ │ │ │ - vsub.f64 d6, d7, d10 │ │ │ │ │ - vadd.f64 d7, d7, d10 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ + vldr d8, [sp, #40] @ 0x28 │ │ │ │ │ + vadd.f64 d1, d8, d11 │ │ │ │ │ + vsub.f64 d5, d7, d1 │ │ │ │ │ + vadd.f64 d7, d7, d1 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ ldr r3, [sp, #80] @ 0x50 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ add r0, r3 │ │ │ │ │ add r1, r3 │ │ │ │ │ ldr r3, [sp, #84] @ 0x54 │ │ │ │ │ add r2, r3 │ │ │ │ │ - add fp, r3 │ │ │ │ │ + add sl, r3 │ │ │ │ │ ldr r3, [sp, #76] @ 0x4c │ │ │ │ │ - eors r4, r3 │ │ │ │ │ - eors r5, r3 │ │ │ │ │ - eors r6, r3 │ │ │ │ │ + eor.w r4, r4, r3 │ │ │ │ │ + eor.w r5, r5, r3 │ │ │ │ │ + eor.w r6, r6, r3 │ │ │ │ │ ldr r3, [sp, #204] @ 0xcc │ │ │ │ │ subs r3, #1 │ │ │ │ │ str r3, [sp, #204] @ 0xcc │ │ │ │ │ - bne.w 30e │ │ │ │ │ - add sp, #92 @ 0x5c │ │ │ │ │ - vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + bne.w 348 │ │ │ │ │ + b.n 2f2 │ │ │ │ │ + nop │ │ │ │ │ nop.w │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ │ │ │ │ │ -000005c0 : │ │ │ │ │ +00000608 : │ │ │ │ │ fftw_codelet_r2cf_16(): │ │ │ │ │ - ldr r2, [pc, #8] @ (5cc ) │ │ │ │ │ - ldr r1, [pc, #12] @ (5d0 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (614 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (618 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cf_2.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 704 (bytes into file) │ │ │ │ │ + Start of section headers: 724 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x2c0: │ │ │ │ │ +There are 13 section headers, starting at offset 0x2d4: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000080 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000228 000018 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0000b4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0000b4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0000b4 000007 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 0000bb 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000240 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 0000eb 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0000eb 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 000120 0000c0 10 11 9 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 0001e0 000048 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000250 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000094 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 00023c 000018 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0000c8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0000c8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0000c8 000007 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0000cf 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000254 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 0000ff 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0000ff 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 000134 0000c0 10 11 9 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 0001f4 000048 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000264 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,15 +1,15 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 12 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 106 FUNC LOCAL DEFAULT 1 r2cf_2 │ │ │ │ │ + 1: 00000001 126 FUNC LOCAL DEFAULT 1 r2cf_2 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000078 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 0000008c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 4: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 8: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ - 9: 0000006d 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_2 │ │ │ │ │ + 9: 00000081 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_2 │ │ │ │ │ 10: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,11 +1,11 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x228 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x23c contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000078 00000603 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000007c 00000103 R_ARM_REL32 00000001 r2cf_2 │ │ │ │ │ -00000074 00000a1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +0000008c 00000603 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000090 00000103 R_ARM_REL32 00000001 r2cf_2 │ │ │ │ │ +00000088 00000a1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x240 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x254 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000402 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000b02 R_ARM_ABS32 00000000 fftw_rdft_r2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,56 +1,61 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cf_2(): │ │ │ │ │ - push {r4, r5, r6, lr} │ │ │ │ │ - ldr r5, [sp, #36] @ 0x24 │ │ │ │ │ + strd r4, r5, [sp, #-16]! │ │ │ │ │ ldrd r3, r4, [sp, #28] │ │ │ │ │ + strd r6, lr, [sp, #8] │ │ │ │ │ + ldr r5, [sp, #36] @ 0x24 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ble.n 3a │ │ │ │ │ + ble.n 40 │ │ │ │ │ ldr r6, [sp, #20] │ │ │ │ │ cmp r4, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r5, #1 │ │ │ │ │ mov.w lr, r6, lsl #3 │ │ │ │ │ - bne.n 3c │ │ │ │ │ + bne.n 48 │ │ │ │ │ vldmia r0!, {d7} │ │ │ │ │ add.w ip, r2, lr │ │ │ │ │ - vldmia r1!, {d6} │ │ │ │ │ subs r3, #1 │ │ │ │ │ + vldmia r1!, {d6} │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vstr d5, [ip] │ │ │ │ │ vstmia r2!, {d7} │ │ │ │ │ - bne.n 1a │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ + bne.n 20 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ mov.w ip, r4, lsl #3 │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ add.w r4, r2, lr │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ + subs r3, #1 │ │ │ │ │ add r0, ip │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ add r1, ip │ │ │ │ │ - subs r3, #1 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vstr d5, [r4] │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ add r2, r5 │ │ │ │ │ - bne.n 42 │ │ │ │ │ - pop {r4, r5, r6, pc} │ │ │ │ │ + bne.n 50 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + add sp, #8 │ │ │ │ │ + pop {r6, pc} │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -0000006c : │ │ │ │ │ +00000080 : │ │ │ │ │ fftw_codelet_r2cf_2(): │ │ │ │ │ - ldr r2, [pc, #8] @ (78 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (7c ) │ │ │ │ │ + ldr r2, [pc, #8] @ (8c ) │ │ │ │ │ + ldr r1, [pc, #12] @ (90 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cf_20.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1812 (bytes into file) │ │ │ │ │ + Start of section headers: 1876 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x714: │ │ │ │ │ +There are 13 section headers, starting at offset 0x754: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000448 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00066c 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 00047c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 00047c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 00047c 000008 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 000484 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000694 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 0004b4 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0004b4 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 0004e8 000100 10 11 11 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 0005e8 000081 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 0006a4 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000488 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0006ac 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0004bc 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0004bc 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0004bc 000008 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0004c4 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 0006d4 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 0004f4 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0004f4 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 000528 000100 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 000628 000081 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 0006e4 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 16 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1074 FUNC LOCAL DEFAULT 1 r2cf_20 │ │ │ │ │ + 1: 00000001 1140 FUNC LOCAL DEFAULT 1 r2cf_20 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000408 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000428 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000440 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000428 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000448 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000480 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 13: 00000435 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_20 │ │ │ │ │ + 13: 00000475 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_20 │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x66c contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x6ac contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000420 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000424 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000440 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000444 00000103 R_ARM_REL32 00000001 r2cf_20 │ │ │ │ │ -0000043c 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +00000440 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000444 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000480 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000484 00000103 R_ARM_REL32 00000001 r2cf_20 │ │ │ │ │ +0000047c 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x694 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x6d4 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000f02 R_ARM_ABS32 00000000 fftw_rdft_r2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,314 +1,324 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cf_20(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - ldr.w r7, [pc, #1048] @ 420 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub sp, #132 @ 0x84 │ │ │ │ │ + sub sp, #140 @ 0x8c │ │ │ │ │ + ldr.w r7, [pc, #1060] @ 440 │ │ │ │ │ + ldrd r6, r4, [sp, #248] @ 0xf8 │ │ │ │ │ + ldrd lr, r5, [sp, #240] @ 0xf0 │ │ │ │ │ add r7, pc │ │ │ │ │ - ldr r4, [sp, #244] @ 0xf4 │ │ │ │ │ - ldrd lr, r5, [sp, #232] @ 0xe8 │ │ │ │ │ cmp r4, #0 │ │ │ │ │ - ldr r6, [sp, #240] @ 0xf0 │ │ │ │ │ - ble.w 428 │ │ │ │ │ - ldr r4, [sp, #248] @ 0xf8 │ │ │ │ │ - mov.w sl, #40 @ 0x28 │ │ │ │ │ - ldr.w ip, [pc, #1020] @ 424 │ │ │ │ │ - vldr d13, [pc, #988] @ 408 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ - str r4, [sp, #120] @ 0x78 │ │ │ │ │ - ldr r4, [sp, #252] @ 0xfc │ │ │ │ │ - vldr d15, [pc, #988] @ 410 │ │ │ │ │ - lsls r4, r4, #3 │ │ │ │ │ - str r4, [sp, #124] @ 0x7c │ │ │ │ │ - ldr.w r7, [r7, ip] │ │ │ │ │ + ble.w 458 │ │ │ │ │ + ldr r4, [sp, #256] @ 0x100 │ │ │ │ │ + ldr.w ip, [pc, #1040] @ 444 │ │ │ │ │ + vldr d13, [pc, #1008] @ 428 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + vldr d15, [pc, #1008] @ 430 │ │ │ │ │ + str r4, [sp, #128] @ 0x80 │ │ │ │ │ + ldr r4, [sp, #260] @ 0x104 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + str r4, [sp, #132] @ 0x84 │ │ │ │ │ mov r4, lr │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ - ldr.w fp, [r7] │ │ │ │ │ - mul.w r7, sl, r4 │ │ │ │ │ - movs r3, #56 @ 0x38 │ │ │ │ │ + ldr.w r7, [r7, ip] │ │ │ │ │ + ldr.w sl, [r7] │ │ │ │ │ + add.w r7, r4, r4, lsl #2 │ │ │ │ │ + mov.w lr, r4, lsl #3 │ │ │ │ │ vldr d2, [r0] │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ mov.w r9, r4, lsl #6 │ │ │ │ │ add.w ip, r0, r7 │ │ │ │ │ vldr d3, [ip] │ │ │ │ │ - mla ip, r3, r4, r1 │ │ │ │ │ - movs r3, #24 │ │ │ │ │ - vadd.f64 d6, d2, d3 │ │ │ │ │ - vsub.f64 d8, d2, d3 │ │ │ │ │ + sub.w ip, lr, r4 │ │ │ │ │ + add.w ip, r1, ip, lsl #3 │ │ │ │ │ vldr d4, [ip] │ │ │ │ │ mov.w ip, r4, lsl #4 │ │ │ │ │ - add.w lr, r1, ip │ │ │ │ │ + add.w r8, r1, ip │ │ │ │ │ + vadd.f64 d6, d2, d3 │ │ │ │ │ add ip, r0 │ │ │ │ │ - mul.w r8, r3, r4 │ │ │ │ │ - vstr d8, [sp, #8] │ │ │ │ │ - vldr d5, [lr] │ │ │ │ │ + vsub.f64 d0, d2, d3 │ │ │ │ │ + vldr d5, [r8] │ │ │ │ │ + vstr d0, [sp] │ │ │ │ │ vadd.f64 d7, d4, d5 │ │ │ │ │ - vsub.f64 d4, d4, d5 │ │ │ │ │ - vadd.f64 d1, d6, d7 │ │ │ │ │ - vsub.f64 d7, d6, d7 │ │ │ │ │ + vsub.f64 d2, d4, d5 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + vadd.f64 d3, d6, d7 │ │ │ │ │ + vsub.f64 d1, d6, d7 │ │ │ │ │ vldr d6, [ip] │ │ │ │ │ add ip, r7 │ │ │ │ │ - vstr d4, [sp, #16] │ │ │ │ │ - vstr d7, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d2, [sp, #8] │ │ │ │ │ vldr d7, [ip] │ │ │ │ │ add.w ip, r1, r9 │ │ │ │ │ add r9, r0 │ │ │ │ │ - vstr d1, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d3, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d1, [sp, #64] @ 0x40 │ │ │ │ │ vsub.f64 d0, d6, d7 │ │ │ │ │ - vadd.f64 d6, d6, d7 │ │ │ │ │ - vstr d6, [sp, #64] @ 0x40 │ │ │ │ │ + vadd.f64 d11, d6, d7 │ │ │ │ │ vldr d6, [ip] │ │ │ │ │ - add.w ip, r1, r8 │ │ │ │ │ + add.w ip, r4, r4, lsl #1 │ │ │ │ │ + mov.w r8, ip, lsl #3 │ │ │ │ │ + mov.w ip, ip, lsl #4 │ │ │ │ │ + add.w fp, r1, r8 │ │ │ │ │ add r8, r0 │ │ │ │ │ - vldr d12, [ip] │ │ │ │ │ - mov.w ip, #48 @ 0x30 │ │ │ │ │ - vldr d7, [r8] │ │ │ │ │ - mov.w r8, r4, lsl #5 │ │ │ │ │ - mul.w lr, ip, r4 │ │ │ │ │ - vsub.f64 d3, d6, d12 │ │ │ │ │ - vadd.f64 d12, d6, d12 │ │ │ │ │ - add.w ip, r1, lr │ │ │ │ │ - add lr, r0 │ │ │ │ │ - vstr d3, [sp, #32] │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ - mov.w ip, r4, lsl #3 │ │ │ │ │ - add.w r3, r1, ip │ │ │ │ │ + vstr d11, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d12, [fp] │ │ │ │ │ + add.w fp, r1, ip │ │ │ │ │ add ip, r0 │ │ │ │ │ - vldr d11, [r3] │ │ │ │ │ - vldr d8, [ip] │ │ │ │ │ - vsub.f64 d2, d6, d11 │ │ │ │ │ + vsub.f64 d8, d6, d12 │ │ │ │ │ + vadd.f64 d12, d6, d12 │ │ │ │ │ + vldr d6, [fp] │ │ │ │ │ + add.w fp, r1, lr │ │ │ │ │ + vldr d11, [fp] │ │ │ │ │ + mov.w fp, r6, lsl #5 │ │ │ │ │ + vstr d8, [sp, #24] │ │ │ │ │ + vsub.f64 d7, d6, d11 │ │ │ │ │ vadd.f64 d11, d6, d11 │ │ │ │ │ vldr d6, [r9] │ │ │ │ │ + vstr d7, [sp, #16] │ │ │ │ │ + vldr d7, [r8] │ │ │ │ │ + mov.w r8, r4, lsl #5 │ │ │ │ │ add.w r9, r0, r8 │ │ │ │ │ add r8, r1 │ │ │ │ │ - vsub.f64 d1, d6, d7 │ │ │ │ │ - vadd.f64 d9, d6, d7 │ │ │ │ │ + vsub.f64 d9, d6, d7 │ │ │ │ │ + vadd.f64 d6, d6, d7 │ │ │ │ │ + vstr d6, [sp, #72] @ 0x48 │ │ │ │ │ + vsub.f64 d14, d0, d9 │ │ │ │ │ + vadd.f64 d9, d0, d9 │ │ │ │ │ vldr d6, [r9] │ │ │ │ │ add r9, r7 │ │ │ │ │ add r7, r1 │ │ │ │ │ - vstr d2, [sp, #24] │ │ │ │ │ - vstr d9, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d10, [r7] │ │ │ │ │ - movs r7, #72 @ 0x48 │ │ │ │ │ - vldr d9, [r9] │ │ │ │ │ - mov.w r9, r5, lsl #5 │ │ │ │ │ - mla r7, r7, r4, r1 │ │ │ │ │ - eor.w r4, r4, fp │ │ │ │ │ - vsub.f64 d2, d6, d9 │ │ │ │ │ - vadd.f64 d9, d6, d9 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ + vldr d10, [r9] │ │ │ │ │ + mov.w r9, r6, lsl #2 │ │ │ │ │ vldr d7, [r7] │ │ │ │ │ - mla r7, sl, r5, r2 │ │ │ │ │ - vsub.f64 d4, d6, d10 │ │ │ │ │ + add.w r7, lr, r4 │ │ │ │ │ + add lr, r0 │ │ │ │ │ + add.w r7, r1, r7, lsl #3 │ │ │ │ │ + vstr d14, [sp, #88] @ 0x58 │ │ │ │ │ + eor.w r4, r4, sl │ │ │ │ │ + vldr d8, [lr] │ │ │ │ │ + mov.w lr, r5, lsl #2 │ │ │ │ │ + vsub.f64 d1, d6, d10 │ │ │ │ │ vadd.f64 d10, d6, d10 │ │ │ │ │ vldr d6, [r8] │ │ │ │ │ - vsub.f64 d5, d6, d7 │ │ │ │ │ + add.w r8, r6, r6, lsl #1 │ │ │ │ │ + vsub.f64 d3, d5, d7 │ │ │ │ │ + vadd.f64 d5, d5, d7 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + add.w r7, r9, r6 │ │ │ │ │ + mov.w r8, r8, lsl #4 │ │ │ │ │ + sub.w r9, r6, r9 │ │ │ │ │ + add.w r7, r3, r7, lsl #3 │ │ │ │ │ + vsub.f64 d4, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ - mov.w lr, #48 @ 0x30 │ │ │ │ │ - vsub.f64 d3, d7, d8 │ │ │ │ │ - vsub.f64 d14, d4, d5 │ │ │ │ │ + vldr d7, [ip] │ │ │ │ │ + add.w ip, lr, r5 │ │ │ │ │ + sub.w lr, r5, lr │ │ │ │ │ + add.w ip, r2, ip, lsl #3 │ │ │ │ │ + mov.w lr, lr, lsl #4 │ │ │ │ │ + vsub.f64 d2, d7, d8 │ │ │ │ │ vadd.f64 d7, d7, d8 │ │ │ │ │ - mul.w r8, lr, r6 │ │ │ │ │ - mov.w lr, r6, lsl #5 │ │ │ │ │ - vsub.f64 d8, d2, d3 │ │ │ │ │ - vstr d14, [sp, #80] @ 0x50 │ │ │ │ │ - vsub.f64 d14, d0, d1 │ │ │ │ │ - vadd.f64 d2, d2, d3 │ │ │ │ │ - vadd.f64 d3, d11, d9 │ │ │ │ │ - vadd.f64 d0, d0, d1 │ │ │ │ │ - vstr d8, [sp, #96] @ 0x60 │ │ │ │ │ - vstr d14, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d8, [sp, #32] │ │ │ │ │ - vmov.f64 d1, d3 │ │ │ │ │ - vldr d14, [sp, #24] │ │ │ │ │ - vadd.f64 d3, d12, d7 │ │ │ │ │ + vsub.f64 d8, d3, d4 │ │ │ │ │ + vadd.f64 d4, d3, d4 │ │ │ │ │ + vstr d8, [sp, #80] @ 0x50 │ │ │ │ │ + vsub.f64 d8, d1, d2 │ │ │ │ │ + vadd.f64 d2, d1, d2 │ │ │ │ │ + vadd.f64 d1, d12, d7 │ │ │ │ │ vsub.f64 d7, d7, d12 │ │ │ │ │ - vadd.f64 d12, d4, d5 │ │ │ │ │ - ldr r3, [sp, #4] │ │ │ │ │ + vstr d8, [sp, #96] @ 0x60 │ │ │ │ │ + vadd.f64 d0, d9, d2 │ │ │ │ │ + vldr d8, [sp, #24] │ │ │ │ │ + vldr d14, [sp, #16] │ │ │ │ │ + vstr d9, [sp, #24] │ │ │ │ │ + vstr d0, [sp, #112] @ 0x70 │ │ │ │ │ + vadd.f64 d0, d11, d10 │ │ │ │ │ + vsub.f64 d10, d10, d11 │ │ │ │ │ + vldr d11, [sp, #48] @ 0x30 │ │ │ │ │ vsub.f64 d14, d8, d14 │ │ │ │ │ - vstr d1, [sp, #32] │ │ │ │ │ - vadd.f64 d1, d1, d3 │ │ │ │ │ - mla ip, sl, r6, r3 │ │ │ │ │ - movs r3, #24 │ │ │ │ │ + vadd.f64 d9, d0, d1 │ │ │ │ │ + vstr d0, [sp, #32] │ │ │ │ │ + vadd.f64 d0, d10, d7 │ │ │ │ │ + vsub.f64 d7, d10, d7 │ │ │ │ │ + vldr d10, [sp, #32] │ │ │ │ │ vstr d14, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d14, [sp, #24] │ │ │ │ │ - vstr d12, [sp, #24] │ │ │ │ │ - vstr d1, [sp, #112] @ 0x70 │ │ │ │ │ - vsub.f64 d1, d9, d11 │ │ │ │ │ - vadd.f64 d5, d8, d14 │ │ │ │ │ - vldr d8, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d14, [sp, #16] │ │ │ │ │ + vstr d4, [sp, #16] │ │ │ │ │ + vstr d0, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d0, [sp] │ │ │ │ │ + vadd.f64 d3, d8, d14 │ │ │ │ │ vldr d14, [sp, #72] @ 0x48 │ │ │ │ │ - vadd.f64 d4, d8, d6 │ │ │ │ │ - vsub.f64 d6, d8, d6 │ │ │ │ │ - vadd.f64 d12, d12, d5 │ │ │ │ │ - vstr d5, [sp, #40] @ 0x28 │ │ │ │ │ - vadd.f64 d5, d14, d10 │ │ │ │ │ - vsub.f64 d10, d14, d10 │ │ │ │ │ - vadd.f64 d14, d0, d2 │ │ │ │ │ - vadd.f64 d11, d1, d7 │ │ │ │ │ - vsub.f64 d7, d1, d7 │ │ │ │ │ - vadd.f64 d8, d10, d6 │ │ │ │ │ - vsub.f64 d6, d10, d6 │ │ │ │ │ - vldr d10, [sp, #32] │ │ │ │ │ - vadd.f64 d9, d4, d5 │ │ │ │ │ - vmul.f64 d1, d7, d15 │ │ │ │ │ + vadd.f64 d8, d4, d3 │ │ │ │ │ + vadd.f64 d4, d14, d5 │ │ │ │ │ + vstr d3, [sp, #40] @ 0x28 │ │ │ │ │ + vsub.f64 d5, d14, d5 │ │ │ │ │ + vldr d14, [sp, #112] @ 0x70 │ │ │ │ │ + vadd.f64 d3, d11, d6 │ │ │ │ │ + vsub.f64 d6, d11, d6 │ │ │ │ │ + vmov.f64 d12, d8 │ │ │ │ │ + vstr d8, [sp, #48] @ 0x30 │ │ │ │ │ + vadd.f64 d0, d0, d14 │ │ │ │ │ + vadd.f64 d8, d3, d4 │ │ │ │ │ + vadd.f64 d11, d5, d6 │ │ │ │ │ + vsub.f64 d6, d5, d6 │ │ │ │ │ + vmul.f64 d5, d7, d15 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ - vsub.f64 d5, d4, d5 │ │ │ │ │ - vstr d8, [sp, #64] @ 0x40 │ │ │ │ │ - vmla.f64 d7, d6, d15 │ │ │ │ │ - vldr d8, [sp, #8] │ │ │ │ │ - vsub.f64 d3, d10, d3 │ │ │ │ │ - vnmls.f64 d1, d6, d13 │ │ │ │ │ - vldr d10, [sp, #112] @ 0x70 │ │ │ │ │ - vadd.f64 d8, d8, d14 │ │ │ │ │ - vsub.f64 d6, d9, d10 │ │ │ │ │ - vstr d8, [r7] │ │ │ │ │ - sub.w r7, r7, r5, lsl #3 │ │ │ │ │ - vldr d8, [sp, #16] │ │ │ │ │ - vsub.f64 d8, d8, d12 │ │ │ │ │ - vstr d8, [ip] │ │ │ │ │ - add.w ip, ip, r6, lsl #3 │ │ │ │ │ - vldr d8, [pc, #428] @ 418 │ │ │ │ │ - vstr d1, [ip] │ │ │ │ │ - sub.w ip, ip, lr │ │ │ │ │ - vldr d1, [sp, #48] @ 0x30 │ │ │ │ │ - vmul.f64 d6, d6, d8 │ │ │ │ │ - vstr d7, [ip] │ │ │ │ │ - vmul.f64 d7, d3, d13 │ │ │ │ │ - vmul.f64 d3, d3, d15 │ │ │ │ │ - add ip, r8 │ │ │ │ │ - vmla.f64 d3, d5, d13 │ │ │ │ │ - vnmls.f64 d7, d5, d15 │ │ │ │ │ - vmov.f64 d5, d1 │ │ │ │ │ - vstr d7, [ip] │ │ │ │ │ - sub.w ip, ip, lr │ │ │ │ │ - vadd.f64 d7, d10, d9 │ │ │ │ │ - vldr d9, [sp, #64] @ 0x40 │ │ │ │ │ - mvn.w lr, #47 @ 0x2f │ │ │ │ │ - vstr d3, [ip] │ │ │ │ │ + vsub.f64 d4, d3, d4 │ │ │ │ │ vmov.f64 d3, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vmls.f64 d5, d7, d3 │ │ │ │ │ - vadd.f64 d7, d1, d7 │ │ │ │ │ - vldr d1, [sp, #56] @ 0x38 │ │ │ │ │ - mul.w lr, lr, r5 │ │ │ │ │ - vadd.f64 d4, d6, d5 │ │ │ │ │ - vsub.f64 d5, d5, d6 │ │ │ │ │ - vmov.f64 d6, d1 │ │ │ │ │ - vstr d4, [r7] │ │ │ │ │ - add r7, r9 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - vsub.f64 d7, d9, d11 │ │ │ │ │ - vadd.f64 d11, d11, d9 │ │ │ │ │ - vsub.f64 d4, d0, d2 │ │ │ │ │ + vstr d0, [ip] │ │ │ │ │ + sub.w ip, ip, r5, lsl #3 │ │ │ │ │ + vldr d0, [sp, #8] │ │ │ │ │ + vnmls.f64 d5, d6, d13 │ │ │ │ │ + vmla.f64 d7, d6, d15 │ │ │ │ │ + vsub.f64 d0, d0, d12 │ │ │ │ │ + vstr d0, [r7] │ │ │ │ │ + add.w r7, r7, r6, lsl #3 │ │ │ │ │ + vldr d0, [pc, #416] @ 438 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ - add r7, lr │ │ │ │ │ - vmov.f64 d2, d3 │ │ │ │ │ - vmul.f64 d7, d7, d8 │ │ │ │ │ - vmls.f64 d6, d11, d3 │ │ │ │ │ - vadd.f64 d11, d1, d11 │ │ │ │ │ + sub.w r7, r7, fp │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ + vsub.f64 d7, d10, d1 │ │ │ │ │ + add r7, r8 │ │ │ │ │ + vldr d1, [sp, #64] @ 0x40 │ │ │ │ │ + vmul.f64 d6, d7, d13 │ │ │ │ │ + vmul.f64 d7, d7, d15 │ │ │ │ │ + vnmls.f64 d6, d4, d15 │ │ │ │ │ + vmla.f64 d7, d4, d13 │ │ │ │ │ + vldr d4, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ + sub.w r7, r7, fp │ │ │ │ │ + vmov.f64 d6, d4 │ │ │ │ │ + mov.w fp, r5, lsl #5 │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ + vsub.f64 d7, d8, d9 │ │ │ │ │ + vadd.f64 d9, d9, d8 │ │ │ │ │ + add.w r7, r7, r9, lsl #3 │ │ │ │ │ + vmls.f64 d6, d9, d3 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ + vadd.f64 d9, d4, d9 │ │ │ │ │ + vadd.f64 d5, d7, d6 │ │ │ │ │ + vsub.f64 d6, d6, d7 │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ + add ip, fp │ │ │ │ │ + vstr d9, [r2] │ │ │ │ │ + vstr d6, [ip] │ │ │ │ │ + add ip, lr │ │ │ │ │ + vldr d6, [sp, #120] @ 0x78 │ │ │ │ │ + vadd.f64 d12, d6, d11 │ │ │ │ │ + vsub.f64 d7, d11, d6 │ │ │ │ │ + vmov.f64 d6, d1 │ │ │ │ │ + vmls.f64 d6, d12, d3 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ + vadd.f64 d12, d1, d12 │ │ │ │ │ vldr d1, [sp, #104] @ 0x68 │ │ │ │ │ - vmul.f64 d4, d4, d8 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #80] @ 0x50 │ │ │ │ │ - vstr d5, [r7] │ │ │ │ │ - add.w r7, r7, r5, lsl #6 │ │ │ │ │ - vstr d11, [r7] │ │ │ │ │ - sub.w r7, r7, r9 │ │ │ │ │ - mov.w r9, r5, lsl #4 │ │ │ │ │ - vstr d7, [r7] │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ + add.w ip, ip, r5, lsl #6 │ │ │ │ │ + sub.w fp, ip, fp │ │ │ │ │ + vstr d12, [ip] │ │ │ │ │ + add.w ip, r5, r5, lsl #1 │ │ │ │ │ + vstr d7, [fp] │ │ │ │ │ vmul.f64 d7, d1, d15 │ │ │ │ │ - vldr d5, [sp, #8] │ │ │ │ │ + vldr d6, [sp, #80] @ 0x50 │ │ │ │ │ + add.w ip, fp, ip, lsl #3 │ │ │ │ │ + mov.w fp, r5, lsl #4 │ │ │ │ │ + eor.w r5, r5, sl │ │ │ │ │ + vldr d5, [sp] │ │ │ │ │ + vldr d9, [sp, #24] │ │ │ │ │ vmla.f64 d7, d6, d13 │ │ │ │ │ - vmls.f64 d5, d14, d3 │ │ │ │ │ vmul.f64 d6, d6, d15 │ │ │ │ │ - mla r7, r3, r5, r7 │ │ │ │ │ - ldr r3, [sp, #4] │ │ │ │ │ - eor.w r5, r5, fp │ │ │ │ │ + vmls.f64 d5, d14, d3 │ │ │ │ │ + vsub.f64 d4, d9, d2 │ │ │ │ │ + vmov.f64 d2, d3 │ │ │ │ │ vnmls.f64 d6, d1, d13 │ │ │ │ │ + vldr d1, [sp, #48] @ 0x30 │ │ │ │ │ + vmul.f64 d4, d4, d0 │ │ │ │ │ vadd.f64 d3, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vsub.f64 d4, d3, d7 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ vldr d3, [sp, #96] @ 0x60 │ │ │ │ │ - vstr d4, [r7] │ │ │ │ │ + vstr d4, [ip] │ │ │ │ │ vadd.f64 d4, d6, d5 │ │ │ │ │ - sub.w r7, r7, r9 │ │ │ │ │ + sub.w ip, ip, fp │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ vmul.f64 d6, d3, d15 │ │ │ │ │ - vstr d4, [r7] │ │ │ │ │ - add r7, lr │ │ │ │ │ - vldr d4, [sp, #16] │ │ │ │ │ - vmla.f64 d4, d12, d2 │ │ │ │ │ - vldr d12, [sp, #24] │ │ │ │ │ - vstr d7, [r7] │ │ │ │ │ - add r7, r9 │ │ │ │ │ + vstr d4, [ip] │ │ │ │ │ + add ip, lr │ │ │ │ │ + vldr d4, [sp, #8] │ │ │ │ │ + vstr d7, [ip] │ │ │ │ │ + add ip, fp │ │ │ │ │ vldr d7, [sp, #88] @ 0x58 │ │ │ │ │ - vstr d5, [r7] │ │ │ │ │ - mvn.w r7, #23 │ │ │ │ │ - vmla.f64 d6, d7, d13 │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ + vmla.f64 d4, d1, d2 │ │ │ │ │ vmul.f64 d5, d7, d15 │ │ │ │ │ - vldr d7, [sp, #40] @ 0x28 │ │ │ │ │ - mla ip, r7, r6, ip │ │ │ │ │ - ldr r7, [sp, #120] @ 0x78 │ │ │ │ │ - vsub.f64 d7, d7, d12 │ │ │ │ │ + vmla.f64 d6, d7, d13 │ │ │ │ │ + vldr d7, [sp, #16] │ │ │ │ │ vnmls.f64 d5, d3, d13 │ │ │ │ │ - add r0, r7 │ │ │ │ │ - add r1, r7 │ │ │ │ │ - ldr r7, [sp, #124] @ 0x7c │ │ │ │ │ - vmul.f64 d7, d7, d8 │ │ │ │ │ - add r3, r7 │ │ │ │ │ - str r3, [sp, #4] │ │ │ │ │ - add r2, r7 │ │ │ │ │ - ldr r3, [sp, #244] @ 0xf4 │ │ │ │ │ + vldr d3, [sp, #40] @ 0x28 │ │ │ │ │ + vsub.f64 d7, d3, d7 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ vadd.f64 d3, d4, d7 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - subs r3, #1 │ │ │ │ │ - str r3, [sp, #244] @ 0xf4 │ │ │ │ │ vsub.f64 d4, d3, d6 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ - vstr d4, [ip] │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ vadd.f64 d4, d5, d7 │ │ │ │ │ - add ip, r8 │ │ │ │ │ + add r7, r8 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vstr d4, [ip] │ │ │ │ │ - add.w ip, ip, r6, lsl #4 │ │ │ │ │ - eor.w r6, r6, fp │ │ │ │ │ - vstr d6, [ip] │ │ │ │ │ - sub.w ip, ip, r8 │ │ │ │ │ - vstr d7, [ip] │ │ │ │ │ - bne.w 46 │ │ │ │ │ - b.n 428 │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ + add.w r7, r7, r6, lsl #4 │ │ │ │ │ + eor.w r6, r6, sl │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ + sub.w r7, r7, r8 │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ + ldr r7, [sp, #128] @ 0x80 │ │ │ │ │ + add r0, r7 │ │ │ │ │ + add r1, r7 │ │ │ │ │ + b.n 448 │ │ │ │ │ nop │ │ │ │ │ nop.w │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ - .word 0x0000040e │ │ │ │ │ + .word 0x00000416 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - add sp, #132 @ 0x84 │ │ │ │ │ + ldr r7, [sp, #132] @ 0x84 │ │ │ │ │ + add r2, r7 │ │ │ │ │ + add r3, r7 │ │ │ │ │ + ldr r7, [sp, #252] @ 0xfc │ │ │ │ │ + subs r7, #1 │ │ │ │ │ + str r7, [sp, #252] @ 0xfc │ │ │ │ │ + bne.w 54 │ │ │ │ │ + add sp, #140 @ 0x8c │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -00000434 : │ │ │ │ │ +00000474 : │ │ │ │ │ fftw_codelet_r2cf_20(): │ │ │ │ │ - ldr r2, [pc, #8] @ (440 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (444 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (480 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (484 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cf_25.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 3756 (bytes into file) │ │ │ │ │ + Start of section headers: 3824 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0xeac: │ │ │ │ │ +There are 13 section headers, starting at offset 0xef0: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000bc0 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000e04 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000bf4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000bf4 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000bf4 000008 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 000bfc 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000e2c 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 000c2c 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000c2c 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 000c60 000120 10 11 13 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 000d80 000081 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000e3c 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000c04 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000e48 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000c38 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000c38 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000c38 000008 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 000c40 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000e70 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 000c70 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000c70 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 000ca4 000120 10 11 13 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 000dc4 000081 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000e80 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,21 +1,21 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 18 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 2986 FUNC LOCAL DEFAULT 1 r2cf_25 │ │ │ │ │ + 1: 00000001 3056 FUNC LOCAL DEFAULT 1 r2cf_25 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000430 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000440 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 4: 000004e0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000008d8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000a08 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00000bb8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 5: 000008d0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000a10 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00000bfc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 15: 00000bad 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_25 │ │ │ │ │ + 15: 00000bf1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_25 │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xe04 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xe48 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 000004d8 00000d19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 000004dc 00000e1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000bb8 00000a03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000bbc 00000103 R_ARM_REL32 00000001 r2cf_25 │ │ │ │ │ -00000bb4 0000101e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +00000bfc 00000a03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000c00 00000103 R_ARM_REL32 00000001 r2cf_25 │ │ │ │ │ +00000bf8 0000101e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xe2c contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xe70 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00001102 R_ARM_ABS32 00000000 fftw_rdft_r2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,300 +1,298 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cf_25(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov sl, r3 │ │ │ │ │ - ldr.w r3, [pc, #1232] @ 4d8 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #252 @ 0xfc │ │ │ │ │ - add r3, pc │ │ │ │ │ - ldr r7, [sp, #364] @ 0x16c │ │ │ │ │ - ldrd r4, r5, [sp, #352] @ 0x160 │ │ │ │ │ - cmp r7, #0 │ │ │ │ │ - ldr r6, [sp, #360] @ 0x168 │ │ │ │ │ - ble.w ba0 │ │ │ │ │ - ldr r7, [sp, #368] @ 0x170 │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ - str r7, [sp, #236] @ 0xec │ │ │ │ │ - ldr r7, [sp, #372] @ 0x174 │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ - str r7, [sp, #240] @ 0xf0 │ │ │ │ │ - ldr.w r7, [pc, #1196] @ 4dc │ │ │ │ │ - ldr r3, [r3, r7] │ │ │ │ │ - str r2, [sp, #232] @ 0xe8 │ │ │ │ │ - ldr r3, [r3, #0] │ │ │ │ │ - str r3, [sp, #244] @ 0xf4 │ │ │ │ │ - mov.w ip, #40 @ 0x28 │ │ │ │ │ - mov.w lr, #56 @ 0x38 │ │ │ │ │ - vldr d8, [pc, #1004] @ 430 │ │ │ │ │ - add.w r8, r1, r4, lsl #3 │ │ │ │ │ - vldr d0, [pc, #1004] @ 438 │ │ │ │ │ - mov.w r9, #88 @ 0x58 │ │ │ │ │ - mul.w r7, ip, r4 │ │ │ │ │ - vldr d13, [pc, #1000] @ 440 │ │ │ │ │ - mla lr, lr, r4, r1 │ │ │ │ │ + ldr.w r7, [pc, #1212] @ 4d8 │ │ │ │ │ + ldrd r6, r4, [sp, #360] @ 0x168 │ │ │ │ │ + ldrd lr, r5, [sp, #352] @ 0x160 │ │ │ │ │ + add r7, pc │ │ │ │ │ + cmp r4, #0 │ │ │ │ │ + ble.w bd4 │ │ │ │ │ + ldr r4, [sp, #368] @ 0x170 │ │ │ │ │ + ldr.w ip, [pc, #1192] @ 4dc │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + str r4, [sp, #236] @ 0xec │ │ │ │ │ + ldr r4, [sp, #372] @ 0x174 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + str r4, [sp, #240] @ 0xf0 │ │ │ │ │ + ldr.w r7, [r7, ip] │ │ │ │ │ + ldr r4, [r7, #0] │ │ │ │ │ + str r4, [sp, #244] @ 0xf4 │ │ │ │ │ + mov r4, lr │ │ │ │ │ + mov.w ip, r4, lsl #2 │ │ │ │ │ + vldr d8, [pc, #1004] @ 440 │ │ │ │ │ vmov.f64 d12, #80 @ 0x3e800000 0.250 │ │ │ │ │ - adds r3, r0, r7 │ │ │ │ │ - mla r9, r9, r4, r1 │ │ │ │ │ + mov.w r8, r4, lsl #3 │ │ │ │ │ + add.w r9, ip, r4 │ │ │ │ │ + vldr d0, [pc, #996] @ 448 │ │ │ │ │ + sub.w ip, r4, ip │ │ │ │ │ + mov.w lr, r9, lsl #3 │ │ │ │ │ + sub.w sl, r8, r4 │ │ │ │ │ + add.w sl, r1, sl, lsl #3 │ │ │ │ │ + vldr d13, [pc, #984] @ 450 │ │ │ │ │ + add.w r7, r0, lr │ │ │ │ │ + mov.w ip, ip, lsl #4 │ │ │ │ │ + mov.w r9, r9, lsl #4 │ │ │ │ │ vldr d10, [r0] │ │ │ │ │ - mov.w fp, r6, lsl #3 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - add r3, r7 │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ - add.w lr, r1, r4, lsl #4 │ │ │ │ │ - vldr d3, [r9] │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + add r7, lr │ │ │ │ │ + vldr d7, [sl] │ │ │ │ │ + add.w sl, r1, r4, lsl #4 │ │ │ │ │ vmov.f64 d15, d10 │ │ │ │ │ + vldr d4, [sl] │ │ │ │ │ + add.w sl, r1, r8 │ │ │ │ │ + add r8, r4 │ │ │ │ │ + add.w r8, r1, r8, lsl #3 │ │ │ │ │ vadd.f64 d6, d5, d7 │ │ │ │ │ - vldr d4, [lr] │ │ │ │ │ vsub.f64 d7, d5, d7 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - mov.w lr, #80 @ 0x50 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + add r7, ip │ │ │ │ │ vadd.f64 d11, d4, d5 │ │ │ │ │ vsub.f64 d4, d4, d5 │ │ │ │ │ - vmul.f64 d5, d7, d8 │ │ │ │ │ vstr d7, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d7, [pc, #924] @ 448 │ │ │ │ │ - mul.w lr, lr, r4 │ │ │ │ │ - vldr d8, [pc, #924] @ 450 │ │ │ │ │ + vmul.f64 d5, d7, d8 │ │ │ │ │ + vldr d7, [pc, #912] @ 458 │ │ │ │ │ + vldr d8, [pc, #916] @ 460 │ │ │ │ │ vmla.f64 d5, d4, d0 │ │ │ │ │ vstr d4, [sp, #88] @ 0x58 │ │ │ │ │ vmov.f64 d0, d7 │ │ │ │ │ vstr d5, [sp, #192] @ 0xc0 │ │ │ │ │ vsub.f64 d5, d11, d6 │ │ │ │ │ vadd.f64 d11, d6, d11 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + add r7, lr │ │ │ │ │ + vldr d1, [r7] │ │ │ │ │ + add r7, ip │ │ │ │ │ vmul.f64 d14, d5, d7 │ │ │ │ │ - vldr d5, [r8] │ │ │ │ │ - mvn.w r8, #47 @ 0x2f │ │ │ │ │ + vldr d5, [sl] │ │ │ │ │ + mov.w sl, #88 @ 0x58 │ │ │ │ │ vmls.f64 d15, d11, d12 │ │ │ │ │ vadd.f64 d10, d10, d11 │ │ │ │ │ - mul.w r8, r8, r4 │ │ │ │ │ - add r3, r8 │ │ │ │ │ - sub.w r9, r1, r8 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - add r3, r7 │ │ │ │ │ - vldr d4, [r9] │ │ │ │ │ - add.w r9, r1, lr │ │ │ │ │ - vadd.f64 d11, d14, d15 │ │ │ │ │ - vldr d1, [r3] │ │ │ │ │ + mla sl, sl, r4, r1 │ │ │ │ │ + vldr d3, [sl] │ │ │ │ │ + sub.w sl, r1, ip │ │ │ │ │ + vldr d4, [sl] │ │ │ │ │ + add.w sl, r1, r9 │ │ │ │ │ vadd.f64 d7, d6, d3 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ - add r3, r8 │ │ │ │ │ + vadd.f64 d11, d14, d15 │ │ │ │ │ vadd.f64 d2, d4, d1 │ │ │ │ │ vsub.f64 d4, d4, d1 │ │ │ │ │ vadd.f64 d3, d7, d2 │ │ │ │ │ vmul.f64 d1, d4, d8 │ │ │ │ │ - vmla.f64 d1, d6, d13 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ + vmla.f64 d1, d6, d13 │ │ │ │ │ vmul.f64 d6, d6, d8 │ │ │ │ │ vadd.f64 d9, d5, d3 │ │ │ │ │ vmls.f64 d5, d3, d12 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ vnmls.f64 d6, d4, d13 │ │ │ │ │ vstr d1, [sp, #128] @ 0x80 │ │ │ │ │ vsub.f64 d3, d5, d7 │ │ │ │ │ vadd.f64 d4, d7, d5 │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ - vstr d6, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - add r3, r7 │ │ │ │ │ vstr d3, [sp] │ │ │ │ │ - vldr d3, [r9] │ │ │ │ │ - add.w r9, r1, r7 │ │ │ │ │ - vldr d1, [r3] │ │ │ │ │ - add r3, r8 │ │ │ │ │ + vldr d3, [sl] │ │ │ │ │ + add.w sl, r1, lr │ │ │ │ │ + vstr d6, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + add r7, lr │ │ │ │ │ vstr d4, [sp, #24] │ │ │ │ │ - vldr d4, [r9] │ │ │ │ │ + vldr d1, [r7] │ │ │ │ │ + add r7, ip │ │ │ │ │ + vldr d4, [sl] │ │ │ │ │ + add.w sl, r1, r4, lsl #5 │ │ │ │ │ vadd.f64 d7, d6, d3 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ - add.w r9, r1, r4, lsl #5 │ │ │ │ │ vadd.f64 d2, d4, d1 │ │ │ │ │ vsub.f64 d4, d4, d1 │ │ │ │ │ vadd.f64 d3, d7, d2 │ │ │ │ │ vmul.f64 d1, d4, d8 │ │ │ │ │ + vsub.f64 d7, d7, d2 │ │ │ │ │ vmla.f64 d1, d6, d13 │ │ │ │ │ vmul.f64 d6, d6, d8 │ │ │ │ │ - vsub.f64 d7, d7, d2 │ │ │ │ │ vadd.f64 d0, d5, d3 │ │ │ │ │ vmls.f64 d5, d3, d12 │ │ │ │ │ vmov.f64 d12, d8 │ │ │ │ │ vstr d0, [sp, #96] @ 0x60 │ │ │ │ │ vmov.f64 d0, d6 │ │ │ │ │ - vldr d6, [pc, #672] @ 448 │ │ │ │ │ - vmul.f64 d7, d7, d6 │ │ │ │ │ + vldr d6, [pc, #660] @ 458 │ │ │ │ │ vnmls.f64 d0, d4, d13 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - add r3, lr │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + add r7, r9 │ │ │ │ │ + vmul.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d2, d7, d5 │ │ │ │ │ vsub.f64 d7, d5, d7 │ │ │ │ │ - vldr d5, [r9] │ │ │ │ │ - mov.w r9, #72 @ 0x48 │ │ │ │ │ + vldr d5, [sl] │ │ │ │ │ + mov.w sl, r6, lsl #3 │ │ │ │ │ vstr d2, [sp, #32] │ │ │ │ │ - mla r9, r9, r4, r1 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ - subs r3, r3, r7 │ │ │ │ │ + vldr d2, [r7] │ │ │ │ │ + sub.w r7, r7, lr │ │ │ │ │ vstr d7, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d3, [r7] │ │ │ │ │ + add r7, ip │ │ │ │ │ + add.w ip, r4, r4, lsl #1 │ │ │ │ │ vstr d0, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d7, [r8] │ │ │ │ │ + add.w ip, r1, ip, lsl #3 │ │ │ │ │ + add.w r8, r6, r6, lsl #2 │ │ │ │ │ vadd.f64 d6, d5, d2 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ - vldr d7, [r9] │ │ │ │ │ - mov.w r9, #24 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - add r3, r8 │ │ │ │ │ - mla r8, r9, r4, r1 │ │ │ │ │ + mov.w r8, r8, lsl #3 │ │ │ │ │ vadd.f64 d0, d3, d7 │ │ │ │ │ vsub.f64 d3, d3, d7 │ │ │ │ │ vmul.f64 d7, d3, d8 │ │ │ │ │ vadd.f64 d2, d6, d0 │ │ │ │ │ + vsub.f64 d6, d6, d0 │ │ │ │ │ vmla.f64 d7, d5, d13 │ │ │ │ │ vmul.f64 d5, d5, d8 │ │ │ │ │ - vsub.f64 d6, d6, d0 │ │ │ │ │ vnmls.f64 d5, d3, d13 │ │ │ │ │ - vldr d3, [pc, #556] @ 448 │ │ │ │ │ - vmul.f64 d6, d6, d3 │ │ │ │ │ + vldr d3, [pc, #540] @ 458 │ │ │ │ │ vstr d7, [sp, #104] @ 0x68 │ │ │ │ │ vadd.f64 d7, d4, d2 │ │ │ │ │ + vmul.f64 d6, d6, d3 │ │ │ │ │ vstr d5, [sp, #48] @ 0x30 │ │ │ │ │ vmov.f64 d5, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - add r3, lr │ │ │ │ │ + vldr d3, [r7] │ │ │ │ │ + add r7, r9 │ │ │ │ │ + mov.w r9, r5, lsl #3 │ │ │ │ │ vmls.f64 d4, d2, d5 │ │ │ │ │ - vldr d5, [r8] │ │ │ │ │ - mul.w lr, ip, r6 │ │ │ │ │ - mul.w ip, ip, r5 │ │ │ │ │ - add.w r8, sl, lr │ │ │ │ │ + vldr d5, [ip] │ │ │ │ │ + mvn.w ip, #71 @ 0x47 │ │ │ │ │ vsub.f64 d0, d4, d6 │ │ │ │ │ vadd.f64 d2, d6, d4 │ │ │ │ │ vstr d0, [sp, #8] │ │ │ │ │ - vldr d0, [r3] │ │ │ │ │ - subs r3, r3, r7 │ │ │ │ │ + vldr d0, [r7] │ │ │ │ │ + sub.w r7, r7, lr │ │ │ │ │ + add.w lr, r5, r5, lsl #2 │ │ │ │ │ vstr d2, [sp, #56] @ 0x38 │ │ │ │ │ - lsls r7, r5, #3 │ │ │ │ │ - mov r2, r7 │ │ │ │ │ - mvn.w r7, #71 @ 0x47 │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ - add.w r3, r1, r4, lsl #6 │ │ │ │ │ + vldr d2, [r7] │ │ │ │ │ + add.w r7, r1, r4, lsl #6 │ │ │ │ │ + mov.w lr, lr, lsl #3 │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + add.w r7, r3, r8 │ │ │ │ │ + add.w fp, r2, lr │ │ │ │ │ vadd.f64 d6, d5, d0 │ │ │ │ │ vsub.f64 d5, d5, d0 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - ldr r3, [sp, #232] @ 0xe8 │ │ │ │ │ vadd.f64 d8, d2, d4 │ │ │ │ │ vsub.f64 d2, d2, d4 │ │ │ │ │ vmul.f64 d4, d2, d12 │ │ │ │ │ vadd.f64 d0, d6, d8 │ │ │ │ │ + vsub.f64 d6, d6, d8 │ │ │ │ │ vmla.f64 d4, d5, d13 │ │ │ │ │ vmul.f64 d5, d5, d12 │ │ │ │ │ vmov.f64 d12, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vsub.f64 d6, d6, d8 │ │ │ │ │ vnmls.f64 d5, d2, d13 │ │ │ │ │ - vldr d13, [pc, #420] @ 448 │ │ │ │ │ - vmul.f64 d6, d6, d13 │ │ │ │ │ - vldr d13, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d13, [pc, #396] @ 458 │ │ │ │ │ vstr d4, [sp, #64] @ 0x40 │ │ │ │ │ vadd.f64 d4, d3, d0 │ │ │ │ │ vmls.f64 d3, d0, d12 │ │ │ │ │ - vldr d0, [pc, #380] @ 438 │ │ │ │ │ - vstr d14, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d14, [pc, #404] @ 458 │ │ │ │ │ + vmul.f64 d6, d6, d13 │ │ │ │ │ + vldr d13, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d0, [pc, #356] @ 448 │ │ │ │ │ vstr d5, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d14, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d14, [pc, #376] @ 468 │ │ │ │ │ vsub.f64 d8, d3, d6 │ │ │ │ │ vadd.f64 d2, d6, d3 │ │ │ │ │ vsub.f64 d6, d4, d9 │ │ │ │ │ vsub.f64 d3, d7, d13 │ │ │ │ │ vadd.f64 d4, d9, d4 │ │ │ │ │ vadd.f64 d7, d13, d7 │ │ │ │ │ - vldr d13, [pc, #356] @ 448 │ │ │ │ │ - vstr d8, [sp, #16] │ │ │ │ │ - vldr d8, [pc, #324] @ 430 │ │ │ │ │ + vldr d13, [pc, #332] @ 458 │ │ │ │ │ vldr d9, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d8, [sp, #16] │ │ │ │ │ + vldr d8, [pc, #296] @ 440 │ │ │ │ │ vmul.f64 d5, d6, d8 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ + vnmls.f64 d5, d3, d0 │ │ │ │ │ vmla.f64 d6, d3, d8 │ │ │ │ │ + vldr d0, [pc, #324] @ 470 │ │ │ │ │ vldr d8, [sp, #104] @ 0x68 │ │ │ │ │ - vnmls.f64 d5, d3, d0 │ │ │ │ │ - vldr d0, [pc, #344] @ 460 │ │ │ │ │ - vldr d3, [pc, #348] @ 468 │ │ │ │ │ - vstr d5, [r8] │ │ │ │ │ - add r8, lr │ │ │ │ │ - vstr d6, [r8] │ │ │ │ │ + vldr d3, [pc, #324] @ 478 │ │ │ │ │ + vstr d5, [r7] │ │ │ │ │ + add r7, r8 │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ vsub.f64 d6, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vmul.f64 d6, d6, d13 │ │ │ │ │ - vldr d13, [sp, #32] │ │ │ │ │ + mla r7, ip, r6, r7 │ │ │ │ │ vadd.f64 d5, d10, d7 │ │ │ │ │ vmls.f64 d10, d7, d12 │ │ │ │ │ - vldr d12, [pc, #316] @ 470 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - add r3, ip │ │ │ │ │ + vldr d12, [pc, #300] @ 480 │ │ │ │ │ + vmul.f64 d6, d6, d13 │ │ │ │ │ + vldr d13, [sp, #32] │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ vadd.f64 d7, d6, d10 │ │ │ │ │ vsub.f64 d10, d10, d6 │ │ │ │ │ - vldr d6, [pc, #308] @ 478 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ + vldr d6, [pc, #284] @ 488 │ │ │ │ │ + vstr d7, [fp] │ │ │ │ │ vmul.f64 d7, d13, d14 │ │ │ │ │ - add r3, ip │ │ │ │ │ - vstr d10, [r3] │ │ │ │ │ + add fp, lr │ │ │ │ │ + vstr d10, [fp] │ │ │ │ │ + mla fp, ip, r5, fp │ │ │ │ │ + add.w ip, r5, r5, lsl #1 │ │ │ │ │ + add.w ip, fp, ip, lsl #3 │ │ │ │ │ vmov.f64 d10, d7 │ │ │ │ │ - vldr d7, [pc, #292] @ 480 │ │ │ │ │ - mla r3, r7, r5, r3 │ │ │ │ │ - mla r7, r7, r6, r8 │ │ │ │ │ + vldr d7, [pc, #256] @ 490 │ │ │ │ │ vmla.f64 d10, d1, d7 │ │ │ │ │ vmul.f64 d7, d9, d0 │ │ │ │ │ + vldr d0, [pc, #252] @ 498 │ │ │ │ │ vmla.f64 d7, d8, d6 │ │ │ │ │ - vldr d0, [pc, #276] @ 488 │ │ │ │ │ vldr d6, [sp, #128] @ 0x80 │ │ │ │ │ vstr d10, [sp, #104] @ 0x68 │ │ │ │ │ vsub.f64 d5, d10, d7 │ │ │ │ │ + vldr d10, [sp, #24] │ │ │ │ │ vstr d7, [sp, #112] @ 0x70 │ │ │ │ │ vmul.f64 d7, d2, d3 │ │ │ │ │ - vldr d10, [sp, #24] │ │ │ │ │ vldr d3, [sp, #64] @ 0x40 │ │ │ │ │ vstr d5, [sp, #120] @ 0x78 │ │ │ │ │ vmov.f64 d4, d7 │ │ │ │ │ vmul.f64 d7, d10, d12 │ │ │ │ │ - vldr d5, [pc, #240] @ 490 │ │ │ │ │ + vldr d5, [pc, #212] @ 4a0 │ │ │ │ │ vmla.f64 d4, d3, d0 │ │ │ │ │ vmov.f64 d0, d7 │ │ │ │ │ vmla.f64 d0, d6, d5 │ │ │ │ │ - vldr d5, [pc, #232] @ 498 │ │ │ │ │ + vldr d5, [pc, #204] @ 4a8 │ │ │ │ │ vstr d4, [sp, #128] @ 0x80 │ │ │ │ │ vadd.f64 d12, d4, d0 │ │ │ │ │ vstr d0, [sp, #136] @ 0x88 │ │ │ │ │ vmov.f64 d0, d13 │ │ │ │ │ vstr d12, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d12, [pc, #216] @ 4a0 │ │ │ │ │ + vldr d12, [pc, #188] @ 4b0 │ │ │ │ │ vmul.f64 d7, d13, d12 │ │ │ │ │ vmov.f64 d13, d7 │ │ │ │ │ vnmls.f64 d13, d1, d5 │ │ │ │ │ vmov.f64 d5, d9 │ │ │ │ │ - vldr d9, [pc, #204] @ 4a8 │ │ │ │ │ + vldr d9, [pc, #176] @ 4b8 │ │ │ │ │ vmov.f64 d4, d13 │ │ │ │ │ - vldr d13, [pc, #204] @ 4b0 │ │ │ │ │ - vmul.f64 d7, d8, d13 │ │ │ │ │ - vldr d13, [pc, #204] @ 4b8 │ │ │ │ │ + vldr d13, [pc, #176] @ 4c0 │ │ │ │ │ vstr d4, [sp, #152] @ 0x98 │ │ │ │ │ + vmul.f64 d7, d8, d13 │ │ │ │ │ + vldr d13, [pc, #172] @ 4c8 │ │ │ │ │ vnmls.f64 d7, d5, d9 │ │ │ │ │ vadd.f64 d9, d4, d7 │ │ │ │ │ vstr d7, [sp, #160] @ 0xa0 │ │ │ │ │ vmul.f64 d7, d2, d13 │ │ │ │ │ vmov.f64 d13, d3 │ │ │ │ │ - vldr d3, [pc, #184] @ 4c0 │ │ │ │ │ + vldr d3, [pc, #156] @ 4d0 │ │ │ │ │ vmov.f64 d4, d10 │ │ │ │ │ vnmls.f64 d7, d13, d3 │ │ │ │ │ - vldr d3, [pc, #180] @ 4c8 │ │ │ │ │ - vstr d7, [sp, #168] @ 0xa8 │ │ │ │ │ - vmul.f64 d7, d10, d3 │ │ │ │ │ - vmov.f64 d3, d6 │ │ │ │ │ - vldr d6, [pc, #172] @ 4d0 │ │ │ │ │ - vmov.f64 d10, d7 │ │ │ │ │ b.n 4e0 │ │ │ │ │ nop │ │ │ │ │ - nop.w │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fde6f0e │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ @@ -325,296 +323,294 @@ │ │ │ │ │ .word 0x3fe8a80b │ │ │ │ │ .word 0xfeb501bc │ │ │ │ │ .word 0x3ff465c6 │ │ │ │ │ .word 0xc925819c │ │ │ │ │ .word 0x3fdb3ff7 │ │ │ │ │ .word 0xdcdc158c │ │ │ │ │ .word 0x3ffcf457 │ │ │ │ │ - .word 0x5480d903 │ │ │ │ │ - .word 0x3fefbf67 │ │ │ │ │ - .word 0x5da15be0 │ │ │ │ │ - .word 0x3fd00aeb │ │ │ │ │ - .word 0x000004c4 │ │ │ │ │ + .word 0x000004ae │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - vldr d7, [pc, #1012] @ 8d8 │ │ │ │ │ - vmul.f64 d7, d0, d7 │ │ │ │ │ + vldr d3, [pc, #1004] @ 8d0 │ │ │ │ │ + vstr d7, [sp, #168] @ 0xa8 │ │ │ │ │ + vmul.f64 d7, d10, d3 │ │ │ │ │ + vmov.f64 d3, d6 │ │ │ │ │ + vldr d6, [pc, #996] @ 8d8 │ │ │ │ │ + vmov.f64 d10, d7 │ │ │ │ │ + vldr d7, [pc, #996] @ 8e0 │ │ │ │ │ vnmls.f64 d10, d3, d6 │ │ │ │ │ vldr d6, [sp, #168] @ 0xa8 │ │ │ │ │ + vmul.f64 d7, d0, d7 │ │ │ │ │ vstr d10, [sp, #176] @ 0xb0 │ │ │ │ │ vadd.f64 d10, d6, d10 │ │ │ │ │ - vldr d6, [pc, #996] @ 8e0 │ │ │ │ │ + vldr d6, [pc, #980] @ 8e8 │ │ │ │ │ + vstr d10, [sp, #184] @ 0xb8 │ │ │ │ │ vmla.f64 d7, d1, d6 │ │ │ │ │ vmul.f64 d6, d5, d12 │ │ │ │ │ - vldr d5, [pc, #992] @ 8e8 │ │ │ │ │ + vldr d5, [pc, #972] @ 8f0 │ │ │ │ │ vmov.f64 d12, d8 │ │ │ │ │ - vstr d10, [sp, #184] @ 0xb8 │ │ │ │ │ vmla.f64 d6, d8, d5 │ │ │ │ │ - vldr d8, [pc, #984] @ 8f0 │ │ │ │ │ + vldr d8, [pc, #968] @ 8f8 │ │ │ │ │ vmul.f64 d5, d2, d8 │ │ │ │ │ - vldr d8, [pc, #984] @ 8f8 │ │ │ │ │ + vldr d8, [pc, #968] @ 900 │ │ │ │ │ + vadd.f64 d10, d7, d6 │ │ │ │ │ vmla.f64 d5, d13, d8 │ │ │ │ │ - vldr d13, [pc, #984] @ 900 │ │ │ │ │ vsub.f64 d8, d6, d7 │ │ │ │ │ - vadd.f64 d10, d7, d6 │ │ │ │ │ - vldr d7, [pc, #980] @ 908 │ │ │ │ │ + vldr d7, [pc, #960] @ 908 │ │ │ │ │ + vldr d13, [pc, #964] @ 910 │ │ │ │ │ + vstr d8, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d8, [pc, #964] @ 918 │ │ │ │ │ vmul.f64 d4, d4, d13 │ │ │ │ │ vmov.f64 d13, d3 │ │ │ │ │ - vldr d3, [pc, #976] @ 910 │ │ │ │ │ - vstr d8, [sp, #224] @ 0xe0 │ │ │ │ │ - vldr d8, [pc, #976] @ 918 │ │ │ │ │ - vmla.f64 d4, d13, d3 │ │ │ │ │ + vldr d3, [pc, #960] @ 920 │ │ │ │ │ vmul.f64 d8, d1, d8 │ │ │ │ │ vldr d1, [sp, #32] │ │ │ │ │ + vmla.f64 d4, d13, d3 │ │ │ │ │ vnmls.f64 d8, d1, d7 │ │ │ │ │ - vldr d1, [pc, #964] @ 920 │ │ │ │ │ + vldr d1, [pc, #948] @ 928 │ │ │ │ │ vldr d7, [sp, #64] @ 0x40 │ │ │ │ │ - vadd.f64 d3, d5, d4 │ │ │ │ │ - vsub.f64 d5, d4, d5 │ │ │ │ │ vmul.f64 d6, d12, d1 │ │ │ │ │ vldr d1, [sp, #56] @ 0x38 │ │ │ │ │ + vadd.f64 d3, d5, d4 │ │ │ │ │ + vsub.f64 d5, d4, d5 │ │ │ │ │ vldr d12, [sp, #192] @ 0xc0 │ │ │ │ │ - vstr d5, [sp, #216] @ 0xd8 │ │ │ │ │ - vadd.f64 d0, d10, d3 │ │ │ │ │ vnmls.f64 d6, d1, d14 │ │ │ │ │ - vldr d1, [pc, #932] @ 928 │ │ │ │ │ - vldr d14, [pc, #936] @ 930 │ │ │ │ │ + vldr d1, [pc, #924] @ 930 │ │ │ │ │ + vadd.f64 d0, d10, d3 │ │ │ │ │ + vstr d5, [sp, #216] @ 0xd8 │ │ │ │ │ vsub.f64 d3, d3, d10 │ │ │ │ │ vmov.f64 d10, d11 │ │ │ │ │ + vldr d14, [pc, #912] @ 938 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [pc, #928] @ 938 │ │ │ │ │ - vnmls.f64 d7, d2, d1 │ │ │ │ │ - vldr d2, [pc, #928] @ 940 │ │ │ │ │ + vldr d1, [pc, #912] @ 940 │ │ │ │ │ vadd.f64 d5, d8, d6 │ │ │ │ │ vsub.f64 d6, d6, d8 │ │ │ │ │ vldr d8, [sp, #184] @ 0xb8 │ │ │ │ │ + vnmls.f64 d7, d2, d1 │ │ │ │ │ + vldr d2, [pc, #900] @ 948 │ │ │ │ │ vmul.f64 d4, d13, d2 │ │ │ │ │ vldr d2, [sp, #24] │ │ │ │ │ vldr d13, [sp, #120] @ 0x78 │ │ │ │ │ vnmls.f64 d4, d2, d14 │ │ │ │ │ vldr d14, [sp, #176] @ 0xb0 │ │ │ │ │ vadd.f64 d2, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ vadd.f64 d1, d5, d2 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ vadd.f64 d4, d11, d1 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ + vstr d4, [fp] │ │ │ │ │ vadd.f64 d4, d12, d0 │ │ │ │ │ - mla r3, r9, r5, r3 │ │ │ │ │ + add.w fp, r6, r6, lsl #1 │ │ │ │ │ vneg.f64 d4, d4 │ │ │ │ │ vstr d4, [r7] │ │ │ │ │ vadd.f64 d4, d11, d13 │ │ │ │ │ + add.w r7, r7, fp, lsl #3 │ │ │ │ │ vldr d13, [sp, #168] @ 0xa8 │ │ │ │ │ - mla r7, r9, r6, r7 │ │ │ │ │ vadd.f64 d4, d4, d8 │ │ │ │ │ vldr d8, [sp, #144] @ 0x90 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ + vstr d4, [ip] │ │ │ │ │ vadd.f64 d4, d12, d9 │ │ │ │ │ - add r3, ip │ │ │ │ │ + add ip, lr │ │ │ │ │ vsub.f64 d4, d4, d8 │ │ │ │ │ vsub.f64 d8, d14, d13 │ │ │ │ │ vldr d14, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d13, [pc, #980] @ 9e8 │ │ │ │ │ + vldr d13, [pc, #964] @ 9f0 │ │ │ │ │ vstr d4, [r7] │ │ │ │ │ - add r7, lr │ │ │ │ │ + add r7, r8 │ │ │ │ │ vmul.f64 d4, d14, d13 │ │ │ │ │ - vldr d14, [pc, #988] @ a00 │ │ │ │ │ + vldr d14, [pc, #972] @ a08 │ │ │ │ │ vmla.f64 d4, d8, d14 │ │ │ │ │ - vldr d14, [pc, #948] @ 9e0 │ │ │ │ │ + vldr d14, [pc, #932] @ 9e8 │ │ │ │ │ vmov.f64 d8, d12 │ │ │ │ │ vmla.f64 d8, d9, d14 │ │ │ │ │ vldr d9, [sp, #104] @ 0x68 │ │ │ │ │ vadd.f64 d4, d4, d8 │ │ │ │ │ vldr d8, [sp, #112] @ 0x70 │ │ │ │ │ vadd.f64 d8, d9, d8 │ │ │ │ │ - vldr d9, [pc, #936] @ 9f0 │ │ │ │ │ + vldr d9, [pc, #920] @ 9f8 │ │ │ │ │ vmls.f64 d4, d8, d9 │ │ │ │ │ - vldr d9, [sp, #160] @ 0xa0 │ │ │ │ │ vldr d8, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d9, [sp, #160] @ 0xa0 │ │ │ │ │ vsub.f64 d8, d8, d9 │ │ │ │ │ vldr d9, [sp, #136] @ 0x88 │ │ │ │ │ vstr d4, [r7] │ │ │ │ │ add.w r7, r7, r6, lsl #4 │ │ │ │ │ vldr d4, [sp, #128] @ 0x80 │ │ │ │ │ vsub.f64 d4, d9, d4 │ │ │ │ │ - vldr d9, [pc, #912] @ a00 │ │ │ │ │ + vldr d9, [pc, #896] @ a08 │ │ │ │ │ vmul.f64 d4, d4, d9 │ │ │ │ │ - vldr d9, [pc, #888] @ 9f0 │ │ │ │ │ + vldr d9, [pc, #872] @ 9f8 │ │ │ │ │ vmla.f64 d4, d8, d9 │ │ │ │ │ vldr d9, [sp, #120] @ 0x78 │ │ │ │ │ vmov.f64 d8, d11 │ │ │ │ │ vmla.f64 d8, d9, d14 │ │ │ │ │ - vldr d9, [pc, #884] @ a00 │ │ │ │ │ + vldr d9, [pc, #868] @ a08 │ │ │ │ │ vadd.f64 d4, d4, d8 │ │ │ │ │ vldr d8, [sp, #184] @ 0xb8 │ │ │ │ │ vmls.f64 d4, d8, d13 │ │ │ │ │ - vldr d8, [pc, #852] @ 9f0 │ │ │ │ │ - vldr d13, [pc, #856] @ 9f8 │ │ │ │ │ + vldr d8, [pc, #836] @ 9f8 │ │ │ │ │ + vldr d13, [pc, #840] @ a00 │ │ │ │ │ vmul.f64 d3, d3, d13 │ │ │ │ │ vmul.f64 d5, d5, d13 │ │ │ │ │ - vldr d13, [pc, #668] @ 948 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ + vldr d13, [pc, #652] @ 950 │ │ │ │ │ + vstr d4, [ip] │ │ │ │ │ vmov.f64 d4, d12 │ │ │ │ │ vmov.f64 d12, #80 @ 0x3e800000 0.250 │ │ │ │ │ - add.w r3, r3, r5, lsl #4 │ │ │ │ │ - vmls.f64 d10, d1, d12 │ │ │ │ │ - vldr d1, [pc, #588] @ 910 │ │ │ │ │ + add.w ip, ip, r5, lsl #4 │ │ │ │ │ vnmls.f64 d4, d0, d12 │ │ │ │ │ vmul.f64 d0, d7, d8 │ │ │ │ │ + vmls.f64 d10, d1, d12 │ │ │ │ │ + vldr d1, [pc, #572] @ 920 │ │ │ │ │ vmla.f64 d0, d6, d9 │ │ │ │ │ vadd.f64 d0, d0, d4 │ │ │ │ │ vmla.f64 d4, d6, d8 │ │ │ │ │ + vmov.f64 d6, d9 │ │ │ │ │ vsub.f64 d0, d0, d3 │ │ │ │ │ vmls.f64 d3, d7, d9 │ │ │ │ │ vmov.f64 d7, d10 │ │ │ │ │ vstr d0, [r7] │ │ │ │ │ - sub.w r7, r7, lr │ │ │ │ │ + sub.w r7, r7, r8 │ │ │ │ │ + vmov.f64 d0, d8 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ vmov.f64 d3, d9 │ │ │ │ │ + vmov.f64 d9, d5 │ │ │ │ │ vstr d4, [r7] │ │ │ │ │ sub.w r7, r7, r6, lsl #5 │ │ │ │ │ vldr d2, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d8, [sp, #16] │ │ │ │ │ vldr d4, [sp, #88] @ 0x58 │ │ │ │ │ + vmla.f64 d10, d2, d6 │ │ │ │ │ + vmla.f64 d5, d2, d0 │ │ │ │ │ vldr d12, [sp, #72] @ 0x48 │ │ │ │ │ - vmla.f64 d10, d2, d9 │ │ │ │ │ - vmov.f64 d9, d5 │ │ │ │ │ - vmla.f64 d5, d2, d8 │ │ │ │ │ vldr d2, [sp, #96] @ 0x60 │ │ │ │ │ vldr d11, [sp, #200] @ 0xc8 │ │ │ │ │ - vsub.f64 d0, d15, d2 │ │ │ │ │ - vldr d15, [sp, #8] │ │ │ │ │ vmov.f64 d6, d10 │ │ │ │ │ vldr d10, [sp, #216] @ 0xd8 │ │ │ │ │ vmla.f64 d7, d10, d3 │ │ │ │ │ - vmla.f64 d9, d10, d8 │ │ │ │ │ + vmla.f64 d9, d10, d0 │ │ │ │ │ vmul.f64 d10, d4, d3 │ │ │ │ │ - vldr d4, [pc, #532] @ 950 │ │ │ │ │ + vldr d4, [pc, #512] @ 958 │ │ │ │ │ vldr d3, [sp] │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ vldr d7, [sp, #80] @ 0x50 │ │ │ │ │ vsub.f64 d6, d6, d9 │ │ │ │ │ vldr d9, [sp, #48] @ 0x30 │ │ │ │ │ - vnmls.f64 d10, d7, d8 │ │ │ │ │ - vmul.f64 d7, d15, d4 │ │ │ │ │ - vldr d4, [pc, #508] @ 958 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - sub.w r3, r3, ip │ │ │ │ │ + vnmls.f64 d10, d7, d0 │ │ │ │ │ + vsub.f64 d0, d15, d2 │ │ │ │ │ + vldr d15, [sp, #8] │ │ │ │ │ + vstr d6, [ip] │ │ │ │ │ + sub.w ip, ip, lr │ │ │ │ │ vldr d6, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ + sub.w ip, ip, r5, lsl #5 │ │ │ │ │ + vldr d5, [pc, #592] @ 9e0 │ │ │ │ │ + vmul.f64 d7, d15, d4 │ │ │ │ │ + vldr d4, [pc, #456] @ 960 │ │ │ │ │ vmov.f64 d2, d7 │ │ │ │ │ - vldr d8, [sp, #16] │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - sub.w r3, r3, r5, lsl #5 │ │ │ │ │ - vldr d5, [pc, #604] @ 9d8 │ │ │ │ │ vnmls.f64 d2, d9, d4 │ │ │ │ │ - vldr d4, [pc, #380] @ 900 │ │ │ │ │ + vldr d4, [pc, #364] @ 910 │ │ │ │ │ vmul.f64 d7, d6, d4 │ │ │ │ │ vldr d4, [sp, #208] @ 0xd0 │ │ │ │ │ - vmla.f64 d7, d4, d1 │ │ │ │ │ - vldr d1, [pc, #460] @ 960 │ │ │ │ │ vmov.f64 d14, d2 │ │ │ │ │ + vmla.f64 d7, d4, d1 │ │ │ │ │ + vldr d1, [pc, #432] @ 968 │ │ │ │ │ vsub.f64 d2, d2, d7 │ │ │ │ │ vstr d7, [sp, #24] │ │ │ │ │ vstr d2, [sp, #32] │ │ │ │ │ - vldr d2, [pc, #448] @ 968 │ │ │ │ │ + vldr d2, [pc, #424] @ 970 │ │ │ │ │ vmul.f64 d7, d12, d2 │ │ │ │ │ vnmls.f64 d7, d8, d5 │ │ │ │ │ vmov.f64 d5, d7 │ │ │ │ │ - vldr d7, [pc, #440] @ 970 │ │ │ │ │ + vldr d7, [pc, #416] @ 978 │ │ │ │ │ + vstr d5, [sp, #56] @ 0x38 │ │ │ │ │ vmul.f64 d7, d3, d7 │ │ │ │ │ vmla.f64 d7, d11, d1 │ │ │ │ │ - vstr d5, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d1, [pc, #432] @ 978 │ │ │ │ │ + vldr d1, [pc, #408] @ 980 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ vstr d7, [sp, #64] @ 0x40 │ │ │ │ │ - vldr d7, [pc, #428] @ 980 │ │ │ │ │ + vldr d7, [pc, #404] @ 988 │ │ │ │ │ vmul.f64 d7, d3, d7 │ │ │ │ │ - vldr d3, [pc, #428] @ 988 │ │ │ │ │ - vmul.f64 d8, d8, d3 │ │ │ │ │ + vldr d3, [pc, #404] @ 990 │ │ │ │ │ vnmls.f64 d7, d11, d13 │ │ │ │ │ + vmul.f64 d8, d8, d3 │ │ │ │ │ vmla.f64 d8, d12, d1 │ │ │ │ │ - vsub.f64 d13, d7, d8 │ │ │ │ │ vstr d7, [sp, #80] @ 0x50 │ │ │ │ │ + vsub.f64 d13, d7, d8 │ │ │ │ │ vstr d13, [sp, #88] @ 0x58 │ │ │ │ │ vmov.f64 d13, d4 │ │ │ │ │ - vldr d4, [pc, #324] @ 940 │ │ │ │ │ + vldr d4, [pc, #300] @ 948 │ │ │ │ │ vmul.f64 d7, d13, d4 │ │ │ │ │ vmov.f64 d4, d7 │ │ │ │ │ - vldr d7, [pc, #296] @ 930 │ │ │ │ │ + vldr d7, [pc, #272] @ 938 │ │ │ │ │ vnmls.f64 d4, d6, d7 │ │ │ │ │ vmov.f64 d7, d15 │ │ │ │ │ - vldr d15, [pc, #380] @ 990 │ │ │ │ │ + vldr d15, [pc, #156] @ 8d0 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ - vldr d15, [pc, #380] @ 998 │ │ │ │ │ - vmla.f64 d7, d9, d15 │ │ │ │ │ - vldr d15, [pc, #380] @ 9a0 │ │ │ │ │ + vldr d15, [pc, #156] @ 8d8 │ │ │ │ │ vstr d4, [sp, #96] @ 0x60 │ │ │ │ │ + vmla.f64 d7, d9, d15 │ │ │ │ │ + vldr d15, [pc, #336] @ 998 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ vstr d7, [sp, #104] @ 0x68 │ │ │ │ │ vldr d7, [sp, #8] │ │ │ │ │ vstr d4, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d4, [pc, #180] @ 8f0 │ │ │ │ │ + vldr d4, [pc, #156] @ 8f8 │ │ │ │ │ vmul.f64 d4, d6, d4 │ │ │ │ │ - vldr d6, [pc, #180] @ 8f8 │ │ │ │ │ + vldr d6, [pc, #156] @ 900 │ │ │ │ │ vnmls.f64 d4, d13, d6 │ │ │ │ │ - vldr d6, [pc, #348] @ 9a8 │ │ │ │ │ + vldr d6, [pc, #308] @ 9a0 │ │ │ │ │ vmul.f64 d6, d7, d6 │ │ │ │ │ vldr d7, [sp, #16] │ │ │ │ │ vmla.f64 d6, d9, d15 │ │ │ │ │ - vldr d15, [pc, #340] @ 9b0 │ │ │ │ │ + vldr d15, [pc, #300] @ 9a8 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ - vldr d15, [pc, #132] @ 8e8 │ │ │ │ │ - vnmls.f64 d7, d12, d15 │ │ │ │ │ - vldr d12, [sp] │ │ │ │ │ + vldr d15, [pc, #108] @ 8f0 │ │ │ │ │ vsub.f64 d9, d4, d6 │ │ │ │ │ vadd.f64 d6, d4, d6 │ │ │ │ │ - vldr d15, [pc, #320] @ 9b8 │ │ │ │ │ + vnmls.f64 d7, d12, d15 │ │ │ │ │ + vldr d12, [sp] │ │ │ │ │ + vldr d15, [pc, #280] @ 9b0 │ │ │ │ │ + vstr d6, [sp, #136] @ 0x88 │ │ │ │ │ vmul.f64 d3, d12, d3 │ │ │ │ │ vmov.f64 d12, d11 │ │ │ │ │ - vstr d6, [sp, #136] @ 0x88 │ │ │ │ │ vnmls.f64 d3, d11, d1 │ │ │ │ │ vadd.f64 d11, d7, d3 │ │ │ │ │ vsub.f64 d3, d7, d3 │ │ │ │ │ vldr d7, [sp, #48] @ 0x30 │ │ │ │ │ vadd.f64 d1, d9, d11 │ │ │ │ │ vstr d11, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d3, [sp, #128] @ 0x80 │ │ │ │ │ vldr d11, [sp, #8] │ │ │ │ │ - vldr d3, [pc, #280] @ 9c0 │ │ │ │ │ + vstr d3, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d3, [pc, #240] @ 9b8 │ │ │ │ │ vmul.f64 d6, d11, d3 │ │ │ │ │ - vldr d11, [pc, #280] @ 9c8 │ │ │ │ │ - vldr d3, [pc, #132] @ 938 │ │ │ │ │ - vnmls.f64 d6, d7, d11 │ │ │ │ │ - vldr d7, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d4, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d11, [pc, #100] @ 928 │ │ │ │ │ - vmul.f64 d3, d7, d3 │ │ │ │ │ - vldr d7, [sp, #16] │ │ │ │ │ - vmla.f64 d3, d13, d11 │ │ │ │ │ - vmul.f64 d7, d7, d15 │ │ │ │ │ - b.n a08 │ │ │ │ │ + b.n a10 │ │ │ │ │ nop │ │ │ │ │ + .word 0x5480d903 │ │ │ │ │ + .word 0x3fefbf67 │ │ │ │ │ + .word 0x5da15be0 │ │ │ │ │ + .word 0x3fd00aeb │ │ │ │ │ .word 0xfa1c0796 │ │ │ │ │ .word 0x3fcfd511 │ │ │ │ │ .word 0x1d101ee0 │ │ │ │ │ .word 0x3ffefea2 │ │ │ │ │ .word 0x3c182b51 │ │ │ │ │ .word 0x3ff1257e │ │ │ │ │ .word 0x5cbfa951 │ │ │ │ │ .word 0x3fded50d │ │ │ │ │ .word 0x4e81c059 │ │ │ │ │ .word 0x3ffc0ab4 │ │ │ │ │ - .word 0x55112014 │ │ │ │ │ - .word 0x3fe5e7cf │ │ │ │ │ .word 0x1d101ee0 │ │ │ │ │ .word 0x3feefea2 │ │ │ │ │ - .word 0x03d2b816 │ │ │ │ │ - .word 0x3ff753b6 │ │ │ │ │ + .word 0x55112014 │ │ │ │ │ + .word 0x3fe5e7cf │ │ │ │ │ .word 0xfa1c0796 │ │ │ │ │ .word 0x3fdfd511 │ │ │ │ │ + .word 0x03d2b816 │ │ │ │ │ + .word 0x3ff753b6 │ │ │ │ │ .word 0xff642e86 │ │ │ │ │ .word 0x3ffb04bb │ │ │ │ │ .word 0x5cbfa951 │ │ │ │ │ .word 0x3feed50d │ │ │ │ │ .word 0x03d2b816 │ │ │ │ │ .word 0x3fe753b6 │ │ │ │ │ .word 0x4e81c059 │ │ │ │ │ @@ -635,166 +631,178 @@ │ │ │ │ │ .word 0x3fe465c6 │ │ │ │ │ .word 0x1be09379 │ │ │ │ │ .word 0x3fc0130a │ │ │ │ │ .word 0x635b6bea │ │ │ │ │ .word 0x3fe8a80b │ │ │ │ │ .word 0xbfe443fe │ │ │ │ │ .word 0x3fefefd5 │ │ │ │ │ - .word 0x5480d903 │ │ │ │ │ - .word 0x3fefbf67 │ │ │ │ │ - .word 0x5da15be0 │ │ │ │ │ - .word 0x3fd00aeb │ │ │ │ │ .word 0xc925819c │ │ │ │ │ .word 0x3feb3ff7 │ │ │ │ │ .word 0xdcdc158c │ │ │ │ │ .word 0x3fecf457 │ │ │ │ │ .word 0xff642e86 │ │ │ │ │ .word 0x3feb04bb │ │ │ │ │ .word 0x3c182b51 │ │ │ │ │ .word 0x3fe1257e │ │ │ │ │ .word 0xc925819c │ │ │ │ │ .word 0x3fdb3ff7 │ │ │ │ │ .word 0xdcdc158c │ │ │ │ │ .word 0x3ffcf457 │ │ │ │ │ + .word 0x4e81c059 │ │ │ │ │ + .word 0x3fec0ab4 │ │ │ │ │ + .word 0x5cbfa951 │ │ │ │ │ + .word 0x3feed50d │ │ │ │ │ .word 0xff642e86 │ │ │ │ │ .word 0x3ffb04bb │ │ │ │ │ .word 0x1be09379 │ │ │ │ │ .word 0x3fb0130a │ │ │ │ │ .word 0x372fe950 │ │ │ │ │ .word 0x3fd3c6ef │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe9e377 │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ - vldr d15, [pc, #-60] @ 9d0 │ │ │ │ │ + vldr d11, [pc, #-84] @ 9c0 │ │ │ │ │ + vldr d3, [pc, #-80] @ 9c8 │ │ │ │ │ + vnmls.f64 d6, d7, d11 │ │ │ │ │ + vldr d7, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d4, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d11, [pc, #-88] @ 9d0 │ │ │ │ │ + vmul.f64 d3, d7, d3 │ │ │ │ │ + vldr d7, [sp, #16] │ │ │ │ │ + vmla.f64 d3, d13, d11 │ │ │ │ │ + vmul.f64 d7, d7, d15 │ │ │ │ │ + vldr d15, [pc, #-100] @ 9d8 │ │ │ │ │ vmla.f64 d7, d4, d15 │ │ │ │ │ vldr d4, [sp] │ │ │ │ │ - vldr d15, [pc, #-64] @ 9d8 │ │ │ │ │ - vmul.f64 d4, d4, d15 │ │ │ │ │ + vldr d15, [pc, #-104] @ 9e0 │ │ │ │ │ vadd.f64 d11, d6, d3 │ │ │ │ │ - vmla.f64 d4, d12, d2 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ + vmul.f64 d4, d4, d15 │ │ │ │ │ vldr d15, [sp, #32] │ │ │ │ │ + vmla.f64 d4, d12, d2 │ │ │ │ │ vldr d12, [sp, #88] @ 0x58 │ │ │ │ │ vadd.f64 d2, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ vadd.f64 d4, d10, d1 │ │ │ │ │ vadd.f64 d3, d11, d2 │ │ │ │ │ vsub.f64 d11, d11, d2 │ │ │ │ │ vstr d4, [r7] │ │ │ │ │ - add r7, fp │ │ │ │ │ + add r7, sl │ │ │ │ │ vadd.f64 d4, d0, d3 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ + vstr d4, [ip] │ │ │ │ │ vadd.f64 d4, d15, d12 │ │ │ │ │ - vldr d12, [sp, #120] @ 0x78 │ │ │ │ │ vmov.f64 d15, d0 │ │ │ │ │ - add r3, r2 │ │ │ │ │ + vldr d12, [sp, #120] @ 0x78 │ │ │ │ │ + add ip, r9 │ │ │ │ │ vsub.f64 d4, d4, d10 │ │ │ │ │ vmov.f64 d13, d12 │ │ │ │ │ vstr d4, [r7] │ │ │ │ │ vadd.f64 d4, d0, d12 │ │ │ │ │ - vldr d12, [pc, #-148] @ 9e0 │ │ │ │ │ - add r7, lr │ │ │ │ │ - vmla.f64 d15, d13, d12 │ │ │ │ │ + add r7, r8 │ │ │ │ │ + vldr d12, [pc, #-188] @ 9e8 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ - vldr d13, [pc, #-152] @ 9e8 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ + vmla.f64 d15, d13, d12 │ │ │ │ │ + vldr d13, [pc, #-192] @ 9f0 │ │ │ │ │ + vstr d4, [ip] │ │ │ │ │ + add ip, lr │ │ │ │ │ vmul.f64 d5, d5, d13 │ │ │ │ │ - add r3, ip │ │ │ │ │ vmov.f64 d4, d15 │ │ │ │ │ vldr d15, [sp, #80] @ 0x50 │ │ │ │ │ vadd.f64 d8, d15, d8 │ │ │ │ │ - vldr d15, [pc, #-156] @ a00 │ │ │ │ │ + vldr d15, [pc, #-196] @ a08 │ │ │ │ │ vmla.f64 d5, d8, d15 │ │ │ │ │ vldr d8, [sp, #104] @ 0x68 │ │ │ │ │ vsub.f64 d4, d4, d5 │ │ │ │ │ vldr d5, [sp, #24] │ │ │ │ │ vadd.f64 d5, d14, d5 │ │ │ │ │ - vldr d14, [pc, #-196] @ 9f0 │ │ │ │ │ + vldr d14, [pc, #-236] @ 9f8 │ │ │ │ │ vmls.f64 d4, d5, d14 │ │ │ │ │ vldr d5, [sp, #56] @ 0x38 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - subs r3, r3, r2 │ │ │ │ │ + vstr d4, [ip] │ │ │ │ │ + sub.w ip, ip, r9 │ │ │ │ │ vldr d4, [sp, #64] @ 0x40 │ │ │ │ │ - ldr r2, [sp, #232] @ 0xe8 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ vldr d4, [sp, #96] @ 0x60 │ │ │ │ │ vadd.f64 d8, d4, d8 │ │ │ │ │ vldr d4, [sp, #88] @ 0x58 │ │ │ │ │ vmul.f64 d5, d5, d15 │ │ │ │ │ vldr d15, [sp, #32] │ │ │ │ │ vmul.f64 d4, d4, d13 │ │ │ │ │ - vldr d13, [pc, #-240] @ 9f8 │ │ │ │ │ - vmla.f64 d4, d8, d14 │ │ │ │ │ + vldr d13, [pc, #-280] @ a00 │ │ │ │ │ vnmls.f64 d5, d15, d12 │ │ │ │ │ vmov.f64 d12, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vldr d15, [pc, #-248] @ a00 │ │ │ │ │ - vmul.f64 d11, d11, d13 │ │ │ │ │ + vldr d15, [pc, #-284] @ a08 │ │ │ │ │ + vmla.f64 d4, d8, d14 │ │ │ │ │ vmls.f64 d0, d3, d12 │ │ │ │ │ + vmul.f64 d11, d11, d13 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vsub.f64 d5, d5, d10 │ │ │ │ │ vmls.f64 d10, d1, d12 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ - sub.w r7, r7, fp │ │ │ │ │ + sub.w r7, r7, sl │ │ │ │ │ vldr d5, [sp, #112] @ 0x70 │ │ │ │ │ - vsub.f64 d9, d9, d5 │ │ │ │ │ vmov.f64 d1, d10 │ │ │ │ │ - vmls.f64 d1, d7, d15 │ │ │ │ │ + vsub.f64 d9, d9, d5 │ │ │ │ │ vmov.f64 d5, d10 │ │ │ │ │ + vmls.f64 d1, d7, d15 │ │ │ │ │ vmla.f64 d5, d6, d15 │ │ │ │ │ vmul.f64 d9, d9, d13 │ │ │ │ │ vmov.f64 d4, d9 │ │ │ │ │ vnmls.f64 d9, d7, d14 │ │ │ │ │ vmla.f64 d4, d6, d14 │ │ │ │ │ vmov.f64 d6, d0 │ │ │ │ │ vadd.f64 d5, d5, d9 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ vstr d4, [r7] │ │ │ │ │ - add r7, lr │ │ │ │ │ + add r7, r8 │ │ │ │ │ vldr d4, [sp, #136] @ 0x88 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ vldr d5, [sp, #128] @ 0x80 │ │ │ │ │ + ldr r7, [sp, #236] @ 0xec │ │ │ │ │ vmla.f64 d6, d4, d15 │ │ │ │ │ vmul.f64 d7, d5, d15 │ │ │ │ │ + add r0, r7 │ │ │ │ │ + add r1, r7 │ │ │ │ │ + ldr r7, [sp, #240] @ 0xf0 │ │ │ │ │ vmla.f64 d7, d4, d14 │ │ │ │ │ + add r2, r7 │ │ │ │ │ + add r3, r7 │ │ │ │ │ + ldr r7, [sp, #244] @ 0xf4 │ │ │ │ │ + eor.w r4, r4, r7 │ │ │ │ │ + eor.w r5, r5, r7 │ │ │ │ │ + eor.w r6, r6, r7 │ │ │ │ │ + ldr r7, [sp, #364] @ 0x16c │ │ │ │ │ vadd.f64 d7, d7, d11 │ │ │ │ │ vmla.f64 d11, d5, d14 │ │ │ │ │ + subs r7, #1 │ │ │ │ │ vadd.f64 d7, d7, d0 │ │ │ │ │ vsub.f64 d6, d6, d11 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - add r3, ip │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - ldr r3, [sp, #236] @ 0xec │ │ │ │ │ - add r0, r3 │ │ │ │ │ - add r1, r3 │ │ │ │ │ - ldr r3, [sp, #240] @ 0xf0 │ │ │ │ │ - add r2, r3 │ │ │ │ │ - add sl, r3 │ │ │ │ │ - str r2, [sp, #232] @ 0xe8 │ │ │ │ │ - ldr r3, [sp, #244] @ 0xf4 │ │ │ │ │ - eors r4, r3 │ │ │ │ │ - eors r5, r3 │ │ │ │ │ - eors r6, r3 │ │ │ │ │ - ldr r3, [sp, #364] @ 0x16c │ │ │ │ │ - subs r3, #1 │ │ │ │ │ - str r3, [sp, #364] @ 0x16c │ │ │ │ │ - bne.w 38 │ │ │ │ │ + vstr d7, [ip] │ │ │ │ │ + add ip, lr │ │ │ │ │ + vstr d6, [ip] │ │ │ │ │ + str r7, [sp, #364] @ 0x16c │ │ │ │ │ + bne.w 4c │ │ │ │ │ add sp, #252 @ 0xfc │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -00000bac : │ │ │ │ │ +00000bf0 : │ │ │ │ │ fftw_codelet_r2cf_25(): │ │ │ │ │ - ldr r2, [pc, #8] @ (bb8 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (bbc ) │ │ │ │ │ + ldr r2, [pc, #8] @ (bfc ) │ │ │ │ │ + ldr r1, [pc, #12] @ (c00 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cf_3.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 836 (bytes into file) │ │ │ │ │ + Start of section headers: 876 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x344: │ │ │ │ │ +There are 13 section headers, starting at offset 0x36c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0000e4 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0002ac 000018 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000118 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000118 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000118 000007 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 00011f 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 0002c4 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 00014f 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 00014f 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 000184 0000e0 10 11 11 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 000264 000048 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 0002d4 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00010c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0002d4 000018 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000140 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000140 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000140 000007 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 000147 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 0002ec 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 000177 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000177 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 0001ac 0000e0 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 00028c 000048 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 0002fc 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,17 +1,17 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 14 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 208 FUNC LOCAL DEFAULT 1 r2cf_3 │ │ │ │ │ + 1: 00000001 248 FUNC LOCAL DEFAULT 1 r2cf_3 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000000c8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 000000d0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000000dc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000000f0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 000000f8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000104 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ - 11: 000000d1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_3 │ │ │ │ │ + 11: 000000f9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_3 │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,11 +1,11 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x2ac contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x2d4 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000000dc 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000000e0 00000103 R_ARM_REL32 00000001 r2cf_3 │ │ │ │ │ -000000d8 00000c1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +00000104 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000108 00000103 R_ARM_REL32 00000001 r2cf_3 │ │ │ │ │ +00000100 00000c1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x2c4 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x2ec contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000d02 R_ARM_ABS32 00000000 fftw_rdft_r2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,84 +1,92 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cf_3(): │ │ │ │ │ - push {r4, r5, r6, r7, lr} │ │ │ │ │ + str.w r4, [sp, #-20]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ ldrd r4, r6, [sp, #32] │ │ │ │ │ + strd r7, lr, [sp, #12] │ │ │ │ │ cmp r4, #0 │ │ │ │ │ - ble.n 6e │ │ │ │ │ + ble.n 7a │ │ │ │ │ ldr r7, [sp, #20] │ │ │ │ │ ldr r5, [sp, #28] │ │ │ │ │ mov.w lr, r7, lsl #3 │ │ │ │ │ ldr r7, [sp, #24] │ │ │ │ │ mov.w ip, r5, lsl #3 │ │ │ │ │ ldr r5, [sp, #40] @ 0x28 │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ cmp r6, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r5, #1 │ │ │ │ │ - bne.n 70 │ │ │ │ │ - add r3, ip │ │ │ │ │ - vldr d2, [pc, #160] @ c8 │ │ │ │ │ + bne.n 88 │ │ │ │ │ + vldr d2, [pc, #188] @ f0 │ │ │ │ │ vmov.f64 d1, #96 @ 0x3f000000 0.5 │ │ │ │ │ + add r3, ip │ │ │ │ │ add.w ip, r0, lr │ │ │ │ │ - vldmia r1!, {d4} │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ subs r4, #1 │ │ │ │ │ + vldmia r1!, {d4} │ │ │ │ │ add.w r0, r0, #8 │ │ │ │ │ vldr d7, [ip] │ │ │ │ │ add.w ip, r2, r7 │ │ │ │ │ - vmov.f64 d3, d5 │ │ │ │ │ + vldr d5, [r0, #-8] │ │ │ │ │ vadd.f64 d6, d7, d4 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ + vmov.f64 d3, d5 │ │ │ │ │ vmls.f64 d3, d6, d1 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vstr d3, [ip] │ │ │ │ │ vstmia r3!, {d7} │ │ │ │ │ vstmia r2!, {d6} │ │ │ │ │ - bne.n 2e │ │ │ │ │ - pop {r4, r5, r6, r7, pc} │ │ │ │ │ - lsls r6, r6, #3 │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ - add r3, ip │ │ │ │ │ - vldr d2, [pc, #80] @ c8 │ │ │ │ │ + bne.n 3a │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + vldr d2, [pc, #100] @ f0 │ │ │ │ │ vmov.f64 d1, #96 @ 0x3f000000 0.5 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ + add r3, ip │ │ │ │ │ add.w ip, r0, lr │ │ │ │ │ vldr d4, [r1] │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - add r1, r6 │ │ │ │ │ - add r0, r6 │ │ │ │ │ subs r4, #1 │ │ │ │ │ + add r1, r6 │ │ │ │ │ vldr d7, [ip] │ │ │ │ │ add.w ip, r2, r7 │ │ │ │ │ - vmov.f64 d3, d6 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + add r0, r6 │ │ │ │ │ vadd.f64 d5, d4, d7 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ + vmov.f64 d3, d6 │ │ │ │ │ vmls.f64 d3, d5, d1 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vstr d3, [ip] │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ add r3, r5 │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ add r2, r5 │ │ │ │ │ - bne.n 7e │ │ │ │ │ - pop {r4, r5, r6, r7, pc} │ │ │ │ │ + bne.n 9a │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop.w │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3febb67a │ │ │ │ │ │ │ │ │ │ -000000d0 : │ │ │ │ │ +000000f8 : │ │ │ │ │ fftw_codelet_r2cf_3(): │ │ │ │ │ - ldr r2, [pc, #8] @ (dc ) │ │ │ │ │ - ldr r1, [pc, #12] @ (e0 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (104 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (108 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cf_32.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 2536 (bytes into file) │ │ │ │ │ + Start of section headers: 2632 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x9e8: │ │ │ │ │ +There are 13 section headers, starting at offset 0xa48: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0006fc 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000940 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000730 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000730 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000730 000008 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 000738 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000968 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 000768 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000768 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 00079c 000120 10 11 13 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 0008bc 000081 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000978 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00075c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0009a0 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000790 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000790 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000790 000008 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 000798 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 0009c8 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 0007c8 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0007c8 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 0007fc 000120 10 11 13 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 00091c 000081 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 0009d8 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,21 +1,21 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 18 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1768 FUNC LOCAL DEFAULT 1 r2cf_32 │ │ │ │ │ + 1: 00000001 1864 FUNC LOCAL DEFAULT 1 r2cf_32 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000050 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000078 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000006d0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 000006e8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 000006f4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000060 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000088 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000730 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000748 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00000754 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 15: 000006e9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_32 │ │ │ │ │ + 15: 00000749 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_32 │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x940 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x9a0 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000070 00000d19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000074 00000e1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000006f4 00000a03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000006f8 00000103 R_ARM_REL32 00000001 r2cf_32 │ │ │ │ │ -000006f0 0000101e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +00000080 00000d19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000084 00000e1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000754 00000a03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000758 00000103 R_ARM_REL32 00000001 r2cf_32 │ │ │ │ │ +00000750 0000101e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x968 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x9c8 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00001102 R_ARM_ABS32 00000000 fftw_rdft_r2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,511 +1,526 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cf_32(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov fp, r0 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub sp, #252 @ 0xfc │ │ │ │ │ - ldr r0, [sp, #364] @ 0x16c │ │ │ │ │ - str r2, [sp, #4] │ │ │ │ │ - ldr r2, [pc, #92] @ (70 ) │ │ │ │ │ - cmp r0, #0 │ │ │ │ │ - str r3, [sp, #232] @ 0xe8 │ │ │ │ │ - add r2, pc │ │ │ │ │ - ldr.w sl, [sp, #360] @ 0x168 │ │ │ │ │ - ldrd r3, r9, [sp, #352] @ 0x160 │ │ │ │ │ - ble.w 6c6 │ │ │ │ │ - ldr r0, [sp, #368] @ 0x170 │ │ │ │ │ - mov r8, sl │ │ │ │ │ - vldr d14, [pc, #36] @ 50 │ │ │ │ │ - mov sl, r9 │ │ │ │ │ - vldr d13, [pc, #40] @ 58 │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ - str r0, [sp, #236] @ 0xec │ │ │ │ │ - ldr r0, [sp, #372] @ 0x174 │ │ │ │ │ - vldr d12, [pc, #36] @ 60 │ │ │ │ │ - vldr d15, [pc, #40] @ 68 │ │ │ │ │ - lsls r0, r0, #3 │ │ │ │ │ - str r0, [sp, #240] @ 0xf0 │ │ │ │ │ - ldr r0, [pc, #44] @ (74 ) │ │ │ │ │ - ldr r2, [r2, r0] │ │ │ │ │ - ldr r2, [r2, #0] │ │ │ │ │ - str r2, [sp, #244] @ 0xf4 │ │ │ │ │ - b.n 78 │ │ │ │ │ + sub sp, #244 @ 0xf4 │ │ │ │ │ + ldrd r8, sl, [sp, #344] @ 0x158 │ │ │ │ │ + strd r2, r3, [sp] │ │ │ │ │ + ldr r3, [pc, #92] @ (80 ) │ │ │ │ │ + ldr r2, [sp, #356] @ 0x164 │ │ │ │ │ + ldr.w lr, [sp, #352] @ 0x160 │ │ │ │ │ + add r3, pc │ │ │ │ │ + cmp r2, #0 │ │ │ │ │ + ble.w 714 │ │ │ │ │ + ldr r2, [sp, #360] @ 0x168 │ │ │ │ │ + mov fp, r0 │ │ │ │ │ + vldr d14, [pc, #40] @ 60 │ │ │ │ │ + vldr d13, [pc, #44] @ 68 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + vldr d12, [pc, #44] @ 70 │ │ │ │ │ + str r2, [sp, #228] @ 0xe4 │ │ │ │ │ + ldr r2, [sp, #364] @ 0x16c │ │ │ │ │ + vldr d15, [pc, #44] @ 78 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + str r2, [sp, #232] @ 0xe8 │ │ │ │ │ + ldr r2, [pc, #44] @ (84 ) │ │ │ │ │ + ldr r3, [r3, r2] │ │ │ │ │ + ldr r3, [r3, #0] │ │ │ │ │ + str r3, [sp, #236] @ 0xec │ │ │ │ │ + b.n 88 │ │ │ │ │ nop │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ .word 0xcff75cb0 │ │ │ │ │ .word 0x3fef6297 │ │ │ │ │ - .word 0x00000056 │ │ │ │ │ + .word 0x00000052 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - lsls r2, r3, #6 │ │ │ │ │ - mov.w ip, r3, lsl #5 │ │ │ │ │ - add.w r0, fp, r2 │ │ │ │ │ - lsls r7, r3, #4 │ │ │ │ │ + mov.w r3, r8, lsl #6 │ │ │ │ │ vldr d4, [fp] │ │ │ │ │ - mov.w lr, #48 @ 0x30 │ │ │ │ │ - movs r5, #120 @ 0x78 │ │ │ │ │ - movs r4, #56 @ 0x38 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ - add.w r0, fp, ip │ │ │ │ │ - mov.w r9, #40 @ 0x28 │ │ │ │ │ - add ip, r1 │ │ │ │ │ - mul.w r5, r3, r5 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - add r0, r2 │ │ │ │ │ + mov.w r6, r8, lsl #4 │ │ │ │ │ + add.w r2, fp, r3 │ │ │ │ │ + add.w r5, r8, r8, lsl #1 │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + mov.w r2, r8, lsl #5 │ │ │ │ │ + mov.w r7, r5, lsl #4 │ │ │ │ │ + mov.w ip, r5, lsl #3 │ │ │ │ │ + str r2, [sp, #8] │ │ │ │ │ + add r2, fp │ │ │ │ │ + add.w r5, r1, r5, lsl #5 │ │ │ │ │ + str r7, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add r2, r3 │ │ │ │ │ vadd.f64 d2, d4, d5 │ │ │ │ │ vsub.f64 d5, d4, d5 │ │ │ │ │ - mul.w r4, r3, r4 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - add.w r0, fp, r7 │ │ │ │ │ - add r7, r1 │ │ │ │ │ - vstr d5, [sp, #24] │ │ │ │ │ + str r6, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + add.w r2, fp, r6 │ │ │ │ │ + vstr d5, [sp, #16] │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - add r0, r2 │ │ │ │ │ - vstr d7, [sp, #32] │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add r2, r3 │ │ │ │ │ + vstr d7, [sp, #24] │ │ │ │ │ vadd.f64 d0, d2, d3 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - movs r0, #112 @ 0x70 │ │ │ │ │ vsub.f64 d3, d2, d3 │ │ │ │ │ - mul.w r6, r0, r3 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + mov.w r2, r8, lsl #3 │ │ │ │ │ + sub.w r0, r2, r8 │ │ │ │ │ + mov.w r4, r0, lsl #4 │ │ │ │ │ + mov.w r0, r0, lsl #3 │ │ │ │ │ + str r4, [sp, #96] @ 0x60 │ │ │ │ │ + add r4, fp │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - str r6, [sp, #8] │ │ │ │ │ - add.w r0, fp, r6 │ │ │ │ │ - vstr d3, [sp, #96] @ 0x60 │ │ │ │ │ - lsls r6, r3, #3 │ │ │ │ │ - vstr d0, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - mul.w r0, lr, r3 │ │ │ │ │ - str r0, [sp, #16] │ │ │ │ │ - add r0, fp │ │ │ │ │ - vldr d3, [r0] │ │ │ │ │ - add.w r0, fp, r5 │ │ │ │ │ - add r5, r1 │ │ │ │ │ + vstr d3, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + add.w r4, fp, r7 │ │ │ │ │ + vstr d0, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d3, [r4] │ │ │ │ │ + sub.w r4, r6, r8 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + add.w r6, fp, r4 │ │ │ │ │ + add r4, r1 │ │ │ │ │ vadd.f64 d4, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vadd.f64 d8, d5, d4 │ │ │ │ │ - vsub.f64 d4, d4, d5 │ │ │ │ │ + vadd.f64 d2, d5, d4 │ │ │ │ │ + vsub.f64 d1, d4, d5 │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - add.w r0, fp, r4 │ │ │ │ │ - add r4, r1 │ │ │ │ │ - vstr d4, [sp, #112] @ 0x70 │ │ │ │ │ - vmul.f64 d1, d7, d14 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - movs r0, #24 │ │ │ │ │ - vmul.f64 d2, d5, d14 │ │ │ │ │ - vstr d8, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + add.w r6, fp, r0 │ │ │ │ │ + add r0, r1 │ │ │ │ │ + vstr d2, [sp, #32] │ │ │ │ │ + vmul.f64 d9, d7, d14 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + add.w r6, fp, ip │ │ │ │ │ + vmul.f64 d8, d5, d14 │ │ │ │ │ + add ip, r1 │ │ │ │ │ vadd.f64 d4, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - mul.w r0, r3, r0 │ │ │ │ │ - vstr d1, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d2, [sp, #40] @ 0x28 │ │ │ │ │ - add.w lr, fp, r0 │ │ │ │ │ - add r0, r1 │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ - add lr, r2 │ │ │ │ │ - vldr d3, [lr] │ │ │ │ │ - add.w lr, fp, r6 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + add r6, r3 │ │ │ │ │ + vstr d8, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d9, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d3, [r6] │ │ │ │ │ + add.w r6, fp, r2 │ │ │ │ │ + vstr d1, [sp, #128] @ 0x80 │ │ │ │ │ vadd.f64 d5, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vadd.f64 d9, d4, d5 │ │ │ │ │ - vsub.f64 d10, d4, d5 │ │ │ │ │ + vadd.f64 d10, d4, d5 │ │ │ │ │ + vsub.f64 d11, d4, d5 │ │ │ │ │ vmul.f64 d5, d7, d12 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ - vmla.f64 d5, d6, d13 │ │ │ │ │ - vstr d9, [sp, #56] @ 0x38 │ │ │ │ │ vnmls.f64 d7, d6, d12 │ │ │ │ │ - vldr d6, [lr] │ │ │ │ │ - add lr, r2 │ │ │ │ │ - vstr d10, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d5, [sp, #128] @ 0x80 │ │ │ │ │ - vstr d7, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ - mul.w lr, r9, r3 │ │ │ │ │ - add.w r9, fp, lr │ │ │ │ │ - add lr, r1 │ │ │ │ │ + vmla.f64 d5, d6, d13 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + add r6, r3 │ │ │ │ │ + vstr d10, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d11, [sp, #136] @ 0x88 │ │ │ │ │ + vstr d5, [sp, #144] @ 0x90 │ │ │ │ │ + vstr d7, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + add.w r6, r8, r8, lsl #2 │ │ │ │ │ + mov.w r7, r6, lsl #3 │ │ │ │ │ + add.w r6, r1, r6, lsl #4 │ │ │ │ │ + add.w r9, fp, r7 │ │ │ │ │ + add r7, r1 │ │ │ │ │ vadd.f64 d4, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [r9] │ │ │ │ │ - add r9, r2 │ │ │ │ │ - add r2, r1 │ │ │ │ │ + add r9, r3 │ │ │ │ │ + add r3, r1 │ │ │ │ │ vldr d3, [r9] │ │ │ │ │ vadd.f64 d5, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vadd.f64 d11, d4, d5 │ │ │ │ │ - vstr d11, [sp, #64] @ 0x40 │ │ │ │ │ - vsub.f64 d11, d4, d5 │ │ │ │ │ + vadd.f64 d3, d4, d5 │ │ │ │ │ + vsub.f64 d4, d4, d5 │ │ │ │ │ vmul.f64 d5, d7, d12 │ │ │ │ │ vmul.f64 d7, d7, d13 │ │ │ │ │ + vnmls.f64 d5, d6, d13 │ │ │ │ │ vmla.f64 d7, d6, d12 │ │ │ │ │ - vstr d11, [sp, #144] @ 0x90 │ │ │ │ │ - vmov.f64 d11, d5 │ │ │ │ │ - vnmls.f64 d11, d6, d13 │ │ │ │ │ - vstr d11, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - movs r0, #88 @ 0x58 │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ - vstr d7, [sp, #72] @ 0x48 │ │ │ │ │ - mla r0, r0, r3, r1 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - vldr d0, [lr] │ │ │ │ │ - movs r4, #80 @ 0x50 │ │ │ │ │ - mvn.w lr, #95 @ 0x5f │ │ │ │ │ + vstr d3, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d6, [ip] │ │ │ │ │ + vldr d0, [r7] │ │ │ │ │ + ldr r7, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d5, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + vstr d7, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + mov.w r0, #88 @ 0x58 │ │ │ │ │ + vstr d4, [sp, #160] @ 0xa0 │ │ │ │ │ + mla r0, r0, r8, r1 │ │ │ │ │ + ldr r4, [sp, #96] @ 0x60 │ │ │ │ │ vsub.f64 d8, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - adds r0, r1, r6 │ │ │ │ │ - ldr r6, [sp, #8] │ │ │ │ │ + add.w r0, r1, r2 │ │ │ │ │ + add r2, r8 │ │ │ │ │ + add.w r2, r1, r2, lsl #3 │ │ │ │ │ vldr d4, [r0] │ │ │ │ │ - movs r0, #72 @ 0x48 │ │ │ │ │ + mov.w r0, #104 @ 0x68 │ │ │ │ │ + vldr d3, [r2] │ │ │ │ │ + mla r2, r0, r8, r1 │ │ │ │ │ vsub.f64 d1, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - add r6, r1 │ │ │ │ │ - mla r0, r0, r3, r1 │ │ │ │ │ - vadd.f64 d10, d5, d6 │ │ │ │ │ - vsub.f64 d6, d5, d6 │ │ │ │ │ - vldr d5, [ip] │ │ │ │ │ - mov.w ip, sl, lsl #6 │ │ │ │ │ - vldr d3, [r0] │ │ │ │ │ - movs r0, #104 @ 0x68 │ │ │ │ │ - vstr d6, [sp, #168] @ 0xa8 │ │ │ │ │ - mla r0, r0, r3, r1 │ │ │ │ │ vsub.f64 d7, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ - vstr d10, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d3, [r0] │ │ │ │ │ - ldr r0, [sp, #16] │ │ │ │ │ + vldr d3, [r2] │ │ │ │ │ + vadd.f64 d9, d5, d6 │ │ │ │ │ + vsub.f64 d6, d5, d6 │ │ │ │ │ + ldr r2, [sp, #8] │ │ │ │ │ vsub.f64 d2, d3, d0 │ │ │ │ │ vadd.f64 d3, d3, d0 │ │ │ │ │ + vstr d9, [sp, #88] @ 0x58 │ │ │ │ │ + vstr d6, [sp, #176] @ 0xb0 │ │ │ │ │ vsub.f64 d6, d2, d7 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ vadd.f64 d11, d4, d3 │ │ │ │ │ - vsub.f64 d4, d3, d4 │ │ │ │ │ + vsub.f64 d10, d3, d4 │ │ │ │ │ + vldr d4, [r1] │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ vmul.f64 d6, d6, d14 │ │ │ │ │ - vstr d4, [sp, #160] @ 0xa0 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ + vstr d10, [sp, #168] @ 0xa8 │ │ │ │ │ vadd.f64 d2, d8, d7 │ │ │ │ │ vsub.f64 d8, d8, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - movs r2, #96 @ 0x60 │ │ │ │ │ - vsub.f64 d3, d6, d1 │ │ │ │ │ - vadd.f64 d1, d1, d6 │ │ │ │ │ - mla r2, r2, r3, r1 │ │ │ │ │ - vstr d8, [sp, #200] @ 0xc8 │ │ │ │ │ - vsub.f64 d8, d4, d7 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + add.w r3, r1, r2 │ │ │ │ │ + vsub.f64 d9, d6, d1 │ │ │ │ │ + vadd.f64 d6, d1, d6 │ │ │ │ │ + mov.w r2, sl, lsl #6 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ + ldr r3, [sp, #224] @ 0xe0 │ │ │ │ │ + vstr d9, [sp, #184] @ 0xb8 │ │ │ │ │ + vsub.f64 d9, d4, d7 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ - vstr d3, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d3, [r7] │ │ │ │ │ - mov.w r7, r8, lsl #6 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - mla r2, r4, r3, r1 │ │ │ │ │ - vstr d2, [sp, #192] @ 0xc0 │ │ │ │ │ - vstr d1, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + vstr d6, [sp, #192] @ 0xc0 │ │ │ │ │ + add r3, r1 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + mov.w r6, sl, lsl #5 │ │ │ │ │ + vstr d2, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d3, [r3] │ │ │ │ │ + add.w r3, r1, r4 │ │ │ │ │ + vstr d8, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ + add.w r3, r1, r7 │ │ │ │ │ vsub.f64 d0, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - adds r2, r1, r0 │ │ │ │ │ vsub.f64 d7, d3, d6 │ │ │ │ │ - vldr d2, [r2] │ │ │ │ │ vadd.f64 d3, d3, d6 │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ - vadd.f64 d9, d4, d5 │ │ │ │ │ - vsub.f64 d5, d4, d5 │ │ │ │ │ - mov.w r6, sl, lsl #5 │ │ │ │ │ - vsub.f64 d1, d6, d2 │ │ │ │ │ - vadd.f64 d2, d6, d2 │ │ │ │ │ - vstr d5, [sp, #8] │ │ │ │ │ - vsub.f64 d5, d1, d7 │ │ │ │ │ - vadd.f64 d7, d7, d1 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + mov.w r3, lr, lsl #6 │ │ │ │ │ + vadd.f64 d8, d4, d5 │ │ │ │ │ + vsub.f64 d1, d2, d6 │ │ │ │ │ + vadd.f64 d2, d2, d6 │ │ │ │ │ vsub.f64 d10, d2, d3 │ │ │ │ │ vadd.f64 d6, d3, d2 │ │ │ │ │ + vsub.f64 d3, d4, d5 │ │ │ │ │ + vsub.f64 d5, d1, d7 │ │ │ │ │ + vadd.f64 d7, d7, d1 │ │ │ │ │ vmul.f64 d5, d5, d14 │ │ │ │ │ + vstr d3, [sp, #8] │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ - vsub.f64 d4, d5, d0 │ │ │ │ │ - vadd.f64 d3, d0, d5 │ │ │ │ │ - vadd.f64 d5, d8, d7 │ │ │ │ │ - vsub.f64 d7, d8, d7 │ │ │ │ │ - vldr d0, [sp, #88] @ 0x58 │ │ │ │ │ - vstr d4, [sp, #208] @ 0xd0 │ │ │ │ │ - vstr d3, [sp, #216] @ 0xd8 │ │ │ │ │ - vstr d5, [sp, #224] @ 0xe0 │ │ │ │ │ - vstr d7, [sp, #16] │ │ │ │ │ - vldr d8, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d3, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d2, [sp, #64] @ 0x40 │ │ │ │ │ - vadd.f64 d4, d0, d8 │ │ │ │ │ - ldr r5, [sp, #4] │ │ │ │ │ - ldr r0, [sp, #232] @ 0xe8 │ │ │ │ │ - vadd.f64 d1, d3, d2 │ │ │ │ │ - vldr d3, [sp, #80] @ 0x50 │ │ │ │ │ - vadd.f64 d2, d9, d6 │ │ │ │ │ - add.w r2, r5, ip │ │ │ │ │ - add r0, r7 │ │ │ │ │ - vsub.f64 d6, d9, d6 │ │ │ │ │ - vadd.f64 d5, d3, d11 │ │ │ │ │ - vldr d9, [sp, #144] @ 0x90 │ │ │ │ │ - vadd.f64 d7, d4, d1 │ │ │ │ │ - vsub.f64 d4, d4, d1 │ │ │ │ │ - vldr d1, [sp, #168] @ 0xa8 │ │ │ │ │ + vsub.f64 d2, d5, d0 │ │ │ │ │ + vadd.f64 d0, d0, d5 │ │ │ │ │ + vstr d2, [sp, #96] @ 0x60 │ │ │ │ │ + vadd.f64 d2, d9, d7 │ │ │ │ │ + vsub.f64 d9, d9, d7 │ │ │ │ │ + vstr d0, [sp, #104] @ 0x68 │ │ │ │ │ + ldrd r5, r4, [sp] │ │ │ │ │ + vldr d4, [sp, #32] │ │ │ │ │ + vldr d1, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d2, [sp, #216] @ 0xd8 │ │ │ │ │ + vadd.f64 d2, d8, d6 │ │ │ │ │ + add.w r0, r5, r2 │ │ │ │ │ + vldr d3, [sp, #64] @ 0x40 │ │ │ │ │ + add r4, r3 │ │ │ │ │ + vsub.f64 d6, d8, d6 │ │ │ │ │ + vldr d5, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d0, [sp, #112] @ 0x70 │ │ │ │ │ + vadd.f64 d1, d1, d3 │ │ │ │ │ + vadd.f64 d5, d5, d11 │ │ │ │ │ + vadd.f64 d4, d0, d4 │ │ │ │ │ vadd.f64 d3, d2, d5 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - add r2, ip │ │ │ │ │ - vldr d2, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ + vadd.f64 d7, d4, d1 │ │ │ │ │ + vsub.f64 d4, d4, d1 │ │ │ │ │ + vldr d1, [sp, #88] @ 0x58 │ │ │ │ │ + vsub.f64 d11, d1, d11 │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ + add r0, r2 │ │ │ │ │ + vldr d4, [sp, #32] │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ vsub.f64 d5, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - subs r2, r2, r6 │ │ │ │ │ + vldr d3, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d1, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ + sub.w r0, r0, r6 │ │ │ │ │ vstr d7, [r5] │ │ │ │ │ - vsub.f64 d7, d0, d8 │ │ │ │ │ - vldr d8, [sp, #56] @ 0x38 │ │ │ │ │ - mov.w r5, r8, lsl #5 │ │ │ │ │ - vldr d0, [sp, #120] @ 0x78 │ │ │ │ │ - add r0, r5 │ │ │ │ │ - vsub.f64 d5, d8, d2 │ │ │ │ │ - vldr d8, [sp, #80] @ 0x50 │ │ │ │ │ - vsub.f64 d11, d8, d11 │ │ │ │ │ + vsub.f64 d7, d0, d4 │ │ │ │ │ vadd.f64 d4, d6, d11 │ │ │ │ │ + vldr d0, [sp, #56] @ 0x38 │ │ │ │ │ vsub.f64 d6, d11, d6 │ │ │ │ │ - vldr d11, [sp, #8] │ │ │ │ │ + mov.w r5, lr, lsl #5 │ │ │ │ │ + add r4, r5 │ │ │ │ │ + vldr d11, [sp, #176] @ 0xb0 │ │ │ │ │ vmul.f64 d4, d4, d14 │ │ │ │ │ + vsub.f64 d5, d0, d3 │ │ │ │ │ vmul.f64 d6, d6, d14 │ │ │ │ │ + vldr d0, [sp, #136] @ 0x88 │ │ │ │ │ vsub.f64 d3, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ - vldr d4, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ + vldr d4, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d3, [r0] │ │ │ │ │ vsub.f64 d3, d6, d5 │ │ │ │ │ - sub.w r2, r2, ip │ │ │ │ │ + sub.w r0, r0, r2 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ - vldr d6, [sp, #96] @ 0x60 │ │ │ │ │ - mul.w ip, r4, sl │ │ │ │ │ - mul.w r4, r4, r8 │ │ │ │ │ - vstr d3, [r0] │ │ │ │ │ - subs r0, r0, r7 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - vadd.f64 d7, d0, d9 │ │ │ │ │ - add r2, ip │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ - add r0, r4 │ │ │ │ │ + vldr d6, [sp, #120] @ 0x78 │ │ │ │ │ + mov.w r2, sl, lsl #2 │ │ │ │ │ + add.w r9, r2, sl │ │ │ │ │ + sub.w r2, sl, r2 │ │ │ │ │ + vstr d3, [r4] │ │ │ │ │ + sub.w r4, r4, r3 │ │ │ │ │ + mov.w r3, r9, lsl #4 │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ + vadd.f64 d7, d0, d4 │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ + vmul.f64 d5, d1, d12 │ │ │ │ │ + add r0, r3 │ │ │ │ │ + add.w r2, r0, r2, lsl #5 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ + vnmls.f64 d5, d11, d13 │ │ │ │ │ vadd.f64 d3, d6, d7 │ │ │ │ │ vsub.f64 d8, d6, d7 │ │ │ │ │ - vsub.f64 d7, d0, d9 │ │ │ │ │ - vldr d9, [sp, #160] @ 0xa0 │ │ │ │ │ + vsub.f64 d7, d0, d4 │ │ │ │ │ + vldr d4, [sp, #128] @ 0x80 │ │ │ │ │ vmul.f64 d6, d10, d12 │ │ │ │ │ - vmla.f64 d6, d11, d13 │ │ │ │ │ - vmul.f64 d5, d9, d12 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ - vnmls.f64 d5, d1, d13 │ │ │ │ │ vsub.f64 d2, d7, d4 │ │ │ │ │ vadd.f64 d7, d4, d7 │ │ │ │ │ - vmul.f64 d4, d11, d12 │ │ │ │ │ - vnmls.f64 d4, d10, d13 │ │ │ │ │ + vldr d4, [sp, #8] │ │ │ │ │ + vmla.f64 d6, d4, d13 │ │ │ │ │ + vldr d4, [sp, #8] │ │ │ │ │ + str r3, [sp, #8] │ │ │ │ │ + mov.w r3, lr, lsl #2 │ │ │ │ │ + add.w ip, r3, lr │ │ │ │ │ + sub.w r3, lr, r3 │ │ │ │ │ + mov.w r7, ip, lsl #4 │ │ │ │ │ + vmul.f64 d4, d4, d12 │ │ │ │ │ + add r4, r7 │ │ │ │ │ + add.w r3, r4, r3, lsl #5 │ │ │ │ │ + str r7, [sp, #224] @ 0xe0 │ │ │ │ │ + mov.w r7, sl, lsl #4 │ │ │ │ │ vadd.f64 d0, d6, d5 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ - vmul.f64 d6, d9, d13 │ │ │ │ │ - vmla.f64 d6, d1, d12 │ │ │ │ │ + vmul.f64 d6, d1, d13 │ │ │ │ │ + vnmls.f64 d4, d10, d13 │ │ │ │ │ + vmla.f64 d6, d11, d12 │ │ │ │ │ vadd.f64 d1, d4, d6 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vsub.f64 d4, d3, d0 │ │ │ │ │ vadd.f64 d3, d3, d0 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ vsub.f64 d4, d1, d7 │ │ │ │ │ - mla r2, lr, sl, r2 │ │ │ │ │ vadd.f64 d7, d7, d1 │ │ │ │ │ - vstr d4, [r0] │ │ │ │ │ - mla r0, lr, r8, r0 │ │ │ │ │ + add.w r0, lr, lr, lsl #1 │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ + mov.w r4, r0, lsl #4 │ │ │ │ │ vstr d3, [r2] │ │ │ │ │ add r2, r6 │ │ │ │ │ - mov.w lr, #48 @ 0x30 │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ + add.w r0, sl, sl, lsl #1 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vadd.f64 d7, d2, d5 │ │ │ │ │ - add r0, r5 │ │ │ │ │ + add r3, r5 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ - mul.w r7, lr, sl │ │ │ │ │ - mul.w r9, lr, r8 │ │ │ │ │ - mov.w lr, #40 @ 0x28 │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ + vldr d11, [sp, #96] @ 0x60 │ │ │ │ │ + mov.w r0, r0, lsl #4 │ │ │ │ │ + vldr d10, [sp, #144] @ 0x90 │ │ │ │ │ + str r0, [sp, #32] │ │ │ │ │ + sub.w r0, sl, sl, lsl #3 │ │ │ │ │ + vldr d1, [sp, #184] @ 0xb8 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vadd.f64 d7, d8, d6 │ │ │ │ │ vsub.f64 d8, d8, d6 │ │ │ │ │ - add r0, r5 │ │ │ │ │ + add r3, r5 │ │ │ │ │ + vldr d6, [sp, #16] │ │ │ │ │ + vldr d2, [sp, #216] @ 0xd8 │ │ │ │ │ + vldr d0, [sp, #200] @ 0xc8 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ add r2, r6 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ - mla r0, lr, r8, r0 │ │ │ │ │ - vldr d5, [pc, #508] @ 6d0 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + add.w r3, r3, ip, lsl #3 │ │ │ │ │ + vldr d5, [sp, #72] @ 0x48 │ │ │ │ │ vstr d8, [r2] │ │ │ │ │ - mla r2, lr, sl, r2 │ │ │ │ │ - vldr d6, [sp, #24] │ │ │ │ │ - mvn.w lr, #111 @ 0x6f │ │ │ │ │ - vldr d2, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d9, [sp, #128] @ 0x80 │ │ │ │ │ - vldr d11, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d1, [sp, #224] @ 0xe0 │ │ │ │ │ - vadd.f64 d6, d6, d2 │ │ │ │ │ - vldr d0, [sp, #176] @ 0xb0 │ │ │ │ │ - vadd.f64 d8, d9, d11 │ │ │ │ │ - vldr d10, [sp, #208] @ 0xd0 │ │ │ │ │ - vmul.f64 d7, d1, d5 │ │ │ │ │ - vldr d2, [sp, #192] @ 0xc0 │ │ │ │ │ - str r7, [sp, #8] │ │ │ │ │ + add.w r2, r2, r9, lsl #3 │ │ │ │ │ + vldr d8, [sp, #40] @ 0x28 │ │ │ │ │ + vadd.f64 d6, d6, d8 │ │ │ │ │ + vadd.f64 d8, d10, d5 │ │ │ │ │ + vldr d5, [pc, #480] @ 730 │ │ │ │ │ vadd.f64 d3, d6, d8 │ │ │ │ │ + vmul.f64 d7, d2, d5 │ │ │ │ │ vsub.f64 d8, d6, d8 │ │ │ │ │ - vmul.f64 d6, d0, d15 │ │ │ │ │ - vnmls.f64 d7, d10, d15 │ │ │ │ │ - vmla.f64 d6, d2, d5 │ │ │ │ │ + vmul.f64 d6, d1, d15 │ │ │ │ │ + vnmls.f64 d7, d11, d15 │ │ │ │ │ + vmla.f64 d6, d0, d5 │ │ │ │ │ vadd.f64 d4, d7, d6 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vmov.f64 d7, d5 │ │ │ │ │ - vmul.f64 d5, d10, d5 │ │ │ │ │ - vmla.f64 d5, d1, d15 │ │ │ │ │ - vldr d10, [sp, #136] @ 0x88 │ │ │ │ │ - vmul.f64 d7, d0, d7 │ │ │ │ │ - vldr d0, [sp, #48] @ 0x30 │ │ │ │ │ - vnmls.f64 d7, d2, d15 │ │ │ │ │ - vldr d2, [sp, #32] │ │ │ │ │ - vsub.f64 d0, d0, d2 │ │ │ │ │ + vmul.f64 d5, d11, d5 │ │ │ │ │ + vldr d11, [sp, #152] @ 0x98 │ │ │ │ │ + vmul.f64 d7, d1, d7 │ │ │ │ │ + vmla.f64 d5, d2, d15 │ │ │ │ │ + vldr d2, [sp, #80] @ 0x50 │ │ │ │ │ + vnmls.f64 d7, d0, d15 │ │ │ │ │ + vldr d0, [sp, #24] │ │ │ │ │ vadd.f64 d1, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [sp, #72] @ 0x48 │ │ │ │ │ - vsub.f64 d5, d10, d5 │ │ │ │ │ + vsub.f64 d5, d11, d2 │ │ │ │ │ + vldr d2, [sp, #48] @ 0x30 │ │ │ │ │ + vsub.f64 d0, d2, d0 │ │ │ │ │ vsub.f64 d2, d5, d0 │ │ │ │ │ vadd.f64 d5, d5, d0 │ │ │ │ │ vsub.f64 d0, d3, d1 │ │ │ │ │ vadd.f64 d3, d3, d1 │ │ │ │ │ - vldr d1, [sp, #216] @ 0xd8 │ │ │ │ │ + vldr d1, [sp, #192] @ 0xc0 │ │ │ │ │ vstr d0, [r2] │ │ │ │ │ vsub.f64 d0, d4, d5 │ │ │ │ │ - mla r2, lr, sl, r2 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ + add.w r2, r2, r0, lsl #4 │ │ │ │ │ vadd.f64 d5, d7, d2 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ - vstr d0, [r0] │ │ │ │ │ - mla r0, lr, r8, r0 │ │ │ │ │ + sub.w r0, lr, lr, lsl #3 │ │ │ │ │ + vldr d2, [sp, #80] @ 0x50 │ │ │ │ │ + vstr d0, [r3] │ │ │ │ │ + add.w r3, r3, r0, lsl #4 │ │ │ │ │ vstr d3, [r2] │ │ │ │ │ - add r2, r7 │ │ │ │ │ - mov.w r7, r8, lsl #4 │ │ │ │ │ - vldr d3, [pc, #312] @ 6d8 │ │ │ │ │ - vldr d0, [sp, #200] @ 0xc8 │ │ │ │ │ - vstr d4, [r0] │ │ │ │ │ - add r0, r9 │ │ │ │ │ - vldr d4, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ + ldr r0, [sp, #32] │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + add r3, r4 │ │ │ │ │ + vldr d3, [pc, #328] @ 738 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ vadd.f64 d5, d8, d6 │ │ │ │ │ - add r0, r7 │ │ │ │ │ vsub.f64 d8, d8, d6 │ │ │ │ │ - vldr d6, [sp, #24] │ │ │ │ │ - mov.w r7, sl, lsl #4 │ │ │ │ │ + vldr d6, [sp, #16] │ │ │ │ │ + add r2, r0 │ │ │ │ │ + mov.w r0, lr, lsl #4 │ │ │ │ │ + vldr d0, [sp, #104] @ 0x68 │ │ │ │ │ + add r3, r0 │ │ │ │ │ + mov r0, r7 │ │ │ │ │ + vmul.f64 d4, d1, d3 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ add r2, r7 │ │ │ │ │ - vldr d5, [sp, #72] @ 0x48 │ │ │ │ │ - vsub.f64 d6, d6, d4 │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ - add r0, r5 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + vadd.f64 d7, d11, d2 │ │ │ │ │ + add r3, r5 │ │ │ │ │ vstr d8, [r2] │ │ │ │ │ add r2, r6 │ │ │ │ │ - vadd.f64 d7, d10, d5 │ │ │ │ │ - vldr d5, [pc, #248] @ 6e0 │ │ │ │ │ - vldr d10, [sp, #184] @ 0xb8 │ │ │ │ │ + mov.w r6, lr, lsl #4 │ │ │ │ │ + vldr d8, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d5, [pc, #268] @ 740 │ │ │ │ │ + vldr d11, [sp, #208] @ 0xd0 │ │ │ │ │ + vsub.f64 d6, d6, d8 │ │ │ │ │ + ldr r5, [sp, #8] │ │ │ │ │ + ldr r7, [sp, #224] @ 0xe0 │ │ │ │ │ + vmla.f64 d4, d11, d5 │ │ │ │ │ vadd.f64 d8, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [sp, #16] │ │ │ │ │ - vmul.f64 d4, d10, d3 │ │ │ │ │ - vmla.f64 d4, d0, d5 │ │ │ │ │ - vmul.f64 d7, d7, d5 │ │ │ │ │ - vnmls.f64 d7, d1, d3 │ │ │ │ │ + vmul.f64 d7, d9, d5 │ │ │ │ │ + vnmls.f64 d7, d0, d3 │ │ │ │ │ vadd.f64 d2, d7, d4 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ vmov.f64 d7, d5 │ │ │ │ │ - vmul.f64 d5, d1, d5 │ │ │ │ │ - vldr d1, [sp, #16] │ │ │ │ │ - vmul.f64 d7, d10, d7 │ │ │ │ │ - vmla.f64 d5, d1, d3 │ │ │ │ │ - vldr d1, [sp, #48] @ 0x30 │ │ │ │ │ - vnmls.f64 d7, d0, d3 │ │ │ │ │ - vldr d3, [sp, #32] │ │ │ │ │ - vadd.f64 d3, d3, d1 │ │ │ │ │ + vmul.f64 d5, d0, d5 │ │ │ │ │ + vmul.f64 d7, d1, d7 │ │ │ │ │ + vmla.f64 d5, d9, d3 │ │ │ │ │ + vldr d9, [sp, #48] @ 0x30 │ │ │ │ │ + vnmls.f64 d7, d11, d3 │ │ │ │ │ + vldr d3, [sp, #24] │ │ │ │ │ + vadd.f64 d3, d3, d9 │ │ │ │ │ vadd.f64 d0, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vsub.f64 d5, d9, d11 │ │ │ │ │ + vldr d5, [sp, #72] @ 0x48 │ │ │ │ │ + vsub.f64 d5, d10, d5 │ │ │ │ │ vsub.f64 d1, d5, d3 │ │ │ │ │ vadd.f64 d5, d5, d3 │ │ │ │ │ vsub.f64 d3, d8, d0 │ │ │ │ │ vadd.f64 d8, d8, d0 │ │ │ │ │ vstr d3, [r2] │ │ │ │ │ vsub.f64 d3, d2, d5 │ │ │ │ │ vadd.f64 d2, d2, d5 │ │ │ │ │ - sub.w r2, r2, ip │ │ │ │ │ vadd.f64 d5, d7, d1 │ │ │ │ │ + sub.w r2, r2, r5 │ │ │ │ │ vsub.f64 d7, d7, d1 │ │ │ │ │ - vstr d3, [r0] │ │ │ │ │ - subs r0, r0, r4 │ │ │ │ │ - mov.w r4, r8, lsl #4 │ │ │ │ │ + ldr r5, [sp, #0] │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ + sub.w r3, r3, r7 │ │ │ │ │ vstr d8, [r2] │ │ │ │ │ - add r2, r7 │ │ │ │ │ - ldr r7, [sp, #8] │ │ │ │ │ - vstr d2, [r0] │ │ │ │ │ - add r0, r4 │ │ │ │ │ - ldr r4, [sp, #236] @ 0xec │ │ │ │ │ - ldr r5, [sp, #4] │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ + add r2, r0 │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + add r3, r6 │ │ │ │ │ + ldr r0, [sp, #32] │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ vadd.f64 d5, d6, d4 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ - add r0, r9 │ │ │ │ │ - add fp, r4 │ │ │ │ │ - add r1, r4 │ │ │ │ │ - ldr r4, [sp, #240] @ 0xf0 │ │ │ │ │ + add r3, r4 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ - add r2, r7 │ │ │ │ │ - vstr d7, [r0] │ │ │ │ │ - add r5, r4 │ │ │ │ │ - str r5, [sp, #4] │ │ │ │ │ + add r2, r0 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ + ldr r3, [sp, #4] │ │ │ │ │ + ldr r2, [sp, #228] @ 0xe4 │ │ │ │ │ + add fp, r2 │ │ │ │ │ + add r1, r2 │ │ │ │ │ ldr r2, [sp, #232] @ 0xe8 │ │ │ │ │ - add r2, r4 │ │ │ │ │ - str r2, [sp, #232] @ 0xe8 │ │ │ │ │ - ldr r2, [sp, #244] @ 0xf4 │ │ │ │ │ - eors r3, r2 │ │ │ │ │ - eor.w sl, sl, r2 │ │ │ │ │ - eor.w r8, r8, r2 │ │ │ │ │ - ldr r2, [sp, #364] @ 0x16c │ │ │ │ │ - subs r2, #1 │ │ │ │ │ - str r2, [sp, #364] @ 0x16c │ │ │ │ │ - bne.w 78 │ │ │ │ │ - add sp, #252 @ 0xfc │ │ │ │ │ + add r3, r2 │ │ │ │ │ + add.w r0, r5, r2 │ │ │ │ │ + strd r0, r3, [sp] │ │ │ │ │ + ldr r3, [sp, #236] @ 0xec │ │ │ │ │ + eor.w r8, r8, r3 │ │ │ │ │ + eor.w sl, sl, r3 │ │ │ │ │ + eor.w lr, lr, r3 │ │ │ │ │ + ldr r3, [sp, #356] @ 0x164 │ │ │ │ │ + subs r3, #1 │ │ │ │ │ + str r3, [sp, #356] @ 0x164 │ │ │ │ │ + bne.w 88 │ │ │ │ │ + add sp, #244 @ 0xf4 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ .word 0x3c69a60b │ │ │ │ │ .word 0x3fc8f8b8 │ │ │ │ │ .word 0x290ea1a3 │ │ │ │ │ .word 0x3fea9b66 │ │ │ │ │ .word 0x39ae68c8 │ │ │ │ │ .word 0x3fe1c73b │ │ │ │ │ │ │ │ │ │ -000006e8 : │ │ │ │ │ +00000748 : │ │ │ │ │ fftw_codelet_r2cf_32(): │ │ │ │ │ - ldr r2, [pc, #8] @ (6f4 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (6f8 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (754 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (758 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cf_4.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 812 (bytes into file) │ │ │ │ │ + Start of section headers: 852 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x32c: │ │ │ │ │ +There are 13 section headers, starting at offset 0x354: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0000ec 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000294 000018 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000120 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000120 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000120 000007 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 000127 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 0002ac 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 000157 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000157 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 00018c 0000c0 10 11 9 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 00024c 000048 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 0002bc 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000114 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0002bc 000018 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000148 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000148 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000148 000007 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 00014f 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 0002d4 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 00017f 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 00017f 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 0001b4 0000c0 10 11 9 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 000274 000048 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 0002e4 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,15 +1,15 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 12 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 214 FUNC LOCAL DEFAULT 1 r2cf_4 │ │ │ │ │ + 1: 00000001 254 FUNC LOCAL DEFAULT 1 r2cf_4 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000000e4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 0000010c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 4: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 8: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ - 9: 000000d9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_4 │ │ │ │ │ + 9: 00000101 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_4 │ │ │ │ │ 10: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,11 +1,11 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x294 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x2bc contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000000e4 00000603 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000000e8 00000103 R_ARM_REL32 00000001 r2cf_4 │ │ │ │ │ -000000e0 00000a1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +0000010c 00000603 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000110 00000103 R_ARM_REL32 00000001 r2cf_4 │ │ │ │ │ +00000108 00000a1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x2ac contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x2d4 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000402 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000b02 R_ARM_ABS32 00000000 fftw_rdft_r2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,88 +1,96 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cf_4(): │ │ │ │ │ - push {r4, r5, r6, r7, lr} │ │ │ │ │ + str.w r4, [sp, #-20]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ ldrd r4, r6, [sp, #32] │ │ │ │ │ + strd r7, lr, [sp, #12] │ │ │ │ │ cmp r4, #0 │ │ │ │ │ - ble.n 7a │ │ │ │ │ + ble.n 86 │ │ │ │ │ ldr r7, [sp, #20] │ │ │ │ │ ldr r5, [sp, #28] │ │ │ │ │ mov.w lr, r7, lsl #3 │ │ │ │ │ ldr r7, [sp, #24] │ │ │ │ │ mov.w ip, r5, lsl #3 │ │ │ │ │ ldr r5, [sp, #40] @ 0x28 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ cmp r6, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r5, #1 │ │ │ │ │ - mov.w r7, r7, lsl #3 │ │ │ │ │ it eq │ │ │ │ │ addeq r3, ip │ │ │ │ │ - bne.n 7c │ │ │ │ │ + bne.n 94 │ │ │ │ │ add.w r5, r0, lr │ │ │ │ │ vldr d5, [r0] │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ add.w ip, r2, r7 │ │ │ │ │ - adds r0, #8 │ │ │ │ │ subs r4, #1 │ │ │ │ │ + add.w r0, r0, #8 │ │ │ │ │ vldr d2, [r5] │ │ │ │ │ add.w r5, r1, lr │ │ │ │ │ add.w r1, r1, #8 │ │ │ │ │ + vldr d3, [r1, #-8] │ │ │ │ │ vldr d6, [r5] │ │ │ │ │ vadd.f64 d4, d2, d5 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ vadd.f64 d7, d6, d3 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ vstr d5, [ip] │ │ │ │ │ add ip, r7 │ │ │ │ │ vstmia r3!, {d6} │ │ │ │ │ vsub.f64 d6, d4, d7 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ vstr d6, [ip] │ │ │ │ │ vstmia r2!, {d7} │ │ │ │ │ - bne.n 2a │ │ │ │ │ - pop {r4, r5, r6, r7, pc} │ │ │ │ │ - lsls r6, r6, #3 │ │ │ │ │ - lsls r5, r5, #3 │ │ │ │ │ + bne.n 34 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ add r3, ip │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ add.w ip, r0, lr │ │ │ │ │ vldr d5, [r0] │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ - add r0, r6 │ │ │ │ │ subs r4, #1 │ │ │ │ │ + add r0, r6 │ │ │ │ │ vldr d2, [ip] │ │ │ │ │ add.w ip, r1, lr │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ add r1, r6 │ │ │ │ │ vldr d6, [ip] │ │ │ │ │ + add.w ip, r2, r7 │ │ │ │ │ vadd.f64 d7, d5, d2 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ - add.w ip, r2, r7 │ │ │ │ │ vadd.f64 d4, d3, d6 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ vstr d5, [ip] │ │ │ │ │ add ip, r7 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ vsub.f64 d6, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ add r3, r5 │ │ │ │ │ vstr d6, [ip] │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ add r2, r5 │ │ │ │ │ - bne.n 82 │ │ │ │ │ - pop {r4, r5, r6, r7, pc} │ │ │ │ │ + bne.n 9e │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + add sp, #16 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -000000d8 : │ │ │ │ │ +00000100 : │ │ │ │ │ fftw_codelet_r2cf_4(): │ │ │ │ │ - ldr r2, [pc, #8] @ (e4 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (e8 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (10c ) │ │ │ │ │ + ldr r1, [pc, #12] @ (110 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cf_5.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1196 (bytes into file) │ │ │ │ │ + Start of section headers: 1220 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x4ac: │ │ │ │ │ +There are 13 section headers, starting at offset 0x4c4: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0001e4 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000404 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000218 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000218 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000218 000007 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 00021f 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 00042c 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 00024f 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 00024f 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 000284 000100 10 11 11 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 000384 000080 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 00043c 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0001fc 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 00041c 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000230 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000230 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000230 000007 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 000237 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000444 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 000267 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000267 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 00029c 000100 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 00039c 000080 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000454 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 16 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 464 FUNC LOCAL DEFAULT 1 r2cf_5 │ │ │ │ │ + 1: 00000001 488 FUNC LOCAL DEFAULT 1 r2cf_5 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000001b0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 000001d0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000001dc 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000001c8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 000001e8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000001f4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 13: 000001d1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_5 │ │ │ │ │ + 13: 000001e9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_5 │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x404 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x41c contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000001c8 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -000001cc 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000001dc 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000001e0 00000103 R_ARM_REL32 00000001 r2cf_5 │ │ │ │ │ -000001d8 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +000001e0 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +000001e4 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +000001f4 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000001f8 00000103 R_ARM_REL32 00000001 r2cf_5 │ │ │ │ │ +000001f0 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x42c contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x444 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000f02 R_ARM_ABS32 00000000 fftw_rdft_r2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,150 +1,156 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cf_5(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} │ │ │ │ │ - ldr.w ip, [pc, #448] @ 1c8 │ │ │ │ │ + strd r4, r5, [sp, #-32]! │ │ │ │ │ + strd r6, r7, [sp, #8] │ │ │ │ │ + strd r8, r9, [sp, #16] │ │ │ │ │ + strd sl, lr, [sp, #24] │ │ │ │ │ vpush {d8-d10} │ │ │ │ │ + ldr.w ip, [pc, #456] @ 1e0 │ │ │ │ │ ldrd r8, r5, [sp, #64] @ 0x40 │ │ │ │ │ - add ip, pc │ │ │ │ │ ldrd r4, lr, [sp, #56] @ 0x38 │ │ │ │ │ - cmp r5, #0 │ │ │ │ │ + add ip, pc │ │ │ │ │ ldr r7, [sp, #72] @ 0x48 │ │ │ │ │ - ble.n e8 │ │ │ │ │ - ldr.w r9, [pc, #428] @ 1cc │ │ │ │ │ + cmp r5, #0 │ │ │ │ │ + ble.n f4 │ │ │ │ │ + ldr.w r9, [pc, #440] @ 1e4 │ │ │ │ │ ldr.w r6, [ip, r9] │ │ │ │ │ ldr.w r9, [r6] │ │ │ │ │ ldr r6, [sp, #76] @ 0x4c │ │ │ │ │ cmp r7, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r6, #1 │ │ │ │ │ - bne.n f0 │ │ │ │ │ - vldr d2, [pc, #380] @ 1b0 │ │ │ │ │ + bne.n 10a │ │ │ │ │ + vldr d2, [pc, #392] @ 1c8 │ │ │ │ │ vmov.f64 d1, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vldr d3, [pc, #380] @ 1b8 │ │ │ │ │ - vldr d0, [pc, #384] @ 1c0 │ │ │ │ │ + vldr d3, [pc, #392] @ 1d0 │ │ │ │ │ + vldr d0, [pc, #396] @ 1d8 │ │ │ │ │ add.w r6, r0, r4, lsl #4 │ │ │ │ │ - vldr d8, [r1] │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ subs r5, #1 │ │ │ │ │ + vldr d8, [r1] │ │ │ │ │ vldr d7, [r6] │ │ │ │ │ mov.w r6, r4, lsl #3 │ │ │ │ │ + eor.w r4, r4, r9 │ │ │ │ │ add.w r7, r0, r6 │ │ │ │ │ add r6, r1 │ │ │ │ │ - add.w r0, r0, #8 │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ add.w r1, r1, #8 │ │ │ │ │ - vadd.f64 d6, d8, d7 │ │ │ │ │ - vsub.f64 d7, d7, d8 │ │ │ │ │ + add.w r0, r0, #8 │ │ │ │ │ vldr d5, [r6] │ │ │ │ │ mov.w r6, r8, lsl #3 │ │ │ │ │ + eor.w r8, r8, r9 │ │ │ │ │ vldr d9, [r7] │ │ │ │ │ + vadd.f64 d6, d8, d7 │ │ │ │ │ + vsub.f64 d7, d7, d8 │ │ │ │ │ add.w ip, r3, r6 │ │ │ │ │ - eor.w r4, r4, r9 │ │ │ │ │ add.w r3, r3, #8 │ │ │ │ │ - eor.w r8, r8, r9 │ │ │ │ │ vadd.f64 d10, d5, d9 │ │ │ │ │ vsub.f64 d9, d9, d5 │ │ │ │ │ vmul.f64 d5, d9, d3 │ │ │ │ │ vadd.f64 d8, d10, d6 │ │ │ │ │ vsub.f64 d6, d6, d10 │ │ │ │ │ vnmls.f64 d5, d7, d2 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ vstr d5, [ip] │ │ │ │ │ vmul.f64 d5, d7, d3 │ │ │ │ │ - vmla.f64 d5, d9, d2 │ │ │ │ │ vadd.f64 d7, d8, d4 │ │ │ │ │ vmls.f64 d4, d8, d1 │ │ │ │ │ add ip, r6 │ │ │ │ │ mov.w r6, lr, lsl #3 │ │ │ │ │ eor.w lr, lr, r9 │ │ │ │ │ + vmla.f64 d5, d9, d2 │ │ │ │ │ vstr d5, [ip] │ │ │ │ │ - add.w ip, r2, r6 │ │ │ │ │ vadd.f64 d5, d4, d6 │ │ │ │ │ + add.w ip, r2, r6 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d4, d6 │ │ │ │ │ add.w r2, r2, #8 │ │ │ │ │ vstr d5, [ip] │ │ │ │ │ add ip, r6 │ │ │ │ │ vstr d7, [ip] │ │ │ │ │ - bne.n 42 │ │ │ │ │ + bne.n 4e │ │ │ │ │ vpop {d8-d10} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ - lsls r7, r7, #3 │ │ │ │ │ - lsls r6, r6, #3 │ │ │ │ │ - vldr d2, [pc, #184] @ 1b0 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + add sp, #24 │ │ │ │ │ + ldmia.w sp!, {sl, pc} │ │ │ │ │ + vldr d2, [pc, #188] @ 1c8 │ │ │ │ │ vmov.f64 d1, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vldr d3, [pc, #184] @ 1b8 │ │ │ │ │ - vldr d0, [pc, #188] @ 1c0 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + mov.w r6, r6, lsl #3 │ │ │ │ │ + vldr d3, [pc, #180] @ 1d0 │ │ │ │ │ + vldr d0, [pc, #184] @ 1d8 │ │ │ │ │ add.w ip, r0, r4, lsl #4 │ │ │ │ │ - vldr d8, [r1] │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ subs r5, #1 │ │ │ │ │ + vldr d8, [r1] │ │ │ │ │ vldr d9, [ip] │ │ │ │ │ mov.w ip, r4, lsl #3 │ │ │ │ │ + eor.w r4, r4, r9 │ │ │ │ │ add.w sl, r0, ip │ │ │ │ │ add ip, r1 │ │ │ │ │ - add r0, r7 │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ add r1, r7 │ │ │ │ │ - vadd.f64 d6, d9, d8 │ │ │ │ │ - vsub.f64 d9, d9, d8 │ │ │ │ │ + add r0, r7 │ │ │ │ │ vldr d5, [ip] │ │ │ │ │ - eor.w r4, r4, r9 │ │ │ │ │ vldr d7, [sl] │ │ │ │ │ + vadd.f64 d6, d9, d8 │ │ │ │ │ + vsub.f64 d9, d9, d8 │ │ │ │ │ mov.w sl, r8, lsl #3 │ │ │ │ │ - add.w ip, r3, sl │ │ │ │ │ eor.w r8, r8, r9 │ │ │ │ │ + add.w ip, r3, sl │ │ │ │ │ add r3, r6 │ │ │ │ │ vadd.f64 d10, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vmul.f64 d5, d7, d3 │ │ │ │ │ vadd.f64 d8, d6, d10 │ │ │ │ │ vsub.f64 d6, d6, d10 │ │ │ │ │ vnmls.f64 d5, d9, d2 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ vstr d5, [ip] │ │ │ │ │ vmul.f64 d5, d7, d2 │ │ │ │ │ - vmla.f64 d5, d9, d3 │ │ │ │ │ vadd.f64 d7, d4, d8 │ │ │ │ │ vmls.f64 d4, d8, d1 │ │ │ │ │ add ip, sl │ │ │ │ │ mov.w sl, lr, lsl #3 │ │ │ │ │ eor.w lr, lr, r9 │ │ │ │ │ + vmla.f64 d5, d9, d3 │ │ │ │ │ vstr d5, [ip] │ │ │ │ │ - add.w ip, r2, sl │ │ │ │ │ vadd.f64 d5, d6, d4 │ │ │ │ │ + add.w ip, r2, sl │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ vsub.f64 d7, d4, d6 │ │ │ │ │ add r2, r6 │ │ │ │ │ vstr d5, [ip] │ │ │ │ │ add ip, sl │ │ │ │ │ vstr d7, [ip] │ │ │ │ │ - bne.n 104 │ │ │ │ │ - vpop {d8-d10} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} │ │ │ │ │ + bne.n 122 │ │ │ │ │ + b.n f4 │ │ │ │ │ nop │ │ │ │ │ nop.w │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ - .word 0x000001b4 │ │ │ │ │ + .word 0x000001bc │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ │ │ │ │ │ -000001d0 : │ │ │ │ │ +000001e8 : │ │ │ │ │ fftw_codelet_r2cf_5(): │ │ │ │ │ - ldr r2, [pc, #8] @ (1dc ) │ │ │ │ │ - ldr r1, [pc, #12] @ (1e0 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (1f4 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (1f8 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cf_6.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1220 (bytes into file) │ │ │ │ │ + Start of section headers: 1260 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x4c4: │ │ │ │ │ +There are 13 section headers, starting at offset 0x4ec: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0001fc 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00041c 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000230 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000230 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000230 000007 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 000237 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000444 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 000267 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000267 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 00029c 000100 10 11 11 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 00039c 000080 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000454 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000224 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000444 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000258 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000258 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000258 000007 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 00025f 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 00046c 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 00028f 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 00028f 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 0002c4 000100 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 0003c4 000080 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 00047c 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 16 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 488 FUNC LOCAL DEFAULT 1 r2cf_6 │ │ │ │ │ + 1: 00000001 528 FUNC LOCAL DEFAULT 1 r2cf_6 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000001d8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 000001e8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000001f4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000200 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000210 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 0000021c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 13: 000001e9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_6 │ │ │ │ │ + 13: 00000211 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_6 │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x41c contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x444 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000001e0 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -000001e4 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000001f4 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000001f8 00000103 R_ARM_REL32 00000001 r2cf_6 │ │ │ │ │ -000001f0 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +00000208 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000020c 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +0000021c 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000220 00000103 R_ARM_REL32 00000001 r2cf_6 │ │ │ │ │ +00000218 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x444 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x46c contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000f02 R_ARM_ABS32 00000000 fftw_rdft_r2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,157 +1,165 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cf_6(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - ldr.w r8, [pc, #472] @ 1e0 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8} │ │ │ │ │ sub sp, #12 │ │ │ │ │ - add r8, pc │ │ │ │ │ + ldr.w r8, [pc, #492] @ 208 │ │ │ │ │ ldrd lr, ip, [sp, #64] @ 0x40 │ │ │ │ │ ldrd r4, r5, [sp, #56] @ 0x38 │ │ │ │ │ - cmp.w ip, #0 │ │ │ │ │ + add r8, pc │ │ │ │ │ ldr r7, [sp, #76] @ 0x4c │ │ │ │ │ - ble.n f8 │ │ │ │ │ - ldr.w r9, [pc, #448] @ 1e4 │ │ │ │ │ + cmp.w ip, #0 │ │ │ │ │ + ble.n 10c │ │ │ │ │ + ldr.w r9, [pc, #472] @ 20c │ │ │ │ │ ldr.w r6, [r8, r9] │ │ │ │ │ ldr.w r8, [r6] │ │ │ │ │ ldr r6, [sp, #72] @ 0x48 │ │ │ │ │ cmp r6, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r7, #1 │ │ │ │ │ - bne.n 102 │ │ │ │ │ - vldr d2, [pc, #416] @ 1d8 │ │ │ │ │ + bne.n 128 │ │ │ │ │ + vldr d2, [pc, #440] @ 200 │ │ │ │ │ vmov.f64 d3, #96 @ 0x3f000000 0.5 │ │ │ │ │ - lsls r7, r4, #3 │ │ │ │ │ + mov.w r7, r4, lsl #3 │ │ │ │ │ + subs.w ip, ip, #1 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - adds r6, r1, r7 │ │ │ │ │ add.w r9, r0, r4, lsl #4 │ │ │ │ │ - vldmia r1!, {d4} │ │ │ │ │ - mov.w sl, lr, lsl #3 │ │ │ │ │ eor.w r4, r4, r8 │ │ │ │ │ + add.w r6, r1, r7 │ │ │ │ │ + mov.w sl, lr, lsl #3 │ │ │ │ │ eor.w lr, lr, r8 │ │ │ │ │ + vldmia r1!, {d4} │ │ │ │ │ vldr d5, [r6] │ │ │ │ │ add r6, r7 │ │ │ │ │ - subs.w ip, ip, #1 │ │ │ │ │ vsub.f64 d0, d7, d5 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ vldr d7, [r9] │ │ │ │ │ add.w r9, r0, r7 │ │ │ │ │ add.w r7, r3, sl │ │ │ │ │ add.w r0, r0, #8 │ │ │ │ │ add.w r3, r3, #8 │ │ │ │ │ vldr d1, [r9] │ │ │ │ │ + mov.w r9, r5, lsl #3 │ │ │ │ │ vsub.f64 d8, d7, d4 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ vldr d7, [r6] │ │ │ │ │ - mov.w r9, r5, lsl #3 │ │ │ │ │ add.w r6, r2, r9 │ │ │ │ │ vsub.f64 d6, d1, d7 │ │ │ │ │ vadd.f64 d7, d7, d1 │ │ │ │ │ vsub.f64 d1, d8, d6 │ │ │ │ │ vadd.f64 d6, d6, d8 │ │ │ │ │ vmul.f64 d1, d1, d2 │ │ │ │ │ vstr d1, [r7] │ │ │ │ │ vmov.f64 d1, d0 │ │ │ │ │ + add r7, sl │ │ │ │ │ vmls.f64 d1, d6, d3 │ │ │ │ │ vadd.f64 d6, d6, d0 │ │ │ │ │ - add r7, sl │ │ │ │ │ vstr d1, [r6] │ │ │ │ │ add.w r6, r6, r5, lsl #4 │ │ │ │ │ eor.w r5, r5, r8 │ │ │ │ │ vstr d6, [r6] │ │ │ │ │ vsub.f64 d6, d7, d4 │ │ │ │ │ vadd.f64 d7, d7, d4 │ │ │ │ │ sub.w r6, r6, r9 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ vstr d6, [r7] │ │ │ │ │ vmov.f64 d6, d5 │ │ │ │ │ vmls.f64 d6, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vstr d6, [r6] │ │ │ │ │ vstmia r2!, {d7} │ │ │ │ │ - bne.n 3e │ │ │ │ │ + bne.n 4e │ │ │ │ │ add sp, #12 │ │ │ │ │ vpop {d8} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - vldr d1, [pc, #212] @ 1d8 │ │ │ │ │ - mov.w sl, r6, lsl #3 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + vldr d1, [pc, #212] @ 200 │ │ │ │ │ vmov.f64 d2, #96 @ 0x3f000000 0.5 │ │ │ │ │ - lsls r6, r7, #3 │ │ │ │ │ + mov.w sl, r6, lsl #3 │ │ │ │ │ + mov.w r6, r7, lsl #3 │ │ │ │ │ str r6, [sp, #4] │ │ │ │ │ - lsls r7, r4, #3 │ │ │ │ │ + mov.w r7, r4, lsl #3 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ - adds r6, r1, r7 │ │ │ │ │ + subs.w ip, ip, #1 │ │ │ │ │ add.w r9, r0, r4, lsl #4 │ │ │ │ │ + eor.w r4, r4, r8 │ │ │ │ │ + add.w r6, r1, r7 │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ mov.w fp, lr, lsl #3 │ │ │ │ │ add r1, sl │ │ │ │ │ - eor.w r4, r4, r8 │ │ │ │ │ + eor.w lr, lr, r8 │ │ │ │ │ vldr d7, [r6] │ │ │ │ │ add r6, r7 │ │ │ │ │ - eor.w lr, lr, r8 │ │ │ │ │ - subs.w ip, ip, #1 │ │ │ │ │ + vldr d0, [r6] │ │ │ │ │ vsub.f64 d3, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [r9] │ │ │ │ │ add.w r9, r0, r7 │ │ │ │ │ - vldr d0, [r6] │ │ │ │ │ add.w r7, r3, fp │ │ │ │ │ add r0, sl │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vldr d5, [r9] │ │ │ │ │ mov.w r9, r5, lsl #3 │ │ │ │ │ add.w r6, r2, r9 │ │ │ │ │ vsub.f64 d8, d5, d0 │ │ │ │ │ vadd.f64 d5, d5, d0 │ │ │ │ │ vsub.f64 d0, d4, d8 │ │ │ │ │ vadd.f64 d4, d4, d8 │ │ │ │ │ vmul.f64 d0, d0, d1 │ │ │ │ │ vstr d0, [r7] │ │ │ │ │ vmov.f64 d0, d3 │ │ │ │ │ - vmls.f64 d0, d4, d2 │ │ │ │ │ vadd.f64 d3, d3, d4 │ │ │ │ │ + add r7, fp │ │ │ │ │ + vmls.f64 d0, d4, d2 │ │ │ │ │ vsub.f64 d4, d5, d7 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ vmov.f64 d5, d6 │ │ │ │ │ - add r7, fp │ │ │ │ │ - vmls.f64 d5, d7, d2 │ │ │ │ │ vmul.f64 d4, d4, d1 │ │ │ │ │ + vmls.f64 d5, d7, d2 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vstr d0, [r6] │ │ │ │ │ add.w r6, r6, r5, lsl #4 │ │ │ │ │ eor.w r5, r5, r8 │ │ │ │ │ vstr d3, [r6] │ │ │ │ │ sub.w r6, r6, r9 │ │ │ │ │ vstr d4, [r7] │ │ │ │ │ vstr d5, [r6] │ │ │ │ │ ldr r6, [sp, #4] │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ add r3, r6 │ │ │ │ │ add r2, r6 │ │ │ │ │ - bne.n 112 │ │ │ │ │ - add sp, #12 │ │ │ │ │ - vpop {d8} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + bne.n 13a │ │ │ │ │ + b.n 10c │ │ │ │ │ + nop.w │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3febb67a │ │ │ │ │ - .word 0x000001ce │ │ │ │ │ + .word 0x000001de │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ │ │ │ │ │ -000001e8 : │ │ │ │ │ +00000210 : │ │ │ │ │ fftw_codelet_r2cf_6(): │ │ │ │ │ - ldr r2, [pc, #8] @ (1f4 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (1f8 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (21c ) │ │ │ │ │ + ldr r1, [pc, #12] @ (220 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cf_64.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 4916 (bytes into file) │ │ │ │ │ + Start of section headers: 5088 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x1334: │ │ │ │ │ +There are 13 section headers, starting at offset 0x13e0: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 001048 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00128c 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 00107c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 00107c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 00107c 000008 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 001084 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 0012b4 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 0010b4 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0010b4 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 0010e8 000120 10 11 13 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 001208 000081 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 0012c4 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0010f4 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 001338 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 001128 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 001128 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 001128 000008 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 001130 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 001360 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 001160 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 001160 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 001194 000120 10 11 13 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 0012b4 000081 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 001370 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,21 +1,21 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 18 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 4146 FUNC LOCAL DEFAULT 1 r2cf_64 │ │ │ │ │ + 1: 00000001 4318 FUNC LOCAL DEFAULT 1 r2cf_64 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000050 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000070 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000b90 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000bf0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00001040 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000068 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000088 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000bc8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000c28 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 000010ec 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 15: 00001035 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_64 │ │ │ │ │ + 15: 000010e1 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_64 │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x128c contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x1338 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000068 00000d19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000006c 00000e1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00001040 00000a03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00001044 00000103 R_ARM_REL32 00000001 r2cf_64 │ │ │ │ │ -0000103c 0000101e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +00000080 00000d19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000084 00000e1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +000010ec 00000a03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000010f0 00000103 R_ARM_REL32 00000001 r2cf_64 │ │ │ │ │ +000010e8 0000101e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x12b4 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x1360 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00001102 R_ARM_ABS32 00000000 fftw_rdft_r2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,1139 +1,1171 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cf_64(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov sl, r1 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub.w sp, sp, #524 @ 0x20c │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ - str r3, [sp, #504] @ 0x1f8 │ │ │ │ │ - ldr r2, [sp, #636] @ 0x27c │ │ │ │ │ - ldr r3, [pc, #84] @ (68 ) │ │ │ │ │ - ldrd lr, r8, [sp, #624] @ 0x270 │ │ │ │ │ - add r3, pc │ │ │ │ │ - ldr.w r9, [sp, #632] @ 0x278 │ │ │ │ │ + sub.w sp, sp, #516 @ 0x204 │ │ │ │ │ + ldr.w lr, [sp, #616] @ 0x268 │ │ │ │ │ + str r2, [sp, #4] │ │ │ │ │ + str r3, [sp, #496] @ 0x1f0 │ │ │ │ │ + ldr r2, [sp, #628] @ 0x274 │ │ │ │ │ + ldr r3, [pc, #84] @ (80 ) │ │ │ │ │ + ldr r1, [sp, #624] @ 0x270 │ │ │ │ │ cmp r2, #0 │ │ │ │ │ - ble.w 1026 │ │ │ │ │ - ldr r2, [sp, #640] @ 0x280 │ │ │ │ │ - mov sl, r0 │ │ │ │ │ - mov fp, r1 │ │ │ │ │ - vldr d12, [pc, #36] @ 50 │ │ │ │ │ - vldr d14, [pc, #40] @ 58 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ - str r2, [sp, #508] @ 0x1fc │ │ │ │ │ - ldr r2, [sp, #644] @ 0x284 │ │ │ │ │ - vldr d11, [pc, #36] @ 60 │ │ │ │ │ - lsls r2, r2, #3 │ │ │ │ │ - str r2, [sp, #512] @ 0x200 │ │ │ │ │ - ldr r2, [pc, #40] @ (6c ) │ │ │ │ │ + add r3, pc │ │ │ │ │ + ble.w 10c0 │ │ │ │ │ + vldr d12, [pc, #48] @ 68 │ │ │ │ │ + mov r9, lr │ │ │ │ │ + mov lr, r1 │ │ │ │ │ + ldr r2, [sp, #632] @ 0x278 │ │ │ │ │ + vldr d14, [pc, #48] @ 70 │ │ │ │ │ + vldr d11, [pc, #52] @ 78 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + ldr.w ip, [sp, #620] @ 0x26c │ │ │ │ │ + str r2, [sp, #500] @ 0x1f4 │ │ │ │ │ + ldr r2, [sp, #636] @ 0x27c │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + str r2, [sp, #504] @ 0x1f8 │ │ │ │ │ + ldr r2, [pc, #40] @ (84 ) │ │ │ │ │ ldr r3, [r3, r2] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - str r3, [sp, #516] @ 0x204 │ │ │ │ │ - b.n 70 │ │ │ │ │ - nop │ │ │ │ │ - nop.w │ │ │ │ │ + str r3, [sp, #508] @ 0x1fc │ │ │ │ │ + mov r3, sl │ │ │ │ │ + mov sl, r0 │ │ │ │ │ + mov fp, r3 │ │ │ │ │ + b.n 88 │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ - .word 0x0000004c │ │ │ │ │ + .word 0x0000004e │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - mov.w r0, lr, lsl #7 │ │ │ │ │ - movs r2, #96 @ 0x60 │ │ │ │ │ - add.w r3, sl, r0 │ │ │ │ │ + mov.w r3, r9, lsl #7 │ │ │ │ │ vldr d4, [sl] │ │ │ │ │ - mov.w r8, #160 @ 0xa0 │ │ │ │ │ - movs r6, #248 @ 0xf8 │ │ │ │ │ - mul.w r1, r2, lr │ │ │ │ │ - mov.w r2, lr, lsl #6 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - movs r3, #224 @ 0xe0 │ │ │ │ │ - mul.w r7, r6, lr │ │ │ │ │ - mov.w ip, #88 @ 0x58 │ │ │ │ │ - mul.w r4, r3, lr │ │ │ │ │ + mov.w r5, r9, lsl #3 │ │ │ │ │ + add.w r2, sl, r3 │ │ │ │ │ + add.w r8, r9, r9, lsl #1 │ │ │ │ │ + sub.w r6, r5, r9 │ │ │ │ │ + mov.w r1, r9, lsl #6 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + mov.w r4, r6, lsl #5 │ │ │ │ │ + mov.w r0, r8, lsl #5 │ │ │ │ │ + str r5, [sp, #0] │ │ │ │ │ + add.w r2, sl, r4 │ │ │ │ │ + add r4, fp │ │ │ │ │ vadd.f64 d8, d4, d7 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ - add.w r3, sl, r4 │ │ │ │ │ - add r4, fp │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - add.w r3, sl, r1 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + add.w r2, sl, r0 │ │ │ │ │ + add r0, fp │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add.w r2, sl, r1 │ │ │ │ │ add r1, fp │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - add.w r3, sl, r2 │ │ │ │ │ - add r2, fp │ │ │ │ │ vadd.f64 d1, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - add r3, r0 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - mov.w r3, lr, lsl #5 │ │ │ │ │ - add.w r5, sl, r3 │ │ │ │ │ - add r3, fp │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add r2, r3 │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + mov.w r2, r9, lsl #5 │ │ │ │ │ + add.w r5, sl, r2 │ │ │ │ │ vadd.f64 d0, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vldr d5, [r5] │ │ │ │ │ - add r5, r0 │ │ │ │ │ + add r5, r3 │ │ │ │ │ vldr d3, [r5] │ │ │ │ │ - movs r5, #184 @ 0xb8 │ │ │ │ │ vadd.f64 d2, d5, d3 │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ vsub.f64 d3, d8, d0 │ │ │ │ │ vadd.f64 d0, d8, d0 │ │ │ │ │ vsub.f64 d9, d1, d2 │ │ │ │ │ - vadd.f64 d1, d1, d2 │ │ │ │ │ + vadd.f64 d8, d1, d2 │ │ │ │ │ vstr d3, [sp, #16] │ │ │ │ │ vadd.f64 d3, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ + vadd.f64 d15, d0, d8 │ │ │ │ │ vstr d0, [sp, #32] │ │ │ │ │ - vadd.f64 d8, d0, d1 │ │ │ │ │ - vstr d1, [sp, #40] @ 0x28 │ │ │ │ │ vmul.f64 d3, d3, d12 │ │ │ │ │ - vstr d9, [sp, #24] │ │ │ │ │ vmul.f64 d7, d7, d12 │ │ │ │ │ - vstr d8, [sp, #368] @ 0x170 │ │ │ │ │ + vstr d9, [sp, #24] │ │ │ │ │ + vstr d8, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d15, [sp, #376] @ 0x178 │ │ │ │ │ vadd.f64 d10, d4, d3 │ │ │ │ │ - vsub.f64 d4, d4, d3 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d13, d6, d7 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - add.w r1, fp, r0 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + vsub.f64 d4, d4, d3 │ │ │ │ │ + add.w r0, fp, r3 │ │ │ │ │ vldr d7, [r4] │ │ │ │ │ - movs r4, #56 @ 0x38 │ │ │ │ │ - vstr d4, [sp, #344] @ 0x158 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - mla r1, r8, lr, fp │ │ │ │ │ - vstr d5, [sp, #352] @ 0x160 │ │ │ │ │ + vstr d10, [sp, #344] @ 0x158 │ │ │ │ │ + vstr d4, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ + add.w r0, fp, r2 │ │ │ │ │ + sub.w r2, r2, r9 │ │ │ │ │ + vstr d5, [sp, #360] @ 0x168 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [fp] │ │ │ │ │ - vstr d10, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ - movs r1, #120 @ 0x78 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + vstr d13, [sp, #368] @ 0x170 │ │ │ │ │ vsub.f64 d1, d6, d4 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - movs r3, #48 @ 0x30 │ │ │ │ │ - vstr d13, [sp, #360] @ 0x168 │ │ │ │ │ - mul.w r6, r1, lr │ │ │ │ │ - mul.w r1, r4, lr │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ + add.w r0, r9, r9, lsl #2 │ │ │ │ │ + str r0, [sp, #168] @ 0xa8 │ │ │ │ │ + add.w r0, fp, r0, lsl #5 │ │ │ │ │ + vldr d3, [r0] │ │ │ │ │ vsub.f64 d0, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ - vldr d3, [r2] │ │ │ │ │ - movs r2, #192 @ 0xc0 │ │ │ │ │ - mla r2, r2, lr, fp │ │ │ │ │ - vldr d2, [r2] │ │ │ │ │ - add.w r2, fp, r7 │ │ │ │ │ - add r7, sl │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ + add.w r1, fp, r8, lsl #6 │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ + add.w r1, fp, r2 │ │ │ │ │ + add r2, sl │ │ │ │ │ + vsub.f64 d10, d7, d4 │ │ │ │ │ + vadd.f64 d7, d7, d4 │ │ │ │ │ vsub.f64 d8, d3, d2 │ │ │ │ │ vadd.f64 d3, d3, d2 │ │ │ │ │ - vsub.f64 d2, d7, d4 │ │ │ │ │ - vadd.f64 d7, d7, d4 │ │ │ │ │ - vsub.f64 d15, d6, d3 │ │ │ │ │ + vstr d10, [sp, #56] @ 0x38 │ │ │ │ │ + vsub.f64 d2, d6, d3 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ - vstr d2, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d2, [sp, #48] @ 0x30 │ │ │ │ │ vsub.f64 d2, d5, d0 │ │ │ │ │ vadd.f64 d5, d5, d0 │ │ │ │ │ - vstr d15, [sp, #48] @ 0x30 │ │ │ │ │ vadd.f64 d4, d6, d7 │ │ │ │ │ vmul.f64 d2, d2, d12 │ │ │ │ │ vmul.f64 d5, d5, d12 │ │ │ │ │ - vstr d4, [sp, #392] @ 0x188 │ │ │ │ │ - vsub.f64 d10, d2, d8 │ │ │ │ │ - vadd.f64 d13, d8, d2 │ │ │ │ │ - vadd.f64 d15, d1, d5 │ │ │ │ │ + vsub.f64 d13, d2, d8 │ │ │ │ │ + vadd.f64 d15, d8, d2 │ │ │ │ │ + vadd.f64 d2, d1, d5 │ │ │ │ │ vsub.f64 d5, d1, d5 │ │ │ │ │ - vstr d10, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d5, [sp, #384] @ 0x180 │ │ │ │ │ - vsub.f64 d5, d6, d7 │ │ │ │ │ - vstr d13, [sp, #376] @ 0x178 │ │ │ │ │ - vstr d15, [sp, #72] @ 0x48 │ │ │ │ │ - vstr d5, [sp, #400] @ 0x190 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - add.w r2, fp, r6 │ │ │ │ │ - add r6, sl │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - add.w r2, fp, r1 │ │ │ │ │ - add r1, sl │ │ │ │ │ - vldr d3, [r2] │ │ │ │ │ - mla r2, r5, lr, fp │ │ │ │ │ + vsub.f64 d1, d6, d7 │ │ │ │ │ + vstr d13, [sp, #64] @ 0x40 │ │ │ │ │ + vstr d2, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d15, [sp, #384] @ 0x180 │ │ │ │ │ + vstr d5, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + mov.w r1, r9, lsl #4 │ │ │ │ │ + sub.w r4, r1, r9 │ │ │ │ │ + mov.w r7, r4, lsl #3 │ │ │ │ │ + str r1, [sp, #8] │ │ │ │ │ + mov.w r1, #184 @ 0xb8 │ │ │ │ │ + vstr d1, [sp, #400] @ 0x190 │ │ │ │ │ + add.w r0, fp, r7 │ │ │ │ │ + str r4, [sp, #232] @ 0xe8 │ │ │ │ │ + mov.w r4, r6, lsl #3 │ │ │ │ │ + str r6, [sp, #224] @ 0xe0 │ │ │ │ │ + add r7, sl │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + add.w r0, fp, r4 │ │ │ │ │ + add r4, sl │ │ │ │ │ + vstr d4, [sp, #392] @ 0x188 │ │ │ │ │ + vldr d3, [r0] │ │ │ │ │ + mla r0, r1, r9, fp │ │ │ │ │ + mov.w r1, #88 @ 0x58 │ │ │ │ │ vsub.f64 d8, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - movs r2, #24 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + mov.w r0, r8, lsl #3 │ │ │ │ │ + add.w r5, fp, r0 │ │ │ │ │ + add r0, sl │ │ │ │ │ vsub.f64 d1, d3, d7 │ │ │ │ │ vadd.f64 d3, d3, d7 │ │ │ │ │ - add.w r4, fp, r2 │ │ │ │ │ - add r2, sl │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - movs r4, #152 @ 0x98 │ │ │ │ │ - vsub.f64 d13, d6, d3 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + mov.w r5, #152 @ 0x98 │ │ │ │ │ + mla r5, r5, r9, fp │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + mov.w r5, #216 @ 0xd8 │ │ │ │ │ + vsub.f64 d10, d6, d3 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ - mla r4, r4, lr, fp │ │ │ │ │ - vstr d13, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - movs r4, #216 @ 0xd8 │ │ │ │ │ - mul.w r4, r4, lr │ │ │ │ │ + mul.w r5, r5, r9 │ │ │ │ │ + add.w r6, fp, r5 │ │ │ │ │ + add r5, sl │ │ │ │ │ vsub.f64 d0, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - add.w r5, fp, r4 │ │ │ │ │ - add r4, sl │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ - mul.w r5, ip, lr │ │ │ │ │ - add.w ip, fp, r5 │ │ │ │ │ - add r5, sl │ │ │ │ │ - vldr d2, [ip] │ │ │ │ │ + vstr d10, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ + mul.w r6, r1, r9 │ │ │ │ │ + add.w r1, fp, r6 │ │ │ │ │ + add r6, sl │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ vsub.f64 d5, d4, d2 │ │ │ │ │ vadd.f64 d4, d4, d2 │ │ │ │ │ vadd.f64 d2, d0, d5 │ │ │ │ │ vsub.f64 d15, d4, d7 │ │ │ │ │ - vadd.f64 d7, d7, d4 │ │ │ │ │ vsub.f64 d5, d5, d0 │ │ │ │ │ + vadd.f64 d7, d7, d4 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + add r4, r3 │ │ │ │ │ vmul.f64 d2, d2, d12 │ │ │ │ │ - vstr d15, [sp, #88] @ 0x58 │ │ │ │ │ - vadd.f64 d4, d6, d7 │ │ │ │ │ - vsub.f64 d7, d6, d7 │ │ │ │ │ + vstr d15, [sp, #96] @ 0x60 │ │ │ │ │ + vadd.f64 d3, d6, d7 │ │ │ │ │ vmul.f64 d5, d5, d12 │ │ │ │ │ + vsub.f64 d7, d6, d7 │ │ │ │ │ vadd.f64 d9, d8, d2 │ │ │ │ │ vsub.f64 d2, d8, d2 │ │ │ │ │ - vstr d4, [sp, #128] @ 0x80 │ │ │ │ │ + vsub.f64 d13, d5, d1 │ │ │ │ │ + vadd.f64 d5, d1, d5 │ │ │ │ │ vstr d7, [sp, #408] @ 0x198 │ │ │ │ │ - vsub.f64 d10, d5, d1 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - vadd.f64 d13, d1, d5 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - add r1, r0 │ │ │ │ │ - vstr d2, [sp, #104] @ 0x68 │ │ │ │ │ - mov.w r6, lr, lsl #3 │ │ │ │ │ - vldr d2, [r7] │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ - vldr d3, [r1] │ │ │ │ │ - movs r1, #232 @ 0xe8 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ + vstr d2, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ + vstr d9, [sp, #104] @ 0x68 │ │ │ │ │ + vstr d5, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d5, [r6] │ │ │ │ │ + vstr d3, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d3, [r4] │ │ │ │ │ + mov.w r4, #232 @ 0xe8 │ │ │ │ │ vadd.f64 d0, d2, d7 │ │ │ │ │ vsub.f64 d2, d2, d7 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - vstr d9, [sp, #96] @ 0x60 │ │ │ │ │ - mul.w r1, r1, lr │ │ │ │ │ - vstr d10, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d13, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + mul.w r4, r4, r9 │ │ │ │ │ vadd.f64 d6, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ vadd.f64 d5, d4, d3 │ │ │ │ │ vsub.f64 d4, d4, d3 │ │ │ │ │ - vldr d3, [r2] │ │ │ │ │ - add r2, r0 │ │ │ │ │ - vstr d13, [sp, #120] @ 0x78 │ │ │ │ │ - vldr d8, [r2] │ │ │ │ │ - add.w r2, sl, r6 │ │ │ │ │ - add r6, fp │ │ │ │ │ + vldr d3, [r0] │ │ │ │ │ + add r0, r3 │ │ │ │ │ + vldr d8, [r0] │ │ │ │ │ + mov.w r0, #104 @ 0x68 │ │ │ │ │ + mul.w r0, r0, r9 │ │ │ │ │ vadd.f64 d1, d3, d8 │ │ │ │ │ vsub.f64 d3, d3, d8 │ │ │ │ │ vadd.f64 d8, d7, d3 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vmul.f64 d7, d7, d12 │ │ │ │ │ vmul.f64 d8, d8, d12 │ │ │ │ │ - vsub.f64 d3, d7, d4 │ │ │ │ │ + vmul.f64 d7, d7, d12 │ │ │ │ │ + vadd.f64 d10, d2, d8 │ │ │ │ │ + vsub.f64 d9, d2, d8 │ │ │ │ │ + vsub.f64 d13, d7, d4 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ vadd.f64 d7, d6, d1 │ │ │ │ │ vsub.f64 d6, d6, d1 │ │ │ │ │ - vadd.f64 d15, d2, d8 │ │ │ │ │ - vsub.f64 d9, d2, d8 │ │ │ │ │ - vstr d4, [sp, #136] @ 0x88 │ │ │ │ │ + vstr d10, [sp, #416] @ 0x1a0 │ │ │ │ │ + vstr d9, [sp, #424] @ 0x1a8 │ │ │ │ │ + vstr d13, [sp, #432] @ 0x1b0 │ │ │ │ │ + vstr d4, [sp, #144] @ 0x90 │ │ │ │ │ vadd.f64 d4, d0, d5 │ │ │ │ │ - vstr d3, [sp, #432] @ 0x1b0 │ │ │ │ │ vsub.f64 d5, d0, d5 │ │ │ │ │ - vstr d15, [sp, #416] @ 0x1a0 │ │ │ │ │ - vstr d9, [sp, #424] @ 0x1a8 │ │ │ │ │ - vadd.f64 d3, d4, d7 │ │ │ │ │ + ldr r5, [sp, #0] │ │ │ │ │ + ldr r1, [sp, #168] @ 0xa8 │ │ │ │ │ + vadd.f64 d15, d4, d7 │ │ │ │ │ vsub.f64 d7, d4, d7 │ │ │ │ │ + add.w r2, sl, r5 │ │ │ │ │ + add.w r7, r5, r9 │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + add r2, r3 │ │ │ │ │ + mov.w r5, r7, lsl #3 │ │ │ │ │ + mov.w r6, r1, lsl #3 │ │ │ │ │ + add.w r7, fp, r7, lsl #4 │ │ │ │ │ + vstr d15, [sp, #152] @ 0x98 │ │ │ │ │ vstr d7, [sp, #440] @ 0x1b8 │ │ │ │ │ vmul.f64 d7, d6, d11 │ │ │ │ │ vmul.f64 d6, d6, d14 │ │ │ │ │ - vstr d3, [sp, #144] @ 0x90 │ │ │ │ │ - vmla.f64 d6, d5, d11 │ │ │ │ │ vnmls.f64 d7, d5, d14 │ │ │ │ │ - vstr d6, [sp, #152] @ 0x98 │ │ │ │ │ + vmla.f64 d6, d5, d11 │ │ │ │ │ + vstr d6, [sp, #160] @ 0xa0 │ │ │ │ │ vstr d7, [sp, #448] @ 0x1c0 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - add r2, r0 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - add.w r2, sl, r1 │ │ │ │ │ - add r1, fp │ │ │ │ │ + add.w r2, sl, r4 │ │ │ │ │ + add r4, fp │ │ │ │ │ vadd.f64 d1, d4, d7 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - movs r2, #104 @ 0x68 │ │ │ │ │ - mul.w r2, r2, lr │ │ │ │ │ - add.w r4, sl, r2 │ │ │ │ │ - add r2, fp │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - movs r4, #72 @ 0x48 │ │ │ │ │ - mul.w r4, r4, lr │ │ │ │ │ + add.w r2, sl, r0 │ │ │ │ │ + add r0, fp │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add.w r2, sl, r5 │ │ │ │ │ + add r5, fp │ │ │ │ │ + vldr d0, [r2] │ │ │ │ │ + add r2, r3 │ │ │ │ │ + vldr d3, [r2] │ │ │ │ │ + add.w r2, sl, r6 │ │ │ │ │ + add r6, fp │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - add.w r5, sl, r4 │ │ │ │ │ - add r4, fp │ │ │ │ │ - vldr d0, [r5] │ │ │ │ │ - add r5, r0 │ │ │ │ │ - vldr d3, [r5] │ │ │ │ │ - movs r5, #40 @ 0x28 │ │ │ │ │ - mul.w r5, r5, lr │ │ │ │ │ vadd.f64 d6, d0, d3 │ │ │ │ │ vsub.f64 d0, d0, d3 │ │ │ │ │ - add.w r7, sl, r5 │ │ │ │ │ - add r5, fp │ │ │ │ │ - vldr d3, [r7] │ │ │ │ │ - add r7, r0 │ │ │ │ │ - vldr d8, [r7] │ │ │ │ │ - mov.w r7, lr, lsl #4 │ │ │ │ │ - add.w ip, sl, r7 │ │ │ │ │ - add r7, fp │ │ │ │ │ + vldr d3, [r2] │ │ │ │ │ + add r2, r3 │ │ │ │ │ + vldr d8, [r2] │ │ │ │ │ + ldr r2, [sp, #8] │ │ │ │ │ vadd.f64 d2, d3, d8 │ │ │ │ │ vsub.f64 d3, d3, d8 │ │ │ │ │ + add r2, sl │ │ │ │ │ vsub.f64 d8, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d12 │ │ │ │ │ vmul.f64 d8, d8, d12 │ │ │ │ │ - vadd.f64 d9, d4, d7 │ │ │ │ │ + vadd.f64 d3, d4, d7 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ vadd.f64 d7, d5, d2 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ - vsub.f64 d13, d8, d0 │ │ │ │ │ + vsub.f64 d10, d8, d0 │ │ │ │ │ vadd.f64 d0, d0, d8 │ │ │ │ │ - vstr d4, [sp, #184] @ 0xb8 │ │ │ │ │ + vstr d4, [sp, #192] @ 0xc0 │ │ │ │ │ vadd.f64 d4, d1, d6 │ │ │ │ │ vsub.f64 d6, d1, d6 │ │ │ │ │ - vstr d9, [sp, #176] @ 0xb0 │ │ │ │ │ - vstr d0, [sp, #168] @ 0xa8 │ │ │ │ │ - vstr d13, [sp, #160] @ 0xa0 │ │ │ │ │ - vadd.f64 d10, d4, d7 │ │ │ │ │ - vsub.f64 d9, d4, d7 │ │ │ │ │ + vstr d3, [sp, #184] @ 0xb8 │ │ │ │ │ + vstr d10, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d0, [sp, #176] @ 0xb0 │ │ │ │ │ + vadd.f64 d3, d4, d7 │ │ │ │ │ + vsub.f64 d4, d4, d7 │ │ │ │ │ vmul.f64 d7, d5, d11 │ │ │ │ │ vmla.f64 d7, d6, d14 │ │ │ │ │ vmul.f64 d6, d6, d11 │ │ │ │ │ - vstr d10, [sp, #192] @ 0xc0 │ │ │ │ │ - vstr d9, [sp, #456] @ 0x1c8 │ │ │ │ │ + vstr d3, [sp, #200] @ 0xc8 │ │ │ │ │ + vstr d4, [sp, #456] @ 0x1c8 │ │ │ │ │ vmov.f64 d4, d6 │ │ │ │ │ vnmls.f64 d4, d5, d14 │ │ │ │ │ - vstr d7, [sp, #200] @ 0xc8 │ │ │ │ │ - vstr d4, [sp, #208] @ 0xd0 │ │ │ │ │ - vldr d4, [ip] │ │ │ │ │ - add ip, r0 │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ - mul.w ip, r3, lr │ │ │ │ │ - add.w r8, sl, ip │ │ │ │ │ - add ip, fp │ │ │ │ │ + vstr d7, [sp, #208] @ 0xd0 │ │ │ │ │ + vstr d4, [sp, #216] @ 0xd8 │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + add r2, r3 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + mov.w r2, r8, lsl #4 │ │ │ │ │ + str r2, [sp, #264] @ 0x108 │ │ │ │ │ + add r2, sl │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add r2, r3 │ │ │ │ │ vadd.f64 d0, d4, d7 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ - vldr d6, [r8] │ │ │ │ │ - add r8, r0 │ │ │ │ │ - vldr d7, [r8] │ │ │ │ │ - mov.w r8, #80 @ 0x50 │ │ │ │ │ - mul.w r8, r8, lr │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + mov.w r2, r1, lsl #4 │ │ │ │ │ + add.w r8, sl, r2 │ │ │ │ │ + add r2, fp │ │ │ │ │ vadd.f64 d1, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ + vldr d7, [r8] │ │ │ │ │ + add r8, r3 │ │ │ │ │ + ldr r3, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d5, [r8] │ │ │ │ │ + mov.w r8, r3, lsl #4 │ │ │ │ │ add.w r3, sl, r8 │ │ │ │ │ add r8, fp │ │ │ │ │ - add r0, r3 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ - movs r0, #240 @ 0xf0 │ │ │ │ │ - mul.w r0, r0, lr │ │ │ │ │ vadd.f64 d2, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - add.w r3, sl, r0 │ │ │ │ │ - add r0, fp │ │ │ │ │ - vadd.f64 d13, d0, d2 │ │ │ │ │ - vsub.f64 d2, d0, d2 │ │ │ │ │ vldr d8, [r3] │ │ │ │ │ - movs r3, #112 @ 0x70 │ │ │ │ │ - mul.w r3, r3, lr │ │ │ │ │ - vstr d13, [sp, #216] @ 0xd8 │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ - add r3, sl │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ + ldr r3, [sp, #224] @ 0xe0 │ │ │ │ │ + vadd.f64 d10, d0, d2 │ │ │ │ │ + vsub.f64 d2, d0, d2 │ │ │ │ │ + mov.w r3, r3, lsl #4 │ │ │ │ │ + add.w r1, sl, r3 │ │ │ │ │ + add r3, fp │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ + vstr d10, [sp, #224] @ 0xe0 │ │ │ │ │ vadd.f64 d5, d8, d3 │ │ │ │ │ vsub.f64 d3, d8, d3 │ │ │ │ │ vadd.f64 d15, d1, d5 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ vadd.f64 d1, d2, d5 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ + vstr d15, [sp, #232] @ 0xe8 │ │ │ │ │ + vadd.f64 d13, d10, d15 │ │ │ │ │ + vmul.f64 d2, d5, d12 │ │ │ │ │ + vmul.f64 d5, d7, d11 │ │ │ │ │ + vmul.f64 d7, d7, d14 │ │ │ │ │ + vmul.f64 d1, d1, d12 │ │ │ │ │ + vstr d13, [sp, #240] @ 0xf0 │ │ │ │ │ + vnmls.f64 d5, d4, d14 │ │ │ │ │ + vmla.f64 d7, d4, d11 │ │ │ │ │ + vstr d2, [sp, #256] @ 0x100 │ │ │ │ │ vmul.f64 d2, d6, d11 │ │ │ │ │ vmul.f64 d6, d6, d14 │ │ │ │ │ + vstr d1, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d1, [r7] │ │ │ │ │ vmla.f64 d2, d3, d14 │ │ │ │ │ - vadd.f64 d10, d13, d15 │ │ │ │ │ - vstr d15, [sp, #224] @ 0xe0 │ │ │ │ │ - vmul.f64 d5, d5, d12 │ │ │ │ │ - vmul.f64 d1, d1, d12 │ │ │ │ │ vnmls.f64 d6, d3, d11 │ │ │ │ │ - vstr d10, [sp, #232] @ 0xe8 │ │ │ │ │ - vstr d5, [sp, #248] @ 0xf8 │ │ │ │ │ - vmul.f64 d5, d7, d11 │ │ │ │ │ - vmul.f64 d7, d7, d14 │ │ │ │ │ - vstr d1, [sp, #240] @ 0xf0 │ │ │ │ │ - vmla.f64 d7, d4, d11 │ │ │ │ │ - vnmls.f64 d5, d4, d14 │ │ │ │ │ - vsub.f64 d3, d6, d7 │ │ │ │ │ vadd.f64 d0, d5, d2 │ │ │ │ │ vsub.f64 d5, d2, d5 │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ + vadd.f64 d3, d6, d7 │ │ │ │ │ + ldr r2, [sp, #264] @ 0x108 │ │ │ │ │ vstr d0, [sp, #464] @ 0x1d0 │ │ │ │ │ - vadd.f64 d0, d6, d7 │ │ │ │ │ vstr d5, [sp, #472] @ 0x1d8 │ │ │ │ │ - vstr d3, [sp, #480] @ 0x1e0 │ │ │ │ │ - ldr r3, [sp, #8] │ │ │ │ │ - vldr d3, [r0] │ │ │ │ │ - add.w r0, fp, r3 │ │ │ │ │ - vldr d2, [r8] │ │ │ │ │ - vstr d0, [sp, #488] @ 0x1e8 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - movs r0, #208 @ 0xd0 │ │ │ │ │ - mla r8, r0, lr, fp │ │ │ │ │ - vsub.f64 d9, d3, d7 │ │ │ │ │ - vadd.f64 d3, d3, d7 │ │ │ │ │ + vsub.f64 d5, d6, d7 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ vldr d7, [r8] │ │ │ │ │ - mov.w r8, #160 @ 0xa0 │ │ │ │ │ - vsub.f64 d5, d2, d7 │ │ │ │ │ - vadd.f64 d2, d2, d7 │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ - mov.w ip, #176 @ 0xb0 │ │ │ │ │ - mla ip, ip, lr, fp │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ - mov.w ip, r9, lsl #6 │ │ │ │ │ - vsub.f64 d4, d7, d6 │ │ │ │ │ + mov.w r8, #208 @ 0xd0 │ │ │ │ │ + mla r3, r8, r9, fp │ │ │ │ │ + vstr d5, [sp, #480] @ 0x1e0 │ │ │ │ │ + mov.w r8, lr, lsl #2 │ │ │ │ │ + vstr d3, [sp, #488] @ 0x1e8 │ │ │ │ │ + vsub.f64 d9, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - movs r7, #144 @ 0x90 │ │ │ │ │ - mla r7, r7, lr, fp │ │ │ │ │ - vmul.f64 d0, d4, d14 │ │ │ │ │ - vmul.f64 d4, d4, d11 │ │ │ │ │ - vmla.f64 d4, d9, d14 │ │ │ │ │ - vldr d1, [r7] │ │ │ │ │ - vnmls.f64 d0, d9, d11 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + add.w r3, fp, r2 │ │ │ │ │ + mov.w r2, #176 @ 0xb0 │ │ │ │ │ + vldr d3, [r3] │ │ │ │ │ + mla r3, r2, r9, fp │ │ │ │ │ + ldr r2, [sp, #8] │ │ │ │ │ + vsub.f64 d5, d2, d6 │ │ │ │ │ + vadd.f64 d2, d2, d6 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + add.w r3, fp, r2 │ │ │ │ │ + add r2, r9 │ │ │ │ │ + add.w r1, fp, r2, lsl #3 │ │ │ │ │ + vsub.f64 d4, d3, d6 │ │ │ │ │ + vadd.f64 d3, d3, d6 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + ldr r3, [sp, #0] │ │ │ │ │ vsub.f64 d8, d6, d1 │ │ │ │ │ + vmul.f64 d0, d4, d14 │ │ │ │ │ vadd.f64 d6, d6, d1 │ │ │ │ │ vmul.f64 d1, d5, d14 │ │ │ │ │ + add r3, fp │ │ │ │ │ + vmul.f64 d4, d4, d11 │ │ │ │ │ vmul.f64 d5, d5, d11 │ │ │ │ │ + vnmls.f64 d0, d9, d11 │ │ │ │ │ vmla.f64 d1, d8, d11 │ │ │ │ │ - vadd.f64 d15, d2, d6 │ │ │ │ │ vnmls.f64 d5, d8, d14 │ │ │ │ │ + vmla.f64 d4, d9, d14 │ │ │ │ │ + vadd.f64 d15, d2, d6 │ │ │ │ │ vsub.f64 d6, d6, d2 │ │ │ │ │ - vsub.f64 d10, d0, d1 │ │ │ │ │ - vadd.f64 d13, d0, d1 │ │ │ │ │ - vadd.f64 d8, d5, d4 │ │ │ │ │ - vadd.f64 d0, d3, d7 │ │ │ │ │ - vsub.f64 d5, d4, d5 │ │ │ │ │ - vsub.f64 d7, d3, d7 │ │ │ │ │ - vstr d10, [sp, #256] @ 0x100 │ │ │ │ │ - vstr d13, [sp, #496] @ 0x1f0 │ │ │ │ │ + vsub.f64 d13, d0, d1 │ │ │ │ │ + vadd.f64 d1, d0, d1 │ │ │ │ │ + vadd.f64 d0, d7, d3 │ │ │ │ │ + vsub.f64 d7, d7, d3 │ │ │ │ │ + vldr d3, [r6] │ │ │ │ │ + vadd.f64 d9, d5, d4 │ │ │ │ │ + mov.w r6, lr, lsl #6 │ │ │ │ │ + vstr d13, [sp, #8] │ │ │ │ │ vadd.f64 d13, d15, d0 │ │ │ │ │ - vstr d5, [sp, #272] @ 0x110 │ │ │ │ │ + vsub.f64 d15, d0, d15 │ │ │ │ │ + vstr d1, [sp, #264] @ 0x108 │ │ │ │ │ + vsub.f64 d0, d4, d5 │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ + vstr d9, [sp, #272] @ 0x110 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ - movs r6, #136 @ 0x88 │ │ │ │ │ - vsub.f64 d15, d0, d15 │ │ │ │ │ - vstr d8, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + mov.w r3, #168 @ 0xa8 │ │ │ │ │ + mla r3, r3, r9, fp │ │ │ │ │ + vldr d9, [r1] │ │ │ │ │ vmul.f64 d2, d5, d12 │ │ │ │ │ - vmul.f64 d3, d7, d12 │ │ │ │ │ - mla r6, r6, lr, fp │ │ │ │ │ - vstr d2, [sp, #280] @ 0x118 │ │ │ │ │ - vstr d3, [sp, #288] @ 0x120 │ │ │ │ │ - vldr d3, [r5] │ │ │ │ │ - movs r5, #168 @ 0xa8 │ │ │ │ │ - vldr d2, [r4] │ │ │ │ │ - movs r4, #200 @ 0xc8 │ │ │ │ │ - vldr d9, [r6] │ │ │ │ │ - mla r5, r5, lr, fp │ │ │ │ │ - mla r4, r4, lr, fp │ │ │ │ │ - vsub.f64 d10, d6, d9 │ │ │ │ │ - vadd.f64 d9, d6, d9 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - mov.w r5, r9, lsl #7 │ │ │ │ │ + vstr d0, [sp, #280] @ 0x118 │ │ │ │ │ + vmul.f64 d10, d7, d12 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + mov.w r3, #200 @ 0xc8 │ │ │ │ │ + mla r3, r3, r9, fp │ │ │ │ │ + vstr d2, [sp, #288] @ 0x120 │ │ │ │ │ vsub.f64 d4, d3, d7 │ │ │ │ │ vadd.f64 d3, d3, d7 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - vsub.f64 d5, d2, d7 │ │ │ │ │ - vadd.f64 d2, d2, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ + vstr d10, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d2, [r5] │ │ │ │ │ + vsub.f64 d10, d6, d9 │ │ │ │ │ + vadd.f64 d9, d6, d9 │ │ │ │ │ + mov.w r5, lr, lsl #7 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + mov r4, r6 │ │ │ │ │ vmul.f64 d0, d4, d11 │ │ │ │ │ vmul.f64 d4, d4, d14 │ │ │ │ │ + str r5, [sp, #0] │ │ │ │ │ + ldr r1, [sp, #4] │ │ │ │ │ + vsub.f64 d5, d2, d7 │ │ │ │ │ + vadd.f64 d2, d2, d7 │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + mov.w r0, ip, lsl #7 │ │ │ │ │ + ldr r3, [sp, #496] @ 0x1f0 │ │ │ │ │ + add.w r2, r1, r0 │ │ │ │ │ vsub.f64 d1, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vmul.f64 d7, d5, d11 │ │ │ │ │ vmul.f64 d5, d5, d14 │ │ │ │ │ - vmla.f64 d5, d10, d11 │ │ │ │ │ + add r3, r5 │ │ │ │ │ + vnmls.f64 d7, d10, d14 │ │ │ │ │ vmla.f64 d0, d1, d14 │ │ │ │ │ vnmls.f64 d4, d1, d11 │ │ │ │ │ - vnmls.f64 d7, d10, d14 │ │ │ │ │ - vsub.f64 d1, d4, d5 │ │ │ │ │ - vadd.f64 d5, d4, d5 │ │ │ │ │ + vmla.f64 d5, d10, d11 │ │ │ │ │ vadd.f64 d8, d7, d0 │ │ │ │ │ vsub.f64 d0, d0, d7 │ │ │ │ │ - vstr d1, [sp, #312] @ 0x138 │ │ │ │ │ - vstr d8, [sp, #296] @ 0x128 │ │ │ │ │ + vsub.f64 d1, d4, d5 │ │ │ │ │ + vadd.f64 d5, d4, d5 │ │ │ │ │ + vstr d8, [sp, #304] @ 0x130 │ │ │ │ │ vadd.f64 d8, d3, d6 │ │ │ │ │ - vstr d0, [sp, #304] @ 0x130 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ + vstr d0, [sp, #312] @ 0x138 │ │ │ │ │ vadd.f64 d0, d9, d2 │ │ │ │ │ vsub.f64 d9, d9, d2 │ │ │ │ │ - vldr d1, [sp, #232] @ 0xe8 │ │ │ │ │ - vldr d3, [sp, #144] @ 0x90 │ │ │ │ │ - vstr d5, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d3, [sp, #200] @ 0xc8 │ │ │ │ │ + vstr d1, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d1, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d5, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d5, [sp, #240] @ 0xf0 │ │ │ │ │ vadd.f64 d10, d9, d6 │ │ │ │ │ vsub.f64 d6, d6, d9 │ │ │ │ │ vadd.f64 d7, d0, d8 │ │ │ │ │ vsub.f64 d0, d8, d0 │ │ │ │ │ - vldr d8, [sp, #368] @ 0x170 │ │ │ │ │ - vmul.f64 d2, d6, d12 │ │ │ │ │ + vldr d8, [sp, #392] @ 0x188 │ │ │ │ │ + vadd.f64 d1, d1, d3 │ │ │ │ │ + vldr d3, [sp, #136] @ 0x88 │ │ │ │ │ + vmul.f64 d9, d6, d12 │ │ │ │ │ vmul.f64 d10, d10, d12 │ │ │ │ │ - vadd.f64 d4, d8, d1 │ │ │ │ │ - vstr d2, [sp, #328] @ 0x148 │ │ │ │ │ - vldr d5, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d9, [sp, #392] @ 0x188 │ │ │ │ │ - ldr r3, [sp, #628] @ 0x274 │ │ │ │ │ - vadd.f64 d1, d3, d5 │ │ │ │ │ - vldr d3, [sp, #128] @ 0x80 │ │ │ │ │ - vadd.f64 d2, d9, d13 │ │ │ │ │ - ldr r6, [sp, #0] │ │ │ │ │ - ldr r2, [sp, #504] @ 0x1f8 │ │ │ │ │ - lsls r4, r3, #7 │ │ │ │ │ + vadd.f64 d2, d8, d13 │ │ │ │ │ + vsub.f64 d13, d8, d13 │ │ │ │ │ + vldr d8, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d9, [sp, #336] @ 0x150 │ │ │ │ │ + vldr d9, [sp, #376] @ 0x178 │ │ │ │ │ + vadd.f64 d4, d9, d5 │ │ │ │ │ vadd.f64 d5, d3, d7 │ │ │ │ │ - adds r1, r6, r4 │ │ │ │ │ vadd.f64 d6, d4, d1 │ │ │ │ │ - vsub.f64 d4, d4, d1 │ │ │ │ │ - add r2, r5 │ │ │ │ │ - vldr d1, [sp, #232] @ 0xe8 │ │ │ │ │ - vsub.f64 d13, d9, d13 │ │ │ │ │ - vldr d9, [sp, #456] @ 0x1c8 │ │ │ │ │ vadd.f64 d3, d2, d5 │ │ │ │ │ + vsub.f64 d4, d4, d1 │ │ │ │ │ vsub.f64 d5, d5, d2 │ │ │ │ │ - vstr d4, [r1] │ │ │ │ │ - add r1, r4 │ │ │ │ │ - vldr d2, [sp, #32] │ │ │ │ │ - mul.w r7, r8, r3 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ + vldr d1, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ + add r2, r0 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ vsub.f64 d5, d6, d3 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ - vldr d3, [sp, #144] @ 0x90 │ │ │ │ │ - add r2, ip │ │ │ │ │ - vstr d5, [r1] │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ - vsub.f64 d6, d8, d1 │ │ │ │ │ - vldr d8, [sp, #128] @ 0x80 │ │ │ │ │ - lsls r6, r3, #6 │ │ │ │ │ - vldr d5, [sp, #192] @ 0xc0 │ │ │ │ │ - subs r1, r1, r6 │ │ │ │ │ - vldr d1, [sp, #40] @ 0x28 │ │ │ │ │ - mul.w r3, r8, r9 │ │ │ │ │ - vsub.f64 d7, d8, d7 │ │ │ │ │ - vldr d8, [sp, #408] @ 0x198 │ │ │ │ │ - vsub.f64 d5, d3, d5 │ │ │ │ │ - str r3, [sp, #8] │ │ │ │ │ - mvn.w r8, #191 @ 0xbf │ │ │ │ │ + vldr d3, [sp, #200] @ 0xc8 │ │ │ │ │ + add r3, r6 │ │ │ │ │ + mov.w r6, ip, lsl #2 │ │ │ │ │ + add.w r7, r6, ip │ │ │ │ │ + sub.w r6, ip, r6 │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ + vldr d5, [sp, #240] @ 0xf0 │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ + mov.w r1, ip, lsl #6 │ │ │ │ │ + sub.w r2, r2, r1 │ │ │ │ │ + vsub.f64 d6, d9, d5 │ │ │ │ │ + vsub.f64 d5, d1, d3 │ │ │ │ │ + vldr d1, [sp, #32] │ │ │ │ │ + vldr d3, [sp, #136] @ 0x88 │ │ │ │ │ + vsub.f64 d7, d3, d7 │ │ │ │ │ vadd.f64 d4, d13, d7 │ │ │ │ │ vsub.f64 d7, d7, d13 │ │ │ │ │ - vldr d13, [pc, #1000] @ b90 │ │ │ │ │ + vldr d13, [pc, #1000] @ bc8 │ │ │ │ │ vmul.f64 d4, d4, d12 │ │ │ │ │ vmul.f64 d7, d7, d12 │ │ │ │ │ vsub.f64 d3, d6, d4 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vstr d3, [r1] │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ vsub.f64 d3, d7, d5 │ │ │ │ │ - subs r1, r1, r4 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ - vsub.f64 d7, d2, d1 │ │ │ │ │ + sub.w r2, r2, r0 │ │ │ │ │ + vsub.f64 d7, d1, d8 │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ + sub.w r3, r3, r5 │ │ │ │ │ + add.w r5, r8, lr │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + sub.w r8, lr, r8 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + vmul.f64 d5, d0, d14 │ │ │ │ │ + vmul.f64 d0, d0, d11 │ │ │ │ │ vldr d2, [sp, #440] @ 0x1b8 │ │ │ │ │ + str r7, [sp, #32] │ │ │ │ │ + mov.w r7, r7, lsl #5 │ │ │ │ │ vldr d1, [sp, #400] @ 0x190 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - subs r2, r2, r5 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ + add r2, r7 │ │ │ │ │ + str r5, [sp, #40] @ 0x28 │ │ │ │ │ + mov.w r5, r5, lsl #5 │ │ │ │ │ + vldr d9, [sp, #456] @ 0x1c8 │ │ │ │ │ + add r3, r5 │ │ │ │ │ + vldr d8, [sp, #408] @ 0x198 │ │ │ │ │ vadd.f64 d6, d2, d9 │ │ │ │ │ - add r1, r7 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - vmul.f64 d5, d0, d14 │ │ │ │ │ vmla.f64 d5, d8, d11 │ │ │ │ │ - vmul.f64 d0, d0, d11 │ │ │ │ │ - vmul.f64 d6, d6, d12 │ │ │ │ │ - add r2, r3 │ │ │ │ │ - ldr r3, [sp, #628] @ 0x274 │ │ │ │ │ vnmls.f64 d0, d8, d14 │ │ │ │ │ - vldr d8, [sp, #216] @ 0xd8 │ │ │ │ │ + vldr d8, [sp, #224] @ 0xe0 │ │ │ │ │ + vmul.f64 d6, d6, d12 │ │ │ │ │ vadd.f64 d3, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vmul.f64 d6, d1, d11 │ │ │ │ │ vnmls.f64 d6, d15, d14 │ │ │ │ │ vmul.f64 d15, d15, d11 │ │ │ │ │ vmla.f64 d15, d1, d14 │ │ │ │ │ vadd.f64 d4, d6, d5 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ vsub.f64 d6, d2, d9 │ │ │ │ │ - vldr d2, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d9, [sp, #24] │ │ │ │ │ vadd.f64 d1, d15, d0 │ │ │ │ │ vsub.f64 d0, d0, d15 │ │ │ │ │ - vsub.f64 d8, d2, d8 │ │ │ │ │ + vldr d15, [sp, #232] @ 0xe8 │ │ │ │ │ vmul.f64 d6, d6, d12 │ │ │ │ │ + vsub.f64 d8, d15, d8 │ │ │ │ │ + vldr d15, [sp, #448] @ 0x1c0 │ │ │ │ │ vsub.f64 d2, d6, d8 │ │ │ │ │ vadd.f64 d6, d6, d8 │ │ │ │ │ vsub.f64 d8, d3, d1 │ │ │ │ │ vadd.f64 d3, d3, d1 │ │ │ │ │ - vstr d8, [r1] │ │ │ │ │ + vldr d1, [sp, #248] @ 0xf8 │ │ │ │ │ + vstr d8, [r2] │ │ │ │ │ vsub.f64 d8, d4, d6 │ │ │ │ │ - mla r1, r8, r3, r1 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ vadd.f64 d6, d0, d2 │ │ │ │ │ + add.w r2, r2, r6, lsl #6 │ │ │ │ │ vsub.f64 d0, d0, d2 │ │ │ │ │ - vstr d8, [r2] │ │ │ │ │ - mla r2, r8, r9, r2 │ │ │ │ │ - vstr d3, [r1] │ │ │ │ │ - add r1, r6 │ │ │ │ │ - mov.w r8, #96 @ 0x60 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - add r2, ip │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ + vstr d8, [r3] │ │ │ │ │ + add.w r3, r3, r8, lsl #6 │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ + add r2, r1 │ │ │ │ │ + add.w r8, ip, ip, lsl #1 │ │ │ │ │ + vldr d3, [sp, #16] │ │ │ │ │ + add r1, r2 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + add r3, r4 │ │ │ │ │ + vldr d4, [sp, #216] @ 0xd8 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ vadd.f64 d6, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - add r2, ip │ │ │ │ │ - vldr d3, [sp, #16] │ │ │ │ │ - mov.w ip, #48 @ 0x30 │ │ │ │ │ - vldr d1, [sp, #240] @ 0xf0 │ │ │ │ │ - vstr d6, [r1] │ │ │ │ │ - add r1, r6 │ │ │ │ │ - vldr d6, [sp, #152] @ 0x98 │ │ │ │ │ - mul.w ip, ip, r3 │ │ │ │ │ - vldr d4, [sp, #208] @ 0xd0 │ │ │ │ │ + add r3, r4 │ │ │ │ │ + vldr d8, [sp, #256] @ 0x100 │ │ │ │ │ + mov.w r4, r8, lsl #4 │ │ │ │ │ + mov.w r8, lr, lsl #3 │ │ │ │ │ vsub.f64 d5, d3, d1 │ │ │ │ │ - vstr d0, [r2] │ │ │ │ │ - mvn.w r6, #111 @ 0x6f │ │ │ │ │ + vldr d3, [sp, #296] @ 0x128 │ │ │ │ │ + str r4, [sp, #136] @ 0x88 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + sub.w r2, lr, r8 │ │ │ │ │ + vldr d6, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d0, [r3] │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ - add r1, ip │ │ │ │ │ - vsub.f64 d7, d6, d4 │ │ │ │ │ - vldr d15, [sp, #448] @ 0x1c0 │ │ │ │ │ - vldr d8, [sp, #248] @ 0xf8 │ │ │ │ │ - mul.w r6, r6, r9 │ │ │ │ │ - vldr d9, [sp, #24] │ │ │ │ │ + add r1, r4 │ │ │ │ │ + mov.w r4, r2, lsl #4 │ │ │ │ │ vldr d0, [sp, #48] @ 0x30 │ │ │ │ │ - add r2, r6 │ │ │ │ │ + add r3, r4 │ │ │ │ │ + vsub.f64 d7, d6, d4 │ │ │ │ │ + vldr d6, [sp, #336] @ 0x150 │ │ │ │ │ vadd.f64 d2, d5, d7 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ - vldr d7, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d6, [sp, #328] @ 0x148 │ │ │ │ │ - ldr r3, [sp, #8] │ │ │ │ │ + vldr d7, [sp, #208] @ 0xd0 │ │ │ │ │ vsub.f64 d4, d15, d7 │ │ │ │ │ vsub.f64 d7, d8, d9 │ │ │ │ │ - vldr d8, [sp, #280] @ 0x118 │ │ │ │ │ - vsub.f64 d1, d4, d7 │ │ │ │ │ + vldr d8, [sp, #288] @ 0x120 │ │ │ │ │ vsub.f64 d9, d0, d8 │ │ │ │ │ - vadd.f64 d4, d4, d7 │ │ │ │ │ vldr d8, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d7, [sp, #288] @ 0x120 │ │ │ │ │ - vldr d0, [sp, #80] @ 0x50 │ │ │ │ │ - vsub.f64 d7, d7, d8 │ │ │ │ │ - vldr d8, [pc, #648] @ b98 │ │ │ │ │ + vsub.f64 d1, d4, d7 │ │ │ │ │ + vadd.f64 d4, d4, d7 │ │ │ │ │ + vldr d0, [sp, #88] @ 0x58 │ │ │ │ │ + vsub.f64 d7, d3, d8 │ │ │ │ │ + vldr d8, [pc, #616] @ bd0 │ │ │ │ │ vsub.f64 d0, d0, d10 │ │ │ │ │ vmul.f64 d3, d7, d13 │ │ │ │ │ vmla.f64 d3, d9, d8 │ │ │ │ │ vmul.f64 d9, d9, d13 │ │ │ │ │ vnmls.f64 d9, d7, d8 │ │ │ │ │ - vldr d7, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d7, [sp, #96] @ 0x60 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ vmul.f64 d6, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ - vmla.f64 d7, d0, d13 │ │ │ │ │ vnmls.f64 d6, d0, d8 │ │ │ │ │ + vmla.f64 d7, d0, d13 │ │ │ │ │ vadd.f64 d0, d3, d6 │ │ │ │ │ vsub.f64 d6, d6, d3 │ │ │ │ │ - vldr d3, [sp, #16] │ │ │ │ │ vsub.f64 d8, d2, d0 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ vstr d8, [r1] │ │ │ │ │ - subs r1, r1, r7 │ │ │ │ │ + sub.w r1, r1, r7 │ │ │ │ │ + ldr r2, [sp, #0] │ │ │ │ │ vstr d2, [r1] │ │ │ │ │ vadd.f64 d2, d9, d7 │ │ │ │ │ vsub.f64 d7, d7, d9 │ │ │ │ │ - add r1, r4 │ │ │ │ │ + add r1, r0 │ │ │ │ │ + vldr d8, [sp, #336] @ 0x150 │ │ │ │ │ vadd.f64 d0, d4, d2 │ │ │ │ │ vsub.f64 d2, d2, d4 │ │ │ │ │ vadd.f64 d4, d1, d6 │ │ │ │ │ vsub.f64 d6, d6, d1 │ │ │ │ │ - vldr d1, [sp, #240] @ 0xf0 │ │ │ │ │ - vstr d0, [r2] │ │ │ │ │ - add r2, r3 │ │ │ │ │ - ldr r3, [sp, #628] @ 0x274 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - subs r2, r2, r5 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - mla r2, r8, r9, r2 │ │ │ │ │ - mvn.w r8, #95 @ 0x5f │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ + vldr d1, [sp, #248] @ 0xf8 │ │ │ │ │ + vstr d0, [r3] │ │ │ │ │ + add r3, r5 │ │ │ │ │ + vldr d0, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + sub.w r3, r3, r2 │ │ │ │ │ + add.w r2, lr, lr, lsl #1 │ │ │ │ │ + vldr d2, [sp, #16] │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + add.w r3, r3, r2, lsl #5 │ │ │ │ │ + str r2, [sp, #152] @ 0x98 │ │ │ │ │ + add.w r2, r1, r6, lsl #5 │ │ │ │ │ + vldr d4, [sp, #216] @ 0xd8 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ vsub.f64 d6, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ - vadd.f64 d7, d3, d1 │ │ │ │ │ + sub.w r3, r3, r5 │ │ │ │ │ + sub.w r5, r8, lr │ │ │ │ │ + vadd.f64 d7, d2, d1 │ │ │ │ │ + vldr d1, [sp, #256] @ 0x100 │ │ │ │ │ vstr d6, [r1] │ │ │ │ │ - mla r1, r8, r3, r1 │ │ │ │ │ - mov.w r8, #112 @ 0x70 │ │ │ │ │ - add r7, r1 │ │ │ │ │ - vstr d5, [r1] │ │ │ │ │ - mvn.w r1, #223 @ 0xdf │ │ │ │ │ - vldr d5, [sp, #200] @ 0xc8 │ │ │ │ │ - mla r1, r1, r3, r7 │ │ │ │ │ + mov.w r1, ip, lsl #3 │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ + add r2, r7 │ │ │ │ │ + mov.w r7, lr, lsl #5 │ │ │ │ │ + vldr d5, [sp, #208] @ 0xd0 │ │ │ │ │ + sub.w r6, ip, r1 │ │ │ │ │ + str r7, [sp, #48] @ 0x30 │ │ │ │ │ vadd.f64 d6, d15, d5 │ │ │ │ │ - vldr d5, [pc, #504] @ bc0 │ │ │ │ │ + vldr d15, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d5, [pc, #444] @ c00 │ │ │ │ │ vadd.f64 d2, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d4, [sp, #208] @ 0xd0 │ │ │ │ │ - vldr d1, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d0, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d6, [sp, #160] @ 0xa0 │ │ │ │ │ + vadd.f64 d9, d0, d15 │ │ │ │ │ + vldr d0, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d15, [sp, #296] @ 0x128 │ │ │ │ │ vadd.f64 d4, d6, d4 │ │ │ │ │ vldr d6, [sp, #24] │ │ │ │ │ - vldr d15, [sp, #280] @ 0x118 │ │ │ │ │ - vldr d3, [sp, #56] @ 0x38 │ │ │ │ │ vadd.f64 d6, d6, d1 │ │ │ │ │ - vldr d8, [sp, #328] @ 0x148 │ │ │ │ │ - vadd.f64 d9, d0, d15 │ │ │ │ │ - vldr d15, [sp, #288] @ 0x120 │ │ │ │ │ - vldr d0, [sp, #80] @ 0x50 │ │ │ │ │ - ldr r3, [sp, #8] │ │ │ │ │ vsub.f64 d1, d4, d6 │ │ │ │ │ vadd.f64 d4, d4, d6 │ │ │ │ │ - vadd.f64 d6, d3, d15 │ │ │ │ │ - vldr d15, [pc, #432] @ bc8 │ │ │ │ │ - vadd.f64 d10, d0, d10 │ │ │ │ │ + vadd.f64 d6, d0, d15 │ │ │ │ │ vldr d0, [sp, #88] @ 0x58 │ │ │ │ │ - subs r2, r2, r3 │ │ │ │ │ - movs r3, #224 @ 0xe0 │ │ │ │ │ + vldr d15, [pc, #380] @ bf8 │ │ │ │ │ vmul.f64 d3, d6, d5 │ │ │ │ │ + vadd.f64 d10, d0, d10 │ │ │ │ │ + vldr d0, [sp, #96] @ 0x60 │ │ │ │ │ vmla.f64 d3, d9, d15 │ │ │ │ │ vmul.f64 d9, d9, d5 │ │ │ │ │ vnmls.f64 d9, d6, d15 │ │ │ │ │ vadd.f64 d6, d0, d8 │ │ │ │ │ vmov.f64 d0, d5 │ │ │ │ │ vmul.f64 d5, d6, d5 │ │ │ │ │ vmul.f64 d6, d6, d15 │ │ │ │ │ - vmla.f64 d6, d10, d0 │ │ │ │ │ vnmls.f64 d5, d10, d15 │ │ │ │ │ + vmla.f64 d6, d10, d0 │ │ │ │ │ vadd.f64 d0, d3, d5 │ │ │ │ │ vsub.f64 d5, d5, d3 │ │ │ │ │ - vmov.f64 d3, d13 │ │ │ │ │ + vldr d3, [pc, #280] @ bd0 │ │ │ │ │ vsub.f64 d8, d2, d0 │ │ │ │ │ vadd.f64 d2, d2, d0 │ │ │ │ │ - vstr d8, [r7] │ │ │ │ │ - vstr d2, [r1] │ │ │ │ │ + vstr d8, [r2] │ │ │ │ │ + add.w r2, r2, r6, lsl #5 │ │ │ │ │ + ldr r6, [sp, #0] │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ vadd.f64 d2, d9, d6 │ │ │ │ │ vsub.f64 d6, d6, d9 │ │ │ │ │ - ldr r7, [sp, #628] @ 0x274 │ │ │ │ │ - vldr d9, [sp, #488] @ 0x1e8 │ │ │ │ │ - vldr d8, [sp, #104] @ 0x68 │ │ │ │ │ + add r2, r0 │ │ │ │ │ vadd.f64 d0, d4, d2 │ │ │ │ │ vsub.f64 d2, d2, d4 │ │ │ │ │ vadd.f64 d4, d1, d5 │ │ │ │ │ vsub.f64 d5, d5, d1 │ │ │ │ │ - mul.w r8, r8, r7 │ │ │ │ │ - vstr d0, [r2] │ │ │ │ │ - mla r2, r3, r9, r2 │ │ │ │ │ - adds r3, r1, r4 │ │ │ │ │ - movs r1, #120 @ 0x78 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - subs r2, r2, r5 │ │ │ │ │ - vldr d2, [pc, #244] @ b98 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - add.w r2, r2, r9, lsl #5 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ + vstr d0, [r3] │ │ │ │ │ + add.w r3, r3, r5, lsl #5 │ │ │ │ │ + sub.w r5, r1, ip │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + sub.w r3, r3, r6 │ │ │ │ │ + rsb r6, ip, ip, lsl #4 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + add r3, r7 │ │ │ │ │ + mov.w r7, ip, lsl #5 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #344] @ 0x158 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - sub.w r3, r3, r7, lsl #5 │ │ │ │ │ - vsub.f64 d15, d6, d9 │ │ │ │ │ - vadd.f64 d1, d6, d9 │ │ │ │ │ - vldr d6, [sp, #360] @ 0x168 │ │ │ │ │ - mul.w r7, r1, r7 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - mvn.w r1, #207 @ 0xcf │ │ │ │ │ - vldr d7, [sp, #472] @ 0x1d8 │ │ │ │ │ - add r3, r7 │ │ │ │ │ - vstr d15, [sp, #24] │ │ │ │ │ - vldr d9, [sp, #320] @ 0x140 │ │ │ │ │ - vsub.f64 d15, d7, d6 │ │ │ │ │ - vadd.f64 d0, d6, d7 │ │ │ │ │ - vldr d6, [sp, #168] @ 0xa8 │ │ │ │ │ - vmul.f64 d7, d6, d13 │ │ │ │ │ - vldr d6, [sp, #184] @ 0xb8 │ │ │ │ │ - vmla.f64 d7, d6, d2 │ │ │ │ │ - vldr d6, [sp, #136] @ 0x88 │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ + sub.w r2, r2, r7 │ │ │ │ │ + str r7, [sp, #56] @ 0x38 │ │ │ │ │ + mov.w r7, r6, lsl #3 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + vldr d6, [sp, #352] @ 0x160 │ │ │ │ │ + add r2, r7 │ │ │ │ │ + vldr d8, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d7, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d2, [sp, #472] @ 0x1d8 │ │ │ │ │ + vldr d9, [sp, #424] @ 0x1a8 │ │ │ │ │ + vadd.f64 d1, d6, d7 │ │ │ │ │ + vsub.f64 d10, d6, d7 │ │ │ │ │ + vldr d7, [sp, #176] @ 0xb0 │ │ │ │ │ + vldr d6, [sp, #368] @ 0x170 │ │ │ │ │ + vmul.f64 d7, d7, d13 │ │ │ │ │ + vstr d10, [sp, #88] @ 0x58 │ │ │ │ │ + vsub.f64 d15, d2, d6 │ │ │ │ │ + vadd.f64 d0, d6, d2 │ │ │ │ │ + vldr d2, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d6, [sp, #192] @ 0xc0 │ │ │ │ │ + vmla.f64 d7, d6, d3 │ │ │ │ │ + vldr d6, [sp, #144] @ 0x90 │ │ │ │ │ vmul.f64 d5, d6, d13 │ │ │ │ │ - vldr d13, [sp, #424] @ 0x1a8 │ │ │ │ │ - vnmls.f64 d5, d13, d2 │ │ │ │ │ + vnmls.f64 d5, d9, d3 │ │ │ │ │ vadd.f64 d6, d7, d5 │ │ │ │ │ - vsub.f64 d7, d5, d7 │ │ │ │ │ - vsub.f64 d5, d8, d9 │ │ │ │ │ - vldr d8, [pc, #144] @ bb0 │ │ │ │ │ - vstr d7, [sp, #8] │ │ │ │ │ - vldr d7, [sp, #304] @ 0x130 │ │ │ │ │ - vldr d9, [sp, #120] @ 0x78 │ │ │ │ │ - vsub.f64 d7, d7, d9 │ │ │ │ │ - vldr d9, [pc, #116] @ ba8 │ │ │ │ │ - vmul.f64 d4, d7, d8 │ │ │ │ │ - vmul.f64 d7, d7, d9 │ │ │ │ │ - vmla.f64 d7, d5, d8 │ │ │ │ │ - vmov.f64 d10, d4 │ │ │ │ │ - vldr d4, [sp, #136] @ 0x88 │ │ │ │ │ - vmul.f64 d4, d4, d2 │ │ │ │ │ - vnmls.f64 d10, d5, d9 │ │ │ │ │ - vldr d5, [sp, #168] @ 0xa8 │ │ │ │ │ - vstr d7, [sp, #40] @ 0x28 │ │ │ │ │ - vmla.f64 d4, d13, d3 │ │ │ │ │ - vldr d7, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d9, [sp, #496] @ 0x1f0 │ │ │ │ │ - vldr d13, [pc, #80] @ bb8 │ │ │ │ │ - vmul.f64 d7, d7, d3 │ │ │ │ │ - vstr d10, [sp, #32] │ │ │ │ │ - vnmls.f64 d7, d5, d2 │ │ │ │ │ - vldr d2, [sp, #376] @ 0x178 │ │ │ │ │ - vldr d10, [sp, #384] @ 0x180 │ │ │ │ │ - vadd.f64 d5, d7, d4 │ │ │ │ │ - vsub.f64 d3, d4, d7 │ │ │ │ │ - vldr d4, [sp, #272] @ 0x110 │ │ │ │ │ - vadd.f64 d7, d10, d9 │ │ │ │ │ - b.n bf0 │ │ │ │ │ + vsub.f64 d10, d5, d7 │ │ │ │ │ + vsub.f64 d5, d2, d8 │ │ │ │ │ + vldr d8, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d2, [sp, #312] @ 0x138 │ │ │ │ │ + vstr d6, [sp, #16] │ │ │ │ │ + vsub.f64 d7, d2, d8 │ │ │ │ │ + vldr d2, [pc, #68] @ bd8 │ │ │ │ │ + vldr d8, [pc, #88] @ bf0 │ │ │ │ │ + vmul.f64 d4, d7, d2 │ │ │ │ │ + vmul.f64 d7, d7, d8 │ │ │ │ │ + vmov.f64 d6, d4 │ │ │ │ │ + vmla.f64 d7, d5, d2 │ │ │ │ │ + vnmls.f64 d6, d5, d8 │ │ │ │ │ + vldr d5, [sp, #192] @ 0xc0 │ │ │ │ │ + vldr d8, [sp, #280] @ 0x118 │ │ │ │ │ + vstr d6, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d6, [sp, #144] @ 0x90 │ │ │ │ │ + vstr d7, [sp, #160] @ 0xa0 │ │ │ │ │ + b.n c28 │ │ │ │ │ + nop.w │ │ │ │ │ .word 0x39ae68c8 │ │ │ │ │ .word 0x3fe1c73b │ │ │ │ │ .word 0x290ea1a3 │ │ │ │ │ .word 0x3fea9b66 │ │ │ │ │ - .word 0x2ed59f06 │ │ │ │ │ - .word 0x3fd29406 │ │ │ │ │ - .word 0xf180bdb1 │ │ │ │ │ - .word 0x3fec38b2 │ │ │ │ │ .word 0x3806f63b │ │ │ │ │ .word 0x3fde2b5d │ │ │ │ │ + .word 0x2ed59f06 │ │ │ │ │ + .word 0x3fd29406 │ │ │ │ │ .word 0x56c62dda │ │ │ │ │ .word 0x3fee9f41 │ │ │ │ │ - .word 0x3c69a60b │ │ │ │ │ - .word 0x3fc8f8b8 │ │ │ │ │ + .word 0xf180bdb1 │ │ │ │ │ + .word 0x3fec38b2 │ │ │ │ │ .word 0xcff75cb0 │ │ │ │ │ .word 0x3fef6297 │ │ │ │ │ + .word 0x3c69a60b │ │ │ │ │ + .word 0x3fc8f8b8 │ │ │ │ │ .word 0xbc29b42c │ │ │ │ │ .word 0x3fb917a6 │ │ │ │ │ .word 0xa3d12526 │ │ │ │ │ .word 0x3fefd88d │ │ │ │ │ .word 0x6b151741 │ │ │ │ │ .word 0x3fe8bc80 │ │ │ │ │ .word 0x25091dd6 │ │ │ │ │ .word 0x3fe44cf3 │ │ │ │ │ - vadd.f64 d4, d2, d4 │ │ │ │ │ - vstr d3, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d3, [pc, #-92] @ ba0 │ │ │ │ │ + vmul.f64 d7, d5, d13 │ │ │ │ │ + vldr d5, [sp, #176] @ 0xb0 │ │ │ │ │ + vmul.f64 d4, d6, d3 │ │ │ │ │ + vldr d6, [sp, #384] @ 0x180 │ │ │ │ │ + vnmls.f64 d7, d5, d3 │ │ │ │ │ + vldr d3, [sp, #264] @ 0x108 │ │ │ │ │ + vmla.f64 d4, d9, d13 │ │ │ │ │ + vldr d13, [sp, #80] @ 0x50 │ │ │ │ │ + vsub.f64 d9, d4, d7 │ │ │ │ │ + vadd.f64 d5, d7, d4 │ │ │ │ │ + vadd.f64 d7, d13, d3 │ │ │ │ │ + vadd.f64 d4, d6, d8 │ │ │ │ │ + vldr d3, [pc, #-124] @ be0 │ │ │ │ │ + vldr d13, [pc, #-120] @ be8 │ │ │ │ │ vmul.f64 d8, d4, d3 │ │ │ │ │ vmla.f64 d8, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vnmls.f64 d7, d4, d13 │ │ │ │ │ - vstr d8, [sp, #16] │ │ │ │ │ - vmov.f64 d13, d7 │ │ │ │ │ - vsub.f64 d7, d10, d9 │ │ │ │ │ - vldr d10, [sp, #272] @ 0x110 │ │ │ │ │ - vldr d9, [pc, #-120] @ ba8 │ │ │ │ │ - vsub.f64 d4, d10, d2 │ │ │ │ │ - vldr d2, [pc, #-120] @ bb0 │ │ │ │ │ + vldr d4, [sp, #80] @ 0x50 │ │ │ │ │ + vstr d7, [sp, #24] │ │ │ │ │ + vldr d7, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d8, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d8, [sp, #280] @ 0x118 │ │ │ │ │ + vsub.f64 d7, d4, d7 │ │ │ │ │ + vsub.f64 d4, d8, d6 │ │ │ │ │ + vldr d6, [pc, #-160] @ bf0 │ │ │ │ │ vmul.f64 d8, d4, d2 │ │ │ │ │ - vmla.f64 d8, d7, d9 │ │ │ │ │ + vmla.f64 d8, d7, d6 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ - vldr d2, [sp, #104] @ 0x68 │ │ │ │ │ - vnmls.f64 d7, d4, d9 │ │ │ │ │ - vldr d4, [sp, #320] @ 0x140 │ │ │ │ │ - vldr d9, [sp, #304] @ 0x130 │ │ │ │ │ - vadd.f64 d2, d2, d4 │ │ │ │ │ - vldr d4, [sp, #120] @ 0x78 │ │ │ │ │ - vadd.f64 d4, d4, d9 │ │ │ │ │ - vldr d9, [pc, #-156] @ bb8 │ │ │ │ │ - vstr d7, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d2, [sp, #328] @ 0x148 │ │ │ │ │ + vnmls.f64 d7, d4, d6 │ │ │ │ │ + vldr d4, [sp, #112] @ 0x70 │ │ │ │ │ + vadd.f64 d2, d4, d2 │ │ │ │ │ + vstr d7, [sp, #176] @ 0xb0 │ │ │ │ │ + vldr d4, [sp, #128] @ 0x80 │ │ │ │ │ + str r7, [sp, #80] @ 0x50 │ │ │ │ │ + mvn.w r7, #207 @ 0xcf │ │ │ │ │ + vldr d6, [sp, #312] @ 0x138 │ │ │ │ │ + vadd.f64 d4, d4, d6 │ │ │ │ │ + vldr d6, [sp, #16] │ │ │ │ │ vmul.f64 d7, d4, d3 │ │ │ │ │ - vmul.f64 d10, d4, d9 │ │ │ │ │ - vmla.f64 d10, d2, d3 │ │ │ │ │ + vnmls.f64 d7, d2, d13 │ │ │ │ │ + vmul.f64 d13, d4, d13 │ │ │ │ │ vadd.f64 d4, d1, d6 │ │ │ │ │ - vsub.f64 d6, d1, d6 │ │ │ │ │ - vnmls.f64 d7, d2, d9 │ │ │ │ │ - vldr d9, [sp, #16] │ │ │ │ │ - str r7, [sp, #16] │ │ │ │ │ - ldr r7, [sp, #628] @ 0x274 │ │ │ │ │ - vadd.f64 d3, d9, d7 │ │ │ │ │ - vsub.f64 d7, d7, d9 │ │ │ │ │ + vldr d6, [sp, #144] @ 0x90 │ │ │ │ │ + vmla.f64 d13, d2, d3 │ │ │ │ │ + vadd.f64 d3, d6, d7 │ │ │ │ │ + vsub.f64 d7, d7, d6 │ │ │ │ │ vsub.f64 d2, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d3 │ │ │ │ │ vadd.f64 d3, d0, d5 │ │ │ │ │ vsub.f64 d5, d5, d0 │ │ │ │ │ - vstr d2, [r3] │ │ │ │ │ - mla r3, r1, r7, r3 │ │ │ │ │ - mvn.w r1, #119 @ 0x77 │ │ │ │ │ - movs r7, #48 @ 0x30 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - vadd.f64 d4, d13, d10 │ │ │ │ │ - mla r2, r1, r9, r2 │ │ │ │ │ - vsub.f64 d10, d10, d13 │ │ │ │ │ - add r3, r4 │ │ │ │ │ - vadd.f64 d2, d3, d4 │ │ │ │ │ - vsub.f64 d4, d4, d3 │ │ │ │ │ - vldr d3, [sp, #48] @ 0x30 │ │ │ │ │ vstr d2, [r2] │ │ │ │ │ - mla r2, r0, r9, r2 │ │ │ │ │ - movs r0, #176 @ 0xb0 │ │ │ │ │ + mla r2, r7, ip, r2 │ │ │ │ │ + vldr d2, [sp, #24] │ │ │ │ │ + mov.w r7, lr, lsl #4 │ │ │ │ │ vstr d4, [r2] │ │ │ │ │ + sub.w r6, lr, r7 │ │ │ │ │ + add r2, r0 │ │ │ │ │ + add.w r3, r3, r6, lsl #3 │ │ │ │ │ + mov.w r6, #208 @ 0xd0 │ │ │ │ │ + add r7, lr │ │ │ │ │ + vadd.f64 d4, d2, d13 │ │ │ │ │ + vadd.f64 d2, d3, d4 │ │ │ │ │ + vsub.f64 d4, d4, d3 │ │ │ │ │ + vldr d3, [pc, #-304] @ bf8 │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + mla r3, r6, lr, r3 │ │ │ │ │ + ldr r6, [sp, #0] │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ vadd.f64 d4, d5, d7 │ │ │ │ │ - subs r2, r2, r5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - mla r2, r7, r9, r2 │ │ │ │ │ - vldr d4, [sp, #24] │ │ │ │ │ - movs r7, #40 @ 0x28 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - vsub.f64 d7, d6, d10 │ │ │ │ │ - vadd.f64 d6, d6, d10 │ │ │ │ │ - add r2, r6 │ │ │ │ │ + vldr d5, [sp, #24] │ │ │ │ │ + sub.w r3, r3, r6 │ │ │ │ │ + vldr d2, [sp, #96] @ 0x60 │ │ │ │ │ + ldr r6, [sp, #152] @ 0x98 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + vsub.f64 d13, d13, d5 │ │ │ │ │ + vldr d4, [sp, #88] @ 0x58 │ │ │ │ │ + add.w r3, r3, r6, lsl #4 │ │ │ │ │ + ldr r6, [sp, #136] @ 0x88 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - sub.w r3, r3, ip │ │ │ │ │ - vadd.f64 d7, d4, d3 │ │ │ │ │ - mov.w ip, #88 @ 0x58 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - add r3, r8 │ │ │ │ │ - vldr d2, [sp, #32] │ │ │ │ │ - ldr r1, [sp, #0] │ │ │ │ │ - vldr d1, [sp, #40] @ 0x28 │ │ │ │ │ + add r3, r4 │ │ │ │ │ + vldr d7, [sp, #16] │ │ │ │ │ + vsub.f64 d6, d1, d7 │ │ │ │ │ + vldr d1, [sp, #160] @ 0xa0 │ │ │ │ │ + vsub.f64 d7, d6, d13 │ │ │ │ │ + vadd.f64 d6, d6, d13 │ │ │ │ │ + vldr d13, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + sub.w r2, r2, r6 │ │ │ │ │ + vadd.f64 d7, d4, d9 │ │ │ │ │ + mov.w r6, r5, lsl #4 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ vadd.f64 d6, d2, d8 │ │ │ │ │ - vldr d9, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d10, [sp, #432] @ 0x1b0 │ │ │ │ │ + add r2, r6 │ │ │ │ │ + ldr r6, [sp, #32] │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - ldr r3, [sp, #628] @ 0x274 │ │ │ │ │ - mla r3, r7, r3, r1 │ │ │ │ │ - movs r7, #80 @ 0x50 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - add r3, r4 │ │ │ │ │ - vldr d7, [sp, #8] │ │ │ │ │ - vadd.f64 d6, d15, d7 │ │ │ │ │ - vadd.f64 d7, d1, d9 │ │ │ │ │ + vadd.f64 d6, d15, d10 │ │ │ │ │ + vsub.f64 d10, d10, d15 │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ + ldr r2, [sp, #4] │ │ │ │ │ + add.w r2, r2, r6, lsl #3 │ │ │ │ │ + mov.w r6, #176 @ 0xb0 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + vadd.f64 d7, d1, d13 │ │ │ │ │ + add r2, r0 │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vsub.f64 d6, d2, d8 │ │ │ │ │ + vmov.f64 d2, d4 │ │ │ │ │ + vldr d4, [pc, #-468] @ c00 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + mla r3, r6, lr, r3 │ │ │ │ │ + ldr r6, [sp, #0] │ │ │ │ │ + vadd.f64 d5, d10, d6 │ │ │ │ │ + vsub.f64 d6, d6, d10 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + vsub.f64 d7, d2, d9 │ │ │ │ │ + sub.w r3, r3, r6 │ │ │ │ │ + ldr r6, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + add.w r3, r3, r6, lsl #4 │ │ │ │ │ + mov.w r6, #88 @ 0x58 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + vsub.f64 d6, d1, d13 │ │ │ │ │ + add r3, r4 │ │ │ │ │ + vldr d1, [sp, #168] @ 0xa8 │ │ │ │ │ + mov.w r4, #200 @ 0xc8 │ │ │ │ │ + vldr d15, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d13, [sp, #432] @ 0x1b0 │ │ │ │ │ + vsub.f64 d5, d7, d6 │ │ │ │ │ + vadd.f64 d7, d7, d6 │ │ │ │ │ vldr d8, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d6, [sp, #464] @ 0x1d0 │ │ │ │ │ vstr d5, [r2] │ │ │ │ │ - mla r2, r0, r9, r2 │ │ │ │ │ + ldr r2, [sp, #4] │ │ │ │ │ + mla r2, r6, ip, r2 │ │ │ │ │ + mov.w r6, r5, lsl #4 │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ - subs r2, r2, r5 │ │ │ │ │ - vldr d7, [sp, #8] │ │ │ │ │ - vsub.f64 d13, d7, d15 │ │ │ │ │ - vsub.f64 d7, d4, d3 │ │ │ │ │ - vldr d4, [pc, #-432] @ bc0 │ │ │ │ │ - vldr d3, [pc, #-428] @ bc8 │ │ │ │ │ - vadd.f64 d5, d13, d6 │ │ │ │ │ - vsub.f64 d6, d6, d13 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - mla r2, r7, r9, r2 │ │ │ │ │ - movs r7, #56 @ 0x38 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - vsub.f64 d6, d1, d9 │ │ │ │ │ - vldr d1, [sp, #176] @ 0xb0 │ │ │ │ │ add r2, r6 │ │ │ │ │ - movs r6, #248 @ 0xf8 │ │ │ │ │ - vsub.f64 d5, d7, d6 │ │ │ │ │ - vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #464] @ 0x1d0 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - ldr r3, [sp, #628] @ 0x274 │ │ │ │ │ - mla r3, ip, r3, r1 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - add r3, r8 │ │ │ │ │ - vldr d7, [sp, #336] @ 0x150 │ │ │ │ │ - vsub.f64 d13, d7, d6 │ │ │ │ │ + vldr d7, [sp, #344] @ 0x158 │ │ │ │ │ + vsub.f64 d10, d7, d6 │ │ │ │ │ vadd.f64 d2, d7, d6 │ │ │ │ │ - vldr d7, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d7, [sp, #360] @ 0x168 │ │ │ │ │ vldr d6, [sp, #480] @ 0x1e0 │ │ │ │ │ - vstr d2, [sp, #8] │ │ │ │ │ + vstr d2, [sp, #24] │ │ │ │ │ + vldr d2, [sp, #320] @ 0x140 │ │ │ │ │ vsub.f64 d0, d6, d7 │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ - vmul.f64 d7, d1, d4 │ │ │ │ │ - vldr d2, [sp, #160] @ 0xa0 │ │ │ │ │ - vmul.f64 d6, d10, d3 │ │ │ │ │ - vldr d1, [pc, #-528] @ bd0 │ │ │ │ │ + vmul.f64 d6, d13, d3 │ │ │ │ │ + vmul.f64 d7, d15, d4 │ │ │ │ │ vmla.f64 d6, d8, d4 │ │ │ │ │ - vstr d5, [sp, #24] │ │ │ │ │ - vnmls.f64 d7, d2, d3 │ │ │ │ │ - vldr d5, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d2, [sp, #312] @ 0x138 │ │ │ │ │ + vnmls.f64 d7, d1, d3 │ │ │ │ │ + vstr d5, [sp, #32] │ │ │ │ │ + vldr d5, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d1, [pc, #-632] @ c08 │ │ │ │ │ vsub.f64 d9, d6, d7 │ │ │ │ │ vadd.f64 d15, d6, d7 │ │ │ │ │ - vldr d6, [sp, #96] @ 0x60 │ │ │ │ │ - vldr d7, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d6, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d7, [sp, #304] @ 0x130 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ vadd.f64 d6, d5, d2 │ │ │ │ │ - vldr d2, [pc, #-568] @ bd8 │ │ │ │ │ + vldr d2, [pc, #-652] @ c10 │ │ │ │ │ vmul.f64 d5, d6, d1 │ │ │ │ │ vnmls.f64 d5, d7, d2 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vmla.f64 d7, d6, d2 │ │ │ │ │ - vstr d5, [sp, #32] │ │ │ │ │ - vmul.f64 d5, d10, d4 │ │ │ │ │ - vstr d7, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d6, [sp, #160] @ 0xa0 │ │ │ │ │ - ldr r0, [sp, #504] @ 0x1f8 │ │ │ │ │ + vldr d6, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d5, [sp, #40] @ 0x28 │ │ │ │ │ + vmul.f64 d5, d13, d4 │ │ │ │ │ + vstr d7, [sp, #88] @ 0x58 │ │ │ │ │ + vmul.f64 d7, d6, d4 │ │ │ │ │ vnmls.f64 d5, d8, d3 │ │ │ │ │ + vldr d4, [sp, #8] │ │ │ │ │ + vldr d6, [sp, #184] @ 0xb8 │ │ │ │ │ vldr d8, [sp, #64] @ 0x40 │ │ │ │ │ - vmul.f64 d7, d6, d4 │ │ │ │ │ - vldr d6, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d4, [sp, #256] @ 0x100 │ │ │ │ │ vmla.f64 d7, d6, d3 │ │ │ │ │ - vldr d3, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d3, [sp, #272] @ 0x110 │ │ │ │ │ vsub.f64 d6, d5, d7 │ │ │ │ │ - vadd.f64 d10, d5, d7 │ │ │ │ │ + vadd.f64 d13, d5, d7 │ │ │ │ │ vldr d7, [sp, #72] @ 0x48 │ │ │ │ │ vsub.f64 d5, d4, d8 │ │ │ │ │ - vldr d4, [pc, #-644] @ be0 │ │ │ │ │ + vldr d4, [pc, #-724] @ c18 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vldr d3, [pc, #-644] @ be8 │ │ │ │ │ + vldr d3, [pc, #-724] @ c20 │ │ │ │ │ vmul.f64 d8, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vmla.f64 d8, d5, d3 │ │ │ │ │ vnmls.f64 d7, d5, d4 │ │ │ │ │ - vstr d8, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d7, [sp, #16] │ │ │ │ │ + vldr d7, [sp, #8] │ │ │ │ │ + vstr d8, [sp, #96] @ 0x60 │ │ │ │ │ vldr d8, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d7, [sp] │ │ │ │ │ - vldr d7, [sp, #256] @ 0x100 │ │ │ │ │ vadd.f64 d5, d8, d7 │ │ │ │ │ vldr d8, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d7, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d7, [sp, #272] @ 0x110 │ │ │ │ │ vadd.f64 d7, d8, d7 │ │ │ │ │ vmul.f64 d8, d7, d2 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ vmla.f64 d8, d5, d1 │ │ │ │ │ vmov.f64 d1, d7 │ │ │ │ │ - vldr d7, [sp, #296] @ 0x128 │ │ │ │ │ vnmls.f64 d1, d5, d2 │ │ │ │ │ - vldr d5, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d1, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d1, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d1, [sp, #8] │ │ │ │ │ + vldr d1, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d5, [sp, #120] @ 0x78 │ │ │ │ │ + vldr d7, [sp, #304] @ 0x130 │ │ │ │ │ + ldr r6, [sp, #496] @ 0x1f0 │ │ │ │ │ vsub.f64 d1, d1, d7 │ │ │ │ │ - vldr d7, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d7, [sp, #320] @ 0x140 │ │ │ │ │ vsub.f64 d2, d7, d5 │ │ │ │ │ - vadd.f64 d5, d13, d9 │ │ │ │ │ + vadd.f64 d5, d10, d9 │ │ │ │ │ vmul.f64 d7, d2, d3 │ │ │ │ │ vnmls.f64 d7, d1, d4 │ │ │ │ │ vmul.f64 d1, d1, d3 │ │ │ │ │ vmla.f64 d1, d2, d4 │ │ │ │ │ - vldr d2, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d2, [sp, #96] @ 0x60 │ │ │ │ │ vadd.f64 d4, d2, d7 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ + vldr d2, [sp, #8] │ │ │ │ │ vsub.f64 d3, d5, d4 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ vadd.f64 d4, d0, d6 │ │ │ │ │ vsub.f64 d6, d6, d0 │ │ │ │ │ - vldr d0, [sp, #8] │ │ │ │ │ - vstr d3, [r3] │ │ │ │ │ - ldr r3, [sp, #628] @ 0x274 │ │ │ │ │ - mla r3, r7, r3, r1 │ │ │ │ │ - movs r7, #200 @ 0xc8 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - add r3, r4 │ │ │ │ │ - vldr d5, [sp] │ │ │ │ │ + vldr d0, [sp, #24] │ │ │ │ │ + vstr d3, [r2] │ │ │ │ │ + ldr r2, [sp, #4] │ │ │ │ │ + add.w r5, r2, r5, lsl #3 │ │ │ │ │ + vstr d5, [r5] │ │ │ │ │ + add r5, r0 │ │ │ │ │ + vldr d5, [sp, #16] │ │ │ │ │ vadd.f64 d5, d5, d1 │ │ │ │ │ vadd.f64 d3, d4, d5 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - mla r2, r7, r9, r0 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ + vldr d4, [sp, #40] @ 0x28 │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ + mla r3, r4, lr, r6 │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ - subs r2, r2, r5 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp] │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - movs r2, #184 @ 0xb8 │ │ │ │ │ + vldr d6, [sp, #16] │ │ │ │ │ + sub.w r3, r3, r4 │ │ │ │ │ + ldr r4, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d3, [sp, #88] @ 0x58 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + mov r3, r6 │ │ │ │ │ + mov.w r6, #184 @ 0xb8 │ │ │ │ │ vsub.f64 d1, d1, d6 │ │ │ │ │ - mla r2, r2, r9, r0 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - vsub.f64 d7, d13, d9 │ │ │ │ │ - movs r2, #72 @ 0x48 │ │ │ │ │ + mla r3, r6, lr, r3 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + vsub.f64 d7, d10, d9 │ │ │ │ │ + add.w r3, r1, ip │ │ │ │ │ + add.w r3, r2, r3, lsl #3 │ │ │ │ │ + vldr d9, [sp, #32] │ │ │ │ │ + add r1, r2 │ │ │ │ │ vsub.f64 d6, d7, d1 │ │ │ │ │ vadd.f64 d7, d7, d1 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - ldr r3, [sp, #628] @ 0x274 │ │ │ │ │ - mla r3, r2, r3, r1 │ │ │ │ │ - add.w r2, r0, r9, lsl #3 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ - vadd.f64 d7, d0, d10 │ │ │ │ │ - vldr d4, [sp, #32] │ │ │ │ │ - ldr r3, [sp, #628] @ 0x274 │ │ │ │ │ - vldr d9, [sp, #24] │ │ │ │ │ + vstr d6, [r5] │ │ │ │ │ vadd.f64 d6, d4, d8 │ │ │ │ │ - vldr d3, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d2, [sp, #56] @ 0x38 │ │ │ │ │ - mla r3, r6, r3, r1 │ │ │ │ │ - ldr r7, [sp, #16] │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + vadd.f64 d7, d0, d13 │ │ │ │ │ + sub.w r3, r4, ip │ │ │ │ │ + add.w r3, r2, r3, lsl #3 │ │ │ │ │ + ldr r4, [sp, #0] │ │ │ │ │ + ldr r5, [sp, #496] @ 0x1f0 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d9, d15 │ │ │ │ │ vsub.f64 d15, d15, d9 │ │ │ │ │ - add r7, r1 │ │ │ │ │ + add.w r7, r5, r7, lsl #3 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - ldr r3, [sp, #628] @ 0x274 │ │ │ │ │ - add.w r3, r1, r3, lsl #3 │ │ │ │ │ - vstr d7, [r3] │ │ │ │ │ + add.w r3, r5, r8 │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ vadd.f64 d7, d3, d2 │ │ │ │ │ - add r3, r4 │ │ │ │ │ + add r1, r0 │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - mla r2, r6, r9, r0 │ │ │ │ │ - movs r6, #136 @ 0x88 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ + sub.w r3, r3, lr │ │ │ │ │ + add.w r3, r5, r3, lsl #3 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ vsub.f64 d7, d4, d8 │ │ │ │ │ - subs r2, r2, r5 │ │ │ │ │ + sub.w r3, r3, r4 │ │ │ │ │ vsub.f64 d8, d3, d2 │ │ │ │ │ vadd.f64 d6, d15, d7 │ │ │ │ │ vsub.f64 d7, d7, d15 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - mla r2, r6, r9, r0 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - vsub.f64 d7, d0, d10 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + mov r3, r5 │ │ │ │ │ + vstr d7, [r7] │ │ │ │ │ + vsub.f64 d7, d0, d13 │ │ │ │ │ + ldr r6, [sp, #80] @ 0x50 │ │ │ │ │ vsub.f64 d5, d7, d8 │ │ │ │ │ vadd.f64 d7, d7, d8 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ + add r6, r2 │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ + ldr r1, [sp, #500] @ 0x1f4 │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ + add sl, r1 │ │ │ │ │ + add fp, r1 │ │ │ │ │ + ldr r1, [sp, #504] @ 0x1f8 │ │ │ │ │ + add r3, r1 │ │ │ │ │ + add r2, r1 │ │ │ │ │ + str r2, [sp, #4] │ │ │ │ │ + str r3, [sp, #496] @ 0x1f0 │ │ │ │ │ ldr r3, [sp, #508] @ 0x1fc │ │ │ │ │ - vstr d7, [r7] │ │ │ │ │ - add sl, r3 │ │ │ │ │ - add fp, r3 │ │ │ │ │ - ldr r3, [sp, #512] @ 0x200 │ │ │ │ │ - adds r2, r1, r3 │ │ │ │ │ - adds r3, r0, r3 │ │ │ │ │ - str r2, [sp, #0] │ │ │ │ │ - str r3, [sp, #504] @ 0x1f8 │ │ │ │ │ - ldr r2, [sp, #628] @ 0x274 │ │ │ │ │ - ldr r3, [sp, #516] @ 0x204 │ │ │ │ │ - eors r2, r3 │ │ │ │ │ - eor.w lr, lr, r3 │ │ │ │ │ eor.w r9, r9, r3 │ │ │ │ │ - ldr r3, [sp, #636] @ 0x27c │ │ │ │ │ - str r2, [sp, #628] @ 0x274 │ │ │ │ │ + eor.w ip, ip, r3 │ │ │ │ │ + eor.w lr, lr, r3 │ │ │ │ │ + ldr r3, [sp, #628] @ 0x274 │ │ │ │ │ subs r3, #1 │ │ │ │ │ - str r3, [sp, #636] @ 0x27c │ │ │ │ │ - bne.w 70 │ │ │ │ │ - add.w sp, sp, #524 @ 0x20c │ │ │ │ │ + str r3, [sp, #628] @ 0x274 │ │ │ │ │ + bne.w 88 │ │ │ │ │ + add.w sp, sp, #516 @ 0x204 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00001034 : │ │ │ │ │ +000010e0 : │ │ │ │ │ fftw_codelet_r2cf_64(): │ │ │ │ │ - ldr r2, [pc, #8] @ (1040 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (1044 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (10ec ) │ │ │ │ │ + ldr r1, [pc, #12] @ (10f0 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cf_7.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1476 (bytes into file) │ │ │ │ │ + Start of section headers: 1508 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x5c4: │ │ │ │ │ +There are 13 section headers, starting at offset 0x5e4: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0002fc 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00051c 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000330 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000330 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000330 000007 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 000337 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 000544 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 000367 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000367 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 00039c 000100 10 11 11 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 00049c 000080 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 000554 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 00031c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 00053c 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000350 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000350 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000350 000007 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 000357 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 000564 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 000387 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 000387 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 0003bc 000100 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 0004bc 000080 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 000574 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 16 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 744 FUNC LOCAL DEFAULT 1 r2cf_7 │ │ │ │ │ + 1: 00000001 776 FUNC LOCAL DEFAULT 1 r2cf_7 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000002b0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 000002e8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000002f4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000002d0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000308 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000314 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 13: 000002e9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_7 │ │ │ │ │ + 13: 00000309 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_7 │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x51c contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x53c contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000002e0 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -000002e4 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -000002f4 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000002f8 00000103 R_ARM_REL32 00000001 r2cf_7 │ │ │ │ │ -000002f0 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +00000300 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000304 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000314 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000318 00000103 R_ARM_REL32 00000001 r2cf_7 │ │ │ │ │ +00000310 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x544 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x564 contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000f02 R_ARM_ABS32 00000000 fftw_rdft_r2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,220 +1,227 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cf_7(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - ldr.w r8, [pc, #728] @ 2e0 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d14} │ │ │ │ │ sub sp, #12 │ │ │ │ │ - add r8, pc │ │ │ │ │ + ldr.w r8, [pc, #740] @ 300 │ │ │ │ │ ldrd r6, lr, [sp, #112] @ 0x70 │ │ │ │ │ ldrd r4, r5, [sp, #104] @ 0x68 │ │ │ │ │ - cmp.w lr, #0 │ │ │ │ │ + add r8, pc │ │ │ │ │ ldr r7, [sp, #120] @ 0x78 │ │ │ │ │ - ble.w 168 │ │ │ │ │ - ldr.w r9, [pc, #704] @ 2e4 │ │ │ │ │ + cmp.w lr, #0 │ │ │ │ │ + ble.w 17a │ │ │ │ │ + ldr.w r9, [pc, #720] @ 304 │ │ │ │ │ mov ip, r3 │ │ │ │ │ ldr.w r3, [r8, r9] │ │ │ │ │ ldr.w r8, [r3] │ │ │ │ │ ldr r3, [sp, #124] @ 0x7c │ │ │ │ │ cmp r7, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r3, #1 │ │ │ │ │ - bne.w 172 │ │ │ │ │ - mov.w r9, #24 │ │ │ │ │ - vldr d10, [pc, #620] @ 2b0 │ │ │ │ │ - vldr d9, [pc, #624] @ 2b8 │ │ │ │ │ - vldr d8, [pc, #628] @ 2c0 │ │ │ │ │ - vldr d11, [pc, #632] @ 2c8 │ │ │ │ │ - vldr d12, [pc, #636] @ 2d0 │ │ │ │ │ - vldr d13, [pc, #640] @ 2d8 │ │ │ │ │ - mla r3, r9, r4, r0 │ │ │ │ │ - lsls r7, r4, #3 │ │ │ │ │ + bne.w 196 │ │ │ │ │ + vldr d10, [pc, #640] @ 2d0 │ │ │ │ │ + vldr d9, [pc, #644] @ 2d8 │ │ │ │ │ + vldr d8, [pc, #648] @ 2e0 │ │ │ │ │ + vldr d11, [pc, #652] @ 2e8 │ │ │ │ │ + vldr d12, [pc, #656] @ 2f0 │ │ │ │ │ + vldr d13, [pc, #660] @ 2f8 │ │ │ │ │ + add.w r3, r4, r4, lsl #1 │ │ │ │ │ + subs.w lr, lr, #1 │ │ │ │ │ + mov.w r7, r4, lsl #3 │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ - mov.w fp, r6, lsl #4 │ │ │ │ │ + add.w r3, r0, r3, lsl #3 │ │ │ │ │ + mov.w sl, r6, lsl #4 │ │ │ │ │ vldr d0, [r0] │ │ │ │ │ - subs.w lr, lr, #1 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ add.w r3, r0, r7 │ │ │ │ │ add r7, r1 │ │ │ │ │ - vmov.f64 d14, d0 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ mov.w r3, r4, lsl #4 │ │ │ │ │ - add.w sl, r1, r3 │ │ │ │ │ - vadd.f64 d6, d7, d5 │ │ │ │ │ + eor.w r4, r4, r8 │ │ │ │ │ + add.w r9, r1, r3 │ │ │ │ │ add r3, r0 │ │ │ │ │ - vsub.f64 d7, d7, d5 │ │ │ │ │ vldr d3, [r7] │ │ │ │ │ - add.w r7, ip, fp │ │ │ │ │ - vldr d5, [sl] │ │ │ │ │ - mov.w sl, r5, lsl #4 │ │ │ │ │ + add.w r7, ip, sl │ │ │ │ │ + vmov.f64 d14, d0 │ │ │ │ │ add.w r0, r0, #8 │ │ │ │ │ + vadd.f64 d6, d7, d5 │ │ │ │ │ + vsub.f64 d7, d7, d5 │ │ │ │ │ + vldr d5, [r9] │ │ │ │ │ + mov.w r9, r5, lsl #4 │ │ │ │ │ add.w r1, r1, #8 │ │ │ │ │ add.w ip, ip, #8 │ │ │ │ │ - eor.w r4, r4, r8 │ │ │ │ │ vadd.f64 d1, d5, d4 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ - add.w r3, r2, sl │ │ │ │ │ + add.w r3, r2, r9 │ │ │ │ │ vadd.f64 d2, d4, d3 │ │ │ │ │ vsub.f64 d4, d4, d3 │ │ │ │ │ vmul.f64 d3, d4, d9 │ │ │ │ │ vmla.f64 d14, d2, d11 │ │ │ │ │ vnmls.f64 d3, d7, d10 │ │ │ │ │ vmls.f64 d3, d5, d8 │ │ │ │ │ vstr d3, [r7] │ │ │ │ │ vmul.f64 d3, d7, d9 │ │ │ │ │ - vmla.f64 d3, d5, d10 │ │ │ │ │ sub.w r7, r7, r6, lsl #3 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ eor.w r6, r6, r8 │ │ │ │ │ + vmla.f64 d3, d5, d10 │ │ │ │ │ vmla.f64 d7, d4, d10 │ │ │ │ │ vmla.f64 d3, d4, d8 │ │ │ │ │ vmls.f64 d7, d5, d9 │ │ │ │ │ vmov.f64 d5, d0 │ │ │ │ │ vmla.f64 d5, d1, d11 │ │ │ │ │ vstr d3, [r7] │ │ │ │ │ vmul.f64 d3, d1, d13 │ │ │ │ │ + add r7, sl │ │ │ │ │ vmla.f64 d3, d6, d12 │ │ │ │ │ - add r7, fp │ │ │ │ │ vsub.f64 d3, d14, d3 │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ add.w r3, r3, r5, lsl #3 │ │ │ │ │ + eor.w r5, r5, r8 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ vmul.f64 d7, d2, d12 │ │ │ │ │ vmla.f64 d7, d6, d13 │ │ │ │ │ - eor.w r5, r5, r8 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ vmul.f64 d7, d2, d13 │ │ │ │ │ vmla.f64 d7, d1, d12 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ vmov.f64 d5, d0 │ │ │ │ │ + sub.w r3, r3, r9 │ │ │ │ │ vmla.f64 d5, d6, d11 │ │ │ │ │ vadd.f64 d6, d6, d0 │ │ │ │ │ - sub.w r3, r3, sl │ │ │ │ │ vadd.f64 d6, d6, d1 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ vadd.f64 d6, d6, d2 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ vstmia r2!, {d6} │ │ │ │ │ - bne.w 58 │ │ │ │ │ + bne.w 64 │ │ │ │ │ add sp, #12 │ │ │ │ │ vpop {d8-d14} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + vldr d10, [pc, #312] @ 2d0 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ mov.w sl, r7, lsl #3 │ │ │ │ │ - vldr d10, [pc, #312] @ 2b0 │ │ │ │ │ - vldr d9, [pc, #316] @ 2b8 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ - vldr d8, [pc, #316] @ 2c0 │ │ │ │ │ - vldr d11, [pc, #320] @ 2c8 │ │ │ │ │ - vldr d12, [pc, #332] @ 2d8 │ │ │ │ │ - vldr d13, [pc, #320] @ 2d0 │ │ │ │ │ + vldr d9, [pc, #308] @ 2d8 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ - movs r3, #24 │ │ │ │ │ - lsls r7, r4, #3 │ │ │ │ │ + vldr d8, [pc, #308] @ 2e0 │ │ │ │ │ + vldr d11, [pc, #312] @ 2e8 │ │ │ │ │ + vldr d12, [pc, #324] @ 2f8 │ │ │ │ │ + vldr d13, [pc, #312] @ 2f0 │ │ │ │ │ + add.w r3, r4, r4, lsl #1 │ │ │ │ │ + subs.w lr, lr, #1 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ + mov.w r7, r4, lsl #3 │ │ │ │ │ + add.w r3, r0, r3, lsl #3 │ │ │ │ │ mov.w fp, r6, lsl #4 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ - subs.w lr, lr, #1 │ │ │ │ │ - mla r3, r3, r4, r0 │ │ │ │ │ - vmov.f64 d14, d6 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ add.w r3, r0, r7 │ │ │ │ │ add r7, r1 │ │ │ │ │ + vldr d3, [r7] │ │ │ │ │ + add.w r7, ip, fp │ │ │ │ │ + vmov.f64 d14, d6 │ │ │ │ │ vadd.f64 d0, d7, d4 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ mov.w r3, r4, lsl #4 │ │ │ │ │ + eor.w r4, r4, r8 │ │ │ │ │ add.w r9, r1, r3 │ │ │ │ │ add r3, r0 │ │ │ │ │ - vldr d3, [r7] │ │ │ │ │ - add.w r7, ip, fp │ │ │ │ │ - add r0, sl │ │ │ │ │ add r1, sl │ │ │ │ │ + add r0, sl │ │ │ │ │ vldr d5, [r9] │ │ │ │ │ mov.w r9, r5, lsl #4 │ │ │ │ │ - eor.w r4, r4, r8 │ │ │ │ │ vadd.f64 d1, d7, d5 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ add.w r3, r2, r9 │ │ │ │ │ vadd.f64 d2, d3, d7 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ vmul.f64 d3, d7, d9 │ │ │ │ │ vmla.f64 d14, d2, d11 │ │ │ │ │ vnmls.f64 d3, d4, d10 │ │ │ │ │ vmls.f64 d3, d5, d8 │ │ │ │ │ vstr d3, [r7] │ │ │ │ │ vmul.f64 d3, d5, d10 │ │ │ │ │ - vmla.f64 d3, d4, d9 │ │ │ │ │ sub.w r7, r7, r6, lsl #3 │ │ │ │ │ eor.w r6, r6, r8 │ │ │ │ │ + vmla.f64 d3, d4, d9 │ │ │ │ │ vmla.f64 d3, d7, d8 │ │ │ │ │ vmul.f64 d7, d7, d10 │ │ │ │ │ vmla.f64 d7, d4, d8 │ │ │ │ │ - vmls.f64 d7, d5, d9 │ │ │ │ │ - vmov.f64 d5, d6 │ │ │ │ │ - vmla.f64 d5, d1, d11 │ │ │ │ │ vstr d3, [r7] │ │ │ │ │ vmul.f64 d3, d0, d13 │ │ │ │ │ - vmla.f64 d3, d1, d12 │ │ │ │ │ + vmls.f64 d7, d5, d9 │ │ │ │ │ add r7, fp │ │ │ │ │ + vmov.f64 d5, d6 │ │ │ │ │ + vmla.f64 d3, d1, d12 │ │ │ │ │ + vmla.f64 d5, d1, d11 │ │ │ │ │ vsub.f64 d3, d14, d3 │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ add.w r3, r3, r5, lsl #3 │ │ │ │ │ + eor.w r5, r5, r8 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ vmul.f64 d7, d0, d12 │ │ │ │ │ vmla.f64 d7, d2, d13 │ │ │ │ │ - eor.w r5, r5, r8 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ vmul.f64 d7, d1, d13 │ │ │ │ │ vmla.f64 d7, d2, d12 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ vmov.f64 d5, d6 │ │ │ │ │ - vmla.f64 d5, d0, d11 │ │ │ │ │ vadd.f64 d6, d6, d0 │ │ │ │ │ sub.w r3, r3, r9 │ │ │ │ │ + vmla.f64 d5, d0, d11 │ │ │ │ │ vadd.f64 d6, d6, d1 │ │ │ │ │ - vsub.f64 d5, d5, d7 │ │ │ │ │ vadd.f64 d6, d6, d2 │ │ │ │ │ + vsub.f64 d5, d5, d7 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ vstr d6, [r2] │ │ │ │ │ add ip, r3 │ │ │ │ │ add r2, r3 │ │ │ │ │ - bne.w 192 │ │ │ │ │ - add sp, #12 │ │ │ │ │ - vpop {d8-d14} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop.w │ │ │ │ │ + bne.w 1b8 │ │ │ │ │ + b.n 17a │ │ │ │ │ + nop │ │ │ │ │ .word 0x0558e969 │ │ │ │ │ .word 0x3fef329c │ │ │ │ │ .word 0x7505de4b │ │ │ │ │ .word 0x3fe904c3 │ │ │ │ │ .word 0x4d71abc1 │ │ │ │ │ .word 0x3fdbc4c0 │ │ │ │ │ .word 0xe28bedd1 │ │ │ │ │ .word 0x3fe3f3a0 │ │ │ │ │ .word 0xe3024582 │ │ │ │ │ .word 0x3fcc7b90 │ │ │ │ │ .word 0xa9cb5c71 │ │ │ │ │ .word 0x3fecd4bc │ │ │ │ │ - .word 0x000002ce │ │ │ │ │ + .word 0x000002d6 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ │ │ │ │ │ -000002e8 : │ │ │ │ │ +00000308 : │ │ │ │ │ fftw_codelet_r2cf_7(): │ │ │ │ │ - ldr r2, [pc, #8] @ (2f4 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (2f8 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (314 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (318 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cf_8.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1332 (bytes into file) │ │ │ │ │ + Start of section headers: 1372 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x534: │ │ │ │ │ +There are 13 section headers, starting at offset 0x55c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00026c 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00048c 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0002a0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0002a0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0002a0 000007 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 0002a7 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 0004b4 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 0002d7 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0002d7 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 00030c 000100 10 11 11 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 00040c 000080 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 0004c4 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000294 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0004b4 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0002c8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0002c8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0002c8 000007 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0002cf 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 0004dc 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 0002ff 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0002ff 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 000334 000100 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 000434 000080 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 0004ec 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 16 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 600 FUNC LOCAL DEFAULT 1 r2cf_8 │ │ │ │ │ + 1: 00000001 640 FUNC LOCAL DEFAULT 1 r2cf_8 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000248 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000258 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000264 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000270 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000280 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 0000028c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 13: 00000259 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_8 │ │ │ │ │ + 13: 00000281 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_8 │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x48c contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x4b4 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000250 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -00000254 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000264 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000268 00000103 R_ARM_REL32 00000001 r2cf_8 │ │ │ │ │ -00000260 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +00000278 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000027c 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +0000028c 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000290 00000103 R_ARM_REL32 00000001 r2cf_8 │ │ │ │ │ +00000288 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x4b4 contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x4dc contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000f02 R_ARM_ABS32 00000000 fftw_rdft_r2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,120 +1,130 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cf_8(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - ldr.w r8, [pc, #584] @ 250 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d10} │ │ │ │ │ sub sp, #12 │ │ │ │ │ - add r8, pc │ │ │ │ │ + ldr.w r8, [pc, #604] @ 278 │ │ │ │ │ ldrd r6, lr, [sp, #80] @ 0x50 │ │ │ │ │ ldrd r4, r5, [sp, #72] @ 0x48 │ │ │ │ │ - cmp.w lr, #0 │ │ │ │ │ + add r8, pc │ │ │ │ │ ldr r7, [sp, #88] @ 0x58 │ │ │ │ │ - ble.w 130 │ │ │ │ │ - ldr.w r9, [pc, #560] @ 254 │ │ │ │ │ + cmp.w lr, #0 │ │ │ │ │ + ble.w 14c │ │ │ │ │ + ldr.w r9, [pc, #584] @ 27c │ │ │ │ │ mov ip, r3 │ │ │ │ │ ldr.w r3, [r8, r9] │ │ │ │ │ ldr.w r8, [r3] │ │ │ │ │ ldr r3, [sp, #92] @ 0x5c │ │ │ │ │ cmp r7, #1 │ │ │ │ │ it eq │ │ │ │ │ cmpeq r3, #1 │ │ │ │ │ - bne.n 13a │ │ │ │ │ - mov.w r9, #24 │ │ │ │ │ - vldr d3, [pc, #520] @ 248 │ │ │ │ │ - lsls r7, r4, #4 │ │ │ │ │ + bne.w 168 │ │ │ │ │ + vldr d4, [pc, #544] @ 270 │ │ │ │ │ + mov.w r7, r4, lsl #4 │ │ │ │ │ + subs.w lr, lr, #1 │ │ │ │ │ vldr d9, [r0] │ │ │ │ │ - adds r3, r0, r7 │ │ │ │ │ + mov.w sl, r5, lsl #4 │ │ │ │ │ + add.w r3, r0, r7 │ │ │ │ │ vldr d5, [r1] │ │ │ │ │ - mov.w fp, r5, lsl #4 │ │ │ │ │ - subs.w lr, lr, #1 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - mla r3, r9, r4, r1 │ │ │ │ │ - vadd.f64 d1, d7, d9 │ │ │ │ │ - vsub.f64 d9, d9, d7 │ │ │ │ │ + add.w r3, r4, r4, lsl #1 │ │ │ │ │ + add.w r3, r1, r3, lsl #3 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ mov.w r3, r4, lsl #3 │ │ │ │ │ - add.w sl, r1, r3 │ │ │ │ │ - add r3, r0 │ │ │ │ │ eor.w r4, r4, r8 │ │ │ │ │ + vadd.f64 d1, d7, d9 │ │ │ │ │ + vsub.f64 d9, d9, d7 │ │ │ │ │ + add.w r9, r1, r3 │ │ │ │ │ + add r3, r0 │ │ │ │ │ add.w r0, r0, #8 │ │ │ │ │ - vldr d2, [sl] │ │ │ │ │ - mov.w sl, r6, lsl #4 │ │ │ │ │ + vldr d2, [r9] │ │ │ │ │ + mov.w r9, r6, lsl #4 │ │ │ │ │ vldr d0, [r3] │ │ │ │ │ add r3, r7 │ │ │ │ │ - add r7, r1 │ │ │ │ │ - add.w r1, r1, #8 │ │ │ │ │ vsub.f64 d7, d6, d2 │ │ │ │ │ vadd.f64 d2, d2, d6 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - add.w r3, r2, fp │ │ │ │ │ - vadd.f64 d4, d6, d0 │ │ │ │ │ - vsub.f64 d0, d0, d6 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - add.w r7, ip, sl │ │ │ │ │ + add.w r3, r1, r7 │ │ │ │ │ + add.w r7, ip, r9 │ │ │ │ │ + add.w r1, r1, #8 │ │ │ │ │ add.w ip, ip, #8 │ │ │ │ │ + vadd.f64 d3, d6, d0 │ │ │ │ │ + vsub.f64 d0, d0, d6 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + add.w r3, r2, sl │ │ │ │ │ vsub.f64 d8, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vsub.f64 d5, d1, d4 │ │ │ │ │ - vadd.f64 d4, d4, d1 │ │ │ │ │ + vsub.f64 d5, d1, d3 │ │ │ │ │ + vadd.f64 d3, d3, d1 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ vsub.f64 d5, d2, d6 │ │ │ │ │ add.w r3, r3, r5, lsl #3 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ vadd.f64 d5, d8, d7 │ │ │ │ │ vsub.f64 d7, d7, d8 │ │ │ │ │ sub.w r7, r7, r6, lsl #3 │ │ │ │ │ eor.w r6, r6, r8 │ │ │ │ │ - vmul.f64 d5, d5, d3 │ │ │ │ │ - vmul.f64 d7, d7, d3 │ │ │ │ │ + vmul.f64 d5, d5, d4 │ │ │ │ │ + vmul.f64 d7, d7, d4 │ │ │ │ │ vsub.f64 d10, d9, d5 │ │ │ │ │ vadd.f64 d5, d5, d9 │ │ │ │ │ vstr d10, [r3] │ │ │ │ │ - sub.w r3, r3, fp │ │ │ │ │ + sub.w r3, r3, sl │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ vsub.f64 d5, d7, d0 │ │ │ │ │ vadd.f64 d7, d7, d0 │ │ │ │ │ - mla r3, r9, r5, r3 │ │ │ │ │ - eor.w r5, r5, r8 │ │ │ │ │ vstr d5, [r7] │ │ │ │ │ - add r7, sl │ │ │ │ │ + add r7, r9 │ │ │ │ │ vstr d7, [r7] │ │ │ │ │ vadd.f64 d7, d6, d2 │ │ │ │ │ - vsub.f64 d6, d4, d7 │ │ │ │ │ - vadd.f64 d7, d7, d4 │ │ │ │ │ + add.w r7, r5, r5, lsl #1 │ │ │ │ │ + eor.w r5, r5, r8 │ │ │ │ │ + add.w r3, r3, r7, lsl #3 │ │ │ │ │ + vsub.f64 d6, d3, d7 │ │ │ │ │ + vadd.f64 d7, d7, d3 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ vstmia r2!, {d7} │ │ │ │ │ - bne.n 42 │ │ │ │ │ + bne.n 50 │ │ │ │ │ add sp, #12 │ │ │ │ │ vpop {d8-d10} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + vldr d2, [pc, #260] @ 270 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ mov.w sl, r7, lsl #3 │ │ │ │ │ - vldr d2, [pc, #264] @ 248 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ - lsls r7, r4, #4 │ │ │ │ │ + mov.w r7, r4, lsl #4 │ │ │ │ │ vldr d4, [r0] │ │ │ │ │ - adds r3, r0, r7 │ │ │ │ │ - mov.w fp, r5, lsl #4 │ │ │ │ │ subs.w lr, lr, #1 │ │ │ │ │ + mov.w fp, r5, lsl #4 │ │ │ │ │ + add.w r3, r0, r7 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - mov.w r3, #24 │ │ │ │ │ - mla r3, r3, r4, r1 │ │ │ │ │ + add.w r3, r4, r4, lsl #1 │ │ │ │ │ + add.w r3, r1, r3, lsl #3 │ │ │ │ │ vadd.f64 d7, d4, d6 │ │ │ │ │ vsub.f64 d4, d4, d6 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ mov.w r3, r4, lsl #3 │ │ │ │ │ + eor.w r4, r4, r8 │ │ │ │ │ add.w r9, r1, r3 │ │ │ │ │ add r3, r0 │ │ │ │ │ - eor.w r4, r4, r8 │ │ │ │ │ add r0, sl │ │ │ │ │ vldr d3, [r9] │ │ │ │ │ mov.w r9, r6, lsl #4 │ │ │ │ │ vsub.f64 d5, d6, d3 │ │ │ │ │ vadd.f64 d3, d6, d3 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ add r3, r7 │ │ │ │ │ @@ -150,38 +160,35 @@ │ │ │ │ │ vsub.f64 d4, d5, d6 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ vsub.f64 d5, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ vstr d4, [r7] │ │ │ │ │ add r7, r9 │ │ │ │ │ vstr d6, [r7] │ │ │ │ │ - mov.w r7, #24 │ │ │ │ │ - mla r3, r7, r5, r3 │ │ │ │ │ + add.w r7, r5, r5, lsl #1 │ │ │ │ │ eor.w r5, r5, r8 │ │ │ │ │ + add.w r3, r3, r7, lsl #3 │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ vstr d7, [r2] │ │ │ │ │ add ip, r3 │ │ │ │ │ add r2, r3 │ │ │ │ │ - bne.n 146 │ │ │ │ │ - add sp, #12 │ │ │ │ │ - vpop {d8-d10} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop.w │ │ │ │ │ + bne.n 176 │ │ │ │ │ + b.n 14c │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ - .word 0x0000023e │ │ │ │ │ + .word 0x0000024e │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ │ │ │ │ │ -00000258 : │ │ │ │ │ +00000280 : │ │ │ │ │ fftw_codelet_r2cf_8(): │ │ │ │ │ - ldr r2, [pc, #8] @ (264 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (268 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (28c ) │ │ │ │ │ + ldr r1, [pc, #12] @ (290 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── r2cf_9.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1836 (bytes into file) │ │ │ │ │ + Start of section headers: 1900 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 13 │ │ │ │ │ Section header string table index: 12 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ -There are 13 section headers, starting at offset 0x72c: │ │ │ │ │ +There are 13 section headers, starting at offset 0x76c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000464 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000684 000028 08 I 10 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000498 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000498 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000498 000007 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .data.rel.ro PROGBITS 00000000 00049f 000030 00 WA 0 0 8 │ │ │ │ │ - [ 7] .rel.data.rel.ro REL 00000000 0006ac 000010 08 I 10 6 4 │ │ │ │ │ - [ 8] .note.GNU-stack PROGBITS 00000000 0004cf 000000 00 0 0 1 │ │ │ │ │ - [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 0004cf 000033 00 0 0 1 │ │ │ │ │ - [10] .symtab SYMTAB 00000000 000504 000100 10 11 11 4 │ │ │ │ │ - [11] .strtab STRTAB 00000000 000604 000080 00 0 0 1 │ │ │ │ │ - [12] .shstrtab STRTAB 00000000 0006bc 000070 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0004a4 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0006c4 000028 08 I 10 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0004d8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0004d8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0004d8 000007 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .data.rel.ro PROGBITS 00000000 0004df 000030 00 WA 0 0 8 │ │ │ │ │ + [ 7] .rel.data.rel.ro REL 00000000 0006ec 000010 08 I 10 6 4 │ │ │ │ │ + [ 8] .note.GNU-stack PROGBITS 00000000 00050f 000000 00 0 0 1 │ │ │ │ │ + [ 9] .ARM.attributes ARM_ATTRIBUTES 00000000 00050f 000033 00 0 0 1 │ │ │ │ │ + [10] .symtab SYMTAB 00000000 000544 000100 10 11 11 4 │ │ │ │ │ + [11] .strtab STRTAB 00000000 000644 000080 00 0 0 1 │ │ │ │ │ + [12] .shstrtab STRTAB 00000000 0006fc 000070 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 16 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1104 FUNC LOCAL DEFAULT 1 r2cf_9 │ │ │ │ │ + 1: 00000001 1168 FUNC LOCAL DEFAULT 1 r2cf_9 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000003e0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000450 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 0000045c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000420 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000490 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 0000049c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .data.rel.ro │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 48 OBJECT LOCAL DEFAULT 6 desc │ │ │ │ │ 11: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 12: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 13: 00000451 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_9 │ │ │ │ │ + 13: 00000491 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_r2cf_9 │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_kr2c_register │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_r2cf_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x684 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x6c4 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000448 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000044c 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -0000045c 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000460 00000103 R_ARM_REL32 00000001 r2cf_9 │ │ │ │ │ -00000458 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ +00000488 00000b19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000048c 00000c1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +0000049c 00000803 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000004a0 00000103 R_ARM_REL32 00000001 r2cf_9 │ │ │ │ │ +00000498 00000e1e R_ARM_THM_JUMP24 00000000 fftw_kr2c_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x6ac contains 2 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x6ec contains 2 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000028 00000f02 R_ARM_ABS32 00000000 fftw_rdft_r2cf_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,286 +1,296 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ r2cf_9(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r8, r3 │ │ │ │ │ - ldr.w ip, [pc, #1088] @ 448 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov r9, r3 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ sub sp, #12 │ │ │ │ │ + ldr.w ip, [pc, #1128] @ 488 │ │ │ │ │ + ldrd r6, r3, [sp, #120] @ 0x78 │ │ │ │ │ + ldrd r4, r5, [sp, #112] @ 0x70 │ │ │ │ │ add ip, pc │ │ │ │ │ - ldr r3, [sp, #124] @ 0x7c │ │ │ │ │ - ldrd r5, r6, [sp, #112] @ 0x70 │ │ │ │ │ + ldr r7, [sp, #132] @ 0x84 │ │ │ │ │ cmp r3, #0 │ │ │ │ │ - ldr r7, [sp, #120] @ 0x78 │ │ │ │ │ - ldr r4, [sp, #132] @ 0x84 │ │ │ │ │ - ble.w 1fc │ │ │ │ │ - ldr.w lr, [pc, #1064] @ 44c │ │ │ │ │ + ble.w 21e │ │ │ │ │ + ldr.w lr, [pc, #1112] @ 48c │ │ │ │ │ ldr.w r3, [ip, lr] │ │ │ │ │ - ldr.w r9, [r3] │ │ │ │ │ + ldr.w sl, [r3] │ │ │ │ │ ldr r3, [sp, #128] @ 0x80 │ │ │ │ │ cmp r3, #1 │ │ │ │ │ it eq │ │ │ │ │ - cmpeq r4, #1 │ │ │ │ │ - bne.w 206 │ │ │ │ │ - vldr d15, [pc, #932] @ 3e0 │ │ │ │ │ - mov.w ip, #24 │ │ │ │ │ - lsls r3, r5, #3 │ │ │ │ │ - adds r4, r1, r3 │ │ │ │ │ - add r3, r0 │ │ │ │ │ + cmpeq r7, #1 │ │ │ │ │ + bne.w 23a │ │ │ │ │ + vldr d15, [pc, #980] @ 420 │ │ │ │ │ + mov.w r3, r4, lsl #3 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - mul.w lr, ip, r5 │ │ │ │ │ - vldr d9, [pc, #916] @ 3e8 │ │ │ │ │ - vldr d13, [r4] │ │ │ │ │ - mul.w fp, ip, r7 │ │ │ │ │ - add.w r4, r0, lr │ │ │ │ │ + mov.w r8, r5, lsl #4 │ │ │ │ │ + add.w r7, r1, r3 │ │ │ │ │ + add r3, r0 │ │ │ │ │ + mov.w fp, r6, lsl #4 │ │ │ │ │ + vldr d9, [pc, #960] @ 428 │ │ │ │ │ + vldr d13, [r7] │ │ │ │ │ + add.w r7, r4, r4, lsl #1 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ vldr d12, [r3] │ │ │ │ │ - add r3, lr │ │ │ │ │ - mul.w ip, ip, r6 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - lsls r4, r5, #4 │ │ │ │ │ - add.w sl, r0, r4 │ │ │ │ │ - add r4, r1 │ │ │ │ │ - adds r0, #8 │ │ │ │ │ - eor.w r5, r5, r9 │ │ │ │ │ + add.w ip, r0, r7 │ │ │ │ │ + add r3, r7 │ │ │ │ │ + vldr d5, [ip] │ │ │ │ │ + mov.w ip, r4, lsl #4 │ │ │ │ │ + eor.w r4, r4, sl │ │ │ │ │ + add.w lr, r0, ip │ │ │ │ │ + add ip, r1 │ │ │ │ │ + add.w r0, r0, #8 │ │ │ │ │ + vldr d11, [lr] │ │ │ │ │ + add.w lr, r1, r7 │ │ │ │ │ + add.w r1, r1, #8 │ │ │ │ │ + vldr d3, [lr] │ │ │ │ │ vadd.f64 d2, d5, d13 │ │ │ │ │ vsub.f64 d13, d5, d13 │ │ │ │ │ - vldr d11, [sl] │ │ │ │ │ - add.w sl, r1, lr │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - mov.w lr, r6, lsl #4 │ │ │ │ │ - vldr d0, [r4] │ │ │ │ │ - add.w r4, r8, fp │ │ │ │ │ - vldr d3, [sl] │ │ │ │ │ - vmul.f64 d10, d13, d15 │ │ │ │ │ - mov.w sl, r7, lsl #4 │ │ │ │ │ - adds r1, #8 │ │ │ │ │ - add.w r8, r8, #8 │ │ │ │ │ - eor.w r6, r6, r9 │ │ │ │ │ + add.w lr, r5, r5, lsl #1 │ │ │ │ │ + eor.w r5, r5, sl │ │ │ │ │ + vldr d5, [r1, #-8] │ │ │ │ │ + mov.w lr, lr, lsl #3 │ │ │ │ │ + vldr d0, [ip] │ │ │ │ │ + add.w ip, r6, r6, lsl #1 │ │ │ │ │ + eor.w r6, r6, sl │ │ │ │ │ vadd.f64 d6, d3, d11 │ │ │ │ │ vsub.f64 d11, d3, d11 │ │ │ │ │ + mov.w ip, ip, lsl #3 │ │ │ │ │ vmov.f64 d3, #96 @ 0x3f000000 0.5 │ │ │ │ │ - eor.w r7, r7, r9 │ │ │ │ │ + vmul.f64 d10, d13, d15 │ │ │ │ │ + add.w r7, r9, ip │ │ │ │ │ + add.w r9, r9, #8 │ │ │ │ │ vadd.f64 d1, d6, d5 │ │ │ │ │ vmls.f64 d5, d6, d3 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - add.w r3, r2, ip │ │ │ │ │ + add.w r3, r2, lr │ │ │ │ │ vadd.f64 d8, d6, d0 │ │ │ │ │ vsub.f64 d6, d6, d0 │ │ │ │ │ vadd.f64 d4, d8, d12 │ │ │ │ │ vmls.f64 d12, d8, d3 │ │ │ │ │ vsub.f64 d0, d4, d1 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ vmul.f64 d0, d0, d15 │ │ │ │ │ - vstr d0, [r4] │ │ │ │ │ + vstr d0, [r7] │ │ │ │ │ vadd.f64 d0, d2, d7 │ │ │ │ │ vmls.f64 d7, d2, d3 │ │ │ │ │ - vldr d2, [pc, #756] @ 3f0 │ │ │ │ │ - sub.w r4, r4, sl │ │ │ │ │ + vldr d2, [pc, #784] @ 430 │ │ │ │ │ + sub.w r7, r7, fp │ │ │ │ │ vmov.f64 d1, d0 │ │ │ │ │ vmls.f64 d1, d4, d3 │ │ │ │ │ vadd.f64 d4, d4, d0 │ │ │ │ │ - vldr d0, [pc, #744] @ 3f8 │ │ │ │ │ + vldr d0, [pc, #772] @ 438 │ │ │ │ │ vstr d1, [r3] │ │ │ │ │ - sub.w r3, r3, lr │ │ │ │ │ + sub.w r3, r3, r8 │ │ │ │ │ vstmia r2!, {d4} │ │ │ │ │ - vldr d4, [pc, #736] @ 400 │ │ │ │ │ + vldr d4, [pc, #764] @ 440 │ │ │ │ │ vmul.f64 d1, d5, d4 │ │ │ │ │ - vldr d4, [pc, #736] @ 408 │ │ │ │ │ + vldr d4, [pc, #764] @ 448 │ │ │ │ │ vmla.f64 d1, d11, d4 │ │ │ │ │ - vldr d4, [pc, #736] @ 410 │ │ │ │ │ + vldr d4, [pc, #764] @ 450 │ │ │ │ │ vmul.f64 d14, d12, d4 │ │ │ │ │ vmla.f64 d14, d6, d2 │ │ │ │ │ vmul.f64 d2, d5, d0 │ │ │ │ │ - vldr d0, [pc, #728] @ 418 │ │ │ │ │ + vldr d0, [pc, #756] @ 458 │ │ │ │ │ vnmls.f64 d2, d11, d0 │ │ │ │ │ - vldr d0, [pc, #728] @ 420 │ │ │ │ │ - vmul.f64 d0, d12, d0 │ │ │ │ │ + vldr d0, [pc, #756] @ 460 │ │ │ │ │ vadd.f64 d8, d14, d1 │ │ │ │ │ vsub.f64 d14, d14, d1 │ │ │ │ │ + vmul.f64 d0, d12, d0 │ │ │ │ │ + vadd.f64 d14, d14, d13 │ │ │ │ │ vnmls.f64 d0, d6, d9 │ │ │ │ │ vadd.f64 d9, d8, d7 │ │ │ │ │ - vadd.f64 d14, d14, d13 │ │ │ │ │ vstr d9, [r3] │ │ │ │ │ - add r3, ip │ │ │ │ │ + add r3, lr │ │ │ │ │ vadd.f64 d4, d0, d2 │ │ │ │ │ vsub.f64 d2, d2, d0 │ │ │ │ │ vmov.f64 d0, d7 │ │ │ │ │ vadd.f64 d9, d4, d10 │ │ │ │ │ vmla.f64 d0, d2, d15 │ │ │ │ │ + vldr d2, [pc, #656] @ 430 │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ - vldr d2, [pc, #620] @ 3f0 │ │ │ │ │ vmls.f64 d0, d8, d3 │ │ │ │ │ - vstr d9, [r4] │ │ │ │ │ + vldr d3, [pc, #700] @ 468 │ │ │ │ │ vnmls.f64 d4, d14, d15 │ │ │ │ │ - add r4, fp │ │ │ │ │ - vldr d3, [pc, #660] @ 428 │ │ │ │ │ - vldr d9, [pc, #592] @ 3e8 │ │ │ │ │ + vstr d9, [r7] │ │ │ │ │ + add r7, ip │ │ │ │ │ + vldr d9, [pc, #620] @ 428 │ │ │ │ │ vstr d0, [r3] │ │ │ │ │ - sub.w r3, r3, lr │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - sub.w r4, r4, sl │ │ │ │ │ - vldr d4, [pc, #644] @ 430 │ │ │ │ │ - vldr d0, [pc, #624] @ 420 │ │ │ │ │ + sub.w r3, r3, r8 │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ + sub.w r7, r7, fp │ │ │ │ │ + vldr d4, [pc, #672] @ 470 │ │ │ │ │ + vldr d0, [pc, #652] @ 460 │ │ │ │ │ vmul.f64 d4, d12, d4 │ │ │ │ │ vnmls.f64 d4, d6, d3 │ │ │ │ │ vmul.f64 d3, d11, d9 │ │ │ │ │ vmla.f64 d3, d5, d0 │ │ │ │ │ vsub.f64 d4, d4, d3 │ │ │ │ │ vsub.f64 d4, d4, d10 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - vldr d4, [pc, #576] @ 410 │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ + vldr d4, [pc, #604] @ 450 │ │ │ │ │ vmla.f64 d7, d5, d4 │ │ │ │ │ - vldr d5, [pc, #608] @ 438 │ │ │ │ │ + vldr d5, [pc, #636] @ 478 │ │ │ │ │ vmul.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [pc, #608] @ 440 │ │ │ │ │ + vldr d5, [pc, #636] @ 480 │ │ │ │ │ vmla.f64 d6, d12, d5 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vmls.f64 d7, d11, d2 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ ldr r3, [sp, #124] @ 0x7c │ │ │ │ │ subs r3, #1 │ │ │ │ │ str r3, [sp, #124] @ 0x7c │ │ │ │ │ - bne.w 3e │ │ │ │ │ + bne.w 4e │ │ │ │ │ add sp, #12 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - vldr d15, [pc, #472] @ 3e0 │ │ │ │ │ - lsls r3, r3, #3 │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + vldr d15, [pc, #480] @ 420 │ │ │ │ │ str r3, [sp, #0] │ │ │ │ │ - lsls r3, r4, #3 │ │ │ │ │ + mov.w r3, r7, lsl #3 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ - mov.w ip, #24 │ │ │ │ │ - lsls r3, r5, #3 │ │ │ │ │ - adds r4, r1, r3 │ │ │ │ │ - add r3, r0 │ │ │ │ │ - vldr d10, [r1] │ │ │ │ │ + mov.w r3, r4, lsl #3 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ vmov.f64 d4, #96 @ 0x3f000000 0.5 │ │ │ │ │ - mul.w lr, ip, r5 │ │ │ │ │ + mov.w r8, r5, lsl #4 │ │ │ │ │ + add.w r7, r1, r3 │ │ │ │ │ + add r3, r0 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - vldr d14, [r4] │ │ │ │ │ - mul.w fp, ip, r7 │ │ │ │ │ - add.w r4, r0, lr │ │ │ │ │ - vldr d11, [r3] │ │ │ │ │ - add r3, lr │ │ │ │ │ - mul.w ip, ip, r6 │ │ │ │ │ - vldr d9, [pc, #420] @ 3e8 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - lsls r4, r5, #4 │ │ │ │ │ - add.w sl, r0, r4 │ │ │ │ │ - add r4, r1 │ │ │ │ │ - eor.w r5, r5, r9 │ │ │ │ │ + mov.w fp, r6, lsl #4 │ │ │ │ │ + vldr d14, [r7] │ │ │ │ │ + add.w r7, r4, r4, lsl #1 │ │ │ │ │ + mov.w r7, r7, lsl #3 │ │ │ │ │ + vldr d12, [r3] │ │ │ │ │ + add.w ip, r0, r7 │ │ │ │ │ + add r3, r7 │ │ │ │ │ + vldr d9, [pc, #424] @ 428 │ │ │ │ │ + vldr d5, [ip] │ │ │ │ │ + mov.w ip, r4, lsl #4 │ │ │ │ │ + eor.w r4, r4, sl │ │ │ │ │ + add.w lr, r0, ip │ │ │ │ │ + add ip, r1 │ │ │ │ │ + vldr d0, [r3] │ │ │ │ │ + vldr d11, [lr] │ │ │ │ │ + add.w lr, r1, r7 │ │ │ │ │ + vldr d10, [ip] │ │ │ │ │ vadd.f64 d3, d14, d5 │ │ │ │ │ vsub.f64 d14, d5, d14 │ │ │ │ │ - vldr d12, [sl] │ │ │ │ │ - add.w sl, r1, lr │ │ │ │ │ - mov.w lr, r6, lsl #4 │ │ │ │ │ - eor.w r6, r6, r9 │ │ │ │ │ - vldr d1, [sl] │ │ │ │ │ - mov.w sl, r7, lsl #4 │ │ │ │ │ - eor.w r7, r7, r9 │ │ │ │ │ - vadd.f64 d6, d12, d1 │ │ │ │ │ - vsub.f64 d12, d1, d12 │ │ │ │ │ - vldr d1, [r4] │ │ │ │ │ - add.w r4, r8, fp │ │ │ │ │ - vadd.f64 d5, d10, d6 │ │ │ │ │ - vmls.f64 d10, d6, d4 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - add.w r3, r2, ip │ │ │ │ │ - vadd.f64 d0, d1, d6 │ │ │ │ │ - vsub.f64 d6, d6, d1 │ │ │ │ │ - vadd.f64 d2, d11, d0 │ │ │ │ │ - vmls.f64 d11, d0, d4 │ │ │ │ │ + add.w ip, r6, r6, lsl #1 │ │ │ │ │ + eor.w r6, r6, sl │ │ │ │ │ + vldr d1, [lr] │ │ │ │ │ + add.w lr, r5, r5, lsl #1 │ │ │ │ │ + eor.w r5, r5, sl │ │ │ │ │ + mov.w ip, ip, lsl #3 │ │ │ │ │ + mov.w lr, lr, lsl #3 │ │ │ │ │ + add.w r7, r9, ip │ │ │ │ │ + vadd.f64 d8, d10, d0 │ │ │ │ │ + add.w r3, r2, lr │ │ │ │ │ + vsub.f64 d10, d0, d10 │ │ │ │ │ vmul.f64 d0, d14, d15 │ │ │ │ │ + vadd.f64 d2, d11, d1 │ │ │ │ │ + vsub.f64 d11, d1, d11 │ │ │ │ │ + vadd.f64 d5, d6, d2 │ │ │ │ │ + vmls.f64 d6, d2, d4 │ │ │ │ │ + vadd.f64 d2, d12, d8 │ │ │ │ │ + vmls.f64 d12, d8, d4 │ │ │ │ │ vsub.f64 d1, d2, d5 │ │ │ │ │ vadd.f64 d5, d5, d2 │ │ │ │ │ vmul.f64 d1, d1, d15 │ │ │ │ │ - vstr d1, [r4] │ │ │ │ │ + vstr d1, [r7] │ │ │ │ │ vadd.f64 d1, d7, d3 │ │ │ │ │ vmls.f64 d7, d3, d4 │ │ │ │ │ - vldr d3, [pc, #328] @ 410 │ │ │ │ │ - sub.w r4, r4, sl │ │ │ │ │ + vldr d3, [pc, #320] @ 450 │ │ │ │ │ + sub.w r7, r7, fp │ │ │ │ │ vmov.f64 d2, d1 │ │ │ │ │ vadd.f64 d1, d1, d5 │ │ │ │ │ vmls.f64 d2, d5, d4 │ │ │ │ │ - vldr d5, [pc, #300] @ 408 │ │ │ │ │ + vldr d5, [pc, #292] @ 448 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ - vmul.f64 d2, d12, d5 │ │ │ │ │ - vldr d5, [pc, #280] @ 400 │ │ │ │ │ - sub.w r3, r3, lr │ │ │ │ │ + vmul.f64 d2, d11, d5 │ │ │ │ │ + sub.w r3, r3, r8 │ │ │ │ │ + vldr d5, [pc, #268] @ 440 │ │ │ │ │ vstr d1, [r2] │ │ │ │ │ - vldr d1, [pc, #260] @ 3f8 │ │ │ │ │ - vmla.f64 d2, d10, d5 │ │ │ │ │ - vldr d5, [pc, #244] @ 3f0 │ │ │ │ │ - vmul.f64 d13, d6, d5 │ │ │ │ │ - vmla.f64 d13, d11, d3 │ │ │ │ │ - vmul.f64 d3, d10, d1 │ │ │ │ │ - vldr d1, [pc, #268] @ 418 │ │ │ │ │ - vnmls.f64 d3, d12, d1 │ │ │ │ │ - vldr d1, [pc, #268] @ 420 │ │ │ │ │ - vmul.f64 d1, d11, d1 │ │ │ │ │ + vldr d1, [pc, #252] @ 438 │ │ │ │ │ + vmla.f64 d2, d6, d5 │ │ │ │ │ + vldr d5, [pc, #236] @ 430 │ │ │ │ │ + vmul.f64 d13, d10, d5 │ │ │ │ │ + vmla.f64 d13, d12, d3 │ │ │ │ │ + vmul.f64 d3, d6, d1 │ │ │ │ │ + vldr d1, [pc, #260] @ 458 │ │ │ │ │ + vnmls.f64 d3, d11, d1 │ │ │ │ │ + vldr d1, [pc, #260] @ 460 │ │ │ │ │ vadd.f64 d8, d2, d13 │ │ │ │ │ vsub.f64 d13, d13, d2 │ │ │ │ │ - vnmls.f64 d1, d6, d9 │ │ │ │ │ - vadd.f64 d9, d7, d8 │ │ │ │ │ + vmul.f64 d1, d12, d1 │ │ │ │ │ vadd.f64 d13, d13, d14 │ │ │ │ │ + vnmls.f64 d1, d10, d9 │ │ │ │ │ + vadd.f64 d9, d7, d8 │ │ │ │ │ vstr d9, [r3] │ │ │ │ │ - add r3, ip │ │ │ │ │ + add r3, lr │ │ │ │ │ vadd.f64 d5, d3, d1 │ │ │ │ │ vsub.f64 d3, d3, d1 │ │ │ │ │ vmov.f64 d1, d7 │ │ │ │ │ vadd.f64 d9, d0, d5 │ │ │ │ │ vmla.f64 d1, d3, d15 │ │ │ │ │ + vldr d3, [pc, #192] @ 450 │ │ │ │ │ vmul.f64 d5, d5, d4 │ │ │ │ │ - vldr d3, [pc, #192] @ 410 │ │ │ │ │ vmls.f64 d1, d8, d4 │ │ │ │ │ - vstr d9, [r4] │ │ │ │ │ + vldr d4, [pc, #204] @ 468 │ │ │ │ │ vnmls.f64 d5, d13, d15 │ │ │ │ │ - add r4, fp │ │ │ │ │ - vldr d4, [pc, #200] @ 428 │ │ │ │ │ - vmla.f64 d7, d10, d3 │ │ │ │ │ - vldr d9, [pc, #128] @ 3e8 │ │ │ │ │ + vstr d9, [r7] │ │ │ │ │ + add r7, ip │ │ │ │ │ + vldr d9, [pc, #124] @ 428 │ │ │ │ │ + vmla.f64 d7, d6, d3 │ │ │ │ │ vstr d1, [r3] │ │ │ │ │ - sub.w r3, r3, lr │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ - sub.w r4, r4, sl │ │ │ │ │ - vldr d5, [pc, #180] @ 430 │ │ │ │ │ - vldr d1, [pc, #160] @ 420 │ │ │ │ │ - vmul.f64 d5, d11, d5 │ │ │ │ │ - vnmls.f64 d5, d6, d4 │ │ │ │ │ - vmul.f64 d4, d10, d1 │ │ │ │ │ - vmla.f64 d4, d12, d9 │ │ │ │ │ + sub.w r3, r3, r8 │ │ │ │ │ + vstr d5, [r7] │ │ │ │ │ + sub.w r7, r7, fp │ │ │ │ │ + vldr d5, [pc, #172] @ 470 │ │ │ │ │ + vldr d1, [pc, #152] @ 460 │ │ │ │ │ + vmul.f64 d5, d12, d5 │ │ │ │ │ + vnmls.f64 d5, d10, d4 │ │ │ │ │ + vmul.f64 d4, d6, d1 │ │ │ │ │ + vldr d6, [pc, #168] @ 480 │ │ │ │ │ + vmla.f64 d4, d11, d9 │ │ │ │ │ + vmul.f64 d12, d12, d6 │ │ │ │ │ + vldr d6, [pc, #148] @ 478 │ │ │ │ │ + vmla.f64 d12, d10, d6 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ vsub.f64 d5, d5, d0 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ - vldr d5, [pc, #160] @ 440 │ │ │ │ │ - vmul.f64 d11, d11, d5 │ │ │ │ │ - vldr d5, [pc, #144] @ 438 │ │ │ │ │ - vmla.f64 d11, d6, d5 │ │ │ │ │ - vldr d5, [pc, #64] @ 3f0 │ │ │ │ │ - vsub.f64 d7, d7, d11 │ │ │ │ │ - vmls.f64 d7, d12, d5 │ │ │ │ │ + vsub.f64 d7, d7, d12 │ │ │ │ │ + vstr d5, [r7] │ │ │ │ │ + vldr d5, [pc, #52] @ 430 │ │ │ │ │ + vmls.f64 d7, d11, d5 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ ldr r3, [sp, #0] │ │ │ │ │ add r0, r3 │ │ │ │ │ add r1, r3 │ │ │ │ │ ldr r3, [sp, #4] │ │ │ │ │ add r2, r3 │ │ │ │ │ - add r8, r3 │ │ │ │ │ + add r9, r3 │ │ │ │ │ ldr r3, [sp, #124] @ 0x7c │ │ │ │ │ subs r3, #1 │ │ │ │ │ str r3, [sp, #124] @ 0x7c │ │ │ │ │ - bne.w 212 │ │ │ │ │ - add sp, #12 │ │ │ │ │ - vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + bne.w 24a │ │ │ │ │ + b.n 21e │ │ │ │ │ + nop.w │ │ │ │ │ .word 0xe8584caa │ │ │ │ │ .word 0x3febb67a │ │ │ │ │ .word 0x2fee2044 │ │ │ │ │ .word 0x3fc33fc6 │ │ │ │ │ .word 0xf290beaa │ │ │ │ │ .word 0x3feb4ab2 │ │ │ │ │ .word 0x523c161d │ │ │ │ │ @@ -299,23 +309,23 @@ │ │ │ │ │ .word 0x3fea0aa1 │ │ │ │ │ .word 0x748a0bf5 │ │ │ │ │ .word 0x3fd5e3a8 │ │ │ │ │ .word 0x034c7357 │ │ │ │ │ .word 0x3fd2f4e9 │ │ │ │ │ .word 0x42522d1c │ │ │ │ │ .word 0x3fee11f6 │ │ │ │ │ - .word 0x00000434 │ │ │ │ │ + .word 0x0000045c │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ │ │ │ │ │ -00000450 : │ │ │ │ │ +00000490 : │ │ │ │ │ fftw_codelet_r2cf_9(): │ │ │ │ │ - ldr r2, [pc, #8] @ (45c ) │ │ │ │ │ - ldr r1, [pc, #12] @ (460 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (49c ) │ │ │ │ │ + ldr r1, [pc, #12] @ (4a0 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_kr2c_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── hb2_16.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 3152 (bytes into file) │ │ │ │ │ + Start of section headers: 3208 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0xc50: │ │ │ │ │ +There are 14 section headers, starting at offset 0xc88: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00092c 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000b98 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000960 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000960 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000960 000007 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000967 000014 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 00097b 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000bc0 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 0009ab 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0009ab 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 0009e0 000130 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000b10 000088 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000bd8 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000964 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000bd0 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000998 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000998 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000998 000007 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 00099f 000014 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0009b3 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000bf8 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 0009e3 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0009e3 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000a18 000130 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000b48 000088 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 000c10 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,22 +1,22 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 19 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 2328 FUNC LOCAL DEFAULT 1 hb2_16 │ │ │ │ │ + 1: 00000001 2384 FUNC LOCAL DEFAULT 1 hb2_16 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 000006f0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000710 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000924 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000718 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000738 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 0000095c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 20 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 16: 00000919 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hb2_16 │ │ │ │ │ + 16: 00000951 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hb2_16 │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2hc_register │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hb_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0xb98 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0xbd0 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000708 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000070c 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000924 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000928 00000103 R_ARM_REL32 00000001 hb2_16 │ │ │ │ │ -00000920 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ +00000730 00000e19 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +00000734 00000f1a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +0000095c 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000960 00000103 R_ARM_REL32 00000001 hb2_16 │ │ │ │ │ +00000958 0000111e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0xbc0 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0xbf8 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001202 R_ARM_ABS32 00000000 fftw_rdft_hb_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,659 +1,656 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hb2_16(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r4, r0 │ │ │ │ │ - mov r5, r1 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + mov ip, r1 │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r7, r0 │ │ │ │ │ + mov r8, r3 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub.w sp, sp, #540 @ 0x21c │ │ │ │ │ - mov r7, r3 │ │ │ │ │ - ldr.w r3, [pc, #1780] @ 708 │ │ │ │ │ - ldrd r1, r0, [sp, #640] @ 0x280 │ │ │ │ │ - add r3, pc │ │ │ │ │ + sub.w sp, sp, #532 @ 0x214 │ │ │ │ │ + ldrd r1, r0, [sp, #632] @ 0x278 │ │ │ │ │ + ldr.w r3, [pc, #1800] @ 730 │ │ │ │ │ cmp r1, r0 │ │ │ │ │ - bge.w 90c │ │ │ │ │ - ldr r1, [sp, #648] @ 0x288 │ │ │ │ │ - lsls r1, r1, #3 │ │ │ │ │ - str r1, [sp, #524] @ 0x20c │ │ │ │ │ - negs r1, r1 │ │ │ │ │ - str r1, [sp, #528] @ 0x210 │ │ │ │ │ - ldr.w r1, [pc, #1756] @ 70c │ │ │ │ │ + add r3, pc │ │ │ │ │ + bge.w 932 │ │ │ │ │ + ldr r1, [sp, #640] @ 0x280 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + str r1, [sp, #516] @ 0x204 │ │ │ │ │ + rsb r1, r1, #0 │ │ │ │ │ + str r1, [sp, #520] @ 0x208 │ │ │ │ │ + ldr.w r1, [pc, #1776] @ 734 │ │ │ │ │ ldr r3, [r3, r1] │ │ │ │ │ - str r7, [sp, #12] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - str r3, [sp, #532] @ 0x214 │ │ │ │ │ - ldr r3, [sp, #640] @ 0x280 │ │ │ │ │ - add.w r0, r2, r3, lsl #6 │ │ │ │ │ - mov r8, r0 │ │ │ │ │ - vldr d15, [r8, #-56] @ 0xffffffc8 │ │ │ │ │ - movs r3, #56 @ 0x38 │ │ │ │ │ - vldr d14, [r8, #-40] @ 0xffffffd8 │ │ │ │ │ - movs r0, #88 @ 0x58 │ │ │ │ │ - vldr d0, [r8, #-64] @ 0xffffffc0 │ │ │ │ │ - movs r6, #96 @ 0x60 │ │ │ │ │ - vldr d12, [r8, #-48] @ 0xffffffd0 │ │ │ │ │ - mov.w lr, #48 @ 0x30 │ │ │ │ │ - vmul.f64 d7, d15, d14 │ │ │ │ │ - vldr d9, [r8, #-24] @ 0xffffffe8 │ │ │ │ │ - vmul.f64 d5, d0, d14 │ │ │ │ │ - vldr d10, [r8, #-32] @ 0xffffffe0 │ │ │ │ │ - vmul.f64 d6, d0, d12 │ │ │ │ │ - vmul.f64 d4, d15, d12 │ │ │ │ │ - vstr d0, [sp] │ │ │ │ │ - mov.w ip, #72 @ 0x48 │ │ │ │ │ - add.w r8, r8, #64 @ 0x40 │ │ │ │ │ - vadd.f64 d3, d6, d7 │ │ │ │ │ + str r3, [sp, #524] @ 0x20c │ │ │ │ │ + ldr r3, [sp, #632] @ 0x278 │ │ │ │ │ + add.w r5, r2, r3, lsl #6 │ │ │ │ │ + str r5, [sp, #4] │ │ │ │ │ + ldr r3, [sp, #4] │ │ │ │ │ + mov.w r9, r8, lsl #3 │ │ │ │ │ + mov.w r5, #104 @ 0x68 │ │ │ │ │ + add.w r4, r8, r8, lsl #1 │ │ │ │ │ + sub.w sl, r9, r8 │ │ │ │ │ + add.w lr, r9, r8 │ │ │ │ │ + mov.w r2, sl, lsl #3 │ │ │ │ │ + mov.w lr, lr, lsl #3 │ │ │ │ │ + vldr d12, [r3, #-64] @ 0xffffffc0 │ │ │ │ │ + add.w r1, ip, r2 │ │ │ │ │ + vldr d14, [r3, #-56] @ 0xffffffc8 │ │ │ │ │ + vldr d3, [r3, #-48] @ 0xffffffd0 │ │ │ │ │ + vldr d15, [r3, #-40] @ 0xffffffd8 │ │ │ │ │ + vldr d9, [r3, #-32] @ 0xffffffe0 │ │ │ │ │ + vmul.f64 d6, d12, d3 │ │ │ │ │ + vldr d10, [r3, #-24] @ 0xffffffe8 │ │ │ │ │ + vmul.f64 d4, d14, d3 │ │ │ │ │ + vmov.f64 d0, d3 │ │ │ │ │ + vmul.f64 d7, d14, d15 │ │ │ │ │ + vmul.f64 d5, d12, d15 │ │ │ │ │ + vstr d0, [sp, #104] @ 0x68 │ │ │ │ │ + vmul.f64 d0, d0, d9 │ │ │ │ │ + vmul.f64 d1, d15, d10 │ │ │ │ │ + vadd.f64 d8, d6, d7 │ │ │ │ │ + vsub.f64 d7, d6, d7 │ │ │ │ │ vsub.f64 d2, d5, d4 │ │ │ │ │ - vsub.f64 d1, d6, d7 │ │ │ │ │ - vmul.f64 d7, d0, d10 │ │ │ │ │ - vmul.f64 d6, d15, d9 │ │ │ │ │ + vmul.f64 d6, d14, d10 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ - vmul.f64 d5, d14, d10 │ │ │ │ │ - vstr d3, [sp, #16] │ │ │ │ │ - vmul.f64 d3, d15, d10 │ │ │ │ │ - vstr d2, [sp, #24] │ │ │ │ │ - vmul.f64 d2, d0, d9 │ │ │ │ │ - vmov.f64 d8, d1 │ │ │ │ │ - vmul.f64 d0, d12, d10 │ │ │ │ │ - vmul.f64 d1, d14, d9 │ │ │ │ │ - vsub.f64 d11, d7, d6 │ │ │ │ │ - vstr d4, [sp, #32] │ │ │ │ │ - vmul.f64 d4, d12, d9 │ │ │ │ │ - vsub.f64 d13, d2, d3 │ │ │ │ │ - vadd.f64 d7, d6, d7 │ │ │ │ │ - vldr d6, [r8, #-80] @ 0xffffffb0 │ │ │ │ │ - vstr d11, [sp, #288] @ 0x120 │ │ │ │ │ - vadd.f64 d11, d4, d5 │ │ │ │ │ - vsub.f64 d5, d4, d5 │ │ │ │ │ - vstr d13, [sp, #304] @ 0x130 │ │ │ │ │ - vadd.f64 d13, d1, d0 │ │ │ │ │ - vsub.f64 d0, d0, d1 │ │ │ │ │ - vstr d7, [sp, #344] @ 0x158 │ │ │ │ │ - vldr d4, [sp, #32] │ │ │ │ │ - vstr d5, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d5, [sp] │ │ │ │ │ - vstr d0, [sp, #320] @ 0x140 │ │ │ │ │ - vadd.f64 d0, d2, d3 │ │ │ │ │ + vmul.f64 d5, d15, d9 │ │ │ │ │ + vmov.f64 d11, d7 │ │ │ │ │ + vmul.f64 d7, d12, d9 │ │ │ │ │ + vstr d8, [sp, #8] │ │ │ │ │ + vstr d2, [sp, #16] │ │ │ │ │ + vmul.f64 d2, d12, d10 │ │ │ │ │ + vmov.f64 d13, d4 │ │ │ │ │ + vmul.f64 d4, d3, d10 │ │ │ │ │ + vmul.f64 d3, d14, d9 │ │ │ │ │ + vsub.f64 d8, d7, d6 │ │ │ │ │ + vadd.f64 d6, d6, d7 │ │ │ │ │ + vstr d11, [sp, #120] @ 0x78 │ │ │ │ │ + vstr d13, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d8, [sp, #296] @ 0x128 │ │ │ │ │ + vadd.f64 d8, d4, d5 │ │ │ │ │ + vstr d8, [sp, #304] @ 0x130 │ │ │ │ │ + vsub.f64 d8, d2, d3 │ │ │ │ │ + vadd.f64 d3, d2, d3 │ │ │ │ │ + vstr d6, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d6, [r3, #-16] │ │ │ │ │ + vstr d8, [sp, #312] @ 0x138 │ │ │ │ │ + vadd.f64 d8, d1, d0 │ │ │ │ │ + vsub.f64 d1, d0, d1 │ │ │ │ │ vstr d6, [sp, #128] @ 0x80 │ │ │ │ │ - vstr d13, [sp, #312] @ 0x138 │ │ │ │ │ - vstr d11, [sp, #296] @ 0x128 │ │ │ │ │ - vstr d0, [sp, #328] @ 0x148 │ │ │ │ │ - vldr d0, [r8, #-72] @ 0xffffffb8 │ │ │ │ │ - vstr d8, [sp, #120] @ 0x78 │ │ │ │ │ - vmul.f64 d7, d15, d0 │ │ │ │ │ - vstr d0, [sp, #136] @ 0x88 │ │ │ │ │ - vmla.f64 d7, d5, d6 │ │ │ │ │ - vstr d7, [sp, #352] @ 0x160 │ │ │ │ │ - vmul.f64 d7, d15, d6 │ │ │ │ │ - vmul.f64 d6, d8, d9 │ │ │ │ │ - vnmls.f64 d7, d5, d0 │ │ │ │ │ + vsub.f64 d0, d4, d5 │ │ │ │ │ + vstr d3, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d8, [sp, #320] @ 0x140 │ │ │ │ │ + vstr d1, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d1, [r3, #-8] │ │ │ │ │ + mov.w r3, #88 @ 0x58 │ │ │ │ │ + vldr d8, [sp, #8] │ │ │ │ │ + mul.w r0, r3, r8 │ │ │ │ │ + add.w r6, ip, r0 │ │ │ │ │ + vmul.f64 d7, d14, d1 │ │ │ │ │ + vstr d1, [sp, #136] @ 0x88 │ │ │ │ │ + vstr d0, [sp, #344] @ 0x158 │ │ │ │ │ + vmla.f64 d7, d12, d6 │ │ │ │ │ vstr d7, [sp, #360] @ 0x168 │ │ │ │ │ - vmul.f64 d7, d4, d10 │ │ │ │ │ - vadd.f64 d13, d6, d7 │ │ │ │ │ - vsub.f64 d3, d6, d7 │ │ │ │ │ - vmul.f64 d6, d8, d10 │ │ │ │ │ - vmul.f64 d7, d4, d9 │ │ │ │ │ - vstr d13, [sp, #368] @ 0x170 │ │ │ │ │ + vmul.f64 d7, d14, d6 │ │ │ │ │ + vmul.f64 d6, d11, d10 │ │ │ │ │ + vnmls.f64 d7, d12, d1 │ │ │ │ │ + vstr d7, [sp, #368] @ 0x170 │ │ │ │ │ + vmul.f64 d7, d13, d9 │ │ │ │ │ + vadd.f64 d5, d6, d7 │ │ │ │ │ + vsub.f64 d7, d6, d7 │ │ │ │ │ + vmul.f64 d6, d11, d9 │ │ │ │ │ + vstr d5, [sp, #376] @ 0x178 │ │ │ │ │ + vstr d7, [sp, #384] @ 0x180 │ │ │ │ │ + vmul.f64 d7, d13, d10 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ - vadd.f64 d7, d6, d7 │ │ │ │ │ - vstr d3, [sp, #376] @ 0x178 │ │ │ │ │ - vstr d5, [sp, #384] @ 0x180 │ │ │ │ │ - vstr d7, [sp, #392] @ 0x188 │ │ │ │ │ + vadd.f64 d11, d6, d7 │ │ │ │ │ + vmul.f64 d6, d8, d10 │ │ │ │ │ + vstr d5, [sp, #392] @ 0x188 │ │ │ │ │ vldr d5, [sp, #16] │ │ │ │ │ - vldr d3, [sp, #24] │ │ │ │ │ - ldr r2, [sp, #12] │ │ │ │ │ - vmul.f64 d6, d5, d9 │ │ │ │ │ - vmul.f64 d7, d3, d10 │ │ │ │ │ - mov.w r9, r2, lsl #5 │ │ │ │ │ - mul.w r3, r2, r3 │ │ │ │ │ - mul.w r0, r2, r0 │ │ │ │ │ - str r3, [sp, #40] @ 0x28 │ │ │ │ │ - vadd.f64 d2, d6, d7 │ │ │ │ │ - vsub.f64 d4, d6, d7 │ │ │ │ │ - vmul.f64 d7, d3, d9 │ │ │ │ │ - vmul.f64 d6, d5, d10 │ │ │ │ │ - adds r1, r5, r3 │ │ │ │ │ - str r1, [sp, #44] @ 0x2c │ │ │ │ │ - adds r7, r5, r0 │ │ │ │ │ - str r0, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d2, [sp, #400] @ 0x190 │ │ │ │ │ - add.w r0, r4, r9 │ │ │ │ │ - vsub.f64 d2, d6, d7 │ │ │ │ │ + vstr d11, [sp, #400] @ 0x190 │ │ │ │ │ + vmul.f64 d7, d5, d9 │ │ │ │ │ vadd.f64 d11, d6, d7 │ │ │ │ │ + vsub.f64 d7, d6, d7 │ │ │ │ │ + vmul.f64 d6, d8, d9 │ │ │ │ │ + vstr d7, [sp, #408] @ 0x198 │ │ │ │ │ + vmul.f64 d7, d5, d10 │ │ │ │ │ + str r1, [sp, #24] │ │ │ │ │ + strd r0, r6, [sp, #28] │ │ │ │ │ + mov.w r0, r8, lsl #5 │ │ │ │ │ + str r2, [sp, #512] @ 0x200 │ │ │ │ │ + vldr d5, [r6] │ │ │ │ │ + add.w r6, r7, r0 │ │ │ │ │ + vsub.f64 d4, d6, d7 │ │ │ │ │ + vadd.f64 d13, d6, d7 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - mul.w r1, r6, r2 │ │ │ │ │ - movs r6, #24 │ │ │ │ │ - vstr d4, [sp, #408] @ 0x198 │ │ │ │ │ - adds r3, r4, r1 │ │ │ │ │ - vldr d4, [r4] │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - add r9, r5 │ │ │ │ │ - str r0, [sp, #60] @ 0x3c │ │ │ │ │ - mul.w r0, r6, r2 │ │ │ │ │ + mov.w r1, r4, lsl #5 │ │ │ │ │ + str r6, [sp, #44] @ 0x2c │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + add.w r2, r7, r1 │ │ │ │ │ + strd r2, r0, [sp, #36] @ 0x24 │ │ │ │ │ + mov.w r0, r4, lsl #3 │ │ │ │ │ + mov.w r4, r4, lsl #4 │ │ │ │ │ + vstr d4, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d4, [r7] │ │ │ │ │ + str r0, [sp, #144] @ 0x90 │ │ │ │ │ + vstr d13, [sp, #424] @ 0x1a8 │ │ │ │ │ vadd.f64 d0, d4, d7 │ │ │ │ │ - movs r6, #120 @ 0x78 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ - str r3, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - mov r3, r2 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ - adds r2, r5, r0 │ │ │ │ │ - str r7, [sp, #52] @ 0x34 │ │ │ │ │ - add r0, r4 │ │ │ │ │ - mla r7, r6, r3, r5 │ │ │ │ │ - vstr d2, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + add.w r2, ip, r0 │ │ │ │ │ + mov.w r0, r8, lsl #4 │ │ │ │ │ + str r2, [sp, #48] @ 0x30 │ │ │ │ │ vsub.f64 d2, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - movs r6, #40 @ 0x28 │ │ │ │ │ - str r7, [sp, #68] @ 0x44 │ │ │ │ │ - str r2, [sp, #64] @ 0x40 │ │ │ │ │ + sub.w r2, r0, r8 │ │ │ │ │ + add.w r6, ip, r2, lsl #3 │ │ │ │ │ + str r6, [sp, #52] @ 0x34 │ │ │ │ │ vadd.f64 d1, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - lsls r7, r3, #6 │ │ │ │ │ - adds r2, r4, r7 │ │ │ │ │ - vstr d11, [sp, #424] @ 0x1a8 │ │ │ │ │ - vadd.f64 d13, d4, d5 │ │ │ │ │ - str r2, [sp, #72] @ 0x48 │ │ │ │ │ - add r7, r5 │ │ │ │ │ - vldr d11, [r2] │ │ │ │ │ - mov r2, r3 │ │ │ │ │ - lsls r3, r3, #4 │ │ │ │ │ - str r3, [sp, #80] @ 0x50 │ │ │ │ │ - adds r3, r4, r3 │ │ │ │ │ - vstr d13, [sp, #152] @ 0x98 │ │ │ │ │ - vsub.f64 d3, d7, d11 │ │ │ │ │ - vadd.f64 d7, d7, d11 │ │ │ │ │ - vadd.f64 d11, d0, d1 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + mov.w r6, r8, lsl #6 │ │ │ │ │ + add.w r2, r7, r6 │ │ │ │ │ + add r6, ip │ │ │ │ │ + vldr d8, [r2] │ │ │ │ │ + str r2, [sp, #56] @ 0x38 │ │ │ │ │ + add.w r2, r7, r0 │ │ │ │ │ + vadd.f64 d13, d0, d1 │ │ │ │ │ vsub.f64 d1, d0, d1 │ │ │ │ │ - mul.w sl, r6, r2 │ │ │ │ │ - vsub.f64 d0, d4, d5 │ │ │ │ │ - str r3, [sp, #84] @ 0x54 │ │ │ │ │ - mov r6, r2 │ │ │ │ │ - vsub.f64 d13, d7, d6 │ │ │ │ │ + add r0, ip │ │ │ │ │ + str r2, [sp, #64] @ 0x40 │ │ │ │ │ + vsub.f64 d3, d7, d8 │ │ │ │ │ + vadd.f64 d7, d7, d8 │ │ │ │ │ + vadd.f64 d8, d4, d5 │ │ │ │ │ + vsub.f64 d5, d4, d5 │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + add.w r2, r8, r8, lsl #2 │ │ │ │ │ + mov.w fp, r2, lsl #3 │ │ │ │ │ + mov.w r2, r2, lsl #4 │ │ │ │ │ + add.w r3, ip, fp │ │ │ │ │ + vsub.f64 d0, d3, d2 │ │ │ │ │ + add fp, r7 │ │ │ │ │ + vstr d8, [sp, #152] @ 0x98 │ │ │ │ │ + vsub.f64 d8, d7, d6 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ + vadd.f64 d6, d2, d3 │ │ │ │ │ + str r3, [sp, #68] @ 0x44 │ │ │ │ │ vstr d1, [sp, #432] @ 0x1b0 │ │ │ │ │ - vsub.f64 d1, d3, d2 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - add.w r3, r5, sl │ │ │ │ │ - vstr d0, [sp, #448] @ 0x1c0 │ │ │ │ │ - vadd.f64 d2, d2, d3 │ │ │ │ │ - vstr d13, [sp, #160] @ 0xa0 │ │ │ │ │ - mov.w fp, r6, lsl #3 │ │ │ │ │ - vstr d1, [sp, #440] @ 0x1b8 │ │ │ │ │ - mul.w lr, lr, r6 │ │ │ │ │ + vstr d5, [sp, #448] @ 0x1c0 │ │ │ │ │ + vstr d8, [sp, #160] @ 0xa0 │ │ │ │ │ vstr d7, [sp, #168] @ 0xa8 │ │ │ │ │ - mul.w ip, ip, r6 │ │ │ │ │ - str r3, [sp, #88] @ 0x58 │ │ │ │ │ - vmov.f64 d13, d2 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - movs r3, #104 @ 0x68 │ │ │ │ │ - add sl, r4 │ │ │ │ │ - mla r2, r3, r2, r5 │ │ │ │ │ + mla r3, r5, r8, ip │ │ │ │ │ + vstr d6, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d0, [sp, #440] @ 0x1b8 │ │ │ │ │ + str r3, [sp, #72] @ 0x48 │ │ │ │ │ vadd.f64 d2, d4, d7 │ │ │ │ │ - str r2, [sp, #92] @ 0x5c │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - movs r2, #80 @ 0x50 │ │ │ │ │ - mul.w r2, r6, r2 │ │ │ │ │ - adds r3, r4, r2 │ │ │ │ │ - str r3, [sp, #96] @ 0x60 │ │ │ │ │ - add r2, r5 │ │ │ │ │ - str r2, [sp, #116] @ 0x74 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + add.w r3, r7, r2 │ │ │ │ │ + add r2, ip │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - add.w r3, r5, fp │ │ │ │ │ - str r3, [sp, #100] @ 0x64 │ │ │ │ │ - add fp, r4 │ │ │ │ │ + str r3, [sp, #76] @ 0x4c │ │ │ │ │ + add.w r3, ip, r9 │ │ │ │ │ + str r3, [sp, #80] @ 0x50 │ │ │ │ │ vsub.f64 d0, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ - add.w r3, r4, lr │ │ │ │ │ - str r3, [sp, #104] @ 0x68 │ │ │ │ │ - add lr, r5 │ │ │ │ │ + add.w r3, r7, r4 │ │ │ │ │ + add r4, ip │ │ │ │ │ vldr d5, [r3] │ │ │ │ │ - add.w r3, r5, ip │ │ │ │ │ - str r3, [sp, #108] @ 0x6c │ │ │ │ │ - add ip, r4 │ │ │ │ │ + str r3, [sp, #84] @ 0x54 │ │ │ │ │ + add.w r3, ip, lr │ │ │ │ │ + add lr, r7 │ │ │ │ │ + vldr d8, [r3] │ │ │ │ │ + str r3, [sp, #88] @ 0x58 │ │ │ │ │ + mov.w r3, sl, lsl #4 │ │ │ │ │ + add.w sl, r7, r9 │ │ │ │ │ + str r4, [sp, #96] @ 0x60 │ │ │ │ │ + add.w r5, r7, r3 │ │ │ │ │ vadd.f64 d3, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - movs r3, #112 @ 0x70 │ │ │ │ │ - mul.w r3, r6, r3 │ │ │ │ │ - adds r6, r4, r3 │ │ │ │ │ - str r6, [sp, #112] @ 0x70 │ │ │ │ │ - add r3, r5 │ │ │ │ │ - vldr d1, [r6] │ │ │ │ │ - add.w r6, fp, r1 │ │ │ │ │ - str r6, [sp, #520] @ 0x208 │ │ │ │ │ - vmov.f64 d8, d1 │ │ │ │ │ - vsub.f64 d1, d5, d1 │ │ │ │ │ - vadd.f64 d5, d5, d8 │ │ │ │ │ + add r3, ip │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + str r5, [sp, #92] @ 0x5c │ │ │ │ │ + add.w r5, sl, r1 │ │ │ │ │ + str r5, [sp, #100] @ 0x64 │ │ │ │ │ + vsub.f64 d1, d8, d5 │ │ │ │ │ + vadd.f64 d5, d8, d5 │ │ │ │ │ vadd.f64 d8, d2, d3 │ │ │ │ │ - vstr d8, [sp, #176] @ 0xb0 │ │ │ │ │ - vsub.f64 d8, d1, d0 │ │ │ │ │ - vstr d8, [sp, #184] @ 0xb8 │ │ │ │ │ - vadd.f64 d8, d0, d1 │ │ │ │ │ - vldr d0, [pc, #976] @ 6f0 │ │ │ │ │ - vstr d8, [sp, #192] @ 0xc0 │ │ │ │ │ - vsub.f64 d8, d2, d3 │ │ │ │ │ + vsub.f64 d3, d2, d3 │ │ │ │ │ vadd.f64 d2, d6, d5 │ │ │ │ │ - vadd.f64 d3, d4, d7 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ + vstr d8, [sp, #184] @ 0xb8 │ │ │ │ │ + vsub.f64 d8, d1, d0 │ │ │ │ │ + vadd.f64 d1, d0, d1 │ │ │ │ │ + vstr d3, [sp, #208] @ 0xd0 │ │ │ │ │ + vadd.f64 d3, d4, d7 │ │ │ │ │ vsub.f64 d7, d4, d7 │ │ │ │ │ - vldr d4, [fp] │ │ │ │ │ - vstr d8, [sp, #456] @ 0x1c8 │ │ │ │ │ - vsub.f64 d1, d3, d2 │ │ │ │ │ - vadd.f64 d3, d3, d2 │ │ │ │ │ + vldr d0, [pc, #972] @ 718 │ │ │ │ │ + vldr d4, [sl] │ │ │ │ │ + vstr d8, [sp, #192] @ 0xc0 │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ - vmov.f64 d2, d0 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ - vmul.f64 d8, d1, d0 │ │ │ │ │ - vmul.f64 d1, d3, d0 │ │ │ │ │ - vmul.f64 d0, d5, d0 │ │ │ │ │ - vldr d5, [sl] │ │ │ │ │ - vstr d8, [sp, #464] @ 0x1d0 │ │ │ │ │ - vmul.f64 d8, d7, d2 │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ vstr d1, [sp, #200] @ 0xc8 │ │ │ │ │ - vstr d0, [sp, #208] @ 0xd0 │ │ │ │ │ + vsub.f64 d1, d3, d2 │ │ │ │ │ + vadd.f64 d3, d3, d2 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + vldr d8, [lr] │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ + vmul.f64 d2, d3, d0 │ │ │ │ │ + vmul.f64 d1, d1, d0 │ │ │ │ │ + vmul.f64 d3, d5, d0 │ │ │ │ │ + vldr d5, [fp] │ │ │ │ │ + vstr d7, [sp, #464] @ 0x1d0 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + vstr d2, [sp, #216] @ 0xd8 │ │ │ │ │ + vstr d3, [sp, #224] @ 0xe0 │ │ │ │ │ + vstr d1, [sp, #456] @ 0x1c8 │ │ │ │ │ vadd.f64 d2, d4, d7 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - ldr r2, [sp, #80] @ 0x50 │ │ │ │ │ - vstr d8, [sp, #216] @ 0xd8 │ │ │ │ │ - adds r6, r5, r2 │ │ │ │ │ vsub.f64 d1, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d8, [ip] │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ vadd.f64 d0, d5, d6 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ vldr d6, [r3] │ │ │ │ │ vsub.f64 d3, d6, d8 │ │ │ │ │ vadd.f64 d6, d6, d8 │ │ │ │ │ vadd.f64 d8, d2, d0 │ │ │ │ │ vsub.f64 d2, d2, d0 │ │ │ │ │ - vstr d8, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d0, [pc, #848] @ 720 │ │ │ │ │ + vstr d8, [sp, #232] @ 0xe8 │ │ │ │ │ vadd.f64 d8, d1, d3 │ │ │ │ │ vsub.f64 d3, d3, d1 │ │ │ │ │ - ldr r2, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d11, [sp, #144] @ 0x90 │ │ │ │ │ - adds r2, r4, r2 │ │ │ │ │ - str r2, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d8, [sp, #232] @ 0xe8 │ │ │ │ │ - vadd.f64 d0, d2, d3 │ │ │ │ │ vsub.f64 d1, d2, d3 │ │ │ │ │ - vsub.f64 d2, d4, d7 │ │ │ │ │ + vadd.f64 d2, d2, d3 │ │ │ │ │ + vstr d8, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d8, [pc, #828] @ 728 │ │ │ │ │ vadd.f64 d3, d5, d6 │ │ │ │ │ - vldr d8, [pc, #784] @ 6f8 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ + vstr d1, [sp, #248] @ 0xf8 │ │ │ │ │ + vstr d2, [sp, #472] @ 0x1d8 │ │ │ │ │ + vsub.f64 d2, d4, d7 │ │ │ │ │ vadd.f64 d7, d4, d7 │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ - vstr d0, [sp, #472] @ 0x1d8 │ │ │ │ │ - vldr d0, [pc, #772] @ 700 │ │ │ │ │ - vstr d1, [sp, #240] @ 0xf0 │ │ │ │ │ - vmul.f64 d5, d6, d8 │ │ │ │ │ - vmul.f64 d1, d2, d0 │ │ │ │ │ - vmla.f64 d1, d3, d8 │ │ │ │ │ - vmul.f64 d3, d3, d0 │ │ │ │ │ + vmul.f64 d5, d6, d0 │ │ │ │ │ + ldr r4, [sp, #512] @ 0x200 │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ + vmul.f64 d1, d2, d8 │ │ │ │ │ + add.w r5, r7, r4 │ │ │ │ │ + add.w r4, ip, r1 │ │ │ │ │ + str r4, [sp, #512] @ 0x200 │ │ │ │ │ + vmla.f64 d1, d3, d0 │ │ │ │ │ + vmul.f64 d3, d3, d8 │ │ │ │ │ vstr d1, [sp, #480] @ 0x1e0 │ │ │ │ │ - vmov.f64 d1, d0 │ │ │ │ │ - vmov.f64 d0, d3 │ │ │ │ │ + vmov.f64 d1, d8 │ │ │ │ │ + vmov.f64 d8, d3 │ │ │ │ │ + vldr d3, [ip] │ │ │ │ │ vnmls.f64 d5, d7, d1 │ │ │ │ │ - vmul.f64 d7, d7, d8 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ + vnmls.f64 d8, d2, d0 │ │ │ │ │ vmla.f64 d7, d6, d1 │ │ │ │ │ - vnmls.f64 d0, d2, d8 │ │ │ │ │ - vstr d5, [sp, #496] @ 0x1f0 │ │ │ │ │ - vstr d7, [sp, #504] @ 0x1f8 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - adds r2, r5, r1 │ │ │ │ │ - str r2, [sp, #80] @ 0x50 │ │ │ │ │ - add r1, r0 │ │ │ │ │ - vldr d5, [r9] │ │ │ │ │ - vadd.f64 d3, d4, d7 │ │ │ │ │ - vsub.f64 d4, d4, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - ldr r2, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d0, [sp, #488] @ 0x1e8 │ │ │ │ │ - adds r2, r4, r2 │ │ │ │ │ + vstr d5, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + vstr d8, [sp, #488] @ 0x1e8 │ │ │ │ │ + ldr r4, [sp, #28] │ │ │ │ │ + vstr d7, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add r4, r7 │ │ │ │ │ + str r4, [sp, #28] │ │ │ │ │ + vadd.f64 d2, d3, d7 │ │ │ │ │ + vsub.f64 d3, d3, d7 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + ldr r4, [sp, #144] @ 0x90 │ │ │ │ │ + vstr d13, [sp, #144] @ 0x90 │ │ │ │ │ + vsub.f64 d1, d5, d7 │ │ │ │ │ + vadd.f64 d5, d5, d7 │ │ │ │ │ + add.w r9, r7, r4 │ │ │ │ │ + ldr r4, [sp, #40] @ 0x28 │ │ │ │ │ + add r1, r9 │ │ │ │ │ + vldr d6, [r9] │ │ │ │ │ vldr d8, [r1] │ │ │ │ │ - str r2, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - vsub.f64 d1, d7, d6 │ │ │ │ │ - vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - vadd.f64 d0, d6, d5 │ │ │ │ │ - vsub.f64 d6, d6, d5 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ - vsub.f64 d2, d5, d8 │ │ │ │ │ - vadd.f64 d5, d5, d8 │ │ │ │ │ - vadd.f64 d8, d3, d0 │ │ │ │ │ - vsub.f64 d0, d3, d0 │ │ │ │ │ - vstr d8, [sp, #248] @ 0xf8 │ │ │ │ │ - vadd.f64 d8, d1, d2 │ │ │ │ │ - vsub.f64 d2, d2, d1 │ │ │ │ │ - vldr d1, [pc, #616] @ 700 │ │ │ │ │ - vstr d8, [sp, #256] @ 0x100 │ │ │ │ │ - vadd.f64 d3, d0, d2 │ │ │ │ │ - vldr d8, [pc, #596] @ 6f8 │ │ │ │ │ - vstr d3, [sp, #264] @ 0x108 │ │ │ │ │ - vsub.f64 d3, d2, d0 │ │ │ │ │ - vsub.f64 d2, d6, d5 │ │ │ │ │ - vadd.f64 d6, d6, d5 │ │ │ │ │ - vmov.f64 d0, d1 │ │ │ │ │ - vstr d3, [sp, #272] @ 0x110 │ │ │ │ │ - vsub.f64 d3, d4, d7 │ │ │ │ │ - vmul.f64 d5, d6, d8 │ │ │ │ │ - vadd.f64 d7, d4, d7 │ │ │ │ │ - vldr d4, [sp, #224] @ 0xe0 │ │ │ │ │ - vmul.f64 d1, d3, d1 │ │ │ │ │ - vmul.f64 d3, d3, d8 │ │ │ │ │ - vnmls.f64 d5, d7, d0 │ │ │ │ │ - vmul.f64 d7, d7, d8 │ │ │ │ │ - vmla.f64 d7, d6, d0 │ │ │ │ │ - vmla.f64 d3, d2, d0 │ │ │ │ │ - vnmls.f64 d1, d2, d8 │ │ │ │ │ - vldr d8, [sp, #176] @ 0xb0 │ │ │ │ │ - vstr d13, [sp, #176] @ 0xb0 │ │ │ │ │ - vadd.f64 d6, d11, d8 │ │ │ │ │ - vmov.f64 d0, d7 │ │ │ │ │ - vldr d7, [sp, #248] @ 0xf8 │ │ │ │ │ - vstr d3, [sp, #512] @ 0x200 │ │ │ │ │ - vstr d1, [sp, #280] @ 0x118 │ │ │ │ │ - vmov.f64 d1, d5 │ │ │ │ │ - vadd.f64 d2, d4, d7 │ │ │ │ │ - vldr d3, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d4, [sp, #232] @ 0xe8 │ │ │ │ │ - vldr d11, [sp, #256] @ 0x100 │ │ │ │ │ - vadd.f64 d7, d13, d3 │ │ │ │ │ - vldr d13, [sp, #344] @ 0x158 │ │ │ │ │ - vsub.f64 d5, d6, d2 │ │ │ │ │ + add r4, ip │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + str r4, [sp, #40] @ 0x28 │ │ │ │ │ + vadd.f64 d0, d6, d7 │ │ │ │ │ + vsub.f64 d6, d6, d7 │ │ │ │ │ + vsub.f64 d7, d4, d8 │ │ │ │ │ + vadd.f64 d4, d4, d8 │ │ │ │ │ + vadd.f64 d8, d2, d0 │ │ │ │ │ + vsub.f64 d2, d2, d0 │ │ │ │ │ + vsub.f64 d0, d6, d4 │ │ │ │ │ + vadd.f64 d6, d6, d4 │ │ │ │ │ + vstr d8, [sp, #264] @ 0x108 │ │ │ │ │ + vadd.f64 d8, d1, d7 │ │ │ │ │ + vsub.f64 d7, d7, d1 │ │ │ │ │ + vadd.f64 d1, d2, d7 │ │ │ │ │ + vsub.f64 d7, d7, d2 │ │ │ │ │ + vstr d8, [sp, #272] @ 0x110 │ │ │ │ │ + vsub.f64 d2, d3, d5 │ │ │ │ │ + vldr d8, [pc, #600] @ 728 │ │ │ │ │ + vadd.f64 d5, d3, d5 │ │ │ │ │ + vstr d7, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d7, [pc, #580] @ 720 │ │ │ │ │ + vmul.f64 d8, d2, d8 │ │ │ │ │ + vnmls.f64 d8, d0, d7 │ │ │ │ │ + vmul.f64 d4, d6, d7 │ │ │ │ │ + vmov.f64 d3, d7 │ │ │ │ │ + vmul.f64 d2, d2, d7 │ │ │ │ │ + vstr d8, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d8, [pc, #560] @ 728 │ │ │ │ │ + vnmls.f64 d4, d5, d8 │ │ │ │ │ + vmul.f64 d5, d5, d3 │ │ │ │ │ + vldr d3, [sp, #184] @ 0xb8 │ │ │ │ │ + vmla.f64 d2, d0, d8 │ │ │ │ │ + vmla.f64 d5, d6, d8 │ │ │ │ │ + vldr d6, [sp, #232] @ 0xe8 │ │ │ │ │ + vmov.f64 d7, d4 │ │ │ │ │ + vadd.f64 d4, d13, d3 │ │ │ │ │ + vldr d13, [sp, #240] @ 0xf0 │ │ │ │ │ + vstr d2, [sp, #504] @ 0x1f8 │ │ │ │ │ + vldr d3, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d2, [sp, #200] @ 0xc8 │ │ │ │ │ + vadd.f64 d6, d6, d3 │ │ │ │ │ + vsub.f64 d3, d4, d6 │ │ │ │ │ + vmov.f64 d8, d6 │ │ │ │ │ + vldr d6, [sp, #176] @ 0xb0 │ │ │ │ │ + vadd.f64 d4, d4, d8 │ │ │ │ │ vadd.f64 d6, d6, d2 │ │ │ │ │ - vadd.f64 d3, d4, d11 │ │ │ │ │ - ldr r2, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d2, [sp, #496] @ 0x1f0 │ │ │ │ │ - vstr d1, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d2, [sp, #272] @ 0x110 │ │ │ │ │ + vstr d4, [r7] │ │ │ │ │ + ldr r4, [sp, #56] @ 0x38 │ │ │ │ │ + vadd.f64 d0, d13, d2 │ │ │ │ │ + vstr d7, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d4, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d13, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d8, [sp, #464] @ 0x1d0 │ │ │ │ │ + vsub.f64 d2, d6, d0 │ │ │ │ │ + vadd.f64 d6, d6, d0 │ │ │ │ │ + vldr d0, [sp, #352] @ 0x160 │ │ │ │ │ + vstr d6, [ip] │ │ │ │ │ + vmul.f64 d6, d4, d2 │ │ │ │ │ + vnmls.f64 d6, d0, d3 │ │ │ │ │ vstr d6, [r4] │ │ │ │ │ - vsub.f64 d4, d7, d3 │ │ │ │ │ - vadd.f64 d7, d7, d3 │ │ │ │ │ - vldr d6, [sp, #304] @ 0x130 │ │ │ │ │ - vldr d11, [sp, #416] @ 0x1a0 │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ - vmul.f64 d7, d6, d4 │ │ │ │ │ - vnmls.f64 d7, d13, d5 │ │ │ │ │ - vstr d7, [r2] │ │ │ │ │ - vmul.f64 d7, d13, d4 │ │ │ │ │ - vmla.f64 d7, d6, d5 │ │ │ │ │ - vldr d4, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d6, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d5, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d13, [sp, #400] @ 0x190 │ │ │ │ │ - vstr d7, [r7] │ │ │ │ │ - vsub.f64 d7, d6, d4 │ │ │ │ │ - vadd.f64 d6, d2, d1 │ │ │ │ │ - vldr d1, [sp, #504] @ 0x1f8 │ │ │ │ │ - ldr r7, [sp, #48] @ 0x30 │ │ │ │ │ - vsub.f64 d4, d7, d6 │ │ │ │ │ - vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #160] @ 0xa0 │ │ │ │ │ - vadd.f64 d6, d6, d5 │ │ │ │ │ - vsub.f64 d5, d1, d0 │ │ │ │ │ - vsub.f64 d3, d6, d5 │ │ │ │ │ - vadd.f64 d6, d6, d5 │ │ │ │ │ - vmul.f64 d5, d13, d3 │ │ │ │ │ - vnmls.f64 d5, d11, d4 │ │ │ │ │ - vstr d5, [r7] │ │ │ │ │ - vmul.f64 d5, d11, d3 │ │ │ │ │ - vmla.f64 d5, d13, d4 │ │ │ │ │ - ldr r7, [sp, #52] @ 0x34 │ │ │ │ │ - vldr d4, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d11, [sp, #424] @ 0x1a8 │ │ │ │ │ - vstr d5, [r7] │ │ │ │ │ - vmul.f64 d5, d14, d6 │ │ │ │ │ - ldr r7, [sp, #64] @ 0x40 │ │ │ │ │ - vnmls.f64 d5, d12, d7 │ │ │ │ │ - vmul.f64 d12, d12, d6 │ │ │ │ │ + vmul.f64 d6, d0, d2 │ │ │ │ │ + ldr r4, [sp, #28] │ │ │ │ │ + vmla.f64 d6, d4, d3 │ │ │ │ │ + vldr d4, [sp, #216] @ 0xd8 │ │ │ │ │ + vmov.f64 d3, d7 │ │ │ │ │ + vldr d7, [sp, #496] @ 0x1f0 │ │ │ │ │ + vstr d6, [r6] │ │ │ │ │ + ldr r6, [sp, #32] │ │ │ │ │ vldr d6, [sp, #152] @ 0x98 │ │ │ │ │ - vmla.f64 d12, d14, d7 │ │ │ │ │ - vadd.f64 d7, d1, d0 │ │ │ │ │ - vldr d14, [sp, #72] @ 0x48 │ │ │ │ │ + vsub.f64 d6, d6, d4 │ │ │ │ │ + vldr d4, [sp, #256] @ 0x100 │ │ │ │ │ + vadd.f64 d4, d4, d3 │ │ │ │ │ + vsub.f64 d3, d7, d5 │ │ │ │ │ + vadd.f64 d5, d7, d5 │ │ │ │ │ + vsub.f64 d2, d6, d4 │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ - vsub.f64 d3, d6, d7 │ │ │ │ │ - vldr d5, [sp, #216] @ 0xd8 │ │ │ │ │ - vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [sp, #160] @ 0xa0 │ │ │ │ │ - vstr d12, [r7] │ │ │ │ │ - vldr d12, [sp, #408] @ 0x198 │ │ │ │ │ - vsub.f64 d7, d7, d5 │ │ │ │ │ - vsub.f64 d5, d2, d14 │ │ │ │ │ - ldr r0, [sp, #40] @ 0x28 │ │ │ │ │ - ldr r2, [sp, #44] @ 0x2c │ │ │ │ │ - vldr d14, [sp, #136] @ 0x88 │ │ │ │ │ - vadd.f64 d4, d7, d5 │ │ │ │ │ - vsub.f64 d7, d7, d5 │ │ │ │ │ - ldr r7, [sp, #68] @ 0x44 │ │ │ │ │ - vldr d2, [pc, #208] @ 6f0 │ │ │ │ │ - vldr d0, [sp, #472] @ 0x1d8 │ │ │ │ │ - vmul.f64 d5, d12, d4 │ │ │ │ │ - vldr d13, [sp, #440] @ 0x1b8 │ │ │ │ │ - vldr d1, [sp, #456] @ 0x1c8 │ │ │ │ │ - vnmls.f64 d5, d11, d3 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ - vmul.f64 d5, d12, d3 │ │ │ │ │ - vmla.f64 d5, d11, d4 │ │ │ │ │ - vldr d12, [sp, #128] @ 0x80 │ │ │ │ │ + vldr d4, [sp, #160] @ 0xa0 │ │ │ │ │ + vadd.f64 d4, d4, d8 │ │ │ │ │ + vsub.f64 d0, d4, d3 │ │ │ │ │ + vadd.f64 d4, d4, d3 │ │ │ │ │ + vmul.f64 d3, d11, d0 │ │ │ │ │ + vnmls.f64 d3, d13, d2 │ │ │ │ │ + vstr d3, [r4] │ │ │ │ │ + vmul.f64 d3, d13, d0 │ │ │ │ │ + ldr r4, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d13, [sp, #424] @ 0x1a8 │ │ │ │ │ + vmla.f64 d3, d11, d2 │ │ │ │ │ + vldr d2, [sp, #104] @ 0x68 │ │ │ │ │ + vldr d11, [sp, #216] @ 0xd8 │ │ │ │ │ + vldr d0, [pc, #300] @ 718 │ │ │ │ │ + vstr d3, [r6] │ │ │ │ │ + vmul.f64 d3, d15, d4 │ │ │ │ │ + vmul.f64 d4, d2, d4 │ │ │ │ │ + vnmls.f64 d3, d2, d6 │ │ │ │ │ + vmla.f64 d4, d15, d6 │ │ │ │ │ + vldr d6, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d15, [sp, #256] @ 0x100 │ │ │ │ │ + vadd.f64 d6, d6, d11 │ │ │ │ │ + vldr d11, [sp, #408] @ 0x198 │ │ │ │ │ + vstr d3, [r9] │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ + vsub.f64 d4, d6, d5 │ │ │ │ │ + vadd.f64 d5, d6, d5 │ │ │ │ │ + ldr r4, [sp, #24] │ │ │ │ │ + vldr d6, [sp, #160] @ 0xa0 │ │ │ │ │ + vsub.f64 d2, d6, d8 │ │ │ │ │ + vldr d6, [sp, #56] @ 0x38 │ │ │ │ │ + vsub.f64 d6, d15, d6 │ │ │ │ │ + vadd.f64 d3, d2, d6 │ │ │ │ │ + vsub.f64 d6, d2, d6 │ │ │ │ │ + vmul.f64 d2, d11, d3 │ │ │ │ │ + vnmls.f64 d2, d13, d4 │ │ │ │ │ + vmul.f64 d4, d11, d4 │ │ │ │ │ + vmla.f64 d4, d13, d3 │ │ │ │ │ + vstr d2, [r5] │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ + vldr d2, [sp, #136] @ 0x88 │ │ │ │ │ + ldr r4, [sp, #76] @ 0x4c │ │ │ │ │ + vldr d15, [sp, #128] @ 0x80 │ │ │ │ │ + vmul.f64 d4, d2, d6 │ │ │ │ │ vldr d11, [sp, #432] @ 0x1b0 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - vmul.f64 d5, d14, d7 │ │ │ │ │ - ldr r2, [sp, #116] @ 0x74 │ │ │ │ │ - vnmls.f64 d5, d12, d6 │ │ │ │ │ - vmul.f64 d6, d14, d6 │ │ │ │ │ - vmla.f64 d6, d12, d7 │ │ │ │ │ - vldr d14, [sp, #264] @ 0x108 │ │ │ │ │ - vldr d12, [sp, #184] @ 0xb8 │ │ │ │ │ - vadd.f64 d7, d11, d12 │ │ │ │ │ - vldr d12, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d7, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d13, [sp, #440] @ 0x1b8 │ │ │ │ │ + vnmls.f64 d4, d15, d5 │ │ │ │ │ + vmul.f64 d5, d2, d5 │ │ │ │ │ + vldr d8, [sp, #472] @ 0x1d8 │ │ │ │ │ + ldr r5, [sp, #92] @ 0x5c │ │ │ │ │ + vmla.f64 d5, d15, d6 │ │ │ │ │ + vldr d15, [sp, #296] @ 0x128 │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ + ldr r1, [sp, #52] @ 0x34 │ │ │ │ │ + vldr d4, [sp, #192] @ 0xc0 │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ - vstr d6, [r7] │ │ │ │ │ - vldr d6, [sp, #240] @ 0xf0 │ │ │ │ │ - vldr d5, [sp, #272] @ 0x110 │ │ │ │ │ - ldr r7, [sp, #96] @ 0x60 │ │ │ │ │ - vadd.f64 d6, d6, d14 │ │ │ │ │ - vldr d14, [sp, #288] @ 0x120 │ │ │ │ │ - vadd.f64 d5, d0, d5 │ │ │ │ │ - vmul.f64 d6, d6, d2 │ │ │ │ │ - vmul.f64 d5, d5, d2 │ │ │ │ │ - vsub.f64 d4, d7, d6 │ │ │ │ │ - vadd.f64 d7, d7, d6 │ │ │ │ │ - vadd.f64 d6, d13, d1 │ │ │ │ │ + ldr r1, [sp, #64] @ 0x40 │ │ │ │ │ + vadd.f64 d6, d11, d4 │ │ │ │ │ + vldr d4, [sp, #248] @ 0xf8 │ │ │ │ │ + vadd.f64 d5, d4, d1 │ │ │ │ │ + vldr d4, [sp, #208] @ 0xd0 │ │ │ │ │ + vmul.f64 d5, d5, d0 │ │ │ │ │ vsub.f64 d3, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vmul.f64 d5, d12, d3 │ │ │ │ │ - vnmls.f64 d5, d14, d4 │ │ │ │ │ - vstr d5, [r7] │ │ │ │ │ - vmul.f64 d5, d14, d3 │ │ │ │ │ - vmla.f64 d5, d12, d4 │ │ │ │ │ - vldr d3, [sp, #24] │ │ │ │ │ - vldr d4, [sp, #16] │ │ │ │ │ - vldr d12, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d14, [sp, #264] @ 0x108 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - vmul.f64 d5, d3, d6 │ │ │ │ │ - ldr r2, [sp, #84] @ 0x54 │ │ │ │ │ - vmul.f64 d6, d4, d6 │ │ │ │ │ - vmla.f64 d6, d3, d7 │ │ │ │ │ - vnmls.f64 d5, d4, d7 │ │ │ │ │ - vsub.f64 d7, d11, d12 │ │ │ │ │ - vldr d12, [sp, #240] @ 0xf0 │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - b.n 710 │ │ │ │ │ + vadd.f64 d5, d13, d4 │ │ │ │ │ + vadd.f64 d4, d8, d7 │ │ │ │ │ + vldr d7, [sp, #336] @ 0x150 │ │ │ │ │ + vmul.f64 d4, d4, d0 │ │ │ │ │ + vsub.f64 d2, d5, d4 │ │ │ │ │ + vadd.f64 d5, d5, d4 │ │ │ │ │ + vmul.f64 d4, d7, d2 │ │ │ │ │ + vnmls.f64 d4, d15, d3 │ │ │ │ │ + vstr d4, [r4] │ │ │ │ │ + vmul.f64 d4, d15, d2 │ │ │ │ │ + vldr d2, [sp, #16] │ │ │ │ │ + vldr d15, [sp, #192] @ 0xc0 │ │ │ │ │ + vmla.f64 d4, d7, d3 │ │ │ │ │ + vldr d3, [sp, #8] │ │ │ │ │ + vldr d7, [sp, #280] @ 0x118 │ │ │ │ │ + vsub.f64 d7, d7, d8 │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ + vmul.f64 d4, d2, d5 │ │ │ │ │ + vmul.f64 d5, d3, d5 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ + vnmls.f64 d4, d3, d6 │ │ │ │ │ + vmla.f64 d5, d2, d6 │ │ │ │ │ + vldr d2, [sp, #360] @ 0x168 │ │ │ │ │ + vsub.f64 d6, d11, d15 │ │ │ │ │ + vldr d15, [sp, #208] @ 0xd0 │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ + b.n 738 │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ - .word 0x000006ea │ │ │ │ │ + .word 0x00000700 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - vldr d5, [sp, #272] @ 0x110 │ │ │ │ │ - vstr d6, [r6] │ │ │ │ │ - vsub.f64 d0, d5, d0 │ │ │ │ │ - vsub.f64 d5, d13, d1 │ │ │ │ │ - vmul.f64 d0, d0, d2 │ │ │ │ │ - vsub.f64 d6, d7, d0 │ │ │ │ │ - vadd.f64 d0, d7, d0 │ │ │ │ │ - vsub.f64 d7, d12, d14 │ │ │ │ │ - vmul.f64 d7, d7, d2 │ │ │ │ │ - vldr d2, [sp, #360] @ 0x168 │ │ │ │ │ - vldr d3, [sp, #352] @ 0x160 │ │ │ │ │ - ldr r6, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d14, [sp, #336] @ 0x150 │ │ │ │ │ - vsub.f64 d4, d5, d7 │ │ │ │ │ - vadd.f64 d7, d5, d7 │ │ │ │ │ - ldr r7, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d11, [sp, #448] @ 0x1c0 │ │ │ │ │ - vldr d12, [sp, #208] @ 0xd0 │ │ │ │ │ - vmul.f64 d5, d2, d4 │ │ │ │ │ - vldr d1, [sp, #464] @ 0x1d0 │ │ │ │ │ - vldr d13, [sp, #368] @ 0x170 │ │ │ │ │ - ldr r1, [sp, #92] @ 0x5c │ │ │ │ │ - ldr r2, [sp, #88] @ 0x58 │ │ │ │ │ - vnmls.f64 d5, d3, d6 │ │ │ │ │ - vmul.f64 d6, d2, d6 │ │ │ │ │ - vmla.f64 d6, d3, d4 │ │ │ │ │ - vldr d2, [sp, #480] @ 0x1e0 │ │ │ │ │ - vstr d5, [r6] │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ + vsub.f64 d5, d6, d7 │ │ │ │ │ + vadd.f64 d7, d6, d7 │ │ │ │ │ + vsub.f64 d6, d13, d15 │ │ │ │ │ + vldr d15, [sp, #248] @ 0xf8 │ │ │ │ │ + vsub.f64 d15, d15, d1 │ │ │ │ │ + vldr d1, [sp, #368] @ 0x170 │ │ │ │ │ + vmul.f64 d15, d15, d0 │ │ │ │ │ + vldr d0, [sp, #344] @ 0x158 │ │ │ │ │ + vsub.f64 d4, d6, d15 │ │ │ │ │ + vadd.f64 d15, d6, d15 │ │ │ │ │ + vmul.f64 d6, d1, d4 │ │ │ │ │ + vnmls.f64 d6, d2, d5 │ │ │ │ │ + vstr d6, [r5] │ │ │ │ │ + vmul.f64 d6, d1, d5 │ │ │ │ │ + vmla.f64 d6, d2, d4 │ │ │ │ │ vstr d6, [r3] │ │ │ │ │ - vmul.f64 d6, d14, d7 │ │ │ │ │ - vldr d5, [sp, #312] @ 0x138 │ │ │ │ │ - ldr r6, [sp, #520] @ 0x208 │ │ │ │ │ - vnmls.f64 d6, d5, d0 │ │ │ │ │ - vstr d6, [r7] │ │ │ │ │ - vmul.f64 d6, d14, d0 │ │ │ │ │ - vmla.f64 d6, d5, d7 │ │ │ │ │ - vsub.f64 d7, d11, d12 │ │ │ │ │ - vldr d0, [sp, #488] @ 0x1e8 │ │ │ │ │ - vldr d12, [sp, #512] @ 0x200 │ │ │ │ │ - vldr d14, [sp, #384] @ 0x180 │ │ │ │ │ - vsub.f64 d5, d0, d12 │ │ │ │ │ - vstr d6, [lr] │ │ │ │ │ - vldr d6, [sp, #280] @ 0x118 │ │ │ │ │ + vmul.f64 d6, d0, d15 │ │ │ │ │ + vldr d5, [sp, #320] @ 0x140 │ │ │ │ │ + ldrd r3, r1, [sp, #68] @ 0x44 │ │ │ │ │ + ldr r0, [sp, #84] @ 0x54 │ │ │ │ │ + vnmls.f64 d6, d5, d7 │ │ │ │ │ + vmul.f64 d7, d0, d7 │ │ │ │ │ + vldr d13, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d0, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d2, [sp, #480] @ 0x1e0 │ │ │ │ │ + vmla.f64 d7, d5, d15 │ │ │ │ │ + ldrd r2, r5, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d8, [sp, #456] @ 0x1c8 │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ + vldr d6, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d1, [sp, #488] @ 0x1e8 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + vsub.f64 d7, d13, d0 │ │ │ │ │ + vldr d15, [sp, #376] @ 0x178 │ │ │ │ │ vsub.f64 d6, d6, d2 │ │ │ │ │ + vldr d0, [sp, #504] @ 0x1f8 │ │ │ │ │ + vldr d11, [sp, #392] @ 0x188 │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [sp, #168] @ 0xa8 │ │ │ │ │ - vsub.f64 d6, d6, d1 │ │ │ │ │ + vsub.f64 d5, d1, d0 │ │ │ │ │ + vsub.f64 d6, d6, d8 │ │ │ │ │ vsub.f64 d3, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vmul.f64 d5, d13, d3 │ │ │ │ │ - vnmls.f64 d5, d14, d4 │ │ │ │ │ - vstr d5, [r6] │ │ │ │ │ - vmul.f64 d5, d14, d3 │ │ │ │ │ - vmla.f64 d5, d13, d4 │ │ │ │ │ - vldr d3, [sp, #376] @ 0x178 │ │ │ │ │ - vldr d13, [sp, #392] @ 0x188 │ │ │ │ │ - vldr d14, [sp, #208] @ 0xd0 │ │ │ │ │ + vmul.f64 d5, d15, d3 │ │ │ │ │ + vnmls.f64 d5, d11, d4 │ │ │ │ │ + vstr d5, [r5] │ │ │ │ │ + vmul.f64 d5, d11, d3 │ │ │ │ │ + vldr d11, [sp, #400] @ 0x190 │ │ │ │ │ + vmla.f64 d5, d15, d4 │ │ │ │ │ + vldr d15, [sp, #384] @ 0x180 │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ - vmul.f64 d5, d3, d6 │ │ │ │ │ - vmul.f64 d6, d13, d6 │ │ │ │ │ - vmla.f64 d6, d3, d7 │ │ │ │ │ - vnmls.f64 d5, d13, d7 │ │ │ │ │ - vadd.f64 d7, d0, d12 │ │ │ │ │ - vstr d5, [sl] │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - vadd.f64 d6, d11, d14 │ │ │ │ │ - vldr d5, [sp, #280] @ 0x118 │ │ │ │ │ + vmul.f64 d5, d15, d6 │ │ │ │ │ + vmul.f64 d6, d11, d6 │ │ │ │ │ + ldr r1, [sp, #88] @ 0x58 │ │ │ │ │ + vnmls.f64 d5, d11, d7 │ │ │ │ │ + vmla.f64 d6, d15, d7 │ │ │ │ │ + vldr d11, [sp, #224] @ 0xe0 │ │ │ │ │ + vadd.f64 d7, d1, d0 │ │ │ │ │ + vstr d5, [fp] │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + vadd.f64 d6, d13, d11 │ │ │ │ │ + ldr r3, [sp, #80] @ 0x50 │ │ │ │ │ + vldr d5, [sp, #288] @ 0x120 │ │ │ │ │ vsub.f64 d3, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [sp, #168] @ 0xa8 │ │ │ │ │ vadd.f64 d5, d2, d5 │ │ │ │ │ - vadd.f64 d7, d7, d1 │ │ │ │ │ + vadd.f64 d7, d7, d8 │ │ │ │ │ vsub.f64 d4, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vmul.f64 d5, d9, d4 │ │ │ │ │ - vmul.f64 d9, d9, d3 │ │ │ │ │ - vmla.f64 d9, d10, d4 │ │ │ │ │ - vnmls.f64 d5, d10, d3 │ │ │ │ │ - vstr d5, [ip] │ │ │ │ │ - vmul.f64 d5, d15, d7 │ │ │ │ │ - vldr d4, [sp] │ │ │ │ │ - vmul.f64 d15, d15, d6 │ │ │ │ │ - ldr r1, [sp, #108] @ 0x6c │ │ │ │ │ - vldr d11, [sp, #144] @ 0x90 │ │ │ │ │ - vnmls.f64 d5, d4, d6 │ │ │ │ │ - vmla.f64 d15, d4, d7 │ │ │ │ │ - vldr d3, [sp, #192] @ 0xc0 │ │ │ │ │ - vstr d9, [r1] │ │ │ │ │ - vsub.f64 d7, d11, d8 │ │ │ │ │ - vldr d9, [sp, #256] @ 0x100 │ │ │ │ │ - vldr d13, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d8, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d11, [sp, #296] @ 0x128 │ │ │ │ │ - vsub.f64 d4, d13, d3 │ │ │ │ │ - vldr d2, [sp, #320] @ 0x140 │ │ │ │ │ - vstr d5, [fp] │ │ │ │ │ - vldr d5, [sp, #232] @ 0xe8 │ │ │ │ │ - ldr r2, [sp, #100] @ 0x64 │ │ │ │ │ - ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ - vsub.f64 d6, d9, d5 │ │ │ │ │ - vldr d1, [sp, #120] @ 0x78 │ │ │ │ │ - ldr r0, [sp, #60] @ 0x3c │ │ │ │ │ - vstr d15, [r2] │ │ │ │ │ - ldr r2, [sp, #80] @ 0x50 │ │ │ │ │ + vmul.f64 d5, d10, d4 │ │ │ │ │ + vnmls.f64 d5, d9, d3 │ │ │ │ │ + vstr d5, [lr] │ │ │ │ │ + vmul.f64 d5, d10, d3 │ │ │ │ │ + vmla.f64 d5, d9, d4 │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ + vmul.f64 d5, d14, d7 │ │ │ │ │ + vnmls.f64 d5, d12, d6 │ │ │ │ │ + vmul.f64 d6, d14, d6 │ │ │ │ │ + vmla.f64 d6, d12, d7 │ │ │ │ │ + vstr d5, [sl] │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + ldr r2, [sp, #36] @ 0x24 │ │ │ │ │ + vldr d13, [sp, #144] @ 0x90 │ │ │ │ │ + vldr d7, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d5, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d0, [sp, #200] @ 0xc8 │ │ │ │ │ + vsub.f64 d7, d13, d7 │ │ │ │ │ + vldr d2, [sp, #304] @ 0x130 │ │ │ │ │ + vldr d13, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d1, [sp, #328] @ 0x148 │ │ │ │ │ + ldr r3, [sp, #632] @ 0x278 │ │ │ │ │ + vsub.f64 d6, d5, d13 │ │ │ │ │ + ldr r6, [sp, #44] @ 0x2c │ │ │ │ │ + ldr r4, [sp, #512] @ 0x200 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + str r3, [sp, #632] @ 0x278 │ │ │ │ │ vsub.f64 d5, d7, d6 │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #224] @ 0xe0 │ │ │ │ │ - ldr r6, [sp, #12] │ │ │ │ │ - vsub.f64 d6, d6, d8 │ │ │ │ │ + vldr d6, [sp, #176] @ 0xb0 │ │ │ │ │ + ldr r3, [sp, #516] @ 0x204 │ │ │ │ │ + vsub.f64 d4, d6, d0 │ │ │ │ │ + vldr d6, [sp, #232] @ 0xe8 │ │ │ │ │ + add r7, r3 │ │ │ │ │ + vldr d0, [sp, #264] @ 0x108 │ │ │ │ │ + ldr r3, [sp, #520] @ 0x208 │ │ │ │ │ + vsub.f64 d6, d6, d0 │ │ │ │ │ + add ip, r3 │ │ │ │ │ + ldr r3, [sp, #524] @ 0x20c │ │ │ │ │ vsub.f64 d3, d4, d6 │ │ │ │ │ vadd.f64 d6, d4, d6 │ │ │ │ │ - vmul.f64 d4, d11, d3 │ │ │ │ │ - vnmls.f64 d4, d2, d5 │ │ │ │ │ - vmul.f64 d5, d11, d5 │ │ │ │ │ - vmla.f64 d5, d2, d3 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - vldr d4, [sp, #32] │ │ │ │ │ - vstr d5, [r2] │ │ │ │ │ - ldr r3, [sp, #640] @ 0x280 │ │ │ │ │ + eor.w r8, r8, r3 │ │ │ │ │ + ldr r3, [sp, #4] │ │ │ │ │ + vmul.f64 d4, d2, d3 │ │ │ │ │ + add.w r3, r3, #64 @ 0x40 │ │ │ │ │ + str r3, [sp, #4] │ │ │ │ │ + ldr r3, [sp, #636] @ 0x27c │ │ │ │ │ + vnmls.f64 d4, d1, d5 │ │ │ │ │ + vmul.f64 d5, d2, d5 │ │ │ │ │ + vmla.f64 d5, d1, d3 │ │ │ │ │ + vldr d3, [sp, #120] @ 0x78 │ │ │ │ │ + vstr d4, [r2] │ │ │ │ │ + vldr d4, [sp, #112] @ 0x70 │ │ │ │ │ + ldr r2, [sp, #632] @ 0x278 │ │ │ │ │ + vstr d5, [r4] │ │ │ │ │ + ldr r4, [sp, #40] @ 0x28 │ │ │ │ │ vmul.f64 d5, d4, d6 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #640] @ 0x280 │ │ │ │ │ - ldr r3, [sp, #524] @ 0x20c │ │ │ │ │ - vnmls.f64 d5, d1, d7 │ │ │ │ │ - vmul.f64 d7, d4, d7 │ │ │ │ │ - vmla.f64 d7, d1, d6 │ │ │ │ │ - add r4, r3 │ │ │ │ │ - ldr r3, [sp, #528] @ 0x210 │ │ │ │ │ - add r5, r3 │ │ │ │ │ - ldr r3, [sp, #532] @ 0x214 │ │ │ │ │ - eors r6, r3 │ │ │ │ │ - str r6, [sp, #12] │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ - vstr d7, [r9] │ │ │ │ │ - ldrd r2, r3, [sp, #640] @ 0x280 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - bne.w 40 │ │ │ │ │ - add.w sp, sp, #540 @ 0x21c │ │ │ │ │ + vnmls.f64 d5, d3, d7 │ │ │ │ │ + vmul.f64 d7, d4, d7 │ │ │ │ │ + vmla.f64 d7, d3, d6 │ │ │ │ │ + vstr d5, [r6] │ │ │ │ │ + vstr d7, [r4] │ │ │ │ │ + bne.w 52 │ │ │ │ │ + add.w sp, sp, #532 @ 0x214 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -00000918 : │ │ │ │ │ +00000950 : │ │ │ │ │ fftw_codelet_hb2_16(): │ │ │ │ │ - ldr r2, [pc, #8] @ (924 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (928 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (95c ) │ │ │ │ │ + ldr r1, [pc, #12] @ (960 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2hc_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── hb2_20.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 4312 (bytes into file) │ │ │ │ │ + Start of section headers: 4432 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x10d8: │ │ │ │ │ +There are 14 section headers, starting at offset 0x1150: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000d94 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 001020 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000dc8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000dc8 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000dc8 000007 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000dcf 000014 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 000de3 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 001048 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000e13 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000e13 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000e48 000150 10 12 16 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 000f98 000088 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 001060 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000e0c 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 001098 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000e40 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000e40 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000e40 000007 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000e47 000014 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000e5b 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 0010c0 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000e8b 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000e8b 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000ec0 000150 10 12 16 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 001010 000088 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 0010d8 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,24 +1,24 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 21 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 3456 FUNC LOCAL DEFAULT 1 hb2_20 │ │ │ │ │ + 1: 00000001 3576 FUNC LOCAL DEFAULT 1 hb2_20 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000048 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000060 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000c98 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000ca0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00000d8c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000058 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000070 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000cf0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000cf8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00000e04 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 12: 00000000 20 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 13: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 14: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 15: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 17: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 18: 00000d81 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hb2_20 │ │ │ │ │ + 18: 00000df9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hb2_20 │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2hc_register │ │ │ │ │ 20: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hb_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x1020 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x1098 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000058 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000005c 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00000d8c 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000d90 00000103 R_ARM_REL32 00000001 hb2_20 │ │ │ │ │ -00000d88 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ +00000068 00001019 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000006c 0000111a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +00000e04 00000d03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000e08 00000103 R_ARM_REL32 00000001 hb2_20 │ │ │ │ │ +00000e00 0000131e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x1048 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x10c0 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000802 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000a02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001402 R_ARM_ABS32 00000000 fftw_rdft_hb_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,944 +1,967 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hb2_20(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov r7, r0 │ │ │ │ │ - mov r8, r1 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r8, r0 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + mov r9, r1 │ │ │ │ │ + mov sl, r3 │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub.w sp, sp, #804 @ 0x324 │ │ │ │ │ - mov r9, r3 │ │ │ │ │ - ldr r3, [pc, #68] @ (58 ) │ │ │ │ │ - ldrd r1, r0, [sp, #904] @ 0x388 │ │ │ │ │ - add r3, pc │ │ │ │ │ + sub.w sp, sp, #812 @ 0x32c │ │ │ │ │ + ldrd r1, r0, [sp, #912] @ 0x390 │ │ │ │ │ + ldr r3, [pc, #64] @ (68 ) │ │ │ │ │ cmp r1, r0 │ │ │ │ │ - bge.w d74 │ │ │ │ │ - ldr r1, [sp, #912] @ 0x390 │ │ │ │ │ - mov fp, r9 │ │ │ │ │ - vldr d13, [pc, #32] @ 48 │ │ │ │ │ - mov sl, r7 │ │ │ │ │ - vldr d0, [pc, #36] @ 50 │ │ │ │ │ - lsls r1, r1, #3 │ │ │ │ │ - str r1, [sp, #788] @ 0x314 │ │ │ │ │ - negs r1, r1 │ │ │ │ │ - str r1, [sp, #792] @ 0x318 │ │ │ │ │ - ldr r1, [pc, #36] @ (5c ) │ │ │ │ │ + add r3, pc │ │ │ │ │ + bge.w dda │ │ │ │ │ + ldr r1, [sp, #920] @ 0x398 │ │ │ │ │ + vldr d0, [pc, #36] @ 58 │ │ │ │ │ + vldr d13, [pc, #40] @ 60 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + str r1, [sp, #796] @ 0x31c │ │ │ │ │ + rsb r1, r1, #0 │ │ │ │ │ + str r1, [sp, #800] @ 0x320 │ │ │ │ │ + ldr r1, [pc, #36] @ (6c ) │ │ │ │ │ ldr r3, [r3, r1] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - str r3, [sp, #796] @ 0x31c │ │ │ │ │ - ldr r3, [sp, #904] @ 0x388 │ │ │ │ │ - add.w r6, r2, r3, lsl #6 │ │ │ │ │ - mov r9, r6 │ │ │ │ │ - b.n 60 │ │ │ │ │ + str r3, [sp, #804] @ 0x324 │ │ │ │ │ + ldr r3, [sp, #912] @ 0x390 │ │ │ │ │ + add.w r7, r2, r3, lsl #6 │ │ │ │ │ + mov lr, r7 │ │ │ │ │ + b.n 70 │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ - .word 0x0000003c │ │ │ │ │ + .word 0x0000003a │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - vldr d12, [r9, #-64] @ 0xffffffc0 │ │ │ │ │ - movs r3, #72 @ 0x48 │ │ │ │ │ - vldr d5, [r9, #-56] @ 0xffffffc8 │ │ │ │ │ - movs r5, #120 @ 0x78 │ │ │ │ │ - vldr d2, [r9, #-48] @ 0xffffffd0 │ │ │ │ │ - movs r1, #112 @ 0x70 │ │ │ │ │ - vldr d3, [r9, #-40] @ 0xffffffd8 │ │ │ │ │ - mul.w r0, r3, fp │ │ │ │ │ - vldr d9, [r9, #-24] @ 0xffffffe8 │ │ │ │ │ - movs r6, #40 @ 0x28 │ │ │ │ │ - vmul.f64 d6, d12, d2 │ │ │ │ │ - vmul.f64 d4, d5, d2 │ │ │ │ │ - vmul.f64 d7, d5, d3 │ │ │ │ │ - vmul.f64 d10, d12, d3 │ │ │ │ │ - vldr d1, [r9, #-32] @ 0xffffffe0 │ │ │ │ │ - add.w r3, r8, r0 │ │ │ │ │ + vldr d9, [lr, #-64] @ 0xffffffc0 │ │ │ │ │ + mov.w r2, sl, lsl #3 │ │ │ │ │ + add.w lr, lr, #64 @ 0x40 │ │ │ │ │ + mov.w r5, sl, lsl #4 │ │ │ │ │ + vldr d5, [lr, #-120] @ 0xffffff88 │ │ │ │ │ + add.w r0, r2, sl │ │ │ │ │ + sub.w r1, r2, sl │ │ │ │ │ + mov.w r7, r0, lsl #3 │ │ │ │ │ + vldr d7, [lr, #-104] @ 0xffffff98 │ │ │ │ │ + mov.w r6, r1, lsl #4 │ │ │ │ │ + add.w r3, r9, r7 │ │ │ │ │ + mov.w fp, sl, lsl #5 │ │ │ │ │ + add r7, r8 │ │ │ │ │ + vldr d2, [lr, #-112] @ 0xffffff90 │ │ │ │ │ + add.w r4, r9, r6 │ │ │ │ │ + add r6, r8 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + vldr d1, [lr, #-96] @ 0xffffffa0 │ │ │ │ │ + add.w r0, r9, r0, lsl #4 │ │ │ │ │ vstr d5, [sp, #8] │ │ │ │ │ - mul.w r1, r1, fp │ │ │ │ │ + vmov.f64 d15, d7 │ │ │ │ │ + vmul.f64 d7, d5, d7 │ │ │ │ │ + vmul.f64 d6, d9, d2 │ │ │ │ │ + vmul.f64 d4, d5, d2 │ │ │ │ │ vstr d2, [sp, #16] │ │ │ │ │ - mov.w ip, #152 @ 0x98 │ │ │ │ │ - vadd.f64 d14, d6, d7 │ │ │ │ │ - vsub.f64 d15, d10, d4 │ │ │ │ │ + vmul.f64 d10, d9, d15 │ │ │ │ │ + vstr d1, [sp, #32] │ │ │ │ │ + vadd.f64 d12, d6, d7 │ │ │ │ │ vsub.f64 d8, d6, d7 │ │ │ │ │ - vadd.f64 d10, d4, d10 │ │ │ │ │ - vmov.f64 d7, d3 │ │ │ │ │ - vmul.f64 d6, d5, d9 │ │ │ │ │ - vmul.f64 d5, d5, d1 │ │ │ │ │ - vmul.f64 d4, d12, d9 │ │ │ │ │ - vmul.f64 d3, d3, d9 │ │ │ │ │ - vstr d9, [sp, #200] @ 0xc8 │ │ │ │ │ - vstr d10, [sp] │ │ │ │ │ + vldr d6, [lr, #-88] @ 0xffffffa8 │ │ │ │ │ + vsub.f64 d14, d10, d4 │ │ │ │ │ + vadd.f64 d4, d4, d10 │ │ │ │ │ vmov.f64 d10, d1 │ │ │ │ │ + vmul.f64 d3, d15, d6 │ │ │ │ │ + vmul.f64 d7, d9, d10 │ │ │ │ │ + vstr d4, [sp] │ │ │ │ │ + vmul.f64 d4, d9, d6 │ │ │ │ │ + vstr d6, [sp, #24] │ │ │ │ │ vstr d8, [sp, #40] @ 0x28 │ │ │ │ │ - vmul.f64 d8, d2, d9 │ │ │ │ │ + vmul.f64 d8, d2, d6 │ │ │ │ │ vmul.f64 d2, d2, d1 │ │ │ │ │ - vmul.f64 d1, d7, d1 │ │ │ │ │ - vstr d7, [sp, #24] │ │ │ │ │ - add.w r4, r8, r1 │ │ │ │ │ - vmul.f64 d7, d12, d10 │ │ │ │ │ - vstr d10, [sp, #32] │ │ │ │ │ - mov.w r2, fp, lsl #5 │ │ │ │ │ - add r0, sl │ │ │ │ │ - vadd.f64 d11, d8, d1 │ │ │ │ │ - vsub.f64 d1, d8, d1 │ │ │ │ │ + vmul.f64 d6, d5, d6 │ │ │ │ │ + vmul.f64 d5, d5, d1 │ │ │ │ │ + vmul.f64 d1, d15, d1 │ │ │ │ │ vadd.f64 d10, d3, d2 │ │ │ │ │ vsub.f64 d3, d2, d3 │ │ │ │ │ + vldr d2, [sp, #24] │ │ │ │ │ + vadd.f64 d11, d8, d1 │ │ │ │ │ + vsub.f64 d1, d8, d1 │ │ │ │ │ vldr d8, [sp, #40] @ 0x28 │ │ │ │ │ - add.w r7, r8, r2 │ │ │ │ │ - add r2, sl │ │ │ │ │ - add r1, sl │ │ │ │ │ + vstr d10, [sp, #480] @ 0x1e0 │ │ │ │ │ + vsub.f64 d10, d7, d6 │ │ │ │ │ + vadd.f64 d6, d6, d7 │ │ │ │ │ + vstr d3, [sp, #512] @ 0x200 │ │ │ │ │ + vmov.f64 d3, d12 │ │ │ │ │ vstr d1, [sp, #504] @ 0x1f8 │ │ │ │ │ vsub.f64 d1, d4, d5 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ vldr d5, [sp, #32] │ │ │ │ │ - vstr d10, [sp, #480] @ 0x1e0 │ │ │ │ │ - vsub.f64 d10, d7, d6 │ │ │ │ │ + vstr d10, [sp, #488] @ 0x1e8 │ │ │ │ │ + vstr d6, [sp, #528] @ 0x210 │ │ │ │ │ + vmul.f64 d6, d12, d2 │ │ │ │ │ vstr d11, [sp, #496] @ 0x1f0 │ │ │ │ │ - add.w r9, r9, #64 @ 0x40 │ │ │ │ │ - vstr d3, [sp, #512] @ 0x200 │ │ │ │ │ - vmov.f64 d3, d14 │ │ │ │ │ - vmov.f64 d11, d4 │ │ │ │ │ vstr d1, [sp, #520] @ 0x208 │ │ │ │ │ - vadd.f64 d4, d6, d7 │ │ │ │ │ - vmov.f64 d1, d15 │ │ │ │ │ - vmul.f64 d6, d14, d9 │ │ │ │ │ - vmul.f64 d7, d15, d5 │ │ │ │ │ - vstr d10, [sp, #488] @ 0x1e8 │ │ │ │ │ - vldr d10, [sp] │ │ │ │ │ - vstr d4, [sp, #528] @ 0x210 │ │ │ │ │ + vmov.f64 d1, d14 │ │ │ │ │ + vmov.f64 d11, d4 │ │ │ │ │ + vmul.f64 d7, d14, d5 │ │ │ │ │ vmul.f64 d4, d8, d5 │ │ │ │ │ - vsub.f64 d14, d6, d7 │ │ │ │ │ - vadd.f64 d15, d6, d7 │ │ │ │ │ - vmul.f64 d7, d1, d9 │ │ │ │ │ - vmul.f64 d6, d3, d5 │ │ │ │ │ - vstr d14, [sp, #536] @ 0x218 │ │ │ │ │ + vsub.f64 d12, d6, d7 │ │ │ │ │ vadd.f64 d14, d6, d7 │ │ │ │ │ - vsub.f64 d6, d6, d7 │ │ │ │ │ + vmul.f64 d6, d3, d5 │ │ │ │ │ + vmul.f64 d7, d1, d2 │ │ │ │ │ + vstr d12, [sp, #536] @ 0x218 │ │ │ │ │ + vadd.f64 d12, d6, d7 │ │ │ │ │ + vstr d14, [sp, #544] @ 0x220 │ │ │ │ │ + vsub.f64 d14, d6, d7 │ │ │ │ │ vmov.f64 d7, d5 │ │ │ │ │ - vmul.f64 d5, d10, d9 │ │ │ │ │ - vstr d15, [sp, #544] @ 0x220 │ │ │ │ │ - vstr d6, [sp, #560] @ 0x230 │ │ │ │ │ - vmul.f64 d6, d8, d9 │ │ │ │ │ - vmul.f64 d7, d10, d7 │ │ │ │ │ - vstr d14, [sp, #552] @ 0x228 │ │ │ │ │ - vadd.f64 d14, d4, d5 │ │ │ │ │ - vsub.f64 d15, d4, d5 │ │ │ │ │ - vldr d5, [sp, #8] │ │ │ │ │ - vsub.f64 d10, d6, d7 │ │ │ │ │ + vmul.f64 d6, d8, d2 │ │ │ │ │ + vstr d12, [sp, #552] @ 0x228 │ │ │ │ │ + vldr d12, [sp] │ │ │ │ │ + vstr d14, [sp, #560] @ 0x230 │ │ │ │ │ + vmul.f64 d7, d12, d7 │ │ │ │ │ + vmul.f64 d5, d12, d2 │ │ │ │ │ + vsub.f64 d12, d6, d7 │ │ │ │ │ + vadd.f64 d10, d4, d5 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ - vmov.f64 d2, d14 │ │ │ │ │ - vldr d14, [r9, #-72] @ 0xffffffb8 │ │ │ │ │ - vstr d15, [sp, #568] @ 0x238 │ │ │ │ │ - vldr d15, [r9, #-80] @ 0xffffffb0 │ │ │ │ │ + vsub.f64 d4, d4, d5 │ │ │ │ │ + vldr d5, [sp, #8] │ │ │ │ │ + vldr d6, [lr, #-80] @ 0xffffffb0 │ │ │ │ │ + vmov.f64 d14, d12 │ │ │ │ │ + vldr d12, [lr, #-72] @ 0xffffffb8 │ │ │ │ │ + vstr d4, [sp, #568] @ 0x238 │ │ │ │ │ vstr d7, [sp, #576] @ 0x240 │ │ │ │ │ - vmul.f64 d7, d5, d14 │ │ │ │ │ - vmov.f64 d9, d2 │ │ │ │ │ - vmla.f64 d7, d12, d15 │ │ │ │ │ - vstr d7, [sp, #584] @ 0x248 │ │ │ │ │ - vmul.f64 d7, d10, d14 │ │ │ │ │ - vstr d3, [sp, #184] @ 0xb8 │ │ │ │ │ - str r3, [sp, #56] @ 0x38 │ │ │ │ │ - str r4, [sp, #60] @ 0x3c │ │ │ │ │ + vmov.f64 d2, d6 │ │ │ │ │ + vmul.f64 d7, d5, d12 │ │ │ │ │ vmov.f64 d4, d7 │ │ │ │ │ - vmul.f64 d7, d1, d15 │ │ │ │ │ - vmla.f64 d4, d2, d15 │ │ │ │ │ - str r7, [sp, #80] @ 0x50 │ │ │ │ │ + vmul.f64 d7, d14, d12 │ │ │ │ │ + vmla.f64 d4, d9, d6 │ │ │ │ │ + vmla.f64 d7, d10, d6 │ │ │ │ │ + vstr d4, [sp, #584] @ 0x248 │ │ │ │ │ + vmov.f64 d4, d1 │ │ │ │ │ + str r2, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d7, [sp, #592] @ 0x250 │ │ │ │ │ + vmul.f64 d7, d1, d6 │ │ │ │ │ vstr d1, [sp, #192] @ 0xc0 │ │ │ │ │ - vstr d12, [sp, #176] @ 0xb0 │ │ │ │ │ - vmov.f64 d6, d7 │ │ │ │ │ - vmul.f64 d7, d5, d15 │ │ │ │ │ - vstr d14, [sp, #224] @ 0xe0 │ │ │ │ │ - vstr d15, [sp, #216] @ 0xd8 │ │ │ │ │ - vstr d9, [sp, #208] @ 0xd0 │ │ │ │ │ - vnmls.f64 d7, d12, d14 │ │ │ │ │ - vnmls.f64 d6, d3, d14 │ │ │ │ │ - vstr d4, [sp, #592] @ 0x250 │ │ │ │ │ - vstr d7, [sp, #608] @ 0x260 │ │ │ │ │ - vmul.f64 d7, d1, d14 │ │ │ │ │ - vstr d6, [sp, #600] @ 0x258 │ │ │ │ │ + vstr d3, [sp, #184] @ 0xb8 │ │ │ │ │ + vstr d9, [sp, #168] @ 0xa8 │ │ │ │ │ + strd r3, r4, [sp, #60] @ 0x3c │ │ │ │ │ + vstr d15, [sp, #176] @ 0xb0 │ │ │ │ │ + vmov.f64 d1, d7 │ │ │ │ │ + vmul.f64 d7, d5, d6 │ │ │ │ │ + vstr d14, [sp, #200] @ 0xc8 │ │ │ │ │ + vnmls.f64 d1, d3, d12 │ │ │ │ │ vmov.f64 d6, d7 │ │ │ │ │ - vmla.f64 d6, d3, d15 │ │ │ │ │ + vmul.f64 d7, d4, d12 │ │ │ │ │ + vmov.f64 d4, d2 │ │ │ │ │ + vnmls.f64 d6, d9, d12 │ │ │ │ │ + vmla.f64 d7, d3, d2 │ │ │ │ │ vldr d3, [sp] │ │ │ │ │ - vmul.f64 d7, d3, d15 │ │ │ │ │ - vmov.f64 d4, d7 │ │ │ │ │ - vstr d6, [sp, #616] @ 0x268 │ │ │ │ │ - vldr d6, [sp, #16] │ │ │ │ │ - vnmls.f64 d4, d8, d14 │ │ │ │ │ - vstr d4, [sp, #624] @ 0x270 │ │ │ │ │ - vldr d4, [sp, #24] │ │ │ │ │ - vmul.f64 d7, d4, d15 │ │ │ │ │ - vnmls.f64 d7, d6, d14 │ │ │ │ │ + vstr d4, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d2, [sp, #16] │ │ │ │ │ + vstr d1, [sp, #600] @ 0x258 │ │ │ │ │ + vstr d6, [sp, #608] @ 0x260 │ │ │ │ │ + vstr d7, [sp, #616] @ 0x268 │ │ │ │ │ + vmul.f64 d7, d3, d4 │ │ │ │ │ + vmov.f64 d6, d7 │ │ │ │ │ + vmul.f64 d7, d15, d4 │ │ │ │ │ + vnmls.f64 d6, d8, d12 │ │ │ │ │ + vnmls.f64 d7, d2, d12 │ │ │ │ │ + vstr d6, [sp, #624] @ 0x270 │ │ │ │ │ vstr d7, [sp, #632] @ 0x278 │ │ │ │ │ - vmul.f64 d7, d10, d15 │ │ │ │ │ - vmov.f64 d2, d7 │ │ │ │ │ - vmul.f64 d7, d3, d14 │ │ │ │ │ + vmul.f64 d7, d14, d4 │ │ │ │ │ vmov.f64 d5, d7 │ │ │ │ │ - vmul.f64 d7, d4, d14 │ │ │ │ │ - vmla.f64 d7, d6, d15 │ │ │ │ │ - vmla.f64 d5, d8, d15 │ │ │ │ │ - vnmls.f64 d2, d9, d14 │ │ │ │ │ - vldr d4, [sl] │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - vstr d7, [sp, #656] @ 0x290 │ │ │ │ │ + vmul.f64 d7, d3, d12 │ │ │ │ │ + vnmls.f64 d5, d10, d12 │ │ │ │ │ + vmov.f64 d9, d7 │ │ │ │ │ + vmul.f64 d7, d15, d12 │ │ │ │ │ + vmla.f64 d9, d8, d4 │ │ │ │ │ + vmov.f64 d8, d7 │ │ │ │ │ vldr d7, [r3] │ │ │ │ │ - mul.w r3, r5, fp │ │ │ │ │ - vstr d5, [sp, #648] @ 0x288 │ │ │ │ │ - add.w r5, sl, r3 │ │ │ │ │ - str r5, [sp, #64] @ 0x40 │ │ │ │ │ + sub.w r3, r5, sl │ │ │ │ │ + mov.w r3, r3, lsl #3 │ │ │ │ │ + vstr d5, [sp, #640] @ 0x280 │ │ │ │ │ + add.w r2, r8, r3 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + vmla.f64 d8, d2, d4 │ │ │ │ │ + vldr d4, [r8] │ │ │ │ │ + str r2, [sp, #68] @ 0x44 │ │ │ │ │ + vstr d9, [sp, #648] @ 0x288 │ │ │ │ │ + vstr d8, [sp, #656] @ 0x290 │ │ │ │ │ vadd.f64 d8, d4, d7 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - mul.w r5, r6, fp │ │ │ │ │ - vstr d2, [sp, #640] @ 0x280 │ │ │ │ │ - add.w r6, sl, r5 │ │ │ │ │ - str r6, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + add.w r2, sl, sl, lsl #2 │ │ │ │ │ + mov.w ip, r2, lsl #3 │ │ │ │ │ + mov.w r2, r2, lsl #4 │ │ │ │ │ + add.w r4, r8, ip │ │ │ │ │ vsub.f64 d2, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ - add r5, r8 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - mla r6, ip, fp, r8 │ │ │ │ │ - mov.w ip, #80 @ 0x50 │ │ │ │ │ - str r6, [sp, #84] @ 0x54 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + str r4, [sp, #72] @ 0x48 │ │ │ │ │ + add.w r4, r9, fp │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + str r4, [sp, #80] @ 0x50 │ │ │ │ │ + mov.w r4, #152 @ 0x98 │ │ │ │ │ + mla r4, r4, sl, r9 │ │ │ │ │ vadd.f64 d1, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - mul.w r4, ip, fp │ │ │ │ │ - vldr d6, [r6] │ │ │ │ │ - mov.w ip, #104 @ 0x68 │ │ │ │ │ - add.w r7, sl, r4 │ │ │ │ │ - str r7, [sp, #88] @ 0x58 │ │ │ │ │ - vadd.f64 d12, d8, d1 │ │ │ │ │ - vsub.f64 d1, d8, d1 │ │ │ │ │ - add r4, r8 │ │ │ │ │ - mul.w ip, ip, fp │ │ │ │ │ - vldr d9, [r7] │ │ │ │ │ - str r5, [sp, #92] @ 0x5c │ │ │ │ │ - vstr d12, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + str r4, [sp, #84] @ 0x54 │ │ │ │ │ + add.w r4, r8, r2 │ │ │ │ │ + add r2, r9 │ │ │ │ │ + str r4, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d9, [r4] │ │ │ │ │ + add.w r4, r8, fp │ │ │ │ │ + mov.w fp, #104 @ 0x68 │ │ │ │ │ + str r4, [sp, #52] @ 0x34 │ │ │ │ │ + mul.w fp, fp, sl │ │ │ │ │ + str r6, [sp, #104] @ 0x68 │ │ │ │ │ vsub.f64 d3, d6, d9 │ │ │ │ │ vadd.f64 d6, d6, d9 │ │ │ │ │ + vadd.f64 d9, d8, d1 │ │ │ │ │ + vsub.f64 d1, d8, d1 │ │ │ │ │ + vstr d9, [sp, #216] @ 0xd8 │ │ │ │ │ vsub.f64 d9, d4, d5 │ │ │ │ │ vadd.f64 d5, d4, d5 │ │ │ │ │ - str r0, [sp, #100] @ 0x64 │ │ │ │ │ - vstr d1, [sp, #256] @ 0x100 │ │ │ │ │ - vadd.f64 d12, d7, d6 │ │ │ │ │ - vsub.f64 d4, d6, d7 │ │ │ │ │ - vadd.f64 d6, d2, d3 │ │ │ │ │ - vsub.f64 d8, d3, d2 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - adds r5, r2, r3 │ │ │ │ │ - vstr d5, [sp, #272] @ 0x110 │ │ │ │ │ - vstr d4, [sp, #280] @ 0x118 │ │ │ │ │ - vstr d6, [sp, #288] @ 0x120 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ - vstr d8, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d4, [r9] │ │ │ │ │ + vstr d9, [sp, #224] @ 0xe0 │ │ │ │ │ + vadd.f64 d9, d7, d6 │ │ │ │ │ + vstr d1, [sp, #240] @ 0xf0 │ │ │ │ │ + vsub.f64 d1, d3, d2 │ │ │ │ │ + vadd.f64 d2, d2, d3 │ │ │ │ │ + vstr d5, [sp, #256] @ 0x100 │ │ │ │ │ + vsub.f64 d5, d6, d7 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + add.w r4, r9, ip │ │ │ │ │ + mov.w ip, #88 @ 0x58 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + mul.w ip, ip, sl │ │ │ │ │ + str r4, [sp, #92] @ 0x5c │ │ │ │ │ + ldr r4, [sp, #52] @ 0x34 │ │ │ │ │ + vstr d9, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d5, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d2, [sp, #272] @ 0x110 │ │ │ │ │ vadd.f64 d8, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - vldr d4, [r8] │ │ │ │ │ - vstr d9, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + add r4, r3 │ │ │ │ │ + vldr d9, [r6] │ │ │ │ │ + add.w r6, r9, r1 │ │ │ │ │ + add r1, r8 │ │ │ │ │ + str r4, [sp, #96] @ 0x60 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + add.w r4, r9, r3 │ │ │ │ │ + vstr d1, [sp, #248] @ 0xf8 │ │ │ │ │ + str r4, [sp, #100] @ 0x64 │ │ │ │ │ + str r6, [sp, #108] @ 0x6c │ │ │ │ │ vsub.f64 d2, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [r0] │ │ │ │ │ - add.w r0, r8, r3 │ │ │ │ │ - vldr d9, [r1] │ │ │ │ │ - str r1, [sp, #108] @ 0x6c │ │ │ │ │ - movs r1, #56 @ 0x38 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ vadd.f64 d1, d5, d4 │ │ │ │ │ vsub.f64 d5, d5, d4 │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ - mul.w r1, r1, fp │ │ │ │ │ - str r0, [sp, #104] @ 0x68 │ │ │ │ │ - vstr d12, [sp, #248] @ 0xf8 │ │ │ │ │ - mov.w r0, fp, lsl #4 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ vsub.f64 d3, d4, d9 │ │ │ │ │ vadd.f64 d4, d4, d9 │ │ │ │ │ vadd.f64 d9, d8, d1 │ │ │ │ │ - vsub.f64 d12, d6, d7 │ │ │ │ │ vsub.f64 d8, d8, d1 │ │ │ │ │ - add.w r7, r8, r1 │ │ │ │ │ - add.w r6, sl, r0 │ │ │ │ │ - add r1, sl │ │ │ │ │ vsub.f64 d15, d3, d2 │ │ │ │ │ - vadd.f64 d2, d2, d3 │ │ │ │ │ + vstr d8, [sp, #296] @ 0x128 │ │ │ │ │ vstr d9, [sp, #664] @ 0x298 │ │ │ │ │ + vsub.f64 d9, d6, d7 │ │ │ │ │ + vadd.f64 d6, d6, d7 │ │ │ │ │ + vstr d9, [sp, #280] @ 0x118 │ │ │ │ │ vadd.f64 d9, d5, d4 │ │ │ │ │ - add r0, r8 │ │ │ │ │ - str r5, [sp, #96] @ 0x60 │ │ │ │ │ - str r3, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d15, [sp, #320] @ 0x140 │ │ │ │ │ + vstr d15, [sp, #304] @ 0x130 │ │ │ │ │ vsub.f64 d15, d4, d5 │ │ │ │ │ - vadd.f64 d5, d6, d7 │ │ │ │ │ - str r7, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - vstr d12, [sp, #296] @ 0x128 │ │ │ │ │ - vstr d9, [sp, #304] @ 0x130 │ │ │ │ │ - vstr d8, [sp, #312] @ 0x138 │ │ │ │ │ + vadd.f64 d5, d2, d3 │ │ │ │ │ + vstr d6, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + add.w r6, r8, r5 │ │ │ │ │ + vstr d9, [sp, #288] @ 0x120 │ │ │ │ │ vstr d5, [sp, #328] @ 0x148 │ │ │ │ │ - vstr d2, [sp, #336] @ 0x150 │ │ │ │ │ - str r6, [sp, #116] @ 0x74 │ │ │ │ │ + str r6, [sp, #112] @ 0x70 │ │ │ │ │ vldr d7, [r6] │ │ │ │ │ - vldr d4, [r0] │ │ │ │ │ - str r0, [sp, #120] @ 0x78 │ │ │ │ │ - movs r0, #96 @ 0x60 │ │ │ │ │ + add.w r6, r9, r5 │ │ │ │ │ + add r5, sl │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ + str r1, [sp, #120] @ 0x78 │ │ │ │ │ + str r6, [sp, #116] @ 0x74 │ │ │ │ │ + str r0, [sp, #144] @ 0x90 │ │ │ │ │ vadd.f64 d8, d6, d7 │ │ │ │ │ - str r1, [sp, #124] @ 0x7c │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - movs r1, #136 @ 0x88 │ │ │ │ │ - mul.w r0, r0, fp │ │ │ │ │ - add.w r6, sl, r0 │ │ │ │ │ + add.w r1, r9, r5 │ │ │ │ │ + add r5, r8 │ │ │ │ │ + vldr d5, [r1] │ │ │ │ │ + str r1, [sp, #124] @ 0x7c │ │ │ │ │ + add.w r1, sl, sl, lsl #1 │ │ │ │ │ + vldr d9, [r5] │ │ │ │ │ + mov.w r6, r1, lsl #5 │ │ │ │ │ vadd.f64 d1, d4, d7 │ │ │ │ │ - mul.w r1, r1, fp │ │ │ │ │ - add.w r7, r8, r0 │ │ │ │ │ vsub.f64 d4, d4, d7 │ │ │ │ │ - str r7, [sp, #136] @ 0x88 │ │ │ │ │ - add.w r5, r8, r1 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - add.w r0, sl, r1 │ │ │ │ │ - str r6, [sp, #132] @ 0x84 │ │ │ │ │ - movs r6, #24 │ │ │ │ │ - str r5, [sp, #128] @ 0x80 │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ - vadd.f64 d12, d8, d1 │ │ │ │ │ - vldr d9, [r0] │ │ │ │ │ - vsub.f64 d8, d8, d1 │ │ │ │ │ - mul.w r6, r6, fp │ │ │ │ │ - str r0, [sp, #140] @ 0x8c │ │ │ │ │ + str r5, [sp, #132] @ 0x84 │ │ │ │ │ + mov.w r5, r1, lsl #3 │ │ │ │ │ + add.w r4, r8, r6 │ │ │ │ │ + add r6, r9 │ │ │ │ │ + mov.w r1, r1, lsl #4 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + str r4, [sp, #128] @ 0x80 │ │ │ │ │ + str r5, [sp, #312] @ 0x138 │ │ │ │ │ + add r5, r9 │ │ │ │ │ + ldr r4, [sp, #56] @ 0x38 │ │ │ │ │ + str r5, [sp, #136] @ 0x88 │ │ │ │ │ vsub.f64 d2, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - movs r7, #48 @ 0x30 │ │ │ │ │ - add.w r1, r8, r6 │ │ │ │ │ - str r1, [sp, #144] @ 0x90 │ │ │ │ │ - vstr d12, [sp, #344] @ 0x158 │ │ │ │ │ - add r6, sl │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ vsub.f64 d3, d7, d9 │ │ │ │ │ vadd.f64 d7, d7, d9 │ │ │ │ │ - mul.w r7, r7, fp │ │ │ │ │ - vsub.f64 d12, d4, d5 │ │ │ │ │ - vadd.f64 d5, d4, d5 │ │ │ │ │ - vstr d8, [sp, #368] @ 0x170 │ │ │ │ │ - add.w r5, sl, r7 │ │ │ │ │ - str r5, [sp, #148] @ 0x94 │ │ │ │ │ - vadd.f64 d9, d6, d7 │ │ │ │ │ - vsub.f64 d6, d6, d7 │ │ │ │ │ + vadd.f64 d9, d8, d1 │ │ │ │ │ + vsub.f64 d8, d8, d1 │ │ │ │ │ vsub.f64 d1, d2, d3 │ │ │ │ │ vadd.f64 d2, d2, d3 │ │ │ │ │ + vstr d9, [sp, #336] @ 0x150 │ │ │ │ │ + vadd.f64 d9, d6, d7 │ │ │ │ │ + vsub.f64 d6, d6, d7 │ │ │ │ │ + vstr d9, [sp, #344] @ 0x158 │ │ │ │ │ + vsub.f64 d9, d4, d5 │ │ │ │ │ + vadd.f64 d5, d4, d5 │ │ │ │ │ + vstr d6, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + add.w r5, r8, r1 │ │ │ │ │ + add r1, r9 │ │ │ │ │ vldr d7, [r5] │ │ │ │ │ - movs r5, #88 @ 0x58 │ │ │ │ │ - vstr d5, [sp, #384] @ 0x180 │ │ │ │ │ - add r7, r8 │ │ │ │ │ - vstr d6, [sp, #392] @ 0x188 │ │ │ │ │ - vldr d6, [r1] │ │ │ │ │ - movs r1, #144 @ 0x90 │ │ │ │ │ - mul.w r5, r5, fp │ │ │ │ │ - vstr d2, [sp, #400] @ 0x190 │ │ │ │ │ + str r5, [sp, #140] @ 0x8c │ │ │ │ │ + add.w r5, r8, r4 │ │ │ │ │ + vstr d8, [sp, #360] @ 0x168 │ │ │ │ │ + vldr d4, [r5] │ │ │ │ │ + vstr d5, [sp, #376] @ 0x178 │ │ │ │ │ vstr d9, [sp, #352] @ 0x160 │ │ │ │ │ - mla r1, r1, fp, r8 │ │ │ │ │ - add.w r0, sl, r5 │ │ │ │ │ vadd.f64 d8, d6, d7 │ │ │ │ │ - str r1, [sp, #152] @ 0x98 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - str r0, [sp, #156] @ 0x9c │ │ │ │ │ + vldr d7, [r0] │ │ │ │ │ + add.w r0, r8, ip │ │ │ │ │ + vstr d1, [sp, #368] @ 0x170 │ │ │ │ │ + add ip, r9 │ │ │ │ │ + vstr d2, [sp, #392] @ 0x188 │ │ │ │ │ vldr d5, [r0] │ │ │ │ │ - mov.w r0, fp, lsl #6 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - mov.w r1, fp, lsl #3 │ │ │ │ │ - add.w lr, sl, r1 │ │ │ │ │ - add.w r3, r8, r0 │ │ │ │ │ - str r3, [sp, #160] @ 0xa0 │ │ │ │ │ - add r0, sl │ │ │ │ │ + str r0, [sp, #148] @ 0x94 │ │ │ │ │ + mov.w r0, sl, lsl #6 │ │ │ │ │ + add.w r4, r9, r0 │ │ │ │ │ + add r0, r8 │ │ │ │ │ + str r4, [sp, #152] @ 0x98 │ │ │ │ │ vsub.f64 d2, d7, d5 │ │ │ │ │ vadd.f64 d7, d7, d5 │ │ │ │ │ - vldr d4, [lr] │ │ │ │ │ - add r1, r8 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - add.w r3, r8, ip │ │ │ │ │ - vstr d12, [sp, #360] @ 0x168 │ │ │ │ │ - add ip, sl │ │ │ │ │ - vstr d1, [sp, #376] @ 0x178 │ │ │ │ │ - add r5, r8 │ │ │ │ │ - str r3, [sp, #164] @ 0xa4 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + add.w r4, r9, fp │ │ │ │ │ + add fp, r8 │ │ │ │ │ + str r4, [sp, #156] @ 0x9c │ │ │ │ │ + str r0, [sp, #164] @ 0xa4 │ │ │ │ │ + str r1, [sp, #792] @ 0x318 │ │ │ │ │ vadd.f64 d1, d4, d5 │ │ │ │ │ vsub.f64 d4, d4, d5 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ - str r1, [sp, #172] @ 0xac │ │ │ │ │ - add r3, lr │ │ │ │ │ - str r3, [sp, #168] @ 0xa8 │ │ │ │ │ - vadd.f64 d12, d8, d1 │ │ │ │ │ - vsub.f64 d8, d8, d1 │ │ │ │ │ - vldr d9, [r3] │ │ │ │ │ - add.w r3, r8, fp, lsl #7 │ │ │ │ │ - str r3, [sp, #784] @ 0x310 │ │ │ │ │ - vstr d8, [sp, #424] @ 0x1a8 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + add.w r4, r5, r3 │ │ │ │ │ + vldr d9, [r4] │ │ │ │ │ + str r4, [sp, #160] @ 0xa0 │ │ │ │ │ + ldr r4, [sp, #56] @ 0x38 │ │ │ │ │ vsub.f64 d3, d5, d9 │ │ │ │ │ vadd.f64 d5, d5, d9 │ │ │ │ │ - vsub.f64 d9, d6, d7 │ │ │ │ │ + vadd.f64 d9, d8, d1 │ │ │ │ │ + add r4, r9 │ │ │ │ │ + vsub.f64 d8, d8, d1 │ │ │ │ │ vadd.f64 d14, d4, d5 │ │ │ │ │ - vsub.f64 d8, d3, d2 │ │ │ │ │ + vstr d9, [sp, #400] @ 0x190 │ │ │ │ │ + vsub.f64 d9, d6, d7 │ │ │ │ │ vstr d9, [sp, #408] @ 0x198 │ │ │ │ │ vsub.f64 d9, d4, d5 │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ - vadd.f64 d6, d2, d3 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - vstr d9, [sp, #416] @ 0x1a0 │ │ │ │ │ - vstr d6, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ - ldr r3, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d3, [r7] │ │ │ │ │ + add.w r0, r9, sl, lsl #7 │ │ │ │ │ + vldr d4, [r0] │ │ │ │ │ + str r0, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r0, [sp, #312] @ 0x138 │ │ │ │ │ + vstr d9, [sp, #416] @ 0x1a0 │ │ │ │ │ vadd.f64 d9, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ - add r3, r6 │ │ │ │ │ - vstr d5, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d7, [fp] │ │ │ │ │ + vstr d8, [sp, #424] @ 0x1a8 │ │ │ │ │ + vsub.f64 d8, d3, d2 │ │ │ │ │ + vadd.f64 d2, d2, d3 │ │ │ │ │ + vldr d3, [r1] │ │ │ │ │ + add.w r1, r8, r0 │ │ │ │ │ + add r3, r1 │ │ │ │ │ vstr d8, [sp, #432] @ 0x1b0 │ │ │ │ │ + vstr d5, [sp, #448] @ 0x1c0 │ │ │ │ │ vsub.f64 d5, d4, d7 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ - vldr d7, [r6] │ │ │ │ │ - vldr d2, [r3] │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ vstr d14, [sp, #440] @ 0x1b8 │ │ │ │ │ - vadd.f64 d8, d3, d7 │ │ │ │ │ - vsub.f64 d3, d3, d7 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ + vstr d2, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ vadd.f64 d14, d6, d4 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ - vldr d4, [sp, #432] @ 0x1b0 │ │ │ │ │ + vldr d4, [sp, #304] @ 0x130 │ │ │ │ │ + vadd.f64 d8, d3, d7 │ │ │ │ │ + vsub.f64 d3, d3, d7 │ │ │ │ │ + vldr d7, [ip] │ │ │ │ │ + vstr d14, [sp, #464] @ 0x1d0 │ │ │ │ │ vsub.f64 d1, d7, d2 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ vadd.f64 d2, d9, d8 │ │ │ │ │ vsub.f64 d9, d9, d8 │ │ │ │ │ - vstr d14, [sp, #464] @ 0x1d0 │ │ │ │ │ - vsub.f64 d8, d1, d5 │ │ │ │ │ - vadd.f64 d5, d5, d1 │ │ │ │ │ - vldr d1, [sp, #320] @ 0x140 │ │ │ │ │ vadd.f64 d14, d3, d7 │ │ │ │ │ vsub.f64 d7, d7, d3 │ │ │ │ │ - vsub.f64 d3, d1, d4 │ │ │ │ │ - vldr d4, [sp, #328] @ 0x148 │ │ │ │ │ - vstr d3, [sp, #672] @ 0x2a0 │ │ │ │ │ - vldr d3, [sp, #448] @ 0x1c0 │ │ │ │ │ - vsub.f64 d1, d4, d3 │ │ │ │ │ - vldr d3, [sp, #392] @ 0x188 │ │ │ │ │ - vsub.f64 d4, d6, d3 │ │ │ │ │ - vstr d1, [sp, #680] @ 0x2a8 │ │ │ │ │ - vldr d1, [sp, #376] @ 0x178 │ │ │ │ │ - vstr d4, [sp, #688] @ 0x2b0 │ │ │ │ │ - vsub.f64 d1, d8, d1 │ │ │ │ │ - vstr d1, [sp, #696] @ 0x2b8 │ │ │ │ │ - vldr d4, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d3, [sp, #432] @ 0x1b0 │ │ │ │ │ + vsub.f64 d8, d1, d5 │ │ │ │ │ + vadd.f64 d5, d5, d1 │ │ │ │ │ + vsub.f64 d4, d4, d3 │ │ │ │ │ + vldr d3, [sp, #320] @ 0x140 │ │ │ │ │ + vstr d4, [sp, #672] @ 0x2a0 │ │ │ │ │ + vldr d4, [sp, #448] @ 0x1c0 │ │ │ │ │ + vsub.f64 d3, d3, d4 │ │ │ │ │ + vstr d3, [sp, #680] @ 0x2a8 │ │ │ │ │ + vldr d1, [sp, #368] @ 0x170 │ │ │ │ │ + vstr d15, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d4, [sp, #384] @ 0x180 │ │ │ │ │ vstr d14, [sp, #472] @ 0x1d8 │ │ │ │ │ - vstr d15, [sp, #48] @ 0x30 │ │ │ │ │ + vsub.f64 d3, d8, d1 │ │ │ │ │ + vsub.f64 d4, d6, d4 │ │ │ │ │ + vstr d4, [sp, #688] @ 0x2b0 │ │ │ │ │ + vldr d4, [sp, #392] @ 0x188 │ │ │ │ │ + vstr d3, [sp, #696] @ 0x2b8 │ │ │ │ │ + vldr d3, [sp, #408] @ 0x198 │ │ │ │ │ vsub.f64 d1, d5, d4 │ │ │ │ │ - vldr d4, [sp, #464] @ 0x1d0 │ │ │ │ │ + vldr d4, [sp, #344] @ 0x158 │ │ │ │ │ vstr d1, [sp, #704] @ 0x2c0 │ │ │ │ │ - vldr d1, [sp, #352] @ 0x160 │ │ │ │ │ - vsub.f64 d4, d4, d1 │ │ │ │ │ - vldr d1, [sp, #296] @ 0x128 │ │ │ │ │ - vstr d4, [sp, #712] @ 0x2c8 │ │ │ │ │ - vldr d4, [sp, #408] @ 0x198 │ │ │ │ │ - vsub.f64 d3, d1, d4 │ │ │ │ │ - vldr d1, [sp, #456] @ 0x1c8 │ │ │ │ │ + vldr d1, [sp, #464] @ 0x1d0 │ │ │ │ │ + vsub.f64 d1, d1, d4 │ │ │ │ │ + vldr d4, [sp, #280] @ 0x118 │ │ │ │ │ + vsub.f64 d3, d4, d3 │ │ │ │ │ + vstr d1, [sp, #712] @ 0x2c8 │ │ │ │ │ + vldr d1, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d4, [sp, #424] @ 0x1a8 │ │ │ │ │ vstr d3, [sp, #720] @ 0x2d0 │ │ │ │ │ - vldr d3, [sp, #336] @ 0x150 │ │ │ │ │ - vsub.f64 d4, d3, d1 │ │ │ │ │ - vldr d1, [sp, #424] @ 0x1a8 │ │ │ │ │ - vstr d4, [sp, #728] @ 0x2d8 │ │ │ │ │ - vldr d4, [sp, #368] @ 0x170 │ │ │ │ │ - vsub.f64 d3, d9, d4 │ │ │ │ │ - vldr d4, [sp, #360] @ 0x168 │ │ │ │ │ - vsub.f64 d14, d14, d4 │ │ │ │ │ - vldr d4, [sp, #304] @ 0x130 │ │ │ │ │ - vstr d3, [sp, #736] @ 0x2e0 │ │ │ │ │ - vldr d3, [sp, #416] @ 0x1a0 │ │ │ │ │ + vldr d3, [sp, #456] @ 0x1c8 │ │ │ │ │ + vsub.f64 d1, d1, d3 │ │ │ │ │ + vldr d3, [sp, #360] @ 0x168 │ │ │ │ │ + vstr d1, [sp, #728] @ 0x2d8 │ │ │ │ │ + vsub.f64 d1, d9, d3 │ │ │ │ │ + vldr d3, [sp, #352] @ 0x160 │ │ │ │ │ + vstr d1, [sp, #736] @ 0x2e0 │ │ │ │ │ + vldr d1, [sp, #416] @ 0x1a0 │ │ │ │ │ + vsub.f64 d14, d14, d3 │ │ │ │ │ + vldr d3, [sp, #288] @ 0x120 │ │ │ │ │ vstr d14, [sp, #744] @ 0x2e8 │ │ │ │ │ - vsub.f64 d14, d4, d3 │ │ │ │ │ - vldr d3, [sp, #312] @ 0x138 │ │ │ │ │ - vstr d14, [sp, #752] @ 0x2f0 │ │ │ │ │ vsub.f64 d14, d3, d1 │ │ │ │ │ + vldr d1, [sp, #296] @ 0x128 │ │ │ │ │ vldr d3, [sp, #664] @ 0x298 │ │ │ │ │ + vstr d14, [sp, #752] @ 0x2f0 │ │ │ │ │ + vsub.f64 d14, d1, d4 │ │ │ │ │ + vldr d4, [sp, #400] @ 0x190 │ │ │ │ │ vstr d14, [sp, #760] @ 0x2f8 │ │ │ │ │ - vsub.f64 d1, d3, d12 │ │ │ │ │ + vsub.f64 d14, d3, d4 │ │ │ │ │ + vstr d14, [sp, #664] @ 0x298 │ │ │ │ │ vldr d14, [sp, #440] @ 0x1b8 │ │ │ │ │ - vadd.f64 d12, d3, d12 │ │ │ │ │ - vadd.f64 d14, d15, d14 │ │ │ │ │ - vldr d15, [sp, #344] @ 0x158 │ │ │ │ │ + vadd.f64 d15, d15, d14 │ │ │ │ │ + vstr d15, [sp, #768] @ 0x300 │ │ │ │ │ + vldr d15, [sp, #336] @ 0x150 │ │ │ │ │ + vldr d1, [sp, #376] @ 0x178 │ │ │ │ │ vsub.f64 d4, d2, d15 │ │ │ │ │ - vldr d15, [sp, #384] @ 0x180 │ │ │ │ │ - vstr d14, [sp, #664] @ 0x298 │ │ │ │ │ - vadd.f64 d14, d15, d7 │ │ │ │ │ - vldr d15, [sp, #328] @ 0x148 │ │ │ │ │ - vstr d14, [sp, #768] @ 0x300 │ │ │ │ │ + vldr d15, [sp, #320] @ 0x140 │ │ │ │ │ + vadd.f64 d14, d1, d7 │ │ │ │ │ + vldr d1, [sp, #384] @ 0x180 │ │ │ │ │ + vstr d14, [sp, #776] @ 0x308 │ │ │ │ │ + vadd.f64 d6, d1, d6 │ │ │ │ │ vldr d14, [sp, #448] @ 0x1c0 │ │ │ │ │ - vadd.f64 d14, d15, d14 │ │ │ │ │ - vldr d15, [sp, #392] @ 0x188 │ │ │ │ │ + vadd.f64 d15, d15, d14 │ │ │ │ │ + vmov.f64 d14, d6 │ │ │ │ │ vadd.f64 d6, d15, d6 │ │ │ │ │ - vstr d14, [sp, #328] @ 0x148 │ │ │ │ │ - vldr d15, [sp, #344] @ 0x158 │ │ │ │ │ - vldr d3, [sp, #416] @ 0x1a0 │ │ │ │ │ - vstr d6, [sp, #392] @ 0x188 │ │ │ │ │ - vadd.f64 d6, d14, d6 │ │ │ │ │ - vadd.f64 d2, d15, d2 │ │ │ │ │ + vstr d15, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d15, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d14, [sp, #384] @ 0x180 │ │ │ │ │ vldr d14, [sp, #472] @ 0x1d8 │ │ │ │ │ - vldr d15, [sp, #320] @ 0x140 │ │ │ │ │ vstr d6, [sp, #448] @ 0x1c0 │ │ │ │ │ - vadd.f64 d6, d12, d2 │ │ │ │ │ - vstr d6, [sp, #776] @ 0x308 │ │ │ │ │ - vldr d6, [sp, #304] @ 0x130 │ │ │ │ │ + vmov.f64 d6, d3 │ │ │ │ │ + vldr d3, [sp, #400] @ 0x190 │ │ │ │ │ + vadd.f64 d2, d15, d2 │ │ │ │ │ + vldr d15, [sp, #304] @ 0x130 │ │ │ │ │ + vadd.f64 d1, d6, d3 │ │ │ │ │ + vldr d3, [sp, #416] @ 0x1a0 │ │ │ │ │ + vadd.f64 d6, d1, d2 │ │ │ │ │ + vstr d6, [sp, #784] @ 0x310 │ │ │ │ │ + vldr d6, [sp, #288] @ 0x120 │ │ │ │ │ vadd.f64 d6, d6, d3 │ │ │ │ │ vmov.f64 d3, d6 │ │ │ │ │ - vldr d6, [sp, #360] @ 0x168 │ │ │ │ │ + vldr d6, [sp, #352] @ 0x160 │ │ │ │ │ + vstr d3, [sp, #288] @ 0x120 │ │ │ │ │ vadd.f64 d6, d6, d14 │ │ │ │ │ vldr d14, [sp, #456] @ 0x1c8 │ │ │ │ │ - vstr d3, [sp, #304] @ 0x130 │ │ │ │ │ - vstr d6, [sp, #344] @ 0x158 │ │ │ │ │ + vstr d6, [sp, #336] @ 0x150 │ │ │ │ │ vadd.f64 d6, d3, d6 │ │ │ │ │ - vldr d3, [sp, #400] @ 0x190 │ │ │ │ │ - vstr d6, [sp, #360] @ 0x168 │ │ │ │ │ + vldr d3, [sp, #392] @ 0x188 │ │ │ │ │ + vstr d6, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d6, [sp, #328] @ 0x148 │ │ │ │ │ vadd.f64 d5, d3, d5 │ │ │ │ │ - vldr d6, [sp, #336] @ 0x150 │ │ │ │ │ vadd.f64 d6, d6, d14 │ │ │ │ │ vldr d14, [sp, #432] @ 0x1b0 │ │ │ │ │ vadd.f64 d14, d15, d14 │ │ │ │ │ - vldr d15, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d15, [sp, #368] @ 0x170 │ │ │ │ │ vadd.f64 d3, d6, d5 │ │ │ │ │ vsub.f64 d6, d6, d5 │ │ │ │ │ vadd.f64 d8, d15, d8 │ │ │ │ │ - vldr d15, [sp, #408] @ 0x198 │ │ │ │ │ - vstr d14, [sp, #320] @ 0x140 │ │ │ │ │ - vstr d8, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d14, [sp, #304] @ 0x130 │ │ │ │ │ + vmov.f64 d15, d8 │ │ │ │ │ vadd.f64 d8, d14, d8 │ │ │ │ │ vldr d14, [sp, #464] @ 0x1d0 │ │ │ │ │ - vstr d8, [sp, #376] @ 0x178 │ │ │ │ │ - vldr d8, [sp, #296] @ 0x128 │ │ │ │ │ + vstr d15, [sp, #328] @ 0x148 │ │ │ │ │ + vldr d15, [sp, #408] @ 0x198 │ │ │ │ │ + vstr d8, [sp, #368] @ 0x170 │ │ │ │ │ + vldr d8, [sp, #280] @ 0x118 │ │ │ │ │ vadd.f64 d8, d8, d15 │ │ │ │ │ - vldr d15, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d15, [sp, #344] @ 0x158 │ │ │ │ │ vadd.f64 d14, d15, d14 │ │ │ │ │ - vldr d15, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d8, [sp, #296] @ 0x128 │ │ │ │ │ + vstr d8, [sp, #280] @ 0x118 │ │ │ │ │ + ldr r0, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d15, [sp, #312] @ 0x138 │ │ │ │ │ vadd.f64 d8, d8, d14 │ │ │ │ │ - vstr d14, [sp, #352] @ 0x160 │ │ │ │ │ + vstr d14, [sp, #344] @ 0x158 │ │ │ │ │ vldr d14, [sp, #440] @ 0x1b8 │ │ │ │ │ - vstr d8, [sp, #400] @ 0x190 │ │ │ │ │ + vstr d8, [sp, #392] @ 0x188 │ │ │ │ │ vsub.f64 d8, d15, d14 │ │ │ │ │ - vldr d15, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d15, [sp, #376] @ 0x178 │ │ │ │ │ vsub.f64 d7, d7, d15 │ │ │ │ │ - vstr d8, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d7, [sp, #384] @ 0x180 │ │ │ │ │ + vstr d8, [sp, #312] @ 0x138 │ │ │ │ │ + vmov.f64 d15, d7 │ │ │ │ │ vadd.f64 d7, d8, d7 │ │ │ │ │ - vldr d8, [sp, #312] @ 0x138 │ │ │ │ │ + vldr d8, [sp, #296] @ 0x128 │ │ │ │ │ + vstr d15, [sp, #376] @ 0x178 │ │ │ │ │ vldr d15, [sp, #424] @ 0x1a8 │ │ │ │ │ - ldr r1, [sp, #88] @ 0x58 │ │ │ │ │ vmov.f64 d14, d7 │ │ │ │ │ vadd.f64 d7, d8, d15 │ │ │ │ │ - vldr d15, [sp, #368] @ 0x170 │ │ │ │ │ - vldr d8, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d8, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d15, [sp, #360] @ 0x168 │ │ │ │ │ + vstr d7, [sp, #296] @ 0x128 │ │ │ │ │ vadd.f64 d9, d15, d9 │ │ │ │ │ - vstr d7, [sp, #312] @ 0x138 │ │ │ │ │ - vstr d9, [sp, #368] @ 0x170 │ │ │ │ │ + vadd.f64 d15, d1, d2 │ │ │ │ │ + vsub.f64 d1, d1, d2 │ │ │ │ │ + vstr d9, [sp, #360] @ 0x168 │ │ │ │ │ vadd.f64 d9, d7, d9 │ │ │ │ │ - vmov.f64 d15, d9 │ │ │ │ │ - vadd.f64 d9, d12, d2 │ │ │ │ │ - vsub.f64 d12, d12, d2 │ │ │ │ │ - vadd.f64 d7, d8, d9 │ │ │ │ │ - vldr d9, [sp, #288] @ 0x120 │ │ │ │ │ - vstr d15, [sp, #408] @ 0x198 │ │ │ │ │ - vstr d7, [sl] │ │ │ │ │ - vadd.f64 d7, d9, d3 │ │ │ │ │ - vldr d9, [sp, #264] @ 0x108 │ │ │ │ │ - vstr d7, [r8] │ │ │ │ │ - vldr d7, [sp, #256] @ 0x100 │ │ │ │ │ - vadd.f64 d8, d7, d15 │ │ │ │ │ - vldr d15, [sp, #376] @ 0x178 │ │ │ │ │ - vadd.f64 d9, d9, d15 │ │ │ │ │ + vstr d9, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d9, [sp, #216] @ 0xd8 │ │ │ │ │ + vadd.f64 d7, d9, d15 │ │ │ │ │ + vldr d9, [sp, #400] @ 0x190 │ │ │ │ │ vmov.f64 d15, d11 │ │ │ │ │ + vstr d7, [r8] │ │ │ │ │ + vadd.f64 d7, d8, d3 │ │ │ │ │ + vstr d7, [r9] │ │ │ │ │ + vldr d7, [sp, #240] @ 0xf0 │ │ │ │ │ + vadd.f64 d8, d7, d9 │ │ │ │ │ + vldr d9, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d7, [sp, #368] @ 0x170 │ │ │ │ │ + vadd.f64 d9, d9, d7 │ │ │ │ │ vmul.f64 d7, d11, d9 │ │ │ │ │ vldr d11, [sp, #488] @ 0x1e8 │ │ │ │ │ vnmls.f64 d7, d11, d8 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ vmul.f64 d7, d11, d9 │ │ │ │ │ + vldr d11, [sp, #392] @ 0x188 │ │ │ │ │ vmla.f64 d7, d15, d8 │ │ │ │ │ - vldr d11, [sp, #400] @ 0x190 │ │ │ │ │ - vldr d8, [sp, #240] @ 0xf0 │ │ │ │ │ - ldr r1, [sp, #92] @ 0x5c │ │ │ │ │ - vadd.f64 d9, d8, d11 │ │ │ │ │ - vldr d11, [sp, #360] @ 0x168 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ - vldr d7, [sp, #248] @ 0xf8 │ │ │ │ │ - ldr r4, [sp, #72] @ 0x48 │ │ │ │ │ - vstr d14, [sp, #72] @ 0x48 │ │ │ │ │ - vadd.f64 d8, d7, d11 │ │ │ │ │ - vmov.f64 d11, d10 │ │ │ │ │ - vmul.f64 d7, d10, d8 │ │ │ │ │ - vldr d10, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d8, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + ldr r2, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d7, [sp, #224] @ 0xe0 │ │ │ │ │ + vadd.f64 d9, d7, d11 │ │ │ │ │ + vldr d11, [sp, #352] @ 0x160 │ │ │ │ │ + vadd.f64 d8, d8, d11 │ │ │ │ │ + vldr d11, [sp, #200] @ 0xc8 │ │ │ │ │ + vmul.f64 d7, d11, d8 │ │ │ │ │ vnmls.f64 d7, d10, d9 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ vmul.f64 d7, d11, d9 │ │ │ │ │ - vmla.f64 d7, d10, d8 │ │ │ │ │ - vldr d10, [sp, #280] @ 0x118 │ │ │ │ │ + ldr r0, [sp, #92] @ 0x5c │ │ │ │ │ + vstr d14, [sp, #72] @ 0x48 │ │ │ │ │ + ldr r2, [sp, #68] @ 0x44 │ │ │ │ │ vldr d11, [sp, #448] @ 0x1c0 │ │ │ │ │ - vldr d9, [sp, #272] @ 0x110 │ │ │ │ │ - vadd.f64 d8, d10, d14 │ │ │ │ │ - vldr d14, [sp, #624] @ 0x270 │ │ │ │ │ - vadd.f64 d9, d9, d11 │ │ │ │ │ - vldr d11, [sp, #648] @ 0x288 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ - vmul.f64 d7, d14, d8 │ │ │ │ │ - ldr r4, [sp, #64] @ 0x40 │ │ │ │ │ - ldr r1, [sp, #104] @ 0x68 │ │ │ │ │ + vmla.f64 d7, d10, d8 │ │ │ │ │ + vldr d10, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d5, [sp, #272] @ 0x110 │ │ │ │ │ vldr d15, [sp, #728] @ 0x2d8 │ │ │ │ │ - vnmls.f64 d7, d11, d9 │ │ │ │ │ - vldr d5, [sp, #288] @ 0x120 │ │ │ │ │ - vldr d10, [sp, #232] @ 0xe8 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ - vmul.f64 d7, d14, d9 │ │ │ │ │ - vmla.f64 d7, d11, d8 │ │ │ │ │ - vmul.f64 d8, d4, d0 │ │ │ │ │ - vmul.f64 d4, d4, d13 │ │ │ │ │ + vadd.f64 d9, d10, d11 │ │ │ │ │ + vldr d10, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d11, [sp, #624] @ 0x270 │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ + ldr r0, [sp, #100] @ 0x64 │ │ │ │ │ + vadd.f64 d8, d10, d14 │ │ │ │ │ + vldr d10, [sp, #648] @ 0x288 │ │ │ │ │ vldr d14, [sp, #704] @ 0x2c0 │ │ │ │ │ - vldr d11, [sp, #776] @ 0x308 │ │ │ │ │ - vmla.f64 d8, d1, d13 │ │ │ │ │ - ldr r4, [sp, #168] @ 0xa8 │ │ │ │ │ - vmul.f64 d9, d14, d0 │ │ │ │ │ - vnmls.f64 d4, d1, d0 │ │ │ │ │ - vmla.f64 d9, d15, d13 │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ - vmul.f64 d7, d14, d13 │ │ │ │ │ - vstr d4, [sp, #64] @ 0x40 │ │ │ │ │ - vmov.f64 d4, d7 │ │ │ │ │ - vldr d7, [pc, #972] @ c98 │ │ │ │ │ - vnmls.f64 d4, d15, d0 │ │ │ │ │ - vmov.f64 d1, d7 │ │ │ │ │ - vmul.f64 d7, d6, d7 │ │ │ │ │ - vmul.f64 d12, d12, d1 │ │ │ │ │ + vldr d2, [sp, #784] @ 0x310 │ │ │ │ │ + vmul.f64 d7, d11, d8 │ │ │ │ │ + vnmls.f64 d7, d10, d9 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + vmul.f64 d7, d11, d9 │ │ │ │ │ + ldr r2, [sp, #52] @ 0x34 │ │ │ │ │ + vldr d9, [sp, #664] @ 0x298 │ │ │ │ │ + vmla.f64 d7, d10, d8 │ │ │ │ │ + vmul.f64 d8, d14, d13 │ │ │ │ │ + vmla.f64 d8, d15, d0 │ │ │ │ │ + vstr d7, [r0] │ │ │ │ │ + vmul.f64 d7, d4, d13 │ │ │ │ │ + vmul.f64 d4, d4, d0 │ │ │ │ │ + ldr r0, [sp, #128] @ 0x80 │ │ │ │ │ + vnmls.f64 d4, d9, d13 │ │ │ │ │ + vmla.f64 d7, d9, d0 │ │ │ │ │ + vmov.f64 d11, d4 │ │ │ │ │ + vmul.f64 d4, d14, d0 │ │ │ │ │ + vnmls.f64 d4, d15, d13 │ │ │ │ │ + vldr d15, [sp] │ │ │ │ │ vmov.f64 d14, d4 │ │ │ │ │ + vldr d4, [pc, #988] @ cf0 │ │ │ │ │ + vmul.f64 d6, d6, d4 │ │ │ │ │ + vmov.f64 d9, d4 │ │ │ │ │ vmov.f64 d4, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vmul.f64 d1, d1, d9 │ │ │ │ │ vmls.f64 d5, d3, d4 │ │ │ │ │ - vmls.f64 d10, d11, d4 │ │ │ │ │ - vldr d11, [sp, #496] @ 0x1f0 │ │ │ │ │ - vmov.f64 d6, d5 │ │ │ │ │ - vadd.f64 d5, d7, d5 │ │ │ │ │ - vadd.f64 d4, d12, d10 │ │ │ │ │ - vsub.f64 d1, d5, d8 │ │ │ │ │ - vsub.f64 d6, d6, d7 │ │ │ │ │ - vsub.f64 d7, d10, d12 │ │ │ │ │ - vldr d10, [sp] │ │ │ │ │ - vadd.f64 d2, d9, d4 │ │ │ │ │ - vldr d12, [sp, #40] @ 0x28 │ │ │ │ │ - vadd.f64 d5, d8, d5 │ │ │ │ │ - vldr d8, [sp, #632] @ 0x278 │ │ │ │ │ - vmul.f64 d3, d10, d1 │ │ │ │ │ - vsub.f64 d4, d4, d9 │ │ │ │ │ - vnmls.f64 d3, d12, d2 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - vmul.f64 d3, d12, d1 │ │ │ │ │ - vmla.f64 d3, d10, d2 │ │ │ │ │ - vldr d12, [sp, #64] @ 0x40 │ │ │ │ │ + vmov.f64 d10, d4 │ │ │ │ │ + vmov.f64 d3, d10 │ │ │ │ │ + vldr d10, [sp, #40] @ 0x28 │ │ │ │ │ + vadd.f64 d4, d6, d5 │ │ │ │ │ + vsub.f64 d5, d5, d6 │ │ │ │ │ + vldr d6, [sp, #216] @ 0xd8 │ │ │ │ │ + vmls.f64 d6, d2, d3 │ │ │ │ │ + vsub.f64 d9, d4, d7 │ │ │ │ │ + vadd.f64 d4, d7, d4 │ │ │ │ │ + vmul.f64 d2, d15, d9 │ │ │ │ │ + vadd.f64 d3, d1, d6 │ │ │ │ │ + vsub.f64 d6, d6, d1 │ │ │ │ │ + vadd.f64 d1, d8, d3 │ │ │ │ │ + vsub.f64 d3, d3, d8 │ │ │ │ │ + vldr d8, [sp, #656] @ 0x290 │ │ │ │ │ + vnmls.f64 d2, d10, d1 │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ + vmul.f64 d2, d10, d9 │ │ │ │ │ + vadd.f64 d9, d11, d5 │ │ │ │ │ ldr r2, [sp, #80] @ 0x50 │ │ │ │ │ - vsub.f64 d2, d7, d14 │ │ │ │ │ - vldr d10, [sp, #512] @ 0x200 │ │ │ │ │ - vadd.f64 d7, d14, d7 │ │ │ │ │ - vadd.f64 d1, d12, d6 │ │ │ │ │ - vsub.f64 d6, d6, d12 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - vmul.f64 d3, d11, d1 │ │ │ │ │ - ldr r2, [sp, #132] @ 0x84 │ │ │ │ │ - vnmls.f64 d3, d10, d2 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - vmul.f64 d3, d10, d1 │ │ │ │ │ - vmla.f64 d3, d11, d2 │ │ │ │ │ - ldr r2, [sp, #136] @ 0x88 │ │ │ │ │ - vldr d10, [sp, #656] @ 0x290 │ │ │ │ │ - vmov.f64 d2, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vmov.f64 d10, d11 │ │ │ │ │ + vldr d11, [sp, #512] @ 0x200 │ │ │ │ │ + vmla.f64 d2, d15, d1 │ │ │ │ │ + vldr d15, [sp, #496] @ 0x1f0 │ │ │ │ │ + vsub.f64 d1, d6, d14 │ │ │ │ │ + vsub.f64 d5, d5, d10 │ │ │ │ │ + vadd.f64 d6, d14, d6 │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ + vmul.f64 d2, d15, d9 │ │ │ │ │ + ldr r2, [sp, #160] @ 0xa0 │ │ │ │ │ + vnmls.f64 d2, d11, d1 │ │ │ │ │ + vstr d2, [r0] │ │ │ │ │ + vmul.f64 d2, d11, d9 │ │ │ │ │ + vmla.f64 d2, d15, d1 │ │ │ │ │ + vstr d2, [r6] │ │ │ │ │ + vldr d2, [sp, #632] @ 0x278 │ │ │ │ │ + vmul.f64 d7, d2, d4 │ │ │ │ │ + vnmls.f64 d7, d8, d3 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + vmul.f64 d7, d8, d4 │ │ │ │ │ + ldr r2, [sp, #56] @ 0x38 │ │ │ │ │ vldr d11, [sp, #520] @ 0x208 │ │ │ │ │ - vstr d3, [r2] │ │ │ │ │ - vmul.f64 d3, d8, d5 │ │ │ │ │ - vmul.f64 d5, d10, d5 │ │ │ │ │ - vmla.f64 d5, d8, d4 │ │ │ │ │ - vnmls.f64 d3, d10, d4 │ │ │ │ │ - vldr d4, [sp, #528] @ 0x210 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ - ldr r4, [sp, #784] @ 0x310 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ - vmul.f64 d5, d11, d6 │ │ │ │ │ - vmul.f64 d6, d4, d6 │ │ │ │ │ - ldr r4, [sp, #160] @ 0xa0 │ │ │ │ │ - vmla.f64 d6, d11, d7 │ │ │ │ │ - vnmls.f64 d5, d4, d7 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ - vldr d11, [sp, #712] @ 0x2c8 │ │ │ │ │ - vldr d8, [sp, #344] @ 0x158 │ │ │ │ │ - vldr d15, [sp, #744] @ 0x2e8 │ │ │ │ │ - vmul.f64 d7, d11, d13 │ │ │ │ │ - vmul.f64 d3, d11, d0 │ │ │ │ │ - vldr d11, [sp, #304] @ 0x130 │ │ │ │ │ - vmul.f64 d12, d15, d13 │ │ │ │ │ - vldr d10, [sp, #752] @ 0x2f0 │ │ │ │ │ - vldr d4, [sp, #352] @ 0x160 │ │ │ │ │ - vmul.f64 d9, d15, d0 │ │ │ │ │ - vsub.f64 d6, d11, d8 │ │ │ │ │ - vldr d11, [sp, #360] @ 0x168 │ │ │ │ │ - vmov.f64 d5, d7 │ │ │ │ │ - vldr d7, [sp, #248] @ 0xf8 │ │ │ │ │ - vmla.f64 d9, d10, d13 │ │ │ │ │ - vnmls.f64 d12, d10, d0 │ │ │ │ │ - vmls.f64 d7, d11, d2 │ │ │ │ │ - vldr d11, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d8, [pc, #664] @ c98 │ │ │ │ │ + vmla.f64 d7, d2, d3 │ │ │ │ │ + vmov.f64 d3, #80 @ 0x3e800000 0.250 │ │ │ │ │ + ldr r0, [sp, #124] @ 0x7c │ │ │ │ │ + vldr d2, [sp, #528] @ 0x210 │ │ │ │ │ vldr d14, [sp, #720] @ 0x2d0 │ │ │ │ │ - ldr r2, [sp, #172] @ 0xac │ │ │ │ │ - vsub.f64 d10, d11, d4 │ │ │ │ │ - vldr d11, [sp, #400] @ 0x190 │ │ │ │ │ - vmul.f64 d6, d6, d8 │ │ │ │ │ - vmla.f64 d3, d14, d13 │ │ │ │ │ - vnmls.f64 d5, d14, d0 │ │ │ │ │ - ldr r0, [sp, #100] @ 0x64 │ │ │ │ │ + vmov.f64 d1, d3 │ │ │ │ │ + vldr d15, [sp, #744] @ 0x2e8 │ │ │ │ │ + vldr d8, [sp, #752] @ 0x2f0 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + vmul.f64 d7, d11, d5 │ │ │ │ │ + ldr r2, [sp, #164] @ 0xa4 │ │ │ │ │ + vnmls.f64 d7, d2, d6 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + vmul.f64 d7, d2, d5 │ │ │ │ │ + vmul.f64 d5, d15, d13 │ │ │ │ │ + ldr r2, [sp, #152] @ 0x98 │ │ │ │ │ + vmla.f64 d7, d11, d6 │ │ │ │ │ + vldr d11, [sp, #712] @ 0x2c8 │ │ │ │ │ + vmla.f64 d5, d8, d0 │ │ │ │ │ + vmul.f64 d6, d11, d13 │ │ │ │ │ + vstr d7, [r2] │ │ │ │ │ + vmul.f64 d7, d11, d0 │ │ │ │ │ + vldr d11, [sp, #288] @ 0x120 │ │ │ │ │ + vmla.f64 d6, d14, d0 │ │ │ │ │ + vmov.f64 d2, d7 │ │ │ │ │ + vmul.f64 d7, d15, d0 │ │ │ │ │ + vnmls.f64 d2, d14, d13 │ │ │ │ │ + vmov.f64 d9, d7 │ │ │ │ │ + vldr d7, [sp, #232] @ 0xe8 │ │ │ │ │ + vnmls.f64 d9, d8, d13 │ │ │ │ │ + vldr d8, [pc, #688] @ cf0 │ │ │ │ │ + vstr d2, [sp, #40] @ 0x28 │ │ │ │ │ + vmov.f64 d15, d9 │ │ │ │ │ + vldr d2, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d9, [sp] │ │ │ │ │ + vsub.f64 d4, d11, d2 │ │ │ │ │ + vldr d2, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d11, [sp, #352] @ 0x160 │ │ │ │ │ + vmul.f64 d4, d4, d8 │ │ │ │ │ + vmls.f64 d7, d11, d3 │ │ │ │ │ + vldr d11, [sp, #280] @ 0x118 │ │ │ │ │ + vsub.f64 d10, d11, d2 │ │ │ │ │ + vldr d2, [sp, #224] @ 0xe0 │ │ │ │ │ + vldr d11, [sp, #392] @ 0x188 │ │ │ │ │ + vadd.f64 d3, d4, d7 │ │ │ │ │ + vsub.f64 d14, d7, d4 │ │ │ │ │ vmul.f64 d10, d10, d8 │ │ │ │ │ - vldr d8, [sp, #240] @ 0xf0 │ │ │ │ │ - vmls.f64 d8, d11, d2 │ │ │ │ │ - vadd.f64 d14, d6, d7 │ │ │ │ │ + vmls.f64 d2, d11, d1 │ │ │ │ │ vldr d11, [sp, #8] │ │ │ │ │ - vsub.f64 d7, d7, d6 │ │ │ │ │ - vadd.f64 d1, d3, d14 │ │ │ │ │ - vmov.f64 d15, d5 │ │ │ │ │ - vadd.f64 d4, d10, d8 │ │ │ │ │ - vsub.f64 d6, d8, d10 │ │ │ │ │ - vmul.f64 d2, d11, d1 │ │ │ │ │ - vldr d10, [sp, #176] @ 0xb0 │ │ │ │ │ - vsub.f64 d8, d4, d9 │ │ │ │ │ - vadd.f64 d4, d9, d4 │ │ │ │ │ - vldr d9, [sp, #200] @ 0xc8 │ │ │ │ │ - vnmls.f64 d2, d10, d8 │ │ │ │ │ - vstr d2, [lr] │ │ │ │ │ - vmul.f64 d2, d11, d8 │ │ │ │ │ - vmla.f64 d2, d10, d1 │ │ │ │ │ - vadd.f64 d1, d5, d7 │ │ │ │ │ + vadd.f64 d8, d6, d3 │ │ │ │ │ + vsub.f64 d3, d3, d6 │ │ │ │ │ + vmul.f64 d1, d11, d8 │ │ │ │ │ + vmov.f64 d4, d2 │ │ │ │ │ + vadd.f64 d2, d10, d2 │ │ │ │ │ + vsub.f64 d4, d4, d10 │ │ │ │ │ + vldr d10, [sp, #168] @ 0xa8 │ │ │ │ │ + vsub.f64 d9, d2, d5 │ │ │ │ │ + vadd.f64 d2, d5, d2 │ │ │ │ │ + vnmls.f64 d1, d10, d9 │ │ │ │ │ + vstr d1, [r5] │ │ │ │ │ + vmul.f64 d1, d11, d9 │ │ │ │ │ + vsub.f64 d9, d4, d15 │ │ │ │ │ + vldr d15, [sp, #40] @ 0x28 │ │ │ │ │ + ldr r5, [sp, #132] @ 0x84 │ │ │ │ │ + vmla.f64 d1, d10, d8 │ │ │ │ │ vldr d10, [sp, #600] @ 0x258 │ │ │ │ │ - vsub.f64 d8, d6, d12 │ │ │ │ │ + vadd.f64 d8, d15, d14 │ │ │ │ │ vldr d11, [sp, #616] @ 0x268 │ │ │ │ │ - vsub.f64 d5, d14, d3 │ │ │ │ │ - vsub.f64 d7, d7, d15 │ │ │ │ │ - vadd.f64 d6, d12, d6 │ │ │ │ │ - vldr d12, [sp, #576] @ 0x240 │ │ │ │ │ - vmul.f64 d3, d9, d5 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - vmul.f64 d2, d10, d1 │ │ │ │ │ - ldr r2, [sp, #140] @ 0x8c │ │ │ │ │ - vnmls.f64 d2, d11, d8 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - vmul.f64 d2, d10, d8 │ │ │ │ │ - vmla.f64 d2, d11, d1 │ │ │ │ │ - ldr r2, [sp, #128] @ 0x80 │ │ │ │ │ - vldr d11, [sp, #568] @ 0x238 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - vldr d2, [sp, #32] │ │ │ │ │ - ldr r2, [sp, #56] @ 0x38 │ │ │ │ │ - vnmls.f64 d3, d2, d4 │ │ │ │ │ - vmul.f64 d4, d9, d4 │ │ │ │ │ - vmla.f64 d4, d2, d5 │ │ │ │ │ - vmul.f64 d5, d12, d7 │ │ │ │ │ + vstr d1, [r4] │ │ │ │ │ + vmul.f64 d1, d10, d8 │ │ │ │ │ + vnmls.f64 d1, d11, d9 │ │ │ │ │ + vstr d1, [r5] │ │ │ │ │ + vmul.f64 d1, d10, d9 │ │ │ │ │ vmov.f64 d9, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vnmls.f64 d5, d11, d6 │ │ │ │ │ - vmul.f64 d6, d12, d6 │ │ │ │ │ - vmla.f64 d6, d11, d7 │ │ │ │ │ - vstr d3, [r0] │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - vstr d5, [ip] │ │ │ │ │ - ldr r2, [sp, #164] @ 0xa4 │ │ │ │ │ + vmla.f64 d1, d11, d8 │ │ │ │ │ + vstr d1, [r0] │ │ │ │ │ + vldr d11, [sp] │ │ │ │ │ + vldr d5, [sp, #24] │ │ │ │ │ + vldr d7, [sp, #32] │ │ │ │ │ + vadd.f64 d4, d11, d4 │ │ │ │ │ + vmov.f64 d11, d15 │ │ │ │ │ + ldr r2, [sp, #60] @ 0x3c │ │ │ │ │ + vmul.f64 d6, d5, d3 │ │ │ │ │ + vldr d15, [sp, #576] @ 0x240 │ │ │ │ │ + vldr d8, [sp, #400] @ 0x190 │ │ │ │ │ + vnmls.f64 d6, d7, d2 │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ + vmul.f64 d6, d5, d2 │ │ │ │ │ + ldr r7, [sp, #156] @ 0x9c │ │ │ │ │ + vldr d5, [sp, #304] @ 0x130 │ │ │ │ │ + vmla.f64 d6, d7, d3 │ │ │ │ │ + vsub.f64 d7, d14, d11 │ │ │ │ │ + vldr d11, [sp, #568] @ 0x238 │ │ │ │ │ + vldr d14, [sp, #672] @ 0x2a0 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + vmul.f64 d6, d15, d7 │ │ │ │ │ + ldr r2, [sp, #112] @ 0x70 │ │ │ │ │ + vnmls.f64 d6, d11, d4 │ │ │ │ │ + vstr d6, [fp] │ │ │ │ │ + vmul.f64 d6, d15, d4 │ │ │ │ │ + vldr d4, [sp, #192] @ 0xc0 │ │ │ │ │ vldr d15, [sp, #696] @ 0x2b8 │ │ │ │ │ - vldr d12, [sp, #672] @ 0x2a0 │ │ │ │ │ + vmla.f64 d6, d11, d7 │ │ │ │ │ vldr d11, [sp, #736] @ 0x2e0 │ │ │ │ │ - vmul.f64 d2, d15, d13 │ │ │ │ │ - vldr d10, [sp, #760] @ 0x2f8 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ - vmul.f64 d3, d11, d13 │ │ │ │ │ - vmul.f64 d11, d11, d0 │ │ │ │ │ - vmla.f64 d11, d10, d13 │ │ │ │ │ - vldr d6, [sp, #264] @ 0x108 │ │ │ │ │ - vnmls.f64 d2, d12, d0 │ │ │ │ │ - vldr d8, [sp, #336] @ 0x150 │ │ │ │ │ - vldr d5, [pc, #384] @ c98 │ │ │ │ │ - ldr r2, [sp, #116] @ 0x74 │ │ │ │ │ - ldr r0, [sp, #120] @ 0x78 │ │ │ │ │ - ldr r1, [sp, #108] @ 0x6c │ │ │ │ │ - ldr r4, [sp, #60] @ 0x3c │ │ │ │ │ - vmov.f64 d14, d2 │ │ │ │ │ - vmov.f64 d2, d3 │ │ │ │ │ - vldr d3, [sp, #184] @ 0xb8 │ │ │ │ │ - vnmls.f64 d2, d10, d0 │ │ │ │ │ - vmul.f64 d10, d15, d0 │ │ │ │ │ - vmla.f64 d10, d12, d13 │ │ │ │ │ - vldr d12, [sp, #376] @ 0x178 │ │ │ │ │ - vmov.f64 d15, d9 │ │ │ │ │ - vmls.f64 d6, d12, d9 │ │ │ │ │ - vldr d12, [sp, #320] @ 0x140 │ │ │ │ │ - vsub.f64 d7, d12, d8 │ │ │ │ │ - vldr d12, [sp, #408] @ 0x198 │ │ │ │ │ - vldr d8, [sp, #368] @ 0x170 │ │ │ │ │ - vstr d2, [sp] │ │ │ │ │ + vmul.f64 d2, d15, d0 │ │ │ │ │ + vmul.f64 d10, d15, d13 │ │ │ │ │ + vldr d15, [sp, #248] @ 0xf8 │ │ │ │ │ + vmul.f64 d3, d11, d0 │ │ │ │ │ + vmul.f64 d11, d11, d13 │ │ │ │ │ + vnmls.f64 d2, d14, d13 │ │ │ │ │ + vmla.f64 d10, d14, d0 │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ + vldr d6, [sp, #760] @ 0x2f8 │ │ │ │ │ + vnmls.f64 d3, d6, d13 │ │ │ │ │ + vmla.f64 d11, d6, d0 │ │ │ │ │ + vldr d6, [sp, #368] @ 0x170 │ │ │ │ │ + vmls.f64 d15, d6, d9 │ │ │ │ │ + vstr d3, [sp] │ │ │ │ │ + vmov.f64 d6, d15 │ │ │ │ │ + vldr d15, [sp, #328] @ 0x148 │ │ │ │ │ + vsub.f64 d7, d5, d15 │ │ │ │ │ + vldr d5, [pc, #332] @ cf0 │ │ │ │ │ vmul.f64 d7, d7, d5 │ │ │ │ │ - vsub.f64 d4, d6, d7 │ │ │ │ │ + vmov.f64 d15, d5 │ │ │ │ │ + vsub.f64 d14, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [sp, #256] @ 0x100 │ │ │ │ │ - vmls.f64 d7, d12, d9 │ │ │ │ │ - vldr d12, [sp, #312] @ 0x138 │ │ │ │ │ - vadd.f64 d9, d2, d4 │ │ │ │ │ - vldr d2, [sp, #192] @ 0xc0 │ │ │ │ │ - vsub.f64 d1, d12, d8 │ │ │ │ │ - vmov.f64 d12, d5 │ │ │ │ │ + vldr d7, [sp, #240] @ 0xf0 │ │ │ │ │ + vmls.f64 d7, d8, d9 │ │ │ │ │ + vldr d9, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d8, [sp, #360] @ 0x168 │ │ │ │ │ + vsub.f64 d1, d9, d8 │ │ │ │ │ + vadd.f64 d9, d3, d14 │ │ │ │ │ + vldr d3, [sp, #184] @ 0xb8 │ │ │ │ │ vmul.f64 d1, d1, d5 │ │ │ │ │ vsub.f64 d5, d7, d1 │ │ │ │ │ vadd.f64 d7, d7, d1 │ │ │ │ │ - vmul.f64 d1, d2, d9 │ │ │ │ │ - vsub.f64 d8, d5, d14 │ │ │ │ │ - vadd.f64 d5, d14, d5 │ │ │ │ │ + vmul.f64 d1, d4, d9 │ │ │ │ │ + vsub.f64 d8, d5, d2 │ │ │ │ │ + vadd.f64 d5, d2, d5 │ │ │ │ │ vnmls.f64 d1, d3, d8 │ │ │ │ │ vstr d1, [r2] │ │ │ │ │ vmul.f64 d1, d3, d9 │ │ │ │ │ - vmla.f64 d1, d2, d8 │ │ │ │ │ vsub.f64 d9, d6, d11 │ │ │ │ │ - vldr d2, [sp, #640] @ 0x280 │ │ │ │ │ - vadd.f64 d8, d10, d7 │ │ │ │ │ - vldr d3, [sp, #592] @ 0x250 │ │ │ │ │ + ldr r2, [sp, #116] @ 0x74 │ │ │ │ │ vadd.f64 d6, d11, d6 │ │ │ │ │ + vldr d3, [sp, #592] @ 0x250 │ │ │ │ │ + vmla.f64 d1, d4, d8 │ │ │ │ │ + vldr d4, [sp, #640] @ 0x280 │ │ │ │ │ + vadd.f64 d8, d10, d7 │ │ │ │ │ vsub.f64 d7, d7, d10 │ │ │ │ │ - vstr d1, [r0] │ │ │ │ │ - vmul.f64 d1, d2, d9 │ │ │ │ │ + vstr d1, [r2] │ │ │ │ │ + vmul.f64 d1, d4, d9 │ │ │ │ │ + ldr r6, [sp, #104] @ 0x68 │ │ │ │ │ + ldr r4, [sp, #64] @ 0x40 │ │ │ │ │ vnmls.f64 d1, d3, d8 │ │ │ │ │ - vstr d1, [r1] │ │ │ │ │ + ldrd r5, r2, [sp, #136] @ 0x88 │ │ │ │ │ + ldr r0, [sp, #144] @ 0x90 │ │ │ │ │ + vstr d1, [r6] │ │ │ │ │ vmul.f64 d1, d3, d9 │ │ │ │ │ - vmla.f64 d1, d2, d8 │ │ │ │ │ - vldr d2, [sp] │ │ │ │ │ - vsub.f64 d4, d4, d2 │ │ │ │ │ - vldr d2, [sp, #584] @ 0x248 │ │ │ │ │ + vmov.f64 d9, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vldr d3, [sp] │ │ │ │ │ + vmla.f64 d1, d4, d8 │ │ │ │ │ + vldr d8, [sp, #584] @ 0x248 │ │ │ │ │ + vsub.f64 d4, d14, d3 │ │ │ │ │ + vldr d14, [sp, #176] @ 0xb0 │ │ │ │ │ vstr d1, [r4] │ │ │ │ │ vldr d1, [sp, #608] @ 0x260 │ │ │ │ │ - ldr r4, [sp, #152] @ 0x98 │ │ │ │ │ vmul.f64 d3, d1, d4 │ │ │ │ │ - vmul.f64 d4, d2, d4 │ │ │ │ │ + vmul.f64 d4, d8, d4 │ │ │ │ │ + vnmls.f64 d3, d8, d5 │ │ │ │ │ vmla.f64 d4, d1, d5 │ │ │ │ │ - vnmls.f64 d3, d2, d5 │ │ │ │ │ + vldr d1, [sp, #768] @ 0x300 │ │ │ │ │ + vldr d8, [sp, #776] @ 0x308 │ │ │ │ │ + vmul.f64 d11, d8, d0 │ │ │ │ │ vstr d3, [r3] │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - vldr d2, [sp, #504] @ 0x1f8 │ │ │ │ │ - vldr d3, [sp, #480] @ 0x1e0 │ │ │ │ │ - ldr r0, [sp, #148] @ 0x94 │ │ │ │ │ - vmul.f64 d5, d2, d6 │ │ │ │ │ + vldr d3, [sp, #504] @ 0x1f8 │ │ │ │ │ + vstr d4, [r0] │ │ │ │ │ + vldr d4, [sp, #480] @ 0x1e0 │ │ │ │ │ + vnmls.f64 d11, d1, d13 │ │ │ │ │ + vmul.f64 d5, d3, d6 │ │ │ │ │ + vmul.f64 d6, d4, d6 │ │ │ │ │ + vnmls.f64 d5, d4, d7 │ │ │ │ │ + vldr d4, [sp, #688] @ 0x2b0 │ │ │ │ │ + vmla.f64 d6, d3, d7 │ │ │ │ │ + vldr d3, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d7, [sp, #680] @ 0x2a8 │ │ │ │ │ + vmul.f64 d10, d4, d0 │ │ │ │ │ + vstr d5, [r2] │ │ │ │ │ + vldr d5, [sp, #264] @ 0x108 │ │ │ │ │ + vnmls.f64 d10, d7, d13 │ │ │ │ │ + ldr r2, [sp, #792] @ 0x318 │ │ │ │ │ + vmls.f64 d5, d3, d9 │ │ │ │ │ + vldr d3, [sp, #376] @ 0x178 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + vmul.f64 d6, d4, d13 │ │ │ │ │ + vmul.f64 d4, d8, d13 │ │ │ │ │ + vmov.f64 d8, d15 │ │ │ │ │ + vldr d15, [sp, #320] @ 0x140 │ │ │ │ │ + vmla.f64 d6, d7, d0 │ │ │ │ │ + vldr d7, [sp, #312] @ 0x138 │ │ │ │ │ + vmla.f64 d4, d1, d0 │ │ │ │ │ vldr d1, [sp, #448] @ 0x1c0 │ │ │ │ │ - vmul.f64 d6, d3, d6 │ │ │ │ │ - ldr r2, [sp, #144] @ 0x90 │ │ │ │ │ - vmla.f64 d6, d2, d7 │ │ │ │ │ - vldr d2, [sp, #680] @ 0x2a8 │ │ │ │ │ - vldr d14, [sp, #216] @ 0xd8 │ │ │ │ │ - vnmls.f64 d5, d3, d7 │ │ │ │ │ - vldr d7, [sp, #688] @ 0x2b0 │ │ │ │ │ - vldr d3, [sp, #768] @ 0x300 │ │ │ │ │ - ldr r3, [sp, #96] @ 0x60 │ │ │ │ │ - vmul.f64 d10, d7, d13 │ │ │ │ │ - ldr r1, [sp, #124] @ 0x7c │ │ │ │ │ - vmul.f64 d11, d3, d13 │ │ │ │ │ - vmul.f64 d4, d3, d0 │ │ │ │ │ - vnmls.f64 d10, d2, d0 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ - vstr d6, [r7] │ │ │ │ │ - vmul.f64 d6, d7, d0 │ │ │ │ │ - vldr d5, [sp, #664] @ 0x298 │ │ │ │ │ - vmla.f64 d6, d2, d13 │ │ │ │ │ - vldr d2, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d7, [sp, #384] @ 0x180 │ │ │ │ │ - vmla.f64 d4, d5, d13 │ │ │ │ │ - vnmls.f64 d11, d5, d0 │ │ │ │ │ - vldr d5, [sp, #280] @ 0x118 │ │ │ │ │ - vmls.f64 d5, d2, d15 │ │ │ │ │ - vldr d2, [sp, #48] @ 0x30 │ │ │ │ │ - vsub.f64 d7, d2, d7 │ │ │ │ │ - vmul.f64 d7, d7, d12 │ │ │ │ │ + vsub.f64 d7, d7, d3 │ │ │ │ │ + vmul.f64 d7, d7, d8 │ │ │ │ │ vsub.f64 d3, d5, d7 │ │ │ │ │ - vadd.f64 d5, d5, d7 │ │ │ │ │ - vldr d7, [sp, #272] @ 0x110 │ │ │ │ │ - vmls.f64 d7, d1, d15 │ │ │ │ │ - vldr d15, [sp, #392] @ 0x188 │ │ │ │ │ - b.n ca0 │ │ │ │ │ + b.n cf8 │ │ │ │ │ + nop │ │ │ │ │ + nop.w │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ - vldr d1, [sp, #328] @ 0x148 │ │ │ │ │ + vadd.f64 d5, d5, d7 │ │ │ │ │ + vldr d7, [sp, #256] @ 0x100 │ │ │ │ │ + vmls.f64 d7, d1, d9 │ │ │ │ │ + vldr d1, [sp, #384] @ 0x180 │ │ │ │ │ + vsub.f64 d1, d15, d1 │ │ │ │ │ + vldr d15, [sp, #16] │ │ │ │ │ + vmul.f64 d1, d1, d8 │ │ │ │ │ vsub.f64 d8, d3, d10 │ │ │ │ │ vadd.f64 d3, d10, d3 │ │ │ │ │ - vsub.f64 d1, d1, d15 │ │ │ │ │ - vldr d15, [sp, #24] │ │ │ │ │ - vmul.f64 d1, d1, d12 │ │ │ │ │ - vldr d12, [sp, #16] │ │ │ │ │ vsub.f64 d2, d7, d1 │ │ │ │ │ vadd.f64 d7, d7, d1 │ │ │ │ │ - vmul.f64 d1, d15, d8 │ │ │ │ │ + vmul.f64 d1, d14, d8 │ │ │ │ │ vadd.f64 d9, d11, d2 │ │ │ │ │ vsub.f64 d2, d2, d11 │ │ │ │ │ - vnmls.f64 d1, d12, d9 │ │ │ │ │ - vstr d1, [r6] │ │ │ │ │ - vmul.f64 d1, d15, d9 │ │ │ │ │ - vmla.f64 d1, d12, d8 │ │ │ │ │ - vsub.f64 d8, d5, d6 │ │ │ │ │ - vldr d12, [sp, #224] @ 0xe0 │ │ │ │ │ + vnmls.f64 d1, d15, d9 │ │ │ │ │ + vstr d1, [r1] │ │ │ │ │ + vmul.f64 d1, d14, d9 │ │ │ │ │ vadd.f64 d9, d4, d7 │ │ │ │ │ - ldr r6, [sp, #84] @ 0x54 │ │ │ │ │ - vadd.f64 d6, d6, d5 │ │ │ │ │ vsub.f64 d7, d7, d4 │ │ │ │ │ - vstr d1, [r2] │ │ │ │ │ + vmla.f64 d1, d15, d8 │ │ │ │ │ + vsub.f64 d8, d5, d6 │ │ │ │ │ + vadd.f64 d6, d6, d5 │ │ │ │ │ + vstr d1, [r5] │ │ │ │ │ vmul.f64 d1, d12, d8 │ │ │ │ │ + ldr r4, [sp, #84] @ 0x54 │ │ │ │ │ + vldr d14, [sp, #208] @ 0xd0 │ │ │ │ │ + ldr r3, [sp, #96] @ 0x60 │ │ │ │ │ + ldr r6, [sp, #108] @ 0x6c │ │ │ │ │ vnmls.f64 d1, d14, d9 │ │ │ │ │ + vldr d4, [sp, #544] @ 0x220 │ │ │ │ │ + ldr r1, [sp, #120] @ 0x78 │ │ │ │ │ + ldr r0, [sp, #148] @ 0x94 │ │ │ │ │ + vmul.f64 d5, d4, d6 │ │ │ │ │ vstr d1, [r3] │ │ │ │ │ vmul.f64 d1, d12, d9 │ │ │ │ │ + vldr d9, [sp, #552] @ 0x228 │ │ │ │ │ + ldr r3, [sp, #912] @ 0x390 │ │ │ │ │ vmla.f64 d1, d14, d8 │ │ │ │ │ vldr d8, [sp, #536] @ 0x218 │ │ │ │ │ - vldr d9, [sp, #552] @ 0x228 │ │ │ │ │ - vstr d1, [r6] │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + str r3, [sp, #912] @ 0x390 │ │ │ │ │ + ldr r3, [sp, #796] @ 0x31c │ │ │ │ │ + ldr r2, [sp, #912] @ 0x390 │ │ │ │ │ + vstr d1, [r4] │ │ │ │ │ vmul.f64 d1, d8, d3 │ │ │ │ │ + add r8, r3 │ │ │ │ │ + ldr r3, [sp, #800] @ 0x320 │ │ │ │ │ vnmls.f64 d1, d9, d2 │ │ │ │ │ vmul.f64 d2, d8, d2 │ │ │ │ │ + add r9, r3 │ │ │ │ │ + ldr r3, [sp, #804] @ 0x324 │ │ │ │ │ vmla.f64 d2, d9, d3 │ │ │ │ │ - vstr d1, [r1] │ │ │ │ │ - ldr r7, [sp, #112] @ 0x70 │ │ │ │ │ - vldr d4, [sp, #544] @ 0x220 │ │ │ │ │ vldr d3, [sp, #560] @ 0x230 │ │ │ │ │ - ldr r3, [sp, #904] @ 0x388 │ │ │ │ │ - vmul.f64 d5, d4, d6 │ │ │ │ │ - ldr r0, [sp, #156] @ 0x9c │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #904] @ 0x388 │ │ │ │ │ - ldr r3, [sp, #788] @ 0x314 │ │ │ │ │ - vstr d2, [r7] │ │ │ │ │ + eor.w sl, sl, r3 │ │ │ │ │ + ldr r3, [sp, #916] @ 0x394 │ │ │ │ │ + vstr d1, [r1] │ │ │ │ │ vnmls.f64 d5, d3, d7 │ │ │ │ │ vmul.f64 d7, d4, d7 │ │ │ │ │ + cmp r3, r2 │ │ │ │ │ + vstr d2, [r6] │ │ │ │ │ vmla.f64 d7, d3, d6 │ │ │ │ │ - add sl, r3 │ │ │ │ │ - ldr r3, [sp, #792] @ 0x318 │ │ │ │ │ - add r8, r3 │ │ │ │ │ - ldr r3, [sp, #796] @ 0x31c │ │ │ │ │ - eor.w fp, fp, r3 │ │ │ │ │ - ldrd r2, r3, [sp, #904] @ 0x388 │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ - cmp r3, r2 │ │ │ │ │ - bne.w 60 │ │ │ │ │ - add.w sp, sp, #804 @ 0x324 │ │ │ │ │ + vstr d7, [ip] │ │ │ │ │ + bne.w 70 │ │ │ │ │ + add.w sp, sp, #812 @ 0x32c │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -00000d80 : │ │ │ │ │ +00000df8 : │ │ │ │ │ fftw_codelet_hb2_20(): │ │ │ │ │ - ldr r2, [pc, #8] @ (d8c ) │ │ │ │ │ - ldr r1, [pc, #12] @ (d90 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (e04 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (e08 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2hc_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── hb2_25.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 6352 (bytes into file) │ │ │ │ │ + Start of section headers: 6432 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x18d0: │ │ │ │ │ +There are 14 section headers, starting at offset 0x1920: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00156c 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 001818 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0015a0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0015a0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0015a0 000007 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 0015a7 000014 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0015bb 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 001840 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 0015eb 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0015eb 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 001620 000170 10 12 18 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 001790 000088 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 001858 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0015bc 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 001868 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0015f0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0015f0 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0015f0 000007 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 0015f7 000014 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 00160b 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 001890 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 00163b 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 00163b 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 001670 000170 10 12 18 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0017e0 000088 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 0018a8 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,26 +1,26 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 23 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 5464 FUNC LOCAL DEFAULT 1 hb2_25 │ │ │ │ │ + 1: 00000001 5544 FUNC LOCAL DEFAULT 1 hb2_25 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000400 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000420 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000930 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 000009c0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 000012e0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 8: 000012f0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 9: 00001564 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000410 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000430 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000958 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 000009e8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 00001318 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 00001328 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 9: 000015b4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 12: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 13: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 14: 00000000 20 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 15: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 16: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 17: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 20: 00001559 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hb2_25 │ │ │ │ │ + 20: 000015a9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hb2_25 │ │ │ │ │ 21: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2hc_register │ │ │ │ │ 22: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hb_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x1818 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x1868 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000418 00001219 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000041c 0000131a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00001564 00000f03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00001568 00000103 R_ARM_REL32 00000001 hb2_25 │ │ │ │ │ -00001560 0000151e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ +00000428 00001219 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000042c 0000131a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +000015b4 00000f03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000015b8 00000103 R_ARM_REL32 00000001 hb2_25 │ │ │ │ │ +000015b0 0000151e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x1840 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x1890 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000a02 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000c02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001602 R_ARM_ABS32 00000000 fftw_rdft_hb_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,59 +1,62 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hb2_25(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ - mov fp, r0 │ │ │ │ │ - mov r6, r1 │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + mov r6, r0 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + mov r7, r1 │ │ │ │ │ + mov r8, r3 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - subw sp, sp, #1036 @ 0x40c │ │ │ │ │ - mov r7, r3 │ │ │ │ │ - ldr.w r3, [pc, #1028] @ 418 │ │ │ │ │ - ldr.w r1, [sp, #1136] @ 0x470 │ │ │ │ │ - add r3, pc │ │ │ │ │ - ldr.w r0, [sp, #1140] @ 0x474 │ │ │ │ │ + subw sp, sp, #1028 @ 0x404 │ │ │ │ │ + ldr.w r1, [sp, #1128] @ 0x468 │ │ │ │ │ + ldr.w r0, [sp, #1132] @ 0x46c │ │ │ │ │ + ldr r3, [pc, #1020] @ (428 ) │ │ │ │ │ cmp r1, r0 │ │ │ │ │ - bge.w 154c │ │ │ │ │ - ldr.w r1, [sp, #1144] @ 0x478 │ │ │ │ │ - vldr d3, [pc, #980] @ 400 │ │ │ │ │ - vldr d14, [pc, #984] @ 408 │ │ │ │ │ - lsls r1, r1, #3 │ │ │ │ │ - str r1, [sp, #1020] @ 0x3fc │ │ │ │ │ - negs r1, r1 │ │ │ │ │ - str.w r1, [sp, #1024] @ 0x400 │ │ │ │ │ - ldr r1, [pc, #988] @ (41c ) │ │ │ │ │ + add r3, pc │ │ │ │ │ + bge.w 158a │ │ │ │ │ + ldr.w r1, [sp, #1136] @ 0x470 │ │ │ │ │ + vldr d3, [pc, #980] @ 410 │ │ │ │ │ + vldr d14, [pc, #984] @ 418 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + str r1, [sp, #1012] @ 0x3f4 │ │ │ │ │ + rsb r1, r1, #0 │ │ │ │ │ + str r1, [sp, #1016] @ 0x3f8 │ │ │ │ │ + ldr r1, [pc, #988] @ (42c ) │ │ │ │ │ ldr r3, [r3, r1] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - str.w r3, [sp, #1028] @ 0x404 │ │ │ │ │ - ldr.w r3, [sp, #1136] @ 0x470 │ │ │ │ │ - add.w sl, r2, r3, lsl #6 │ │ │ │ │ - vldr d15, [sl, #-64] @ 0xffffffc0 │ │ │ │ │ - movs r3, #40 @ 0x28 │ │ │ │ │ - vldr d2, [sl, #-56] @ 0xffffffc8 │ │ │ │ │ - mov.w lr, r7, lsl #5 │ │ │ │ │ - vldr d8, [sl, #-40] @ 0xffffffd8 │ │ │ │ │ - add.w r1, r6, lr │ │ │ │ │ - vldr d1, [sl, #-48] @ 0xffffffd0 │ │ │ │ │ - mul.w r3, r7, r3 │ │ │ │ │ - vldr d10, [sl, #-24] @ 0xffffffe8 │ │ │ │ │ - mov.w r9, r7, lsl #7 │ │ │ │ │ - vmul.f64 d7, d2, d8 │ │ │ │ │ - vmul.f64 d4, d15, d8 │ │ │ │ │ + str r3, [sp, #1020] @ 0x3fc │ │ │ │ │ + ldr.w r3, [sp, #1128] @ 0x468 │ │ │ │ │ + add.w fp, r2, r3, lsl #6 │ │ │ │ │ + vldr d15, [fp, #-64] @ 0xffffffc0 │ │ │ │ │ + add.w ip, r8, r8, lsl #2 │ │ │ │ │ + add.w fp, fp, #64 @ 0x40 │ │ │ │ │ + mov.w r1, r8, lsl #5 │ │ │ │ │ + vldr d2, [fp, #-120] @ 0xffffff88 │ │ │ │ │ + mov.w r3, ip, lsl #3 │ │ │ │ │ + add.w r0, r7, r1 │ │ │ │ │ + vldr d1, [fp, #-112] @ 0xffffff90 │ │ │ │ │ + add.w r2, r6, r3 │ │ │ │ │ + add.w r5, r2, r3 │ │ │ │ │ + vldr d8, [fp, #-104] @ 0xffffff98 │ │ │ │ │ + vstr d15, [sp, #16] │ │ │ │ │ + vldr d11, [fp, #-96] @ 0xffffffa0 │ │ │ │ │ vmul.f64 d6, d15, d1 │ │ │ │ │ + vldr d10, [fp, #-88] @ 0xffffffa8 │ │ │ │ │ vmul.f64 d5, d2, d1 │ │ │ │ │ + vmul.f64 d7, d2, d8 │ │ │ │ │ + vmul.f64 d4, d15, d8 │ │ │ │ │ vmul.f64 d9, d2, d10 │ │ │ │ │ - vldr d11, [sl, #-32] @ 0xffffffe0 │ │ │ │ │ - vstr d15, [sp, #16] │ │ │ │ │ - add.w r2, fp, r3 │ │ │ │ │ - adds r0, r2, r3 │ │ │ │ │ - add.w sl, sl, #64 @ 0x40 │ │ │ │ │ vsub.f64 d12, d6, d7 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ vadd.f64 d13, d5, d4 │ │ │ │ │ vsub.f64 d4, d4, d5 │ │ │ │ │ vmov.f64 d5, d1 │ │ │ │ │ vmul.f64 d1, d1, d10 │ │ │ │ │ vmul.f64 d6, d15, d10 │ │ │ │ │ @@ -61,587 +64,580 @@ │ │ │ │ │ vmov.f64 d7, d2 │ │ │ │ │ vmov.f64 d2, d8 │ │ │ │ │ vstr d4, [sp] │ │ │ │ │ vmul.f64 d4, d8, d10 │ │ │ │ │ vmul.f64 d8, d15, d11 │ │ │ │ │ vstr d5, [sp, #32] │ │ │ │ │ vmul.f64 d5, d5, d11 │ │ │ │ │ + vstr d12, [sp, #48] @ 0x30 │ │ │ │ │ vstr d7, [sp, #24] │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ vstr d2, [sp, #40] @ 0x28 │ │ │ │ │ vmul.f64 d2, d2, d11 │ │ │ │ │ - vstr d12, [sp, #48] @ 0x30 │ │ │ │ │ - vsub.f64 d0, d5, d4 │ │ │ │ │ vstr d13, [sp, #56] @ 0x38 │ │ │ │ │ + vsub.f64 d0, d5, d4 │ │ │ │ │ vadd.f64 d15, d1, d2 │ │ │ │ │ - vstr d0, [sp, #584] @ 0x248 │ │ │ │ │ - vstr d15, [sp, #592] @ 0x250 │ │ │ │ │ + vstr d0, [sp, #576] @ 0x240 │ │ │ │ │ + vstr d15, [sp, #584] @ 0x248 │ │ │ │ │ vsub.f64 d15, d8, d9 │ │ │ │ │ vadd.f64 d9, d9, d8 │ │ │ │ │ vstr d15, [sp, #72] @ 0x48 │ │ │ │ │ vmov.f64 d15, d9 │ │ │ │ │ vsub.f64 d9, d1, d2 │ │ │ │ │ vadd.f64 d1, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vstr d9, [sp, #80] @ 0x50 │ │ │ │ │ vadd.f64 d9, d4, d5 │ │ │ │ │ - vstr d1, [sp, #88] @ 0x58 │ │ │ │ │ vmul.f64 d5, d13, d11 │ │ │ │ │ vldr d4, [sp] │ │ │ │ │ + vstr d1, [sp, #88] @ 0x58 │ │ │ │ │ vldr d1, [sp, #8] │ │ │ │ │ - vstr d6, [sp, #104] @ 0x68 │ │ │ │ │ - vmul.f64 d7, d4, d10 │ │ │ │ │ vstr d9, [sp, #96] @ 0x60 │ │ │ │ │ - vmul.f64 d6, d1, d11 │ │ │ │ │ vmul.f64 d9, d12, d11 │ │ │ │ │ + vmul.f64 d7, d4, d10 │ │ │ │ │ + vstr d6, [sp, #104] @ 0x68 │ │ │ │ │ + vmul.f64 d6, d1, d11 │ │ │ │ │ vmul.f64 d1, d1, d10 │ │ │ │ │ vadd.f64 d8, d6, d7 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ vstr d8, [sp, #112] @ 0x70 │ │ │ │ │ vmul.f64 d8, d13, d10 │ │ │ │ │ - vstr d7, [sp, #624] @ 0x270 │ │ │ │ │ + vstr d7, [sp, #616] @ 0x268 │ │ │ │ │ vadd.f64 d2, d9, d8 │ │ │ │ │ vsub.f64 d0, d9, d8 │ │ │ │ │ vstr d2, [sp, #120] @ 0x78 │ │ │ │ │ vmul.f64 d2, d4, d11 │ │ │ │ │ - vstr d0, [sp, #600] @ 0x258 │ │ │ │ │ + vstr d0, [sp, #592] @ 0x250 │ │ │ │ │ vsub.f64 d4, d1, d2 │ │ │ │ │ vadd.f64 d13, d1, d2 │ │ │ │ │ vstr d4, [sp, #128] @ 0x80 │ │ │ │ │ vmul.f64 d4, d12, d10 │ │ │ │ │ - vstr d13, [sp, #608] @ 0x260 │ │ │ │ │ + vstr d13, [sp, #600] @ 0x258 │ │ │ │ │ vsub.f64 d12, d4, d5 │ │ │ │ │ vadd.f64 d5, d4, d5 │ │ │ │ │ vstr d12, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d5, [sp, #616] @ 0x268 │ │ │ │ │ + vldr d12, [fp, #-80] @ 0xffffffb0 │ │ │ │ │ + vstr d5, [sp, #608] @ 0x260 │ │ │ │ │ vmov.f64 d5, d15 │ │ │ │ │ - vldr d12, [sl, #-80] @ 0xffffffb0 │ │ │ │ │ - vldr d0, [sl, #-72] @ 0xffffffb8 │ │ │ │ │ + vldr d0, [fp, #-72] @ 0xffffffb8 │ │ │ │ │ + vstr d10, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d15, [sp, #352] @ 0x160 │ │ │ │ │ vldr d1, [sp, #56] @ 0x38 │ │ │ │ │ + vstr d11, [sp, #344] @ 0x158 │ │ │ │ │ vldr d4, [sp, #48] @ 0x30 │ │ │ │ │ vldr d9, [sp, #104] @ 0x68 │ │ │ │ │ vmul.f64 d7, d1, d0 │ │ │ │ │ vldr d13, [sp, #64] @ 0x40 │ │ │ │ │ - vmla.f64 d7, d4, d12 │ │ │ │ │ vldr d2, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d10, [sp, #344] @ 0x158 │ │ │ │ │ - vstr d11, [sp, #352] @ 0x160 │ │ │ │ │ vldr d8, [sp, #8] │ │ │ │ │ - vstr d5, [sp, #360] @ 0x168 │ │ │ │ │ - vstr d7, [sp, #632] @ 0x278 │ │ │ │ │ + vmla.f64 d7, d4, d12 │ │ │ │ │ + vstr d7, [sp, #624] @ 0x270 │ │ │ │ │ vmul.f64 d7, d1, d12 │ │ │ │ │ vldr d1, [sp, #88] @ 0x58 │ │ │ │ │ vnmls.f64 d7, d4, d0 │ │ │ │ │ vldr d4, [sp, #72] @ 0x48 │ │ │ │ │ - vstr d7, [sp, #640] @ 0x280 │ │ │ │ │ + vstr d7, [sp, #632] @ 0x278 │ │ │ │ │ vmul.f64 d7, d9, d12 │ │ │ │ │ vmov.f64 d6, d7 │ │ │ │ │ vmul.f64 d7, d13, d12 │ │ │ │ │ vnmls.f64 d6, d15, d0 │ │ │ │ │ vnmls.f64 d7, d2, d0 │ │ │ │ │ - vstr d6, [sp, #648] @ 0x288 │ │ │ │ │ + vstr d6, [sp, #640] @ 0x280 │ │ │ │ │ vldr d6, [sp] │ │ │ │ │ - vstr d7, [sp, #656] @ 0x290 │ │ │ │ │ + vstr d7, [sp, #648] @ 0x288 │ │ │ │ │ vmul.f64 d7, d6, d0 │ │ │ │ │ vmov.f64 d15, d7 │ │ │ │ │ vmul.f64 d7, d1, d0 │ │ │ │ │ - vmla.f64 d7, d4, d12 │ │ │ │ │ vmla.f64 d15, d8, d12 │ │ │ │ │ - vstr d7, [sp, #672] @ 0x2a0 │ │ │ │ │ + vmla.f64 d7, d4, d12 │ │ │ │ │ + vstr d15, [sp, #656] @ 0x290 │ │ │ │ │ + vstr d7, [sp, #664] @ 0x298 │ │ │ │ │ vmul.f64 d7, d1, d12 │ │ │ │ │ - vstr d15, [sp, #664] @ 0x298 │ │ │ │ │ vnmls.f64 d7, d4, d0 │ │ │ │ │ vldr d4, [sp, #128] @ 0x80 │ │ │ │ │ - vstr d7, [sp, #680] @ 0x2a8 │ │ │ │ │ + vstr d7, [sp, #672] @ 0x2a0 │ │ │ │ │ vmul.f64 d7, d13, d0 │ │ │ │ │ vmov.f64 d1, d7 │ │ │ │ │ vmul.f64 d7, d10, d12 │ │ │ │ │ vmla.f64 d1, d2, d12 │ │ │ │ │ vmov.f64 d2, d7 │ │ │ │ │ vmul.f64 d7, d10, d0 │ │ │ │ │ + vnmls.f64 d2, d11, d0 │ │ │ │ │ vmov.f64 d10, d7 │ │ │ │ │ vmul.f64 d7, d6, d12 │ │ │ │ │ - vnmls.f64 d2, d11, d0 │ │ │ │ │ + vstr d1, [sp, #680] @ 0x2a8 │ │ │ │ │ vmla.f64 d10, d11, d12 │ │ │ │ │ - vstr d1, [sp, #688] @ 0x2b0 │ │ │ │ │ vmov.f64 d11, d7 │ │ │ │ │ vmul.f64 d7, d4, d0 │ │ │ │ │ + vstr d2, [sp, #688] @ 0x2b0 │ │ │ │ │ + vldr d2, [sp, #96] @ 0x60 │ │ │ │ │ vnmls.f64 d11, d8, d0 │ │ │ │ │ vmov.f64 d6, d7 │ │ │ │ │ - vstr d10, [sp, #704] @ 0x2c0 │ │ │ │ │ + vstr d10, [sp, #696] @ 0x2b8 │ │ │ │ │ vldr d10, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d2, [sp, #696] @ 0x2b8 │ │ │ │ │ - vldr d2, [sp, #96] @ 0x60 │ │ │ │ │ - vmla.f64 d6, d10, d12 │ │ │ │ │ - vstr d11, [sp, #712] @ 0x2c8 │ │ │ │ │ + vstr d11, [sp, #704] @ 0x2c0 │ │ │ │ │ vldr d11, [sp, #80] @ 0x50 │ │ │ │ │ + vmla.f64 d6, d10, d12 │ │ │ │ │ vmul.f64 d7, d11, d0 │ │ │ │ │ - vstr d6, [sp, #720] @ 0x2d0 │ │ │ │ │ + vstr d6, [sp, #712] @ 0x2c8 │ │ │ │ │ vmov.f64 d8, d7 │ │ │ │ │ vmul.f64 d7, d9, d0 │ │ │ │ │ vmla.f64 d8, d2, d12 │ │ │ │ │ vmov.f64 d6, d7 │ │ │ │ │ vmla.f64 d6, d5, d12 │ │ │ │ │ - vstr d8, [sp, #728] @ 0x2d8 │ │ │ │ │ - vstr d6, [sp, #736] @ 0x2e0 │ │ │ │ │ + vstr d8, [sp, #720] @ 0x2d0 │ │ │ │ │ + vstr d6, [sp, #728] @ 0x2d8 │ │ │ │ │ vldr d6, [sp, #24] │ │ │ │ │ vldr d15, [sp, #16] │ │ │ │ │ + strd r2, r1, [sp, #144] @ 0x90 │ │ │ │ │ + add.w r1, r7, r8, lsl #6 │ │ │ │ │ vldr d8, [sp, #40] @ 0x28 │ │ │ │ │ + strd r0, r5, [sp, #152] @ 0x98 │ │ │ │ │ vmul.f64 d7, d6, d12 │ │ │ │ │ - str r2, [sp, #140] @ 0x8c │ │ │ │ │ - str r0, [sp, #148] @ 0x94 │ │ │ │ │ - str r1, [sp, #144] @ 0x90 │ │ │ │ │ - vstr d0, [sp, #368] @ 0x170 │ │ │ │ │ + str r1, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d0, [sp, #360] @ 0x168 │ │ │ │ │ vmov.f64 d5, d7 │ │ │ │ │ vmul.f64 d7, d11, d12 │ │ │ │ │ + vnmls.f64 d5, d15, d0 │ │ │ │ │ vmov.f64 d11, d7 │ │ │ │ │ vmul.f64 d7, d8, d0 │ │ │ │ │ - vnmls.f64 d5, d15, d0 │ │ │ │ │ vnmls.f64 d11, d2, d0 │ │ │ │ │ vmov.f64 d2, d7 │ │ │ │ │ vmul.f64 d7, d8, d12 │ │ │ │ │ - vldr d8, [r1] │ │ │ │ │ - vstr d5, [sp, #744] @ 0x2e8 │ │ │ │ │ + vldr d8, [r0] │ │ │ │ │ + vstr d5, [sp, #736] @ 0x2e0 │ │ │ │ │ vldr d5, [sp, #32] │ │ │ │ │ - vstr d11, [sp, #752] @ 0x2f0 │ │ │ │ │ + vstr d11, [sp, #744] @ 0x2e8 │ │ │ │ │ vmov.f64 d11, d7 │ │ │ │ │ vmul.f64 d7, d6, d0 │ │ │ │ │ vmla.f64 d2, d5, d12 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ vnmls.f64 d11, d5, d0 │ │ │ │ │ vmov.f64 d5, d7 │ │ │ │ │ vmul.f64 d7, d4, d12 │ │ │ │ │ + vldr d4, [r6] │ │ │ │ │ vmla.f64 d5, d15, d12 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ - movs r2, #72 @ 0x48 │ │ │ │ │ vmov.f64 d15, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vstr d2, [sp, #760] @ 0x2f8 │ │ │ │ │ - mla r5, r2, r7, r6 │ │ │ │ │ - lsls r2, r7, #3 │ │ │ │ │ - str r5, [sp, #152] @ 0x98 │ │ │ │ │ - vstr d11, [sp, #768] @ 0x300 │ │ │ │ │ - str r2, [sp, #156] @ 0x9c │ │ │ │ │ - vldr d9, [r5] │ │ │ │ │ - add.w r5, fp, r2 │ │ │ │ │ - vstr d5, [sp, #776] @ 0x308 │ │ │ │ │ + vstr d2, [sp, #752] @ 0x2f0 │ │ │ │ │ + vstr d11, [sp, #760] @ 0x2f8 │ │ │ │ │ + vstr d5, [sp, #768] @ 0x300 │ │ │ │ │ vmov.f64 d5, d7 │ │ │ │ │ - vadd.f64 d7, d4, d8 │ │ │ │ │ - vsub.f64 d4, d4, d8 │ │ │ │ │ - vadd.f64 d2, d6, d9 │ │ │ │ │ - vsub.f64 d6, d6, d9 │ │ │ │ │ - movs r2, #88 @ 0x58 │ │ │ │ │ - str r5, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + mov.w r2, r8, lsl #3 │ │ │ │ │ + add.w sl, r2, r8 │ │ │ │ │ vnmls.f64 d5, d10, d0 │ │ │ │ │ - vmul.f64 d8, d6, d14 │ │ │ │ │ - vadd.f64 d1, d7, d2 │ │ │ │ │ - vmla.f64 d8, d4, d3 │ │ │ │ │ - vsub.f64 d7, d7, d2 │ │ │ │ │ - mul.w r0, r2, r7 │ │ │ │ │ - add.w r2, r6, r7, lsl #6 │ │ │ │ │ - vmul.f64 d6, d6, d3 │ │ │ │ │ - str r2, [sp, #172] @ 0xac │ │ │ │ │ - str r0, [sp, #164] @ 0xa4 │ │ │ │ │ - vstr d5, [sp, #784] @ 0x310 │ │ │ │ │ - vldr d5, [fp] │ │ │ │ │ - vnmls.f64 d6, d4, d14 │ │ │ │ │ - vstr d8, [sp, #384] @ 0x180 │ │ │ │ │ - vadd.f64 d11, d5, d1 │ │ │ │ │ - vmls.f64 d5, d1, d15 │ │ │ │ │ - vldr d8, [pc, #120] @ 410 │ │ │ │ │ - vmul.f64 d7, d7, d8 │ │ │ │ │ - vstr d11, [sp, #376] @ 0x178 │ │ │ │ │ - vstr d6, [sp, #392] @ 0x188 │ │ │ │ │ - vsub.f64 d13, d5, d7 │ │ │ │ │ - vstr d13, [sp, #400] @ 0x190 │ │ │ │ │ - vadd.f64 d13, d5, d7 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - add.w r5, fp, r0 │ │ │ │ │ - str r5, [sp, #168] @ 0xa8 │ │ │ │ │ - vmov.f64 d11, d7 │ │ │ │ │ + add.w r4, r7, sl, lsl #3 │ │ │ │ │ + str r2, [sp, #140] @ 0x8c │ │ │ │ │ + add r2, r6 │ │ │ │ │ + vldr d9, [r4] │ │ │ │ │ + vadd.f64 d6, d7, d8 │ │ │ │ │ + vsub.f64 d7, d7, d8 │ │ │ │ │ + str r4, [sp, #160] @ 0xa0 │ │ │ │ │ + str r2, [sp, #164] @ 0xa4 │ │ │ │ │ + vstr d5, [sp, #776] @ 0x308 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + vadd.f64 d2, d5, d9 │ │ │ │ │ + vsub.f64 d5, d5, d9 │ │ │ │ │ + vmul.f64 d8, d5, d14 │ │ │ │ │ + vadd.f64 d1, d6, d2 │ │ │ │ │ + vsub.f64 d6, d6, d2 │ │ │ │ │ + vmul.f64 d5, d5, d3 │ │ │ │ │ + vmla.f64 d8, d7, d3 │ │ │ │ │ + vadd.f64 d11, d4, d1 │ │ │ │ │ + vmls.f64 d4, d1, d15 │ │ │ │ │ + vnmls.f64 d5, d7, d14 │ │ │ │ │ vldr d7, [r2] │ │ │ │ │ - movs r2, #48 @ 0x30 │ │ │ │ │ - vldr d4, [r5] │ │ │ │ │ - vstr d13, [sp, #408] @ 0x198 │ │ │ │ │ - mul.w r0, r2, r7 │ │ │ │ │ - movs r2, #24 │ │ │ │ │ - str r0, [sp, #176] @ 0xb0 │ │ │ │ │ - vadd.f64 d5, d4, d7 │ │ │ │ │ - add.w r1, fp, r0 │ │ │ │ │ - vsub.f64 d4, d4, d7 │ │ │ │ │ - mul.w ip, r2, r7 │ │ │ │ │ - str r1, [sp, #180] @ 0xb4 │ │ │ │ │ - vstr d11, [sp, #240] @ 0xf0 │ │ │ │ │ - add.w r5, r6, ip │ │ │ │ │ + mov.w r2, #88 @ 0x58 │ │ │ │ │ + mul.w r5, r2, r8 │ │ │ │ │ + add.w r4, r6, r5 │ │ │ │ │ + strd r5, r4, [sp, #168] @ 0xa8 │ │ │ │ │ + add.w r5, r8, r8, lsl #1 │ │ │ │ │ + vstr d11, [sp, #368] @ 0x170 │ │ │ │ │ + vmov.f64 d11, d7 │ │ │ │ │ + vstr d8, [sp, #376] @ 0x178 │ │ │ │ │ + mov.w r0, r5, lsl #4 │ │ │ │ │ + vldr d8, [pc, #92] @ 420 │ │ │ │ │ + mov.w r2, r5, lsl #3 │ │ │ │ │ + vstr d5, [sp, #384] @ 0x180 │ │ │ │ │ + vmul.f64 d6, d6, d8 │ │ │ │ │ + vsub.f64 d13, d4, d6 │ │ │ │ │ + vstr d13, [sp, #392] @ 0x188 │ │ │ │ │ + vadd.f64 d13, d4, d6 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + add.w r4, r6, r0 │ │ │ │ │ + vstr d13, [sp, #400] @ 0x190 │ │ │ │ │ vldr d7, [r1] │ │ │ │ │ - movs r1, #160 @ 0xa0 │ │ │ │ │ - str r5, [sp, #184] @ 0xb8 │ │ │ │ │ - vldr d2, [r5] │ │ │ │ │ - b.n 420 │ │ │ │ │ - nop.w │ │ │ │ │ + add.w r1, r7, r2 │ │ │ │ │ + str r3, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d2, [r1] │ │ │ │ │ + str r0, [sp, #1008] @ 0x3f0 │ │ │ │ │ + mov.w r0, ip, lsl #5 │ │ │ │ │ + str r2, [sp, #504] @ 0x1f8 │ │ │ │ │ + add.w r2, r7, r0 │ │ │ │ │ + strd r4, r1, [sp, #180] @ 0xb4 │ │ │ │ │ + vadd.f64 d5, d4, d7 │ │ │ │ │ + b.n 430 │ │ │ │ │ + nop │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ - .word 0x000003fa │ │ │ │ │ + .word 0x000003f6 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - mul.w r1, r7, r1 │ │ │ │ │ + vsub.f64 d4, d4, d7 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + str r2, [sp, #188] @ 0xbc │ │ │ │ │ + vstr d11, [sp, #240] @ 0xf0 │ │ │ │ │ vadd.f64 d6, d7, d2 │ │ │ │ │ - adds r2, r6, r1 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ - str r2, [sp, #188] @ 0xbc │ │ │ │ │ - add r1, fp │ │ │ │ │ vsub.f64 d2, d6, d5 │ │ │ │ │ vadd.f64 d0, d5, d6 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ - movs r2, #112 @ 0x70 │ │ │ │ │ - mul.w r2, r7, r2 │ │ │ │ │ + ldr r2, [sp, #140] @ 0x8c │ │ │ │ │ vmul.f64 d13, d2, d8 │ │ │ │ │ vmul.f64 d2, d4, d14 │ │ │ │ │ + vstr d6, [sp, #256] @ 0x100 │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ - add.w r0, fp, r2 │ │ │ │ │ + sub.w lr, r2, r8 │ │ │ │ │ vmov.f64 d1, d6 │ │ │ │ │ - adds r5, r0, r3 │ │ │ │ │ - str r0, [sp, #192] @ 0xc0 │ │ │ │ │ + mov.w r9, lr, lsl #4 │ │ │ │ │ + add.w r1, r6, r9 │ │ │ │ │ vmla.f64 d2, d7, d3 │ │ │ │ │ - str r5, [sp, #196] @ 0xc4 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - movs r0, #120 @ 0x78 │ │ │ │ │ + add.w r2, r1, r3 │ │ │ │ │ vnmls.f64 d4, d7, d14 │ │ │ │ │ vmov.f64 d7, d11 │ │ │ │ │ + mov r3, r2 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + strd r1, r3, [sp, #192] @ 0xc0 │ │ │ │ │ vmls.f64 d7, d0, d15 │ │ │ │ │ - vstr d1, [sp, #256] @ 0x100 │ │ │ │ │ - mul.w r0, r7, r0 │ │ │ │ │ - adds r2, r6, r2 │ │ │ │ │ - adds r4, r6, r0 │ │ │ │ │ - str r4, [sp, #200] @ 0xc8 │ │ │ │ │ - add r0, fp │ │ │ │ │ + vstr d7, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + mov.w r2, r8, lsl #4 │ │ │ │ │ vstr d2, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - adds r4, r5, r3 │ │ │ │ │ + sub.w r1, r2, r8 │ │ │ │ │ vstr d4, [sp, #304] @ 0x130 │ │ │ │ │ - vstr d7, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - vldr d2, [r4] │ │ │ │ │ - str r4, [sp, #204] @ 0xcc │ │ │ │ │ - add.w r4, fp, lr │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + add.w r4, r7, r1 │ │ │ │ │ + add r1, r6 │ │ │ │ │ vadd.f64 d4, d6, d7 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ + vldr d5, [r4] │ │ │ │ │ + str r4, [sp, #200] @ 0xc8 │ │ │ │ │ + mov r4, r3 │ │ │ │ │ + ldr r3, [sp, #136] @ 0x88 │ │ │ │ │ + vmul.f64 d9, d7, d3 │ │ │ │ │ + add r4, r3 │ │ │ │ │ + add.w r3, r7, ip, lsl #4 │ │ │ │ │ + mov.w ip, #184 @ 0xb8 │ │ │ │ │ + vldr d2, [r4] │ │ │ │ │ + strd r4, r3, [sp, #204] @ 0xcc │ │ │ │ │ + ldr r4, [sp, #148] @ 0x94 │ │ │ │ │ vsub.f64 d6, d5, d2 │ │ │ │ │ vadd.f64 d5, d5, d2 │ │ │ │ │ - mov r5, r4 │ │ │ │ │ - str r5, [sp, #208] @ 0xd0 │ │ │ │ │ vmul.f64 d2, d7, d14 │ │ │ │ │ - vmul.f64 d9, d7, d3 │ │ │ │ │ - vmla.f64 d2, d5, d3 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + add r4, r6 │ │ │ │ │ + ldr r3, [sp, #136] @ 0x88 │ │ │ │ │ vadd.f64 d11, d4, d6 │ │ │ │ │ vsub.f64 d6, d6, d4 │ │ │ │ │ vnmls.f64 d9, d5, d14 │ │ │ │ │ + vmla.f64 d2, d5, d3 │ │ │ │ │ vmov.f64 d5, d1 │ │ │ │ │ - vmul.f64 d11, d11, d8 │ │ │ │ │ + add r3, r7 │ │ │ │ │ vmls.f64 d5, d6, d15 │ │ │ │ │ + vmul.f64 d11, d11, d8 │ │ │ │ │ + vstr d5, [sp, #264] @ 0x108 │ │ │ │ │ vstr d2, [sp, #312] @ 0x138 │ │ │ │ │ vldr d2, [r4] │ │ │ │ │ - movs r4, #80 @ 0x50 │ │ │ │ │ - mla r4, r4, r7, r6 │ │ │ │ │ + str r3, [sp, #212] @ 0xd4 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ + str r4, [sp, #148] @ 0x94 │ │ │ │ │ + ldr r3, [sp, #136] @ 0x88 │ │ │ │ │ vmov.f64 d8, d2 │ │ │ │ │ - str r4, [sp, #212] @ 0xd4 │ │ │ │ │ - vstr d5, [sp, #264] @ 0x108 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - adds r4, r6, r3 │ │ │ │ │ - str r4, [sp, #216] @ 0xd8 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - mov r4, r5 │ │ │ │ │ - add r4, r3 │ │ │ │ │ - str r4, [sp, #220] @ 0xdc │ │ │ │ │ + vstr d2, [sp, #272] @ 0x110 │ │ │ │ │ vadd.f64 d4, d7, d5 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d1, [r4] │ │ │ │ │ - movs r4, #184 @ 0xb8 │ │ │ │ │ - vldr d5, [r6] │ │ │ │ │ - mla r5, r4, r7, r6 │ │ │ │ │ - movs r4, #104 @ 0x68 │ │ │ │ │ + vldr d5, [r7] │ │ │ │ │ + add r3, r4 │ │ │ │ │ + vldr d1, [r3] │ │ │ │ │ + str r3, [sp, #216] @ 0xd8 │ │ │ │ │ + mla r3, ip, r8, r7 │ │ │ │ │ + mov.w ip, #104 @ 0x68 │ │ │ │ │ + str r3, [sp, #220] @ 0xdc │ │ │ │ │ vadd.f64 d2, d1, d5 │ │ │ │ │ vsub.f64 d5, d1, d5 │ │ │ │ │ vmul.f64 d1, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ - mla r4, r4, r7, r6 │ │ │ │ │ vmov.f64 d10, d1 │ │ │ │ │ vsub.f64 d1, d2, d4 │ │ │ │ │ vadd.f64 d4, d4, d2 │ │ │ │ │ vmov.f64 d2, d8 │ │ │ │ │ vnmls.f64 d10, d5, d14 │ │ │ │ │ vmls.f64 d2, d4, d15 │ │ │ │ │ vstr d10, [sp, #320] @ 0x140 │ │ │ │ │ vmov.f64 d10, d7 │ │ │ │ │ + vldr d7, [pc, #984] @ 958 │ │ │ │ │ + vstr d2, [sp, #280] @ 0x118 │ │ │ │ │ vmla.f64 d10, d5, d3 │ │ │ │ │ - vldr d7, [pc, #984] @ 930 │ │ │ │ │ vmul.f64 d1, d1, d7 │ │ │ │ │ vstr d10, [sp, #328] @ 0x148 │ │ │ │ │ - vstr d8, [sp, #272] @ 0x110 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - str r4, [sp, #228] @ 0xe4 │ │ │ │ │ - add.w r4, fp, r9 │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ - add r9, r6 │ │ │ │ │ - vstr d2, [sp, #280] @ 0x118 │ │ │ │ │ - str r5, [sp, #224] @ 0xe0 │ │ │ │ │ - mov r5, r4 │ │ │ │ │ + vldr d10, [r3] │ │ │ │ │ + mla r3, ip, r8, r7 │ │ │ │ │ + mov.w ip, r8, lsl #7 │ │ │ │ │ + add.w r4, r6, ip │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + add ip, r7 │ │ │ │ │ vldr d2, [r4] │ │ │ │ │ - movs r4, #144 @ 0x90 │ │ │ │ │ - str r5, [sp, #232] @ 0xe8 │ │ │ │ │ - add r5, r3 │ │ │ │ │ - vstr d5, [sp, #288] @ 0x120 │ │ │ │ │ - mla r4, r4, r7, r6 │ │ │ │ │ + strd r3, r4, [sp, #224] @ 0xe0 │ │ │ │ │ + add.w r3, r7, sl, lsl #4 │ │ │ │ │ + mov.w sl, #152 @ 0x98 │ │ │ │ │ + str r3, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d10, [sp, #288] @ 0x120 │ │ │ │ │ vsub.f64 d5, d7, d2 │ │ │ │ │ - vldr d8, [r5] │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ - str r4, [sp, #236] @ 0xec │ │ │ │ │ - str r5, [sp, #1016] @ 0x3f8 │ │ │ │ │ - vldr d2, [r4] │ │ │ │ │ - movs r4, #192 @ 0xc0 │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ + ldr r3, [sp, #136] @ 0x88 │ │ │ │ │ + add r3, r4 │ │ │ │ │ + mla r4, sl, r8, r7 │ │ │ │ │ + add.w sl, r6, r2 │ │ │ │ │ + vldr d8, [r3] │ │ │ │ │ + str r3, [sp, #236] @ 0xec │ │ │ │ │ + add.w r3, r7, r5, lsl #6 │ │ │ │ │ + add.w r5, r7, r5, lsl #5 │ │ │ │ │ vsub.f64 d10, d2, d8 │ │ │ │ │ vadd.f64 d2, d2, d8 │ │ │ │ │ vmul.f64 d8, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ - mla r5, r4, r7, r6 │ │ │ │ │ - movs r4, #152 @ 0x98 │ │ │ │ │ vmla.f64 d7, d2, d3 │ │ │ │ │ vnmls.f64 d8, d2, d14 │ │ │ │ │ - vldr d2, [pc, #872] @ 930 │ │ │ │ │ - mla r4, r4, r7, r6 │ │ │ │ │ - vstr d7, [sp, #336] @ 0x150 │ │ │ │ │ + vldr d2, [pc, #860] @ 958 │ │ │ │ │ + vstr d7, [sp, #440] @ 0x1b8 │ │ │ │ │ vsub.f64 d7, d10, d5 │ │ │ │ │ vadd.f64 d5, d5, d10 │ │ │ │ │ vldr d10, [sp, #288] @ 0x120 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ vldr d2, [sp, #240] @ 0xf0 │ │ │ │ │ vmls.f64 d10, d5, d15 │ │ │ │ │ vadd.f64 d0, d2, d0 │ │ │ │ │ vldr d2, [sp, #272] @ 0x110 │ │ │ │ │ vadd.f64 d4, d2, d4 │ │ │ │ │ vldr d2, [sp, #256] @ 0x100 │ │ │ │ │ - vstr d0, [sp, #416] @ 0x1a0 │ │ │ │ │ - vadd.f64 d6, d2, d6 │ │ │ │ │ + vstr d0, [sp, #408] @ 0x198 │ │ │ │ │ vadd.f64 d0, d0, d4 │ │ │ │ │ - vstr d4, [sp, #424] @ 0x1a8 │ │ │ │ │ + vstr d4, [sp, #416] @ 0x1a0 │ │ │ │ │ + vadd.f64 d6, d2, d6 │ │ │ │ │ vldr d4, [sp, #288] @ 0x120 │ │ │ │ │ - vstr d6, [sp, #440] @ 0x1b8 │ │ │ │ │ - vstr d0, [sp, #792] @ 0x318 │ │ │ │ │ + vstr d0, [sp, #784] @ 0x310 │ │ │ │ │ vadd.f64 d0, d4, d5 │ │ │ │ │ - vldr d5, [sp, #248] @ 0xf8 │ │ │ │ │ - vsub.f64 d5, d5, d13 │ │ │ │ │ - vstr d0, [sp, #432] @ 0x1b0 │ │ │ │ │ + vstr d0, [sp, #424] @ 0x1a8 │ │ │ │ │ vadd.f64 d0, d0, d6 │ │ │ │ │ + vstr d6, [sp, #432] @ 0x1b0 │ │ │ │ │ vsub.f64 d6, d10, d7 │ │ │ │ │ vadd.f64 d7, d7, d10 │ │ │ │ │ + vldr d5, [sp, #248] @ 0xf8 │ │ │ │ │ + str r3, [sp, #240] @ 0xf0 │ │ │ │ │ + vstr d0, [sp, #792] @ 0x318 │ │ │ │ │ + vsub.f64 d5, d5, d13 │ │ │ │ │ vsub.f64 d4, d5, d8 │ │ │ │ │ vadd.f64 d5, d8, d5 │ │ │ │ │ vldr d8, [sp, #304] @ 0x130 │ │ │ │ │ - vstr d0, [sp, #800] @ 0x320 │ │ │ │ │ vadd.f64 d2, d8, d6 │ │ │ │ │ vsub.f64 d0, d6, d8 │ │ │ │ │ - vldr d8, [pc, #860] @ 9a8 │ │ │ │ │ + vldr d8, [pc, #848] @ 9d0 │ │ │ │ │ vmul.f64 d8, d2, d8 │ │ │ │ │ vmov.f64 d6, d8 │ │ │ │ │ - vldr d8, [pc, #840] @ 9a0 │ │ │ │ │ + vldr d8, [pc, #828] @ 9c8 │ │ │ │ │ vnmls.f64 d6, d4, d8 │ │ │ │ │ - vldr d8, [pc, #792] @ 978 │ │ │ │ │ + vldr d8, [pc, #788] @ 9a8 │ │ │ │ │ vmul.f64 d8, d5, d8 │ │ │ │ │ - vstr d6, [sp, #808] @ 0x328 │ │ │ │ │ + vstr d6, [sp, #800] @ 0x320 │ │ │ │ │ vmov.f64 d6, d8 │ │ │ │ │ - vldr d8, [pc, #768] @ 970 │ │ │ │ │ + vldr d8, [pc, #748] @ 990 │ │ │ │ │ vmla.f64 d6, d0, d8 │ │ │ │ │ - vldr d8, [pc, #816] @ 9a8 │ │ │ │ │ + vldr d8, [pc, #804] @ 9d0 │ │ │ │ │ vmul.f64 d4, d4, d8 │ │ │ │ │ - vstr d6, [sp, #816] @ 0x330 │ │ │ │ │ + vldr d8, [sp, #328] @ 0x148 │ │ │ │ │ + vstr d6, [sp, #808] @ 0x328 │ │ │ │ │ vmov.f64 d6, d4 │ │ │ │ │ - vldr d4, [pc, #792] @ 9a0 │ │ │ │ │ + vldr d4, [pc, #776] @ 9c8 │ │ │ │ │ vmla.f64 d6, d2, d4 │ │ │ │ │ - vldr d2, [pc, #744] @ 978 │ │ │ │ │ - vstr d6, [sp, #824] @ 0x338 │ │ │ │ │ + vldr d2, [pc, #736] @ 9a8 │ │ │ │ │ + vstr d6, [sp, #816] @ 0x330 │ │ │ │ │ vmul.f64 d6, d0, d2 │ │ │ │ │ vldr d2, [sp, #312] @ 0x138 │ │ │ │ │ vmov.f64 d4, d6 │ │ │ │ │ - vldr d6, [pc, #716] @ 970 │ │ │ │ │ + vldr d6, [pc, #692] @ 990 │ │ │ │ │ vnmls.f64 d4, d5, d6 │ │ │ │ │ vldr d6, [sp, #280] @ 0x118 │ │ │ │ │ vadd.f64 d6, d1, d6 │ │ │ │ │ - vstr d4, [sp, #832] @ 0x340 │ │ │ │ │ + vstr d4, [sp, #824] @ 0x338 │ │ │ │ │ vsub.f64 d4, d6, d2 │ │ │ │ │ vadd.f64 d6, d2, d6 │ │ │ │ │ vldr d2, [sp, #264] @ 0x108 │ │ │ │ │ - vldr d8, [sp, #328] @ 0x148 │ │ │ │ │ - str r1, [sp, #256] @ 0x100 │ │ │ │ │ vadd.f64 d5, d11, d2 │ │ │ │ │ - str r5, [sp, #240] @ 0xf0 │ │ │ │ │ vadd.f64 d2, d8, d5 │ │ │ │ │ vsub.f64 d5, d5, d8 │ │ │ │ │ - vldr d8, [pc, #648] @ 960 │ │ │ │ │ + vldr d8, [pc, #640] @ 988 │ │ │ │ │ vmul.f64 d8, d2, d8 │ │ │ │ │ vmov.f64 d0, d8 │ │ │ │ │ - vldr d8, [pc, #612] @ 948 │ │ │ │ │ + vldr d8, [pc, #604] @ 970 │ │ │ │ │ vnmls.f64 d0, d4, d8 │ │ │ │ │ - vldr d8, [pc, #684] @ 998 │ │ │ │ │ + vldr d8, [pc, #676] @ 9c0 │ │ │ │ │ vmul.f64 d8, d6, d8 │ │ │ │ │ - vstr d0, [sp, #840] @ 0x348 │ │ │ │ │ + vstr d0, [sp, #832] @ 0x340 │ │ │ │ │ vmov.f64 d0, d8 │ │ │ │ │ - vldr d8, [pc, #700] @ 9b8 │ │ │ │ │ + vldr d8, [pc, #684] @ 9d8 │ │ │ │ │ vmla.f64 d0, d5, d8 │ │ │ │ │ - vldr d8, [pc, #604] @ 960 │ │ │ │ │ + vldr d8, [pc, #596] @ 988 │ │ │ │ │ vmul.f64 d4, d4, d8 │ │ │ │ │ - vstr d0, [sp, #848] @ 0x350 │ │ │ │ │ + vstr d0, [sp, #840] @ 0x348 │ │ │ │ │ vmov.f64 d0, d8 │ │ │ │ │ vmov.f64 d8, d4 │ │ │ │ │ - vldr d4, [pc, #560] @ 948 │ │ │ │ │ - vmla.f64 d8, d2, d4 │ │ │ │ │ - vldr d4, [pc, #664] @ 9b8 │ │ │ │ │ - vldr d2, [pc, #628] @ 998 │ │ │ │ │ + vldr d4, [pc, #552] @ 970 │ │ │ │ │ vmov.f64 d10, d0 │ │ │ │ │ + vmla.f64 d8, d2, d4 │ │ │ │ │ + vldr d4, [pc, #644] @ 9d8 │ │ │ │ │ + vldr d2, [pc, #616] @ 9c0 │ │ │ │ │ vmul.f64 d6, d6, d4 │ │ │ │ │ + vstr d8, [sp, #848] @ 0x350 │ │ │ │ │ vnmls.f64 d6, d5, d2 │ │ │ │ │ vldr d5, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d2, [sp, #336] @ 0x150 │ │ │ │ │ - vstr d8, [sp, #856] @ 0x358 │ │ │ │ │ - vadd.f64 d5, d13, d5 │ │ │ │ │ str r4, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d2, [sp, #440] @ 0x1b8 │ │ │ │ │ + vadd.f64 d5, d13, d5 │ │ │ │ │ + vstr d6, [sp, #856] @ 0x358 │ │ │ │ │ vadd.f64 d13, d2, d5 │ │ │ │ │ - vstr d6, [sp, #864] @ 0x360 │ │ │ │ │ vsub.f64 d6, d5, d2 │ │ │ │ │ vldr d5, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d2, [pc, #484] @ 938 │ │ │ │ │ + vldr d2, [pc, #476] @ 960 │ │ │ │ │ vadd.f64 d4, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [pc, #480] @ 940 │ │ │ │ │ + vldr d5, [pc, #472] @ 968 │ │ │ │ │ vmul.f64 d8, d4, d2 │ │ │ │ │ vnmls.f64 d8, d6, d5 │ │ │ │ │ vmul.f64 d6, d6, d2 │ │ │ │ │ - vstr d8, [sp, #872] @ 0x368 │ │ │ │ │ + vstr d8, [sp, #864] @ 0x360 │ │ │ │ │ vmul.f64 d8, d13, d0 │ │ │ │ │ vmov.f64 d0, d8 │ │ │ │ │ - vldr d8, [pc, #460] @ 948 │ │ │ │ │ + vldr d8, [pc, #452] @ 970 │ │ │ │ │ vmla.f64 d0, d7, d8 │ │ │ │ │ vmul.f64 d7, d7, d10 │ │ │ │ │ - vstr d0, [sp, #880] @ 0x370 │ │ │ │ │ + vstr d0, [sp, #872] @ 0x368 │ │ │ │ │ vmov.f64 d0, d6 │ │ │ │ │ vmla.f64 d0, d4, d5 │ │ │ │ │ - vstr d0, [sp, #888] @ 0x378 │ │ │ │ │ + vstr d0, [sp, #880] @ 0x370 │ │ │ │ │ vmov.f64 d0, d7 │ │ │ │ │ vldr d7, [sp, #264] @ 0x108 │ │ │ │ │ - str r2, [sp, #264] @ 0x108 │ │ │ │ │ - vsub.f64 d5, d7, d11 │ │ │ │ │ + vnmls.f64 d0, d13, d8 │ │ │ │ │ + vldr d8, [pc, #460] @ 9a0 │ │ │ │ │ + vsub.f64 d6, d7, d11 │ │ │ │ │ vldr d7, [sp, #280] @ 0x118 │ │ │ │ │ vldr d11, [sp, #320] @ 0x140 │ │ │ │ │ - vnmls.f64 d0, d13, d8 │ │ │ │ │ - vldr d8, [pc, #460] @ 980 │ │ │ │ │ vsub.f64 d7, d7, d1 │ │ │ │ │ - vldr d1, [pc, #468] @ 990 │ │ │ │ │ - vadd.f64 d6, d11, d5 │ │ │ │ │ - vsub.f64 d5, d5, d11 │ │ │ │ │ - vldr d11, [pc, #448] @ 988 │ │ │ │ │ + vldr d1, [pc, #464] @ 9b8 │ │ │ │ │ + vstr d0, [sp, #888] @ 0x378 │ │ │ │ │ + vadd.f64 d5, d11, d6 │ │ │ │ │ + vsub.f64 d6, d6, d11 │ │ │ │ │ + vldr d11, [pc, #440] @ 9b0 │ │ │ │ │ vsub.f64 d4, d7, d9 │ │ │ │ │ vadd.f64 d7, d9, d7 │ │ │ │ │ - vldr d9, [pc, #404] @ 968 │ │ │ │ │ - vstr d0, [sp, #896] @ 0x380 │ │ │ │ │ + vldr d9, [pc, #404] @ 998 │ │ │ │ │ vmul.f64 d2, d4, d11 │ │ │ │ │ vmov.f64 d0, d2 │ │ │ │ │ - vmul.f64 d2, d5, d9 │ │ │ │ │ - vmla.f64 d0, d6, d1 │ │ │ │ │ - vmul.f64 d6, d6, d11 │ │ │ │ │ - vstr d0, [sp, #904] @ 0x388 │ │ │ │ │ + vmul.f64 d2, d6, d9 │ │ │ │ │ + vmla.f64 d0, d5, d1 │ │ │ │ │ + vmul.f64 d5, d5, d11 │ │ │ │ │ + vnmls.f64 d5, d4, d1 │ │ │ │ │ + vstr d0, [sp, #896] @ 0x380 │ │ │ │ │ vmov.f64 d0, d2 │ │ │ │ │ vnmls.f64 d0, d7, d8 │ │ │ │ │ vmul.f64 d7, d7, d9 │ │ │ │ │ - vldr d9, [r2] │ │ │ │ │ - vstr d0, [sp, #912] @ 0x390 │ │ │ │ │ - vmov.f64 d0, d6 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - vnmls.f64 d0, d4, d1 │ │ │ │ │ - vldr d4, [r4] │ │ │ │ │ - vsub.f64 d2, d9, d6 │ │ │ │ │ - vadd.f64 d6, d9, d6 │ │ │ │ │ - lsls r4, r7, #4 │ │ │ │ │ - add.w r8, fp, r4 │ │ │ │ │ - add.w lr, r8, r3 │ │ │ │ │ - add.w r2, lr, r3 │ │ │ │ │ - vstr d0, [sp, #920] @ 0x398 │ │ │ │ │ + vstr d0, [sp, #904] @ 0x388 │ │ │ │ │ vmov.f64 d0, d7 │ │ │ │ │ - vmla.f64 d0, d5, d8 │ │ │ │ │ - vldr d8, [r1] │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ - adds r1, r6, r4 │ │ │ │ │ - movs r4, #56 @ 0x38 │ │ │ │ │ - movs r5, #176 @ 0xb0 │ │ │ │ │ + vstr d5, [sp, #912] @ 0x390 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ + add.w r3, r7, r2 │ │ │ │ │ + add r2, r8 │ │ │ │ │ + mov.w r2, r2, lsl #3 │ │ │ │ │ + vmla.f64 d0, d6, d8 │ │ │ │ │ + vstr d0, [sp, #920] @ 0x398 │ │ │ │ │ + vldr d4, [r4] │ │ │ │ │ + add.w r4, r0, r6 │ │ │ │ │ + add.w r0, r7, r9 │ │ │ │ │ + vldr d8, [r4] │ │ │ │ │ + str r3, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d9, [r0] │ │ │ │ │ + str r0, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + str r4, [sp, #256] @ 0x100 │ │ │ │ │ vsub.f64 d7, d4, d8 │ │ │ │ │ vadd.f64 d4, d4, d8 │ │ │ │ │ - vmul.f64 d8, d6, d14 │ │ │ │ │ - vmul.f64 d6, d6, d3 │ │ │ │ │ - mul.w r5, r7, r5 │ │ │ │ │ + ldr r0, [sp, #136] @ 0x88 │ │ │ │ │ + str r5, [sp, #320] @ 0x140 │ │ │ │ │ + vsub.f64 d2, d9, d6 │ │ │ │ │ + vadd.f64 d6, d9, d6 │ │ │ │ │ + add.w r9, sl, r0 │ │ │ │ │ + add.w r4, r9, r0 │ │ │ │ │ + str r4, [sp, #280] @ 0x118 │ │ │ │ │ vadd.f64 d1, d7, d2 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ - vstr d0, [sp, #928] @ 0x3a0 │ │ │ │ │ - vmov.f64 d11, d6 │ │ │ │ │ - vmov.f64 d9, d8 │ │ │ │ │ - vmla.f64 d9, d4, d3 │ │ │ │ │ + vmul.f64 d8, d6, d14 │ │ │ │ │ + vmul.f64 d6, d6, d3 │ │ │ │ │ vadd.f64 d0, d5, d1 │ │ │ │ │ vmls.f64 d5, d1, d15 │ │ │ │ │ - vldr d1, [pc, #180] @ 930 │ │ │ │ │ + vldr d1, [pc, #176] @ 958 │ │ │ │ │ + vmov.f64 d11, d6 │ │ │ │ │ + vmov.f64 d9, d8 │ │ │ │ │ + vldr d6, [r9] │ │ │ │ │ vnmls.f64 d11, d4, d14 │ │ │ │ │ + vmla.f64 d9, d4, d3 │ │ │ │ │ vmul.f64 d7, d7, d1 │ │ │ │ │ - vstr d9, [sp, #448] @ 0x1c0 │ │ │ │ │ vsub.f64 d13, d5, d7 │ │ │ │ │ - vstr d11, [sp, #456] @ 0x1c8 │ │ │ │ │ - vstr d13, [sp, #464] @ 0x1d0 │ │ │ │ │ + vstr d9, [sp, #440] @ 0x1b8 │ │ │ │ │ + vstr d11, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d9, [sl] │ │ │ │ │ + vstr d13, [sp, #456] @ 0x1c8 │ │ │ │ │ vadd.f64 d13, d5, d7 │ │ │ │ │ - vstr d13, [sp, #472] @ 0x1d8 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - vldr d6, [lr] │ │ │ │ │ - str r2, [sp, #280] @ 0x118 │ │ │ │ │ - str r1, [sp, #272] @ 0x110 │ │ │ │ │ - adds r1, r6, r5 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + add.w r3, r7, lr, lsl #3 │ │ │ │ │ + mov.w lr, #176 @ 0xb0 │ │ │ │ │ + mul.w lr, lr, r8 │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ + str r3, [sp, #288] @ 0x120 │ │ │ │ │ + add.w r3, r7, r2 │ │ │ │ │ vadd.f64 d4, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - mla r2, r4, r7, r6 │ │ │ │ │ - movs r4, #136 @ 0x88 │ │ │ │ │ - str r2, [sp, #288] @ 0x120 │ │ │ │ │ - str r1, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d2, [r2] │ │ │ │ │ - mul.w r4, r7, r4 │ │ │ │ │ - adds r2, r6, r4 │ │ │ │ │ - str r2, [sp, #304] @ 0x130 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + vstr d13, [sp, #464] @ 0x1d0 │ │ │ │ │ + add.w r4, r7, lr │ │ │ │ │ + str r4, [sp, #296] @ 0x128 │ │ │ │ │ + str r3, [sp, #304] @ 0x130 │ │ │ │ │ vadd.f64 d11, d7, d2 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ vsub.f64 d2, d4, d11 │ │ │ │ │ - vadd.f64 d11, d4, d11 │ │ │ │ │ vmul.f64 d10, d7, d3 │ │ │ │ │ - vldr d4, [r2] │ │ │ │ │ + vadd.f64 d11, d4, d11 │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ + vnmls.f64 d10, d6, d14 │ │ │ │ │ vmul.f64 d13, d2, d1 │ │ │ │ │ vmul.f64 d2, d7, d14 │ │ │ │ │ - vnmls.f64 d10, d6, d14 │ │ │ │ │ + vmls.f64 d9, d11, d15 │ │ │ │ │ vmov.f64 d5, d2 │ │ │ │ │ vmla.f64 d5, d6, d3 │ │ │ │ │ - vstr d5, [sp, #936] @ 0x3a8 │ │ │ │ │ - vldr d5, [r8] │ │ │ │ │ - vmls.f64 d5, d11, d15 │ │ │ │ │ - vstr d5, [sp, #488] @ 0x1e8 │ │ │ │ │ - vldr d5, [r1] │ │ │ │ │ - add.w r1, fp, r5 │ │ │ │ │ - movs r5, #96 @ 0x60 │ │ │ │ │ - str r1, [sp, #312] @ 0x138 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - vmov.f64 d6, d5 │ │ │ │ │ - mla r2, r5, r7, r6 │ │ │ │ │ - add.w r5, fp, r4 │ │ │ │ │ - str r2, [sp, #320] @ 0x140 │ │ │ │ │ - add.w r4, fp, ip │ │ │ │ │ - b.n 9c0 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + add.w r4, r6, lr │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + vstr d9, [sp, #480] @ 0x1e0 │ │ │ │ │ + str r4, [sp, #312] @ 0x138 │ │ │ │ │ + vstr d5, [sp, #928] @ 0x3a0 │ │ │ │ │ + b.n 9e8 │ │ │ │ │ + nop │ │ │ │ │ nop.w │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ .word 0xfa1c0796 │ │ │ │ │ .word 0x3fcfd511 │ │ │ │ │ .word 0x1d101ee0 │ │ │ │ │ .word 0x3feefea2 │ │ │ │ │ @@ -649,813 +645,824 @@ │ │ │ │ │ .word 0x3fe1257e │ │ │ │ │ .word 0x1be09379 │ │ │ │ │ .word 0x3fb0130a │ │ │ │ │ .word 0xbfe443fe │ │ │ │ │ .word 0x3fefefd5 │ │ │ │ │ .word 0xff642e86 │ │ │ │ │ .word 0x3feb04bb │ │ │ │ │ - .word 0x5480d903 │ │ │ │ │ - .word 0x3fefbf67 │ │ │ │ │ .word 0x03d2b816 │ │ │ │ │ .word 0x3fe753b6 │ │ │ │ │ - .word 0x55112014 │ │ │ │ │ - .word 0x3fe5e7cf │ │ │ │ │ + .word 0x5480d903 │ │ │ │ │ + .word 0x3fefbf67 │ │ │ │ │ .word 0x5da15be0 │ │ │ │ │ .word 0x3fc00aeb │ │ │ │ │ + .word 0x55112014 │ │ │ │ │ + .word 0x3fe5e7cf │ │ │ │ │ .word 0xc925819c │ │ │ │ │ .word 0x3fdb3ff7 │ │ │ │ │ .word 0xdcdc158c │ │ │ │ │ .word 0x3fecf457 │ │ │ │ │ .word 0x635b6bea │ │ │ │ │ .word 0x3fe8a80b │ │ │ │ │ .word 0x4e81c059 │ │ │ │ │ .word 0x3fec0ab4 │ │ │ │ │ .word 0x5cbfa951 │ │ │ │ │ .word 0x3fded50d │ │ │ │ │ - .word 0x9b97f4a8 │ │ │ │ │ - .word 0x3fe1e377 │ │ │ │ │ .word 0xfeb501bc │ │ │ │ │ .word 0x3fe465c6 │ │ │ │ │ + .word 0x9b97f4a8 │ │ │ │ │ + .word 0x3fe1e377 │ │ │ │ │ vsub.f64 d5, d4, d7 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ + vldr d7, [r5] │ │ │ │ │ + add.w r5, r6, r2 │ │ │ │ │ vldr d2, [r5] │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - ldr r2, [sp, #164] @ 0xa4 │ │ │ │ │ - vstr d6, [sp, #480] @ 0x1e0 │ │ │ │ │ + str r5, [sp, #328] @ 0x148 │ │ │ │ │ vsub.f64 d9, d7, d2 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ - adds r1, r6, r2 │ │ │ │ │ - str r1, [sp, #164] @ 0xa4 │ │ │ │ │ - str r5, [sp, #328] @ 0x148 │ │ │ │ │ - movs r5, #168 @ 0xa8 │ │ │ │ │ vmul.f64 d2, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d14 │ │ │ │ │ - vmla.f64 d7, d4, d3 │ │ │ │ │ - mla r5, r5, r7, r6 │ │ │ │ │ vnmls.f64 d2, d4, d14 │ │ │ │ │ - vstr d7, [sp, #944] @ 0x3b0 │ │ │ │ │ + vmla.f64 d7, d4, d3 │ │ │ │ │ + vstr d2, [sp, #552] @ 0x228 │ │ │ │ │ + vstr d7, [sp, #936] @ 0x3a8 │ │ │ │ │ vsub.f64 d7, d5, d9 │ │ │ │ │ vadd.f64 d9, d5, d9 │ │ │ │ │ - vmov.f64 d5, d6 │ │ │ │ │ - vstr d2, [sp, #560] @ 0x230 │ │ │ │ │ + ldr r3, [sp, #136] @ 0x88 │ │ │ │ │ + vstr d6, [sp, #472] @ 0x1d8 │ │ │ │ │ + ldr r2, [sp, #168] @ 0xa8 │ │ │ │ │ + ldr r0, [sp, #1008] @ 0x3f0 │ │ │ │ │ vmul.f64 d4, d7, d1 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - vmls.f64 d5, d9, d15 │ │ │ │ │ - ldr r1, [sp, #176] @ 0xb0 │ │ │ │ │ - adds r2, r6, r1 │ │ │ │ │ - str r2, [sp, #176] @ 0xb0 │ │ │ │ │ - vstr d4, [sp, #496] @ 0x1f0 │ │ │ │ │ + vmov.f64 d7, d6 │ │ │ │ │ + ldr r5, [sp, #504] @ 0x1f8 │ │ │ │ │ + add r2, r7 │ │ │ │ │ + vmls.f64 d7, d9, d15 │ │ │ │ │ + str r2, [sp, #168] @ 0xa8 │ │ │ │ │ + add r5, r6 │ │ │ │ │ + vstr d4, [sp, #488] @ 0x1e8 │ │ │ │ │ + add.w lr, r5, r3 │ │ │ │ │ + add.w r4, lr, r3 │ │ │ │ │ + vstr d7, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d7, [r2] │ │ │ │ │ + add.w r2, r7, r0 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ - adds r2, r4, r3 │ │ │ │ │ - add.w ip, r2, r3 │ │ │ │ │ + str r2, [sp, #1008] @ 0x3f0 │ │ │ │ │ + ldr r2, [sp, #140] @ 0x8c │ │ │ │ │ vadd.f64 d4, d7, d6 │ │ │ │ │ - vstr d5, [sp, #504] @ 0x1f8 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - ldr r1, [sp, #156] @ 0x9c │ │ │ │ │ - str r5, [sp, #336] @ 0x150 │ │ │ │ │ - adds r1, r6, r1 │ │ │ │ │ - str r1, [sp, #156] @ 0x9c │ │ │ │ │ - vldr d2, [r1] │ │ │ │ │ + vldr d6, [lr] │ │ │ │ │ + add r2, r7 │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ + str r2, [sp, #136] @ 0x88 │ │ │ │ │ + mov.w r2, #168 @ 0xa8 │ │ │ │ │ + mla r2, r2, r8, r7 │ │ │ │ │ vadd.f64 d5, d6, d2 │ │ │ │ │ vsub.f64 d6, d6, d2 │ │ │ │ │ + str r2, [sp, #140] @ 0x8c │ │ │ │ │ vsub.f64 d2, d5, d4 │ │ │ │ │ vadd.f64 d4, d4, d5 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ vmul.f64 d8, d2, d1 │ │ │ │ │ vmul.f64 d2, d7, d14 │ │ │ │ │ + vldr d1, [ip] │ │ │ │ │ vmul.f64 d7, d7, d3 │ │ │ │ │ vmls.f64 d5, d4, d15 │ │ │ │ │ vmla.f64 d2, d6, d3 │ │ │ │ │ - vldr d1, [r9] │ │ │ │ │ - vstr d8, [sp, #512] @ 0x200 │ │ │ │ │ - vnmls.f64 d7, d6, d14 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - add.w r5, ip, r3 │ │ │ │ │ - add r3, r5 │ │ │ │ │ - vstr d5, [sp, #520] @ 0x208 │ │ │ │ │ - vldr d5, [r5] │ │ │ │ │ - vstr d2, [sp, #576] @ 0x240 │ │ │ │ │ - vldr d8, [r3] │ │ │ │ │ - vstr d7, [sp, #952] @ 0x3b8 │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ + vstr d8, [sp, #504] @ 0x1f8 │ │ │ │ │ + vmov.f64 d8, d7 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + vnmls.f64 d8, d6, d14 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + add.w r2, r4, r3 │ │ │ │ │ + vstr d5, [sp, #512] @ 0x200 │ │ │ │ │ + add r3, r2 │ │ │ │ │ + vldr d5, [r2] │ │ │ │ │ + vstr d2, [sp, #568] @ 0x238 │ │ │ │ │ vadd.f64 d2, d7, d5 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ + vstr d8, [sp, #944] @ 0x3b0 │ │ │ │ │ + vldr d8, [r3] │ │ │ │ │ vsub.f64 d7, d1, d8 │ │ │ │ │ vadd.f64 d1, d1, d8 │ │ │ │ │ vmul.f64 d8, d5, d3 │ │ │ │ │ vmul.f64 d5, d5, d14 │ │ │ │ │ vmla.f64 d5, d1, d3 │ │ │ │ │ vnmls.f64 d8, d1, d14 │ │ │ │ │ vadd.f64 d1, d2, d7 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ - vldr d2, [pc, #-364] @ 960 │ │ │ │ │ - vstr d5, [sp, #968] @ 0x3c8 │ │ │ │ │ - vldr d5, [pc, #-292] @ 9b0 │ │ │ │ │ - vstr d8, [sp, #960] @ 0x3c0 │ │ │ │ │ - vmov.f64 d8, d6 │ │ │ │ │ - vmls.f64 d8, d7, d15 │ │ │ │ │ + vldr d2, [pc, #-384] @ 988 │ │ │ │ │ + vstr d8, [sp, #952] @ 0x3b8 │ │ │ │ │ + vstr d5, [sp, #960] @ 0x3c0 │ │ │ │ │ + vldr d5, [pc, #-308] @ 9e0 │ │ │ │ │ + vldr d8, [sl] │ │ │ │ │ vmul.f64 d1, d1, d5 │ │ │ │ │ - vldr d5, [sp, #480] @ 0x1e0 │ │ │ │ │ - vstr d13, [sp, #480] @ 0x1e0 │ │ │ │ │ - vstr d8, [sp, #528] @ 0x210 │ │ │ │ │ - vldr d8, [r8] │ │ │ │ │ + vmov.f64 d5, d6 │ │ │ │ │ vadd.f64 d11, d8, d11 │ │ │ │ │ - vldr d8, [r4] │ │ │ │ │ + vldr d8, [r5] │ │ │ │ │ + vmls.f64 d5, d7, d15 │ │ │ │ │ vadd.f64 d4, d8, d4 │ │ │ │ │ - vstr d11, [sp, #536] @ 0x218 │ │ │ │ │ - vstr d4, [sp, #544] @ 0x220 │ │ │ │ │ + vadd.f64 d8, d6, d7 │ │ │ │ │ + vstr d5, [sp, #520] @ 0x208 │ │ │ │ │ + vstr d11, [sp, #528] @ 0x210 │ │ │ │ │ + vstr d4, [sp, #536] @ 0x218 │ │ │ │ │ vadd.f64 d4, d11, d4 │ │ │ │ │ + vldr d5, [sp, #472] @ 0x1d8 │ │ │ │ │ + vstr d13, [sp, #472] @ 0x1d8 │ │ │ │ │ + vldr d7, [sp, #496] @ 0x1f0 │ │ │ │ │ + vstr d8, [sp, #544] @ 0x220 │ │ │ │ │ vadd.f64 d11, d5, d9 │ │ │ │ │ - vadd.f64 d5, d6, d7 │ │ │ │ │ - vldr d9, [sp, #560] @ 0x230 │ │ │ │ │ - vadd.f64 d7, d11, d5 │ │ │ │ │ - vstr d5, [sp, #552] @ 0x228 │ │ │ │ │ - vldr d5, [sp, #488] @ 0x1e8 │ │ │ │ │ - vsub.f64 d6, d5, d13 │ │ │ │ │ - vldr d5, [sp, #504] @ 0x1f8 │ │ │ │ │ - vldr d13, [sp, #496] @ 0x1f0 │ │ │ │ │ - vstr d7, [sp, #976] @ 0x3d0 │ │ │ │ │ - vsub.f64 d7, d5, d13 │ │ │ │ │ - vsub.f64 d8, d6, d9 │ │ │ │ │ - vadd.f64 d6, d9, d6 │ │ │ │ │ - vldr d5, [pc, #-508] @ 948 │ │ │ │ │ + vldr d5, [sp, #552] @ 0x228 │ │ │ │ │ + vadd.f64 d9, d11, d8 │ │ │ │ │ + vstr d9, [sp, #968] @ 0x3c8 │ │ │ │ │ + vldr d9, [sp, #480] @ 0x1e0 │ │ │ │ │ + vsub.f64 d6, d9, d13 │ │ │ │ │ + vldr d13, [sp, #488] @ 0x1e8 │ │ │ │ │ + vsub.f64 d7, d7, d13 │ │ │ │ │ + vsub.f64 d8, d6, d5 │ │ │ │ │ + vadd.f64 d6, d5, d6 │ │ │ │ │ + vldr d5, [pc, #-528] @ 970 │ │ │ │ │ vadd.f64 d9, d10, d7 │ │ │ │ │ vsub.f64 d7, d7, d10 │ │ │ │ │ vmov.f64 d13, d5 │ │ │ │ │ vmul.f64 d2, d9, d2 │ │ │ │ │ vnmls.f64 d2, d8, d5 │ │ │ │ │ - vldr d5, [pc, #-524] @ 950 │ │ │ │ │ - vstr d2, [sp, #984] @ 0x3d8 │ │ │ │ │ - vldr d2, [pc, #-524] @ 958 │ │ │ │ │ + vldr d5, [pc, #-544] @ 978 │ │ │ │ │ + vstr d2, [sp, #976] @ 0x3d0 │ │ │ │ │ + vldr d2, [pc, #-544] @ 980 │ │ │ │ │ vmul.f64 d10, d6, d2 │ │ │ │ │ vmla.f64 d10, d7, d5 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ vnmls.f64 d7, d6, d5 │ │ │ │ │ - vstr d10, [sp, #560] @ 0x230 │ │ │ │ │ - vldr d10, [pc, #-540] @ 960 │ │ │ │ │ + vldr d6, [sp, #512] @ 0x200 │ │ │ │ │ + vstr d10, [sp, #552] @ 0x228 │ │ │ │ │ + vldr d10, [pc, #-564] @ 988 │ │ │ │ │ + vstr d7, [sp, #984] @ 0x3d8 │ │ │ │ │ vmul.f64 d8, d8, d10 │ │ │ │ │ + vldr d10, [sp, #568] @ 0x238 │ │ │ │ │ vmla.f64 d8, d9, d13 │ │ │ │ │ - vstr d8, [sp, #568] @ 0x238 │ │ │ │ │ - vstr d7, [sp, #992] @ 0x3e0 │ │ │ │ │ - vldr d13, [sp, #512] @ 0x200 │ │ │ │ │ - vldr d9, [sp, #520] @ 0x208 │ │ │ │ │ - vldr d10, [sp, #576] @ 0x240 │ │ │ │ │ - vadd.f64 d7, d13, d9 │ │ │ │ │ - vldr d9, [sp, #968] @ 0x3c8 │ │ │ │ │ - vsub.f64 d8, d7, d9 │ │ │ │ │ - vadd.f64 d7, d9, d7 │ │ │ │ │ - vldr d9, [sp, #528] @ 0x210 │ │ │ │ │ - vadd.f64 d6, d1, d9 │ │ │ │ │ + vldr d13, [sp, #504] @ 0x1f8 │ │ │ │ │ + vadd.f64 d7, d13, d6 │ │ │ │ │ + vldr d6, [sp, #960] @ 0x3c0 │ │ │ │ │ + vstr d8, [sp, #560] @ 0x230 │ │ │ │ │ + vsub.f64 d8, d7, d6 │ │ │ │ │ + vadd.f64 d7, d6, d7 │ │ │ │ │ + vldr d6, [sp, #520] @ 0x208 │ │ │ │ │ + vadd.f64 d6, d1, d6 │ │ │ │ │ vadd.f64 d9, d10, d6 │ │ │ │ │ vsub.f64 d6, d6, d10 │ │ │ │ │ - vldr d10, [pc, #-580] @ 978 │ │ │ │ │ + vldr d10, [pc, #-592] @ 9a8 │ │ │ │ │ vmul.f64 d10, d9, d10 │ │ │ │ │ vmov.f64 d13, d10 │ │ │ │ │ - vldr d10, [pc, #-600] @ 970 │ │ │ │ │ + vldr d10, [pc, #-628] @ 990 │ │ │ │ │ vnmls.f64 d13, d8, d10 │ │ │ │ │ - vldr d10, [pc, #-616] @ 968 │ │ │ │ │ + vldr d10, [pc, #-628] @ 998 │ │ │ │ │ vmul.f64 d10, d6, d10 │ │ │ │ │ - vstr d13, [sp, #968] @ 0x3c8 │ │ │ │ │ + vstr d13, [sp, #960] @ 0x3c0 │ │ │ │ │ vmov.f64 d13, d10 │ │ │ │ │ - vldr d10, [pc, #-608] @ 980 │ │ │ │ │ + vldr d10, [pc, #-636] @ 9a0 │ │ │ │ │ vnmls.f64 d13, d7, d10 │ │ │ │ │ - vldr d10, [pc, #-624] @ 978 │ │ │ │ │ + vldr d10, [pc, #-636] @ 9a8 │ │ │ │ │ vmul.f64 d8, d8, d10 │ │ │ │ │ - vldr d10, [pc, #-640] @ 970 │ │ │ │ │ + vldr d10, [pc, #-668] @ 990 │ │ │ │ │ + vstr d13, [sp, #992] @ 0x3e0 │ │ │ │ │ + vldr d13, [sp, #472] @ 0x1d8 │ │ │ │ │ vmla.f64 d8, d9, d10 │ │ │ │ │ - vldr d9, [pc, #-656] @ 968 │ │ │ │ │ - vldr d10, [sp, #936] @ 0x3a8 │ │ │ │ │ - vstr d13, [sp, #1000] @ 0x3e8 │ │ │ │ │ + vldr d9, [pc, #-676] @ 998 │ │ │ │ │ + vldr d10, [sp, #928] @ 0x3a0 │ │ │ │ │ vmul.f64 d7, d7, d9 │ │ │ │ │ - vldr d13, [sp, #480] @ 0x1e0 │ │ │ │ │ + vstr d8, [sp, #568] @ 0x238 │ │ │ │ │ vmov.f64 d9, d7 │ │ │ │ │ - vldr d7, [pc, #-656] @ 980 │ │ │ │ │ - vstr d8, [sp, #576] @ 0x240 │ │ │ │ │ + vldr d7, [pc, #-688] @ 9a0 │ │ │ │ │ vmla.f64 d9, d6, d7 │ │ │ │ │ - vldr d7, [sp, #488] @ 0x1e8 │ │ │ │ │ - vldr d6, [sp, #504] @ 0x1f8 │ │ │ │ │ - vadd.f64 d7, d13, d7 │ │ │ │ │ - vldr d13, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d6, [sp, #496] @ 0x1f0 │ │ │ │ │ + vstr d9, [sp, #1000] @ 0x3e8 │ │ │ │ │ + vldr d9, [sp, #480] @ 0x1e0 │ │ │ │ │ + vadd.f64 d7, d13, d9 │ │ │ │ │ + vldr d13, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d9, [sp, #936] @ 0x3a8 │ │ │ │ │ vadd.f64 d6, d13, d6 │ │ │ │ │ - vstr d9, [sp, #1008] @ 0x3f0 │ │ │ │ │ - vldr d9, [sp, #944] @ 0x3b0 │ │ │ │ │ vsub.f64 d8, d7, d9 │ │ │ │ │ vadd.f64 d7, d9, d7 │ │ │ │ │ vadd.f64 d9, d10, d6 │ │ │ │ │ vsub.f64 d6, d6, d10 │ │ │ │ │ - vldr d10, [pc, #-672] @ 9a8 │ │ │ │ │ + vldr d10, [pc, #-692] @ 9d0 │ │ │ │ │ vmul.f64 d10, d9, d10 │ │ │ │ │ vmov.f64 d13, d10 │ │ │ │ │ - vldr d10, [pc, #-692] @ 9a0 │ │ │ │ │ + vldr d10, [pc, #-712] @ 9c8 │ │ │ │ │ vnmls.f64 d13, d8, d10 │ │ │ │ │ - vldr d10, [pc, #-724] @ 988 │ │ │ │ │ + vldr d10, [pc, #-744] @ 9b0 │ │ │ │ │ vmul.f64 d10, d6, d10 │ │ │ │ │ - vstr d13, [sp, #936] @ 0x3a8 │ │ │ │ │ + vstr d13, [sp, #928] @ 0x3a0 │ │ │ │ │ vmov.f64 d13, d10 │ │ │ │ │ - vldr d10, [pc, #-732] @ 990 │ │ │ │ │ + vldr d10, [pc, #-752] @ 9b8 │ │ │ │ │ vnmls.f64 d13, d7, d10 │ │ │ │ │ - vldr d10, [pc, #-716] @ 9a8 │ │ │ │ │ + vldr d10, [pc, #-736] @ 9d0 │ │ │ │ │ vmul.f64 d8, d8, d10 │ │ │ │ │ - vldr d10, [pc, #-732] @ 9a0 │ │ │ │ │ + vldr d10, [pc, #-752] @ 9c8 │ │ │ │ │ vmla.f64 d8, d9, d10 │ │ │ │ │ - vldr d10, [pc, #-748] @ 998 │ │ │ │ │ - vstr d8, [sp, #480] @ 0x1e0 │ │ │ │ │ - vldr d8, [pc, #-772] @ 988 │ │ │ │ │ + vldr d10, [pc, #-768] @ 9c0 │ │ │ │ │ + vstr d8, [sp, #472] @ 0x1d8 │ │ │ │ │ + vldr d8, [pc, #-792] @ 9b0 │ │ │ │ │ vmul.f64 d7, d7, d8 │ │ │ │ │ vmov.f64 d9, d7 │ │ │ │ │ - vldr d7, [pc, #-776] @ 990 │ │ │ │ │ + vldr d7, [pc, #-796] @ 9b8 │ │ │ │ │ vmla.f64 d9, d6, d7 │ │ │ │ │ - vldr d7, [sp, #520] @ 0x208 │ │ │ │ │ - vldr d6, [sp, #960] @ 0x3c0 │ │ │ │ │ - vstr d9, [sp, #944] @ 0x3b0 │ │ │ │ │ - vldr d9, [sp, #512] @ 0x200 │ │ │ │ │ + vldr d7, [sp, #512] @ 0x200 │ │ │ │ │ + vstr d9, [sp, #936] @ 0x3a8 │ │ │ │ │ + vldr d9, [sp, #504] @ 0x1f8 │ │ │ │ │ + vldr d6, [sp, #952] @ 0x3b8 │ │ │ │ │ + ldr r0, [sp, #144] @ 0x90 │ │ │ │ │ vsub.f64 d7, d7, d9 │ │ │ │ │ - vldr d9, [sp, #952] @ 0x3b8 │ │ │ │ │ + vldr d9, [sp, #944] @ 0x3b0 │ │ │ │ │ vsub.f64 d8, d7, d6 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ - vldr d6, [sp, #528] @ 0x210 │ │ │ │ │ + vldr d6, [sp, #520] @ 0x208 │ │ │ │ │ vsub.f64 d6, d6, d1 │ │ │ │ │ vadd.f64 d1, d9, d6 │ │ │ │ │ vsub.f64 d6, d6, d9 │ │ │ │ │ vmul.f64 d9, d1, d2 │ │ │ │ │ vnmls.f64 d9, d8, d5 │ │ │ │ │ vmul.f64 d8, d8, d2 │ │ │ │ │ vmov.f64 d2, d8 │ │ │ │ │ + vstr d9, [sp, #512] @ 0x200 │ │ │ │ │ vmla.f64 d2, d1, d5 │ │ │ │ │ - vldr d5, [pc, #-812] @ 9b8 │ │ │ │ │ - vldr d1, [pc, #-824] @ 9b0 │ │ │ │ │ - vstr d9, [sp, #488] @ 0x1e8 │ │ │ │ │ - vldr d9, [pc, #-824] @ 9b8 │ │ │ │ │ + vldr d9, [pc, #-844] @ 9d8 │ │ │ │ │ + vldr d5, [pc, #-848] @ 9d8 │ │ │ │ │ + vldr d1, [sp, #968] @ 0x3c8 │ │ │ │ │ vmul.f64 d9, d6, d9 │ │ │ │ │ - vstr d2, [sp, #504] @ 0x1f8 │ │ │ │ │ + vstr d2, [sp, #488] @ 0x1e8 │ │ │ │ │ vnmls.f64 d9, d7, d10 │ │ │ │ │ vmul.f64 d7, d7, d5 │ │ │ │ │ - vldr d5, [sp, #792] @ 0x318 │ │ │ │ │ + vldr d5, [sp, #784] @ 0x310 │ │ │ │ │ vmla.f64 d7, d6, d10 │ │ │ │ │ - vldr d6, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d6, [sp, #368] @ 0x170 │ │ │ │ │ vsub.f64 d2, d5, d4 │ │ │ │ │ vadd.f64 d4, d5, d4 │ │ │ │ │ - vmul.f64 d2, d2, d1 │ │ │ │ │ - vstr d9, [sp, #496] @ 0x1f0 │ │ │ │ │ + vstr d9, [sp, #480] @ 0x1e0 │ │ │ │ │ + vldr d9, [pc, #-888] @ 9e0 │ │ │ │ │ vmls.f64 d6, d4, d15 │ │ │ │ │ - vstr d7, [sp, #528] @ 0x210 │ │ │ │ │ - vmov.f64 d9, d0 │ │ │ │ │ + vstr d7, [sp, #520] @ 0x208 │ │ │ │ │ + vmul.f64 d2, d2, d9 │ │ │ │ │ vmov.f64 d7, d6 │ │ │ │ │ vadd.f64 d6, d2, d6 │ │ │ │ │ vsub.f64 d5, d7, d2 │ │ │ │ │ - vldr d7, [sp, #976] @ 0x3d0 │ │ │ │ │ - vstr d5, [sp, #512] @ 0x200 │ │ │ │ │ - vldr d5, [sp, #800] @ 0x320 │ │ │ │ │ - vsub.f64 d8, d5, d7 │ │ │ │ │ - vadd.f64 d5, d5, d7 │ │ │ │ │ - vmov.f64 d7, d0 │ │ │ │ │ + vldr d7, [sp, #424] @ 0x1a8 │ │ │ │ │ + vldr d2, [sp, #432] @ 0x1b0 │ │ │ │ │ + vstr d5, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d5, [sp, #792] @ 0x318 │ │ │ │ │ + vsub.f64 d8, d5, d1 │ │ │ │ │ + vadd.f64 d5, d5, d1 │ │ │ │ │ + vmul.f64 d8, d8, d9 │ │ │ │ │ + vmov.f64 d9, d0 │ │ │ │ │ vmls.f64 d9, d5, d15 │ │ │ │ │ - vmul.f64 d8, d8, d1 │ │ │ │ │ - vadd.f64 d5, d7, d5 │ │ │ │ │ - vadd.f64 d0, d8, d9 │ │ │ │ │ + vadd.f64 d5, d0, d5 │ │ │ │ │ vsub.f64 d1, d9, d8 │ │ │ │ │ - vstr d0, [sp, #520] @ 0x208 │ │ │ │ │ - vldr d2, [sp, #432] @ 0x1b0 │ │ │ │ │ - vldr d10, [sp, #440] @ 0x1b8 │ │ │ │ │ - vldr d7, [sp, #64] @ 0x40 │ │ │ │ │ - ldr r1, [sp, #140] @ 0x8c │ │ │ │ │ - vsub.f64 d8, d2, d10 │ │ │ │ │ - vldr d2, [sp, #552] @ 0x228 │ │ │ │ │ - vldr d10, [sp, #424] @ 0x1a8 │ │ │ │ │ - vsub.f64 d11, d11, d2 │ │ │ │ │ - vldr d2, [sp, #416] @ 0x1a0 │ │ │ │ │ + vadd.f64 d10, d8, d9 │ │ │ │ │ + vsub.f64 d8, d7, d2 │ │ │ │ │ + vldr d2, [sp, #408] @ 0x198 │ │ │ │ │ + vldr d7, [sp, #544] @ 0x220 │ │ │ │ │ + vstr d10, [sp, #504] @ 0x1f8 │ │ │ │ │ + vldr d10, [sp, #416] @ 0x1a0 │ │ │ │ │ + vsub.f64 d11, d11, d7 │ │ │ │ │ vmul.f64 d9, d11, d14 │ │ │ │ │ vmul.f64 d11, d11, d3 │ │ │ │ │ - vmov.f64 d0, d9 │ │ │ │ │ - vsub.f64 d9, d2, d10 │ │ │ │ │ - vldr d2, [sp, #536] @ 0x218 │ │ │ │ │ - vmla.f64 d0, d8, d3 │ │ │ │ │ - vldr d10, [sp, #544] @ 0x220 │ │ │ │ │ vnmls.f64 d11, d8, d14 │ │ │ │ │ + vmov.f64 d7, d9 │ │ │ │ │ + vsub.f64 d9, d2, d10 │ │ │ │ │ + vldr d2, [sp, #528] @ 0x210 │ │ │ │ │ + vldr d10, [sp, #536] @ 0x218 │ │ │ │ │ + vmla.f64 d7, d8, d3 │ │ │ │ │ vsub.f64 d8, d2, d10 │ │ │ │ │ - vldr d2, [sp, #376] @ 0x178 │ │ │ │ │ + vldr d2, [sp, #368] @ 0x170 │ │ │ │ │ + vmul.f64 d10, d8, d14 │ │ │ │ │ vadd.f64 d4, d2, d4 │ │ │ │ │ vldr d2, [sp, #120] @ 0x78 │ │ │ │ │ - vmul.f64 d10, d8, d14 │ │ │ │ │ vmul.f64 d8, d8, d3 │ │ │ │ │ + vmov.f64 d0, d7 │ │ │ │ │ + vldr d7, [sp, #64] @ 0x40 │ │ │ │ │ vmla.f64 d10, d9, d3 │ │ │ │ │ - vstr d4, [fp] │ │ │ │ │ - vsub.f64 d4, d6, d0 │ │ │ │ │ - vstr d5, [r6] │ │ │ │ │ + vstr d4, [r6] │ │ │ │ │ vnmls.f64 d8, d9, d14 │ │ │ │ │ - vldr d5, [sp, #520] @ 0x208 │ │ │ │ │ + vsub.f64 d4, d6, d0 │ │ │ │ │ + vstr d5, [r7] │ │ │ │ │ vadd.f64 d6, d6, d0 │ │ │ │ │ + vldr d5, [sp, #504] @ 0x1f8 │ │ │ │ │ vadd.f64 d9, d5, d10 │ │ │ │ │ vmul.f64 d5, d7, d9 │ │ │ │ │ vldr d7, [sp, #64] @ 0x40 │ │ │ │ │ vnmls.f64 d5, d2, d4 │ │ │ │ │ - vstr d5, [r1] │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ vmul.f64 d5, d2, d9 │ │ │ │ │ - vmla.f64 d5, d7, d4 │ │ │ │ │ vsub.f64 d9, d1, d8 │ │ │ │ │ - ldr r1, [sp, #216] @ 0xd8 │ │ │ │ │ + ldr r0, [sp, #212] @ 0xd4 │ │ │ │ │ vadd.f64 d8, d1, d8 │ │ │ │ │ - vldr d7, [sp, #696] @ 0x2b8 │ │ │ │ │ - vldr d4, [sp, #512] @ 0x200 │ │ │ │ │ - vldr d2, [sp, #704] @ 0x2c0 │ │ │ │ │ - vldr d1, [sp, #88] @ 0x58 │ │ │ │ │ + vmla.f64 d5, d7, d4 │ │ │ │ │ + vldr d4, [sp, #496] @ 0x1f0 │ │ │ │ │ vadd.f64 d4, d4, d11 │ │ │ │ │ - vstr d5, [r1] │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ + vldr d7, [sp, #688] @ 0x2b0 │ │ │ │ │ + vstr d13, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d1, [sp, #88] @ 0x58 │ │ │ │ │ + vldr d2, [sp, #696] @ 0x2b8 │ │ │ │ │ vmul.f64 d5, d7, d9 │ │ │ │ │ + ldr r0, [sp, #200] @ 0xc8 │ │ │ │ │ + vldr d0, [sp, #840] @ 0x348 │ │ │ │ │ vnmls.f64 d5, d2, d4 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ vmul.f64 d5, d2, d9 │ │ │ │ │ + ldr r1, [sp, #156] @ 0x9c │ │ │ │ │ vmla.f64 d5, d7, d4 │ │ │ │ │ - ldr r0, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d4, [sp, #512] @ 0x200 │ │ │ │ │ + vldr d4, [sp, #496] @ 0x1f0 │ │ │ │ │ vsub.f64 d7, d4, d11 │ │ │ │ │ vldr d4, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d11, [sp, #888] @ 0x378 │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ vmul.f64 d5, d1, d8 │ │ │ │ │ - ldr r0, [sp, #148] @ 0x94 │ │ │ │ │ + ldr r0, [sp, #208] @ 0xd0 │ │ │ │ │ vnmls.f64 d5, d4, d7 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ + vstr d5, [r1] │ │ │ │ │ vmul.f64 d5, d4, d8 │ │ │ │ │ + ldr r1, [sp, #256] @ 0x100 │ │ │ │ │ + vldr d4, [sp, #624] @ 0x270 │ │ │ │ │ vmla.f64 d5, d1, d7 │ │ │ │ │ - ldr r0, [sp, #212] @ 0xd4 │ │ │ │ │ + vldr d1, [sp, #872] @ 0x368 │ │ │ │ │ + vldr d8, [sp, #936] @ 0x3a8 │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ - vldr d5, [sp, #520] @ 0x208 │ │ │ │ │ + ldr r0, [sp, #188] @ 0xbc │ │ │ │ │ + vldr d5, [sp, #504] @ 0x1f8 │ │ │ │ │ vsub.f64 d2, d5, d10 │ │ │ │ │ - vldr d5, [sp, #640] @ 0x280 │ │ │ │ │ - vldr d4, [sp, #632] @ 0x278 │ │ │ │ │ - ldr r1, [sp, #256] @ 0x100 │ │ │ │ │ - vstr d13, [sp, #64] @ 0x40 │ │ │ │ │ + vldr d5, [sp, #632] @ 0x278 │ │ │ │ │ + vldr d10, [sp, #1000] @ 0x3e8 │ │ │ │ │ vmul.f64 d7, d5, d2 │ │ │ │ │ - ldr r0, [sp, #188] @ 0xbc │ │ │ │ │ - vldr d0, [sp, #848] @ 0x350 │ │ │ │ │ - vldr d1, [sp, #880] @ 0x370 │ │ │ │ │ - vldr d10, [sp, #1008] @ 0x3f0 │ │ │ │ │ vnmls.f64 d7, d4, d6 │ │ │ │ │ - vldr d8, [sp, #944] @ 0x3b0 │ │ │ │ │ - vldr d11, [sp, #896] @ 0x380 │ │ │ │ │ vstr d7, [r1] │ │ │ │ │ vmul.f64 d7, d4, d2 │ │ │ │ │ + vmov.f64 d4, d13 │ │ │ │ │ + vldr d2, [sp, #856] @ 0x358 │ │ │ │ │ + vldr d13, [sp, #992] @ 0x3e0 │ │ │ │ │ vmla.f64 d7, d5, d6 │ │ │ │ │ - vmov.f64 d5, d13 │ │ │ │ │ - vldr d13, [sp, #1000] @ 0x3e8 │ │ │ │ │ - vldr d2, [sp, #864] @ 0x360 │ │ │ │ │ - ldr r1, [sp, #208] @ 0xd0 │ │ │ │ │ - vsub.f64 d4, d5, d13 │ │ │ │ │ + vsub.f64 d4, d4, d13 │ │ │ │ │ vmul.f64 d6, d4, d14 │ │ │ │ │ vstr d7, [r0] │ │ │ │ │ vadd.f64 d7, d0, d1 │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ - ldr r0, [sp, #192] @ 0xc0 │ │ │ │ │ vmov.f64 d5, d6 │ │ │ │ │ - vmla.f64 d5, d7, d3 │ │ │ │ │ vnmls.f64 d4, d7, d14 │ │ │ │ │ + vmla.f64 d5, d7, d3 │ │ │ │ │ vsub.f64 d7, d11, d2 │ │ │ │ │ vstr d5, [sp, #72] @ 0x48 │ │ │ │ │ vsub.f64 d5, d10, d8 │ │ │ │ │ vmul.f64 d6, d5, d14 │ │ │ │ │ vmul.f64 d5, d5, d3 │ │ │ │ │ vmla.f64 d6, d7, d3 │ │ │ │ │ vnmls.f64 d5, d7, d14 │ │ │ │ │ - vldr d7, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d7, [sp, #440] @ 0x1b8 │ │ │ │ │ vstr d6, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d6, [sp, #408] @ 0x198 │ │ │ │ │ + vldr d6, [sp, #400] @ 0x190 │ │ │ │ │ vadd.f64 d9, d6, d7 │ │ │ │ │ vadd.f64 d7, d10, d8 │ │ │ │ │ + vldr d10, [sp, #464] @ 0x1d0 │ │ │ │ │ vadd.f64 d6, d2, d11 │ │ │ │ │ - vldr d10, [sp, #472] @ 0x1d8 │ │ │ │ │ vmov.f64 d11, d9 │ │ │ │ │ vsub.f64 d2, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [pc, #976] @ 12e0 │ │ │ │ │ + vldr d7, [pc, #976] @ 1318 │ │ │ │ │ vmul.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d7, [sp, #376] @ 0x178 │ │ │ │ │ vmls.f64 d11, d2, d15 │ │ │ │ │ vadd.f64 d2, d9, d2 │ │ │ │ │ vldr d9, [sp, #48] @ 0x30 │ │ │ │ │ + ldr r0, [sp, #148] @ 0x94 │ │ │ │ │ vsub.f64 d8, d10, d7 │ │ │ │ │ vsub.f64 d7, d1, d0 │ │ │ │ │ vldr d0, [sp, #64] @ 0x40 │ │ │ │ │ + ldr r1, [sp, #192] @ 0xc0 │ │ │ │ │ vadd.f64 d10, d13, d0 │ │ │ │ │ vmov.f64 d13, d8 │ │ │ │ │ - vldr d0, [pc, #932] @ 12e0 │ │ │ │ │ + vldr d0, [pc, #928] @ 1318 │ │ │ │ │ vadd.f64 d1, d7, d10 │ │ │ │ │ vsub.f64 d7, d7, d10 │ │ │ │ │ vmls.f64 d13, d1, d15 │ │ │ │ │ vadd.f64 d1, d8, d1 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ vmov.f64 d10, d13 │ │ │ │ │ vldr d13, [sp, #56] @ 0x38 │ │ │ │ │ vmul.f64 d8, d13, d1 │ │ │ │ │ vmul.f64 d1, d9, d1 │ │ │ │ │ - vmla.f64 d1, d13, d2 │ │ │ │ │ - vldr d13, [sp, #680] @ 0x2a8 │ │ │ │ │ vnmls.f64 d8, d9, d2 │ │ │ │ │ - vldr d9, [sp, #672] @ 0x2a0 │ │ │ │ │ - vstr d8, [r1] │ │ │ │ │ + vmla.f64 d1, d13, d2 │ │ │ │ │ + vldr d9, [sp, #664] @ 0x298 │ │ │ │ │ + vldr d13, [sp, #672] @ 0x2a0 │ │ │ │ │ + vstr d8, [r0] │ │ │ │ │ vsub.f64 d8, d10, d7 │ │ │ │ │ - ldr r1, [sp, #144] @ 0x90 │ │ │ │ │ vadd.f64 d7, d7, d10 │ │ │ │ │ - vstr d1, [r1] │ │ │ │ │ + ldr r0, [sp, #152] @ 0x98 │ │ │ │ │ + vldr d10, [sp, #336] @ 0x150 │ │ │ │ │ + vstr d1, [r0] │ │ │ │ │ vsub.f64 d1, d11, d6 │ │ │ │ │ vadd.f64 d11, d11, d6 │ │ │ │ │ + ldr r0, [sp, #264] @ 0x108 │ │ │ │ │ vsub.f64 d2, d1, d4 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ vadd.f64 d1, d5, d8 │ │ │ │ │ vsub.f64 d5, d8, d5 │ │ │ │ │ vmul.f64 d8, d13, d1 │ │ │ │ │ vmul.f64 d1, d9, d1 │ │ │ │ │ - vmla.f64 d1, d13, d2 │ │ │ │ │ vnmls.f64 d8, d9, d2 │ │ │ │ │ - vstr d8, [r0] │ │ │ │ │ - ldr r0, [sp, #264] @ 0x108 │ │ │ │ │ + vmla.f64 d1, d13, d2 │ │ │ │ │ + vldr d13, [sp, #72] @ 0x48 │ │ │ │ │ + vldr d9, [sp, #680] @ 0x2a8 │ │ │ │ │ + vsub.f64 d6, d11, d13 │ │ │ │ │ + vadd.f64 d11, d13, d11 │ │ │ │ │ + vldr d13, [sp, #88] @ 0x58 │ │ │ │ │ + vstr d8, [r1] │ │ │ │ │ vstr d1, [r0] │ │ │ │ │ - vldr d1, [sp, #656] @ 0x290 │ │ │ │ │ - vldr d9, [sp, #688] @ 0x2b0 │ │ │ │ │ ldr r1, [sp, #196] @ 0xc4 │ │ │ │ │ + vldr d1, [sp, #648] @ 0x288 │ │ │ │ │ + ldr r0, [sp, #248] @ 0xf8 │ │ │ │ │ vmul.f64 d2, d1, d5 │ │ │ │ │ - vldr d13, [sp, #72] @ 0x48 │ │ │ │ │ vmul.f64 d5, d9, d5 │ │ │ │ │ - vldr d10, [sp, #344] @ 0x158 │ │ │ │ │ - vmla.f64 d5, d1, d4 │ │ │ │ │ - ldr r0, [sp, #220] @ 0xdc │ │ │ │ │ - vsub.f64 d6, d11, d13 │ │ │ │ │ - vadd.f64 d11, d13, d11 │ │ │ │ │ vnmls.f64 d2, d9, d4 │ │ │ │ │ - vldr d13, [sp, #88] @ 0x58 │ │ │ │ │ - vldr d1, [sp, #824] @ 0x338 │ │ │ │ │ - vldr d8, [sp, #984] @ 0x3d8 │ │ │ │ │ - vldr d9, [sp, #488] @ 0x1e8 │ │ │ │ │ - vldr d0, [sp, #904] @ 0x388 │ │ │ │ │ + vmla.f64 d5, d1, d4 │ │ │ │ │ vstr d2, [r1] │ │ │ │ │ - ldr r1, [sp, #248] @ 0xf8 │ │ │ │ │ - vldr d2, [sp, #352] @ 0x160 │ │ │ │ │ - vstr d5, [r1] │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ vadd.f64 d5, d13, d7 │ │ │ │ │ vsub.f64 d7, d7, d13 │ │ │ │ │ - ldr r1, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d13, [sp, #568] @ 0x238 │ │ │ │ │ + ldr r1, [sp, #160] @ 0xa0 │ │ │ │ │ + vldr d2, [sp, #344] @ 0x158 │ │ │ │ │ + ldr r0, [sp, #216] @ 0xd8 │ │ │ │ │ vmul.f64 d4, d10, d5 │ │ │ │ │ vmul.f64 d5, d2, d5 │ │ │ │ │ - vmla.f64 d5, d10, d6 │ │ │ │ │ - vldr d10, [sp, #920] @ 0x398 │ │ │ │ │ vnmls.f64 d4, d2, d6 │ │ │ │ │ - vldr d2, [sp, #368] @ 0x170 │ │ │ │ │ + vldr d2, [sp, #360] @ 0x168 │ │ │ │ │ + vmla.f64 d5, d10, d6 │ │ │ │ │ vmul.f64 d6, d2, d7 │ │ │ │ │ vmul.f64 d7, d12, d7 │ │ │ │ │ - vmla.f64 d7, d2, d11 │ │ │ │ │ - vldr d2, [sp, #808] @ 0x328 │ │ │ │ │ - vnmls.f64 d6, d12, d11 │ │ │ │ │ - vldr d12, [sp, #504] @ 0x1f8 │ │ │ │ │ vstr d4, [r0] │ │ │ │ │ + vnmls.f64 d6, d12, d11 │ │ │ │ │ ldr r0, [sp, #204] @ 0xcc │ │ │ │ │ + vmla.f64 d7, d2, d11 │ │ │ │ │ vstr d5, [r1] │ │ │ │ │ - vsub.f64 d4, d13, d12 │ │ │ │ │ - vsub.f64 d5, d8, d9 │ │ │ │ │ - vldr d11, [sp, #456] @ 0x1c8 │ │ │ │ │ - vmul.f64 d13, d4, d14 │ │ │ │ │ - vmul.f64 d4, d4, d3 │ │ │ │ │ vstr d6, [r0] │ │ │ │ │ - vmul.f64 d12, d5, d14 │ │ │ │ │ ldr r0, [sp, #240] @ 0xf0 │ │ │ │ │ - vmul.f64 d5, d5, d3 │ │ │ │ │ - vldr d6, [sp, #400] @ 0x190 │ │ │ │ │ vstr d7, [r0] │ │ │ │ │ + ldr r0, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d12, [sp, #488] @ 0x1e8 │ │ │ │ │ + vldr d13, [sp, #560] @ 0x230 │ │ │ │ │ + vldr d1, [sp, #816] @ 0x330 │ │ │ │ │ + vldr d10, [sp, #912] @ 0x390 │ │ │ │ │ + vldr d8, [sp, #512] @ 0x200 │ │ │ │ │ + vsub.f64 d4, d13, d12 │ │ │ │ │ + vldr d6, [sp, #976] @ 0x3d0 │ │ │ │ │ + vldr d2, [sp, #800] @ 0x320 │ │ │ │ │ vsub.f64 d7, d1, d10 │ │ │ │ │ - vsub.f64 d9, d6, d11 │ │ │ │ │ - vsub.f64 d6, d2, d0 │ │ │ │ │ + vldr d0, [sp, #896] @ 0x380 │ │ │ │ │ + vmul.f64 d13, d4, d14 │ │ │ │ │ + vmul.f64 d4, d4, d3 │ │ │ │ │ + vsub.f64 d5, d6, d8 │ │ │ │ │ + vadd.f64 d6, d6, d8 │ │ │ │ │ + vldr d9, [sp, #392] @ 0x188 │ │ │ │ │ + vldr d11, [sp, #448] @ 0x1c0 │ │ │ │ │ vmla.f64 d13, d7, d3 │ │ │ │ │ vnmls.f64 d4, d7, d14 │ │ │ │ │ vadd.f64 d7, d2, d0 │ │ │ │ │ - vldr d0, [pc, #592] @ 12e0 │ │ │ │ │ - vmov.f64 d11, d9 │ │ │ │ │ + ldr r1, [sp, #320] @ 0x140 │ │ │ │ │ + vmul.f64 d12, d5, d14 │ │ │ │ │ + vmul.f64 d5, d5, d3 │ │ │ │ │ + vsub.f64 d9, d9, d11 │ │ │ │ │ vmla.f64 d12, d7, d3 │ │ │ │ │ vnmls.f64 d5, d7, d14 │ │ │ │ │ - vldr d7, [sp, #488] @ 0x1e8 │ │ │ │ │ - vadd.f64 d7, d8, d7 │ │ │ │ │ - vadd.f64 d2, d6, d7 │ │ │ │ │ - vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [sp, #392] @ 0x188 │ │ │ │ │ - vmul.f64 d6, d6, d0 │ │ │ │ │ - vldr d0, [sp, #464] @ 0x1d0 │ │ │ │ │ + vsub.f64 d7, d2, d0 │ │ │ │ │ + vldr d0, [pc, #572] @ 1318 │ │ │ │ │ + vmov.f64 d11, d9 │ │ │ │ │ + vadd.f64 d2, d7, d6 │ │ │ │ │ + vsub.f64 d7, d7, d6 │ │ │ │ │ + vldr d6, [sp, #456] @ 0x1c8 │ │ │ │ │ + vmul.f64 d7, d7, d0 │ │ │ │ │ + vldr d0, [sp, #560] @ 0x230 │ │ │ │ │ vmls.f64 d11, d2, d15 │ │ │ │ │ vadd.f64 d2, d9, d2 │ │ │ │ │ - vadd.f64 d8, d7, d0 │ │ │ │ │ - vldr d0, [sp, #568] @ 0x238 │ │ │ │ │ - vadd.f64 d7, d1, d10 │ │ │ │ │ - vldr d1, [sp, #504] @ 0x1f8 │ │ │ │ │ vldr d9, [sp] │ │ │ │ │ - ldr r1, [sp, #272] @ 0x110 │ │ │ │ │ + vstr d7, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d7, [sp, #384] @ 0x180 │ │ │ │ │ + vadd.f64 d8, d7, d6 │ │ │ │ │ + vadd.f64 d6, d1, d10 │ │ │ │ │ + vldr d1, [sp, #488] @ 0x1e8 │ │ │ │ │ vadd.f64 d10, d0, d1 │ │ │ │ │ - vldr d0, [pc, #512] @ 12e0 │ │ │ │ │ - ldr r0, [sp, #280] @ 0x118 │ │ │ │ │ - vadd.f64 d1, d7, d10 │ │ │ │ │ - vsub.f64 d7, d7, d10 │ │ │ │ │ - vmul.f64 d7, d7, d0 │ │ │ │ │ - vmov.f64 d0, d7 │ │ │ │ │ vmov.f64 d7, d8 │ │ │ │ │ + vldr d0, [pc, #504] @ 1318 │ │ │ │ │ + vadd.f64 d1, d6, d10 │ │ │ │ │ + vsub.f64 d6, d6, d10 │ │ │ │ │ vmls.f64 d7, d1, d15 │ │ │ │ │ vadd.f64 d1, d8, d1 │ │ │ │ │ - vstr d0, [sp] │ │ │ │ │ + vmul.f64 d6, d6, d0 │ │ │ │ │ + vldr d0, [sp, #584] @ 0x248 │ │ │ │ │ vmul.f64 d8, d9, d1 │ │ │ │ │ vmov.f64 d10, d7 │ │ │ │ │ vldr d7, [sp, #8] │ │ │ │ │ vmul.f64 d1, d7, d1 │ │ │ │ │ vnmls.f64 d8, d7, d2 │ │ │ │ │ + vldr d7, [sp, #48] @ 0x30 │ │ │ │ │ vmla.f64 d1, d9, d2 │ │ │ │ │ - vldr d9, [sp, #584] @ 0x248 │ │ │ │ │ - vldr d7, [sp, #720] @ 0x2d0 │ │ │ │ │ - vstr d8, [r8] │ │ │ │ │ - vsub.f64 d8, d10, d0 │ │ │ │ │ - vstr d1, [r1] │ │ │ │ │ - vsub.f64 d1, d11, d6 │ │ │ │ │ - vldr d0, [sp, #592] @ 0x250 │ │ │ │ │ - vadd.f64 d6, d6, d11 │ │ │ │ │ - ldr r1, [sp, #296] @ 0x128 │ │ │ │ │ + vldr d9, [sp, #576] @ 0x240 │ │ │ │ │ + vstr d8, [sl] │ │ │ │ │ + vsub.f64 d8, d10, d6 │ │ │ │ │ + vadd.f64 d6, d6, d10 │ │ │ │ │ + vstr d1, [r0] │ │ │ │ │ + vsub.f64 d1, d11, d7 │ │ │ │ │ + ldr r0, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d7, [sp, #712] @ 0x2c8 │ │ │ │ │ vsub.f64 d2, d1, d4 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ vadd.f64 d1, d5, d8 │ │ │ │ │ vsub.f64 d5, d8, d5 │ │ │ │ │ vmul.f64 d8, d0, d1 │ │ │ │ │ vmul.f64 d1, d9, d1 │ │ │ │ │ - vmla.f64 d1, d0, d2 │ │ │ │ │ vnmls.f64 d8, d9, d2 │ │ │ │ │ + vmla.f64 d1, d0, d2 │ │ │ │ │ vstr d8, [r0] │ │ │ │ │ - ldr r0, [sp, #320] @ 0x140 │ │ │ │ │ - vstr d1, [r0] │ │ │ │ │ - vldr d1, [sp, #784] @ 0x310 │ │ │ │ │ - ldr r0, [sp, #328] @ 0x148 │ │ │ │ │ + vstr d1, [r1] │ │ │ │ │ + ldr r0, [sp, #304] @ 0x130 │ │ │ │ │ + vldr d1, [sp, #776] @ 0x308 │ │ │ │ │ + ldr r1, [sp, #328] @ 0x148 │ │ │ │ │ vmul.f64 d2, d1, d5 │ │ │ │ │ vmul.f64 d5, d7, d5 │ │ │ │ │ - vmla.f64 d5, d1, d4 │ │ │ │ │ vnmls.f64 d2, d7, d4 │ │ │ │ │ - vldr d7, [sp] │ │ │ │ │ - vadd.f64 d7, d7, d10 │ │ │ │ │ + vmla.f64 d5, d1, d4 │ │ │ │ │ + vadd.f64 d4, d12, d6 │ │ │ │ │ + vsub.f64 d6, d6, d12 │ │ │ │ │ + vstr d2, [r1] │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ + vldr d7, [sp, #48] @ 0x30 │ │ │ │ │ vldr d10, [sp, #112] @ 0x70 │ │ │ │ │ - vadd.f64 d4, d12, d7 │ │ │ │ │ - vsub.f64 d7, d7, d12 │ │ │ │ │ - vstr d2, [r0] │ │ │ │ │ - ldr r0, [sp, #304] @ 0x130 │ │ │ │ │ vldr d12, [sp, #128] @ 0x80 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ + vadd.f64 d7, d7, d11 │ │ │ │ │ + ldr r0, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d9, [sp, #392] @ 0x188 │ │ │ │ │ vmul.f64 d2, d12, d4 │ │ │ │ │ - vsub.f64 d5, d6, d13 │ │ │ │ │ vmul.f64 d4, d10, d4 │ │ │ │ │ - ldr r0, [sp, #288] @ 0x120 │ │ │ │ │ - vadd.f64 d6, d13, d6 │ │ │ │ │ + vldr d1, [sp, #808] @ 0x328 │ │ │ │ │ + vsub.f64 d5, d7, d13 │ │ │ │ │ + vadd.f64 d7, d13, d7 │ │ │ │ │ + vldr d0, [sp, #904] @ 0x388 │ │ │ │ │ + vldr d13, [sp, #480] @ 0x1e0 │ │ │ │ │ + vldr d8, [sp, #520] @ 0x208 │ │ │ │ │ vnmls.f64 d2, d10, d5 │ │ │ │ │ vmla.f64 d4, d12, d5 │ │ │ │ │ - vldr d10, [sp, #712] @ 0x2c8 │ │ │ │ │ - vmul.f64 d5, d10, d7 │ │ │ │ │ - vstr d2, [lr] │ │ │ │ │ + vldr d11, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d10, [sp, #704] @ 0x2c0 │ │ │ │ │ + vldr d12, [sp, #552] @ 0x228 │ │ │ │ │ + vadd.f64 d9, d9, d11 │ │ │ │ │ + vmul.f64 d5, d10, d6 │ │ │ │ │ + vstr d2, [r9] │ │ │ │ │ vstr d4, [r0] │ │ │ │ │ - vldr d4, [sp, #664] @ 0x298 │ │ │ │ │ ldr r0, [sp, #312] @ 0x138 │ │ │ │ │ - vmul.f64 d7, d4, d7 │ │ │ │ │ - vnmls.f64 d5, d4, d6 │ │ │ │ │ - vmla.f64 d7, d10, d6 │ │ │ │ │ - vstr d5, [r0] │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ - vldr d1, [sp, #816] @ 0x330 │ │ │ │ │ - vldr d12, [sp, #560] @ 0x230 │ │ │ │ │ - vldr d13, [sp, #496] @ 0x1f0 │ │ │ │ │ - vldr d0, [sp, #912] @ 0x390 │ │ │ │ │ - vldr d8, [sp, #528] @ 0x210 │ │ │ │ │ + vmov.f64 d11, d9 │ │ │ │ │ + vldr d4, [sp, #656] @ 0x290 │ │ │ │ │ + vldr d2, [sp, #920] @ 0x398 │ │ │ │ │ + vnmls.f64 d5, d4, d7 │ │ │ │ │ + vmul.f64 d6, d4, d6 │ │ │ │ │ vsub.f64 d4, d12, d13 │ │ │ │ │ - vldr d6, [sp, #992] @ 0x3e0 │ │ │ │ │ + vmla.f64 d6, d10, d7 │ │ │ │ │ + vldr d10, [sp, #824] @ 0x338 │ │ │ │ │ vsub.f64 d7, d1, d0 │ │ │ │ │ - vldr d10, [sp, #832] @ 0x340 │ │ │ │ │ - vldr d2, [sp, #928] @ 0x3a0 │ │ │ │ │ - vadd.f64 d5, d6, d8 │ │ │ │ │ - vsub.f64 d6, d6, d8 │ │ │ │ │ vmul.f64 d13, d4, d14 │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ + ldr r0, [sp, #296] @ 0x128 │ │ │ │ │ vmla.f64 d13, d7, d3 │ │ │ │ │ - vldr d11, [sp, #456] @ 0x1c8 │ │ │ │ │ - vldr d9, [sp, #400] @ 0x190 │ │ │ │ │ - vmul.f64 d12, d5, d14 │ │ │ │ │ - vmul.f64 d5, d5, d3 │ │ │ │ │ vnmls.f64 d4, d7, d14 │ │ │ │ │ vadd.f64 d7, d10, d2 │ │ │ │ │ - vadd.f64 d9, d9, d11 │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ ldr r0, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d6, [sp, #984] @ 0x3d8 │ │ │ │ │ + vadd.f64 d5, d6, d8 │ │ │ │ │ + vsub.f64 d6, d6, d8 │ │ │ │ │ + vmul.f64 d12, d5, d14 │ │ │ │ │ + vmul.f64 d5, d5, d3 │ │ │ │ │ vmla.f64 d12, d7, d3 │ │ │ │ │ vnmls.f64 d5, d7, d14 │ │ │ │ │ vsub.f64 d7, d10, d2 │ │ │ │ │ - vldr d10, [sp, #392] @ 0x188 │ │ │ │ │ - vmov.f64 d11, d9 │ │ │ │ │ + vldr d10, [sp, #384] @ 0x180 │ │ │ │ │ vadd.f64 d2, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [pc, #132] @ 12e0 │ │ │ │ │ + vldr d6, [pc, #132] @ 1318 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #464] @ 0x1d0 │ │ │ │ │ + vldr d6, [sp, #456] @ 0x1c8 │ │ │ │ │ vmls.f64 d11, d2, d15 │ │ │ │ │ vadd.f64 d2, d9, d2 │ │ │ │ │ vldr d9, [sp, #32] │ │ │ │ │ vsub.f64 d8, d6, d10 │ │ │ │ │ + vldr d10, [sp, #480] @ 0x1e0 │ │ │ │ │ vadd.f64 d6, d1, d0 │ │ │ │ │ - vldr d10, [sp, #496] @ 0x1f0 │ │ │ │ │ - vldr d0, [sp, #560] @ 0x230 │ │ │ │ │ + vldr d0, [sp, #552] @ 0x228 │ │ │ │ │ vadd.f64 d10, d0, d10 │ │ │ │ │ - vldr d0, [pc, #88] @ 12e0 │ │ │ │ │ + vldr d0, [pc, #88] @ 1318 │ │ │ │ │ vadd.f64 d1, d6, d10 │ │ │ │ │ vsub.f64 d6, d6, d10 │ │ │ │ │ vmov.f64 d10, d8 │ │ │ │ │ - vmls.f64 d10, d1, d15 │ │ │ │ │ - vadd.f64 d1, d8, d1 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ vldr d0, [sp, #40] @ 0x28 │ │ │ │ │ + vmls.f64 d10, d1, d15 │ │ │ │ │ + vadd.f64 d1, d8, d1 │ │ │ │ │ vmul.f64 d8, d0, d1 │ │ │ │ │ vmul.f64 d1, d9, d1 │ │ │ │ │ - vmla.f64 d1, d0, d2 │ │ │ │ │ - vldr d0, [sp, #600] @ 0x258 │ │ │ │ │ vnmls.f64 d8, d9, d2 │ │ │ │ │ - vldr d9, [sp, #616] @ 0x268 │ │ │ │ │ - vstr d8, [r4] │ │ │ │ │ + vmla.f64 d1, d0, d2 │ │ │ │ │ + vldr d9, [sp, #608] @ 0x260 │ │ │ │ │ + vstr d8, [r5] │ │ │ │ │ vsub.f64 d8, d10, d6 │ │ │ │ │ + vadd.f64 d6, d6, d10 │ │ │ │ │ vstr d1, [r0] │ │ │ │ │ vsub.f64 d1, d11, d7 │ │ │ │ │ - ldr r0, [sp, #228] @ 0xe4 │ │ │ │ │ - vadd.f64 d6, d6, d10 │ │ │ │ │ vadd.f64 d7, d7, d11 │ │ │ │ │ - vsub.f64 d2, d1, d4 │ │ │ │ │ - vadd.f64 d4, d4, d1 │ │ │ │ │ - b.n 12f0 │ │ │ │ │ + vldr d0, [sp, #592] @ 0x250 │ │ │ │ │ + ldr r1, [sp, #176] @ 0xb0 │ │ │ │ │ + ldr r0, [sp, #224] @ 0xe0 │ │ │ │ │ + b.n 1328 │ │ │ │ │ + nop │ │ │ │ │ + nop.w │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ + vsub.f64 d2, d1, d4 │ │ │ │ │ + vadd.f64 d4, d4, d1 │ │ │ │ │ vadd.f64 d1, d5, d8 │ │ │ │ │ vsub.f64 d5, d8, d5 │ │ │ │ │ + vldr d10, [sp, #768] @ 0x300 │ │ │ │ │ + vldr d11, [sp, #928] @ 0x3a0 │ │ │ │ │ vmul.f64 d8, d9, d1 │ │ │ │ │ vmul.f64 d1, d0, d1 │ │ │ │ │ - vmla.f64 d1, d9, d2 │ │ │ │ │ vnmls.f64 d8, d0, d2 │ │ │ │ │ - vstr d8, [ip] │ │ │ │ │ + vmla.f64 d1, d9, d2 │ │ │ │ │ + vldr d9, [sp, #400] @ 0x190 │ │ │ │ │ + vldr d0, [sp, #848] @ 0x350 │ │ │ │ │ + vstr d8, [r4] │ │ │ │ │ + vldr d8, [sp, #720] @ 0x2d0 │ │ │ │ │ vstr d1, [r0] │ │ │ │ │ - vldr d1, [sp, #752] @ 0x2f0 │ │ │ │ │ - vldr d8, [sp, #728] @ 0x2d8 │ │ │ │ │ - ldr r0, [sp, #236] @ 0xec │ │ │ │ │ + ldr r0, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d1, [sp, #744] @ 0x2e8 │ │ │ │ │ vmul.f64 d2, d1, d5 │ │ │ │ │ vmul.f64 d5, d8, d5 │ │ │ │ │ - vmla.f64 d5, d1, d4 │ │ │ │ │ - vldr d1, [sp, #360] @ 0x168 │ │ │ │ │ vnmls.f64 d2, d8, d4 │ │ │ │ │ - vadd.f64 d4, d12, d6 │ │ │ │ │ + vmla.f64 d5, d1, d4 │ │ │ │ │ vldr d8, [sp, #104] @ 0x68 │ │ │ │ │ + vadd.f64 d4, d12, d6 │ │ │ │ │ vsub.f64 d6, d6, d12 │ │ │ │ │ - vstr d2, [r5] │ │ │ │ │ + vldr d1, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d12, [sp, #472] @ 0x1d8 │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ vmul.f64 d2, d8, d4 │ │ │ │ │ + vmul.f64 d4, d1, d4 │ │ │ │ │ vstr d5, [r0] │ │ │ │ │ vsub.f64 d5, d7, d13 │ │ │ │ │ - vmul.f64 d4, d1, d4 │ │ │ │ │ vadd.f64 d7, d13, d7 │ │ │ │ │ vnmls.f64 d2, d1, d5 │ │ │ │ │ vmla.f64 d4, d8, d5 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - ldr r2, [sp, #172] @ 0xac │ │ │ │ │ - vldr d10, [sp, #776] @ 0x308 │ │ │ │ │ - vldr d12, [sp, #480] @ 0x1e0 │ │ │ │ │ - vldr d1, [sp, #888] @ 0x378 │ │ │ │ │ - vstr d4, [r2] │ │ │ │ │ - vldr d4, [sp, #744] @ 0x2e8 │ │ │ │ │ - vldr d0, [sp, #856] @ 0x358 │ │ │ │ │ - vldr d11, [sp, #936] @ 0x3a8 │ │ │ │ │ + vldr d8, [sp, #832] @ 0x340 │ │ │ │ │ + vldr d1, [sp, #880] @ 0x370 │ │ │ │ │ + vstr d2, [lr] │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ + ldr r1, [sp, #220] @ 0xdc │ │ │ │ │ + vldr d4, [sp, #736] @ 0x2e0 │ │ │ │ │ + vldr d2, [sp, #960] @ 0x3c0 │ │ │ │ │ vmul.f64 d5, d4, d6 │ │ │ │ │ vmul.f64 d6, d10, d6 │ │ │ │ │ - vmla.f64 d6, d4, d7 │ │ │ │ │ - vldr d2, [sp, #968] @ 0x3c8 │ │ │ │ │ - vldr d8, [sp, #840] @ 0x348 │ │ │ │ │ - ldr r2, [sp, #224] @ 0xe0 │ │ │ │ │ vnmls.f64 d5, d10, d7 │ │ │ │ │ + vmla.f64 d6, d4, d7 │ │ │ │ │ + vldr d10, [sp, #864] @ 0x360 │ │ │ │ │ vsub.f64 d7, d1, d0 │ │ │ │ │ - vldr d10, [sp, #872] @ 0x368 │ │ │ │ │ - vldr d9, [sp, #408] @ 0x198 │ │ │ │ │ - ldr r0, [sp, #156] @ 0x9c │ │ │ │ │ vstr d5, [r3] │ │ │ │ │ - vldr d5, [sp, #576] @ 0x240 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ + vldr d5, [sp, #568] @ 0x238 │ │ │ │ │ + vstr d6, [r1] │ │ │ │ │ vadd.f64 d6, d2, d11 │ │ │ │ │ - ldr r3, [sp, #160] @ 0xa0 │ │ │ │ │ vsub.f64 d4, d12, d5 │ │ │ │ │ vsub.f64 d5, d11, d2 │ │ │ │ │ vmul.f64 d13, d4, d14 │ │ │ │ │ vmul.f64 d4, d4, d3 │ │ │ │ │ - vmla.f64 d13, d7, d3 │ │ │ │ │ vmul.f64 d12, d5, d14 │ │ │ │ │ vmul.f64 d5, d5, d3 │ │ │ │ │ + vmla.f64 d13, d7, d3 │ │ │ │ │ vnmls.f64 d4, d7, d14 │ │ │ │ │ vsub.f64 d7, d10, d8 │ │ │ │ │ vmla.f64 d12, d7, d3 │ │ │ │ │ vnmls.f64 d5, d7, d14 │ │ │ │ │ - vldr d7, [sp, #448] @ 0x1c0 │ │ │ │ │ + vldr d7, [sp, #440] @ 0x1b8 │ │ │ │ │ vsub.f64 d9, d9, d7 │ │ │ │ │ vadd.f64 d7, d8, d10 │ │ │ │ │ - vldr d10, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d10, [sp, #376] @ 0x178 │ │ │ │ │ vadd.f64 d2, d7, d6 │ │ │ │ │ vmov.f64 d8, d9 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [pc, #-280] @ 12e8 │ │ │ │ │ + vldr d6, [pc, #-284] @ 1320 │ │ │ │ │ vmls.f64 d8, d2, d15 │ │ │ │ │ vadd.f64 d2, d9, d2 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d6, d0, d1 │ │ │ │ │ - vldr d0, [sp, #576] @ 0x240 │ │ │ │ │ - vldr d9, [sp, #24] │ │ │ │ │ + vldr d0, [sp, #568] @ 0x238 │ │ │ │ │ vmov.f64 d11, d8 │ │ │ │ │ - vldr d8, [sp, #472] @ 0x1d8 │ │ │ │ │ + vldr d8, [sp, #464] @ 0x1d0 │ │ │ │ │ vadd.f64 d8, d10, d8 │ │ │ │ │ - vldr d10, [sp, #480] @ 0x1e0 │ │ │ │ │ + vldr d10, [sp, #472] @ 0x1d8 │ │ │ │ │ + vldr d9, [sp, #24] │ │ │ │ │ + ldr r1, [sp, #136] @ 0x88 │ │ │ │ │ vadd.f64 d10, d0, d10 │ │ │ │ │ - vldr d0, [pc, #-328] @ 12e8 │ │ │ │ │ + vldr d0, [pc, #-332] @ 1320 │ │ │ │ │ + ldr r2, [sp, #164] @ 0xa4 │ │ │ │ │ + ldr r3, [sp, #172] @ 0xac │ │ │ │ │ vadd.f64 d1, d6, d10 │ │ │ │ │ vsub.f64 d6, d6, d10 │ │ │ │ │ + ldr r4, [sp, #228] @ 0xe4 │ │ │ │ │ vmov.f64 d10, d8 │ │ │ │ │ vmls.f64 d10, d1, d15 │ │ │ │ │ - vadd.f64 d1, d8, d1 │ │ │ │ │ vldr d15, [sp, #16] │ │ │ │ │ + vadd.f64 d1, d8, d1 │ │ │ │ │ vmul.f64 d6, d6, d0 │ │ │ │ │ - vldr d0, [sp, #608] @ 0x260 │ │ │ │ │ + vldr d0, [sp, #600] @ 0x258 │ │ │ │ │ vmul.f64 d8, d9, d1 │ │ │ │ │ vmul.f64 d1, d15, d1 │ │ │ │ │ - vmla.f64 d1, d9, d2 │ │ │ │ │ vnmls.f64 d8, d15, d2 │ │ │ │ │ - vldr d15, [sp, #624] @ 0x270 │ │ │ │ │ - vstr d8, [r3] │ │ │ │ │ + vmla.f64 d1, d9, d2 │ │ │ │ │ + vldr d15, [sp, #616] @ 0x268 │ │ │ │ │ + vldr d9, [sp, #728] @ 0x2d8 │ │ │ │ │ + vstr d8, [r2] │ │ │ │ │ vsub.f64 d8, d10, d6 │ │ │ │ │ - vstr d1, [r0] │ │ │ │ │ - vsub.f64 d1, d11, d7 │ │ │ │ │ - ldr r3, [sp, #168] @ 0xa8 │ │ │ │ │ vadd.f64 d6, d6, d10 │ │ │ │ │ + vstr d1, [r1] │ │ │ │ │ + vsub.f64 d1, d11, d7 │ │ │ │ │ vadd.f64 d7, d7, d11 │ │ │ │ │ + vldr d11, [sp, #80] @ 0x50 │ │ │ │ │ + ldr r2, [sp, #168] @ 0xa8 │ │ │ │ │ vsub.f64 d2, d1, d4 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ vadd.f64 d1, d5, d8 │ │ │ │ │ vsub.f64 d5, d8, d5 │ │ │ │ │ vmul.f64 d8, d0, d1 │ │ │ │ │ vmul.f64 d1, d15, d1 │ │ │ │ │ - vmla.f64 d1, d0, d2 │ │ │ │ │ vnmls.f64 d8, d15, d2 │ │ │ │ │ + vmla.f64 d1, d0, d2 │ │ │ │ │ vstr d8, [r3] │ │ │ │ │ - ldr r3, [sp, #164] @ 0xa4 │ │ │ │ │ - vstr d1, [r3] │ │ │ │ │ - vldr d8, [sp, #648] @ 0x288 │ │ │ │ │ - vldr d9, [sp, #736] @ 0x2e0 │ │ │ │ │ - ldr r4, [sp, #232] @ 0xe8 │ │ │ │ │ + vstr d1, [r2] │ │ │ │ │ + vldr d8, [sp, #640] @ 0x280 │ │ │ │ │ + vldr d1, [sp, #96] @ 0x60 │ │ │ │ │ + ldr r3, [sp, #236] @ 0xec │ │ │ │ │ vmul.f64 d2, d8, d5 │ │ │ │ │ - vldr d11, [sp, #80] @ 0x50 │ │ │ │ │ vmul.f64 d5, d9, d5 │ │ │ │ │ - vldr d1, [sp, #96] @ 0x60 │ │ │ │ │ - vmla.f64 d5, d8, d4 │ │ │ │ │ - ldr r2, [sp, #176] @ 0xb0 │ │ │ │ │ - ldr r1, [sp, #180] @ 0xb4 │ │ │ │ │ + ldr r2, [sp, #1008] @ 0x3f0 │ │ │ │ │ vnmls.f64 d2, d9, d4 │ │ │ │ │ + vmla.f64 d5, d8, d4 │ │ │ │ │ vadd.f64 d4, d12, d6 │ │ │ │ │ vsub.f64 d6, d6, d12 │ │ │ │ │ - ldr.w r3, [sp, #1136] @ 0x470 │ │ │ │ │ - ldr r5, [sp, #1016] @ 0x3f8 │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str.w r3, [sp, #1136] @ 0x470 │ │ │ │ │ - ldr r3, [sp, #1020] @ 0x3fc │ │ │ │ │ - add fp, r3 │ │ │ │ │ - ldr.w r3, [sp, #1024] @ 0x400 │ │ │ │ │ vstr d2, [r4] │ │ │ │ │ vmul.f64 d2, d11, d4 │ │ │ │ │ - vstr d5, [r9] │ │ │ │ │ - vsub.f64 d5, d7, d13 │ │ │ │ │ vmul.f64 d4, d1, d4 │ │ │ │ │ + vstr d5, [ip] │ │ │ │ │ + vsub.f64 d5, d7, d13 │ │ │ │ │ vadd.f64 d7, d13, d7 │ │ │ │ │ - add r6, r3 │ │ │ │ │ - ldr.w r3, [sp, #1028] @ 0x404 │ │ │ │ │ + ldr r4, [sp, #180] @ 0xb4 │ │ │ │ │ vnmls.f64 d2, d1, d5 │ │ │ │ │ vmla.f64 d4, d11, d5 │ │ │ │ │ - vldr d1, [sp, #768] @ 0x300 │ │ │ │ │ - eors r7, r3 │ │ │ │ │ - ldr.w r3, [sp, #1140] @ 0x474 │ │ │ │ │ + vldr d1, [sp, #760] @ 0x2f8 │ │ │ │ │ vmul.f64 d5, d1, d6 │ │ │ │ │ - vstr d2, [r1] │ │ │ │ │ + vstr d2, [r4] │ │ │ │ │ vstr d4, [r2] │ │ │ │ │ - vldr d4, [sp, #760] @ 0x2f8 │ │ │ │ │ - ldr.w r2, [sp, #1136] @ 0x470 │ │ │ │ │ + ldr r2, [sp, #140] @ 0x8c │ │ │ │ │ + vldr d4, [sp, #752] @ 0x2f0 │ │ │ │ │ vnmls.f64 d5, d4, d7 │ │ │ │ │ vmul.f64 d6, d4, d6 │ │ │ │ │ vmla.f64 d6, d1, d7 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + ldr.w r3, [sp, #1128] @ 0x468 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + str.w r3, [sp, #1128] @ 0x468 │ │ │ │ │ + ldr r3, [sp, #1012] @ 0x3f4 │ │ │ │ │ + ldr.w r2, [sp, #1128] @ 0x468 │ │ │ │ │ + add r6, r3 │ │ │ │ │ + ldr r3, [sp, #1016] @ 0x3f8 │ │ │ │ │ + add r7, r3 │ │ │ │ │ + ldr r3, [sp, #1020] @ 0x3fc │ │ │ │ │ + eor.w r8, r8, r3 │ │ │ │ │ + ldr.w r3, [sp, #1132] @ 0x46c │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - vstr d5, [r5] │ │ │ │ │ - ldr r5, [sp, #336] @ 0x150 │ │ │ │ │ - vstr d6, [r5] │ │ │ │ │ - bne.w 4e │ │ │ │ │ - addw sp, sp, #1036 @ 0x40c │ │ │ │ │ + bne.w 5c │ │ │ │ │ + addw sp, sp, #1028 @ 0x404 │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -00001558 : │ │ │ │ │ +000015a8 : │ │ │ │ │ fftw_codelet_hb2_25(): │ │ │ │ │ - ldr r2, [pc, #8] @ (1564 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (1568 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (15b4 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (15b8 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2hc_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── hb2_32.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 6764 (bytes into file) │ │ │ │ │ + Start of section headers: 6904 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x1a6c: │ │ │ │ │ +There are 14 section headers, starting at offset 0x1af8: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 001708 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0019b4 000028 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 00173c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 00173c 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 00173c 000007 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 001743 000014 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 001757 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 0019dc 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 001787 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 001787 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 0017bc 000170 10 12 18 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 00192c 000088 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 0019f4 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 001794 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 001a40 000028 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0017c8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0017c8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0017c8 000007 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 0017cf 000014 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0017e3 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 001a68 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 001813 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 001813 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 001848 000170 10 12 18 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0019b8 000088 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 001a80 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,26 +1,26 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 23 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 5876 FUNC LOCAL DEFAULT 1 hb2_32 │ │ │ │ │ + 1: 00000001 6016 FUNC LOCAL DEFAULT 1 hb2_32 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000920 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000940 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000d50 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 6: 00000d70 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 7: 00001538 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 8: 00001558 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 9: 00001700 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000940 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000960 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000dc0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 6: 00000de0 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 7: 000015a8 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 8: 000015c8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 9: 0000178c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 10: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 11: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 12: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 13: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 14: 00000000 20 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 15: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 16: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 17: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ 18: 00000000 0 NOTYPE GLOBAL DEFAULT UND _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ 19: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ - 20: 000016f5 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hb2_32 │ │ │ │ │ + 20: 00001781 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hb2_32 │ │ │ │ │ 21: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2hc_register │ │ │ │ │ 22: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hb_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x19b4 contains 5 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x1a40 contains 5 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000938 00001219 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ -0000093c 0000131a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ -00001700 00000f03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00001704 00000103 R_ARM_REL32 00000001 hb2_32 │ │ │ │ │ -000016fc 0000151e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ +00000958 00001219 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ +0000095c 0000131a R_ARM_GOT_BREL 00000000 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ +0000178c 00000f03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00001790 00000103 R_ARM_REL32 00000001 hb2_32 │ │ │ │ │ +00001788 0000151e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x19dc contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x1a68 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000a02 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000c02 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001602 R_ARM_ABS32 00000000 fftw_rdft_hb_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,1617 +1,1625 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hb2_32(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ mov r6, r0 │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ mov r7, r1 │ │ │ │ │ - vpush {d8-d15} │ │ │ │ │ - subw sp, sp, #1244 @ 0x4dc │ │ │ │ │ mov r8, r3 │ │ │ │ │ - ldr.w r3, [pc, #2340] @ 938 │ │ │ │ │ - ldr.w r1, [sp, #1344] @ 0x540 │ │ │ │ │ - add r3, pc │ │ │ │ │ - ldr.w r0, [sp, #1348] @ 0x544 │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ + vpush {d8-d15} │ │ │ │ │ + subw sp, sp, #1260 @ 0x4ec │ │ │ │ │ + ldr.w r1, [sp, #1360] @ 0x550 │ │ │ │ │ + ldr.w r0, [sp, #1364] @ 0x554 │ │ │ │ │ + ldr.w r3, [pc, #2348] @ 958 │ │ │ │ │ cmp r1, r0 │ │ │ │ │ - bge.w 16e8 │ │ │ │ │ - ldr.w r1, [sp, #1352] @ 0x548 │ │ │ │ │ - lsls r1, r1, #3 │ │ │ │ │ - str.w r1, [sp, #1228] @ 0x4cc │ │ │ │ │ - negs r1, r1 │ │ │ │ │ - str.w r1, [sp, #1232] @ 0x4d0 │ │ │ │ │ - ldr.w r1, [pc, #2308] @ 93c │ │ │ │ │ + add r3, pc │ │ │ │ │ + bge.w 1762 │ │ │ │ │ + ldr.w r1, [sp, #1368] @ 0x558 │ │ │ │ │ + mov.w r1, r1, lsl #3 │ │ │ │ │ + str.w r1, [sp, #1244] @ 0x4dc │ │ │ │ │ + rsb r1, r1, #0 │ │ │ │ │ + str.w r1, [sp, #1248] @ 0x4e0 │ │ │ │ │ + ldr.w r1, [pc, #2320] @ 95c │ │ │ │ │ ldr r3, [r3, r1] │ │ │ │ │ - str r7, [sp, #0] │ │ │ │ │ + str r6, [sp, #0] │ │ │ │ │ ldr r3, [r3, #0] │ │ │ │ │ - str.w r3, [sp, #1236] @ 0x4d4 │ │ │ │ │ - ldr.w r3, [sp, #1344] @ 0x540 │ │ │ │ │ + str.w r3, [sp, #1252] @ 0x4e4 │ │ │ │ │ + ldr.w r3, [sp, #1360] @ 0x550 │ │ │ │ │ add.w r5, r2, r3, lsl #6 │ │ │ │ │ - mov fp, r5 │ │ │ │ │ - vldr d9, [fp, #-40] @ 0xffffffd8 │ │ │ │ │ - movs r3, #120 @ 0x78 │ │ │ │ │ - vldr d8, [fp, #-48] @ 0xffffffd0 │ │ │ │ │ - movs r1, #216 @ 0xd8 │ │ │ │ │ - vldr d2, [fp, #-64] @ 0xffffffc0 │ │ │ │ │ - mov.w sl, #112 @ 0x70 │ │ │ │ │ - vldr d1, [fp, #-56] @ 0xffffffc8 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - vldr d12, [fp, #-8] │ │ │ │ │ + mov sl, r5 │ │ │ │ │ + vldr d2, [sl, #-64] @ 0xffffffc0 │ │ │ │ │ + mov.w r0, r8, lsl #4 │ │ │ │ │ + mov.w r1, #216 @ 0xd8 │ │ │ │ │ + add.w lr, r8, r8, lsl #2 │ │ │ │ │ + add.w sl, sl, #64 @ 0x40 │ │ │ │ │ + vldr d1, [sl, #-120] @ 0xffffff88 │ │ │ │ │ + sub.w ip, r0, r8 │ │ │ │ │ mul.w r1, r1, r8 │ │ │ │ │ + mov.w r3, ip, lsl #3 │ │ │ │ │ + vldr d8, [sl, #-112] @ 0xffffff90 │ │ │ │ │ + mov.w r5, lr, lsl #5 │ │ │ │ │ + add.w r2, r7, r3 │ │ │ │ │ + add.w r4, r7, r1 │ │ │ │ │ + mov.w r9, r8, lsl #3 │ │ │ │ │ + vldr d9, [sl, #-104] @ 0xffffff98 │ │ │ │ │ + mov.w fp, ip, lsl #4 │ │ │ │ │ + mov.w ip, #200 @ 0xc8 │ │ │ │ │ + vldr d12, [sl, #-72] @ 0xffffffb8 │ │ │ │ │ + mul.w ip, ip, r8 │ │ │ │ │ vmul.f64 d4, d2, d8 │ │ │ │ │ - vmul.f64 d6, d2, d9 │ │ │ │ │ vmul.f64 d7, d1, d8 │ │ │ │ │ + vmul.f64 d6, d2, d9 │ │ │ │ │ vmul.f64 d5, d1, d9 │ │ │ │ │ vstr d12, [sp, #16] │ │ │ │ │ - mul.w sl, sl, r8 │ │ │ │ │ - mov.w ip, #176 @ 0xb0 │ │ │ │ │ - mov.w lr, #48 @ 0x30 │ │ │ │ │ - mov.w r9, #72 @ 0x48 │ │ │ │ │ - add.w fp, fp, #64 @ 0x40 │ │ │ │ │ + vstr d9, [sp, #336] @ 0x150 │ │ │ │ │ vadd.f64 d10, d4, d5 │ │ │ │ │ vsub.f64 d5, d4, d5 │ │ │ │ │ vadd.f64 d4, d7, d6 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ - mul.w ip, ip, r8 │ │ │ │ │ - mul.w lr, lr, r8 │ │ │ │ │ vstr d10, [sp, #24] │ │ │ │ │ vmov.f64 d10, d2 │ │ │ │ │ - vstr d4, [sp, #40] @ 0x28 │ │ │ │ │ - mul.w r9, r9, r8 │ │ │ │ │ - vldr d4, [fp, #-96] @ 0xffffffa0 │ │ │ │ │ vstr d5, [sp, #32] │ │ │ │ │ - vstr d7, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d4, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d4, [sl, #-96] @ 0xffffffa0 │ │ │ │ │ vmul.f64 d2, d2, d4 │ │ │ │ │ vmul.f64 d6, d8, d4 │ │ │ │ │ - vmul.f64 d3, d9, d4 │ │ │ │ │ vstr d4, [sp, #8] │ │ │ │ │ - vstr d10, [sp, #304] @ 0x130 │ │ │ │ │ - vstr d2, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d2, [fp, #-88] @ 0xffffffa8 │ │ │ │ │ + vmul.f64 d3, d9, d4 │ │ │ │ │ + vstr d7, [sp, #48] @ 0x30 │ │ │ │ │ + vstr d10, [sp, #312] @ 0x138 │ │ │ │ │ vstr d6, [sp, #56] @ 0x38 │ │ │ │ │ vmov.f64 d6, d1 │ │ │ │ │ vmul.f64 d1, d1, d4 │ │ │ │ │ - vmov.f64 d4, d9 │ │ │ │ │ + vstr d2, [sp, #72] @ 0x48 │ │ │ │ │ + vmul.f64 d4, d9, d12 │ │ │ │ │ + vldr d2, [sl, #-88] @ 0xffffffa8 │ │ │ │ │ + vstr d1, [sp, #64] @ 0x40 │ │ │ │ │ + vmov.f64 d1, d8 │ │ │ │ │ + vstr d6, [sp, #320] @ 0x140 │ │ │ │ │ vmul.f64 d13, d10, d2 │ │ │ │ │ vmul.f64 d0, d9, d2 │ │ │ │ │ + vmul.f64 d14, d6, d2 │ │ │ │ │ vmul.f64 d7, d8, d2 │ │ │ │ │ vmov.f64 d15, d2 │ │ │ │ │ - vmul.f64 d14, d6, d2 │ │ │ │ │ - vstr d6, [sp, #312] @ 0x138 │ │ │ │ │ - vstr d1, [sp, #64] @ 0x40 │ │ │ │ │ - vmov.f64 d1, d8 │ │ │ │ │ vstr d13, [sp, #80] @ 0x50 │ │ │ │ │ - vldr d13, [fp, #-80] @ 0xffffffb0 │ │ │ │ │ - vstr d4, [sp, #328] @ 0x148 │ │ │ │ │ - vmul.f64 d4, d4, d12 │ │ │ │ │ - vstr d1, [sp, #320] @ 0x140 │ │ │ │ │ + vldr d13, [sl, #-80] @ 0xffffffb0 │ │ │ │ │ + vstr d1, [sp, #328] @ 0x148 │ │ │ │ │ vmul.f64 d5, d10, d13 │ │ │ │ │ vmul.f64 d8, d9, d13 │ │ │ │ │ vmul.f64 d9, d6, d13 │ │ │ │ │ vmul.f64 d6, d6, d12 │ │ │ │ │ vmul.f64 d2, d1, d13 │ │ │ │ │ vmul.f64 d10, d10, d12 │ │ │ │ │ vmul.f64 d1, d1, d12 │ │ │ │ │ vsub.f64 d12, d5, d6 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ vadd.f64 d11, d9, d10 │ │ │ │ │ - vstr d12, [sp, #640] @ 0x280 │ │ │ │ │ + vstr d12, [sp, #680] @ 0x2a8 │ │ │ │ │ vsub.f64 d12, d2, d4 │ │ │ │ │ - vstr d11, [sp, #648] @ 0x288 │ │ │ │ │ + vstr d11, [sp, #688] @ 0x2b0 │ │ │ │ │ vsub.f64 d11, d1, d8 │ │ │ │ │ vadd.f64 d8, d8, d1 │ │ │ │ │ - vstr d5, [sp, #696] @ 0x2b8 │ │ │ │ │ - vstr d12, [sp, #656] @ 0x290 │ │ │ │ │ + vstr d12, [sp, #696] @ 0x2b8 │ │ │ │ │ vsub.f64 d12, d10, d9 │ │ │ │ │ vldr d10, [sp, #16] │ │ │ │ │ - vstr d8, [sp, #680] @ 0x2a8 │ │ │ │ │ + vstr d5, [sp, #736] @ 0x2e0 │ │ │ │ │ + vmul.f64 d6, d15, d10 │ │ │ │ │ + vstr d8, [sp, #720] @ 0x2d0 │ │ │ │ │ vadd.f64 d8, d2, d4 │ │ │ │ │ vldr d4, [sp, #8] │ │ │ │ │ vmov.f64 d2, d15 │ │ │ │ │ - vmul.f64 d6, d15, d10 │ │ │ │ │ - vstr d12, [sp, #664] @ 0x298 │ │ │ │ │ - vstr d11, [sp, #672] @ 0x2a0 │ │ │ │ │ - vstr d8, [sp, #688] @ 0x2b0 │ │ │ │ │ + vstr d12, [sp, #704] @ 0x2c0 │ │ │ │ │ + vstr d11, [sp, #712] @ 0x2c8 │ │ │ │ │ vmov.f64 d5, d6 │ │ │ │ │ vmul.f64 d6, d15, d13 │ │ │ │ │ + vstr d8, [sp, #728] @ 0x2d8 │ │ │ │ │ vmla.f64 d5, d4, d13 │ │ │ │ │ vnmls.f64 d6, d4, d10 │ │ │ │ │ - vstr d5, [sp, #704] @ 0x2c0 │ │ │ │ │ + vstr d5, [sp, #744] @ 0x2e8 │ │ │ │ │ vldr d8, [sp, #24] │ │ │ │ │ + vstr d6, [sp, #752] @ 0x2f0 │ │ │ │ │ vldr d1, [sp, #48] @ 0x30 │ │ │ │ │ - vstr d6, [sp, #712] @ 0x2c8 │ │ │ │ │ vmul.f64 d5, d8, d13 │ │ │ │ │ vmul.f64 d6, d1, d10 │ │ │ │ │ vsub.f64 d11, d5, d6 │ │ │ │ │ vadd.f64 d12, d5, d6 │ │ │ │ │ - vmul.f64 d5, d8, d10 │ │ │ │ │ vmul.f64 d6, d1, d13 │ │ │ │ │ - vstr d12, [sp, #728] @ 0x2d8 │ │ │ │ │ - vmov.f64 d12, d10 │ │ │ │ │ + vmul.f64 d5, d8, d10 │ │ │ │ │ + vstr d11, [sp, #760] @ 0x2f8 │ │ │ │ │ vadd.f64 d9, d5, d6 │ │ │ │ │ + vstr d12, [sp, #768] @ 0x300 │ │ │ │ │ + vmov.f64 d12, d10 │ │ │ │ │ vldr d10, [sp, #40] @ 0x28 │ │ │ │ │ - vstr d11, [sp, #720] @ 0x2d0 │ │ │ │ │ - vstr d9, [sp, #736] @ 0x2e0 │ │ │ │ │ + vstr d9, [sp, #776] @ 0x308 │ │ │ │ │ vsub.f64 d9, d5, d6 │ │ │ │ │ vmul.f64 d6, d10, d12 │ │ │ │ │ - vstr d9, [sp, #744] @ 0x2e8 │ │ │ │ │ + vstr d9, [sp, #784] @ 0x310 │ │ │ │ │ vldr d9, [sp, #32] │ │ │ │ │ vmul.f64 d5, d9, d13 │ │ │ │ │ vadd.f64 d11, d5, d6 │ │ │ │ │ vsub.f64 d5, d5, d6 │ │ │ │ │ vmul.f64 d6, d10, d13 │ │ │ │ │ - vstr d5, [sp, #760] @ 0x2f8 │ │ │ │ │ + vstr d11, [sp, #792] @ 0x318 │ │ │ │ │ + vstr d5, [sp, #800] @ 0x320 │ │ │ │ │ vmul.f64 d5, d9, d12 │ │ │ │ │ - vstr d11, [sp, #752] @ 0x2f0 │ │ │ │ │ vsub.f64 d11, d5, d6 │ │ │ │ │ vadd.f64 d5, d5, d6 │ │ │ │ │ vadd.f64 d6, d3, d7 │ │ │ │ │ - vstr d11, [sp, #768] @ 0x300 │ │ │ │ │ + vstr d11, [sp, #808] @ 0x328 │ │ │ │ │ vldr d11, [sp, #56] @ 0x38 │ │ │ │ │ vmov.f64 d15, d6 │ │ │ │ │ - vstr d5, [sp, #776] @ 0x308 │ │ │ │ │ vmul.f64 d6, d12, d6 │ │ │ │ │ + vstr d5, [sp, #816] @ 0x330 │ │ │ │ │ + vstr d15, [sp, #360] @ 0x168 │ │ │ │ │ vsub.f64 d5, d11, d0 │ │ │ │ │ vadd.f64 d11, d11, d0 │ │ │ │ │ - vstr d15, [sp, #352] @ 0x160 │ │ │ │ │ - vldr d0, [sp, #72] @ 0x48 │ │ │ │ │ vmla.f64 d6, d13, d5 │ │ │ │ │ - vstr d5, [sp, #344] @ 0x158 │ │ │ │ │ - vstr d11, [sp, #360] @ 0x168 │ │ │ │ │ - vstr d6, [sp, #784] @ 0x310 │ │ │ │ │ + vstr d5, [sp, #352] @ 0x160 │ │ │ │ │ + vstr d11, [sp, #368] @ 0x170 │ │ │ │ │ + vstr d6, [sp, #824] @ 0x338 │ │ │ │ │ vmul.f64 d6, d13, d15 │ │ │ │ │ vmov.f64 d15, d12 │ │ │ │ │ + vmov.f64 d0, d15 │ │ │ │ │ vnmls.f64 d6, d12, d5 │ │ │ │ │ vsub.f64 d12, d7, d3 │ │ │ │ │ - vldr d3, [sp, #80] @ 0x50 │ │ │ │ │ - vadd.f64 d5, d0, d14 │ │ │ │ │ + vldr d3, [sp, #72] @ 0x48 │ │ │ │ │ vmul.f64 d7, d15, d12 │ │ │ │ │ - vstr d12, [sp, #368] @ 0x170 │ │ │ │ │ + vldr d15, [sp, #80] @ 0x50 │ │ │ │ │ + vadd.f64 d5, d3, d14 │ │ │ │ │ + vstr d12, [sp, #376] @ 0x178 │ │ │ │ │ vmla.f64 d7, d13, d11 │ │ │ │ │ - vstr d5, [sp, #376] @ 0x178 │ │ │ │ │ - vstr d6, [sp, #792] @ 0x318 │ │ │ │ │ + vstr d6, [sp, #832] @ 0x340 │ │ │ │ │ vldr d6, [sp, #64] @ 0x40 │ │ │ │ │ - vstr d7, [sp, #800] @ 0x320 │ │ │ │ │ + vstr d5, [sp, #384] @ 0x180 │ │ │ │ │ + vstr d7, [sp, #840] @ 0x348 │ │ │ │ │ vmul.f64 d7, d13, d12 │ │ │ │ │ - vsub.f64 d12, d3, d6 │ │ │ │ │ - vnmls.f64 d7, d15, d11 │ │ │ │ │ - vstr d12, [sp, #384] @ 0x180 │ │ │ │ │ - vstr d7, [sp, #808] @ 0x328 │ │ │ │ │ - vmul.f64 d7, d15, d12 │ │ │ │ │ + vsub.f64 d12, d15, d6 │ │ │ │ │ + vnmls.f64 d7, d0, d11 │ │ │ │ │ + vstr d12, [sp, #392] @ 0x188 │ │ │ │ │ + vstr d7, [sp, #848] @ 0x350 │ │ │ │ │ + vmul.f64 d7, d0, d12 │ │ │ │ │ vmla.f64 d7, d13, d5 │ │ │ │ │ - vstr d7, [sp, #816] @ 0x330 │ │ │ │ │ + vstr d7, [sp, #856] @ 0x358 │ │ │ │ │ vmul.f64 d7, d13, d12 │ │ │ │ │ vmov.f64 d11, d7 │ │ │ │ │ - vadd.f64 d7, d6, d3 │ │ │ │ │ + vadd.f64 d7, d6, d15 │ │ │ │ │ vmul.f64 d6, d8, d4 │ │ │ │ │ - vnmls.f64 d11, d15, d5 │ │ │ │ │ + vnmls.f64 d11, d0, d5 │ │ │ │ │ vmov.f64 d5, d1 │ │ │ │ │ - vstr d11, [sp, #824] @ 0x338 │ │ │ │ │ - vsub.f64 d11, d0, d14 │ │ │ │ │ + vstr d11, [sp, #864] @ 0x360 │ │ │ │ │ + vsub.f64 d11, d3, d14 │ │ │ │ │ vmov.f64 d14, d7 │ │ │ │ │ - vmul.f64 d7, d15, d7 │ │ │ │ │ + vmul.f64 d7, d0, d7 │ │ │ │ │ vmla.f64 d7, d13, d11 │ │ │ │ │ - vstr d11, [sp, #392] @ 0x188 │ │ │ │ │ - vstr d14, [sp, #400] @ 0x190 │ │ │ │ │ - vstr d7, [sp, #832] @ 0x340 │ │ │ │ │ + vstr d14, [sp, #408] @ 0x198 │ │ │ │ │ + vstr d11, [sp, #400] @ 0x190 │ │ │ │ │ + vstr d7, [sp, #872] @ 0x368 │ │ │ │ │ vmul.f64 d7, d13, d14 │ │ │ │ │ vmov.f64 d14, d7 │ │ │ │ │ vmul.f64 d7, d1, d2 │ │ │ │ │ - vnmls.f64 d14, d15, d11 │ │ │ │ │ - vstr d14, [sp, #840] @ 0x348 │ │ │ │ │ + vnmls.f64 d14, d0, d11 │ │ │ │ │ + vstr d14, [sp, #880] @ 0x370 │ │ │ │ │ vadd.f64 d14, d6, d7 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ vmul.f64 d6, d8, d2 │ │ │ │ │ - vstr d2, [sp, #336] @ 0x150 │ │ │ │ │ - ldr r4, [sp, #0] │ │ │ │ │ - str r3, [sp, #56] @ 0x38 │ │ │ │ │ + ldr r6, [sp, #0] │ │ │ │ │ + vstr d2, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d12, [r2] │ │ │ │ │ + str r2, [sp, #56] @ 0x38 │ │ │ │ │ + str r1, [sp, #64] @ 0x40 │ │ │ │ │ vmov.f64 d1, d7 │ │ │ │ │ vmul.f64 d7, d5, d4 │ │ │ │ │ + add.w r1, r6, r5 │ │ │ │ │ vmov.f64 d5, d10 │ │ │ │ │ - adds r2, r4, r3 │ │ │ │ │ - movs r3, #160 @ 0xa0 │ │ │ │ │ - adds r0, r4, r1 │ │ │ │ │ - str r2, [sp, #64] @ 0x40 │ │ │ │ │ + mov r2, r6 │ │ │ │ │ + str r4, [sp, #72] @ 0x48 │ │ │ │ │ + strd r3, r5, [sp, #296] @ 0x128 │ │ │ │ │ + mov.w r3, #88 @ 0x58 │ │ │ │ │ + str r1, [sp, #80] @ 0x50 │ │ │ │ │ + vstr d14, [sp, #416] @ 0x1a0 │ │ │ │ │ + mul.w r3, r3, r8 │ │ │ │ │ + vstr d1, [sp, #424] @ 0x1a8 │ │ │ │ │ vsub.f64 d8, d6, d7 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ - vstr d1, [sp, #416] @ 0x1a0 │ │ │ │ │ - mul.w r5, r3, r8 │ │ │ │ │ - movs r3, #152 @ 0x98 │ │ │ │ │ - str r1, [sp, #72] @ 0x48 │ │ │ │ │ - str r5, [sp, #92] @ 0x5c │ │ │ │ │ vmov.f64 d6, d7 │ │ │ │ │ - vmul.f64 d7, d15, d8 │ │ │ │ │ + vmul.f64 d7, d0, d8 │ │ │ │ │ + vstr d8, [sp, #432] @ 0x1b0 │ │ │ │ │ + vstr d6, [sp, #440] @ 0x1b8 │ │ │ │ │ vmla.f64 d7, d13, d14 │ │ │ │ │ - vstr d8, [sp, #424] @ 0x1a8 │ │ │ │ │ - mul.w r1, r3, r8 │ │ │ │ │ - movs r3, #224 @ 0xe0 │ │ │ │ │ - str r0, [sp, #80] @ 0x50 │ │ │ │ │ - vstr d6, [sp, #432] @ 0x1b0 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - str r1, [sp, #100] @ 0x64 │ │ │ │ │ - vstr d14, [sp, #408] @ 0x198 │ │ │ │ │ - vstr d7, [sp, #848] @ 0x350 │ │ │ │ │ + vstr d7, [sp, #888] @ 0x378 │ │ │ │ │ vmul.f64 d7, d13, d6 │ │ │ │ │ vmov.f64 d11, d7 │ │ │ │ │ vmul.f64 d7, d13, d8 │ │ │ │ │ + vnmls.f64 d11, d0, d1 │ │ │ │ │ vmov.f64 d8, d7 │ │ │ │ │ - vmul.f64 d7, d15, d6 │ │ │ │ │ + vmul.f64 d7, d0, d6 │ │ │ │ │ vmul.f64 d6, d9, d4 │ │ │ │ │ - vnmls.f64 d11, d15, d1 │ │ │ │ │ - vnmls.f64 d8, d15, d14 │ │ │ │ │ - vstr d11, [sp, #856] @ 0x358 │ │ │ │ │ - vstr d8, [sp, #864] @ 0x360 │ │ │ │ │ + vnmls.f64 d8, d0, d14 │ │ │ │ │ + vstr d11, [sp, #896] @ 0x380 │ │ │ │ │ + vstr d8, [sp, #904] @ 0x388 │ │ │ │ │ vmov.f64 d8, d7 │ │ │ │ │ vmul.f64 d7, d10, d2 │ │ │ │ │ vmla.f64 d8, d13, d1 │ │ │ │ │ vsub.f64 d10, d6, d7 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ vmul.f64 d6, d9, d2 │ │ │ │ │ - vstr d10, [sp, #440] @ 0x1b8 │ │ │ │ │ vmov.f64 d1, d7 │ │ │ │ │ vmul.f64 d7, d5, d4 │ │ │ │ │ - vstr d8, [sp, #872] @ 0x368 │ │ │ │ │ + vstr d10, [sp, #448] @ 0x1c0 │ │ │ │ │ + vstr d1, [sp, #456] @ 0x1c8 │ │ │ │ │ + vstr d8, [sp, #912] @ 0x390 │ │ │ │ │ vadd.f64 d4, d6, d7 │ │ │ │ │ vsub.f64 d7, d6, d7 │ │ │ │ │ vldr d6, [r6] │ │ │ │ │ + mov.w r6, #152 @ 0x98 │ │ │ │ │ + mul.w r5, r6, r8 │ │ │ │ │ + mov.w r6, lr, lsl #3 │ │ │ │ │ vmov.f64 d2, d7 │ │ │ │ │ - vmul.f64 d7, d15, d4 │ │ │ │ │ - vstr d4, [sp, #456] @ 0x1c8 │ │ │ │ │ + vmul.f64 d7, d0, d4 │ │ │ │ │ + str r5, [sp, #88] @ 0x58 │ │ │ │ │ + vstr d4, [sp, #464] @ 0x1d0 │ │ │ │ │ vmov.f64 d9, d7 │ │ │ │ │ vmul.f64 d7, d13, d2 │ │ │ │ │ vmla.f64 d9, d13, d10 │ │ │ │ │ - vnmls.f64 d7, d15, d1 │ │ │ │ │ - vstr d9, [sp, #880] @ 0x370 │ │ │ │ │ + vnmls.f64 d7, d0, d1 │ │ │ │ │ + vstr d9, [sp, #920] @ 0x398 │ │ │ │ │ vmov.f64 d9, d2 │ │ │ │ │ vmov.f64 d2, d1 │ │ │ │ │ - vstr d7, [sp, #888] @ 0x378 │ │ │ │ │ + vstr d7, [sp, #928] @ 0x3a0 │ │ │ │ │ vmul.f64 d7, d13, d4 │ │ │ │ │ - vstr d9, [sp, #464] @ 0x1d0 │ │ │ │ │ - vstr d2, [sp, #448] @ 0x1c0 │ │ │ │ │ + vstr d9, [sp, #472] @ 0x1d8 │ │ │ │ │ vmov.f64 d4, d7 │ │ │ │ │ - vmul.f64 d7, d15, d9 │ │ │ │ │ - vnmls.f64 d4, d15, d10 │ │ │ │ │ + vmul.f64 d7, d0, d9 │ │ │ │ │ + vnmls.f64 d4, d0, d10 │ │ │ │ │ vmov.f64 d1, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - adds r2, r6, r5 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ + sub.w r1, r9, r8 │ │ │ │ │ vmla.f64 d1, d13, d2 │ │ │ │ │ - adds r5, r4, r1 │ │ │ │ │ - str r2, [sp, #96] @ 0x60 │ │ │ │ │ + vstr d4, [sp, #936] @ 0x3a8 │ │ │ │ │ + vadd.f64 d4, d6, d12 │ │ │ │ │ + vsub.f64 d12, d6, d12 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + add.w r4, r7, r5 │ │ │ │ │ + mov.w r5, r1, lsl #5 │ │ │ │ │ + str r4, [sp, #92] @ 0x5c │ │ │ │ │ + vstr d4, [sp, #160] @ 0xa0 │ │ │ │ │ vsub.f64 d10, d6, d7 │ │ │ │ │ - str r5, [sp, #112] @ 0x70 │ │ │ │ │ - vstr d4, [sp, #896] @ 0x380 │ │ │ │ │ vadd.f64 d4, d6, d7 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - mov.w r2, r8, lsl #6 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - adds r0, r6, r3 │ │ │ │ │ - vstr d1, [sp, #904] @ 0x388 │ │ │ │ │ - adds r1, r6, r2 │ │ │ │ │ - vmov.f64 d3, d4 │ │ │ │ │ - vmov.f64 d15, d10 │ │ │ │ │ - vsub.f64 d5, d6, d7 │ │ │ │ │ - vadd.f64 d0, d6, d7 │ │ │ │ │ - vstr d5, [sp] │ │ │ │ │ - vstr d0, [sp, #200] @ 0xc8 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - mov.w r5, r8, lsl #5 │ │ │ │ │ - str r3, [sp, #104] @ 0x68 │ │ │ │ │ - movs r3, #56 @ 0x38 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - str r0, [sp, #116] @ 0x74 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - str r2, [sp, #120] @ 0x78 │ │ │ │ │ - str r3, [sp, #128] @ 0x80 │ │ │ │ │ - adds r2, r6, r5 │ │ │ │ │ - adds r0, r4, r3 │ │ │ │ │ - movs r3, #88 @ 0x58 │ │ │ │ │ - vldr d2, [r1] │ │ │ │ │ - vsub.f64 d14, d6, d7 │ │ │ │ │ - str r1, [sp, #124] @ 0x7c │ │ │ │ │ - vadd.f64 d0, d6, d7 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - vldr d6, [r2] │ │ │ │ │ - str r3, [sp, #144] @ 0x90 │ │ │ │ │ - adds r1, r4, r3 │ │ │ │ │ - movs r3, #248 @ 0xf8 │ │ │ │ │ - str r2, [sp, #140] @ 0x8c │ │ │ │ │ - mov.w r2, r8, lsl #7 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - vmov.f64 d10, d0 │ │ │ │ │ - str r0, [sp, #132] @ 0x84 │ │ │ │ │ - mul.w r0, r3, r8 │ │ │ │ │ - adds r3, r6, r2 │ │ │ │ │ - str r3, [sp, #164] @ 0xa4 │ │ │ │ │ - vadd.f64 d12, d2, d7 │ │ │ │ │ + vldr d6, [r4] │ │ │ │ │ + add.w r4, r2, r5 │ │ │ │ │ + vstr d1, [sp, #944] @ 0x3b0 │ │ │ │ │ + str.w r5, [sp, #1240] @ 0x4d8 │ │ │ │ │ + mov.w r5, r8, lsl #6 │ │ │ │ │ + vldr d14, [r4] │ │ │ │ │ + str r4, [sp, #96] @ 0x60 │ │ │ │ │ + add.w r4, r2, r5 │ │ │ │ │ + strd r5, r4, [sp, #100] @ 0x64 │ │ │ │ │ + mov.w r5, r1, lsl #3 │ │ │ │ │ + vmov.f64 d5, d4 │ │ │ │ │ + str r3, [sp, #120] @ 0x78 │ │ │ │ │ + mov.w r1, r1, lsl #4 │ │ │ │ │ + vsub.f64 d2, d6, d14 │ │ │ │ │ + vadd.f64 d14, d6, d14 │ │ │ │ │ + str r5, [sp, #304] @ 0x130 │ │ │ │ │ + vmov.f64 d3, d2 │ │ │ │ │ + vldr d2, [r4] │ │ │ │ │ + add.w r4, r7, r5 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + str r4, [sp, #108] @ 0x6c │ │ │ │ │ + mov.w r4, r8, lsl #5 │ │ │ │ │ + add.w r5, r2, r4 │ │ │ │ │ + strd r4, r5, [sp, #112] @ 0x70 │ │ │ │ │ + vadd.f64 d6, d2, d7 │ │ │ │ │ vsub.f64 d2, d2, d7 │ │ │ │ │ - str r5, [sp, #136] @ 0x88 │ │ │ │ │ - adds r5, r4, r0 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - movs r3, #184 @ 0xb8 │ │ │ │ │ - str r0, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d11, [r1] │ │ │ │ │ - mul.w r0, r3, r8 │ │ │ │ │ - movs r3, #192 @ 0xc0 │ │ │ │ │ - str r1, [sp, #148] @ 0x94 │ │ │ │ │ + vmov.f64 d15, d6 │ │ │ │ │ + vldr d6, [r5] │ │ │ │ │ + add.w r5, r7, r3 │ │ │ │ │ + sub.w r3, r4, r8 │ │ │ │ │ + vldr d11, [r5] │ │ │ │ │ + mov.w r4, r3, lsl #3 │ │ │ │ │ + str r5, [sp, #124] @ 0x7c │ │ │ │ │ + add.w r5, r7, r4 │ │ │ │ │ + str r4, [sp, #308] @ 0x134 │ │ │ │ │ + mov.w r4, r8, lsl #7 │ │ │ │ │ vldr d4, [r5] │ │ │ │ │ - vadd.f64 d5, d6, d11 │ │ │ │ │ - mul.w r1, r3, r8 │ │ │ │ │ - movs r3, #24 │ │ │ │ │ - str r5, [sp, #156] @ 0x9c │ │ │ │ │ - adds r5, r4, r0 │ │ │ │ │ - str r0, [sp, #168] @ 0xa8 │ │ │ │ │ + add.w r3, r2, r4 │ │ │ │ │ + vadd.f64 d7, d6, d11 │ │ │ │ │ vsub.f64 d11, d6, d11 │ │ │ │ │ - mul.w r0, r3, r8 │ │ │ │ │ - movs r3, #96 @ 0x60 │ │ │ │ │ - str r2, [sp, #160] @ 0xa0 │ │ │ │ │ - adds r2, r6, r1 │ │ │ │ │ - str r1, [sp, #176] @ 0xb0 │ │ │ │ │ + vstr d7, [sp] │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + str r3, [sp, #136] @ 0x88 │ │ │ │ │ + mov.w r3, #184 @ 0xb8 │ │ │ │ │ + strd r5, r4, [sp, #128] @ 0x80 │ │ │ │ │ + mul.w r5, r3, r8 │ │ │ │ │ + add.w r3, r8, r8, lsl #1 │ │ │ │ │ + add.w r4, r7, r5 │ │ │ │ │ vsub.f64 d6, d4, d7 │ │ │ │ │ - mul.w r1, r3, r8 │ │ │ │ │ vadd.f64 d4, d4, d7 │ │ │ │ │ - vldr d1, [r5] │ │ │ │ │ - mov.w r3, r8, lsl #4 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - str r5, [sp, #172] @ 0xac │ │ │ │ │ - adds r5, r4, r0 │ │ │ │ │ - str r2, [sp, #180] @ 0xb4 │ │ │ │ │ - adds r2, r6, r1 │ │ │ │ │ + strd r5, r4, [sp, #140] @ 0x8c │ │ │ │ │ + mov.w r5, r3, lsl #6 │ │ │ │ │ + vldr d1, [r4] │ │ │ │ │ + add.w r4, r2, r5 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + str r5, [sp, #632] @ 0x278 │ │ │ │ │ + mov.w r5, r3, lsl #3 │ │ │ │ │ + str r4, [sp, #148] @ 0x94 │ │ │ │ │ + add.w r4, r7, r5 │ │ │ │ │ + str r5, [sp, #664] @ 0x298 │ │ │ │ │ + mov.w r5, r3, lsl #5 │ │ │ │ │ vsub.f64 d8, d1, d7 │ │ │ │ │ vadd.f64 d1, d1, d7 │ │ │ │ │ - vldr d0, [r5] │ │ │ │ │ - str r0, [sp, #184] @ 0xb8 │ │ │ │ │ - adds r0, r6, r3 │ │ │ │ │ - str r5, [sp, #188] @ 0xbc │ │ │ │ │ - str r1, [sp, #192] @ 0xc0 │ │ │ │ │ - str r2, [sp, #196] @ 0xc4 │ │ │ │ │ - vldr d7, [r2] │ │ │ │ │ - str r0, [sp, #208] @ 0xd0 │ │ │ │ │ - vadd.f64 d9, d0, d7 │ │ │ │ │ - vsub.f64 d7, d0, d7 │ │ │ │ │ - vsub.f64 d0, d15, d1 │ │ │ │ │ - vstr d0, [sp, #912] @ 0x390 │ │ │ │ │ - vadd.f64 d0, d15, d1 │ │ │ │ │ - vmov.f64 d15, d10 │ │ │ │ │ - vstr d0, [sp, #472] @ 0x1d8 │ │ │ │ │ - vsub.f64 d0, d4, d2 │ │ │ │ │ - vstr d0, [sp, #480] @ 0x1e0 │ │ │ │ │ - vadd.f64 d0, d2, d4 │ │ │ │ │ - vadd.f64 d4, d5, d9 │ │ │ │ │ - vadd.f64 d2, d3, d12 │ │ │ │ │ - vsub.f64 d5, d5, d9 │ │ │ │ │ - vsub.f64 d12, d3, d12 │ │ │ │ │ - vstr d0, [sp, #488] @ 0x1e8 │ │ │ │ │ - vadd.f64 d0, d2, d4 │ │ │ │ │ - vsub.f64 d2, d2, d4 │ │ │ │ │ - vstr d0, [sp, #920] @ 0x398 │ │ │ │ │ - vldr d0, [sp, #200] @ 0xc8 │ │ │ │ │ - vstr d2, [sp, #928] @ 0x3a0 │ │ │ │ │ - vadd.f64 d2, d10, d7 │ │ │ │ │ - vldr d10, [pc, #940] @ 920 │ │ │ │ │ - vsub.f64 d7, d7, d15 │ │ │ │ │ - vadd.f64 d4, d0, d11 │ │ │ │ │ - str r3, [sp, #200] @ 0xc8 │ │ │ │ │ - movs r3, #104 @ 0x68 │ │ │ │ │ + vldr d7, [r4] │ │ │ │ │ + str r4, [sp, #152] @ 0x98 │ │ │ │ │ + add.w r4, r2, r5 │ │ │ │ │ + mov.w r3, r3, lsl #4 │ │ │ │ │ + str r4, [sp, #156] @ 0x9c │ │ │ │ │ + str r5, [sp, #672] @ 0x2a0 │ │ │ │ │ + mov r5, r0 │ │ │ │ │ + add r0, r2 │ │ │ │ │ + vldr d9, [r4] │ │ │ │ │ + add.w r4, r9, r8 │ │ │ │ │ + vmov.f64 d0, d9 │ │ │ │ │ + vadd.f64 d9, d7, d9 │ │ │ │ │ + vsub.f64 d7, d7, d0 │ │ │ │ │ + vsub.f64 d0, d12, d1 │ │ │ │ │ + vadd.f64 d1, d12, d1 │ │ │ │ │ + vldr d12, [sp, #160] @ 0xa0 │ │ │ │ │ + str r0, [sp, #160] @ 0xa0 │ │ │ │ │ + vstr d1, [sp, #480] @ 0x1e0 │ │ │ │ │ + vsub.f64 d1, d4, d2 │ │ │ │ │ + vadd.f64 d4, d2, d4 │ │ │ │ │ + vstr d0, [sp, #952] @ 0x3b8 │ │ │ │ │ + vmov.f64 d0, d15 │ │ │ │ │ + vmov.f64 d15, d5 │ │ │ │ │ + vldr d5, [pc, #940] @ 940 │ │ │ │ │ + vadd.f64 d2, d12, d0 │ │ │ │ │ + vstr d1, [sp, #488] @ 0x1e8 │ │ │ │ │ + vstr d4, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d4, [sp] │ │ │ │ │ + vadd.f64 d4, d4, d9 │ │ │ │ │ + vadd.f64 d1, d2, d4 │ │ │ │ │ + vsub.f64 d4, d2, d4 │ │ │ │ │ + vadd.f64 d2, d14, d7 │ │ │ │ │ + vsub.f64 d7, d7, d14 │ │ │ │ │ + vstr d1, [sp, #960] @ 0x3c0 │ │ │ │ │ + vstr d4, [sp, #968] @ 0x3c8 │ │ │ │ │ + vadd.f64 d4, d15, d11 │ │ │ │ │ vsub.f64 d1, d4, d2 │ │ │ │ │ vadd.f64 d4, d4, d2 │ │ │ │ │ - mul.w r5, r3, r8 │ │ │ │ │ - movs r3, #232 @ 0xe8 │ │ │ │ │ - str r5, [sp, #212] @ 0xd4 │ │ │ │ │ - adds r1, r4, r5 │ │ │ │ │ - str r1, [sp, #216] @ 0xd8 │ │ │ │ │ - vmul.f64 d4, d4, d10 │ │ │ │ │ - vmul.f64 d1, d1, d10 │ │ │ │ │ - mul.w r2, r3, r8 │ │ │ │ │ - str r2, [sp, #220] @ 0xdc │ │ │ │ │ - adds r3, r4, r2 │ │ │ │ │ - str r3, [sp, #224] @ 0xe0 │ │ │ │ │ - vstr d4, [sp, #504] @ 0x1f8 │ │ │ │ │ + vmul.f64 d1, d1, d5 │ │ │ │ │ + vmul.f64 d2, d4, d5 │ │ │ │ │ vsub.f64 d4, d6, d8 │ │ │ │ │ - vstr d1, [sp, #496] @ 0x1f0 │ │ │ │ │ vadd.f64 d6, d6, d8 │ │ │ │ │ - vsub.f64 d1, d4, d5 │ │ │ │ │ - vadd.f64 d4, d4, d5 │ │ │ │ │ + vstr d1, [sp, #504] @ 0x1f8 │ │ │ │ │ + vmov.f64 d1, d5 │ │ │ │ │ vldr d5, [sp] │ │ │ │ │ - vadd.f64 d5, d5, d14 │ │ │ │ │ - vstr d4, [sp, #944] @ 0x3b0 │ │ │ │ │ - vstr d1, [sp, #936] @ 0x3a8 │ │ │ │ │ - vsub.f64 d2, d6, d5 │ │ │ │ │ + vstr d2, [sp, #512] @ 0x200 │ │ │ │ │ + vsub.f64 d5, d5, d9 │ │ │ │ │ + vsub.f64 d9, d4, d5 │ │ │ │ │ + vadd.f64 d4, d4, d5 │ │ │ │ │ + vadd.f64 d5, d10, d3 │ │ │ │ │ + vstr d9, [sp, #976] @ 0x3d0 │ │ │ │ │ + vsub.f64 d9, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ - vstr d6, [sp, #960] @ 0x3c0 │ │ │ │ │ - vsub.f64 d6, d11, d0 │ │ │ │ │ - vstr d2, [sp, #952] @ 0x3b8 │ │ │ │ │ + vstr d4, [sp, #984] @ 0x3d8 │ │ │ │ │ + vstr d9, [sp, #992] @ 0x3e0 │ │ │ │ │ + vstr d6, [sp, #1000] @ 0x3e8 │ │ │ │ │ + vsub.f64 d6, d11, d15 │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vmul.f64 d7, d6, d10 │ │ │ │ │ + vmul.f64 d7, d6, d1 │ │ │ │ │ + vsub.f64 d6, d3, d10 │ │ │ │ │ + vmul.f64 d4, d5, d1 │ │ │ │ │ + vstr d7, [sp, #528] @ 0x210 │ │ │ │ │ + vsub.f64 d7, d12, d0 │ │ │ │ │ + vstr d4, [sp, #520] @ 0x208 │ │ │ │ │ + vsub.f64 d2, d7, d6 │ │ │ │ │ + vadd.f64 d10, d7, d6 │ │ │ │ │ vldr d6, [r0] │ │ │ │ │ - vmul.f64 d0, d5, d10 │ │ │ │ │ - vstr d7, [sp, #520] @ 0x208 │ │ │ │ │ - vldr d7, [sp] │ │ │ │ │ - vstr d0, [sp, #512] @ 0x200 │ │ │ │ │ - vsub.f64 d14, d14, d7 │ │ │ │ │ - vadd.f64 d7, d12, d14 │ │ │ │ │ - vsub.f64 d4, d12, d14 │ │ │ │ │ - vstr d7, [sp, #976] @ 0x3d0 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - movs r1, #144 @ 0x90 │ │ │ │ │ - vstr d4, [sp, #968] @ 0x3c8 │ │ │ │ │ - mul.w r1, r1, r8 │ │ │ │ │ - vadd.f64 d10, d6, d7 │ │ │ │ │ - vsub.f64 d4, d6, d7 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - adds r0, r6, r1 │ │ │ │ │ - movs r3, #168 @ 0xa8 │ │ │ │ │ - str r0, [sp, #228] @ 0xe4 │ │ │ │ │ - vldr d7, [r0] │ │ │ │ │ - mul.w r5, r3, r8 │ │ │ │ │ - vstr d4, [sp, #296] @ 0x128 │ │ │ │ │ - adds r3, r4, r5 │ │ │ │ │ - vsub.f64 d0, d6, d7 │ │ │ │ │ - vadd.f64 d7, d6, d7 │ │ │ │ │ - vstr d0, [sp, #528] @ 0x210 │ │ │ │ │ - vmov.f64 d0, d10 │ │ │ │ │ - vldr d6, [r3] │ │ │ │ │ - str r3, [sp, #236] @ 0xec │ │ │ │ │ - movs r3, #208 @ 0xd0 │ │ │ │ │ - str r5, [sp, #232] @ 0xe8 │ │ │ │ │ - vstr d7, [sp, #536] @ 0x218 │ │ │ │ │ - mul.w r2, r3, r8 │ │ │ │ │ - movs r3, #80 @ 0x50 │ │ │ │ │ - str r2, [sp, #240] @ 0xf0 │ │ │ │ │ - adds r0, r6, r2 │ │ │ │ │ - movs r2, #40 @ 0x28 │ │ │ │ │ - mul.w r3, r3, r8 │ │ │ │ │ - str r0, [sp, #248] @ 0xf8 │ │ │ │ │ - str r4, [sp, #0] │ │ │ │ │ - mul.w r2, r2, r8 │ │ │ │ │ + mov.w r0, #104 @ 0x68 │ │ │ │ │ + mul.w r0, r0, r8 │ │ │ │ │ + str r0, [sp, #168] @ 0xa8 │ │ │ │ │ + add r0, r7 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - adds r5, r6, r3 │ │ │ │ │ - str r5, [sp, #252] @ 0xfc │ │ │ │ │ - adds r0, r4, r2 │ │ │ │ │ - str r0, [sp, #256] @ 0x100 │ │ │ │ │ - vadd.f64 d3, d6, d7 │ │ │ │ │ - vsub.f64 d1, d6, d7 │ │ │ │ │ - vldr d6, [r5] │ │ │ │ │ - mov.w r5, r8, lsl #3 │ │ │ │ │ + str r0, [sp, #172] @ 0xac │ │ │ │ │ + mov.w r0, #232 @ 0xe8 │ │ │ │ │ + vstr d2, [sp, #1008] @ 0x3f0 │ │ │ │ │ + mul.w r0, r0, r8 │ │ │ │ │ + vstr d10, [sp, #1016] @ 0x3f8 │ │ │ │ │ + str r0, [sp, #176] @ 0xb0 │ │ │ │ │ + add r0, r7 │ │ │ │ │ + vadd.f64 d2, d6, d7 │ │ │ │ │ + vsub.f64 d7, d6, d7 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + str r0, [sp, #180] @ 0xb4 │ │ │ │ │ + mov.w r0, r4, lsl #4 │ │ │ │ │ + mov.w r4, r4, lsl #3 │ │ │ │ │ + vmov.f64 d10, d2 │ │ │ │ │ + str r0, [sp, #624] @ 0x270 │ │ │ │ │ + add r0, r2 │ │ │ │ │ + vstr d7, [sp, #248] @ 0xf8 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ - adds r7, r4, r5 │ │ │ │ │ - movs r0, #136 @ 0x88 │ │ │ │ │ - str r7, [sp, #264] @ 0x108 │ │ │ │ │ - str r5, [sp, #260] @ 0x104 │ │ │ │ │ - movs r5, #200 @ 0xc8 │ │ │ │ │ - vadd.f64 d14, d6, d7 │ │ │ │ │ - vsub.f64 d9, d6, d7 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - add.w r7, r6, sl │ │ │ │ │ + str r0, [sp, #184] @ 0xb8 │ │ │ │ │ + mov.w r0, #168 @ 0xa8 │ │ │ │ │ mul.w r0, r0, r8 │ │ │ │ │ - str r7, [sp, #268] @ 0x10c │ │ │ │ │ - mul.w r5, r5, r8 │ │ │ │ │ - vstr d1, [sp, #592] @ 0x250 │ │ │ │ │ - vldr d12, [r7] │ │ │ │ │ - adds r7, r4, r0 │ │ │ │ │ - movs r4, #240 @ 0xf0 │ │ │ │ │ - str r7, [sp, #272] @ 0x110 │ │ │ │ │ - vmov.f64 d15, d9 │ │ │ │ │ - vadd.f64 d9, d10, d14 │ │ │ │ │ - vldr d5, [r7] │ │ │ │ │ + vsub.f64 d2, d6, d7 │ │ │ │ │ + vadd.f64 d7, d6, d7 │ │ │ │ │ + vstr d2, [sp, #280] @ 0x118 │ │ │ │ │ + vmov.f64 d3, d7 │ │ │ │ │ + str r2, [sp, #0] │ │ │ │ │ + str r0, [sp, #188] @ 0xbc │ │ │ │ │ + add r0, r7 │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ + str r0, [sp, #192] @ 0xc0 │ │ │ │ │ + mov.w r0, #208 @ 0xd0 │ │ │ │ │ + str r6, [sp, #640] @ 0x280 │ │ │ │ │ + add r6, r7 │ │ │ │ │ + mul.w r0, r0, r8 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + str r0, [sp, #196] @ 0xc4 │ │ │ │ │ + add r0, r2 │ │ │ │ │ + str r5, [sp, #288] @ 0x120 │ │ │ │ │ + add r5, r8 │ │ │ │ │ + vldr d14, [r0] │ │ │ │ │ + mov.w r5, r5, lsl #3 │ │ │ │ │ + str r0, [sp, #200] @ 0xc8 │ │ │ │ │ + mov.w r0, lr, lsl #4 │ │ │ │ │ + mov.w lr, #176 @ 0xb0 │ │ │ │ │ + str r6, [sp, #208] @ 0xd0 │ │ │ │ │ + add.w r6, r7, r9 │ │ │ │ │ + add r2, r0 │ │ │ │ │ + mul.w lr, lr, r8 │ │ │ │ │ + vstr d10, [sp, #240] @ 0xf0 │ │ │ │ │ + str r2, [sp, #204] @ 0xcc │ │ │ │ │ + vsub.f64 d4, d6, d14 │ │ │ │ │ + vadd.f64 d14, d6, d14 │ │ │ │ │ + vldr d6, [r2] │ │ │ │ │ + str r6, [sp, #212] @ 0xd4 │ │ │ │ │ + ldr r2, [sp, #0] │ │ │ │ │ + vadd.f64 d0, d6, d7 │ │ │ │ │ + vsub.f64 d6, d6, d7 │ │ │ │ │ + vmov.f64 d15, d6 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + add.w r6, r2, r1 │ │ │ │ │ + vadd.f64 d9, d10, d0 │ │ │ │ │ + add r1, r7 │ │ │ │ │ + vldr d12, [r6] │ │ │ │ │ + str r6, [sp, #216] @ 0xd8 │ │ │ │ │ + add.w r6, r7, r5 │ │ │ │ │ + vstr d4, [sp, #568] @ 0x238 │ │ │ │ │ + vldr d5, [r6] │ │ │ │ │ + str r6, [sp, #220] @ 0xdc │ │ │ │ │ + add.w r6, r2, fp │ │ │ │ │ + add fp, r7 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ vadd.f64 d11, d6, d12 │ │ │ │ │ - mul.w r4, r4, r8 │ │ │ │ │ vsub.f64 d12, d6, d12 │ │ │ │ │ - vsub.f64 d14, d0, d14 │ │ │ │ │ - add r0, r6 │ │ │ │ │ - adds r7, r6, r4 │ │ │ │ │ - str r7, [sp, #276] @ 0x114 │ │ │ │ │ - add r2, r6 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - ldr r7, [sp, #0] │ │ │ │ │ - add r7, r5 │ │ │ │ │ - str r7, [sp, #280] @ 0x118 │ │ │ │ │ + str r6, [sp, #224] @ 0xe0 │ │ │ │ │ + add.w r6, r7, ip │ │ │ │ │ + vstr d0, [sp, #264] @ 0x108 │ │ │ │ │ + vldr d6, [r6] │ │ │ │ │ + str r6, [sp, #228] @ 0xe4 │ │ │ │ │ + add.w r6, r2, lr │ │ │ │ │ + add lr, r7 │ │ │ │ │ vsub.f64 d4, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ - add r5, r6 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - add.w r7, r6, ip │ │ │ │ │ - str r7, [sp, #284] @ 0x11c │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - add.w r7, r6, lr │ │ │ │ │ - str r7, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ + str r6, [sp, #232] @ 0xe8 │ │ │ │ │ + add.w r6, r2, r3 │ │ │ │ │ + add.w r2, r7, r4 │ │ │ │ │ + add r3, r7 │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ + str r2, [sp, #236] @ 0xec │ │ │ │ │ + add.w r2, sp, #1024 @ 0x400 │ │ │ │ │ vsub.f64 d8, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [r7] │ │ │ │ │ - ldr r7, [sp, #0] │ │ │ │ │ - add r7, r9 │ │ │ │ │ - str r7, [sp, #292] @ 0x124 │ │ │ │ │ - add r9, r6 │ │ │ │ │ - vldr d2, [r7] │ │ │ │ │ + vldr d7, [r6] │ │ │ │ │ vadd.f64 d1, d7, d2 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ vadd.f64 d2, d11, d1 │ │ │ │ │ vsub.f64 d11, d11, d1 │ │ │ │ │ - vadd.f64 d10, d9, d2 │ │ │ │ │ - vstr d10, [sp, #984] @ 0x3d8 │ │ │ │ │ - vsub.f64 d10, d9, d2 │ │ │ │ │ - vldr d9, [sp, #536] @ 0x218 │ │ │ │ │ - vstr d15, [sp, #552] @ 0x228 │ │ │ │ │ - vstr d3, [sp, #544] @ 0x220 │ │ │ │ │ - vsub.f64 d15, d9, d15 │ │ │ │ │ - vstr d10, [sp, #992] @ 0x3e0 │ │ │ │ │ - vldr d9, [pc, #456] @ 928 │ │ │ │ │ - vldr d10, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d0, [sp, #528] @ 0x210 │ │ │ │ │ - ldr r7, [sp, #260] @ 0x104 │ │ │ │ │ - vadd.f64 d2, d10, d3 │ │ │ │ │ - vmul.f64 d10, d15, d9 │ │ │ │ │ - vmov.f64 d3, d9 │ │ │ │ │ - adds r7, r6, r7 │ │ │ │ │ - str r7, [sp, #260] @ 0x104 │ │ │ │ │ + vadd.f64 d0, d9, d2 │ │ │ │ │ + vstr d0, [r2] │ │ │ │ │ + vsub.f64 d0, d9, d2 │ │ │ │ │ + add.w r2, sp, #1032 @ 0x408 │ │ │ │ │ + vstr d3, [sp, #256] @ 0x100 │ │ │ │ │ + vsub.f64 d3, d3, d15 │ │ │ │ │ + vldr d2, [sp, #248] @ 0xf8 │ │ │ │ │ + vstr d15, [sp, #272] @ 0x110 │ │ │ │ │ + vstr d0, [r2] │ │ │ │ │ + add.w r2, sp, #1040 @ 0x410 │ │ │ │ │ + vldr d0, [pc, #388] @ 948 │ │ │ │ │ + vadd.f64 d2, d2, d14 │ │ │ │ │ + vmul.f64 d10, d3, d0 │ │ │ │ │ vmov.f64 d9, d10 │ │ │ │ │ - vldr d10, [pc, #428] @ 930 │ │ │ │ │ + vldr d10, [pc, #380] @ 950 │ │ │ │ │ vnmls.f64 d9, d2, d10 │ │ │ │ │ - vmul.f64 d2, d2, d3 │ │ │ │ │ - vmla.f64 d2, d15, d10 │ │ │ │ │ - vadd.f64 d15, d5, d7 │ │ │ │ │ + vmul.f64 d2, d2, d0 │ │ │ │ │ + vmov.f64 d15, d10 │ │ │ │ │ + vmla.f64 d2, d3, d10 │ │ │ │ │ + vadd.f64 d3, d5, d7 │ │ │ │ │ vsub.f64 d7, d7, d5 │ │ │ │ │ - vstr d9, [sp, #560] @ 0x230 │ │ │ │ │ - vmov.f64 d9, d3 │ │ │ │ │ - vmov.f64 d3, d10 │ │ │ │ │ - vstr d2, [sp, #568] @ 0x238 │ │ │ │ │ + vstr d9, [sp, #536] @ 0x218 │ │ │ │ │ + vmul.f64 d10, d3, d0 │ │ │ │ │ + vstr d2, [sp, #544] @ 0x220 │ │ │ │ │ vadd.f64 d2, d12, d6 │ │ │ │ │ vsub.f64 d12, d12, d6 │ │ │ │ │ - vmul.f64 d10, d15, d9 │ │ │ │ │ vmov.f64 d9, d10 │ │ │ │ │ - vmov.f64 d10, d3 │ │ │ │ │ - vnmls.f64 d9, d2, d3 │ │ │ │ │ - vmul.f64 d6, d12, d10 │ │ │ │ │ - vstr d9, [sp, #576] @ 0x240 │ │ │ │ │ - vldr d9, [pc, #348] @ 928 │ │ │ │ │ - vmul.f64 d2, d2, d9 │ │ │ │ │ + vmov.f64 d10, d15 │ │ │ │ │ + vnmls.f64 d9, d2, d15 │ │ │ │ │ + vmul.f64 d2, d2, d0 │ │ │ │ │ + vmul.f64 d6, d12, d15 │ │ │ │ │ + vmla.f64 d2, d3, d15 │ │ │ │ │ + vldr d3, [sp, #280] @ 0x118 │ │ │ │ │ + vldr d15, [sp, #568] @ 0x238 │ │ │ │ │ + vstr d9, [sp, #552] @ 0x228 │ │ │ │ │ vadd.f64 d9, d4, d8 │ │ │ │ │ - vmla.f64 d2, d15, d3 │ │ │ │ │ - vldr d15, [sp, #592] @ 0x250 │ │ │ │ │ vsub.f64 d4, d4, d8 │ │ │ │ │ - vstr d2, [sp, #584] @ 0x248 │ │ │ │ │ - vldr d2, [sp, #528] @ 0x210 │ │ │ │ │ - vadd.f64 d2, d2, d15 │ │ │ │ │ - vsub.f64 d3, d9, d2 │ │ │ │ │ - vstr d3, [sp, #1000] @ 0x3e8 │ │ │ │ │ - vadd.f64 d3, d9, d2 │ │ │ │ │ - vldr d2, [pc, #300] @ 928 │ │ │ │ │ - vstr d3, [sp, #1008] @ 0x3f0 │ │ │ │ │ - vsub.f64 d3, d4, d11 │ │ │ │ │ + vstr d2, [sp, #560] @ 0x230 │ │ │ │ │ + vadd.f64 d2, d3, d15 │ │ │ │ │ + vsub.f64 d0, d9, d2 │ │ │ │ │ + vstr d0, [r2] │ │ │ │ │ + vadd.f64 d0, d9, d2 │ │ │ │ │ + add.w r2, sp, #1048 @ 0x418 │ │ │ │ │ + vstr d0, [r2] │ │ │ │ │ + vsub.f64 d0, d4, d11 │ │ │ │ │ vadd.f64 d4, d4, d11 │ │ │ │ │ - vmul.f64 d12, d12, d2 │ │ │ │ │ - vstr d3, [sp, #1016] @ 0x3f8 │ │ │ │ │ - vstr d4, [sp, #592] @ 0x250 │ │ │ │ │ + add.w r2, sp, #1056 @ 0x420 │ │ │ │ │ + vstr d0, [r2] │ │ │ │ │ + vldr d0, [pc, #236] @ 948 │ │ │ │ │ + vstr d4, [sp, #568] @ 0x238 │ │ │ │ │ vmov.f64 d4, d6 │ │ │ │ │ + ldr r2, [sp, #0] │ │ │ │ │ + vldr d6, [sp, #248] @ 0xf8 │ │ │ │ │ + vnmls.f64 d4, d7, d0 │ │ │ │ │ + vmul.f64 d12, d12, d0 │ │ │ │ │ + add r9, r2 │ │ │ │ │ + add r4, r2 │ │ │ │ │ + add r5, r2 │ │ │ │ │ + add ip, r2 │ │ │ │ │ + vsub.f64 d14, d6, d14 │ │ │ │ │ vmov.f64 d1, d12 │ │ │ │ │ - vldr d3, [sp, #552] @ 0x228 │ │ │ │ │ vmla.f64 d1, d7, d10 │ │ │ │ │ - vnmls.f64 d4, d7, d2 │ │ │ │ │ - vldr d7, [sp, #536] @ 0x218 │ │ │ │ │ - vadd.f64 d7, d7, d3 │ │ │ │ │ - vldr d3, [sp, #544] @ 0x220 │ │ │ │ │ - vstr d1, [sp, #608] @ 0x260 │ │ │ │ │ - vstr d4, [sp, #600] @ 0x258 │ │ │ │ │ - vldr d4, [sp, #296] @ 0x128 │ │ │ │ │ - vsub.f64 d6, d4, d3 │ │ │ │ │ - vmul.f64 d5, d6, d10 │ │ │ │ │ - vmov.f64 d1, d5 │ │ │ │ │ - vmla.f64 d1, d7, d2 │ │ │ │ │ + vldr d7, [sp, #256] @ 0x100 │ │ │ │ │ + vmul.f64 d5, d14, d10 │ │ │ │ │ + vstr d4, [sp, #576] @ 0x240 │ │ │ │ │ + vmov.f64 d4, d0 │ │ │ │ │ + vldr d0, [sp, #272] @ 0x110 │ │ │ │ │ + vmov.f64 d6, d5 │ │ │ │ │ + vadd.f64 d7, d7, d0 │ │ │ │ │ + vldr d0, [sp, #264] @ 0x108 │ │ │ │ │ + vstr d1, [sp, #584] @ 0x248 │ │ │ │ │ + vmla.f64 d6, d7, d4 │ │ │ │ │ vmul.f64 d7, d7, d10 │ │ │ │ │ - vnmls.f64 d7, d6, d2 │ │ │ │ │ - vsub.f64 d6, d0, d15 │ │ │ │ │ - vadd.f64 d3, d14, d6 │ │ │ │ │ - vstr d1, [sp, #536] @ 0x218 │ │ │ │ │ - vstr d3, [sp, #528] @ 0x210 │ │ │ │ │ - vsub.f64 d3, d14, d6 │ │ │ │ │ - vldr d6, [r7] │ │ │ │ │ - ldr r7, [sp, #0] │ │ │ │ │ - vstr d7, [sp, #544] @ 0x220 │ │ │ │ │ - add sl, r7 │ │ │ │ │ - add lr, r7 │ │ │ │ │ - vstr d3, [sp, #552] @ 0x228 │ │ │ │ │ - add ip, r7 │ │ │ │ │ - add r4, r7 │ │ │ │ │ - vldr d7, [sl] │ │ │ │ │ - vadd.f64 d3, d6, d7 │ │ │ │ │ - vsub.f64 d0, d6, d7 │ │ │ │ │ + vnmls.f64 d7, d14, d4 │ │ │ │ │ + vstr d6, [sp, #592] @ 0x250 │ │ │ │ │ + vsub.f64 d6, d3, d15 │ │ │ │ │ + vstr d7, [sp, #600] @ 0x258 │ │ │ │ │ + vldr d7, [sp, #240] @ 0xf0 │ │ │ │ │ + str r3, [sp, #240] @ 0xf0 │ │ │ │ │ + vsub.f64 d7, d7, d0 │ │ │ │ │ + vadd.f64 d0, d7, d6 │ │ │ │ │ + vstr d0, [sp, #608] @ 0x260 │ │ │ │ │ + vsub.f64 d0, d7, d6 │ │ │ │ │ + vldr d7, [r1] │ │ │ │ │ vldr d6, [r9] │ │ │ │ │ - vldr d7, [lr] │ │ │ │ │ - str r4, [sp, #296] @ 0x128 │ │ │ │ │ - vldr d14, [r0] │ │ │ │ │ - vadd.f64 d4, d6, d7 │ │ │ │ │ - vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [r5] │ │ │ │ │ - vstr d6, [sp, #624] @ 0x270 │ │ │ │ │ - vldr d6, [ip] │ │ │ │ │ - vstr d4, [sp, #616] @ 0x268 │ │ │ │ │ - vsub.f64 d1, d6, d7 │ │ │ │ │ - vadd.f64 d7, d6, d7 │ │ │ │ │ + vstr d0, [sp, #616] @ 0x268 │ │ │ │ │ + vadd.f64 d0, d6, d7 │ │ │ │ │ + vsub.f64 d7, d6, d7 │ │ │ │ │ vldr d6, [r4] │ │ │ │ │ - ldr r4, [sp, #200] @ 0xc8 │ │ │ │ │ - add r7, r4 │ │ │ │ │ - ldr r4, [sp, #212] @ 0xd4 │ │ │ │ │ - str.w r7, [sp, #1224] @ 0x4c8 │ │ │ │ │ - vsub.f64 d11, d6, d14 │ │ │ │ │ - adds r4, r6, r4 │ │ │ │ │ - str r4, [sp, #200] @ 0xc8 │ │ │ │ │ - vstr d1, [sp, #632] @ 0x278 │ │ │ │ │ - vadd.f64 d14, d6, d14 │ │ │ │ │ - vldr d1, [r7] │ │ │ │ │ - vmov.f64 d15, d7 │ │ │ │ │ - vldr d2, [r4] │ │ │ │ │ - ldr r4, [sp, #220] @ 0xdc │ │ │ │ │ - ldr r7, [sp, #0] │ │ │ │ │ - adds r4, r6, r4 │ │ │ │ │ - str r4, [sp, #212] @ 0xd4 │ │ │ │ │ - add r1, r7 │ │ │ │ │ - vsub.f64 d7, d1, d2 │ │ │ │ │ - add r3, r7 │ │ │ │ │ - vadd.f64 d1, d1, d2 │ │ │ │ │ - vldr d12, [r4] │ │ │ │ │ - ldr r4, [sp, #240] @ 0xf0 │ │ │ │ │ - vldr d4, [r1] │ │ │ │ │ - add r4, r7 │ │ │ │ │ - str r4, [sp, #220] @ 0xdc │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - vadd.f64 d6, d4, d12 │ │ │ │ │ - vsub.f64 d12, d4, d12 │ │ │ │ │ - vldr d4, [r4] │ │ │ │ │ - ldr r4, [sp, #232] @ 0xe8 │ │ │ │ │ - b.n 940 │ │ │ │ │ - nop.w │ │ │ │ │ + vstr d7, [sp, #272] @ 0x110 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + vsub.f64 d2, d6, d7 │ │ │ │ │ + vadd.f64 d14, d6, d7 │ │ │ │ │ + vstr d2, [sp, #280] @ 0x118 │ │ │ │ │ + vmov.f64 d3, d14 │ │ │ │ │ + ldr r3, [sp, #288] @ 0x120 │ │ │ │ │ + vldr d7, [ip] │ │ │ │ │ + vldr d6, [lr] │ │ │ │ │ + add.w r2, r7, r3 │ │ │ │ │ + ldr r3, [sp, #168] @ 0xa8 │ │ │ │ │ + str r2, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d1, [r2] │ │ │ │ │ + ldr r2, [sp, #0] │ │ │ │ │ + vsub.f64 d4, d6, d7 │ │ │ │ │ + vadd.f64 d6, d6, d7 │ │ │ │ │ + vldr d14, [r5] │ │ │ │ │ + add r2, r3 │ │ │ │ │ + ldr r3, [sp, #624] @ 0x270 │ │ │ │ │ + vmov.f64 d15, d6 │ │ │ │ │ + vldr d2, [r2] │ │ │ │ │ + str r2, [sp, #168] @ 0xa8 │ │ │ │ │ + vstr d4, [sp, #648] @ 0x288 │ │ │ │ │ + b.n 960 │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ - .word 0x0000091a │ │ │ │ │ + .word 0x00000924 │ │ │ │ │ R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ │ │ │ │ │ .word 0x00000000 │ │ │ │ │ R_ARM_GOT32 fftw_an_INT_guaranteed_to_be_zero │ │ │ │ │ + add.w r2, r7, r3 │ │ │ │ │ + ldr r3, [sp, #176] @ 0xb0 │ │ │ │ │ + vldr d4, [r2] │ │ │ │ │ + str r2, [sp, #256] @ 0x100 │ │ │ │ │ + vsub.f64 d7, d1, d2 │ │ │ │ │ + vadd.f64 d1, d1, d2 │ │ │ │ │ + ldr r2, [sp, #0] │ │ │ │ │ + vldr d6, [fp] │ │ │ │ │ + add r2, r3 │ │ │ │ │ + ldr r3, [sp, #0] │ │ │ │ │ + vldr d12, [r2] │ │ │ │ │ + str r2, [sp, #176] @ 0xb0 │ │ │ │ │ + vsub.f64 d11, d6, d14 │ │ │ │ │ + vadd.f64 d14, d6, d14 │ │ │ │ │ + ldr r2, [sp, #640] @ 0x280 │ │ │ │ │ + vadd.f64 d6, d4, d12 │ │ │ │ │ + vsub.f64 d12, d4, d12 │ │ │ │ │ + add r2, r3 │ │ │ │ │ + add.w r3, r0, r7 │ │ │ │ │ + ldr r0, [sp, #0] │ │ │ │ │ vstr d3, [sp] │ │ │ │ │ - adds r4, r6, r4 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ + str r3, [sp, #264] @ 0x108 │ │ │ │ │ + ldr r3, [sp, #196] @ 0xc4 │ │ │ │ │ vadd.f64 d9, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ vldr d6, [r2] │ │ │ │ │ - str r4, [sp, #232] @ 0xe8 │ │ │ │ │ - vldr d10, [r4] │ │ │ │ │ - add.w r4, sp, #1024 @ 0x400 │ │ │ │ │ + add r3, r7 │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ + str r3, [sp, #196] @ 0xc4 │ │ │ │ │ vsub.f64 d2, d6, d5 │ │ │ │ │ vadd.f64 d6, d6, d5 │ │ │ │ │ + ldr r3, [sp, #188] @ 0xbc │ │ │ │ │ + add r3, r0 │ │ │ │ │ + vldr d10, [r3] │ │ │ │ │ + str r3, [sp, #188] @ 0xbc │ │ │ │ │ + add.w r3, sp, #1064 @ 0x428 │ │ │ │ │ vadd.f64 d8, d4, d10 │ │ │ │ │ vsub.f64 d4, d4, d10 │ │ │ │ │ - vldr d10, [sp, #616] @ 0x268 │ │ │ │ │ + vadd.f64 d10, d0, d3 │ │ │ │ │ vadd.f64 d5, d2, d8 │ │ │ │ │ - vadd.f64 d10, d3, d10 │ │ │ │ │ vsub.f64 d2, d2, d8 │ │ │ │ │ vadd.f64 d8, d1, d6 │ │ │ │ │ vsub.f64 d6, d6, d1 │ │ │ │ │ vadd.f64 d3, d10, d8 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ + vstr d3, [sp, #624] @ 0x270 │ │ │ │ │ vsub.f64 d3, d10, d8 │ │ │ │ │ - add.w r4, sp, #1032 @ 0x408 │ │ │ │ │ + vldr d8, [sp, #280] @ 0x118 │ │ │ │ │ + vstr d15, [sp, #288] @ 0x120 │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ + add.w r3, sp, #1072 @ 0x430 │ │ │ │ │ + vsub.f64 d10, d14, d8 │ │ │ │ │ + vldr d3, [pc, #940] @ dc0 │ │ │ │ │ vsub.f64 d8, d2, d7 │ │ │ │ │ vadd.f64 d7, d7, d2 │ │ │ │ │ - vldr d2, [pc, #944] @ d50 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ - add.w r4, sp, #1040 @ 0x410 │ │ │ │ │ - vldr d10, [sp, #624] @ 0x270 │ │ │ │ │ - vldr d3, [pc, #928] @ d50 │ │ │ │ │ - vmul.f64 d7, d7, d2 │ │ │ │ │ - vstr d15, [sp, #240] @ 0xf0 │ │ │ │ │ - vsub.f64 d10, d14, d10 │ │ │ │ │ + vldr d2, [sp, #280] @ 0x118 │ │ │ │ │ vmul.f64 d8, d8, d3 │ │ │ │ │ + vadd.f64 d14, d2, d14 │ │ │ │ │ vadd.f64 d3, d10, d8 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ vsub.f64 d3, d10, d8 │ │ │ │ │ + vmov.f64 d8, d15 │ │ │ │ │ + vldr d10, [sp, #272] @ 0x110 │ │ │ │ │ + add.w r3, sp, #1080 @ 0x438 │ │ │ │ │ + vldr d15, [pc, #892] @ dc0 │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ + add.w r3, sp, #1088 @ 0x440 │ │ │ │ │ + vadd.f64 d10, d10, d8 │ │ │ │ │ vadd.f64 d8, d9, d5 │ │ │ │ │ - vadd.f64 d10, d0, d15 │ │ │ │ │ - vldr d15, [pc, #888] @ d50 │ │ │ │ │ - add.w r4, sp, #1048 @ 0x418 │ │ │ │ │ vsub.f64 d5, d5, d9 │ │ │ │ │ vmul.f64 d8, d8, d15 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ - add.w r4, sp, #1056 @ 0x420 │ │ │ │ │ - vldr d15, [sp, #632] @ 0x278 │ │ │ │ │ - vmul.f64 d5, d5, d2 │ │ │ │ │ + vldr d15, [sp, #648] @ 0x288 │ │ │ │ │ vsub.f64 d3, d10, d8 │ │ │ │ │ - vadd.f64 d8, d10, d8 │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ + vadd.f64 d3, d10, d8 │ │ │ │ │ vadd.f64 d10, d15, d11 │ │ │ │ │ - vsub.f64 d11, d11, d15 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ - add.w r4, sp, #1064 @ 0x428 │ │ │ │ │ - vsub.f64 d1, d11, d6 │ │ │ │ │ - vadd.f64 d6, d11, d6 │ │ │ │ │ - vstr d8, [r4] │ │ │ │ │ vadd.f64 d8, d12, d4 │ │ │ │ │ - add.w r4, sp, #1072 @ 0x430 │ │ │ │ │ + vsub.f64 d11, d11, d15 │ │ │ │ │ + add.w r3, sp, #1096 @ 0x448 │ │ │ │ │ vsub.f64 d12, d12, d4 │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ + add.w r3, sp, #1104 @ 0x450 │ │ │ │ │ vsub.f64 d3, d10, d8 │ │ │ │ │ - vadd.f64 d10, d10, d8 │ │ │ │ │ - vstr d3, [r4] │ │ │ │ │ - add.w r4, sp, #1080 @ 0x438 │ │ │ │ │ - vldr d3, [sp] │ │ │ │ │ - vstr d10, [r4] │ │ │ │ │ - add.w r4, sp, #1088 @ 0x440 │ │ │ │ │ - vstr d1, [r4] │ │ │ │ │ - add.w r4, sp, #1096 @ 0x448 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ - add.w r4, sp, #1104 @ 0x450 │ │ │ │ │ - vldr d6, [sp, #240] @ 0xf0 │ │ │ │ │ - vsub.f64 d6, d0, d6 │ │ │ │ │ - vsub.f64 d0, d6, d7 │ │ │ │ │ + vsub.f64 d1, d11, d6 │ │ │ │ │ + vadd.f64 d6, d11, d6 │ │ │ │ │ + vstr d3, [r3] │ │ │ │ │ + add.w r3, sp, #1112 @ 0x458 │ │ │ │ │ + vadd.f64 d3, d10, d8 │ │ │ │ │ + vldr d10, [sp, #272] @ 0x110 │ │ │ │ │ + vstr d1, [r3] │ │ │ │ │ + add.w r3, sp, #1120 @ 0x460 │ │ │ │ │ + vldr d1, [pc, #784] @ dc0 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + add.w r3, sp, #1128 @ 0x468 │ │ │ │ │ + vldr d6, [sp, #288] @ 0x120 │ │ │ │ │ + vmul.f64 d7, d7, d1 │ │ │ │ │ + vmul.f64 d5, d5, d1 │ │ │ │ │ + vsub.f64 d6, d10, d6 │ │ │ │ │ + vsub.f64 d2, d14, d5 │ │ │ │ │ + vadd.f64 d14, d14, d5 │ │ │ │ │ + vsub.f64 d10, d6, d7 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ - vstr d0, [r4] │ │ │ │ │ - add.w r4, sp, #1112 @ 0x458 │ │ │ │ │ - vldr d0, [sp, #624] @ 0x270 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ - add.w r4, sp, #1120 @ 0x460 │ │ │ │ │ - vadd.f64 d14, d0, d14 │ │ │ │ │ - vldr d0, [sp, #616] @ 0x268 │ │ │ │ │ - vsub.f64 d6, d14, d5 │ │ │ │ │ - vadd.f64 d7, d14, d5 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ - add.w r4, sp, #1128 @ 0x468 │ │ │ │ │ vldr d6, [r7] │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ - vsub.f64 d7, d3, d0 │ │ │ │ │ - add.w r4, sp, #1136 @ 0x470 │ │ │ │ │ + vstr d10, [r3] │ │ │ │ │ + add.w r3, sp, #1136 @ 0x470 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + add.w r3, sp, #1144 @ 0x478 │ │ │ │ │ + vldr d7, [sp] │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + add.w r3, sp, #1152 @ 0x480 │ │ │ │ │ + vstr d14, [r3] │ │ │ │ │ + add.w r3, sp, #1160 @ 0x488 │ │ │ │ │ + vsub.f64 d7, d0, d7 │ │ │ │ │ vsub.f64 d0, d7, d12 │ │ │ │ │ - vadd.f64 d4, d7, d12 │ │ │ │ │ - vstr d0, [r4] │ │ │ │ │ - add.w r4, sp, #1144 @ 0x478 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - ldr r4, [sp, #56] @ 0x38 │ │ │ │ │ - adds r4, r6, r4 │ │ │ │ │ - str r4, [sp, #56] @ 0x38 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - ldr r4, [sp, #128] @ 0x80 │ │ │ │ │ - vadd.f64 d14, d6, d7 │ │ │ │ │ - adds r4, r6, r4 │ │ │ │ │ - str r4, [sp, #128] @ 0x80 │ │ │ │ │ - vmov.f64 d0, d14 │ │ │ │ │ - vsub.f64 d14, d6, d7 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - ldr r4, [sp, #120] @ 0x78 │ │ │ │ │ - add r4, r7 │ │ │ │ │ - str r4, [sp, #120] @ 0x78 │ │ │ │ │ - vmov.f64 d3, d14 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - vsub.f64 d4, d6, d7 │ │ │ │ │ - vadd.f64 d14, d6, d7 │ │ │ │ │ - vstr d4, [sp, #240] @ 0xf0 │ │ │ │ │ - vmov.f64 d15, d14 │ │ │ │ │ - ldr r4, [sp, #176] @ 0xb0 │ │ │ │ │ - add r4, r7 │ │ │ │ │ - str r4, [sp, #176] @ 0xb0 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - ldr r4, [sp, #168] @ 0xa8 │ │ │ │ │ - adds r4, r6, r4 │ │ │ │ │ - str r4, [sp, #168] @ 0xa8 │ │ │ │ │ - vldr d7, [r4] │ │ │ │ │ - ldr r4, [sp, #160] @ 0xa0 │ │ │ │ │ + vadd.f64 d7, d7, d12 │ │ │ │ │ + vstr d0, [r3] │ │ │ │ │ + add.w r3, sp, #1168 @ 0x490 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + ldr r3, [sp, #296] @ 0x128 │ │ │ │ │ + add r3, r0 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + str r3, [sp, #272] @ 0x110 │ │ │ │ │ + ldr r3, [sp, #304] @ 0x130 │ │ │ │ │ + vadd.f64 d0, d6, d7 │ │ │ │ │ vsub.f64 d2, d6, d7 │ │ │ │ │ - vadd.f64 d6, d6, d7 │ │ │ │ │ - add r4, r7 │ │ │ │ │ - str r4, [sp, #160] @ 0xa0 │ │ │ │ │ - vstr d6, [sp, #624] @ 0x270 │ │ │ │ │ - vldr d6, [r4] │ │ │ │ │ - ldr r4, [sp, #152] @ 0x98 │ │ │ │ │ - vstr d2, [sp, #616] @ 0x268 │ │ │ │ │ - adds r4, r6, r4 │ │ │ │ │ - str r4, [sp, #152] @ 0x98 │ │ │ │ │ - vldr d14, [r4] │ │ │ │ │ - ldr r4, [sp, #136] @ 0x88 │ │ │ │ │ - add r4, r7 │ │ │ │ │ - str r4, [sp, #136] @ 0x88 │ │ │ │ │ + add r3, r0 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + vstr d2, [sp] │ │ │ │ │ + str r3, [sp, #280] @ 0x118 │ │ │ │ │ + ldr r3, [sp, #100] @ 0x64 │ │ │ │ │ + add r3, r7 │ │ │ │ │ + str r3, [sp, #100] @ 0x64 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + ldr r3, [sp, #632] @ 0x278 │ │ │ │ │ + vadd.f64 d4, d6, d7 │ │ │ │ │ + vsub.f64 d6, d6, d7 │ │ │ │ │ + add r3, r7 │ │ │ │ │ + str r3, [sp, #288] @ 0x120 │ │ │ │ │ + vstr d6, [sp, #640] @ 0x280 │ │ │ │ │ + vmov.f64 d15, d4 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + ldr r3, [sp, #140] @ 0x8c │ │ │ │ │ + add r3, r0 │ │ │ │ │ + vldr d7, [r3] │ │ │ │ │ + str r3, [sp, #140] @ 0x8c │ │ │ │ │ + ldr r3, [sp, #132] @ 0x84 │ │ │ │ │ + vsub.f64 d8, d6, d7 │ │ │ │ │ + vadd.f64 d14, d6, d7 │ │ │ │ │ + add r3, r7 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + str r3, [sp, #132] @ 0x84 │ │ │ │ │ + ldr r3, [sp, #308] @ 0x134 │ │ │ │ │ + vstr d8, [sp, #648] @ 0x288 │ │ │ │ │ + vstr d14, [sp, #656] @ 0x290 │ │ │ │ │ + add r3, r0 │ │ │ │ │ + vldr d14, [r3] │ │ │ │ │ + str r3, [sp, #296] @ 0x128 │ │ │ │ │ + ldr r3, [sp, #112] @ 0x70 │ │ │ │ │ vsub.f64 d11, d6, d14 │ │ │ │ │ vadd.f64 d14, d6, d14 │ │ │ │ │ - vldr d8, [r4] │ │ │ │ │ - ldr r4, [sp, #144] @ 0x90 │ │ │ │ │ - adds r4, r6, r4 │ │ │ │ │ - str r4, [sp, #144] @ 0x90 │ │ │ │ │ - vldr d2, [r4] │ │ │ │ │ - ldr r4, [sp, #92] @ 0x5c │ │ │ │ │ - add r4, r7 │ │ │ │ │ - str r4, [sp, #92] @ 0x5c │ │ │ │ │ + add r3, r7 │ │ │ │ │ + vldr d8, [r3] │ │ │ │ │ + str r3, [sp, #112] @ 0x70 │ │ │ │ │ + ldr r3, [sp, #120] @ 0x78 │ │ │ │ │ + add r3, r0 │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ + str r3, [sp, #120] @ 0x78 │ │ │ │ │ + ldr r3, [sp, #300] @ 0x12c │ │ │ │ │ vsub.f64 d6, d8, d2 │ │ │ │ │ vadd.f64 d8, d8, d2 │ │ │ │ │ - vldr d4, [r4] │ │ │ │ │ - ldr r4, [sp, #72] @ 0x48 │ │ │ │ │ - adds r4, r6, r4 │ │ │ │ │ - str r4, [sp, #72] @ 0x48 │ │ │ │ │ - vldr d12, [r4] │ │ │ │ │ - ldr r4, [sp, #184] @ 0xb8 │ │ │ │ │ - adds r4, r6, r4 │ │ │ │ │ - str r4, [sp, #184] @ 0xb8 │ │ │ │ │ + add r3, r7 │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ + str r3, [sp, #300] @ 0x12c │ │ │ │ │ + ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ + add r3, r0 │ │ │ │ │ + vldr d12, [r3] │ │ │ │ │ + str r3, [sp, #64] @ 0x40 │ │ │ │ │ + ldr r3, [sp, #664] @ 0x298 │ │ │ │ │ vadd.f64 d7, d4, d12 │ │ │ │ │ vsub.f64 d12, d4, d12 │ │ │ │ │ - vldr d5, [r4] │ │ │ │ │ - ldr r4, [sp, #192] @ 0xc0 │ │ │ │ │ + add r3, r0 │ │ │ │ │ + vldr d5, [r3] │ │ │ │ │ + str r3, [sp, #304] @ 0x130 │ │ │ │ │ + ldr r3, [sp, #672] @ 0x2a0 │ │ │ │ │ vadd.f64 d9, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - add r4, r7 │ │ │ │ │ - str r4, [sp, #192] @ 0xc0 │ │ │ │ │ - vldr d4, [r4] │ │ │ │ │ - ldr r4, [sp, #104] @ 0x68 │ │ │ │ │ - str r7, [sp, #0] │ │ │ │ │ - add r4, r7 │ │ │ │ │ + add r3, r7 │ │ │ │ │ + str r3, [sp, #308] @ 0x134 │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ + vstr d15, [sp, #632] @ 0x278 │ │ │ │ │ + ldr.w r3, [sp, #1240] @ 0x4d8 │ │ │ │ │ vsub.f64 d1, d5, d4 │ │ │ │ │ - mov r7, r4 │ │ │ │ │ vadd.f64 d5, d5, d4 │ │ │ │ │ - vstr d15, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d2, [r4] │ │ │ │ │ - ldr r4, [sp, #100] @ 0x64 │ │ │ │ │ - adds r4, r6, r4 │ │ │ │ │ - str r4, [sp, #100] @ 0x64 │ │ │ │ │ - vldr d10, [r4] │ │ │ │ │ - add.w r4, sp, #1152 @ 0x480 │ │ │ │ │ + add r3, r7 │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ + str.w r3, [sp, #1240] @ 0x4d8 │ │ │ │ │ + ldr r3, [sp, #88] @ 0x58 │ │ │ │ │ + add r3, r0 │ │ │ │ │ + vldr d10, [r3] │ │ │ │ │ + str r3, [sp, #88] @ 0x58 │ │ │ │ │ + add.w r3, sp, #1176 @ 0x498 │ │ │ │ │ vadd.f64 d7, d2, d10 │ │ │ │ │ vsub.f64 d2, d2, d10 │ │ │ │ │ vadd.f64 d10, d0, d15 │ │ │ │ │ vadd.f64 d4, d1, d7 │ │ │ │ │ vsub.f64 d1, d1, d7 │ │ │ │ │ vadd.f64 d7, d8, d5 │ │ │ │ │ vsub.f64 d5, d5, d8 │ │ │ │ │ - vldr d8, [pc, #392] @ d50 │ │ │ │ │ + vldr d8, [sp] │ │ │ │ │ vadd.f64 d15, d10, d7 │ │ │ │ │ - vstr d15, [sp, #632] @ 0x278 │ │ │ │ │ + vstr d15, [sp, #664] @ 0x298 │ │ │ │ │ vsub.f64 d15, d10, d7 │ │ │ │ │ vsub.f64 d7, d1, d6 │ │ │ │ │ - vldr d10, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d10, [sp, #640] @ 0x280 │ │ │ │ │ vadd.f64 d6, d6, d1 │ │ │ │ │ - vstr d15, [r4] │ │ │ │ │ + vldr d1, [pc, #376] @ dc0 │ │ │ │ │ + vstr d15, [sp, #672] @ 0x2a0 │ │ │ │ │ + vldr d15, [pc, #368] @ dc0 │ │ │ │ │ vadd.f64 d10, d10, d14 │ │ │ │ │ - vldr d15, [pc, #356] @ d50 │ │ │ │ │ - add.w r4, sp, #1160 @ 0x488 │ │ │ │ │ - vmul.f64 d6, d6, d8 │ │ │ │ │ + vmul.f64 d6, d6, d1 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ vsub.f64 d15, d7, d10 │ │ │ │ │ - vstr d15, [r4] │ │ │ │ │ + vstr d15, [r3] │ │ │ │ │ vadd.f64 d15, d7, d10 │ │ │ │ │ - add.w r4, sp, #1168 @ 0x490 │ │ │ │ │ + add.w r3, sp, #1184 @ 0x4a0 │ │ │ │ │ + vldr d7, [sp] │ │ │ │ │ + vldr d10, [sp, #656] @ 0x290 │ │ │ │ │ + vstr d15, [r3] │ │ │ │ │ + add.w r3, sp, #1192 @ 0x4a8 │ │ │ │ │ + vldr d15, [pc, #320] @ dc0 │ │ │ │ │ + vadd.f64 d10, d7, d10 │ │ │ │ │ vadd.f64 d7, d9, d4 │ │ │ │ │ - vldr d10, [sp, #624] @ 0x270 │ │ │ │ │ vsub.f64 d4, d4, d9 │ │ │ │ │ - vstr d15, [r4] │ │ │ │ │ - add.w r4, sp, #1176 @ 0x498 │ │ │ │ │ - vldr d15, [pc, #304] @ d50 │ │ │ │ │ - vadd.f64 d10, d3, d10 │ │ │ │ │ - vmul.f64 d4, d4, d8 │ │ │ │ │ vmul.f64 d7, d7, d15 │ │ │ │ │ + vmul.f64 d4, d4, d1 │ │ │ │ │ vsub.f64 d15, d10, d7 │ │ │ │ │ - vstr d15, [r4] │ │ │ │ │ + vstr d15, [r3] │ │ │ │ │ vadd.f64 d15, d10, d7 │ │ │ │ │ - vldr d7, [sp, #616] @ 0x268 │ │ │ │ │ - add.w r4, sp, #1184 @ 0x4a0 │ │ │ │ │ + add.w r3, sp, #1200 @ 0x4b0 │ │ │ │ │ + vldr d7, [sp, #648] @ 0x288 │ │ │ │ │ + vstr d15, [r3] │ │ │ │ │ + add.w r3, sp, #1208 @ 0x4b8 │ │ │ │ │ vadd.f64 d10, d7, d11 │ │ │ │ │ vadd.f64 d7, d12, d2 │ │ │ │ │ - vstr d15, [r4] │ │ │ │ │ - add.w r4, sp, #1192 @ 0x4a8 │ │ │ │ │ vsub.f64 d12, d12, d2 │ │ │ │ │ vsub.f64 d15, d10, d7 │ │ │ │ │ vadd.f64 d7, d10, d7 │ │ │ │ │ - vldr d10, [sp, #616] @ 0x268 │ │ │ │ │ + vldr d10, [sp, #648] @ 0x288 │ │ │ │ │ vsub.f64 d11, d11, d10 │ │ │ │ │ - vstr d15, [r4] │ │ │ │ │ - add.w r4, sp, #1200 @ 0x4b0 │ │ │ │ │ + vstr d15, [r3] │ │ │ │ │ + add.w r3, sp, #1216 @ 0x4c0 │ │ │ │ │ + vldr d10, [sp, #960] @ 0x3c0 │ │ │ │ │ vsub.f64 d15, d11, d5 │ │ │ │ │ - vstr d15, [sp, #616] @ 0x268 │ │ │ │ │ + vstr d15, [sp, #648] @ 0x288 │ │ │ │ │ vadd.f64 d15, d11, d5 │ │ │ │ │ - vldr d11, [sp, #624] @ 0x270 │ │ │ │ │ - vsub.f64 d5, d3, d11 │ │ │ │ │ - vstr d15, [r4] │ │ │ │ │ - add.w r4, sp, #1208 @ 0x4b8 │ │ │ │ │ - vldr d3, [sp, #984] @ 0x3d8 │ │ │ │ │ + vldr d11, [sp, #656] @ 0x290 │ │ │ │ │ + vstr d15, [r3] │ │ │ │ │ + add.w r3, sp, #1224 @ 0x4c8 │ │ │ │ │ + vsub.f64 d5, d8, d11 │ │ │ │ │ + vadd.f64 d8, d5, d6 │ │ │ │ │ vsub.f64 d15, d5, d6 │ │ │ │ │ - vadd.f64 d1, d5, d6 │ │ │ │ │ - vldr d6, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d6, [sp, #640] @ 0x280 │ │ │ │ │ vsub.f64 d14, d6, d14 │ │ │ │ │ - vstr d1, [r4] │ │ │ │ │ - add.w r4, sp, #1216 @ 0x4c0 │ │ │ │ │ - vstr d15, [sp, #624] @ 0x270 │ │ │ │ │ - vldr d15, [sp, #632] @ 0x278 │ │ │ │ │ + vstr d8, [r3] │ │ │ │ │ + add.w r3, sp, #1232 @ 0x4d0 │ │ │ │ │ + vstr d15, [sp, #656] @ 0x290 │ │ │ │ │ vsub.f64 d6, d14, d4 │ │ │ │ │ - vadd.f64 d4, d14, d4 │ │ │ │ │ - vldr d14, [sp, #104] @ 0x68 │ │ │ │ │ - vstr d6, [sp, #240] @ 0xf0 │ │ │ │ │ - vsub.f64 d6, d0, d14 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - add.w r4, sp, #1024 @ 0x400 │ │ │ │ │ - vldr d0, [sp, #920] @ 0x398 │ │ │ │ │ + vadd.f64 d14, d14, d4 │ │ │ │ │ + vldr d4, [sp, #632] @ 0x278 │ │ │ │ │ + vstr d6, [sp, #640] @ 0x280 │ │ │ │ │ + vsub.f64 d6, d0, d4 │ │ │ │ │ + vstr d14, [r3] │ │ │ │ │ + add.w r3, sp, #1024 @ 0x400 │ │ │ │ │ vadd.f64 d2, d6, d12 │ │ │ │ │ vsub.f64 d14, d6, d12 │ │ │ │ │ - vldr d12, [r4] │ │ │ │ │ - add.w r4, sp, #1080 @ 0x438 │ │ │ │ │ - vadd.f64 d5, d0, d3 │ │ │ │ │ - vadd.f64 d8, d12, d15 │ │ │ │ │ - vstr d2, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d10, [sp, #960] @ 0x3c0 │ │ │ │ │ - vldr d15, [r4] │ │ │ │ │ - vldr d11, [sp, #1008] @ 0x3f0 │ │ │ │ │ + vstr d2, [sp, #632] @ 0x278 │ │ │ │ │ + vldr d0, [r3] │ │ │ │ │ + add.w r3, sp, #1048 @ 0x418 │ │ │ │ │ + str r0, [sp, #0] │ │ │ │ │ + vldr d12, [r3] │ │ │ │ │ + ldr r3, [sp, #136] @ 0x88 │ │ │ │ │ + vldr d1, [sp, #624] @ 0x270 │ │ │ │ │ + vadd.f64 d5, d10, d0 │ │ │ │ │ + vldr d15, [sp, #664] @ 0x298 │ │ │ │ │ + vldr d11, [sp, #1000] @ 0x3e8 │ │ │ │ │ + vldr d9, [sp, #912] @ 0x390 │ │ │ │ │ + vadd.f64 d8, d1, d15 │ │ │ │ │ + vadd.f64 d1, d3, d7 │ │ │ │ │ + vsub.f64 d7, d7, d3 │ │ │ │ │ + vadd.f64 d6, d11, d12 │ │ │ │ │ vsub.f64 d4, d5, d8 │ │ │ │ │ - ldr r4, [sp, #0] │ │ │ │ │ - vadd.f64 d1, d15, d7 │ │ │ │ │ vadd.f64 d5, d5, d8 │ │ │ │ │ - vadd.f64 d6, d10, d11 │ │ │ │ │ - vldr d9, [sp, #872] @ 0x368 │ │ │ │ │ - vsub.f64 d7, d7, d15 │ │ │ │ │ - vldr d15, [sp, #632] @ 0x278 │ │ │ │ │ - vstr d5, [r6] │ │ │ │ │ vsub.f64 d2, d6, d1 │ │ │ │ │ vadd.f64 d6, d6, d1 │ │ │ │ │ - vldr d1, [sp, #856] @ 0x358 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ + vldr d1, [sp, #896] @ 0x380 │ │ │ │ │ + vstr d5, [r0] │ │ │ │ │ + vstr d6, [r7] │ │ │ │ │ vmul.f64 d6, d1, d2 │ │ │ │ │ - ldr r4, [sp, #164] @ 0xa4 │ │ │ │ │ vnmls.f64 d6, d9, d4 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ vmul.f64 d6, d9, d2 │ │ │ │ │ + ldr r3, [sp, #132] @ 0x84 │ │ │ │ │ + vldr d9, [pc, #32] @ dc0 │ │ │ │ │ vmla.f64 d6, d1, d4 │ │ │ │ │ - ldr r4, [sp, #160] @ 0xa0 │ │ │ │ │ - vsub.f64 d4, d10, d11 │ │ │ │ │ - vldr d10, [sp, #672] @ 0x2a0 │ │ │ │ │ - vldr d1, [sp, #688] @ 0x2b0 │ │ │ │ │ - b.n d70 │ │ │ │ │ + vsub.f64 d4, d11, d12 │ │ │ │ │ + vldr d12, [sp, #384] @ 0x180 │ │ │ │ │ + vldr d1, [sp, #712] @ 0x2c8 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + vsub.f64 d6, d10, d0 │ │ │ │ │ + b.n de0 │ │ │ │ │ + nop │ │ │ │ │ nop.w │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ .word 0xa6aea963 │ │ │ │ │ .word 0x3fd87de2 │ │ │ │ │ .word 0xcf328d46 │ │ │ │ │ .word 0x3fed906b │ │ │ │ │ .word 0x667f3bcd │ │ │ │ │ .word 0x3fe6a09e │ │ │ │ │ - vldr d9, [pc, #-12] @ d68 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ - vsub.f64 d6, d0, d3 │ │ │ │ │ - ldr r4, [sp, #180] @ 0xb4 │ │ │ │ │ - vldr d3, [sp, #992] @ 0x3e0 │ │ │ │ │ - vldr d0, [sp, #928] @ 0x3a0 │ │ │ │ │ + ldr r3, [sp, #148] @ 0x94 │ │ │ │ │ + vldr d0, [sp, #624] @ 0x270 │ │ │ │ │ + vldr d10, [sp, #728] @ 0x2d8 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d7, d6, d7 │ │ │ │ │ - vsub.f64 d6, d12, d15 │ │ │ │ │ - vldr d12, [sp, #376] @ 0x178 │ │ │ │ │ + vsub.f64 d6, d0, d15 │ │ │ │ │ vsub.f64 d2, d4, d6 │ │ │ │ │ vadd.f64 d6, d4, d6 │ │ │ │ │ - vmul.f64 d4, d10, d2 │ │ │ │ │ - vnmls.f64 d4, d1, d5 │ │ │ │ │ - vmul.f64 d5, d10, d5 │ │ │ │ │ - vmla.f64 d5, d1, d2 │ │ │ │ │ - vldr d1, [sp, #384] @ 0x180 │ │ │ │ │ - vldr d10, [sp, #952] @ 0x3b8 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - ldr r4, [sp, #176] @ 0xb0 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ + vmul.f64 d4, d1, d2 │ │ │ │ │ + vnmls.f64 d4, d10, d5 │ │ │ │ │ + vmul.f64 d5, d1, d5 │ │ │ │ │ + vldr d1, [sp, #392] @ 0x188 │ │ │ │ │ + vmla.f64 d5, d10, d2 │ │ │ │ │ + vldr d10, [sp, #968] @ 0x3c8 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + ldr r3, [sp, #288] @ 0x120 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ vmul.f64 d5, d1, d6 │ │ │ │ │ - ldr r4, [sp, #124] @ 0x7c │ │ │ │ │ + ldr r3, [sp, #104] @ 0x68 │ │ │ │ │ vnmls.f64 d5, d12, d7 │ │ │ │ │ vmul.f64 d7, d1, d7 │ │ │ │ │ vmla.f64 d7, d12, d6 │ │ │ │ │ - vadd.f64 d1, d10, d3 │ │ │ │ │ - vsub.f64 d12, d10, d3 │ │ │ │ │ - vldr d6, [sp, #1000] @ 0x3e8 │ │ │ │ │ - vadd.f64 d8, d0, d6 │ │ │ │ │ - vsub.f64 d11, d0, d6 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ - ldr r4, [sp, #120] @ 0x78 │ │ │ │ │ - vstr d7, [r4] │ │ │ │ │ - add.w r4, sp, #1032 @ 0x408 │ │ │ │ │ - vldr d3, [r4] │ │ │ │ │ - add.w r4, sp, #1072 @ 0x430 │ │ │ │ │ - vldr d0, [r4] │ │ │ │ │ - add.w r4, sp, #1192 @ 0x4a8 │ │ │ │ │ - vldr d10, [r4] │ │ │ │ │ - add.w r4, sp, #1152 @ 0x480 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + ldr r3, [sp, #100] @ 0x64 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + add.w r3, sp, #1040 @ 0x410 │ │ │ │ │ + vldr d7, [sp, #992] @ 0x3e0 │ │ │ │ │ + vldr d6, [r3] │ │ │ │ │ + add.w r3, sp, #1032 @ 0x408 │ │ │ │ │ + vldr d0, [r3] │ │ │ │ │ + add.w r3, sp, #1064 @ 0x428 │ │ │ │ │ + vldr d3, [r3] │ │ │ │ │ + add.w r3, sp, #1104 @ 0x450 │ │ │ │ │ + vadd.f64 d8, d10, d6 │ │ │ │ │ + vsub.f64 d11, d10, d6 │ │ │ │ │ + vadd.f64 d1, d7, d0 │ │ │ │ │ + vsub.f64 d12, d7, d0 │ │ │ │ │ + vldr d0, [r3] │ │ │ │ │ + add.w r3, sp, #1208 @ 0x4b8 │ │ │ │ │ + vldr d15, [sp, #672] @ 0x2a0 │ │ │ │ │ + vldr d2, [r3] │ │ │ │ │ vadd.f64 d7, d3, d0 │ │ │ │ │ - vldr d15, [r4] │ │ │ │ │ - ldr r4, [sp, #96] @ 0x60 │ │ │ │ │ - vsub.f64 d6, d10, d15 │ │ │ │ │ - vadd.f64 d2, d15, d10 │ │ │ │ │ - vldr d15, [sp, #864] @ 0x360 │ │ │ │ │ + ldr r3, [sp, #80] @ 0x50 │ │ │ │ │ + vsub.f64 d6, d2, d15 │ │ │ │ │ + vadd.f64 d2, d15, d2 │ │ │ │ │ + vldr d15, [sp, #360] @ 0x168 │ │ │ │ │ vadd.f64 d4, d7, d6 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ vsub.f64 d7, d3, d0 │ │ │ │ │ - vldr d3, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d3, [sp, #904] @ 0x388 │ │ │ │ │ vmul.f64 d4, d4, d9 │ │ │ │ │ vmul.f64 d6, d6, d9 │ │ │ │ │ vadd.f64 d5, d7, d2 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ vsub.f64 d10, d1, d4 │ │ │ │ │ vadd.f64 d4, d1, d4 │ │ │ │ │ + vldr d1, [sp, #680] @ 0x2a8 │ │ │ │ │ vmul.f64 d5, d5, d9 │ │ │ │ │ vmul.f64 d0, d7, d9 │ │ │ │ │ - vldr d7, [sp, #848] @ 0x350 │ │ │ │ │ - vldr d1, [sp, #640] @ 0x280 │ │ │ │ │ - vmul.f64 d2, d15, d10 │ │ │ │ │ + vldr d7, [sp, #888] @ 0x378 │ │ │ │ │ + vmul.f64 d2, d3, d10 │ │ │ │ │ vsub.f64 d9, d8, d5 │ │ │ │ │ vadd.f64 d5, d8, d5 │ │ │ │ │ vldr d8, [sp, #40] @ 0x28 │ │ │ │ │ vnmls.f64 d2, d7, d9 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ vmul.f64 d2, d7, d10 │ │ │ │ │ - vmla.f64 d2, d15, d9 │ │ │ │ │ - ldr r4, [sp, #92] @ 0x5c │ │ │ │ │ - vadd.f64 d9, d12, d0 │ │ │ │ │ vadd.f64 d10, d11, d6 │ │ │ │ │ - vldr d15, [sp, #344] @ 0x158 │ │ │ │ │ + ldr r3, [sp, #300] @ 0x12c │ │ │ │ │ vsub.f64 d7, d12, d0 │ │ │ │ │ vsub.f64 d6, d11, d6 │ │ │ │ │ - vldr d0, [sp, #552] @ 0x228 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ - vmul.f64 d2, d3, d9 │ │ │ │ │ - ldr r4, [sp, #196] @ 0xc4 │ │ │ │ │ - vnmls.f64 d2, d15, d10 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ - vmul.f64 d2, d3, d10 │ │ │ │ │ - vmla.f64 d2, d15, d9 │ │ │ │ │ - ldr r4, [sp, #192] @ 0xc0 │ │ │ │ │ + vmla.f64 d2, d3, d9 │ │ │ │ │ + vadd.f64 d9, d12, d0 │ │ │ │ │ + vldr d3, [sp, #352] @ 0x160 │ │ │ │ │ + vldr d0, [sp, #568] @ 0x238 │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + vmul.f64 d2, d15, d9 │ │ │ │ │ + ldr r3, [sp, #156] @ 0x9c │ │ │ │ │ + vnmls.f64 d2, d3, d10 │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + vmul.f64 d2, d15, d10 │ │ │ │ │ + ldr r3, [sp, #308] @ 0x134 │ │ │ │ │ + vldr d10, [sp, #1016] @ 0x3f8 │ │ │ │ │ + vmla.f64 d2, d3, d9 │ │ │ │ │ vldr d9, [sp, #32] │ │ │ │ │ - vldr d3, [sp, #592] @ 0x250 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ vmul.f64 d2, d8, d4 │ │ │ │ │ - ldr r4, [sp, #140] @ 0x8c │ │ │ │ │ vmul.f64 d4, d9, d4 │ │ │ │ │ - vmla.f64 d4, d8, d5 │ │ │ │ │ + ldr r3, [sp, #116] @ 0x74 │ │ │ │ │ vnmls.f64 d2, d9, d5 │ │ │ │ │ - vldr d9, [pc, #-376] @ d58 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ - vldr d2, [sp, #648] @ 0x288 │ │ │ │ │ - ldr r4, [sp, #136] @ 0x88 │ │ │ │ │ + vmla.f64 d4, d8, d5 │ │ │ │ │ + vldr d9, [pc, #-372] @ dc8 │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + ldr r3, [sp, #112] @ 0x70 │ │ │ │ │ + vldr d2, [sp, #688] @ 0x2b0 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + ldr r3, [sp, #96] @ 0x60 │ │ │ │ │ vmul.f64 d5, d2, d7 │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - ldr r4, [sp, #116] @ 0x74 │ │ │ │ │ + vldr d4, [pc, #-388] @ dd0 │ │ │ │ │ vnmls.f64 d5, d1, d6 │ │ │ │ │ vmul.f64 d6, d2, d6 │ │ │ │ │ vmla.f64 d6, d1, d7 │ │ │ │ │ - vadd.f64 d7, d3, d0 │ │ │ │ │ - vldr d3, [sp, #1016] @ 0x3f8 │ │ │ │ │ - vldr d0, [sp, #944] @ 0x3b0 │ │ │ │ │ - vldr d4, [pc, #-416] @ d60 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ - add.w r4, sp, #1200 @ 0x4b0 │ │ │ │ │ - vldr d5, [pc, #-420] @ d68 │ │ │ │ │ - vstr d6, [r7] │ │ │ │ │ - vldr d6, [sp, #976] @ 0x3d0 │ │ │ │ │ - vmul.f64 d7, d7, d5 │ │ │ │ │ - vsub.f64 d8, d6, d7 │ │ │ │ │ - vadd.f64 d7, d6, d7 │ │ │ │ │ - vstr d7, [sp, #32] │ │ │ │ │ - vldr d7, [sp, #528] @ 0x210 │ │ │ │ │ - vadd.f64 d7, d3, d7 │ │ │ │ │ - vmul.f64 d7, d7, d5 │ │ │ │ │ - vadd.f64 d15, d0, d7 │ │ │ │ │ - vsub.f64 d1, d0, d7 │ │ │ │ │ - vstr d15, [sp, #40] @ 0x28 │ │ │ │ │ - vldr d2, [sp, #104] @ 0x68 │ │ │ │ │ - vldr d15, [r4] │ │ │ │ │ - add.w r4, sp, #1144 @ 0x478 │ │ │ │ │ - vldr d12, [sp, #664] @ 0x298 │ │ │ │ │ + vldr d7, [sp, #616] @ 0x268 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + ldr.w r3, [sp, #1240] @ 0x4d8 │ │ │ │ │ + vadd.f64 d7, d0, d7 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + add.w r3, sp, #1056 @ 0x420 │ │ │ │ │ + vldr d6, [pc, #-420] @ dd8 │ │ │ │ │ + vldr d0, [r3] │ │ │ │ │ + add.w r3, sp, #1216 @ 0x4c0 │ │ │ │ │ + vmul.f64 d7, d7, d6 │ │ │ │ │ + vadd.f64 d5, d10, d7 │ │ │ │ │ + vsub.f64 d8, d10, d7 │ │ │ │ │ + vstr d5, [sp, #32] │ │ │ │ │ + vldr d7, [sp, #608] @ 0x260 │ │ │ │ │ + vldr d2, [sp, #632] @ 0x278 │ │ │ │ │ + vldr d12, [sp, #704] @ 0x2c0 │ │ │ │ │ + vadd.f64 d7, d0, d7 │ │ │ │ │ + vldr d11, [sp, #736] @ 0x2e0 │ │ │ │ │ + vmul.f64 d7, d7, d6 │ │ │ │ │ + vldr d6, [sp, #984] @ 0x3d8 │ │ │ │ │ + vadd.f64 d15, d6, d7 │ │ │ │ │ + vsub.f64 d1, d6, d7 │ │ │ │ │ vmul.f64 d6, d2, d9 │ │ │ │ │ - vldr d11, [sp, #696] @ 0x2b8 │ │ │ │ │ - vldr d0, [r4] │ │ │ │ │ - add.w r4, sp, #1096 @ 0x448 │ │ │ │ │ - vldr d10, [r4] │ │ │ │ │ - vmul.f64 d7, d0, d9 │ │ │ │ │ + vstr d15, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d15, [r3] │ │ │ │ │ + add.w r3, sp, #1168 @ 0x490 │ │ │ │ │ + vldr d10, [r3] │ │ │ │ │ + add.w r3, sp, #1120 @ 0x460 │ │ │ │ │ + vldr d3, [r3] │ │ │ │ │ vnmls.f64 d6, d15, d4 │ │ │ │ │ - ldr r4, [sp, #248] @ 0xf8 │ │ │ │ │ - vmla.f64 d7, d10, d4 │ │ │ │ │ + ldr r3, [sp, #200] @ 0xc8 │ │ │ │ │ + vmul.f64 d7, d10, d9 │ │ │ │ │ + vmla.f64 d7, d3, d4 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vmul.f64 d7, d10, d9 │ │ │ │ │ - vnmls.f64 d7, d0, d4 │ │ │ │ │ + vmul.f64 d7, d3, d9 │ │ │ │ │ + vnmls.f64 d7, d10, d4 │ │ │ │ │ vmul.f64 d4, d2, d4 │ │ │ │ │ - vmov.f64 d0, d9 │ │ │ │ │ - vmov.f64 d10, d4 │ │ │ │ │ - vmla.f64 d10, d15, d9 │ │ │ │ │ + vmov.f64 d3, d4 │ │ │ │ │ + vmla.f64 d3, d15, d9 │ │ │ │ │ vsub.f64 d9, d8, d5 │ │ │ │ │ vldr d15, [sp, #40] @ 0x28 │ │ │ │ │ vadd.f64 d5, d8, d5 │ │ │ │ │ - vldr d8, [sp, #392] @ 0x188 │ │ │ │ │ - vsub.f64 d4, d7, d10 │ │ │ │ │ - vadd.f64 d7, d7, d10 │ │ │ │ │ + vldr d8, [sp, #400] @ 0x190 │ │ │ │ │ + vsub.f64 d4, d7, d3 │ │ │ │ │ + vadd.f64 d7, d7, d3 │ │ │ │ │ + vldr d3, [sp, #24] │ │ │ │ │ vsub.f64 d10, d1, d4 │ │ │ │ │ vadd.f64 d4, d1, d4 │ │ │ │ │ vmul.f64 d2, d12, d10 │ │ │ │ │ vnmls.f64 d2, d11, d9 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ vmul.f64 d2, d11, d10 │ │ │ │ │ + ldr r3, [sp, #196] @ 0xc4 │ │ │ │ │ vmla.f64 d2, d12, d9 │ │ │ │ │ - ldr r4, [sp, #220] @ 0xdc │ │ │ │ │ - vadd.f64 d9, d15, d6 │ │ │ │ │ vldr d12, [sp, #48] @ 0x30 │ │ │ │ │ - vldr d11, [sp, #24] │ │ │ │ │ + vadd.f64 d9, d15, d6 │ │ │ │ │ vsub.f64 d6, d15, d6 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ vldr d2, [sp, #32] │ │ │ │ │ - ldr r4, [sp, #208] @ 0xd0 │ │ │ │ │ + ldr r3, [sp, #160] @ 0xa0 │ │ │ │ │ vadd.f64 d10, d2, d7 │ │ │ │ │ vmul.f64 d2, d12, d9 │ │ │ │ │ - vnmls.f64 d2, d11, d10 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ + vnmls.f64 d2, d3, d10 │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ vmul.f64 d2, d12, d10 │ │ │ │ │ - vmla.f64 d2, d11, d9 │ │ │ │ │ - ldr.w r4, [sp, #1224] @ 0x4c8 │ │ │ │ │ - vldr d12, [sp, #400] @ 0x190 │ │ │ │ │ - vmov.f64 d9, d0 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ + ldr r3, [sp, #248] @ 0xf8 │ │ │ │ │ + vldr d12, [sp, #408] @ 0x198 │ │ │ │ │ + vmla.f64 d2, d3, d9 │ │ │ │ │ + vldr d9, [pc, #-680] @ dc8 │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ vmul.f64 d2, d12, d4 │ │ │ │ │ - ldr r4, [sp, #252] @ 0xfc │ │ │ │ │ vmul.f64 d4, d8, d4 │ │ │ │ │ - vmla.f64 d4, d12, d5 │ │ │ │ │ - vldr d12, [sp, #712] @ 0x2c8 │ │ │ │ │ + ldr r3, [sp, #204] @ 0xcc │ │ │ │ │ vnmls.f64 d2, d8, d5 │ │ │ │ │ - vldr d8, [sp, #704] @ 0x2c0 │ │ │ │ │ + vmla.f64 d4, d12, d5 │ │ │ │ │ + vldr d5, [sp, #32] │ │ │ │ │ + vldr d8, [sp, #744] @ 0x2e8 │ │ │ │ │ + vldr d12, [sp, #752] @ 0x2f0 │ │ │ │ │ + vsub.f64 d7, d5, d7 │ │ │ │ │ vmul.f64 d5, d12, d6 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ - vldr d2, [sp, #32] │ │ │ │ │ - ldr r4, [sp, #228] @ 0xe4 │ │ │ │ │ - vstr d4, [r3] │ │ │ │ │ - add.w r3, sp, #1136 @ 0x470 │ │ │ │ │ - vsub.f64 d7, d2, d7 │ │ │ │ │ - vldr d4, [pc, #-736] @ d60 │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ + ldr r3, [sp, #264] @ 0x108 │ │ │ │ │ vnmls.f64 d5, d8, d7 │ │ │ │ │ vmul.f64 d7, d12, d7 │ │ │ │ │ + vstr d4, [r3] │ │ │ │ │ + ldr r3, [sp, #184] @ 0xb8 │ │ │ │ │ + vldr d4, [pc, #-740] @ dd0 │ │ │ │ │ vmla.f64 d7, d8, d6 │ │ │ │ │ - vldr d6, [pc, #-744] @ d68 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ - vstr d7, [r1] │ │ │ │ │ - vldr d7, [sp, #528] @ 0x210 │ │ │ │ │ - vldr d5, [sp, #968] @ 0x3c8 │ │ │ │ │ - vsub.f64 d7, d3, d7 │ │ │ │ │ + vldr d6, [pc, #-740] @ dd8 │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + ldr r3, [sp, #256] @ 0x100 │ │ │ │ │ + ldr r0, [sp, #240] @ 0xf0 │ │ │ │ │ + vldr d5, [sp, #1008] @ 0x3f0 │ │ │ │ │ + vstr d7, [r3] │ │ │ │ │ + add.w r3, sp, #1160 @ 0x488 │ │ │ │ │ + vldr d7, [sp, #608] @ 0x260 │ │ │ │ │ + vldr d3, [r3] │ │ │ │ │ + add.w r3, sp, #1112 @ 0x458 │ │ │ │ │ + vldr d15, [sp, #648] @ 0x288 │ │ │ │ │ + vsub.f64 d7, d0, d7 │ │ │ │ │ + vldr d0, [sp, #568] @ 0x238 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ vsub.f64 d8, d5, d7 │ │ │ │ │ vadd.f64 d12, d5, d7 │ │ │ │ │ - vldr d5, [sp, #552] @ 0x228 │ │ │ │ │ - vldr d3, [sp, #592] @ 0x250 │ │ │ │ │ - vldr d15, [sp, #616] @ 0x268 │ │ │ │ │ - ldr r4, [sp, #276] @ 0x114 │ │ │ │ │ - vsub.f64 d7, d5, d3 │ │ │ │ │ - vldr d5, [sp, #936] @ 0x3a8 │ │ │ │ │ - ldr r7, [sp, #268] @ 0x10c │ │ │ │ │ + vldr d5, [sp, #616] @ 0x268 │ │ │ │ │ + vsub.f64 d7, d5, d0 │ │ │ │ │ + vldr d5, [sp, #976] @ 0x3d0 │ │ │ │ │ + vldr d0, [r3] │ │ │ │ │ + ldr r3, [sp, #224] @ 0xe0 │ │ │ │ │ vmul.f64 d7, d7, d6 │ │ │ │ │ vmul.f64 d6, d14, d4 │ │ │ │ │ vmul.f64 d14, d14, d9 │ │ │ │ │ - vmla.f64 d14, d15, d4 │ │ │ │ │ - vnmls.f64 d6, d15, d0 │ │ │ │ │ - vldr d0, [r3] │ │ │ │ │ - add.w r3, sp, #1088 @ 0x440 │ │ │ │ │ + vnmls.f64 d6, d15, d9 │ │ │ │ │ vsub.f64 d1, d5, d7 │ │ │ │ │ vadd.f64 d11, d5, d7 │ │ │ │ │ - vldr d15, [sp, #680] @ 0x2a8 │ │ │ │ │ - vmul.f64 d7, d0, d4 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - ldr r3, [sp, #296] @ 0x128 │ │ │ │ │ - vmla.f64 d7, d3, d9 │ │ │ │ │ + vmul.f64 d7, d3, d4 │ │ │ │ │ + vmla.f64 d14, d15, d4 │ │ │ │ │ + vmla.f64 d7, d0, d9 │ │ │ │ │ vsub.f64 d5, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vmul.f64 d7, d3, d4 │ │ │ │ │ - vnmls.f64 d7, d0, d9 │ │ │ │ │ + vmul.f64 d7, d0, d4 │ │ │ │ │ + vldr d0, [sp, #720] @ 0x2d0 │ │ │ │ │ + vnmls.f64 d7, d3, d9 │ │ │ │ │ vsub.f64 d9, d8, d5 │ │ │ │ │ - vldr d0, [sp, #368] @ 0x170 │ │ │ │ │ vadd.f64 d5, d8, d5 │ │ │ │ │ - vldr d8, [sp, #880] @ 0x370 │ │ │ │ │ + vldr d8, [sp, #920] @ 0x398 │ │ │ │ │ vsub.f64 d4, d7, d14 │ │ │ │ │ vadd.f64 d7, d7, d14 │ │ │ │ │ - vldr d14, [sp, #656] @ 0x290 │ │ │ │ │ + vldr d14, [sp, #696] @ 0x2b8 │ │ │ │ │ vsub.f64 d10, d1, d4 │ │ │ │ │ vadd.f64 d4, d1, d4 │ │ │ │ │ - vmul.f64 d2, d15, d10 │ │ │ │ │ + vmul.f64 d2, d0, d10 │ │ │ │ │ vnmls.f64 d2, d14, d9 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ vmul.f64 d2, d14, d10 │ │ │ │ │ - vmla.f64 d2, d15, d9 │ │ │ │ │ - vadd.f64 d9, d11, d6 │ │ │ │ │ vadd.f64 d10, d12, d7 │ │ │ │ │ - vldr d14, [sp, #360] @ 0x168 │ │ │ │ │ - ldr r4, [sp, #288] @ 0x120 │ │ │ │ │ - vsub.f64 d6, d11, d6 │ │ │ │ │ + vldr d14, [sp, #368] @ 0x170 │ │ │ │ │ + mov r3, r6 │ │ │ │ │ vsub.f64 d7, d12, d7 │ │ │ │ │ - vldr d12, [sp, #888] @ 0x378 │ │ │ │ │ - vstr d2, [r3] │ │ │ │ │ + ldr r6, [sp, #216] @ 0xd8 │ │ │ │ │ + vmla.f64 d2, d0, d9 │ │ │ │ │ + vldr d0, [sp, #376] @ 0x178 │ │ │ │ │ + vadd.f64 d9, d11, d6 │ │ │ │ │ + vsub.f64 d6, d11, d6 │ │ │ │ │ + vldr d12, [sp, #928] @ 0x3a0 │ │ │ │ │ + vstr d2, [fp] │ │ │ │ │ vmul.f64 d2, d0, d9 │ │ │ │ │ - add.w r3, sp, #1128 @ 0x468 │ │ │ │ │ vnmls.f64 d2, d14, d10 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ vmul.f64 d2, d0, d10 │ │ │ │ │ + ldr r3, [sp, #232] @ 0xe8 │ │ │ │ │ + vldr d0, [sp, #952] @ 0x3b8 │ │ │ │ │ vmla.f64 d2, d14, d9 │ │ │ │ │ - vldr d9, [sp, #896] @ 0x380 │ │ │ │ │ - ldr r4, [sp, #284] @ 0x11c │ │ │ │ │ - vldr d0, [sp, #912] @ 0x390 │ │ │ │ │ - vldr d10, [r3] │ │ │ │ │ - add.w r3, sp, #1112 @ 0x458 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - add.w r3, sp, #1208 @ 0x4b8 │ │ │ │ │ - vstr d2, [lr] │ │ │ │ │ + vldr d9, [sp, #936] @ 0x3a8 │ │ │ │ │ + vstr d2, [r0] │ │ │ │ │ vmul.f64 d2, d9, d4 │ │ │ │ │ vmul.f64 d4, d8, d4 │ │ │ │ │ - vmla.f64 d4, d9, d5 │ │ │ │ │ - vldr d9, [pc, #976] @ 1538 │ │ │ │ │ vnmls.f64 d2, d8, d5 │ │ │ │ │ + vldr d8, [sp, #944] @ 0x3b0 │ │ │ │ │ + vmla.f64 d4, d9, d5 │ │ │ │ │ vmul.f64 d5, d12, d6 │ │ │ │ │ - vldr d8, [sp, #904] @ 0x388 │ │ │ │ │ + vldr d9, [pc, #980] @ 15a8 │ │ │ │ │ vnmls.f64 d5, d8, d7 │ │ │ │ │ vmul.f64 d7, d12, d7 │ │ │ │ │ + vstr d2, [r6] │ │ │ │ │ vmla.f64 d7, d8, d6 │ │ │ │ │ - vldr d8, [sp, #512] @ 0x200 │ │ │ │ │ - vstr d2, [r7] │ │ │ │ │ + vldr d8, [sp, #520] @ 0x208 │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ + vstr d5, [r3] │ │ │ │ │ + add.w r3, sp, #1152 @ 0x480 │ │ │ │ │ vadd.f64 d6, d0, d8 │ │ │ │ │ - vstr d4, [sl] │ │ │ │ │ - vldr d8, [sp, #544] @ 0x220 │ │ │ │ │ - vstr d5, [r4] │ │ │ │ │ - vldr d5, [sp, #608] @ 0x260 │ │ │ │ │ - vstr d7, [ip] │ │ │ │ │ + vstr d7, [lr] │ │ │ │ │ + vldr d5, [sp, #584] @ 0x248 │ │ │ │ │ + vldr d10, [r3] │ │ │ │ │ + add.w r3, sp, #1136 @ 0x470 │ │ │ │ │ + vldr d8, [sp, #600] @ 0x258 │ │ │ │ │ + vldr d3, [r3] │ │ │ │ │ + add.w r3, sp, #1224 @ 0x4c8 │ │ │ │ │ vldr d15, [r3] │ │ │ │ │ - add.w r3, sp, #1216 @ 0x4c0 │ │ │ │ │ + add.w r3, sp, #1232 @ 0x4d0 │ │ │ │ │ vadd.f64 d12, d5, d8 │ │ │ │ │ - vldr d5, [pc, #912] @ 1540 │ │ │ │ │ - vldr d14, [sp, #832] @ 0x340 │ │ │ │ │ + vldr d5, [pc, #908] @ 15b0 │ │ │ │ │ vldr d4, [r3] │ │ │ │ │ - add.w r3, sp, #1064 @ 0x428 │ │ │ │ │ - vmul.f64 d7, d10, d5 │ │ │ │ │ - ldr r7, [sp, #272] @ 0x110 │ │ │ │ │ + ldr r1, [sp, #220] @ 0xdc │ │ │ │ │ vadd.f64 d8, d6, d12 │ │ │ │ │ + vmul.f64 d7, d10, d5 │ │ │ │ │ + vldr d14, [sp, #872] @ 0x368 │ │ │ │ │ vsub.f64 d12, d6, d12 │ │ │ │ │ vmul.f64 d6, d15, d9 │ │ │ │ │ + ldr r3, [sp, #236] @ 0xec │ │ │ │ │ vmla.f64 d7, d3, d9 │ │ │ │ │ - ldr r4, [sp, #292] @ 0x124 │ │ │ │ │ vnmls.f64 d6, d4, d5 │ │ │ │ │ vadd.f64 d1, d7, d6 │ │ │ │ │ vsub.f64 d11, d6, d7 │ │ │ │ │ vmul.f64 d7, d10, d9 │ │ │ │ │ vmul.f64 d6, d4, d9 │ │ │ │ │ vldr d10, [sp, #496] @ 0x1f0 │ │ │ │ │ - vldr d4, [sp, #600] @ 0x258 │ │ │ │ │ + vldr d4, [sp, #576] @ 0x240 │ │ │ │ │ + vmla.f64 d6, d15, d5 │ │ │ │ │ vnmls.f64 d7, d3, d5 │ │ │ │ │ - vmov.f64 d3, d15 │ │ │ │ │ - vmov.f64 d15, d5 │ │ │ │ │ - vmla.f64 d6, d3, d5 │ │ │ │ │ - vldr d3, [sp, #840] @ 0x348 │ │ │ │ │ + vldr d3, [sp, #344] @ 0x158 │ │ │ │ │ + vldr d15, [sp, #880] @ 0x370 │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #488] @ 0x1e8 │ │ │ │ │ - vadd.f64 d6, d6, d10 │ │ │ │ │ - vldr d10, [sp, #536] @ 0x218 │ │ │ │ │ + vldr d6, [sp, #504] @ 0x1f8 │ │ │ │ │ + vadd.f64 d6, d10, d6 │ │ │ │ │ + vldr d10, [sp, #592] @ 0x250 │ │ │ │ │ vsub.f64 d9, d8, d5 │ │ │ │ │ vadd.f64 d5, d8, d5 │ │ │ │ │ vadd.f64 d2, d4, d10 │ │ │ │ │ vadd.f64 d4, d6, d2 │ │ │ │ │ vsub.f64 d6, d6, d2 │ │ │ │ │ vsub.f64 d10, d4, d1 │ │ │ │ │ vadd.f64 d4, d1, d4 │ │ │ │ │ - vldr d1, [sp, #312] @ 0x138 │ │ │ │ │ - vmul.f64 d2, d3, d10 │ │ │ │ │ + vldr d1, [sp, #320] @ 0x140 │ │ │ │ │ + vmul.f64 d2, d15, d10 │ │ │ │ │ vnmls.f64 d2, d14, d9 │ │ │ │ │ - vstr d2, [r0] │ │ │ │ │ + vstr d2, [r5] │ │ │ │ │ vmul.f64 d2, d14, d10 │ │ │ │ │ - vmla.f64 d2, d3, d9 │ │ │ │ │ - vadd.f64 d9, d7, d6 │ │ │ │ │ - vldr d3, [sp, #336] @ 0x150 │ │ │ │ │ vadd.f64 d10, d12, d11 │ │ │ │ │ vldr d14, [sp, #8] │ │ │ │ │ - vsub.f64 d6, d6, d7 │ │ │ │ │ vsub.f64 d11, d12, d11 │ │ │ │ │ - vldr d12, [sp, #728] @ 0x2d8 │ │ │ │ │ - vstr d2, [r7] │ │ │ │ │ + vldr d12, [sp, #768] @ 0x300 │ │ │ │ │ + vmla.f64 d2, d15, d9 │ │ │ │ │ + vadd.f64 d9, d7, d6 │ │ │ │ │ + vsub.f64 d6, d6, d7 │ │ │ │ │ + vstr d2, [r1] │ │ │ │ │ vmul.f64 d2, d3, d9 │ │ │ │ │ - ldr r7, [sp, #264] @ 0x108 │ │ │ │ │ + ldr r1, [sp, #212] @ 0xd4 │ │ │ │ │ vnmls.f64 d2, d14, d10 │ │ │ │ │ - vstr d2, [r9] │ │ │ │ │ + vstr d2, [r4] │ │ │ │ │ vmul.f64 d2, d3, d10 │ │ │ │ │ + vldr d10, [sp, #312] @ 0x138 │ │ │ │ │ vmla.f64 d2, d14, d9 │ │ │ │ │ - vldr d14, [sp, #744] @ 0x2e8 │ │ │ │ │ - vldr d10, [sp, #304] @ 0x130 │ │ │ │ │ + vldr d14, [sp, #784] @ 0x310 │ │ │ │ │ vmul.f64 d7, d14, d6 │ │ │ │ │ - vnmls.f64 d7, d12, d11 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ vmul.f64 d2, d1, d4 │ │ │ │ │ vmul.f64 d4, d10, d4 │ │ │ │ │ - ldr r4, [sp, #260] @ 0x104 │ │ │ │ │ - vmla.f64 d4, d1, d5 │ │ │ │ │ + vnmls.f64 d7, d12, d11 │ │ │ │ │ + add.w r3, sp, #1096 @ 0x448 │ │ │ │ │ vnmls.f64 d2, d10, d5 │ │ │ │ │ - vmov.f64 d5, d15 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ - vstr d4, [r7] │ │ │ │ │ - vstr d7, [r5] │ │ │ │ │ + vmla.f64 d4, d1, d5 │ │ │ │ │ + vldr d5, [pc, #668] @ 15b0 │ │ │ │ │ + vstr d2, [r9] │ │ │ │ │ + vstr d4, [r1] │ │ │ │ │ + vstr d7, [ip] │ │ │ │ │ vmul.f64 d7, d14, d11 │ │ │ │ │ + ldr r1, [sp, #228] @ 0xe4 │ │ │ │ │ + vldr d2, [pc, #636] @ 15a8 │ │ │ │ │ vmla.f64 d7, d12, d6 │ │ │ │ │ - ldr r7, [sp, #280] @ 0x118 │ │ │ │ │ - vldr d12, [sp, #504] @ 0x1f8 │ │ │ │ │ - vldr d6, [sp, #472] @ 0x1d8 │ │ │ │ │ - vldr d4, [r3] │ │ │ │ │ - add.w r3, sp, #1048 @ 0x418 │ │ │ │ │ - vldr d2, [pc, #608] @ 1538 │ │ │ │ │ + vldr d6, [sp, #480] @ 0x1e0 │ │ │ │ │ + vldr d12, [sp, #512] @ 0x200 │ │ │ │ │ vadd.f64 d6, d6, d12 │ │ │ │ │ - vldr d12, [sp, #568] @ 0x238 │ │ │ │ │ - vstr d7, [r7] │ │ │ │ │ - vldr d7, [sp, #584] @ 0x248 │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ + vldr d12, [sp, #544] @ 0x220 │ │ │ │ │ + vldr d4, [r3] │ │ │ │ │ + add.w r3, sp, #1080 @ 0x438 │ │ │ │ │ + vldr d7, [sp, #560] @ 0x230 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ + add.w r3, sp, #1200 @ 0x4b0 │ │ │ │ │ + vldr d9, [r3] │ │ │ │ │ add.w r3, sp, #1184 @ 0x4a0 │ │ │ │ │ - vldr d9, [sp, #576] @ 0x240 │ │ │ │ │ vadd.f64 d12, d12, d7 │ │ │ │ │ - ldr r7, [sp, #168] @ 0xa8 │ │ │ │ │ - vldr d14, [r3] │ │ │ │ │ - add.w r3, sp, #1168 @ 0x490 │ │ │ │ │ - ldr r4, [sp, #156] @ 0x9c │ │ │ │ │ - ldr r1, [sp, #132] @ 0x84 │ │ │ │ │ + vldr d15, [r3] │ │ │ │ │ + ldr r1, [sp, #108] @ 0x6c │ │ │ │ │ + vmul.f64 d7, d9, d5 │ │ │ │ │ + vldr d14, [sp, #792] @ 0x318 │ │ │ │ │ vsub.f64 d8, d6, d12 │ │ │ │ │ - vmul.f64 d7, d14, d15 │ │ │ │ │ vadd.f64 d12, d6, d12 │ │ │ │ │ - vmul.f64 d6, d4, d15 │ │ │ │ │ - vldr d15, [r3] │ │ │ │ │ - vmla.f64 d6, d3, d2 │ │ │ │ │ - ldr r3, [sp, #172] @ 0xac │ │ │ │ │ + ldr r6, [sp, #140] @ 0x8c │ │ │ │ │ + vmul.f64 d6, d4, d5 │ │ │ │ │ + ldr r3, [sp, #144] @ 0x90 │ │ │ │ │ vmla.f64 d7, d15, d2 │ │ │ │ │ + ldr r0, [sp, #128] @ 0x80 │ │ │ │ │ + vmla.f64 d6, d3, d2 │ │ │ │ │ + ldr r5, [sp, #280] @ 0x118 │ │ │ │ │ vsub.f64 d1, d6, d7 │ │ │ │ │ vadd.f64 d11, d6, d7 │ │ │ │ │ vmul.f64 d7, d3, d5 │ │ │ │ │ vmul.f64 d6, d15, d5 │ │ │ │ │ - vldr d3, [sp, #768] @ 0x300 │ │ │ │ │ - vnmls.f64 d6, d14, d2 │ │ │ │ │ + vldr d3, [sp, #808] @ 0x328 │ │ │ │ │ + vnmls.f64 d6, d9, d2 │ │ │ │ │ vnmls.f64 d7, d4, d2 │ │ │ │ │ - vldr d2, [sp, #520] @ 0x208 │ │ │ │ │ - vldr d14, [sp, #752] @ 0x2f0 │ │ │ │ │ + vldr d4, [sp, #528] @ 0x210 │ │ │ │ │ + vldr d2, [sp, #536] @ 0x218 │ │ │ │ │ + vldr d9, [sp, #552] @ 0x228 │ │ │ │ │ vadd.f64 d5, d7, d6 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vldr d6, [sp, #480] @ 0x1e0 │ │ │ │ │ - vsub.f64 d6, d6, d2 │ │ │ │ │ - vldr d2, [sp, #560] @ 0x230 │ │ │ │ │ + vldr d6, [sp, #488] @ 0x1e8 │ │ │ │ │ vsub.f64 d2, d2, d9 │ │ │ │ │ + vsub.f64 d6, d6, d4 │ │ │ │ │ vsub.f64 d9, d8, d5 │ │ │ │ │ vadd.f64 d5, d8, d5 │ │ │ │ │ - vldr d8, [sp, #408] @ 0x198 │ │ │ │ │ + vldr d8, [sp, #416] @ 0x1a0 │ │ │ │ │ vadd.f64 d4, d6, d2 │ │ │ │ │ vsub.f64 d6, d6, d2 │ │ │ │ │ vsub.f64 d10, d4, d1 │ │ │ │ │ vadd.f64 d4, d1, d4 │ │ │ │ │ vmul.f64 d2, d3, d10 │ │ │ │ │ vnmls.f64 d2, d14, d9 │ │ │ │ │ - vstr d2, [r7] │ │ │ │ │ + vstr d2, [r6] │ │ │ │ │ vmul.f64 d2, d14, d10 │ │ │ │ │ + vadd.f64 d10, d12, d11 │ │ │ │ │ + ldr r6, [sp, #296] @ 0x128 │ │ │ │ │ + vsub.f64 d11, d12, d11 │ │ │ │ │ + vldr d14, [sp, #800] @ 0x320 │ │ │ │ │ vmla.f64 d2, d3, d9 │ │ │ │ │ + vldr d3, [sp, #816] @ 0x330 │ │ │ │ │ vsub.f64 d9, d6, d7 │ │ │ │ │ - vldr d3, [sp, #776] @ 0x308 │ │ │ │ │ - vadd.f64 d10, d12, d11 │ │ │ │ │ - vldr d14, [sp, #760] @ 0x2f8 │ │ │ │ │ vadd.f64 d6, d7, d6 │ │ │ │ │ - ldr r7, [sp, #152] @ 0x98 │ │ │ │ │ - vsub.f64 d11, d12, d11 │ │ │ │ │ vstr d2, [r3] │ │ │ │ │ vmul.f64 d2, d3, d9 │ │ │ │ │ - ldr r3, [sp, #64] @ 0x40 │ │ │ │ │ vnmls.f64 d2, d14, d10 │ │ │ │ │ - vstr d2, [r7] │ │ │ │ │ + vstr d2, [r6] │ │ │ │ │ vmul.f64 d2, d3, d10 │ │ │ │ │ vmla.f64 d2, d14, d9 │ │ │ │ │ - vldr d9, [sp, #424] @ 0x1a8 │ │ │ │ │ - ldr r7, [sp, #128] @ 0x80 │ │ │ │ │ - vldr d14, [sp, #512] @ 0x200 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ + vldr d9, [sp, #432] @ 0x1b0 │ │ │ │ │ + vstr d2, [r0] │ │ │ │ │ vmul.f64 d2, d9, d4 │ │ │ │ │ vmul.f64 d4, d8, d4 │ │ │ │ │ - vmla.f64 d4, d9, d5 │ │ │ │ │ vnmls.f64 d2, d8, d5 │ │ │ │ │ - vldr d5, [sp, #784] @ 0x310 │ │ │ │ │ - vstr d2, [r7] │ │ │ │ │ - vldr d2, [sp, #792] @ 0x318 │ │ │ │ │ - ldr r7, [sp, #56] @ 0x38 │ │ │ │ │ + vmla.f64 d4, d9, d5 │ │ │ │ │ + vldr d5, [sp, #824] @ 0x338 │ │ │ │ │ + vstr d2, [r5] │ │ │ │ │ + vldr d2, [sp, #832] @ 0x340 │ │ │ │ │ vstr d4, [r1] │ │ │ │ │ + ldr r1, [sp, #272] @ 0x110 │ │ │ │ │ vmul.f64 d7, d2, d6 │ │ │ │ │ vnmls.f64 d7, d5, d11 │ │ │ │ │ - vstr d7, [r7] │ │ │ │ │ + vstr d7, [r1] │ │ │ │ │ vmul.f64 d7, d2, d11 │ │ │ │ │ + ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ + vldr d2, [pc, #340] @ 15c0 │ │ │ │ │ + vldr d14, [sp, #520] @ 0x208 │ │ │ │ │ vmla.f64 d7, d5, d6 │ │ │ │ │ + vldr d8, [sp, #592] @ 0x250 │ │ │ │ │ + vldr d5, [sp, #576] @ 0x240 │ │ │ │ │ vsub.f64 d6, d0, d14 │ │ │ │ │ - vldr d2, [pc, #320] @ 1550 │ │ │ │ │ + ldr r0, [sp, #172] @ 0xac │ │ │ │ │ + vldr d0, [sp, #640] @ 0x280 │ │ │ │ │ + vsub.f64 d12, d5, d8 │ │ │ │ │ vstr d7, [r3] │ │ │ │ │ - add.w r3, sp, #1120 @ 0x460 │ │ │ │ │ - vldr d5, [sp, #600] @ 0x258 │ │ │ │ │ - vldr d8, [sp, #536] @ 0x218 │ │ │ │ │ + add.w r3, sp, #1144 @ 0x478 │ │ │ │ │ + vldr d5, [pc, #292] @ 15b8 │ │ │ │ │ vldr d3, [r3] │ │ │ │ │ - add.w r3, sp, #1104 @ 0x450 │ │ │ │ │ - vldr d4, [sp, #240] @ 0xf0 │ │ │ │ │ - vsub.f64 d12, d5, d8 │ │ │ │ │ - vldr d5, [pc, #276] @ 1548 │ │ │ │ │ + add.w r3, sp, #1128 @ 0x468 │ │ │ │ │ vldr d14, [r3] │ │ │ │ │ - add.w r3, sp, #1040 @ 0x410 │ │ │ │ │ - vldr d11, [sp, #544] @ 0x220 │ │ │ │ │ - vmul.f64 d7, d3, d5 │ │ │ │ │ - ldr r7, [sp, #232] @ 0xe8 │ │ │ │ │ vsub.f64 d15, d6, d12 │ │ │ │ │ vadd.f64 d8, d6, d12 │ │ │ │ │ - vmla.f64 d7, d14, d2 │ │ │ │ │ - vldr d12, [sp, #608] @ 0x260 │ │ │ │ │ - ldr r4, [sp, #236] @ 0xec │ │ │ │ │ + vldr d11, [sp, #600] @ 0x258 │ │ │ │ │ + vmul.f64 d7, d3, d5 │ │ │ │ │ + vldr d12, [sp, #584] @ 0x248 │ │ │ │ │ + ldr r3, [sp, #188] @ 0xbc │ │ │ │ │ vstr d15, [sp, #8] │ │ │ │ │ - vldr d15, [sp, #624] @ 0x270 │ │ │ │ │ + ldr r1, [sp, #192] @ 0xc0 │ │ │ │ │ + vmla.f64 d7, d14, d2 │ │ │ │ │ + vldr d15, [sp, #656] @ 0x290 │ │ │ │ │ vmul.f64 d6, d15, d2 │ │ │ │ │ - vnmls.f64 d6, d4, d5 │ │ │ │ │ + vnmls.f64 d6, d0, d5 │ │ │ │ │ vadd.f64 d1, d7, d6 │ │ │ │ │ - vsub.f64 d0, d6, d7 │ │ │ │ │ + vsub.f64 d7, d6, d7 │ │ │ │ │ vmul.f64 d6, d3, d2 │ │ │ │ │ - vmul.f64 d7, d4, d2 │ │ │ │ │ - vmla.f64 d7, d15, d5 │ │ │ │ │ - vsub.f64 d2, d11, d12 │ │ │ │ │ - vldr d11, [sp, #808] @ 0x328 │ │ │ │ │ - vstr d0, [sp, #24] │ │ │ │ │ vnmls.f64 d6, d14, d5 │ │ │ │ │ - vldr d0, [sp, #488] @ 0x1e8 │ │ │ │ │ + vmov.f64 d14, d0 │ │ │ │ │ + vstr d7, [sp, #24] │ │ │ │ │ + vldr d0, [sp, #496] @ 0x1f0 │ │ │ │ │ + vmul.f64 d7, d14, d2 │ │ │ │ │ vmov.f64 d14, d5 │ │ │ │ │ - vldr d12, [sp, #800] @ 0x320 │ │ │ │ │ + vsub.f64 d2, d11, d12 │ │ │ │ │ + vldr d12, [sp, #840] @ 0x348 │ │ │ │ │ + vldr d11, [sp, #848] @ 0x350 │ │ │ │ │ + vmla.f64 d7, d15, d5 │ │ │ │ │ vldr d15, [sp, #8] │ │ │ │ │ vadd.f64 d5, d6, d7 │ │ │ │ │ vsub.f64 d6, d6, d7 │ │ │ │ │ - vldr d7, [sp, #496] @ 0x1f0 │ │ │ │ │ + vldr d7, [sp, #504] @ 0x1f8 │ │ │ │ │ vsub.f64 d7, d0, d7 │ │ │ │ │ vsub.f64 d9, d8, d5 │ │ │ │ │ vldr d0, [sp, #24] │ │ │ │ │ vadd.f64 d5, d8, d5 │ │ │ │ │ - vldr d8, [sp, #736] @ 0x2e0 │ │ │ │ │ vadd.f64 d4, d7, d2 │ │ │ │ │ vsub.f64 d7, d7, d2 │ │ │ │ │ vsub.f64 d10, d4, d1 │ │ │ │ │ vadd.f64 d4, d1, d4 │ │ │ │ │ vmul.f64 d2, d11, d10 │ │ │ │ │ vnmls.f64 d2, d12, d9 │ │ │ │ │ - vstr d2, [r7] │ │ │ │ │ + vstr d2, [r3] │ │ │ │ │ vmul.f64 d2, d12, d10 │ │ │ │ │ + vadd.f64 d10, d15, d0 │ │ │ │ │ + vldr d12, [sp, #464] @ 0x1d0 │ │ │ │ │ + add.w r3, sp, #1072 @ 0x430 │ │ │ │ │ vmla.f64 d2, d11, d9 │ │ │ │ │ vadd.f64 d9, d6, d7 │ │ │ │ │ - vldr d12, [sp, #456] @ 0x1c8 │ │ │ │ │ - vadd.f64 d10, d15, d0 │ │ │ │ │ - vldr d11, [sp, #440] @ 0x1b8 │ │ │ │ │ + vldr d11, [sp, #448] @ 0x1c0 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - ldr r7, [sp, #200] @ 0xc8 │ │ │ │ │ - vmul.f64 d6, d8, d7 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ + vstr d2, [r1] │ │ │ │ │ vmul.f64 d2, d12, d9 │ │ │ │ │ - ldr r4, [sp, #216] @ 0xd8 │ │ │ │ │ + ldr r1, [sp, #168] @ 0xa8 │ │ │ │ │ vnmls.f64 d2, d11, d10 │ │ │ │ │ - vstr d2, [r7] │ │ │ │ │ + vstr d2, [r1] │ │ │ │ │ vmul.f64 d2, d12, d10 │ │ │ │ │ + vldr d10, [sp, #456] @ 0x1c8 │ │ │ │ │ vmla.f64 d2, d11, d9 │ │ │ │ │ - vldr d11, [sp, #464] @ 0x1d0 │ │ │ │ │ - vldr d10, [sp, #448] @ 0x1c0 │ │ │ │ │ - vstr d2, [r4] │ │ │ │ │ + vldr d11, [sp, #472] @ 0x1d8 │ │ │ │ │ + vstr d2, [r0] │ │ │ │ │ vmul.f64 d2, d11, d4 │ │ │ │ │ vmul.f64 d4, d10, d4 │ │ │ │ │ - ldr r4, [sp, #256] @ 0x100 │ │ │ │ │ + vnmls.f64 d2, d10, d5 │ │ │ │ │ vmla.f64 d4, d11, d5 │ │ │ │ │ vsub.f64 d11, d15, d0 │ │ │ │ │ - vnmls.f64 d2, d10, d5 │ │ │ │ │ - b.n 1558 │ │ │ │ │ + vstr d2, [r2] │ │ │ │ │ + ldr r6, [sp, #208] @ 0xd0 │ │ │ │ │ + vldr d3, [r3] │ │ │ │ │ + b.n 15c8 │ │ │ │ │ + nop.w │ │ │ │ │ .word 0x3c69a60b │ │ │ │ │ .word 0x3fc8f8b8 │ │ │ │ │ .word 0xcff75cb0 │ │ │ │ │ .word 0x3fef6297 │ │ │ │ │ .word 0x39ae68c8 │ │ │ │ │ .word 0x3fe1c73b │ │ │ │ │ .word 0x290ea1a3 │ │ │ │ │ .word 0x3fea9b66 │ │ │ │ │ - vstr d2, [r2] │ │ │ │ │ - vstr d4, [r4] │ │ │ │ │ - vldr d5, [sp, #720] @ 0x2d0 │ │ │ │ │ - ldr r4, [sp, #212] @ 0xd4 │ │ │ │ │ - ldr r2, [sp, #224] @ 0xe0 │ │ │ │ │ + add.w r3, sp, #1088 @ 0x440 │ │ │ │ │ + vldr d8, [sp, #776] @ 0x308 │ │ │ │ │ + vstr d4, [r6] │ │ │ │ │ + vldr d5, [sp, #760] @ 0x2f8 │ │ │ │ │ + ldrd r2, r0, [sp, #176] @ 0xb0 │ │ │ │ │ + vmul.f64 d6, d8, d7 │ │ │ │ │ + vldr d0, [sp, #480] @ 0x1e0 │ │ │ │ │ + vldr d12, [sp, #512] @ 0x200 │ │ │ │ │ + vldr d10, [sp, #536] @ 0x218 │ │ │ │ │ vnmls.f64 d6, d5, d11 │ │ │ │ │ - vldr d3, [r3] │ │ │ │ │ - vldr d0, [sp, #472] @ 0x1d8 │ │ │ │ │ - add.w r3, sp, #1056 @ 0x420 │ │ │ │ │ - vldr d12, [sp, #504] @ 0x1f8 │ │ │ │ │ - vldr d10, [sp, #560] @ 0x230 │ │ │ │ │ - vldr d9, [sp, #576] @ 0x240 │ │ │ │ │ - vldr d2, [pc, #-56] @ 1550 │ │ │ │ │ - ldr r0, [sp, #80] @ 0x50 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ + vldr d9, [sp, #552] @ 0x228 │ │ │ │ │ + vldr d2, [pc, #-56] @ 15c0 │ │ │ │ │ + ldr r4, [sp, #72] @ 0x48 │ │ │ │ │ + vstr d6, [r2] │ │ │ │ │ vmul.f64 d6, d8, d11 │ │ │ │ │ + ldr r2, [sp, #64] @ 0x40 │ │ │ │ │ vmla.f64 d6, d5, d7 │ │ │ │ │ vmul.f64 d5, d3, d14 │ │ │ │ │ - ldr r4, [sp, #144] @ 0x90 │ │ │ │ │ - vstr d6, [r2] │ │ │ │ │ + vstr d6, [r0] │ │ │ │ │ vsub.f64 d6, d0, d12 │ │ │ │ │ vadd.f64 d12, d10, d9 │ │ │ │ │ - vldr d9, [r3] │ │ │ │ │ - add.w r3, sp, #1176 @ 0x498 │ │ │ │ │ - vldr d0, [sp, #480] @ 0x1e0 │ │ │ │ │ - ldr r2, [sp, #72] @ 0x48 │ │ │ │ │ - vnmls.f64 d5, d9, d2 │ │ │ │ │ + vldr d0, [r3] │ │ │ │ │ + add.w r3, sp, #1192 @ 0x4a8 │ │ │ │ │ vldr d10, [r3] │ │ │ │ │ - add.w r3, sp, #1160 @ 0x488 │ │ │ │ │ + add.w r3, sp, #1176 @ 0x498 │ │ │ │ │ + vldr d15, [r3] │ │ │ │ │ vsub.f64 d11, d6, d12 │ │ │ │ │ vadd.f64 d12, d6, d12 │ │ │ │ │ - vldr d15, [r3] │ │ │ │ │ + vmov.f64 d6, d14 │ │ │ │ │ + vnmls.f64 d5, d0, d2 │ │ │ │ │ + ldr r3, [sp, #152] @ 0x98 │ │ │ │ │ vmul.f64 d7, d10, d2 │ │ │ │ │ - vmul.f64 d6, d10, d14 │ │ │ │ │ - vldr d10, [sp, #584] @ 0x248 │ │ │ │ │ - ldr r3, [sp, #188] @ 0xbc │ │ │ │ │ - vmla.f64 d7, d15, d14 │ │ │ │ │ - vnmls.f64 d6, d15, d2 │ │ │ │ │ + vldr d9, [sp, #528] @ 0x210 │ │ │ │ │ + vldr d14, [sp, #336] @ 0x150 │ │ │ │ │ + vmla.f64 d7, d15, d6 │ │ │ │ │ vsub.f64 d8, d5, d7 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ - vmul.f64 d7, d9, d14 │ │ │ │ │ - vldr d14, [sp, #328] @ 0x148 │ │ │ │ │ + vmov.f64 d7, d6 │ │ │ │ │ + vmul.f64 d6, d10, d6 │ │ │ │ │ + vldr d10, [sp, #560] @ 0x230 │ │ │ │ │ + vmul.f64 d7, d0, d7 │ │ │ │ │ + vldr d0, [sp, #488] @ 0x1e8 │ │ │ │ │ + vnmls.f64 d6, d15, d2 │ │ │ │ │ vmla.f64 d7, d3, d2 │ │ │ │ │ - vldr d2, [sp, #520] @ 0x208 │ │ │ │ │ vldr d3, [sp, #16] │ │ │ │ │ + vldr d2, [sp, #544] @ 0x220 │ │ │ │ │ + vsub.f64 d1, d2, d10 │ │ │ │ │ vsub.f64 d4, d6, d7 │ │ │ │ │ vadd.f64 d6, d6, d7 │ │ │ │ │ - vadd.f64 d7, d0, d2 │ │ │ │ │ - vldr d2, [sp, #568] @ 0x238 │ │ │ │ │ - vsub.f64 d1, d2, d10 │ │ │ │ │ + vadd.f64 d7, d0, d9 │ │ │ │ │ vsub.f64 d9, d11, d4 │ │ │ │ │ vadd.f64 d4, d11, d4 │ │ │ │ │ vsub.f64 d2, d7, d1 │ │ │ │ │ vadd.f64 d7, d7, d1 │ │ │ │ │ vsub.f64 d10, d2, d8 │ │ │ │ │ vadd.f64 d2, d8, d2 │ │ │ │ │ - vldr d8, [sp, #416] @ 0x1a0 │ │ │ │ │ vmul.f64 d1, d3, d10 │ │ │ │ │ vnmls.f64 d1, d13, d9 │ │ │ │ │ vstr d1, [r2] │ │ │ │ │ vmul.f64 d1, d13, d10 │ │ │ │ │ + vadd.f64 d10, d12, d5 │ │ │ │ │ + ldr r2, [sp, #304] @ 0x130 │ │ │ │ │ + vsub.f64 d12, d12, d5 │ │ │ │ │ + vldr d13, [sp, #328] @ 0x148 │ │ │ │ │ vmla.f64 d1, d3, d9 │ │ │ │ │ vadd.f64 d9, d6, d7 │ │ │ │ │ - vadd.f64 d10, d12, d5 │ │ │ │ │ - vldr d13, [sp, #320] @ 0x140 │ │ │ │ │ - ldr r2, [sp, #184] @ 0xb8 │ │ │ │ │ vsub.f64 d7, d7, d6 │ │ │ │ │ - vsub.f64 d12, d12, d5 │ │ │ │ │ - vstr d1, [r0] │ │ │ │ │ + vstr d1, [r4] │ │ │ │ │ vmul.f64 d1, d14, d9 │ │ │ │ │ vnmls.f64 d1, d13, d10 │ │ │ │ │ vstr d1, [r2] │ │ │ │ │ vmul.f64 d1, d14, d10 │ │ │ │ │ vmla.f64 d1, d13, d9 │ │ │ │ │ - vldr d9, [sp, #432] @ 0x1b0 │ │ │ │ │ + vldr d9, [sp, #440] @ 0x1b8 │ │ │ │ │ vstr d1, [r3] │ │ │ │ │ vmul.f64 d1, d9, d2 │ │ │ │ │ + vldr d8, [sp, #424] @ 0x1a8 │ │ │ │ │ + ldr r2, [sp, #0] │ │ │ │ │ + vldr d5, [sp, #856] @ 0x358 │ │ │ │ │ vmul.f64 d2, d8, d2 │ │ │ │ │ - vmla.f64 d2, d9, d4 │ │ │ │ │ vnmls.f64 d1, d8, d4 │ │ │ │ │ - vstr d1, [r4] │ │ │ │ │ - ldr r1, [sp, #148] @ 0x94 │ │ │ │ │ - vldr d4, [sp, #824] @ 0x338 │ │ │ │ │ - vldr d5, [sp, #816] @ 0x330 │ │ │ │ │ - ldr r4, [sp, #100] @ 0x64 │ │ │ │ │ + ldrd r3, r5, [sp, #120] @ 0x78 │ │ │ │ │ + ldr r4, [sp, #92] @ 0x5c │ │ │ │ │ + vmla.f64 d2, d9, d4 │ │ │ │ │ + vldr d4, [sp, #864] @ 0x360 │ │ │ │ │ + vstr d1, [r3] │ │ │ │ │ vmul.f64 d6, d4, d7 │ │ │ │ │ - ldr.w r3, [sp, #1344] @ 0x540 │ │ │ │ │ - vstr d2, [r1] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str.w r3, [sp, #1344] @ 0x540 │ │ │ │ │ - ldr.w r3, [sp, #1228] @ 0x4cc │ │ │ │ │ + ldr r3, [sp, #88] @ 0x58 │ │ │ │ │ + vstr d2, [r5] │ │ │ │ │ vnmls.f64 d6, d5, d12 │ │ │ │ │ - ldr r2, [sp, #0] │ │ │ │ │ - add r6, r3 │ │ │ │ │ - ldr.w r3, [sp, #1232] @ 0x4d0 │ │ │ │ │ - ldr r5, [sp, #112] @ 0x70 │ │ │ │ │ + vstr d6, [r3] │ │ │ │ │ + vmul.f64 d6, d4, d12 │ │ │ │ │ + ldr.w r3, [sp, #1360] @ 0x550 │ │ │ │ │ + vmla.f64 d6, d5, d7 │ │ │ │ │ + add.w r3, r3, #1 │ │ │ │ │ + str.w r3, [sp, #1360] @ 0x550 │ │ │ │ │ + ldr.w r3, [sp, #1244] @ 0x4dc │ │ │ │ │ add r2, r3 │ │ │ │ │ - ldr.w r3, [sp, #1236] @ 0x4d4 │ │ │ │ │ + ldr.w r3, [sp, #1248] @ 0x4e0 │ │ │ │ │ + vstr d6, [r4] │ │ │ │ │ str r2, [sp, #0] │ │ │ │ │ + ldr.w r2, [sp, #1360] @ 0x550 │ │ │ │ │ + add r7, r3 │ │ │ │ │ + ldr.w r3, [sp, #1252] @ 0x4e4 │ │ │ │ │ eor.w r8, r8, r3 │ │ │ │ │ - ldr.w r2, [sp, #1344] @ 0x540 │ │ │ │ │ - ldr.w r3, [sp, #1348] @ 0x544 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ - vmul.f64 d6, d4, d12 │ │ │ │ │ - vmla.f64 d6, d5, d7 │ │ │ │ │ + ldr.w r3, [sp, #1364] @ 0x554 │ │ │ │ │ cmp r3, r2 │ │ │ │ │ - vstr d6, [r5] │ │ │ │ │ - bne.w 4e │ │ │ │ │ - addw sp, sp, #1244 @ 0x4dc │ │ │ │ │ + bne.w 62 │ │ │ │ │ + addw sp, sp, #1260 @ 0x4ec │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ │ │ │ │ │ -000016f4 : │ │ │ │ │ +00001780 : │ │ │ │ │ fftw_codelet_hb2_32(): │ │ │ │ │ - ldr r2, [pc, #8] @ (1700 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (1704 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (178c ) │ │ │ │ │ + ldr r1, [pc, #12] @ (1790 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2hc_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── hb2_4.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1264 (bytes into file) │ │ │ │ │ + Start of section headers: 1304 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x4f0: │ │ │ │ │ +There are 14 section headers, starting at offset 0x518: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 00025c 00 AX 0 0 4 │ │ │ │ │ - [ 2] .rel.text REL 00000000 000448 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000290 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000290 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000290 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 000296 00000c 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0002a2 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000460 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 0002d2 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0002d2 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 000308 0000f0 10 12 12 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 0003f8 00004f 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 000478 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000284 00 AX 0 0 4 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000470 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0002b8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0002b8 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0002b8 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 0002be 00000c 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0002ca 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000488 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 0002fa 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0002fa 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000330 0000f0 10 12 12 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000420 00004f 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 0004a0 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,18 +1,18 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 15 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 582 FUNC LOCAL DEFAULT 1 hb2_4 │ │ │ │ │ + 1: 00000001 622 FUNC LOCAL DEFAULT 1 hb2_4 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000254 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 0000027c 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 4: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 5: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 8: 00000000 12 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 9: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 10: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 11: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 12: 00000249 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hb2_4 │ │ │ │ │ + 12: 00000271 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hb2_4 │ │ │ │ │ 13: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2hc_register │ │ │ │ │ 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hb_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x448 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x470 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000254 00000903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -00000258 00000103 R_ARM_REL32 00000001 hb2_4 │ │ │ │ │ -00000250 00000d1e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ +0000027c 00000903 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000280 00000103 R_ARM_REL32 00000001 hb2_4 │ │ │ │ │ +00000278 00000d1e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x460 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x488 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000402 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000602 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00000e02 R_ARM_ABS32 00000000 fftw_rdft_hb_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,180 +1,187 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hb2_4(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d14} │ │ │ │ │ sub sp, #12 │ │ │ │ │ ldrd r4, r7, [sp, #104] @ 0x68 │ │ │ │ │ ldr r5, [sp, #112] @ 0x70 │ │ │ │ │ - subs r6, r4, #1 │ │ │ │ │ + add.w r6, r4, #4294967295 @ 0xffffffff │ │ │ │ │ cmp r4, r7 │ │ │ │ │ add.w r2, r2, r6, lsl #5 │ │ │ │ │ - bge.w 128 │ │ │ │ │ + bge.w 142 │ │ │ │ │ mov.w ip, r3, lsl #3 │ │ │ │ │ cmp r5, #1 │ │ │ │ │ mov.w lr, r3, lsl #4 │ │ │ │ │ itt eq │ │ │ │ │ addeq.w r3, r2, #32 │ │ │ │ │ rsbeq r2, ip, #0 │ │ │ │ │ - bne.n 132 │ │ │ │ │ + bne.w 15e │ │ │ │ │ add.w r5, r1, ip │ │ │ │ │ add.w r6, r0, ip │ │ │ │ │ + vldr d6, [r0] │ │ │ │ │ add.w r9, r6, ip │ │ │ │ │ - vldr d3, [r3, #-24] @ 0xffffffe8 │ │ │ │ │ - vldr d4, [r3, #-16] │ │ │ │ │ - add.w sl, r9, ip │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ vldr d12, [r5] │ │ │ │ │ add r5, lr │ │ │ │ │ - vldr d8, [r6] │ │ │ │ │ + add.w sl, r9, ip │ │ │ │ │ add.w r8, r5, r2 │ │ │ │ │ - vldr d6, [r0] │ │ │ │ │ - vmul.f64 d0, d4, d3 │ │ │ │ │ + cmp r7, r4 │ │ │ │ │ + vldr d8, [r6] │ │ │ │ │ + add.w r3, r3, #32 │ │ │ │ │ vldr d14, [r1] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ vldr d10, [r9] │ │ │ │ │ - adds r3, #32 │ │ │ │ │ - vldr d13, [r5] │ │ │ │ │ vadd.f64 d9, d12, d6 │ │ │ │ │ + vsub.f64 d12, d6, d12 │ │ │ │ │ + vldr d13, [r5] │ │ │ │ │ + vldr d11, [r8] │ │ │ │ │ vadd.f64 d7, d14, d8 │ │ │ │ │ - vldr d2, [r3, #-64] @ 0xffffffc0 │ │ │ │ │ - vldr d5, [r3, #-40] @ 0xffffffd8 │ │ │ │ │ vsub.f64 d14, d8, d14 │ │ │ │ │ - vldr d11, [r8] │ │ │ │ │ + vldr d3, [r3, #-56] @ 0xffffffc8 │ │ │ │ │ + vldr d4, [r3, #-48] @ 0xffffffd0 │ │ │ │ │ vsub.f64 d8, d13, d10 │ │ │ │ │ vadd.f64 d13, d10, d13 │ │ │ │ │ vldr d10, [sl] │ │ │ │ │ - vsub.f64 d12, d6, d12 │ │ │ │ │ - vnmls.f64 d0, d5, d2 │ │ │ │ │ - vmul.f64 d1, d4, d2 │ │ │ │ │ mov sl, r1 │ │ │ │ │ + sub.w r1, r1, #8 │ │ │ │ │ + vldr d2, [r3, #-64] @ 0xffffffc0 │ │ │ │ │ + vldr d5, [r3, #-40] @ 0xffffffd8 │ │ │ │ │ + vmul.f64 d0, d4, d3 │ │ │ │ │ vsub.f64 d6, d11, d10 │ │ │ │ │ vadd.f64 d11, d10, d11 │ │ │ │ │ vadd.f64 d10, d7, d9 │ │ │ │ │ - vmla.f64 d1, d5, d3 │ │ │ │ │ vsub.f64 d7, d9, d7 │ │ │ │ │ - subs r1, #8 │ │ │ │ │ - cmp r7, r4 │ │ │ │ │ + vmul.f64 d1, d4, d2 │ │ │ │ │ + vnmls.f64 d0, d5, d2 │ │ │ │ │ vstmia r0!, {d10} │ │ │ │ │ vadd.f64 d10, d6, d8 │ │ │ │ │ vsub.f64 d6, d8, d6 │ │ │ │ │ + vmla.f64 d1, d5, d3 │ │ │ │ │ vstr d10, [sl] │ │ │ │ │ vmul.f64 d8, d6, d0 │ │ │ │ │ vnmls.f64 d8, d7, d1 │ │ │ │ │ vmul.f64 d7, d7, d0 │ │ │ │ │ vmla.f64 d7, d6, d1 │ │ │ │ │ vsub.f64 d6, d12, d11 │ │ │ │ │ vadd.f64 d11, d11, d12 │ │ │ │ │ vstr d8, [r9] │ │ │ │ │ vstr d7, [r8] │ │ │ │ │ vadd.f64 d7, d13, d14 │ │ │ │ │ vsub.f64 d13, d13, d14 │ │ │ │ │ add r8, r2 │ │ │ │ │ vmul.f64 d1, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ - vmla.f64 d7, d6, d3 │ │ │ │ │ vnmls.f64 d1, d6, d2 │ │ │ │ │ + vmla.f64 d7, d6, d3 │ │ │ │ │ vstr d1, [r6] │ │ │ │ │ add r6, lr │ │ │ │ │ vstr d7, [r8] │ │ │ │ │ vmul.f64 d7, d13, d5 │ │ │ │ │ vmul.f64 d13, d13, d4 │ │ │ │ │ - vmla.f64 d13, d11, d5 │ │ │ │ │ vnmls.f64 d7, d11, d4 │ │ │ │ │ + vmla.f64 d13, d11, d5 │ │ │ │ │ vstr d7, [r6] │ │ │ │ │ vstr d13, [r5] │ │ │ │ │ - bne.n 32 │ │ │ │ │ + bne.n 46 │ │ │ │ │ add sp, #12 │ │ │ │ │ vpop {d8-d14} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ mov.w sl, r5, lsl #3 │ │ │ │ │ rsb r3, sl, #0 │ │ │ │ │ str r3, [sp, #4] │ │ │ │ │ add.w r3, r2, #32 │ │ │ │ │ rsb r2, ip, #0 │ │ │ │ │ add.w r5, r1, ip │ │ │ │ │ add.w r6, r0, ip │ │ │ │ │ + vldr d3, [r0] │ │ │ │ │ add.w r9, r6, ip │ │ │ │ │ - vldr d6, [r3, #-24] @ 0xffffffe8 │ │ │ │ │ - vldr d2, [r3, #-16] │ │ │ │ │ - add.w fp, r9, ip │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ vldr d11, [r5] │ │ │ │ │ add r5, lr │ │ │ │ │ - vldr d3, [r0] │ │ │ │ │ + add.w fp, r9, ip │ │ │ │ │ add.w r8, r5, r2 │ │ │ │ │ + cmp r7, r4 │ │ │ │ │ vldr d8, [r6] │ │ │ │ │ - vmul.f64 d0, d6, d2 │ │ │ │ │ - vldr d14, [r1] │ │ │ │ │ - adds r4, #1 │ │ │ │ │ + add.w r3, r3, #32 │ │ │ │ │ vldr d10, [r5] │ │ │ │ │ + vldr d14, [r1] │ │ │ │ │ vadd.f64 d9, d3, d11 │ │ │ │ │ - vldr d13, [r9] │ │ │ │ │ vsub.f64 d11, d3, d11 │ │ │ │ │ + vldr d13, [r9] │ │ │ │ │ + vldr d12, [r8] │ │ │ │ │ + vldr d6, [r3, #-56] @ 0xffffffc8 │ │ │ │ │ vadd.f64 d4, d8, d14 │ │ │ │ │ - vldr d1, [r3, #-32] @ 0xffffffe0 │ │ │ │ │ - vldr d7, [r3, #-8] │ │ │ │ │ vsub.f64 d14, d8, d14 │ │ │ │ │ - vldr d12, [r8] │ │ │ │ │ + vldr d2, [r3, #-48] @ 0xffffffd0 │ │ │ │ │ vsub.f64 d8, d10, d13 │ │ │ │ │ vadd.f64 d13, d10, d13 │ │ │ │ │ vldr d10, [fp] │ │ │ │ │ - vnmls.f64 d0, d1, d7 │ │ │ │ │ - vmul.f64 d5, d6, d7 │ │ │ │ │ - vmla.f64 d5, d1, d2 │ │ │ │ │ - adds r3, #32 │ │ │ │ │ + vldr d1, [r3, #-64] @ 0xffffffc0 │ │ │ │ │ + vldr d7, [r3, #-40] @ 0xffffffd8 │ │ │ │ │ + vmul.f64 d0, d6, d2 │ │ │ │ │ vsub.f64 d3, d12, d10 │ │ │ │ │ vadd.f64 d12, d12, d10 │ │ │ │ │ vadd.f64 d10, d9, d4 │ │ │ │ │ vsub.f64 d4, d9, d4 │ │ │ │ │ - cmp r7, r4 │ │ │ │ │ + vnmls.f64 d0, d1, d7 │ │ │ │ │ + vmul.f64 d5, d6, d7 │ │ │ │ │ vstr d10, [r0] │ │ │ │ │ vadd.f64 d10, d8, d3 │ │ │ │ │ - vsub.f64 d3, d8, d3 │ │ │ │ │ add r0, sl │ │ │ │ │ + vsub.f64 d3, d8, d3 │ │ │ │ │ + vmla.f64 d5, d1, d2 │ │ │ │ │ vstr d10, [r1] │ │ │ │ │ vmul.f64 d8, d0, d3 │ │ │ │ │ vnmls.f64 d8, d5, d4 │ │ │ │ │ vmul.f64 d5, d5, d3 │ │ │ │ │ - vmla.f64 d5, d0, d4 │ │ │ │ │ vsub.f64 d3, d11, d12 │ │ │ │ │ vadd.f64 d11, d11, d12 │ │ │ │ │ + vmla.f64 d5, d0, d4 │ │ │ │ │ vstr d8, [r9] │ │ │ │ │ vstr d5, [r8] │ │ │ │ │ vadd.f64 d5, d14, d13 │ │ │ │ │ vsub.f64 d13, d13, d14 │ │ │ │ │ add r8, r2 │ │ │ │ │ vmul.f64 d4, d6, d5 │ │ │ │ │ vmul.f64 d6, d6, d3 │ │ │ │ │ - vmla.f64 d6, d1, d5 │ │ │ │ │ vnmls.f64 d4, d1, d3 │ │ │ │ │ + vmla.f64 d6, d1, d5 │ │ │ │ │ vstr d4, [r6] │ │ │ │ │ add r6, lr │ │ │ │ │ vstr d6, [r8] │ │ │ │ │ vmul.f64 d6, d7, d13 │ │ │ │ │ vmul.f64 d7, d7, d11 │ │ │ │ │ - vmla.f64 d7, d2, d13 │ │ │ │ │ vnmls.f64 d6, d2, d11 │ │ │ │ │ + vmla.f64 d7, d2, d13 │ │ │ │ │ vstr d6, [r6] │ │ │ │ │ vstr d7, [r5] │ │ │ │ │ ldr r5, [sp, #4] │ │ │ │ │ add r1, r5 │ │ │ │ │ - bne.n 144 │ │ │ │ │ - add sp, #12 │ │ │ │ │ - vpop {d8-d14} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + bne.n 170 │ │ │ │ │ + b.n 142 │ │ │ │ │ nop │ │ │ │ │ │ │ │ │ │ -00000248 : │ │ │ │ │ +00000270 : │ │ │ │ │ fftw_codelet_hb2_4(): │ │ │ │ │ - ldr r2, [pc, #8] @ (254 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (258 ) │ │ │ │ │ + ldr r2, [pc, #8] @ (27c ) │ │ │ │ │ + ldr r1, [pc, #12] @ (280 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2hc_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── hb2_5.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1812 (bytes into file) │ │ │ │ │ + Start of section headers: 1852 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x714: │ │ │ │ │ +There are 14 section headers, starting at offset 0x73c: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 000460 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 00066c 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 000494 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 000494 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 000494 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 00049a 00000c 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0004a6 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 000684 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 0004d6 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0004d6 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 00050c 000110 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 00061c 00004f 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 00069c 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 000488 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 000694 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 0004bc 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 0004bc 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 0004bc 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 0004c2 00000c 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 0004ce 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 0006ac 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 0004fe 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 0004fe 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 000534 000110 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 000644 00004f 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 0006c4 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,20 +1,20 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 17 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 1100 FUNC LOCAL DEFAULT 1 hb2_5 │ │ │ │ │ + 1: 00000001 1140 FUNC LOCAL DEFAULT 1 hb2_5 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000230 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000248 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 00000458 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 00000258 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 00000270 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 00000480 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 12 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 14: 0000044d 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hb2_5 │ │ │ │ │ + 14: 00000475 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hb2_5 │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2hc_register │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hb_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x66c contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x694 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -00000458 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -0000045c 00000103 R_ARM_REL32 00000001 hb2_5 │ │ │ │ │ -00000454 00000f1e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ +00000480 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +00000484 00000103 R_ARM_REL32 00000001 hb2_5 │ │ │ │ │ +0000047c 00000f1e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x684 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x6ac contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ 00000004 00000602 R_ARM_ABS32 00000000 .rodata.str1.4 │ │ │ │ │ 00000008 00000802 R_ARM_ABS32 00000000 .rodata │ │ │ │ │ 0000000c 00001002 R_ARM_ABS32 00000000 fftw_rdft_hb_genus │ │ │ │ ├── objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} │ │ │ │ │ @@ -1,321 +1,316 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Disassembly of section .text: │ │ │ │ │ │ │ │ │ │ 00000000 : │ │ │ │ │ hb2_5(): │ │ │ │ │ - stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} │ │ │ │ │ + str.w r4, [sp, #-36]! │ │ │ │ │ + strd r5, r6, [sp, #4] │ │ │ │ │ + strd r7, r8, [sp, #12] │ │ │ │ │ + strd r9, sl, [sp, #20] │ │ │ │ │ + strd fp, lr, [sp, #28] │ │ │ │ │ vpush {d8-d15} │ │ │ │ │ - sub sp, #68 @ 0x44 │ │ │ │ │ - ldr r6, [sp, #168] @ 0xa8 │ │ │ │ │ - ldr r4, [sp, #176] @ 0xb0 │ │ │ │ │ - subs r5, r6, #1 │ │ │ │ │ - add.w r2, r2, r5, lsl #5 │ │ │ │ │ - ldr r5, [sp, #172] @ 0xac │ │ │ │ │ - cmp r6, r5 │ │ │ │ │ - bge.w 224 │ │ │ │ │ - movs r5, #24 │ │ │ │ │ - lsls r7, r3, #3 │ │ │ │ │ - mov.w sl, r3, lsl #4 │ │ │ │ │ - cmp r4, #1 │ │ │ │ │ - mul.w r3, r5, r3 │ │ │ │ │ - str r3, [sp, #52] @ 0x34 │ │ │ │ │ - bne.w 248 │ │ │ │ │ - adds r2, #32 │ │ │ │ │ - negs r5, r7 │ │ │ │ │ - rsb r9, sl, #0 │ │ │ │ │ - vldr d11, [pc, #508] @ 238 │ │ │ │ │ - vldr d9, [pc, #496] @ 230 │ │ │ │ │ - str r6, [sp, #168] @ 0xa8 │ │ │ │ │ - vldr d10, [r2, #-32] @ 0xffffffe0 │ │ │ │ │ - adds r3, r0, r7 │ │ │ │ │ - vldr d12, [r2, #-24] @ 0xffffffe8 │ │ │ │ │ - adds r4, r1, r7 │ │ │ │ │ - vldr d2, [r2, #-16] │ │ │ │ │ + sub sp, #60 @ 0x3c │ │ │ │ │ + ldr r4, [sp, #160] @ 0xa0 │ │ │ │ │ + ldr r5, [sp, #168] @ 0xa8 │ │ │ │ │ + add.w r6, r4, #4294967295 @ 0xffffffff │ │ │ │ │ + add.w r2, r2, r6, lsl #5 │ │ │ │ │ + ldr r6, [sp, #164] @ 0xa4 │ │ │ │ │ + cmp r4, r6 │ │ │ │ │ + bge.w 238 │ │ │ │ │ + cmp r5, #1 │ │ │ │ │ + mov.w r6, r3, lsl #3 │ │ │ │ │ + mov.w ip, r3, lsl #4 │ │ │ │ │ + mov.w lr, r3, lsl #5 │ │ │ │ │ + bne.w 270 │ │ │ │ │ + vldr d11, [pc, #540] @ 260 │ │ │ │ │ + add.w r3, r2, #32 │ │ │ │ │ + add.w r5, r0, r6 │ │ │ │ │ + add.w r2, r1, r6 │ │ │ │ │ + str.w lr, [sp, #48] @ 0x30 │ │ │ │ │ + vldr d9, [pc, #512] @ 258 │ │ │ │ │ + add.w r7, r0, ip │ │ │ │ │ vmov.f64 d8, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vldr d3, [r2, #-8] │ │ │ │ │ - adds r2, #32 │ │ │ │ │ - vldr d1, [r4] │ │ │ │ │ + add.w r9, r2, ip │ │ │ │ │ + vldr d10, [r3, #-32] @ 0xffffffe0 │ │ │ │ │ + add.w r8, r7, ip │ │ │ │ │ + add.w sl, r5, ip │ │ │ │ │ + mov lr, r1 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + vldr d12, [r3, #-24] @ 0xffffffe8 │ │ │ │ │ + add.w r3, r3, #32 │ │ │ │ │ + vldr d2, [r3, #-48] @ 0xffffffd0 │ │ │ │ │ + vldr d3, [r3, #-40] @ 0xffffffd8 │ │ │ │ │ + vldr d1, [r2] │ │ │ │ │ vmul.f64 d15, d2, d12 │ │ │ │ │ vmul.f64 d6, d2, d10 │ │ │ │ │ + vldr d0, [pc, #468] @ 268 │ │ │ │ │ vmul.f64 d4, d3, d10 │ │ │ │ │ vmul.f64 d7, d3, d12 │ │ │ │ │ - vldr d0, [pc, #460] @ 240 │ │ │ │ │ - ldr r6, [sp, #52] @ 0x34 │ │ │ │ │ + ldr r6, [sp, #48] @ 0x30 │ │ │ │ │ + add r6, r1 │ │ │ │ │ + sub.w r1, r1, #8 │ │ │ │ │ vadd.f64 d5, d4, d15 │ │ │ │ │ + vadd.f64 d14, d7, d6 │ │ │ │ │ + sub.w fp, r6, ip │ │ │ │ │ vsub.f64 d15, d4, d15 │ │ │ │ │ vsub.f64 d4, d6, d7 │ │ │ │ │ - vadd.f64 d14, d7, d6 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ - add r4, r6 │ │ │ │ │ - add.w ip, r4, r5 │ │ │ │ │ - mov r6, r1 │ │ │ │ │ + vldr d7, [r1, #8] │ │ │ │ │ vstr d5, [sp, #40] @ 0x28 │ │ │ │ │ - add.w r8, ip, r5 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - add r3, r7 │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ vstr d4, [sp, #32] │ │ │ │ │ - subs r1, #8 │ │ │ │ │ vadd.f64 d4, d7, d5 │ │ │ │ │ vsub.f64 d5, d5, d7 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - add r3, sl │ │ │ │ │ - add.w lr, r3, r5 │ │ │ │ │ - add.w fp, lr, r5 │ │ │ │ │ + vldr d7, [r7] │ │ │ │ │ vadd.f64 d6, d1, d7 │ │ │ │ │ vsub.f64 d7, d7, d1 │ │ │ │ │ vsub.f64 d1, d4, d6 │ │ │ │ │ - vadd.f64 d6, d6, d4 │ │ │ │ │ vmul.f64 d13, d7, d9 │ │ │ │ │ - vldr d4, [lr] │ │ │ │ │ - vmul.f64 d1, d1, d0 │ │ │ │ │ - vldr d0, [r4] │ │ │ │ │ + vadd.f64 d6, d6, d4 │ │ │ │ │ + vldr d4, [sl] │ │ │ │ │ vnmls.f64 d13, d5, d11 │ │ │ │ │ + vmul.f64 d1, d1, d0 │ │ │ │ │ + vldr d0, [r6] │ │ │ │ │ vstr d1, [sp, #8] │ │ │ │ │ vmul.f64 d1, d5, d9 │ │ │ │ │ + vldr d5, [r8] │ │ │ │ │ vmla.f64 d1, d7, d11 │ │ │ │ │ vldr d7, [r0] │ │ │ │ │ vmls.f64 d7, d6, d8 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - vstr d1, [sp, #24] │ │ │ │ │ vstr d7, [sp] │ │ │ │ │ - vldr d1, [r8] │ │ │ │ │ - vldr d7, [ip] │ │ │ │ │ + vldr d7, [r9] │ │ │ │ │ + vstr d1, [sp, #24] │ │ │ │ │ + vldr d1, [fp] │ │ │ │ │ vsub.f64 d8, d7, d5 │ │ │ │ │ vadd.f64 d5, d5, d7 │ │ │ │ │ vsub.f64 d7, d1, d4 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ vmul.f64 d1, d4, d9 │ │ │ │ │ vnmls.f64 d1, d5, d11 │ │ │ │ │ vmul.f64 d5, d5, d9 │ │ │ │ │ vmla.f64 d5, d4, d11 │ │ │ │ │ - vldr d4, [pc, #276] @ 240 │ │ │ │ │ + vldr d4, [pc, #292] @ 268 │ │ │ │ │ vstr d5, [sp, #16] │ │ │ │ │ vsub.f64 d5, d8, d7 │ │ │ │ │ vadd.f64 d7, d7, d8 │ │ │ │ │ vmov.f64 d8, #80 @ 0x3e800000 0.250 │ │ │ │ │ vmul.f64 d5, d5, d4 │ │ │ │ │ vmov.f64 d4, d0 │ │ │ │ │ vmls.f64 d4, d7, d8 │ │ │ │ │ vadd.f64 d7, d7, d0 │ │ │ │ │ vmov.f64 d8, d4 │ │ │ │ │ vldr d4, [r0] │ │ │ │ │ vadd.f64 d6, d6, d4 │ │ │ │ │ vstmia r0!, {d6} │ │ │ │ │ - vstr d7, [r6] │ │ │ │ │ vldr d6, [sp, #8] │ │ │ │ │ + vstr d7, [lr] │ │ │ │ │ vldr d7, [sp] │ │ │ │ │ vsub.f64 d4, d7, d6 │ │ │ │ │ vsub.f64 d7, d8, d5 │ │ │ │ │ vadd.f64 d8, d8, d5 │ │ │ │ │ vadd.f64 d6, d7, d13 │ │ │ │ │ vsub.f64 d0, d4, d1 │ │ │ │ │ vadd.f64 d4, d4, d1 │ │ │ │ │ vsub.f64 d7, d7, d13 │ │ │ │ │ vmul.f64 d1, d6, d15 │ │ │ │ │ vmul.f64 d6, d6, d14 │ │ │ │ │ - vmla.f64 d6, d0, d15 │ │ │ │ │ vnmls.f64 d1, d0, d14 │ │ │ │ │ - vstr d1, [fp] │ │ │ │ │ - vstr d6, [r8] │ │ │ │ │ + vmla.f64 d6, d0, d15 │ │ │ │ │ + vstr d1, [r7] │ │ │ │ │ + mov r7, r2 │ │ │ │ │ + sub.w r2, r2, #8 │ │ │ │ │ + vstr d6, [fp] │ │ │ │ │ vmul.f64 d6, d7, d3 │ │ │ │ │ vmul.f64 d7, d7, d2 │ │ │ │ │ - vmla.f64 d7, d4, d3 │ │ │ │ │ vnmls.f64 d6, d4, d2 │ │ │ │ │ - vstr d6, [lr] │ │ │ │ │ - add lr, r9 │ │ │ │ │ + vmla.f64 d7, d4, d3 │ │ │ │ │ + vstr d6, [sl] │ │ │ │ │ vldr d6, [sp, #8] │ │ │ │ │ - vstr d7, [ip] │ │ │ │ │ - add ip, r9 │ │ │ │ │ + vstr d7, [r9] │ │ │ │ │ vldr d7, [sp] │ │ │ │ │ vldr d3, [sp, #16] │ │ │ │ │ vldr d4, [sp, #24] │ │ │ │ │ vadd.f64 d7, d7, d6 │ │ │ │ │ vadd.f64 d5, d8, d4 │ │ │ │ │ vsub.f64 d8, d8, d4 │ │ │ │ │ vsub.f64 d6, d7, d3 │ │ │ │ │ vadd.f64 d7, d7, d3 │ │ │ │ │ vmul.f64 d4, d5, d12 │ │ │ │ │ vmul.f64 d5, d5, d10 │ │ │ │ │ - vmla.f64 d5, d6, d12 │ │ │ │ │ vnmls.f64 d4, d6, d10 │ │ │ │ │ - vstr d4, [lr] │ │ │ │ │ - vstr d5, [ip] │ │ │ │ │ - vldr d5, [sp, #40] @ 0x28 │ │ │ │ │ + vmla.f64 d5, d6, d12 │ │ │ │ │ + vstmia r5!, {d4} │ │ │ │ │ vldr d4, [sp, #32] │ │ │ │ │ + vstr d5, [r7] │ │ │ │ │ + vldr d5, [sp, #40] @ 0x28 │ │ │ │ │ vmul.f64 d6, d8, d5 │ │ │ │ │ vmul.f64 d8, d8, d4 │ │ │ │ │ - vmla.f64 d8, d7, d5 │ │ │ │ │ vnmls.f64 d6, d7, d4 │ │ │ │ │ - vstr d6, [r3] │ │ │ │ │ - ldr r3, [sp, #168] @ 0xa8 │ │ │ │ │ - vstr d8, [r4] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #168] @ 0xa8 │ │ │ │ │ - ldrd r4, r3, [sp, #168] @ 0xa8 │ │ │ │ │ - cmp r3, r4 │ │ │ │ │ - bne.w 42 │ │ │ │ │ - add sp, #68 @ 0x44 │ │ │ │ │ + vmla.f64 d8, d7, d5 │ │ │ │ │ + vstr d6, [r8] │ │ │ │ │ + vstr d8, [r6] │ │ │ │ │ + ldr r6, [sp, #164] @ 0xa4 │ │ │ │ │ + cmp r6, r4 │ │ │ │ │ + bne.w 58 │ │ │ │ │ + add sp, #60 @ 0x3c │ │ │ │ │ vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ - nop │ │ │ │ │ + ldrd r4, r5, [sp] │ │ │ │ │ + ldrd r6, r7, [sp, #8] │ │ │ │ │ + ldrd r8, r9, [sp, #16] │ │ │ │ │ + ldrd sl, fp, [sp, #24] │ │ │ │ │ + add sp, #32 │ │ │ │ │ + ldr.w pc, [sp], #4 │ │ │ │ │ + nop.w │ │ │ │ │ .word 0x134454ff │ │ │ │ │ .word 0x3fee6f0e │ │ │ │ │ .word 0x04755a5e │ │ │ │ │ .word 0x3fe2cf23 │ │ │ │ │ .word 0x9b97f4a8 │ │ │ │ │ .word 0x3fe1e377 │ │ │ │ │ - lsls r3, r4, #3 │ │ │ │ │ - adds r2, #32 │ │ │ │ │ - negs r5, r7 │ │ │ │ │ - rsb r9, sl, #0 │ │ │ │ │ - vldr d13, [pc, #-36] @ 230 │ │ │ │ │ - vldr d11, [pc, #-32] @ 238 │ │ │ │ │ - str r3, [sp, #56] @ 0x38 │ │ │ │ │ - negs r3, r3 │ │ │ │ │ - str r3, [sp, #60] @ 0x3c │ │ │ │ │ - vldr d3, [r2, #-16] │ │ │ │ │ - adds r3, r0, r7 │ │ │ │ │ - vldr d10, [r2, #-32] @ 0xffffffe0 │ │ │ │ │ - adds r4, r1, r7 │ │ │ │ │ - vldr d9, [r2, #-24] @ 0xffffffe8 │ │ │ │ │ - adds r2, #32 │ │ │ │ │ - vldr d6, [r2, #-40] @ 0xffffffd8 │ │ │ │ │ - vmul.f64 d5, d10, d3 │ │ │ │ │ - vldr d1, [r4] │ │ │ │ │ - vmul.f64 d15, d9, d3 │ │ │ │ │ - vldr d0, [pc, #-68] @ 240 │ │ │ │ │ - vmul.f64 d7, d9, d6 │ │ │ │ │ - vmul.f64 d2, d10, d6 │ │ │ │ │ + mov.w r7, r5, lsl #3 │ │ │ │ │ + vldr d13, [pc, #-32] @ 258 │ │ │ │ │ + add.w r5, r0, r6 │ │ │ │ │ + vldr d11, [pc, #-32] @ 260 │ │ │ │ │ + rsb r3, r7, #0 │ │ │ │ │ + strd r3, lr, [sp, #48] @ 0x30 │ │ │ │ │ + add.w r3, r2, #32 │ │ │ │ │ + mov lr, r7 │ │ │ │ │ + add.w r2, r1, r6 │ │ │ │ │ + vldr d10, [r3, #-32] @ 0xffffffe0 │ │ │ │ │ + add.w r7, r0, ip │ │ │ │ │ + add.w r9, r2, ip │ │ │ │ │ + add.w r8, r7, ip │ │ │ │ │ + add.w sl, r5, ip │ │ │ │ │ + vldr d9, [r3, #-24] @ 0xffffffe8 │ │ │ │ │ + add.w r4, r4, #1 │ │ │ │ │ + add.w r3, r3, #32 │ │ │ │ │ + vldr d2, [r3, #-48] @ 0xffffffd0 │ │ │ │ │ + vldr d7, [r3, #-40] @ 0xffffffd8 │ │ │ │ │ + vldr d1, [r2] │ │ │ │ │ + vmul.f64 d5, d10, d2 │ │ │ │ │ + vmul.f64 d14, d9, d2 │ │ │ │ │ + vldr d0, [pc, #-96] @ 268 │ │ │ │ │ + vmul.f64 d6, d9, d7 │ │ │ │ │ + vmul.f64 d3, d10, d7 │ │ │ │ │ ldr r6, [sp, #52] @ 0x34 │ │ │ │ │ - add r4, r6 │ │ │ │ │ - vadd.f64 d14, d5, d7 │ │ │ │ │ - vsub.f64 d7, d5, d7 │ │ │ │ │ - vadd.f64 d4, d15, d2 │ │ │ │ │ - vldr d5, [r3] │ │ │ │ │ - add r3, r7 │ │ │ │ │ - vsub.f64 d15, d2, d15 │ │ │ │ │ - add.w ip, r4, r5 │ │ │ │ │ - vstr d7, [sp, #32] │ │ │ │ │ - add.w r8, ip, r5 │ │ │ │ │ - vldr d7, [r1] │ │ │ │ │ + add r6, r1 │ │ │ │ │ + vadd.f64 d12, d5, d6 │ │ │ │ │ + vadd.f64 d4, d14, d3 │ │ │ │ │ + sub.w fp, r6, ip │ │ │ │ │ + vsub.f64 d14, d3, d14 │ │ │ │ │ + vsub.f64 d3, d5, d6 │ │ │ │ │ + vldr d6, [r1] │ │ │ │ │ + vldr d5, [r5] │ │ │ │ │ + vstr d12, [sp, #16] │ │ │ │ │ vstr d4, [sp, #24] │ │ │ │ │ - vstr d14, [sp, #16] │ │ │ │ │ - vadd.f64 d4, d5, d7 │ │ │ │ │ - vsub.f64 d5, d5, d7 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - add r3, sl │ │ │ │ │ - vldr d8, [ip] │ │ │ │ │ - add.w lr, r3, r5 │ │ │ │ │ - add.w fp, lr, r5 │ │ │ │ │ - vadd.f64 d2, d7, d1 │ │ │ │ │ - vsub.f64 d7, d7, d1 │ │ │ │ │ - vsub.f64 d1, d4, d2 │ │ │ │ │ - vmul.f64 d14, d7, d13 │ │ │ │ │ - vadd.f64 d4, d4, d2 │ │ │ │ │ - vmov.f64 d2, #80 @ 0x3e800000 0.250 │ │ │ │ │ + vstr d3, [sp, #32] │ │ │ │ │ + vadd.f64 d4, d5, d6 │ │ │ │ │ + vsub.f64 d5, d5, d6 │ │ │ │ │ + vldr d6, [r7] │ │ │ │ │ + vadd.f64 d3, d6, d1 │ │ │ │ │ + vsub.f64 d6, d6, d1 │ │ │ │ │ + vsub.f64 d1, d4, d3 │ │ │ │ │ + vmul.f64 d12, d6, d13 │ │ │ │ │ + vadd.f64 d4, d4, d3 │ │ │ │ │ + vldr d3, [r9] │ │ │ │ │ + vnmls.f64 d12, d5, d11 │ │ │ │ │ vmul.f64 d1, d1, d0 │ │ │ │ │ - vnmls.f64 d14, d5, d11 │ │ │ │ │ + vldr d0, [r6] │ │ │ │ │ vstr d1, [sp] │ │ │ │ │ - vmul.f64 d1, d7, d11 │ │ │ │ │ + vmul.f64 d1, d6, d11 │ │ │ │ │ + vmov.f64 d6, #80 @ 0x3e800000 0.250 │ │ │ │ │ vmla.f64 d1, d5, d13 │ │ │ │ │ vldr d5, [r0] │ │ │ │ │ - vmls.f64 d5, d4, d2 │ │ │ │ │ - vldr d7, [r3] │ │ │ │ │ - vldr d2, [lr] │ │ │ │ │ - vsub.f64 d0, d8, d7 │ │ │ │ │ - vadd.f64 d8, d8, d7 │ │ │ │ │ - vldr d7, [r8] │ │ │ │ │ + vmls.f64 d5, d4, d6 │ │ │ │ │ + vldr d6, [r8] │ │ │ │ │ + vsub.f64 d8, d3, d6 │ │ │ │ │ + vadd.f64 d3, d3, d6 │ │ │ │ │ + vldr d6, [fp] │ │ │ │ │ vstr d1, [sp, #40] @ 0x28 │ │ │ │ │ + vldr d1, [sl] │ │ │ │ │ vstr d5, [sp, #8] │ │ │ │ │ - vsub.f64 d5, d7, d2 │ │ │ │ │ - vadd.f64 d7, d7, d2 │ │ │ │ │ - vldr d1, [r4] │ │ │ │ │ - vmul.f64 d2, d7, d13 │ │ │ │ │ - vmul.f64 d12, d7, d11 │ │ │ │ │ - vsub.f64 d7, d0, d5 │ │ │ │ │ - vmla.f64 d12, d8, d13 │ │ │ │ │ - vadd.f64 d5, d0, d5 │ │ │ │ │ - vmov.f64 d0, d1 │ │ │ │ │ - vnmls.f64 d2, d8, d11 │ │ │ │ │ - vldr d8, [pc, #-276] @ 240 │ │ │ │ │ - vadd.f64 d1, d1, d5 │ │ │ │ │ - vmul.f64 d7, d7, d8 │ │ │ │ │ + vsub.f64 d5, d6, d1 │ │ │ │ │ + vadd.f64 d6, d6, d1 │ │ │ │ │ + vmul.f64 d1, d6, d13 │ │ │ │ │ + vmul.f64 d15, d6, d11 │ │ │ │ │ + vsub.f64 d6, d8, d5 │ │ │ │ │ + vadd.f64 d5, d8, d5 │ │ │ │ │ vmov.f64 d8, #80 @ 0x3e800000 0.250 │ │ │ │ │ - vmls.f64 d0, d5, d8 │ │ │ │ │ - vldr d8, [r0] │ │ │ │ │ + vnmls.f64 d1, d3, d11 │ │ │ │ │ + vmla.f64 d15, d3, d13 │ │ │ │ │ + vldr d3, [pc, #-288] @ 268 │ │ │ │ │ + vmul.f64 d6, d6, d3 │ │ │ │ │ + vmov.f64 d3, d0 │ │ │ │ │ + vadd.f64 d0, d0, d5 │ │ │ │ │ + vmls.f64 d3, d5, d8 │ │ │ │ │ vldr d5, [sp, #8] │ │ │ │ │ - vadd.f64 d4, d8, d4 │ │ │ │ │ - vldr d8, [sp] │ │ │ │ │ + vmov.f64 d8, d3 │ │ │ │ │ + vldr d3, [r0] │ │ │ │ │ + vadd.f64 d4, d3, d4 │ │ │ │ │ vstr d4, [r0] │ │ │ │ │ - vsub.f64 d4, d5, d8 │ │ │ │ │ - vsub.f64 d5, d0, d7 │ │ │ │ │ - vstr d1, [r1] │ │ │ │ │ - vadd.f64 d7, d7, d0 │ │ │ │ │ - vsub.f64 d1, d4, d2 │ │ │ │ │ - vadd.f64 d4, d2, d4 │ │ │ │ │ - vadd.f64 d8, d14, d5 │ │ │ │ │ - vsub.f64 d5, d5, d14 │ │ │ │ │ - vldr d14, [sp, #16] │ │ │ │ │ - vmul.f64 d2, d15, d8 │ │ │ │ │ - vnmls.f64 d2, d14, d1 │ │ │ │ │ - vstr d2, [fp] │ │ │ │ │ - vmul.f64 d2, d15, d1 │ │ │ │ │ - vmla.f64 d2, d14, d8 │ │ │ │ │ - vstr d2, [r8] │ │ │ │ │ - vmul.f64 d2, d6, d5 │ │ │ │ │ - vmul.f64 d6, d6, d4 │ │ │ │ │ - vmla.f64 d6, d3, d5 │ │ │ │ │ - vnmls.f64 d2, d3, d4 │ │ │ │ │ - vstr d2, [lr] │ │ │ │ │ - add lr, r9 │ │ │ │ │ - vstr d6, [ip] │ │ │ │ │ - add ip, r9 │ │ │ │ │ - vldr d6, [sp] │ │ │ │ │ + add r0, lr │ │ │ │ │ + vstr d0, [r1] │ │ │ │ │ + vldr d0, [sp] │ │ │ │ │ + vsub.f64 d4, d5, d0 │ │ │ │ │ + vsub.f64 d5, d8, d6 │ │ │ │ │ + vadd.f64 d6, d6, d8 │ │ │ │ │ + vsub.f64 d0, d4, d1 │ │ │ │ │ + vadd.f64 d4, d1, d4 │ │ │ │ │ + vadd.f64 d1, d12, d5 │ │ │ │ │ + vsub.f64 d5, d5, d12 │ │ │ │ │ + vldr d12, [sp, #16] │ │ │ │ │ + vmul.f64 d3, d14, d1 │ │ │ │ │ + vnmls.f64 d3, d12, d0 │ │ │ │ │ + vstr d3, [r7] │ │ │ │ │ + vmul.f64 d3, d14, d0 │ │ │ │ │ + vmla.f64 d3, d12, d1 │ │ │ │ │ + vstr d3, [fp] │ │ │ │ │ + vmul.f64 d3, d7, d5 │ │ │ │ │ + vmul.f64 d7, d7, d4 │ │ │ │ │ + vnmls.f64 d3, d2, d4 │ │ │ │ │ + vmla.f64 d7, d2, d5 │ │ │ │ │ + vstr d3, [sl] │ │ │ │ │ + vstr d7, [r9] │ │ │ │ │ + vldr d7, [sp] │ │ │ │ │ vldr d5, [sp, #8] │ │ │ │ │ vldr d3, [sp, #40] @ 0x28 │ │ │ │ │ - vadd.f64 d6, d6, d5 │ │ │ │ │ - vadd.f64 d4, d3, d7 │ │ │ │ │ - vsub.f64 d7, d7, d3 │ │ │ │ │ - vsub.f64 d5, d6, d12 │ │ │ │ │ - vadd.f64 d6, d12, d6 │ │ │ │ │ + vadd.f64 d7, d7, d5 │ │ │ │ │ + vadd.f64 d4, d3, d6 │ │ │ │ │ + vsub.f64 d6, d6, d3 │ │ │ │ │ + vsub.f64 d5, d7, d15 │ │ │ │ │ + vadd.f64 d7, d15, d7 │ │ │ │ │ vmul.f64 d3, d9, d4 │ │ │ │ │ vmul.f64 d9, d9, d5 │ │ │ │ │ vnmls.f64 d3, d10, d5 │ │ │ │ │ vmla.f64 d9, d10, d4 │ │ │ │ │ vldr d4, [sp, #24] │ │ │ │ │ - vmul.f64 d5, d4, d7 │ │ │ │ │ - vstr d3, [lr] │ │ │ │ │ + vstr d3, [r5] │ │ │ │ │ + vmul.f64 d5, d4, d6 │ │ │ │ │ + add r5, lr │ │ │ │ │ vldr d3, [sp, #32] │ │ │ │ │ - vstr d9, [ip] │ │ │ │ │ - vnmls.f64 d5, d3, d6 │ │ │ │ │ - vmul.f64 d6, d4, d6 │ │ │ │ │ - vmla.f64 d6, d3, d7 │ │ │ │ │ - vstr d5, [r3] │ │ │ │ │ - ldr r3, [sp, #168] @ 0xa8 │ │ │ │ │ - vstr d6, [r4] │ │ │ │ │ - adds r3, #1 │ │ │ │ │ - str r3, [sp, #168] @ 0xa8 │ │ │ │ │ - ldr r3, [sp, #56] @ 0x38 │ │ │ │ │ - add r0, r3 │ │ │ │ │ - ldr r3, [sp, #60] @ 0x3c │ │ │ │ │ - add r1, r3 │ │ │ │ │ - ldrd r4, r3, [sp, #168] @ 0xa8 │ │ │ │ │ - cmp r3, r4 │ │ │ │ │ - bne.w 260 │ │ │ │ │ - add sp, #68 @ 0x44 │ │ │ │ │ - vpop {d8-d15} │ │ │ │ │ - ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} │ │ │ │ │ + vstr d9, [r2] │ │ │ │ │ + sub.w r2, r2, lr │ │ │ │ │ + vnmls.f64 d5, d3, d7 │ │ │ │ │ + vmul.f64 d7, d4, d7 │ │ │ │ │ + vmla.f64 d7, d3, d6 │ │ │ │ │ + vstr d5, [r8] │ │ │ │ │ + vstr d7, [r6] │ │ │ │ │ + ldr r6, [sp, #48] @ 0x30 │ │ │ │ │ + add r1, r6 │ │ │ │ │ + ldr r6, [sp, #164] @ 0xa4 │ │ │ │ │ + cmp r6, r4 │ │ │ │ │ + bne.w 292 │ │ │ │ │ + b.n 238 │ │ │ │ │ │ │ │ │ │ -0000044c : │ │ │ │ │ +00000474 : │ │ │ │ │ fftw_codelet_hb2_5(): │ │ │ │ │ - ldr r2, [pc, #8] @ (458 ) │ │ │ │ │ - ldr r1, [pc, #12] @ (45c ) │ │ │ │ │ + ldr r2, [pc, #8] @ (480 ) │ │ │ │ │ + ldr r1, [pc, #12] @ (484 ) │ │ │ │ │ add r2, pc │ │ │ │ │ add r1, pc │ │ │ │ │ b.w 0 │ │ │ │ │ R_ARM_THM_JUMP24 fftw_khc2hc_register │ │ │ │ │ .word 0x00000004 │ │ │ │ │ R_ARM_REL32 .data.rel.ro │ │ │ │ │ .word 0x00000006 │ │ │ ├── hb2_8.o │ │ │ │ ├── readelf --wide --file-header {} │ │ │ │ │ @@ -6,15 +6,15 @@ │ │ │ │ │ OS/ABI: UNIX - System V │ │ │ │ │ ABI Version: 0 │ │ │ │ │ Type: REL (Relocatable file) │ │ │ │ │ Machine: ARM │ │ │ │ │ Version: 0x1 │ │ │ │ │ Entry point address: 0x0 │ │ │ │ │ Start of program headers: 0 (bytes into file) │ │ │ │ │ - Start of section headers: 1636 (bytes into file) │ │ │ │ │ + Start of section headers: 1700 (bytes into file) │ │ │ │ │ Flags: 0x5000000, Version5 EABI │ │ │ │ │ Size of this header: 52 (bytes) │ │ │ │ │ Size of program headers: 0 (bytes) │ │ │ │ │ Number of program headers: 0 │ │ │ │ │ Size of section headers: 40 (bytes) │ │ │ │ │ Number of section headers: 14 │ │ │ │ │ Section header string table index: 13 │ │ │ │ ├── readelf --wide --sections {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ -There are 14 section headers, starting at offset 0x664: │ │ │ │ │ +There are 14 section headers, starting at offset 0x6a4: │ │ │ │ │ │ │ │ │ │ Section Headers: │ │ │ │ │ [Nr] Name Type Addr Off Size ES Flg Lk Inf Al │ │ │ │ │ [ 0] NULL 00000000 000000 000000 00 0 0 0 │ │ │ │ │ - [ 1] .text PROGBITS 00000000 000034 0003ac 00 AX 0 0 8 │ │ │ │ │ - [ 2] .rel.text REL 00000000 0005bc 000018 08 I 11 1 4 │ │ │ │ │ - [ 3] .data PROGBITS 00000000 0003e0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 4] .bss NOBITS 00000000 0003e0 000000 00 WA 0 0 1 │ │ │ │ │ - [ 5] .rodata.str1.4 PROGBITS 00000000 0003e0 000006 01 AMS 0 0 4 │ │ │ │ │ - [ 6] .rodata PROGBITS 00000000 0003e6 000010 00 A 0 0 4 │ │ │ │ │ - [ 7] .data.rel.ro PROGBITS 00000000 0003f6 000030 00 WA 0 0 8 │ │ │ │ │ - [ 8] .rel.data.rel.ro REL 00000000 0005d4 000018 08 I 11 7 4 │ │ │ │ │ - [ 9] .note.GNU-stack PROGBITS 00000000 000426 000000 00 0 0 1 │ │ │ │ │ - [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000426 000033 00 0 0 1 │ │ │ │ │ - [11] .symtab SYMTAB 00000000 00045c 000110 10 12 14 4 │ │ │ │ │ - [12] .strtab STRTAB 00000000 00056c 00004f 00 0 0 1 │ │ │ │ │ - [13] .shstrtab STRTAB 00000000 0005ec 000078 00 0 0 1 │ │ │ │ │ + [ 1] .text PROGBITS 00000000 000034 0003ec 00 AX 0 0 8 │ │ │ │ │ + [ 2] .rel.text REL 00000000 0005fc 000018 08 I 11 1 4 │ │ │ │ │ + [ 3] .data PROGBITS 00000000 000420 000000 00 WA 0 0 1 │ │ │ │ │ + [ 4] .bss NOBITS 00000000 000420 000000 00 WA 0 0 1 │ │ │ │ │ + [ 5] .rodata.str1.4 PROGBITS 00000000 000420 000006 01 AMS 0 0 4 │ │ │ │ │ + [ 6] .rodata PROGBITS 00000000 000426 000010 00 A 0 0 4 │ │ │ │ │ + [ 7] .data.rel.ro PROGBITS 00000000 000436 000030 00 WA 0 0 8 │ │ │ │ │ + [ 8] .rel.data.rel.ro REL 00000000 000614 000018 08 I 11 7 4 │ │ │ │ │ + [ 9] .note.GNU-stack PROGBITS 00000000 000466 000000 00 0 0 1 │ │ │ │ │ + [10] .ARM.attributes ARM_ATTRIBUTES 00000000 000466 000033 00 0 0 1 │ │ │ │ │ + [11] .symtab SYMTAB 00000000 00049c 000110 10 12 14 4 │ │ │ │ │ + [12] .strtab STRTAB 00000000 0005ac 00004f 00 0 0 1 │ │ │ │ │ + [13] .shstrtab STRTAB 00000000 00062c 000078 00 0 0 1 │ │ │ │ │ Key to Flags: │ │ │ │ │ W (write), A (alloc), X (execute), M (merge), S (strings), I (info), │ │ │ │ │ L (link order), O (extra OS processing required), G (group), T (TLS), │ │ │ │ │ C (compressed), x (unknown), o (OS specific), E (exclude), │ │ │ │ │ D (mbind), y (purecode), p (processor specific) │ │ │ │ ├── readelf --wide --symbols {} │ │ │ │ │ @@ -1,20 +1,20 @@ │ │ │ │ │ │ │ │ │ │ Symbol table '.symtab' contains 17 entries: │ │ │ │ │ Num: Value Size Type Bind Vis Ndx Name │ │ │ │ │ 0: 00000000 0 NOTYPE LOCAL DEFAULT UND │ │ │ │ │ - 1: 00000001 920 FUNC LOCAL DEFAULT 1 hb2_8 │ │ │ │ │ + 1: 00000001 984 FUNC LOCAL DEFAULT 1 hb2_8 │ │ │ │ │ 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 3: 00000390 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ - 4: 00000398 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ - 5: 000003a4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 3: 000003d0 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ + 4: 000003d8 0 NOTYPE LOCAL DEFAULT 1 $t │ │ │ │ │ + 5: 000003e4 0 NOTYPE LOCAL DEFAULT 1 $d │ │ │ │ │ 6: 00000000 0 SECTION LOCAL DEFAULT 5 .rodata.str1.4 │ │ │ │ │ 7: 00000000 0 NOTYPE LOCAL DEFAULT 5 $d │ │ │ │ │ 8: 00000000 0 SECTION LOCAL DEFAULT 6 .rodata │ │ │ │ │ 9: 00000000 0 NOTYPE LOCAL DEFAULT 6 $d │ │ │ │ │ 10: 00000000 16 OBJECT LOCAL DEFAULT 6 twinstr │ │ │ │ │ 11: 00000000 0 SECTION LOCAL DEFAULT 7 .data.rel.ro │ │ │ │ │ 12: 00000000 0 NOTYPE LOCAL DEFAULT 7 $d │ │ │ │ │ 13: 00000000 48 OBJECT LOCAL DEFAULT 7 desc │ │ │ │ │ - 14: 00000399 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hb2_8 │ │ │ │ │ + 14: 000003d9 20 FUNC GLOBAL DEFAULT 1 fftw_codelet_hb2_8 │ │ │ │ │ 15: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_khc2hc_register │ │ │ │ │ 16: 00000000 0 NOTYPE GLOBAL DEFAULT UND fftw_rdft_hb_genus │ │ │ │ ├── readelf --wide --relocs {} │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.text' at offset 0x5bc contains 3 entries: │ │ │ │ │ +Relocation section '.rel.text' at offset 0x5fc contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Value Symbol's Name │ │ │ │ │ -000003a4 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ -000003a8 00000103 R_ARM_REL32 00000001 hb2_8 │ │ │ │ │ -000003a0 00000f1e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ +000003e4 00000b03 R_ARM_REL32 00000000 .data.rel.ro │ │ │ │ │ +000003e8 00000103 R_ARM_REL32 00000001 hb2_8 │ │ │ │ │ +000003e0 00000f1e R_ARM_THM_JUMP24 00000000 fftw_khc2hc_register │ │ │ │ │ │ │ │ │ │ -Relocation section '.rel.data.rel.ro' at offset 0x5d4 contains 3 entries: │ │ │ │ │ +Relocation section '.rel.data.rel.ro' at offset 0x614 contains 3 entries: │ │ │ │ │ Offset Info Type Sym. Va TRUNCATED DUE TO SIZE LIMIT: 10485760 bytes